declare namespace ej { 
export namespace barcodeGenerator { 

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

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

 }
export namespace buttons { 

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

export interface ChatOptions {
    messages: {
        role: string;
        content: string;
    }[];
    temperature?: number;
    topP?: number;
    maxTokens?: number;
    frequencyPenalty?: number;
    presencePenalty?: number;
    stop?: string[];
}
export  class SmartPasteButton extends Button {
    /**
     * Callback function to get the form response data from the server to process the smart paste.
     *
     * @param {ChatOptions} settings - Specifies the chat options
     * @returns {string} - Returns the string
     */
    aiAssistHandler: Function;
    /**
     * Constructor for creating the widget
     *
     * @private
     * @param {SmartPasteButtonModel} options - Specifies Smart paste button model
     * @param {string | HTMLButtonElement} element - Specifies target element
     */
    constructor(options?: SmartPasteButtonModel, element?: string | HTMLButtonElement);
    protected wireEvents(): void;
    protected unWireEvents(): void;
    private smartPasteBtnClickHandler;
    private formatFields;
    private setFormFields;
    private findRadioButton;
    private triggerBeforeChange;
    private triggerAfterChange;
    private updateElementValue;
    private getFormFields;
    private isFieldIgnore;
    private getElementDescription;
    private getClipboardContent;
}
//node_modules/@syncfusion/ej2-buttons/src/smart-paste-button/smart-paste-button-model.d.ts
/**
 * Interface for a class SmartPasteButton
 */
export interface SmartPasteButtonModel extends ButtonModel{
    /**
     * Callback function to get the form response data from the server to process the smart paste.
     *
     * @param {ChatOptions} settings - Specifies the chat options
     * @returns {string} - Returns the string
     */
    aiAssistHandler?: Function;
}
//node_modules/@syncfusion/ej2-buttons/src/radio-button/radio-button.d.ts
/**
 * Defines the label position of Radio Button.
 * ```props
 * After :- When the label is positioned After, it appears to the right of the Radio Button.
 * Before :- When the label is positioned Before, it appears to the left of the Radio Button.
 * ```
 */
export  type RadioLabelPosition = 'After' | 'Before';
/**
 * The RadioButton is a graphical user interface element that allows you to select one option from the choices.
 * It contains checked and unchecked states.
 * ```html
 * <input type="radio" id="radio"/>
 * <script>
 * var radioObj = new RadioButton({ label: "Default" });
 * radioObj.appendTo("#radio");
 * </script>
 * ```
 */
export  class RadioButton extends base.Component<HTMLInputElement> implements base.INotifyPropertyChanged {
    private tagName;
    private isFocused;
    private formElement;
    private initialCheckedValue;
    private angularValue;
    private wrapper;
    private type;
    /**
     * Event trigger when the RadioButton state has been changed by user interaction.
     *
     * @event change
     */
    change: base.EmitType<ChangeArgs>;
    /**
     * Triggers once the component rendering is completed.
     *
     * @event created
     */
    created: base.EmitType<Event>;
    /**
     * Specifies a value that indicates whether the RadioButton is `checked` or not.
     * When set to `true`, the RadioButton will be in `checked` state.
     *
     * @default false
     */
    checked: boolean;
    /**
     * Defines class/multiple classes separated by a space in the RadioButton element.
     * You can add custom styles to the RadioButton by using this property.
     *
     * @default ''
     */
    cssClass: string;
    /**
     * Specifies a value that indicates whether the RadioButton is `disabled` or not.
     * When set to `true`, the RadioButton will be in `disabled` state.
     *
     * @default false
     */
    disabled: boolean;
    /**
     * Defines the caption for the RadioButton, that describes the purpose of the RadioButton.
     *
     * @default ''
     */
    label: string;
    /**
     * Positions label `before`/`after` the RadioButton.
     * The possible values are:
     * * Before: The label is positioned to left of the RadioButton.
     * * After: The label is positioned to right of the RadioButton.
     *
     * @default 'After'
     */
    labelPosition: RadioLabelPosition;
    /**
     * Defines `name` attribute for the RadioButton.
     * It is used to reference form data (RadioButton value) after a form is submitted.
     *
     * @default ''
     */
    name: string;
    /**
     * Defines `value` attribute for the RadioButton.
     * It is a form data passed to the server when submitting the form.
     *
     * @default ''
     */
    value: string;
    /**
     * Specifies whether to enable the rendering of untrusted HTML values in the Radio Button component.
     * If 'enableHtmlSanitizer' set to true, the component will sanitize any suspected untrusted strings and scripts before rendering them.
     *
     * @default true
     */
    enableHtmlSanitizer: boolean;
    /**
     * You can add the additional html attributes such as disabled, value etc., to the element.
     * If you configured both property and equivalent html attribute then the component considers the property value.
     *
     * @default {}
     */
    htmlAttributes: {
        [key: string]: string;
    };
    /**
     * Constructor for creating the widget
     *
     * @private
     * @param {RadioButtonModel} options - Specifies Radio button model
     * @param {string | HTMLInputElement} element - Specifies target element
     */
    constructor(options?: RadioButtonModel, element?: string | HTMLInputElement);
    private changeHandler;
    private updateChange;
    /**
     * Destroys the widget.
     *
     * @returns {void}
     */
    destroy(): void;
    private focusHandler;
    private focusOutHandler;
    protected getModuleName(): string;
    /**
     * To get the value of selected radio button in a group.
     *
     * @method getSelectedValue
     * @returns {string} - Selected Value
     */
    getSelectedValue(): string;
    private getRadioGroup;
    /**
     * Gets the properties to be maintained in the persistence state.
     *
     * @private
     * @returns {string} - Persist Data
     */
    getPersistData(): string;
    private getWrapper;
    private getLabel;
    private initialize;
    private initWrapper;
    private keyUpHandler;
    private labelMouseDownHandler;
    private labelMouseLeaveHandler;
    private labelMouseUpHandler;
    private formResetHandler;
    /**
     * Called internally if any of the property value changes.
     *
     * @private
     * @param {RadioButtonModel} newProp - Specifies New Properties
     * @param {RadioButtonModel} oldProp - Specifies Old Properties
     * @returns {void}
     */
    onPropertyChanged(newProp: RadioButtonModel, oldProp: RadioButtonModel): void;
    /**
     * Initialize checked Property, Angular and React and Unique ID support.
     *
     * @private
     * @returns {void}
     */
    protected preRender(): void;
    /**
     * Initialize the control rendering
     *
     * @private
     * @returns {void}
     */
    protected render(): void;
    private setDisabled;
    private setText;
    private updateHtmlAttribute;
    protected unWireEvents(): void;
    protected wireEvents(): void;
    /**
     * Click the RadioButton element
     * its native method
     *
     * @public
     * @returns {void}
     */
    click(): void;
    /**
     * Sets the focus to RadioButton
     * its native method
     *
     * @public
     * @returns {void}
     */
    focusIn(): void;
}
/**
 * Interface for Radio Button change event arguments.
 */
export interface ChangeArgs extends base.BaseEventArgs {
    /** Returns the value of the RadioButton. */
    value?: string;
    /** Returns the event parameters of the RadioButton. */
    event?: Event;
}
//node_modules/@syncfusion/ej2-buttons/src/radio-button/radio-button-model.d.ts
/**
 * Interface for a class RadioButton
 */
export interface RadioButtonModel extends base.ComponentModel{
    /**
     * base.Event trigger when the RadioButton state has been changed by user interaction.
     *
     * @event change
     */
    change?: base.EmitType<ChangeArgs>;
    /**
     * Triggers once the component rendering is completed.
     *
     * @event created
     */
    created?: base.EmitType<Event>;
    /**
     * Specifies a value that indicates whether the RadioButton is `checked` or not.
     * When set to `true`, the RadioButton will be in `checked` state.
     *
     * @default false
     */
    checked?: boolean;
    /**
     * Defines class/multiple classes separated by a space in the RadioButton element.
     * You can add custom styles to the RadioButton by using this property.
     *
     * @default ''
     */
    cssClass?: string;
    /**
     * Specifies a value that indicates whether the RadioButton is `disabled` or not.
     * When set to `true`, the RadioButton will be in `disabled` state.
     *
     * @default false
     */
    disabled?: boolean;
    /**
     * Defines the caption for the RadioButton, that describes the purpose of the RadioButton.
     *
     * @default ''
     */
    label?: string;
    /**
     * Positions label `before`/`after` the RadioButton.
     * The possible values are:
     * * Before: The label is positioned to left of the RadioButton.
     * * After: The label is positioned to right of the RadioButton.
     *
     * @default 'After'
     */
    labelPosition?: RadioLabelPosition;
    /**
     * Defines `name` attribute for the RadioButton.
     * It is used to reference form data (RadioButton value) after a form is submitted.
     *
     * @default ''
     */
    name?: string;
    /**
     * Defines `value` attribute for the RadioButton.
     * It is a form data passed to the server when submitting the form.
     *
     * @default ''
     */
    value?: string;
    /**
     * Specifies whether to enable the rendering of untrusted HTML values in the Radio Button component.
     * If 'enableHtmlSanitizer' set to true, the component will sanitize any suspected untrusted strings and scripts before rendering them.
     *
     * @default true
     */
    enableHtmlSanitizer?: boolean;
    /**
     * You can add the additional html base.attributes such as disabled, value etc., to the element.
     * If you configured both property and equivalent html attribute then the component considers the property value.
     *
     * @default {}
     */
    htmlAttributes?: { [key: string]: string;
 };
}
//node_modules/@syncfusion/ej2-buttons/src/floating-action-button/floating-action-button.d.ts

/**
 * Defines the position of FAB (Floating Action Button) in target.
 */
export  enum FabPosition {
    /**
     * Positions the FAB at the target's top left corner.
     */
    TopLeft = "TopLeft",
    /**
     * Places the FAB on the top-center position of the target.
     */
    TopCenter = "TopCenter",
    /**
     * Positions the FAB at the target's top right corner.
     */
    TopRight = "TopRight",
    /**
     * Positions the FAB in the middle of target's left side.
     */
    MiddleLeft = "MiddleLeft",
    /**
     * Positions the FAB in the center of target.
     */
    MiddleCenter = "MiddleCenter",
    /**
     * Positions the FAB in the middle of target's right side.
     */
    MiddleRight = "MiddleRight",
    /**
     * Positions the FAB at the target's bottom left corner.
     */
    BottomLeft = "BottomLeft",
    /**
     * Places the FAB on the bottom-center position of the target.
     */
    BottomCenter = "BottomCenter",
    /**
     * Positions the FAB at the target's bottom right corner.
     */
    BottomRight = "BottomRight"
}
/**
 * The FAB Component (Floating Action Button) is an extension of Button Component that appears in front of all the contents of the page and performs the primary action.
 */
export  class Fab extends Button implements base.INotifyPropertyChanged {
    /**
     * Defines the position of the FAB relative to target.
     * The possible values are:
     * * TopLeft: Positions the FAB at the target's top left corner.
     * * TopCenter: Positions the FAB at the target's top left corner.
     * * TopRight: Positions the FAB at the target's top left corner.
     * * MiddleLeft: Positions the FAB at the target's top left corner.
     * * MiddleCenter: Positions the FAB at the target's top left corner.
     * * MiddleRight: Positions the FAB at the target's top left corner.
     * * BottomLeft: Positions the FAB at the target's top left corner.
     * * BottomCenter: Places the FAB on the bottom-center position of the target.
     * * BottomRight: Positions the FAB at the target's bottom right corner.
     *
     * {% codeBlock src='fab/position/index.md' %}{% endcodeBlock %}
     *
     * @isenumeration true
     * @default FabPosition.BottomRight
     * @asptype FabPosition
     */
    position: string | FabPosition;
    /**
     * Defines the selector that points to an element in which the FAB will be positioned.
     * By default, FAB is positioned based on viewport of browser.
     * The target element must have relative position, else FAB will get positioned based on the closest element which has relative position.
     *
     * @default ''
     */
    target: string | HTMLElement;
    /**
     * Defines whether the fab is visible or hidden.
     *
     * @default true.
     */
    visible: boolean;
    /**
     * Defines whether to apply primary style for FAB.
     *
     * @default true
     */
    isPrimary: boolean;
    private isFixed;
    private targetEle;
    /**
     * Constructor for creating the widget
     *
     * @param  {FabModel} options - Specifies the floating action button model
     * @param  {string|HTMLButtonElement} element - Specifies the target element
     */
    constructor(options?: FabModel, element?: string | HTMLButtonElement);
    /**
     * Initialize the control rendering
     *
     * @returns {void}
     * @private
     */
    render(): void;
    protected preRender(): void;
    /**
     * Get the properties to be maintained in the persisted state.
     *
     * @returns {string} - Persist data
     */
    getPersistData(): string;
    /**
     * Get component name.
     *
     * @returns {string} - Module name
     * @private
     */
    getModuleName(): string;
    private initializeFab;
    private checkTarget;
    private setVisibility;
    private setPosition;
    private clearPosition;
    /**
     * Refreshes the FAB position. You can call this method to re-position FAB when target is resized.
     *
     * @returns {void}
     * @deprecated
     */
    refreshPosition(): void;
    /**
     * Destroys the FAB instance.
     *
     * @returns {void}
     *
     */
    destroy(): void;
    /**
     * Called internally if any of the property value changed.
     *
     * @param  {FabModel} newProp - Specifies new properties
     * @param  {FabModel} oldProp - Specifies old properties
     * @returns {void}
     * @private
     */
    onPropertyChanged(newProp: FabModel, oldProp: FabModel): void;
}
//node_modules/@syncfusion/ej2-buttons/src/floating-action-button/floating-action-button-model.d.ts
/**
 * Interface for a class Fab
 */
export interface FabModel extends ButtonModel{
    /**
     * Defines the position of the FAB relative to target.
     * The possible values are:
     * * TopLeft: Positions the FAB at the target's top left corner.
     * * TopCenter: Positions the FAB at the target's top left corner.
     * * TopRight: Positions the FAB at the target's top left corner.
     * * MiddleLeft: Positions the FAB at the target's top left corner.
     * * MiddleCenter: Positions the FAB at the target's top left corner.
     * * MiddleRight: Positions the FAB at the target's top left corner.
     * * BottomLeft: Positions the FAB at the target's top left corner.
     * * BottomCenter: Places the FAB on the bottom-center position of the target.
     * * BottomRight: Positions the FAB at the target's bottom right corner.
     *
     * {% codeBlock src='fab/position/index.md' %}{% endcodeBlock %}
     *
     * @isenumeration true
     * @default FabPosition.BottomRight
     * @asptype FabPosition
     */
    position?: string | FabPosition;
    /**
     * Defines the selector that points to an element in which the FAB will be positioned.
     * By default, FAB is positioned based on viewport of browser.
     * The target element must have relative position, else FAB will get positioned based on the closest element which has relative position.
     *
     * @default ''
     */
    target?: string | HTMLElement;
    /**
     * Defines whether the fab is visible or hidden.
     *
     * @default true.
     */
    visible?: boolean;
    /**
     * Defines whether to apply primary style for FAB.
     *
     * @default true
     */
    isPrimary?: boolean;
}
//node_modules/@syncfusion/ej2-buttons/src/common/common.d.ts
/**
 * Initialize wrapper element for angular.
 *
 * @private
 *
 * @param {CreateElementArgs} createElement - Specifies created element args
 * @param {string} tag - Specifies tag name
 * @param {string} type - Specifies type name
 * @param {HTMLInputElement} element - Specifies input element
 * @param {string} WRAPPER - Specifies wrapper element
 * @param {string} role - Specifies role
 * @returns {HTMLInputElement} - Input Element
 */
export  function wrapperInitialize(createElement: CreateElementArgs, tag: string, type: string, element: HTMLInputElement, WRAPPER: string, role: string): HTMLInputElement;
/**
 * Get the text node.
 *
 * @param {HTMLElement} element - Specifies html element
 * @private
 * @returns {Node} - Text node.
 */
export  function getTextNode(element: HTMLElement): Node;
/**
 * Destroy the button components.
 *
 * @private
 * @param {Switch | CheckBox} ejInst - Specifies eJ2 Instance
 * @param {Element} wrapper - Specifies wrapper element
 * @param {string} tagName - Specifies tag name
 * @returns {void}
 */
export  function destroy(ejInst: Switch | CheckBox, wrapper: Element, tagName: string): void;
/**
 * Initialize control pre rendering.
 *
 * @private
 * @param {Switch | CheckBox} proxy - Specifies proxy
 * @param {string} control - Specifies control
 * @param {string} wrapper - Specifies wrapper element
 * @param {HTMLInputElement} element - Specifies input element
 * @param {string} moduleName - Specifies module name
 * @returns {void}
 */
export  function preRender(proxy: Switch | CheckBox, control: string, wrapper: string, element: HTMLInputElement, moduleName: string): void;
/**
 * Creates CheckBox component UI with theming and ripple support.
 *
 * @private
 * @param {CreateElementArgs} createElement - Specifies Created Element args
 * @param {boolean} enableRipple - Specifies ripple effect
 * @param {CheckBoxUtilModel} options - Specifies Checkbox util Model
 * @returns {Element} - Checkbox Element
 */
export  function createCheckBox(createElement: CreateElementArgs, enableRipple?: boolean, options?: CheckBoxUtilModel): Element;
/**
 * Handles ripple mouse.
 *
 * @private
 * @param {MouseEvent} e - Specifies mouse event
 * @param {Element} rippleSpan - Specifies Ripple span element
 * @returns {void}
 */
export  function rippleMouseHandler(e: MouseEvent, rippleSpan: Element): void;
/**
 * Append hidden input to given element
 *
 * @private
 * @param {Switch | CheckBox} proxy - Specifies Proxy
 * @param {Element} wrap - Specifies Wrapper ELement
 * @returns {void}
 */
export  function setHiddenInput(proxy: Switch | CheckBox, wrap: Element): void;
export interface CheckBoxUtilModel {
    checked?: boolean;
    label?: string;
    enableRtl?: boolean;
    cssClass?: string;
    disableHtmlEncode?: boolean;
}
/**
 * Interface for change event arguments.
 */
export interface ChangeEventArgs extends base.BaseEventArgs {
    /** Returns the event parameters of the CheckBox or Switch.
     *
     * @blazorType MouseEventArgs
     */
    event?: Event;
    /** Returns the checked value of the CheckBox or Switch. */
    checked?: boolean;
}
/**
 * Represents the event arguments for a "beforeChange" event.
 *
 * This object contains details about an action that is about to occur, allowing you to intercept and cancel the action before it's finalized.
 */
export  class BeforeChangeEventArgs {
    /**
     * The original event object that triggered the state change.
     *
     * This object contains information about the user action or system event
     * (such as a mouse click, key press, or programmatic trigger) that initiated the change in the component's state.
     */
    event?: Event;
    /**
     * Indicates whether the change action in the switch component can be canceled.
     *
     * When set to `true`, the switch action can be reverted or canceled before being finalized.
     * This is useful in scenarios where users may want to confirm or undo the switch action before committing to the change.
     */
    cancel?: boolean;
    /**
     * Returns the value that determines whether the switch is checked or unchecked.
     *
     * When `true`, the switch is in the "on" (checked) position;
     * when `false`, it is in the "off" (unchecked) position.
     * This value controls the visual state of the 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/chips/chip.d.ts
/**
 * Represents ChipList `Chip` model class.
 */
export  class Chip {
    /**
     * Specifies the text content for the chip.
     *
     * @default ''
     */
    text: string;
    /**
     * Specifies the customized text value for the avatar in the chip.
     *
     * @default ''
     */
    avatarText: string;
    /**
     * Specifies the icon CSS class for the avatar in the chip.
     *
     * @default ''
     */
    avatarIconCss: string;
    /**
     * Specifies the leading icon CSS class for the chip.
     *
     * @default ''
     */
    leadingIconCss: string;
    /**
     * Specifies the trailing icon CSS class for the chip.
     *
     * @default ''
     */
    trailingIconCss: string;
    /**
     * Specifies the custom classes to be added to the chip element used to customize the ChipList component.
     *
     * @default ''
     */
    cssClass: string;
    /**
     * Specifies a value that indicates whether the chip component is enabled or not.
     *
     * @default true
     */
    enabled: boolean;
    /**
     * Defines the value of the chip.
     *
     * @default ''
     */
    value: string | number;
    /**
     * Allows additional HTML attributes such as aria labels, title, name, etc., and
     * accepts n number of attributes in a key-value pair format.
     *
     * @default {}
     */
    htmlAttributes: {
        [key: string]: string;
    };
}
export interface ChipModel {
    /**
     * Specifies the text content for the chip.
     *
     * @default ''
     */
    text?: string;
    /**
     * Defines the value of the chip.
     *
     * @default ''
     */
    value?: string | number;
    /**
     * Specifies the customized text value for the avatar in the chip.
     *
     * @default ''
     */
    avatarText?: string;
    /**
     * Specifies the icon CSS class for the avatar in the chip.
     *
     * @default ''
     */
    avatarIconCss?: string;
    /**
     * Specifies the additional HTML attributes, such as title, styles, class, id, and name, in a key-value pair format
     * and appended to the chip item element of the Chip component. If both the property and equivalent HTML attributes are configured,
     * then the component overrides the property value with the HTML attributes.
     *
     * @default {}
     */
    htmlAttributes?: {
        [key: string]: string;
    };
    /**
     * Specifies the leading icon CSS class for the chip.
     *
     * @default ''
     */
    leadingIconCss?: string;
    /**
     * Specifies the trailing icon CSS class for the chip.
     *
     * @default ''
     */
    trailingIconCss?: string;
    /**
     * Specifies the custom classes to be added to the chip element used to customize the ChipList component.
     *
     * @default ''
     */
    cssClass?: string;
    /**
     * Specifies a value that indicates whether the chip component is enabled or not.
     *
     * @default true
     */
    enabled?: boolean;
    /**
     * Specifies the leading icon url for the chip.
     *
     * @default ''
     */
    leadingIconUrl?: string;
    /**
     * Specifies the trailing icon url for the chip.
     *
     * @default ''
     */
    trailingIconUrl?: string;
    /**
     * Specifies the template content to be rendered for each individual chip item. This template allows for the rendering of custom HTML elements, such as anchor tags, SVG icons, or other components, within each chip item.
     *
     * @default null
     * @angularType string | object
     * @reactType string | function | JSX.Element
     * @vueType string | function
     * @aspType string
     */
    template?: string | Function;
}
//node_modules/@syncfusion/ej2-buttons/src/chips/chip-list.d.ts
export  const classNames: ClassNames;
/**
 * ```props
 * index :- Refers to the position of the selected chip in the list of chips
 * value :- Refers to the underlying data value associated with the selected chip.
 * text :-Refers to the displayed text on the selected chip.
 * ```
 */
export  type selectionType = 'index' | 'value' | 'text';
/**
 * ```props
 * Single :- Allows the user to select single chip at the same time.
 * Multiple :- Allows the user to select multiple chips at the same time.
 * None :- Chips are displayed as read-only.
 * ```
 */
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;
    template: string;
    chipList: string;
    customIcon: string;
    chipDrag: string;
    dragAndDrop: string;
    dropRestricted: string;
    cloneChip: string;
    dragIndicator: string;
}
export interface SelectedItems {
    /**
     * It denotes the selected items text.
     */
    texts: string[];
    /**
     * It denotes the selected items index.
     */
    Indexes: number[];
    /**
     * It denotes the selected items data.
     */
    data: string[] | number[] | ChipModel[];
    /**
     * It denotes the selected items element.
     */
    elements: HTMLElement[];
}
export interface SelectedItem {
    /**
     * It denotes the selected item text.
     */
    text: string;
    /**
     * It denotes the selected item index.
     */
    index: number;
    /**
     * It denotes the selected item data.
     */
    data: string | number | ChipModel;
    /**
     * It denotes the selected item element.
     */
    element: HTMLElement;
}
export interface ClickEventArgs {
    /**
     * It denotes the clicked item text.
     */
    text: string;
    /**
     * It denotes the clicked item index.
     */
    index?: number;
    /**
     * It denotes the clicked item data.
     */
    data: string | number | ChipModel;
    /**
     * It denotes the clicked item element.
     */
    element: HTMLElement;
    /**
     * It denotes whether the clicked item is selected or not.
     */
    selected?: boolean;
    /**
     * It denotes whether the item can be clicked or not.
     */
    cancel: boolean;
    /**
     * It denotes the event.
     */
    event: base.MouseEventArgs | base.KeyboardEventArgs;
}
export interface DeleteEventArgs {
    /**
     * It denotes the deleted item text.
     */
    text: string;
    /**
     * It denotes the deleted item index.
     */
    index: number;
    /**
     * It denotes the deleted item data.
     */
    data: string | number | ChipModel;
    /**
     * It denotes the deleted Item element.
     */
    element: HTMLElement;
    /**
     * It denotes whether the item can be deleted or not.
     */
    cancel: boolean;
    /**
     * It denotes the event.
     */
    event: base.MouseEventArgs | base.KeyboardEventArgs;
}
export interface ChipDeletedEventArgs {
    /**
     * Specifies the text value of the deleted chip item.
     */
    text: string;
    /**
     * Specifies the index value of the deleted chip item.
     */
    index: number;
    /**
     * Specifies the data of the deleted chip item.
     */
    data: string | number | ChipModel;
}
export interface DragAndDropEventArgs {
    /**
     * If you want to cancel this event then, set cancel as true. Otherwise, false.
     *
     * @default false
     */
    cancel?: boolean;
    /** Return the actual event. */
    event: MouseEvent & TouchEvent;
    /** Return the currently dragged chip item. */
    draggedItem: HTMLElement;
    /** Return the currently dragged chip item details as array of JSON object */
    draggedItemData: {
        [key: string]: Object;
    };
    /** Return the dragged element destination target. */
    dropTarget: HTMLElement;
}
export interface ChipDataArgs {
    /**
     * It denotes the item text.
     */
    text: string | undefined;
    /**
     * It denotes the Item index.
     */
    index: number;
    /**
     * It denotes the item data.
     */
    data: string | number | ChipModel;
    /**
     * It denotes the item element.
     */
    element: HTMLElement;
}
/**
 * A chip component is a small block of essential information, mostly used on contacts or filter tags.
 * ```html
 * <div id="chip"></div>
 * ```
 * ```typescript
 * <script>
 * var chipObj = new ChipList();
 * chipObj.appendTo("#chip");
 * </script>
 * ```
 */
export  class ChipList extends base.Component<HTMLElement> implements base.INotifyPropertyChanged {
    /**
     * This chips property helps to render ChipList component.
     *
     * {% codeBlock src='chips/chips/index.md' %}{% endcodeBlock %}
     *
     * @default []
     *
     */
    chips: string[] | number[] | ChipModel[];
    /**
     * Specifies the text content for the chip.
     *
     * {% codeBlock src='chips/text/index.md' %}{% endcodeBlock %}
     *
     * @default ''
     */
    text: string;
    /**
     * Specifies the customized text value for the avatar in the chip.
     *
     * {% codeBlock src='chips/avatarText/index.md' %}{% endcodeBlock %}
     *
     * @default ''
     */
    avatarText: string;
    /**
     * Specifies the icon CSS class for the avatar in the chip.
     *
     * {% codeBlock src='chips/avatarIconCss/index.md' %}{% endcodeBlock %}
     *
     * @default ''
     */
    avatarIconCss: string;
    /**
     * Allows additional HTML attributes such as aria labels, title, name, etc., and
     * accepts n number of attributes in a key-value pair format.
     *
     * {% codeBlock src='chiplist/htmlAttributes/index.md' %}{% endcodeBlock %}
     *
     * @default {}
     */
    htmlAttributes: {
        [key: string]: string;
    };
    /**
     * Specifies the leading icon CSS class for the chip.
     *
     * {% codeBlock src='chips/leadingIconCss/index.md' %}{% endcodeBlock %}
     *
     * @default ''
     */
    leadingIconCss: string;
    /**
     * Specifies the trailing icon CSS class for the chip.
     *
     * {% codeBlock src='chips/trailingIconCss/index.md' %}{% endcodeBlock %}
     *
     * @default ''
     */
    trailingIconCss: string;
    /**
     * Specifies the leading icon url for the chip.
     *
     * @default ''
     */
    leadingIconUrl: string;
    /**
     * Specifies the trailing icon url for the chip.
     *
     * @default ''
     */
    trailingIconUrl: string;
    /**
     * Specifies the custom classes to be added to the chip element used to customize the ChipList component.
     *
     * {% codeBlock src='chips/cssClass/index.md' %}{% endcodeBlock %}
     *
     * @default ''
     */
    cssClass: string;
    /**
     * Specifies a value that indicates whether the chip component is enabled or not.
     *
     * @default true
     */
    enabled: boolean;
    /**
     * Sets or gets the selected chip items in the chip list.
     *
     * {% codeBlock src='chips/selectedChips/index.md' %}{% endcodeBlock %}
     *
     * @default []
     */
    selectedChips: string[] | number[] | number;
    /**
     * Defines the selection type of the chip. The available types are:
     *   1. Input chip
     *   2. Choice chip
     *   3. Filter chip
     *   4. Action chip
     *
     * @default 'None'
     */
    selection: Selection;
    /**
     * Enables or disables the delete functionality of a chip.
     *
     * {% codeBlock src='chips/enableDelete/index.md' %}{% endcodeBlock %}
     *
     * @default false
     */
    enableDelete: boolean;
    /**
     * Specifies a boolean value that indicates whether the chip item can be dragged and reordered.
     * This enables drag-and-drop functionality within a single container or across multiple containers of chips when dragging is enabled.
     *
     * @default false
     */
    allowDragAndDrop: boolean;
    /**
     * Specifies the target in which the draggable element can be moved and dropped.
     * By default, the draggable element movement occurs in the page.
     *
     * @default null
     */
    dragArea: HTMLElement | string;
    /**
     * Triggers when the component is created successfully.
     *
     * {% codeBlock src='chips/created/index.md' %}{% endcodeBlock %}
     *
     * @event created
     */
    created: base.EmitType<Event>;
    /**
     * Triggers when a chip is clicked.
     *
     * {% codeBlock src='chips/click/index.md' %}{% endcodeBlock %}
     *
     * @event click
     */
    click: base.EmitType<ClickEventArgs>;
    /**
     * Triggers before the click event of the chip is fired.
     * This event can be used to prevent the further process and restrict the click action over a chip.
     *
     * {% codeBlock src='chips/beforeClick/index.md' %}{% endcodeBlock %}
     *
     * @event beforeClick
     */
    beforeClick: base.EmitType<ClickEventArgs>;
    /**
     * Fires before removing the chip element.
     *
     * {% codeBlock src='chips/delete/index.md' %}{% endcodeBlock %}
     *
     * @event delete
     */
    delete: base.EmitType<DeleteEventArgs>;
    /**
     * Triggers when the chip item is removed.
     *
     * {% codeBlock src='chips/deleted/index.md' %}{% endcodeBlock %}
     *
     * @event deleted
     */
    deleted: base.EmitType<ChipDeletedEventArgs>;
    /**
     * Fires when a chip item starts moving due to a drag action.
     *
     * @event dragStart
     */
    dragStart: base.EmitType<DragAndDropEventArgs>;
    /**
     * Fires while a chip item is being dragged.
     *
     * @event dragging
     */
    dragging: base.EmitType<DragAndDropEventArgs>;
    /**
     * Fires when a chip item is reordered after completing a drag action.
     *
     * @event dragStop
     */
    dragStop: base.EmitType<DragAndDropEventArgs>;
    constructor(options?: ChipListModel, element?: string | HTMLElement);
    private rippleFunction;
    private type;
    private innerText;
    multiSelectedChip: number[];
    private dragObj;
    private dragCollection;
    private dragIndicator;
    private updatedInstance;
    /**
     * Initialize the event handler
     *
     * @private
     */
    protected preRender(): void;
    /**
     * To find the chips length.
     *
     * @returns boolean
     * @private
     */
    protected chipType(): boolean;
    /**
     * To Initialize the control rendering.
     *
     * @returns void
     * @private
     */
    protected render(): void;
    private enableDraggingChips;
    private checkInstance;
    private setIcons;
    private allowExternalDragging;
    private dragAreaCheck;
    private getChipsDistance;
    private getCurrentInstance;
    private allowExternalDrop;
    private dropChip;
    private createChip;
    private setAttributes;
    private setRtl;
    private renderTemplates;
    private templateParser;
    private chipCreation;
    private getFieldValues;
    private elementCreation;
    /**
     * A function that finds chip based on given input.
     *
     * {% codeBlock src='chips/find/index.md' %}{% endcodeBlock %}
     *
     * @param  {number | HTMLElement } fields - We can pass index number or element of chip.
     * @returns {void}
     */
    find(fields: number | HTMLElement): ChipDataArgs;
    /**
     * Allows adding the chip item(s) by passing a single or array of string, number, or ChipModel values.
     *
     * {% codeBlock src='chips/add/index.md' %}{% endcodeBlock %}
     *
     * @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.
     * @returns {void}
     * @deprecated
     */
    add(chipsData: string[] | number[] | ChipModel[] | string | number | ChipModel): void;
    /**
     * Allows selecting the chip item(s) by passing a single or array of string, number, or ChipModel values.
     *
     * {% codeBlock src='chips/select/index.md' %}{% endcodeBlock %}
     *
     * @param  {number | number[] | HTMLElement | HTMLElement[]} fields - We can pass number or array of number
     *  or chip element or array of chip element.
     *  @returns {void}
     */
    select(fields: number | number[] | HTMLElement | HTMLElement[] | string[], selectionType?: selectionType): void;
    private multiSelection;
    private onSelect;
    /**
     * Allows removing the chip item(s) by passing a single or array of string, number, or ChipModel values.
     *
     * {% codeBlock src='chips/remove/index.md' %}{% endcodeBlock %}
     *
     * @param  {number | number[] | HTMLElement | HTMLElement[]} fields - We can pass number or array of number
     *  or chip element or array of chip element.
     *  @returns {void}
     */
    remove(fields: number | number[] | HTMLElement | HTMLElement[]): void;
    /**
     * Returns the selected chip(s) data.
     *
     * {% codeBlock src='chips/getSelectedChips/index.md' %}{% endcodeBlock %}
     *
     *  @returns {void}
     */
    getSelectedChips(): SelectedItem | SelectedItems | undefined;
    private wireEvent;
    private keyHandler;
    private focusInHandler;
    private focusOutHandler;
    private clickHandler;
    private clickEventHandler;
    private selectionHandler;
    private updateSelectedChips;
    private deleteHandler;
    /**
     * Removes the component from the DOM and detaches all its related event handlers. Also, it removes the attributes and classes.
     *
     * {% codeBlock src='chips/destroy/index.md' %}{% endcodeBlock %}
     *
     *  @returns {void}
     */
    destroy(): void;
    private removeMultipleAttributes;
    getPersistData(): string;
    getModuleName(): string;
    /**
     * Called internally if any of the property value changed.
     *
     * @returns void
     * @private
     */
    onPropertyChanged(newProp: ChipList, oldProp: ChipList): void;
}
//node_modules/@syncfusion/ej2-buttons/src/chips/chip-list-model.d.ts
/**
 * Interface for a class ChipList
 */
export interface ChipListModel extends base.ComponentModel{
    /**
     * This chips property helps to render ChipList component.
     *
     * {% codeBlock src='chips/chips/index.md' %}{% endcodeBlock %}
     *
     * @default []
     *
     */
    chips?: string[] | number[] | ChipModel[];
    /**
     * Specifies the text content for the chip.
     *
     * {% codeBlock src='chips/text/index.md' %}{% endcodeBlock %}
     *
     * @default ''
     */
    text?: string;
    /**
     * Specifies the customized text value for the avatar in the chip.
     *
     * {% codeBlock src='chips/avatarText/index.md' %}{% endcodeBlock %}
     *
     * @default ''
     */
    avatarText?: string;
    /**
     * Specifies the icon CSS class for the avatar in the chip.
     *
     * {% codeBlock src='chips/avatarIconCss/index.md' %}{% endcodeBlock %}
     *
     * @default ''
     */
    avatarIconCss?: string;
    /**
     * Allows additional HTML attributes such as aria labels, title, name, etc., and
     * accepts n number of attributes in a key-value pair format.
     *
     * {% codeBlock src='chiplist/htmlAttributes/index.md' %}{% endcodeBlock %}
     *
     * @default {}
     */
    htmlAttributes?: { [key: string]: string };
    /**
     * Specifies the leading icon CSS class for the chip.
     *
     * {% codeBlock src='chips/leadingIconCss/index.md' %}{% endcodeBlock %}
     *
     * @default ''
     */
    leadingIconCss?: string;
    /**
     * Specifies the trailing icon CSS class for the chip.
     *
     * {% codeBlock src='chips/trailingIconCss/index.md' %}{% endcodeBlock %}
     *
     * @default ''
     */
    trailingIconCss?: string;
    /**
     * Specifies the leading icon url for the chip.
     *
     * @default ''
     */
    leadingIconUrl?: string;
    /**
     * Specifies the trailing icon url for the chip.
     *
     * @default ''
     */
    trailingIconUrl?: string;
    /**
     * Specifies the custom classes to be added to the chip element used to customize the ChipList component.
     *
     * {% codeBlock src='chips/cssClass/index.md' %}{% endcodeBlock %}
     *
     * @default ''
     */
    cssClass?: string;
    /**
     * Specifies a value that indicates whether the chip component is enabled or not.
     *
     * @default true
     */
    enabled?: boolean;
    /**
     * Sets or gets the selected chip items in the chip list.
     *
     * {% codeBlock src='chips/selectedChips/index.md' %}{% endcodeBlock %}
     *
     * @default []
     */
    selectedChips?: string[] | number[] | number;
    /**
     * Defines the selection type of the chip. The available types are:
     *   1. Input chip
     *   2. Choice chip
     *   3. Filter chip
     *   4. Action chip
     *
     * @default 'None'
     */
    selection?: Selection;
    /**
     * Enables or disables the delete functionality of a chip.
     *
     * {% codeBlock src='chips/enableDelete/index.md' %}{% endcodeBlock %}
     *
     * @default false
     */
    enableDelete?: boolean;
    /**
     * Specifies a boolean value that indicates whether the chip item can be dragged and reordered.
     * This enables drag-and-drop functionality within a single container or across multiple containers of chips when dragging is enabled.
     *
     * @default false
     */
    allowDragAndDrop?: boolean;
    /**
     * Specifies the target in which the draggable element can be moved and dropped.
     * By default, the draggable element movement occurs in the page.
     *
     * @default null
     */
    dragArea?: HTMLElement | string;
    /**
     * Triggers when the component is created successfully.
     *
     * {% codeBlock src='chips/created/index.md' %}{% endcodeBlock %}
     *
     * @event created
     */
    created?: base.EmitType<Event>;
    /**
     * Triggers when a chip is clicked.
     *
     * {% codeBlock src='chips/click/index.md' %}{% endcodeBlock %}
     *
     * @event click
     */
    click?: base.EmitType<ClickEventArgs>;
    /**
     * Triggers before the click event of the chip is fired.
     * This event can be used to prevent the further process and restrict the click action over a chip.
     *
     * {% codeBlock src='chips/beforeClick/index.md' %}{% endcodeBlock %}
     *
     * @event beforeClick
     */
    beforeClick?: base.EmitType<ClickEventArgs>;
    /**
     * Fires before removing the chip element.
     *
     * {% codeBlock src='chips/delete/index.md' %}{% endcodeBlock %}
     *
     * @event delete
     */
    delete?: base.EmitType<DeleteEventArgs>;
    /**
     * Triggers when the chip item is removed.
     *
     * {% codeBlock src='chips/deleted/index.md' %}{% endcodeBlock %}
     *
     * @event deleted
     */
    deleted?: base.EmitType<ChipDeletedEventArgs>;
    /**
     * Fires when a chip item starts moving due to a drag action.
     *
     * @event dragStart
     */
    dragStart?: base.EmitType<DragAndDropEventArgs>;
    /**
     * Fires while a chip item is being dragged.
     *
     * @event dragging
     */
    dragging?: base.EmitType<DragAndDropEventArgs>;
    /**
     * Fires when a chip item is reordered after completing a drag action.
     *
     * @event dragStop
     */
    dragStop?: base.EmitType<DragAndDropEventArgs>;
}
//node_modules/@syncfusion/ej2-buttons/src/check-box/check-box.d.ts
/**
 * Defines the label position of CheckBox.
 * ```props
 * After :- When the label is positioned After, it appears to the right of the CheckBox.
 * Before :- When the label is positioned Before, it appears to the left of the CheckBox.
 * ```
 */
export  type LabelPosition = 'After' | 'Before';
/**
 * The CheckBox is a graphical user interface element that allows you to select one or more options from the choices.
 * It contains checked, unchecked, and indeterminate states.
 * ```html
 * <input type="checkbox" id="checkbox"/>
 * <script>
 * var checkboxObj = new CheckBox({ label: "Default" });
 * checkboxObj.appendTo("#checkbox");
 * </script>
 * ```
 */
export  class CheckBox extends base.Component<HTMLInputElement> implements base.INotifyPropertyChanged {
    private tagName;
    private isFocused;
    private isMouseClick;
    private formElement;
    private initialCheckedValue;
    private wrapper;
    private clickTriggered;
    private validCheck;
    private type;
    /**
     * Triggers when the CheckBox state has been changed by user interaction.
     *
     * @event change
     */
    change: base.EmitType<ChangeEventArgs>;
    /**
     * Triggers once the component rendering is completed.
     *
     * @event created
     */
    created: base.EmitType<Event>;
    /**
     * Specifies a value that indicates whether the CheckBox is `checked` or not.
     * When set to `true`, the CheckBox will be in `checked` state.
     *
     * @default false
     */
    checked: boolean;
    /**
     * Defines class/multiple classes separated by a space in the CheckBox element.
     * You can add custom styles to the CheckBox by using this property.
     *
     * @default ''
     */
    cssClass: string;
    /**
     * Specifies a value that indicates whether the CheckBox is `disabled` or not.
     * When set to `true`, the CheckBox will be in `disabled` state.
     *
     * @default false
     */
    disabled: boolean;
    /**
     * Specifies a value that indicates whether the CheckBox is in `indeterminate` state or not.
     * When set to `true`, the CheckBox will be in `indeterminate` state.
     *
     * @default false
     */
    indeterminate: boolean;
    /**
     * Defines the caption for the CheckBox, that describes the purpose of the CheckBox.
     *
     * @default ''
     */
    label: string;
    /**
     * Positions label `before`/`after` the CheckBox.
     * The possible values are:
     * * Before - The label is positioned to left of the CheckBox.
     * * After - The label is positioned to right of the CheckBox.
     *
     * @default 'After'
     */
    labelPosition: LabelPosition;
    /**
     * Defines `name` attribute for the CheckBox.
     * It is used to reference form data (CheckBox value) after a form is submitted.
     *
     * @default ''
     */
    name: string;
    /**
     * Defines `value` attribute for the CheckBox.
     * It is a form data passed to the server when submitting the form.
     *
     * @default ''
     */
    value: string;
    /**
     * Specifies whether to enable the rendering of untrusted HTML values in the CheckBox component.
     * If 'enableHtmlSanitizer' set to true, the component will sanitize any suspected untrusted strings and scripts before rendering them.
     *
     * @default true
     */
    enableHtmlSanitizer: boolean;
    /**
     * You can add the additional html attributes such as disabled, value etc., to the element.
     * If you configured both property and equivalent html attribute then the component considers the property value.
     *
     * @default {}
     */
    htmlAttributes: {
        [key: string]: string;
    };
    /**
     * Constructor for creating the widget
     *
     * @private
     * @param {CheckBoxModel} options - Specifies checkbox model
     * @param {string | HTMLInputElement} element - Specifies target element
     */
    constructor(options?: CheckBoxModel, element?: string | HTMLInputElement);
    private changeState;
    private clickHandler;
    /**
     * Destroys the widget.
     *
     * @returns {void}
     */
    destroy(): void;
    private focusHandler;
    private focusOutHandler;
    /**
     * Gets the module name.
     *
     * @private
     * @returns {string} - Module Name
     */
    protected getModuleName(): string;
    /**
     * Gets the properties to be maintained in the persistence state.
     *
     * @private
     * @returns {string} - Persist Data
     */
    getPersistData(): string;
    private getWrapper;
    private getLabel;
    private initialize;
    private initWrapper;
    private keyUpHandler;
    private labelMouseDownHandler;
    private labelMouseLeaveHandler;
    private labelMouseUpHandler;
    /**
     * Called internally if any of the property value changes.
     *
     * @private
     * @param {CheckBoxModel} newProp - Specifies new Properties
     * @param {CheckBoxModel} oldProp - Specifies old Properties
     *
     * @returns {void}
     */
    onPropertyChanged(newProp: CheckBoxModel, oldProp: CheckBoxModel): void;
    /**
     * Initialize Angular, React and Unique ID support.
     *
     * @private
     * @returns {void}
     */
    protected preRender(): void;
    /**
     * Initialize the control rendering.
     *
     * @private
     * @returns {void}
     */
    protected render(): void;
    private setDisabled;
    private setText;
    private changeHandler;
    private formResetHandler;
    protected unWireEvents(): void;
    protected wireEvents(): void;
    private updateVueArrayModel;
    protected updateHtmlAttributeToWrapper(): void;
    /**
     * Click the CheckBox element
     * its native method
     *
     * @public
     * @returns {void}
     */
    click(): void;
    /**
     * Sets the focus to CheckBox
     * its native method
     *
     * @public
     * @returns {void}
     */
    focusIn(): void;
}
//node_modules/@syncfusion/ej2-buttons/src/check-box/check-box-model.d.ts
/**
 * Interface for a class CheckBox
 */
export interface CheckBoxModel extends base.ComponentModel{
    /**
     * Triggers when the CheckBox state has been changed by user interaction.
     *
     * @event change
     */
    change?: base.EmitType<ChangeEventArgs>;
    /**
     * Triggers once the component rendering is completed.
     *
     * @event created
     */
    created?: base.EmitType<Event>;
    /**
     * Specifies a value that indicates whether the CheckBox is `checked` or not.
     * When set to `true`, the CheckBox will be in `checked` state.
     *
     * @default false
     */
    checked?: boolean;
    /**
     * Defines class/multiple classes separated by a space in the CheckBox element.
     * You can add custom styles to the CheckBox by using this property.
     *
     * @default ''
     */
    cssClass?: string;
    /**
     * Specifies a value that indicates whether the CheckBox is `disabled` or not.
     * When set to `true`, the CheckBox will be in `disabled` state.
     *
     * @default false
     */
    disabled?: boolean;
    /**
     * Specifies a value that indicates whether the CheckBox is in `indeterminate` state or not.
     * When set to `true`, the CheckBox will be in `indeterminate` state.
     *
     * @default false
     */
    indeterminate?: boolean;
    /**
     * Defines the caption for the CheckBox, that describes the purpose of the CheckBox.
     *
     * @default ''
     */
    label?: string;
    /**
     * Positions label `before`/`after` the CheckBox.
     * The possible values are:
     * * Before - The label is positioned to left of the CheckBox.
     * * After - The label is positioned to right of the CheckBox.
     *
     * @default 'After'
     */
    labelPosition?: LabelPosition;
    /**
     * Defines `name` attribute for the CheckBox.
     * It is used to reference form data (CheckBox value) after a form is submitted.
     *
     * @default ''
     */
    name?: string;
    /**
     * Defines `value` attribute for the CheckBox.
     * It is a form data passed to the server when submitting the form.
     *
     * @default ''
     */
    value?: string;
    /**
     * Specifies whether to enable the rendering of untrusted HTML values in the CheckBox component.
     * If 'enableHtmlSanitizer' set to true, the component will sanitize any suspected untrusted strings and scripts before rendering them.
     *
     * @default true
     */
    enableHtmlSanitizer?: boolean;
    /**
     * You can add the additional html attributes such as disabled, value etc., to the element.
     * If you configured both property and equivalent html attribute then the component considers the property value.
     *
     * @default {}
     */
    htmlAttributes?: { [key: string]: string;
 };
}
//node_modules/@syncfusion/ej2-buttons/src/button/button.d.ts
/**
 * Defines the icon position of button.
 */
export  enum IconPosition {
    /**
     * Positions the Icon at the left of the text content in the Button.
     */
    Left = "Left",
    /**
     * Positions the Icon at the right of the text content in the Button.
     */
    Right = "Right",
    /**
     * Positions the Icon at the top of the text content in the Button.
     */
    Top = "Top",
    /**
     * Positions the Icon at the bottom of the text content in the Button.
     */
    Bottom = "Bottom"
}
export  const buttonObserver: base.Observer;
/**
 * The Button is a graphical user interface element that triggers an event on its click action. It can contain a text, an image, or both.
 * ```html
 * <button id="button">Button</button>
 * ```
 * ```typescript
 * <script>
 * var btnObj = new Button();
 * btnObj.appendTo("#button");
 * </script>
 * ```
 */
export  class Button extends base.Component<HTMLButtonElement> implements base.INotifyPropertyChanged {
    private removeRippleEffect;
    /**
     * Positions the icon before/after the text content in the Button.
     * The possible values are:
     * * Left: The icon will be positioned to the left of the text content.
     * * Right: The icon will be positioned to the right of the text content.
     *
     * @isenumeration true
     * @default IconPosition.Left
     * @asptype IconPosition
     */
    iconPosition: string | IconPosition;
    /**
     * Defines class/multiple classes separated by a space for the Button that is used to include an icon.
     * Buttons can also include font icon and sprite image.
     *
     * @default ""
     */
    iconCss: string;
    /**
     * Specifies a value that indicates whether the Button is `disabled` or not.
     *
     * @default false.
     */
    disabled: boolean;
    /**
     * Allows the appearance of the Button to be enhanced and visually appealing when set to `true`.
     *
     * @default false
     */
    isPrimary: boolean;
    /**
     * Defines class/multiple classes separated by a space in the Button element. The Button types, styles, and
     * size can be defined by using
     * [`this`](http://ej2.syncfusion.com/documentation/button/howto.html?lang=typescript#create-a-block-button).
     * {% codeBlock src='button/cssClass/index.md' %}{% endcodeBlock %}
     *
     * @default ""
     */
    cssClass: string;
    /**
     * Defines the text `content` of the Button element.
     * {% codeBlock src='button/content/index.md' %}{% endcodeBlock %}
     *
     * @default ""
     */
    content: string;
    /**
     * Makes the Button toggle, when set to `true`. When you click it, the state changes from normal to active.
     *
     * @default false
     */
    isToggle: boolean;
    /**
     * Overrides the global culture and localization value for this component. Default global culture is 'en-US'.
     *
     * @private
     */
    locale: string;
    /**
     * Specifies whether to enable the rendering of untrusted HTML values in the Button component.
     * If 'enableHtmlSanitizer' set to true, the component will sanitize any suspected untrusted strings and scripts before rendering them.
     *
     * @default true
     */
    enableHtmlSanitizer: boolean;
    /**
     * Triggers once the component rendering is completed.
     *
     * @event created
     */
    created: base.EmitType<Event>;
    /**
     * Constructor for creating the widget
     *
     * @param  {ButtonModel} options - Specifies the button model
     * @param  {string|HTMLButtonElement} element - Specifies the target element
     */
    constructor(options?: ButtonModel, element?: string | HTMLButtonElement);
    protected preRender(): void;
    /**
     * Initialize the control rendering
     *
     * @returns {void}
     * @private
     */
    render(): void;
    private initialize;
    private controlStatus;
    private setIconCss;
    protected wireEvents(): void;
    protected unWireEvents(): void;
    private btnClickHandler;
    /**
     * Destroys the widget.
     *
     * @returns {void}
     */
    destroy(): void;
    /**
     * Get component name.
     *
     * @returns {string} - Module name
     * @private
     */
    getModuleName(): string;
    /**
     * Get the properties to be maintained in the persisted state.
     *
     * @returns {string} - Persist Data
     * @private
     */
    getPersistData(): string;
    /**
     * Dynamically injects the required modules to the component.
     *
     * @private
     * @returns {void}
     */
    static Inject(): void;
    /**
     * Called internally if any of the property value changed.
     *
     * @param  {ButtonModel} newProp - Specifies new properties
     * @param  {ButtonModel} oldProp - Specifies old properties
     * @returns {void}
     * @private
     */
    onPropertyChanged(newProp: ButtonModel, oldProp: ButtonModel): void;
    /**
     * Click the button element
     * its native method
     *
     * @public
     * @returns {void}
     */
    click(): void;
    /**
     * Sets the focus to Button
     * its native method
     *
     * @public
     * @returns {void}
     */
    focusIn(): void;
}
//node_modules/@syncfusion/ej2-buttons/src/button/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.
     *
     * @isenumeration true
     * @default IconPosition.Left
     * @asptype IconPosition
     */
    iconPosition?: string | IconPosition;
    /**
     * Defines class/multiple classes separated by a space for the Button that is used to include an icon.
     * Buttons can also include font icon and sprite image.
     *
     * @default ""
     */
    iconCss?: string;
    /**
     * Specifies a value that indicates whether the Button is `disabled` or not.
     *
     * @default false.
     */
    disabled?: boolean;
    /**
     * Allows the appearance of the Button to be enhanced and visually appealing when set to `true`.
     *
     * @default false
     */
    isPrimary?: boolean;
    /**
     * Defines class/multiple classes separated by a space in the Button element. The Button types, styles, and
     * size can be defined by using
     * [`this`](http://ej2.syncfusion.com/documentation/button/howto.html?lang=typescript#create-a-block-button).
     * {% codeBlock src='button/cssClass/index.md' %}{% endcodeBlock %}
     *
     * @default ""
     */
    cssClass?: string;
    /**
     * Defines the text `content` of the Button element.
     * {% codeBlock src='button/content/index.md' %}{% endcodeBlock %}
     *
     * @default ""
     */
    content?: string;
    /**
     * Makes the Button toggle, when set to `true`. When you click it, the state changes from normal to active.
     *
     * @default false
     */
    isToggle?: boolean;
    /**
     * Overrides the global culture and localization value for this component. Default global culture is 'en-US'.
     *
     * @private
     */
    locale?: string;
    /**
     * Specifies whether to enable the rendering of untrusted HTML values in the Button component.
     * If 'enableHtmlSanitizer' set to true, the component will sanitize any suspected untrusted strings and scripts before rendering them.
     *
     * @default true
     */
    enableHtmlSanitizer?: boolean;
    /**
     * Triggers once the component rendering is completed.
     *
     * @event created
     */
    created?: base.EmitType<Event>;
}
 }
export namespace calendars { 

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

export  class Presets extends base.ChildProperty<Presets> {
    /**
     * Defines the label string of the preset range.
     */
    label: string;
    /**
     * Defines the start date of the preset range.
     */
    start: Date;
    /**
     * Defines the end date of the preset range
     */
    end: Date;
}
export interface DateRange {
    /** Defines the start date */
    start?: Date;
    /** Defines the end date */
    end?: Date;
}
export interface RangeEventArgs extends base.BaseEventArgs {
    /**
     * Defines the value
     */
    value?: Date[] | DateRange;
    /** Defines the value string in the input element */
    text?: string;
    /** Defines the start date  */
    startDate?: Date;
    /** Defines the end date  */
    endDate?: Date;
    /** Defines the day span between the range */
    daySpan?: number;
    /** Specifies the element. */
    element?: HTMLElement | HTMLInputElement;
    /**
     * Specifies the original event arguments.
     */
    event?: MouseEvent | KeyboardEvent | TouchEvent | Event;
    /**
     * If the event is triggered by interaction, it returns true. Otherwise, it returns false.
     */
    isInteracted?: boolean;
}
export interface RangePopupEventArgs {
    /** Defines the range string in the input element */
    date: string;
    /** Defines the DateRangePicker model */
    model: DateRangePickerModel;
    /**
     * Illustrates whether the current action needs to be prevented or not.
     */
    cancel?: boolean;
    /**
     * Defines the DateRangePicker popup object.
     *
     * @deprecated
     */
    popup?: popups.Popup;
    /**
     * Specifies the original event arguments.
     */
    event?: MouseEvent | KeyboardEvent | Event;
    /**
     * Specifies the node to which the popup element to be appended.
     */
    appendTo?: HTMLElement;
}
export interface RangeFormatObject {
    /**
     * Specifies the format in which the date format will process
     */
    skeleton?: string;
}
/**
 * Represents the DateRangePicker component that allows user to select the date range from the calendar
 * or entering the range through the input element.
 * ```html
 * <input id="daterangepicker"/>
 * ```
 * ```typescript
 * <script>
 *   var dateRangePickerObj = new DateRangePicker({ startDate: new Date("05/07/2017"), endDate: new Date("10/07/2017") });
 *   dateRangePickerObj.appendTo("#daterangepicker");
 * </script>
 * ```
 */
export  class DateRangePicker extends CalendarBase {
    private popupObj;
    private inputWrapper;
    private popupWrapper;
    private rightCalendar;
    private leftCalendar;
    private deviceCalendar;
    private leftCalCurrentDate;
    private initStartDate;
    private initEndDate;
    private startValue;
    private endValue;
    private modelValue;
    private rightCalCurrentDate;
    private leftCalPrevIcon;
    private leftCalNextIcon;
    private leftTitle;
    private rightTitle;
    private rightCalPrevIcon;
    private rightCalNextIcon;
    private inputKeyboardModule;
    protected leftKeyboardModule: base.KeyboardEvents;
    protected rightKeyboardModule: base.KeyboardEvents;
    private previousStartValue;
    private previousEndValue;
    private applyButton;
    private cancelButton;
    private startButton;
    private endButton;
    private cloneElement;
    private l10n;
    private isCustomRange;
    private isCustomWindow;
    private presetsItem;
    private liCollections;
    private activeIndex;
    private presetElement;
    private previousEleValue;
    private targetElement;
    private disabledDayCnt;
    private angularTag;
    private inputElement;
    private modal;
    private firstHiddenChild;
    private secondHiddenChild;
    private isKeyPopup;
    private dateDisabled;
    private navNextFunction;
    private navPrevFunction;
    private deviceNavNextFunction;
    private deviceNavPrevFunction;
    private isRangeIconClicked;
    private isMaxDaysClicked;
    private popupKeyboardModule;
    private presetKeyboardModule;
    private btnKeyboardModule;
    private virtualRenderCellArgs;
    private disabledDays;
    private isMobile;
    private keyInputConfigs;
    private defaultConstant;
    private preventBlur;
    private preventFocus;
    private valueType;
    private closeEventArgs;
    private openEventArgs;
    private controlDown;
    private startCopy;
    private endCopy;
    private formElement;
    private formatString;
    protected tabIndex: string;
    private invalidValueString;
    private dateRangeOptions;
    private mobileRangePopupWrap;
    protected preventChange: boolean;
    protected touchRangeModule: base.Touch;
    protected touchRangeStart: boolean;
    protected iconRangeRight: string;
    protected clearButton: HTMLElement;
    /**
     * Gets or sets the start and end date of the Calendar.
     * {% codeBlock src='daterangepicker/value/index.md' %}{% endcodeBlock %}
     *
     * @default null
     */
    value: Date[] | DateRange;
    /**
     * Enable or disable the persisting component's state between the page reloads. If enabled, following list of states will be persisted.
     * 1. startDate
     * 2. endDate
     * 3. value
     *
     * @default false
     */
    enablePersistence: boolean;
    /**
     * Gets or sets the minimum date that can be selected in the calendar-popup.
     *
     * @default new Date(1900, 00, 01)
     */
    min: Date;
    /**
     * Gets or sets the maximum date that can be selected in the calendar-popup.
     *
     * @default new Date(2099, 11, 31)
     */
    max: Date;
    /**
     * Overrides the global culture and localization value for this component. Default global culture is 'en-US'.
     *
     * @default 'en-US'
     */
    locale: string;
    /**
     * Gets or sets the Calendar's first day of the week. By default, the first day of the week will be based on the current culture.
     * > For more details about firstDayOfWeek refer to
     * [`First day of week`](../../daterangepicker/customization#first-day-of-week) documentation.
     *
     * @default null
     */
    firstDayOfWeek: number;
    /**
     * Determines whether the week number of the Calendar is to be displayed or not.
     * The week number is displayed in every week row.
     * > For more details about weekNumber refer to
     * [`Calendar with week number`](../../calendar/how-to/render-the-calendar-with-week-numbers)documentation.
     *
     * @default false
     */
    weekNumber: boolean;
    /**
     * Gets or sets the Calendar's Type like gregorian or islamic.
     *
     * @default Gregorian
     * @private
     */
    calendarMode: CalendarType;
    /**
     * By default, the popup opens while clicking on the daterangepicker icon.
     * If you want to open the popup while focusing the daterange input then specify its value as true.
     *
     * @default false
     */
    openOnFocus: boolean;
    /**
     * Specifies the component popup display full screen in mobile devices.
     *
     * @default false
     */
    fullScreenMode: boolean;
    /**
     * Triggers when Calendar is created.
     *
     * @event created
     */
    created: base.EmitType<Object>;
    /**
     * Triggers when Calendar is destroyed.
     *
     * @event destroyed
     */
    destroyed: base.EmitType<Object>;
    /**
     * Triggers when the Calendar value is changed.
     *
     * @event change
     */
    change: base.EmitType<RangeEventArgs>;
    /**
     * Triggers when daterangepicker value is cleared using clear button.
     *
     * @event cleared
     */
    cleared: base.EmitType<ClearedEventArgs>;
    /**
     * Triggers when the Calendar is navigated to another view or within the same level of view.
     *
     * @event navigated
     */
    navigated: base.EmitType<NavigatedEventArgs>;
    /**
     * Triggers when each day cell of the Calendar is rendered.
     *
     * @event renderDayCell
     */
    renderDayCell: base.EmitType<RenderDayCellEventArgs>;
    /**
     * Gets or sets the start date of the date range selection.
     *
     * @default null
     */
    startDate: Date;
    /**
     * Gets or sets the end date of the date range selection.
     *
     * @default null
     */
    endDate: Date;
    /**
     * Set the predefined ranges which let the user pick required range easily in a component.
     * > For more details refer to
     * [`Preset Ranges`](../../daterangepicker/customization#preset-ranges) documentation.
     * {% codeBlock src='daterangepicker/presets/index.md' %}{% endcodeBlock %}
     *
     * @default null
     */
    presets: PresetsModel[];
    /**
     * Specifies the width of the DateRangePicker component.
     *
     * @default ''
     */
    width: number | string;
    /**
     * specifies the z-index value of the dateRangePicker popup element.
     *
     * @default 1000
     * @aspType int
     */
    zIndex: number;
    /**
     * Specifies whether to show or hide the clear icon
     *
     * @default true
     */
    showClearButton: boolean;
    /**
     * Specifies whether the today button is to be displayed or not.
     *
     * @default true
     * @hidden
     */
    showTodayButton: boolean;
    /**
     * Specifies the initial view of the Calendar when it is opened.
     * With the help of this property, initial view can be changed to year or decade view.
     *
     * @default Month
     */
    start: CalendarView;
    /**
     * Sets the maximum level of view (month, year, decade) in the Calendar.
     * Depth view should be smaller than the start view to restrict its view navigation.
     *
     * @default Month
     */
    depth: CalendarView;
    /**
     *  Sets the root CSS class to the DateRangePicker which allows you to customize the appearance.
     *
     * @default ''
     */
    cssClass: string;
    /**
     * Sets or gets the string that used between the start and end date string.
     *
     * @default '-'
     */
    separator: string;
    /**
     *  Specifies the minimum span of days that can be allowed in date range selection.
     * > For more details refer to
     * [`Range Span`](../../daterangepicker/range-restriction/#range-span) documentation.
     *
     * @default null
     * @aspType int
     */
    minDays: number;
    /**
     *  Specifies the maximum span of days that can be allowed in a date range selection.
     * > For more details refer to
     * [`Range Span`](../../daterangepicker/range-restriction/#range-span) documentation.
     *
     * @default null
     * @aspType int
     */
    maxDays: number;
    /**
     * Specifies the component to act as strict which allows entering only a valid date range in a DateRangePicker.
     * > For more details refer to
     * [`Strict Mode`](../../daterangepicker/range-restriction#strict-mode)documentation.
     *
     * @default false
     */
    strictMode: boolean;
    /**
     * Customizes the key actions in DateRangePicker.
     * For example, when using German keyboard, the key actions can be customized using these shortcuts.
     *
     *
     * Input Navigation
     * <table>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * Key action<br/></td><td colSpan=1 rowSpan=1>
     * Key<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * altUpArrow<br/></td><td colSpan=1 rowSpan=1>
     * alt+uparrow<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * altDownArrow<br/></td><td colSpan=1 rowSpan=1>
     * alt+downarrow<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * escape<br/></td><td colSpan=1 rowSpan=1>
     * escape<br/></td></tr>
     * </table>
     *
     * Calendar Navigation (Use the following list of keys to navigate the currently focused Calendar after the popup has opened).
     * <table>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * Key action<br/></td><td colSpan=1 rowSpan=1>
     * Key<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * controlUp<br/></td><td colSpan=1 rowSpan=1>
     * ctrl+38<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * controlDown<br/></td><td colSpan=1 rowSpan=1>
     * ctrl+40<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * moveDown<br/></td><td colSpan=1 rowSpan=1>
     * downarrow<br/></td></tr>
     * <td colSpan=1 rowSpan=1>
     * pageUp<br/></td><td colSpan=1 rowSpan=1>
     * pageup<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * pageDown<br/></td><td colSpan=1 rowSpan=1>
     * pagedown<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * shiftPageUp<br/></td><td colSpan=1 rowSpan=1>
     * shift+pageup<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * shiftPageDown<br/></td><td colSpan=1 rowSpan=1>
     * shift+pagedown<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * moveUp<br/></td><td colSpan=1 rowSpan=1>
     * uparrow<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * moveLeft<br/></td><td colSpan=1 rowSpan=1>
     * leftarrow<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * moveRight<br/></td><td colSpan=1 rowSpan=1>
     * rightarrow<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * select<br/></td><td colSpan=1 rowSpan=1>
     * enter<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * home<br/></td><td colSpan=1 rowSpan=1>
     * home<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * end<br/></td><td colSpan=1 rowSpan=1>
     * end<br/></td></tr>
     * <tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * controlHome<br/></td><td colSpan=1 rowSpan=1>
     * ctrl+home<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * controlEnd<br/></td><td colSpan=1 rowSpan=1>
     * ctrl+end<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * altUpArrow<br/></td><td colSpan=1 rowSpan=1>
     * alt+uparrow<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * spacebar<br/></td><td colSpan=1 rowSpan=1>
     * space<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * enter<br/></td><td colSpan=1 rowSpan=1>
     * enter<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * altRightArrow<br/></td><td colSpan=1 rowSpan=1>
     * alt+rightarrow<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * altLeftArrow<br/></td><td colSpan=1 rowSpan=1>
     * alt+leftarrow<br/></td></tr>
     * </table>
     *
     * {% codeBlock src='daterangepicker/keyConfigs/index.md' %}{% endcodeBlock %}
     *
     * @default null
     */
    keyConfigs: {
        [key: string]: string;
    };
    /**
     * Sets or gets the required date format to the start and end date string.
     * > For more details refer to
     * [`Format`](https://ej2.syncfusion.com/demos/#/material/daterangepicker/format.html)sample.
     *
     * @aspType string
     * {% codeBlock src='daterangepicker/format/index.md' %}{% endcodeBlock %}
     * @default null
     */
    format: string | RangeFormatObject;
    /**
     * Specifies the component to be disabled which prevents the DateRangePicker from user interactions.
     *
     * @default true
     */
    enabled: boolean;
    /**
     * Denies the editing the ranges in the DateRangePicker component.
     *
     * @default false
     */
    readonly: boolean;
    /**
     * > Support for `allowEdit` has been provided from
     * [`v16.2.46`](https://ej2.syncfusion.com/angular/documentation/release-notes/16.2.46/#daterangepicker).
     *
     * Specifies whether the input textbox is editable or not. Here the user can select the value from the
     * popup and cannot edit in the input textbox.
     *
     * @default true
     */
    allowEdit: boolean;
    /**
     * Specifies the placeholder text to be floated.
     * Possible values are:
     * Never: The label will never float in the input when the placeholder is available.
     * Always: The floating label will always float above the input.
     * Auto: The floating label will float above the input after focusing or entering a value in the input.
     *
     * @default Syncfusion.EJ2.Inputs.inputs.FloatLabelType.Never
     * @aspType Syncfusion.EJ2.Inputs.inputs.FloatLabelType
     * @isEnumeration true
     */
    floatLabelType: inputs.FloatLabelType | string;
    /**
     * Specifies the placeholder text that need to be displayed in the DateRangePicker component.
     *
     * @default null
     */
    placeholder: string;
    /**
     * You can add the additional html attributes such as disabled, value etc., to the element.
     * If you configured both property and equivalent html attribute then the component considers the property value.
     * {% codeBlock src='daterangepicker/htmlAttributes/index.md' %}{% endcodeBlock %}
     *
     * @default {}
     */
    htmlAttributes: {
        [key: string]: string;
    };
    /**
     * Triggers when the DateRangePicker is opened.
     *
     * @event open
     */
    open: base.EmitType<Object>;
    /**
     * Triggers when the DateRangePicker is closed.
     *
     * @event close
     */
    close: base.EmitType<Object>;
    /**
     * Triggers on selecting the start and end date.
     *
     * @event select
     */
    select: base.EmitType<Object>;
    /**
     *  Triggers when the control gets focus.
     *
     * @event focus
     */
    focus: base.EmitType<FocusEventArgs>;
    /**
     * Triggers when the control loses the focus.
     *
     * @event blur
     */
    blur: base.EmitType<BlurEventArgs>;
    /**
     * Constructor for creating the widget
     *
     * @param {DateRangePickerModel} options - Specifies the DateRangePicker model.
     * @param {string | HTMLInputElement} element - Specifies the element to render as component.
     * @private
     */
    constructor(options?: DateRangePickerModel, element?: string | HTMLInputElement);
    /**
     * To Initialize the control rendering.
     *
     * @returns {void}
     * @private
     */
    protected render(): void;
    /**
     * Initialize the event handler
     *
     * @returns {void}
     * @private
     */
    protected preRender(): void;
    private updateValue;
    private initProperty;
    protected checkFormat(): void;
    private initialize;
    private setDataAttribute;
    private setRangeAllowEdit;
    private updateClearIconState;
    protected validationAttribute(element: HTMLElement, input: Element): void;
    private updateHtmlAttributeToWrapper;
    private updateHtmlAttributeToElement;
    private updateCssClass;
    private processPresets;
    protected bindEvents(): void;
    private unBindEvents;
    private updateHiddenInput;
    private inputChangeHandler;
    private bindClearEvent;
    protected resetHandler(e: MouseEvent): void;
    private restoreValue;
    protected formResetHandler(e: MouseEvent): void;
    private clear;
    private rangeIconHandler;
    private checkHtmlAttributes;
    private createPopup;
    private renderControl;
    private clearCalendarEvents;
    private updateNavIcons;
    private calendarIconEvent;
    private bindCalendarEvents;
    private calendarIconRipple;
    private deviceCalendarEvent;
    private deviceNavNext;
    private deviceNavPrevious;
    private updateDeviceCalendar;
    private deviceHeaderClick;
    private inputFocusHandler;
    private inputBlurHandler;
    private getStartEndDate;
    private clearRange;
    private errorClass;
    private keyCalendarUpdate;
    private navInCalendar;
    private firstCellToFocus;
    private keyInputHandler;
    private tabKeyValidation;
    private keyNavigation;
    private inputHandler;
    private bindCalendarCellEvents;
    private removeFocusedDate;
    private hoverSelection;
    private isSameStartEnd;
    private updateRange;
    private checkMinMaxDays;
    private rangeArgs;
    private otherMonthSelect;
    private selectRange;
    private selectableDates;
    private updateMinMaxDays;
    private removeTimeValueFromDate;
    private removeClassDisabled;
    private updateHeader;
    private removeSelection;
    private addSelectedAttributes;
    private removeSelectedAttributes;
    private updateCalendarElement;
    private navPrevMonth;
    private deviceNavigation;
    private updateControl;
    private navNextMonth;
    private isPopupOpen;
    protected createRangeHeader(): HTMLElement;
    private disableInput;
    private validateMinMax;
    private validateRangeStrict;
    private validateRange;
    private validateMinMaxDays;
    private renderCalendar;
    private isSameMonth;
    private isSameYear;
    private isSameDecade;
    private startMonthCurrentDate;
    private selectNextMonth;
    private selectNextYear;
    private selectNextDecade;
    private selectStartMonth;
    private createCalendar;
    private leftNavTitle;
    private calendarNavigation;
    private rightNavTitle;
    protected clickEventEmitter(e: MouseEvent): void;
    /**
     * Gets the current view of the Calendar.
     *
     * @returns {string}
     * @private
     * @hidden
     */
    currentView(): string;
    protected getCalendarView(view: string): CalendarView;
    protected navigatedEvent(e: MouseEvent): void;
    private createControl;
    private modelRangeCloseHandler;
    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;
    private dateRangeSwipeHandler;
    private touchStartRangeHandler;
    protected popupCloseHandler(e: base.KeyboardEventArgs): void;
    private calendarFocus;
    private presetHeight;
    private presetKeyActionHandler;
    private listMoveDown;
    private listMoveUp;
    private getHoverLI;
    private getActiveLI;
    private popupKeyBoardHandler;
    private setScrollPosition;
    private popupKeyActionHandle;
    private documentHandler;
    private createInput;
    private setEleWidth;
    private adjustLongHeaderWidth;
    private refreshControl;
    private updateInput;
    protected checkInvalidRange(value: string | DateRange | Date[]): void;
    private getstringvalue;
    private checkInvalidValue;
    private isDateDisabled;
    private disabledDateRender;
    private virtualRenderCellEvent;
    private disabledDates;
    private setModelValue;
    /**
     * To dispatch the event manually
     *
     * @param {HTMLElement} element - Specifies the element to dispatch the event.
     * @param {string} type - Specifies the name of the event.
     * @returns {void}
     */
    protected dispatchEvent(element: HTMLElement, type: string): void;
    private changeTrigger;
    /**
     * This method is used to navigate to the month/year/decade view of the Calendar.
     *
     * @param  {string} view - Specifies the view of the Calendar.
     * @param  {Date} date - Specifies the focused date in a view.
     * @returns {void}
     * @hidden
     */
    navigateTo(view: CalendarView, date: Date): void;
    private navigate;
    /**
     * Sets the focus to widget for interaction.
     *
     * @returns {void}
     */
    focusIn(): void;
    /**
     * Remove the focus from widget, if the widget is in focus state.
     *
     * @returns {void}
     */
    focusOut(): void;
    /**
     * To destroy the widget.
     *
     * @returns {void}
     */
    destroy(): void;
    protected ensureInputAttribute(): void;
    /**
     * To get component name
     *
     * @returns {string} Returns the component name.
     * @private
     */
    protected getModuleName(): string;
    /**
     * Return the properties that are maintained upon browser refresh.
     *
     * @returns {string}
     */
    getPersistData(): string;
    /**
     * Return the selected range and day span in the DateRangePicker.
     *
     * @returns {Object}
     */
    getSelectedRange(): Object;
    /**
     * To open the popups.Popup container in the DateRangePicker component.
     *
     * @param {HTMLElement} element - Specifies element.
     * @returns {void}
     */
    show(element?: HTMLElement, event?: MouseEvent | base.KeyboardEventArgs | Event): void;
    /**
     * To close the popups.Popup container in the DateRangePicker component.
     *
     * @returns {void}
     */
    hide(event?: base.KeyboardEventArgs | MouseEvent | Event): void;
    private setLocale;
    private refreshChange;
    private setDate;
    private enableInput;
    private clearModelvalue;
    private createHiddenInput;
    private setMinMaxDays;
    private getAmPmValue;
    private getStartEndValue;
    /**
     * Called internally if any of the property value changed.
     *
     * @param {DateRangePickerModel} newProp - Returns the dynamic property value of the component.
     * @param {DateRangePickerModel} oldProp - Returns the previous property value of the component.
     * @returns {void}
     * @private
     */
    onPropertyChanged(newProp: DateRangePickerModel, oldProp: DateRangePickerModel): void;
}
//node_modules/@syncfusion/ej2-calendars/src/daterangepicker/daterangepicker-model.d.ts
/**
 * Interface for a class Presets
 */
export interface PresetsModel {
    /**
     * Defines the label string of the preset range.
     */
    label?: string;
    /**
     * Defines the start date of the preset range.
     */
    start?: Date;
    /**
     * Defines the end date of the preset range
     */
    end?: Date;
}
/**
 * Interface for a class DateRangePicker
 */
export interface DateRangePickerModel extends CalendarBaseModel{
    /**
     * Gets or sets the start and end date of the Calendar.
     * {% codeBlock src='daterangepicker/value/index.md' %}{% endcodeBlock %}
     *
     * @default null
     */
    value?: Date[] | DateRange;
    /**
     * Enable or disable the persisting component's state between the page reloads. If enabled, following list of states will be persisted.
     * 1. startDate
     * 2. endDate
     * 3. value
     *
     * @default false
     */
    enablePersistence?: boolean;
    /**
     * Gets or sets the minimum date that can be selected in the calendar-popup.
     *
     * @default new Date(1900, 00, 01)
     */
    min?: Date;
    /**
     * Gets or sets the maximum date that can be selected in the calendar-popup.
     *
     * @default new Date(2099, 11, 31)
     */
    max?: Date;
    /**
     * Overrides the global culture and localization value for this component. Default global culture is 'en-US'.
     *
     * @default 'en-US'
     */
    locale?: string;
    /**
     * Gets or sets the Calendar's first day of the week. By default, the first day of the week will be based on the current culture.
     * > For more details about firstDayOfWeek refer to
     * [`First day of week`](../../daterangepicker/customization#first-day-of-week) documentation.
     *
     * @default null
     */
    firstDayOfWeek?: number;
    /**
     * Determines whether the week number of the Calendar is to be displayed or not.
     * The week number is displayed in every week row.
     * > For more details about weekNumber refer to
     * [`Calendar with week number`](../../calendar/how-to/render-the-calendar-with-week-numbers)documentation.
     *
     * @default false
     */
    weekNumber?: boolean;
    /**
     * Gets or sets the Calendar's Type like gregorian or islamic.
     *
     * @default Gregorian
     * @private
     */
    calendarMode?: CalendarType;
    /**
     * By default, the popup opens while clicking on the daterangepicker icon.
     * If you want to open the popup while focusing the daterange input then specify its value as true.
     *
     * @default false
     */
    openOnFocus?: boolean;
    /**
     * Specifies the component popup display full screen in mobile devices.
     *
     * @default false
     */
    fullScreenMode?: boolean;
    /**
     * Triggers when Calendar is created.
     *
     * @event created
     */
    created?: base.EmitType<Object>;
    /**
     * Triggers when Calendar is destroyed.
     *
     * @event destroyed
     */
    destroyed?: base.EmitType<Object>;
    /**
     * Triggers when the Calendar value is changed.
     *
     * @event change
     */
    change?: base.EmitType<RangeEventArgs>;
    /**
     * Triggers when daterangepicker value is cleared using clear button.
     *
     * @event cleared
     */
    cleared?: base.EmitType<ClearedEventArgs>;
    /**
     * Triggers when the Calendar is navigated to another view or within the same level of view.
     *
     * @event navigated
     */
    navigated?: base.EmitType<NavigatedEventArgs>;
    /**
     * Triggers when each day cell of the Calendar is rendered.
     *
     * @event renderDayCell
     */
    renderDayCell?: base.EmitType<RenderDayCellEventArgs>;
    /**
     * Gets or sets the start date of the date range selection.
     *
     * @default null
     */
    startDate?: Date;
    /**
     * Gets or sets the end date of the date range selection.
     *
     * @default null
     */
    endDate?: Date;
    /**
     * Set the$ predefined ranges which let the user pick required range easily in a component.
     * > For more details refer to
     * [`Preset Ranges`](../../daterangepicker/customization#preset-ranges) documentation.
     * {% codeBlock src='daterangepicker/presets/index.md' %}{% endcodeBlock %}
     *
     * @default null
     */
    presets?: PresetsModel[];
    /**
     * Specifies the width of the DateRangePicker component.
     *
     * @default ''
     */
    width?: number | string;
    /**
     * specifies the z-index value of the dateRangePicker popup element.
     *
     * @default 1000
     * @aspType int
     */
    zIndex?: number;
    /**
     * Specifies whether to show or hide the clear icon
     *
     * @default true
     */
    showClearButton?: boolean;
    /**
     * Specifies whether the today button is to be displayed or not.
     *
     * @default true
     * @hidden
     */
    showTodayButton?: boolean;
    /**
     * Specifies the initial view of the Calendar when it is opened.
     * With the help of this property, initial view can be changed to year or decade view.
     *
     * @default Month
     */
    start?: CalendarView;
    /**
     * Sets the maximum level of view (month, year, decade) in the Calendar.
     * Depth view should be smaller than the start view to restrict its view navigation.
     *
     * @default Month
     */
    depth?: CalendarView;
    /**
     *  Sets the root CSS class to the DateRangePicker which allows you to customize the appearance.
     *
     * @default ''
     */
    cssClass?: string;
    /**
     * Sets or gets the string that used between the start and end date string.
     *
     * @default '-'
     */
    separator?: string;
    /**
     *  Specifies the minimum span of days that can be allowed in date range selection.
     * > For more details refer to
     * [`Range Span`](../../daterangepicker/range-restriction/#range-span) documentation.
     *
     * @default null
     * @aspType int
     */
    minDays?: number;
    /**
     *  Specifies the maximum span of days that can be allowed in a date range selection.
     * > For more details refer to
     * [`Range Span`](../../daterangepicker/range-restriction/#range-span) documentation.
     *
     * @default null
     * @aspType int
     */
    maxDays?: number;
    /**
     * Specifies the component to act as strict which allows entering only a valid date range in a DateRangePicker.
     * > For more details refer to
     * [`Strict Mode`](../../daterangepicker/range-restriction#strict-mode)documentation.
     *
     * @default false
     */
    strictMode?: boolean;
    /**
     * Customizes the key actions in DateRangePicker.
     * For example, when using German keyboard, the key actions can be customized using these shortcuts.
     *
     *
     * inputs.Input Navigation
     * <table>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * Key action<br/></td><td colSpan=1 rowSpan=1>
     * Key<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * altUpArrow<br/></td><td colSpan=1 rowSpan=1>
     * alt+uparrow<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * altDownArrow<br/></td><td colSpan=1 rowSpan=1>
     * alt+downarrow<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * escape<br/></td><td colSpan=1 rowSpan=1>
     * escape<br/></td></tr>
     * </table>
     *
     * Calendar Navigation (Use the following list of keys to navigate the currently focused Calendar after the popup has opened).
     * <table>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * Key action<br/></td><td colSpan=1 rowSpan=1>
     * Key<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * controlUp<br/></td><td colSpan=1 rowSpan=1>
     * ctrl+38<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * controlDown<br/></td><td colSpan=1 rowSpan=1>
     * ctrl+40<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * moveDown<br/></td><td colSpan=1 rowSpan=1>
     * downarrow<br/></td></tr>
     * <td colSpan=1 rowSpan=1>
     * pageUp<br/></td><td colSpan=1 rowSpan=1>
     * pageup<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * pageDown<br/></td><td colSpan=1 rowSpan=1>
     * pagedown<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * shiftPageUp<br/></td><td colSpan=1 rowSpan=1>
     * shift+pageup<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * shiftPageDown<br/></td><td colSpan=1 rowSpan=1>
     * shift+pagedown<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * moveUp<br/></td><td colSpan=1 rowSpan=1>
     * uparrow<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * moveLeft<br/></td><td colSpan=1 rowSpan=1>
     * leftarrow<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * moveRight<br/></td><td colSpan=1 rowSpan=1>
     * rightarrow<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * base.select<br/></td><td colSpan=1 rowSpan=1>
     * enter<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * home<br/></td><td colSpan=1 rowSpan=1>
     * home<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * end<br/></td><td colSpan=1 rowSpan=1>
     * end<br/></td></tr>
     * <tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * controlHome<br/></td><td colSpan=1 rowSpan=1>
     * ctrl+home<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * controlEnd<br/></td><td colSpan=1 rowSpan=1>
     * ctrl+end<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * altUpArrow<br/></td><td colSpan=1 rowSpan=1>
     * alt+uparrow<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * spacebar<br/></td><td colSpan=1 rowSpan=1>
     * space<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * enter<br/></td><td colSpan=1 rowSpan=1>
     * enter<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * altRightArrow<br/></td><td colSpan=1 rowSpan=1>
     * alt+rightarrow<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * altLeftArrow<br/></td><td colSpan=1 rowSpan=1>
     * alt+leftarrow<br/></td></tr>
     * </table>
     *
     * {% codeBlock src='daterangepicker/keyConfigs/index.md' %}{% endcodeBlock %}
     *
     * @default null
     */
    keyConfigs?: { [key: string]: string };
    /**
     * Sets or gets the required date format to the start and end date string.
     * > For more details refer to
     * [`Format`](https://ej2.syncfusion.com/demos/#/material/daterangepicker/format.html)sample.
     *
     * @aspType string
     * {% codeBlock src='daterangepicker/format/index.md' %}{% endcodeBlock %}
     * @default null
     */
    format?: string | RangeFormatObject;
    /**
     * Specifies the component to be disabled which prevents the DateRangePicker from user interactions.
     *
     * @default true
     */
    enabled?: boolean;
    /**
     * Denies the editing the ranges in the DateRangePicker component.
     *
     * @default false
     */
    readonly?: boolean;
    /**
     * > Support for `allowEdit` has been provided from
     * [`v16.2.46`](https://ej2.syncfusion.com/angular/documentation/release-notes/16.2.46/#daterangepicker).
     *
     * Specifies whether the input textbox is editable or not. Here the user can base.select the value from the
     * popup and cannot edit in the input textbox.
     *
     * @default true
     */
    allowEdit?: boolean;
    /**
     * Specifies the placeholder text to be floated.
     * Possible values are:
     * Never: The label will never float in the input when the placeholder is available.
     * Always: The floating label will always float above the input.
     * Auto: The floating label will float above the input after focusing or entering a value in the input.
     *
     * @default Syncfusion.EJ2.Inputs.inputs.FloatLabelType.Never
     * @aspType Syncfusion.EJ2.Inputs.inputs.FloatLabelType
     * @isEnumeration true
     */
    floatLabelType?: inputs.FloatLabelType | string;
    /**
     * Specifies the placeholder text that need to be displayed in the DateRangePicker component.
     *
     * @default null
     */
    placeholder?: string;
    /**
     * You can add the additional html base.attributes such as disabled, value etc., to the element.
     * If you configured both property and equivalent html attribute then the component considers the property value.
     * {% codeBlock src='daterangepicker/htmlAttributes/index.md' %}{% endcodeBlock %}
     *
     * @default {}
     */
    htmlAttributes?: { [key: string]: string };
    /**
     * Triggers when the DateRangePicker is opened.
     *
     * @event open
     */
    open?: base.EmitType<Object>;
    /**
     * Triggers when the DateRangePicker is closed.
     *
     * @event close
     */
    close?: base.EmitType<Object>;
    /**
     * Triggers on selecting the start and end date.
     *
     * @event base.select
     */
    select?: base.EmitType<Object>;
    /**
     *  Triggers when the control gets focus.
     *
     * @event focus
     */
    focus?: base.EmitType<FocusEventArgs>;
    /**
     * Triggers when the control loses the focus.
     *
     * @event blur
     */
    blur?: base.EmitType<BlurEventArgs>;
}
//node_modules/@syncfusion/ej2-calendars/src/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 inputFormatsString: string[];
    protected tabIndex: string;
    protected maskedDateValue: string;
    private datepickerOptions;
    protected defaultKeyConfigs: {
        [key: string]: string;
    };
    protected mobilePopupWrapper: HTMLElement;
    protected preventChange: boolean;
    protected isIconClicked: boolean;
    protected isDynamicValueChanged: boolean;
    protected moduleName: string;
    protected isFocused: boolean;
    protected touchModule: base.Touch;
    protected touchStart: boolean;
    protected iconRight: boolean;
    protected isBlur: boolean;
    private isKeyAction;
    protected clearButton: HTMLElement;
    /**
     * Specifies the width of the DatePicker component.
     *
     * @default null
     */
    width: number | string;
    /**
     * Gets or sets the selected date of the Calendar.
     *
     * @default null
     * @isGenericType true
     * @deprecated
     */
    value: Date;
    /**
     * Specifies the root CSS class of the DatePicker that allows to
     * customize the appearance by overriding the styles.
     *
     * @default null
     */
    cssClass: string;
    /**
     * Specifies the component to act as strict. So that, it allows to enter only a valid date  value within a specified range or else it
     * will resets to previous value. By default, strictMode is in false.
     * it allows invalid or out-of-range date value with highlighted error class.
     *
     * @default false
     * > For more details refer to
     * [`Strict Mode`](../../datepicker/strict-mode/) documentation.
     */
    strictMode: boolean;
    /**
     * Specifies the format of the value that to be displayed in component. By default, the format is based on the culture. You can set
     * the format to "format:'dd/MM/yyyy hh:mm'" or "format:{skeleton:'medium'}" either in string or object.
     * > To know more about the date format standards, refer to the Internationalization Date Format
     * [`Internationalization`](../../common/internationalization/#custom-formats) section.
     *
     * @default null
     * @aspType string
     */
    format: string | FormatObject;
    /**
     * Specifies an array of acceptable date input formats for parsing user input.
     *
     * @default null
     * @aspType string[]
     */
    inputFormats: string[] | FormatObject[];
    /**
     * Specifies the component to be disabled or not.
     *
     * @default true
     */
    enabled: boolean;
    /**
     * Specifies the component popup display full screen in mobile devices.
     *
     * @default false
     */
    fullScreenMode: boolean;
    /**
     * You can add the additional html attributes such as disabled, value etc., to the element.
     * If you configured both property and equivalent html attribute then the component considers the property value.
     * {% codeBlock src='datepicker/htmlAttributes/index.md' %}{% endcodeBlock %}
     *
     * @default {}
     */
    htmlAttributes: {
        [key: string]: string;
    };
    /**
     * Gets or sets multiple selected dates of the calendar.
     *
     * @default null
     * @private
     */
    values: Date[];
    /**
     * Specifies the option to enable the multiple dates selection of the calendar.
     *
     * @default false
     * @private
     */
    isMultiSelection: boolean;
    /**
     * Specifies whether to show or hide the clear icon in textbox.
     *
     * @default true
     */
    showClearButton: boolean;
    /**
     * > Support for `allowEdit` has been provided from
     * [`v16.2.46`](https://ej2.syncfusion.com/angular/documentation/release-notes/16.2.46/#datepicker).
     *
     * Specifies whether the input textbox is editable or not. Here the user can select the value from the
     * popup and cannot edit in the input textbox.
     *
     * @default true
     */
    allowEdit: boolean;
    /**
     * Customizes the key actions in DatePicker.
     * For example, when using German keyboard, the key actions can be customized using these shortcuts.
     *
     *
     * Input Navigation
     * <table>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * Key action<br/></td><td colSpan=1 rowSpan=1>
     * Key<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * altUpArrow<br/></td><td colSpan=1 rowSpan=1>
     * alt+uparrow<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * altDownArrow<br/></td><td colSpan=1 rowSpan=1>
     * alt+downarrow<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * escape<br/></td><td colSpan=1 rowSpan=1>
     * escape<br/></td></tr>
     * </table>
     *
     * Calendar Navigation
     * <table>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * Key action<br/></td><td colSpan=1 rowSpan=1>
     * Key<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * controlUp<br/></td><td colSpan=1 rowSpan=1>
     * ctrl+38<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * controlDown<br/></td><td colSpan=1 rowSpan=1>
     * ctrl+40<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * moveDown<br/></td><td colSpan=1 rowSpan=1>
     * downarrow<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * moveUp<br/></td><td colSpan=1 rowSpan=1>
     * uparrow<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * moveLeft<br/></td><td colSpan=1 rowSpan=1>
     * leftarrow<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * moveRight<br/></td><td colSpan=1 rowSpan=1>
     * rightarrow<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * shiftPageUp<br/></td><td colSpan=1 rowSpan=1>
     * shift+pageup<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * shiftPageDown<br/></td><td colSpan=1 rowSpan=1>
     * shift+pagedown<br/></td></tr>
     * <tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * select<br/></td><td colSpan=1 rowSpan=1>
     * enter<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * home<br/></td><td colSpan=1 rowSpan=1>
     * home<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * end<br/></td><td colSpan=1 rowSpan=1>
     * end<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * pageUp<br/></td><td colSpan=1 rowSpan=1>
     * pageup<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * pageDown<br/></td><td colSpan=1 rowSpan=1>
     * pagedown<br/></td></tr>
     * <td colSpan=1 rowSpan=1>
     * controlHome<br/></td><td colSpan=1 rowSpan=1>
     * ctrl+home<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * controlEnd<br/></td><td colSpan=1 rowSpan=1>
     * ctrl+end<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * altUpArrow<br/></td><td colSpan=1 rowSpan=1>
     * alt+uparrow<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * spacebar<br/></td><td colSpan=1 rowSpan=1>
     * space<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * altRightArrow<br/></td><td colSpan=1 rowSpan=1>
     * alt+rightarrow<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * altLeftArrow<br/></td><td colSpan=1 rowSpan=1>
     * alt+leftarrow<br/></td></tr>
     * </table>
     *
     * {% codeBlock src='datepicker/keyConfigs/index.md' %}{% endcodeBlock %}
     *
     * @default null
     * @deprecated
     */
    keyConfigs: {
        [key: string]: string;
    };
    /**
     * Enable or disable persisting component's state between page reloads. If enabled, following list of states will be persisted.
     * 1. value
     *
     * @default false
     * @deprecated
     */
    enablePersistence: boolean;
    /**
     * specifies the z-index value of the datePicker popup element.
     *
     * @default 1000
     * @aspType int
     */
    zIndex: number;
    /**
     * Specifies the component in readonly state. When the Component is readonly it does not allow user input.
     *
     * @default false
     */
    readonly: boolean;
    /**
     * Specifies the placeholder text that displayed in textbox.
     *
     * @default null
     */
    placeholder: string;
    /**
     * Specifies the placeholder text to be floated.
     * Possible values are:
     * Never: The label will never float in the input when the placeholder is available.
     * Always: The floating label will always float above the input.
     * Auto: The floating label will float above the input after focusing or entering a value in the input.
     *
     * @default Syncfusion.EJ2.Inputs.inputs.FloatLabelType.Never
     * @aspType Syncfusion.EJ2.Inputs.inputs.FloatLabelType
     * @isEnumeration true
     */
    floatLabelType: inputs.FloatLabelType | string;
    /**
     * By default, the date value will be processed based on system time zone.
     * If you want to process the initial date value using server time zone
     * then specify the time zone value to `serverTimezoneOffset` property.
     *
     * @default null
     * @deprecated
     */
    serverTimezoneOffset: number;
    /**
     * By default, the popup opens while clicking on the datepicker icon.
     * If you want to open the popup while focusing the date input then specify its value as true.
     *
     * @default false
     */
    openOnFocus: boolean;
    /**
     * Specifies whether it is a masked datepicker or not.
     * By default the datepicker component render without masked input.
     * If you need masked datepicker input then specify it as true.
     *
     * @default false
     */
    enableMask: boolean;
    /**
     * Specifies the mask placeholder to be displayed on masked datepicker.
     *
     * @default {day:'day' , month:'month', year: 'year', hour:'hour',minute:'minute',second:'second',dayOfTheWeek: 'day of the week'}
     */
    maskPlaceholder: MaskPlaceholderModel;
    /**
     * Triggers when the popup is opened.
     *
     * @event open
     */
    open: base.EmitType<PreventableEventArgs | PopupObjectArgs>;
    /**
     * Triggers when datepicker value is cleared using clear button.
     *
     * @event cleared
     */
    cleared: base.EmitType<ClearedEventArgs>;
    /**
     * Triggers when the popup is closed.
     *
     * @event close
     */
    close: base.EmitType<PreventableEventArgs | PopupObjectArgs>;
    /**
     * Triggers when the input loses the focus.
     *
     * @event blur
     */
    blur: base.EmitType<BlurEventArgs>;
    /**
     *  Triggers when the input gets focus.
     *
     * @event focus
     */
    focus: base.EmitType<FocusEventArgs>;
    /**
     * Triggers when the component is created.
     *
     * @event created
     */
    created: base.EmitType<Object>;
    /**
     * Triggers when the component is destroyed.
     *
     * @event destroyed
     */
    destroyed: base.EmitType<Object>;
    /**
     * Constructor for creating the widget.
     *
     * @param {DatePickerModel} options - Specifies the DatePicker model.
     * @param {string | HTMLInputElement} element - Specifies the element to render as component.
     * @private
     */
    constructor(options?: DatePickerModel, element?: string | HTMLInputElement);
    /**
     * To Initialize the control rendering.
     *
     * @returns {void}
     * @private
     */
    render(): void;
    protected setTimeZone(offsetValue: number): void;
    protected isDayLightSaving(): boolean;
    protected setAllowEdit(): void;
    protected updateIconState(): void;
    private initialize;
    private createInput;
    protected updateInput(isDynamic?: boolean, isBlur?: boolean): void;
    protected minMaxUpdates(): void;
    private checkStringValue;
    protected checkInvalidValue(value: Date): void;
    private bindInputEvent;
    protected bindEvents(): void;
    private keydownHandler;
    protected unBindEvents(): void;
    protected resetFormHandler(): void;
    protected restoreValue(): void;
    private inputChangeHandler;
    private bindClearEvent;
    protected resetHandler(e?: MouseEvent): void;
    private mouseUpHandler;
    private clear;
    private preventEventBubbling;
    private updateInputValue;
    private dateIconHandler;
    protected updateHtmlAttributeToWrapper(): void;
    protected updateHtmlAttributeToElement(): void;
    private updateCssClass;
    private calendarKeyActionHandle;
    private inputFocusHandler;
    private inputHandler;
    private inputBlurHandler;
    private documentHandler;
    protected inputKeyActionHandle(e: base.KeyboardEventArgs): void;
    protected defaultAction(e: base.KeyboardEventArgs): void;
    protected popupUpdate(): void;
    protected strictModeUpdate(): void;
    private createCalendar;
    protected getAmPmValue(date: string | null | undefined): string;
    private CalendarSwipeHandler;
    private TouchStartHandler;
    private setAriaDisabled;
    private modelHeader;
    private modelCloseHandler;
    protected changeTrigger(event?: MouseEvent | KeyboardEvent): void;
    protected navigatedEvent(eve: MouseEvent | KeyboardEvent | base.SwipeEventArgs): void;
    protected keyupHandler(e: base.KeyboardEventArgs): void;
    protected changeEvent(event?: MouseEvent | KeyboardEvent | Event): void;
    requiredModules(): base.ModuleDeclaration[];
    protected selectCalendar(e?: MouseEvent | KeyboardEvent | Event): void;
    protected isCalendar(): boolean;
    protected setWidth(width: number | string): void;
    /**
     * Shows the Calendar.
     *
     * @returns {void}
     * @deprecated
     */
    show(type?: null | string, e?: MouseEvent | KeyboardEvent | base.KeyboardEventArgs): void;
    /**
     * Hide the Calendar.
     *
     * @returns {void}
     * @deprecated
     */
    hide(event?: MouseEvent | KeyboardEvent | Event): void;
    private closeEventCallback;
    /**
     * Sets the focus to widget for interaction.
     *
     * @returns {void}
     */
    focusIn(triggerEvent?: boolean): void;
    /**
     * Remove the focus from widget, if the widget is in focus state.
     *
     * @returns {void}
     */
    focusOut(): void;
    /**
     * Gets the current view of the DatePicker.
     *
     * @returns {string}
     * @deprecated
     */
    currentView(): string;
    /**
     * Navigates to specified month or year or decade view of the DatePicker.
     *
     * @param  {string} view - Specifies the view of the calendar.
     * @param  {Date} date - Specifies the focused date in a view.
     * @returns {void}
     * @deprecated
     */
    navigateTo(view: CalendarView, date: Date): void;
    /**
     * To destroy the widget.
     *
     * @returns {void}
     */
    destroy(): void;
    protected ensureInputAttribute(): void;
    /**
     * Initialize the event handler
     *
     * @returns {void}
     * @private
     */
    protected preRender(): void;
    protected getDefaultKeyConfig(): {
        [key: string]: string;
    };
    protected validationAttribute(target: HTMLElement, inputElement: Element): void;
    protected checkFormat(): void;
    protected checkInputFormats(): void;
    private checkHtmlAttributes;
    /**
     * To get component name.
     *
     * @returns {string} Returns the component name.
     * @private
     */
    protected getModuleName(): string;
    private disabledDates;
    private setAriaAttributes;
    protected errorClass(): void;
    protected isValidTime(value: Date): boolean;
    /**
     * Called internally if any of the property value changed.
     *
     * @param {DatePickerModel} newProp - Returns the dynamic property value of the component.
     * @param {DatePickerModel} oldProp - Returns the previous property value of the component.
     * @returns {void}
     * @private
     */
    onPropertyChanged(newProp: DatePickerModel, oldProp: DatePickerModel): void;
    /**
     * @private
     * @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;
}
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/datepicker-model.d.ts
/**
 * Interface for a class DatePicker
 */
export interface DatePickerModel extends CalendarModel{
    /**
     * Specifies the width of the DatePicker component.
     *
     * @default null
     */
    width?: number | string;
    /**
     * Gets or sets the selected date of the Calendar.
     *
     * @default null
     * @isGenericType true
     * @deprecated
     */
    value?: Date;
    /**
     * Specifies the root CSS class of the DatePicker that allows to
     * customize the appearance by overriding the styles.
     *
     * @default null
     */
    cssClass?: string;
    /**
     * Specifies the component to act as strict. So that, it allows to enter only a valid date  value within a specified range or else it
     * will resets to previous value. By default, strictMode is in false.
     * it allows invalid or out-of-range date value with highlighted error class.
     *
     * @default false
     * > For more details refer to
     * [`Strict Mode`](../../datepicker/strict-mode/) documentation.
     */
    strictMode?: boolean;
    /**
     * Specifies the format of the value that to be displayed in component. By default, the format is based on the culture. You can set
     * the format to "format:'dd/MM/yyyy hh:mm'" or "format:{skeleton:'medium'}" either in string or object.
     * > To know more about the date format standards, refer to the base.Internationalization Date Format
     * [`base.Internationalization`](../../common/internationalization/#custom-formats) section.
     *
     * @default null
     * @aspType string
     */
    format?: string | FormatObject;
    /**
     * Specifies an array of acceptable date input formats for parsing user input.
     *
     * @default null
     * @aspType string[]
     */
    inputFormats?: string[] | FormatObject[];
    /**
     * Specifies the component to be disabled or not.
     *
     * @default true
     */
    enabled?: boolean;
    /**
     * Specifies the component popup display full screen in mobile devices.
     *
     * @default false
     */
    fullScreenMode?: boolean;
    /**
     * You can add the additional html base.attributes such as disabled, value etc., to the element.
     * If you configured both property and equivalent html attribute then the component considers the property value.
     * {% codeBlock src='datepicker/htmlAttributes/index.md' %}{% endcodeBlock %}
     *
     * @default {}
     */
    htmlAttributes?: { [key: string]: string };
    /**
     * Gets or sets multiple selected dates of the calendar.
     *
     * @default null
     * @private
     */
    values?: Date[];
    /**
     * Specifies the option to enable the multiple dates selection of the calendar.
     *
     * @default false
     * @private
     */
    isMultiSelection?: boolean;
    /**
     * Specifies whether to show or hide the clear icon in textbox.
     *
     * @default true
     */
    showClearButton?: boolean;
    /**
     * > Support for `allowEdit` has been provided from
     * [`v16.2.46`](https://ej2.syncfusion.com/angular/documentation/release-notes/16.2.46/#datepicker).
     *
     * Specifies whether the input textbox is editable or not. Here the user can 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>
     *
     * {% codeBlock src='datepicker/keyConfigs/index.md' %}{% endcodeBlock %}
     *
     * @default null
     * @deprecated
     */
    keyConfigs?: { [key: string]: string };
    /**
     * Enable or disable persisting component's state between page reloads. If enabled, following list of states will be persisted.
     * 1. value
     *
     * @default false
     * @deprecated
     */
    enablePersistence?: boolean;
    /**
     * specifies the z-index value of the datePicker popup element.
     *
     * @default 1000
     * @aspType int
     */
    zIndex?: number;
    /**
     * Specifies the component in readonly state. When the Component is readonly it does not allow user input.
     *
     * @default false
     */
    readonly?: boolean;
    /**
     * Specifies the placeholder text that displayed in textbox.
     *
     * @default null
     */
    placeholder?: string;
    /**
     * Specifies the placeholder text to be floated.
     * Possible values are:
     * Never: The label will never float in the input when the placeholder is available.
     * Always: The floating label will always float above the input.
     * Auto: The floating label will float above the input after focusing or entering a value in the input.
     *
     * @default Syncfusion.EJ2.Inputs.inputs.FloatLabelType.Never
     * @aspType Syncfusion.EJ2.Inputs.inputs.FloatLabelType
     * @isEnumeration true
     */
    floatLabelType?: inputs.FloatLabelType | string;
    /**
     * By default, the date value will be processed based on system time zone.
     * If you want to process the initial date value using server time zone
     * then specify the time zone value to `serverTimezoneOffset` property.
     *
     * @default null
     * @deprecated
     */
    serverTimezoneOffset?: number;
    /**
     * By default, the popup opens while clicking on the datepicker icon.
     * If you want to open the popup while focusing the date input then specify its value as true.
     *
     * @default false
     */
    openOnFocus?: boolean;
    /**
     * Specifies whether it is a masked datepicker or not.
     * By default the datepicker component render without masked input.
     * If you need masked datepicker input then specify it as true.
     *
     * @default false
     */
    enableMask?: boolean;
    /**
     * Specifies the mask placeholder to be displayed on masked datepicker.
     *
     * @default {day:'day' , month:'month', year: 'year', hour:'hour',minute:'minute',second:'second',dayOfTheWeek: 'day of the week'}
     */
    maskPlaceholder?: MaskPlaceholderModel;
    /**
     * Triggers when the popup is opened.
     *
     * @event open
     */
    open?: base.EmitType<PreventableEventArgs | PopupObjectArgs>;
    /**
     * Triggers when datepicker value is cleared using clear button.
     *
     * @event cleared
     */
    cleared?: base.EmitType<ClearedEventArgs>;
    /**
     * Triggers when the popup is closed.
     *
     * @event close
     */
    close?: base.EmitType<PreventableEventArgs | PopupObjectArgs>;
    /**
     * Triggers when the input loses the focus.
     *
     * @event blur
     */
    blur?: base.EmitType<BlurEventArgs>;
    /**
     *  Triggers when the input gets focus.
     *
     * @event focus
     */
    focus?: base.EmitType<FocusEventArgs>;
    /**
     * Triggers when the component is created.
     *
     * @event created
     */
    created?: base.EmitType<Object>;
    /**
     * Triggers when the component is destroyed.
     *
     * @event destroyed
     */
    destroyed?: base.EmitType<Object>;
}
//node_modules/@syncfusion/ej2-calendars/src/common/maskplaceholder.d.ts
export  class MaskPlaceholder extends base.ChildProperty<MaskPlaceholder> {
    /**
     * Specifies the mask placeholder value for day section.
     *
     * @default 'day'
     */
    day: string;
    /**
     * Specifies the mask placeholder value for month section.
     *
     * @default 'month'
     */
    month: string;
    /**
     * Specifies the mask placeholder value for year section.
     *
     * @default 'year'
     */
    year: string;
    /**
     * Specifies the mask placeholder value for day of the week section.
     *
     * @default 'day of the week'
     */
    dayOfTheWeek: string;
    /**
     * Specifies the mask placeholder value for hour section.
     *
     * @default 'hour'
     */
    hour: string;
    /**
     * Specifies the mask placeholder value for minute section.
     *
     * @default 'minute'
     */
    minute: string;
    /**
     * Specifies the mask placeholder value for second section.
     *
     * @default 'second'
     */
    second: string;
}
//node_modules/@syncfusion/ej2-calendars/src/common/maskplaceholder-model.d.ts
/**
 * Interface for a class MaskPlaceholder
 */
export interface MaskPlaceholderModel {
    /**
     * Specifies the mask placeholder value for day section.
     *
     * @default 'day'
     */
    day?: string;
    /**
     * Specifies the mask placeholder value for month section.
     *
     * @default 'month'
     */
    month?: string;
    /**
     * Specifies the mask placeholder value for year section.
     *
     * @default 'year'
     */
    year?: string;
    /**
     * Specifies the mask placeholder value for day of the week section.
     *
     * @default 'day of the week'
     */
    dayOfTheWeek?: string;
    /**
     * Specifies the mask placeholder value for hour section.
     *
     * @default 'hour'
     */
    hour?: string;
    /**
     * Specifies the mask placeholder value for minute section.
     *
     * @default 'minute'
     */
    minute?: string;
    /**
     * Specifies the mask placeholder value for second section.
     *
     * @default 'second'
     */
    second?: string;
}
//node_modules/@syncfusion/ej2-calendars/src/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/calendar/calendar.d.ts
/**
 * Specifies the view of the calendar.
 */
export  type CalendarView = 'Month' | 'Year' | 'Decade';
export  type CalendarType = 'Islamic' | 'Gregorian';
export  type DayHeaderFormats = 'Short' | 'Narrow' | 'Abbreviated' | 'Wide';
/**
 * Specifies the rule for defining the first week of the year.
 */
export  type WeekRule = 'FirstDay' | 'FirstFullWeek' | 'FirstFourDayWeek';
/**
 *
 * @private
 */
export  class CalendarBase extends base.Component<HTMLElement> implements base.INotifyPropertyChanged {
    protected headerElement: HTMLElement;
    protected contentElement: HTMLElement;
    private calendarEleCopy;
    protected table: HTMLElement;
    protected tableHeadElement: HTMLElement;
    protected tableBodyElement: Element;
    protected nextIcon: HTMLElement;
    protected previousIcon: HTMLElement;
    protected headerTitleElement: HTMLElement;
    protected todayElement: HTMLElement;
    protected footer: HTMLElement;
    protected keyboardModule: base.KeyboardEvents;
    protected globalize: base.Internationalization;
    islamicModule: Islamic;
    protected currentDate: Date;
    protected navigatedArgs: NavigatedEventArgs;
    protected renderDayCellArgs: RenderDayCellEventArgs;
    protected effect: string;
    protected previousDate: Date;
    protected previousValues: number;
    protected navigateHandler: Function;
    protected navigatePreviousHandler: Function;
    protected navigateNextHandler: Function;
    protected l10: base.L10n;
    protected todayDisabled: boolean;
    protected nextIconClicked: boolean;
    protected previousIconClicked: boolean;
    protected tabIndex: string;
    protected todayDate: Date;
    protected islamicPreviousHeader: string;
    protected calendarElement: HTMLElement;
    protected isPopupClicked: boolean;
    protected isDateSelected: boolean;
    private serverModuleName;
    protected timezone: string;
    protected defaultKeyConfigs: {
        [key: string]: string;
    };
    protected previousDateTime: Date;
    protected isTodayClicked: boolean;
    protected todayButtonEvent: MouseEvent | KeyboardEvent;
    protected preventChange: boolean;
    protected previousDates: boolean;
    /**
     * Gets or sets the minimum date that can be selected in the Calendar.
     *
     * @default new Date(1900, 00, 01)
     * @deprecated
     */
    min: Date;
    /**
     * Specifies the component to be disabled or not.
     *
     * @default true
     */
    enabled: boolean;
    /**
     * Specifies the root CSS class of the Calendar that allows to
     * customize the appearance by overriding the styles.
     *
     * @default null
     */
    cssClass: string;
    /**
     * Gets or sets the maximum date that can be selected in the Calendar.
     *
     * @default new Date(2099, 11, 31)
     * @deprecated
     */
    max: Date;
    /**
     * Gets or sets the Calendar's first day of the week. By default, the first day of the week will be based on the current culture.
     *
     * @default 0
     * @aspType int
     * @deprecated
     * > For more details about firstDayOfWeek refer to
     * [`First day of week`](../../calendar/how-to/first-day-of-week#change-the-first-day-of-the-week) documentation.
     */
    firstDayOfWeek: number;
    /**
     * Gets or sets the Calendar's Type like gregorian or islamic.
     *
     * @default Gregorian
     * @deprecated
     */
    calendarMode: CalendarType;
    /**
     * Specifies the initial view of the Calendar when it is opened.
     * With the help of this property, initial view can be changed to year or decade view.
     *
     * @default Month
     * @deprecated
     *
     * <table>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * View<br/></td><td colSpan=1 rowSpan=1>
     * Description<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * Month<br/></td><td colSpan=1 rowSpan=1>
     * Calendar view shows the days of the month.<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * Year<br/></td><td colSpan=1 rowSpan=1>
     * Calendar view shows the months of the year.<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * Decade<br/></td><td colSpan=1 rowSpan=1>
     * Calendar view shows the years of the decade.<br/></td></tr>
     * </table>
     *
     * > For more details about start refer to
     * [`calendarView`](../../calendar/calendar-views#view-restriction)documentation.
     */
    start: CalendarView;
    /**
     * Sets the maximum level of view such as month, year, and decade in the Calendar.
     * Depth view should be smaller than the start view to restrict its view navigation.
     *
     * @default Month
     * @deprecated
     *
     * <table>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * view<br/></td><td colSpan=1 rowSpan=1>
     * Description<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * Month<br/></td><td colSpan=1 rowSpan=1>
     * Calendar view shows up to the days of the month.<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * Year<br/></td><td colSpan=1 rowSpan=1>
     * Calendar view shows up to the months of the year.<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * Decade<br/></td><td colSpan=1 rowSpan=1>
     * Calendar view shows up to the years of the decade.<br/></td></tr>
     * </table>
     *
     * > For more details about depth refer to
     *  [`calendarView`](../../calendar/calendar-views#view-restriction)documentation.
     */
    depth: CalendarView;
    /**
     * Determines whether the week number of the year is to be displayed in the calendar or not.
     *
     * @default false
     * @deprecated
     * > For more details about weekNumber refer to
     * [`Calendar with week number`](../../calendar/how-to/render-the-calendar-with-week-numbers)documentation.
     */
    weekNumber: boolean;
    /**
     * Specifies the rule for defining the first week of the year.
     *
     * @default FirstDay
     */
    weekRule: WeekRule;
    /**
     * Specifies whether the today button is to be displayed or not.
     *
     * @default true
     * @deprecated
     */
    showTodayButton: boolean;
    /**
     * Specifies the format of the day that to be displayed in header. By default, the format is ‘short’.
     * Possible formats are:
     * * `Short` - Sets the short format of day name (like Su ) in day header.
     * * `Narrow` - Sets the single character of day name (like S ) in day header.
     * * `Abbreviated` - Sets the min format of day name (like Sun ) in day header.
     * * `Wide` - Sets the long format of day name (like Sunday ) in day header.
     *
     * @default Short
     * @deprecated
     */
    dayHeaderFormat: DayHeaderFormats;
    /**
     * Enable or disable persisting component's state between page reloads. If enabled, following list of states will be persisted.
     * 1. value
     *
     * @default false
     * @deprecated
     */
    enablePersistence: boolean;
    /**
     * Customizes the key actions in Calendar.
     * For example, when using German keyboard, the key actions can be customized using these shortcuts.
     *
     * <table>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * Key action<br/></td><td colSpan=1 rowSpan=1>
     * Key<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * controlUp<br/></td><td colSpan=1 rowSpan=1>
     * ctrl+38<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * controlDown<br/></td><td colSpan=1 rowSpan=1>
     * ctrl+40<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * select<br/></td><td colSpan=1 rowSpan=1>
     * enter<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * home<br/></td><td colSpan=1 rowSpan=1>
     * home<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * end<br/></td><td colSpan=1 rowSpan=1>
     * end<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * pageUp<br/></td><td colSpan=1 rowSpan=1>
     * pageup<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * pageDown<br/></td><td colSpan=1 rowSpan=1>
     * pagedown<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * shiftPageUp<br/></td><td colSpan=1 rowSpan=1>
     * shift+pageup<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * shiftPageDown<br/></td><td colSpan=1 rowSpan=1>
     * shift+pagedown<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * controlHome<br/></td><td colSpan=1 rowSpan=1>
     * ctrl+home<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * controlEnd<br/></td><td colSpan=1 rowSpan=1>
     * ctrl+end<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * altUpArrow<br/></td><td colSpan=1 rowSpan=1>
     * alt+uparrow<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * spacebar<br/></td><td colSpan=1 rowSpan=1>
     * space<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * altRightArrow<br/></td><td colSpan=1 rowSpan=1>
     * alt+rightarrow<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * altLeftArrow<br/></td><td colSpan=1 rowSpan=1>
     * alt+leftarrow<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * moveDown<br/></td><td colSpan=1 rowSpan=1>
     * downarrow<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * moveUp<br/></td><td colSpan=1 rowSpan=1>
     * uparrow<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * moveLeft<br/></td><td colSpan=1 rowSpan=1>
     * leftarrow<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * moveRight<br/></td><td colSpan=1 rowSpan=1>
     * rightarrow<br/></td></tr>
     * </table>
     *
     * {% codeBlock src='calendar/keyConfigs/index.md' %}{% endcodeBlock %}
     *
     * @default null
     * @deprecated
     */
    keyConfigs: {
        [key: string]: string;
    };
    /**
     * By default, the date value will be processed based on system time zone.
     * If you want to process the initial date value using server time zone
     * then specify the time zone value to `serverTimezoneOffset` property.
     *
     * @default null
     * @deprecated
     */
    serverTimezoneOffset: number;
    /**
     * Triggers when Calendar is created.
     *
     * @event created
     */
    created: base.EmitType<Object>;
    /**
     * Triggers when Calendar is destroyed.
     *
     * @event destroyed
     */
    destroyed: base.EmitType<Object>;
    /**
     * Triggers when the Calendar is navigated to another level or within the same level of view.
     *
     * @event navigated
     */
    navigated: base.EmitType<NavigatedEventArgs>;
    /**
     * Triggers when each day cell of the Calendar is rendered.
     *
     * @event renderDayCell
     */
    renderDayCell: base.EmitType<RenderDayCellEventArgs>;
    /**
     * Initialized new instance of Calendar Class.
     * Constructor for creating the widget
     *
     * @param {CalendarBaseModel} options - Specifies the CalendarBase model.
     * @param {string | HTMLElement} element - Specifies the element to render as component.
     * @private
     */
    constructor(options?: CalendarBaseModel, element?: string | HTMLElement);
    /**
     * To Initialize the control rendering.
     *
     * @returns {void}
     * @private
     */
    protected render(): void;
    protected rangeValidation(min: Date, max: Date): void;
    protected getDefaultKeyConfig(): {
        [key: string]: string;
    };
    protected validateDate(value?: Date): void;
    protected setOverlayIndex(popupWrapper: HTMLElement, popupElement: HTMLElement, modal: HTMLElement, isDevice: boolean): void;
    protected minMaxUpdate(value?: Date): void;
    protected createHeader(): void;
    protected createContent(): void;
    private addContentFocus;
    private removeContentFocus;
    protected getCultureValues(): string[];
    protected toCapitalize(text: string): string;
    protected createContentHeader(): void;
    protected createContentBody(): void;
    protected updateFooter(): void;
    protected createContentFooter(): void;
    protected wireEvents(id?: string, ref?: object, keyConfig?: {
        [key: string]: string;
    }, moduleName?: string): void;
    protected dateWireEvents(id?: string, ref?: object, keyConfig?: {
        [key: string]: string;
    }, moduleName?: string): void;
    protected todayButtonClick(e?: MouseEvent | KeyboardEvent, value?: Date, isCustomDate?: boolean): void;
    protected resetCalendar(): void;
    protected keyActionHandle(e: base.KeyboardEventArgs, value?: Date, multiSelection?: boolean): void;
    protected keyboardNavigate(number: number, currentView: number, e: KeyboardEvent, max: Date, min: Date): void;
    /**
     * Initialize the event handler
     *
     * @param {Date} value - Specifies value of date.
     * @returns {void}
     * @private
     */
    protected preRender(value?: Date): void;
    protected minMaxDate(localDate: Date): Date;
    protected renderMonths(e?: Event, value?: Date, isCustomDate?: boolean): void;
    protected renderDays(currentDate: Date, value?: Date, multiSelection?: boolean, values?: Date[], isTodayDate?: boolean, e?: Event): HTMLElement[];
    protected updateFocus(otherMonth: boolean, disabled: boolean, localDate: Date, tableElement: HTMLElement, currentDate: Date): void;
    protected renderYears(e?: Event, value?: Date): void;
    protected renderDecades(e?: Event, value?: Date): void;
    protected dayCell(localDate: Date): HTMLElement;
    protected firstDay(date: Date): Date;
    protected lastDay(date: Date, view: number): Date;
    protected checkDateValue(value: Date): Date;
    protected findLastDay(date: Date): Date;
    protected removeTableHeadElement(): void;
    protected renderTemplate(elements: HTMLElement[], count: number, classNm: string, e?: Event, value?: Date): void;
    protected clickHandler(e: MouseEvent, value: Date): void;
    protected clickEventEmitter(e: MouseEvent): void;
    protected contentClick(e?: MouseEvent, view?: number, element?: Element, value?: Date): void;
    protected switchView(view: number, e?: Event, multiSelection?: boolean, isCustomDate?: boolean): void;
    /**
     * To get component name
     *
     * @returns {string} Returns the component name.
     * @private
     */
    protected getModuleName(): string;
    /**
     *
     * @returns {void}
     * @deprecated
     */
    requiredModules(): base.ModuleDeclaration[];
    /**
     * Gets the properties to be maintained upon browser refresh.
     *
     * @returns {string}
     */
    getPersistData(): string;
    /**
     * Called internally if any of the property value changed.
     *
     * @param {CalendarBaseModel} newProp - Returns the dynamic property value of the component.
     * @param {CalendarBaseModel} oldProp - Returns the previous property value of the component.
     * @param {boolean} multiSelection - - Specifies whether multiple date selection is enabled or not.
     * @param {Date[]} values - Specifies the dates.
     * @returns {void}
     * @private
     */
    onPropertyChanged(newProp: CalendarBaseModel, oldProp: CalendarBaseModel, multiSelection?: boolean, values?: Date[]): void;
    /**
     * values property updated with considered disabled dates of the calendar.
     *
     * @param {boolean} multiSelection - Specifies whether multiple date selection is enabled.
     * @param {Date[]} values - Specifies the dates to validate.
     * @returns {void}
     */
    protected validateValues(multiSelection?: boolean, values?: Date[]): void;
    protected setValueUpdate(): void;
    protected copyValues(values: Date[]): Date[];
    protected titleUpdate(date: Date, view: string): void;
    protected setActiveDescendant(): string;
    protected iconHandler(): void;
    /**
     * Destroys the widget.
     *
     * @returns {void}
     */
    destroy(): void;
    protected title(e?: Event): void;
    protected getViewNumber(stringVal: string): number;
    protected navigateTitle(e?: Event): void;
    protected previous(): void;
    protected navigatePrevious(e: MouseEvent | KeyboardEvent | base.SwipeEventArgs): void;
    protected next(): void;
    protected navigateNext(eve: MouseEvent | KeyboardEvent | base.SwipeEventArgs): void;
    /**
     * This method is used to navigate to the month/year/decade view of the Calendar.
     *
     * @param {string} view - Specifies the view of the Calendar.
     * @param {Date} date - Specifies the focused date in a view.
     * @param {boolean} isCustomDate - Specifies whether the calendar is rendered with custom today date or not.
     * @returns {void}
     */
    navigateTo(view: CalendarView, date: Date, isCustomDate?: boolean): void;
    /**
     * Gets the current view of the Calendar.
     *
     * @returns {string}
     */
    currentView(): string;
    protected getDateVal(date: Date, value: Date): boolean;
    protected getCultureObjects(ld: Object, c: string): Object;
    protected getWeek(d: Date): number;
    protected setStartDate(date: Date, time: number): void;
    protected addMonths(date: Date, i: number): void;
    protected addYears(date: Date, i: number): void;
    protected getIdValue(e: MouseEvent | TouchEvent | KeyboardEvent, element: Element): Date;
    protected adjustLongHeaderSize(): void;
    protected selectDate(e: MouseEvent | base.KeyboardEventArgs, date: Date, node: Element, multiSelection?: boolean, values?: Date[]): void;
    protected checkPresentDate(dates: Date, values: Date[]): boolean;
    protected setAriaActiveDescendant(): void;
    protected previousIconHandler(disabled: boolean): void;
    protected renderDayCellEvent(args: RenderDayCellEventArgs): void;
    protected navigatedEvent(eve: MouseEvent | KeyboardEvent | base.SwipeEventArgs): void;
    protected triggerNavigate(event: MouseEvent | KeyboardEvent | base.SwipeEventArgs): void;
    protected nextIconHandler(disabled: boolean): void;
    protected compare(startDate: Date, endDate: Date, modifier: number): number;
    protected isMinMaxRange(date: Date): boolean;
    protected isMonthYearRange(date: Date): boolean;
    protected compareYear(start: Date, end: Date): number;
    protected compareDecade(start: Date, end: Date): number;
    protected shiftArray(array: string[], i: number): string[];
    protected addDay(date: Date, i: number, e: KeyboardEvent, max: Date, min: Date): void;
    protected findNextTD(date: Date, column: number, max: Date, min: Date): boolean;
    protected getMaxDays(d: Date): number;
    protected setDateDecade(date: Date, year: number): void;
    protected setDateYear(date: Date, value: Date): void;
    protected compareMonth(start: Date, end: Date): number;
    protected checkValue(inValue: string | Date | number): string;
    protected checkView(): void;
    protected getDate(date: Date, timezone: string): Date;
}
/**
 * Represents the Calendar component that allows the user to select a date.
 * ```html
 * <div id="calendar"/>
 * ```
 * ```typescript
 * <script>
 *   var calendarObj = new Calendar({ value: new Date() });
 *   calendarObj.appendTo("#calendar");
 * </script>
 * ```
 */
export  class Calendar extends CalendarBase {
    protected changedArgs: ChangedEventArgs;
    protected changeHandler: Function;
    /**
     * Gets or sets the selected date of the Calendar.
     *
     * @default null
     * @isGenericType true
     * @deprecated
     */
    value: Date;
    /**
     * Gets or sets multiple selected dates of the calendar.
     * {% codeBlock src='calendar/values/index.md' %}{% endcodeBlock %}
     *
     * @default null
     */
    values: Date[];
    /**
     * Specifies the option to enable the multiple dates selection of the calendar.
     *
     * @default false
     */
    isMultiSelection: boolean;
    /**
     * Triggers when the Calendar value is changed.
     *
     * @event change
     */
    change: base.EmitType<ChangedEventArgs>;
    /**
     * Initialized new instance of Calendar Class.
     * Constructor for creating the widget
     *
     * @param {CalendarModel} options - Specifies the Calendar model.
     * @param {string | HTMLElement} element - Specifies the element to render as component.
     * @private
     */
    constructor(options?: CalendarModel, element?: string | HTMLElement);
    /**
     * To Initialize the control rendering.
     *
     * @returns {void}
     * @private
     */
    protected render(): void;
    protected setEnable(enable: boolean): void;
    protected setClass(newCssClass: string, oldCssClass?: string): void;
    protected isDayLightSaving(): boolean;
    protected setTimeZone(offsetValue: number): void;
    protected formResetHandler(): void;
    protected validateDate(): void;
    protected minMaxUpdate(): void;
    protected generateTodayVal(value: Date): Date;
    protected todayButtonClick(e?: MouseEvent | KeyboardEvent): void;
    protected keyActionHandle(e: base.KeyboardEventArgs): void;
    /**
     * Initialize the event handler
     *
     * @returns {void}
     * @private
     */
    protected preRender(): void;
    /**
     * @returns {void}
     * @deprecated
     */
    createContent(): void;
    protected minMaxDate(localDate: Date): Date;
    protected renderMonths(e?: Event, value?: Date, isCustomDate?: boolean): void;
    protected renderDays(currentDate: Date, value?: Date, isMultiSelect?: boolean, values?: Date[], isCustomDate?: boolean, e?: Event): HTMLElement[];
    protected renderYears(e?: Event): void;
    protected renderDecades(e?: Event): void;
    protected renderTemplate(elements: HTMLElement[], count: number, classNm: string, e?: Event): void;
    protected clickHandler(e: MouseEvent): void;
    protected switchView(view: number, e?: Event, isMultiSelection?: boolean, isCustomDate?: boolean): void;
    /**
     * To get component name
     *
     * @returns {string} Return the component name.
     * @private
     */
    protected getModuleName(): string;
    /**
     * Gets the properties to be maintained upon browser refresh.
     *
     * @returns {string}
     */
    getPersistData(): string;
    /**
     * Called internally if any of the property value changed.
     *
     * @param {CalendarModel} newProp - Returns the dynamic property value of the component.
     * @param {CalendarModel} oldProp - Returns the previous property value of the component.
     * @returns {void}
     * @private
     */
    onPropertyChanged(newProp: CalendarModel, oldProp: CalendarModel): void;
    /**
     * Destroys the widget.
     *
     * @returns {void}
     */
    destroy(): void;
    /**
     * This method is used to navigate to the month/year/decade view of the Calendar.
     *
     * @param {string} view - Specifies the view of the Calendar.
     * @param {Date} date - Specifies the focused date in a view.
     * @param {boolean} isCustomDate - Specifies whether the calendar is rendered with custom today date or not.
     * @returns {void}
     * @deprecated
     */
    navigateTo(view: CalendarView, date: Date, isCustomDate?: boolean): void;
    /**
     * Gets the current view of the Calendar.
     *
     * @returns {string}
     * @deprecated
     */
    currentView(): string;
    /**
     * This method is used to add the single or multiple dates to the values property of the Calendar.
     *
     * @param {Date | Date[]} dates - Specifies the date or dates to be added to the values property of the Calendar.
     * @returns {void}
     * @deprecated
     */
    addDate(dates: Date | Date[]): void;
    /**
     * This method is used to remove the single or multiple dates from the values property of the Calendar.
     *
     * @param {Date | Date[]} dates - Specifies the date or dates which need to be removed from the values property of the Calendar.
     * @returns {void}
     * @deprecated
     */
    removeDate(dates: Date | Date[]): void;
    /**
     * To set custom today date in calendar
     *
     * @param {Date} date - Specifies date value to be set.
     * @private
     * @returns {void}
     */
    setTodayDate(date: Date): void;
    protected update(): void;
    protected selectDate(e: MouseEvent | base.KeyboardEventArgs, date: Date, element: Element): void;
    protected changeEvent(e: Event): void;
    protected triggerChange(e: MouseEvent | KeyboardEvent): void;
}
export interface NavigatedEventArgs extends base.BaseEventArgs {
    /** Defines the current view of the Calendar. */
    view?: string;
    /** Defines the focused date in a view. */
    date?: Date;
    /**
     * Specifies the original event arguments.
     */
    event?: KeyboardEvent | MouseEvent | Event;
}
export interface RenderDayCellEventArgs extends base.BaseEventArgs {
    /** Specifies whether to disable the current date or not. */
    isDisabled?: boolean;
    /** Specifies the day cell element. */
    element?: HTMLElement;
    /** Defines the current date of the Calendar. */
    date?: Date;
    /** Defines whether the current date is out of range (less than min or greater than max) or not. */
    isOutOfRange?: boolean;
}
export interface ChangedEventArgs extends base.BaseEventArgs {
    /** Defines the selected date of the Calendar.
     *
     * @isGenericType true
     */
    value?: Date;
    /** Defines the multiple selected date of the Calendar. */
    values?: Date[];
    /**
     * Specifies the original event arguments.
     */
    event?: KeyboardEvent | MouseEvent | Event;
    /** Defines the element. */
    element?: HTMLElement | HTMLInputElement;
    /**
     * If the event is triggered by interaction, it returns true. Otherwise, it returns false.
     */
    isInteracted?: boolean;
}
export interface IslamicObject {
    year: number;
    date: number;
    month: number;
}
/**
 * Defines the argument for the focus event.
 */
export interface FocusEventArgs {
    model?: Object;
}
/**
 * Defines the argument for the blur event.
 */
export interface BlurEventArgs {
    model?: Object;
}
export interface ClearedEventArgs {
    /**
     * Specifies the original event arguments.
     */
    event?: MouseEvent | Event;
}
//node_modules/@syncfusion/ej2-calendars/src/calendar/calendar-model.d.ts
/**
 * Interface for a class CalendarBase
 * @private
 */
export interface CalendarBaseModel extends base.ComponentModel{
    /**
     * Gets or sets the minimum date that can be selected in the Calendar.
     *
     * @default new Date(1900, 00, 01)
     * @deprecated
     */
    min?: Date;
    /**
     * Specifies the component to be disabled or not.
     *
     * @default true
     */
    enabled?: boolean;
    /**
     * Specifies the root CSS class of the Calendar that allows to
     * customize the appearance by overriding the styles.
     *
     * @default null
     */
    cssClass?: string;
    /**
     * Gets or sets the maximum date that can be selected in the Calendar.
     *
     * @default new Date(2099, 11, 31)
     * @deprecated
     */
    max?: Date;
    /**
     * Gets or sets the Calendar's first day of the week. By default, the first day of the week will be based on the current culture.
     *
     * @default 0
     * @aspType int
     * @deprecated
     * > For more details about firstDayOfWeek refer to
     * [`First day of week`](../../calendar/how-to/first-day-of-week#change-the-first-day-of-the-week) documentation.
     */
    firstDayOfWeek?: number;
    /**
     * Gets or sets the Calendar's Type like gregorian or islamic.
     *
     * @default Gregorian
     * @deprecated
     */
    calendarMode?: CalendarType;
    /**
     * Specifies the initial view of the Calendar when it is opened.
     * With the help of this property, initial view can be changed to year or decade view.
     *
     * @default Month
     * @deprecated
     *
     * <table>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * View<br/></td><td colSpan=1 rowSpan=1>
     * Description<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * Month<br/></td><td colSpan=1 rowSpan=1>
     * Calendar view shows the days of the month.<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * Year<br/></td><td colSpan=1 rowSpan=1>
     * Calendar view shows the months of the year.<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * Decade<br/></td><td colSpan=1 rowSpan=1>
     * Calendar view shows the years of the decade.<br/></td></tr>
     * </table>
     *
     * > For more details about start refer to
     * [`calendarView`](../../calendar/calendar-views#view-restriction)documentation.
     */
    start?: CalendarView;
    /**
     * Sets the maximum level of view such as month, year, and decade in the Calendar.
     * Depth view should be smaller than the start view to restrict its view navigation.
     *
     * @default Month
     * @deprecated
     *
     * <table>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * view<br/></td><td colSpan=1 rowSpan=1>
     * Description<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * Month<br/></td><td colSpan=1 rowSpan=1>
     * Calendar view shows up to the days of the month.<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * Year<br/></td><td colSpan=1 rowSpan=1>
     * Calendar view shows up to the months of the year.<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * Decade<br/></td><td colSpan=1 rowSpan=1>
     * Calendar view shows up to the years of the decade.<br/></td></tr>
     * </table>
     *
     * > For more details about depth refer to
     *  [`calendarView`](../../calendar/calendar-views#view-restriction)documentation.
     */
    depth?: CalendarView;
    /**
     * Determines whether the week number of the year is to be displayed in the calendar or not.
     *
     * @default false
     * @deprecated
     * > For more details about weekNumber refer to
     * [`Calendar with week number`](../../calendar/how-to/render-the-calendar-with-week-numbers)documentation.
     */
    weekNumber?: boolean;
    /**
     * Specifies the rule for defining the first week of the year.
     *
     * @default FirstDay
     */
    weekRule?: WeekRule;
    /**
     * Specifies whether the today button is to be displayed or not.
     *
     * @default true
     * @deprecated
     */
    showTodayButton?: boolean;
    /**
     * Specifies the format of the day that to be displayed in header. By default, the format is ‘short’.
     * Possible formats are:
     * * `Short` - Sets the short format of day name (like Su ) in day header.
     * * `Narrow` - Sets the single character of day name (like S ) in day header.
     * * `Abbreviated` - Sets the min format of day name (like Sun ) in day header.
     * * `Wide` - Sets the long format of day name (like Sunday ) in day header.
     *
     * @default Short
     * @deprecated
     */
    dayHeaderFormat?: DayHeaderFormats;
    /**
     * Enable or disable persisting component's state between page reloads. If enabled, following list of states will be persisted.
     * 1. value
     *
     * @default false
     * @deprecated
     */
    enablePersistence?: boolean;
    /**
     * Customizes the key actions in Calendar.
     * For example, when using German keyboard, the key actions can be customized using these shortcuts.
     *
     * <table>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * Key action<br/></td><td colSpan=1 rowSpan=1>
     * Key<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * controlUp<br/></td><td colSpan=1 rowSpan=1>
     * ctrl+38<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * controlDown<br/></td><td colSpan=1 rowSpan=1>
     * ctrl+40<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * select<br/></td><td colSpan=1 rowSpan=1>
     * enter<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * home<br/></td><td colSpan=1 rowSpan=1>
     * home<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * end<br/></td><td colSpan=1 rowSpan=1>
     * end<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * pageUp<br/></td><td colSpan=1 rowSpan=1>
     * pageup<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * pageDown<br/></td><td colSpan=1 rowSpan=1>
     * pagedown<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * shiftPageUp<br/></td><td colSpan=1 rowSpan=1>
     * shift+pageup<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * shiftPageDown<br/></td><td colSpan=1 rowSpan=1>
     * shift+pagedown<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * controlHome<br/></td><td colSpan=1 rowSpan=1>
     * ctrl+home<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * controlEnd<br/></td><td colSpan=1 rowSpan=1>
     * ctrl+end<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * altUpArrow<br/></td><td colSpan=1 rowSpan=1>
     * alt+uparrow<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * spacebar<br/></td><td colSpan=1 rowSpan=1>
     * space<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * altRightArrow<br/></td><td colSpan=1 rowSpan=1>
     * alt+rightarrow<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * altLeftArrow<br/></td><td colSpan=1 rowSpan=1>
     * alt+leftarrow<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * moveDown<br/></td><td colSpan=1 rowSpan=1>
     * downarrow<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * moveUp<br/></td><td colSpan=1 rowSpan=1>
     * uparrow<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * moveLeft<br/></td><td colSpan=1 rowSpan=1>
     * leftarrow<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * moveRight<br/></td><td colSpan=1 rowSpan=1>
     * rightarrow<br/></td></tr>
     * </table>
     *
     * {% codeBlock src='calendar/keyConfigs/index.md' %}{% endcodeBlock %}
     *
     * @default null
     * @deprecated
     */
    keyConfigs?: { [key: string]: string };
    /**
     * By default, the date value will be processed based on system time zone.
     * If you want to process the initial date value using server time zone
     * then specify the time zone value to `serverTimezoneOffset` property.
     *
     * @default null
     * @deprecated
     */
    serverTimezoneOffset?: number;
    /**
     * Triggers when Calendar is created.
     *
     * @event created
     */
    created?: base.EmitType<Object>;
    /**
     * Triggers when Calendar is destroyed.
     *
     * @event destroyed
     */
    destroyed?: base.EmitType<Object>;
    /**
     * Triggers when the Calendar is navigated to another level or within the same level of view.
     *
     * @event navigated
     */
    navigated?: base.EmitType<NavigatedEventArgs>;
    /**
     * Triggers when each day cell of the Calendar is rendered.
     *
     * @event renderDayCell
     */
    renderDayCell?: base.EmitType<RenderDayCellEventArgs>;
}
/**
 * Interface for a class Calendar
 */
export interface CalendarModel extends CalendarBaseModel{
    /**
     * Gets or sets the selected date of the Calendar.
     *
     * @default null
     * @isGenericType true
     * @deprecated
     */
    value?: Date;
    /**
     * Gets or sets multiple selected dates of the calendar.
     * {% codeBlock src='calendar/values/index.md' %}{% endcodeBlock %}
     *
     * @default null
     */
    values?: Date[];
    /**
     * Specifies the option to enable the multiple dates selection of the calendar.
     *
     * @default false
     */
    isMultiSelection?: boolean;
    /**
     * Triggers when the Calendar value is changed.
     *
     * @event change
     */
    change?: base.EmitType<ChangedEventArgs>;
}
 }
export namespace charts { 

//node_modules/@syncfusion/ej2-charts/src/components.d.ts
/**
 * Export Chart, Accumulation, Smithchart, Sparkline, Range Navigator and Bulletchart
 */
//node_modules/@syncfusion/ej2-charts/src/stock-chart/stock-chart.d.ts
/**
 * Stock Chart
 *
 * @public
 */
export  class StockChart extends base.Component<HTMLElement> implements base.INotifyPropertyChanged {
    /**
     * `legendModule` is used to manipulate and add legend to the Stockchart.
     */
    stockLegendModule: StockLegend;
    /**
     * The width of the stockChart as a string accepts input as both like '100px' or '100%'.
     * If specified as '100%, stockChart renders to the full width of its parent element.
     *
     * @default null
     */
    width: string;
    /**
     * The height of the stockChart as a string accepts input both as '100px' or '100%'.
     * If specified as '100%, stockChart renders to the full height of its parent element.
     *
     * @default null
     */
    height: string;
    /**
     * Specifies the DataSource for the stockChart. It can be an array of JSON objects or an instance of data.DataManager.
     * ```html
     * <div id='financial'></div>
     * ```
     * ```typescript
     * let dataManager: data.DataManager = new data.DataManager({
     *         url: 'http://mvc.syncfusion.com/Services/Northwnd.svc/Tasks/'
     * });
     * let query: Query = new Query().take(50).where('Estimate', 'greaterThan', 0, false);
     * let financial: stockChart = new stockChart({
     * ...
     *  dataSource:dataManager,
     *   series: [{
     *        xName: 'Id',
     *        yName: 'Estimate',
     *        query: query
     *    }],
     * ...
     * });
     * financial.appendTo('#financial');
     * ```
     *
     * @default ''
     */
    dataSource: Object | data.DataManager;
    /**
     *  Options to customize left, right, top and bottom margins of the stockChart.
     */
    margin: StockMarginModel;
    /**
     * Options for customizing the color and width of the stockChart border.
     */
    border: StockChartBorderModel;
    /**
     * The background color of the stockChart that accepts value in hex and rgba as a valid CSS color string.
     *
     * @default null
     */
    background: string;
    /**
     * Specifies the theme for the stockChart.
     *
     * @default 'Material'
     */
    theme: ChartTheme;
    /**
     * Options to configure the horizontal axis.
     */
    primaryXAxis: StockChartAxisModel;
    /**
     * Options for configuring the border and background of the stockChart area.
     */
    chartArea: StockChartAreaModel;
    /**
     * Options to configure the vertical axis.
     */
    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: StockTooltipSettingsModel;
    /**
     * Options for customizing the crosshair of the chart.
     */
    crosshair: CrosshairSettingsModel;
    /**
     * Options for customizing the legend of the stockChart.
     */
    legendSettings: StockChartLegendSettingsModel;
    /**
     * Options to enable the zooming feature in the chart.
     */
    zoomSettings: ZoomSettingsModel;
    /**
     * It specifies whether the periodSelector to be rendered in financial chart
     *
     * @default true
     */
    enablePeriodSelector: boolean;
    /**
     * Custom Range
     *
     * @default true
     */
    enableCustomRange: boolean;
    /**
     * If set true, enables the animation in chart.
     *
     * @default false
     */
    isSelect: boolean;
    /**
     * It specifies whether the range navigator to be rendered in financial chart
     *
     * @default true
     */
    enableSelector: boolean;
    /**
     * To configure period selector options.
     */
    periods: PeriodsModel[];
    /**
     * The configuration for annotation in chart.
     */
    annotations: StockChartAnnotationSettingsModel[];
    /**
     * Triggers before render the selector
     *
     * @event selectorRender
     * @deprecated
     */
    selectorRender: base.EmitType<IRangeSelectorRenderEventArgs>;
    /**
     * Triggers on hovering the stock chart.
     *
     * @event stockChartMouseMove
     * @blazorProperty 'OnStockChartMouseMove'
     */
    stockChartMouseMove: base.EmitType<IMouseEventArgs>;
    /**
     * Triggers when cursor leaves the chart.
     *
     * @event stockChartMouseLeave
     * @blazorProperty 'OnStockChartMouseLeave'
     */
    stockChartMouseLeave: base.EmitType<IMouseEventArgs>;
    /**
     * Triggers on mouse down.
     *
     * @event stockChartMouseDown
     * @blazorProperty 'OnStockChartMouseDown'
     */
    stockChartMouseDown: base.EmitType<IMouseEventArgs>;
    /**
     * Triggers on mouse up.
     *
     * @event stockChartMouseUp
     * @blazorProperty 'OnStockChartMouseUp'
     */
    stockChartMouseUp: base.EmitType<IMouseEventArgs>;
    /**
     * Triggers on clicking the stock chart.
     *
     * @event stockChartMouseClick
     * @blazorProperty 'OnStockChartMouseClick'
     */
    stockChartMouseClick: base.EmitType<IMouseEventArgs>;
    /**
     * Triggers on point click.
     *
     * @event pointClick
     * @blazorProperty 'OnPointClick'
     */
    pointClick: base.EmitType<IPointEventArgs>;
    /**
     * Triggers on point move.
     *
     * @event pointMove
     * @blazorProperty 'PointMoved'
     */
    pointMove: base.EmitType<IPointEventArgs>;
    /**
     * Triggers after the zoom selection is completed.
     *
     * @event onZooming
     */
    onZooming: base.EmitType<IZoomingEventArgs>;
    /**
     * Triggers before the legend is rendered.
     *
     * @event legendRender
     * @deprecated
     */
    legendRender: base.EmitType<IStockLegendRenderEventArgs>;
    /**
     * Triggers after click on legend.
     *
     * @event legendClick
     */
    legendClick: base.EmitType<IStockLegendClickEventArgs>;
    /**
     * Specifies whether series or data point has to be selected. They are,
     * * none: Disables the selection.
     * * series: selects a series.
     * * point: selects a point.
     * * cluster: selects a cluster of point
     * * dragXY: selects points by dragging with respect to both horizontal and vertical axes
     * * dragX: selects points by dragging with respect to horizontal axis.
     * * dragY: selects points by dragging with respect to vertical axis.
     *
     * @default None
     */
    selectionMode: SelectionMode;
    /**
     * If set true, enables the multi selection in chart. It requires `selectionMode` to be `Point` | `Series` | or `Cluster`.
     *
     * @default false
     */
    isMultiSelect: boolean;
    /**
     * Triggers before the range navigator rendering.
     *
     * @event load
     */
    load: base.EmitType<IStockChartEventArgs>;
    /**
     * Triggers after the range navigator rendering.
     *
     * @event loaded
     * @blazorProperty 'Loaded'
     */
    loaded: base.EmitType<IStockChartEventArgs>;
    /**
     * Triggers if the range is changed
     *
     * @event rangeChange
     * @blazorProperty 'RangeChange'
     */
    rangeChange: base.EmitType<IRangeChangeEventArgs>;
    /**
     * Triggers before each axis label is rendered.
     *
     * @event axisLabelRender
     * @deprecated
     */
    axisLabelRender: base.EmitType<IAxisLabelRenderEventArgs>;
    /**
     * Triggers before the export process begins. This event allows for the customization of export settings before the chart is exported.
     *
     * @event beforeExport
     *
     */
    beforeExport: base.EmitType<IExportEventArgs>;
    /**
     * Triggers before the tooltip for series is rendered.
     *
     * @event tooltipRender
     * @deprecated
     */
    tooltipRender: base.EmitType<ITooltipRenderEventArgs>;
    /**
     * Triggers before the series is rendered.
     *
     * @event seriesRender
     * @deprecated
     */
    seriesRender: base.EmitType<ISeriesRenderEventArgs>;
    /**
     * Triggers before the series is rendered.
     *
     * @event stockEventRender
     * @deprecated
     */
    stockEventRender: base.EmitType<IStockEventRenderArgs>;
    /**
     * Specifies the point indexes to be selected while loading a chart.
     * It requires `selectionMode` to be `Point` | `Series` | or `Cluster`.
     * ```html
     * <div id='Chart'></div>
     * ```
     * ```typescript
     * let chart: Chart = new Chart({
     * ...
     *   selectionMode: 'Point',
     *   selectedDataIndexes: [ { series: 0, point: 1},
     *                          { series: 2, point: 3} ],
     * ...
     * });
     * chart.appendTo('#Chart');
     * ```
     *
     * @default []
     */
    selectedDataIndexes: StockChartIndexesModel[];
    /**
     * It specifies the types of series in financial chart.
     */
    seriesType: ChartSeriesType[];
    /**
     * It specifies the types of indicators in financial chart.
     */
    indicatorType: TechnicalIndicators[];
    /**
     * It specifies the types of Export types in financial chart.
     */
    exportType: ExportType[];
    /**
     * It specifies the types of trendline types in financial chart.
     */
    trendlineType: TrendlineTypes[];
    /**
     * Gets the current visible series of the Chart.
     *
     * @hidden
     */
    visibleSeries: Series[];
    /** @private */
    startValue: number;
    /** @private */
    isSingleAxis: boolean;
    /** @private */
    endValue: number;
    /** @private */
    seriesXMax: number;
    /** @private */
    seriesXMin: number;
    /** @private  */
    currentEnd: number;
    /** Overall SVG */
    mainObject: Element;
    /** @private */
    selectorObject: Element;
    /** @private */
    chartObject: Element;
    /** @private */
    svgObject: Element;
    /** @private */
    isTouch: boolean;
    /** @private */
    renderer: svgBase.SvgRenderer;
    /** @private */
    animateSeries: boolean;
    /** @private */
    availableSize: svgBase.Size;
    /** @private */
    titleSize: svgBase.Size;
    /** @private */
    chartSize: svgBase.Size;
    /** @private */
    intl: base.Internationalization;
    /** @private */
    isDoubleTap: boolean;
    /** @private */
    private threshold;
    /** @private */
    isChartDrag: boolean;
    resizeTo: number;
    /** @private */
    disableTrackTooltip: boolean;
    /** @private */
    startMove: boolean;
    /** @private */
    yAxisElements: Element;
    /** @private */
    themeStyle: IThemeStyle;
    /** @private */
    scrollElement: Element;
    private chartid;
    tempSeriesType: ChartSeriesType[];
    /** @private */
    chart: Chart;
    /** @private */
    rangeNavigator: RangeNavigator;
    /** @private */
    periodSelector: PeriodSelector;
    /** @private */
    cartesianChart: CartesianChart;
    /** @private */
    rangeSelector: RangeSelector;
    /** @private */
    toolbarSelector: ToolBarSelector;
    /** @private */
    stockEvent: StockEvents;
    /** private */
    zoomChange: boolean;
    /** @private */
    mouseDownX: number;
    /** @private */
    mouseDownY: number;
    /** @private */
    previousMouseMoveX: number;
    /** @private */
    previousMouseMoveY: number;
    /** @private */
    mouseDownXPoint: number;
    /** @private */
    mouseUpXPoint: number;
    /** @private */
    allowPan: boolean;
    /** @private  */
    onPanning: boolean;
    /** @private  */
    referenceXAxis: Axis;
    /** @private */
    mouseX: number;
    /** @private */
    mouseY: number;
    /** @private */
    indicatorElements: Element;
    /** @private */
    trendlinetriggered: boolean;
    /** @private */
    periodSelectorHeight: number;
    /** @private */
    toolbarHeight: number;
    /** @private */
    stockChartTheme: IThemeStyle;
    /** @private */
    initialRender: boolean;
    /** @private */
    rangeFound: boolean;
    /** @private */
    tempPeriods: PeriodsModel[];
    /** @private */
    legend: StockLegend;
    /** @private */
    visibleSeriesCount: number;
    /** @private */
    redraw: boolean;
    /** @private */
    initialClipRect: svgBase.Rect;
    /** @private */
    legendClicked: boolean;
    /** @private */
    tempAvailableSize: svgBase.Size;
    /** @private */
    mouseMoveEvent: PointerEvent;
    isDateTimeCategory: boolean;
    sortedData: number[];
    private visibleRange;
    isStockChartRendered: boolean;
    /**
     * Constructor for creating the widget.
     *
     * @param {StockChartModel} options - Specifies the stock chart model.
     * @param {string | HTMLElement} element - Specifies the element for the stock chart.
     * @hidden
     */
    constructor(options?: StockChartModel, element?: string | HTMLElement);
    /**
     * Called internally if any of the property value changed.
     *
     * @private
     * @param {StockChartModel} newProp - The new StockChartModel.
     * @returns {void}
     */
    onPropertyChanged(newProp: StockChartModel): void;
    /**
     * To change the range for chart.
     *
     * @param {number} updatedStart - The updated start value for the chart range.
     * @param {number} updatedEnd - The updated end value for the chart range.
     * @returns {void}
     */
    rangeChanged(updatedStart: number, updatedEnd: number): void;
    /**
     * Pre render for financial Chart.
     *
     * @returns {void}
     */
    protected preRender(): void;
    /**
     * Method to bind events for chart.
     *
     * @returns {void}
     */
    private unWireEvents;
    private wireEvents;
    private initPrivateVariable;
    /**
     * Method to set culture for chart.
     *
     * @returns {void}
     */
    private setCulture;
    private storeDataSource;
    /**
     * To Initialize the control rendering.
     *
     * @returns {void}
     */
    protected render(): void;
    /**
     * data.DataManager Success.
     *
     * @returns {void}
     */
    stockChartDataManagerSuccess(): void;
    /**
     * To set styles to resolve mvc width issue.
     *
     * @param {HTMLElement} element - The html element.
     * @returns {void}
     */
    private setStyle;
    private drawSVG;
    private calculateVisibleSeries;
    private createSecondaryElements;
    /**
     * To provide the array of modules needed for control rendering
     *
     * @returns {base.ModuleDeclaration[]} required modules
     * @private
     */
    requiredModules(): base.ModuleDeclaration[];
    findCurrentData(totalData: Object, xName: string): Object;
    /**
     * Render period selector.
     *
     * @returns {void}
     */
    renderPeriodSelector(): void;
    private chartRender;
    /**
     * To render range Selector.
     *
     * @returns {void}
     */
    private renderRangeSelector;
    /**
     * Get component name.
     *
     * @returns {string} - To get the module name.
     */
    getModuleName(): string;
    /**
     * Get the properties to be maintained in the persisted state.
     *
     * @private
     * @returns {string} - The persisted data containing the properties.
     */
    getPersistData(): string;
    /**
     * To Remove the SVG.
     *
     * @returns {void}
     * @private
     */
    removeSvg(): void;
    /**
     * Module Injection for components.
     *
     * @returns {void}
     */
    chartModuleInjection(): void;
    /**
     * Find range for financal chart.
     *
     * @returns {void}
     * @private
     */
    findRange(): void;
    /**
     * Handles the chart resize.
     *
     * @returns {boolean} false
     * @private
     */
    stockChartResize(): boolean;
    /**
     * Handles the mouse down on chart.
     *
     * @param {PointerEvent} e - The pointer event.
     * @returns {boolean} - false
     * @private
     */
    stockChartOnMouseDown(e: PointerEvent): boolean;
    /**
     * Handles the mouse up.
     *
     * @param {PointerEvent} e - The pointer event.
     * @returns {boolean} - false
     * @private
     */
    stockChartMouseEnd(e: PointerEvent): boolean;
    /**
     * Handles the mouse up.
     *
     * @param {PointerEvent | TouchEvent} e - The pointer event or touch event.
     * @returns {boolean} - false
     * @private
     */
    stockChartOnMouseUp(e: PointerEvent | TouchEvent): boolean;
    /**
     * To find mouse x, y for aligned chart element svg position.
     *
     * @param {number} pageX - The x-coordinate of the mouse pointer event.
     * @param {number} pageY - The y-coordinate of the mouse pointer event.
     * @returns {void}
     */
    private setMouseXY;
    /**
     * Handles the mouse move.
     *
     * @param {PointerEvent} e - The pointer event.
     * @returns {boolean} - false
     * @private
     */
    stockChartOnMouseMove(e: PointerEvent): boolean;
    /**
     * Handles the mouse move on chart.
     *
     * @param {PointerEvent | TouchEvent} e - The pointer event or touch event.
     * @returns {boolean} - false
     * @private
     */
    chartOnMouseMove(e: PointerEvent | TouchEvent): boolean;
    /**
     * Handles the mouse click on chart.
     *
     * @param {PointerEvent | TouchEvent} e - The pointer event or touch event.
     * @returns {boolean} - false
     * @private
     */
    stockChartOnMouseClick(e: PointerEvent | TouchEvent): boolean;
    private stockChartRightClick;
    /**
     * Handles the mouse leave.
     *
     * @param {PointerEvent} e - The pointer event.
     * @returns {boolean} false
     * @private
     */
    stockChartOnMouseLeave(e: PointerEvent): boolean;
    /**
     * Handles the mouse leave on chart.
     *
     * @param {PointerEvent | TouchEvent} e - The pointer event or touch event.
     * @returns {boolean} - false
     * @private
     */
    stockChartOnMouseLeaveEvent(e: PointerEvent | TouchEvent): boolean;
    /**
     * Destroy method.
     *
     * @returns {void}
     */
    destroy(): void;
    private renderBorder;
    /**
     * Render title for chart.
     *
     * @returns {void}
     */
    private renderTitle;
    /**
     * To calculate the legend bounds.
     *
     * @private
     * @returns {void}
     */
    calculateLegendBounds(): void;
    /**
     * To render the legend.
     *
     * @private
     * @returns {void}
     */
    renderLegend(): void;
    private findTitleColor;
    /**
     * To calculate the stock events.
     *
     * @private
     * @returns {void}
     */
    calculateStockEvents(): void;
}
//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.
     */
    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?: StockTooltipSettingsModel;
    /**
     * Options for customizing the crosshair of the chart.
     */
    crosshair?: CrosshairSettingsModel;
    /**
     * Options for customizing the legend of the stockChart.
     */
    legendSettings?: StockChartLegendSettingsModel;
    /**
     * Options to enable the zooming feature in the chart.
     */
    zoomSettings?: ZoomSettingsModel;
    /**
     * It specifies whether the periodSelector to be rendered in financial chart
     *
     * @default true
     */
    enablePeriodSelector?: boolean;
    /**
     * Custom Range
     *
     * @default true
     */
    enableCustomRange?: boolean;
    /**
     * If set true, enables the animation in chart.
     *
     * @default false
     */
    isSelect?: boolean;
    /**
     * It specifies whether the range navigator to be rendered in financial chart
     *
     * @default true
     */
    enableSelector?: boolean;
    /**
     * To configure period selector options.
     */
    periods?: PeriodsModel[];
    /**
     * The configuration for annotation in chart.
     */
    annotations?: StockChartAnnotationSettingsModel[];
    /**
     * Triggers before render the selector
     *
     * @event selectorRender
     * @deprecated
     */
    selectorRender?: base.EmitType<IRangeSelectorRenderEventArgs>;
    /**
     * Triggers on hovering the stock chart.
     *
     * @event stockChartMouseMove
     * @blazorProperty 'OnStockChartMouseMove'
     */
    stockChartMouseMove?: base.EmitType<IMouseEventArgs>;
    /**
     * Triggers when cursor leaves the chart.
     *
     * @event stockChartMouseLeave
     * @blazorProperty 'OnStockChartMouseLeave'
     */
    stockChartMouseLeave?: base.EmitType<IMouseEventArgs>;
    /**
     * Triggers on mouse down.
     *
     * @event stockChartMouseDown
     * @blazorProperty 'OnStockChartMouseDown'
     */
    stockChartMouseDown?: base.EmitType<IMouseEventArgs>;
    /**
     * Triggers on mouse up.
     *
     * @event stockChartMouseUp
     * @blazorProperty 'OnStockChartMouseUp'
     */
    stockChartMouseUp?: base.EmitType<IMouseEventArgs>;
    /**
     * Triggers on clicking the stock chart.
     *
     * @event stockChartMouseClick
     * @blazorProperty 'OnStockChartMouseClick'
     */
    stockChartMouseClick?: base.EmitType<IMouseEventArgs>;
    /**
     * Triggers on point click.
     *
     * @event pointClick
     * @blazorProperty 'OnPointClick'
     */
    pointClick?: base.EmitType<IPointEventArgs>;
    /**
     * Triggers on point move.
     *
     * @event pointMove
     * @blazorProperty 'PointMoved'
     */
    pointMove?: base.EmitType<IPointEventArgs>;
    /**
     * Triggers after the zoom selection is completed.
     *
     * @event onZooming
     */
    onZooming?: base.EmitType<IZoomingEventArgs>;
    /**
     * Triggers before the legend is rendered.
     *
     * @event legendRender
     * @deprecated
     */
    legendRender?: base.EmitType<IStockLegendRenderEventArgs>;
    /**
     * Triggers after click on legend.
     *
     * @event legendClick
     */
    legendClick?: base.EmitType<IStockLegendClickEventArgs>;
    /**
     * Specifies whether series or data point has to be selected. They are,
     * * none: Disables the selection.
     * * series: selects a series.
     * * point: selects a point.
     * * cluster: selects a cluster of point
     * * dragXY: selects points by dragging with respect to both horizontal and vertical axes
     * * dragX: selects points by dragging with respect to horizontal axis.
     * * dragY: selects points by dragging with respect to vertical axis.
     *
     * @default None
     */
    selectionMode?: SelectionMode;
    /**
     * If set true, enables the multi selection in chart. It requires `selectionMode` to be `Point` | `Series` | or `Cluster`.
     *
     * @default false
     */
    isMultiSelect?: boolean;
    /**
     * Triggers before the range navigator rendering.
     *
     * @event load
     */
    load?: base.EmitType<IStockChartEventArgs>;
    /**
     * Triggers after the range navigator rendering.
     *
     * @event loaded
     * @blazorProperty 'Loaded'
     */
    loaded?: base.EmitType<IStockChartEventArgs>;
    /**
     * Triggers if the range is changed
     *
     * @event rangeChange
     * @blazorProperty 'RangeChange'
     */
    rangeChange?: base.EmitType<IRangeChangeEventArgs>;
    /**
     * Triggers before each axis label is rendered.
     *
     * @event axisLabelRender
     * @deprecated
     */
    axisLabelRender?: base.EmitType<IAxisLabelRenderEventArgs>;
    /**
     * Triggers before the export process begins. This event allows for the customization of export settings before the chart is exported.
     *
     * @event beforeExport
     *
     */
    beforeExport?: base.EmitType<IExportEventArgs>;
    /**
     * Triggers before the tooltip for series is rendered.
     *
     * @event tooltipRender
     * @deprecated
     */
    tooltipRender?: base.EmitType<ITooltipRenderEventArgs>;
    /**
     * Triggers before the series is rendered.
     *
     * @event seriesRender
     * @deprecated
     */
    seriesRender?: base.EmitType<ISeriesRenderEventArgs>;
    /**
     * Triggers before the series is rendered.
     *
     * @event stockEventRender
     * @deprecated
     */
    stockEventRender?: base.EmitType<IStockEventRenderArgs>;
    /**
     * Specifies the point indexes to be selected while loading a chart.
     * It requires `selectionMode` to be `Point` | `Series` | or `Cluster`.
     * ```html
     * <div id='Chart'></div>
     * ```
     * ```typescript
     * let chart$: Chart = new Chart({
     * ...
     *   selectionMode: 'Point',
     *   selectedDataIndexes: [ { series: 0, point: 1},
     *                          { series: 2, point: 3} ],
     * ...
     * });
     * chart.appendTo('#Chart');
     * ```
     *
     * @default []
     */
    selectedDataIndexes?: StockChartIndexesModel[];
    /**
     * It specifies the types of series in financial chart.
     */
    seriesType?: ChartSeriesType[];
    /**
     * It specifies the types of indicators in financial chart.
     */
    indicatorType?: TechnicalIndicators[];
    /**
     * It specifies the types of Export types in financial chart.
     */
    exportType?: ExportType[];
    /**
     * It specifies the types of trendline types in financial chart.
     */
    trendlineType?: TrendlineTypes[];
}
//node_modules/@syncfusion/ej2-charts/src/stock-chart/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 {ChartSeriesType[] | TechnicalIndicators[] | ExportType[] | TrendlineTypes[]} type - The type of data for the dropdown button (e.g., ChartSeriesType, TechnicalIndicators, ExportType, TrendlineTypes).
     * @returns {ItemModel[]} - An array of item models for the dropdown button.
     */
    private getDropDownItems;
    /**
     * This method changes the type of series while selectind series in dropdown button.
     *
     * @param {string} seriesType - The type of series selected from the dropdown button.
     * @returns {void}
     */
    private addedSeries;
    initializeSeriesSelector(): void;
    private trendline;
    private indicators;
    initializeTrendlineSelector(): void;
    initializeIndicatorSelector(): void;
    private getIndicator;
    createIndicatorAxes(type: TechnicalIndicators, args: splitbuttons.MenuEventArgs): void;
    tickMark(args: splitbuttons.MenuEventArgs): string;
    exportButton(): void;
    calculateAutoPeriods(): PeriodsModel[];
    /**
     * Finds the range of periods between the specified minimum and maximum values.
     *
     * @param {number} min - The minimum value of the range.
     * @param {number} max - The maximum value of the range.
     * @returns {PeriodsModel[]} - An array of PeriodsModel objects that fall within the specified range.
     * @private
     */
    findRange(min: number, max: number): PeriodsModel[];
    /**
     * Text elements added to while export the chart
     * It details about the seriesTypes, indicatorTypes and Trendlines selected in chart.
     *
     * @param {boolean} isPrint - Specifies whether the export is for printing.
     * @returns {Element} - The element containing the exported chart details.
     */
    private addExportSettings;
    /** @private */
    private textElementSpan;
}
//node_modules/@syncfusion/ej2-charts/src/stock-chart/renderer/stock-events.d.ts
/**
 * Used for stock event calculations.
 */
/**
 * @private
 */
export  class StockEvents extends BaseTooltip {
    constructor(stockChart: StockChart);
    private stockChart;
    private chartId;
    /** @private */
    stockEventTooltip: svgBase.Tooltip;
    /** @private */
    symbolLocations: ChartLocation[][];
    private pointIndex;
    private seriesIndex;
    /**
     * To render stock events in chart
     *
     * @returns {Element} Stock event element
     * @private
     */
    renderStockEvents(): Element;
    private creatEventGroup;
    private findClosePoint;
    private createStockElements;
    renderStockEventTooltip(targetId: string): void;
    /**
     * Remove the stock event tooltip
     *
     * @param {number} duration tooltip timeout duration
     * @returns {void}
     */
    removeStockEventTooltip(duration: number): void;
    private findArrowpaths;
    private applyHighLights;
    private removeHighLights;
    private setOpacity;
    /**
     * To convert the c# or javascript date formats into js format
     * refer chart control's dateTime processing.
     *
     * @param {Date | string} value date or string value
     * @returns {Date} date format value
     */
    private dateParse;
}
//node_modules/@syncfusion/ej2-charts/src/stock-chart/renderer/range-selector.d.ts
/** @private */
export  class RangeSelector {
    private stockChart;
    constructor(stockChart: StockChart);
    initializeRangeNavigator(): void;
    private findMargin;
    private findSeriesCollection;
    private calculateChartSize;
    /**
     * Performs slider change
     *
     * @param {number} start slider start value
     * @param {number} end slider end value
     * @returns {void}
     */
    sliderChange(start: number, end: number): void;
}
//node_modules/@syncfusion/ej2-charts/src/stock-chart/renderer/cartesian-chart.d.ts
/** @private */
export  class CartesianChart {
    /**
     * `legendModule` is used to manipulate and add legend to the chart.
     */
    stockLegendModule: StockLegend;
    /** @private */
    legend: BaseLegend;
    private stockChart;
    cartesianChartSize: svgBase.Size;
    constructor(chart: StockChart);
    initializeChart(chartArgsData?: object[]): void;
    private findMargin;
    private findSeriesCollection;
    calculateChartSize(): svgBase.Size;
    private calculateUpdatedRange;
    /**
     * Cartesian chart refreshes based on start and end value
     *
     * @param {StockChart} stockChart stock chart instance
     * @param {Object[]} data stock chart data
     * @returns {void}
     */
    cartesianChartRefresh(stockChart: StockChart, data?: Object[]): void;
    private copyObject;
}
//node_modules/@syncfusion/ej2-charts/src/stock-chart/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 null
     */
    left: number;
    /**
     * Right margin in pixels.
     *
     * @default null
     */
    right: number;
    /**
     * Top margin in pixels.
     *
     * @default null
     */
    top: number;
    /**
     * Bottom margin in pixels.
     *
     * @default null
     */
    bottom: number;
}
/**
 * StockChart strip line settings
 */
export  class StockChartStripLineSettings extends base.ChildProperty<StockChartStripLineSettings> {
    /**
     *  If set true, strip line get render from axis origin.
     *
     *  @default false
     */
    startFromAxis: boolean;
    /**
     * If set true, strip line for axis renders.
     *
     * @default true
     */
    visible: boolean;
    /**
     * Start value of the strip line.
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    start: Object | number | Date;
    /**
     * Color of the strip line.
     *
     * @default '#808080'
     */
    color: string;
    /**
     * End value of the strip line.
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    end: Object | number | Date;
    /**
     * Size of the strip line, when it starts from the origin.
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    size: number;
    /**
     * Size type of the strip line.
     *
     * @default Auto
     */
    sizeType: SizeType;
    /**
     * Dash Array of the strip line.
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    dashArray: string;
    /**
     * isRepeat value of the strip line.
     *
     * @default false
     * @aspDefaultValueIgnore
     */
    isRepeat: boolean;
    /**
     * repeatEvery value of the strip line.
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    repeatEvery: Object | number | Date;
    /**
     * isSegmented value of the strip line.
     *
     * @default false
     * @aspDefaultValueIgnore
     */
    isSegmented: boolean;
    /**
     * repeatUntil value of the strip line.
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    repeatUntil: Object | number | Date;
    /**
     * segmentStart value of the strip line.
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    segmentStart: Object | number | Date;
    /**
     * segmentAxisName of the strip line.
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    segmentAxisName: string;
    /**
     * segmentEnd value of the strip line.
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    segmentEnd: Object | number | Date;
    /**
     * Strip line Opacity.
     *
     * @default 1
     */
    opacity: number;
    /**
     * Strip line text.
     *
     * @default ''
     */
    text: string;
    /**
     * Border of the strip line.
     */
    border: StockChartBorderModel;
    /**
     * The angle to which the strip line text gets rotated.
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    rotation: number;
    /**
     * Specifies the order of the strip line. They are,
     * * Behind: Places the strip line behind the series elements.
     * * Over: Places the strip line over the series elements.
     *
     * @default 'Behind'
     */
    zIndex: ZIndex;
    /**
     * Defines the position of the strip line text horizontally. They are,
     * * Start: Places the strip line text at the start.
     * * Middle: Places the strip line text in the middle.
     * * End: Places the strip line text at the end.
     *
     * @default 'Middle'
     */
    horizontalAlignment: Anchor;
    /**
     * Defines the position of the strip line text vertically. They are,
     * * Start: Places the strip line text at the start.
     * * Middle: Places the strip line text in the middle.
     * * End: Places the strip line text at the end.
     *
     * @default 'Middle'
     */
    verticalAlignment: Anchor;
    /**
     * Options to customize the strip line text.
     */
    textStyle: StockChartFontModel;
}
export  class StockEmptyPointSettings extends base.ChildProperty<StockEmptyPointSettings> {
    /**
     * To customize the fill color of empty points.
     *
     * @default null
     */
    fill: string;
    /**
     * To customize the mode of empty points.
     *
     * @default Gap
     */
    mode: EmptyPointMode;
    /**
     * Options to customize the border of empty points.
     *
     * @default "{color: 'transparent', width: 0}"
     */
    border: StockChartBorderModel;
}
export  class StockChartConnector extends base.ChildProperty<StockChartConnector> {
    /**
     * specifies the type of the connector line. They are
     * * Smooth
     * * Line
     *
     * @default 'Line'
     */
    type: ConnectorType;
    /**
     * Length of the connector line in pixels.
     *
     * @default null
     */
    length: string;
    /**
     * Color of the connector line.
     *
     * @default null
     */
    color: string;
    /**
     * dashArray of the connector line.
     *
     * @default ''
     */
    dashArray: string;
    /**
     * Width of the connector line in pixels.
     *
     * @default 1
     */
    width: number;
}
/**
 * Configures the Annotation for chart.
 */
export  class StockSeries extends base.ChildProperty<StockSeries> {
    /**
     * The DataSource field that contains the x value.
     * It is applicable for series and technical indicators
     *
     * @default ''
     */
    xName: string;
    /**
     * The DataSource field that contains the y value.
     *
     * @default ''
     */
    yName: string;
    /**
     * The DataSource field that contains the open value of y
     * It is applicable for series and technical indicators
     *
     * @default ''
     */
    open: string;
    /**
     * The DataSource field that contains the close value of y
     * It is applicable for series and technical indicators
     *
     * @default ''
     */
    close: string;
    /**
     * The DataSource field that contains the high value of y
     * It is applicable for series and technical indicators
     *
     * @default ''
     */
    high: string;
    /**
     * The DataSource field that contains the low value of y
     * It is applicable for series and technical indicators
     *
     * @default ''
     */
    low: string;
    /**
     * Defines the data source field that contains the volume value in candle charts
     * It is applicable for financial series and technical indicators
     *
     * @default ''
     */
    volume: string;
    /**
     * The DataSource field that contains the color value of point
     * It is applicable for series
     *
     * @default ''
     */
    pointColorMapping: string;
    /**
     * The shape of the legend. Each series has its own legend shape. They are
     * * Circle - Renders a circle.
     * * Rectangle - Renders a rectangle.
     * * Triangle - Renders a triangle.
     * * Diamond - Renders a diamond.
     * * Cross - Renders a cross.
     * * HorizontalLine - Renders a horizontalLine.
     * * VerticalLine - Renders a verticalLine.
     * * Pentagon - Renders a pentagon.
     * * InvertedTriangle - Renders a invertedTriangle.
     * * SeriesType -Render a legend shape based on series type.
     * * Image -Render a image.     *
     *
     * @default 'SeriesType'
     */
    legendShape: LegendShape;
    /**
     * The URL for the Image that is to be displayed as a Legend icon.  It requires  `legendShape` value to be an `Image`.
     *
     * @default ''
     */
    legendImageUrl: string;
    /**
     * Options to customizing animation for the series.
     */
    animation: AnimationModel;
    /**
     * The name of the horizontal axis associated with the series. It requires `axes` of the chart.
     * It is applicable for series and technical indicators
     *
     * @default null
     */
    xAxisName: string;
    /**
     * The name of the vertical axis associated with the series. It requires `axes` of the chart.
     * It is applicable for series and technical indicators
     *
     * @default null
     */
    yAxisName: string;
    /**
     * The fill color for the series that accepts value in hex and rgba as a valid CSS color string.
     * It also represents the color of the signal lines in technical indicators.
     * For technical indicators, the default value is 'blue' and for series, it has null.
     *
     * @default null
     */
    fill: string;
    /**
     * Defines the pattern of dashes and gaps to stroke the lines in `Line` type series.
     *
     * @default '0'
     */
    dashArray: string;
    /**
     * The stroke width for the series that is applicable only for `Line` type series.
     * It also represents the stroke width of the signal lines in technical indicators.
     *
     * @default 1
     */
    width: number;
    /**
     * The name of the series visible in legend.
     *
     * @default ''
     */
    name: string;
    /**
     * Specifies the DataSource for the series. It can be an array of JSON objects or an instance of data.DataManager.
     *
     * @default ''
     */
    dataSource: Object | data.DataManager;
    /**
     * Specifies query to select data from DataSource. This property is applicable only when the DataSource is `ej.data.DataManager`.
     *
     * @default null
     */
    query: data.Query;
    /**
     * This property is used in financial charts to visualize the price movements in stock.
     * It defines the color of the candle/point, when the opening price is higher than the closing price.
     *
     * @default '#e74c3d'
     */
    bullFillColor: string;
    /**
     * This property is used in stock charts to visualize the price movements in stock.
     * It defines the color of the candle/point, when the opening price is less than the closing price.
     *
     * @default '#2ecd71'
     */
    bearFillColor: string;
    /**
     * This property is applicable for candle series.
     * It enables/disables to visually compare the current values with the previous values in stock.
     *
     * @default false
     */
    enableSolidCandles: boolean;
    /**
     * Specifies the visibility of series.
     *
     * @default true
     */
    visible: boolean;
    /**
     * Options to customizing the border of the series. This is applicable only for `Column` and `Bar` type series.
     */
    border: BorderModel;
    /**
     * 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;
    /**
     * Enables or disables the display of tooltips for the nearest data point to the cursor for series.
     *
     * @default true
     */
    showNearestTooltip: boolean;
    /** @private */
    localData: Object;
    /** @private */
    chart: StockChart;
}
export interface IStockChartEventArgs {
    /** name of the event. */
    name: string;
    /** stock chart. */
    stockChart: StockChart;
    /** theme. */
    theme: ChartTheme;
}
/**
 * Interface for changed events
 */
export interface IRangeChangeEventArgs {
    /** name of the event. */
    name: string;
    /** Defines the start value. */
    start: number | Date;
    /** Defines the end value. */
    end: number | Date;
    /** Defines the data source. */
    data: Object[];
    /** Defines the selected data. */
    selectedData: Object[];
    /** Defined the zoomPosition of the Stock chart. */
    zoomPosition: number;
    /** Defined the zoomFactor of the stock chart. */
    zoomFactor: number;
}
/** Stock event render event */
export interface IStockEventRenderArgs {
    /** stockChart. */
    stockChart: StockChart;
    /** Event text.  */
    text: string;
    /** Event shape. */
    type: FlagType;
    /** Defines the name of the event. */
    name: string;
    /** Defines the event cancel status. */
    cancel: boolean;
    /** Defines the stock series. */
    series: StockSeriesModel;
}
export interface IStockLegendRenderEventArgs extends IChartEventArgs {
    /** Defines the current legend text. */
    text: string;
    /** Defines the current legend fill color. */
    fill: string;
    /** Defines the current legend shape. */
    shape: LegendShape;
    /** Defines the current legend marker shape. */
    markerShape?: ChartShape;
}
export interface IStockLegendClickEventArgs extends IChartEventArgs {
    /** Defines the chart when legendClick. */
    chart: StockChart;
    /** Defines the current legend shape. */
    legendShape: LegendShape;
    /** Defines the current series. */
    series: Series;
    /** Defines the current legend text. */
    legendText: string;
}
export  class StockChartIndicator extends base.ChildProperty<StockChartIndicator> {
    /**
     * Defines the type of the technical indicator.
     *
     * @default 'Sma'
     */
    type: TechnicalIndicators;
    /**
     * Defines the period, the price changes over which will be considered to predict the trend.
     *
     * @default 14
     */
    period: number;
    /**
     * Defines the period, the price changes over which will define the %D value in stochastic indicators.
     *
     * @default 3
     */
    dPeriod: number;
    /**
     * Defines the look back period, the price changes over which will define the %K value in stochastic indicators.
     *
     * @default 14
     */
    kPeriod: number;
    /**
     * Defines the over-bought(threshold) values. It is applicable for RSI and stochastic indicators.
     *
     * @default 80
     */
    overBought: number;
    /**
     * Defines the over-sold(threshold) values. It is applicable for RSI and stochastic indicators.
     *
     * @default 20
     */
    overSold: number;
    /**
     * Defines the field to compare the current value with previous values.
     *
     * @default 'Close'
     */
    field: FinancialDataFields;
    /**
     * Sets the standard deviation values that helps to define the upper and lower bollinger bands.
     *
     * @default 2
     */
    standardDeviation: number;
    /**
     * Sets the slow period to define the Macd line.
     *
     * @default 12
     */
    slowPeriod: number;
    /**
     * Enables/Disables the over-bought and over-sold regions.
     *
     * @default true
     */
    showZones: boolean;
    /**
     * Sets the fast period to define the Macd line.
     *
     * @default 26
     */
    fastPeriod: number;
    /**
     * Defines the appearance of the the MacdLine of Macd indicator.
     *
     * @default { color: '#ff9933', width: 2 }
     */
    macdLine: StockChartConnectorModel;
    /**
     * Defines the type of the Macd indicator.
     *
     * @default 'Both'
     */
    macdType: MacdType;
    /**
     * Defines the color of the negative bars in Macd indicators.
     *
     * @default '#e74c3d'
     */
    macdNegativeColor: string;
    /**
     * Defines the color of the positive bars in Macd indicators.
     *
     * @default '#2ecd71'
     */
    macdPositiveColor: string;
    /**
     * Options for customizing the BollingerBand in the indicator.
     *
     * @default 'rgba(211,211,211,0.25)'
     */
    bandColor: string;
    /**
     * Defines the appearance of the upper line in technical indicators.
     */
    upperLine: StockChartConnectorModel;
    /**
     * Defines the name of the series, the data of which has to be depicted as indicator.
     *
     * @default ''
     */
    seriesName: string;
    /**
     * Defines the appearance of period line in technical indicators.
     */
    periodLine: StockChartConnectorModel;
    /**
     * Defines the appearance of lower line in technical indicators.
     */
    lowerLine: ConnectorModel;
    /**
     * The DataSource field that contains the high value of y
     * It is applicable for series and technical indicators
     *
     * @default ''
     */
    high: string;
    /**
     * The DataSource field that contains the open value of y
     * It is applicable for series and technical indicators
     *
     * @default ''
     */
    open: string;
    /**
     * The DataSource field that contains the low value of y
     * It is applicable for series and technical indicators
     *
     * @default ''
     */
    low: string;
    /**
     * The DataSource field that contains the x value.
     * It is applicable for series and technical indicators
     *
     * @default ''
     */
    xName: string;
    /**
     * The DataSource field that contains the close value of y
     * It is applicable for series and technical indicators
     *
     * @default ''
     */
    close: string;
    /**
     * The DataSource field that contains the color value of point
     * It is applicable for series
     *
     * @default ''
     */
    pointColorMapping: string;
    /**
     * Defines the data source field that contains the volume value in candle charts
     * It is applicable for financial series and technical indicators
     *
     * @default ''
     */
    volume: string;
    /**
     * The name of the horizontal axis associated with the series. It requires `axes` of the chart.
     * It is applicable for series and technical indicators
     * ```html
     * <div id='Chart'></div>
     * ```
     * ```typescript
     * let chart$: Chart = new Chart({
     * ...
     *     columns: [{ width: '50%' },
     *               { width: '50%' }],
     *     axes: [{
     *                name: 'xAxis 1',
     *                columnIndex: 1,
     *            }],
     *     series: [{
     *                dataSource: data,
     *                xName: 'x', yName: 'y',
     *                xAxisName: 'xAxis 1',
     *     }],
     * });
     * chart.appendTo('#Chart');
     * ```
     *
     * @default null
     */
    xAxisName: string;
    /**
     * The name of the vertical axis associated with the series. It requires `axes` of the chart.
     * It is applicable for series and technical indicators
     * ```html
     * <div id='Chart'></div>
     * ```
     *
     * @default null
     */
    yAxisName: string;
    /**
     * Options to customizing animation for the series.
     */
    animation: AnimationModel;
    /**
     * The fill color for the series that accepts value in hex and rgba as a valid CSS color string.
     * It also represents the color of the signal lines in technical indicators.
     * For technical indicators, the default value is 'blue' and for series, it has null.
     *
     * @default null
     */
    fill: string;
    /**
     * Defines the pattern of dashes and gaps to stroke the lines in `Line` type series.
     *
     * @default '0'
     */
    dashArray: string;
    /**
     * The stroke width for the series that is applicable only for `Line` type series.
     * It also represents the stroke width of the signal lines in technical indicators.
     *
     * @default 1
     */
    width: number;
    /**
     * Specifies query to select data from DataSource. This property is applicable only when the DataSource is `ej.data.DataManager`.
     *
     * @default null
     */
    query: data.Query;
    /**
     * Specifies the DataSource for the series. It can be an array of JSON objects or an instance of data.DataManager.
     * ```html
     * <div id='Chart'></div>
     * ```
     *
     * @default ''
     */
    dataSource: Object | data.DataManager;
}
export  class StockChartAxis extends base.ChildProperty<StockChartAxis> {
    /**
     * Options to customize the crosshair ToolTip.
     */
    crosshairTooltip: CrosshairTooltipModel;
    /**
     * Options to customize the axis label.
     */
    labelStyle: FontModel;
    /**
     * Specifies the title of an axis.
     *
     * @default ''
     */
    title: string;
    /**
     * Options for customizing the axis title.
     */
    titleStyle: StockChartFontModel;
    /**
     * Used to format the axis label that accepts any global string format like 'C', 'n1', 'P' etc.
     * It also accepts placeholder like '{value}°C' in which value represent the axis label, e.g, 20°C.
     *
     * @default ''
     */
    labelFormat: string;
    /**
     * It specifies the type of format to be used in dateTime format process.
     *
     * @default 'DateTime'
     */
    skeletonType: SkeletonType;
    /**
     * Specifies the skeleton format in which the dateTime format will process.
     *
     * @default ''
     */
    skeleton: string;
    /**
     * Left and right padding for the plot area in pixels.
     *
     * @default 0
     */
    plotOffset: number;
    /**
     * The base value for logarithmic axis. It requires `valueType` to be `Logarithmic`.
     *
     * @default 10
     */
    logBase: number;
    /**
     * Specifies the index of the row where the axis is associated, when the chart area is divided into multiple plot areas by using `rows`.
     * ```html
     * <div id='Chart'></div>
     * ```
     * ```typescript
     * let chart$: Chart = new Chart({
     * ...
     *     rows: [{ height: '50%' },
     *            { height: '50%' }],
     *     axes: [{
     *                name: 'yAxis 1',
     *                rowIndex: 1,
     *      }],
     * ...
     * });
     * chart.appendTo('#Chart');
     * ```
     *
     * @default 0
     */
    rowIndex: number;
    /**
     * Specifies the number of `columns` or `rows` an axis has to span horizontally or vertically.
     *
     * @default 1
     */
    span: number;
    /**
     * The maximum number of label count per 100 pixels with respect to the axis length.
     *
     * @default 3
     */
    maximumLabels: number;
    /**
     * With this property, you can request axis to calculate intervals approximately equal to your specified interval.
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    desiredIntervals: number;
    /**
     * The axis is scaled by this factor. When zoomFactor is 0.5, the chart is scaled by 200% along this axis. Value ranges from 0 to 1.
     *
     * @default 1
     */
    zoomFactor: number;
    /**
     * Position of the zoomed axis. Value ranges from 0 to 1.
     *
     * @default 0
     */
    zoomPosition: number;
    /**
     * If set to true, the axis will render at the opposite side of its default position.
     *
     * @default false
     */
    opposedPosition: boolean;
    /**
     * If set to true, axis interval will be calculated automatically with respect to the zoomed range.
     *
     * @default true
     */
    enableAutoIntervalOnZooming: boolean;
    /**
     * Specifies the data types that the axis can handle:
     * * Double: This type is used for rendering a numeric axis to accommodate numeric data.
     * * DateTime: This type is utilized for rendering a date-time axis to manage date-time data.
     * * Category: This type is employed for rendering a category axis to manage categorical data.
     * * Logarithmic: This type is applied for rendering a logarithmic axis to handle a wide range of values.
     * * DateTimeCategory: This type is used to render a date time category axis for managing business days.
     *
     * @default 'Double'
     * @blazorType Syncfusion.EJ2.Blazor.Charts.ValueType
     * @isEnumeration true
     */
    valueType: ValueType;
    /**
     * Specifies the padding for the axis range in terms of interval.They are,
     * * none: Padding cannot be applied to the axis.
     * * normal: Padding is applied to the axis based on the range calculation.
     * * additional: Interval of the axis is added as padding to the minimum and maximum values of the range.
     * * round: Axis range is rounded to the nearest possible value divided by the interval.
     *
     * @default 'Auto'
     */
    rangePadding: ChartRangePadding;
    /**
     * Specifies the position of labels at the edge of the axis.They are,
     * * None: No action will be performed.
     * * Hide: Edge label will be hidden.
     * * Shift: Shifts the edge labels.
     *
     * @default 'None'
     */
    edgeLabelPlacement: EdgeLabelPlacement;
    /**
     * Specifies the placement of a label for category axis. They are,
     * * betweenTicks: Renders the label between the ticks.
     * * onTicks: Renders the label on the ticks.
     *
     * @default 'BetweenTicks'
     */
    labelPlacement: LabelPlacement;
    /**
     * Specifies the types like `Years`, `Months`, `Days`, `Hours`, `Minutes`, `Seconds` in date time axis.They are,
     * * Auto: Defines the interval of the axis based on data.
     * * Years: Defines the interval of the axis in years.
     * * Months: Defines the interval of the axis in months.
     * * Days: Defines the interval of the axis in days.
     * * Hours: Defines the interval of the axis in hours.
     * * Minutes: Defines the interval of the axis in minutes.
     *
     * @default 'Auto'
     */
    intervalType: IntervalType;
    /**
     * Specifies the placement of a ticks to the axis line. They are,
     * * inside: Renders the ticks inside to the axis line.
     * * outside: Renders the ticks outside to the axis line.
     *
     * @default 'Outside'
     */
    tickPosition: AxisPosition;
    /**
     * Unique identifier of an axis.
     * To associate an axis with the series, set this name to the xAxisName/yAxisName properties of the series.
     *
     * @default ''
     */
    name: string;
    /**
     * Specifies the placement of a labels to the axis line. They are,
     * * inside: Renders the labels inside to the axis line.
     * * outside: Renders the labels outside to the axis line.
     *
     * @default 'Outside'
     */
    labelPosition: AxisPosition;
    /**
     * If set to true, axis label will be visible.
     *
     * @default true
     */
    visible: boolean;
    /**
     * The angle to which the axis label gets rotated.
     *
     * @default 0
     */
    labelRotation: number;
    /**
     * Specifies the number of minor ticks per interval.
     *
     * @default 0
     */
    minorTicksPerInterval: number;
    /**
     * Specifies the value at which the axis line has to be intersect with the vertical axis or vice versa.
     *
     * @default null
     */
    crossesAt: Object;
    /**
     * Specifies axis name with which the axis line has to be crossed.
     *
     * @default null
     */
    crossesInAxis: string;
    /**
     * Specifies whether axis elements like axis labels, axis title, etc has to be crossed with axis line.
     *
     * @default true
     */
    placeNextToAxisLine: boolean;
    /**
     * Specifies the minimum range of an axis.
     *
     * @default null
     */
    minimum: Object;
    /**
     * Specifies the interval for an axis.
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    interval: number;
    /**
     * Specifies the maximum range of an axis.
     *
     * @default null
     */
    maximum: Object;
    /**
     * Specifies the maximum width of an axis label.
     *
     * @default 34.
     */
    maximumLabelWidth: number;
    /**
     * Options for customizing major tick lines.
     */
    majorTickLines: MajorTickLinesModel;
    /**
     * Specifies the Trim property for an axis.
     *
     * @default false
     */
    enableTrim: boolean;
    /**
     * Options for customizing minor tick lines.
     */
    minorTickLines: MinorTickLinesModel;
    /**
     * Options for customizing minor grid lines.
     */
    minorGridLines: MinorGridLinesModel;
    /**
     * Options for customizing major grid lines.
     */
    majorGridLines: MajorGridLinesModel;
    /**
     * Options for customizing axis lines.
     */
    lineStyle: AxisLineModel;
    /**
     * It specifies whether the axis to be rendered in inversed manner or not.
     *
     * @default false
     */
    isInversed: boolean;
    /**
     * Specifies the actions like `Hide`, `Rotate45`, and `Rotate90` when the axis labels intersect with each other.They are,
     * * None: Shows all the labels.
     * * Hide: Hides the label when it intersects.
     * * Rotate45: Rotates the label to 45 degree when it intersects.
     * * Rotate90: Rotates the label to 90 degree when it intersects.
     *
     * @default Hide
     */
    labelIntersectAction: LabelIntersectAction;
    /**
     * The polar radar radius position.
     *
     * @default 100
     */
    coefficient: number;
    /**
     * The start angle for the series.
     *
     * @default 0
     */
    startAngle: number;
    /**
     * TabIndex value for the axis.
     *
     * @default 2
     */
    tabIndex: number;
    /**
     * Specifies the stripLine collection for the axis.
     */
    stripLines: StockChartStripLineSettingsModel[];
    /**
     * Description for axis and its element.
     *
     * @default null
     */
    description: string;
}
/**
 * StockChart row
 */
export  class StockChartRow extends base.ChildProperty<StockChartRow> {
    /**
     * The height of the row as a string accept input both as '100px' and '100%'.
     * If specified as '100%, row renders to the full height of its chart.
     *
     * @default '100%'
     */
    height: string;
    /**
     * Options to customize the border of the rows.
     */
    border: StockChartBorderModel;
}
export  class StockChartTrendline extends base.ChildProperty<StockChartTrendline> {
    /**
     * Defines the period, the price changes over which will be considered to predict moving average trend line.
     *
     * @default 2
     */
    period: number;
    /**
     * Defines the name of trendline.
     *
     * @default ''
     */
    name: string;
    /**
     * Defines the type of the trendline.
     *
     * @default 'Linear'
     */
    type: TrendlineTypes;
    /**
     * Defines the polynomial order of the polynomial trendline.
     *
     * @default 2
     */
    polynomialOrder: number;
    /**
     * Defines the period, by which the trend has to forward forecast.
     *
     * @default 0
     */
    forwardForecast: number;
    /**
     * Defines the period, by which the trend has to backward forecast.
     *
     * @default 0
     */
    backwardForecast: number;
    /**
     * Options to customize the animation for trendlines.
     */
    animation: AnimationModel;
    /**
     * Enables/disables tooltip for trendlines.
     *
     * @default true
     */
    enableTooltip: boolean;
    /**
     * Options to customize the marker for trendlines.
     */
    marker: MarkerSettingsModel;
    /**
     * Defines the intercept of the trendline.
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    intercept: number;
    /**
     * Defines the fill color of trendline.
     *
     * @default ''
     */
    fill: string;
    /**
     * Sets the legend shape of the trendline.
     *
     * @default 'SeriesType'
     */
    legendShape: LegendShape;
    /**
     * Defines the width of the trendline.
     *
     * @default 1
     */
    width: number;
}
export  class StockChartAnnotationSettings extends base.ChildProperty<StockChartAnnotationSettings> {
    /**
     * if set coordinateUnit as `Pixel` Y specifies the axis value
     * else is specifies pixel or percentage of coordinate
     *
     * @default '0'
     */
    y: string | number;
    /**
     * if set coordinateUnit as `Pixel` X specifies the axis value
     * else is specifies pixel or percentage of coordinate
     *
     * @default '0'
     */
    x: string | Date | number;
    /**
     * Content of the annotation, which accepts the id of the custom element.
     *
     * @default null
     */
    content: string;
    /**
     * Specifies the regions of the annotation. They are
     * * Chart - Annotation renders based on chart coordinates.
     * * Series - Annotation renders based on series coordinates.
     *
     * @default 'Chart'
     */
    region: Regions;
    /**
     * Specifies the alignment of the annotation. They are
     * * Near - Align the annotation element as left side.
     * * Far - Align the annotation element as right side.
     * * Center - Align the annotation element as mid point.
     *
     * @default 'Center'
     */
    horizontalAlignment: Alignment;
    /**
     * Specifies the coordinate units of the annotation. They are
     * * Pixel - Annotation renders based on x and y pixel value.
     * * Point - Annotation renders based on x and y axis value.
     *
     * @default 'Pixel'
     */
    coordinateUnits: Units;
    /**
     * Specifies the position of the annotation. They are
     * * Top - Align the annotation element as top side.
     * * Bottom - Align the annotation element as bottom side.
     * * Middle - Align the annotation element as mid point.
     *
     * @default 'Middle'
     */
    verticalAlignment: Position;
    /**
     * The name of vertical axis associated with the annotation.
     * It requires `axes` of chart.
     *
     * @default null
     */
    yAxisName: string;
    /**
     * Information about annotation for assistive technology.
     *
     * @default null
     */
    description: string;
    /**
     * The name of horizontal axis associated with the annotation.
     * It requires `axes` of chart.
     *
     * @default null
     */
    xAxisName: string;
}
export  class StockChartIndexes extends base.ChildProperty<StockChartIndexes> {
    /**
     * Specifies index of point.
     *
     * @default 0
     * @aspType int
     */
    point: number;
    /**
     * Specifies index of series.
     *
     * @default 0
     * @aspType int
     */
    series: number;
}
/**
 * Configures the Stock events for stock chart.
 */
export  class StockEventsSettings extends base.ChildProperty<StockEventsSettings> {
    /**
     * Specifies type of stock events
     * * Circle
     * * Square
     * * Flag
     * * Text
     * * Sign
     * * Triangle
     * * InvertedTriangle
     * * ArrowUp
     * * ArrowDown
     * * ArrowLeft
     * * ArrowRight
     *
     * @default 'Circle'
     */
    type: FlagType;
    /**
     * Specifies the text for the stock chart text.
     */
    text: string;
    /**
     * Specifies the description for the chart which renders in tooltip for stock event.
     */
    description: string;
    /**
     * Date value of stock event in which stock event shows.
     */
    date: Date;
    /**
     * Options to customize the border of the stock events.
     */
    border: StockChartBorderModel;
    /**
     * The background of the stock event that accepts value in hex and rgba as a valid CSS color string.
     *
     * @default 'transparent'
     */
    background: string;
    /**
     * Enables the stock events to be render on series. If it disabled, stock event rendered on primaryXAxis.
     *
     * @default true
     */
    showOnSeries: boolean;
    /**
     * Corresponding values in which stock event placed.
     * * Close
     * * Open
     * * High
     * * Close
     *
     * @default 'close'
     */
    placeAt: string;
    /**
     * Options to customize the styles for stock events text.
     */
    textStyle: StockChartFontModel;
    /**
     * To render stock events in particular series.
     * By default stock events will render for all series.
     *
     * @default []
     */
    seriesIndexes: number[];
}
//node_modules/@syncfusion/ej2-charts/src/stock-chart/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 null
     */
    left?: number;
    /**
     * Right margin in pixels.
     *
     * @default null
     */
    right?: number;
    /**
     * Top margin in pixels.
     *
     * @default null
     */
    top?: number;
    /**
     * Bottom margin in pixels.
     *
     * @default null
     */
    bottom?: number;
}
/**
 * Interface for a class StockChartStripLineSettings
 */
export interface StockChartStripLineSettingsModel {
    /**
     *  If set true, strip line get render from axis origin.
     *
     *  @default false
     */
    startFromAxis?: boolean;
    /**
     * If set true, strip line for axis renders.
     *
     * @default true
     */
    visible?: boolean;
    /**
     * Start value of the strip line.
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    start?: Object | number | Date;
    /**
     * Color of the strip line.
     *
     * @default '#808080'
     */
    color?: string;
    /**
     * End value of the strip line.
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    end?: Object | number | Date;
    /**
     * Size of the strip line, when it starts from the origin.
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    size?: number;
    /**
     * Size type of the strip line.
     *
     * @default Auto
     */
    sizeType?: SizeType;
    /**
     * Dash Array of the strip line.
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    dashArray?: string;
    /**
     * isRepeat value of the strip line.
     *
     * @default false
     * @aspDefaultValueIgnore
     */
    isRepeat?: boolean;
    /**
     * repeatEvery value of the strip line.
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    repeatEvery?: Object | number | Date;
    /**
     * isSegmented value of the strip line.
     *
     * @default false
     * @aspDefaultValueIgnore
     */
    isSegmented?: boolean;
    /**
     * repeatUntil value of the strip line.
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    repeatUntil?: Object | number | Date;
    /**
     * segmentStart value of the strip line.
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    segmentStart?: Object | number | Date;
    /**
     * segmentAxisName of the strip line.
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    segmentAxisName?: string;
    /**
     * segmentEnd value of the strip line.
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    segmentEnd?: Object | number | Date;
    /**
     * Strip line Opacity.
     *
     * @default 1
     */
    opacity?: number;
    /**
     * Strip line text.
     *
     * @default ''
     */
    text?: string;
    /**
     * Border of the strip line.
     */
    border?: StockChartBorderModel;
    /**
     * The angle to which the strip line text gets rotated.
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    rotation?: number;
    /**
     * Specifies the order of the strip line. They are,
     * * Behind: Places the strip line behind the series elements.
     * * Over: Places the strip line over the series elements.
     *
     * @default 'Behind'
     */
    zIndex?: ZIndex;
    /**
     * Defines the position of the strip line text horizontally. They are,
     * * Start: Places the strip line text at the start.
     * * Middle: Places the strip line text in the middle.
     * * End: Places the strip line text at the end.
     *
     * @default 'Middle'
     */
    horizontalAlignment?: Anchor;
    /**
     * Defines the position of the strip line text vertically. They are,
     * * Start: Places the strip line text at the start.
     * * Middle: Places the strip line text in the middle.
     * * End: Places the strip line text at the end.
     *
     * @default 'Middle'
     */
    verticalAlignment?: Anchor;
    /**
     * Options to customize the strip line text.
     */
    textStyle?: StockChartFontModel;
}
/**
 * Interface for a class StockEmptyPointSettings
 */
export interface StockEmptyPointSettingsModel {
    /**
     * To customize the fill color of empty points.
     *
     * @default null
     */
    fill?: string;
    /**
     * To customize the mode of empty points.
     *
     * @default Gap
     */
    mode?: EmptyPointMode;
    /**
     * Options to customize the border of empty points.
     *
     * @default "{color: 'transparent', width: 0}"
     */
    border?: StockChartBorderModel;
}
/**
 * Interface for a class StockChartConnector
 */
export interface StockChartConnectorModel {
    /**
     * specifies the type of the connector line. They are
     * * Smooth
     * * Line
     *
     * @default 'Line'
     */
    type?: ConnectorType;
    /**
     * Length of the connector line in pixels.
     *
     * @default null
     */
    length?: string;
    /**
     * Color of the connector line.
     *
     * @default null
     */
    color?: string;
    /**
     * dashArray of the connector line.
     *
     * @default ''
     */
    dashArray?: string;
    /**
     * Width of the connector line in pixels.
     *
     * @default 1
     */
    width?: number;
}
/**
 * Interface for a class StockSeries
 */
export interface StockSeriesModel {
    /**
     * The DataSource field that contains the x value.
     * It is applicable for series and technical indicators
     *
     * @default ''
     */
    xName?: string;
    /**
     * The DataSource field that contains the y value.
     *
     * @default ''
     */
    yName?: string;
    /**
     * The DataSource field that contains the open value of y
     * It is applicable for series and technical indicators
     *
     * @default ''
     */
    open?: string;
    /**
     * The DataSource field that contains the close value of y
     * It is applicable for series and technical indicators
     *
     * @default ''
     */
    close?: string;
    /**
     * The DataSource field that contains the high value of y
     * It is applicable for series and technical indicators
     *
     * @default ''
     */
    high?: string;
    /**
     * The DataSource field that contains the low value of y
     * It is applicable for series and technical indicators
     *
     * @default ''
     */
    low?: string;
    /**
     * Defines the data source field that contains the volume value in candle charts
     * It is applicable for financial series and technical indicators
     *
     * @default ''
     */
    volume?: string;
    /**
     * The DataSource field that contains the color value of point
     * It is applicable for series
     *
     * @default ''
     */
    pointColorMapping?: string;
    /**
     * The shape of the legend. Each series has its own legend shape. They are
     * * Circle - Renders a circle.
     * * Rectangle - Renders a rectangle.
     * * Triangle - Renders a triangle.
     * * Diamond - Renders a diamond.
     * * Cross - Renders a cross.
     * * HorizontalLine - Renders a horizontalLine.
     * * VerticalLine - Renders a verticalLine.
     * * Pentagon - Renders a pentagon.
     * * InvertedTriangle - Renders a invertedTriangle.
     * * SeriesType -Render a legend shape based on series type.
     * * Image -Render a image.     *
     *
     * @default 'SeriesType'
     */
    legendShape?: LegendShape;
    /**
     * The URL for the Image that is to be displayed as a Legend icon.  It requires  `legendShape` value to be an `Image`.
     *
     * @default ''
     */
    legendImageUrl?: string;
    /**
     * Options to customizing animation for the series.
     */
    animation?: AnimationModel;
    /**
     * The name of the horizontal axis associated with the series. It requires `axes` of the chart.
     * It is applicable for series and technical indicators
     *
     * @default null
     */
    xAxisName?: string;
    /**
     * The name of the vertical axis associated with the series. It requires `axes` of the chart.
     * It is applicable for series and technical indicators
     *
     * @default null
     */
    yAxisName?: string;
    /**
     * The fill color for the series that accepts value in hex and rgba as a valid CSS color string.
     * It also represents the color of the signal lines in technical indicators.
     * For technical indicators, the default value is 'blue' and for series, it has null.
     *
     * @default null
     */
    fill?: string;
    /**
     * Defines the pattern of dashes and gaps to stroke the lines in `Line` type series.
     *
     * @default '0'
     */
    dashArray?: string;
    /**
     * The stroke width for the series that is applicable only for `Line` type series.
     * It also represents the stroke width of the signal lines in technical indicators.
     *
     * @default 1
     */
    width?: number;
    /**
     * The name of the series visible in legend.
     *
     * @default ''
     */
    name?: string;
    /**
     * Specifies the DataSource for the series. It can be an array of JSON objects or an instance of data.DataManager.
     *
     * @default ''
     */
    dataSource?: Object | data.DataManager;
    /**
     * Specifies query to select data from DataSource. This property is applicable only when the DataSource is `ej.data.DataManager`.
     *
     * @default null
     */
    query?: data.Query;
    /**
     * This property is used in financial charts to visualize the price movements in stock.
     * It defines the color of the candle/point, when the opening price is higher than the closing price.
     *
     * @default '#e74c3d'
     */
    bullFillColor?: string;
    /**
     * This property is used in stock charts to visualize the price movements in stock.
     * It defines the color of the candle/point, when the opening price is less than the closing price.
     *
     * @default '#2ecd71'
     */
    bearFillColor?: string;
    /**
     * This property is applicable for candle series.
     * It enables/disables to visually compare the current values with the previous values in stock.
     *
     * @default false
     */
    enableSolidCandles?: boolean;
    /**
     * Specifies the visibility of series.
     *
     * @default true
     */
    visible?: boolean;
    /**
     * Options to customizing the border of the series. This is applicable only for `Column` and `Bar` type series.
     */
    border?: BorderModel;
    /**
     * 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;
    /**
     * Enables or disables the display of tooltips for the nearest data point to the cursor for series.
     *
     * @default true
     */
    showNearestTooltip?: boolean;
}
/**
 * Interface for a class StockChartIndicator
 */
export interface StockChartIndicatorModel {
    /**
     * Defines the type of the technical indicator.
     *
     * @default 'Sma'
     */
    type?: TechnicalIndicators;
    /**
     * Defines the period, the price changes over which will be considered to predict the trend.
     *
     * @default 14
     */
    period?: number;
    /**
     * Defines the period, the price changes over which will define the %D value in stochastic indicators.
     *
     * @default 3
     */
    dPeriod?: number;
    /**
     * Defines the look back period, the price changes over which will define the %K value in stochastic indicators.
     *
     * @default 14
     */
    kPeriod?: number;
    /**
     * Defines the over-bought(threshold) values. It is applicable for RSI and stochastic indicators.
     *
     * @default 80
     */
    overBought?: number;
    /**
     * Defines the over-sold(threshold) values. It is applicable for RSI and stochastic indicators.
     *
     * @default 20
     */
    overSold?: number;
    /**
     * Defines the field to compare the current value with previous values.
     *
     * @default 'Close'
     */
    field?: FinancialDataFields;
    /**
     * Sets the standard deviation values that helps to define the upper and lower bollinger bands.
     *
     * @default 2
     */
    standardDeviation?: number;
    /**
     * Sets the slow period to define the Macd line.
     *
     * @default 12
     */
    slowPeriod?: number;
    /**
     * Enables/Disables the over-bought and over-sold regions.
     *
     * @default true
     */
    showZones?: boolean;
    /**
     * Sets the fast period to define the Macd line.
     *
     * @default 26
     */
    fastPeriod?: number;
    /**
     * Defines the appearance of the the MacdLine of Macd indicator.
     *
     * @default { color: '#ff9933', width: 2 }
     */
    macdLine?: StockChartConnectorModel;
    /**
     * Defines the type of the Macd indicator.
     *
     * @default 'Both'
     */
    macdType?: MacdType;
    /**
     * Defines the color of the negative bars in Macd indicators.
     *
     * @default '#e74c3d'
     */
    macdNegativeColor?: string;
    /**
     * Defines the color of the positive bars in Macd indicators.
     *
     * @default '#2ecd71'
     */
    macdPositiveColor?: string;
    /**
     * Options for customizing the BollingerBand in the indicator.
     *
     * @default 'rgba(211,211,211,0.25)'
     */
    bandColor?: string;
    /**
     * Defines the appearance of the upper line in technical indicators.
     */
    upperLine?: StockChartConnectorModel;
    /**
     * Defines the name of the series, the data of which has to be depicted as indicator.
     *
     * @default ''
     */
    seriesName?: string;
    /**
     * Defines the appearance of period line in technical indicators.
     */
    periodLine?: StockChartConnectorModel;
    /**
     * Defines the appearance of lower line in technical indicators.
     */
    lowerLine?: ConnectorModel;
    /**
     * The DataSource field that contains the high value of y
     * It is applicable for series and technical indicators
     *
     * @default ''
     */
    high?: string;
    /**
     * The DataSource field that contains the open value of y
     * It is applicable for series and technical indicators
     *
     * @default ''
     */
    open?: string;
    /**
     * The DataSource field that contains the low value of y
     * It is applicable for series and technical indicators
     *
     * @default ''
     */
    low?: string;
    /**
     * The DataSource field that contains the x value.
     * It is applicable for series and technical indicators
     *
     * @default ''
     */
    xName?: string;
    /**
     * The DataSource field that contains the close value of y
     * It is applicable for series and technical indicators
     *
     * @default ''
     */
    close?: string;
    /**
     * The DataSource field that contains the color value of point
     * It is applicable for series
     *
     * @default ''
     */
    pointColorMapping?: string;
    /**
     * Defines the data source field that contains the volume value in candle charts
     * It is applicable for financial series and technical indicators
     *
     * @default ''
     */
    volume?: string;
    /**
     * The name of the horizontal axis associated with the series. It requires `axes` of the chart.
     * It is applicable for series and technical indicators
     * ```html
     * <div id='Chart'></div>
     * ```
     * ```typescript
     * let chart$: Chart = new Chart({
     * ...
     *     columns: [{ width: '50%' },
     *               { width: '50%' }],
     *     axes: [{
     *                name: 'xAxis 1',
     *                columnIndex: 1,
     *            }],
     *     series: [{
     *                dataSource: data,
     *                xName: 'x', yName: 'y',
     *                xAxisName: 'xAxis 1',
     *     }],
     * });
     * chart.appendTo('#Chart');
     * ```
     *
     * @default null
     */
    xAxisName?: string;
    /**
     * The name of the vertical axis associated with the series. It requires `axes` of the chart.
     * It is applicable for series and technical indicators
     * ```html
     * <div id='Chart'></div>
     * ```
     *
     * @default null
     */
    yAxisName?: string;
    /**
     * Options to customizing animation for the series.
     */
    animation?: AnimationModel;
    /**
     * The fill color for the series that accepts value in hex and rgba as a valid CSS color string.
     * It also represents the color of the signal lines in technical indicators.
     * For technical indicators, the default value is 'blue' and for series, it has null.
     *
     * @default null
     */
    fill?: string;
    /**
     * Defines the pattern of dashes and gaps to stroke the lines in `Line` type series.
     *
     * @default '0'
     */
    dashArray?: string;
    /**
     * The stroke width for the series that is applicable only for `Line` type series.
     * It also represents the stroke width of the signal lines in technical indicators.
     *
     * @default 1
     */
    width?: number;
    /**
     * Specifies query to select data from DataSource. This property is applicable only when the DataSource is `ej.data.DataManager`.
     *
     * @default null
     */
    query?: data.Query;
    /**
     * Specifies the DataSource for the series. It can be an array of JSON objects or an instance of data.DataManager.
     * ```html
     * <div id='Chart'></div>
     * ```
     *
     * @default ''
     */
    dataSource?: Object | data.DataManager;
}
/**
 * Interface for a class StockChartAxis
 */
export interface StockChartAxisModel {
    /**
     * Options to customize the crosshair ToolTip.
     */
    crosshairTooltip?: CrosshairTooltipModel;
    /**
     * Options to customize the axis label.
     */
    labelStyle?: FontModel;
    /**
     * Specifies the title of an axis.
     *
     * @default ''
     */
    title?: string;
    /**
     * Options for customizing the axis title.
     */
    titleStyle?: StockChartFontModel;
    /**
     * Used to format the axis label that accepts any global string format like 'C', 'n1', 'P' etc.
     * It also accepts placeholder like '{value}°C' in which value represent the axis label, e.g, 20°C.
     *
     * @default ''
     */
    labelFormat?: string;
    /**
     * It specifies the type of format to be used in dateTime format process.
     *
     * @default 'DateTime'
     */
    skeletonType?: SkeletonType;
    /**
     * Specifies the skeleton format in which the dateTime format will process.
     *
     * @default ''
     */
    skeleton?: string;
    /**
     * Left and right padding for the plot area in pixels.
     *
     * @default 0
     */
    plotOffset?: number;
    /**
     * The base value for logarithmic axis. It requires `valueType` to be `Logarithmic`.
     *
     * @default 10
     */
    logBase?: number;
    /**
     * Specifies the index of the row where the axis is associated, when the chart area is divided into multiple plot areas by using `rows`.
     * ```html
     * <div id='Chart'></div>
     * ```
     * ```typescript
     * let chart$: Chart = new Chart({
     * ...
     *     rows: [{ height: '50%' },
     *            { height: '50%' }],
     *     axes: [{
     *                name: 'yAxis 1',
     *                rowIndex: 1,
     *      }],
     * ...
     * });
     * chart.appendTo('#Chart');
     * ```
     *
     * @default 0
     */
    rowIndex?: number;
    /**
     * Specifies the number of `columns` or `rows` an axis has to span horizontally or vertically.
     *
     * @default 1
     */
    span?: number;
    /**
     * The maximum number of label count per 100 pixels with respect to the axis length.
     *
     * @default 3
     */
    maximumLabels?: number;
    /**
     * With this property, you can request axis to calculate intervals approximately equal to your specified interval.
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    desiredIntervals?: number;
    /**
     * The axis is scaled by this factor. When zoomFactor is 0.5, the chart is scaled by 200% along this axis. Value ranges from 0 to 1.
     *
     * @default 1
     */
    zoomFactor?: number;
    /**
     * Position of the zoomed axis. Value ranges from 0 to 1.
     *
     * @default 0
     */
    zoomPosition?: number;
    /**
     * If set to true, the axis will render at the opposite side of its default position.
     *
     * @default false
     */
    opposedPosition?: boolean;
    /**
     * If set to true, axis interval will be calculated automatically with respect to the zoomed range.
     *
     * @default true
     */
    enableAutoIntervalOnZooming?: boolean;
    /**
     * Specifies the data types that the axis can handle:
     * * Double: This type is used for rendering a numeric axis to accommodate numeric data.
     * * DateTime: This type is utilized for rendering a date-time axis to manage date-time data.
     * * Category: This type is employed for rendering a category axis to manage categorical data.
     * * Logarithmic: This type is applied for rendering a logarithmic axis to handle a wide range of values.
     * * DateTimeCategory: This type is used to render a date time category axis for managing business days.
     *
     * @default 'Double'
     * @blazorType Syncfusion.EJ2.Blazor.Charts.ValueType
     * @isEnumeration true
     */
    valueType?: ValueType;
    /**
     * Specifies the padding for the axis range in terms of interval.They are,
     * * none: Padding cannot be applied to the axis.
     * * normal: Padding is applied to the axis based on the range calculation.
     * * additional: Interval of the axis is added as padding to the minimum and maximum values of the range.
     * * round: Axis range is rounded to the nearest possible value divided by the interval.
     *
     * @default 'Auto'
     */
    rangePadding?: ChartRangePadding;
    /**
     * Specifies the position of labels at the edge of the axis.They are,
     * * None: No action will be performed.
     * * Hide: Edge label will be hidden.
     * * Shift: Shifts the edge labels.
     *
     * @default 'None'
     */
    edgeLabelPlacement?: EdgeLabelPlacement;
    /**
     * Specifies the placement of a label for category axis. They are,
     * * betweenTicks: Renders the label between the ticks.
     * * onTicks: Renders the label on the ticks.
     *
     * @default 'BetweenTicks'
     */
    labelPlacement?: LabelPlacement;
    /**
     * Specifies the types like `Years`, `Months`, `Days`, `Hours`, `Minutes`, `Seconds` in date time axis.They are,
     * * Auto: Defines the interval of the axis based on data.
     * * Years: Defines the interval of the axis in years.
     * * Months: Defines the interval of the axis in months.
     * * Days: Defines the interval of the axis in days.
     * * Hours: Defines the interval of the axis in hours.
     * * Minutes: Defines the interval of the axis in minutes.
     *
     * @default 'Auto'
     */
    intervalType?: IntervalType;
    /**
     * Specifies the placement of a ticks to the axis line. They are,
     * * inside: Renders the ticks inside to the axis line.
     * * outside: Renders the ticks outside to the axis line.
     *
     * @default 'Outside'
     */
    tickPosition?: AxisPosition;
    /**
     * Unique identifier of an axis.
     * To associate an axis with the series, set this name to the xAxisName/yAxisName properties of the series.
     *
     * @default ''
     */
    name?: string;
    /**
     * Specifies the placement of a labels to the axis line. They are,
     * * inside: Renders the labels inside to the axis line.
     * * outside: Renders the labels outside to the axis line.
     *
     * @default 'Outside'
     */
    labelPosition?: AxisPosition;
    /**
     * If set to true, axis label will be visible.
     *
     * @default true
     */
    visible?: boolean;
    /**
     * The angle to which the axis label gets rotated.
     *
     * @default 0
     */
    labelRotation?: number;
    /**
     * Specifies the number of minor ticks per interval.
     *
     * @default 0
     */
    minorTicksPerInterval?: number;
    /**
     * Specifies the value at which the axis line has to be intersect with the vertical axis or vice versa.
     *
     * @default null
     */
    crossesAt?: Object;
    /**
     * Specifies axis name with which the axis line has to be crossed.
     *
     * @default null
     */
    crossesInAxis?: string;
    /**
     * Specifies whether axis elements like axis labels, axis title, etc has to be crossed with axis line.
     *
     * @default true
     */
    placeNextToAxisLine?: boolean;
    /**
     * Specifies the minimum range of an axis.
     *
     * @default null
     */
    minimum?: Object;
    /**
     * Specifies the interval for an axis.
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    interval?: number;
    /**
     * Specifies the maximum range of an axis.
     *
     * @default null
     */
    maximum?: Object;
    /**
     * Specifies the maximum width of an axis label.
     *
     * @default 34.
     */
    maximumLabelWidth?: number;
    /**
     * Options for customizing major tick lines.
     */
    majorTickLines?: MajorTickLinesModel;
    /**
     * Specifies the Trim property for an axis.
     *
     * @default false
     */
    enableTrim?: boolean;
    /**
     * Options for customizing minor tick lines.
     */
    minorTickLines?: MinorTickLinesModel;
    /**
     * Options for customizing minor grid lines.
     */
    minorGridLines?: MinorGridLinesModel;
    /**
     * Options for customizing major grid lines.
     */
    majorGridLines?: MajorGridLinesModel;
    /**
     * Options for customizing axis lines.
     */
    lineStyle?: AxisLineModel;
    /**
     * It specifies whether the axis to be rendered in inversed manner or not.
     *
     * @default false
     */
    isInversed?: boolean;
    /**
     * Specifies the actions like `Hide`, `Rotate45`, and `Rotate90` when the axis labels intersect with each other.They are,
     * * None: Shows all the labels.
     * * Hide: Hides the label when it intersects.
     * * Rotate45: Rotates the label to 45 degree when it intersects.
     * * Rotate90: Rotates the label to 90 degree when it intersects.
     *
     * @default Hide
     */
    labelIntersectAction?: LabelIntersectAction;
    /**
     * The polar radar radius position.
     *
     * @default 100
     */
    coefficient?: number;
    /**
     * The start angle for the series.
     *
     * @default 0
     */
    startAngle?: number;
    /**
     * TabIndex value for the axis.
     *
     * @default 2
     */
    tabIndex?: number;
    /**
     * Specifies the stripLine collection for the axis.
     */
    stripLines?: StockChartStripLineSettingsModel[];
    /**
     * Description for axis and its element.
     *
     * @default null
     */
    description?: string;
}
/**
 * Interface for a class StockChartRow
 */
export interface StockChartRowModel {
    /**
     * The height of the row as a string accept input both as '100px' and '100%'.
     * If specified as '100%, row renders to the full height of its chart.
     *
     * @default '100%'
     */
    height?: string;
    /**
     * Options to customize the border of the rows.
     */
    border?: StockChartBorderModel;
}
/**
 * Interface for a class StockChartTrendline
 */
export interface StockChartTrendlineModel {
    /**
     * Defines the period, the price changes over which will be considered to predict moving average trend line.
     *
     * @default 2
     */
    period?: number;
    /**
     * Defines the name of trendline.
     *
     * @default ''
     */
    name?: string;
    /**
     * Defines the type of the trendline.
     *
     * @default 'Linear'
     */
    type?: TrendlineTypes;
    /**
     * Defines the polynomial order of the polynomial trendline.
     *
     * @default 2
     */
    polynomialOrder?: number;
    /**
     * Defines the period, by which the trend has to forward forecast.
     *
     * @default 0
     */
    forwardForecast?: number;
    /**
     * Defines the period, by which the trend has to backward forecast.
     *
     * @default 0
     */
    backwardForecast?: number;
    /**
     * Options to customize the animation for trendlines.
     */
    animation?: AnimationModel;
    /**
     * Enables/disables tooltip for trendlines.
     *
     * @default true
     */
    enableTooltip?: boolean;
    /**
     * Options to customize the marker for trendlines.
     */
    marker?: MarkerSettingsModel;
    /**
     * Defines the intercept of the trendline.
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    intercept?: number;
    /**
     * Defines the fill color of trendline.
     *
     * @default ''
     */
    fill?: string;
    /**
     * Sets the legend shape of the trendline.
     *
     * @default 'SeriesType'
     */
    legendShape?: LegendShape;
    /**
     * Defines the width of the trendline.
     *
     * @default 1
     */
    width?: number;
}
/**
 * Interface for a class StockChartAnnotationSettings
 */
export interface StockChartAnnotationSettingsModel {
    /**
     * if set coordinateUnit as `Pixel` Y specifies the axis value
     * else is specifies pixel or percentage of coordinate
     *
     * @default '0'
     */
    y?: string | number;
    /**
     * if set coordinateUnit as `Pixel` X specifies the axis value
     * else is specifies pixel or percentage of coordinate
     *
     * @default '0'
     */
    x?: string | Date | number;
    /**
     * Content of the annotation, which accepts the id of the custom element.
     *
     * @default null
     */
    content?: string;
    /**
     * Specifies the regions of the annotation. They are
     * * Chart - Annotation renders based on chart coordinates.
     * * Series - Annotation renders based on series coordinates.
     *
     * @default 'Chart'
     */
    region?: Regions;
    /**
     * Specifies the alignment of the annotation. They are
     * * Near - Align the annotation element as left side.
     * * Far - Align the annotation element as right side.
     * * Center - Align the annotation element as mid point.
     *
     * @default 'Center'
     */
    horizontalAlignment?: Alignment;
    /**
     * Specifies the coordinate units of the annotation. They are
     * * Pixel - Annotation renders based on x and y pixel value.
     * * Point - Annotation renders based on x and y axis value.
     *
     * @default 'Pixel'
     */
    coordinateUnits?: Units;
    /**
     * Specifies the position of the annotation. They are
     * * Top - Align the annotation element as top side.
     * * Bottom - Align the annotation element as bottom side.
     * * Middle - Align the annotation element as mid point.
     *
     * @default 'Middle'
     */
    verticalAlignment?: Position;
    /**
     * The name of vertical axis associated with the annotation.
     * It requires `axes` of chart.
     *
     * @default null
     */
    yAxisName?: string;
    /**
     * Information about annotation for assistive technology.
     *
     * @default null
     */
    description?: string;
    /**
     * The name of horizontal axis associated with the annotation.
     * It requires `axes` of chart.
     *
     * @default null
     */
    xAxisName?: string;
}
/**
 * Interface for a class StockChartIndexes
 */
export interface StockChartIndexesModel {
    /**
     * Specifies index of point.
     *
     * @default 0
     * @aspType int
     */
    point?: number;
    /**
     * Specifies index of series.
     *
     * @default 0
     * @aspType int
     */
    series?: number;
}
/**
 * Interface for a class StockEventsSettings
 */
export interface StockEventsSettingsModel {
    /**
     * Specifies type of stock events
     * * Circle
     * * Square
     * * Flag
     * * Text
     * * Sign
     * * Triangle
     * * InvertedTriangle
     * * ArrowUp
     * * ArrowDown
     * * ArrowLeft
     * * ArrowRight
     *
     * @default 'Circle'
     */
    type?: FlagType;
    /**
     * Specifies the text for the stock chart text.
     */
    text?: string;
    /**
     * Specifies the description for the chart which renders in tooltip for stock event.
     */
    description?: string;
    /**
     * Date value of stock event in which stock event shows.
     */
    date?: Date;
    /**
     * Options to customize the border of the stock events.
     */
    border?: StockChartBorderModel;
    /**
     * The background of the stock event that accepts value in hex and rgba as a valid CSS color string.
     *
     * @default 'transparent'
     */
    background?: string;
    /**
     * Enables the stock events to be render on series. If it disabled, stock event rendered on primaryXAxis.
     *
     * @default true
     */
    showOnSeries?: boolean;
    /**
     * Corresponding values in which stock event placed.
     * * Close
     * * Open
     * * High
     * * Close
     *
     * @default 'close'
     */
    placeAt?: string;
    /**
     * Options to customize the styles for stock events text.
     */
    textStyle?: StockChartFontModel;
    /**
     * To render stock events in particular series.
     * By default stock events will render for all series.
     *
     * @default []
     */
    seriesIndexes?: number[];
}
//node_modules/@syncfusion/ej2-charts/src/stock-chart/legend/legend.d.ts
/**
 * Configures the legends in charts.
 */
export  class StockChartLegendSettings extends base.ChildProperty<StockChartLegendSettings> {
    /**
     * If set to true, legend will be visible.
     *
     * @default false
     */
    visible: boolean;
    /**
     * The height of the legend in pixels.
     *
     * @default null
     */
    height: string;
    /**
     * The width of the legend in pixels.
     *
     * @default null
     */
    width: string;
    /**
     * Specifies the location of the legend, relative to the Stock chart.
     * If x is 20, legend moves by 20 pixels to the right of the Stock chart. It requires the `position` to be `Custom`.
     * ```html
     * <div id='StockChart'></div>
     * ```
     * ```typescript
     * let stockChart: StockChart = new StockChart({
     * ...
     *   legendSettings: {
     *     visible: true,
     *     position: 'Custom',
     *     location: { x: 100, y: 150 },
     *   },
     * ...
     * });
     * stockChart.appendTo('#StockChart');
     * ```
     */
    location: LocationModel;
    /**
     * Position of the legend in the Stock chart are,
     * * Auto: Places the legend based on area type.
     * * Top: Displays the legend at the top of the stock chart.
     * * Left: Displays the legend at the left of the stock chart.
     * * Bottom: Displays the legend at the bottom of the stock chart.
     * * Right: Displays the legend at the right of the stock chart.
     * * Custom: Displays the legend  based on the given x and y values.
     *
     * @default 'Auto'
     */
    position: LegendPosition;
    /**
     * Mode of legend items.
     * * Series: Legend items generated based on series count.
     * * Point: Legend items generated based on unique data points.
     * * Range: Legend items generated based on range color mapping property.
     * * Gradient: Single linear bar generated based on range color mapping property.
     * This property is applicable for chart component only.
     */
    mode: LegendMode;
    /**
     * Option to customize the padding around the legend items.
     *
     * @default 8
     */
    padding: number;
    /**
     * Option to customize the padding between legend items.
     *
     * @default null
     */
    itemPadding: number;
    /**
     * Legend in stock chart can be aligned as follows:
     * * Near: Aligns the legend to the left of the stock chart.
     * * Center: Aligns the legend to the center of the stock chart.
     * * Far: Aligns the legend to the right of the stock chart.
     *
     * @default 'Center'
     */
    alignment: Alignment;
    /**
     * Options to customize the legend text.
     */
    textStyle: StockChartFontModel;
    /**
     * Shape height of the legend in pixels.
     *
     * @default 10
     */
    shapeHeight: number;
    /**
     * Shape width of the legend in pixels.
     *
     * @default 10
     */
    shapeWidth: number;
    /**
     * Options to customize the border of the legend.
     */
    border: StockChartBorderModel;
    /**
     *  Options to customize left, right, top and bottom margins of the stock chart.
     */
    margin: StockMarginModel;
    /**
     *  Options to customize left, right, top and bottom padding for legend container of the stock chart.
     */
    containerPadding: ContainerPaddingModel;
    /**
     * Padding between the legend shape and text in stock chart.
     *
     * @default 8
     */
    shapePadding: number;
    /**
     * The background color of the legend that accepts value in hex and rgba as a valid CSS color string in stock chart.
     *
     * @default 'transparent'
     */
    background: string;
    /**
     * Opacity of the legend in stock chart.
     *
     * @default 1
     */
    opacity: number;
    /**
     * If set to true, series' visibility collapses based on the legend visibility in stock chart.
     *
     * @default true
     */
    toggleVisibility: boolean;
    /**
     * Description for legends in stock chart.
     *
     * @default null
     */
    description: string;
    /**
     * TabIndex value for the legend in stock chart.
     *
     * @default 3
     */
    tabIndex: number;
    /**
     * Title for legends in stock chart.
     *
     * @default null
     */
    title: string;
    /**
     * Options to customize the legend title in stock chart.
     */
    titleStyle: StockChartFontModel;
    /**
     * legend title position in stock chart.
     *
     * @default 'Top'
     */
    titlePosition: LegendTitlePosition;
    /**
     * maximum width for the legend title in stock chart.
     *
     * @default 100
     */
    maximumTitleWidth: number;
    /**
     * If set to true, legend will be visible using pages in stock chart.
     *
     * @default true
     */
    enablePages: boolean;
    /**
     * If set to true, legend will be Reversed in stock chart.
     *
     * @default false
     */
    isInversed: boolean;
}
/**
 * `Legend` module is used to render legend for the stockchart.
 */
export  class StockLegend extends BaseLegend {
    constructor(chart: StockChart);
    /**
     * Binding events for Stocklegend module.
     *
     * @returns {void}
     */
    private addEventListener;
    /**
     * UnBinding events for Stocklegend module.
     *
     * @returns {void}
     */
    private removeEventListener;
    /**
     * To handle mouse move for Stocklegend module.
     *
     * @param {MouseEvent} e - The mouse move event.
     * @returns {void}
     */
    private mouseMove;
    /**
     * To handle mouse end for Stocklegend module.
     *
     * @param {MouseEvent} e - The mouse move event.
     * @returns {void}
     */
    private mouseEnd;
    getLegendOptions(visibleSeriesCollection: Series[]): void;
    /**
     * Retrieves the bounds of the legend.
     *
     * @param {svgBase.Size} availableSize - The available size for the legend.
     * @param {svgBase.Rect} legendBound - The bounds of the legend element.
     * @param {StockChartLegendSettingsModel} legend - The settings for the legend.
     * @returns {void}
     * @private
     */
    getLegendBounds(availableSize: svgBase.Size, legendBound: svgBase.Rect, legend: StockChartLegendSettingsModel): void;
    /**
     * Retrieves the render point for the legend.
     *
     * @param {LegendOptions} legendOptions - The options for the legend.
     * @param {ChartLocation} start - The starting point for rendering the legend.
     * @param {number} textPadding - The padding around legend text.
     * @param {LegendOptions} prevLegend - The options for the previous legend.
     * @param {svgBase.Rect} rect - The bounding for the legend.
     * @param {number} count - The count of legends.
     * @param {number} firstLegend - The index of the first legend.
     * @returns {void}
     * @private
     */
    getRenderPoint(legendOptions: LegendOptions, start: ChartLocation, textPadding: number, prevLegend: LegendOptions, rect: svgBase.Rect, count: number, firstLegend: number): void;
    /**
     * Handles the click event on the legend.
     *
     * @param {number} index - The index of the legend item.
     * @returns {void}
     * @private
     */
    legendClick(index: number): void;
    private refreshLegendToggle;
    private changeSeriesVisiblity;
    private SecondaryAxis;
    /**
     * To show the tooltip for the trimmed text in legend.
     *
     * @param {Event | PointerEvent} event - The click event.
     * @returns {void}
     */
    click(event: Event | PointerEvent): void;
    /**
     * Get module name.
     *
     * @returns {string} - Returns the module name.
     */
    protected getModuleName(): string;
    /**
     * To destroy the Legend.
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-charts/src/stock-chart/legend/legend-model.d.ts
/**
 * Interface for a class StockChartLegendSettings
 */
export interface StockChartLegendSettingsModel {
    /**
     * If set to true, legend will be visible.
     *
     * @default false
     */
    visible?: boolean;
    /**
     * The height of the legend in pixels.
     *
     * @default null
     */
    height?: string;
    /**
     * The width of the legend in pixels.
     *
     * @default null
     */
    width?: string;
    /**
     * Specifies the location of the legend, relative to the Stock chart.
     * If x is 20, legend moves by 20 pixels to the right of the Stock chart. It requires the `position` to be `Custom`.
     * ```html
     * <div id='StockChart'></div>
     * ```
     * ```typescript
     * let stockChart$: StockChart = new StockChart({
     * ...
     *   legendSettings: {
     *     visible: true,
     *     position: 'Custom',
     *     location: { x: 100, y: 150 },
     *   },
     * ...
     * });
     * stockChart.appendTo('#StockChart');
     * ```
     */
    location?: LocationModel;
    /**
     * Position of the legend in the Stock chart are,
     * * Auto: Places the legend based on area type.
     * * Top: Displays the legend at the top of the stock chart.
     * * Left: Displays the legend at the left of the stock chart.
     * * Bottom: Displays the legend at the bottom of the stock chart.
     * * Right: Displays the legend at the right of the stock chart.
     * * Custom: Displays the legend  based on the given x and y values.
     *
     * @default 'Auto'
     */
    position?: LegendPosition;
    /**
     * Mode of legend items.
     * * Series: Legend items generated based on series count.
     * * Point: Legend items generated based on unique data points.
     * * Range: Legend items generated based on range color mapping property.
     * * Gradient: Single linear bar generated based on range color mapping property.
     * This property is applicable for chart component only.
     */
    mode?: LegendMode;
    /**
     * Option to customize the padding around the legend items.
     *
     * @default 8
     */
    padding?: number;
    /**
     * Option to customize the padding between legend items.
     *
     * @default null
     */
    itemPadding?: number;
    /**
     * Legend in stock chart can be aligned as follows:
     * * Near: Aligns the legend to the left of the stock chart.
     * * Center: Aligns the legend to the center of the stock chart.
     * * Far: Aligns the legend to the right of the stock chart.
     *
     * @default 'Center'
     */
    alignment?: Alignment;
    /**
     * Options to customize the legend text.
     */
    textStyle?: StockChartFontModel;
    /**
     * Shape height of the legend in pixels.
     *
     * @default 10
     */
    shapeHeight?: number;
    /**
     * Shape width of the legend in pixels.
     *
     * @default 10
     */
    shapeWidth?: number;
    /**
     * Options to customize the border of the legend.
     */
    border?: StockChartBorderModel;
    /**
     *  Options to customize left, right, top and bottom margins of the stock chart.
     */
    margin?: StockMarginModel;
    /**
     *  Options to customize left, right, top and bottom padding for legend container of the stock chart.
     */
    containerPadding?: ContainerPaddingModel;
    /**
     * Padding between the legend shape and text in stock chart.
     *
     * @default 8
     */
    shapePadding?: number;
    /**
     * The background color of the legend that accepts value in hex and rgba as a valid CSS color string in stock chart.
     *
     * @default 'transparent'
     */
    background?: string;
    /**
     * Opacity of the legend in stock chart.
     *
     * @default 1
     */
    opacity?: number;
    /**
     * If set to true, series' visibility collapses based on the legend visibility in stock chart.
     *
     * @default true
     */
    toggleVisibility?: boolean;
    /**
     * Description for legends in stock chart.
     *
     * @default null
     */
    description?: string;
    /**
     * TabIndex value for the legend in stock chart.
     *
     * @default 3
     */
    tabIndex?: number;
    /**
     * Title for legends in stock chart.
     *
     * @default null
     */
    title?: string;
    /**
     * Options to customize the legend title in stock chart.
     */
    titleStyle?: StockChartFontModel;
    /**
     * legend title position in stock chart.
     *
     * @default 'Top'
     */
    titlePosition?: LegendTitlePosition;
    /**
     * maximum width for the legend title in stock chart.
     *
     * @default 100
     */
    maximumTitleWidth?: number;
    /**
     * If set to true, legend will be visible using pages in stock chart.
     *
     * @default true
     */
    enablePages?: boolean;
    /**
     * If set to true, legend will be Reversed in stock chart.
     *
     * @default false
     */
    isInversed?: boolean;
}
/**
 * Interface for a class StockLegend
 */
export interface StockLegendModel {
}
//node_modules/@syncfusion/ej2-charts/src/sparkline/sparkline.d.ts
/**
 * Represents the Sparkline control.
 * ```html
 * <div id="sparkline"/>
 * <script>
 *   var sparkline = new Sparkline();
 *   sparkline.appendTo("#sparkline");
 * </script>
 * ```
 */
export  class Sparkline extends base.Component<HTMLElement> implements base.INotifyPropertyChanged {
    sparklineTooltipModule: SparklineTooltip;
    /**
     * To configure Sparkline width.
     */
    width: string;
    /**
     * To configure Sparkline height.
     */
    height: string;
    /**
     * To configure Sparkline points border color and width.
     */
    border: SparklineBorderModel;
    /**
     * To configure Sparkline series type.
     *
     * @default 'Line'
     */
    type: SparklineType;
    /**
     * To configure Sparkline series type.
     *
     * @default 'None'
     */
    rangePadding: SparklineRangePadding;
    /**
     * To configure sparkline data source.
     *
     * @isGenericType true
     * @default null
     */
    dataSource: Object[] | data.DataManager;
    /**
     * Specifies the query for filter the data.
     *
     * @default null
     */
    query: data.Query;
    /**
     * To configure sparkline series value type.
     *
     * @default 'Numeric'
     */
    valueType: SparklineValueType;
    /**
     * To configure sparkline series xName.
     *
     * @default null
     */
    xName: string;
    /**
     * To configure sparkline series yName.
     *
     * @default null
     */
    yName: string;
    /**
     * To configure sparkline series fill.
     *
     * @default '#00bdae'
     */
    fill: string;
    /**
     * To configure sparkline series highest y value point color.
     *
     * @default ''
     */
    highPointColor: string;
    /**
     * To configure sparkline series lowest y value point color.
     *
     * @default ''
     */
    lowPointColor: string;
    /**
     * To configure sparkline series first x value point color.
     *
     * @default ''
     */
    startPointColor: string;
    /**
     * To configure sparkline series last x value point color.
     *
     * @default ''
     */
    endPointColor: string;
    /**
     * To configure sparkline series negative y value point color.
     *
     * @default ''
     */
    negativePointColor: string;
    /**
     * To configure sparkline winloss series tie y value point color.
     *
     * @default ''
     */
    tiePointColor: string;
    /**
     * To configure sparkline series color palette. It applicable to column and pie type series.
     *
     * @default []
     */
    palette: string[];
    /**
     * To configure sparkline line series width.
     *
     * @default '1'
     */
    lineWidth: number;
    /**
     * To configure sparkline line series opacity.
     *
     * @default '1'
     */
    opacity: number;
    /**
     * To apply internationalization for sparkline.
     *
     * @default null
     */
    format: string;
    /**
     * To enable the separator.
     *
     * @default false
     */
    useGroupingSeparator: boolean;
    /**
     * To configure Sparkline tooltip settings.
     */
    tooltipSettings: SparklineTooltipSettingsModel;
    /**
     * To configure Sparkline container area customization.
     */
    containerArea: ContainerAreaModel;
    /**
     * To configure Sparkline axis line customization.
     */
    rangeBandSettings: RangeBandSettingsModel[];
    /**
     * To configure Sparkline container area customization.
     */
    axisSettings: AxisSettingsModel;
    /**
     * To configure Sparkline marker configuration.
     */
    markerSettings: SparklineMarkerSettingsModel;
    /**
     * To configure Sparkline dataLabel configuration.
     */
    dataLabelSettings: SparklineDataLabelSettingsModel;
    /**
     * To configure Sparkline container area customization.
     */
    padding: PaddingModel;
    /**
     * To configure sparkline theme.
     *
     * @default 'Material'
     */
    theme: SparklineTheme;
    /**
     * Triggers after sparkline rendered.
     *
     * @event loaded
     */
    loaded: base.EmitType<ISparklineLoadedEventArgs>;
    /**
     * Triggers before sparkline render.
     *
     * @event load
     */
    load: base.EmitType<ISparklineLoadEventArgs>;
    /**
     * Triggers before sparkline tooltip render.
     *
     * @event tooltipInitialize
     */
    tooltipInitialize: base.EmitType<ITooltipRenderingEventArgs>;
    /**
     * Triggers before sparkline series render.
     *
     * @event seriesRendering
     */
    seriesRendering: base.EmitType<ISeriesRenderingEventArgs>;
    /**
     * Triggers before sparkline axis render.
     *
     * @event axisRendering
     */
    axisRendering: base.EmitType<IAxisRenderingEventArgs>;
    /**
     * Triggers before sparkline points render.
     *
     * @event pointRendering
     */
    pointRendering: base.EmitType<ISparklinePointEventArgs>;
    /**
     * Triggers while mouse move on the sparkline point region.
     *
     * @event pointRegionMouseMove
     */
    pointRegionMouseMove: base.EmitType<IPointRegionEventArgs>;
    /**
     * Triggers while mouse click on the sparkline point region.
     *
     * @event pointRegionMouseClick
     */
    pointRegionMouseClick: base.EmitType<IPointRegionEventArgs>;
    /**
     * Triggers while mouse move on the sparkline container.
     *
     * @event sparklineMouseMove
     */
    sparklineMouseMove: base.EmitType<ISparklineMouseEventArgs>;
    /**
     * Triggers while mouse click on the sparkline container.
     *
     * @event sparklineMouseClick
     */
    sparklineMouseClick: base.EmitType<ISparklineMouseEventArgs>;
    /**
     * Triggers before the sparkline datalabel render.
     *
     * @event dataLabelRendering
     */
    dataLabelRendering: base.EmitType<IDataLabelRenderingEventArgs>;
    /**
     * Triggers before the sparkline marker render.
     *
     * @event markerRendering
     */
    markerRendering: base.EmitType<IMarkerRenderingEventArgs>;
    /**
     * Triggers on resizing the sparkline.
     *
     * @event resize
     */
    resize: base.EmitType<ISparklineResizeEventArgs>;
    /**
     * SVG renderer object.
     *
     * @private
     */
    renderer: svgBase.SvgRenderer;
    /**
     * Sparkline renderer object.
     *
     * @private
     */
    sparklineRenderer: SparklineRenderer;
    /**
     * Sparkline SVG element's object.
     *
     * @private
     */
    svgObject: Element;
    /** @private */
    isDevice: boolean;
    /** @private */
    intervalDivs: number[];
    /** @private */
    isTouch: boolean;
    /** @private */
    mouseX: number;
    /** @private */
    mouseY: number;
    /**
     * resize event timer.
     *
     * @private
     */
    resizeTo: number;
    /**
     * Sparkline available height, width.
     *
     * @private
     */
    availableSize: Size;
    /**
     * Sparkline theme support.
     *
     *  @private
     */
    sparkTheme: IThemes;
    /**
     * localization object.
     *
     * @private
     */
    localeObject: base.L10n;
    /**
     * To process sparkline data internally.
     *
     * @private
     */
    sparklineData: Object[] | data.DataManager;
    /**
     * It contains default values of localization values
     */
    private defaultLocalConstants;
    /**
     * Internal use of internationalization instance.
     *
     * @private
     */
    intl: base.Internationalization;
    private previousTargetId;
    private currentPointIndex;
    /**
     * Constructor for creating the Sparkline widget.
     *
     * @param {SparklineModel} options - The options to configure the Sparkline widget.
     * @param {string | HTMLElement} element - The target element to render the Sparkline widget.
     */
    constructor(options?: SparklineModel, element?: string | HTMLElement);
    /**
     * Initializing pre-required values for sparkline.
     *
     * @returns {void}
     */
    protected preRender(): void;
    /**
     * Sparkline Elements rendering starting.
     *
     * @returns {void}
     */
    protected render(): void;
    /**
     * @private
     * @returns {void}
     */
    processSparklineData(): void;
    /**
     * To render sparkline elements.
     *
     * @returns {void}
     */
    renderSparkline(): void;
    /**
     * Create secondary element for the tooltip.
     *
     * @returns {void}
     */
    private createDiv;
    /**
     * To set the left and top position for data label template for sparkline.
     *
     * @returns {void}
     */
    private setSecondaryElementPosition;
    /**
     * Render the sparkline border.
     *
     * @private
     * @returns {void}
     */
    private renderBorder;
    /**
     * To create svg element for sparkline.
     *
     * @returns {void}
     */
    private createSVG;
    /**
     * To Remove the Sparkline SVG object.
     *
     * @returns {void}
     */
    private removeSvg;
    /**
     * Method to set culture for sparkline.
     *
     * @returns {void}
     */
    private setCulture;
    /**
     * Keyboard navigation is used to set the tab theme color for the sparkline.
     *
     * @returns {void}
     */
    private setTheme;
    /**
     * To provide the array of modules needed for sparkline rendering.
     *
     * @returns {base.ModuleDeclaration[]} - The array of modules required for Sparkline rendering.
     * @private
     */
    requiredModules(): base.ModuleDeclaration[];
    /**
     * Method to unbind events for sparkline chart.
     *
     * @returns {void}
     */
    private unWireEvents;
    /**
     * Method to bind events for the sparkline.
     *
     * @returns {void}
     */
    private wireEvents;
    /**
     * Sparkline resize event.
     *
     * @private
     * @returns {boolean} - false
     */
    sparklineResize(): boolean;
    /**
     * Handles the mouse move on sparkline.
     *
     * @param {PointerEvent} e - The pointer event.
     * @returns {boolean} - false
     * @private
     */
    sparklineMove(e: PointerEvent): boolean;
    /**
     * Handles the mouse click on sparkline.
     *
     * @param {PointerEvent} e - The pointer event.
     * @returns {boolean} - false
     * @private
     */
    sparklineClick(e: PointerEvent): boolean;
    /**
     * To check mouse event target is point region or not.
     *
     * @param {PointerEvent} e - The pointer event.
     * @returns {{isPointRegion: boolean, pointIndex: number}} - Object containing whether the target is within a point region and the index of the point.
     */
    private isPointRegion;
    /**
     * Handles the mouse end.
     *
     * @param {PointerEvent} e - The pointer event.
     * @returns {boolean} - false
     * @private
     */
    sparklineMouseEnd(e: PointerEvent): boolean;
    /**
     * Handles the mouse leave on sparkline.
     *
     * @param {PointerEvent} e - The pointer event.
     * @returns {boolean} - false
     * @private
     */
    sparklineMouseLeave(e: PointerEvent): boolean;
    /**
     * Handles the keyboard onkeydown on sparkline.
     *
     * @param {KeyboardEvent} e - The keyboard event.
     * @returns {boolean} - false
     * @private
     */
    chartKeyDown(e: KeyboardEvent): boolean;
    /**
     * Handles the keyboard onkeydown on sparkline.
     *
     * @param {KeyboardEvent} e - The keyboard event.
     * @returns {boolean} - false
     * @private
     */
    chartKeyUp(e: KeyboardEvent): boolean;
    /**
     * Handles to set style for key event on the document.
     *
     * @param {target} target - element which currently focused.
     * @returns {void}
     * @private
     */
    private setNavigationStyle;
    /**
     * Handles to remove style for key event on the document.
     *
     * @returns {void}
     * @private
     */
    private removeNavigationStyle;
    private sparklineKeyboardNavigations;
    /**
     * Sets the tab index for the specified elements.
     *
     * @param {HTMLElement} previousElement - The previous element whose tab index needs to be removed.
     * @param {HTMLElement} currentElement - The current element to which the tab index needs to be set.
     * @returns {void}
     * @private
     */
    setTabIndex(previousElement: HTMLElement, currentElement: HTMLElement): void;
    /**
     * Gets the actual index based on the provided index and the total length.
     *
     * @param {number} index - The provided index.
     * @param {number} totalLength - The total length of the collection.
     * @returns {number} - The actual index, ensuring it is within the valid range.
     * @private
     */
    getActualIndex(index: number, totalLength: number): number;
    private focusChild;
    /**
     * Method to set mouse x, y from events.
     *
     * @param {PointerEvent} e - The pointer event.
     * @returns {void}
     */
    private setSparklineMouseXY;
    /**
     * To change rendering while property value modified.
     *
     * @private
     * @param {SparklineModel} newProp - new SparklineModel.
     * @returns {void}
     */
    onPropertyChanged(newProp: SparklineModel): void;
    /**
     * To render sparkline series and appending.
     *
     * @returns {void}
     */
    private refreshSparkline;
    /**
     * Get component name.
     *
     * @returns {string} - Returns the module name.
     */
    getModuleName(): string;
    /**
     * Destroy the component.
     *
     * @returns {void}
     */
    destroy(): void;
    /**
     * Get the properties to be maintained in the persisted state.
     *
     * @private
     * @returns {string} -  The properties to be maintained in the persisted state.
     */
    getPersistData(): string;
}
//node_modules/@syncfusion/ej2-charts/src/sparkline/sparkline-model.d.ts
/**
 * Interface for a class Sparkline
 */
export interface SparklineModel extends base.ComponentModel{
    /**
     * To configure Sparkline width.
     */
    width?: string;
    /**
     * To configure Sparkline height.
     */
    height?: string;
    /**
     * To configure Sparkline points border color and width.
     */
    border?: SparklineBorderModel;
    /**
     * To configure Sparkline series type.
     *
     * @default 'Line'
     */
    type?: SparklineType;
    /**
     * To configure Sparkline series type.
     *
     * @default 'None'
     */
    rangePadding?: SparklineRangePadding;
    /**
     * To configure sparkline data source.
     *
     * @isGenericType true
     * @default null
     */
    dataSource?: Object[] | data.DataManager;
    /**
     * Specifies the query for filter the data.
     *
     * @default null
     */
    query?: data.Query;
    /**
     * To configure sparkline series value type.
     *
     * @default 'Numeric'
     */
    valueType?: SparklineValueType;
    /**
     * To configure sparkline series xName.
     *
     * @default null
     */
    xName?: string;
    /**
     * To configure sparkline series yName.
     *
     * @default null
     */
    yName?: string;
    /**
     * To configure sparkline series fill.
     *
     * @default '#00bdae'
     */
    fill?: string;
    /**
     * To configure sparkline series highest y value point color.
     *
     * @default ''
     */
    highPointColor?: string;
    /**
     * To configure sparkline series lowest y value point color.
     *
     * @default ''
     */
    lowPointColor?: string;
    /**
     * To configure sparkline series first x value point color.
     *
     * @default ''
     */
    startPointColor?: string;
    /**
     * To configure sparkline series last x value point color.
     *
     * @default ''
     */
    endPointColor?: string;
    /**
     * To configure sparkline series negative y value point color.
     *
     * @default ''
     */
    negativePointColor?: string;
    /**
     * To configure sparkline winloss series tie y value point color.
     *
     * @default ''
     */
    tiePointColor?: string;
    /**
     * To configure sparkline series color palette. It applicable to column and pie type series.
     *
     * @default []
     */
    palette?: string[];
    /**
     * To configure sparkline line series width.
     *
     * @default '1'
     */
    lineWidth?: number;
    /**
     * To configure sparkline line series opacity.
     *
     * @default '1'
     */
    opacity?: number;
    /**
     * To apply internationalization for sparkline.
     *
     * @default null
     */
    format?: string;
    /**
     * To enable the separator.
     *
     * @default false
     */
    useGroupingSeparator?: boolean;
    /**
     * To configure Sparkline tooltip settings.
     */
    tooltipSettings?: SparklineTooltipSettingsModel;
    /**
     * To configure Sparkline container area customization.
     */
    containerArea?: ContainerAreaModel;
    /**
     * To configure Sparkline axis line customization.
     */
    rangeBandSettings?: RangeBandSettingsModel[];
    /**
     * To configure Sparkline container area customization.
     */
    axisSettings?: AxisSettingsModel;
    /**
     * To configure Sparkline marker configuration.
     */
    markerSettings?: SparklineMarkerSettingsModel;
    /**
     * To configure Sparkline dataLabel configuration.
     */
    dataLabelSettings?: SparklineDataLabelSettingsModel;
    /**
     * To configure Sparkline container area customization.
     */
    padding?: PaddingModel;
    /**
     * To configure sparkline theme.
     *
     * @default 'Material'
     */
    theme?: SparklineTheme;
    /**
     * Triggers after sparkline rendered.
     *
     * @event loaded
     */
    loaded?: base.EmitType<ISparklineLoadedEventArgs>;
    /**
     * Triggers before sparkline render.
     *
     * @event load
     */
    load?: base.EmitType<ISparklineLoadEventArgs>;
    /**
     * Triggers before sparkline tooltip render.
     *
     * @event tooltipInitialize
     */
    tooltipInitialize?: base.EmitType<ITooltipRenderingEventArgs>;
    /**
     * Triggers before sparkline series render.
     *
     * @event seriesRendering
     */
    seriesRendering?: base.EmitType<ISeriesRenderingEventArgs>;
    /**
     * Triggers before sparkline axis render.
     *
     * @event axisRendering
     */
    axisRendering?: base.EmitType<IAxisRenderingEventArgs>;
    /**
     * Triggers before sparkline points render.
     *
     * @event pointRendering
     */
    pointRendering?: base.EmitType<ISparklinePointEventArgs>;
    /**
     * Triggers while mouse move on the sparkline point region.
     *
     * @event pointRegionMouseMove
     */
    pointRegionMouseMove?: base.EmitType<IPointRegionEventArgs>;
    /**
     * Triggers while mouse click on the sparkline point region.
     *
     * @event pointRegionMouseClick
     */
    pointRegionMouseClick?: base.EmitType<IPointRegionEventArgs>;
    /**
     * Triggers while mouse move on the sparkline container.
     *
     * @event sparklineMouseMove
     */
    sparklineMouseMove?: base.EmitType<ISparklineMouseEventArgs>;
    /**
     * Triggers while mouse click on the sparkline container.
     *
     * @event sparklineMouseClick
     */
    sparklineMouseClick?: base.EmitType<ISparklineMouseEventArgs>;
    /**
     * Triggers before the sparkline datalabel render.
     *
     * @event dataLabelRendering
     */
    dataLabelRendering?: base.EmitType<IDataLabelRenderingEventArgs>;
    /**
     * Triggers before the sparkline marker render.
     *
     * @event markerRendering
     */
    markerRendering?: base.EmitType<IMarkerRenderingEventArgs>;
    /**
     * Triggers on resizing the sparkline.
     *
     * @event resize
     */
    resize?: base.EmitType<ISparklineResizeEventArgs>;
}
//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);
}
/**
 * Gets the series color.
 *
 * @private
 * @param {SparklineTheme} theme - The theme for the sparkline.
 * @returns {string[]} - The series color from the theme.
 */
export  function getSeriesColor(theme: SparklineTheme): string[];
/**
 * To find the default colors based on theme.
 *
 * @private
 * @param {SparklineTheme} theme - The theme for the sparkline.
 * @returns {IThemes} - The theme colors.
 */
export  function getThemeColor(theme: SparklineTheme): IThemes;
/**
 * To find number from string.
 *
 * @private
 * @param {string} value - The string containing the number.
 * @param {number} containerSize - The container size for the number.
 * @returns {number} - The extracted number from the string.
 */
export  function stringToNumber(value: string, containerSize: number): number;
/**
 * Method to calculate the width and height of the sparkline.
 *
 * @param {Sparkline} sparkline - The Sparkline instance.
 * @returns {void}
 */
export  function calculateSize(sparkline: Sparkline): void;
/**
 * Method to create svg for sparkline.
 *
 * @param {Sparkline} sparkline - The Sparkline instance.
 * @returns {void}
 */
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 PathOption {
    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 RectOption 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 CircleOption 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
 * @param {Element} shape - The shape element to be appended.
 * @param {Element} element - The parent element to which the shape will be appended.
 * @returns {Element} - The appended shape element.
 */
export  function appendShape(shape: Element, element: Element): Element;
/**
 * Internal rendering of Circle.
 *
 * @private
 * @param {Sparkline} sparkline - The Sparkline instance.
 * @param {CircleOption} options - The options for rendering the circle.
 * @param {Element} element - The parent element to which the circle will be appended.
 * @returns {Element} - The rendered circle element.
 */
export  function drawCircle(sparkline: Sparkline, options: CircleOption, element?: Element): Element;
/**
 * To get rounded rect path direction.
 *
 * @param {Rect} r - The rect dimensions.
 * @param {number} topLeft - The radius of the top-left corner.
 * @param {number} topRight - The radius of the top-right corner.
 * @param {number} bottomLeft - The radius of the bottom-left corner.
 * @param {number} bottomRight - The radius of the bottom-right corner.
 * @returns {string} - The SVG path string for the rounded rect path.
 */
export  function calculateRoundedRectPath(r: Rect, topLeft: number, topRight: number, bottomLeft: number, bottomRight: number): string;
/**
 * Internal rendering of Rectangle.
 *
 * @private
 * @param {Sparkline} sparkline - The Sparkline instance.
 * @param {RectOption} options - The options for rendering the rectangle.
 * @param {Element} element - The parent element to which the rectangle will be appended.
 * @returns {Element} - The rendered rectangle element.
 */
export  function drawRectangle(sparkline: Sparkline, options: RectOption, element?: Element): Element;
/**
 * Internal rendering of Path.
 *
 * @private
 * @param {Sparkline} sparkline - The Sparkline instance.
 * @param {PathOption} options - The options for rendering the path.
 * @param {Element} element - The parent element to which the path will be appended.
 * @returns {Element} - The rendered path.
 */
export  function drawPath(sparkline: Sparkline, options: PathOption, element?: Element): Element;
/**
 * Function to measure the height and width of the text.
 *
 * @private
 * @param {string} text - The text to measure.
 * @param {SparklineFontModel} font - The font settings for the text.
 * @param {FontModel} themeStyle - The theme style applied to the text.
 * @returns {Size} - The size of the text.
 */
export  function measureText(text: string, font: SparklineFontModel, themeStyle?: FontModel): Size;
/**
 * Internal use of text options
 *
 * @private
 */
export  class TextOption {
    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
 * @param {TextOption} options - The options for rendering the text.
 * @param {SparklineFontModel} font - The font settings for the text.
 * @param {string} color - The color of the text.
 * @param {HTMLElement | Element} parent - The parent element to which the text will be appended.
 * @param {FontModel} themeStyle - The theme style applied to the text.
 * @returns {Element} - The rendered text element.
 */
export  function renderTextElement(options: TextOption, font: SparklineFontModel, color: string, parent: HTMLElement | Element, themeStyle?: FontModel): Element;
/**
 * To remove element by id.
 *
 * @param {string} id - The id of the element to remove.
 * @returns {void}
 */
export  function removeElement(id: string): void;
/**
 * To find the element by id.
 *
 * @param {string} id - The id of the element to find.
 * @returns {Element} - The element with the specified id, if found.
 */
export  function getIdElement(id: string): Element;
/**
 * To find point within the bounds.
 *
 * @param {number} x - The x-coordinate of the point.
 * @param {number} y - The y-coordinate of the point.
 * @param {Rect} bounds - The bounding rectangle to check against.
 * @returns {boolean} - True if the point is within the bounds, false otherwise.
 */
export  function withInBounds(x: number, y: number, bounds: Rect): boolean;
//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
     * @returns {void}
     */
    private addEventListener;
    private mouseLeaveHandler;
    private mouseUpHandler;
    private fadeOut;
    /**
     * To remove tooltip and tracker elements.
     *
     * @private
     * @returns {void}
     */
    removeTooltipElements(): void;
    private mouseMoveHandler;
    private processTooltip;
    /**
     * To render tracker line.
     *
     * @param {SparkValues} points - The data points for rendering the tracker line.
     * @returns {void}
     */
    private renderTrackerLine;
    /**
     * To render tooltip.
     *
     * @param {SparkValues} points - The data points for rendering the tooltip.
     * @returns {void}
     */
    renderTooltip(points: SparkValues): void;
    private addTooltip;
    /**
     * To get tooltip format.
     *
     * @param {string} format - The format string for tooltip.
     * @param {Sparkline} spark - The Sparkline instance.
     * @param {string} x - The x-coordinate of the data point.
     * @param {string} y - The y-coordinate of the data point.
     * @returns {string[]} - The formatted tooltip text.
     */
    private getFormat;
    private formatValue;
    /**
     * To remove tracker line.
     *
     * @returns {void}
     */
    private removeTracker;
    /**
     * To remove tooltip element.
     *
     * @returns {void}
     */
    private removeTooltip;
    /**
     * Get module name.
     *
     * @returns {string} - To get the module name.
     */
    protected getModuleName(): string;
    /**
     * To destroy the tooltip.
     *
     * @returns {void}
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-charts/src/sparkline/rendering/sparkline-renderer.d.ts
/**
 * Sparkline rendering calculation file
 */
export  class SparklineRenderer {
    /**
     * To process sparkline instance internally.
     */
    private sparkline;
    private min;
    private maxLength;
    private unitX;
    private unitY;
    private axisColor;
    private axisWidth;
    private axisValue;
    private clipId;
    /**
     * To get visible points options internally.
     *
     * @private
     */
    visiblePoints: SparkValues[];
    private axisHeight;
    /**
     * To process highpoint index color for tooltip customization
     *
     * @private
     */
    highPointIndex: number;
    /**
     * To process low point index color for tooltip customization
     *
     * @private
     */
    lowPointIndex: number;
    /**
     * To process start point index color for tooltip customization
     *
     * @private
     */
    startPointIndex: number;
    /**
     * To process end point index color for tooltip customization
     *
     * @private
     */
    endPointIndex: number;
    /**
     * To process negative point index color for tooltip customization
     *
     * @private
     */
    negativePointIndexes: number[];
    /**
     * Sparkline data calculations.
     *
     * @param {Sparkline} sparkline - The Sparkline control.
     */
    constructor(sparkline: Sparkline);
    /**
     * To process the sparkline data.
     *
     * @returns {void}
     */
    processData(): void;
    processDataManager(): void;
    /**
     * To process sparkline category data.
     *
     * @param {Object[]} data - The data array to process.
     * @param {string} x - The name of the x-field.
     * @param {string} y - The name of the y-field.
     * @returns {void}
     */
    private processCategory;
    /**
     * To process sparkline DateTime data.
     *
     * @param {Object[]} data - The data array to process.
     * @param {string} x - The name of the x-field.
     * @param {string} y - The name of the y-field.
     * @returns {void}
     */
    private processDateTime;
    /**
     * To render sparkline series.
     *
     * @private
     * @returns {void}
     */
    renderSeries(): void;
    /**
     * To render a range band.
     *
     * @param {RangeBandSettingsModel} rangeBandSettings - The settings for the range band.
     * @param {Element} group - The group element to render the range band.
     * @param {number} index - The index of the range band.
     * @returns {void}
     */
    private rangeBand;
    /**
     * To render line series.
     *
     * @param {SparkValues[]} points - The data points for the line series.
     * @param {ISeriesRenderingEventArgs} args - The rendering event arguments.
     * @returns {void}
     */
    private renderLine;
    /**
     * To render pie series.
     *
     * @param {SparkValues[]} points - The data points for the pie series.
     * @param {ISeriesRenderingEventArgs} args - The rendering event arguments.
     * @returns {void}
     */
    private renderPie;
    /**
     * To get special point color and option for Pie series.
     *
     * @param {SparkValues} temp - The data point for the special point.
     * @param {Sparkline} spark - The sparkline instance.
     * @param {PathOption} option - The option for the special point.
     * @param {number} i - The index of the special point.
     * @param {number} high - The high value.
     * @param {number} low - The low value.
     * @param {number} length - The total number of data points.
     * @returns {void}
     */
    private getPieSpecialPoint;
    /**
     * To render area series.
     *
     * @param {SparkValues[]} points - The data points for the area series.
     * @param {ISeriesRenderingEventArgs} args - The rendering event arguments.
     * @returns {void}
     */
    private renderArea;
    /**
     * To render column series.
     *
     * @param {SparkValues[]} points - The data points for the column series.
     * @param {ISeriesRenderingEventArgs} args - The rendering event arguments.
     * @returns {void}
     */
    private renderColumn;
    /**
     * To render WinLoss series.
     *
     * @param {SparkValues[]} points - The data points for the winloss series.
     * @param {ISeriesRenderingEventArgs} args - The rendering event arguments.
     * @returns {void}
     */
    private renderWinLoss;
    private renderMarker;
    /**
     * To get special point color and option.
     *
     * @param {boolean} render - Indicates whether to render the special point.
     * @param {SparkValues} temp - The data point for the special point.
     * @param {Sparkline} spark - The sparkline instance.
     * @param {PathOption} option - The option for the special point.
     * @param {number} i - The index of the special point.
     * @param {number} highPos - The position of the high value.
     * @param {number} lowPos - The position of the low value.
     * @param {number} length - The total number of data points.
     * @param {string} visible - The visibility state of the special point.
     * @returns {boolean} - Indicates whether the special point is rendered.
     */
    private getSpecialPoint;
    /**
     * To render data label for sparkline.
     *
     * @param {SparkValues[]} points - The data points for the series datalabels.
     * @returns {void}
     */
    private renderLabel;
    private arrangeLabelPosition;
    /**
     * To get special point color and option.
     *
     * @param {boolean} render - Indicates whether to render the special point.
     * @param {SparkValues} temp - The data point for the special point.
     * @param {number} i - The index of the sparkline instance.
     * @param {SparklineDataLabelSettingsModel} label - The options for the special point.
     * @param {number} length - The total number of data points.
     * @param {number} highPos - The position of the high value.
     * @param {number} lowPos - The position of the low value.
     * @returns {boolean} - Indicates whether the special point is rendered.
     */
    private getLabelVisible;
    /**
     * To format text.
     *
     * @param {string} format - The format string to apply.
     * @param {object} data - The data object to format.
     * @returns {string} - The formatted text.
     */
    private formatter;
    /**
     * To calculate min and max for x and y axis.
     *
     * @returns {void}
     */
    private axisCalculation;
    /**
     * To find x axis interval.
     *
     * @param {Object[]} data - The data points.
     * @param {string} x - The x-axis field name.
     * @returns {number} - The calculated interval.
     */
    private getInterval;
    /**
     * To find x axis interval for padding.
     *
     * @param {Object[]} data - The data points.
     * @param {string} x - The x-axis field name.
     * @param {SparklineValueType} type - The type of sparkline value.
     * @param {number} delta - The delta values.
     * @returns {number} - The calculated x-axis interval for padding.
     */
    private getPaddingInterval;
    /**
     * To calculate axis ranges internally.
     *
     * @param {Object[]} data - The data points.
     * @returns {void}
     */
    private findRanges;
    /**
     * To render the sparkline axis.
     *
     * @returns {void}
     */
    private drawAxis;
    /**
     * To trigger point render event.
     *
     * @param {string} name - The name of the data point.
     * @param {number} i - The index of the data point.
     * @param {string} fill - The fill color of the data point.
     * @param {SparklineBorderModel} border - The border settings of the data point.
     * @returns {ISparklinePointEventArgs} - The event arguments for the point render event.
     */
    private triggerPointRender;
}
//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;
    /** Defines the label font size. */
    labelFontSize?: string;
    /** Defines the tooltip font size. */
    tooltipFontFamily: string;
    /** Defines the tooltip font weight. */
    tooltipFontWeight: string;
    /** Defines the datalabel font style. */
    dataLabelFont: FontModel;
    /** Defines the tab color style. */
    tabColor: string;
}
/**
 * Specifies the Loaded Event arguments.
 */
export interface ISparklineLoadedEventArgs extends ISparklineEventArgs {
    /** Defines the current sparkline instance. */
    sparkline: Sparkline;
}
/**
 * Specifies the Load Event arguments.
 */
export interface ISparklineLoadEventArgs extends ISparklineEventArgs {
    /** Defines the current sparkline instance. */
    sparkline: Sparkline;
}
/**
 * Specifies the axis rendering Event arguments.
 */
export interface IAxisRenderingEventArgs extends ISparklineEventArgs {
    /** Defines the current sparkline instance. */
    sparkline: Sparkline;
    /** Defines the sparkline axis min x. */
    minX: number;
    /** Defines the sparkline axis max x. */
    maxX: number;
    /** Defines the sparkline axis min y. */
    minY: number;
    /** Defines the sparkline axis max y. */
    maxY: number;
    /** Defines the sparkline axis value. */
    value: number;
    /** Defines the sparkline axis line color. */
    lineColor: string;
    /** Defines the sparkline axis line width. */
    lineWidth: number;
}
/**
 * Specifies the sparkline series rendering Event arguments.
 */
export interface ISeriesRenderingEventArgs extends ISparklineEventArgs {
    /** Defines the current sparkline instance. */
    sparkline: Sparkline;
    /** Defines the sparkline series fill color. */
    fill: string;
    /** Defines the sparkline series line width for applicable line and area. */
    lineWidth: number;
    /** Defines the current sparkline series border. */
    border: SparklineBorderModel;
}
/**
 * Specifies the sparkline point related Event arguments.
 */
export interface ISparklinePointEventArgs extends ISparklineEventArgs {
    /** Defines the current sparkline instance. */
    sparkline?: Sparkline;
    /** Defines the current sparkline point index. */
    pointIndex: number;
    /** Defines the current sparkline point fill color. */
    fill: string;
    /** Defines the current sparkline point border. */
    border: SparklineBorderModel;
}
/**
 * Specifies the sparkline mouse related Event arguments.
 */
export interface ISparklineMouseEventArgs extends ISparklineEventArgs {
    /** Defines the current sparkline instance. */
    sparkline?: Sparkline;
    /** Defines the current sparkline mouse event. */
    event: PointerEvent | MouseEvent;
}
/**
 * Specifies the sparkline mouse point region Event arguments.
 */
export interface IPointRegionEventArgs extends ISparklineEventArgs {
    /** Defines the current sparkline instance. */
    sparkline?: Sparkline;
    /** Defines the sparkline point index region event.  */
    pointIndex: number;
    /** Defines the current sparkline mouse event. */
    event: PointerEvent | MouseEvent;
}
/**
 * Specifies the sparkline datalabel rendering Event arguments.
 */
export interface IDataLabelRenderingEventArgs extends ISparklineEventArgs {
    /** Defines the current sparkline instance. */
    sparkline?: Sparkline;
    /** Defines the current sparkline label text. */
    text?: string;
    /** Defines the current sparkline label text location x. */
    x?: number;
    /** Defines the current sparkline label text location y. */
    y?: number;
    /** Defines the current sparkline label text color. */
    color: string;
    /** Defines the current sparkline label rect fill color. */
    fill: string;
    /** Defines the current sparkline label rect border. */
    border?: SparklineBorderModel;
    /** Defines the current sparkline label point index. */
    pointIndex: number;
}
/**
 * Specifies the sparkline marker rendering Event arguments.
 */
export interface IMarkerRenderingEventArgs extends ISparklineEventArgs {
    /** Defines the current sparkline instance. */
    sparkline?: Sparkline;
    /** Defines the current sparkline marker location x. */
    x: number;
    /** Defines the current sparkline marker location y. */
    y: number;
    /** Defines the sparkline marker radius. */
    size: number;
    /** Defines the current sparkline marker fill color. */
    fill: string;
    /** Defines the current sparkline marker border. */
    border?: SparklineBorderModel;
    /** Defines the current sparkline label point index. */
    pointIndex: number;
}
/**
 * Sparkline Resize event arguments.
 */
export interface ISparklineResizeEventArgs {
    /** Defines the name of the Event. */
    name: string;
    /** Defines the previous size of the sparkline. */
    previousSize: Size;
    /** Defines the current size of the sparkline. */
    currentSize: Size;
    /** Defines the sparkline instance. */
    sparkline: Sparkline;
}
/**
 * Sparkline tooltip event args.
 */
export interface ITooltipRenderingEventArgs extends ISparklineEventArgs {
    /** Defines tooltip text. */
    text?: string[];
    /** Defines tooltip text style. */
    textStyle?: SparklineFontModel;
}
//node_modules/@syncfusion/ej2-charts/src/sparkline/model/enum.d.ts
/**
 * Sparkline Enum
 */
/**
 * Specifies the sparkline types.
 * `Line`, `Column`, `WinLoss`, `Pie` and `Area`.
 */
export  type SparklineType = 
/** Define the Sparkline Line type series. */
'Line' | 
/** Define the Sparkline Column type series. */
'Column' | 
/** Define the Sparkline WinLoss type series. */
'WinLoss' | 
/** Define the Sparkline Pie type series. */
'Pie' | 
/** Define the Sparkline Area type series. */
'Area';
/**
 * Defines the range padding of series.
 * `None`, `Normal`, `Additional`, `Additional`.
 */
export  type SparklineRangePadding = 
/** Define the Sparkline Line type series. */
'None' | 
/** Define the Sparkline Column type series. */
'Normal' | 
/** Define the Sparkline WinLoss type series. */
'Additional';
/**
 * Specifies the sparkline data value types.
 * `Numeric`, `Category` and `DateTime`.
 */
export  type SparklineValueType = 
/** Define the Sparkline Numeric value type series. */
'Numeric' | 
/** Define the Sparkline Category value type series. */
'Category' | 
/** Define the Sparkline DateTime value type series. */
'DateTime';
/**
 * Specifies the sparkline marker | datalabel visible types.
 * `All`,  `High`,  `Low`,  `Start`,  `End`,  `Negative` and `None`.
 */
export  type VisibleType = 
/** Define the Sparkline marker | datalabel  Visbile All type */
'All' | 
/** Define the Sparkline marker | datalabel Visbile High type */
'High' | 
/** Define the Sparkline marker | datalabel Visbile Low type */
'Low' | 
/** Define the Sparkline marker | datalabel Visbile Start type */
'Start' | 
/** Define the Sparkline marker | datalabel Visbile End type */
'End' | 
/** Define the Sparkline marker | datalabel Visbile Negative type */
'Negative' | 
/** Define the Sparkline marker | datalabel Visbile None type */
'None';
/**
 * Defines Theme of the sparkline. They are:
 * * Material - Render a sparkline with Material theme.
 * * Fabric - Render a sparkline with Fabric theme.
 * * Bootstrap - Render a sparkline with Bootstrap theme.
 * * HighContrast - Render a sparkline with HighContrast theme.
 * * Dark - Render a sparkline with Dark theme.
 */
export  type SparklineTheme = 
/**  Render a sparkline with Material theme. */
'Material' | 
/**  Render a sparkline with Fabric theme. */
'Fabric' | 
/**  Render a sparkline with Bootstrap theme. */
'Bootstrap' | 
/**  Render a sparkline with HighContrast Light theme. */
'HighContrastLight' | 
/**  Render a sparkline with Material Dark theme. */
'MaterialDark' | 
/**  Render a sparkline with Fabric Dark theme. */
'FabricDark' | 
/**  Render a sparkline with Highcontrast Dark theme. */
'HighContrast' | 
/**  Render a sparkline with Bootstrap Dark theme. */
'BootstrapDark' | 
/** Render a sparkline with Bootstrap4 theme. */
'Bootstrap4' | 
/**  Render a sparkline with Tailwind theme. */
'Tailwind' | 
/**  Render a sparkline with TailwindDark theme. */
'TailwindDark' | 
/**  Render a sparkline with Tailwind3 theme. */
'Tailwind3' | 
/**  Render a sparkline with Tailwind3Dark theme. */
'Tailwind3Dark' | 
/**  Render a sparkline with Bootstrap5 theme. */
'Bootstrap5' | 
/**  Render a sparkline with Bootstrap5Dark theme. */
'Bootstrap5Dark' | 
/**  Render a sparkline with Fluent theme. */
'Fluent' | 
/**  Render a sparkline with Fluent 2 theme. */
'Fluent2' | 
/**  Render a sparkline with Fluent 2 dark theme. */
'Fluent2Dark' | 
/**  Render a sparkline with Fluent 2 highcontrast theme. */
'Fluent2HighContrast' | 
/**  Render a sparkline with FluentDark theme. */
'FluentDark' | 
/**  Render a smithchart with Material 3 theme. */
'Material3' | 
/**  Render a smithchart with Material 3 dark theme. */
'Material3Dark';
/**
 * 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/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.
     *
     * @aspType string
     */
    template: string | Function;
    /**
     * To customize the tooltip format.
     */
    format: string;
    /**
     * To configure tooltip border color and width.
     */
    border: SparklineBorderModel;
    /**
     * To configure tooltip text styles.
     */
    textStyle: SparklineFontModel;
    /**
     * To configure the tracker line options.
     */
    trackLineSettings: TrackLineSettingsModel;
}
/**
 * To configure the sparkline container area customization
 */
export  class ContainerArea extends base.ChildProperty<ContainerArea> {
    /**
     * To configure Sparkline background color.
     *
     * @default 'transparent'
     */
    background: string;
    /**
     * To configure Sparkline border color and width.
     */
    border: SparklineBorderModel;
}
/**
 * To configure axis line settings
 */
export  class LineSettings extends base.ChildProperty<LineSettings> {
    /**
     * To toggle the axis line visibility.
     *
     * @default `false`
     */
    visible: boolean;
    /**
     * To configure the sparkline axis line color.
     */
    color: string;
    /**
     * To configure the sparkline axis line dashArray.
     *
     * @default ''
     */
    dashArray: string;
    /**
     * To configure the sparkline axis line width.
     *
     * @default 1.
     */
    width: number;
    /**
     * To configure the sparkline axis line opacity.
     *
     * @default 1.
     */
    opacity: number;
}
/**
 * To configure the sparkline rangeband.
 */
export  class RangeBandSettings extends base.ChildProperty<RangeBandSettings> {
    /**
     * To configure sparkline start range.
     *
     * @aspDefaultValueIgnore
     */
    startRange: number;
    /**
     * To configure sparkline end range.
     *
     * @aspDefaultValueIgnore
     */
    endRange: number;
    /**
     * To configure sparkline rangeband color.
     */
    color: string;
    /**
     * To configure sparkline rangeband opacity.
     *
     * @default 1
     */
    opacity: number;
}
/**
 * To configure the sparkline axis.
 */
export  class AxisSettings extends base.ChildProperty<AxisSettings> {
    /**
     * To configure Sparkline x axis min value.
     *
     * @aspDefaultValueIgnore
     */
    minX: number;
    /**
     * To configure Sparkline x axis max value.
     *
     * @aspDefaultValueIgnore
     */
    maxX: number;
    /**
     * To configure Sparkline y axis min value.
     *
     * @aspDefaultValueIgnore
     */
    minY: number;
    /**
     * To configure Sparkline y axis max value.
     *
     * @aspDefaultValueIgnore
     */
    maxY: number;
    /**
     * To configure Sparkline horizontal axis line position.
     *
     * @default 0
     */
    value: number;
    /**
     * To configure Sparkline axis line settings.
     */
    lineSettings: LineSettingsModel;
}
/**
 * To configure the sparkline padding.
 */
export  class Padding extends base.ChildProperty<Padding> {
    /**
     * To configure Sparkline left padding.
     *
     * @default 5
     */
    left: number;
    /**
     * To configure Sparkline right padding.
     *
     * @default 5
     */
    right: number;
    /**
     * To configure Sparkline bottom padding.
     *
     * @default 5
     */
    bottom: number;
    /**
     * To configure Sparkline top padding.
     *
     * @default 5
     */
    top: number;
}
/**
 * To configure the sparkline marker options.
 */
export  class SparklineMarkerSettings extends base.ChildProperty<SparklineMarkerSettings> {
    /**
     * To toggle the marker visibility.
     *
     * @default `[]`.
     */
    visible: VisibleType[];
    /**
     * To configure the marker opacity.
     *
     * @default 1
     */
    opacity: number;
    /**
     * To configure the marker size.
     *
     * @default 8
     */
    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/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.
     *
     * @aspType string
     */
    template?: string | Function;
    /**
     * To customize the tooltip format.
     */
    format?: string;
    /**
     * To configure tooltip border color and width.
     */
    border?: SparklineBorderModel;
    /**
     * To configure tooltip text styles.
     */
    textStyle?: SparklineFontModel;
    /**
     * To configure the tracker line options.
     */
    trackLineSettings?: TrackLineSettingsModel;
}
/**
 * Interface for a class ContainerArea
 */
export interface ContainerAreaModel {
    /**
     * To configure Sparkline background color.
     *
     * @default 'transparent'
     */
    background?: string;
    /**
     * To configure Sparkline border color and width.
     */
    border?: SparklineBorderModel;
}
/**
 * Interface for a class LineSettings
 */
export interface LineSettingsModel {
    /**
     * To toggle the axis line visibility.
     *
     * @default `false`
     */
    visible?: boolean;
    /**
     * To configure the sparkline axis line color.
     */
    color?: string;
    /**
     * To configure the sparkline axis line dashArray.
     *
     * @default ''
     */
    dashArray?: string;
    /**
     * To configure the sparkline axis line width.
     *
     * @default 1.
     */
    width?: number;
    /**
     * To configure the sparkline axis line opacity.
     *
     * @default 1.
     */
    opacity?: number;
}
/**
 * Interface for a class RangeBandSettings
 */
export interface RangeBandSettingsModel {
    /**
     * To configure sparkline start range.
     *
     * @aspDefaultValueIgnore
     */
    startRange?: number;
    /**
     * To configure sparkline end range.
     *
     * @aspDefaultValueIgnore
     */
    endRange?: number;
    /**
     * To configure sparkline rangeband color.
     */
    color?: string;
    /**
     * To configure sparkline rangeband opacity.
     *
     * @default 1
     */
    opacity?: number;
}
/**
 * Interface for a class AxisSettings
 */
export interface AxisSettingsModel {
    /**
     * To configure Sparkline x axis min value.
     *
     * @aspDefaultValueIgnore
     */
    minX?: number;
    /**
     * To configure Sparkline x axis max value.
     *
     * @aspDefaultValueIgnore
     */
    maxX?: number;
    /**
     * To configure Sparkline y axis min value.
     *
     * @aspDefaultValueIgnore
     */
    minY?: number;
    /**
     * To configure Sparkline y axis max value.
     *
     * @aspDefaultValueIgnore
     */
    maxY?: number;
    /**
     * To configure Sparkline horizontal axis line position.
     *
     * @default 0
     */
    value?: number;
    /**
     * To configure Sparkline axis line settings.
     */
    lineSettings?: LineSettingsModel;
}
/**
 * Interface for a class Padding
 */
export interface PaddingModel {
    /**
     * To configure Sparkline left padding.
     *
     * @default 5
     */
    left?: number;
    /**
     * To configure Sparkline right padding.
     *
     * @default 5
     */
    right?: number;
    /**
     * To configure Sparkline bottom padding.
     *
     * @default 5
     */
    bottom?: number;
    /**
     * To configure Sparkline top padding.
     *
     * @default 5
     */
    top?: number;
}
/**
 * Interface for a class SparklineMarkerSettings
 */
export interface SparklineMarkerSettingsModel {
    /**
     * To toggle the marker visibility.
     *
     * @default `[]`.
     */
    visible?: VisibleType[];
    /**
     * To configure the marker opacity.
     *
     * @default 1
     */
    opacity?: number;
    /**
     * To configure the marker size.
     *
     * @default 8
     */
    size?: number;
    /**
     * To configure the marker fill color.
     *
     * @default '#00bdae'
     */
    fill?: string;
    /**
     * To configure Sparkline marker border color and width.
     */
    border?: SparklineBorderModel;
}
/**
 * Interface for a class LabelOffset
 */
export interface LabelOffsetModel {
    /**
     * To move the datalabel horizontally.
     */
    x?: number;
    /**
     * To move the datalabel vertically.
     */
    y?: number;
}
/**
 * Interface for a class SparklineDataLabelSettings
 */
export interface SparklineDataLabelSettingsModel {
    /**
     * To toggle the dataLabel visibility.
     *
     * @default `[]`.
     */
    visible?: VisibleType[];
    /**
     * To configure the dataLabel opacity.
     *
     * @default 1
     */
    opacity?: number;
    /**
     * To configure the dataLabel fill color.
     *
     * @default 'transparent'
     */
    fill?: string;
    /**
     * To configure the dataLabel format the value.
     *
     * @default ''
     */
    format?: string;
    /**
     * To configure Sparkline dataLabel border color and width.
     */
    border?: SparklineBorderModel;
    /**
     * To configure Sparkline dataLabel text styles.
     */
    textStyle?: SparklineFontModel;
    /**
     * To configure Sparkline dataLabel offset.
     */
    offset?: LabelOffsetModel;
    /**
     * To change the edge dataLabel placement.
     *
     * @default 'None'.
     */
    edgeLabelMode?: EdgeLabelMode;
}
//node_modules/@syncfusion/ej2-charts/src/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;
    /** @private */
    isLegendClicked: boolean;
    private previousTargetId;
    private currentPointIndex;
    private currentSeriesIndex;
    private currentLegendIndex;
    /** @private */
    delayRedraw: boolean;
    /**
     * Resize the smithchart
     */
    private resizeTo;
    private isTouch;
    private fadeoutTo;
    /**
     * The background color of the smithchart.
     */
    background: string;
    /**
     *  Spacing between elements.
     *
     * @default 10
     */
    elementSpacing: number;
    /**
     *  Spacing between elements.
     *
     * @default 1
     */
    radius: number;
    /**
     * Triggers before the prints gets started.
     *
     * @event beforePrint
     */
    beforePrint: base.EmitType<ISmithchartPrintEventArgs>;
    /**
     * Triggers after the animation completed.
     *
     * @event animationComplete
     */
    animationComplete: base.EmitType<ISmithchartAnimationCompleteEventArgs>;
    /**
     * Triggers before smithchart rendered.
     *
     * @event load
     */
    load: base.EmitType<ISmithchartLoadEventArgs>;
    /**
     * Triggers after smithchart rendered.
     *
     * @event loaded
     */
    loaded: base.EmitType<ISmithchartLoadedEventArgs>;
    /**
     * Triggers before the legend is rendered.
     *
     * @event legendRender
     */
    legendRender: base.EmitType<ISmithchartLegendRenderEventArgs>;
    /**
     * Triggers before the title is rendered.
     *
     * @event titleRender
     */
    titleRender: base.EmitType<ITitleRenderEventArgs>;
    /**
     * Triggers before the sub-title is rendered.
     *
     * @event subtitleRender
     */
    subtitleRender: base.EmitType<ISubTitleRenderEventArgs>;
    /**
     * Triggers before the datalabel text is rendered.
     *
     * @event textRender
     */
    textRender: base.EmitType<ISmithchartTextRenderEventArgs>;
    /**
     * Triggers before the axis label is rendered.
     *
     * @event axisLabelRender
     */
    axisLabelRender: base.EmitType<ISmithchartAxisLabelRenderEventArgs>;
    /**
     * Triggers before the series is rendered.
     *
     * @event seriesRender
     */
    seriesRender: base.EmitType<ISmithchartSeriesRenderEventArgs>;
    /**
     * Triggers before the tooltip rendering.
     *
     * @event tooltipRender
     */
    tooltipRender: base.EmitType<ISmithChartTooltipEventArgs>;
    /**
     * Get component name.
     *
     * @returns {string} - Returns the module name.
     */
    getModuleName(): string;
    /**
     * Get the properties to be maintained in the persisted state.
     *
     * @private
     * @returns {string} - The persisted state data.
     */
    getPersistData(): string;
    /**
     * Method to create SVG element.
     */
    private createChartSvg;
    private renderTitle;
    private renderSubtitle;
    /**
     * Render the smithchart border.
     *
     * @private
     * @returns {void}
     */
    private renderBorder;
    /**
     * Called internally if any of the property value changed.
     *
     * @private
     * @param {SmithchartModel} newProp - The new properties for configuring the SmithChart.
     * @returns {void}
     */
    onPropertyChanged(newProp: SmithchartModel): void;
    /**
     * Constructor for creating the Smithchart widget.
     *
     * @param {SmithchartModel} options - The options for configuring the SmithChart.
     * @param {string | HTMLElement} element - The element where the SmithChart will be created.
     */
    constructor(options?: SmithchartModel, element?: string | HTMLElement);
    /**
     * Initialize the event handler.
     */
    protected preRender(): void;
    private initPrivateVariable;
    /**
     * Handles to set style for key event on the document.
     *
     * @param {target} target - element which currently focused.
     * @returns {void}
     * @private
     */
    private setNavigationStyle;
    /**
     * Handles to remove style for key event on the document.
     *
     * @returns {void}
     * @private
     */
    private removeNavigationStyle;
    /**
     * To Initialize the control rendering.
     *
     * @returns {void}
     */
    private setTheme;
    protected render(): void;
    private createSecondaryElement;
    /**
     * To destroy the widget.
     *
     * @returns {void}.
     */
    destroy(): void;
    /**
     * To bind event handlers for smithchart.
     *
     * @returns {void}
     */
    private wireEVents;
    mouseMove(e: PointerEvent): void;
    mouseEnd(e: PointerEvent): void;
    /**
     * To handle the click event for the smithchart.
     *
     * @param {Event | PointerEvent} e - The event.
     * @returns {void}
     */
    smithchartOnClick(e: Event | PointerEvent): void;
    /**
     * To unbind event handlers from smithchart.
     *
     * @returns {void}
     */
    private unWireEVents;
    print(id?: string[] | string | Element): void;
    /**
     * Handles the export method for the smith chart control.
     *
     * @param {SmithchartExportType} type - The smith chart export type.
     * @param {string} fileName - The filename of the exported smith chart.
     * @param {pdfExport.PdfPageOrientation} orientation - The page orientation for PDF export.
     * @returns {void}
     */
    export(type: SmithchartExportType, fileName: string, orientation?: pdfExport.PdfPageOrientation): void;
    /**
     * Handles the keyboard onkeydown event on the smith chart.
     *
     * @param {KeyboardEvent} e - The keyboard event.
     * @returns {boolean} - Indicates whether the keydown event is handled.
     * @private
     */
    chartKeyDown(e: KeyboardEvent): boolean;
    /**
     * Handles the keyboard keyup event on the smith chart.
     *
     * @param {KeyboardEvent} e - The keyboard event.
     * @returns {boolean} - Indicates whether the keyup event is handled.
     * @private
     */
    chartKeyUp(e: KeyboardEvent): boolean;
    private smithchartKeyboardNavigations;
    setTabIndex(previousElement: HTMLElement, currentElement: HTMLElement): void;
    private getActualIndex;
    private focusChild;
    /**
     * To handle the window resize event on smithchart.
     *
     * @returns {boolean} - Indicates whether the resize event is handled.
     */
    smithchartOnResize(): boolean;
    /**
     * To provide the array of modules needed for smithchart rendering.
     *
     * @private
     * @returns {base.ModuleDeclaration[]} - The array of required modules.
     */
    requiredModules(): base.ModuleDeclaration[];
    /**
     * To Remove the SVG.
     *
     * @private
     * @returns {void}
     */
    removeSvg(): void;
}
//node_modules/@syncfusion/ej2-charts/src/smithchart/smithchart-model.d.ts
/**
 * Interface for a class Smithchart
 */
export interface SmithchartModel extends base.ComponentModel{
    /**
     * render type of smithchart.
     *
     * @default Impedance
     */
    renderType?: RenderType;
    /**
     * width for smithchart.
     *
     * @default ''
     */
    width?: string;
    /**
     * height for smithchart.
     *
     * @default ''
     */
    height?: string;
    /**
     * theme for smithchart.
     *
     * @default Material
     */
    theme?: SmithchartTheme;
    /**
     *  options for customizing margin.
     */
    margin?: SmithchartMarginModel;
    /**
     *  options for customizing margin.
     */
    font?: SmithchartFontModel;
    /**
     *  options for customizing border.
     */
    border?: SmithchartBorderModel;
    /**
     *  options for customizing title.
     */
    title?: TitleModel;
    /**
     *  options for customizing series.
     */
    series?: SmithchartSeriesModel[];
    /**
     *  options for customizing legend.
     */
    legendSettings?: SmithchartLegendSettingsModel;
    /**
     * Options to configure the horizontal axis.
     */
    horizontalAxis?: SmithchartAxisModel;
    /**
     * Options to configure the vertical axis.
     */
    radialAxis?: SmithchartAxisModel;
    /**
     * The background color of the smithchart.
     */
    background?: string;
    /**
     *  Spacing between elements.
     *
     * @default 10
     */
    elementSpacing?: number;
    /**
     *  Spacing between elements.
     *
     * @default 1
     */
    radius?: number;
    /**
     * Triggers before the prints gets started.
     *
     * @event beforePrint
     */
    beforePrint?: base.EmitType<ISmithchartPrintEventArgs>;
    /**
     * Triggers after the animation completed.
     *
     * @event animationComplete
     */
    animationComplete?: base.EmitType<ISmithchartAnimationCompleteEventArgs>;
    /**
     * Triggers before smithchart rendered.
     *
     * @event load
     */
    load?: base.EmitType<ISmithchartLoadEventArgs>;
    /**
     * Triggers after smithchart rendered.
     *
     * @event loaded
     */
    loaded?: base.EmitType<ISmithchartLoadedEventArgs>;
    /**
     * Triggers before the legend is rendered.
     *
     * @event legendRender
     */
    legendRender?: base.EmitType<ISmithchartLegendRenderEventArgs>;
    /**
     * Triggers before the title is rendered.
     *
     * @event titleRender
     */
    titleRender?: base.EmitType<ITitleRenderEventArgs>;
    /**
     * Triggers before the sub-title is rendered.
     *
     * @event subtitleRender
     */
    subtitleRender?: base.EmitType<ISubTitleRenderEventArgs>;
    /**
     * Triggers before the datalabel text is rendered.
     *
     * @event textRender
     */
    textRender?: base.EmitType<ISmithchartTextRenderEventArgs>;
    /**
     * Triggers before the axis label is rendered.
     *
     * @event axisLabelRender
     */
    axisLabelRender?: base.EmitType<ISmithchartAxisLabelRenderEventArgs>;
    /**
     * Triggers before the series is rendered.
     *
     * @event seriesRender
     */
    seriesRender?: base.EmitType<ISmithchartSeriesRenderEventArgs>;
    /**
     * Triggers before the tooltip rendering.
     *
     * @event tooltipRender
     */
    tooltipRender?: base.EmitType<ISmithChartTooltipEventArgs>;
}
//node_modules/@syncfusion/ej2-charts/src/smithchart/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/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/helper.d.ts
/**
 * To create the svg element.
 *
 * @param {Smithchart} smithchart smithchart instance
 * @returns {void}
 */
export  function createSvg(smithchart: Smithchart): void;
/**
 * To get the html element from DOM.
 *
 * @param {string} id id of the html element
 * @returns {Element} html element.
 */
export  function getElement(id: string): Element;
/**
 * To trim the text by given width.
 *
 * @param {number} maximumWidth - max width of the text
 * @param {string} text - text
 * @param {SmithchartFontModel} font - text style
 * @param {SmithchartFontModel} themeFontStyle - theme font style
 * @returns {string} - It returns trimmed text
 */
export  function textTrim(maximumWidth: number, text: string, font: SmithchartFontModel, themeFontStyle: SmithchartFontModel): string;
/**
 * Function to compile the template function for maps.
 *
 * @param {string | Function} templateString - template with string format.
 * @returns {Function} - return template function.
 * @private
 */
export  function getTemplateFunction(templateString: string | Function): Function;
/**
 * Get element from label.
 *
 * @param {Element} element - element
 * @param {string} labelId - label id
 * @param {object} data - chart data
 * @returns {HTMLElement} - html element
 */
export  function convertElementFromLabel(element: Element, labelId: string, data: object): HTMLElement;
/**
 * Get epsilon value.
 *
 * @returns {number} - return epsilon value.
 * @private
 */
export  function _getEpsilonValue(): number;
/**
 * Method to calculate the width and height of the smithchart.
 *
 * @param {Smithchart} smithchart - smithchart instance.
 * @returns {void}
 */
export  function calculateSize(smithchart: Smithchart): void;
/**
 * Method for template animation.
 *
 * @param {Smithchart} smithchart - smithchart
 * @param {Element} element - html element
 * @param {number} delay - animation delay
 * @param {number} duration - animation duration
 * @param {base.Effect} name - animation name
 * @returns {void}
 */
export  function templateAnimate(smithchart: Smithchart, element: Element, delay: number, duration: number, name: base.Effect): void;
/**
 * Convert string to number.
 *
 * @param {string} value - string type value.
 * @param {number} containerSize - size of the container.
 * @returns {number} - returns converted number.
 * @private
 */
export  function stringToNumber(value: string, containerSize: number): number;
/**
 * Internal use of path options.
 *
 * @private
 */
export  class PathOption1 {
    id: string;
    opacity: number;
    fill: string;
    stroke: string;
    ['stroke-width']: number;
    ['stroke-dasharray']: string;
    d: string;
    constructor(id: string, fill: string, width: number, color: string, opacity?: number, dashArray?: string, d?: string);
}
/**
 * Internal use of rectangle options.
 *
 * @private
 */
export  class RectOption1 extends PathOption {
    x: number;
    y: number;
    height: number;
    width: number;
    transform: string;
    constructor(id: string, fill: string, border: SmithchartBorderModel, opacity: number, rect: SmithchartRect);
}
/**
 * Internal use of circle options.
 *
 * @private
 */
export  class CircleOption1 extends PathOption {
    cy: number;
    cx: number;
    r: number;
    ['stroke-dasharray']: string;
    constructor(id: string, fill: string, border: SmithchartBorderModel, opacity: number, cx: number, cy: number, r: number, dashArray: string);
}
/**
 * Method for calculate width and height of given string.
 *
 * @param {string} text - text value
 * @param {SmithchartFontModel} font - text font style
 * @param {SmithchartFontModel} themeFontStyle - theme font style
 * @returns {SmithchartSize} - size of the text
 */
export  function measureText(text: string, font: SmithchartFontModel, themeFontStyle?: SmithchartFontModel): SmithchartSize;
/**
 * Internal use of text options
 *
 * @private
 */
export  class TextOption1 {
    id: string;
    anchor: string;
    text: string;
    x: number;
    y: number;
    constructor(id?: string, x?: number, y?: number, anchor?: string, text?: string);
}
/**
 * Remove html element from DOM.
 *
 * @param {string} id - element id
 * @returns {void}
 */
export  function removeElement(id: string): void;
/**
 * Animation base.Effect Calculation Started Here.
 *
 * @param {number} currentTime - current time
 * @param {number} startValue - start value of the animation
 * @param {number} endValue - end value of the animation
 * @param {number} duration - animation duration
 * @returns {number} - number
 * @private
 */
export  function linear(currentTime: number, startValue: number, endValue: number, duration: number): number;
/**
 * Reverse linear calculation.
 *
 * @param {number} currentTime - current time
 * @param {number} startValue - start value of the animation
 * @param {number} endValue - end value of the animation
 * @param {number} duration - animation duration
 * @returns {number} - number
 */
export  function reverselinear(currentTime: number, startValue: number, endValue: number, duration: number): number;
/**
 * Get animation function name.
 *
 * @param {string} effect - animation effect name
 * @returns {Function} - animation function
 * @private
 */
export  function getAnimationFunction(effect: string): Function;
/**
 * Internal rendering of text.
 *
 * @param {TextOption} options - text element options.
 * @param {SmithchartFontModel} font - text font style.
 * @param {string} color - color of the text.
 * @param {HTMLElement | Element} parent - parent element of the text.
 * @param {SmithchartFontModel} themeFontStyle - theme font style.
 * @returns {Element} - text element.
 * @private
 */
export  function renderTextElement(options: TextOption, font: SmithchartFontModel, color: string, parent: HTMLElement | Element, themeFontStyle?: SmithchartFontModel): Element;
//node_modules/@syncfusion/ej2-charts/src/smithchart/utils/export.d.ts
/**
 * Annotation Module handles the Annotation for Maps.
 */
export  class ExportUtils {
    private control;
    private smithchartPrint;
    /**
     * Constructor for Maps.
     *
     * @param {Smithchart} control - smithchart instance
     */
    constructor(control: Smithchart);
    /**
     * To print the Maps.
     *
     * @param {string} elements - html element
     * @returns {void}
     */
    print(elements?: string[] | string | Element): void;
    /**
     * To get the html string of the Maps.
     *
     * @param {string} svgElements - svg element
     * @private
     * @returns {Element} - content of the html element
     */
    getHTMLContent(svgElements?: string[] | string | Element): Element;
    /**
     * To export the file as image/svg format.
     *
     * @param {SmithchartExportType} exportType - export type
     * @param {string} fileName - export file name
     * @param {pdfExport.PdfPageOrientation} orientation - orientation of the page
     * @returns {void}
     */
    export(exportType: SmithchartExportType, fileName: string, orientation?: pdfExport.PdfPageOrientation): void;
    /**
     * To trigger the download element.
     *
     * @param {string} fileName - export file name
     * @param {SmithchartExportType} exportType - export type
     * @param {string} url - file url
     * @param {boolean} isDownload - download
     * @returns {void}
     */
    triggerDownload(fileName: string, exportType: SmithchartExportType, url: string, isDownload: boolean): void;
}
//node_modules/@syncfusion/ej2-charts/src/smithchart/utils/enum.d.ts
/**
 * Defines Theme of the smithchart. They are
 * * Material - Render a smithchart with Material theme.
 * * Fabric - Render a smithchart with Fabric theme.
 */
export  type SmithchartTheme = 
/**  Render a smithchart with Material theme. */
'Material' | 
/**  Render a smithchart with Fabric theme. */
'Fabric' | 
/**  Render a smithchart with Bootstrap theme. */
'Bootstrap' | 
/**  Render a smithchart with Highcontrast Light theme. */
'HighContrastLight' | 
/**  Render a smithchart with Material Dark theme. */
'MaterialDark' | 
/**  Render a smithchart with Fabric Dark theme. */
'FabricDark' | 
/**  Render a smithchart with Highcontrast Dark theme. */
'HighContrast' | 
/**  Render a smithchart with Bootstrap Dark theme. */
'BootstrapDark' | 
/** Render a smithchart with Bootstrap4 theme. */
'Bootstrap4' | 
/**  Render a smithchart with Tailwind theme. */
'Tailwind' | 
/**  Render a smithchart with TailwindDark theme. */
'TailwindDark' | 
/**  Render a smithchart with Tailwind3 theme. */
'Tailwind3' | 
/**  Render a smithchart with Tailwind3Dark theme. */
'Tailwind3Dark' | 
/**  Render a smithchart with Bootstrap5 theme. */
'Bootstrap5' | 
/**  Render a smithchart with Bootstrap5Dark theme. */
'Bootstrap5Dark' | 
/**  Render a smithchart with Fluent theme. */
'Fluent' | 
/**  Render a smithchart with Fluent 2 theme. */
'Fluent2' | 
/**  Render a smithchart with Fluent 2 dark theme. */
'Fluent2Dark' | 
/**  Render a smithchart with Fluent 2 highcontrast theme. */
'Fluent2HighContrast' | 
/**  Render a smithchart with FluentDark theme. */
'FluentDark' | 
/**  Render a smithchart with Material 3 theme. */
'Material3' | 
/**  Render a smithchart with Material 3 dark theme. */
'Material3Dark';
/**
 * 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';
/**
 * Defines the position of axis labels. They are:
 * * Outside - Render the axis label with position outside the axis.
 * * Inside - Render the axis label with position inside the axis.
 */
export  type AxisLabelPosition = 
/**  Render a axis label with label position as outside. */
'Outside' | 
/**  Render a axis label with label position as outside. */
'Inside';
/**
 * Defines actions for handling overlapping labels in a smith chart. They are:
 * * Hide - Hide the overlapped axis label.
 * * None - Render all axis labels, even if they overlap.
 */
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';
/**
 * Defines the export types supported by smith chart. Ther are
 * * PNG - Export as PNG format.
 * * JPEG - Export as JPEG format.
 * * SVG - Export as SVG format.
 * * PDF - Export as PDF format.
 */
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/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/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/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/series/tooltip.d.ts
/**
 * To render tooltip
 */
export  class TooltipRender {
    mouseX: number;
    mouseY: number;
    private locationX;
    private locationY;
    /** To define the tooltip element. */
    tooltipElement: svgBase.Tooltip;
    smithchartMouseMove(smithchart: Smithchart, e: PointerEvent): svgBase.Tooltip;
    private setMouseXY;
    createTooltip(smithchart: Smithchart, e: PointerEvent | Event, pointIndex: number, seriesindex: number, series: SmithchartSeriesModel): void;
    closestPointXY(smithchart: Smithchart, x: number, y: number, series: SmithchartSeriesModel, seriesindex: number): ClosestPoint;
    /**
     * Get module name.
     *
     * @returns {string} It returns module name
     */
    protected getModuleName(): string;
    /**
     * To destroy the legend.
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-charts/src/smithchart/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/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.75
     */
    opacity: number;
    /**
     * template for tooltip.
     *
     * @default ''
     * @aspType string
     */
    template: string | Function;
    /**
     *  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 ''
     * @aspType string
     */
    template: string | Function;
    /**
     * color for data label.
     *
     * @default null
     */
    fill: string;
    /**
     * opacity for data label.
     *
     * @default 1
     */
    opacity: number;
    /**
     * options for customizing data label border.
     *
     */
    border: SeriesMarkerDataLabelBorderModel;
    /**
     * options for customizing data label connector line.
     */
    connectorLine: SeriesMarkerDataLabelConnectorLineModel;
    /**
     * options for customizing font.
     */
    textStyle: SmithchartFontModel;
}
export  class SeriesMarker extends base.ChildProperty<SeriesMarker> {
    /**
     * visibility for marker.
     *
     * @default false
     */
    visible: boolean;
    /**
     * shape for marker.
     *
     * @default 'circle'
     */
    shape: string;
    /**
     * width for marker.
     *
     * @default 6
     */
    width: number;
    /**
     * height for marker.
     *
     * @default 6
     */
    height: number;
    /**
     * Url for the image that is to be displayed as marker.
     *
     * @default ''
     */
    imageUrl: string;
    /**
     * color for marker.
     *
     * @default ''
     */
    fill: string;
    /**
     * opacity for marker.
     *
     * @default 1
     */
    opacity: number;
    /**
     *  options for customizing marker border.
     */
    border: SeriesMarkerBorderModel;
    /**
     * options for customizing marker data label.
     */
    dataLabel: SeriesMarkerDataLabelModel;
}
export  class SmithchartSeries extends base.ChildProperty<SmithchartSeries> {
    /**
     * visibility for series.
     *
     * @default 'visible'
     */
    visibility: string;
    /**
     * points for series.
     *
     * @default []
     */
    points: ISmithChartPoint[];
    /**
     * resistance name for dataSource.
     *
     * @default ''
     */
    resistance: string;
    /**
     * reactance name for dataSource.
     *
     * @default ''
     */
    reactance: string;
    /**
     * tooltip mapping name for the series.
     *
     * @default ''
     */
    tooltipMappingName: string;
    /**
     * Specifies the dataSource
     *
     * @default null
     * @isdatamanager false
     */
    dataSource: Object;
    /**
     * The name of the series visible in legend.
     *
     * @default ''
     */
    name: string;
    /**
     * color for series.
     *
     * @default null
     */
    fill: string;
    /**
     * enable or disable the animation of series.
     *
     * @default false
     */
    enableAnimation: boolean;
    /**
     * perform animation of series based on animation duration.
     *
     * @default '2000ms'
     */
    animationDuration: string;
    /**
     * avoid the overlap of dataLabels.
     *
     * @default false
     */
    enableSmartLabels: boolean;
    /**
     * width for series.
     *
     * @default 1
     */
    width: number;
    /**
     * opacity for series.
     *
     * @default 1
     */
    opacity: number;
    /**
     * options for customizing marker.
     */
    marker: SeriesMarkerModel;
    /**
     * options for customizing tooltip.
     */
    tooltip: SeriesTooltipModel;
}
//node_modules/@syncfusion/ej2-charts/src/smithchart/series/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.75
     */
    opacity?: number;
    /**
     * template for tooltip.
     *
     * @default ''
     * @aspType string
     */
    template?: string | Function;
    /**
     *  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 ''
     * @aspType string
     */
    template?: string | Function;
    /**
     * color for data label.
     *
     * @default null
     */
    fill?: string;
    /**
     * opacity for data label.
     *
     * @default 1
     */
    opacity?: number;
    /**
     * options for customizing data label border.
     *
     */
    border?: SeriesMarkerDataLabelBorderModel;
    /**
     * options for customizing data label connector line.
     */
    connectorLine?: SeriesMarkerDataLabelConnectorLineModel;
    /**
     * options for customizing font.
     */
    textStyle?: SmithchartFontModel;
}
/**
 * Interface for a class SeriesMarker
 */
export interface SeriesMarkerModel {
    /**
     * visibility for marker.
     *
     * @default false
     */
    visible?: boolean;
    /**
     * shape for marker.
     *
     * @default 'circle'
     */
    shape?: string;
    /**
     * width for marker.
     *
     * @default 6
     */
    width?: number;
    /**
     * height for marker.
     *
     * @default 6
     */
    height?: number;
    /**
     * Url for the image that is to be displayed as marker.
     *
     * @default ''
     */
    imageUrl?: string;
    /**
     * color for marker.
     *
     * @default ''
     */
    fill?: string;
    /**
     * opacity for marker.
     *
     * @default 1
     */
    opacity?: number;
    /**
     *  options for customizing marker border.
     */
    border?: SeriesMarkerBorderModel;
    /**
     * options for customizing marker data label.
     */
    dataLabel?: SeriesMarkerDataLabelModel;
}
/**
 * Interface for a class SmithchartSeries
 */
export interface SmithchartSeriesModel {
    /**
     * visibility for series.
     *
     * @default 'visible'
     */
    visibility?: string;
    /**
     * points for series.
     *
     * @default []
     */
    points?: ISmithChartPoint[];
    /**
     * resistance name for dataSource.
     *
     * @default ''
     */
    resistance?: string;
    /**
     * reactance name for dataSource.
     *
     * @default ''
     */
    reactance?: string;
    /**
     * tooltip mapping name for the series.
     *
     * @default ''
     */
    tooltipMappingName?: string;
    /**
     * Specifies the dataSource
     *
     * @default null
     * @isdatamanager false
     */
    dataSource?: Object;
    /**
     * The name of the series visible in legend.
     *
     * @default ''
     */
    name?: string;
    /**
     * color for series.
     *
     * @default null
     */
    fill?: string;
    /**
     * enable or disable the animation of series.
     *
     * @default false
     */
    enableAnimation?: boolean;
    /**
     * perform animation of series based on animation duration.
     *
     * @default '2000ms'
     */
    animationDuration?: string;
    /**
     * avoid the overlap of dataLabels.
     *
     * @default false
     */
    enableSmartLabels?: boolean;
    /**
     * width for series.
     *
     * @default 1
     */
    width?: number;
    /**
     * opacity for series.
     *
     * @default 1
     */
    opacity?: number;
    /**
     * options for customizing marker.
     */
    marker?: SeriesMarkerModel;
    /**
     * options for customizing tooltip.
     */
    tooltip?: SeriesTooltipModel;
}
//node_modules/@syncfusion/ej2-charts/src/smithchart/series/marker.d.ts
export  class Marker {
    drawMarker(smithchart: Smithchart, seriesindex: number, groupElement: Element, pointsRegion: PointRegion[]): void;
    private drawSymbol;
}
//node_modules/@syncfusion/ej2-charts/src/smithchart/series/datalabel.d.ts
export  class DataLabel {
    textOptions: DataLabelTextOptions[];
    labelOptions: LabelOption[];
    private connectorFlag;
    private prevLabel;
    private allPoints;
    drawDataLabel(smithchart: Smithchart, seriesindex: number, groupElement: Element, pointsRegion: PointRegion[], bounds: SmithchartRect): void;
    calculateSmartLabels(points: object, seriesIndex: number): void;
    private compareDataLabels;
    private isCollide;
    private resetValues;
    drawConnectorLines(smithchart: Smithchart, seriesIndex: number, index: number, currentPoint: DataLabelTextOptions, groupElement: Element): void;
    private drawDatalabelSymbol;
}
//node_modules/@syncfusion/ej2-charts/src/smithchart/model/theme.d.ts
/**
 * @param {SmithchartTheme} theme theme of the smith chart
 * @private
 * @returns {string[]} series colors
 */
export  function getSeriesColor(theme: SmithchartTheme): string[];
/**
 * @param {SmithchartTheme} theme smithchart theme
 * @private
 * @returns {ISmithchartThemeStyle} theme style of the smith chart
 */
export  function getThemeColor(theme: SmithchartTheme): ISmithchartThemeStyle;
//node_modules/@syncfusion/ej2-charts/src/smithchart/model/interface.d.ts
/**
 * Specifies Smithchart Events
 *
 * @private
 */
export interface ISmithchartEventArgs {
    /** Defines the name of the event. */
    name: string;
    /** Defines the event cancel status. */
    cancel: boolean;
}
export interface ISmithchartPrintEventArgs extends ISmithchartEventArgs {
    htmlContent: Element;
}
/**
 * Specifies the Load Event arguments.
 */
export interface ISmithchartLoadEventArgs extends ISmithchartEventArgs {
    /** Defines the current Smithchart instance. */
    smithchart: Smithchart;
}
/**
 * Specifies the Loaded Event arguments.
 */
export interface ISmithchartLoadedEventArgs extends ISmithchartEventArgs {
    /** Defines the current Smithchart instance. */
    smithchart: Smithchart;
}
export interface ISmithchartAnimationCompleteEventArgs extends ISmithchartEventArgs {
    /**
     * smithchart instance event argument.
     */
    smithchart?: Smithchart;
}
/**
 * Specifies the Title Render Event arguments.
 */
export interface ITitleRenderEventArgs extends ISmithchartEventArgs {
    /** Defines the current title text. */
    text: string;
    /** Defines the current title text x location. */
    x: number;
    /** Defines the current title text y location. */
    y: number;
}
/**
 * Specifies the SubTitle Render Event arguments.
 */
export interface ISubTitleRenderEventArgs extends ISmithchartEventArgs {
    /** Defines the current subtitle text. */
    text: string;
    /** Defines the current subtitle text x location. */
    x: number;
    /** Defines the current subtitle text y location. */
    y: number;
}
/**
 * Specifies the Text Render Event arguments.
 */
export interface ISmithchartTextRenderEventArgs extends ISmithchartEventArgs {
    /** Defines the current datalabel text. */
    text: string;
    /** Defines the current datalabel text x location. */
    x: number;
    /** Defines the current datalabel text y location. */
    y: number;
    /** Defines the current datalabel seriesIndex. */
    seriesIndex: number;
    /** Defines the current datalabel pointIndex. */
    pointIndex: number;
}
/**
 * Specifies the Axis Label Render Event arguments.
 */
export interface ISmithchartAxisLabelRenderEventArgs extends ISmithchartEventArgs {
    /** Defines the current axis label text. */
    text: string;
    /** Defines the current axis label x location. */
    x: number;
    /** Defines the current axis label y location. */
    y: number;
}
/**
 * Specifies the Series Render Event arguments.
 */
export interface ISmithchartSeriesRenderEventArgs extends ISmithchartEventArgs {
    /** Defines name of the event. */
    text: string;
    /** Defines the current series fill. */
    fill: string;
}
/**
 * Specifies the Legend Render Event arguments.
 */
export interface ISmithchartLegendRenderEventArgs extends ISmithchartEventArgs {
    /** Defines the current legend text. */
    text: string;
    /** Defines the current legend fill color. */
    fill: string;
    /** Defines the current legend shape. */
    shape: string;
}
export interface ISmithChartTooltipEventArgs extends ISmithchartEventArgs {
    /** Defines the tooltip text. */
    text: string[];
    /** Defines the headerText of tooltip. */
    headerText: string;
    /** Defines point of the tooltip. */
    point: ISmithChartPoint;
    /** template.
     *
     * @aspType string
     */
    template: string | Function;
}
/** @private */
export interface ISmithchartFontMapping {
    size?: string;
    color?: string;
    fontWeight?: string;
    fontStyle?: string;
    fontFamily?: string;
}
export interface ISmithChartPoint {
    reactance: number;
    resistance: number;
    tooltip?: string;
}
export interface ISmithchartThemeStyle {
    axisLabel: string;
    axisLine: string;
    majorGridLine: string;
    minorGridLine: string;
    chartTitle: string;
    legendLabel: string;
    background: string;
    areaBorder: string;
    tooltipFill: string;
    dataLabel: string;
    tooltipBoldLabel: string;
    tooltipLightLabel: string;
    tooltipHeaderLine: string;
    fontFamily?: string;
    fontSize?: string;
    tooltipFontSize?: string;
    tooltipFontFamily?: string;
    smithchartTitleFont: SmithchartFontModel;
    legendLabelFont: SmithchartFontModel;
    legendTitleFont: SmithchartFontModel;
    dataLabelFont: SmithchartFontModel;
    axisLabelFont: SmithchartFontModel;
    smithchartSubtitleFont: SmithchartFontModel;
    labelFontFamily?: string;
    tooltipFillOpacity?: number;
    tooltipTextOpacity?: number;
    tabColor: string;
}
//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/legend/legendrender.d.ts
export  class SmithchartLegend {
    legendActualBounds: SmithchartRect;
    legendSeries: LegendSeries[];
    legendGroup: Element;
    /**
     * legend rendering.
     */
    legendItemGroup: Element;
    renderLegend(smithchart: Smithchart): void;
    calculateLegendBounds(smithchart: Smithchart): SmithchartRect;
    private _getLegendSize;
    private _drawLegend;
    private drawLegendBorder;
    private drawLegendTitle;
    private drawLegendItem;
    private drawLegendShape;
    /**
     * Get module name.
     *
     * @returns {string} - To get the module name.
     */
    protected getModuleName(): string;
    /**
     * To destroy the legend.
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
}
//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/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/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/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/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/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;
    /**
     * `dateTimeCategoryModule` is used to manipulate and add dateTimeCategory axis to the chart.
     */
    dateTimeCategoryModule: DateTimeCategory;
    /**
     * 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;
    /**
     * Specifies the data types that the axis can handle:
     * * Double: This type is used for rendering a numeric axis to accommodate numeric data.
     * * DateTime: This type is utilized for rendering a date-time axis to manage date-time data.
     * * Logarithmic: This type is applied for rendering a logarithmic axis to handle a wide range of values.
     * * DateTimeCategory: This type is used to render a date time category axis for managing business days.
     *
     * @default 'Double'
     */
    valueType: RangeValueType;
    /**
     * Label positions for the axis.
     *
     * @default 'Outside'
     */
    labelPosition: AxisPosition;
    /**
     * Specifies the placement of labels to the axis line. They are,
     * betweenTicks - Render the label between the ticks.
     * onTicks - Render the label on the ticks.
     * auto - Render the label between or on the tick based on data.
     *
     * @default 'Auto'
     */
    labelPlacement: NavigatorPlacement;
    /**
     * Duration of the animation.
     *
     * @default 500
     */
    animationDuration: number;
    /**
     * Enable grouping for the labels.
     *
     * @default false
     */
    enableGrouping: boolean;
    /**
     * Enable deferred update for the range navigator.
     *
     * @default false
     */
    enableDeferredUpdate: boolean;
    /**
     * To render the period selector with out range navigator.
     *
     * @default false
     */
    disableRangeSelector: boolean;
    /**
     * Enable snapping for range navigator sliders.
     *
     * @default false
     */
    allowSnapping: boolean;
    /**
     * Allow the data to be selected for that particular interval while clicking the particular label.
     */
    allowIntervalData: boolean;
    /**
     * Specifies whether a grouping separator should be used for a number.
     *
     * @default false
     */
    useGroupingSeparator: boolean;
    /**
     * GroupBy property for the axis.
     *
     * @default `Auto`
     */
    groupBy: RangeIntervalType;
    /**
     * Tick Position for the axis
     *
     * @default 'Outside'
     */
    tickPosition: AxisPosition;
    /**
     * Label style for the labels.
     */
    labelStyle: FontModel;
    /**
     * MajorGridLines
     */
    majorGridLines: MajorGridLinesModel;
    /**
     * MajorTickLines
     */
    majorTickLines: MajorTickLinesModel;
    /**
     * Navigator style settings
     */
    navigatorStyleSettings: StyleSettingsModel;
    /**
     * Period selector settings
     */
    periodSelectorSettings: PeriodSelectorSettingsModel;
    /**
     * Options for customizing the color and width of the chart border.
     */
    navigatorBorder: BorderModel;
    /**
     * Specifies the theme for the range navigator.
     *
     * @default 'Material'
     */
    theme: ChartTheme;
    /**
     * Selected range for range navigator.
     *
     * @default []
     */
    value: number[] | Date[];
    /**
     * The background color of the chart that accepts value in hex and rgba as a valid CSS color string.
     *
     * @default null
     */
    background: string;
    /**
     * Used to format the axis label that accepts any global string format like 'C', 'n1', 'P' etc.
     * It also accepts placeholder like '{value}°C' in which value represent the axis label, e.g, 20°C.
     *
     * @default ''
     */
    labelFormat: string;
    /**
     * Specifies the skeleton format in which the dateTime format will process.
     *
     * @default ''
     */
    skeleton: string;
    /**
     * It specifies the type of format to be used in dateTime format process.
     *
     * @default 'DateTime'
     */
    skeletonType: SkeletonType;
    /**
     * It specifies the label alignment for secondary axis labels
     *
     * @default 'Middle'
     */
    secondaryLabelAlignment: LabelAlignment;
    /**
     * Margin for the range navigator
     *
     * @default
     */
    margin: MarginModel;
    /** @private */
    themeStyle: IRangeStyle;
    /**
     * Triggers before the range navigator rendering.
     *
     * @event load
     */
    load: base.EmitType<IRangeLoadedEventArgs>;
    /**
     * Triggers after the range navigator rendering.
     *
     * @event loaded
     * @blazorProperty 'Loaded'
     */
    loaded: base.EmitType<IRangeLoadedEventArgs>;
    /**
     * Triggers after the range navigator resized
     *
     * @event resized
     * @blazorProperty 'Resized'
     */
    resized: base.EmitType<IResizeRangeNavigatorEventArgs>;
    /**
     * Triggers before window resize.
     *
     * @event beforeResize
     * @blazorProperty 'BeforeResize'
     */
    beforeResize: base.EmitType<IRangeBeforeResizeEventArgs>;
    /**
     * Triggers before the label rendering.
     *
     * @event labelRender
     * @deprecated
     */
    labelRender: base.EmitType<ILabelRenderEventsArgs>;
    /**
     * Triggers after change the slider.
     *
     * @event changed
     * @blazorProperty 'Changed'
     */
    changed: base.EmitType<IChangedEventArgs>;
    /**
     * Triggers before the tooltip for series is rendered.
     *
     * @event tooltipRender
     * @deprecated
     */
    tooltipRender: base.EmitType<IRangeTooltipRenderEventArgs>;
    /**
     * Triggers before the range navigator selector rendering.
     *
     * @event selectorRender
     * @deprecated
     */
    selectorRender: base.EmitType<IRangeSelectorRenderEventArgs>;
    /**
     * Triggers before the prints gets started.
     *
     * @event beforePrint
     * @blazorProperty 'OnPrint'
     */
    beforePrint: base.EmitType<IPrintEventArgs>;
    /** @private */
    renderer: svgBase.SvgRenderer;
    /** @private */
    svgObject: HTMLElement;
    /** @private */
    intl: base.Internationalization;
    /** @private */
    bounds: svgBase.Rect;
    /** @private */
    availableSize: svgBase.Size;
    /** @private */
    startValue: number;
    /** @private */
    endValue: number;
    /** @private */
    mouseX: number;
    /** @private */
    mouseDownX: number;
    /** @private */
    rangeSlider: RangeSlider;
    /** @private */
    chartSeries: RangeSeries;
    /** @private */
    rangeAxis: RangeNavigatorAxis;
    /** @private */
    private resizeTo;
    /** @private */
    dataModule: Data;
    /** @private */
    labels: ILabelRenderEventsArgs[];
    /** @private */
    animateSeries: boolean;
    /** @private */
    format: Function;
    private chartid;
    /** @private */
    stockChart: StockChart;
    redraw: boolean;
    /**
     * Constructor for creating the widget.
     *
     * @param {RangeNavigatorModel} options - Specifies the Range Navigator model.
     * @param {string | HTMLElement} element - Specifies the element for the Range Navigator.
     * @hidden
     */
    constructor(options?: RangeNavigatorModel, element?: string | HTMLElement);
    /**
     * Starting point of the control initialization.
     *
     * @returns {void}
     */
    preRender(): void;
    /**
     * To initialize the private variables.
     *
     * @returns {void}
     */
    private initPrivateVariables;
    /**
     * Method to set culture for chart.
     *
     * @returns {void}
     */
    private setCulture;
    /**
     * To initialize the slider.
     *
     * @returns {void}
     */
    private setSliderValue;
    /**
     * To find the start and end value in the date-time category.
     *
     * @param {number} value - The value in the date-time category.
     * @param {boolean} isStart - To find the start value in the date-time category.
     * @returns {number} - The start or end value in date-time category.
     */
    private getRangeValue;
    /**
     * To render the range navigator.
     *
     * @returns {void}
     */
    render(): void;
    /**
     * Theming for rangeNavigator.
     *
     * @returns {void}
     */
    private setTheme;
    /**
     * Method to create SVG for Range Navigator.
     *
     * @returns {void}
     */
    private createRangeSvg;
    /**
     * Bounds calculation for widget performed.
     *
     * @returns {void}
     */
    private calculateBounds;
    /**
     * Creating Chart for range navigator.
     *
     * @param {boolean} resize - Indicates whether the chart should be resized.
     * @returns {void}
     */
    renderChart(resize?: boolean): void;
    /**
     * To render period selector value.
     *
     * @returns {void}
     */
    private renderPeriodSelector;
    /**
     * Creating secondary range navigator.
     *
     * @returns {void}
     */
    createSecondaryElement(): void;
    /**
     * Slider Calculation ane rendering performed here.
     *
     * @param {boolean} resize - Indicates whether the slider should be resized.
     * @returns {void}
     */
    private renderSlider;
    /**
     * To Remove the SVG.
     *
     * @returns {void}
     * @private
     */
    removeSvg(): void;
    /** Wire, UnWire and Event releated calculation Started here */
    /**
     * Method to un-bind events for range navigator.
     *
     * @returns {void}
     */
    private unWireEvents;
    /**
     * Method to bind events for range navigator.
     *
     * @returns {void}
     */
    private wireEvents;
    /**
     * Handles the widget resize.
     *
     * @private
     * @returns {boolean} - Indicates whether the widget was resized..
     */
    rangeResize(): boolean;
    /**
     * Bug task ID: EJ2-30797
     * while resizing tooltip shows in wrong position
     * Cause: Due to time lag in resize, tooltip did not remove until the component calculation
     * Fix: Removed the tooltip element on resize
     *
     * @returns {void}
     */
    private removeAllTooltip;
    /**
     * Handles the mouse move.
     *
     * @private
     * @param {PointerEvent} e - The pointer event.
     * @returns {boolean} - false.
     */
    mouseMove(e: PointerEvent): boolean;
    /**
     * Handles the mouse leave.
     *
     * @private
     * @param {PointerEvent} e - The pointer event.
     * @returns {boolean} - false.
     */
    mouseLeave(e: PointerEvent): boolean;
    /**
     * Handles the mouse click on range navigator.
     *
     * @private
     * @param {PointerEvent | TouchEvent} e - The pointer event.
     * @returns {boolean} - false.
     */
    rangeOnMouseClick(e: PointerEvent | TouchEvent): boolean;
    /**
     * Handles the print method for range navigator control.
     *
     * @param {string[] | string | Element} id - The id of the range navigator to be printed on the page.
     * @returns {void}
     */
    print(id?: string[] | string | Element): void;
    /**
     * Handles the export method for range navigator control.
     *
     * @param {ExportType} type - The type of export.
     * @param {string} fileName - The name of the file for export.
     * @param {pdfExport.PdfPageOrientation} orientation - The orientation of the PDF page.
     * @param {Chart | AccumulationChart | RangeNavigator[]} controls - Array of controls to be exported.
     * @param {number} width - The width of the exported content.
     * @param {number} height - The height of the exported content.
     * @param {boolean}1 isVertical - Indicates whether the export is vertical.
     * @returns {void}
     */
    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.
     *
     * @returns {void}
     */
    private renderChartBackground;
    /**
     * Handles the mouse down on range navigator.
     *
     * @private
     * @param {PointerEvent} e - The pointer event.
     * @returns {boolean} - false.
     */
    rangeOnMouseDown(e: PointerEvent): boolean;
    /**
     * Handles the mouse up.
     *
     * @private
     * @param {PointerEvent} e - The pointer event.
     * @returns {boolean} - false.
     */
    mouseEnd(e: PointerEvent): boolean;
    /**
     * To find mouse x, y for aligned range navigator element svg position.
     *
     * @param {PointerEvent} e - The pointer event.
     * @returns {number} - The mouse x-coordinate relative to the aligned range navigator SVG position..
     */
    private setMouseX;
    /** Wire, UnWire and Event releated calculation End here */
    /**
     * Get the properties to be maintained in the persisted state.
     *
     * @private
     * @returns {string} - The persisted data containing the properties.
     */
    getPersistData(): string;
    /**
     * OnProperty change method calling here.
     *
     * @param {RangeNavigatorModel} newProp - The new RangeNavigatorModel.
     * @returns {void}
     */
    onPropertyChanged(newProp: RangeNavigatorModel): void;
    /**
     * To provide the array of modules needed for control rendering
     *
     * @returns {base.ModuleDeclaration[]} requiredModules
     * @private
     */
    requiredModules(): base.ModuleDeclaration[];
    /**
     * To get the module name of the widget.
     *
     * @returns {string} - Returns the module name.
     */
    getModuleName(): string;
    /**
     * To destroy the widget
     *
     * @function destroy
     * @returns {void}
     * @member of rangeNavigator
     */
    destroy(): void;
}
//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;
    /**
     * Specifies the data types that the axis can handle:
     * * Double: This type is used for rendering a numeric axis to accommodate numeric data.
     * * DateTime: This type is utilized for rendering a date-time axis to manage date-time data.
     * * Logarithmic: This type is applied for rendering a logarithmic axis to handle a wide range of values.
     * * DateTimeCategory: This type is used to render a date time category axis for managing business days.
     *
     * @default 'Double'
     */
    valueType?: RangeValueType;
    /**
     * Label positions for the axis.
     *
     * @default 'Outside'
     */
    labelPosition?: AxisPosition;
    /**
     * Specifies the placement of labels to the axis line. They are,
     * betweenTicks - Render the label between the ticks.
     * onTicks - Render the label on the ticks.
     * auto - Render the label between or on the tick based on data.
     *
     * @default 'Auto'
     */
    labelPlacement?: NavigatorPlacement;
    /**
     * Duration of the animation.
     *
     * @default 500
     */
    animationDuration?: number;
    /**
     * Enable grouping for the labels.
     *
     * @default false
     */
    enableGrouping?: boolean;
    /**
     * Enable deferred update for the range navigator.
     *
     * @default false
     */
    enableDeferredUpdate?: boolean;
    /**
     * To render the period selector with out range navigator.
     *
     * @default false
     */
    disableRangeSelector?: boolean;
    /**
     * Enable snapping for range navigator sliders.
     *
     * @default false
     */
    allowSnapping?: boolean;
    /**
     * Allow the data to be selected for that particular interval while clicking the particular label.
     */
    allowIntervalData?: boolean;
    /**
     * Specifies whether a grouping separator should be used for a number.
     *
     * @default false
     */
    useGroupingSeparator?: boolean;
    /**
     * GroupBy property for the axis.
     *
     * @default `Auto`
     */
    groupBy?: RangeIntervalType;
    /**
     * Tick Position for the axis
     *
     * @default 'Outside'
     */
    tickPosition?: AxisPosition;
    /**
     * Label style for the labels.
     */
    labelStyle?: FontModel;
    /**
     * MajorGridLines
     */
    majorGridLines?: MajorGridLinesModel;
    /**
     * MajorTickLines
     */
    majorTickLines?: MajorTickLinesModel;
    /**
     * Navigator style settings
     */
    navigatorStyleSettings?: StyleSettingsModel;
    /**
     * Period selector settings
     */
    periodSelectorSettings?: PeriodSelectorSettingsModel;
    /**
     * Options for customizing the color and width of the chart border.
     */
    navigatorBorder?: BorderModel;
    /**
     * Specifies the theme for the range navigator.
     *
     * @default 'Material'
     */
    theme?: ChartTheme;
    /**
     * Selected range for range navigator.
     *
     * @default []
     */
    value?: number[] | Date[];
    /**
     * The background color of the chart that accepts value in hex and rgba as a valid CSS color string.
     *
     * @default null
     */
    background?: string;
    /**
     * Used to format the axis label that accepts any global string format like 'C', 'n1', 'P' etc.
     * It also accepts placeholder like '{value}°C' in which value represent the axis label, e.g, 20°C.
     *
     * @default ''
     */
    labelFormat?: string;
    /**
     * Specifies the skeleton format in which the dateTime format will process.
     *
     * @default ''
     */
    skeleton?: string;
    /**
     * It specifies the type of format to be used in dateTime format process.
     *
     * @default 'DateTime'
     */
    skeletonType?: SkeletonType;
    /**
     * It specifies the label alignment for secondary axis labels
     *
     * @default 'Middle'
     */
    secondaryLabelAlignment?: LabelAlignment;
    /**
     * Margin for the range navigator
     *
     * @default
     */
    margin?: MarginModel;
    /**
     * Triggers before the range navigator rendering.
     *
     * @event load
     */
    load?: base.EmitType<IRangeLoadedEventArgs>;
    /**
     * Triggers after the range navigator rendering.
     *
     * @event loaded
     * @blazorProperty 'Loaded'
     */
    loaded?: base.EmitType<IRangeLoadedEventArgs>;
    /**
     * Triggers after the range navigator resized
     *
     * @event resized
     * @blazorProperty 'Resized'
     */
    resized?: base.EmitType<IResizeRangeNavigatorEventArgs>;
    /**
     * Triggers before window resize.
     *
     * @event beforeResize
     * @blazorProperty 'BeforeResize'
     */
    beforeResize?: base.EmitType<IRangeBeforeResizeEventArgs>;
    /**
     * Triggers before the label rendering.
     *
     * @event labelRender
     * @deprecated
     */
    labelRender?: base.EmitType<ILabelRenderEventsArgs>;
    /**
     * Triggers after change the slider.
     *
     * @event changed
     * @blazorProperty 'Changed'
     */
    changed?: base.EmitType<IChangedEventArgs>;
    /**
     * Triggers before the tooltip for series is rendered.
     *
     * @event tooltipRender
     * @deprecated
     */
    tooltipRender?: base.EmitType<IRangeTooltipRenderEventArgs>;
    /**
     * Triggers before the range navigator selector rendering.
     *
     * @event selectorRender
     * @deprecated
     */
    selectorRender?: base.EmitType<IRangeSelectorRenderEventArgs>;
    /**
     * Triggers before the prints gets started.
     *
     * @event beforePrint
     * @blazorProperty 'OnPrint'
     */
    beforePrint?: base.EmitType<IPrintEventArgs>;
}
//node_modules/@syncfusion/ej2-charts/src/range-navigator/utils/theme.d.ts
/**
 * Methods for getting the theme color for the range navigator.
 *
 * @private
 * @param {ChartTheme} theme - The theme to apply.
 * @param {RangeNavigator} range - The range navigator control.
 * @returns {IRangeStyle} - The theme color.
 */
export  function getRangeThemeColor(theme: ChartTheme, range: RangeNavigator): IRangeStyle;
//node_modules/@syncfusion/ej2-charts/src/range-navigator/utils/helper.d.ts
/**
 * Method for calculating coefficient.
 *
 * @private
 * @param {number} value - The value to calculate the coefficient.
 * @param {VisibleRangeModel} range - The visible range model.
 * @param {boolean} inversed - Indicates whether the range is inversed.
 * @returns {number} - The calculated coefficient.
 */
export  function rangeValueToCoefficient(value: number, range: VisibleRangeModel, inversed: boolean): number;
/**
 * Calculates the coefficient for the x-location.
 *
 * @private
 * @param {number} x - The value to calculate the coefficient.
 * @param {VisibleRangeModel} range - The visible range model.
 * @param {number} size - The size for calculate the coefficient.
 * @param {boolean} inversed - Indicates whether the range is inversed.
 * @returns {number} - The calculated coefficient.
 */
export  function getXLocation(x: number, range: VisibleRangeModel, size: number, inversed: boolean): number;
/**
 * Method for calculating range value by x point.
 *
 * @private
 * @param {number} value - The value for which to calculate the range value.
 * @param {number} size - The size used for calculating the coefficient.
 * @param {VisibleRangeModel} range - The visible range model.
 * @param {boolean} inversed - Indicates whether the range is inversed.
 * @returns {number} - The calculated range value.
 */
export  function getRangeValueXByPoint(value: number, size: number, range: VisibleRangeModel, inversed: boolean): number;
/**
 * Method for calculating the exact data.
 *
 * @private
 * @param {DataPoint[]} points - The array of data points.
 * @param {number} start - The start value of the range.
 * @param {number} end - The end value of the range.
 * @returns {DataPoint[]} - The calculated data points within the range.
 */
export  function getExactData(points: DataPoint[], start: number, end: number): DataPoint[];
/**
 * Methods for calculating the nearest value.
 *
 * @private
 * @param {number[]} values - The array of values.
 * @param {number} point - The point for which to find the nearest value.
 * @returns {number} - The nearest value.
 */
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/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';
/**
 * Specifies the data types that the axis can handle:
 * * Double: This type is used for rendering a numeric axis to accommodate numeric data.
 * * DateTime: This type is utilized for rendering a date-time axis to manage date-time data.
 * * Logarithmic: This type is applied for rendering a logarithmic axis to handle a wide range of values.
 * * DateTimeCategory: This type is used to render a date time category axis for managing business days.
 *
 * @private
 */
export  type RangeValueType = 
/** Double axis */
'Double' | 
/** Datetime axis */
'DateTime' | 
/** Logarithmic axis */
'Logarithmic' | 
/** Define the datetime category axis */
'DateTimeCategory';
/**
 * 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';
/**
 * Defines the Label Placement for axis. They are
 * * betweenTicks - Render the label between the ticks.
 * * onTicks - Render the label on the ticks.
 * * auto - Render the label between or on the ticks based on data.
 */
export  type NavigatorPlacement = 
/** Render the label between the ticks. */
'BetweenTicks' | 
/** Render the label on the ticks. */
'OnTicks' | 
/** Render the label between or on the ticks based on data. */
'Auto';
//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.
     *
     * @param {RangeNavigator} range - The RangeNavigator control.
     * @private
     */
    constructor(range: RangeNavigator);
    /**
     * Left tooltip method called here.
     *
     * @param {RangeSlider} rangeSlider - RangeSlider
     * @returns {void}
     */
    renderLeftTooltip(rangeSlider: RangeSlider): void;
    /**
     * get the content size.
     *
     * @param {string[]} value - The array of values.
     * @returns {number} - The content size.
     */
    private getContentSize;
    /**
     * Right tooltip method called here.
     *
     * @param {RangeSlider} rangeSlider - RangeSlider
     * @returns {void}
     */
    renderRightTooltip(rangeSlider: RangeSlider): void;
    /**
     * Tooltip element creation.
     *
     * @param {string} id - The element id.
     * @returns {Element} - The created tooltip element.
     */
    private createElement;
    /**
     * Tooltip render called here.
     *
     * @param {Rect} bounds - bounds
     * @param {Element} parent - parent
     * @param {number} pointX - pointX
     * @param {string[]} content - content
     * @returns {svgBase.Tooltip} - svgBase.Tooltip
     */
    private renderTooltip;
    /**
     * Tooltip content processed here.
     *
     * @param {number} value - The tooltip value.
     * @returns {string[]} - An array containing the processed tooltip content.
     */
    private getTooltipContent;
    /**
     * Fadeout animation performed here.
     *
     * @returns {void}
     */
    private fadeOutTooltip;
    /**
     * Get module name.
     *
     * @returns {string} - The name of the module.
     */
    protected getModuleName(): string;
    /**
     * To destroy the tooltip.
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-charts/src/range-navigator/renderer/slider.d.ts
/**
 * Class for slider
 */
export  class RangeSlider {
    private leftUnSelectedElement;
    private rightUnSelectedElement;
    private selectedElement;
    private leftSlider;
    private rightSlider;
    /** @private */
    control: RangeNavigator;
    /** @private */
    isDrag: boolean;
    private elementId;
    currentSlider: string;
    startX: number;
    endX: number;
    private sliderWidth;
    currentStart: number;
    currentEnd: number;
    selectedPeriod: string;
    private previousMoveX;
    private thumpPadding;
    private thumbColor;
    points: DataPoint[];
    leftRect: svgBase.Rect;
    rightRect: svgBase.Rect;
    midRect: svgBase.Rect;
    private labelIndex;
    private thumbVisible;
    private thumpY;
    sliderY: number;
    /** @private */
    isIOS: boolean;
    constructor(range: RangeNavigator);
    /**
     * Render Slider elements for range navigator.
     *
     * @param {RangeNavigator} range - RangeNavigator instance.
     * @returns {void}
     */
    render(range: RangeNavigator): void;
    /**
     * Thumb creation performed.
     *
     * @param {svgBase.SvgRenderer} render - svgBase.SvgRenderer
     * @param {svgBase.Rect} bounds - bounds
     * @param {Element} parent - parent element
     * @param {string} id - id
     * @param {Element} sliderGroup - sliderGroup
     * @returns {void}
     */
    createThump(render: svgBase.SvgRenderer, bounds: svgBase.Rect, parent: Element, id: string, sliderGroup?: Element): void;
    /**
     * Sets the slider value for the range navigator.
     *
     * @param {number} start - The start value of the slider.
     * @param {number} end - The end value of the slider.
     * @param {boolean} trigger - Indicates whether to trigger events.
     * @param {boolean} showTooltip - Indicates whether to show tooltips.
     * @param {boolean} resize - Indicates whether to resize.
     * @returns {void}
     */
    setSlider(start: number, end: number, trigger: boolean, showTooltip: boolean, resize?: boolean): void;
    /**
     * Trigger changed event.
     *
     * @param {VisibleRangeModel} range - Axis visible range.
     * @returns {void}
     */
    triggerEvent(range: VisibleRangeModel): void;
    /**
     * @hidden
     * @returns {void}
     */
    private addEventListener;
    /**
     * @hidden
     * @returns {void}
     */
    private removeEventListener;
    /**
     * Mouse move handler perfomed here.
     *
     * @hidden
     * @param {PointerEvent | TouchEvent} e - Mouse event argument.
     * @returns {void}
     */
    mouseMoveHandler(e: PointerEvent | TouchEvent): void;
    /**
     * To get the range value.
     *
     * @param {number} x - The xValue.
     * @returns {number} - The range value.
     */
    private getRangeValue;
    /**
     * Moused down handler for slider perform here.
     *
     * @param {PointerEvent} e - Mouse event argument.
     * @returns {void}
     */
    private mouseDownHandler;
    /**
     * To get the current slider element.
     *
     * @param {string} id - The id of the slider element.
     * @returns {string} - The slider element.
     */
    private getCurrentSlider;
    /**
     * Mouse up handler performed here.
     *
     * @returns {void}
     */
    private mouseUpHandler;
    /**
     * Allow Snapping perfomed here.
     *
     * @param {RangeNavigator} control - RangeNavigator instance.
     * @param {number} start - start
     * @param {number} end - end
     * @param {boolean} trigger - trigger
     * @param {boolean} tooltip - tooltip
     * @private
     * @returns {void}
     */
    setAllowSnapping(control: RangeNavigator, start: number, end: number, trigger: boolean, tooltip: boolean): void;
    /**
     * Animation Calculation for slider navigation.
     *
     * @param {number} start - The start value for the animation.
     * @param {number} end - The end value for the animation.
     * @param {RangeNavigator} control - The RangeNavigator control.
     * @returns {void}
     */
    performAnimation(start: number, end: number, control: RangeNavigator): void;
    /**
     * Mouse Cancel Handler.
     *
     * @returns {void}
     */
    private mouseCancelHandler;
    /**
     * Destroy Method Calling here.
     *
     * @returns {void}
     */
    destroy(): void;
}
//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.
     *
     * @returns {void}
     */
    renderGridLines(): void;
    /**
     * To render of axis labels.
     *
     * @returns {void}
     */
    renderAxisLabels(): void;
    /**
     * To find the secondary level label type.
     *
     * @param {RangeIntervalType} type - The type of range interval.
     * @returns {RangeIntervalType} - The secondary level label type.
     */
    private getSecondaryLabelType;
    /**
     * To find labels for date time category axis.
     *
     * @param {Axis} axis - Range axis.
     * @returns {void}
     */
    private findSecondaryAxisLabels;
    /**
     * To find labels for date time axis.
     *
     * @param {Axis} axis - Range axis.
     * @param {number} interval - Interval for the date time axis.
     * @returns {void}
     */
    private findAxisLabels;
    /**
     * To find date time formats for Quarter and week interval type.
     *
     * @param {string} text - The text.
     * @param {Axis} axis - The axis.
     * @param {number} index - The index.
     * @returns {string} - The modified text.
     */
    private dateFormats;
    /**
     * To find the y co-ordinate for axis labels.
     *
     * @param {RangeNavigator} control - The RangeNavigator control.
     * @param {boolean} isSecondary - If sets to true, indicates that the axis is a secondary axis.
     * @returns {number} - The y-coordinate for the labels.
     */
    private findLabelY;
    /**
     * It places the axis labels and returns border for secondary axis labels.
     *
     * @param {Axis} axis - Axis for the lables placed.
     * @param {number} pointY - The y co-ordinate for axis labels.
     * @param {string} id - The id for the axis elements.
     * @param {RangeNavigator} control - The range navigator control.
     * @param {Element} labelElement - The parent element in which the axis labels are appended.
     * @returns {string} - The border for the secondary axis labels.
     */
    private placeAxisLabels;
    /**
     * To check label is intersected with successive label or not.
     *
     * @param {Axis} axis - The axis for which the labels are placed.
     * @param {number} currentX - The x-coordinate for the current label.
     * @param {number} currentWidth - The width of the current label.
     * @param {number} prevX - The x-coordinate for the previous label.
     * @param {number} prevWidth - The width of the previous label.
     * @returns {boolean} - True if the labels intersect;
 otherwise, false.
     */
    private isIntersect;
    /**
     * To find suitable label format for Quarter and week Interval types.
     *
     * @param {Axis} axis - RangeNavigator axis.
     * @param {RangeNavigator} control - RangeNavigator instance.
     * @returns {void}
     */
    private findSuitableFormat;
    /**
     * Alignment position for secondary level labels in date time axis.
     *
     * @param {Axis} axis - The axis.
     * @param {number} index - The index of the label.
     * @returns {number} - The alignment position for the secondary axis labels.
     */
    private findAlignment;
}
//node_modules/@syncfusion/ej2-charts/src/range-navigator/renderer/chart-render.d.ts
/**
 * To render Chart series
 */
export  class RangeSeries extends NiceInterval {
    private dataSource;
    private xName;
    private yName;
    private query;
    xMin: number;
    xMax: number;
    yMin: number;
    yMax: number;
    private yAxis;
    xAxis: Axis;
    labels: string[];
    indexLabels: object;
    private seriesLength;
    private chartGroup;
    constructor(range: RangeNavigator);
    /**
     * To render light weight and data manager process.
     *
     * @param {RangeNavigator} control - RangeNavigator instance.
     * @returns {void}
     */
    renderChart(control: RangeNavigator): void;
    private processDataSource;
    /**
     * data manager process calculated here.
     *
     * @param {Object} e - The data manager result object.
     * @param {Object} e.result - The result of the data manager process.
     * @param {number} e.count - The count of items in the result.
     * @param {RangeNavigator} control - The RangeNavigator control.
     * @param {RangeNavigatorSeries} series - Optional parameter representing the series data.
     * @returns {void}
     */
    private dataManagerSuccess;
    /**
     * Process JSON data from data source.
     *
     * @param {Object[]} viewData - The data array to be processed.
     * @param {RangeNavigator} control - The RangeNavigator control.
     * @param {number} len - The length of the data array.
     * @param {RangeNavigatorSeries} series - The series data for the RangeNavigator control.
     * @returns {void}
     */
    private processJsonData;
    /**
     * Process x axis for range navigator.
     *
     * @private
     * @param {RangeNavigator} control - The RangeNavigator control.
     * @returns {void}
     */
    processXAxis(control: RangeNavigator): void;
    /**
     * Process yAxis for range navigator.
     *
     * @param {RangeNavigator} control - RangeNavigator instance.
     * @private
     * @returns {void}
     */
    processYAxis(control: RangeNavigator): void;
    /**
     * Process Light weight control.
     *
     * @param {RangeNavigator} control - RangeNavigator instance.
     * @private
     * @returns {void}
     */
    renderSeries(control: RangeNavigator): void;
    /**
     * Append series elements in element.
     *
     * @param {RangeNavigator} control - The RangeNavigator control.
     * @returns {void}
     */
    appendSeriesElements(control: RangeNavigator): void;
    private createSeriesElement;
    /**
     * Calculate grouping bounds for x axis.
     *
     * @private
     * @param {RangeNavigator} control - The RangeNavigator control.
     * @returns {void}
     */
    calculateGroupingBounds(control: RangeNavigator): void;
    private drawSeriesBorder;
}
//node_modules/@syncfusion/ej2-charts/src/range-navigator/model/range-navigator-interface.d.ts
/**
 * Interface for range navigator
 */
/**
 * interface for load event
 */
export interface ILoadEventArgs {
    /** name of the event. */
    name: string;
    /** rangeNavigator. */
    rangeNavigator: RangeNavigator;
}
/**
 * interface for loaded event
 */
export interface IRangeLoadedEventArgs {
    /** name of the event. */
    name: string;
    /** rangeNavigator. */
    rangeNavigator: RangeNavigator;
    /** theme. */
    theme?: ChartTheme;
}
/**
 * Range Navigator Before Resize event arguments.
 */
export interface IRangeBeforeResizeEventArgs {
    /** Defines the name of the Event. */
    name: string;
    /** It is  used to cancel the resized event. */
    cancelResizedEvent: boolean;
}
export interface IRangeTooltipRenderEventArgs extends IRangeEventArgs {
    /** Defines tooltip text collections. */
    text?: string[];
    /** Defines tooltip text style. */
    textStyle?: FontModel;
}
/**
 * Interface for label render event
 */
export interface ILabelRenderEventsArgs {
    /** name of the event. */
    name: string;
    /** labelStyle. */
    labelStyle: FontModel;
    /** region. */
    region: svgBase.Rect;
    /** text.  */
    text: string;
    /** cancel for the event. */
    cancel: boolean;
    /** value. */
    value: number;
}
/**
 * Interface for Theme Style
 */
export interface IRangeStyle {
    gridLineColor: string;
    axisLineColor: string;
    labelFontColor: string;
    unselectedRectColor: string;
    thumpLineColor: string;
    thumbBackground: string;
    thumbHoverColor: string;
    gripColor: string;
    selectedRegionColor: string;
    background: string;
    tooltipBackground: string;
    tooltipFontColor: string;
    thumbWidth: number;
    thumbHeight: number;
    axisLabelFont: FontModel;
    tooltipLabelFont: FontModel;
}
/**
 * Interface for range events
 */
export interface IRangeEventArgs {
    /** Defines the name of the event. */
    name: string;
    /** Defines the event's cancellation status. */
    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;
    /**Defined the selected Period of the range navigator. */
    selectedPeriod: string;
}
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;
}
export interface IRangeSelectorRenderEventArgs extends IRangeEventArgs {
    /** Defines selector collections. */
    selector: navigations.ItemModel[];
    /** Enable custom format for calendar. */
    enableCustomFormat: boolean;
    /** Content for calendar format. */
    content: string;
}
//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 null
     */
    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.
     * @aspType string
     */
    template: string | Function;
    /**
     * 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-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 null
     */
    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.
     * @aspType string
     */
    template?: string | Function;
    /**
     * Options to customize tooltip borders.
     */
    border?: BorderModel;
    /**
     * It defines display mode for tooltip.
     *
     * @default 'OnDemand'
     */
    displayMode?: TooltipDisplayMode;
}
//node_modules/@syncfusion/ej2-charts/src/common/common.d.ts
/**
 * Common directory file
 */
export  class Common {
    /**
     * To resolve common class export issue.
     */
    private common;
}
//node_modules/@syncfusion/ej2-charts/src/common/utils/print.d.ts
export  class PrintUtils {
    private control;
    private printWindow;
    /**
     * Constructor for chart and accumulation annotation
     *
     * @param control
     */
    constructor(control: Chart | AccumulationChart | RangeNavigator | StockChart | BulletChart | Chart3D | CircularChart3D);
    /**
     * 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;
}
//node_modules/@syncfusion/ej2-charts/src/common/utils/helper.d.ts
/**
 * Function to sort the dataSource, by default it sort the data in ascending order.
 *
 * @param  {Object} data chart data
 * @param  {string} fields date fields
 * @param  {boolean} isDescending boolean values of descending
 * @returns {Object[]} It returns chart data which be sorted.
 */
export  function sort(data: Object[], fields: string[], isDescending?: boolean): Object[];
/**
 * Checks if a label contains a line break.
 *
 * @param {string} label - The label to check.
 * @returns {boolean} - True if the label contains a line break, otherwise false.
 */
export  function isBreakLabel(label: string): boolean;
/**
 * Retrieves the visible data points from a series.
 *
 * @param {Series | Chart3DSeries} series - The series to retrieve the visible data points.
 * @returns {Points[]} - An array containing the visible data points.
 */
export  function getVisiblePoints(series: Series | Chart3DSeries): Points[];
/**
 * Calculates the offset for positioning a scrollbar on a chart axis.
 *
 * @param {ScrollBar} scrollbar - The scrollbar object to position.
 * @param {boolean} isHorizontalAxis - Indicates whether the axis is horizontal.
 * @returns {number} An object containing the calculated top and left offsets for the scrollbar.
 */
export  function calculateScrollbarOffset(scrollbar: ScrollBar, isHorizontalAxis: boolean): number;
/**
 * Rotates the size of text based on the provided angle.
 *
 * @param {FontModel} font - The font style of the text.
 * @param {string} text - The text to be rotated.
 * @param {number} angle - The angle of rotation.
 * @param {Chart | Chart3D} chart - The chart instance.
 * @param {FontModel} themeFontStyle - The font style based on the theme.
 * @returns {svgBase.Size} - The rotated size of the text.
 */
export  function rotateTextSize(font: FontModel, text: string, angle: number, chart: Chart | Chart3D, themeFontStyle: FontModel): svgBase.Size;
/**
 * Removes the specified element.
 *
 * @param {string | Element} id - The id or reference of the element to be removed.
 * @returns {void}
 */
export  function removeElement(id: string | Element): void;
/**
 * Calculates the logarithm of a specified value with respect to a specified base.
 *
 * @param {number} value - The value for which to calculate the logarithm.
 * @param {number} base - The base of the logarithm.
 * @returns {number} - The logarithm of the value with respect to the specified base.
 */
export  function logBase(value: number, base: number): number;
/**
 * Displays a tooltip at the specified coordinates with the given text.
 *
 * @param {string} text - The text content of the tooltip.
 * @param {number} x - The x-coordinate where the tooltip should be displayed.
 * @param {number} y - The y-coordinate where the tooltip should be displayed.
 * @param {number} areaWidth - The width of the area where the tooltip is displayed.
 * @param {string} id - The id of the tooltip element.
 * @param {Element} element - The element to which the tooltip is appended.
 * @param {boolean} isTouch - Indicates whether the tooltip is displayed on a touch device.
 * @param {boolean} isTitleOrLegendEnabled - Indicates whether the tooltip is enabled for title or legend.
 * @param {svgBase.Rect} bound - The bounding rectangle in which the tooltip should be confined.
 * @returns {void}
 * @private
 */
export  function showTooltip(text: string, x: number, y: number, areaWidth: number, id: string, element: Element, isTouch?: boolean, isTitleOrLegendEnabled?: boolean, bound?: svgBase.Rect): void;
/**
 * Checks if a value is within the specified range.
 *
 * @param {number} value - The value to check.
 * @param {VisibleRangeModel} range - The range to check against.
 * @returns {boolean} - True if the value is inside the range, otherwise false.
 */
export  function inside(value: number, range: VisibleRangeModel): boolean;
/**
 * Checks if a value is within the specified range.
 *
 * @param {number} value - The value to check.
 * @param {VisibleRangeModel} range - The range to check against.
 * @returns {boolean} - True if the value is inside the range, otherwise false.
 */
export  function withIn(value: number, range: VisibleRangeModel): boolean;
/**
 * Adjusts the value based on the axis type.
 *
 * @param {number} value - The value to adjust.
 * @param {Axis} axis - The axis used for adjustment.
 * @returns {number} - The adjusted value.
 */
export  function logWithIn(value: number, axis: Axis): number;
/**
 * Checks if a point is within the range of the previous and next points in a series.
 *
 * @param {Points} previousPoint - The previous point in the series.
 * @param {Points} currentPoint - The current point to check.
 * @param {Points} nextPoint - The next point in the series.
 * @param {Series} series - The series to which the points belong.
 * @returns {boolean} - A boolean indicating if the point is within the range.
 * @private
 */
export  function withInRange(previousPoint: Points, currentPoint: Points, nextPoint: Points, series: Series): boolean;
/**
 * Calculates the sum of an array of numbers.
 *
 * @param {number[]} values - An array of numbers.
 * @returns {number} - The sum of the numbers in the array.
 */
export  function sum(values: number[]): number;
/**
 * Calculates the sum of elements in a subarray.
 *
 * @param {Object[]} values - The array containing elements.
 * @param {number} first - The index of the first element in the subarray.
 * @param {number} last - The index of the last element in the subarray.
 * @param {number[]} index - The array of indices.
 * @param {Series} series - The series object.
 * @returns {number} - The sum of elements in the subarray.
 * @private
 */
export  function subArraySum(values: Object[], first: number, last: number, index: number[], series: Series): number;
/**
 * Subtracts thickness from the given rectangle.
 *
 * @param {svgBase.Rect} rect - The rectangle from which to subtract thickness.
 * @param {Thickness} thickness - The thickness to subtract.
 * @returns {svgBase.Rect} - The resulting rectangle after subtracting thickness.
 */
export  function subtractThickness(rect: svgBase.Rect, thickness: Thickness): svgBase.Rect;
/**
 * Subtracts a rectangle representing thickness from the given rectangle.
 *
 * @param {svgBase.Rect} rect - The rectangle from which to subtract the thickness rectangle.
 * @param {Thickness} thickness - The rectangle representing the thickness to subtract.
 * @returns {svgBase.Rect} - The resulting rectangle after subtracting the thickness rectangle.
 */
export  function subtractRect(rect: svgBase.Rect, thickness: svgBase.Rect): svgBase.Rect;
/**
 * Converts a degree value to a location on the chart based on the provided radius and center point.
 *
 * @param {number} degree - The degree value to convert.
 * @param {number} radius - The radius from the center point.
 * @param {ChartLocation} center - The center point of the chart.
 * @returns {ChartLocation} - The location on the chart corresponding to the degree value.
 */
export  function degreeToLocation(degree: number, radius: number, center: ChartLocation): ChartLocation;
/**
 * Converts a degree value to radians.
 *
 * @param {number} degree - The degree value to convert.
 * @returns {number} - The equivalent value in radians.
 */
export  function degreeToRadian(degree: number): number;
/**
 * Get the coordinates of a rotated rectangle.
 *
 * @param {ChartLocation[]} actualPoints - The coordinates of the original rectangle.
 * @param {number} centerX - The x-coordinate of the center of rotation.
 * @param {number} centerY - The y-coordinate of the center of rotation.
 * @param {number} angle - The angle of rotation in degrees.
 * @returns {ChartLocation[]} - The coordinates of the rotated rectangle.
 */
export  function getRotatedRectangleCoordinates(actualPoints: ChartLocation[], centerX: number, centerY: number, angle: number): ChartLocation[];
/**
 * Helper function to determine whether there is an intersection between the two polygons described
 * by the lists of vertices. Uses the Separating Axis Theorem.
 *
 * @param {ChartLocation[]} a an array of connected points [{x:, y:}, {x:, y:},...] that form a closed polygon.
 * @param {ChartLocation[]} b an array of connected points [{x:, y:}, {x:, y:},...] that form a closed polygon.
 * @returns {boolean} if there is any intersection between the 2 polygons, false otherwise.
 */
export  function isRotatedRectIntersect(a: ChartLocation[], b: ChartLocation[]): boolean;
/**
 * Calculates the angle between two points.
 *
 * @param {ChartLocation} center - The center point.
 * @param {ChartLocation} point - The point to calculate the angle from the center.
 * @returns {number} - The angle in degrees.
 */
export  function getAngle(center: ChartLocation, point: ChartLocation): number;
/**
 * Returns a sub-array of values starting from the specified index.
 *
 * @param {number[]} values - The array of numbers.
 * @param {number} index - The index from which the sub-array starts.
 * @returns {number[]} - The sub-array of values.
 */
export  function subArray(values: number[], index: number): number[];
/**
 * Converts a value to its corresponding coefficient based on the axis range.
 *
 * @param {number} value - The value to be converted.
 * @param {Axis} axis - The axis object containing range information.
 * @returns {number} - The coefficient value corresponding to the input value.
 */
export  function valueToCoefficient(value: number, axis: Axis): number;
/**
 * Transforms a point to its visible position based on the axes range and inversion.
 *
 * @param {number} x - The x-coordinate of the point.
 * @param {number} y - The y-coordinate of the point.
 * @param {Axis} xAxis - The x-axis object containing range information.
 * @param {Axis} yAxis - The y-axis object containing range information.
 * @param {boolean} [isInverted=false] - Specifies if the chart is inverted.
 * @param {Series} [series] - The series object for additional information (optional).
 * @returns {ChartLocation} - The transformed visible position of the point.
 */
export  function TransformToVisible(x: number, y: number, xAxis: Axis, yAxis: Axis, isInverted?: boolean, series?: Series): ChartLocation;
/**
 * Finds the index from the given id.
 *
 * @param {string} id - The id to search for.
 * @param {boolean} [isPoint=false] - Specifies if the id represents a data point (optional).
 * @returns {Index} - The index found from the id.
 */
export  function indexFinder(id: string, isPoint?: boolean): Index;
/**
 * Converts a coefficient value to a vector representing a point on the circumference of a circle.
 *
 * @param {number} coefficient - The coefficient value to convert.
 * @param {number} startAngle - The starting angle of the circle.
 * @returns {ChartLocation} - The vector representing the point on the circle.
 */
export  function CoefficientToVector(coefficient: number, startAngle: number): ChartLocation;
/**
 * Converts a value to a polar coefficient value based on the axis.
 *
 * @param {number} value - The value to convert.
 * @param {Axis} axis - The axis object.
 * @returns {number} - The polar coefficient value.
 */
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);
}
/**
 * Creates a tooltip element with the specified id, text, position, and font size.
 *
 * @param {string} id - The id of the tooltip element.
 * @param {string} text - The text content of the tooltip.
 * @param {number} top - The top position of the tooltip.
 * @param {number} left - The left position of the tooltip.
 * @param {string} fontSize - The font size of the tooltip text.
 * @returns {void}
 */
export  function createTooltip(id: string, text: string, top: number, left: number, fontSize: string): void;
/**
 * Creates zooming labels for the specified axis and adds them to the parent element.
 *
 * @param {Chart} chart - The chart instance.
 * @param {Axis} axis - The axis for which to create zooming labels.
 * @param {Element} parent - The parent element to which the labels will be appended.
 * @param {number} index - The index of the label.
 * @param {boolean} isVertical - Indicates whether the axis is vertical.
 * @param {svgBase.Rect} rect - The bounding rectangle of the label.
 * @returns {Element} - The created zooming label element.
 */
export  function createZoomingLabels(chart: Chart, axis: Axis, parent: Element, index: number, isVertical: boolean, rect: svgBase.Rect): Element;
/**
 * Finds the direction of the crosshair based on the provided parameters.
 *
 * @param {number} rX - The x-coordinate of the crosshair line.
 * @param {number} rY - The y-coordinate of the crosshair line.
 * @param {svgBase.Rect} rect - The bounding rectangle of the crosshair.
 * @param {ChartLocation} arrowLocation - The location of the arrow in the crosshair.
 * @param {number} arrowPadding - The padding for the arrow.
 * @param {boolean} top - Indicates whether the crosshair is positioned at the top.
 * @param {boolean} bottom - Indicates whether the crosshair is positioned at the bottom.
 * @param {boolean} left - Indicates whether the crosshair is positioned at the left.
 * @param {number} tipX - The x-coordinate of the crosshair tip.
 * @param {number} tipY - The y-coordinate of the crosshair tip.
 * @returns {string} - The direction of the crosshair ('Top', 'Bottom', 'Left', 'Right', 'Center').
 */
export  function findCrosshairDirection(rX: number, rY: number, rect: svgBase.Rect, arrowLocation: ChartLocation, arrowPadding: number, top: boolean, bottom: boolean, left: boolean, tipX: number, tipY: number): string;
/**
 * Checks if the provided coordinates are within the bounds of the rectangle.
 *
 * @param {number} x - The x-coordinate to check.
 * @param {number} y - The y-coordinate to check.
 * @param {svgBase.Rect} bounds - The bounding rectangle.
 * @param {number} width - The width of the area to include in the bounds check.
 * @param {number} height - The height of the area to include in the bounds check.
 * @returns {boolean} - Returns true if the coordinates are within the bounds;
 otherwise, false.
 */
export  function withInBounds(x: number, y: number, bounds: svgBase.Rect, width?: number, height?: number): boolean;
/**
 * Gets the x-coordinate value for a given point value on the axis.
 *
 * @param {number} value - The point value.
 * @param {number} size - The size of the axis.
 * @param {Axis} axis - The axis.
 * @returns {number} - Returns the x-coordinate value.
 */
export  function getValueXByPoint(value: number, size: number, axis: Axis): number;
/**
 * Gets the y-coordinate value for a given point value on the axis.
 *
 * @param {number} value - The point value.
 * @param {number} size - The size of the axis.
 * @param {Axis} axis - The axis.
 * @returns {number} - Returns the y-coordinate value.
 */
export  function getValueYByPoint(value: number, size: number, axis: Axis): number;
/**
 * Finds the clip rectangle for a series.
 *
 * @param {Series} series - The series for which to find the clip rectangle.
 * @param {boolean} isCanvas - Indicates whether the rendering is on a canvas.
 * @returns {void}
 */
export  function findClipRect(series: Series, isCanvas?: boolean): void;
/**
 * Converts the first character of a string to lowercase.
 *
 * @param {string} str - The string to convert.
 * @returns {string} The converted string.
 */
export  function firstToLowerCase(str: string): string;
/**
 * Gets the transformation of the chart area based on the provided axes and inverted axis state.
 *
 * @param {Axis} xAxis - The X-axis of the chart.
 * @param {Axis} yAxis - The Y-axis of the chart.
 * @param {boolean} invertedAxis - Indicates whether the chart axis is inverted.
 * @returns {svgBase.Rect} The transformed chart area.
 */
export  function getTransform(xAxis: Axis, yAxis: Axis, invertedAxis: boolean): svgBase.Rect;
/**
 * Calculates the minimum points delta between data points on the provided axis.
 *
 * @param {Axis | Chart3DAxis} axis - The axis for which to calculate the minimum points delta.
 * @param {Series[]} seriesCollection - The collection of series in the chart.
 * @returns {number} The minimum points delta.
 */
export  function getMinPointsDelta(axis: Axis | Chart3DAxis, seriesCollection: Series[]): number;
/**
 * Retrieves the animation function based on the specified effect.
 *
 * @param {string} effect - The name of the animation effect.
 * @returns {Function} The animation function corresponding to the effect.
 */
export  function getAnimationFunction(effect: string): Function;
/**
 * Linear animation function.
 *
 * @param {number} currentTime - The current time of the animation.
 * @param {number} startValue - The starting value of the animation.
 * @param {number} endValue - The ending value of the animation.
 * @param {number} duration - The duration of the animation.
 * @returns {number} The interpolated value at the current time.
 * @private
 */
export  function linear(currentTime: number, startValue: number, endValue: number, duration: number): number;
/**
 * Animates the marker element.
 *
 * @param {Element} element - The marker element to animate.
 * @param {number} delay - The delay before starting the animation.
 * @param {number} duration - The duration of the animation.
 * @param {Series | AccumulationSeries} series - The series associated with the marker.
 * @param {number} pointIndex - The index of the point in the series.
 * @param {ChartLocation} point - The location of the point.
 * @param {boolean} isLabel - Specifies whether the marker is a data label.
 * @returns {void}
 */
export  function markerAnimate(element: Element, delay: number, duration: number, series: Series | AccumulationSeries, pointIndex: number, point: ChartLocation, isLabel: boolean): void;
/**
 * Animates the rectangle element.
 *
 * @param {Element} element - The rectangle element to animate.
 * @param {number} delay - The delay before starting the animation.
 * @param {number} duration - The duration of the animation.
 * @param {svgBase.Rect} currentRect - The current rectangle dimensions.
 * @param {svgBase.Rect} previousRect - The previous rectangle dimensions.
 * @returns {void}
 */
export  function animateRectElement(element: Element, delay: number, duration: number, currentRect: svgBase.Rect, previousRect: svgBase.Rect): void;
/**
 * Animation after legend click a path.
 *
 * @param {Element} element - element to be animated
 * @param {string} direction - current direction of the path
 * @param {boolean} redraw - chart redraw
 * @param {string} previousDirection - previous direction of the path
 * @param {number} animateDuration - animateDuration of the path
 * @returns {void}
 */
export  function pathAnimation(element: Element, direction: string, redraw: boolean, previousDirection?: string, animateDuration?: number): void;
/**
 * Point based animation in chart series.
 *
 * @param {Element} element element to be animated.
 * @param {string} direction current direction of the path.
 * @param {boolean} redraw chart redraw.
 * @param {string} previousDirection previous direction of the path.
 * @param {number} animateDuration animateDuration of the path.
 * @param {string} removeDirection removeDirection of the path.
 * @param {boolean} isSpline gets true for splline series.
 * @returns {void}
 */
export  function animateAddPoints(element: Element, direction: string, redraw: boolean, previousDirection?: string, animateDuration?: number, removeDirection?: string, isSpline?: boolean): void;
/**
 * To append the clip rect element.
 *
 * @param {boolean} redraw - chart redraw value.
 * @param {svgBase.BaseAttibutes} options - element options.
 * @param {svgBase.SvgRenderer} renderer - svg renderer values.
 * @param {string} clipPath - clipPath of the element.
 * @returns {Element} - Returns clip rect element.
 */
export  function appendClipElement(redraw: boolean, options: svgBase.BaseAttibutes, renderer: svgBase.SvgRenderer, clipPath?: string): Element;
/**
 * Triggers the label render event.
 *
 * @param {Chart | RangeNavigator | Chart3D} chart - The chart or range navigator instance.
 * @param {number} tempInterval - The temporary interval value.
 * @param {string} text - The label text.
 * @param {FontModel} labelStyle - The style of the label.
 * @param {Axis | Chart3DAxis} axis - The axis associated with the label.
 * @returns {void}
 */
export  function triggerLabelRender(chart: Chart | RangeNavigator | Chart3D, tempInterval: number, text: string, labelStyle: FontModel, axis: Axis | Chart3DAxis): void;
/**
 * The function used to find whether the range is set.
 *
 * @param {Axis | Chart3DAxis} axis - The axis to check.
 * @returns {boolean} - It returns true if the axis range is set otherwise false.
 * @private
 */
export  function setRange(axis: Axis | Chart3DAxis): boolean;
/**
 * Checks if zooming is enabled for the axis.
 *
 * @param {Axis} axis - The axis to check for zooming.
 * @returns {boolean} - Returns true if zooming is enabled for the axis, otherwise false.
 */
export  function isZoomSet(axis: Axis): boolean;
/**
 * Calculates the actual desired intervals count based on the available size and axis.
 *
 * @param {svgBase.Size} availableSize - The available size for rendering.
 * @param {Axis | Chart3DAxis} axis - The axis for which to calculate the intervals count.
 * @returns {number} - The actual desired intervals count.
 */
export  function getActualDesiredIntervalsCount(availableSize: svgBase.Size, axis: Axis | Chart3DAxis): number;
/**
 * Animates the template element.
 *
 * @param {Element} element - The element to animate.
 * @param {number} delay - The delay before starting the animation.
 * @param {number} duration - The duration of the animation.
 * @param {base.Effect} name - The name of the animation effect.
 * @param {boolean} [isRemove] - Indicates whether to remove the element after animation completion.
 * @returns {void}
 */
export  function templateAnimate(element: Element, delay: number, duration: number, name: base.Effect, isRemove?: boolean): void;
/**
 * Draws a symbol at the specified location.
 *
 * @param {ChartLocation} location - The location to draw the symbol.
 * @param {string} shape - The shape of the symbol.
 * @param {svgBase.Size} size - The size of the symbol.
 * @param {string} url - The URL of the image symbol.
 * @param {svgBase.PathOption} options - The options for drawing the symbol.
 * @param {string} label - The label for the symbol.
 * @param {svgBase.SvgRenderer | svgBase.CanvasRenderer} [renderer] - The renderer for drawing the symbol.
 * @param {svgBase.Rect} [clipRect] - The clipping rectangle.
 * @param {boolean} [isChartControl] - Indicates whether it is a chart control.
 * @param {BulletChart} [control] - The bullet chart control.
 * @returns {Element} - The element representing the drawn symbol.
 */
export  function drawSymbol(location: ChartLocation, shape: string, size: svgBase.Size, url: string, options: svgBase.PathOption, label: string, renderer?: svgBase.SvgRenderer | svgBase.CanvasRenderer, clipRect?: svgBase.Rect, isChartControl?: boolean, control?: BulletChart): Element;
/**
 * Calculates the shapes based on the specified parameters.
 *
 * @param {ChartLocation} location - The location for the shapes.
 * @param {svgBase.Size} size - The size of the shapes.
 * @param {string} shape - The shape of the symbols.
 * @param {svgBase.PathOption} options - The options for drawing the shapes.
 * @param {string} url - The URL of the image symbols.
 * @param {boolean} [isChart] - Indicates whether it is a chart.
 * @param {BulletChart} [control] - The bullet chart control.
 * @returns {IShapes} - The calculated shapes.
 */
export  function calculateShapes(location: ChartLocation, size: svgBase.Size, shape: string, options: svgBase.PathOption, url: string, isChart?: boolean, control?: BulletChart): IShapes;
/**
 * Gets the location of the rectangle based on the specified start and end locations and the outer rectangle.
 *
 * @param {ChartLocation} startLocation - The start location.
 * @param {ChartLocation} endLocation - The end location.
 * @param {svgBase.Rect} outerRect - The outer rectangle.
 * @returns {svgBase.Rect} - The location of the rectangle.
 */
export  function getRectLocation(startLocation: ChartLocation, endLocation: ChartLocation, outerRect: svgBase.Rect): svgBase.Rect;
/**
 * Returns the value constrained within the specified minimum and maximum limits.
 *
 * @param {number} value - The input value.
 * @param {number} min - The minimum limit.
 * @param {number} max - The maximum limit.
 * @returns {number} - The constrained value.
 */
export  function minMax(value: number, min: number, max: number): number;
/**
 * Retrieves the DOM element with the specified ID.
 *
 * @param {string} id - The ID of the element to retrieve.
 * @returns {Element} - The DOM element.
 */
export  function getElement(id: string): Element;
/**
 * Gets the template function from the provided template string or function.
 *
 * @param {string | Function} template - The template string or function.
 * @returns {Function} - The template function.
 */
export  function getTemplateFunction(template: string | Function): Function;
/**
 * Renders the accumulation chart data labels using template.
 *
 * @param {HTMLElement} childElement - The child element.
 * @param {AccumulationChart} chart - The accumulation chart instance.
 * @param {boolean} isTemplate - Defines whether the template is applied or not.
 * @param {AccPoints[]} points - The accumulation chart points.
 * @param {IAccTextRenderEventArgs} argsData - The accumulation chart text render event arguments.
 * @param {AccPoints} [point] - The accumulation chart point.
 * @param {Element} [datalabelGroup] - The data label group element.
 * @param {string} [id] - The id of the element.
 * @param {AccumulationDataLabelSettingsModel} [dataLabel] - The accumulation chart data label settings.
 * @param {boolean} [redraw] - Defines whether to redraw the chart or not.
 * @returns {void}
 */
export  function accReactTemplate(childElement: HTMLElement, chart: AccumulationChart, isTemplate: boolean, points: AccPoints[], argsData: IAccTextRenderEventArgs, point?: AccPoints, datalabelGroup?: Element, id?: string, dataLabel?: AccumulationDataLabelSettingsModel, redraw?: boolean): void;
/**
 * Renders the chart data labels using template.
 *
 * @param {HTMLElement} childElement - The child element.
 * @param {Chart} chart - The chart instance.
 * @param {Points} point - The chart point.
 * @param {Series} series - The chart series.
 * @param {number} labelIndex - The index of the label.
 * @param {boolean} [redraw] - Defines whether to redraw the chart or not.
 * @returns {void}
 */
export  function chartReactTemplate(childElement: HTMLElement, chart: Chart, point: Points, series: Series, labelIndex: number, redraw?: boolean): void;
/**
 * Creates a template.
 *
 * @param {HTMLElement} childElement - The child element of the template.
 * @param {number} pointIndex - The index of the point.
 * @param {string | Function} content - The content of the template.
 * @param {Chart | AccumulationChart | RangeNavigator} chart - The chart instance.
 * @param {Points | AccPoints} point - The chart or accumulation point.
 * @param {Series | AccumulationSeries} series - The chart or accumulation series.
 * @param {string} dataLabelId - The id of the data label.
 * @param {number} labelIndex - The index of the label.
 * @param {IAccTextRenderEventArgs} argsData - The event arguments for text rendering.
 * @param {boolean} isTemplate - Indicates whether it is a template.
 * @param {AccPoints[]} points - The accumulation points.
 * @param {Element} datalabelGroup - The group element of the data label.
 * @param {string} id - The id of the element.
 * @param {AccumulationDataLabelSettingsModel} dataLabel - The data label settings.
 * @param {boolean} redraw - Indicates whether to redraw.
 * @returns {HTMLElement} - The created template element.
 * @private
 */
export  function createTemplate(childElement: HTMLElement, pointIndex: number, content: string | Function, chart: Chart | AccumulationChart | RangeNavigator, point?: Points | AccPoints, series?: Series | AccumulationSeries, dataLabelId?: string, labelIndex?: number, argsData?: IAccTextRenderEventArgs, isTemplate?: boolean, points?: AccPoints[], datalabelGroup?: Element, id?: string, dataLabel?: AccumulationDataLabelSettingsModel, redraw?: boolean): HTMLElement;
/**
 * Gets the font style.
 *
 * @param {FontModel} font - The font settings.
 * @param {FontModel} themeFontStyle - The theme font settings.
 * @returns {string} - The font style.
 * @private
 */
export  function getFontStyle(font: FontModel, themeFontStyle: FontModel): string;
/**
 * Measures the bounding rectangle of an HTML element.
 *
 * @param {HTMLElement} element - The HTML element to measure.
 * @param {boolean} redraw - Indicates whether to redraw.
 * @param {boolean} isReactCallback - Indicates whether it's a React callback.
 * @returns {ClientRect} - The bounding rectangle of the element.
 * @private
 */
export  function measureElementRect(element: HTMLElement, redraw?: boolean, isReactCallback?: boolean): ClientRect;
/**
 * Finds an element in a NodeList based on its id.
 *
 * @param {NodeList} elements - The NodeList to search.
 * @param {string} id - The id of the element to find.
 * @returns {Element} - The found element.
 * @private
 */
export  function findlElement(elements: NodeList, id: string): Element;
/**
 * Gets the point on the chart based on the provided coordinates and axes.
 *
 * @param {number} x - The x-coordinate of the point.
 * @param {number} y - The y-coordinate of the point.
 * @param {Axis} xAxis - The x-axis of the chart.
 * @param {Axis} yAxis - The y-axis of the chart.
 * @param {boolean} isInverted - Indicates whether the chart is inverted.
 * @returns {ChartLocation} - The calculated point.
 * @private
 */
export  function getPoint(x: number, y: number, xAxis: Axis, yAxis: Axis, isInverted?: boolean): ChartLocation;
/**
 * Appends an element to a parent element.
 *
 * @param {Element} child - The child element to be appended.
 * @param {Element} parent - The parent element to which the child element will be appended.
 * @param {boolean} [redraw=false] - A boolean value indicating whether to redraw. Default is false.
 * @param {boolean} [animate=false] - A boolean value indicating whether to animate the appending operation. Default is false.
 * @param {string} [x='x'] - The x-coordinate for the position of the child element. Default is 'x'.
 * @param {string} [y='y'] - The y-coordinate for the position of the child element. Default is 'y'.
 * @param {number} duration - duration of the animation
 * @returns {void}
 */
export  function appendElement(child: Element, parent: Element, redraw?: boolean, animate?: boolean, x?: string, y?: string, duration?: number): void;
/**
 * Method to append child element.
 *
 * @param {boolean} isCanvas - canvas mode value
 * @param {Element | HTMLElement} parent - parent element
 * @param {Element | HTMLElement} childElement - childElement element
 * @param {boolean} redraw - chart redraw value
 * @param {boolean} isAnimate - animation value
 * @param {string} x - x position
 * @param {string} y - y position
 * @param {ChartLocation} start - start location value
 * @param {string} direction - direction of the element
 * @param {boolean} forceAnimate - forceAnimate
 * @param {boolean} isRect - isRect
 * @param {svgBase.Rect} previousRect - previousRect
 * @param {number} animateDuration - duration of the animation
 * @param {boolean} scatterElement - The scatter element.
 * @param {number} angle - The angle of the element.
 * @param {ChartLocation} currentTransform - The current transform of the element.
 * @param {string} previousTranslate - The previous translate of the element.
 * @returns {void}
 * @private
 */
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, scatterElement?: boolean, angle?: number, currentTransform?: ChartLocation, previousTranslate?: string): void;
/**
 * Calculates the location of the dragged rectangle.
 *
 * @param {number} x1 - The x-coordinate of the starting point.
 * @param {number} y1 - The y-coordinate of the starting point.
 * @param {number} x2 - The x-coordinate of the ending point.
 * @param {number} y2 - The y-coordinate of the ending point.
 * @param {svgBase.Rect} outerRect - The outer rectangle containing the dragged rectangle.
 * @returns {svgBase.Rect} - The location of the dragged rectangle.
 * @private
 */
export  function getDraggedRectLocation(x1: number, y1: number, x2: number, y2: number, outerRect: svgBase.Rect): svgBase.Rect;
/**
 * Checks if a value is within bounds defined by minimum and maximum values.
 *
 * @param {number} start - The start value.
 * @param {number} size - The size of the value.
 * @param {number} min - The minimum value of the bound.
 * @param {number} max - The maximum value of the bound.
 * @returns {number} - The adjusted value within the bounds.
 * @private
 */
export  function checkBounds(start: number, size: number, min: number, max: number): number;
/**
 * Retrieves label text for a data point.
 *
 * @param {Points} currentPoint - The current data point.
 * @param {Series} series - The series to which the data point belongs.
 * @param {Chart} chart - The chart instance.
 * @returns {string[]} - The label text.
 * @private
 */
export  function getLabelText(currentPoint: Points, series: Series, chart: Chart): string[];
/**
 * Stops the specified timer.
 *
 * @param {number} timer - The timer to stop.
 * @returns {void}
 */
export  function stopTimer(timer: number): void;
/**
 * Checks if the specified rect collides with any of the rect in the collection within the given clip rect.
 *
 * @param {svgBase.Rect} rect - The rect to check for collision.
 * @param {svgBase.Rect[]} collections - The collection of rect to check against.
 * @param {svgBase.Rect} clipRect - The clip rect.
 * @returns {boolean} - Returns true if collision occurs;
 otherwise, false.
 */
export  function isCollide(rect: svgBase.Rect, collections: svgBase.Rect[], clipRect: svgBase.Rect): boolean;
/**
 * Checks if the specified rect overlap each other.
 *
 * @param {svgBase.Rect} currentRect - The first rect.
 * @param {svgBase.Rect} rect - The second rect.
 * @returns {boolean} - Returns true if the rect overlap;
 otherwise, false.
 */
export  function isOverlap(currentRect: svgBase.Rect, rect: svgBase.Rect): boolean;
/**
 * Checks if the specified rect is completely contained within another rect.
 *
 * @param {svgBase.Rect} currentRect - The rect to check if it's contained.
 * @param {svgBase.Rect} rect - The containing rect.
 * @returns {boolean} - Returns true if the specified rect is completely contained within the containing rect;
 otherwise, false.
 */
export  function containsRect(currentRect: svgBase.Rect, rect: svgBase.Rect): boolean;
/**
 * Calculates the rect based on the specified location, text size, and margin.
 *
 * @param {ChartLocation} location - The location of the rect.
 * @param {svgBase.Size} textSize - The size of the text.
 * @param {MarginModel} margin - The margin to be applied around the text.
 * @returns {svgBase.Rect} - Returns the calculated rect.
 */
export  function calculateRect(location: ChartLocation, textSize: svgBase.Size, margin: MarginModel): svgBase.Rect;
/**
 * Converts the color value to hexadecimal code.
 *
 * @param {ColorValue} value - The color value to convert.
 * @returns {string} - Returns the hexadecimal representation of the color.
 */
export  function convertToHexCode(value: ColorValue): string;
/**
 * Converts a component value to its hexadecimal representation.
 *
 * @param {number} value - The component value to convert.
 * @returns {string} - Returns the hexadecimal representation of the component.
 */
export  function componentToHex(value: number): string;
/**
 * Converts a hexadecimal color code to its RedGreenBlue representation.
 *
 * @param {string} hex - The hexadecimal color code to convert.
 * @returns {ColorValue} - Returns the RedGreenBlue representation of the hexadecimal color code.
 */
export  function convertHexToColor(hex: string): ColorValue;
/**
 * Converts a color name to its corresponding hexadecimal color code.
 *
 * @param {string} color - The color name to convert.
 * @returns {string} - Returns the hexadecimal color code.
 */
export  function colorNameToHex(color: string): string;
/**
 * Checks if the provided color string is in a valid format.
 *
 * @param {string} color - The color string to check.
 * @returns {boolean} - Returns true if the color string is in a valid format, otherwise returns false.
 */
export  function checkColorFormat(color: string): boolean;
/**
 * Gets the color with adjusted saturation.
 *
 * @param {string} color - The input color string.
 * @param {number} factor - The factor by which to adjust the saturation.
 * @returns {string} - The modified color string.
 */
export  function getSaturationColor(color: string, factor: number): string;
/**
 * Applies a lightness adjustment to the given color.
 *
 * @param {string} color - The input color string.
 * @param {number} value - The value by which to adjust the lightness.
 * @returns {string} - The modified color string.
 */
export  function applyZLight(color: string, value: number): string;
/**
 * Calculates the median value of an array of numbers.
 *
 * @param {number[]} values - The array of numbers.
 * @returns {number} - The median value.
 */
export  function getMedian(values: number[]): number;
/**
 * Calculates the legend shapes based on the provided parameters.
 *
 * @param {ChartLocation} location - The location to position the legend shape.
 * @param {svgBase.Size} size - The size of the legend shape.
 * @param {string} shape - The shape of the legend.
 * @param {svgBase.PathOption} options - The options for drawing the legend shape.
 * @returns {IShapes} - The calculated legend shape.
 */
export  function calculateLegendShapes(location: ChartLocation, size: svgBase.Size, shape: string, options: svgBase.PathOption): IShapes;
/**
 * Trims the text to fit within the specified maximum width.
 *
 * @param {number} maxWidth - The maximum width for the text.
 * @param {string} text - The text to be trimmed.
 * @param {FontModel} font - The font settings for the text.
 * @param {boolean} isRtlEnabled - Indicates whether right-to-left text rendering is enabled.
 * @param {FontModel} [themeFontStyle] - The font style to be used for theme-specific settings.
 * @returns {string} - The trimmed text.
 */
export  function textTrim(maxWidth: number, text: string, font: FontModel, isRtlEnabled: boolean, themeFontStyle?: FontModel): string;
/**
 * Trims the text and performs line breaks based on the maximum width and font settings.
 *
 * @param {number} maxWidth - The maximum width allowed for the text.
 * @param {string} text - The text to be trimmed.
 * @param {FontModel} font - The font settings for the text.
 * @param {FontModel} [themeFontStyle] - Optional. The font style based on the theme.
 * @returns {string[]} - An array of trimmed text lines with line breaks.
 */
export  function lineBreakLabelTrim(maxWidth: number, text: string, font: FontModel, themeFontStyle?: FontModel): string[];
/**
 * Converts a string value to a number, considering the container size for percentage values.
 *
 * @param {string} value - The string value to convert to a number.
 * @param {number} containerSize - The size of the container, used for percentage values.
 * @returns {number} - The converted numeric value.
 */
export  function stringToNumber(value: string, containerSize: number): number;
/**
 * Redraws the SVG or canvas element based on the provided options.
 *
 * @param {boolean} redraw - Specifies whether to redraw the element.
 * @param {string} id - The id of the element to redraw.
 * @param {svgBase.PathAttributes | svgBase.RectAttributes | svgBase.CircleAttributes} [options] - The attributes of the element to redraw.
 * @param {svgBase.SvgRenderer | svgBase.CanvasRenderer} [renderer] - The renderer to use for redrawing.
 * @returns {Element} - The redrawn element.
 */
export  function redrawElement(redraw: boolean, id: string, options?: svgBase.PathAttributes | svgBase.RectAttributes | svgBase.CircleAttributes, renderer?: svgBase.SvgRenderer | svgBase.CanvasRenderer): Element;
/**
 * Animates the redrawn element from its start to end location over a specified duration.
 *
 * @param {Element | HTMLElement} element - The element to animate.
 * @param {number} duration - The duration of the animation in milliseconds.
 * @param {ChartLocation} start - The start location of the element.
 * @param {ChartLocation} end - The end location of the element.
 * @param {string} [x='x'] - The attribute representing the horizontal position of the element.
 * @param {string} [y='y'] - The attribute representing the vertical position of the element.
 * @param {number} [angle=0] - The angle of rotation for the element.
 * @param {ChartLocation} [newTransform=new ChartLocation(0, 0)] - The new transform location of the element.
 * @param {ChartLocation} [previousTransform=new ChartLocation(0, 0)] - The previous transform location of the element.
 * @param {boolean} [pointAnimation] - Specifies the animation based on points.
 * @returns {void}
 */
export  function animateRedrawElement(element: Element | HTMLElement, duration: number, start: ChartLocation, end: ChartLocation, x?: string, y?: string, angle?: number, newTransform?: ChartLocation, previousTransform?: ChartLocation, pointAnimation?: boolean): void;
/**
 * Animates the text content of an HTML element from a start value to an end value over a specified duration.
 *
 * @param {HTMLElement} element - The HTML element whose text content will be animated.
 * @param {number} duration - The duration of the animation in milliseconds.
 * @param {number} start - The starting value of the animation.
 * @param {number} end - The ending value of the animation.
 * @param {string} customLabelFormat - A custom format string that includes a placeholder for the value.
 * @returns {void}
 */
export  function animateTextElement(element: HTMLElement, duration: number, start: number, end: number, customLabelFormat: string): void;
/**
 * Renders a text element using the specified renderer and options.
 *
 * @param {svgBase.SvgRenderer | svgBase.CanvasRenderer} renderer - The renderer used for rendering.
 * @param {svgBase.TextOption} option - The options for the text element.
 * @param {FontModel} font - The font settings for the text.
 * @param {string} color - The color of the text.
 * @param {HTMLElement | Element} parent - The parent element to which the text element is appended.
 * @param {boolean} [isMinus=false] - Indicates whether the text represents a negative value.
 * @param {boolean} [redraw] - Indicates whether to redraw the element.
 * @param {boolean} [isAnimate] - Indicates whether to animate the element.
 * @param {boolean} [forceAnimate=false] - Indicates whether to force animation.
 * @param {number} [animateDuration] - The duration of the animation in milliseconds.
 * @param {svgBase.Rect} [seriesClipRect] - The clipping rectangle for the series.
 * @param {svgBase.Size} [labelSize] - The size of the label.
 * @param {boolean} [isRotatedLabelIntersect] - Indicates whether rotated labels intersect.
 * @param {boolean} [isCanvas] - Indicates whether the rendering is done on a canvas.
 * @param {boolean} [isDataLabelWrap] - Indicates whether data labels are wrapped.
 * @param {FontModel} [themeFontStyle] - The font settings based on the theme.
 * @param {ChartLocation} [transform] - The location to transform the text element.
 * @param {string} [previousTransform] - The previous transform of the text element.
 * @returns {Element} - The rendered text element.
 */
export  function textElement(renderer: svgBase.SvgRenderer | svgBase.CanvasRenderer, option: svgBase.TextOption, font: FontModel, color: string, parent: HTMLElement | Element, isMinus?: boolean, redraw?: boolean, isAnimate?: boolean, forceAnimate?: boolean, animateDuration?: number, seriesClipRect?: svgBase.Rect, labelSize?: svgBase.Size, isRotatedLabelIntersect?: boolean, isCanvas?: boolean, isDataLabelWrap?: boolean, themeFontStyle?: FontModel, transform?: ChartLocation, previousTransform?: string): Element;
/**
 * Calculates the size of the chart.
 *
 * @param {Chart | AccumulationChart | RangeNavigator | StockChart | Chart3D | CircularChart3D} chart - The chart for which to calculate the size.
 * @returns {void}
 */
export  function calculateSize(chart: Chart | AccumulationChart | RangeNavigator | StockChart | Chart3D | CircularChart3D): void;
/**
 * Creates an SVG element for the specified chart or chart element.
 *
 * @param {Chart | AccumulationChart | RangeNavigator | Chart3D | CircularChart3D} chart - The chart or chart element for which to create the SVG element.
 * @returns {void}
 */
export  function createSvg(chart: Chart | AccumulationChart | RangeNavigator | Chart3D | CircularChart3D): void;
/**
 * Gets the title text with specified style and width, and supports right-to-left rendering.
 *
 * @param {string} title - The title text.
 * @param {FontModel} style - The font style for the title.
 * @param {number} width - The width available for rendering the title.
 * @param {boolean} isRtlEnabled - Specifies whether right-to-left rendering is enabled.
 * @param {FontModel} [themeFontStyle] - The font style used for theme rendering.
 * @returns {string[]} An array of strings containing the title text with line breaks if needed.
 */
export  function getTitle(title: string, style: FontModel, width: number, isRtlEnabled: boolean, themeFontStyle?: FontModel): string[];
/**
 * Calculates the x-coordinate position for rendering the title text within the specified rect.
 *
 * @param {svgBase.Rect} rect - The rect within which the title text is to be rendered.
 * @param {FontModel} titleStyle - The font style used for rendering the title text.
 * @returns {number} The x-coordinate position for rendering the title text.
 */
export  function titlePositionX(rect: svgBase.Rect, titleStyle: FontModel): number;
/**
 * Wraps the input text into multiple lines based on the specified maximum width and font style.
 *
 * @param {string} currentLabel - The text to be wrapped.
 * @param {number} maximumWidth - The maximum width allowed for each line of text.
 * @param {FontModel} font - The font style used for rendering the text.
 * @param {boolean} isRtlEnabled - Specifies whether right-to-left text direction is enabled.
 * @param {boolean} [wrapAnyWhere=false] - Indicates whether the text can be wrapped at any position.
 * @param {boolean} [clip=false] - Specifies whether text exceeding the maximum width should be clipped.
 * @param {FontModel} [themeFontStyle] - The font style used as the base for the text wrapping operation.
 * @param {number} [maximumLabelHeight] - The total height available for the wrapped text.
 * @returns {string[]} An array of strings representing the wrapped lines of text.
 */
export  function textWrap(currentLabel: string, maximumWidth: number, font: FontModel, isRtlEnabled: boolean, wrapAnyWhere?: boolean, clip?: boolean, themeFontStyle?: FontModel, maximumLabelHeight?: number): string[];
/**
 * Wraps the input text into multiple lines, allowing wrapping at any position.
 *
 * @param {string} currentLabel - The text to be wrapped.
 * @param {number} maximumWidth - The maximum width allowed for each line of text.
 * @param {FontModel} font - The font style used for rendering the text.
 * @param {FontModel} [themeFontStyle] - The font style used as the base for the text wrapping operation.
 * @returns {string[]} An array of strings representing the wrapped lines of text.
 * @private
 */
export  function textWrapAnyWhere(currentLabel: string, maximumWidth: number, font: FontModel, themeFontStyle?: FontModel): string[];
/**
 * Gets the Unicode text from the input string based on the provided regular expression.
 *
 * @param {string} text - The input string.
 * @param {RegExp} regexp - The regular expression pattern to match Unicode characters.
 * @returns {string} The Unicode text extracted from the input string.
 */
export  function getUnicodeText(text: string, regexp: RegExp): string;
/**
 * Resets the Blazor templates of the given control (Chart or AccumulationChart).
 *
 * @param {Chart | AccumulationChart} control - The control to reset Blazor templates for.
 * @returns {void}
 */
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 RectOption11 extends svgBase.PathOption {
    x: number;
    y: number;
    height: number;
    width: number;
    rx: number;
    ry: number;
    transform: string;
    constructor(id: string, fill: string, border: BorderModel, opacity: number, rect: svgBase.Rect, rx?: number, ry?: number, transform?: string, dashArray?: string);
}
/** @private */
export  class ImageOption {
    height: number;
    width: number;
    href: string;
    x: number;
    y: number;
    id: string;
    visibility: string;
    preserveAspectRatio: string;
    constructor(height: number, width: number, href: string, x: number, y: number, id: string, visibility: string, preserveAspectRatio: string);
}
/** @private */
export  class CircleOption11 extends svgBase.PathOption {
    cy: number;
    cx: number;
    r: number;
    constructor(id: string, fill: string, border: BorderModel, opacity: number, cx: number, cy: number, r: number);
}
/** @private */
export  class PolygonOption {
    id: string;
    points: string;
    fill: string;
    constructor(id: string, points: string, fill: string);
}
/** @private */
export  class ChartLocation {
    x: number;
    y: number;
    constructor(x: number, y: number);
}
/** @private */
export  class LabelLocation {
    x: number;
    y: number;
    constructor(x: number, y: number);
}
/** @private */
export  class Thickness {
    left: number;
    right: number;
    top: number;
    bottom: number;
    constructor(left: number, right: number, top: number, bottom: number);
}
/** @private */
export  class ColorValue {
    r: number;
    g: number;
    b: number;
    constructor(r?: number, g?: number, b?: number);
}
/** @private */
export  class PointData {
    point: Points;
    series: Series;
    lierIndex: number;
    constructor(point: Points, series: Series, index?: number);
}
/** @private */
export  class AccPointData {
    point: AccPoints;
    series: AccumulationSeries;
    index: number;
    constructor(point: AccPoints, series: AccumulationSeries, index?: number);
}
/** @private */
export  class Point3D {
    point: Chart3DPoint;
    series: Chart3DSeries;
    /**
     * Initializes a new instance of the Chart3DData class.
     *
     * @param {Chart3DPoint} point - The 3D point object.
     * @param {Chart3DSeries} series - The 3D series object.
     * @private
     */
    constructor(point: Chart3DPoint, series: Chart3DSeries);
}
/** @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[];
}
/**
 * Gets the color from the range color setting model based on the specified value.
 *
 * @param {RangeColorSettingModel} colorMap - The range color setting model.
 * @param {number} value - The value for which to get the color.
 * @returns {string} - The color corresponding to the specified value.
 */
export  function getColorByValue(colorMap: RangeColorSettingModel, value: number): string;
/**
 * Gets the gradient color from the range color setting model based on the specified value.
 *
 * @param {number} value - The value for which to get the gradient color.
 * @param {RangeColorSettingModel} colorMap - The range color setting model.
 * @returns {ColorValue} - The gradient color corresponding to the specified value.
 */
export  function getGradientColor(value: number, colorMap: RangeColorSettingModel): ColorValue;
/**
 * Calculates the color based on the percentage change between two values.
 *
 * @param {number} percent - The percentage change.
 * @param {string} previous - The color for the previous value.
 * @param {string} next - The color for the next value.
 * @returns {ColorValue} - The calculated color value.
 */
export  function getPercentageColor(percent: number, previous: string, next: string): ColorValue;
/**
 * Calculates the percentage change between two values.
 *
 * @param {number} percent - The percentage to calculate.
 * @param {number} previous - The previous value.
 * @param {number} next - The next value.
 * @returns {number} - The calculated percentage change.
 */
export  function getPercentage(percent: number, previous: number, next: number): number;
/**
 * Gets the text anchor based on the specified alignment and Right-to-Left setting.
 *
 * @param {Alignment} alignment - The alignment of the text.
 * @param {boolean} enableRtl - Specifies whether Right-to-Left is enabled.
 * @returns {string} - The text anchor value.
 */
export  function getTextAnchor(alignment: Alignment, enableRtl: boolean): string;
//node_modules/@syncfusion/ej2-charts/src/common/utils/export.d.ts
/** @private */
export  class ExportUtils1 {
    private control;
    /**
     * Constructor for chart and accumulation annotation
     *
     * @param control
     */
    constructor(control: Chart | AccumulationChart | RangeNavigator | StockChart | BulletChart | Chart3D | CircularChart3D);
    /**
     * To export the file as image/svg format.
     *
     * @param type
     * @param fileName
     */
    export(type: ExportType, fileName: string, orientation?: pdfExport.PdfPageOrientation, controls?: (Chart | AccumulationChart | RangeNavigator | StockChart | BulletChart | Chart3D | CircularChart3D)[], width?: number, height?: number, isVertical?: boolean, header?: IPDFArgs, footer?: IPDFArgs, exportToMultiplePage?: boolean): void;
    /**
     * To get data url for charts.
     *
     * @param chart
     */
    getDataUrl(chart: Chart | AccumulationChart | Chart3D | CircularChart3D): {
        element: HTMLCanvasElement;
        dataUrl?: string;
        blobUrl?: string;
    };
    /**
     * To trigger the download element.
     *
     * @param fileName
     * @param type
     * @param url
     */
    triggerDownload(fileName: string, type: ExportType, url: string, isDownload: boolean): void;
    /**
     * To get the maximum size value.
     *
     * @param {(Chart | RangeNavigator | AccumulationChart | StockChart | BulletChart | Chart3D | CircularChart3D)[]} controls - The array of controls to retrieve the maximum size value.
     * @param {boolean} isVertical - Indicates whether the orientation is vertical.
     * @param {boolean} isMultiPages - Indicates whether multiple pages are used.
     * @param {ExportType} type - The type of export.
     * @returns {IControlValue[]} - An array of control values.
     */
    private getControlsValue;
    private createCanvas;
    /**
     * To convert svg chart into canvas chart to fix export issue in IE
     * We cant export svg to other formats in IE
     *
     * @param enableCanvas
     * @param chart
     * @param enableCanvas
     * @param chart
     */
    private canvasRender;
    private exportPdf;
    private doexport;
    /**
     * Exports the given images as a file with the specified name and type.
     *
     * @param {string[] | HTMLElement} images - The images to be exported. Can be an array of image URLs or an HTML element containing the image.
     * @param {string} fileName - The name of the exported file.
     * @param {string} fileType - The type of the exported file (e.g., 'png', 'jpeg').
     * @param {string} image - The image data to be used for export.
     * @returns {void}
     * @private
     */
    exportImage(images: string[] | HTMLElement, fileName: string, fileType: string, image: string): void;
}
//node_modules/@syncfusion/ej2-charts/src/common/utils/enum.d.ts
/**
 * Defines coordinate units of an annotation. They are:
 * * Pixel - Specifies the pixel value.
 * * Point - Specifies the axis value.
 */
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 - Specifies the chart coordinates.
 * * Series - Specifies the series coordinates.
 */
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. They are:
 * * PNG - Export the chart in PNG format.
 * * JPEG - Export the chart in JPEG format.
 * * SVG - Export the chart in SVG format.
 * * PDF - Export the chart in PDF format.
 * * XLSX - Export the chart data to XLSX.
 * * CSV - Export the chart to CSV.
 * * Print – Prints the chart.
 */
export  type ExportType = 
/** Used to export the chart in PNG format */
'PNG' | 
/** Used to export the chart in JPEG format */
'JPEG' | 
/** Used to export the chart in SVG format */
'SVG' | 
/** Used to export the chart in PDF format */
'PDF' | 
/** Used to export the chart data to XLSX */
'XLSX' | 
/** Used to export the chart data to CSV */
'CSV' | 
/** Used to print the chart */
'Print';
/**
 * Defines the Text overflow. They are:
 * * 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';
/**
 * Defines the position of the period selector. They are:
 * * Top: Places the period selector at the top.
 * * Bottom: Places the period selector at the bottom.
 */
export  type PeriodSelectorPosition = 
/** Top position */
'Top' | 
/** Bottom position */
'Bottom';
/**
 * Flag type for stock events.
 */
export  type FlagType = 
/** Circle  */
'Circle' | 
/** Square */
'Square' | 
/** Flag */
'Flag' | 
/** Pin type flags */
'Pin' | 
/** Triangle Up */
'Triangle' | 
/** Triangle Down */
'InvertedTriangle' | 
/** Triangle Right */
'TriangleRight' | 
/** Triangle Left */
'TriangleLeft' | 
/** Arrow Up */
'ArrowUp' | 
/** Arrow down */
'ArrowDown' | 
/** Arrow Left */
'ArrowLeft' | 
/** Arrow right */
'ArrowRight' | 
/** Text type */
'Text';
/**
 * Highlighting or selecting patterns in chart. They are:
 * * None - Sets none as highlighting or selecting pattern.
 * * Chessboard - Sets chess board as highlighting or selecting pattern.
 * * Dots - Set dots as highlighting or selecting pattern.
 * * DiagonalForward - Sets diagonal forward as highlighting or selecting pattern.
 * * Crosshatch -Sets crosshatch as highlighting or selecting pattern.
 * * Pacman - Sets pacman highlighting or selecting pattern.
 * * Diagonalbackward - Set diagonal backward as highlighting or selecting pattern.
 * * Grid - Set grid as highlighting or selecting pattern.
 * * Turquoise - Sets turquoise as highlighting or selecting pattern.
 * * Star - Sets star as highlighting or selecting pattern.
 * * Triangle - Sets triangle as highlighting or selecting pattern.
 * * Circle - Sets circle as highlighting or selecting pattern.
 * * Tile - Sets tile as highlighting or selecting pattern.
 * * Horizontaldash - Sets horizontal dash as highlighting or selecting pattern.
 * * Verticaldash - Sets vertical dash as highlighting or selecting pattern.
 * * Rectangle - Sets rectangle as highlighting or selecting pattern.
 * * Box - Sets box as highlighting or selecting pattern.
 * * Verticalstripe - Sets vertical stripe as highlighting or selecting pattern.
 * * Horizontalstripe - Sets horizontal stripe as highlighting or selecting pattern.
 * * Bubble - Sets bubble as highlighting or selecting pattern.
 */
export  type SelectionPattern = 
/** Sets none as highlighting or selecting pattern. */
'None' | 
/** Sets chess board as highlighting or selecting pattern. */
'Chessboard' | 
/** Set dots as highlighting or selecting pattern. */
'Dots' | 
/** Sets diagonal forward as highlighting or selecting pattern. */
'DiagonalForward' | 
/** Sets cross hatch as highlighting or selecting pattern. */
'Crosshatch' | 
/** Sets pacman as highlighting or selecting pattern. */
'Pacman' | 
/** Set diagonal backward as highlighting or selecting pattern. */
'DiagonalBackward' | 
/** Set grid as highlighting or selecting pattern. */
'Grid' | 
/** Set turquoise as highlighting or selecting pattern. */
'Turquoise' | 
/** Set star as highlighting or selecting pattern. */
'Star' | 
/** Set triangle as highlighting or selecting pattern. */
'Triangle' | 
/** Set circle as highlighting or selecting pattern. */
'Circle' | 
/** Set tile as highlighting or selecting pattern. */
'Tile' | 
/** Set horizontal dash as highlighting or selecting pattern. */
'HorizontalDash' | 
/** Set vertical dash as highlighting or selecting pattern. */
'VerticalDash' | 
/** Set rectangle as highlighting or selecting pattern. */
'Rectangle' | 
/** Set box as highlighting or selecting pattern. */
'Box' | 
/** Set vertical stripe as highlighting or selecting pattern. */
'VerticalStripe' | 
/** Set horizontal stripe as highlighting or selecting pattern. */
'HorizontalStripe' | 
/** Set dots as bubble or selecting pattern. */
'Bubble';
/**
 * Defines the position of the legend title. They are:
 * * Top - Align the title to the top.
 * * Left - Align the title to the left.
 * * Right - Align the title to the right.
 */
export  type LegendTitlePosition = 
/** Define the top position. */
'Top' | 
/** Define the left position. */
'Left' | 
/** Define the right position. */
'Right';
/**
 * Specifies text wrap options when the text overflowing the container. They are:
 * * Normal - Specifies to break words only at allowed break points.
 * * Wrap - Specifies to break a word once it is too long to fit on a line by itself.
 * * AnyWhere - Specifies to break a word at any point if there are no otherwise-acceptable break points in the line.
 */
export  type TextWrap = 
/** Specifies to break words only at allowed break points. */
'Normal' | 
/** Specifies to break a word once it is too long to fit on a line by itself. */
'Wrap' | 
/** Specifies to break a word at any point if there are no otherwise-acceptable break points in the line. */
'AnyWhere';
/**
 * Specifies text overflow options when the text overflowing the container. They are:
 * * Ellipsis - Specifies an ellipsis (“...”) to the clipped text.
 * * clip - Specifies to break a word once it is too long to fit on a line by itself.
 */
export  type LabelOverflow = 
/** Specifies an ellipsis (“...”) to the clipped text. */
'Ellipsis' | 
/** Specifies the text is clipped and not accessible. */
'Clip';
/**
 * Defines the alignment of the line break axis labels. They are:
 * * Center - Align the label with center.
 * * Left - Align the label with left.
 * * Right - Align the label with right.
 */
export  type TextAlignment = 
/** align the label with left. */
'Left' | 
/** align the label with center. */
'Center' | 
/** align the label with right. */
'Right';
/**
 * Defines the position of the title. They are:
 * * Top - Displays the title on the top of chart.
 * * Left - Displays the title on the left of chart.
 * * Bottom - Displays the title on the bottom of chart.
 * * Right - Displays the title on the right of chart.
 * * Custom - Displays the title based on given x and y value.
 */
export  type TitlePosition = 
/** Places the title on the top of chart. */
'Top' | 
/** Places the title on the left of chart. */
'Right' | 
/** Places the title on the bottom of chart. */
'Bottom' | 
/** Places the title on the right of chart. */
'Left' | 
/** Places the title based on given x and y. */
'Custom';
/**
 * Defines the selection mode. They are:
 * * None - Disable the selection.
 * * Series - To select a series.
 * * Point - To select a point.
 * * Cluster - To select a cluster of point.
 */
export  type HighlightMode = 
/** Disable the selection. */
'None' | 
/** To select a series. */
'Series' | 
/** To select a point. */
'Point' | 
/** To select a cluster of point. */
'Cluster';
/**
 * Defines the selection mode. They are:
 * * None - Disable the selection.
 * * Series - To select a series.
 * * Point - To select a point.
 * * Cluster - To select a cluster of point
 * * DragXY - To select points, by dragging with respect to both horizontal and vertical axis
 * * 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 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 theme of the chart. They are:
 * * Material - Render a chart with Material theme.
 * * Fabric - Render a chart with Fabric theme.
 * * Bootstrap - Render a chart with Bootstrap theme.
 * * HighContrastLight - Render a chart with HighcontrastLight theme.
 * * MaterialDark - Render a chart with MaterialDark theme.
 * * FabricDark - Render a chart with FabricDark theme.
 * * HighContrast - Render a chart with HighContrast theme.
 * * BootstrapDark - Render a chart with BootstrapDark theme.
 * * Bootstrap4 - Render a chart with Bootstrap4 theme.
 * * Tailwind - Render a chart with Tailwind theme.
 * * TailwindDark - Render a chart with TailwindDark theme.
 * * Bootstrap5 - Render a chart with Bootstrap5 theme.
 * * Bootstrap5Dark - Render a chart with Bootstrap5Dark theme.
 * * Fluent - Render a chart with Fluent theme.
 * * FluentDark - Render a chart with FluentDark theme.
 * * Fluent2 - Render a chart with Fluent2 theme.
 * * Fluent2Dark - Render a chart with Fluent2Dark theme.
 * * Material3 - Render a chart with Material3 theme.
 * * Material3Dark - Render a chart with Material3Dark theme.
 */
export  type ChartTheme = 
/**  Render a chart with Material theme. */
'Material' | 
/**  Render a chart with Fabric theme. */
'Fabric' | 
/**  Render a chart with Bootstrap theme. */
'Bootstrap' | 
/**  Render a chart with HighcontrastLight theme. */
'HighContrastLight' | 
/**  Render a chart with MaterialDark theme. */
'MaterialDark' | 
/**  Render a chart with FabricDark theme. */
'FabricDark' | 
/**  Render a chart with HighContrast theme. */
'HighContrast' | 
/**  Render a chart with BootstrapDark theme. */
'BootstrapDark' | 
/**  Render a chart with Bootstrap4 theme. */
'Bootstrap4' | 
/**  Render a chart with Tailwind theme. */
'Tailwind' | 
/**  Render a chart with TailwindDark theme. */
'TailwindDark' | 
/**  Render a chart with Tailwind3 theme. */
'Tailwind3' | 
/**  Render a chart with Tailwind3Dark theme. */
'Tailwind3Dark' | 
/**  Render a chart with Bootstrap5 theme. */
'Bootstrap5' | 
/**  Render a chart with Bootstrap5Dark theme. */
'Bootstrap5Dark' | 
/**  Render a chart with Fluent theme. */
'Fluent' | 
/**  Render a chart with FluentDark theme. */
'FluentDark' | 
/**  Render a chart with Fluent 2 theme. */
'Fluent2' | 
/**  Render a chart with Fluent 2 dark theme. */
'Fluent2Dark' | 
/**  Render a chart with Fluent 2 highcontrast dark theme. */
'Fluent2HighContrast' | 
/**  Render a accumulation chart with Material 3 theme. */
'Material3' | 
/**  Render a accumulation chart with Material 3 dark theme. */
'Material3Dark';
/**
 * 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.
 * * Seconds - Define the interval of the axis in seconds.
 */
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 Orientation of axis. They are
 * * horizontal
 * * vertical
 *
 * @private
 */
export  type Orientation = 
/**  Horizontal Axis. */
'Horizontal' | 
/**  Vertical Axis. */
'Vertical';
/**
 * Defines the range padding of axis. They are:
 * * Auto - Padding Normal is applied for orientation vertical axis and None is applied for orientation horizontal axis.
 * * 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 skeleton type for the axis. They are:
 * * 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 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';
/**
 * Specifies the data types that the axis can handle. They are:
 * * Double: This type is used for rendering a numeric axis to accommodate numeric data.
 * * DateTime: This type is utilized for rendering a date-time axis to manage date-time data.
 * * Category: This type is employed for rendering a category axis to manage categorical data.
 * * Logarithmic: This type is applied for rendering a logarithmic axis to handle a wide range of values.
 * * DateTimeCategory: This type is used to render a date time category axis for managing business days.
 */
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 alignment. They are:
 * * None - Shows all the labels.
 * * Hide - Hide the label when it intersect.
 * * Trim - Trim the label when it intersect.
 * * Wrap - Wrap the label when it intersect.
 * * MultipleRows - Arrange the label in multiple row when it intersect.
 * * Rotate45 - Rotate the label to 45 degree when it intersect.
 * * Rotate90 - Rotate the label to 90 degree when it intersect.
 */
export  type LabelIntersectAction = 
/** Shows all the labels. */
'None' | 
/** Hide the label when it intersect. It is also applicable for polar radar chart */
'Hide' | 
/** Trim the label when it intersect. */
'Trim' | 
/** Wrap the label when it intersect. */
'Wrap' | 
/** Arrange the label in multiple row when it intersect. */
'MultipleRows' | 
/** Rotate the label to 45 degree when it intersect. */
'Rotate45' | 
/** Rotate the label to 90 degree when it intersect. */
'Rotate90';
/**
 * Defines the shape of legend. They are:
 * * Circle - Renders a circle.
 * * Rectangle - Renders a rectangle.
 * * Triangle - Renders a triangle.
 * * Diamond - Renders a diamond.
 * * Cross - Renders a cross.
 * * HorizontalLine - Renders a horizontalLine.
 * * VerticalLine - Renders a verticalLine.
 * * Pentagon - Renders a pentagon.
 * * InvertedTriangle - Renders a invertedTriangle.
 * * SeriesType -Render a legend shape based on series type.
 * * Image - Renders a image.
 */
export  type LegendShape = 
/** Render a circle. */
'Circle' | 
/** Render a Rectangle. */
'Rectangle' | 
/** Render a Triangle. */
'Triangle' | 
/** Render a Diamond. */
'Diamond' | 
/** Render a Cross. */
'Cross' | 
/**
 * Render a multiply sign.
 *$ This shape is specifically applicable for bullet charts.
 */
'Multiply' | 
/**
 * Render a bar representing actual values.
 *$ This shape is specifically applicable for bullet charts.
 */
'ActualRect' | 
/**
 * Render a bar indicating target values.
 * This shape is used to represent goal or benchmark levels.
 */
'TargetRect' | 
/** Render a HorizontalLine. */
'HorizontalLine' | 
/** Render a VerticalLine. */
'VerticalLine' | 
/** Render a Pentagon. */
'Pentagon' | 
/** Render a InvertedTriangle. */
'InvertedTriangle' | 
/** Render a legend shape based on series type. */
'SeriesType' | 
/** Render a Image. */
'Image';
/**
 * Defines the label position. 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 empty point mode of the chart. They are:
 * * 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 shape of the data in columns and bars. They are:
 * * Rectangle - Displays the data in a column and bar chart in a rectangle shape.
 * * Cylinder - Displays the data in a column and bar chart in a cylinder shape.
 */
export  type ShapeType = 
/** Uses a rectangle shape to show data. */
'Rectangle' | 
/** Uses a cylinder shape to show data. */
'Cylinder';
/**
 * Defines the position of the legend. They are:
 * * Auto - Places the legend based on the area type.
 * * Top - Displays the legend on the top of the chart.
 * * Left - Displays the legend on the left of the chart.
 * * Bottom - Displays the legend on the bottom of the chart.
 * * Right - Displays the legend on the right of the chart.
 * * Custom - Displays the legend  based on the 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 how the legend items are arranged. The available options are:
 *
 * * `Horizontal` - The legend items are arranged in a single row.
 * * `Vertical` - The legend items are arranged in a single column.
 * * `Auto` - The legend items are arranged automatically based on the legend's bounds.
 */
export  type LegendLayout = 
/** The legend items are arranged in a single row. */
'Horizontal' | 
/** The legend items are arranged in a single column. */
'Vertical' | 
/** The legend items are arranged automatically based on the legend's bounds. */
'Auto';
/**
 * Defines the possible positions for the scrollbar in a chart.
 * Available options are:
 * * `PlaceNextToAxisLine`: Default position, places the scrollbar next to the axis line.
 * * `Top`: Places the scrollbar at the top of the chart.
 * * `Bottom`: Places the scrollbar at the bottom of the chart.
 * * `Left`: Places the scrollbar on the left side of the chart.
 * * `Right`: Places the scrollbar on the right side of the chart.
 */
export  type ScrollbarPosition = 
/** Places the scrollbar next to the axis line (default). */
'PlaceNextToAxisLine' | 
/** Places the scrollbar at the top of the chart. Only applicable for horizontal scrollbar */
'Top' | 
/** Places the scrollbar at the bottom of the chart. Only applicable for horizontal scrollbar */
'Bottom' | 
/** Places the scrollbar on the left side of the chart. Only applicable for vertical scrollbar. */
'Left' | 
/** Places the scrollbar on the right side of the chart. Only applicable for vertical scrollbar. */
'Right';
//node_modules/@syncfusion/ej2-charts/src/common/user-interaction/tooltip.d.ts
/**
 * `Tooltip` module is 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;
    /**
     * @aspType string
     * @private
     */
    template: string | Function;
    /** @private */
    valueX: number;
    /** @private */
    valueY: number;
    control: AccumulationChart | Chart | Chart3D;
    text: string[];
    svgTooltip: svgBase.Tooltip;
    headerText: string;
    /**
     * Constructor for tooltip module.
     *
     * @private
     */
    constructor(chart: Chart | AccumulationChart | Chart3D);
    getElement(id: string): HTMLElement;
    /**
     * Renders the tooltip.
     *
     * @returns {void}
     * @private
     */
    getTooltipElement(isTooltip: boolean): HTMLDivElement;
    createElement(): HTMLDivElement;
    pushData(data: PointData | AccPointData | Point3D, isFirst: boolean, tooltipDiv: HTMLDivElement, isChart: boolean, enable3D?: boolean): boolean;
    removeHighlight(): void;
    /**
     * Animates the opacity change of the given element to simulate a highlight effect.
     *
     * @param {number} targetOpacity - The final opacity value to which the element's opacity will be animated.
     * @param {HTMLElement} targetElement - The DOM element whose opacity is to be animated.
     * @param {number} duration - The duration of the animation effect.
     * @param {number} targetStrokeWidth - The final stroke-width value to which the element's stroke-width will be animated.
     * @returns {void}
     * @private
     */
    private animateHighlight;
    highlightPoint(series: Series | AccumulationSeries | Chart3DSeries, pointIndex: number, highlight: boolean): void;
    highlightPoints(): void;
    createTooltip(chart: Chart | AccumulationChart | Chart3D, isFirst: boolean, location: ChartLocation, clipLocation: ChartLocation, point: Points | AccPoints | Chart3DPoint, shapes: ChartShape[], offset: number, bounds: svgBase.Rect, crosshairEnabled?: boolean, extraPoints?: PointData[], templatePoint?: Points | Points[] | AccPoints | Chart3DPoint | Chart3DPoint[], customTemplate?: string): void;
    private findPalette;
    private findColor;
    updatePreviousPoint(extraPoints: PointData[]): void;
    fadeOut(data: PointData[]): void;
    removeHighlightedMarker(data: PointData[], fadeOut: boolean): void;
    removeText(): void;
    stopAnimation(): void;
    /**
     * Removes the tooltip on mouse leave.
     *
     * @returns {void}
     * @private
     */
    removeTooltip(duration: number): void;
}
//node_modules/@syncfusion/ej2-charts/src/common/user-interaction/selection.d.ts
/**
 * Selection Module handles the selection for chart.
 *
 * @private
 */
export  class BaseSelection {
    /** @private */
    styleId: string;
    protected unselected: string;
    protected control: Chart | AccumulationChart | Chart3D | CircularChart3D;
    constructor(control: Chart | AccumulationChart | Chart3D | CircularChart3D);
    selectionStyle: [string, string, string][];
    /**
     * To create selection styles for series
     *
     * @returns {void}
     */
    protected seriesStyles(): void;
    /**
     * To create the pattern for series/points.
     *
     * @param chart
     * @param color
     * @param index
     * @param patternName
     * @param opacity
     * @param chart
     * @param color
     * @param index
     * @param patternName
     * @param opacity
     * @param chart
     * @param color
     * @param index
     * @param patternName
     * @param opacity
     * @param chart
     * @param color
     * @param index
     * @param patternName
     * @param opacity
     * @param chart
     * @param color
     * @param index
     * @param patternName
     * @param opacity
     */
    pattern(chart: Chart | AccumulationChart | Chart3D | CircularChart3D, color: string, index: number, patternName: SelectionPattern, opacity: number): string;
    /**
     * To load the pattern into svg
     *
     * @param chart
     * @param options
     * @param pattern
     * @param svgRenderer
     * @param chart
     * @param options
     * @param pattern
     * @param svgRenderer
     * @param chart
     * @param options
     * @param pattern
     * @param svgRenderer
     * @param chart
     * @param options
     * @param pattern
     * @param svgRenderer
     */
    private loadPattern;
    /**
     * To concat indexes
     *
     * @param userIndexes
     * @param localIndexes
     * @param userIndexes
     * @param localIndexes
     */
    protected concatIndexes(userIndexes: IndexesModel[], localIndexes: Indexes[]): Indexes[];
    /**
     * Selected points series visibility checking on legend click
     *
     * @param selectedIndexes
     */
    protected checkVisibility(selectedIndexes: Indexes[], chart?: Chart | Chart3D): boolean;
    /**
     * To add svg element style class
     *
     * @param element
     * @param className
     * @param element
     * @param className
     * @private
     */
    addSvgClass(element: Element, className: string): void;
    /**
     * To remove svg element style class
     *
     * @param element
     * @param className
     * @param element
     * @param className
     * @private
     */
    removeSvgClass(element: Element, className: string): void;
    /**
     * To get children from parent element
     *
     * @param parent
     */
    protected getChildren(parent: Element): Element[];
}
//node_modules/@syncfusion/ej2-charts/src/common/scrollbar/scrollbar.d.ts
/**
 * Configures the scrollbar base.
 *
 * @private
 */
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 */
    leftScrollBarCount: number;
    /** @private */
    rightScrollBarCount: number;
    /** @private */
    topScrollBarCount: number;
    /** @private */
    bottomScrollBarCount: number;
    private scrollElements;
    private isResizeLeft;
    private isResizeRight;
    private previousXY;
    private previousWidth;
    private previousRectX;
    private mouseMoveListener;
    private mouseUpListener;
    private valueType;
    axes: Axis[];
    private startZoomPosition;
    private startZoomFactor;
    private startRange;
    private scrollStarted;
    private isScrollEnd;
    private isCustomHeight;
    /**
     * Constructor for creating scrollbar
     *
     * @param component
     * @param axis
     */
    constructor(component: Chart, axis?: Axis);
    /**
     * To Mouse x and y position
     *
     * @param e
     */
    private getMouseXY;
    /**
     * Method to bind events for scrollbar svg object
     *
     * @param element
     * @returns {void}
     */
    private wireEvents;
    /**
     * Method to remove events for srcollbar svg object
     *
     * @param element
     */
    private unWireEvents;
    /**
     * Handles the mouse down on scrollbar.
     *
     * @param e
     */
    scrollMouseDown(e: PointerEvent): void;
    /**
     * To check the matched string
     *
     * @param id
     * @param match
     */
    private isExist;
    /**
     * To check current poisition is within scrollbar region
     *
     * @param currentX
     */
    private isWithIn;
    /**
     * Method to find move length of thumb
     *
     * @param mouseXY
     * @param thumbX
     * @param circleRadius
     */
    private moveLength;
    /**
     * Method to calculate zoom factor and position
     *
     * @param currentX
     * @param currentWidth
     */
    private setZoomFactorPosition;
    /**
     * Handles the mouse move on scrollbar.
     *
     * @param e
     */
    scrollMouseMove(e: PointerEvent): void;
    /**
     * Handles the mouse wheel on scrollbar.
     *
     * @param e
     */
    scrollMouseWheel(e: WheelEvent): void;
    /**
     * Handles the mouse up on scrollbar.
     *
     * @param e
     */
    scrollMouseUp(): void;
    calculateMouseWheelRange(scrollThumbX: number, scrollThumbWidth: number): IScrollEventArgs;
    /**
     * Range calculation for lazy loading.
     *
     * @param scrollThumbX
     * @param scrollThumbWidth
     * @param thumbMove
     * @param scrollThumbX
     * @param scrollThumbWidth
     * @param thumbMove
     * @param scrollThumbX
     * @param scrollThumbWidth
     * @param thumbMove
     */
    calculateLazyRange(scrollThumbX: number, scrollThumbWidth: number, thumbMove?: string): IScrollEventArgs;
    /**
     * Get start and end values
     *
     * @param start
     * @param end
     * @param isCurrentStartEnd
     * @param start
     * @param end
     * @param isCurrentStartEnd
     * @param start
     * @param end
     * @param isCurrentStartEnd
     */
    private getStartEnd;
    /**
     * To render scroll bar
     *
     * @param isScrollExist
     * @private
     */
    render(isScrollExist: boolean): Element;
    /**
     * Theming for scrollabr
     *
     * @returns {void}
     */
    private getTheme;
    /**
     * Method to remove existing scrollbar.
     *
     * @returns {void}
     */
    removeScrollSvg(): void;
    /**
     * Method to set cursor fpr scrollbar
     *
     * @param target
     */
    private setCursor;
    /**
     * Method to set theme for sollbar
     *
     * @param target
     */
    private setTheme;
    /**
     * To check current axis
     *
     * @param target
     * @param ele
     */
    private isCurrentAxis;
    /**
     * Method to resize thumb
     *
     * @param e
     */
    private resizeThumb;
    /**
     * Method to position the scrollbar thumb
     *
     * @param currentX
     * @param currentWidth
     */
    private positionThumb;
    /**
     * Method to get default values
     *
     * @returns {void}
     */
    private getDefaults;
    /**
     * Lazy load default values.
     *
     * @param axis
     */
    getLazyDefaults(axis: Axis): void;
    /**
     * Method to get log range
     *
     * @param axis
     */
    getLogRange(axis: Axis): ScrollbarSettingsRangeModel;
    /**
     * Method for injecting scrollbar module.
     *
     * @param axis
     * @param component
     */
    injectTo(axis: Axis, component: Chart): void;
    /**
     * Method to destroy scrollbar.
     *
     * @returns {void}
     */
    destroy(): void;
    /**
     * Method to get scrollbar module name.
     *
     * @returns {string}
     */
    getModuleName(): string;
    private getArgs;
}
//node_modules/@syncfusion/ej2-charts/src/common/scrollbar/scrollbar-elements.d.ts
/**
 * Create scrollbar svg.
 *
 * @param {ScrollBar} scrollbar - The scrollbar instance.
 * @param {svgBase.SvgRenderer} renderer - The SVG renderer.
 * @returns {void}
 */
export  function createScrollSvg(scrollbar: ScrollBar, renderer: svgBase.SvgRenderer): void;
/**
 * Scrollbar elements renderer.
 *
 * @private
 */
export  class ScrollElements {
    /** @private */
    thumbRectX: number;
    /** @private */
    thumbRectWidth: number;
    /** @private */
    leftCircleEle: Element;
    /** @private */
    rightCircleEle: Element;
    /** @private */
    leftArrowEle: Element;
    /** @private */
    rightArrowEle: Element;
    /** @private */
    gripCircle: Element;
    /** @private */
    slider: Element;
    /** @private */
    chartId: string;
    /**
     * Constructor for scroll elements
     *
     * @param scrollObj
     * @param chart
     */
    constructor(chart: Chart);
    /**
     * Render scrollbar elements.
     *
     * @returns {void}
     * @private
     */
    renderElements(scroll: ScrollBar, renderer: svgBase.SvgRenderer): Element;
    /**
     * Method to render back rectangle of scrollbar
     *
     * @param scroll
     * @param renderer
     * @param parent
     * @param renderer
     * @param parent
     */
    private backRect;
    /**
     * Method to render arrows
     *
     * @param scroll
     * @param renderer
     * @param parent
     * @param renderer
     * @param parent
     */
    private arrows;
    /**
     * Methods to set the arrow width.
     *
     * @param thumbRectX
     * @param thumbRectWidth
     * @param height
     */
    setArrowDirection(thumbRectX: number, thumbRectWidth: number, height: number): void;
    /**
     * Method to render thumb.
     *
     * @param scroll
     * @param renderer
     * @param parent
     */
    thumb(scroll: ScrollBar, renderer: svgBase.SvgRenderer, parent: Element, scrollBar: ScrollbarSettingsModel): 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/period-selector/period-selector.d.ts
/** @private */
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;
}
/**
 * Configures the period selector class.
 *
 * @private
 */
export  class PeriodSelector {
    periodSelectorSize: svgBase.Rect;
    periodSelectorDiv: Element;
    control: IPeriodSelectorControl;
    toolbar: navigations.Toolbar;
    datePicker: calendars.DateRangePicker;
    triggerChange: boolean;
    private nodes;
    calendarId: string;
    selectedIndex: number;
    selectedPeriod: PeriodsModel;
    datePickerTriggered: boolean;
    rootControl: StockChart | RangeNavigator;
    isDatetimeCategory: boolean;
    sortedData: number[];
    private startValue;
    private endValue;
    constructor(control: RangeNavigator | StockChart);
    /**
     * To set the control values
     *
     * @param control
     * @returns {void}
     */
    setControlValues(control: RangeNavigator | StockChart): void;
    /**
     * To initialize the period selector properties.
     *
     * @param options
     * @param x
     * @param options
     * @param x
     */
    appendSelector(options: ISelectorRenderArgs, x?: number): void;
    /**
     * renderSelector div.
     *
     * @param control
     * @param options
     * @param x
     * @param options
     * @param x
     */
    renderSelectorElement(control?: RangeNavigator, options?: ISelectorRenderArgs, x?: number): void;
    /**
     * Renders the selector elements.
     *
     * @returns {void}
     */
    renderSelector(): void;
    /**
     * To find start and end value
     *
     * @param startValue
     * @param endValue
     */
    private findPeriodValue;
    findSelectedIndex(startDate: number, endDate: number, buttons: PeriodsModel[]): number;
    private updateCustomElement;
    /**
     * To set and remove the period style.
     *
     * @param buttons
     * @param selectedIndex
     * @returns {void}
     */
    setSelectedStyle(selectedIndex: number): void;
    /**
     * Button click handling.
     *
     * @param args
     * @param control
     * @param args
     * @param control
     */
    private buttonClick;
    /**
     * To find the start value.
     *
     * @param startValue
     * @param endValue
     */
    findStartValue(startValue: number, endValue: number): number;
    /**
     *
     * @param type updatedRange for selector
     * @param end
     * @param interval
     */
    changedRange(type: RangeIntervalType, end: number, interval: number): Date;
    /**
     * Get module name
     *
     * @returns {string}
     */
    protected getModuleName(): string;
    /**
     * To destroy the period selector.
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-charts/src/common/model/theme.d.ts
/** @private */
export  const stockEventFont: IFontMapping;
/**
 * Gets an array of series colors for chart visualization.
 *
 * @param {ChartTheme | AccumulationTheme} theme - The theme for which to retrieve the series colors.
 * @returns {string[]} - An array of series colors.
 * @private
 */
export  function getSeriesColor(theme: ChartTheme | AccumulationTheme): string[];
/**
 * Gets a theme color.
 *
 * @param {ChartTheme | AccumulationTheme} theme - The theme for which to retrieve the series colors.
 * @param {boolean} canvas - Specifies whether the canvas is used.
 * @param {AccumulationChart | Chart | StockChart} [chart] - The chart instance (optional).
 * @returns {IThemeStyle} - Returns theme style.
 * @private
 */
export  function getThemeColor(theme: ChartTheme | AccumulationTheme, canvas: boolean, chart?: AccumulationChart | Chart | StockChart): IThemeStyle;
/**
 * Gets an scroll bar theme color.
 *
 * @param {ChartTheme} theme - The theme for which to retrieve the series colors.
 * @returns {IScrollbarThemeStyle} - Returns scroll bar theme style.
 * @private
 */
export  function getScrollbarThemeColor(theme: ChartTheme): IScrollbarThemeStyle;
//node_modules/@syncfusion/ej2-charts/src/common/model/interface.d.ts
/** @private */
export interface IFontMapping {
    size?: string;
    color?: string;
    fontWeight?: string;
    fontStyle?: string;
    fontFamily?: string;
    opacity?: number;
}
/** @private */
export interface IShapes {
    renderOption?: Object;
    functionName?: string;
}
/** @private */
/**
 * Specifies the Theme style for scrollbar.
 */
export interface IScrollbarThemeStyle {
    backRect: string;
    thumb: string;
    circle: string;
    circleHover: string;
    arrow: string;
    grip: string;
    arrowHover?: string;
    backRectBorder?: string;
}
export interface ILegendRegions {
    rect: svgBase.Rect;
    index: number;
}
/**
 * Period selector component interface
 *
 * @private
 */
export interface IPeriodSelectorControl {
    /**
     * Element for the control
     */
    element: HTMLElement;
    /**
     * Series min value.
     */
    seriesXMin: number;
    /**
     * Series max value.
     */
    seriesXMax: number;
    /**
     * Start value for the axis.
     */
    startValue: number;
    /**
     * End value for the axis.
     */
    endValue: number;
    /**
     * Range slider instance.
     */
    rangeSlider: RangeSlider;
    /**
     * To disable the range selector.
     */
    disableRangeSelector: boolean;
    /**
     * To config period selector settings.
     */
    periods: PeriodsModel[];
    /**
     * Range navigator
     */
    rangeNavigatorControl: RangeNavigator;
}
/**
 * Header Footer Content.
 *
 * @private
 */
export interface IPDFArgs {
    /**
     * Content of the header
     */
    content: string;
    /**
     * FontSize of the content
     */
    fontSize?: number;
    /**
     * x position for the content
     */
    x?: number;
    /**
     * y position for the content
     */
    y?: number;
}
/**
 * Interface representing the arguments passed to an event that occurs after exporting data.
 *
 * @interface
 * @private
 */
export interface IAfterExportEventArgs {
    /** Specifies the name of the event. */
    name: string;
    /** Defines the event's cancellation status. */
    cancel: boolean;
    /** Provides the data URL generated after exporting. */
    dataUrl: string;
}
/**
 * Provides the event arguments for the chart export functionality.
 *
 */
export interface IExportEventArgs extends IChartEventArgs {
    /**
     * Specifies the width of the exported chart in pixels.
     * This value determines the width of the output file when exporting the chart as an image, PDF, or Excel file.
     *
     */
    width: number;
    /**
     * Specifies the height of the exported chart in pixels.
     * This value determines the height of the output file when exporting the chart as an image, PDF, or Excel file.
     *
     */
    height: number;
    /**
     * Defines additional properties related to the Excel export functionality.
     * This includes settings such as sheet name, cell formatting, and customization options for exported data.
     *
     * If not specified, the default Excel export settings will be applied.
     */
    excelProperties?: ExcelProperties;
}
/**
 * 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;
}
/**
 * Defines the properties related to Excel export for the chart.
 * These properties are applicable only when exporting the chart to an Excel file.
 *
 * @interface
 * @private
 */
export interface ExcelProperties {
    /** Specifies the collection of rows to be exported to the Excel sheet. */
    rows: ExcelRowAndColumn[];
    /** Specifies the collection of columns to be exported to the Excel sheet. */
    columns: ExcelRowAndColumn[];
}
//node_modules/@syncfusion/ej2-charts/src/common/model/data.d.ts
/**
 * data module is used to generate query and dataSource
 */
export  class Data {
    private dataManager;
    private query;
    /**
     * Constructor for data module
     *
     * @param dataSource
     * @param query
     * @param dataSource
     * @param query
     * @private
     */
    constructor(dataSource?: Object | data.DataManager, query?: data.Query);
    /**
     * The function used to initialize dataManager and query
     *
     * @param dataSource
     * @param query
     * @param dataSource
     * @param query
     * @returns {void}
     * @private
     */
    initDataManager(dataSource: Object | data.DataManager, query: data.Query): void;
    /**
     * The function used to generate updated data.Query from chart model
     *
     * @returns {void}
     * @private
     */
    generateQuery(): data.Query;
    /**
     * The function used to get dataSource by executing given data.Query
     *
     * @param  {data.Query} query - A data.Query that specifies to generate dataSource
     * @returns {void}
     * @private
     */
    getData(dataQuery: data.Query): Promise<Object>;
}
//node_modules/@syncfusion/ej2-charts/src/common/model/constants.d.ts
/**
 * Specifies the chart constant value
 */
/** @private */
export  const loaded$: string;
/** @private */
export  const legendClick: string;
/** @private */
export  const load$: string;
/** @private */
export  const animationComplete$: string;
/** @private */
export  const legendRender$: string;
/** @private */
export  const textRender$: string;
/** @private */
export  const pointRender: string;
/** @private */
export  const sharedTooltipRender: string;
/** @private */
export  const seriesRender$: string;
/** @private */
export  const axisLabelRender$: string;
/** @private */
export  const axisLabelClick: string;
/** @private */
export  const axisRangeCalculated: string;
/** @private */
export  const axisMultiLabelRender: string;
/** @private */
export  const tooltipRender: string;
/** @private */
export  const chartMouseMove: string;
/** @private */
export  const chartMouseClick: string;
/** @private */
export  const chartDoubleClick: string;
/** @private */
export  const pointClick: string;
/** @private */
export  const pointDoubleClick: string;
/** @private */
export  const pointMove: string;
/** @private */
export  const chartMouseLeave: string;
/** @private */
export  const chartMouseDown: string;
/** @private */
export  const chartMouseUp: string;
/** @private */
export  const zoomComplete: string;
/** @private */
export  const dragComplete: string;
/** @private */
export  const selectionComplete: string;
/** @private */
export  const resized: string;
/** @private */
export  const beforeResize: string;
/** @private */
export  const beforePrint: string;
/** @private */
export  const annotationRender: string;
/** @private */
export  const scrollStart: string;
/** @private */
export  const scrollEnd: string;
/** @private */
export  const scrollChanged: string;
/** @private */
export  const stockEventRender: string;
/** @private */
export  const multiLevelLabelClick: string;
/** @private */
export  const dragStart: string;
/** @private */
export  const drag: string;
/** @private */
export  const dragEnd: string;
/*** @private*/
export  const regSub: RegExp;
/*** @private*/
export  const regSup: RegExp;
/** @private */
export  const beforeExport: string;
/** @private */
export  const afterExport: string;
/** @private */
export  const bulletChartMouseClick: string;
/** @private */
export  const onZooming: string;
//node_modules/@syncfusion/ej2-charts/src/common/model/base.d.ts
/**
 * The `Connector` class configures the appearance and properties of connectors in chart controls.
 */
export  class Connector extends base.ChildProperty<Connector> {
    /**
     * Specifies the type of connector line.
     * The available types are:
     * * Smooth
     * * Line
     *
     * @default 'Line'
     */
    type: ConnectorType;
    /**
     * Specifies the color of the connector line, accepting values in hex or rgba as valid CSS color strings.
     *
     * @default null
     */
    color: string;
    /**
     * Specifies the width of the connector line in pixels.
     *
     * @default 1
     */
    width: number;
    /**
     * Specifies the length of the connector line in pixels.
     *
     * @default null
     */
    length: string;
    /**
     * Specifies the dash pattern of the connector line.
     *
     * @default ''
     */
    dashArray: string;
}
/**
 * Configures the location for the legend and tooltip in the chart.
 */
export  class Location extends base.ChildProperty<Location> {
    /**
     * Specifies the X coordinate position of the legend or tooltip in pixels.
     *
     * @default 0
     */
    x: number;
    /**
     * Specifies the Y coordinate position of the legend or tooltip in pixels.
     *
     * @default 0
     */
    y: number;
}
/**
 * The `Accessibility` class configures accessibility options for chart controls.
 */
export  class Accessibility extends base.ChildProperty<Accessibility> {
    /**
     * Specifies the accessibility description of the chart element. This description is typically read by screen readers to give context to users.
     *
     * @default null
     */
    accessibilityDescription: string;
    /**
     * Defines the accessibility role of the UI element, which helps screen readers understand the purpose of the element.
     *
     * @default null
     */
    accessibilityRole: string;
    /**
     * Determines whether the chart elements can receive focus.
     *
     * @default true
     */
    focusable: boolean;
    /**
     * Specifies the tab index for the chart elements.
     *
     * @default 0
     */
    tabIndex: number;
}
/**
 * The `SeriesAccessibility` class configures accessibility options specifically for chart series elements.
 */
export  class SeriesAccessibility extends Accessibility {
    /**
     * Accessibility description format for the chart element.
     *
     * @default null
     */
    accessibilityDescriptionFormat: string;
}
/**
 * The `Font` class provides configuration options for customizing the fonts used in the charts.
 */
export  class Font extends base.ChildProperty<Font> {
    /**
     * Specifies the style of the text.
     *
     * @default 'Normal'
     */
    fontStyle: string;
    /**
     * Specifies the size of the text.
     *
     * @default '16px'
     */
    size: string;
    /**
     * Specifies the font weight of the text.
     *
     * @default 'Normal'
     */
    fontWeight: string;
    /**
     * Specifies the color of the text.
     *
     * @default ''
     */
    color: string;
    /**
     * Specifies the alignment of the text.
     *
     * @default 'Center'
     */
    textAlignment: Alignment;
    /**
     * Specifies the font family for the text.
     */
    fontFamily: string;
    /**
     * Specifies the opacity level for the text.
     *
     * @default 1
     */
    opacity: number;
    /**
     * Specifies how the chart title text should handle overflow.
     *
     * @default 'Wrap'
     */
    textOverflow: TextOverflow;
}
/**
 * The `StackLabelsFont` class provides configuration options for customizing the font properties of stack labels in charts.
 */
export  class StackLabelsFont extends base.ChildProperty<StackLabelsFont> {
    /**
     * Specifies the style of the text.
     *
     * @default 'Normal'
     */
    fontStyle: string;
    /**
     * Specifies the size of the text.
     *
     * @default '16px'
     */
    size: string;
    /**
     * Specifies the font weight of the text.
     *
     * @default 'Normal'
     */
    fontWeight: string;
    /**
     * Specifies the color of the text.
     *
     * @default ''
     */
    color: string;
    /**
     * Specifies the alignment of the text.
     *
     * @default 'Center'
     */
    textAlignment: Alignment;
    /**
     * Specifies the font family for the text.
     */
    fontFamily: string;
    /**
     * Specifies the opacity level for the text.
     *
     * @default 1
     */
    opacity: number;
}
/**
 * Options to customize the center label of the Pie and Donut charts.
 *
 * @default {}
 */
export  class CenterLabel extends base.ChildProperty<CenterLabel> {
    /**
     * Defines the text to be placed at the center of the Pie and Donut chart.
     *
     * @default null
     */
    text: string;
    /**
     * Defines the font style for the center label of the Pie and Donut charts.
     */
    textStyle: FontModel;
    /**
     * Defines the format for the center label when the mouse hovers over the pie data.
     *
     * @default null
     */
    hoverTextFormat: string;
}
/**
 * The `Border` class provides configuration options for setting the borders in a chart.
 */
export  class Border extends base.ChildProperty<Border> {
    /**
     * Specifies the color of the border, accepting values in hex or RGBA as valid CSS color strings.
     *
     * @default ''
     */
    color: string;
    /**
     * The width of the border in pixels.
     *
     * @default 1
     */
    width: number;
    /**
     * Sets the length of dashes in the stroke of border.
     *
     * @default ''
     */
    dashArray: string;
}
/**
 * The `Offset` class provides options to adjust the position of the marker relative to its default location.
 */
export  class Offset extends base.ChildProperty<Offset> {
    /**
     * Specifies the x value of the marker's position.
     *
     * @default 0
     */
    x: number;
    /**
     * Specifies the y value of the marker's position.
     *
     * @default 0
     */
    y: number;
}
/**
 * The `Margin` class enables configuration of the space around the chart's content.
 */
export  class Margin extends base.ChildProperty<Margin> {
    /**
     * The left margin of the chart, specified in pixels.
     *
     * @default 10
     */
    left: number;
    /**
     * The right margin of the chart, specified in pixels.
     *
     * @default 10
     */
    right: number;
    /**
     * The top margin of the chart, specified in pixels.
     *
     * @default 10
     */
    top: number;
    /**
     * The bottom margin of the chart, specified in pixels.
     *
     * @default 10
     */
    bottom: number;
}
/**
 * Configures the animation behavior for the chart series.
 */
export  class Animation extends base.ChildProperty<Animation> {
    /**
     * If set to true, the series will be animated on initial loading.
     *
     * @default true
     */
    enable: boolean;
    /**
     * The duration of the animation in milliseconds.
     *
     * @default 1000
     */
    duration: number;
    /**
     * The option to delay the animation of the series, specified in milliseconds.
     *
     * @default 0
     */
    delay: number;
}
export  class TooltipSettings extends base.ChildProperty<TooltipSettings> {
    /**
     * If set to true, enables tooltips for the data points.
     *
     * @default false.
     */
    enable: boolean;
    /**
     * If set to true, enables the marker in the chart tooltip.
     *
     * @default true.
     */
    enableMarker: boolean;
    /**
     * If set to true, a single tooltip will be displayed for each index.
     *
     * @default false.
     */
    shared: boolean;
    /**
     * The fill color of the tooltip, specified as a valid CSS color string in hex or rgba format.
     *
     * @default null
     */
    fill: string;
    /**
     * Customizes the header text for the tooltip. By default, this property displays the series name.
     *
     * @default null
     */
    header: string;
    /**
     * The opacity of the tooltip, expressed as a numerical value.
     *
     * @default null
     */
    opacity: number;
    /**
     * This property defines the font family, size, style, weight, and color for the tooltip text.
     */
    textStyle: FontModel;
    /**
     * Specifies the format for customizing the content of the tooltip.
     *
     * @default null.
     */
    format: string;
    /**
     * A custom template used to format the tooltip content. Use `${x}` and `${y}` as placeholders for the corresponding data points.
     *
     * @default null.
     * @aspType string
     */
    template: string | Function;
    /**
     * If set to true, the tooltip will animate as it moves from one point to another.
     *
     * @default true.
     */
    enableAnimation: boolean;
    /**
     * Duration of the tooltip animation, specified in milliseconds.
     *
     * @default 300
     */
    duration: number;
    /**
     * Duration of the fade-out animation for hiding the tooltip, in milliseconds.
     *
     * @default 1000
     */
    fadeOutDuration: number;
    /**
     * Specifies the mode for the fade-out animation when hiding the tooltip.
     *
     * @default Move
     */
    fadeOutMode: FadeOutMode;
    /**
     * Wraps the tooltip's long text based on the available space.
     > Note that this feature applies only to chart tooltips.
     *
     * @default false
     */
    enableTextWrap: boolean;
    /**
     * Specifies whether the nearest points should be included in the shared tooltip.
     * By default, the nearest data points are displayed.
     * Set this property to false to exclude the nearest point.
     *
     * @default true
     */
    showNearestPoint: boolean;
    /**
     * Options for customizing the tooltip borders, including the color and width of the tooltip's border.
     */
    border: BorderModel;
    /**
     * Specifies the location of the tooltip relative to the chart.
     * If x is 20, the tooltip moves 20 pixels to the right of the chart.
     * ```html
     * <div id='Chart'></div>
     * ```
     * ```typescript
     * let chart$: Chart = new Chart({
     * ...
     * tooltip: {
     *        enable: true,
     *        location: { x: 100, y: 150 }
     *  }
     * ...
     * });
     * chart.appendTo('#Chart');
     * ```
     */
    location: LocationModel;
    /**
     * When set to true, highlights all points in the hovered series while dimming points in other series for better focus and clarity.
     *
     * @default false.
     */
    enableHighlight: boolean;
    /**
     * Enables or disables the display of tooltips for the nearest data point to the cursor.
     *
     * @default false.
     */
    showNearestTooltip: boolean;
    /**
     * Specifies whether to display the header line in the tooltip.
     *
     * @default true
     */
    showHeaderLine: boolean;
}
/**
 * This class configures the appearance and behavior of points with empty data in the series.
 */
export  class EmptyPointSettings extends base.ChildProperty<EmptyPointSettings> {
    /**
     * Customizes the fill color for empty points in the series.
     *
     * @default null
     */
    fill: string;
    /**
     * Options to customize the border for empty points in the series, including color and width.
     *
     * @default "{color: '', width: 0}"
     */
    border: BorderModel;
    /**
     * Defines the mode for handling empty or missing data points in the series.
     * The available modes are:
     * * Gap - Displays empty points as gaps in the series.
     * * Zero - Displays empty points as zero values.
     * * Drop - Ignores empty points while rendering the series.
     * * Average - Displays empty points as the average of the previous and next points.
     *
     * @default Gap
     */
    mode: EmptyPointMode;
}
/**
 * Specifies the indexes for the series and data points.
 *
 * @public
 */
export  class Indexes extends base.ChildProperty<Indexes> {
    /**
     * Specifies the index of the series.
     *
     * @default 0
     * @aspType int
     */
    series: number;
    /**
     * Specifies the index of the data point within the series.
     *
     * @default 0
     * @aspType int
     */
    point: number;
}
/**
 * The `CornerRadius` class provides options to customize the rounding of the corners for columns in the column series.
 */
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;
}
/**
 * Configures the padding around the chart legend container.
 */
export  class ContainerPadding extends base.ChildProperty<ContainerPadding> {
    /**
     * Defines the left padding for the legend container in pixels.
     *
     * @default 0
     */
    left: number;
    /**
     * Defines the right padding for the legend container in pixels.
     *
     * @default 0
     */
    right: number;
    /**
     * Defines the top padding for the legend container in pixels.
     *
     * @default 0
     */
    top: number;
    /**
     * Defines the bottom padding for the legend container in pixels.
     *
     * @default 0
     */
    bottom: number;
}
/**
 * Configures the borders of the chart title and subtitle.
 */
export  class titleBorder extends base.ChildProperty<titleBorder> {
    /**
     * The color of the border that accepts value in hex and rgba as a valid CSS color string.
     *
     * @default 'transparent'
     */
    color: string;
    /**
     * The `width` property defines the thickness of the border surrounding the chart title and subtitle.
     *
     * @default 0
     */
    width: number;
    /**
     * Specifies the radius of the corners for the border.
     *
     * @default 0.8
     */
    cornerRadius: number;
}
/**
 * The `titleSettings` class provides options to customize the title and subtitle displayed in the chart.
 */
export  class titleSettings extends base.ChildProperty<titleSettings> {
    /**
     * The `fontStyle` property specifies the style of the text used for the chart title and subtitle.
     *
     * @default 'Normal'
     */
    fontStyle: string;
    /**
     * Specifies the font size for the chart title and subtitle.
     *
     * @default '15px'
     */
    size: string;
    /**
     * The `fontWeight` property specifies the weight (thickness) of the text used for the chart title and subtitle.
     *
     * @default '500'
     */
    fontWeight: string;
    /**
     * The `color` property specifies the color of the text used for the chart title and subtitle.
     *
     * @default ''
     */
    color: string;
    /**
     * The `textAlignment` property determines how the text is aligned within the specified area.
     *
     * @default 'Center'
     */
    textAlignment: Alignment;
    /**
     * The `fontFamily` property specifies the font family for the text used in the chart title and subtitle.
     */
    fontFamily: string;
    /**
     * Specifies the opacity for the text.
     *
     * @default 1
     */
    opacity: number;
    /**
     * The `textOverflow` property determines how the text in the chart title and subtitle behaves when it exceeds the available space.
     *
     * @default 'Wrap'
     */
    textOverflow: TextOverflow;
    /**
     * Defines the position for the chart title and subtitle.
     * The available options are:
     * * Top: Displays the title and subtitle at the top of the chart.
     * * Left: Displays the title and subtitle at the left of the chart.
     * * Bottom: Displays the title and subtitle at the bottom of the chart.
     * * Right: Displays the title and subtitle at the right of the chart.
     * * Custom: Displays the title and subtitle based on the specified x and y values.
     *
     * @default 'Top'
     */
    position: TitlePosition;
    /**
     * Defines the X coordinate for the chart title and subtitle.
     *
     * @default 0
     */
    x: number;
    /**
     * Defines the Y coordinate for the chart title and subtitle.
     *
     * @default 0
     */
    y: number;
    /**
     * The `background` property sets the background color of the chart title and subtitle.
     *
     * @default 'transparent'
     */
    background: string;
    /**
     * The `border` property allows configuring the border settings for the chart title and subtitle.
     */
    border: titleBorderModel;
    /**
     * Options to improve accessibility for chart title and subtitle elements.
     */
    accessibility: AccessibilityModel;
}
/**
 * The `TitleStyleSettings` class provides options to customize the title and subtitle displayed in the accumulation chart.
 */
export  class TitleStyleSettings extends Font {
    /**
     * Defines the position for the chart title and subtitle.
     * The available options are:
     * * Top: Displays the title and subtitle at the top of the accumulation chart.
     * * Left: Displays the title and subtitle at the left of the accumulation chart.
     * * Bottom: Displays the title and subtitle at the bottom of the accumulation chart.
     * * Right: Displays the title and subtitle at the right of the accumulation chart.
     * * Custom: Displays the title and subtitle based on the specified x and y values.
     *
     * @default 'Top'
     */
    position: TitlePosition;
    /**
     * Defines the X coordinate for the accumulation chart title and subtitle.
     *
     * @default 0
     */
    x: number;
    /**
     * Defines the Y coordinate for the accumulation chart title and subtitle.
     *
     * @default 0
     */
    y: number;
}
/**
 * The `ChartArea` class provides properties to customize the appearance and layout of the chart's display area.
 */
export  class ChartArea extends base.ChildProperty<ChartArea> {
    /**
     * Options to customize the border of the chart area.
     */
    border: BorderModel;
    /**
     * The `background` property accepts both hex color codes and rgba color values for customizing the chart area's background.
     *
     * @default 'transparent'
     */
    background: string;
    /**
     * The `opacity` property controls the transparency of the background of the chart area.
     *
     * @default 1
     */
    opacity: number;
    /**
     * The background image of the chart area, specified as a URL or local image path.
     *
     * @default null
     */
    backgroundImage: string;
    /**
     * Defines the width of the chart area element.
     * Accepts values in `percentage` or `pixels`.
     *
     * @default null
     */
    width: string;
    /**
     * Defines the margin options for the chart area, specifying the space between the chart container and the chart area.
     * The margin object can customize the left, right, top, and bottom margins.
     *
     * @default {left: 0, right: 0, top: 0, bottom: 0}
     */
    margin: MarginModel;
}
/**
 * Configures the drag settings for series in the chart.
 */
export  class DragSettings extends base.ChildProperty<DragSettings> {
    /**
     * If set to true, dragging of the points is enabled.
     * If set to false, dragging is disabled.
     *
     * @default false
     */
    enable: boolean;
    /**
     * Sets the minimum y-coordinate value that a point can be dragged to.
     *
     * @default null
     */
    minY: number;
    /**
     * Sets the maximum y-coordinate value that a point can be dragged to.
     *
     * @default null
     */
    maxY: number;
    /**
     * Sets the color of the point while it is being edited.
     *
     * @default null
     */
    fill: string;
}
/**
 * Configures the 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;
}
/**
 * Configures the 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;
    /**
     * Specify the attributes of each period.
     */
    periods: PeriodsModel[];
}
export  class StockTooltipSettings extends base.ChildProperty<StockTooltipSettings> {
    /**
     * 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. By default, the shared tooltip displays the point x value and the series name for each individual 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.
     * @aspType string
     */
    template: string | Function;
    /**
     * If set to true, ToolTip will animate while moving from one point to another.
     *
     * @default true.
     */
    enableAnimation: boolean;
    /**
     * Duration for the ToolTip animation.
     *
     * @default 300
     */
    duration: number;
    /**
     * Fade Out duration for the ToolTip hide.
     *
     * @default 1000
     */
    fadeOutDuration: number;
    /**
     * Fade Out duration for the Tooltip hide.
     *
     * @default Move
     */
    fadeOutMode: FadeOutMode;
    /**
     * To wrap the tooltip long text based on available space.
     * This is only application for chart tooltip.
     *
     * @default false
     */
    enableTextWrap: boolean;
    /**
     * By default, the nearest points will be included in the shared tooltip;
 however, you can set it to false to exclude the nearest value from the tooltip.
     *
     * @default true
     */
    showNearestPoint: boolean;
    /**
     * Options to customize tooltip borders.
     */
    border: BorderModel;
    /**
     * Specifies the tooltip position. They are:
     * * fixed - Place the tooltip in the fixed position.
     * * nearest- Tooltip moves along with the mouse.
     *
     * @default 'Fixed'
     */
    position: TooltipPosition;
    /**
     * Enables or disables the display of tooltips for the nearest data point to the cursor.
     *
     * @default false.
     */
    showNearestTooltip: boolean;
    /**
     * Specifies whether to display the header line in the tooltip.
     *
     * @default true
     */
    showHeaderLine: boolean;
}
/**
 * @private
 */
export  class Index {
    series: number;
    point: number;
    constructor(seriesIndex: number, pointIndex?: 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 connector line.
     * The available types are:
     * * Smooth
     * * Line
     *
     * @default 'Line'
     */
    type?: ConnectorType;
    /**
     * Specifies the color of the connector line, accepting values in hex or rgba as valid CSS color strings.
     *
     * @default null
     */
    color?: string;
    /**
     * Specifies the width of the connector line in pixels.
     *
     * @default 1
     */
    width?: number;
    /**
     * Specifies the length of the connector line in pixels.
     *
     * @default null
     */
    length?: string;
    /**
     * Specifies the dash pattern of the connector line.
     *
     * @default ''
     */
    dashArray?: string;
}
/**
 * Interface for a class Location
 */
export interface LocationModel {
    /**
     * Specifies the X coordinate position of the legend or tooltip in pixels.
     *
     * @default 0
     */
    x?: number;
    /**
     * Specifies the Y coordinate position of the legend or tooltip in pixels.
     *
     * @default 0
     */
    y?: number;
}
/**
 * Interface for a class Accessibility
 */
export interface AccessibilityModel {
    /**
     * Specifies the accessibility description of the chart element. This description is typically read by screen readers to give context to users.
     *
     * @default null
     */
    accessibilityDescription?: string;
    /**
     * Defines the accessibility role of the UI element, which helps screen readers understand the purpose of the element.
     *
     * @default null
     */
    accessibilityRole?: string;
    /**
     * Determines whether the chart elements can receive focus.
     *
     * @default true
     */
    focusable?: boolean;
    /**
     * Specifies the tab index for the chart elements.
     *
     * @default 0
     */
    tabIndex?: number;
}
/**
 * Interface for a class SeriesAccessibility
 */
export interface SeriesAccessibilityModel extends AccessibilityModel{
    /**
     * Accessibility description format for the chart element.
     *
     * @default null
     */
    accessibilityDescriptionFormat?: string;
}
/**
 * Interface for a class Font
 */
export interface FontModel {
    /**
     * Specifies the style of the text.
     *
     * @default 'Normal'
     */
    fontStyle?: string;
    /**
     * Specifies the size of the text.
     *
     * @default '16px'
     */
    size?: string;
    /**
     * Specifies the font weight of the text.
     *
     * @default 'Normal'
     */
    fontWeight?: string;
    /**
     * Specifies the color of the text.
     *
     * @default ''
     */
    color?: string;
    /**
     * Specifies the alignment of the text.
     *
     * @default 'Center'
     */
    textAlignment?: Alignment;
    /**
     * Specifies the font family for the text.
     */
    fontFamily?: string;
    /**
     * Specifies the opacity level for the text.
     *
     * @default 1
     */
    opacity?: number;
    /**
     * Specifies how the chart title text should handle overflow.
     *
     * @default 'Wrap'
     */
    textOverflow?: TextOverflow;
}
/**
 * Interface for a class StackLabelsFont
 */
export interface StackLabelsFontModel {
    /**
     * Specifies the style of the text.
     *
     * @default 'Normal'
     */
    fontStyle?: string;
    /**
     * Specifies the size of the text.
     *
     * @default '16px'
     */
    size?: string;
    /**
     * Specifies the font weight of the text.
     *
     * @default 'Normal'
     */
    fontWeight?: string;
    /**
     * Specifies the color of the text.
     *
     * @default ''
     */
    color?: string;
    /**
     * Specifies the alignment of the text.
     *
     * @default 'Center'
     */
    textAlignment?: Alignment;
    /**
     * Specifies the font family for the text.
     */
    fontFamily?: string;
    /**
     * Specifies the opacity level for the text.
     *
     * @default 1
     */
    opacity?: number;
}
/**
 * Interface for a class CenterLabel
 */
export interface CenterLabelModel {
    /**
     * Defines the text to be placed at the center of the Pie and Donut chart.
     *
     * @default null
     */
    text?: string;
    /**
     * Defines the font style for the center label of the Pie and Donut charts.
     */
    textStyle?: FontModel;
    /**
     * Defines the format for the center label when the mouse hovers over the pie data.
     *
     * @default null
     */
    hoverTextFormat?: string;
}
/**
 * Interface for a class Border
 */
export interface BorderModel {
    /**
     * Specifies the color of the border, accepting values in hex or RGBA as valid CSS color strings.
     *
     * @default ''
     */
    color?: string;
    /**
     * The width of the border in pixels.
     *
     * @default 1
     */
    width?: number;
    /**
     * Sets the length of dashes in the stroke of border.
     *
     * @default ''
     */
    dashArray?: string;
}
/**
 * Interface for a class Offset
 */
export interface OffsetModel {
    /**
     * Specifies the x value of the marker's position.
     *
     * @default 0
     */
    x?: number;
    /**
     * Specifies the y value of the marker's position.
     *
     * @default 0
     */
    y?: number;
}
/**
 * Interface for a class Margin
 */
export interface MarginModel {
    /**
     * The left margin of the chart, specified in pixels.
     *
     * @default 10
     */
    left?: number;
    /**
     * The right margin of the chart, specified in pixels.
     *
     * @default 10
     */
    right?: number;
    /**
     * The top margin of the chart, specified in pixels.
     *
     * @default 10
     */
    top?: number;
    /**
     * The bottom margin of the chart, specified in pixels.
     *
     * @default 10
     */
    bottom?: number;
}
/**
 * Interface for a class Animation
 */
export interface AnimationModel {
    /**
     * If set to true, the series will be animated on initial loading.
     *
     * @default true
     */
    enable?: boolean;
    /**
     * The duration of the animation in milliseconds.
     *
     * @default 1000
     */
    duration?: number;
    /**
     * The option to delay the animation of the series, specified in milliseconds.
     *
     * @default 0
     */
    delay?: number;
}
/**
 * Interface for a class TooltipSettings
 */
export interface TooltipSettingsModel {
    /**
     * If set to true, enables tooltips for the data points.
     *
     * @default false.
     */
    enable?: boolean;
    /**
     * If set to true, enables the marker in the chart tooltip.
     *
     * @default true.
     */
    enableMarker?: boolean;
    /**
     * If set to true, a single tooltip will be displayed for each index.
     *
     * @default false.
     */
    shared?: boolean;
    /**
     * The fill color of the tooltip, specified as a valid CSS color string in hex or rgba format.
     *
     * @default null
     */
    fill?: string;
    /**
     * Customizes the header text for the tooltip. By default, this property displays the series name.
     *
     * @default null
     */
    header?: string;
    /**
     * The opacity of the tooltip, expressed as a numerical value.
     *
     * @default null
     */
    opacity?: number;
    /**
     * This property defines the font family, size, style, weight, and color for the tooltip text.
     */
    textStyle?: FontModel;
    /**
     * Specifies the format for customizing the content of the tooltip.
     *
     * @default null.
     */
    format?: string;
    /**
     * A custom template used to format the tooltip content. Use `${x}` and `${y}` as placeholders for the corresponding data points.
     *
     * @default null.
     * @aspType string
     */
    template?: string | Function;
    /**
     * If set to true, the tooltip will animate as it moves from one point to another.
     *
     * @default true.
     */
    enableAnimation?: boolean;
    /**
     * Duration of the tooltip animation, specified in milliseconds.
     *
     * @default 300
     */
    duration?: number;
    /**
     * Duration of the fade-out animation for hiding the tooltip, in milliseconds.
     *
     * @default 1000
     */
    fadeOutDuration?: number;
    /**
     * Specifies the mode for the fade-out animation when hiding the tooltip.
     *
     * @default Move
     */
    fadeOutMode?: FadeOutMode;
    /**
     * Wraps the tooltip's long text based on the available space.
     > Note that this feature applies only to chart tooltips.
     *
     * @default false
     */
    enableTextWrap?: boolean;
    /**
     * Specifies whether the nearest points should be included in the shared tooltip.
     * By default, the nearest data points are displayed.
     * Set this property to false to exclude the nearest point.
     *
     * @default true
     */
    showNearestPoint?: boolean;
    /**
     * Options for customizing the tooltip borders, including the color and width of the tooltip's border.
     */
    border?: BorderModel;
    /**
     * Specifies the location of the tooltip relative to the chart.
     * If x is 20, the tooltip moves 20 pixels to the right of the chart.
     * ```html
     * <div id='Chart'></div>
     * ```
     * ```typescript
     * let chart$: Chart = new Chart({
     * ...
     * tooltip: {
     *        enable: true,
     *        location: { x: 100, y: 150 }
     *  }
     * ...
     * });
     * chart.appendTo('#Chart');
     * ```
     */
    location?: LocationModel;
    /**
     * When set to true, highlights all points in the hovered series while dimming points in other series for better focus and clarity.
     *
     * @default false.
     */
    enableHighlight?: boolean;
    /**
     * Enables or disables the display of tooltips for the nearest data point to the cursor.
     *
     * @default false.
     */
    showNearestTooltip?: boolean;
    /**
     * Specifies whether to display the header line in the tooltip.
     *
     * @default true
     */
    showHeaderLine?: boolean;
}
/**
 * Interface for a class EmptyPointSettings
 */
export interface EmptyPointSettingsModel {
    /**
     * Customizes the fill color for empty points in the series.
     *
     * @default null
     */
    fill?: string;
    /**
     * Options to customize the border for empty points in the series, including color and width.
     *
     * @default "{color: '', width: 0}"
     */
    border?: BorderModel;
    /**
     * Defines the mode for handling empty or missing data points in the series.
     * The available modes are:
     * * Gap - Displays empty points as gaps in the series.
     * * Zero - Displays empty points as zero values.
     * * Drop - Ignores empty points while rendering the series.
     * * Average - Displays empty points as the average of the previous and next points.
     *
     * @default Gap
     */
    mode?: EmptyPointMode;
}
/**
 * Interface for a class Indexes
 */
export interface IndexesModel {
    /**
     * Specifies the index of the series.
     *
     * @default 0
     * @aspType int
     */
    series?: number;
    /**
     * Specifies the index of the data point within the series.
     *
     * @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 ContainerPadding
 */
export interface ContainerPaddingModel {
    /**
     * Defines the left padding for the legend container in pixels.
     *
     * @default 0
     */
    left?: number;
    /**
     * Defines the right padding for the legend container in pixels.
     *
     * @default 0
     */
    right?: number;
    /**
     * Defines the top padding for the legend container in pixels.
     *
     * @default 0
     */
    top?: number;
    /**
     * Defines the bottom padding for the legend container in pixels.
     *
     * @default 0
     */
    bottom?: number;
}
/**
 * Interface for a class titleBorder
 */
export interface titleBorderModel {
    /**
     * The color of the border that accepts value in hex and rgba as a valid CSS color string.
     *
     * @default 'transparent'
     */
    color?: string;
    /**
     * The `width` property defines the thickness of the border surrounding the chart title and subtitle.
     *
     * @default 0
     */
    width?: number;
    /**
     * Specifies the radius of the corners for the border.
     *
     * @default 0.8
     */
    cornerRadius?: number;
}
/**
 * Interface for a class titleSettings
 */
export interface titleSettingsModel {
    /**
     * The `fontStyle` property specifies the style of the text used for the chart title and subtitle.
     *
     * @default 'Normal'
     */
    fontStyle?: string;
    /**
     * Specifies the font size for the chart title and subtitle.
     *
     * @default '15px'
     */
    size?: string;
    /**
     * The `fontWeight` property specifies the weight (thickness) of the text used for the chart title and subtitle.
     *
     * @default '500'
     */
    fontWeight?: string;
    /**
     * The `color` property specifies the color of the text used for the chart title and subtitle.
     *
     * @default ''
     */
    color?: string;
    /**
     * The `textAlignment` property determines how the text is aligned within the specified area.
     *
     * @default 'Center'
     */
    textAlignment?: Alignment;
    /**
     * The `fontFamily` property specifies the font family for the text used in the chart title and subtitle.
     */
    fontFamily?: string;
    /**
     * Specifies the opacity for the text.
     *
     * @default 1
     */
    opacity?: number;
    /**
     * The `textOverflow` property determines how the text in the chart title and subtitle behaves when it exceeds the available space.
     *
     * @default 'Wrap'
     */
    textOverflow?: TextOverflow;
    /**
     * Defines the position for the chart title and subtitle.
     * The available options are:
     * * Top: Displays the title and subtitle at the top of the chart.
     * * Left: Displays the title and subtitle at the left of the chart.
     * * Bottom: Displays the title and subtitle at the bottom of the chart.
     * * Right: Displays the title and subtitle at the right of the chart.
     * * Custom: Displays the title and subtitle based on the specified x and y values.
     *
     * @default 'Top'
     */
    position?: TitlePosition;
    /**
     * Defines the X coordinate for the chart title and subtitle.
     *
     * @default 0
     */
    x?: number;
    /**
     * Defines the Y coordinate for the chart title and subtitle.
     *
     * @default 0
     */
    y?: number;
    /**
     * The `background` property sets the background color of the chart title and subtitle.
     *
     * @default 'transparent'
     */
    background?: string;
    /**
     * The `border` property allows configuring the border settings for the chart title and subtitle.
     */
    border?: titleBorderModel;
    /**
     * Options to improve accessibility for chart title and subtitle elements.
     */
    accessibility?: AccessibilityModel;
}
/**
 * Interface for a class TitleStyleSettings
 */
export interface TitleStyleSettingsModel extends FontModel{
    /**
     * Defines the position for the chart title and subtitle.
     * The available options are:
     * * Top: Displays the title and subtitle at the top of the accumulation chart.
     * * Left: Displays the title and subtitle at the left of the accumulation chart.
     * * Bottom: Displays the title and subtitle at the bottom of the accumulation chart.
     * * Right: Displays the title and subtitle at the right of the accumulation chart.
     * * Custom: Displays the title and subtitle based on the specified x and y values.
     *
     * @default 'Top'
     */
    position?: TitlePosition;
    /**
     * Defines the X coordinate for the accumulation chart title and subtitle.
     *
     * @default 0
     */
    x?: number;
    /**
     * Defines the Y coordinate for the accumulation chart title and subtitle.
     *
     * @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` property accepts both hex color codes and rgba color values for customizing the chart area's background.
     *
     * @default 'transparent'
     */
    background?: string;
    /**
     * The `opacity` property controls the transparency of the background of the chart area.
     *
     * @default 1
     */
    opacity?: number;
    /**
     * The background image of the chart area, specified as a URL or local image path.
     *
     * @default null
     */
    backgroundImage?: string;
    /**
     * Defines the width of the chart area element.
     * Accepts values in `percentage` or `pixels`.
     *
     * @default null
     */
    width?: string;
    /**
     * Defines the margin options for the chart area, specifying the space between the chart container and the chart area.
     * The margin object can customize the left, right, top, and bottom margins.
     *
     * @default {left: 0, right: 0, top: 0, bottom: 0}
     */
    margin?: MarginModel;
}
/**
 * Interface for a class DragSettings
 */
export interface DragSettingsModel {
    /**
     * If set to true, dragging of the points is enabled.
     * If set to false, dragging is disabled.
     *
     * @default false
     */
    enable?: boolean;
    /**
     * Sets the minimum y-coordinate value that a point can be dragged to.
     *
     * @default null
     */
    minY?: number;
    /**
     * Sets the maximum y-coordinate value that a point can be dragged to.
     *
     * @default null
     */
    maxY?: number;
    /**
     * Sets the color of the point while it is being edited.
     *
     * @default null
     */
    fill?: string;
}
/**
 * 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;
    /**
     * Specify the attributes of each period.
     */
    periods?: PeriodsModel[];
}
/**
 * Interface for a class StockTooltipSettings
 */
export interface StockTooltipSettingsModel {
    /**
     * 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. By default, the shared tooltip displays the point x value and the series name for each individual 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.
     * @aspType string
     */
    template?: string | Function;
    /**
     * If set to true, ToolTip will animate while moving from one point to another.
     *
     * @default true.
     */
    enableAnimation?: boolean;
    /**
     * Duration for the ToolTip animation.
     *
     * @default 300
     */
    duration?: number;
    /**
     * Fade Out duration for the ToolTip hide.
     *
     * @default 1000
     */
    fadeOutDuration?: number;
    /**
     * Fade Out duration for the Tooltip hide.
     *
     * @default Move
     */
    fadeOutMode?: FadeOutMode;
    /**
     * To wrap the tooltip long text based on available space.
     * This is only application for chart tooltip.
     *
     * @default false
     */
    enableTextWrap?: boolean;
    /**
     * By default, the nearest points will be included in the shared tooltip;
 however, you can set it to false to exclude the nearest value from the tooltip.
     *
     * @default true
     */
    showNearestPoint?: boolean;
    /**
     * Options to customize tooltip borders.
     */
    border?: BorderModel;
    /**
     * Specifies the tooltip position. They are:
     * * fixed - Place the tooltip in the fixed position.
     * * nearest- Tooltip moves along with the mouse.
     *
     * @default 'Fixed'
     */
    position?: TooltipPosition;
    /**
     * Enables or disables the display of tooltips for the nearest data point to the cursor.
     *
     * @default false.
     */
    showNearestTooltip?: boolean;
    /**
     * Specifies whether to display the header line in the tooltip.
     *
     * @default true
     */
    showHeaderLine?: boolean;
}
/**
 * Interface for a class Index
 * @private
 */
export interface IndexModel {
}
//node_modules/@syncfusion/ej2-charts/src/common/legend/legend.d.ts
/**
 * Configures the appearance and behavior of legends in charts.
 */
export  class LegendSettings extends base.ChildProperty<LegendSettings> {
    /**
     * If set to true, the legend will be displayed for the chart.
     *
     * @default true
     */
    visible: boolean;
    /**
     * Specifies the height of the legend in pixels.
     *
     * @default null
     */
    height: string;
    /**
     * Specifies 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, the legend moves 20 pixels to the right of the chart.
     > Note that the `position` must be set to `Custom` for this feature to work.
     * ```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;
    /**
     * Sets the position of the legend in the chart.
     * Available options include:
     * * Auto - Places the legend according to the area type.
     * * Top - Displays the legend at the top of the chart.
     * * Left - Displays the legend on the left side of the chart.
     * * Bottom - Displays the legend at the bottom of the chart.
     * * Right - Displays the legend to the right of the chart.
     * * Custom - Displays the legend according to the given x and y position values.
     *
     * @default 'Auto'
     */
    position: LegendPosition;
    /**
     * Defines the mode for displaying legend items.
     * * Series - Legend items are generated based on the count of series.
     * * Point - Legend items are created according to each unique data point.
     * * Range - Legend items are generated based on the range color mapping property.
     * * Gradient - Displays a single linear bar that represents the range color mapping property.
     > Note that this property is applicable only for the chart component.
     */
    mode: LegendMode;
    /**
     * Option to customize the padding around the legend items.
     *
     * @default 8
     */
    padding: number;
    /**
     * Option to customize the padding between legend items.
     *
     * @default null
     */
    itemPadding: number;
    /**
     * Defines the alignment of the legend in the chart.
     * The options are:
     * * 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;
    /**
     * The `textStyle` property provides options to customize the appearance of the text in the legend, including the font family, size, style, weight, and color.
     */
    textStyle: FontModel;
    /**
     * Specify the height of the legend in pixels.
     *
     * @default 10
     */
    shapeHeight: number;
    /**
     * Specify the width of the legend in pixels.
     *
     * @default 10
     */
    shapeWidth: number;
    /**
     * Options for customizing the border of the legend.
     */
    border: BorderModel;
    /**
     * Options for customizing the left, right, top, and bottom margins of the chart.
     */
    margin: MarginModel;
    /**
     * Options to customize the left, right, top, and bottom padding for the chart legend container.
     */
    containerPadding: ContainerPaddingModel;
    /**
     * Padding between the legend shape and text.
     *
     * @default 8
     */
    shapePadding: number;
    /**
     * The background color of the legend, which accepts values in hex and rgba as valid CSS color strings.
     *
     * @default 'transparent'
     */
    background: string;
    /**
     * Customizes the opacity of the legend.
     *
     * @default 1
     */
    opacity: number;
    /**
     * If set to true, the series visibility will collapse based on the legend's visibility.
     *
     * @default true
     */
    toggleVisibility: boolean;
    /**
     * If set to true, the series will be highlighted when hovering over the legend.
     *
     * @default false
     */
    enableHighlight: boolean;
    /**
     * A description of the legend that provides additional information for screen readers.
     *
     * @default null
     * @deprecated
     */
    description: string;
    /**
     * The `tabIndex` property determines the order in which the legend receives focus when navigating through elements with the keyboard.
     *
     * @default 3
     * @deprecated
     */
    tabIndex: number;
    /**
     * Specifies the title of the legend.
     *
     * @default null
     */
    title: string;
    /**
     * The `titleStyle` property configures the font settings for the legend title, including font family, size, style, weight, and color.
     */
    titleStyle: FontModel;
    /**
     * The `titlePosition` property specifies the position of the legend title.
     * Available options are:
     * * Top - Aligns the title to the top of the legend.
     * * Left - Aligns the title to the left of the legend.
     * * Right - Aligns the title to the right of the legend.
     *
     * @default 'Top'
     */
    titlePosition: LegendTitlePosition;
    /**
     * Defines the text wrap behavior for the legend text when it overflows.
     * Available options are:
     * * `Normal` - Specifies that words should only break at allowed break points.
     * * `Wrap` - Specifies that a word should break if it is too long to fit on a line by itself.
     * * `AnyWhere` - Specifies to break a word at any point if there are no acceptable break points in the line.
     *
     * @default 'Normal'
     */
    textWrap: TextWrap;
    /**
     * Defines the behavior for handling the overflow of legend text.
     * * `Clip` - Specifies that the text is clipped and not accessible.
     * * `Ellipsis` - Specifies an ellipsis (“...”) for the clipped text.
     *
     * @default 'Ellipsis'
     */
    textOverflow: LabelOverflow;
    /**
     * Specifies the maximum width of the legend title.
     *
     * @default 100
     */
    maximumTitleWidth: number;
    /**
     * Specifies the maximum width of the legend text labels.
     *
     * @default null
     */
    maximumLabelWidth: number;
    /**
     * If set to true, the legend will be displayed using pages.
     *
     * @default true
     */
    enablePages: boolean;
    /**
     * If `isInversed` is set to true, it inverses the legend item content (image and text).
     *
     * @default false.
     */
    isInversed: boolean;
    /**
     * If `reverse` is set to true, it reverses the order of the legend items.
     *
     * @default false
     */
    reverse: boolean;
    /**
     * Specifies the layout of the legend items in the chart.
     * Available options are:
     * * `Vertical`: Legend items are arranged in a single column. If the legend items exceed the available space, paging is automatically applied to allow the user to navigate through the legend.
     * * `Horizontal`: Legend items are arranged in a single row. If the legend items exceed the available space, paging is automatically applied to allow the user to navigate through the legend.
     * * `Auto` (default): Legend items are placed based on the available space.
     *
     * @default 'Auto'
     */
    layout: LegendLayout;
    /**
     * Specifies the maximum number of columns to allow in the available space when the layout is set to 'Auto'.
     *
     * @default null
     */
    maximumColumns: number;
    /**
     * When set to true, all legend items are rendered with an equal width, which is the maximum width of all items.
     *
     * @default false
     */
    fixedWidth: boolean;
    /**
     * Options to improve accessibility for legend elements.
     */
    accessibility: AccessibilityModel;
}
/**
 * Legend base class for Chart and Accumulation chart.
 *
 * @private
 */
export  class BaseLegend {
    protected chart: Chart | AccumulationChart | BulletChart | StockChart | Chart3D | CircularChart3D;
    protected legend: LegendSettingsModel;
    protected maxItemHeight: number;
    protected rowHeights: number[];
    protected pageHeights: number[];
    protected columnHeights: number[];
    protected isPaging: boolean;
    private clipPathHeight;
    totalPages: number;
    protected isVertical: boolean;
    protected fivePixel: number;
    private rowCount;
    protected pageButtonSize: number;
    protected pageXCollections: number[];
    protected maxColumns: number;
    maxWidth: number;
    protected legendID: string;
    private clipRect;
    private legendTranslateGroup;
    protected currentPage: number;
    protected backwardArrowOpacity: number;
    protected forwardArrowOpacity: number;
    private isChartControl;
    private isAccChartControl;
    private isBulletChartControl;
    private isStockChartControl;
    private accessbilityText;
    protected arrowWidth: number;
    protected arrowHeight: number;
    protected library: Legend | AccumulationLegend | BulletChartLegend | StockLegend | Legend3D | CircularChartLegend3D;
    /**  @private */
    position: LegendPosition;
    chartRowCount: number;
    /**
     * Gets the legend bounds in chart.
     *
     * @private
     */
    legendBounds: svgBase.Rect;
    /** @private */
    legendCollections: LegendOptions[];
    private legendTitleCollections;
    protected legendTitleSize: svgBase.Size;
    private isTop;
    protected isTitle: boolean;
    /** @private */
    clearTooltip: number;
    protected pagingClipRect: RectOption;
    protected currentPageNumber: number;
    protected legendRegions: ILegendRegions[];
    protected pagingRegions: svgBase.Rect[];
    protected totalNoOfPages: number;
    /** @private */
    calTotalPage: boolean;
    private bulletChart;
    protected isRtlEnable: boolean;
    protected isReverse: boolean;
    protected itemPadding: number;
    /**
     * Constructor for the dateTime module.
     *
     * @private
     */
    constructor(chart?: Chart | AccumulationChart | BulletChart | StockChart | Chart3D | CircularChart3D);
    /**
     * Calculate the bounds for the legends.
     *
     * @returns {void}
     * @private
     */
    calculateLegendBounds(rect: svgBase.Rect, availableSize: svgBase.Size, maxLabelSize: svgBase.Size, previousLegendBounds?: svgBase.Rect, pointAnimation?: boolean): void;
    /**
     * To find legend position based on available size for chart and accumulation chart
     *
     * @param position
     * @param availableSize
     * @param position
     * @param availableSize
     * @returns {void}
     */
    private getPosition;
    /**
     * To set bounds for chart and accumulation chart
     *
     * @param computedWidth
     * @param computedHeight
     * @param legend
     * @param legendBounds
     * @param computedWidth
     * @param computedHeight
     * @param legend
     * @param legendBounds
     * @param computedWidth
     * @param computedHeight
     * @param legend
     * @param legendBounds
     * @param computedWidth
     * @param computedHeight
     * @param legend
     * @param legendBounds
     * @returns {void}
     */
    protected setBounds(computedWidth: number, computedHeight: number, legend: LegendSettingsModel, legendBounds: svgBase.Rect): void;
    /**
     * To find legend location based on position, alignment for chart and accumulation chart
     *
     * @param position
     * @param alignment
     * @param legendBounds
     * @param rect
     * @param availableSize
     * @param maxLabelSize
     * @param position
     * @param alignment
     * @param legendBounds
     * @param rect
     * @param availableSize
     * @param maxLabelSize
     * @param position
     * @param alignment
     * @param legendBounds
     * @param rect
     * @param availableSize
     * @param maxLabelSize
     * @param position
     * @param alignment
     * @param legendBounds
     * @param rect
     * @param availableSize
     * @param maxLabelSize
     * @param position
     * @param alignment
     * @param legendBounds
     * @param rect
     * @param availableSize
     * @param maxLabelSize
     * @param position
     * @param alignment
     * @param legendBounds
     * @param rect
     * @param availableSize
     * @param maxLabelSize
     */
    private getLocation;
    /**
     * To find legend alignment for chart and accumulation chart
     *
     * @param start
     * @param size
     * @param legendSize
     * @param alignment
     * @param start
     * @param size
     * @param legendSize
     * @param alignment
     * @param start
     * @param size
     * @param legendSize
     * @param alignment
     * @param start
     * @param size
     * @param legendSize
     * @param alignment
     */
    private alignLegend;
    /**
     * Renders the legend.
     *
     * @param chart
     * @param legend
     * @param legendBounds
     * @param redraw
     * @param chart
     * @param legend
     * @param legendBounds
     * @param redraw
     * @param chart
     * @param legend
     * @param legendBounds
     * @param redraw
     * @param chart
     * @param legend
     * @param legendBounds
     * @param redraw
     * @returns {void}
     * @private
     */
    renderLegend(chart: Chart | AccumulationChart | BulletChart | StockChart | Chart3D | CircularChart3D, legend: LegendSettingsModel, legendBounds: svgBase.Rect, redraw?: boolean, pointAnimation?: boolean): void;
    /**
     * To get linear legend.
     *
     * @param {svgBase.Rect} legendBounds - The bounds of the legend.
     * @param {Chart | AccumulationChart | BulletChart | StockChart | Chart3D | CircularChart3D} chart - The chart instance.
     * @param {LegendSettingsModel} legend - The legend settings.
     * @param {Element} legendTranslateGroup - The group element to translate the legend.
     * @returns {void}
     * @private
     */
    private getLinearLegend;
    /**
     * To find first valid legend text index for chart and accumulation chart
     *
     * @param legendCollection
     * @returns {number}
     * @private
     */
    private findFirstLegendPosition;
    /**
     * To get the legend title text width and height.
     *
     * @param legend
     * @param legendBounds
     */
    protected calculateLegendTitle(legend: LegendSettingsModel, legendBounds: svgBase.Rect): void;
    /**
     * Render the legend title
     *
     * @param chart
     * @param legend
     * @param legendBounds
     * @param legendGroup
     */
    private renderLegendTitle;
    /**
     * To create legend rendering elements for chart and accumulation chart
     *
     * @param chart
     * @param legendBounds
     * @param legendGroup
     * @param legend
     * @param id
     * @param redraw
     */
    private createLegendElements;
    /**
     * To render legend symbols for chart and accumulation chart
     *
     * @param legendOption
     * @param group
     * @param i
     * @param legendOption
     * @param group
     * @param i
     * @param legendOption
     * @param group
     * @param i
     */
    protected renderSymbol(legendOption: LegendOptions, group: Element, legendIndex: number): void;
    /**
     * To render legend text for chart and accumulation chart
     *
     * @param chart
     * @param legendOption
     * @param group
     * @param textOptions
     * @param i
     * @param chart
     * @param legendOption
     * @param group
     * @param textOptions
     * @param i
     * @param chart
     * @param legendOption
     * @param group
     * @param textOptions
     * @param i
     * @param chart
     * @param legendOption
     * @param group
     * @param textOptions
     * @param i
     * @param chart
     * @param legendOption
     * @param group
     * @param textOptions
     * @param i
     */
    protected renderText(chart: Chart | AccumulationChart | BulletChart | StockChart | Chart3D | CircularChart3D, legendOption: LegendOptions, group: Element, textOptions: svgBase.TextOption, i: number, legendIndex: number): void;
    /**
     * To render legend paging elements for chart and accumulation chart
     *
     * @param chart
     * @param bounds
     * @param textOption
     * @param legendGroup
     * @param chart
     * @param bounds
     * @param textOption
     * @param legendGroup
     * @param chart
     * @param bounds
     * @param textOption
     * @param legendGroup
     * @param chart
     * @param bounds
     * @param textOption
     * @param legendGroup
     */
    private renderPagingElements;
    private getPageHeight;
    /**
     * To translate legend pages for chart and accumulation chart
     *
     * @param pagingText
     * @param page
     * @param pageNumber
     * @param legend
     * @param pagingText
     * @param page
     * @param pageNumber
     * @param legend
     * @param pagingText
     * @param page
     * @param pageNumber
     * @param legend
     * @param pagingText
     * @param page
     * @param pageNumber
     * @param legend
     */
    protected translatePage(isCanvas: boolean, pagingText: Element, page: number, pageNumber: number, legend?: LegendSettingsModel): number;
    /**
     * To change legend pages for chart and accumulation chart
     *
     * @param event
     * @param pageUp
     * @param event
     * @param pageUp
     */
    protected changePage(event: Event, pageUp: boolean): void;
    /**
     * To hide the backward and forward arrow
     *
     * @param arrowElement
     */
    private hideArrow;
    /**
     * To show the  backward and forward arrow
     *
     * @param arrowElement
     */
    private showArrow;
    /**
     * To find legend elements id based on chart or accumulation chart
     *
     * @param option
     * @param prefix
     * @param count
     * @param option
     * @param prefix
     * @param count
     * @param option
     * @param prefix
     * @param count
     * @private
     */
    generateId(option: LegendOptions, prefix: string, count: number): string;
    /**
     * To show or hide trimmed text tooltip for legend.
     *
     * @param event
     * @returns {void}
     * @private
     */
    move(event: Event): void;
}
/**
 * Class for legend options
 *
 * @private
 */
export  class LegendOptions {
    render: boolean;
    originalText: string;
    text: string;
    fill: string;
    shape: LegendShape;
    visible: boolean;
    type: ChartSeriesType | AccumulationType;
    textSize: svgBase.Size;
    location: ChartLocation;
    url?: string;
    pointIndex?: number;
    seriesIndex?: number;
    markerShape?: ChartShape;
    markerVisibility?: boolean;
    textCollection?: string[];
    dashArray?: string;
    constructor(text: string, fill: string, shape: LegendShape, visible: boolean, type: ChartSeriesType | AccumulationType, url?: string, markerShape?: ChartShape, markerVisibility?: boolean, pointIndex?: number, seriesIndex?: number, dashArray?: string, originalText?: string);
}
//node_modules/@syncfusion/ej2-charts/src/common/legend/legend-model.d.ts
/**
 * Interface for a class LegendSettings
 */
export interface LegendSettingsModel {
    /**
     * If set to true, the legend will be displayed for the chart.
     *
     * @default true
     */
    visible?: boolean;
    /**
     * Specifies the height of the legend in pixels.
     *
     * @default null
     */
    height?: string;
    /**
     * Specifies 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, the legend moves 20 pixels to the right of the chart.
     > Note that the `position` must be set to `Custom` for this feature to work.
     * ```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;
    /**
     * Sets the position of the legend in the chart.
     * Available options include:
     * * Auto - Places the legend according to the area type.
     * * Top - Displays the legend at the top of the chart.
     * * Left - Displays the legend on the left side of the chart.
     * * Bottom - Displays the legend at the bottom of the chart.
     * * Right - Displays the legend to the right of the chart.
     * * Custom - Displays the legend according to the given x and y position values.
     *
     * @default 'Auto'
     */
    position?: LegendPosition;
    /**
     * Defines the mode for displaying legend items.
     * * Series - Legend items are generated based on the count of series.
     * * Point - Legend items are created according to each unique data point.
     * * Range - Legend items are generated based on the range color mapping property.
     * * Gradient - Displays a single linear bar that represents the range color mapping property.
     > Note that this property is applicable only for the chart component.
     */
    mode?: LegendMode;
    /**
     * Option to customize the padding around the legend items.
     *
     * @default 8
     */
    padding?: number;
    /**
     * Option to customize the padding between legend items.
     *
     * @default null
     */
    itemPadding?: number;
    /**
     * Defines the alignment of the legend in the chart.
     * The options are:
     * * 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;
    /**
     * The `textStyle` property provides options to customize the appearance of the text in the legend, including the font family, size, style, weight, and color.
     */
    textStyle?: FontModel;
    /**
     * Specify the height of the legend in pixels.
     *
     * @default 10
     */
    shapeHeight?: number;
    /**
     * Specify the width of the legend in pixels.
     *
     * @default 10
     */
    shapeWidth?: number;
    /**
     * Options for customizing the border of the legend.
     */
    border?: BorderModel;
    /**
     * Options for customizing the left, right, top, and bottom margins of the chart.
     */
    margin?: MarginModel;
    /**
     * Options to customize the left, right, top, and bottom padding for the chart legend container.
     */
    containerPadding?: ContainerPaddingModel;
    /**
     * Padding between the legend shape and text.
     *
     * @default 8
     */
    shapePadding?: number;
    /**
     * The background color of the legend, which accepts values in hex and rgba as valid CSS color strings.
     *
     * @default 'transparent'
     */
    background?: string;
    /**
     * Customizes the opacity of the legend.
     *
     * @default 1
     */
    opacity?: number;
    /**
     * If set to true, the series visibility will collapse based on the legend's visibility.
     *
     * @default true
     */
    toggleVisibility?: boolean;
    /**
     * If set to true, the series will be highlighted when hovering over the legend.
     *
     * @default false
     */
    enableHighlight?: boolean;
    /**
     * A description of the legend that provides additional information for screen readers.
     *
     * @default null
     * @deprecated
     */
    description?: string;
    /**
     * The `tabIndex` property determines the order in which the legend receives focus when navigating through elements with the keyboard.
     *
     * @default 3
     * @deprecated
     */
    tabIndex?: number;
    /**
     * Specifies the title of the legend.
     *
     * @default null
     */
    title?: string;
    /**
     * The `titleStyle` property configures the font settings for the legend title, including font family, size, style, weight, and color.
     */
    titleStyle?: FontModel;
    /**
     * The `titlePosition` property specifies the position of the legend title.
     * Available options are:
     * * Top - Aligns the title to the top of the legend.
     * * Left - Aligns the title to the left of the legend.
     * * Right - Aligns the title to the right of the legend.
     *
     * @default 'Top'
     */
    titlePosition?: LegendTitlePosition;
    /**
     * Defines the text wrap behavior for the legend text when it overflows.
     * Available options are:
     * * `Normal` - Specifies that words should only break at allowed break points.
     * * `Wrap` - Specifies that a word should break if it is too long to fit on a line by itself.
     * * `AnyWhere` - Specifies to break a word at any point if there are no acceptable break points in the line.
     *
     * @default 'Normal'
     */
    textWrap?: TextWrap;
    /**
     * Defines the behavior for handling the overflow of legend text.
     * * `Clip` - Specifies that the text is clipped and not accessible.
     * * `Ellipsis` - Specifies an ellipsis (“...”) for the clipped text.
     *
     * @default 'Ellipsis'
     */
    textOverflow?: LabelOverflow;
    /**
     * Specifies the maximum width of the legend title.
     *
     * @default 100
     */
    maximumTitleWidth?: number;
    /**
     * Specifies the maximum width of the legend text labels.
     *
     * @default null
     */
    maximumLabelWidth?: number;
    /**
     * If set to true, the legend will be displayed using pages.
     *
     * @default true
     */
    enablePages?: boolean;
    /**
     * If `isInversed` is set to true, it inverses the legend item content (image and text).
     *
     * @default false.
     */
    isInversed?: boolean;
    /**
     * If `reverse` is set to true, it reverses the order of the legend items.
     *
     * @default false
     */
    reverse?: boolean;
    /**
     * Specifies the layout of the legend items in the chart.
     * Available options are:
     * * `Vertical`: Legend items are arranged in a single column. If the legend items exceed the available space, paging is automatically applied to allow the user to navigate through the legend.
     * * `Horizontal`: Legend items are arranged in a single row. If the legend items exceed the available space, paging is automatically applied to allow the user to navigate through the legend.
     * * `Auto` (default): Legend items are placed based on the available space.
     *
     * @default 'Auto'
     */
    layout?: LegendLayout;
    /**
     * Specifies the maximum number of columns to allow in the available space when the layout is set to 'Auto'.
     *
     * @default null
     */
    maximumColumns?: number;
    /**
     * When set to true, all legend items are rendered with an equal width, which is the maximum width of all items.
     *
     * @default false
     */
    fixedWidth?: boolean;
    /**
     * Options to improve accessibility for legend elements.
     */
    accessibility?: AccessibilityModel;
}
/**
 * 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/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.
     *
     * @private
     * @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/circularchart3d/circularchart3d.d.ts
/**
 * Circular 3D chart file.
 */
/**
 * Represents the circular 3D chart control.
 * ```html
 * <div id="container"/>
 * <script>
 *   let pie: CircularChart3D = new CircularChart3D({ });
 *   pie.appendTo("#container");
 *
 * </script>
 * ```
 *
 * @public
 */
export  class CircularChart3D extends base.Component<HTMLElement> implements base.INotifyPropertyChanged {
    /**
     * The width of the chart as a string, accepting input as both '100px' or '100%'
     * If specified as '100%', the chart renders to the full width of its parent element.
     *
     * @default null
     */
    width: string;
    /**
     * The height of the chart as a string, accepting input as both '100px' or '100%'.
     * If specified as '100%', the chart renders to the full height of its parent element.
     *
     * @default null
     */
    height: string;
    /**
     * Represents the title for the circular 3D chart.
     *
     * @default null
     */
    title: string;
    /**
     * The background image of the chart, specified as a URL link or the location of an image.
     *
     * @default null
     */
    backgroundImage: string;
    /**
     * Specifies the dataSource for the circular 3D chart. 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: CircularChart3D = new CircularChart3D({
     * ...
     *     dataSource: dataManager,
     *     series: [{
     *        xName: 'Id',
     *        yName: 'Estimate',
     *        query: query
     *    }],
     * ...
     * });
     * pie.appendTo('#Pie');
     * ```
     *
     * @default ''
     */
    dataSource: Object | data.DataManager;
    /**
     * Options for customizing the title of the circular 3D chart.
     */
    titleStyle: FontModel;
    /**
     * Represents the subtitle for the circular 3D chart.
     *
     * @default null
     */
    subTitle: string;
    /**
     * Options for customizing the subtitle of the circular 3D Chart.
     */
    subTitleStyle: FontModel;
    /**
     * Specifies whether a point has to be selected or not.
     * Takes values: 'None' or 'Point'.
     * * None: Disables the selection.
     * * Point: Selects a point.
     *
     * @default None
     */
    selectionMode: CircularChart3DSelectionMode;
    /**
     * Specifies whether a point has to be highlighted or not.
     * Takes values: 'None' or 'Point'.
     * * None: Disables the highlight.
     * * Point: Highlights a point.
     *
     * @default None
     */
    highlightMode: CircularChart3DHighlightMode;
    /**
     * The configuration for series in circular 3D chart.
     * The `series` property allows you to define an array of circular 3D series, each with its own settings and data.
     */
    series: CircularChart3DSeriesModel[];
    /**
     * Options for customizing the legend of the circular 3D chart.
     */
    legendSettings: CircularChart3DLegendSettingsModel;
    /**
     * Defines the color for the highlighted data point.
     *
     * @default ''
     */
    highlightColor: string;
    /**
     * Specifies the selection pattern for series or data points in the circular 3D chart. Options include:
     * * none: No specific selection pattern.
     * * chessboard: Chessboard pattern.
     * * dots: Dots pattern.
     * * diagonalForward: Diagonal forward pattern.
     * * crosshatch: Crosshatch pattern.
     * * pacman: Pacman pattern.
     * * diagonalbackward: Diagonal backward pattern.
     * * grid: Grid pattern.
     * * turquoise: Turquoise pattern.
     * * star: Star pattern.
     * * triangle: Triangle pattern.
     * * circle: Circle pattern.
     * * tile: Tile pattern.
     * * horizontaldash: Horizontal dash pattern.
     * * verticaldash: Vertical dash pattern.
     * * rectangle: Rectangle pattern.
     * * box: Box pattern.
     * * verticalstripe: Vertical stripe pattern.
     * * horizontalstripe: Horizontal stripe pattern.
     * * bubble: Bubble pattern.
     *
     * @default None
     */
    selectionPattern: SelectionPattern;
    /**
     * Specifies the highlight pattern for series or data points in the circular 3D chart. Options include:
     * * none: No specific selection pattern.
     * * chessboard: Chessboard pattern.
     * * dots: Dots pattern.
     * * diagonalForward: Diagonal forward pattern.
     * * crosshatch: Crosshatch pattern.
     * * pacman: Pacman pattern.
     * * diagonalbackward: Diagonal backward pattern.
     * * grid: Grid pattern.
     * * turquoise: Turquoise pattern.
     * * star: Star pattern.
     * * triangle: Triangle pattern.
     * * circle: Circle pattern.
     * * tile: Tile pattern.
     * * horizontaldash: Horizontal dash pattern.
     * * verticaldash: Vertical dash pattern.
     * * rectangle: Rectangle pattern.
     * * box: Box pattern.
     * * verticalstripe: Vertical stripe pattern.
     * * horizontalstripe: Horizontal stripe pattern.
     * * bubble: Bubble pattern.
     *
     * @default None
     */
    highlightPattern: SelectionPattern;
    /**
     * Enables or disables multi-selection in the circular 3D chart.
     * If set true, enables the multi selection in circular 3D chart. It requires `selectionMode` to be `Point`.
     *
     * @default false
     */
    isMultiSelect: boolean;
    /**
     * If set true, enables the animation for circular 3D chart.
     *
     * @default true
     */
    enableAnimation: boolean;
    /**
     * Specifies the theme for the circular 3D chart.
     *
     * @default 'Material'
     */
    theme: CircularChart3DTheme;
    /**
     * Specifies the point indexes to be selected while loading a circular 3D chart.
     * It requires `selectionMode` to be `Point`.
     * ```html
     * <div id='Pie'></div>
     * ```
     * ```typescript
     * let pie: CircularChart3D = new CircularChart3D({
     * ...
     *   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 the circular 3D chart.
     */
    margin: MarginModel;
    /**
     * Options for customizing the color and width of the circular 3D chart border.
     */
    border: BorderModel;
    /**
     * Options for customizing the tooltip of the circular 3D chart.
     */
    tooltip: CircularChart3DTooltipSettingsModel;
    /**
     * The background color of the circular 3D chart, which accepts a value in hex, rgba as a valid CSS color string.
     *
     * @default null
     */
    background: string;
    /**
     * Specifies whether a grouping separator should be used for numbers.
     *
     * @default false
     */
    useGroupingSeparator: boolean;
    /**
     * Specifies the depth of the circular 3D chart.
     *
     * @default 50
     */
    depth: number;
    /**
     * Defines the slope angle for the circular 3D chart.
     *
     * @default 0
     */
    tilt: number;
    /**
     * Enables or disables rotation in the circular 3D chart.
     *
     * @default false
     */
    enableRotation: boolean;
    /**
     * Defines the rotation angle for the circular 3D chart.
     *
     * @default 0
     */
    rotation: number;
    /**
     * Enables or disables the export feature in the circular 3D chart.
     *
     * @default false
     */
    enableExport: boolean;
    /**
     * Triggered before the circular 3D is loaded.
     *
     * @event load
     */
    load: base.EmitType<CircularChart3DLoadedEventArgs>;
    /**
     * Triggers after the circular 3D chart is loaded.
     *
     * @event loaded
     */
    loaded: base.EmitType<CircularChart3DLoadedEventArgs>;
    /**
     * Triggers before the legend is rendered.
     *
     * @event legendRender
     */
    legendRender: base.EmitType<CircularChart3DLegendRenderEventArgs>;
    /**
     * Triggers after a legend is clicked.
     *
     * @event legendClick
     */
    legendClick: base.EmitType<CircularChart3DLegendClickEventArgs>;
    /**
     * Triggers after the selection is completed.
     *
     * @event selectionComplete
     */
    selectionComplete: base.EmitType<CircularChart3DSelectionCompleteEventArgs>;
    /**
     * Triggers before each point for a series is rendered.
     *
     * @event pointRender
     */
    pointRender: base.EmitType<CircularChart3DPointRenderEventArgs>;
    /**
     * Triggers before a series is rendered.
     *
     * @event seriesRender
     */
    seriesRender: base.EmitType<CircularChart3DSeriesRenderEventArgs>;
    /**
     * Triggers before the data label for a series is rendered.
     *
     * @event textRender
     */
    textRender: base.EmitType<CircularChart3DTextRenderEventArgs>;
    /**
     * Triggers before the export starts.
     *
     * @event beforeExport
     */
    beforeExport: base.EmitType<CircularChart3DExportEventArgs>;
    /**
     * Triggers after the export is completed.
     *
     * @event afterExport
     */
    afterExport: base.EmitType<CircularChart3DAfterExportEventArgs>;
    /**
     * Triggers before printing starts.
     *
     * @event beforePrint
     */
    beforePrint: base.EmitType<CircularChart3DPrintEventArgs>;
    /**
     * The `circularChartDataLabel3DModule` is used to manipulate and add data labels in the circular 3D chart.
     */
    circularChartDataLabel3DModule: CircularChartDataLabel3D;
    /**
     * The `circularChartSelection3DModule` is used to manipulate and add selection in the circular 3D chart.
     */
    circularChartSelection3DModule: CircularChartSelection3D;
    /**
     * The `circularHighlight3DModule` is used to manipulate and add highlights to the circular 3D chart.
     */
    circularChartHighlight3DModule: CircularChartHighlight3D;
    /**
     * Triggered before resizing the chart.
     *
     * @event beforeResize
     */
    beforeResize: base.EmitType<CircularChart3DBeforeResizeEventArgs>;
    /**
     * Triggered after the chart is resized.
     *
     * @event resized
     */
    resized: base.EmitType<CircularChart3DResizeEventArgs>;
    /**
     * Triggered when the user hovers over a circular 3D chart.
     *
     * @event circularChart3DMouseMove
     *
     */
    circularChart3DMouseMove: base.EmitType<CircularChart3DMouseEventArgs>;
    /**
     * Triggered when the user clicks on a circular 3D chart.
     *
     * @event circularChart3DMouseClick
     *
     */
    circularChart3DMouseClick: base.EmitType<CircularChart3DMouseEventArgs>;
    /**
     * Triggered when the mouse is pressed down on a circular 3D chart.
     *
     * @event circularChart3DMouseDown
     *
     */
    circularChart3DMouseDown: base.EmitType<CircularChart3DMouseEventArgs>;
    /**
     * Triggered when the cursor leaves a circular 3D chart.
     *
     * @event circularChart3DMouseLeave
     *
     */
    circularChart3DMouseLeave: base.EmitType<CircularChart3DMouseEventArgs>;
    /**
     * Triggered when the mouse button is released on a circular 3D chart.
     *
     * @event circularChart3DMouseUp
     *
     */
    circularChart3DMouseUp: base.EmitType<CircularChart3DMouseEventArgs>;
    /**
     * Triggered when the user clicks on data points.
     *
     * @event pointClick
     */
    pointClick: base.EmitType<CircularChart3DPointEventArgs>;
    /**
     * Triggered when the user hovers over data points.
     *
     * @event pointMove
     */
    pointMove: base.EmitType<CircularChart3DPointEventArgs>;
    /**
     * Triggered when the tooltip is ready to render on the screen.
     *
     * @event tooltipRender
     */
    tooltipRender: base.EmitType<CircularChart3DTooltipRenderEventArgs>;
    /**
     * The `circularChartExport3DModule` Module is used to facilitate the export of the circular 3D chart.
     */
    circularChartExport3DModule: CircularChartExport3D;
    /**
     * The `circularChartTooltip3DModule` is used to manipulate and add tooltips in the circular 3D chart.
     */
    circularChartTooltip3DModule: CircularChartTooltip3D;
    /**
     * The `circularChartLegend3DModule` is used to manipulate and add legend in the circular 3D chart.
     */
    circularChartLegend3DModule: CircularChartLegend3D;
    /** @private */
    intl: base.Internationalization;
    /** @private */
    visibleSeries: CircularChart3DSeries[];
    /** @private */
    seriesCounts: number;
    /** @private */
    animateSeries: boolean;
    private chartId;
    /** @private */
    themeStyle: CircularChart3DThemeStyle;
    /** @private */
    redraw: boolean;
    /** @private */
    svgObject: Element;
    /** @private */
    renderer: svgBase.SvgRenderer;
    /** @private */
    availableSize: svgBase.Size;
    /** @private */
    explodeDistance: number;
    /** @private */
    initialClipRect: svgBase.Rect;
    private titleCollection;
    private subTitleCollection;
    /** @private */
    circularRadius: number[];
    /** @private */
    innerRadius: number[];
    /** @private */
    groupElement: Element;
    /** @private */
    titleLocation: CircularChart3DTitlePosition;
    /** @private */
    subTitleLocation: CircularChart3DTitlePosition;
    /** @private */
    circular3DPolygon: CircularChart3DPolygon[];
    /** @private */
    matrixObj: CircularChart3DMatrix;
    /** @private */
    bspTreeObj: CircularChart3DBinaryTreeBuilder;
    /** @private */
    polygon: CircularChart3DPolygonModule;
    /** @private */
    vector: CircularChart3DVectorModule;
    /** @private */
    graphics: CircularChart3DGraphics;
    /** @private */
    transform3D: CircularChart3DTransform;
    /** @private */
    svg3DRenderer: CircularChart3DSvgRenderer;
    /** @private */
    chartResizeBound: EventListenerOrEventListenerObject;
    /** @private */
    mouseX: number;
    /** @private */
    mouseY: number;
    private resizeTo;
    /** @private */
    isTouch: boolean;
    /** @private */
    rotateActivate: boolean;
    /** @private */
    previousCoords: {
        x: number;
        y: number;
    };
    /** @private */
    previousID: string;
    /** @private */
    cachedX: number;
    /** @private */
    cachedY: number;
    /** @private */
    previousTargetId: string;
    /** @private */
    currentPointIndex: number;
    /** @private */
    currentLegendIndex: number;
    /** @private */
    isLegendClicked: boolean;
    /** @private */
    delayRedraw: boolean;
    readonly type: string;
    /**
     * Constructor for creating the circular 3D chart widget.
     *
     * @private
     * @param {CircularChart3DModel} options - Specifies the instance of the circular 3D chart model.
     * @param {string | HTMLElement} element - Specifies the element for which the circular 3D chart will be rendered
     * @returns {void}
     */
    constructor(options?: CircularChart3DModel, element?: string | HTMLElement);
    /**
     * To create SVG object, renderer, and bind events for the container.
     *
     * @private
     * @returns {void}
     */
    protected preRender(): void;
    /**
     * Method to unbind events for the circular 3D chart.
     *
     * @returns {void}
     */
    private unWireEvents;
    /**
     * Handles the mouse click on the circular 3D chart.
     *
     * @param {PointerEvent} e - Mouse event arguments.
     * @returns {boolean} - Indicates whether the mouse click event was handled by the circular 3D chart.
     * @private
     */
    chartOnMouseClick(e: PointerEvent): boolean;
    /**
     * Triggers a point event for a circular 3D chart element.
     *
     * @param {string} event - The type of event to trigger.
     * @param {Element} element - The DOM element associated with the event.
     * @param {PointerEvent | TouchEvent | undefined} e - The pointer or touch event.
     * @returns {void}
     */
    private triggerPointEvent;
    /**
     * Handles the mouse move on the circular 3D chart.
     *
     * @param {PointerEvent} e - Mouse event arguments.
     * @returns {boolean} - Indicates whether the mouse move event was handled by the circular 3D chart.
     * @private
     */
    chartOnMouseMove(e: PointerEvent): boolean;
    /**
     * Displays a tooltip for the given event at the specified coordinates.
     *
     * @param {Event} event - The event triggering the tooltip display.
     * @param {number} x - The x-coordinate for the tooltip position.
     * @param {number} y - The y-coordinate for the tooltip position.
     * @param {boolean} isTouch - Optional parameter indicating whether the event is a touch event. Defaults to false if not provided.
     * @returns {void}
     */
    private titleTooltip;
    /**
     * Sets the mouse x and y coordinates based on the specified pointer event.
     *
     * @param {PointerEvent} e - Specifies the pointer event.
     * @returns {void}
     */
    private setMouseXY;
    /**
     * Method to bind events for the circular 3D chart.
     *
     * @returns {void}
     */
    private wireEvents;
    /**
     * Handles the mouse leave on circular 3D chart.
     *
     * @param {PointerEvent} e - Mouse event arguments.
     * @returns {boolean} - Indicates the mouse leave event for the circular 3D chart.
     * @private
     */
    chartMouseLeave(e: PointerEvent): boolean;
    /**
     * Handles the mouse end event for the circular 3D chart.
     *
     * @param {PointerEvent} e - Mouse event arguments.
     * @returns {boolean} - Indicates the mouse end event for the circular 3D chart.
     * @private
     */
    chartMouseUp(e: PointerEvent): boolean;
    /**
     * Handles the mouse start event on the circular 3D chart.
     *
     * @param {PointerEvent} e - Mouse event arguments.
     * @returns {boolean} - Indicates whether the mouse start event was handled by the circular 3D chart.
     * @private
     */
    chartMouseDown(e: PointerEvent): boolean;
    /**
     * Applies styles for the circular 3D chart element.
     *
     * @param {HTMLElement} element - Specifies the circular 3D chart element.
     * @returns {void}
     */
    private setStyle;
    /**
     * Method to set the culture for the circular 3D chart.
     *
     * @returns {void}
     */
    private setCulture;
    /**
     * Renders the circular 3D chart elements.
     *
     * @returns {void}
     * @private
     */
    protected render(): void;
    /**
     * Sets the theme for the circular 3D chart.
     *
     * @returns {void}
     */
    private setTheme;
    /**
     * Processes data from the data source to find points for rendering.
     *
     * @param {boolean} render - A boolean value indicating whether to trigger rendering after processing the data. Default is true.
     * @returns {void}
     */
    private processData;
    /**
     * Refreshes the circular 3D chart.
     *
     * @private
     * @returns {void}
     */
    refreshChart(): void;
    /**
     * Renders elements for the circular 3D chart.
     *
     * @private
     * @returns {void}
     */
    renderElements(): void;
    /**
     * Sets the tabindex attribute to '0' for the last element matching the selector pattern "[id*='region-series-0-point-0']".
     *
     * @returns {void}
     */
    private setSeriesTabIndex;
    /**
     * Processes the selection in the circular 3D chart.
     *
     * @returns {void}
     */
    private processSelection;
    /**
     * Performs a highlight animation on the specified HTML element with the given duration and starting opacity.
     *
     * @param {HTMLElement} element - The HTML element to animate.
     * @param {number} duration - The duration of the animation in milliseconds.
     * @param {number} startOpacity - The starting opacity value for the animation.
     * @returns {void}
     * @private
     */
    highlightAnimation(element: HTMLElement, duration: number, startOpacity: number): void;
    /**
     * Stops the animation for the specified HTML element in the circular 3D chart.
     *
     * @param {HTMLElement} element - The HTML element for which the animation should be stopped.
     * @returns {void}
     * @private
     */
    stopElementAnimation(element: HTMLElement): void;
    /**
     * Initiates and executes the animation for the circular 3D chart.
     * This method assumes the existence of visible series and focuses on the first series for animation.
     *
     * @returns {void}
     */
    private doAnimation;
    /**
     * Renders the legend for the circular 3D chart.
     *
     * @returns {void}
     */
    private renderLegend;
    /**
     * Initiates animation for the circular 3D series.
     *
     * @param {Element} slice - Specifies the slice element to animate.
     * @param {CircularChart3DSeries} series - Specifies the circular 3D chart series.
     * @returns {void}
     */
    private animationRect;
    /**
     * Gets the path arc direction for the circular 3D chart.
     *
     * @param {ChartLocation} center - Specifies the center of the series segment.
     * @param {number} start - Specifies the start angle in degrees.
     * @param {number} end  - Specifies the end angle in degrees.
     * @param {number} radius - Specifies the radius of the series.
     * @returns {string} - Path arc direction as an SVG path string.
     */
    private getPathArc;
    /**
     * Gets the SVG path string for a pie in the circular 3D chart.
     *
     * @param {ChartLocation} center - Specifies the center of the series segment.
     * @param {ChartLocation} start - Specifies the start angle in degrees.
     * @param {ChartLocation} end - Specifies the end angle in degrees.
     * @param {number} radius - Specifies the radius of the series.
     * @param {number} clockWise - Specifies the clockwise direction (0 for anti-clockwise, 1 for clockwise).
     * @returns {string} - SVG path string for the pie.
     */
    private getPiePath;
    /**
     * Renders the border for the circular 3D chart.
     *
     * @returns {void}
     */
    private renderBorder;
    /**
     * Creates the secondary element for tooltips and data labels.
     *
     * @returns {void}
     */
    private createSecondaryElement;
    /**
     * Renders the series for the circular 3D chart.
     *
     * @returns {void}
     */
    private renderSeries;
    /**
     * Sets the default label bounds for the specified circular 3D chart series based on its circular bounds.
     *
     * @param {CircularChart3DSeries} series - The CircularChart3DSeries for which to set the default label bounds.
     * @returns {void}
     */
    private defaultLabelBound;
    /**
     * Calculates and returns the bounding rectangle (svgBase.Rect) for the specified circular 3D chart series.
     *
     * @param {CircularChart3DSeries} series - The CircularChart3DSeries for which to calculate the bounding rectangle.
     * @returns {svgBase.Rect} - The calculated bounding rectangle for the series.
     */
    private getSeriesBound;
    /**
     * Computes and returns a rectangle (svgBase.Rect) based on the specified angle.
     *
     * @param {number} angle - The angle used to calculate the rectangle position.
     * @returns {svgBase.Rect} - The calculated rectangle representing the position.
     */
    private getRectFromAngle;
    /**
     * Renders the title for the circular 3D chart.
     *
     * @returns {void}
     */
    private renderTitle;
    /**
     * Gets the text anchor based on the specified alignment and RTL setting.
     *
     * @param {Alignment} alignment - The alignment of the text.
     * @param {boolean} enableRTL - A boolean indicating whether right-to-left (RTL) text is enabled.
     * @returns {string} - The text anchor value.
     */
    private getTextAnchor;
    /**
     * Renders the subtitle for the circular 3D chart.
     *
     * @param {TextOption} options - The text options for rendering the subtitle.
     * @returns {void}
     */
    private renderSubTitle;
    /**
     * Sets the left and top position for the data label and tooltip template for center-aligned chart.
     *
     * @private
     * @returns {void}
     */
    setSecondaryElementPosition(): void;
    /**
     * Creates an SVG element for the circular 3D chart.
     *
     * @returns {void}
     */
    private createPieSvg;
    /**
     * Removes the SVG from the circular 3D chart.
     *
     * @returns {void}
     * @private
     */
    removeSvg(): void;
    /**
     * Calculates and sets the visible series for the circular 3D chart.
     *
     * @returns {void}
     */
    private calculateVisibleSeries;
    /**
     * Method to calculate bounds for the circular 3D chart.
     *
     * @returns {void}
     * @private
     */
    calculateBounds(): void;
    private calculateLegendBounds;
    /**
     * Handles the print method for the circular 3D chart control.
     *
     * @param {string[] | string | Element} id - Specifies the element to print.
     * @returns {void}
     */
    print(id?: string[] | string | Element): void;
    /**
     * Export method for the circular 3D chart.
     *
     * @param {ExportType} type - Specifies the type of the image file (PNG, JPEG, SVG).
     * @param {string} fileName - Specifies the name of the exported image file.
     * @returns {void}
     */
    export(type: ExportType, fileName: string): void;
    /**
     * Export the chart on the page to a PDF document.
     *
     * @param {string} fileName - The name of the exported file.
     * @param {pdfExport.PdfPageOrientation} orientation - Page orientation (portrait or landscape).
     * @param {CircularChart3D[]} controls - Array of controls to be exported.
     * @param {number} width - The width of the exported chart.
     * @param {number} height - The height of the exported chart.
     * @param {boolean} isVertical - Export the chart vertically or horizontally.
     * @param {string} header - Text to appear at the top of the exported PDF document.
     * @param {string} footer - Text to appear at the bottom of the exported PDF document.
     * @param {boolean} exportToMultiplePage - Export the chart to multiple PDF pages.
     * @returns {void}
     */
    pdfExport(fileName: string, orientation?: pdfExport.PdfPageOrientation, controls?: (CircularChart3D)[], width?: number, height?: number, isVertical?: boolean, header?: IPDFArgs, footer?: IPDFArgs, exportToMultiplePage?: boolean): void;
    /**
     * Provides an array of modules needed for control rendering in the circular 3D chart.
     *
     * @returns {base.ModuleDeclaration[]} - An array of required modules.
     * @private
     */
    requiredModules(): base.ModuleDeclaration[];
    /**
     * Handles to set style for key event on the document.
     *
     * @param {target} target - element which currently focused.
     * @returns {void}
     * @private
     */
    private setNavigationStyle;
    /**
     * Handles to remove style for key event on the document.
     *
     * @returns {void}
     * @private
     */
    private removeNavigationStyle;
    /**
     * Handles the keyboard onkeydown event in the circular 3D chart.
     *
     * @param {KeyboardEvent} e - The keydown event arguments.
     * @returns {boolean} - Returns `false`.
     * @private
     */
    circular3DChartKeyDown(e: KeyboardEvent): boolean;
    /**
     * Handles keyboard navigation for the chart based on the provided KeyboardEvent, targetId, and actionKey.
     *
     * @param {KeyboardEvent} e - The keyboard event object.
     * @param {string} targetId - The ID of the target element related to the keyboard action.
     * @param {string} actionKey - The key representing the type of action (e.g., 'Tab', 'ArrowMove').
     * @returns {void}
     */
    private chartKeyboardNavigations;
    /**
     * Sets the tabindex attribute of the provided HTML element to '0'.
     *
     * @param {HTMLElement} element - The HTML element to be focused.
     * @returns {string} - The updated class attribute of the focused element.
     */
    private focusChild;
    /**
     * Handles the keyboard onkeyup event in the circular 3D chart.
     *
     * @param {KeyboardEvent} e - The keyup event arguments.
     * @returns {boolean} - Returns `false`.
     * @private
     */
    circular3DChartKeyUp(e: KeyboardEvent): boolean;
    /**
     * Calculates the actual index based on the specified index and total length.
     *
     * @param {number} index - The index to be adjusted.
     * @param {number} totalLength - The total length of the collection or array.
     * @returns {number} - The actual index after adjustment.
     */
    private getActualIndex;
    /**
     * Focuses the specified HTML element by setting its tabindex attribute to '0'.
     *
     * @param {HTMLElement} element - The HTML element to be focused.
     * @returns {string} - The updated class attribute of the focused element.
     */
    private focusTarget;
    /**
     * Sets the tabIndex property on the provided currentElement.
     *
     * @param {HTMLElement} previousElement - The previously focused HTML element.
     * @param {HTMLElement} currentElement - The currently focused HTML element.
     * @returns {void}
     */
    private setTabIndex;
    /**
     * Gets the properties to be maintained in the persisted state.
     *
     * @private
     * @returns {string} - A string representing the persisted data.
     */
    getPersistData(): string;
    /**
     * Gets the module name for the circular 3D chart.
     *
     *  @private
     * @returns {string} - The circular 3D chart module name.
     */
    getModuleName(): string;
    /**
     * Destroys the circular 3D chart instance.
     *
     * @private
     * @returns {void}
     */
    destroy(): void;
    /**
     * Handles the resize of the circular 3D chart.
     *
     * @returns {boolean} - Returns `true` to indicate the resize method of the circular 3D chart.
     * @private
     */
    chartResize(): boolean;
    /**
     * Retrieves the visible circular 3D chart series based on the specified index.
     *
     * @param {CircularChart3DSeries[]} visibleSeries - An array of visible circular 3D chart series.
     * @param {number} index - The index of the desired series.
     * @returns {CircularChart3DSeries} - The CircularChart3D series corresponding to the provided index.
     */
    private changeVisibleSeries;
    /**
     * Removes elements with IDs containing the substring "region-series-".
     *
     * @param {CircularChart3D} chart - The instance of the circular 3D chart.
     * @returns {void}
     * @private
     */
    removeSeriesElements(chart: CircularChart3D): void;
    /**
     * Called internally when any property value changes in the circular 3D chart.
     *
     * @private
     * @param {CircularChart3DModel} newProp - Specifies the new properties of the circular 3D chart.
     * @param {CircularChart3DModel} oldProp - Specifies the old properties of the circular 3D chart.
     */
    onPropertyChanged(newProp: CircularChart3DModel, oldProp: CircularChart3DModel): void;
}
//node_modules/@syncfusion/ej2-charts/src/circularchart3d/circularchart3d-model.d.ts
/**
 * Interface for a class CircularChart3D
 */
export interface CircularChart3DModel extends base.ComponentModel{
    /**
     * The width of the chart as a string, accepting input as both '100px' or '100%'
     * If specified as '100%', the chart renders to the full width of its parent element.
     *
     * @default null
     */
    width?: string;
    /**
     * The height of the chart as a string, accepting input as both '100px' or '100%'.
     * If specified as '100%', the chart renders to the full height of its parent element.
     *
     * @default null
     */
    height?: string;
    /**
     * Represents the title for the circular 3D chart.
     *
     * @default null
     */
    title?: string;
    /**
     * The background image of the chart, specified as a URL link or the location of an image.
     *
     * @default null
     */
    backgroundImage?: string;
    /**
     * Specifies the dataSource for the circular 3D chart. 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$: CircularChart3D = new CircularChart3D({
     * ...
     *     dataSource: dataManager,
     *     series: [{
     *        xName: 'Id',
     *        yName: 'Estimate',
     *        query: query
     *    }],
     * ...
     * });
     * pie.appendTo('#Pie');
     * ```
     *
     * @default ''
     */
    dataSource?: Object | data.DataManager;
    /**
     * Options for customizing the title of the circular 3D chart.
     */
    titleStyle?: FontModel;
    /**
     * Represents the subtitle for the circular 3D chart.
     *
     * @default null
     */
    subTitle?: string;
    /**
     * Options for customizing the subtitle of the circular 3D Chart.
     */
    subTitleStyle?: FontModel;
    /**
     * Specifies whether a point has to be selected or not.
     * Takes values: 'None' or 'Point'.
     * * None: Disables the selection.
     * * Point: Selects a point.
     *
     * @default None
     */
    selectionMode?: CircularChart3DSelectionMode;
    /**
     * Specifies whether a point has to be highlighted or not.
     * Takes values: 'None' or 'Point'.
     * * None: Disables the highlight.
     * * Point: Highlights a point.
     *
     * @default None
     */
    highlightMode?: CircularChart3DHighlightMode;
    /**
     * The configuration for series in circular 3D chart.
     * The `series` property allows you to define an array of circular 3D series, each with its own settings and data.
     */
    series?: CircularChart3DSeriesModel[];
    /**
     * Options for customizing the legend of the circular 3D chart.
     */
    legendSettings?: CircularChart3DLegendSettingsModel;
    /**
     * Defines the color for the highlighted data point.
     *
     * @default ''
     */
    highlightColor?: string;
    /**
     * Specifies the selection pattern for series or data points in the circular 3D chart. Options include:
     * * none: No specific selection pattern.
     * * chessboard: Chessboard pattern.
     * * dots: Dots pattern.
     * * diagonalForward: Diagonal forward pattern.
     * * crosshatch: Crosshatch pattern.
     * * pacman: Pacman pattern.
     * * diagonalbackward: Diagonal backward pattern.
     * * grid: Grid pattern.
     * * turquoise: Turquoise pattern.
     * * star: Star pattern.
     * * triangle: Triangle pattern.
     * * circle: Circle pattern.
     * * tile: Tile pattern.
     * * horizontaldash: Horizontal dash pattern.
     * * verticaldash: Vertical dash pattern.
     * * rectangle: Rectangle pattern.
     * * box: Box pattern.
     * * verticalstripe: Vertical stripe pattern.
     * * horizontalstripe: Horizontal stripe pattern.
     * * bubble: Bubble pattern.
     *
     * @default None
     */
    selectionPattern?: SelectionPattern;
    /**
     * Specifies the highlight pattern for series or data points in the circular 3D chart. Options include:
     * * none: No specific selection pattern.
     * * chessboard: Chessboard pattern.
     * * dots: Dots pattern.
     * * diagonalForward: Diagonal forward pattern.
     * * crosshatch: Crosshatch pattern.
     * * pacman: Pacman pattern.
     * * diagonalbackward: Diagonal backward pattern.
     * * grid: Grid pattern.
     * * turquoise: Turquoise pattern.
     * * star: Star pattern.
     * * triangle: Triangle pattern.
     * * circle: Circle pattern.
     * * tile: Tile pattern.
     * * horizontaldash: Horizontal dash pattern.
     * * verticaldash: Vertical dash pattern.
     * * rectangle: Rectangle pattern.
     * * box: Box pattern.
     * * verticalstripe: Vertical stripe pattern.
     * * horizontalstripe: Horizontal stripe pattern.
     * * bubble: Bubble pattern.
     *
     * @default None
     */
    highlightPattern?: SelectionPattern;
    /**
     * Enables or disables multi-selection in the circular 3D chart.
     * If set true, enables the multi selection in circular 3D chart. It requires `selectionMode` to be `Point`.
     *
     * @default false
     */
    isMultiSelect?: boolean;
    /**
     * If set true, enables the animation for circular 3D chart.
     *
     * @default true
     */
    enableAnimation?: boolean;
    /**
     * Specifies the theme for the circular 3D chart.
     *
     * @default 'Material'
     */
    theme?: CircularChart3DTheme;
    /**
     * Specifies the point indexes to be selected while loading a circular 3D chart.
     * It requires `selectionMode` to be `Point`.
     * ```html
     * <div id='Pie'></div>
     * ```
     * ```typescript
     * let pie$: CircularChart3D = new CircularChart3D({
     * ...
     *   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 the circular 3D chart.
     */
    margin?: MarginModel;
    /**
     * Options for customizing the color and width of the circular 3D chart border.
     */
    border?: BorderModel;
    /**
     * Options for customizing the tooltip of the circular 3D chart.
     */
    tooltip?: CircularChart3DTooltipSettingsModel;
    /**
     * The background color of the circular 3D chart, which accepts a value in hex, rgba as a valid CSS color string.
     *
     * @default null
     */
    background?: string;
    /**
     * Specifies whether a grouping separator should be used for numbers.
     *
     * @default false
     */
    useGroupingSeparator?: boolean;
    /**
     * Specifies the depth of the circular 3D chart.
     *
     * @default 50
     */
    depth?: number;
    /**
     * Defines the slope angle for the circular 3D chart.
     *
     * @default 0
     */
    tilt?: number;
    /**
     * Enables or disables rotation in the circular 3D chart.
     *
     * @default false
     */
    enableRotation?: boolean;
    /**
     * Defines the rotation angle for the circular 3D chart.
     *
     * @default 0
     */
    rotation?: number;
    /**
     * Enables or disables the export feature in the circular 3D chart.
     *
     * @default false
     */
    enableExport?: boolean;
    /**
     * Triggered before the circular 3D is loaded.
     *
     * @event load
     */
    load?: base.EmitType<CircularChart3DLoadedEventArgs>;
    /**
     * Triggers after the circular 3D chart is loaded.
     *
     * @event loaded
     */
    loaded?: base.EmitType<CircularChart3DLoadedEventArgs>;
    /**
     * Triggers before the legend is rendered.
     *
     * @event legendRender
     */
    legendRender?: base.EmitType<CircularChart3DLegendRenderEventArgs>;
    /**
     * Triggers after a legend is clicked.
     *
     * @event legendClick
     */
    legendClick?: base.EmitType<CircularChart3DLegendClickEventArgs>;
    /**
     * Triggers after the selection is completed.
     *
     * @event selectionComplete
     */
    selectionComplete?: base.EmitType<CircularChart3DSelectionCompleteEventArgs>;
    /**
     * Triggers before each point for a series is rendered.
     *
     * @event pointRender
     */
    pointRender?: base.EmitType<CircularChart3DPointRenderEventArgs>;
    /**
     * Triggers before a series is rendered.
     *
     * @event seriesRender
     */
    seriesRender?: base.EmitType<CircularChart3DSeriesRenderEventArgs>;
    /**
     * Triggers before the data label for a series is rendered.
     *
     * @event textRender
     */
    textRender?: base.EmitType<CircularChart3DTextRenderEventArgs>;
    /**
     * Triggers before the export starts.
     *
     * @event beforeExport
     */
    beforeExport?: base.EmitType<CircularChart3DExportEventArgs>;
    /**
     * Triggers after1 the export is completed.
     *
     * @event afterExport
     */
    afterExport?: base.EmitType<CircularChart3DAfterExportEventArgs>;
    /**
     * Triggers before printing starts.
     *
     * @event beforePrint
     */
    beforePrint?: base.EmitType<CircularChart3DPrintEventArgs>;
    /**
     * Triggered before resizing the chart.
     *
     * @event beforeResize
     */
    beforeResize?: base.EmitType<CircularChart3DBeforeResizeEventArgs>;
    /**
     * Triggered after the chart is resized.
     *
     * @event resized
     */
    resized?: base.EmitType<CircularChart3DResizeEventArgs>;
    /**
     * Triggered when the user hovers over a circular 3D chart.
     *
     * @event circularChart3DMouseMove
     *
     */
    circularChart3DMouseMove?: base.EmitType<CircularChart3DMouseEventArgs>;
    /**
     * Triggered when the user clicks on a circular 3D chart.
     *
     * @event circularChart3DMouseClick
     *
     */
    circularChart3DMouseClick?: base.EmitType<CircularChart3DMouseEventArgs>;
    /**
     * Triggered when the mouse is pressed down on a circular 3D chart.
     *
     * @event circularChart3DMouseDown
     *
     */
    circularChart3DMouseDown?: base.EmitType<CircularChart3DMouseEventArgs>;
    /**
     * Triggered when the cursor leaves a circular 3D chart.
     *
     * @event circularChart3DMouseLeave
     *
     */
    circularChart3DMouseLeave?: base.EmitType<CircularChart3DMouseEventArgs>;
    /**
     * Triggered when the mouse button is released on a circular 3D chart.
     *
     * @event circularChart3DMouseUp
     *
     */
    circularChart3DMouseUp?: base.EmitType<CircularChart3DMouseEventArgs>;
    /**
     * Triggered when the user clicks on data points.
     *
     * @event pointClick
     */
    pointClick?: base.EmitType<CircularChart3DPointEventArgs>;
    /**
     * Triggered when the user hovers over data points.
     *
     * @event pointMove
     */
    pointMove?: base.EmitType<CircularChart3DPointEventArgs>;
    /**
     * Triggered when the tooltip is ready to render on the screen.
     *
     * @event tooltipRender
     */
    tooltipRender?: base.EmitType<CircularChart3DTooltipRenderEventArgs>;
}
//node_modules/@syncfusion/ej2-charts/src/circularchart3d/user-interaction/tooltip.d.ts
/**
 * Circular 3D chart tooltip.
 */
/**
 * Represents data for a 3D point in a circular 3D series.
 *
 * @private
 */
export  class CircularChart3DPointData {
    /** Gets or sets the 3D point in the circular series. */
    point: CircularChart3DPoints;
    /** Gets or sets the circular series to which the point belongs. */
    series: CircularChart3DSeries;
    /** Gets or sets the index of the point in the series. Default is 0. */
    index: number;
    /**
     * Initializes a new instance of the CircularChart3DPointData class.
     *
     * @param {CircularChart3DPoints} point - The 3D point in the circular series.
     * @param {CircularChart3DSeries} series - The circular series to which the point belongs.
     * @param {number} index - The index of the point in the series. Default is 0.
     */
    constructor(point: CircularChart3DPoints, series: CircularChart3DSeries, index?: number);
}
/**
 * Represents the tooltip settings for a circular 3D chart.
 *
 */
export  class CircularChart3DTooltipSettings extends base.ChildProperty<CircularChart3DTooltipSettings> {
    /**
     * If set to true, enables the tooltip for the data points.
     *
     * @default false.
     */
    enable: boolean;
    /**
     * If set to true, enables the marker in the chart tooltip.
     *
     * @default true.
     */
    enableMarker: boolean;
    /**
     * The fill color of the tooltip, specified as a valid CSS color string in hex or rgba format.
     *
     * @default null
     */
    fill: string;
    /**
     * The header text for the tooltip. By default, it displays the series name.
     *
     * @default null
     */
    header: string;
    /**
     * The opacity of the tooltip, expressed as a numerical value.
     *
     * @default null
     */
    opacity: number;
    /**
     * Options for customizing the tooltip text appearance.
     */
    textStyle: FontModel;
    /**
     * The format for customizing the tooltip content.
     *
     * @default null.
     */
    format: string;
    /**
     * A custom template used to format the tooltip content. You can use ${x} and ${y} as placeholder text to display the corresponding data points.
     *
     * @default null.
     * @aspType string
     */
    template: string | Function;
    /**
     * If set to true, tooltip will animate while moving from one point to another.
     *
     * @default false.
     */
    enableAnimation: boolean;
    /**
     * Duration for the tooltip animation.
     *
     * @default 300
     */
    duration: number;
    /**
     * Duration of the fade-out animation for hiding the tooltip.
     *
     * @default 700
     */
    fadeOutDuration: number;
    /**
     * To wrap the tooltip long text based on available space.
     * This is only application for chart tooltip.
     *
     * @default false
     */
    enableTextWrap: boolean;
    /**
     * Options for customizing the tooltip borders.
     */
    border: BorderModel;
    /**
     * Specifies the location of the tooltip, relative to the chart.
     * If x is 20, tooltip moves by 20 pixels to the right of the chart
     * ```html
     * <div id='Chart'></div>
     * ```
     * ```typescript
     * let pie$: CircularChart3D = new CircularChart3D({
     * ...
     * tooltip: {
     * enable: true,
     * location: { x: 100, y: 150 },
     *   },
     * ...
     * });
     * pie.appendTo('#Chart');
     * ```
     */
    location: LocationModel;
}
/**
 * The `CircularChart3DTooltip` module is used to render tooltips for a circular 3D chart.
 */
export  class CircularChartTooltip3D extends base.ChildProperty<CircularChartTooltip3D> {
    /** @private */
    control: CircularChart3D;
    /** @private */
    template: string | Function;
    /** @private */
    element: HTMLElement;
    /** @private */
    formattedText: string[];
    /** @private */
    header: string;
    /** @private */
    currentPoints: CircularChart3DPointData[];
    /** @private */
    previousPoints: CircularChart3DPointData[];
    /** @private */
    tooltipInterval: number;
    /** @private */
    svgTooltip: svgBase.Tooltip;
    /** @private */
    isRemove: boolean;
    /** @private */
    text: string[];
    /** @private */
    headerText: string;
    /** @private */
    tooltipRendered: boolean;
    /**
     * Handles the mouse leave event for the circular 3D chart.
     *
     * @returns {void}
     */
    mouseLeaveHandler(): void;
    /**
     * Handles the mouse up event for the circular 3D chart.
     *
     * @param {PointerEvent | TouchEvent} event - The mouse or touch event.
     * @param {CircularChart3D} chart - The circular 3D chart instance.
     * @returns {void}
     */
    mouseUpHandler(event: PointerEvent | TouchEvent, chart: CircularChart3D): void;
    /**
     * Handles the mouse move event for the circular 3D chart.
     *
     * @param {PointerEvent | TouchEvent} event - The mouse or touch event.
     * @param {CircularChart3D} chart - The circular 3D chart instance.
     * @returns {void}
     */
    mouseMoveHandler(event: PointerEvent | TouchEvent, chart: CircularChart3D): void;
    /**
     * Displays the tooltip for the circular 3D pie chart on pointer events or touch events.
     *
     * @param  {PointerEvent} event - The event triggering the tooltip display (pointer event or touch event).
     * @returns {void}
     */
    private tooltip;
    /**
     * Gets the HTML element with the specified ID from the document.
     *
     * @param {string} id - The ID of the HTML element to retrieve.
     * @returns {HTMLElement} - The HTML element with the specified ID, or null if not found.
     */
    private getElement;
    /**
     * Gets the tooltip element based on the visibility of the tooltip.
     *
     * @param {boolean} isTooltip - A flag indicating whether the tooltip is currently visible.
     * @returns {HTMLDivElement} - The tooltip element is returned, or null if the tooltip is not visible.
     */
    private getTooltipElement;
    /**
     * Creates and returns an HTMLDivElement for the tooltip.
     *
     * @returns {HTMLDivElement} - The created HTMLDivElement for the tooltip.
     */
    private createElement;
    /**
     * Renders the tooltip for a circular 3D series based on the provided point data.
     *
     * @param {CircularChart3D} chart - The circular 3D chart instance.
     * @param {CircularChart3DPointData} data - The CircularChart3D point data for which the tooltip will be rendered.
     * @returns {void}
     * @private
     */
    renderSeriesTooltip(chart: CircularChart3D, data: CircularChart3DPointData): void;
    /**
     * Removes the tooltip with a specified duration.
     *
     * @param {number} duration - The duration for the tooltip removal animation.
     * @returns {void}
     * @private
     */
    removeTooltip(duration: number): void;
    /**
     * Stops the animation by clearing the tooltip interval.
     *
     * @returns {void}
     */
    private stopAnimation;
    /**
     * Pushes CircularChart3D point data to the currentPoints array and updates the tooltip div if tooltip are enabled for the series.
     *
     * @param {CircularChart3DPointData} data - The CircularChart3D point data to be pushed.
     * @param {HTMLDivElement} tooltipDiv - The tooltip div element to be updated if tooltip are enabled.
     * @returns {boolean} - A flag indicating whether the data was successfully pushed.
     */
    private pushData;
    /**
     * Triggers the rendering of a tooltip for a CircularChart3D point data.
     *
     * @param {CircularChart3DPointData} point - The CircularChart3D point data for which the tooltip will be rendered.
     * @param {boolean} isFirst - A flag indicating whether it is the first rendering of the tooltip.
     * @param {string} textCollection - The collection of text to be included in the tooltip.
     * @param {string} headerText - The header text for the tooltip.
     * @returns {void}
     */
    private triggerTooltipRender;
    /**
     * Gets the CircularChart3D point data associated with a pointer or touch event on the chart.
     *
     * @param {PointerEvent | TouchEvent} event - The pointer or touch event.
     * @param {CircularChart3D} chart - The circular 3D chart instance.
     * @returns {CircularChart3DPointData} - The CircularChart3D point data corresponding to the event.
     */
    private getPieData;
    /**
     * Gets the tooltip text for a circular 3D point data based on the specified tooltip settings.
     *
     * @param {CircularChart3DPointData} data - The circularChart3D point data for which the tooltip text will be generated.
     * @param {CircularChart3DTooltipSettingsModel} tooltip - The tooltip settings to determine the format of the text.
     * @returns {string} - The generated tooltip text.
     */
    private getTooltipText;
    /**
     * Finds the header for circular 3D point data.
     *
     * @param {CircularChart3DPointData} data - The circular 3D point data for which the header will be found.
     * @returns {string} - The found header string.
     */
    private findHeader;
    /**
     * Parses a template for a circular 3D chart.
     *
     * @param {CircularChart3DPoints} point - The circular 3D series point associated with the template.
     * @param {CircularChart3DSeries} series - The circular 3D series associated with the template.
     * @param {string} format - The format for parsing the template.
     * @returns {string} - The parsed template string.
     */
    private parseTemplate;
    /**
     * Creates a tooltip for a circularChart3D chart.
     *
     * @param {CircularChart3D} chart - The circular 3D chart instance.
     * @param {boolean} isFirst - A flag indicating whether it is the first tooltip.
     * @param {CircularChart3DLocation} location - The location where the tooltip will be positioned.
     * @param {CircularChart3DLocation} clipLocation - The clipping location for the tooltip.
     * @param {CircularChart3DPoints} point - The circular 3D point associated with the tooltip.
     * @param {number} offset - The offset for the tooltip.
     * @param {Rect} bounds - The bounds of the tooltip.
     * @param {CircularChart3DPointData[]} extraPoints - An array of additional CircularChart3DPointData for the tooltip.
     * @param {CircularChart3DPoints | CircularChart3DPoints[]} templatePoint - The template point or points for the tooltip.
     * @param {string | Function} customTemplate - A custom template for the tooltip, specified as a string or a function.
     * @returns {void}
     */
    private createTooltip;
    /**
     * Highlights multiple points in a circular 3D chart series.
     * This method iterates through a collection of points (assuming they are represented by 'i') and applies the highlight effect to each point.
     *
     * @returns {void}
     */
    private highlightPoints;
    /**
     * Removes the highlight from a previously highlighted point in a circular 3D chart series.
     *
     * @returns {void}
     */
    private removeHighlight;
    /**
     * Highlights or un highlights a specific point in a circular 3D chart series.
     *
     * @param {CircularChart3DSeries} series - The circular 3D series to which the point belongs.
     * @param {number} pointIndex - The index of the point to be highlighted or un highlighted.
     * @param {boolean} highlight - A flag indicating whether to highlight (true) or un highlight (false) the point.
     * @returns {void}
     */
    private highlightPoint;
    /**
     * Fades out the tooltip associated with the provided CircularChart3DPointData.
     *
     * @returns {void}
     */
    private fadeOut;
    /**
     * Updates the previous point with additional CircularChart3DPointData.
     *
     * @param {CircularChart3DPointData} extraPoints - An array of additional CircularChart3DPointData to update the previous point.
     * @returns {void}
     */
    private updatePreviousPoint;
    /**
     * Finds and returns an array of colors from the current points.
     *
     * @returns {string[]} - An array of color strings.
     */
    private findPalette;
    /**
     * Gets the module name for the circular 3D tooltip.
     *
     * @returns {string} - The module name.
     */
    protected getModuleName(): string;
    /**
     * Destroys the circular 3D tooltip module.
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-charts/src/circularchart3d/user-interaction/tooltip-model.d.ts
/**
 * Interface for a class CircularChart3DPointData
 * @private
 */
export interface CircularChart3DPointDataModel {
}
/**
 * Interface for a class CircularChart3DTooltipSettings
 */
export interface CircularChart3DTooltipSettingsModel {
    /**
     * If set to true, enables the tooltip for the data points.
     *
     * @default false.
     */
    enable?: boolean;
    /**
     * If set to true, enables the marker in the chart tooltip.
     *
     * @default true.
     */
    enableMarker?: boolean;
    /**
     * The fill color of the tooltip, specified as a valid CSS color string in hex or rgba format.
     *
     * @default null
     */
    fill?: string;
    /**
     * The header text for the tooltip. By default, it displays the series name.
     *
     * @default null
     */
    header?: string;
    /**
     * The opacity of the tooltip, expressed as a numerical value.
     *
     * @default null
     */
    opacity?: number;
    /**
     * Options for customizing the tooltip text appearance.
     */
    textStyle?: FontModel;
    /**
     * The format for customizing the tooltip content.
     *
     * @default null.
     */
    format?: string;
    /**
     * A custom template used to format the tooltip content. You can use ${x} and ${y} as placeholder text to display the corresponding data points.
     *
     * @default null.
     * @aspType string
     */
    template?: string | Function;
    /**
     * If set to true, tooltip will animate while moving from one point to another.
     *
     * @default false.
     */
    enableAnimation?: boolean;
    /**
     * Duration for the tooltip animation.
     *
     * @default 300
     */
    duration?: number;
    /**
     * Duration of the fade-out animation for hiding the tooltip.
     *
     * @default 700
     */
    fadeOutDuration?: number;
    /**
     * To wrap the tooltip long text based on available space.
     * This is only application for chart tooltip.
     *
     * @default false
     */
    enableTextWrap?: boolean;
    /**
     * Options for customizing the tooltip borders.
     */
    border?: BorderModel;
    /**
     * Specifies the location of the tooltip, relative to the chart.
     * If x is 20, tooltip moves by 20 pixels to the right of the chart
     * ```html
     * <div id='Chart'></div>
     * ```
     * ```typescript
     * let pie$: CircularChart3D = new CircularChart3D({
     * ...
     * tooltip: {
     * enable: true,
     * location: { x: 100, y: 150 },
     *   },
     * ...
     * });
     * pie.appendTo('#Chart');
     * ```
     */
    location?: LocationModel;
}
/**
 * Interface for a class CircularChartTooltip3D
 */
export interface CircularChartTooltip3DModel {
}
//node_modules/@syncfusion/ej2-charts/src/circularchart3d/user-interaction/selection.d.ts
/**
 * The `CircularChart3DSelection` module handles the selection for circular 3D chart.
 */
export  class CircularChartSelection3D extends BaseSelection {
    /** @private */
    renderer: svgBase.SvgRenderer | svgBase.CanvasRenderer;
    /** @private */
    rectPoints: svgBase.Rect;
    /** @private */
    selectedDataIndexes: Indexes[];
    /** @private */
    highlightDataIndexes: Indexes[];
    /** @private */
    series: CircularChart3DSeries[];
    /** @private */
    circular3D: CircularChart3D;
    /** @private */
    currentMode: CircularChart3DSelectionMode | CircularChart3DHighlightMode;
    /** @private */
    previousSelectedElement: Element[];
    constructor(circular3D: CircularChart3D);
    /**
     * Binding events for selection module.
     *
     * @returns {void}
     */
    private addEventListener;
    /**
     * Unbinding events for selection module.
     *
     * @returns {void}
     */
    private removeEventListener;
    /**
     * Initializes the private variables for selection and deselection.
     *
     * @param {CircularChart3D} circular3D - The instance of the circular 3D chart.
     * @returns {void}
     */
    private initPrivateVariables;
    /**
     * Invoke selection by creating selection style for rendered chart.
     *
     * @param {CircularChart3D} circular3D - The instance of the circular 3D chart.
     * @returns {void}
     */
    invokeSelection(circular3D: CircularChart3D): void;
    /**
     * To get the series selection style class name based on the series and point index.
     *
     * @param {CircularChart3DSeriesModel} series - Specifies the series model.
     * @param {number} point - Specifies the point index.
     * @returns {string} - Returns the style class name.
     */
    private generateStyle;
    /**
     * Gets series point elements based on the specified series and point index.
     *
     * @param {Index} index - Specifies the index of the series.
     * @returns {Element[]} - Returns the array of elements.
     */
    getElementByIndex(index: Index): Element[];
    /**
     * Checks whether the specified element is already selected based on the given event type and optional index.
     *
     * @param {Element} targetElement - The target element to be checked for selection status.
     * @param {string} eventType - The type of event triggering the selection check (e.g., 'mouse move').
     * @param {Index} [index] - The index to narrow down the selection check for elements with multiple occurrences.
     * @returns {boolean} - Returns true if the element is already selected;
 otherwise, returns false.
     * @private
     */
    isAlreadySelected(targetElement: Element, eventType: string, index?: Index): boolean;
    /**
     * Handles mouse click events on the specified circular 3D instance instance.
     *
     * @param {CircularChart3D} circular3D - The circular 3D instance where the mouse click event occurred.
     * @param {Event} event - The mouse click event triggering the action.
     * @returns {void}
     */
    mouseClick(circular3D: CircularChart3D, event: Event): void;
    /**
     * Calculates and processes selected elements based on the specified circular 3D chart instance, target element, and event type.
     *
     * @param {CircularChart3D} circular3D - The circular 3D chart instance to be used in the selection calculation.
     * @param {Element} targetElement - The target element involved in the selection calculation.
     * @param {string} eventType - The type of event triggering the selection calculation (e.g., 'click').
     * @returns {void}
     */
    calculateSelectedElements(circular3D: CircularChart3D, targetElement: Element, eventType: string): void;
    /**
     * Finds and returns the index associated with the specified identifier.
     *
     * @param {string} id - The identifier used to find the associated index.
     * @returns {Index} - The index associated with the specified identifier.
     * @private
     */
    indexFinder(id: string): Index;
    /**
     * Performs the selection based on the specified index, circular 3D instance, and optional element.
     *
     * @param {Index} index - The index used for selection, including the point information.
     * @param {CircularChart3D} circular3D - The circular 3D instance used for the selection operation.
     * @param {Element | undefined} [element] - The target element for selection.
     * @returns {void}
     * @private
     */
    private performSelection;
    /**
     * Handles the completion of the selection process in the specified circular 3D chart instance and Circular3DSeries.
     *
     * @param {CircularChart3D} circular3D - The circular 3D chart instance where the selection is completed.
     * @param {CircularChart3DSeries} series - The Circular3DSeries associated with the completed selection.
     * @returns {void}
     * @private
     */
    private selectionComplete;
    /**
     * Handles the selection process in the specified circular 3D instance based on the provided index and selected elements.
     *
     * @param {CircularChart3D} circular3D - The circular 3D chart instance where the selection is being performed.
     * @param {Index} index - The index used for selection, including point information.
     * @param {Element[]} selectedElements - The array of elements that have been selected.
     * @returns {void}
     * @private
     */
    private selection;
    /**
     * Redraws the selection in the specified circular 3D chart instance based on the selected data indexes.
     *
     * @param {CircularChart3D} circular3D - The circular 3D chart  instance where the selection is to be redrawn.
     * @returns {void}
     */
    redrawSelection(circular3D: CircularChart3D): void;
    /**
     * Removes the selected elements from the specified circular 3D chart instance based on the given indexes.
     *
     * @param {CircularChart3D} circular3D - The circular 3D instance from which selected elements will be removed.
     * @param {Index[]} indexes - The indexes representing the selected elements to be removed.
     * @returns {void}
     * @private
     */
    private removeSelectedElements;
    /**
     * Handles legend item selection in the specified circular 3D chart based on the target element and event type.
     *
     * @param {CircularChart3D} chart - The circular 3D chart instance where legend item selection is being processed.
     * @param {Element} targetElement - The target element associated with the legend item.
     * @param {string} eventType - The type of event triggering the legend item selection (e.g., 'mouse move').
     * @returns {void}
     */
    legendSelection(chart: CircularChart3D, targetElement: Element, eventType: string): void;
    /**
     * Selects elements based on the specified data indexes in the given circular 3D chart instance.
     *
     * @param {Index[]} indexes - The data indexes used for element selection.
     * @param {CircularChart3D} circular3D - The circular 3D instance where elements are to be selected.
     * @returns {void}
     * @private
     */
    private selectDataIndex;
    /**
     * Removes selection styles for elements in a multi-selection process based on the specified data indexes and current index.
     *
     * @param {CircularChart3D} circular3D - The circular 3D chart instance from which selection styles will be removed.
     * @param {Index[]} index - The data indexes representing the elements to remove selection styles from.
     * @param {Index} currentIndex - The current index used as a reference during the multi-selection process.
     * @returns {void}
     * @private
     */
    private removeMultiSelectElements;
    /**
     * Applies the opacity effect to circular 3D chart series elements based on the specified pieId and visible series.
     *
     * @param {string} pieId - The identifier associated with the circular 3D chart series.
     * @param {CircularChart3DSeries[]} visibleSeries - The array of visible series in the circular 3D chart.
     * @returns {void}
     * @private
     */
    private blurEffect;
    /**
     * Checks for selection elements based on the specified style class name, visibility, and other parameters.
     *
     * @param {Element[] | Element} element - The element or array of elements to be checked for selection.
     * @param {string} className - The style class name used for identifying selection elements.
     * @param {boolean} visibility - The visibility status of the selection elements.
     * @param {number} [point=0] - The point value associated with the selection elements.
     * @returns {void}
     * @public
     */
    checkSelectionElements(element: Element[] | Element, className: string, visibility: boolean, point?: number): void;
    /**
     * Applies selection style to the specified elements based on the provided data index.
     *
     * @param {Element[]} elements - The array of elements to which the selection style will be applied.
     * @param {Index} index - The data index used for selection.
     * @returns {void}
     * @private
     */
    private applyStyles;
    /**
     * Retrieves the selection style class name based on the specified element ID.
     *
     * @param {string} id - The identifier used to determine the series and point for generating the selection style.
     * @returns {string} - The selection style class name.
     * @private
     */
    private getSelectionClass;
    /**
     * Handles the removal of selection style class from the selected point in the circular 3D chart.
     *
     * @param {CircularChart3D} chart - The 3D chart instance where the selection needs to be removed.
     * @param {number} series - The index of the series for which the selection is being removed.
     * @param {NodeListOf<HTMLElement>} selectedElements - The HTML elements representing the selected items.
     * @param {string} seriesStyle - The style to be applied to the series after the removal of selection.
     * @param {boolean} isBlurEffectNeeded - A flag indicating whether a blur effect is needed after the removal of selection.
     * @param {Index} index - The index representing the specific data point for which selection is being removed (optional).
     * @returns {void}
     */
    removeSelection(chart: CircularChart3D, series: number, selectedElements: NodeListOf<HTMLElement>, seriesStyle: string, isBlurEffectNeeded: boolean, index?: Index): void;
    /**
     * Removes styles associated with the selection from the selected elements.
     *
     *
     * @param {Element[]} elements - An array of chart elements from which selection styles should be removed.
     * @returns {void}
     */
    removeStyles(elements: Element[]): void;
    /**
     * Adds or removes the specified index from the provided array of indexes based on the 'add' parameter.
     *
     * @param {Index[]} indexes - The array of indexes where the specified index will be added or removed.
     * @param {Index} index - The index to be added or removed.
     * @param {boolean} [add=true] - Indicates whether to add or remove the index. Defaults to true (add).
     * @returns {void}
     * @private
     */
    private addOrRemoveIndex;
    /**
     * Checks if two indexes are equal in terms of their point and series values.
     *
     * @param {Index} first - The first index to be compared.
     * @param {Index} second - The second index to be compared.
     * @returns {boolean} - Returns true if the indexes are equal;
 otherwise, returns false.
     * @private
     */
    private checkEquals;
    /**
     * Handles the mouse move event in the context of the circular 3D chart.
     *
     * @param {PointerEvent | TouchEvent} event - The pointer or touch event triggering the mouse move action.
     * @returns {void}
     * @public
     */
    mouseMove(event: PointerEvent | TouchEvent): void;
    /**
     * Removes the highlighted legend and respective points when the legend is not focused.
     *
     * @returns {void}
     * @private
     */
    removeLegendHighlightStyles(): void;
    /**
     * Gets the module name for circular 3D chart selection.
     *
     * @returns {string} - The module name.
     * @public
     */
    getModuleName(): string;
    /**
     * Destroys the `CircularChartSelection3D` module.
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-charts/src/circularchart3d/user-interaction/high-light.d.ts
/**
 * The `CircularChart3DHighlight` module handles highlighting for the Circular 3D chart.
 *
 * @private
 */
export  class CircularChartHighlight3D extends CircularChartSelection3D {
    /**
     * Constructor for the highlight module.
     *
     * @param {CircularChart3D} circular3D - The instance of the circular 3D chart.
     * @private.
     */
    constructor(circular3D: CircularChart3D);
    /**
     * Binds events for the highlight module.
     *
     * @returns {void}
     */
    private wireEvents;
    /**
     * Unbinds events for the highlight module.
     *
     * @returns {void}
     */
    private unWireEvents;
    /**
     * Initializes private variables for highlight and deselection.
     *
     * @param {CircularChart3D} circular3D - The instance of the circular 3D chart.
     * @returns {void}
     */
    private PrivateVariables;
    /**
     * Invokes the highlight style to highlight the point and series in the circular 3D chart.
     *
     * @param {CircularChart3D} circular3D - The instance of the circular 3D chart.
     * @returns {void}
     */
    invokeHighlight(circular3D: CircularChart3D): void;
    /**
     * Gets the module name for the circular 3D highlight module.
     *
     * @returns {string} - The module name.
     * @private
     */
    getModuleName(): string;
    /**
     * Destroys the `CircularChart3DHighlight` module.
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-charts/src/circularchart3d/renderer/series.d.ts
/**
 * Circular 3D chart series.
 */
/**
 * Model representing data points for the circular 3D series.
 *
 * @public
 */
export  class CircularChart3DPoints {
    /** Circular 3D point x value. */
    x: Object;
    /** Circular 3D point y value. */
    y: number;
    /**Circular 3D point visibility. */
    visible: boolean;
    /** Circular 3D point text. */
    text: string;
    /** Circular 3D point tooltip. */
    tooltip: string;
    /** accumulation point slice radius. */
    sliceRadius: string;
    /** Circular 3D point slice radius. */
    radius: number;
    /** Circular 3D point original text.
     *
     *  @private
     */
    originalText: string;
    /** Circular 3D point color. */
    color: string;
    /** Circular 3D point percentage value. */
    percentage: number;
    /** Circular 3D point index. */
    index: number;
    /** @private */
    isExplode: boolean;
    /** @private */
    start: number;
    /** @private */
    separatorY: string;
    /** @private  */
    textSize: svgBase.Size;
    /** @private */
    legendImageUrl: string;
    /** @private */
    symbolLocation: CircularChart3DSymbolLocation;
    /** @private */
    startDepth: number;
    /** @private  */
    argsData: CircularChart3DTextRenderEventArgs;
}
/**
 * Configures settings for empty points in the circular 3D series.
 */
export  class CircularChart3DEmptyPointSettings extends base.ChildProperty<CircularChart3DEmptyPointSettings> {
    /**
     * Customize the fill color of empty points.
     *
     * @default null
     */
    fill: string;
    /**
     * Customize the mode of empty points.
     *
     * @default Gap
     */
    mode: EmptyPointMode;
}
/**
 *  Configures the series in a circular 3D chart.
 */
export  class CircularChart3DSeries extends base.ChildProperty<CircularChart3DSeries> {
    /**
     * 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$: CircularChart3D = new CircularChart3D({
     * ...
     *     series: [{
     *        dataSource: dataManager,
     *        xName: 'Id',
     *        yName: 'Estimate',
     *        query: query
     *    }],
     * ...
     * });
     * pie.appendTo('#Pie');
     * ```
     *
     * @default ''
     */
    dataSource: Object | data.DataManager;
    /**
     * Specifies the query to select data from the dataSource. This property is applicable only when the dataSource is `ej.data.DataManager`.
     *
     * @default null
     */
    query: data.Query;
    /**
     * The DataSource field that contains the x value
     *
     * @default ''
     */
    xName: string;
    /**
     * The name of the series as displayed in the legend.
     *
     * @default ''
     */
    name: string;
    /**
     * The data source field that contains the tooltip value.
     *
     * @default ''
     */
    tooltipMappingName: string;
    /**
     * The DataSource field that contains the y value.
     *
     * @default ''
     */
    yName: string;
    /**
     * Specifies the visibility of the series.
     *
     * @default true
     */
    visible: boolean;
    /**
     * Options for customizing the animation of the series.
     */
    animation: AnimationModel;
    /**
     * The shape of the legend. Each series has its own legend shape. Available shapes:
     * * Circle - Renders a circle.
     * * Rectangle - Renders a rectangle.
     * * Triangle - Renders a triangle.
     * * Diamond - Renders a diamond.
     * * Cross - Renders a cross.
     * * HorizontalLine - Renders a horizontal line.
     * * VerticalLine - Renders a vertical line.
     * * Pentagon - Renders a pentagon.
     * * InvertedTriangle - Renders an inverted triangle.
     * * SeriesType -Render a legend shape based on series type.
     * * Image - Render an image. *
     *
     * @default 'SeriesType'
     */
    legendShape: LegendShape;
    /**
     * The URL for the image that is to be displayed as a legend icon. It requires `legendShape` value to be an `Image`.
     *
     * @default ''
     */
    legendImageUrl: string;
    /**
     * The DataSource field that contains the point colors.
     *
     * @default ''
     */
    pointColorMapping: string;
    /**
     * The data label settings for the circular 3D series.
     */
    dataLabel: CircularChart3DDataLabelSettingsModel;
    /**
     * Palette configuration for the points in the circular 3D series.
     *
     * @default []
     */
    palettes: string[];
    /**
     * Specifies the radius of the pie series in percentage. Set to `null` for default.
     *
     * @default null
     */
    radius: string;
    /**
     * When the innerRadius value is greater than 0 percentage, a donut will appear in the pie series. It takes values only in percentage.
     *
     * @default '0'
     */
    innerRadius: string;
    /**
     * Specifies whether the tooltip is enabled or disabled for the circular 3D 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. Set to `null` for no explosion.
     *
     * @default null
     */
    explodeIndex: number;
    /**
     * Options to customize the appearance of empty points in the circular 3D series.
     */
    emptyPointSettings: CircularChart3DEmptyPointSettingsModel;
    /**
     * The opacity of the series.
     *
     * @default 1.
     */
    opacity: number;
    /**
     * Calculates the maximum bounds of the data label to facilitate smart legend placement.
     *
     * @private
     */
    labelBound: svgBase.Rect;
    /** @private */
    points: CircularChart3DPoints[];
    /** @private */
    dataModule: Data;
    /** @private */
    sumOfPoints: number;
    /** @private */
    index: number;
    /** @private */
    resultData: Object;
    /** @private */
    isRectSeries: boolean;
    /** @private */
    clipRect: svgBase.Rect;
    /** @private */
    category: string;
    /** @private */
    rightSidePoints: CircularChart3DPoints[];
    /** @private */
    leftSidePoints: CircularChart3DPoints[];
    /** @private */
    size: number;
    /** @private */
    isRadiusMapped: boolean;
    /** @private */
    coefficient: number;
    /** @private */
    actualWidth: number;
    /** @private */
    actualHeight: number;
    /** @private */
    segments: CircularChart3DSegments[];
    /** @private */
    isExploded: boolean;
    /** @private */
    dataLabelElement: HTMLElement;
    /**
     * Refreshes the data.DataManager for the circular 3D series.
     *
     * @private
     * @param {CircularChart3D} chart - The instance of the circular 3D chart.
     * @param {boolean} render - A boolean value indicating whether rendering is required.
     * @returns {void}
     */
    refreshDataManager(chart: CircularChart3D, render: boolean): void;
    /**
     * Handles the success event when the data.DataManager fetches data for the circular 3D series.
     *
     * @private
     * @param {Object} dataObject - Specifies the series data object.
     * @param {Object} dataObject.result - The actual data.
     * @param {number} dataObject.count - The count of data.
     * @param {CircularChart3D} chart - The instance of the circular 3D chart.
     * @param {boolean} [render=true] - A boolean value indicating whether rendering is required. Default is true.
     * @returns {void}
     */
    dataManagerSuccess(dataObject: {
        result: Object;
        count: number;
    }, chart: CircularChart3D, render?: boolean): void;
    /**
     * Retrieves and processes data points for rendering on a circular 3D chart.
     *
     * @param {Object} result - An object containing the data points for the chart.
     * @param {CircularChart3D}chart - The instance of the circular 3D chart.
     * @returns {void}
     */
    private getPoints;
    /**
     * Sets point index and color for a circular 3D data point.
     *
     * @param {CircularChart3DPoints} point - The CircularChart3DPoints object representing the data point.
     * @param {string[]} colors - An array specifying the point colors.
     * @param {CircularChart3D} chart - The instance of the circular 3D chart.
     * @returns {void}
     */
    private pushPoints;
    /**
     * Calculates the sum of points in the circular 3D series.
     *
     * @param {Object} result - The result object containing data points.
     * @returns {void}
     */
    private findSumOfPoints;
    /**
     * Sets x, y, and text points from the specified data source.
     *
     * @param {Object} data - The data source containing information for the point.
     * @param {number} index - The index specifying the position in the data array.
     * @param {CircularChart3D} chart - Specifies the circular 3D chart instance.
     * @returns {CircularChart3DPoints} - Returns the CircularChart3DPoints object representing the data point.
     */
    private setPoints;
    /**
     * Draws the circular 3D series on the chart.
     *
     * @param {CircularChart3DSeries} series - The series to be drawn.
     * @param {CircularChart3D} chart - The circular 3D chart instance.
     * @returns {void}
     * @private
     */
    draw(series: CircularChart3DSeries, chart: CircularChart3D): void;
    /**
     * Calculates the size of the series based on the chart settings.
     *
     * @param {CircularChart3D} chart - The circular 3D chart instance.
     * @param {CircularChart3DSeries} series - The series for which to calculate the size.
     * @returns {{ centerX: number, centerY: number }} - The calculated center coordinates.
     */
    private calculateSize;
    /**
     * Creates polygons for a 3D circular chart series.
     *
     * @param {CircularChart3DSeries} series - The CircularChart3D series for which to create polygons.
     * @param {CircularChart3D} chart - The circular 3D chart instance.
     * @returns {CircularChart3DPolygon[][]} - The array of created polygons.
     */
    private createPolygons;
    /**
     * Creates sectors for a circular 3D chart based on the specified parameters.
     *
     * @param {CircularChart3DSegments} segment - The CircularChart3DSegments instance defining the segment.
     * @param {CircularChart3D} chart - The circular 3D chart instance.
     * @param {CircularChart3DSeriesStyle} style - The CircularChart3DSeriesStyle defining the style of the sectors.
     * @param {number} seriesIndex - The index of the series to which the sectors belong.
     * @returns {CircularChart3DPolygon[][]} - An array of CircularChart3DPolygon arrays representing the created sectors.
     */
    private createSector;
    /**
     * Creates CircularChart3DSegments based on the provided CircularChart3D series and circular 3D chart.
     *
     * @param {CircularChart3DSeries} series - The circular 3D series for which to generate points.
     * @param {CircularChart3D} chart - The circular 3D chart instance.
     * @returns {CircularChart3DSegments[]} - An array of CircularChart3DSegments created for the series.
     */
    private createPoints;
    /**
     * Adds a data label to a circular 3D chart at the specified position and orientation.
     *
     * @param {number} x - The x-coordinate of the data label position.
     * @param {number} y - The y-coordinate of the data label position.
     * @param {number} startAngle - The starting angle of the pie slice in degrees.
     * @param {number} endAngle - The ending angle of the pie slice in degrees.
     * @param {number} radius - The radius of the pie slice.
     * @param {number} startDepth - The depth at which the pie slice starts in the 3D space.
     * @param {CircularChart3DVector} center - The center point of the pie chart in 3D space.
     * @param {CircularChart3DPoints} point - The specific data point associated with the data label.
     * @returns {void}
     */
    private addPieDataLabel;
    /**
     * Checks if the circular 3D chart is rotated.
     *
     * @param {CircularChart3D} chart - The circular 3D chart instance.
     * @returns {boolean} - A boolean indicating whether the chart is rotated.
     */
    private isChartRotated;
    /**
     * Creates a segment based on the provided parameters.
     *
     * @param {CircularChart3DVector} center - The center point of the segment.
     * @param {number} start - The starting angle of the segment in radians.
     * @param {number} end - The ending angle of the segment in radians.
     * @param {number} height - The height of the segment.
     * @param {number} radius - The radial distance from the center to the segment.
     * @param {number} index - The index value of the segment.
     * @param {number} yValue - The y value associated with the segment.
     * @param {number} insideRadius - The inside radius of the segment.
     * @param {number} pointIndex - The index of the point associated with the segment.
     * @param {CircularChart3DSeries} series - The CircularChart3DSeries to which the segment belongs.
     * @param {string} accessibilityText - The accessibility text of the segment.
     * @returns {CircularChart3DSegments} - The created segment.
     */
    private createSegment;
    /**
     * Creates a new Vector3D instance from provided coordinates.
     *
     * @param {number | { x: number, y: number }} vx - Either an object with x and y properties or the x-coordinate.
     * @param {number} vy - The y-coordinate.
     * @param {number} vz - The z-coordinate.
     * @returns {CircularChart3DVector} - The new Vector3D instance.
     */
    private vector;
    /**
     * Gets the `Y` values from an array of circular 3D series points.
     *
     * @param {CircularChart3DPoints[]} points - An array of CircularChart3DPoints.
     * @returns {number[]} - An array containing the Y values extracted from the CircularChart3DPoints.
     */
    private getYValues;
    /**
     * Updates the total bounds to encompass the maximum area covered by the specified bound and the current total bounds.
     *
     * @param {svgBase.Rect} totalBound - The current total bounds to be updated.
     * @param {svgBase.Rect} bound - The new bound to compare and update the total bounds.
     * @returns {void}
     * @private
     */
    findMaxBounds(totalBound: svgBase.Rect, bound: svgBase.Rect): void;
    /**
     * Sets the empty point value for null points in the circular 3D chart series.
     *
     * @param {CircularChart3DPoints} point - The data point to be checked and modified.
     * @param {number} index - The index of the data point.
     * @param {Object} data - The data object containing information about the data point.
     * @param {CircularChart3D} chart - The circular 3D chart instance.
     * @returns {void}
     */
    private setEmptyPoint;
}
/**
 * The `PieSeries3D` module is used to render circular 3D `Pie` and `Donut` series.
 */
export  class PieSeries3D extends CircularChart3DSeries {
    /**
     * To get the module name of the circular 3D chart pie series.
     *
     * @returns {string} - Returns the module name of the Pie series.
     */
    protected getModuleName(): string;
    /**
     * Destroys the circular 3D chart series.
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-charts/src/circularchart3d/renderer/series-model.d.ts
/**
 * Interface for a class CircularChart3DPoints
 */
export interface CircularChart3DPointsModel {
}
/**
 * Interface for a class CircularChart3DEmptyPointSettings
 */
export interface CircularChart3DEmptyPointSettingsModel {
    /**
     * Customize the fill color of empty points.
     *
     * @default null
     */
    fill?: string;
    /**
     * Customize the mode of empty points.
     *
     * @default Gap
     */
    mode?: EmptyPointMode;
}
/**
 * Interface for a class CircularChart3DSeries
 */
export interface CircularChart3DSeriesModel {
    /**
     * 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$: CircularChart3D = new CircularChart3D({
     * ...
     *     series: [{
     *        dataSource: dataManager,
     *        xName: 'Id',
     *        yName: 'Estimate',
     *        query: query
     *    }],
     * ...
     * });
     * pie.appendTo('#Pie');
     * ```
     *
     * @default ''
     */
    dataSource?: Object | data.DataManager;
    /**
     * Specifies the query to select data from the dataSource. This property is applicable only when the dataSource is `ej.data.DataManager`.
     *
     * @default null
     */
    query?: data.Query;
    /**
     * The DataSource field that contains the x value
     *
     * @default ''
     */
    xName?: string;
    /**
     * The name of the series as displayed in the legend.
     *
     * @default ''
     */
    name?: string;
    /**
     * The data source field that contains the tooltip value.
     *
     * @default ''
     */
    tooltipMappingName?: string;
    /**
     * The DataSource field that contains the y value.
     *
     * @default ''
     */
    yName?: string;
    /**
     * Specifies the visibility of the series.
     *
     * @default true
     */
    visible?: boolean;
    /**
     * Options for customizing the animation of the series.
     */
    animation?: AnimationModel;
    /**
     * The shape of the legend. Each series has its own legend shape. Available shapes:
     * * Circle - Renders a circle.
     * * Rectangle - Renders a rectangle.
     * * Triangle - Renders a triangle.
     * * Diamond - Renders a diamond.
     * * Cross - Renders a cross.
     * * HorizontalLine - Renders a horizontal line.
     * * VerticalLine - Renders a vertical line.
     * * Pentagon - Renders a pentagon.
     * * InvertedTriangle - Renders an inverted triangle.
     * * SeriesType -Render a legend shape based on series type.
     * * Image - Render an image. *
     *
     * @default 'SeriesType'
     */
    legendShape?: LegendShape;
    /**
     * The URL for the image that is to be displayed as a legend icon. It requires `legendShape` value to be an `Image`.
     *
     * @default ''
     */
    legendImageUrl?: string;
    /**
     * The DataSource field that contains the point colors.
     *
     * @default ''
     */
    pointColorMapping?: string;
    /**
     * The data label settings for the circular 3D series.
     */
    dataLabel?: CircularChart3DDataLabelSettingsModel;
    /**
     * Palette configuration for the points in the circular 3D series.
     *
     * @default []
     */
    palettes?: string[];
    /**
     * Specifies the radius of the pie series in percentage. Set to `null` for default.
     *
     * @default null
     */
    radius?: string;
    /**
     * When the innerRadius value is greater than 0 percentage, a donut will appear in the pie series. It takes values only in percentage.
     *
     * @default '0'
     */
    innerRadius?: string;
    /**
     * Specifies whether the tooltip is enabled or disabled for the circular 3D 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. Set to `null` for no explosion.
     *
     * @default null
     */
    explodeIndex?: number;
    /**
     * Options to customize the appearance of empty points in the circular 3D series.
     */
    emptyPointSettings?: CircularChart3DEmptyPointSettingsModel;
    /**
     * The opacity of the series.
     *
     * @default 1.
     */
    opacity?: number;
}
/**
 * Interface for a class PieSeries3D
 */
export interface PieSeries3DModel {
}
//node_modules/@syncfusion/ej2-charts/src/circularchart3d/renderer/dataLabel.d.ts
/**
 * Circular 3D chart data label.
 */
/**
 * Configures the fonts in the circular 3D data label.
 */
export  class CircularChart3DDataLabelFont extends base.ChildProperty<CircularChart3DDataLabelFont> {
    /**
     * Specifies the font style for the text.
     *
     * @default 'Normal'
     */
    fontStyle: string;
    /**
     * Specifies the font size for the text.
     *
     * @default '16px'
     */
    size: string;
    /**
     * Specifies the font weight for the text.
     *
     * @default 'Normal'
     */
    fontWeight: string;
    /**
     * Specifies the color for the text.
     *
     * @default ''
     */
    color: string;
    /**
     * Specifies the font family for the text.
     */
    fontFamily: string;
    /**
     * Specifies the opacity for the text.
     *
     * @default 1
     */
    opacity: number;
}
/**
 * Defines the appearance of the connector line for the circular 3D chart.
 */
export  class CircularChart3DConnector extends base.ChildProperty<CircularChart3DConnector> {
    /**
     * Specifies the color of the connector line.
     *
     * @default null
     */
    color: string;
    /**
     * Specifies the width of the connector line in pixels.
     *
     * @default 1
     */
    width: number;
    /**
     * Specifies the length of the connector line in pixels.
     *
     * @default null
     */
    length: string;
    /**
     * Specifies the dash array pattern for the connector line.
     *
     * @default ''
     */
    dashArray: string;
}
/**
 * Configures the data label settings for circular 3D chart.
 */
export  class CircularChart3DDataLabelSettings extends base.ChildProperty<CircularChart3DDataLabelSettings> {
    /**
     * 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: CircularChart3DLabelPosition;
    /**
     * Specifies angle for data label.
     *
     * @default 0
     */
    angle: number;
    /**
     * Specifies whether rotation is enabled for data labels.
     *
     * @default false
     */
    enableRotation: boolean;
    /**
     * Options for customizing the border lines.
     */
    border: BorderModel;
    /**
     * Options for customizing the data label text.
     */
    font: CircularChart3DDataLabelFontModel;
    /**
     * Options for customize the connector line in series.
     */
    connectorStyle: CircularChart3DConnectorModel;
    /**
     * 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
     * @aspType string
     */
    template: string | Function;
    /**
     * Used to format the data label that accepts any global string format like 'C', 'n1', 'P' etc.
     * It also accepts placeholder like '{value}°C' in which value represent the data label, e.g, 20°C.
     *
     * @default ''
     */
    format: string;
}
/**
 * The 'CircularChartDataLabel3D' module used to render dataLabel in circular 3D charts.
 */
export  class CircularChartDataLabel3D extends base.ChildProperty<CircularChartDataLabel3D> {
    /**
     * Renders data labels for a circular 3D series on the given chart.
     *
     * @param {CircularChart3DSeries} series - The circular 3D series for which data labels are to be rendered.
     * @param {CircularChart3D} chart - The circular 3D chart instance.
     * @returns {void}
     * @private
     */
    renderDataLabel(series: CircularChart3DSeries, chart: CircularChart3D): void;
    /**
     * Creates a data label template for a specific data point in a 3D series.
     *
     * @param {HTMLElement} parentElement - The parent HTML element to which the data label template is attached.
     * @param {CircularChart3DSeries} series - The 3D series to which the data point belongs.
     * @param {CircularChart3DDataLabelSettingsModel} dataLabel - The style settings for data labels.
     * @param {CircularChart3DPoints} point - The data point for which the data label template is created.
     * @param {CircularChart3DTextRenderEventArgs} data - The text render event arguments.
     * @param {number} labelIndex - The index of the data label.
     * @param {boolean} redraw - Indicates whether the template should be redrawn.
     * @param {CircularChart3DLocation} location - The location values for the data label.
     * @param {CircularChart3D} chart - The circular 3D chart instance.
     * @returns {void}
     * @private
     */
    createDataLabelTemplate(parentElement: HTMLElement, series: CircularChart3DSeries, dataLabel: CircularChart3DDataLabelSettingsModel, point: CircularChart3DPoints, data: CircularChart3DTextRenderEventArgs, labelIndex: number, redraw: boolean, location: CircularChart3DLocation, chart: CircularChart3D): void;
    /**
     * Calculates the size of a data label template for a specific data point in a 3D series.
     *
     * @param {HTMLElement} parentElement - The parent HTML element containing the data label template.
     * @param {HTMLElement} childElement - The child HTML element representing the data label template.
     * @param {CircularChart3DPoints} point - The data point for which the data label template size is calculated.
     * @param {CircularChart3DSeries} series - The circular 3D series to which the data point belongs.
     * @param {CircularChart3DDataLabelSettingsModel} dataLabel - The style for data labels.
     * @param {boolean} redraw - Indicates whether the template should be redrawn.
     * @param {CircularChart3DLocation} location - The location values for the data label.
     * @param {boolean} isReactCallback - Indicates whether the callback is associated with React.
     * @returns {void}
     */
    private calculateTemplateLabelSize;
    /**
     * Creates a template element for rendering data labels associated with a specific data point in a 3D series.
     *
     * @param {HTMLElement} childElement - The child HTML element to contain the template content.
     * @param {string | Function} content - The content or function for the data label template.
     * @param {CircularChart3D} chart - The circular 3D chart instance.
     * @param {CircularChart3DPoints} point - The data point for which the template is created (optional).
     * @param {CircularChart3DSeries} series - The 3D series to which the data point belongs (optional).
     * @param {string} dataLabelId - The ID for the data label element (optional).
     * @returns {HTMLElement} - The created template element.
     */
    private createTemplate;
    /**
     * Draws a 3D data label for a circular 3D series.
     * This method is responsible for drawing a 3D data label for a circular 3D series.
     *
     * @param {CircularChart3DSeries} series - The CircularChart3DSeries to which the data label belongs.
     * @param {number} pointIndex - The index of the data label point in the series.
     * @param  {CircularChart3DPoints} point - The CircularChart3DPoints representing the 3D point of the data label.
     * @param {CircularChart3D} chart - The circular 3D chart instance.
     * @returns {void}
     */
    private draw3DDataLabel;
    /**
     * To find saturated color for datalabel.
     *
     * @param {CircularChart3DPoints} point - The point to get the color saturation.
     * @param {string} color - The color to be saturated.
     * @param {CircularChart3D} chart - The circular 3D chart instance.
     * @returns {string} - The saturated color computed for the data label.
     */
    private getSaturatedColor;
    /**
     * To find background color for the datalabel.
     *
     * @param {CircularChart3DPoints} point - The point to get the color saturation.
     * @param {CircularChart3D} chart - The circular 3D chart instance.
     * @returns {string} - The background color computed for the data label.
     */
    private getLabelBackground;
    /**
     * Gets the data label text based on a specified format, chart configuration, and input label text.
     *
     * @param {string} labelFormat - The format string for the data label.
     * @param {CircularChart3D} chart - The Circular 3D chart instance.
     * @param {string} labelText - The original label text to be formatted.
     * @returns {string} - The formatted data label text.
     */
    private getDatalabelText;
    /**
     * Updates the connector line for a 3D point in a circular 3D series.
     *
     * @param {CircularChart3DPoints} point - The CircularChart3DPoints representing the 3D point.
     * @param {number} pointIndex - The index of the point in the series.
     * @param {CircularChart3DSeries} series - The instance of the circular 3D series.
     * @param {number} connectorHeight - The height of the connector line.
     * @param {CircularChart3D} chart - The circular 3D chart instance.
     * @returns {void}
     */
    private updateConnectorLine;
    /**
     * Draws a line segment based on the provided points in 3D space for the circular 3D series.
     *
     * @param {CircularChart3DLocation[]} drawpoints - An array of CircularChart3DLocation representing the points in 3D space.
     * @param {number} pointIndex - The index of the point in the series.
     * @param {CircularChart3DSeries} series - The instance of the circular 3D series to which the point belongs.
     * @param {CircularChart3D} chart - The circular 3D chart instance.
     * @returns {void}
     */
    private drawLineSegment;
    /**
     * Gets the module name for the circular 3D data label.
     *
     * @returns {string} - The module name, which is 'CircularChartDataLabel3D'.
     */
    protected getModuleName(): string;
    /**
     * Destroys the circular 3D chart data label.
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-charts/src/circularchart3d/renderer/dataLabel-model.d.ts
/**
 * Interface for a class CircularChart3DDataLabelFont
 */
export interface CircularChart3DDataLabelFontModel {
    /**
     * Specifies the font style for the text.
     *
     * @default 'Normal'
     */
    fontStyle?: string;
    /**
     * Specifies the font size for the text.
     *
     * @default '16px'
     */
    size?: string;
    /**
     * Specifies the font weight for the text.
     *
     * @default 'Normal'
     */
    fontWeight?: string;
    /**
     * Specifies the color for the text.
     *
     * @default ''
     */
    color?: string;
    /**
     * Specifies the font family for the text.
     */
    fontFamily?: string;
    /**
     * Specifies the opacity for the text.
     *
     * @default 1
     */
    opacity?: number;
}
/**
 * Interface for a class CircularChart3DConnector
 */
export interface CircularChart3DConnectorModel {
    /**
     * Specifies the color of the connector line.
     *
     * @default null
     */
    color?: string;
    /**
     * Specifies the width of the connector line in pixels.
     *
     * @default 1
     */
    width?: number;
    /**
     * Specifies the length of the connector line in pixels.
     *
     * @default null
     */
    length?: string;
    /**
     * Specifies the dash array pattern for the connector line.
     *
     * @default ''
     */
    dashArray?: string;
}
/**
 * Interface for a class CircularChart3DDataLabelSettings
 */
export interface CircularChart3DDataLabelSettingsModel {
    /**
     * 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?: CircularChart3DLabelPosition;
    /**
     * Specifies angle for data label.
     *
     * @default 0
     */
    angle?: number;
    /**
     * Specifies whether rotation is enabled for data labels.
     *
     * @default false
     */
    enableRotation?: boolean;
    /**
     * Options for customizing the border lines.
     */
    border?: BorderModel;
    /**
     * Options for customizing the data label text.
     */
    font?: CircularChart3DDataLabelFontModel;
    /**
     * Options for customize the connector line in series.
     */
    connectorStyle?: CircularChart3DConnectorModel;
    /**
     * 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
     * @aspType string
     */
    template?: string | Function;
    /**
     * Used to format the data label that accepts any global string format like 'C', 'n1', 'P' etc.
     * It also accepts placeholder like '{value}°C' in which value represent the data label, e.g, 20°C.
     *
     * @default ''
     */
    format?: string;
}
/**
 * Interface for a class CircularChartDataLabel3D
 */
export interface CircularChartDataLabel3DModel {
}
//node_modules/@syncfusion/ej2-charts/src/circularchart3d/renderer/3d-renderer.d.ts
/**
 * Represents a 3D rendering configuration for the EJ 3D rendering engine.
 *
 */
export  class CircularChart3DRender {
    transform: CircularChart3DBasicTransform;
    tree: CircularChart3DBspNode[];
}
/**
 * Represents a node in a Binary Space Partitioning (BSP) tree.
 *
 * @interface
 */
interface CircularChart3DBspNode {
    /** The front subtree of the BSP tree. */
    front: CircularChart3DBspNode;
    /** The back subtree of the BSP tree. */
    back: CircularChart3DBspNode;
    /** The splitting plane associated with the node. */
    plane: CircularChart3DPolygon;
}
/**
 * Represents a circular 3D vector in space.
 */
export  class CircularChart3DVectorModule {
    /** The x-coordinate of the vector. */
    x: number;
    /** The y-coordinate of the vector. */
    y: number;
    /** The z-coordinate of the vector. */
    z: number;
    /** A small value used for epsilon comparisons to handle floating-point inaccuracies.*/
    private epsilon;
    /**
     * Checks if a vector is valid (not NaN for any component).
     *
     * @param {CircularChart3DVector} point - The vector to check.
     * @returns {boolean} - True if the vector is valid, false otherwise.
     */
    isValid(point: CircularChart3DVector): boolean;
    /**
     * Constructs a new Vector3D instance.
     *
     * @constructor
     * @param {number | { x: number, y: number }} pointX - Either an object with x and y properties or the x-coordinate.
     * @param {number} [vy] - The y-coordinate (if the first parameter is a number).
     * @param {number} [vz] - The z-coordinate (if the first parameter is a number).
     */
    constructor(pointX: {
        x: number;
        y: number;
    } | number, vy?: number, vz?: number);
    /**
     * Creates a new Vector3D instance from provided coordinates.
     *
     * @param {number | { x: number, y: number }} vx - Either an object with x and y properties or the x-coordinate.
     * @param {number} vy - The y-coordinate.
     * @param {number} vz - The z-coordinate.
     * @returns {CircularChart3DVector} - The new Vector3D instance.
     */
    vector3D(vx: {
        x: number;
        y: number;
    } | number, vy: number, vz: number): CircularChart3DVector;
    /**
     * Subtracts one vector from another and returns the result.
     *
     * @param {CircularChart3DVector} v1 - The first vector.
     * @param {CircularChart3DVector} v2 - The second vector to subtract from the first.
     * @returns {CircularChart3DVector} - The resulting vector.
     */
    vector3DMinus(v1: CircularChart3DVector, v2: CircularChart3DVector): CircularChart3DVector;
    /**
     * Adds two vectors and returns the result.
     *
     * @param {CircularChart3DVector} v1 - The first vector.
     * @param {CircularChart3DVector} v2 - The second vector to add to the first.
     * @returns {CircularChart3DVector} - The resulting vector.
     */
    vector3DPlus(v1: CircularChart3DVector, v2: CircularChart3DVector): CircularChart3DVector;
    /**
     * Multiplies two vectors using the cross product and returns the result.
     *
     * @param {CircularChart3DVector} v1 - The first vector.
     * @param {CircularChart3DVector} v2 - The second vector.
     * @returns {CircularChart3DVector} - The resulting vector.
     */
    vector3DMultiply(v1: CircularChart3DVector, v2: CircularChart3DVector): CircularChart3DVector;
    /**
     * Calculates the dot product of two vectors.
     *
     * @param {CircularChart3DVector} v1 - The first vector.
     * @param {CircularChart3DVector} v2 - The second vector.
     * @returns {number} - The dot product.
     */
    vector3DAdd(v1: CircularChart3DVector, v2: CircularChart3DVector): number;
    /**
     * Multiplies a vector by a scalar value.
     *
     * @param {CircularChart3DVector} v1 - The vector to multiply.
     * @param {number} value - The scalar value.
     * @returns {CircularChart3DVector} - The resulting vector.
     */
    vector3DStarMultiply(v1: CircularChart3DVector, value: number): CircularChart3DVector;
    /**
     * Calculates the length of a vector.
     *
     * @param {CircularChart3DVector} vector - The vector to calculate the length of.
     * @returns {number} - The length of the vector.
     */
    getLength(vector: CircularChart3DVector): number;
    /**
     * Calculates the normal vector of a triangle defined by three vectors.
     *
     * @param {CircularChart3DVector} v1 - The first vertex of the triangle.
     * @param {CircularChart3DVector} v2 - The second vertex of the triangle.
     * @param {CircularChart3DVector} v3 - The third vertex of the triangle.
     * @returns {CircularChart3DVector} - The normal vector of the triangle.
     */
    getNormal(v1: CircularChart3DVector, v2: CircularChart3DVector, v3: CircularChart3DVector): CircularChart3DVector;
}
/**
 * Represents a 3x3 or 4x4 matrix in 3D space and provides various matrix operations.
 *
 */
export  class CircularChart3DMatrix {
    /** The size of the matrix, which is set to 4 by default. */
    private matrixSize;
    /**
     * Generates a 3D matrix of the specified size.
     *
     * @param {number} size - The size of the 3D matrix.
     * @returns {number[][]} - The generated 3D matrix.
     * @private
     */
    matrix3D(size: number): number[][];
    /**
     * Checks if a matrix is an affine matrix.
     *
     * @param {number[][]} matrixData - The matrix to check.
     * @returns {boolean} - True if the matrix is an affine matrix, false otherwise.
     */
    isAffine(matrixData: number[][]): boolean;
    /**
     * Creates a new array with zeros.
     *
     * @param {number} initialSize - The size of the array.
     * @returns {number[]} - The created array.
     */
    createArray(initialSize: number): number[];
    /**
     * Gets the identity matrix.
     *
     * @returns {number[][]} - The identity matrix.
     */
    getIdentity(): number[][];
    /**
     * Gets the interval of a matrix.
     *
     * @param {number[][]} matrix - The matrix to get the interval for.
     * @returns {number[][]} - The interval matrix.
     */
    getInterval(matrix: number[][]): number[][];
    /**
     * Multiplies all elements of a matrix by a factor.
     *
     * @param {number} factor - The factor to multiply with.
     * @param {number[][]} matrix - The matrix to multiply.
     * @returns {number[][]} - The resulting matrix.
     */
    getMatrixMultiple(factor: number, matrix: number[][]): number[][];
    /**
     * Multiplies a matrix by a vector.
     *
     * @param {number[][]} matrix - The matrix.
     * @param {CircularChart3DVector} point - The vector to multiply with.
     * @returns {CircularChart3DVector} - The resulting vector.
     */
    getMatrixVectorMultiple(matrix: number[][], point: CircularChart3DVector): CircularChart3DVector;
    /**
     * Multiplies two matrices.
     *
     * @param {number[][]} matrix1 - The first matrix.
     * @param {number[][]} matrix2 - The second matrix.
     * @returns {number[][]} - The resulting matrix.
     */
    getMatrixMultiplication(matrix1: number[][], matrix2: number[][]): number[][];
    /**
     * Gets the minor of a matrix.
     *
     * @param {number[][]} matrix - The matrix.
     * @param {number} columnIndex - The column index.
     * @param {number} rowIndex - The row index.
     * @returns {number} - The minor of the matrix.
     * @private
     */
    getMinor(matrix: number[][], columnIndex: number, rowIndex: number): number;
    /**
     * Gets a submatrix of a matrix.
     *
     * @param {number[][]} matrix - The matrix.
     * @param {number} columnIndex - The column index.
     * @param {number} rowIndex - The row index.
     * @returns {number[][]} - The submatrix.
     */
    getMatrix(matrix: number[][], columnIndex: number, rowIndex: number): number[][];
    /**
     * Gets the determinant of a matrix.
     *
     * @param {number[][]} matrix - The matrix.
     * @returns {number} - The determinant of the matrix.
     */
    getDeterminant(matrix: number[][]): number;
    /**
     * Transforms a matrix by translation.
     *
     * @param {number} x - The x-coordinate of the translation.
     * @param {number} y - The y-coordinate of the translation.
     * @param {number} z - The z-coordinate of the translation.
     * @returns {number[][]} - The transformed matrix.
     */
    transform(x: number, y: number, z: number): number[][];
    /**
     * Creates a matrix for rotation around the y-axis.
     *
     * @param {number} angle - The angle of rotation.
     * @returns {number[][]} - The rotation matrix.
     * @private
     */
    turn(angle: number): number[][];
    /**
     * Creates a matrix for rotation around the x-axis.
     *
     * @param {number} angle - The angle of rotation.
     * @returns {number[][]} - The rotation matrix.
     */
    tilt(angle: number): number[][];
    /**
     * Transposes a matrix.
     *
     * @param {number[][]} matrix3D - The matrix to transpose.
     * @returns {number[][]} - The transposed matrix.
     */
    transposed(matrix3D: number[][]): number[][];
}
/**
 * Represents a 3D chart transformation utility that provides methods for transforming
 * and projecting 3D coordinates onto a 2D screen.
 *
 */
export  class CircularChart3DTransform {
    /** Represents the angle conversion factor from degrees to radians. */
    private toRadial;
    /** Represents a 3D vector for performing vector operations. */
    private vector;
    /** Represents a 3D matrix for performing matrix operations. */
    private matrixObj;
    /**
     * Initializes a new instance of the `ChartTransform` class.
     */
    constructor();
    /**
     * Creates a 3D transformation based on the specified size.
     *
     * @param {svgBase.Size} size - The size of the viewing area.
     * @returns {CircularChart3DBasicTransform} - The 3D transformation.
     */
    transform3D(size: svgBase.Size): CircularChart3DBasicTransform;
    /**
     * Applies the specified 3D transformation to the current state.
     *
     * @param {CircularChart3DBasicTransform} transform - The 3D transformation to apply.
     * @returns {void} - The 3D transformation.
     */
    transform(transform: CircularChart3DBasicTransform): void;
    /**
     * Updates the perspective matrix based on the specified angle.
     *
     * @param {number} angle - The perspective angle.
     * @param {CircularChart3DBasicTransform} transform - The 3D transformation.
     * @returns {void}
     */
    private updatePerspective;
    /**
     * Converts degrees to radians.
     *
     * @param {number} angle - The angle in degrees.
     * @returns {number} - The angle in radians.
     * @private
     */
    private degreeToRadianConverter;
    /**
     * Transforms a 3D vector to screen coordinates based on the current state.
     *
     * @param {CircularChart3DVector} vector3D - The 3D vector to transform.
     * @param {CircularChart3DBasicTransform} transform - The 3D transformation.
     * @param {CircularChart3DMatrix} chartObj - Optional custom matrix object for transformation.
     * @returns {CircularChart3DLocation} - The screen coordinates.
     */
    toScreen(vector3D: CircularChart3DVector, transform: CircularChart3DBasicTransform, chartObj?: CircularChart3DMatrix): CircularChart3DLocation;
    /**
     * Sets the view matrix in the transformation state.
     *
     * @param {number[][]} matrix - The new view matrix.
     * @param {CircularChart3DBasicTransform} transform - The 3D transformation.
     * @returns {void}
     */
    private setViewMatrix;
    /**
     * Calculates the final result matrix based on the current state.
     *
     * @param {CircularChart3DBasicTransform} transform - The 3D transformation.
     * @param {CircularChart3DMatrix} matrixobj - Optional custom matrix object for transformation.
     * @returns {number[][]} - The final result matrix.
     */
    result(transform: CircularChart3DBasicTransform, matrixobj?: CircularChart3DMatrix): number[][];
    /**
     * Sets the center in the transformation state.
     *
     * @param {CircularChart3DVector} center - The new center vector.
     * @param {CircularChart3DBasicTransform} transform - The 3D transformation.
     * @returns {void}
     */
    private setCenter;
}
/**
 * Represents a 3D graphics rendering utility for drawing and managing 3D elements in a chart.
 *
 */
export  class CircularChart3DGraphics {
    /** The vector class. */
    private vector;
    /**
     * Prepares the view for rendering based on specified parameters.
     *
     * @param {number} perspectiveAngle - The perspective angle.
     * @param {number} depth - The depth of the view.
     * @param {number} rotation - The rotation angle.
     * @param {number} tilt - The tilt angle.
     * @param {svgBase.Size} size - The size of the viewing area.
     * @param {CircularChart3D} chart - The instance of the circular 3D chart.
     * @returns {void}
     */
    prepareView(perspectiveAngle: number, depth: number, rotation: number, tilt: number, size: svgBase.Size, chart: CircularChart3D): void;
    /**
     * Renders the 3D view on the specified panel element.
     *
     * @param {Element} panel - The panel element to render the view on.
     * @param {CircularChart3D} chart - The instance of the circular 3D chart.
     * @param {number} rotation - The rotation angle.
     * @param {number} tilt - The tilt angle.
     * @param {svgBase.Size} size - The size of the viewing area.
     * @param {number} perspectiveAngle - The perspective angle.
     * @param {number} depth - The depth of the view.
     * @returns {void}
     */
    view(panel?: Element, chart?: CircularChart3D, rotation?: number, tilt?: number, size?: svgBase.Size, perspectiveAngle?: number, depth?: number): void;
    /**
     * Draws a 3D element based on the specified Binary Space Partitioning Node.
     *
     * @param {CircularChart3DBspNode} bspElement - The Binary Space Partitioning Node representing the 3D element.
     * @param {CircularChart3D} chart - The instance of the circular 3D chart.
     * @returns {void}
     */
    draw3DElement(bspElement: CircularChart3DBspNode, chart: CircularChart3D): void;
    /**
     * Draws the 3D nodes starting from the root based on the eye vector.
     *
     * @param {CircularChart3DBspNode} bspElement - The root Binary Space Partitioning Node.
     * @param {CircularChart3DVector} eyeVector - The eye vector.
     * @param {Element} panel - The panel element to render the view on.
     * @param {CircularChart3D} chart - The instance of the circular 3D chart.
     * @returns {void}
     */
    drawNode3D(bspElement: CircularChart3DBspNode, eyeVector: CircularChart3DVector, panel: Element, chart: CircularChart3D): void;
}
/**
 * Represents a binary tree builder for 3D polygons in a circular 3D chart.
 *
 */
export  class CircularChart3DBinaryTreeBuilder {
    /** A small value used for epsilon comparisons to handle floating-point inaccuracies.*/
    private epsilon;
    /** The circular 3D chart. */
    private chart;
    constructor(chart?: CircularChart3D);
    /**
     * Gets the next index considering the array length and the current index.
     *
     * @param {number} index - The current index.
     * @param {number} count - The length of the array.
     * @returns {number} - The next index.
     */
    getNext(index: number, count: number): number;
    /**
     * Creates a PolyAttributes object based on the vector, index, and result.
     *
     * @param {CircularChart3DVector} point - The vector representing the point.
     * @param {number} index - The index of the point.
     * @param {string} result - The result classification.
     * @returns {CircularChart3DPolyAttributes} - The created PolyAttributes object.
     */
    vector3DIndexClassification(point: CircularChart3DVector, index: number, result: string): CircularChart3DPolyAttributes;
    /**
     * Classifies a point relative to a polygon.
     *
     * @param {CircularChart3DVector} point - The point to classify.
     * @param {CircularChart3DPolygon} polygon - The polygon for classification.
     * @returns {string} - The classification result ('OnPlane', 'OnBack', 'OnFront').
     */
    classifyPoint(point: CircularChart3DVector, polygon: CircularChart3DPolygon): string;
    /**
     * Classifies a polygon relative to another polygon.
     *
     * @param {CircularChart3DPolygon} refPolygon - The reference polygon.
     * @param {CircularChart3DPolygon} classPolygon - The polygon to classify.
     * @returns {string} - The classification result ('OnPlane', 'ToRight', 'ToLeft', 'Unknown').
     */
    classifyPolygon(refPolygon: CircularChart3DPolygon, classPolygon: CircularChart3DPolygon): string;
    /**
     * Splits a polygon into two parts based on another polygon.
     *
     * @param {CircularChart3DPolygon} splitPolygon - The polygon to split.
     * @param {CircularChart3DPolygon} refPolygon - The reference polygon for splitting.
     * @returns {CircularChart3DPolyCollections} - The resulting back and front parts.
     */
    private splitPolygon;
    /**
     * Cuts out the front part of a polygon based on the PolyAttributes.
     *
     * @param {CircularChart3DPolyAttributes[]} polyPoints - The polyAttributes array of the polygon.
     * @param {CircularChart3DPolyAttributes} initialVertex - The polyAttributes representing the cutting point.
     * @returns {CircularChart3DVector[]} - The resulting points of the front part.
     */
    private cutOutFrontPolygon;
    /**
     * Cuts out the back part of a polygon based on the PolyAttributes.
     *
     * @param {CircularChart3DPolyAttributes[]} polyPoints - The PolyAttributes array of the polygon.
     * @param {CircularChart3DPolyAttributes} initialVertex - The PolyAttributes representing the cutting point.
     * @returns {CircularChart3DVector[]} - The resulting points of the back part.
     */
    private cutOutBackPolygon;
    /**
     * Builds a binary space partitioning from a list of polygons.
     *
     * @param {CircularChart3DPolygon[]} [points] - The list of polygons to build the tree from.
     * @param {CircularChart3D} [chart] - The circular 3D chart.
     * @returns {CircularChart3DBspNode} - The root node of the Binary Space Partitioning tree.
     */
    build(points?: CircularChart3DPolygon[], chart?: CircularChart3D): CircularChart3DBspNode;
}
/**
 * The CircularChart3DSvgRenderer class provides methods for rendering SVG graphics in a 3D context.
 */
export  class CircularChart3DSvgRenderer {
    /**
     * Gets a CircularChart3DStringBuilder instance for constructing strings.
     *
     * @returns {CircularChart3DStringBuilder} - The StringBuilder instance.
     */
    getStringBuilder(): CircularChart3DStringBuilder;
    /**
     * Parses a hex color code and returns its Red green Blue values.
     *
     * @param {string} hexColorCode - The hex color code.
     * @returns {CircularChart3DColorFormat | null} - The parsed color format (Red green Blue) or null if parsing fails.
     */
    hexToValue(hexColorCode: string): CircularChart3DColorFormat | null;
    /**
     * Draws text on an SVG element.
     *
     * @param {svgBase.SVGCanvasAttributes} options - The options for drawing the text.
     * @param {string | string[]} label - The text label.
     * @param {FontModel} font - The font settings for the text.
     * @param {CircularChart3D} chart - The circular 3D chart instance.
     * @returns {Element} - The created SVG text element.
     */
    drawText(options: svgBase.SVGCanvasAttributes, label: string | string[], font: FontModel, chart: CircularChart3D): Element;
    /**
     * Converts a CircularChart3DColorFormat object to its corresponding color string.
     *
     * @param {CircularChart3DColorFormat} color - The color in CircularChart3DColorFormat.
     * @returns {string} - The color string representation.
     */
    hexColor(color: CircularChart3DColorFormat): string;
    /**
     * Checks if a given color string is in a valid format (hex or rgba).
     *
     * @param {string} color - The color string to check.
     * @returns {boolean} - True if the color string is valid, otherwise false.
     */
    checkColorFormat(color: string): boolean;
}
/**
 * Represents a 3D polygon in a circular 3D chart.
 *
 */
export  class CircularChart3DPolygonModule {
    private epsilon;
    private normal;
    private vector;
    private vectorPoints;
    private d;
    private matrixObj;
    /**
     * Creates a 3D polygon.
     *
     * @param {CircularChart3DVector[]} [points] - An array of 3D vectors representing points on the polygon.
     * @param {CircularChart3DPolygon} [tag] - Additional information or metadata for the polygon.
     * @param {number} [index] - An index associated with the polygon.
     * @param {string} [stroke] - The stroke color of the polygon.
     * @param {number} [strokeThickness] - The thickness of the polygon's stroke.
     * @param {number} [opacity] - The opacity of the polygon.
     * @param {string} [fill] - The fill color of the polygon.
     * @param {string} [name] - The name or identifier of the polygon.
     * @param {Element} [parent] - The parent element to which the polygon belongs.
     * @param {string} [text] - Additional text associated with the polygon.
     * @returns {CircularChart3DPolygon} - Returns the created polygon.
     */
    polygon3D(points?: CircularChart3DVector[], tag?: CircularChart3DPolygon, index?: number, stroke?: string, strokeThickness?: number, opacity?: number, fill?: string, name?: string, parent?: Element, text?: string): CircularChart3DPolygon;
    /**
     * Calculates the normal vector for a 3D polygon based on the provided points.
     *
     * @param {...CircularChart3DVector} args - Variable number of vector3D arguments representing points of the polygon.
     * @returns {void}
     */
    calculateNormal(...args: any[]): void;
    /**
     * Tests whether the calculated normal vector is valid.
     *
     * @returns {boolean} - Returns true if the normal vector is valid, false otherwise.
     */
    test(): boolean;
    /**
     * Gets the normal vector based on the transformed points using the specified transformation matrix.
     *
     * @param {number[][]} transform - The transformation matrix.
     * @param {CircularChart3DVector[]} [vectorPoints] - The vector points.
     * @returns {CircularChart3DVector} - Returns the normal vector.
     * @private
     */
    getNormal(transform: number[][], vectorPoints?: CircularChart3DVector[]): CircularChart3DVector;
    /**
     * Creates a text element in the context of a circular 3D chart.
     *
     * @param {CircularChart3DVector} position - The position of the text.
     * @param {CircularChart3DLabelElement} element - The text element to be created.
     * @param {number} xLength - The x value for the text element.
     * @param {number} yLength - The y value for the text element.
     * @returns {CircularChart3DPolygon} - Returns the polygon representing the created text element.
     */
    createTextElement(position: CircularChart3DVector, element: CircularChart3DLabelElement, xLength: number, yLength: number): CircularChart3DPolygon;
    /**
     * Creates a 3D polyline by connecting a series of points in 3D space.
     *
     * @param {Array<{ x: number;
 y: number;
 z?: number }>} points - An array of points in 3D space, specified by their x, y, and optional z coordinates.
     * @param {CircularChart3DLabelElement} element - The circular 3D label element associated with the polyline.
     * @returns {CircularChart3DPolygon} - The resulting 3D polyline with the specified circular 3D label element and vertices.
     */
    createPolyline(points: {
        x: number;
        y: number;
        z?: number;
    }[], element: CircularChart3DLabelElement): CircularChart3DPolygon;
    /**
     * Creates a 3D polygon by connecting a series of points in 3D space.
     *
     * @param {CircularChart3DLabelElement} element - The circular 3D label element associated with the polygon.
     * @param {Array<{ x: number;
 y: number;
 z?: number }>} points - An array of points in 3D space, specified by their x, y, and optional z coordinates.
     * @returns {CircularChart3DPolygon} - The resulting 3D polygon with the specified circular 3D label element and vertices.
     */
    private polyLine3D;
    /**
     * Creates a 3D text polygon based on the given label element and points.
     *
     * @param {CircularChart3DLabelElement} element - The label element associated with the text.
     * @param {CircularChart3DVector[]} points - The array of 3D vector points defining the position of the text in 3D space.
     * @returns {CircularChart3DPolygon} - Returns the created 3D text polygon.
     */
    text3D(element: CircularChart3DLabelElement, points: CircularChart3DVector[]): CircularChart3DPolygon;
    /**
     * Draws a polyline on the circular 3D chart panel.
     *
     * @param {CircularChart3DPolygon} panel - The polygon panel on which to draw the polyline.
     * @param {CircularChart3D} chart - The circular 3D chart instance.
     */
    drawPolyLine(panel: CircularChart3DPolygon, chart: CircularChart3D): void;
    /**
     * Draws a data label symbol for a specific data point in a circular 3D series.
     *
     * @param {CircularChart3DPolygon} panel - The 3D polygon representing the panel on which the text will be drawn.
     * @param {CircularChart3D} chart - The 3D chart to which the panel belongs.
     * @returns {void}
     */
    drawText(panel: CircularChart3DPolygon, chart: CircularChart3D): void;
    /**
     * Draws a data label symbol for a specific data point in a circular 3D series.
     *
     * @param {number} seriesIndex - The index of the series to which the data point belongs.
     * @param {CircularChart3DSeries} series - The circular 3D series containing the data point.
     * @param {CircularChart3DLabelElement} dataElement - The index of the data point within the series.
     * @param {number} x - The x-coordinate of the center of the symbol.
     * @param {number} y - The y-coordinate of the center of the symbol.
     * @param {number} width - The width of the symbol.
     * @param {number} height - The height of the symbol.
     * @param {CircularChart3D} chart - The circular 3D chart containing the series.
     * @returns {void}
     */
    private dataLabelSymbol;
    /**
     * Draws a circular 3D polygon on the specified chart.
     *
     * @param {CircularChart3DPolygon} panel - The polygon to be drawn.
     * @param {CircularChart3D} chart - The circular 3D chart on which the polygon is to be drawn.
     * @returns {void}
     */
    draw(panel: CircularChart3DPolygon, chart: CircularChart3D): void;
    /**
     * Draws text on the specified circular 3D chart panel.
     *
     * @param {CircularChart3DPolygon} panel - The circular 3D polygon representing the panel on which the text will be drawn.
     * @param {CircularChart3D} chart - The circular 3D chart to which the panel belongs.
     * @returns {void}
     */
    drawTemplate(panel: CircularChart3DPolygon, chart: CircularChart3D): void;
    /**
     * Applies a lightening effect to the given color by reducing its red, green, and blue components.
     *
     * @param {string} color - The input color in hexadecimal format.
     * @param {CircularChart3D} chart - The circular 3D chart associated with the color.
     * @returns {string} - The lightened color in hexadecimal format.
     */
    applyXLight(color: string, chart: CircularChart3D): string;
    /**
     * Applies a lightening effect to the given color by reducing its red, green, and blue components with a focus on the Z-axis.
     *
     * @param {string} color - The input color in hexadecimal format.
     * @param {CircularChart3D} chart - The circular 3D chart associated with the color.
     * @returns {string} - The lightened color in hexadecimal format.
     */
    applyZLight(color: string, chart: CircularChart3D): string;
}
//node_modules/@syncfusion/ej2-charts/src/circularchart3d/print-export/export.d.ts
/**
 * Circular 3D chart export.
 */
/**
 * The `CircularChartExport3DModule` module is used to print and export the rendered chart.
 */
export  class CircularChartExport3D {
    private chart;
    /**
     * Constructor for the export module.
     *
     * @param {CircularChart3D} chart - The circular 3D chart.
     * @private
     */
    constructor(chart: CircularChart3D);
    /**
     * Export the circular 3D chart on the page to PNG, JPEG, or SVG format.
     *
     * @param {number} type - The format for exporting the chart (PNG, JPEG, or SVG).
     * @param {string} fileName - The desired name for the exported file.
     * @returns {void}
     */
    export(type: ExportType, fileName: string): void;
    /**
     * Export the circular 3D chart on the page to a PDF document.
     *
     * @param {string} fileName - The name of the exported file.
     * @param {pdfExport.PdfPageOrientation} orientation - Page orientation (portrait or landscape).
     * @param {CircularChart3D[]} controls - Array of controls to be exported.
     * @param {number} width - The width of the exported chart.
     * @param {number} height - The height of the exported chart.
     * @param {boolean} isVertical - Export the chart vertically or horizontally.
     * @param {string} header - Text to appear at the top of the exported PDF document.
     * @param {string} footer - Text to appear at the bottom of the exported PDF document.
     * @param {boolean} exportToMultiplePage - Export the chart to multiple PDF pages.
     * @returns {void}
     */
    pdfExport(fileName: string, orientation?: pdfExport.PdfPageOrientation, controls?: (CircularChart3D)[], width?: number, height?: number, isVertical?: boolean, header?: IPDFArgs, footer?: IPDFArgs, exportToMultiplePage?: boolean): void;
    /**
     * Gets a data URL for the rendered 3D chart as an HTML canvas element, including data URL and blob URL if available.
     *
     * @param {CircularChart3D} chart - The circular 3D chart for which the data URL is requested.
     * @returns {{ element: HTMLCanvasElement, dataUrl?: string, blobUrl?: string }} - An object containing the HTML canvas element, data URL, and blob URL.
     * @private
     */
    getDataUrl(chart: CircularChart3D): {
        element: HTMLCanvasElement;
        dataUrl?: string;
        blobUrl?: string;
    };
    /**
     * Retrieves the module name for the circular 3D chart export.
     *
     * @returns {string} - The module name.
     */
    protected getModuleName(): string;
    /**
     * Destroys the export modules of the circular 3D chart.
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-charts/src/circularchart3d/model/theme.d.ts
/**
 * Circular 3D chart theme file.
 */
/**
 * Gets an array of series colors for circular 3D chart visualization.
 *
 * @param {CircularChart3DTheme} theme - The theme for which to retrieve the series colors.
 * @returns {string[]} - An array of series colors.
 * @private
 */
export  function getCircular3DSeriesColor(theme: CircularChart3DTheme): string[];
/**
 * Gets the theme color for circular 3D chart visualization.
 *
 * @param {CircularChart3DTheme} theme - The theme for which to retrieve the color.
 * @returns {CircularChart3DThemeStyle} - The theme color style object.
 * @private
 */
export  function getCircular3DThemeColor(theme: CircularChart3DTheme): CircularChart3DThemeStyle;
//node_modules/@syncfusion/ej2-charts/src/circularchart3d/model/pie-interface.d.ts
/**
 * Circular 3D chart interface file.
 */
/**
 * Represents the arguments for a circular 3D chart event.
 *
 * @interface
 */
export interface CircularChart3DEventArgs {
    /** Defines the name of the event. */
    name?: string;
    /** Defines the event cancel status. */
    cancel: boolean;
}
/**
 * Circular 3D chart load or loaded event arguments.
 *
 * @interface
 * @extends CircularChart3DEventArgs
 */
export interface CircularChart3DLoadedEventArgs extends CircularChart3DEventArgs {
    /** Defines the circular 3D chart instance. */
    chart: CircularChart3D;
    /** Theme for the circular 3D chart. */
    theme?: CircularChart3DTheme;
}
/**
 * Circular 3D chart series render event arguments.
 *
 * @interface
 */
export interface CircularChart3DSeriesRenderEventArgs {
    /** Defines the current circular 3D series. */
    series: CircularChart3DSeries;
    /** Defines the current data object. */
    data: Object;
    /** Defines the current series name. */
    name: string;
}
/**
 * Represents the arguments for rendering the legend in a circular 3D chart.
 *
 * @interface
 * @extends CircularChart3DEventArgs
 */
export interface CircularChart3DLegendRenderEventArgs extends CircularChart3DEventArgs {
    /** Defines the current legend shape. */
    shape: LegendShape;
    /** Defines the current legend fill color. */
    fill: string;
    /** Defines the current legend text. */
    text: string;
}
/**
 * Represents the arguments for handling a legend click event in a circular 3D chart.
 *
 * @interface
 * @extends CircularChart3DEventArgs
 */
export interface CircularChart3DLegendClickEventArgs extends CircularChart3DEventArgs {
    /** Defines the chart when legendClick. */
    chart: CircularChart3D;
    /** Defines the current legend shape. */
    legendShape: LegendShape;
    /** Defines the current series. */
    series: CircularChart3DSeries;
    /** Defines the list of points mapped to a legend. */
    point: CircularChart3DPoints;
    /** Defines the current legend text. */
    legendText: string;
}
/**
 * Represents the arguments for the completion of a selection in a circular 3D chart.
 *
 * @interface
 * @extends CircularChart3DEventArgs
 */
export interface CircularChart3DSelectionCompleteEventArgs extends CircularChart3DEventArgs {
    /** Defines current selected Data X, Y values. */
    selectedDataValues: {
        x?: string | number | Date;
        y?: number;
        seriesIndex?: number;
        pointIndex?: number;
    }[];
}
/**
 * Circular 3D chart PointRender event arguments.
 *
 * @interface
 * @extends CircularChart3DEventArgs
 */
export interface CircularChart3DPointRenderEventArgs extends CircularChart3DEventArgs {
    /** Defines the current series of the point. */
    series: CircularChart3DSeries;
    /** Defines the current point. */
    point: CircularChart3DPoints;
    /** Defines the current point fill color. */
    fill: string;
}
/**
 * Circular 3D chart TextRender event arguments.
 *
 * @interface
 * @extends CircularChart3DEventArgs
 */
export interface CircularChart3DTextRenderEventArgs extends CircularChart3DEventArgs {
    /** Defines the current series. */
    series: CircularChart3DSeriesModel;
    /** Defines the current point. */
    point: CircularChart3DPoints;
    /** 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.
     *
     * @aspType string
     */
    template: string | Function;
    /** Defines the current font. */
    font: FontModel;
}
/**
 * Represents event arguments for circular 3D chart export.
 *
 * @interface
 * @extends CircularChart3DChartEventArgs
 */
export interface CircularChart3DExportEventArgs extends CircularChart3DEventArgs {
    /**
     * The width of the exported chart.
     */
    width: number;
    /**
     * The height of the exported chart.
     */
    height: number;
}
/**
 * Represents the arguments for the circular 3D print event in a chart.
 *
 * @interface
 * @extends CircularChart3DEventArgs
 */
export interface CircularChart3DPrintEventArgs extends CircularChart3DEventArgs {
    /** Specifies the HTML content to be printed. */
    htmlContent: Element;
}
/**
 * Interface representing the arguments passed to an event that occurs after exporting data.
 *
 * @interface
 */
export interface CircularChart3DAfterExportEventArgs {
    /** Specifies the event cancel status. */
    cancel: boolean;
    /** The data URL generated after exporting. */
    dataUrl: string;
}
/**
 * Represents event arguments for the resize event in a circular 3D chart.
 *
 * @interface
 */
export interface CircularChart3DResizeEventArgs {
    /** Defines the previous size of the circular 3D chart. */
    previousSize: svgBase.Size;
    /** Defines the current size of the circular 3D chart. */
    currentSize: svgBase.Size;
    /** Defines the circular 3D chart instance. */
    chart: CircularChart3D;
}
/**
 * Represents event arguments for the before resize event in a circular 3D chart.
 *
 * @interface
 */
export interface CircularChart3DBeforeResizeEventArgs {
    /** Specifies whether to cancel the resize event. */
    cancel: boolean;
}
/**
 * Represents event arguments for points in a circular 3D chart.
 *
 * @interface
 */
export interface CircularChart3DPointEventArgs {
    /** Defines the current series associated with the point. */
    series: CircularChart3DSeriesModel;
    /** Defines the current data point. */
    point: CircularChart3DPoints;
    /** Defines the index of the data point. */
    pointIndex: number;
    /** Defines the index of the series. */
    seriesIndex: number;
    /** Defines the current instance of the circular 3D chart. */
    chart: CircularChart3D;
    /** Defines the x-coordinate of the mouse pointer during the event. */
    x: number;
    /** Defines the x-coordinate of the mouse pointer during the event. */
    y: number;
    /** Defines the x-coordinate of the mouse pointer in the window's page coordinates. */
    pageX?: number;
    /** Defines the y-coordinate of the mouse pointer in the window's page coordinates. */
    pageY?: number;
}
/**
 * Represents event arguments for mouse interactions in a circular 3D chart.
 *
 * @interface
 * @extends CircularChart3DEventArgs
 */
export interface CircularChart3DMouseEventArgs extends CircularChart3DEventArgs {
    /** Defines the target element ID related to the mouse event. */
    target: string;
    /** Defines the x-coordinate of the mouse pointer during the event. */
    x: number;
    /** Defines the y-coordinate of the mouse pointer during the event. */
    y: number;
}
/**
 * Represents the arguments for rendering a tooltip in a circular 3D chart.
 *
 * @interface
 */
export interface CircularChart3DTooltipRenderEventArgs {
    /** Specifies whether to cancel the tooltip render. */
    cancel: boolean;
    /** Specifies a collection of tooltip text. */
    text?: string;
    /** Defines the style for tooltip text. */
    textStyle?: FontModel;
    /** Defines the current tooltip series. */
    series: CircularChart3DSeries;
    /** Defines the current tooltip point. */
    point: CircularChart3DPoints;
    /** Defines the header text for the tooltip. */
    headerText?: string;
    /** Defines the point information for the tooltip. */
    data?: CircularChart3DPointInformation;
    /** Defines the tooltip template. */
    template: string | Function;
}
/**
 * Interface representing attributes for a 3D circular chart polyline.
 */
export interface CircularChart3DPolyLineAttributes {
    /**  Unique identifier for the polyline. */
    id: string;
    /** The dash pattern of the polyline. */
    'stroke-dasharray': string;
    /** The width of the polyline stroke. */
    'stroke-width': number;
    /** The color of the polyline stroke. */
    stroke: string;
    /** The data attribute for the polyline. */
    d: string;
}
//node_modules/@syncfusion/ej2-charts/src/circularchart3d/model/enum.d.ts
/**
 * Defines the themes for the circular 3D chart.
 */
export  type CircularChart3DTheme = 
/**  Render a circular 3D chart with the Material theme. */
'Material' | 
/**  Render a circular 3D chart with the Fabric theme. */
'Fabric' | 
/**  Render a circular 3D chart with the Bootstrap theme. */
'Bootstrap' | 
/**  Render a circular 3D chart with the High Contrast Light theme. */
'HighContrastLight' | 
/**  Render a circular 3D chart with the MaterialDark theme. */
'MaterialDark' | 
/**  Render a circular 3D chart with the FabricDark theme. */
'FabricDark' | 
/**  Render a circular 3D chart with the HighContrastDark theme. */
'HighContrast' | 
/**  Render a circular 3D chart with the BootstrapDark theme. */
'BootstrapDark' | 
/**  Render a circular 3D chart with the Bootstrap4 theme. */
'Bootstrap4' | 
/**  Render a circular 3D chart with the Tailwind theme. */
'Tailwind' | 
/**  Render a circular 3D chart with the TailwindDark theme. */
'TailwindDark' | 
/**  Render a circular 3D chart with the Tailwind3 theme. */
'Tailwind3' | 
/**  Render a circular 3D chart with the Tailwind3Dark theme. */
'Tailwind3Dark' | 
/**  Render a circular 3D chart with the Bootstrap5 theme. */
'Bootstrap5' | 
/**  Render a circular 3D chart with the Bootstrap5Dark theme. */
'Bootstrap5Dark' | 
/**  Render a circular 3D chart with the Fluent theme. */
'Fluent' | 
/**  Render a circular 3D chart with the FluentDark theme. */
'FluentDark' | 
/**  Render a circular 3D chart with the Fluent 2 theme. */
'Fluent2' | 
/**  Render a circular 3D chart with the Fluent 2 dark theme. */
'Fluent2Dark' | 
/**  Render a circular 3D chart with the Fluent 2 highcontrast theme. */
'Fluent2HighContrast' | 
/**  Render a circular 3D chart with the Material 3 theme. */
'Material3' | 
/**  Render a circular 3D chart with the Material 3 Dark theme. */
'Material3Dark';
/**
 * Defines the SelectionMode. Options are:
 * * None - Disable the selection.
 * * Point - Selects a point.
 */
export  type CircularChart3DSelectionMode = 
/** Disable the selection. */
'None' | 
/** Selects a point. */
'Point';
/**
 * Defines the HighlightMode. Options are:
 * * None - Disable the highlight.
 * * Point - Highlights a point.
 */
export  type CircularChart3DHighlightMode = 
/** Disable the highlight. */
'None' | 
/** Highlights a point. */
'Point';
/**
 * Defines the Circular 3D data label positions. They can be:
 * * 'Inside': Define the data label position inside the circular 3D series.
 * * 'Outside': Define the data label position outside the circular 3D series.
 */
export  type CircularChart3DLabelPosition = 
/** Define the data label position inside the circular 3D series. */
'Inside' | 
/** Define the data label position outside the circular 3D series. */
'Outside';
//node_modules/@syncfusion/ej2-charts/src/circularchart3d/model/circular3d-base.d.ts
/**
 * Interface for a 3D vector with components for x, y, and z coordinates.
 *
 * @interface
 * @private
 */
export interface CircularChart3DVector {
    /** The x-coordinate of the 3D vector. */
    x: number;
    /** The y-coordinate of the 3D vector. */
    y: number;
    /** The z-coordinate of the 3D vector. */
    z?: number;
}
/**
 * Represents the location information for a point in a circular 3D chart.
 *
 * @interface
 * @private
 */
export interface CircularChart3DSymbolLocation {
    /** The x-coordinate of the point. */
    x: number;
    /** The y-coordinate of the point. */
    y: number;
    /** The z-coordinate of the point. */
    z?: number;
    /** The radius of the point. */
    radius: number;
    /** The angle of the point in radians. */
    angle: number;
    /** The center coordinates of the point. */
    center?: CircularChart3DVector;
}
/**
 * Represents a 3D polygon in a chart.
 *
 * @interface
 * @private
 */
export interface CircularChart3DPolygon {
    /** * The normal vector of the polygon. */
    normal: CircularChart3DVector;
    /** * The array of 3D points defining the polygon. */
    points: CircularChart3DVector[];
    /** * An alternate array of 3D points defining the polygon. */
    vectorPoints: CircularChart3DVector[];
    /** * The index of the polygon. */
    index: number;
    /** * The associated chart in 3D space. */
    tag: CircularChart3DPolygon;
    /** * The name of the polygon. */
    name: string;
    /** * The thickness of the stroke used to outline the polygon. */
    strokeThickness: number;
    /** * The opacity of the polygon. */
    opacity: number;
    /** * The fill color of the polygon. */
    fill: string;
    /** * An additional numeric property 'd'. */
    d: number;
    /** * Element information associated with the polygon. */
    polygonElement: {
        tag: string;
        parent: Element;
    };
    /** * Optional text associated with the polygon. */
    text?: string;
    /** * Optional element information associated with the polygon, can be null. */
    element?: CircularChart3DLabelElement | null;
    /** * Flag indicating whether the polygon is split.*/
    isSplit?: boolean;
}
/**
 * Represents attributes associated with a 3D polygon.
 *
 * @interface
 * @private
 */
export interface CircularChart3DPolyAttributes {
    /** The index of the polygon.*/
    index: number;
    /** The result of an operation on the polygon.*/
    result: string;
    /** The 3D vector associated with the polygon.*/
    vector: CircularChart3DVector;
    /** Indicates if the point is a cutting back point.*/
    isCuttingBackPoint: boolean;
    /** The index of the cutting back pair, if applicable.*/
    cuttingBackPairIndex: number | null;
    /** Indicates if the polygon has already been cut back.*/
    alreadyCutBack: boolean;
    /** Indicates if the point is a cutting front point.*/
    isCuttingFrontPoint: boolean;
    /** The index of the cutting front pair, if applicable.*/
    cuttingFrontPairIndex: number | null;
    /** Indicates if the polygon has already been cut front.*/
    alreadyCutFront: boolean;
    /** An optional flag indicating if it is a cutting back point.*/
    cuttingBackPoint?: boolean;
    /** An optional index of the cutting back pair.*/
    alterCuttingBackPairIndex?: number;
    /** An optional flag indicating if it is a cutting front point.*/
    cuttingFrontPoint?: boolean;
    /** An optional index of the cutting front pair.*/
    alterCuttingFrontPairIndex?: number;
}
/**
 * Represents a segment in a circular 3D chart.
 *
 * @interface
 * @private
 */
export interface CircularChart3DSegments {
    /** Gets or sets the starting value of the segment. */
    startValue: number;
    /** Gets or sets the ending value of the segment. */
    endValue: number;
    /** Gets or sets the depth of the segment in the 3D series*/
    depth: number;
    /** Gets or sets the radius of the segment in the 3D series. */
    radius: number;
    /** Gets or sets the index of the segment. */
    index: number;
    /** Gets or sets the YData associated with the segment. */
    yData: number;
    /** Gets or sets the center of the segment in a circular 3D vector. */
    center: CircularChart3DVector;
    /** Gets or sets the inside radius of the segment. */
    inSideRadius: number;
    /** Gets or sets the actual ending value of the segment. */
    actualEndValue: number;
    /** Gets or sets the actual starting value of the segment. */
    actualStartValue: number;
    /** Gets or sets the index of the point associated with the segment. */
    pointIndex: number;
    /** Gets or sets the series to which the segment belongs. */
    series: CircularChart3DSeries;
    /** Gets or sets the visibility status of the segment. */
    visible: boolean;
    /** Gets or sets the accessibility text of the segment. */
    accessibilityText: string;
}
/**
 * Represents the style configuration for a series of circular 3D elements.
 *
 * @interface
 * @private
 */
export interface CircularChart3DSeriesStyle {
    /** The opacity of the circular 3D series.*/
    opacity: number;
    /** The interior color of the circular 3D series point.*/
    interior: string;
}
/**
 * Represents basic transformation parameters for rendering.
 *
 * @interface CircularChart3DBasicTransform
 * @private
 */
export interface CircularChart3DBasicTransform {
    /** The size of the viewing area. */
    viewingArea: svgBase.Size;
    /** The rotation angle in radians. */
    rotation: number;
    /** The tilt angle in radians. */
    tilt: number;
    /** The depth of the transformation. */
    depth: number;
    /** The perspective angle in radians. */
    perspectiveAngle: number;
    /** Flag indicating whether an update is needed. */
    needUpdate: boolean;
    /** The centered matrix used in transformation. */
    centeredMatrix: number[][];
    /** The perspective matrix used in transformation. */
    perspective: number[][];
    /** The result matrix after transformation.*/
    resultMatrix: number[][];
    /** The view matrix used in transformation. */
    viewMatrix: number[][];
    /**  Reference to the chart object. */
    chartObj?: CircularChart3DMatrix;
}
/**
 * Represents a 3D location with coordinates in a circular 3D chart.
 *
 * @interface
 * @private
 */
export interface CircularChart3DLocation {
    /** The x-coordinate of the 3D location.*/
    x?: number;
    /** The x-coordinate of the 3D location. */
    y?: number;
    /** The z-coordinate of the 3D location. */
    z?: number;
}
/**
 * Represents collections of polygons categorized as back and front.
 *
 * @interface
 * @private
 */
export interface CircularChart3DPolyCollections {
    /** Collection of polygons categorized as back.*/
    backPolygon: CircularChart3DPolygon[];
    /** Collection of polygons categorized as front.*/
    frontPolygon: CircularChart3DPolygon[];
}
/**
 * Represents a string builder with methods for appending, removing, inserting, and converting strings.
 *
 * @interface
 */
export interface CircularChart3DStringBuilder {
    /**
     * Appends the specified string to the end of the current string builder.
     *
     * @param s - The string to append.
     * @returns The updated CircularChart3DStringBuilder instance.
     */
    append: (s: string) => CircularChart3DStringBuilder;
    /**
     * Removes characters from the current string builder, starting at the specified position.
     *
     * @param i - The starting index for removal.
     * @param j - The number of characters to remove (default is 1).
     * @returns The updated CircularChart3DStringBuilder instance.
     */
    remove?: (i: number, j?: number) => CircularChart3DStringBuilder;
    /**
     * Inserts the specified string into the current string builder at the specified position.
     *
     * @param i - The index at which to insert the string.
     * @param s - The string to insert.
     * @returns The updated CircularChart3DStringBuilder instance.
     */
    insert?: (i: number, s: string) => CircularChart3DStringBuilder;
    /**
     * Converts the contents of the string builder to a string.
     *
     * @param s - The separator to use between concatenated elements (default is an empty string).
     * @returns The string representation of the current string builder.
     */
    toString: (s?: string) => string;
}
/**
 * Represents a color using red (R), green (G), and blue (B) components, with an optional alpha (A) component for transparency.
 *
 * @interface
 * @private
 */
export interface CircularChart3DColorFormat {
    /** The red component of the color. */
    red: number;
    /** The green component of the color. */
    green: number;
    /** The blue component of the color. */
    blue: number;
    /**
     * The optional alpha component of the color, representing transparency.
     * It can be a number in the range [0, 1] or a string representation (e.g., "0.5").
     */
    alpha?: number | string;
}
/**
 * Represents the properties of a path element.
 *
 * @interface
 * @private
 */
export interface CircularChart3DPathOptions {
    /** The unique identifier of the path element. */
    id: string;
    /** The name associated with the path element. */
    name: string;
    /** The fill color of the path element. */
    fill: string;
    /** The stroke color of the path element. */
    stroke: string;
    /** The width of the stroke for the path element. */
    'stroke-width': number;
    /** The opacity of the path element. */
    opacity: number;
    /** The description of the path element. */
    d: string;
}
/**
 * Interface representing element data for a circular 3D chart.
 *
 * @interface
 * @private
 */
export interface CircularChart3DDataElement {
    /** The text content of the element.*/
    text: string;
    /** The location values associated with the element.*/
    location: CircularChart3DLocation;
    /** The three-dimensional series associated with the element.*/
    series?: CircularChart3DSeries;
    /** The index of the data point associated with the element.*/
    pointIndex?: number;
    /** An alternative text property for the element.*/
    alternativeText?: string;
}
/**
 * Interface representing a label element in a circular 3D chart.
 *
 * @interface
 * @private
 */
export interface CircularChart3DLabelElement {
    /** The width of the label element.*/
    width?: number;
    /** The height of the label element.*/
    height?: number;
    /** The content of the label, which can be either a string or an element data.*/
    label?: CircularChart3DDataElement;
    /** The text anchor property specifying the alignment of the text.*/
    textAnchor?: string;
    /** A tag associated with the label element.*/
    tag: string;
    /** The font settings for the label element.*/
    font?: FontModel;
    /** The unique identifier for the label element.*/
    id?: string;
    /** Child element associated with the label.*/
    child?: Element;
    /** The rotation angle of the label element.*/
    angle?: number;
    /** The three-dimensional series associated with the label.*/
    series?: CircularChart3DSeries;
    /** The index of the data point associated with the label.*/
    pointIndex?: number;
    /** The three-dimensional data point associated with the label.*/
    point?: CircularChart3DPoints;
    /** The index of the series associated with the label.*/
    seriesIndex?: number;
    /** Additional arguments data associated with the label.*/
    argsData?: CircularChart3DTextRenderEventArgs;
    /** The fill color of the label element.*/
    fill?: string;
    /** The stroke color of the label element.*/
    stroke?: string;
    /** The stroke width of the label element.*/
    dashArray?: string;
    /** The transform of the element.*/
    transform?: string;
}
/**
 * Represents the position of a circular 3D label in a two-dimensional space.
 *
 * @interface
 * @private
 */
export interface CircularChart3DTitlePosition {
    /**The x-coordinate of the label position.*/
    x: number;
    /**The y-coordinate of the label position.*/
    y: number;
    /** The size of the label. */
    size: svgBase.Size;
}
/**
 * Represents information about a point in a circular 3D chart.
 *
 * @interface
 * @private
 */
export interface CircularChart3DPointInformation {
    /** The x-value of the point. */
    pointX: object;
    /** The y-value of the point.*/
    pointY: object;
    /** The index of the point. */
    pointIndex: number;
    /** The index of the point. */
    seriesIndex: number;
    /** The name of the series. */
    seriesName: string;
    /** The text associated with the point. */
    pointText: string;
}
/**
 * Represents the theme style configuration for a circular 3D chart.
 *
 * @interface
 * @private
 */
export interface CircularChart3DThemeStyle {
    /** Gets or sets the title of the chart. */
    chartTitle: string;
    /** Gets or sets the label for the legend. */
    legendLabel: string;
    /** Gets or sets the background color of the chart. */
    background: string;
    /** Gets or sets the fill color of the chart tooltip. */
    tooltipFill: string;
    /** Gets or sets the font style for the bold labels in the chart tooltip. */
    tooltipBoldLabel: string;
    /** Gets or sets the font style for the light labels in the chart tooltip. */
    tooltipLightLabel: string;
    /** Gets or sets the color of the header line in the chart tooltip. */
    tooltipHeaderLine: string;
    /** Gets or sets the color of the tab in the chart. */
    tabColor: string;
    /** Gets or sets the font configuration for the chart title. */
    chartTitleFont: FontModel;
    /** Gets or sets the font configuration for the legend title. */
    legendTitleFont: FontModel;
    /** Gets or sets the font configuration for the legend labels. */
    legendLabelFont: FontModel;
    /** Gets or sets the opacity of the chart tooltip. */
    tooltipOpacity?: number;
    /** Gets or sets the font configuration for the labels in the chart tooltip. */
    tooltipLabelFont: FontModel;
    /** Gets or sets the font configuration for the subtitle of the chart. */
    chartSubTitleFont: FontModel;
    /** Gets or sets the font configuration for the data labels in the chart. */
    datalabelFont: FontModel;
}
//node_modules/@syncfusion/ej2-charts/src/circularchart3d/legend/legend.d.ts
/**
 * Circular 3D chart legend.
 */
/**
 * Configures the legends in circular 3D charts.
 */
export  class CircularChart3DLegendSettings extends base.ChildProperty<CircularChart3DLegendSettings> {
    /**
     * If set to true, the legend will be displayed for the chart.
     *
     * @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 pie$: CircularChart3D = new CircularChart3D({
     * ...
     *   legendSettings: {
     *     visible: true,
     *     position: 'Custom',
     *     location: { x: 100, y: 150 },
     *   },
     * ...
     * });
     * pie.appendTo('#Chart');
     * ```
     */
    location: LocationModel;
    /**
     * Position of the legend in the chart. Available options include:
     * * Auto: Places the legend based on the 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 around the legend items.
     *
     * @default 8
     */
    padding: number;
    /**
     * Option to customize the padding between legend items.
     *
     * @default null
     */
    itemPadding: number;
    /**
     * Legend in chart can be aligned as follows:
     * * Near: Aligns the legend to the left of the chart.
     * * Center: Aligns the legend to the center of the chart.
     * * Far: Aligns the legend to the right of the chart.
     *
     * @default 'Center'
     */
    alignment: Alignment;
    /**
     * Options to customize the legend text.
     */
    textStyle: FontModel;
    /**
     * Shape height of the legend in pixels.
     *
     * @default 10
     */
    shapeHeight: number;
    /**
     * Shape width of the legend in pixels.
     *
     * @default 10
     */
    shapeWidth: number;
    /**
     * Options to customize the border of the legend.
     */
    border: BorderModel;
    /**
     *  Options to customize left, right, top and bottom margins of the chart.
     */
    margin: MarginModel;
    /**
     *  Options to customize left, right, top and bottom padding for legend container of the chart.
     */
    containerPadding: ContainerPaddingModel;
    /**
     * Padding between the legend shape and text.
     *
     * @default 8
     */
    shapePadding: number;
    /**
     * The background color of the legend that accepts value in hex and rgba as a valid CSS color string.
     *
     * @default 'transparent'
     */
    background: string;
    /**
     * Opacity of the legend.
     *
     * @default 1
     */
    opacity: number;
    /**
     * If set to true, series visibility collapses based on the legend visibility.
     *
     * @default true
     */
    toggleVisibility: boolean;
    /**
     * If set to true, the series get highlighted, while hovering the legend.
     *
     * @default false
     */
    enableHighlight: boolean;
    /**
     * Description for legends.
     *
     * @default null
     */
    description: string;
    /**
     * TabIndex value for the legend.
     *
     * @default 3
     */
    tabIndex: number;
    /**
     * Title for legends.
     *
     * @default null
     */
    title: string;
    /**
     * Options to customize the legend title.
     */
    titleStyle: FontModel;
    /**
     * Legend title position.
     *
     * @default 'Top'
     */
    titlePosition: LegendTitlePosition;
    /**
     * Defines the text wrap behavior to employ when the individual legend text overflows.
     * * `Normal`: Specifies to break words only at allowed break points.
     * * `Wrap`: Specifies to break a word once it is too long to fit on a line by itself.
     * * `AnyWhere`: Specifies to break a word at any point if there are no otherwise-acceptable break points in the line.
     *
     * @default 'Normal'
     */
    textWrap: TextWrap;
    /**
     * Defines the text overflow behavior to employ when the individual legend text overflows
     * * `Clip`: Specifies the text is clipped and not accessible.
     * * `Ellipsis`: Specifies an ellipsis (“...”) to the clipped text.
     *
     * @default 'Ellipsis'
     */
    textOverflow: LabelOverflow;
    /**
     * Maximum width for the legend title.
     *
     * @default 100
     */
    maximumTitleWidth: number;
    /**
     * Minimum label width for the legend text.
     *
     * @default null
     */
    maximumLabelWidth: number;
    /**
     * If set to true, legend will be visible using pages.
     *
     * @default true
     */
    enablePages: boolean;
    /**
     * If `isInversed` set to true, then it inverses legend item content (image and text).
     *
     * @default false.
     */
    isInversed: boolean;
    /**
     * If `reverse` is set to true, it reverses the order of legend items.
     *
     * @default false
     */
    reverse: boolean;
}
/**
 * The `CircularChartLegend3D` module used to render the legend for a circular 3D chart.
 */
export  class CircularChartLegend3D extends BaseLegend {
    /** @private */
    titleRect: svgBase.Rect;
    private maxColumnWidth;
    /**
     * Constructor for CircularChart3D legend.
     *
     * @param {CircularChart3D} chart - The chart instance to which the legend belongs.
     */
    constructor(chart: CircularChart3D);
    /**
     * Binds events for the legend module.
     *
     * @returns {void}
     */
    private addEventListener;
    /**
     * Unbinds events for the legend module.
     *
     * @returns {void}
     */
    private removeEventListener;
    /**
     * Handles mouse movement for the legend module.
     *
     * @param {MouseEvent} e - The mouse event.
     * @returns {void}
     */
    private mouseMove;
    /**
     * Handles mouse end for the legend module.
     *
     * @param {MouseEvent} e - The mouse event.
     * @returns {void}
     */
    private mouseEnd;
    /**
     * Retrieves the legend options for the circular 3D chart.
     *
     * @param {CircularChart3D} chart - The circular 3D chart instance.
     * @param {CircularChart3DSeries[]} series - The array of circular 3D series in the chart.
     * @returns {void}
     * @private
     */
    getLegendOptions(chart: CircularChart3D, series: CircularChart3DSeries[]): void;
    /**
     * Calculates the legend bounds based on the available size, existing legend bounds, and legend settings.
     *
     * @param {svgBase.Size} availableSize - The available size for the legend.
     * @param {svgBase.Rect} legendBounds - The existing bounds of the legend.
     * @param {LegendSettingsModel} legend - The legend settings model.
     * @returns {void}
     * @private
     */
    getLegendBounds(availableSize: svgBase.Size, legendBounds: svgBase.Rect, legend: LegendSettingsModel): void;
    /**
     * Calculates the total width by summing up the values in the provided array of page widths.
     *
     * @param {number[]} pageWidth - An array containing individual page widths.
     * @returns {number} - The total width calculated as the sum of page widths.
     * @private
     */
    private getPageWidth;
    /**
     * Calculates the legend height based on the provided legend options, legend settings, bounds, row width,
     * legend height, and padding values.
     *
     * @param {LegendOptions} option - The legend options containing necessary information.
     * @param {LegendSettingsModel} legend - The legend settings model.
     * @param {svgBase.Rect} bounds - The bounds of the legend.
     * @param {number} rowWidth - The width of the legend row.
     * @param {number} legendHeight - The height of the legend.
     * @param {number} padding - The padding value for additional space.
     * @returns {void}
     * @private
     */
    getLegendHeight(option: LegendOptions, legend: LegendSettingsModel, bounds: svgBase.Rect, rowWidth: number, legendHeight: number, padding: number): void;
    /**
     * Converts HTML entities in the given legend text to their corresponding normal string values.
     *
     * @param {string} legendText - The legend text containing HTML entities.
     * @returns {string} - The string with HTML entities converted to their normal values.
     * @private
     */
    private convertHtmlEntities;
    /**
     * Retrieves the maximum column value for a given set of columns based on the specified width, padding, and row width.
     *
     * @param {number[]} columns - The array of column values to find the maximum from.
     * @param {number} width - The width parameter used in the calculation.
     * @param {number} padding - The padding value for additional space.
     * @param {number} rowWidth - The width of the legend row.
     * @returns {number} - The maximum column value calculated from the provided array.
     * @private
     */
    private getMaxColumn;
    /**
     * Calculates the available width from the legend's x position.
     *
     * @param {number} tx - The x position of the legend.
     * @param {number} width - The width of the legend.
     * @returns {number} - The available width of the legend.
     */
    private getAvailWidth;
    /**
     * Determines the legend rendering locations from legend items.
     *
     * @param {LegendOptions} legendOption - The current legend option.
     * @param {ChartLocation} start - The start location of the legend.
     * @param {number} textPadding - The text padding of the legend text.
     * @param {LegendOptions} prevLegend - The previous legend option.
     * @param {svgBase.Rect} rect - The legend bounds.
     * @param {number} count - The legend index.
     * @param {number} firstLegend - The current legend location.
     * @returns {void}
     * @private
     */
    getRenderPoint(legendOption: LegendOptions, start: ChartLocation, textPadding: number, prevLegend: LegendOptions, rect: svgBase.Rect, count: number, firstLegend: number): void;
    /**
     * Checks whether the legend group is within the specified legend bounds, considering RTL (Right-to-Left) rendering.
     *
     * @param {number} previousBound - The previous legend bound value.
     * @param {number} textWidth - The width of the legend text.
     * @param {svgBase.Rect} legendBounds - The bounds of the legend.
     * @param {number} shapeWidth - The width of the legend shape.
     * @returns {boolean} - Returns true if the legend group is within bounds;
 otherwise, returns false.
     * @private
     */
    private isWithinBounds;
    /**
     * Determines the smart legend placement based on specified label bounds, legend bounds, and margin settings.
     *
     * @param {svgBase.Rect} labelBound - The bounds of the legend label.
     * @param {svgBase.Rect} legendBound - The bounds of the legend.
     * @param {MarginModel} margin - The margin settings for additional space.
     * @returns {void}
     * @private
     */
    getSmartLegendLocation(labelBound: svgBase.Rect, legendBound: svgBase.Rect, margin: MarginModel): void;
    /**
     * Retrieves the title rectangle for the circular 3D chart.
     *
     * @param {CircularChart3D} circular - The circular 3D chart instance.
     * @returns {svgBase.Rect | null} - The title rectangle or null if no title is present.
     * @private
     */
    private getTitleRect;
    /**
     * Retrieves the legend options based on the specified index from the given legend collections.
     *
     * @param {number} index - The index used to find the corresponding legend in the legend collections.
     * @param {LegendOptions[]} legendCollections - The array of legend options containing legend information.
     * @returns {LegendOptions | undefined} - The legend options corresponding to the specified index, or null if not found.
     * @private
     */
    private legendByIndex;
    /**
     * Handles the click event to show or hide the legend.
     *
     * @param {Event} event - The event object representing the click event.
     * @returns {void}
     * @private
     */
    click(event: Event): void;
    /**
     * Updates the visibility of a slice in the circular 3D chart based on the specified index and visibility status.
     *
     * @param {number} index - The index of the slice to be updated.
     * @param {boolean} isVisible - The visibility status to be set for the slice.
     * @returns {void}
     * @private
     */
    private sliceVisibility;
    /**
     * Performs animation on the specified slice elements based on the visibility of a slice.
     *
     * @param {Element} element - The slice element to be animated.
     * @param {boolean} isVisible - A boolean value indicating the visibility of the slice.
     * @returns {void}
     */
    private sliceAnimate;
    /**
     * Retrieves the module name for the circular 3D chart legend.
     *
     * @returns {string} - The module name.
     */
    protected getModuleName(): string;
    /**
     * Destroys the circular 3D chart legend.
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-charts/src/circularchart3d/legend/legend-model.d.ts
/**
 * Interface for a class CircularChart3DLegendSettings
 */
export interface CircularChart3DLegendSettingsModel {
    /**
     * If set to true, the legend will be displayed for the chart.
     *
     * @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 pie$: CircularChart3D = new CircularChart3D({
     * ...
     *   legendSettings: {
     *     visible: true,
     *     position: 'Custom',
     *     location: { x: 100, y: 150 },
     *   },
     * ...
     * });
     * pie.appendTo('#Chart');
     * ```
     */
    location?: LocationModel;
    /**
     * Position of the legend in the chart. Available options include:
     * * Auto: Places the legend based on the 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 around the legend items.
     *
     * @default 8
     */
    padding?: number;
    /**
     * Option to customize the padding between legend items.
     *
     * @default null
     */
    itemPadding?: number;
    /**
     * Legend in chart can be aligned as follows:
     * * Near: Aligns the legend to the left of the chart.
     * * Center: Aligns the legend to the center of the chart.
     * * Far: Aligns the legend to the right of the chart.
     *
     * @default 'Center'
     */
    alignment?: Alignment;
    /**
     * Options to customize the legend text.
     */
    textStyle?: FontModel;
    /**
     * Shape height of the legend in pixels.
     *
     * @default 10
     */
    shapeHeight?: number;
    /**
     * Shape width of the legend in pixels.
     *
     * @default 10
     */
    shapeWidth?: number;
    /**
     * Options to customize the border of the legend.
     */
    border?: BorderModel;
    /**
     *  Options to customize left, right, top and bottom margins of the chart.
     */
    margin?: MarginModel;
    /**
     *  Options to customize left, right, top and bottom padding for legend container of the chart.
     */
    containerPadding?: ContainerPaddingModel;
    /**
     * Padding between the legend shape and text.
     *
     * @default 8
     */
    shapePadding?: number;
    /**
     * The background color of the legend that accepts value in hex and rgba as a valid CSS color string.
     *
     * @default 'transparent'
     */
    background?: string;
    /**
     * Opacity of the legend.
     *
     * @default 1
     */
    opacity?: number;
    /**
     * If set to true, series visibility collapses based on the legend visibility.
     *
     * @default true
     */
    toggleVisibility?: boolean;
    /**
     * If set to true, the series get highlighted, while hovering the legend.
     *
     * @default false
     */
    enableHighlight?: boolean;
    /**
     * Description for legends.
     *
     * @default null
     */
    description?: string;
    /**
     * TabIndex value for the legend.
     *
     * @default 3
     */
    tabIndex?: number;
    /**
     * Title for legends.
     *
     * @default null
     */
    title?: string;
    /**
     * Options to customize the legend title.
     */
    titleStyle?: FontModel;
    /**
     * Legend title position.
     *
     * @default 'Top'
     */
    titlePosition?: LegendTitlePosition;
    /**
     * Defines the text wrap behavior to employ when the individual legend text overflows.
     * * `Normal`: Specifies to break words only at allowed break points.
     * * `Wrap`: Specifies to break a word once it is too long to fit on a line by itself.
     * * `AnyWhere`: Specifies to break a word at any point if there are no otherwise-acceptable break points in the line.
     *
     * @default 'Normal'
     */
    textWrap?: TextWrap;
    /**
     * Defines the text overflow behavior to employ when the individual legend text overflows
     * * `Clip`: Specifies the text is clipped and not accessible.
     * * `Ellipsis`: Specifies an ellipsis (“...”) to the clipped text.
     *
     * @default 'Ellipsis'
     */
    textOverflow?: LabelOverflow;
    /**
     * Maximum width for the legend title.
     *
     * @default 100
     */
    maximumTitleWidth?: number;
    /**
     * Minimum label width for the legend text.
     *
     * @default null
     */
    maximumLabelWidth?: number;
    /**
     * If set to true, legend will be visible using pages.
     *
     * @default true
     */
    enablePages?: boolean;
    /**
     * If `isInversed` set to true, then it inverses legend item content (image and text).
     *
     * @default false.
     */
    isInversed?: boolean;
    /**
     * If `reverse` is set to true, it reverses the order of legend items.
     *
     * @default false
     */
    reverse?: boolean;
}
/**
 * Interface for a class CircularChartLegend3D
 */
export interface CircularChartLegend3DModel {
}
//node_modules/@syncfusion/ej2-charts/src/chart3d/chart3D.d.ts
/**
 * The Chart3D class represents a 3D chart component that extends the base.Component class
 * and implements the base.INotifyPropertyChanged interface.
 *
 * @public
 * @class
 * @extends base.Component<HTMLElement>
 * @implements {base.INotifyPropertyChanged} base.INotifyPropertyChanged
 */
export  class Chart3D extends base.Component<HTMLElement> implements base.INotifyPropertyChanged {
    /**
     * Title of the chart
     *
     * @default ''
     */
    title: string;
    /**
     * SubTitle of the chart.
     *
     * @default ''
     */
    subTitle: string;
    /**
     * Specifies the theme for the chart.
     *
     * @default 'Bootstrap5'
     */
    theme: ChartTheme;
    /**
     * Description for chart.
     *
     * @default null
     */
    description: string;
    /**
     * 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 background image of the chart that accepts value in string as url link or location of an image.
     *
     * @default null
     */
    backgroundImage: string;
    /**
     * 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 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 chart3D: Chart3D = new Chart3D({
     * ...
     *  dataSource:dataManager,
     *   series: [{
     *        xName: 'Id',
     *        yName: 'Estimate',
     *        query: query
     *    }],
     * ...
     * });
     * chart3D.appendTo('#Chart');
     * ```
     *
     * @default ''
     */
    dataSource: Object | data.DataManager;
    /**
     * 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;
    /**
     * Depth of the 3D Chart from front view of the series to the background wall.
     *
     * @default 50
     */
    depth: number;
    /**
     * Defines the width of the 3D chart wall.
     *
     * @default 2
     */
    wallSize: number;
    /**
     * Defines the slope angle for the 3D chart.
     *
     * @default 0
     */
    tilt: number;
    /**
     * If set true, enables the rotation in the 3D chart.
     *
     * @default false
     */
    enableRotation: boolean;
    /**
     * Defines the rotating angle for the 3D chart.
     *
     * @default 0
     */
    rotation: number;
    /**
     * To enable the side by side placing the points for column type series.
     *
     * @default true
     */
    enableSideBySidePlacement: boolean;
    /**
     * Defines the perspective angle for the 3D chart.
     *
     * @default 90
     */
    perspectiveAngle: number;
    /**
     * Represents the color of the 3D wall.
     *
     * @default null
     */
    wallColor: string;
    /**
     * It specifies whether the chart should be render in transposed manner or not.
     *
     * @default false
     */
    isTransposed: boolean;
    /**
     * Defines the currencyCode format of the chart
     *
     * @private
     * @aspType string
     */
    private currencyCode;
    /**
     * Enables or disables the export feature in the 3D chart.
     *
     * @default false
     */
    enableExport: boolean;
    /**
     * Triggered before the chart is loaded.
     *
     * @event load
     */
    load: base.EmitType<Chart3DLoadedEventArgs>;
    /**
     * Triggered after the chart is loaded.
     *
     * @event loaded
     */
    loaded: base.EmitType<Chart3DLoadedEventArgs>;
    /**
     * Triggered when the user clicks on data points.
     *
     * @event pointClick
     *
     */
    pointClick: base.EmitType<Chart3DPointEventArgs>;
    /**
     * Triggered when the user hovers over data points.
     *
     * @event pointMove
     *
     */
    pointMove: base.EmitType<Chart3DPointEventArgs>;
    /**
     * Triggered when the data point is ready to render on the screen.
     *
     * @event pointRender
     * @deprecated
     */
    pointRender: base.EmitType<Chart3DPointRenderEventArgs>;
    /**
     * Triggered when the legend is ready to render on the screen.
     *
     * @event legendRender
     * @deprecated
     *
     */
    legendRender: base.EmitType<Chart3DLegendRenderEventArgs>;
    /**
     * Triggered when the user clicks on the legend.
     *
     * @event legendClick
     */
    legendClick: base.EmitType<Chart3DLegendClickEventArgs>;
    /**
     * Triggered when the series is ready to render on the screen.
     *
     * @event seriesRender
     * @deprecated
     */
    seriesRender: base.EmitType<Chart3DSeriesRenderEventArgs>;
    /**
     * Triggered when the data label is ready to render on the screen.
     *
     * @event textRender
     * @deprecated
     */
    textRender: base.EmitType<Chart3DTextRenderEventArgs>;
    /**
     * Triggered when the tooltip is ready to render on the screen.
     *
     * @event tooltipRender
     */
    tooltipRender: base.EmitType<Chart3DTooltipRenderEventArgs>;
    /**
     * Triggers before resizing of chart
     *
     * @event beforeResize
     *
     */
    beforeResize: base.EmitType<Chart3DBeforeResizeEventArgs>;
    /**
     * Triggers after resizing of chart.
     *
     * @event resized
     *
     */
    resized: base.EmitType<Chart3DResizeEventArgs>;
    /**
     * Triggered when the user hovers over a 3D chart.
     *
     * @event chart3DMouseMove
     *
     */
    chart3DMouseMove: base.EmitType<Chart3DMouseEventArgs>;
    /**
     * Triggered when the user clicks on a 3D chart.
     *
     * @event chart3DMouseClick
     *
     */
    chart3DMouseClick: base.EmitType<Chart3DMouseEventArgs>;
    /**
     * Triggered when the mouse is pressed down on a 3D chart.
     *
     * @event chart3DMouseDown
     *
     */
    chart3DMouseDown: base.EmitType<Chart3DMouseEventArgs>;
    /**
     * Triggered when the cursor leaves a 3D chart.
     *
     * @event chart3DMouseLeave
     *
     */
    chart3DMouseLeave: base.EmitType<Chart3DMouseEventArgs>;
    /**
     * Triggered when the mouse button is released on a 3D chart.
     *
     * @event chart3DMouseUp
     *
     */
    chart3DMouseUp: base.EmitType<Chart3DMouseEventArgs>;
    /**
     * Triggers before each axis label is rendered.
     *
     * @event axisLabelRender
     * @deprecated
     */
    axisLabelRender: base.EmitType<Chart3DAxisLabelRenderEventArgs>;
    /**
     * Triggers after the selection is completed.
     *
     * @event selectionComplete
     */
    selectionComplete: base.EmitType<Chart3DSelectionCompleteEventArgs>;
    /**
     * Triggers before the export gets started.
     *
     * @event beforeExport
     */
    beforeExport: base.EmitType<Chart3DExportEventArgs>;
    /**
     * Triggers after11 the export completed.
     *
     * @event afterExport
     */
    afterExport: base.EmitType<IAfterExportEventArgs>;
    /**
     * Triggers before the prints gets started.
     *
     * @event beforePrint
     */
    beforePrint: base.EmitType<Chart3DPrintEventArgs>;
    /**
     *  Options to customize left, right, top and bottom margins of the chart.
     */
    margin: MarginModel;
    /**
     * Options for customizing the title of the Chart.
     */
    titleStyle: TitleSettingsModel;
    /**
     * Options for customizing the Subtitle of the Chart.
     */
    subTitleStyle: TitleSettingsModel;
    /**
     * The chart legend configuration options.
     */
    legendSettings: Chart3DLegendSettingsModel;
    /**
     * Options for customizing the color and width of the chart border.
     */
    border: BorderModel;
    /**
     * Options to configure the horizontal axis.
     */
    primaryXAxis: Chart3DAxisModel;
    /**
     * Options to configure the vertical axis.
     */
    primaryYAxis: Chart3DAxisModel;
    /**
     * The chart tooltip configuration options.
     */
    tooltip: Chart3DTooltipSettingsModel;
    /**
     * Options to split Chart into multiple plotting areas horizontally.
     * Each object in the collection represents a plotting area in the Chart.
     */
    rows: Chart3DRowModel[];
    /**
     * Options to split chart into multiple plotting areas vertically.
     * Each object in the collection represents a plotting area in the chart.
     */
    columns: Chart3DColumnModel[];
    /**
     * Secondary axis collection for the chart.
     */
    axes: Chart3DAxisModel[];
    /**
     * The configuration for series in the chart.
     */
    series: Chart3DSeriesModel[];
    /**
     * Defines the color for the highlighted data point.
     *
     * @default ''
     */
    highlightColor: string;
    /**
     * Specifies whether a series or data point should be highlighted. The options are:
     * * none: Disables the selection.
     * * series: selects a series.
     * * point: selects a point.
     * * cluster: selects a cluster of point
     *
     * @default None
     */
    selectionMode: Chart3DSelectionMode;
    /**
     * Specifies whether a series or data point should be highlighted. The options are:
     * * none: Disables the highlight.
     * * series: highlight a series.
     * * point: highlight a point.
     * * cluster: highlight a cluster of point
     *
     * @default None
     */
    highlightMode: HighlightMode;
    /**
     * Specifies whether series or data point has to be selected. They are,
     * * none: sets none as selecting pattern.
     * * chessboard: sets chess board as selecting pattern.
     * * dots: sets dots as  selecting pattern.
     * * diagonalForward: sets diagonal forward as selecting pattern.
     * * crosshatch: sets crosshatch as selecting pattern.
     * * pacman: sets pacman selecting pattern.
     * * diagonalbackward: sets diagonal backward as selecting pattern.
     * * grid: sets grid as selecting pattern.
     * * turquoise: sets turquoise as selecting pattern.
     * * star: sets star as selecting pattern.
     * * triangle: sets triangle as selecting pattern.
     * * circle: sets circle as selecting pattern.
     * * tile: sets tile as selecting pattern.
     * * horizontaldash: sets horizontal dash as selecting pattern.
     * * verticaldash: sets vertical dash as selecting pattern.
     * * rectangle: sets rectangle as selecting pattern.
     * * box: sets box as selecting pattern.
     * * verticalstripe: sets vertical stripe as  selecting pattern.
     * * horizontalstripe: sets horizontal stripe as selecting pattern.
     * * bubble: sets bubble as selecting pattern.
     *
     * @default None
     */
    selectionPattern: SelectionPattern;
    /**
     * Specifies whether series or data point has to be selected. They are,
     * * none: sets none as highlighting pattern.
     * * chessboard: sets chess board as highlighting pattern.
     * * dots: sets dots as highlighting pattern.
     * * diagonalForward: sets diagonal forward as highlighting pattern.
     * * crosshatch: sets crosshatch as highlighting pattern.
     * * pacman: sets pacman highlighting  pattern.
     * * diagonalbackward: sets diagonal backward as highlighting pattern.
     * * grid: sets grid as highlighting pattern.
     * * turquoise: sets turquoise as highlighting pattern.
     * * star: sets star as highlighting  pattern.
     * * triangle: sets triangle as highlighting pattern.
     * * circle: sets circle as highlighting  pattern.
     * * tile: sets tile as highlighting pattern.
     * * horizontaldash: sets horizontal dash as highlighting pattern.
     * * verticaldash: sets vertical dash as highlighting pattern.
     * * rectangle: sets rectangle as highlighting  pattern.
     * * box: sets box as highlighting pattern.
     * * verticalstripe: sets vertical stripe as highlighting  pattern.
     * * horizontalstripe: sets horizontal stripe as highlighting  pattern.
     * * bubble: sets bubble as highlighting  pattern.
     *
     * @default None
     */
    highlightPattern: SelectionPattern;
    /**
     * If set true, enables the multi selection in chart. It requires `selectionMode` to be `Point` | `Series` | or `Cluster`.
     *
     * @default false
     */
    isMultiSelect: boolean;
    /**
     * Specifies the point indexes to be selected while loading a chart.
     * It requires `selectionMode` or `highlightMode` to be `Point` | `Series` | or `Cluster`.
     * ```html
     * <div id='Chart'></div>
     * ```
     * ```typescript
     * let chart3D: Chart3D = new Chart3D({
     * ...
     *   selectionMode: 'Point',
     *   selectedDataIndexes: [ { series: 0, point: 1},
     *                          { series: 2, point: 3} ],
     * ...
     * });
     * chart3D.appendTo('#Chart');
     * ```
     *
     * @default []
     */
    selectedDataIndexes: IndexesModel[];
    /**
     * Specifies whether a grouping separator should be used for a number.
     *
     * @default false
     */
    useGroupingSeparator: boolean;
    /**
     * Palette for the chart series.
     *
     * @default []
     */
    palettes: string[];
    /**
     *
     * Localization object.
     *
     * @private
     */
    localeObject: base.L10n;
    /**
     * Default values of localization values.
     */
    private defaultLocalConstants;
    /**
     * Gets the current visible series of the Chart.
     *
     * @hidden
     */
    visibleSeries: Chart3DSeries[];
    /**
     * Gets the current visible axis of the Chart.
     *
     * @hidden
     */
    axisCollections: Chart3DAxis[];
    /**
     * The `dataLabel3DModule` is used to manipulate and add data label to the series.
     */
    dataLabel3DModule: DataLabel3D;
    /**
     * The `tooltip3DModule` is used to manipulate and add tooltip to the series.
     */
    tooltip3DModule: Tooltip3D;
    /**
     * The `selection3DModule` is used to manipulate and add selection to the chart.
     */
    selection3DModule: Selection3D;
    /**
     * The `highlight3DModule` is used to manipulate and add highlight to the chart.
     */
    highlight3DModule: Highlight3D;
    /**
     * The Export Module is used to export chart.
     */
    export3DModule: Export3D;
    /**
     * The `legend3DModule` is used to manipulate and add legend to the chart.
     *
     * @private
     */
    legend3DModule: Legend3D;
    private previousTargetId;
    private currentPointIndex;
    private currentSeriesIndex;
    private currentLegendIndex;
    private isLegend;
    requireInvertedAxis: boolean;
    /** @private */
    svgObject: Element;
    /** @private */
    isTouch: boolean;
    /** @private */
    renderer: svgBase.SvgRenderer;
    /** @private */
    svgRenderer: svgBase.SvgRenderer;
    /** @private */
    initialClipRect: svgBase.Rect;
    /** @private */
    seriesElements: Element;
    /** @private */
    visibleSeriesCount: number;
    /** @private */
    intl: base.Internationalization;
    /** @private */
    dataLabelCollections: svgBase.Rect[];
    /** @private */
    dataLabelElements: Element;
    /** @private */
    mouseX: number;
    /** @private */
    mouseY: number;
    /** @private */
    redraw: boolean;
    /** @private */
    animateSeries: boolean;
    /** @public */
    animated: boolean;
    /** @public */
    duration: number;
    /** @private */
    availableSize: svgBase.Size;
    /** @private */
    delayRedraw: boolean;
    /** @private */
    mouseDownX: number;
    /** @private */
    mouseDownY: number;
    /** @private */
    previousMouseMoveX: number;
    /** @private */
    previousMouseMoveY: number;
    /** @private */
    isPointMouseDown: boolean;
    private resizeTo;
    /** @private */
    disableTrackTooltip: boolean;
    /** @private */
    startMove: boolean;
    /** @private */
    radius: number;
    /** @private */
    visible: number;
    /** @private */
    clickCount: number;
    /** @private */
    maxPointCount: number;
    /** @private */
    singleClickTimer: number;
    /** @private */
    isRtlEnabled: boolean;
    /** @private */
    scaleX: number;
    /** @private */
    scaleY: number;
    private titleCollection;
    private subTitleCollection;
    /** @private */
    themeStyle: Chart3DThemeStyle;
    private chartId;
    /** @private */
    svgId: string;
    /** @private */
    chart3D: Element;
    /** @private */
    isRedrawSelection: boolean;
    /**
     * Touch object to unwire the touch event from element.
     */
    private touchObject;
    /** @private */
    resizeBound: any;
    /** @private */
    longPressBound: any;
    /** @private */
    isLegendClicked: boolean;
    private htmlObject;
    /** @private */
    vector: Vector3D;
    /** @private */
    wallRender: WallRenderer;
    /** @private */
    matrixObj: Matrix3D;
    /** @private */
    bspTreeObj: BinaryTreeBuilder;
    /** @private */
    polygon: Polygon3D;
    /** @private */
    graphics: Graphics3D;
    /** @private */
    transform3D: ChartTransform3D;
    /** @private */
    svg3DRenderer: Svg3DRenderer;
    /** @private */
    axisRender: AxisRenderer;
    /** @private */
    chart3DRender: Chart3DRender;
    /** @private */
    rotateActivate: boolean;
    /** @private */
    previousID: string;
    /** @private */
    isRemove: boolean;
    /** @private */
    previousCoords: {
        x: number;
        y: number;
    };
    /** @private */
    polygons: Chart3DPolygon[];
    /** @private */
    currentSeries: Chart3DSeries;
    /**
     * Render panel for chart.
     *
     * @hidden
     */
    chartAxisLayoutPanel: CartesianAxisLayoutPanel;
    /**
     * Gets all the horizontal axis of the Chart.
     *
     * @hidden
     */
    horizontalAxes: Chart3DAxis[];
    /**
     * Gets all the vertical axis of the Chart.
     *
     * @hidden
     */
    verticalAxes: Chart3DAxis[];
    /**
     * Constructor for creating the 3D chart
     *
     * @param {Chart3DModel} options - Specifies the 3D chart model.
     * @param {string | HTMLElement} element - Specifies the element for the 3D chart.
     * @hidden
     */
    constructor(options?: Chart3DModel, element?: string | HTMLElement);
    /**
     * Checks if the given elementId has special characters and modifies it if necessary.
     *
     * @param {string} elementId - The input elementId to be checked.
     * @returns {string} - The modified elementId.
     */
    private isIdHasSpecialCharacter;
    /**
     * For internal use only - Initialize the event handler;
     *
     * @returns {void}
     */
    protected preRender(): void;
    /**
     * Initializes private variables and prepares the chart component for rendering.
     *
     * @returns {void}
     */
    private initPrivateVariable;
    /**
     * Method to set culture for chart.
     *
     * @returns {void}
     */
    private setCulture;
    /**
     * To Initialize the 3D chart rendering.
     *
     * @returns {void}
     */
    protected render(): void;
    /**
     * Renders the chart using a Cartesian coordinate system.
     *
     * This function is responsible for rendering the chart's graphical elements and data points using a Cartesian coordinate system.
     * It may include actions such as drawing axes, plotting data, and applying visual styles.
     *
     * @returns {void}
     */
    private cartesianChartRendering;
    /**
     * Method to create SVG element.
     *
     * @returns {void}
     */
    createChartSvg(): void;
    /**
     * Method to remove the SVG.
     *
     * @returns {void}
     * @private
     */
    removeSvg(): void;
    /**
     * Processes and prepares data for rendering.
     *
     * @param {boolean} render - (Optional) Indicates whether to trigger rendering after data processing.
     * @returns {void}
     */
    private processData;
    /**
     * Initializes the data module for a three-dimensional series.
     *
     * @param {Chart3DSeries} series - The series for which data module is initialized.
     * @returns {void}
     */
    private initializeDataModule;
    /**
     * Animate the series bounds.
     *
     * @param {number} duration - Specifies the duration of the animation.
     * @private
     * @returns {void}
     */
    animate(duration?: number): void;
    /**
     * Refresh the chart bounds.
     *
     * @private
     * @returns {void}
     */
    refreshBound(): void;
    /**
     * Clears the selection state in the chart.
     *
     * @returns {void}
     */
    private removeSelection;
    /**
     * Calculates stacked values for three-dimensional series in the chart.
     *
     * @returns {void}
     */
    private calculateStackValues;
    /**
     * Calculates the bounds and dimensions for the chart area.
     *
     * @returns {void}
     */
    private calculateBounds;
    /**
     * Renders various chart elements, including the border, title, series, legend, and datalabel etc.
     *
     * @returns {void}
     */
    private renderElements;
    /**
     * Animates the height of an SVG element.
     *
     * @param {HTMLElement} element - The SVG element to animate.
     * @param {Chart3DSeries} series - The series related to the animation.
     * @param {Chart3DPoint} point - The point related to the animation.
     * @param {HTMLElement} dataLabelElement - The data label element related to the animation.
     * @param {HTMLElement} shapeElement - The shape element related to the animation.
     * @param {HTMLElement} templateElement - The template element related to the animation.
     * @returns {void}
     */
    private animateRect;
    /**
     * Animates the series.
     *
     * @returns {void}
     */
    private doAnimation;
    /**
     * Performs data selection based on selected data indexes.
     *
     * @returns {void}
     */
    private performSelection;
    /**
     * To render the legend.
     *
     * @returns {void}
     */
    private renderLegend;
    /**
     * To set the left and top position for secondary element in chart.
     *
     * @returns {void}
     */
    private setSecondaryElementPosition;
    /**
     * Initializes module-specific elements and settings for the chart.
     *
     * @returns {void}
     */
    private initializeModuleElements;
    /**
     * Renders elements specific to chart series.
     *
     * @returns {void}
     */
    private createSeriesElements;
    /**
     * Renders the chart title.
     *
     * @returns {void}
     */
    private renderTitle;
    /**
     * Renders the chart sub title.
     *
     * @param {TextOption} options - Specifies the text option.
     * @returns {void}
     */
    private renderSubTitle;
    /**
     * Renders the chart border.
     *
     * @returns {void}
     */
    private renderBorder;
    /**
     * To provide the array of modules needed for control rendering
     *
     * @returns {base.ModuleDeclaration[]} - Array of modules needed for control rendering
     * @private
     */
    requiredModules(): base.ModuleDeclaration[];
    /**
     * Finds axis modules within a collection of module declarations.
     *
     * @param {base.ModuleDeclaration[]} modules - The collection of module declarations to search for axis modules.
     * @returns {base.ModuleDeclaration[]} - An array of module declarations representing axis modules.
     */
    private findAxisModule;
    /**
     * Sets the theme for the chart.
     *
     * @returns {void}
     */
    private setTheme;
    /**
     * Handles to set style for key event on the document.
     *
     * @param {target} target - element which currently focused.
     * @returns {void}
     * @private
     */
    private setNavigationStyle;
    /**
     * Handles to remove style for key event on the document.
     *
     * @returns {void}
     * @private
     */
    private removeNavigationStyle;
    /**
     * Renders the three-dimensional chart, creating a 3D visualization.
     *
     * The function sets up a 3D perspective, depth, rotation, and tilt to create a 3D visualization of the chart.
     *
     * @returns {void}
     */
    private render3DChart;
    /**
     * Draws three-dimensional axes for the chart.
     *
     * @returns {void}
     */
    private draw3DAxis;
    /**
     * Renders chart series elements.
     *
     * @private
     * @returns {void}
     */
    renderSeries(): void;
    /**
     * Initializes the configuration for an axis within a three-dimensional chart series.
     *
     * @param {Chart3DSeries} series - The series to which the axis belongs.
     * @param {Chart3DAxis} axis - The axis to be configured and initialized.
     * @param {boolean} isSeries - Indicates whether the axis configuration is for the series.
     * @returns {void}
     */
    private initAxis;
    /**
     * Calculate the visible axis.
     *
     * @private
     * @returns {void}
     */
    private calculateVisibleAxis;
    /**
     * Unbinding events from the element while component destroy.
     *
     * @hidden
     * @returns {void}
     */
    private unWireEvents;
    /**
     * Binding events to the element while component creation.
     *
     * @hidden
     * @returns {void}
     */
    private wireEvents;
    /**
     * Handles the long press on chart.
     *
     * @param {base.TapEventArgs} e - Specifies the tap event arguments.
     * @returns {boolean} false
     * @private
     */
    longPress(e?: base.TapEventArgs): boolean;
    /**
     * Handles the mouse click on chart.
     *
     * @param {PointerEvent | TouchEvent} e - Specifies the pointer event.
     * @returns {boolean} false
     * @private
     */
    chartOnMouseClick(e: PointerEvent | TouchEvent): boolean;
    /**
     * Export method for the chart.
     *
     * @param {ExportType} type - Specifies the type of the export.
     * @param {string} fileName - Specifies the file name of the exported file.
     * @returns {void}
     */
    export(type: ExportType, fileName: string): void;
    /**
     * Handles the chart resize.
     *
     * @returns {boolean} false
     * @private
     */
    chartResize(): boolean;
    /**
     * Triggers a point-specific event with the specified event type and event data.
     *
     * @param {string} event - The type of event to trigger.
     * @param {PointerEvent | TouchEvent} [e] - (Optional) The event data associated with the triggered event.
     * @returns {void}
     */
    private triggerPointEvent;
    /**
     * Handles the mouse down on chart.
     *
     * @param {PointerEvent} e - Specifies the pointer event.
     * @returns {boolean} false
     * @private
     */
    chartOnMouseDown(e: PointerEvent): boolean;
    /**
     * Handles the mouse move on chart.
     *
     * @param {PointerEvent} e - Specifies the pointer event.
     * @returns {boolean} false
     * @private
     */
    mouseMove(e: PointerEvent): boolean;
    /**
     * Handles the mouse leave on chart.
     *
     * @param {PointerEvent} e - Specifies the pointer event.
     * @returns {boolean} false
     * @private
     */
    mouseLeave(e: PointerEvent): boolean;
    /**
     * Handles the mouse up on chart.
     *
     * @param {PointerEvent} e - Specifies the pointer event.
     * @returns {boolean} false
     * @private
     */
    mouseEnd(e: PointerEvent): boolean;
    /**
     * Handles the mouse up on chart.
     *
     * @param {PointerEvent | TouchEvent} e - Specifies the pointer event.
     * @private
     * @returns {boolean} false
     */
    chartOnMouseUp(e: PointerEvent | TouchEvent): boolean;
    /**
     * Prints the chart in the page.
     *
     * @param {string[] | string | Element} id - The id of the chart to be printed on the page.
     * @returns {void}
     */
    print(id?: string[] | string | Element): void;
    /**
     * Handles the mouse move on chart.
     *
     * @param {PointerEvent | TouchEvent} e - Specifies the pointer event.
     * @returns {boolean} false
     * @private
     */
    private chartOnMouseMove;
    /**
     * Displays a tooltip for a title or element at the specified coordinates.
     *
     * @param {Event} event - The event triggering the tooltip display.
     * @param {number} x - The X-coordinate for the tooltip.
     * @param {number} y - The Y-coordinate for the tooltip.
     * @param {boolean} [isTouch] - (Optional) Indicates whether the event was triggered by a touch input.
     * @returns {void}
     */
    private titleTooltip;
    /**
     * To find mouse x, y coordinate for the chart.
     *
     * @param {number} pageX - Specifies the x value of the pageX.
     * @param {number} pageY - Specifies the y value of the pageY.
     * @returns {void}
     */
    private setMouseXY;
    /**
     * Handles the mouse leave on chart.
     *
     * @param {PointerEvent | TouchEvent} e - Specifies the pointer event.
     * @returns {boolean} false
     * @private
     */
    chartOnMouseLeave(e: PointerEvent | TouchEvent): boolean;
    /**
     * Handles the 'onkeydown' keyboard event on the chart.
     *
     * @param {KeyboardEvent} e - Specifies the keydown event arguments.
     * @returns {boolean} false
     * @private
     */
    chartKeyDown(e: KeyboardEvent): boolean;
    /**
     *Handles the 'onkeyup' keyboard event on the chart..
     *
     * @param {KeyboardEvent} e - Specifies the keyup event arguments.
     * @returns {boolean} false
     * @private
     */
    chartKeyUp(e: KeyboardEvent): boolean;
    /**
     * Sets the tabindex for the current element and removes it from the previous element.
     *
     * @param {HTMLElement} previousElement - The element whose tabindex should be removed.
     * @param {HTMLElement} currentElement - The element to which tabindex should be set.
     * @returns {void}
     * @private
     */
    setTabIndex(previousElement: HTMLElement, currentElement: HTMLElement): void;
    /**
     * Calculates the actual index considering boundary conditions within a given range.
     *
     * @param {number} index - The index to be adjusted.
     * @param {number} totalLength - The total length or maximum allowed index value.
     * @returns {number} - The adjusted index within the valid range.
     */
    private getActualIndex;
    /**
     *  Used to configure tooltips for the chart's axes.
     *
     * @private
     * @param {Event} event - Specifies the event args.
     * @param {number} x - Specifies the x value.
     * @param {number} y - Specifies the y value.
     * @param {boolean} isTouch - Specifies the boolean value.
     * @description - Handles the axis tooltip.
     * @returns {void}
     */
    private axisTooltip;
    /**
     * Searches for an axis label based on the provided text.
     *
     * @param {string} text - The text to search for within the axis label collection.
     * @returns {string} - The matching axis label, or an empty string if no match is found.
     */
    private findAxisLabel;
    /**
     * Sets focus on a child element within the parent element.
     *
     * @param {HTMLElement} element - The parent element containing the child to be focused.
     * @returns {string} - A message indicating the result of the focus operation.
     */
    private focusChild;
    /**
     * Handles the document onkey.
     *
     * @param {KeyboardEvent} e - The keyboard event triggering the navigation.
     * @private
     * @returns {void}
     */
    private documentKeyHandler;
    /**
     * Handles chart keyboard navigation events.
     *
     * @param {KeyboardEvent} e - The keyboard event triggering the navigation.
     * @param {string} targetId - The ID of the target element or chart component.
     * @param { string} actionKey - - The type of keyboard action (e.g., 'Tab' or 'ArrowMove').
     * @returns {void}
     */
    private chartKeyboardNavigations;
    /**
     *  Applys the style for chart.
     *
     * @private
     * @param {HTMLElement} element - Specifies the element.
     * @returns {void}
     */
    private setStyle;
    /**
     * The method to determine whether it is a secondary axis or not.
     *
     * @param  {Chart3DAxis} axis - Specifies the axis.
     * @returns {boolean} Returns the boolean value.
     * @private
     */
    isSecondaryAxis(axis: Chart3DAxis): boolean;
    /**
     * To refresh the rows and columns.
     *
     * @param {Chart3DRow[] | Chart3DColumn} definitions - Specifies the row or column definition.
     * @private
     * @returns {void}
     */
    private refreshDefinition;
    /**
     * Adds new series to the chart
     *
     * @param {Chart3DSeriesModel[]} seriesCollection - The series collection to be added to the chart.
     * @returns {void}
     */
    addSeries(seriesCollection: Chart3DSeriesModel[]): void;
    /**
     * Removes a series from the chart
     *
     * @param {number} index - The index of the series to be removed from the chart.
     * @returns {void}
     */
    removeSeries(index: number): void;
    /**
     * Refresh the axis default value.
     *
     * @private
     * @returns {void}
     */
    refreshAxis(): void;
    /**
     * Refresh the 3D chart axis.
     *
     * @param {Chart3DAxis} axis - Specifies the axis.
     * @returns {boolean} Returns the boolean value.
     * @private
     */
    private axisChange;
    /**
     * Get visible series by index.
     *
     * @param {Chart3DSeries[]} visibleSeries - Specifies the visible series.
     * @param {number} index - Specifies the index.
     * @returns {Chart3DSeries} Returns the chart 3D series.
     */
    private getVisibleSeries;
    /**
     * To remove style element.
     *
     * @private
     * @returns {void}
     */
    private removeStyles;
    /**
     * To find the 3D chart visible series.
     *
     * @private
     * @returns {void}
     */
    private calculateVisibleSeries;
    highlightAnimation(element: HTMLElement, index: number, duration: number, startOpacity: number): void;
    stopElementAnimation(element: HTMLElement, index: number): void;
    /**
     * To destroy the widget.
     *
     * @function destroy
     * @member of Chart
     * @returns {void}
     */
    destroy(): void;
    /**
     * For internal use only - Get the module name.
     *
     * @returns {string} returns the module name
     * @private
     */
    getModuleName(): string;
    /**
     * Get the properties to be maintained in the persisted state.
     *
     * @private
     * @returns {string} returns the string.
     */
    getPersistData(): string;
    /**
     * Called internally if any of the property value changed.
     *
     * @private
     * @param {Chart3DModel} newProp - Specifies the new property.
     * @param {Chart3DModel} oldProp - Specifies the old property.
     * @returns {void}
     */
    onPropertyChanged(newProp: Chart3DModel, oldProp: Chart3DModel): void;
}
//node_modules/@syncfusion/ej2-charts/src/chart3d/chart3D-model.d.ts
/**
 * Interface for a class Chart3D
 */
export interface Chart3DModel extends base.ComponentModel{
    /**
     * Title of the chart
     *
     * @default ''
     */
    title?: string;
    /**
     * SubTitle of the chart.
     *
     * @default ''
     */
    subTitle?: string;
    /**
     * Specifies the theme for the chart.
     *
     * @default 'Bootstrap5'
     */
    theme?: ChartTheme;
    /**
     * Description for chart.
     *
     * @default null
     */
    description?: string;
    /**
     * 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 background image of the chart that accepts value in string as url link or location of an image.
     *
     * @default null
     */
    backgroundImage?: string;
    /**
     * 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 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 chart3D$: Chart3D = new Chart3D({
     * ...
     *  dataSource:dataManager,
     *   series: [{
     *        xName: 'Id',
     *        yName: 'Estimate',
     *        query: query
     *    }],
     * ...
     * });
     * chart3D.appendTo('#Chart');
     * ```
     *
     * @default ''
     */
    dataSource?: Object | data.DataManager;
    /**
     * 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;
    /**
     * Depth of the 3D Chart from front view of the series to the background wall.
     *
     * @default 50
     */
    depth?: number;
    /**
     * Defines the width of the 3D chart wall.
     *
     * @default 2
     */
    wallSize?: number;
    /**
     * Defines the slope angle for the 3D chart.
     *
     * @default 0
     */
    tilt?: number;
    /**
     * If set true, enables the rotation in the 3D chart.
     *
     * @default false
     */
    enableRotation?: boolean;
    /**
     * Defines the rotating angle for the 3D chart.
     *
     * @default 0
     */
    rotation?: number;
    /**
     * To enable the side by side placing the points for column type series.
     *
     * @default true
     */
    enableSideBySidePlacement?: boolean;
    /**
     * Defines the perspective angle for the 3D chart.
     *
     * @default 90
     */
    perspectiveAngle?: number;
    /**
     * Represents the color of the 3D wall.
     *
     * @default null
     */
    wallColor?: string;
    /**
     * It specifies whether the chart should be render in transposed manner or not.
     *
     * @default false
     */
    isTransposed?: boolean;
    /**
     * Defines the currencyCode format of the chart
     *
     * @private
     * @aspType string
     */
    currencyCode?: string;
    /**
     * Enables or disables the export feature in the 3D chart.
     *
     * @default false
     */
    enableExport?: boolean;
    /**
     * Triggered before the chart is loaded.
     *
     * @event load
     */
    load?: base.EmitType<Chart3DLoadedEventArgs>;
    /**
     * Triggered after the chart is loaded.
     *
     * @event loaded
     */
    loaded?: base.EmitType<Chart3DLoadedEventArgs>;
    /**
     * Triggered when the user clicks on data points.
     *
     * @event pointClick
     *
     */
    pointClick?: base.EmitType<Chart3DPointEventArgs>;
    /**
     * Triggered when the user hovers over data points.
     *
     * @event pointMove
     *
     */
    pointMove?: base.EmitType<Chart3DPointEventArgs>;
    /**
     * Triggered when the data point is ready to render on the screen.
     *
     * @event pointRender
     * @deprecated
     */
    pointRender?: base.EmitType<Chart3DPointRenderEventArgs>;
    /**
     * Triggered when the legend is ready to render on the screen.
     *
     * @event legendRender
     * @deprecated
     *
     */
    legendRender?: base.EmitType<Chart3DLegendRenderEventArgs>;
    /**
     * Triggered when the user clicks on the legend.
     *
     * @event legendClick
     */
    legendClick?: base.EmitType<Chart3DLegendClickEventArgs>;
    /**
     * Triggered when the series is ready to render on the screen.
     *
     * @event seriesRender
     * @deprecated
     */
    seriesRender?: base.EmitType<Chart3DSeriesRenderEventArgs>;
    /**
     * Triggered when the data label is ready to render on the screen.
     *
     * @event textRender
     * @deprecated
     */
    textRender?: base.EmitType<Chart3DTextRenderEventArgs>;
    /**
     * Triggered when the tooltip is ready to render on the screen.
     *
     * @event tooltipRender
     */
    tooltipRender?: base.EmitType<Chart3DTooltipRenderEventArgs>;
    /**
     * Triggers before resizing of chart
     *
     * @event beforeResize
     *
     */
    beforeResize?: base.EmitType<Chart3DBeforeResizeEventArgs>;
    /**
     * Triggers after resizing of chart.
     *
     * @event resized
     *
     */
    resized?: base.EmitType<Chart3DResizeEventArgs>;
    /**
     * Triggered when the user hovers over a 3D chart.
     *
     * @event chart3DMouseMove
     *
     */
    chart3DMouseMove?: base.EmitType<Chart3DMouseEventArgs>;
    /**
     * Triggered when the user clicks on a 3D chart.
     *
     * @event chart3DMouseClick
     *
     */
    chart3DMouseClick?: base.EmitType<Chart3DMouseEventArgs>;
    /**
     * Triggered when the mouse is pressed down on a 3D chart.
     *
     * @event chart3DMouseDown
     *
     */
    chart3DMouseDown?: base.EmitType<Chart3DMouseEventArgs>;
    /**
     * Triggered when the cursor leaves a 3D chart.
     *
     * @event chart3DMouseLeave
     *
     */
    chart3DMouseLeave?: base.EmitType<Chart3DMouseEventArgs>;
    /**
     * Triggered when the mouse button is released on a 3D chart.
     *
     * @event chart3DMouseUp
     *
     */
    chart3DMouseUp?: base.EmitType<Chart3DMouseEventArgs>;
    /**
     * Triggers before each axis label is rendered.
     *
     * @event axisLabelRender
     * @deprecated
     */
    axisLabelRender?: base.EmitType<Chart3DAxisLabelRenderEventArgs>;
    /**
     * Triggers after the selection is completed.
     *
     * @event selectionComplete
     */
    selectionComplete?: base.EmitType<Chart3DSelectionCompleteEventArgs>;
    /**
     * Triggers before the export gets started.
     *
     * @event beforeExport
     */
    beforeExport?: base.EmitType<Chart3DExportEventArgs>;
    /**
     * Triggers after111 the export completed.
     *
     * @event afterExport
     */
    afterExport?: base.EmitType<IAfterExportEventArgs>;
    /**
     * Triggers before the prints gets started.
     *
     * @event beforePrint
     */
    beforePrint?: base.EmitType<Chart3DPrintEventArgs>;
    /**
     *  Options to customize left, right, top and bottom margins of the chart.
     */
    margin?: MarginModel;
    /**
     * Options for customizing the title of the Chart.
     */
    titleStyle?: TitleSettingsModel;
    /**
     * Options for customizing the Subtitle of the Chart.
     */
    subTitleStyle?: TitleSettingsModel;
    /**
     * The chart legend configuration options.
     */
    legendSettings?: Chart3DLegendSettingsModel;
    /**
     * Options for customizing the color and width of the chart border.
     */
    border?: BorderModel;
    /**
     * Options to configure the horizontal axis.
     */
    primaryXAxis?: Chart3DAxisModel;
    /**
     * Options to configure the vertical axis.
     */
    primaryYAxis?: Chart3DAxisModel;
    /**
     * The chart tooltip configuration options.
     */
    tooltip?: Chart3DTooltipSettingsModel;
    /**
     * Options to split Chart into multiple plotting areas horizontally.
     * Each object in the collection represents a plotting area in the Chart.
     */
    rows?: Chart3DRowModel[];
    /**
     * Options to split chart into multiple plotting areas vertically.
     * Each object in the collection represents a plotting area in the chart.
     */
    columns?: Chart3DColumnModel[];
    /**
     * Secondary axis collection for the chart.
     */
    axes?: Chart3DAxisModel[];
    /**
     * The configuration for series in the chart.
     */
    series?: Chart3DSeriesModel[];
    /**
     * Defines the color for the highlighted data point.
     *
     * @default ''
     */
    highlightColor?: string;
    /**
     * Specifies whether a series or data point should be highlighted. The options are:
     * * none: Disables the selection.
     * * series: selects a series.
     * * point: selects a point.
     * * cluster: selects a cluster of point
     *
     * @default None
     */
    selectionMode?: Chart3DSelectionMode;
    /**
     * Specifies whether a series or data point should be highlighted. The options are:
     * * none: Disables the highlight.
     * * series: highlight a series.
     * * point: highlight a point.
     * * cluster: highlight a cluster of point
     *
     * @default None
     */
    highlightMode?: HighlightMode;
    /**
     * Specifies whether series or data point has to be selected. They are,
     * * none: sets none as selecting pattern.
     * * chessboard: sets chess board as selecting pattern.
     * * dots: sets dots as  selecting pattern.
     * * diagonalForward: sets diagonal forward as selecting pattern.
     * * crosshatch: sets crosshatch as selecting pattern.
     * * pacman: sets pacman selecting pattern.
     * * diagonalbackward: sets diagonal backward as selecting pattern.
     * * grid: sets grid as selecting pattern.
     * * turquoise: sets turquoise as selecting pattern.
     * * star: sets star as selecting pattern.
     * * triangle: sets triangle as selecting pattern.
     * * circle: sets circle as selecting pattern.
     * * tile: sets tile as selecting pattern.
     * * horizontaldash: sets horizontal dash as selecting pattern.
     * * verticaldash: sets vertical dash as selecting pattern.
     * * rectangle: sets rectangle as selecting pattern.
     * * box: sets box as selecting pattern.
     * * verticalstripe: sets vertical stripe as  selecting pattern.
     * * horizontalstripe: sets horizontal stripe as selecting pattern.
     * * bubble: sets bubble as selecting pattern.
     *
     * @default None
     */
    selectionPattern?: SelectionPattern;
    /**
     * Specifies whether series or data point has to be selected. They are,
     * * none: sets none as highlighting pattern.
     * * chessboard: sets chess board as highlighting pattern.
     * * dots: sets dots as highlighting pattern.
     * * diagonalForward: sets diagonal forward as highlighting pattern.
     * * crosshatch: sets crosshatch as highlighting pattern.
     * * pacman: sets pacman highlighting  pattern.
     * * diagonalbackward: sets diagonal backward as highlighting pattern.
     * * grid: sets grid as highlighting pattern.
     * * turquoise: sets turquoise as highlighting pattern.
     * * star: sets star as highlighting  pattern.
     * * triangle: sets triangle as highlighting pattern.
     * * circle: sets circle as highlighting  pattern.
     * * tile: sets tile as highlighting pattern.
     * * horizontaldash: sets horizontal dash as highlighting pattern.
     * * verticaldash: sets vertical dash as highlighting pattern.
     * * rectangle: sets rectangle as highlighting  pattern.
     * * box: sets box as highlighting pattern.
     * * verticalstripe: sets vertical stripe as highlighting  pattern.
     * * horizontalstripe: sets horizontal stripe as highlighting  pattern.
     * * bubble: sets bubble as highlighting  pattern.
     *
     * @default None
     */
    highlightPattern?: SelectionPattern;
    /**
     * If set true, enables the multi selection in chart. It requires `selectionMode` to be `Point` | `Series` | or `Cluster`.
     *
     * @default false
     */
    isMultiSelect?: boolean;
    /**
     * Specifies the point indexes to be selected while loading a chart.
     * It requires `selectionMode` or `highlightMode` to be `Point` | `Series` | or `Cluster`.
     * ```html
     * <div id='Chart'></div>
     * ```
     * ```typescript
     * let chart3D$: Chart3D = new Chart3D({
     * ...
     *   selectionMode: 'Point',
     *   selectedDataIndexes: [ { series: 0, point: 1},
     *                          { series: 2, point: 3} ],
     * ...
     * });
     * chart3D.appendTo('#Chart');
     * ```
     *
     * @default []
     */
    selectedDataIndexes?: IndexesModel[];
    /**
     * Specifies whether a grouping separator should be used for a number.
     *
     * @default false
     */
    useGroupingSeparator?: boolean;
    /**
     * Palette for the chart series.
     *
     * @default []
     */
    palettes?: string[];
}
//node_modules/@syncfusion/ej2-charts/src/chart3d/utils/renderer.d.ts
/**
 * The WallRenderer class provides methods to update the 3D wall of the chart.
 */
export  class WallRenderer {
    /**
     * Updates the 3D wall of the chart based on the chart area type.
     *
     * @param {Chart3D} chart - The Chart3D instance to update the 3D wall for.
     * @returns {void}
     */
    update3DWall(chart: Chart3D): void;
    /**
     * Updates the top wall of the 3D chart based on the specified chart and axis.
     *
     * @param {Chart3D} chart - The Chart3D instance for which the top wall is updated.
     * @returns {void}
     */
    private updateTopWall;
    /**
     * Updates the right wall of the 3D chart based on the specified chart and axis.
     *
     * @param {Chart3D} chart - The Chart3D instance for which the right wall is updated.
     * @returns {void}
     */
    private updateRightWall;
    /**
     * Updates the back wall of the 3D chart based on the specified chart.
     *
     * @param {Chart3D} chart - The Chart3D instance for which the back wall is updated.
     * @returns {void}
     */
    private updateBackWall;
    /**
     * Updates the left wall of the 3D chart based on the specified chart.
     *
     * @param {Chart3D} chart - The Chart3D instance for which the left wall is updated.
     * @returns {void}
     */
    private updateLeftWall;
    /**
     * Updates the bottom wall of the 3D chart based on the specified chart.
     *
     * @param {Chart3D} chart - The Chart3D instance for which the bottom wall is updated.
     * @returns {void}
     */
    private updateBottomWall;
}
/**
 * 3D chart axis render/
 */
export  class AxisRenderer {
    /**
     * Draws the 3D axes at the specified index for the given axis and chart.
     *
     * @param {number} index - The index of the axis.
     * @param {Chart3DAxis} axis - The Chart3DAxis instance to draw.
     * @param {Chart3D} chart - The Chart3D instance for which the axes are drawn.
     * @returns {void}
     */
    drawAxes(index: number, axis: Chart3DAxis, chart: Chart3D): void;
    /**
     * Draws the title for the specified 3D axis on the given chart.
     *
     * @param {Chart3DAxis} axis - The Chart3DAxis instance for which the title is drawn.
     * @param {Chart3D} chart - The Chart3D instance on which the title is drawn.
     * @param {number} index - The index of the axis.
     * @returns {void}
     */
    private drawAxisTitle;
    /**
     * Trims the specified text to fit within the maximum width, applying the provided labelStyle and font settings.
     *
     * @param {number} maxWidth - The maximum width to fit the text within.
     * @param {string} text - The text to be trimmed.
     * @param {Chart3DTextFontModel} labelStyle - The label style settings to be applied.
     * @param {Chart3DTextFontModel} font - The font settings to be applied.
     * @returns {string} - The trimmed text.
     */
    private textTrim;
    /**
     * Distributes labels into multiple rows based on the specified length, currentX, currentLabel, axis, and font settings.
     *
     * @param {number} length - The length of the labels.
     * @param {number} currentX - The current X-coordinate.
     * @param {Visible3DLabels} currentLabel - The current label settings.
     * @param {Chart3DAxis} axis - The Chart3DAxis instance.
     * @param {Chart3DTextFontModel} font - The font settings to be applied.
     * @returns {void}
     */
    private multipleRows;
    /**
     * Draws the labels for the specified 3D axis on the given chart.
     *
     * @param {Chart3DAxis} axis - The Chart3DAxis instance for which the labels are drawn.
     * @param {Chart3D} chart - The Chart3D instance on which the labels are drawn.
     * @param {number} index - The index of the axis.
     * @returns {void}
     */
    private drawAxisLabel;
    /**
     * Renders the 3D ticks for the specified axis with the given size, width, and on the provided chart.
     *
     * @param {Chart3DAxis} axis - The Chart3DAxis instance for which the ticks are rendered.
     * @param {number} size - The size of the ticks.
     * @param {number} width - The width of the ticks.
     * @param {Chart3D} chart - The Chart3D instance on which the ticks are rendered.
     * @param {number} index - The index of the axis.
     * @returns {void}
     */
    private renderTicks3D;
    /**
     * Calculates the 3D position for ticks on the specified axis with the given tickSize, width, and chart dimensions.
     *
     * @param {Chart3DAxis} axis - The Chart3DAxis instance for which the tick position is calculated.
     * @param {number} tickSize - The size of the ticks.
     * @param {number} width - The width of the ticks.
     * @param {number} x1 - The X-coordinate of the starting point.
     * @param {number} y1 - The Y-coordinate of the starting point.
     * @param {number} x2 - The X-coordinate of the ending point.
     * @param {number} y2 - The Y-coordinate of the ending point.
     * @param {Chart3D} chart - The Chart3D instance.
     * @returns {Chart3DTickPosition} - The calculated 3D tick position.
     */
    private calculatePosition3D;
    /**
     * Draws the 3D grid lines for the specified axis on the given chart.
     *
     * @param {Chart3DAxis} axis - The Chart3DAxis instance for which the grid lines are drawn.
     * @param {Chart3D} chart - The Chart3D instance on which the grid lines are drawn.
     * @param {number} index - The index of the axis.
     * @returns {void}
     */
    private drawGridLines3D;
}
//node_modules/@syncfusion/ej2-charts/src/chart3d/utils/enum.d.ts
/**
 * Defines the type series in 3D chart. They are
 * * column - Renders the column series.
 * * bar - Renders the stacking column series
 * * stackingColumn - Renders the stacking column series.
 * * stackingBar - Renders the stacking bar series.
 * * StackingColumn100 - Renders the stacking column series.
 * * StackingBar100 - Renders the stacking bar 100 percent series.
 */
export  type Chart3DSeriesType = 
/**  Define the Column series. */
'Column' | 
/**  Define the Bar series. */
'Bar' | 
/**  Define the StackingColumn series. */
'StackingColumn' | 
/**  Define the StackingBar series. */
'StackingBar' | 
/** Define the StackingColumn100 series */
'StackingColumn100' | 
/** Define the StackingBar100 series */
'StackingBar100';
/**
 * Defines the LabelPosition, They are.
 * * 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.
 */
export  type Chart3DDataLabelPosition = 
/** 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';
/**
 * Defines the 3D chart SelectionMode, They are.
 * * none - Disable the selection.
 * * series - To select a series.
 * * point - To select a point.
 * * cluster - To select a cluster of point.
 */
export  type Chart3DSelectionMode = 
/** Disable the selection. */
'None' | 
/** To select a series. */
'Series' | 
/** To select a point. */
'Point' | 
/** To select a cluster of point. */
'Cluster';
/**
 * Defines the mode for rendering legend items.
 * * Series - Render legend items based on visible series.
 * * Point - Render legend items based on points.
 */
export  type Chart3DLegendMode = 
/** Render legend items based on visible series */
'Series' | 
/** Render legend items based on points  */
'Point';
//node_modules/@syncfusion/ej2-charts/src/chart3d/utils/doubleRange.d.ts
/**
 * Numeric Range.
 *
 * @private
 */
export  class DoubleRange {
    private mStart;
    private mEnd;
    /**
     * The start value.
     *
     * @private
     * @returns {number} - The start value.
     */
    readonly start: number;
    /**
     * The end value.
     *
     * @private
     * @returns {number} - The end value.
     */
    readonly end: number;
    /**
     * The delta between the start and end values.
     *
     * @private
     * @returns {number} - The delta value.
     */
    readonly delta: number;
    constructor(start: number, end: number);
}
//node_modules/@syncfusion/ej2-charts/src/chart3d/utils/chart3dRender.d.ts
/**
 * Represents a 3D rendering configuration for the EJ3D rendering engine.
 *
 */
export  class Chart3DRender {
    transform: Chart3DBasicTransform;
    tree: Chart3DBspNode[];
}
/**
 * Represents a node in a Binary Space Partitioning (BSP) tree.
 *
 * @interface
 */
interface Chart3DBspNode {
    /** The front subtree of the BSP tree. */
    front: Chart3DBspNode;
    /** The back subtree of the BSP tree. */
    back: Chart3DBspNode;
    /** The splitting plane associated with the node. */
    plane: Chart3DPolygon;
}
/**
 * Represents a three-dimensional vector in space.
 */
export  class Vector3D {
    /** The x-coordinate of the vector. */
    x: number;
    /** The y-coordinate of the vector. */
    y: number;
    /** The z-coordinate of the vector. */
    z: number;
    /** A small value used for epsilon comparisons to handle floating-point inaccuracies.*/
    private epsilon;
    /**
     * Checks if a vector is valid (not NaN for any component).
     *
     * @param {Chart3DVector} point - The vector to check.
     * @returns {boolean} - True if the vector is valid, false otherwise.
     */
    isValid(point: Chart3DVector): boolean;
    /**
     * Constructs a new Vector3D instance.
     *
     * @constructor
     * @param {number | { x: number, y: number }} pointX - Either an object with x and y properties or the x-coordinate.
     * @param {number} [vy] - The y-coordinate (if the first parameter is a number).
     * @param {number} [vz] - The z-coordinate (if the first parameter is a number).
     */
    constructor(pointX: {
        x: number;
        y: number;
    } | number, vy?: number, vz?: number);
    /**
     * Creates a new Vector3D instance from provided coordinates.
     *
     * @param {number | { x: number, y: number }} vx - Either an object with x and y properties or the x-coordinate.
     * @param {number} vy - The y-coordinate.
     * @param {number} vz - The z-coordinate.
     * @returns {Chart3DVector} - The new Vector3D instance.
     */
    vector3D(vx: {
        x: number;
        y: number;
    } | number, vy: number, vz: number): Chart3DVector;
    /**
     * Subtracts one vector from another and returns the result.
     *
     * @param {Chart3DVector} v1 - The first vector.
     * @param {Chart3DVector} v2 - The second vector to subtract from the first.
     * @returns {Chart3DVector} - The resulting vector.
     */
    vector3DMinus(v1: Chart3DVector, v2: Chart3DVector): Chart3DVector;
    /**
     * Adds two vectors and returns the result.
     *
     * @param {Chart3DVector} v1 - The first vector.
     * @param {Chart3DVector} v2 - The second vector to add to the first.
     * @returns {Chart3DVector} - The resulting vector.
     */
    vector3DPlus(v1: Chart3DVector, v2: Chart3DVector): Chart3DVector;
    /**
     * Multiplies two vectors using the cross product and returns the result.
     *
     * @param {Chart3DVector} v1 - The first vector.
     * @param {Chart3DVector} v2 - The second vector.
     * @returns {Chart3DVector} - The resulting vector.
     */
    vector3DMultiply(v1: Chart3DVector, v2: Chart3DVector): Chart3DVector;
    /**
     * Calculates the dot product of two vectors.
     *
     * @param {Chart3DVector} v1 - The first vector.
     * @param {Chart3DVector} v2 - The second vector.
     * @returns {number} - The dot product.
     */
    vector3DAdd(v1: Chart3DVector, v2: Chart3DVector): number;
    /**
     * Multiplies a vector by a scalar value.
     *
     * @param {Chart3DVector} v1 - The vector to multiply.
     * @param {number} value - The scalar value.
     * @returns {Chart3DVector} - The resulting vector.
     */
    vector3DStarMultiply(v1: Chart3DVector, value: number): Chart3DVector;
    /**
     * Calculates the length of a vector.
     *
     * @param {Chart3DVector} vector - The vector to calculate the length of.
     * @returns {number} - The length of the vector.
     */
    getLength(vector: Chart3DVector): number;
    /**
     * Normalizes the vector to have a length of 1.
     *
     * @returns {void}
     */
    normalize(): void;
    /**
     * Calculates the normal vector of a triangle defined by three vectors.
     *
     * @param {Chart3DVector} v1 - The first vertex of the triangle.
     * @param {Chart3DVector} v2 - The second vertex of the triangle.
     * @param {Chart3DVector} v3 - The third vertex of the triangle.
     * @returns {Chart3DVector} - The normal vector of the triangle.
     */
    getNormal(v1: Chart3DVector, v2: Chart3DVector, v3: Chart3DVector): Chart3DVector;
}
/**
 * Represents a 3x3 or 4x4 matrix in 3D space and provides various matrix operations.
 *
 */
export  class Matrix3D {
    /** The size of the matrix, which is set to 4 by default. */
    private matrixSize;
    /**
     * Creates a 3D matrix with the specified size.
     *
     * @param {number} size - The size of the matrix.
     * @returns {number[][]} - The created 3D matrix.
     */
    matrix3D(size: number): number[][];
    /**
     * Checks if a matrix is an affine matrix.
     *
     * @param {number[][]} matrixData - The matrix to check.
     * @returns {boolean} - True if the matrix is an affine matrix, false otherwise.
     */
    isAffine(matrixData: number[][]): boolean;
    /**
     * Creates a new array with zeros.
     *
     * @param {number} initialSize - The size of the array.
     * @returns {number[]} - The created array.
     */
    createArray(initialSize: number): number[];
    /**
     * Gets the identity matrix.
     *
     * @returns {number[][]} -The identity matrix.
     */
    getIdentity(): number[][];
    /**
     * Gets the interval of a matrix.
     *
     * @param {number[][]} matrix - The matrix to get the interval for.
     * @returns {number[][]} - The interval matrix.
     */
    getInterval(matrix: number[][]): number[][];
    /**
     * Multiplies all elements of a matrix by a factor.
     *
     * @param {number} factor - The factor to multiply with.
     * @param {number[][]} matrix - The matrix to multiply.
     * @returns {number[][]} - The resulting matrix.
     */
    getMatrixMultiple(factor: number, matrix: number[][]): number[][];
    /**
     * Multiplies a matrix by a vector.
     *
     * @param {number[][]} matrix - The matrix.
     * @param {Chart3DVector} point - The vector to multiply with.
     * @returns {Chart3DVector} - The resulting vector.
     */
    getMatrixVectorMultiple(matrix: number[][], point: Chart3DVector): Chart3DVector;
    /**
     * Multiplies a matrix by a vector and applies translation.
     *
     * @param {number[][]} matrix - The matrix.
     * @param {Chart3DVector} vector - The vector to multiply with.
     * @returns {Vector3D} - The resulting vector.
     */
    getMatrixVectorAnd(matrix: number[][], vector?: Chart3DVector): {
        x: number;
        y: number;
        z: number;
    };
    /**
     * Multiplies two matrices.
     *
     * @param {number[][]} matrix1 - The first matrix.
     * @param {number[][]} matrix2 - The second matrix.
     * @returns {number[][]} - The resulting matrix.
     */
    getMatrixMultiplication(matrix1: number[][], matrix2: number[][]): number[][];
    /**
     * Gets the minor of a matrix.
     *
     * @param {number[][]} matrix - The matrix.
     * @param {number} columnIndex - The column index.
     * @param {number} rowIndex - The row index.
     * @returns {number} - The minor of the matrix.
     * @private
     */
    getMinor(matrix: number[][], columnIndex: number, rowIndex: number): number;
    /**
     * Gets a submatrix of a matrix.
     *
     * @param {number[][]} matrix - The matrix.
     * @param {number} columnIndex - The column index.
     * @param {number} rowIndex - The row index.
     * @returns {number[][]} - The submatrix.
     */
    getMatrix(matrix: number[][], columnIndex: number, rowIndex: number): number[][];
    /**
     * Gets the determinant of a matrix.
     *
     * @param {number[][]} matrix - The matrix.
     * @returns {number} - The determinant of the matrix.
     */
    getDeterminant(matrix: number[][]): number;
    /**
     * Transforms a matrix by translation.
     *
     * @param {number} x - The x-coordinate of the translation.
     * @param {number} y - The y-coordinate of the translation.
     * @param {number} z - The z-coordinate of the translation.
     * @returns {number[][]} - The transformed matrix.
     */
    transform(x: number, y: number, z: number): number[][];
    /**
     * Creates a matrix for rotation around the y-axis.
     *
     * @param {number} angle - The angle of rotation.
     * @returns {number[][]} - The rotation matrix.
     */
    turn(angle: number): number[][];
    /**
     * Creates a matrix for rotation around the x-axis.
     *
     * @param {number} angle - The angle of rotation.
     * @returns {number[][]} - The rotation matrix.
     */
    tilt(angle: number): number[][];
    /**
     * Transposes a matrix.
     *
     * @param {number[][]} matrix3D - The matrix to transpose.
     * @returns {number[][]} - The transposed matrix.
     */
    transposed(matrix3D: number[][]): number[][];
}
/**
 * Represents a 3D chart transformation utility that provides methods for transforming
 * and projecting 3D coordinates onto a 2D screen.
 *
 */
export  class ChartTransform3D {
    /** Represents the angle conversion factor from degrees to radians. */
    private toRadial;
    /** Represents a 3D vector for performing vector operations. */
    private vector;
    /** Represents a 3D matrix for performing matrix operations. */
    private matrixObj;
    /**
     * Initializes a new instance of the `ChartTransform3D` class.
     */
    constructor();
    /**
     * Creates a 3D transformation based on the specified size.
     *
     * @param {svgBase.Size} size - The size of the viewing area.
     * @returns {Chart3DBasicTransform} - The 3D transformation.
     */
    transform3D(size: svgBase.Size): Chart3DBasicTransform;
    /**
     * Applies the specified 3D transformation to the current state.
     *
     * @param {Chart3DBasicTransform} transform - The 3D transformation to apply.
     * @returns {void} - The 3D transformation.
     */
    transform(transform: Chart3DBasicTransform): void;
    /**
     * Updates the perspective matrix based on the specified angle.
     *
     * @param {number} angle - The perspective angle.
     * @param {Chart3DBasicTransform} transform - The 3D transformation.
     * @returns {void}
     */
    private updatePerspective;
    /**
     * Converts degrees to radians.
     *
     * @param {number} angle - The angle in degrees.
     * @returns {number} - The angle in radians.
     * @private
     */
    private degreeToRadianConverter;
    /**
     * Transforms a 3D vector to screen coordinates based on the current state.
     *
     * @param {Chart3DVector} vector3D - The 3D vector to transform.
     * @param {Chart3DBasicTransform} transform - The 3D transformation.
     * @param {Matrix3D} chartObj - Optional custom matrix object for transformation.
     * @returns {Chart3DLocation} - The screen coordinates.
     */
    toScreen(vector3D: Chart3DVector, transform: Chart3DBasicTransform, chartObj?: Matrix3D): Chart3DLocation;
    /**
     * Sets the view matrix in the transformation state.
     *
     * @param {number[][]} matrix - The new view matrix.
     * @param {Chart3DBasicTransform} transform - The 3D transformation.
     * @returns {void}
     */
    private setViewMatrix;
    /**
     * Calculates the final result matrix based on the current state.
     *
     * @param {Chart3DBasicTransform} transform - The 3D transformation.
     * @param {Matrix3D} matrixobj - Optional custom matrix object for transformation.
     * @returns {number[][]} - The final result matrix.
     */
    result(transform: Chart3DBasicTransform, matrixobj?: Matrix3D): number[][];
    /**
     * Sets the center in the transformation state.
     *
     * @param {Chart3DVector} center - The new center vector.
     * @param {Chart3DBasicTransform} transform - The 3D transformation.
     * @returns {void}
     */
    private setCenter;
}
/**
 * Represents a 3D graphics rendering utility for drawing and managing 3D elements in a chart.
 *
 */
export  class Graphics3D {
    /** The vector class. */
    private vector;
    /**
     * Adds a visual polygon to the 3D chart and returns its identifier.
     *
     * @param {Chart3DPolygon} polygon - The polygon to add.
     * @param {Chart3D} chart - The 3D chart.
     * @returns {number} - The identifier of the added polygon.
     */
    addVisual(polygon: Chart3DPolygon, chart: Chart3D): number;
    /**
     * Prepares the view for rendering based on specified parameters.
     *
     * @param {number} perspectiveAngle - The perspective angle.
     * @param {number} depth - The depth of the view.
     * @param {number} rotation - The rotation angle.
     * @param {number} tilt - The tilt angle.
     * @param {svgBase.Size} size - The size of the viewing area.
     * @param {Chart3D} chart - The 3D chart.
     * @returns {void}
     */
    prepareView(perspectiveAngle: number, depth: number, rotation: number, tilt: number, size: svgBase.Size, chart: Chart3D): void;
    /**
     * Renders the 3D view on the specified panel element.
     *
     * @param {Element} panel - The panel element to render the view on.
     * @param {Chart3D} chart - The 3D chart.
     * @param {number} rotation - The rotation angle.
     * @param {number} tilt - The tilt angle.
     * @param {svgBase.Size} size - The size of the viewing area.
     * @param {number} perspectiveAngle - The perspective angle.
     * @param {number} depth - The depth of the view.
     * @returns {void}
     */
    view(panel?: Element, chart?: Chart3D, rotation?: number, tilt?: number, size?: svgBase.Size, perspectiveAngle?: number, depth?: number): void;
    /**
     * Draws a 3D element based on the specified Binary Space Partitioning Node.
     *
     * @param {Chart3DBspNode} bspElement - The Binary Space Partitioning Node representing the 3D element.
     * @param {Chart3D} chart - The 3D chart.
     * @returns {void}
     */
    draw3DElement(bspElement: Chart3DBspNode, chart: Chart3D): void;
    /**
     * Draws the 3D nodes starting from the root based on the eye vector.
     *
     * @param {Chart3DBspNode} bspElement - The root Binary Space Partitioning Node.
     * @param {Chart3DVector} eyeVector - The eye vector.
     * @param {Element} panel - The panel element to render the view on.
     * @param {Chart3D} chart - The 3D chart.
     * @returns {void}
     */
    drawNode3D(bspElement: Chart3DBspNode, eyeVector: Chart3DVector, panel: Element, chart: Chart3D): void;
}
/**
 * Represents a binary tree builder for 3D polygons in a chart.
 *
 */
export  class BinaryTreeBuilder {
    /** A small value used for epsilon comparisons to handle floating-point inaccuracies.*/
    private epsilon;
    /** The 3D chart. */
    private chart;
    constructor(chart?: Chart3D);
    /**
     * Adds a polygon to the binary tree and returns its index.
     *
     * @param {Chart3DPolygon} polygon - The polygon to add.
     * @param {Chart3D} chart - The 3D chart.
     * @returns {number} - The index of the added polygon.
     */
    add(polygon: Chart3DPolygon, chart: Chart3D): number;
    /**
     * Gets the next index considering the array length and the current index.
     *
     * @param {number} index - The current index.
     * @param {number} count - The length of the array.
     * @returns {number} - The next index.
     */
    getNext(index: number, count: number): number;
    /**
     * Creates a PolyAttributes object based on the vector, index, and result.
     *
     * @param {Chart3DVector} point - The vector representing the point.
     * @param {number} index - The index of the point.
     * @param {string} result - The result classification.
     * @returns {Chart3DPolyAttributes} - The created PolyAttributes object.
     */
    vector3DIndexClassification(point: Chart3DVector, index: number, result: string): Chart3DPolyAttributes;
    /**
     * Classifies a point relative to a polygon.
     *
     * @param {Chart3DVector} point - The point to classify.
     * @param {Chart3DPolygon} polygon - The polygon for classification.
     * @returns {string} - The classification result ('OnPlane', 'OnBack', 'OnFront').
     */
    classifyPoint(point: Chart3DVector, polygon: Chart3DPolygon): string;
    /**
     * Classifies a polygon relative to another polygon.
     *
     * @param {Chart3DPolygon} refPolygon - The reference polygon.
     * @param {Chart3DPolygon} classPolygon - The polygon to classify.
     * @returns {string} - The classification result ('OnPlane', 'ToRight', 'ToLeft', 'Unknown').
     */
    classifyPolygon(refPolygon: Chart3DPolygon, classPolygon: Chart3DPolygon): string;
    /**
     * Splits a polygon into two parts based on another polygon.
     *
     * @param {Chart3DPolygon} splitPolygon - The polygon to split.
     * @param {Chart3DPolygon} refPolygon - The reference polygon for splitting.
     * @returns {Chart3DPolyCollections} - The resulting back and front parts.
     * @private
     */
    splitPolygon(splitPolygon: Chart3DPolygon, refPolygon: Chart3DPolygon): Chart3DPolyCollections;
    /**
     * Cuts out the front part of a polygon based on the PolyAttributes.
     *
     * @param {Chart3DPolyAttributes[]} polyPoints - The PolyAttributes array of the polygon.
     * @param {Chart3DPolyAttributes} initialVertex - The PolyAttributes representing the cutting point.
     * @returns {Chart3DVector[]} - The resulting points of the front part.
     */
    private cutOutFrontPolygon;
    /**
     * Cuts out the back part of a polygon based on the PolyAttributes.
     *
     * @param {Chart3DPolyAttributes[]} polyPoints - The PolyAttributes array of the polygon.
     * @param {Chart3DPolyAttributes} initialVertex - The PolyAttributes representing the cutting point.
     * @returns {Chart3DVector[]} - The resulting points of the back part.
     */
    private cutOutBackPolygon;
    /**
     * Builds a Binary Space Partitioning from a list of polygons.
     *
     * @param {Chart3DPolygon[]} [points] - The list of polygons to build the tree from.
     * @returns {Chart3DBspNode} - The root node of the Binary Space Partitioning tree.
     */
    build(points?: Chart3DPolygon[]): Chart3DBspNode;
}
/**
 * The Svg3DRenderer class provides methods for rendering SVG graphics in a 3D context.
 */
export  class Svg3DRenderer {
    /**
     * Gets a Chart3DStringBuilder instance for constructing strings.
     *
     * @returns {Chart3DStringBuilder} - The StringBuilder instance.
     */
    getStringBuilder(): Chart3DStringBuilder;
    /**
     * Parses a hex color code and returns its Red green Blue values.
     *
     * @param {string} hexColorCode - The hex color code.
     * @returns {Chart3DColorFormat | null} - The parsed color format (Red green Blue) or null if parsing fails.
     */
    hexToValue(hexColorCode: string): Chart3DColorFormat | null;
    /**
     * Converts a Chart3DColorFormat object to its corresponding color string.
     *
     * @param {Chart3DColorFormat} color - The color in Chart3DColorFormat.
     * @returns {string} - The color string representation.
     */
    hexColor(color: Chart3DColorFormat): string;
    /**
     * Checks if a given color string is in a valid format (hex or rgba).
     *
     * @param {string} color - The color string to check.
     * @returns {boolean} - True if the color string is valid, otherwise false.
     */
    checkColorFormat(color: string): boolean;
    /**
     * Draws text on an SVG element.
     *
     * @param {any} options - The options for drawing the text.
     * @param {string | string[]} label - The text label.
     * @param {FontModel} font - The font settings for the text.
     * @param {Chart3D} chart - The 3D chart instance.
     * @returns {Element} - The created SVG text element.
     */
    drawText(options: Chart3DTextOption | svgBase.SVGCanvasAttributes, label: string | string[], font: FontModel, chart: Chart3D): Element;
    /**
     * Transforms 3D coordinates to visible 2D coordinates on the chart.
     *
     * @param {Chart3DSeries} currentSeries - The current 3D series.
     * @param {number} x - The x-coordinate in 3D space.
     * @param {number} y - The y-coordinate in 3D space.
     * @param {Chart3D} chart - The 3D chart instance.
     * @returns {Chart3DLocation} - The transformed 2D coordinates.
     */
    transform3DToVisible(currentSeries: Chart3DSeries, x: number, y: number, chart: Chart3D): Chart3DLocation;
}
/**
 * Represents a 3D polygon in a chart.
 *
 */
export  class Polygon3D {
    /** A small constant used for numerical comparisons. */
    private epsilon;
    /** A small constant used for numerical comparisons. */
    private normal;
    /** A small constant used for numerical comparisons. */
    private vector;
    /** A small constant used for numerical comparisons. */
    private vectorPoints;
    /** A small constant used for numerical comparisons. */
    private d;
    /** A small constant used for numerical comparisons. */
    private matrixObj;
    /** A small constant used for numerical comparisons. */
    private tabIndex;
    /**
     * Creates a 3D polygon.
     *
     * @param {Chart3DVector[]} [points] - An array of 3D vectors representing points on the polygon.
     * @param {any} [tag] - Additional information or metadata for the polygon.
     * @param {number} [index] - An index associated with the polygon.
     * @param {string} [stroke] - The stroke color of the polygon.
     * @param {number} [strokeThickness] - The thickness of the polygon's stroke.
     * @param {number} [opacity] - The opacity of the polygon.
     * @param {string} [fill] - The fill color of the polygon.
     * @param {string} [name] - The name or identifier of the polygon.
     * @param {Element} [parent] - The parent element to which the polygon belongs.
     * @param {string} [text] - Additional text associated with the polygon.
     * @returns {Chart3DPolygon} - Returns the created polygon.
     */
    polygon3D(points?: Chart3DVector[], tag?: any, index?: number, stroke?: string, strokeThickness?: number, opacity?: number, fill?: string, name?: string, parent?: Element, text?: string): Chart3DPolygon;
    /**
     * Creates a 3D line.
     *
     * @param {Chart3DTickElement} line - The tick elements associated with the line.
     * @param {number} x1 - The x-coordinate of the starting point.
     * @param {number} y1 - The y-coordinate of the starting point.
     * @param {number} x2 - The x-coordinate of the ending point.
     * @param {number} y2 - The y-coordinate of the ending point.
     * @param {number} depth - The depth or z-coordinate of the line in 3D space.
     * @returns {Chart3DPolygon} - Returns the created 3D line as a polygon.
     */
    createLine(line: Chart3DTickElement, x1: number, y1: number, x2: number, y2: number, depth: number): Chart3DPolygon;
    /**
     *  Creates a 3D line polygon based on the given tick elements and points.
     *
     * @param {Chart3DTickElement} element - The tick elements associated with the line.
     * @param {Chart3DVector[]} points - The array of 3D vector points defining the line in 3D space.
     * @returns {Chart3DPolygon} - Returns the created 3D line polygon.
     */
    line3D(element: Chart3DTickElement, points: Chart3DVector[]): Chart3DPolygon;
    /**
     * Creates a 3D text polygon based on the given label element and points.
     *
     * @param {Chart3DLabelElement} element - The label element associated with the text.
     * @param {Chart3DVector[]} points - The array of 3D vector points defining the position of the text in 3D space.
     * @returns {Chart3DPolygon} - Returns the created 3D text polygon.
     */
    text3D(element: Chart3DLabelElement, points: Chart3DVector[]): Chart3DPolygon;
    /**
     * Creates a 3D cylinder based on the given vectors, chart, and styling parameters.
     *
     * @param {Chart3DVector} v1 - The start vector of the cylinder.
     * @param {Chart3DVector} v2 - The end vector of the cylinder.
     * @param {Chart3D} chart - The 3D chart to which the cylinder belongs.
     * @param {number} index - The index of the cylinder.
     * @param {string} type - The type of the cylinder.
     * @param {string} stroke - The stroke color of the cylinder.
     * @param {string} fill - The fill color of the cylinder.
     * @param {number} strokeThickness - The thickness of the stroke.
     * @param {number} opacity - The opacity of the cylinder.
     * @param {string} name - The name of the cylinder.
     * @param {Element} parent - The parent element of the cylinder.
     * @returns {Chart3DPolygon[]} - Returns an array of polygons representing the 3D cylinder.
     */
    createCylinder(v1: Chart3DVector, //top left front vecotr.
    v2: Chart3DVector, // bottom right back vector.
    chart: Chart3D, index: number, type: string, stroke: string, fill: string, strokeThickness: number, opacity: number, name: string, parent: Element): Chart3DPolygon[];
    /**
     * Creates a 3D box based on the given vectors, chart, and styling parameters.
     *
     * @param {Chart3DVector} v1 - The start vector of the box.
     * @param {Chart3DVector} v2 - The end vector of the box.
     * @param {Chart3D} chart - The 3D chart to which the box belongs.
     * @param {number} index - The index of the box.
     * @param {string} stroke - The stroke color of the box.
     * @param {string} fill - The fill color of the box.
     * @param {number} strokeThickness - The thickness of the stroke.
     * @param {number} opacity - The opacity of the box.
     * @param {boolean} inverse - A boolean indicating whether to inverse the box.
     * @param {string} name - The name of the box.
     * @param {Element} parent - The parent element of the box.
     * @param {string} [text] - Optional text associated with the box.
     * @returns {Chart3DPolygon[]} - Returns an array of polygons representing the 3D box.
     *
     */
    createBox(v1: Chart3DVector, //top left front vecotr.
    v2: Chart3DVector, // bottom right back vector.
    chart: Chart3D, index: number, stroke: string, fill: string, strokeThickness: number, opacity: number, inverse: boolean, name: string, parent: Element, text?: string): Chart3DPolygon[];
    /**
     * Calculates the normal vector for a 3D polygon based on the provided points.
     *
     * @param {...Chart3DVector} args - Variable number of vector3d arguments representing points of the polygon.
     * @returns {void}
     */
    calculateNormal(...args: any[]): void;
    /**
     * Tests whether the calculated normal vector is valid.
     *
     * @returns {boolean} - Returns true if the normal vector is valid, false otherwise.
     */
    test(): boolean;
    /**
     * Transforms the vector points of the specified polygon using the provided matrix.
     *
     * @param {number[][]} matrix - The transformation matrix.
     * @param {Chart3DPolygon} polygon - The polygon to transform.
     * @returns {void}
     */
    transform(matrix: number[][], polygon: Chart3DPolygon): void;
    /**
     *  Gets the normal vector based on the transformed points using the specified transformation matrix.
     *
     * @param {number[][]} transform - The transformation matrix.
     * @param {Chart3DVector[]} [vectorPoints] - The vector points.
     * @returns {Chart3DVector} - Returns the normal vector.
     * @private
     */
    getNormal(transform: number[][], vectorPoints?: Chart3DVector[]): Chart3DVector;
    /**
     * A method for creating text element.
     *
     * @param {Chart3DVector} position - text position.
     * @param {Chart3DLabelElement} element - text element.
     * @param {number} xLength - text element x value.
     * @param {number} yLength - text element y value.
     * @returns {Chart3DPolygon} - Returns the polygon.
     */
    createTextElement(position: Chart3DVector, element: Chart3DLabelElement, xLength: number, yLength: number): Chart3DPolygon;
    /**
     * Draws a template on the specified 3D chart panel.
     *
     * @param {Chart3DPolygon} panel - The 3D polygon representing the panel on which the template will be drawn.
     * @param {Chart3D} chart - The 3D chart to which the panel belongs.
     * @returns {void}
     */
    drawLine(panel: Chart3DPolygon, chart: Chart3D): void;
    /**
     * Draws text on the specified 3D chart panel.
     *
     * @param {Chart3DPolygon} panel - The 3D polygon representing the panel on which the text will be drawn.
     * @param {Chart3D} chart - The 3D chart to which the panel belongs.
     * @returns {void}
     */
    drawTemplate(panel: Chart3DPolygon, chart: Chart3D): void;
    /**
     * Draws a data label symbol for a specific data point in a three-dimensional series.
     *
     * @param {Chart3DPolygon} panel - The 3D polygon representing the panel on which the text will be drawn.
     * @param {Chart3D} chart - The 3D chart to which the panel belongs.
     * @returns {void}
     */
    drawText(panel: Chart3DPolygon, chart: Chart3D): void;
    /**
     * Draws a data label symbol for a specific data point in a three-dimensional series.
     *
     * @param {number} seriesIndex - The index of the series to which the data point belongs.
     * @param {Chart3DSeries} series - The three-dimensional series containing the data point.
     * @param {number} pointIndex - The index of the data point within the series.
     * @param {number} x - The x-coordinate of the center of the symbol.
     * @param {number} y - The y-coordinate of the center of the symbol.
     * @param {number} width - The width of the symbol.
     * @param {number} height - The height of the symbol.
     * @param {Chart3D} chart - The three-dimensional chart containing the series.
     * @returns {void}
     */
    private dataLabelSymbol;
    /**
     * Draws a three-dimensional polygon on the specified chart.
     *
     * @param {Chart3DPolygon} panel - The polygon to be drawn.
     * @param {Chart3D} chart - The three-dimensional chart on which the polygon is to be drawn.
     * @returns {void}
     */
    draw(panel: Chart3DPolygon, chart: Chart3D): void;
    /**
     * Applies a lightening effect to the given color by reducing its red, green and blue components.
     *
     * @param {string} color - The input color in hexadecimal format.
     * @param {Chart3D} chart - The three-dimensional chart associated with the color.
     * @returns {string} - The lightened color in hexadecimal format.
     */
    applyXLight(color: string, chart: Chart3D): string;
    /**
     * Applies a lightening effect to the given color by reducing its red, green and blue components with a focus on the Z-axis.
     *
     * @param {string} color - The input color in hexadecimal format.
     * @param {Chart3D} chart - The three-dimensional chart associated with the color.
     * @returns {string} - The lightened color in hexadecimal format.
     */
    applyZLight(color: string, chart: Chart3D): string;
}
/**
 * Gets the minimum delta value between adjacent data points on a given axis in a three-dimensional chart.
 *
 * @param {Chart3DAxis} axis - The three-dimensional axis for which the delta value is calculated.
 * @param {Chart3DSeries[]} seriesCollection - Collection of three-dimensional series in the chart.
 * @returns {number} - The minimum delta value between adjacent data points on the specified axis.
 */
export  function getMinPointsDeltaValue(axis: Chart3DAxis, seriesCollection: Chart3DSeries[]): number;
/**
 * Converts a numeric value to a coefficient based on the given 3D axis.
 *
 * @param {number} value - The numeric value to be converted.
 * @param {Chart3DAxis} axis - The 3D axis for reference.
 * @returns {number} - The coefficient value.
 * @private
 */
export  function valueToCoefficients(value: number, axis: Chart3DAxis): number;
//node_modules/@syncfusion/ej2-charts/src/chart3d/user-interaction/tooltip.d.ts
/**
 * Configures the ToolTips in the chart.
 *
 * @public
 */
export  class Chart3DTooltipSettings extends base.ChildProperty<Chart3DTooltipSettings> {
    /**
     * If set to true, enables the tooltip for the data points.
     *
     * @default false.
     */
    enable: boolean;
    /**
     * If set to true, enables the marker in the chart tooltip.
     *
     * @default true.
     */
    enableMarker: boolean;
    /**
     * The fill color of the tooltip, specified as a valid CSS color string in hex or rgba format.
     *
     * @default null
     */
    fill: string;
    /**
     * The header text for the tooltip. By default, it displays the series name.
     *
     * @default null
     */
    header: string;
    /**
     * The opacity of the tooltip, expressed as a numerical value.
     *
     * @default null
     */
    opacity: number;
    /**
     * Options for customizing the tooltip text appearance.
     */
    textStyle: FontModel;
    /**
     * The format for customizing the tooltip content.
     *
     * @default null.
     */
    format: string;
    /**
     * A custom template used to format the Tooltip content. You can use ${x} and ${y} as placeholder text to display the corresponding data points.
     *
     * @default null.
     * @aspType string
     */
    template: string | Function;
    /**
     * If set to true, tooltip will animate while moving from one point to another.
     *
     * @default true.
     */
    enableAnimation: boolean;
    /**
     * Duration for the Tooltip animation.
     *
     * @default 300
     */
    duration: number;
    /**
     * Duration of the fade-out animation for hiding the Tooltip.
     *
     * @default 1000
     */
    fadeOutDuration: number;
    /**
     * Fade Out duration for the Tooltip hide.
     *
     * @default Move
     */
    fadeOutMode: Chart3DFadeOutMode;
    /**
     * To wrap the tooltip long text based on available space.
     * This is only application for chart tooltip.
     *
     * @default false
     */
    enableTextWrap: boolean;
    /**
     * Options for customizing the tooltip borders.
     */
    border: BorderModel;
    /**
     * Specifies the location of the tooltip, relative to the chart.
     * If x is 20, tooltip moves by 20 pixels to the right of the chart
     * ```html
     * <div id='Chart'></div>
     * ```
     * ```typescript
     * let chart$: Chart = new Chart({
     * ...
     * tooltipSettings: {
     * enable: true,
     * location: { x: 100, y: 150 },
     *   },
     * ...
     * });
     * chart.appendTo('#Chart');
     * ```
     */
    location: LocationModel;
}
/**
 * The `Tooltip` module is used to render the tooltip for chart series.
 */
export  class Tooltip3D extends BaseTooltip {
    chart3D: Chart3D;
    /**
     * Constructor for tooltip module.
     *
     * @param {Chart3D} chart - Specifies the chart instance
     * @private
     */
    constructor(chart: Chart3D);
    /**
     *  tooltip timer ID.
     */
    private timerId;
    /**
     * Adds event listeners for handling mouse and touch events on the chart.
     *
     * @returns {void}
     * @private
     */
    private addEventListener;
    /**
     * Unbinding events for selection module.
     *
     * @returns {void}
     */
    private removeEventListener;
    /**
     * Handles the mouse up event for the 3D chart.
     *
     * @param {MouseEvent | PointerEvent | TouchEvent} event - The mouse or touch event.
     * @returns {void}
     * @private
     */
    private mouseUpHandler;
    /**
     * Handles the mouse leave event for the 3D chart.
     *
     * @returns {void}
     * @private
     */
    private mouseLeaveHandler;
    /**
     * Handles the mouse move event for the 3D chart.
     *
     * @param {MouseEvent | PointerEvent | TouchEvent} event - The mouse move event.
     * @returns {void}
     * @public
     */
    mouseMoveHandler(event: MouseEvent | PointerEvent | TouchEvent): void;
    /**
     * Handles the long press on chart.
     *
     * @returns {boolean} false
     * @private
     */
    private longPress;
    private styleAdded;
    /**
     * To create Tooltip styles for series
     *
     * @returns {void}
     */
    seriesStyles(): void;
    /**
     * Handles the tooltip display for the 3D chart.
     *
     * @param {MouseEvent | PointerEvent | TouchEvent | KeyboardEvent} e - The event triggering the tooltip display.
     * @returns {void}
     * @public
     */
    tooltip(e: MouseEvent | PointerEvent | TouchEvent | KeyboardEvent): void;
    /**
     * Finds the header for the tooltip based on the provided Point3D.
     *
     * @param {Point3D} data - The Point3D used to find the header.
     * @returns {string} - The header for the tooltip.
     * @private
     */
    findHeader(data: Point3D): string;
    /**
     * Renders the tooltip for the series in the 3D chart.
     *
     * @param {Chart3D} chart - The 3D chart instance.
     * @param {boolean} isFirst - A boolean indicating whether it is the first series.
     * @param {HTMLDivElement} tooltipDiv - The tooltip div element.
     * @param {MouseEvent | PointerEvent | TouchEvent | KeyboardEvent} e - The event that triggered the tooltip.
     * @returns {void}
     * @private
     */
    private renderSeriesTooltip;
    /**
     * Triggers the rendering of the tooltip with the specified point and text information.
     *
     * @param {Point3D} point - The data point for which the tooltip is triggered.
     * @param {boolean} isFirst - A boolean indicating whether it is the first series.
     * @param {string} textCollection - The text information to be displayed in the tooltip.
     * @param {string} headerText - The header text for the tooltip.
     * @returns {void}
     * @private
     */
    triggerTooltipRender(point: Point3D, isFirst: boolean, textCollection: string, headerText: string): void;
    /**
     * Applies a blur effect to the specified series while removing the effect from others.
     *
     * @param {Chart3DSeries[]} visibleSeries - The array of visible series in the 3D chart.
     * @param {Chart3DSeries} tooltipSeries - The series associated with the tooltip.
     * @returns {void}
     * @private
     */
    private blurEffect;
    private removeBlurEffect;
    /**
     * Gets the location of the symbol based on the current mouse position in the chart.
     *
     * @param {Point3D} point - The tooltip point.
     * @returns {ChartLocation} - The location of the tooltip.
     * @private
     */
    private getSymbolLocation;
    /**
     * Gets the tooltip text based on the provided point data.
     *
     * @param {Point3D} pointData - The data of the point for which the tooltip is generated.
     * @returns {string} - The tooltip text.
     * @private
     */
    getTooltipText(pointData: Point3D): string;
    /**
     * Gets the template text based on the provided data.
     *
     * @param {Point3D} data - The data object for which the template text is generated.
     * @returns {Chart3DPoint | Chart3DPoint[]} - The template text.
     * @private
     */
    private getTemplateText;
    /**
     * Finds the mouse value based on the provided data and chart.
     *
     * @param {Point3D} data - The data object containing information about the point.
     * @param {Chart3D} chart - The Chart3D instance.
     * @returns {void}
     * @private
     */
    private findMouseValue;
    /**
     * Parses the template using the provided point, series, format, xAxis, and yAxis information.
     *
     * @param {Chart3DPoint} point - The point for which the template needs to be parsed.
     * @param {Chart3DSeries} series - The series associated with the point.
     * @param {string} format - The format string.
     * @param {Chart3DAxis} xAxis - The X-axis of the chart.
     * @param {Chart3DAxis} yAxis - The Y-axis of the chart.
     * @returns {string} - The parsed template string.
     * @private
     */
    private parseTemplate;
    /**
     * Formats the point value based on the provided point, axis, dataValue, and other flags.
     *
     * @param {Chart3DPoint} point - The point for which the value needs to be formatted.
     * @param {Chart3DAxis} axis - The axis associated with the point.
     * @param {string} dataValue - The data value to be formatted.
     * @param {boolean} isXPoint - Indicates whether the point is on the X-axis.
     * @param {boolean} isYPoint - Indicates whether the point is on the Y-axis.
     * @returns {string} - The formatted point value.
     * @private
     */
    private formatPointValue;
    /**
     * Gets the format for the tooltip based on the provided chart and series.
     *
     * @param {Chart3D} chart - The 3D chart instance.
     * @param {Chart3DSeries} series - The 3D series for which the tooltip format is needed.
     * @returns {string} - The tooltip format.
     * @private
     */
    private getFormat;
    /**
     * Gets the 3D data (point and series) associated with the provided event in the chart.
     *
     * @param {MouseEvent | PointerEvent | TouchEvent | KeyboardEvent} event - The event for which to retrieve 3D data.
     * @returns {Point3D} - The 3D data object containing the point and series information.
     * @private
     */
    get3dData(event: MouseEvent | PointerEvent | TouchEvent | KeyboardEvent): Point3D;
    /**
     * Finds data based on the provided 3D data and the previous 3D data.
     *
     * @param {Point3D} data - The current 3D data.
     * @param {Point3D} previous - The previous 3D data.
     * @returns {boolean} - Returns true if the data is found based on the conditions.
     * @private
     */
    private findData;
    /**
     * Gets the module name.
     *
     * @returns {string} - The module name.
     */
    protected getModuleName(): string;
    /**
     * To destroy the tooltip.
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-charts/src/chart3d/user-interaction/tooltip-model.d.ts
/**
 * Interface for a class Chart3DTooltipSettings
 */
export interface Chart3DTooltipSettingsModel {
    /**
     * If set to true, enables the tooltip for the data points.
     *
     * @default false.
     */
    enable?: boolean;
    /**
     * If set to true, enables the marker in the chart tooltip.
     *
     * @default true.
     */
    enableMarker?: boolean;
    /**
     * The fill color of the tooltip, specified as a valid CSS color string in hex or rgba format.
     *
     * @default null
     */
    fill?: string;
    /**
     * The header text for the tooltip. By default, it displays the series name.
     *
     * @default null
     */
    header?: string;
    /**
     * The opacity of the tooltip, expressed as a numerical value.
     *
     * @default null
     */
    opacity?: number;
    /**
     * Options for customizing the tooltip text appearance.
     */
    textStyle?: FontModel;
    /**
     * The format for customizing the tooltip content.
     *
     * @default null.
     */
    format?: string;
    /**
     * A custom template used to format the Tooltip content. You can use ${x} and ${y} as placeholder text to display the corresponding data points.
     *
     * @default null.
     * @aspType string
     */
    template?: string | Function;
    /**
     * If set to true, tooltip will animate while moving from one point to another.
     *
     * @default true.
     */
    enableAnimation?: boolean;
    /**
     * Duration for the Tooltip animation.
     *
     * @default 300
     */
    duration?: number;
    /**
     * Duration of the fade-out animation for hiding the Tooltip.
     *
     * @default 1000
     */
    fadeOutDuration?: number;
    /**
     * Fade Out duration for the Tooltip hide.
     *
     * @default Move
     */
    fadeOutMode?: Chart3DFadeOutMode ;
    /**
     * To wrap the tooltip long text based on available space.
     * This is only application for chart tooltip.
     *
     * @default false
     */
    enableTextWrap?: boolean;
    /**
     * Options for customizing the tooltip borders.
     */
    border?: BorderModel;
    /**
     * Specifies the location of the tooltip, relative to the chart.
     * If x is 20, tooltip moves by 20 pixels to the right of the chart
     * ```html
     * <div id='Chart'></div>
     * ```
     * ```typescript
     * let chart$: Chart = new Chart({
     * ...
     * tooltipSettings: {
     * enable: true,
     * location: { x: 100, y: 150 },
     *   },
     * ...
     * });
     * chart.appendTo('#Chart');
     * ```
     */
    location?: LocationModel;
}
/**
 * Interface for a class Tooltip3D
 */
export interface Tooltip3DModel {
}
//node_modules/@syncfusion/ej2-charts/src/chart3d/user-interaction/selection.d.ts
/**
 * The `Selection` module handles the selection for chart.
 *
 * @private
 */
export  class Selection3D extends BaseSelection {
    /** @private */
    isSeriesMode: boolean;
    /** @private */
    selectedDataIndexes: Indexes[];
    /** @private */
    highlightDataIndexes: Indexes[];
    seriesIndex: number;
    /** @private */
    series: Chart3DSeries[];
    /** @private */
    chart: Chart3D;
    /** @private */
    currentMode: Chart3DSelectionMode | HighlightMode;
    /** @private */
    previousSelectedEle: Element[];
    /**
     * Constructor for selection module.
     *
     * @param {Chart3D} chart - Chart3D instance.
     * @private
     */
    constructor(chart: Chart3D);
    /**
     * Binding events for selection module.
     *
     * @returns {void}
     */
    private addEventListener;
    /**
     * Handles the mouse down event.
     *
     * @returns {void}
     */
    private mousedown;
    /**
     * Unbinding events for selection module.
     *
     * @returns {void}
     */
    private removeEventListener;
    /**
     * To find private variable values
     *
     * @param {Chart3D} chart - Chart3D instance.
     * @returns {void}
     */
    private initPrivateVariables;
    /**
     * Method to select the point and series.
     *
     * @param {Chart3D} chart - Chart3D instance
     * @returns {void}
     */
    invokeSelection(chart: Chart3D): void;
    /**
     * Generates the style for the series.
     *
     * @param {Chart3DSeriesModel} series - The series for which the style is generated.
     * @returns {string} - The generated style string.
     */
    generateStyle(series: Chart3DSeriesModel): string;
    /**
     * Selects the specified data indexes in the Chart3D.
     * This method is responsible for handling the selection of specific data indexes in the Chart3D.
     *
     * @param {Chart3D} chart - The Chart3D instance in which the data indexes are selected.
     * @param {Index[]} indexes - An array of Index objects representing the data indexes to be selected.
     * @returns {void}
     */
    selectDataIndex(chart: Chart3D, indexes: Index[]): void;
    /**
     * Retrieves the elements in the Chart3D associated with the specified data index.
     *
     * This method is responsible for obtaining the elements in the Chart3D related to the specified data index.
     *
     * @param {Chart3D} chart - The Chart3D instance containing the elements.
     * @param {Index} index - An Index object representing the data index.
     * @returns {Element[]} An array of Element objects representing the elements associated with the specified data index.
     */
    getElementByIndex(chart: Chart3D, index: Index): Element[];
    /**
     * This method is responsible for obtaining the clustered elements in the Chart3D related to the specified data index.
     * Clustering typically involves obtaining a group of related elements for a specific data index.
     *
     * @param {Chart3D} chart - The Chart3D instance containing the clustered elements.
     * @param {Index} index - An Index object representing the data index.
     * @returns {Element[]} An array of Element objects representing the clustered elements associated with the specified data index.
     */
    getClusterElements(chart: Chart3D, index: Index): Element[];
    /**
     * Method to get the selected element.
     *
     * @param {Chart3D} chart - The Chart3D instance to which the series belongs.
     * @param {Chart3DSeriesModel} series - The series in which the data point is located.
     * @param {Index} index - The index or position of the data point within the series.
     * @returns {Element[]} An array of elements associated with the specified data point in the Chart3D.
     * @private
     */
    findElements(chart: Chart3D, series: Chart3DSeriesModel, index: Index): Element[];
    /**
     * Checks whether the specified element is already selected in the Chart3D.
     *
     * @param {Element} targetElem - The target element to check for selection status.
     * @param {string} eventType - The type of event triggering the selection check (e.g., 'click', 'hover').
     * @param {Index} [index] - Optional. The index or position of the data point within the series.
     * @returns {boolean} A boolean indicating whether the specified element is already selected.
     */
    isAlreadySelected(targetElem: Element, eventType: string, index?: Index): boolean;
    /**
     * Handles the mouse click event in the Chart3D, triggering the calculation of selected elements.
     *
     * @param {Event} event - The mouse click event object.
     * @returns {void}
     */
    private mouseClick;
    /**
     * Calculates the selected elements based on the provided target element and event type.
     *
     * @param {HTMLElement} targetElement - The target HTML element that triggered the selection.
     * @param {string} eventType - The type of the event that triggered the selection (e.g., mouse click).
     * @returns {void}
     */
    calculateSelectedElements(targetElement: HTMLElement, eventType: string): void;
    /**
     * Performs selection based on the provided index, chart, and optional element.
     *
     * @param {Index} index - The index or indices specifying the data points or elements to be selected.
     * @param {Chart3D} chart - The Chart3D instance where the selection is being performed.
     * @param {Element} [element] - Optional. The specific HTML element that triggered the selection.
     * @returns {void}
     */
    performSelection(index: Index, chart: Chart3D, element?: Element): void;
    /**
     * Handles the completion of a selection process in the Chart3D.
     *
     * @param {Chart3D} chart - The Chart3D instance where the selection process is completed.
     * @param {Index} index - The selected index or indices representing the data points or elements.
     * @param {Chart3DSelectionMode  | HighlightMode} selectionMode - The mode of selection, either SelectionMode or HighlightMode.
     * @returns {void}
     */
    selectionComplete(chart: Chart3D, index: Index, selectionMode: Chart3DSelectionMode | HighlightMode): void;
    /**
     * Handles the selection process in the Chart3D.
     *
     * @param {Chart3D} chart - The Chart3D instance where the selection is taking place.
     * @param {Index} index - The selected index or indices representing the data points or elements.
     * @param {Element[]} selectedElements - The corresponding elements that are selected during the process.
     * @returns {void}
     */
    selection(chart: Chart3D, index: Index, selectedElements: Element[]): void;
    /**
     * Handles the cluster selection process in the Chart3D.
     *
     * @param {Chart3D} chart - The Chart3D instance where the cluster selection is taking place.
     * @param {Index} index - The selected index or indices representing the cluster.
     * @returns {void}
     */
    clusterSelection(chart: Chart3D, index: Index): void;
    /**
     * Removes the selected elements during a multi-select operation in the Chart3D.
     *
     * @param {Chart3D} chart - The Chart3D instance where the multi-select operation is taking place.
     * @param {Index[]} index - An array of selected indices to be removed.
     * @param {Index} currentIndex - The current index representing the selection.
     * @param {Chart3DSeriesModel[]} seriesCollection - The collection of series in the Chart3D.
     * @returns {void}
     */
    removeMultiSelectElements(chart: Chart3D, index: Index[], currentIndex: Index, seriesCollection: Chart3DSeriesModel[]): void;
    /**
     * Applies a blur effect to the specified chart elements for visual emphasis.
     *
     * @param {string} chartId - The unique identifier of the target chart where the blur effect is applied.
     * @param {Chart3DSeries[]} visibleSeries - An array of visible series in the chart.
     * @returns {void}
     */
    blurEffect(chartId: string, visibleSeries: Chart3DSeries[]): void;
    /**
     * Checks the selection status of specified chart elements and updates their appearance.
     *
     * @param {Element[] | Element} element - The chart elements or a single element to be checked for selection.
     * @param {string} className - The CSS class name used to identify selected elements.
     * @param {boolean} visibility - A boolean indicating whether the elements should be visible or hidden based on selection.
     * @param {number} [series=0] - The index of the series if the specified elements are series.
     * @param {string} [legendStrokeColor='#D3D3D3'] - The stroke color used for legends when they are selected.
     * @returns {void}
     */
    checkSelectionElements(element: Element[] | Element, className: string, visibility: boolean, series?: number, legendStrokeColor?: string): void;
    /**
     * Applies custom styles to the specified chart elements.
     *
     * @param {Element[]} elements - An array of chart elements to which custom styles will be applied.
     * @returns {void}
     */
    applyStyles(elements: Element[]): void;
    /**
     * Gets the CSS class name associated with the selection for a specific chart element.
     *
     * @param {string} id - A unique identifier for the selected element.
     * @returns {string} The CSS class name associated with the selection for the selected element.
     */
    getSelectionClass(id: string): string;
    /**
     * Removes styles associated with the selection from the selected elements.
     *
     *
     * @param {Element[]} elements - An array of chart elements from which selection styles should be removed.
     * @returns {void}
     */
    removeStyles(elements: Element[]): void;
    /**
     * Adds or removes an index from the specified array based on the provided condition.
     *
     * @param {Index[]} indexes - The array of indexes to be modified.
     * @param {Index} index - The index to be added or removed.
     * @param {boolean} [isAdd=true] - A boolean flag indicating whether to add or remove the index.
     * @returns {void}
     * @private
     */
    addOrRemoveIndex(indexes: Index[], index: Index, isAdd?: boolean): void;
    /**
     * Compares two Index objects for equality.
     *
     * @param {Index} first - The first Index object to compare.
     * @param {Index} second - The second Index object to compare.
     * @param {boolean} [checkSeriesOnly=false] - A boolean flag indicating whether to
     * @returns {boolean} - True if the Index objects are equal;
 otherwise, false.
     */
    toEquals(first: Index, second: Index, checkSeriesOnly: boolean): boolean;
    /**
     * Redraws the selection in the 3D chart.
     *
     * @param {Chart3D} chart - The 3D chart instance where the selection needs to be redrawn.
     * @param {Chart3DSelectionMode | HighlightMode} oldMode - The previous selection mode ('Series', 'Point', etc.).
     * @param {boolean} [chartRedraw=false] - A boolean flag indicating whether to trigger a chart redraw.
     * @returns {void}
     */
    redrawSelection(chart: Chart3D, oldMode: Chart3DSelectionMode | HighlightMode, chartRedraw?: boolean): void;
    /**
     * Handles the selection in the legend for the 3D chart.
     *
     * @param {Chart3D} chart - The 3D chart instance associated with the legend.
     * @param {number} series - The index of the series in the legend.
     * @param {Element} targetElement - The HTML element that triggered the selection event.
     * @param {string} eventType - The type of event that triggered the selection.
     * @returns {void}
     */
    legendSelection(chart: Chart3D, series: number, targetElement: Element, eventType: string): void;
    /**
     * Handles the removal of selection in the 3D chart.
     *
     * @param {Chart3D} chart - The 3D chart instance where the selection needs to be removed.
     * @param {number} series - The index of the series for which the selection is being removed.
     * @param {NodeListOf<HTMLElement>} selectedElements - The HTML elements representing the selected items.
     * @param {string} seriesStyle - The style to be applied to the series after the removal of selection.
     * @param {boolean} isBlurEffectNeeded - A flag indicating whether a blur effect is needed after the removal of selection.
     * @returns {void}
     */
    removeSelection(chart: Chart3D, series: number, selectedElements: NodeListOf<HTMLElement>, seriesStyle: string, isBlurEffectNeeded: boolean): void;
    /**
     * Retrieves the HTML elements associated with a specific 3D chart series.
     *
     * @param {Chart3DSeriesModel | Chart3DSeries} series - The 3D chart series for which HTML elements are to be retrieved.
     * @returns {Element[]} An array of HTML elements representing the graphical elements of the specified 3D chart series.
     * @private
     */
    getSeriesElements(series: Chart3DSeriesModel | Chart3DSeries): Element[];
    /**
     * Finds and returns the index associated with the specified identifier.
     *
     * @param {string} id - The identifier used to find the associated index.
     * @returns {Index} The index associated with the specified identifier.
     * @private
     */
    indexFinder(id: string): Index;
    /**
     * Removes the selected elements from the chart based on the specified indices.
     *
     * @param {Chart3D} chart - The 3D chart instance.
     * @param {Index[]} index - The array of indices representing the selected elements to be removed.
     * @param {Chart3DSeriesModel[]} seriesCollection - The collection of series models.
     * @returns {void}
     * @private
     */
    private removeSelectedElements;
    /**
     * Handles the mouse leave event for the 3D chart.
     *
     * @returns {void}
     * @private
     */
    private mouseLeave;
    /**
     * Completes the selection process based on the specified target element and event type.
     *
     * @returns {void}
     * @private
     */
    completeSelection(): void;
    /**
     * Handles the mouse move event, typically used for tracking the movement of the mouse pointer.
     * This method is marked as private to indicate that it should not be used externally.
     *
     * @param {PointerEvent | TouchEvent} event - The event object representing the mouse move or touch event.
     * @returns {void}
     * @private
     */
    mouseMove(event: PointerEvent | TouchEvent): void;
    /**
     * Highlights the series elements based on the specified target element and event type.
     *
     * @param {Element} target - The target element on which the highlight action is performed.
     * @param {string} eventType - The type of the event.
     * @returns {void}
     */
    highlightChart(target: Element, eventType: string): void;
    /**
     * remove highlighted legend when not focused.
     *
     * @returns {void}
     * @private
     */
    removeLegendHighlightStyles(): void;
    /**
     * Get module name.
     *
     * @returns {string} - Returns the module name.
     * @private
     */
    getModuleName(): string;
    /**
     * To destroy the selection.
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-charts/src/chart3d/user-interaction/high-light.d.ts
/**
 * The `Highlight` module handles the highlight for chart.
 *
 * @private
 */
export  class Highlight3D extends Selection3D {
    /**
     * Constructor for selection module.
     *
     * @param {Chart3D} chart - Chart3D instance.
     */
    constructor(chart: Chart3D);
    /**
     * Binding events for highlight module.
     *
     * @returns {void}
     */
    private wireEvents;
    /**
     * Unbinding events for highlight module.
     *
     * @returns {void}
     */
    private unWireEvents;
    /**
     * Declares private variables for the highlight modules.
     *
     * @param {Chart3D} chart - The 3D chart for which private variables are being d.
     * @returns {void}
     */
    private PrivateVariables;
    /**
     * Invokes the highlighting functionality on a 3D chart.
     *
     * @param {Chart3D} chart - The 3D chart on which highlighting is being invoked.
     * @returns {void}
     */
    invokeHighlight(chart: Chart3D): void;
    /**
     * Gets the module name for the highlighting functionality.
     *
     * @returns {string} The module name.
     */
    getModuleName(): string;
    /**
     * To destroy the highlight module.
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-charts/src/chart3d/series/stacking-column-series.d.ts
export  class StackingColumnSeries3D {
    /**
     * Draws the stacking column series on a 3D chart.
     *
     * @param {Chart3DSeries} series - The 3D series to be drawn.
     * @param {Chart3D} chart - The 3D chart on which the series will be drawn.
     * @returns {void}
     */
    draw(series: Chart3DSeries, chart: Chart3D): void;
    /**
     * Updates a specific point in a stacking column series on a 3D chart.
     *
     * @param {Chart3DSeries} series - The 3D series to which the point belongs.
     * @param {Chart3DPoint} point - The point to be updated.
     * @param {number} pointIndex - The index of the point within the series.
     * @param {Chart3D} chart - The 3D chart to which the series and point belong.
     * @returns {void}
     */
    private update;
    /**
     * Creates segments for a stacking column series within a 3D chart.
     *
     * @param {Chart3DSeries} series - The 3D series for which segments will be created.
     * @returns {void}
     */
    createSegments(series: Chart3DSeries): void;
    /**
     * Sets data for a stacking column series in a 3D chart.
     *
     * @param {number} x1 - The x-coordinate of the starting point of the segment.
     * @param {number} y1 - The y-coordinate of the starting point of the segment.
     * @param {number} x2 - The x-coordinate of the ending point of the segment.
     * @param {number} y2 - The y-coordinate of the ending point of the segment.
     * @param {number} start - The starting value of the segment on the axis.
     * @param {number} end - The ending value of the segment on the axis.
     * @param {Chart3DSeries} series - The 3D series to which the segment belongs.
     * @param {Chart3DPoint} point - The point associated with the segment.
     * @returns {void}
     */
    private setData;
    /**
     * To destroy the stacking column series.
     *
     * @returns {void}
     * @private
     */
    protected destroy(): void;
    /**
     * Gets the module name for the Stacking Column3D series.
     *
     * @returns {void}
     */
    protected getModuleName(): string;
}
//node_modules/@syncfusion/ej2-charts/src/chart3d/series/stacking-bar-series.d.ts
export  class StackingBarSeries3D {
    /**
     * Draws the stacking bar series on a 3D chart.
     *
     * @param {Chart3DSeries} series - The 3D series to be drawn.
     * @param {Chart3D} chart - The 3D chart on which the series will be drawn.
     * @returns {void}
     */
    draw(series: Chart3DSeries, chart: Chart3D): void;
    /**
     * Updates a specific point in a stacking bar series on a 3D chart.
     *
     * @param {Chart3DSeries} series - The 3D series to which the point belongs.
     * @param {Chart3DPoint} point - The point to be updated.
     * @param {number} pointIndex - The index of the point within the series.
     * @param {Chart3D} chart - The 3D chart to which the series and point belong.
     * @returns {void}
     */
    private update;
    /**
     * Creates segments for a stacking bar series within a 3D chart.
     *
     * @param {Chart3DSeries} series - The 3D series for which segments will be created.
     * @returns {void}
     */
    createSegments(series: Chart3DSeries): void;
    /**
     * Sets data for a stacking bar series in a 3D chart.
     *
     * @param {number} x1 - The x-coordinate of the starting point of the segment.
     * @param {number} y1 - The y-coordinate of the starting point of the segment.
     * @param {number} x2 - The x-coordinate of the ending point of the segment.
     * @param {number} y2 - The y-coordinate of the ending point of the segment.
     * @param {number} start - The starting value of the segment on the axis.
     * @param {number} end - The ending value of the segment on the axis.
     * @param {Chart3DSeries} series - The 3D series to which the segment belongs.
     * @param {Chart3DPoint} point - The point associated with the segment.
     * @returns {void}
     */
    private setData;
    /**
     * To destroy the stacking bar series.
     *
     * @returns {void}
     * @private
     */
    protected destroy(): void;
    /**
     * Gets the module name for the  Stacking Bar3D series.
     *
     * @returns {void}
     */
    protected getModuleName(): string;
}
//node_modules/@syncfusion/ej2-charts/src/chart3d/series/data-label.d.ts
/**
 * The `DataLabel` module is used to render data label for the data point.
 */
export  class DataLabel3D {
    private chart;
    private margin;
    private fontBackground;
    /**
     * Constructor for the data label module.
     *
     * @param {Chart3D} chart - Chart3D instance.
     * @private
     */
    constructor(chart: Chart3D);
    /**
     * Renders a 3D series on a 3D chart with data labels.
     *
     * @param {Chart3DSeries} series - The 3D series to be rendered.
     * @param {Chart3D} chart - The 3D chart on which the series is rendered.
     * @param {Chart3DDataLabelSettingsModel} dataLabel - The data label style for the series.
     * @returns {void}
     */
    render(series: Chart3DSeries, chart: Chart3D, dataLabel: Chart3DDataLabelSettingsModel): void;
    /**
     * Draws data labels for a specific data point in a 3D series on a 3D chart.
     *
     * @param {Chart3DSeries} series - The 3D series to which the data point belongs.
     * @param {number} pointIndex - The index of the data point within the series.
     * @param {Chart3DPoint} point - The data point for which data labels are drawn.
     * @param {Chart3D} chart - The 3D chart that contains the series and data point.
     * @param {Chart3DDataLabelSettingsModel} dataLabel - The style for data labels.
     * @returns {void}
     */
    private draw3DDataLabel;
    /**
     * Gets the text for data labels associated with a specific data point in a 3D series.
     *
     * @param {Chart3DPoint} currentPoint - The data point for which data label text is generated.
     * @param {Chart3DSeries} series - The 3D series to which the data point belongs.
     * @param {Chart3D} chart - The 3D chart containing the series and data point.
     * @returns {string[]} An array of text for data labels.
     */
    private getLabelText;
    /**
     * Creates a data label template for a specific data point in a 3D series.
     *
     * @param {HTMLElement} parentElement - The parent HTML element to which the data label template is attached.
     * @param {Chart3DSeries} series - The 3D series to which the data point belongs.
     * @param {Chart3DDataLabelSettingsModel} dataLabel - The style settings for data labels.
     * @param {Chart3DPoint} point - The data point for which the data label template is created.
     * @param {Chart3DTextRenderEventArgs} data - The text render event arguments.
     * @param {number} labelIndex - The index of the data label.
     * @param {boolean} redraw - Indicates whether the template should be redrawn.
     * @param {Chart3DLocation} location - The location values for the data label.
     * @returns {void}
     */
    createDataLabelTemplate(parentElement: HTMLElement, series: Chart3DSeries, dataLabel: Chart3DDataLabelSettingsModel, point: Chart3DPoint, data: Chart3DTextRenderEventArgs, labelIndex: number, redraw: boolean, location: Chart3DLocation): void;
    /**
     * Calculates the size of a data label template for a specific data point in a 3D series.
     *
     * @param {HTMLElement} parentElement - The parent HTML element containing the data label template.
     * @param {HTMLElement} childElement - The child HTML element representing the data label template.
     * @param {Chart3DPoint} point - The data point for which the data label template size is calculated.
     * @param {Chart3DSeries} series - The 3D series to which the data point belongs.
     * @param {Chart3DDataLabelSettingsModel} dataLabel - The style for data labels.
     * @param {svgBase.Rect} clip - The rectangular clipping area.
     * @param {boolean} redraw - Indicates whether the template should be redrawn.
     * @param {Chart3DLocation} location - The location values for the data label.
     * @param {boolean} isReactCallback - Indicates whether the callback is associated with React.
     * @returns {void}
     */
    calculateTemplateLabelSize(parentElement: HTMLElement, childElement: HTMLElement, point: Chart3DPoint, series: Chart3DSeries, dataLabel: Chart3DDataLabelSettingsModel, clip: svgBase.Rect, redraw: boolean, location: Chart3DLocation, isReactCallback?: boolean): void;
    /**
     * Calculates the text position for a data label associated with a specific data point in a 3D series.
     *
     * @param {Chart3DSeries} series - The 3D series to which the data point belongs.
     * @param {Chart3DPoint} point - The data point for which the text position is calculated.
     * @param {ClientRect} elementSize - The size of the data label element.
     * @param {Chart3DLocation} location - The location values for the data label.
     * @returns {{ left: number, top: number, right: number }} An object representing the left, top, and right positions of the text.
     */
    private calculateTextPosition;
    /**
     * Renders a React template for a data label associated with a specific data point in a 3D series.
     *
     * @param {HTMLElement} childElement - The child HTML element for the React template.
     * @param {Chart3D} chart - The 3D chart that contains the series and data point.
     * @param {Chart3DPoint} point - The data point for which the React template is rendered.
     * @param {Chart3DSeries} series - The 3D series to which the data point belongs.
     * @param {number} labelIndex - The index of the data label.
     * @param {boolean} redraw - Indicates whether the template should be redrawn.
     * @param {Chart3DLocation} location - The location values for the data label.
     * @returns {void}
     */
    private chartReactTemplate;
    /**
     * Creates a template element for rendering data labels associated with a specific data point in a 3D series.
     *
     * @param {HTMLElement} childElement - The child HTML element to contain the template content.
     * @param {string | Function} content - The content or function for the data label template.
     * @param {Chart3D} chart - The 3D chart containing the series and data point.
     * @param {Chart3DPoint} point - The data point for which the template is created (optional).
     * @param {Chart3DSeries} series - The 3D series to which the data point belongs (optional).
     * @param {string} dataLabelId - The ID for the data label element (optional).
     * @param {number} labelIndex - The index of the data label (optional).
     * @param {Chart3DLocation} location - The location values for the data label (optional).
     * @param {boolean} redraw - Indicates whether the template should be redrawn (optional).
     * @returns {HTMLElement} The created template element.
     */
    private createTemplate;
    /**
     * Gets the name of the data label module.
     *
     * @returns {string} The name of the data label module.
     */
    protected getModuleName(): string;
    /**
     * To destroy the dataLabel for series.
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-charts/src/chart3d/series/column-series.d.ts
export  class ColumnSeries3D {
    /**
     * Draws the column 3D series on a 3D chart.
     *
     * @param {Chart3DSeries} series - The 3D series to be drawn.
     * @param {Chart3D} chart - The 3D chart on which the series will be drawn.
     * @returns {void}
     */
    draw(series: Chart3DSeries, chart: Chart3D): void;
    /**
     * Updates a specific point in a column series on a 3D chart.
     *
     * @param {Chart3DSeries} series - The 3D series to which the point belongs.
     * @param {Chart3DPoint} point - The point to be updated.
     * @param {number} pointIndex - The index of the point within the series.
     * @param {Chart3D} chart - The 3D chart to which the series and point belong.
     * @returns {void}
     */
    private update;
    /**
     * Creates segments for a column series within a 3D chart.
     *
     * @param {Chart3DSeries} series - The 3D series for which segments will be created.
     * @returns {void}
     */
    createSegments(series: Chart3DSeries): void;
    /**
     * Sets data for a column series in a 3D chart.
     *
     * @param {number} x1 - The x-coordinate of the starting point of the segment.
     * @param {number} y1 - The y-coordinate of the starting point of the segment.
     * @param {number} x2 - The x-coordinate of the ending point of the segment.
     * @param {number} y2 - The y-coordinate of the ending point of the segment.
     * @param {number} start - The starting value of the segment on the axis.
     * @param {number} end - The ending value of the segment on the axis.
     * @param {Chart3DSeries} series - The 3D series to which the segment belongs.
     * @param {Chart3DPoint} point - The point associated with the segment.
     * @returns {void}
     */
    private setData;
    /**
     * To destroy the column series.
     *
     * @returns {void}
     * @private
     */
    protected destroy(): void;
    /**
     * Gets the module name for the Column3D series.
     *
     * @returns {string} - Returns the module name for the Column3D series.
     */
    protected getModuleName(): string;
}
//node_modules/@syncfusion/ej2-charts/src/chart3d/series/chart-series.d.ts
/**
 * Configures the data label in the series.
 */
export  class Chart3DDataLabelSettings extends base.ChildProperty<Chart3DDataLabelSettings> {
    /**
     * 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;
    /**
     * Used to format the point data label that accepts any global string format like 'C', 'n1', 'P' etc.
     * It also accepts placeholder like '{value}°C' in which value represent the point data label, e.g, 20°C.
     *
     * @default null
     */
    format: string;
    /**
     * The opacity for the background.
     *
     * @default 1
     */
    opacity: number;
    /**
     * Specifies angle for data label.
     *
     * @default 0
     */
    angle: number;
    /**
     * Enables rotation for data label.
     *
     * @default false
     */
    enableRotation: boolean;
    /**
     * Specifies the position of the data label. They are,
     * * 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.
     *
     * @default 'Middle'
     */
    position: Chart3DDataLabelPosition;
    /**
     * Option for customizing the border lines.
     */
    border: BorderModel;
    /**
     * Margin configuration for the data label.
     */
    margin: MarginModel;
    /**
     * Option for customizing the data label text.
     */
    font: Chart3DTextFontModel;
    /**
     * 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
     * @aspType string
     */
    template: string | Function;
}
/**
 * Configures the Empty Points of series
 */
export  class Chart3DEmptyPointSettings extends base.ChildProperty<Chart3DEmptyPointSettings> {
    /**
     * To customize the fill color of empty points.
     *
     * @default null
     */
    fill: string;
    /**
     * To customize the mode of empty points.
     *
     * @default Gap
     */
    mode: EmptyPointMode;
}
/**
 * Points model for the series.
 *
 * @public
 */
export  class Chart3DPoint {
    /** 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 symbol location. */
    symbolLocations: Chart3DLocation;
    /** Point x value. */
    xValue: number;
    /** Point y value. */
    yValue: number;
    /** Point color mapping. */
    colorValue: number;
    /** Point index value. */
    index: number;
    /** Point percentage value. */
    percentage: number;
    /** Point size value. */
    size: Object;
    /** Point empty checking. */
    isEmpty: boolean;
    /** Point interior value. */
    interior: string;
    /** To know the point is selected. */
    isSelect: boolean;
    /** Point x. */
    series: Object;
    /** Point top value. */
    top: number;
    /** Point bottom value. */
    bottom: number;
    /** Point right value. */
    right: number;
    /** Point left value. */
    left: number;
    /** Point start depth value. */
    startDepth: number;
    /** Point end depth value. */
    endDepth: number;
    /** Point x range values. */
    xRange: Chart3DRangeValues;
    /** Point y range values. */
    yRange: Chart3DRangeValues;
    /** Point plan values. */
    plans: Chart3DRangeValues;
}
/**
 * Configures the series in charts.
 *
 * @public
 */
export  class Chart3DSeries extends base.ChildProperty<Chart3DSeries> {
    /**
     * The DataSource field that contains the x value.
     *
     * @default ''
     */
    xName: string;
    /**
     * The DataSource field that contains the point colors.
     *
     * @default ''
     */
    pointColorMapping: string;
    /**
     * Specifies the visibility of series.
     *
     * @default true
     */
    visible: boolean;
    /**
     * The name of the horizontal axis associated with the series. It requires `axes` of the chart.
     *
     * @default null
     */
    xAxisName: string;
    /**
     * The name of the vertical axis associated with the series. It requires `axes` of the chart.
     *
     * @default null
     */
    yAxisName: string;
    /**
     * Options to customizing animation for the series.
     */
    animation: AnimationModel;
    /**
     * The fill color for the series, which can accept values in hex or rgba as a valid CSS color string.
     *
     * @default null
     */
    fill: string;
    /**
     * Specifies the data source for the series. It can be an array of JSON objects or an instance of data.DataManager.
     *
     *
     * @default ''
     */
    dataSource: Object | data.DataManager;
    /**
     * Specifies a query to select data from the DataSource. This property is applicable only when the DataSource is an `ej.data.DataManager`.
     *
     * @default ''
     */
    query: data.Query;
    /**
     * The data label for the series.
     */
    dataLabel: Chart3DDataLabelSettingsModel;
    /**
     * The name of the series as displayed in the legend.
     *
     * @default ''
     */
    name: string;
    /**
     * The DataSource field that contains the y value.
     *
     * @default ''
     */
    yName: string;
    /**
     * The DataSource field that contains the size value of y
     *
     * @default ''
     */
    size: string;
    /**
     * 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;
    /**
     * The opacity of the series.
     *
     * @default 1
     */
    opacity: number;
    /**
     * Defines the name that specifies the chart series are mutually exclusive and can be overlaid.
     * The axis in the same group shares the same baseline and location on the corresponding axis.
     *
     * @default ''
     */
    groupName: string;
    /**
     * Specifies the type of the series in the 3D chart. Available options include:
     * - Column
     * - Bar
     * - StackingColumn
     * - StackingBar
     * - StackingColumn100
     * - StackingBar100
     *
     * @default 'Column'
     */
    type: Chart3DSeriesType;
    /**
     * Enable tooltip for the chart series.
     *
     * @default true
     */
    enableTooltip: boolean;
    /**
     * Format of the tooltip content.
     *
     * @default ''
     */
    tooltipFormat: string;
    /**
     * The data source field that contains the tooltip value.
     *
     * @default ''
     */
    tooltipMappingName: string;
    /**
     * The shape of the legend. Each series has its own legend shape, which can be one of the following:
     * * Circle
     * * Rectangle
     * * Triangle
     * * Diamond
     * * Cross
     * * HorizontalLine
     * * VerticalLine
     * * Pentagon
     * * InvertedTriangle
     * * SeriesType
     * * Image
     *
     * @default 'SeriesType'
     */
    legendShape: LegendShape;
    /**
     * The URL for the Image that is to be displayed as a Legend icon.  It requires  `legendShape` value to be an `Image`.
     *
     * @default ''
     */
    legendImageUrl: string;
    /**
     * options to customize the empty points in series.
     */
    emptyPointSettings: Chart3DEmptyPointSettingsModel;
    /**
     * Render the column series points with a particular column width.
     *
     * @default null
     */
    columnWidth: number;
    /**
     * Defines the shape of the data in a column and bar chart.
     * Rectangle: Displays the data in a column and bar chart in a rectangle shape.
     * Cylinder: Displays the data in a column and bar chart in a cylinder shape.
     *
     * @default 'Rectangle'
     */
    columnFacet: ShapeType;
    /**
     * To render the column series points with particular column spacing. It takes value from 0 - 1.
     *
     * @default 0.1
     */
    columnSpacing: number;
    /** @private */
    xMin: number;
    /** @private */
    xMax: number;
    /** @private */
    yMin: number;
    /** @private */
    yMax: number;
    /** @private */
    xAxis: Chart3DAxis;
    /** @private */
    yAxis: Chart3DAxis;
    /** @private */
    chart: Chart3D;
    /** @private */
    currentViewData: Object;
    /** @private */
    clipRect: svgBase.Rect;
    /** @private */
    xData: number[];
    /** @private */
    yData: number[];
    /** @private */
    index: number;
    /** @private */
    dataModule: Data;
    /** @private */
    points: Chart3DPoint[];
    /** @private */
    visiblePoints: Chart3DPoint[];
    /** @private */
    sizeMax: number;
    /** @private */
    dataLabelElement: HTMLElement;
    visibleSeriesCount: number;
    /** @private */
    position: number;
    /** @private */
    rectCount: number;
    /** @private */
    category: SeriesCategories;
    /** @private */
    isRectSeries: boolean;
    /** @private */
    stackedValues: StackValues;
    /** @private */
    interior: string;
    /** @private */
    all: boolean;
    constructor(parent: any, propName: string, defaultValue: Object, isArray?: boolean);
    /**
     * This method is responsible for handling and processing JSON data.
     *
     * @returns {void}
     * @hidden
     */
    processJsonData(): void;
    /**
     * Pushes data into a collection at a specified index.
     *
     * @param {Chart3DPoint} point - The Chart3DPoint object representing the data to be pushed.
     * @param {number} i - The index at which the data should be pushed.
     * @returns {void}
     */
    private pushData;
    /**
     * Creates and returns a Chart3DPoint object representing a data point at the specified index.
     *
     * @param {number} i - The index of the data point.
     * @param {string} textMappingName - The name of the property containing text information for the data point.
     * @param {string} xName - The name of the property containing X-axis information for the data point.
     * @returns {Chart3DPoint} - The Chart3DPoint object representing the data point.
     */
    protected dataPoint(i: number, textMappingName: string, xName: string): Chart3DPoint;
    /**
     * Retrieves the value associated with a specified mapping name from a given data object.
     *
     * @param {string} mappingName - The mapping name used to retrieve the value from the data object.
     * @param {Object} data - The data object from which the value is retrieved.
     * @returns {Object} - The value associated with the specified mapping name in the data object.
     */
    private get3DObjectValue;
    /**
     * Sets values for an empty data point at the specified index.
     *
     * @param {Chart3DPoint} point - The Chart3DPoint object representing the empty data point.
     * @param {number} i - The index of the empty data point.
     * @returns {void}
     */
    setEmptyPoint(point: Chart3DPoint, i: number): void;
    /**
     * Determines the visibility status of a Chart3DPoint.
     *
     * @param {Chart3DPoint} point - The Chart3DPoint object for which visibility is determined.
     * @returns {boolean} - A boolean indicating the visibility status of the Chart3DPoint.
     */
    private findVisibility;
    /**
     * Sets the minimum and maximum values for the X and Y dimensions based on the provided Y value.
     *
     * @param {number} yValue - The Y value used to set the minimum and maximum values for the X and Y dimensions.
     * @returns {void}
     */
    private setXYMinMax;
    /**
     * Pushes category data to the Chart3DPoint object at the specified index.
     *
     * @param {Chart3DPoint} point - The Chart3DPoint object to which category data is pushed.
     * @param {number} index - The index at which the category data is pushed.
     * @param {string} pointX - The X value of the category data to be pushed.
     * @returns {void}
     */
    protected pushCategoryData(point: Chart3DPoint, index: number, pointX: string): void;
    /**
     * Calculates the average value of a specified member in the data object.
     *
     * @param {string} member - The member for which the average is calculated.
     * @param {number} i - The index used for the calculation.
     * @param {Object} data - The data object from which the average is calculated. Defaults to the current view data.
     * @returns {number} - The calculated average value.
     */
    private getAverage;
    /**
     * Refreshes the data manager for the 3D chart.
     *
     * @param {Chart3D} chart - The 3D chart for which the data manager is refreshed.
     * @returns {void}
     */
    refreshDataManager(chart: Chart3D): void;
    /**
     * Handles the success callback for the data manager operation.
     *
     * @param {Object} e - The success callback parameters containing the result and count.
     * @param {Object} e.result - The result object returned by the data manager operation.
     * @param {number} e.count - The count of items returned by the data manager operation.
     * @param {boolean} [isRemoteData=true] - Indicates whether the data is fetched remotely. Defaults to true.
     * @returns {void}
     */
    private dataManagerSuccess;
    /**
     * Refreshes the chart, updating its data and appearance.
     *
     * @param {boolean} isRemoteData - Indicates whether the data is fetched remotely.
     * @returns {void}
     */
    private refreshChart;
    /**
     * Refreshes the axis labels in the chart.
     * This method is responsible for updating and rendering the axis labels based on the chart's current state.
     *
     * @returns {void}
     * @public
     */
    refreshAxisLabel(): void;
    /**
     * Finds the collection of Chart3DSeries associated with the given Chart3DColumn and Chart3DRow in the 3D chart.
     *
     * @param {Chart3DColumn} column - The Chart3DColumn object representing the column in the 3D chart.
     * @param {Chart3DRow} row - The Chart3DRow object representing the row in the 3D chart.
     * @param {boolean} isStack - Indicates whether the series should be stacked.
     * @returns {Chart3DSeries[]} - An array of Chart3DSeries associated with the specified column and row.
     * @public
     */
    findSeriesCollection(column: Chart3DColumn, row: Chart3DRow, isStack: boolean): Chart3DSeries[];
    /**
     * Checks whether the given Chart3DSeries with rectangular data is present in the 3D chart.
     *
     * @param {Chart3DSeries} series - The Chart3DSeries object to check for presence in the chart.
     * @param {boolean} isStack - Indicates whether the series should be stacked.
     * @returns {boolean} - A boolean value indicating whether the series is present in the 3D chart.
     * @private
     */
    private rectSeriesInChart;
    /**
     * Calculates the stacked values for the Chart3DSeries based on stacking type and chart context.
     *
     * @param {boolean} isStacking100 - Indicates whether the stacking type is 100% stacking.
     * @param {Chart3D} chart - The parent Chart3D object providing context for the calculation.
     * @returns {void}
     * @private
     */
    calculateStackedValue(isStacking100: boolean, chart: Chart3D): void;
    /**
     * Calculates stacking values for the given Chart3DSeries collection based on the stacking type.
     *
     * @param {Chart3DSeries[]} seriesCollection - The collection of Chart3DSeries to calculate stacking values for.
     * @param {boolean} isStacking100 - Indicates whether the stacking type is 100% stacking.
     * @returns {void}
     * @private
     */
    private calculateStackingValues;
    /**
     * Finds the percentage of stacking for the given Chart3DSeries collection and values.
     *
     * @param {Chart3DSeries[]} stackingSeries - The collection of Chart3DSeries to find the percentage of stacking for.
     * @param {number[]} values - The values to calculate the percentage of stacking.
     * @param {boolean} isStacking100 - Indicates whether the stacking type is 100% stacking.
     * @returns {void}
     */
    private findPercentageOfStacking;
    /**
     * Finds the frequencies for the given Chart3DSeries collection.
     *
     * @param {Chart3DSeries[]} seriesCollection - The collection of Chart3DSeries to find frequencies for.
     * @returns {number[]} An array of frequencies for each series in the collection.
     * @private
     */
    private findFrequencies;
    /**
     * Renders the Chart3DSeries on the given 3D chart.
     *
     * @param {Chart3D} chart - The 3D chart on which to render the series.
     * @returns {void}
     * @private
     */
    renderSeries(chart: Chart3D): void;
    /**
     * Retrieves the visible data points for the Chart3DSeries.
     * The visibility of points may be influenced by factors such as data filtering or chart settings.
     *
     * @returns {Chart3DPoint[]} An array of Chart3DPoint objects representing the visible data points.
     * @private
     */
    private getVisiblePoints;
    /**
     * Sets the color for a specific Chart3DPoint in the series.
     * This method allows you to customize the color of an individual data point.
     *
     * @param {Chart3DPoint} point - The Chart3DPoint for which to set the color.
     * @param {string} color - The color value to be applied to the data point.
     * @returns {string} The updated color value after applying any modifications or validations.
     * @private
     */
    setPointColor(point: Chart3DPoint, color: string): string;
    /**
     * Gets the Y values from an array of Chart3DPoint objects.
     *
     * @param {Chart3DPoint[]} points - An array of Chart3DPoint objects.
     * @returns {number[]} An array containing the Y values extracted from the provided data points.
     * @private
     */
    getYValues(points: Chart3DPoint[]): number[];
    /**
     * Gets the X values from an array of Chart3DPoint objects.
     * This method extracts the X values from a collection of data points.
     *
     * @param {Chart3DPoint[]} points - An array of Chart3DPoint objects.
     * @returns {number[]} An array containing the X values extracted from the provided data points.
     * @private
     */
    getXValues(points: Chart3DPoint[]): number[];
    /**
     * Gets the segment depth information for a Chart3DSeries.
     * This method retrieves the depth information for the segments of a Chart3DSeries.
     *
     * @param {Chart3DSeries} series - The Chart3DSeries for which segment depth is obtained.
     * @returns {Chart3DDepthInfoType} The depth information for the segments of the specified series.
     * @private
     */
    getSegmentDepth(series: Chart3DSeries): Chart3DDepthInfoType;
    /**
     * Calculates the side-by-side positions for segments in a Chart3DSeries.
     * This method determines the positions of segments when they are arranged side-by-side.
     *
     * @param {Chart3DSeries} series - The Chart3DSeries for which side-by-side positions are calculated.
     * @returns {void}
     * @private
     */
    private getSideBySidePositions;
    /**
     * Finds the position of rectangles for a collection of Chart3DSeries.
     * This method determines the position of rectangles based on the given series collection.
     *
     * @param {Chart3DSeries[]} seriesCollection - The collection of Chart3DSeries for which rectangle positions are determined.
     * @returns {void}
     * @private
     */
    private findRectPosition;
    /**
     * Gets a range of values between the specified start and end points.
     * This method returns a Chart3DRangeValues object representing the range of values between the given start and end points.
     *
     * @param {number} start - The starting point of the range.
     * @param {number} end - The ending point of the range.
     * @returns {Chart3DRangeValues} - An object representing the range of values between the start and end points.
     */
    getDoubleRange(start: number, end: number): Chart3DRangeValues;
    /**
     * Sets the style options for the specified Chart3DSeries.
     * This method applies the style options to customize the appearance of the specified series.
     *
     * @param {Chart3DSeries} series - The Chart3DSeries for which the style options should be set.
     * @returns {Chart3DStyleOptions} - An object representing the style options applied to the series.
     */
    setStyle(series: Chart3DSeries): Chart3DStyleOptions;
    /**
     * Gets the side-by-side positioning information for the specified Chart3DSeries.
     * This method calculates and returns the range values that define the position of the series in a side-by-side arrangement.
     *
     * @param {Chart3DSeries} series - The Chart3DSeries for which side-by-side positioning information is needed.
     * @returns {Chart3DRangeValues} - An object representing the range values that define the position of the series in a side-by-side arrangement.
     */
    getSideBySideInfo(series: Chart3DSeries): Chart3DRangeValues;
}
//node_modules/@syncfusion/ej2-charts/src/chart3d/series/chart-series-model.d.ts
/**
 * Interface for a class Chart3DDataLabelSettings
 */
export interface Chart3DDataLabelSettingsModel {
    /**
     * 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;
    /**
     * Used to format the point data label that accepts any global string format like 'C', 'n1', 'P' etc.
     * It also accepts placeholder like '{value}°C' in which value represent the point data label, e.g, 20°C.
     *
     * @default null
     */
    format?: string;
    /**
     * The opacity for the background.
     *
     * @default 1
     */
    opacity?: number;
    /**
     * Specifies angle for data label.
     *
     * @default 0
     */
    angle?: number;
    /**
     * Enables rotation for data label.
     *
     * @default false
     */
    enableRotation?: boolean;
    /**
     * Specifies the position of the data label. They are,
     * * 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.
     *
     * @default 'Middle'
     */
    position?: Chart3DDataLabelPosition;
    /**
     * Option for customizing the border lines.
     */
    border?: BorderModel;
    /**
     * Margin configuration for the data label.
     */
    margin?: MarginModel;
    /**
     * Option for customizing the data label text.
     */
    font?: Chart3DTextFontModel;
    /**
     * 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
     * @aspType string
     */
    template?: string | Function;
}
/**
 * Interface for a class Chart3DEmptyPointSettings
 */
export interface Chart3DEmptyPointSettingsModel {
    /**
     * To customize the fill color of empty points.
     *
     * @default null
     */
    fill?: string;
    /**
     * To customize the mode of empty points.
     *
     * @default Gap
     */
    mode?: EmptyPointMode;
}
/**
 * Interface for a class Chart3DPoint
 */
export interface Chart3DPointModel {
}
/**
 * Interface for a class Chart3DSeries
 */
export interface Chart3DSeriesModel {
    /**
     * The DataSource field that contains the x value.
     *
     * @default ''
     */
    xName?: string;
    /**
     * The DataSource field that contains the point colors.
     *
     * @default ''
     */
    pointColorMapping?: string;
    /**
     * Specifies the visibility of series.
     *
     * @default true
     */
    visible?: boolean;
    /**
     * The name of the horizontal axis associated with the series. It requires `axes` of the chart.
     *
     * @default null
     */
    xAxisName?: string;
    /**
     * The name of the vertical axis associated with the series. It requires `axes` of the chart.
     *
     * @default null
     */
    yAxisName?: string;
    /**
     * Options to customizing animation for the series.
     */
    animation?: AnimationModel;
    /**
     * The fill color for the series, which can accept values in hex or rgba as a valid CSS color string.
     *
     * @default null
     */
    fill?: string;
    /**
     * Specifies the data source for the series. It can be an array of JSON objects or an instance of data.DataManager.
     *
     *
     * @default ''
     */
    dataSource?: Object | data.DataManager;
    /**
     * Specifies a query to select data from the DataSource. This property is applicable only when the DataSource is an `ej.data.DataManager`.
     *
     * @default ''
     */
    query?: data.Query;
    /**
     * The data label for the series.
     */
    dataLabel?: Chart3DDataLabelSettingsModel;
    /**
     * The name of the series as displayed in the legend.
     *
     * @default ''
     */
    name?: string;
    /**
     * The DataSource field that contains the y value.
     *
     * @default ''
     */
    yName?: string;
    /**
     * The DataSource field that contains the size value of y
     *
     * @default ''
     */
    size?: string;
    /**
     * 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;
    /**
     * The opacity of the series.
     *
     * @default 1
     */
    opacity?: number;
    /**
     * Defines the name that specifies the chart series are mutually exclusive and can be overlaid.
     * The axis in the same group shares the same baseline and location on the corresponding axis.
     *
     * @default ''
     */
    groupName?: string;
    /**
     * Specifies the type of the series in the 3D chart. Available options include:
     * - Column
     * - Bar
     * - StackingColumn
     * - StackingBar
     * - StackingColumn100
     * - StackingBar100
     *
     * @default 'Column'
     */
    type?: Chart3DSeriesType;
    /**
     * Enable tooltip for the chart series.
     *
     * @default true
     */
    enableTooltip?: boolean;
    /**
     * Format of the tooltip content.
     *
     * @default ''
     */
    tooltipFormat?: string;
    /**
     * The data source field that contains the tooltip value.
     *
     * @default ''
     */
    tooltipMappingName?: string;
    /**
     * The shape of the legend. Each series has its own legend shape, which can be one of the following:
     * * Circle
     * * Rectangle
     * * Triangle
     * * Diamond
     * * Cross
     * * HorizontalLine
     * * VerticalLine
     * * Pentagon
     * * InvertedTriangle
     * * SeriesType
     * * Image
     *
     * @default 'SeriesType'
     */
    legendShape?: LegendShape;
    /**
     * The URL for the Image that is to be displayed as a Legend icon.  It requires  `legendShape` value to be an `Image`.
     *
     * @default ''
     */
    legendImageUrl?: string;
    /**
     * options to customize the empty points in series.
     */
    emptyPointSettings?: Chart3DEmptyPointSettingsModel;
    /**
     * Render the column series points with a particular column width.
     *
     * @default null
     */
    columnWidth?: number;
    /**
     * Defines the shape of the data in a column and bar chart.
     * Rectangle: Displays the data in a column and bar chart in a rectangle shape.
     * Cylinder: Displays the data in a column and bar chart in a cylinder shape.
     *
     * @default 'Rectangle'
     */
    columnFacet?: ShapeType;
    /**
     * To render the column series points with particular column spacing. It takes value from 0 - 1.
     *
     * @default 0.1
     */
    columnSpacing?: number;
}
//node_modules/@syncfusion/ej2-charts/src/chart3d/series/bar-series.d.ts
/**
 * `BarSeries` module is used to render the bar series.
 */
export  class BarSeries3D {
    /**
     * Draws the Bar series on a 3D chart.
     *
     * @param {Chart3DSeries} series - The 3D series to be drawn.
     * @param {Chart3D} chart - The 3D chart on which the series will be drawn.
     * @returns {void}
     */
    draw(series: Chart3DSeries, chart: Chart3D): void;
    /**
     * Updates a specific point in a bar series on a 3D chart.
     *
     * @param {Chart3DSeries} series - The 3D series to which the point belongs.
     * @param {Chart3DPoint} point - The point to be updated.
     * @param {number} pointIndex - The index of the point within the series.
     * @param {Chart3D} chart - The 3D chart to which the series and point belong.
     * @returns {void}
     */
    private update;
    /**
     * Creates segments for a bar series within a 3D chart.
     *
     * @param {Chart3DSeries} series - The 3D series for which segments will be created.
     * @returns {void}
     */
    private createSegments;
    /**
     * Sets data for a bar series in a 3D chart.
     *
     * @param {number} x1 - The x-coordinate of the starting point of the segment.
     * @param {number} y1 - The y-coordinate of the starting point of the segment.
     * @param {number} x2 - The x-coordinate of the ending point of the segment.
     * @param {number} y2 - The y-coordinate of the ending point of the segment.
     * @param {number} start - The starting value of the segment on the axis.
     * @param {number} end - The ending value of the segment on the axis.
     * @param {Chart3DSeries} series - The 3D series to which the segment belongs.
     * @param {Chart3DPoint} point - The point associated with the segment.
     * @returns {void}
     */
    private setData;
    /**
     * To destroy the bar series.
     *
     * @returns {void}
     * @private
     */
    protected destroy(): void;
    /**
     * Gets the module name for the Bar 3D series.
     *
     * @returns {string} - Returns module name.
     */
    protected getModuleName(): string;
}
//node_modules/@syncfusion/ej2-charts/src/chart3d/print-export/export.d.ts
/**
 * The `Export3DModule` module is used to print and export the rendered chart.
 */
export  class Export3D {
    private chart;
    /**
     * Constructor for export module.
     *
     * @private
     */
    constructor(chart: Chart3D);
    /**
     * Export the chart on the page to PNG, JPEG, or SVG format.
     *
     * @param {number} type - The format in which the chart will be exported.
     * @param {string} fileName - The name of the exported file.
     * @returns {void}
     */
    export(type: ExportType, fileName: string): void;
    /**
     * Export the chart on the page to a PDF document.
     *
     * @param {string} fileName - The name of the exported file.
     * @param {pdfExport.PdfPageOrientation} orientation - Page orientation (portrait or landscape).
     * @param {Chart3D[]} controls - Array of controls to be exported.
     * @param {number} width - The width of the exported chart.
     * @param {number} height - The height of the exported chart.
     * @param {boolean} isVertical - Export the chart vertically or horizontally.
     * @param {string} header - Text to appear at the top of the exported PDF document.
     * @param {string} footer - Text to appear at the bottom of the exported PDF document.
     * @param {boolean} exportToMultiplePage - Export the chart to multiple PDF pages.
     * @returns {void}
     */
    pdfExport(fileName: string, orientation?: pdfExport.PdfPageOrientation, controls?: (Chart3D)[], width?: number, height?: number, isVertical?: boolean, header?: IPDFArgs, footer?: IPDFArgs, exportToMultiplePage?: boolean): void;
    /**
     * Gets a data URL for the rendered 3D chart as an HTML canvas element, including data URL and blob URL if available.
     *
     * @param {Chart3D} chart - The 3D chart for which the data URL is requested.
     * @returns {{ element: HTMLCanvasElement, dataUrl?: string, blobUrl?: string }} An object containing the HTML canvas element, data URL, and blob URL.
     */
    getDataUrl(chart: Chart3D): {
        element: HTMLCanvasElement;
        dataUrl?: string;
        blobUrl?: string;
    };
    /**
     * Gets the module name for the current component.
     *
     * @returns {string} The module name.
     */
    protected getModuleName(): string;
    /**
     * To destroy the export modules.
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-charts/src/chart3d/model/theme.d.ts
/**
 * Gets the 3D theme color based on the specified chart theme.
 *
 * @param {ChartTheme} theme - The theme to determine the 3D color for.
 * @returns {Chart3DThemeStyle} An object containing 3D theme color styles.
 * @private
 */
export  function get3DThemeColor(theme: ChartTheme): Chart3DThemeStyle;
/**
 * Gets the color palette for 3D chart series based on the specified theme.
 *
 * @param {ChartTheme} theme - The theme to determine the color palette for.
 * @returns {string[]} An array of color values representing the 3D series color palette.
 * @private
 */
export  function get3DSeriesColor(theme: ChartTheme): string[];
//node_modules/@syncfusion/ej2-charts/src/chart3d/model/chart3d-Interface.d.ts
/**
 * Interface for event argument objects in a 3D chart.
 */
export interface Chart3DEventArgs {
    /** Defines the event cancel status. */
    cancel: boolean;
}
/**
 * Interface for event argument objects representing the "3D loaded" event in a 3D chart.
 */
export interface Chart3DLoadedEventArgs extends Chart3DEventArgs {
    /** Defines the chart instance. */
    chart: Chart3D;
    /** Defines the theme in which the chart renders. */
    theme?: ChartTheme;
}
/**
 * Represents a string builder with methods for appending, removing, inserting, and converting strings.
 */
export interface Chart3DStringBuilder {
    append: (s: string) => Chart3DStringBuilder;
    remove: (i: number, j?: number) => Chart3DStringBuilder;
    insert: (i: number, s: string) => Chart3DStringBuilder;
    toString: (s?: string) => string;
}
/**
 * Represents a color using red (R), green (G), and blue (B) components, with an optional alpha (A) component for transparency.
 */
export interface Chart3DColorFormat {
    /** The red component of the color. */
    red: number;
    /** The green component of the color. */
    green: number;
    /** The blue component of the color. */
    blue: number;
    /**
     * The optional alpha component of the color, representing transparency.
     * It can be a number in the range [0, 1] or a string representation (e.g., "0.5").
     */
    alpha?: number | string;
}
/**
 * Interface for event argument objects representing the rendering of a 3D series in a chart.
 */
export interface Chart3DSeriesRenderEventArgs {
    /** Defines the series that is getting rendered. */
    series: Chart3DSeries;
    /** Defines the current series data source. */
    data: Object;
    /** Defines the current series fill. */
    fill: string;
}
/**
 * Interface for event argument objects representing the calculated range of an axis in a 3D chart.
 */
export interface Chart3DAxisRangeCalculatedEventArgs extends Chart3DEventArgs {
    /** Defines the current axis. */
    axis: Chart3DAxis;
    /** Defines axis current range. */
    minimum: number;
    /** Defines axis current range. */
    maximum: number;
    /** Defines axis current interval. */
    interval: number;
}
/**
 * Interface for event argument objects representing the rendering of labels on a 3D axis in a chart.
 */
export interface Chart3DAxisLabelRenderEventArgs extends Chart3DEventArgs {
    /** Defines the current axis. */
    axis: Chart3DAxis;
    /** Defines axis current label text. */
    text: string;
    /** Defines axis current label value. */
    value: number;
    /** Defines axis current label font style. */
    labelStyle: FontModel;
}
/**
 * Interface for a 3D vector with components for x, y, and z coordinates.
 */
export interface Chart3DVector {
    /** The x-coordinate of the 3D vector. */
    x: number;
    /** The y-coordinate of the 3D vector. */
    y: number;
    /** The z-coordinate of the 3D vector. */
    z: number;
}
/**
 * Interface for defining the position of ticks in a chart, including their coordinates.
 */
export interface Chart3DTickPosition {
    /** The x-coordinate of the starting point of the tick. */
    x1: number;
    /** The y-coordinate of the starting point of the tick. */
    y1: number;
    /** The x-coordinate of the ending point of the tick. */
    x2: number;
    /** The y-coordinate of the ending point of the tick. */
    y2: number;
}
/**
 * Interface representing properties and attributes for tick elements in a chart.
 */
export interface Chart3DTickElement {
    /**  The opacity of the tick element (optional). */
    opacity?: number;
    /** The width of the tick element. */
    width: number;
    /** The stroke color of the tick element. */
    stroke: string;
    /** The name of the axis associated with the tick (optional). */
    axisName?: string;
    /** The child element associated with the tick. */
    child: Element;
    /** * A tag associated with the tick element. */
    tag: string;
    /** The unique identifier of the tick element. */
    id: string;
    /** * The font style for text-based ticks (optional). */
    font?: FontModel;
}
/**
 * Represents a 3D location with coordinates in a 3D chart.
 *
 * @private
 */
export interface Chart3DLocation {
    /** The x-coordinate of the 3D location.*/
    x?: number;
    /** The x-coordinate of the 3D location. */
    y?: number;
    /** The z-coordinate of the 3D location. */
    z?: number;
}
/**
 * Represents the dimensions of a rectangular wall in 3D space.
 */
export interface Chart3DWallRect {
    /** The left coordinate of the wall's bounding box.*/
    left: number;
    /** The right coordinate of the wall's bounding box. */
    right: number;
    /** The top coordinate of the wall's bounding box. */
    top: number;
    /** The bottom coordinate of the wall's bounding box. */
    bottom: number;
}
/**
 * Represents a labeled rectangle with coordinates and size.
 *
 */
export interface Chart3DLabelRect {
    /** The x-coordinate of the top-left corner of the rectangle. */
    x: number;
    /** The y-coordinate of the top-left corner of the rectangle. */
    y: number;
    /** The size of the rectangle, defined by its width and height. */
    size: svgBase.Size;
}
/**
 * Interface representing a label element in a three-dimensional chart.
 *
 * @interface
 */
export interface Chart3DLabelElement {
    /** The width of the label element.*/
    width?: number;
    /** The height of the label element.*/
    height?: number;
    /** The content of the label, which can be either a string or an element data.*/
    label?: Visible3DLabels | Chart3DDataElement;
    /** The text anchor property specifying the alignment of the text.*/
    textAnchor?: string;
    /** A tag associated with the label element.*/
    tag: string;
    /** The font settings for the label element.*/
    font?: FontModel;
    /** The unique identifier for the label element.*/
    id?: string;
    /** Child element associated with the label.*/
    child?: Element;
    /** The rotation angle of the label element.*/
    angle?: number;
    /** The three-dimensional series associated with the label.*/
    series?: Chart3DSeries;
    /** The index of the data point associated with the label.*/
    pointIndex?: number;
    /** The three-dimensional data point associated with the label.*/
    point?: Chart3DPoint;
    /** The index of the series associated with the label.*/
    seriesIndex?: number;
    /** Additional arguments data associated with the label.*/
    argsData?: Chart3DTextRenderEventArgs;
    /** The fill color of the label element.*/
    fill?: string;
}
/**
 * Interface representing element data for a three-dimensional chart.
 *
 * @interface
 */
export interface Chart3DDataElement {
    /** The text content of the element.*/
    text: string;
    /** The location values associated with the element.*/
    location: Chart3DLocation;
    /** The three-dimensional series associated with the element.*/
    series?: Chart3DSeries;
    /** The index of the data point associated with the element.*/
    pointIndex?: number;
    /** An alternative text property for the element.*/
    alternativeText?: string;
}
/**
 * Interface representing style options for a three-dimensional chart element.
 *
 * @interface
 */
export interface Chart3DStyleOptions {
    /** The interior color of the element.*/
    interior: string;
    /** The opacity of the element.*/
    opacity: number;
    /** The dash array property of the element.*/
    dashArray?: string;
}
/**
 * Properties required to render a rectangle
 *
 * @private
 */
export interface Chart3DBoderElements extends svgBase.RectAttributes {
    /**
     * Corner radius value of a rectangle
     */
    ry?: number;
}
/**
 * Represents the properties of a grid element.
 *
 * @interface Chart3DPathOptions
 */
export interface Chart3DPathOptions {
    /** The unique identifier of the grid element.*/
    id: string;
    /** The name associated with the grid element.*/
    name: string;
    /** The fill color of the grid element.*/
    fill: string;
    /** The stroke color of the grid element.*/
    stroke: string;
    /** The width of the stroke for the grid element.*/
    'stroke-width': number;
    /** The opacity of the grid element.*/
    opacity: number;
    /** The description of the grid element.*/
    d: string;
}
/**
 * Represents a 3D polygon in a chart.
 *
 * @interface Chart3DPolygon
 */
export interface Chart3DPolygon {
    /** * The normal vector of the polygon. */
    normal: Chart3DVector;
    /** * The array of 3D points defining the polygon. */
    points: Chart3DVector[];
    /** * An alternate array of 3D points defining the polygon. */
    vectorPoints: Chart3DVector[];
    /** * The index of the polygon. */
    index: number;
    /** * The associated chart in 3D space. */
    tag: Chart3D;
    /** * The name of the polygon. */
    name: string;
    /** * The thickness of the stroke used to outline the polygon. */
    strokeThickness: number;
    /** * The opacity of the polygon. */
    opacity: number;
    /** * The fill color of the polygon. */
    fill: string;
    /** * An additional numeric property 'd'. */
    d: number;
    /** * Element information associated with the polygon. */
    polygonElement: {
        tag: string;
        parent: Element;
    };
    /** * Optional text associated with the polygon. */
    text?: string;
    /** * Optional element information associated with the polygon, can be null. */
    element?: Chart3DTickElement | Chart3DLabelElement | null;
    /** * Flag indicating whether the polygon is split.*/
    isSplit?: boolean;
}
/**
 * Represents attributes associated with a 3D polygon.
 *
 * @interface Chart3DPolyAttributes
 */
export interface Chart3DPolyAttributes {
    /** The index of the polygon.*/
    index: number;
    /** The result of an operation on the polygon.*/
    result: string;
    /** The 3D vector associated with the polygon.*/
    vector: Chart3DVector;
    /** Indicates if the point is a cutting back point.*/
    isCuttingBackPoint: boolean;
    /** The index of the cutting back pair, if applicable.*/
    cuttingBackPairIndex: number | null;
    /** Indicates if the polygon has already been cut back.*/
    alreadyCutBack: boolean;
    /** Indicates if the point is a cutting front point.*/
    isCuttingFrontPoint: boolean;
    /** The index of the cutting front pair, if applicable.*/
    cuttingFrontPairIndex: number | null;
    /** Indicates if the polygon has already been cut front.*/
    alreadyCutFront: boolean;
    /** An optional flag indicating if it is a cutting back point.*/
    cuttingBackPoint?: boolean;
    /** An optional index of the cutting back pair.*/
    alterCuttingBackPairIndex?: number;
    /** An optional flag indicating if it is a cutting front point.*/
    cuttingFrontPoint?: boolean;
    /** An optional index of the cutting front pair.*/
    alterCuttingFrontPairIndex?: number;
}
/**
 * Represents collections of polygons categorized as back and front.
 *
 * @interface Chart3DPolyCollections
 */
export interface Chart3DPolyCollections {
    /** Collection of polygons categorized as back.*/
    backPolygon: Chart3DPolygon[];
    /** Collection of polygons categorized as front.*/
    frontPolygon: Chart3DPolygon[];
}
/**
 * Represents the arguments for the 3D text rendering event in a chart.
 *
 * @interface Chart3DTextRenderEventArgs
 */
export interface Chart3DTextRenderEventArgs extends Chart3DEventArgs {
    /** Defines the text for the data label. */
    text: string;
    /** Defines data label text style. */
    textStyle: Chart3DTextFontModel;
    /** Defines the data label border. */
    border: BorderModel;
    /** Defines the data label template.
     *
     * @aspType string
     */
    template: string | Function;
    /** Defines the series information for the data label. */
    series: Chart3DSeriesModel;
    /** Defines the point information for the data label. */
    point: Chart3DPoint;
    /** Defines the data label color. */
    color: string;
    /** Specifies whether to cancel the text render. */
    cancel: boolean;
}
/**
 * Represents options for rendering text.
 *
 * @interface Chart3DTextOption
 */
export interface Chart3DTextOption {
    /** Unique identifier for the text element. */
    id: string;
    /** The x-coordinate of the text element. */
    x: number;
    /** The y-coordinate of the text element. */
    y: number;
    /** The fill color of the text. */
    fill: string;
    /** The font size of the text. */
    'font-size': string;
    /** The font family for the text. */
    'font-family': string;
    /** The font style (e.g., normal, italic) of the text.*/
    'font-style': string;
    /** The font weight (e.g., normal, bold) of the text. */
    'font-weight': string;
    /** The opacity of the text. */
    opacity: number;
    /**The text anchor position (e.g., start, middle, end).*/
    'text-anchor': string;
    /**The cursor type for the text element.*/
    cursor: string;
    /** The transformation applied to the text. */
    transform: string;
}
/**
 * Represents basic transformation parameters for rendering.
 *
 * @interface Chart3DBasicTransform
 */
export interface Chart3DBasicTransform {
    /** The size of the viewing area. */
    viewingArea: svgBase.Size;
    /** The rotation angle. */
    rotation: number;
    /** The tilt angle. */
    tilt: number;
    /** The depth of the transformation. */
    depth: number;
    /** The perspective angle. */
    perspectiveAngle: number;
    /** Flag indicating whether an update is needed. */
    needUpdate: boolean;
    /** The centered matrix used in transformation. */
    centeredMatrix: number[][];
    /** The perspective matrix used in transformation. */
    perspective: number[][];
    /** The result matrix after transformation.*/
    resultMatrix: number[][];
    /** The view matrix used in transformation. */
    viewMatrix: number[][];
    /**  Reference to the chart object. */
    chartObj?: Matrix3D;
}
/**
 * Represents the arguments for 3D tooltip rendering event.
 *
 * @interface Chart3DTooltipRenderEventArgs
 */
export interface Chart3DTooltipRenderEventArgs extends Chart3DEventArgs {
    /** Specifies collections of tooltip text. */
    text?: string;
    /** Defines tooltip text style. */
    textStyle?: FontModel;
    /** Defines the header text for the tooltip. */
    headerText?: string;
    /** Defines the point information for the tooltip. */
    data?: Chart3DPointInformation;
    /** Defines the tooltip template. */
    template?: string;
    /** Specifies whether to cancel the tooltip render. */
    cancel: boolean;
}
/**
 * Represents information about a 3D point.
 *
 * @interface Chart3DPointInformation
 */
export interface Chart3DPointInformation {
    /** point xValue. */
    pointX: object;
    /** point yValue. */
    pointY: object;
    /** point index. */
    pointIndex: number;
    /** series index. */
    seriesIndex: number;
    /** series name. */
    seriesName: string;
    /** point text. */
    pointText: string;
}
/**
 * Represents event arguments for 3D point interactions.
 *
 * @interface Chart3DPointEventArgs
 */
export interface Chart3DPointEventArgs extends Chart3DEventArgs {
    /** Defines the series where the mouse hovered or clicked. */
    series: Chart3DSeriesModel;
    /** Defines the point where the mouse hovered or clicked. */
    point: Chart3DPoint;
    /** Defines the point index where the mouse hovered or clicked. */
    pointIndex: number;
    /** Defines the series index where the mouse hovered or clicked. */
    seriesIndex: number;
    /** Specifies the current mouse X-coordinate. */
    x: number;
    /** Specifies the current mouse Y-coordinate. */
    y: number;
}
/**
 * Represents event arguments for 3D legend rendering.
 *
 * @interface Chart3DLegendRenderEventArgs
 */
export interface Chart3DLegendRenderEventArgs extends Chart3DEventArgs {
    /** Defines the legend text. */
    text: string;
    /** Defines the legend fill color. */
    fill: string;
    /** Defines the legend shape. */
    shape: LegendShape;
    /** Specifies whether to cancel the legend render. */
    cancel: boolean;
}
/**
 * Represents event arguments for 3D mouse interaction.
 *
 * @interface Chart3DMouseEventArgs
 */
export interface Chart3DMouseEventArgs extends Chart3DEventArgs {
    /** Defines current mouse event target id. */
    target: string;
    /** Defines current mouse x location. */
    x: number;
    /** Defines current mouse y location. */
    y: number;
}
/**
 * Represents event arguments for the completion of 3D selection.
 *
 * @interface Chart3DSelectionCompleteEventArgs
 */
export interface Chart3DSelectionCompleteEventArgs extends Chart3DEventArgs {
    /** Defines current selected Data X, Y values. */
    selectedDataValues: {
        x?: string | number | Date;
        y?: number;
        seriesIndex?: number;
        pointIndex?: number;
    }[];
    /**
     * Reference to the 3D chart instance.
     */
    chart: Chart3D;
}
/**
 * Represents event arguments for 3D chart export.
 *
 * @interface Chart3DExportEventArgs
 */
export interface Chart3DExportEventArgs extends Chart3DEventArgs {
    /**
     * The width of the exported chart.
     */
    width: number;
    /**
     * The height of the exported chart.
     */
    height: number;
}
/**
 * Represents the arguments for the 3D print event in a chart.
 *
 * @interface Chart3DPrintEventArgs
 */
export interface Chart3DPrintEventArgs extends Chart3DEventArgs {
    /** Specifies the HTML content to be printed. */
    htmlContent: Element;
}
/**
 * Represents event arguments for 3D chart printing.
 *
 * @interface Chart3DPointRenderEventArgs
 */
export interface Chart3DPointRenderEventArgs extends Chart3DEventArgs {
    /** Defines the series for the point. */
    series: Chart3DSeries;
    /** Defines the point. */
    point: Chart3DPoint;
    /** Defines the point fill color. */
    fill: string;
    /** Specifies whether to cancel the point render. */
    cancel: boolean;
}
/**
 * Represents event arguments for 3D chart legend click.
 *
 * @interface Chart3DLegendClickEventArgs
 */
export interface Chart3DLegendClickEventArgs extends Chart3DEventArgs {
    /** Defines the shape of the legend clicked. */
    legendShape: LegendShape;
    /** Defines the series for the legend clicked. */
    series: Chart3DSeries;
    /** Defines the legend text. */
    legendText: string;
    /** Defines the legend fill color. */
    cancel: boolean;
}
/**
 * Represents event arguments for 3D chart resize.
 *
 * @interface Chart3DResizeEventArgs
 */
export interface Chart3DResizeEventArgs {
    /** Specifies the previous size of the 3D chart. */
    previousSize: svgBase.Size;
    /** Specifies the current size of the 3D chart. */
    currentSize: svgBase.Size;
    /** Defines the 3D chart instance. */
    chart: Chart3D;
}
/**
 * Represents event arguments before 3D chart resize.
 *
 * @interface Chart3DBeforeResizeEventArgs
 */
export interface Chart3DBeforeResizeEventArgs {
    /** Specifies whether to cancel the resize event. */
    cancel: boolean;
}
/**
 * Represents the style settings for 3D chart theme.
 *
 * @interface Chart3DThemeStyle
 */
export interface Chart3DThemeStyle {
    /** The color of axis labels. */
    axisLabel: string;
    /** The color of axis titles. */
    axisTitle: string;
    /** The color of major grid lines. */
    majorGridLine: string;
    /** The color of minor grid lines. */
    minorGridLine: string;
    /** The color of major tick lines. */
    majorTickLine: string;
    /** The color of minor tick lines. */
    minorTickLine: string;
    /** The color of the chart title. */
    chartTitle: string;
    /** The color of legend labels. */
    legendLabel: string;
    /** The background color of the chart. */
    background: string;
    /** The fill color of tooltip. */
    tooltipFill: string;
    /** The color of bold labels in tooltip. */
    tooltipBoldLabel: string;
    /** The color of light labels in tooltip. */
    tooltipLightLabel: string;
    /** The color of the header line in tooltip. */
    tooltipHeaderLine: string;
    /** The color of tab headers. */
    tabColor: string;
    /** The font settings for the chart title. */
    chartTitleFont: FontModel;
    /** The font settings for axis labels. */
    axisLabelFont: FontModel;
    /** The font settings for legend titles. */
    legendTitleFont: FontModel;
    /** The font settings for legend labels. */
    legendLabelFont: FontModel;
    /** The opacity of tooltip. */
    tooltipOpacity?: number;
    /** The font settings for tooltip labels. */
    tooltipLabelFont: FontModel;
    /** The font settings for axis titles. */
    axisTitleFont: FontModel;
    /** The font settings for chart subtitles. */
    chartSubTitleFont: FontModel;
    /** The font settings for data labels. */
    datalabelFont: FontModel;
    /** The color of the 3D wall */
    backWallColor: string;
    /** The color of the 3D wall */
    leftWallColor: string;
}
/**
 * Represents the position information for a rectangle.
 *
 * @interface
 */
export interface Chart3DRectPosition {
    /** The position value for the rectangle. */
    position: number;
    /** The count of rectangles. */
    rectCount: number;
}
/**
 * Represents information about the depth.
 *
 * @interface
 */
export interface Chart3DDepthInfoType {
    /** The starting value of the depth. */
    start: number;
    /** The ending value of the depth. */
    end: number;
    /** The change in depth. */
    delta: number;
}
/**
 * Represents values related to a range.
 *
 * @interface
 */
export interface Chart3DRangeValues {
    /** The starting value of the range. */
    start: number;
    /** The ending value of the range. */
    end: number;
    /** The change in value within the range. */
    delta: number;
    /** The median value within the range. */
    median: number;
    /** Indicates whether the range is empty. */
    isEmpty: boolean;
}
/**
 * Interface representing attributes for a 3D chart line.
 *
 * @interface
 */
export interface Chart3DLineAttributes {
    /** The data attribute for the line. */
    id: string;
    /** The x-coordinate of the starting point of the line. */
    'x1': number;
    /** The y-coordinate of the starting point of the line. */
    'y1': number;
    /** The x-coordinate of the ending point of the line. */
    'x2': number;
    /** The y-coordinate of the ending point of the line. */
    'y2': number;
    /** The dash pattern of the line stroke. */
    'stroke-dasharray': string;
    /** The width of the line stroke. */
    'stroke-width': number;
    /** The color of the line stroke. */
    'stroke': string;
    /** The opacity of the line. */
    'opacity': number;
}
/**
 * Defines the tooltip fade out mode of the chart.
 * * Click - Used to remove the tooltip on click.
 * * Move - Used to remove the tooltip with some delay.
 */
export  type Chart3DFadeOutMode = 
/** Used to remove the tooltip on click  */
'Click' | 
/** Used to remove the tooltip with some delay  */
'Move';
/**
 * Configures the fonts in charts.
 */
export  class Chart3DTextFont extends base.ChildProperty<Chart3DTextFont> {
    /**
     * FontStyle for the text.
     *
     * @default 'Normal'
     */
    fontStyle: string;
    /**
     * Font size for the text.
     *
     * @default '16px'
     */
    size: string;
    /**
     * FontWeight for the text.
     *
     * @default 'Normal'
     */
    fontWeight: string;
    /**
     * Color for the text.
     *
     * @default ''
     */
    color: string;
    /**
     * FontFamily for the text.
     */
    fontFamily: string;
    /**
     * Opacity for the text.
     *
     * @default 1
     */
    opacity: number;
}
/**
 * Configures the borders in the 3D chart title.
 */
export  class TitleBorder extends base.ChildProperty<TitleBorder> {
    /**
     * The color of the border that accepts value in hex and rgba as a valid CSS color string.
     *
     * @default 'transparent'
     */
    color: string;
    /**
     * The width of the border in pixels.
     *
     * @default 0
     */
    width: number;
    /**
     * corder radius for the border.
     *
     * @default 0.8
     */
    cornerRadius: number;
}
/**
 * Configures the title settings in 3D chart.
 */
export  class TitleSettings extends base.ChildProperty<TitleSettings> {
    /**
     * FontStyle for the text.
     *
     * @default 'Normal'
     */
    fontStyle: string;
    /**
     * Font size for the text.
     *
     * @default '15px'
     */
    size: string;
    /**
     * FontWeight for the text.
     *
     * @default '500'
     */
    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 'Wrap'
     */
    textOverflow: TextOverflow;
    /**
     * Defines the position for the chart title.
     * * Top: Displays the title at the top of the chart.
     * * Left: Displays the title at the left of the chart.
     * * Bottom: Displays the title at the bottom of the chart.
     * * Right: Displays the title at the right of the chart.
     * * Custom: Displays the title based on the given x and y values.
     *
     * @default 'Top'
     */
    position: TitlePosition;
    /**
     * Defines the X coordinate for the chart title.
     *
     * @default 0
     */
    x: number;
    /**
     * Defines the Y coordinate for the chart title.
     *
     * @default 0
     */
    y: number;
    /**
     * Background of the title border.
     *
     * @default 'transparent'
     */
    background: string;
    /**
     * Options to customize the border of the chart title.
     */
    border: TitleBorderModel;
}
//node_modules/@syncfusion/ej2-charts/src/chart3d/model/chart3d-Interface-model.d.ts
/**
 * Interface for a class Chart3DTextFont
 */
export interface Chart3DTextFontModel {
    /**
     * FontStyle for the text.
     *
     * @default 'Normal'
     */
    fontStyle?: string;
    /**
     * Font size for the text.
     *
     * @default '16px'
     */
    size?: string;
    /**
     * FontWeight for the text.
     *
     * @default 'Normal'
     */
    fontWeight?: string;
    /**
     * Color for the text.
     *
     * @default ''
     */
    color?: string;
    /**
     * FontFamily for the text.
     */
    fontFamily?: string;
    /**
     * Opacity for the text.
     *
     * @default 1
     */
    opacity?: number;
}
/**
 * Interface for a class TitleBorder
 */
export interface TitleBorderModel {
    /**
     * The color of the border that accepts value in hex and rgba as a valid CSS color string.
     *
     * @default 'transparent'
     */
    color?: string;
    /**
     * The width of the border in pixels.
     *
     * @default 0
     */
    width?: number;
    /**
     * corder radius for the border.
     *
     * @default 0.8
     */
    cornerRadius?: number;
}
/**
 * Interface for a class TitleSettings
 */
export interface TitleSettingsModel {
    /**
     * FontStyle for the text.
     *
     * @default 'Normal'
     */
    fontStyle?: string;
    /**
     * Font size for the text.
     *
     * @default '15px'
     */
    size?: string;
    /**
     * FontWeight for the text.
     *
     * @default '500'
     */
    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 'Wrap'
     */
    textOverflow?: TextOverflow;
    /**
     * Defines the position for the chart title.
     * * Top: Displays the title at the top of the chart.
     * * Left: Displays the title at the left of the chart.
     * * Bottom: Displays the title at the bottom of the chart.
     * * Right: Displays the title at the right of the chart.
     * * Custom: Displays the title based on the given x and y values.
     *
     * @default 'Top'
     */
    position?: TitlePosition;
    /**
     * Defines the X coordinate for the chart title.
     *
     * @default 0
     */
    x?: number;
    /**
     * Defines the Y coordinate for the chart title.
     *
     * @default 0
     */
    y?: number;
    /**
     * Background of the title border.
     *
     * @default 'transparent'
     */
    background?: string;
    /**
     * Options to customize the border of the chart title.
     */
    border?: TitleBorderModel;
}
//node_modules/@syncfusion/ej2-charts/src/chart3d/legend/legend.d.ts
/**
 * Chart legend
 */
/**
 * Configures the legends in charts.
 */
export  class Chart3DLegendSettings extends base.ChildProperty<Chart3DLegendSettings> {
    /**
     * If set to true, the legend will be displayed for the chart.
     *
     * @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 chart3D$: Chart3D = new Chart3D({
     * ...
     *   legendSettings: {
     *     visible: true,
     *     position: 'Custom',
     *     location: { x: 100, y: 150 },
     *   },
     * ...
     * });
     * chart3D.appendTo('#Chart');
     * ```
     */
    location: LocationModel;
    /**
     * Position of the legend in the chart. Available options include:
     * * Auto: Places the legend based on the area type.
     * * Top: Displays the legend at the top of the chart.
     * * Left: Displays the legend at the left of the chart.
     * * Bottom: Displays the legend at the bottom of the chart.
     * * Right: Displays the legend at the right of the chart.
     * * Custom: Displays the legend based on the given x and y values.
     *
     * @default 'Auto'
     */
    position: LegendPosition;
    /**
     * Mode of legend items.
     * * Series: Legend items generated based on series count.
     * * Point: Legend items generated based on unique data points.
     * * Range: Legend items generated based on range color mapping property.
     * * Gradient: Single linear bar generated based on range color mapping property.
     * This property is applicable for chart component only.
     */
    mode: Chart3DLegendMode;
    /**
     * Option to customize the padding around the legend items.
     *
     * @default 8
     */
    padding: number;
    /**
     * Option to customize the padding between legend items.
     *
     * @default null
     */
    itemPadding: number;
    /**
     * Legend in chart can be aligned as follows:
     * * Near: Aligns the legend to the left of the chart.
     * * Center: Aligns the legend to the center of the chart.
     * * Far: Aligns the legend to the right of the chart.
     *
     * @default 'Center'
     */
    alignment: Alignment;
    /**
     * Options to customize the legend text.
     */
    textStyle: FontModel;
    /**
     * Shape height of the legend in pixels.
     *
     * @default 10
     */
    shapeHeight: number;
    /**
     * Shape width of the legend in pixels.
     *
     * @default 10
     */
    shapeWidth: number;
    /**
     * Options to customize the border of the legend.
     */
    border: BorderModel;
    /**
     *  Options to customize left, right, top and bottom margins of the chart.
     */
    margin: MarginModel;
    /**
     *  Options to customize left, right, top and bottom padding for legend container of the chart.
     */
    containerPadding: ContainerPaddingModel;
    /**
     * Padding between the legend shape and text.
     *
     * @default 8
     */
    shapePadding: number;
    /**
     * The background color of the legend that accepts value in hex and rgba as a valid CSS color string.
     *
     * @default 'transparent'
     */
    background: string;
    /**
     * Opacity of the legend.
     *
     * @default 1
     */
    opacity: number;
    /**
     * If set to true, series visibility collapses based on the legend visibility.
     *
     * @default true
     */
    toggleVisibility: boolean;
    /**
     * If set to true, the series get highlighted, while hovering the legend.
     *
     * @default false
     */
    enableHighlight: boolean;
    /**
     * Description for legends.
     *
     * @default null
     */
    description: string;
    /**
     * TabIndex value for the legend.
     *
     * @default 3
     */
    tabIndex: number;
    /**
     * Title for legends.
     *
     * @default null
     */
    title: string;
    /**
     * Options to customize the legend title.
     */
    titleStyle: FontModel;
    /**
     * legend title position.
     *
     * @default 'Top'
     */
    titlePosition: LegendTitlePosition;
    /**
     * Defines the text wrap behavior to employ when the individual legend text overflows
     * * `Normal` -  Specifies to break words only at allowed break points.
     * * `Wrap` - Specifies to break a word once it is too long to fit on a line by itself.
     * * `AnyWhere` - Specifies to break a word at any point if there are no otherwise-acceptable break points in the line.
     *
     * @default 'Normal'
     */
    textWrap: TextWrap;
    /**
     * Defines the text overflow behavior to employ when the individual legend text overflows
     * * `Clip` -  Specifies the text is clipped and not accessible.
     * * `Ellipsis` -  Specifies an ellipsis (“...”) to the clipped text.
     *
     * @default 'Ellipsis'
     */
    textOverflow: LabelOverflow;
    /**
     * maximum width for the legend title.
     *
     * @default 100
     */
    maximumTitleWidth: number;
    /**
     * Maximum label width for the legend text.
     *
     * @default null
     */
    maximumLabelWidth: number;
    /**
     * If set to true, legend will be visible using pages.
     *
     * @default true
     */
    enablePages: boolean;
    /**
     * If `isInversed` set to true, then it inverses legend item content (image and text).
     *
     * @default false.
     */
    isInversed: boolean;
    /**
     * If `reverse` is set to true, it reverses the order of legend items.
     *
     * @default false
     */
    reverse: boolean;
}
/**
 * The `Legend` module is used to render legend for the chart.
 */
export  class Legend3D extends BaseLegend {
    constructor(chart: Chart3D);
    /**
     * Binding events for legend module.
     *
     * @returns {void}
     */
    private addEventListener;
    /**
     * Unbinding events for legend module.
     *
     * @returns {void}
     */
    private removeEventListener;
    /**
     * To handle mosue move for legend module
     *
     * @param {MouseEvent} e - Specifies the mouse event.
     * @returns {void}
     */
    private mouseMove;
    /**
     * To handle mouse end for legend module
     *
     * @param {MouseEvent} e - Specifies the mouse event.
     * @returns {void}
     */
    private mouseEnd;
    /**
     * Retrieves and returns legend options for the visible series within a 3D chart.
     *
     * @param {Chart3DSeries[]} visibleSeriesCollection - The collection of visible series to extract legend options from.
     * @param {Chart3D} chart - The 3D chart containing the series and legend.
     * @returns {void}
     */
    getLegendOptions(visibleSeriesCollection: Chart3DSeries[], chart: Chart3D): void;
    /**
     * Calculates and retrieves the legend bounds within the available size for the provided legend settings.
     *
     * @param {svgBase.Size} availableSize - The available size for positioning the legend.
     * @param {svgBase.Rect} legendBounds - The initial bounds of the legend.
     * @param {Chart3DLegendSettingsModel} legend - The customization option for the legend.
     * @returns {void}
     */
    get3DLegendBounds(availableSize: svgBase.Size, legendBounds: svgBase.Rect, legend: Chart3DLegendSettingsModel): void;
    /**
     * Calculates and retrieves the height of the legend within the specified legend bounds and based on the provided options and settings.
     *
     * @param {LegendOptions} legendOption - The options and data for the legend.
     * @param {Chart3DLegendSettingsModel} legend - The customization options for the legend.
     * @param {svgBase.Rect} legendBounds - The bounds of the legend.
     * @param {number} rowWidth - The width of a row within the legend.
     * @param {number} legendHeight - The initial height of the legend.
     * @param {number} padding - The padding applied to the legend.
     * @returns {void}
     * @private
     */
    getLegendHeight(legendOption: LegendOptions, legend: Chart3DLegendSettingsModel, legendBounds: svgBase.Rect, rowWidth: number, legendHeight: number, padding: number): void;
    /**
     * Calculates and retrieves the render point (position) for the legend item within the legend area.
     *
     * @param {LegendOptions} legendOption - The options and data for the legend item.
     * @param {ChartLocation} start - The starting point for positioning the legend item.
     * @param {number} textPadding - The padding applied to the legend text.
     * @param {LegendOptions} prevLegend - The previous legend item for reference.
     * @param {svgBase.Rect} rect - The bounding rectangle of the legend area.
     * @param {number} count - The index of the legend item within the legend.
     * @param {number} firstLegend - The index of the first legend item.
     * @returns {void}
     * @private
     */
    getRenderPoint(legendOption: LegendOptions, start: ChartLocation, textPadding: number, prevLegend: LegendOptions, rect: svgBase.Rect, count: number, firstLegend: number): void;
    /**
     * Checks whether the previous bound  width is within the given rectangular bounds.
     *
     * @param {number} previousBound - The previous bound (position) of an element.
     * @param {number} textWidth - The width of the text or element to be positioned.
     * @param {svgBase.Rect} rect - The rectangular bounds to check against.
     * @returns {boolean} - True if the element is within the bounds;
 otherwise, false.
     * @private
     */
    private isWithinBounds;
    /**
     * Handles the click event on a legend item at the specified index.
     *
     * @param {number} index - The index of the legend item clicked.
     * @param {Event | PointerEvent} event - The click or pointer event.
     * @returns {void}
     * @private
     */
    LegendClick(index: number, event: Event | PointerEvent): void;
    /**
     * Refreshes the legend toggle behavior for the specified series in a 3D chart.
     *
     * @param {Chart3D} chart - The 3D chart containing the legend and series.
     * @param {Chart3DSeries} series - The series for which the legend toggle behavior is refreshed.
     * @returns {void}
     * @private
     */
    private refreshLegendToggle;
    /**
     * Changes the visibility of the specified series in a 3D chart.
     *
     * @param {Chart3DSeries} series - The series whose visibility is being changed.
     * @param {boolean} visibility - The new visibility state for the series (true for visible, false for hidden).
     * @returns {void}
     * @private
     */
    private changeSeriesVisiblity;
    /**
     * Checks whether the specified axis is a secondary axis within the 3D chart.
     *
     * @param {Chart3DAxis} axis - The axis to be checked.
     * @returns {boolean} - True if the axis is a secondary axis, otherwise, false.
     * @private
     */
    private isSecondaryAxis;
    /**
     * Redraws the elements of a 3D series on the chart.
     *
     * @param {Chart3DSeries} series - The 3D series to redraw.
     * @param {Chart3D} chart - The 3D chart instance.
     * @returns {void}
     * @private
     */
    private redrawSeriesElements;
    /**
     * Refreshes the position information of each series in a collection.
     *
     * @param {Chart3DSeries[]} seriesCollection - The collection of 3D series to refresh.
     * @returns {void}
     * @private
     */
    private refreshSeries;
    /**
     * To show the tooltip for the trimmed text in legend.
     *
     * @param {Event | PointerEvent} event - Specifies the event.
     * @returns {void}
     * @private
     */
    click(event: Event | PointerEvent): void;
    /**
     * Get module name
     *
     * @returns {string} - Returns the module name
     */
    protected getModuleName(): string;
    /**
     * To destroy the legend module.
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-charts/src/chart3d/legend/legend-model.d.ts
/**
 * Interface for a class Chart3DLegendSettings
 */
export interface Chart3DLegendSettingsModel {
    /**
     * If set to true, the legend will be displayed for the chart.
     *
     * @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 chart3D$: Chart3D = new Chart3D({
     * ...
     *   legendSettings: {
     *     visible: true,
     *     position: 'Custom',
     *     location: { x: 100, y: 150 },
     *   },
     * ...
     * });
     * chart3D.appendTo('#Chart');
     * ```
     */
    location?: LocationModel;
    /**
     * Position of the legend in the chart. Available options include:
     * * Auto: Places the legend based on the area type.
     * * Top: Displays the legend at the top of the chart.
     * * Left: Displays the legend at the left of the chart.
     * * Bottom: Displays the legend at the bottom of the chart.
     * * Right: Displays the legend at the right of the chart.
     * * Custom: Displays the legend based on the given x and y values.
     *
     * @default 'Auto'
     */
    position?: LegendPosition;
    /**
     * Mode of legend items.
     * * Series: Legend items generated based on series count.
     * * Point: Legend items generated based on unique data points.
     * * Range: Legend items generated based on range color mapping property.
     * * Gradient: Single linear bar generated based on range color mapping property.
     * This property is applicable for chart component only.
     */
    mode?: Chart3DLegendMode;
    /**
     * Option to customize the padding around the legend items.
     *
     * @default 8
     */
    padding?: number;
    /**
     * Option to customize the padding between legend items.
     *
     * @default null
     */
    itemPadding?: number;
    /**
     * Legend in chart can be aligned as follows:
     * * Near: Aligns the legend to the left of the chart.
     * * Center: Aligns the legend to the center of the chart.
     * * Far: Aligns the legend to the right of the chart.
     *
     * @default 'Center'
     */
    alignment?: Alignment;
    /**
     * Options to customize the legend text.
     */
    textStyle?: FontModel;
    /**
     * Shape height of the legend in pixels.
     *
     * @default 10
     */
    shapeHeight?: number;
    /**
     * Shape width of the legend in pixels.
     *
     * @default 10
     */
    shapeWidth?: number;
    /**
     * Options to customize the border of the legend.
     */
    border?: BorderModel;
    /**
     *  Options to customize left, right, top and bottom margins of the chart.
     */
    margin?: MarginModel;
    /**
     *  Options to customize left, right, top and bottom padding for legend container of the chart.
     */
    containerPadding?: ContainerPaddingModel;
    /**
     * Padding between the legend shape and text.
     *
     * @default 8
     */
    shapePadding?: number;
    /**
     * The background color of the legend that accepts value in hex and rgba as a valid CSS color string.
     *
     * @default 'transparent'
     */
    background?: string;
    /**
     * Opacity of the legend.
     *
     * @default 1
     */
    opacity?: number;
    /**
     * If set to true, series visibility collapses based on the legend visibility.
     *
     * @default true
     */
    toggleVisibility?: boolean;
    /**
     * If set to true, the series get highlighted, while hovering the legend.
     *
     * @default false
     */
    enableHighlight?: boolean;
    /**
     * Description for legends.
     *
     * @default null
     */
    description?: string;
    /**
     * TabIndex value for the legend.
     *
     * @default 3
     */
    tabIndex?: number;
    /**
     * Title for legends.
     *
     * @default null
     */
    title?: string;
    /**
     * Options to customize the legend title.
     */
    titleStyle?: FontModel;
    /**
     * legend title position.
     *
     * @default 'Top'
     */
    titlePosition?: LegendTitlePosition;
    /**
     * Defines the text wrap behavior to employ when the individual legend text overflows
     * * `Normal` -  Specifies to break words only at allowed break points.
     * * `Wrap` - Specifies to break a word once it is too long to fit on a line by itself.
     * * `AnyWhere` - Specifies to break a word at any point if there are no otherwise-acceptable break points in the line.
     *
     * @default 'Normal'
     */
    textWrap?: TextWrap;
    /**
     * Defines the text overflow behavior to employ when the individual legend text overflows
     * * `Clip` -  Specifies the text is clipped and not accessible.
     * * `Ellipsis` -  Specifies an ellipsis (“...”) to the clipped text.
     *
     * @default 'Ellipsis'
     */
    textOverflow?: LabelOverflow;
    /**
     * maximum width for the legend title.
     *
     * @default 100
     */
    maximumTitleWidth?: number;
    /**
     * Maximum label width for the legend text.
     *
     * @default null
     */
    maximumLabelWidth?: number;
    /**
     * If set to true, legend will be visible using pages.
     *
     * @default true
     */
    enablePages?: boolean;
    /**
     * If `isInversed` set to true, then it inverses legend item content (image and text).
     *
     * @default false.
     */
    isInversed?: boolean;
    /**
     * If `reverse` is set to true, it reverses the order of legend items.
     *
     * @default false
     */
    reverse?: boolean;
}
/**
 * Interface for a class Legend3D
 */
export interface Legend3DModel {
}
//node_modules/@syncfusion/ej2-charts/src/chart3d/axis/logarithmic-axis.d.ts
/**
 * The `Logarithmic` module is used to render log axis.
 */
export  class Logarithmic3D extends Double3D {
    /**
     * Constructor for the logerithmic module.
     *
     * @param {Chart3D} chart - Chart3D instance.
     * @private
     */
    constructor(chart: Chart3D);
    /**
     * Calculates the range and interval for the specified axis based on the provided size.
     *
     * @param {svgBase.Size} size - The size of the chart area used for range and interval calculation.
     * @param {Chart3DAxis} axis - The axis for which the range and interval are calculated.
     * @returns {void}
     */
    calculateRangeAndInterval(size: svgBase.Size, axis: Chart3DAxis): void;
    /**
     * Calculates actual range for the axis.
     *
     * @param {Chart3DAxis} axis - The axis for which the range and interval are calculated.
     * @param {svgBase.Size} size - The size of the axis.
     * @returns {void}
     * @private
     */
    getActualRange(axis: Chart3DAxis, size: svgBase.Size): void;
    /**
     * Calculates visible range for the axis.
     *
     * @param {svgBase.Size} size - The size of the axis.
     * @param {Chart3DAxis} axis - The axis for which the range and interval are calculated.
     * @returns {void}
     * @private
     */
    protected calculateVisibleRange(size: svgBase.Size, axis: Chart3DAxis): void;
    /**
     * Calculates log inteval for the axis.
     *
     * @param {number} delta - The delta value.
     * @param {svgBase.Size} size - The size of the axis.
     * @param {Chart3DAxis} axis - The axis for which the range and interval are calculated.
     * @returns {number} - Returns the log interval.
     * @private
     */
    protected calculateLogNiceInterval(delta: number, size: svgBase.Size, axis: Chart3DAxis): number;
    /**
     * Calculates labels for the axis.
     *
     * @param {Chart3DAxis} axis - The axis for which the range and interval are calculated.
     * @param {Chart3D} chart - Specifies the instance of the chart.
     * @returns {void}
     * @private
     */
    calculateVisibleLabels(axis: Chart3DAxis, chart: Chart3D): void;
    /**
     * Get module name.
     *
     * @returns {string} - Returns the module name.
     */
    protected getModuleName(): string;
    /**
     * To destroy the category axis.
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-charts/src/chart3d/axis/double-axis.d.ts
/**
 * The numeric module is used to render numeric axis.
 */
export  class Double3D {
    /** @private */
    chart: Chart3D;
    /** @private */
    min: Object;
    /** @private */
    max: Object;
    private paddingInterval;
    private isColumn;
    private isStacking;
    /**
     * Constructor for the dateTime module.
     *
     * @param {Chart3D} chart - Chart3D instance.
     * @private
     */
    constructor(chart?: Chart3D);
    /**
     * Calculates a numeric nice interval for the specified axis based on the provided delta and size.
     *
     * @param {Chart3DAxis} axis - The axis for which the numeric nice interval is calculated.
     * @param {number} delta - The delta value to consider in the interval calculation.
     * @param {svgBase.Size} size - The size of the chart area used in the calculation.
     * @returns {number} - The calculated numeric nice interval.
     * @protected
     */
    protected calculateNumericNiceInterval(axis: Chart3DAxis, delta: number, size: svgBase.Size): number;
    /**
     * Retrieves the actual range for the specified axis based on the provided size.
     *
     * @param {Chart3DAxis} axis - The axis for which the actual range is retrieved.
     * @param {svgBase.Size} size - The size of the chart area used in the range calculation.
     * @returns {void}
     */
    getActualRange(axis: Chart3DAxis, size: svgBase.Size): void;
    /**
     * Range for the axis.
     *
     * @param {Chart3DAxis} axis - Specifies the instance of the axis.
     * @returns {void}
     * @private
     */
    initializeDoubleRange(axis: Chart3DAxis): void;
    /**
     * Calculates the range and interval for the specified axis based on the provided size.
     *
     * @param {svgBase.Size} size - The size of the chart area used for range and interval calculation.
     * @param {Chart3DAxis} axis - The axis for which the range and interval are calculated.
     * @returns {void}
     */
    calculateRangeAndInterval(size: svgBase.Size, axis: Chart3DAxis): void;
    /**
     * Calculates range for the axis.
     *
     * @param {Chart3DAxis} axis - Specifies the instance of the axis.
     * @returns {void}
     * @private
     */
    protected calculateRange(axis: Chart3DAxis): void;
    /**
     * Sets the range for the Y-axis based on the minimum and maximum values of the series.
     *
     * @param {Chart3DAxis} axis - The Y-axis of the 3D chart.
     * @param {Chart3DSeries} series - The 3D series for which to determine the range.
     * @returns {void}
     */
    private yAxisRange;
    /**
     * Finds and updates the minimum and maximum values within a given range.
     *
     * @param {Object} min - The minimum value to compare.
     * @param {Object} max - The maximum value to compare.
     * @returns {void}
     */
    private findMinMax;
    /**
     * Apply padding for the range.
     *
     * @param {Chart3DAxis} axis - Specifies the instance of the axis.
     * @param {svgBase.Size} size - Specifies the size of the axis.
     * @returns {void}
     * @private
     */
    applyRangePadding(axis: Chart3DAxis, size: svgBase.Size): void;
    /**
     * Updates the actual range of the 3D axis with specified minimum, maximum, and interval values.
     *
     * @param {Chart3DAxis} axis - The 3D axis to update.
     * @param {number} minimum - The minimum value for the axis.
     * @param {number} maximum - The maximum value for the axis.
     * @param {number} interval - The interval value for the axis.
     * @returns {void}
     */
    updateActualRange(axis: Chart3DAxis, minimum: number, maximum: number, interval: number): void;
    /**
     * Finds additional range for the 3D axis based on specified start, end, interval, and size values.
     *
     * @param {Chart3DAxis} axis - The 3D axis to find additional range for.
     * @param {number} start - The start value for the axis range.
     * @param {number} end - The end value for the axis range.
     * @param {number} interval - The interval value for the axis.
     * @param {svgBase.Size} size - The size of the chart area.
     * @returns {void}
     */
    private findAdditional;
    /**
     * Finds normal range for the 3D axis based on specified start, end, interval, and size values.
     *
     * @param {Chart3DAxis} axis - The 3D axis to find normal range for.
     * @param {number} start - The start value for the axis range.
     * @param {number} end - The end value for the axis range.
     * @param {number} interval - The interval value for the axis.
     * @param {svgBase.Size} size - The size of the chart area.
     * @returns {void}
     */
    private findNormal;
    /**
     * Calculate visible range for axis.
     *
     * @param {svgBase.Size} size - Specifies the size of the axis.
     * @param {Chart3DAxis} axis - Specifies the instance of the axis.
     * @returns {void}
     * @private
     */
    protected calculateVisibleRange(size: svgBase.Size, axis: Chart3DAxis): void;
    /**
     * Calculates the visible label for the axis.
     *
     * @param {Chart3DAxis} axis - Specifies the instance of the axis.
     * @param {Chart3D} chart - Specifies the instance of the chart.
     * @returns {void}
     * @private
     */
    calculateVisibleLabels(axis: Chart3DAxis, chart: Chart3D): void;
    /**
     * Gets the format for the axis label.
     *
     * @param {Chart3DAxis} axis - Specifies the instance of the axis.
     * @returns {string} - Returns the string value.
     * @private
     */
    protected getFormat(axis: Chart3DAxis): string;
    /**
     * Formats the axis label.
     *
     * @param {Chart3DAxis} axis - Specifies the instance of the axis.
     * @param {boolean} isCustom - Specifies whether the format is custom.
     * @param {string} format - Specifies the format of the axis label.
     * @param {number} tempInterval - Specifies the interval of the axis label.
     * @returns {string} - Returns the string value.
     * @private
     */
    formatValue(axis: Chart3DAxis, isCustom: boolean, format: string, tempInterval: number): string;
    /**
     * Gets the module name.
     *
     * @returns {string} - the module name.
     */
    protected getModuleName(): string;
}
//node_modules/@syncfusion/ej2-charts/src/chart3d/axis/date-time-category-axis.d.ts
/**
 * The DatetimeCategory module is used to render date time category axis.
 */
export  class DateTimeCategory3D extends Category3D {
    private axisSize;
    /**
     * Constructor for the category module.
     *
     * @param {Chart3D} chart - Chart3D instance.
     * @private
     */
    constructor(chart: Chart3D);
    /**
     * Calculates the range and interval for the specified axis based on the provided size.
     *
     * @param {svgBase.Size} size - The size of the chart area used for range and interval calculation.
     * @param {Chart3DAxis} axis - The axis for which the range and interval are calculated.
     * @returns {void}
     */
    calculateRangeAndInterval(size: svgBase.Size, axis: Chart3DAxis): void;
    /**
     * Calculates and updates the visible labels for the specified axis.
     *
     * @param {Chart3DAxis} axis - The axis for which visible labels are calculated.
     * @returns {void}
     */
    calculateVisibleLabels(axis: Chart3DAxis): void;
    /**
     * To get the indexed axis label text with format for DateTimeCategory axis.
     *
     * @param {string} value value
     * @param {Function} format format
     * @returns {string} Indexed axis label text
     */
    getIndexedAxisLabel(value: string, format: Function): string;
    /**
     * Checks whether two dates have the same interval value of the specified type at the given index.
     *
     * @param {number} currentDate - The current date to be compared.
     * @param {number} previousDate - The previous date to be compared.
     * @param {IntervalType} type - The type of interval (year, month, day, etc.).
     * @param {number} index - The index within the interval.
     * @returns {boolean} - True if the two dates have the same interval value;
 otherwise, false.
     */
    sameInterval(currentDate: number, previousDate: number, type: IntervalType, index: number): boolean;
    /**
     * Get module name.
     *
     * @returns {string} - Returns the module name
     */
    protected getModuleName(): string;
    /**
     * To destroy the datetime category axis.
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-charts/src/chart3d/axis/date-time-axis.d.ts
/**
 * The `DateTime` module is used to render datetime axis.
 */
export  class DateTime3D extends NiceIntervals {
    /** @private */
    min: number;
    /** @private */
    max: number;
    /**
     * Constructor for the dateTime module.
     *
     * @param {Chart3D} chart - Chart3D instance.
     * @private
     */
    constructor(chart?: Chart3D);
    /**
     * Calculates the range and interval for the specified axis based on the provided size.
     *
     * @param {svgBase.Size} size - The size of the chart area used for range and interval calculation.
     * @param {Chart3DAxis} axis - The axis for which the range and interval are calculated.
     * @returns {void}
     */
    calculateRangeAndInterval(size: svgBase.Size, axis: Chart3DAxis): void;
    /**
     * Retrieves the actual range for the specified axis based on the provided size.
     *
     * @param {Chart3DAxis} axis - The axis for which the actual range is calculated.
     * @param {svgBase.Size} size - The size of the chart area used in the range calculation.
     * @returns {void}
     */
    getActualRange(axis: Chart3DAxis, size: svgBase.Size): void;
    /**
     * Applies range padding to the specified axis based on the provided size.
     *
     * @param {Chart3DAxis} axis - The axis to which range padding is applied.
     * @param {svgBase.Size} size - The size of the chart area used in the padding calculation.
     * @returns {void}
     */
    applyRangePadding(axis: Chart3DAxis, size: svgBase.Size): void;
    /**
     * Determines the year values within the specified date range with consideration for range padding and interval.
     *
     * @param {Date} minimum - The minimum date of the range.
     * @param {Date} maximum - The maximum date of the range.
     * @param {ChartRangePadding} rangePadding - The type of range padding to apply.
     * @param {number} interval - The desired interval between years.
     * @returns {void}
     */
    private getYear;
    /**
     * Determines the month values within the specified date range with consideration for range padding and interval.
     *
     * @param {Date} minimum - The minimum date of the range.
     * @param {Date} maximum - The maximum date of the range.
     * @param {ChartRangePadding} rangePadding - The type of range padding to apply.
     * @param {number} interval - The desired interval between months.
     * @returns {void}
     */
    private getMonth;
    /**
     * Determines the day values within the specified date range with consideration for range padding and interval.
     *
     * @param {Date} minimum - The minimum date of the range.
     * @param {Date} maximum - The maximum date of the range.
     * @param {ChartRangePadding} rangePadding - The type of range padding to apply.
     * @param {number} interval - The desired interval between days.
     * @returns {void}
     */
    private getDay;
    /**
     * Determines the hour values within the specified date range with consideration for range padding and interval.
     *
     * @param {Date} minimum - The minimum date of the range.
     * @param {Date} maximum - The maximum date of the range.
     * @param {ChartRangePadding} rangePadding - The type of range padding to apply.
     * @param {number} interval - The desired interval between hours.
     * @returns {void}
     */
    private getHour;
    /**
     * Calculates the visible range for the specified axis based on the provided size.
     *
     * @param {svgBase.Size} size - The size of the chart area used in the visible range calculation.
     * @param {Chart3DAxis} axis - The axis for which the visible range is calculated.
     * @returns {void}
     */
    protected calculateVisibleRange(size: svgBase.Size, axis: Chart3DAxis): void;
    /**
     * Calculate visible labels for the axis.
     *
     * @param {Chart3DAxis} axis -  The axis for which the labels are calculated.
     * @param {Chart3D} chart chart
     * @returns {void}
     * @private
     */
    calculateVisibleLabels(axis: Chart3DAxis, chart: Chart3D): void;
    /**
     * Increases a date-time interval by the specified value for the given axis.
     *
     * @param {Chart3DAxis} axis - The axis for which the date-time interval is increased.
     * @param {number} value - The value by which to increase the interval.
     * @param {number} interval - The original interval to be adjusted.
     * @returns {Date} - The adjusted date-time interval.
     * @private
     */
    increaseDateTimeInterval(axis: Chart3DAxis, value: number, interval: number): Date;
    /**
     * Aligns the starting date of the range for the specified axis based on the provided date and interval size.
     *
     * @param {Chart3DAxis} axis - The axis for which the range start is aligned.
     * @param {number} sDate - The date in numerical format to be aligned.
     * @param {number} intervalSize - The size of the interval used for alignment.
     * @returns {Date} - The aligned date for the range start.
     * @private
     */
    private alignRangeStart;
    /**
     * Get module name.
     *
     * @returns {string} - Returns the module name.
     */
    protected getModuleName(): string;
    /**
     * To destroy the date time axis.
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-charts/src/chart3d/axis/category-axis.d.ts
/**
 * The `Category` module is used to render category axis.
 */
export  class Category3D extends NiceIntervals {
    /**
     * Constructor for the category module.
     *
     * @param {Chart3D} chart - Chart instance.
     * @private
     */
    constructor(chart: Chart3D);
    /**
     * Calculates the range and interval for the specified axis based on the provided size.
     *
     * @param {svgBase.Size} size - The size of the chart area used for range and interval calculation.
     * @param {Chart3DAxis} axis - The axis for which the range and interval are calculated.
     * @returns {void}
     * @private
     */
    calculateRangeAndInterval(size: svgBase.Size, axis: Chart3DAxis): void;
    /**
     * Retrieves the actual range for the specified axis based on the provided size.
     *
     * @param {Chart3DAxis} axis - The axis for which the actual range is calculated.
     * @param {svgBase.Size} size - The size of the chart area used in the range calculation.
     * @returns {void}
     */
    getActualRange(axis: Chart3DAxis, size: svgBase.Size): void;
    /**
     * Applies range padding to the specified axis based on the provided size.
     *
     * @param {Chart3DAxis} axis - The axis to which range padding is applied.
     * @param {svgBase.Size} size - The size of the chart area used in the padding calculation.
     * @returns {void}
     */
    applyRangePadding(axis: Chart3DAxis, size: svgBase.Size): void;
    /**
     * Calculate visible labels for the axis based on the range calculated.
     *
     * @param {Chart3DAxis} axis - The axis for which the labels are calculated.
     * @returns {void}
     * @private
     */
    calculateVisibleLabels(axis: Chart3DAxis): void;
    /**
     * Get module name
     *
     * @returns {string} - Returns the module name
     */
    protected getModuleName(): string;
    /**
     * To destroy the category axis.
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-charts/src/chart3d/axis/cartesian-panel.d.ts
/**
 * The `CartesianAxisLayoutPanel` class is responsible for managing the layout of Cartesian axes in a 3D chart.
 */
export  class CartesianAxisLayoutPanel {
    private chart;
    private initialClipRect;
    /** @private */
    leftSize: number;
    /** @private */
    rightSize: number;
    /** @private */
    topSize: number;
    /** @private */
    bottomSize: number;
    /** @private */
    seriesClipRect: svgBase.Rect;
    /**
     *
     *
     * @param {Chart3D} chartModule - Specifies the chart module.
     * @private
     */
    constructor(chartModule?: Chart3D);
    /**
     * Measures and calculates the dimensions of the axis based on the provided rectangle.
     *
     * @param {svgBase.Rect} rect - The rectangle used as a reference for axis measurement and sizing.
     * @returns {void}
     */
    measureAxis(rect: svgBase.Rect): void;
    /**
     * Measures and calculates the dimensions of the row axis within the 3D chart.
     *
     * @param {Chart3D} chart - The 3D chart containing the row axis.
     * @param {svgBase.Rect} rect - The initial rect values.
     * @returns {void}
     */
    private measureRowAxis;
    /**
     * Measures and calculates the dimensions of the column axis within the 3D chart.
     *
     * @param {Chart3D} chart - The 3D chart containing the column axis.
     * @param {svgBase.Rect} rect - The initial rect values.
     * @returns {void}
     */
    private measureColumnAxis;
    /**
     * Measure the column and row in chart.
     *
     * @param {Chart3DRow | Chart3DColumn} definition - Specifies the row or column.
     * @param {Chart3D} chart - Specifies the chart.
     * @param {svgBase.Size} size - Specifies the size.
     * @returns {void}
     * @private
     */
    measureDefinition(definition: Chart3DRow | Chart3DColumn, chart: Chart3D, size: svgBase.Size): void;
    /**
     * Measure the axis.
     *
     * @param {svgBase.Rect} rect - The initial rect values.
     * @returns {void}
     * @private
     */
    private calculateAxisSize;
    /**
     * Measure the axis.
     *
     * @returns {void}
     * @private
     */
    measure(): void;
    /**
     * Calculates the offset value for an axis based on positions and a plot offset.
     *
     * @param {number} position1 - The first position.
     * @param {number} position2 - The second position.
     * @param {number} plotOffset - The plot offset value.
     * @returns {number} - The calculated axis offset value.
     */
    private getAxisOffsetValue;
    /**
     * Pushes an axis definition into the specified row or column within the 3D chart.
     *
     * @param {Chart3DRow | Chart3DColumn} definition - The row or column definition to which the axis is added.
     * @param {Chart3DAxis} axis - The axis to be pushed into the definition.
     * @returns {void}
     */
    private pushAxis;
    /**
     * Arranges and positions axis elements within the specified row or column definition.
     *
     * @param {Chart3DRow | Chart3DColumn} definition - The row or column definition in which axis elements are arranged.
     * @returns {void}
     */
    private arrangeAxis;
    /**
     * Retrieves the actual column index for the specified axis within the 3D chart.
     *
     * @param {Chart3DAxis} axis - The axis for which the actual column index is retrieved.
     * @returns {number} - The actual column index.
     */
    private getActualColumn;
    /**
     * Retrieves the actual row index for the specified axis within the 3D chart.
     *
     * @param {Chart3DAxis} axis - The axis for which the actual row index is retrieved.
     * @returns {number} - The actual row index.
     */
    private getActualRow;
    /**
     * Measure the row size.
     *
     * @param {svgBase.Rect} rect - The available rect value.
     * @returns {void}
     */
    private calculateRowSize;
    /**
     * Measure the column size.
     *
     * @param {svgBase.Rect} rect - The available rect value.
     * @returns {void}
     */
    private calculateColumnSize;
}
//node_modules/@syncfusion/ej2-charts/src/chart3d/axis/axis.d.ts
/**
 * Configures the `rows` of the chart.
 */
export  class Chart3DRow extends base.ChildProperty<Chart3DRow> {
    /**
     * 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;
    /** @private */
    axes: Chart3DAxis[];
    /** @private */
    computedHeight: number;
    /** @private */
    computedTop: number;
    /** @private */
    nearSizes: number[];
    /** @private */
    farSizes: number[];
    /**
     * Computes the size for a three-dimensional axis, row, or column within the 3D chart.
     *
     * @param {Chart3DAxis} axis - The three-dimensional axis to compute the size for.
     * @param {Chart3D} chart - The 3D chart containing the axis and data definitions.
     * @returns {void}
     */
    computeSize(axis: Chart3DAxis, chart: Chart3D): void;
}
/**
 * Configures the `columns` of the chart.
 */
export  class Chart3DColumn extends base.ChildProperty<Chart3DColumn> {
    /**
     * 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;
    /** @private */
    axes: Chart3DAxis[];
    /** @private */
    computedWidth: number;
    /** @private */
    computedLeft: number;
    /** @private */
    nearSizes: number[];
    /** @private */
    farSizes: number[];
    /**
     * Computes the size for a three-dimensional axis, row, or column within the 3D chart.
     *
     * @param {Chart3DAxis} axis - The three-dimensional axis to compute the size for.
     * @param {Chart3D} chart - The 3D chart containing the axis and data definitions.
     * @returns {void}
     */
    computeSize(axis: Chart3DAxis, chart: Chart3D): void;
}
/**
 * Configures the major grid lines in the `axis`.
 */
export  class Chart3DMajorGridLines extends base.ChildProperty<Chart3DMajorGridLines> {
    /**
     * The width of the line in pixels.
     *
     * @default 1
     */
    width: number;
    /**
     * 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 Chart3DMinorGridLines extends base.ChildProperty<Chart3DMinorGridLines> {
    /**
     * The width of the line in pixels.
     *
     * @default 0.7
     */
    width: number;
    /**
     * 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 major tick lines.
 */
export  class Chart3DMajorTickLines extends base.ChildProperty<Chart3DMajorTickLines> {
    /**
     * The width of the tick lines in pixels.
     *
     * @default 0
     */
    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 Chart3DMinorTickLines extends base.ChildProperty<Chart3DMinorTickLines> {
    /**
     * The width of the tick line in pixels.
     *
     * @default 0
     */
    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 axes in the chart.
 *
 * @public
 */
export  class Chart3DAxis extends base.ChildProperty<Chart3DAxis> {
    /**
     * Options to customize the axis label.
     */
    labelStyle: Chart3DTextFontModel;
    /**
     * Specifies the title of an axis.
     *
     * @default ''
     */
    title: string;
    /**
     * Options for customizing the axis title.
     */
    titleStyle: Chart3DTextFontModel;
    /**
     * Used to format the axis label that accepts any global string format like 'C', 'n1', 'P' etc.
     * It also accepts placeholder like '{value}°C' in which value represent the axis label, e.g, 20°C.
     *
     * @default ''
     */
    labelFormat: string;
    /**
     * Specifies the skeleton format in which the dateTime format will process.
     *
     * @default ''
     */
    skeleton: string;
    /**
     * It specifies the type of format to be used in dateTime format process.
     *
     * @default 'DateTime'
     * @deprecated
     */
    skeletonType: SkeletonType;
    /**
     * Left and right padding for the plot area in pixels.
     *
     * @default 0
     */
    plotOffset: number;
    /**
     * Left padding for the plot area in pixels.
     *
     * @default null
     */
    plotOffsetLeft: number;
    /**
     * Top padding for the plot area in pixels.
     *
     * @default null
     */
    plotOffsetTop: number;
    /**
     * Right padding for the plot area in pixels.
     *
     * @default null
     */
    plotOffsetRight: number;
    /**
     * Bottom padding for the plot area in pixels.
     *
     * @default null
     */
    plotOffsetBottom: number;
    /**
     * Specifies indexed category  axis.
     *
     * @default false
     */
    isIndexed: boolean;
    /**
     * The base value for logarithmic axis. It requires `valueType` to be `Logarithmic`.
     *
     * @default 10
     */
    logBase: number;
    /**
     * Specifies the index of the column where the axis is associated,
     * when the chart area is divided into multiple plot areas by using `columns`.
     * ```html
     * <div id='Chart3D'></div>
     * ```
     * ```typescript
     * let chart3D$: Chart3D = new Chart3D({
     * ...
     *     columns: [{ width: '50%' },
     *               { width: '50%' }],
     *     axes: [{
     *                name: 'xAxis 1',
     *                columnIndex: 1,
     *     }],
     * ...
     * });
     * chart3D.appendTo('#Chart3D');
     * ```
     *
     * @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='Chart3D'></div>
     * ```
     * ```typescript
     * let chart3D$: Chart3D = new Chart3D({
     * ...
     *     rows: [{ height: '50%' },
     *            { height: '50%' }],
     *     axes: [{
     *                name: 'yAxis 1',
     *                rowIndex: 1,
     *      }],
     * ...
     * });
     * chart3D.appendTo('#Chart3D');
     * ```
     *
     * @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;
    /**
     * If set to true, the axis will render at the opposite side of its default position.
     *
     * @default false
     */
    opposedPosition: 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 data types that the axis can handle:
     * * Double: This type is used for rendering a numeric axis to accommodate numeric data.
     * * DateTime: This type is utilized for rendering a date-time axis to manage date-time data.
     * * Category: This type is employed for rendering a category axis to manage categorical data.
     * * Logarithmic: This type is applied for rendering a logarithmic axis to handle a wide range of values.
     * * DateTimeCategory: This type is used to render a date time category axis for managing business days.
     *
     * @default 'Double'
     * @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 'OnTicks'
     */
    labelPlacement: LabelPlacement;
    /**
     * 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;
    /**
     * Defines an angle to rotate axis title. By default, angle auto calculated based on position and orientation of axis.
     *
     * @default null
     */
    titleRotation: number;
    /**
     * Specifies the minimum range of an axis.
     *
     * @default null
     */
    minimum: Object;
    /**
     * Specifies the maximum range of an axis.
     *
     * @default null
     */
    maximum: Object;
    /**
     * Specifies the interval for an axis.
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    interval: number;
    /**
     * Specifies the maximum width of an axis label.
     *
     * @default 34.
     */
    maximumLabelWidth: number;
    /**
     * Specifies the Trim property for an axis.
     *
     * @default false
     */
    enableTrim: boolean;
    /**
     * Specifies the labelPadding from axis.
     *
     * @default 5
     */
    labelPadding: number;
    /**
     * Specifies the titlePadding from axis label.
     *
     * @default 5
     */
    titlePadding: number;
    /**
     * Options for customizing major tick lines.
     */
    majorTickLines: Chart3DMajorTickLinesModel;
    /**
     * Options for customizing minor tick lines.
     */
    minorTickLines: Chart3DMinorTickLinesModel;
    /**
     * Options for customizing major grid lines.
     */
    majorGridLines: Chart3DMajorGridLinesModel;
    /**
     * Options for customizing minor grid lines.
     */
    minorGridLines: Chart3DMinorGridLinesModel;
    /**
     * 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;
    /**
     * It specifies whether the axis to be start from zero.
     *
     * @default true
     */
    startFromZero: boolean;
    /** @private */
    visibleRange: VisibleRangeModel;
    /** @private */
    visibleLabels: Visible3DLabels[];
    /** @private */
    actualRange: VisibleRangeModel;
    /** @private */
    series: Chart3DSeries[];
    /** @private */
    doubleRange: DoubleRange;
    /** @private */
    maxLabelSize: svgBase.Size;
    /** @private */
    rotatedLabel: string;
    /** @private */
    rect: svgBase.Rect;
    /** @private */
    orientation: Orientation;
    /** @private */
    actualIntervalType: IntervalType;
    /** @private */
    labels: string[];
    /** @private */
    indexLabels: object;
    /** @private */
    format: Function;
    /** @private */
    baseModule: Double3D | DateTime3D | Category3D | DateTimeCategory3D;
    /** @private */
    startLabel: string;
    /** @private */
    endLabel: string;
    /** @private */
    angle: number;
    /** @private */
    dateTimeInterval: number;
    /** @private */
    isStack100: boolean;
    /** @private */
    updatedRect: svgBase.Rect;
    /** @private */
    maxPointLength: number;
    /** @private */
    isIntervalInDecimal: boolean;
    /** @private */
    intervalDivs: number[];
    /** @private */
    titleCollection: string[];
    /** @private */
    titleSize: svgBase.Size;
    /** @private */
    isAxisInverse: boolean;
    /** @private */
    isAxisOpposedPosition: boolean;
    /**
     * This property used to hide the axis when series hide from legend click.
     *
     * @private
     */
    internalVisibility: boolean;
    /**
     * This property is used to place the vertical axis in opposed position and horizontal axis in inversed.
     * when RTL is enabled in chart
     *
     * @private */
    isRTLEnabled: boolean;
    constructor(parent: Chart3DAxis, propName: string, defaultValue: Object, isArray?: boolean);
    /**
     * Finds the size of labels with specified inner padding within the 3D chart.
     *
     * @param {number} innerPadding - The inner padding value for labels.
     * @param {Chart3D} chart - The 3D chart for which label size is calculated.
     * @returns {number} - The size of labels accounting for the inner padding.
     */
    findLabelSize(innerPadding: number, chart: Chart3D): number;
    /**
     * Triggers the axis range calculated event with specified minimum, maximum, and interval values.
     *
     * @param {Chart3D} chart - The 3D chart for which the range is being calculated.
     * @param {number} minimum - The minimum value of the range.
     * @param {number} maximum - The maximum value of the range.
     * @param {number} interval - The interval value for the range.
     * @returns {void}
     */
    triggerRangeRender(chart: Chart3D, minimum: number, maximum: number, interval: number): void;
    /**
     * Calculate padding for the axis.
     *
     * @param {Chart3D} chart - Chart instance.
     * @returns {string} - Padding value.
     * @private
     */
    getRangePadding(chart: Chart3D): string;
    /**
     * Calculate maximum label width for the axis.
     *
     * @param {Chart3D} chart - Chart instance.
     * @returns {void}
     * @private
     */
    getMaxLabelWidth(chart: Chart3D): void;
    /**
     * Finds and manages multiple rows for labels within the 3D chart axis.
     *
     * @param {number} length - The length of the labels to be considered.
     * @param {number} currentX - The current X position.
     * @param {Visible3DLabels} currentLabel - The label for which multiple rows are being determined.
     * @param {boolean} isBreakLabels - Indicates whether the labels are break labels.
     * @returns {void}
     */
    private findMultiRows;
    /**
     * Finds the default module for axis.
     *
     * @param {Chart3D} chart - Chart instance.
     * @returns {void}
     * @private
     */
    getModule(chart: Chart3D): void;
    /**
     * Set the axis `opposedPosition` and `isInversed` properties.
     *
     * @returns {void}
     * @private
     */
    setIsInversedAndOpposedPosition(): void;
}
/**
 * Calculates the axis visible labels.
 *
 * @private
 */
export  class Visible3DLabels {
    text: string | string[];
    value: number;
    labelStyle: Chart3DTextFontModel;
    size: svgBase.Size;
    breakLabelSize: svgBase.Size;
    index: number;
    originalText: string;
    constructor(text: string | string[], value: number, labelStyle: Chart3DTextFontModel, originalText: string | string[], size?: svgBase.Size, breakLabelSize?: svgBase.Size, index?: number);
}
//node_modules/@syncfusion/ej2-charts/src/chart3d/axis/axis-model.d.ts
/**
 * Interface for a class Chart3DRow
 */
export interface Chart3DRowModel {
    /**
     * 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;
}
/**
 * Interface for a class Chart3DColumn
 */
export interface Chart3DColumnModel {
    /**
     * 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;
}
/**
 * Interface for a class Chart3DMajorGridLines
 */
export interface Chart3DMajorGridLinesModel {
    /**
     * The width of the line in pixels.
     *
     * @default 1
     */
    width?: number;
    /**
     * 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 Chart3DMinorGridLines
 */
export interface Chart3DMinorGridLinesModel {
    /**
     * The width of the line in pixels.
     *
     * @default 0.7
     */
    width?: number;
    /**
     * 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 Chart3DMajorTickLines
 */
export interface Chart3DMajorTickLinesModel {
    /**
     * The width of the tick lines in pixels.
     *
     * @default 0
     */
    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 Chart3DMinorTickLines
 */
export interface Chart3DMinorTickLinesModel {
    /**
     * The width of the tick line in pixels.
     *
     * @default 0
     */
    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 Chart3DAxis
 */
export interface Chart3DAxisModel {
    /**
     * Options to customize the axis label.
     */
    labelStyle?: Chart3DTextFontModel;
    /**
     * Specifies the title of an axis.
     *
     * @default ''
     */
    title?: string;
    /**
     * Options for customizing the axis title.
     */
    titleStyle?: Chart3DTextFontModel;
    /**
     * Used to format the axis label that accepts any global string format like 'C', 'n1', 'P' etc.
     * It also accepts placeholder like '{value}°C' in which value represent the axis label, e.g, 20°C.
     *
     * @default ''
     */
    labelFormat?: string;
    /**
     * Specifies the skeleton format in which the dateTime format will process.
     *
     * @default ''
     */
    skeleton?: string;
    /**
     * It specifies the type of format to be used in dateTime format process.
     *
     * @default 'DateTime'
     * @deprecated
     */
    skeletonType?: SkeletonType;
    /**
     * Left and right padding for the plot area in pixels.
     *
     * @default 0
     */
    plotOffset?: number;
    /**
     * Left padding for the plot area in pixels.
     *
     * @default null
     */
    plotOffsetLeft?: number;
    /**
     * Top padding for the plot area in pixels.
     *
     * @default null
     */
    plotOffsetTop?: number;
    /**
     * Right padding for the plot area in pixels.
     *
     * @default null
     */
    plotOffsetRight?: number;
    /**
     * Bottom padding for the plot area in pixels.
     *
     * @default null
     */
    plotOffsetBottom?: number;
    /**
     * Specifies indexed category  axis.
     *
     * @default false
     */
    isIndexed?: boolean;
    /**
     * The base value for logarithmic axis. It requires `valueType` to be `Logarithmic`.
     *
     * @default 10
     */
    logBase?: number;
    /**
     * Specifies the index of the column where the axis is associated,
     * when the chart area is divided into multiple plot areas by using `columns`.
     * ```html
     * <div id='Chart3D'></div>
     * ```
     * ```typescript
     * let chart3D$: Chart3D = new Chart3D({
     * ...
     *     columns: [{ width: '50%' },
     *               { width: '50%' }],
     *     axes: [{
     *                name: 'xAxis 1',
     *                columnIndex: 1,
     *     }],
     * ...
     * });
     * chart3D.appendTo('#Chart3D');
     * ```
     *
     * @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='Chart3D'></div>
     * ```
     * ```typescript
     * let chart3D$: Chart3D = new Chart3D({
     * ...
     *     rows: [{ height: '50%' },
     *            { height: '50%' }],
     *     axes: [{
     *                name: 'yAxis 1',
     *                rowIndex: 1,
     *      }],
     * ...
     * });
     * chart3D.appendTo('#Chart3D');
     * ```
     *
     * @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;
    /**
     * If set to true, the axis will render at the opposite side of its default position.
     *
     * @default false
     */
    opposedPosition?: 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 data types that the axis can handle:
     * * Double: This type is used for rendering a numeric axis to accommodate numeric data.
     * * DateTime: This type is utilized for rendering a date-time axis to manage date-time data.
     * * Category: This type is employed for rendering a category axis to manage categorical data.
     * * Logarithmic: This type is applied for rendering a logarithmic axis to handle a wide range of values.
     * * DateTimeCategory: This type is used to render a date time category axis for managing business days.
     *
     * @default 'Double'
     * @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 'OnTicks'
     */
    labelPlacement?: LabelPlacement;
    /**
     * 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;
    /**
     * Defines an angle to rotate axis title. By default, angle auto calculated based on position and orientation of axis.
     *
     * @default null
     */
    titleRotation?: number;
    /**
     * Specifies the minimum range of an axis.
     *
     * @default null
     */
    minimum?: Object;
    /**
     * Specifies the maximum range of an axis.
     *
     * @default null
     */
    maximum?: Object;
    /**
     * Specifies the interval for an axis.
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    interval?: number;
    /**
     * Specifies the maximum width of an axis label.
     *
     * @default 34.
     */
    maximumLabelWidth?: number;
    /**
     * Specifies the Trim property for an axis.
     *
     * @default false
     */
    enableTrim?: boolean;
    /**
     * Specifies the labelPadding from axis.
     *
     * @default 5
     */
    labelPadding?: number;
    /**
     * Specifies the titlePadding from axis label.
     *
     * @default 5
     */
    titlePadding?: number;
    /**
     * Options for customizing major tick lines.
     */
    majorTickLines?: Chart3DMajorTickLinesModel;
    /**
     * Options for customizing minor tick lines.
     */
    minorTickLines?: Chart3DMinorTickLinesModel;
    /**
     * Options for customizing major grid lines.
     */
    majorGridLines?: Chart3DMajorGridLinesModel;
    /**
     * Options for customizing minor grid lines.
     */
    minorGridLines?: Chart3DMinorGridLinesModel;
    /**
     * 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;
    /**
     * It specifies whether the axis to be start from zero.
     *
     * @default true
     */
    startFromZero?: boolean;
}
/**
 * Interface for a class Visible3DLabels
 * @private
 */
export interface Visible3DLabelsModel {
}
//node_modules/@syncfusion/ej2-charts/src/chart3d/axis/axis-helper.d.ts
/**
 * Common axis classes
 *
 * @private
 */
export  class NiceIntervals extends Double3D {
    /**
     * Calculates a nice interval for a date-time axis based on the given size and data range.
     *
     * @param {Chart3DAxis} axis - The date-time axis for which the nice interval is calculated.
     * @param {svgBase.Size} size - The size of the chart area.
     * @param {number} start - The start value of the data range.
     * @param {number} end - The end value of the data range.
     * @returns {number} - The calculated nice interval for the date-time axis.
     */
    calculateDateTimeNiceInterval(axis: Chart3DAxis, size: svgBase.Size, start: number, end: number): number;
    /**
     * To get the skeleton for the DateTime axis.
     *
     * @param {Chart3DAxis} axis - The date-time axis for which the skeleton is calculated.
     * @returns {string} - Skeleton format.
     * @private
     */
    getSkeleton(axis: Chart3DAxis): string;
    /**
     * Find label format for axis
     *
     * @param {Chart3DAxis} axis - The  axis for which the label format is calculated.
     * @returns {string} - The axis label format.
     * @private
     */
    findCustomFormats(axis: Chart3DAxis): string;
}
//node_modules/@syncfusion/ej2-charts/src/chart/chart.d.ts
/**
 * Configures the range color settings in the chart.
 */
export  class RangeColorSetting extends base.ChildProperty<RangeColorSetting> {
    /**
     * Specifies the start value of the color mapping range.
     */
    start: number;
    /**
     * Specifies the end value of the color mapping range.
     */
    end: number;
    /**
     * Specifies the fill colors for points that lie within the given range. If multiple colors are specified, a gradient will be applied.
     */
    colors: string[];
    /**
     * Specifies the name or label for the range mapping item.
     */
    label: string;
}
/**
 * Options to configure the crosshair on the chart, which displays lines that follow the mouse cursor and show the axis values of the data points.
 */
export  class CrosshairSettings extends base.ChildProperty<CrosshairSettings> {
    /**
     * If set to true, the crosshair line becomes visible.
     *
     * @default false
     */
    enable: boolean;
    /**
     * Specifies the pattern of dashes and gaps used to stroke the crosshair line.
     *
     * @default ''
     */
    dashArray: string;
    /**
     * The `line` property allows defining the appearance of the crosshair line, including its color and width.
     */
    line: BorderModel;
    /**
     * Specifies the line type for the crosshair.
     * The available modes are:
     * * None: Both vertical and horizontal crosshair lines are hidden.
     * * Both: Displays both the vertical and horizontal crosshair lines.
     * * Vertical: Shows only the vertical crosshair line.
     * * Horizontal: Shows only the horizontal crosshair line.
     *
     * @default Both
     */
    lineType: LineType;
    /**
     * The color of the vertical crosshair line accepts values in hex and rgba as valid CSS color strings.
     *
     * @default ''
     */
    verticalLineColor: string;
    /**
     * The color of the horizontal crosshair line accepts values in hex and rgba as valid CSS color strings.
     *
     * @default ''
     */
    horizontalLineColor: string;
    /**
     * Specifies the opacity level for the crosshair, which controls its transparency.
     *
     * @default 1
     */
    opacity: number;
    /**
     * If set to `true`, the horizontal crosshair snaps to the nearest data point.
     *
     * @default false
     */
    snapToData: boolean;
    /**
     * If set to true, highlights the entire category range when hovered over.
     * This property applies only to category axes.
     *
     * @default false
     */
    highlightCategory: boolean;
}
/**
 * Configures the zooming behavior for the chart.
 */
export  class ZoomSettings extends base.ChildProperty<ZoomSettings> {
    /**
     * If set to true, the chart can be zoomed in by selecting a rectangular region on the plot area.
     *
     * @default false
     */
    enableSelectionZooming: boolean;
    /**
     * If set to true, the chart can be pinched to zoom in and out.
     *
     * @default false
     */
    enablePinchZooming: boolean;
    /**
     * If set to true, the chart is rendered with a toolbar on initial load.
     *
     * @default false
     */
    showToolbar: boolean;
    /**
     * If set to true, the chart can be zoomed using the mouse wheel.
     *
     * @default false
     */
    enableMouseWheelZooming: boolean;
    /**
     * If set to true, zooming will be performed on mouse up.
     > Note that `enableDeferredZooming` 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, horizontally, or in both ways.
     * Available options are:
     * * XY: Chart can be zoomed both vertically and horizontally.
     * * X: Chart can be zoomed horizontally.
     * * Y: Chart can be zoomed vertically.
     > Note that `enableSelectionZooming` must be set to true for this feature to work.
     * ```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 zooming as follows:
     * * Zoom - Enables the zooming tool to select and zoom into a specific region of the chart.
     * * ZoomIn - Provides a button to zoom in on the chart.
     * * ZoomOut - Provides a button to zoom out from the chart.
     * * Pan - Allows panning across the chart to explore different regions.
     * * Reset - Resets the zoom level to the default view of the chart.
     *
     * @default '["Zoom", "ZoomIn", "ZoomOut", "Pan", "Reset"]'
     */
    toolbarItems: ToolbarItems[];
    /**
     * If set to true, the chart can be panned without requiring toolbar items. If set to false, panning is disabled, and the toolbar options must be used to pan the chart.
     *
     * @default false.
     */
    enablePan: boolean;
    /**
     * Specifies whether the axis should have a scrollbar.
     *
     * @default false.
     */
    enableScrollbar: boolean;
    /**
     * If set to true, the chart will animate when zooming.
     *
     * @default false.
     */
    enableAnimation: boolean;
    /**
     * Allows customization of the zoom toolbar position. Users can set the horizontal and vertical alignment of the toolbar, as well as specify offsets for precise placement.
     */
    toolbarPosition: ToolbarPositionModel;
    /**
     * Options to improve accessibility for zoom toolkit elements.
     */
    accessibility: AccessibilityModel;
}
/**
 * Represents the chart control.
 * ```html
 * <div id="chart"/>
 * <script>
 *   var chartObj = new Chart({});
 *   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 to the chart.
     */
    paretoSeriesModule: ParetoSeries;
    /**
     * `areaSeriesModule` is used to add area series to the chart.
     */
    areaSeriesModule: AreaSeries;
    /**
     * `barSeriesModule` is used to add bar series to the chart.
     */
    barSeriesModule: BarSeries;
    /**
     * `stackingColumnSeriesModule` is used to add stacking column series to the chart.
     */
    stackingColumnSeriesModule: StackingColumnSeries;
    /**
     * `stackingAreaSeriesModule` is used to add stacking area series to the chart.
     */
    stackingAreaSeriesModule: StackingAreaSeries;
    /**
     * `stackingStepAreaSeriesModule` is used to add stacking step area series to the chart.
     */
    stackingStepAreaSeriesModule: StackingStepAreaSeries;
    /**
     * `stackingLineSeriesModule` is used to add stacking line series to the chart.
     */
    stackingLineSeriesModule: StackingLineSeries;
    /**
     * 'candleSeriesModule' is used to add candle series to 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 to the chart.
     */
    polarSeriesModule: PolarSeries;
    /**
     * `radarSeriesModule` is used to add radar series to 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 box and whisker series to the chart.
     */
    boxAndWhiskerSeriesModule: BoxAndWhiskerSeries;
    /**
     * `rangeColumnSeriesModule` is used to add range column series to the chart.
     */
    rangeColumnSeriesModule: RangeColumnSeries;
    /**
     * `histogramSeriesModule` is used to add histogram series to the chart.
     */
    histogramSeriesModule: HistogramSeries;
    /**
     * `hiloSeriesModule` is used to add hilo series to the chart.
     */
    hiloSeriesModule: HiloSeries;
    /**
     * `hiloOpenCloseSeriesModule` is used to add hilo open close series to the chart.
     */
    hiloOpenCloseSeriesModule: HiloOpenCloseSeries;
    /**
     * `waterfallSeries` is used to add waterfall series to the chart.
     */
    waterfallSeriesModule: WaterfallSeries;
    /**
     * `bubbleSeries` is used to add bubble series to the chart.
     */
    bubbleSeriesModule: BubbleSeries;
    /**
     * `rangeAreaSeriesModule` is used to add range area series to the chart.
     */
    rangeAreaSeriesModule: RangeAreaSeries;
    /**
     * `rangeStepAreaSeriesModule` is used to add range step area series to the chart.
     */
    rangeStepAreaSeriesModule: RangeStepAreaSeries;
    /**
     * `splineRangeAreaSeriesModule` is used to add spline range area series to the chart.
     */
    splineRangeAreaSeriesModule: SplineRangeAreaSeries;
    /**
     * `tooltipModule` is used to manipulate and add tooltip to the series.
     */
    tooltipModule: Tooltip;
    /**
     * `crosshairModule` is used to manipulate and add crosshair to the chart.
     */
    crosshairModule: Crosshair;
    /**
     * `errorBarModule` is used to manipulate and add errorBar for series.
     */
    errorBarModule: ErrorBar;
    /**
     * `dataLabelModule` is used to manipulate and add data label to the series.
     */
    dataLabelModule: DataLabel;
    /**
     * `dateTimeModule` is used to manipulate and add date time 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 to the chart.
     */
    dateTimeCategoryModule: DateTimeCategory;
    /**
     * `logarithmicModule` is used to manipulate and add log axis to the chart.
     */
    logarithmicModule: Logarithmic;
    /**
     * `legendModule` is used to manipulate and add legend to the chart.
     */
    legendModule: Legend;
    /**
     * `zoomModule` is used to manipulate and add zooming to the chart.
     */
    zoomModule: Zoom;
    /**
     * `dataEditingModule` is used to drag and drop of the point.
     */
    dataEditingModule: DataEditing;
    /**
     * `selectionModule` is used to manipulate and add selection to the chart.
     */
    selectionModule: Selection;
    /**
     * `highlightModule` is used to manipulate and add highlight to the chart.
     */
    highlightModule: Highlight;
    /**
     * `annotationModule` is used to manipulate and add annotation to the chart.
     */
    annotationModule: ChartAnnotation;
    /**
     * `stripLineModule` is used to manipulate and add strip line to the chart.
     */
    stripLineModule: StripLine;
    /**
     * `multiLevelLabelModule` is used to manipulate and add multi-level labels to the 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;
    /**
     * `scrollBarModule` is used to render a scrollbar in the chart while zooming.
     */
    scrollBarModule: ScrollBar;
    /**
     * `exportModule` is used to export the chart in `JPEG`, `PNG`, `SVG`, `PDF`, `XLSX`, or `CSV` format.
     */
    exportModule: Export;
    /**
     * The width of the chart as a string, accepting input such as '100px' or '100%'.
     * If specified as '100%', the chart renders to the full width of its parent element.
     *
     * @default null
     */
    width: string;
    /**
     * The height of the chart as a string, accepting input such as '100px' or '100%'.
     * If specified as '100%', the chart renders to the full height of its parent element.
     *
     * @default null
     */
    height: string;
    /**
     * The title is displayed at the top of the chart to provide information about the plotted data.
     *
     * @default ''
     */
    title: string;
    /**
     * Specifies the data source 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: 'https://services.syncfusion.com/js/production/api/orders'
     * });
     * let query$: Query = new Query().take(5);
     * let chart$: Chart = new Chart({
     * ...
     * dataSource: dataManager,
     *   series: [{
     *        type: 'Column',
     *        xName: 'CustomerID',
     *        yName: 'Freight',
     *        query: query
     *    }],
     * ...
     * });
     * chart.appendTo('#Chart');
     * ```
     *
     * @default ''
     */
    dataSource: Object | data.DataManager;
    /**
     * Options for customizing the appearance of the title, which displays information about the plotted data.
     * Use the `fontFamily`, `size`, `fontStyle`, `fontWeight`, and `color` properties in `titleSettings` to adjust the title's appearance.
     */
    titleStyle: titleSettingsModel;
    /**
     * The subtitle is positioned below the main title and provides additional details about the data represented in the chart.
     *
     * @default ''
     */
    subTitle: string;
    /**
     * Options for customizing the appearance of the subtitle, which displays information about the plotted data below the main title.
     * Use the `fontFamily`, `size`, `fontStyle`, `fontWeight`, and `color` properties in `titleSettings` to adjust the subtitle's appearance.
     */
    subTitleStyle: titleSettingsModel;
    /**
     * Options to customize the margins around the chart, including the left, right, top, and bottom margins.
     * These margins refer to the space between the outer edge of the chart and its chart area.
     */
    margin: MarginModel;
    /**
     * Options for customizing the appearance of the border in the chart by using the `color` and `width` properties in the `border`.
     */
    border: BorderModel;
    /**
     * The background color of the chart accepts values in hex and rgba formats as valid CSS color strings.
     *
     * @default null
     */
    background: string;
    /**
     * Configuration options for the chart area's border and background.
     */
    chartArea: ChartAreaModel;
    /**
     * Specifies whether to display or remove the untrusted HTML values in the Chart component.
     * If 'enableHtmlSanitizer' set to true, the component will sanitize any suspected untrusted strings and scripts before rendering them.
     *
     * @default false
     */
    enableHtmlSanitizer: boolean;
    /**
     * The `primaryXAxis` property configures the horizontal axis of the chart, including settings for axis labels, tick marks, grid lines, and axis ranges.
     */
    primaryXAxis: AxisModel;
    /**
     * The `primaryYAxis` property configures the vertical axis of the chart, including settings for axis labels, tick marks, grid lines, and axis ranges.
     */
    primaryYAxis: AxisModel;
    /**
     * Options to split the chart into multiple plotting areas horizontally.
     * Each object in the collection represents a separate plotting area (row) in the chart, allowing multiple data series to be displayed in distinct horizontal sections.
     */
    rows: RowModel[];
    /**
     * Options to split the chart into multiple plotting areas vertically.
     * Each object in the collection represents a separate plotting area (column) in the chart, allowing multiple data series to be displayed in distinct vertical sections.
     */
    columns: ColumnModel[];
    /**
     * Configuration options for the secondary axis in the chart.
     * Each object in the collection represents an additional axis, allowing for the plotting of multiple data series with different scales.
     */
    axes: AxisModel[];
    /**
     * Configuration options for the chart's series.
     * Each object in the `series` collection represents a distinct data series displayed in the chart. Customize various aspects of each series such as data, type, and appearance.
     */
    series: SeriesModel[];
    /**
     * Annotations are used to highlight specific data points or areas in the chart, providing additional context and information.
     */
    annotations: ChartAnnotationSettingsModel[];
    /**
     * The `palettes` array defines a set of colors used for rendering the chart's series. Each color in the array is applied to the series in order.
     *
     * @default []
     */
    palettes: string[];
    /**
     * The theme applied to the chart for visual styling.
     * Choose from predefined themes to change the overall look and feel of the chart.
     * The available themes are:
     * * Fabric
     * * FabricDark
     * * Bootstrap4
     * * Bootstrap
     * * BootstrapDark
     * * HighContrastLight
     * * HighContrast
     * * Tailwind
     * * TailwindDark
     * * Bootstrap5
     * * Bootstrap5Dark
     * * Fluent
     * * FluentDark
     * * Fluent2
     * * Fluent2Dark
     * * Fluent2HighContrast
     * * Material3
     * * Material3Dark
     * * Material
     * * MaterialDark
     *
     * @default 'Material'
     */
    theme: ChartTheme;
    /**
     * Configuration options for the chart's tooltip, which displays details about the points when hovering over them.
     */
    tooltip: TooltipSettingsModel;
    /**
     * The crosshair displays lines on the chart that follow the mouse cursor and show the axis values of the data points.
     */
    crosshair: CrosshairSettingsModel;
    /**
     * The legend provides descriptive information about the data series displayed in the chart, helping to understand what each series represents.
     */
    legendSettings: LegendSettingsModel;
    /**
     * The `rangeColorSettings` property specifies a set of rules for applying different colors to points based on their value ranges.
     */
    rangeColorSettings: RangeColorSettingModel[];
    /**
     * Options to enable and configure the zooming feature in the chart.
     */
    zoomSettings: ZoomSettingsModel;
    /**
     * Defines the color used to highlight a data point on mouse hover.
     *
     * @default ''
     */
    highlightColor: string;
    /**
     * The `selectionMode` property determines how data points or series can be highlighted or selected.
     * The available options are:
     * * 'None': Disables any form of highlight or selection.
     * * 'Series': Highlights or selects an entire series of data points.
     * * 'Point': Highlights or selects a single data point.
     * * 'Cluster': Highlights or selects a group of data points that belong to the same cluster.
     * * '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;
    /**
     * The `highlightMode` property determines how a series or individual data points are highlighted in the chart.
     * The available options are:
     * * 'None': Disables highlighting.
     * * 'Series': Highlights an entire series of data points.
     * * 'Point': Highlights a single data point.
     * * 'Cluster': Highlights a group of data points that belong to the same cluster.
     *
     * @default None
     */
    highlightMode: HighlightMode;
    /**
     * The `selectionPattern` property determines how the selected data points or series are visually represented.
     * The available options are:
     * * 'None': No selection pattern is applied.
     * * 'Chessboard': Applies a chessboard pattern as the selection effect.
     * * 'Dots': Applies a dot pattern as the selection effect.
     * * 'DiagonalForward': Applies a forward diagonal line pattern as the selection effect.
     * * 'Crosshatch': Applies a crosshatch pattern as the selection effect.
     * * 'Pacman': Applies a Pacman pattern as the selection effect.
     * * 'DiagonalBackward': Applies a backward diagonal line pattern as the selection effect.
     * * 'Grid': Applies a grid pattern as the selection effect.
     * * 'Turquoise': Applies a turquoise pattern as the selection effect.
     * * 'Star': Applies a star pattern as the selection effect.
     * * 'Triangle': Applies a triangle pattern as the selection effect.
     * * 'Circle': Applies a circle pattern as the selection effect.
     * * 'Tile': Applies a tile pattern as the selection effect.
     * * 'HorizontalDash': Applies a horizontal dash pattern as the selection effect.
     * * 'VerticalDash': Applies a vertical dash pattern as the selection effect.
     * * 'Rectangle': Applies a rectangle pattern as the selection effect.
     * * 'Box': Applies a box pattern as the selection effect.
     * * 'VerticalStripe': Applies a vertical stripe pattern as the selection effect.
     * * 'HorizontalStripe': Applies a horizontal stripe pattern as the selection effect.
     * * 'Bubble': Applies a bubble pattern as the selection effect.
     *
     * @default None
     */
    selectionPattern: SelectionPattern;
    /**
     * The `highlightPattern` property determines how the data points or series are visually highlighted.
     * The available options are:
     * * 'None': No highlighting pattern.
     * * 'Chessboard': Applies a chessboard pattern for highlighting.
     * * 'Dots': Applies a dot pattern for highlighting.
     * * 'DiagonalForward': Applies a forward diagonal line pattern for highlighting.
     * * 'Crosshatch': Applies a crosshatch pattern for highlighting.
     * * 'Pacman': Applies a Pacman pattern for highlighting.
     * * 'DiagonalBackward': Applies a backward diagonal line pattern for highlighting.
     * * 'Grid': Applies a grid pattern for highlighting.
     * * 'Turquoise': Applies a turquoise pattern for highlighting.
     * * 'Star': Applies a star pattern for highlighting.
     * * 'Triangle': Applies a triangle pattern for highlighting.
     * * 'Circle': Applies a circle pattern for highlighting.
     * * 'Tile': Applies a tile pattern for highlighting.
     * * 'HorizontalDash': Applies a horizontal dash pattern for highlighting.
     * * 'VerticalDash': Applies a vertical dash pattern for highlighting.
     * * 'Rectangle': Applies a rectangle pattern for highlighting.
     * * 'Box': Applies a box pattern for highlighting.
     * * 'VerticalStripe': Applies a vertical stripe pattern for highlighting.
     * * 'HorizontalStripe': Applies a horizontal stripe pattern for highlighting.
     * * 'Bubble': Applies a bubble pattern for highlighting.
     *
     * @default None
     */
    highlightPattern: SelectionPattern;
    /**
     * When set to true, it allows selecting multiple data points, series, or clusters.
     > Note that the `selectionMode` must be set to `Point`, `Series`, or `Cluster` for multi-selection to be enabled.
     *
     * @default false
     */
    isMultiSelect: boolean;
    /**
     * If set to true, enables multi-drag selection in the chart.
     * This feature allows selecting multiple data points by dragging a selection box.
     > Note that the `selectionMode` to be set to `DragX`, `DragY`, or `DragXY` for this feature to work.
     *
     * @default false
     */
    allowMultiSelection: boolean;
    /**
     * When set to true, it enables exporting the chart to various formats such as `JPEG`, `PNG`, `SVG`, `PDF`, `XLSX`, or `CSV`.
     *
     * @default true
     */
    enableExport: boolean;
    /**
     * To enable export feature in blazor chart.
     *
     * @default false
     */
    allowExport: boolean;
    /**
     * Specifies the point indexes to be selected when a chart is initially loaded.
     > Note that `selectionMode` or `highlightMode` must be set to `Point`, `Series`, or `Cluster` for this feature to work.
     * ```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[];
    /**
     * When set to true, a grouping separator will be used for numbers to separate groups of thousands in the chart.
     *
     * @default false
     */
    useGroupingSeparator: boolean;
    /**
     * If set to true, the intervals for all the axes will be calculated automatically based on the zoomed range.
     *
     * @default false
     */
    enableAutoIntervalOnBothAxis: boolean;
    /**
     * When set to true, the chart will render in a transposed manner, where the X and Y axes are interchanged.
     *
     * @default false
     */
    isTransposed: boolean;
    /**
     * When set to true, the chart will render using a canvas.
     *
     * @default false
     */
    enableCanvas: boolean;
    /**
     * The background image of the chart accepts a string value as a URL link or the location of an image.
     *
     * @default null
     */
    backgroundImage: string;
    /**
     * Technical indicators assist in evaluating market conditions and identifying trends for making trading decisions.
     */
    indicators: TechnicalIndicatorModel[];
    /**
     * If set to true, animation effects will be enabled for chart elements such as axis labels, gridlines, series, markers, and data labels when the legend is clicked, or the data source is updated.
     *
     * @default true
     */
    enableAnimation: boolean;
    /**
     * A description for the chart that provides additional information about its content for screen readers.
     *
     * @default null
     * @deprecated
     */
    description: string;
    /**
     * The `tabIndex` value determines the order in which the chart container receives focus during keyboard navigation.
     *
     * @default 1
     * @deprecated
     */
    tabIndex: number;
    /**
     * This property controls whether columns for different series appear next to each other in a column chart.
     *
     * @default true
     */
    enableSideBySidePlacement: boolean;
    /**
     * Options to improve accessibility for chart elements.
     */
    accessibility: AccessibilityModel;
    /**
     * Customize the focus border color.
     * If not specified, the element will use the default focus border color.
     *
     * @default null
     */
    focusBorderColor: string;
    /**
     * Customize the focus border width.
     * If not specified, the element will use the default focus border width.
     *
     * @default 1.5
     */
    focusBorderWidth: number;
    /**
     * Customize the focus border margin.
     * If not specified, the element will use the default focus border margin.
     *
     * @default 0
     */
    focusBorderMargin: number;
    /**
     * Configuration options for stack labels in the chart.
     * Stack labels display the total value for stacked series, including customization options for appearance and positioning, and other visual elements to enhance chart readability.
     * This property allows users to modify how stack labels are rendered in a stacked chart.
     */
    stackLabels: StackLabelSettingsModel;
    /**
     * Triggers after the chart is resized.
     *
     * @event resized
     * @blazorProperty 'Resized'
     */
    resized: base.EmitType<IResizeEventArgs>;
    /**
     * Triggers before the chart is resized. This event allows for modifications to the chart size before resizing occurs.
     *
     * @event beforeResize
     * @blazorProperty 'BeforeResize'
     */
    beforeResize: base.EmitType<IBeforeResizeEventArgs>;
    /**
     * Triggers before the annotation gets rendered. This event allows for modifications of the annotation content and its location before it is rendered on the chart.
     *
     * @event annotationRender
     * @deprecated
     */
    annotationRender: base.EmitType<IAnnotationRenderEventArgs>;
    /**
     * Triggers before the printing process starts. This event allows for the modification of the chart's HTML content before it is sent to the printer.
     *
     * @event beforePrint
     * @blazorProperty 'OnPrint'
     */
    beforePrint: base.EmitType<IPrintEventArgs>;
    /**
     * Triggers after the chart has fully loaded.
     *
     * @event loaded
     * @blazorProperty 'Loaded'
     */
    loaded: base.EmitType<ILoadedEventArgs>;
    /**
     * Triggers before the export process begins. This event allows for the customization of export settings before the chart is exported.
     *
     * @event beforeExport
     */
    beforeExport: base.EmitType<IExportEventArgs>;
    /**
     * Triggers after1111 the export is completed.
     *
     * @event afterExport
     * @blazorProperty 'AfterExport'
     */
    afterExport: base.EmitType<IAfterExportEventArgs>;
    /**
     * Triggers before the chart loads. This event allows for customization and configuration before the chart is rendered.
     *
     * @event load
     */
    load: base.EmitType<ILoadedEventArgs>;
    /**
     * Triggers after the animation for the series is completed.
     *
     * @event animationComplete
     * @blazorProperty 'OnAnimationComplete'
     */
    animationComplete: base.EmitType<IAnimationCompleteEventArgs>;
    /**
     * Triggers before the legend is rendered. This allows the customization of legend before rendering on the chart.
     *
     * @event legendRender
     * @deprecated
     */
    legendRender: base.EmitType<ILegendRenderEventArgs>;
    /**
     * Triggers before the data label for the series is rendered. This allows customization of data labels before they are rendered on the chart.
     *
     * @event textRender
     * @deprecated
     */
    textRender: base.EmitType<ITextRenderEventArgs>;
    /**
     * Triggers before each point in the series is rendered. This allows for the customization of each data point before it is rendered on the chart.
     *
     * @event pointRender
     * @deprecated
     */
    pointRender: base.EmitType<IPointRenderEventArgs>;
    /**
     * Triggers before the series is rendered. This event allows for the customization of series properties before they are rendered on the chart.
     *
     * @event seriesRender
     * @deprecated
     */
    seriesRender: base.EmitType<ISeriesRenderEventArgs>;
    /**
     * Triggers before each axis label is rendered. This event allows for the customization of axis label and its font style before rendering on the chart.
     *
     * @event axisLabelRender
     * @deprecated
     */
    axisLabelRender: base.EmitType<IAxisLabelRenderEventArgs>;
    /**
     * Triggers when the x-axis label is clicked.
     *
     * @event axisLabelClick
     * @deprecated
     */
    axisLabelClick: base.EmitType<IAxisLabelClickEventArgs>;
    /**
     * Triggers before each axis range is rendered. This event allows modification of the axis range and interval that are calculated based on data.
     *
     * @event axisRangeCalculated
     * @deprecated
     */
    axisRangeCalculated: base.EmitType<IAxisRangeCalculatedEventArgs>;
    /**
     * Triggers before each axis multi-label is rendered. This event allows modification of multi-labels on the axis before they are rendered.
     *
     * @event axisMultiLabelRender
     * @deprecated
     */
    axisMultiLabelRender: base.EmitType<IAxisMultiLabelRenderEventArgs>;
    /**
     * Triggers after clicking on a legend item.
     *
     * @event legendClick
     */
    legendClick: base.EmitType<ILegendClickEventArgs>;
    /**
     * Triggers after clicking on a multi-level label.
     *
     * @event multiLevelLabelClick
     */
    multiLevelLabelClick: base.EmitType<IMultiLevelLabelClickEventArgs>;
    /**
     * Triggers before the tooltip for the series is rendered. This event allows customization of the tooltip properties such as text, style, and template before it is rendered on the chart.
     *
     * @event tooltipRender
     */
    tooltipRender: base.EmitType<ITooltipRenderEventArgs>;
    /**
     * Triggers before the shared tooltip for the series is rendered. This event allows customization of the shared tooltip properties such as text, style, and template before it is rendered on the chart.
     *
     * @event sharedTooltipRender
     */
    sharedTooltipRender: base.EmitType<ISharedTooltipRenderEventArgs>;
    /**
     * Triggers on hovering over the chart.
     *
     * @event chartMouseMove
     * @blazorProperty 'OnChartMouseMove'
     */
    chartMouseMove: base.EmitType<IMouseEventArgs>;
    /**
     * Triggers when clicking on the chart.
     *
     * @event chartMouseClick
     * @blazorProperty 'OnChartMouseClick'
     */
    chartMouseClick: base.EmitType<IMouseEventArgs>;
    /**
     * Triggers when double-clicking the chart.
     *
     * @event chartDoubleClick
     * @blazorProperty 'OnChartDoubleClick'
     */
    chartDoubleClick: base.EmitType<IMouseEventArgs>;
    /**
     * Triggers on point click.
     *
     * @event pointClick
     * @blazorProperty 'OnPointClick'
     */
    pointClick: base.EmitType<IPointEventArgs>;
    /**
     * Triggers on point double-click.
     *
     * @event pointDoubleClick
     * @blazorProperty 'OnPointDoubleClick'
     */
    pointDoubleClick: base.EmitType<IPointEventArgs>;
    /**
     * Triggers when a data point is hovered.
     *
     * @event pointMove
     * @blazorProperty 'PointMoved'
     */
    pointMove: base.EmitType<IPointEventArgs>;
    /**
     * Triggers when the cursor leaves the chart.
     *
     * @event chartMouseLeave
     * @blazorProperty 'OnChartMouseLeave'
     */
    chartMouseLeave: base.EmitType<IMouseEventArgs>;
    /**
     * Triggers on mouse down.
     *
     * @event chartMouseDown
     * @blazorProperty 'OnChartMouseDown'
     */
    chartMouseDown: base.EmitType<IMouseEventArgs>;
    /**
     * Triggers on mouse up.
     *
     * @event chartMouseUp
     * @blazorProperty 'OnChartMouseUp'
     */
    chartMouseUp: base.EmitType<IMouseEventArgs>;
    /**
     * Triggers after the drag selection is completed.
     *
     * @event dragComplete
     * @blazorProperty 'OnDragComplete'
     */
    dragComplete: base.EmitType<IDragCompleteEventArgs>;
    /**
     * Triggers after the selection is completed.
     *
     * @event selectionComplete
     * @blazorProperty 'OnSelectionComplete'
     */
    selectionComplete: base.EmitType<ISelectionCompleteEventArgs>;
    /**
     * Triggers after the zoom selection is completed.
     *
     * @event zoomComplete
     * @deprecated
     */
    zoomComplete: base.EmitType<IZoomCompleteEventArgs>;
    /**
     * Triggers when the zoom selection started.
     *
     * @event onZooming
     */
    onZooming: base.EmitType<IZoomingEventArgs>;
    /**
     * Triggers when the scroll action starts.
     *
     * @event scrollStart
     * @blazorProperty 'OnScrollStart'
     */
    scrollStart: base.EmitType<IScrollEventArgs>;
    /**
     * Triggers after the scroll action ends.
     *
     * @event scrollEnd
     * @blazorProperty 'OnScrollEnd'
     */
    scrollEnd: base.EmitType<IScrollEventArgs>;
    /**
     * Triggers when the scroll position changes.
     *
     * @event scrollChanged
     * @blazorProperty 'ScrollChanged'
     */
    scrollChanged: base.EmitType<IScrollEventArgs>;
    /**
     * Triggers when the drag operation for a point starts.
     *
     * @event dragStart
     */
    dragStart: base.EmitType<IDataEditingEventArgs>;
    /**
     * Triggers when the point is being dragged.
     *
     * @event drag
     */
    drag: base.EmitType<IDataEditingEventArgs>;
    /**
     * Triggers when the point drag operation ends.
     *
     * @event dragEnd
     */
    dragEnd: base.EmitType<IDataEditingEventArgs>;
    /**
     * Specifies the currency code format to use for displaying values in the chart.
     *
     * @private
     * @aspType string
     */
    private currencyCode;
    private htmlObject;
    private isLegend;
    /** @private */
    stockChart: StockChart;
    /**
     * localization object
     *
     * @private
     */
    localeObject: base.L10n;
    /**
     * It contains default values of localization values
     */
    private defaultLocalConstants;
    /**
     * Gets the current visible axis of the Chart.
     *
     * @hidden
     */
    axisCollections: Axis[];
    /**
     * Gets the current visible series of the Chart.
     *
     * @hidden
     */
    visibleSeries: Series[];
    /**
     * Render panel for chart.
     *
     * @hidden
     */
    chartAxisLayoutPanel: CartesianAxisLayoutPanel | PolarRadarPanel;
    /**
     * Gets all the horizontal axis of the Chart.
     *
     * @hidden
     */
    horizontalAxes: Axis[];
    /**
     * Gets all the vertical axis of the Chart.
     *
     * @hidden
     */
    verticalAxes: Axis[];
    /**
     * Gets the inverted chart.
     *
     * @hidden
     */
    requireInvertedAxis: boolean;
    /** @private */
    svgObject: Element;
    /** @private */
    isTouch: boolean;
    /** @private */
    renderer: svgBase.SvgRenderer | svgBase.CanvasRenderer;
    /** @private */
    svgRenderer: svgBase.SvgRenderer;
    /** @private */
    canvasRender: svgBase.CanvasRenderer;
    /** @private */
    initialClipRect: svgBase.Rect;
    /** @private */
    seriesElements: Element;
    /** @private */
    indicatorElements: Element;
    /** @private */
    trendLineElements: Element;
    /** @private */
    visibleSeriesCount: number;
    /** @private */
    intl: base.Internationalization;
    /** @private */
    dataLabelCollections: svgBase.Rect[];
    /** @private */
    rotatedDataLabelCollections: ChartLocation[][];
    /** @private */
    dataLabelElements: Element;
    /** @private */
    mouseX: number;
    /** @private */
    mouseY: number;
    /** @private */
    animateSeries: boolean;
    /** @private */
    redraw: boolean;
    /** @public */
    animated: boolean;
    /** @public */
    duration: number;
    /** @private */
    availableSize: svgBase.Size;
    /** @private */
    delayRedraw: boolean;
    /** @private */
    isDoubleTap: boolean;
    /** @private */
    mouseDownX: number;
    /** @private */
    mouseDownY: number;
    /** @private */
    previousMouseMoveX: number;
    /** @private */
    previousMouseMoveY: number;
    /** @private */
    private threshold;
    /** @private */
    isChartDrag: boolean;
    /** @private */
    isPointMouseDown: boolean;
    /** @private */
    isScrolling: boolean;
    /** @private */
    dragY: number;
    private resizeTo;
    /** @private */
    private checkResize;
    /** @private */
    disableTrackTooltip: boolean;
    /** @private */
    startMove: boolean;
    /** @private */
    yAxisElements: Element;
    /** @private */
    radius: number;
    /** @private */
    visible: number;
    /** @private */
    clickCount: number;
    /** @private */
    maxPointCount: number;
    /** @private */
    singleClickTimer: number;
    /** @private */
    chartAreaType: string;
    /** @private */
    isRtlEnabled: boolean;
    /** @private */
    scaleX: number;
    /** @private */
    scaleY: number;
    isCrosshair: boolean;
    /**
     * `markerModule` is used to manipulate and add marker to the series.
     *
     * @private
     */
    markerRender: Marker;
    markerIndex: number;
    /** @private */
    titleCollection: string[];
    /** @private */
    subTitleCollection: string[];
    /** @private */
    themeStyle: IThemeStyle;
    /** @private */
    scrollElement: Element;
    /** @private */
    scrollSettingEnabled: boolean;
    private chartid;
    /** @private */
    svgId: string;
    /** @private */
    isBlazor: boolean;
    /** @private */
    isRedrawSelection: boolean;
    /**
     * Touch object to unwire the touch event from element
     */
    private touchObject;
    /** @private */
    resizeBound: any;
    /** @private */
    longPressBound: any;
    /** @private */
    isLegendClicked: boolean;
    isZoomed: boolean;
    private previousTargetId;
    private currentPointIndex;
    private currentSeriesIndex;
    private currentLegendIndex;
    private previousPageX;
    private previousPageY;
    private allowPan;
    /** @private */
    pointsRemoved: boolean;
    /** @private */
    pointsAdded: boolean;
    /** @private */
    zoomRedraw: boolean;
    /**
     * Constructor for the chart component.
     *
     * @param {ChartModel} [options] - The chart model options.
     * @param {string | HTMLElement} [element] - The element ID or instance where the chart needs to be rendered.
     * @private
     */
    constructor(options?: ChartModel, element?: string | HTMLElement);
    /**
     * To manage persist chart data.
     *
     * @returns {void}
     */
    private mergePersistChartData;
    /**
     * Checks if the element ID contains special characters.
     *
     * @param {string} elementId - The ID of the element.
     * @returns {string} - The modified ID without special characters.
     */
    private isIdHasSpecialCharacter;
    /**
     * Initialize the event handler.
     */
    protected preRender(): void;
    private initPrivateVariable;
    /**
     * To Initialize the control rendering.
     */
    protected render(): void;
    private cartesianChartRendering;
    /**
     * Gets the localized label by locale keyword.
     *
     * @param  {string} key key
     * @returns {string} localized label
     */
    getLocalizedLabel(key: string): string;
    /**
     * Initiates animation for the chart.
     *
     * @param {number} [duration] - The duration of the animation in milliseconds.
     * @returns {void}
     * @private
     */
    animate(duration?: number): void;
    /**
     * Refresh the chart bounds.
     *
     * @private
     */
    refreshBound(): void;
    /**
     * To calcualte the stack values.
     *
     * @returns {void}
     * @private
     */
    calculateStackValues(): void;
    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.
     *
     * @returns {void}
     */
    private setSecondaryElementPosition;
    private initializeModuleElements;
    private hasTrendlines;
    private renderSeriesElements;
    /**
     * Renders the series on the chart.
     *
     * @private
     * @returns {void}
     */
    renderSeries(): void;
    protected renderCanvasSeries(): void;
    private initializeIndicator;
    private initializeTrendLine;
    private appendElementsAfterSeries;
    private applyZoomkit;
    /**
     * Render annotation perform here.
     *
     * @private
     * @returns {void}
     */
    private renderAnnotation;
    private performSelection;
    processData(render?: boolean): void;
    private initializeDataModule;
    /**
     * To provide the array of modules needed for control rendering.
     *
     * @returns {void} - To provide the array of modules needed for control rendering.
     * @private
     */
    calculateBounds(): void;
    /**
     * Prints the chart or specified element.
     *
     * @param {string[] | string | Element} id - The ID or array of IDs of the elements to print.
     * @returns {void}
     */
    print(id?: string[] | string | Element): void;
    /**
     * Defines the trendline initialization.
     *
     * @returns {void}
     */
    private initTrendLines;
    private calculateAreaType;
    /**
     * Calculate the visible axis.
     *
     * @private
     * @returns {void}
     */
    private calculateVisibleAxis;
    private initAxis;
    private initTechnicalIndicators;
    /**
     * Refreshes the technical indicator for the specified series.
     *
     * @param {SeriesBase} series - The series for which to refresh the technical indicator.
     * @returns {void}
     * @private
     */
    refreshTechnicalIndicator(series: SeriesBase): void;
    private calculateVisibleSeries;
    isSecondaryAxis(axis: Axis): boolean;
    private renderTitle;
    private renderSubTitle;
    private renderBorder;
    /**
     * Renders the border for the area.
     *
     * @returns {void}
     * @private
     */
    renderAreaBorder(): void;
    /**
     * To add series for the chart
     *
     * @param {SeriesModel[]} seriesCollection - Defines the series collection to be added in chart.
     * @returns {void}.
     */
    addSeries(seriesCollection: SeriesModel[]): void;
    /**
     * To Remove series for the chart
     *
     * @param {number} index - Defines the series index to be remove in chart series
     * @returns {void}
     */
    removeSeries(index: number): void;
    /**
     * Clear all series from the chart.
     *
     * @returns {void}.
     */
    clearSeries(): void;
    /**
     * To add secondary axis for the chart
     *
     * @param {AxisModel[]} axisCollection - Defines the axis collection to be added in chart.
     * @returns {void}.
     */
    addAxes(axisCollection: AxisModel[]): void;
    /**
     * To remove secondary axis for the chart.
     *
     * @param {number} index - Defines the axis collection to be removed in chart.
     * @returns {void}
     * @private
     */
    removeAxis(index: number): void;
    /**
     * To destroy the widget
     *
     * @function destroy
     * @returns {void}.
     * @member of Chart
     */
    destroy(): void;
    /**
     * Get component name
     */
    getModuleName(): string;
    /**
     * Gets the properties to be maintained in the persisted state.
     *
     * @private
     * @returns {string} - The persisted data.
     */
    getPersistData(): string;
    /**
     * Method to create SVG element.
     *
     * @private
     */
    createChartSvg(): void;
    /**
     * Method to bind events for chart
     */
    private unWireEvents;
    private wireEvents;
    private chartRightClick;
    private setStyle;
    /**
     * Determines the orientation.
     *
     * @private
     * @returns {boolean} - True if the orientation is found, otherwise false.
     */
    isOrientation(): boolean;
    /**
     * Handles the long press on the chart.
     *
     * @param {base.TapEventArgs} [e] - The event arguments for the long press.
     * @returns {boolean} - Returns false.
     * @private
     */
    longPress(e?: base.TapEventArgs): boolean;
    /**
     * Sets the mouse x and y coordinates for the aligned chart element SVG position.
     *
     * @param {number} pageX - The x-coordinate of the mouse pointer.
     * @param {number} pageY - The y-coordinate of the mouse pointer.
     * @returns {void}
     * @private
     */
    private setMouseXY;
    /**
     * Exports the chart in the specified format.
     *
     * @param {ExportType} type - The file format for the export. Available options are PNG, JPEG, PDF, and SVG.
     * @param {string} fileName - The name of the file to be saved.
     * @returns {void}
     */
    export(type: ExportType, fileName: string): void;
    /**
     * Handles the chart resize.
     *
     * @returns {boolean} false
     * @private
     */
    chartResize(): boolean;
    /**
     * Handles the mouse movement event on the chart.
     *
     * @param {PointerEvent} e - The mouse event.
     * @returns {boolean} - Returns false.
     * @private
     */
    mouseMove(e: PointerEvent): boolean;
    /**
     * Handles the mouse leave event on the chart.
     *
     * @param {PointerEvent} e - The mouse event.
     * @returns {boolean} - Returns false.
     * @private
     */
    mouseLeave(e: PointerEvent): boolean;
    /**
     * Handles the mouse leave event on the chart.
     *
     * @param {PointerEvent | TouchEvent} e - The mouse or touch event.
     * @returns {boolean} - Returns false.
     * @private
     */
    chartOnMouseLeave(e: PointerEvent | TouchEvent): boolean;
    /**
     * Handles the double click event on the chart.
     *
     * @param {PointerEvent | TouchEvent} e - The mouse or touch event.
     * @returns {boolean} - Returns false.
     * @private
     */
    chartOnDoubleClick(e: PointerEvent | TouchEvent): boolean;
    /**
     * Handles the key down event on the chart.
     *
     * @param {KeyboardEvent} e - The keyboard event.
     * @returns {boolean} - Returns false.
     * @private
     */
    chartKeyDown(e: KeyboardEvent): boolean;
    /**
     * Handles the key up event on the chart.
     *
     * @param {KeyboardEvent} e - The keyboard event.
     * @returns {boolean} - Returns false.
     * @private
     */
    chartKeyUp(e: KeyboardEvent): boolean;
    /**
     * Sets the tab index for the specified elements.
     *
     * @param {HTMLElement} previousElement - The previous element whose tab index needs to be removed.
     * @param {HTMLElement} currentElement - The current element to which the tab index needs to be set.
     * @returns {void}
     * @private
     */
    setTabIndex(previousElement: HTMLElement, currentElement: HTMLElement): void;
    private getActualIndex;
    private focusChild;
    /**
     * Handles the key event on the document.
     *
     * @param {KeyboardEvent} e - The keyboard event.
     * @returns {void}
     * @private
     */
    private documentKeyHandler;
    /**
     * Handles to set style for key event on the document.
     *
     * @param {target} target - element which currently focused.
     * @returns {void}
     * @private
     */
    private setNavigationStyle;
    /**
     * Handles to remove style for key event on the document.
     *
     * @returns {void}
     * @private
     */
    private removeNavigationStyle;
    /**
     * Handles keyboard navigation on the chart.
     *
     * @param {KeyboardEvent} e - The keyboard event.
     * @param {string} targetId - The ID of the target element.
     * @param {string} actionKey - The key that determines the action to be taken.
     * @returns {void}
     * @private
     */
    chartKeyboardNavigations(e: KeyboardEvent, targetId: string, actionKey: string): void;
    /**
     * Handles the mouse click on the chart.
     *
     * @param {PointerEvent | TouchEvent} e - The mouse or touch event.
     * @returns {boolean} -  Return false.
     * @private
     */
    chartOnMouseClick(e: PointerEvent | TouchEvent): boolean;
    FindXYPointValue(mouseX: number, mouseY: number): {
        [key: string]: number;
    } | null;
    private triggerPointEvent;
    private triggerAxisLabelClickEvent;
    /**
     * Handles the mouse move on the chart.
     *
     * @param {PointerEvent | TouchEvent} e - The mouse or touch event.
     * @returns {boolean} - False.
     * @private
     */
    chartOnMouseMove(e: PointerEvent | TouchEvent): boolean;
    private titleTooltip;
    private axisTooltip;
    private findAxisLabel;
    /**
     * Handles the mouse down on the chart.
     *
     * @param {PointerEvent} e - The mouse event.
     * @returns {boolean} - False.
     * @private
     */
    chartOnMouseDown(e: PointerEvent): boolean;
    /**
     * Handles the mouse up on the chart.
     *
     * @param {PointerEvent} e - The mouse event.
     * @returns {boolean} - False.
     * @private
     */
    mouseEnd(e: PointerEvent): boolean;
    /**
     * Handles the mouse up on the chart.
     *
     * @param {PointerEvent | TouchEvent} e - The mouse or touch event.
     * @returns {boolean} - False.
     * @private
     */
    chartOnMouseUp(e: PointerEvent | TouchEvent): boolean;
    /**
     * Method to set culture for chart.
     *
     * @returns {void}
     */
    private setCulture;
    /**
     * Sets the content of the annotation dynamically for the chart.
     *
     * @param {number} annotationIndex - The index of the annotation.
     * @param {string} content - The content to set for the annotation.
     * @returns {void}
     */
    setAnnotationValue(annotationIndex: number, content: string): void;
    /**
     * Method to set locale constants.
     *
     * @returns {void}
     */
    private setLocaleConstants;
    /**
     * Theming for chart.
     *
     * @returns {void}
     */
    private setTheme;
    /**
     * Provides the array of modules needed for control rendering.
     *
     * @returns {base.ModuleDeclaration[]} - The array of module declarations.
     * @private
     */
    requiredModules(): base.ModuleDeclaration[];
    private findAxisModule;
    private findIndicatorModules;
    private findTrendLineModules;
    private findStriplineVisibility;
    /**
     * To Remove the SVG.
     *
     * @returns {void}
     * @private
     */
    removeSvg(): void;
    private refreshDefinition;
    /**
     * Refresh the axis default value.
     *
     * @returns {void}
     * @private
     */
    refreshAxis(): void;
    private axisChange;
    /**
     * Gets the visible series by index.
     *
     * @param {Series[]} visibleSeries - The array of visible series.
     * @param {number} index - The index of the series to retrieve.
     * @returns {Series} - The visible series at the specified index.
     * @private
     */
    private getVisibleSeries;
    /**
     * Refresh the chart for live data updates.
     *
     * @returns {void}
     */
    refreshLiveData(): void;
    /**
     * To remove style element.
     *
     * @returns {void}
     */
    private removeStyles;
    /**
     * To trigger the manual mouse move event for live chart tooltip.
     *
     * @returns {void}
     */
    private mouseMoveEvent;
    /**
     * Displays a tooltip for the data points.
     *
     * @param {number | string | Date} x - Specifies the x value of the point or x coordinate.
     * @param {number} y - Specifies the x value of the point or y coordinate.
     * @param {boolean} isPoint - Specifies whether x and y are data point or chart coordinates.
     * @returns {void}
     */
    showTooltip(x: number | string | Date, y: number, isPoint?: boolean): void;
    /**
     * Hides a tooltip in the chart.
     *
     * @returns {void}
     */
    hideTooltip(): void;
    /**
     * Displays a crosshair for the chart.
     *
     * @param {number} x - Specifies the x value of the point or x coordinate.
     * @param {number} y - Specifies the x value of the point or y coordinate.
     * @returns {void}
     */
    showCrosshair(x: number, y: number): void;
    /**
     * Hides a tooltip in the chart.
     *
     * @returns {void}
     */
    hideCrosshair(): void;
    /**
     * Method to sanitize any potentially untrusted strings and scripts before rendering them.
     *
     * @param {string} value - Specifies the html value to sanitize
     * @returns {string} Returns the sanitized html string
     * @private
     */
    sanitize(value: string): string;
    /**
     * Called internally if any of the property value changed.
     *
     * @private
     * @param {ChartModel} newProp - The new ChartModel.
     * @param {ChartModel} oldProp - The new ChartModel.
     * @returns {void}
     */
    onPropertyChanged(newProp: ChartModel, oldProp: ChartModel): void;
}
export interface borderOption {
    id: string;
    x: number;
    y: number;
    rx: any;
    ry: any;
    width: number;
    height: number;
    fill: any;
    'stroke-width': number;
    stroke: any;
    transform: string;
    d: string;
}
export interface border {
    id: string;
    x: number;
    y: number;
    rx: any;
    ry: any;
    width: number;
    height: number;
    fill: any;
    'stroke-width': any;
    stroke: any;
    transform: string;
    d: string;
}
//node_modules/@syncfusion/ej2-charts/src/chart/chart-model.d.ts
/**
 * Interface for a class RangeColorSetting
 */
export interface RangeColorSettingModel {
    /**
     * Specifies the start value of the color mapping range.
     */
    start?: number;
    /**
     * Specifies the end value of the color mapping range.
     */
    end?: number;
    /**
     * Specifies the fill colors for points that lie within the given range. If multiple colors are specified, a gradient will be applied.
     */
    colors?: string[];
    /**
     * Specifies the name or label for the range mapping item.
     */
    label?: string;
}
/**
 * Interface for a class CrosshairSettings
 */
export interface CrosshairSettingsModel {
    /**
     * If set to true, the crosshair line becomes visible.
     *
     * @default false
     */
    enable?: boolean;
    /**
     * Specifies the pattern of dashes and gaps used to stroke the crosshair line.
     *
     * @default ''
     */
    dashArray?: string;
    /**
     * The `line` property allows defining the appearance of the crosshair line, including its color and width.
     */
    line?: BorderModel;
    /**
     * Specifies the line type for the crosshair.
     * The available modes are:
     * * None: Both vertical and horizontal crosshair lines are hidden.
     * * Both: Displays both the vertical and horizontal crosshair lines.
     * * Vertical: Shows only the vertical crosshair line.
     * * Horizontal: Shows only the horizontal crosshair line.
     *
     * @default Both
     */
    lineType?: LineType;
    /**
     * The color of the vertical crosshair line accepts values in hex and rgba as valid CSS color strings.
     *
     * @default ''
     */
    verticalLineColor?: string;
    /**
     * The color of the horizontal crosshair line accepts values in hex and rgba as valid CSS color strings.
     *
     * @default ''
     */
    horizontalLineColor?: string;
    /**
     * Specifies the opacity level for the crosshair, which controls its transparency.
     *
     * @default 1
     */
    opacity?: number;
    /**
     * If set to `true`, the horizontal crosshair snaps to the nearest data point.
     *
     * @default false
     */
    snapToData?: boolean;
    /**
     * If set to true, highlights the entire category range when hovered over.
     * This property applies only to category axes.
     *
     * @default false
     */
    highlightCategory?: boolean;
}
/**
 * Interface for a class ZoomSettings
 */
export interface ZoomSettingsModel {
    /**
     * If set to true, the chart can be zoomed in by selecting a rectangular region on the plot area.
     *
     * @default false
     */
    enableSelectionZooming?: boolean;
    /**
     * If set to true, the chart can be pinched to zoom in and out.
     *
     * @default false
     */
    enablePinchZooming?: boolean;
    /**
     * If set to true, the chart is rendered with a toolbar on initial load.
     *
     * @default false
     */
    showToolbar?: boolean;
    /**
     * If set to true, the chart can be zoomed using the mouse wheel.
     *
     * @default false
     */
    enableMouseWheelZooming?: boolean;
    /**
     * If set to true, zooming will be performed on mouse up.
     > Note that `enableDeferredZooming` 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, horizontally, or in both ways.
     * Available options are:
     * * XY: Chart can be zoomed both vertically and horizontally.
     * * X: Chart can be zoomed horizontally.
     * * Y: Chart can be zoomed vertically.
     > Note that `enableSelectionZooming` must be set to true for this feature to work.
     * ```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 zooming as follows:
     * * Zoom - Enables the zooming tool to select and zoom into a specific region of the chart.
     * * ZoomIn - Provides a button to zoom in on the chart.
     * * ZoomOut - Provides a button to zoom out from the chart.
     * * Pan - Allows panning across the chart to explore different regions.
     * * Reset - Resets the zoom level to the default view of the chart.
     *
     * @default '["Zoom", "ZoomIn", "ZoomOut", "Pan", "Reset"]'
     */
    toolbarItems?: ToolbarItems[];
    /**
     * If set to true, the chart can be panned without requiring toolbar items. If set to false, panning is disabled, and the toolbar options must be used to pan the chart.
     *
     * @default false.
     */
    enablePan?: boolean;
    /**
     * Specifies whether the axis should have a scrollbar.
     *
     * @default false.
     */
    enableScrollbar?: boolean;
    /**
     * If set to true, the chart will animate when zooming.
     *
     * @default false.
     */
    enableAnimation?: boolean;
    /**
     * Allows customization of the zoom toolbar position. Users can set the horizontal and vertical alignment of the toolbar, as well as specify offsets for precise placement.
     */
    toolbarPosition?: ToolbarPositionModel;
    /**
     * Options to improve accessibility for zoom toolkit elements.
     */
    accessibility?: AccessibilityModel;
}
/**
 * Interface for a class Chart
 */
export interface ChartModel extends base.ComponentModel{
    /**
     * The width of the chart as a string, accepting input such as '100px' or '100%'.
     * If specified as '100%', the chart renders to the full width of its parent element.
     *
     * @default null
     */
    width?: string;
    /**
     * The height of the chart as a string, accepting input such as '100px' or '100%'.
     * If specified as '100%', the chart renders to the full height of its parent element.
     *
     * @default null
     */
    height?: string;
    /**
     * The title is displayed at the top of the chart to provide information about the plotted data.
     *
     * @default ''
     */
    title?: string;
    /**
     * Specifies the data source 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: 'https://services.syncfusion.com/js/production/api/orders'
     * });
     * let query$: Query = new Query().take(5);
     * let chart$: Chart = new Chart({
     * ...
     * dataSource: dataManager,
     *   series: [{
     *        type: 'Column',
     *        xName: 'CustomerID',
     *        yName: 'Freight',
     *        query: query
     *    }],
     * ...
     * });
     * chart.appendTo('#Chart');
     * ```
     *
     * @default ''
     */
    dataSource?: Object | data.DataManager;
    /**
     * Options for customizing the appearance of the title, which displays information about the plotted data.
     * Use the `fontFamily`, `size`, `fontStyle`, `fontWeight`, and `color` properties in `titleSettings` to adjust the title's appearance.
     */
    titleStyle?: titleSettingsModel;
    /**
     * The subtitle is positioned below the main title and provides additional details about the data represented in the chart.
     *
     * @default ''
     */
    subTitle?: string;
    /**
     * Options for customizing the appearance of the subtitle, which displays information about the plotted data below the main title.
     * Use the `fontFamily`, `size`, `fontStyle`, `fontWeight`, and `color` properties in `titleSettings` to adjust the subtitle's appearance.
     */
    // eslint-disable-next-line max-len
    subTitleStyle?: titleSettingsModel;
    /**
     * Options to customize the margins around the chart, including the left, right, top, and bottom margins.
     * These margins refer to the space between the outer edge of the chart and its chart area.
     */
    margin?: MarginModel;
    /**
     * Options for customizing the appearance of the border in the chart by using the `color` and `width` properties in the `border`.
     */
    border?: BorderModel;
    /**
     * The background color of the chart accepts values in hex and rgba formats as valid CSS color strings.
     *
     * @default null
     */
    background?: string;
    /**
     * Configuration options for the chart area's border and background.
     */
    chartArea?: ChartAreaModel;
    /**
     * Specifies whether to display or base.remove the untrusted HTML values in the Chart component.
     * If 'enableHtmlSanitizer' set to true, the component will sanitize any suspected untrusted strings and scripts before rendering them.
     *
     * @default false
     */
    enableHtmlSanitizer?: boolean;
    /**
     * The `primaryXAxis` property configures the horizontal axis of the chart, including settings for axis labels, tick marks, grid lines, and axis ranges.
     */
    primaryXAxis?: AxisModel;
    /**
     * The `primaryYAxis` property configures the vertical axis of the chart, including settings for axis labels, tick marks, grid lines, and axis ranges.
     */
    primaryYAxis?: AxisModel;
    /**
     * Options to split the chart into multiple plotting areas horizontally.
     * Each object in the collection represents a separate plotting area (row) in the chart, allowing multiple data series to be displayed in distinct horizontal sections.
     */
    rows?: RowModel[];
    /**
     * Options to split the chart into multiple plotting areas vertically.
     * Each object in the collection represents a separate plotting area (column) in the chart, allowing multiple data series to be displayed in distinct vertical sections.
     */
    columns?: ColumnModel[];
    /**
     * Configuration options for the secondary axis in the chart.
     * Each object in the collection represents an additional axis, allowing for the plotting of multiple data series with different scales.
     */
    axes?: AxisModel[];
    /**
     * Configuration options for the chart's series.
     * Each object in the `series` collection represents a distinct data series displayed in the chart. Customize various aspects of each series such as data, type, and appearance.
     */
    series?: SeriesModel[];
    /**
     * Annotations are used to highlight specific data points or areas in the chart, providing additional context and information.
     */
    annotations?: ChartAnnotationSettingsModel[];
    /**
     * The `palettes` array defines a set of colors used for rendering the chart's series. Each color in the array is applied to the series in order.
     *
     * @default []
     */
    palettes?: string[];
    /**
     * The theme applied to the chart for visual styling.
     * Choose from predefined themes to change the overall look and feel of the chart.
     * The available themes are:
     * * Fabric
     * * FabricDark
     * * Bootstrap4
     * * Bootstrap
     * * BootstrapDark
     * * HighContrastLight
     * * HighContrast
     * * Tailwind
     * * TailwindDark
     * * Bootstrap5
     * * Bootstrap5Dark
     * * Fluent
     * * FluentDark
     * * Fluent2
     * * Fluent2Dark
     * * Fluent2HighContrast
     * * Material3
     * * Material3Dark
     * * Material
     * * MaterialDark
     *
     * @default 'Material'
     */
    theme?: ChartTheme;
    /**
     * Configuration options for the chart's tooltip, which displays details about the points when hovering over them.
     */
    tooltip?: TooltipSettingsModel;
    /**
     * The crosshair displays lines on the chart that follow the mouse cursor and show the axis values of the data points.
     */
    crosshair?: CrosshairSettingsModel;
    /**
     * The legend provides descriptive information about the data series displayed in the chart, helping to understand what each series represents.
     */
    legendSettings?: LegendSettingsModel;
    /**
     * The `rangeColorSettings` property specifies a set of rules for applying different colors to points based on their value ranges.
     */
    rangeColorSettings?: RangeColorSettingModel[];
    /**
     * Options to enable and configure the zooming feature in the chart.
     */
    zoomSettings?: ZoomSettingsModel;
    /**
     * Defines the color used to highlight a data point on mouse hover.
     *
     * @default ''
     */
    highlightColor?: string;
    /**
     * The `selectionMode` property determines how data points or series can be highlighted or selected.
     * The available options are:
     * * 'None': Disables any form of highlight or selection.
     * * 'Series': Highlights or selects an entire series of data points.
     * * 'Point': Highlights or selects a single data point.
     * * 'Cluster': Highlights or selects a group of data points that belong to the same cluster.
     * * '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;
    /**
     * The `highlightMode` property determines how a series or individual data points are highlighted in the chart.
     * The available options are:
     * * 'None': Disables highlighting.
     * * 'Series': Highlights an entire series of data points.
     * * 'Point': Highlights a single data point.
     * * 'Cluster': Highlights a group of data points that belong to the same cluster.
     *
     * @default None
     */
    highlightMode?: HighlightMode;
    /**
     * The `selectionPattern` property determines how the selected data points or series are visually represented.
     * The available options are:
     * * 'None': No selection pattern is applied.
     * * 'Chessboard': Applies a chessboard pattern as the selection effect.
     * * 'Dots': Applies a dot pattern as the selection effect.
     * * 'DiagonalForward': Applies a forward diagonal line pattern as the selection effect.
     * * 'Crosshatch': Applies a crosshatch pattern as the selection effect.
     * * 'Pacman': Applies a Pacman pattern as the selection effect.
     * * 'DiagonalBackward': Applies a backward diagonal line pattern as the selection effect.
     * * 'Grid': Applies a grid pattern as the selection effect.
     * * 'Turquoise': Applies a turquoise pattern as the selection effect.
     * * 'Star': Applies a star pattern as the selection effect.
     * * 'Triangle': Applies a triangle pattern as the selection effect.
     * * 'Circle': Applies a circle pattern as the selection effect.
     * * 'Tile': Applies a tile pattern as the selection effect.
     * * 'HorizontalDash': Applies a horizontal dash pattern as the selection effect.
     * * 'VerticalDash': Applies a vertical dash pattern as the selection effect.
     * * 'Rectangle': Applies a rectangle pattern as the selection effect.
     * * 'Box': Applies a box pattern as the selection effect.
     * * 'VerticalStripe': Applies a vertical stripe pattern as the selection effect.
     * * 'HorizontalStripe': Applies a horizontal stripe pattern as the selection effect.
     * * 'Bubble': Applies a bubble pattern as the selection effect.
     *
     * @default None
     */
    selectionPattern?: SelectionPattern;
    /**
     * The `highlightPattern` property determines how the data points or series are visually highlighted.
     * The available options are:
     * * 'None': No highlighting pattern.
     * * 'Chessboard': Applies a chessboard pattern for highlighting.
     * * 'Dots': Applies a dot pattern for highlighting.
     * * 'DiagonalForward': Applies a forward diagonal line pattern for highlighting.
     * * 'Crosshatch': Applies a crosshatch pattern for highlighting.
     * * 'Pacman': Applies a Pacman pattern for highlighting.
     * * 'DiagonalBackward': Applies a backward diagonal line pattern for highlighting.
     * * 'Grid': Applies a grid pattern for highlighting.
     * * 'Turquoise': Applies a turquoise pattern for highlighting.
     * * 'Star': Applies a star pattern for highlighting.
     * * 'Triangle': Applies a triangle pattern for highlighting.
     * * 'Circle': Applies a circle pattern for highlighting.
     * * 'Tile': Applies a tile pattern for highlighting.
     * * 'HorizontalDash': Applies a horizontal dash pattern for highlighting.
     * * 'VerticalDash': Applies a vertical dash pattern for highlighting.
     * * 'Rectangle': Applies a rectangle pattern for highlighting.
     * * 'Box': Applies a box pattern for highlighting.
     * * 'VerticalStripe': Applies a vertical stripe pattern for highlighting.
     * * 'HorizontalStripe': Applies a horizontal stripe pattern for highlighting.
     * * 'Bubble': Applies a bubble pattern for highlighting.
     *
     * @default None
     */
    highlightPattern?: SelectionPattern;
    /**
     * When set to true, it allows selecting multiple data points, series, or clusters.
     > Note that the `selectionMode` must be set to `Point`, `Series`, or `Cluster` for multi-selection to be enabled.
     *
     * @default false
     */
    isMultiSelect?: boolean;
    /**
     * If set to true, enables multi-drag selection in the chart.
     * This feature allows selecting multiple data points by dragging a selection box.
     > Note that the `selectionMode` to be set to `DragX`, `DragY`, or `DragXY` for this feature to work.
     *
     * @default false
     */
    allowMultiSelection?: boolean;
    /**
     * When set to true, it enables exporting the chart to various formats such as `JPEG`, `PNG`, `SVG`, `PDF`, `XLSX`, or `CSV`.
     *
     * @default true
     */
    enableExport?: boolean;
    /**
     * To enable1 export feature in blazor chart.
     *
     * @default false
     */
    allowExport?: boolean;
    /**
     * Specifies the point indexes to be selected when a chart is initially loaded.
     > Note that `selectionMode` or `highlightMode` must be set to `Point`, `Series`, or `Cluster` for this feature to work.
     * ```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[];
    /**
     * When set to true, a grouping separator will be used for numbers to separate groups of thousands in the chart.
     *
     * @default false
     */
    useGroupingSeparator?: boolean;
    /**
     * If set to true, the intervals for all the axes will be calculated automatically based on the zoomed range.
     *
     * @default false
     */
    enableAutoIntervalOnBothAxis?: boolean;
    /**
     * When set to true, the chart will render in a transposed manner, where the X and Y axes are interchanged.
     *
     * @default false
     */
    isTransposed?: boolean;
    /**
     * When set to true, the chart will render using a canvas.
     *
     * @default false
     */
    enableCanvas?: boolean;
    /**
     * The background image of the chart accepts a string value as a URL link or the location of an image.
     *
     * @default null
     */
    backgroundImage?: string;
    /**
     * Technical indicators assist in evaluating market conditions and identifying trends for making trading decisions.
     */
    indicators?: TechnicalIndicatorModel[];
    /**
     * If set to true, animation effects will be enabled for chart elements such as axis labels, gridlines, series, markers, and data labels when the legend is clicked, or the data source is updated.
     *
     * @default true
     */
    enableAnimation?: boolean;
    /**
     * A description for the chart that provides additional information about its content for screen readers.
     *
     * @default null
     * @deprecated
     */
    description?: string;
    /**
     * The `tabIndex` value determines the order in which the chart container receives focus during keyboard navigation.
     *
     * @default 1
     * @deprecated
     */
    tabIndex?: number;
    /**
     * This property controls whether columns for different series appear next to each other in a column chart.
     *
     * @default true
     */
    enableSideBySidePlacement?: boolean;
    /**
     * Options to improve accessibility for chart elements.
     */
    accessibility?: AccessibilityModel;
    /**
     * Customize the focus border color.
     * If not specified, the element will use the default focus border color.
     *
     * @default null
     */
    focusBorderColor?: string;
    /**
     * Customize the focus border width.
     * If not specified, the element will use the default focus border width.
     *
     * @default 1.5
     */
    focusBorderWidth?: number;
    /**
     * Customize the focus border margin.
     * If not specified, the element will use the default focus border margin.
     *
     * @default 0
     */
    focusBorderMargin?: number;
    /**
     * Configuration options for stack labels in the chart.
     * Stack labels display the total value for stacked series, including customization options for appearance and positioning, and other visual elements to enhance chart readability.
     * This property allows users to modify how stack labels are rendered in a stacked chart.
     */
    stackLabels?: StackLabelSettingsModel;
    /**
     * Triggers after the chart is resized.
     *
     * @event resized
     * @blazorProperty 'Resized'
     */
    resized?: base.EmitType<IResizeEventArgs>;
    /**
     * Triggers before the chart is resized. This event allows for modifications to the chart size before resizing occurs.
     *
     * @event beforeResize
     * @blazorProperty 'BeforeResize'
     */
    beforeResize?: base.EmitType<IBeforeResizeEventArgs>;
    /**
     * Triggers before the annotation gets rendered. This event allows for modifications of the annotation content and its location before it is rendered on the chart.
     *
     * @event annotationRender
     * @deprecated
     */
    annotationRender?: base.EmitType<IAnnotationRenderEventArgs>;
    /**
     * Triggers before the printing process starts. This event allows for the modification of the chart's HTML content before it is sent to the printer.
     *
     * @event beforePrint
     * @blazorProperty 'OnPrint'
     */
    beforePrint?: base.EmitType<IPrintEventArgs>;
    /**
     * Triggers after the chart has fully loaded.
     *
     * @event loaded
     * @blazorProperty 'Loaded'
     */
    loaded?: base.EmitType<ILoadedEventArgs>;
    /**
     * Triggers before the export process begins. This event allows for the customization of export settings before the chart is exported.
     *
     * @event beforeExport
     */
    beforeExport?: base.EmitType<IExportEventArgs>;
    /**
     * Triggers after11111 the export is completed.
     *
     * @event afterExport
     * @blazorProperty 'AfterExport'
     */
    afterExport?: base.EmitType<IAfterExportEventArgs>;
    /**
     * Triggers before the chart loads. This event allows for customization and configuration before the chart is rendered.
     *
     * @event load
     */
    load?: base.EmitType<ILoadedEventArgs>;
    /**
     * Triggers after the animation for the series is completed.
     *
     * @event animationComplete
     * @blazorProperty 'OnAnimationComplete'
     */
    animationComplete?: base.EmitType<IAnimationCompleteEventArgs>;
    /**
     * Triggers before the legend is rendered. This allows the customization of legend before rendering on the chart.
     *
     * @event legendRender
     * @deprecated
     */
    legendRender?: base.EmitType<ILegendRenderEventArgs>;
    /**
     * Triggers before the data label for the series is rendered. This allows customization of data labels before they are rendered on the chart.
     *
     * @event textRender
     * @deprecated
     */
    textRender?: base.EmitType<ITextRenderEventArgs>;
    /**
     * Triggers before each point in the series is rendered. This allows for the customization of each data point before it is rendered on the chart.
     *
     * @event pointRender
     * @deprecated
     */
    pointRender?: base.EmitType<IPointRenderEventArgs>;
    /**
     * Triggers before the series is rendered. This event allows for the customization of series properties before they are rendered on the chart.
     *
     * @event seriesRender
     * @deprecated
     */
    seriesRender?: base.EmitType<ISeriesRenderEventArgs>;
    /**
     * Triggers before each axis label is rendered. This event allows for the customization of axis label and its font style before rendering on the chart.
     *
     * @event axisLabelRender
     * @deprecated
     */
    axisLabelRender?: base.EmitType<IAxisLabelRenderEventArgs>;
    /**
     * Triggers when the x-axis label is clicked.
     *
     * @event axisLabelClick
     * @deprecated
     */
    axisLabelClick?: base.EmitType<IAxisLabelClickEventArgs>;
    /**
     * Triggers before each axis range is rendered. This event allows modification of the axis range and interval that are calculated based on data.
     *
     * @event axisRangeCalculated
     * @deprecated
     */
    axisRangeCalculated?: base.EmitType<IAxisRangeCalculatedEventArgs>;
    /**
     * Triggers before each axis multi-label is rendered. This event allows modification of multi-labels on the axis before they are rendered.
     *
     * @event axisMultiLabelRender
     * @deprecated
     */
    axisMultiLabelRender?: base.EmitType<IAxisMultiLabelRenderEventArgs>;
    /**
     * Triggers after clicking on a legend item.
     *
     * @event legendClick
     */
    legendClick?: base.EmitType<ILegendClickEventArgs>;
    /**
     * Triggers after clicking on a multi-level label.
     *
     * @event multiLevelLabelClick
     */
    multiLevelLabelClick?: base.EmitType<IMultiLevelLabelClickEventArgs>;
    /**
     * Triggers before the tooltip for the series is rendered. This event allows customization of the tooltip properties such as text, style, and template before it is rendered on the chart.
     *
     * @event tooltipRender
     */
    tooltipRender?: base.EmitType<ITooltipRenderEventArgs>;
    /**
     * Triggers before the shared tooltip for the series is rendered. This event allows customization of the shared tooltip properties such as text, style, and template before it is rendered on the chart.
     *
     * @event sharedTooltipRender
     */
    sharedTooltipRender?: base.EmitType<ISharedTooltipRenderEventArgs>;
    /**
     * Triggers on hovering over the chart.
     *
     * @event chartMouseMove
     * @blazorProperty 'OnChartMouseMove'
     */
    chartMouseMove?: base.EmitType<IMouseEventArgs>;
    /**
     * Triggers when clicking on the chart.
     *
     * @event chartMouseClick
     * @blazorProperty 'OnChartMouseClick'
     */
    chartMouseClick?: base.EmitType<IMouseEventArgs>;
    /**
     * Triggers when double-clicking the chart.
     *
     * @event chartDoubleClick
     * @blazorProperty 'OnChartDoubleClick'
     */
    chartDoubleClick?: base.EmitType<IMouseEventArgs>;
    /**
     * Triggers on point click.
     *
     * @event pointClick
     * @blazorProperty 'OnPointClick'
     */
    pointClick?: base.EmitType<IPointEventArgs>;
    /**
     * Triggers on point double-click.
     *
     * @event pointDoubleClick
     * @blazorProperty 'OnPointDoubleClick'
     */
    pointDoubleClick?: base.EmitType<IPointEventArgs>;
    /**
     * Triggers when a data point is hovered.
     *
     * @event pointMove
     * @blazorProperty 'PointMoved'
     */
    pointMove?: base.EmitType<IPointEventArgs>;
    /**
     * Triggers when the cursor leaves the chart.
     *
     * @event chartMouseLeave
     * @blazorProperty 'OnChartMouseLeave'
     */
    chartMouseLeave?: base.EmitType<IMouseEventArgs>;
    /**
     * Triggers on mouse down.
     *
     * @event chartMouseDown
     * @blazorProperty 'OnChartMouseDown'
     */
    chartMouseDown?: base.EmitType<IMouseEventArgs>;
    /**
     * Triggers on mouse up.
     *
     * @event chartMouseUp
     * @blazorProperty 'OnChartMouseUp'
     */
    chartMouseUp?: base.EmitType<IMouseEventArgs>;
    /**
     * Triggers after the drag selection is completed.
     *
     * @event dragComplete
     * @blazorProperty 'OnDragComplete'
     */
    dragComplete?: base.EmitType<IDragCompleteEventArgs>;
    /**
     * Triggers after the selection is completed.
     *
     * @event selectionComplete
     * @blazorProperty 'OnSelectionComplete'
     */
    selectionComplete?: base.EmitType<ISelectionCompleteEventArgs>;
    /**
     * Triggers after the zoom selection is completed.
     *
     * @event zoomComplete
     * @deprecated
     */
    zoomComplete?: base.EmitType<IZoomCompleteEventArgs>;
    /**
     * Triggers when the zoom selection started.
     *
     * @event onZooming
     */
    onZooming?: base.EmitType<IZoomingEventArgs>;
    /**
     * Triggers when the scroll action starts.
     *
     * @event scrollStart
     * @blazorProperty 'OnScrollStart'
     */
    scrollStart?: base.EmitType<IScrollEventArgs>;
    /**
     * Triggers after the scroll action ends.
     *
     * @event scrollEnd
     * @blazorProperty 'OnScrollEnd'
     */
    scrollEnd?: base.EmitType<IScrollEventArgs>;
    /**
     * Triggers when the scroll position changes.
     *
     * @event scrollChanged
     * @blazorProperty 'ScrollChanged'
     */
    scrollChanged?: base.EmitType<IScrollEventArgs>;
    /**
     * Triggers when the drag operation for a point starts.
     *
     * @event dragStart
     */
    dragStart?: base.EmitType<IDataEditingEventArgs>;
    /**
     * Triggers when the point is being dragged.
     *
     * @event drag
     */
    drag?: base.EmitType<IDataEditingEventArgs>;
    /**
     * Triggers when the point drag operation ends.
     *
     * @event dragEnd
     */
    dragEnd?: base.EmitType<IDataEditingEventArgs>;
    /**
     * Specifies the currency code format to use for displaying values in the chart.
     *
     * @private
     * @aspType string
     */
    currencyCode?: string;
}
//node_modules/@syncfusion/ej2-charts/src/chart/utils/get-data.d.ts
/**
 * The `ChartData` class is used to retrieve data on mouse move events in a chart.
 *
 * @private
 */
export  class ChartData {
    /** @private */
    chart: Chart;
    lierIndex: number;
    /** @private */
    currentPoints: PointData[] | AccPointData[] | Point3D[];
    /** @private */
    previousPoints: PointData[] | AccPointData[] | Point3D[];
    insideRegion: boolean;
    commonXvalues: number[];
    /**
     * Constructor for the data.
     *
     * @private
     */
    constructor(chart: Chart);
    /**
     * Method to get the Data.
     *
     * @private
     */
    getData(): PointData;
    isSelected(chart: Chart): boolean;
    private getRectPoint;
    /**
     * Checks if the given point is contained within any of the regions defined by the array of rectangles.
     *
     * @param {Rect[]} regionRect - The array of rectangles defining the regions.
     * @param {Rect} rect - The rectangle to check against the regions.
     * @param {number} x - The x-coordinate of the point.
     * @param {number} y - The y-coordinate of the point.
     * @returns {boolean} - True if the point is contained within any of the regions, otherwise false.
     */
    private checkRegionContainsPoint;
    /**
     * Checks if the given point is within the threshold region of a data point.
     *
     * @param {number} x - The x-coordinate of the point to check.
     * @param {number} y - The y-coordinate of the point to check.
     * @param {Points} point - The data point.
     * @param {Rect} rect - The rectangle representing the threshold region.
     * @param {Series} series - The series to which the data point belongs.
     * @returns {boolean} - True if the point is within the threshold region, otherwise false.
     */
    private isPointInThresholdRegion;
    /**
     * Gets the index of the closest data point to the given value in the series.
     *
     * @param {Series} series - The series.
     * @param {number} value - The value to which the closest data point is sought.
     * @param {number[]} [xvalues] - The x-values of the data points.
     * @returns {number} - The index of the closest data point.
     * @private
     */
    getClosest(series: Series, value: number, xvalues?: number[]): number;
    private binarySearch;
    getClosestX(chart: Chart, series: Series, xvalues?: number[]): PointData;
    /**
     * Merges the x-values of the data points from multiple series into a single array.
     *
     * @param {Series[]} visibleSeries - The array of visible series.
     * @returns {number[]} - The merged array of x-values.
     * @private
     */
    mergeXvalues(visibleSeries: Series[]): number[];
    commonXValue(visibleSeries: Series[]): number[];
    private getDistinctValues;
    /**
     * Calculates and sets the X and Y values for mouse interactions based on the data point and chart configuration.
     *
     * @param {PointData} data - The data point information containing the x and y values.
     * @param {Chart} chart - The chart instance for which the mouse values are being calculated.
     * @param {Tooltip | Crosshair} interactionElement - The interaction element instance to set the calculated mouse values.
     * @returns {void}
     * @private
     */
    findMouseValues(data: PointData, chart: Chart, interactionElement: Tooltip | Crosshair): void;
}
//node_modules/@syncfusion/ej2-charts/src/chart/utils/enum.d.ts
/**
 * 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 segment axis. They are:
 * * X - Segment calculation rendered based on the horizontal axis.
 * * Y - Segment calculation rendered based on the 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 - In numeric axis, it will consider a number and DateTime axis, it will consider as milliseconds.
 * * Pixel - The stripline gets their size in pixel.
 * * Year - The stripline size is based on year in the DateTime axis.
 * * Month - The stripline size is based on month in the DateTime axis.
 * * Day - The stripline size is based on day in the DateTime axis.
 * * Hour - The stripline size is based on hour in the DateTime axis.
 * * Minutes - The stripline size is based on minutes in the DateTime axis.
 * * Seconds - The stripline size is based on seconds in the DateTime axis.
 */
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 stripline size is based on year in the DateTime axis. */
'Years' | 
/**  Months - The stripline size is based on month in the DateTime axis. */
'Months' | 
/**  Days - The stripline size is based on day in the DateTime axis. */
'Days' | 
/**  Hours - The striplinee size is based on hour in the DateTime axis. */
'Hours' | 
/**  Minutes - The stripline size is based on minutes in the DateTime axis. */
'Minutes' | 
/**  Seconds - The stripline size is based on seconds in the DateTime axis. */
'Seconds';
/**
 * Defines the type of 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.
 * * RangeStepArea - Renders the rangeStepArea series.
 * * Candle - Renders the candle series.
 * * SplineRangeArea - Renders the splineRangeArea series.
 * * BoxAndWhisker - Renders the Box and whisker series.
 * * MultiColoredLine - Renders the multi color line series.
 * * MultiColoredArea - Renders the multi color area series.
 * * Pareto- Renders the pareto series.
 */
export  type ChartSeriesType = 
/**  Define the line series. */
'Line' | 
/**  Define the Column series. */
'Column' | 
/**  Define the Area series. */
'Area' | 
/**  Define the Bar series. */
'Bar' | 
/**  Define the Histogram series. */
'Histogram' | 
/**  Define the StackingColumn series. */
'StackingColumn' | 
/**  Define the StackingArea series. */
'StackingArea' | 
/**  Define the StackingStepArea series. */
'StackingStepArea' | 
/**  Define the StackingLine series. */
'StackingLine' | 
/**  Define the StackingBar series. */
'StackingBar' | 
/**  Define the Stepline series. */
'StepLine' | 
/**  Define the Steparea series. */
'StepArea' | 
/**  Define the Steparea series. */
'SplineArea' | 
/**  Define the Scatter series. */
'Scatter' | 
/**  Define the Spline series. */
'Spline' | 
/** Define the StackingColumn100 series */
'StackingColumn100' | 
/** Define the StackingBar100 series */
'StackingBar100' | 
/** Define the StackingLine100 series */
'StackingLine100' | 
/** Define the StackingArea100 series */
'StackingArea100' | 
/** Define the RangeColumn Series */
'RangeColumn' | 
/** Define the RangeStepArea Series */
'RangeStepArea' | 
/** Define the Hilo Series */
'Hilo' | 
/** Define the HiloOpenClose Series */
'HiloOpenClose' | 
/** Define the Waterfall Series */
'Waterfall' | 
/** Define the RangeArea Series */
'RangeArea' | 
/** Define the SplineRangeArea Series */
'SplineRangeArea' | 
/** Define the Bubble Series */
'Bubble' | 
/** Define the Candle Series */
'Candle' | 
/** Define the polar series */
'Polar' | 
/** Define the radar series */
'Radar' | 
/** Define the Box and whisker Series */
'BoxAndWhisker' | 
/** Define the multi color line series */
'MultiColoredLine' | 
/** Define the multi color area series */
'MultiColoredArea' | 
/** Define the Pareto series */
'Pareto';
/**
 * Type of series to be drawn in radar or polar series. They are:
 * * Line - Renders the line series.
 * * Column - Renders the column series.
 * * Area - Renders the area series.
 * * Scatter - Renders the scatter series.
 * * Spline - Renders the spline series.
 * * StackingColumn - Renders the stacking column series.
 * * StackingArea - Renders the stacking area series.
 * * RangeColumn - Renders the range column series.
 * * SplineArea - Renders the spline area series.
 */
export  type ChartDrawType = 
/**  Define the line series. */
'Line' | 
/**  Define the Column series. */
'Column' | 
/**  Define the stacking Column series. */
'StackingColumn' | 
/**  Define the Area series. */
'Area' | 
/**  Define the Scatter series. */
'Scatter' | 
/** Define the Range column series */
'RangeColumn' | 
/** Define the Spline series */
'Spline' | 
/** Define the Spline Area series */
'SplineArea' | 
/** Define the spline series */
'StackingArea' | 
/** Define the Stacking line series */
'StackingLine';
/**
 * Defines the 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.
 * * Plus - Renders a Plus.
 * * HorizontalLine - Renders a horizontalLine.
 * * VerticalLine - Renders a verticalLine.
 * * Pentagon- Renders a pentagon.
 * * InvertedTriangle - Renders a invertedTriangle.
 * * Image - Renders a image.
 */
export  type ChartShape = 
/** Specifies the shape of the marker as a circle symbol. */
'Circle' | 
/** Specifies the shape of the marker as a Rectangle symbol. */
'Rectangle' | 
/** Specifies the shape of the marker as a Triangle symbol. */
'Triangle' | 
/** Specifies the shape of the marker as a Diamond symbol. */
'Diamond' | 
/** Specifies the shape of the marker as a cross symbol. */
'Cross' | 
/** Specifies the shape of the marker as a plus symbol. */
'Plus' | 
/** Specifies the shape of the marker as a HorizontalLine symbol. */
'HorizontalLine' | 
/** Specifies the shape of the marker as a VerticalLine symbol. */
'VerticalLine' | 
/** Specifies the shape of the marker as a Pentagon symbol. */
'Pentagon' | 
/** Specifies the shape of the marker as a InvertedTriangle symbol. */
'InvertedTriangle' | 
/** Specifies the shape of the marker as a Image symbol. */
'Image' | 
/** Specifies the shape of the marker as a Star symbol. */
'Star' | 
/** Specifies the shape of the marker as a none */
'None';
/**
 * Defines 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.
 */
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 the error bar in both directions.
 * * Minus - Renders the error bar in the negative direction.
 * * Plus - Renders the error bar in the positive direction.
 */
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 error bars on both sides.
 */
export  type ErrorBarMode = 
/** Define the Vertical mode. */
'Vertical' | 
/** Define the Horizontal mode. */
'Horizontal' | 
/** Define the Both mode . */
'Both';
/**
 * Defines the mode of line in crosshair. They are:
 * * None - Hides both the vertical and horizontal crosshair lines.
 * * Both - Shows both the vertical and horizontal crosshair lines.
 * * 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';
/**
 * Defines the type of MACD indicator. The options are:
 * * Line - Displays only the MACD line and signal line.
 * * Histogram - Displays only the MACD histogram.
 * * Both - Displays the MACD line, signal line, and histogram.
 */
export  type MacdType = 
/** Displays only the MACD line and signal line. */
'Line' | 
/** Displays only the MACD histogram. */
'Histogram' | 
/** Displays the MACD line, signal line, and histogram. */
'Both';
/**
 * Defines the zooming mode. They are:
 * * X,Y - Chart will be zoomed with respect to both the vertical and horizontal axis.
 * * X - Chart will be zoomed with respect to the horizontal axis.
 * * Y - Chart will be zoomed with respect to the 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 zooming toolkit. 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 Alignment. They are:
 * * None - Shows all the labels.
 * * Hide - Hide the label when it intersect.
 * * Rotate90 - Rotate the label to 90 degree when it intersect.
 */
export  type DataLabelIntersectAction = 
/** Shows all the labels. */
'None' | 
/** Hide the label when it intersect. It is also applicable for polar radar chart */
'Hide' | 
/** Rotate the label to 90 degree when it intersect. */
'Rotate90';
/**
 * Defines the position of the axis tick and labels. 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';
/**
 *  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. 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.
 */
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 tooltip fade out mode of the chart. They are:
 * * Click - Used to remove the tooltip on click.
 * * Move - Used to remove the tooltip with some delay.
 */
export  type FadeOutMode = 
/** Used to remove the tooltip on click  */
'Click' | 
/** Used to remove the tooltip with some delay  */
'Move';
/**
 * Defines the tooltip position. They are:
 * * Fixed - Place the tooltip in the fixed position.
 * * Nearest- Tooltip moves along with the mouse.
 */
export  type TooltipPosition = 
/** Place the tooltip in the fixed position. */
'Fixed' | 
/** Tooltip moves along with the mouse. */
'Nearest';
/**
 * 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. They are:
 * * 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. They are:
 * * Natural - Used to render a natural spline.
 * * Cardinal - Used to render a cardinal spline.
 * * Clamped - Used to render a clamped spline.
 * * Monotonic - Used to render a 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 box plot mode 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 border type for multi level labels. They are:
 * * Rectangle - A rectangular border around the labels.
 * * Brace - A brace-style border around the labels.
 * * WithoutBorder - No border around the labels.
 * * WithoutTopBorder - No top border around the labels.
 * * WithoutTopandBottomBorder - No top and bottom borders around the labels.
 * * CurlyBrace - A curly brace-style border around the labels.
 */
export  type BorderType = 
/** Rectangle */
'Rectangle' | 
/** Brace */
'Brace' | 
/** WithoutBorder */
'WithoutBorder' | 
/** WithoutTopBorder */
'WithoutTopBorder' | 
/** WithoutTopandBottomBorder */
'WithoutTopandBottomBorder' | 
/** CurlyBrace */
'CurlyBrace';
/**
 * Defines the mode of the legend in the chart. They are:
 * * Series - Render legend items based on visible series.
 * * Point - Render legend items based on points.
 * * Range - Render legend items based on range color mapping conditions.
 * * Gradient - Render legend items based on gradient color mapping conditions.
 */
export  type LegendMode = 
/** Render legend items based on visible series */
'Series' | 
/** Render legend items based on points  */
'Point' | 
/** Render legend item based on range color mapping conditions */
'Range' | 
/** Render legend items based on range color mapping conditions */
'Gradient';
/**
 * Defines the position for the steps in the step line, step area, and step range area chart types. They are:
 * * Left: Steps start from the left side of the 2nd point.
 * * Center: Steps start between the data points.
 * * Right: Steps start from the right side of the 1st point.
 */
export  type StepPosition = 
/** Steps start from the left side of the 2nd point.*/
'Left' | 
/** Steps start from the right side of the 1st point.*/
'Right' | 
/** Steps start between the data points.*/
'Center';
//node_modules/@syncfusion/ej2-charts/src/chart/utils/double-range.d.ts
/**
 * The `DoubleRange` class represents a numeric range with minimum and maximum values.
 *
 * @private
 */
export  class DoubleRange1 {
    private mStart;
    private mEnd;
    /**
     * Gets the start value.
     *
     * @returns {number} - The start value.
     * @private
     */
    readonly start: number;
    /**
     * Gets the end value.
     *
     * @returns {number} - The end value.
     * @private
     */
    readonly end: number;
    /**
     * Gets the delta value.
     *
     * @returns {number} - The delta value.
     * @private
     */
    readonly delta: number;
    /**
     * Gets the median value.
     *
     * @returns {number} - The median value.
     * @private
     */
    readonly median: number;
    constructor(start: number, end: number);
}
//node_modules/@syncfusion/ej2-charts/src/chart/user-interaction/zooming.d.ts
/**
 * The `Zooming` module handles zooming functionality for charts.
 */
export  class Zoom {
    private chart;
    private zooming;
    private elementId;
    /** @private */
    zoomingRect: svgBase.Rect;
    /** @private */
    toolkit: Toolkit;
    /** @private */
    toolkitElements: Element;
    /** @private */
    isPanning: boolean;
    /** @private */
    isZoomed: boolean;
    /** @private */
    isPointer: boolean;
    /** @private */
    pinchTarget: Element;
    /** @private */
    isDevice: boolean;
    /** @private */
    browserName: string;
    /** @private */
    touchStartList: ITouches[] | TouchList;
    /** @private */
    touchMoveList: ITouches[] | TouchList;
    /** @private */
    offset: svgBase.Rect;
    /** @private */
    zoomAxes: IZoomAxisRange[];
    /** @private */
    isIOS: boolean;
    /** @private */
    performedUI: boolean;
    private zoomkitOpacity;
    private wheelEvent;
    private cancelEvent;
    private zoomCompleteEvtCollection;
    /** @private */
    startPanning: boolean;
    /**
     * Constructor for Zooming module.
     *
     * @private
     */
    constructor(chart: Chart);
    /**
     * Renders the zooming functionality for the chart.
     *
     * @param {PointerEvent | TouchEvent} e - The pointer or touch event.
     * @param {Chart} chart - The chart instance.
     * @param {boolean} isTouch - Indicates whether the event is a touch event.
     * @returns {void}
     * @private
     */
    renderZooming(e: PointerEvent | TouchEvent, chart: Chart, isTouch: boolean): void;
    private drawZoomingRectangle;
    doPan(chart: Chart, axes: AxisModel[], xDifference?: number, yDifference?: number): void;
    private performDefferedZoom;
    /**
     * Redraw the chart on zooming.
     *
     * @param {Chart} chart - The chart instance.
     * @returns {void}
     * @private
     */
    performZoomRedraw(chart: Chart): void;
    private refreshAxis;
    private doZoom;
    /**
     * Redraws the chart on zooming.
     *
     * @param {Chart} chart - The chart instance.
     * @param {boolean} [isRedraw=true] - Indicates whether to redraw the chart.
     * @param {boolean} [isMouseUp=false] - Indicates whether the mouse button is released.
     * @returns {void}
     */
    private redrawOnZooming;
    /**
     * Performs mouse wheel zooming on the chart.
     *
     * @param {WheelEvent} e - The wheel event.
     * @param {number} mouseX - The X-coordinate of the mouse pointer.
     * @param {number} mouseY - The Y-coordinate of the mouse pointer.
     * @param {Chart} chart - The chart instance.
     * @param {AxisModel[]} axes - The axes in the chart.
     * @returns {void}
     * @private
     */
    performMouseWheelZooming(e: WheelEvent, mouseX: number, mouseY: number, chart: Chart, axes: AxisModel[]): void;
    /**
     * Performs pinch zooming on the chart.
     *
     * @param {TouchEvent} e - The touch event.
     * @param {Chart} chart - The chart instance.
     * @returns {boolean} - Indicates whether pinch zooming is performed.
     * @private
     */
    performPinchZooming(e: TouchEvent, chart: Chart): boolean;
    private calculatePinchZoomFactor;
    private setTransform;
    private calculateZoomAxesRange;
    private showZoomingToolkit;
    /**
     * Applies the zoom toolkit on the chart.
     *
     * @param {Chart} chart - The chart instance.
     * @param {AxisModel[]} axes - The axis models.
     * @returns {void}
     * @private
     */
    applyZoomToolkit(chart: Chart, axes: AxisModel[]): void;
    /**
     * Cancels the zoom action.
     *
     * @param {AxisModel[]} axes - The axis models.
     * @param {IZoomCompleteEventArgs[]} zoomCompleteEventCollection - The collection of zoom complete events.
     * @returns {void}
     * @private
     */
    zoomCancel(axes: AxisModel[], zoomCompleteEventCollection: IZoomCompleteEventArgs[]): void;
    /**
     * Checks if any of the axes is zoomed.
     *
     * @param {AxisModel[]} axes - The axis models.
     * @returns {boolean} - True if any axis is zoomed;
 otherwise, false.
     * @private
     */
    isAxisZoomed(axes: AxisModel[]): boolean;
    private zoomToolkitMove;
    private zoomToolkitLeave;
    /**
     * Adds event listeners for the chart.
     *
     * @returns {void}
     * @private
     */
    private addEventListener;
    /**
     * Remove event listeners for the chart.
     *
     * @returns {void}
     * @private
     */
    removeEventListener(): void;
    /**
     * Handles the mouse wheel event on the chart.
     *
     * @param {WheelEvent} e - The wheel event.
     * @returns {boolean} - Returns false.
     * @private
     */
    chartMouseWheel(e: WheelEvent): boolean;
    /**
     * Handles the mouse move event on the chart.
     *
     * @param {PointerEvent | TouchEvent} e - The mouse move event or touch event.
     * @returns {void}
     * @private
     */
    private mouseMoveHandler;
    /**
     * Handles the mouse down event on the chart.
     *
     * @param {PointerEvent} e - The mouse down event.
     * @returns {void}
     * @private
     */
    private mouseDownHandler;
    /**
     * Handles the mouse up event on the chart.
     *
     * @param {PointerEvent} e - The mouse up event.
     * @returns {void}
     * @private
     */
    private mouseUpHandler;
    /**
     * Handles the mouse cancel event on the chart.
     *
     * @returns {void}
     * @private
     */
    private mouseCancelHandler;
    /**
     * Adds touch pointer to the touch list.
     *
     * @param {ITouches[]} touchList - The touch list.
     * @param {PointerEvent} e - The pointer event.
     * @param {TouchList} touches - The touch list.
     * @returns {ITouches[]} - The updated touch list.
     * @private
     */
    addTouchPointer(touchList: ITouches[], e: PointerEvent, touches: TouchList): ITouches[];
    /**
     * Get module name.
     *
     * @returns {string} - Returns the module name.
     */
    protected getModuleName(): string;
    /**
     * To destroy the zooming.
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-charts/src/chart/user-interaction/zooming-toolkit.d.ts
/**
 * The `Toolkit` class provides functionalities for zooming and panning in charts.
 *
 * @private
 */
export  class Toolkit {
    private chart;
    private selectionColor;
    private fillColor;
    private elementOpacity;
    private elementId;
    private zoomInElements;
    private zoomOutElements;
    private zoomElements;
    private panElements;
    private iconRect;
    private enableZoomButton;
    private hoveredID;
    private selectedID;
    private iconRectOverFill;
    private iconRectSelectionFill;
    /** @private */
    zoomCompleteEvtCollection: IZoomCompleteEventArgs[];
    /** @private */
    isZoomed: boolean;
    /** @private */
    dragHorizontalRatio: number;
    /** @private */
    dragVerticalRatio: number;
    /** @private */
    isDragging: boolean;
    /**
     * Constructor for the chart touch module.
     *
     * @param {Chart} chart - Specifies the chart instance.
     */
    constructor(chart: Chart);
    /**
     * Creates a pan button.
     *
     * @param {Element} childElement - Specifies the child element.
     * @param {Element} parentElement - Specifies the parent element.
     * @returns {void}
     */
    createPanButton(childElement: Element, parentElement: Element): void;
    /**
     * Creates a zoom button.
     *
     * @param {Element} childElement - The child element to create.
     * @param {Element} parentElement - The parent element to append the child element.
     * @returns {void}
     */
    createZoomButton(childElement: Element, parentElement: Element): void;
    /**
     * Creates a zoom in button.
     *
     * @param {Element} childElement - The child element to create.
     * @param {Element} parentElement - The parent element to append the child element.
     * @param {Chart} chart - The chart instance.
     * @returns {void}
     */
    createZoomInButton(childElement: Element, parentElement: Element, chart: Chart): void;
    /**
     * Creates a zoom out button.
     *
     * @param {Element} childElement - The child element to create.
     * @param {Element} parentElement - The parent element to append the child element.
     * @param {Chart} chart - The chart instance.
     * @returns {void}
     */
    createZoomOutButton(childElement: Element, parentElement: Element, chart: Chart): void;
    /**
     * Creates a reset button.
     *
     * @param {Element} childElement - The child element to create.
     * @param {Element} parentElement - The parent element to append the child element.
     * @param {Chart} chart - The chart instance.
     * @param {boolean} isDevice - Specifies whether the device is mobile or not.
     * @returns {void}
     */
    createResetButton(childElement: Element, parentElement: Element, chart: Chart, isDevice: boolean): void;
    /**
     * Wires events to the specified element.
     *
     * @param {Element} element - The element to wire the events to.
     * @param {Function} process - The function to be executed when the event occurs.
     * @returns {void}
     */
    wireEvents(element: Element, process: Function): void;
    /**
     * Handles the mouse move event on the chart.
     *
     * @param {PointerEvent | TouchEvent} e - The mouse move event or touch event.
     * @returns {void}
     * @private
     */
    private mouseMoveHandler;
    /**
     * Handles the mouse down event on the toolkit.
     *
     * @param {PointerEvent} e - The mouse down event.
     * @returns {void}
     * @private
     */
    private mouseDownHandler;
    /**
     * Handles the mouse up event on the window.
     *
     * @param {PointerEvent} e - The mouse up event.
     * @returns {void}
     * @private
     */
    private mouseUpHandler;
    /**
     * Handles the drag-and-drop functionality for the toolkit.
     *
     * @param {PointerEvent | TouchEvent} e - The event triggered by the pointer or touch action.
     * @returns {void}
     * @private
     */
    private performDragAndDrop;
    /**
     * Displays the tooltip on mouse event.
     *
     * @param {MouseEvent} event - The mouse event.
     * @returns {void}
     */
    private showTooltip;
    /**
     * Removes the tooltip.
     *
     * @returns {void}
     */
    removeTooltip(): void;
    /**
     * Resets the chart.
     *
     * @param {PointerEvent | TouchEvent | KeyboardEvent} event - The event object.
     * @returns {boolean} - Returns false.
     */
    reset(event: PointerEvent | TouchEvent | KeyboardEvent): boolean;
    private setDefferedZoom;
    private zoomIn;
    private zoomOut;
    private zoom;
    /**
     * Enables panning for the chart.
     *
     * @returns {boolean} - Returns false.
     */
    pan(): boolean;
    zoomInOutCalculation(scale: number, chart: Chart, axes: AxisModel[], mode: ZoomMode): void;
    private applySelection;
}
//node_modules/@syncfusion/ej2-charts/src/chart/user-interaction/tooltip.d.ts
/**
 * The `Tooltip` module is used to render tooltips for chart series.
 */
export  class Tooltip extends BaseTooltip {
    /**
     * Constructor for the Touch module.
     *
     * @param {Chart} chart - The chart instance.
     */
    constructor(chart: Chart);
    /**
     * Adds event listeners for the chart.
     *
     * @returns {void}
     */
    private addEventListener;
    private mouseUpHandler;
    private mouseLeaveHandler;
    mouseMoveHandler(): void;
    /**
     * Handles the long press on chart.
     *
     * @returns {boolean} false
     * @private
     */
    private longPress;
    /**
     * Renders the tooltip.
     *
     * @returns {void}
     * @private
     */
    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 renderGroupedTooltip;
    private triggerSharedTooltip;
    private findSharedLocation;
    private getBoxLocation;
    private parseTemplate;
    private formatPointValue;
    private getFormat;
    private getIndicatorTooltipFormat;
    removeHighlightedMarker(data: PointData[], fadeOut: boolean): void;
    /**
     * Get module name.
     *
     * @returns {string} - Returns the module name.
     */
    protected getModuleName(): string;
    /**
     * To destroy the tooltip.
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-charts/src/chart/user-interaction/selection.d.ts
/**
 * The `Selection` module handles the selection of chart elements.
 *
 * @private
 */
export  class Selection extends BaseSelection {
    /** @private */
    renderer: svgBase.SvgRenderer | svgBase.CanvasRenderer;
    /** @private */
    isSeriesMode: boolean;
    private isdrawRect;
    private resizing;
    /** @private */
    rectPoints: svgBase.Rect;
    private closeIconId;
    private closeIcon;
    private draggedRectGroup;
    private multiRectGroup;
    private draggedRect;
    private lassoPath;
    /** @private */
    selectedDataIndexes: Indexes[];
    /** @private */
    highlightDataIndexes: Indexes[];
    multiDataIndexes: Points[][];
    pathIndex: number;
    seriesIndex: number;
    /** @private */
    series: Series[];
    private dragging;
    private count;
    private isMultiDrag;
    private targetIndex;
    private dragRect;
    private dragRectArray;
    filterArray: svgBase.Rect[];
    private totalSelectedPoints;
    private rectGrabbing;
    private path;
    private resizeMode;
    /** @private */
    chart: Chart;
    /** @private */
    currentMode: SelectionMode | HighlightMode;
    /** @private */
    previousSelectedEle: Element[];
    /**
     * Constructor for selection module.
     *
     * @private
     */
    constructor(chart: Chart);
    /**
     * Adds event listeners for the chart.
     *
     * @returns {void}
     */
    private addEventListener;
    /**
     * Handles the mousedown event.
     *
     * @private
     * @param {Event} e - The event object.
     * @returns {void}
     */
    private mousedown;
    /**
     * UnBinding events for selection module.
     *
     * @returns {void}
     */
    private removeEventListener;
    /**
     * Initializes private variables for the chart.
     *
     * @private
     * @param {Chart} chart - The chart instance.
     * @returns {void}
     */
    private initPrivateVariables;
    /**
     * Method to select the point and series.
     *
     * @param {Chart} chart - The chart instance.
     * @returns {void}
     */
    invokeSelection(chart: Chart): void;
    generateStyle(series: SeriesModel): string;
    /**
     * Selects data points in the chart based on the provided indexes.
     *
     * @param {Chart} chart - The chart instance.
     * @param {Index[]} indexes - An array of Index objects specifying the series and point indexes to be selected.
     * @returns {void}
     */
    selectDataIndex(chart: Chart, indexes: Index[]): void;
    /**
     * Retrieves the DOM elements corresponding to the specified data point index.
     *
     * @param {Chart} chart - The chart instance.
     * @param {Index} index - The index object specifying the series and point indexes.
     * @param {string} [suffix=''] - Optional suffix to be appended to the element IDs.
     * @param {boolean} [marker] - Optional parameter to specify whether to retrieve marker elements. Default is false.
     * @param {boolean} [dataLabel] - Optional parameter to specify whether to retrieve datalabel elements. Default is false.
     * @returns {Element[]} - An array of DOM elements corresponding to the specified data point index.
     */
    getElementByIndex(chart: Chart, index: Index, suffix?: string, marker?: boolean, dataLabel?: boolean): Element[];
    /**
     * Retrieves the DOM elements corresponding to the cluster of data points at the specified index.
     *
     * @param {Chart} chart - The chart instance.
     * @param {Index} index - The index object specifying the series and point indexes.
     * @returns {Element[]} - An array of DOM elements corresponding to the cluster of data points at the specified index.
     */
    getClusterElements(chart: Chart, index: Index): Element[];
    /**
     * Finds the elements within the selected elements that match the specified class name.
     *
     * @param {Element[] | NodeListOf<HTMLElement>} selectedElements - The elements to search within.
     * @param {string} className - The class name to search for.
     * @returns {void}
     */
    findTrackballElements(selectedElements: Element[] | NodeListOf<HTMLElement>, className: string): void;
    /**
     * Finds the elements in the chart corresponding to the specified series and data point index.
     *
     * @param {Chart} chart - The chart instance.
     * @param {SeriesModel} series - The series for which to find the elements.
     * @param {Index} index - The index of the data point.
     * @param {string} [suffix=''] - A suffix to append to the element IDs.
     * @param {boolean} [marker] - Specifies whether to include marker elements.
     * @param {boolean} [dataLabel] - Specifies whether to include datalabel elements.
     * @returns {Element[]} - An array of elements corresponding to the specified series and data point index.
     */
    findElements(chart: Chart, series: SeriesModel, index: Index, suffix?: string, marker?: boolean, dataLabel?: boolean): Element[];
    /**
     * Checks if the target element is already selected for the specified event type.
     *
     * @param {Element} targetElem - The target element to check.
     * @param {string} eventType - The type of event (e.g., 'mouse move', 'touch move').
     * @returns {boolean} - A boolean value indicating whether the target element is already selected for the specified event type.
     */
    isAlreadySelected(targetElem: Element, eventType: string): boolean;
    private mouseClick;
    /**
     * Calculates the selected elements based on the target element and event type.
     *
     * @param {HTMLElement} targetElement - The target element for which to calculate selected elements.
     * @param {string} eventType - The type of event (e.g., 'mouse move', 'touch move').
     * @param {boolean} pointClick - Selection of series points.
     * @returns {void}
     */
    calculateSelectedElements(targetElement: HTMLElement, eventType: string, pointClick?: boolean): void;
    /**
     * Performs selection based on the provided index and chart.
     *
     * @param {Index} index - The index for which to perform the selection.
     * @param {Chart} chart - The chart instance.
     * @param {Element} [element] - Optional. The element associated with the selection.
     * @param {boolean} pointClick - Selection of series points.
     * @returns {void}
     */
    performSelection(index: Index, chart: Chart, element?: Element, pointClick?: boolean): void;
    /**
     * Completes the selection process based on the provided index and selection mode.
     *
     * @param {Chart} chart - The chart instance.
     * @param {Index} index - The index for which the selection is completed.
     * @param {SelectionMode | HighlightMode} selectionMode - The selection mode.
     * @returns {void}
     */
    selectionComplete(chart: Chart, index: Index, selectionMode: SelectionMode | HighlightMode): void;
    /**
     * Handles the selection logic for the chart.
     *
     * @param {Chart} chart - The chart instance.
     * @param {Index} index - The index of the selected data point.
     * @param {Element[]} selectedElements - The elements representing the selected data point.
     * @returns {void}
     */
    selection(chart: Chart, index: Index, selectedElements: Element[]): void;
    /**
     * Handles the selection logic for clustered data points in the chart.
     *
     * @param {Chart} chart - The chart instance.
     * @param {Index} index - The index of the selected clustered data point.
     * @returns {void}
     */
    clusterSelection(chart: Chart, index: Index): void;
    /**
     * Removes the multi-selected elements from the chart.
     *
     * @param {Chart} chart - The chart instance.
     * @param {Index[]} index - The indices of the multi-selected elements to be removed.
     * @param {Index} currentIndex - The index of the current selected element.
     * @param {SeriesModel[]} seriesCollection - The collection of series in the chart.
     * @returns {void}
     */
    removeMultiSelectElements(chart: Chart, index: Index[], currentIndex: Index, seriesCollection: SeriesModel[]): void;
    /**
     * Applies a blur effect to a specific chart or legend.
     *
     * @param {string} chartId - The ID of the chart or legend.
     * @param {Series[]} visibleSeries - The collection of visible series in the chart.
     * @param {boolean} isLegend - Indicates whether the blur effect should be applied to a legend. Defaults to false.
     * @param {number} index - The index of the series or legend item to which the blur effect should be applied. Defaults to 0.
     * @returns {void}
     */
    blurEffect(chartId: string, visibleSeries: Series[], isLegend?: boolean, index?: number): void;
    /**
     * Checks and updates the selection state of elements based on the provided criteria.
     *
     * @param {Element} element - The element to check for selection.
     * @param {string} className - The class name used for selecting elements.
     * @param {boolean} visibility - The visibility state of the element.
     * @param {boolean} isLegend - Indicates whether the element is a legend. Defaults to true.
     * @param {number} series - The index of the series associated with the element. Defaults to 0.
     * @param {string} legendStrokeColor - The stroke color of the legend. Defaults to '#D3D3D3'.
     * @returns {void}
     */
    checkSelectionElements(element: Element, className: string, visibility: boolean, isLegend?: boolean, series?: number, legendStrokeColor?: string): void;
    /**
     * Applies styles to the specified elements.
     *
     * @param {Element[]} elements - The elements to which styles will be applied.
     * @returns {void}
     */
    applyStyles(elements: Element[]): void;
    /**
     * Gets the CSS class for selection based on the provided identifier.
     *
     * @param {string} id - The identifier used to determine the selection class.
     * @returns {string} - The CSS class for selection.
     */
    getSelectionClass(id: string): string;
    /**
     * Removes styles from the provided elements.
     *
     * @param {Element[]} elements - The elements from which styles will be removed.
     * @returns {void}
     */
    removeStyles(elements: Element[]): void;
    /**
     * Adds or removes an index from the provided array of indexes.
     *
     * @param {Index[]} indexes - The array of indexes.
     * @param {Index} index - The index to add or remove.
     * @param {boolean} [isAdd] - Optional parameter to specify whether to add or remove the index. Defaults to true (add).
     * @returns {void}
     */
    addOrRemoveIndex(indexes: Index[], index: Index, isAdd?: boolean): void;
    /**
     * Checks if two Index objects are equal.
     *
     * @param {Index} first - The first Index object.
     * @param {Index} second - The second Index object.
     * @param {boolean} checkSeriesOnly - Specifies whether to check series properties only.
     * @returns {boolean} - True if the two Index objects are equal, otherwise false.
     */
    toEquals(first: Index, second: Index, checkSeriesOnly: boolean): boolean;
    /**
     * Redraws the selection or highlight on the chart.
     *
     * @param {Chart} chart - The chart instance.
     * @param {SelectionMode | HighlightMode} oldMode - The previous selection or highlight mode.
     * @param {boolean} chartRedraw - Specifies whether to redraw the entire chart.
     * @returns {void}
     */
    redrawSelection(chart: Chart, oldMode: SelectionMode | HighlightMode, chartRedraw?: boolean): void;
    /**
     * Handles selection on legend item click.
     *
     * @param {Chart} chart - The chart instance.
     * @param {number} series - The index of the series.
     * @param {Element} targetElement - The target element clicked.
     * @param {string} eventType - The type of event triggered.
     * @returns {void}
     */
    legendSelection(chart: Chart, series: number, targetElement: Element, eventType: string): void;
    /**
     * Checks if range color mapping is enabled for the chart.
     *
     * @returns {boolean} - Returns true if range color mapping is enabled, otherwise false.
     */
    rangeColorMappingEnabled(): boolean;
    removeSelection(chart: Chart, series: number, selectedElements: NodeListOf<HTMLElement>, seriesStyle: string, isBlurEffectNeeded: boolean): void;
    /**
     * Retrieves the SVG elements associated with a particular series in the chart.
     *
     * @param {SeriesModel} series - The series for which to retrieve the SVG elements.
     * @returns {Element[]} - An array of SVG elements representing the series.
     */
    getSeriesElements(series: SeriesModel): Element[];
    /**
     * Finds the index associated with a particular element ID.
     *
     * @param {string} id - The ID of the element to find the index for.
     * @returns {Index} - The index associated with the element ID.
     */
    indexFinder(id: string): Index;
    /**
     * Calculates the elements selected by dragging a rectangle on the chart.
     *
     * @param {Chart} chart - The chart instance.
     * @param {svgBase.Rect} dragRect - The rectangle representing the selection area.
     * @param {boolean} isClose - Flag indicating whether the selection should be close.
     * @returns {void}
     */
    calculateDragSelectedElements(chart: Chart, dragRect: svgBase.Rect, isClose?: boolean): void;
    private removeOffset;
    private isPointSelect;
    /**
     * Draws the dragging rectangle on the chart.
     *
     * @param {Chart} chart - The chart instance.
     * @param {svgBase.Rect} dragRect - The rectangle representing the dragging area.
     * @returns {void}
     */
    drawDraggingRect(chart: Chart, dragRect: svgBase.Rect): void;
    /**
     * Retrieves the index of a particular item based on its identifier.
     *
     * @param {string} id - The identifier of the item.
     * @returns {number} - The index of the item, or -1 if not found.
     */
    private getIndex;
    private createCloseButton;
    /**
     * Method to remove dragged element.
     *
     * @returns {void}
     * @private
     */
    removeDraggedElements(chart: Chart, targetElement: HTMLElement, eventType: string): void;
    /**
     * Updates the selection rectangle during resizing.
     *
     * @param {Chart} chart - The chart instance.
     * @param {ChartLocation} location - The location of the resizing action.
     * @param {boolean} [tapped=false] - Indicates whether the resizing action was initiated by tapping.
     * @param {Element} [target] - The target element of the resizing action.
     * @returns {void}
     */
    resizingSelectionRect(chart: Chart, location: ChartLocation, tapped?: boolean, target?: Element): void;
    private findResizeMode;
    private changeCursorStyle;
    private removeSelectedElements;
    private setAttributes;
    /**
     * Updates the position of the dragged rectangle.
     *
     * @param {Chart} chart - The chart instance.
     * @param {svgBase.Rect} grabbedPoint - The rectangle representing the grabbed point.
     * @param {boolean} [doDrawing=false] - Indicates whether to redraw the dragging rectangle.
    //  * @param {Element} [target] - The target element related to the dragging action.
     * @returns {void}
     */
    draggedRectMoved(chart: Chart, grabbedPoint: svgBase.Rect, doDrawing?: boolean): void;
    private mouseLeave;
    /**
     * Completes the selection process.
     *
     * @param {HTMLElement} target - The target element where the selection is completed.
     * @param {string} eventType - The type of event that triggered the selection completion.
     * @returns {void}
     */
    completeSelection(target: HTMLElement, eventType: string): void;
    private getDragRect;
    /**
     * Initiates the drag operation.
     *
     * @param {Chart} chart - The chart instance where the drag operation is initiated.
     * @param {svgBase.Rect} seriesClipRect - The clipping rectangle of the series.
     * @param {number} mouseDownX - The X-coordinate where the mouse was pressed down.
     * @param {number} mouseDownY - The Y-coordinate where the mouse was pressed down.
     * @param {Event} event - The event object associated with the mouse down event.
     * @returns {void}
     */
    dragStart(chart: Chart, seriesClipRect: svgBase.Rect, mouseDownX: number, mouseDownY: number, event: Event): void;
    private isDragRect;
    /**
     * Handles the mouse move event.
     *
     * @param {PointerEvent | TouchEvent} event - The pointer event or touch event associated with the mouse move.
     * @returns {void}
     */
    mouseMove(event: PointerEvent | TouchEvent): void;
    /**
     * Highlights the specified chart element.
     *
     * @param {Element} target - The target element to highlight.
     * @param {string} eventType - The type of event triggering the highlighting.
     * @returns {void}
     */
    highlightChart(target: Element, eventType: string): void;
    /**
     * Handles the selection and dragging functionality for the chart.
     *
     * @param {Chart} chart - The chart instance.
     * @param {Element} target - The target element involved in the selection or dragging action.
     * @param {string} eventType - The type of event triggering the selection or dragging action.
     * @returns {void}
     */
    selectionAndDrag(chart: Chart, target: Element, eventType: string): void;
    /**
     * Remove highlighted legend when not focused.
     * @param {boolean} tooltipHighlight - Specifies whether the tooltip highlighting is enabled.
     * @private
     * @returns {void}
     */
    removeLegendHighlightStyles(tooltipHighlight?: boolean): void;
    private getPath;
    /**
     * Performs a highlight animation on the specified HTML element.
     *
     * @param {HTMLElement} element - The HTML element to animate.
     * @param {number} index - The index to find the opacity value of the series.
     * @param {number} duration - The duration of the animation in milliseconds.
     * @param {number} startOpacity - The starting opacity value for the animation.
     * @param {boolean} strokeWidth - The starting opacity value for the animation.
     * @returns {void}
     */
    private highlightAnimation;
    /**
     * Stops the animation and sets opacity of the specified HTML element.
     *
     * @param {HTMLElement} element - The HTML element to stop the animation.
     * @param {number} index - The index to find the opacity value of the series.
     * @returns {void}
     */
    private stopElementAnimation;
    private pointChecking;
    /**
     * Get module name.
     *
     * @private
     * @returns {string} - Returns the module name.
     */
    getModuleName(): string;
    /**
     * To destroy the selection.
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-charts/src/chart/user-interaction/high-light.d.ts
/**
 * The `Highlight` module manages the highlighting of chart elements.
 *
 * @private
 */
export  class Highlight extends Selection {
    /**
     * Constructor for selection module.
     *
     * @private
     */
    constructor(chart: Chart);
    /**
     * Binding events for selection module.
     *
     * @returns {void}
     */
    private wireEvents;
    /**
     * UnBinding events for selection module.
     *
     * @returns {void}
     */
    private unWireEvents;
    /**
     * Declares private variables used within the chart.
     *
     * @param {Chart} chart - The chart instance.
     * @returns {void}
     */
    private PrivateVariables;
    /**
     * Method to select the point and series.
     *
     * @param {Chart} chart - The chart instance.
     * @returns {void}
     */
    invokeHighlight(chart: Chart): void;
    /**
     * Get module name.
     *
     * @private
     * @returns {string} - Returns the module name.
     */
    getModuleName(): string;
    /**
     * To destroy the highlight.
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-charts/src/chart/user-interaction/data-editing.d.ts
/**
 * The `DataEditing` module handles data editing functionalities for chart series.
 */
export  class DataEditing {
    private chart;
    private seriesIndex;
    private pointIndex;
    /**
     * It is used to identify point is dragging for data editing in other modules.
     *
     * @private
     */
    isPointDragging: boolean;
    /**
     * Initializes the event manager for the chart.
     *
     * @param {Chart} chart - The chart instance.
     */
    constructor(chart: Chart);
    /**
     * Point drag start here.
     *
     * @returns {void}
     * @private
     */
    pointMouseDown(): void;
    /**
     * Handles the mouse move event on chart data points.
     *
     * @param {PointerEvent | TouchEvent} event - The pointer event or touch event.
     * @returns {void}
     * @private
     */
    pointMouseMove(event: PointerEvent | TouchEvent): void;
    /**
     * Gets the cursor style based on the point data.
     *
     * @param {PointData} pointData - The data associated with the chart point.
     * @returns {void}
     */
    private getCursorStyle;
    /**
     * Handles the dragging behavior of a specific point.
     *
     * @param {number} si - Series index.
     * @param {number} pi - Point index.
     * @returns {void}
     */
    private pointDragging;
    /**
     * Point drag ends here.
     *
     * @returns {void}
     * @private
     */
    pointMouseUp(): void;
    /**
     * Get module name.
     *
     * @returns {string} - Returns the module name.
     */
    protected getModuleName(): string;
    /**
     * To destroy the DataEditing.
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-charts/src/chart/user-interaction/crosshair.d.ts
/**
 * The `Crosshair` module is used to render the crosshair for the chart.
 */
export  class Crosshair {
    private elementID;
    private elementSize;
    private svgRenderer;
    private data;
    private crosshairInterval;
    private arrowLocation;
    private isTop;
    private isBottom;
    private isLeft;
    private isRight;
    /** @private */
    valueX: number;
    /** @private */
    valueY: number;
    private rx;
    private ry;
    private highlightWidth;
    private crosshairLeftOverflow;
    private crosshairRightOverflow;
    private chart;
    /**
     * Constructor for crosshair module.
     *
     * @private
     */
    constructor(chart: Chart);
    /**
     * Adds event listeners to the chart elements.
     *
     * @private
     * @returns {void}
     */
    private addEventListener;
    private mouseUpHandler;
    private mouseLeaveHandler;
    mouseMoveHandler(event: PointerEvent | TouchEvent): void;
    /**
     * Handles the long press on chart.
     *
     * @returns {boolean} false
     * @private
     */
    private longPress;
    /**
     * Finds the data points closest to the mouse position for all visible series in the chart.
     * Updates the `data` object with the nearest data point to be used for mouse interactions.
     *
     * @param {Chart} chart - The chart instance containing the visible series and mouse position.
     * @returns {boolean} -  True if chart has atleast one visible series.
     * @private
     */
    private findMousePoints;
    /**
     * Renders the crosshair.
     *
     * @returns {void}
     * @private
     */
    crosshair(): void;
    /**
     * Converts a specified color into a semi-transparent RGB string format.
     *
     * @param {string} color - The main color in hex format.
     * @returns {string} - The lightened color in RGBA format with an alpha value of 0.25.
     */
    crosshairLightenColor(color: string): string;
    /**
     * Adjusts the crosshair position to account for any overflow beyond the chart boundaries,
     * ensuring it stays within visible limits. It handles horizontal and vertical orientations separately.
     *
     * @param {number} initialPosition - The initial calculated position of the crosshair before adjustments.
     * @param {boolean} isHorizontalOrientation - Determines whether the crosshair is oriented horizontally.
     * @param {Chart} chart - The chart instance containing details on crosshair module and overflow values.
     * @returns {number} - The adjusted position of the crosshair after accounting for boundary overflow.
     * @private
     */
    private adjustCrosshairPositionForOverflow;
    private renderCrosshairLine;
    private drawCrosshairLine;
    private renderAxisTooltip;
    private getAxisText;
    private tooltipLocation;
    private stopAnimation;
    private progressAnimation;
    /**
     * Removes the crosshair on mouse leave.
     *
     * @returns {void}
     * @private
     */
    removeCrosshair(duration: number): void;
    /**
     * Get module name.
     *
     * @returns {string} module name
     */
    protected getModuleName(): string;
    /**
     * To destroy the crosshair.
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-charts/src/chart/trend-lines/trend-line.d.ts
/**
 * The `Trendlines` module is used to render six types of trendlines in the chart.
 */
export  class Trendlines {
    /**
     * Initializes the series collection for the specified trendline in the chart.
     *
     * @param {Trendline} trendline - The trendline for which the series collection is initialized.
     * @param {Chart} chart - The chart instance.
     * @returns {void}
     * @private
     */
    initSeriesCollection(trendline: Trendline, chart: Chart): void;
    /**
     * Sets the properties for the specified series related to the specified trendline.
     *
     * @param {Series} series - The series to which properties are applied.
     * @param {Trendline} trendline - The trendline associated with the series.
     * @param {string} name - The name of the series.
     * @param {string} fill - The fill color of the series.
     * @param {number} width - The width of the series.
     * @param {Chart} chart - The chart instance.
     * @returns {void}
     */
    private setSeriesProperties;
    /**
     * Creates elements for the specified trendline and adds them to the chart.
     *
     * @param {Chart} chart - The chart instance.
     * @param {Trendline} trendline - The trendline for which elements are created.
     * @param {number} index - The index of the trendline.
     * @param {Element} element - The parent element to which trendline elements are added.
     * @param {Element} clipRectElement - The clip rect element associated with the chart.
     * @returns {void}
     */
    private createTrendLineElements;
    /**
     * Retrieves the data point at the specified index from the series.
     *
     * @param {Object} x - The x-value of the data point.
     * @param {Object} y - The y-value of the data point.
     * @param {Series} series - The series from which to retrieve the data point.
     * @param {number} index - The index of the data point in the series.
     * @returns {Points} - The data point object.
     */
    private getDataPoint;
    /**
     * Finds the slope and intercept for the trendline.
     *
     * @param {number[]} xValues - The array of x-values.
     * @param {number[]} yValues - The array of y-values.
     * @param {Trendline} trendline - The trendline configuration.
     * @param {Points[]} points - The data points for the trendline.
     * @returns {SlopeIntercept} - The slope and intercept values.
     */
    private findSlopeIntercept;
    /**
     * Initializes the data source for the trendline.
     *
     * @param {Trendline} trendline - The trendline configuration.
     * @returns {void}
     * @private
     */
    initDataSource(trendline: Trendline): void;
    /**
     * Sets the range for an exponential trendline.
     *
     * @param {Points[]} points - The data points of the series.
     * @param {Trendline} trendline - The exponential trendline configuration.
     * @param {Series} series - The series to which the trendline belongs.
     * @returns {void}
     */
    private setExponentialRange;
    /**
     * Sets the range for a logarithmic trendline.
     *
     * @param {Points[]} points - The data points of the series.
     * @param {Trendline} trendline - The logarithmic trendline configuration.
     * @param {Series} series - The series to which the trendline belongs.
     * @returns {void}
     */
    private setLogarithmicRange;
    /**
     * Sets the range for a polynomial trendline.
     *
     * @param {Points[]} points - The data points of the series.
     * @param {Trendline} trendline - The polynomial trendline configuration.
     * @param {Series} series - The series to which the trendline belongs.
     * @returns {void}
     */
    private setPolynomialRange;
    /**
     * Sets the range for a power trendline.
     *
     * @param {Points[]} points - The data points of the series.
     * @param {Trendline} trendline - The power trendline configuration.
     * @param {Series} series - The series to which the trendline belongs.
     * @returns {void}
     */
    private setPowerRange;
    /**
     * Sets the range for a linear trendline.
     *
     * @param {Points[]} points - The data points of the series.
     * @param {Trendline} trendline - The linear trendline configuration.
     * @param {Series} series - The series to which the trendline belongs.
     * @returns {void}
     */
    private setLinearRange;
    /**
     * Sets the range for a moving average trendline.
     *
     * @param {Points[]} points - The data points of the series.
     * @param {Trendline} trendline - The moving average trendline configuration.
     * @param {Series} series - The series to which the trendline belongs.
     * @returns {void}
     */
    private setMovingAverageRange;
    /**
     * Calculates the points for a logarithmic trendline.
     *
     * @param {Trendline} trendline - The logarithmic trendline configuration.
     * @param {Points[]} points - The data points of the series.
     * @param {number[]} xValues - The x values of the data points.
     * @param {number[]} yValues - The y values of the data points.
     * @param {Series} series - The series to which the trendline belongs.
     * @param {SlopeIntercept} slopeInterceptLog - The slope and intercept of the logarithmic trendline.
     * @returns {Points[]} - The calculated points for the logarithmic trendline.
     */
    private getLogarithmicPoints;
    /**
     * Calculates the points for a power trendline.
     *
     * @param {Trendline} trendline - The power trendline configuration.
     * @param {Points[]} points - The data points of the series.
     * @param {number[]} xValues - The x values of the data points.
     * @param {number[]} yValues - The y values of the data points.
     * @param {Series} series - The series to which the trendline belongs.
     * @param {SlopeIntercept} slopeInterceptPower - The slope and intercept of the power trendline.
     * @returns {Points[]} - The calculated points for the power trendline.
     */
    private getPowerPoints;
    /**
     * Calculates the points for a polynomial trendline.
     *
     * @param {Trendline} trendline - The polynomial trendline configuration.
     * @param {Points[]} points - The data points of the series.
     * @param {number[]} xValues - The x values of the data points.
     * @param {number[]} yValues - The y values of the data points.
     * @param {Series} series - The series to which the trendline belongs.
     * @returns {Points[]} - The calculated points for the polynomial trendline.
     */
    private getPolynomialPoints;
    /**
     * Calculates the points for a moving average trendline.
     *
     * @param {Trendline} trendline - The moving average trendline configuration.
     * @param {Points[]} points - The data points of the series.
     * @param {number[]} xValues - The x values of the data points.
     * @param {number[]} yValues - The y values of the data points.
     * @param {Series} series - The series to which the trendline belongs.
     * @returns {Points[]} - The calculated points for the moving average trendline.
     */
    private getMovingAveragePoints;
    /**
     * Calculates the points for a linear trendline.
     *
     * @param {Trendline} trendline - The linear trendline configuration.
     * @param {Points[]} points - The data points of the series.
     * @param {number[]} xValues - The x values of the data points.
     * @param {number[]} yValues - The y values of the data points.
     * @param {Series} series - The series to which the trendline belongs.
     * @param {SlopeIntercept} slopeInterceptLinear - The slope and intercept of the linear trendline.
     * @returns {Points[]} - The calculated points for the linear trendline.
     */
    private getLinearPoints;
    /**
     * Calculates the points for an exponential trendline.
     *
     * @param {Trendline} trendline - The exponential trendline configuration.
     * @param {Points[]} points - The data points of the series.
     * @param {number[]} xValues - The x values of the data points.
     * @param {number[]} yValues - The y values of the data points.
     * @param {Series} series - The series to which the trendline belongs.
     * @param {SlopeIntercept} slopeInterceptExp - The slope and intercept of the exponential trendline.
     * @returns {Points[]} - The calculated points for the exponential trendline.
     */
    private getExponentialPoints;
    /**
     * Calculates the points for the specified type of trendline.
     *
     * @param {Trendline} trendline - The trendline configuration.
     * @param {Points[]} points - The data points of the series.
     * @param {number[]} xValues - The x values of the data points.
     * @param {Series} series - The series to which the trendline belongs.
     * @returns {Points[]} - The calculated points for the trendline.
     */
    private getPoints;
    /**
     * Calculates the y value for the specified x value using polynomial regression.
     *
     * @param {number[]} slopes - The coefficients of the polynomial equation.
     * @param {number} x - The x value for which to calculate the y value.
     * @returns {number} - The calculated y value.
     */
    private getPolynomialYValue;
    /**
     * Applies Gauss-Jordan elimination to solve a system of linear equations represented by a matrix.
     * Updates the coefficients of the polynomial equation.
     *
     * @param {number[][]} matrix - The matrix representing the system of linear equations.
     * @param {number[]} polynomialSlopes - The coefficients of the polynomial equation to be updated.
     * @returns {boolean} - A boolean indicating whether the elimination process was successful.
     */
    private gaussJordanElimination;
    /**
     * Retrieves the elements required for rendering trendlines for a series in the chart.
     *
     * @param {Series} series - The series for which trendlines are to be rendered.
     * @param {Chart} chart - The chart instance.
     * @returns {void}
     * @private
     */
    getTrendLineElements(series: Series, chart: Chart): void;
    /**
     * To destroy the trendline.
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
    /**
     * Get module name.
     *
     * @returns {string} - Returns the module name.
     */
    protected getModuleName(): string;
}
/** @private */
export interface SlopeIntercept {
    slope?: number;
    intercept?: number;
}
//node_modules/@syncfusion/ej2-charts/src/chart/technical-indicators/tma-indicator.d.ts
/**
 * The `TmaIndicator` module is used to render the Triangular Moving Average indicator.
 */
export  class TmaIndicator extends TechnicalAnalysis {
    /**
     * Defines the predictions based on TMA approach.
     *
     * @private
     * @param {TechnicalIndicator} indicator - The technical indicator for which the data source is to be initialized.
     * @returns {void}
     */
    initDataSource(indicator: TechnicalIndicator): void;
    /**
     * To destroy the TMA indicator.
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
    /**
     * Get module name.
     *
     * @returns {string} - Returns the module name.
     */
    protected getModuleName(): 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 types of technical indicators. They are:
     * * 'Sma' - Predicts the trend using the Simple Moving Average approach.
     * * 'Ema' - Predicts the trend using the Exponential Moving Average approach.
     * * 'Tma' - Predicts the trend using the Triangular Moving Average approach.
     * * 'Atr' - Predicts the trend using the Average True Range approach.
     * * 'AccumulationDistribution' - Predicts the trend using the Accumulation Distribution approach.
     * * 'Momentum' - Predicts the trend using the Momentum approach.
     * * 'Rsi' - Predicts the trend using the Relative Strength Index (RSI) approach.
     * * 'Macd' - Predicts the trend using the Moving Average Convergence Divergence (MACD) approach.
     * * 'Stochastic' - Predicts the trend using the Stochastic Oscillator approach.
     * * 'BollingerBands' - Predicts the trend using the Bollinger Bands approach.
     *
     * @default 'Sma'
     */
    type: TechnicalIndicators;
    /**
     * Defines the period over which price changes are considered for trend prediction.
     *
     * @default 14
     */
    period: number;
    /**
     * Defines the look-back period for price changes used to calculate the %K value in stochastic indicators.
     *
     * @default 14
     */
    kPeriod: number;
    /**
     * Defines the period over which price changes determine the %D value in stochastic indicators.
     *
     * @default 3
     */
    dPeriod: number;
    /**
     * Specifies the over-bought (threshold) values applicable for RSI and stochastic indicators.
     *
     * @default 80
     */
    overBought: number;
    /**
     * Defines the over-sold (threshold) values for RSI and stochastic indicators.
     *
     * @default 20
     */
    overSold: number;
    /**
     * Sets the standard deviation values used to define the upper and lower Bollinger Bands.
     *
     * @default 2
     */
    standardDeviation: number;
    /**
     * Defines the field used to compare the current value with previous values.
     *
     * @default 'Close'
     */
    field: FinancialDataFields;
    /**
     * Sets the slow period for defining the MACD line.
     *
     * @default 12
     */
    slowPeriod: number;
    /**
     * Sets the fast period to define the MACD line.
     *
     * @default 26
     */
    fastPeriod: number;
    /**
     * Specifies whether to enable or disable the over-bought and over-sold regions.
     *
     * @default true
     */
    showZones: boolean;
    /**
     * Defines the appearance of the MACD line in the MACD indicator.
     *
     * @default { color: '#ff9933', width: 2 }
     */
    macdLine: ConnectorModel;
    /**
     * Defines the type of the MACD (Moving Average Convergence Divergence) indicator.
     *
     * @default 'Both'
     */
    macdType: MacdType;
    /**
     * Specifies the color for positive bars in the MACD indicator.
     *
     * @default '#2ecd71'
     */
    macdPositiveColor: string;
    /**
     * Specifies the color for negative bars in the MACD indicator.
     *
     * @default '#e74c3d'
     */
    macdNegativeColor: string;
    /**
     * Configures the settings for customizing the Bollinger Bands 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 the lower line in technical indicators.
     */
    lowerLine: ConnectorModel;
    /**
     * Defines the appearance of the period line in technical indicators.
     */
    periodLine: ConnectorModel;
    /**
     * Options to improve accessibility for technical indicator elements.
     */
    accessibility: AccessibilityModel;
    /**
     * Specifies the name of the series to be used for displaying the indicator data.
     *
     * @default ''
     */
    seriesName: string;
    /** @private */
    targetSeries: Series[];
    /** @private */
    sourceSeries: Series;
    /** @private */
    indicatorElement: Element;
    /** @private */
    clipRectElement: Element;
    /** @private */
    clipRect: svgBase.Rect;
    /**
     * Sets the data source for the series in the chart.
     *
     * @private
     * @param {Series} series - The series for which the data source is being set.
     * @param {Chart} chart - The chart instance.
     * @returns {void}
     */
    setDataSource(series: Series, chart: Chart): void;
}
//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 types of technical indicators. They are:
     * * 'Sma' - Predicts the trend using the Simple Moving Average approach.
     * * 'Ema' - Predicts the trend using the Exponential Moving Average approach.
     * * 'Tma' - Predicts the trend using the Triangular Moving Average approach.
     * * 'Atr' - Predicts the trend using the Average True Range approach.
     * * 'AccumulationDistribution' - Predicts the trend using the Accumulation Distribution approach.
     * * 'Momentum' - Predicts the trend using the Momentum approach.
     * * 'Rsi' - Predicts the trend using the Relative Strength Index (RSI) approach.
     * * 'Macd' - Predicts the trend using the Moving Average Convergence Divergence (MACD) approach.
     * * 'Stochastic' - Predicts the trend using the Stochastic Oscillator approach.
     * * 'BollingerBands' - Predicts the trend using the Bollinger Bands approach.
     *
     * @default 'Sma'
     */
    type?: TechnicalIndicators;
    /**
     * Defines the period over which price changes are considered for trend prediction.
     *
     * @default 14
     */
    period?: number;
    /**
     * Defines the look-back period for price changes used to calculate the %K value in stochastic indicators.
     *
     * @default 14
     */
    kPeriod?: number;
    /**
     * Defines the period over which price changes determine the %D value in stochastic indicators.
     *
     * @default 3
     */
    dPeriod?: number;
    /**
     * Specifies the over-bought (threshold) values applicable for RSI and stochastic indicators.
     *
     * @default 80
     */
    overBought?: number;
    /**
     * Defines the over-sold (threshold) values for RSI and stochastic indicators.
     *
     * @default 20
     */
    overSold?: number;
    /**
     * Sets the standard deviation values used to define the upper and lower Bollinger Bands.
     *
     * @default 2
     */
    standardDeviation?: number;
    /**
     * Defines the field used to compare the current value with previous values.
     *
     * @default 'Close'
     */
    field?: FinancialDataFields;
    /**
     * Sets the slow period for defining the MACD line.
     *
     * @default 12
     */
    slowPeriod?: number;
    /**
     * Sets the fast period to define the MACD line.
     *
     * @default 26
     */
    fastPeriod?: number;
    /**
     * Specifies whether to enable or disable the over-bought and over-sold regions.
     *
     * @default true
     */
    showZones?: boolean;
    /**
     * Defines the appearance of the MACD line in the MACD indicator.
     *
     * @default { color: '#ff9933', width: 2 }
     */
    macdLine?: ConnectorModel;
    /**
     * Defines the type of the MACD (Moving Average Convergence Divergence) indicator.
     *
     * @default 'Both'
     */
    macdType?: MacdType;
    /**
     * Specifies the color for positive bars in the MACD indicator.
     *
     * @default '#2ecd71'
     */
    macdPositiveColor?: string;
    /**
     * Specifies the color for negative bars in the MACD indicator.
     *
     * @default '#e74c3d'
     */
    macdNegativeColor?: string;
    /**
     * Configures the settings for customizing the Bollinger Bands 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 the lower line in technical indicators.
     */
    lowerLine?: ConnectorModel;
    /**
     * Defines the appearance of the period line in technical indicators.
     */
    periodLine?: ConnectorModel;
    /**
     * Options to improve accessibility for technical indicator elements.
     */
    accessibility?: AccessibilityModel;
    /**
     * Specifies the name of the series to be used for displaying the indicator data.
     *
     * @default ''
     */
    seriesName?: string;
}
//node_modules/@syncfusion/ej2-charts/src/chart/technical-indicators/stochastic-indicator.d.ts
/**
 * The `StochasticIndicator` module is used to render the Stochastic indicator.
 */
export  class StochasticIndicator extends TechnicalAnalysis {
    /**
     * Defines the collection of series that represents the stochastic indicator.
     *
     * @private
     * @param {TechnicalIndicator} indicator - The technical indicator for which the series collection is initialized.
     * @param {Chart} chart - The chart associated with the technical indicator.
     * @returns {void}
     */
    initSeriesCollection(indicator: TechnicalIndicator, chart: Chart): void;
    /**
     * Defines the predictions based on stochastic approach.
     *
     * @private
     * @param {TechnicalIndicator} indicator - The technical indicator for which the data source is to be initialized.
     * @returns {void}
     */
    initDataSource(indicator: TechnicalIndicator): void;
    /**
     * Calculates the Simple Moving Average (SMA) for the given period.
     *
     * @private
     * @param {number} period - The period for the SMA calculation.
     * @param {number} kPeriod - The 'k' period used in the calculation.
     * @param {Points[]} data - The array of data points.
     * @param {Series} sourceSeries - The series associated with the data.
     * @returns {Points[]} - An array containing the calculated SMA points.
     */
    private smaCalculation;
    /**
     * Calculates the period for the indicator.
     *
     * @private
     * @param {number} period - The period for the calculation.
     * @param {number} kPeriod - The 'k' period used in the calculation.
     * @param {Points[]} data - The array of data points.
     * @param {Series} series - The series associated with the data.
     * @returns {Points[]} - An array containing the calculated points for the period.
     */
    private calculatePeriod;
    /**
     * To destroy the Stocastic Indicator.
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
    /**
     * Get module name.
     *
     * @returns {string} - Returns the module name.
     */
    protected getModuleName(): string;
}
//node_modules/@syncfusion/ej2-charts/src/chart/technical-indicators/sma-indicator.d.ts
/**
 * The `SmaIndicator` module is used to render the Simple Moving Average indicator.
 */
export  class SmaIndicator extends TechnicalAnalysis {
    /**
     * Defines the predictions based on SMA approach.
     *
     * @private
     * @param {TechnicalIndicator} indicator - The technical indicator for which the data source is to be initialized.
     * @returns {void}
     */
    initDataSource(indicator: TechnicalIndicator): void;
    /**
     * To destroy the SMA indicator.
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
    /**
     * Get module name.
     *
     * @returns {string} - Returns the module name.
     */
    protected getModuleName(): string;
}
//node_modules/@syncfusion/ej2-charts/src/chart/technical-indicators/rsi-indicator.d.ts
/**
 * The `RsiIndicator` module is used to render the Relative Strength Index indicator.
 */
export  class RsiIndicator extends TechnicalAnalysis {
    /**
     * Initializes the series collection to represent the RSI Indicator
     *
     * @private
     * @param {TechnicalIndicator} indicator - The technical indicator for which the series collection is initialized.
     * @param {Chart} chart - The chart associated with the technical indicator.
     * @returns {void}
     */
    initSeriesCollection(indicator: TechnicalIndicator, chart: Chart): void;
    /**
     * Defines the predictions using RSI approach
     *
     * @private
     * @param {TechnicalIndicator} indicator - The technical indicator for which the data source is to be initialized.
     * @returns {void}
     */
    initDataSource(indicator: TechnicalIndicator): void;
    /**
     * To destroy the RSI Indicator.
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
    /**
     * Get module name.
     *
     * @returns {string} - Returns the module name.
     */
    protected getModuleName(): string;
}
//node_modules/@syncfusion/ej2-charts/src/chart/technical-indicators/momentum-indicator.d.ts
/**
 * The `MomentumIndicator` module is used to render the Momentum indicator.
 */
export  class MomentumIndicator extends TechnicalAnalysis {
    /**
     * Defines the collection of series to represent a momentum indicator.
     *
     * @private
     * @param {TechnicalIndicator} indicator - The technical indicator for which the series collection is initialized.
     * @param {Chart} chart - The chart associated with the technical indicator.
     * @returns {void}
     */
    initSeriesCollection(indicator: TechnicalIndicator, chart: Chart): void;
    /**
     * Defines the predictions using momentum approach
     *
     * @private
     * @param {TechnicalIndicator} indicator - The technical indicator for which the data source is to be initialized.
     * @returns {void}
     */
    initDataSource(indicator: TechnicalIndicator): void;
    /**
     * To destroy the momentum indicator.
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
    /**
     * Get module name.
     *
     * @returns {string} - Returns the module name.
     */
    protected getModuleName(): string;
}
//node_modules/@syncfusion/ej2-charts/src/chart/technical-indicators/macd-indicator.d.ts
/**
 * The `MacdIndicator` module is used to render the Moving Average Convergence Divergence indicator.
 */
export  class MacdIndicator extends TechnicalAnalysis {
    /**
     * Defines the collection of series to represent the MACD indicator
     *
     * @private
     * @param {TechnicalIndicator} indicator - The technical indicator for which the series collection is initialized.
     * @param {Chart} chart - The chart associated with the technical indicator.
     * @returns {void}
     */
    initSeriesCollection(indicator: TechnicalIndicator, chart: Chart): void;
    /**
     * Defines the predictions using MACD approach.
     *
     * @private
     * @param {TechnicalIndicator} indicator - The technical indicator for which the data source is to be initialized.
     * @returns {void}
     */
    initDataSource(indicator: TechnicalIndicator): void;
    /**
     * Calculates Exponential Moving Average (EMA) values for the given period and valid data points.
     *
     * @private
     * @param {number} period - The period for which EMA values are to be calculated.
     * @param {Points[]} validData - The valid data points used for calculating EMA.
     * @param {string} field - The field of the data points to be used for EMA calculation.
     * @returns {number[]} - An array containing the calculated EMA values.
     */
    private calculateEMAValues;
    /**
     * Calculates Moving Average Convergence Divergence (MACD) points based on the provided MACD values,
     * valid data points, and series information.
     *
     * @private
     * @param {TechnicalIndicator} indicator - The MACD indicator.
     * @param {number[]} macdPoints - The array of MACD values.
     * @param {Points[]} validData - The valid data points used for calculating MACD.
     * @param {Series} series - The series information.
     * @returns {Points[]} - An array containing the calculated MACD points.
     */
    private getMACDPoints;
    /**
     * Calculates the signal line points for the Moving Average Convergence Divergence (MACD) indicator
     * based on the provided signal EMA values, valid data points, and series information.
     *
     * @private
     * @param {TechnicalIndicator} indicator - The MACD indicator.
     * @param {number[]} signalEma - The array of signal EMA values.
     * @param {Points[]} validData - The valid data points used for calculating MACD.
     * @param {Series} series - The series information.
     * @returns {Points[]} - An array containing the calculated signal line points.
     */
    private getSignalPoints;
    /**
     * Calculates the Moving Average Convergence Divergence (MACD) values based on the provided short EMA
     * and long EMA values for the MACD indicator.
     *
     * @private
     * @param {TechnicalIndicator} indicator - The MACD indicator.
     * @param {number[]} shortEma - The array of short EMA values.
     * @param {number[]} longEma - The array of long EMA values.
     * @returns {number[]} - An array containing the calculated MACD values.
     */
    private getMACDVales;
    /**
     * Calculates the histogram points for the MACD indicator based on the provided MACD values and signal EMA values.
     *
     * @private
     * @param {TechnicalIndicator} indicator - The MACD indicator.
     * @param {number[]} macdPoints - The array of MACD values.
     * @param {number[]} signalEma - The array of signal EMA values.
     * @param {Points[]} validData - The array of valid data points.
     * @param {Series} series - The series associated with the MACD indicator.
     * @returns {Points[]} - An array containing the calculated histogram points.
     */
    private getHistogramPoints;
    /**
     * To destroy the MACD Indicator.
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
    /**
     * Get module name.
     *
     * @returns {string} - Returns the module name.
     */
    protected getModuleName(): string;
}
//node_modules/@syncfusion/ej2-charts/src/chart/technical-indicators/indicator-base.d.ts
/**
 * The `TechnicalAnalysis` module helps predict market trends.
 *
 * @private
 */
export  class TechnicalAnalysis extends LineBase {
    /**
     * Defines the collection of series, that are used to represent the given technical indicator
     *
     * @private
     * @param {TechnicalIndicator} indicator - The technical indicator for which the series collection is initialized.
     * @param {Chart} chart - The chart associated with the technical indicator.
     * @returns {void}
     */
    initSeriesCollection(indicator: TechnicalIndicator, chart: Chart): void;
    /**
     * Sets properties for a series associated with a technical indicator.
     *
     * @protected
     * @param {Series} series - The series for which properties are to be set.
     * @param {TechnicalIndicator} indicator - The technical indicator associated with the series.
     * @param {string} name - The name of the series.
     * @param {string} fill - The fill color of the series.
     * @param {number} width - The width of the series line.
     * @param {Chart} chart - The chart associated with the series.
     * @returns {void}
     */
    protected setSeriesProperties(series: Series, indicator: TechnicalIndicator, name: string, fill: string, width: number, chart: Chart): void;
    /**
     * Creates elements for a technical indicator in the chart.
     *
     * @private
     * @param {Chart} chart - The chart in which the indicator elements are to be created.
     * @param {TechnicalIndicator} indicator - The technical indicator for which elements are to be created.
     * @param {number} index - The index of the indicator.
     * @returns {void}
     */
    createIndicatorElements(chart: Chart, indicator: TechnicalIndicator, index: number): void;
    protected getDataPoint(x: Object, y: Object, sourcePoint: Points, series: Series, index: number, indicator?: TechnicalIndicator): Points;
    protected getRangePoint(x: Object, high: Object, low: Object, sourcePoint: Points, series: Series, index: number): Points;
    protected setSeriesRange(points: Points[], indicator: TechnicalIndicator, series?: Series): void;
}
//node_modules/@syncfusion/ej2-charts/src/chart/technical-indicators/ema-indicator.d.ts
/**
 * The `EmaIndicator` module is used to render the Exponential Moving Average indicator.
 */
export  class EmaIndicator extends TechnicalAnalysis {
    /**
     * Defines the predictions based on EMA approach.
     *
     * @private
     * @param {TechnicalIndicator} indicator - The technical indicator for which the data source is to be initialized.
     * @returns {void}
     */
    initDataSource(indicator: TechnicalIndicator): void;
    /**
     * To destroy the EMA Indicator.
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
    /**
     * Get module name.
     *
     * @returns {string} - Returns the module name.
     */
    protected getModuleName(): string;
}
//node_modules/@syncfusion/ej2-charts/src/chart/technical-indicators/bollinger-bands.d.ts
/**
 * The `BollingerBands` module is used to render the Bollinger Band indicator.
 */
export  class BollingerBands extends TechnicalAnalysis {
    /**
     * Initializes the series collection for a technical indicator.
     *
     * @param {TechnicalIndicator} indicator - The technical indicator for which the series collection is initialized.
     * @param {Chart} chart - The chart associated with the technical indicator.
     * @returns {void}
     * @private
     */
    initSeriesCollection(indicator: TechnicalIndicator, chart: Chart): void;
    /**
     * Defines the predictions using Bollinger Band Approach
     *
     * @private
     * @param {TechnicalIndicator} indicator - The technical indicator for which the data source is to be initialized.
     * @returns {void}
     */
    initDataSource(indicator: TechnicalIndicator): void;
    /**
     * To destroy the Bollinger Band.
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
    /**
     * Get module name.
     *
     * @returns {string} - Returns the module name.
     */
    protected getModuleName(): string;
}
//node_modules/@syncfusion/ej2-charts/src/chart/technical-indicators/atr-indicator.d.ts
/**
 * The `AtrIndicator` module is used to render the Average True Range indicator.
 */
export  class AtrIndicator extends TechnicalAnalysis {
    /**
     * Defines the predictions using Average True Range approach
     *
     * @private
     * @param {TechnicalIndicator} indicator - The technical indicator for which the data source is to be initialized.
     * @returns {void}
     */
    initDataSource(indicator: TechnicalIndicator): void;
    /**
     * Calculates the Average True Range (ATR) points for a technical indicator.
     *
     * @param {TechnicalIndicator} indicator - The technical indicator for which the ATR points are calculated.
     * @param {Points[]} validData - The valid data points used for calculation.
     * @returns {void}
     */
    private calculateATRPoints;
    /**
     * To destroy the Average true range indicator.
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
    /**
     * Get module name.
     *
     * @returns {string} - Returns the module name.
     */
    protected getModuleName(): string;
}
//node_modules/@syncfusion/ej2-charts/src/chart/technical-indicators/ad-indicator.d.ts
/**
 * The `AccumulationDistributionIndicator` module is used to render the accumulation distribution indicator.
 */
export  class AccumulationDistributionIndicator extends TechnicalAnalysis {
    /**
     * Defines the predictions using accumulation distribution approach.
     *
     * @private
     * @param {TechnicalIndicator} indicator - The technical indicator for which the data source is to be initialized.
     * @returns {void}
     */
    initDataSource(indicator: TechnicalIndicator): void;
    /**
     * Calculates the accumulation distribution (AD) points for a technical indicator.
     *
     * @param {TechnicalIndicator} indicator - The technical indicator for which the AD points are calculated.
     * @param {Points[]} validData - The valid data points used for calculation.
     * @returns {Points[]} - The calculated accumulation distribution (AD) points.
     */
    private calculateADPoints;
    /**
     * To destroy the Accumulation Distribution Technical Indicator.
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
    /**
     * Get module name.
     *
     * @returns {string} - Returns the module name.
     */
    protected getModuleName(): string;
}
//node_modules/@syncfusion/ej2-charts/src/chart/series/waterfall-series.d.ts
/**
 * The `WaterfallSeries` module is used to render the waterfall series.
 */
export  class WaterfallSeries extends ColumnBase {
    /**
     * Store the cumulative values of each index.
     *
     * @private
     */
    cumulativeSums: number[];
    /**
     * Render waterfall series.
     *
     * @returns {void}
     * @private
     */
    render(series: Series): void;
    /**
     * Updates the direction of rendering for the specified series.
     *
     * @param {Series} series - The series to be rendered.
     * @param {number} point - Specifies the point.
     * @returns {void}
     * @private
     */
    updateDirection(series: Series, point: number[]): void;
    /**
     * Checks whether the current point in the series is an intermediate sum.
     *
     * @param {Series} series - The series to check.
     * @param {number} index - The index of the point in the series.
     * @returns {boolean} - Returns true if the current point is an intermediate sum, otherwise false.
     */
    private isIntermediateSum;
    /**
     * Checks whether the current point in the series is a sum index.
     *
     * @param {Series} series - The series to check.
     * @param {number} index - The index of the point in the series.
     * @returns {boolean} - Returns true if the current point is a sum index, otherwise false.
     */
    private isSumIndex;
    /**
     * Triggers the point render event for a given series and point.
     *
     * @param {Series} series - The series to which the point belongs.
     * @param {Points} point - The point for which to trigger the event.
     * @returns {IPointRenderEventArgs} - The event arguments for the point render event.
     */
    private triggerPointRenderEvent;
    /**
     * Processes the internal data for a series.
     *
     * @param {Object[]} json - The internal data JSON array.
     * @param {Series} series - The series for which to process the data.
     * @returns {Object[]} - The processed internal data array.
     * @private
     */
    processInternalData(json: Object[], series: Series): Object[];
    /**
     * Animates the series.
     *
     * @param  {Series} series - Defines the series to animate.
     * @returns {void}
     * @private
     */
    doAnimation(series: Series): void;
    /**
     * Get module name.
     *
     * @returns {string} - Returns the module name.
     */
    protected getModuleName(): string;
    /**
     * To destroy the waterfall series.
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-charts/src/chart/series/step-line-series.d.ts
/**
 * The `StepLineSeries` module is used to render the step line series.
 */
export  class StepLineSeries extends LineBase {
    /**
     * Render the Step line series.
     *
     * @param {Series} series - The series to be rendered.
     * @param {Axis} xAxis - The x-axis of the chart.
     * @param {Axis} yAxis - The y-axis of the chart.
     * @param {boolean} isInverted - Specifies whether the chart is inverted.
     * @param {boolean} pointAnimate - Specifies whether the point has to be animated or not.
     * @param {boolean} pointUpdate - Specifies whether the point has to be updated or not.
     * @returns {void}
     * @private
     */
    render(series: Series, xAxis: Axis, yAxis: Axis, isInverted: boolean, pointAnimate?: boolean, pointUpdate?: boolean): void;
    /**
     * To animate point for step line series.
     *
     * @param {Series} series - Specifies the series.
     * @param {number} point - Specifies the point.
     * @returns {void}
     * @private
     */
    updateDirection(series: Series, point: number[]): void;
    /**
     * Animates the series.
     *
     * @param  {Series} series - Defines the series to animate.
     * @returns {void}
     * @private
     */
    doAnimation(series: Series): void;
    /**
     * To destroy the step line series.
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
    /**
     * Get module name.
     *
     * @returns {string} - Returns the module name.
     */
    protected getModuleName(): string;
}
//node_modules/@syncfusion/ej2-charts/src/chart/series/step-area-series.d.ts
/**
 * The `StepAreaSeries` module is used to render the step area series.
 */
export  class StepAreaSeries extends LineBase {
    /**
     * Render Step Area series.
     *
     * @param {Series} series - The series to be rendered.
     * @param {Axis} xAxis - The x-axis of the chart.
     * @param {Axis} yAxis - The y-axis of the chart.
     * @param {boolean} isInverted - Specifies whether the chart is inverted.
     * @param {boolean} pointAnimate - Specifies whether the point has to be animated or not.
     * @param {boolean} pointUpdate - Specifies whether the point has to be updated or not.
     * @returns {void}
     * @private
     */
    render(series: Series, xAxis: Axis, yAxis: Axis, isInverted: boolean, pointAnimate?: boolean, pointUpdate?: boolean): void;
    /**
     * To animate point for step area series.
     *
     * @param {Series} series - Specifies the series.
     * @param {number} point - Specifies the point.
     * @returns {void}
     * @private
     */
    updateDirection(series: Series, point: number[]): void;
    /**
     * Animates the series.
     *
     * @param  {Series} series - Defines the series to animate.
     * @returns {void}
     * @private
     */
    doAnimation(series: Series): void;
    /**
     * To destroy the step Area series.
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
    /**
     * Get module name.
     *
     * @returns {string} - Returns the module name.
     */
    protected getModuleName(): string;
}
//node_modules/@syncfusion/ej2-charts/src/chart/series/stacking-step-area-series.d.ts
/**
 * The `StackingStepAreaSeries` module is used to render the stacking step area series.
 */
export  class StackingStepAreaSeries extends LineBase {
    private prevStep;
    /**
     * Render the Stacking Step Area series.
     *
     * @param {Series} stackSeries - The series to be rendered.
     * @param {Axis} xAxis - The x-axis of the chart.
     * @param {Axis} yAxis - The y-axis of the chart.
     * @param {boolean} isInverted - Specifies whether the chart is inverted.
     * @param {boolean} pointAnimate - Specifies whether the point has to be animated or not.
     * @param {boolean} pointUpdate - Specifies whether the point has to be updated or not.
     * @returns {void}
     * @private
     */
    render(stackSeries: Series, xAxis: Axis, yAxis: Axis, isInverted: boolean, pointAnimate: boolean, pointUpdate?: boolean): void;
    /**
     * To animate point for stacking step area series.
     *
     * @param {Series} series - Specifies the series.
     * @param {number} point - Specifies the point.
     * @returns {void}
     * @private
     */
    updateDirection(series: Series, point: number[]): void;
    /**
     * Adds a area path to equate the start and end paths.
     *
     * @param {svgBase.PathOption} options - The options for the path.
     * @param {Series} series - The series to which the path belongs.
     * @param {string} clipRect - The clip rectangle for the path.
     * @returns {void}
     * @private
     */
    addPath(options: svgBase.PathOption, series: Series, clipRect: string): void;
    /**
     * Animates the series.
     *
     * @param  {Series} series - Defines the series to animate.
     * @returns {void}
     * @private
     */
    doAnimation(series: Series): void;
    /**
     * To destroy the stacking step area.
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
    /**
     * Get module name.
     *
     * @returns {string} - Returns the module name.
     */
    protected getModuleName(): string;
    /**
     * To get the nearest visible point.
     *
     * @param {Points[]} points points
     * @param {number} j index
     * @returns {number} - Returns the nearest visible point.
     */
    private getNextVisiblePointIndex;
}
//node_modules/@syncfusion/ej2-charts/src/chart/series/stacking-line-series.d.ts
/**
 * The `StackingLineSeries` module is used to render the stacking line series.
 */
export  class StackingLineSeries extends LineBase {
    /**
     * Render the Stacking line series.
     *
     * @param {Series} series - The series to be rendered.
     * @param {Axis} xAxis - The x-axis of the chart.
     * @param {Axis} yAxis - The y-axis of the chart.
     * @param {boolean} isInverted - Specifies whether the chart is inverted.
     * @param {boolean} pointAnimate - Specifies whether the point has to be animated or not.
     * @param {boolean} pointUpdate - Specifies whether the point has to be updated or not.
     * @returns {void}
     * @private
     */
    render(series: Series, xAxis: Axis, yAxis: Axis, isInverted: boolean, pointAnimate?: boolean, pointUpdate?: boolean): void;
    /**
     * To animate point for stacking line series.
     *
     * @param {Series} series - Specifies the series.
     * @param {number} point - Specifies the point.
     * @returns {void}
     * @private
     */
    updateDirection(series: Series, point: number[]): void;
    /**
     * Animates the series.
     *
     * @param  {Series} series - Defines the series to animate.
     * @returns {void}
     * @private
     */
    doAnimation(series: Series): void;
    /**
     * To destroy the stacking line.
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
    /**
     * Get module name.
     *
     * @returns {string} - Returns the module name.
     */
    protected getModuleName(): string;
}
//node_modules/@syncfusion/ej2-charts/src/chart/series/stacking-column-series.d.ts
/**
 * The `StackingColumnSeries` module is used to render the stacking column series.
 */
export  class StackingColumnSeries extends ColumnBase {
    sideBySideInfo: DoubleRange[];
    /**
     * Render the Stacking column series.
     *
     * @returns {void}
     * @private
     */
    rect: svgBase.Rect;
    render(series: Series): void;
    renderPoint(series: Series, point: Points, sideBySideInfo: DoubleRange, stackedValue: StackValues, visiblePoints: Points[]): void;
    updateDirection(series: Series, point: number[]): void;
    /**
     * Animates the series.
     *
     * @param  {Series} series - Defines the series to animate.
     * @returns {void}
     * @private
     */
    doAnimation(series: Series): void;
    /**
     * To destroy the stacking column.
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
    /**
     * Get module name.
     *
     * @returns {string} - Returns the module name.
     */
    protected getModuleName(): string;
}
//node_modules/@syncfusion/ej2-charts/src/chart/series/stacking-bar-series.d.ts
/**
 * The `StackingBarSeries` module is used to render the stacking bar series.
 */
export  class StackingBarSeries extends ColumnBase {
    sideBySideInfo: DoubleRange[];
    /**
     * Render the Stacking bar series.
     *
     * @returns {void}
     * @private
     */
    rect: svgBase.Rect;
    render(series: Series): void;
    renderPoint(series: Series, pointStack: Points, sideBySideInfo: DoubleRange, stackedValue: StackValues): void;
    updateDirection(series: Series, point: number[]): void;
    /**
     * To destroy the stacking bar.
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
    /**
     * Get module name.
     *
     * @returns {string} - Returns the module name.
     */
    protected getModuleName(): string;
    /**
     * Animates the series.
     *
     * @param  {Series} series - Defines the series to animate.
     * @returns {void}
     * @private
     */
    doAnimation(series: Series): void;
}
//node_modules/@syncfusion/ej2-charts/src/chart/series/stacking-area-series.d.ts
/**
 * The `StackingAreaSeries` module is used to render the stacking area series.
 */
export  class StackingAreaSeries extends LineBase {
    /**
     * Render the Stacking area series.
     *
     * @param {Series} series - The series to be rendered.
     * @param {Axis} xAxis - The x-axis of the chart.
     * @param {Axis} yAxis - The y-axis of the chart.
     * @param {boolean} isInverted - Specifies whether the chart is inverted.
     * @param {boolean} pointAnimate - Specifies whether the point has to be animated or not.
     * @param {boolean} pointUpdate - Specifies whether the point has to be updated or not.
     * @returns {void}
     * @private
     */
    render(series: Series, xAxis: Axis, yAxis: Axis, isInverted: boolean, pointAnimate?: boolean, pointUpdate?: boolean): void;
    /**
     * To animate point for stacking area series.
     *
     * @param {Series} series - Specifies the series.
     * @param {number} point - Specifies the point.
     * @returns {void}
     * @private
     */
    updateDirection(series: Series, point: number[]): void;
    /**
     * Adds a area path to equate the start and end paths.
     *
     * @param {svgBase.PathOption} options - The options for the path.
     * @param {Series} series - The series to which the path belongs.
     * @param {string} clipRect - The clip rectangle for the path.
     * @returns {void}
     * @private
     */
    addAreaPath(options: svgBase.PathOption, series: Series, clipRect: string): void;
    /**
     * Animates the series.
     *
     * @param  {Series} series - Defines the series to animate.
     * @returns {void}
     * @private
     */
    doAnimation(series: Series): void;
    /**
     * To destroy the stacking area.
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
    /**
     * Get module name.
     *
     * @returns {string} - Returns the module name.
     */
    protected getModuleName(): string;
    /**
     * Retrieves the previous series from the provided series.
     *
     * @param {Series} series - The current series.
     * @returns {Series} - The previous series.
     */
    private getPreviousSeries;
    /**
     * To find the first visible series index.
     *
     * @param {Series[]} seriesCollection - The first visible series index.
     * @returns {number} - Returns the first visible series index.
     */
    private getFirstSeriesIndex;
}
//node_modules/@syncfusion/ej2-charts/src/chart/series/spline-series.d.ts
/**
 * The `SplineSeries` module is used to render the spline series.
 */
export  class SplineSeries extends SplineBase {
    /**
     * Render the spline series.
     *
     * @param {Series} series - The series to be rendered.
     * @param {Axis} xAxis - The x-axis of the chart.
     * @param {Axis} yAxis - The y-axis of the chart.
     * @param {boolean} isInverted - Specifies whether the chart is inverted.
     * @param {boolean} pointAnimate - Specifies whether the chart is inverted.
     * @param {boolean} pointUpdate - Specifies whether the chart is inverted.
     * @returns {void}
     * @private
     */
    render(series: Series, xAxis: Axis, yAxis: Axis, isInverted: boolean, pointAnimate?: boolean, pointUpdate?: boolean): void;
    /**
     * To find the direct of spline using points.
     *
     * @param {ControlPoints} data data
     * @param {Points} firstPoint firstPoint
     * @param {Points} point point
     * @param {Axis} xAxis xAxis
     * @param {Axis} yAxis yAxis
     * @param {boolean} isInverted isInverted
     * @param {Series} series series
     * @param {string} startPoint startPoint
     * @param {Function} getCoordinate getCoordinate
     * @param {string} direction direction
     * @returns {string} - Returns the direct of spline using points.
     * @private
     */
    private getSplineDirection;
    updateDirection(series: Series, point: number[]): void;
    /**
     * Adds a area path to equate the start and end paths.
     *
     * @param {svgBase.PathOption} options - The options for the path.
     * @param {Series} series - The series to which the path belongs.
     * @param {string} clipRect - The clip rectangle for the path.
     * @param {ChartLocation[]} [firstSymbol] - The location of the first symbol.
     * @returns {void}
     * @private
     */
    addPath(options: svgBase.PathOption, series: Series, clipRect: string): void;
    /**
     * Get module name.
     *
     * @returns {string} - Returns the module name.
     */
    protected getModuleName(): string;
    /**
     * To destroy the spline.
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-charts/src/chart/series/spline-range-area-series.d.ts
/**
 * The `SplineRangeAreaSeries` module is used to render the spline range area series.
 */
export  class SplineRangeAreaSeries extends SplineBase {
    borderDirection: string;
    /**
     * Render SplineRangeArea Series.
     *
     * @param {Series} series - The series to be rendered.
     * @param {Axis} xAxis - The x-axis of the chart.
     * @param {Axis} yAxis - The y-axis of the chart.
     * @param {boolean} inverted - Specifies whether the chart is inverted.
     * @param {boolean} pointAnimate - Specifies whether the point has to be animated or not.
     * @param {boolean} pointUpdate - Specifies whether the point has to be updated or not.
     * @returns {void}
     * @private
     */
    render(series: Series, xAxis: Axis, yAxis: Axis, inverted: boolean, pointAnimate?: boolean, pointUpdate?: boolean): void;
    /**
     * path for rendering the low points in SplineRangeArea
     *
     * @returns {void}.
     * @private
     */
    protected closeSplineRangeAreaPath(visiblePoint: Points[], point: Points, series: Series, direction: string, i: number, xAxis: Axis, yAxis: Axis, inverted: boolean): string;
    /**
     * To animate point for spline range area series.
     *
     * @param {Series} series - Specifies the series.
     * @param {number} point - Specifies the point.
     * @returns {void}
     * @private
     */
    updateDirection(series: Series, point: number[]): void;
    /**
     * Adds a area path to equate the start and end paths.
     *
     * @param {svgBase.PathOption} options - The options for the path.
     * @param {Series} series - The series to which the path belongs.
     * @param {string} clipRect - The clip rectangle for the path.
     * @returns {void}
     * @private
     */
    addPath(options: svgBase.PathOption, series: Series, clipRect: string): void;
    /**
     * Animates the series.
     *
     * @param  {Series} series - Defines the series to animate.
     * @returns {void}
     * @private
     */
    doAnimation(series: Series): void;
    /**
     * Get module name.
     *
     * @returns {string} - Returns the module name.
     */
    protected getModuleName(): string;
    /**
     * To destroy the line series.
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-charts/src/chart/series/spline-base.d.ts
/**
 * Base class for spline-type series.
 *
 * @private
 */
export  class SplineBase extends LineBase {
    private splinePoints;
    private lowSplinePoints;
    /**
     * Initializes the spline rendering module.
     *
     * @param {Chart} [chartModule] - Specifies the chart instance.
     */
    constructor(chartModule?: Chart);
    /**
     * Finds the spline points for the series.
     *
     * @param {Series} series - The series for which spline points need to be found.
     * @returns {void}
     * @private
     */
    findSplinePoint(series: Series): void;
    protected getPreviousIndex(points: Points[], i: number, series: Series): number;
    getNextIndex(points: Points[], i: number, series: Series): number;
    filterEmptyPoints(series: Series, seriesPoints?: Points[]): Points[];
    /**
     * Checks if the data points are within the range.
     *
     * @param {Points[]} points - The data points to check.
     * @returns {boolean} True if the data points are within the range, false otherwise.
     * @private
     */
    isPointInRange(points: Points[]): boolean;
    /**
     * Finds the spline coefficients based on the type of spline interpolation.
     *
     * @param {Points[]} points - The data points for spline interpolation.
     * @param {Series} series - The series associated with the data points.
     * @param {boolean} [isLow] - Indicates whether to calculate the lower bound. Default is false.
     * @returns {number[]} The calculated coefficients.
     * @private
     */
    findSplineCoefficients(points: Points[], series: Series, isLow?: boolean): number[];
    /**
     * Calculates the coefficients for a monotonic spline interpolation.
     *
     * @param {Points[]} points - The data points for spline interpolation.
     * @param {Series} series - The series associated with the data points.
     * @param {boolean} isLow - Indicates whether to calculate the lower bound.
     * @returns {number[]} The calculated coefficients.
     * @private
     */
    private monotonicSplineCoefficients;
    /**
     * Calculates the coefficients for a cardinal spline interpolation.
     *
     * @param {Points[]} points - The data points for spline interpolation.
     * @param {Series} series - The series associated with the data points.
     * @returns {number[]} The calculated coefficients.
     * @private
     */
    private cardinalSplineCofficients;
    /**
     * Calculates the coefficients for a clamped spline interpolation.
     *
     * @param {Points[]} points - The data points for spline interpolation.
     * @param {Series} series - The series associated with the data points.
     * @param {boolean} isLow - Indicates whether to calculate the lower bound.
     * @returns {number[]} The calculated coefficients.
     * @private
     */
    private clampedSplineCofficients;
    /**
     * Calculates the coefficients for a natural spline interpolation.
     *
     * @param {Points[]} points - The data points for spline interpolation.
     * @param {Series} series - The series associated with the data points.
     * @param {boolean} isLow - Indicates whether to calculate the lower bound.
     * @returns {number[]} The calculated coefficients.
     * @private
     */
    private naturalSplineCoefficients;
    /**
     * Calculates the control points for a spline segment.
     *
     * @param {Points} point1 - The first data point.
     * @param {Points} point2 - The second data point.
     * @param {number} ySpline1 - The Y-value of the first spline point.
     * @param {number} ySpline2 - The Y-value of the second spline point.
     * @param {Series} series - The series associated with the data points.
     * @returns {ControlPoints} The calculated control points.
     * @private
     */
    getControlPoints(point1: Points, point2: Points, ySpline1: number, ySpline2: number, series: Series): ControlPoints;
    /**
     * Calculates the date-time interval.
     *
     * @param {Series} series - The series for which the date-time interval needs to be calculated.
     * @returns {number} The calculated date-time interval.
     * @protected
     */
    protected dateTimeInterval(series: Series): number;
    /**
     * Animates the series.
     *
     * @param  {Series} series - Defines the series to animate.
     * @returns {void}
     * @private
     */
    doAnimation(series: Series): void;
}
//node_modules/@syncfusion/ej2-charts/src/chart/series/spline-area-series.d.ts
/**
 * The `SplineAreaSeries` module is used to render the spline area series.
 */
export  class SplineAreaSeries extends SplineBase {
    /**
     * Render the splineArea series.
     *
     * @param {Series} series - The series to be rendered.
     * @param {Axis} xAxis - The x-axis of the chart.
     * @param {Axis} yAxis - The y-axis of the chart.
     * @param {boolean} isInverted - Specifies whether the chart is inverted.
     * @param {boolean} pointAnimate - Specifies whether the point has to be animated.
     * @param {boolean} pointUpdate - Specifies whether the point has to be updated.
     * @returns {void}
     * @private
     */
    render(series: Series, xAxis: Axis, yAxis: Axis, isInverted: boolean, pointAnimate: boolean, pointUpdate?: boolean): void;
    /**
     * To animate point for spline area series.
     *
     * @param {Series} series - Specifies the series.
     * @param {number} point - Specifies the point.
     * @returns {void}
     * @private
     */
    updateDirection(series: Series, point: number[]): void;
    /**
     * Adds a area path to equate the start and end paths.
     *
     * @param {svgBase.PathOption} options - The options for the path.
     * @param {Series} series - The series to which the path belongs.
     * @param {string} clipRect - The clip rectangle for the path.
     * @param {ChartLocation[]} [firstSymbol] - The location of the first symbol.
     * @returns {void}
     * @private
     */
    addPath(options: svgBase.PathOption, series: Series, clipRect: string): void;
    /**
     * Get module name.
     *
     * @returns {string} - Returns the module name.
     */
    protected getModuleName(): string;
    /**
     * To destroy the spline.
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-charts/src/chart/series/scatter-series.d.ts
/**
 * The `ScatterSeries` module is used to render the scatter series.
 */
export  class ScatterSeries {
    /**
     * Renders the series.
     *
     * @param {Series} series - The series to be rendered.
     * @param {Axis} xAxis - The x-axis of the chart.
     * @param {Axis} yAxis - The y-axis of the chart.
     * @param {boolean} isInverted - Specifies whether the chart is inverted.
     * @returns {void}
     * @private
     */
    render(series: Series, xAxis: Axis, yAxis: Axis, isInverted: boolean): void;
    renderPoint(series: Series, point: Points, isInverted: boolean, getCoordinate: Function, scatterBorder: BorderModel, visiblePoints: Points[]): void;
    updateDirection(series: Series, point: number[], isInverted: boolean): void;
    private isLineShapeMarker;
    /**
     * Enables complex properties for the series.
     *
     * @param {Series} series - The series for which complex properties need to be enabled.
     * @returns {Points[]} - Returns the updated points array.
     * @private
     */
    enableComplexProperty(series: Series): Points[];
    /**
     * To append scatter element
     *
     * @param {Series} series series
     * @param {Points} point point
     * @param {IPointRenderEventArgs} argsData argsData
     * @param {ChartLocation} startLocation startLocation
     * @returns {void}
     */
    private refresh;
    /**
     * Animates the series.
     *
     * @param  {Series} series - Defines the series to animate.
     * @returns {void}
     * @private
     */
    doAnimation(series: Series): void;
    /**
     * Get module name.
     *
     * @returns {string} - Returns the module name.
     */
    protected getModuleName(): string;
    /**
     * To destroy the scatter.
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-charts/src/chart/series/range-step-area-series.d.ts
/**
 * The `RangeStepAreaSeries` module is used to render the range step area series.
 */
export  class RangeStepAreaSeries extends LineBase {
    private borderDirection;
    private prevPoint;
    /**
     * Renders the Range Step Area series on the chart.
     *
     * @param {Series} series - The series to be rendered.
     * @param {Axis} xAxis - The x-axis associated with the series.
     * @param {Axis} yAxis - The y-axis associated with the series.
     * @param {boolean} isInverted - Specifies whether the series is inverted.
     * @param {boolean} pointAnimate - Specifies whether to animate the series point.
     * @param {boolean} pointUpdate - Specifies whether to update the previous point.
     * @returns {void}
     * @private
     */
    render(series: Series, xAxis: Axis, yAxis: Axis, isInverted: boolean, pointAnimate: boolean, pointUpdate?: boolean): void;
    /**
     * Calculating path direction for rendering the low points.
     *
     * @param {Points[]} visiblePoints - The visible data points.
     * @param {Points} point - The current data point.
     * @param {Series} series - The series to which the data point belongs.
     * @param {string} direction - The direction of the series.
     * @param {number} i - The index of the current data point.
     * @param {Axis} xAxis - The x-axis associated with the series.
     * @param {Axis} yAxis - The y-axis associated with the series.
     * @param {boolean} isInverted - Specifies whether the series is inverted.
     * @returns {string} - Returns the path direction for low direction.
     * @private
     */
    protected closeRangeStepAreaPath(visiblePoints: Points[], point: Points, series: Series, direction: string, i: number, xAxis: Axis, yAxis: Axis, isInverted: boolean): string;
    /**
     * To animate point for range step area series.
     *
     * @param {Series} series - Specifies the series.
     * @param {number} point - Specifies the point.
     * @returns {void}
     * @private
     */
    updateDirection(series: Series, point: number[]): void;
    addPath(options: svgBase.PathOption, series: Series, clipRect: string): void;
    /**
     * Animates the series.
     *
     * @param  {Series} series - Defines the series to animate.
     * @returns {void}
     * @private
     */
    doAnimation(series: Series): void;
    /**
     * Get module name.
     *
     * @returns {string} - Returns the module name.
     */
    protected getModuleName(): string;
    /**
     * To destroy the range step area series.
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-charts/src/chart/series/range-column-series.d.ts
/**
 * The `RangeColumnSeries` module is used to render the range column series.
 */
export  class RangeColumnSeries extends ColumnBase {
    sideBySideInfo: DoubleRange[];
    /**
     * Renders the Range Column series.
     *
     * @param {Series} series - The series to render.
     * @returns {void}
     * @private
     */
    render(series: Series): void;
    renderPoint(series: Series, rangePoint: Points, sideBySideInfo: DoubleRange): void;
    updateDirection(series: Series, point: number[]): void;
    /**
     * Get module name.
     *
     * @returns {string} - Returns the module name.
     */
    protected getModuleName(): string;
    /**
     * Animates the series.
     *
     * @param  {Series} series - Defines the series to animate.
     * @returns {void}
     * @private
     */
    doAnimation(series: Series): void;
    /**
     * To destroy the range column series.
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-charts/src/chart/series/range-area-series.d.ts
/**
 * The `RangeAreaSeries` module is used to render the range area series.
 */
export  class RangeAreaSeries extends LineBase {
    borderDirection: string;
    /**
     * Renders the provided Range Area series on the chart based on the given x-axis, y-axis, and inversion status.
     *
     * @param {Series} series - The series to render.
     * @param {Axis} xAxis - The x-axis of the chart.
     * @param {Axis} yAxis - The y-axis of the chart.
     * @param {boolean} inverted - A flag indicating whether the chart is inverted or not.
     * @param {boolean} pointAnimate - A flag indicating whether the points should be animated.
     * @param {boolean} pointUpdate - A flag indicating whether the points should be updated.
     * @returns {void}
     * @private
     */
    render(series: Series, xAxis: Axis, yAxis: Axis, inverted: boolean, pointAnimate: boolean, pointUpdate?: boolean): void;
    /**
     * path for rendering the low points
     *
     * @returns {void}.
     * @private
     */
    protected closeRangeAreaPath(visiblePoints: Points[], point: Points, series: Series, direction: string, i: number): string;
    /**
     * To animate point for range area series.
     *
     * @param {Series} series - Specifies the series.
     * @param {number} point - Specifies the point.
     * @returns {void}
     * @private
     */
    updateDirection(series: Series, point: number[]): void;
    addPath(options: svgBase.PathOption, series: Series, clipRect: string): void;
    /**
     * Animates the series.
     *
     * @param  {Series} series - Defines the series to animate.
     * @returns {void}
     * @private
     */
    doAnimation(series: Series): void;
    /**
     * Get module name.
     *
     * @returns {string} - Returns the module name.
     */
    protected getModuleName(): string;
    /**
     * To destroy the line series.
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-charts/src/chart/series/radar-series.d.ts
/**
 * The `RadarSeries` module is used to render the radar series.
 */
export  class RadarSeries extends PolarSeries {
    /**
     * Renders the provided radar series on the chart based on the given x-axis, y-axis, and inversion status.
     *
     * @param {Series} series - The series to render.
     * @param {Axis} xAxis - The x-axis of the chart.
     * @param {Axis} yAxis - The y-axis of the chart.
     * @param {boolean} inverted - A flag indicating whether the chart is inverted or not.
     * @returns {void}
     * @private
     */
    render(series: Series, xAxis: Axis, yAxis: Axis, inverted: boolean): void;
    getRadarIsInversedPath(xAxis: Axis, endPoint: string): string;
    /**
     * Get module name.
     *
     * @returns {string} - Returns the module name.
     */
    protected getModuleName(): string;
    /**
     * To destroy the radar series.
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-charts/src/chart/series/polar-series.d.ts
/**
 * The `PolarSeries` module is used to render the polar series.
 */
export  class PolarSeries extends PolarRadarPanel {
    /**
     * Renders the provided polar series on the chart based on the given x-axis, y-axis, and inversion status.
     *
     * @param {Series} series - The series to render.
     * @param {Axis} xAxis - The x-axis of the chart.
     * @param {Axis} yAxis - The y-axis of the chart.
     * @param {boolean} inverted - A flag indicating whether the chart is inverted or not.
     * @returns {void}
     * @private
     */
    render(series: Series, xAxis: Axis, yAxis: Axis, inverted: boolean): void;
    /**
     * Renders the column draw type for the provided series based on the given x-axis and y-axis.
     *
     * @param {Series} series - The series for which the column draw type should be rendered.
     * @param {Axis} xAxis - The x-axis of the chart.
     * @param {Axis} yAxis - The y-axis of the chart.
     * @returns {void}
     * @private
     */
    columnDrawTypeRender(series: Series, xAxis: Axis, yAxis: Axis): void;
    /**
     * Triggers the point render event for the provided chart, series, and point.
     *
     * @param {Chart} chart - The chart instance.
     * @param {Series} series - The series to which the point belongs.
     * @param {Points} point - The point for which the event should be triggered.
     * @returns {IPointRenderEventArgs} - The point render event arguments.
     * @private
     */
    triggerEvent(chart: Chart, series: Series, point: Points): IPointRenderEventArgs;
    /**
     * Gets the position of the series.
     *
     * @param {Series} series - The series for which to get the position.
     * @returns {void}
     * @private
     */
    getSeriesPosition(series: Series): void;
    /**
     * Animates the series.
     *
     * @param  {Series} series - Defines the series to animate.
     * @returns {void}
     * @private
     */
    doAnimation(series: Series): void;
    /**
     * Performs animation for polar/radar series.
     *
     * @param {Element} animateElement - The element to animate.
     * @param {number} delay - The delay for animation.
     * @param {number} duration - The duration of animation.
     * @param {Series} series - The series for which to perform animation.
     * @returns {void}
     * @private
     */
    doPolarRadarAnimation(animateElement: Element, delay: number, duration: number, series: Series): void;
    getPolarIsInversedPath(xAxis: Axis, endPoint: string): string;
    /**
     * Get module name.
     *
     * @returns {string} - Returns the module name.
     */
    protected getModuleName(): string;
    /**
     * To destroy the polar series.
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-charts/src/chart/series/pareto-series.d.ts
/**
 * The `ParetoSeries` module is used to render the pareto series.
 */
export  class ParetoSeries extends ColumnBase {
    paretoAxes: Axis[];
    /**
     * Defines the Line initialization.
     *
     * @private
     */
    initSeries(targetSeries: Series, chart: Chart): void;
    /**
     * Defines the Axis initialization for Line.
     *
     * @private
     */
    initAxis(paretoSeries: Series, targetSeries: Series, chart: Chart): void;
    /**
     * Render Pareto series.
     *
     * @returns {void}
     * @private
     */
    render(series: Series): void;
    /**
     * Perform cumulative calculation on the provided JSON data based on the series type.
     *
     * @param {Object} json - The JSON data to perform cumulative calculation on.
     * @param {Series} series - The series for which cumulative calculation is performed.
     * @returns {Object[]} - An array containing the result of the cumulative calculation.
     * @private
     */
    performCumulativeCalculation(json: Object, series: Series): Object[];
    /**
     * Animates the series.
     *
     * @param  {Series} series - Defines the series to animate.
     * @returns {void}
     * @private
     */
    doAnimation(series: Series): void;
    /**
     * Get module name.
     *
     * @returns {string} - Returns the module name.
     */
    protected getModuleName(): string;
    /**
     * To destroy the pareto series.
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-charts/src/chart/series/multi-colored-line-series.d.ts
/**
 * The `MultiColoredLineSeries` module is used to render line series with multiple colors.
 */
export  class MultiColoredLineSeries extends MultiColoredSeries {
    /**
     * Render the multi colored line series on the chart.
     *
     * @param {Series} series - The series to be rendered.
     * @param {Axis} xAxis - The x-axis of the chart.
     * @param {Axis} yAxis - The y-axis of the chart.
     * @param {boolean} isInverted - Indicates whether the chart is inverted.
     * @param {boolean} pointAnimate - Specifies whether the point has to be animated or not.
     * @param {boolean} pointUpdate - Specifies whether the point has to be updated or not.
     * @returns {void}
     * @private
     */
    render(series: Series, xAxis: Axis, yAxis: Axis, isInverted: boolean, pointAnimate?: boolean, pointUpdate?: boolean): void;
    /**
     * To animate point for multicolored line series.
     *
     * @param {Series} series - Specifies the series.
     * @param {number} point - Specifies the point.
     * @returns {void}
     * @private
     */
    updateDirection(series: Series, point: number[]): void;
    /**
     * Animates the series.
     *
     * @param  {Series} series - Defines the series to animate.
     * @returns {void}
     * @private
     */
    doAnimation(series: Series): void;
    /**
     * Get module name.
     *
     * @returns {string} - Returns the module name.
     */
    protected getModuleName(): string;
    /**
     * To destroy the line series.
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-charts/src/chart/series/multi-colored-base.d.ts
/**
 * Base class for multi-colored series.
 *
 * @private
 */
export  class MultiColoredSeries extends LineBase {
    /**
     * To generate the area path direction.
     *
     * @param {number} xValue xValue
     * @param {number} yValue yValue
     * @param {Series} series series
     * @param {boolean} isInverted isInverted
     * @param {Function} getPointLocation getPointLocation
     * @param {ChartLocation} startPoint startPoint
     * @param {string} startPath startPath
     * @returns {string} Returns the area path direction.
     * @private
     */
    getAreaPathDirection(xValue: number, yValue: number, series: Series, isInverted: boolean, getPointLocation: Function, startPoint: ChartLocation, startPath: string): string;
    /**
     * To generate the empty point direction.
     *
     * @param {ChartLocation} firstPoint firstPoint
     * @param {ChartLocation} secondPoint secondPoint
     * @param {Series} series series
     * @param {boolean} isInverted isInverted
     * @param {Function} getPointLocation getPointLocation
     * @returns {string} Returns the empty point direction.
     * @private
     */
    getAreaEmptyDirection(firstPoint: ChartLocation, secondPoint: ChartLocation, series: Series, isInverted: boolean, getPointLocation: Function): string;
    /**
     * Set the color for a point based on its current state and previous state.
     *
     * @param {Points} currentPoint - The current point whose color needs to be set.
     * @param {Points} previous - The previous state of the point.
     * @param {Series} series - The series associated with the point.
     * @param {boolean} isXSegment - Indicates whether the point is in the x-segment.
     * @param {ChartSegmentModel[]} segments - The segments associated with the point.
     * @returns {boolean} - Returns true if the color is set successfully, false otherwise.
     * @private
     */
    setPointColor(currentPoint: Points, previous: Points, series: Series, isXSegment: boolean, segments: ChartSegmentModel[]): boolean;
    sortSegments(series: Series, chartSegments: ChartSegmentModel[]): ChartSegmentModel[];
    /**
     * Segment calculation performed here.
     *
     * @param {Series} series series
     * @param {svgBase.PathOption[]} options options
     * @param {ChartSegmentModel[]} segments chartSegments
     * @param {boolean} pointAnimate pointAnimate
     * @returns {void}
     * @private
     */
    applySegmentAxis(series: Series, options: svgBase.PathOption[], segments: ChartSegmentModel[], pointAnimate?: boolean): void;
    private includeSegment;
    private addMulticolorPath;
    /**
     * To create clip rect for segment axis.
     *
     * @param {number} startValue startValue
     * @param {number} endValue endValue
     * @param {Series} series series
     * @param {number} index index
     * @param {boolean} isX isX
     * @returns {string} clip rect for segment axis
     * @private
     */
    createClipRect(startValue: number, endValue: number, series: Series, index: number, isX: boolean): string;
    /**
     * To get exact value from segment value.
     *
     * @param {Object} segmentValue segmentValue
     * @param {Axis} axis axis
     * @param {Chart} chart chart
     * @returns {number} - Returns segment value.
     * @private
     */
    getAxisValue(segmentValue: Object, axis: Axis, chart: Chart): number;
}
//node_modules/@syncfusion/ej2-charts/src/chart/series/multi-colored-area-series.d.ts
/**
 * The `MultiColoredAreaSeries` module is used to render area series with multiple colors.
 */
export  class MultiColoredAreaSeries extends MultiColoredSeries {
    /**
     * Render the multi colored area series on the chart.
     *
     * @param {Series} series - The series to be rendered.
     * @param {Axis} xAxis - The X-axis associated with the series.
     * @param {Axis} yAxis - The Y-axis associated with the series.
     * @param {boolean} isInverted - Specifies whether the chart is inverted or not.
     * @param {boolean} pointAnimate - Specifies whether the point has to be animated or not.
     * @param {boolean} pointUpdate - Specifies whether the point has to be updated or not.
     * @returns {void}
     * @private
     */
    render(series: Series, xAxis: Axis, yAxis: Axis, isInverted: boolean, pointAnimate?: boolean, pointUpdate?: boolean): void;
    /**
     * Generate path options for rendering series elements.
     *
     * @param {PathOption[]} options - The array of path options to be updated.
     * @param {Series} series - The series associated with the path options.
     * @param {Points} point - The point associated with the path options.
     * @param {string} direction - The direction of the path options.
     * @param {string} id - The id associated with the path options.
     * @returns {void}
     */
    private generatePathOption;
    /**
     * Generate path options for rendering series border elements.
     *
     * @param {PathOption[]} options - The array of path options to be updated.
     * @param {Series} series - The series associated with the path options.
     * @param {Points} point - The point associated with the path options.
     * @param {string} emptyPointDirection - The direction of the empty point.
     * @param {string} id - The ID associated with the path options.
     * @returns {void}
     */
    private generateBorderPathOption;
    /**
     * To animate point for multicolored area series.
     *
     * @param {Series} series - Specifies the series.
     * @param {number} point - Specifies the point.
     * @returns {void}
     * @private
     */
    updateDirection(series: Series, point: number[]): void;
    /**
     * To destroy the area series.
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
    /**
     * Get module name.
     *
     * @returns {string} - Returns the module name.
     */
    protected getModuleName(): string;
    /**
     * Animates the series.
     *
     * @param  {Series} series - Defines the series to animate.
     * @returns {void}
     * @private
     */
    doAnimation(series: Series): void;
}
//node_modules/@syncfusion/ej2-charts/src/chart/series/marker.d.ts
export  const markerShapes: ChartShape[];
/**
 * The `Marker` module is used to render markers for line-type series.
 */
export  class Marker1 extends MarkerExplode {
    /**
     * Constructor for the marker module.
     *
     * @private
     */
    constructor(chart: Chart);
    /**
     * Render the marker for series.
     *
     * @returns {void}
     * @private
     */
    render(series: Series): void;
    renderMarker(series: Series, point: Points, location: ChartLocation, index: number, redraw: boolean): void;
    createElement(series: Series, redraw: boolean): void;
    private getRangeLowPoint;
    /**
     * Calculates the distance between two points in a chart.
     *
     * @param {ChartLocation} startPoint - The starting point with x and y coordinates.
     * @param {ChartLocation} endPoint - The ending point with x and y coordinates.
     * @returns {number} - The distance between the startPoint and endPoint.
     */
    private calculateDistance;
    /**
     * Perform marker animation for the given series.
     *
     * @param {Series} series - The series for which marker animation needs to be performed.
     * @returns {void}
     * @private
     */
    doMarkerAnimation(series: Series): void;
}
//node_modules/@syncfusion/ej2-charts/src/chart/series/marker-explode.d.ts
/**
 * The `Marker` module is used to render markers for line-type series.
 *
 * @private
 */
export  class MarkerExplode extends ChartData {
    private markerExplode;
    private isRemove;
    /** @private */
    elementId: string;
    /**
     * Constructor for the marker module.
     *
     * @private
     */
    constructor(chart: Chart);
    /**
     * Adds event listeners for the series.
     *
     * @returns {void}
     * @private
     */
    addEventListener(): void;
    /**
     * Removes event listeners for the series.
     *
     * @private
     *
     * @returns {void}
     */
    removeEventListener(): void;
    /**
     * Handles the mouse up event.
     *
     * @returns {void}
     */
    private mouseUpHandler;
    /**
     * Handles the mouse move event.
     *
     * @returns {void}
     * @private
     */
    mouseMoveHandler(): void;
    markerMove(remove: boolean): void;
    private animationDuration;
    private drawTrackBall;
    /**
     * Perform animation for the series.
     *
     * @param {Series} series - The series to animate.
     * @param {Points} point - The point to animate.
     * @param {boolean} [endAnimate=false] - Flag to indicate if the animation is ending.
     * @returns {void}
     * @private
     */
    doAnimation(series: Series, point: Points, endAnimate?: boolean): void;
    /**
     * Perform animation for the trackball.
     *
     * @param {Element} elements - The elements to animate.
     * @param {number} delays - The delay duration for the animation.
     * @param {number} durations - The duration of the animation.
     * @param {Series} series - The series associated with the trackball.
     * @param {number} pointIndex - The index of the point to animate.
     * @param {ChartLocation} point - The location of the point to animate.
     * @param {boolean} isLabel - Flag to indicate if the animated element is a label.
     * @param {boolean} [endAnimate=false] - Flag to indicate if the animation is ending.
     * @param {boolean} [isRemove=false] - Flag to indicate if element need to remove.
     * @returns {void}
     * @private
     */
    trackballAnimate(elements: Element, delays: number, durations: number, series: Series, pointIndex: number, point: ChartLocation, isLabel: boolean, endAnimate: boolean, isRemove?: boolean): void;
    /**
     * Remove the highlighted marker.
     *
     * @param {Series} [series=null] - The series associated with the marker to remove. Defaults to null.
     * @param {Points} [point=null] - The point associated with the marker to remove. Defaults to null.
     * @param {boolean} [fadeOut=false] - Flag to indicate if the removal should be faded out. Defaults to false.
     * @returns {void}
     * @private
     */
    removeHighlightedMarker(series?: Series, point?: Points, fadeOut?: boolean): void;
}
//node_modules/@syncfusion/ej2-charts/src/chart/series/line-series.d.ts
/**
 * The `LineSeries` module is used to render the line series.
 */
export  class LineSeries extends LineBase {
    /**
     * Renders the line series based on the provided axis and inversion status.
     *
     * @param {Series} series - The series to render.
     * @param {Axis} xAxis - The X-axis associated with the series.
     * @param {Axis} yAxis - The Y-axis associated with the series.
     * @param {boolean} isInverted - Specifies whether the chart is inverted.
     * @param {boolean} pointAnimate - Specifies whether the point has to be animated or not.
     * @param {boolean} pointUpdate - Specifies whether the point has to be updated or not.
     * @returns {void}
     * @private
     */
    render(series: Series, xAxis: Axis, yAxis: Axis, isInverted: boolean, pointAnimate?: boolean, pointUpdate?: boolean): void;
    /**
     * To animate point for line series.
     *
     * @returns {void}
     * @private
     */
    updateDirection(series: Series, point: number[]): void;
    /**
     * Animates the series.
     *
     * @param  {Series} series - Defines the series to animate.
     * @returns {void}
     * @private
     */
    doAnimation(series: Series): void;
    /**
     * Get module name.
     *
     * @returns {string} - Returns the module name.
     */
    protected getModuleName(): string;
    /**
     * To destroy the line series.
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-charts/src/chart/series/line-base.d.ts
/**
 * Base class for line-type series.
 * This class provides common properties and methods for line-type series in the chart.
 *
 * @private
 */
export  class LineBase {
    chart: Chart;
    private previousX;
    private previousY;
    /**
     * Initializes the tooltip module for the chart.
     *
     * @param {Chart} [chartModule] - The chart instance to which the tooltip module is initialized.
     */
    constructor(chartModule?: Chart);
    /**
     * Enhances the performance of the chart by enabling complex properties.
     *
     * @param {Series} series - The series for which complex properties are enabled.
     * @returns {Points[]} An array of points.
     * @private
     */
    enableComplexProperty(series: Series): Points[];
    /**
     * To generate the line path direction.
     *
     * @param {Points} firstPoint firstPoint
     * @param {Points} secondPoint secondPoint
     * @param {Series} series series
     * @param {boolean} isInverted isInverted
     * @param {Function} getPointLocation getPointLocation
     * @param {string} startPoint startPoint
     * @returns {string} get line path direction
     * @private
     */
    getLineDirection(firstPoint: Points, secondPoint: Points, series: Series, isInverted: boolean, getPointLocation: Function, startPoint: string): string;
    /**
     * Appends a line path to the chart.
     *
     * @param {svgBase.PathOption} options - The options for the path.
     * @param {Series} series - The series to which the path belongs.
     * @param {string} clipRect - The clipping rectangle for the path.
     * @returns {void}
     * @private
     */
    appendLinePath(options: svgBase.PathOption, series: Series, clipRect: string): void;
    appendPathElement(options: svgBase.PathOption | svgBase.PathAttributes, series: Series, clipRect: string): {
        element: Element;
        previousDirection: string;
        chart: Chart;
    };
    /**
     * Adds a line path to equate the start and end paths.
     *
     * @param {svgBase.PathOption} options - The options for the path.
     * @param {Series} series - The series to which the path belongs.
     * @param {string} clipRect - The clip rectangle for the path.
     * @returns {void}
     * @private
     */
    addPath(options: svgBase.PathOption, series: Series, clipRect: string): void;
    /**
     * Adds a area path to equate the start and end paths.
     *
     * @param {svgBase.PathOption} options - The options for the path.
     * @param {Series} series - The series to which the path belongs.
     * @param {string} clipRect - The clip rectangle for the path.
     * @returns {void}
     * @private
     */
    addAreaPath(options: svgBase.PathOption, series: Series, clipRect: string): void;
    /**
     * To render the marker for the series.
     *
     * @param {Series} series - The series for which markers are rendered.
     * @returns {void}
     * @private
     */
    renderMarker(series: Series): void;
    /**
     * Executes progressive animation for the series.
     *
     * @param {Series} series - The series for which progressive animation is executed.
     * @param {AnimationModel} option - The animation option.
     * @returns {void}
     * @private
     */
    doProgressiveAnimation(series: Series, option: AnimationModel): void;
    /**
     * To store the symbol location and region.
     *
     * @param {Points} point point
     * @param {Series} series series
     * @param {boolean} isInverted isInverted
     * @param {Function} getLocation getLocation
     * @returns {void}
     * @private
     */
    storePointLocation(point: Points, series: Series, isInverted: boolean, getLocation: Function): void;
    /**
     * Checks if the y-value of a point falls within the y-axis range.
     *
     * @param {Points} point - The point to be checked.
     * @param {Axis} yAxis - The y-axis.
     * @returns {boolean} - Returns true if the y-value falls within the y-axis range, otherwise false.
     * @private
     */
    withinYRange(point: Points, yAxis: Axis): boolean;
    GetStepLineDirection(currentPoint: ChartLocation, previousPoint: ChartLocation, stepLineType: StepPosition, command: string, series: Series, isBorder?: boolean): string;
    /**
     * Gets the first and last visible points from a collection of points.
     *
     * @param {Points[]} points - Collection of points.
     * @returns {{ first: Points, last: Points }} - Returns an object containing the first and last visible points.
     * @private
     */
    getFirstLastVisiblePoint(points: Points[]): {
        first: Points;
        last: Points;
    };
    /**
     * Gets the border direction based on the provided direction.
     *
     * @param {string} direction - The direction string.
     * @returns {string} - Returns the border direction.
     * @private
     */
    getBorderDirection(direction: string): string;
    /**
     * Removes the border from the empty points based on the provided border direction.
     *
     * @param {string} borderDirection - The border direction.
     * @returns {string} - Returns the updated border direction.
     * @private
     */
    removeEmptyPointsBorder(borderDirection: string): string;
    /**
     * Performs linear animation for the series based on the provided animation model.
     *
     * @param {Series} series - The series to animate.
     * @param {AnimationModel} animation - The animation model containing animation details.
     * @returns {void}
     * @private
     */
    doLinearAnimation(series: Series, animation: AnimationModel): void;
    /**
     * Animates the given clip rectangle with the specified animation parameters.
     *
     * @param {Series} series - The series to which the clip rectangle belongs.
     * @param {AnimationModel} animation - The animation model containing animation details.
     * @param {HTMLElement} clipRect - The clip rectangle to animate.
     * @param {number} duration - The duration of the animation.
     * @param {Function} effect - The animation function to use.
     * @param {number} elementHeight - The height of the clip rectangle element.
     * @param {number} elementWidth - The width of the clip rectangle element.
     * @param {number} xCenter - The x-coordinate of the clip rectangle's center.
     * @param {number} yCenter - The y-coordinate of the clip rectangle's center.
     * @param {number} value - The animation value.
     * @returns {void}
     */
    private animateRect;
}
//node_modules/@syncfusion/ej2-charts/src/chart/series/histogram-series.d.ts
/**
 * The `HistogramSeries` module is used to render the histogram series.
 */
export  class HistogramSeries extends ColumnSeries {
    /**
     * Render Histogram series.
     *
     * @param {Series} series - The series to render.
     * @returns {void}
     * @private
     */
    render(series: Series): void;
    /**
     * To calculate bin interval for Histogram series.
     *
     * @param {number[]} yValues - The y values of the series.
     * @param {Series} series - The series for which the bin interval is calculated.
     * @returns {void}
     * @private
     */
    private calculateBinInterval;
    /**
     * Processes the internal data for the series.
     *
     * @param {Object[]} data - The internal data to be processed.
     * @param {Series} series - The series for which the internal data is processed.
     * @returns {Object[]} - The processed internal data.
     * @private
     */
    processInternalData(data: Object[], series: Series): Object[];
    /**
     * Calculates the bin values for the series.
     *
     * @param {Series} series - The series for which the bin values are calculated.
     * @returns {void}
     * @private
     */
    calculateBinValues(series: Series): void;
    /**
     * Render Normal Distribution for Histogram series.
     *
     * @param {Series} series - The series for which the normal distribution is rendered.
     * @returns {void}
     * @private
     */
    private renderNormalDistribution;
    /**
     * Animates the series.
     *
     * @param  {Series} series - Defines the series to animate.
     * @returns {void}
     * @private
     */
    doAnimation(series: Series): void;
    /**
     * Updates the direction of rendering for the specified series.
     *
     * @param {Series} series - The series to be rendered.
     * @returns {void}
     * @private
     */
    updateDirection(series: Series): void;
    /**
     * Get module name.
     *
     * @returns {string} - Returns the module name.
     */
    protected getModuleName(): string;
    /**
     * To destroy the histogram series.
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-charts/src/chart/series/hilo-series.d.ts
/**
 * The `HiloSeries` module is used to render the hilo series.
 */
export  class HiloSeries extends ColumnBase {
    sideBySideInfo: DoubleRange[];
    /**
     * Render Hiloseries.
     *
     * @returns {void}
     * @private
     */
    render(series: Series): void;
    renderPoint(series: Series, point: Points, sideBySideInfo: DoubleRange): void;
    updateDirection(series: Series, point: number[]): void;
    /**
     * Triggers the point render event for the specified series and data point.
     *
     * @param {Series} series - The series associated with the point.
     * @param {Points} point - The data point.
     * @returns {IPointRenderEventArgs} The event arguments.
     */
    private triggerPointRenderEvent;
    /**
     * Get module name.
     *
     * @returns {string} - Returns the module name.
     */
    protected getModuleName(): string;
    /**
     * Animates the series.
     *
     * @param  {Series} series - Defines the series to animate.
     * @returns {void}
     * @private
     */
    doAnimation(series: Series): void;
    /**
     * To destroy the Hilo series.
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-charts/src/chart/series/hilo-open-close-series.d.ts
/**
 * The `HiloOpenCloseSeries` module is used to render the hilo open close series.
 */
export  class HiloOpenCloseSeries extends ColumnBase {
    sideBySideInfo: DoubleRange[];
    /**
     * Render HiloOpenCloseSeries series.
     *
     * @returns {void}
     * @private
     */
    render(series: Series): void;
    renderPoint(series: Series, point: Points, sideBySideInfo: DoubleRange, borderWidth: number): void;
    updateDirection(series: Series, point: number[]): void;
    /**
     * Updates the tick region based on the specified parameters.
     *
     * @param {boolean} horizontal - Specifies whether the tick region is horizontal.
     * @param {svgBase.Rect} region - The region to update.
     * @param {number} borderWidth - The width of the border.
     * @returns {void}
     */
    private updateTickRegion;
    /**
     * Triggers the point render event and returns the event arguments.
     *
     * @param {Series} series - The series associated with the point.
     * @param {Points} point - The data point.
     * @returns {IPointRenderEventArgs} The event arguments.
     */
    private triggerPointRenderEvent;
    /**
     * Draws the path for high, low, open, and close values in the series.
     *
     * @param {Series} series - The series associated with the point.
     * @param {Points} point - The data point.
     * @param {ChartLocation} open - The location of the open value.
     * @param {ChartLocation} close - The location of the close value.
     * @param {svgBase.Rect} rect - The rectangle bounds.
     * @param {IPointRenderEventArgs} argsData - The event arguments.
     * @returns {void}
     */
    protected drawHiloOpenClosePath(series: Series, point: Points, open: ChartLocation, close: ChartLocation, rect: svgBase.Rect, argsData: IPointRenderEventArgs): void;
    /**
     * Get module name.
     *
     * @returns {string} - Returns the module name.
     */
    protected getModuleName(): string;
    /**
     * Animates the series.
     *
     * @param  {Series} series - Defines the series to animate.
     * @returns {void}
     * @private
     */
    doAnimation(series: Series): void;
    /**
     * To destroy the column series.
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-charts/src/chart/series/error-bar.d.ts
/**
 * The `ErrorBar` module is used to render the error bar for series.
 */
export  class ErrorBar {
    private chart;
    errorHeight: number;
    error: number;
    positiveHeight: number;
    negativeHeight: number;
    /**
     * Constructor for the error bar module.
     *
     * @private
     */
    constructor(chart: Chart);
    /**
     * Render the error bar for series.
     *
     * @returns {void}
     * @private
     */
    render(series: Series): void;
    private renderErrorBar;
    private findLocation;
    private calculateFixedValue;
    private calculatePercentageValue;
    private calculateStandardDeviationValue;
    private calculateStandardErrorValue;
    private calculateCustomValue;
    private getHorizontalDirection;
    private getVerticalDirection;
    private getBothDirection;
    private getErrorDirection;
    meanCalculation(series: Series, mode: ErrorBarMode): Mean;
    private createElement;
    /**
     * Animates the series.
     *
     * @param  {Series} series - Defines the series to animate.
     * @returns {void}
     * @private
     */
    doErrorBarAnimation(series: Series): void;
    /**
     * Get module name.
     */
    protected getModuleName(): string;
    /**
     * To destroy the errorBar for series.
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-charts/src/chart/series/data-label.d.ts
/**
 * The `DataLabel` module is used to render data labels for data points.
 */
export  class DataLabel1 {
    private chart;
    private margin;
    private isShape;
    private locationX;
    private locationY;
    private fontBackground;
    private borderWidth;
    private markerHeight;
    commonId: string;
    private yAxisInversed;
    private inverted;
    private errorHeight;
    private chartBackground;
    private extraSpace;
    /** @private */
    dataLabelRectCollection: {
        [id: string]: svgBase.Rect;
    };
    /**
     * Constructor for the data label module.
     *
     * @private
     */
    constructor(chart: Chart);
    private initPrivateVariables;
    private calculateErrorHeight;
    private isRectSeries;
    /**
     * Render the data label for series.
     *
     * @param {Series} series - The series to render.
     * @param {Chart} chart - The parent chart.
     * @param {DataLabelSettingsModel} dataLabel - The settings for data labels.
     * @returns {void}
     * @private
     */
    render(series: Series, chart: Chart, dataLabel: DataLabelSettingsModel): void;
    renderDataLabel(series: Series, point: Points, element: HTMLElement, dataLabel: DataLabelSettingsModel): Element[];
    /**
     * Renders the stack labels for the chart.
     *
     * This method is responsible for displaying cumulative total values on stacked chart segments.
     *
     * @returns {void}
     */
    renderStackLabels(): void;
    /**
     * This method is responsible for positioning the cumulative sum of stacking column series.
     *
     * @param {Object} positivePoints - The positive points of the stacking series.
     * @param {Object} negativePoints - The negative points of the stacking series.
     * @param {Element} stackLabelGroup - The stack label group element.
     * @param {number} stackLabelIndex - The index of the stack label.
     * @returns {number} - The number of stack labels.
     */
    calculateStackLabel(positivePoints: {
        [xValue: string]: Points;
    }, negativePoints: {
        [xValue: string]: Points;
    }, stackLabelGroup: Element, stackLabelIndex: number): number;
    /**
     * Retrieves the points of a rectangle.
     *
     * @param {svgBase.Rect} rect - The rectangle whose points are to be retrieved.
     * @returns {ChartLocation[]} - The points of the rectangle.
     */
    private getRectanglePoints;
    private isDataLabelOverlapWithChartBound;
    /**
     * Creates a template for data labels.
     *
     * @param {HTMLElement} parentElement - The parent element to which the template will be appended.
     * @param {Series} series - The series associated with the data label.
     * @param {DataLabelSettingsModel} dataLabel - The settings for the data label.
     * @param {Points} point - The data point to which the data label is associated.
     * @param {ITextRenderEventArgs} data - The event data associated with rendering the data label.
     * @param {number} labelIndex - The index of the data label.
     * @param {boolean} redraw - Specifies whether to redraw the template.
     * @returns {void}
     */
    private createDataLabelTemplate;
    calculateTemplateLabelSize(parentElement: HTMLElement, childElement: HTMLElement, point: Points, series: Series, dataLabel: DataLabelSettingsModel, labelIndex: number, clip: svgBase.Rect, redraw: boolean, isReactCallback?: boolean): void;
    private calculateTextPosition;
    private calculatePolarRectPosition;
    /**
     * Gets the location for the data label.
     *
     * @param {Points} point - The data point associated with the label.
     * @param {Series} series - The series associated with the data label.
     * @param {Size} textSize - The size of the text to be displayed in the data label.
     * @param {number} labelIndex - The index of the data label.
     * @returns {ChartLocation} - The location for the data label.
     */
    private getLabelLocation;
    private calculateRectPosition;
    private calculatePathPosition;
    private isDataLabelShape;
    private calculateRectActualPosition;
    private calculateAlignment;
    private calculateTopAndOuterPosition;
    /**
     * Updates the location of the data label.
     *
     * @param {LabelPosition} position - The position of the data label.
     * @param {number} location - The initial location of the data label.
     * @param {number} extraSpace - Extra space to adjust the label position.
     * @param {MarginModel} margin - The margin for the chart.
     * @param {svgBase.Rect} rect - The rectangle associated with the data label.
     * @param {boolean} top - Indicates whether the label is positioned at the top.
     * @param {boolean} inside - Indicates whether the label is inside the chart area.
     * @returns {number} The updated location of the data label.
     */
    private updateLabelLocation;
    private calculatePathActualPosition;
    /**
     * Initiates the animation for data labels.
     *
     * @param {Series} series - The series associated with the data labels.
     * @param {Element} [element] - The element to animate.
     * @returns {void}
     * @private
     */
    doDataLabelAnimation(series: Series, element?: Element): void;
    private getPosition;
    /**
     * Get module name.
     *
     * @returns {string} - Returns the module name.
     */
    protected getModuleName(): string;
    /**
     * To destroy the dataLabel for series.
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-charts/src/chart/series/column-series.d.ts
export interface CylinderSeriesOption {
    'isColumn': boolean;
    'stacking': boolean;
    'isLastSeries': boolean;
}
/**
 * The `ColumnSeries` module is used to render the column series.
 */
export  class ColumnSeries extends ColumnBase {
    sideBySideInfo: DoubleRange[];
    /**
     * Render Column series.
     *
     * @returns {void}
     * @private
     */
    rect: svgBase.Rect;
    render(series: Series): void;
    renderPoint(series: Series, pointColumn: Points, sideBySideInfo: DoubleRange, origin: number): void;
    updateDirection(series: Series, point: number[]): void;
    /**
     * Animates the series.
     *
     * @param  {Series} series - Defines the series to animate.
     * @returns {void}
     * @private
     */
    doAnimation(series: Series): void;
    /**
     * Get module name.
     *
     * @returns {string} - Returns the module name.
     */
    protected getModuleName(): string;
    /**
     * To destroy the column series.
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-charts/src/chart/series/column-base.d.ts
/**
 * Base class for column series.
 * This class provides common properties and methods for column series in the chart.
 *
 * @private
 */
export  class ColumnBase {
    /**
     * To get the position of the column series.
     *
     * @returns {DoubleRange} doubleRange
     * @private
     */
    options: svgBase.PathOption;
    element: HTMLElement;
    protected getSideBySideInfo(series: Series): DoubleRange;
    /**
     * Gets the rectangle bounds based on two points.
     *
     * @param {number} x1 - The x-coordinate of the first point.
     * @param {number} y1 - The y-coordinate of the first point.
     * @param {number} x2 - The x-coordinate of the second point.
     * @param {number} y2 - The y-coordinate of the second point.
     * @param {Series} series - The series associated with the rectangle.
     * @returns {svgBase.Rect} - The rectangle bounds.
     */
    protected getRectangle(x1: number, y1: number, x2: number, y2: number, series: Series): svgBase.Rect;
    /**
     * Draws a cylinder using the provided options and element.
     *
     * @param {svgBase.PathOption} options - The path options for drawing the cylinder.
     * @param {HTMLElement} element - The HTML element to which the cylinder is drawn.
     * @param {CylinderSeriesOption} cylinderSeriesOption - The options specific to the cylinder series.
     * @param {svgBase.Rect} rect - The rectangle bounds within which the cylinder is drawn.
     * @param {Series} series - The series associated with the cylinder.
     * @returns {void}
     */
    protected drawCylinder(options: svgBase.PathOption, element: HTMLElement, cylinderSeriesOption: CylinderSeriesOption, rect: svgBase.Rect, series: Series): void;
    /**
     * Draws a gradient using the provided options and gradient element.
     *
     * @param {OptionGradient} optiong - The gradient options for drawing the gradient.
     * @param {Object} gradientElement - The gradient element to which the gradient is applied.
     * @param {Series} series - The series associated with the gradient.
     * @returns {void}
     */
    private drawGradient;
    /**
     * To get the position of each series.
     *
     * @param {Series} series - The series for which side-by-side positions are calculated.
     * @returns {void}
     * @private
     */
    private getSideBySidePositions;
    private findRectPosition;
    /**
     * Updates the location of the symbol based on the point and rect coordinates.
     *
     * @param {Points} point - The point for which the symbol location is updated.
     * @param {svgBase.Rect} rect - The rect representing the symbol location.
     * @param {Series} series - The series to which the point belongs.
     * @returns {void}
     */
    protected updateSymbolLocation(point: Points, rect: svgBase.Rect, series: Series): void;
    /**
     * Updates the x-region of the symbol based on the point and rect coordinates.
     *
     * @param {Points} point - The point for which the x-region is updated.
     * @param {svgBase.Rect} rect - The rect representing the x-region.
     * @param {Series} series - The series to which the point belongs.
     * @returns {void}
     */
    protected updateXRegion(point: Points, rect: svgBase.Rect, series: Series): void;
    /**
     * Updates the y-region of the symbol based on the point and rect coordinates.
     *
     * @param {Points} point - The point for which the y-region is updated.
     * @param {svgBase.Rect} rect - The rect representing the y-region.
     * @param {Series} series - The series to which the point belongs.
     * @returns {void}
     */
    protected updateYRegion(point: Points, rect: svgBase.Rect, series: Series): void;
    /**
     * To render the marker for the series.
     *
     * @param {Series} series - The series for which markers are rendered.
     * @returns {void}
     * @private
     */
    renderMarker(series: Series): void;
    /**
     * To get the marker region when Y value is 0
     *
     * @param {Points} point point
     * @param {rect} rect rect
     * @param {Series} series series
     * @returns {void}
     */
    private getRegion;
    /**
     * Triggers the point render event.
     *
     * @param {Series} series - The series associated with the point.
     * @param {Points} point - The data point for which the event is triggered.
     * @param {string} fill - The fill color of the point.
     * @param {BorderModel} border - The border settings of the point.
     * @returns {IPointRenderEventArgs} - The event arguments.
     */
    protected triggerEvent(series: Series, point: Points, fill: string, border: BorderModel): IPointRenderEventArgs;
    /**
     * Draws a rectangle for the data point.
     *
     * @param {Series} series - The series associated with the point.
     * @param {Points} point - The data point for which the rectangle is drawn.
     * @param {svgBase.Rect} rect - The rect bounds.
     * @param {IPointRenderEventArgs} argsData - The event arguments.
     * @returns {void}
     */
    protected drawRectangle(series: Series, point: Points, rect: svgBase.Rect, argsData: IPointRenderEventArgs): void;
    /**
     * To animate the series.
     *
     * @param {Series} series - The series to be animated.
     * @returns {void}
     * @private
     */
    animate(series: Series): void;
    /**
     * Animates the rect element.
     *
     * @param {HTMLElement} element - The rect element to be animated.
     * @param {Series} series - The series associated with the rect.
     * @param {Points} point - The data point associated with the rect.
     * @returns {void}
     */
    private animateRect;
    /**
     * Calculates the path for a rounded rectangle.
     *
     * @param {svgBase.Rect} rect - The bounding rectangle.
     * @param {number} topLeft - The radius of the top-left corner.
     * @param {number} topRight - The radius of the top-right corner.
     * @param {number} bottomLeft - The radius of the bottom-left corner.
     * @param {number} bottomRight - The radius of the bottom-right corner.
     * @param {boolean} inverted - Indicates whether the rectangle is inverted.
     * @returns {string} The SVG path string representing the rounded rectangle.
     */
    private calculateRoundedRectPath;
}
export interface RectPosition {
    position: number;
    rectCount: number;
}
export interface OptionGradient {
    id: string;
    x1: string;
    y1: string;
    x2: string;
    y2: string;
}
export interface GradientStop {
    colorStop: string;
    color: string;
}
//node_modules/@syncfusion/ej2-charts/src/chart/series/chart-series.d.ts
/**
 * This class provides options to customize the appearance and behavior of data labels within a series.
 */
export  class DataLabelSettings extends base.ChildProperty<DataLabelSettings> {
    /**
     * If set to true, data labels for the series are render. By default, it is set to false.
     *
     * @default false
     */
    visible: boolean;
    /**
     * If set to true, data labels for zero values in the series are render.
     *
     * @default true
     */
    showZero: boolean;
    /**
     * Specifies the data source field that contains the data label value.
     *
     * @default null
     */
    name: string;
    /**
     * The background color of the data label accepts hex and rgba values as valid CSS color strings.
     *
     * @default 'transparent'
     */
    fill: string;
    /**
     * Used to format the data label, accepting global string formats like `C`, `n1`, `P`, etc.
     * It also supports placeholders, such as `{value}°C`, where `{value}` represent the point data label (e.g., 20°C).
     *
     * @default null
     */
    format: string;
    /**
     * Specifies the opacity level for the data label background, which controls its transparency.
     *
     * @default 1
     */
    opacity: number;
    /**
     * Specifies the rotation angle of the data label.
     *
     * @default 0
     */
    angle: number;
    /**
     * If set to true, the data label will be rotated according to the specified angle.
     *
     * @default false
     */
    enableRotation: boolean;
    /**
     * Specifies the position of the data label relative to the data point.
     * The available options 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 in the middle of the point.
     * * Auto: Automatically selects the best position for the label based on the series and data point.
     *
     * @default 'Auto'
     */
    position: LabelPosition;
    /**
     * Specifies the X-axis rounded corner radius for the data label.
     > Note that `border` values must not be null for this feature to work.
     *
     * @default 5
     */
    rx: number;
    /**
     * Specifies the Y-axis rounded corner radius for the data label.
     > Note that `border` values must not be null for this feature to work.
     *
     * @default 5
     */
    ry: number;
    /**
     * Specifies the alignment of the data label relative to the data point.
     * The available options are:
     * * Near: Positions the label to the left of the data point.
     * * Center: Positions the label in the center of the data point.
     * * Far: Positions the label to the right of the data point.
     *
     * @default 'Center'
     */
    alignment: Alignment;
    /**
     * Configures the appearance of the border lines with options for width and color properties.
     */
    border: BorderModel;
    /**
     * Configures the margin for the data label.
     */
    margin: MarginModel;
    /**
     * Customizes the appearance of the data label text with options for font size, color, style, weight, and family.
     */
    font: FontModel;
    /**
     * Custom template for the data label.
     * Use `${point.x}` and `${point.y}` as placeholders to display the corresponding data point values.
     *
     * @default null
     * @aspType string
     */
    template: string | Function;
    /**
     * Specifies the action to handle overlapping data labels.
     * Available options include:
     * * None - All data labels are displayed, even if they overlap.
     * * Hide - Overlapping data labels are hidden to avoid clutter.
     * * Rotate90 - Data labels are rotated 90 degrees to avoid overlap and improve readability.
     *
     * @default 'Hide'
     */
    labelIntersectAction: DataLabelIntersectAction;
}
/**
 * This class is used to define the appearance and behavior of the series markers.
 */
export  class MarkerSettings extends base.ChildProperty<MarkerSettings> {
    /**
     * If set to true, this enables the marker for the series.
     *
     * @default false
     */
    visible: boolean;
    /**
     * Configures the shape of the marker used in the series.
     * Available options are:
     * * Circle - Circular shape for the marker.
     * * Rectangle - Rectangular shape for the marker.
     * * Triangle - Triangular shape for the marker.
     * * Diamond - Diamond shape for the marker.
     * * HorizontalLine - Marker as a horizontal line.
     * * VerticalLine - Marker as a vertical line.
     * * Pentagon - Pentagon shape for the marker.
     * * InvertedTriangle - Inverted triangle shape for the marker.
     * * Image - Custom image as the marker.
     * * Star - Star shape fot the marker.
     *
     * @default null
     */
    shape: ChartShape;
    /**
     * The URL for the image to be displayed as a marker. It requires the marker's `shape` value to be `Image`.
     > Note that the marker's `shape` value must be `Image` for this feature to work.
     *
     * @default ''
     */
    imageUrl: string;
    /**
     * Specifies the height of the marker in pixels.
     *
     * @default 5
     */
    height: number;
    /**
     * If set to true, the marker will be filled with the series color.
     *
     * @default false
     */
    isFilled: boolean;
    /**
     * Specifies the width of the marker in pixels.
     *
     * @default 5
     */
    width: number;
    /**
     * Options for customizing the border of a marker, including setting the border's width and color.
     */
    border: BorderModel;
    /**
     * This property allows for the adjustment of the marker's position relative to its data point by specifying horizontal and vertical offsets.
     */
    offset: OffsetModel;
    /**
     * The fill color of the marker, which accepts values in hex and rgba as valid CSS color strings. By default, it takes the series color.
     *
     * @default null
     */
    fill: string;
    /**
     * The trackball is enabled by default when the mouse moves but disabling it can be achieved by setting the marker's `allowHighlight` property to 'false'.
     *
     * @default true
     */
    allowHighlight: boolean;
    /**
     * Sets the opacity level for the marker, which controls its transparency.
     *
     * @default 1
     */
    opacity: number;
    /**
     * The `dataLabel` property can be used to show the data label and customize its position and styling.
     */
    dataLabel: DataLabelSettingsModel;
}
/**
 * The `ParetoOptions` class provides a set of properties for configuring the Pareto series.
 */
export  class ParetoOptions extends base.ChildProperty<ParetoOptions> {
    /**
     * The fill color of the Pareto line, which accepts values in hex or rgba as valid CSS color strings.
     * By default, a color based on the theme is used.
     *
     * @default null
     */
    fill: string;
    /**
     * The `width` property controls the thickness of the line for the Pareto series, affecting its visual weight on the chart.
     *
     * @default 1
     */
    width: number;
    /**
     * Sets the pattern of dashes and gaps for the stroke of the Pareto line series.
     *
     * @default '0'
     */
    dashArray: string;
    /**
     * Options for displaying and customizing markers for individual points in a Pareto line.
     */
    marker: MarkerSettingsModel;
    /**
     * By default, the axis for the Pareto line is displayed, but this can be disabled using the `showAxis` property.
     *
     * @default true
     */
    showAxis: boolean;
}
/**
 * The model that represents how the points in a series are configured and displayed.
 *
 * @public
 */
export  class Points {
    /** Specifies the x-value of the point. */
    x: Object;
    /** Specifies the y-value of the point. */
    y: Object;
    /** Indicates whether the point is visible. */
    visible: boolean;
    /** Specifies the text associated with the point. */
    text: string;
    /** Specifies the tooltip content for the point. */
    tooltip: string;
    /** Specifies the color of the point. */
    color: string;
    /** Specifies the open value of the point. */
    open: Object;
    /** Specifies the close value of the point. */
    close: Object;
    /** Specifies the locations of symbols associated with the point. */
    symbolLocations: ChartLocation[];
    /** Specifies the x-value of the point. */
    xValue: number;
    /** Specifies the y-value of the point. */
    yValue: number;
    /** Specifies the color mapping column for the point. */
    colorValue: number;
    /** Specifies the index of the point in the series. */
    index: number;
    /** Specifies the regions associated with the point. */
    regions: svgBase.Rect[];
    /** Specifies the percentage value of the point. */
    percentage: number;
    /** Specifies the high value of the point. */
    high: Object;
    /** Specifies the low value of the point. */
    low: Object;
    /** Specifies the volume value of the point. */
    volume: Object;
    /** Specifies the size value of the point. */
    size: Object;
    /** Indicates whether the point is empty. */
    isEmpty: boolean;
    /** Specifies the region data of the point. */
    regionData: PolarArc;
    /** Specifies the minimum value of the point. */
    minimum: number;
    /** Specifies the maximum value of the point. */
    maximum: number;
    /** Specifies the upper quartile value of the point. */
    upperQuartile: number;
    /** Specifies the lower quartile value of the point. */
    lowerQuartile: number;
    /** Specifies the median value of the point. */
    median: number;
    /** Specifies the outliers value of the point. */
    outliers: number[];
    /** Specifies the average value of the point. */
    average: number;
    /** Specifies the error value of the point. */
    error: number | string;
    /** Specifies the interior color of the point. */
    interior: string;
    /** Indicates whether the point is selected. */
    isSelect: boolean;
    /** Specifies the series to which the point belongs. */
    series: Object;
    /** Specifies the marker settings for the point. */
    marker: MarkerSettingsModel;
    /**
     * Indicates whether the point is within the specified range.
     *
     * @private
     */
    isPointInRange: boolean;
    /** Specifies the color of the error bar for the point. */
    errorBarColor: string;
    /** Specifies the vertical error value for the point. */
    verticalError: number;
    /** Specifies the vertical negative error value for the point. */
    verticalNegativeError: number;
    /** Specifies the horizontal error value for the point. */
    horizontalError: number;
    /** Specifies the horizontal negative error value for the point. */
    horizontalNegativeError: number;
    /** Specifies the vertical positive error value for the point. */
    verticalPositiveError: number;
    /** Specifies the horizontal positive error value for the point. */
    horizontalPositiveError: number;
}
/**
 * Configures the behavior and appearance of trendlines in a chart series.
 * Trendlines indicate trends and the rate of price changes over a period.
 */
export  class Trendline extends base.ChildProperty<Trendline> {
    /**
     * The `name` property is used to assign a descriptive name to the trendline, which will be displayed in the chart as a legend.
     *
     * @default ''
     */
    name: string;
    /**
     * Configures the pattern of dashes and gaps in the trendline stroke using the `dashArray` property.
     *
     * @default ''
     */
    dashArray: string;
    /**
     * The `visible` property controls the display of the trendline. If set to true, the trendline will be rendered on the chart. If set to false, the trendline will be hidden.
     *
     * @default true
     */
    visible: boolean;
    /**
     * Defines the type of trendline used in the series.
     * Available types are:
     * * Linear - A straight line that shows the general direction of data.
     * * Exponential - A curve that fits data with exponential growth or decay.
     * * Polynomial - A curve that fits data with a polynomial function.
     * * Power - A curve that represents data with a power function.
     * * Logarithmic - A curve that fits data with a logarithmic scale.
     * * MovingAverage - A trendline that smoothens data using a moving average calculation.
     *
     * @default 'Linear'
     */
    type: TrendlineTypes;
    /**
     * Defines the period, the price changes over which will be considered to predict the moving average trendline.
     *
     * @default 2
     */
    period: number;
    /**
     * Defines the polynomial order of the polynomial trendline.
     *
     * @default 2
     */
    polynomialOrder: number;
    /**
     * Defines the period by which the trend is to be backward forecasted.
     *
     * @default 0
     */
    backwardForecast: number;
    /**
     * Defines the period by which the trend must be forward forecasted.
     *
     * @default 0
     */
    forwardForecast: number;
    /**
     * Options to customize the animation for trendlines.
     */
    animation: AnimationModel;
    /**
     * Options for customizing the markers for trendlines, including shape, size, color, and other visual aspects.
     *
     * @deprecated
     */
    marker: MarkerSettingsModel;
    /**
     * Enables or disables the tooltip for the trendline using the `enableTooltip` property. By default, it is set to true.
     *
     * @default true
     */
    enableTooltip: boolean;
    /**
     * Specifies the intercept value of the trendline.
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    intercept: number;
    /**
     * The fill color for the trendline, which accepts values in hex or rgba as valid CSS color strings.
     *
     * @default ''
     */
    fill: string;
    /**
     * Defines the width of the trendline.
     *
     * @default 1
     */
    width: number;
    /**
     * The `legendShape` property defines the shape used to represent the trendline in the chart legend.
     *
     * @default 'SeriesType'
     */
    legendShape: LegendShape;
    /**
     * Options to improve accessibility for chart trendline elements.
     */
    accessibility: AccessibilityModel;
    /** @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;
    /**
     * Sets the data source for the specified series in the provided chart.
     *
     * @private
     * @param {Series} series - The series for which the data source is set.
     * @param {Chart} chart - The chart in which the data source is set.
     * @returns {void}
     */
    setDataSource(series: Series, chart: Chart): void;
}
/**
 * The `ErrorBarCapSettings` class provides options to customize the appearance and behavior of error bars in a series.
 */
export  class ErrorBarCapSettings extends base.ChildProperty<ErrorBarCapSettings> {
    /**
     * The width of the error bar cap in pixels.
     *
     * @default 1
     */
    width: number;
    /**
     * The length of the caps on the error bars, measured in pixels.
     *
     * @default 10
     */
    length: number;
    /**
     * The stroke color of the cap, which accepts values in hex or rgba as valid CSS color strings.
     *
     * @default null
     */
    color: string;
    /**
     * The opacity of the error bar caps in the chart.
     *
     * @default 1
     */
    opacity: number;
}
export  class ChartSegment extends base.ChildProperty<ChartSegment> {
    /**
     * Defines the starting point of region.
     *
     * @default null
     */
    value: Object;
    /**
     * Defines the fill color for the region using a color name, hex code, or rgba value.
     *
     * @default null
     */
    color: string;
    /**
     * Specifies the dash pattern for the stroke of the series. The string format allows defining various dash and gap lengths.
     *
     * @default '0'
     */
    dashArray: string;
    /** @private */
    startValue: number;
    /** @private */
    endValue: number;
}
/**
 * The `ErrorBarSettings` class provides options to customize the appearance and behavior of error bars in a series.
 *
 * @public
 */
export  class ErrorBarSettings extends base.ChildProperty<ErrorBarSettings> {
    /**
     * If set to true, the error bar for the data will be rendered.
     *
     * @default false
     */
    visible: boolean;
    /**
     * Specifies the type of error bar.
     * The available options 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;
    /**
     * Specifies the direction of the error bar.
     * The available options are:
     * * Both - Renders error bars in both directions (positive and negative).
     * * Minus - Renders error bars in the negative direction.
     * * Plus - Renders error bars in the positive direction.
     *
     * @default 'Both'
     */
    direction: ErrorBarDirection;
    /**
     * Specifies the mode for the error bar.
     * The available options are:
     * * Vertical - Renders error bars in a vertical direction.
     * * Horizontal - Renders error bars in a horizontal direction.
     * * Both - Renders error bars in both vertical and horizontal directions.
     *
     * @default 'Vertical'
     */
    mode: ErrorBarMode;
    /**
     * The color of the error bar's stroke, which accepts values in hex, rgba, or as a valid CSS color string.
     *
     * @default null
     */
    color: string;
    /**
     * The vertical error for the point can also be mapped from the data source.
     *
     * @default 1
     * @aspType Object
     */
    verticalError: number | string;
    /**
     * The `width` property determines the thickness of the error bars rendered in the chart series.
     *
     * @default 1
     */
    width: number;
    /**
     * The horizontal error of the point can also be mapped from the data source.
     *
     * @default 1
     * @aspType Object
     */
    horizontalError: number | string;
    /**
     * The vertical positive error of the point can be mapped from the data source as well.
     *
     * @default 3
     * @aspType Object
     */
    verticalPositiveError: number | string;
    /**
     * The vertical negative error of the point can be mapped from the data source as well.
     *
     * @default 3
     * @aspType Object
     */
    verticalNegativeError: number | string;
    /**
     * The horizontal positive error of the point can be mapped from the data source as well.
     *
     * @default 1
     * @aspType Object
     */
    horizontalPositiveError: number | string;
    /**
     * The horizontal negative error of the point can be mapped from the data source as well.
     *
     * @default 1
     * @aspType Object
     */
    horizontalNegativeError: number | string;
    /**
     * The `errorBarCap` property allows customization of the appearance and behavior of the caps at the ends of error bars in a chart series.
     */
    errorBarCap: ErrorBarCapSettingsModel;
    /**
     * Defines the color for the error bar, which is mapped to the data source mapping name.
     *
     * @default ''
     */
    errorBarColorMapping: string;
}
/**
 * Defines the common behavior for series and technical indicators.
 */
export  class SeriesBase extends base.ChildProperty<SeriesBase> {
    /**
     * The data source field that contains the x value.
     * It is applicable to both series and technical indicators.
     *
     * @default ''
     */
    xName: string;
    /**
     * The data source field that contains the color mapping value.
     * It is applicable for range color mapping.
     */
    colorName: string;
    /**
     * The data source field that contains the high value.
     * It is applicable for both financial series and technical indicators.
     *
     * @default ''
     */
    high: string;
    /**
     * The data source field that contains the low value.
     * It is applicable for both financial series and technical indicators.
     *
     * @default ''
     */
    low: string;
    /**
     * The data source field that contains the open value.
     * It is applicable for both financial series and technical indicators.
     *
     * @default ''
     */
    open: string;
    /**
     * The data source field that contains the close value.
     * It is applicable for both financial series and technical indicators.
     *
     * @default ''
     */
    close: string;
    /**
     * Defines the data source field that contains the volume value in candle charts.
     * It is applicable for both financial series and technical indicators.
     *
     * @default ''
     */
    volume: string;
    /**
     * The data source field that contains the color value of a point.
     * It is applicable for series.
     *
     * @default ''
     */
    pointColorMapping: string;
    /**
     * If set to `true`, the series will be visible. If set to `false`, the series will be hidden.
     *
     * @default true
     */
    visible: boolean;
    /**
     * The name of the horizontal axis associated with the series. It requires `axes` of the chart.
     * It is applicable for series and technical indicators.
     * ```html
     * <div id='Chart'></div>
     * ```
     * ```typescript
     * let chart$: Chart = new Chart({
     * ...
     *     columns: [{ width: '50%' },
     *               { width: '50%' }],
     *     axes: [{
     *                name: 'xAxis 1',
     *                columnIndex: 1
     *            }],
     *     series: [{
     *                dataSource: data,
     *                xName: 'x', yName: 'y',
     *                xAxisName: 'xAxis 1'
     *     }],
     * });
     * chart.appendTo('#Chart');
     * ```
     *
     * @default null
     */
    xAxisName: string;
    /**
     * The name of the vertical axis associated with the series. It requires `axes` of the chart.
     * It is applicable for series and technical indicators.
     * ```html
     * <div id='Chart'></div>
     * ```
     * ```typescript
     * let chart$: Chart = new Chart({
     * ...
     *     rows: [{ height: '50%' },
     *            { height: '50%' }],
     *     axes: [{
     *                name: 'yAxis 1',
     *                rowIndex: 1
     *            }],
     *     series: [{
     *                dataSource: data,
     *                xName: 'x', yName: 'y',
     *                yAxisName: 'yAxis 1'
     *     }],
     * });
     * chart.appendTo('#Chart');
     * ```
     *
     * @default null
     */
    yAxisName: string;
    /**
     * Options for customizing the animation of the series.
     * By default, animation is enabled with a duration of 1000 milliseconds (about 1 second). It can be disabled by setting enable to `false`.
     * The following properties are supported in animation:
     * * enable: If set to true, the series is animated on initial loading.
     * * duration: The duration of the animation in milliseconds.
     * * delay: The delay before the animation starts, in milliseconds.
     */
    animation: AnimationModel;
    /**
     * The fill color for the series, which accepts values in hex or 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 is null.
     *
     * @default null
     */
    fill: string;
    /**
     * The stroke width for the series, 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 used to stroke the lines in `Line` type series.
     *
     * @default ''
     */
    dashArray: string;
    /**
     * Specifies the data source 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: 'https://services.syncfusion.com/js/production/api/orders'
     * });
     * let query$: data.Query = new data.Query().take(5);
     * let chart$: Chart = new Chart({
     * ...
     *   series: [{
     *        type: 'Column',
     *        dataSource: dataManager,
     *        xName: 'CustomerID',
     *        yName: 'Freight',
     *        query: query
     *    }],
     * ...
     * });
     * chart.appendTo('#Chart');
     * ```
     *
     * @default ''
     */
    dataSource: Object | data.DataManager;
    /**
     * Specifies a query to select data from the data source. This property is applicable only when the data source is an `ej.data.DataManager`.
     *
     * @default ''
     */
    query: data.Query;
    /**
     * Specifies a collection of regions used to differentiate a line series.
     */
    segments: ChartSegmentModel[];
    /**
     * Defines the axis along which the line series will be split.
     */
    segmentAxis: Segment;
    /**
     * This property is used to improve chart performance through data mapping for the series data source.
     *
     * @default false
     */
    enableComplexProperty: boolean;
    rangeColorPoints: string[];
    private isAdvancedColor;
    /**
     * Process data for the series.
     *
     * @hidden
     * @returns {void}
     */
    processJsonData(): void;
    /**
     * Calculates the errorbar and adds a range to axis if errorbar exeeds to the actual range.
     *
     * @returns {void}
     * @private
     */
    private updateYAxisForErrorBars;
    /**
     * Pushes a category point to the data collection.
     *
     * @param {Points} point -The point to be pushed.
     * @param {number} index -The index of the point.
     * @param {string} textMappingName -The name of the text mapping.
     * @param {string} xName -The name of the x-coordinate.
     * @returns {void}
     * @private
     */
    pushCategoryPoint(point: Points, index: number, textMappingName: string, xName: string): void;
    /**
     * Pushes a double point to the data collection.
     *
     * @param {Points} point -The point to be pushed.
     * @param {number} index -The index of the point.
     * @param {string} textMappingName -The name of the text mapping.
     * @param {string} xName -The name of the x-coordinate.
     * @returns {void}
     * @private
     */
    pushDoublePoint(point: Points, index: number, textMappingName: string, xName: string): void;
    /**
     * Pushes a DateTime point to the data collection.
     *
     * @param {Points} point -The point to be pushed.
     * @param {number} index -The index of the point.
     * @param {string} textMappingName -The name of the text mapping.
     * @param {string} xName -The name of the x-coordinate.
     * @param {Function} dateParser -The date parser function.
     * @param {Function} dateFormatter -The date formatter function.
     * @returns {void}
     * @private
     */
    pushDateTimePoint(point: Points, index: number, textMappingName: string, xName: string, dateParser: Function, dateFormatter: Function): void;
    updateSplineValue(): void;
    private rangeColorsInterior;
    /**
     * Sets the empty point values.
     *
     * @param {Points} point - The point to be set.
     * @param {number} i - The index of the point.
     * @private
     * @returns {void}
     */
    pushData(point: Points, i: number): void;
    /**
     * Retrieves the data point at the specified index with the given text mapping name and x-name.
     *
     * @param {number} i - The index of the data point to retrieve.
     * @param {string} textMappingName - The name used to map text data.
     * @param {string} xName - The name used for the x-axis.
     * @returns {Points} - The data point at the specified index.
     * @private
     */
    protected dataPoint(i: number, textMappingName: string, xName: string): Points;
    private isAdvancedColorSupported;
    private getPointFillColor;
    /**
     * Pushes a category point to the data collection.
     *
     * @param {string} mappingName - The name of the mapping.
     * @param {Object} data - The data to be pushed.
     * @returns {Object} - The data point at the specified index.
     * @private
     */
    getObjectValue(mappingName: string, data: Object): Object;
    /**
     * Sets the specified data point as an empty point at the given index.
     *
     * @private
     * @param {Points} point - The data point to set as empty.
     * @param {number} i - The index of the data point.
     * @returns {void}
     */
    setEmptyPoint(point: Points, i: number): void;
    private findVisibility;
    /**
     * To get Y min max for the provided point seriesType XY.
     *
     * @param {number} yValue - The y value used to determine the minimum and maximum values for the x and y coordinates.
     * @returns {void}
     */
    private setXYMinMax;
    /**
     * Sets the minimum and maximum values for the high and low values.
     *
     * @private
     * @param {number} high - The high value used to determine the maximum value.
     * @param {number} low - The low value used to determine the minimum value.
     * @returns {void}
     */
    private setHiloMinMax;
    /**
     * Finds the type of the series.
     *
     * @private
     * @returns {void}
     */
    private getSeriesType;
    /**
     * Pushes category data into the series points.
     *
     * @param {Points} point - The point to which category data will be pushed.
     * @param {number} index - The index of the data point.
     * @param {string} pointX - The x-value of the point.
     * @returns {void}
     * @private
     */
    protected pushCategoryData(point: Points, index: number, pointX: string): void;
    /**
     * Gets the average value of a member in the specified data array or current view data.
     *
     * @param {string} member - The member whose average is to be calculated.
     * @param {number} i - The index of the data point.
     * @param {Object} data - The data array from which to calculate the average. Defaults to the current view data.
     * @returns {number} - The average value of the specified member.
     */
    private getAverage;
    /**
     * Refreshes the data manager for the provided chart.
     *
     * @param {Chart} chart - The chart whose data manager is to be refreshed.
     * @returns {void}
     * @private
     */
    refreshDataManager(chart: Chart): void;
    private dataManagerSuccess;
    private refreshChart;
    /** @private */
    xMin: number;
    /** @private */
    xMax: number;
    /** @private */
    yMin: number;
    /** @private */
    yMax: number;
    /** @private */
    xAxis: Axis;
    /** @private */
    yAxis: Axis;
    /** @private */
    chart: Chart;
    /** @private */
    currentViewData: Object;
    /** @private */
    clipRect: svgBase.Rect;
    /** @private */
    xData: number[];
    /** @private */
    yData: number[];
    /** @private */
    index: number;
    /** @private */
    dataModule: Data;
    /** @private */
    points: Points[];
    /** @private */
    visiblePoints: Points[];
    /** @private */
    seriesType: SeriesValueType;
    /** @private */
    sizeMax: number;
    /** @private */
    private recordsCount;
    private isRectTypeSeries;
    removedPointIndex: number;
    /** @private */
    isLegendClicked: boolean;
}
/**
 * The `Series` class is used to configure individual series in a chart.
 *
 * @public
 */
export  class Series extends SeriesBase {
    /**
     * The `name` property allows setting a name for the series, which will be displayed in the legend, identifying different series in the chart, especially when multiple series are present.
     *
     * @default ''
     */
    name: string;
    /**
     * The data source field that contains the y value.
     *
     * @default ''
     */
    yName: string;
    /**
     * Specifies the type of series to be drawn in radar or polar charts.
     * The available options are:
     * * 'Line' - Renders a line series.
     * * 'Column' - Renders a column series.
     * * 'Area' - Renders an area series.
     * * 'Scatter' - Renders a scatter series.
     * * 'Spline' - Renders a spline series.
     * * 'StackingColumn' - Renders a stacking column series.
     * * 'StackingArea' - Renders a stacking area series.
     * * 'RangeColumn' - Renders a range column series.
     * * 'SplineArea' - Renders a spline area series.
     *
     * @default 'Line'
     */
    drawType: ChartDrawType;
    /**
     * Specifies whether to join the start and end points of a line/area series used in a polar/radar chart to form a closed path.
     *
     * @default true
     */
    isClosed: boolean;
    /**
     * This property is used in financial charts to visualize price movements in stocks.
     * It defines the color of the candle/point when the opening price is less than the closing price.
     *
     * @default null
     */
    bearFillColor: string;
    /**
     * This property is used in financial charts to visualize price movements in stocks.
     * It defines the color of the candle/point when the opening price is higher than the closing price.
     *
     * @default null
     */
    bullFillColor: string;
    /**
     * This property is applicable for the candle series.
     * It enables or disables the visual comparison of the current values with previous values in stock charts.
     *
     * @default false
     */
    enableSolidCandles: boolean;
    /**
     * The data source field that contains the size value for the y-axis.
     *
     * @default ''
     */
    size: string;
    /**
     * The `binInterval` property controls the width of each bin and the interval between bins for histogram points.
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    binInterval: number;
    /**
     * Specifies whether to display the normal distribution curve for the histogram series.
     *
     * @default false
     */
    showNormalDistribution: boolean;
    /**
     * This property allows the grouping of series in stacked column and stacked bar charts.
     * Any string value can be assigned to the `stackingGroup` property.
     * Series with the same `stackingGroup` value will be grouped together in the chart.
     *
     * @default ''
     */
    stackingGroup: string;
    /**
     * Options for customizing the border of the series.
     > Note that this property is applicable only for `Column` and `Bar` type series.
     */
    border: BorderModel;
    /**
     * Sets the opacity of the series, with a value between 0 and 1 where 0 is fully transparent and 1 is fully opaque.
     *
     * @default 1
     */
    opacity: number;
    /**
     * The z-order of the series, which controls the stack order of the series. Higher values are drawn on top of lower values.
     *
     * @default 0
     */
    zOrder: number;
    /**
     * Defines the name that specifies the chart series are mutually exclusive and can be overlaid.
     * Series in the same group share the same baseline and location on the corresponding axis.
     *
     * @default ''
     */
    groupName: string;
    /**
     * The type of the series determines the visual representation of the data.
     * Available series types include:
     * * Line - Draws a line series.
     * * Column - Draws a column series.
     * * Area - Draws an area series.
     * * Bar - Draws a bar series.
     * * Histogram - Draws a histogram series.
     * * StackingColumn - Draws a stacking column series.
     * * StackingArea - Draws a stacking area series.
     * * StackingBar - Draws a stacking bar series.
     * * StepLine - Draws a step line series.
     * * StepArea - Draws a step area series.
     * * Scatter - Draws a scatter series.
     * * Spline - Draws a spline series.
     * * StackingColumn100 - Draws a 100% stacked column series.
     * * StackingBar100 - Draws a 100% stacked bar series.
     * * StackingArea100 - Draws a 100% stacked area series.
     * * RangeColumn - Draws a range column series.
     * * Hilo - Draws a Hilo series.
     * * HiloOpenClose - Draws a Hilo Open Close series.
     * * Waterfall - Draws a waterfall series.
     * * RangeArea - Draws a range area series.
     * * SplineRangeArea - Draws a spline range area series.
     * * Bubble - Draws a bubble series.
     * * Candle - Draws a candle series.
     * * Polar - Draws a polar series.
     * * Radar - Draws a radar series.
     * * BoxAndWhisker - Draws a box and whisker series.
     * * Pareto - Draws a Pareto series.
     *
     * @default 'Line'
     */
    type: ChartSeriesType;
    /**
     * Options for displaying and customizing error bars for individual points in a series.
     */
    errorBar: ErrorBarSettingsModel;
    /**
     * Options for displaying and customizing markers for individual points in a series.
     */
    marker: MarkerSettingsModel;
    /**
     * Options for customizing the Pareto line series, including its appearance and behavior in the chart.
     */
    paretoOptions: ParetoOptionsModel;
    /**
     * Customize the drag settings for the series with this property to configure drag behavior in the chart.
     */
    dragSettings: DragSettingsModel;
    /**
     * Defines the collection of trendlines used to predict the trend.
     */
    trendlines: TrendlineModel[];
    /**
     * Controls whether the tooltip for the chart series is enabled or disabled. Set to true to display tooltips on hover, or false to hide them.
     *
     * @default true
     */
    enableTooltip: boolean;
    /**
     * Enables or disables the display of tooltips for the nearest data point to the cursor for series.
     *
     * @default true
     */
    showNearestTooltip: boolean;
    /**
     * Use this property to define a custom format for how tooltips are displayed.
     * ```html
     * <div id='Chart'></div>
     * ```
     * ```typescript
     * let chart$: Chart = new Chart({
     * ...
     *    series: [{
     *           dataSource: data,
     *           xName: 'x',
     *           yName: 'y',
     *           tooltipFormat: '${point.x} : ${point.y}'
     *     }],
     *    tooltip: {
     *       enable: true
     *    }
     * });
     * chart.appendTo('#Chart');
     * ```
     *
     * @default ''
     */
    tooltipFormat: string;
    /**
     * The data source field that contains the value to be displayed in the tooltip.
     *
     * @default ''
     */
    tooltipMappingName: string;
    /**
     * Specifies the shape of the legend icon for each series.
     * Available shapes for legend:
     * * Circle - Renders a circular icon.
     * * Rectangle - Renders a rectangular icon.
     * * Triangle - Renders a triangular icon.
     * * Diamond - Renders a diamond-shaped icon.
     * * Cross - Renders a cross-shaped icon.
     * * HorizontalLine - Renders a horizontal line icon.
     * * VerticalLine - Renders a vertical line icon.
     * * Pentagon - Renders a pentagon-shaped icon.
     * * InvertedTriangle - Renders an inverted triangle-shaped icon.
     * * SeriesType - Uses the default icon shape based on the series type.
     * * Image - Renders a custom image for the legend icon.
     *
     * @default 'SeriesType'
     */
    legendShape: LegendShape;
    /**
     * The URL for the image to be displayed as a legend icon.
     > Note that `legendShape` must be set to `Image`.
     *
     * @default ''
     */
    legendImageUrl: string;
    /**
     * The `selectionStyle` property is used to specify custom CSS styles for the selected series or points.
     *
     * @default null
     */
    selectionStyle: string;
    /**
     * The `unSelectedStyle` property is used to specify custom CSS styles for the deselected series or points.
     *
     * @default null
     */
    unSelectedStyle: string;
    /**
     * The `nonHighlightStyle` property is used to specify custom CSS styles for the non-highlighted series or points.
     *
     * @default null
     */
    nonHighlightStyle: string;
    /**
     * Specifies the minimum radius for the data points in the series.
     *
     * @default 1
     */
    minRadius: number;
    /**
     * Specifies the maximum radius for the data points in the series.
     *
     * @default 3
     */
    maxRadius: number;
    /**
     * Specifies the type of spline used for rendering.
     * Available options include:
     * * Natural - Renders a natural spline.
     * * Cardinal - Renders a cardinal spline.
     * * Clamped - Renders a clamped spline.
     * * Monotonic - Renders a monotonic spline.
     *
     * @default 'Natural'
     */
    splineType: SplineType;
    /**
     * Specifies the tension parameter for cardinal splines. This affects the curvature of the spline.
     *
     * @default 0.5
     */
    cardinalSplineTension: number;
    /**
     * Customization options for the appearance of empty points in the series.
     * `null` or `undefined` values are considered empty points.
     */
    emptyPointSettings: EmptyPointSettingsModel;
    /**
     * If set to true, the mean value for the box and whisker plot will be visible.
     *
     * @default true
     */
    showMean: boolean;
    /**
     * Specifies the box plot mode for the box and whisker chart series.
     * The available modes are:
     * Exclusive - Renders the series based on the exclusive mode.
     * Inclusive - Renders the series based on the inclusive mode.
     * Normal - Renders the series based on the normal mode.
     *
     * @default 'Normal'
     */
    boxPlotMode: BoxPlotMode;
    /**
     * Specifies whether to display outliers in the Box and Whisker chart.
     *
     * If set to `true`, outliers will be displayed as individual points beyond the whiskers, representing data points that significantly differ from the rest of the dataset.
     * If set to `false`, outliers will be hidden, and only the box, median, and whiskers will be rendered.
     *
     * Outliers are typically used to identify extreme values in statistical data representation.
     *
     * @default true
     */
    showOutliers: boolean;
    /**
     * The `columnWidth` property can be used to customize the width of the columns in a column series.
     > Note that if the series type is histogram, the default value is 1;
 otherwise, it is 0.7.
     *
     * @default null
     * @aspDefaultValueIgnore
     * @blazorDefaultValue Double.NaN
     */
    columnWidth: number;
    /**
     * To render the column series points with a specific column width in pixels.
     *
     * @default null
     * @aspDefaultValueIgnore
     * @blazorDefaultValue Double.NaN
     */
    columnWidthInPixel: number;
    /**
     * Defines the shape of the data in a column and bar chart.
     * Available shapes are:
     * * Rectangle: Displays the data in a column and bar chart with a rectangular shape.
     * * Cylinder: Displays the data in a column and bar chart with a cylindrical shape.
     *
     * @default 'Rectangle'
     */
    columnFacet: ShapeType;
    /**
     * This property determines the space between columns in a column or bar chart.
     > Note that it takes a value from 0 to 1.
     *
     * @default 0
     */
    columnSpacing: number;
    /**
     * Defines the visual representation of negative changes in waterfall charts.
     *
     * @default '#C64E4A'
     */
    negativeFillColor: string;
    /**
     * Defines the visual representation of summaries in waterfall charts.
     *
     * @default '#4E81BC'
     */
    summaryFillColor: string;
    /**
     * Defines the collection of indexes for the intermediate summary columns in waterfall charts.
     *
     * @default []
     * @aspType int[]
     */
    intermediateSumIndexes: number[];
    /**
     * Defines the collection of indexes for the overall summary columns in waterfall charts.
     *
     * @default []
     * @aspType int[]
     */
    sumIndexes: number[];
    /**
     * The `step` property can be used to change the position of the steps in step line, step area, and step range area chart types.
     * * Left: Steps start from the left side of the 2nd point.
     * * Center: Steps start between the data points.
     * * Right: Steps start from the right side of the 1st point.
     *
     * @default 'Left'
     */
    step: StepPosition;
    /**
     * When set to true, the step series will be rendered without the vertical lines (risers) connecting the horizontal steps.
     > Note this property is only applicable to step series.
     *
     * @default false
     */
    noRisers: boolean;
    /**
     * Options to improve accessibility for series elements.
     */
    accessibility: SeriesAccessibilityModel;
    /**
     * Specifies the appearance of the line connecting adjacent points in waterfall charts.
     */
    connector: ConnectorModel;
    /**
     * The `cornerRadius` property specifies the radius for the corners of the column series points to create a rounded appearance in the chart.
     */
    cornerRadius: CornerRadiusModel;
    visibleSeriesCount: number;
    /** @private */
    position: number;
    /** @private */
    rectCount: number;
    /** @private */
    seriesElement: Element;
    /** @private */
    errorBarElement: Element;
    /** @private */
    symbolElement: Element;
    /** @private */
    shapeElement: Element;
    /** @private */
    textElement: Element;
    /** @private */
    pathElement: Element;
    /** @private */
    sourceIndex: number;
    /** @private */
    category: SeriesCategories;
    /** @private */
    isRectSeries: boolean;
    /** @private */
    clipRectElement: Element;
    /** @private */
    stackedValues: StackValues;
    /** @private */
    interior: string;
    /** @private */
    histogramValues: IHistogramValues;
    /** @private */
    drawPoints: ControlPoints[];
    /** @private */
    lowDrawPoints: ControlPoints[];
    /** @private */
    delayedAnimation: boolean;
    /** @private */
    rangeColorName: string;
    constructor(parent: any, propName: string, defaultValue: Object, isArray?: boolean);
    /** @private */
    currentData: Array<number | string>;
    /**
     * Refresh the axis label.
     *
     * @returns {void}
     * @private
     */
    refreshAxisLabel(): void;
    /**
     * To get the series collection.
     *
     * @returns {void}
     * @private
     */
    findSeriesCollection(column: Column, row: Row, isStack: boolean): Series[];
    /**
     * Checks if the series in the chart are rectangular.
     *
     * @param {Series} series - The series to be checked.
     * @param {boolean} isStack - Specifies whether the series are stacked.
     * @returns {boolean} - Returns true if the series in the chart are rectangular, otherwise false.
     */
    private rectSeriesInChart;
    /**
     * Calculates the stacked value for the chart.
     *
     * @param {boolean} isStacking100 - Specifies whether the stacking is 100%.
     * @param {Chart} chart - The chart for which the stacked value is calculated.
     * @returns {void}
     * @private
     */
    calculateStackedValue(isStacking100: boolean, chart: Chart): void;
    private calculateStackingValues;
    private findPercentageOfStacking;
    private findFrequencies;
    /**
     * Renders the series on the chart.
     *
     * @param {Chart} chart - The chart on which the series is rendered.
     * @returns {void}
     * @private
     */
    renderSeries(chart: Chart): void;
    /**
     * Creates elements for the series on the chart.
     *
     * @param {Chart} chart - The chart for which series elements are created.
     * @returns {void}
     * @private
     */
    createSeriesElements(chart: Chart): void;
    private checkTabindex;
    /**
     * Appends a series element to the chart.
     *
     * @param {Element} element - The series element to append.
     * @param {Chart} chart - The chart to which the series element will be appended.
     * @returns {void}
     * @private
     */
    appendSeriesElement(element: Element, chart: Chart): void;
    /**
     * Performs animation for the specified chart elements.
     *
     * @param {Chart} chart - The chart for which animation is performed.
     * @param {string} type - The type of animation to be performed.
     * @param {ErrorBarSettingsModel} errorBar - The error bar settings for the animation.
     * @param {MarkerSettingsModel} marker - The marker settings for the animation.
     * @param {DataLabelSettingsModel} dataLabel - The data label settings for the animation.
     * @returns {void}
     * @private
     */
    performAnimation(chart: Chart, type: string, errorBar: ErrorBarSettingsModel, marker: MarkerSettingsModel, dataLabel: DataLabelSettingsModel): void;
    /**
     * Sets the color of a data point.
     *
     * @param {Points} point - The data point.
     * @param {string} color - The color to set.
     * @returns {string} - The updated color.
     * @private
     */
    setPointColor(point: Points, color: string): string;
    /**
     * Sets the border color of a data point.
     *
     * @param {Points} point - The data point.
     * @param {BorderModel} border - The border color to set.
     * @returns {BorderModel} - The updated border color.
     * @private
     */
    setBorderColor(point: Points, border: BorderModel): BorderModel;
    /**
     * Adds a data point to the data source.
     *
     * @function addPoint
     * @param {Object} dataPoint - The data point to be added.
     * @param {number} duration - The duration for the animation.
     * @returns {void}
     */
    addPoint(dataPoint: Object, duration?: number): void;
    /**
     * Removes a data point from the series data source at the specified index.
     *
     * @function removePoint
     * @param {number} index - The index of the data point to be removed.
     * @param {number} duration - The duration for the animation.
     * @returns {void}
     */
    removePoint(index: number, duration?: number): void;
    private updatePointsAfterRemoval;
    /**
     * Removes trackball elements from the series.
     *
     * @param {number} index - The index of the data point.
     * @returns {void}
     */
    private removeTrackballElements;
    /**
     * Sets the data source with the provided data.
     *
     * @function setData
     * @param {Object[]} data - An array of objects representing the data points.
     * @param {number} duration - The duration for the animation.
     * @returns {void}
     */
    setData(data: Object[], duration?: number): void;
    /**
     * Updates the chart axes based on current data and axis bounds.
     *
     * @returns {void}
     */
    private updateChartAxis;
    private updateSeries;
    private updatePoint;
    /**
     * Formats the accessibility description for a chart series.
     *
     * @param {Points} point - Data point containing the values to be formatted.
     * @param {Series} series - Series containing the values to be formatted.
     * @param {string} format - String format with placeholders to be replaced with actual values.
     * @returns {string} The formatted accessibility description string.
     */
    formatAccessibilityDescription(point: Points, series: Series): string;
}
//node_modules/@syncfusion/ej2-charts/src/chart/series/chart-series-model.d.ts
/**
 * Interface for a class DataLabelSettings
 */
export interface DataLabelSettingsModel {
    /**
     * If set to true, data labels for the series are render. By default, it is set to false.
     *
     * @default false
     */
    visible?: boolean;
    /**
     * If set to true, data labels for zero values in the series are render.
     *
     * @default true
     */
    showZero?: boolean;
    /**
     * Specifies the data source field that contains the data label value.
     *
     * @default null
     */
    name?: string;
    /**
     * The background color of the data label accepts hex and rgba values as valid CSS color strings.
     *
     * @default 'transparent'
     */
    fill?: string;
    /**
     * Used to format the data label, accepting global string formats like `C`, `n1`, `P`, etc.
     * It also supports placeholders, such as `{value}°C`, where `{value}` represent the point data label (e.g., 20°C).
     *
     * @default null
     */
    format?: string;
    /**
     * Specifies the opacity level for the data label background, which controls its transparency.
     *
     * @default 1
     */
    opacity?: number;
    /**
     * Specifies the rotation angle of the data label.
     *
     * @default 0
     */
    angle?: number;
    /**
     * If set to true, the data label will be rotated according to the specified angle.
     *
     * @default false
     */
    enableRotation?: boolean;
    /**
     * Specifies the position of the data label relative to the data point.
     * The available options 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 in the middle of the point.
     * * Auto: Automatically selects the best position for the label based on the series and data point.
     *
     * @default 'Auto'
     */
    position?: LabelPosition;
    /**
     * Specifies the X-axis rounded corner radius for the data label.
     > Note that `border` values must not be null for this feature to work.
     *
     * @default 5
     */
    rx?: number;
    /**
     * Specifies the Y-axis rounded corner radius for the data label.
     > Note that `border` values must not be null for this feature to work.
     *
     * @default 5
     */
    ry?: number;
    /**
     * Specifies the alignment of the data label relative to the data point.
     * The available options are:
     * * Near: Positions the label to the left of the data point.
     * * Center: Positions the label in the center of the data point.
     * * Far: Positions the label to the right of the data point.
     *
     * @default 'Center'
     */
    alignment?: Alignment;
    /**
     * Configures the appearance of the border lines with options for width and color properties.
     */
    border?: BorderModel;
    /**
     * Configures the margin for the data label.
     */
    margin?: MarginModel;
    /**
     * Customizes the appearance of the data label text with options for font size, color, style, weight, and family.
     */
    font?: FontModel;
    /**
     * Custom template for the data label.
     * Use `${point.x}` and `${point.y}` as placeholders to display the corresponding data point values.
     *
     * @default null
     * @aspType string
     */
    template?: string | Function;
    /**
     * Specifies the action to handle overlapping data labels.
     * Available options include:
     * * None - All data labels are displayed, even if they overlap.
     * * Hide - Overlapping data labels are hidden to avoid clutter.
     * * Rotate90 - Data labels are rotated 90 degrees to avoid overlap and improve readability.
     *
     * @default 'Hide'
     */
    labelIntersectAction?: DataLabelIntersectAction;
}
/**
 * Interface for a class MarkerSettings
 */
export interface MarkerSettingsModel {
    /**
     * If set to true, this enables the marker for the series.
     *
     * @default false
     */
    visible?: boolean;
    /**
     * Configures the shape of the marker used in the series.
     * Available options are:
     * * Circle - Circular shape for the marker.
     * * Rectangle - Rectangular shape for the marker.
     * * Triangle - Triangular shape for the marker.
     * * Diamond - Diamond shape for the marker.
     * * HorizontalLine - Marker as a horizontal line.
     * * VerticalLine - Marker as a vertical line.
     * * Pentagon - Pentagon shape for the marker.
     * * InvertedTriangle - Inverted triangle shape for the marker.
     * * Image - Custom image as the marker.
     * * Star - Star shape fot the marker.
     *
     * @default null
     */
    shape?: ChartShape;
    /**
     * The URL for the image to be displayed as a marker. It requires the marker's `shape` value to be `Image`.
     > Note that the marker's `shape` value must be `Image` for this feature to work.
     *
     * @default ''
     */
    imageUrl?: string;
    /**
     * Specifies the height of the marker in pixels.
     *
     * @default 5
     */
    height?: number;
    /**
     * If set to true, the marker will be filled with the series color.
     *
     * @default false
     */
    isFilled?: boolean;
    /**
     * Specifies the width of the marker in pixels.
     *
     * @default 5
     */
    width?: number;
    /**
     * Options for customizing the border of a marker, including setting the border's width and color.
     */
    border?: BorderModel;
    /**
     * This property allows for the adjustment of the marker's position relative to its data point by specifying horizontal and vertical offsets.
     */
    offset?: OffsetModel;
    /**
     * The fill color of the marker, which accepts values in hex and rgba as valid CSS color strings. By default, it takes the series color.
     *
     * @default null
     */
    fill?: string;
    /**
     * The trackball is enabled by default when the mouse moves but disabling it can be achieved by setting the marker's `allowHighlight` property to 'false'.
     *
     * @default true
     */
    allowHighlight?: boolean;
    /**
     * Sets the opacity level for the marker, which controls its transparency.
     *
     * @default 1
     */
    opacity?: number;
    /**
     * The `dataLabel` property can be used to show the data label and customize its position and styling.
     */
    dataLabel?: DataLabelSettingsModel;
}
/**
 * Interface for a class ParetoOptions
 */
export interface ParetoOptionsModel {
    /**
     * The fill color of the Pareto line, which accepts values in hex or rgba as valid CSS color strings.
     * By default, a color based on the theme is used.
     *
     * @default null
     */
    fill?: string;
    /**
     * The `width` property controls the thickness of the line for the Pareto series, affecting its visual weight on the chart.
     *
     * @default 1
     */
    width?: number;
    /**
     * Sets the pattern of dashes and gaps for the stroke of the Pareto line series.
     *
     * @default '0'
     */
    dashArray?: string;
    /**
     * Options for displaying and customizing markers for individual points in a Pareto line.
     */
    marker?: MarkerSettingsModel;
    /**
     * By default, the axis for the Pareto line is displayed, but this can be disabled using the `showAxis` property.
     *
     * @default true
     */
    showAxis?: boolean;
}
/**
 * Interface for a class Points
 */
export interface PointsModel {
}
/**
 * Interface for a class Trendline
 */
export interface TrendlineModel {
    /**
     * The `name` property is used to assign a descriptive name to the trendline, which will be displayed in the chart as a legend.
     *
     * @default ''
     */
    name?: string;
    /**
     * Configures the pattern of dashes and gaps in the trendline stroke using the `dashArray` property.
     *
     * @default ''
     */
    dashArray?: string;
    /**
     * The `visible` property controls the display of the trendline. If set to true, the trendline will be rendered on the chart. If set to false, the trendline will be hidden.
     *
     * @default true
     */
    visible?: boolean;
    /**
     * Defines the type of trendline used in the series.
     * Available types are:
     * * Linear - A straight line that shows the general direction of data.
     * * Exponential - A curve that fits data with exponential growth or decay.
     * * Polynomial - A curve that fits data with a polynomial function.
     * * Power - A curve that represents data with a power function.
     * * Logarithmic - A curve that fits data with a logarithmic scale.
     * * MovingAverage - A trendline that smoothens data using a moving average calculation.
     *
     * @default 'Linear'
     */
    type?: TrendlineTypes;
    /**
     * Defines the period, the price changes over which will be considered to predict the moving average trendline.
     *
     * @default 2
     */
    period?: number;
    /**
     * Defines the polynomial order of the polynomial trendline.
     *
     * @default 2
     */
    polynomialOrder?: number;
    /**
     * Defines the period by which the trend is to be backward forecasted.
     *
     * @default 0
     */
    backwardForecast?: number;
    /**
     * Defines the period by which the trend must be forward forecasted.
     *
     * @default 0
     */
    forwardForecast?: number;
    /**
     * Options to customize the animation for trendlines.
     */
    animation?: AnimationModel;
    /**
     * Options for customizing the markers for trendlines, including shape, size, color, and other visual aspects.
     *
     * @deprecated
     */
    marker?: MarkerSettingsModel;
    /**
     * Enables or disables the tooltip for the trendline using the `enableTooltip` property. By default, it is set to true.
     *
     * @default true
     */
    enableTooltip?: boolean;
    /**
     * Specifies the intercept value of the trendline.
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    intercept?: number;
    /**
     * The fill color for the trendline, which accepts values in hex or rgba as valid CSS color strings.
     *
     * @default ''
     */
    fill?: string;
    /**
     * Defines the width of the trendline.
     *
     * @default 1
     */
    width?: number;
    /**
     * The `legendShape` property defines the shape used to represent the trendline in the chart legend.
     *
     * @default 'SeriesType'
     */
    legendShape?: LegendShape;
    /**
     * Options to improve accessibility for chart trendline elements.
     */
    accessibility?: AccessibilityModel;
}
/**
 * Interface for a class ErrorBarCapSettings
 */
export interface ErrorBarCapSettingsModel {
    /**
     * The width of the error bar cap in pixels.
     *
     * @default 1
     */
    width?: number;
    /**
     * The length of the caps on the error bars, measured in pixels.
     *
     * @default 10
     */
    length?: number;
    /**
     * The stroke color of the cap, which accepts values in hex or rgba as valid CSS color strings.
     *
     * @default null
     */
    color?: string;
    /**
     * The opacity of the error bar caps in the chart.
     *
     * @default 1
     */
    opacity?: number;
}
/**
 * Interface for a class ChartSegment
 */
export interface ChartSegmentModel {
    /**
     * Defines the starting point of region.
     *
     * @default null
     */
    value?: Object;
    /**
     * Defines the fill color for the region using a color name, hex code, or rgba value.
     *
     * @default null
     */
    color?: string;
    /**
     * Specifies the dash pattern for the stroke of the series. The string format allows defining various dash and gap lengths.
     *
     * @default '0'
     */
    dashArray?: string;
}
/**
 * Interface for a class ErrorBarSettings
 */
export interface ErrorBarSettingsModel {
    /**
     * If set to true, the error bar for the data will be rendered.
     *
     * @default false
     */
    visible?: boolean;
    /**
     * Specifies the type of error bar.
     * The available options 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;
    /**
     * Specifies the direction of the error bar.
     * The available options are:
     * * Both - Renders error bars in both directions (positive and negative).
     * * Minus - Renders error bars in the negative direction.
     * * Plus - Renders error bars in the positive direction.
     *
     * @default 'Both'
     */
    direction?: ErrorBarDirection;
    /**
     * Specifies the mode for the error bar.
     * The available options are:
     * * Vertical - Renders error bars in a vertical direction.
     * * Horizontal - Renders error bars in a horizontal direction.
     * * Both - Renders error bars in both vertical and horizontal directions.
     *
     * @default 'Vertical'
     */
    mode?: ErrorBarMode;
    /**
     * The color of the error bar's stroke, which accepts values in hex, rgba, or as a valid CSS color string.
     *
     * @default null
     */
    color?: string;
    /**
     * The vertical error for the point can also be mapped from the data source.
     *
     * @default 1
     * @aspType Object
     */
    verticalError?: number | string;
    /**
     * The `width` property determines the thickness of the error bars rendered in the chart series.
     *
     * @default 1
     */
    width?: number;
    /**
     * The horizontal error of the point can also be mapped from the data source.
     *
     * @default 1
     * @aspType Object
     */
    horizontalError?: number | string;
    /**
     * The vertical positive error of the point can be mapped from the data source as well.
     *
     * @default 3
     * @aspType Object
     */
    verticalPositiveError?: number | string;
    /**
     * The vertical negative error of the point can be mapped from the data source as well.
     *
     * @default 3
     * @aspType Object
     */
    verticalNegativeError?: number | string;
    /**
     * The horizontal positive error of the point can be mapped from the data source as well.
     *
     * @default 1
     * @aspType Object
     */
    horizontalPositiveError?: number | string;
    /**
     * The horizontal negative error of the point can be mapped from the data source as well.
     *
     * @default 1
     * @aspType Object
     */
    horizontalNegativeError?: number | string;
    /**
     * The `errorBarCap` property allows customization of the appearance and behavior of the caps at the ends of error bars in a chart series.
     */
    errorBarCap?: ErrorBarCapSettingsModel;
    /**
     * Defines the color for the error bar, which is mapped to the data source mapping name.
     *
     * @default ''
     */
    errorBarColorMapping?: string;
}
/**
 * Interface for a class SeriesBase
 */
export interface SeriesBaseModel {
    /**
     * The data source field that contains the x value.
     * It is applicable to both series and technical indicators.
     *
     * @default ''
     */
    xName?: string;
    /**
     * The data source field that contains the color mapping value.
     * It is applicable for range color mapping.
     */
    colorName?: string;
    /**
     * The data source field that contains the high value.
     * It is applicable for both financial series and technical indicators.
     *
     * @default ''
     */
    high?: string;
    /**
     * The data source field that contains the low value.
     * It is applicable for both financial series and technical indicators.
     *
     * @default ''
     */
    low?: string;
    /**
     * The data source field that contains the open value.
     * It is applicable for both financial series and technical indicators.
     *
     * @default ''
     */
    open?: string;
    /**
     * The data source field that contains the close value.
     * It is applicable for both financial series and technical indicators.
     *
     * @default ''
     */
    close?: string;
    /**
     * Defines the data source field that contains the volume value in candle charts.
     * It is applicable for both financial series and technical indicators.
     *
     * @default ''
     */
    volume?: string;
    /**
     * The data source field that contains the color value of a point.
     * It is applicable for series.
     *
     * @default ''
     */
    pointColorMapping?: string;
    /**
     * If set to `true`, the series will be visible. If set to `false`, the series will be hidden.
     *
     * @default true
     */
    visible?: boolean;
    /**
     * The name of the horizontal axis associated with the series. It requires `axes` of the chart.
     * It is applicable for series and technical indicators.
     * ```html
     * <div id='Chart'></div>
     * ```
     * ```typescript
     * let chart$: Chart = new Chart({
     * ...
     *     columns: [{ width: '50%' },
     *               { width: '50%' }],
     *     axes: [{
     *                name: 'xAxis 1',
     *                columnIndex: 1
     *            }],
     *     series: [{
     *                dataSource: data,
     *                xName: 'x', yName: 'y',
     *                xAxisName: 'xAxis 1'
     *     }],
     * });
     * chart.appendTo('#Chart');
     * ```
     *
     * @default null
     */
    xAxisName?: string;
    /**
     * The name of the vertical axis associated with the series. It requires `axes` of the chart.
     * It is applicable for series and technical indicators.
     * ```html
     * <div id='Chart'></div>
     * ```
     * ```typescript
     * let chart$: Chart = new Chart({
     * ...
     *     rows: [{ height: '50%' },
     *            { height: '50%' }],
     *     axes: [{
     *                name: 'yAxis 1',
     *                rowIndex: 1
     *            }],
     *     series: [{
     *                dataSource: data,
     *                xName: 'x', yName: 'y',
     *                yAxisName: 'yAxis 1'
     *     }],
     * });
     * chart.appendTo('#Chart');
     * ```
     *
     * @default null
     */
    yAxisName?: string;
    /**
     * Options for customizing the animation of the series.
     * By default, animation is enabled with a duration of 1000 milliseconds (about 1 second). It can be disabled by setting enable to `false`.
     * The following properties are supported in animation:
     * * enable: If set to true, the series is animated on initial loading.
     * * duration: The duration of the animation in milliseconds.
     * * delay: The delay before the animation starts, in milliseconds.
     */
    animation?: AnimationModel;
    /**
     * The fill color for the series, which accepts values in hex or 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 is null.
     *
     * @default null
     */
    fill?: string;
    /**
     * The stroke width for the series, 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 used to stroke the lines in `Line` type series.
     *
     * @default ''
     */
    dashArray?: string;
    /**
     * Specifies the data source 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: 'https://services.syncfusion.com/js/production/api/orders'
     * });
     * let query$: data.Query = new data.Query().take(5);
     * let chart$: Chart = new Chart({
     * ...
     *   series: [{
     *        type: 'Column',
     *        dataSource: dataManager,
     *        xName: 'CustomerID',
     *        yName: 'Freight',
     *        query: query
     *    }],
     * ...
     * });
     * chart.appendTo('#Chart');
     * ```
     *
     * @default ''
     */
    dataSource?: Object | data.DataManager;
    /**
     * Specifies a query to select data from the data source. This property is applicable only when the data source is an `ej.data.DataManager`.
     *
     * @default ''
     */
    query?: data.Query;
    /**
     * Specifies a collection of regions used to differentiate a line series.
     */
    segments?: ChartSegmentModel[];
    /**
     * Defines the axis along which the line series will be split.
     */
    segmentAxis?: Segment;
    /**
     * This property is used to improve chart performance through data mapping for the series data source.
     *
     * @default false
     */
    enableComplexProperty?: boolean;
}
/**
 * Interface for a class Series
 */
export interface SeriesModel extends SeriesBaseModel{
    /**
     * The `name` property allows setting a name for the series, which will be displayed in the legend, identifying different series in the chart, especially when multiple series are present.
     *
     * @default ''
     */
    name?: string;
    /**
     * The data source field that contains the y value.
     *
     * @default ''
     */
    yName?: string;
    /**
     * Specifies the type of series to be drawn in radar or polar charts.
     * The available options are:
     * * 'Line' - Renders a line series.
     * * 'Column' - Renders a column series.
     * * 'Area' - Renders an area series.
     * * 'Scatter' - Renders a scatter series.
     * * 'Spline' - Renders a spline series.
     * * 'StackingColumn' - Renders a stacking column series.
     * * 'StackingArea' - Renders a stacking area series.
     * * 'RangeColumn' - Renders a range column series.
     * * 'SplineArea' - Renders a spline area series.
     *
     * @default 'Line'
     */
    drawType?: ChartDrawType;
    /**
     * Specifies whether to join the start and end points of a line/area series used in a polar/radar chart to form a closed path.
     *
     * @default true
     */
    isClosed?: boolean;
    /**
     * This property is used in financial charts to visualize price movements in stocks.
     * It defines the color of the candle/point when the opening price is less than the closing price.
     *
     * @default null
     */
    bearFillColor?: string;
    /**
     * This property is used in financial charts to visualize price movements in stocks.
     * It defines the color of the candle/point when the opening price is higher than the closing price.
     *
     * @default null
     */
    bullFillColor?: string;
    /**
     * This property is applicable for the candle series.
     * It enables or disables the visual comparison of the current values with previous values in stock charts.
     *
     * @default false
     */
    enableSolidCandles?: boolean;
    /**
     * The data source field that contains the size value for the y-axis.
     *
     * @default ''
     */
    size?: string;
    /**
     * The `binInterval` property controls the width of each bin and the interval between bins for histogram points.
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    binInterval?: number;
    /**
     * Specifies whether to display the normal distribution curve for the histogram series.
     *
     * @default false
     */
    showNormalDistribution?: boolean;
    /**
     * This property allows the grouping of series in stacked column and stacked bar charts.
     * Any string value can be assigned to the `stackingGroup` property.
     * Series with the same `stackingGroup` value will be grouped together in the chart.
     *
     * @default ''
     */
    stackingGroup?: string;
    /**
     * Options for customizing the border of the series.
     > Note that this property is applicable only for `Column` and `Bar` type series.
     */
    border?: BorderModel;
    /**
     * Sets the opacity of the series, with a value between 0 and 1 where 0 is fully transparent and 1 is fully opaque.
     *
     * @default 1
     */
    opacity?: number;
    /**
     * The z-order of the series, which controls the stack order of the series. Higher values are drawn on top of lower values.
     *
     * @default 0
     */
    zOrder?: number;
    /**
     * Defines the name that specifies the chart series are mutually exclusive and can be overlaid.
     * Series in the same group share the same baseline and location on the corresponding axis.
     *
     * @default ''
     */
    groupName?: string;
    /**
     * The type of the series determines the visual representation of the data.
     * Available series types include:
     * * Line - Draws a line series.
     * * Column - Draws a column series.
     * * Area - Draws an area series.
     * * Bar - Draws a bar series.
     * * Histogram - Draws a histogram series.
     * * StackingColumn - Draws a stacking column series.
     * * StackingArea - Draws a stacking area series.
     * * StackingBar - Draws a stacking bar series.
     * * StepLine - Draws a step line series.
     * * StepArea - Draws a step area series.
     * * Scatter - Draws a scatter series.
     * * Spline - Draws a spline series.
     * * StackingColumn100 - Draws a 100% stacked column series.
     * * StackingBar100 - Draws a 100% stacked bar series.
     * * StackingArea100 - Draws a 100% stacked area series.
     * * RangeColumn - Draws a range column series.
     * * Hilo - Draws a Hilo series.
     * * HiloOpenClose - Draws a Hilo Open Close series.
     * * Waterfall - Draws a waterfall series.
     * * RangeArea - Draws a range area series.
     * * SplineRangeArea - Draws a spline range area series.
     * * Bubble - Draws a bubble series.
     * * Candle - Draws a candle series.
     * * Polar - Draws a polar series.
     * * Radar - Draws a radar series.
     * * BoxAndWhisker - Draws a box and whisker series.
     * * Pareto - Draws a Pareto series.
     *
     * @default 'Line'
     */
    type?: ChartSeriesType;
    /**
     * Options for displaying and customizing error bars for individual points in a series.
     */
    errorBar?: ErrorBarSettingsModel;
    /**
     * Options for displaying and customizing markers for individual points in a series.
     */
    marker?: MarkerSettingsModel;
    /**
     * Options for customizing the Pareto line series, including its appearance and behavior in the chart.
     */
    paretoOptions?: ParetoOptionsModel;
    /**
     * Customize the drag settings for the series with this property to configure drag behavior in the chart.
     */
    dragSettings?: DragSettingsModel;
    /**
     * Defines the collection of trendlines used to predict the trend.
     */
    trendlines?: TrendlineModel[];
    /**
     * Controls whether the tooltip for the chart series is enabled or disabled. Set to true to display tooltips on hover, or false to hide them.
     *
     * @default true
     */
    enableTooltip?: boolean;
    /**
     * Enables or disables the display of tooltips for the nearest data point to the cursor for series.
     *
     * @default true
     */
    showNearestTooltip?: boolean;
    /**
     * Use this property to define a custom format for how tooltips are displayed.
     * ```html
     * <div id='Chart'></div>
     * ```
     * ```typescript
     * let chart$: Chart = new Chart({
     * ...
     *    series: [{
     *           dataSource: data,
     *           xName: 'x',
     *           yName: 'y',
     *           tooltipFormat: '${point.x} : ${point.y}'
     *     }],
     *    tooltip: {
     *       enable: true
     *    }
     * });
     * chart.appendTo('#Chart');
     * ```
     *
     * @default ''
     */
    tooltipFormat?: string;
    /**
     * The data source field that contains the value to be displayed in the tooltip.
     *
     * @default ''
     */
    tooltipMappingName?: string;
    /**
     * Specifies the shape of the legend icon for each series.
     * Available shapes for legend:
     * * Circle - Renders a circular icon.
     * * Rectangle - Renders a rectangular icon.
     * * Triangle - Renders a triangular icon.
     * * Diamond - Renders a diamond-shaped icon.
     * * Cross - Renders a cross-shaped icon.
     * * HorizontalLine - Renders a horizontal line icon.
     * * VerticalLine - Renders a vertical line icon.
     * * Pentagon - Renders a pentagon-shaped icon.
     * * InvertedTriangle - Renders an inverted triangle-shaped icon.
     * * SeriesType - Uses the default icon shape based on the series type.
     * * Image - Renders a custom image for the legend icon.
     *
     * @default 'SeriesType'
     */
    legendShape?: LegendShape;
    /**
     * The URL for the image to be displayed as a legend icon.
     > Note that `legendShape` must be set to `Image`.
     *
     * @default ''
     */
    legendImageUrl?: string;
    /**
     * The `selectionStyle` property is used to specify custom CSS styles for the selected series or points.
     *
     * @default null
     */
    selectionStyle?: string;
    /**
     * The `unSelectedStyle` property is used to specify custom CSS styles for the deselected series or points.
     *
     * @default null
     */
    unSelectedStyle?: string;
    /**
     * The `nonHighlightStyle` property is used to specify custom CSS styles for the non-highlighted series or points.
     *
     * @default null
     */
    nonHighlightStyle?: string;
    /**
     * Specifies the minimum radius for the data points in the series.
     *
     * @default 1
     */
    minRadius?: number;
    /**
     * Specifies the maximum radius for the data points in the series.
     *
     * @default 3
     */
    maxRadius?: number;
    /**
     * Specifies the type of spline used for rendering.
     * Available options include:
     * * Natural - Renders a natural spline.
     * * Cardinal - Renders a cardinal spline.
     * * Clamped - Renders a clamped spline.
     * * Monotonic - Renders a monotonic spline.
     *
     * @default 'Natural'
     */
    splineType?: SplineType;
    /**
     * Specifies the tension parameter for cardinal splines. This affects the curvature of the spline.
     *
     * @default 0.5
     */
    cardinalSplineTension?: number;
    /**
     * Customization options for the appearance of empty points in the series.
     * `null` or `undefined` values are considered empty points.
     */
    emptyPointSettings?: EmptyPointSettingsModel;
    /**
     * If set to true, the mean value for the box and whisker plot will be visible.
     *
     * @default true
     */
    showMean?: boolean;
    /**
     * Specifies the box plot mode for the box and whisker chart series.
     * The available modes are:
     * Exclusive - Renders the series based on the exclusive mode.
     * Inclusive - Renders the series based on the inclusive mode.
     * Normal - Renders the series based on the normal mode.
     *
     * @default 'Normal'
     */
    boxPlotMode?: BoxPlotMode;
    /**
     * Specifies whether to display outliers in the Box and Whisker chart.
     *
     * If set to `true`, outliers will be displayed as individual points beyond the whiskers, representing data points that significantly differ from the rest of the dataset.
     * If set to `false`, outliers will be hidden, and only the box, median, and whiskers will be rendered.
     *
     * Outliers are typically used to identify extreme values in statistical data representation.
     *
     * @default true
     */
    showOutliers?: boolean;
    /**
     * The `columnWidth` property can be used to customize the width of the columns in a column series.
     > Note that if the series type is histogram, the default value is 1;
 otherwise, it is 0.7.
     *
     * @default null
     * @aspDefaultValueIgnore
     * @blazorDefaultValue Double.NaN
     */
    columnWidth?: number;
    /**
     * To render the column series points with a specific column width in pixels.
     *
     * @default null
     * @aspDefaultValueIgnore
     * @blazorDefaultValue Double.NaN
     */
    columnWidthInPixel?: number;
    /**
     * Defines the shape of the data in a column and bar chart.
     * Available shapes are:
     * * Rectangle: Displays the data in a column and bar chart with a rectangular shape.
     * * Cylinder: Displays the data in a column and bar chart with a cylindrical shape.
     *
     * @default 'Rectangle'
     */
    columnFacet?: ShapeType;
    /**
     * This property determines the space between columns in a column or bar chart.
     > Note that it takes a value from 0 to 1.
     *
     * @default 0
     */
    columnSpacing?: number;
    /**
     * Defines the visual representation of negative changes in waterfall charts.
     *
     * @default '#C64E4A'
     */
    negativeFillColor?: string;
    /**
     * Defines the visual representation of summaries in waterfall charts.
     *
     * @default '#4E81BC'
     */
    summaryFillColor?: string;
    /**
     * Defines the collection of indexes for the intermediate summary columns in waterfall charts.
     *
     * @default []
     * @aspType int[]
     */
    intermediateSumIndexes?: number[];
    /**
     * Defines the collection of indexes for the overall summary columns in waterfall charts.
     *
     * @default []
     * @aspType int[]
     */
    sumIndexes?: number[];
    /**
     * The `step` property can be used to change the position of the steps in step line, step area, and step range area chart types.
     * * Left: Steps start from the left side of the 2nd point.
     * * Center: Steps start between the data points.
     * * Right: Steps start from the right side of the 1st point. 
     *
     * @default 'Left'
     */
    step?: StepPosition;
    /**
     * When set to true, the step series will be rendered without the vertical lines (risers) connecting the horizontal steps.
     > Note this property is only applicable to step series.
     *
     * @default false
     */
    noRisers?: boolean;
    /**
     * Options to improve accessibility for series elements.
     */
    accessibility?: SeriesAccessibilityModel;
    /**
     * Specifies the appearance of the line connecting adjacent points in waterfall charts.
     */
    connector?: ConnectorModel;
    /**
     * The `cornerRadius` property specifies the radius for the corners of the column series points to create a rounded appearance in the chart.
     */
    cornerRadius?: CornerRadiusModel;
    /**
     * Adds a data point to the data source.
     *
     * @function addPoint
     * @param {Object} dataPoint - The data point to be added.
     * @param {number} duration - The duration for the animation.
     * @returns {void}
     */
    addPoint?(dataPoint: Object, duration?: number) : void
    /**
     * Removes a data point from the series data source at the specified index.
     *
     * @function removePoint
     * @param {number} index - The index of the data point to be removed.
     * @param {number} duration - The duration for the animation.
     * @returns {void}
     */
    removePoint?(index: number, duration?: number) : void
    /**
     * Sets the data source with the provided data.
     *
     * @function setData
     * @param {Object[]} data - An array of objects representing the data points.
     * @param {number} duration - The duration for the animation.
     * @returns {void}
     */
    setData?(data: Object[], duration?: number) : void
}
//node_modules/@syncfusion/ej2-charts/src/chart/series/candle-series.d.ts
/**
 * The `CandleSeries` module is used to render the candle series.
 */
export  class CandleSeries extends ColumnBase {
    sideBySideInfo: DoubleRange[];
    /**
     * Render Candle series.
     *
     * @param {Series} series - The series to be rendered.
     * @returns {void}
     * @private
     */
    render(series: Series): void;
    renderPoint(series: Series, point: Points, sideBySideInfo: DoubleRange, borderWidth: number): void;
    updateDirection(series: Series, point: number[]): void;
    /**
     * Triggers the point render event for the specified series and point.
     *
     * @protected
     * @param {Series} series - The series associated with the point.
     * @param {Points} point - The point to be rendered.
     * @returns {IPointRenderEventArgs} - The event arguments for the point render event.
     */
    protected triggerPointRenderEvent(series: Series, point: Points): IPointRenderEventArgs;
    /**
     * Find the color of the candle
     *
     * @param {Points} point point
     * @param {Series} series series
     * @returns {string} color of the candle
     * @private
     */
    private getCandleColor;
    /**
     * Generates the SVG path string based on the top and mid rectangles for the specified series.
     *
     * @param {svgBase.Rect} topRect - The top rectangle.
     * @param {svgBase.Rect} midRect - The mid rectangle.
     * @param {Series} series - The series for which the path string is generated.
     * @returns {string} - The SVG path string.
     * @private
     */
    getPathString(topRect: svgBase.Rect, midRect: svgBase.Rect, series: Series): string;
    /**
     * Draws the candle shape
     *
     * @param {Series} series series
     * @param {Points} point point
     * @param {svgBase.Rect} rect point region
     * @param {IPointRenderEventArgs} argsData argsData
     * @param {string} direction path direction
     * @returns {void}
     * @private
     */
    drawCandle(series: Series, point: Points, rect: svgBase.Rect, argsData: IPointRenderEventArgs, direction: string): void;
    /**
     * Animates the series.
     *
     * @param  {Series} series - Defines the series to animate.
     * @returns {void}
     * @private
     */
    doAnimation(series: Series): void;
    /**
     * Get module name.
     *
     * @returns {string} - Returns the module name.
     */
    protected getModuleName(): string;
    /**
     * To destroy the candle series.
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-charts/src/chart/series/bubble-series.d.ts
/**
 * The `BubbleSeries` module is used to render the bubble series.
 */
export  class BubbleSeries {
    /**
     * Render the Bubble series.
     *
     * @param {Series} series - The series to be rendered.
     * @param {Axis} xAxis - The X-axis associated with the series.
     * @param {Axis} yAxis - The Y-axis associated with the series.
     * @param {boolean} isInverted - Indicates whether the chart is inverted or not.
     * @returns {void}
     * @private
     */
    render(series: Series, xAxis: Axis, yAxis: Axis, isInverted: boolean): void;
    renderPoint(series: Series, bubblePoint: Points, isInverted: boolean, radius: number, maximumSize: number, minRadius: number, visiblePoints: Points[], pointUpdate?: boolean): void;
    updateDirection(series: Series, point: number[], isInverted: boolean): void;
    /**
     * To destroy the Bubble.
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
    /**
     * Get module name.
     *
     * @returns {string} - Returns the module name.
     */
    protected getModuleName(): string;
    /**
     * Animates the series.
     *
     * @param  {Series} series - Defines the series to animate.
     * @returns {void}
     * @private
     */
    doAnimation(series: Series): void;
}
//node_modules/@syncfusion/ej2-charts/src/chart/series/box-and-whisker-series.d.ts
/**
 * The `BoxAndWhiskerSeries` module is used to render the box and whisker series.
 */
export  class BoxAndWhiskerSeries extends ColumnBase {
    private sideBySideInfo;
    /**
     * Renders the BoxAndWhisker series on the chart.
     *
     * @param {Series} series - The series to be rendered.
     * @param {Axis} xAxis - The X-axis associated with the series.
     * @param {Axis} yAxis - The Y-axis associated with the series.
     * @param {boolean} isInverted - Indicates whether the chart is inverted or not.
     * @returns {void}
     * @private
     */
    render(series: Series, xAxis: Axis, yAxis: Axis, isInverted: boolean): void;
    /**
     * update the tip region fo box plot
     *
     * @param {Series} series series
     * @param {Points} point point
     * @param {DoubleRange} sideBySideInfo sideBySideInfo
     * @returns {void}
     */
    private updateTipRegion;
    /**
     * Update tip size to tip regions
     *
     * @param {Series} series Series
     * @param {Points} point Points
     * @param {Rect} region rect region
     * @param {boolean} isInverted isInverted
     * @returns {void}
     */
    private updateTipSize;
    private renderPoint;
    /**
     * Updates the direction of rendering for the specified series.
     *
     * @param {Series} series - The series to be rendered.
     * @param {number[]} point - The point to be updated.
     * @param {boolean} isInverted - Specifies the inverted axis.
     * @returns {void}
     * @private
     */
    updateDirection(series: Series, point: number[], isInverted: boolean): void;
    /**
     * Calculation for path direction performed here.
     *
     * @param {Points} point point
     * @param {Series} series series
     * @param {ChartLocation} median median
     * @param {ChartLocation} average average
     * @returns {string} direction
     * @private
     */
    getPathString(point: Points, series: Series, median: ChartLocation, average: ChartLocation): string;
    /**
     * Rendering for box and whisker append here.
     *
     * @param {Series} series series
     * @param {Points} point point
     * @param {IPointRenderEventArgs} argsData argsData
     * @param {string} direction path direction
     * @param {number} median median
     * @returns {void}
     * @private
     */
    renderBoxAndWhisker(series: Series, point: Points, argsData: IPointRenderEventArgs, direction: string, median: number): void;
    /**
     * To find the box plot values.
     *
     * @param {number[]} yValues yValues
     * @param {Points} point point
     * @param {BoxPlotMode} mode mode
     * @param {boolean} showOutliers - Specifies to show or hide the outliers in a box-and-whisker series type.
     * @returns {void}
     * @private
     */
    findBoxPlotValues(yValues: number[], point: Points, mode: BoxPlotMode, showOutliers: boolean): void;
    /**
     * to find the exclusive quartile values
     *
     * @param {number[]} yValues yValues
     * @param {number} count count
     * @param {number} percentile percentile
     * @returns {number} exclusive quartile value
     */
    private getExclusiveQuartileValue;
    /**
     * to find the inclusive quartile values
     *
     * @param {number[]} yValues yValues
     * @param {number} count count
     * @param {number} percentile percentile
     * @returns {number} inclusive quartile value
     */
    private getInclusiveQuartileValue;
    /**
     * To find the quartile values
     *
     * @param {number[]} yValues yValues
     * @param {number} count count
     * @param {IBoxPlotQuartile} quartile quartile
     * @returns {void}
     */
    private getQuartileValues;
    /**
     * To find the min, max and outlier values
     *
     * @param {number[]} yValues yValues
     * @param {number} count count
     * @param {IBoxPlotQuartile} quartile quartile
     * @param {boolean} showOutliers - Specifies to show or hide the outliers in a box-and-whisker series type.
     * @returns {void}
     */
    private getMinMaxOutlier;
    /**
     * Animates the series.
     *
     * @param  {Series} series - Defines the series to animate.
     * @returns {void}
     * @private
     */
    doAnimation(series: Series): void;
    /**
     * Get module name.
     *
     * @returns {string} module name
     */
    protected getModuleName(): string;
    /**
     * To destroy the candle series.
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-charts/src/chart/series/bar-series.d.ts
/**
 * The `BarSeries` module is used to render the bar series.
 */
export  class BarSeries extends ColumnBase {
    rect: svgBase.Rect;
    sideBySideInfo: DoubleRange[];
    /**
     * Render Bar series.
     *
     * @param {Series} series - Defines the series.
     * @returns {void}
     * @private
     */
    render(series: Series): void;
    renderPoint(series: Series, pointBar: Points, sideBySideInfo: DoubleRange, origin: number): void;
    updateDirection(series: Series, point: number[]): void;
    /**
     * Animates the series.
     *
     * @param  {Series} series - Defines the series to animate.
     * @returns {void}
     * @private
     */
    doAnimation(series: Series): void;
    /**
     * To destroy the bar series.
     *
     * @returns {void}
     * @private
     */
    protected destroy(): void;
    /**
     * Get module name.
     *
     * @returns {string} - Returns the module name.
     */
    protected getModuleName(): string;
}
//node_modules/@syncfusion/ej2-charts/src/chart/series/area-series.d.ts
/**
 * The `AreaSeries` module is used to render the area series.
 */
export  class AreaSeries extends MultiColoredSeries {
    /**
     * Renders the area series on the chart.
     *
     * @param {Series} series - The series to be rendered.
     * @param {Axis} xAxis - The X-axis associated with the series.
     * @param {Axis} yAxis - The Y-axis associated with the series.
     * @param {boolean} isInverted - Indicates whether the chart is inverted or not.
     * @param {boolean} pointAnimate - Specifies whether the point has to be animated or not.
     * @param {boolean} pointUpdate - Specifies whether the point has to be updated or not.
     * @returns {void}
     * @private
     */
    render(series: Series, xAxis: Axis, yAxis: Axis, isInverted: boolean, pointAnimate?: boolean, pointUpdate?: boolean): void;
    /**
     * To animate point for area series.
     *
     * @param {Series} series - Specifies the series.
     * @param {number} point - Specifies the point.
     * @returns {void}
     * @private
     */
    updateDirection(series: Series, point: number[]): void;
    /**
     * To destroy the area series.
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
    /**
     * Get module name.
     *
     * @returns {string} - Returns the module name.
     */
    protected getModuleName(): string;
    /**
     * Animates the series.
     *
     * @param  {Series} series - Defines the series to animate.
     * @returns {void}
     * @private
     */
    doAnimation(series: Series): void;
}
//node_modules/@syncfusion/ej2-charts/src/chart/print-export/export.d.ts
/**
 * Defines the cell style in an Excel export.
 * The `ExcelCellStyle` interface specifies the styling options for cells in an Excel export.
 *
 * @private
 */
interface ExcelCellStyle {
    /**
     * Defines the horizontal alignment for the cell style.
     *
     * @private
     */
    hAlign?: string;
    /**
     * Defines the vertical alignment for the cell style.
     *
     * @private
     */
    vAlign?: string;
    /**
     * Specifies whether the font is bold.
     * The `bold` property determines if the font should be rendered in a bold style.
     *
     * @private
     */
    bold?: boolean;
    /**
     * Specifies whether to wrap text for the cell style.
     *
     * @private
     */
    wrapText?: boolean;
}
/**
 * Defines the cell in an Excel export.
 *
 * @private
 */
interface ExcelCell {
    /**
     * The `index` property specifies the position of the cell within the row or column.
     *
     * @private
     */
    index?: number;
    /**
     * Specifies the number of columns the cell spans across in the worksheet.
     *
     * @private
     */
    colSpan?: number;
    /**
     * Specifies the number of rows the cell spans across in the worksheet.
     *
     * @private
     */
    rowSpan?: number;
    /**
     * The `value` property specifies the content of the cell in the worksheet and can accept text, numbers, boolean values, or dates.
     *
     * @private
     */
    value?: string | boolean | number | Date;
    /**
     * The `style` property specifies how the cell is visually styled in the worksheet.
     *
     * @private
     */
    style?: ExcelCellStyle;
}
/**
 * Defines the row and column position in an Excel export.
 *
 * @private
 */
export interface ExcelRowAndColumn {
    /**
     * The `index` property specifies the position of a cell within a row or column.
     *
     * @private
     */
    index?: number;
    /**
     * Defines the cells in a row and column.
     *
     * @private
     */
    cells?: ExcelCell[];
    /**
     * Defines the width of each row and column.
     *
     * @private
     */
    width?: number;
}
/**
 * The `Export` module is used to print and export the rendered chart.
 */
export  class Export {
    private chart;
    private rows;
    private actualRowCount;
    private series;
    private axisCollection;
    private requiredValuesLength;
    private histogramSeriesCount;
    /**
     * Constructor for export module.
     *
     * @private
     */
    constructor(chart: Chart);
    /**
     * Exports the chart or charts to the specified file format.
     *
     * @param {ExportType} type - The type of export (e.g., 'PNG', 'JPEG', 'PDF', etc.).
     * @param {string} fileName - The name of the file to save.
     * @param {pdfExport.PdfPageOrientation} [orientation] - The orientation of the PDF page. Defaults to 'Portrait'.
     * @param {(Chart | AccumulationChart | RangeNavigator | StockChart)[]} [controls] - An array of chart or chart-like components to export.
     * @param {number} [width] - The width of the exported image or PDF page.
     * @param {number} [height] - The height of the exported image or PDF page.
     * @param {boolean}11 [isVertical] - Specifies whether to export the chart vertically. Defaults to false.
     * @param {IPDFArgs} [header] - The header options for the PDF.
     * @param {IPDFArgs} [footer] - The footer options for the PDF.
     * @param {boolean}11 [exportToMultiplePage] - Specifies whether to export the charts to multiple pages in PDF. Defaults to false.
     * @returns {void}
     * @public
     */
    export(type: ExportType, fileName: string, orientation?: pdfExport.PdfPageOrientation, controls?: (Chart | AccumulationChart | RangeNavigator | StockChart)[], width?: number, height?: number, isVertical?: boolean, header?: IPDFArgs, footer?: IPDFArgs, exportToMultiplePage?: boolean): void;
    /**
     * Exports the specified chart or charts to Excel format.
     *
     * @param {(Chart | AccumulationChart | RangeNavigator | StockChart)[]} controls - An array of chart or chart-like components to export.
     * @param {string} fileName - The name of the Excel file to save.
     * @param {ExportType} type - The type of export (e.g., 'XLSX', 'CSV', etc.).
     * @param {number} [width] - The width of the exported Excel sheet.
     * @param {number} [height] - The width of the exported Excel sheet.
     * @returns {void}
     * @private
     */
    private excelExport;
    /**
     * Creates an Excel sheet for exporting RangeNavigator control data.
     *
     * @param {RangeNavigator} controls - The RangeNavigator control to export.
     * @param {ExcelCellStyle} headerStyle - The style to apply to the header cells in the Excel sheet.
     * @param {ExportType} type - The type of export (e.g., 'XLSX', 'CSV', etc.).
     * @returns {void}
     * @private
     */
    private createRangeNavigatorExcelSheet;
    /**
     * Gets the number of columns for the Excel sheet.
     *
     * @param {boolean} isRangeNavigator - Specifies whether the data is for a RangeNavigator control.
     * @returns {string[][]} - An array containing the required values for the Excel sheet.
     * @private
     */
    private getRequiredValues;
    /**
     * Gets the title for the Excel sheet.
     *
     * @param {string[][]} requiredValues - The required values for the Excel sheet.
     * @param {ExcelCellStyle} headerStyle - The style for the header.
     * @param {(Chart | AccumulationChart | RangeNavigator | StockChart)[]} controls - The controls to export.
     * @param {boolean} isRangeNavigator - Specifies whether the data is for a RangeNavigator control.
     * @param {boolean} isAccumulation - Specifies whether the data is for an AccumulationChart.
     * @param {ExportType} type - The type of export.
     * @param {number} xValueLength - The length of X values.
     * @returns {void}
     * @private
     */
    private getTitle;
    /**
     * Gets the X values for the Excel sheet.
     *
     * @param {string[][]} requiredValues - The required values for the Excel sheet.
     * @param {(Chart | AccumulationChart | RangeNavigator | StockChart)[]} controls - The controls to export.
     * @param {boolean} isRangeNavigator - Specifies whether the data is for a RangeNavigator control.
     * @param {boolean} isAccumulation - Specifies whether the data is for an AccumulationChart.
     * @returns {number[][]} - The X values.
     * @private
     */
    private getXValue;
    /**
     * Creates an Excel sheet.
     *
     * @param {boolean} isRangeNavigator - Specifies whether the data is for a RangeNavigator control.
     * @param {boolean} isAccumulation - Specifies whether the data is for an AccumulationChart.
     * @param {number[][]} xValues - The X values for the Excel sheet.
     * @param {ExportType} type - The type of export.
     * @param {string[][]} requiredValues - The required values for the Excel sheet.
     * @param {ExcelCellStyle} headerStyle - The style for the header in Excel.
     * @param {(Chart | AccumulationChart | RangeNavigator | StockChart)[]} controls - The controls to export.
     * @private
     */
    private createExcelSheet;
    /**
     * Gets the data URL of the chart or accumulation chart.
     *
     * @param {Chart | AccumulationChart} chart - The chart or accumulation chart.
     * @returns {{ element: HTMLCanvasElement, dataUrl?: string, blobUrl?: string}} - The data URL information.
     */
    getDataUrl(chart: Chart | AccumulationChart): {
        element: HTMLCanvasElement;
        dataUrl?: string;
        blobUrl?: string;
    };
    /**
     * Get module name.
     *
     * @returns {string} - Returns the module name.
     */
    protected getModuleName(): string;
    /**
     * To destroy the chart.
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
}
//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's cancellation status. */
    cancel: boolean;
}
export interface IAnimationCompleteEventArgs extends IChartEventArgs {
    /** Defines the series that has completed animation. */
    series: Series;
}
export interface IAxisMultiLabelRenderEventArgs extends IChartEventArgs {
    /** Defines the axis. */
    axis: Axis;
    /** Defines the text of the multi-label. */
    text: string;
    /** Defines the font style for the multi-labels. */
    textStyle: FontModel;
    /** Defines the text alignment for the multi-labels. */
    alignment: Alignment;
    /** Defines custom attributes for the multi-labels. */
    customAttributes: object;
}
export interface IMultiLevelLabelClickEventArgs extends IChartEventArgs {
    /** Defines the axis associated with the clicked label. */
    axis: Axis;
    /** Defines the text of the clicked multi-level label. */
    text: string;
    /** Defines the level of the clicked multi-level label. */
    level: number;
    /** Defines the start value of the clicked multi-level label. */
    start: number | Date | string;
    /** Defines the end value of the clicked multi-level label. */
    end: number | Date | string;
    /** Defines custom attributes for the multi-level labels. */
    customAttributes: object;
}
export interface IPointEventArgs extends IChartEventArgs {
    /** Defines the series associated with the clicked point. */
    series: SeriesModel;
    /** Defines the clicked point. */
    point: Points;
    /** Defines the index of the clicked point within the series. */
    pointIndex: number;
    /** Defines the index of the series containing the clicked point. */
    seriesIndex: number;
    /** Defines the chart instance where the point was clicked. */
    chart: Chart;
    /** Defines the x-coordinate of the mouse when the point was clicked. */
    x: number;
    /** Defines the y-coordinate of the mouse when the point was clicked. */
    y: number;
    /** Defines the x-coordinate of the mouse relative to the page. */
    pageX?: number;
    /** Defines the y-coordinate of the mouse relative to the page. */
    pageY?: number;
}
export interface ISharedTooltipRenderEventArgs extends IChartEventArgs {
    /** Defines the text collections to be displayed in the tooltip. */
    text?: string[];
    /** Defines the style of the tooltip text. */
    textStyle?: FontModel;
    /** Defines the series associated with the tooltip. */
    series: Series[];
    /** Defines the points associated with the tooltip. */
    point: Points[];
    /** Defines the header text for the tooltip. */
    headerText?: string;
    /** Provides information about the points. */
    data?: IPointInformation[];
    /** Defines the templates for the tooltip. */
    template?: string[];
}
export interface IScrollEventArgs {
    /** Defines the event's cancellation status. */
    cancel?: boolean;
    /** Defines the name of the event. */
    name?: string;
    /** Defines the zoom position. */
    zoomPosition?: number;
    /** Defines the zoom factor. */
    zoomFactor?: number;
    /** Defines the visible range. */
    range?: VisibleRangeModel;
    /** Defines the previous zoom position. */
    previousZoomPosition?: number;
    /** Defines the previous zoom factor. */
    previousZoomFactor?: number;
    /** Defines the previous visible range. */
    previousRange?: VisibleRangeModel;
    /** Defines the scroll axis. */
    axis?: Axis;
    /** Defines the previous range of the axis. */
    previousAxisRange?: ScrollbarSettingsRangeModel;
    /** Defines the range of the axis. */
    currentRange?: ScrollbarSettingsRangeModel;
}
export interface IZoomCompleteEventArgs extends IChartEventArgs {
    /** Defines the axis that was zoomed. */
    axis: AxisModel;
    /** Defines the zoom factor before the zoom operation. */
    previousZoomFactor: number;
    /** Defines the zoom position before the zoom operation. */
    previousZoomPosition: number;
    /** Defines the zoom factor after the zoom operation. */
    currentZoomFactor: number;
    /** Defines the zoom position after the zoom operation. */
    currentZoomPosition: number;
    /** Defines the visible range of the axis after the zoom operation. */
    currentVisibleRange: VisibleRangeModel;
    /** Defines the visible range of the axis before the zoom operation. */
    previousVisibleRange: VisibleRangeModel;
}
export interface ITooltipRenderEventArgs extends IChartEventArgs {
    /** Defines the text to be displayed in the tooltip. */
    text?: string;
    /** Defines the style of the tooltip text. */
    textStyle?: FontModel;
    /** Defines the series associated with the tooltip. */
    series: Series | AccumulationSeries;
    /** Defines the point associated with the tooltip. */
    point: Points | AccPoints;
    /** Defines the header text for the tooltip. */
    headerText?: string;
    /** Provides information about the point. */
    data?: IPointInformation;
    /** Defines the template for the tooltip. */
    template?: string;
}
/** @private */
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 axis to which the label belongs. */
    axis: Axis;
    /** Defines the text of the axis label. */
    text: string;
    /** Defines the value associated with the axis label. */
    value: number;
    /** Defines the font style of the axis label. */
    labelStyle: FontModel;
}
export interface IAxisLabelClickEventArgs extends IChartEventArgs {
    /** Defines the chart instance where the label was clicked. */
    chart: Chart;
    /** Defines the axis to which the clicked label belongs. */
    axis: Axis;
    /** Defines the text of the clicked axis label. */
    text: string;
    /** Defines the ID of the clicked axis label element. */
    labelID: string;
    /** Defines the index of the clicked axis label. */
    index: number;
    /** Defines the location of the clicked axis label on the chart. */
    location: ChartLocation;
    /** Defines the value associated with the clicked axis label. */
    value: number;
}
export interface ILegendRenderEventArgs extends IChartEventArgs {
    /** Defines the legend text. */
    text: string;
    /** Defines the legend fill color. */
    fill: string;
    /** Defines the legend shape. */
    shape: LegendShape;
    /** Defines the legend marker shape. */
    markerShape?: ChartShape;
}
export interface ILegendClickEventArgs extends IChartEventArgs {
    /** Defines the chart instance when the legend is clicked. */
    chart: Chart;
    /** Defines the shape of the clicked legend item. */
    legendShape: LegendShape;
    /** Defines the series associated with the clicked legend item. */
    series: Series;
    /** Defines the list of points mapped to the legend item. */
    points: Points[];
    /** Defines the text of the clicked legend item. */
    legendText: string;
}
export interface ITextRenderEventArgs extends IChartEventArgs {
    /** Defines the series of the label. */
    series: SeriesModel;
    /** Defines the point of the label. */
    point: Points;
    /** Defines the text of the label. */
    text: string;
    /** Defines the width and height of the text. */
    textSize: svgBase.Size;
    /** Defines the fill color of the label. */
    color: string;
    /** Defines the border of the label. */
    border: BorderModel;
    /** Defines the template for the data label.
     *
     * @aspType string
     */
    template: string | Function;
    /** Defines the font used for the label. */
    font: FontModel;
    /** Defines whether the data label position can change. */
    location: LabelLocation;
}
export interface IAnnotationRenderEventArgs extends IChartEventArgs {
    /** Defines the content of the annotation. */
    content: HTMLElement;
    /** Defines the location of the annotation on the chart. */
    location: ChartLocation;
}
export interface IPointRenderEventArgs extends IChartEventArgs {
    /** Defines the series of the point. */
    series: Series;
    /** Defines the point. */
    point: Points;
    /** Defines the point fill color. */
    fill: string;
    /** Defines the point border. */
    border: BorderModel;
    /** Defines the point height. */
    height?: number;
    /** Defines the point width. */
    width?: number;
    /** Defines the point marker shape. */
    shape?: ChartShape;
    /** Defines the corner radius of the point. */
    cornerRadius?: CornerRadiusModel;
}
export interface ISeriesRenderEventArgs {
    /** Defines the series to be rendered. */
    series: Series;
    /** Defines the data for the series. */
    data: Object;
    /** Defines the name of the event. */
    name: string;
    /** Defines the fill color of the series. */
    fill: string;
}
export interface IAxisRangeCalculatedEventArgs extends IChartEventArgs {
    /** Defines the axis. */
    axis: Axis;
    /** Defines the minimum value of the axis range. */
    minimum: number;
    /** Defines the maximum value of the axis range. */
    maximum: number;
    /** Defines the interval of the axis range. */
    interval: number;
}
export interface IMouseEventArgs extends IChartEventArgs {
    /** Defines the ID of the element that is the target of the mouse event. */
    target: string;
    /** Defines the x-coordinate of the mouse. */
    x: number;
    /** Defines the y-coordinate of the mouse. */
    y: number;
    /** Defines a collection of axis data, where the key is the axis name and the value is the axis value at the mouse location.*/
    axisData: {
        [key: string]: number;
    };
}
export interface IDragCompleteEventArgs extends IChartEventArgs {
    /** Defines the selected X and Y values of the data. */
    selectedDataValues: {
        x: string | number | Date;
        y: number;
    }[][];
}
export interface ISelectionCompleteEventArgs extends IChartEventArgs {
    /** Defines the selected X and Y values of the data. */
    selectedDataValues: {
        x?: string | number | Date;
        y?: number;
        seriesIndex?: number;
        pointIndex?: number;
    }[];
    /** Defines the chart instance where the selection was completed. */
    chart: Chart;
}
export interface ILoadedEventArgs extends IChartEventArgs {
    /** Defines the instance of the chart. */
    chart: Chart;
    /** Defines the theme applied to the chart, if available. */
    theme?: ChartTheme;
}
export interface IPrintEventArgs extends IChartEventArgs {
    /** Defines the HTML content of the chart that will be printed. */
    htmlContent: Element;
}
export interface IZoomingEventArgs extends IChartEventArgs {
    /** Defines the collection of axis data that is involved in the zoom operation. */
    axisCollection: IAxisData[];
}
export interface IAxisData {
    zoomFactor: number;
    zoomPosition: number;
    axisRange: VisibleRangeModel;
    axisName: string;
}
/** @private */
export interface IBoxPlotQuartile {
    minimum: number;
    maximum: number;
    outliers: number[];
    upperQuartile: number;
    lowerQuartile: number;
    average: number;
    median: number;
}
/** @private */
/**
 * Specifies the Theme style for chart and accumulation.
 */
export interface IThemeStyle {
    axisLabel: string;
    axisTitle: string;
    axisLine: string;
    majorGridLine: string;
    minorGridLine: string;
    majorTickLine: string;
    minorTickLine: string;
    chartTitle: string;
    legendLabel: string;
    background: string;
    areaBorder: string;
    errorBar: string;
    crosshairLine: string;
    crosshairBackground: string;
    crosshairFill: string;
    crosshairLabel: string;
    tooltipFill: string;
    tooltipBoldLabel: string;
    tooltipLightLabel: string;
    tooltipHeaderLine: string;
    markerShadow: string;
    selectionRectFill: string;
    selectionRectStroke: string;
    selectionCircleStroke: string;
    tabColor: string;
    bearFillColor: string;
    bullFillColor: string;
    toolkitSelectionColor: string;
    toolkitFill: string;
    toolkitIconRectOverFill: string;
    toolkitIconRectSelectionFill: string;
    toolkitIconRect: svgBase.Rect;
    histogram?: string;
    chartTitleFont: FontModel;
    axisLabelFont: FontModel;
    legendTitleFont: FontModel;
    legendLabelFont: FontModel;
    tooltipOpacity?: number;
    tooltipLabelFont: FontModel;
    axisTitleFont: FontModel;
    crosshairLabelFont: FontModel;
    chartSubTitleFont: FontModel;
    stripLineLabelFont: FontModel;
    datalabelFont: FontModel;
}
/** @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 chart before resizing. */
    previousSize: svgBase.Size;
    /** Defines the size of the chart after resizing. */
    currentSize: svgBase.Size;
    /** Defines the instance of the chart that has been resized. */
    chart: Chart | AccumulationChart | StockChart;
}
export interface IBeforeResizeEventArgs {
    /** Defines the name of the event. */
    name: string;
    /** Indicates whether the resizing event should be canceled. */
    cancelResizedEvent: boolean;
}
export interface IDataEditingEventArgs {
    /**
     * Defines the index of the series containing the point.
     */
    seriesIndex: number;
    /**
     * Defines the index of the point within the series.
     */
    pointIndex: number;
    /**
     * Defines the old value of the point before the drag operation started.
     */
    oldValue: number;
    /**
     * Defines the new value of the point after the drag operation has started.
     */
    newValue: number;
    /**
     * Defines the series to which the point belongs.
     */
    series: Series;
    /**
     * Defines the point being dragged.
     */
    point: Points;
}
/** @private */
export interface IChartTemplate {
    /** point x. */
    x?: object;
    /** point y. */
    y?: object;
    /** point text. */
    text?: string;
    /** point open value. */
    open?: object;
    /** point close value. */
    close?: object;
    /** point high value. */
    high?: object;
    /** point low value. */
    low?: object;
    /** point volume value. */
    volume?: object;
}
//node_modules/@syncfusion/ej2-charts/src/chart/model/chart-base.d.ts
/**
 * Configures the annotation settings for a chart to highlight or provide additional information about specific points or regions.
 */
export  class ChartAnnotationSettings extends base.ChildProperty<ChartAnnotationSettings> {
    /**
     * If `coordinateUnit` is set to `Pixel`, x specifies the pixel value.
     * If `coordinateUnit` is set to `Point`, x specifies the axis value.
     *
     * @default '0'
     * @aspType object
     */
    x: string | Date | number;
    /**
     * If `coordinateUnit` is set to `Pixel`, y specifies the pixel value.
     * If `coordinateUnit` is set to `Point`, y specifies the axis value.
     *
     * @default '0'
     */
    y: string | number;
    /**
     * The content of the annotation, which also accepts the ID of the custom element.
     *
     * @default null
     */
    content: string;
    /**
     * Specifies the alignment of the annotation.
     * The options are:
     * * Near - Aligns the annotation element to the left side.
     * * Far - Aligns the annotation element to the right side.
     * * Center - Aligns the annotation element to the midpoint.
     *
     * @default 'Center'
     * @deprecated
     */
    horizontalAlignment: Alignment;
    /**
     * Specifies the coordinate units of the annotation.
     * The options are:
     * * Pixel - Renders the annotation based on x and y pixel values.
     * * Point - Renders the annotation based on x and y axis values.
     *
     * @default 'Pixel'
     */
    coordinateUnits: Units;
    /**
     * Specifies the regions of the annotation.
     * The options are:
     * * Chart - Renders the annotation based on chart coordinates.
     * * Series - Renders the annotation based on series coordinates.
     *
     * @default 'Chart'
     */
    region: Regions;
    /**
     * Specifies the position of the annotation.
     * The options are
     * * Top - Aligns the annotation element to the top side.
     * * Bottom - Aligns the annotation element to the bottom side.
     * * Middle - Aligns the annotation element to the midpoint.
     *
     * @default 'Middle'
     * @deprecated
     */
    verticalAlignment: Position;
    /**
     * The name of the horizontal axis associated with the annotation.
     * Requires the `axes` of the chart.
     *
     * @default null
     */
    xAxisName: string;
    /**
     * The name of the vertical axis associated with the annotation.
     * Requires the `axes` of the chart.
     *
     * @default null
     */
    yAxisName: string;
    /**
     * A description for the annotation that provides additional information about its content for screen readers.
     *
     * @default null
     * @deprecated
     */
    description: string;
    /**
     * Options to improve accessibility for chart annotation elements.
     */
    accessibility: AccessibilityModel;
}
/**
 * The `LabelBorder` class provides options to customize the border settings for chart labels.
 */
export  class LabelBorder extends base.ChildProperty<LabelBorder> {
    /**
     * The color of the border, which accepts values in hex and rgba as valid CSS color strings.
     *
     * @default ''
     */
    color: string;
    /**
     * The `width` property specifies the thickness of the border in pixels.
     *
     * @default 1
     */
    width: number;
    /**
     * Specifies the border type for the labels.
     * The available types include:
     * * Rectangle
     * * Without Top Border
     * * Without Top and Bottom Border
     * * Without Border
     * * Brace
     * * Curly Brace
     *
     * @default 'Rectangle'
     */
    type: BorderType;
}
/**
 * The `MultiLevelCategories` class allows defining and customizing the categories used in multi-level labels.
 * This is particularly useful when there is a need to display hierarchical or grouped data labels on the chart axis.
 */
export  class MultiLevelCategories extends base.ChildProperty<MultiLevelCategories> {
    /**
     * Specifies the starting value for the multi-level labels.
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    start: number | Date | string;
    /**
     * Specifies the end value for the multi-level labels.
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    end: number | Date | string;
    /**
     * Specifies the text to be displayed for the multi-level labels.
     *
     * @default ''
     */
    text: string;
    /**
     * Specifies the maximum width of the text for multi-level labels.
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    maximumTextWidth: number;
    /**
     * Allows adding custom data for multi-level labels.
     *
     * @default null
     */
    customAttributes: object;
    /**
     * Specifies the type of border for labels.
     * Available border types:
     * * Rectangle
     * * Without Top Border
     * * Without Top and Bottom Border
     * * Without Border
     * * Brace
     * * Curly Brace
     *
     * @default 'Rectangle'
     * @aspDefaultValueIgnore
     * @blazorDefaultValueIgnore
     */
    type: BorderType;
}
/**
 * The `StripLineSettings` class provides configuration options for strip lines in a chart.
 */
export  class StripLineSettings extends base.ChildProperty<StripLineSettings> {
    /**
     * If set to true, the strip line on the axis will render.
     *
     * @default true
     */
    visible: boolean;
    /**
     * If set to true, the strip line is rendered from the axis origin.
     *
     *  @default false
     */
    startFromAxis: boolean;
    /**
     * Specifies the starting value of the strip line.
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    start: Object | number | Date;
    /**
     * Specifies the ending value of the strip line.
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    end: Object | number | Date;
    /**
     * Specifies the size of the strip line when starting from the origin.
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    size: number;
    /**
     * The `color` property specifies the color of the strip line.
     *
     * @default '#808080'
     */
    color: string;
    /**
     * Specifies the pattern of dashes and gaps used to render the strip line.
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    dashArray: string;
    /**
     * The `sizeType` property specifies how the size of the strip line is determined.
     *
     * @default Auto
     */
    sizeType: SizeType;
    /**
     * Specifies whether the strip line is repeated at regular intervals along the axis.
     *
     * @default false
     * @aspDefaultValueIgnore
     */
    isRepeat: boolean;
    /**
     * Specifies the interval at which the strip line is repeated.
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    repeatEvery: Object | number | Date;
    /**
     * Specifies the maximum value of the interval at which the strip line is repeated.
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    repeatUntil: Object | number | Date;
    /**
     * Specifies whether the strip line is segmented.
     *
     * @default false
     * @aspDefaultValueIgnore
     */
    isSegmented: boolean;
    /**
     * Specifies where a new segment of the strip line on the axis begins.
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    segmentStart: Object | number | Date;
    /**
     * Specifies where a new segment of the strip line on the axis ends.
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    segmentEnd: Object | number | Date;
    /**
     * The name of the axis where the strip line segment is applied.
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    segmentAxisName: string;
    /**
     * The `border` property allows customization of the border for the strip line.
     * It includes options to set the color and width of the border.
     */
    border: BorderModel;
    /**
     * Defines the text to be displayed on the strip line.
     *
     * @default ''
     */
    text: string;
    /**
     * Defines the degree of rotation applied to the text on the strip line.
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    rotation: number;
    /**
     * Defines the position of the strip line text horizontally.
     * Available options 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.
     * Available options 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;
    /**
     * The `textStyle` property enables customization of the text appearance on the strip line.
     */
    textStyle: FontModel;
    /**
     * Specifies the order of the strip line.
     * The options are:
     * * Behind: Places the strip line behind the series elements.
     * * Over: Places the strip line over the series elements.
     *
     * @default 'Behind'
     */
    zIndex: ZIndex;
    /**
     * Specifies the opacity for the strip line.
     *
     * @default 1
     */
    opacity: number;
    /**
     * Specifies the URL of the background image for the strip line. The image will be displayed as the background.
     *
     * @default ''
     */
    imageUrl: string;
}
/**
 * The `MultiLevelLabels` class is used to customize the appearance and behavior of multi-level labels in charts.
 */
export  class MultiLevelLabels extends base.ChildProperty<MultiLevelLabels[]> {
    /**
     * Defines the position of the multi-level labels.
     * The available options are:
     * * Near: Places the multi-level labels close to the chart elements.
     * * Center: Positions the multi-level labels in the center of the chart elements.
     * * Far: Places the multi-level labels further from the chart elements.
     *
     * @default 'Center'
     */
    alignment: Alignment;
    /**
     * Defines the text overflow behavior for multi-level labels.
     * The available options are:
     * * Trim: Trims the text that overflows for multi-level labels.
     * * Wrap: Wraps the text that overflows for multi-level labels.
     * * None: No text overflow handling for multi-level labels.
     *
     * @default 'Wrap'
     */
    overflow: TextOverflow;
    /**
     * Options to customize the multi-level labels.
     */
    textStyle: FontModel;
    /**
     * The `border` property allows customization of the border for multi-level labels.
     * It includes options to set the color, width, and type of the border.
     */
    border: LabelBorderModel;
    /**
     * Configures multi-level categories for multi-level labels.
     */
    categories: MultiLevelCategoriesModel[];
}
/**
 * The `ScrollbarSettingsRange` class allows defining the start and end values for the scrollbar range in a chart.
 *
 * @public
 */
export  class ScrollbarSettingsRange extends base.ChildProperty<ScrollbarSettingsRange> {
    /**
     * Specifies the minimum range of a scrollbar.
     *
     * @default null
     */
    minimum: Date | string | number;
    /**
     * Specifies the maximum range of a scrollbar.
     *
     * @default null
     */
    maximum: Date | string | number;
}
/**
 * Specifies properties for customizing the scrollbar settings in lazy loading.
 */
export  class ScrollbarSettings extends base.ChildProperty<ScrollbarSettings> {
    /**
     * If set to true, activates the scrollbar for lazy loading in charts.
     * If set to false, the scrollbar is disabled.
     *
     * @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 only.
     */
    range: ScrollbarSettingsRangeModel;
    /**
     * Specifies the color used for the background of the track area in the scrollbar.
     *
     * @default null
     */
    trackColor: string;
    /**
     * Defines the border radius for the scrollbar.
     *
     * @default 0
     */
    scrollbarRadius: number;
    /**
     * Defines the color for the scrollbar.
     *
     * @default null
     */
    scrollbarColor: string;
    /**
     * Defines the border radius for back rect.
     *
     * @default 0
     */
    trackRadius: number;
    /**
     * The `gripColor` property specifies the color of the thumb grip of the scrollbar.
     *
     * @default null
     */
    gripColor: string;
    /**
     * Defines the height of the scrollbar.
     *
     * @default 16
     */
    height: number;
    /**
     * Specifies whether zooming by scrollbar is enabled or disabled.
     *
     * @default true
     */
    enableZoom: boolean;
    /**
     * Specifies the position of the scrollbar in the chart.
     *
     * The available options are:
     * * `Top`: Places the scrollbar at the top of the chart. Applicable only for horizontal scrollbars.
     * * `Bottom`: Places the scrollbar at the bottom of the chart. Applicable only for horizontal scrollbars.
     * * `Left`: Places the scrollbar on the left side of the chart. Applicable only for vertical scrollbars.
     * * `Right`: Places the scrollbar on the right side of the chart. Applicable only for vertical scrollbars.
     * * `PlaceNextToAxisLine`: Places the scrollbar next to the axis line.
     *
     * @default 'PlaceNextToAxisLine'
     */
    position: ScrollbarPosition;
}
/**
 * Configures the ToolbarPosition for the chart.
 */
export  class ToolbarPosition extends base.ChildProperty<ToolbarPosition> {
    /**
     * Specifies the horizontal alignment of the toolbar.
     *
     * The available options are:
     * * `Far` – Aligns the toolbar to the right side of the chart.
     * * `Center` – Centers the toolbar horizontally in the chart.
     * * `Near` – Aligns the toolbar to the left side of the chart.
     *
     * @default 'Far'
     */
    horizontalAlignment: Alignment;
    /**
     * Specifies the vertical alignment of the toolbar.
     *
     * The available options are:
     * * `Top` – Positions the toolbar at the top of the chart.
     * * `Middle` – Centers the toolbar vertically in the chart.
     * * `Bottom` – Positions the toolbar at the bottom of the chart.
     *
     * @default 'Top'
     */
    verticalAlignment: Position;
    /**
     * Specifies the horizontal offset of the toolbar in the chart.
     *
     * This value determines how far to move the toolbar horizontally from its default position.
     *
     * @default 0
     */
    x: number;
    /**
     * Specifies the vertical offset of the toolbar in the chart.
     *
     * This value determines how far to move the toolbar vertically from its default position.
     *
     * @default 0
     */
    y: number;
    /**
     * When set to true, allows dragging the zoom toolbar in the chart.
     *
     * @default false.
     */
    draggable: boolean;
}
/**
 * Represents the settings for configuring stack labels in a chart.
 */
export  class StackLabelSettings extends base.ChildProperty<StackLabelSettings> {
    /**
     * Specifies whether the stack labels are visible or not in the chart.
     * Setting this property to `true` will display the stack labels, showing the total value for each stack in stacked charts.
     *
     * @default false
     */
    visible: boolean;
    /**
     * The background color of the stack labels. Accepts valid CSS color strings, including hex and RGBA values.
     *
     * @default 'transparent'
     */
    fill: string;
    /**
     * Used to format the stack label text. This property accepts a string that can contain placeholders.
     * Supports placeholders such as `{value}`, where `{value}` represents the total stack value.
     *
     * @default null
     */
    format: string;
    /**
     * Specifies the rotation angle for the stack labels. This property allows to rotate the stack labels to a specific angle (in degrees).
     *
     * @default 0
     */
    angle: number;
    /**
     * Specifies the rounded corner radius along the X-axis for the stack label background.
     * It defines how much curvature the corners of the label will have along the X-axis (horizontal direction).
     * Note: The `border` property must be set for rounded corners to be visible.
     *
     * @default 5
     */
    rx: number;
    /**
     * Specifies the rounded corner radius along the Y-axis for the stack label background.
     * It defines the curvature of the stack label's background along the Y-axis (vertical direction).
     * Note: The `border` property must be set for rounded corners to be visible.
     *
     * @default 5
     */
    ry: number;
    /**
     * Configures the margin for the stack label. This property allows you to define the spacing around the stack label by specifying the left, right, top, and bottom margins.
     */
    margin: MarginModel;
    /**
     * Configures the border appearance for the stack labels.
     * For rounded corners to appear, both the `rx` and `ry` properties must be set, and the `border` property should also be configured with a width and color.
     */
    border: BorderModel;
    /**
     * Customizes the appearance of the stack label text. Options include font size, color, style, weight, and family.
     * Customizing these properties allows to ensure that the stack labels are legible and match the overall chart design.
     *
     */
    font: StackLabelsFontModel;
}
//node_modules/@syncfusion/ej2-charts/src/chart/model/chart-base-model.d.ts
/**
 * Interface for a class ChartAnnotationSettings
 */
export interface ChartAnnotationSettingsModel {
    /**
     * If `coordinateUnit` is set to `Pixel`, x specifies the pixel value.
     * If `coordinateUnit` is set to `Point`, x specifies the axis value.
     *
     * @default '0'
     * @aspType object
     */
    x?: string | Date | number;
    /**
     * If `coordinateUnit` is set to `Pixel`, y specifies the pixel value.
     * If `coordinateUnit` is set to `Point`, y specifies the axis value.
     *
     * @default '0'
     */
    y?: string | number;
    /**
     * The content of the annotation, which also accepts the ID of the custom element.
     *
     * @default null
     */
    content?: string;
    /**
     * Specifies the alignment of the annotation.
     * The options are:
     * * Near - Aligns the annotation element to the left side.
     * * Far - Aligns the annotation element to the right side.
     * * Center - Aligns the annotation element to the midpoint.
     *
     * @default 'Center'
     * @deprecated
     */
    horizontalAlignment?: Alignment;
    /**
     * Specifies the coordinate units of the annotation.
     * The options are:
     * * Pixel - Renders the annotation based on x and y pixel values.
     * * Point - Renders the annotation based on x and y axis values.
     *
     * @default 'Pixel'
     */
    coordinateUnits?: Units;
    /**
     * Specifies the regions of the annotation.
     * The options are:
     * * Chart - Renders the annotation based on chart coordinates.
     * * Series - Renders the annotation based on series coordinates.
     *
     * @default 'Chart'
     */
    region?: Regions;
    /**
     * Specifies the position of the annotation.
     * The options are
     * * Top - Aligns the annotation element to the top side.
     * * Bottom - Aligns the annotation element to the bottom side.
     * * Middle - Aligns the annotation element to the midpoint.
     *
     * @default 'Middle'
     * @deprecated
     */
    verticalAlignment?: Position;
    /**
     * The name of the horizontal axis associated with the annotation.
     * Requires the `axes` of the chart.
     *
     * @default null
     */
    xAxisName?: string;
    /**
     * The name of the vertical axis associated with the annotation.
     * Requires the `axes` of the chart.
     *
     * @default null
     */
    yAxisName?: string;
    /**
     * A description for the annotation that provides additional information about its content for screen readers.
     *
     * @default null
     * @deprecated
     */
    description?: string;
    /**
     * Options to improve accessibility for chart annotation elements.
     */
    accessibility?: AccessibilityModel;
}
/**
 * Interface for a class LabelBorder
 */
export interface LabelBorderModel {
    /**
     * The color of the border, which accepts values in hex and rgba as valid CSS color strings.
     *
     * @default ''
     */
    color?: string;
    /**
     * The `width` property specifies the thickness of the border in pixels.
     *
     * @default 1
     */
    width?: number;
    /**
     * Specifies the border type for the labels.
     * The available types include:
     * * Rectangle
     * * Without Top Border
     * * Without Top and Bottom Border
     * * Without Border
     * * Brace
     * * Curly Brace
     *
     * @default 'Rectangle'
     */
    type?: BorderType;
}
/**
 * Interface for a class MultiLevelCategories
 */
export interface MultiLevelCategoriesModel {
    /**
     * Specifies the starting value for the multi-level labels.
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    start?: number | Date | string;
    /**
     * Specifies the end value for the multi-level labels.
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    end?: number | Date | string;
    /**
     * Specifies the text to be displayed for the multi-level labels.
     *
     * @default ''
     */
    text?: string;
    /**
     * Specifies the maximum width of the text for multi-level labels.
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    maximumTextWidth?: number;
    /**
     * Allows adding custom data for multi-level labels.
     *
     * @default null
     */
    customAttributes?: object;
    /**
     * Specifies the type of border for labels.
     * Available border types:
     * * Rectangle
     * * Without Top Border
     * * Without Top and Bottom Border
     * * Without Border
     * * Brace
     * * Curly Brace
     *
     * @default 'Rectangle'
     * @aspDefaultValueIgnore
     * @blazorDefaultValueIgnore
     */
    type?: BorderType;
}
/**
 * Interface for a class StripLineSettings
 */
export interface StripLineSettingsModel {
    /**
     * If set to true, the strip line on the axis will render.
     *
     * @default true
     */
    visible?: boolean;
    /**
     * If set to true, the strip line is rendered from the axis origin.
     *
     *  @default false
     */
    startFromAxis?: boolean;
    /**
     * Specifies the starting value of the strip line.
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    start?: Object | number | Date;
    /**
     * Specifies the ending value of the strip line.
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    end?: Object | number | Date;
    /**
     * Specifies the size of the strip line when starting from the origin.
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    size?: number;
    /**
     * The `color` property specifies the color of the strip line.
     *
     * @default '#808080'
     */
    color?: string;
    /**
     * Specifies the pattern of dashes and gaps used to render the strip line.
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    dashArray?: string;
    /**
     * The `sizeType` property specifies how the size of the strip line is determined.
     *
     * @default Auto
     */
    sizeType?: SizeType;
    /**
     * Specifies whether the strip line is repeated at regular intervals along the axis.
     *
     * @default false
     * @aspDefaultValueIgnore
     */
    isRepeat?: boolean;
    /**
     * Specifies the interval at which the strip line is repeated.
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    repeatEvery?: Object | number | Date;
    /**
     * Specifies the maximum value of the interval at which the strip line is repeated.
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    repeatUntil?: Object | number | Date;
    /**
     * Specifies whether the strip line is segmented.
     *
     * @default false
     * @aspDefaultValueIgnore
     */
    isSegmented?: boolean;
    /**
     * Specifies where a new segment of the strip line on the axis begins.
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    segmentStart?: Object | number | Date;
    /**
     * Specifies where a new segment of the strip line on the axis ends.
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    segmentEnd?: Object | number | Date;
    /**
     * The name of the axis where the strip line segment is applied.
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    segmentAxisName?: string;
    /**
     * The `border` property allows customization of the border for the strip line.
     * It includes options to set the color and width of the border.
     */
    border?: BorderModel;
    /**
     * Defines the text to be displayed on the strip line.
     *
     * @default ''
     */
    text?: string;
    /**
     * Defines the degree of rotation applied to the text on the strip line.
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    rotation?: number;
    /**
     * Defines the position of the strip line text horizontally.
     * Available options 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.
     * Available options 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;
    /**
     * The `textStyle` property enables customization of the text appearance on the strip line.
     */
    textStyle?: FontModel;
    /**
     * Specifies the order of the strip line.
     * The options are:
     * * Behind: Places the strip line behind the series elements.
     * * Over: Places the strip line over the series elements.
     *
     * @default 'Behind'
     */
    zIndex?: ZIndex;
    /**
     * Specifies the opacity for the strip line.
     *
     * @default 1
     */
    opacity?: number;
    /**
     * Specifies the URL of the background image for the strip line. The image will be displayed as the background.
     *
     * @default ''
     */
    imageUrl?: string;
}
/**
 * Interface for a class MultiLevelLabels
 */
export interface MultiLevelLabelsModel {
    /**
     * Defines the position of the multi-level labels.
     * The available options are:
     * * Near: Places the multi-level labels close to the chart elements.
     * * Center: Positions the multi-level labels in the center of the chart elements.
     * * Far: Places the multi-level labels further from the chart elements.
     *
     * @default 'Center'
     */
    alignment?: Alignment;
    /**
     * Defines the text overflow behavior for multi-level labels.
     * The available options are:
     * * Trim: Trims the text that overflows for multi-level labels.
     * * Wrap: Wraps the text that overflows for multi-level labels.
     * * None: No text overflow handling for multi-level labels.
     *
     * @default 'Wrap'
     */
    overflow?: TextOverflow;
    /**
     * Options to customize the multi-level labels.
     */
    textStyle?: FontModel;
    /**
     * The `border` property allows customization of the border for multi-level labels.
     * It includes options to set the color, width, and type of the border.
     */
    border?: LabelBorderModel;
    /**
     * Configures multi-level categories for multi-level labels.
     */
    categories?: MultiLevelCategoriesModel[];
}
/**
 * Interface for a class ScrollbarSettingsRange
 */
export interface ScrollbarSettingsRangeModel {
    /**
     * Specifies the minimum range of a scrollbar.
     *
     * @default null
     */
    minimum?: Date | string | number;
    /**
     * Specifies the maximum range of a scrollbar.
     *
     * @default null
     */
    maximum?: Date | string | number;
}
/**
 * Interface for a class ScrollbarSettings
 */
export interface ScrollbarSettingsModel {
    /**
     * If set to true, activates the scrollbar for lazy loading in charts.
     * If set to false, the scrollbar is disabled.
     *
     * @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 only.
     */
    range?: ScrollbarSettingsRangeModel;
    /**
     * Specifies the color used for the background of the track area in the scrollbar.
     *
     * @default null
     */
    trackColor?: string;
    /**
     * Defines the border radius for the scrollbar.
     *
     * @default 0
     */
    scrollbarRadius?: number;
    /**
     * Defines the color for the scrollbar.
     *
     * @default null
     */
    scrollbarColor?: string;
    /**
     * Defines the border radius for back rect.
     *
     * @default 0
     */
    trackRadius?: number;
    /**
     * The `gripColor` property specifies the color of the thumb grip of the scrollbar.
     *
     * @default null
     */
    gripColor?: string;
    /**
     * Defines the height of the scrollbar.
     *
     * @default 16
     */
    height?: number;
    /**
     * Specifies whether zooming by scrollbar is enabled or disabled.
     *
     * @default true
     */
    enableZoom?: boolean;
    /**
     * Specifies the position of the scrollbar in the chart.
     *
     * The available options are:
     * * `Top`: Places the scrollbar at the top of the chart. Applicable only for horizontal scrollbars.
     * * `Bottom`: Places the scrollbar at the bottom of the chart. Applicable only for horizontal scrollbars.
     * * `Left`: Places the scrollbar on the left side of the chart. Applicable only for vertical scrollbars.
     * * `Right`: Places the scrollbar on the right side of the chart. Applicable only for vertical scrollbars.
     * * `PlaceNextToAxisLine`: Places the scrollbar next to the axis line.
     *
     * @default 'PlaceNextToAxisLine'
     */
    position?: ScrollbarPosition;
}
/**
 * Interface for a class ToolbarPosition
 */
export interface ToolbarPositionModel {
    /**
     * Specifies the horizontal alignment of the toolbar.
     *
     * The available options are:
     * * `Far` – Aligns the toolbar to the right side of the chart.
     * * `Center` – Centers the toolbar horizontally in the chart.
     * * `Near` – Aligns the toolbar to the left side of the chart.
     *
     * @default 'Far'
     */
    horizontalAlignment?: Alignment;
    /**
     * Specifies the vertical alignment of the toolbar.
     *
     * The available options are:
     * * `Top` – Positions the toolbar at the top of the chart.
     * * `Middle` – Centers the toolbar vertically in the chart.
     * * `Bottom` – Positions the toolbar at the bottom of the chart.
     *
     * @default 'Top'
     */
    verticalAlignment?: Position;
    /**
     * Specifies the horizontal offset of the toolbar in the chart.
     *
     * This value determines how far to move the toolbar horizontally from its default position.
     *
     * @default 0
     */
    x?: number;
    /**
     * Specifies the vertical offset of the toolbar in the chart.
     *
     * This value determines how far to move the toolbar vertically from its default position.
     *
     * @default 0
     */
    y?: number;
    /**
     * When set to true, allows dragging the zoom toolbar in the chart.
     *
     * @default false.
     */
    draggable?: boolean;
}
/**
 * Interface for a class StackLabelSettings
 */
export interface StackLabelSettingsModel {
    /**
     * Specifies whether the stack labels are visible or not in the chart.
     * Setting this property to `true` will display the stack labels, showing the total value for each stack in stacked charts.
     *
     * @default false
     */
    visible?: boolean;
    /**
     * The background color of the stack labels. Accepts valid CSS color strings, including hex and RGBA values.
     *
     * @default 'transparent'
     */
    fill?: string;
    /**
     * Used to format the stack label text. This property accepts a string that can contain placeholders.
     * Supports placeholders such as `{value}`, where `{value}` represents the total stack value.
     *
     * @default null
     */
    format?: string;
    /**
     * Specifies the rotation angle for the stack labels. This property allows to rotate the stack labels to a specific angle (in degrees).
     *
     * @default 0
     */
    angle?: number;
    /**
     * Specifies the rounded corner radius along the X-axis for the stack label background.
     * It defines how much curvature the corners of the label will have along the X-axis (horizontal direction).
     * Note: The `border` property must be set for rounded corners to be visible.
     *
     * @default 5
     */
    rx?: number;
    /**
     * Specifies the rounded corner radius along the Y-axis for the stack label background.
     * It defines the curvature of the stack label's background along the Y-axis (vertical direction).
     * Note: The `border` property must be set for rounded corners to be visible.
     *
     * @default 5
     */
    ry?: number;
    /**
     * Configures the margin for the stack label. This property allows you to define the spacing around the stack label by specifying the left, right, top, and bottom margins.
     */
    margin?: MarginModel;
    /**
     * Configures the border appearance for the stack labels.
     * For rounded corners to appear, both the `rx` and `ry` properties must be set, and the `border` property should also be configured with a width and color.
     */
    border?: BorderModel;
    /**
     * Customizes the appearance of the stack label text. Options include font size, color, style, weight, and family.
     * Customizing these properties allows to ensure that the stack labels are legible and match the overall chart design.
     *
     */
    font?: StackLabelsFontModel;
}
//node_modules/@syncfusion/ej2-charts/src/chart/legend/legend.d.ts
/**
 * The `Legend` module is used to render the legend for the chart.
 */
export  class Legend extends BaseLegend {
    constructor(chart: Chart);
    /**
     * Binding events for legend module.
     *
     * @returns {void}
     */
    private addEventListener;
    /**
     * UnBinding events for legend module.
     *
     * @returns {void}
     */
    private removeEventListener;
    /**
     * To handle mosue move for legend module.
     *
     * @param {MouseEvent} e - The mouse event.
     * @returns {void}
     */
    private mouseMove;
    /**
     * To handle mosue end for legend module.
     *
     * @param {MouseEvent} e - The mouse event.
     * @returns {void}
     */
    private mouseEnd;
    /**
     * Retrieves the legend options based on the visible series collection and chart.
     *
     * @param {Series[]} visibleSeriesCollection - The collection of visible series.
     * @param {Chart} chart - The chart instance.
     * @returns {void}
     * @private
     */
    getLegendOptions(visibleSeriesCollection: Series[], chart: Chart): void;
    /**
     * Calculates the legend bounds based on the available size and legend settings.
     *
     * @param {svgBase.Size} availableSize - The available size for the legend.
     * @param {svgBase.Rect} legendBounds - The current bounds of the legend.
     * @param {LegendSettingsModel} legend - The legend settings.
     * @returns {void}
     * @private
     */
    getLegendBounds(availableSize: svgBase.Size, legendBounds: svgBase.Rect, legend: LegendSettingsModel): void;
    /**
     * Calculates the height of the legend based on the legend options, settings, and available space.
     *
     * @param {LegendOptions} legendOption - The legend options.
     * @param {LegendSettingsModel} legend - The legend settings.
     * @param {svgBase.Rect} legendBounds - The current bounds of the legend.
     * @param {number} rowWidth - The width of the legend rows.
     * @param {number} legendHeight - The current height of the legend.
     * @param {number} padding - The padding around the legend items.
     * @returns {void}
     * @private
     */
    getLegendHeight(legendOption: LegendOptions, legend: LegendSettingsModel, legendBounds: svgBase.Rect, rowWidth: number, legendHeight: number, padding: number): void;
    /**
     * Calculates the rendering point for the legend item based on various parameters.
     *
     * @param {LegendOptions} legendOption - The legend options.
     * @param {ChartLocation} start - The starting location for the legend.
     * @param {number} textPadding - The padding around the legend text.
     * @param {LegendOptions} previousLegend - The options of the previous legend item.
     * @param {svgBase.Rect} rect - The bounding rectangle for the legend.
     * @param {number} count - The count of legend items.
     * @param {number} firstLegend - The index of the first legend item.
     * @returns {void}
     * @private
     */
    getRenderPoint(legendOption: LegendOptions, start: ChartLocation, textPadding: number, previousLegend: LegendOptions, rect: svgBase.Rect, count: number, firstLegend: number): void;
    private isWithinBounds;
    /**
     * Handles the click event for a legend item.
     *
     * @param {number} index - The index of the clicked legend item.
     * @param {Event | PointerEvent} event - The click event.
     * @returns {void}
     * @private
     */
    LegendClick(index: number, event: Event | PointerEvent): void;
    private refreshLegendToggle;
    private changeSeriesVisiblity;
    private isSecondaryAxis;
    private redrawSeriesElements;
    private refreshSeries;
    /**
     * Handles the click event for showing tooltip on trimmed text in legend.
     *
     * @param {Event | PointerEvent} event - The click event.
     * @returns {void}
     * @private
     */
    click(event: Event | PointerEvent): void;
    /**
     * Checks whether the provided coordinates are within the bounds.
     *
     * @param {number} pageX - The x-coordinate of the mouse pointer.
     * @param {number} pageY - The y-coordinate of the mouse pointer.
     * @returns {void}
     * @protected
     */
    protected checkWithinBounds(pageX: number, pageY: number): void;
    private canvasPageDown;
    private canvasPageUp;
    /**
     * Get module name.
     *
     * @returns {string} - Returns the module name.
     */
    protected getModuleName(): string;
    /**
     * To destroy the Legend.
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-charts/src/chart/axis/strip-line.d.ts
/**
 * The `StripLine` module is used to render strip lines in charts.
 */
export  class StripLine {
    /**
     * Finding x, y, width and height of the strip line
     *
     * @param {Axis} axis axis
     * @param {StripLineSettingsModel} stripline stripline
     * @param {Rect} seriesClipRect seriesClipRect
     * @param {number} startValue startValue
     * @param {Axis} segmentAxis segmentAxis
     * @param {Chart} chart chart instance
     * @returns {Rect} rect
     */
    private measureStripLine;
    /**
     * Retrieves the 'from' and 'to' values from start, end, size, starting from the axis.
     *
     * @param {number} start - The start value.
     * @param {number} end - The end value.
     * @param {number} size - The size value.
     * @param {boolean} startFromAxis - Indicates whether to start from the axis.
     * @param {Axis} axis - The axis.
     * @param {StripLineSettingsModel} stripline - The strip line settings.
     * @returns {{ from: number, to: number }} - The 'from' and 'to' values.
     * @private
     */
    private getFromTovalue;
    /**
     * Finding end value of the strip line
     *
     * @param {number} to to
     * @param {number} from from
     * @param {number} size size
     * @param {Axis} axis axis
     * @param {number} end end
     * @param {StripLineSettingsModel} stripline stripline
     * @returns {number} number
     */
    private getToValue;
    /**
     * To check the strip line values within range
     *
     * @param {number} value value
     * @param {Axis} axis axis
     * @returns {number} - To returns a strip line value.
     */
    private findValue;
    /**
     * Date parse
     *
     * @param {Date} value date
     * @param {Chart} chart chart instance
     * @returns {Date} parsed date
     */
    private dateParse;
    /**
     * To render strip lines based start and end.
     *
     * @param {Chart} chart chart
     * @param {ZIndex} position position
     * @param {Axis[]} axes axes
     * @returns {void}
     * @private
     */
    renderStripLine(chart: Chart, position: ZIndex, axes: Axis[]): void;
    /**
     * To convert the C# date to js date
     *
     * @param {string | number | Object} value date value
     * @returns {boolean} returns true if datetime value type is string(for asp platform)
     */
    private isCoreDate;
    /**
     * To get the total milli seconds
     *
     * @param {Date | number | Object} value date value
     * @param {Chart} chart chart instance
     * @returns {number} returns milliseconds
     */
    private dateToMilliSeconds;
    /**
     * To draw the single line strip line
     *
     * @param {StripLineSettingsModel} stripline stripline
     * @param {Rect} rect rect
     * @param {string} id id
     * @param {Element} parent parent
     * @param {Chart} chart chart
     * @param {Axis} axis axis
     * @returns {void}
     */
    private renderPath;
    /**
     * To draw the rectangle
     *
     * @param {StripLineSettingsModel} stripline stripline
     * @param {Rect} rect rect
     * @param {string} id id
     * @param {Element} parent parent
     * @param {Chart} chart chart
     * @returns {void}
     */
    private renderRectangle;
    /**
     * To draw the Image
     *
     * @param {StripLineSettingsModel} stripline stripline
     * @param {Rect} rect rect
     * @param {string} id id
     * @param {Element} parent parent
     * @param {Chart} chart chart
     * @returns {void}
     */
    private drawImage;
    /**
     * To create the text on strip line
     *
     * @param {StripLineSettingsModel} stripline stripline
     * @param {Rect} rect rect
     * @param {string} id id
     * @param {Element} parent parent
     * @param {Chart} chart chart
     * @param {Axis} axis axis
     * @returns {void}
     */
    private renderText;
    private invertAlignment;
    /**
     * To find the next value of the recurrence strip line
     *
     * @param {Axis} axis axis
     * @param {StripLineSettingsModel} stripline stripline
     * @param {number} startValue startValue
     * @returns {number} next start value of the recurrence strip line
     */
    private getStartValue;
    /**
     * Finds the segment axis for a segmented strip line.
     *
     * @param {Axis[]} axes - The collection of axes.
     * @param {Axis} axis - The axis.
     * @param {StripLineSettingsModel} stripline - The strip line settings.
     * @returns {Axis} - The segment axis.
     * @private
     */
    private getSegmentAxis;
    /**
     * To render strip line on chart
     *
     * @param {Axis} axis axis
     * @param {StripLineSettingsModel} stripline stripline
     * @param {Rect} seriesClipRect seriesClipRect
     * @param {string} id id
     * @param {Element} striplineGroup striplineGroup
     * @param {Chart} chart chart
     * @param {number} startValue startValue
     * @param {Axis} segmentAxis segmentAxis
     * @param {number} count count
     * @returns {void}
     */
    private renderStripLineElement;
    /**
     * Finds the factor of the text based on its anchor position.
     *
     * @param {Anchor} anchor - The text anchor position.
     * @returns {number} - The factor.
     * @private
     */
    private factor;
    /**
     * Finds the start value of the text based on its alignment.
     *
     * @param {number} xy - The coordinate value.
     * @param {number} size - The size of the text.
     * @param {Anchor} textAlignment - The text alignment.
     * @returns {number} - The start value.
     * @private
     */
    private getTextStart;
    /**
     * To get the module name for `StripLine`.
     *
     * @private
     * @returns {string} - Returns the module name.
     */
    getModuleName(): string;
    /**
     * To destroy the `StripLine` module.
     *
     * @private
     * @returns {void}
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-charts/src/chart/axis/polar-radar-panel.d.ts
/**
 * Specifies the layout for polar axis panels.
 *
 * @private
 */
export  class PolarRadarPanel extends LineBase {
    private initialClipRect;
    private htmlObject;
    private element;
    centerX: number;
    centerY: number;
    startAngle: number;
    /** @private */
    visibleAxisLabelRect: svgBase.Rect[];
    /** @private */
    seriesClipRect: svgBase.Rect;
    /**
     * Measure the polar radar axis size.
     *
     * @returns {void}
     * @private
     */
    measureAxis(rect: svgBase.Rect): void;
    private measureRowAxis;
    private measureColumnAxis;
    /**
     * Measures the column and row in the chart.
     *
     * @param {Row | Column} definition - The row or column to measure.
     * @param {Chart} chart - The chart instance.
     * @param {svgBase.Size} size - The size of the chart.
     * @returns {void}
     * @private
     */
    measureDefinition(definition: Row | Column, chart: Chart, size: svgBase.Size): void;
    /**
     * Measure the axis.
     *
     * @returns {void}
     * @private
     */
    private calculateAxisSize;
    /**
     * Measure the axis.
     *
     * @returns {void}
     * @private
     */
    measure(): void;
    /**
     * Measure the row size.
     *
     * @returns {void}
     */
    private calculateRowSize;
    /**
     * Measure the row size.
     *
     * @returns {void}
     */
    private calculateColumnSize;
    /**
     * To render the axis element.
     *
     * @returns {void}
     * @private
     */
    renderAxes(): Element;
    private drawYAxisLine;
    drawYAxisLabels(axis: Axis, index: number): void;
    private drawYAxisGridLine;
    private renderRadarGrid;
    private drawXAxisGridLine;
    private drawAxisMinorLine;
    /**
     * To render the axis label.
     *
     * @param {Axis} axis axis
     * @param {number} index index
     * @returns {void}
     * @private
     */
    drawXAxisLabels(axis: Axis, index: number): void;
    /**
     * To get available space to trim.
     *
     * @param {svgBase.Rect} legendRect legendRect
     * @param {svgBase.Rect} labelRect labelRect
     * @returns {number} available space value
     */
    private getAvailableSpaceToTrim;
    /**
     * Getting axis label bounds
     *
     * @param {number} pointX pointX
     * @param {number} pointY pointY
     * @param {VisibleLabels} label label
     * @param {string} anchor anchor
     * @returns {svgBase.Rect} label region
     */
    private getLabelRegion;
    private renderTickLine;
    private renderGridLine;
    private setPointerEventNone;
}
//node_modules/@syncfusion/ej2-charts/src/chart/axis/multi-level-labels.d.ts
/**
 * MultiLevel Labels src
 */
/**
 * The `MultiLevelLabel` module is used to render multi-level labels in charts.
 */
export  class MultiLevelLabel {
    /** @private */
    chart: Chart;
    /** @private */
    xAxisPrevHeight: number[];
    /** @private */
    xAxisMultiLabelHeight: number[];
    /** @private */
    yAxisPrevHeight: number[];
    /** @private */
    yAxisMultiLabelHeight: number[];
    /** @private */
    multiElements: Element;
    /** @private */
    labelElement: Element;
    /** @private */
    multiLevelLabelRectXRegion: svgBase.Rect[];
    /** @private */
    xLabelCollection: svgBase.TextOption[];
    /**
     * Constructor for the logerithmic module.
     *
     * @private
     * @param {Chart} chart - Specifies the chart.
     */
    constructor(chart: Chart);
    /**
     * Binding events for multi level module.
     *
     * @returns {void}
     */
    private addEventListener;
    /**
     * Gets the height of multilevel labels for the axis.
     *
     * @private
     * @param {Axis} axis - The axis.
     * @returns {void}
     */
    getMultilevelLabelsHeight(axis: Axis): void;
    /**
     * Renders the multilevel labels for the X-axis.
     *
     * @private
     * @param {Axis} axis - The X-axis.
     * @param {number} index - The index of the axis.
     * @param {Element} parent - The parent element to render the multilevel labels.
     * @param {svgBase.Rect} axisRect - The axis rectangle.
     * @returns {void}
     */
    renderXAxisMultiLevelLabels(axis: Axis, index: number, parent: Element, axisRect: svgBase.Rect): void;
    /**
     * Renders the border for the X-axis labels.
     *
     * @private
     * @param {number} labelIndex - The index of the label.
     * @param {number} gap - The gap between labels.
     * @param {Axis} axis - The X-axis.
     * @param {number} startX - The starting X-coordinate.
     * @param {number} startY - The starting Y-coordinate.
     * @param {Size} labelSize - The size of the label.
     * @param {svgBase.TextOption} textOptions - The text options for the label.
     * @param {svgBase.Rect} axisRect - The axis rectangle.
     * @param {Alignment} alignment - The alignment of the label.
     * @param {string} path - The SVG path.
     * @param {boolean} isOutside - Indicates if the label is outside the axis.
     * @param {boolean} opposedPosition - Indicates if the axis is in the opposed position.
     * @param {number} categoryIndex - The index of the category.
     * @returns {string} - The SVG path.
     */
    private renderXAxisLabelBorder;
    /**
     * Renders the multi-level labels for the Y-axis.
     *
     * @private
     * @param {Axis} axis - The Y-axis.
     * @param {number} index - The index of the axis.
     * @param {Element} parent - The parent element to which the labels are appended.
     * @param {svgBase.Rect} rect - The axis rectangle.
     * @returns {void}
     */
    renderYAxisMultiLevelLabels(axis: Axis, index: number, parent: Element, rect: svgBase.Rect): void;
    /**
     * Renders the border for the Y-axis labels.
     *
     * @param {number} labelIndex - The index of the label.
     * @param {number} gap - The gap between labels.
     * @param {Axis} axis - The Y-axis.
     * @param {number} endY - The end Y-coordinate.
     * @param {number} startX - The start X-coordinate.
     * @param {number} startY - The start Y-coordinate.
     * @param {Size} labelSize - The size of the label.
     * @param {svgBase.TextOption} textOptions - The text options for the label.
     * @param {svgBase.Rect} rect - The axis rectangle.
     * @param {Alignment} alignment - The alignment of the label.
     * @param {string} path - The path for rendering.
     * @param {boolean} isOutside - Indicates whether the label is outside.
     * @param {boolean} opposedPosition - Indicates whether the label position is opposed.
     * @param {number} categoryIndex - The index of the category.
     * @returns {string} - The path for rendering the label border.
     */
    private renderYAxisLabelBorder;
    /**
     * create cliprect
     *
     * @returns {void}
     * @private
     */
    createClipRect(x: number, y: number, height: number, width: number, clipId: string, axisId: string): void;
    /**
     * create borer element
     *
     * @returns {void}
     * @private
     */
    createBorderElement(borderIndex: number, axisIndex: number, axis: Axis, path: string, pointIndex?: number): void;
    /**
     * Triggers the event.
     *
     * @returns {void}
     * @private
     */
    triggerMultiLabelRender(axis: Axis, text: string, textStyle: FontModel, textAlignment: Alignment, customAttributes: object): IAxisMultiLabelRenderEventArgs;
    /**
     * Handles the click event for multi-level labels.
     *
     * @private
     * @param {string} labelIndex - The index of the clicked label.
     * @param {number} axisIndex - The index of the axis.
     * @returns {IMultiLevelLabelClickEventArgs} - The event arguments for multi-level label click.
     */
    MultiLevelLabelClick(labelIndex: string, axisIndex: number): IMultiLevelLabelClickEventArgs;
    /**
     * To click the multi level label
     *
     * @param {Event} event - The click event.
     * @returns {void}
     * @private
     */
    click(event: Event): void;
    /**
     * To get the module name for `MultiLevelLabel`.
     *
     * @private
     * @returns {string} - Returns the module name.
     */
    getModuleName(): string;
    /**
     * To destroy the `MultiLevelLabel` module.
     *
     * @private
     * @returns {void}
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-charts/src/chart/axis/logarithmic-axis.d.ts
/**
 * The `Logarithmic` module is used to render the logarithmic axis in charts.
 */
export  class Logarithmic extends Double {
    /**
     * Constructor for the logerithmic module.
     *
     * @private
     * @param {Chart} chart - Specifies the chart.
     */
    constructor(chart: Chart);
    /**
     * The method to calculate the range and labels for the axis.
     *
     * @returns {void}
     * @private
     */
    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
     * @param {svgBase.Size} size - The size used for calculation.
     * @param {Axis} axis - The axis for which the visible range is calculated.
     * @returns {void}
     */
    protected calculateVisibleRange(size: svgBase.Size, axis: Axis): void;
    /**
     * Calculates log inteval for the axis.
     *
     * @private
     * @param {number} delta - The difference between the axis maximum and minimum values.
     * @param {svgBase.Size} size - The size of the axis.
     * @param {Axis} axis - The axis.
     * @returns {number} - The calculated logarithmic interval.
     */
    protected calculateLogNiceInterval(delta: number, size: svgBase.Size, axis: Axis): number;
    /**
     * Calculates labels for the axis.
     *
     * @private
     * @param {Axis} axis - The axis.
     * @param {Chart | RangeNavigator} chart - The chart or range navigator control.
     * @returns {void}
     */
    calculateVisibleLabels(axis: Axis, chart: Chart | RangeNavigator): void;
    /**
     * Get module name
     */
    protected getModuleName(): string;
    /**
     * To destroy the category axis.
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-charts/src/chart/axis/double-axis.d.ts
/**
 * The `Double` module is used to render the numeric axis in charts.
 */
export  class Double {
    /** @private */
    chart: Chart;
    /** @private */
    min: Object;
    /** @private */
    max: Object;
    private isDrag;
    private interval;
    private paddingInterval;
    private isColumn;
    private isStacking;
    /**
     * Constructor for the dateTime module.
     *
     * @private
     * @param {Chart} chart - Specifies the chart.
     */
    constructor(chart?: Chart);
    /**
     * Numeric Nice Interval for the axis.
     *
     * @private
     * @param {Axis} axis - The axis.
     * @param {number} delta - The delta value.
     * @param {svgBase.Size} size - The size.
     * @returns {number} - The calculated nice interval.
     */
    protected calculateNumericNiceInterval(axis: Axis, delta: number, size: svgBase.Size): number;
    /**
     * Determines whether auto interval is enabled on both axes.
     *
     * @private
     * @param {Axis} axis - The axis.
     * @returns {boolean} - The boolean value indicating if auto interval is enabled on both axes.
     */
    isAutoIntervalOnBothAxis(axis: Axis): boolean;
    getActualRange(axis: Axis, size: svgBase.Size): void;
    /**
     * Range for the axis.
     *
     * @private
     * @param {Axis} axis - The axis.
     * @returns {void}
     */
    initializeDoubleRange(axis: Axis): void;
    /**
     * The function to calculate the range and labels for the axis.
     *
     * @returns {void}
     * @private
     */
    calculateRangeAndInterval(size: svgBase.Size, axis: Axis): void;
    /**
     * Calculate Range for the axis.
     *
     * @private
     */
    protected calculateRange(axis: Axis): void;
    private yAxisRange;
    private findMinMax;
    /**
     * Apply padding for the range.
     *
     * @private
     * @param {Axis} axis - The axis for which padding is applied.
     * @param {svgBase.Size} size - The size used for padding calculation.
     * @returns {void}
     */
    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
     * @param {svgBase.Size} size - The size used for calculation.
     * @param {Axis} axis - The axis for which the visible range is calculated.
     * @returns {void}
     */
    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;
    /**
     * Get module name.
     *
     * @returns {string} - Returns the module name.
     */
    protected getModuleName(): string;
    /**
     * To destroy the double axis.
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-charts/src/chart/axis/date-time-category-axis.d.ts
/**
 * The `DateTimeCategory` module is used to render the datetime category axis in charts.
 *
 * @private
 */
export  class DateTimeCategory extends Category {
    private axisSize;
    /**
     * Constructor for the category module.
     *
     * @private
     * @param {Chart} chart - Specifies the chart.
     */
    constructor(chart: Chart);
    /**
     * The function to calculate the range and labels for the axis.
     *
     * @returns {void}
     * @private
     */
    calculateRangeAndInterval(size: svgBase.Size, axis: Axis): void;
    /**
     * Calculate label for the axis.
     *
     * @private
     */
    calculateVisibleLabels(axis: Axis): void;
    /**
     * Calculate the Blazor custom format for axis.
     *
     * @param {Axis} axis - The axis for which the custom format is calculated.
     * @returns {string} - The custom format string.
     * @private
     */
    private blazorCustomFormat;
    /**
     * To get the Indexed axis label text with axis format for DateTimeCategory axis.
     *
     * @param {string} value value
     * @param {Function} format format
     * @returns {string} Indexed axis label text
     * @private
     */
    getIndexedAxisLabel(value: string, format: Function): string;
    /**
     * Get the same interval.
     *
     * @param {number} currentDate - The current date.
     * @param {number} previousDate - The previous date.
     * @param {RangeIntervalType} type - The type of range interval.
     * @param {number} index - The index of the interval.
     * @returns {boolean} - Indicates if the intervals are the same.
     * @private
     */
    sameInterval(currentDate: number, previousDate: number, type: RangeIntervalType, index: number): boolean;
    /**
     * To check whether the current label comes in the same week as the previous label week.
     *
     * @param {number} currentDate - The current date.
     * @param {number} previousDate - The previous date.
     * @param {Axis} axis - The axis.
     * @param {number} index - The current index.
     * @param {number} previousIndex - The previous index.
     * @returns {boolean} - Indicates if the labels fall in the same week.
     */
    private StartOfWeek;
    /**
     * To check whether the distance between labels is above the axisLabel maximum length.
     *
     * @param {number} index - The current index.
     * @param {number} previousIndex - The previous index.
     * @param {Axis} axis - The axis.
     * @returns {boolean} - Indicates if the distance between labels exceeds the maximum length.
     * @private
     */
    isMaximum(index: number, previousIndex: number, axis: Axis): boolean;
    /**
     * Get module name.
     *
     * @returns {string} - Returns the module name.
     */
    protected getModuleName(): string;
    /**
     * To destroy the category axis.
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-charts/src/chart/axis/date-time-axis.d.ts
/**
 * The `DateTime` module is used to render the datetime axis in charts.
 *
 * @private
 */
export  class DateTime extends NiceInterval {
    min: number;
    max: number;
    startValue: number;
    /**
     * Constructor for the dateTime module.
     *
     * @private
     * @param {Chart} chart - Specifies the chart.
     */
    constructor(chart?: Chart);
    /**
     * The function to calculate the range and labels for the axis.
     *
     * @returns {void}
     * @private
     */
    calculateRangeAndInterval(size: svgBase.Size, axis: Axis): void;
    /**
     * Actual Range for the axis.
     *
     * @private
     * @param {Axis} axis - The axis for which the actual range is calculated.
     * @param {svgBase.Size} size - The size used for calculation.
     * @returns {void}
     */
    getActualRange(axis: Axis, size: svgBase.Size): void;
    /**
     * Apply padding for the range.
     *
     * @private
     * @param {Axis} axis - The axis for which padding is applied.
     * @param {svgBase.Size} size - The size used for padding calculation.
     * @returns {void}
     */
    applyRangePadding(axis: Axis, size: svgBase.Size): void;
    private getYear;
    private getMonth;
    private getDay;
    private getHour;
    /**
     * Calculate visible range for axis.
     *
     * @private
     * @param {svgBase.Size} size - The size used for calculation.
     * @param {Axis} axis - The axis for which the visible range is calculated.
     * @returns {void}
     */
    protected calculateVisibleRange(size: svgBase.Size, axis: Axis): void;
    /**
     * Calculate visible labels for the axis.
     *
     * @param {Axis} axis axis
     * @param {Chart | RangeNavigator} chart chart
     * @returns {void}
     * @private
     */
    calculateVisibleLabels(axis: Axis, chart: Chart | RangeNavigator): void;
    /**
     * Calculate the Blazor custom format for axis.
     *
     * @param {Axis} axis - The axis for which the custom format is calculated.
     * @returns {string} - The custom format string.
     * @private
     */
    private blazorCustomFormat;
    /**
     * Increase the date-time interval.
     *
     * @param {Axis} axis - The axis for which the interval is increased.
     * @param {number} value - The value of the interval.
     * @param {number} interval - The interval to increase.
     * @returns {Date} - The increased date-time interval.
     * @private
     */
    increaseDateTimeInterval(axis: Axis, value: number, interval: number): Date;
    private alignRangeStart;
    private getDecimalInterval;
    /**
     * Get module name.
     *
     * @returns {string} - Returns the module name.
     */
    protected getModuleName(): string;
    /**
     * To destroy the category axis.
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-charts/src/chart/axis/category-axis.d.ts
/**
 * The `Category` module is used to render the category axis in charts.
 *
 * @private
 */
export  class Category extends NiceInterval {
    /**
     * Constructor for the category module.
     *
     * @private
     * @param {Chart} chart - Specifies the chart.
     */
    constructor(chart: Chart);
    /**
     * The function to calculate the range and labels for the axis.
     *
     * @private
     * @returns {void}
     */
    calculateRangeAndInterval(size: svgBase.Size, axis: Axis): void;
    /**
     * Actual Range for the axis.
     *
     * @private
     */
    getActualRange(axis: Axis, size: svgBase.Size): void;
    /**
     * Padding for the axis.
     *
     * @private
     * @param {Axis} axis - The axis for which padding is applied.
     * @param {svgBase.Size} size - The size for padding.
     * @returns {void}
     */
    applyRangePadding(axis: Axis, size: svgBase.Size): void;
    /**
     * Calculate label for the axis.
     *
     * @private
     */
    calculateVisibleLabels(axis: Axis): void;
    /**
     * Get module name
     */
    protected getModuleName(): string;
    /**
     * To destroy the category axis.
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-charts/src/chart/axis/cartesian-panel.d.ts
export  class CartesianAxisLayoutPanel1 {
    private chart;
    private initialClipRect;
    private htmlObject;
    /** @private */
    element: Element;
    private padding;
    /** @private */
    leftSize: number;
    /** @private */
    rightSize: number;
    /** @private */
    topSize: number;
    /** @private */
    bottomSize: number;
    /** @private */
    seriesClipRect: svgBase.Rect;
    /** @private */
    previousXLabel: number;
    /** @private */
    previousYLabel: number;
    /** @private */
    /**
     * Constructor for creating the chart.
     *
     * @param {Chart} chartModule - Specifies the Chart model.
     * @private */
    constructor(chartModule?: Chart);
    /**
     * Measure the axis size.
     *
     * @returns {void}
     * @private
     */
    measureAxis(rect: svgBase.Rect): void;
    private calculateFixedChartArea;
    private measureRowAxis;
    private measureColumnAxis;
    /**
     * Measure the column and row in chart.
     *
     * @returns {void}
     * @private
     */
    measureDefinition(definition: Row | Column, chart: Chart, size: svgBase.Size): void;
    /**
     * Measure the axis.
     *
     * @param {svgBase.Rect} rect - The rect for measuring the axis.
     * @returns {void}
     * @private
     */
    private calculateAxisSize;
    /**
     * Measure the axis.
     *
     * @returns {void}
     * @private
     */
    measure(): void;
    private getAxisOffsetValue;
    private crossAt;
    private updateCrossAt;
    private pushAxis;
    private arrangeAxis;
    private getActualColumn;
    private getActualRow;
    /**
     * Measure the row size.
     *
     * @returns {void}
     */
    private calculateRowSize;
    /**
     * Measure the row size.
     *
     * @param {svgBase.Rect} rect rect
     * @returns {void}
     */
    private calculateColumnSize;
    /**
     * To render the axis element.
     *
     * @returns {void}
     * @private
     */
    renderAxes(): Element;
    /**
     * To render the axis scrollbar
     *
     * @param {Chart} chart chart
     * @param {Axis} axis axis
     * @returns {void}
     */
    private renderScrollbar;
    /**
     * Draws pane lines for the specified chart.
     *
     * @param {Chart} chart -The chart for which pane lines are to be drawn.
     * @param {Element} [axisElement] -Optional. The axis element to which the pane lines are associated.
     * @returns {void}
     * @private
     */
    drawPaneLines(chart: Chart, axisElement?: Element): void;
    /**
     * Draws an axis for the specified axis configuration.
     *
     * @private
     * @param {Axis} axis -The axis configuration to be drawn.
     * @param {number} index -The index of the axis.
     * @param {boolean} isInside -Indicates whether the axis is inside or outside the plot area.
     * @param {Element} outsideElement -The element where the axis should be drawn if it's outside the plot area.
     * @param {Element} axisElement -The element representing the axis.
     * @param {Element} axisLineElement -The element representing the axis line.
     * @returns {void}
     */
    drawAxis(axis: Axis, index: number, isInside: boolean, outsideElement: Element, axisElement: Element, axisLineElement: Element): void;
    /**
     * To find the axis position
     *
     * @param {Axis} axis axis
     * @returns {boolean} axis position
     * @private
     */
    findAxisPosition(axis: Axis): boolean;
    /**
     * To render the bootom line of the columns and rows
     *
     * @param {Row | Column} definition definition
     * @param {number} index index
     * @param {boolean} isRow isRow
     * @returns {void}
     */
    private drawBottomLine;
    /**
     * To render the axis line
     *
     * @param {Axis} axis axis
     * @param {number} index index
     * @param {number} plotX plotX
     * @param {number} plotY plotY
     * @param {number} plotBottom plotBottom
     * @param {number} plotTop plotTop
     * @param {number} plotLeft plotLeft
     * @param {number} plotRight plotRight
     * @param {Element} parent parent
     * @param {svgBase.Rect} rect rect
     * @returns {void}
     */
    private drawAxisLine;
    /**
     * To render the yAxis grid line
     *
     * @param {Axis} axis axis
     * @param {number} index index
     * @param {Element} parent parent
     * @param {svgBase.Rect} rect rect
     * @returns {void}
     */
    private drawYAxisGridLine;
    /**
     * To check the border of the axis
     *
     * @param {Axis} axis axis
     * @param {number} index index
     * @param {number} value value
     * @returns {boolean} check the border of the axis
     */
    private isBorder;
    /**
     * To render the yAxis label
     *
     * @param {Axis} axis axis
     * @param {number} index index
     * @param {Element} parent parent
     * @param {svgBase.Rect} rect rect
     * @returns {void}
     * @private
     */
    drawYAxisLabels(axis: Axis, index: number, parent: Element, rect: svgBase.Rect): void;
    /**
     * Animates the template element.
     *
     * @param {Axis} axis axis
     * @param {Element} element - The element to animate.
     * @param {number} duration - The duration of the animation.
     * @param {boolean} label - Label.
     * @param {svgBase.Rect} bounds - The bounding rectangle.
     * @param {boolean} isRemove isRemoved
     * @param {number} i index of the element
     * @returns {void}
     * @private
     */
    private rangeAnimate;
    /**
     * To get X value based on lineBreakAlignment for Y axis line break labels only.
     *
     * @param {number} x text x position
     * @param {Axis} axis y axis values
     * @param {number} textWidth axis label width
     * @returns {number} returns suitable axis label x position
     */
    private getAxisLabelXvalue;
    /**
     * To render the yAxis label border.
     *
     * @param {Axis} axis axis
     * @param {number} index index
     * @param {Element} parent parent
     * @param {svgBase.Rect} rect rect
     * @returns {void}
     */
    private drawYAxisBorder;
    /**
     * To render the yAxis title
     *
     * @param {Axis} axis axis
     * @param {number} index index
     * @param {Element} parent parent
     * @param {svgBase.Rect} rect rect
     * @returns {void}
     */
    private drawYAxisTitle;
    /**
     * xAxis grid line calculation performed here
     *
     * @param {Axis} axis axis
     * @param {number} index index
     * @param {Element} parent parent
     * @param {svgBase.Rect} rect rect
     * @returns {void}
     */
    private drawXAxisGridLine;
    private calculateGridLineId;
    /**
     * To render missing minor grid lines while zooming
     *
     * @param {Axis} axis axis
     * @param {number} tempInterval tempInterval
     * @param {svgBase.Rect} rect rect
     * @param {number} i i
     * @param {number} index index
     * @param {IThemeStyle} chartThemeStyle chartThemeStyle
     * @param {Element} parent parent
     * @returns {void}
     */
    private renderMinorGridOnZooming;
    /**
     * To calcualte the axis minor line
     *
     * @param {Axis} axis axis
     * @param {number} tempInterval tempInterval
     * @param {svgBase.Rect} rect rect
     * @param {number} labelIndex labelIndex
     * @param {boolean} isFirstLabel isFirstLabel
     * @returns {string[]} axis minor line path
     */
    private drawAxisMinorLine;
    /**
     * To find the numeric value of the log
     *
     * @param {Axis} axis axis
     * @param {number} logPosition logPosition
     * @param {number} value value
     * @param {number} labelIndex labelIndex
     * @param {boolean} isFirstLabel isFirstLabel
     * @returns {number} value
     */
    private findLogNumeric;
    /**
     * To render the xAxis Labels
     *
     * @param {Axis} axis axis
     * @param {number} index index
     * @param {Element} parent parent
     * @param {svgBase.Rect} rect rect
     * @returns {void}
     * @private
     */
    drawXAxisLabels(axis: Axis, index: number, parent: Element, rect: svgBase.Rect): void;
    /**
     * To render the axis grid, tick lines and label
     *
     * @param {Axis} axis axis
     * @param {number} index index
     * @param {string} gridDirection gridDirection
     * @param {number} i index of the element
     * @param {string} elementId elementId
     * @param {Element} parentElement parent
     * @param {boolean} isRemove isRemoved
     * @param {TextOption} option - The options for the text element.
     * @param {VisibleLabels} label - Label.
     * @returns {void}
     */
    private updateAxisElement;
    private removeAxisLabelElements;
    calculateIntersection(p1: ChartLocation, p2: ChartLocation, p3: ChartLocation, p4: ChartLocation): ChartLocation;
    /**
     * To get text anchor value for line break labels.
     *
     * @param {Axis} axis axis model
     * @returns {string} returns text anchor
     */
    private getAnchor;
    /**
     * Get rect coordinates
     *
     * @param {svgBase.Rect} rect rect
     * @returns {ChartLocation[]} rectangle points
     */
    private getRectanglePoints;
    /**
     * To get axis label text
     *
     * @param {VisibleLabels} label label
     * @param {Axis} axis axis
     * @param {number} intervalLength intervalLength
     * @returns {string | string[]} label or label collection
     */
    private getLabelText;
    /**
     * To render the x-axis label border.
     *
     * @param {Axis} axis axis
     * @param {number} index index
     * @param {Element} parent parent
     * @param {svgBase.Rect} axisRect axisRect
     * @returns {void}
     */
    private drawXAxisBorder;
    /**
     * To create border element of the axis
     *
     * @param {Axis} axis axis
     * @param {number} index index
     * @param {string} labelBorder labelBorder
     * @param {Element} parent parent
     * @returns {void}
     */
    private createAxisBorderElement;
    /**
     * To find the axis label of the intersect action
     *
     * @param {Axis} axis axis
     * @param {string} label label
     * @param {number} width width
     * @returns {string} label
     */
    private findAxisLabel;
    /**
     * X-Axis Title function performed
     *
     * @param {Axis} axis axis
     * @param {number} index index
     * @param {Element} parent parent
     * @param {svgBase.Rect} rect rect
     * @returns {void}
     */
    private drawXAxisTitle;
    /**
     * To render the axis grid and tick lines(Both Major and Minor)
     *
     * @param {Axis} axis axis
     * @param {number} index index
     * @param {string} gridDirection gridDirection
     * @param {MajorTickLinesModel | MinorTickLinesModel | MajorGridLinesModel | MinorGridLinesModel} gridModel gridModel
     * @param {string} gridId gridId
     * @param {number} gridIndex gridIndex
     * @param {Element} parent parent
     * @param {string} themeColor themeColor
     * @param {string} dashArray dashArray
     * @param {number} removeIndex removeIndex
     * @param {boolean} isRemoved isRemoved
     * @returns {void}
     */
    private renderGridLine;
    /**
     * To Find the parent node of the axis
     *
     * @param {string} elementId elementId
     * @param {Element} label label
     * @param {number} index index
     * @returns {Element} parent node of the axis
     */
    private findParentNode;
    /**
     * Create Zooming Labels Function Called here
     *
     * @param {Chart} chart chart
     * @param {Element} labelElement labelElement
     * @param {Axis} axis axis
     * @param {number} index index
     * @param {svgBase.Rect} rect rect
     * @returns {void}
     */
    private createZoomingLabel;
}
export interface rectPoints {
    x: number;
    y: number;
}
//node_modules/@syncfusion/ej2-charts/src/chart/axis/axis.d.ts
/**
 * Configures the `rows` of the chart to create multiple vertical rows within the chart area.
 */
export  class Row extends base.ChildProperty<Row> {
    /**
     * The height of the row as a string accepts input both as '100px' and '100%'.
     * If specified as '100%', the 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[];
    /** @private */
    insideFarSizes: number[];
    /** @private */
    insideNearSizes: number[];
    /**
     * Measure the row size.
     *
     * @param {Axis} axis - The axis for which to measure the row size.
     * @param {number} scrollBarHeight - The height of the scrollbar.
     * @param {Row | Column} definition - The definition of the row or column.
     * @param {Chart} chart - The chart instance.
     * @returns {void}
     * @private
     */
    computeSize(axis: Axis, scrollBarHeight: number, definition: Row | Column, chart: Chart): void;
}
/**
 * Configures the `columns` of the chart to create multiple horizontal columns within the chart area.
 */
export  class Column extends base.ChildProperty<Column> {
    /**
     * The width of the column as a string accepts input both as '100px' and '100%'.
     * If specified as '100%', the 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 */
    insideFarSizes: number[];
    /** @private */
    insideNearSizes: number[];
    /** @private */
    private padding;
    /**
     * Measure the column size
     *
     * @returns {void}
     * @private
     */
    computeSize(axis: Axis, scrollBarHeight: number, definition: Row | Column, chart: Chart): void;
}
/**
 * Configures the major grid lines in the axis, allowing for the setting of properties such as color, width, and dashArray to define how the grid lines appear on the chart.
 */
export  class MajorGridLines extends base.ChildProperty<MajorGridLines> {
    /**
     * The width of the major grid lines in pixels, determining the thickness of the lines on the axis.
     *
     * @default 1
     */
    width: number;
    /**
     * The dash array of the grid lines, defining the pattern of dashes and gaps for the major grid lines on the axis.
     *
     * @default ''
     */
    dashArray: string;
    /**
     * Specifies the color of the major grid line, accepting hex and rgba values as valid CSS color strings.
     *
     * @default null
     */
    color: string;
}
/**
 * Configures the minor grid lines in the axis, allowing for the setting of properties such as color, width, and dashArray to define how the grid lines appear on the chart.
 */
export  class MinorGridLines extends base.ChildProperty<MinorGridLines> {
    /**
     * The width of the minor grid lines in pixels, determining the thickness of the lines on the axis.
     *
     * @default 0.7
     */
    width: number;
    /**
     * The dash array of the grid lines, defining the pattern of dashes and gaps for the minor grid lines on the chart's axis.
     *
     * @default ''
     */
    dashArray: string;
    /**
     * Specifies the color of the minor grid line, accepting hex and rgba values as valid CSS color strings.
     *
     * @default null
     */
    color: string;
}
/**
 * Configures the axis line of a chart, allowing customization of the line's appearance, including its color, width, and dashArray.
 */
export  class AxisLine extends base.ChildProperty<AxisLine> {
    /**
     * The width of the axis line in pixels, determining the thickness of the lines on the axis.
     *
     * @default 1
     */
    width: number;
    /**
     * The dash array of the axis line, defining the pattern of dashes and gaps for the axis line.
     *
     * @default ''
     */
    dashArray: string;
    /**
     * Specifies the color of the axis line. Accepts values in hex and rgba formats as valid CSS color strings.
     *
     * @default null
     */
    color: string;
}
/**
 * Configures the major tick lines in the axis, allowing for the setting of properties such as color, width, and height to define how the tick lines appear on the chart.
 */
export  class MajorTickLines extends base.ChildProperty<MajorTickLines> {
    /**
     * The width of the major tick lines in pixels, determining the thickness of the lines on the axis.
     *
     * @default 1
     */
    width: number;
    /**
     * The height of the ticks in pixels, which defines their length on the axis.
     *
     * @default 5
     */
    height: number;
    /**
     * Specifies the color of the major tick line, accepting hex and rgba values as valid CSS color strings.
     *
     * @default null
     */
    color: string;
}
/**
 * Configures the minor tick lines in the axis, allowing for the setting of properties such as color, width, and height to define how the tick lines appear on the chart.
 */
export  class MinorTickLines extends base.ChildProperty<MinorTickLines> {
    /**
     * The width of the minor tick lines in pixels, determining the thickness of the lines on the axis.
     *
     * @default 0.7
     */
    width: number;
    /**
     * The height of the ticks in pixels, which defines their length on the axis.
     *
     * @default 5
     */
    height: number;
    /**
     * Specifies the color of the minor tick line, accepting hex and rgba values as valid CSS color strings.
     *
     * @default null
     */
    color: string;
}
/**
 * Configures the crosshair tooltip for the chart, allowing customization of the tooltip's appearance and content during crosshair interactions.
 */
export  class CrosshairTooltip extends base.ChildProperty<CrosshairTooltip> {
    /**
     * If set to true, the crosshair tooltip will be visible on the chart when interacting with the crosshair.
     *
     *  @default false
     */
    enable: boolean;
    /**
     * The fill color of the tooltip accepts values in hex and rgba as valid CSS color string.
     *
     * @default null
     */
    fill: string;
    /**
     * Options for customizing the crosshair tooltip text, including font settings such as family, size, style, weight, and color.
     */
    textStyle: FontModel;
}
/**
 * The Axis class configures the axes in the chart. It provides various properties to customize the appearance and behavior of chart axes, including settings for labels, grid lines, ticks, and more.
 *
 * @public
 */
export  class Axis extends base.ChildProperty<Axis> {
    /**
     * This property allows defining various font settings to control how the labels are displayed on the axis.
     */
    labelStyle: FontModel;
    /**
     * Options to customize the appearance and behavior of the crosshair tooltip that appears when hovering over the chart.
     */
    crosshairTooltip: CrosshairTooltipModel;
    /**
     * Specifies the title of an axis, displayed along the axis to provide context about the represented data.
     *
     * @default ''
     */
    title: string;
    /**
     * Options for customizing the appearance of the axis title, including font family, size, style, weight, and color.
     */
    titleStyle: FontModel;
    /**
     * Used to format the axis label. This property accepts global string formats such as `C`, `n1`, `P`, etc.
     * It also accepts placeholders like `{value}°C`, where `{value}` represents the axis label (e.g., 20°C).
     *
     * @default ''
     */
    labelFormat: string;
    /**
     * Specifies the skeleton format used for processing date-time values.
     *
     * @default ''
     */
    skeleton: string;
    /**
     * Specifies the format type to be used in date-time formatting.
     *
     * @default 'DateTime'
     * @deprecated
     */
    skeletonType: SkeletonType;
    /**
     * Determines the alignment of labels when a line break occurs in the axis labels.
     *
     * @default 'Center'
     */
    lineBreakAlignment: TextAlignment;
    /**
     * Specifies the padding on the top, bottom, left and right sides of the chart area, in pixels.
     *
     * @default 0
     */
    plotOffset: number;
    /**
     * Specifies the left padding for the chart area, in pixels.
     *
     * @default null
     */
    plotOffsetLeft: number;
    /**
     * Specifies the top padding for the chart area, in pixels.
     *
     * @default null
     */
    plotOffsetTop: number;
    /**
     * Specifies the right padding for the chart area, in pixels.
     *
     * @default null
     */
    plotOffsetRight: number;
    /**
     * Specifies the bottom padding for the chart area, in pixels.
     *
     * @default null
     */
    plotOffsetBottom: number;
    /**
     * If set to true, data points are rendered based on their index.
     *
     * @default false
     */
    isIndexed: boolean;
    /**
     * Specifies the base value for a logarithmic axis.
     > Note that `valueType` must be set to `Logarithmic` for this feature to work.
     *
     * @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 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 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` that an axis spans horizontally or vertically.
     *
     * @default 1
     */
    span: number;
    /**
     * The `desiredIntervals` property allows the axis to calculate intervals that are roughly equal to the specified number, promoting a more readable and evenly spaced axis.
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    desiredIntervals: number;
    /**
     * Specifies the maximum number of labels per 100 pixels relative 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.
     > Note the value ranges from 0 to 1.
     *
     * @default 1
     */
    zoomFactor: number;
    /**
     * Sets the position of the zoomed axis on the chart, with the `zoomPosition` property specifying the position within the zoomed range, from 0 (start) to 1 (end).
     *
     * @default 0
     */
    zoomPosition: number;
    /**
     * If set to true, a scrollbar will appear while zooming to help navigate through the zoomed content.
     *
     * @default true
     */
    enableScrollbarOnZooming: boolean;
    /**
     * If set to true, the axis will render on the opposite side of its default position.
     *
     * @default false
     */
    opposedPosition: boolean;
    /**
     * If set to true, the axis interval will be calculated automatically based on the zoomed range.
     *
     * @default true
     */
    enableAutoIntervalOnZooming: boolean;
    /**
     * The `rangePadding` property determines how padding is applied to the axis range, affecting the appearance of the chart by adjusting the minimum and maximum values of the axis.
     * Available options are:
     * * None: No padding is applied to the axis.
     * * Normal: Padding is applied based on the range calculation.
     * * Additional: The interval of the axis is added as padding to both the minimum and maximum values of the range.
     * * Round: The axis range is rounded to the nearest possible value that is divisible by the interval.
     *
     * @default 'Auto'
     */
    rangePadding: ChartRangePadding;
    /**
     * The `valueType` property defines the type of data that the axis can manage, ensuring correct rendering based on the data type. This property supports multiple data types, each suited for different kinds of data visualization.
     * Available options include:
     * * Double: Used for rendering a numeric axis to accommodate numeric data.
     * * DateTime: Utilized for rendering a date-time axis to manage date-time data.
     * * Category: Employed for rendering a category axis to manage categorical data.
     * * Logarithmic: Applied for rendering a logarithmic axis to handle a wide range of values.
     * * DateTimeCategory: Used to render a date-time category axis for managing business days.
     *
     * @default 'Double'
     * @blazorType Syncfusion.EJ2.Blazor.Charts.ValueType
     * @isEnumeration true
     */
    valueType: ValueType;
    /**
     * The `edgeLabelPlacement` property ensures that labels positioned at the edges of the axis do not overlap with the axis boundaries or other chart elements, offering several options to improve chart readability by managing edge labels effectively.
     * Available options are:
     * * None: No action will be performed on edge labels.
     * * Hide: Edge labels will be hidden to prevent overlap.
     * * Shift: Edge labels will be shifted to fit within the axis bounds without overlapping.
     *
     * @default 'Shift'
     */
    edgeLabelPlacement: EdgeLabelPlacement;
    /**
     * The `intervalType` property defines how the intervals on a date-time axis are calculated and displayed.
     * Available options are:
     * * Auto: Automatically determines the interval type based on the data and chart settings.
     * * Years: Sets the interval of the axis in years.
     * * Months: Sets the interval of the axis in months.
     * * Days: Sets the interval of the axis in days.
     * * Hours: Sets the interval of the axis in hours.
     * * Minutes: Sets the interval of the axis in minutes.
     *
     * @default 'Auto'
     */
    intervalType: IntervalType;
    /**
     * The `labelPlacement` property controls where the category axis labels are rendered in relation to the axis ticks.
     * Available options are:
     * * BetweenTicks: Renders the label between the axis ticks.
     * * OnTicks: Renders the label directly on the axis ticks.
     *
     * @default 'BetweenTicks'
     */
    labelPlacement: LabelPlacement;
    /**
     * The `tickPosition` property determines where the axis ticks are rendered in relation to the axis line.
     * Available options are:
     * * Inside: Renders the ticks inside the axis line.
     * * Outside: Renders the ticks outside the axis line.
     *
     * @default 'Outside'
     */
    tickPosition: AxisPosition;
    /**
     * The `labelPosition` property determines where the axis labels are rendered in relation to the axis line.
     * Available options are:
     * * Inside: Renders the labels inside the axis line.
     * * Outside: Renders the labels outside the axis line.
     *
     * @default 'Outside'
     */
    labelPosition: AxisPosition;
    /**
     * A unique identifier for an axis. To associate an axis with a series, set this name to the `xAxisName` or `yAxisName` properties of the series.
     *
     * @default ''
     */
    name: string;
    /**
     * If set to true, axis labels will be visible in the chart. By default, axis labels are enabled.
     *
     * @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;
    /**
     * Defines an angle for rotating the axis title. By default, the angle is calculated based on the position and orientation of the axis.
     *
     * @default null
     */
    titleRotation: number;
    /**
     * Specifies the value at which the axis line intersects with the vertical axis or vice versa.
     *
     * @default null
     */
    crossesAt: Object;
    /**
     * Specifies whether axis elements, such as axis labels and the axis title, should be crossed by the axis line.
     *
     * @default true
     */
    placeNextToAxisLine: boolean;
    /**
     * Specifies the name of the axis with which the axis line should intersect.
     *
     * @default null
     */
    crossesInAxis: string;
    /**
     * Specifies the minimum value of the axis range, which sets the lower bound of the axis and defines the smallest value that will be displayed on the chart to control the visible range of data.
     *
     * @default null
     */
    minimum: Object;
    /**
     * Specifies the maximum value of the axis range, which sets the upper bound of the axis and defines the largest value displayed on the chart, helping to control the visible range of data.
     *
     * @default null
     */
    maximum: Object;
    /**
     * Specifies the interval for the axis.
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    interval: number;
    /**
     * Specifies the maximum width of an axis label.
     *
     * @default 34.
     */
    maximumLabelWidth: number;
    /**
     * If set to true, axis labels will be trimmed based on the `maximumLabelWidth`.
     *
     * @default false
     */
    enableTrim: boolean;
    /**
     * Specifies whether the axis labels should be wrapped based on the specified `maximumLabelWidth`.
     * When set to `true`, the axis labels will automatically wrap to fit within the available width defined by `maximumLabelWidth`.
     *
     * @default false
     */
    enableWrap: boolean;
    /**
     * The `labelPadding` property adjusts the distance to ensure a clear space between the axis labels and the axis line.
     *
     * @default 5
     */
    labelPadding: number;
    /**
     * Specifies the padding between the axis title and the axis labels.
     *
     * @default 5
     */
    titlePadding: number;
    /**
     * Options for customizing major tick lines on the axis.
     */
    majorTickLines: MajorTickLinesModel;
    /**
     * Options for customizing minor tick lines on the axis.
     */
    minorTickLines: MinorTickLinesModel;
    /**
     * Options for customizing major grid lines on the axis.
     */
    majorGridLines: MajorGridLinesModel;
    /**
     * Options for customizing minor grid lines on the axis.
     */
    minorGridLines: MinorGridLinesModel;
    /**
     * Options for customizing the axis lines.
     */
    lineStyle: AxisLineModel;
    /**
     * Specifies the action to take when axis labels intersect with each other.
     * The available options are:
     * * None: Shows all labels without any modification.
     * * Hide: Hides the label if it intersects with another label.
     * * Trim: Trims the label text to fit within the available space.
     * * Wrap: Wraps the label text to fit within the available space.
     * * MultipleRows: Displays the label text in multiple rows to avoid intersection.
     * * Rotate45: Rotates the label text by 45 degrees to avoid intersection.
     * * Rotate90: Rotates the label text by 90 degrees to avoid intersection.
     *
     * @default Trim
     */
    labelIntersectAction: LabelIntersectAction;
    /**
     * If set to true, the axis will be rendered in an inversed manner.
     *
     * @default false
     */
    isInversed: boolean;
    /**
     * The `coefficient` value adjusts the size of the polar radar chart's radius. A higher value increases the radius size, while a smaller value decreases it.
     *
     * @default 100
     */
    coefficient: number;
    /**
     * Specifies the start angle for the series in a polar or radar chart, measured in degrees from the horizontal axis, determining the initial angle from which the series begins.
     *
     * @default 0
     */
    startAngle: number;
    /**
     * If set to true, the axis starts from zero.
     * If set to false, the axis starts from the minimum value of the data.
     *
     * @default true
     */
    startFromZero: boolean;
    /**
     * A description for the axis that provides additional information about its content for screen readers.
     *
     * @default null
     */
    description: string;
    /**
     * Specifies an offset value that determines where the first label appears on the category axis.
     * This helps control the alignment of axis labels by shifting the starting position.
     *
     * @default null
     */
    intervalOffset: number;
    /**
     * The `tabIndex` value for the axis, determining its position in the tab order.
     *
     * @default 2
     */
    tabIndex: number;
    /**
     * Specifies the collection of strip lines for the axis, which are visual elements used to mark or highlight specific ranges.
     */
    stripLines: StripLineSettingsModel[];
    /**
     * Multi-level labels are used to display hierarchical or grouped labels on the axis, allowing for a more detailed and structured data representation.
     */
    multiLevelLabels: MultiLevelLabelsModel[];
    /**
     * Configures the appearance of the border around multi-level labels, including the color, width, and type of the border.
     */
    border: LabelBorderModel;
    /**
     * Configures the scrollbar with options for customization, including appearance, behavior, and lazy loading settings.
     */
    scrollbarSettings: ScrollbarSettingsModel;
    /** @private */
    visibleRange: VisibleRangeModel;
    /** @private */
    visibleLabels: VisibleLabels[];
    /** @private */
    actualRange: VisibleRangeModel;
    /** @private */
    series: Series[];
    /** @private */
    doubleRange: DoubleRange;
    /** @private */
    maxLabelSize: svgBase.Size;
    /** @private */
    rotatedLabel: string;
    /** @private */
    rect: svgBase.Rect;
    /** @private */
    axisBottomLine: BorderModel;
    /** @private */
    orientation: Orientation;
    /** @private */
    intervalDivs: number[];
    /** @private */
    actualIntervalType: IntervalType;
    /** @private */
    labels: string[];
    /** @private */
    indexLabels: object;
    /** @private */
    format: Function;
    /** @private */
    baseModule: Double | DateTime | Category | DateTimeCategory;
    /** @private */
    startLabel: string;
    /** @private */
    endLabel: string;
    /** @private */
    angle: number;
    /** @private */
    dateTimeInterval: number;
    /** @private */
    isStack100: boolean;
    /** @private */
    crossInAxis: this;
    /** @private */
    crossAt: number;
    /** @private */
    updatedRect: svgBase.Rect;
    /** @private */
    multiLevelLabelHeight: number;
    zoomingScrollBar: ScrollBar;
    /** @private */
    scrollBarHeight: number;
    /** @private */
    isChart: boolean;
    /** @private */
    maxPointLength: number;
    /** @private */
    isIntervalInDecimal: boolean;
    /** @private */
    titleCollection: string[];
    /** @private */
    titleSize: svgBase.Size;
    /** @private */
    isAxisInverse: boolean;
    /** @private */
    isAxisOpposedPosition: boolean;
    /** @private */
    index: number;
    /**
     * Task: BLAZ-2044
     * This property used to hide the axis when series hide from legend click
     *
     * @private
     */
    internalVisibility: boolean;
    /**
     * This property is used to place the vertical axis in opposed position and horizontal axis in inversed
     * when RTL is enabled in chart
     *
     * @private */
    isRTLEnabled: boolean;
    constructor(parent: any, propName: string, defaultValue: Object, isArray?: boolean);
    /**
     * The function used to find tick size.
     *
     * @param {Axis} crossAxis - The cross axis for which to find the tick size.
     * @returns {number} - The tick line size.
     * @private
     */
    findTickSize(crossAxis: Axis): number;
    /**
     * The function used to find axis position.
     *
     * @returns {number}
     * @private
     */
    isInside(range: VisibleRangeModel): boolean;
    /**
     * The function used to find label svgBase.Size.
     *
     * @param {Axis} crossAxis - The cross axis for which to find the label size.
     * @param {number} innerPadding - The inner padding.
     * @param {Row | Column} definition - The row or column definition.
     * @param {Chart} chart - The chart instance.
     * @returns {number} - The label size.
     * @private
     */
    findLabelSize(crossAxis: Axis, innerPadding: number, definition: Row | Column, chart: Chart): number;
    /**
     * The function used to find axis position.
     *
     * @returns {void}
     * @private
     */
    updateCrossValue(): void;
    private findDifference;
    /**
     * Calculate the visible range for the axis.
     *
     * @returns {void}
     * @private
     */
    calculateVisibleRangeOnZooming(): void;
    /**
     * Triggers the event.
     *
     * @returns {void}
     * @private
     */
    triggerRangeRender(chart: Chart, minimum: number, maximum: number, interval: number): void;
    /**
     * Calculate padding for the axis.
     *
     * @returns {string}
     * @private
     */
    getRangePadding(chart: Chart): string;
    /**
     * Calculate maximum label width for the axis.
     *
     * @param {Chart} chart - The chart for which to calculate the maximum label width.
     * @returns {void}
     * @private
     */
    getMaxLabelWidth(chart: Chart): void;
    /**
     * Finds the multiple rows for axis.
     *
     * @returns {void}
     */
    private findMultiRows;
    /**
     * Finds the default module for axis.
     *
     * @returns {void}
     * @private
     */
    getModule(chart: Chart): void;
    /**
     * Set the axis `opposedPosition` and `isInversed` properties.
     *
     * @param {boolean} isPolar - Indicates whether the axis is polar or not.
     * @returns {void}
     * @private
     */
    setIsInversedAndOpposedPosition(isPolar?: boolean): void;
    /**
     * Updates the axis within the chart.
     *
     * @returns {void}
     * @private
     */
    updateAxis(): void;
}
/** @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/axis-model.d.ts
/**
 * Interface for a class Row
 */
export interface RowModel {
    /**
     * The height of the row as a string accepts input both as '100px' and '100%'.
     * If specified as '100%', the 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 '100px' and '100%'.
     * If specified as '100%', the 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 major grid lines in pixels, determining the thickness of the lines on the axis.
     *
     * @default 1
     */
    width?: number;
    /**
     * The dash array of the grid lines, defining the pattern of dashes and gaps for the major grid lines on the axis.
     *
     * @default ''
     */
    dashArray?: string;
    /**
     * Specifies the color of the major grid line, accepting hex and rgba values as valid CSS color strings.
     *
     * @default null
     */
    color?: string;
}
/**
 * Interface for a class MinorGridLines
 */
export interface MinorGridLinesModel {
    /**
     * The width of the minor grid lines in pixels, determining the thickness of the lines on the axis.
     *
     * @default 0.7
     */
    width?: number;
    /**
     * The dash array of the grid lines, defining the pattern of dashes and gaps for the minor grid lines on the chart's axis.
     *
     * @default ''
     */
    dashArray?: string;
    /**
     * Specifies the color of the minor grid line, accepting hex and rgba values as valid CSS color strings.
     *
     * @default null
     */
    color?: string;
}
/**
 * Interface for a class AxisLine
 */
export interface AxisLineModel {
    /**
     * The width of the axis line in pixels, determining the thickness of the lines on the axis.
     *
     * @default 1
     */
    width?: number;
    /**
     * The dash array of the axis line, defining the pattern of dashes and gaps for the axis line.
     *
     * @default ''
     */
    dashArray?: string;
    /**
     * Specifies the color of the axis line. Accepts values in hex and rgba formats as valid CSS color strings.
     *
     * @default null
     */
    color?: string;
}
/**
 * Interface for a class MajorTickLines
 */
export interface MajorTickLinesModel {
    /**
     * The width of the major tick lines in pixels, determining the thickness of the lines on the axis.
     *
     * @default 1
     */
    width?: number;
    /**
     * The height of the ticks in pixels, which defines their length on the axis.
     *
     * @default 5
     */
    height?: number;
    /**
     * Specifies the color of the major tick line, accepting hex and rgba values as valid CSS color strings.
     *
     * @default null
     */
    color?: string;
}
/**
 * Interface for a class MinorTickLines
 */
export interface MinorTickLinesModel {
    /**
     * The width of the minor tick lines in pixels, determining the thickness of the lines on the axis.
     *
     * @default 0.7
     */
    width?: number;
    /**
     * The height of the ticks in pixels, which defines their length on the axis.
     *
     * @default 5
     */
    height?: number;
    /**
     * Specifies the color of the minor tick line, accepting hex and rgba values as valid CSS color strings.
     *
     * @default null
     */
    color?: string;
}
/**
 * Interface for a class CrosshairTooltip
 */
export interface CrosshairTooltipModel {
    /**
     * If set to true, the crosshair tooltip will be visible on the chart when interacting with the crosshair.
     *
     *  @default false
     */
    enable?: boolean;
    /**
     * The fill color of the tooltip accepts values in hex and rgba as valid CSS color string.
     *
     * @default null
     */
    fill?: string;
    /**
     * Options for customizing the crosshair tooltip text, including font settings such as family, size, style, weight, and color.
     */
    textStyle?: FontModel;
}
/**
 * Interface for a class Axis
 */
export interface AxisModel {
    /**
     * This property allows defining various font settings to control how the labels are displayed on the axis.
     */
    labelStyle?: FontModel;
    /**
     * Options to customize the appearance and behavior of the crosshair tooltip that appears when hovering over the chart.
     */
    crosshairTooltip?: CrosshairTooltipModel;
    /**
     * Specifies the title of an axis, displayed along the axis to provide context about the represented data.
     *
     * @default ''
     */
    title?: string;
    /**
     * Options for customizing the appearance of the axis title, including font family, size, style, weight, and color.
     */
    titleStyle?: FontModel;
    /**
     * Used to format the axis label. This property accepts global string formats such as `C`, `n1`, `P`, etc.
     * It also accepts placeholders like `{value}°C`, where `{value}` represents the axis label (e.g., 20°C).
     *
     * @default ''
     */
    labelFormat?: string;
    /**
     * Specifies the skeleton format used for processing date-time values.
     *
     * @default ''
     */
    skeleton?: string;
    /**
     * Specifies the format type to be used in date-time formatting.
     *
     * @default 'DateTime'
     * @deprecated
     */
    skeletonType?: SkeletonType;
    /**
     * Determines the alignment of labels when a line break occurs in the axis labels.
     *
     * @default 'Center'
     */
    lineBreakAlignment?: TextAlignment;
    /**
     * Specifies the padding on the top, bottom, left and right sides of the chart area, in pixels.
     *
     * @default 0
     */
    plotOffset?: number;
    /**
     * Specifies the left padding for the chart area, in pixels.
     *
     * @default null
     */
    plotOffsetLeft?: number;
    /**
     * Specifies the top padding for the chart area, in pixels.
     *
     * @default null
     */
    plotOffsetTop?: number;
    /**
     * Specifies the right padding for the chart area, in pixels.
     *
     * @default null
     */
    plotOffsetRight?: number;
    /**
     * Specifies the bottom padding for the chart area, in pixels.
     *
     * @default null
     */
    plotOffsetBottom?: number;
    /**
     * If set to true, data points are rendered based on their index.
     *
     * @default false
     */
    isIndexed?: boolean;
    /**
     * Specifies the base value for a logarithmic axis.
     > Note that `valueType` must be set to `Logarithmic` for this feature to work.
     *
     * @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 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 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` that an axis spans horizontally or vertically.
     *
     * @default 1
     */
    span?: number;
    /**
     * The `desiredIntervals` property allows the axis to calculate intervals that are roughly equal to the specified number, promoting a more readable and evenly spaced axis.
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    desiredIntervals?: number;
    /**
     * Specifies the maximum number of labels per 100 pixels relative 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.
     > Note the value ranges from 0 to 1.
     *
     * @default 1
     */
    zoomFactor?: number;
    /**
     * Sets the position of the zoomed axis on the chart, with the `zoomPosition` property specifying the position within the zoomed range, from 0 (start) to 1 (end).
     *
     * @default 0
     */
    zoomPosition?: number;
    /**
     * If set to true, a scrollbar will appear while zooming to help navigate through the zoomed content.
     *
     * @default true
     */
    enableScrollbarOnZooming?: boolean;
    /**
     * If set to true, the axis will render on the opposite side of its default position.
     *
     * @default false
     */
    opposedPosition?: boolean;
    /**
     * If set to true, the axis interval will be calculated automatically based on the zoomed range.
     *
     * @default true
     */
    enableAutoIntervalOnZooming?: boolean;
    /**
     * The `rangePadding` property determines how padding is applied to the axis range, affecting the appearance of the chart by adjusting the minimum and maximum values of the axis.
     * Available options are:
     * * None: No padding is applied to the axis.
     * * Normal: Padding is applied based on the range calculation.
     * * Additional: The interval of the axis is added as padding to both the minimum and maximum values of the range.
     * * Round: The axis range is rounded to the nearest possible value that is divisible by the interval.
     *
     * @default 'Auto'
     */
    rangePadding?: ChartRangePadding;
    /**
     * The `valueType` property defines the type of data that the axis can manage, ensuring correct rendering based on the data type. This property supports multiple data types, each suited for different kinds of data visualization.
     * Available options include:
     * * Double: Used for rendering a numeric axis to accommodate numeric data.
     * * DateTime: Utilized for rendering a date-time axis to manage date-time data.
     * * Category: Employed for rendering a category axis to manage categorical data.
     * * Logarithmic: Applied for rendering a logarithmic axis to handle a wide range of values.
     * * DateTimeCategory: Used to render a date-time category axis for managing business days.
     *
     * @default 'Double'
     * @blazorType Syncfusion.EJ2.Blazor.Charts.ValueType
     * @isEnumeration true
     */
    valueType?: ValueType;
    /**
     * The `edgeLabelPlacement` property ensures that labels positioned at the edges of the axis do not overlap with the axis boundaries or other chart elements, offering several options to improve chart readability by managing edge labels effectively.
     * Available options are:
     * * None: No action will be performed on edge labels.
     * * Hide: Edge labels will be hidden to prevent overlap.
     * * Shift: Edge labels will be shifted to fit within the axis bounds without overlapping.
     *
     * @default 'Shift'
     */
    edgeLabelPlacement?: EdgeLabelPlacement;
    /**
     * The `intervalType` property defines how the intervals on a date-time axis are calculated and displayed.
     * Available options are:
     * * Auto: Automatically determines the interval type based on the data and chart settings.
     * * Years: Sets the interval of the axis in years.
     * * Months: Sets the interval of the axis in months.
     * * Days: Sets the interval of the axis in days.
     * * Hours: Sets the interval of the axis in hours.
     * * Minutes: Sets the interval of the axis in minutes.
     *
     * @default 'Auto'
     */
    intervalType?: IntervalType;
    /**
     * The `labelPlacement` property controls where the category axis labels are rendered in relation to the axis ticks.
     * Available options are:
     * * BetweenTicks: Renders the label between the axis ticks.
     * * OnTicks: Renders the label directly on the axis ticks.
     *
     * @default 'BetweenTicks'
     */
    labelPlacement?: LabelPlacement;
    /**
     * The `tickPosition` property determines where the axis ticks are rendered in relation to the axis line.
     * Available options are:
     * * Inside: Renders the ticks inside the axis line.
     * * Outside: Renders the ticks outside the axis line.
     *
     * @default 'Outside'
     */
    tickPosition?: AxisPosition;
    /**
     * The `labelPosition` property determines where the axis labels are rendered in relation to the axis line.
     * Available options are:
     * * Inside: Renders the labels inside the axis line.
     * * Outside: Renders the labels outside the axis line.
     *
     * @default 'Outside'
     */
    labelPosition?: AxisPosition;
    /**
     * A unique identifier for an axis. To associate an axis with a series, set this name to the `xAxisName` or `yAxisName` properties of the series.
     *
     * @default ''
     */
    name?: string;
    /**
     * If set to true, axis labels will be visible in the chart. By default, axis labels are enabled.
     *
     * @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;
    /**
     * Defines an angle for rotating the axis title. By default, the angle is calculated based on the position and orientation of the axis.
     *
     * @default null
     */
    titleRotation?: number;
    /**
     * Specifies the value at which the axis line intersects with the vertical axis or vice versa.
     *
     * @default null
     */
    crossesAt?: Object;
    /**
     * Specifies whether axis elements, such as axis labels and the axis title, should be crossed by the axis line.
     *
     * @default true
     */
    placeNextToAxisLine?: boolean;
    /**
     * Specifies the name of the axis with which the axis line should intersect.
     *
     * @default null
     */
    crossesInAxis?: string;
    /**
     * Specifies the minimum value of the axis range, which sets the lower bound of the axis and defines the smallest value that will be displayed on the chart to control the visible range of data.
     *
     * @default null
     */
    minimum?: Object;
    /**
     * Specifies the maximum value of the axis range, which sets the upper bound of the axis and defines the largest value displayed on the chart, helping to control the visible range of data.
     *
     * @default null
     */
    maximum?: Object;
    /**
     * Specifies the interval for the axis.
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    interval?: number;
    /**
     * Specifies the maximum width of an axis label.
     *
     * @default 34.
     */
    maximumLabelWidth?: number;
    /**
     * If set to true, axis labels will be trimmed based on the `maximumLabelWidth`.
     *
     * @default false
     */
    enableTrim?: boolean;
    /**
     * Specifies whether the axis labels should be wrapped based on the specified `maximumLabelWidth`.
     * When set to `true`, the axis labels will automatically wrap to fit within the available width defined by `maximumLabelWidth`.
     *
     * @default false
     */
    enableWrap?: boolean;
    /**
     * The `labelPadding` property adjusts the distance to ensure a clear space between the axis labels and the axis line.
     *
     * @default 5
     */
    labelPadding?: number;
    /**
     * Specifies the padding between the axis title and the axis labels.
     *
     * @default 5
     */
    titlePadding?: number;
    /**
     * Options for customizing major tick lines on the axis.
     */
    majorTickLines?: MajorTickLinesModel;
    /**
     * Options for customizing minor tick lines on the axis.
     */
    minorTickLines?: MinorTickLinesModel;
    /**
     * Options for customizing major grid lines on the axis.
     */
    majorGridLines?: MajorGridLinesModel;
    /**
     * Options for customizing minor grid lines on the axis.
     */
    minorGridLines?: MinorGridLinesModel;
    /**
     * Options for customizing the axis lines.
     */
    lineStyle?: AxisLineModel;
    /**
     * Specifies the action to take when axis labels intersect with each other.
     * The available options are:
     * * None: Shows all labels without any modification.
     * * Hide: Hides the label if it intersects with another label.
     * * Trim: Trims the label text to fit within the available space.
     * * Wrap: Wraps the label text to fit within the available space.
     * * MultipleRows: Displays the label text in multiple rows to avoid intersection.
     * * Rotate45: Rotates the label text by 45 degrees to avoid intersection.
     * * Rotate90: Rotates the label text by 90 degrees to avoid intersection.
     *
     * @default Trim
     */
    labelIntersectAction?: LabelIntersectAction;
    /**
     * If set to true, the axis will be rendered in an inversed manner.
     *
     * @default false
     */
    isInversed?: boolean;
    /**
     * The `coefficient` value adjusts the size of the polar radar chart's radius. A higher value increases the radius size, while a smaller value decreases it.
     *
     * @default 100
     */
    coefficient?: number;
    /**
     * Specifies the start angle for the series in a polar or radar chart, measured in degrees from the horizontal axis, determining the initial angle from which the series begins.
     *
     * @default 0
     */
    startAngle?: number;
    /**
     * If set to true, the axis starts from zero.
     * If set to false, the axis starts from the minimum value of the data.
     *
     * @default true
     */
    startFromZero?: boolean;
    /**
     * A description for the axis that provides additional information about its content for screen readers.
     *
     * @default null
     */
    description?: string;
    /**
     * Specifies an offset value that determines where the first label appears on the category axis.
     * This helps control the alignment of axis labels by shifting the starting position.
     *
     * @default null
     */
    intervalOffset?: number;
    /**
     * The `tabIndex` value for the axis, determining its position in the tab order.
     *
     * @default 2
     */
    tabIndex?: number;
    /**
     * Specifies the collection of strip lines for the axis, which are visual elements used to mark or highlight specific ranges.
     */
    stripLines?: StripLineSettingsModel[];
    /**
     * Multi-level labels are used to display hierarchical or grouped labels on the axis, allowing for a more detailed and structured data representation.
     */
    multiLevelLabels?: MultiLevelLabelsModel[];
    /**
     * Configures the appearance of the border around multi-level labels, including the color, width, and type of the border.
     */
    border?: LabelBorderModel;
    /**
     * Configures the scrollbar with options for customization, including appearance, behavior, and lazy loading settings.
     */
    scrollbarSettings?: ScrollbarSettingsModel;
}
/**
 * Interface for a class VisibleLabels
 * @private
 */
export interface VisibleLabelsModel {
}
//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.
     *
     * @param {Axis} axis - The axis for which to calculate the interval.
     * @param {svgBase.Size} size - The size of the axis.
     * @param {number} start - The start value of the axis.
     * @param {number} end - The end value of the axis.
     * @param {boolean} [isChart=true] - Indicating whether it's a chart. Defaults to true.
     * @returns {number} - The calculated numeric datetime interval.
     */
    calculateDateTimeNiceInterval(axis: Axis, size: svgBase.Size, start: number, end: number, isChart?: boolean): number;
    /**
     * To get the skeleton for the DateTime axis.
     *
     * @param {Axis} axis - The DateTime axis for which to get the skeleton.
     * @param {number} currentValue - The current value.
     * @param {number} previousValue - The previous value.
     * @param {boolean} isBlazor - Indicates whether it's for Blazor.
     * @returns {string} - The skeleton for the DateTime axis.
     * @private
     */
    getSkeleton(axis: Axis, currentValue: number, previousValue: number, isBlazor?: boolean): string;
    /**
     * Find label format for axis
     *
     * @param {Axis} axis - axis
     * @returns {string} - Returns the label format.
     * @private
     */
    findCustomFormats(axis: Axis): string;
}
//node_modules/@syncfusion/ej2-charts/src/chart/annotation/annotation.d.ts
/**
 * The `ChartAnnotation` module handles annotations for the chart.
 */
export  class ChartAnnotation extends AnnotationBase {
    private chart;
    private annotations;
    private parentElement;
    /**
     * Constructor for chart annotation.
     *
     * @private
     * @param {Chart} control - The chart control instance.
     * @param {ChartAnnotationSettings[]} annotations - The array of annotation settings.
     */
    constructor(control: Chart, annotations: ChartAnnotationSettings[]);
    /**
     * Method to render the annotation for chart
     *
     * @param {Element} element - annotation element.
     * @returns {void}
     * @private
     */
    renderAnnotations(element: Element): void;
    /**
     * To destroy the annotation.
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
    /**
     * Get module name.
     *
     * @returns {string} - Returns the module name.
     */
    protected getModuleName(): string;
}
//node_modules/@syncfusion/ej2-charts/src/bullet-chart/bullet-chart.d.ts
/**
 *$ bullet chart
 */
export  class BulletChart extends base.Component<HTMLElement> implements base.INotifyPropertyChanged {
    /**
     * `bulletTooltipModule` is used to manipulate and add tooltip to the feature bar.
     */
    bulletTooltipModule: BulletTooltip;
    /**
     * `bulletChartLegendModule` is used to manipulate and add legend in accumulation chart.
     */
    bulletChartLegendModule: BulletChartLegend;
    /**
     *$ The width of the bullet chart as a string accepts input as both like '100px' or '100%'.
     *$ If specified as '100%, bullet chart renders to the full width of its parent element.
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    width: string;
    /**
     *$ The height of the bullet chart as a string accepts input both as '100px' or '100%'.
     *$ If specified as '100%, bullet chart renders to the full height of its parent element.
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    height: string;
    /**
     *$ The locale of the bullet chart as a string.
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    locale: string;
    /**
     * Options for customizing major tick lines.
     */
    majorTickLines: MajorTickLinesSettingsModel;
    /**
     * Options for customizing minor tick lines.
     */
    minorTickLines: MinorTickLinesSettingsModel;
    /**
     * Specifies the minimum range of an scale.
     *
     * @default null
     */
    minimum: number;
    /**
     * Specifies the maximum range of an scale.
     *
     * @default null
     */
    maximum: number;
    /**
     * Specifies the interval for an scale.
     *
     * @default null
     */
    interval: number;
    /**
     * specifies the interval of minor ticks.
     *
     * @default 4
     */
    minorTicksPerInterval: number;
    /**
     * Options for customizing labels
     */
    labelStyle: BulletLabelStyleModel;
    /**
     * Options for customizing values labels.
     */
    categoryLabelStyle: BulletLabelStyleModel;
    /**
     *$ Specifies the format of the bullet chart axis labels.
     *
     * @default ''
     */
    labelFormat: string;
    /**
     *$ Specifies the title of the bullet chart.
     *
     * @default ''
     */
    title: string;
    /**
     *$ Options for customizing the title styles of the bullet chart.
     */
    titleStyle: BulletLabelStyleModel;
    /**
     *$ Specifies the sub title of the bullet chart.
     *
     * @default ''
     */
    subtitle: string;
    /**
     *$ Options for customizing the sub title styles of the bullet chart.
     */
    subtitleStyle: BulletLabelStyleModel;
    /**
     * Orientation of the scale.
     *
     * @default 'Horizontal'
     */
    orientation: OrientationType;
    /**
     * Options for customizing the color and width of the chart border.
     */
    border: BorderModel;
    /**
     * Options for customizing the tooltip of the BulletChart.
     */
    tooltip: BulletTooltipSettingsModel;
    /**
     *$ provides Qualitative ranges of the bullet chart.
     */
    ranges: RangeModel[];
    /**
     *$ specifies the axis label position of the bullet chart.
     *
     * @default 'Outside'
     */
    labelPosition: LabelsPlacement;
    /**
     *$ specifies the tick position of the bullet chart.
     *
     * @default 'Outside'
     */
    tickPosition: TickPosition;
    /**
     *$ Sets the title position of bullet chart.
     *
     * @default 'Top'.
     */
    titlePosition: TextPosition;
    /**
     * If set to true, the axis will render at the opposite side of its default position.
     *
     * @default false
     */
    opposedPosition: boolean;
    /**
     *$ Specifies the theme for the bullet chart.
     *
     * @default 'Material'
     */
    theme: ChartTheme;
    /**
     * Options for customizing animation of the feature bar.
     */
    animation: AnimationModel;
    /**
     * Options for customizing data label of the feature bar.
     */
    dataLabel: BulletDataLabelModel;
    /**
     *$ Options for customizing the legend of the bullet chart.
     */
    legendSettings: BulletChartLegendSettingsModel;
    /**
     * default value for enableGroupSeparator.
     *
     * @default false
     */
    enableGroupSeparator: boolean;
    /**
     *$  Options to customize left, right, top and bottom margins of the bullet chart.
     */
    margin: MarginModel;
    /**
     *$ Options for customizing comparative bar color bullet chart.
     *
     * @default 5
     */
    targetWidth: number;
    /**
     * The stroke color for the comparative measure, which can accept values in hex and rgba as valid CSS color strings.
     * This property can also be mapped from the data source.
     *
     * @default '#191919'
     */
    targetColor: string;
    /**
     *$ Options for customizing feature bar height of the bullet chart.
     *
     * @default 6
     */
    valueHeight: number;
    /**
     * The stroke color for the feature measure, which can accept values in hex and rgba as valid CSS color strings.
     * This property can also be mapped from the data source.
     *
     * @default null
     */
    valueFill: string;
    /**
     * Options for customizing the color and width of the feature bar border.
     */
    valueBorder: BorderModel;
    /**
     *$ default value of multiple data bullet chart.
     *
     * @isdatamanager false
     * @default null
     */
    dataSource: Object;
    /**
     * It defines the query for the data source.
     *
     * @default null
     */
    query: data.Query;
    /**
     * It defines the category for the data source.
     *
     * @default null
     */
    categoryField: string;
    /**
     * Default type on feature measure.
     *
     * @default 'svgBase.Rect'
     */
    type: FeatureType;
    /**
     * The DataSource field that contains the value value.
     *
     * @default ''
     */
    valueField: string;
    /**
     * The DataSource field that contains the target value.
     *
     * @default ''
     */
    targetField: string;
    /**
     * The DataSource field that contains the target value.
     *
     * @default ['svgBase.Rect', 'Cross', 'Circle']
     */
    targetTypes: TargetType[];
    /**
     *$ TabIndex value for the bullet chart.
     *
     * @default 1
     */
    tabIndex: number;
    /**
     * Triggers before the bulletchart tooltip is rendered.
     *
     * @event tooltipRender
     */
    tooltipRender: base.EmitType<IBulletchartTooltipEventArgs>;
    /**
     *$ Triggers before bullet chart load.
     *
     * @event load
     */
    load: base.EmitType<IBulletLoadedEventArgs>;
    /**
     *$ Triggers after the bullet chart rendering
     *
     * @event loaded
     */
    loaded: base.EmitType<IBulletLoadedEventArgs>;
    /**
     * Triggers on clicking the chart.
     *
     * @event bulletChartMouseClick
     */
    bulletChartMouseClick: base.EmitType<IBulletMouseEventArgs>;
    /**
     * Triggers before the legend is rendered.
     *
     * @event legendRender
     * @deprecated
     */
    legendRender: base.EmitType<IBulletLegendRenderEventArgs>;
    /**
     * Triggers before the prints gets started.
     *
     * @event beforePrint
     */
    beforePrint: base.EmitType<IPrintEventArgs>;
    /** @private */
    renderer: svgBase.SvgRenderer;
    /** @private */
    svgObject: HTMLElement;
    /** @private */
    intl: base.Internationalization;
    /** @private */
    bulletAxis: BulletChartAxis;
    /** @private */
    scale: ScaleGroup;
    /** @private */
    availableSize: svgBase.Size;
    /** @private */
    private bulletid;
    /** @private */
    delayRedraw: boolean;
    /** @private */
    dataModule: Data;
    /** @private */
    animateSeries: boolean;
    /** @private */
    containerWidth: number;
    /** @private */
    resizeBound: any;
    /** @private */
    private resizeTo;
    /** @private */
    containerHeight: number;
    /** @private */
    private dataCount;
    /** @private */
    redraw: boolean;
    /** @private */
    private titleCollections;
    /** @private */
    private subTitleCollections;
    /** @private */
    initialClipRect: svgBase.Rect;
    /** @private */
    bulletChartRect: svgBase.Rect;
    /** @private */
    isTouch: boolean;
    /** @private */
    mouseX: number;
    /** @private */
    mouseY: number;
    private padding;
    /** @private */
    leftSize: number;
    /** @private */
    rightSize: number;
    /** @private */
    topSize: number;
    /** @private */
    bottomSize: number;
    /** @private */
    maxLabelSize: svgBase.Size;
    maxTitleSize: svgBase.Size;
    /** @private */
    themeStyle: IBulletStyle;
    /** @private */
    rangeCollection: number[];
    /** @private */
    intervalDivs: number[];
    /** @private */
    format: Function;
    private isLegend;
    /** @private */
    private currentLegendIndex;
    private previousTargetId;
    /**
     *$ Gets the current visible ranges of the bullet Chart.
     *
     * @hidden
     */
    visibleRanges: Range[];
    /**
     *$ Constructor for creating the bullet chart.
     *
     *$ @param {BulletChartModel} options - Specifies the bullet chart model.
     *$ @param {string | HTMLElement} element - Specifies the element for the bullet chart.
     * @hidden
     */
    constructor(options?: BulletChartModel, element?: string | HTMLElement);
    /**
     * Initialize the event handler.
     *
     * @returns {void}
     */
    protected preRender(): void;
    /**
     * To initialize the private variables.
     *
     * @returns {void}
     */
    private initPrivateValues;
    /**
     * Method to set culture for BulletChart.
     *
     * @returns {void}
     */
    private setCulture;
    /**
     *$ To Initialize the bullet chart rendering.
     *
     * @returns {void}
     */
    protected render(): void;
    /**
     *$ Theming for bullet chart.
     *
     * @returns {void}
     */
    private setTheme;
    private findRange;
    protected getActualDesiredIntervalsCount(availableSize: svgBase.Size): number;
    /**
     * Numeric Nice Interval for the axis.
     *
     * @private
     * @param {number} delta - The difference between maximum and minimum values.
     * @returns {number} - The calculated numeric nice interval for the axis.
     */
    protected calculateNumericNiceInterval(delta: number): number;
    /**
     * To set the left and top position for data label template for center aligned bulletchart.
     *
     * @returns {void}
     */
    private setSecondaryElementPosition;
    /**
     * Method to create SVG element.
     */
    createSvg(chart: BulletChart): void;
    /**
     * Creating a background element to the svg object.
     *
     * @returns {void}
     */
    private renderChartBackground;
    /**
     *$ Rendering the bullet elements.
     *
     * @returns {void}
     */
    private renderBulletElements;
    /**
     * To render the legend
     */
    private renderBulletLegend;
    /**
     *$ Handles the bullet chart resize.
     *
     * @returns {boolean}
     * @private
     */
    private bulletResize;
    /**
     * Process the data values of feature and comparative measure bar.
     *
     * @returns {void}
     */
    private bindData;
    /**
     * Rendering the feature and comaparative measure bars.
     *
     * @param {number} dataCount - The count of bars to render.
     * @returns {void}
     */
    private drawMeasures;
    /**
     * To calculate the title bounds.
     *
     * @returns {void}
     */
    private calculatePosition;
    /**
     * Calculate the rect values based on title position.
     *
     * @param {number} maxTitlteWidth - The maximum width of the title.
     * @param {number} titleHeight - The height of the title.
     * @param {number} subTitleHeight - The height of the subtitle.
     * @param {MarginModel} margin - The margin settings.
     * @returns {svgBase.Rect} - The calculated rect values.
     * @private
     */
    getBulletBounds(maxTitlteWidth: number, titleHeight: number, subTitleHeight: number, margin: MarginModel): svgBase.Rect;
    /**
     * Calculate maximum label width for category values.
     *
     * @private
     * @returns {svgBase.Size} To get a label width
     */
    getMaxLabelWidth(): svgBase.Size;
    private calculateVisibleElements;
    /**
     *$ To render the title of the bullet chart.
     *
     * @returns {void}
     */
    private renderBulletChartTitle;
    /**
     *$ To render the data label for bullet chart.
     *
     * @returns {void}
     */
    private renderDataLabel;
    private findTextAlignment;
    private findHorizontalAlignment;
    private findVerticalAlignment;
    /**
     *$ To render the sub title of the bullet chart.
     *
     * @param {number} x - The x-coordinate of the sub title.
     * @param {number} y - The y-coordinate of the sub title.
     * @param {string} anchor - The anchor position of the sub title.
     * @returns {void}
     */
    private renderBulletChartSubTitle;
    /**
     * To calculate the available size and width of the container
     */
    private calculateAvailableSize;
    removeSvg(): void;
    protected getPersistData(): string;
    /** Wire, UnWire and Event releated calculation Started here */
    /**
     *$ Method to un-bind events for bullet chart.
     *
     * @returns {void}
     */
    private unWireEvents;
    /**
     *$ Method to bind events for bullet chart.
     *
     * @returns {void}
     */
    private wireEvents;
    /**
     *$ Handles the keyboard onkeydown on bullet chart.
     *
     * @param {KeyboardEvent} e - The keyboard event.
     * @returns {void} - returns nothing
     * @private
     */
    chartKeyDown(e: KeyboardEvent): void;
    private setStyle;
    /**
     *$ Handles the mouse move on the bullet chart.
     *
     * @private
     * @param {PointerEvent} e - The pointer event.
     * @returns {void}
     */
    private bulletMouseMove;
    /**
     *$ To find mouse x, y for aligned bullet chart element svg position.
     *
     * @param {number} pageX - The x-coordinate of the mouse position on the page.
     * @param {number} pageY - The y-coordinate of the mouse position on the page.
     * @returns {void}
     */
    private setPointMouseXY;
    /**
     *$ Handles the mouse leave on the bullet chart.
     *
     * @private
     * @param {PointerEvent} e - The pointer event.
     * @returns {void}
     */
    bulletMouseLeave(e: PointerEvent): void;
    /**
     * Handles the touch event.
     *
     * @param {PointerEvent} event - The pointer event.
     * @returns {boolean} - Touch event.
     * @private
     */
    private isTouchEvent;
    /**
     *$ Handles the mouse down on the bullet chart.
     *
     * @private
     * @param {PointerEvent} e - The pointer event.
     * @returns {void}
     */
    private bulletMouseDown;
    /**
     *$ Handles the mouse click on bullet chart.
     *
     * @param {PointerEvent | TouchEvent} e - The pointer or touch event.
     *$ @returns {boolean} - Mouse click of bullet chart.
     * @private
     */
    bulletChartOnMouseClick(e: PointerEvent | TouchEvent): boolean;
    /**
     *$ Handles the print method for bullet chart control.
     *
     *$ @param {string[] | string | Element} id - The id of the bullet chart to be printed on the page.
     * @returns {void}
     */
    print(id?: string[] | string | Element): void;
    /**
     *$ Handles the export method for bullet chart control.
     *
     * @param {ExportType} type - Type of the export.
     * @param {string} fileName - File name for exporting.
     * @param {pdfExport.PdfPageOrientation} orientation - Orientation of the export.
     * @param {(Chart | AccumulationChart | RangeNavigator | BulletChart)[]} controls - To mention the exporting chart.
     * @param {number} width - Width of the export.
     * @param {number} height - Height of the export.
     * @param {boolean}111 isVertical - Whether the export is in vertical orientation.
     * @returns {void}
     */
    export(type: ExportType, fileName: string, orientation?: pdfExport.PdfPageOrientation, controls?: (Chart | AccumulationChart | RangeNavigator | BulletChart)[], width?: number, height?: number, isVertical?: boolean): void;
    /**
     *$ Handles the keyboard onkeydown on bullet chart.
     *
     * @param {KeyboardEvent} e - The keyboard event.
     * @returns {boolean} - false
     * @private
     */
    chartKeyUp(e: KeyboardEvent): boolean;
    /**
     * Handles to set style for key event on the document.
     *
     * @param {target} target - element which currently focused.
     * @returns {void}
     * @private
     */
    private setNavigationStyle;
    /**
     * Handles to remove style for key event on the document.
     *
     * @returns {void}
     * @private
     */
    private removeNavigationStyle;
    /**
     * Sets the tab index for the specified elements.
     *
     * @param {HTMLElement} previousElement - The previous element whose tab index needs to be removed.
     * @param {HTMLElement} currentElement - The current element to which the tab index needs to be set.
     * @returns {void}
     * @private
     */
    setTabIndex(previousElement: HTMLElement, currentElement: HTMLElement): void;
    /**
     * Gets the actual index based on the provided index and the total length.
     *
     * @param {number} index - The provided index.
     * @param {number} totalLength - The total length of the collection.
     * @returns {number} - The actual index, ensuring it is within the valid range.
     * @private
     */
    getActualIndex(index: number, totalLength: number): number;
    private focusChild;
    /**
     * Called internally if any of the property value changed.
     *
     * @private
     * @param {BulletChartModel} newProp - The new BulletChartModel.
     * @returns {void}
     */
    onPropertyChanged(newProp: BulletChartModel): void;
    /**
     *$ To provide the array of modules needed for bullet chart rendering.
     *
     * @private
     * @returns {base.ModuleDeclaration[]} requiredModules
     */
    requiredModules(): base.ModuleDeclaration[];
    getModuleName(): string;
    /**
     * To destroy the widget.
     *
     * @returns {void} Destroy method
     * @member of BulletChart
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-charts/src/bullet-chart/bullet-chart-model.d.ts
/**
 * Interface for a class BulletChart
 */
export interface BulletChartModel extends base.ComponentModel{
    /**
     *$ The width of the bullet chart as a string accepts input as both like '100px' or '100%'.
     *$ If specified as '100%, bullet chart renders to the full width of its parent element.
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    width?: string;
    /**
     *$ The height of the bullet chart as a string accepts input both as '100px' or '100%'.
     *$ If specified as '100%, bullet chart renders to the full height of its parent element.
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    height?: string;
    /**
     *$ The locale of the bullet chart as a string.
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    locale?: string;
    /**
     * Options for customizing major tick lines.
     */
    majorTickLines?: MajorTickLinesSettingsModel;
    /**
     * Options for customizing minor tick lines.
     */
    minorTickLines?: MinorTickLinesSettingsModel;
    /**
     * Specifies the minimum range of an scale.
     *
     * @default null
     */
    minimum?: number;
    /**
     * Specifies the maximum range of an scale.
     *
     * @default null
     */
    maximum?: number;
    /**
     * Specifies the interval for an scale.
     *
     * @default null
     */
    interval?: number;
    /**
     * specifies the interval of minor ticks.
     *
     * @default 4
     */
    minorTicksPerInterval?: number;
    /**
     * Options for customizing labels
     */
    labelStyle?: BulletLabelStyleModel;
    /**
     * Options for customizing values labels.
     */
    categoryLabelStyle?: BulletLabelStyleModel;
    /**
     *$ Specifies the format of the bullet chart axis labels.
     *
     * @default ''
     */
    labelFormat?: string;
    /**
     *$ Specifies the title of the bullet chart.
     *
     * @default ''
     */
    title?: string;
    /**
     *$ Options for customizing the title styles of the bullet chart.
     */
    titleStyle?: BulletLabelStyleModel;
    /**
     *$ Specifies the sub title of the bullet chart.
     *
     * @default ''
     */
    subtitle?: string;
    /**
     *$ Options for customizing the sub title styles of the bullet chart.
     */
    subtitleStyle?: BulletLabelStyleModel;
    /**
     * Orientation of the scale.
     *
     * @default 'Horizontal'
     */
    orientation?: OrientationType;
    /**
     * Options for customizing the color and width of the chart border.
     */
    border?: BorderModel;
    /**
     * Options for customizing the tooltip of the BulletChart.
     */
    tooltip?: BulletTooltipSettingsModel;
    /**
     *$ provides Qualitative ranges of the bullet chart.
     */
    ranges?: RangeModel[];
    /**
     *$ specifies the axis label position of the bullet chart.
     *
     * @default 'Outside'
     */
    labelPosition?: LabelsPlacement;
    /**
     *$ specifies the tick position of the bullet chart.
     *
     * @default 'Outside'
     */
    tickPosition?: TickPosition;
    /**
     *$ Sets the title position of bullet chart.
     *
     * @default 'Top'.
     */
    titlePosition?: TextPosition;
    /**
     * If set to true, the axis will render at the opposite side of its default position.
     *
     * @default false
     */
    opposedPosition?: boolean;
    /**
     *$ Specifies the theme for the bullet chart.
     *
     * @default 'Material'
     */
    theme?: ChartTheme;
    /**
     * Options for customizing animation of the feature bar.
     */
    animation?: AnimationModel;
    /**
     * Options for customizing data label of the feature bar.
     */
    dataLabel?: BulletDataLabelModel;
    /**
     *$ Options for customizing the legend of the bullet chart.
     */
    legendSettings?: BulletChartLegendSettingsModel;
    /**
     * default value for enableGroupSeparator.
     *
     * @default false
     */
    enableGroupSeparator?: boolean;
    /**
     *$  Options to customize left, right, top and bottom margins of the bullet chart.
     */
    margin?: MarginModel;
    /**
     *$ Options for customizing comparative bar color bullet chart.
     *
     * @default 5
     */
    targetWidth?: number;
    /**
     * The stroke color for the comparative measure, which can accept values in hex and rgba as valid CSS color strings.
     * This property can also be mapped from the data source.
     *
     * @default '#191919'
     */
    targetColor?: string;
    /**
     *$ Options for customizing feature bar height of the bullet chart.
     *
     * @default 6
     */
    valueHeight?: number;
    /**
     * The stroke color for the feature measure, which can accept values in hex and rgba as valid CSS color strings.
     * This property can also be mapped from the data source.
     *
     * @default null
     */
    valueFill?: string;
    /**
     * Options for customizing the color and width of the feature bar border.
     */
    valueBorder?: BorderModel;
    /**
     *$ default value of multiple data bullet chart.
     *
     * @isdatamanager false
     * @default null
     */
    dataSource?: Object;
    /**
     * It defines the query for the data source.
     *
     * @default null
     */
    query?: data.Query;
    /**
     * It defines the category for the data source.
     *
     * @default null
     */
    categoryField?: string;
    /**
     * Default type on feature measure.
     *
     * @default 'svgBase.Rect'
     */
    type?: FeatureType;
    /**
     * The DataSource field that contains the value value.
     *
     * @default ''
     */
    valueField?: string;
    /**
     * The DataSource field that contains the target value.
     *
     * @default ''
     */
    targetField?: string;
    /**
     * The DataSource field that contains the target value.
     *
     * @default ['svgBase.Rect', 'Cross', 'Circle']
     */
    targetTypes?: TargetType[];
    /**
     *$ TabIndex value for the bullet chart.
     *
     * @default 1
     */
    tabIndex?: number;
    /**
     * Triggers before the bulletchart tooltip is rendered.
     *
     * @event tooltipRender
     */
    tooltipRender?: base.EmitType<IBulletchartTooltipEventArgs>;
    /**
     *$ Triggers before bullet chart load.
     *
     * @event load
     */
    load?: base.EmitType<IBulletLoadedEventArgs>;
    /**
     *$ Triggers after the bullet chart rendering
     *
     * @event loaded
     */
    loaded?: base.EmitType<IBulletLoadedEventArgs>;
    /**
     * Triggers on clicking the chart.
     *
     * @event bulletChartMouseClick
     */
    bulletChartMouseClick?: base.EmitType<IBulletMouseEventArgs>;
    /**
     * Triggers before the legend is rendered.
     *
     * @event legendRender
     * @deprecated
     */
    legendRender?: base.EmitType<IBulletLegendRenderEventArgs>;
    /**
     * Triggers before the prints gets started.
     *
     * @event beforePrint
     */
    beforePrint?: base.EmitType<IPrintEventArgs>;
}
//node_modules/@syncfusion/ej2-charts/src/bullet-chart/utils/theme.d.ts
/** @private
 * @param {ChartTheme} theme Passed theme parameter.
 *$ @returns {IBulletStyle} It returns bullet style.
 */
export  function getBulletThemeColor(theme: ChartTheme): IBulletStyle;
//node_modules/@syncfusion/ej2-charts/src/bullet-chart/utils/enum.d.ts
/**
 *$ It defines orientation of the bullet chart.
 * * horizontal
 * * vertical
 *
 * @private
 */
export  type OrientationType = 
/** Horizontal type */
'Horizontal' | 
/** Vertical type */
'Vertical';
/**
 *$ It defines flow direction of the bullet chart.
 * * Forward
 * * Backward
 *
 * @private
 */
export  type FlowType = 
/** Forward type */
'Forward' | 
/** Backward type */
'Backward';
/**
 *$ It defines tick position of the bullet chart.
 * * Far
 * * Near
 * * Center
 *
 * @private
 */
export  type TickPlacement = 
/** Far type */
'Far' | 
/** Near type */
'Near' | 
/** Near type */
'Center';
/**
 *$ It defines flow direction of the bullet chart.
 * * Forward
 * * Backward
 *
 * @private
 */
export  type FeatureType = 
/** Rectangle type */
'Rect' | 
/** Dot type */
'Dot';
/**
 *$ It defines tick placement of bullet chart.
 * * Outside
 * * Inside
 *
 * @private
 */
export  type TickPosition = 
/** Far type */
'Outside' | 
/** Near type */
'Inside';
/**
 *$ It defines label placement of bullet chart.
 * * Outside
 * * Inside
 *
 * @private
 */
export  type LabelsPlacement = 
/** Far type */
'Outside' | 
/** Near type */
'Inside';
/**
 *$ It defines label position of bullet chart.
 * * Below
 * * Above
 *
 * @private
 */
export  type LabelsPosition = 
/** Below type */
'Below' | 
/** Above type */
'Above';
/**
 *$ It defines Text anchor of bullet chart.
 * * Start
 * * Middle
 * * End
 *
 * @private
 */
export  type TextAnchor = 
/** Start type */
'Start' | 
/** Middle type */
'Middle' | 
/** End type */
'End';
/**
 *$ It defines Text anchor of bullet chart.
 * * Left
 * * Right
 * * Top
 * * Bottom
 *
 * @private
 */
export  type TextPosition = 
/** Left position */
'Left' | 
/** Right position */
'Right' | 
/** Top position */
'Top' | 
/** Bottom position */
'Bottom';
/**
 *$ It defines Text anchor of bullet chart.
 * * Rect
 * * Circle
 * * Cross
 *
 * @private
 */
export  type TargetType = 
/** Rect bulletchart target type */
'Rect' | 
/** Circle bulletchart target type */
'Circle' | 
/** Cross bulletchart target type */
'Cross';
//node_modules/@syncfusion/ej2-charts/src/bullet-chart/user-interaction/tooltip.d.ts
/**
 *$ `BulletTooltip` module is used to render the tooltip for bullet chart.
 */
export  class BulletTooltip {
    private elementId;
    toolTipInterval: number;
    private control;
    private templateFn;
    /** @private */
    bulletAxis: BulletChartAxis;
    /**
     * Constructor for tooltip module.
     *
     * @private
     *$ @param {BulletChart} bullet - The bullet chart control.
     */
    constructor(bullet: BulletChart);
    /**
     * To create tooltip div element.
     *
     * @param {PointerEvent} e - The pointer event.
     * @param {string} targetClass - The class name of the target element.
     * @param {string} targetId - The id of the target element.
     * @param {number} mouseX - The X-coordinate of the mouse.
     * @returns {void}
     */
    _elementTooltip(e: PointerEvent, targetClass: string, targetId: string, mouseX: number): void;
    /**
     *$ To display the bullet chart tooltip.
     *
     * @param {PointerEvent} e - The pointer event.
     * @param {string} targetClass - The class name of the target element.
     * @param {string} targetId - The id of the target element.
     * @param {number} mouseX - The X-coordinate of the mouse.
     * @param {number} mouseY - The Y-coordinate of the mouse.
     * @returns {void}
     */
    _displayTooltip(e: PointerEvent, targetClass: string, targetId: string, mouseX: number, mouseY: number): void;
    /**
     * To update template values in the tooltip.
     *
     * @returns {void}
     */
    updateTemplateFn(): void;
    /**
     * Get module name.
     *
     * @returns {string} - Returns the module name.
     */
    protected getModuleName(): string;
    /**
     * To destroy the tooltip.
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-charts/src/bullet-chart/renderer/scale-render.d.ts
/**
 *$ class for Bullet chart Scale Group
 */
export  class ScaleGroup {
    private dataSource;
    private labelOffset;
    private location;
    featureBarBounds: IFeatureBarBounds[];
    private labelSize;
    private isHorizontal;
    private isVertical;
    private isTicksInside;
    private isLabelsInside;
    private isTop;
    private majorTickSize;
    private rangeColor;
    bulletChart: BulletChart;
    private isLabelBelow;
    private scaleSettingsGroup;
    private scaleOrientation;
    private comparative;
    private feature;
    private isLeft;
    private isRight;
    constructor(bulletChart: BulletChart);
    /**
     * To render range scale of the bulletChart graph.
     *
     * @param {Element} scaleGroup - The group element to contain the scale.
     * @returns {number[]} - Array representing the range scale.
     */
    drawScaleGroup(scaleGroup: Element): number[];
    protected sortRangeCollection(a: number, b: number): number;
    /**
     * To render the feature bar of the bulletChart chart.
     *
     * @param {number} dataCount - Count of the bars.
     * @returns {void}
     */
    renderFeatureBar(dataCount: number): void;
    /**
     * To render the horizontal feature bar of the bulletChart chart.
     *
     * @param {number} dataCount - Count of the bars.
     * @param {boolean} isHorizontal - Indicates whether the bars are horizontal.
     * @returns {void}
     */
    private renderCommonFeatureBar;
    private featureBar;
    private verticalFeatureBar;
    private drawcategory;
    /**
     * To render comparative symbol of the bulletChart chart.
     *
     * @param {number} dataCount - Data count value.
     * @returns {void}
     */
    renderComparativeSymbol(dataCount: number): void;
    private renderCommonComparativeSymbol;
    private getTargetElement;
    private compareMeasure;
    private compareVMeasure;
    /**
     * To calculate the bounds on vertical and horizontal orientation changes
     *
     * @param {number} value Value of the scale.
     * @param {string} categoryValue Value of the category.
     * @param {boolean} isHorizontal Boolean value.
     * @returns {IFeatureMeasureType} calculateFeatureMeasureBounds
     */
    private calculateFeatureMeasureBounds;
    /**
     * Animates the feature bar.
     *
     * @returns {void}
     */
    doValueBarAnimation(): void;
    /**
     * Animates the comparative bar.
     *
     * @param {number} index Defines the feature bar to animate.
     * @returns {void}
     */
    doTargetBarAnimation(index: number): void;
    private animateRect;
}
//node_modules/@syncfusion/ej2-charts/src/bullet-chart/renderer/bullet-axis.d.ts
/**
 *$ Class for Bullet chart axis
 */
export  class BulletChartAxis {
    bulletChart: BulletChart;
    private labelOffset;
    private labelSize;
    private isHorizontal;
    private isVertical;
    private isLabelBelow;
    private isLabelsInside;
    private majorTickSize;
    private length;
    private isLeft;
    private isRight;
    private isTop;
    private location;
    private rangeCollection;
    /** @private */
    format: Function;
    constructor(bullet: BulletChart);
    renderMajorTickLines(intervalValue: number, scale: Element): void;
    renderMinorTickLines(intervalValue: number, scale: Element): void;
    renderAxisLabels(intervalValue: number, scale: Element): void;
    /**
     *$ To render grid lines of bullet chart axis.
     *
     * @param {number} intervalValue - The interval value between minor grid lines.
     * @param {Element} scale - The scale element to which the minor grid lines will be appended.
     * @returns {void}
     */
    renderXMajorTickLines(intervalValue: number, scale: Element): void;
    /**
     *$ To render grid lines of bullet chart axis.
     *
     * @param {number} intervalValue - The interval value between minor grid lines.
     * @param {Element} scale - The scale element to which the minor grid lines will be appended.
     * @returns {void}
     */
    renderYMajorTickLines(intervalValue: number, scale: Element): void;
    private majorTicks;
    private bindingRangeStrokes;
    /**
     *$ To render minor tick lines of bullet chart.
     *
     * @param {number} intervalValue - The interval value between minor tick lines.
     * @param {Element} scaleGroup - The group element to which the minor tick lines will be appended.
     * @returns {void}
     */
    renderXMinorTickLines(intervalValue: number, scaleGroup: Element): void;
    /**
     *$ To render minor tick lines of bullet chart.
     *
     * @param {number} intervalValue - The interval value between minor tick lines.
     * @param {Element} scaleGroup - The group element to which the minor tick lines will be appended.
     * @returns {void}
     */
    renderYMinorTickLines(intervalValue: number, scaleGroup: Element): void;
    private minorXTicks;
    private forwardStrokeBinding;
    private backwardStrokeBinding;
    /**
     *$ To render axis labels of bullet chart.
     *
     * @param {number} intervalValue - The interval value between axis labels.
     * @param {Element} scaleGroup - The group element to which the axis labels will be appended.
     * @returns {void}
     */
    renderXAxisLabels(intervalValue: number, scaleGroup: Element): void;
    private labelXOptions;
    /**
     *$ To render axis labels of bullet chart.
     *
     * @param {number} intervalValue - The interval value between the axis labels.
     * @param {Element} scaleGroup - The scale group element to render the axis labels.
     * @returns {void}
     */
    renderYAxisLabels(intervalValue: number, scaleGroup: Element): void;
    /**
     * Format of the axis label.
     *
     * @private
     */
    getFormat(axis: BulletChart): string;
    /**
     * Formatted the axis label.
     *
     * @private
     */
    formatValue(axis: BulletChartAxis, isCustom: boolean, format: string, tempInterval: number): string;
}
//node_modules/@syncfusion/ej2-charts/src/bullet-chart/model/bullet-interface.d.ts
/**
 *$ Interface for Bullet chart Theme Style
 */
export interface IBulletStyle {
    majorTickLineColor: string;
    minorTickLineColor: string;
    background: string;
    labelFontColor: string;
    categoryFontColor: string;
    labelFontFamily: string;
    tooltipFill: string;
    legendLabel: string;
    tooltipBoldLabel: string;
    featuredMeasureColor: string;
    comparativeMeasureColor: string;
    titleFontColor: string;
    titleFontFamily: string;
    dataLabelFontColor: string;
    subTitleFontColor: string;
    subTitleFontFamily: string;
    firstRangeColor: string;
    secondRangeColor: string;
    thirdRangeColor: string;
    tabColor: string;
    rangeStrokes: Object[];
    titleFont: FontModel;
    subTitleFont: FontModel;
    legendLabelFont: FontModel;
    axisLabelFont: FontModel;
    dataLabelFont: FontModel;
    tooltipLabelFont: FontModel;
    legendTitleFont?: FontModel;
}
export interface IBulletChartEventArgs {
    /** Defines the name of the event. */
    name: string;
    /** Defines the event cancel status. */
    cancel: boolean;
}
/**
 *$ Interface for Bullet chart Resize events
 */
export interface IBulletResizeEventArgs {
    /** Defines the name of the Event. */
    name: string;
    /** Defines the previous size of the bullet chart. */
    previousSize: svgBase.Size;
    /** Defines the current size of the bullet chart. */
    currentSize: svgBase.Size;
    /** Defines the bullet chart instance. */
    chart: BulletChart;
}
/**
 *$ Interface for Bullet chart scale calculations
 */
export interface IBulletScaleBounds {
    /** Defines class values. */
    object: ScaleGroup;
    /** Defines the index value of the range. */
    rangeIndex: number;
    /** Defines the qualitative ranges. */
    rangeOptions: RangeModel;
    /** Defines the end values of the ranges. */
    rangeEndValue: number;
}
/**
 * Interface for feature and comparative bar bounds
 */
export interface IBulletBounds {
    /** Defines point x values. */
    pointX: number;
    /** Defines the width of the feature bar. */
    width: number;
    /** Defines point x values of the bar. */
    lPointX: number;
}
/**
 * Interface for feature and comparative bar bounds
 */
export interface IVerticalBulletBounds {
    /** Defines point x values */
    pointY: number;
    /** Defines the width of the feature bar */
    height: number;
    /** Defines point x values of the bar */
    lPointY: number;
}
/**
 * Interface for feature bar bounds
 */
export interface IFeatureBarBounds {
    /** Defines point x values. */
    x: number;
    /** Defines point y values. */
    y: number;
    /** Defines the height of the feature bar. */
    height: number;
    /** Defines the width of the feature bar. */
    width: number;
}
/**
 * Interface for tooltip content
 */
export interface IBulletTooltipContent {
    /** Defines the actual value of the feature bar. */
    value: string | number;
    /** Defines the target value of the comparative bar. */
    target?: string[] | number[] | string;
    /** Defines the category values. */
    category?: string | number;
}
/**
 * interface for loaded event
 */
export interface IBulletLoadedEventArgs {
    /** name of the event. */
    name: string;
    /** bulletChar.t */
    bulletChart: BulletChart;
    /** theme. */
    theme?: ChartTheme;
}
/**
 * Tooltip Event arguments
 */
export interface IBulletchartTooltipEventArgs {
    /** Defines the actual value of the feature bar - Read Only. */
    value: string | number;
    /** Defines the target value of the comparative bar - Read Only. */
    target: string[] | number[] | string;
    /** Defines the name of the Event - Read Only. */
    name: string;
    /** Defines the tooltip template. */
    template?: string;
    /** Defines the tooltip text. */
    text?: string;
}
/**
 *$ Bullet chart tooltip template
 */
export interface IBulletTemplate {
    /** Defines the actual value of the feature bar. */
    value: string;
    /** Defines the target value of the comparative bar. */
    target: string;
    /** Defines the category values. */
    category: string;
}
export interface IBarProperties {
    /** Defines class values */
    end: number;
    /** Defines the index value of the range. */
    opacity: number;
    /** Defines the qualitative ranges. */
    color: string;
    /** Defines the end values of the ranges. */
    name: string;
    /** Defines the end values of the ranges. */
    index: number;
    /** Defines the end values of the ranges. */
    shape: LegendShape;
}
export interface IBulletMouseEventArgs extends IBulletChartEventArgs {
    /** Defines current mouse event target id. */
    target: string;
    /** Defines current mouse x location. */
    x: number;
    /** Defines current mouse y location. */
    y: number;
}
export interface IBulletLegendRenderEventArgs extends IBulletChartEventArgs {
    /** Defines the current legend text. */
    text: string;
    /** Defines the current legend fill color.*/
    fill: string;
    /** Defines the current legend shape. */
    shape: LegendShape;
}
//node_modules/@syncfusion/ej2-charts/src/bullet-chart/model/bullet-base.d.ts
/**
 *$ Configuration of the bullet chart ranges
 */
export  class Range extends base.ChildProperty<Range> {
    /**
     * Default value for qualitative range end value.
     *
     * @default null
     */
    end: number;
    /**
     * Range opacity
     *
     * @default 1
     */
    opacity: number;
    /**
     * Default value for qualitative range Color.
     *
     * @default null
     */
    color: string;
    /**
     * Default value for qualitative range Color.
     *
     * @default null
     */
    index: number;
    /**
     * Default value for qualitative range name.
     *
     * @default null
     */
    name: string;
    /**
     * The shape of the legend. Each ranges has its own legend shape. They are,
     * * Circle
     * * Rectangle
     * * Triangle
     * * Diamond
     * * Cross
     * * HorizontalLine
     * * VerticalLine
     * * Pentagon
     * * InvertedTriangle
     * * SeriesType
     * * Image
     *
     * @default 'Rectangle'
     */
    shape: LegendShape;
    /**
     * The URL for the Image that is to be displayed as a Legend icon.  It requires  `legendShape` value to be an `Image`.
     *
     * @default ''
     */
    legendImageUrl: string;
}
/**
 * Configures the major tick lines.
 */
export  class MajorTickLinesSettings extends base.ChildProperty<MajorTickLinesSettings> {
    /**
     * The height of the tick lines in pixels.
     *
     * @default 12
     */
    height: number;
    /**
     * The width of the ticks in pixels.
     *
     * @default 2
     */
    width: number;
    /**
     * The stroke of the major tick line that accepts value in hex and rgba as a valid CSS color string.
     *
     * @default null
     */
    color: string;
    /**
     * It uses to apply range color to ticks and labels.
     *
     * @default false
     */
    useRangeColor: boolean;
}
/**
 * Configures the minor tick lines.
 */
export  class MinorTickLinesSettings extends base.ChildProperty<MinorTickLinesSettings> {
    /**
     * The height of the tick lines in pixels.
     *
     * @default 8
     */
    height: number;
    /**
     * The width of the ticks in pixels.
     *
     * @default 2
     */
    width: number;
    /**
     * The stroke of the major tick line that accepts value in hex and rgba as a valid CSS color string.
     *
     * @default null
     */
    color: string;
    /**
     * It uses to apply range color to ticks and labels.
     *
     * @default false
     */
    useRangeColor: boolean;
}
/**
 *$ Configures the fonts in bullet chart.
 */
export  class BulletLabelStyle extends base.ChildProperty<BulletLabelStyle> {
    /**
     * FontStyle for the text.
     *
     * @default 'Normal'
     */
    fontStyle: string;
    /**
     * Font size for the text.
     *
     * @default '16px'
     */
    size: string;
    /**
     * Color for the text.
     *
     * @default ''
     */
    color: string;
    /**
     * FontWeight for the text.
     *
     * @default 'Normal'
     */
    fontWeight: string;
    /**
     * FontFamily for the text.
     */
    fontFamily: string;
    /**
     * Text alignment.
     *
     * @default 'Center'
     */
    textAlignment: Alignment;
    /**
     * Specifies the chart title text overflow.
     *
     * @default 'Trim'
     */
    textOverflow: TextOverflow;
    /**
     * Opacity for the text.
     *
     * @default 1
     */
    opacity: number;
    /**
     * Default value of enable trim.
     *
     * @default true
     */
    enableTrim: boolean;
    /**
     *$ Maximum label width of the bullet chart.
     *
     * @default null
     */
    maximumTitleWidth: number;
    /**
     * Range color.
     *
     * @default false
     */
    useRangeColor: boolean;
}
/**
 *$ Configures the ToolTips in the bullet chart.
 */
export  class BulletTooltipSettings extends base.ChildProperty<BulletTooltipSettings> {
    /**
     * Enables / Disables the visibility of the tooltip.
     *
     * @default false.
     */
    enable: boolean;
    /**
     * The fill color of the tooltip that accepts value in hex and rgba as a valid CSS color string.
     *
     * @default null
     */
    fill: string;
    /**
     * Options to customize the ToolTip text.
     */
    textStyle: BulletLabelStyleModel;
    /**
     * Options to customize tooltip borders.
     */
    border: BorderModel;
    /**
     * The default value of tooltip template.
     *
     * @default null
     * @aspType string
     */
    template: string | Function;
}
/**
 *$ Configures the DataLabel in the bullet chart.
 */
export  class BulletDataLabel extends base.ChildProperty<BulletDataLabel> {
    /**
     * Enables / Disables the visibility of the data label.
     *
     * @default false.
     */
    enable: boolean;
    /**
     * Options to customize the data label text.
     */
    labelStyle: BulletLabelStyleModel;
}
/**
 * Configures the legends in charts.
 */
export  class BulletChartLegendSettings extends base.ChildProperty<BulletChartLegendSettings> {
    /**
     * If set to true, legend will be visible.
     *
     * @default false
     */
    visible: boolean;
    /**
     *$ Specifies the location of the legend, relative to the bullet chart.
     *$ If x is 20, legend moves by 20 pixels to the right of the bullet chart. It requires the `position` to be `Custom`.
     * ```html
     * <div id='BulletChart'></div>
     * ```
     * ```typescript
     * let chart$: BulletChart = new BulletChart({
     * ...
     *   legendSettings: {
     *     visible: true,
     *   },
     * ...
     * });
     * chart.appendTo('#BulletChart');
     * ```
     */
    location: LocationModel;
    /**
     * Option to customize the padding between legend items.
     *
     * @default 8
     */
    padding: number;
    /**
     * Legend in chart can be aligned as follows:
     *$ * Near: Aligns the legend to the left of the bullet chart.
     *$ * Center: Aligns the legend to the center of the bullet chart.
     *$ * Far: Aligns the legend to the right of the bullet chart.
     *
     * @default 'Center'
     */
    alignment: Alignment;
    /**
     *$ Shape height of the bullet chart legend in pixels.
     *
     * @default 10
     */
    shapeHeight: number;
    /**
     *$ Shape width of the bullet chart legend in pixels.
     *
     * @default 10
     */
    shapeWidth: number;
    /**
     *$ Options to customize the bullet chart legend text.
     */
    textStyle: BulletLabelStyleModel;
    /**
     *$ Position of the legend in the bullet chart are,
     * * Auto: Places the legend based on area type.
     *$ * Top: Displays the legend at the top of the bullet chart.
     *$ * Left: Displays the legend at the left of the bullet chart.
     *$ * Bottom: Displays the legend at the bottom of the bullet chart.
     *$ * Right: Displays the legend at the right of the bullet chart.
     * * Custom: Displays the legend  based on the given x and y values.
     *
     * @default 'Auto'
     */
    position: LegendPosition;
    /**
     *$  Options to customize left, right, top and bottom margins of the bullet chart.
     */
    margin: MarginModel;
    /**
     *$ Options to customize the border of the bullet chart legend.
     */
    border: BorderModel;
    /**
     *$ Padding between the bullet chart legend shape and text.
     *
     * @default 5
     */
    shapePadding: number;
    /**
     *$ The background color of the bullet chart legend that accepts value in hex and rgba as a valid CSS color string.
     *
     * @default 'transparent'
     */
    background: string;
    /**
     *$ Opacity of the bullet chart legend.
     *
     * @default 1
     */
    opacity: number;
    /**
     *$ TabIndex value for the bullet chart legend.
     *
     * @default 3
     */
    tabIndex: number;
}
//node_modules/@syncfusion/ej2-charts/src/bullet-chart/model/bullet-base-model.d.ts
/**
 * Interface for a class Range
 */
export interface RangeModel {
    /**
     * Default value for qualitative range end value.
     *
     * @default null
     */
    end?: number;
    /**
     * Range opacity
     *
     * @default 1
     */
    opacity?: number;
    /**
     * Default value for qualitative range Color.
     *
     * @default null
     */
    color?: string;
    /**
     * Default value for qualitative range Color.
     *
     * @default null
     */
    index?: number;
    /**
     * Default value for qualitative range name.
     *
     * @default null
     */
    name?: string;
    /**
     * The shape of the legend. Each ranges has its own legend shape. They are,
     * * Circle
     * * Rectangle
     * * Triangle
     * * Diamond
     * * Cross
     * * HorizontalLine
     * * VerticalLine
     * * Pentagon
     * * InvertedTriangle
     * * SeriesType
     * * Image
     *
     * @default 'Rectangle'
     */
    shape?: LegendShape;
    /**
     * The URL for the Image that is to be displayed as a Legend icon.  It requires  `legendShape` value to be an `Image`.
     *
     * @default ''
     */
    legendImageUrl?: string;
}
/**
 * Interface for a class MajorTickLinesSettings
 */
export interface MajorTickLinesSettingsModel {
    /**
     * The height of the tick lines in pixels.
     *
     * @default 12
     */
    height?: number;
    /**
     * The width of the ticks in pixels.
     *
     * @default 2
     */
    width?: number;
    /**
     * The stroke of the major tick line that accepts value in hex and rgba as a valid CSS color string.
     *
     * @default null
     */
    color?: string;
    /**
     * It uses to apply range color to ticks and labels.
     *
     * @default false
     */
    useRangeColor?: boolean;
}
/**
 * Interface for a class MinorTickLinesSettings
 */
export interface MinorTickLinesSettingsModel {
    /**
     * The height of the tick lines in pixels.
     *
     * @default 8
     */
    height?: number;
    /**
     * The width of the ticks in pixels.
     *
     * @default 2
     */
    width?: number;
    /**
     * The stroke of the major tick line that accepts value in hex and rgba as a valid CSS color string.
     *
     * @default null
     */
    color?: string;
    /**
     * It uses to apply range color to ticks and labels.
     *
     * @default false
     */
    useRangeColor?: boolean;
}
/**
 * Interface for a class BulletLabelStyle
 */
export interface BulletLabelStyleModel {
    /**
     * FontStyle for the text.
     *
     * @default 'Normal'
     */
    fontStyle?: string;
    /**
     * Font size for the text.
     *
     * @default '16px'
     */
    size?: string;
    /**
     * Color for the text.
     *
     * @default ''
     */
    color?: string;
    /**
     * FontWeight for the text.
     *
     * @default 'Normal'
     */
    fontWeight?: string;
    /**
     * FontFamily for the text.
     */
    fontFamily?: string;
    /**
     * Text alignment.
     *
     * @default 'Center'
     */
    textAlignment?: Alignment;
    /**
     * Specifies the chart title text overflow.
     *
     * @default 'Trim'
     */
    textOverflow?: TextOverflow;
    /**
     * Opacity for the text.
     *
     * @default 1
     */
    opacity?: number;
    /**
     * Default value of enable trim.
     *
     * @default true
     */
    enableTrim?: boolean;
    /**
     *$ Maximum label width of the bullet chart.
     *
     * @default null
     */
    maximumTitleWidth?: number;
    /**
     * Range color.
     *
     * @default false
     */
    useRangeColor?: boolean;
}
/**
 * Interface for a class BulletTooltipSettings
 */
export interface BulletTooltipSettingsModel {
    /**
     * Enables / Disables the visibility of the tooltip.
     *
     * @default false.
     */
    enable?: boolean;
    /**
     * The fill color of the tooltip that accepts value in hex and rgba as a valid CSS color string.
     *
     * @default null
     */
    fill?: string;
    /**
     * Options to customize the ToolTip text.
     */
    textStyle?: BulletLabelStyleModel;
    /**
     * Options to customize tooltip borders.
     */
    border?: BorderModel;
    /**
     * The default value of tooltip template.
     *
     * @default null
     * @aspType string
     */
    template?: string | Function;
}
/**
 * Interface for a class BulletDataLabel
 */
export interface BulletDataLabelModel {
    /**
     * Enables / Disables the visibility of the data label.
     *
     * @default false.
     */
    enable?: boolean;
    /**
     * Options to customize the data label text.
     */
    labelStyle?: BulletLabelStyleModel;
}
/**
 * Interface for a class BulletChartLegendSettings
 */
export interface BulletChartLegendSettingsModel {
    /**
     * If set to true, legend will be visible.
     *
     * @default false
     */
    visible?: boolean;
    /**
     *$ Specifies the location of the legend, relative to the bullet chart.
     *$ If x is 20, legend moves by 20 pixels to the right of the bullet chart. It requires the `position` to be `Custom`.
     * ```html
     * <div id='BulletChart'></div>
     * ```
     * ```typescript
     * let chart$: BulletChart = new BulletChart({
     * ...
     *   legendSettings: {
     *     visible: true,
     *   },
     * ...
     * });
     * chart.appendTo('#BulletChart');
     * ```
     */
    location?: LocationModel;
    /**
     * Option to customize the padding between legend items.
     *
     * @default 8
     */
    padding?: number;
    /**
     * Legend in chart can be aligned as follows:
     *$ * Near: Aligns the legend to the left of the bullet chart.
     *$ * Center: Aligns the legend to the center of the bullet chart.
     *$ * Far: Aligns the legend to the right of the bullet chart.
     *
     * @default 'Center'
     */
    alignment?: Alignment;
    /**
     *$ Shape height of the bullet chart legend in pixels.
     *
     * @default 10
     */
    shapeHeight?: number;
    /**
     *$ Shape width of the bullet chart legend in pixels.
     *
     * @default 10
     */
    shapeWidth?: number;
    /**
     *$ Options to customize the bullet chart legend text.
     */
    textStyle?: BulletLabelStyleModel;
    /**
     *$ Position of the legend in the bullet chart are,
     * * Auto: Places the legend based on area type.
     *$ * Top: Displays the legend at the top of the bullet chart.
     *$ * Left: Displays the legend at the left of the bullet chart.
     *$ * Bottom: Displays the legend at the bottom of the bullet chart.
     *$ * Right: Displays the legend at the right of the bullet chart.
     * * Custom: Displays the legend  based on the given x and y values.
     *
     * @default 'Auto'
     */
    position?: LegendPosition;
    /**
     *$  Options to customize left, right, top and bottom margins of the bullet chart.
     */
    margin?: MarginModel;
    /**
     *$ Options to customize the border of the bullet chart legend.
     */
    border?: BorderModel;
    /**
     *$ Padding between the bullet chart legend shape and text.
     *
     * @default 5
     */
    shapePadding?: number;
    /**
     *$ The background color of the bullet chart legend that accepts value in hex and rgba as a valid CSS color string.
     *
     * @default 'transparent'
     */
    background?: string;
    /**
     *$ Opacity of the bullet chart legend.
     *
     * @default 1
     */
    opacity?: number;
    /**
     *$ TabIndex value for the bullet chart legend.
     *
     * @default 3
     */
    tabIndex?: number;
}
//node_modules/@syncfusion/ej2-charts/src/bullet-chart/legend/legend.d.ts
/**
 * `Legend` module is used to render legend for the chart.
 */
export  class BulletChartLegend extends BaseLegend {
    constructor(chart: BulletChart);
    /**
     * Binding events for legend module.
     *
     * @returns {void}
     */
    private addEventListener;
    /**
     *$ UnBinding events for bullet chart legend module.
     *
     * @returns {void}
     */
    private removeEventListener;
    /**
     * To handle mouse move for legend module.
     *
     * @param {MouseEvent} e - The mouse move event for the legend module.
     * @returns {void}
     */
    private bulletMouseMove;
    /**
     * To handle mouse end for legend module.
     *
     * @param {MouseEvent} e - The mouse end event for the legend module.
     * @returns {void}
     */
    private mouseEnd;
    /**
     * Get the legend options.
     *
     * @param {Range[]} visibleRangeCollection - The collection of visible ranges.
     * @returns {void}
     * @private
     */
    getLegendOptions(visibleRangeCollection: Range[]): void;
    /**
     *$ Retrieves the legend bounds for the bullet chart.
     *
     * @param {svgBase.Size} availableSize - The available size for rendering.
     *$ @param {svgBase.Rect} bulletLegendBounds - The bounds of the bullet chart legend.
     *$ @param {LegendSettingsModel} legend - The legend settings for the bullet chart.
     * @returns {void}
     * @private
     */
    getLegendBounds(availableSize: svgBase.Size, bulletLegendBounds: svgBase.Rect, legend: LegendSettingsModel): void;
    /**
     *$ Retrieves the rendering point for the bullet chart legend.
     *
     *$ @param {LegendOptions} bulletLegendOption - The legend options for the bullet chart.
     * @param {ChartLocation} start - The starting location for rendering.
     * @param {number} textPadding - The padding around the text.
     * @param {LegendOptions} prevLegend - The previous legend options.
     * @param {svgBase.Rect} rect - The rect region for the legend.
     * @param {number} count - The count of legends.
     * @param {number} firstLegend - The index of the first legend.
     * @returns {void}
     * @private
     */
    getRenderPoint(bulletLegendOption: LegendOptions, start: ChartLocation, textPadding: number, prevLegend: LegendOptions, rect: svgBase.Rect, count: number, firstLegend: number): void;
    /**
     * To show the tooltip for the trimmed text in legend.
     *
     * @param {Event | PointerEvent} event - The click event.
     * @returns {void}
     */
    click(event: Event | PointerEvent): void;
    /**
     * Get module name.
     *
     * @returns {string} - Returns the module name.
     */
    protected getModuleName(): string;
    /**
     * To destroy the Legend.
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-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 {
    /**
     * The `accBaseModue` is used to define the common functionalities of accumulation series.
     *
     * @private
     */
    accBaseModule: AccumulationBase;
    /**
     * The `pieSeriesModule` is used to render pie series.
     *
     * @private
     */
    pieSeriesModule: PieSeries;
    /**
     * The `funnelSeriesModule` is used to render funnel series.
     *
     * @private
     */
    funnelSeriesModule: FunnelSeries;
    /**
     * The `pyramidSeriesModule` is used to render pyramid series.
     *
     * @private
     */
    pyramidSeriesModule: PyramidSeries;
    /**
     * The `accumulationLegendModule` is used to manipulate and add a legend in an accumulation chart.
     */
    accumulationLegendModule: AccumulationLegend;
    /**
     * The `accumulationDataLabelModule` is used to manipulate and add data labels in an accumulation chart.
     */
    accumulationDataLabelModule: AccumulationDataLabel;
    /**
     * The `accumulationTooltipModule` is used to manipulate and add tooltips to an accumulation chart.
     */
    accumulationTooltipModule: AccumulationTooltip;
    /**
     * The `accumulationSelectionModule` is used to manipulate and add selection in accumulation chart.
     */
    accumulationSelectionModule: AccumulationSelection;
    /**
     * The `accumulationHighlightModule` is used to manipulate and add highlights to the accumulation chart.
     */
    accumulationHighlightModule: AccumulationHighlight;
    /**
     * The `annotationModule` is used to manipulate and add annotations in the chart.
     */
    annotationModule: AccumulationAnnotation;
    /**
     * The `exportModule` is used to export the accumulation chart.
     */
    exportModule: Export;
    /**
     * The width of the chart as a string, allowing input in formats such as '100px' or '100%'.
     * If specified as '100%', the chart will render to the full width of its parent element.
     *
     * @default null
     */
    width: string;
    /**
     * The height of the chart as a string, allowing input in formats such as '100px' or '100%'.
     * If specified as '100%', the chart will render to the full height of its parent element.
     *
     * @default null
     */
    height: string;
    /**
     * The title is displayed at the top of the chart to provide information about the plotted data.
     *
     * @default null
     */
    title: string;
    /**
     * The background image of the chart accepts a string value as a URL link or the location of an image.
     *
     * @default null
     */
    backgroundImage: string;
    /**
     * The `center` property allows changing the center position of the pie chart using the `x` and `y` properties.
     * By default, the center value of the pie series is set to 50% for both the x and y coordinates.
     */
    center: PieCenterModel;
    /**
     * Specifies the data source for the accumulation chart. 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: https://services.syncfusion.com/js/production/api/orders'
     * });
     * let query$: Query = new Query().take(5);
     * let pie$: AccumulationChart = new AccumulationChart({
     * ...
     *     dataSource: dataManager,
     *     series: [{
     *        xName: 'CustomerID ',
     *        yName: 'Freight',
     *        query: query
     *    }],
     * ...
     * });
     * pie.appendTo('#Pie');
     * ```
     *
     * @default ''
     */
    dataSource: Object | data.DataManager;
    /**
     * Options for customizing the appearance of the title, which displays information about the plotted data.
     * Use the `fontFamily`, `size`, `fontStyle`, `fontWeight`, and `color` properties in `Font` to adjust the title's appearance.
     */
    titleStyle: TitleStyleSettingsModel;
    /**
     * The subtitle is positioned below the main title and provides further details about the data represented in the accumulation chart.
     *
     * @default null
     */
    subTitle: string;
    /**
     * Options for customizing the appearance of the subtitle, which displays information about the plotted data below the main title.
     * Use the `fontFamily`, `size`, `fontStyle`, `fontWeight`, and `color` properties in `Font` to adjust the subtitle's appearance.
     */
    subTitleStyle: TitleStyleSettingsModel;
    /**
     * The legend provides descriptive information about the data points displayed in the accumulation chart, helping to understand what each point represents.
     */
    legendSettings: LegendSettingsModel;
    /**
     * Tooltips display information about the data points when the mouse hovers over a point.
     */
    tooltip: TooltipSettingsModel;
    /**
     * Options to customize the label that appears at the center of the accumulation chart.
     */
    centerLabel: CenterLabelModel;
    /**
     * Specifies whether points in the accumulation chart can be selected.
     * Accepts the following values:
     * * None: Disables the selection of points.
     * * Point: Enables the selection of individual points.
     *
     * @default None
     */
    selectionMode: AccumulationSelectionMode;
    /**
     * Defines the color used to highlight a data point on mouse hover.
     *
     * @default ''
     */
    highlightColor: string;
    /**
     * Specifies whether points in the accumulation chart should be highlighted.
     * Accepts the following values:
     * * None: Disables the highlighting of points.
     * * Point: Highlights an individual point on hover.
     *
     * @default None
     */
    highlightMode: AccumulationHighlightMode;
    /**
     * Specifies the selection pattern for series or data points.
     * The `selectionPattern` property determines how the selected data points or series are visually represented.
     * The available options are:
     * * None: No selection pattern is applied.
     * * Chessboard: Applies a chessboard pattern as the selection effect.
     * * Dots: Applies a dot pattern as the selection effect.
     * * DiagonalForward: Applies a forward diagonal line pattern as the selection effect.
     * * Crosshatch: Applies a crosshatch pattern as the selection effect.
     * * Pacman: Applies a Pacman pattern as the selection effect.
     * * DiagonalBackward: Applies a backward diagonal line pattern as the selection effect.
     * * Grid: Applies a grid pattern as the selection effect.
     * * Turquoise: Applies a turquoise pattern as the selection effect.
     * * Star: Applies a star pattern as the selection effect.
     * * Triangle: Applies a triangle pattern as the selection effect.
     * * Circle: Applies a circle pattern as the selection effect.
     * * Tile: Applies a tile pattern as the selection effect.
     * * HorizontalDash: Applies a horizontal dash pattern as the selection effect.
     * * VerticalDash: Applies a vertical dash pattern as the selection effect.
     * * Rectangle: Applies a rectangle pattern as the selection effect.
     * * Box: Applies a box pattern as the selection effect.
     * * VerticalStripe: Applies a vertical stripe pattern as the selection effect.
     * * HorizontalStripe: Applies a horizontal stripe pattern as the selection effect.
     * * Bubble: Applies a bubble pattern as the selection effect.
     *
     * @default None
     */
    selectionPattern: SelectionPattern;
    /**
     * Specifies the pattern used for highlighting series or data points.
     * The `highlightPattern` property determines how the data points or series are visually highlighted.
     * The available options are:
     * * None: No highlighting pattern.
     * * Chessboard: Applies a chessboard pattern for highlighting.
     * * Dots: Applies a dot pattern for highlighting.
     * * DiagonalForward: Applies a forward diagonal line pattern for highlighting.
     * * Crosshatch: Applies a crosshatch pattern for highlighting.
     * * Pacman: Applies a Pacman pattern for highlighting.
     * * DiagonalBackward: Applies a backward diagonal line pattern for highlighting.
     * * Grid: Applies a grid pattern for highlighting.
     * * Turquoise: Applies a turquoise pattern for highlighting.
     * * Star: Applies a star pattern for highlighting.
     * * Triangle: Applies a triangle pattern for highlighting.
     * * Circle: Applies a circle pattern for highlighting.
     * * Tile: Applies a tile pattern for highlighting.
     * * HorizontalDash: Applies a horizontal dash pattern for highlighting.
     * * VerticalDash: Applies a vertical dash pattern for highlighting.
     * * Rectangle: Applies a rectangle pattern for highlighting.
     * * Box: Applies a box pattern for highlighting.
     * * VerticalStripe: Applies a vertical stripe pattern for highlighting.
     * * HorizontalStripe: Applies a horizontal stripe pattern for highlighting.
     * * Bubble: Applies a bubble pattern for highlighting.
     *
     * @default None
     */
    highlightPattern: SelectionPattern;
    /**
     * Specifies whether to display or remove the untrusted HTML values in the Accumulation Chart component.
     * If 'enableHtmlSanitizer' set to true, the component will sanitize any suspected untrusted strings and scripts before rendering them.
     *
     * @default false
     */
    enableHtmlSanitizer: boolean;
    /**
     * If set to true, enables the border in pie and accumulation charts when the mouse moves over a data point.
     *
     * @default true
     */
    enableBorderOnMouseMove: boolean;
    /**
     * When set to true, allows for the selection of multiple data points.
     > Note that `selectionMode` must be set to `Point` for multi-selection to be enabled.
     *
     * @default false
     */
    isMultiSelect: boolean;
    /**
     * If set to true, enables animation for the accumulation chart.
     *
     * @default true
     */
    enableAnimation: boolean;
    /**
     * Specifies the point indexes to be selected when the accumulation chart is initially loaded.
     > Note that `selectionMode` must be set to `Point` for this feature to work.
     * ```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 margins around the accumulation chart, including the left, right, top, and bottom margins.
     * These margins define the space between the outer edge of the accumulation chart and its chart area.
     */
    margin: MarginModel;
    /**
     * If set to true, labels for the points will be placed smartly to avoid overlapping.
     *
     * @default true
     */
    enableSmartLabels: boolean;
    /**
     * Options for customizing the appearance of the border in the chart by using the `color` and `width` properties in the `border`.
     */
    border: BorderModel;
    /**
     * The background color of the chart, which accepts values in hex or rgba formats as valid CSS color strings.
     *
     * @default null
     */
    background: string;
    /**
     * The configuration for series in the accumulation chart.
     */
    series: AccumulationSeriesModel[];
    /**
     * Annotations are used to highlight specific data points or areas in the chart, providing additional context and information.
     */
    annotations: AccumulationAnnotationSettingsModel[];
    /**
     * The theme applied to the accumulation chart for visual styling.
     * Choose from predefined themes to change the overall look and feel of the accumulation chart.
     * The available themes are:
     * * Fabric
     * * FabricDark
     * * Bootstrap4
     * * Bootstrap
     * * BootstrapDark
     * * HighContrastLight
     * * HighContrast
     * * Tailwind
     * * TailwindDark
     * * Bootstrap5
     * * Bootstrap5Dark
     * * Fluent
     * * FluentDark
     * * Fluent2
     * * Fluent2Dark
     * * Fluent2HighContrast
     * * Material3
     * * Material3Dark
     * * Material
     * * MaterialDark
     *
     * @default 'Material'
     */
    theme: AccumulationTheme;
    /**
     * When set to true, a grouping separator will be used for numbers to separate groups of thousands in the accumulation chart.
     *
     * @default false
     */
    useGroupingSeparator: boolean;
    /**
     * When set to true, it enables exporting the accumulation chart to various formats such as `JPEG`, `PNG`, `SVG`, `PDF`, `XLSX`, or `CSV`.
     *
     * @default true
     */
    enableExport: boolean;
    /**
     * To enable11 export feature in blazor chart.
     *
     * @default false
     */
    allowExport: boolean;
    /**
     * Options to improve accessibility for accumulation chart elements.
     */
    accessibility: AccessibilityModel;
    /**
     * Customize the focus border color.
     * If not specified, the element will use the default focus border color.
     *
     * @default null
     */
    focusBorderColor: string;
    /**
     * Customize the focus border width.
     * If not specified, the element will use the default focus border width.
     *
     * @default 1.5
     */
    focusBorderWidth: number;
    /**
     * Customize the focus border margin.
     * If not specified, the element will use the default focus border margin.
     *
     * @default 0
     */
    focusBorderMargin: number;
    /**
     * Triggers after the accumulation chart has been loaded.
     *
     * @event loaded
     * @blazorProperty 'Loaded'
     */
    loaded: base.EmitType<IAccLoadedEventArgs>;
    /**
     * Triggers after the legend is clicked.
     *
     * @event legendClick
     */
    legendClick: base.EmitType<IAccLegendClickEventArgs>;
    /**
     * Triggers before the accumulation chart loads. This event allows for customization and configuration before the accumulation chart is rendered.
     *
     * @event load
     */
    load: base.EmitType<IAccLoadedEventArgs>;
    /**
     * Triggers before the series gets rendered. This event allows for the customization of series properties before they are rendered on the accumulation chart.
     *
     * @event seriesRender
     * @deprecated
     */
    seriesRender: base.EmitType<IAccSeriesRenderEventArgs>;
    /**
     * Triggers before the legend gets rendered. This allows the customization of legend before rendering on the accumulation chart.
     *
     * @event legendRender
     * @deprecated
     */
    legendRender: base.EmitType<ILegendRenderEventArgs>;
    /**
     * Triggers before the data label for the series gets rendered. This allows customization of data labels before they are rendered on the accumulation chart.
     *
     * @event textRender
     * @deprecated
     */
    textRender: base.EmitType<IAccTextRenderEventArgs>;
    /**
     * Triggers before the tooltip for the series gets rendered. This event allows customization of the tooltip properties such as text, style, and template before it is rendered on the accumulation chart.
     *
     * @event tooltipRender
     */
    tooltipRender: base.EmitType<ITooltipRenderEventArgs>;
    /**
     * Triggers before each point in the series gets rendered. This allows for the customization of each data point before it is rendered on the accumulation chart.
     *
     * @event pointRender
     * @deprecated
     */
    pointRender: base.EmitType<IAccPointRenderEventArgs>;
    /**
     * Triggers before the annotation gets rendered. This event allows for modifications of the annotation content and its location before it is rendered on the accumulation chart.
     *
     * @event annotationRender
     * @deprecated
     */
    annotationRender: base.EmitType<IAnnotationRenderEventArgs>;
    /**
     * Triggers before the print process starts. This event allows for the modification of the accumulation chart's HTML content before it is sent to the printer.
     *
     * @event beforePrint
     * @blazorProperty 'OnPrint'
     */
    beforePrint: base.EmitType<IPrintEventArgs>;
    /**
     * Triggers when hovering over the accumulation chart.
     *
     * @event chartMouseMove
     * @blazorProperty 'OnChartMouseMove'
     */
    chartMouseMove: base.EmitType<IMouseEventArgs>;
    /**
     * Triggers when clicking on the accumulation chart.
     *
     * @event chartMouseClick
     * @blazorProperty 'OnChartMouseClick'
     */
    chartMouseClick: base.EmitType<IMouseEventArgs>;
    /**
     * Triggers when double-clicking the accumulation chart.
     *
     * @event chartDoubleClick
     * @blazorProperty 'OnChartDoubleClick'
     */
    chartDoubleClick: base.EmitType<IMouseEventArgs>;
    /**
     * Triggers when a point in the accumulation chart is clicked.
     *
     * @event pointClick
     * @blazorProperty 'OnPointClick'
     */
    pointClick: base.EmitType<IPointEventArgs>;
    /**
     * Triggers when a point in the accumulation chart is moved.
     *
     * @event pointMove
     * @blazorProperty 'PointMoved'
     */
    pointMove: base.EmitType<IPointEventArgs>;
    /**
     * Triggers after the animation for the series is completed.
     *
     * @event animationComplete
     * @blazorProperty 'OnAnimationComplete'
     */
    animationComplete: base.EmitType<IAccAnimationCompleteEventArgs>;
    /**
     * Triggers on the mouse down event within the accumulation chart.
     *
     * @event chartMouseDown
     * @blazorProperty 'OnChartMouseDown'
     */
    chartMouseDown: base.EmitType<IMouseEventArgs>;
    /**
     * Triggers when the cursor leaves the accumulation chart.
     *
     * @event chartMouseLeave
     * @blazorProperty 'OnChartMouseLeave'
     */
    chartMouseLeave: base.EmitType<IMouseEventArgs>;
    /**
     * Triggers on the mouse up event within the accumulation chart.
     *
     * @event chartMouseUp
     * @blazorProperty 'OnChartMouseUp'
     */
    chartMouseUp: base.EmitType<IMouseEventArgs>;
    /**
     * Triggers before the window resize event occurs. This event allows for modifications to the accumulation chart size before resizing.
     *
     * @event beforeResize
     * @blazorProperty 'BeforeResize'
     */
    beforeResize: base.EmitType<IAccBeforeResizeEventArgs>;
    /**
     * Triggers after the window resize event completes.
     *
     * @event resized
     * @blazorProperty 'Resized'
     */
    resized: base.EmitType<IAccResizeEventArgs>;
    /**
     * Triggers before the export process begins. This event allows for the customization of export settings before the chart is exported.
     *
     * @event beforeExport
     */
    beforeExport: base.EmitType<IExportEventArgs>;
    /**
     * Triggers after111111 the export is completed.
     *
     * @event afterExport
     * @blazorProperty 'AfterExport'
     */
    afterExport: base.EmitType<IAfterExportEventArgs>;
    /**
     * Triggers after the selection is completed.
     *
     * @event selectionComplete
     */
    selectionComplete: base.EmitType<IAccSelectionCompleteEventArgs>;
    /**
     * Defines the currency code format for the accumulation chart.
     *
     * @private
     * @aspType string
     */
    private currencyCode;
    /**
     * Animate the series bounds on data change.
     *
     * @private
     * @param {number} duration - The duration of the animation.
     * @returns {void}
     */
    animate(duration?: number): void;
    /** @private */
    svgObject: Element;
    /** @private */
    private animateselected;
    /** @public */
    duration: number;
    /** @private */
    initialClipRect: svgBase.Rect;
    /** @private */
    availableSize: svgBase.Size;
    /** @private */
    renderer: svgBase.SvgRenderer | svgBase.CanvasRenderer;
    /** @private */
    intl: base.Internationalization;
    /** @private */
    visibleSeries: AccumulationSeries[];
    /** @private */
    seriesCounts: number;
    /** @private */
    explodeDistance: number;
    /** @private */
    mouseX: number;
    /** @private */
    mouseY: number;
    private resizeTo;
    /** @private */
    origin: ChartLocation;
    /** @private */
    currentLegendIndex: number;
    /** @private */
    currentPointIndex: number;
    /** @private */
    previousTargetId: string;
    /** @private */
    isLegendClicked: boolean;
    /**
     * Gets the type of accumulation chart.
     *
     * @returns {AccumulationType} - The type of accumulation chart.
     * @private
     * */
    readonly type: AccumulationType;
    /** @private */
    isTouch: boolean;
    /** @private */
    redraw: boolean;
    /** @private */
    animateSeries: boolean;
    /**
     * Defines the format of center label
     *
     * @private
     */
    private format;
    /** @private */
    titleCollection: string[];
    /** @private */
    subTitleCollection: string[];
    /** @private */
    themeStyle: IThemeStyle;
    private chartid;
    /** @private */
    isBlazor: boolean;
    /** @private */
    accumulationResizeBound: EventListenerOrEventListenerObject;
    /**
     * Constructor for creating the AccumulationChart widget.
     *
     * @private
     * @param {AccumulationChartModel} options - Specifies the accumulation chart model.
     * @param {string | HTMLElement} element - Specifies the element for the accumulation chart.
     */
    constructor(options?: AccumulationChartModel, element?: string | HTMLElement);
    /**
     * To create svg object, renderer and binding events for the container.
     *
     * @returns {void}
     */
    protected preRender(): void;
    /**
     * Themeing for chart goes here.
     *
     * @returns {void}
     */
    private setTheme;
    /**
     * To render the accumulation chart elements.
     *
     * @returns {void}
     */
    protected render(): void;
    /**
     * Method to unbind events for accumulation chart.
     *
     * @returns {void}
     */
    private unWireEvents;
    /**
     * Method to bind events for the accumulation chart.
     *
     * @returns {void}
     */
    private wireEvents;
    /**
     * Method to set mouse x, y from events.
     *
     * @param {PointerEvent} e - The pointer event containing mouse coordinates.
     * @returns {void}
     */
    private setMouseXY;
    /**
     * Handles the mouse end.
     *
     * @param {PointerEvent} e - The pointer event containing mouse coordinates.
     * @returns {boolean} - Mouse end of accumulation chart.
     * @private
     */
    accumulationMouseEnd(e: PointerEvent): boolean;
    /**
     * Handles the mouse start.
     *
     * @param {PointerEvent} e - The pointer event containing mouse coordinates.
     * @returns {boolean} - Mouse start of accumulation chart.
     * @private
     */
    accumulationMouseStart(e: PointerEvent): boolean;
    /**
     * Handles the accumulation chart resize.
     *
     * @returns {boolean} - Resize method of accumulation chart.
     * @private
     */
    accumulationResize(): boolean;
    /**
     * Handles the print method for accumulation chart control.
     *
     * @param {string[] | string | Element} id - The id of the accumulation chart to be printed on the page.
     * @returns {void}
     */
    print(id?: string[] | string | Element): void;
    /**
     * Export method for the chart.
     *
     * @param {ExportType} type - The type of export.
     * @param {string} fileName - The name of the file for export.
     * @returns {void}
     */
    export(type: ExportType, fileName: string): void;
    /**
     * Applying styles for accumulation chart element.
     *
     * @param {HTMLElement} element - Specifies the element.
     * @returns {void}
     */
    private setStyle;
    /**
     * Method to set the annotation content dynamically for accumulation.
     *
     * @param {number} annotationIndex - The index of the annotation.
     * @param {string} content - The content to set for the annotation.
     * @returns {void}
     */
    setAnnotationValue(annotationIndex: number, content: string): void;
    /**
     * Handles the mouse move on accumulation chart.
     *
     * @param {PointerEvent} e - The pointer event containing mouse coordinates.
     * @returns {boolean} - Mouse move of accumulation chart.
     * @private
     */
    accumulationMouseMove(e: PointerEvent): boolean;
    titleTooltip(event: Event, x: number, y: number, isTouch?: boolean): void;
    /**
     * Handles the keyboard onkeydown on chart.
     *
     * @param {KeyboardEvent} e - The keyboard event.
     * @returns {boolean} - false
     * @private
     */
    accumulationChartKeyDown(e: KeyboardEvent): boolean;
    /**
     * Handles the keyboard onkeydown on chart.
     *
     * @param {KeyboardEvent} e - The keyboard event.
     * @returns {boolean} - false
     * @private
     */
    accumulationChartKeyUp(e: KeyboardEvent): boolean;
    private setTabIndex;
    private getActualIndex;
    private focusTarget;
    /**
     * Handles the document onkey.
     *
     * @param {KeyboardEvent} e - The keyboard event.
     * @returns {void}
     * @private
     */
    private documentKeyHandler;
    /**
     * Handles to set style for key event on the document.
     *
     * @param {target} target - element which currently focused.
     * @returns {void}
     * @private
     */
    private setNavigationStyle;
    /**
     * Handles to remove style for key event on the document.
     *
     * @returns {void}
     * @private
     */
    private removeNavigationStyle;
    private chartKeyboardNavigations;
    private focusChild;
    /**
     * Handles the mouse double click on accumulation chart.
     *
     * @param {PointerEvent} e - The pointer event.
     * @returns {boolean} - Mouse double click of accumulation chart.
     * @private
     */
    accumulationOnDoubleClick(e: PointerEvent): boolean;
    /**
     * Handles the mouse click on accumulation chart.
     *
     * @param {PointerEvent} e - The pointer event.
     * @returns {boolean} - Mouse click of accumulation chart.
     * @private
     */
    accumulationOnMouseClick(e: PointerEvent): boolean;
    private triggerPointEvent;
    /**
     * Handles the mouse right click on accumulation chart.
     *
     * @param {MouseEvent | PointerEvent} event - The mouse event or pointer event.
     * @returns {boolean} - Right click of accumulation chart.
     * @private
     */
    accumulationRightClick(event: MouseEvent | PointerEvent): boolean;
    /**
     * Handles the mouse leave on accumulation chart.
     *
     * @param {PointerEvent} e - The pointer event.
     * @returns {boolean} - Mouse leave of accumulation chart.
     * @private
     */
    accumulationMouseLeave(e: PointerEvent): boolean;
    /**
     * Method to set culture for chart.
     *
     * @returns {void}
     */
    private setCulture;
    /**
     * Method to create SVG element for accumulation chart.
     *
     * @returns {void}
     */
    private createPieSvg;
    /**
     * To Remove the SVG from accumulation chart.
     *
     * @returns {boolean} - Remove svg.
     * @private
     */
    removeSvg(): void;
    /**
     * Method to create the secondary element for tooltip, datalabel and annotaitons.
     *
     * @returns {void}
     */
    private createSecondaryElement;
    /**
     * Method to find visible series based on series types.
     *
     * @returns {void}
     */
    private calculateVisibleSeries;
    /**
     * To find points from dataSource.
     *
     * @param {boolean} render - Indicates whether to render the points (default: true).
     * @returns {void}
     */
    private processData;
    /**
     * To refresh the accumulation chart.
     *
     * @private
     * @returns {void}
     */
    refreshChart(): void;
    /**
     * Method to find groupped points.
     *
     * @returns {void}
     */
    private doGrouppingProcess;
    /**
     * Method to calculate bounds for accumulation chart.
     *
     * @returns {void}
     */
    calculateBounds(): void;
    /**
     * Method to calculate legend bounds for accumulation chart.
     *
     * @returns {void}
     */
    private calculateLegendBounds;
    /**
     * To render elements for accumulation chart.
     *
     * @private
     * @returns {void}
     */
    renderElements(): void;
    /**
     * To set the left and top position for data label template for center aligned chart.
     *
     * @private
     * @returns {void}
     */
    setSecondaryElementPosition(): void;
    /**
     * To render the annotaitions for accumulation series.
     *
     * @private
     * @returns {void}
     */
    renderAnnotation(): void;
    /**
     * Method to process the explode in accumulation chart.
     *
     * @private
     * @returns {void}
     */
    processExplode(): void;
    /**
     * Method to render series for accumulation chart.
     *
     * @returns {void}
     */
    private renderSeries;
    /**
     * Method to render border for accumulation chart.
     *
     * @returns {void}
     */
    private renderBorder;
    /**
     * Method to render legend for accumulation chart.
     *
     * @returns {void}
     */
    private renderLegend;
    /**
     * To process the selection in accumulation chart.
     *
     * @private
     * @returns {void}
     */
    processSelection(): void;
    /**
     * To render title for accumulation chart.
     *
     * @returns {void}
     */
    private renderTitle;
    /**
     * To update center label on mouse move.
     *
     * @param {Event} event - The mouse move event.
     * @returns {void}
     */
    private updateCenterLabel;
    /**
     * Function to get pie data on mouse move.
     *
     * @param {PointerEvent | TouchEvent} e - The event object containing mouse or touch coordinates.
     * @returns {AccPointData} - The data of the pie.
     */
    private getPieData;
    /**
     * Function to get format of pie data on mouse move.
     *
     * @param {AccPoints} point - The point data.
     * @param {AccumulationSeries} series - The series to which the point belongs.
     * @param {string} format - The format string for the data.
     * @returns {string} - The formatted data.
     */
    private parseFormat;
    /**
     * To render center label for accumulation chart.
     *
     * @param {boolean} isanimate - Specifies whether to animate the rendering.
     * @param {boolean} pointAnimation - Specifies whether point animation is enabled.
     * @private
     * @returns {void}
     */
    renderCenterLabel(isanimate?: boolean, pointAnimation?: boolean): void;
    /**
     * Animates the x and y attributes of a tspan element.
     *
     * @param {HTMLElement} element - The tspan element to animate.
     * @param {number} startx - The initial x coordinate of the tspan.
     * @param {number} starty - The initial y coordinate of the tspan.
     * @param {number} endx - The final x coordinate of the tspan.
     * @param {number} endy - The final y coordinate of the tspan.
     * @param {number} duration - The duration of the animation in milliseconds.
     *
     * @private
     * @returns {void}
     */
    private animateTspan;
    /**
     * Function to delay Center label at initial stage of accumulation chart.
     *
     * @param {Element} element - The element to delay.
     * @returns {void}
     */
    private centerLabelDelay;
    private renderSubTitle;
    /**
     * To get the series parent element.
     *
     * @private
     * @returns {Element} - The parent element of the series.
     */
    getSeriesElement(): Element;
    /**
     * To refresh the all visible series points.
     *
     * @private
     * @returns {void}
     */
    refreshSeries(): void;
    /**
     * To refresh points label region and visible.
     *
     * @private
     * @param {AccPoints[]} points - The array of points to refresh.
     * @returns {void}
     */
    refreshPoints(points: AccPoints[]): void;
    /**
     * To get Module name.
     *
     * @private
     * @returns {string} - Returns the module name.
     */
    getModuleName(): string;
    /**
     * To destroy the accumulation charts.
     *
     * @private
     * @returns {void}
     */
    destroy(): void;
    /**
     * To provide the array of modules needed for control rendering.
     *
     * @returns {base.ModuleDeclaration[]} - required modules.
     * @private
     */
    requiredModules(): base.ModuleDeclaration[];
    /**
     * To find datalabel visibility in series.
     *
     * @returns {boolean} - false
     */
    private findDatalabelVisibility;
    /**
     * Get visible series for accumulation chart by index.
     *
     * @param {AccumulationSeries[]} visibleSeries - The array of visible series in the accumulation chart.
     * @param {number} index - The index of the series to retrieve.
     * @returns {AccumulationSeries} - The visible series at the specified index.
     */
    private changeVisibleSeries;
    /**
     * Get the properties to be maintained in the persisted state.
     *
     * @private
     * @returns {string} - The persisted data containing the properties.
     */
    getPersistData(): string;
    /**
     * Method to sanitize any potentially untrusted strings and scripts before rendering them.
     *
     * @param {string} value - Specifies the html value to sanitize
     * @returns {string} Returns the sanitized html string
     * @private
     */
    sanitize(value: string): string;
    /**
     * Called internally if any of the property value changed.
     *
     * @private
     * @param {AccumulationChartModel} newProp - The new AccumulationChartModel.
     * @param {AccumulationChartModel} oldProp - The old AccumulationChartModel.
     * @returns {void}
     */
    onPropertyChanged(newProp: AccumulationChartModel, oldProp: AccumulationChartModel): void;
}
//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, allowing input in formats such as '100px' or '100%'.
     * If specified as '100%', the chart will render to the full width of its parent element.
     *
     * @default null
     */
    width?: string;
    /**
     * The height of the chart as a string, allowing input in formats such as '100px' or '100%'.
     * If specified as '100%', the chart will render to the full height of its parent element.
     *
     * @default null
     */
    height?: string;
    /**
     * The title is displayed at the top of the chart to provide information about the plotted data.
     *
     * @default null
     */
    title?: string;
    /**
     * The background image of the chart accepts a string value as a URL link or the location of an image.
     *
     * @default null
     */
    backgroundImage?: string;
    /**
     * The `center` property allows changing the center position of the pie chart using the `x` and `y` properties.
     * By default, the center value of the pie series is set to 50% for both the x and y coordinates.
     */
    center?: PieCenterModel;
    /**
     * Specifies the data source for the accumulation chart. 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: https://services.syncfusion.com/js/production/api/orders'
     * });
     * let query$: Query = new Query().take(5);
     * let pie$: AccumulationChart = new AccumulationChart({
     * ...
     *     dataSource: dataManager,
     *     series: [{
     *        xName: 'CustomerID ',
     *        yName: 'Freight',
     *        query: query
     *    }],
     * ...
     * });
     * pie.appendTo('#Pie');
     * ```
     *
     * @default ''
     */
    dataSource?: Object | data.DataManager;
    /**
     * Options for customizing the appearance of the title, which displays information about the plotted data.
     * Use the `fontFamily`, `size`, `fontStyle`, `fontWeight`, and `color` properties in `Font` to adjust the title's appearance.
     */
    // eslint-disable-next-line max-len
    titleStyle?: TitleStyleSettingsModel;
    /**
     * The subtitle is positioned below the main title and provides further details about the data represented in the accumulation chart.
     *
     * @default null
     */
    subTitle?: string;
    /**
     * Options for customizing the appearance of the subtitle, which displays information about the plotted data below the main title.
     * Use the `fontFamily`, `size`, `fontStyle`, `fontWeight`, and `color` properties in `Font` to adjust the subtitle's appearance.
     */
    // eslint-disable-next-line max-len
    subTitleStyle?: TitleStyleSettingsModel;
    /**
     * The legend provides descriptive information about the data points displayed in the accumulation chart, helping to understand what each point represents.
     */
    legendSettings?: LegendSettingsModel;
    /**
     * Tooltips display information about the data points when the mouse hovers over a point.
     */
    tooltip?: TooltipSettingsModel;
    /**
     * Options to customize the label that appears at the center of the accumulation chart.
     */
    centerLabel?: CenterLabelModel;
    /**
     * Specifies whether points in the accumulation chart can be selected.
     * Accepts the following values:
     * * None: Disables the selection of points.
     * * Point: Enables the selection of individual points.
     *
     * @default None
     */
    selectionMode?: AccumulationSelectionMode;
    /**
     * Defines the color used to highlight a data point on mouse hover.
     *
     * @default ''
     */
    highlightColor?: string;
    /**
     * Specifies whether points in the accumulation chart should be highlighted.
     * Accepts the following values:
     * * None: Disables the highlighting of points.
     * * Point: Highlights an individual point on hover.
     *
     * @default None
     */
    highlightMode?: AccumulationHighlightMode;
    /**
     * Specifies the selection pattern for series or data points.
     * The `selectionPattern` property determines how the selected data points or series are visually represented.
     * The available options are:
     * * None: No selection pattern is applied.
     * * Chessboard: Applies a chessboard pattern as the selection effect.
     * * Dots: Applies a dot pattern as the selection effect.
     * * DiagonalForward: Applies a forward diagonal line pattern as the selection effect.
     * * Crosshatch: Applies a crosshatch pattern as the selection effect.
     * * Pacman: Applies a Pacman pattern as the selection effect.
     * * DiagonalBackward: Applies a backward diagonal line pattern as the selection effect.
     * * Grid: Applies a grid pattern as the selection effect.
     * * Turquoise: Applies a turquoise pattern as the selection effect.
     * * Star: Applies a star pattern as the selection effect.
     * * Triangle: Applies a triangle pattern as the selection effect.
     * * Circle: Applies a circle pattern as the selection effect.
     * * Tile: Applies a tile pattern as the selection effect.
     * * HorizontalDash: Applies a horizontal dash pattern as the selection effect.
     * * VerticalDash: Applies a vertical dash pattern as the selection effect.
     * * Rectangle: Applies a rectangle pattern as the selection effect.
     * * Box: Applies a box pattern as the selection effect.
     * * VerticalStripe: Applies a vertical stripe pattern as the selection effect.
     * * HorizontalStripe: Applies a horizontal stripe pattern as the selection effect.
     * * Bubble: Applies a bubble pattern as the selection effect.
     *
     * @default None
     */
    selectionPattern?: SelectionPattern;
    /**
     * Specifies the pattern used for highlighting series or data points.
     * The `highlightPattern` property determines how the data points or series are visually highlighted.
     * The available options are:
     * * None: No highlighting pattern.
     * * Chessboard: Applies a chessboard pattern for highlighting.
     * * Dots: Applies a dot pattern for highlighting.
     * * DiagonalForward: Applies a forward diagonal line pattern for highlighting.
     * * Crosshatch: Applies a crosshatch pattern for highlighting.
     * * Pacman: Applies a Pacman pattern for highlighting.
     * * DiagonalBackward: Applies a backward diagonal line pattern for highlighting.
     * * Grid: Applies a grid pattern for highlighting.
     * * Turquoise: Applies a turquoise pattern for highlighting.
     * * Star: Applies a star pattern for highlighting.
     * * Triangle: Applies a triangle pattern for highlighting.
     * * Circle: Applies a circle pattern for highlighting.
     * * Tile: Applies a tile pattern for highlighting.
     * * HorizontalDash: Applies a horizontal dash pattern for highlighting.
     * * VerticalDash: Applies a vertical dash pattern for highlighting.
     * * Rectangle: Applies a rectangle pattern for highlighting.
     * * Box: Applies a box pattern for highlighting.
     * * VerticalStripe: Applies a vertical stripe pattern for highlighting.
     * * HorizontalStripe: Applies a horizontal stripe pattern for highlighting.
     * * Bubble: Applies a bubble pattern for highlighting.
     *
     * @default None
     */
    highlightPattern?: SelectionPattern;
    /**
     * Specifies whether to display or base.remove the untrusted HTML values in the Accumulation Chart component.
     * If 'enableHtmlSanitizer' set to true, the component will sanitize any suspected untrusted strings and scripts before rendering them.
     *
     * @default false
     */
    enableHtmlSanitizer?: boolean;
    /**
     * If set to true, enables the border in pie and accumulation charts when the mouse moves over a data point.
     *
     * @default true
     */
    enableBorderOnMouseMove?: boolean;
    /**
     * When set to true, allows for the selection of multiple data points.
     > Note that `selectionMode` must be set to `Point` for multi-selection to be enabled.
     *
     * @default false
     */
    isMultiSelect?: boolean;
    /**
     * If set to true, enables animation for the accumulation chart.
     *
     * @default true
     */
    enableAnimation?: boolean;
    /**
     * Specifies the point indexes to be selected when the accumulation chart is initially loaded.
     > Note that `selectionMode` must be set to `Point` for this feature to work.
     * ```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 margins around the accumulation chart, including the left, right, top, and bottom margins.
     * These margins define the space between the outer edge of the accumulation chart and its chart area.
     */
    margin?: MarginModel;
    /**
     * If set to true, labels for the points will be placed smartly to avoid overlapping.
     *
     * @default true
     */
    enableSmartLabels?: boolean;
    /**
     * Options for customizing the appearance of the border in the chart by using the `color` and `width` properties in the `border`.
     */
    border?: BorderModel;
    /**
     * The background color of the chart, which accepts values in hex or rgba formats as valid CSS color strings.
     *
     * @default null
     */
    background?: string;
    /**
     * The configuration for series in the accumulation chart.
     */
    series?: AccumulationSeriesModel[];
    /**
     * Annotations are used to highlight specific data points or areas in the chart, providing additional context and information.
     */
    annotations?: AccumulationAnnotationSettingsModel[];
    /**
     * The theme applied to the accumulation chart for visual styling.
     * Choose from predefined themes to change the overall look and feel of the accumulation chart.
     * The available themes are:
     * * Fabric
     * * FabricDark
     * * Bootstrap4
     * * Bootstrap
     * * BootstrapDark
     * * HighContrastLight
     * * HighContrast
     * * Tailwind
     * * TailwindDark
     * * Bootstrap5
     * * Bootstrap5Dark
     * * Fluent
     * * FluentDark
     * * Fluent2
     * * Fluent2Dark
     * * Fluent2HighContrast
     * * Material3
     * * Material3Dark
     * * Material
     * * MaterialDark
     *
     * @default 'Material'
     */
    theme?: AccumulationTheme;
    /**
     * When set to true, a grouping separator will be used for numbers to separate groups of thousands in the accumulation chart.
     *
     * @default false
     */
    useGroupingSeparator?: boolean;
    /**
     * When set to true, it enables exporting the accumulation chart to various formats such as `JPEG`, `PNG`, `SVG`, `PDF`, `XLSX`, or `CSV`.
     *
     * @default true
     */
    enableExport?: boolean;
    /**
     * To enable111 export feature in blazor chart.
     *
     * @default false
     */
    allowExport?: boolean;
    /**
     * Options to improve accessibility for accumulation chart elements.
     */
    accessibility?: AccessibilityModel;
    /**
     * Customize the focus border color.
     * If not specified, the element will use the default focus border color.
     *
     * @default null
     */
    focusBorderColor?: string;
    /**
     * Customize the focus border width.
     * If not specified, the element will use the default focus border width.
     *
     * @default 1.5
     */
    focusBorderWidth?: number;
    /**
     * Customize the focus border margin.
     * If not specified, the element will use the default focus border margin.
     *
     * @default 0
     */
    focusBorderMargin?: number;
    /**
     * Triggers after the accumulation chart has been loaded.
     *
     * @event loaded
     * @blazorProperty 'Loaded'
     */
    loaded?: base.EmitType<IAccLoadedEventArgs>;
    /**
     * Triggers after the legend is clicked.
     *
     * @event legendClick
     */
    legendClick?: base.EmitType<IAccLegendClickEventArgs>;
    /**
     * Triggers before the accumulation chart loads. This event allows for customization and configuration before the accumulation chart is rendered.
     *
     * @event load
     */
    load?: base.EmitType<IAccLoadedEventArgs>;
    /**
     * Triggers before the series gets rendered. This event allows for the customization of series properties before they are rendered on the accumulation chart.
     *
     * @event seriesRender
     * @deprecated
     */
    seriesRender?: base.EmitType<IAccSeriesRenderEventArgs>;
    /**
     * Triggers before the legend gets rendered. This allows the customization of legend before rendering on the accumulation chart.
     *
     * @event legendRender
     * @deprecated
     */
    legendRender?: base.EmitType<ILegendRenderEventArgs>;
    /**
     * Triggers before the data label for the series gets rendered. This allows customization of data labels before they are rendered on the accumulation chart.
     *
     * @event textRender
     * @deprecated
     */
    textRender?: base.EmitType<IAccTextRenderEventArgs>;
    /**
     * Triggers before the tooltip for the series gets rendered. This event allows customization of the tooltip properties such as text, style, and template before it is rendered on the accumulation chart.
     *
     * @event tooltipRender
     */
    tooltipRender?: base.EmitType<ITooltipRenderEventArgs>;
    /**
     * Triggers before each point in the series gets rendered. This allows for the customization of each data point before it is rendered on the accumulation chart.
     *
     * @event pointRender
     * @deprecated
     */
    pointRender?: base.EmitType<IAccPointRenderEventArgs>;
    /**
     * Triggers before the annotation gets rendered. This event allows for modifications of the annotation content and its location before it is rendered on the accumulation chart.
     *
     * @event annotationRender
     * @deprecated
     */
    annotationRender?: base.EmitType<IAnnotationRenderEventArgs>;
    /**
     * Triggers before the print process starts. This event allows for the modification of the accumulation chart's HTML content before it is sent to the printer.
     *
     * @event beforePrint
     * @blazorProperty 'OnPrint'
     */
    beforePrint?: base.EmitType<IPrintEventArgs>;
    /**
     * Triggers when hovering over the accumulation chart.
     *
     * @event chartMouseMove
     * @blazorProperty 'OnChartMouseMove'
     */
    chartMouseMove?: base.EmitType<IMouseEventArgs>;
    /**
     * Triggers when clicking on the accumulation chart.
     *
     * @event chartMouseClick
     * @blazorProperty 'OnChartMouseClick'
     */
    chartMouseClick?: base.EmitType<IMouseEventArgs>;
    /**
     * Triggers when double-clicking the accumulation chart.
     *
     * @event chartDoubleClick
     * @blazorProperty 'OnChartDoubleClick'
     */
    chartDoubleClick?: base.EmitType<IMouseEventArgs>;
    /**
     * Triggers when a point in the accumulation chart is clicked.
     *
     * @event pointClick
     * @blazorProperty 'OnPointClick'
     */
    pointClick?: base.EmitType<IPointEventArgs>;
    /**
     * Triggers when a point in the accumulation chart is moved.
     *
     * @event pointMove
     * @blazorProperty 'PointMoved'
     */
    pointMove?: base.EmitType<IPointEventArgs>;
    /**
     * Triggers after the animation for the series is completed.
     *
     * @event animationComplete
     * @blazorProperty 'OnAnimationComplete'
     */
    animationComplete?: base.EmitType<IAccAnimationCompleteEventArgs>;
    /**
     * Triggers on the mouse down event within the accumulation chart.
     *
     * @event chartMouseDown
     * @blazorProperty 'OnChartMouseDown'
     */
    chartMouseDown?: base.EmitType<IMouseEventArgs>;
    /**
     * Triggers when the cursor leaves the accumulation chart.
     *
     * @event chartMouseLeave
     * @blazorProperty 'OnChartMouseLeave'
     */
    chartMouseLeave?: base.EmitType<IMouseEventArgs>;
    /**
     * Triggers on the mouse up event within the accumulation chart.
     *
     * @event chartMouseUp
     * @blazorProperty 'OnChartMouseUp'
     */
    chartMouseUp?: base.EmitType<IMouseEventArgs>;
    /**
     * Triggers before the window resize event occurs. This event allows for modifications to the accumulation chart size before resizing.
     *
     * @event beforeResize
     * @blazorProperty 'BeforeResize'
     */
    beforeResize?: base.EmitType<IAccBeforeResizeEventArgs>;
    /**
     * Triggers after the window resize event completes.
     *
     * @event resized
     * @blazorProperty 'Resized'
     */
    resized?: base.EmitType<IAccResizeEventArgs>;
    /**
     * Triggers before the export process begins. This event allows for the customization of export settings before the chart is exported.
     *
     * @event beforeExport
     */
    beforeExport?: base.EmitType<IExportEventArgs>;
    /**
     * Triggers after1111111 the export is completed.
     *
     * @event afterExport
     * @blazorProperty 'AfterExport'
     */
    afterExport?: base.EmitType<IAfterExportEventArgs>;
    /**
     * Triggers after the selection is completed.
     *
     * @event selectionComplete
     */
    selectionComplete?: base.EmitType<IAccSelectionCompleteEventArgs>;
    /**
     * Defines the currency code format for the accumulation chart.
     *
     * @private
     * @aspType string
     */
    currencyCode?: string;
}
//node_modules/@syncfusion/ej2-charts/src/accumulation-chart/user-interaction/tooltip.d.ts
/**
 * The `AccumulationTooltip` module is used to render tooltips for the accumulation chart.
 */
export  class AccumulationTooltip extends BaseTooltip {
    accumulation: AccumulationChart;
    constructor(accumulation: AccumulationChart);
    /**
     * Adds an event listener.
     *
     * @hidden
     * @returns {void}
     */
    private addEventListener;
    private mouseLeaveHandler;
    private mouseUpHandler;
    private mouseMoveHandler;
    /**
     * Renders the tooltip.
     *
     * @param {PointerEvent | TouchEvent} event - The mouse move event or touch event.
     * @returns {void}
     * @private
     */
    tooltip(event: PointerEvent | TouchEvent): void;
    /**
     * @private
     */
    renderSeriesTooltip(chart: AccumulationChart, data: AccPointData): void;
    private triggerTooltipRender;
    private getPieData;
    /**
     * To get series from index.
     *
     * @param {number} index - The index of the series to retrieve.
     * @param {AccumulationSeries[]} visibleSeries - The array of visible series in the accumulation chart.
     * @returns {AccumulationSeries} - The series retrieved from the specified index.
     */
    private getSeriesFromIndex;
    private getTooltipText;
    private findHeader;
    private parseTemplate;
    /**
     * Get module name.
     *
     * @returns {string} - Returns the module name.
     */
    protected getModuleName(): string;
    /**
     * To destroy the Tooltip.
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-charts/src/accumulation-chart/user-interaction/selection.d.ts
/**
 * The `AccumulationSelection` module handles selection for the accumulation chart.
 *
 * @private
 */
export  class AccumulationSelection extends BaseSelection {
    /** @private */
    renderer: svgBase.SvgRenderer | svgBase.CanvasRenderer;
    /** @private */
    rectPoints: svgBase.Rect;
    /** @private */
    selectedDataIndexes: Indexes[];
    /** @private */
    highlightDataIndexes: Indexes[];
    /** @private */
    series: AccumulationSeries[];
    /** @private */
    accumulation: AccumulationChart;
    /** @private */
    currentMode: AccumulationSelectionMode | AccumulationHighlightMode;
    /** @private */
    previousSelectedElement: Element[];
    constructor(accumulation: AccumulationChart);
    /**
     * Binding events for selection module.
     *
     * @returns {void}
     */
    private addEventListener;
    /**
     * UnBinding events for selection module.
     *
     * @returns {void}
     */
    private removeEventListener;
    /**
     * To initialize the private variables.
     *
     * @param {AccumulationChart} accumulation - The accumulation chart control.
     * @returns {void}
     */
    private initPrivateVariables;
    /**
     * Invoke selection for rendered chart.
     *
     * @param {AccumulationChart} accumulation - Define the chart to invoke the selection.
     * @returns {void}
     * @private
     */
    invokeSelection(accumulation: AccumulationChart): void;
    /**
     * To get series selection style by series.
     *
     * @param {AccumulationSeriesModel} series - The series for which to get the selection style.
     * @param {number} point - The index of the point within the series.
     * @returns {string} - The selection style for the specified series.
     */
    private generateStyle;
    /**
     * To get elements by index, series.
     *
     * @param {AccumulationChart} accumulation - The accumulation chart control.
     * @param {AccumulationSeriesModel} series - The series for which to get the elements.
     * @param {Index} index - The index of the element within the series.
     * @returns {Element[]} - The elements corresponding to the specified index and series.
     */
    private findElements;
    /**
     * To get series point element by index.
     *
     * @param {Index} index - The index of the element within the series.
     * @returns {Element} - The elements corresponding to the specified index.
     */
    private getElementByIndex;
    /**
     * To find the selected element.
     *
     * @param {Element} targetElement - The target element to check for selection.
     * @param {string} eventType - The type of event that triggered the selection.
     * @returns {boolean} - Indicates whether the element is selected.
     * @private
     */
    isAlreadySelected(targetElement: Element, eventType: string): boolean;
    /**
     * To calculate selected elements on mouse click or touch.
     *
     * @private
     * @param {AccumulationChart} accumulation - The accumulation chart control.
     * @param {Event} event - The event object representing the mouse click or touch event.
     * @returns {void}
     */
    mouseClick(accumulation: AccumulationChart, event: Event): void;
    /**
     * To calculate selected elements on mouse click or touch.
     *
     * @private
     * @param {AccumulationChart} accumulation - The accumulation chart control.
     * @param {Element} targetEle - The target element that triggered the event.
     * @param {string} eventType - The type of event that triggered the selection.
     * @returns {void}
     */
    calculateSelectedElements(accumulation: AccumulationChart, targetEle: Element, eventType: string): void;
    /**
     * To perform the selection process based on index and element.
     *
     * @param {Index} index - The index of the data to select.
     * @param {AccumulationChart} accumulation - The accumulation chart control.
     * @param {Element} element - The element representing the selected data.
     * @returns {void}
     */
    private performSelection;
    /**
     * Method to get the selected data index.
     *
     * @private
     * @param {AccumulationChart} accumulation - The accumulation chart control.
     * @param {AccumulationSeries} series - The series to retrieve the selected data from index.
     * @returns {void}
     */
    private selectionComplete;
    /**
     * To select the element by index. Adding or removing selection style class name.
     *
     * @param {AccumulationChart} accumulation - The accumulation chart control.
     * @param {Index} index - The index of the element to select or deselect.
     * @param {Element[]} selectedElements - The array of selected elements.
     * @returns {void}
     */
    private selection;
    /**
     * To redraw the selection process on accumulation chart refresh.
     *
     * @private
     * @param {AccumulationChart} accumulation - The accumulation chart control.
     * @returns {void}
     */
    redrawSelection(accumulation: AccumulationChart): void;
    /**
     * To remove the selected elements style classes by indexes.
     *
     * @param {AccumulationChart} accumulation - The accumulation chart control.
     * @param {Index[]} indexes - The array of indexes representing elements to remove selection styles.
     * @returns {void}
     */
    private removeSelectedElements;
    /**
     * To perform the selection for legend elements.
     *
     * @private
     */
    legendSelection(accumulation: AccumulationChart, series: number, pointIndex: number, targetEle: Element, eventType: string): void;
    /**
     * To select the element by selected data indexes.
     *
     * @param {Index[]} indexes - The array of indexes representing elements to select.
     * @param {AccumulationChart} accumulation - The accumulation chart control.
     * @returns {void}
     */
    private selectDataIndex;
    /**
     * To remove the selection styles for multi selection process.
     *
     * @param {AccumulationChart} accumulation - The Accumulation Chart control.
     * @param {Index[]} index - The array of indexes representing elements to remove selection styles for multi selection process.
     * @param {Index} currentIndex - The current index to remove from selection.
     * @param {AccumulationSeriesModel[]} seriesCollection - The array of visible series in the accumulation chart.
     * @returns {void}
     */
    private removeMultiSelectEelments;
    /**
     * To apply the opacity effect for accumulation chart series elements.
     *
     * @param  {string} pieId - The id of the pie element.
     * @param  {AccumulationSeries[]} visibleSeries - The array of visible series in the accumulation chart.
     * @returns {void}
     */
    private blurEffect;
    /**
     * To check selection elements by style class name.
     *
     * @param  {Element} element - The element to check selection elements by style class name.
     * @param  {string} className - The class name to check.
     * @param  {boolean} visibility - Indicates whether the element should be visible.
     * @returns {void}
     */
    private checkSelectionElements;
    /**
     * To apply selection style for elements.
     *
     * @param  {Element[]} elements - The array of elements to apply the selection style.
     * @param  {Index} index - The index to apply the selection style.
     * @returns {void}
     */
    private applyStyles;
    /**
     * To get selection style class name by id.
     *
     * @param  {string} id - The id of the element to retrieve the selection style class name.
     * @param  {number} point - The point for the selection.
     * @returns {string} - The selection style class name.
     */
    private getSelectionClass;
    /**
     * To remove selection style for elements.
     *
     * @param  {Element[]} elements - The array of elements from which to remove the selection style.
     * @param  {Index} index - The index to remove from the selection.
     * @returns {void}
     */
    private removeStyles;
    /**
     * To apply or remove selected elements index.
     *
     * @param  {Index[]} indexes - The array of indexes representing elements to apply or remove selection.
     * @param  {Index} index - The index to add or remove from the selection.
     * @param  {boolean} add - Indicates whether to add or remove the index.
     * @returns {void}
     */
    private addOrRemoveIndex;
    /**
     * To check two index, point and series are equal.
     *
     * @param  {Index} first - The first index.
     * @param  {Index} second - The second index.
     * @returns {boolean} - Indicates whether the two indexes are equal.
     */
    private checkEquals;
    /**
     *The mouse move event.
     *
     * @private
     * @param  {PointerEvent | TouchEvent} event - The mouse move event or touch event.
     * @returns {void}
     */
    mouseMove(event: PointerEvent | TouchEvent): void;
    /**
     * Get module name.
     *
     * @private
     * @returns {string} - Returns the module name.
     */
    getModuleName(): string;
    /**
     * To destroy the selection.
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-charts/src/accumulation-chart/user-interaction/high-light.d.ts
/**
 * The `AccumulationHighlight` module handles highlighting for the accumulation chart.
 *
 * @private
 */
export  class AccumulationHighlight extends AccumulationSelection {
    /**
     * Constructor for selection module.
     *
     * @private.
     * @param {AccumulationChart} accumulation - The accumulation chart control.
     */
    constructor(accumulation: AccumulationChart);
    /**
     * Binding events for selection module.
     *
     * @returns {void}
     */
    private wireEvents;
    /**
     * UnBinding events for selection module.
     *
     * @returns {void}
     */
    private unWireEvents;
    /**
     * To find private variable values.
     *
     * @param {AccumulationChart} accumulation - The accumulation chart control.
     * @returns {void}
     */
    private PrivateVariables;
    /**
     * Method to select the point and series.
     *
     * @param {AccumulationChart} accumulation - The accumulation chart control.
     * @returns {void}
     */
    invokeHighlight(accumulation: AccumulationChart): void;
    /**
     * Get module name.
     *
     * @private
     * @returns {string} - Returns the module name.
     */
    getModuleName(): string;
    /**
     * To destroy the highlight.
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-charts/src/accumulation-chart/renderer/triangular-base.d.ts
/**
 * Defines the common behavior of funnel and pyramid series
 */
/**
 * The `TriangularBase` module is used to calculate base functions for funnel and pyramid series.
 *
 * @private
 */
export  class TriangularBase extends AccumulationBase {
    /**
     * Initializes the properties of funnel/pyramid series.
     *
     * @private
     * @param {AccumulationChart} chart - The accumulation chart control.
     * @param {AccumulationSeries} series - The series for which to initialize properties.
     * @returns {void}
     */
    initProperties(chart: AccumulationChart, series: AccumulationSeries): void;
    /**
     * Initializes the size of the pyramid/funnel segments.
     *
     * @private
     * @param {AccPoints[]} points - The points to initialize the segment size.
     * @param {AccumulationSeries} series - The series for which to initialize properties.
     * @param {boolean} reverse - Indicates whether the pyramid/funnel segments should be reversed.
     * @returns {void}
     */
    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
     * @param {AccumulationSeries} series - The series for which to mark label locations.
     * @param {AccPoints} point - The point to mark the label location.
     * @param {ChartLocation[]} points - The set of points that forms a pyramid/funnel segment.
     * @returns {void}
     */
    protected setLabelLocation(series: AccumulationSeries, point: AccPoints, points: ChartLocation[]): void;
    /**
     * Finds the path to connect the list of points.
     *
     * @param {ChartLocation[]} locations - An array of ChartLocation objects representing the points to connect.
     * @param {AccPoints} point - The current AccPoints object containing the data point information.
     * @param {string} path - The initial path string to be modified.
     * @param {number} firstIndex - The index of the first point in the path.
     * @param {number} lastIndex - The index of the last point in the path.
     * @param {AccumulationSeries} series - The series object of the Accumulation.
     * @returns {string} - This string represent the path value of the D attribute.
     * @Private
     */
    protected getPath(locations: ChartLocation[], point: AccPoints, path: string, firstIndex: number, lastIndex: number, series: AccumulationSeries): string;
    /**
     * Creates a path to connect a list of points.
     *
     * @param {ChartLocation[]} locations - An array of ChartLocation objects representing the points to connect.
     * @param {AccPoints} point - The current AccPoints object containing the data point information.
     * @param {AccumulationSeries} series - The series object of the Accumulation.
     * @returns {string} - This string represent the path value of the D attribute.
     * @Private
     */
    protected findPath(locations: ChartLocation[], point?: AccPoints, series?: AccumulationSeries): string;
    /**
     * To calculate data-label bounds.
     *
     * @private
     * @param {AccumulationSeries} series - The series for which to calculate data-label bounds.
     * @param {boolean} visible - Specifies whether the data-labels are visible.
     * @param {AccumulationLabelPosition} position - The position of the data-labels.
     * @param {AccumulationChart} chart - The accumulation chart control.
     * @returns {void}
     */
    defaultLabelBound(series: AccumulationSeries, visible: boolean, position: AccumulationLabelPosition, chart: AccumulationChart): void;
}
//node_modules/@syncfusion/ej2-charts/src/accumulation-chart/renderer/pyramid-series.d.ts
/**
 * Defines the behavior of a pyramid series
 */
/**
 * The `PyramidSeries` module is used to render the `Pyramid` series.
 */
export  class PyramidSeries extends TriangularBase {
    /**
     * Defines the path of a pyramid segment.
     *
     * @param {AccPoints} point - The points to initialize the segment size.
     * @param {AccumulationSeries} series - The series for which to define the path.
     * @param {AccumulationChart} chart - The accumulation chart control.
     * @returns {string} - The path of the pyramid segment.
     */
    private getSegmentData;
    /**
     * Initializes the size of the pyramid segments.
     *
     * @private
     * @param {AccPoints[]} points - The points to initialize the segment size.
     * @param {AccumulationSeries} series - The series for which to initialize properties.
     * @returns {void}
     */
    protected initializeSizeRatio(points: AccPoints[], series: AccumulationSeries): void;
    /**
     * Defines the size of the pyramid segments, the surface of that will reflect the values.
     *
     * @param {AccumulationSeries} series - The series for which to initialize properties.
     * @returns {void}
     */
    private calculateSurfaceSegments;
    /**
     * Finds the height of pyramid segment.
     *
     * @param {number} y - The y-coordinate of the segment's point.
     * @param {number} surface - The surface area of the segment that reflects the values.
     * @returns {number} - The height of the pyramid segment.
     */
    private getSurfaceHeight;
    /**
     * Solves quadratic equation.
     *
     * @param {number} a - Coefficient.
     * @param {number} b - Coefficient.
     * @param {number} c - Coefficient.
     * @returns {number} - The height of the pyramid segment.
     */
    private solveQuadraticEquation;
    /**
     * Renders a pyramid segment.
     *
     * @param {AccPoints} point - The point data.
     * @param {AccumulationSeries} series - The series of the chart.
     * @param {AccumulationChart} chart - The accumulation chart control.
     * @param {PathOption} options - The rendering options for the segment.
     * @param {Element} seriesGroup - The group element to contain the segment.
     * @param {boolean} redraw - Specifies whether to redraw the segment.
     * @param {string} previousRadius - Specifies the previous radius of the pie when animating the individual series point.
     * @param {Object[]} previousCenter - Specifies the previous center of the pie when animating the individual series point.
     * @param {boolean} pointAnimation - Specifies whether the point based animation is enabled.
     * @returns {void}
     */
    private renderPoint;
    /**
     * To get the module name of the Pyramid series.
     *
     * @returns {string} - Returns the module name.
     */
    protected getModuleName(): string;
    /**
     * To destroy the pyramid series.
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-charts/src/accumulation-chart/renderer/pie-series.d.ts
/**
 * AccumulationChart series file
 */
/**
 * The `PieSeries` module is used to render the `Pie` series.
 */
export  class PieSeries extends PieBase {
    /**
     * To get path option, degree, symbolLocation from the point.
     *
     * @private
     * @param {AccPoints} point - The point data.
     * @param {AccumulationSeries} series - The series of the chart.
     * @param {AccumulationChart} chart - The accumulation chart control.
     * @param {svgBase.PathOption} option - The rendering options for the point.
     * @param {Element} seriesGroup - The group element to contain the series elements.
     * @param {boolean} redraw - Specifies whether to redraw the series.
     * @param {string} previousRadius - Specifies the previous radius of the pie when animating the individual series point.
     * @param {Object[]} previousCenter - Specifies the previous center of the pie when animating the individual series point.
     * @param {boolean} pointAnimation - Specifies whether the point based animation is enabled.
     * @returns {void}
     */
    renderPoint(point: AccPoints, series: AccumulationSeries, chart: AccumulationChart, option: svgBase.PathOption, seriesGroup: Element, redraw?: boolean, previousRadius?: number, previousCenter?: ChartLocation, pointAnimation?: boolean): void;
    findSeries(e: PointerEvent | TouchEvent, borderRadius: number): void;
    toggleInnerPoint(event: PointerEvent | TouchEvent, radius: number, innerRadius: number, borderRadius: number): void;
    removeBorder(borderElement: Element, duration: number): void;
    private refresh;
    /**
     * To get path option from the point.
     *
     * @param {AccPoints} point - The point data.
     * @param {number} degree - The angle of the point.
     * @param {number} startAngle - The start angle of the slice.
     * @param {number} borderRadius - The border radius of the arc.
     * @param {AccPoints[]} seriesPoints - The points of the series.
     * @param {number} previouRadius - The previous radius of the pie.
     * @param {number} previousCenterX - The previous center x of the pie.
     * @param {number} previousCenterY - The previous center y of the pie.
     * @returns {string} - Returns the path option.
     */
    private getPathOption;
    /**
     * To animate the pie series.
     *
     * @private
     * @param {AccumulationChart} accumulation - The accumulation chart control.
     * @param {AnimationModel} option - The animation options.
     * @param {AccumulationSeries} series - The pie series.
     * @param {Element} slice - The slice element to animate.
     * @param {number} borderRadius - The border radius of the arc.
     * @param {AccPoints[]} seriesPoints - The points of the series.
     * @returns {void}
     */
    animateSeries(accumulation: AccumulationChart, option: AnimationModel, series: AccumulationSeries, slice: Element, borderRadius: number, seriesPoints?: AccPoints[]): void;
    /**
     * To get the module name of the Pie series.
     *
     * @returns {string} - Returns the module name.
     */
    protected getModuleName(): string;
    /**
     * To destroy the pie series.
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-charts/src/accumulation-chart/renderer/pie-base.d.ts
/**
 * The `PieBase` class is used to perform base calculations for the `Pie` series.
 *
 * @private
 */
export  class PieBase extends AccumulationBase {
    protected startAngle: number;
    protected totalAngle: number;
    innerRadius: number;
    pieBaseCenter: ChartLocation;
    pieBaseRadius: number;
    pieBaseLabelRadius: number;
    isRadiusMapped: boolean;
    seriesRadius: number;
    size: number;
    /**
     * To initialize the property values.
     *
     * @private
     * @param {AccumulationChart} chart - The accumulation chart control.
     * @param {AccumulationSeries} series - The series for which the properties are initialized.
     * @returns {void}
     */
    initProperties(chart: AccumulationChart, series: AccumulationSeries): void;
    getLabelRadius(series: AccumulationSeriesModel, point: AccPoints): number;
    /**
     * To find the center of the accumulation.
     *
     * @private
     * @param {AccumulationChart} accumulation - The accumulation chart control.
     * @param {AccumulationSeries} series - The series for which the center is calculated.
     * @returns {void}
     */
    findCenter(accumulation: AccumulationChart, series: AccumulationSeries): void;
    /**
     * To find angles from series.
     *
     * @param {AccumulationSeries} series - The series for which to calculate angles.
     * @returns {void}
     */
    private initAngles;
    /**
     * To calculate data-label bound.
     *
     * @private
     * @param {AccumulationSeries} series - The series for which to calculate data-label bounds.
     * @param {boolean} visible - Indicates whether the data-labels are visible.
     * @param {AccumulationLabelPosition} position - The position of the data-labels.
     * @returns {void}
     */
    defaultLabelBound(series: AccumulationSeries, visible: boolean, position: AccumulationLabelPosition): void;
    /**
     * To calculate series bound.
     *
     * @private
     * @param {AccumulationSeries} series - The series for which to calculate the bound.
     * @returns {svgBase.Rect} - Returns a rect.
     */
    getSeriesBound(series: AccumulationSeries): svgBase.Rect;
    /**
     * To get rect location size from angle.
     *
     * @param {number} angle - The angle in degrees.
     * @returns {svgBase.Rect} - The rect representing the location size from angle.
     */
    private getRectFromAngle;
    /**
     * To get path arc direction.
     *
     * @param {ChartLocation} center - The center coordinates of the arc.
     * @param {number} start - The starting angle of the arc in degrees.
     * @param {number} end - The ending angle of the arc in degrees.
     * @param {number} radius - The radius of the arc.
     * @param {number} innerRadius - The inner radius of the arc.
     * @param {number} borderRadius - The border radius of the arc.
     * @param {boolean} isBorder - It specifies whether it is for rendering a border.
     * @param {AccPoints[]} seriesPoints - The points of the series.
     * @returns {string} - The path string representing the arc direction.
     */
    protected getPathArc(center: ChartLocation, start: number, end: number, radius: number, innerRadius: number, borderRadius?: number, isBorder?: boolean, seriesPoints?: AccPoints[]): string;
    /**
     * To get pie direction.
     *
     * @param {ChartLocation} center - The center of the pie.
     * @param {ChartLocation} start - The starting location of the pie.
     * @param {ChartLocation} end - The ending location of the pie.
     * @param {number} radius - The radius of the pie.
     * @param {number} clockWise - The direction of the pie.
     * @param {number} cornerRadius - The border radius of the arc.
     * @param {AccPoints[]} seriesPoints - The points of the series.
     * @returns {string} - The path direction for the pie.
     */
    protected getPiePath(center: ChartLocation, start: ChartLocation, end: ChartLocation, radius: number, clockWise: number, cornerRadius: number, seriesPoints: AccPoints[]): string;
    /**
     * To get doughnut direction.
     *
     * @param {ChartLocation} center - The center of the doughnut.
     * @param {ChartLocation} start - The starting location of the outer doughnut.
     * @param {ChartLocation} end - The ending location of the outer doughnut.
     * @param {number} radius - The radius of the outer doughnut.
     * @param {ChartLocation} innerStart - The starting location of the inner doughnut.
     * @param {ChartLocation} innerEnd - The ending location of the inner doughnut.
     * @param {number} innerRadius - The radius of the inner doughnut.
     * @param {number} clockWise - The direction of the doughnut.
     * @param {number} cornerRadius - The border radius of the arc.
     * @param {boolean} isBorder - It specifies whether it is for rendering a border.
     * @param {AccPoints[]} seriesPoints - The points of the series.
     * @returns {string} - The path direction for the doughnut.
     */
    protected getDoughnutPath(center: ChartLocation, start: ChartLocation, end: ChartLocation, radius: number, innerStart: ChartLocation, innerEnd: ChartLocation, innerRadius: number, clockWise: number, cornerRadius: number, isBorder: boolean, seriesPoints: AccPoints[]): string;
    /**
     * Adjusts the corner radius of a pie chart slice based on the angle of the slice.
     * Ensures that the corner radius does not exceed a value that would cause the arcs
     * of the slice to overlap or create an invalid shape.
     *
     * @param {number} startAngle - The start angle of the pie.
     * @param {number} endAngle - The end angle of the pie.
     * @param {number} radius - The radius of the pie.
     * @param {number} cornerRadius - The border radius of the arc.
     * @returns {number} - The adjusted corner radius of the pie.
     */
    private adjustCornerRadius;
    /**
     * To Check slice count.
     *
     * @param {AccPoints[]} seriesPoints - The points of the series.
     * @returns {number} - The number of visible pie slice.
     */
    private sliceCheck;
    /**
     * Method to start animation for pie series.
     *
     * @param {Element} slice - The slice element to animate.
     * @param {AccumulationSeries} series - The accumulation chart control.
     * @param {Element} groupElement - The group element containing the pie series.
     * @param {number} borderRadius - The border radius of the arc.
     * @param {AccPoints[]} seriesPoints - The points of the series.
     * @returns {void}
     */
    protected doAnimation(slice: Element, series: AccumulationSeries, groupElement: Element, borderRadius: number, seriesPoints: AccPoints[]): void;
}
//node_modules/@syncfusion/ej2-charts/src/accumulation-chart/renderer/legend.d.ts
/**
 * The `AccumulationLegend` module is used to render the `Legend` for the Accumulation chart.
 */
export  class AccumulationLegend extends BaseLegend {
    titleRect: svgBase.Rect;
    private totalRowCount;
    private maxColumnWidth;
    /**
     * Constructor for Accumulation Legend.
     *
     * @param {AccumulationChart} chart Get a chart as a parameter.
     */
    constructor(chart: AccumulationChart);
    /**
     * Binding events for legend module.
     *
     * @returns {void}
     */
    private addEventListener;
    /**
     * UnBinding events for legend module.
     *
     * @returns {void}
     */
    private removeEventListener;
    /**
     * To handle mosue move for legend module.
     *
     * @param {MouseEvent} e - The mouse move event for legend module.
     * @returns {void}
     */
    private mouseMove;
    /**
     * To handle mosue end for legend module.
     *
     * @param {MouseEvent} e - The mouse end event for legend module.
     * @returns {void}
     */
    private mouseEnd;
    /**
     * Get the legend options.
     *
     * @param {AccumulationChart} chart - The accumulation chart control.
     * @param {AccumulationSeries[]} series - The array of series in the accumulation chart.
     * @returns {void}
     * @private
     */
    getLegendOptions(chart: AccumulationChart, series: AccumulationSeries[]): void;
    /**
     * To find legend bounds for accumulation chart.
     *
     * @param {svgBase.Size} availableSize - The available size for the legend.
     * @param {svgBase.Rect} legendBounds - The boundary of the legend.
     * @param {LegendSettingsModel} legend - The legend settings.
     * @returns {void}
     * @private
     */
    getLegendBounds(availableSize: svgBase.Size, legendBounds: svgBase.Rect, legend: LegendSettingsModel): void;
    private getPageWidth;
    /** @private */
    getLegendHeight(option: LegendOptions, legend: LegendSettingsModel, bounds: svgBase.Rect, rowWidth: number, legendHeight: number, padding: number): void;
    /**
     * To find html entities value for legend.
     *
     * @param {string} legendText - The text of the legend item.
     * @returns {string} - Converts the entities to normal string.
     * @private
     */
    convertHtmlEntities(legendText: string): string;
    /**
     * To find maximum column size for legend.
     *
     * @param {number[]} columns - Array containing the number of legend items in each column.
     * @param {number} width - The total width available.
     * @param {number} padding - The padding between legend items.
     * @param {number} rowWidth - The width of each row of legend items.
     * @returns {number} - Get a maximum columns.
     */
    private getMaxColumn;
    /**
     * To find available width from legend x position.
     *
     * @param {number} tx - The x-coordinate of the legend.
     * @param {number} width - The total width available.
     * @returns {number} - Get a available width.
     */
    private getAvailWidth;
    /**
     * To find legend rendering locations from legend items.
     *
     * @param {LegendOptions} legendOption - The legend options.
     * @param {ChartLocation} start - The starting location for legend rendering.
     * @param {number} textPadding - The padding between legend text items.
     * @param {LegendOptions} prevLegend - The previous legend options.
     * @param {svgBase.Rect} rect - The bounding of the legend.
     * @param {number} count - The count of legend items.
     * @param {number} firstLegend - The index of the first legend item.
     * @returns {void}
     * @private
     */
    getRenderPoint(legendOption: LegendOptions, start: ChartLocation, textPadding: number, prevLegend: LegendOptions, rect: svgBase.Rect, count: number, firstLegend: number): void;
    /**
     * Check whether legend group within legend bounds or not.
     *
     * @param {number} previousBound - The previous bound value.
     * @param {number} textWidth - The width of the legend text.
     * @param {svgBase.Rect} legendBounds - The bounding of the legend.
     * @param {number} shapeWidth - The width of the legend shape.
     * @returns {boolean} - A boolean indicating whether the legend group is within the legend bounds.
     */
    private isWithinBounds;
    /**
     * Finding the smart legend place according to positions.
     *
     * @param {svgBase.Rect} labelBound - The bounding of the label.
     * @param {svgBase.Rect} legendBound - The bounding of the legend.
     * @param {MarginModel} margin - The margin of the legend.
     * @returns {void}
     * @private
     */
    getSmartLegendLocation(labelBound: svgBase.Rect, legendBound: svgBase.Rect, margin: MarginModel): void;
    /**
     * To get title rect.
     *
     * @param {AccumulationChart} accumulation - The accumulation chart control.
     * @returns {void}
     */
    private getTitleRect;
    /**
     * To get legend by index.
     *
     * @param {number} index - The index of the legend.
     * @param {LegendOptions[]} legendCollections - The array of legend options.
     * @returns {LegendOptions} - Return legend index.
     */
    private legendByIndex;
    /**
     * To show or hide the legend on clicking the legend.
     *
     * @param {Event} event - The click event.
     * @returns {void}
     * @private
     */
    click(event: Event): void;
    /**
     * To translate the point elements by index and position.
     *
     * @param {number} index - The index of the point element.
     * @param {boolean} isVisible - A boolean value indicating whether the point is visible.
     * @returns {void}
     */
    private sliceVisibility;
    /**
     * Slice animation.
     *
     * @param {Element} element - slice element.
     * @param {boolean} isVisible - boolean value of slice.
     * @returns {void}
     */
    private sliceAnimate;
    /**
     * Get module name.
     *
     * @returns {string} - Return module name.
     * @private
     */
    protected getModuleName(): string;
    /**
     * To destroy the Legend.
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-charts/src/accumulation-chart/renderer/funnel-series.d.ts
/**
 * Defines the behavior of a funnel series
 */
/**
 * The `FunnelSeries` module is used to render the `Funnel` Series.
 */
export  class FunnelSeries extends TriangularBase {
    /**
     * Defines the path of a funnel segment
     *
     * @private
     * @param {AccPoints} point - The point data.
     * @param {AccumulationSeries} series - The series for which the segment is rendered.
     * @param {AccumulationChart} chart - The accumulation chart control.
     * @returns {string} - Get segment data.
     */
    private getSegmentData;
    /**
     * Renders a funnel segment.
     *
     * @private
     * @param {AccPoints} point - The point data.
     * @param {AccumulationSeries} series - The series for which the segment is rendered.
     * @param {AccumulationChart} chart - The accumulation chart control.
     * @param {svgBase.PathOption} options - The rendering options for the segment.
     * @param {Element} seriesGroup - The group element to contain the funnel segments.
     * @param {boolean} redraw - Specifies whether to redraw the segment.
     * @param {string} previousRadius - Specifies the previous radius of the pie when animating the individual series point.
     * @param {Object[]} previousCenter - Specifies the previous center of the pie when animating the individual series point.
     * @param {boolean} pointAnimation - Specifies whether the point based animation is enabled.
     * @returns {void}
     */
    renderPoint(point: AccPoints, series: AccumulationSeries, chart: AccumulationChart, options: svgBase.PathOption, seriesGroup: Element, redraw: boolean, previousRadius?: number, previousCenter?: ChartLocation, pointAnimation?: boolean): void;
    /**
     * Renders the Trapezoidal funnel series in an accumulation chart.
     *
     * @param {AccumulationSeries} series - The series data for the Trapezoidal  funnel.
     * @param {AccPoints[]} points - The data points for the series.
     * @param {AccumulationChart} chart - The instance of the accumulation chart.
     * @param {svgBase.PathOption[]} options - The path options for rendering the Trapezoidal funnel.
     * @param {Element} seriesGroup - The group element for the series.
     * @param {boolean} redraw - Specifies whether to redraw the series.
     * @returns {void} - This method does not return a value.
     */
    renderTrapezoidalFunnel(series: AccumulationSeries, points: AccPoints[], chart: AccumulationChart, options: svgBase.PathOption[], seriesGroup: Element, redraw: boolean): void;
    /**
     * Function to lighten a color by blending it with white.
     *
     * @param {string} color - The main color in hex format (e.g., '#1e90ff').
     * @returns {string} - The lightened color in hex format.
     */
    lightenColor(color: string): string;
    /**
     * To get the module name of the funnel series.
     *
     * @returns {string} - Get module name.
     */
    protected getModuleName(): string;
    /**
     * To destroy the funnel series.
     *
     * @returns {void} Destroy method.
     * @private
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-charts/src/accumulation-chart/renderer/dataLabel.d.ts
/**
 * The `AccumulationDataLabel` module is used to render data labels for the Accumulation chart.
 */
export  class AccumulationDataLabel extends AccumulationBase {
    /** @private */
    titleRect: svgBase.Rect;
    /** @private */
    areaRect: svgBase.Rect;
    /** @private */
    clearTooltip: number;
    private id;
    marginValue: number;
    /**
     * This varaible indicated the change of angle direction.
     * Such as increase/decrease the label angle while doing smart label arrangements.
     */
    private isIncreaseAngle;
    private rightSideRenderingPoints;
    private leftSideRenderingPoints;
    constructor(accumulation: AccumulationChart);
    /**
     * Method to get datalabel text location.
     *
     * @private
     * @param {AccPoints} point - The data point for which to calculate the label text location.
     * @param {AccumulationDataLabelSettingsModel} dataLabel - The data label settings for the series.
     * @param {svgBase.Size} textSize - The size of the text to be displayed.
     * @param {AccPoints[]} points - The array of data points in the series.
     * @returns {void}
     */
    getDataLabelPosition(point: AccPoints, dataLabel: AccumulationDataLabelSettingsModel, textSize: svgBase.Size, points: AccPoints[]): void;
    /**
     * Method to get datalabel bound.
     */
    private getLabelRegion;
    /**
     * Method to get data label collection.
     *
     * @param {AccPoints} point - The data point for which to calculate the label collection.
     * @param {AccumulationDataLabelSettingsModel} dataLabel - The data label settings for the series.
     * @returns {void}
     * @private
     */
    calculateLabelCollection(point: AccPoints, dataLabel: AccumulationDataLabelSettingsModel): void;
    /**
     * To calculate label collection text size.
     *
     * @param {string[]} labelCollection - The collection of label texts.
     * @param {AccumulationDataLabelSettingsModel} dataLabel - The data label settings for the series.
     * @returns {svgBase.Size} - The size of the label text collection.
     * @private
     */
    getTextSize(labelCollection: string[], dataLabel: AccumulationDataLabelSettingsModel): svgBase.Size;
    /**
     * Method to get datalabel smart position.
     *
     * @param {AccPoints} point - The data point for which to calculate the label smart position.
     * @param {AccumulationDataLabelSettingsModel} dataLabel - The data label settings for the series.
     * @param {svgBase.Size} textSize - The size of the text.
     * @param {AccPoints[]} points - The collection of data points.
     * @returns {void}
     */
    private getSmartLabel;
    /**
     * To find trimmed datalabel tooltip needed.
     *
     * @param {Event} e - The move event.
     * @param {number} x - The x-coordinate.
     * @param {number} y - The y-coordinate.
     * @param {boolean} isTouch - Indicates if the interaction is touch-based.
     * @returns {void}
     * @private
     */
    move(e: Event, x: number, y: number, isTouch?: boolean): void;
    /**
     * To find previous valid label point.
     *
     * @param {AccPoints[]} points - The array of accumulation points.
     * @param {number} index - The index of the current point.
     * @param {AccumulationLabelPosition} position - The position of the label.
     * @returns {AccPoints} - Find the previous value of accumulation point.
     */
    private findPreviousPoint;
    /**
     * To find current point datalabel is overlapping with other points.
     *
     * @param {AccPoints} currentPoint - The current point.
     * @param {AccPoints[]} points - The array of accumulation points.
     * @returns {boolean} - It returns boolean value of overlapping.
     */
    private isOverlapping;
    /**
     * To get text trimmed while exceeds the accumulation chart area.
     *
     * @param {AccPoints} point - The accumulation point.
     * @param {svgBase.Rect} rect - The area of the accumulation chart.
     * @param {FontModel} font - The font settings.
     * @param {string} position - The position of the data label.
     * @param {AccumulationDataLabelSettingsModel} dataLabel - The data label settings.
     * @returns {void}
     */
    private textTrimming;
    /**
     * To set point label visible and region to disable.
     *
     * @param {AccPoints} point - The accumulation point.
     * @returns {void}
     */
    private setPointVisibileFalse;
    /**
     * To set point label visible to enable.
     *
     * @param {AccPoints} point - The accumulation point.
     * @returns {void}
     */
    private setPointVisibleTrue;
    /**
     * To set datalabel angle position for outside labels.
     *
     * @param {AccPoints} previousPoint - The previous accumulation point.
     * @param {AccPoints} point - The accumulation point.
     * @param {number} border - The border size.
     * @param {number} labelRadius - The radius for the labels.
     * @param {svgBase.Size} textsize - The size of the labels.
     * @param {number} margin - The margin value.
     * @returns {void}
     */
    private setOuterSmartLabel;
    /**
     * Sets smart label positions for funnel and pyramid series.
     *
     * @param {AccPoints} point - The accumulation point.
     * @param {AccPoints} prevPoint - The previous point.
     * @returns {void} setSmartLabelForSegments.
     */
    private setSmartLabelForSegments;
    /**
     * To find connector line overlapping.
     *
     * @param {AccPoints} point - The accumulation point.
     * @param {AccPoints} previous - The previous point.
     * @returns {boolean} - To find connector line overlapping or not.
     */
    private isConnectorLineOverlapping;
    /**
     * To find two rectangle intersect.
     *
     * @param {ChartLocation} line1 - The first line.
     * @param {ChartLocation} line2 - The second line.
     * @param {svgBase.Rect} rect - The rectangle to check against.
     * @returns {boolean} - To find line rectangle intersect value.
     */
    private isLineRectangleIntersect;
    /**
     * To find two line intersect.
     *
     * @param {ChartLocation} point1 - The first point of the first line.
     * @param {ChartLocation} point2 - The second point of the first line.
     * @param {ChartLocation} point11 - The first point of the second line.
     * @param {ChartLocation} point12 - The second point of the second line.
     * @returns {boolean} - To find line intersect or not.
     */
    private isLinesIntersect;
    /**
     * To get two rectangle overlapping angles.
     *
     * @param {svgBase.Rect} first - The first rectangle.
     * @param {svgBase.Rect} second - The second rectangle.
     * @param {number} angle - The angle.
     * @param {number} padding - The padding.
     * @returns {number} - Get overlapped angle.
     */
    private getOverlappedAngle;
    /**
     * To get connector line path.
     *
     * @param {svgBase.Rect} label - The label.
     * @param {AccPoints} point - The accumulation point.
     * @param {AccumulationDataLabelSettingsModel} dataLabel - The data label settings.
     * @param {number} end - The end.
     * @returns {string} - Get connector line path.
     */
    private getConnectorPath;
    /**
     * Finds the curved path for funnel/pyramid data label connectors.
     *
     * @param {ChartLocation} start - The start location.
     * @param {ChartLocation} end - The end location.
     * @returns {string} - Get poly line path.
     */
    private getPolyLinePath;
    /**
     * Finds the bezier point for funnel/pyramid data label connectors.
     *
     * @param {number} t - The parameter value.
     * @param {ChartLocation[]} controlPoints - The control points for the bezier point.
     * @param {number} index - The index of the point.
     * @param {number} count - The total count of points.
     * @returns {ChartLocation} - Get bazier point.
     */
    private getBezierPoint;
    /**
     * To get label edges based on the center and label rect position.
     *
     * @param {svgBase.Rect} labelshape - The label shape.
     * @param {number} angle - The angle of the label.
     * @param {ChartLocation} middle - The middle point of the label.
     * @param {number} border - The border value.
     * @param {AccPoints} point - The accumulation point.
     * @returns {ChartLocation} - Get label edge value.
     */
    private getEdgeOfLabel;
    /**
     * Finds the distance between the label position and the edge/center of the funnel/pyramid.
     *
     * @param {AccPoints} point - The accumulation point.
     * @param {AccumulationDataLabelSettingsModel} dataLabel - The data label settings.
     * @returns {number} - Get label distance.
     */
    private getLabelDistance;
    /**
     * Finds the label position / beginning of the connector(ouside funnel labels).
     *
     * @param {AccPoints} point - The accumulation point.
     * @param {AccumulationLabelPosition | string} position - The data label position.
     * @returns {ChartLocation} - Get label location.
     */
    private getLabelLocation;
    /**
     * Finds the beginning of connector line.
     *
     * @param {AccPoints} point - The accumulation point.
     * @param {ConnectorModel} connector - The connector line.
     * @returns {ChartLocation} - Staring point of connector line.
     */
    private getConnectorStartPoint;
    /**
     * To find area rect based on margin, available size.
     *
     * @private
     * @returns {void}
     */
    findAreaRect(): void;
    /**
     * To render the data labels from series points.
     *
     * @param {AccPoints} point - The point for which to render the data label.
     * @param {AccumulationDataLabelSettingsModel} dataLabel - The settings for the data labels.
     * @param {Element} parent - The parent element to which the data labels are appended.
     * @param {AccPoints[]} points - The collection of points in the series.
     * @param {number} series - The index of the series.
     * @param {HTMLElement} templateElement - The template element for the data label.
     * @param {boolean} redraw - Indicates whether the data labels are being redrawn.
     * @returns {void}
     * @private
     */
    renderDataLabel(point: AccPoints, dataLabel: AccumulationDataLabelSettingsModel, parent: Element, points: AccPoints[], series: number, templateElement?: HTMLElement, redraw?: boolean): void;
    private getDatalabelText;
    /**
     * To calculate label size.
     *
     * @param {boolean} isTemplate - Indicates whether the label is a template.
     * @param {HTMLElement} childElement - The child element of the label.
     * @param {AccPoints} point - The point associated with the label.
     * @param {AccPoints[]} points - The collection of points.
     * @param {IAccTextRenderEventArgs} argsData - The arguments data for text rendering.
     * @param {Element} datalabelGroup - The group element for data labels.
     * @param {string} id - The id of the label.
     * @param {AccumulationDataLabelSettingsModel} dataLabel - The settings for the data labels.
     * @param {boolean} redraw - Indicates whether the labels are being redrawn.
     * @param {ClientRect} clientRect - The client rectangle.
     * @param {boolean} isReactCallback - Indicates whether a React callback is being used.
     * @returns {void}
     * @private
     */
    calculateLabelSize(isTemplate: boolean, childElement: HTMLElement, point: AccPoints, points: AccPoints[], argsData: IAccTextRenderEventArgs, datalabelGroup: Element, id: string, dataLabel: AccumulationDataLabelSettingsModel, redraw?: boolean, clientRect?: ClientRect, isReactCallback?: boolean): void;
    /**
     * To draw a data label.
     *
     * @param {AccumulationSeries} series - The series associated with the data label.
     * @param {AccumulationDataLabelSettingsModel} dataLabel - The settings for the data labels.
     * @param {HTMLElement} parent - The parent element of the data labels.
     * @param {HTMLElement} templateElement - The template element for the data label.
     * @param {boolean} redraw - Indicates whether the data labels are being redrawn.
     * @returns {void}
     * @private
     */
    drawDataLabels(series: AccumulationSeries, dataLabel: AccumulationDataLabelSettingsModel, parent: HTMLElement, templateElement?: HTMLElement, redraw?: boolean): void;
    /**
     * To calculate data label clip path.
     *
     * @param {AccumulationDataLabelSettingsModel} dataLabel - The settings for the data labels.
     * @param {HTMLElement} parent - The parent element of the data labels.
     * @returns {void}
     */
    private dataLabelClipPath;
    /**
     * In this method datalabels region checked with legebdBounds and areaBounds.
     * Trimming of datalabel and point's visibility again changed here.
     *
     * @param {AccPoints} point - Current point in which trimming and visibility to be checked.
     * @param {AccPoints[]} points - Finalized points.
     * @param {AccumulationDataLabelSettingsModel} dataLabel - Datalabel model.
     * @returns {void}
     */
    private finalizeDatalabels;
    /**
     * To find the template element size.
     *
     * @param {HTMLElement} element - To get a template element.
     * @param {AccPoints} point - The accumulation point for the template.
     * @param {IAccTextRenderEventArgs} argsData - The arguments for the accumulation points.
     * @param {boolean} redraw - Indicates whether to redraw the template.
     * @param {boolean} isTemplate - Indicates whether the element is a template.
     * @param {AccPoints[]} points - The accumulation points for the template.
     * @param {Element} datalabelGroup - The group element for the data labels.
     * @param {string} id - The identifier for the template.
     * @param {AccumulationDataLabelSettingsModel} dataLabel - The settings for the data labels.
     * @returns {svgBase.Size} - The size of the template.
     */
    private getTemplateSize;
    /**
     * To set the template element style.
     *
     * @param {HTMLElement} childElement - The child element of the template.
     * @param {AccPoints} point - The point data for the template.
     * @param {Element} parent - The parent element of the template.
     * @param {string} labelColor - The color of the label in the template.
     * @param {string} fill - The fill color of the template.
     * @param {boolean} redraw - Indicates whether to redraw the template.
     * @returns {void}
     */
    private setTemplateStyle;
    /**
     * To find saturated color for datalabel
     *
     * @param {AccPoints} point - The accumulation point.
     * @param {string} color - The original color.
     * @returns {string} - Get a saturated color.
     */
    private getSaturatedColor;
    /**
     * Animates the data label template.
     *
     * @param {AccumulationChart} accumulation - The accumulation chart control.
     * @param {Element} element - The element to animate.
     * @returns {void}
     * @private
     */
    doTemplateAnimation(accumulation: AccumulationChart, element: Element): void;
    /**
     * To find background color for the datalabel.
     *
     * @param {AccPoints} point - The data point for which to determine the background color.
     * @returns {string} - The background color for the data label.
     */
    private getLabelBackground;
    /**
     * To correct the padding between datalabel regions.
     *
     * @param {svgBase.Rect} labelRegion - The region occupied by the data label.
     * @param {svgBase.Size} textSize - The size of the text within the data label.
     * @param {number} padding - The padding value to adjust the spacing.
     * @returns {void}
     */
    private correctLabelRegion;
    /**
     * To get the dataLabel module name.
     *
     * @returns {string} - Returns the module name.
     */
    protected getModuleName(): string;
    /**
     * To destroy the data label.
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
    private extendedLabelsCalculation;
    /**
     * Rightside points alignments calculation.
     *
     * @param {AccumulationSeries} series - To get a proper series.
     * @returns {void}
     */
    private arrangeRightSidePoints;
    /**
     * Leftside points alignments calculation.
     *
     * @param {AccumulationSeries} series - To get a proper series.
     * @returns {void}
     */
    private arrangeLeftSidePoints;
    private decreaseAngle;
    private increaseAngle;
    private changeLabelAngle;
    private isOverlapWithPrevious;
    private isOverlapWithNext;
    private skipPoints;
    private getPerpendicularDistance;
}
//node_modules/@syncfusion/ej2-charts/src/accumulation-chart/renderer/accumulation-base.d.ts
/**
 * The `AccumulationBase` class is used to perform base calculations for accumulation charts.
 *
 * @private
 */
export  class AccumulationBase {
    /** @private */
    constructor(accumulation: AccumulationChart);
    private pieCenter;
    /**
     * Gets the center of the pie.
     *
     * @private
     * @returns {ChartLocation} - The center of the pie.
     */
    /**
    * Sets the center of the pie.
    *
    * @private
    * @param {ChartLocation} value - The center point to set.
    */
    center: ChartLocation;
    private pieRadius;
    /**
     * Gets the radius of the pie.
     *
     * @private
     * @returns {number} - The radius of the pie.
     */
    /**
    * Sets the radius of the pie.
    *
    * @private
    * @param {number} value - The radius value to set.
    */
    radius: number;
    private pieLabelRadius;
    /**
     * Gets the label radius of the pie.
     *
     * @private
     * @returns {number} - The label radius of the pie.
     */
    /**
    * Sets the label radius of the pie.
    *
    * @private
    * @param {number} value - The label radius value to set.
    */
    labelRadius: number;
    /** @private */
    protected accumulation: AccumulationChart;
    /**
     * Checks whether the series is circular or not.
     *
     * @private
     * @returns {boolean} - True if the series is circular, otherwise false.
     */
    protected isCircular(): boolean;
    /**
     * To check various radius pie.
     *
     * @private
     * @returns {boolean} - True if various radius is enabled, otherwise false.
     */
    protected isVariousRadius(): boolean;
    /**
     * To process the explode on accumulation chart loading.
     *
     * @private
     * @param {Event} event - The event triggered during loading.
     * @returns {void}
     */
    processExplode(event: Event): void;
    /**
     * To invoke the explode on accumulation chart loading.
     *
     * @private
     * @returns {void}
     */
    invokeExplode(): void;
    /**
     * To deExplode all points in the series.
     *
     * @private
     * @param {number} index - The index of the point to explode.
     * @param {number} animationDuration - The duration of the animation.
     * @returns {void}
     */
    deExplodeAll(index: number, animationDuration: number): void;
    /**
     * To explode point by index.
     *
     * @private
     * @param {number} index - The index of the point to explode.
     * @param {AccumulationChart} chart - The accumulation chart control.
     * @param {boolean} explode - Specifies whether to explode the point (default: false).
     * @param {boolean} pointAnimation - Specifies whether the point based animation is enabled.
     * @returns {void}
     */
    explodePoints(index: number, chart: AccumulationChart, explode?: boolean, pointAnimation?: boolean): void;
    private getSum;
    private clubPointExplode;
    /**
     * To Explode points.
     *
     * @param {number} index - Index of a point.
     * @param {AccPoints} point - To get the point of explode.
     * @param {number} duration - Duration of the explode point.
     * @param {boolean} explode - Either true or false.
     * @param {boolean} pointAnimation - Specifies whether the point based animation is enabled.
     * @returns {void}
     */
    private pointExplode;
    /**
     * To check point is exploded by id.
     *
     * @param {string} id - The id of the point to check.
     * @returns {boolean} - True if the point is exploded, otherwise false.
     */
    private isExplode;
    /**
     * To deExplode the point by index.
     *
     * @param {number} index - The index of the point.
     * @param {string} sliceId - The id of the slice.
     * @param {number} animationDuration - The duration of the animation.
     * @returns {void}
     */
    private deExplodeSlice;
    /**
     * To translate the point elements by index and position.
     *
     * @param {number} index - The index of the point.
     * @param {string} sliceId - The id of the slice.
     * @param {string} position - The position to translate the point to.
     * @param {string} transform - The transformation to apply to the point.
     * @returns {void}
     */
    private setTranslate;
    /**
     * To translate the point element by id and position.
     *
     * @param {string} id - The id of the point element.
     * @param {string} position - The position to translate the point to.
     * @returns {void}
     */
    private setElementTransform;
    /**
     * To translate the point elements by index position.
     *
     * @param {number} index - The index of the point.
     * @param {ChartLocation} translate - The translation values (x, y).
     * @param {string} sliceId - The id of the slice.
     * @param {ChartLocation} center - The center point of the accumulation chart.
     * @param {number} animationDuration - The duration of the animation.
     * @param {boolean} pointAnimation - Specifies whether the point based animation is enabled.
     * @returns {void}
     */
    private explodeSlice;
    /**
     * To Perform animation point explode.
     *
     * @param {number} index - Index of the series.
     * @param {string} sliceId - ID of the series.
     * @param {number} startX - X value of start.
     * @param {number} startY - Y value of start.
     * @param {number} endX - X value of end.
     * @param {number} endY - Y value of end.
     * @param {number} duration - Duration of the animation.
     * @param {boolean} isReverse - Duration of the animation.
     * @returns {void}
     */
    private performAnimation;
}
//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 series to be rendered. */
    series: AccumulationSeries;
    /** Defines the series data object. */
    data: Object;
    /** Defines the name of the event. */
    name: string;
}
/**
 * Accumulation Chart TextRender event arguments.
 */
export interface IAccTextRenderEventArgs extends IChartEventArgs {
    /** Defines the series of the labels. */
    series: AccumulationSeriesModel;
    /** Defines the point of the label. */
    point: AccPoints;
    /** Defines the text of the label. */
    text: string;
    /** Defines the fill color of the label. */
    color: string;
    /** Defines the border of the label. */
    border: BorderModel;
    /** Defines the template for the data label.
     *
     * @aspType string
     */
    template: string | Function;
    /** Defines the font used for the label. */
    font: FontModel;
}
export interface IAccLegendClickEventArgs extends IChartEventArgs {
    /** Defines the chart instance when the legend is clicked. */
    chart: AccumulationChart;
    /** Defines the shape of the clicked legend item. */
    legendShape: LegendShape;
    /** Defines the series associated with the clicked legend item. */
    series: AccumulationSeries;
    /** Defines the list of points mapped to the legend item. */
    point: AccPoints;
    /** Defines the text of the clicked legend item. */
    legendText: string;
}
/**
 * Accumulation Chart TooltipRender event arguments.
 */
export interface IAccTooltipRenderEventArgs extends IChartEventArgs {
    /** Defines the tooltip content. */
    content?: string | HTMLElement;
    /** Defines the tooltip text style. */
    textStyle?: FontModel;
    /** Defines the tooltip series. */
    series: AccumulationSeries;
    /** Defines the tooltip point. */
    point: AccPoints;
    /** Defines the tooltip text. */
    text: string;
}
/**
 * Accumulation Chart AnimationComplete event arguments.
 */
export interface IAccAnimationCompleteEventArgs extends IChartEventArgs {
    /** Defines the animation series. */
    series: AccumulationSeries;
    /** Defines the accumulation chart instance. */
    accumulation: AccumulationChart;
    /** Defines the chart instance. */
    chart: AccumulationChart;
}
/**
 * Accumulation Chart SelectionComplete event arguments.
 */
export interface IAccSelectionCompleteEventArgs extends IChartEventArgs {
    /** Defines the selected X and Y values of the data. */
    selectedDataValues: {
        x?: string | number | Date;
        y?: number;
        seriesIndex?: number;
        pointIndex?: number;
    }[];
}
/**
 * Accumulation Chart Before Resize event arguments.
 */
export interface IAccBeforeResizeEventArgs {
    /** Defines the name of the event. */
    name: string;
    /** Indicates whether the resizing event should be canceled. */
    cancelResizedEvent: boolean;
}
/**
 * Accumulation Chart Resize event arguments.
 */
export interface IAccResizeEventArgs {
    /** Defines the name of the event. */
    name: string;
    /** Defines the previous size of the accumulation chart before resizing. */
    previousSize: svgBase.Size;
    /** Defines the size of the accumulation chart after resizing. */
    currentSize: svgBase.Size;
    /** Defines the instance of the accumulation chart that has been resized. */
    accumulation: AccumulationChart;
    /** Defines the instance of the chart that has been resized. */
    chart: AccumulationChart;
}
/**
 * Accumulation Chart PointRender event arguments.
 */
export interface IAccPointRenderEventArgs extends IChartEventArgs {
    /** Defines the series of the point. */
    series: AccumulationSeries;
    /** Defines the point. */
    point: AccPoints;
    /** Defines the point fill color. */
    fill: string;
    /** Defines the point border. */
    border: BorderModel;
    /** Defines the point height. */
    height?: number;
    /** Defines the point width. */
    width?: number;
    /** Defines the current point fill pattern. */
    pattern: SelectionPattern;
}
/**
 * Accumulation Chart Load or Loaded event arguments.
 */
export interface IAccLoadedEventArgs extends IChartEventArgs {
    /** Defines the instance of the accumulation chart. */
    accumulation: AccumulationChart;
    /** Defines the instance of the chart. */
    chart: AccumulationChart;
    /** Defines the theme applied to the accumulation chart, if available. */
    theme?: AccumulationTheme;
}
export interface IAccLegendRenderEventArgs extends IChartEventArgs {
    /** Defines the legend shape. */
    shape: LegendShape;
    /** Defines the legend fill color. */
    fill: string;
    /** Defines the legend text. */
    text: string;
}
export interface IAccumulationChartTemplate {
    /** Accumulation point x value. */
    x?: Object;
    /** Accumulation point y value. */
    y?: object;
    /** Accumulation point color. */
    label?: string;
    /** Accumulation point percentage value. */
    percentage?: number;
}
//node_modules/@syncfusion/ej2-charts/src/accumulation-chart/model/enum.d.ts
/**
 * Accumulation charts Enum file
 */
/**
 * Defines the Accumulation Chart series type.
 * * Pie - Accumulation chart Pie series type.
 * * Funnel - Accumulation chart Funnel series type.
 * * Pyramid - Accumulation chart Pyramid 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 type of connector lines in an accumulation series. The options 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';
/**
 * Specifies whether a data point should be highlighted. The options are:
 * * None - Disable the Highlight.
 * * Point - To highlight a point.
 */
export  type AccumulationHighlightMode = 
/** Disable the highlight. */
'None' | 
/** To highlight a point. */
'Point';
/**
 * Defines the theme of the accumulation chart. They are:
 * * Material - Render a accumulation chart with Material theme.
 * * Fabric - Render a accumulation chart with Fabric theme.
 * * Bootstrap - Render a accumulation chart with Bootstrap theme.
 * * HighContrastLight - Render a accumulation chart with HighcontrastLight theme.
 * * MaterialDark - Render a accumulation chart with MaterialDark theme.
 * * FabricDark - Render a accumulation chart with FabricDark theme.
 * * HighContrast - Render a accumulation chart with HighContrast theme.
 * * BootstrapDark - Render a accumulation chart with BootstrapDark theme.
 * * Bootstrap4 - Render a accumulation chart with Bootstrap4 theme.
 * * Tailwind - Render a accumulation chart with Tailwind theme.
 * * TailwindDark - Render a accumulation chart with TailwindDark theme.
 * * Bootstrap5 - Render a accumulation chart with Bootstrap5 theme.
 * * Bootstrap5Dark - Render a accumulation chart with Bootstrap5Dark theme.
 * * Fluent - Render a accumulation chart with Fluent theme.
 * * FluentDark - Render a accumulation chart with FluentDark theme.
 * * Fluent2 - Render a accumulation chart with Fluent2 theme.
 * * Fluent2Dark - Render a accumulation chart with Fluent2Dark theme.
 * * Material3 - Render a accumulation chart with Material3 theme.
 * * Material3Dark - Render a accumulation chart with Material3Dark theme.
 */
export  type AccumulationTheme = 
/**  Render a accumulation chart with Material theme. */
'Material' | 
/**  Render a accumulation chart with Fabric theme. */
'Fabric' | 
/**  Render a accumulation chart with Bootstrap theme. */
'Bootstrap' | 
/**  Render a accumulation chart with Highcontrast Light theme. */
'HighContrastLight' | 
/**  Render a accumulation chart with MaterialDark theme. */
'MaterialDark' | 
/**  Render a accumulation chart with FabricDark theme. */
'FabricDark' | 
/**  Render a accumulation chart with HighContrastDark theme. */
'HighContrast' | 
/**  Render a accumulation chart with BootstrapDark theme. */
'BootstrapDark' | 
/**  Render a accumulation chart with BootstrapDark theme. */
'Bootstrap4' | 
/**  Render a accumulation chart with Tailwind theme. */
'Tailwind' | 
/**  Render a accumulation chart with TailwindDark theme. */
'TailwindDark' | 
/**  Render a accumulation chart with Tailwind3 theme. */
'Tailwind3' | 
/**  Render a accumulation chart with Tailwind3Dark theme. */
'Tailwind3Dark' | 
/**  Render a accumulation chart with Bootstrap5 theme. */
'Bootstrap5' | 
/**  Render a accumulation chart with Bootstrap5Dark theme. */
'Bootstrap5Dark' | 
/**  Render a accumulation chart with Fluent theme. */
'Fluent' | 
/**  Render a accumulation chart with FluentDark theme. */
'FluentDark' | 
/**  Render a accumulation chart with Fluent 2 theme. */
'Fluent2' | 
/**  Render a accumulation chart with Fluent 2 dark theme. */
'Fluent2Dark' | 
/**  Render a accumulation chart with Fluent 2 highcontrast theme. */
'Fluent2HighContrast' | 
/**  Render a accumulation chart with Material 3 theme. */
'Material3' | 
/**  Render a accumulation chart with Material 3 dark theme. */
'Material3Dark';
/**
 * 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';
/**
 * Specifies the available modes for rendering a funnel chart.
 */
export  type FunnelModes = 
/**
 * Displays a funnel shape that narrows down to a point.
 */
'Standard' | 
/**
 * Displays a funnel shape with parallel sides near the top.
 */
'Trapezoidal';
/**
 * Defines the mode of the group.
 * * 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/acc-base.d.ts
/**
 * AccumulationChart base file
 */
/**
 * Configures the annotation settings for an accumulation chart.
 * Annotations are used to highlight or provide additional information about specific points or regions in the accumulation chart.
 */
export  class AccumulationAnnotationSettings extends base.ChildProperty<AccumulationAnnotationSettings> {
    /**
     * The content of the annotation, which can also accept the ID of a custom element.
     *
     * @default null
     */
    content: string;
    /**
     * If `coordinateUnit` is set to `Pixel`, x specifies the pixel value.
     * If `coordinateUnit` is set to `Point`, x specifies the data value.
     *
     * @default '0'
     */
    x: string | Date | number;
    /**
     * If `coordinateUnit` is set to `Pixel`, y specifies the pixel value.
     * If `coordinateUnit` is set to `Point`, y specifies the data value.
     *
     * @default '0'
     */
    y: string | number;
    /**
     * Specifies the coordinate units of the annotation.
     * The options are:
     * * Pixel - Renders the annotation based on x and y pixel values.
     * * Point - Renders the annotation based on x and y data values.
     *
     * @default 'Pixel'
     */
    coordinateUnits: Units;
    /**
     * Specifies the regions of the annotation.
     * The options are:
     * * Chart - Renders the annotation based on chart coordinates.
     * * Series - Renders the annotation based on series coordinates.
     *
     * @default 'Chart'
     */
    region: Regions;
    /**
     * Specifies the position of the annotation.
     * The options are
     * * Top - Aligns the annotation element to the top side.
     * * Bottom - Aligns the annotation element to the bottom side.
     * * Middle - Aligns the annotation element to the midpoint.
     *
     * @default 'Middle'
     * @deprecated
     */
    verticalAlignment: Position;
    /**
     * Specifies the alignment of the annotation.
     * The options are:
     * * Near - Aligns the annotation element to the top side.
     * * Far - Aligns the annotation element to the bottom side.
     * * Center - Aligns the annotation element to the midpoint.
     *
     * @default 'Center'
     * @deprecated
     */
    horizontalAlignment: Alignment;
    /**
     * A description for the annotation that provides additional information about its content for screen readers.
     *
     * @default null
     */
    description: string;
}
/**
 * This class provides options to customize the appearance and behavior of data labels within a series.
 */
export  class AccumulationDataLabelSettings extends base.ChildProperty<AccumulationDataLabelSettings> {
    /**
     * If set to true, data labels for the series are render. By default, it is set to false.
     *
     * @default false
     */
    visible: boolean;
    /**
     * If set to true, the data label for zero values in the series will be rendered.
     *
     * @default true
     */
    showZero: boolean;
    /**
     * Specifies the data source field that contains the data label value.
     *
     * @default null
     */
    name: string;
    /**
     * The background color of the data label accepts hex and rgba values as valid CSS color strings.
     *
     * @default 'transparent'
     */
    fill: string;
    /**
     * Specifies the position of the data label relative to the data point.
     * The available options are:
     * * Outside - Places the data label outside the data point, which is typically used to avoid overlap with the data point.
     * * Inside - Places the data label inside the data point, which is useful for displaying labels within the data point.
     *
     * @default 'Inside'
     */
    position: AccumulationLabelPosition;
    /**
     * Specifies the X-axis rounded corner radius for the data label.
     > Note that `border` values must not be null for this feature to work.
     *
     * @default 5
     */
    rx: number;
    /**
     * Specifies the Y-axis rounded corner radius for the data label.
     > Note that `border` values must not be null for this feature to work.
     *
     * @default 5
     */
    ry: number;
    /**
     * Specifies the rotation angle of the data label.
     *
     * @default 0
     */
    angle: number;
    /**
     * If set to true, the data label will be rotated according to the specified angle.
     *
     * @default false
     */
    enableRotation: boolean;
    /**
     * Configures the appearance of the border lines with options for width and color properties.
     */
    border: BorderModel;
    /**
     * Customizes the appearance of the data label text with options for font size, color, style, weight, and family.
     */
    font: FontModel;
    /**
     * Options to customize the connector line in the series.
     * By default, the connector length for the Pie series is set to '4%'. For other series, it is set to `null`.
     */
    connectorStyle: ConnectorModel;
    /**
     * Custom template to format the content of the data label.
     * Use `${point.x}` and `${point.y}` as placeholders to display the corresponding data point values.
     *
     * @default null
     * @aspType string
     */
    template: string | Function;
    /**
     * Used to format the data label, accepting global string formats like `C`, `n1`, `P`, etc.
     * It also supports placeholders, such as `{value}°C`, where `{value}` represent the point data label (e.g., 20°C).
     *
     * @default ''
     */
    format: string;
    /**
     * Use this property to limit the label width and apply wrapping or trimming.
     *
     * @default 'null'
     */
    maxWidth: number;
    /**
     * Defines the text overflow behavior for the data label when the text exceeds the bounds.
     * Available options are:
     * * Clip - Truncates the data label when it overflows the bounds.
     * * Ellipsis - Displays an ellipsis ("...") at the end of the data label when it overflows the bounds.
     * Set the maximum width of the label using the `maxWidth` property.
     *
     * @default 'Ellipsis'
     */
    textOverflow: LabelOverflow;
    /**
     * Defines the text wrap behavior for the data label when it overflows the bounds.
     * Available options are:
     * * Normal - Truncates the data label when it overflows the bounds.
     * * Wrap - Breaks the data label into multiple lines when it is too long to fit on a single line.
     * * AnyWhere - Breaks the data label at any point if there are no otherwise acceptable break points.
     * Set the maximum width of the label using the `maxWidth` property.
     *
     * @default 'Normal'
     */
    textWrap: TextWrap;
}
/**
 * The `PieCenter` class provides options to set the center position for the Pie series in a chart.
 */
export  class PieCenter extends base.ChildProperty<PieCenter> {
    /**
     * Specifies the x-coordinate of the center position for the Pie series in the chart.
     *
     * @default '50%'
     */
    x: string;
    /**
     * Specifies the y-coordinate of the center position for the Pie series in the chart.
     *
     * @default '50%'
     */
    y: string;
}
/**
 * The `AccPoints` class is used to define and manage the data points within a series of accumulation charts.
 *
 * @public
 */
export  class AccPoints {
    /** Accumulation point x value. */
    x: Object;
    /** Accumulation point y value. */
    y: number;
    /** Accumulation point visibility. */
    visible: boolean;
    /** Accumulation point text. */
    text: string;
    /** Accumulation point tooltip. */
    tooltip: string;
    /** Accumulation point slice radius. */
    sliceRadius: string;
    /** Accumulation point original text. */
    originalText: string;
    /** @private */
    label: string;
    /** Accumulation point color. */
    color: string;
    /** Accumulation point percentage value. */
    percentage: number;
    /** Accumulation point symbol location. */
    symbolLocation: ChartLocation;
    /** Accumulation point index. */
    index: number;
    /** @private */
    midAngle: number;
    /** @private */
    startAngle: number;
    /** @private */
    endAngle: number;
    /** @private */
    labelAngle: number;
    /** @private */
    region: svgBase.Rect;
    /** @private */
    labelRegion: svgBase.Rect;
    /** @private */
    labelVisible: boolean;
    /** @private */
    labelPosition: AccumulationLabelPosition;
    /** @private */
    yRatio: number;
    /** @private */
    heightRatio: number;
    /** @private */
    labelOffset: ChartLocation;
    regions: svgBase.Rect[];
    /** @private */
    isExplode: boolean;
    /** @private */
    isClubbed: boolean;
    /** @private */
    isSliced: boolean;
    /** @private */
    start: number;
    /** @private */
    degree: number;
    /** @private */
    transform: string;
    /** @private */
    separatorY: string;
    /** @private */
    adjustedLabel: boolean;
    /** @private */
    connectorLength: number;
    /** @private  */
    argsData: IAccTextRenderEventArgs;
    /** @private  */
    textSize: svgBase.Size;
    /** @private */
    isLabelUpdated: number;
    /** @private */
    initialLabelRegion: svgBase.Rect;
    /** @private */
    templateElement: HTMLElement;
    /** @private */
    legendImageUrl: string;
    /** @private */
    labelCollection: string[];
}
/**
 * Configures the series in the accumulation chart.
 */
export  class AccumulationSeries extends base.ChildProperty<AccumulationSeries> {
    /**
     * Specifies the data source 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: 'https://services.syncfusion.com/js/production/api/orders'
     * });
     * let query$: data.Query = new data.Query().take(5);
     * let pie$: AccumulationChart = new AccumulationChart({
     * ...
     *     series: [{
     *        dataSource: dataManager,
     *        xName: 'CustomerID',
     *        yName: 'Freight',
     *        query: query
     *    }],
     * ...
     * });
     * pie.appendTo('#Pie');
     * ```
     *
     * @default ''
     */
    dataSource: Object | data.DataManager;
    /**
     * Specifies a query to select data from the data source. This property is applicable only when the data source is an `ej.data.DataManager`.
     *
     * @default null
     */
    query: data.Query;
    /**
     * The data source field that contains the x value.
     *
     * @default ''
     */
    xName: string;
    /**
     * The `name` property allows for setting a name for the series.
     *
     * @default ''
     */
    name: string;
    /**
     * The data source field that contains the value to be displayed in the tooltip.
     *
     * @default ''
     */
    tooltipMappingName: string;
    /**
     * The data source field that contains the y value.
     *
     * @default ''
     */
    yName: string;
    /**
     * If set to true, the series will be visible. If set to false, the series will be hidden.
     *
     * @default true
     */
    visible: boolean;
    /**
     * Options for customizing the border of the series.
     */
    border: BorderModel;
    /**
     * Options for customizing the animation of the series.
     * By default, animation is enabled with a duration of 1000 milliseconds (about 1 second). It can be disabled by setting enable to `false`.
     * The following properties are supported in animation:
     * * enable: If set to true, the series is animated on initial loading.
     * * duration: The duration of the animation in milliseconds.
     * * delay: The delay before the animation starts, in milliseconds.
     */
    animation: AnimationModel;
    /**
     * Specifies the shape of the legend icon for each data point.
     * Available shapes for legend:
     * * Circle - Renders a circular icon.
     * * Rectangle - Renders a rectangular icon.
     * * Triangle - Renders a triangular icon.
     * * Diamond - Renders a diamond-shaped icon.
     * * Cross - Renders a cross-shaped icon.
     * * HorizontalLine - Renders a horizontal line icon.
     * * VerticalLine - Renders a vertical line icon.
     * * Pentagon - Renders a pentagon-shaped icon.
     * * InvertedTriangle - Renders an inverted triangle-shaped icon.
     * * SeriesType - Uses the default icon shape based on the series type.
     * * Image - Renders a custom image for the legend icon.
     *
     * @default 'SeriesType'
     */
    legendShape: LegendShape;
    /**
     * The URL for the image to be displayed as a legend icon.
     > Note that `legendShape` must be set to `Image`.
     *
     * @default ''
     */
    legendImageUrl: string;
    /**
     * The data source field that contains the color value of a point.
     * It is applicable for series.
     *
     * @default ''
     */
    pointColorMapping: string;
    /**
     * When set to true, a different pattern is applied to each slice of the pie.
     *
     * @default false
     */
    applyPattern: boolean;
    /**
     * The `selectionStyle` property is used to specify custom CSS styles for the selected series or points.
     *
     * @default null
     */
    selectionStyle: string;
    /**
     * The y-values of the accumulation series that are less than `groupTo` are combined into a single slice named 'others'.
     *
     * @default null
     */
    groupTo: string;
    /**
     * In the accumulation series, y-values less than `groupMode` are combined into a single slice named 'others'.
     *
     * @default Value
     */
    groupMode: GroupModes;
    /**
     * The data label property can be used to show the data label and customize its position and styling.
     */
    dataLabel: AccumulationDataLabelSettingsModel;
    /**
     * The `palettes` array defines a set of colors used for rendering the accumulation chart's points. Each color in the array is applied to each point in order.
     *
     * @default []
     */
    palettes: string[];
    /**
     * Specifies the starting angle for the series, in degrees.
     *
     * @default 0
     */
    startAngle: number;
    /**
     * Specifies the ending angle for the series, in degrees.
     *
     * @default null
     */
    endAngle: number;
    /**
     * Specifies the radius of the pie series as a percentage of the chart's size.
     *
     * @default null
     */
    radius: string;
    /**
     * When the `innerRadius` value is greater than 0%, a donut shape will appear in the pie series. It accepts only percentage values.
     *
     * @default '0'
     */
    innerRadius: string;
    /**
     * Specifies the type of series in the accumulation chart.
     *
     * @default 'Pie'
     */
    type: AccumulationType;
    /**
     * Controls whether the tooltip for the accumulation chart series is enabled or disabled. Set to true to display tooltips on hover, or false to hide them.
     *
     * @default true
     */
    enableTooltip: boolean;
    /**
     * If set to true, series points will explode on mouse click or touch.
     *
     * @default false
     */
    explode: boolean;
    /**
     * Specifies the distance of the point from the center, which can be defined in both pixels and percentage.
     *
     * @default '30%'
     */
    explodeOffset: string;
    /**
     * If set to true, all the points in the series will explode on load.
     *
     * @default false
     */
    explodeAll: boolean;
    /**
     * Index of the point in the series to be exploded on initial load.
     *
     * @default null
     *
     * @aspDefaultValueIgnore
     *
     * @blazorDefaultValue Double.NaN
     */
    explodeIndex: number;
    /**
     * Customization options for the appearance of empty points in the series, where `null` or `undefined` values are considered as empty points.
     */
    emptyPointSettings: EmptyPointSettingsModel;
    /**
     * Defines the distance between the segments of a funnel or pyramid series.
     * The range is from 0 to 1.
     *
     * @default 0
     */
    gapRatio: number;
    /**
     * Defines the width of the funnel or pyramid series relative to the chart area.
     *
     * @default '80%'
     */
    width: string;
    /**
     * Defines the height of the funnel or pyramid series relative to the chart area.
     *
     * @default '80%'
     */
    height: string;
    /**
     * Defines the width of the funnel neck relative to the chart area.
     *
     * @default '20%'
     */
    neckWidth: string;
    /**
     * Defines the height of the funnel neck relative to the chart area.
     *
     * @default '20%'
     */
    neckHeight: string;
    /**
     * Defines how the values are represented, either through the height or surface area of the segments.
     *
     * @default 'Linear'
     */
    pyramidMode: PyramidModes;
    /**
     * Defines the rendering mode for the funnel chart.
     * Available options are:
     * * Standard - Displays a funnel shape that narrows down to a point.
     * * Trapezoid - Displays a funnel shape with parallel sides near the top.
     *
     * @default 'Standard'
     */
    funnelMode: FunnelModes;
    /**
     * Sets the opacity of the series, with a value between 0 and 1 where 0 is fully transparent and 1 is fully opaque.
     *
     * @default 1.
     */
    opacity: number;
    /**
     * Defines the pattern of dashes and gaps for the series border.
     *
     * @default '0'
     */
    dashArray: string;
    /**
     * Options to improve accessibility for series elements.
     */
    accessibility: AccessibilityModel;
    /** @private */
    points: AccPoints[];
    /** @private */
    clubbedPoints: AccPoints[];
    /** @private */
    dataModule: Data;
    /** @private */
    sumOfPoints: number;
    /** @private */
    index: number;
    /** @private */
    sumOfClub: number;
    /** @private */
    resultData: Object;
    /** @private */
    lastGroupTo: string;
    /** @private */
    isRectSeries: boolean;
    /** @private */
    clipRect: svgBase.Rect;
    /** @private */
    category: SeriesCategories;
    /** @private */
    rightSidePoints: AccPoints[];
    /** @private */
    leftSidePoints: AccPoints[];
    /**
     * To find the max bounds of the data label to place smart legend
     *
     * @private
     */
    labelBound: svgBase.Rect;
    /**
     * To find the max bounds of the accumulation segment to place smart legend
     *
     * @private
     */
    accumulationBound: svgBase.Rect;
    /**
     * The `triangleSize` property specifies the size of the triangle in the funnel series.
     *
     * @private
     */
    triangleSize: svgBase.Size;
    /**
     * The `neckSize` property specifies the dimensions of the neck in the funnel series.
     *
     * @private
     */
    neckSize: svgBase.Size;
    /** @private */
    accumulation: AccumulationChart;
    /**
     * Option for customizing the border radius.
     *
     * @default 0
     */
    borderRadius: number;
    /**
     * To refresh the Datamanager for series.
     *
     * @private
     * @param {AccumulationChart} accumulation - The accumulation chart control.
     * @param {boolean} render - Specifies whether to render the accumulation chart after refreshing the data.DataManager.
     * @returns {void}
     */
    refreshDataManager(accumulation: AccumulationChart, render: boolean): void;
    /**
     * To get points on dataManager is success.
     *
     * @private
     * @param {Object} e - The data manager result object.
     * @param {Object} e.result - The result of the data manager process.
     * @param {number} e.count - The count of items in the result.
     * @param {AccumulationChart} accumulation - The accumulation chart control.
     * @param {boolean} render - Specifies whether to render the accumulation chart after retrieving the points.
     * @returns {void}
     */
    dataManagerSuccess(e: {
        result: Object;
        count: number;
    }, accumulation: AccumulationChart, render?: boolean): void;
    /**
     * To find points from result data.
     *
     * @private
     * @param {Object} result - The result of the process.
     * @param {AccumulationChart} accumulation - The accumulation chart control.
     * @returns {void}
     */
    getPoints(result: Object, accumulation: AccumulationChart): void;
    generateClubPoint(): AccPoints;
    /**
     * Method to set point index and color.
     *
     * @param {AccPoints} point - The point data.
     * @param {string[]} colors - The array of colors used in the accumulation chart.
     * @returns {void}
     */
    private pushPoints;
    /**
     * Method to find club point.
     *
     * @param {AccPoints} point - The point data.
     * @param {number} clubValue - The club value for accumulation chart.
     * @param {number} index - The index of the point in the data set.
     * @returns {boolean} - false
     */
    private isClub;
    /**
     * Method to find sum of points in the series.
     *
     * @param {Object} result - The result of the process.
     * @returns {void}
     */
    private findSumOfPoints;
    /**
     * Method to set points x, y and text from data source.
     *
     * @param {Object} data - The data containing information for the points.
     * @param {number} i - The index of the current point in the data set.
     * @param {string[]} colors - The array of colors used in the accumulation chart.
     * @param {AccumulationChart} accumulation - The accumulation chart control.
     * @returns {AccPoints} - The point data retrieved from the specified index.
     */
    private setPoints;
    /**
     * Method render the series elements for accumulation chart.
     *
     * @private
     * @param {AccumulationChart} accumulation - The AccumulationChart control.
     * @param {boolean} redraw - Specifies whether to redraw the points.
     * @returns {void}
     */
    renderSeries(accumulation: AccumulationChart, redraw?: boolean): void;
    /**
     * Method render the points elements for accumulation chart series.
     *
     * @param {AccumulationChart} accumulation - The AccumulationChart control.
     * @param {Element} seriesGroup - The group element to contain the point elements.
     * @param {boolean} redraw - Specifies whether to redraw the points.
     * @param {boolean} previouRadius - Specifies the previous radius of the pie when animating the individual series point.
     * @param {boolean} previousCenter - Specifies the previous center of the pie when animating the individual series point.
     * @param {boolean} pointAnimation - Specifies whether the point based animation is enabled.
     * @returns {void}
     */
    private renderPoints;
    /**
     * Method render the datalabel elements for accumulation chart.
     *
     * @param {AccumulationChart} accumulation - The AccumulationChart control.
     * @param {Element} datalabelGroup - The group element to contain the data label elements.
     * @param {boolean} redraw - Specifies whether to redraw the data labels.
     * @returns {void}
     */
    private renderDataLabel;
    /**
     * To find maximum bounds for smart legend placing.
     *
     * @private
     * @param {svgBase.Rect} totalbound - The total bounding rect.
     * @param {svgBase.Rect} bound - The bounding rect to be compared.
     * @returns {void}
     */
    findMaxBounds(totalbound: svgBase.Rect, bound: svgBase.Rect): void;
    /**
     * Finds the maximum width of the labels for legend placement.
     *
     * @private
     * @returns {number} The maximum label width.
     */
    private findMaxLabelWidth;
    /**
     * To set empty point value for null points.
     *
     * @private
     * @param {AccPoints} point - The point to set as empty.
     * @param {number} i - The index of the point in the data set.
     * @param {Object} data - The data object.
     * @returns {void}
     */
    setAccEmptyPoint(point: AccPoints, i: number, data: Object): void;
    /**
     * Updates the data source for the series.
     *
     * @function setData
     * @param {Object} data – Updated data source for the series.
     * @param {number} duration – The duration for the animation.
     * @returns {void}
     */
    setData(data: Object[], duration?: number): void;
    /**
     * Adds a data point to the data source for the series.
     *
     * @function addPoint
     * @param {Object} dataPoint - The data point to be added.
     * @param {number} duration – The duration for the animation.
     * @returns {void}
     */
    addPoint(dataPoint: Object, duration?: number): void;
    /**
     * Removes a data point from the series data source at the specified index.
     *
     * @function removePoint
     * @param {number} index – The index of the data point to be removed from the series.
     * @param {number} duration – The duration for the animation.
     * @returns {void}
     */
    removePoint(index: number, duration?: number): void;
    /**
     * Update the series based on addPoint and removePoint function.
     *
     * @param {Element} seriesGroup - Series group needs to be update.
     * @param {number} maxLabelWidth - Specifies the maximum label width.
     * @param {string} updatePoint - Specifies remove or add point.
     * @param {number} index - specifies point index to remove.
     * @returns {void}
     */
    private updateSeries;
    /**
     * To find point is empty.
     *
     * @param {AccPoints} point - The point to check.
     * @returns {boolean} - True if the point is empty, otherwise false.
     */
    private isEmpty;
}
/**
 * method to get series from index.
 *
 * @private
 * @param {number} index - The index of the series to retrieve.
 * @param {AccumulationSeries[]} visibleSeries - The array of visible series in the chart.
 * @returns {AccumulationSeries} - The series retrieved from the specified index.
 */
export  function getSeriesFromIndex(index: number, visibleSeries: AccumulationSeries[]): AccumulationSeries;
/**
 * method to get point from index.
 *
 * @private
 * @param {number} index - The index of the point to retrieve.
 * @param {AccPoints[]} points - The array of points in the data set.
 * @returns {AccPoints} - The point retrieved from the specified index.
 */
export  function pointByIndex(index: number, points: AccPoints[]): AccPoints;
//node_modules/@syncfusion/ej2-charts/src/accumulation-chart/model/acc-base-model.d.ts
/**
 * Interface for a class AccumulationAnnotationSettings
 */
export interface AccumulationAnnotationSettingsModel {
    /**
     * The content of the annotation, which can also accept the ID of a custom element.
     *
     * @default null
     */
    content?: string;
    /**
     * If `coordinateUnit` is set to `Pixel`, x specifies the pixel value.
     * If `coordinateUnit` is set to `Point`, x specifies the data value.
     *
     * @default '0'
     */
    x?: string | Date | number;
    /**
     * If `coordinateUnit` is set to `Pixel`, y specifies the pixel value.
     * If `coordinateUnit` is set to `Point`, y specifies the data value.
     *
     * @default '0'
     */
    y?: string | number;
    /**
     * Specifies the coordinate units of the annotation.
     * The options are:
     * * Pixel - Renders the annotation based on x and y pixel values.
     * * Point - Renders the annotation based on x and y data values.
     *
     * @default 'Pixel'
     */
    coordinateUnits?: Units;
    /**
     * Specifies the regions of the annotation.
     * The options are:
     * * Chart - Renders the annotation based on chart coordinates.
     * * Series - Renders the annotation based on series coordinates.
     *
     * @default 'Chart'
     */
    region?: Regions;
    /**
     * Specifies the position of the annotation.
     * The options are
     * * Top - Aligns the annotation element to the top side.
     * * Bottom - Aligns the annotation element to the bottom side.
     * * Middle - Aligns the annotation element to the midpoint.
     *
     * @default 'Middle'
     * @deprecated
     */
    verticalAlignment?: Position;
    /**
     * Specifies the alignment of the annotation.
     * The options are:
     * * Near - Aligns the annotation element to the top side.
     * * Far - Aligns the annotation element to the bottom side.
     * * Center - Aligns the annotation element to the midpoint.
     *
     * @default 'Center'
     * @deprecated
     */
    horizontalAlignment?: Alignment;
    /**
     * A description for the annotation that provides additional information about its content for screen readers.
     *
     * @default null
     */
    description?: string;
}
/**
 * Interface for a class AccumulationDataLabelSettings
 */
export interface AccumulationDataLabelSettingsModel {
    /**
     * If set to true, data labels for the series are render. By default, it is set to false.
     *
     * @default false
     */
    visible?: boolean;
    /**
     * If set to true, the data label for zero values in the series will be rendered.
     *
     * @default true
     */
    showZero?: boolean;
    /**
     * Specifies the data source field that contains the data label value.
     *
     * @default null
     */
    name?: string;
    /**
     * The background color of the data label accepts hex and rgba values as valid CSS color strings.
     *
     * @default 'transparent'
     */
    fill?: string;
    /**
     * Specifies the position of the data label relative to the data point.
     * The available options are:
     * * Outside - Places the data label outside the data point, which is typically used to avoid overlap with the data point.
     * * Inside - Places the data label inside the data point, which is useful for displaying labels within the data point.
     *
     * @default 'Inside'
     */
    position?: AccumulationLabelPosition;
    /**
     * Specifies the X-axis rounded corner radius for the data label.
     > Note that `border` values must not be null for this feature to work.
     *
     * @default 5
     */
    rx?: number;
    /**
     * Specifies the Y-axis rounded corner radius for the data label.
     > Note that `border` values must not be null for this feature to work.
     *
     * @default 5
     */
    ry?: number;
    /**
     * Specifies the rotation angle of the data label.
     *
     * @default 0
     */
    angle?: number;
    /**
     * If set to true, the data label will be rotated according to the specified angle.
     *
     * @default false
     */
    enableRotation?: boolean;
    /**
     * Configures the appearance of the border lines with options for width and color properties.
     */
    border?: BorderModel;
    /**
     * Customizes the appearance of the data label text with options for font size, color, style, weight, and family.
     */
    font?: FontModel;
    /**
     * Options to customize the connector line in the series.
     * By default, the connector length for the Pie series is set to '4%'. For other series, it is set to `null`.
     */
    connectorStyle?: ConnectorModel;
    /**
     * Custom template to format the content of the data label.
     * Use `${point.x}` and `${point.y}` as placeholders to display the corresponding data point values.
     *
     * @default null
     * @aspType string
     */
    template?: string | Function;
    /**
     * Used to format the data label, accepting global string formats like `C`, `n1`, `P`, etc.
     * It also supports placeholders, such as `{value}°C`, where `{value}` represent the point data label (e.g., 20°C).
     *
     * @default ''
     */
    format?: string;
    /**
     * Use this property to limit the label width and apply wrapping or trimming.
     *
     * @default 'null'
     */
    maxWidth?: number;
    /**
     * Defines the text overflow behavior for the data label when the text exceeds the bounds.
     * Available options are:
     * * Clip - Truncates the data label when it overflows the bounds.
     * * Ellipsis - Displays an ellipsis ("...") at the end of the data label when it overflows the bounds.
     * Set the maximum width of the label using the `maxWidth` property.
     *
     * @default 'Ellipsis'
     */
    textOverflow?: LabelOverflow;
    /**
     * Defines the text wrap behavior for the data label when it overflows the bounds.
     * Available options are:
     * * Normal - Truncates the data label when it overflows the bounds.
     * * Wrap - Breaks the data label into multiple lines when it is too long to fit on a single line.
     * * AnyWhere - Breaks the data label at any point if there are no otherwise acceptable break points.
     * Set the maximum width of the label using the `maxWidth` property.
     *
     * @default 'Normal'
     */
    textWrap?: TextWrap;
}
/**
 * Interface for a class PieCenter
 */
export interface PieCenterModel {
    /**
     * Specifies the x-coordinate of the center position for the Pie series in the chart.
     *
     * @default '50%'
     */
    x?: string;
    /**
     * Specifies the y-coordinate of the center position for the Pie series in the chart.
     *
     * @default '50%'
     */
    y?: string;
}
/**
 * Interface for a class AccPoints
 */
export interface AccPointsModel {
}
/**
 * Interface for a class AccumulationSeries
 */
export interface AccumulationSeriesModel {
    /**
     * Specifies the data source 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: 'https://services.syncfusion.com/js/production/api/orders'
     * });
     * let query$: data.Query = new data.Query().take(5);
     * let pie$: AccumulationChart = new AccumulationChart({
     * ...
     *     series: [{
     *        dataSource: dataManager,
     *        xName: 'CustomerID',
     *        yName: 'Freight',
     *        query: query
     *    }],
     * ...
     * });
     * pie.appendTo('#Pie');
     * ```
     *
     * @default ''
     */
    dataSource?: Object | data.DataManager;
    /**
     * Specifies a query to select data from the data source. This property is applicable only when the data source is an `ej.data.DataManager`.
     *
     * @default null
     */
    query?: data.Query;
    /**
     * The data source field that contains the x value.
     *
     * @default ''
     */
    xName?: string;
    /**
     * The `name` property allows for setting a name for the series.
     *
     * @default ''
     */
    name?: string;
    /**
     * The data source field that contains the value to be displayed in the tooltip.
     *
     * @default ''
     */
    tooltipMappingName?: string;
    /**
     * The data source field that contains the y value.
     *
     * @default ''
     */
    yName?: string;
    /**
     * If set to true, the series will be visible. If set to false, the series will be hidden.
     *
     * @default true
     */
    visible?: boolean;
    /**
     * Options for customizing the border of the series.
     */
    border?: BorderModel;
    /**
     * Options for customizing the animation of the series.
     * By default, animation is enabled with a duration of 1000 milliseconds (about 1 second). It can be disabled by setting enable to `false`.
     * The following properties are supported in animation:
     * * enable: If set to true, the series is animated on initial loading.
     * * duration: The duration of the animation in milliseconds.
     * * delay: The delay before the animation starts, in milliseconds.
     */
    animation?: AnimationModel;
    /**
     * Specifies the shape of the legend icon for each data point.
     * Available shapes for legend:
     * * Circle - Renders a circular icon.
     * * Rectangle - Renders a rectangular icon.
     * * Triangle - Renders a triangular icon.
     * * Diamond - Renders a diamond-shaped icon.
     * * Cross - Renders a cross-shaped icon.
     * * HorizontalLine - Renders a horizontal line icon.
     * * VerticalLine - Renders a vertical line icon.
     * * Pentagon - Renders a pentagon-shaped icon.
     * * InvertedTriangle - Renders an inverted triangle-shaped icon.
     * * SeriesType - Uses the default icon shape based on the series type.
     * * Image - Renders a custom image for the legend icon.
     *
     * @default 'SeriesType'
     */
    legendShape?: LegendShape;
    /**
     * The URL for the image to be displayed as a legend icon.
     > Note that `legendShape` must be set to `Image`.
     *
     * @default ''
     */
    legendImageUrl?: string;
    /**
     * The data source field that contains the color value of a point.
     * It is applicable for series.
     *
     * @default ''
     */
    pointColorMapping?: string;
    /**
     * When set to true, a different pattern is applied to each slice of the pie.
     *
     * @default false
     */
    applyPattern?: boolean;
    /**
     * The `selectionStyle` property is used to specify custom CSS styles for the selected series or points.
     *
     * @default null
     */
    selectionStyle?: string;
    /**
     * The y-values of the accumulation series that are less than `groupTo` are combined into a single slice named 'others'.
     *
     * @default null
     */
    groupTo?: string;
    /**
     * In the accumulation series, y-values less than `groupMode` are combined into a single slice named 'others'.
     *
     * @default Value
     */
    groupMode?: GroupModes;
    /**
     * The data label property can be used to show the data label and customize its position and styling.
     */
    dataLabel?: AccumulationDataLabelSettingsModel;
    /**
     * The `palettes` array defines a set of colors used for rendering the accumulation chart's points. Each color in the array is applied to each point in order.
     *
     * @default []
     */
    palettes?: string[];
    /**
     * Specifies the starting angle for the series, in degrees.
     *
     * @default 0
     */
    startAngle?: number;
    /**
     * Specifies the ending angle for the series, in degrees.
     *
     * @default null
     */
    endAngle?: number;
    /**
     * Specifies the radius of the pie series as a percentage of the chart's size.
     *
     * @default null
     */
    radius?: string;
    /**
     * When the `innerRadius` value is greater than 0%, a donut shape will appear in the pie series. It accepts only percentage values.
     *
     * @default '0'
     */
    innerRadius?: string;
    /**
     * Specifies the type of series in the accumulation chart.
     *
     * @default 'Pie'
     */
    type?: AccumulationType;
    /**
     * Controls whether the tooltip for the accumulation chart series is enabled or disabled. Set to true to display tooltips on hover, or false to hide them.
     *
     * @default true
     */
    enableTooltip?: boolean;
    /**
     * If set to true, series points will explode on mouse click or touch.
     *
     * @default false
     */
    explode?: boolean;
    /**
     * Specifies the distance of the point from the center, which can be defined in both pixels and percentage.
     *
     * @default '30%'
     */
    explodeOffset?: string;
    /**
     * If set to true, all the points in the series will explode on load.
     *
     * @default false
     */
    explodeAll?: boolean;
    /**
     * Index of the point in the series to be exploded on initial load.
     *
     * @default null
     *
     * @aspDefaultValueIgnore
     *
     * @blazorDefaultValue Double.NaN
     */
    explodeIndex?: number;
    /**
     * Customization options for the appearance of empty points in the series, where `null` or `undefined` values are considered as empty points.
     */
    emptyPointSettings?: EmptyPointSettingsModel;
    /**
     * Defines the distance between the segments of a funnel or pyramid series.
     * The range is from 0 to 1.
     *
     * @default 0
     */
    gapRatio?: number;
    /**
     * Defines the width of the funnel or pyramid series relative to the chart area.
     *
     * @default '80%'
     */
    width?: string;
    /**
     * Defines the height of the funnel or pyramid series relative to the chart area.
     *
     * @default '80%'
     */
    height?: string;
    /**
     * Defines the width of the funnel neck relative to the chart area.
     *
     * @default '20%'
     */
    neckWidth?: string;
    /**
     * Defines the height of the funnel neck relative to the chart area.
     *
     * @default '20%'
     */
    neckHeight?: string;
    /**
     * Defines how the values are represented, either through the height or surface area of the segments.
     *
     * @default 'Linear'
     */
    pyramidMode?: PyramidModes;
    /**
     * Defines the rendering mode for the funnel chart.
     * Available options are:
     * * Standard - Displays a funnel shape that narrows down to a point.
     * * Trapezoid - Displays a funnel shape with parallel sides near the top.
     *
     * @default 'Standard'
     */
    funnelMode?: FunnelModes;
    /**
     * Sets the opacity of the series, with a value between 0 and 1 where 0 is fully transparent and 1 is fully opaque.
     *
     * @default 1.
     */
    opacity?: number;
    /**
     * Defines the pattern of dashes and gaps for the series border.
     *
     * @default '0'
     */
    dashArray?: string;
    /**
     * Options to improve accessibility for series elements.
     */
    accessibility?: AccessibilityModel;
    /**
     * Option for customizing the border radius.
     *
     * @default 0
     */
    borderRadius?: number;
    /**
     * Updates the data source for the series.
     *
     * @function setData
     * @param {Object} data – Updated data source for the series.
     * @param {number} duration – The duration for the animation.
     * @returns {void}
     */
    setData?(data: Object[], duration?: number) : void
    /**
     * Adds a data point to the data source for the series.
     *
     * @function addPoint
     * @param {Object} dataPoint - The data point to be added.
     * @param {number} duration – The duration for the animation.
     * @returns {void}
     */
    addPoint?(dataPoint: Object, duration?: number) : void
    /**
     * Removes a data point from the series data source at the specified index.
     *
     * @function removePoint
     * @param {number} index – The index of the data point to be removed from the series.
     * @param {number} duration – The duration for the animation.
     * @returns {void}
     */
    removePoint?(index: number, duration?: number) : 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
     * @param {AccumulationChart} control - The accumulation chart control.
     */
    constructor(control: AccumulationChart);
    /**
     * Method to render the annotation for accumulation chart.
     *
     * @param {Element} element - Annotation element.
     * @returns {void}
     * @private
     */
    renderAnnotations(element: Element): void;
    /**
     * Get module name.
     *
     * @returns {string} - Returns the module name.
     */
    protected getModuleName(): string;
    /**
     * To destroy the annotation.
     *
     * @returns {void}
     *
     * @private
     */
    destroy(): void;
}
 }
export namespace circulargauge { 

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

//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;
    readonly items: (ZipArchiveItem | string)[];
    /**
     * 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;
    open(base64String: string): void;
    readCentralDirectoryDataAndExtractItems(stream: Stream): void;
    /**
     * 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;
    static findValueFromEnd(stream: Stream, value: number, maxCount: number): number;
    static ReadInt32(stream: Stream): number;
    static ReadInt16(stream: Stream): number;
    static ReadUInt16(stream: Stream): number;
}
export  class ZipArchiveItemHelper {
    compressedStream: Uint8Array;
    name: string;
    unCompressedStream: Uint8Array;
    headerSignature: number;
    private options;
    private compressionMethod;
    checkCrc: boolean;
    private crc32;
    private compressedSize;
    private originalSize;
    private localHeaderOffset;
    private externalAttributes;
    readCentralDirectoryData(stream: Stream): void;
    readData(stream: Stream, checkCrc: boolean): void;
    decompressData(): void;
    private decompressDataOld;
    private readLocalHeader;
    private readCompressedData;
}
/**
 * Class represent unique ZipArchive item
 * ```typescript
 * let archiveItem = new ZipArchiveItem(archive, 'directoryName\fileName.txt');
 * ```
 */
export  class ZipArchiveItem {
    data: Blob | ArrayBuffer;
    private decompressedStream;
    private fileName;
    readonly dataStream: Blob | ArrayBuffer;
    /**
     * 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';
//node_modules/@syncfusion/ej2-compression/src/utils.d.ts
export  class Utils {
    private static reverseBits;
    static huffCodeLengthOrders: number[];
    static bitReverse(value: number): number;
    static bitConverterToInt32(value: Uint8Array, index: number): number;
    static bitConverterToInt16(value: Uint8Array, index: number): number;
    static bitConverterToUInt32(value: number): number;
    static bitConverterToUInt16(value: Uint8Array, index: number): number;
    static bitConverterUintToInt32(value: number): number;
    static bitConverterInt32ToUint(value: number): number;
    static bitConverterInt32ToInt16(value: number): number;
    static byteToString(value: Uint8Array): string;
    static byteIntToString(value: Int8Array): string;
    static arrayCopy(source: Uint8Array, sourceIndex: number, destination: Uint8Array, destinationIndex: number, dataToCopy: number): void;
    static mergeArray(arrayOne: Uint8Array, arrayTwo: Uint8Array): Uint8Array;
    /**
     * @private
     */
    static encodedString(input: string): Uint8Array;
}
//node_modules/@syncfusion/ej2-compression/src/decompressor-huffman-tree.d.ts
export  class DecompressorHuffmanTree {
    private static MAX_BITLEN;
    private m_Tree;
    static m_LengthTree: DecompressorHuffmanTree;
    static m_DistanceTree: DecompressorHuffmanTree;
    constructor(lengths: Uint8Array);
    static init(): void;
    private prepareData;
    private treeFromData;
    private buildTree;
    unpackSymbol(input: CompressedStreamReader): number;
    static readonly lengthTree: DecompressorHuffmanTree;
    static readonly distanceTree: DecompressorHuffmanTree;
}
//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/compression-reader.d.ts
export  class CompressedStreamReader {
    private static readonly DEF_REVERSE_BITS;
    defaultHuffmanDynamicTree: number[];
    private DEF_HEADER_METHOD_MASK;
    private DEF_HEADER_INFO_MASK;
    private DEF_HEADER_FLAGS_FCHECK;
    private DEF_HEADER_FLAGS_FDICT;
    private DEF_HEADER_FLAGS_FLEVEL;
    private static readonly DEF_HUFFMAN_DYNTREE_REPEAT_MINIMUMS;
    private static readonly DEF_HUFFMAN_DYNTREE_REPEAT_BITS;
    private DEF_MAX_WINDOW_SIZE;
    private static readonly DEF_HUFFMAN_REPEAT_LENGTH_BASE;
    private static readonly DEF_HUFFMAN_REPEAT_LENGTH_EXTENSION;
    private static readonly DEF_HUFFMAN_REPEAT_DISTANCE_BASE;
    private static readonly DEF_HUFFMAN_REPEAT_DISTANCE_EXTENSION;
    private DEF_HUFFMAN_REPEATE_MAX;
    private DEF_HUFFMAN_END_BLOCK;
    private DEF_HUFFMAN_LENGTH_MINIMUMCODE;
    private DEF_HUFFMAN_LENGTH_MAXIMUMCODE;
    private DEF_HUFFMAN_DISTANCE_MAXIMUMCODE;
    private mInputStream;
    private mCheckSum;
    private tBuffer;
    mBuffer: number;
    private mBufferedBits;
    private mTempBuffer;
    private mBlockBuffer;
    private mbNoWrap;
    private mWindowSize;
    private mCurrentPosition;
    private mDataLength;
    private mbReadingUncompressed;
    private mUncompressedDataLength;
    private mbCanReadNextBlock;
    private mbCanReadMoreData;
    private mCurrentLengthTree;
    private mCurrentDistanceTree;
    private mbCheckSumRead;
    /**
     * Initializes compressor and writes ZLib header if needed.
     * @param {boolean} noWrap - optional if true, ZLib header and checksum will not be written.
     */
    peekBits(count: number): number;
    protected fillBuffer(): void;
    skipBits(count: number): void;
    readonly availableBits: number;
    constructor(stream: Uint8Array, bNoWrap: boolean);
    protected readZLibHeader(): void;
    protected readInt16(): number;
    protected readBits(count: number): number;
    protected decodeBlockHeader(): boolean;
    protected skipToBoundary(): void;
    protected readInt16Inverted(): number;
    protected decodeDynamicHeader(lengthTree: DecompressorHuffmanTree, distanceTree: DecompressorHuffmanTree): any;
    private readHuffman;
    read(buffer: Uint8Array, offset: number, length: number): number;
    protected readPackedBytes(buffer: Uint8Array, offset: number, length: number): number;
    protected readInt32(): number;
    protected checksumUpdate(buffer: Uint8Array, offset: number, length: number): void;
}
export  class Stream {
    inputStream: Uint8Array;
    readonly length: number;
    position: number;
    constructor(input: Uint8Array);
    read(buffer: Uint8Array, start: number, length: number): number;
    readByte(): number;
    write(inputBuffer: Uint8Array, offset: number, count: number): void;
    toByteArray(): Uint8Array;
}
//node_modules/@syncfusion/ej2-compression/src/checksum-calculator.d.ts
export  class ChecksumCalculator1 {
    private static DEF_CHECKSUM_BIT_OFFSET;
    private static DEF_CHECKSUM_BASE;
    private static DEF_CHECKSUM_ITERATIONSCOUNT;
    static ChecksumUpdate(checksum: number, buffer: Uint8Array, offset: number, length: number): void;
    static ChecksumGenerate(buffer: Uint8Array, offset: number, length: number): number;
}
 }
export namespace data { 

//node_modules/@syncfusion/ej2-data/src/util.d.ts
/**
 * Data manager common utility methods.
 *
 * @hidden
 */
export  class DataUtil {
    /**
     * Specifies the value which will be used to adjust the date value to server timezone.
     *
     * @default null
     */
    static serverTimezoneOffset: number;
    /**
     * Species whether are not to be parsed with serverTimezoneOffset value.
     *
     * @hidden
     */
    static timeZoneHandling: boolean;
    /**
     * Returns the value by invoking the provided parameter function.
     * If the paramater is not of type function then it will be returned as it is.
     *
     * @param {Function|string|string[]|number} value
     * @param {Object} inst?
     * @param 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 not ends with given string.
     *
     * @param  {string} input
     * @param  {string} substr
     */
    static notEndsWith(input: string, substr: string): boolean;
    /**
     * Returns true if the input string starts with given string.
     *
     * @param {string} str
     * @param {string} startstr
     * @param input
     * @param start
     */
    static startsWith(input: string, start: string): boolean;
    /**
     * Returns true if the input string not starts with given string.
     *
     * @param {string} str
     * @param {string} startstr
     * @param input
     * @param start
     */
    static notStartsWith(input: string, start: string): boolean;
    /**
     * Returns true if the input string pattern(wildcard) matches with given string.
     *
     * @param {string} str
     * @param {string} startstr
     * @param input
     * @param pattern
     */
    static wildCard(input: string, pattern: string): boolean;
    /**
     * Returns true if the input string pattern(like) matches with given string.
     *
     * @param {string} str
     * @param {string} startstr
     * @param input
     * @param pattern
     */
    static like(input: string, pattern: 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?
     * @param field
     * @param aggregates
     * @param level
     * @param groupDs
     * @param format
     * @param isLazyLoad
     */
    static group(jsonArray: Object[], field?: string, aggregates?: Object[], level?: number, groupDs?: Object[], format?: Function, isLazyLoad?: boolean): Object[];
    /**
     * It is used to categorize the multiple items based on a specific field in jsonArray.
     * The hierarchical queries are commonly required when you use foreign key binding.
     *
     * @param {string} fKey
     * @param {string} from
     * @param {Object[]} source
     * @param {Group} lookup?
     * @param {string} pKey?
     * @param lookup
     * @param 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
     * @param error
     */
    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?
     * @param fields
     * @param 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[]} dataSource - 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(dataSource: Object[], field: string, comparer: Function): Object[];
    static ignoreDiacritics(value: string | number | Date | boolean): string | Object;
    static ignoreDiacriticsForArrays(valueArray: Array<string | number | Date>): Array<string | number>;
    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?
     * @param param1
     * @param 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 fieldName
     * @param {boolean} requiresCompleteRecord
     * @returns Object[]
     * * distinct array of objects is return when requiresCompleteRecord set as true.
     * @hidden
     */
    static distinct(json: Object[], fieldName: string, requiresCompleteRecord?: boolean): Object[];
    /**
     * @hidden
     */
    static dateParse: DateParseOption;
    /**
     * Process the given records based on the datamanager string.
     *
     * @param {string} datamanager
     * @param dm
     * @param {Object[]} records
     */
    static processData(dm: GraphQLParams, records: Object[]): ReturnType;
    private static prepareQuery;
    private static getPredicate;
}
/**
 * @hidden
 */
export interface GraphQLParams {
    skip?: number;
    take?: number;
    sorted?: {
        name: string;
        direction: string;
    }[];
    group?: string[];
    table?: string;
    select?: string[];
    where?: string;
    search?: string;
    requiresCounts?: boolean;
    aggregates?: Aggregates[];
    params?: string;
}
/**
 * @hidden
 */
export interface Aggregates {
    sum?: Function;
    average?: Function;
    min?: Function;
    max?: Function;
    truecount?: Function;
    falsecount?: Function;
    count?: Function;
    type?: string;
    field?: string;
}
/**
 * @hidden
 */
export interface Operators {
    equal?: Function;
    notequal?: Function;
    lessthan?: Function;
    greaterthan?: Function;
    lessthanorequal?: Function;
    greaterthanorequal?: Function;
    contains?: Function;
    doesnotcontain?: Function;
    isnotnull?: Function;
    isnull?: Function;
    startswith?: Function;
    doesnotstartwith?: Function;
    like?: Function;
    isempty?: Function;
    isnotempty?: Function;
    wildcard?: Function;
    endswith?: Function;
    doesnotendwith?: Function;
    processSymbols?: Function;
    processOperator?: Function;
    in?: Function;
    notin?: Function;
}
/**
 * @hidden
 */
export interface Group {
    GroupGuid?: string;
    level?: number;
    childLevels?: number;
    records?: Object[];
    key?: string;
    count?: number;
    items?: Object[];
    aggregates?: Object;
    field?: string;
    result?: Object;
}
/**
 * @hidden
 */
export interface ParseOption {
    parseJson?: Function;
    iterateAndReviveArray?: Function;
    iterateAndReviveJson?: Function;
    jsonReviver?: (key: string, value: Object) => Object;
    isJson?: Function;
    isGuid?: Function;
    replacer?: Function;
    jsonReplacer?: Function;
    arrayReplacer?: Function;
    jsonDateReplacer?: (key: string, value: any) => any;
}
/**
 * @hidden
 */
export interface DateParseOption {
    addSelfOffset?: (input: Date) => Date;
    toUTC?: (input: Date) => Date;
    toTimeZone?: (input: Date, offset?: number, utc?: boolean) => Date;
    toLocalTime?: (input: Date) => string;
}
//node_modules/@syncfusion/ej2-data/src/schema.d.ts
export  const schema = "input Sort {\n    name: String!\n    direction: String!\n}\n\ninput Aggregate {\n    field: String!\n    type: String!\n}\n\ninput DataManager {\n    skip: Int\n    take: Int\n    sorted: [Sort]\n    group: [String]\n    table: String\n    select: [String]\n    where: String\n    search: String\n    requiresCounts: Boolean,\n    aggregates: [Aggregate],\n    params: String\n}";
//node_modules/@syncfusion/ej2-data/src/query.d.ts
/**
 * Query class is used to build query which is used by the DataManager to communicate with datasource.
 */
export  class Query {
    /** @hidden */
    queries: QueryOptions[];
    /** @hidden */
    key: string;
    /** @hidden */
    fKey: string;
    /** @hidden */
    fromTable: string;
    /** @hidden */
    lookups: string[];
    /** @hidden */
    expands: Object[];
    /** @hidden */
    sortedColumns: Object[];
    /** @hidden */
    groupedColumns: Object[];
    /** @hidden */
    subQuerySelector: Function;
    /** @hidden */
    subQuery: Query;
    /** @hidden */
    isChild: boolean;
    /** @hidden */
    params: ParamOption[];
    /** @hidden */
    lazyLoad: {
        key: string;
        value: object | boolean;
    }[];
    /** @hidden */
    isCountRequired: boolean;
    /** @hidden */
    dataManager: DataManager;
    /** @hidden */
    distincts: string[];
    /** @hidden */
    readonly moduleName: string;
    /**
     * Constructor for Query class.
     *
     * @param {string|string[]} from?
     * @param 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;
    /**
     * @param fields
     * @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.
     * @param ignoreAccent
     * @param matchCase
     */
    where(fieldName: string | Predicate | Predicate[], operator?: string, value?: string | Date | number | boolean | null, ignoreCase?: boolean, ignoreAccent?: boolean, matchCase?: 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.
     * @param ignoreAccent
     */
    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.
     * @param isFromGroup
     */
    sortBy(fieldName: string | string[], comparer?: string | Function, isFromGroup?: boolean): Query;
    /**
     * Sort the data with given sort criteria.
     * By default, sort direction is ascending.
     *
     * @param {string|string[]} fieldName - Defines the single or collection of column fields.
     * @param {string|Function} comparer - Defines the sort direction or custom sort comparer function.
     * @param isFromGroup
     * @param {string} direction - Defines the sort direction .
     */
    sortByForeignKey(fieldName: string | string[], comparer?: string | Function, isFromGroup?: boolean, direction?: string): Query;
    /**
     * Sorts data in descending order.
     *
     * @param  {string} fieldName - Defines the column field.
     */
    sortByDesc(fieldName: string): Query;
    /**
     * Groups data with the given field name.
     *
     * @param {string} fieldName - Defines the column field.
     * @param fn
     * @param format
     */
    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[] | (string | number | boolean | Date)[] | null;
    /** @hidden */
    condition: string;
    /** @hidden */
    ignoreCase: boolean;
    /** @hidden */
    matchCase: boolean;
    /** @hidden */
    ignoreAccent: boolean;
    /** @hidden */
    isComplex: boolean;
    /** @hidden */
    predicates: Predicate[];
    /** @hidden */
    comparer: Function;
    [x: string]: string | number | Date | boolean | Predicate | Predicate[] | Function | (string | number | boolean | Date)[] | null;
    /**
     * Constructor for Predicate class.
     *
     * @param {string|Predicate} field
     * @param {string} operator
     * @param {string | number | Date | boolean | Predicate | Predicate[] | (string | number | boolean | Date)[] | null} value
     * @param {boolean=false} ignoreCase
     * @param ignoreAccent
     * @param {boolean} matchCase
     * @hidden
     */
    constructor(field: string | Predicate, operator: string, value: string | number | Date | boolean | Predicate | Predicate[] | (string | number | boolean | Date)[] | null, ignoreCase?: boolean, ignoreAccent?: boolean, matchCase?: 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.
     * @param ignoreCase
     * @param ignoreAccent
     */
    and(field: string | Predicate, operator?: string, value?: string | number | Date | boolean | null, ignoreCase?: boolean, ignoreAccent?: boolean): Predicate;
    /**
     * Adds n-number of new predicates on existing predicate with “or” condition.
     *
     * @param  {Object[]} args - Defines the collection of predicates.
     */
    static or(...args: Object[]): Predicate;
    /**
     * Adds new predicate on existing predicate with “or” condition.
     *
     * @param {string} field - Defines the column field.
     * @param {string} operator - Defines the operator how to filter data.
     * @param {string} value - Defines the values to match with data.
     * @param {boolean} ignoreCase? - If ignore case set to false, then filter data with exact match or else
     * filter data with case insensitive.
     * @param ignoreCase
     * @param ignoreAccent
     */
    or(field: string | Predicate, operator?: string, value?: string | number | Date | boolean | null, ignoreCase?: boolean, ignoreAccent?: boolean): Predicate;
    /**
     * Adds n-number of new predicates on existing predicate with “and not” condition.
     *
     * @param  {Object[]} args - Defines the collection of predicates.
     */
    static ornot(...args: Object[]): Predicate;
    /**
     * Adds new predicate on existing predicate with “and not” 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.
     * @param ignoreCase
     * @param ignoreAccent
     */
    ornot(field: string | Predicate, operator?: string, value?: string | number | Date | boolean | null, ignoreCase?: boolean, ignoreAccent?: boolean): Predicate;
    /**
     * Adds n-number of new predicates on existing predicate with “and not” condition.
     *
     * @param  {Object[]} args - Defines the collection of predicates.
     */
    static andnot(...args: Object[]): Predicate;
    /**
     * Adds new predicate on existing predicate with “and not” 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.
     * @param ignoreCase
     * @param ignoreAccent
     */
    andnot(field: string | Predicate, operator?: string, value?: string | number | Date | boolean | null, ignoreCase?: boolean, ignoreAccent?: boolean): Predicate;
    /**
     * Converts plain JavaScript object to Predicate object.
     *
     * @param  {Predicate[]|Predicate} json - Defines single or collection of Predicate.
     */
    static fromJson(json: Predicate[] | Predicate): Predicate[];
    /**
     * Validate the record based on the predicates.
     *
     * @param  {Object} record - Defines the datasource record.
     */
    validate(record: Object): boolean;
    /**
     * Converts predicates to plain JavaScript.
     * This method is uses Json stringify when serializing Predicate object.
     */
    toJson(): Object;
    private static combinePredicates;
    private static combine;
    private static fromJSONData;
}
/**
 * @hidden
 */
export interface QueryOptions {
    fn?: string;
    e?: QueryOptions;
    fieldNames?: string | string[];
    operator?: string;
    searchKey?: string | number | boolean;
    ignoreCase?: boolean;
    ignoreAccent?: boolean;
    comparer?: string | Function;
    format?: string | base.NumberFormatOptions | base.DateFormatOptions;
    direction?: string;
    pageIndex?: number;
    pageSize?: number;
    start?: number;
    end?: number;
    nos?: number;
    field?: string;
    fieldName?: string;
    type?: Object;
    name?: string | string[];
    filter?: Object;
    key?: string;
    value?: string | number | Date | boolean | Predicate | Predicate[] | (string | number | boolean | Date)[];
    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/manager.d.ts
/**
 * DataManager is used to manage and manipulate relational data.
 */
export  class DataManager {
    /** @hidden */
    adaptor: AdaptorOptions;
    /** @hidden */
    defaultQuery: Query;
    /** @hidden */
    dataSource: DataOptions;
    /** @hidden */
    dateParse: boolean;
    /** @hidden */
    timeZoneHandling: boolean;
    /** @hidden */
    ready: Promise<Response>;
    /** @hidden */
    readonly moduleName: string;
    private isDataAvailable;
    private persistQuery;
    private isInitialLoad;
    private requests;
    private fetchDeffered;
    private fetchReqOption;
    private guidId;
    private previousCacheQuery;
    private isEnableCache;
    private cacheQuery;
    /** @hidden */
    currentViewData: ReturnOption;
    /**
     * Constructor for DataManager class
     *
     * @param {DataOptions|JSON[]} dataSource?
     * @param {Query} query?
     * @param {AdaptorOptions|string} adaptor?
     * @param dataSource
     * @param query
     * @param adaptor
     * @hidden
     */
    constructor(dataSource?: DataOptions | JSON[] | Object[], query?: Query, adaptor?: AdaptorOptions | string);
    /**
     * Get the queries maintained in the persisted state.
     * @param {string} id - The identifier of the persisted query to retrieve.
     * @returns {object} The persisted data object.
     */
    getPersistedData(id?: string): object;
    /**
    * Set the queries to be maintained in the persisted state.
    * @param {Event} e - The event parameter that triggers the setPersistData method.
    * @param {string} id - The identifier of the persisted query to set.
    * @param {object} persistData - The data to be persisted.
    * @returns {void} .
    */
    setPersistData(e: Event, id?: string, persistData?: object): void;
    private setPersistQuery;
    /**
     * 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<Response>;
    protected getQueryRequest(query: Query): Requests;
    private generateKey;
    private processQuery;
    private static getDeferedArgs;
    private static nextTick;
    private extendRequest;
    private makeRequest;
    /**
     * @param {Error} e - specifies the string
     * @param {Deferred} deffered - specifies the deffered
     * @param {RequestOptions} args - specifies the RequestOptions
     * @hidden
     */
    dataManagerFailure(e: Error, deffered: Deferred, args?: RequestOptions): void;
    private afterReponseRequest;
    /**
     * Processes the middleware stack after receiving the response.
     * @param {Response} response - The response object.
     * @returns {Response} - The potentially modified response.
     */
    applyPostRequestMiddlewares(response: string | Object): Promise<Object>;
    /**
     * Registers a new middleware in the DataManager.
     * @param {Middleware} middleware - The middleware instance to register.
     * @returns {void}
     */
    useMiddleware(request: Object): Promise<Object>;
    /**
     * Processes the middleware stack before sending the request.
     * @param {Request} request - The request object.
     * @returns {Request} - The potentially modified request.
     */
    applyPreRequestMiddlewares(request: Object): Promise<Object>;
    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.
     * @param original
     */
    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.
     * @param position
     */
    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.
     * @param original
     */
    update(keyField: string, value: Object, tableName?: string | Query, query?: Query, original?: Object): Object | Promise<Object>;
    private isCustomDataAdaptor;
    private isGraphQLAdaptor;
    private successFunc;
    private failureFunc;
    private dofetchRequest;
    clearPersistence(): void;
}
/**
 * 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;
    enableCache?: boolean;
    timeTillExpiration?: number;
    cachingPageSize?: number;
    enableCaching?: boolean;
    requestType?: string;
    key?: string;
    crossDomain?: boolean;
    jsonp?: string;
    dataType?: string;
    offline?: boolean;
    requiresFormat?: boolean;
    timeZoneHandling?: boolean;
    id?: string;
    enablePersistence?: boolean;
    ignoreOnPersist?: string[];
}
/**
 * @hidden
 */
export interface ReturnOption {
    result?: ReturnOption;
    count?: number;
    url?: string;
    aggregates?: Aggregates;
}
/**
 * @hidden
 */
export interface FetchOption {
    onSuccess?: Function;
    onFailure?: Function;
    data?: string;
}
/**
 * @hidden
 */
export interface RequestOptions {
    xhr?: Request;
    count?: number;
    result?: ReturnOption;
    request?: base.Fetch;
    aggregates?: Aggregates;
    actual?: Object;
    virtualSelectRecords?: Object;
    error?: string | Error;
}
/**
 * @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/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?
     * @param 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 {Request} xhr?
     * @param ds
     * @param query
     * @param xhr
     * @returns Object
     */
    processResponse(data: Object, ds?: DataOptions, query?: Query, xhr?: Request): Object;
    /**
     * Specifies the type of adaptor.
     *
     * @default Adaptor
     */
    type: Object;
}
/**
 * JsonAdaptor is used to process JSON data. It contains methods to process the given JSON data based on the queries.
 *
 * @hidden
 */
export  class JsonAdaptor extends Adaptor {
    /**
     * Process the JSON data based on the provided queries.
     *
     * @param  {DataManager} dataManager
     * @param  {Query} query
     * @returns Object
     */
    processQuery(dataManager: DataManager, query: Query): Object;
    /**
     * Perform lazy load grouping in JSON array based on the given query and lazy load details.
     *
     * @param  {LazyLoadGroupArgs} args
     */
    lazyLoadGroup(args: LazyLoadGroupArgs): {
        result: Object[];
        count: number;
    };
    private formGroupResult;
    /**
     * Separate the aggregate query from the given queries
     *
     * @param  {Query} query
     */
    getAggregate(query: Query): Object[];
    /**
     * Performs batch update in the JSON array which add, remove and update records.
     *
     * @param  {DataManager} dm
     * @param  {CrudOptions} changes
     * @param  {RemoteArgs} e
     */
    batchRequest(dm: DataManager, changes: CrudOptions, e: RemoteArgs): CrudOptions;
    /**
     * Performs filter operation with the given data and where query.
     *
     * @param {Object[]} ds
     * @param {{validate:Function}} e
     * @param e.validate
     */
    onWhere(ds: Object[], e: {
        validate: Function;
    }): Object[];
    /**
     * Returns aggregate function based on the aggregate type.
     *
     * @param {Object[]} ds
     * @param e
     * @param {string} } type
     * @param e.field
     * @param e.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 e
     * @param {Object} b
     * @param e.comparer
     * @param e.fieldName
     * @param query
     * @param isLazyLoadGroupSort
     */
    onSortBy(ds: Object[], e: {
        comparer: (a: Object, b: Object) => number;
        fieldName: string;
    }, query: Query, isLazyLoadGroupSort?: boolean): 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 e
     * @param {number} } pageIndex
     * @param e.pageSize
     * @param {Query} query
     * @param e.pageIndex
     */
    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 e
     * @param {number} } end
     * @param e.start
     * @param e.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
     * @param e.nos
     */
    onTake(ds: Object[], e: {
        nos: number;
    }): Object[];
    /**
     * Skips the given count of records from the data source.
     *
     * @param {Object[]} ds
     * @param {{nos:number}} e
     * @param e.nos
     */
    onSkip(ds: Object[], e: {
        nos: number;
    }): Object[];
    /**
     * Selects specified columns from the data source.
     *
     * @param {Object[]} ds
     * @param {{fieldNames:string}} e
     * @param e.fieldNames
     */
    onSelect(ds: Object[], e: {
        fieldNames: string[] | Function;
    }): Object[];
    /**
     * Inserts new record in the table.
     *
     * @param {DataManager} dm
     * @param {Object} data
     * @param tableName
     * @param query
     * @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?
     * @param 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?
     * @param 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?
     * @param 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 request
     * @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 {Request} xhr?
     * @param {Object} request?
     * @param {CrudOptions} changes?
     * @param ds
     * @param query
     * @param xhr
     * @param request
     * @param changes
     */
    processResponse(data: DataResult, ds?: DataOptions, query?: Query, xhr?: Request, request?: Object, changes?: CrudOptions): DataResult;
    protected formRemoteGroupedData(data: Group[], level: number, childLevel: number): Group[];
    private getGroupedRecords;
    /**
     * Add the group query to the adaptor`s option.
     *
     * @param  {Object[]} e
     * @returns void
     */
    onGroup(e: QueryOptions[]): QueryOptions[];
    /**
     * Add the aggregate query to the adaptor`s option.
     *
     * @param  {Aggregates[]} e
     * @returns void
     */
    onAggregates(e: Aggregates[]): void;
    /**
     * Prepare the request body based on the newly added, removed and updated records.
     * The result is used by the batch request.
     *
     * @param {DataManager} dm
     * @param {CrudOptions} changes
     * @param {Object} e
     * @param query
     * @param original
     */
    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  {Request} request
     * @param  {base.Fetch} settings?
     * @returns void
     */
    beforeSend(dm: DataManager, request: Request, settings?: base.Fetch): 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
     * @param query
     */
    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
     * @param query
     */
    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
     * @param query
     */
    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?
     * @param predicate
     * @param query
     * @param 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?
     * @param predicate
     * @param query
     * @param 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?
     * @param query
     * @param 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 e
     * @param {string} operator
     * @param {string} key
     * @param {boolean} } ignoreCase
     * @param e.fields
     * @param e.operator
     * @param e.key
     * @param e.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 {Request} request
     * @param {base.Fetch} settings?
     * @param settings
     */
    beforeSend(dm: DataManager, request: Request, settings?: base.Fetch): void;
    /**
     * Returns the data from the query processing.
     *
     * @param {DataResult} data
     * @param {DataOptions} ds?
     * @param {Query} query?
     * @param {Request} xhr?
     * @param {base.Fetch} request?
     * @param {CrudOptions} changes?
     * @param ds
     * @param query
     * @param xhr
     * @param request
     * @param changes
     * @returns aggregateResult
     */
    processResponse(data: DataResult, ds?: DataOptions, query?: Query, xhr?: Request, request?: base.Fetch, changes?: CrudOptions): Object;
    /**
     * Converts the request object to query string.
     *
     * @param {Object} req
     * @param request
     * @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?
     * @param 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?
     * @param 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?
     * @param tableName
     * @param query
     * @param original
     * @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
     * @param query
     * @param original
     * @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
     * @param dm
     * @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
     * @param dm
     */
    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
     * @param dm
     * @param org
     */
    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?: Request, request?: base.Fetch, 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?
     * @param predicate
     * @param query
     * @param requiresCast
     */
    onPredicate(predicate: Predicate, query: Query | boolean, requiresCast?: boolean): string;
    /**
     * Generate query string based on the multiple search criteria from query.
     *
     * @param e
     * @param {string} operator
     * @param {string} key
     * @param {boolean} } ignoreCase
     * @param e.fields
     * @param e.operator
     * @param e.key
     * @param e.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
     * @param e.selects
     * @param e.expands
     */
    onExpand(e: {
        selects: string[];
        expands: string[];
    }): string;
    private expandQueryIndex;
    /**
     * Returns the groupby query string.
     *
     * @param {string} e
     * @param distinctFields
     */
    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  {Request} request
     * @param  {base.Fetch} settings
     * @returns void
     */
    beforeSend(dm: DataManager, request: Request, settings: base.Fetch): void;
    /**
     * Returns the data from the query processing.
     *
     * @param {DataResult} data
     * @param {DataOptions} ds?
     * @param {Query} query?
     * @param {Request} xhr?
     * @param {base.Fetch} request?
     * @param {CrudOptions} changes?
     * @param ds
     * @param query
     * @param xhr
     * @param request
     * @param changes
     * @returns aggregateResult
     */
    processResponse(data: DataResult, ds?: DataOptions, query?: Query, xhr?: Request, request?: base.Fetch, 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?
     * @param 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?
     * @param 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?
     * @param tableName
     */
    update(dm: DataManager, keyField: string, value: Object, tableName?: string): Object;
    batchRequest(dm: DataManager, changes: CrudOptions, e: RemoteArgs): Object;
    /**
     * Method will trigger before send the request to server side.
     * Used to set the custom header or modify the request options.
     *
     * @param  {DataManager} dm
     * @param  {Request} request
     * @param  {base.Fetch} settings
     * @returns void
     */
    beforeSend(dm: DataManager, request: Request, settings: base.Fetch): void;
    /**
     * Returns the data from the query processing.
     *
     * @param {DataResult} data
     * @param {DataOptions} ds?
     * @param {Query} query?
     * @param {Request} xhr?
     * @param {base.Fetch} request?
     * @param {CrudOptions} changes?
     * @param ds
     * @param query
     * @param xhr
     * @param request
     * @param changes
     * @returns aggregateResult
     */
    processResponse(data: DataResult, ds?: DataOptions, query?: Query, xhr?: Request, request?: base.Fetch, 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?
     * @param 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?: Request, request?: base.Fetch, 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
     * @param query
     * @param original
     */
    batchRequest(dm: DataManager, changes: CrudOptions, e: RemoteArgs, query?: Query, original?: Object): Object;
    addParams(options: {
        dm: DataManager;
        query: Query;
        params: ParamOption[];
        reqParams: {
            [key: string]: Object;
        };
    }): void;
    /**
     * 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  {Request} request
     * @param  {base.Fetch} settings?
     * @returns void
     */
    beforeSend(dm: DataManager, request: Request, settings?: base.Fetch): void;
}
/**
 * base.Fetch Adaptor that is extended from URL Adaptor, is used for handle data operations with user defined functions.
 *
 * @hidden
 */
export  class CustomDataAdaptor extends UrlAdaptor {
    protected getModuleName(): string;
    protected options: RemoteOptions;
    constructor(props?: RemoteOptions);
}
/**
 * The GraphqlAdaptor that is extended from URL Adaptor, is used for retrieving data from the Graphql server.
 * It interacts with the Graphql server with all the DataManager Queries and performs CRUD operations.
 *
 * @hidden
 */
export  class GraphQLAdaptor extends UrlAdaptor {
    protected getModuleName(): string;
    private opt;
    private schema;
    private query;
    getVariables: Function;
    private getQuery;
    constructor(options: GraphQLAdaptorOptions);
    /**
     * Process the JSON data based on the provided queries.
     *
     * @param {DataManager} dm
     * @param {Query} query?
     * @param datamanager
     * @param query
     */
    processQuery(datamanager: DataManager, query: Query): Object;
    /**
     * Returns the data from the query processing.
     * It will also cache the data for later usage.
     *
     * @param {DataResult} data
     * @param {DataManager} ds?
     * @param {Query} query?
     * @param {Request} xhr?
     * @param {Object} request?
     * @param resData
     * @param ds
     * @param query
     * @param xhr
     * @param request
     * @returns DataResult
     */
    processResponse(resData: DataResult, ds?: DataManager, query?: Query, xhr?: Request, request?: Object): DataResult;
    /**
     * Prepare and returns request body which is used to insert a new record in the table.
     */
    insert(): {
        data: string;
    };
    /**
     * Prepare and returns request body which is used to update a new record in the table.
     */
    update(): {
        data: string;
    };
    /**
     * Prepare and returns request body which is used to remove a new record in the table.
     */
    remove(): {
        data: string;
    };
    /**
     * Prepare the request body based on the newly added, removed and updated records.
     * The result is used by the batch request.
     *
     * @param {DataManager} dm
     * @param {CrudOptions} changes
     * @param {Object} e
     * @param e.key
     * @param {Query} query
     * @param {Object} original
     */
    batchRequest(dm: DataManager, changes: CrudOptions, e: {
        key: string;
    }, query: Query, original?: Object): Object;
    private generateCrudData;
}
/**
 * Cache Adaptor is used to cache the data of the visited pages. It prevents new requests for the previously visited pages.
 * You can configure cache page size and duration of caching by using cachingPageSize and timeTillExpiration properties of the DataManager
 *
 * @hidden
 */
export  class CacheAdaptor extends UrlAdaptor {
    private cacheAdaptor;
    private pageSize;
    private guidId;
    private isCrudAction;
    private isInsertAction;
    /**
     * Constructor for CacheAdaptor class.
     *
     * @param {CacheAdaptor} adaptor?
     * @param {number} timeStamp?
     * @param {number} pageSize?
     * @param adaptor
     * @param timeStamp
     * @param 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?
     * @param 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?
     * @param query
     * @param 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 {Request} xhr?
     * @param {base.Fetch} request?
     * @param {CrudOptions} changes?
     * @param ds
     * @param query
     * @param xhr
     * @param request
     * @param changes
     */
    processResponse(data: DataResult, ds?: DataManager, query?: Query, xhr?: Request, request?: base.Fetch, 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 {Request} request
     * @param {base.Fetch} settings?
     * @param settings
     */
    beforeSend(dm: DataManager, request: Request, settings?: base.Fetch): 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?
     * @param 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?
     * @param tableName
     */
    remove(dm: DataManager, keyField: string, value: Object, tableName?: string): Object[];
    /**
     * Prepare the request body based on the newly added, removed and updated records.
     * The result is used by the batch request.
     *
     * @param  {DataManager} dm
     * @param  {CrudOptions} changes
     * @param  {RemoteArgs} e
     */
    batchRequest(dm: DataManager, changes: CrudOptions, e: RemoteArgs): CrudOptions;
}
/**
 * @hidden
 */
export interface CrudOptions {
    changedRecords?: Object[];
    addedRecords?: Object[];
    deletedRecords?: Object[];
    changed?: Object[];
    added?: Object[];
    deleted?: Object[];
    action?: string;
    table?: string;
    key?: string;
}
/**
 * @hidden
 */
export interface PvtOptions {
    groups?: QueryOptions[];
    aggregates?: Aggregates[];
    search?: Object | Predicate;
    changeSet?: number;
    searches?: Object[];
    position?: number;
}
/**
 * @hidden
 */
export interface DataResult {
    nodeType?: number;
    addedRecords?: Object[];
    d?: DataResult | Object[];
    Count?: number;
    count?: number;
    result?: Object;
    results?: Object[] | DataResult;
    aggregate?: DataResult;
    aggregates?: Aggregates;
    value?: Object;
    Items?: Object[] | DataResult;
    keys?: string[];
    groupDs?: Object[];
}
/**
 * @hidden
 */
export interface Requests {
    sorts: QueryOptions[];
    groups: QueryOptions[];
    filters: QueryOptions[];
    searches: QueryOptions[];
    aggregates: QueryOptions[];
}
/**
 * @hidden
 */
export interface RemoteArgs {
    guid?: string;
    url?: string;
    key?: string;
    cid?: number;
    cSet?: string;
}
/**
 * @hidden
 */
export interface RemoteOptions {
    from?: string;
    requestType?: string;
    sortBy?: string;
    select?: string;
    skip?: string;
    group?: string;
    take?: string;
    search?: string;
    count?: string;
    where?: string;
    aggregates?: string;
    expand?: string;
    accept?: string;
    multipartAccept?: string;
    batch?: string;
    changeSet?: string;
    batchPre?: string;
    contentId?: string;
    batchContent?: string;
    changeSetContent?: string;
    batchChangeSetContentType?: string;
    updateType?: string;
    localTime?: boolean;
    apply?: string;
    getData?: Function;
    updateRecord?: Function;
    addRecord?: Function;
    deleteRecord?: Function;
    batchUpdate?: Function;
}
/**
 * @hidden
 */
export interface GraphQLAdaptorOptions {
    response: {
        result: string;
        count?: string;
        aggregates?: string;
    };
    query: string;
    getQuery?: () => string;
    getVariables?: Function;
    getMutation?: (action: string) => string;
}
/**
 * @hidden
 */
export interface LazyLoad {
    isLazyLoad: boolean;
    onDemandGroupInfo: OnDemandGroupInfo;
}
/**
 * @hidden
 */
export interface OnDemandGroupInfo {
    level: number;
    skip: number;
    take: number;
    where: Predicate[];
}
/**
 * @hidden
 */
export interface LazyLoadGroupArgs {
    query: Query;
    lazyLoad: LazyLoad;
    result: Object[];
    group: Object[];
    sort: {
        comparer: (a: Object, b: Object) => number;
        fieldName: string;
    }[];
    page: {
        pageIndex: number;
        pageSize: number;
    };
}
/**
 * @hidden
 */
export  type ReturnType = {
    result: Object[];
    count?: number;
    aggregates?: string;
};
 }
export namespace diagrams { 

//node_modules/@syncfusion/ej2-diagrams/src/symbol-palette/symbol-palette.d.ts
/**
 * A palette allows to display a group of related symbols and it textually annotates the group with its header.
 */
export  class Palette extends base.ChildProperty<Palette> {
    /**
     * Defines the unique id of a symbol group
     *
     * @default ''
     */
    id: string;
    /**
     * Sets the height of the symbol group
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    height: number;
    /**
     * Sets whether the palette items to be expanded or not
     *
     * @default true
     */
    expanded: boolean;
    /**
     * Defines the content of the symbol group
     *
     * @default ''
     */
    iconCss: string;
    /**
     * Defines the title of the symbol group
     *
     * @default ''
     */
    title: string;
    /**
     * Defines the collection of predefined symbols
     *
     * @aspType object
     */
    symbols: (NodeModel | ConnectorModel)[];
    /** @private */
    isInteraction: boolean;
    constructor(parent: any, propName: string, defaultValue: Object, isArray?: boolean);
}
/**
 * customize the drag size of the individual palette items.
 */
export  class SymbolDragSize extends base.ChildProperty<SymbolDragSize> {
    /**
     * Sets the drag width of the symbols
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    width: number;
    /**
     * Sets the drag height of the symbols
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    height: number;
}
/**
 * customize the preview size and position of the individual palette items.
 */
export  class SymbolPreview extends base.ChildProperty<SymbolPreview> {
    /**
     * Sets the preview width of the symbols
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    width: number;
    /**
     * Sets the preview height of the symbols
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    height: number;
    /**
     * Defines the distance to be left between the cursor and symbol
     *
     * @default {}
     */
    offset: PointModel;
}
/**
 * Represents the Symbol Palette base.Component.
 * ```html
 * <div id="symbolpalette"></div>
 * <script>
 *  var palette = new SymbolPalatte({ allowDrag:true });
 *  palette.appendTo("#symbolpalette");
 * </script>
 * ```
 */
/**
 * The symbol palette control allows to predefine the frequently used nodes and connectors
 * and to drag and drop those nodes/connectors to drawing area
 */
export  class SymbolPalette extends base.Component<HTMLElement> implements base.INotifyPropertyChanged {
    /**
     * Configures the key, when it pressed the symbol palette will be focused
     *
     * @default 'S'
     */
    accessKey: string;
    /**
     * Defines the width of the symbol palette
     *
     * @default '100%'
     */
    width: string | number;
    /**
     * Defines the height of the symbol palette
     *
     * @default '100%'
     */
    height: string | number;
    /**
     * Defines the collection of symbol groups
     *
     * @default []
     */
    palettes: PaletteModel[];
    /**
     * Defines the size, appearance and description of a symbol
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    /**
     * ```html
     * <div id="symbolpalette"></div>
     *  ```
     * ```typescript
     * let palette: SymbolPalette = new SymbolPalette({
     *   expandMode: 'Multiple',
     *   palettes: [
     *       { id: 'flow', expanded: false, symbols: getFlowShapes(), title: 'Flow Shapes' },
     *   ],
     *   width: '100%', height: '100%', symbolHeight: 50, symbolWidth: 50,
     *   symbolPreview: { height: 100, width: 100 },
     *   enableSearch: true,
     *   getNodeDefaults: setPaletteNodeDefaults,
     *   symbolMargin: { left: 12, right: 12, top: 12, bottom: 12 },
     *   getSymbolInfo: (symbol: NodeModel): SymbolInfo => {
     *       return { fit: true };
     *   }
     * });
     * palette.appendTo('#symbolpalette');
     * export function getFlowShapes(): NodeModel[] {
     *   let flowShapes: NodeModel[] = [
     *       { id: 'Terminator', shape: { type: 'Flow', shape: 'Terminator' }, style: { strokeWidth: 2 } },
     *       { id: 'Process', shape: { type: 'Flow', shape: 'Process' }, style: { strokeWidth: 2 } },
     *       { id: 'Decision', shape: { type: 'Flow', shape: 'Decision' }, style: { strokeWidth: 2 } }
     *   ];
     *   return flowShapes;
     * }
     * function setPaletteNodeDefaults(node: NodeModel): void {
     * if (node.id === 'Terminator' || node.id === 'Process') {
     *   node.width = 130;
     *   node.height = 65;
     * } else {
     *   node.width = 50;
     *   node.height = 50;
     * }
     * node.style.strokeColor = '#3A3A3A';
     * }
     * ```
     *
     * @deprecated
     */
    getSymbolInfo: Function | string;
    /**
     * Defines the size, appearance and description of a symbol
     *
     */
    symbolInfo: SymbolInfo;
    /**
     * Defines the symbols to be added in search palette
     *
     * @aspDefaultValueIgnore
     * @default undefined
     * @deprecated
     */
    filterSymbols: Function | string;
    /**
     * Defines the symbols to be added in search palette
     *
     */
    ignoreSymbolsOnSearch: string[];
    /**
     * Defines the content of a symbol
     *
     * @aspDefaultValueIgnore
     * @default undefined
     * @deprecated
     */
    getSymbolTemplate: Function | string;
    /**
     * Defines the width of the symbol
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    symbolWidth: number;
    /**
     * Defines the height of the symbol
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    symbolHeight: number;
    /**
     * Defines the space to be left around a symbol
     *
     * @default {left:10,right:10,top:10,bottom:10}
     */
    symbolMargin: MarginModel;
    /**
     * Defines whether the symbols can be dragged from palette or not
     *
     * @default true
     */
    allowDrag: boolean;
    /**
     * Defines the size and position of the symbol preview
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    symbolPreview: SymbolPreviewModel;
    /**
     * Defines the size of a drop symbol
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    symbolDragSize: SymbolDragSizeModel;
    /**
     * Enables/Disables search option in symbol palette
     *
     * @default false
     */
    enableSearch: boolean;
    /**
     * Enables/Disables animation when the palette header is expanded/collapsed
     *
     */
    enableAnimation: boolean;
    /**
     * Defines how many palettes can be at expanded mode at a time
     *
     * @default 'Multiple'
     * @aspDefaultValueIgnore
     * @isEnumeration true
     */
    expandMode: navigations.ExpandMode;
    /**
     * Triggers after the selection changes in the symbol palette
     *
     * @event
     */
    paletteSelectionChange: base.EmitType<IPaletteSelectionChangeArgs>;
    /**
     * Triggers when the icon is expanded
     *
     * @event
     */
    paletteExpanding: base.EmitType<IPaletteExpandArgs>;
    /**
     * `bpmnModule` is used to add built-in BPMN Shapes to diagrams
     *
     * @private
     */
    bpmnModule: BpmnDiagrams;
    /**
     * Helps to return the default properties of node
     *
     * @deprecated
     */
    getNodeDefaults: Function | string;
    /**
     * Helps to return the default properties of node
     *
     */
    nodeDefaults: NodeModel;
    /**
     * Helps to return the default properties of connector
     *
     * @deprecated
     */
    getConnectorDefaults: Function | string;
    /**
     * Helps to return the default properties of connectors
     *
     */
    connectorDefaults: ConnectorModel;
    /** @private */
    selectedSymbols: NodeModel | ConnectorModel;
    /**   @private  */
    symbolTable: {};
    /**   @private  */
    childTable: {};
    private diagramRenderer;
    private svgRenderer;
    private accordionElement;
    private highlightedSymbol;
    private selectedSymbol;
    private info;
    private oldObject;
    private timer;
    private draggable;
    private laneTable;
    private isExpand;
    private isExpandMode;
    private isMethod;
    private paletteid;
    private checkOnRender;
    private l10n;
    private currentPosition;
    symbolTooltipObject: popups.Tooltip;
    /**
     *  Constructor for creating the symbol palette base.Component
     *
     * @param {SymbolPaletteModel} options The symbol palette model.
     * @param {string | HTMLElement} element The symbol palette element.
     */
    constructor(options?: SymbolPaletteModel, element?: Element);
    /**
     * Refreshes the panel when the symbol palette properties are updated\
     *
     * @returns {  void}    Refreshes the panel when the symbol palette properties are updated .\
     * @param {SymbolPaletteModel} newProp - Defines the new values of the changed properties.
     * @param {SymbolPaletteModel} oldProp - Defines the old values of the changed properties.
     */
    onPropertyChanged(newProp: SymbolPaletteModel, oldProp: SymbolPaletteModel): void;
    /**
     * updateBlazorProperties method\
     *
     * @returns {void}    updateBlazorProperties method .\
     * @param {SymbolPaletteModel} newProp - provide the scale value.
     *
     * @private
     */
    /**
     * Get the properties to be maintained in the persisted state.
     *
     * @returns {string}  Get the properties to be maintained in the persisted state.
     */
    getPersistData(): string;
    /**
     * Initializes the values of private members.
     *
     * @returns {void}  Initializes the values of private members.
     * @private
     */
    protected preRender(): void;
    /**
     * EJ2-61531- Localization support for the symbol palette search box placeholder.
     * @returns {Object} defaultLocale
     */
    private defaultLocale;
    /**
     * Renders the rulers.
     *
     * @returns {void}  Renders the rulers.
     * @private
     */
    render(): void;
    /**
     * Core method to return the component name.
     *
     * @returns {string}  Core method to return the component name.
     * @private
     */
    getModuleName(): string;
    /**
     * To provide the array of modules needed for control rendering.
     *
     * @returns {base.ModuleDeclaration[]}  To provide the array of modules needed for control rendering .
     * @private
     */
    requiredModules(): base.ModuleDeclaration[];
    /**
     *To destroy the ruler
     *
     * @returns {void} To destroy the ruler
     */
    destroy(): void;
    /**
     * Add particular palettes to symbol palette at runtime.\
     *
     * @returns {  void}    Refreshes the ruler when the Ruler properties are updated .\
     * @param { PaletteModel[]} palettes -Defines the collection of palettes to be added.
     */
    addPalettes(palettes: PaletteModel[]): void;
    /**
     * removePalette method\
     *
     * @returns {void}    removePalette method .\
     * @param {string} paletteId - provide the scale value.
     *
     * @private
     */
    removePalette(paletteId: string): void;
    /**
     * Remove particular palettes to symbol palette at runtime \
     *
     * @returns {void}   Remove particular palettes to symbol palette at runtime .\
     * @param {string[]} palettes - provide the scale value.
     */
    removePalettes(palettes: string[]): void;
    /**
     * Method to initialize the items in the symbols \
     *
     * @returns {void}    Method to initialize the items in the symbols .\
     * @param {PaletteModel} symbolGroup - provide the scale value.
     *
     */
    private initSymbols;
    private renderPalette;
    /**
     * Used to add the palette item as nodes or connectors in palettes \
     *
     * @returns {void}    Used to add the palette item as nodes or connectors in palettes .\
     * @param {string} paletteName - provide the scale value.
     * @param {NodeModel | ConnectorModel} paletteSymbol - provide the scale value.
     * @param {boolean} isChild - provide the scale value.
     */
    addPaletteItem(paletteName: string, paletteSymbol: NodeModel | ConnectorModel, isChild?: boolean): void;
    /**
     * Used to remove the palette item as nodes or connectors in palettes \
     *
     * @returns {void}    Used to remove the palette item as nodes or connectors in palettes .\
     * @param {string} paletteName - provide the scale value.
     * @param {string} symbolId - provide the scale value.
     */
    removePaletteItem(paletteName: string, symbolId: string): void;
    private prepareSymbol;
    private getContainer;
    /**
     * Feature [EJ2- 47318] - Support for the change of the symbol description
     * Feature [EJ2- 50705] - Support to add margin between the text and symbols
     */
    private getSymbolDescription;
    private renderSymbols;
    private getSymbolPreview;
    private measureAndArrangeSymbol;
    private updateSymbolSize;
    private getSymbolContainer;
    private getGroupParent;
    private getHtmlSymbol;
    private getSymbolSize;
    private getMousePosition;
    private hoverElement;
    /** Gets the default content of the popups.Tooltip
     *
     * @returns {string | HTMLElement} Returns the default content of the popups.Tooltip.\
     * @param {object} obj - provide the Symbol object.
     */
    private getContent;
    /**
     * Initialize the basic properties of Toolip object
     *
     * @returns {popups.Tooltip} Returns the basic properties of Toolip object.\
     * @param {NodeModel | ConnectorModel} element - provide the Symbol object.
     */
    private initTooltip;
    /**Method to update popups.Tooltip Content
     *
     * @returns { popups.Tooltip } Returns the basic properties of Toolip object.\
     *
     * @param {TooltipModel} tooltip - provide the Symbol object.
     * @param {popups.Tooltip} tooltipObject - provide the Symbol object.
     */
    private updateTooltipContent;
    /**
     * To open the popups.Tooltip element relevant to the target and relative mode
     *
     * @returns { void} opens the popups.Tooltip element relevant to the target and relative mode.\
     *
     * @param {PointModel} mousePosition - provide the mousePosition value.
     * @param {boolean} elementOver - provide the elementOver value.
     * @param {boolean} isSearchSymbol - provide the isSearchSymbol value.
     */
    private elementEnter;
    private mouseMove;
    /**
     * When Mouse pointer leaves the symbol palette object Mouse leave event is called and closes popups.Tooltip
     * @returns {void} Function to close symbol tooltip on mouse leave.
     */
    private elementLeave;
    /** @private
     * @returns {void} Handles mouse leave events
     * @param {PointerEvent} evt - provide event name
     */
    mouseLeave(evt: PointerEvent): void;
    private mouseUp;
    private keyUp;
    private mouseDown;
    private keyDown;
    private initDraggable;
    private helper;
    private dragStart;
    private dragStop;
    private scaleSymbol;
    private scaleChildren;
    private measureChild;
    private scaleGroup;
    private refreshPalettes;
    private updatePalettes;
    private createTextbox;
    private getFilterSymbol;
    private searchPalette;
    private createSearchPalette;
    private wireEvents;
    private unWireEvents;
}
/**
 * Defines the size and description of a symbol
 */
export interface SymbolInfo {
    /**
     * Defines the width of the symbol to be drawn over the palette
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    width?: number;
    /**
     * Defines the height of the symbol to be drawn over the palette
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    height?: number;
    /**
     * Defines whether the symbol has to be fit inside the size, that is defined by the symbol palette
     *
     * @default true
     */
    fit?: boolean;
    /**
     * Define the template of the symbol that is to be drawn over the palette
     *
     * @default null
     */
    template?: DiagramElement;
    /**
     * Define the text to be displayed and how that is to be handled.
     *
     * @default null
     */
    description?: SymbolDescription;
    /**
     * Define the text to be displayed when mouse hover on the shape.
     *
     * @default ''
     */
    tooltip?: string;
}
/**
 * Defines the textual description of a symbol
 */
export interface SymbolDescription {
    /**
     * Defines the symbol description
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    text?: string;
    /**
     * Defines how to handle the text when its size exceeds the given symbol size
     * * Wrap - Wraps the text to next line, when it exceeds its bounds
     * * Ellipsis - It truncates the overflown text and represents the clipping with an ellipsis
     * * Clip - It clips the overflow text
     *
     * @default ellipsis
     */
    overflow?: TextOverflow;
    /**
     * Defines how to wrap the text
     * * WrapWithOverflow - Wraps the text so that no word is broken
     * * Wrap - Wraps the text and breaks the word, if necessary
     * * NoWrap - Text will no be wrapped
     *
     * @default Wrap
     */
    wrap?: TextWrap;
    /**
     * Sets the font color of a text
     *
     * @default 'black'
     */
    color?: string;
    /**
     * Sets the fill color of a shape/path
     *
     * @default 'white'
     */
    fill?: string;
    /**
     * Sets the font type of a text
     *
     * @default 'Arial'
     */
    fontFamily?: string;
    /**
     * Defines the font size of a text
     *
     * @default 12
     */
    fontSize?: number;
    /**
     * Enables/disables the bold style of text
     *
     * @default false
     */
    bold?: boolean;
    /**
     * Enables/disables the italic style of text
     *
     * @default false
     */
    italic?: boolean;
    /**
     * Defines how the text should be decorated. For example, with underline/over line
     * * Overline - Decorates the text with a line above the text
     * * Underline - Decorates the text with an underline
     * * LineThrough - Decorates the text by striking it with a line
     * * None - Text will not have any specific decoration
     *
     * @default 'None'
     */
    textDecoration?: TextDecoration;
    /**
     *
     * Sets/Gets the margin of the element
     * The margin top and bottom alone works for the symbol description
     */
    margin?: MarginModel;
}
//node_modules/@syncfusion/ej2-diagrams/src/symbol-palette/symbol-palette-model.d.ts
/**
 * Interface for a class Palette
 */
export interface PaletteModel {
    /**
     * Defines the unique id of a symbol group
     *
     * @default ''
     */
    id?: string;
    /**
     * Sets the height of the symbol group
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    height?: number;
    /**
     * Sets whether the palette items to be expanded or not
     *
     * @default true
     */
    expanded?: boolean;
    /**
     * Defines the content of the symbol group
     *
     * @default ''
     */
    iconCss?: string;
    /**
     * Defines the title of the symbol group
     *
     * @default ''
     */
    title?: string;
    /**
     * Defines the collection of predefined symbols
     *
     * @aspType object
     */
    symbols?: (NodeModel | ConnectorModel)[];
}
/**
 * Interface for a class SymbolDragSize
 */
export interface SymbolDragSizeModel {
    /**
     * Sets the drag width of the symbols
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    width?: number;
    /**
     * Sets the drag height of the symbols
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    height?: number;
}
/**
 * Interface for a class SymbolPreview
 */
export interface SymbolPreviewModel {
    /**
     * Sets the preview width of the symbols
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    width?: number;
    /**
     * Sets the preview height of the symbols
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    height?: number;
    /**
     * Defines the distance to be left between the cursor and symbol
     *
     * @default {}
     */
    offset?: PointModel;
}
/**
 * Interface for a class SymbolPalette
 */
export interface SymbolPaletteModel extends base.ComponentModel{
    /**
     * Configures the key, when it pressed the symbol palette will be focused
     *
     * @default 'S'
     */
    accessKey?: string;
    /**
     * Defines the width of the symbol palette
     *
     * @default '100%'
     */
    width?: string | number;
    /**
     * Defines the height of the symbol palette
     *
     * @default '100%'
     */
    height?: string | number;
    /**
     * Defines the collection of symbol groups
     *
     * @default []
     */
    palettes?: PaletteModel[];
    /**
     * ```html
     * <div id="symbolpalette"></div>
     *  ```
     * ```typescript
     * let palette$: SymbolPalette = new SymbolPalette({
     *   expandMode: 'Multiple',
     *   palettes: [
     *       { id: 'flow', expanded: false, symbols: getFlowShapes(), title: 'Flow Shapes' },
     *   ],
     *   width: '100%', height: '100%', symbolHeight: 50, symbolWidth: 50,
     *   symbolPreview: { height: 100, width: 100 },
     *   enableSearch: true,
     *   getNodeDefaults: setPaletteNodeDefaults,
     *   symbolMargin: { left: 12, right: 12, top: 12, bottom: 12 },
     *   getSymbolInfo: (symbol: NodeModel): SymbolInfo => {
     *       return { fit: true };
     *   }
     * });
     * palette.appendTo('#symbolpalette');
     * export function getFlowShapes(): NodeModel[] {
     *   let flowShapes$: NodeModel[] = [
     *       { id: 'Terminator', shape: { type: 'Flow', shape: 'Terminator' }, style: { strokeWidth: 2 } },
     *       { id: 'Process', shape: { type: 'Flow', shape: 'Process' }, style: { strokeWidth: 2 } },
     *       { id: 'Decision', shape: { type: 'Flow', shape: 'Decision' }, style: { strokeWidth: 2 } }
     *   ];
     *   return flowShapes;
     * }
     * function setPaletteNodeDefaults(node: NodeModel): void {
     * if (node.id === 'Terminator' || node.id === 'Process') {
     *   node.width = 130;
     *   node.height = 65;
     * } else {
     *   node.width = 50;
     *   node.height = 50;
     * }
     * node.style.strokeColor = '#3A3A3A';
     * }
     * ```
     *
     * @deprecated
     */
    getSymbolInfo?: Function | string;
    /**
     * Defines the size, appearance and description of a symbol
     *
     */
    symbolInfo?: SymbolInfo;
    /**
     * Defines the symbols to be added in search palette
     *
     * @aspDefaultValueIgnore
     * @default undefined
     * @deprecated
     */
    filterSymbols?: Function | string;
    /**
     * Defines the symbols to be added in search palette
     *
     */
    ignoreSymbolsOnSearch?: string[];
    /**
     * Defines the content of a symbol
     *
     * @aspDefaultValueIgnore
     * @default undefined
     * @deprecated
     */
    getSymbolTemplate?: Function | string;
    /**
     * Defines the width of the symbol
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    symbolWidth?: number;
    /**
     * Defines the height of the symbol
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    symbolHeight?: number;
    /**
     * Defines the space to be left around a symbol
     *
     * @default {left:10,right:10,top:10,bottom:10}
     */
    symbolMargin?: MarginModel;
    /**
     * Defines whether the symbols can be dragged from palette or not
     *
     * @default true
     */
    allowDrag?: boolean;
    /**
     * Defines the size and position of the symbol preview
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    symbolPreview?: SymbolPreviewModel;
    /**
     * Defines the size of a drop symbol
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    symbolDragSize?: SymbolDragSizeModel;
    /**
     * Enables/Disables search option in symbol palette
     *
     * @default false
     */
    enableSearch?: boolean;
    /**
     * Enables/Disables animation when the palette header is expanded/collapsed
     *
     */
    enableAnimation?: boolean;
    /**
     * Defines how many palettes can be at expanded mode at a time
     *
     * @default 'Multiple'
     * @aspDefaultValueIgnore
     * @isEnumeration true
     */
    expandMode?: navigations.ExpandMode;
    /**
     * Triggers after the selection changes in the symbol palette
     *
     * @event
     */
    paletteSelectionChange?: base.EmitType<IPaletteSelectionChangeArgs>;
    /**
     * Triggers when the icon is expanded
     *
     * @event
     */
    paletteExpanding?: base.EmitType<IPaletteExpandArgs>;
    /**
     * Helps to return the default properties of node
     *
     * @deprecated
     */
    getNodeDefaults?: Function | string;
    /**
     * Helps to return the default properties of node
     *
     */
    nodeDefaults?: NodeModel;
    /**
     * Helps to return the default properties of connector
     *
     * @deprecated
     */
    getConnectorDefaults?: Function | string;
    /**
     * Helps to return the default properties of connectors
     *
     */
    connectorDefaults?: ConnectorModel;
}
//node_modules/@syncfusion/ej2-diagrams/src/ruler/ruler.d.ts
/**
 * Set of TickAlignment available for Ruler.
 */
export  type TickAlignment = 'LeftOrTop' | 'RightOrBottom';
/**
 * Set of orientations available for Ruler.
 */
export  type RulerOrientation = 'Horizontal' | 'Vertical';
/**
 * Represents the Ruler component that measures the Diagram objects, indicate positions, and align Diagram elements.
 * ```html
 * <div id='ruler'>Show Ruler</div>
 * ```
 * ```typescript
 * <script>
 *   var rulerObj = new Ruler({ showRuler: true });
 *   rulerObj.appendTo('#ruler');
 * </script>
 * ```
 */
export  class Ruler extends base.Component<HTMLElement> implements base.INotifyPropertyChanged {
    /**
     * Defines the unique interval of the ruler.
     *
     * @default 5
     */
    interval: number;
    /**
     * Sets the segment width of the ruler.
     *
     * @default 100
     */
    segmentWidth: number;
    /**
     * Defines the orientation of the ruler.
     *
     * @default 'Horizontal'
     */
    orientation: RulerOrientation;
    /**
     * Defines the alignment of the tick in the ruler.
     *
     *
     * @default 'RightOrBottom'
     */
    tickAlignment: TickAlignment;
    /**
     * Defines the color of the marker.
     *
     * @default 'red'
     */
    markerColor: string;
    /**
     * Defines the thickness of the ruler.
     *
     * @default 25
     */
    thickness: number;
    /**
     * Sets the segment width of the ruler.
     *
     * @default null
     * @deprecated
     */
    arrangeTick: Function | string;
    /**
     * Defines the length of the ruler.
     *
     * @default 400
     */
    length: number;
    /**   @private  */
    offset: number;
    /**   @private  */
    scale: number;
    /**   @private  */
    startValue: number;
    /**   @private  */
    defStartValue: number;
    /**   @private  */
    hRulerOffset: number;
    /**   @private  */
    vRulerOffset: number;
    /**
     *  Constructor for creating the Ruler base.Component
     *
     * @param {RulerModel} options The ruler model.
     * @param {string | HTMLElement} element The ruler element.
     */
    constructor(options?: RulerModel, element?: string | HTMLElement);
    /**
     * Initializes the values of private members.
     *
     * @returns {void}  Initializes the values of private members.
     * @private
     */
    protected preRender(): void;
    /**
     * Renders the rulers.
     *
     * @returns {void}  Renders the rulers.
     * @private
     */
    render(): void;
    /**
     * Core method to return the component name.
     *
     * @returns {string}  Core method to return the component name.
     * @private
     */
    getModuleName(): string;
    /**
     *To destroy the ruler
     *
     * @returns {void} To destroy the ruler
     */
    destroy(): void;
    /**
     * Get the properties to be maintained in the persisted state.
     *
     * @returns {string}  Get the properties to be maintained in the persisted state.
     */
    getPersistData(): string;
    /**
     * Refreshes the ruler when the Ruler properties are updated\
     *
     * @returns {  void}    Refreshes the ruler when the Ruler properties are updated .\
     * @param {RulerModel} newProp - provide the newProp value.
     * @param {RulerModel} oldProp - provide the oldProp value.
     * @private
     */
    onPropertyChanged(newProp: RulerModel, oldProp: RulerModel): void;
    private updateRulerGeometry;
    private renderRulerSpace;
    private updateRuler;
    private updateSegments;
    private updateSegment;
    private updateTickLabel;
    private getNewSegment;
    private createNewTicks;
    private getLinePoint;
    private createTick;
    private createTickLabel;
    /**
     * @private
     * @param {number} scale
     */
    /**
     * updateSegmentWidth method\
     *
     * @returns {number}    updateSegmentWidth method .\
     * @param {string} scale - provide the scale value.
     *
     * @private
     */
    updateSegmentWidth(scale: number): number;
    private createMarkerLine;
    /**
     * updateSegmentWidth method\
     *
     * @returns {void}    updateSegmentWidth method .\
     * @param {HTMLElement} rulerObj - Defines the ruler Object
     * @param {PointModel} currentPoint - Defines the current point for ruler Object
     * @param {number} offset - Defines the offset ruler Object
     *
     * @private
     */
    drawRulerMarker(rulerObj: HTMLElement, currentPoint: PointModel, offset: number): void;
    private getRulerGeometry;
    private getRulerSize;
    private getRulerSVG;
    /**
     * Method to bind events for the ruler \
     *
     * @returns {void}    Method to bind events for the ruler .\
     * @private
     */
    private wireEvents;
    /**
     *  Method to unbind events for the ruler \
     *
     * @returns {void}     Method to unbind events for the ruler .\
     * @private
     */
    private unWireEvents;
}
export interface RulerSegment {
    segment: SVGElement;
    label: SVGTextElement;
}
export interface SegmentTranslation {
    trans: number;
}
//node_modules/@syncfusion/ej2-diagrams/src/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/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/overview/overview.d.ts
/**
 * Overview control allows you to see a preview or an overall view of the entire content of a Diagram.
 * This helps you to look at the overall picture of a large Diagram
 * To navigate, pan, or zoom, on a particular position of the page.
 * ```html
 * <div id='diagram'/>
 * <div id="overview"></div>
 * ```
 * ```typescript
 * let overview: Overview;
 * let diagram: Diagram = new Diagram({
 * width:'1000px', height:'500px' });
 * diagram.appendTo('#diagram');
 * let options: OverviewModel = {};
 * options.sourceID = 'diagram';
 * options.width = '250px';
 * options.height = '500px';
 * overview = new Overview(options);
 * overview.appendTo('#overview');
 * ```
 */
export  class Overview extends base.Component<HTMLElement> implements base.INotifyPropertyChanged {
    /**
     * Defines the width of the overview
     *
     * @default '100%'
     */
    width: string | number;
    /**
     * Defines the height of the overview
     *
     * @default '100%'
     */
    height: string | number;
    /**
     * Defines the ID of the overview
     *
     * @default ''
     */
    sourceID: string;
    /**
     * Triggers after render the diagram elements
     *
     * @event
     * @blazorProperty 'Created'
     */
    created: base.EmitType<Object>;
    private parent;
    private canvas;
    private svg;
    /** @private */
    mode: RenderingMode;
    /** @private */
    id: string;
    private actionName;
    private startPoint;
    private currentPoint;
    private prevPoint;
    private resizeDirection;
    private scale;
    private inAction;
    private viewPortRatio;
    private horizontalOffset;
    private verticalOffset;
    /** @private */
    contentWidth: number;
    /** @private */
    contentHeight: number;
    /** @private */
    diagramLayer: HTMLCanvasElement | SVGGElement;
    private diagramLayerDiv;
    private model;
    private helper;
    private resizeTo;
    private event;
    private overviewid;
    private htmlLayer;
    private overviewLayer;
    private diagramCanvas;
    private nativeLayer;
    private context2d;
    private prevTransform;
    /**   @private  */
    diagramRenderer: DiagramRenderer;
    constructor(options?: OverviewModel, element?: HTMLElement | string);
    /**
     * Updates the overview control when the objects are changed
     *
     * @param {OverviewModel} newProp - Lists the new values of the changed properties
     * @param {OverviewModel} oldProp - Lists the old values of the changed properties
     */
    onPropertyChanged(newProp: OverviewModel, oldProp: OverviewModel): void;
    /**
     * Get the properties to be maintained in the persisted state.
     *
     * @returns {string}  Get the properties to be maintained in the persisted state.
     */
    getPersistData(): string;
    /**
     * Initializes the values of private members.
     *
     * @returns {void}  Initializes the values of private members.
     * @private
     */
    protected preRender(): void;
    protected render(): void;
    private getSizeValue;
    private renderCanvas;
    private setParent;
    private getDiagram;
    private unWireEvents;
    private wireEvents;
    /**
     * initializeOverviewLayers method\
     * @returns {  void }   initializeOverviewLayers method .\
     * @private
     */
    initializeOverviewLayers(): void;
    /**
     * renderDocument method\
     *
     * @returns {  void }    renderDocument method .\
     * @param {Overview} view - provide the angle value.
     * @private
     */
    renderDocument(view: Overview): void;
    /**
     * removeDocument method\
     *
     * @returns {  void }    removeDocument method .\
     * @param {Overview} view - provide the angle value.
     * @private
     */
    removeDocument(view: Overview): void;
    private renderHtmlLayer;
    private renderNativeLayer;
    private addOverviewRectPanel;
    private renderOverviewCorner;
    private updateOverviewRectangle;
    private updateHelper;
    private updateOverviewrect;
    private updateOverviewCorner;
    private translateOverviewRectangle;
    private renderOverviewRect;
    private scrollOverviewRect;
    private updateParentView;
    updateHtmlLayer(view: Overview): void;
    /** @private */
    /**
     * updateView method\
     *
     * @returns {  void }    removeDocument method .\
     * @param {Overview} view - provide the angle value.
     * @private
     */
    updateView(view: Overview): void;
    private scrolled;
    private updateCursor;
    private mouseMove;
    private documentMouseUp;
    private windowResize;
    /**
     * mouseDown method\
     *
     * @returns {  void }    mouseDown method .\
     * @param {PointerEvent | TouchEvent} evt - provide the angle value.
     * @private
     */
    mouseDown(evt: PointerEvent | TouchEvent): void;
    private mouseUp;
    private initHelper;
    private mousePosition;
    /**
     *To destroy the overview
     *
     * @returns {void} To destroy the overview
     */
    destroy(): void;
    /**
     * Core method to return the component name.
     *
     * @returns {string}  Core method to return the component name.
     * @private
     */
    protected getModuleName(): string;
}
//node_modules/@syncfusion/ej2-diagrams/src/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/diagram/print-settings.d.ts
/**
 * Print and Export Settings
 */
export  class PrintAndExport {
    private diagram;
    constructor(diagram: Diagram);
    private printWindow;
    /**
     * To Export the diagram
     *
     * @private
     */
    exportDiagram(options: IExportOptions): string | SVGElement;
    private setCanvas;
    private canvasMultiplePage;
    private exportImage;
    /**   @private  */
    getObjectsBound(options?: IExportOptions): Rect;
    /**   @private  */
    getDiagramBounds(mode?: string, options?: IExportOptions): Rect;
    private setScaleValueforCanvas;
    private diagramAsSvg;
    private setTransform;
    private diagramAsCanvas;
    private updateWrapper;
    private scaleGradientValue;
    private updateObjectValue;
    private isImageExportable;
    private getPrintCanvasStyle;
    private getMultipleImage;
    private printImage;
    /**
     * To print the image
     *
     * @private
     */
    print(options: IExportOptions): void;
    private printImages;
    private closePrintWindow;
    private getContent;
    /** @private */
    getDiagramContent(styleSheets?: StyleSheetList): string;
    /** @private */
    exportImages(image: string, options: IExportOptions): void;
    /**
     *To destroy the ruler
     *
     * @returns {void} To destroy the ruler
     */
    destroy(): void;
    /**
     * Get module name.
     */
    protected getModuleName(): string;
}
//node_modules/@syncfusion/ej2-diagrams/src/diagram/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;
    /**
     * `ej1SerializationModule` is used to load ej1 json
     *
     * @private
     */
    ej1SerializationModule: Ej1Serialization;
    /**
     * `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 used to render layout in symmetrical method
     *
     * @private
     */
    symmetricalLayoutModule: SymmetricLayout;
    /**
     * 'flowchartLayoutModule' is used to render flow chart layout
     *
     * @private
     */
    flowchartLayoutModule: FlowchartLayout;
    /**
     * `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;
    /**
     * `avoidLineOverlappingModule` is used to connect the connector's without overlapping
     *
     * @private
     */
    avoidLineOverlappingModule: AvoidLineOverlapping;
    /**
     * `lineDistributionModule` is used to connect the node's without overlapping in automatic layout
     *
     */
    lineDistributionModule: LineDistribution;
    /**
     * Defines the width of the diagram model.
     * ```html
     * <div id='diagram'/>
     * ```
     * ```typescript
     * let diagram$: Diagram = new Diagram({
     * width:'1000px', height:'500px' });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @default '100%'
     */
    width: string | number;
    /**
     * Split the connector, when the node is dropped onto it and establish connection with that dropped node.
     *
     * @default false
     */
    enableConnectorSplit: boolean;
    /**
     * Defines the diagram rendering mode.
     * * SVG - Renders the diagram objects as SVG elements
     * * Canvas - Renders the diagram in a canvas
     *
     * @default 'SVG'
     */
    mode: RenderingMode;
    /**
     * Defines the height of the diagram model.
     *
     * @default '100%'
     */
    height: string | number;
    /**
     * Defines the segmentThumbShape
     *
     * @default 'Circle'
     */
    segmentThumbShape: SegmentThumbShapes;
    /**
     * Specifies the size of the segment thumb. When not set, it defaults to matching the underlying path data.
     *
     * @default 10
     */
    segmentThumbSize: 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');
     * ```
     *
     */
    contextMenuSettings: ContextMenuSettingsModel;
    /**
     * Constraints are used to enable/disable certain behaviors of the diagram.
     * * None - Disables DiagramConstraints constraints
     * * Bridging - Enables/Disables Bridging support for connector
     * * UndoRedo - Enables/Disables the Undo/Redo support
     * * popups.Tooltip - Enables/Disables popups.Tooltip support
     * * UserInteraction - Enables/Disables editing diagram interactively
     * * ApiUpdate - Enables/Disables editing diagram through code
     * * PageEditable - Enables/Disables editing diagrams both interactively and through code
     * * Zoom - Enables/Disables Zoom support for the diagram
     * * PanX - Enables/Disable PanX support for the diagram
     * * PanY - Enables/Disable PanY support for the diagram
     * * Pan - Enables/Disable Pan support the diagram
     *
     * @default 'Default'
     * @aspNumberEnum
     */
    constraints: DiagramConstraints;
    /**
     * Defines the precedence of the interactive tools. They are,
     * * None - Disables selection, zooming and drawing tools
     * * SingleSelect - Enables/Disables single select support for the diagram
     * * MultipleSelect - Enables/Disable MultipleSelect select support for the diagram
     * * ZoomPan - Enables/Disable ZoomPan support for the diagram
     * * DrawOnce - Enables/Disable ContinuousDraw support for the diagram
     * * ContinuousDraw - Enables/Disable ContinuousDraw support for the diagram
     *
     * @default 'Default'
     * @aspNumberEnum
     * @deprecated
     */
    tool: DiagramTools;
    /**
     * Defines the direction of the bridge that is inserted when the segments are intersected
     * * Top - Defines the direction of the bridge as Top
     * * Bottom - Defines the direction of the bridge as Bottom
     * * Left - Sets the bridge direction as left
     * * Right - Sets the bridge direction as right
     *
     * @default top
     */
    bridgeDirection: BridgeDirection;
    /**
     * Defines the background color of the diagram
     *
     * @default 'transparent'
     */
    backgroundColor: string;
    /**
     * Defines the gridlines and defines how and when the objects have to be snapped
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let horizontalGridlines: GridlinesModel = {lineColor: 'black', lineDashArray: '1,1' };
     * let verticalGridlines: GridlinesModel = {lineColor: 'black', lineDashArray: '1,1'};
     * let diagram$: Diagram = new Diagram({
     * ...
     * snapSettings: { horizontalGridlines, verticalGridlines, constraints: SnapConstraints.ShowLines,
     * snapObjectDistance: 5, snapAngle: 5 },
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @default {}
     */
    snapSettings: SnapSettingsModel;
    /**
     * Defines the properties of both horizontal and vertical guides/rulers to measure the diagram area.
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let arrange: Function = (args: IArrangeTickOptions) => {
     * if (args.tickInterval % 10 == 0) {
     * args.tickLength = 25;
     * }
     * }
     * let diagram$: Diagram = new Diagram({
     * ...
     * rulerSettings: { showRulers: true,
     * horizontalRuler: { segmentWidth: 50, orientation: 'Horizontal', interval: 10,  arrangeTick: arrange },
     * verticalRuler: {segmentWidth: 200,interval: 20, thickness: 20,
     * tickAlignment: 'LeftOrTop', segmentWidth: 50, markerColor: 'red' }
     * },
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @default {}
     */
    rulerSettings: RulerSettingsModel;
    /**
     * Page settings enable to customize the appearance, width, and height of the Diagram page.
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let diagram$: Diagram = new Diagram({
     * ...
     * pageSettings: {  width: 800, height: 600, orientation: 'Landscape',
     * background: { color: 'blue' }, boundaryConstraints: 'Infinity'},
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @default {}
     */
    pageSettings: PageSettingsModel;
    /**
     * Defines the serialization settings of diagram.
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let diagram$: Diagram = new Diagram({
     * ...
     * serializationSettings: { preventDefaults: true },
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @default {}
     */
    serializationSettings: SerializationSettingsModel;
    /**
     * Defines the collection of nodes
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let nodes: NodeModel[] = [{
     *           id: 'node1', width: 100, height: 100, offsetX: 100, offsetY: 100,
     *           annotations: [{ content: 'Default Shape' }]
     *       },
     *       {
     *           id: 'node2', width: 100, height: 100, offsetX: 300, offsetY: 100,
     *           shape: {
     *               type: 'Basic', shape: 'Ellipse'
     *           },
     *           annotations: [{ content: 'Path Element' }]
     *       }
     *       ];
     * let diagram$: Diagram = new Diagram({
     * ...
     * nodes: nodes,
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    nodes: NodeModel[];
    /**
     * Defines the object to be drawn using drawing tool
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let diagram$: Diagram = new Diagram({
     * ...
     * drawingObject : {id: 'connector3', type: 'Straight'},
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    drawingObject: NodeModel | ConnectorModel;
    /**
     * Defines a collection of objects, used to create link between two points, nodes or ports to represent the relationships between them
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     *       let connectors: ConnectorModel[] = [{
     *           id: 'connector1',
     *           type: 'Straight',
     *           sourcePoint: { x: 100, y: 300 },
     *           targetPoint: { x: 200, y: 400 },
     *       }];
     * let diagram$: Diagram = new Diagram({
     * ...
     *       connectors: connectors,
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @default []
     */
    connectors: ConnectorModel[];
    /**
     * Defines the basic elements for the diagram
     *
     * @default []
     * @hidden
     */
    basicElements: DiagramElement[];
    /**
     * Defines the tooltip that should be shown when the mouse hovers over a node or connector
     * An object that defines the description, appearance and alignments of tooltip
     *
     * @default {}
     */
    tooltip: DiagramTooltipModel;
    /**
     * Configures the data source that is to be bound with diagram
     *
     * @default {}
     */
    dataSourceSettings: DataSourceModel;
    /**
     * Allows the user to save custom information/data about diagram
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    addInfo: Object;
    /**
     * Customizes the undo redo functionality
     *
     * @default undefined
     */
    historyManager: History;
    /**
     * Customizes the node template
     *
     * @default undefined
     * @aspType string
     */
    nodeTemplate: string | Function;
    /**
     * Customizes the annotation template
     *
     * @default undefined
     * @aspType string
     */
    annotationTemplate: string | Function;
    /**
     * This property represents the template content of a user handle. The user can define any HTML element as a template.
     *
     * @default undefined
     * @aspType string
     */
    userHandleTemplate: string | Function;
    /**
     * This property allows us to define HTML elements for fixed user handle
     *
     * @default undefined
     * @aspType string
     */
    fixedUserHandleTemplate: string | Function;
    /**
     * Helps to return the default properties of node
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let nodes: NodeModel[] = [{
     *           id: 'node1', height: 100, offsetX: 100, offsetY: 100,
     *           annotations: [{ content: 'Default Shape' }]
     *       },
     *       {
     *           id: 'node2', width: 100, height: 100, offsetX: 300, offsetY: 100,
     *           shape: {
     *               type: 'Basic', shape: 'Ellipse'
     *           },
     *           annotations: [{ content: 'Ellipse' }]
     *       }
     *       ];
     * let diagram$: Diagram = new Diagram({
     * ...
     * nodes: nodes,
     * getNodeDefaults: (node: NodeModel) => {
     *   let obj: NodeModel = {};
     *   if (obj.width === undefined) {
     *       obj.width = 145;
     *   }
     *   obj.style = { fill: '#357BD2', strokeColor: 'white' };
     *   obj.annotations = [{ style: { color: 'white', fill: 'transparent' } }];
     *   return obj;
     *    },
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @aspDefaultValueIgnore
     * @default undefined
     * @deprecated
     */
    getNodeDefaults: Function | string;
    /**
     * Helps to assign the default properties of nodes
     */
    nodeDefaults: NodeModel;
    /**
     * Helps to return the default properties of connector
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     *       let connectors: ConnectorModel[] = [{
     *           id: 'connector1',
     *           sourcePoint: { x: 100, y: 300 },
     *           targetPoint: { x: 200, y: 400 },
     *       }];
     * let diagram$: Diagram = new Diagram({
     * ...
     *   connectors: connectors,
     *   getConnectorDefaults: (connector: ConnectorModel, diagram: Diagram) => {
     *   let connObj: ConnectorModel = {};
     *   connObj.targetDecorator ={ shape :'None' };
     *   connObj.type = 'Orthogonal';
     *   return connObj;
     *   },
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @aspDefaultValueIgnore
     * @default undefined
     * @deprecated
     */
    getConnectorDefaults: Function | string;
    /**
     * Helps to assign the default properties of connector
     */
    connectorDefaults: ConnectorModel;
    /**
     * setNodeTemplate helps to customize the content of a node
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let getTextElement: Function = (text: string) => {
     * let textElement: TextElement = new TextElement();
     * textElement.width = 50;
     * textElement.height = 20;
     * textElement.content = text;
     * return textElement;
     * };
     * let nodes: NodeModel[] = [{
     *           id: 'node1', height: 100, offsetX: 100, offsetY: 100,
     *           annotations: [{ content: 'Default Shape' }]
     *       },
     *       {
     *           id: 'node2', width: 100, height: 100, offsetX: 300, offsetY: 100
     *       }
     *       ];
     * let diagram$: Diagram = new Diagram({
     * ...
     * nodes: nodes,
     * setNodeTemplate : setNodeTemplate,
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     * function setNodeTemplate() {
     * setNodeTemplate: (obj: NodeModel, diagram: Diagram): StackPanel => {
     *   if (obj.id === 'node2') {
     *       let table: StackPanel = new StackPanel();
     *       table.orientation = 'Horizontal';
     *       let column1: StackPanel = new StackPanel();
     *       column1.children = [];
     *       column1.children.push(getTextElement('Column1'));
     *       addRows(column1);
     *       let column2: StackPanel = new StackPanel();
     *       column2.children = [];
     *       column2.children.push(getTextElement('Column2'));
     *       addRows(column2);
     *       table.children = [column1, column2];
     *       return table;
     *   }
     *   return null;
     *   }
     * ...
     * }
     *
     * @aspDefaultValueIgnore
     * @default undefined
     * @deprecated
     */
    setNodeTemplate: Function | string;
    /**
     * Allows to set accessibility content for diagram objects
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    /**
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let connector1: ConnectorModel = {
     *          id: 'connector1', type: 'Straight',
     *          sourcePoint: { x: 100, y: 100 },targetPoint: { x: 200, y: 200 },
     *          annotations: [{ 'content': 'label', 'offset': 0, 'alignment': 'Center' }]
     *       };
     * let connector2: ConnectorModel = {
     *           id: 'connector2', type: 'Straight',
     *           sourcePoint: { x: 400, y: 400 }, targetPoint: { x: 600, y: 600 },
     *       };
     * let diagram$: Diagram;
     * diagram = new Diagram({
     * width: 1000, height: 1000,
     * connectors: [connector1, connector2],
     * snapSettings: { constraints: SnapConstraints.ShowLines },
     * getDescription: getAccessibility
     * });
     * diagram.appendTo('#diagram');
     * function getAccessibility(obj: ConnectorModel, diagram: Diagram): string {
     * let value: string;
     * if (obj instanceof Connector) {
     * value = 'clicked on Connector';
     * } else if (obj instanceof TextElement) {
     * value = 'clicked on annotation';
     * }
     * else if (obj instanceof Decorator) {
     * value = 'clicked on Decorator';
     * }
     * else { value = undefined;
 }
     * return value;
     * }
     * ```
     *
     * @deprecated
     */
    getDescription: Function | string;
    /**
     * Allows to get the custom properties that have to be serialized
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let nodes: NodeModel[] = [{
     *           id: 'node1', width: 100, height: 100, offsetX: 100, offsetY: 100,
     *           annotations: [{ content: 'Default Shape' }]
     *       },
     *       {
     *           id: 'node2', width: 100, height: 100, offsetX: 300, offsetY: 100,
     *           shape: { type: 'Basic', shape: 'Ellipse' },
     *           annotations: [{ content: 'Path Element' }]
     *       }
     *       ];
     *       let connectors: ConnectorModel[] = [{
     *           id: 'connector1', type: 'Straight',
     *           sourcePoint: { x: 100, y: 300 }, targetPoint: { x: 200, y: 400 },
     *       }];
     * let diagram$: Diagram = new Diagram({
     * ...
     * connectors: connectors, nodes: nodes,
     * getCustomProperty: (key: string) => {
     * if (key === 'nodes') {
     * return ['description'];
     * }
     *         return null;
     * }
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @aspDefaultValueIgnore
     * @default undefined
     * @deprecated
     */
    getCustomProperty: Function | string;
    /**
     * Allows the user to set custom tool that corresponds to the given action
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    /**
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * function getTool(action: string): ToolBase {
     * let tool: ToolBase;
     * if (action === 'userHandle1') {
     * tool = new CloneTool(diagram.commandHandler, true);
     * }
     * return tool;
     * }
     * class CloneTool extends ToolBase {
     * public mouseDown(args: MouseEventArgs): void {
     * super.mouseDown(args);
     * diagram.copy();
     * diagram.paste();
     * }
     * }
     * let nodes: NodeModel[] = [{
     *           id: 'node1', width: 100, height: 100, offsetX: 100, offsetY: 100,
     *       },
     *       {
     *           id: 'node2', width: 100, height: 100, offsetX: 300, offsetY: 100,
     *           shape: { type: 'Basic', shape: 'Ellipse' },
     *       }];
     *       let connectors: ConnectorModel[] = [{
     *           id: 'connector1', type: 'Straight',
     *           sourcePoint: { x: 100, y: 300 }, targetPoint: { x: 200, y: 400 },
     *       }];
     *      let handles: UserHandleModel[] = [
     *          { name: 'handle', margin: { top: 0, bottom: 0, left: 0, right: 0 }, offset: 0,
     *            pathData: 'M 376.892,225.284L 371.279,211.95L 376.892,198.617L 350.225,211.95L 376.892,225.284 Z',
     *            side: 'Top', horizontalAlignment: 'Center', verticalAlignment: 'Center',
     *            pathColor: 'yellow' }];
     * let diagram$: Diagram = new Diagram({
     * ...
     *     connectors: connectors, nodes: nodes,
     *     selectedItems: { constraints: SelectorConstraints.All, userHandles: handles },
     *     getCustomTool: getTool
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @deprecated
     */
    getCustomTool: Function | string;
    /**
     * Allows the user to set custom cursor that corresponds to the given action
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    /**
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * function getCursor(action: string, active: boolean): string {
     * let cursor: string;
     * if (active && action === 'Drag') {
     * cursor = '-webkit-grabbing';
     * } else if (action === 'Drag') {
     * cursor = '-webkit-grab'
     * }
     * return cursor;
     * }
     * let nodes: NodeModel[] = [{
     *           id: 'node1', width: 100, height: 100, offsetX: 100, offsetY: 100,
     *       },
     *       {
     *           id: 'node2', width: 100, height: 100, offsetX: 300, offsetY: 100,
     *           shape: { type: 'Basic', shape: 'Ellipse' },
     *       }];
     * let handle: UserHandleModel[] = [
     * { name: 'handle', margin: { top: 0, bottom: 0, left: 0, right: 0 }, offset: 0,
     * pathData: 'M 376.892,225.284L 371.279,211.95L 376.892,198.617L 350.225,211.95L 376.892,225.284 Z',
     * side: 'Top', horizontalAlignment: 'Center', verticalAlignment: 'Center',
     * pathColor: 'yellow' }];
     * let diagram$: Diagram = new Diagram({
     * ...
     *     nodes: nodes,
     *     selectedItems: { constraints: SelectorConstraints.All, userHandles: handle },
     *     getCustomCursor: getCursor
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @deprecated
     */
    getCustomCursor: Function | string;
    /**
     * A collection of JSON objects where each object represents a custom cursor action. Layer is a named category of diagram shapes.
     *
     * @default []
     */
    customCursor: CustomCursorActionModel[];
    /**
     * Helps to set the undo and redo node selection
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     *       let connectors: ConnectorModel[] = [{
     *           id: 'connector1',
     *           sourcePoint: { x: 100, y: 300 },
     *           targetPoint: { x: 200, y: 400 },
     *       }];
     * let diagram$: Diagram = new Diagram({
     * ...
     *   connectors: connectors,
     *   updateSelection: (object: ConnectorModel | NodeModel, diagram: Diagram) => {
     *   let objectCollection = [];
     *   objectCollection.push(obejct);
     *   diagram.select(objectCollection);
     *   },
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @aspDefaultValueIgnore
     * @default undefined
     * @deprecated
     */
    updateSelection: Function | string;
    /**
     * Represents the diagram settings
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let diagram$: Diagram = new Diagram({
     * ...
     * diagramSettings: { inversedAlignment: true  }
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @default {}
     */
    diagramSettings: DiagramSettingsModel;
    /** @private */
    version: number;
    /**
     * Defines the collection of selected items, size and position of the selector
     *
     * @default {}
     */
    selectedItems: SelectorModel;
    /**
     * Defines the current zoom value, zoom factor, scroll status and view port size of the diagram
     *
     * @default {}
     */
    scrollSettings: ScrollSettingsModel;
    /**
     * Layout is used to auto-arrange the nodes in the Diagram area
     *
     * @default {}
     */
    layout: LayoutModel;
    /**
     * Defines a set of custom commands and binds them with a set of desired key gestures
     *
     * @default {}
     */
    commandManager: CommandManagerModel;
    /**
     * Triggers after diagram is populated from the external data source
     *
     * @event
     * @deprecated
     */
    dataLoaded: base.EmitType<IDataLoadedEventArgs>;
    /**
     * Triggers when a symbol is dragged into diagram from symbol palette
     *
     * @event
     */
    dragEnter: base.EmitType<IDragEnterEventArgs>;
    /**
     * Triggers when a symbol is dragged outside of the diagram.
     *
     * @event
     */
    dragLeave: base.EmitType<IDragLeaveEventArgs>;
    /**
     * Triggers when a symbol is dragged over diagram
     *
     * @event
     * @deprecated
     */
    dragOver: base.EmitType<IDragOverEventArgs>;
    /**
     * Triggers when a node, connector or diagram is clicked
     *
     * @event
     */
    click: base.EmitType<IClickEventArgs>;
    /**
     * Triggers when a change is reverted or restored(undo/redo)
     *
     * @event
     */
    historyChange: base.EmitType<IHistoryChangeArgs>;
    /**
     * Triggers when a custom entry change is reverted or restored(undo/redo)
     *
     * @event
     */
    historyStateChange: base.EmitType<IBlazorCustomHistoryChangeArgs>;
    /**
     * Triggers when a node, connector or diagram model is clicked twice
     *
     * @event
     */
    doubleClick: base.EmitType<IDoubleClickEventArgs>;
    /**
     * Triggers when editor got focus at the time of node’s label or text node editing.
     *
     * @event
     */
    textEdit: base.EmitType<ITextEditEventArgs>;
    /**
     * Triggers when the diagram is zoomed or panned
     *
     * @event
     * @deprecated
     */
    scrollChange: base.EmitType<IScrollChangeEventArgs>;
    /**
     * Event triggers whenever the user rotate the mouse wheel either upwards or downwards
     *
     * @event
     */
    mouseWheel: base.EmitType<IMouseWheelEventArgs>;
    /**
     * Triggers when the selection is changed in diagram
     *
     * @event
     */
    selectionChange: base.EmitType<ISelectionChangeEventArgs>;
    /**
     * Triggers when a node is resized
     *
     * @event
     */
    sizeChange: base.EmitType<ISizeChangeEventArgs>;
    /**
     * Triggers when the connection is changed
     *
     * @event
     */
    connectionChange: base.EmitType<IConnectionChangeEventArgs>;
    /**
     * Triggers when the connector's source point is changed
     *
     * @event
     * @deprecated
     */
    sourcePointChange: base.EmitType<IEndChangeEventArgs>;
    /**
     * Triggers when the connector's target point is changed
     *
     * @event
     * @deprecated
     */
    targetPointChange: base.EmitType<IEndChangeEventArgs>;
    /**
     * Triggers once the node or connector property changed.
     *
     * @event
     */
    propertyChange: base.EmitType<IPropertyChangeEventArgs>;
    /**
     * Triggers while dragging the elements in diagram
     *
     * @event
     */
    positionChange: base.EmitType<IDraggingEventArgs>;
    /**
     * Triggers when a user releases a key.
     *
     * @event
     */
    keyUp: base.EmitType<IKeyEventArgs>;
    /**
     * Triggers when a user is pressing a key.
     *
     * @event
     */
    keyDown: base.EmitType<IKeyEventArgs>;
    /**
     * Triggers after animation is completed for the diagram elements.
     *
     * @event
     * @deprecated
     */
    animationComplete: base.EmitType<Object>;
    /**
     * Triggers when the diagram elements are rotated
     *
     * @event
     */
    rotateChange: base.EmitType<IRotationEventArgs>;
    /**
     * Triggers when a node/connector is added/removed to/from the diagram.
     *
     * @deprecated
     * @event
     */
    collectionChange: base.EmitType<ICollectionChangeEventArgs>;
    /**
     * Triggers when a node/connector fixedUserHandle is clicked in the diagram.
     *
     * @event
     */
    fixedUserHandleClick: base.EmitType<FixedUserHandleClickEventArgs>;
    /**
     * Triggers when a mouseDown on the user handle.
     *
     * @event
     */
    onUserHandleMouseDown: base.EmitType<UserHandleEventsArgs>;
    /**
     * Triggers when a mouseUp on the user handle.
     *
     * @event
     */
    onUserHandleMouseUp: base.EmitType<UserHandleEventsArgs>;
    /**
     * Triggers when a mouseEnter on the user handle.
     *
     * @event
     */
    onUserHandleMouseEnter: base.EmitType<UserHandleEventsArgs>;
    /**
     * Triggers when a mouseLeave on the user handle.
     *
     * @event
     */
    onUserHandleMouseLeave: base.EmitType<UserHandleEventsArgs>;
    /**
     * Triggers when a mouseDown on the fixed user handle.
     *
     * @event
     */
    onFixedUserHandleMouseDown: base.EmitType<FixedUserHandleEventsArgs>;
    /**
     * Triggers when a mouseUp on the fixed user handle.
     *
     * @event
     */
    onFixedUserHandleMouseUp: base.EmitType<FixedUserHandleEventsArgs>;
    /**
     * Triggers when a mouseEnter on the fixed user handle.
     *
     * @event
     */
    onFixedUserHandleMouseEnter: base.EmitType<FixedUserHandleEventsArgs>;
    /**
     * Triggers when a mouseLeave on the fixed user handle.
     *
     * @event
     */
    onFixedUserHandleMouseLeave: base.EmitType<FixedUserHandleEventsArgs>;
    /**
     * Triggers when a segment is added/removed to/from the connector.
     *
     * @event
     * @deprecated
     */
    segmentCollectionChange: base.EmitType<ISegmentCollectionChangeEventArgs>;
    /**
     * Triggers when the image node is loaded.
     *
     * @deprecated
     * @event
     */
    onImageLoad: base.EmitType<IImageLoadEventArgs>;
    /**
     * Triggers when the state of the expand and collapse icon change for a node.
     *
     * @deprecated
     * @event
     */
    expandStateChange: base.EmitType<IExpandStateChangeEventArgs>;
    /**
     * This event triggers before the diagram load.
     *
     * @event
     */
    load: base.EmitType<ILoadEventArgs>;
    /**
     * Triggered when the diagram is rendered completely.
     *
     * @event
     */
    created: base.EmitType<Object>;
    /**
     * Triggered when mouse enters a node/connector.
     *
     * @event
     */
    mouseEnter: base.EmitType<IMouseEventArgs>;
    /**
     * Triggered when mouse leaves node/connector.
     *
     * @event
     */
    mouseLeave: base.EmitType<IMouseEventArgs>;
    /**
     * Triggered when mouse hovers a node/connector.
     *
     * @event
     * @deprecated
     */
    mouseOver: base.EmitType<IMouseEventArgs>;
    /**
     *
     * Triggered when an element is drawn using drawing Tool
     *  @event
     */
    elementDraw: base.EmitType<IElementDrawEventArgs>;
    /**
     * Triggers before opening the context menu
     *
     * @event
     */
    contextMenuOpen: base.EmitType<navigations.BeforeOpenCloseMenuEventArgs>;
    /**
     * Triggers before rendering the context menu item
     *
     * @event
     * @deprecated
     */
    contextMenuBeforeItemRender: base.EmitType<navigations.MenuEventArgs>;
    /**
     * Triggers when a context menu item is clicked
     *
     * @event
     */
    contextMenuClick: base.EmitType<navigations.MenuEventArgs>;
    /**
     * Triggers when a command executed.
     *
     * @event
     */
    commandExecute: base.EmitType<ICommandExecuteEventArgs>;
    /**
     * A collection of JSON objects where each object represents a layer. Layer is a named category of diagram shapes.
     *
     * @default []
     */
    layers: LayerModel[];
    /**
     * Triggers when a symbol is dragged and dropped from symbol palette to drawing area
     *
     * @event
     */
    drop: base.EmitType<IDropEventArgs>;
    /**
     *This event is triggered when we drag the segment thumb of Orthogonal/ Straight /Bezier connector
     *
     * @event
     * @deprecated
     */
    segmentChange: base.EmitType<ISegmentChangeEventArgs>;
    /**
     *This event triggers after the diagram elements finished loading using loadDiagram method
     *
     * @event
     */
    loaded: base.EmitType<ILoadedEventArgs>;
    /**
     * Triggers when the layout rendering process in the diagram has either started or completed.
     *
     *  @event
     */
    layoutUpdated: base.EmitType<ILayoutUpdatedEventArgs>;
    /** @private */
    preventDiagramUpdate: boolean;
    /** @private */
    checkMenu: boolean;
    /** @private */
    parentObject: NodeModel;
    /** @hidden */
    /** @private */
    localeObj: base.L10n;
    private defaultLocale;
    /** @private */
    isServerUpdate: boolean;
    /** @private */
    currentDrawingObject: Node | Connector;
    /** @private */
    currentSymbol: Node | Connector;
    /** @private */
    oldNodeObjects: Node[];
    /** @private */
    oldDiagramObject: object;
    /** @private */
    oldConnectorObjects: Connector[];
    /** @private */
    diagramRenderer: DiagramRenderer;
    private gridlineSvgLayer;
    private renderer;
    /** @private */
    tooltipObject: popups.Tooltip;
    /** @private */
    hRuler: Ruler;
    /** @private */
    vRuler: Ruler;
    /** @private */
    droppable: base.Droppable;
    /** @private */
    diagramCanvas: HTMLElement;
    /** @private */
    diagramLayer: HTMLCanvasElement | SVGGElement;
    private diagramLayerDiv;
    private adornerLayer;
    private eventHandler;
    private preventOverviewRefresh;
    /** @private */
    scroller: DiagramScroller;
    /** @private */
    spatialSearch: SpatialSearch;
    /** @private */
    commandHandler: CommandHandler;
    /** @private */
    layerZIndex: number;
    /** @private */
    layerZIndexTable: {};
    /** @private */
    nameTable: {};
    /** @private */
    canEnableBlazorObject: boolean;
    /** @private */
    pathTable: {};
    /** @private */
    connectorTable: {};
    /** @private */
    groupTable: {};
    /** @private */
    private htmlLayer;
    /** @private */
    diagramActions: DiagramAction;
    /** @private */
    scrollActions: ScrollActions;
    /** @private */
    blazorActions: BlazorAction;
    /** @private */
    commands: {};
    /** @private */
    activeLabel: ActiveLabel;
    /** @private */
    activeLayer: LayerModel;
    /** @private */
    serviceLocator: ServiceLocator;
    /** @private */
    views: string[];
    /** @private */
    isLoading: Boolean;
    /** @private */
    textEditing: Boolean;
    /** @private */
    isTriggerEvent: Boolean;
    /** @private */
    preventNodesUpdate: Boolean;
    /** @private */
    preventConnectorsUpdate: Boolean;
    /** @private */
    callBlazorModel: Boolean;
    /** @private */
    selectionConnectorsList: ConnectorModel[];
    /** @private */
    deleteVirtualObject: boolean;
    /** @private */
    realActions: RealAction;
    /** @private */
    previousSelectedObject: (NodeModel | ConnectorModel | AnnotationModel)[];
    canLayout: boolean;
    cancelPositionChange: boolean;
    private isRefreshed;
    /** @private */
    swimlaneChildTable: {};
    /** @private */
    swimlaneZIndexTable: {};
    /** @private */
    canExpand: boolean;
    private changedConnectorCollection;
    private changedNodesCollection;
    private previousNodeCollection;
    private previousConnectorCollection;
    private crudDeleteNodes;
    private previousSelectedObjects;
    private blazorAddorRemoveCollection;
    private blazorRemoveIndexCollection;
    private diagramid;
    private portCenterPoint;
    /** @private */
    selectedObject: {
        helperObject: NodeModel;
        actualObject: NodeModel;
    };
    /** @private */
    deleteDependentConnector: boolean;
    /** @private */
    scaleValue: number;
    routedConnectors: string[];
    /** @private */
    pathDataStorage: Map<string, PointModel[]>;
    private isUndo;
    /**@private */
    groupBounds: Rect;
    /**
     * Constructor for creating the widget
     */
    constructor(options?: DiagramModel, element?: HTMLElement | string);
    private updateAnnotationText;
    private clearCollection;
    /**
     * Updates the diagram control when the objects are changed by comparing new and old property values.
     *
     * @param {DiagramModel} newProp - A object that lists the new values of the changed properties.
     * @param {DiagramModel} oldProp - A object that lists the old values of the changed properties.
     */
    onPropertyChanged(newProp: DiagramModel, oldProp: DiagramModel): void;
    private updateSnapSettings;
    private updateGradient;
    private updateRulerSettings;
    /**
     * Get the properties to be maintained in the persisted state.
     *
     * @returns {string}
     */
    getPersistData(): string;
    /**
     * Initialize nodes, connectors and renderer
     */
    protected preRender(): void;
    private initializePrivateVariables;
    private initializeServices;
    /**
     * Method to set culture for chart
     */
    private setCulture;
    /**
     * Renders the diagram control with nodes and connectors
     */
    render(): void;
    private updateFitToPage;
    private updateTemplate;
    private renderInitialCrud;
    /**
     * Retrieves the module name associated with the diagram.
     *
     * @returns {string}  Retrieves the module name associated with the diagram.
     */
    getModuleName(): string;
    /**
     *
     * Returns the name of class Diagram
     * @returns {string}  Returns the module name of the diagram
     * @private
     */
    getClassName(): string;
    /**
     * To provide the array of modules needed for control rendering
     *
     * @returns {base.ModuleDeclaration[]} To provide the array of modules needed for control rendering .\
     * @private
     */
    requiredModules(): base.ModuleDeclaration[];
    private removeUserHandlesTemplate;
    /**
     *Destroys the diagram, freeing up its resources.
     *
     * @returns {void} Destroys the diagram, freeing up its resources.
     */
    destroy(): void;
    private wireEvents;
    private unWireEvents;
    /**
     * Select a specified collection of nodes and connectors in the diagram. You can specify whether to clear the existing selection and provide an old value if needed. \
     *
     * @returns { void } Select a specified collection of nodes and connectors in the diagram. You can specify whether to clear the existing selection and provide an old value if needed.\
     * @param {NodeModel | ConnectorModel} objects - An array containing the collection of nodes and connectors to be selected.
     * @param {boolean} multipleSelection - Determines whether the existing selection should be cleared (default is false).
     * @param {NodeModel | ConnectorModel} oldValue - Defines the old value
     *
     */
    select(objects: (NodeModel | ConnectorModel | AnnotationModel)[], multipleSelection?: boolean, oldValue?: (NodeModel | ConnectorModel | AnnotationModel)[]): void;
    /**
     * Returns the diagram action as a string representation.
     * @returns { string }
     * @param { DiagramAction } diagramAction - The diagram action to be converted to a string.
     */
    getDiagramAction(diagramAction: DiagramAction): string;
    /**
     *  Select all objects, including nodes and connectors, in the diagram. \
     *
     * @returns { void }  Select all objects, including nodes and connectors, in the diagram.\
     *
     */
    selectAll(): void;
    /**
     * Remove a specific object from the current selection in the diagram. \
     *
     * @returns { void } Remove a specific object from the current selection in the diagram.\
     * @param {NodeModel | ConnectorModel} obj -  The object to remove from the selection.
     *
     */
    unSelect(obj: NodeModel | ConnectorModel): void;
    /**
     * Removes all elements from the selection list, clearing the current selection.\
     *
     * @returns { void } Removes all elements from the selection list, clearing the current selection.\
     *
     */
    clearSelection(): void;
    /**
     *  Updates the dimensions of the diagram viewport. \
     *
     * @returns { void }  Updates the dimensions of the diagram viewport.\
     *
     */
    updateViewPort(): void;
    private cutCommand;
    /**
     *  Removes the selected nodes and connectors from the diagram and moves them to the diagram clipboard for cutting. \
     *
     * @returns { void }  Removes the selected nodes and connectors from the diagram and moves them to the diagram clipboard for cutting. \
     *
     */
    cut(): void;
    /**
     *   Adds a process into the sub-process. \
     *
     * @returns { void }  Adds a process into the sub-process. \
     * @param {NodeModel | ConnectorModel} process - A NodeModel representing the process to be added.
     * @param {boolean} parentId - A string representing the parent ID where the process will be added.
     *
     */
    addProcess(process: NodeModel, parentId: string): void;
    /**
     *  Removes a process from the BPMN sub-process. \
     *
     * @returns { void }  Removes a process from the BPMN sub-process.\
     * @param {string} id - The ID of the process to be removed.
     *
     */
    removeProcess(id: string): void;
    private pasteCommand;
    /**
     * Adds the given objects or the objects in the diagram clipboard to the diagram control. \
     *
     * @returns { void }  Adds the given objects or the objects in the diagram clipboard to the diagram control. \
     * @param {NodeModel[] | ConnectorModel[]} obj - An array of nodes or connectors objects to be added to diagram.
     * @deprecated
     *
     */
    paste(obj?: (NodeModel | ConnectorModel)[]): void;
    /**
     *  Fits the diagram to the page with respect to mode and region. \
     *
     * @returns { void }  Fits the diagram to the page with respect to mode and region.\
     * @param {IFitOptions} options - specify the options for fitting the diagram to the page.
     */
    fitToPage(options?: IFitOptions): void;
    /**
     * Brings the specified bounds into view within the diagram's viewport. \
     *
     * @returns { void }  Brings the specified bounds into view within the diagram's viewport.\
     * @param {Rect} bound - Representing the bounds to be brought into view.
     *
     */
    bringIntoView(bound: Rect): void;
    /**
     * Brings the specified bounds to the center of the viewport. \
     *
     * @returns { void }  Brings the specified bounds to the center of the viewport.\
     * @param {Rect} bound - representing the bounds to be centered in the viewport.
     *
     */
    bringToCenter(bound: Rect): void;
    private copyCommand;
    /**
     * Copies the selected nodes and connectors from the diagram to the diagram clipboard for copying. \
     *
     * @returns { Object } Copies the selected nodes and connectors from the diagram to the diagram clipboard for copying.\
     *
     */
    copy(): Object;
    /**
     *  Groups the selected nodes and connectors in the diagram. \
     *
     * @returns { void }   Groups the selected nodes and connectors in the diagram.\
     *
     */
    group(): void;
    /**
     *  UnGroup the selected nodes and connectors in diagram \
     *
     * @returns { void }   UnGroup the selected nodes and connectors in diagram.\
     *
     */
    unGroup(): void;
    /**
     *  Use this method to move the currently selected nodes or connectors to the back of the drawing order. This effectively places them behind other elements in the diagram. \
     *
     * @returns { void }   Use this method to move the currently selected nodes or connectors to the back of the drawing order. This effectively places them behind other elements in the diagram.\
     *
     */
    sendToBack(): void;
    /**
     * Specify which layer in the diagram should be considered the active layer. The active layer is the one where new elements will be added and where user interactions are primarily focused. \
     *
     * @returns { void } Specify which layer in the diagram should be considered the active layer. The active layer is the one where new elements will be added and where user interactions are primarily focused. \
     * @param {string} layerName - The name of the layer to set as the active layer.
     *
     */
    setActiveLayer(layerName: string): void;
    /**
     * add the layer into diagram\
     *
     * @returns { void } Adds the specified layer to the diagram control along with its associated objects.\
     * @param {LayerModel} layer - representing the layer to be added to the diagram.
     * @param {Object[]} layerObject -  An optional array of objects associated with the layer.
     * @blazorArgsType layer|DiagramLayer
     * @deprecated
     *
     */
    addLayer(layer: LayerModel, layerObject?: Object[]): void;
    /**
     * remove the layer from diagram \
     *
     * @returns { void } remove the layer from diagram.\
     * @param {string} layerId - provide the bound value.
     * @deprecated
     *
     */
    removeLayer(layerId: string): void;
    /**
     *Moves objects from one layer to another layer within the diagram. \
     *
     * @returns { void } Moves objects from one layer to another layer within the diagram. \
     * @param {string[]} objects - An array of object IDs represented as strings to be moved.
     * @param {string} targetLayer - The ID of the target layer to which the objects should be moved.
     */
    moveObjects(objects: string[], targetLayer?: string): void;
    private layerObjectUpdate;
    /**
     * Use this method to change the order of layers in the diagram. This moves the specified layer behind the layer that comes after it in the layer order. \
     *
     * @returns { void } Use this method to change the order of layers in the diagram. This moves the specified layer behind the layer that comes after it in the layer order.\
     * @param {string} layerName - The name of the layer to be moved.
     * @param {string} targetLayer - define the objects id of string array
     *
     */
    sendLayerBackward(layerName: string): void;
    /**
     * Moves the specified layer forward in the drawing order. \
     *
     * @returns { void } Moves the specified layer forward in the drawing order.\
     * @param {string} layerName - A string representing the name of the layer to be moved forward.
     *
     */
    bringLayerForward(layerName: string): void;
    /**
     * Clones a layer along with its objects.\
     *
     * @returns { void } Clones a layer along with its objects.\
     * @param {string} layerName - A string representing the name of the layer to be cloned.
     *
     */
    cloneLayer(layerName: string): void;
    /**
     *Brings the selected nodes or connectors to the front of the drawing order. \
     *
     * @returns { void } Brings the selected nodes or connectors to the front of the drawing order. \
     *
     */
    bringToFront(): void;
    /**
     *Sends the selected nodes or connectors forward in the visual order.  \
     *
     * @returns { void } Sends the selected nodes or connectors forward in the visual order. \
     *
     */
    moveForward(): void;
    /**
     *Sends the selected nodes or connectors one step backward in the z-order.\
     *
     * @returns { void } Sends the selected nodes or connectors one step backward in the z-order.\
     *
     */
    sendBackward(): void;
    /**
     *gets the node or connector having the given name \
     *
     * @returns { void } gets the node or connector having the given name.\
     * @param {string} name - define the name of the layer
     *
     */
    getObject(name: string): {};
    /**
     *Retrieves the node object for the given node ID.  \
     *
     * @returns { void } Retrieves the node object for the given node ID. \
     * @param {string} id - The ID of the node for which the node object is to be retrieved.
     *
     */
    getNodeObject(id: string): NodeModel;
    /**
     *Retrieves the connector object for the given node ID. \
     *
     * @returns { void } Retrieves the connector object for the given node ID.\
     * @param {string} id - The ID of the node for which the connector object is to be retrieved.
     *
     */
    getConnectorObject(id: string): ConnectorModel;
    /**
     * Retrieves the active layer. \
     *
     * @returns { void } Retrieves the active layer.\
     *
     */
    getActiveLayer(): LayerModel;
    private nudgeCommand;
    /**
     * Moves the selected objects towards the given direction by a specified distance.
     *
     * @returns { void }  Moves the selected objects towards the given direction by a specified distance.  \
     * @param {NudgeDirection} direction -  Defines the direction in which the objects should be moved.
     * @param {number} x - The horizontal distance by which the selected objects should be moved.
     * @param {number} y -  The vertical distance by which the selected objects should be moved.
     * @param {string} type -  A string that defines the type of nudge action.
     */
    nudge(direction: NudgeDirection, x?: number, y?: number, type?: string): void;
    private insertBlazorDiagramObjects;
    /**
     * Drags the given object (nodes, connectors, or selector) by the specified horizontal and vertical distances.
     *
     * @returns { void }  Drags the given object (nodes, connectors, or selector) by the specified horizontal and vertical distances.\
     * @param {NodeModel | ConnectorModel | SelectorModel} obj - representing the nodes, connectors, or selector to be dragged.
     * @param {number} tx - A number representing the horizontal distance by which the given objects should be moved.
     * @param {number} ty - A number representing the vertical distance by which the given objects should be moved.
     */
    drag(obj: NodeModel | ConnectorModel | SelectorModel, tx: number, ty: number): void;
    private disableStackContainerPadding;
    private checkSize;
    /**
     * Use this method to scale one or more objects in the diagram by specifying the horizontal and vertical scaling ratios. You can also provide a pivot point as a reference for scaling.
     *
     * @returns { void } Use this method to scale one or more objects in the diagram by specifying the horizontal and vertical scaling ratios. You can also provide a pivot point as a reference for scaling.\
     * @param {NodeModel | ConnectorModel | SelectorModel} obj - The objects to be resized.
     * @param {number} sx - The horizontal scaling ratio.
     * @param {number} sy - The vertical scaling ratio.
     * @param {PointModel} pivot - 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 specified nodes, connectors, or selector by the given angle.
     *
     * @returns { void } Rotates the specified nodes, connectors, or selector by the given angle.\
     * @param {NodeModel | ConnectorModel | SelectorModel} obj - The objects to be rotated
     * @param {number} angle - The angle by which the objects should be rotated (in degrees).
     * @param {PointModel} pivot - The reference point with respect to which the objects will be rotated.
     * @param {boolean} rotateUsingHandle - Whether to rotate using the handle.
     */
    rotate(obj: NodeModel | ConnectorModel | SelectorModel, angle: number, pivot?: PointModel, rotateUsingHandle?: boolean): boolean;
    /**
     * Moves the source point of the given connector by the specified horizontal and vertical distances.
     *
     * @returns { void }  Moves the source point of the given connector by the specified horizontal and vertical distances.\
     * @param {ConnectorModel} obj - representing the connector whose source point needs to be moved.
     * @param {number} tx - A number representing the horizontal distance by which the source point should be moved.
     * @param {number} ty - A number representing the vertical distance by which the source point should be moved.
     */
    dragSourceEnd(obj: ConnectorModel, tx: number, ty: number): void;
    /**
     * Moves the target point of the given connector by the specified horizontal and vertical distances.
     *
     * @returns { void }   Moves the target point of the given connector by the specified horizontal and vertical distances.\
     * @param {ConnectorModel} obj - representing the connector whose target point needs to be moved.
     * @param {number} tx - A number representing the horizontal distance by which the target point should be moved.
     * @param {number} ty - A number representing the vertical distance by which the target point should be moved.
     */
    dragTargetEnd(obj: ConnectorModel, tx: number, ty: number): void;
    /**
     * Finds all the objects that are under the given mouse position based on specified criteria.
     *
     * @returns { void }   Finds all the objects that are under the given mouse position based on specified criteria.\
     * @param {PointModel} position - The PointModel that defines the position. The objects under this position will be found.
     * @param {IElement} source - Representing the source object. The objects under this source will be found.
     */
    findObjectsUnderMouse(position: PointModel, source?: IElement): IElement[];
    /**
     * Finds the object that is under the given mouse position based on specified criteria.
     *
     * @returns { void }   Finds the object that is under the given mouse position based on specified criteria. \
     * @param {NodeModel[] | ConnectorModel[]}objects - A collection of NodeModel or ConnectorModel objects, from which the target object has to be found.
     * @param {Actions} action - Defines the action used to find the relevant object.
     * @param {boolean} inAction - A boolean indicating 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) based on specified criteria.
     *
     * @returns { void } Finds the object that is under the given active object (source) based on specified criteria.\
     * @param {NodeModel[] | ConnectorModel[]} objects - A collection of node or connector objects, from which the target object has to be found.
     * @param {Actions} action - defines the action used to find the relevant object.
     * @param {boolean} inAction - A boolean indicating the active state of the action.
     * @param {PointModel} position - The PointModel that defines the position
     * @param {IElement} source - Representing the source element.
     */
    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 based on specified criteria.
     *
     * @returns { void } Finds the child element of the given object at the given position based on specified criteria.\
     * @param {IElement} obj - representing the object, the child element of which has to be found.
     * @param {PointModel} position - defines the position. The child element under this position will be found.
     * @param {Diagram} diagram - defines the diagram value.
     * @param {number} padding - A number representing the padding for the search area around the position.
     */
    findElementUnderMouse(obj: IElement, position: PointModel, diagram: Diagram, padding?: number): DiagramElement;
    /**
     * Defines the action to be done, when the mouse hovers the given element of the given object
     *
     * @returns { void } Defines the action to be done, when the mouse hovers the given element of the given object .\
     * @param {NodeModel | ConnectorModel} obj - Defines the object under mouse
     * @param {DiagramElement} wrapper - Defines the target element of the object under mouse
     * @param {PointModel} position - Defines the current mouse position
     * @param { NodeModel | PointPortModel | ShapeAnnotationModel | PathAnnotationModel} target - Defines the target
     * @private
     */
    findActionToBeDone(obj: NodeModel | ConnectorModel, wrapper: DiagramElement, position: PointModel, target?: NodeModel | ConnectorModel | PointPortModel | ShapeAnnotationModel | PathAnnotationModel): Actions;
    private updateConnectorPort;
    /**
     * Returns the tool that handles the given action.
     *
     * @returns { ToolBase } Returns the tool that handles the given action. \
     * @param {string} action - A string that defines the action that is going to be performed.
     */
    getTool(action: string): ToolBase;
    /**
     * Defines the cursor that corresponds to the given action.
     *
     * @returns { string } Defines the cursor that corresponds to the given action. \
     * @param {string} action - The action for which the cursor is defined.
     * @param {boolean} active - Indicates whether the action is active.
     */
    getCursor(action: string, active: boolean): string;
    /**
     * Initializes the undo redo actions
     *
     * @returns { void } Initializes the undo redo actions \
     * @private
     */
    initHistory(): void;
    /**
     * Adds a history entry for a change in the diagram control to the track.
     *
     * @returns { void } Adds a history entry for a change in the diagram control to the track. \
     * @param {HistoryEntry} entry - The history entry that describes a change in the diagram.
     * @param {string[]} sourceId - An optional array of source IDs associated with the change.
     */
    addHistoryEntry(entry: HistoryEntry, sourceId?: string[]): void;
    private checkCurrentSymbol;
    /**
     * Adds the given custom change in the diagram control to the track
     *
     * @returns { void } Adds the given custom change in the diagram control to the track \
     * @param {HistoryEntry} entry - Defines the entry/information about a change in diagram
     */
    addCustomHistoryEntry(entry: HistoryEntry): void;
    /** @private */
    historyChangeTrigger(entry: HistoryEntry, action: HistoryChangeAction, sourceId?: string[]): void;
    /**
     * Use this method to start a group action, allowing multiple actions to be treated as a single unit during undo/redo operations. This is useful when you want to group related actions together.
     *
     * @returns { void } Use this method to start a group action, allowing multiple actions to be treated as a single unit during undo/redo operations. This is useful when you want to group related actions together. \
     */
    startGroupAction(): void;
    /**
     * Closes the grouping of actions that will be undone/restored as a whole.
     *
     * @returns { void } Closes the grouping of actions that will be undone/restored as a whole.\
     */
    endGroupAction(): void;
    /**
     * Restores the last action that was performed.
     *
     * @returns { void } Restores the last action that was performed. \
     */
    undo(): void;
    /**
     * Reverse an undo action, essentially restoring the state of the component to a previous state after an undo operation has been performed.
     *
     * @returns { void } Reverse an undo action, essentially restoring the state of the component to a previous state after an undo operation has been performed.\
     */
    redo(): void;
    private getBlazorDiagramObjects;
    /**
     * Aligns a group of objects with reference to the first object in the group.
     *
     * @returns { void } Aligns a group of objects with reference to the first object in the group.\
     * @param {AlignmentOptions}option - Defining the factor by which the objects have to be aligned.
     * @param {NodeModel[] | ConnectorModel[]} objects - A collection of node or connector objects to be aligned.
     * @param {AlignmentMode} type - Defines the type to be aligned
     */
    align(option: AlignmentOptions, objects?: (NodeModel | ConnectorModel)[], type?: AlignmentMode): void;
    /**
     * Arranges a group of objects with equal intervals within the group.
     *
     * @returns { void } Arranges a group of objects with equal intervals within the group.\
     * @param {NodeModel[] | ConnectorModel[]} option - Objects that have to be equally spaced within the group.
     * @param {DistributeOptions} objects - Object defining the factor to distribute the shapes.
     */
    distribute(option: DistributeOptions, objects?: (NodeModel | ConnectorModel)[]): void;
    /**
     * Scales the specified objects to match the size of the first object in the group.
     *
     * @returns { void } Scales the specified objects to match the size of the first object in the group.\
     * @param {SizingOptions} option - Specifies whether the objects should be horizontally scaled, vertically scaled, or both.
     * @param {NodeModel[] | ConnectorModel[]}objects - The collection of objects to be scaled.
     */
    sameSize(option: SizingOptions, objects?: (NodeModel | ConnectorModel)[]): void;
    private updateBlazorDiagramProperties;
    private getZoomingAttribute;
    /**
     * Scales the diagram control based on the provided zoom factor. You can optionally specify a focused point around which the diagram will be zoomed.
     *
     * @returns { void } Scales the diagram control based on the provided zoom factor. You can optionally specify a focused point around which the diagram will be zoomed.\
     * @param {number} factor - Defines the factor by which the diagram is zoomed.
     * @param {PointModel} focusedPoint - Defines the point with respect to which the diagram will be zoomed.
     */
    zoom(factor: number, focusedPoint?: PointModel): void;
    /**
     * Scales the diagram control based on the provided options, which include the desired zoom factor, focus point, and zoom type.
     *
     * @returns { void }  Scales the diagram control based on the provided options, which include the desired zoom factor, focus point, and zoom type.\
     * @param {ZoomOptions} options - An object specifying the zoom factor, focus point, and zoom type.
     *
     */
    zoomTo(options: ZoomOptions): void;
    /**
     * Pans the diagram control to the given horizontal and vertical offsets.
     *
     * @returns { void } Pans the diagram control to the given horizontal and vertical offsets.\
     * @param {number} horizontalOffset - The horizontal distance to which the diagram should be scrolled.
     * @param {number} verticalOffset - The vertical distance to which the diagram should be scrolled.
     * @param {PointModel} focusedPoint - representing the focused point during panning.
     * @param {boolean} isInteractiveZoomPan - A boolean indicating whether the panning is interactive zoom pan.
     */
    pan(horizontalOffset: number, verticalOffset: number, focusedPoint?: PointModel, isInteractiveZoomPan?: boolean): void;
    /**
     * Resets the zoom and scroller offsets to their default values.
     *
     * @returns { void } Resets the zoom and scroller offsets to their default values.\
     */
    reset(): void;
    /**
     * Resets the segments of the connectors to their default state. This removes any custom segments and restores the connectors to their original configuration.
     *
     * @returns { void } Resets the segments of the connectors to their default state. This removes any custom segments and restores the connectors to their original configuration. \
     */
    resetSegments(): void;
    /**
     * setBlazorDiagramProps method
     *
     * @returns {void} setBlazorDiagramProps method .\
     * @param {boolean} arg - provide the eventName value.
     * @private
     */
    setBlazorDiagramProps(arg: boolean): void;
    /**
     * getDirection method
     *
     * @returns { Promise<void | object> } getDirection method .\
     * @param {DiagramEvent} eventName - provide the eventName value.
     * @param {Object} args - provide the args value.
     * @private
     */
    triggerEvent(eventName: DiagramEvent, args: Object): Promise<void | object>;
    private updateEventValue;
    /**
     * Adds the specified node to a lane within a swimlane.
     *
     * @returns { void }     Adds the specified node to a lane within a swimlane. \
     * @param {NodeModel} node - representing the node to be added to the lane.
     * @param {string} swimLane - A string representing the ID of the swimlane containing the lane.
     * @param {string} lane - A string representing the ID of the lane where the node will be added.
     * @deprecated
     */
    addNodeToLane(node: NodeModel, swimLane: string, lane: string): void;
    /**
     * Displays a tooltip for the specified diagram object.
     *
     * @param {NodeModel | ConnectorModel} obj - The object for which the tooltip will be shown.
     */
    showTooltip(obj: NodeModel | ConnectorModel): void;
    /**
     * Hides the tooltip for the corresponding diagram object.
     *
     * @param {NodeModel | ConnectorModel} obj - The node or connector object for which the tooltip should be hidden.
     */
    hideTooltip(obj: NodeModel | ConnectorModel): void;
    /**
     * Adds the specified node to the diagram control.
     *
     * @returns { Node }     Adds the specified node to the diagram control.\
     * @param {NodeModel} obj - representing the node to be added to the diagram.
     * @param {boolean} group - A boolean value indicating whether the node should be added to a group.
     * @blazorArgsType obj|DiagramNode
     */
    addNode(obj: NodeModel, group?: boolean): Node;
    /**
     * Adds the specified diagram object to the specified group node.
     *
     * @returns { void }     Adds the specified diagram object to the specified group node.\
     * @param {NodeModel} group - The group node to which the diagram object will be added.
     * @param {string | NodeModel | ConnectorModel} child - The diagram object to be added to the group.
     * @blazorArgsType obj|DiagramNode
     */
    addChildToGroup(group: NodeModel, child: string | NodeModel | ConnectorModel): void;
    /**
     * Removes the specified diagram object from the specified group node.
     *
     * @returns { void }     Removes the specified diagram object from the specified group node.\
     * @param {NodeModel} group - The group node to which the diagram object will be removed.
     * @param {string | NodeModel | ConnectorModel} child - The diagram object to be removed from the group.
     */
    removeChildFromGroup(group: NodeModel, child: string | NodeModel | ConnectorModel): void;
    /**
     * Retrieves the history stack values for either undo or redo actions.
     *
     * @returns { void } Retrieves the history stack values for either undo or redo actions.\
     * @param {boolean} isUndoStack - If `true`, retrieves the undo stack values;
 if `false`, retrieves the redo stack values.
     */
    getHistoryStack(isUndoStack: boolean): HistoryEntry[];
    /**
     * Returns the edges connected to the given node.
     *
     * @returns { string[] } Returns the edges connected to the given node. \
     * @deprecated
     * @param {Object} args - An object containing information about the node for which edges are to be retrieved.
     */
    getEdges(args: Object): string[];
    /**
     * Returns the parent id for the node
     *
     * @returns { string }Returns the parent id for the node .\
     * @deprecated
     * @param {string} id - returns the parent id
     */
    getParentId(id: string): string;
    /**
     * Adds the given connector to diagram control
     * @returns { Connector } Adds the given connector to diagram control .\
     *
     * @param {ConnectorModel} obj - Defines the connector that has to be added to diagram
     * @blazorArgsType obj|DiagramConnector
     */
    addConnector(obj: ConnectorModel): Connector;
    /** @private */
    UpdateBlazorDiagramModelCollection(obj: Node | Connector, copiedObject?: (NodeModel | ConnectorModel)[], multiSelectDelete?: (NodeModel | ConnectorModel)[], isBlazorGroupUpdate?: boolean): void;
    /**
     *  UpdateBlazorDiagramModel method
     *
     * @returns { void }  UpdateBlazorDiagramModel method .\
     * @param {Node | Connector | ShapeAnnotation | PathAnnotation} obj - provide the obj value.
     * @param {string} objectType - provide the objectType value.
     * @param {number} removalIndex - provide the removalIndex value.
     * @param {number} annotationNodeIndex - provide the annotationNodeIndex value.
     *
     * @private
     */
    UpdateBlazorDiagramModel(obj: Node | Connector | ShapeAnnotation | PathAnnotation, objectType: string, removalIndex?: number, annotationNodeIndex?: number): void;
    private UpdateBlazorLabelOrPortObjects;
    /**
     *  addBlazorDiagramObjects method
     *
     * @returns { void }  addBlazorDiagramObjects method .\
     *
     * @private
     */
    addBlazorDiagramObjects(): void;
    private removeNodeEdges;
    /**
     *  insertBlazorConnector method
     *
     * @returns { void }  insertBlazorConnector method .\
     * @param {Connector} obj - provide the nodeId value.
     *
     * @private
     */
    insertBlazorConnector(obj: Connector): void;
    /**
     * Adds the provided object, which can be a node, group, or connector, onto the diagram canvas.
     *
     * @returns { Node | Connector }     Adds the provided object, which can be a node, group, or connector, onto the diagram canvas.\
     * @param {NodeModel | ConnectorModel} obj - Specifies the object to be added to the diagram.
     * @param {boolean} group - If a group object is passed, set it to true.
     */
    add(obj: NodeModel | ConnectorModel, group?: boolean): Node | Connector;
    /**
     * AddElements method allows us to add diagram elements such as nodes and connectors as a collection into the diagram canvas.
     * @returns {void} -AddElements method.
     * @param { NodeModel[] | ConnectorModel[]} obj -Specifies the colelction object to be added to the diagram.
     * @public method
     **/
    addElements(obj: NodeModel[] | ConnectorModel[]): void;
    /**
     * getPathdata from path data storage to access the path elements points
     * @returns {PointModel[]} - Ruturns points of the path data
     * @param {string} key - Path data as key
     *
     * @private
     */
    getPathData(key: string): PointModel[];
    /**
     * setPathdata to path data storage to access the path elements points
     * @returns {void} - Set Path data method
     * @param {string} key - Path data as key
     * @param {PointModel[]} data - Path data's points
     *
     * @private
     */
    setPathData(key: string, data: PointModel[]): void;
    private updateSvgNodes;
    /**
     *  updateProcesses method
     *
     * @returns { void }  updateProcesses method .\
     * @param {(Node | Connector)} node - provide the nodeId value.
     *
     * @private
     */
    updateProcesses(node: (Node | Connector)): void;
    /**
     *  moveSvgNode method
     *
     * @returns { void }  moveSvgNode method .\
     * @param {string} nodeId - provide the nodeId value.
     *
     * @private
     */
    moveSvgNode(nodeId: string): void;
    /**
     * Adds the given annotation to the specified node.
     *
     * @returns { void } Adds the given annotation to the specified node.\
     * @param {BpmnAnnotationModel} annotation - Object representing the annotation to be added.
     * @param {NodeModel} node - object representing the node to which the annotation will be added.
     * @deprecated
     */
    addTextAnnotation(annotation: BpmnAnnotationModel, node: NodeModel): void;
    private spliceConnectorEdges;
    /**
     * Remove the dependent connectors if the node is deleted
     * @returns { void } Remove the dependent connectors if the node is deleted .\
     * @param {Node} obj - provide the node value.
     *
     * @private
     */
    removeDependentConnector(obj: Node | Connector): void;
    /**
     * Remove the dependent connectors if the node is deleted
     * @returns { void } Remove the dependent connectors if the node is deleted .\
     * @param {(NodeModel | ConnectorModel)} obj - provide the node value.
     *
     * @private
     */
    removeObjectsFromLayer(obj: (NodeModel | ConnectorModel)): void;
    /**
     * removeElements method \
     *
     * @returns { string }     removeElements method .\
     * @param {NodeModel | ConnectorModel} currentObj - provide the currentObj value.
     *
     * @private
     */
    removeElements(currentObj: NodeModel | ConnectorModel): void;
    private removeCommand;
    /**
     * Removes the specified object from the diagram.
     *
     * @param {NodeModel | ConnectorModel} obj - The node or connector object to be removed from the diagram.
     */
    remove(obj?: NodeModel | ConnectorModel): void;
    private isStackChild;
    /** @private */
    deleteChild(node: NodeModel | ConnectorModel | string, parentNode?: NodeModel, allowChildInSwimlane?: boolean): void;
    /**
     * addChild method \
     *
     * @returns { string }     addChild method .\
     * @param {NodeModel} node - provide the node value.
     * @param {string | NodeModel | ConnectorModel} child - provide the child value.
     * @param {number} index - provide the layoutOrientation value.
     *
     * @private
     */
    addChild(node: NodeModel, child: string | NodeModel | ConnectorModel, index?: number): string;
    /**
     * removeChild method \
     *
     * @returns { string }     removeChild method .\
     * @param {NodeModel} node - provide the node value.
     * @param {string | NodeModel | ConnectorModel} child - provide the child value.
     *
     * @private
     */
    removeChild(node: NodeModel, child: string | NodeModel | ConnectorModel): string;
    /**
     * Clears all nodes and objects in the diagram, effectively resetting the diagram to an empty state.
     *
     * @returns { void }     Clears all nodes and objects in the diagram, effectively resetting the diagram to an empty state.\
     * @deprecated
     */
    clear(): void;
    private clearLayers;
    private clearObjects;
    private startEditCommad;
    /**
     * Initiate the editing mode for a specific annotation within a node or connector.
     *
     * @returns { void }  Initiate the editing mode for a specific annotation within a node or connector. \
     * @param {NodeModel | ConnectorModel} node - The node or connector containing the annotation to be edited.
     * @param {string} id - The ID of the annotation to be edited within the node or connector.
     */
    startTextEdit(node?: NodeModel | ConnectorModel, id?: string): void;
    private updateConnectorfixedUserHandles;
    private updateNodeExpand;
    private updateConnectorAnnotation;
    private removeChildrenFromLayout;
    /**
     * Automatically updates the diagram objects based on the type of the layout.
     * @returns { ILayout | boolean }  Automatically updates the diagram objects based on the type of the layout.\
     */
    doLayout(): ILayout | boolean;
    private refreshRoutingConnectors;
    private refreshFlowChartConnectors;
    private canDistribute;
    /**
     * Serializes the diagram control as a string.
     * @returns { string }     Serializes the diagram control as a string. \
     */
    saveDiagram(): string;
    /**
     * Converts the given string into a Diagram Control.
     *
     * @returns { Object } Converts the given string into a Diagram Control. \
     * @param {string} data - The string representing the diagram model JSON to be loaded.
     * @param {boolean} isEJ1Data - A boolean indicating whether the JSON data is EJ1 data.
     */
    loadDiagram(data: string, isEJ1Data?: boolean): Object;
    /**
     * Exports the current diagram to a string in Mermaid format.
     * This method converts the current state of the diagram into Mermaid syntax, allowing it to be saved or shared.
     * @returns {string} - A string containing the Mermaid text representation of the current diagram.
     */
    saveDiagramAsMermaid(): string;
    /**
     * Converts the diagram to Mermaid format and saves it.
     * If the diagram has a 'MindMap' layout, it will generate a Mermaid mind map.
     * @returns {string} - The Mermaid formatted string representing the diagram.
     */
    private saveMindmapDiagramInMermaidFormat;
    /**
     * Creates a text data source for sub-level children in a Mermaid diagram.
     * @param {string[]} dataSource - The data source to be updated.
     * @param {string[]} outEdges - The out edges of the current node.
     * @param {number} level - The level of the current node.
     * @returns {void} - Creates a text data source for sub-level children in a Mermaid diagram.
     */
    private updateTextDataSource;
    /**
     * Returns the text data source for the specified node in Mermaid format.
     * @param {NodeModel} node - The node for which the Mermaid data is to be generated.
     * @param {number} level - The level of the node in the diagram.
     * @returns {string} - The text data source for the specified node in Mermaid format.
     */
    private convertMindmapToMermaid;
    /**
     * Converts the flowchart diagram to Mermaid format.
     * @returns {string} - The exported flowchart diagram as Mermaid data.
     */
    private saveFlowDiagramInMermaidFormat;
    private arrowType;
    private getNodeShape;
    /** Loads a diagram from a string containing Mermaid syntax.
     * This method parses the provided Mermaid text data and updates the current diagram accordingly.
     * Currently, only Mindmap and Flowchart diagrams can be loaded.
     * To render the diagram properly, you should set the `Layout.type` to either `MindMap` or `FlowChart`, and ensure that the respective modules are injected.
     * @param {string} data - The Mermaid text data representing the diagram to be loaded.
     * @returns {void} - No return value. The method updates the diagram in place.
     */
    loadDiagramFromMermaid(data: string): void;
    /**
     * Counts the number of leading spaces in the specified string.
     * @param {string} word The string to check for leading spaces.
     * @returns { number } The number of leading spaces.
     */
    private countLeadingSpaces;
    private mermaidNodeBaseCollection;
    private convertMermaidToMindmap;
    /**
     * Creates a data source for the Mermaid diagram based on the provided hierarchy data.
     * @param { HierarchyData[] } data The list of hierarchy data to process.
     * @param { HierarchyData } parent The parent hierarchy data.
     * @param { string } parentId The ID of the parent node.
     * @returns { void }
     */
    private createDataSource;
    private bangShape;
    private cloudShape;
    /**
     * Retrieves the node details based on the provided hierarchy data for a mermaid diagram.
     * @param { HierarchyData } hierarchyData The hierarchy data.
     * @returns { NodeData } The node details.
     */
    private getNodeDetails;
    /**
     * To convert the Mermaid data to flowchart diagram
     * @param {string} data - The Mermaid data to be converted to a flowchart diagram.
     * @returns {void}
     */
    private convertMermaidToFlowChart;
    /**
     * To convert the dataCollection into flowchart nodes and connectors
     * @param { FlowChartData[] } dataCollection - The data collection to be converted to flowchart nodes and connectors.
     * @returns {void}
     */
    private createFlowChart;
    /**
     * Splits the line based on arrow
     * @param { string } line - line to split
     * @returns { string[] } - Splitted line
     */
    private getLineSplitting;
    /**
     * To parse the style of the node
     * @param { string } line - line to parse
     * @param { FlowChartData[] } dataCollection - data collection
     * @returns { void }
     */
    private parseStyle;
    /**
     * @param {string[]} lines - The lines to be processed.
     * @param {FlowChartData[]} dataCollection - The data collection to be updated.
     * @param {string} arrowType - The type of arrow.
     * @returns { void }
     */
    private getNodeData;
    /**
     * To split the text based on the nested brackets
     * @param {string} text - The text to be split based on nested brackets.
     * @returns {string[]} An array of strings split based on the nested brackets.
     */
    private splitNested;
    private getShape;
    /**
     * To  get the html diagram content
     *
     * @returns { string }     getDirection method .\
     * @param {StyleSheetList} styleSheets - defines the collection of style files to be considered while exporting.
     */
    getDiagramContent(styleSheets?: StyleSheetList): string;
    /**
     * Exports a diagram as a image.
     *
     * @returns { void } Exports a diagram as a image.\
     * @param {string} image - A string representing the image content to be exported.
     * @param {IExportOptions} options -An object defining the properties of the image export.
     */
    exportImage(image: string, options: IExportOptions): void;
    /**
     * Prints the native or HTML nodes of the diagram as an image.
     *
     * @returns { void } Prints the native or HTML nodes of the diagram as an image. \
     * @param {string} image - A string that defines the image content to be printed.
     * @param {IExportOptions} options - An IExportOptions object that defines the properties of the image and printing options.
     */
    printImage(image: string, options: IExportOptions): void;
    /**
     * Define a limit on the number of history entries that the diagram's history manager can store. This can help manage memory usage and control the undo/redo history size. Or
     * Sets the limit for the history entries in the diagram.
     *
     * @returns { void }  Define a limit on the number of history entries that the diagram's history manager can store. This can help manage memory usage and control the undo/redo history size. Or Sets the limit for the history entries in the diagram.
     * @param {number} stackLimit - The limit for the history manager's stack.
     */
    setStackLimit(stackLimit: number): void;
    /**
     * Clears the history of the diagram, removing all the recorded actions from the undo and redo history.
     * @returns { void } Clears the history of the diagram, removing all the recorded actions from the undo and redo history.\
     */
    clearHistory(): void;
    /**
     * Retrieves the bounding rectangle that encloses the entire diagram.
     * @returns { void } TRetrieves the bounding rectangle that encloses the entire diagram. \
     */
    getDiagramBounds(): Rect;
    /**
     * Exports the diagram as an image or SVG element based on the specified options.
     *
     * @returns { void } Exports the diagram as an image or SVG element based on the specified options.\
     * @param {IExportOptions} options - An object defining how the diagram image should be exported.
     */
    exportDiagram(options: IExportOptions): string | SVGElement;
    /**
     * Prints the diagram.
     *
     * @returns { void }     Prints the diagram.\
     * @param {IPrintOptions} optons - An IPrintOptions object that defines how the diagram is to be printed.
     */
    print(options: IPrintOptions): void;
    /**
     * Adds ports to a node or connector at runtime. \
     *
     * @returns { void }    Adds ports to a node or connector at runtime.\
     * @param { Node | ConnectorModel} obj - object representing the node or connector to which ports will be added.
     * @param {ShapeAnnotationModel[] | PathAnnotationModel[]} ports - objects representing the ports to be added.
     * @blazorArgsType obj|DiagramNode
     */
    addPorts(obj: NodeModel | ConnectorModel, ports: PointPortModel[] | PathPortModel[]): void;
    /**
     * Adds constraints at run time. \
     *
     * @returns { void }Add constraints at run time .\
     * @param {number} constraintsType - The source value for constraints.
     * @param {number} constraintsValue - The target value for constraints.
     *
     */
    addConstraints(constraintsType: number, constraintsValue: number): number;
    /**
     * Remove constraints at run time. \
     *
     * @returns { void }Remove constraints at run time.\
     * @param {number} constraintsType - The type of constraints to be removed.
     * @param {number} constraintsValue - The value of constraints to be removed.
     *
     */
    removeConstraints(constraintsType: number, constraintsValue: number): number;
    /**
     * Add labels in node at the run time in the blazor platform  \
     *
     * @returns { void } Add labels in node at the run time in the blazor platform  \
     * @param {NodeModel} obj - provide the obj value.
     * @param {ShapeAnnotationModel[]} labels - provide the labels value.
     *
     */
    addNodeLabels(obj: NodeModel, labels: ShapeAnnotationModel[]): void;
    /**
     * Adds labels to a connector at runtime in the Blazor platform.\
     *
     * @returns { void } Adds labels to a connector at runtime in the Blazor platform.\
     * @param {ConnectorModel} obj - The connector to which labels will be added.
     * @param {PathAnnotationModel[]} labels - An array of labels to add to the connector.
     *
     */
    addConnectorLabels(obj: ConnectorModel, labels: PathAnnotationModel[]): void;
    /**
     * Adds labels to a node or connector at runtime. \
     *
     * @returns { void } Adds labels to a node or connector at runtime.\
     * @param {NodeModel | ConnectorModel} obj - The node or connector to which labels will be added.
     * @param {ShapeAnnotationModel[] | PathAnnotation[] | PathAnnotationModel[]} labels - An array of label objects to be added.
     *
     */
    addLabels(obj: NodeModel | ConnectorModel, labels: ShapeAnnotationModel[] | PathAnnotation[] | PathAnnotationModel[]): void;
    /**
     *addChildToUmlNode - Add methods, members and attributes into a UML class runtime. \
     *
     * @returns { void } Add.
     * @param {NodeModel} node - Specifies the existing UmlClass node in the diagram to which you intend to add child elements.
     * @param {UmlClassMethodModel | UmlClassAttributeModel | UmlEnumerationMemberModel} child - Specify the child elements, such as attributes, members, or methods, to be added to the UML class.
     * @param {UmlClassChildType} umlChildType - Specify the enum that you intend to add to the UML class.
     *
     */
    addChildToUmlNode(node: NodeModel, child: UmlClassMethodModel | UmlClassAttributeModel | UmlEnumerationMemberModel, umlChildType: UmlClassChildType): void;
    /**
     * Dynamically add lanes to a swimlane at runtime. You can specify the swimlane (node), the lanes to be added (lane), and an optional index to determine where the lanes should be inserted. \
     *
     * @returns { void } Dynamically add lanes to a swimlane at runtime. You can specify the swimlane (node), the lanes to be added (lane), and an optional index to determine where the lanes should be inserted.\
     * @param {NodeModel} node - The swimlane to which lanes will be added.
     * @param {LaneModel[]} lane -An array of LaneModel objects representing the lanes to be added.
     * @param {number} index - The index at which the lanes should be inserted.
     *
     */
    addLanes(node: NodeModel, lane: LaneModel[], index?: number): void;
    /**
     * Adds phases to a swimlane at runtime.  \
     *
     * @returns { void } Adds phases to a swimlane at runtime. \
     * @param {NodeModel} node - object representing the swimlane to which phases will be added.
     * @param {PhaseModel[]} phases - objects representing the phases to be added.
     *
     */
    addPhases(node: NodeModel, phases: PhaseModel[]): void;
    /**
     *Removes a dynamic lane from a swimlane at runtime. \
     *
     * @returns { void } Removes a dynamic lane from a swimlane at runtime.\
     * @param {NodeModel} node - representing the swimlane to remove the lane from.
     * @param {LaneModel} lane - representing the dynamic lane to be removed.
     *
     */
    removeLane(node: NodeModel, lane: LaneModel): void;
    /**
     *Removes a phase from a swimlane at runtime.\
     *
     * @returns { void } Removes a phase from a swimlane at runtime.\
     * @param {NodeModel} node - representing the swimlane to remove the phase from.
     * @param {PhaseModel} phase - representing the phase to be removed.
     *
     */
    removePhase(node: NodeModel, phase: PhaseModel): void;
    /**
     * Used to add or remove intermediate segments to the straight connector.
     *
     * @returns { void }  Used to add or remove intermediate segments to the straight connector.
     * @param {IEditSegmentOptions} editOptions - An object containing various options for adding/removing segments.
     *
     */
    editSegment(editOptions: IEditSegmentOptions): void;
    private removelabelExtension;
    /**
     * Removes labels from a node or connector at runtime. \
     *
     * @returns { string }    Removes labels from a node or connector at runtime. \
     * @param { Node | ConnectorModel} obj - Representing the node or connector to remove labels from.
     * @param {ShapeAnnotationModel[] | PathAnnotationModel[]} labels - objects representing the labels to be removed.
     *
     */
    removeLabels(obj: Node | ConnectorModel, labels: ShapeAnnotationModel[] | PathAnnotationModel[]): void;
    private removePortsExtenion;
    /**
     * Removes Ports at run time. \
     *
     * @returns { void } Removes Ports at run time.\
     * @param {Node} obj - The node or connector to remove ports from.
     * @param {PointPortModel[]} ports - An array of ports to be removed.
     *
     */
    removePorts(obj: Node | Connector, ports: PointPortModel[] | PathPortModel[]): void;
    /**
     * getSizeValue method \
     *
     * @returns { string }     getSizeValue method .\
     * @param {string | number} real - provide the real value.
     * @param {string | number} rulerSize - provide the rulerSize value.
     *
     * @private
     */
    getSizeValue(real: string | number, rulerSize?: number): string;
    private renderRulers;
    private intOffPageBackground;
    private initDiagram;
    private renderHiddenUserHandleTemplateLayer;
    private renderBackgroundLayer;
    private renderGridLayer;
    private renderDiagramLayer;
    private initLayers;
    /**
     * @private
     * @param { ClientRect } bounds - provide the bounds value
     * @param { HTMLElement } container - provide the container value
     * @returns { void }
     *
     */
    setScaleFromElement(bounds: ClientRect, container: HTMLElement): void;
    /**
     * @private
     * @returns { void }
     * @param { any } bounds - provide the bounds value
     */
    modifyBounds(bounds: any): void;
    /**
     * @private
     * @returns { number } - Returns offset value
     * @param { number } offset - provide the offset value
     * @param { boolean } isTooltipOffset - provide the isTooltipOffset value
     *
     */
    modifyClientOffset(offset: number, isTooltipOffset?: boolean): number;
    private renderAdornerLayer;
    private renderPortsExpandLayer;
    private renderHTMLLayer;
    private renderNativeLayer;
    /**
     * createSvg method \
     *
     * @returns { void }     createSvg method .\
     * @param {string} id - provide the source value.
     * @param {string | number} width - provide the source value.
     * @param {string | number} height - provide the source value.
     *
     * @private
     */
    createSvg(id: string, width: string | number, height: string | number): SVGElement;
    private updateBazorShape;
    private initObjects;
    /**
     * initLayerObjects method \
     *
     * @returns { void }     initLayerObjects method .\
     *
     * @private
     */
    initLayerObjects(): void;
    private alignGroup;
    private addToLayer;
    private updateLayer;
    private updateScrollSettings;
    private initData;
    private generateData;
    private makeData;
    private initNodes;
    private initConnectors;
    private setZIndex;
    private setIndex;
    private initializeDiagramLayers;
    /**
     * resetTool method \
     *
     * @returns { void }     resetTool method .\
     *
     * @private
     */
    resetTool(): void;
    private initObjectExtend;
    /**
     * initObject method \
     *
     * @returns { void }     initObject method .\
     * @param {End} obj - provide the obj value.
     * @param {End} layer - provide the layer value.
     * @param {LayoutOrientation} independentObj - provide the independentObj value.
     * @param {boolean} group - provide the independentObj value.
     *
     * @private
     */
    initObject(obj: IElement, layer?: LayerModel, independentObj?: boolean, group?: boolean): void;
    private getConnectedPort;
    private scaleObject;
    private updateDefaultLayoutIcons;
    private updateDefaultLayoutIcon;
    /**
     * updateGroupOffset method \
     *
     * @returns { void }     updateGroupOffset method .\
     * @param {NodeModel | ConnectorModel} node - provide the source value.
     * @param {boolean} isUpdateSize - provide the target value.
     *
     * @private
     */
    updateGroupOffset(node: NodeModel | ConnectorModel, isUpdateSize?: boolean): void;
    private initNode;
    private applyWrapperFlip;
    private applyWrapperCanvasFlip;
    private addBpmnAnnotationConnector;
    /** @private */
    private getBPMNTextAnnotation;
    /**
     * updateDiagramElementQuad method \
     *
     * @returns { void }     updateDiagramElementQuad method .\
     *
     * @private
     */
    updateDiagramElementQuad(): void;
    private onLoadImageSize;
    private updateChildPosition;
    private canExecute;
    private updateStackProperty;
    private initViews;
    private initCommands;
    private overrideCommands;
    private initCommandManager;
    /**
     * updateNodeEdges method \
     *
     * @returns { void }     updateNodeEdges method .\
     * @param {Node} node - provide the source value.
     *
     * @private
     */
    updateNodeEdges(node: Node): void;
    /**
     * updateIconVisibility method \
     *
     * @returns { void }     updateIconVisibility method .\
     * @param {Node} node - provide the source value.
     * @param {boolean} visibility - provide the source value.
     *
     * @private
     */
    private updateIconVisibility;
    /**
     * updateEdges method \
     *
     * @returns { void }     updateEdges method .\
     * @param {Connector} obj - provide the source value.
     *
     * @private
     */
    updateEdges(obj: Connector): void;
    /**
     * updatePortEdges method \
     *
     * @returns { void }     updatePortEdges method .\
     * @param {NodeModel} node - provide the source value.
     * @param {ConnectorModel} obj - provide the target value.
     * @param {boolean} isInEdges - provide the layoutOrientation value.
     *
     * @private
     */
    updatePortEdges(node: NodeModel | ConnectorModel, obj: ConnectorModel, isInEdges: boolean): void;
    /**
     * refreshDiagram method \
     *
     * @returns { void }     refreshDiagram method .\
     *
     * @private
     */
    refreshDiagram(): void;
    private updateCanupdateStyle;
    private getZindexPosition;
    /**
     *updateDiagramObject method \
     *
     * @returns { void } updateDiagramObject method .\
     * @param { (NodeModel | ConnectorModel) } obj - provide the obj value.
     * @param { boolean } canIgnoreIndex - provide the canIgnoreIndex value.
     * @param { boolean } isUpdateObject - provide the isUpdateObject value.
     *
     * @private
     */
    updateDiagramObject(obj: (NodeModel | ConnectorModel), canIgnoreIndex?: boolean, isUpdateObject?: boolean): void;
    private applyMarginBezier;
    private getMidPoint;
    /**
     * Apply alignment to bezier port
     * @returns {PointModel} return the port alignment points
     * @param {PathElement | TextElement} child - provide the obj value.
     * @param {any} finalPoint - provide final point value.
     * @param {PointModel} displacement - provide displacement value.
     */
    private applyAlignment;
    private getBezierPoints;
    /**
     *updateGridContainer method \
     *
     * @returns { void } updateGridContainer method .\
     * @param { GridPanel } grid - provide the objectArray value.
     *
     * @private
     */
    updateGridContainer(grid: GridPanel): void;
    /**
     *Retrieves the node or connector with the given id. \
     *
     * @returns { (NodeModel | ConnectorModel)[] } Retrieves the node or connector with the given id.\
     * @param { string[] } objectArray - The id of the node or connector to be retrieved.
     *
     * @private
     */
    getObjectsOfLayer(objectArray: string[]): (NodeModel | ConnectorModel)[];
    /**
     *refreshDiagramLayer method \
     *
     * @returns { void } refreshDiagramLayer method .\
     *
     * @private
     */
    refreshDiagramLayer(): void;
    /**
     *refreshCanvasLayers method \
     *
     * @returns { void } refreshCanvasLayers method .\
     * @param { View } view - provide the view value.
     *
     * @private
     */
    refreshCanvasLayers(view?: View): void;
    private renderBasicElement;
    private refreshElements;
    private renderTimer;
    /**
     *refreshCanvasDiagramLayer method \
     *
     * @returns { void } refreshCanvasDiagramLayer method .\
     * @param { View } view - provide the view value.
     *
     * @private
     */
    refreshCanvasDiagramLayer(view: View): void;
    /**
     *updatePortVisibility method \
     *
     * @returns { void } updatePortVisibility method .\
     * @param { Node } obj - provide the node value.
     * @param { PortVisibility } portVisibility - provide the portVisibility value.
     * @param { Boolean } inverse - provide the inverse value.
     *
     * @private
     */
    updatePortVisibility(obj: Node | Connector, portVisibility: PortVisibility, inverse?: Boolean): void;
    /**
     *refreshSvgDiagramLayer method \
     *
     * @returns { void } refreshSvgDiagramLayer method .\
     * @param { View } view - provide the object value.
     *
     * @private
     */
    refreshSvgDiagramLayer(view: View): void;
    /**
     *removeVirtualObjects method \
     *
     * @returns { void } removeVirtualObjects method .\
     * @param { Object } clearIntervalVal - provide the object value.
     *
     * @private
     */
    removeVirtualObjects(clearIntervalVal: Object): void;
    /**
     *updateTextElementValue method \
     *
     * @returns { void } updateTextElementValue method .\
     * @param {  NodeModel | ConnectorModel } object - provide the object value.
     *
     * @private
     */
    updateTextElementValue(object: NodeModel | ConnectorModel): void;
    /**
     *updateVirtualObjects method \
     *
     * @returns { void } updateVirtualObjects method .\
     * @param { string[] } collection - provide the collection value.
     * @param { boolean } remove - provide the remove value.
     * @param { string[] } tCollection - provide the htmlLayer value.
     *
     * @private
     */
    updateVirtualObjects(collection: string[], remove: boolean, tCollection?: string[]): void;
    /**
     *renderDiagramElements method \
     *
     * @returns { void } renderDiagramElements method .\
     * @param { HTMLCanvasElement | SVGElement} canvas - provide the canvas value.
     * @param { DiagramRenderer } renderer - provide the renderer value.
     * @param { HTMLElement } htmlLayer - provide the htmlLayer value.
     * @param {boolean } transform - provide the transform value.
     * @param {boolean } fromExport - provide the fromExport value.
     * @param { boolean } isOverView - provide the isOverView value.
     *
     * @private
     */
    renderDiagramElements(canvas: HTMLCanvasElement | SVGElement, renderer: DiagramRenderer, htmlLayer: HTMLElement, transform?: boolean, fromExport?: boolean, isOverView?: boolean): void;
    /**
     *updateBridging method \
     *
     * @returns { void } updateBridging method .\
     * @param {string} isLoad - provide the isLoad value.
     *
     * @private
     */
    updateBridging(isLoad?: boolean): void;
    /**
     *setCursor method \
     *
     * @returns { void } setCursor method .\
     * @param {string} cursor - provide the width value.
     *
     * @private
     */
    setCursor(cursor: string): void;
    /**
     *clearCanvas method \
     *
     * @returns { void } clearCanvas method .\
     * @param {View} view - provide the width value.
     *
     * @private
     */
    clearCanvas(view: View): void;
    /**
     *updateScrollOffset method \
     *
     * @returns { void } updateScrollOffset method .\
     *
     * @private
     */
    updateScrollOffset(): void;
    /**
     *setOffset method \
     *
     * @returns { void } setOffset method .\
     * @param {number} offsetX - provide the width value.
     * @param {number} offsetY - provide the height value.
     *
     * @private
     */
    setOffset(offsetX: number, offsetY: number): void;
    /**
     *setSize method \
     *
     * @returns { void } setSize method .\
     * @param {number} width - provide the width value.
     * @param {number} height - provide the height value.
     *
     * @private
     */
    setSize(width: number, height: number): void;
    /**
     *transformLayers method \
     *
     * @returns { void } Defines how to remove the Page breaks .\
     *
     * @private
     */
    transformLayers(): void;
    /**
     *Defines how to remove the Page breaks \
     *
     * @returns { void } Defines how to remove the Page breaks .\
     *
     * @private
     */
    removePageBreaks(): void;
    /**
     * Defines how the page breaks has been rendered \
     *
     * @returns { void } Defines how the page breaks has been rendered .\
     * @param {Rect} bounds - provide the overview value.
     *
     * @private
     */
    renderPageBreaks(bounds?: Rect): void;
    private validatePageSize;
    /**
     * setOverview method \
     *
     * @returns { void }     setOverview method .\
     * @param {View} overview - provide the overview value.
     * @param {string} id - provide the boolean value.
     *
     * @private
     */
    setOverview(overview: View, id?: string): void;
    private renderNodes;
    private updateThumbConstraints;
    /**
     * renderSelector method \
     *
     * @returns { void }     renderSelector method .\
     * @param {boolean} multipleSelection - provide the multipleSelection value.
     * @param {boolean} isSwimLane - provide the boolean value.
     * @param { Canvas } canvas - provide the lane or swimlane canvas
     *
     * @private
     */
    renderSelector(multipleSelection: boolean, isSwimLane?: boolean, canvas?: Canvas): void;
    private updateSelectionRectangle;
    /**
     * updateSelector method \
     *
     * @returns { void }     updateSelector method .\
     *
     * @private
     */
    updateSelector(): void;
    /**
     * renderSelectorForAnnotation method \
     *
     * @returns { void }     renderSelectorForAnnotation method .\
     * @param {Selector} selectorModel - provide the x value.
     * @param {(SVGElement | HTMLCanvasElement)} selectorElement - provide the y value.
     *
     * @private
     */
    renderSelectorForAnnotation(selectorModel: Selector, selectorElement: (SVGElement | HTMLCanvasElement)): void;
    /**
     * drawSelectionRectangle method \
     *
     * @returns { void }     drawSelectionRectangle method .\
     * @param {number} x - provide the x value.
     * @param {number} y - provide the y value.
     * @param {number} width - provide the width value.
     * @param {number} height - provide the height value.
     *
     * @private
     */
    drawSelectionRectangle(x: number, y: number, width: number, height: number): void;
    /**
     * renderHighlighter method \
     *
     * @returns { void }     renderHighlighter method .\
     * @param {DiagramElement} element - provide the node value.
     *
     * @private
     */
    renderHighlighter(element: DiagramElement): void;
    /**
     * clearHighlighter method \
     *
     * @returns { void }     clearHighlighter method .\
     *
     * @private
     */
    clearHighlighter(): void;
    /**
     * getNodesConnectors method \
     *
     * @returns { (NodeModel | ConnectorModel)[] }     getNodesConnectors method .\
     * @param {(NodeModel | ConnectorModel)[]} selectedItems - provide the node value.
     *
     * @private
     */
    getNodesConnectors(selectedItems: (NodeModel | ConnectorModel)[]): (NodeModel | ConnectorModel)[];
    /**
     * clearSelectorLayer method \
     *
     * @returns { void }     clearSelectorLayer method .\
     *
     * @private
     */
    clearSelectorLayer(): void;
    /**
     * getWrapper method \
     *
     * @returns { void }     getWrapper method .\
     * @param {Container} nodes - provide the node value.
     * @param {string} id - provide the childernCollection value.
     *
     * @private
     */
    getWrapper(nodes: Container, id: string): DiagramElement;
    /**
     * DiagramElement method \
     *
     * @returns { void }     getEndNodeWrapper method .\
     * @param {NodeModel | ConnectorModel} node - provide the node value.
     * @param {ConnectorModel} connector - provide the childernCollection value.
     * @param {boolean} source - provide the childernCollection value.
     *
     * @private
     */
    getEndNodeWrapper(node: NodeModel | ConnectorModel, connector: ConnectorModel, source: boolean): DiagramElement;
    private containsMargin;
    private focusOutEdit;
    private endEditCommand;
    private fontStyleCommand;
    private applyStyle;
    private applyStyleText;
    private duplicateCommand;
    private groupCommand;
    private rotateCommand;
    private flipCommand;
    private toolCommand;
    private zoomCommand;
    private shiftCommand;
    private alignCommand;
    private updateNodesAndConnectorAnnotation;
    private orderCommand;
    private navigateItems;
    /**
     * @private
     */
    endEdit(): Promise<void>;
    /**
     * getIndex method \
     *
     * @returns { void }     getIndex method .\
     * @param {NodeModel | ConnectorModel} node - provide the node value.
     * @param {string} id - provide the childernCollection value.
     *
     * @private
     */
    getIndex(node: NodeModel | ConnectorModel, id: string): string;
    /**
     * canLogChange method \
     *
     * @returns { void }     canLogChange method .\
     *
     * @private
     */
    canLogChange(): boolean;
    private modelChanged;
    private resetDiagramActions;
    /**
     * removeNode method \
     *
     * @returns { void }     removeNode method .\
     * @param {NodeModel} node - provide the node value.
     * @param {NodeModel} childrenCollection - provide the childrenCollection value.
     *
     * @private
     */
    removeNode(node: NodeModel, childrenCollection: string[]): void;
    /**
     * deleteGroup method \
     *
     * @returns { void }     deleteGroup method .\
     * @param {NodeModel} node - provide the source value.
     *
     * @private
     */
    deleteGroup(node: NodeModel): void;
    /** @private */
    /**
     * updateObject method \
     *
     * @returns { void }     updateObject method .\
     * @param {Node | Connector} actualObject - provide the source value.
     * @param {Node | Connector} oldObject - provide the target value.
     * @param {Node | Connector} changedProp - provide the layoutOrientation value.
     *
     * @private
     */
    updateObject(actualObject: Node | Connector, oldObject: Node | Connector, changedProp: Node | Connector): void;
    private nodePropertyChangeExtend;
    private updateTextAnnotationInSwimlane;
    private swimLaneNodePropertyChange;
    /** @private */
    insertValue(oldNodeObject: any, isNode: boolean): void;
    /** @private */
    nodePropertyChange(actualObject: Node, oldObject: Node, node: Node, isLayout?: boolean, rotate?: boolean, propertyChange?: boolean): void;
    private updateWrapperChildFlip;
    private updateWrapperFlip;
    private getResizeHandle;
    /**
     * To get new offset used to calculate the text annotation offset while resizing the parent node.
     * getTextAnnotationOffset method \
     *
     * @param {Node} actualObject - The current state of the parent node being resized.
     * @param {NodeModel} textAnnotation - The text annotation attached to the parent node.
     * @param {Node} oldObject - The previous state of the parent node before resizing.
     * @param {number} oldBpmnOffsetX - The previous X offset.
     * @param {number} oldBpmnOffsetY - The previous Y offset.
     * @returns { PointModel }    - Returns new offset
     *
     * @private
     */
    getTextAnnotationOffset(actualObject: Node, textAnnotation: NodeModel, oldObject: Node, oldBpmnOffsetX: number, oldBpmnOffsetY: number): {
        x: number;
        y: number;
    };
    private getTextAnnotationQuadrant;
    private updateBpmnAnnotationPosition;
    private updatePorts;
    private updateFlipOffset;
    private updateUMLActivity;
    /**
     * updateConnectorProperties method \
     *
     * @returns { void }
     * @param {connector} connector - provide the connector value.
     *
     * @private
     */
    updateConnectorProperties(connector: ConnectorModel): void;
    /**
     * updateConnectorEdges method \
     *
     * @returns { void }     Updates the connectorPropertyChange of the diagram container .\
     * @param {Node} actualObject - provide the actualObject value.
     *
     * @private
     */
    updateConnectorEdges(actualObject: Node | Connector): void;
    private connectorProprtyChangeExtend;
    /**
     * Updates the connectorPropertyChange of the diagram container \
     *
     * @returns { void }     Updates the connectorPropertyChange of the diagram container .\
     * @param {DiagramElement} actualObject - provide the actualObject value.
     * @param {boolean} oldProp - provide the oldProp value.
     * @param {boolean} newProp - provide the newProp value.
     * @param {boolean} disableBridging - provide the disableBridging value.
     * @param {boolean} propertyChange - provide the propertyChange value.
     *
     * @private
     */
    connectorPropertyChange(actualObject: Connector, oldProp: Connector, newProp: Connector, disableBridging?: boolean, propertyChange?: boolean): void;
    /**
     * getDirection methods \
     *
     * @returns { void }  getDirection methods .\
     * @param {NodeModel} node - provide the node value.
     * @param {string} portId - provide the portId value.
     * @param {string} item - provide the item value.
     * @param {number} isInEdges - provide the isInEdges value.
     *
     * @private
     */
    removePortEdges(node: NodeModel | ConnectorModel, portId: string, item: string, isInEdges: boolean): void;
    private updateConnectorPorts;
    private triggerPropertyChange;
    private findInOutConnectPorts;
    private getPoints;
    /**
     * update the  opacity  and visibility for the node  once the layout animation starts \
     *
     * @returns { void }  update the  opacity  and visibility for the node  once the layout animation starts .\
     * @param {Container} element - provide the element value.
     * @param {boolean} visible - provide the visible value.
     * @param {number} opacity - provide the opacity value.
     *
     * @private
     */
    updateNodeProperty(element: Container, visible?: boolean, opacity?: number): void;
    /**
     * checkSelected Item for Connector \
     *
     * @returns { void }  checkSelected Item for Connector .\
     * @param {Connector | Node} actualObject - provide the element value.
     *
     * @private
     */
    checkSelectedItem(actualObject: Connector | Node): boolean;
    /**
     * Updates the visibility of the diagram container \
     *
     * @returns { void }     Updates the visibility of the diagram container .\
     * @param {DiagramElement} element - provide the element value.
     * @param {boolean} visible - provide the target value.
     *
     * @private
     */
    private updateDiagramContainerVisibility;
    /**
     * Updates the visibility of the node/connector \
     *
     * @returns { void }  Updates the visibility of the node/connector .\
     * @param {Container} element - provide the element value.
     * @param {Connector | Node} obj - provide the obj value.
     * @param {boolean} visible - provide the visible value.
     *
     * @private
     */
    updateElementVisibility(element: Container, obj: Connector | Node, visible: boolean): void;
    private updateAnnotations;
    private updatefixedUserHandle;
    /**
     * updateConnectorfixedUserHandle method \
     *
     * @returns { void }  updateConnectorfixedUserHandle method .\
     * @param {ConnectorFixedUserHandleModel} changedObject - provide the changedObject value.
     * @param {ConnectorFixedUserHandleModel} actualfixedUserHandle - provide the actualfixedUserHandle value.
     * @param {Container} nodes - provide the nodes value.
     * @param {Object} actualObject - provide the actualObject value.
     * @param {boolean} canUpdateSize - provide the canUpdateSize value.
     *
     * @private
     */
    updateConnectorfixedUserHandle(changedObject: ConnectorFixedUserHandleModel, actualfixedUserHandle: ConnectorFixedUserHandleModel, nodes: Container, actualObject?: Object, canUpdateSize?: boolean): void;
    /**
     * updateAnnotation method \
     *
     * @returns { void }  updateAnnotation method .\
     * @param {AnnotationModel} changedObject - provide the changedObject value.
     * @param {ShapeAnnotationModel} actualAnnotation - provide the actualAnnotation value.
     * @param {Container} nodes - provide the nodes value.
     * @param {Object} actualObject - provide the actualObject value.
     * @param {boolean} canUpdateSize - provide the canUpdateSize value.
     *
     * @private
     */
    updateAnnotation(changedObject: AnnotationModel, actualAnnotation: ShapeAnnotationModel, nodes: Container, actualObject?: Object, canUpdateSize?: boolean): void;
    private updatefixedUserHandleContent;
    private updateConnectorfixedUserHandleWrapper;
    private updateAnnotationContent;
    private updateAnnotationWrapper;
    /**
     * updateNodefixedUserHandle method \
     *
     * @returns { void }  updateNodefixedUserHandle method .\
     * @param {NodeFixedUserHandleModel} changedObject - provide the changedObject value.
     * @param {NodeFixedUserHandleModel} actualfixedUserHandle - provide the actualfixedUserHandle value.
     * @param {Container} nodes - provide the changedObject value.
     * @param {Object} actualObject - provide the changedObject value.
     *
     * @private
     */
    updateNodefixedUserHandle(changedObject: NodeFixedUserHandleModel, actualfixedUserHandle: NodeFixedUserHandleModel, nodes: Container, actualObject?: Object): void;
    private updatefixedUserHandleWrapper;
    /**
     * updatePort method \
     *
     * @returns { void }  updatePort method .\
     * @param {PointPortModel} changedObject - provide the changedObject value.
     * @param {PointPortModel} actualPort - provide the changedObject value.
     * @param {Container} nodes - provide the changedObject value.
     * @param {Connector} actualObject - The actual connector object to be used.
     * @private
     */
    updatePort(changedObject: PointPortModel, actualPort: PointPortModel, nodes: Container, actualObject?: Connector): void;
    /**
     * updateIcon method \
     *
     * @returns { void }  updateIcon method .\
     * @param {Node} actualObject - provide the obj value.
     *
     * @private
     */
    updateIcon(actualObject: Node): void;
    private getPortContainer;
    private updateTooltip;
    /**
     * updateQuad method \
     *
     * @returns { void }  updateQuad method .\
     * @param {IElement} obj - provide the obj value.
     *
     * @private
     */
    updateQuad(obj: IElement): void;
    /**
     * removeFromAQuad method \
     *
     * @returns { void }  removeFromAQuad method .\
     * @param {IElement} obj - provide the node value.
     *
     * @private
     */
    removeFromAQuad(obj: IElement): void;
    /**
     * updateGroupSize method \
     *
     * @returns { void }  updateGroupSize method .\
     * @param {NodeModel | ConnectorModel} node - provide the node value.
     *
     * @private
     */
    updateGroupSize(node: NodeModel | ConnectorModel): void;
    private updatePage;
    /**
     * protectPropertyChange method \
     *
     * @returns { void }  protectPropertyChange method .\
     * @param {boolean} enable - provide the enable value.
     *
     * @private
     */
    protectPropertyChange(enable: boolean): void;
    /**
     * getProtectPropertyChangeValue method \
     *
     * @returns { boolean }  getProtectPropertyChangeValue method .\
     *
     * @private
     */
    getProtectPropertyChangeValue(): boolean;
    /**
     * enableServerDataBinding method \
     *
     * @returns { void }  enableServerDataBinding method .\
     * @param {boolean} enable - provide the node value.
     *
     * @private
     */
    enableServerDataBinding(enable: boolean): void;
    /**
     * updateShadow method \
     *
     * @returns { void }  updateShadow method .\
     * @param {ShadowModel} nodeShadow - provide the node value.
     * @param {ShadowModel} changedShadow - provide the Node value.
     *
     * @private
     */
    updateShadow(nodeShadow: ShadowModel, changedShadow: ShadowModel): void;
    /**
     * updateMargin method \
     *
     * @returns { void }  updateMargin method .\
     * @param {Node} node - provide the node value.
     * @param {Node} changes - provide the Node value.
     *
     * @private
     */
    updateMargin(node: Node, changes: Node): void;
    private removePreviewChildren;
    private selectDragedNode;
    private initDroppables;
    private getDropEventArgs;
    private removeChildInNodes;
    private getBlazorDragEventArgs;
    private findChild;
    private getChildren;
    private addChildNodes;
    private moveNode;
    /**
     * Moves the node or connector forward within the given layer. \
     *
     * @returns { void }  Moves the node or connector forward within the given layer.\
     * @param {Node | Connector} node - The node or connector to be moved forward within the layer.
     * @param {LayerModel} currentLayer - representing the layer in which the node or connector should be moved.
     *
     */
    moveObjectsUp(node: NodeModel | ConnectorModel, currentLayer: LayerModel): void;
    /**
     * Inserts a newly added element into the database. \
     *
     * @returns { void }  Inserts a newly added element into the database.\
     * @param {Node | Connector} node - The node or connector to be inserted into the database.
     *
     */
    insertData(node?: Node | Connector): object;
    /**
     * Updates user-defined element properties in the existing database. \
     *
     * @returns { void }     Updates user-defined element properties in the existing database.\
     * @param {Node | Connector} node - The source value representing the element to update.
     *
     */
    updateData(node?: Node | Connector): object;
    /**
     * Removes the user-deleted element from the existing database.\
     *
     * @returns { void }     Removes the user-deleted element from the existing database.\
     * @param {Node | Connector} node - The node or connector to be removed from the database.
     *
     */
    removeData(node?: Node | Connector): object;
    private crudOperation;
    private processCrudCollection;
    private parameterMap;
    private getNewUpdateNodes;
    private getDeletedNodes;
    private raiseAjaxPost;
    private getHiddenItems;
}
//node_modules/@syncfusion/ej2-diagrams/src/diagram/diagram-settings.d.ts
/**
 * Represents the diagram settings
 * ```html
 * <div id='diagram'></div>
 * ```
 * ```typescript
 * let diagram$: Diagram = new Diagram({
 * ...
 * diagramSettings: { inversedAlignment: true },
 * ...
 * });
 * diagram.appendTo('#diagram');
 * ```
 *
 * @default {}
 */
export  class DiagramSettings extends base.ChildProperty<DiagramSettings> {
    /**
     * Defines the horizontal and vertical orientation behavior of nodes, ports, annotations, and more.
     *
     * @default true
     */
    inversedAlignment: boolean;
}
//node_modules/@syncfusion/ej2-diagrams/src/diagram/diagram-settings-model.d.ts
/**
 * Interface for a class DiagramSettings
 */
export interface DiagramSettingsModel {
    /**
     * Defines the horizontal and vertical orientation behavior of nodes, ports, annotations, and more.
     *
     * @default true
     */
    inversedAlignment?: boolean;
}
//node_modules/@syncfusion/ej2-diagrams/src/diagram/diagram-model.d.ts
/**
 * Interface for a class Diagram
 */
export interface DiagramModel extends base.ComponentModel{
    /**
     * Defines the width of the diagram model.
     * ```html
     * <div id='diagram'/>
     * ```
     * ```typescript
     * let diagram$: Diagram = new Diagram({
     * width:'1000px', height:'500px' });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @default '100%'
     */
    width?: string | number;
    /**
     * Split the connector, when the node is dropped onto it and establish connection with that dropped node.
     *
     * @default false
     */
    enableConnectorSplit?: boolean;
    /**
     * Defines the diagram rendering mode.
     * * SVG - Renders the diagram objects as SVG elements
     * * Canvas - Renders the diagram in a canvas
     *
     * @default 'SVG'
     */
    mode?: RenderingMode;
    /**
     * Defines the height of the diagram model.
     *
     * @default '100%'
     */
    height?: string | number;
    /**
     * Defines the segmentThumbShape
     *
     * @default 'Circle'
     */
    segmentThumbShape?: SegmentThumbShapes;
    /**
     * Specifies the size of the segment thumb. When not set, it defaults to matching the underlying path data.
     *
     * @default 10
     */
    segmentThumbSize?: 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');
     * ```
     *
     */
    contextMenuSettings?: ContextMenuSettingsModel;
    /**
     * Constraints are used to enable/disable certain behaviors of the diagram.
     * * None - Disables DiagramConstraints constraints
     * * Bridging - Enables/Disables Bridging support for connector
     * * UndoRedo - Enables/Disables the Undo/Redo support
     * * popups.Tooltip - Enables/Disables popups.Tooltip support
     * * UserInteraction - Enables/Disables editing diagram interactively
     * * ApiUpdate - Enables/Disables editing diagram through code
     * * PageEditable - Enables/Disables editing diagrams both interactively and through code
     * * Zoom - Enables/Disables Zoom support for the diagram
     * * PanX - Enables/Disable PanX support for the diagram
     * * PanY - Enables/Disable PanY support for the diagram
     * * Pan - Enables/Disable Pan support the diagram
     *
     * @default 'Default'
     * @aspNumberEnum
     */
    constraints?: DiagramConstraints;
    /**
     * Defines the precedence of the interactive tools. They are,
     * * None - Disables selection, zooming and drawing tools
     * * SingleSelect - Enables/Disables single select support for the diagram
     * * MultipleSelect - Enables/Disable MultipleSelect select support for the diagram
     * * ZoomPan - Enables/Disable ZoomPan support for the diagram
     * * DrawOnce - Enables/Disable ContinuousDraw support for the diagram
     * * ContinuousDraw - Enables/Disable ContinuousDraw support for the diagram
     *
     * @default 'Default'
     * @aspNumberEnum
     * @deprecated
     */
    tool?: DiagramTools;
    /**
     * Defines the direction of the bridge that is inserted when the segments are intersected
     * * Top - Defines the direction of the bridge as Top
     * * Bottom - Defines the direction of the bridge as Bottom
     * * Left - Sets the bridge direction as left
     * * Right - Sets the bridge direction as right
     *
     * @default top
     */
    bridgeDirection?: BridgeDirection;
    /**
     * Defines the background color of the diagram
     *
     * @default 'transparent'
     */
    backgroundColor?: string;
    /**
     * Defines the gridlines and defines how and when the objects have to be snapped
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let horizontalGridlines$: GridlinesModel = {lineColor: 'black', lineDashArray: '1,1' };
     * let verticalGridlines$: GridlinesModel = {lineColor: 'black', lineDashArray: '1,1'};
     * let diagram$: Diagram = new Diagram({
     * ...
     * snapSettings: { horizontalGridlines, verticalGridlines, constraints: SnapConstraints.ShowLines,
     * snapObjectDistance: 5, snapAngle: 5 },
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @default {}
     */
    snapSettings?: SnapSettingsModel;
    /**
     * Defines the properties of both horizontal and vertical guides/rulers to measure the diagram area.
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let arrange$: Function = (args: IArrangeTickOptions) => {
     * if (args.tickInterval % 10 == 0) {
     * args.tickLength = 25;
     * }
     * }
     * let diagram$: Diagram = new Diagram({
     * ...
     * rulerSettings: { showRulers: true,
     * horizontalRuler: { segmentWidth: 50, orientation: 'Horizontal', interval: 10,  arrangeTick: arrange },
     * verticalRuler: {segmentWidth: 200,interval: 20, thickness: 20,
     * tickAlignment: 'LeftOrTop', segmentWidth: 50, markerColor: 'red' }
     * },
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @default {}
     */
    rulerSettings?: RulerSettingsModel;
    /**
     * Page settings enable to customize the appearance, width, and height of the Diagram page.
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let diagram$: Diagram = new Diagram({
     * ...
     * pageSettings: {  width: 800, height: 600, orientation: 'Landscape',
     * background: { color: 'blue' }, boundaryConstraints: 'Infinity'},
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @default {}
     */
    pageSettings?: PageSettingsModel;
    /**
     * Defines the serialization settings of diagram.
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let diagram$: Diagram = new Diagram({
     * ...
     * serializationSettings: { preventDefaults: true },
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @default {}
     */
    serializationSettings?: SerializationSettingsModel;
    /**
     * Defines the collection of nodes
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let nodes$: NodeModel[] = [{
     *           id: 'node1', width: 100, height: 100, offsetX: 100, offsetY: 100,
     *           annotations: [{ content: 'Default Shape' }]
     *       },
     *       {
     *           id: 'node2', width: 100, height: 100, offsetX: 300, offsetY: 100,
     *           shape: {
     *               type: 'Basic', shape: 'Ellipse'
     *           },
     *           annotations: [{ content: 'Path Element' }]
     *       }
     *       ];
     * let diagram$: Diagram = new Diagram({
     * ...
     * nodes: nodes,
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    nodes?: NodeModel[];
    /**
     * Defines the object to be drawn using drawing tool
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let diagram$: Diagram = new Diagram({
     * ...
     * drawingObject : {id: 'connector3', type: 'Straight'},
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    drawingObject?: NodeModel | ConnectorModel;
    /**
     * Defines a collection of objects, used to create link between two points, nodes or ports to represent the relationships between them
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     *       let connectors$: ConnectorModel[] = [{
     *           id: 'connector1',
     *           type: 'Straight',
     *           sourcePoint: { x: 100, y: 300 },
     *           targetPoint: { x: 200, y: 400 },
     *       }];
     * let diagram$: Diagram = new Diagram({
     * ...
     *       connectors: connectors,
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @default []
     */
    connectors?: ConnectorModel[];
    /**
     * Defines the basic elements for the diagram
     *
     * @default []
     * @hidden
     */
    basicElements?: DiagramElement[];
    /**
     * Defines the tooltip that should be shown when the mouse hovers over a node or connector
     * An object that defines the description, appearance and alignments of tooltip
     *
     * @default {}
     */
    tooltip?: DiagramTooltipModel;
    /**
     * Configures the data source that is to be bound with diagram
     *
     * @default {}
     */
    dataSourceSettings?: DataSourceModel;
    /**
     * Allows the user to save custom information/data about diagram
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    addInfo?: Object;
    /**
     * Customizes the undo redo functionality
     *
     * @default undefined
     */
    historyManager?: History;
    /**
     * Customizes the node template
     *
     * @default undefined
     * @aspType string
     */
    nodeTemplate?: string | Function;
    /**
     * Customizes the annotation template
     *
     * @default undefined
     * @aspType string
     */
    annotationTemplate?: string | Function;
    /**
     * This property represents the template content of a user handle. The user can define any HTML element as a template.
     *
     * @default undefined
     * @aspType string
     */
    userHandleTemplate?: string | Function;
    /**
     * This property allows us to define HTML elements for fixed user handle
     *
     * @default undefined
     * @aspType string
     */
    fixedUserHandleTemplate?: string | Function;
    /**
     * Helps to return the default properties of node
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let nodes$: NodeModel[] = [{
     *           id: 'node1', height: 100, offsetX: 100, offsetY: 100,
     *           annotations: [{ content: 'Default Shape' }]
     *       },
     *       {
     *           id: 'node2', width: 100, height: 100, offsetX: 300, offsetY: 100,
     *           shape: {
     *               type: 'Basic', shape: 'Ellipse'
     *           },
     *           annotations: [{ content: 'Ellipse' }]
     *       }
     *       ];
     * let diagram$: Diagram = new Diagram({
     * ...
     * nodes: nodes,
     * getNodeDefaults: (node: NodeModel) => {
     *   let obj$: NodeModel = {};
     *   if (obj.width === undefined) {
     *       obj.width = 145;
     *   }
     *   obj.style = { fill: '#357BD2', strokeColor: 'white' };
     *   obj.annotations = [{ style: { color: 'white', fill: 'transparent' } }];
     *   return obj;
     *    },
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @aspDefaultValueIgnore
     * @default undefined
     * @deprecated
     */
    getNodeDefaults?: Function | string;
    /**
     * Helps to assign the default properties of nodes
     */
    nodeDefaults?: NodeModel;
    /**
     * Helps to return the default properties of connector
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     *       let connectors$: ConnectorModel[] = [{
     *           id: 'connector1',
     *           sourcePoint: { x: 100, y: 300 },
     *           targetPoint: { x: 200, y: 400 },
     *       }];
     * let diagram$: Diagram = new Diagram({
     * ...
     *   connectors: connectors,
     *   getConnectorDefaults: (connector: ConnectorModel, diagram: Diagram) => {
     *   let connObj$: ConnectorModel = {};
     *   connObj.targetDecorator ={ shape :'None' };
     *   connObj.type = 'Orthogonal';
     *   return connObj;
     *   },
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @aspDefaultValueIgnore
     * @default undefined
     * @deprecated
     */
    getConnectorDefaults?: Function | string;
    /**
     * Helps to assign the default properties of connector
     */
    connectorDefaults?: ConnectorModel;
    /**
     * setNodeTemplate helps to customize the content of a node
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let getTextElement$: Function = (text: string) => {
     * let textElement$: TextElement = new TextElement();
     * textElement.width = 50;
     * textElement.height = 20;
     * textElement.content = text;
     * return textElement;
     * };
     * let nodes$: NodeModel[] = [{
     *           id: 'node1', height: 100, offsetX: 100, offsetY: 100,
     *           annotations: [{ content: 'Default Shape' }]
     *       },
     *       {
     *           id: 'node2', width: 100, height: 100, offsetX: 300, offsetY: 100
     *       }
     *       ];
     * let diagram$: Diagram = new Diagram({
     * ...
     * nodes: nodes,
     * setNodeTemplate : setNodeTemplate,
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     * function setNodeTemplate() {
     * setNodeTemplate: (obj: NodeModel, diagram: Diagram): StackPanel => {
     *   if (obj.id === 'node2') {
     *       let table$: StackPanel = new StackPanel();
     *       table.orientation = 'Horizontal';
     *       let column1$: StackPanel = new StackPanel();
     *       column1.children = [];
     *       column1.children.push(getTextElement('Column1'));
     *       addRows(column1);
     *       let column2$: StackPanel = new StackPanel();
     *       column2.children = [];
     *       column2.children.push(getTextElement('Column2'));
     *       addRows(column2);
     *       table.children = [column1, column2];
     *       return table;
     *   }
     *   return null;
     *   }
     * ...
     * }
     *
     * @aspDefaultValueIgnore
     * @default undefined
     * @deprecated
     */
    setNodeTemplate?: Function | string;
    /**
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let connector1$: ConnectorModel = {
     *          id: 'connector1', type: 'Straight',
     *          sourcePoint: { x: 100, y: 100 },targetPoint: { x: 200, y: 200 },
     *          annotations: [{ 'content': 'label', 'offset': 0, 'alignment': 'Center' }]
     *       };
     * let connector2$: ConnectorModel = {
     *           id: 'connector2', type: 'Straight',
     *           sourcePoint: { x: 400, y: 400 }, targetPoint: { x: 600, y: 600 },
     *       };
     * let diagram$: Diagram;
     * diagram = new Diagram({
     * width: 1000, height: 1000,
     * connectors: [connector1, connector2],
     * snapSettings: { constraints: SnapConstraints.ShowLines },
     * getDescription: getAccessibility
     * });
     * diagram.appendTo('#diagram');
     * function getAccessibility(obj: ConnectorModel, diagram: Diagram): string {
     * let value$: string;
     * if (obj instanceof Connector) {
     * value = 'clicked on Connector';
     * } else if (obj instanceof TextElement) {
     * value = 'clicked on annotation';
     * }
     * else if (obj instanceof Decorator) {
     * value = 'clicked on Decorator';
     * }
     * else { value = undefined;
 }
     * return value;
     * }
     * ```
     *
     * @deprecated
     */
    getDescription?: Function | string;
    /**
     * Allows to get the custom properties that have to be serialized
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let nodes$: NodeModel[] = [{
     *           id: 'node1', width: 100, height: 100, offsetX: 100, offsetY: 100,
     *           annotations: [{ content: 'Default Shape' }]
     *       },
     *       {
     *           id: 'node2', width: 100, height: 100, offsetX: 300, offsetY: 100,
     *           shape: { type: 'Basic', shape: 'Ellipse' },
     *           annotations: [{ content: 'Path Element' }]
     *       }
     *       ];
     *       let connectors$: ConnectorModel[] = [{
     *           id: 'connector1', type: 'Straight',
     *           sourcePoint: { x: 100, y: 300 }, targetPoint: { x: 200, y: 400 },
     *       }];
     * let diagram$: Diagram = new Diagram({
     * ...
     * connectors: connectors, nodes: nodes,
     * getCustomProperty: (key: string) => {
     * if (key === 'nodes') {
     * return ['description'];
     * }
     *         return null;
     * }
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @aspDefaultValueIgnore
     * @default undefined
     * @deprecated
     */
    getCustomProperty?: Function | string;
    /**
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * function getTool(action: string): ToolBase {
     * let tool$: ToolBase;
     * if (action === 'userHandle1') {
     * tool = new CloneTool(diagram.commandHandler, true);
     * }
     * return tool;
     * }
     * class CloneTool extends ToolBase {
     * public mouseDown(args: MouseEventArgs): void {
     * super.mouseDown(args);
     * diagram.copy();
     * diagram.paste();
     * }
     * }
     * let nodes$: NodeModel[] = [{
     *           id: 'node1', width: 100, height: 100, offsetX: 100, offsetY: 100,
     *       },
     *       {
     *           id: 'node2', width: 100, height: 100, offsetX: 300, offsetY: 100,
     *           shape: { type: 'Basic', shape: 'Ellipse' },
     *       }];
     *       let connectors$: ConnectorModel[] = [{
     *           id: 'connector1', type: 'Straight',
     *           sourcePoint: { x: 100, y: 300 }, targetPoint: { x: 200, y: 400 },
     *       }];
     *      let handles$: UserHandleModel[] = [
     *          { name: 'handle', margin: { top: 0, bottom: 0, left: 0, right: 0 }, offset: 0,
     *            pathData: 'M 376.892,225.284L 371.279,211.95L 376.892,198.617L 350.225,211.95L 376.892,225.284 Z',
     *            side: 'Top', horizontalAlignment: 'Center', verticalAlignment: 'Center',
     *            pathColor: 'yellow' }];
     * let diagram$: Diagram = new Diagram({
     * ...
     *     connectors: connectors, nodes: nodes,
     *     selectedItems: { constraints: SelectorConstraints.All, userHandles: handles },
     *     getCustomTool: getTool
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @deprecated
     */
    getCustomTool?: Function | string;
    /**
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * function getCursor(action: string, active: boolean): string {
     * let cursor$: string;
     * if (active && action === 'Drag') {
     * cursor = '-webkit-grabbing';
     * } else if (action === 'Drag') {
     * cursor = '-webkit-grab'
     * }
     * return cursor;
     * }
     * let nodes$: NodeModel[] = [{
     *           id: 'node1', width: 100, height: 100, offsetX: 100, offsetY: 100,
     *       },
     *       {
     *           id: 'node2', width: 100, height: 100, offsetX: 300, offsetY: 100,
     *           shape: { type: 'Basic', shape: 'Ellipse' },
     *       }];
     * let handle$: UserHandleModel[] = [
     * { name: 'handle', margin: { top: 0, bottom: 0, left: 0, right: 0 }, offset: 0,
     * pathData: 'M 376.892,225.284L 371.279,211.95L 376.892,198.617L 350.225,211.95L 376.892,225.284 Z',
     * side: 'Top', horizontalAlignment: 'Center', verticalAlignment: 'Center',
     * pathColor: 'yellow' }];
     * let diagram$: Diagram = new Diagram({
     * ...
     *     nodes: nodes,
     *     selectedItems: { constraints: SelectorConstraints.All, userHandles: handle },
     *     getCustomCursor: getCursor
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @deprecated
     */
    getCustomCursor?: Function | string;
    /**
     * A collection of JSON objects where each object represents a custom cursor action. Layer is a named category of diagram shapes.
     *
     * @default []
     */
    customCursor?: CustomCursorActionModel[];
    /**
     * Helps to set the undo and redo node selection
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     *       let connectors$: ConnectorModel[] = [{
     *           id: 'connector1',
     *           sourcePoint: { x: 100, y: 300 },
     *           targetPoint: { x: 200, y: 400 },
     *       }];
     * let diagram$: Diagram = new Diagram({
     * ...
     *   connectors: connectors,
     *   updateSelection: (object: ConnectorModel | NodeModel, diagram: Diagram) => {
     *   let objectCollection$ = [];
     *   objectCollection.push(obejct);
     *   diagram.select(objectCollection);
     *   },
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @aspDefaultValueIgnore
     * @default undefined
     * @deprecated
     */
    updateSelection?: Function | string;
    /**
     * Represents the diagram settings
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let diagram$: Diagram = new Diagram({
     * ...
     * diagramSettings: { inversedAlignment: true  }
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @default {}
     */
    diagramSettings?: DiagramSettingsModel;
    /**
     * Defines the collection of selected items, size and position of the selector
     *
     * @default {}
     */
    selectedItems?: SelectorModel;
    /**
     * Defines the current zoom value, zoom factor, scroll status and view port size of the diagram
     *
     * @default {}
     */
    scrollSettings?: ScrollSettingsModel;
    /**
     * Layout is used to auto-arrange the nodes in the Diagram area
     *
     * @default {}
     */
    layout?: LayoutModel;
    /**
     * Defines a set of custom commands and binds them with a set of desired key gestures
     *
     * @default {}
     */
    commandManager?: CommandManagerModel;
    /**
     * Triggers after diagram is populated from the external data source
     *
     * @event
     * @deprecated
     */
    dataLoaded?: base.EmitType<IDataLoadedEventArgs>;
    /**
     * Triggers when a symbol is dragged into diagram from symbol palette
     *
     * @event
     */
    dragEnter?: base.EmitType<IDragEnterEventArgs>;
    /**
     * Triggers when a symbol is dragged outside of the diagram.
     *
     * @event
     */
    dragLeave?: base.EmitType<IDragLeaveEventArgs>;
    /**
     * Triggers when a symbol is dragged over diagram
     *
     * @event
     * @deprecated
     */
    dragOver?: base.EmitType<IDragOverEventArgs>;
    /**
     * Triggers when a node, connector or diagram is clicked
     *
     * @event
     */
    click?: base.EmitType<IClickEventArgs>;
    /**
     * Triggers when a change is reverted or restored(undo/redo)
     *
     * @event
     */
    historyChange?: base.EmitType<IHistoryChangeArgs>;
    /**
     * Triggers when a custom entry change is reverted or restored(undo/redo)
     *
     * @event
     */
    historyStateChange?: base.EmitType<IBlazorCustomHistoryChangeArgs>;
    /**
     * Triggers when a node, connector or diagram model is clicked twice
     *
     * @event
     */
    doubleClick?: base.EmitType<IDoubleClickEventArgs>;
    /**
     * Triggers when editor got focus at the time of node’s label or text node editing.
     *
     * @event
     */
    textEdit?: base.EmitType<ITextEditEventArgs>;
    /**
     * Triggers when the diagram is zoomed or panned
     *
     * @event
     * @deprecated
     */
    scrollChange?: base.EmitType<IScrollChangeEventArgs>;
    /**
     * base.Event triggers whenever the user rotate the mouse wheel either upwards or downwards
     *
     * @event
     */
    mouseWheel?: base.EmitType<IMouseWheelEventArgs>;
    /**
     * Triggers when the selection is changed in diagram
     *
     * @event
     */
    selectionChange?: base.EmitType<ISelectionChangeEventArgs>;
    /**
     * Triggers when a node is resized
     *
     * @event
     */
    sizeChange?: base.EmitType<ISizeChangeEventArgs>;
    /**
     * Triggers when the connection is changed
     *
     * @event
     */
    connectionChange?: base.EmitType<IConnectionChangeEventArgs>;
    /**
     * Triggers when the connector's source point is changed
     *
     * @event
     * @deprecated
     */
    sourcePointChange?: base.EmitType<IEndChangeEventArgs>;
    /**
     * Triggers when the connector's target point is changed
     *
     * @event
     * @deprecated
     */
    targetPointChange?: base.EmitType<IEndChangeEventArgs>;
    /**
     * Triggers once the node or connector property changed.
     *
     * @event
     */
    propertyChange?: base.EmitType<IPropertyChangeEventArgs>;
    /**
     * Triggers while dragging the elements in diagram
     *
     * @event
     */
    positionChange?: base.EmitType<IDraggingEventArgs>;
    /**
     * Triggers when a user releases a key.
     *
     * @event
     */
    keyUp?: base.EmitType<IKeyEventArgs>;
    /**
     * Triggers when a user is pressing a key.
     *
     * @event
     */
    keyDown?: base.EmitType<IKeyEventArgs>;
    /**
     * Triggers after animation is completed for the diagram elements.
     *
     * @event
     * @deprecated
     */
    animationComplete?: base.EmitType<Object>;
    /**
     * Triggers when the diagram elements are rotated
     *
     * @event
     */
    rotateChange?: base.EmitType<IRotationEventArgs>;
    /**
     * Triggers when a node/connector is added/removed to/from the diagram.
     *
     * @deprecated
     * @event
     */
    collectionChange?: base.EmitType<ICollectionChangeEventArgs>;
    /**
     * Triggers when a node/connector fixedUserHandle is clicked in the diagram.
     *
     * @event
     */
    fixedUserHandleClick?: base.EmitType<FixedUserHandleClickEventArgs>;
    /**
     * Triggers when a mouseDown on the user handle.
     *
     * @event
     */
    onUserHandleMouseDown?: base.EmitType<UserHandleEventsArgs>;
    /**
     * Triggers when a mouseUp on the user handle.
     *
     * @event
     */
    onUserHandleMouseUp?: base.EmitType<UserHandleEventsArgs>;
    /**
     * Triggers when a mouseEnter on the user handle.
     *
     * @event
     */
    onUserHandleMouseEnter?: base.EmitType<UserHandleEventsArgs>;
    /**
     * Triggers when a mouseLeave on the user handle.
     *
     * @event
     */
    onUserHandleMouseLeave?: base.EmitType<UserHandleEventsArgs>;
    /**
     * Triggers when a mouseDown on the fixed user handle.
     *
     * @event
     */
    onFixedUserHandleMouseDown?: base.EmitType<FixedUserHandleEventsArgs>;
    /**
     * Triggers when a mouseUp on the fixed user handle.
     *
     * @event
     */
    onFixedUserHandleMouseUp?: base.EmitType<FixedUserHandleEventsArgs>;
    /**
     * Triggers when a mouseEnter on the fixed user handle.
     *
     * @event
     */
    onFixedUserHandleMouseEnter?: base.EmitType<FixedUserHandleEventsArgs>;
    /**
     * Triggers when a mouseLeave on the fixed user handle.
     *
     * @event
     */
    onFixedUserHandleMouseLeave?: base.EmitType<FixedUserHandleEventsArgs>;
    /**
     * Triggers when a segment is added/removed to/from the connector.
     *
     * @event
     * @deprecated
     */
    segmentCollectionChange?: base.EmitType<ISegmentCollectionChangeEventArgs>;
    /**
     * Triggers when the image node is loaded.
     *
     * @deprecated
     * @event
     */
    onImageLoad?: base.EmitType<IImageLoadEventArgs>;
    /**
     * Triggers when the state of the expand and collapse icon change for a node.
     *
     * @deprecated
     * @event
     */
    expandStateChange?: base.EmitType<IExpandStateChangeEventArgs>;
    /**
     * This event triggers before the diagram load.
     *
     * @event
     */
    load?: base.EmitType<ILoadEventArgs>;
    /**
     * Triggered when the diagram is rendered completely.
     *
     * @event
     */
    created?: base.EmitType<Object>;
    /**
     * Triggered when mouse enters a node/connector.
     *
     * @event
     */
    mouseEnter?: base.EmitType<IMouseEventArgs>;
    /**
     * Triggered when mouse leaves node/connector.
     *
     * @event
     */
    mouseLeave?: base.EmitType<IMouseEventArgs>;
    /**
     * Triggered when mouse hovers a node/connector.
     *
     * @event
     * @deprecated
     */
    mouseOver?: base.EmitType<IMouseEventArgs>;
    /**
     *
     * Triggered when an element is drawn using drawing Tool
     *  @event
     */
    elementDraw?: base.EmitType<IElementDrawEventArgs>;
    /**
     * Triggers before opening the context menu
     *
     * @event
     */
    contextMenuOpen?: base.EmitType<navigations.BeforeOpenCloseMenuEventArgs>;
    /**
     * Triggers before rendering the context menu item
     *
     * @event
     * @deprecated
     */
    contextMenuBeforeItemRender?: base.EmitType<navigations.MenuEventArgs>;
    /**
     * Triggers when a context menu item is clicked
     *
     * @event
     */
    contextMenuClick?: base.EmitType<navigations.MenuEventArgs>;
    /**
     * Triggers when a command executed.
     *
     * @event
     */
    commandExecute?: base.EmitType<ICommandExecuteEventArgs>;
    /**
     * A collection of JSON objects where each object represents a layer. Layer is a named category of diagram shapes.
     *
     * @default []
     */
    layers?: LayerModel[];
    /**
     * Triggers when a symbol is dragged and dropped from symbol palette to drawing area
     *
     * @event
     */
    drop?: base.EmitType<IDropEventArgs>;
    /**
     *This event is triggered when we drag the segment thumb of Orthogonal/ Straight /Bezier connector
     *
     * @event
     * @deprecated
     */
    segmentChange?: base.EmitType<ISegmentChangeEventArgs>;
    /**
     *This event triggers after the diagram elements finished loading using loadDiagram method
     *
     * @event
     */
    loaded?: base.EmitType<ILoadedEventArgs>;
    /**
     * Triggers when the layout rendering process in the diagram has either started or completed.
     *
     *  @event
     */
    layoutUpdated?: base.EmitType<ILayoutUpdatedEventArgs>;
}
//node_modules/@syncfusion/ej2-diagrams/src/diagram/utility/uml-util.d.ts
/**
 * These utility methods help to process the data and to convert it to desired dimensions
 */
/**
 * getULMClassifierShapes method \
 *
 * @returns {DiagramElement} getULMClassifierShapes method .\
 * @param { DiagramElement} content - provide the content  value.
 * @param {NodeModel} node - provide the node  value.
 * @param {Diagram} diagram - provide the diagram  value.
 * @private
 */
export  function getULMClassifierShapes(content: DiagramElement, node: NodeModel, diagram: Diagram): DiagramElement;
/**
 * getClassNodes method \
 *
 * @returns {void} getClassNodes method .\
 * @param { Node} node - provide the node  value.
 * @param {Diagram} diagram - provide the diagram  value.
 * @param {UmlClassModel} classifier - provide the classifier  value.
 * @param {TextWrap} textWrap - provide the textWrap  value.
 * @private
 */
export  function getClassNodes(node: Node, diagram: Diagram, classifier: UmlClassModel, textWrap: TextWrap): void;
/**
 * getClassNodesChild method - This method is utilized to dynamically add members to a UML node at runtime. \
 *
 * @returns {void} getClassNodesChild method .\
 * @param { Node} node - provide the node  value.
 * @param {Diagram} diagram - provide the diagram  value.
 * @param {UmlClassModel} classifier - provide the classifier  value.
 * @param {TextWrap} textWrap - provide the textWrap  value.
 * @private
 */
export  function getClassNodesChild(node: Node, diagram: Diagram, classifier: UmlClassModel, textWrap: TextWrap): void;
/**
 * getClassAttributesChild method - This method is utilized to dynamically add attributes to a UML node at runtime.\
 *
 * @returns {void} getClassAttributesChild method .\
 * @param { Node} node - provide the node  value.
 * @param {Diagram} diagram - provide the diagram  value.
 * @param {UmlClassModel} classifier - provide the classifier  value.
 * @param {TextWrap} textWrap - provide the textWrap  value.
 * @private
 */
export  function getClassAttributesChild(node: Node, diagram: Diagram, classifier: UmlClassModel, textWrap: TextWrap): void;
/**
 * getClassMembers method \
 *
 * @returns {void} getClassMembers method .\
 * @param { Node} node - provide the node  value.
 * @param {Diagram} diagram - provide the diagram  value.
 * @param {UmlClassModel} classifier - provide the classifier  value.
 * @param {TextWrap} textWrap - provide the textWrap  value.
 * @private
 */
export  function getClassMembers(node: Node, diagram: Diagram, classifier: UmlClassModel, textWrap: TextWrap): void;
/**
 * getClassMembersChild method - This method is utilized to dynamically add methods to a UML node at runtime. \
 *
 * @returns {void} getClassMembersChild method .\
 * @param { Node} node - provide the node  value.
 * @param {Diagram} diagram - provide the diagram  value.
 * @param {UmlClassModel} classifier - provide the classifier  value.
 * @param {TextWrap} textWrap - provide the textWrap  value.
 * @private
 */
export  function getClassMembersChild(node: Node, diagram: Diagram, classifier: UmlClassModel, textWrap: TextWrap): void;
/**
 * addSeparator method \
 *
 * @returns {void} addSeparator method .\
 * @param { Node} stack - provide the stack  value.
 * @param {Diagram} diagram - provide the diagram  value.
 * @param {SeperatorStyle} SeperatorStyle - provide the Seperator color.
 * @private
 */
export  function addSeparator(stack: Node, diagram: Diagram, SeperatorStyle?: ShapeStyleModel): void;
/**
 * addSeparatorChild method -This method is designed to add a separator for the newly added child type to the UML node. \
 *
 * @returns {void} addSeparator method .\
 * @param { Node} stack - provide the stack  value.
 * @param {Diagram} diagram - provide the diagram  value.
 * @param {number} newIndex - provide the index value.
 * @private
 */
export  function addSeparatorChild(stack: Node, diagram: Diagram, newIndex?: number): void;
/**
 * getStyle method \
 *
 * @returns {TextStyleModel} addSeparator method .\
 * @param { Node} stack - provide the stack  value.
 * @param {UmlClassModel} node - provide the node  value.
 * @private
 */
export  function getStyle(stack: Node, node: UmlClassModel): TextStyleModel;
//node_modules/@syncfusion/ej2-diagrams/src/diagram/utility/swim-lane-util.d.ts
/**
 * SwimLane modules are used to rendering and interaction.
 */
/** @private */
/**
 * initSwimLane method \
 *
 * @returns {void} initSwimLane method .\
 * @param { GridPanel} grid - provide the grid  value.
 * @param { Diagram} diagram - provide the diagram  value.
 * @param {NodeModel} node - provide the node  value.
 * @private
 */
export  function initSwimLane(grid: GridPanel, diagram: Diagram, node: NodeModel): void;
/**
 * addObjectToGrid method \
 *
 * @returns {Container} addObjectToGrid method .\
 * @param { Diagram} diagram - provide the diagram  value.
 * @param { GridPanel} grid - provide the grid  value.
 * @param {NodeModel} parent - provide the parent  value.
 * @param {NodeModel} object - provide the object  value.
 * @param {boolean} isHeader - provide the isHeader  value.
 * @param {boolean} isPhase - provide the isPhase  value.
 * @param {boolean} isLane - provide the isLane  value.
 * @param {string} canvas - provide the canvas  value.
 * @private
 */
export  function addObjectToGrid(diagram: Diagram, grid: GridPanel, parent: NodeModel, object: NodeModel, isHeader?: boolean, isPhase?: boolean, isLane?: boolean, canvas?: string): Container;
/**
 * headerDefine method \
 *
 * @returns {void} headerDefine method .\
 * @param { GridPanel} grid - provide the grid  value.
 * @param {Diagram} diagram - provide the diagram  value.
 * @param {NodeModel} object - provide the object  value.
 * @private
 */
export  function headerDefine(grid: GridPanel, diagram: Diagram, object: NodeModel): void;
/**
 * phaseDefine method \
 *
 * @returns {void} phaseDefine method .\
 * @param { GridPanel} grid - provide the grid  value.
 * @param {Diagram} diagram - provide the diagram  value.
 * @param {NodeModel} object - provide the object  value.
 * @param {number} indexValue - provide the indexValue  value.
 * @param {boolean} orientation - provide the orientation  value.
 * @param {number} phaseIndex - provide the phaseIndex  value.
 * @private
 */
export  function phaseDefine(grid: GridPanel, diagram: Diagram, object: NodeModel, indexValue: number, orientation: boolean, phaseIndex: number): void;
/**
 * laneCollection method \
 *
 * @returns {void} laneCollection method .\
 * @param { GridPanel} grid - provide the grid  value.
 * @param {Diagram} diagram - provide the diagram  value.
 * @param {NodeModel} object - provide the object  value.
 * @param {number} indexValue - provide the indexValue  value.
 * @param {number} laneIndex - provide the laneIndex  value.
 * @param {boolean} orientation - provide the orientation  value.
 * @private
 */
export  function laneCollection(grid: GridPanel, diagram: Diagram, object: NodeModel, indexValue: number, laneIndex: number, orientation: boolean): void;
/**
 * createRow method \
 *
 * @returns {void} createRow method .\
 * @param { RowDefinition[]} row - provide the row  value.
 * @param {number} height - provide the height  value.
 * @private
 */
export  function createRow(row: RowDefinition[], height: number): void;
/**
 * createColumn method \
 *
 * @returns {void} createColumn method .\
 * @param {number} width - provide the width  value.
 * @private
 */
export  function createColumn(width: number): ColumnDefinition;
/**
 * initGridRow method \
 *
 * @returns {void} initGridRow method .\
 * @param {RowDefinition[]} row - provide the row  value.
 * @param {boolean} orientation - provide the row  value.
 * @param {NodeModel} object - provide the row  value.
 * @private
 */
export  function initGridRow(row: RowDefinition[], orientation: boolean, object: NodeModel): void;
/**
 * initGridColumns method \
 *
 * @returns {void} initGridRow method .\
 * @param {ColumnDefinition[]} columns - provide the row  value.
 * @param {boolean} orientation - provide the row  value.
 * @param {NodeModel} object - provide the row  value.
 * @private
 */
export  function initGridColumns(columns: ColumnDefinition[], orientation: boolean, object: NodeModel): void;
/**
 * getConnectors method \
 *
 * @returns {void} getConnectors method .\
 * @param {Diagram} diagram - provide the row  value.
 * @param {GridPanel} grid - provide the row  value.
 * @param {number} rowIndex - provide the row  value.
 * @param {boolean} isRowUpdate - provide the row  value.
 * @private
 */
export  function getConnectors(diagram: Diagram, grid: GridPanel, rowIndex: number, isRowUpdate: boolean): string[];
/**
 * swimLaneMeasureAndArrange method \
 *
 * @returns {void} swimLaneMeasureAndArrange method .\
 * @param {NodeModel} obj - provide the row  value.
 * @private
 */
export  function swimLaneMeasureAndArrange(obj: NodeModel): void;
/**
 * ChangeLaneIndex method \
 *
 * @returns {void} ChangeLaneIndex method .\
 * @param {Diagram} diagram - provide the row  value.
 * @param {NodeModel} obj - provide the row  value.
 * @param {number} startRowIndex - provide the row  value.
 * @private
 */
export  function ChangeLaneIndex(diagram: Diagram, obj: NodeModel, startRowIndex: number): void;
/**
 * arrangeChildNodesInSwimLane method \
 *
 * @returns {void} arrangeChildNodesInSwimLane method .\
 * @param {Diagram} diagram - provide the row  value.
 * @param {NodeModel} obj - provide the row  value.
 * @private
 */
export  function arrangeChildNodesInSwimLane(diagram: Diagram, obj: NodeModel): void;
/**
 * updateChildOuterBounds method \
 *
 * @returns {void} updateChildOuterBounds method .\
 * @param {GridPanel} grid - provide the row  value.
 * @param {NodeModel} obj - provide the row  value.
 * @private
 */
export  function updateChildOuterBounds(grid: GridPanel, obj: NodeModel): void;
/**
 * checkLaneSize method \
 *
 * @returns {void} checkLaneSize method .\
 * @param {NodeModel} obj - provide the row  value.
 * @private
 */
export  function checkLaneSize(obj: NodeModel): void;
/**
 * checkPhaseOffset method \
 *
 * @returns {void} checkPhaseOffset method .\
 * @param {NodeModel} obj - provide the obj  value.
 * @param {Diagram} diagram - provide the obj  value.
 * @private
 */
export  function checkPhaseOffset(obj: NodeModel, diagram: Diagram): void;
/**
 * updateConnectorsProperties method \
 *
 * @returns {void} checkPhaseOffset method .\
 * @param {string[]} connectors - provide the obj  value.
 * @param {Diagram} diagram - provide the obj  value.
 * @private
 */
export  function updateConnectorsProperties(connectors: string[], diagram: Diagram): void;
/**
 * laneInterChanged method \
 *
 * @returns {void} laneInterChanged method .\
 * @param {Diagram} diagram - provide the diagram  value.
 * @param {NodeModel} obj - provide the obj  value.
 * @param {NodeModel} target - provide the target  value.
 * @param {PointModel} position - provide the position  value.
 * @private
 */
export  function laneInterChanged(diagram: Diagram, obj: NodeModel, target: NodeModel, position?: PointModel): void;
/**
 * Swaps the positions of two lane grid entries within each phase of a swimlane.
 *
 * @param {number} sourceIndex - The index of the lane grid to be moved.
 * @param {number} targetIndex - The index where the lane grid should be moved to.
 * @param {NodeModel} swimlane - The swimlane node containing the phases.
 * @param {Diagram} diagram - The diagram instance containing the node data.
 * @returns {void}
 * @private
 */
export  function updatePhaseLaneGrids(sourceIndex: number, targetIndex: number, swimlane: NodeModel, diagram: Diagram): void;
/**
 * updateSwimLaneObject method \
 *
 * @returns {void} updateSwimLaneObject method .\
 * @param {Diagram} diagram - provide the diagram  value.
 * @param {Node} obj - provide the obj  value.
 * @param {NodeModel} swimLane - provide the target  value.
 * @param {NodeModel} helperObject - provide the position  value.
 * @param {number} widthDiff - provide the difference in colum width.
 * @param {number} heightDiff - provide the difference in row height.
 * @private
 */
export  function updateSwimLaneObject(diagram: Diagram, obj: Node, swimLane: NodeModel, helperObject: NodeModel, widthDiff?: number, heightDiff?: number): void;
/**
 * findLaneIndex method \
 *
 * @returns {number} findLaneIndex method .\
 * @param {NodeModel} swimLane - provide the diagram  value.
 * @param {NodeModel} laneObj - provide the obj  value.
 * @private
 */
export  function findLaneIndex(swimLane: NodeModel, laneObj: NodeModel): number;
/**
 * findPhaseIndex method \
 *
 * @returns {number} findPhaseIndex method .\
 * @param {NodeModel} phase - provide the diagram  value.
 * @param {NodeModel} swimLane - provide the obj  value.
 * @private
 */
export  function findPhaseIndex(phase: NodeModel, swimLane: NodeModel): number;
/**
 * findStartLaneIndex method \
 *
 * @returns {number} findStartLaneIndex method .\
 * @param {NodeModel} swimLane - provide the obj  value.
 * @private
 */
export  function findStartLaneIndex(swimLane: NodeModel): number;
/**
 * updatePhaseMaxWidth method \
 *
 * @returns {void} updatePhaseMaxWidth method .\
 * @param {NodeModel} parent - provide the obj  value.
 * @param {Diagram} diagram - provide the obj  value.
 * @param {Canvas} wrapper - provide the obj  value.
 * @param {number} columnIndex - provide the obj  value.
 * @private
 */
export  function updatePhaseMaxWidth(parent: NodeModel, diagram: Diagram, wrapper: Canvas, columnIndex: number): void;
/**
 * updateHeaderMaxWidth method \
 *
 * @returns {void} updateHeaderMaxWidth method .\
 * @param {NodeModel} diagram - provide the obj  value.
 * @param {NodeModel} swimLane - provide the obj  value.
 * @private
 */
export  function updateHeaderMaxWidth(diagram: Diagram, swimLane: NodeModel): void;
/**
 * addLane method \
 *
 * @returns {void} addLane method .\
 * @param {Diagram} diagram - provide the obj  value.
 * @param {NodeModel} parent - provide the obj  value.
 * @param {LaneModel} lane - provide the obj  value.
 * @param {number} count - provide the obj  value.
 * @private
 */
export  function addLane(diagram: Diagram, parent: NodeModel, lane: LaneModel, count?: number): void;
/**
 * addPhase method \
 *
 * @returns {void} addPhase method .\
 * @param {Diagram} diagram - provide the diagram  value.
 * @param {NodeModel} parent - provide the cell  value.
 * @param {PhaseModel} newPhase - provide the point  value.
 * @private
 */
export  function addPhase(diagram: Diagram, parent: NodeModel, newPhase: PhaseModel): void;
/**
 * addLastPhase method \
 *
 * @returns {void} addLastPhase method .\
 * @param {number} phaseIndex - provide the diagram  value.
 * @param {NodeModel} parent - provide the cell  value.
 * @param {HistoryEntry} entry - provide the point  value.
 * @param {GridPanel} grid - provide the grid  value.
 * @param {boolean} orientation - provide the orientation  value.
 * @param {PhaseModel} newPhase - provide the newPhase  value.
 * @private
 */
export  function addLastPhase(phaseIndex: number, parent: NodeModel, entry: HistoryEntry, grid: GridPanel, orientation: boolean, newPhase: PhaseModel): void;
/**
 * addHorizontalPhase method \
 *
 * @returns {void} addHorizontalPhase method .\
 * @param {Diagram} diagram - provide the diagram  value.
 * @param {NodeModel} node - provide the cell  value.
 * @param {GridPanel} grid - provide the point  value.
 * @param {number} index - provide the point  value.
 * @param {boolean} orientation - provide the point  value.
 * @param {PhaseModel} newPhase - provide the phase value.
 * @private
 */
export  function addHorizontalPhase(diagram: Diagram, node: NodeModel, grid: GridPanel, index: number, orientation: boolean, newPhase: PhaseModel): void;
/**
 * addVerticalPhase method \
 *
 * @returns {void} addVerticalPhase method .\
 * @param {Diagram} diagram - provide the diagram  value.
 * @param {NodeModel} node - provide the cell  value.
 * @param {GridPanel} grid - provide the point  value.
 * @param {number} rowIndex - provide the point  value.
 * @param {boolean} orientation - provide the point  value.
 * @param {PhaseModel} newPhase - provide the phase value.
 * @private
 */
export  function addVerticalPhase(diagram: Diagram, node: NodeModel, grid: GridPanel, rowIndex: number, orientation: boolean, newPhase: PhaseModel): void;
/**
 * arrangeChildInGrid method \
 *
 * @returns {void} arrangeChildInGrid method .\
 * @param {Diagram} diagram - provide the diagram  value.
 * @param {GridCell} nextCell - provide the nextCell  value.
 * @param {GridPanel} gridCell - provide the gridCell  value.
 * @param {Rect} rect - provide the rect  value.
 * @param {Container} parentWrapper - provide the parentWrapper  value.
 * @param {boolean} orientation - provide the orientation  value.
 * @param {GridCell} prevCell - provide the prevCell  value.
 * @private
 */
export  function arrangeChildInGrid(diagram: Diagram, nextCell: GridCell, gridCell: GridCell, rect: Rect, parentWrapper: Container, orientation: boolean, prevCell?: GridCell): void;
/**
 * swimLaneSelection method \
 *
 * @returns {void} swimLaneSelection method .\
 * @param {Diagram} diagram - provide the diagram  value.
 * @param {NodeModel} node - provide the node  value.
 * @param {string} corner - provide the corner  value.
 * @private
 */
export  function swimLaneSelection(diagram: Diagram, node: NodeModel, corner: string): void;
/**
 * pasteSwimLane method \
 *
 * @returns {void} pasteSwimLane method .\
 * @param {Diagram} swimLane - provide the diagram  value.
 * @param {NodeModel} diagram - provide the diagram  value.
 * @param {string} clipboardData - provide the clipboardData  value.
 * @param {string} laneNode - provide the laneNode  value.
 * @param {string} isLane - provide the isLane  value.
 * @param {string} isUndo - provide the isUndo  value.
 * @private
 */
export  function pasteSwimLane(swimLane: NodeModel, diagram: Diagram, clipboardData?: ClipBoardObject, laneNode?: NodeModel, isLane?: boolean, isUndo?: boolean): NodeModel;
/**
 * gridSelection method \
 *
 * @returns {void} gridSelection method .\
 * @param {Diagram} diagram - provide the diagram  value.
 * @param {SelectorModel} selectorModel - provide the selectorModel  value.
 * @param {string} id - provide the id  value.
 * @param {boolean} isSymbolDrag - provide the isSymbolDrag  value.
 * @private
 */
export  function gridSelection(diagram: Diagram, selectorModel: SelectorModel, id?: string, isSymbolDrag?: boolean): Canvas;
/**
 * removeLaneChildNode method \
 *
 * @returns {void} removeLaneChildNode method .\
 * @param {Diagram} diagram - provide the diagram  value.
 * @param {NodeModel} swimLaneNode - provide the diagram  value.
 * @param {NodeModel} currentObj - provide the currentObj  value.
 * @param {NodeModel} isChildNode - provide the isChildNode  value.
 * @param {number} laneIndex - provide the laneIndex  value.
 * @private
 */
export  function removeLaneChildNode(diagram: Diagram, swimLaneNode: NodeModel, currentObj: NodeModel, isChildNode?: NodeModel, laneIndex?: number): void;
/**
 * getGridChildren method \
 *
 * @returns {DiagramElement} getGridChildren method .\
 * @param {Diagram} obj - provide the obj  value.
 * @private
 */
export  function getGridChildren(obj: DiagramElement): DiagramElement;
/**
 * removeSwimLane method \
 *
 * @returns {void} removeSwimLane method .\
 * @param {Diagram} diagram - provide the obj  value.
 * @param {NodeModel} obj - provide the obj  value.
 * @private
 */
export  function removeSwimLane(diagram: Diagram, obj: NodeModel): void;
/**
 * removeLane method \
 *
 * @returns {void} removeLane method .\
 * @param {Diagram} diagram - provide the obj  value.
 * @param {NodeModel} lane - provide the obj  value.
 * @param {NodeModel} swimLane - provide the obj  value.
 * @param {LaneModel} lanes - provide the obj  value.
 * @private
 */
export  function removeLane(diagram: Diagram, lane: NodeModel, swimLane: NodeModel, lanes?: LaneModel): void;
/**
 * removeLaneGridFromPhase method \
 *
 * @returns {void} removeLaneGridFromPhase method .\
 * @param {Canvas} child - provide the child lane value.
 * @param {Swimlane} swimlane - provide the swimlane value.
 * @param {Diagram} diagram - provide the diagram  value.
 * @private
 */
export  function removeLaneGridFromPhase(child: Canvas, swimlane: NodeModel, diagram: Diagram): void;
/**
 * removeChildren method \
 *
 * @returns {void} removeChildren method .\
 * @param {Diagram} diagram - provide the obj  value.
 * @param {Canvas} canvas - provide the obj  value.
 * @private
 */
export  function removeChildren(diagram: Diagram, canvas: Canvas): void;
/**
 * removePhase method \
 *
 * @returns {void} removePhase method .\
 * @param {Diagram} diagram - provide the obj  value.
 * @param {NodeModel} phase - provide the obj  value.
 * @param {NodeModel} swimLane - provide the obj  value.
 * @param {PhaseModel} swimLanePhases - provide the obj  value.
 * @private
 */
export  function removePhase(diagram: Diagram, phase: NodeModel, swimLane: NodeModel, swimLanePhases?: PhaseModel): void;
/**
 * removeHorizontalPhase method \
 *
 * @returns {void} removeHorizontalPhase method .\
 * @param {Diagram} diagram - provide the obj  value.
 * @param {GridPanel} grid - provide the obj  value.
 * @param {NodeModel} phase - provide the obj  value.
 * @param {number} phaseIndex - provide the obj  value.
 * @private
 */
export  function removeHorizontalPhase(diagram: Diagram, grid: GridPanel, phase: NodeModel, phaseIndex?: number): void;
/**
 * removeVerticalPhase method \
 *
 * @returns {void} removeVerticalPhase method .\
 * @param {Diagram} diagram - provide the diagram  value.
 * @param {GridPanel} grid - provide the grid  value.
 * @param {NodeModel} phase - provide the phase  value.
 * @param {number} phaseIndex - provide the phaseIndex  value.
 * @param {number} swimLane - provide the swimLane  value.
 * @private
 */
export  function removeVerticalPhase(diagram: Diagram, grid: GridPanel, phase: NodeModel, phaseIndex: number, swimLane: NodeModel): void;
/**
 * considerSwimLanePadding method \
 *
 * @returns {void} considerSwimLanePadding method .\
 * @param {Diagram} diagram - provide the diagram  value.
 * @param {NodeModel} node - provide the grid  value.
 * @param {number} padding - provide the phase  value.
 * @private
 */
export  function considerSwimLanePadding(diagram: Diagram, node: NodeModel, padding: number): void;
/**
 * checkLaneChildrenOffset method \
 *
 * @returns {void} checkLaneChildrenOffset method .\
 * @param {NodeModel} swimLane - provide the diagram  value.
 * @private
 */
export  function checkLaneChildrenOffset(swimLane: NodeModel): void;
/**
 * findLane method \
 *
 * @returns {LaneModel} findLane method .\
 * @param {Node} laneNode - provide the laneNode  value.
 * @param {Diagram} diagram - provide the diagram  value.
 * @private
 */
export  function findLane(laneNode: Node, diagram: Diagram): LaneModel;
/**
 * Checks if node and its parent got selected
 *
 * @param {Node} node - node to check, if its parent got selected with it.
 * @param {Diagram} diagram - provide the diagram value.
 * @returns {boolean} whether node and its parent got selected or not.
 * @private
 */
export  function isParentNodeSelected(node: Node, diagram: Diagram): boolean;
/**
 * Checks two different sub lane nodes are a representation of the same lane.
 *
 * @param {Node} node1 - Provide the node to compare to.
 * @param {Node} node2 - Provide the node to compare with.
 * @param {Diagram} diagram - Provide the diagram value.
 * @returns {boolean} Whether two nodes are representation of the same lane.
 * @private
 */
export  function checkSameLaneNodes(node1: Node, node2: Node, diagram: Diagram): boolean;
/**
 * canLaneInterchange method \
 *
 * @returns {boolean} canLaneInterchange method .\
 * @param {Node} laneNode - provide the laneNode  value.
 * @param {Diagram} diagram - provide the diagram  value.
 * @private
 */
export  function canLaneInterchange(laneNode: Node, diagram: Diagram): boolean;
/**
 * updateSwimLaneChildPosition method \
 *
 * @returns {void} updateSwimLaneChildPosition method .\
 * @param {Lane[]} lanes - provide the laneNode  value.
 * @param {Diagram} diagram - provide the diagram  value.
 * @private
 */
export  function updateSwimLaneChildPosition(lanes: Lane[], diagram: Diagram): void;
//node_modules/@syncfusion/ej2-diagrams/src/diagram/utility/path-util.d.ts
/**
 * These utility methods help to process the data and to convert it to desired dimensions
 */
/**
 * processPathData method \
 *
 * @returns {Object[]} processPathData method .\
 * @param { string } data - provide the data  value.
 * @private
 */
export  function processPathData(data: string): Object[];
/**
 * parsePathData method \
 *
 * @returns {Object[]} parsePathData method .\
 * @param { string } data - provide the data  value.
 * @private
 */
export  function parsePathData(data: string): Object[];
/**
 * getRectanglePath method \
 *
 * @returns {string} getRectanglePath method .\
 * @param { number } cornerRadius - provide the data  value.
 * @param { number } height - provide the height  value.
 * @param { number } width - provide the width  value.
 * @private
 */
export  function getRectanglePath(cornerRadius: number, height: number, width: number): string;
/**
 * getPolygonPath method \
 *
 * @returns {string} getPolygonPath method .\
 * @param { PointModel[] } collection - provide the data  value.
 * @private
 */
export  function getPolygonPath(collection: PointModel[]): string;
/**
 * getFreeHandPath method \
 *
 * @returns {string} getFreeHandPath method .\
 * @param { PointModel[] } collection - provide the data  value.
 * @private
 */
export  function getFreeHandPath(collection: any): string;
/**
 * pathSegmentCollection method \
 *
 * @returns {string} pathSegmentCollection method .\
 * @param { Object[]} collection - provide the collection  value.
 * @private
 */
export  function pathSegmentCollection(collection: Object[]): Object[];
/**
 * transformPath method \
 *
 * @returns {string} transformPath method .\
 * @param { Object[]} arr - provide the collection  value.
 * @param { number} sX - provide the collection  value.
 * @param { number} sY - provide the collection  value.
 * @param { boolean} s - provide the collection  value.
 * @param {number} bX - provide the collection  value.
 * @param { number} bY - provide the collection  value.
 * @param { number} iX - provide the collection  value.
 * @param { number} iY - provide the collection  value.
 * @private
 */
export  function transformPath(arr: Object[], sX: number, sY: number, s: boolean, bX: number, bY: number, iX: number, iY: number): string;
/**
 * updatedSegment method \
 *
 * @returns {string} updatedSegment method .\
 * @param { PathSegment} segment - provide the collection  value.
 * @param { PathSegment} char - provide the collection  value.
 * @param { number} obj - provide the collection  value.
 * @param { boolean} isScale - provide the collection  value.
 * @param {number} sX - provide the collection  value.
 * @param { number} sY - provide the collection  value.
 * @private
 */
export  function updatedSegment(segment: PathSegment, char: string, obj: PathSegment, isScale: boolean, sX: number, sY: number): Object;
/**
 * scalePathData method \
 *
 * @returns {string} scalePathData method .\
 * @param { number} val - provide the val  value.
 * @param { number} scaleFactor - provide the scaleFactor  value.
 * @param { number} oldOffset - provide the oldOffset  value.
 * @param { number} newOffset - provide the newOffset  value.
 * @private
 */
export  function scalePathData(val: number, scaleFactor: number, oldOffset: number, newOffset: number): number;
/**
 * splitArrayCollection method \
 *
 * @returns {Object[]} splitArrayCollection method .\
 * @param { Object[]} arrayCollection - provide the val  value.
 * @private
 */
export  function splitArrayCollection(arrayCollection: Object[]): Object[];
/**
 * getPathString method \
 *
 * @returns {string} getPathString method .\
 * @param { Object[]} arrayCollection - provide the val  value.
 * @private
 */
export  function getPathString(arrayCollection: Object[]): string;
/**
 * getString method \
 *
 * @returns {string} getString method .\
 * @param { PathSegment} arrayCollection - provide the val  value.
 * @private
 */
export  function getString(obj: PathSegment): string;
//node_modules/@syncfusion/ej2-diagrams/src/diagram/utility/dom-util.d.ts
/**
 * Defines the functionalities that need to access DOM
 */
/**
 * removeElementsByClass method \
 *
 * @returns {void} removeElementsByClass method .\
 * @param { string } className - provide the element  value.
 * @param {string} id - provide the string  value.
 * @private
 */
export  function removeElementsByClass(className: string, id?: string): void;
/**
 * findSegmentPoints method \
 *
 * @returns {PointModel[]} findSegmentPoints method .\
 * @param { PathElement } element - provide the element  value.
 * @private
 */
export  function findSegmentPoints(element: PathElement): PointModel[];
/**
 * getChildNode method \
 *
 * @returns {SVGElement[] | HTMLCollection} findSegmentPoints method .\
 * @param { SVGElement } node - provide the element  value.
 * @private
 */
export  function getChildNode(node: SVGElement): SVGElement[] | HTMLCollection;
/**
 * translatePoints method \
 *
 * @returns {PointModel[]} translatePoints method .\
 * @param { SVGElement } element - provide the element  value.
 * @param { PointModel[] } points - provide the element  value.
 * @private
 */
export  function translatePoints(element: PathElement, points: PointModel[]): PointModel[];
/**
 * measurePath method \
 *
 * @returns {Rect} measurePath method .\
 * @param { string } data - provide the element  value.
 * @private
 */
export  function measurePath(data: string): Rect;
/**
 * measureHtmlText method \
 *
 * @returns {TextBounds} measureHtmlText method .\
 * @param { TextStyleModel } style - provide the style  value.
 * @param { string } content - provide the content  value.
 * @param { string } width - provide the width  value.
 * @param { string } height - provide the height  value.
 * @param { string } maxWidth - provide the maxWidth  value.
 * @private
 */
export  function measureHtmlText(style: TextStyleModel, content: string, width: number, height: number, maxWidth?: number): Size;
/**
 * measureText method \
 *
 * @returns {Size} measureText method .\
 * @param { TextStyleModel } text - provide the text  value.
 * @param { string } style - provide the style  value.
 * @param { string } content - provide the content  value.
 * @param { number } maxWidth - provide the maxWidth  value.
 * @param { string } textValue - provide the textValue  value.
 * @private
 */
export  function measureText(text: TextElement, style: TextStyleModel, content: string, maxWidth?: number, textValue?: string): Size;
/**
 * measureImage method \
 *
 * @returns {Size} measureImage method .\
 * @param { string } source - provide the text  value.
 * @param { Size } contentSize - provide the style  value.
 * @param { string } id - provide the content  value.
 * @param { Function } callback - provide the maxWidth  value.
 * @private
 */
export  function measureImage(source: string, contentSize: Size, id?: string, callback?: Function): Size;
/**
 * measureNativeContent method \
 *
 * @returns {Rect} measureNativeContent method .\
 * @param { SVGElement } nativeContent - provide the text  value.
 * @private
 */
export  function measureNativeContent(nativeContent: SVGElement): Rect;
/**
 * measureNativeSvg method \
 *
 * @returns {Rect} measureNativeSvg method .\
 * @param { SVGElement } nativeContent - provide the text  value.
 * @private
 */
export  function measureNativeSvg(nativeContent: SVGElement): Rect;
/**
 * updatePath method \
 *
 * @returns {string} updatePath method .\
 * @param { SVGElement } element - provide the element  value.
 * @param { Rect } bounds - provide the bounds  value.
 * @param { PathElement } child - provide the child  value.
 * @param { BaseAttributes } options - provide the options  value.
 * @private
 */
export  function updatePath(element: PathElement, bounds: Rect, child: PathElement, options?: BaseAttributes): string;
/**
 * getDiagramLayerSvg method \
 *
 * @returns {string} getDiagramLayerSvg method .\
 * @param { string } diagramId - provide the element  value.
 * @private
 */
export  function getDiagramLayerSvg(diagramId: string): SVGSVGElement;
/**
 * getDiagramElement method \
 *
 * @returns {HTMLElement} getDiagramElement method .\
 * @param { string } elementId - provide the elementId  value.
 * @param { string } contentId - provide the elementId  value.
 * @private
 */
export  function getDiagramElement(elementId: string, contentId?: string): HTMLElement;
/**
 * getDomIndex method \
 *
 * @returns {HTMLElement} getDomIndex method .\
 * @param { string } viewId - provide the elementId  value.
 * @param { string } elementId - provide the elementId  value.
 * @param { string } layer - provide the elementId  value.
 * @private
 */
export  function getDomIndex(viewId: string, elementId: string, layer: string): number;
/**
 * getAdornerLayerSvg method \
 *
 * @returns {SVGSVGElement} getAdornerLayerSvg method .\
 * @param { string } diagramId - provide the diagramId  value.
 * @private
 */
export  function getAdornerLayerSvg(diagramId: string): SVGSVGElement;
/**
 * getSelectorElement method \
 *
 * @returns {SVGSVGElement} getSelectorElement method .\
 * @param { string } diagramId - provide the diagramId  value.
 * @private
 */
export  function getSelectorElement(diagramId: string): SVGElement;
/**
 * getAdornerLayer method \
 *
 * @returns {SVGSVGElement} getAdornerLayer method .\
 * @param { string } diagramId - provide the diagramId  value.
 * @private
 */
export  function getAdornerLayer(diagramId: string): SVGElement;
/**
 * getUserHandleLayer method \
 *
 * @returns {HTMLElement} getUserHandleLayer method .\
 * @param { string } diagramId - provide the diagramId  value.
 * @private
 */
export  function getUserHandleLayer(diagramId: string): HTMLElement;
/**
 * getDiagramLayer method \
 *
 * @returns {HTMLElement} getDiagramLayer method .\
 * @param { string } diagramId - provide the diagramId  value.
 * @private
 */
export  function getDiagramLayer(diagramId: string): SVGElement;
/**
 * getPortLayerSvg method \
 *
 * @returns {SVGSVGElement} getPortLayerSvg method .\
 * @param { string } diagramId - provide the diagramId  value.
 * @private
 */
export  function getPortLayerSvg(diagramId: string): SVGSVGElement;
/**
 * getNativeLayerSvg method \
 *
 * @returns {SVGSVGElement} getNativeLayerSvg method .\
 * @param { string } diagramId - provide the diagramId  value.
 * @private
 */
export  function getNativeLayerSvg(diagramId: string): SVGSVGElement;
/**
 * getGridLayerSvg method \
 *
 * @returns {SVGSVGElement} getNativeLayerSvg method .\
 * @param { string } diagramId - provide the diagramId  value.
 * @private
 */
export  function getGridLayerSvg(diagramId: string): SVGSVGElement;
/**
 * getBackgroundLayerSvg method \
 *
 * @returns {SVGSVGElement} getBackgroundLayerSvg method .\
 * @param { string } diagramId - provide the diagramId  value.
 * @private
 */
export  function getBackgroundLayerSvg(diagramId: string): SVGSVGElement;
/**
 * getBackgroundImageLayer method \
 *
 * @returns {SVGSVGElement} getBackgroundImageLayer method .\
 * @param { string } diagramId - provide the diagramId  value.
 * @private
 */
export  function getBackgroundImageLayer(diagramId: string): SVGSVGElement;
/**
 * getBackgroundLayer method \
 *
 * @returns {SVGSVGElement} getBackgroundLayer method .\
 * @param { string } diagramId - provide the diagramId  value.
 * @private
 */
export  function getBackgroundLayer(diagramId: string): SVGSVGElement;
/**
 * getGridLayer method \
 *
 * @returns {SVGSVGElement} getGridLayer method .\
 * @param { string } diagramId - provide the diagramId  value.
 * @private
 */
export  function getGridLayer(diagramId: string): SVGElement;
/**
 * getNativeLayer method \
 *
 * @returns {SVGSVGElement} getNativeLayer method .\
 * @param { string } diagramId - provide the diagramId  value.
 * @private
 */
export  function getNativeLayer(diagramId: string): SVGElement;
/**
 * getHTMLLayer method \
 *
 * @returns {SVGSVGElement} getHTMLLayer method .\
 * @param { string } diagramId - provide the diagramId  value.
 * @private
 */
export  function getHTMLLayer(diagramId: string): HTMLElement;
/**
 * createHtmlElement method \
 *
 * @returns {SVGSVGElement} createHtmlElement method .\
 * @param { string } elementType - provide the diagramId  value.
 * @param { Object } attribute - provide the diagramId  value.
 * @private
 */
export  function createHtmlElement(elementType: string, attribute: Object): HTMLElement;
/**
 * createSvgElement method \
 *
 * @returns {SVGSVGElement} createSvgElement method .\
 * @param { string } elementType - provide the elementType  value.
 * @param { Object } attribute - provide the attribute  value.
 * @private
 */
export  function createSvgElement(elementType: string, attribute: Object): SVGElement;
/** @hidden */
/**
 * parentsUntil method \
 *
 * @returns {SVGSVGElement} parentsUntil method .\
 * @param { Element } elem - provide the elementType  value.
 * @param { string } selector - provide the attribute  value.
 * @param { boolean } isID - provide the attribute  value.
 * @private
 */
export  function parentsUntil(elem: Element, selector: string, isID?: boolean): Element;
/**
 * hasClass method \
 *
 * @returns {SVGSVGElement} hasClass method .\
 * @param { HTMLElement } element - provide the element  value.
 * @param { string } className - provide the className  value.
 * @private
 */
export  function hasClass(element: HTMLElement, className: string): boolean;
/**
 * getScrollerWidth method \
 *
 * @returns {number} getScrollerWidth method .\
 * @private
 */
export  function getScrollerWidth(): number;
/**
 * addTouchPointer method \
 *
 * @returns {ITouches[]} addTouchPointer method .\
 * @param { ITouches[] } touchList - provide the touchList  value.
 * @param { PointerEvent } e - provide the e  value.
 * @param { TouchList } touches - provide the touches  value.
 * @private
 */
export  function addTouchPointer(touchList: ITouches[], e: PointerEvent, touches: TouchList): ITouches[];
/**
 * removes the element from dom \
 *
 * @returns {void} removes the element from dom .\
 * @param { ITouches[] } elementId - provide the elementId  value.
 * @param { PointerEvent } contentId - provide the contentId  value.
 * @private
 */
export  function removeElement(elementId: string, contentId?: string): void;
/**
 * getContent method   \
 *
 * @returns {void} getContent method .\
 * @param { DiagramHtmlElement | DiagramNativeElement } element - provide the elementId  value.
 * @param { boolean } isHtml - provide the boolean  value.
 * @param { Node | Annotation | PathAnnotation | NodeFixedUserHandle | ConnectorFixedUserHandle } nodeObject - provide the nodeObject  value.
 * @private
 */
export  function getContent(element: DiagramHtmlElement | DiagramNativeElement, isHtml: boolean, nodeObject?: Node | Annotation | PathAnnotation | NodeFixedUserHandle | ConnectorFixedUserHandle): HTMLElement | SVGElement;
/**
 * setAttributeSvg method   \
 *
 * @returns {void} setAttributeSvg method .\
 * @param { SVGElement } svg - provide the svg  value.
 * @param { Object } attributes - provide the boolean  value.
 * @private
 */
export  function setAttributeSvg(svg: SVGElement, attributes: Object): void;
/**
 * applyStyleAgainstCsp method   \
 *
 * @returns {void} applyStyleAgainstCsp method .\
 * @param { SVGElement } svg - provide the svg  value.
 * @param { string } attributes - provide the boolean  value.
 * @private
 */
export  function applyStyleAgainstCsp(svg: SVGElement | HTMLElement, attributes: string): void;
/**
 * setAttributeHtml method   \
 *
 * @returns {void} setAttributeHtml method .\
 * @param { HTMLElement } element - provide the svg  value.
 * @param { Object } attributes - provide the boolean  value.
 * @private
 */
export  function setAttributeHtml(element: HTMLElement, attributes: Object): void;
/**
 * createMeasureElements method   \
 *
 * @returns {void} createMeasureElements method .\
 * @private
 */
export  function createMeasureElements(): void;
/**
 * setChildPosition method   \
 *
 * @returns {number} setChildPosition method .\
 * @param {SubTextElement} temp - provide the temp  value.
 * @param {SubTextElement[]} childNodes - provide the childNodes  value.
 * @param {number} i - provide the i  value.
 * @param {TextAttributes} options - provide the options  value.
 * @private
 */
export  function setChildPosition(temp: SubTextElement, childNodes: SubTextElement[], i: number, options: TextAttributes): number;
/**
 * getTemplateContent method\
 *
 * @returns {DiagramHtmlElement} getTemplateContent method .\
 * @param {DiagramHtmlElement} annotationcontent - provide the annotationcontent  value.
 * @param {Annotation} annotation - provide the annotation  value.
 * @param {number} annotationTemplate - provide the annotationTemplate  value.
 * @param {Object} diagram - provide the diagram value.
 * @private
 */
export  function getTemplateContent(annotationcontent: DiagramHtmlElement, annotation: Annotation, annotationTemplate?: string | Function, diagram?: Object): DiagramHtmlElement;
/** @private */
export  function createUserHandleTemplates(userHandleTemplate: string | Function, template: HTMLCollection, selectedItems: SelectorModel, diagramID: string): void;
//node_modules/@syncfusion/ej2-diagrams/src/diagram/utility/diagram-util.d.ts
/**
 * completeRegion method\
 *
 * @returns {  void }    completeRegion method .\
 * @param {Rect} region - provide the region value.
 * @param {(NodeModel | ConnectorModel)[]} selectedObjects - provide the selectedObjects value.
 * @private
 */
export  function completeRegion(region: Rect, selectedObjects: (NodeModel | ConnectorModel)[]): (NodeModel | ConnectorModel)[];
/**
 * findNodeByName method \
 *
 * @returns {  boolean } findNodeByName method .\
 * @param {(NodeModel | ConnectorModel)[]} nodes - provide the nodes  value.
 * @param {string} name - provide the orientation  value.
 * @private
 */
export  function findNodeByName(nodes: (NodeModel | ConnectorModel)[], name: string): boolean;
/**
 * findNodeByName method \
 *
 * @returns {  string } findNodeByName method .\
 * @param {(NodeModel | ConnectorModel)[]} drawingObject - provide the drawingObject  value.
 * @private
 */
export  function findObjectType(drawingObject: NodeModel | ConnectorModel): string;
/**
 * setSwimLaneDefaults method \
 *
 * @returns {  void } setSwimLaneDefaults method .\
 * @param {NodeModel | ConnectorModel} child - provide the child  value.
 * @param {NodeModel | ConnectorModel} node - provide the node  value.
 * @private
 */
export  function setSwimLaneDefaults(child: NodeModel | ConnectorModel, node: NodeModel | ConnectorModel): void;
/**
 * getSpaceValue method \
 *
 * @returns {  number } getSpaceValue method .\
 * @param {number[]} intervals - provide the intervals  value.
 * @param {boolean} isLine - provide the isLine  value.
 * @param {number} i - provide the i  value.
 * @param {number} space - provide the space  value.
 * @private
 */
export  function getSpaceValue(intervals: number[], isLine: boolean, i: number, space: number): number;
/**
 * getInterval method \
 *
 * @returns {  number[] } getInterval method .\
 * @param {number[]} intervals - provide the intervals  value.
 * @param {boolean} isLine - provide the isLine  value.
 * @private
 */
export  function getInterval(intervals: number[], isLine: boolean): number[];
/**
 * setPortsEdges method \
 *
 * @returns {  Node } setPortsEdges method .\
 * @param {Node} node - provide the node  value.
 * @private
 */
export  function setPortsEdges(node: Node): Node;
/**
 * setUMLActivityDefaults method \
 *
 * @returns {  void } setUMLActivityDefaults method .\
 * @param {NodeModel | ConnectorModel} child - provide the child  value.
 * @param {NodeModel | ConnectorModel} node - provide the node  value.
 * @private
 */
export  function setUMLActivityDefaults(child: NodeModel | ConnectorModel, node: NodeModel | ConnectorModel): void;
/**
 * setConnectorDefaults method \
 *
 * @returns {  void } setConnectorDefaults method .\
 * @param {ConnectorModel} child - provide the child  value.
 * @param {ConnectorModel} node - provide the node  value.
 * @private
 */
export  function setConnectorDefaults(child: ConnectorModel, node: ConnectorModel): void;
/**
 * findNearestPoint method \
 *
 * @returns {  PointModel } findNearestPoint method .\
 * @param {PointModel} reference - provide the reference  value.
 * @param {PointModel} start - provide the start  value.
 * @param {PointModel} end - provide the end  value.
 * @private
 */
export  function findNearestPoint(reference: PointModel, start: PointModel, end: PointModel): PointModel;
/**
 * isDiagramChild method \
 *
 * @returns {  boolean } isDiagramChild method .\
 * @param {HTMLElement} htmlLayer - provide the htmlLayer  value.
 * @private
 */
export  function isDiagramChild(htmlLayer: HTMLElement): boolean;
/**
 * groupHasType method \
 *
 * @returns {  boolean } groupHasType method .\
 * @param {NodeModel} node - provide the node  value.
 * @param {Shapes} type - provide the type  value.
 * @param {{}} nameTable - provide the nameTable  value.
 * @private
 */
export  function groupHasType(node: NodeModel, type: Shapes, nameTable: {}): boolean;
/**
 * groupHasType method \
 *
 * @returns {  void } groupHasType method .\
 * @param {NodeModel | ConnectorModel} actualNode - provide the actualNode  value.
 * @param { NodeModel | ConnectorModel} plainValue - provide the plainValue  value.
 * @param {object} defaultValue - provide the defaultValue  value.
 * @param {NodeModel | ConnectorModel} property - provide the property  value.
 * @param {string} oldKey - provide the oldKey  value.
 * @private
 */
export  function updateDefaultValues(actualNode: NodeModel | ConnectorModel, plainValue: NodeModel | ConnectorModel, defaultValue: object, property?: NodeModel | ConnectorModel, oldKey?: string): void;
/**
 * updateLayoutValue method \
 *
 * @returns {  void } updateLayoutValue method .\
 * @param {TreeInfo} actualNode - provide the actualNode  value.
 * @param { object} defaultValue - provide the defaultValue  value.
 * @param {INode[]} nodes - provide the nodes  value.
 * @param {INode} node - provide the node  value.
 * @private
 */
export  function updateLayoutValue(actualNode: TreeInfo, defaultValue: object, nodes?: INode[], node?: INode): void;
/**
 * isPointOverConnector method \
 *
 * @returns {  boolean } isPointOverConnector method .\
 * @param {ConnectorModel} connector - provide the connector  value.
 * @param { PointModel} reference - provide the reference  value.
 * @private
 */
export  function isPointOverConnector(connector: ConnectorModel, reference: PointModel): boolean;
/**
 * intersect3 method \
 *
 * @returns {  Intersection } intersect3 method .\
 * @param {ConnectorModel} lineUtil1 - provide the lineUtil1  value.
 * @param { PointModel} lineUtil2 - provide the lineUtil2  value.
 * @private
 */
export  function intersect3(lineUtil1: Segment, lineUtil2: Segment): Intersection;
/**
 * intersect2 method \
 *
 * @returns {  PointModel } intersect2 method .\
 * @param {PointModel} start1 - provide the start1  value.
 * @param { PointModel} end1 - provide the end1  value.
 * @param { PointModel} start2 - provide the start2  value.
 * @param { PointModel} end2 - provide the end2  value.
 * @private
 */
export  function intersect2(start1: PointModel, end1: PointModel, start2: PointModel, end2: PointModel): PointModel;
/**
 * getLineSegment method \
 *
 * @returns {  Segment } getLineSegment method .\
 * @param {number} x1 - provide the x1  value.
 * @param { number} y1 - provide the y1  value.
 * @param { number} x2 - provide the x2  value.
 * @param { number} y2 - provide the y2  value.
 * @private
 */
export  function getLineSegment(x1: number, y1: number, x2: number, y2: number): Segment;
/**
 * getPoints method \
 *
 * @returns {  PointModel[] } getPoints method .\
 * @param {number} element - provide the element  value.
 * @param { number} corners - provide the corners  value.
 * @param { number} padding - provide the padding  value.
 * @private
 */
export  function getPoints(element: DiagramElement, corners: Corners, padding?: number): PointModel[];
/**
 * getTooltipOffset method \
 *
 * @returns {  PointModel[] } getTooltipOffset method .\
 * @param {number} diagram - provide the diagram  value.
 * @param { number} mousePosition - provide the mousePosition  value.
 * @param { NodeModel | ConnectorModel | PointPortModel} node - provide the node  value.
 * @param { string} type - provide the type  value.
 * @private
 */
export  function getTooltipOffset(diagram: Diagram, mousePosition: PointModel, node: NodeModel | ConnectorModel | PointPortModel, type?: string): PointModel;
/**
 * Gets the fixed user handles symbol \
 *
 * @returns { DiagramElement } Gets the fixed user handles symbol .\
 * @param {ConnectorFixedUserHandleModel | NodeFixedUserHandleModel} options - provide the options  value.
 * @param { Canvas} fixedUserHandleContainer - provide the fixedUserHandleContainer  value.
 * @private
 */
export  function initFixedUserHandlesSymbol(options: ConnectorFixedUserHandleModel | NodeFixedUserHandleModel, fixedUserHandleContainer: Canvas): DiagramElement;
/**
 * sort method \
 *
 * @returns { (NodeModel | ConnectorModel)[] } sort method .\
 * @param {(NodeModel | ConnectorModel)[]} objects - provide the options  value.
 * @param { DistributeOptions} option - provide the fixedUserHandleContainer  value.
 * @private
 */
export  function sort(objects: (NodeModel | ConnectorModel)[], option: DistributeOptions): (NodeModel | ConnectorModel)[];
/**
 * getAnnotationPosition method \
 *
 * @returns {SegmentInfo } getAnnotationPosition method .\
 * @param {PointModel[]} pts - provide the pts  value.
 * @param { PathAnnotation | ConnectorFixedUserHandle} annotation - provide the annotation  value.
 * @param { Rect } bound - provide the bound  value.
 * @private
 */
export  function getAnnotationPosition(pts: PointModel[], annotation: PathAnnotation | ConnectorFixedUserHandle, bound: Rect): SegmentInfo;
/**
 * getPortsPosition method \
 *
 * @returns {SegmentInfo } getPortsPosition method .\
 * @param {PointModel[]} pts - provide the pts  value.
 * @param { Port} ports - provide the ports  value.
 * @param { Rect } bound - provide the bound  value.
 * @private
 */
export  function getPortsPosition(pts: PointModel[], ports: Port, bound: Rect): SegmentInfo;
/**
 * getOffsetOfPorts method \
 *
 * @returns {SegmentInfo } getOffsetOfPorts method .\
 * @param {PointModel[]} points - provide the pts  value.
 * @param { PathAnnotation | ConnectorFixedUserHandle} ports - provide the ports  value.
 * @private
 */
export  function getOffsetOfPorts(points: PointModel[], ports: Port): SegmentInfo;
/**
 * getAlignedPosition method . To get the port alignment position \
 *
 * @returns {number } getAlignedPosition method .\
 * @param {PointModel[]} ports - provide the annotation value.
 * @private
 */
export  function getAlignedPositionForPorts(ports: Port): number;
/**
 * getOffsetOfConnector method \
 *
 * @returns {SegmentInfo } getOffsetOfConnector method .\
 * @param {PointModel[]} points - provide the pts  value.
 * @param { PathAnnotation | ConnectorFixedUserHandle} annotation - provide the annotation  value.
 * @private
 */
export  function getOffsetOfConnector(points: PointModel[], annotation: PathAnnotation | ConnectorFixedUserHandle | PathPort): SegmentInfo;
/**
 * getAlignedPosition method \
 *
 * @returns {number } getAlignedPosition method .\
 * @param {PointModel[]} annotation - provide the annotation value.
 * @private
 */
export  function getAlignedPosition(annotation: PathAnnotation | ConnectorFixedUserHandle): number;
/**
 * alignLabelOnSegments method \
 *
 * @returns {Alignment } alignLabelOnSegments method .\
 * @param {PathAnnotation | ConnectorFixedUserHandle} obj - provide the obj  value.
 * @param { number } ang - provide the ang  value.
 * @param { PointModel[] } pts - provide the pts  value.
 * @private
 */
export  function alignLabelOnSegments(obj: PathAnnotation | ConnectorFixedUserHandle | PathPort, ang: number, pts: PointModel[]): Alignment;
/**
 * getBezierDirection method \
 *
 * @returns {string } getBezierDirection method .\
 * @param {PointModel} src - provide the src  value.
 * @param { PointModel } tar - provide the tar  value.
 * @private
 */
export  function getBezierDirection(src: PointModel, tar: PointModel): string;
/**
 * removeChildNodes method \
 *
 * @returns {void } removeChildNodes method .\
 * @param {NodeModel} node - provide the node  value.
 * @param { Diagram } diagram - provide the diagram  value.
 * @private
 */
export  function removeChildNodes(node: NodeModel, diagram: Diagram): void;
/**
 * getChild method \
 *
 * @returns {string[] } getChild method .\
 * @param {Canvas} child - provide the child  value.
 * @param { string[] } children - provide the children  value.
 * @private
 */
export  function getChild(child: Canvas, children: string[]): string[];
/**
 * serialize method \
 *
 * @returns {string } serialize method .\
 * @param {Diagram} model - provide the model  value.
 * @private
 */
export  function serialize(model: Diagram): string;
/** @private */
export  function deserialize(model: string | Object, diagram: Diagram): Object;
/**
 * To change the string type flip into enum type.\
 *
 * @param {(NodeModel | ConnectorModel)[]} obj - provide the node or connector collection.
 * @private
 */
export  function changeOldFlipDirectionType(obj: (NodeModel | ConnectorModel)[]): void;
/**
 * upgrade method \
 *
 * @returns {Diagram } upgrade method .\
 * @param {Diagram} dataObj - provide the model  value.
 * @private
 */
export  function upgrade(dataObj: Diagram): Diagram;
/**
 * updateStyle method \
 *
 * @returns {void } updateStyle method .\
 * @param {TextStyleModel} changedObject - provide the changedObject  value.
 * @param {DiagramElement} target - provide the target  value.
 * @private
 */
export  function updateStyle(changedObject: TextStyleModel, target: DiagramElement): void;
/**
 * updateHyperlink method \
 *
 * @returns {void } updateHyperlink method .\
 * @param {HyperlinkModel} changedObject - provide the changedObject  value.
 * @param {DiagramElement} target - provide the target  value.
 * @param {AnnotationModel} actualAnnotation - provide the actualAnnotation  value.
 * @private
 */
export  function updateHyperlink(changedObject: HyperlinkModel, target: DiagramElement, actualAnnotation: AnnotationModel): void;
/**
 * updateShapeContent method \
 *
 * @returns {void } updateShapeContent method .\
 * @param {DiagramElement} content - provide the content  value.
 * @param {Node} actualObject - provide the actualObject  value.
 * @param {Diagram} diagram - provide the diagram  value.
 * @private
 */
export  function updateShapeContent(content: DiagramElement, actualObject: Node, diagram: Diagram): void;
/**
 * updateShape method \
 *
 * @returns {void } updateShape method .\
 * @param {Node} node - provide the node  value.
 * @param {Node} actualObject - provide the actualObject  value.
 * @param {Node} oldObject - provide the oldObject  value.
 * @param {Diagram} diagram - provide the diagram  value.
 * @private
 */
export  function updateShape(node: Node, actualObject: Node, oldObject: Node, diagram: Diagram): void;
/**
 * updateContent method \
 *
 * @returns {void } updateContent method .\
 * @param {Node} newValues - provide the newValues  value.
 * @param {Node} actualObject - provide the actualObject  value.
 * @param {Diagram} diagram - provide the diagram  value.
 * @param {Node} oldObject - provide the oldObject  value.
 * @private
 */
export  function updateContent(newValues: Node, actualObject: Node, diagram: Diagram, oldObject: Node): void;
/**
 * updateUmlActivityNode method \
 *
 * @returns {void } updateUmlActivityNode method .\
 * @param {Node} actualObject - provide the newValues  value.
 * @param {Node} newValues - provide the actualObject  value.
 * @private
 */
export  function updateUmlActivityNode(actualObject: Node, newValues: Node): void;
/**
 * getUMLFinalNode method \
 *
 * @returns {Canvas } getUMLFinalNode method .\
 * @param {Node} node - provide the newValues  value.
 * @private
 */
export  function getUMLFinalNode(node: Node): Canvas;
/**
 * getUMLActivityShapes method \
 *
 * @returns {DiagramElement } getUMLActivityShapes method .\
 * @param {PathElement} umlActivityShape - provide the umlActivityShape  value.
 * @param {DiagramElement} content - provide the content  value.
 * @param {Node} node - provide the node  value.
 * @private
 */
export  function getUMLActivityShapes(umlActivityShape: PathElement, content: DiagramElement, node: Node): DiagramElement;
/**
 * removeGradient method \
 *
 * @returns {void } removeGradient method .\
 * @param {string} svgId - provide the umlActivityShape  value.
 * @private
 */
export  function removeGradient(svgId: string): void;
/**
 * removeItem method \
 *
 * @returns {void } removeItem method .\
 * @param {string[]} array - provide the umlActivityShape  value.
 * @param {string} item - provide the umlActivityShape  value.
 * @private
 */
export  function removeItem(array: string[], item: string): void;
/**
 * updateConnector method \
 *
 * @returns {void } updateConnector method .\
 * @param {Connector} connector - provide the connector  value.
 * @param {PointModel[]} points - provide the points  value.
 * @param {DiagramAction} diagramActions - provide the diagramActions  value.
 * @private
 */
export  function updateConnector(connector: Connector, points: PointModel[], diagramActions?: DiagramAction): void;
/**
 * getUserHandlePosition method \
 *
 * @returns {PointModel } getUserHandlePosition method .\
 * @param {SelectorModel} selectorItem - provide the connector  value.
 * @param {UserHandleModel} handle - provide the handle  value.
 * @param {TransformFactor} transform - provide the transform  value.
 * @private
 */
export  function getUserHandlePosition(selectorItem: SelectorModel, handle: UserHandleModel, transform?: TransformFactor): PointModel;
/**
 * canResizeCorner method \
 *
 * @returns {SelectorConstraints } canResizeCorner method .\
 * @param {string} selectorConstraints - provide the selectorConstraints  value.
 * @param {string} action - provide the selectorConstraints  value.
 * @param {ThumbsConstraints} thumbsConstraints - provide the thumbsConstraints  value.
 * @param {Selector} selectedItems - provide the selectedItems  value.
 * @private
 */
export  function canResizeCorner(selectorConstraints: SelectorConstraints, action: string, thumbsConstraints: ThumbsConstraints, selectedItems: Selector): boolean;
/**
 * canShowCorner method \
 *
 * @returns {boolean } canShowCorner method .\
 * @param {SelectorConstraints} selectorConstraints - provide the selectorConstraints  value.
 * @param {string} action - provide the thumbsConstraints  value.
 * @private
 */
export  function canShowCorner(selectorConstraints: SelectorConstraints, action: string): boolean;
/**
 * canShowControlPoints method \
 *
 * @returns {boolean } canShowControlPoints method .\
 * @param {ControlPointsVisibility} bezierControlPoints - provide the bezierControlPoints value.
 * @param {string} action - provide the value.
 * @private
 */
export  function canShowControlPoints(bezierControlPoints: ControlPointsVisibility, action: string): boolean;
/**
 * checkPortRestriction method \
 *
 * @returns {number } checkPortRestriction method .\
 * @param {PointPortModel} port - provide the port  value.
 * @param {PortVisibility} portVisibility - provide the portVisibility  value.
 * @private
 */
export  function checkPortRestriction(port: PointPortModel, portVisibility: PortVisibility): number;
/**
 * findAnnotation method \
 *
 * @returns {ShapeAnnotationModel | PathAnnotationModel | TextModel } findAnnotation method .\
 * @param { NodeModel | ConnectorModel} node - provide the port  value.
 * @param {string} id - provide the portVisibility  value.
 * @private
 */
export  function findAnnotation(node: NodeModel | ConnectorModel, id: string): ShapeAnnotationModel | PathAnnotationModel | TextModel;
/**
 * findPort method \
 *
 * @returns {PointPortModel} findPort method .\
 * @param { NodeModel | ConnectorModel} node - provide the port  value.
 * @param {string} id - provide the portVisibility  value.
 * @private
 */
export  function findPort(node: NodeModel | ConnectorModel, id: string): PointPortModel;
/**
 * getInOutConnectPorts method \
 *
 * @returns {PointPortModel} getInOutConnectPorts method .\
 * @param { NodeModel} node - provide the port  value.
 * @param {boolean} isInConnect - provide the portVisibility  value.
 * @private
 */
export  function getInOutConnectPorts(node: NodeModel | ConnectorModel, isInConnect: boolean): PointPortModel;
/**
 * findObjectIndex method \
 *
 * @returns {PointPortModel} findObjectIndex method .\
 * @param { NodeModel | ConnectorModel} node - provide the node  value.
 * @param {string} id - provide the string  value.
 * @param {boolean} annotation - provide the boolean  value.
 * @private
 */
export  function findObjectIndex(node: NodeModel | ConnectorModel, id: string, annotation?: boolean): string;
/**
 * findPortIndex method \
 *
 * @returns {PointPortModel} findPortIndex method .\
 * @param { NodeModel | ConnectorModel} node - provide the node  value.
 * @param {string} id - provide the string  value.
 * @param {boolean} port - provide the boolean  value.
 * @private
 */
export  function findPortIndex(node: NodeModel | ConnectorModel, id: string, port?: boolean): string;
/**
 * getObjectFromCollection method \
 *
 * @returns {boolean} getObjectFromCollection method .\
 * @param { (NodeModel | ConnectorModel)[] } obj - provide the node  value.
 * @param {string} id - provide the string  value.
 * @private
 */
export  function getObjectFromCollection(obj: (NodeModel | ConnectorModel)[], id: string): boolean;
/**
 * scaleElement method \
 *
 * @returns {void} scaleElement method .\
 * @param { DiagramElement } element - provide the element  value.
 * @param {number} sw - provide the string  value.
 * @param {number} sh - provide the string  value.
 * @param {DiagramElement} refObject - provide the refObject  value.
 * @private
 */
export  function scaleElement(element: DiagramElement, sw: number, sh: number, refObject: DiagramElement): void;
/**
 * scaleElement method \
 *
 * @returns {void} scaleElement method .\
 * @param { Node } obj - provide the obj  value.
 * @param {number} x - provide the x  value.
 * @param {number} y - provide the y  value.
 * @param {DiagramElement} nameTable - provide the refObject  value.
 * @param {DiagramElement} drop - provide the drop  value.
 * @param {DiagramElement} diagram - provide the diagram  value.
 * @private
 */
export  function arrangeChild(obj: Node, x: number, y: number, nameTable: {}, drop: boolean, diagram: Diagram | SymbolPalette): void;
/**
 * insertObject method \
 *
 * @returns {void} insertObject method .\
 * @param { NodeModel | ConnectorModel } obj - provide the obj  value.
 * @param { string } key - provide the obj  value.
 * @param { Object[]} collection - provide the x  value.
 * @private
 */
export  function insertObject(obj: NodeModel | ConnectorModel, key: string, collection: Object[]): void;
/**
 * getElement method \
 *
 * @returns {Object} getElement method .\
 * @param { DiagramHtmlElement | DiagramNativeElement } element - provide the obj  value.
 * @private
 */
export  function getElement(element: DiagramHtmlElement | DiagramNativeElement): Object;
/**
 * getCollectionChangeEventArguements method \
 *
 * @returns {IBlazorCollectionChangeEventArgs} getCollectionChangeEventArguements method .\
 * @param { IBlazorCollectionChangeEventArgs } args1 - provide the args1  value.
 * @param { NodeModel | ConnectorModel } obj - provide the obj  value.
 * @param { EventState } state - provide the state  value.
 * @param { ChangeType } type - provide the type  value.
 * @private
 */
export  function getCollectionChangeEventArguements(args1: IBlazorCollectionChangeEventArgs, obj: NodeModel | ConnectorModel, state: EventState, type: ChangeType): IBlazorCollectionChangeEventArgs;
/**
 * getDropEventArguements method \
 *
 * @returns {IBlazorDropEventArgs} getDropEventArguements method .\
 * @param { MouseEventArgs } args - provide the args1  value.
 * @param { IBlazorDropEventArgs } arg - provide the obj  value.
 * @private
 */
export  function getDropEventArguements(args: MouseEventArgs, arg: IBlazorDropEventArgs): IBlazorDropEventArgs;
/**
 * getPoint method \
 *
 * @returns {PointModel} getPoint method .\
 * @param { number } x - provide the x  value.
 * @param { number } y - provide the y  value.
 * @param { number } w - provide the w  value.
 * @param { number } h - provide the y  value.
 * @param { number } angle - provide the y  value.
 * @param { number } offsetX - provide the y  value.
 * @param { number } offsetY - provide the y  value.
 * @param { PointModel } cornerPoint - provide the y  value.
 * @private
 */
export  function getPoint(x: number, y: number, w: number, h: number, angle: number, offsetX: number, offsetY: number, cornerPoint: PointModel): PointModel;
/**
 * Get the object as Node | Connector \
 *
 * @returns {Object} Get the object as Node | Connector .\
 * @param { number } obj - provide the x  value.
 * @private
 */
export  let getObjectType: Function;
/** @private */
export  let flipConnector: Function;
/** @private */
export  let updatePortEdges: Function;
/** @private */
export  let alignElement: Function;
/** @private */
export  let cloneSelectedObjects: Function;
/** @private */
export  let updatePathElement: Function;
/** @private */
export  let getPathOffset: Function;
/** @private */
export  let checkPort: Function;
/** @private */
export  let findPath: Function;
/** @private */
export  let getConnectorDirection: Function;
/** @private */
export  let findDistance: Function;
/**
 * cloneBlazorObject method \
 *
 * @returns {Object} cloneBlazorObject method .\
 * @param { object } args - provide the args  value.
 * @private
 */
export  function cloneBlazorObject(args: object): Object;
/**
 * checkBrowserInfo method \
 *
 * @returns {Object} checkBrowserInfo method .\
 * @private
 */
export  function checkBrowserInfo(): boolean;
/**
 * canMeasureDecoratorPath method \
 *
 * @returns {boolean} canMeasureDecoratorPath method .\
 * @param { string[] } objects - provide the args  value.
 * @private
 */
export  function canMeasureDecoratorPath(objects: string[]): boolean;
/**
 * getPreviewSize method \
 *
 * @returns {Size} getPreviewSize method .\
 * @param { SymbolPaletteModel } sourceElement - provide the args  value.
 * @param { Node } clonedObject - provide the args  value.
 * @param { DiagramElement } wrapper - provide the args  value.
 * @private
 */
export  function getPreviewSize(sourceElement: SymbolPaletteModel, clonedObject: Node, wrapper: DiagramElement): Size;
/**
 * getSymbolSize method \
 *
 * @returns {number} getSymbolSize method .\
 * @param { SymbolPaletteModel } sourceElement - provide the sourceElement  value.
 * @param { Node } clonedObject - provide the clonedObject  value.
 * @param { DiagramElement } wrapper - provide the wrapper  value.
 * @param { string } size - provide the size  value.
 * @private
 */
export  function getSymbolSize(sourceElement: SymbolPaletteModel, clonedObject: Node, wrapper: DiagramElement, size: string): number;
/**
 * findParent method \
 *
 * @returns {string} findParent method .\
 * @param { Node } node - provide the clonedObject  value.
 * @param { Diagram } diagram - provide the diagram  element.
 * @param { string } parent - provide the parent id.
 * @private
 */
export  function findParentInSwimlane(node: Node, diagram: Diagram, parent: string): string;
/**
 * selectionHasConnector method \
 *
 * @returns {boolean} selectionHasConnector method .\
 * @param { Diagram } diagram - provide the diagram  element.
 * @param { selector } selector - provide the selector element.
 * @private
 */
export  function selectionHasConnector(diagram: Diagram, selector: Selector): boolean;
/**
 * To Get connector style based on the arrow type
 * @param {FlowChartData} data - provide the flow chart data.
 * @returns {ArrowStyle} - Connector style
 */
export  function getConnectorArrowType(data: FlowChartData): {
    targetDecorator: string;
    strokeWidth: number;
    strokeDashArray?: undefined;
    opacity?: undefined;
} | {
    targetDecorator: string;
    strokeDashArray: string;
    strokeWidth?: undefined;
    opacity?: undefined;
} | {
    targetDecorator: string;
    strokeWidth: number;
    opacity: number;
    strokeDashArray?: undefined;
};
export  function alignChildBasedOnaPoint(child: DiagramElement, x: number, y: number): PointModel;
export  function getFlippedPoint(parentSize: ParentContainer, element: TextElement): PointModel;
export  function isLabelFlipped(element: TextElement | NodeModel | ConnectorModel): boolean;
export  function containsBounds(bounds: any, point: PointModel, padding?: number): boolean;
//node_modules/@syncfusion/ej2-diagrams/src/diagram/utility/constraints-util.d.ts
/**
 * constraints-util module contains the common constraints \
 *
 * @returns { number }   constraints-util module contains the common constraints  .\
 *
 * @param {ConnectorModel | NodeModel | PathAnnotationModel | ShapeAnnotationModel} node - Provide the DiagramElement value.
 * @private
 */
export  function canSelect(node: ConnectorModel | NodeModel | PathAnnotationModel | ShapeAnnotationModel): number;
/**
 * Used to check whether we can move the objects ot not\
 *
 * @returns { number }   Used to check whether we can move the objects ot not  .\
 *
 * @param {ConnectorModel | NodeModel | PathAnnotationModel | ShapeAnnotationModel} node - Used to check whether we can move the objects ot not.
 * @private
 */
export  function canMove(node: ConnectorModel | NodeModel | SelectorModel | ShapeAnnotationModel | PathAnnotationModel): number;
/**
 * Used to check the canEnablePointerEvents\
 *
 * @returns { number }   Used to check whether we can move the objects ot not  .\
 *
 * @param {ConnectorModel | NodeModel} node - Used to check whether we can move the objects ot not.
 * @param {Diagram} diagram - Used to check whether we can move the objects ot not.
 * @private
 */
export  function canEnablePointerEvents(node: ConnectorModel | NodeModel, diagram: Diagram): number;
/**
 * Used to check the canDelete of the element \
 *
 * @returns { number }   Used to check the canDelete of the element   .\
 *
 * @param {ConnectorModel | NodeModel} node - Used to check whether we can move the objects ot not.
 * @private
 */
export  function canDelete(node: ConnectorModel | NodeModel): number;
/**
 * Used to check the bridging of the element \
 *
 * @returns { number }   Used to check the bridging of the element   .\
 *
 * @param {ConnectorModel | NodeModel} connector - provide the connector value.
 * @param {ConnectorModel | NodeModel} diagram - provide the diagram value.
 * @private
 */
export  function canBridge(connector: Connector, diagram: Diagram): number;
/**
 * Used to check the routing  of the element \
 *
 * @returns { number }   Used to check the routing  of the element .\
 *
 * @param {ConnectorModel | NodeModel} connector - provide the connector value.
 * @param {ConnectorModel | NodeModel} diagram - provide the diagram value.
 * @private
 */
export  function canEnableRouting(connector: Connector, diagram: Diagram): number;
/**
 * Used to check the  source end dragof the element \
 *
 * @returns { number }   Used to check the  source end dragof the element. \
 *
 * @param {ConnectorModel | NodeModel} connector - provide the connector value.
 * @private
 */
export  function canDragSourceEnd(connector: Connector): number;
/**
 * Used to check the target end drag   of the element \
 *
 * @returns { number }   Used to check the target end drag   of the element .\
 *
 * @param {ConnectorModel | NodeModel} connector - provide the connector value.
 * @private
 */
export  function canDragTargetEnd(connector: Connector): number;
/**
 * Used to check the segment  drag   of the element \
 *
 * @returns { number }   Used to check the segment  drag   of the element .\
 *
 * @param {ConnectorModel | NodeModel} connector - provide the connector value.
 * @private
 */
export  function canDragSegmentThumb(connector: Connector): number;
/**
 * Used to check the routing  drag   of the element \
 *
 * @returns { number }   Used to check the segment  drag   of the element .\
 *
 * @param {NodeModel | ShapeAnnotationModel | PathAnnotationModel} node - provide the connector value.
 * @private
 */
export  function canRotate(node: NodeModel | ShapeAnnotationModel | PathAnnotationModel): number;
/**
 * Used to check shadown constraints   of the element \
 *
 * @returns { number }   Used to check shadown constraints   of the element .\
 *
 * @param {NodeModel} node - provide the connector value.
 * @private
 */
export  function canShadow(node: NodeModel): number;
/**
 * Used to check canInConnect constraints   of the element \
 *
 * @returns { number }   Used to check canInConnect constraints   of the element .\
 *
 * @param {NodeModel} node - provide the node value.
 * @private
 */
export  function canInConnect(node: NodeModel): number;
/**
 * Used to check canPortInConnect constraints   of the element \
 *
 * @returns { number }   Used to check canInConnect constraints   of the element .\
 *
 * @param {PointPortModel} port - provide the PointPortModel value.
 * @private
 */
export  function canPortInConnect(port: PointPortModel): number;
/**
 * Used to check canOutConnect constraints   of the element \
 *
 * @returns { number }   Used to check canInConnect constraints   of the element .\
 *
 * @param {NodeModel} node - provide the node value.
 * @private
 */
export  function canOutConnect(node: NodeModel): number;
/**
 * Used to check canPortOutConnect constraints   of the element \
 *
 * @returns { number }   Used to check canInConnect constraints   of the element .\
 *
 * @param {PointPortModel} port - provide the node value.
 * @private
 */
export  function canPortOutConnect(port: PointPortModel): number;
/**
 * Used to check canResize constraints   of the element \
 *
 * @returns { number }   Used to check canInConnect constraints   of the element .\
 *
 * @param {NodeModel | ShapeAnnotationModel | PathAnnotationModel} node - provide the node value.
 * @param {NodeModel | ShapeAnnotationModel | PathAnnotationModel} direction - provide the node value.
 * @private
 */
export  function canResize(node: NodeModel | ShapeAnnotationModel | PathAnnotationModel, direction?: string): number;
/**
 * Used to check canAllowDrop constraints   of the element \
 *
 * @returns { number }   Used to check canInConnect constraints   of the element .\
 *
 * @param {ConnectorModel | NodeModel} node - provide the node value.
 * @private
 */
export  function canAllowDrop(node: ConnectorModel | NodeModel): number;
/**
 * Used to check canVitualize constraints   of the element \
 *
 * @returns { number }   Used to check canInConnect constraints   of the element .\
 *
 * @param {Diagram} diagram - provide the Diagram value.
 * @private
 */
export  function canVitualize(diagram: Diagram): number;
/**
 * Used to check canEnableToolTip constraints   of the element \
 *
 * @returns { number }   Used to check canInConnect constraints   of the element .\
 *
 * @param {ConnectorModel | NodeModel} node - provide the node value.
 * @param {Diagram} diagram - provide the Diagram value.
 * @private
 */
export  function canEnableToolTip(node: ConnectorModel | NodeModel | PointPortModel, diagram: Diagram): number;
/**
 * Used to check canSingleSelect constraints   of the element \
 *
 * @returns { number }   Used to check canInConnect constraints   of the element .\
 *
 * @param {Diagram} model - provide the Diagram value.
 * @private
 */
export  function canSingleSelect(model: Diagram): number;
/**
 * Used to check canMultiSelect constraints   of the element \
 *
 * @returns { number }   Used to check canInConnect constraints   of the element .\
 *
 * @param {Diagram} model - provide the Diagram value.
 * @private
 */
export  function canMultiSelect(model: Diagram): number;
/**
 * Used to check canZoomPan constraints   of the element \
 *
 * @returns { number }   Used to check canInConnect constraints   of the element .\
 *
 * @param {Diagram} model - provide the Diagram value.
 * @private
 */
export  function canZoomPan(model: Diagram): number;
/**
 * Used to check canContinuousDraw constraints   of the element \
 *
 * @returns { number }   Used to check canInConnect constraints   of the element .\
 *
 * @param {Diagram} model - provide the Diagram value.
 * @private
 */
export  function canContinuousDraw(model: Diagram): number;
/**
 * Used to check canDrawOnce constraints   of the element \
 *
 * @returns { number }   Used to check canInConnect constraints   of the element .\
 *
 * @param {Diagram} model - provide the Diagram value.
 * @private
 */
export  function canDrawOnce(model: Diagram): number;
/**
 * Used to check defaultTool constraints   of the element \
 *
 * @returns { number }   Used to check canInConnect constraints   of the element .\
 *
 * @param {Diagram} model - provide the Diagram value.
 * @private
 */
export  function defaultTool(model: Diagram): number;
/**
 * Used to check canZoom constraints   of the element \
 *
 * @returns { number }   Used to check canInConnect constraints   of the element .\
 *
 * @param {Diagram} model - provide the Diagram value.
 * @private
 */
export  function canZoom(model: Diagram): number;
/**
 * Used to check canPan constraints   of the element \
 *
 * @returns { number }   Used to check canInConnect constraints   of the element .\
 *
 * @param {Diagram} model - provide the Diagram value.
 * @private
 */
export  function canPan(model: Diagram): number;
/**
 * Used to check canUserInteract constraints   of the element \
 *
 * @returns { number }   Used to check canInConnect constraints   of the element .\
 *
 * @param {Diagram} model - provide the Diagram value.
 * @private
 */
export  function canUserInteract(model: Diagram): number;
/**
 * Used to check canApiInteract constraints   of the element \
 *
 * @returns { number }   Used to check canInConnect constraints   of the element .\
 *
 * @param {Diagram} model - provide the Diagram value.
 * @private
 */
export  function canApiInteract(model: Diagram): number;
/**
 * Used to check canPanX constraints   of the element \
 *
 * @returns { number }   Used to check canInConnect constraints   of the element .\
 *
 * @param {Diagram} model - provide the Diagram value.
 * @private
 */
export  function canPanX(model: Diagram): number;
/**
 * Used to check canPanY constraints   of the element \
 *
 * @returns { number }   Used to check canInConnect constraints   of the element .\
 *
 * @param {Diagram} model - provide the Diagram value.
 * @private
 */
export  function canPanY(model: Diagram): number;
/**
 * Used to check canZoomTextEdit constraints   of the element \
 *
 * @returns { number }   Used to check canInConnect constraints   of the element .\
 *
 * @param {Diagram} diagram - provide the Diagram value.
 * @private
 */
export  function canZoomTextEdit(diagram: Diagram): number;
/**
 * Used to check canPageEditable constraints   of the element \
 *
 * @returns { number }   Used to check canInConnect constraints   of the element .\
 *
 * @param {Diagram} model - provide the Diagram value.
 * @private
 */
export  function canPageEditable(model: Diagram): number;
/**
 * Used to check enableReadOnly constraints   of the element \
 *
 * @returns { number }   Used to check canInConnect constraints   of the element .\
 *
 * @param {Diagram} annotation - provide the annotation value.
 * @param {Diagram} node - provide the node value.
 * @private
 */
export  function enableReadOnly(annotation: AnnotationModel, node: NodeModel | ConnectorModel): number;
/**
 * Used to check canDraw constraints   of the element \
 *
 * @returns { number }   Used to check canInConnect constraints   of the element .\
 *
 * @param {PointPortModel | NodeModel} port - provide the Diagram value.
 * @param {Diagram} diagram - provide the Diagram value.
 * @private
 */
export  function canDraw(port: PointPortModel | NodeModel, diagram: Diagram): number;
/**
 * Used to check canDrag constraints   of the element \
 *
 * @returns { number }   Used to check canInConnect constraints   of the element .\
 *
 * @param {PointPortModel | NodeModel} port - provide the Diagram value.
 * @param {Diagram} diagram - provide the Diagram value.
 * @private
 */
export  function canDrag(port: PointPortModel | NodeModel, diagram: Diagram): number;
/**
 * Used to check canPreventClearSelection constraints   of the element \
 *
 * @returns { boolean }   Used to check canInConnect constraints   of the element .\
 *
 * @param {PointPortModel | NodeModel} diagramActions - provide the diagramActions value.
 * @private
 */
export  function canPreventClearSelection(diagramActions: DiagramAction): boolean;
/**
 * Used to check canDrawThumbs \
 *
 * @returns { boolean }   Used to check canInConnect constraints   of the element .\
 *
 * @param {RendererAction} rendererActions - provide the RendererAction value.
 * @private
 */
export  function canDrawThumbs(rendererActions: RendererAction): boolean;
/**
 * Used to check avoidDrawSelector \
 *
 * @returns { boolean }   Used to check canInConnect constraints   of the element .\
 *
 * @param {RendererAction} rendererActions - provide the RendererAction value.
 * @private
 */
export  function avoidDrawSelector(rendererActions: RendererAction): boolean;
//node_modules/@syncfusion/ej2-diagrams/src/diagram/utility/connector.d.ts
/**
 * Connector modules are used to dock and update the connectors
 */
/**
 * intermeditatePoints method\
 *
 * @returns {  Function }    getFunction method .\
 * @param {PointModel} element - provide the angle value.
 * @param {PointModel} layoutOrientation - provide the angle value.
 * @param {PointModel} lineDistribution - provide the angle value.
 * @private
 */
export  function findConnectorPoints(element: Connector, layoutOrientation?: LayoutOrientation, lineDistribution?: boolean): PointModel[];
/**
 * swapBounds method \
 *
 * @returns { Corners }     swapBounds method .\
 * @param {PointModel} object - provide the sourceWrapper value.
 * @param {PointModel} bounds - provide the padding value.
 * @param {Rect} outerBounds - provide the padding value.
 *
 * @private
 */
export  function swapBounds(object: DiagramElement, bounds: Corners, outerBounds: Rect): Corners;
/**
 * Returns the margin of source node and the target node
 *
 * @returns { number } - findMargin method .\
 * @param { Connector } element - provide the element value
 * @private
 */
export  function findMargin(element: Connector): number;
/**
 * findAngle method \
 *
 * @returns { number } findAngle method .\
 * @param {DiagramElement} s - provide the s value.
 * @param {End} e - provide the e value.
 * @private
 */
export  function findAngle(s: PointModel, e: PointModel): number;
/**
 * findPoint method \
 *
 * @returns { number } findPoint method .\
 * @param {Corners} cor - provide the cor value.
 * @param {string} direction - provide the direction value.
 * @private
 */
export  function findPoint(cor: Corners, direction: string): PointModel;
/**
 * getIntersection method \
 *
 * @returns { PointModel } getIntersection method .\
 * @param {PointModel} ele - provide the ele value.
 * @param {number} bounds - provide the bounds value.
 * @param {number} sPt - provide the sPt value.
 * @param {number} tPt - provide the tPt value.
 * @param {number} isTar - provide the isTar value.
 * @private
 */
export  function getIntersection(ele: Connector, bounds: DiagramElement, sPt: PointModel, tPt: PointModel, isTar: boolean): PointModel;
/**
 * getIntersectionPoints method \
 *
 * @returns { PointModel } getIntersectionPoints method .\
 * @param {Segment} thisSegment - provide the ele value.
 * @param {Object[]} pts - provide the bounds value.
 * @param {boolean} minimal - provide the sPt value.
 * @param {PointModel} point - provide the sPt value.
 * @private
 */
export  function getIntersectionPoints(thisSegment: Segment, pts: Object[], minimal: boolean, point: PointModel): PointModel;
/**
 * orthoConnection2Segment method \
 *
 * @returns {  PointModel[] } orthoConnection2Segment method .\
 * @param {Rect | Corners} source - provide the source value.
 * @param {End} target - provide the target  value.
 * @private
 */
export  function orthoConnection2Segment(source: End, target: End): PointModel[];
/**
 * getPortDirection method \
 *
 * @returns {  boolean } getPortDirection method .\
 * @param {PointModel} point - provide the point  value.
 * @param {Corners} corner - provide the corner  value.
 * @param {Rect} bounds - provide the bounds  value.
 * @param {boolean} closeEdge - provide the closeEdge  value.
 * @private
 */
export  function getPortDirection(point: PointModel, corner: Corners, bounds: Rect, closeEdge: boolean): Direction;
/**
 * getOuterBounds method \
 *
 * @returns {  Rect } getOuterBounds method .\
 * @param {Connector} obj - provide the point  value.
 * @private
 */
export  function getOuterBounds(obj: Connector): Rect;
/**
 * getOppositeDirection method \
 *
 * @returns {  string } getOppositeDirection method .\
 * @param {string} direction - provide the direction  value.
 * @private
 */
export  function getOppositeDirection(direction: string): string;
/** @private */
export interface Intersection {
    enabled: boolean;
    intersectPt: PointModel;
}
/** @private */
export interface LengthFraction {
    lengthFractionIndex: number;
    fullLength: number;
    segmentIndex: number;
    pointIndex: number;
}
/** @private */
export interface BridgeSegment {
    bridgeStartPoint: PointModel[];
    bridges: Bridge[];
    segmentIndex: number;
}
/** @private */
export interface ArcSegment {
    angle: number;
    endPoint: PointModel;
    path: string;
    segmentPointIndex: number;
    startPoint: PointModel;
    sweep: number;
    target: string;
    rendered: boolean;
}
/** @private */
export interface Bridge {
    angle: number;
    endPoint: PointModel;
    path: string;
    segmentPointIndex: number;
    startPoint: PointModel;
    sweep: number;
    target: string;
    rendered: boolean;
}
/** @private */
export interface End {
    corners: Corners;
    point: PointModel;
    direction: Direction;
    margin: MarginModel;
}
//node_modules/@syncfusion/ej2-diagrams/src/diagram/utility/base-util.d.ts
/**
 * Implements the basic functionalities
 */
/**
 * Used to generate the random id \
 *
 * @returns { boolean }    Used to generate the random id .\
 *
 * @private
 */
export  function randomId(): string;
/**
 * Used to get the index value \
 *
 * @returns { boolean }    Used to get the index value .\
 * @param {Diagram} comp - provide the Diagram value.
 * @param {string} id - provide the id value.
 *
 * @private
 */
export  function getIndex(comp: Diagram, id: string): number;
/**
 * templateCompiler method\
 *
 * @returns { Function }    templateCompiler method .\
 * @param {string} template - provide the template value.
 *
 * @private
 */
export  function templateCompiler(template: string | Function): Function;
/**
 * cornersPointsBeforeRotation method\
 *
 * @returns { Rect }    templateCompiler method .\
 * @param {DiagramElement} ele - provide the template value.
 *
 * @private
 */
export  function cornersPointsBeforeRotation(ele: DiagramElement): Rect;
/**
 * getBounds method\
 *
 * @returns { Rect }    getBounds method .\
 * @param {DiagramElement} element - provide the template value.
 *
 * @private
 */
export  function getBounds(element: DiagramElement): Rect;
/**
 * cloneObject method\
 *
 * @returns { Rect }    cloneObject method .\
 * @param {DiagramElement} obj - provide the obj value.
 * @param {DiagramElement} additionalProp - provide the additionalProp value.
 * @param {DiagramElement} key - provide the key value.
 * @param {DiagramElement} cloneBlazorProp - provide the cloneBlazorProp value.
 *
 * @private
 */
export  function cloneObject(obj: Object, additionalProp?: Function | string, key?: string, cloneBlazorProp?: boolean): Object;
/**
 * getInternalProperties method\
 *
 * @returns { string[] }    getInternalProperties method .\
 * @param {string} propName - provide the propName value.
 *
 * @private
 */
export  function getInternalProperties(propName: string): string[];
/**
 * cloneArray method\
 *
 * @returns {  Object[] }    getInternalProperties method .\
 * @param {string} sourceArray - provide the sourceArray value.
 * @param {string} additionalProp - provide the additionalProp value.
 * @param {string} key - provide the key value.
 * @param {string} cloneBlazorProp - provide the cloneBlazorProp value.
 *
 * @private
 */
export  function cloneArray(sourceArray: Object[], additionalProp?: Function | string, key?: string, cloneBlazorProp?: boolean): Object[];
/**
 * extendObject method\
 *
 * @returns {  Object}    getInternalProperties method .\
 * @param {string} options - provide the options value.
 * @param {string} childObject - provide the childObject value.
 *
 * @private
 */
export  function extendObject(options: Object, childObject: Object): Object;
/**
 * extendObject method\
 *
 * @returns {  Object}    getInternalProperties method .\
 * @param {string} sourceArray - provide the sourceArray value.
 * @param {string} childArray - provide the childArray value.
 *
 * @private
 */
export  function extendArray(sourceArray: Object[], childArray: Object[]): Object[];
/**
 * textAlignToString method\
 *
 * @returns {  Object}    textAlignToString method .\
 * @param {string} value - provide the sourceArray value.
 *
 * @private
 */
export  function textAlignToString(value: TextAlign): string;
/**
 * wordBreakToString method\
 *
 * @returns {  string }    wordBreakToString method .\
 * @param {TextWrap | TextDecoration} value - provide the value value.
 *
 * @private
 */
export  function wordBreakToString(value: TextWrap | TextDecoration): string;
/**
 * bBoxText method\
 *
 * @returns { number }    bBoxText method .\
 * @param {string} textContent - provide the textContent value.
 * @param {string} options - provide the options value.
 *
 * @private
 */
export  function bBoxText(textContent: string, options: TextAttributes): number;
/**
 * middleElement method\
 *
 * @returns {  number}    middleElement method .\
 * @param {number} i - provide the textContent value.
 * @param {number} j - provide the options value.
 *
 * @private
 */
export  function middleElement(i: number, j: number): number;
/**
 * overFlow method\
 *
 * @returns {  number}    overFlow method .\
 * @param {number} text - provide the text value.
 * @param {number} options - provide the options value.
 *
 * @private
 */
export  function overFlow(text: string, options: TextAttributes): string;
/**
 * whiteSpaceToString method\
 *
 * @returns {  number}    whiteSpaceToString method .\
 * @param {number} value - provide the value value.
 * @param {number} wrap - provide the wrap value.
 *
 * @private
 */
export  function whiteSpaceToString(value: WhiteSpace, wrap: TextWrap): string;
/**
 * rotateSize method\
 *
 * @returns {  number}    rotateSize method .\
 * @param {number} size - provide the size value.
 * @param {number} angle - provide the angle value.
 *
 * @private
 */
export  function rotateSize(size: Size, angle: number): Size;
/**
 * rotatePoint method\
 *
 * @returns {  number}    rotateSize method .\
 * @param {number} angle - provide the angle value.
 * @param {number} pivotX - provide the pivotX value.
 * @param {number} pivotY - provide the pivotY value.
 * @param {PointModel} point - provide the point value.
 * @private
 */
export  function rotatePoint(angle: number, pivotX: number, pivotY: number, point: PointModel): PointModel;
/**
 * getOffset method\
 *
 * @returns {  number}    getOffset method .\
 * @param {PointModel} topLeft - provide the angle value.
 * @param {DiagramElement} obj - provide the pivotX value.
 * @private
 */
export  function getOffset(topLeft: PointModel, obj: DiagramElement): PointModel;
/**
 * getFunction method\
 *
 * @returns {  Function }    getFunction method .\
 * @param {PointModel} value - provide the angle value.
 * @private
 */
export  function getFunction(value: Function | string): Function;
//node_modules/@syncfusion/ej2-diagrams/src/diagram/ruler/ruler.d.ts
/**
 * defines the helper methods for the ruler
 */
/**
 * renderOverlapElement method \
 *
 * @returns {void} renderOverlapElement method .\
 * @param { Diagram} diagram - provide the content  value.
 * @private
 */
export  function renderOverlapElement(diagram: Diagram): void;
/**
 * renderRuler method \
 *
 * @returns {void} renderRuler method .\
 * @param { Diagram} diagram - provide the content  value.
 * @param { boolean} isHorizontal - provide the content  value.
 * @private
 */
export  function renderRuler(diagram: Diagram, isHorizontal: boolean): void;
/**
 * updateRuler method \
 *
 * @returns {void} updateRuler method .\
 * @param { Diagram} diagram - provide the diagram  value.
 * @private
 */
export  function updateRuler(diagram: Diagram): void;
/**
 * removeRulerElements method \
 *
 * @returns {void} removeRulerElements method .\
 * @param { Diagram} diagram - provide the diagram  value.
 * @private
 */
export  function removeRulerElements(diagram: Diagram): void;
/**
 * getRulerSize method \
 *
 * @returns {void} getRulerSize method .\
 * @param { Diagram} diagram - provide the diagram  value.
 * @private
 */
export  function getRulerSize(diagram: Diagram): Size;
/**
 * getRulerGeometry method \
 *
 * @returns {void} getRulerGeometry method .\
 * @param { Diagram} diagram - provide the diagram  value.
 * @private
 */
export  function getRulerGeometry(diagram: Diagram): Size;
/**
 * removeRulerMarkers method \
 *
 * @returns {void} removeRulerMarkers method .\
 * @private
 */
export  function removeRulerMarkers(): void;
/**
 * drawRulerMarkers method \
 *
 * @returns {void} drawRulerMarkers method .\
 * @param { Diagram} diagram - provide the content  value.
 * @param { PointModel} currentPoint - provide the content  value.
 * @private
 */
export  function drawRulerMarkers(diagram: Diagram, currentPoint: PointModel): void;
//node_modules/@syncfusion/ej2-diagrams/src/diagram/rendering/svg-renderer.d.ts
/**
 * SVG Renderer
 */
/** @private */
export  class SvgRenderer implements IRenderer {
    /**
     * Draw the shawdow  for the rectangle shape in diagram \
     *
     *  @returns {void}  Draw the shawdow  for the rectangle shape in diagram .\
     *
     *  @param { SVGElement} options - Provide the base attributes .
     *  @param { RectAttributes} canvas - Provide the canvas values .
     *  @param { string} collection - Provide the collection value.
     *  @param { boolean} parentSvg - Provide the parent SVG values .
     *  @private
     */
    renderShadow(options: BaseAttributes, canvas: SVGElement, collection?: Object[], parentSvg?: SVGSVGElement): void;
    /**
     * Return the dashed array values \
     *
     *  @returns {number[]}  Return the dashed array values .\
     *  @param { SVGElement} dashArray - Return the dashed array values .
     *  @private
     */
    parseDashArray(dashArray: string): number[];
    /**
     * Draw the Rectangle for the diagram \
     *
     *  @returns {void}  Draw the Rectangle for the diagram .\
     *
     *  @param { SVGElement} svg - Provide the SVG .
     *  @param { RectAttributes} options - Provide the Rect attributes .
     *  @param { string} diagramId - Provide the diagram id .
     *  @param { boolean} onlyRect - Provide the boolean attribute for the shawdow rendering  .
     *  @param { boolean} isSelector - Provide the selector possobilities .
     *  @param { SVGSVGElement} parentSvg - Provide the parent svg element .
     *  @param { Object} ariaLabel - Provide the Arial label attributes .
     *  @param { boolean} isCircularHandle - Provide the boolean attribute for the circular handle .
     *  @param { number} enableSelector - Provide the selector possobilities .
     *  @private
     */
    drawRectangle(svg: SVGElement, options: RectAttributes, diagramId: string, onlyRect?: boolean, isSelector?: boolean, parentSvg?: SVGSVGElement, ariaLabel?: Object, isCircularHandle?: boolean, enableSelector?: number): void;
    /**
     * Update the diagram selection region \
     *
     *  @returns {void}  Update the diagram selection region .\
     *
     *  @param { SVGElement} gElement - Provide the element type.
     *  @param { RectAttributes} options - Provide the Rect attributes .
     *  @private
     */
    updateSelectionRegion(gElement: SVGElement, options: RectAttributes): void;
    /**
     * Create the g element for the diagram \
     *
     *  @returns {SVGGElement}   Create the g element for the diagram .\
     *
     *  @param { SVGElement} elementType - Provide the element type.
     *  @param { Object} attribute - Provide the attributes for the g element.
     *  @private
     */
    createGElement(elementType: string, attribute: Object): SVGGElement;
    /**
     * Draw the line for the diagram\
     *
     *  @returns {void}  Draw the line for the diagram .\
     *
     *  @param { SVGElement} gElement - Provide the g element .
     *  @param { LineAttributes} options - Provide the line element attributes .
     *  @private
     */
    drawLine(gElement: SVGElement, options: LineAttributes): void;
    /**
     * Draw the circle for the diagram\
     *
     *  @returns {void}  Draw the circle for the diagram .\
     *
     *  @param { SVGElement} gElement - Provide the g element .
     *  @param { CircleAttributes} options - Provide the circle element attributes .
     *  @param {string} enableSelector - Provide the selector constraints string .
     *  @param {Object} ariaLabel - Provide arial label value .
     *  @private
     */
    drawCircle(gElement: SVGElement, options: CircleAttributes, enableSelector?: number, ariaLabel?: Object): void;
    /**
     * Draw the path element for the diagram\
     *
     *  @returns {void}  Draw the path element for the diagram .\
     *
     *  @param { SVGElement} svg - Provide the SVG element .
     *  @param { PathAttributes} options - Provide the path element attributes .
     *  @param {string} diagramId - Provide the diagram id .
     *  @param {boolean} isSelector - Provide selector boolean value .
     *  @param {SVGSVGElement} parentSvg - Provide the parent SVG element .
     *  @param {Object} ariaLabel - Provide arial label value .
     *  @param {number} scale - Provide the scale value .
     *  @private
     */
    drawPath(svg: SVGElement, options: PathAttributes, diagramId: string, isSelector?: boolean, parentSvg?: SVGSVGElement, ariaLabel?: Object, scale?: number): void;
    /**
     * Draw the path element for the diagram\
     *
     *  @returns {void}  Draw the path element for the diagram .\
     *
     *  @param { SVGElement} svg - Provide the SVG element .
     *  @param {PathAttributes} options - Provide the path element attributes .
     *  @param {Object[]} collection - Provide the parent SVG element .
     *  @private
     */
    renderPath(svg: SVGElement, options: PathAttributes, collection: Object[]): void;
    private setSvgFontStyle;
    /**
     * Draw the text element for the diagram\
     *
     *  @returns {void}  Draw the text element for the diagram .\
     *
     *  @param { SVGElement} canvas - Provide the SVG element .
     *  @param {TextAttributes} options - Provide the text element attributes .
     *  @param {SVGSVGElement} parentSvg - Provide the parent SVG element .
     *  @param {Object} ariaLabel - Provide the label properties .
     *  @param {string} diagramId - Provide the diagram id .
     *  @param {number} scaleValue - Provide the scale value .
     *  @param {any} renderer - Provide the renderer value .
     *  @private
     */
    drawText(canvas: SVGElement, options: TextAttributes, parentSvg?: SVGSVGElement, ariaLabel?: Object, diagramId?: string, scaleValue?: number, renderer?: any): void;
    private alignText;
    private setText;
    /**
     * Draw the image element for the diagram\
     *
     *  @returns {void} Draw the image element for the diagram .
     *  @param { SVGElement | HTMLCanvasElement} canvas - Provide the SVG element .
     *  @param {ImageAttributes} obj - Provide the image attributes .
     *  @param {SVGSVGElement} parentSvg - Provide the parent SVG element .
     *  @param {boolean} fromPalette - Provide the pointer event value .
     *  @private
     */
    drawImage(canvas: SVGElement | HTMLCanvasElement, obj: ImageAttributes, parentSvg?: SVGSVGElement, fromPalette?: boolean): void;
    /**
     * Draw the HTML element for the diagram\
     *
     *  @returns {void} Draw the native element for the diagram.
     *  @param {DiagramHtmlElement} element - Provide the element .
     *  @param {HTMLElement} canvas - Provide the canvas element  .
     *  @param {TransformFactor} transform - Provide the transform value .
     *  @param {boolean} value - Provide the pointer event value .
     *  @param {number} indexValue - Provide the index value .
     *  @private
     */
    drawHTMLContent(element: DiagramHtmlElement, canvas: HTMLElement, transform?: TransformFactor, value?: boolean, indexValue?: number): void;
    /**
     * Draw the native element for the diagram\
     *
     *  @returns {void} Draw the native element for the diagram.
     *  @param {DiagramNativeElement} element - Provide the node element .
     *  @param {HTMLCanvasElement} canvas - Provide the SVG element  .
     *  @param {number} height - Provide the height for the shape .
     *  @param {number} width - Provide the width for the shape .
     *  @param {SVGSVGElement} parentSvg - Provide the parent svg for  the shape .
     *  @private
     */
    drawNativeContent(element: DiagramNativeElement, canvas: HTMLCanvasElement | SVGElement, height: number, width: number, parentSvg: SVGSVGElement): void;
    private setNativTransform;
    /**
     *used to crop the given native element into a rectangle of the given size .\
     *
     *  @returns {SVGElement} used to crop the given native element into a rectangle of the given size.
     *  @param {DiagramNativeElement} node - Provide the node element .
     *  @param {SVGElement} group - Provide the SVG element  .
     *  @param {number} height - Provide the height for the shape .
     *  @param {number} width - Provide the width for the shape .
     *  @param {SVGSVGElement} parentSvg - Provide the parent svg for  the shape .
     *  @private
     */
    drawClipPath(node: DiagramNativeElement, group: SVGElement, height: number, width: number, parentSvg: SVGSVGElement): SVGElement;
    /**
     * Draw the gradient for the diagram shapes .\
     *
     *  @returns {SVGElement} Draw the gradient for the diagram shapes.
     *  @param {StyleAttributes} options - Provide the options  for the gradient  element .
     *  @param {SVGElement} svg - Provide the SVG element  .
     *  @param {string} diagramId - Provide the diagram id .
     *  @private
     */
    renderGradient(options: StyleAttributes, svg: SVGElement, diagramId?: string): SVGElement;
    /**
     * Draw the Linear gradient for the diagram .\
     *
     *  @returns {SVGElement} Draw the Linear gradient for the diagram.
     *  @param {LinearGradientModel} linear - Provide the objects for the gradient  element .
     *  @private
     */
    createLinearGradient(linear: LinearGradientModel): SVGElement;
    /**
     * Draw the radial gradient for the diagram .\
     *
     *  @returns {SVGElement} Draw the radial gradient for the diagram.
     *  @param {RadialGradientModel} radial - Provide the objects for the gradient  element .
     *  @private
     */
    createRadialGradient(radial: RadialGradientModel): SVGElement;
    /**
     * Set the SVG style for the SVG elements in the diagram.\
     *
     *  @returns {void}
     *  @param {SVGElement} svg - Provide the canvas element .
     *  @param {StyleAttributes} style - Provide the canvas element .
     *  @param {string} diagramId - Provide the canvas element .
     *  @private
     */
    setSvgStyle(svg: SVGElement, style: StyleAttributes, diagramId?: string): void;
    /**
     * Draw the SVG label.\
     *
     * @returns {PointModel} Draw the SVG label .
     *  @param {TextAttributes} text - Provide the canvas element .
     *  @param {Object} wrapBound - Provide the canvas element .
     *  @param {SubTextElement []} childNodes - Provide the canvas element .
     * @private
     */
    svgLabelAlign(text: TextAttributes, wrapBound: TextBounds, childNodes: SubTextElement[]): PointModel;
}
//node_modules/@syncfusion/ej2-diagrams/src/diagram/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 */
    touchMove: boolean;
    private svgRenderer;
    private nativeSvgLayer;
    private diagramSvgLayer;
    private iconSvgLayer;
    /** @private */
    adornerSvgLayer: SVGSVGElement;
    /** @private */
    rendererActions: RendererAction;
    private groupElement;
    private element;
    private transform;
    constructor(name: string, svgRender: IRenderer, isSvgMode: boolean);
    /**
     * Method used to set the cur \
     *
     *  @param {HTMLElement} canvas - Provide the canvas .
     *  @param {string} cursor - Provide the element .
     * @returns {void }   Method used to set the layer  .\
     * @private
     */
    setCursor(canvas: HTMLElement, cursor: string): void;
    /**
     * Method used to set the layer \
     *
     * @returns {void }   Method used to set the layer  .\
     *
     * @private
     */
    setLayers(): void;
    private getAdornerLayer;
    private getParentSvg;
    private getParentElement;
    private getGroupElement;
    /**
     * Method used to render the diagram element \
     *
     * @returns {void }   Method used to render the diagram element  .\
     *
     * @param {DiagramElement} element - Provide the DiagramElement value.
     * @param {HTMLCanvasElement | SVGElement } canvas - Provide the canvas value.
     * @param {HTMLElement } htmlLayer - Provide the HTMLElement value.
     * @param {TransformFactor } transform - Provide the TransformFactor value.
     * @param {SVGSVGElement} parentSvg - Provide the SVGSVGElement value.
     * @param {boolean } createParent - Provide the boolean value.
     * @param {boolean } fromPalette - Provide the boolean value.
     * @param {number } indexValue - Provide the indexValue value.
     * @param {boolean } isPreviewNode - Provide the isPreviewNode value.
     * @param {object } centerPoint - Provide the centerPoint value.
     * @param {object} portCenterPoint - Provide the portCenterPoint value.
     * @private
     */
    renderElement(element: DiagramElement, canvas: HTMLCanvasElement | SVGElement, htmlLayer: HTMLElement, transform?: TransformFactor, parentSvg?: SVGSVGElement, createParent?: boolean, fromPalette?: boolean, indexValue?: number, isPreviewNode?: boolean, centerPoint?: object, portCenterPoint?: object): void;
    /**
     * Method used to draw the selection rectangle for the node \
     *
     * @returns {void }  Method used to draw the selection rectangle for the node  .\
     *
     * @param {number} x - Provide the DiagramElement value.
     * @param {number } y - Provide the SVGElement value.
     * @param {number } w - Provide the TransformFactor value.
     * @param {number } h - Provide the TransformFactor value.
     * @param {HTMLCanvasElement | SVGElement } canvas - Provide the TransformFactor value.
     * @param {number } t - Provide the TransformFactor value.
     * @private
     */
    drawSelectionRectangle(x: number, y: number, w: number, h: number, canvas: HTMLCanvasElement | SVGElement, t: TransformFactor): void;
    /**
     * Method used to render the highlighter \
     *
     * @returns {void }  Method used to render the highlighter  .\
     *
     * @param {DiagramElement} element - Provide the DiagramElement value.
     * @param {SVGElement } canvas - Provide the SVGElement value.
     * @param {TransformFactor } transform - Provide the TransformFactor value.
     * @private
     */
    renderHighlighter(element: DiagramElement, canvas: SVGElement, transform: TransformFactor): void;
    /**
     * Method used to render the node selection rectangle \
     *
     * @returns {void }  Method used to render the node selection rectangle  .\
     *
     * @param {DiagramElement} element - Provide the DiagramElement value.
     * @param {SVGElement } canvas - Provide the SVGElement value.
     * @param {TransformFactor } transform - Provide the TransformFactor value.
     * @param {number } isFirst - Provide the boolean value.
     * @private
     */
    renderSelectionRectangle(element: DiagramElement, canvas: SVGElement, transform: TransformFactor, isFirst: boolean): void;
    /**
     * Method used to render the selection line for connector  \
     *
     * @returns {void } Method used to render the selection line for connector .\
     *
     * @param {PathElement} element - Provide the path element of the diagram .
     * @param { HTMLCanvasElement | SVGElement } canvas - Provide the canvas element value.
     * @param { TransformFactor } transform - Provide the transform value.
     * @param { boolean } isFirst - Provide the boolean value.
     * @private
     */
    renderSelectionLine(element: PathElement, canvas: HTMLCanvasElement | SVGElement, transform: TransformFactor, isFirst: boolean): void;
    /**
     * Method used to render the stack highlighter \
     *
     * @returns {void }  Method used to render the stack highlighter  .\
     *
     * @param {DiagramElement} element - Provide the DiagramElement value.
     * @param {SVGElement } canvas - Provide the SVGElement value.
     * @param {TransformFactor } transform - Provide the TransformFactor value.
     * @param {boolean} isVertical - Provide the Boolean value.
     * @param {PointModel } position - Provide the PointModel value.
     * @param {boolean } isUml - Provide the boolean value.
     * @param {boolean } isSwimlane - Provide the boolean value.
     * @private
     */
    renderStackHighlighter(element: DiagramElement, canvas: SVGElement, transform: TransformFactor, isVertical: boolean, position: PointModel, isUml?: boolean, isSwimlane?: boolean): void;
    /**
     * Method used to draw the line \
     *
     * @returns {void }  Method used to draw the line  .\
     *
     * @param {SVGElement} canvas - Provide the SVGElement value.
     * @param {LineAttributes } options - Provide the LineAttributes value.
     * @private
     */
    drawLine(canvas: SVGElement, options: LineAttributes): void;
    /**
     * Method used to draw the path \
     *
     * @returns {void }  Method used to draw the path  .\
     *
     * @param {SVGElement} canvas - Provide the canvas value.
     * @param {PathAttributes } options - Provide the PathAttributes value.
     * @private
     */
    drawPath(canvas: SVGElement, options: PathAttributes): void;
    /**
     * Method used to render the resize handle \
     *
     * @returns {void }  Method used to render the resize handle  .\
     *
     * @param {DiagramElement} element - Provide the DiagramElement value.
     * @param {HTMLCanvasElement | SVGElement } canvas - Provide the canvas element.
     * @param {  ThumbsConstraints } constraints - Provide the constraints value  .
     * @param { number} currentZoom - Provide the currentZoom value.
     * @param { SelectorConstraints } selectorConstraints - Provide the selectorConstraints value .
     * @param { TransformFactor } transform - Provide the transform  value.
     * @param { boolean } canMask - Provide the canMask boolean value.
     * @param { number } enableNode - Provide the enableNode value.
     * @param { boolean } nodeConstraints - Provide the nodeConstraints  value.
     * @param { boolean } isSwimlane - Provide the isSwimlane boolean value.
     * @param { number } handleSize - Provide the handleSize value.
     * @private
     */
    renderResizeHandle(element: DiagramElement, canvas: HTMLCanvasElement | SVGElement, constraints: ThumbsConstraints, currentZoom: number, selectorConstraints?: SelectorConstraints, transform?: TransformFactor, canMask?: boolean, enableNode?: number, nodeConstraints?: boolean, isSwimlane?: boolean, handleSize?: number): void;
    /**
     * Method used to render the end point of the handle \
     *
     * @returns {void }  Method used to render the end point of the handle  .\
     *
     * @param {ConnectorModel} selector - Provide the ConnectorModel.
     * @param {HTMLCanvasElement | SVGElement } canvas - Provide the element.
     * @param {  ThumbsConstraints } constraints - Provide the constraints value  .
     * @param { SelectorConstraints} selectorConstraints - Provide the selectorConstraints value.
     * @param { TransformFactor } transform - Provide the transform value .
     * @param { boolean } connectedSource - Provide the connectedSource boolean value.
     * @param { boolean } connectedTarget - Provide the connectedTarget boolean value.
     * @param { boolean } isSegmentEditing - Provide the isSegmentEditing boolean value.
     * @param { boolean } canShowBezierPoints - Provide the canShowBezierPoints boolean value.
     * @param {number} handleSize - Provide the handleSize value.
     * @private
     */
    renderEndPointHandle(selector: ConnectorModel, canvas: HTMLCanvasElement | SVGElement, constraints: ThumbsConstraints, selectorConstraints: SelectorConstraints, transform: TransformFactor, connectedSource: boolean, connectedTarget?: boolean, isSegmentEditing?: boolean, canShowBezierPoints?: boolean, handleSize?: number): void;
    /**
     * Method used to render the orthogonal thumb \
     *
     * @returns {void }  Method used to render the orthogonal thumb  .\
     *
     * @param {string} id - Provide the id for the element.
     * @param {DiagramElement } selector - Provide the selector element.
     * @param {  OrthogonalSegment } segment - Provide the segment value  .
     * @param { HTMLCanvasElement | SVGElement } canvas - Provide the canvas element value.
     * @param { boolean } visibility - Provide the visibility value .
     * @param { TransformFactor } t - Provide the TransformFactor value.
     * @param { ConnectorModel } connector - Provide the connector value.
     * @private
     */
    renderOrthogonalThumbs(id: string, selector: DiagramElement, segment: OrthogonalSegment, canvas: HTMLCanvasElement | SVGElement, visibility: boolean, t: TransformFactor, connector: ConnectorModel): void;
    /**
     * Method used to render the orthogonal thumb \
     *
     * @returns {void }  Method used to render the orthogonal thumb  .\
     *
     * @param {string} id - Provide the id for the element.
     * @param {DiagramElement } selector - Provide the selector element.
     * @param {  TransformFactor } x - Provide the x value  .
     * @param { TransformFactor } y - Provide the y value.
     * @param { HTMLCanvasElement | SVGElement } canvas - Provide the canvas element.
     * @param { boolean } visible - Provide the visible boolean value.
     * @param { string } orientation - Provide the orientation value.
     * @param { TransformFactor } t - Provide the TransformFactor value.
     * @param { ConnectorModel } connector - Provide the connector value.
     * @param { string } direction - Provide the direction of the segment.
     * @private
     */
    renderOrthogonalThumb(id: string, selector: DiagramElement, x: number, y: number, canvas: HTMLCanvasElement | SVGElement, visible: boolean, orientation: string, t: TransformFactor, connector: ConnectorModel, direction: string): void;
    /**
     * Method used to render the pivot line line\
     *
     * @returns {void } Method used to render the pivot line line .\
     *
     * @param {DiagramElement} element - Provide the diagram element value.
     * @param { HTMLCanvasElement | SVGElement } canvas - Provide the canvas element.
     * @param {  TransformFactor } transform - Provide the transform value  .
     * @param { SelectorConstraints } selectorConstraints - Provide the selector constraints value.
     * @param { boolean } canMask - Provide the canMask boolean value.
     * @private
     */
    renderPivotLine(element: DiagramElement, canvas: HTMLCanvasElement | SVGElement, transform?: TransformFactor, selectorConstraints?: SelectorConstraints, canMask?: boolean): void;
    /**
     * Method used to render the bezier line for the connector  \
     *
     * @returns {void } Method used to render the bezier line for the connector .\
     *
     * @param {string} id - Provide the id value for the bezier line.
     * @param { DiagramElement } wrapper - Provide the wrapper for the element.
     * @param {  HTMLCanvasElement | SVGElement } canvas - Provide the canvas element  .
     * @param { PointModel } start - Provide the pointmodel value.
     * @param { PointModel } end - Provide the pointmodel value.
     * @param { TransformFactor } transform - Provide the itransform value .
     * @private
     */
    renderBezierLine(id: string, wrapper: DiagramElement, canvas: HTMLCanvasElement | SVGElement, start: PointModel, end: PointModel, transform?: TransformFactor): void;
    /**
     * Method used to render the circular handle for the node element  \
     *
     * @returns {void } Method used to render the circular handle for the node element .\
     *
     * @param {string} id - Provide the id value.
     * @param { DiagramElement } selector - Provide the selector element value.
     * @param { number } cx - Provide cx value  .
     * @param { number } cy - Provide cx value.
     * @param { HTMLCanvasElement | SVGElement } canvas - Provide the canvas element.
     * @param { boolean } visible - Provide the visible property for the handle .
     * @param { number } enableSelector - Provide the value for the enableSelector .
     * @param { TransformFactor } t - Provide the transform value .
     * @param { boolean } connected - Provide the connected boolean value .
     * @param { boolean } canMask - Provide the canMask boolean value .
     * @param { Object } ariaLabel - Provide the label properties .
     * @param { number } count - Provide the count value  .
     * @param { string } className - Provide the class name for this element .
     * @param { number } handleSize - Provide the handle size value .
     *
     * @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, handleSize?: number): void;
    private updateResizeHandle;
    /**
     * Method used to render the segment thumb shape for Bezier connector  \
     *
     * @returns {void } Method used to render the segment thumb shape for Bezier connector .\
     *
     * @param {string} id - Provide the id value.
     * @param { DiagramElement } selector - Provide the selector element value.
     * @param { number } cx - Provide cx value  .
     * @param { number } cy - Provide cx value.
     * @param { HTMLCanvasElement | SVGElement } canvas - Provide the canvas element.
     * @param { boolean } visible - Provide the visible property for the handle .
     * @param { ConnectorModel } connector - Provide the value for the connector .
     * @param { TransformFactor } t - Provide the transform value .
     * @param { boolean } connected - Provide the connected boolean value .
     * @param { boolean } canMask - Provide the canMask boolean value .
     * @param { number } count - Provide the count value  .
     * @param { string } className - Provide the class name for this element .
     * @param { number } handleSize - Provide the handle size value .
     *
     * @private
     */
    renderBezierHandle(id: string, selector: DiagramElement, cx: number, cy: number, canvas: HTMLCanvasElement | SVGElement, visible: boolean, connector?: ConnectorModel, t?: TransformFactor, connected?: boolean, canMask?: boolean, count?: number, className?: string, handleSize?: number): void;
    private updateSegmentPosition;
    /**
     * Method used to render border for the node element  \
     *
     * @returns {void } Method used to render border for the node element .\
     *
     * @param {SelectorModel} selector - Provide the selector model instance.
     * @param { HTMLCanvasElement | SVGElement } canvas - Provide the canvas element value.
     * @param { TransformFactor } transform - Provide the transform value  .
     * @param { number } enableNode - Provide enableNode boolean value.
     * @param { boolean } isBorderTickness - Provide the thickness value for the node.
     * @param { boolean } isSwimlane - Provide the isSwimlane boolean value .
     * @private
     */
    renderBorder(selector: DiagramElement, canvas: HTMLCanvasElement | SVGElement, transform?: TransformFactor, enableNode?: number, isBorderTickness?: boolean, isSwimlane?: boolean): void;
    /**
     * Method used to render user handle for the node element\
     *
     * @returns {void } Method used to render user handle for the node element .\
     *
     * @param {SelectorModel} selectorItem - Provide the selector model instance.
     * @param { HTMLCanvasElement | SVGElement } canvas - Provide the canvas element value.
     * @param { TransformFactor } transform - Provide the transform value.
     * @param { HTMLElement } diagramUserHandlelayer - Provide the HTMLElement value.
     * @param { Actions } currentAction - Provide the currentAction value.
     * @param { boolean } inAction - Provide the inAction value.
     * @private
     */
    renderUserHandler(selectorItem: SelectorModel, canvas: HTMLCanvasElement | SVGElement, transform?: TransformFactor, diagramUserHandlelayer?: HTMLElement, currentAction?: Actions, inAction?: boolean): void;
    /**
     * Method used to render rotate thumb of the diagramnode element  \
     *
     * @returns {void } Method used to render rotate thumb of the diagramnode element .\
     *
     * @param {DiagramElement} wrapper - Provide the wrapper  element value.
     * @param { HTMLCanvasElement | SVGElement } canvas - Provide the canvas element value.
     * @param { TransformFactor } transform - Provide the transform value  .
     * @param { SelectorConstraints } selectorConstraints - Provide the selectorConstraints value.
     * @param { boolean } canMask - Provide the boolean value .
     * @private
     */
    renderRotateThumb(wrapper: DiagramElement, canvas: HTMLCanvasElement | SVGElement, transform?: TransformFactor, selectorConstraints?: SelectorConstraints, canMask?: boolean): void;
    /**
     * Method used to render the path element for the diagram  \
     *
     * @returns {void } Method used to render the path element for the diagram .\
     *
     * @param {PathElement} element - Provide the path element of the diagram .
     * @param { HTMLCanvasElement | SVGElement } canvas - Provide the canvas element value.
     * @param { TransformFactor } transform - Provide the transform value  .
     * @param { SVGSVGElement } parentSvg - Provide the parent SVG element .
     * @param { boolean } fromPalette - Provide the boolean value .
     * @param { boolean } isPreviewNode - Provide the boolean value .
     * @param {object} portCenterPoint - provide the portCenterPoint value.
     * @private
     */
    renderPathElement(element: PathElement, canvas: HTMLCanvasElement | SVGElement, transform?: TransformFactor, parentSvg?: SVGSVGElement, fromPalette?: boolean, isPreviewNode?: boolean, portCenterPoint?: object): void;
    private findAndStoreArcValues;
    /**
     * Method used to update the grid line for the diagram  \
     *
     * @returns {void } Method used to update the grid line for the diagram .\
     *
     * @param {SnapSettingsModel} snapSettings - Provide the snapsetting value of the diagram .
     * @param { SVGSVGElement } gridSvg - Provide the SVG grid  element value.
     * @param { TransformFactor } t - Provide the transform value  .
     * @param { RulerSettingsModel } rulerSettings - Provide the ruler setting property .
     * @param { RulerModel } hRuler - Provide the horizontal ruler property value .
     * @param { RulerModel } vRuler - Provide the vertical ruler property value .
     * @private
     */
    renderSvgGridlines(snapSettings: SnapSettingsModel, gridSvg: SVGElement, t: TransformFactor, rulerSettings: RulerSettingsModel, hRuler: RulerModel, vRuler: RulerModel): void;
    private horizontalSvgGridlines;
    private renderDotGrid;
    private verticalSvgGridlines;
    /**
     * Method used to update the grid line for the diagram  \
     *
     * @returns {void } Method used to update the grid line for the diagram .\
     *
     * @param {SnapSettingsModel} snapSettings - Provide the snapsetting value of the diagram .
     * @param { SVGSVGElement } svgGrid - Provide the SVG grid  element value.
     * @param { TransformFactor } transform - Provide the transform value  .
     * @param { RulerSettingsModel } rulerSettings - Provide the ruler setting property .
     * @param { RulerModel } hRuler - Provide the horizontal ruler property value .
     * @param { RulerModel } vRuler - Provide the vertical ruler property value .
     * @private
     */
    updateGrid(snapSettings: SnapSettingsModel, svgGrid: SVGSVGElement, transform: TransformFactor, rulerSettings: RulerSettingsModel, hRuler: RulerModel, vRuler: RulerModel): void;
    private updateLineIntervals;
    private scaleSnapInterval;
    /**
     * Method used to render the text element  \
     *
     * @returns {void }Method used to render the text element  .\
     *
     * @param {TextElement} element - Provide the text element .
     * @param { HTMLCanvasElement | SVGElement} canvas - Provide the canvas element .
     * @param { TransformFactor } transform - Provide the transform value  .
     * @param { SVGSVGElement } parentSvg - Provide the SVG layer element .
     * @param { boolean } fromPalette - Provide the boolean value .
     * @param { object } centerPoint - Provide the center point value .
     * @private
     */
    renderTextElement(element: TextElement, canvas: HTMLCanvasElement | SVGElement, transform?: TransformFactor, parentSvg?: SVGSVGElement, fromPalette?: boolean, centerPoint?: object): void;
    private renderNativeElement;
    private renderHTMLElement;
    /**
     * Method used to render the image element  \
     *
     * @returns {void }Method used to render the image element  .\
     *
     * @param {ImageElement} element - Provide the image element .
     * @param { HTMLCanvasElement | SVGElement} canvas - Provide the canvas element .
     * @param { TransformFactor } transform - Provide the transform value  .
     * @param { SVGSVGElement } parentSvg - Provide the SVG layer element .
     * @param { boolean } fromPalette - Provide the boolean value .
     * @private
     */
    renderImageElement(element: ImageElement, canvas: HTMLCanvasElement | SVGElement, transform?: TransformFactor, parentSvg?: SVGSVGElement, fromPalette?: boolean): void;
    /**
     * Method used to render the container  \
     *
     * @returns {void} Method used to render the container .\
     *
     * @param {Container} group - Provide the container .
     * @param { HTMLCanvasElement | SVGElement} canvas - Provide the canvas element .
     * @param { HTMLElement } htmlLayer - Provide the html layer element  .
     * @param { TransformFactor } transform - Provide the transform value .
     * @param { SVGSVGElement } parentSvg - Provide the SVG layer element .
     * @param { boolean } createParent - Provide the boolean value .
     * @param { boolean } fromPalette - Provide the boolean value  .
     * @param { number } indexValue - Provide the indexValue value .
     * @param { boolean } isPreviewNode - Provide the boolean value .
     * @param { object } centerPoint - Provide the centerPoint value .
     * @param {object} portCenterPoint - provide the portCenterPoint value.
     * @private
     */
    renderContainer(group: Container, canvas: HTMLCanvasElement | SVGElement, htmlLayer: HTMLElement, transform?: TransformFactor, parentSvg?: SVGSVGElement, createParent?: boolean, fromPalette?: boolean, indexValue?: number, isPreviewNode?: boolean, centerPoint?: object, portCenterPoint?: object): void;
    /**
     * Method used to flip the text element   \
     *
     * @returns {void} Method used to flip the text element.\
     *
     * @param {DiagramElement} element - Provide the node element.
     * @param { HTMLCanvasElement | SVGElement} canvas - Provide the text canvas element.
     * @param { DiagramElement } textElement - Provide the text element.
     * @param { FlipDirection } flip - Provide the node flip direction.
     * @param { FlipMode } flipMode - Provide the node flipMode.
     * @param { boolean } isCanvasMode - Provide the isCanvas mode.
     */
    renderFlipTextElement(element: DiagramElement, canvas: SVGElement | HTMLCanvasElement, textElement: DiagramElement, flip: FlipDirection, flipMode: FlipMode, isCanvasMode?: boolean): object;
    renderFlipElement(element: DiagramElement, canvas: SVGElement | HTMLCanvasElement, flip: FlipDirection, isCanvasMode?: boolean): object;
    private setFlipAttributes;
    /**
     * Calculates Flipped Position of textElement considering annotation offset
     *
     * @returns {PointModel} - flipped point of textElement current point
     *
     * @param {NodeModel} element - Provide node wrapper element containing the text element.
     * @param {TextElement} textElement - Provide the textElememt to flip.
     * @param {PointModel} labelPos - Provide the annotation offset.
     * @param {FlipDirection} flip - Provide the node flip direction.
     */
    private flipLabel;
    /**
     * Method used to check the native parent  \
     *
     * @returns {void} Method used to check the native parent .\
     *
     * @param { DiagramElement[]} children - Provide the diagram element .
     * @param { number} count - Provide the count value .
     * @private
     */
    hasNativeParent(children: DiagramElement[], count?: number): DiagramElement;
    /**
     * Method used the draw the reactangle for the diagram  \
     *
     * @returns {void} Method used the draw the reactangle for the diagram .\
     *
     * @param { SVGElement} element - Provide the SVG elements .
     * @param { RectAttributes} canvas - Provide the Canvas element  .
     * @param { RectAttributes} transform - Provide transform value for the node  .
     * @param { RectAttributes} parentSvg -provide the parent SVG  .
     * @param { RectAttributes} isPreviewNode - Provide the preview boolean value  .
     * @private
     */
    renderRect(element: DiagramElement, canvas: HTMLCanvasElement | SVGElement, transform?: TransformFactor, parentSvg?: SVGSVGElement, isPreviewNode?: boolean): void;
    /**
     * Method used the draw the reactangle for the diagram  \
     *
     * @returns {void} Method used the draw the reactangle for the diagram .\
     *
     * @param { SVGElement} canvas - Provide the SVG elements .
     * @param { RectAttributes} options - Provide the attributes to draw the rectangle  .
     * @private
     */
    drawRect(canvas: SVGElement, options: RectAttributes): void;
    /**
     * Will get the base attributes for all the elements  \
     *
     * @returns {BaseAttributes} Will get the base attributes for all the elements .\
     *
     * @param { DiagramElement} element - Provide the diagram elements .
     * @param { TransformFactor} transform - Provide the transform value for the  elements .
     * @param { boolean} isPreviewNode - Provide the preview boolean value.
     * @private
     */
    getBaseAttributes(element: DiagramElement, transform?: TransformFactor, isPreviewNode?: boolean): BaseAttributes;
    /**
     * Will render the SVG background image  \
     *
     * @returns {void} Will render the SVG background image  .\
     *
     * @param { TransformFactor} background - Provide the transforms values .
     * @param { boolean} diagramElement - Provide element for the daigram.
     * @param { boolean} x - Provide the rendering mode of the daigram.
     * @param { boolean} y - Provide the rendering mode of the daigram.
     * @param { boolean} width - Provide the rendering mode of the daigram.
     * @param { boolean} height - Provide the rendering mode of the daigram.
     * @private
     */
    static renderSvgBackGroundImage(background: BackgroundModel, diagramElement: HTMLElement, x: number, y: number, width: number, height: number): void;
    /**
     * Method used to transform the layer  \
     *
     *  @returns {boolean} Method used to transform the layer  .\
     *  @param { TransformFactor} transform - Provide the transforms values .
     *  @param { boolean} svgMode - Provide the rendering mode of the daigram.
     *  @private
     */
    transformLayers(transform: TransformFactor, svgMode: boolean): boolean;
    /**
     * Method used to update the nodes in the diagram  \
     *
     *  @returns {void} Method used to update the nodes in the diagram  .\
     *  @param { HTMLCanvasElement} element - Provide the diagram element .
     *  @param { HTMLCanvasElement} diagramElementsLayer - Provide the diagram layer element .
     *  @param { HTMLCanvasElement} htmlLayer -Provide the html element .
     *  @param { HTMLCanvasElement} transform - Provide the transform value .
     *  @param { HTMLCanvasElement} insertIndex - Provide the index value.
     *  @param { object} centerPoint - Provide the center point value.
     *  @param {object} portCenterPoint - provide the portCenterPoint value.
     *  @private
     */
    updateNode(element: DiagramElement, diagramElementsLayer: HTMLCanvasElement, htmlLayer: HTMLElement, transform?: TransformFactor, insertIndex?: number, centerPoint?: object, portCenterPoint?: object): void;
}
//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, isCircularHandle?: boolean, enableSelector?: number, renderer?: any, element?: any): void;
    drawPath(canvas: HTMLCanvasElement | SVGElement, options: PathAttributes, diagramId: string, isSelector?: boolean, parentSvg?: SVGSVGElement, ariaLabel?: Object, scale?: number, renderer?: any, element?: PathElement): void;
    renderPath(canvas: HTMLCanvasElement | SVGElement, options: PathAttributes, collection: Object[]): void;
    drawText(canvas: HTMLCanvasElement | SVGElement, options: TextAttributes, parentSvg?: SVGSVGElement, ariaLabel?: Object, diagramId?: string, scaleValue?: number, renderer?: any, element?: TextElement): void;
    drawImage(canvas: HTMLCanvasElement | SVGElement | ImageElement, obj: ImageAttributes, parentSvg?: SVGSVGElement, fromPalette?: boolean, renderer?: any, element?: ImageElement): void;
}
//node_modules/@syncfusion/ej2-diagrams/src/diagram/rendering/canvas-renderer.d.ts
/**
 * Canvas Renderer
 */
/** @private */
export  class CanvasRenderer implements IRenderer {
    /**
     * Provide the context value for the canvas \
     *
     *  @returns {CanvasRenderingContext2D} Provide the context value for the canvas .\
     *  @param { HTMLCanvasElement} canvas - Return the dashed array values .
     *  @private
     */
    static getContext(canvas: HTMLCanvasElement): CanvasRenderingContext2D;
    private static setCanvasSize;
    /**
     * Draw the gradient for the diagram shapes .\
     *
     *  @returns {SVGElement} Draw the gradient for the diagram shapes.
     *  @param {StyleAttributes} options - Provide the options  for the gradient  element .
     *  @param {SVGElement} ctx - Provide canvas values .
     *  @param {string} x - Provide the x value for the gradient .
     *  @param {string} y - Provide the x value for the gradient .
     *  @private
     */
    renderGradient(options: StyleAttributes, ctx: CanvasRenderingContext2D, x?: number, y?: number): CanvasRenderingContext2D;
    /**
     * Draw the shawdow  for the rectangle shape in diagram \
     *
     *  @returns {void}  Draw the shawdow  for the rectangle shape in diagram .\
     *
     *  @param { SVGElement} options - Provide the base attributes .
     *  @param { RectAttributes} canvas - Provide the canvas values .
     *  @param { string} collection - Provide the collection value.
     *  @private
     */
    renderShadow(options: BaseAttributes, canvas: HTMLCanvasElement, collection?: Object[]): void;
    /**
     * Create canvas element for the diagram \
     *
     *  @returns {HTMLCanvasElement}    Create canvas element for the diagram .\
     *
     *  @param { SVGElement} id - Provide the id for the canvas.
     *  @param { Object} width - Provide the width for the canvas.
     *  @param { Object} height - Provide the height for the canvas.
     *  @private
     */
    static createCanvas(id: string, width: number, height: number): HTMLCanvasElement;
    private setStyle;
    private rotateContext;
    private setFontStyle;
    /**
     * Return the dashed array values \
     *
     *  @returns {number[]}  Return the dashed array values .\
     *  @param { SVGElement} dashArray - Return the dashed array values .
     *  @private
     */
    parseDashArray(dashArray: string): number[];
    private drawRoundedRect;
    /**
     * Draw the Rectangle for the diagram \
     *
     *  @returns {void}  Draw the Rectangle for the diagram .\
     *
     *  @param { SVGElement} canvas - Provide the SVG .
     *  @param { RectAttributes} options - Provide the Rect attributes .
     *  @param { string} diagramId - Provide the diagram id .
     *  @param { boolean} isExport - Provide the isExport .
     *  @param { boolean} isSelector - Provide the selector possobilities .
     *  @param { SVGSVGElement} parentSvg - Provide the parent svg element .
     *  @param { Object} ariaLabel - Provide the Arial label attributes .
     *  @param { boolean} isCircularHandle - Provide the boolean attribute for the circular handle .
     *  @param { number} enableSelector - Provide the selector possobilities .
     *  @param { any } renderer - Provide the renderer value .
     *  @param { any } element - Provide the element value .
     *  @private
     */
    drawRectangle(canvas: HTMLCanvasElement, options: RectAttributes, diagramId: string, isExport: boolean, isSelector?: boolean, parentSvg?: SVGSVGElement, ariaLabel?: Object, isCircularHandle?: boolean, enableSelector?: number, renderer?: any, element?: any): void;
    /**
     * Draw the path element for the diagram\
     *
     *  @returns {void}  Draw the path element for the diagram .\
     *
     *  @param { SVGElement} canvas - Provide the SVG element .
     *  @param { PathAttributes} options - Provide the path element attributes .
     *  @param {string} diagramId - Provide the diagram id .
     *  @param {boolean} isSelector - Provide selector boolean value .
     *  @param {SVGSVGElement} parentSvg - Provide the parent SVG element .
     *  @param {Object} ariaLabel - Provide arial label value .
     *  @param {number} scale - Provide the scale value .
     *  @param {any} renderer - Provide the renderer value .
     *  @param {PathElement} element - Provide the path element value .
     *  @private
     */
    drawPath(canvas: HTMLCanvasElement, options: PathAttributes, diagramId?: string, isSelector?: boolean, parentSvg?: SVGSVGElement, ariaLabel?: Object, scale?: number, renderer?: any, element?: PathElement): void;
    /**
     * Draw the path element for the diagram\
     *
     *  @returns {void}  Draw the path element for the diagram .\
     *
     *  @param { SVGElement} canvas - Provide the SVG element .
     *  @param {PathAttributes} options - Provide the path element attributes .
     *  @param {Object[]} collection - Provide the parent SVG element .
     *  @private
     */
    renderPath(canvas: HTMLCanvasElement, options: PathAttributes, collection: Object[]): void;
    /**
     * Draw the text element for the diagram\
     *
     *  @returns {void}  Draw the text element for the diagram .\
     *
     *  @param { SVGElement} canvas - Provide the SVG element .
     *  @param {TextAttributes} options - Provide the text element attributes .
     *  @param {SVGSVGElement} parentSvg - Provide the parent SVG element .
     *  @param {Object} ariaLabel - Provide the label properties .
     *  @param {string} diagramId - Provide the diagram id .
     *  @param {number} scaleValue - Provide the scale value .
     *  @param {any} renderer - Provide the renderer value .
     *  @param {element} element - Provide the text element value.
     *  @private
     */
    drawText(canvas: HTMLCanvasElement, options: TextAttributes, parentSvg?: SVGSVGElement, ariaLabel?: Object, diagramId?: string, scaleValue?: number, renderer?: any, element?: TextElement): void;
    private applyFlipAndRotate;
    private loadImage;
    /**
     * Draw the image element for the diagram\
     *
     *  @returns {void} Draw the image element for the diagram .
     *  @param { SVGElement | HTMLCanvasElement} canvas - Provide the SVG element .
     *  @param {ImageAttributes} obj - Provide the image attributes .
     *  @param {SVGSVGElement} parentSvg - Provide the parent SVG element .
     *  @param {boolean} fromPalette - Provide the pointer event value .
     *  @param {any} renderer - provide renderer value
     *  @param {ImageElement} element - provide image element
     *  @private
     */
    drawImage(canvas: HTMLCanvasElement, obj: ImageAttributes, parentSvg?: SVGSVGElement, fromPalette?: boolean, renderer?: any, element?: ImageElement): void;
    private image;
    private getSliceOffset;
    private getMeetOffset;
    private m;
    private r;
    private a;
    /**
     * Draw the SVG label.\
     *
     * @returns {PointModel} Draw the SVG label .
     *  @param {TextAttributes} text - Provide the canvas element .
     *  @param {Object} wrapBounds - Provide the canvas element .
     *  @param {SubTextElement []} childNodes - Provide the canvas element .
     * @private
     */
    labelAlign(text: TextAttributes, wrapBounds: TextBounds, childNodes: SubTextElement[]): PointModel;
}
//node_modules/@syncfusion/ej2-diagrams/src/diagram/rendering/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;
    flipMode?: FlipMode;
    shapeType?: string;
}
/** @private */
export interface LineAttributes extends BaseAttributes {
    startPoint: PointModel;
    endPoint: PointModel;
}
/** @private */
export interface CircleAttributes extends BaseAttributes {
    centerX: number;
    centerY: number;
    radius: number;
    id: string;
}
/** @private */
export interface Alignment {
    vAlign?: string;
    hAlign?: string;
}
/** @private */
export interface SegmentInfo {
    point?: PointModel;
    index?: number;
    angle?: number;
}
/** @private */
export interface RectAttributes extends BaseAttributes {
    cornerRadius?: number;
}
/** @private */
export interface PathAttributes extends BaseAttributes {
    data: string;
}
/** @private */
export interface ImageAttributes extends BaseAttributes {
    source: string;
    sourceX: number;
    sourceY: number;
    sourceWidth: number;
    sourceHeight: number;
    scale: Scale;
    alignment: ImageAlignment;
}
/** @private */
export interface NativeAttributes extends BaseAttributes {
    content: SVGElement;
    scale: Stretch;
}
/** @private */
export interface TextAttributes extends BaseAttributes {
    whiteSpace: string;
    content: string;
    breakWord: string;
    fontSize: number;
    textWrapping: TextWrap;
    fontFamily: string;
    bold: boolean;
    italic: boolean;
    textAlign: string;
    color: string;
    textOverflow: TextOverflow;
    textDecoration: string;
    doWrap: boolean;
    wrapBounds: TextBounds;
    childNodes: SubTextElement[];
    isHorizontalLane: boolean;
    parentOffsetX: number;
    parentOffsetY: number;
    parentWidth: number;
    parentHeight: number;
}
/**
 * Defines the properties of sub text element
 */
export interface SubTextElement {
    /** returns the text from sub text element */
    text: string;
    /** returns the start position, where the text element to be rendered */
    x: number;
    /** returns the left position, where text to be rendered  */
    dy: number;
    /** returns the width of the sub text element  */
    width: number;
}
/**
 * Defines the properties of text bounds
 */
export interface TextBounds {
    /** returns the start position, where the text element is rendered  */
    x: number;
    /** returns the width of the sub text element  */
    width: number;
}
/** @private */
export interface PathSegment {
    command?: string;
    angle?: number;
    largeArc?: boolean;
    x2?: number;
    sweep?: boolean;
    x1?: number;
    y1?: number;
    y2?: number;
    x0?: number;
    y0?: number;
    x?: number;
    y?: number;
    r1?: number;
    r2?: number;
    centp?: {
        x?: number;
        y?: number;
    };
    xAxisRotation?: number;
    rx?: number;
    ry?: number;
    a1?: number;
    ad?: number;
}
/** @private */
export interface IKeyDownType {
    type?: string;
}
/** @private */
export interface IReactDiagram {
    isReact?: boolean;
}
export interface ITransform {
    transform: string;
}
//node_modules/@syncfusion/ej2-diagrams/src/diagram/primitives/size.d.ts
/**
 * Size defines and processes the size(width/height) of the objects
 */
export  class Size {
    /**
     * Sets the height of an object
     *
     * @default 0
     */
    height: number;
    /**
     * Sets the width of an object
     *
     * @default 0
     */
    width: number;
    constructor(width?: number, height?: number);
    /**
     * isEmpty method \
     *
     * @returns { boolean } isEmpty method .\
     *
     * @private
     */
    isEmpty(): boolean;
    /**
     * clone method \
     *
     * @returns { Size } clone method .\
     *
     * @private
     */
    clone(): Size;
}
//node_modules/@syncfusion/ej2-diagrams/src/diagram/primitives/rect.d.ts
/**
 * Rect defines and processes rectangular regions
 */
export  class Rect {
    /**
     * Sets the x-coordinate of the starting point of a rectangular region
     *
     * @default 0
     */
    x: number;
    /**
     * Sets the y-coordinate of the starting point of a rectangular region
     *
     * @default 0
     */
    y: number;
    /**
     * Sets the width of a rectangular region
     *
     * @default 0
     */
    width: number;
    /**
     * Sets the height of a rectangular region
     *
     * @default 0
     */
    height: number;
    constructor(x?: number, y?: number, width?: number, height?: number);
    /**   @private  */
    static empty: Rect;
    /**   @private  */
    readonly left: number;
    /**
     * right method \
     *
     * @returns { Rect } right method .\
     *
     * @private
     */
    readonly right: number;
    /**
     * toBounds method \
     *
     * @returns { Rect } toBounds method .\
     *
     * @private
     */
    readonly top: number;
    /**
     * bottom method \
     *
     * @returns { Rect } bottom method .\
     *
     * @private
     */
    readonly bottom: number;
    /**
     * topLeft method \
     *
     * @returns { Rect } topLeft method .\
     *
     * @private
     */
    readonly topLeft: PointModel;
    /**
     * topRight method \
     *
     * @returns { Rect } topRight method .\
     *
     * @private
     */
    readonly topRight: PointModel;
    /**
     * bottomLeft method \
     *
     * @returns { Rect } bottomLeft method .\
     *
     * @private
     */
    readonly bottomLeft: PointModel;
    /**
     * bottomRight method \
     *
     * @returns { Rect } bottomRight method .\
     *
     * @private
     */
    readonly bottomRight: PointModel;
    /**
     * middleLeft method \
     *
     * @returns { Rect } middleLeft method .\
     *
     * @private
     */
    readonly middleLeft: PointModel;
    /**
     * middleRight method \
     *
     * @returns { Rect } middleRight method .\
     *
     * @private
     */
    readonly middleRight: PointModel;
    /**
     * topCenter method \
     *
     * @returns { Rect } topCenter method .\
     *
     * @private
     */
    readonly topCenter: PointModel;
    /**
     * bottomCenter method \
     *
     * @returns { Rect } bottomCenter method .\
     *
     * @private
     */
    readonly bottomCenter: PointModel;
    /**
     * center method \
     *
     * @returns { PointModel } center method .\
     *
     * @private
     */
    readonly center: PointModel;
    /**
     * equals method \
     *
     * @returns { boolean } equals method .\
     * @param {Rect} rect1 - provide the rect1 value.
     * @param {Rect} rect2 - provide the rect2 value.
     *
     * @private
     */
    equals(rect1: Rect, rect2: Rect): boolean;
    /**
     * uniteRect method \
     *
     * @returns { Rect } uniteRect method .\
     * @param {Rect} rect - provide the points value.
     *
     * @private
     */
    uniteRect(rect: Rect): Rect;
    /**
     * unitePoint method \
     *
     * @returns { void } unitePoint method .\
     * @param {PointModel} point - provide the points value.
     *
     * @private
     */
    unitePoint(point: PointModel): void;
    /**
     * Inflate method \
     *
     * @returns { Rect } Inflate method .\
     * @param {number} padding - provide the points value.
     *
     * @private
     */
    Inflate(padding: number): Rect;
    /**
     * intersects method \
     *
     * @returns { boolean } intersects method .\
     * @param {Rect} rect - provide the points value.
     *
     * @private
     */
    intersects(rect: Rect): boolean;
    /**
     * containsRect method \
     *
     * @returns { boolean } containsRect method .\
     * @param {Rect} rect - provide the points value.
     *
     * @private
     */
    containsRect(rect: Rect): boolean;
    /**
     * containsPoint method \
     *
     * @returns { boolean } containsPoint method .\
     * @param {PointModel} point - provide the points value.
     * @param {number} padding - provide the padding value.
     *
     * @private
     */
    containsPoint(point: PointModel, padding?: number): boolean;
    /**
     * toBounds method \
     *
     * @returns { Rect } toBounds method .\
     * @param {PointModel[]} points - provide the points value.
     *
     * @private
     */
    static toBounds(points: PointModel[]): Rect;
}
//node_modules/@syncfusion/ej2-diagrams/src/diagram/primitives/point.d.ts
/**
 * Defines and processes coordinates
 */
export  class Point extends base.ChildProperty<Point> {
    /**
     * Sets the x-coordinate of a position
     * @default 0
     */
    x: number;
    /**
     * Sets the y-coordinate of a position
     * @default 0
     */
    y: number;
    /**
     * equals method \
     *
     * @returns { boolean } equals method .\
     * @param {PointModel} point1 - provide the point1 value.
     * @param {PointModel} point2 - provide the point1 value.
     *
     * @private
     */
    static equals(point1: PointModel, point2: PointModel): boolean;
    /**
     * isEmptyPoint method \
     *
     * @returns { boolean } isEmptyPoint method .\
     * @param {PointModel} point - provide the points value.
     *
     * @private
     */
    static isEmptyPoint(point: PointModel): boolean;
    /**
     * transform method \
     *
     * @returns { PointModel } transform method .\
     * @param {PointModel} point - provide the points value.
     * @param {number} angle - provide the points value.
     * @param {number} length - provide the points value.
     *
     * @private
     */
    static transform(point: PointModel, angle: number, length: number): PointModel;
    /**
     * findLength method \
     *
     * @returns { number } findLength method .\
     * @param {PointModel} s - provide the points value.
     * @param {PointModel} e - provide the points value.
     *
     * @private
     */
    static findLength(s: PointModel, e: PointModel): number;
    /**
     * findAngle method \
     *
     * @returns { number } findAngle method .\
     * @param {PointModel} point1 - provide the points value.
     * @param {PointModel} point2 - provide the points value.
     *
     * @private
     */
    static findAngle(point1: PointModel, point2: PointModel): number;
    /**
     * distancePoints method \
     *
     * @returns { number } distancePoints method .\
     * @param {PointModel} pt1 - provide the points value.
     * @param {PointModel} pt2 - provide the points value.
     *
     * @private
     */
    static distancePoints(pt1: PointModel, pt2: PointModel): number;
    /**
     * getLengthFromListOfPoints method \
     *
     * @returns { number } getLengthFromListOfPoints method .\
     * @param {PointModel[]} points - provide the points value.
     *
     * @private
     */
    static getLengthFromListOfPoints(points: PointModel[]): number;
    /**
     * adjustPoint method \
     *
     * @returns { PointModel } adjustPoint method .\
     * @param {PointModel} source - provide the points value.
     * @param {PointModel} target - provide the points value.
     * @param {boolean} isStart - provide the isStart value.
     * @param {number} length - provide the length value.
     *
     * @private
     */
    static adjustPoint(source: PointModel, target: PointModel, isStart: boolean, length: number): PointModel;
    /**
     * direction method \
     *
     * @returns { string } direction method .\
     * @param {PointModel} pt1 - provide the points value.
     * @param {PointModel} pt2 - provide the points value.
     *
     * @private
     */
    static direction(pt1: PointModel, pt2: PointModel): string;
    /**
     * getClassName method \
     *
     * @returns { string } getClassName method .\
     *
     * @private
     */
    getClassName(): string;
}
//node_modules/@syncfusion/ej2-diagrams/src/diagram/primitives/point-model.d.ts
/**
 * Interface for a class Point
 */
export interface PointModel {
    /**
     * Sets the x-coordinate of a position
     * @default 0
     */
    x?: number;
    /**
     * Sets the y-coordinate of a position
     * @default 0
     */
    y?: number;
}
//node_modules/@syncfusion/ej2-diagrams/src/diagram/primitives/matrix.d.ts
/**
 * Matrix module is used to transform points based on offsets, angle
 */
/** @private */
export  enum MatrixTypes {
    Identity = 0,
    Translation = 1,
    Scaling = 2,
    Unknown = 4
}
/** @private */
export  class Matrix {
    /**   @private  */
    m11: number;
    /**   @private  */
    m12: number;
    /**   @private  */
    m21: number;
    /**   @private  */
    m22: number;
    /**   @private  */
    offsetX: number;
    /**   @private  */
    offsetY: number;
    /**   @private  */
    type: MatrixTypes;
    constructor(m11: number, m12: number, m21: number, m22: number, offsetX: number, offsetY: number, type?: MatrixTypes);
}
/**
 * Will identify the  matrix .\
 *
 * @returns {Matrix}  Will identify the  matrix .
 * @private
 */
export  function identityMatrix(): Matrix;
/**
 * Will transform the points by matrix .\
 *
 * @returns {PointModel[]}  Will transform the points by matrix .
 *
 * @param {Matrix} matrix - provide the matrix value  .
 * @param {number} point -  provide the points value.
 * @private
 */
export  function transformPointByMatrix(matrix: Matrix, point: PointModel): PointModel;
/**
 * Will transform the points by matrix .\
 *
 * @returns {PointModel[]}  Will transform the points by matrix .
 *
 * @param {Matrix} matrix - provide the matrix value  .
 * @param {number} points -  provide the points value.
 * @private
 */
export  function transformPointsByMatrix(matrix: Matrix, points: PointModel[]): PointModel[];
/**
 * Will rotate the matrix .\
 *
 * @returns {void}  Will rotate the matrix .
 *
 * @param {Matrix} matrix - provide the matrix value  .
 * @param {number} angle - provide the angle value.
 * @param {number} centerX - provide the centerX value .
 * @param {number} centerY - provide the centerY value .
 * @private
 */
export  function rotateMatrix(matrix: Matrix, angle: number, centerX: number, centerY: number): void;
/**
 * Will scale the matrix .\
 *
 * @returns {void} Will scale the matrix .
 *
 * @param {Matrix} matrix - provide the matrix value  .
 * @param {number} scaleX - provide the scaleXvalue.
 * @param {number} scaleY - provide the scaleY value .
 * @param {number} centerX - provide the centerX value .
 * @param {number} centerY - provide the centerY value .
 * @private
 */
export  function scaleMatrix(matrix: Matrix, scaleX: number, scaleY: number, centerX?: number, centerY?: number): void;
/**
 * Will translate the matrix .\
 *
 * @returns {void} Will translate the matrix .
 *
 * @param {Matrix} matrix - provide the matrix value  .
 * @param {number} offsetX - provide the offset x value.
 * @param {number} offsetY - provide the offset y value .
 * @private
 */
export  function translateMatrix(matrix: Matrix, offsetX: number, offsetY: number): void;
/**
 * Will multiply the matrix .\
 *
 * @returns {void} Will multiply the matrix .
 *
 * @param {Matrix} matrix1 - Provide the matrix 1 value .
 * @param {Matrix} matrix2 - Provide the matrix 2 value .
 * @private
 */
export  function multiplyMatrix(matrix1: Matrix, matrix2: Matrix): void;
//node_modules/@syncfusion/ej2-diagrams/src/diagram/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 undoOffsets;
    checkRedo: boolean;
    /**
     * initHistory method \
     *
     * @returns { void } initHistory method .\
     * @param {Diagram} diagram - provide the points value.
     *
     * @private
     */
    initHistory(diagram: Diagram): void;
    /**
     * addHistoryEntry method \
     *
     * @returns { void } addHistoryEntry method .\
     * @param {HistoryEntry} entry - provide the points value.
     * @param {Diagram} diagram - provide the points value.
     *
     * @private
     */
    addHistoryEntry(entry: HistoryEntry, diagram: Diagram): boolean;
    /**
     * applyLimit method \
     *
     * @returns { void } applyLimit method .\
     * @param {HistoryEntry} list - provide the list value.
     * @param {number} stackLimit - provide the list value.
     * @param {Diagram} diagram - provide the list value.
     * @param {boolean} limitHistory - provide the list value.
     *
     * @private
     */
    applyLimit(list: HistoryEntry, stackLimit: number, diagram: Diagram, limitHistory?: boolean): void;
    /**
     * clearHistory method \
     *
     * @returns { void } clearHistory method .\
     * @param {Diagram} diagram - provide the points value.
     *
     * @private
     */
    clearHistory(diagram: Diagram): void;
    private setEntryLimit;
    private limitHistoryStack;
    private removeFromStack;
    /**
     * undo method \
     *
     * @returns { void } undo method .\
     * @param {Diagram} diagram - provide the diagram value.
     *
     * @private
     */
    undo(diagram: Diagram): void;
    private getHistoryList;
    private getHistroyObject;
    private undoGroupAction;
    private undoEntry;
    private checkNodeObject;
    private group;
    private unGroup;
    private ignoreProperty;
    private getProperty;
    private recordLaneOrPhaseCollectionChanged;
    private recordAnnotationChanged;
    private recordChildCollectionChanged;
    /**
     * removeChildFromLane method \
     *
     * @returns { void } undo method .\
     * @param {Diagram} diagram - provide the diagram value.
     * @param {NodeModel} parentNode - provide the lane obj.
     * @param {Node} actualObject - provide the node value.
     * @private
     */
    removeChildFromLane(diagram: Diagram, parentNode: NodeModel, actualObject: Node): void;
    private recordStackPositionChanged;
    private recordGridSizeChanged;
    private recordLanePositionChanged;
    private recordPortChanged;
    private recordPropertyChanged;
    private recordOrderCommandChanged;
    private recordAddChildToGroupNode;
    private recordRemoveChildFromGroupNode;
    private recordSegmentChanged;
    private segmentChanged;
    private recordPositionChanged;
    private positionChanged;
    private recordSizeChanged;
    private sizeChanged;
    private recordRotationChanged;
    private rotationChanged;
    private recordConnectionChanged;
    private connectionChanged;
    private recordCollectionChanged;
    /**
     * updateConnectorZindex method \
     *
     * @returns { void }
     * @param {NodeModel | ConnectorModel} obj - provide the diagram value.
     * @param {Diagram} diagram - provide the diagram value.
     * @private
     */
    private updateConnectorZindex;
    private recordLabelCollectionChanged;
    private recordPortCollectionChanged;
    /**
     * redo method \
     *
     * @returns { void } redo method .\
     * @param {Diagram} diagram - provide the diagram value.
     *
     * @private
     */
    redo(diagram: Diagram): void;
    private redoGroupAction;
    private redoEntry;
    private getUndoEntry;
    private getRedoEntry;
    /**
     * Constructor for the undo redo module
     *
     * @private
     */
    constructor();
    /**
     * To destroy the undo redo module
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
    /**
     * @returns { string } toBounds method .\
     * Get getModuleName name.
     */
    protected getModuleName(): string;
}
//node_modules/@syncfusion/ej2-diagrams/src/diagram/objects/tooltip.d.ts
/**
 * Defines the tooltip that should be shown when the mouse hovers over node.
 * An object that defines the description, appearance and alignments of tooltip
 */
export  abstract class DiagramTooltip extends base.ChildProperty<DiagramTooltip> {
    /**
     * Defines the content of the popups.Tooltip
     *
     * @default ''
     */
    content: string | HTMLElement;
    /**
     * Defines the position of the popups.Tooltip
     *
     * @default 'TopLeft'
     * @aspDefaultValueIgnore
     * @blazorType Syncfusion.Blazor.Popups.popups.Position
     * @blazorDefaultValue Syncfusion.Blazor.Popups.popups.Position.TopLeft
     * @isEnumeration true
     */
    position: popups.Position;
    /**
     * Defines the relative mode of the popups.Tooltip
     * * Object - sets the tooltip position relative to the node
     * * Mouse - sets the tooltip position relative to the mouse
     *
     * @default 'Mouse'
     */
    relativeMode: TooltipRelativeMode;
    /**
     * Defines if the popups.Tooltip has tip pointer or not
     *
     * @default true
     */
    showTipPointer: boolean;
    /**
     * Sets the width of the popups.Tooltip
     *
     * @default 'auto'
     */
    width: number | string;
    /**
     * Sets the height of the popups.Tooltip
     *
     * @default 'auto'
     */
    height: number | string;
    /**
     * Sets how to open the popups.Tooltip
     *
     * @default 'Auto'
     */
    openOn: TooltipMode;
    /**
     * Allows to set the same or different animation option for the popups.Tooltip, when it is opened or closed.
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let diagram$: Diagram = new Diagram({
     * ...
     * constraints: DiagramConstraints.Default | DiagramConstraints.popups.Tooltip,
     * tooltip: { content: getcontent(), position: 'TopLeft', relativeMode: 'Object',
     * animation: { open: { effect: 'FadeZoomIn', delay: 0 },
     * close: { effect: 'FadeZoomOut', delay: 0 } } },
     * ...
     * });
     * diagram.appendTo('#diagram');
     * function getcontent(): => {
     * ...
     * }
     * ```
     *
     * @aspDefaultValueIgnore
     * @blazorType Syncfusion.Blazor.Popups.popups.AnimationModel
     * @default { open: { effect: 'FadeIn', duration: 150, delay: 0 }, close: { effect: 'FadeOut', duration: 150, delay: 0 } }
     */
    animation: popups.AnimationModel;
    /**
     * Specifies whether the tooltip remains visible even when the mouse moves away from the target element.
     * If set to true, the tooltip is always visible;
 otherwise, it is hidden when the mouse moves away.
     * The default value is false.
     *
     * @default false
     */
    isSticky: boolean;
}
/**
 * initTooltip method \
 *
 * @returns { popups.Tooltip } initTooltip method .\
 * @param {Diagram} diagram - provide the points value.
 *
 * @private
 */
export  function initTooltip(diagram: Diagram): popups.Tooltip;
/**
 * updateTooltip method \
 *
 * @returns { popups.Tooltip } updateTooltip method .\
 * @param {Diagram} diagram - provide the points value.
 * @param {NodeModel | ConnectorModel} node - provide the points value.
 *
 * @private
 */
export  function updateTooltip(diagram: Diagram, node?: NodeModel | ConnectorModel | PointPortModel): popups.Tooltip;
//node_modules/@syncfusion/ej2-diagrams/src/diagram/objects/tooltip-model.d.ts
/**
 * Interface for a class DiagramTooltip
 */
export interface DiagramTooltipModel {
    /**
     * Defines the content of the popups.Tooltip
     *
     * @default ''
     */
    content?: string | HTMLElement;
    /**
     * Defines the position of the popups.Tooltip
     *
     * @default 'TopLeft'
     * @aspDefaultValueIgnore
     * @blazorType Syncfusion.Blazor.Popups.popups.Position
     * @blazorDefaultValue Syncfusion.Blazor.Popups.popups.Position.TopLeft
     * @isEnumeration true
     */
    position?: popups.Position;
    /**
     * Defines the relative mode of the popups.Tooltip
     * * Object - sets the tooltip position relative to the node
     * * Mouse - sets the tooltip position relative to the mouse
     *
     * @default 'Mouse'
     */
    relativeMode?: TooltipRelativeMode;
    /**
     * Defines if the popups.Tooltip has tip pointer or not
     *
     * @default true
     */
    showTipPointer?: boolean;
    /**
     * Sets the width of the popups.Tooltip
     *
     * @default 'auto'
     */
    width?: number | string;
    /**
     * Sets the height of the popups.Tooltip
     *
     * @default 'auto'
     */
    height?: number | string;
    /**
     * Sets how to open the popups.Tooltip
     *
     * @default 'Auto'
     */
    openOn?: TooltipMode;
    /**
     * Allows to set the same or different animation option for the popups.Tooltip, when it is opened or closed.
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let diagram$: Diagram = new Diagram({
     * ...
     * constraints: DiagramConstraints.Default | DiagramConstraints.popups.Tooltip,
     * tooltip: { content: getcontent(), position: 'TopLeft', relativeMode: 'Object',
     * animation: { open: { effect: 'FadeZoomIn', delay: 0 },
     * close: { effect: 'FadeZoomOut', delay: 0 } } },
     * ...
     * });
     * diagram.appendTo('#diagram');
     * function getcontent(): => {
     * ...
     * }
     * ```
     *
     * @aspDefaultValueIgnore
     * @blazorType Syncfusion.Blazor.Popups.popups.AnimationModel
     * @default { open: { effect: 'FadeIn', duration: 150, delay: 0 }, close: { effect: 'FadeOut', duration: 150, delay: 0 } }
     */
    animation?: popups.AnimationModel;
    /**
     * Specifies whether the tooltip remains visible even when the mouse moves away from the target element.
     * If set to true, the tooltip is always visible;
 otherwise, it is hidden when the mouse moves away.
     * The default value is false.
     *
     * @default false
     */
    isSticky?: boolean;
}
//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/snapping.d.ts
/**
 * Snapping
 */
export  class Snapping {
    private line;
    private diagram;
    private render;
    constructor(diagram: Diagram);
    /** @private */
    canSnap(): boolean;
    private getWrapperObject;
    setSnapLineColor(): string;
    /**
     * Snap to object
     *
     * @private
     */
    snapPoint(diagram: Diagram, selectedObject: SelectorModel, towardsLeft: boolean, towardsTop: boolean, delta: PointModel, startPoint: PointModel, endPoint: PointModel): PointModel;
    /**
     * @private
     */
    round(value: number, snapIntervals: number[], scale: number): number;
    private snapObject;
    /**
     * @private
     */
    snapConnectorEnd(point: PointModel): PointModel;
    private canBeTarget;
    private snapSize;
    /**
     * Snap to object on top
     *
     * @private
     */
    snapTop(horizontalSnap: Snap, verticalSnap: Snap, snapLine: SVGElement, deltaX: number, deltaY: number, shape: SelectorModel, ended: boolean, initialBoundsT: Rect): number;
    /**
     * Snap to object on right
     *
     * @private
     */
    snapRight(horizontalSnap: Snap, verticalSnap: Snap, snapLine: SVGElement, deltaX: number, deltaY: number, shape: SelectorModel, ended: boolean, initialBound: Rect): number;
    /**
     * Snap to object on left
     *
     * @private
     */
    snapLeft(horizontalSnap: Snap, verticalSnap: Snap, snapLine: SVGElement, deltaX: number, deltaY: number, shape: SelectorModel, ended: boolean, initialBoundsB: Rect): number;
    /**
     * Snap to object on bottom
     *
     * @private
     */
    snapBottom(horizontalSnap: Snap, verticalSnap: Snap, snapLine: SVGElement, deltaX: number, deltaY: number, shape: SelectorModel | DiagramElement, ended: boolean, initialRect: Rect): number;
    private createGuidelines;
    private renderAlignmentLines;
    private createHSpacingLines;
    private createVSpacingLines;
    private addHSpacingLines;
    private addVSpacingLines;
    private addSameWidthLines;
    private addSameHeightLines;
    private renderSpacingLines;
    /**
     * To Create Snap object with position, initial bounds, and final bounds \
     *
     * @returns {  void }  To Create Snap object with position, initial bounds, and final bounds .\
     * @param {Diagram} targetBounds - provide the targetBounds value.
     * @param {Rect} bounds - provide the angle value.
     * @param {string} snap - provide the angle value.
     * @private
     */
    createSnapObject(targetBounds: Rect, bounds: Rect, snap: string): SnapObject;
    /**
     *  Calculate the snap angle \
     *
     * @returns {  void }  Calculate the snap angle .\
     * @param {Diagram} diagram - provide the diagram value.
     * @param {number} angle - provide the angle value.
     * @private
     */
    snapAngle(diagram: Diagram, angle: number): number;
    private canConsider;
    private findNodes;
    private intersectsRect;
    private getAdornerLayerSvg;
    /**
     *  To remove grid lines on mouse move and mouse up \
     *
     * @returns {  void }  To remove grid lines on mouse move and mouse up .\
     * @param {Diagram} diagram - provide the source value.
     * @private
     */
    removeGuidelines(diagram: Diagram): void;
    private sortByDistance;
    private findEquallySpacedNodesAtLeft;
    private findEquallySpacedNodesAtRight;
    private findEquallySpacedNodesAtTop;
    private findEquallySpacedNodesAtBottom;
    /**
     * To get Adoner layer to draw snapLine
     *
     * @private
     */
    getLayer(): SVGElement;
    /**
     * Constructor for the snapping module
     *
     * @private
     */
    /**
     *To destroy the ruler
     *
     * @returns {void} To destroy the ruler
     */
    destroy(): void;
    /**
     * Core method to return the component name.
     *
     * @returns {string}  Core method to return the component name.
     * @private
     */
    protected getModuleName(): string;
}
export interface Snap {
    snapped: boolean;
    offset: number;
    left?: boolean;
    bottom?: boolean;
    right?: boolean;
    top?: boolean;
}
/**
 * @private
 */
export interface SnapObject {
    start: PointModel;
    end: PointModel;
    offsetX: number;
    offsetY: number;
    type: string;
}
/**
 * @private
 */
export interface Objects {
    obj: DiagramElement;
    distance: number;
}
/**
 * @private
 */
export interface SnapSize {
    source: NodeModel;
    difference: number;
    offset: number;
}
//node_modules/@syncfusion/ej2-diagrams/src/diagram/objects/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/preview.d.ts
/**
 * customize the size of the individual palette items.
 */
export  class SymbolSize extends base.ChildProperty<SymbolSize> {
    /**
     * Sets the width of the symbols
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    width: number;
    /**
     * Sets the height of the symbols
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    height: number;
}
/**
 * Defines the size and description of a symbol
 */
export  class SymbolPaletteInfo extends base.ChildProperty<SymbolPaletteInfo> {
    /**
     * Defines the width of the symbol description
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    width: number;
    /**
     * Defines the height of the symbol description
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    height: number;
    /**
     * Defines whether the symbol has to be fit inside the size, that is defined by the symbol palette
     *
     * @default true
     */
    fit: boolean;
    /**
     * Define the text to be displayed and how that is to be handled.
     *
     * @default null
     */
    description: SymbolDescription;
    /**
     * Define the template of the symbol that is to be drawn over the palette
     *
     * @default null
     */
    template: DiagramElement;
    /**
     * Define the text to be displayed when mouse hover on the shape.
     *
     * @default ''
     */
    tooltip: string;
}
//node_modules/@syncfusion/ej2-diagrams/src/diagram/objects/preview-model.d.ts
/**
 * Interface for a class SymbolSize
 */
export interface SymbolSizeModel {
    /**
     * Sets the width of the symbols
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    width?: number;
    /**
     * Sets the height of the symbols
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    height?: number;
}
/**
 * Interface for a class SymbolPaletteInfo
 */
export interface SymbolPaletteInfoModel {
    /**
     * Defines the width of the symbol description
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    width?: number;
    /**
     * Defines the height of the symbol description
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    height?: number;
    /**
     * Defines whether the symbol has to be fit inside the size, that is defined by the symbol palette
     *
     * @default true
     */
    fit?: boolean;
    /**
     * Define the text to be displayed and how that is to be handled.
     *
     * @default null
     */
    description?: SymbolDescription;
    /**
     * Define the template of the symbol that is to be drawn over the palette
     *
     * @default null
     */
    template?: DiagramElement;
    /**
     * Define the text to be displayed when mouse hover on the shape.
     *
     * @default ''
     */
    tooltip?: string;
}
//node_modules/@syncfusion/ej2-diagrams/src/diagram/objects/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 allowed direction for connections to the port
     * * Auto - Maintains the default behavior of automatic direction calculation.
     * * Left - Restricts connections to only connect to the left side of the port.
     * * Top - Restricts connections to only connect to the top side of the port.
     * * Right - Restricts connections to only connect to the right side of the port.
     * * Bottom - Restricts connections to only connect to the bottom side of the port.
     *
     * @default 'Auto'
     */
    connectionDirection: PortConnectionDirection;
    /**
     * Defines the type of the port visibility
     * * Visible - Always shows the port
     * * Hidden - Always hides the port
     * * Hover - Shows the port when the mouse hovers over a node
     * * Connect - Shows the port when a connection end point is dragged over a node
     *
     * @default 'Connect'
     * @aspNumberEnum
     */
    visibility: PortVisibility;
    /**
     * Defines the geometry of the port
     *
     * @default ''
     */
    pathData: string;
    /**
     * Defines the constraints of port
     *
     * @default 'Default'
     * @aspNumberEnum
     */
    constraints: PortConstraints;
    /**
     * Allows the user to save custom information/data about a port
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    addInfo: Object;
    /**
     * Defines the collection of the objects that are connected to a particular port
     *
     * @default undefined
     * @blazorDefaultValue new string[] { }
     */
    outEdges: string[];
    /**
     * Defines the collection of the objects that are connected to a particular port
     *
     * @default undefined
     * @blazorDefaultValue new string[] { }
     */
    inEdges: string[];
    constructor(parent: any, propName: string, defaultValue: Object, isArray?: boolean);
    /**
     * defines the tooltip for the Ports
     *
     * @default new DiagramToolTip();
     */
    tooltip: DiagramTooltipModel;
}
/**
 * Defines the behavior of a port, that sticks to a point
 */
export  class PointPort extends Port {
    /**
     * Defines the position of the port with respect to the boundaries of nodes/connector
     *
     * @default new Point(0.5,0.5)
     * @blazorType NodePortOffset
     */
    offset: PointModel;
    constructor(parent: any, propName: string, defaultValue: Object, isArray?: boolean);
    /**
     * getClassName method \
     *
     * @returns { string } toBounds method .\
     *
     * @private
     */
    getClassName(): string;
}
/**
 * Defines the behavior of a port, that sticks to a point
 */
export  class PathPort extends Port {
    /**
     * Sets the segment offset of port
     *
     * @default 0.5
     */
    offset: number;
    /**
     * Sets the displacement of an ports from its actual position
     *
     * @aspDefaultValueIgnore
     * @blazorDefaultValueIgnore
     * @default undefined
     */
    displacement: PointModel;
    /**
     * Sets the segment alignment of ports
     *  * Center - Aligns the ports at the center of a connector segment
     *  * Before - Aligns the ports before a connector segment
     *  * After - Aligns the ports after a connector segment
     *
     * @default Center
     */
    alignment: PortAlignment;
    constructor(parent: any, propName: string, defaultValue: Object, isArray?: boolean);
    /**
     * getClassName method \
     *
     * @returns { string } toBounds method .\
     *
     * @private
     */
    getClassName(): string;
}
//node_modules/@syncfusion/ej2-diagrams/src/diagram/objects/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 allowed direction for connections to the port
     * * Auto - Maintains the default behavior of automatic direction calculation.
     * * Left - Restricts connections to only connect to the left side of the port.
     * * Top - Restricts connections to only connect to the top side of the port.
     * * Right - Restricts connections to only connect to the right side of the port.
     * * Bottom - Restricts connections to only connect to the bottom side of the port.
     *
     * @default 'Auto'
     */
    connectionDirection?: PortConnectionDirection;
    /**
     * Defines the type of the port visibility
     * * Visible - Always shows the port
     * * Hidden - Always hides the port
     * * Hover - Shows the port when the mouse hovers over a node
     * * Connect - Shows the port when a connection end point is dragged over a node
     *
     * @default 'Connect'
     * @aspNumberEnum
     */
    visibility?: PortVisibility;
    /**
     * Defines the geometry of the port
     *
     * @default ''
     */
    pathData?: string;
    /**
     * Defines the constraints of port
     *
     * @default 'Default'
     * @aspNumberEnum
     */
    constraints?: PortConstraints;
    /**
     * Allows the user to save custom information/data about a port
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    addInfo?: Object;
    /**
     * Defines the collection of the objects that are connected to a particular port
     *
     * @default undefined
     * @blazorDefaultValue new string[] { }
     */
    outEdges?: string[];
    /**
     * Defines the collection of the objects that are connected to a particular port
     *
     * @default undefined
     * @blazorDefaultValue new string[] { }
     */
    inEdges?: string[];
    /**
     * defines the tooltip for the Ports
     *
     * @default new DiagramToolTip();
     */
    tooltip?: DiagramTooltipModel;
}
/**
 * Interface for a class PointPort
 */
export interface PointPortModel extends PortModel{
    /**
     * Defines the position of the port with respect to the boundaries of nodes/connector
     *
     * @default new Point(0.5,0.5)
     * @blazorType NodePortOffset
     */
    offset?: PointModel;
}
/**
 * Interface for a class PathPort
 */
export interface PathPortModel extends PortModel{
    /**
     * Sets the segment offset of port
     *
     * @default 0.5
     */
    offset?: number;
    /**
     * Sets the displacement of an ports from its actual position
     *
     * @aspDefaultValueIgnore
     * @blazorDefaultValueIgnore
     * @default undefined
     */
    displacement?: PointModel;
    /**
     * Sets the segment alignment of ports
     *  * Center - Aligns the ports at the center of a connector segment
     *  * Before - Aligns the ports before a connector segment
     *  * After - Aligns the ports after a connector segment
     *
     * @default Center
     */
    alignment?: PortAlignment;
}
//node_modules/@syncfusion/ej2-diagrams/src/diagram/objects/node.d.ts

/**
 * Defines the behavior of default shape
 */
export  class Shape extends base.ChildProperty<Shape> {
    /**
     * Defines the type of node shape
     * * Path - Sets the type of the node as Path
     * * Text - Sets the type of the node as Text
     * * Image - Sets the type of the node as Image
     * * Basic - Sets the type of the node as Basic
     * * Flow - Sets the type of the node as Flow
     * * Bpmn - Sets the type of the node as Bpmn
     * * Native - Sets the type of the node as Native
     * * HTML - Sets the type of the node as HTML
     * * UMLActivity - Sets the type of the node as UMLActivity
     *
     * @default 'Basic'
     */
    type: Shapes;
}
/**
 * Defines the behavior of path shape
 */
export  class Path extends Shape {
    /**
     * Defines the type of node shape
     *
     * @default 'Basic'
     */
    type: Shapes;
    /**
     * Defines the geometry of a path
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let nodes$: NodeModel[] = [{
     * id: 'node1', width: 100, height: 100, offsetX: 300, offsetY: 100,
     *   shape: { type: 'Path', data: 'M540.3643,137.9336L546.7973,159.7016L570.3633,159.7296'+
     *   'L550.7723,171.9366L558.9053,194.9966L540.3643,179.4996L521.8223,194.9966L529.9553,171.9366'+
     *   'L510.3633,159.7296L533.9313,159.7016L540.3643,137.9336z' }
     * }];
     * let diagram$: Diagram = new Diagram({
     * ...
     * nodes: nodes
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @default ''
     */
    data: string;
    /**
     * getClassName method \
     *
     * @returns { string } toBounds method .\
     *
     * @private
     */
    getClassName(): string;
}
/**
 * Defines the behavior of Native shape
 */
export  class Native extends Shape {
    /**
     * Defines the type of node shape.
     *
     * @default 'Basic'
     */
    type: Shapes;
    /**
     * Defines the geometry of a native element.
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let nodes$: NodeModel[] = [{
     * id: 'node1', width: 100, height: 100,
     * shape: { scale: 'Stretch',
     *   type: 'Native', content: '<g><path d='M90,43.841c0,24.213-19.779,43.841-44.182,43.841c-7.747,0-15.025-1.98-21.357-5.455'+
     * 'L0,90l7.975-23.522' +
     * 'c-4.023-6.606-6.34-14.354-6.34-22.637C1.635,19.628,21.416,0,45.818,0C70.223,0,90,19.628,90,43.841z M45.818,6.982' +
     * 'c-20.484,0-37.146,16.535-37.146,36.859c0,8.065,2.629,15.534,7.076,21.61L11.107,79.14l14.275-4.537' +
     * 'c5.865,3.851,12.891,6.097,20.437,6.097c20.481,0,37.146-16.533,37.146-36.857S66.301,6.982,45.818,6.982z M68.129,53.938' +
     * 'c-0.273-0.447-0.994-0.717-2.076-1.254c-1.084-0.537-6.41-3.138-7.4-3.495c-0.993-0.358-1.717-0.538-2.438,0.537' +
     * 'c-0.721,1.076-2.797,3.495-3.43,4.212c-0.632,0.719-1.263,0.809-2.347,0.271c-1.082-0.537-4.571-1.673-8.708-5.333' +
     * 'c-3.219-2.848-5.393-6.364-6.025-7.441c-0.631-1.075-0.066-1.656,0.475-2.191c0.488-0.482,1.084-1.255,1.625-1.882' +
     * 'c0.543-0.628,0.723-1.075,1.082-1.793c0.363-0.717,0.182-1.344-0.09-1.883c-0.27-0.537-2.438-5.825-3.34-7.977' +
     * 'c-0.902-2.15-1.803-1.792-2.436-1.792c-0.631,0-1.354-0.09-2.076-0.09c-0.722,0-1.896,0.269-2.889,1.344' +
     * 'c-0.992,1.076-3.789,3.676-3.789,8.963c0,5.288,3.879,10.397,4.422,11.113c0.541,0.716,7.49,11.92,18.5,16.223' +
     * 'C58.2,65.771,58.2,64.336,60.186,64.156c1.984-0.179,6.406-2.599,7.312-5.107C68.398,56.537,68.398,54.386,68.129,53.938z'>'+
     * '</path></g>',
     *        }
     * }];
     * let diagram$: Diagram = new Diagram({
     * ...
     * nodes: nodes
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @default ''
     */
    content: string | SVGElement;
    /**
     * Defines the scale of the native element.
     * * None - Sets the stretch type for diagram as None
     * * Stretch - Sets the stretch type for diagram as Stretch
     * * Meet - Sets the stretch type for diagram as Meet
     * * Slice - Sets the stretch type for diagram as Slice
     *
     * @default 'Stretch'
     */
    scale: Stretch;
    /**
     * Returns the name of class Native
     *
     * @private
     */
    getClassName(): string;
}
/**
 * Defines the behavior of html shape
 */
export  class Html extends Shape {
    /**
     * Defines the type of node shape.
     *
     * @default 'Basic'
     */
    type: Shapes;
    /**
     * Defines the geometry of a html element.
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let nodes$: NodeModel[] = [{
     * id: 'node1', width: 100, height: 100, offsetX: 300, offsetY: 100,
     * shape: { type: 'HTML',
     * content: '<div style='background:red;
height:100%;
width:100%;
'><input type='button' value='{{:value}}' /></div>' }
     * }];
     * let diagram$: Diagram = new Diagram({
     * ...
     * nodes: nodes
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @default ''
     */
    content: string | HTMLElement | Function;
    /**
     * Returns the name of class Html
     *
     * @private
     */
    getClassName(): string;
}
/**
 * Defines the behavior of image shape
 */
export  class Image extends Shape {
    /**
     * Defines the type of node shape
     *
     * @default 'Basic'
     */
    type: Shapes;
    /**
     * Defines the source of the image
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let nodes$: NodeModel[] = [{
     * id: 'node1', width: 100, height: 100, offsetX: 300, offsetY: 100,
     * shape: { type: 'Image', source: 'https://www.w3schools.com/images/w3schools_green.jpg' }
     * }];
     * let diagram$: Diagram = new Diagram({
     * ...
     * nodes: nodes
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @default ''
     */
    source: string;
    /**
     * Allows to stretch the image as you desired (either to maintain proportion or to stretch)
     * * None - Scale value will be set as None for the image
     * * Meet - Scale value Meet will be set for the image
     * * Slice - Scale value Slice will be set for the image
     *
     * @default 'None'
     */
    scale: Scale;
    /**
     * Defines the alignment of the image within the node boundary.
     * * None - Alignment value will be set as none
     * * XMinYMin - smallest X value of the view port and  smallest Y value of the view port
     * * XMidYMin - midpoint X value of the view port and  smallest Y value of the view port
     * * XMaxYMin - maximum X value of the view port and  smallest Y value of the view port
     * * XMinYMid - smallest X value of the view port and midpoint Y value of the view port
     * * XMidYMid - midpoint X value of the view port and midpoint Y value of the view port
     * * XMaxYMid - maximum X value of the view port and midpoint Y value of the view port
     * * XMinYMax - smallest X value of the view port and maximum Y value of the view port
     * * XMidYMax - midpoint X value of the view port and maximum Y value of the view port
     * * XMaxYMax - maximum X value of the view port and maximum Y value of the view port
     *
     * @default 'None'
     */
    align: ImageAlignment;
    /**
     * Returns the name of class Image
     *
     * @private
     */
    getClassName(): string;
}
/**
 * Defines the behavior of the text shape
 */
export  class Text extends Shape {
    /**
     * Defines the type of node shape
     *
     * @default 'Basic'
     */
    type: Shapes;
    /**
     * Defines the content of a text
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let nodes$: NodeModel[] = [{
     * id: 'node1', width: 100, height: 100, offsetX: 300, offsetY: 100,
     * shape: { type: 'Text', content: 'Text Element' }
     * }];
     * let diagram$: Diagram = new Diagram({
     * ...
     * nodes: nodes
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @default ''
     */
    content: string;
    /**
     * Defines the space to be let between the node and its immediate parent
     *
     * @default 0
     */
    margin: MarginModel;
    /**
     * Returns the name of class Text
     *
     * @private
     */
    getClassName(): string;
}
/**
 * Defines the behavior of the basic shape
 */
export  class BasicShape extends Shape {
    /**
     * Defines the type of node shape
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let shape: BasicShapeModel = { type: 'Basic', shape: 'Rectangle' };
     * let nodes$: NodeModel[] = [{
     * id: 'node', width: 100, height: 100, offsetX: 100, offsetY: 100, shape: shape
     * }];
     * let diagram$: Diagram = new Diagram({
     * ...
     * nodes : nodes,
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @default 'Basic'
     */
    type: Shapes;
    /**
     * Defines the type of the basic shape
     * * Rectangle - Sets the type of the basic shape as Rectangle
     * * Ellipse - Sets the type of the basic shape as Ellipse
     * * Hexagon - Sets the type of the basic shape as Hexagon
     * * Parallelogram - Sets the type of the basic shape as Parallelogram
     * * Triangle - Sets the type of the basic shape as Triangle
     * * Plus - Sets the type of the basic shape as Plus
     * * Star - Sets the type of the basic shape as Star
     * * Pentagon - Sets the type of the basic shape as Pentagon
     * * Heptagon - Sets the type of the basic shape as Heptagon
     * * Octagon - Sets the type of the basic shape as Octagon
     * * Trapezoid - Sets the type of the basic shape as Trapezoid
     * * Decagon - Sets the type of the basic shape as Decagon
     * * RightTriangle - Sets the type of the basic shape as RightTriangle
     * * Cylinder - Sets the type of the basic shape as Cylinder
     * * Diamond - Sets the type of the basic shape as Diamond
     *
     * @default 'Rectangle'
     */
    shape: BasicShapes;
    /**
     * Sets the corner of the node
     *
     * @default 0
     */
    cornerRadius: number;
    /**
     * Defines the collection of points to draw a polygon
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    points: PointModel[];
    /**
     * Returns the name of class BasicShape
     *
     * @private
     *
     */
    getClassName(): string;
}
/**
 * Defines the behavior of the flow shape
 */
export  class FlowShape extends Shape {
    /**
     * Defines the type of node shape
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let nodes$: NodeModel[] = [{
     * id: 'node', width: 100, height: 100, offsetX: 100, offsetY: 100,
     *     shape: { type: 'Flow', shape: 'Terminator' },
     * }];
     * let diagram$: Diagram = new Diagram({
     * ...
     * nodes : nodes,
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @default 'Basic'
     */
    type: Shapes;
    /**
     * Defines the type of the flow shape
     * * Process - Sets the type of the flow shape as Process
     * * Decision - Sets the type of the flow shape as Decision
     * * Document - Sets the type of the flow shape as Document
     * * PreDefinedProcess - Sets the type of the flow shape as PreDefinedProcess
     * * Terminator - Sets the type of the flow shape as Terminator
     * * PaperTap - Sets the type of the flow shape as PaperTap
     * * DirectData - Sets the type of the flow shape as DirectData
     * * SequentialData - Sets the type of the flow shape as SequentialData
     * * MultiData - Sets the type of the flow shape as MultiData
     * * Collate - Sets the type of the flow shape as Collate
     * * SummingJunction - Sets the type of the flow shape as SummingJunction
     * * Or - Sets the type of the flow shape as Or
     * * InternalStorage - Sets the type of the flow shape as InternalStorage
     * * Extract - Sets the type of the flow shape as Extract
     * * ManualOperation - Sets the type of the flow shape as ManualOperation
     * * Merge - Sets the type of the flow shape as Merge
     * * OffPageReference - Sets the type of the flow shape as OffPageReference
     * * SequentialAccessStorage - Sets the type of the flow shape as SequentialAccessStorage
     * * Annotation - Sets the type of the flow shape as Annotation
     * * Annotation2 - Sets the type of the flow shape as Annotation2
     * * Data - Sets the type of the flow shape as Data
     * * Card - Sets the type of the flow shape as Card
     * * Delay - Sets the type of the flow shape as Delay
     * * Preparation - Sets the type of the flow shape as Preparation
     * * Display - Sets the type of the flow shape as Display
     * * ManualInput - Sets the type of the flow shape as ManualInput
     * * LoopLimit - Sets the type of the flow shape as LoopLimit
     * * StoredData - Sets the type of the flow shape as StoredData
     *
     * @default 'Terminator'
     */
    shape: FlowShapes;
    /**
     * Returns the name of class FlowShape
     *
     * @private
     */
    getClassName(): string;
}
/**
 * Defines the behavior of the bpmn gateway shape
 */
export  class BpmnGateway extends base.ChildProperty<BpmnGateway> {
    /**
     * Defines the type of the BPMN Gateway
     * * None - Sets the type of the gateway as None
     * * Exclusive - Sets the type of the gateway as Exclusive
     * * Inclusive - Sets the type of the gateway as Inclusive
     * * Complex - Sets the type of the gateway as Complex
     * * EventBased - Sets the type of the gateway as EventBased
     * * ExclusiveEventBased - Sets the type of the gateway as ExclusiveEventBased
     * * ParallelEventBased - Sets the type of the gateway as ParallelEventBased
     *
     * @default 'None'
     */
    type: BpmnGateways;
    /**
     * Returns the name of class BpmnGateway
     *
     * @private
     */
    getClassName(): string;
}
/**
 * Defines the behavior of the bpmn data object
 */
export  class BpmnDataObject extends base.ChildProperty<BpmnDataObject> {
    /**
     * Defines the type of the BPMN data object
     * * None - Sets the type of the data object as None
     * * Input - Sets the type of the data object as Input
     * * Output - Sets the type of the data object as Output
     *
     * @default 'None'
     */
    type: BpmnDataObjects;
    /**
     * Sets whether the data object is a collection or not
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let nodes$: NodeModel[] = [{
     *  id: 'node', width: 100, height: 100, offsetX: 100, offsetY: 100,
     *  shape: {
     *   type: 'Bpmn', shape: 'DataObject',
     *   dataObject: { collection: false, type: 'Input' }
     *         } as BpmnShapeModel,
     * }];
     * let diagram$: Diagram = new Diagram({
     * ...
     * nodes : nodes,
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @default false
     */
    collection: boolean;
    /**
     * Returns the name of class BpmnDataObject
     *
     * @private
     */
    getClassName(): string;
}
/**
 * Defines the behavior of the bpmn task shape
 */
export  class BpmnTask extends base.ChildProperty<BpmnTask> {
    /**
     * Defines the type of the task
     * * None - Sets the type of the Bpmn Tasks as None
     * * Service - Sets the type of the Bpmn Tasks as Service
     * * Receive - Sets the type of the Bpmn Tasks as Receive
     * * Send - Sets the type of the Bpmn Tasks as Send
     * * InstantiatingReceive - Sets the type of the Bpmn Tasks as InstantiatingReceive
     * * Manual - Sets the type of the Bpmn Tasks as Manual
     * * BusinessRule - Sets the type of the Bpmn Tasks as BusinessRule
     * * User - Sets the type of the Bpmn Tasks as User
     * * Script - Sets the type of the Bpmn Tasks as Script
     *
     * @default 'None'
     */
    type: BpmnTasks;
    /**
     * Defines the type of the BPMN loops
     * * None - Sets the type of the Bpmn loop as None
     * * Standard - Sets the type of the Bpmn loop as Standard
     * * ParallelMultiInstance - Sets the type of the Bpmn loop as ParallelMultiInstance
     * * SequenceMultiInstance - Sets the type of the Bpmn loop as SequenceMultiInstance
     *
     * @default 'None'
     */
    loop: BpmnLoops;
    /**
     * Sets whether the task is global or not
     *
     * @default false
     */
    call: boolean;
    /**
     * Sets whether the task is triggered as a compensation of another specific activity
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let nodes$: NodeModel[] = [{
     *  id: 'node', width: 100, height: 100, offsetX: 100, offsetY: 100,
     *  shape: {
     *   type: 'Bpmn', shape: 'Activity', activity: {
     *       activity: 'Task',
     *       task: { call: true, compensation: false, type: 'Service', loop: 'ParallelMultiInstance' }
     *   }} as BpmnShapeModel,
     * }];
     * let diagram$: Diagram = new Diagram({
     * ...
     * nodes : nodes,
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @default false
     */
    compensation: boolean;
}
/**
 * Defines the behavior of the bpmn Event shape
 */
export  class BpmnEvent extends base.ChildProperty<BpmnEvent> {
    /**
     * Sets the type of the BPMN Event
     * * Start - Sets the type of the Bpmn Event as Start
     * * Intermediate - Sets the type of the Bpmn Event as Intermediate
     * * End - Sets the type of the Bpmn Event as End
     * * NonInterruptingStart - Sets the type of the Bpmn Event as NonInterruptingStart
     * * NonInterruptingIntermediate - Sets the type of the Bpmn Event as NonInterruptingIntermediate
     * * ThrowingIntermediate - Sets the type of the Bpmn Event as ThrowingIntermediate
     *
     * @default 'Start'
     */
    /**
     *
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let nodes$: NodeModel[] = [{
     *  id: 'node', width: 100, height: 100, offsetX: 100, offsetY: 100,
     *  shape: {
     *  type: 'Bpmn', shape: 'Event',
     *   event: { event: 'Start', trigger: 'None' } } as BpmnShapeModel,
     * }];
     * let diagram$: Diagram = new Diagram({
     * ...
     * nodes : nodes,
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @default 'Start'
     */
    event: BpmnEvents;
    /**
     * Defines the type of the trigger
     * * None - Sets the type of the trigger as None
     * * Message - Sets the type of the trigger as Message
     * * Escalation - Sets the type of the trigger as Escalation
     * * Link - Sets the type of the trigger as Link
     * * Error - Sets the type of the trigger as Error
     * * Compensation - Sets the type of the trigger as Compensation
     * * Signal - Sets the type of the trigger as Signal
     * * Multiple - Sets the type of the trigger as Multiple
     * * Parallel - Sets the type of the trigger as Parallel
     * * Cancel - Sets the type of the trigger as Cancel
     * * Conditional - Sets the type of the trigger as Conditional
     * * Terminate - Sets the type of the trigger as Terminate
     *
     * @default 'None'
     */
    trigger: BpmnTriggers;
    /**
     * Returns the name of class BpmnEvent
     *
     * @private
     */
    getClassName(): string;
}
/**
 * Defines the behavior of the bpmn sub event
 */
export  class BpmnSubEvent extends base.ChildProperty<BpmnSubEvent> {
    /**
     * Defines the type of the trigger
     * * None - Sets the type of the trigger as None
     * * Message - Sets the type of the trigger as Message
     * * Escalation - Sets the type of the trigger as Escalation
     * * Link - Sets the type of the trigger as Link
     * * Error - Sets the type of the trigger as Error
     * * Compensation - Sets the type of the trigger as Compensation
     * * Signal - Sets the type of the trigger as Signal
     * * Multiple - Sets the type of the trigger as Multiple
     * * Parallel - Sets the type of the trigger as Parallel
     * * Cancel - Sets the type of the trigger as Cancel
     * * Conditional - Sets the type of the trigger as Conditional
     * * Terminate - Sets the type of the trigger as Terminate
     *
     * @default 'None'
     */
    trigger: BpmnTriggers;
    /**
     * Sets the type of the BPMN Event
     * * Start - Sets the type of the Bpmn Event as Start
     * * Intermediate - Sets the type of the Bpmn Event as Intermediate
     * * End - Sets the type of the Bpmn Event as End
     * * NonInterruptingStart - Sets the type of the Bpmn Event as NonInterruptingStart
     * * NonInterruptingIntermediate - Sets the type of the Bpmn Event as NonInterruptingIntermediate
     * * ThrowingIntermediate - Sets the type of the Bpmn Event as ThrowingIntermediate
     *
     * @default 'Start'
     */
    event: BpmnEvents;
    /**
     * Sets the id of the BPMN sub event
     *
     * @default ''
     */
    id: string;
    /**
     * Defines the position of the sub event
     *
     * @default new Point(0.5,0.5)
     */
    offset: PointModel;
    /**
     * Defines the collection of textual annotations of the sub events
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    annotations: ShapeAnnotationModel[];
    /**
     * Defines the collection of connection points of the sub events
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    ports: PointPortModel[];
    /**
     * Sets the width of the node
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    width: number;
    /**
     * Sets the height of the node
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    height: number;
    /**
     * Defines the space to be left between the node and its immediate parent
     *
     * @default 0
     */
    margin: MarginModel;
    /**
     * Sets how to horizontally align a node with respect to its immediate parent
     * * Stretch - Stretches the diagram element throughout its immediate parent
     * * Left - Aligns the diagram element at the left of its immediate parent
     * * Right - Aligns the diagram element at the right of its immediate parent
     * * Center - Aligns the diagram element at the center of its immediate parent
     * * Auto - Aligns the diagram element based on the characteristics of its immediate parent
     *
     * @default 'Center'
     */
    horizontalAlignment: HorizontalAlignment;
    /**
     * Sets how to vertically align a node with respect to its immediate parent
     * * Stretch - Stretches the diagram element throughout its immediate parent
     * * Top - Aligns the diagram element at the top of its immediate parent
     * * Bottom - Aligns the diagram element at the bottom of its immediate parent
     * * Center - Aligns the diagram element at the center of its immediate parent
     * * Auto - Aligns the diagram element based on the characteristics of its immediate parent
     *
     * @default 'Center'
     */
    verticalAlignment: VerticalAlignment;
    /**
     * Sets the visibility of the sub event
     *
     * @default true
     */
    visible: boolean;
    /**
     * Returns the name of class BpmnSubEvent
     *
     * @private
     */
    getClassName(): string;
}
/**
 * Defines the behavior of the BpmnTransactionSubProcess
 */
export  class BpmnTransactionSubProcess extends base.ChildProperty<BpmnTransactionSubProcess> {
    /**
     * Defines the size and position of the success port
     */
    success: BpmnSubEventModel;
    /**
     * Defines the size and position of the failure port
     */
    failure: BpmnSubEventModel;
    /**
     * Defines the size and position of the cancel port
     */
    cancel: BpmnSubEventModel;
}
/**
 * Defines the behavior of the BPMNSubProcess
 */
export  class BpmnSubProcess extends base.ChildProperty<BpmnSubProcess> {
    /**
     * Defines the type of the sub process
     * * None - Sets the type of the Sub process as None
     * * Transaction - Sets the type of the Sub process as Transaction
     * * Event - Sets the type of the Sub process as Event
     *
     * @default 'None'
     */
    type: BpmnSubProcessTypes;
    /**
     * Defines whether the sub process is without any prescribed order or not
     *
     * @default false
     */
    adhoc: boolean;
    /**
     * Defines the boundary type of the BPMN process
     * * Default - Sets the type of the boundary as Default
     * * Call - Sets the type of the boundary as Call
     * * Event - Sets the type of the boundary as Event
     *
     * @default 'Default'
     */
    /**
     *
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let nodes$: NodeModel[] = [{
     * id: 'node', width: 100, height: 100, offsetX: 100, offsetY: 100,
     * shape: {
     *               type: 'Bpmn', shape: 'Activity', activity: {
     *                   activity: 'SubProcess',
     *                   subProcess: { adhoc: false, boundary: 'Default', collapsed: true }
     *               },
     *           }
     * }];
     * let diagram$: Diagram = new Diagram({
     * ...
     * nodes : nodes,
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     */
    boundary: BpmnBoundary;
    /**
     * Defines the whether the task is triggered as a compensation of another task
     *
     * @default false
     */
    compensation: boolean;
    /**
     * Defines the  type of the BPMNLoop
     * * None - Sets the type of the Bpmn loop as None
     * * Standard - Sets the type of the Bpmn loop as Standard
     * * ParallelMultiInstance - Sets the type of the Bpmn loop as ParallelMultiInstance
     * * SequenceMultiInstance - Sets the type of the Bpmn loop as SequenceMultiInstance
     *
     * @default 'None'
     */
    loop: BpmnLoops;
    /**
     * Defines the whether the shape is collapsed or not
     *
     * @default true
     */
    collapsed: boolean;
    /**
     * Defines the collection of events of the BPMN sub event
     *
     * @default 'undefined'
     */
    /**
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let node1: NodeModel = {
     *           id: 'node1', width: 190, height: 190, offsetX: 300, offsetY: 200,
     *           shape: {
     *               type: 'Bpmn', shape: 'Activity', activity: {
     *                   activity: 'SubProcess',
     *                   subProcess: {
     *                       type: 'Event', loop: 'ParallelMultiInstance',
     *                       compensation: true, adhoc: false, boundary: 'Event', collapsed: true,
     *                       events: [{
     *                           height: 20, width: 20, offset: { x: 0, y: 0 }, margin: { left: 10, top: 10 },
     *                           horizontalAlignment: 'Left',
     *                           verticalAlignment: 'Top',
     *                           annotations: [{
     *                               id: 'label3', margin: { bottom: 10 },
     *                                horizontalAlignment: 'Center',
     *                               verticalAlignment: 'Top',
     *                               content: 'Event', offset: { x: 0.5, y: 1 },
     *                               style: {
     *                                   color: 'black', fontFamily: 'Fantasy', fontSize: 8
     *                               }
     *                           }],
     *                           event: 'Intermediate', trigger: 'Error'
     *                       }]
     *                   }
     *               }
     *           }
     *       };
     * let diagram$: Diagram = new Diagram({
     * ...
     * nodes : nodes,
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     */
    events: BpmnSubEventModel[];
    /**
     * Defines the transaction sub process
     */
    transaction: BpmnTransactionSubProcessModel;
    /**
     * Defines the transaction sub process
     *
     * @default []
     */
    processes: string[];
}
/**
 * Defines the behavior of the bpmn activity shape
 */
export  class BpmnActivity extends base.ChildProperty<BpmnActivity> {
    /**
     * Defines the type of the activity
     * * None - Sets the type of the Bpmn Activity as None
     * * Task - Sets the type of the Bpmn Activity as Task
     * * SubProcess - Sets the type of the Bpmn Activity as SubProcess
     *
     * @default 'Task'
     */
    activity: BpmnActivities;
    /**
     * Defines the BPMN task
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let nodes$: NodeModel[] = [{
     *  id: 'node', width: 100, height: 100, offsetX: 100, offsetY: 100,
     *     shape: {
     *     type: 'Bpmn', shape: 'Activity', activity: {
     *     activity: 'Task', task: {
     *           type: 'Service'
     *       }
     *   }
     *  },
     * }];
     * let diagram$: Diagram = new Diagram({
     * ...
     * nodes : nodes,
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @default 'new BPMNTask()'
     */
    task: BpmnTaskModel;
    /**
     * Defines the type of the SubProcesses
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let nodes$: NodeModel[] = [{
     *  id: 'node', width: 100, height: 100, offsetX: 100, offsetY: 100,
     *     shape: {
     *     type: 'Bpmn', shape: 'Activity', activity: {
     *     activity: 'SubProcess',
     *     subProcess: { collapsed: true } as BpmnSubProcessModel
     *   }
     *  },
     * }];
     * let diagram$: Diagram = new Diagram({
     * ...
     * nodes : nodes,
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @default 'None'
     */
    subProcess: BpmnSubProcessModel;
    /**
     * Returns the name of class BpmnActivity
     *
     * @private
     */
    getClassName(): string;
}
/**
 * Defines the behavior of the bpmn annotation
 * @deprecated
 */
export  class BpmnAnnotation extends base.ChildProperty<BpmnAnnotation> {
    constructor(parent: any, propName: string, defaultValue: Object, isArray?: boolean);
    /**
     * Sets the text to annotate the bpmn shape
     * @deprecated
     * @default ''
     */
    text: string;
    /**
     * Sets the id of the BPMN sub event
     * @deprecated
     * @default ''
     */
    id: string;
    /**
     * Sets the angle between the bpmn shape and the annotation
     * @deprecated
     * @aspDefaultValueIgnore
     * @default undefined
     */
    angle: number;
    /**
     * Sets the height of the text
     * @deprecated
     * @aspDefaultValueIgnore
     * @default undefined
     */
    height: number;
    /**
     * Sets the width of the text
     * @deprecated
     * @aspDefaultValueIgnore
     * @default undefined
     */
    width: number;
    /**
     * Sets the distance between the bpmn shape and the annotation
     * @deprecated
     * @aspDefaultValueIgnore
     * @default undefined
     */
    length: number;
    /** @private */
    nodeId: string;
    /**
     * @private
     * Returns the name of class BpmnAnnotation
     */
    getClassName(): string;
}
export  class BpmnTextAnnotation extends base.ChildProperty<BpmnTextAnnotation> {
    /**
     * Sets the parent node of bpmn text annotation
     *
     * @aspDefaultValueIgnore
     * @default ''
     */
    textAnnotationTarget: string;
    /**
     * To set the direction in which the text annotation path to be rendered
     *
     * @aspDefaultValueIgnore
     * @default Auto
     */
    textAnnotationDirection: TextAnnotationDirection;
}
/**
 * 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
     * @deprecated
     * @default 'None'
     */
    annotation: BpmnAnnotationModel;
    /**
     * Defines the text of the bpmn annotation collection
     * @deprecated
     * @default 'None'
     */
    annotations: BpmnAnnotationModel[];
    /**
     * Defines the type of the BPMN Text annotation shape
     *
     * @default 'None'
     */
    textAnnotation: BpmnTextAnnotationModel;
    /**
     * Returns the name of class BpmnShape
     *
     * @private
     */
    getClassName(): string;
}
/**
 * Defines the behavior of the UMLActivity shape
 */
export  class UmlActivityShape extends Shape {
    /**
     * Defines the type of node shape
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let shape: UmlActivityShapeModel = { type: 'UMLActivity', shape: 'Action' };
     * let nodes$: NodeModel[] = [{
     * id: 'node', width: 100, height: 100, offsetX: 100, offsetY: 100, shape: shape
     * }];
     * let diagram$: Diagram = new Diagram({
     * ...
     * nodes : nodes,
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @default 'Basic'
     */
    type: Shapes;
    /**
     * Defines the type of the UMLActivity shape
     * * Action - Sets the type of the UMLActivity Shape as Action
     * * Decision - Sets the type of the UMLActivity Shape as Decision
     * * MergeNode - Sets the type of the UMLActivity Shape as MergeNode
     * * InitialNode - Sets the type of the UMLActivity Shape as InitialNode
     * * FinalNode - Sets the type of the UMLActivity Shape as FinalNode
     * * ForkNode - Sets the type of the UMLActivity Shape as ForkNode
     * * JoinNode - Sets the type of the UMLActivity Shape as JoinNode
     * * TimeEvent - Sets the type of the UMLActivity Shape as TimeEvent
     * * AcceptingEvent - Sets the type of the UMLActivity Shape as AcceptingEvent
     * * SendSignal - Sets the type of the UMLActivity Shape as SendSignal
     * * ReceiveSignal - Sets the type of the UMLActivity Shape as ReceiveSignal
     * * StructuredNode - Sets the type of the UMLActivity Shape as StructuredNode
     * * Note - Sets the type of the UMLActivity Shape as Note
     *
     * @default 'Action'
     * @IgnoreSingular
     */
    shape: UmlActivityShapes;
    /**
     * Returns the name of class UmlActivityShape
     *
     * @private
     */
    getClassName(): string;
}
/**
 * Defines the behavior of the uml class method
 */
export  class MethodArguments extends base.ChildProperty<MethodArguments> {
    /**
     * Defines the name of the attributes
     *
     * @default ''
     * @IgnoreSingular
     */
    name: string;
    /**
     * Defines the type of the attributes
     *
     * @default ''
     * @IgnoreSingular
     */
    type: string;
    /**
     * Sets the shape style of the node
     *
     * @default new ShapeStyle()
     * @aspType object
     */
    style: ShapeStyleModel | TextStyleModel;
    /**
     * Returns the name of class MethodArguments
     *
     * @private
     */
    getClassName(): string;
}
/**
 * Defines the behavior of the uml class attributes
 */
export  class UmlClassAttribute extends MethodArguments {
    /**
     * Defines the type of the attributes
     *
     * @default 'Public'
     * @IgnoreSingular
     */
    scope: UmlScope;
    /**
     * Defines the separator of the attributes
     *
     * @default false
     * @IgnoreSingular
     */
    isSeparator: boolean;
    /**
     * Specify the style attributes such as strokeWidth, strokeColor, and fill for the separator.
     *
     * @default new ShapeStyle()
     * @aspType object
     */
    separatorStyle: ShapeStyleModel;
    /**
     * Returns the name of class UmlClassAttribute
     *
     * @private
     */
    getClassName(): string;
}
/**
 * Defines the behavior of the uml class method
 */
export  class UmlClassMethod extends UmlClassAttribute {
    /**
     * Defines the type of the arguments
     *
     * @default ''
     * @IgnoreSingular
     */
    parameters: MethodArgumentsModel[];
    /**
     * Returns the name of class UmlClassMethod
     *
     * @private
     */
    getClassName(): string;
}
/**
 * Defines the behavior of the uml class shapes
 */
export  class UmlClass extends base.ChildProperty<UmlClass> {
    /**
     * Defines the name of the attributes
     *
     * @default ''
     * @IgnoreSingular
     */
    name: string;
    /**
     * Defines the text of the bpmn annotation collection
     *
     * @default 'None'
     */
    attributes: UmlClassAttributeModel[];
    /**
     * Defines the text of the bpmn annotation collection
     *
     * @default 'None'
     */
    methods: UmlClassMethodModel[];
    /**
     * Sets the shape style of the node
     *
     * @default new ShapeStyle()
     * @aspType object
     */
    style: TextStyleModel;
    /**
     * Returns the name of class UmlClass
     *
     * @private
     */
    getClassName(): string;
}
/**
 * Defines the behavior of the uml interface shapes
 */
export  class UmlInterface extends UmlClass {
    /**
     * Defines the separator of the attributes
     *
     * @default false
     * @IgnoreSingular
     */
    isSeparator: boolean;
    /**
     * Specify the style attributes such as strokeWidth, strokeColor, and fill for the separator.
     *
     * @default new ShapeStyle()
     * @aspType object
     */
    separatorStyle: ShapeStyleModel;
    /**
     * Returns the name of class UmlInterface
     *
     * @private
     */
    getClassName(): string;
}
/**
 * Defines the behavior of the uml interface shapes
 */
export  class UmlEnumerationMember extends base.ChildProperty<UmlEnumerationMember> {
    /**
     * Defines the value of the member
     *
     * @default ''
     * @IgnoreSingular
     */
    name: string;
    /**
     * Defines the value of the member
     *
     * @default ''
     * @IgnoreSingular
     */
    value: string;
    /**
     * Defines the separator of the attributes
     *
     * @default false
     * @IgnoreSingular
     */
    isSeparator: boolean;
    /**
     * Specify the style attributes such as strokeWidth, strokeColor, and fill for the separator.
     *
     * @default new ShapeStyle()
     * @aspType object
     */
    separatorStyle: ShapeStyleModel;
    /**
     * Sets the shape style of the node
     *
     * @default new ShapeStyle()
     * @aspType object
     */
    style: ShapeStyleModel | TextStyleModel;
    /**
     * Returns the name of class UmlEnumerationMember
     *
     * @private
     */
    getClassName(): string;
}
/**
 * Defines the behavior of the uml interface shapes
 */
export  class UmlEnumeration extends base.ChildProperty<UmlEnumeration> {
    /**
     * Defines the name of the attributes
     *
     * @default ''
     * @IgnoreSingular
     */
    name: string;
    /**
     * Defines the text of the bpmn annotation collection
     *
     * @default 'None'
     */
    members: UmlEnumerationMemberModel[];
    /**
     * Sets the shape style of the node
     *
     * @default new ShapeStyle()
     * @aspType object
     */
    style: ShapeStyleModel | TextStyleModel;
    /**
     * Returns the name of class UmlEnumeration
     *
     * @private
     */
    getClassName(): string;
}
/**
 * Defines the behavior of the UMLActivity shape
 */
export  class UmlClassifierShape extends Shape {
    /**
     * Defines the type of node shape
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let shape: UmlActivityShapeModel = { type: 'UMLActivity', shape: 'Action' };
     * let nodes$: NodeModel[] = [{
     * id: 'node', width: 100, height: 100, offsetX: 100, offsetY: 100, shape: shape
     * }];
     * let diagram$: Diagram = new Diagram({
     * ...
     * nodes : nodes,
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @default 'Basic'
     */
    type: Shapes;
    /**
     * Defines the text of the bpmn annotation collection
     *
     * @default 'None'
     */
    classShape: UmlClassModel;
    /**
     * Defines the text of the bpmn annotation collection
     *
     * @default 'None'
     */
    interfaceShape: UmlInterfaceModel;
    /**
     * Defines the text of the bpmn annotation collection
     *
     * @default 'None'
     */
    enumerationShape: UmlEnumerationModel;
    /**
     * Defines the type of classifier
     *
     * @default 'Class'
     * @IgnoreSingular
     */
    classifier: ClassifierShape;
    /**
     * Returns the name of class UmlClassifierShape
     *
     * @private
     */
    getClassName(): string;
}
/**
 * Defines the behavior of the UMLActivity shape
 */
export  class DiagramShape extends base.ChildProperty<DiagramShape> {
    /**
     * Defines the type of node shape
     *
     */
    type: Shapes;
    /**
     * Defines the type of the basic shape
     *
     */
    basicShape: BasicShapes;
    /**
     * Defines the type of the flow shape
     */
    flowShape: FlowShapes;
    /**
     * Defines the type of the BPMN shape
     * * Event - Sets the type of the Bpmn Shape as Event
     * * Gateway - Sets the type of the Bpmn Shape as Gateway
     * * Message - Sets the type of the Bpmn Shape as Message
     * * DataObject - Sets the type of the Bpmn Shape as DataObject
     * * DataSource - Sets the type of the Bpmn Shape as DataSource
     * * Activity - Sets the type of the Bpmn Shape as Activity
     * * Group - Sets the type of the Bpmn Shape as Group
     * * TextAnnotation - Represents the shape as Text Annotation
     *
     * @default 'Event'
     */
    /**
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let nodes$: NodeModel[] = [{
     *  id: 'node', width: 100, height: 100, offsetX: 100, offsetY: 100,
     *  shape: {
     *   type: 'Bpmn', shape: 'Gateway',
     *   gateway: { type: 'EventBased' } as BpmnGatewayModel
     *         } as BpmnShapeModel,
     * }];
     * let diagram$: Diagram = new Diagram({
     * ...
     * nodes : nodes,
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @default 'Event'
     */
    bpmnShape: BpmnShapes;
    /**
     * Defines the type of the UMLActivity shape
     * * Action - Sets the type of the UMLActivity Shape as Action
     * * Decision - Sets the type of the UMLActivity Shape as Decision
     * * MergeNode - Sets the type of the UMLActivity Shape as MergeNode
     * * InitialNode - Sets the type of the UMLActivity Shape as InitialNode
     * * FinalNode - Sets the type of the UMLActivity Shape as FinalNode
     * * ForkNode - Sets the type of the UMLActivity Shape as ForkNode
     * * JoinNode - Sets the type of the UMLActivity Shape as JoinNode
     * * TimeEvent - Sets the type of the UMLActivity Shape as TimeEvent
     * * AcceptingEvent - Sets the type of the UMLActivity Shape as AcceptingEvent
     * * SendSignal - Sets the type of the UMLActivity Shape as SendSignal
     * * ReceiveSignal - Sets the type of the UMLActivity Shape as ReceiveSignal
     * * StructuredNode - Sets the type of the UMLActivity Shape as StructuredNode
     * * Note - Sets the type of the UMLActivity Shape as Note
     *
     * @default 'Action'
     * @IgnoreSingular
     */
    umlActivityShape: UmlActivityShapes;
    /**
     * Defines the geometry of a path
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let nodes$: NodeModel[] = [{
     * id: 'node1', width: 100, height: 100, offsetX: 300, offsetY: 100,
     *   shape: { type: 'Path', data: 'M540.3643,137.9336L546.7973,159.7016L570.3633,159.7296'+
     *   'L550.7723,171.9366L558.9053,194.9966L540.3643,179.4996L521.8223,194.9966L529.9553,171.9366'+
     *   'L510.3633,159.7296L533.9313,159.7016L540.3643,137.9336z' }
     * }];
     * let diagram$: Diagram = new Diagram({
     * ...
     * nodes: nodes
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @default ''
     */
    data: string;
    /**
     * Defines the geometry of a native element.
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let nodes$: NodeModel[] = [{
     * id: 'node1', width: 100, height: 100,
     * shape: { scale: 'Stretch',
     *   type: 'Native', content: '<g><path d='M90,43.841c0,24.213-19.779,43.841-44.182,43.841c-7.747,0-15.025-1.98-21.357-5.455'+
     * 'L0,90l7.975-23.522' +
     * 'c-4.023-6.606-6.34-14.354-6.34-22.637C1.635,19.628,21.416,0,45.818,0C70.223,0,90,19.628,90,43.841z M45.818,6.982' +
     * 'c-20.484,0-37.146,16.535-37.146,36.859c0,8.065,2.629,15.534,7.076,21.61L11.107,79.14l14.275-4.537' +
     * 'c5.865,3.851,12.891,6.097,20.437,6.097c20.481,0,37.146-16.533,37.146-36.857S66.301,6.982,45.818,6.982z M68.129,53.938' +
     * 'c-0.273-0.447-0.994-0.717-2.076-1.254c-1.084-0.537-6.41-3.138-7.4-3.495c-0.993-0.358-1.717-0.538-2.438,0.537' +
     * 'c-0.721,1.076-2.797,3.495-3.43,4.212c-0.632,0.719-1.263,0.809-2.347,0.271c-1.082-0.537-4.571-1.673-8.708-5.333' +
     * 'c-3.219-2.848-5.393-6.364-6.025-7.441c-0.631-1.075-0.066-1.656,0.475-2.191c0.488-0.482,1.084-1.255,1.625-1.882' +
     * 'c0.543-0.628,0.723-1.075,1.082-1.793c0.363-0.717,0.182-1.344-0.09-1.883c-0.27-0.537-2.438-5.825-3.34-7.977' +
     * 'c-0.902-2.15-1.803-1.792-2.436-1.792c-0.631,0-1.354-0.09-2.076-0.09c-0.722,0-1.896,0.269-2.889,1.344' +
     * 'c-0.992,1.076-3.789,3.676-3.789,8.963c0,5.288,3.879,10.397,4.422,11.113c0.541,0.716,7.49,11.92,18.5,16.223' +
     * 'C58.2,65.771,58.2,64.336,60.186,64.156c1.984-0.179,6.406-2.599,7.312-5.107C68.398,56.537,68.398,54.386,68.129,53.938z'>'+
     * '</path></g>',
     *        }
     * }];
     * let diagram$: Diagram = new Diagram({
     * ...
     * nodes: nodes
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @default ''
     */
    content: SVGElement | HTMLElement;
    /**
     * Defines the text of the text element
     */
    textContent: string;
    /**
     * Defines the scale of the native element.
     * * None - Sets the stretch type for diagram as None
     * * Stretch - Sets the stretch type for diagram as Stretch
     * * Meet - Sets the stretch type for diagram as Meet
     * * Slice - Sets the stretch type for diagram as Slice
     *
     * @default 'Stretch'
     */
    scale: Stretch;
    /**
     * Defines the source of the image
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let nodes$: NodeModel[] = [{
     * id: 'node1', width: 100, height: 100, offsetX: 300, offsetY: 100,
     * shape: { type: 'Image', source: 'https://www.w3schools.com/images/w3schools_green.jpg' }
     * }];
     * let diagram$: Diagram = new Diagram({
     * ...
     * nodes: nodes
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @default ''
     */
    source: string;
    /**
     * Defines the alignment of the image within the node boundary.
     * * None - Alignment value will be set as none
     * * XMinYMin - smallest X value of the view port and  smallest Y value of the view port
     * * XMidYMin - midpoint X value of the view port and  smallest Y value of the view port
     * * XMaxYMin - maximum X value of the view port and  smallest Y value of the view port
     * * XMinYMid - smallest X value of the view port and midpoint Y value of the view port
     * * XMidYMid - midpoint X value of the view port and midpoint Y value of the view port
     * * XMaxYMid - maximum X value of the view port and midpoint Y value of the view port
     * * XMinYMax - smallest X value of the view port and maximum Y value of the view port
     * * XMidYMax - midpoint X value of the view port and maximum Y value of the view port
     * * XMaxYMax - maximum X value of the view port and maximum Y value of the view port
     *
     * @default 'None'
     */
    align: ImageAlignment;
    /**
     * Defines the space to be let between the node and its immediate parent
     *
     * @default 0
     */
    margin: MarginModel;
    /**
     * Sets the corner of the node
     *
     * @default 0
     */
    cornerRadius: number;
    /**
     * Defines the collection of points to draw a polygon
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    points: PointModel[];
    /**
     * Defines the type of the BPMN DataObject shape
     *
     * @default 'None'
     */
    dataObject: BpmnDataObjectModel;
    /**
     * Defines the type of the BPMN Event shape
     *
     * @default 'None'
     */
    event: BpmnEventModel;
    /**
     * Defines the type of the BPMN Gateway shape
     *
     * @default 'None'
     */
    gateway: BpmnGatewayModel;
    /**
     * Defines the text of the bpmn annotation collection
     *
     * @default 'None'
     */
    annotations: BpmnAnnotationModel[];
    /**
     * Defines the type of the BPMN Activity shape
     *
     * @default 'None'
     */
    activity: BpmnActivityModel;
    /**
     * Defines the text of the bpmn annotation
     *
     * @default 'None'
     */
    annotation: BpmnAnnotationModel;
    /**
     * Defines the text of the bpmn annotation collection
     *
     * @default 'None'
     */
    enumerationShape: UmlEnumerationModel;
    /**
     * Defines the type of classifier
     *
     * @default 'Class'
     * @IgnoreSingular
     */
    classifier: ClassifierShape;
    /**
     * Defines the text of the bpmn annotation collection
     *
     * @default 'None'
     */
    classShape: UmlClassModel;
    /**
     * Defines the text of the bpmn annotation collection
     *
     * @default 'None'
     */
    interfaceShape: UmlInterfaceModel;
    /**
     * Returns the name of class UmlClassifierShape
     *
     * @private
     */
    getClassName(): string;
}
/**
 * Defines the behavior of nodes
 */
export  class Node extends NodeBase implements IElement {
    /**
     * Defines the collection of textual annotations of nodes/connectors
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    annotations: ShapeAnnotationModel[];
    /**
     * Sets the x-coordinate of the position of the node
     *
     * @default 0
     */
    offsetX: number;
    /**
     * Sets the layout properties using node property
     *
     * @default new NodeLayoutInfo()
     * @aspType object
     */
    layoutInfo: LayoutInfo;
    /**
     * Sets the y-coordinate of the position of the node
     *
     * @default 0
     */
    offsetY: number;
    /**
     * Defines the collection of connection points of nodes/connectors
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    ports: PointPortModel[];
    /**
     * Defines whether the node is expanded or not
     *
     * @default true
     */
    isExpanded: boolean;
    /**
     * Specifies the collection of the fixed user handle
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    fixedUserHandles: NodeFixedUserHandleModel[];
    /**
     * Defines the expanded state of a node
     *
     * @default {}
     */
    expandIcon: IconShapeModel;
    /**
     * Defines the collapsed state of a node
     *
     * @default {}
     */
    collapseIcon: IconShapeModel;
    /**
     * Sets the reference point, that will act as the offset values(offsetX, offsetY) of a node
     *
     * @default new Point(0.5,0.5)
     */
    pivot: PointModel;
    /**
     * Sets the width of the node
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    width: number;
    /**
     * Sets the height of the node
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    height: number;
    /**
     * Sets the minimum width of the node
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    minWidth: number;
    /**
     * Sets the minimum height of the node
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    minHeight: number;
    /**
     * Sets the maximum width of the node
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    maxWidth: number;
    /**
     * Sets the maximum height of the node
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    maxHeight: number;
    /**
     * Sets the rotate angle of the node
     *
     * @default 0
     */
    rotateAngle: number;
    /**
     * Sets the shape style of the node
     *
     * @default new ShapeStyle()
     * @aspType object
     */
    style: ShapeStyleModel | TextStyleModel;
    /**
     * Sets the background color of the shape
     *
     * @default 'transparent'
     */
    backgroundColor: string;
    /**
     * Sets the border color of the node
     *
     * @deprecated
     * @default 'none'
     */
    borderColor: string;
    /**
     * Sets the border width of the node
     *
     * @deprecated
     * @default 0
     */
    borderWidth: number;
    /**
     * Sets the data source of the node
     */
    data: Object;
    /**
     * Defines the shape of a node
     *
     * @default Basic Shape
     * @aspType object
     */
    shape: ShapeModel | FlowShapeModel | BasicShapeModel | ImageModel | PathModel | TextModel | BpmnShapeModel | NativeModel | HtmlModel | UmlActivityShapeModel | UmlClassifierShapeModel | SwimLaneModel | DiagramShapeModel;
    /**
     * Defines the size of the symbol preview
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    previewSize: SymbolSizeModel;
    /**
     * Defines the size of a drop symbol
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    dragSize: SymbolSizeModel;
    /**
     * Sets or gets the UI of a node
     *
     * @default null
     * @deprecated
     */
    wrapper: Container;
    /**
     * Enables/Disables certain features of nodes
     * * None - Disable all node Constraints
     * * Select - Enables node to be selected
     * * Drag - Enables node to be Dragged
     * * Rotate - Enables node to be Rotate
     * * Shadow - Enables node to display shadow
     * * PointerEvents - Enables node to provide pointer  option
     * * Delete - Enables node to delete
     * * InConnect - Enables node to provide in connect option
     * * OutConnect - Enables node to provide out connect option
     * * Individual - Enables node to provide individual resize option
     * * Expandable - Enables node to provide Expandable option
     * * AllowDrop - Enables node to provide allow to drop option
     * * Inherit - Enables node to inherit the interaction option
     * * ResizeNorthEast - Enable ResizeNorthEast of the node
     * * ResizeEast - Enable ResizeEast of the node
     * * ResizeSouthEast - Enable ResizeSouthEast of the node
     * * ResizeSouth - Enable ResizeSouthWest of the node
     * * ResizeSouthWest - Enable ResizeSouthWest of the node
     * * ResizeSouth - Enable ResizeSouth of the node
     * * ResizeSouthWest - Enable ResizeSouthWest of the node
     * * ResizeWest - Enable ResizeWest of the node
     * * ResizeNorth - Enable ResizeNorth of the node
     * * Resize - Enables the Aspect ratio fo the node
     * * AspectRatio - Enables the Aspect ratio fo the node
     * * Tooltip - Enables or disables tool tip for the Nodes
     * * InheritTooltip - Enables or disables tool tip for the Nodes
     * * ReadOnly - Enables the  ReadOnly support for Annotation
     *
     * @default 'Default'
     * @aspNumberEnum
     */
    constraints: NodeConstraints;
    /**
     * Defines the shadow of a shape/path
     *
     * @default null
     */
    shadow: ShadowModel;
    /**
     * Defines the children of group element
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    children: string[];
    /**
     * Defines the space between the group node edges and its children
     *
     * @aspDefaultValueIgnore
     * @default 0
     */
    padding: MarginModel;
    /**
     * Defines the type of the container
     *
     * @aspDefaultValueIgnore
     * @default null
     * @deprecated
     */
    container: ChildContainerModel;
    /**
     * Sets the horizontalAlignment of the node
     *
     * @default 'Stretch'
     */
    horizontalAlignment: HorizontalAlignment;
    /**
     * Sets the verticalAlignment of the node
     *
     * @default 'Stretch'
     */
    verticalAlignment: VerticalAlignment;
    /**
     * Used to define the rows for the grid container
     *
     * @aspDefaultValueIgnore
     * @deprecated
     * @default undefined
     */
    rows: RowDefinition[];
    /**
     * Used to define the column for the grid container
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    columns: ColumnDefinition[];
    /**
     * Used to define a index of row in the grid
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    rowIndex: number;
    /**
     * Used to define a index of column in the grid
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    columnIndex: number;
    /**
     * Merge the row use the property in the grid container
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    rowSpan: number;
    /**
     * Merge the column use the property in the grid container
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    columnSpan: number;
    /**
     * Set the branch for the mind map
     *
     * @aspDefaultValueIgnore
     * @default ''
     */
    branch: BranchTypes;
    /** @private */
    oldGradientValue: Object;
    /** @private */
    isCanvasUpdate: boolean;
    /** @private */
    status: Status;
    /** @private */
    parentId: string;
    /** @private */
    processId: string;
    /** @private */
    umlIndex: number;
    /** @private */
    outEdges: string[];
    /** @private */
    inEdges: string[];
    /** @private */
    isHeader: boolean;
    /** @private */
    isLane: boolean;
    /** @private */
    isPhase: boolean;
    /** @private */
    laneGrids: string[];
    /** @private */
    readonly actualSize: Size;
    constructor(parent: any, propName: string, defaultValue: Object, isArray?: boolean);
    /**
     * Allows to initialize the UI of a node
     */
    /** @private */
    init(diagram: any): DiagramElement;
    /** @private */
    initContainer(): Container;
    /** @private */
    initPorts(accessibilityContent: Function | string, container: Container): void;
    /** @private */
    initPort(accessibilityContent: Function | string, container: Container, port: Port): void;
    private getIconOffet;
    /** @private */
    initIcons(accessibilityContent: Function | string, layout: LayoutModel, container: Container, diagramId: string): void;
    /** @private */
    initFixedUserHandles(fixedUserHandle: NodeFixedUserHandleModel | NodeFixedUserHandle, fixedUserHandleTemplate: string | Function, diagramId: string): DiagramElement;
    private getfixedUserHandleOffet;
    /** @private */
    initAnnotations(accessibilityContent: Function | string, container: Container, diagramId: string, virtualize?: boolean, annotationTemplate?: string | Function): void;
    /** @private */
    initPortWrapper(ports: Port, Node?: NodeModel): DiagramElement;
    /** @private */
    initAnnotationWrapper(annotation: Annotation, diagramId?: string, virtualize?: boolean, value?: number, annotationTemplate?: string | Function): DiagramElement;
    private initIconContainer;
    private initIconSymbol;
    /**
     * @private
     *
     * Returns the name of class Node
     */
    getClassName(): string;
}
/**
 * Defines the behavior of header in swimLane
 */
export  class Header extends base.ChildProperty<Shape> {
    /**
     * Sets the id of the header
     *
     * @default ''
     */
    id: string;
    /**
     * Sets the content of the header
     *
     * @default ''
     */
    annotation: ShapeAnnotationModel;
    /**
     * Sets the style of the header
     *
     * @default ''
     */
    style: TextStyleModel;
    /**
     * Sets the height of the header
     *
     * @default 50
     */
    height: number;
    /**
     * Sets the width of the header
     *
     * @default 50
     */
    width: number;
}
/**
 * Defines the behavior of lane in swimLane
 */
export  class Lane extends base.ChildProperty<Shape> {
    /**
     * Sets the id of the lane
     *
     * @default ''
     */
    id: string;
    /**
     * Sets style of the lane
     *
     * @default ''
     */
    style: ShapeStyleModel;
    /**
     * Defines the collection of child nodes
     *
     * @default []
     */
    children: NodeModel[];
    /**
     * Defines the height of the lane
     *
     * @default 100
     */
    height: number;
    /**
     * Defines the height of the lane
     *
     * @default 100
     */
    width: number;
    /**
     * Defines the collection of header in the lane.
     *
     * @default new Header()
     */
    header: HeaderModel;
    /**
     * Defines when the lane to be interchanged or not
     *
     * @default true
     */
    canMove: boolean;
    /**
     * Allows the user to save custom information about lanes. Example: addInfo: {'lane': 'lane 1 info' }
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    addInfo: Object;
    /**
     * Returns the name of class Lane
     *
     * @private
     */
    getClassName(): string;
}
/**
 * Defines the behavior of phase in swimLane
 */
export  class Phase extends base.ChildProperty<Shape> {
    /**
     * Sets the id of the phase
     *
     * @default ''
     */
    id: string;
    /**
     * Sets the style of the phase
     *
     * @default ''
     */
    style: ShapeStyleModel;
    /**
     * Sets the header collection of the phase
     *
     * @default  new Header()
     */
    header: HeaderModel;
    /**
     * Sets the offset of the phase
     *
     * @default 100
     */
    offset: number;
    /**
     * Allows the user to save custom information about phases. Example: addInfo: {'phase': 'phase 1 info' }
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    addInfo: Object;
    /**
     * Returns the name of class Phase
     *
     * @private
     */
    getClassName(): string;
}
/**
 * Defines the behavior of swimLane shape
 */
export  class SwimLane extends Shape {
    /**
     * Defines the type of node shape.
     *
     * @default 'Basic'
     */
    type: Shapes;
    /**
     * Defines the size of phase.
     *
     * @default 20
     */
    phaseSize: number;
    /**
     * Defines the collection of phases.
     *
     * @default 'undefined'
     */
    phases: PhaseModel[];
    /**
     * Defines the orientation of the swimLane
     *
     * @default 'Horizontal'
     */
    orientation: Orientation;
    /**
     * Defines the collection of lanes
     *
     * @default 'undefined'
     */
    lanes: LaneModel[];
    /**
     * Defines the collection of header
     *
     * @default 'undefined'
     */
    header: HeaderModel;
    /**
     * Defines the whether the shape is a lane or not
     *
     * @default false
     */
    isLane: boolean;
    /**
     * Defines the whether the shape is a phase or not
     *
     * @default false
     */
    isPhase: boolean;
    /**
     * Defines space between children and lane
     *
     * @private
     *
     */
    padding: number;
    /**
     * Defines header by user or not
     *
     * @private
     *
     */
    hasHeader: boolean;
    /**
     * Returns the name of class Phase
     *
     * @private
     */
    getClassName(): string;
}
/**
 * Defines the behavior of container
 */
export  class ChildContainer {
    /**
     * Defines the type of the container
     *
     * @aspDefaultValueIgnore
     * @default Canvas
     */
    type: ContainerTypes;
    /**
     * Defines the type of the swimLane orientation.
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    orientation: Orientation;
    /**
     * Returns the name of class ChildContainer
     *
     * @private
     */
    getClassName(): string;
}
/**
 * Defines the size and position of selected items and defines the appearance of selector
 */
export  class Selector extends base.ChildProperty<Selector> implements IElement {
    /**
     * Defines the size and position of the container
     *
     * @default null
     */
    wrapper: Container;
    /**
     * Defines the size of the resize handler
     *
     * @default 14
     */
    handleSize: number;
    /**
     * Defines the collection of selected nodes
     *
     */
    nodes: NodeModel[];
    /**
     * Defines the collection of selected connectors
     *
     */
    connectors: ConnectorModel[];
    /**
     * @private
     */
    annotation: ShapeAnnotationModel | PathAnnotationModel;
    /**
     * Sets/Gets the width of the container
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    width: number;
    /**
     * Sets/Gets the height of the container
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    height: number;
    /**
     * Sets the rotate angle of the container
     *
     * @default 0
     */
    rotateAngle: number;
    /**
     * Sets the positionX of the container
     *
     * @default 0
     */
    offsetX: number;
    /**
     * Sets the positionY of the container
     *
     * @default 0
     */
    offsetY: number;
    /**
     * Sets the pivot of the selector
     *
     * @default { x: 0.5, y: 0.5 }
     */
    pivot: PointModel;
    /**
     * Defines how to pick the objects to be selected using rubber band selection
     * * CompleteIntersect - Selects the objects that are contained within the selected region
     * * PartialIntersect - Selects the objects that are partially intersected with the selected region
     *
     * @default 'CompleteIntersect'
     */
    rubberBandSelectionMode: RubberBandSelectionMode;
    /**
     * Defines the collection of user handle
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let nodes$: NodeModel[] = [{
     *           id: 'node1', width: 100, height: 100, offsetX: 100, offsetY: 100,
     *           annotations: [{ content: 'Default Shape' }]
     *       },
     *       {
     *           id: 'node2', width: 100, height: 100, offsetX: 300, offsetY: 100,
     *           shape: {
     *               type: 'Basic', shape: 'Ellipse'
     *           },
     *           annotations: [{ content: 'Path Element' }]
     *       }
     *       ];
     *       let connectors$: ConnectorModel[] = [{
     *           id: 'connector1',
     *           type: 'Straight',
     *           sourcePoint: { x: 100, y: 300 },
     *           targetPoint: { x: 200, y: 400 },
     *       }];
     * let handle$: UserHandleModel[] = [
     * { name: 'handle', margin: { top: 0, bottom: 0, left: 0, right: 0 }, offset: 0,
     * pathData: 'M 376.892,225.284L 371.279,211.95L 376.892,198.617L 350.225,211.95L 376.892,225.284 Z',
     * side: 'Top', horizontalAlignment: 'Center', verticalAlignment: 'Center',
     * pathColor: 'yellow' }];
     * let diagram$: Diagram = new Diagram({
     * ...
     *     connectors: connectors, nodes: nodes,
     *     selectedItems: { constraints: SelectorConstraints.All, userHandles: handle },
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @default []
     */
    userHandles: UserHandleModel[];
    /**
     * Controls the visibility of selector.
     * * None - Hides all the selector elements
     * * ConnectorSourceThumb - Shows/hides the source thumb of the connector
     * * ConnectorTargetThumb - Shows/hides the target thumb of the connector
     * * ResizeSouthEast - Shows/hides the bottom right resize handle of the selector
     * * ResizeSouthWest - Shows/hides the bottom left resize handle of the selector
     * * ResizeNorthEast - Shows/hides the top right resize handle of the selector
     * * ResizeNorthWest - Shows/hides the top left resize handle of the selector
     * * ResizeEast - Shows/hides the middle right resize handle of the selector
     * * ResizeWest - Shows/hides the middle left resize handle of the selector
     * * ResizeSouth - Shows/hides the bottom center resize handle of the selector
     * * ResizeNorth - Shows/hides the top center resize handle of the selector
     * * Rotate - Shows/hides the rotate handle of the selector
     * * UserHandles - Shows/hides the user handles of the selector
     * * Resize - Shows/hides all resize handles of the selector
     *
     * @default 'All'
     * @aspNumberEnum
     */
    constraints: SelectorConstraints;
    /**
     * set the constraint of the container
     * * Rotate - Enable Rotate Thumb
     * * ConnectorSource - Enable Connector source point
     * * ConnectorTarget - Enable Connector target point
     * * ResizeNorthEast - Enable ResizeNorthEast Resize
     * * ResizeEast - Enable ResizeEast Resize
     * * ResizeSouthEast - Enable ResizeSouthEast Resize
     * * ResizeSouth - Enable ResizeSouth Resize
     * * ResizeSouthWest - Enable ResizeSouthWest Resize
     * * ResizeWest - Enable ResizeWest Resize
     * * ResizeNorthWest - Enable ResizeNorthWest Resize
     * * ResizeNorth - Enable ResizeNorth Resize
     *
     * @private
     * @aspNumberEnum
     */
    thumbsConstraints: ThumbsConstraints;
    /**
     * setTooltipTemplate helps to customize the content of a tooltip
     *
     * @aspDefaultValueIgnore
     * @default undefined
     * @deprecated
     */
    setTooltipTemplate: Function | string;
    /**
     * Defines the collection of selected nodes and connectors
     * @default []
     */
    selectedObjects: (NodeModel | ConnectorModel)[];
    /**
     * Initializes the UI of the container
     */
    init(diagram: Diagram): Container;
    /**
     * Specifies whether the selection state of the diagram element should be toggled based on a mouse click at runtime.
     * The default value is false.
     *
     * @default false
     */
    canToggleSelection: boolean;
}
//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 | Function;
}
/**
 * Interface for a class Image
 */
export interface ImageModel extends ShapeModel{
    /**
     * Defines the type of node shape
     *
     * @default 'Basic'
     */
    type?: Shapes;
    /**
     * Defines the source of the image
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let nodes$: NodeModel[] = [{
     * id: 'node1', width: 100, height: 100, offsetX: 300, offsetY: 100,
     * shape: { type: 'Image', source: 'https://www.w3schools.com/images/w3schools_green.jpg' }
     * }];
     * let diagram$: Diagram = new Diagram({
     * ...
     * nodes: nodes
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @default ''
     */
    source?: string;
    /**
     * Allows to stretch the image as you desired (either to maintain proportion or to stretch)
     * * None - Scale value will be set as None for the image
     * * Meet - Scale value Meet will be set for the image
     * * Slice - Scale value Slice will be set for the image
     *
     * @default 'None'
     */
    scale?: Scale;
    /**
     * Defines the alignment of the image within the node boundary.
     * * None - Alignment value will be set as none
     * * XMinYMin - smallest X value of the view port and  smallest Y value of the view port
     * * XMidYMin - midpoint X value of the view port and  smallest Y value of the view port
     * * XMaxYMin - maximum X value of the view port and  smallest Y value of the view port
     * * XMinYMid - smallest X value of the view port and midpoint Y value of the view port
     * * XMidYMid - midpoint X value of the view port and midpoint Y value of the view port
     * * XMaxYMid - maximum X value of the view port and midpoint Y value of the view port
     * * XMinYMax - smallest X value of the view port and maximum Y value of the view port
     * * XMidYMax - midpoint X value of the view port and maximum Y value of the view port
     * * XMaxYMax - maximum X value of the view port and maximum Y value of the view port
     *
     * @default 'None'
     */
    align?: ImageAlignment;
}
/**
 * Interface for a class Text
 */
export interface TextModel extends ShapeModel{
    /**
     * Defines the type of node shape
     *
     * @default 'Basic'
     */
    type?: Shapes;
    /**
     * Defines the content of a text
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let nodes$: NodeModel[] = [{
     * id: 'node1', width: 100, height: 100, offsetX: 300, offsetY: 100,
     * shape: { type: 'Text', content: 'Text Element' }
     * }];
     * let diagram$: Diagram = new Diagram({
     * ...
     * nodes: nodes
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @default ''
     */
    content?: string;
    /**
     * Defines the space to be let between$ the node and its immediate parent
     *
     * @default 0
     */
    margin?: MarginModel;
}
/**
 * Interface for a class BasicShape
 */
export interface BasicShapeModel extends ShapeModel{
    /**
     * Defines the type of node shape
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let shape$: BasicShapeModel = { type: 'Basic', shape: 'Rectangle' };
     * let nodes$: NodeModel[] = [{
     * id: 'node', width: 100, height: 100, offsetX: 100, offsetY: 100, shape: shape
     * }];
     * let diagram$: Diagram = new Diagram({
     * ...
     * nodes : nodes,
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @default 'Basic'
     */
    type?: Shapes;
    /**
     * Defines the type of the basic shape
     * * Rectangle - Sets the type of the basic shape as Rectangle
     * * Ellipse - Sets the type of the basic shape as Ellipse
     * * Hexagon - Sets the type of the basic shape as Hexagon
     * * Parallelogram - Sets the type of the basic shape as Parallelogram
     * * Triangle - Sets the type of the basic shape as Triangle
     * * Plus - Sets the type of the basic shape as Plus
     * * Star - Sets the type of the basic shape as Star
     * * Pentagon - Sets the type of the basic shape as Pentagon
     * * Heptagon - Sets the type of the basic shape as Heptagon
     * * Octagon - Sets the type of the basic shape as Octagon
     * * Trapezoid - Sets the type of the basic shape as Trapezoid
     * * Decagon - Sets the type of the basic shape as Decagon
     * * RightTriangle - Sets the type of the basic shape as RightTriangle
     * * Cylinder - Sets the type of the basic shape as Cylinder
     * * Diamond - Sets the type of the basic shape as Diamond
     *
     * @default 'Rectangle'
     */
    shape?: BasicShapes;
    /**
     * Sets the corner of the node
     *
     * @default 0
     */
    cornerRadius?: number;
    /**
     * Defines the collection of points to draw a polygon
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    points?: PointModel[];
}
/**
 * Interface for a class FlowShape
 */
export interface FlowShapeModel extends ShapeModel{
    /**
     * Defines the type of node shape
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let nodes$: NodeModel[] = [{
     * id: 'node', width: 100, height: 100, offsetX: 100, offsetY: 100,
     *     shape: { type: 'Flow', shape: 'Terminator' },
     * }];
     * let diagram$: Diagram = new Diagram({
     * ...
     * nodes : nodes,
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @default 'Basic'
     */
    type?: Shapes;
    /**
     * Defines the type of the flow shape
     * * Process - Sets the type of the flow shape as Process
     * * Decision - Sets the type of the flow shape as Decision
     * * Document - Sets the type of the flow shape as Document
     * * PreDefinedProcess - Sets the type of the flow shape as PreDefinedProcess
     * * Terminator - Sets the type of the flow shape as Terminator
     * * PaperTap - Sets the type of the flow shape as PaperTap
     * * DirectData - Sets the type of the flow shape as DirectData
     * * SequentialData - Sets the type of the flow shape as SequentialData
     * * MultiData - Sets the type of the flow shape as MultiData
     * * Collate - Sets the type of the flow shape as Collate
     * * SummingJunction - Sets the type of the flow shape as SummingJunction
     * * Or - Sets the type of the flow shape as Or
     * * InternalStorage - Sets the type of the flow shape as InternalStorage
     * * Extract - Sets the type of the flow shape as Extract
     * * ManualOperation - Sets the type of the flow shape as ManualOperation
     * * Merge - Sets the type of the flow shape as Merge
     * * OffPageReference - Sets the type of the flow shape as OffPageReference
     * * SequentialAccessStorage - Sets the type of the flow shape as SequentialAccessStorage
     * * Annotation - Sets the type of the flow shape as Annotation
     * * Annotation2 - Sets the type of the flow shape as Annotation2
     * * Data - Sets the type of the flow shape as Data
     * * Card - Sets the type of the flow shape as Card
     * * Delay - Sets the type of the flow shape as Delay
     * * Preparation - Sets the type of the flow shape as Preparation
     * * Display - Sets the type of the flow shape as Display
     * * ManualInput - Sets the type of the flow shape as ManualInput
     * * LoopLimit - Sets the type of the flow shape as LoopLimit
     * * StoredData - Sets the type of the flow shape as StoredData
     *
     * @default 'Terminator'
     */
    shape?: FlowShapes;
}
/**
 * Interface for a class BpmnGateway
 */
export interface BpmnGatewayModel {
    /**
     * Defines the type of the BPMN Gateway
     * * None - Sets the type of the gateway as None
     * * Exclusive - Sets the type of the gateway as Exclusive
     * * Inclusive - Sets the type of the gateway as Inclusive
     * * base.Complex - Sets the type of the gateway as base.Complex
     * * EventBased - Sets the type of the gateway as EventBased
     * * ExclusiveEventBased - Sets the type of the gateway as ExclusiveEventBased
     * * ParallelEventBased - Sets the type of the gateway as ParallelEventBased
     *
     * @default 'None'
     */
    type?: BpmnGateways;
}
/**
 * Interface for a class BpmnDataObject
 */
export interface BpmnDataObjectModel {
    /**
     * Defines the type of the BPMN data object
     * * None - Sets the type of the data object as None
     * * Input - Sets the type of the data object as Input
     * * Output - Sets the type of the data object as Output
     *
     * @default 'None'
     */
    type?: BpmnDataObjects;
    /**
     * Sets whether the data object is a collection or not
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let nodes$: NodeModel[] = [{
     *  id: 'node', width: 100, height: 100, offsetX: 100, offsetY: 100,
     *  shape: {
     *   type: 'Bpmn', shape: 'DataObject',
     *   dataObject: { collection: false, type: 'Input' }
     *         } as BpmnShapeModel,
     * }];
     * let diagram$: Diagram = new Diagram({
     * ...
     * nodes : nodes,
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @default false
     */
    collection?: boolean;
}
/**
 * Interface for a class BpmnTask
 */
export interface BpmnTaskModel {
    /**
     * Defines the type of the task
     * * None - Sets the type of the Bpmn Tasks as None
     * * Service - Sets the type of the Bpmn Tasks as Service
     * * Receive - Sets the type of the Bpmn Tasks as Receive
     * * Send - Sets the type of the Bpmn Tasks as Send
     * * InstantiatingReceive - Sets the type of the Bpmn Tasks as InstantiatingReceive
     * * Manual - Sets the type of the Bpmn Tasks as Manual
     * * BusinessRule - Sets the type of the Bpmn Tasks as BusinessRule
     * * User - Sets the type of the Bpmn Tasks as User
     * * Script - Sets the type of the Bpmn Tasks as Script
     *
     * @default 'None'
     */
    type?: BpmnTasks;
    /**
     * Defines the type of the BPMN loops
     * * None - Sets the type of the Bpmn loop as None
     * * Standard - Sets the type of the Bpmn loop as Standard
     * * ParallelMultiInstance - Sets the type of the Bpmn loop as ParallelMultiInstance
     * * SequenceMultiInstance - Sets the type of the Bpmn loop as SequenceMultiInstance
     *
     * @default 'None'
     */
    loop?: BpmnLoops;
    /**
     * Sets whether the task is global or not
     *
     * @default false
     */
    call?: boolean;
    /**
     * Sets whether the task is triggered as a compensation of another specific activity
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let nodes$: NodeModel[] = [{
     *  id: 'node', width: 100, height: 100, offsetX: 100, offsetY: 100,
     *  shape: {
     *   type: 'Bpmn', shape: 'Activity', activity: {
     *       activity: 'Task',
     *       task: { call: true, compensation: false, type: 'Service', loop: 'ParallelMultiInstance' }
     *   }} as BpmnShapeModel,
     * }];
     * let diagram$: Diagram = new Diagram({
     * ...
     * nodes : nodes,
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @default false
     */
    compensation?: boolean;
}
/**
 * Interface for a class BpmnEvent
 */
export interface BpmnEventModel {
    /**
     *
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let nodes$: NodeModel[] = [{
     *  id: 'node', width: 100, height: 100, offsetX: 100, offsetY: 100,
     *  shape: {
     *  type: 'Bpmn', shape: 'Event',
     *   event: { event: 'Start', trigger: 'None' } } as BpmnShapeModel,
     * }];
     * let diagram$: Diagram = new Diagram({
     * ...
     * nodes : nodes,
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @default 'Start'
     */
    event?: BpmnEvents;
    /**
     * Defines the type of the trigger
     * * None - Sets the type of the trigger as None
     * * Message - Sets the type of the trigger as Message
     * * Escalation - Sets the type of the trigger as Escalation
     * * Link - Sets the type of the trigger as Link
     * * Error - Sets the type of the trigger as Error
     * * Compensation - Sets the type of the trigger as Compensation
     * * Signal - Sets the type of the trigger as Signal
     * * Multiple - Sets the type of the trigger as Multiple
     * * Parallel - Sets the type of the trigger as Parallel
     * * Cancel - Sets the type of the trigger as Cancel
     * * Conditional - Sets the type of the trigger as Conditional
     * * Terminate - Sets the type of the trigger as Terminate
     *
     * @default 'None'
     */
    trigger?: BpmnTriggers;
}
/**
 * Interface for a class BpmnSubEvent
 */
export interface BpmnSubEventModel {
    /**
     * Defines the type of the trigger
     * * None - Sets the type of the trigger as None
     * * Message - Sets the type of the trigger as Message
     * * Escalation - Sets the type of the trigger as Escalation
     * * Link - Sets the type of the trigger as Link
     * * Error - Sets the type of the trigger as Error
     * * Compensation - Sets the type of the trigger as Compensation
     * * Signal - Sets the type of the trigger as Signal
     * * Multiple - Sets the type of the trigger as Multiple
     * * Parallel - Sets the type of the trigger as Parallel
     * * Cancel - Sets the type of the trigger as Cancel
     * * Conditional - Sets the type of the trigger as Conditional
     * * Terminate - Sets the type of the trigger as Terminate
     *
     * @default 'None'
     */
    trigger?: BpmnTriggers;
    /**
     * Sets the type of the BPMN Event
     * * Start - Sets the type of the Bpmn Event as Start
     * * Intermediate - Sets the type of the Bpmn Event as Intermediate
     * * End - Sets the type of the Bpmn Event as End
     * * NonInterruptingStart - Sets the type of the Bpmn Event as NonInterruptingStart
     * * NonInterruptingIntermediate - Sets the type of the Bpmn Event as NonInterruptingIntermediate
     * * ThrowingIntermediate - Sets the type of the Bpmn Event as ThrowingIntermediate
     *
     * @default 'Start'
     */
    event?: BpmnEvents;
    /**
     * Sets the id of the BPMN sub event
     *
     * @default ''
     */
    id?: string;
    /**
     * Defines the position of the sub event
     *
     * @default new Point(0.5,0.5)
     */
    offset?: PointModel;
    /**
     * Defines the collection of textual annotations of the sub events
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    annotations?: ShapeAnnotationModel[];
    /**
     * Defines the collection of connection points of the sub events
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    ports?: PointPortModel[];
    /**
     * Sets the width of the node
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    width?: number;
    /**
     * Sets the height of the node
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    height?: number;
    /**
     * Defines the space to be left between the node and its immediate parent
     *
     * @default 0
     */
    margin?: MarginModel;
    /**
     * Sets how to horizontally align a node with respect to its immediate parent
     * * Stretch - Stretches the diagram element throughout its immediate parent
     * * Left - Aligns the diagram element at the left of its immediate parent
     * * Right - Aligns the diagram element at the right of its immediate parent
     * * Center - Aligns the diagram element at the center of its immediate parent
     * * Auto - Aligns the diagram element based on the characteristics of its immediate parent
     *
     * @default 'Center'
     */
    horizontalAlignment?: HorizontalAlignment;
    /**
     * Sets how to vertically align a node with respect to its immediate parent
     * * Stretch - Stretches the diagram element throughout its immediate parent
     * * Top - Aligns the diagram element at the top of its immediate parent
     * * Bottom - Aligns the diagram element at the bottom of its immediate parent
     * * Center - Aligns the diagram element at the center of its immediate parent
     * * Auto - Aligns the diagram element based on the characteristics of its immediate parent
     *
     * @default 'Center'
     */
    verticalAlignment?: VerticalAlignment;
    /**
     * Sets the visibility of the sub event
     *
     * @default true
     */
    visible?: boolean;
}
/**
 * Interface for a class BpmnTransactionSubProcess
 */
export interface BpmnTransactionSubProcessModel {
    /**
     * Defines the size and position of the success port
     */
    success?: BpmnSubEventModel;
    /**
     * Defines the size and position of the failure port
     */
    failure?: BpmnSubEventModel;
    /**
     * Defines the size and position of the cancel port
     */
    cancel?: BpmnSubEventModel;
}
/**
 * Interface for a class BpmnSubProcess
 */
export interface BpmnSubProcessModel {
    /**
     * Defines the type of the sub process
     * * None - Sets the type of the Sub process as None
     * * Transaction - Sets the type of the Sub process as Transaction
     * * Event - Sets the type of the Sub process as Event
     *
     * @default 'None'
     */
    type?: BpmnSubProcessTypes;
    /**
     * Defines whether the sub process is without any prescribed order or not
     *
     * @default false
     */
    adhoc?: boolean;
    /**
     *
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let nodes$: NodeModel[] = [{
     * id: 'node', width: 100, height: 100, offsetX: 100, offsetY: 100,
     * shape: {
     *               type: 'Bpmn', shape: 'Activity', activity: {
     *                   activity: 'SubProcess',
     *                   subProcess: { adhoc: false, boundary: 'Default', collapsed: true }
     *               },
     *           }
     * }];
     * let diagram$: Diagram = new Diagram({
     * ...
     * nodes : nodes,
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     */
    boundary?: BpmnBoundary;
    /**
     * Defines the whether the task is triggered as a compensation of another task
     *
     * @default false
     */
    compensation?: boolean;
    /**
     * Defines the  type of the BPMNLoop
     * * None - Sets the type of the Bpmn loop as None
     * * Standard - Sets the type of the Bpmn loop as Standard
     * * ParallelMultiInstance - Sets the type of the Bpmn loop as ParallelMultiInstance
     * * SequenceMultiInstance - Sets the type of the Bpmn loop as SequenceMultiInstance
     *
     * @default 'None'
     */
    loop?: BpmnLoops;
    /**
     * Defines the whether the shape is collapsed or not
     *
     * @default true
     */
    collapsed?: boolean;
    /**
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let node1$: NodeModel = {
     *           id: 'node1', width: 190, height: 190, offsetX: 300, offsetY: 200,
     *           shape: {
     *               type: 'Bpmn', shape: 'Activity', activity: {
     *                   activity: 'SubProcess',
     *                   subProcess: {
     *                       type: 'Event', loop: 'ParallelMultiInstance',
     *                       compensation: true, adhoc: false, boundary: 'Event', collapsed: true,
     *                       events: [{
     *                           height: 20, width: 20, offset: { x: 0, y: 0 }, margin: { left: 10, top: 10 },
     *                           horizontalAlignment: 'Left',
     *                           verticalAlignment: 'Top',
     *                           annotations: [{
     *                               id: 'label3', margin: { bottom: 10 },
     *                                horizontalAlignment: 'Center',
     *                               verticalAlignment: 'Top',
     *                               content: 'Event', offset: { x: 0.5, y: 1 },
     *                               style: {
     *                                   color: 'black', fontFamily: 'Fantasy', fontSize: 8
     *                               }
     *                           }],
     *                           event: 'Intermediate', trigger: 'Error'
     *                       }]
     *                   }
     *               }
     *           }
     *       };
     * let diagram$: Diagram = new Diagram({
     * ...
     * nodes : nodes,
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     */
    events?: BpmnSubEventModel[];
    /**
     * Defines the transaction sub process
     */
    transaction?: BpmnTransactionSubProcessModel;
    /**
     * Defines the transaction sub process
     *
     * @default []
     */
    processes?: string[];
}
/**
 * Interface for a class BpmnActivity
 */
export interface BpmnActivityModel {
    /**
     * Defines the type of the activity
     * * None - Sets the type of the Bpmn Activity as None
     * * Task - Sets the type of the Bpmn Activity as Task
     * * SubProcess - Sets the type of the Bpmn Activity as SubProcess
     *
     * @default 'Task'
     */
    activity?: BpmnActivities;
    /**
     * Defines the BPMN task
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let nodes$: NodeModel[] = [{
     *  id: 'node', width: 100, height: 100, offsetX: 100, offsetY: 100,
     *     shape: {
     *     type: 'Bpmn', shape: 'Activity', activity: {
     *     activity: 'Task', task: {
     *           type: 'Service'
     *       }
     *   }
     *  },
     * }];
     * let diagram$: Diagram = new Diagram({
     * ...
     * nodes : nodes,
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @default 'new BPMNTask()'
     */
    task?: BpmnTaskModel;
    /**
     * Defines the type of the SubProcesses
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let nodes$: NodeModel[] = [{
     *  id: 'node', width: 100, height: 100, offsetX: 100, offsetY: 100,
     *     shape: {
     *     type: 'Bpmn', shape: 'Activity', activity: {
     *     activity: 'SubProcess',
     *     subProcess: { collapsed: true } as BpmnSubProcessModel
     *   }
     *  },
     * }];
     * let diagram$: Diagram = new Diagram({
     * ...
     * nodes : nodes,
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @default 'None'
     */
    subProcess?: BpmnSubProcessModel;
}
/**
 * Interface for a class BpmnAnnotation
 */
export interface BpmnAnnotationModel {
    /**
     * Sets the text to annotate the bpmn shape
     * @deprecated
     * @default ''
     */
    text?: string;
    /**
     * Sets the id of the BPMN sub event
     * @deprecated
     * @default ''
     */
    id?: string;
    /**
     * Sets the angle between the bpmn shape and the annotation
     * @deprecated
     * @aspDefaultValueIgnore
     * @default undefined
     */
    angle?: number;
    /**
     * Sets the height of the text
     * @deprecated
     * @aspDefaultValueIgnore
     * @default undefined
     */
    height?: number;
    /**
     * Sets the width of the text
     * @deprecated
     * @aspDefaultValueIgnore
     * @default undefined
     */
    width?: number;
    /**
     * Sets the distance between the bpmn shape and the annotation
     * @deprecated
     * @aspDefaultValueIgnore
     * @default undefined
     */
    length?: number;
}
/**
 * Interface for a class BpmnTextAnnotation
 * @private
 */
export interface BpmnTextAnnotationModel {
    /**
     * Sets the parent node of bpmn text annotation
     *
     * @aspDefaultValueIgnore
     * @default ''
     */
    textAnnotationTarget?: string;
    /**
     * To set the direction in which the text annotation path to be rendered
     *
     * @aspDefaultValueIgnore
     * @default Auto
     */
    textAnnotationDirection?: TextAnnotationDirection;
}
/**
 * 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
     * @deprecated
     * @default 'None'
     */
    annotation?: BpmnAnnotationModel;
    /**
     * Defines the text of the bpmn annotation collection
     * @deprecated
     * @default 'None'
     */
    annotations?: BpmnAnnotationModel[];
    /**
     * Defines the type of the BPMN Text annotation shape
     *
     * @default 'None'
     */
    textAnnotation?: BpmnTextAnnotationModel;
}
/**
 * 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;
    /**
     * Specify the style attributes such as strokeWidth, strokeColor, and fill for the separator.
     *
     * @default new ShapeStyle()
     * @aspType object
     */
    separatorStyle?: ShapeStyleModel;
}
/**
 * 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;
    /**
     * Specify the style attributes such as strokeWidth, strokeColor, and fill for the separator.
     *
     * @default new ShapeStyle()
     * @aspType object
     */
    separatorStyle?: ShapeStyleModel;
}
/**
 * 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;
    /**
     * Specify the style attributes such as strokeWidth, strokeColor, and fill for the separator.
     *
     * @default new ShapeStyle()
     * @aspType object
     */
    separatorStyle?: ShapeStyleModel;
    /**
     * Sets the shape style of the node
     *
     * @default new ShapeStyle()
     * @aspType object
     */
    style?: ShapeStyleModel | TextStyleModel;
}
/**
 * Interface for a class UmlEnumeration
 */
export interface UmlEnumerationModel {
    /**
     * Defines the name of the attributes
     *
     * @default ''
     * @IgnoreSingular
     */
    name?: string;
    /**
     * Defines the text of the bpmn annotation collection
     *
     * @default 'None'
     */
    members?: UmlEnumerationMemberModel[];
    /**
     * Sets the shape style of the node
     *
     * @default new ShapeStyle()
     * @aspType object
     */
    style?: ShapeStyleModel | TextStyleModel;
}
/**
 * Interface for a class UmlClassifierShape
 */
export interface UmlClassifierShapeModel extends ShapeModel{
    /**
     * Defines the type of node shape
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let shape$: UmlActivityShapeModel = { type: 'UMLActivity', shape: 'Action' };
     * let nodes$: NodeModel[] = [{
     * id: 'node', width: 100, height: 100, offsetX: 100, offsetY: 100, shape: shape
     * }];
     * let diagram$: Diagram = new Diagram({
     * ...
     * nodes : nodes,
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @default 'Basic'
     */
    type?: Shapes;
    /**
     * Defines the text of the bpmn annotation collection
     *
     * @default 'None'
     */
    classShape?: UmlClassModel;
    /**
     * Defines the text of the bpmn annotation collection
     *
     * @default 'None'
     */
    interfaceShape?: UmlInterfaceModel;
    /**
     * Defines the text of the bpmn annotation collection
     *
     * @default 'None'
     */
    enumerationShape?: UmlEnumerationModel;
    /**
     * Defines the type of classifier
     *
     * @default 'Class'
     * @IgnoreSingular
     */
    classifier?: ClassifierShape;
}
/**
 * Interface for a class DiagramShape
 */
export interface DiagramShapeModel {
    /**
     * Defines the type of node shape
     *
     */
    type?: Shapes;
    /**
     * Defines the type of the basic shape
     *
     */
    basicShape?: BasicShapes;
    /**
     * Defines the type of the flow shape
     */
    flowShape?: FlowShapes;
    /**
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let nodes$: NodeModel[] = [{
     *  id: 'node', width: 100, height: 100, offsetX: 100, offsetY: 100,
     *  shape: {
     *   type: 'Bpmn', shape: 'Gateway',
     *   gateway: { type: 'EventBased' } as BpmnGatewayModel
     *         } as BpmnShapeModel,
     * }];
     * let diagram$: Diagram = new Diagram({
     * ...
     * nodes : nodes,
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @default 'Event'
     */
    bpmnShape?: BpmnShapes;
    /**
     * Defines the type of the UMLActivity shape
     * * Action - Sets the type of the UMLActivity Shape as Action
     * * Decision - Sets the type of the UMLActivity Shape as Decision
     * * MergeNode - Sets the type of the UMLActivity Shape as MergeNode
     * * InitialNode - Sets the type of the UMLActivity Shape as InitialNode
     * * FinalNode - Sets the type of the UMLActivity Shape as FinalNode
     * * ForkNode - Sets the type of the UMLActivity Shape as ForkNode
     * * JoinNode - Sets the type of the UMLActivity Shape as JoinNode
     * * TimeEvent - Sets the type of the UMLActivity Shape as TimeEvent
     * * AcceptingEvent - Sets the type of the UMLActivity Shape as AcceptingEvent
     * * SendSignal - Sets the type of the UMLActivity Shape as SendSignal
     * * ReceiveSignal - Sets the type of the UMLActivity Shape as ReceiveSignal
     * * StructuredNode - Sets the type of the UMLActivity Shape as StructuredNode
     * * Note - Sets the type of the UMLActivity Shape as Note
     *
     * @default 'Action'
     * @IgnoreSingular
     */
    umlActivityShape?: UmlActivityShapes;
    /**
     * Defines the geometry of a path
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let nodes$: NodeModel[] = [{
     * id: 'node1', width: 100, height: 100, offsetX: 300, offsetY: 100,
     *   shape: { type: 'Path', data: 'M540.3643,137.9336L546.7973,159.7016L570.3633,159.7296'+
     *   'L550.7723,171.9366L558.9053,194.9966L540.3643,179.4996L521.8223,194.9966L529.9553,171.9366'+
     *   'L510.3633,159.7296L533.9313,159.7016L540.3643,137.9336z' }
     * }];
     * let diagram$: Diagram = new Diagram({
     * ...
     * nodes: nodes
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @default ''
     */
    data?: string;
    /**
     * Defines the geometry of a native element.
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let nodes$: NodeModel[] = [{
     * id: 'node1', width: 100, height: 100,
     * shape: { scale: 'Stretch',
     *   type: 'Native', content: '<g><path d='M90,43.841c0,24.213-19.779,43.841-44.182,43.841c-7.747,0-15.025-1.98-21.357-5.455'+
     * 'L0,90l7.975-23.522' +
     * 'c-4.023-6.606-6.34-14.354-6.34-22.637C1.635,19.628,21.416,0,45.818,0C70.223,0,90,19.628,90,43.841z M45.818,6.982' +
     * 'c-20.484,0-37.146,16.535-37.146,36.859c0,8.065,2.629,15.534,7.076,21.61L11.107,79.14l14.275-4.537' +
     * 'c5.865,3.851,12.891,6.097,20.437,6.097c20.481,0,37.146-16.533,37.146-36.857S66.301,6.982,45.818,6.982z M68.129,53.938' +
     * 'c-0.273-0.447-0.994-0.717-2.076-1.254c-1.084-0.537-6.41-3.138-7.4-3.495c-0.993-0.358-1.717-0.538-2.438,0.537' +
     * 'c-0.721,1.076-2.797,3.495-3.43,4.212c-0.632,0.719-1.263,0.809-2.347,0.271c-1.082-0.537-4.571-1.673-8.708-5.333' +
     * 'c-3.219-2.848-5.393-6.364-6.025-7.441c-0.631-1.075-0.066-1.656,0.475-2.191c0.488-0.482,1.084-1.255,1.625-1.882' +
     * 'c0.543-0.628,0.723-1.075,1.082-1.793c0.363-0.717,0.182-1.344-0.09-1.883c-0.27-0.537-2.438-5.825-3.34-7.977' +
     * 'c-0.902-2.15-1.803-1.792-2.436-1.792c-0.631,0-1.354-0.09-2.076-0.09c-0.722,0-1.896,0.269-2.889,1.344' +
     * 'c-0.992,1.076-3.789,3.676-3.789,8.963c0,5.288,3.879,10.397,4.422,11.113c0.541,0.716,7.49,11.92,18.5,16.223' +
     * 'C58.2,65.771,58.2,64.336,60.186,64.156c1.984-0.179,6.406-2.599,7.312-5.107C68.398,56.537,68.398,54.386,68.129,53.938z'>'+
     * '</path></g>',
     *        }
     * }];
     * let diagram$: Diagram = new Diagram({
     * ...
     * nodes: nodes
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @default ''
     */
    content?: SVGElement | HTMLElement;
    /**
     * Defines the text of the text element
     */
    textContent?: string;
    /**
     * Defines the scale of the native element.
     * * None - Sets the stretch type for diagram as None
     * * Stretch - Sets the stretch type for diagram as Stretch
     * * Meet - Sets the stretch type for diagram as Meet
     * * Slice - Sets the stretch type for diagram as Slice
     *
     * @default 'Stretch'
     */
    scale?: Stretch;
    /**
     * Defines the source of the image
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let nodes$: NodeModel[] = [{
     * id: 'node1', width: 100, height: 100, offsetX: 300, offsetY: 100,
     * shape: { type: 'Image', source: 'https://www.w3schools.com/images/w3schools_green.jpg' }
     * }];
     * let diagram$: Diagram = new Diagram({
     * ...
     * nodes: nodes
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @default ''
     */
    source?: string;
    /**
     * Defines the alignment of the image within the node boundary.
     * * None - Alignment value will be set as none
     * * XMinYMin - smallest X value of the view port and  smallest Y value of the view port
     * * XMidYMin - midpoint X value of the view port and  smallest Y value of the view port
     * * XMaxYMin - maximum X value of the view port and  smallest Y value of the view port
     * * XMinYMid - smallest X value of the view port and midpoint Y value of the view port
     * * XMidYMid - midpoint X value of the view port and midpoint Y value of the view port
     * * XMaxYMid - maximum X value of the view port and midpoint Y value of the view port
     * * XMinYMax - smallest X value of the view port and maximum Y value of the view port
     * * XMidYMax - midpoint X value of the view port and maximum Y value of the view port
     * * XMaxYMax - maximum X value of the view port and maximum Y value of the view port
     *
     * @default 'None'
     */
    align?: ImageAlignment;
    /**
     * Defines the space to be let between$ the node and its immediate parent
     *
     * @default 0
     */
    margin?: MarginModel;
    /**
     * Sets the corner of the node
     *
     * @default 0
     */
    cornerRadius?: number;
    /**
     * Defines the collection of points to draw a polygon
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    points?: PointModel[];
    /**
     * Defines the type of the BPMN DataObject shape
     *
     * @default 'None'
     */
    dataObject?: BpmnDataObjectModel;
    /**
     * Defines the type of the BPMN Event shape
     *
     * @default 'None'
     */
    event?: BpmnEventModel;
    /**
     * Defines the type of the BPMN Gateway shape
     *
     * @default 'None'
     */
    gateway?: BpmnGatewayModel;
    /**
     * Defines the text of the bpmn annotation collection
     *
     * @default 'None'
     */
    annotations?: BpmnAnnotationModel[];
    /**
     * Defines the type of the BPMN Activity shape
     *
     * @default 'None'
     */
    activity?: BpmnActivityModel;
    /**
     * Defines the text of the bpmn annotation
     *
     * @default 'None'
     */
    annotation?: BpmnAnnotationModel;
    /**
     * Defines the text of the bpmn annotation collection
     *
     * @default 'None'
     */
    enumerationShape?: UmlEnumerationModel;
    /**
     * Defines the type of classifier
     *
     * @default 'Class'
     * @IgnoreSingular
     */
    classifier?: ClassifierShape;
    /**
     * Defines the text of the bpmn annotation collection
     *
     * @default 'None'
     */
    classShape?: UmlClassModel;
    /**
     * Defines the text of the bpmn annotation collection
     *
     * @default 'None'
     */
    interfaceShape?: UmlInterfaceModel;
}
/**
 * Interface for a class Node
 */
export interface NodeModel extends NodeBaseModel{
    /**
     * Defines the collection of textual annotations of nodes/connectors
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    annotations?: ShapeAnnotationModel[];
    /**
     * Sets the x-coordinate of the position of the node
     *
     * @default 0
     */
    offsetX?: number;
    /**
     * Sets the layout properties using node property
     *
     * @default new NodeLayoutInfo()
     * @aspType object
     */
    layoutInfo?: LayoutInfo;
    /**
     * Sets the y-coordinate of the position of the node
     *
     * @default 0
     */
    offsetY?: number;
    /**
     * Defines the collection of connection points of nodes/connectors
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    ports?: PointPortModel[];
    /**
     * Defines whether the node is expanded or not
     *
     * @default true
     */
    isExpanded?: boolean;
    /**
     * Specifies the collection of the fixed user handle
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    fixedUserHandles?: NodeFixedUserHandleModel[];
    /**
     * Defines the expanded state of a node
     *
     * @default {}
     */
    expandIcon?: IconShapeModel;
    /**
     * Defines the collapsed state of a node
     *
     * @default {}
     */
    collapseIcon?: IconShapeModel;
    /**
     * Sets the reference point, that will act as the offset values(offsetX, offsetY) of a node
     *
     * @default new Point(0.5,0.5)
     */
    pivot?: PointModel;
    /**
     * Sets the width of the node
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    width?: number;
    /**
     * Sets the height of the node
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    height?: number;
    /**
     * Sets the minimum width of the node
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    minWidth?: number;
    /**
     * Sets the minimum height of the node
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    minHeight?: number;
    /**
     * Sets the maximum width of the node
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    maxWidth?: number;
    /**
     * Sets the maximum height of the node
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    maxHeight?: number;
    /**
     * Sets the rotate angle of the node
     *
     * @default 0
     */
    rotateAngle?: number;
    /**
     * Sets the shape style of the node
     *
     * @default new ShapeStyle()
     * @aspType object
     */
    style?: ShapeStyleModel | TextStyleModel;
    /**
     * Sets the background color of the shape
     *
     * @default 'transparent'
     */
    backgroundColor?: string;
    /**
     * Sets the border color of the node
     *
     * @deprecated
     * @default 'none'
     */
    borderColor?: string;
    /**
     * Sets the border width of the node
     *
     * @deprecated
     * @default 0
     */
    borderWidth?: number;
    /**
     * Sets the data source of the node
     */
    data?: Object;
    /**
     * Defines the shape of a node
     *
     * @default Basic Shape
     * @aspType object
     */
    shape?: ShapeModel | FlowShapeModel | BasicShapeModel | ImageModel | PathModel | TextModel | BpmnShapeModel | NativeModel | HtmlModel | UmlActivityShapeModel | UmlClassifierShapeModel | SwimLaneModel | DiagramShapeModel;
    /**
     * Defines the size of the symbol preview
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    previewSize?: SymbolSizeModel;
    /**
     * Defines the size of a drop symbol
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    dragSize?: SymbolSizeModel;
    /**
     * Sets or gets the UI of a node
     *
     * @default null
     * @deprecated
     */
    wrapper?: Container;
    /**
     * Enables/Disables certain features of nodes
     * * None - Disable all node Constraints
     * * Select - Enables node to be selected
     * * Drag - Enables node to be Dragged
     * * Rotate - Enables node to be Rotate
     * * Shadow - Enables node to display shadow
     * * PointerEvents - Enables node to provide pointer  option
     * * Delete - Enables node to delete
     * * InConnect - Enables node to provide in connect option
     * * OutConnect - Enables node to provide out connect option
     * * Individual - Enables node to provide individual resize option
     * * Expandable - Enables node to provide Expandable option
     * * AllowDrop - Enables node to provide allow to drop option
     * * Inherit - Enables node to inherit the interaction option
     * * ResizeNorthEast - Enable ResizeNorthEast of the node
     * * ResizeEast - Enable ResizeEast of the node
     * * ResizeSouthEast - Enable ResizeSouthEast of the node
     * * ResizeSouth - Enable ResizeSouthWest of the node
     * * ResizeSouthWest - Enable ResizeSouthWest of the node
     * * ResizeSouth - Enable ResizeSouth of the node
     * * ResizeSouthWest - Enable ResizeSouthWest of the node
     * * ResizeWest - Enable ResizeWest of the node
     * * ResizeNorth - Enable ResizeNorth of the node
     * * Resize - Enables the Aspect ratio fo the node
     * * AspectRatio - Enables the Aspect ratio fo the node
     * * Tooltip - Enables or disables tool tip for the Nodes
     * * InheritTooltip - Enables or disables tool tip for the Nodes
     * * ReadOnly - Enables the  ReadOnly support for Annotation
     *
     * @default 'Default'
     * @aspNumberEnum
     */
    constraints?: NodeConstraints;
    /**
     * Defines the shadow of a shape/path
     *
     * @default null
     */
    shadow?: ShadowModel;
    /**
     * Defines the children of group element
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    children?: string[];
    /**
     * Defines the space between the group node edges and its children
     *
     * @aspDefaultValueIgnore
     * @default 0
     */
    padding?: MarginModel;
    /**
     * Defines the type of the container
     *
     * @aspDefaultValueIgnore
     * @default null
     * @deprecated
     */
    container?: ChildContainerModel;
    /**
     * Sets the horizontalAlignment of the node
     *
     * @default 'Stretch'
     */
    horizontalAlignment?: HorizontalAlignment;
    /**
     * Sets the verticalAlignment of the node
     *
     * @default 'Stretch'
     */
    verticalAlignment?: VerticalAlignment;
    /**
     * Used to define the rows for the grid container
     *
     * @aspDefaultValueIgnore
     * @deprecated
     * @default undefined
     */
    rows?: RowDefinition[];
    /**
     * Used to define the column for the grid container
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    columns?: ColumnDefinition[];
    /**
     * Used to define a index of row in the grid
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    rowIndex?: number;
    /**
     * Used to define a index of column in the grid
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    columnIndex?: number;
    /**
     * Merge the row use the property in the grid container
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    rowSpan?: number;
    /**
     * Merge the column use the property in the grid container
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    columnSpan?: number;
    /**
     * Set the branch for the mind map
     *
     * @aspDefaultValueIgnore
     * @default ''
     */
    branch?: BranchTypes;
}
/**
 * Interface for a class Header
 */
export interface HeaderModel {
    /**
     * Sets the id of the header
     *
     * @default ''
     */
    id?: string;
    /**
     * Sets the content of the header
     *
     * @default ''
     */
    annotation?: ShapeAnnotationModel;
    /**
     * Sets the style of the header
     *
     * @default ''
     */
    style?: TextStyleModel;
    /**
     * Sets the height of the header
     *
     * @default 50
     */
    height?: number;
    /**
     * Sets the width of the header
     *
     * @default 50
     */
    width?: number;
}
/**
 * Interface for a class Lane
 */
export interface LaneModel {
    /**
     * Sets the id of the lane
     *
     * @default ''
     */
    id?: string;
    /**
     * Sets style of the lane
     *
     * @default ''
     */
    style?: ShapeStyleModel;
    /**
     * Defines the collection of child nodes
     *
     * @default []
     */
    children?: NodeModel[];
    /**
     * Defines the height of the lane
     *
     * @default 100
     */
    height?: number;
    /**
     * Defines the height of the lane
     *
     * @default 100
     */
    width?: number;
    /**
     * Defines the collection of header in the lane.
     *
     * @default new Header()
     */
    header?: HeaderModel;
    /**
     * Defines when the lane to be interchanged or not
     *
     * @default true
     */
    canMove?: boolean;
    /**
     * Allows the user to save custom information about lanes. Example: addInfo: {'lane': 'lane 1 info' }
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    addInfo?: Object
}
/**
 * Interface for a class Phase
 */
export interface PhaseModel {
    /**
     * Sets the id of the phase
     *
     * @default ''
     */
    id?: string;
    /**
     * Sets the style of the phase
     *
     * @default ''
     */
    style?: ShapeStyleModel;
    /**
     * Sets the header collection of the phase
     *
     * @default  new Header()
     */
    header?: HeaderModel;
    /**
     * Sets the offset of the phase
     *
     * @default 100
     */
    offset?: number;
    /**
     * Allows the user to save custom information about phases. Example: addInfo: {'phase': 'phase 1 info' }
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    addInfo?: Object;
}
/**
 * Interface for a class SwimLane
 */
export interface SwimLaneModel extends ShapeModel{
    /**
     * Defines the type of node shape.
     *
     * @default 'Basic'
     */
    type?: Shapes;
    /**
     * Defines the size of phase.
     *
     * @default 20
     */
    phaseSize?: number;
    /**
     * Defines the collection of phases.
     *
     * @default 'undefined'
     */
    phases?: PhaseModel[];
    /**
     * Defines the orientation of the swimLane
     *
     * @default 'Horizontal'
     */
    orientation?: Orientation;
    /**
     * Defines the collection of lanes
     *
     * @default 'undefined'
     */
    lanes?: LaneModel[];
    /**
     * Defines the collection of header
     *
     * @default 'undefined'
     */
    header?: HeaderModel;
    /**
     * Defines the whether the shape is a lane or not
     *
     * @default false
     */
    isLane?: boolean;
    /**
     * Defines the whether the shape is a phase or not
     *
     * @default false
     */
    isPhase?: boolean;
}
/**
 * Interface for a class ChildContainer
 */
export interface ChildContainerModel {
    /**
     * Defines the type of the container
     *
     * @aspDefaultValueIgnore
     * @default Canvas
     */
    type?: ContainerTypes;
    /**
     * Defines the type of the swimLane orientation.
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    orientation?: Orientation;
}
/**
 * Interface for a class Selector
 */
export interface SelectorModel {
    /**
     * Defines the size and position of the container
     *
     * @default null
     */
    wrapper?: Container;
    /**
     * Defines the size of the resize handler
     *
     * @default 14
     */
    handleSize?: number;
    /**
     * Defines the collection of selected nodes
     *
     */
    nodes?: NodeModel[];
    /**
     * Defines the collection of selected connectors
     *
     */
    connectors?: ConnectorModel[];
    /**
     * Sets/Gets the width of the container
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    width?: number;
    /**
     * Sets/Gets the height of the container
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    height?: number;
    /**
     * Sets the rotate angle of the container
     *
     * @default 0
     */
    rotateAngle?: number;
    /**
     * Sets the positionX of the container
     *
     * @default 0
     */
    offsetX?: number;
    /**
     * Sets the positionY of the container
     *
     * @default 0
     */
    offsetY?: number;
    /**
     * Sets the pivot of the selector
     *
     * @default { x: 0.5, y: 0.5 }
     */
    pivot?: PointModel;
    /**
     * Defines how to pick the objects to be selected using rubber band selection
     * * CompleteIntersect - Selects the objects that are contained within the selected region
     * * PartialIntersect - Selects the objects that are partially intersected with the selected region
     *
     * @default 'CompleteIntersect'
     */
    rubberBandSelectionMode?: RubberBandSelectionMode;
    /**
     * Defines the collection of user handle
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let nodes$: NodeModel[] = [{
     *           id: 'node1', width: 100, height: 100, offsetX: 100, offsetY: 100,
     *           annotations: [{ content: 'Default Shape' }]
     *       },
     *       {
     *           id: 'node2', width: 100, height: 100, offsetX: 300, offsetY: 100,
     *           shape: {
     *               type: 'Basic', shape: 'Ellipse'
     *           },
     *           annotations: [{ content: 'Path Element' }]
     *       }
     *       ];
     *       let connectors$: ConnectorModel[] = [{
     *           id: 'connector1',
     *           type: 'Straight',
     *           sourcePoint: { x: 100, y: 300 },
     *           targetPoint: { x: 200, y: 400 },
     *       }];
     * let handle$: UserHandleModel[] = [
     * { name: 'handle', margin: { top: 0, bottom: 0, left: 0, right: 0 }, offset: 0,
     * pathData: 'M 376.892,225.284L 371.279,211.95L 376.892,198.617L 350.225,211.95L 376.892,225.284 Z',
     * side: 'Top', horizontalAlignment: 'Center', verticalAlignment: 'Center',
     * pathColor: 'yellow' }];
     * let diagram$: Diagram = new Diagram({
     * ...
     *     connectors: connectors, nodes: nodes,
     *     selectedItems: { constraints: SelectorConstraints.All, userHandles: handle },
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @default []
     */
    userHandles?: UserHandleModel[];
    /**
     * Controls the visibility of selector.
     * * None - Hides all the selector elements
     * * ConnectorSourceThumb - Shows/hides the source thumb of the connector
     * * ConnectorTargetThumb - Shows/hides the target thumb of the connector
     * * ResizeSouthEast - Shows/hides the bottom right resize handle of the selector
     * * ResizeSouthWest - Shows/hides the bottom left resize handle of the selector
     * * ResizeNorthEast - Shows/hides the top right resize handle of the selector
     * * ResizeNorthWest - Shows/hides the top left resize handle of the selector
     * * ResizeEast - Shows/hides the middle right resize handle of the selector
     * * ResizeWest - Shows/hides the middle left resize handle of the selector
     * * ResizeSouth - Shows/hides the bottom center resize handle of the selector
     * * ResizeNorth - Shows/hides the top center resize handle of the selector
     * * Rotate - Shows/hides the rotate handle of the selector
     * * UserHandles - Shows/hides the user handles of the selector
     * * Resize - Shows/hides all resize handles of the selector
     *
     * @default 'All'
     * @aspNumberEnum
     */
    constraints?: SelectorConstraints;
    /**
     * setTooltipTemplate helps to customize the content of a tooltip
     *
     * @aspDefaultValueIgnore
     * @default undefined
     * @deprecated
     */
    setTooltipTemplate?: Function | string;
    /**
     * Defines the collection of selected nodes and connectors
     * @default []
     */
    selectedObjects?: (NodeModel | ConnectorModel)[];
    /**
     * Specifies whether the selection state of the diagram element should be toggled based on a mouse click at runtime.
     * The default value is false.
     *
     * @default false
     */
    canToggleSelection?: boolean;
}
//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
     *
     * @aspDefaultValue 5e-324
     * @default Number.MIN_VALUE
     */
    zIndex: number;
    /**
     * Defines the space to be left between the node and its immediate parent
     *
     * @default {}
     */
    margin: MarginModel;
    /**
     * Sets the visibility of the node/connector
     *
     * @default true
     */
    visible: boolean;
    /**
     * defines the tooltip for the node
     *
     * @default {}
     */
    tooltip: DiagramTooltipModel;
    /**
     * Defines whether the node should be automatically positioned or not. Applicable, if layout option is enabled.
     *
     * @default false
     */
    excludeFromLayout: boolean;
    /**
     * Allows the user to save custom information/data about a node/connector
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    addInfo: Object;
    /**
     * Flip the element in Horizontal/Vertical directions
     *
     * @aspDefaultValueIgnore
     * @default None
     */
    flip: FlipDirection;
    /**
     * Allows you to flip only the node or along with port and label
     *
     * @aspDefaultValueIgnore
     * @default All
     */
    flipMode: FlipMode;
    /**
     * Defines the symbol info of a connector
     *
     * @aspDefaultValueIgnore
     * @default undefined
     * @ignoreapilink
     */
    symbolInfo: SymbolPaletteInfoModel;
}
//node_modules/@syncfusion/ej2-diagrams/src/diagram/objects/node-base-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
     *
     * @aspDefaultValue 5e-324
     * @default Number.MIN_VALUE
     */
    zIndex?: number;
    /**
     * Defines the space to be left between the node and its immediate parent
     *
     * @default {}
     */
    margin?: MarginModel;
    /**
     * Sets the visibility of the node/connector
     *
     * @default true
     */
    visible?: boolean;
    /**
     * defines the tooltip for the node
     *
     * @default {}
     */
    tooltip?: DiagramTooltipModel;
    /**
     * Defines whether the node should be automatically positioned or not. Applicable, if layout option is enabled.
     *
     * @default false
     */
    excludeFromLayout?: boolean;
    /**
     * Allows the user to save custom information/data about a node/connector
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    addInfo?: Object;
    /**
     * Flip the element in Horizontal/Vertical directions
     *
     * @aspDefaultValueIgnore
     * @default None
     */
    flip?: FlipDirection;
    /**
     * Allows you to flip only the node or along with port and label
     *
     * @aspDefaultValueIgnore
     * @default All
     */
    flipMode?: FlipMode;
    /**
     * Defines the symbol info of a connector
     *
     * @aspDefaultValueIgnore
     * @default undefined
     * @ignoreapilink
     */
    symbolInfo?: SymbolPaletteInfoModel;
}
//node_modules/@syncfusion/ej2-diagrams/src/diagram/objects/layout-animation.d.ts
/**
 * Layout Animation function to enable or disable layout animation
 */
export  class LayoutAnimation {
    private protectChange;
    setIntervalObject: any;
    /**
     * Layout expand function for animation of expand and collapse \
     *
     * @returns {  void }   Layout expand function for animation of expand and collapse .\
     * @param {boolean} animation - provide the angle value.
     * @param {ILayout} objects - provide the angle value.
     * @param {Node} node - provide the angle value.
     * @param {Diagram} diagram - provide the angle value.
     * @private
     */
    expand(animation: boolean, objects: ILayout, node: Node, diagram: Diagram): void;
    stopCurrentAnimation(objValue: ILayout, diagram: Diagram, node: NodeModel): void;
    /**
     * Setinterval and Clear interval for layout animation \
     *
     * @returns {  void }   Setinterval and Clear interval for layout animation .\
     * @param {ILayout} objValue - provide the angle value.
     * @param {Object} layoutTimer - provide the angle value.
     * @param {ILayout} stop - provide the angle value.
     * @param {Diagram} diagram - provide the angle value.
     * @param {NodeModel} node - provide the angle value.
     * @private
     */
    layoutAnimation(objValue: ILayout, layoutTimer: Object, stop: boolean, diagram: Diagram, node?: NodeModel): void;
    /**
     *update the node opacity for the node and connector once the layout animation starts \
     *
     * @returns {  void }    update the node opacity for the node and connector once the layout animation starts .\
     * @param {Node} source - provide the source value.
     * @param {number} value - provide the value.
     * @param {Diagram} diagram - provide the diagram value.
     * @private
     */
    updateOpacity(source: Node, value: number, diagram: Diagram): void;
    /**
     *To destroy the ruler
     *
     * @returns {void} To destroy the ruler
     */
    destroy(): void;
    /**
     * Core method to return the component name.
     *
     * @returns {string}  Core method to return the component name.
     * @private
     */
    protected getModuleName(): string;
}
//node_modules/@syncfusion/ej2-diagrams/src/diagram/objects/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;
    /**
     * Sets the Path color of an icon.
     *
     * @default ''
     */
    iconColor: 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;
    /**
     * Sets the Path color of an icon.
     *
     * @default ''
     */
    iconColor?: string;
}
//node_modules/@syncfusion/ej2-diagrams/src/diagram/objects/fixed-user-handle.d.ts
/**
 * Specifies the behavior of fixedUserHandles
 */
/** @private */
export  class FixedUserHandle extends base.ChildProperty<FixedUserHandle> {
    /**
     * Specifies the unique id of the fixed user handle
     *
     * @default ''
     */
    id: string;
    /**
     * Specifies the fill color of the fixed user handle
     *
     * @default 'transparent'
     */
    fill: string;
    /**
     * Specifies the stroke color of the fixed user handle
     *
     * @default 'transparent'
     */
    iconStrokeColor: string;
    /**
     * Specifies the stroke width of the fixed user handle
     *
     * @default 0
     */
    iconStrokeWidth: number;
    /**
     * Specifies the visibility of the fixed user handle
     *
     * @default true
     */
    visibility: boolean;
    /**
     * Specifies the width of the fixed user handle
     *
     * @default 10
     */
    width: number;
    /**
     * Specifies the height of the fixed user handle
     *
     * @default 10
     */
    height: number;
    /**
     * Specifies the stroke color of the fixed user handle container
     *
     * @default ''
     */
    handleStrokeColor: string;
    /**
     * Specifies the stroke width of the fixed user handle container
     *
     * @default 1
     */
    handleStrokeWidth: number;
    /**
     * Specifies the shape information for fixed user handle
     *
     * @default ''
     */
    pathData: string;
    /**
     * Specifies the cornerRadius for fixed user handle container
     *
     * @default 0
     */
    cornerRadius: number;
    /**
     * Specifies the space between the fixed user handle and container
     *
     * @default new Margin(0,0,0,0)
     */
    padding: MarginModel;
    /**
     * Used to show tooltip for fixed user handle on mouse over.
     *
     * @default {}
     */
    tooltip: DiagramTooltipModel;
}
/**
 * Defines the node Fixed User Handle
 */
export  class NodeFixedUserHandle extends FixedUserHandle {
    /**
     * Specifies the position of the node fixed user handle
     *
     * @default { x: 0, y: 0 }
     */
    offset: PointModel;
    /**
     * Specifies the space that the fixed user handle has to be moved from its actual position
     *
     * @default new Margin(0,0,0,0)
     */
    margin: MarginModel;
}
/**
 * Defines the connector Fixed User Handle
 */
export  class ConnectorFixedUserHandle extends FixedUserHandle {
    /**
     * Specifies the position of the connector fixed user handle
     *
     * @default 0.5
     */
    offset: number;
    /**
     * Specifies the segment alignment of the fixed user handle
     *  * Center - Aligns the annotation at the center of a connector segment
     *  * Before - Aligns the annotation before a connector segment
     *  * After - Aligns the annotation after a connector segment
     *
     * @default Center
     */
    alignment: FixedUserHandleAlignment;
    /**
     * Specifies the displacement of an fixed user handle from its actual position
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    displacement: PointModel;
}
//node_modules/@syncfusion/ej2-diagrams/src/diagram/objects/fixed-user-handle-model.d.ts
/**
 * Interface for a class FixedUserHandle
 * @private
 */
export interface FixedUserHandleModel {
    /**
     * Specifies the unique id of the fixed user handle
     *
     * @default ''
     */
    id?: string;
    /**
     * Specifies the fill color of the fixed user handle
     *
     * @default 'transparent'
     */
    fill?: string;
    /**
     * Specifies the stroke color of the fixed user handle
     *
     * @default 'transparent'
     */
    iconStrokeColor?: string;
    /**
     * Specifies the stroke width of the fixed user handle
     *
     * @default 0
     */
    iconStrokeWidth?: number;
    /**
     * Specifies the visibility of the fixed user handle
     *
     * @default true
     */
    visibility?: boolean;
    /**
     * Specifies the width of the fixed user handle
     *
     * @default 10
     */
    width?: number;
    /**
     * Specifies the height of the fixed user handle
     *
     * @default 10
     */
    height?: number;
    /**
     * Specifies the stroke color of the fixed user handle container
     *
     * @default ''
     */
    handleStrokeColor?: string;
    /**
     * Specifies the stroke width of the fixed user handle container
     *
     * @default 1
     */
    handleStrokeWidth?: number;
    /**
     * Specifies the shape information for fixed user handle
     *
     * @default ''
     */
    pathData?: string;
    /**
     * Specifies the cornerRadius for fixed user handle container
     *
     * @default 0
     */
    cornerRadius?: number;
    /**
     * Specifies the space between the fixed user handle and container
     *
     * @default new Margin(0,0,0,0)
     */
    padding?: MarginModel;
    /**
     * Used to show tooltip for fixed user handle on mouse over.
     *
     * @default {}
     */
    tooltip?: DiagramTooltipModel;
}
/**
 * Interface for a class NodeFixedUserHandle
 */
export interface NodeFixedUserHandleModel extends FixedUserHandleModel{
    /**
     * Specifies the position of the node fixed user handle
     *
     * @default { x: 0, y: 0 }
     */
    offset?: PointModel;
    /**
     * Specifies the space that the fixed user handle has to be moved from its actual position
     *
     * @default new Margin(0,0,0,0)
     */
    margin?: MarginModel;
}
/**
 * Interface for a class ConnectorFixedUserHandle
 */
export interface ConnectorFixedUserHandleModel extends FixedUserHandleModel{
    /**
     * Specifies the position of the connector fixed user handle
     *
     * @default 0.5
     */
    offset?: number;
    /**
     * Specifies the segment alignment of the fixed user handle
     *  * Center - Aligns the annotation at the center of a connector segment
     *  * Before - Aligns the annotation before a connector segment
     *  * After - Aligns the annotation after a connector segment
     *
     * @default Center
     */
    alignment?: FixedUserHandleAlignment;
    /**
     * Specifies the displacement of an fixed user handle from its actual position
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    displacement?: PointModel;
}
//node_modules/@syncfusion/ej2-diagrams/src/diagram/objects/context-menu.d.ts
/**
 * @private
 */
export  const menuClass: ContextMenuClassList;
/**
 * @private
 */
export interface ContextMenuClassList {
    copy: string;
    paste: string;
    content: string;
    undo: string;
    redo: string;
    cut: string;
    selectAll: string;
    grouping: string;
    group: string;
    unGroup: string;
    bringToFront: string;
    sendToBack: string;
    moveForward: string;
    sendBackward: string;
    order: string;
}
/**
 * 'ContextMenu module used to handle context menu actions.'
 *
 * @private
 */
export  class DiagramContextMenu {
    private element;
    /**   @private  */
    contextMenu: navigations.ContextMenu;
    private defaultItems;
    /**
     * @private
     */
    disableItems: string[];
    /**
     * @private
     */
    hiddenItems: string[];
    private parent;
    private l10n;
    private serviceLocator;
    private localeText;
    private eventArgs;
    /**
     * @private
     */
    isOpen: boolean;
    constructor(parent?: Diagram, service?: ServiceLocator);
    /**
     * addEventListener method \
     *
     * @returns { void } addEventListener method .\
     *
     * @private
     */
    addEventListener(): void;
    /**
     * removeEventListener method \
     *
     * @returns { void } removeEventListener method .\
     *
     * @private
     */
    removeEventListener(): void;
    private render;
    private getMenuItems;
    private contextMenuOpen;
    private BeforeItemRender;
    private contextMenuItemClick;
    private contextMenuOnClose;
    private getLocaleText;
    private updateItemStatus;
    /**
     * ensureItems method \
     *
     * @returns { void } ensureItems method .\
     * @param {navigations.MenuItemModel} item - provide the item value.
     * @param {Event} event - provide the event value.
     *
     * @private
     */
    ensureItems(item: navigations.MenuItemModel, event?: Event): void;
    /**
     * refreshItems method \
     *
     * @returns { void } refreshItems method .\
     *
     * @private
     */
    refreshItems(): void;
    private updateItems;
    private contextMenuBeforeOpen;
    private ensureTarget;
    /**
     *To destroy the context menu
     *
     * @returns {void} To destroy the context menu
     */
    destroy(): void;
    private getModuleName;
    private generateID;
    private getKeyFromId;
    private buildDefaultItems;
    private getDefaultItems;
    private setLocaleKey;
}
//node_modules/@syncfusion/ej2-diagrams/src/diagram/objects/connector.d.ts

/**
 * Decorators are used to decorate the end points of the connector with some predefined path geometry
 */
export  class Decorator extends base.ChildProperty<Decorator> {
    /**
     * Sets the width of the decorator
     *
     * @default 10
     */
    width: number;
    /**
     * Sets the height of the decorator
     *
     * @default 10
     */
    height: number;
    /**
     * Sets the shape of the decorator
     * * None - Sets the decorator shape as None
     * * Arrow - Sets the decorator shape as Arrow
     * * Diamond - Sets the decorator shape as Diamond
     * * Path - Sets the decorator shape as Path
     * * OpenArrow - Sets the decorator shape as OpenArrow
     * * Circle - Sets the decorator shape as Circle
     * * Square - Sets the decorator shape as Square
     * * Fletch - Sets the decorator shape as Fletch
     * * OpenFetch - Sets the decorator shape as OpenFetch
     * * IndentedArrow - Sets the decorator shape as Indented Arrow
     * * OutdentedArrow - Sets the decorator shape as Outdented Arrow
     * * DoubleArrow - Sets the decorator shape as DoubleArrow
     *
     * @default 'Arrow'
     */
    /**
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let connectors$: ConnectorModel[] = [{
     *   id: 'connector', type: 'Straight', sourcePoint: { x: 500, y: 100 }, targetPoint: { x: 600, y: 200 },
     *   sourceDecorator: {
     *    style: { fill: 'black' },
     *    shape: 'Arrow',
     *    pivot: { x: 0, y: 0.5 }},
     *   targetDecorator: {
     *    shape: 'Diamond',
     *    style: { fill: 'blue' },
     *    pivot: { x: 0, y: 0.5 }}
     *  },];
     * let diagram$: Diagram = new Diagram({
     * ...
     * connectors: connectors
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     */
    shape: DecoratorShapes;
    /**
     * Defines the appearance of the decorator
     *
     * @default new ShapeStyle()
     */
    style: ShapeStyleModel;
    /**
     * Defines the position of the decorator with respect to the source/target point of the connector
     */
    pivot: PointModel;
    /**
     * Defines the geometry of the decorator shape
     *
     * @default ''
     */
    pathData: string;
}
/**
 * Describes the length and angle between the control point and the start point of bezier segment
 */
export  class Vector extends base.ChildProperty<Vector> {
    /**
     * Defines the angle between the connector end point and control point of the bezier segment
     *
     * @default 0
     */
    angle: number;
    /**
     * Defines the distance between the connector end point and control point of the bezier segment
     *
     * @default 0
     */
    distance: number;
}
/**
 * Describes the length and angle between the control point and the start point of bezier segment
 */
export  class BezierSettings extends base.ChildProperty<BezierSettings> {
    /**
     * Defines the visibility of the control points in the Bezier connector
     *
     * @default 'All'
     */
    controlPointsVisibility: ControlPointsVisibility;
    /**
     * Defines the editing mode of intermediate point of two bezier curve
     *
     * @default 'FreeForm'
     */
    segmentEditOrientation: BezierSegmentEditOrientation;
    /**
     * Defines the value to maintain the smoothness between the neighboring bezier curves.
     *
     * @default 'Default'
     */
    smoothness: BezierSmoothness;
    /**
     * Specifies whether to reset the current segment collections in response to a change in the connector's source and target ends.
     *
     * @default 'true'
     */
    allowSegmentsReset: boolean;
}
/**
 * Sets the type of the connector
 */
export  class ConnectorShape extends base.ChildProperty<ConnectorShape> {
    /**
     * Defines the application specific type of connector
     * * Bpmn - Sets the type of the connection shape as Bpmn
     *
     * @default 'None'
     */
    type: ConnectionShapes;
}
/**
 * Sets the type of the flow in a BPMN Process
 */
export  class ActivityFlow extends ConnectorShape {
    /**
     * Defines the type of the UMLActivity flows
     * Object - Sets the type of the UMLActivity Flow as Object
     * Control - Sets the type of the UMLActivity Flow as Control
     * Exception - Sets the type of the UMLActivity Flow as Exception
     *
     * @default 'Object'
     * @IgnoreSingular
     */
    flow: UmlActivityFlows;
    /**
     * Defines the height of the exception flow.
     *
     * @default '50'
     */
    exceptionFlowHeight: number;
}
/**
 * Sets the type of the flow in a BPMN Process
 */
export  class BpmnFlow extends ConnectorShape {
    /**
     * Sets the type of the Bpmn flows
     * * Sequence - Sets the type of the Bpmn Flow as Sequence
     * * Association - Sets the type of the Bpmn Flow as Association
     * * Message - Sets the type of the Bpmn Flow as Message
     *
     * @default 'Sequence'
     */
    flow: BpmnFlows;
    /**
     * Sets the type of the Bpmn Sequence flows
     * * Default - Sets the type of the sequence flow as Default
     * * Normal - Sets the type of the sequence flow as Normal
     * * Conditional - Sets the type of the sequence flow as Conditional
     *
     * @default 'Normal'
     */
    sequence: BpmnSequenceFlows;
    /**
     * Sets the type of the Bpmn message flows
     * * Default - Sets the type of the Message flow as Default
     * * InitiatingMessage - Sets the type of the Message flow as InitiatingMessage
     * * NonInitiatingMessage - Sets the type of the Message flow as NonInitiatingMessage
     *
     * @default ''
     */
    /**
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let nodes$: NodeModel[] = [
     * {
     *   id: 'node1', width: 60, height: 60, offsetX: 75, offsetY: 90,
     *   shape: { type: 'Bpmn', shape: 'Event', event: { event: 'Start', trigger: 'Message' } },
     *     },
     * {
     *   id: 'node2', width: 75, height: 70, offsetX: 210, offsetY: 90,
     *   shape: { type: 'Bpmn', shape: 'Gateway', gateway: { type: 'None' } },
     *  }];
     * let connectors$: ConnectorModel[] = [{
     *   id: 'connector', type: 'Straight', sourceID: 'node1', targetID: 'node2',
     *   shape: { type: 'Bpmn', flow: 'Message', message: 'InitiatingMessage' } as BpmnFlowModel
     *  },];
     * let diagram$: Diagram = new Diagram({
     * ...
     * nodes: nodes, connectors: connectors
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @default 'Default'
     */
    message: BpmnMessageFlows;
    /**
     * Sets the type of the Bpmn association flows
     * * Default - Sets the type of Association flow as Default
     * * Directional - Sets the type of Association flow as Directional
     * * BiDirectional - Sets the type of Association flow as BiDirectional
     * * @default 'Default'
     *
     */
    association: BpmnAssociationFlows;
}
/**
 * Defines the behavior of connector segments
 */
export  class ConnectorSegment extends base.ChildProperty<ConnectorSegment> {
    /**
     * Defines the type of the segment
     * * Straight - Sets the segment type as Straight
     * * Orthogonal - Sets the segment type as Orthogonal
     * * Bezier - Sets the segment type as Bezier
     *
     * @default 'Straight'
     */
    type: Segments;
    /**
     * Defines the segment to be drag or not
     *
     * @default true
     */
    allowDrag: boolean;
    /**
     * @private
     */
    points: PointModel[];
    /**
     * @private
     */
    isTerminal: boolean;
    constructor(parent: any, propName: string, defaultValue: Object, isArray?: boolean);
}
/**
 * Defines the behavior of straight segments
 */
export  class StraightSegment extends ConnectorSegment {
    /**
     * Sets the end point of the connector segment
     *
     * @default new Point(0,0)
     */
    point: PointModel;
    /**
     * Returns the name of class StraightSegment
     *
     * @private
     */
    getClassName(): string;
}
/**
 * Defines the behavior of bezier segments
 */
export  class BezierSegment extends StraightSegment {
    /**
     * Sets the orientation of endpoint dragging
     *
     * @private
     */
    orientation: Orientation;
    /**
     * Identifies whether the segment is internal
     *
     * @private
     */
    isInternalSegment: boolean;
    /**
     * Sets the first control point of the bezier connector
     *
     * @private
     */
    bezierPoint1: PointModel;
    /**
     *  Sets the second control point of the bezier connector
     *
     * @private
     */
    bezierPoint2: PointModel;
    /**
     * Sets the first control point of the connector
     *
     * @default {}
     */
    point1: PointModel;
    /**
     * Sets the second control point of the connector
     *
     * @default {}
     */
    point2: PointModel;
    /**
     * Defines the length and angle between the source point and the first control point of the diagram
     *
     * @default {}
     */
    vector1: VectorModel;
    /**
     * Defines the length and angle between the target point and the second control point of the diagram
     *
     * @default {}
     */
    vector2: VectorModel;
    /**
     * @private
     * Returns the name of class BezierSegment
     */
    getClassName(): string;
    /**
     * @private
     * Returns the total points of the bezier curve
     */
    getPoints(segments: BezierSegment, start: PointModel): PointModel[];
    /**
     * @private
     * Returns the total points of the bezier curve
     */
    bezireToPoly(start: PointModel, segment: BezierSegment): PointModel[];
    /**
     * @private
     * Returns the total points of the bezier curve
     */
    flattenCubicBezier(points: PointModel[], ptStart: Point, ptCtrl1: Point, ptCtrl2: Point, ptEnd: Point, tolerance: number): void;
}
/**
 * Defines the behavior of orthogonal segments
 */
export  class OrthogonalSegment extends ConnectorSegment {
    /**
     * Defines the length of orthogonal segment
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let connectors$: ConnectorModel[] = [{
     *       id: 'link2', sourcePoint: { x: 0, y: 0 }, targetPoint: { x: 40, y: 40 }, type: 'Orthogonal',
     *       shape: {
     *           type: 'Bpmn',
     *           flow: 'Message',
     *           association: 'directional'
     *       }, style: {
     *           strokeDashArray: '2,2'
     *       },
     *       segments: [{ type: 'Orthogonal', length: 30, direction: 'Bottom' },
     *       { type: 'Orthogonal', length: 80, direction: 'Right' }]
     *   }];
     * let diagram$: Diagram = new Diagram({
     * ...
     * connectors: connectors
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @default 0
     */
    length: number;
    /**
     * Sets the direction of orthogonal segment
     * * Left - Sets the direction type as Left
     * * Right - Sets the direction type as Right
     * * Top - Sets the direction type as Top
     * * Bottom - Sets the direction type as Bottom
     *
     * @default null
     */
    direction: Direction;
    /**
     * Returns the module of class OrthogonalSegment
     *
     * @private
     */
    getClassName(): string;
}
/**
 * Defines the behavior of orthogonal segments
 */
export  class DiagramConnectorSegment extends base.ChildProperty<DiagramConnectorSegment> {
    /**
     * Defines the type of the segment
     * * Straight - Sets the segment type as Straight
     * * Orthogonal - Sets the segment type as Orthogonal
     * * Bezier - Sets the segment type as Bezier
     *
     * @default 'Straight'
     */
    type: Segments;
    /**
     * Defines the segment to be drag or not
     *
     * @default true
     */
    allowDrag: boolean;
    /**
     * Sets the end point of the connector segment
     *
     * @default new Point(0,0)
     */
    point: PointModel;
    /**
     * Sets the first control point of the connector
     *
     * @default {}
     */
    point1: PointModel;
    /**
     * Sets the second control point of the connector
     *
     * @default {}
     */
    point2: PointModel;
    /**
     * Sets the first control point of the bezier connector
     *
     * @private
     *
     */
    bezierPoint1: PointModel;
    /**
     * @private
     *  Sets the second control point of the bezier connector
     *
     */
    bezierPoint2: PointModel;
    /**
     * Defines the length and angle between the source point and the first control point of the diagram
     *
     * @default {}
     */
    vector1: VectorModel;
    /**
     * Defines the length and angle between the target point and the second control point of the diagram
     *
     * @default {}
     */
    vector2: VectorModel;
    /**
     * Defines the length of orthogonal segment
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let connectors$: ConnectorModel[] = [{
     *       id: 'link2', sourcePoint: { x: 0, y: 0 }, targetPoint: { x: 40, y: 40 }, type: 'Orthogonal',
     *       shape: {
     *           type: 'Bpmn',
     *           flow: 'Message',
     *           association: 'directional'
     *       }, style: {
     *           strokeDashArray: '2,2'
     *       },
     *       segments: [{ type: 'Orthogonal', length: 30, direction: 'Bottom' },
     *       { type: 'Orthogonal', length: 80, direction: 'Right' }]
     *   }];
     * let diagram$: Diagram = new Diagram({
     * ...
     * connectors: connectors
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @default 0
     */
    length: number;
    /**
     * Sets the direction of orthogonal segment
     * * Left - Sets the direction type as Left
     * * Right - Sets the direction type as Right
     * * Top - Sets the direction type as Top
     * * Bottom - Sets the direction type as Bottom
     *
     * @default null
     */
    direction: Direction;
    /**
     * @private
     * Returns the module of class OrthogonalSegment
     */
    getClassName(): string;
}
/**
 * Get the direction of the control points while the bezier is connected to the node
 */
export  function getDirection(bounds: Rect, points: PointModel, excludeBounds: boolean): string;
export  function isEmptyVector(element: VectorModel): boolean;
/**
 * Get the bezier points if control points are not given.
 */
export  function getBezierPoints(sourcePoint: PointModel, targetPoint: PointModel, direction?: string): PointModel;
/**
 * Get the bezier curve bounds.
 */
export  function getBezierBounds(startPoint: PointModel, controlPoint1: PointModel, controlPoint2: PointModel, endPoint: PointModel, connector: Connector): Rect;
/**
 * Get the intermediate bezier curve for point over connector
 */
export  function bezierPoints(connector: ConnectorModel, startPoint: PointModel, point1: PointModel, point2: PointModel, endPoint: PointModel, i: number, max: number): PointModel;
/**
 * Defines the behavior of the UMLActivity Classifier multiplicity connection defaults
 */
export  class MultiplicityLabel extends base.ChildProperty<MultiplicityLabel> {
    /**
     * Defines the type of the Classifier Multiplicity
     *
     * @default true
     * @IgnoreSingular
     */
    optional: boolean;
    /**
     * Defines the type of the Classifier Multiplicity
     *
     * @default ''
     * @IgnoreSingular
     */
    lowerBounds: string;
    /**
     * Defines the type of the Classifier Multiplicity
     *
     * @default ''
     * @IgnoreSingular
     */
    upperBounds: string;
}
/**
 * Defines the behavior of the UMLActivity Classifier multiplicity connection defaults
 */
export  class ClassifierMultiplicity extends base.ChildProperty<ClassifierMultiplicity> {
    /**
     * Defines the type of the Classifier Multiplicity
     *
     * @default 'OneToOne'
     * @IgnoreSingular
     */
    type: Multiplicity;
    /**
     * Defines the type of the Classifier Multiplicity
     *
     * @default ''
     * @IgnoreSingular
     */
    target: MultiplicityLabelModel;
    /**
     * Defines the type of the Classifier Multiplicity
     *
     * @default ''
     * @IgnoreSingular
     */
    source: MultiplicityLabelModel;
}
/**
 * Defines the behavior of the UMLActivity shape
 */
export  class RelationShip extends ConnectorShape {
    /**
     * Defines the type of the  UMLConnector
     *
     * @default 'None'
     * @IgnoreSingular
     */
    type: ConnectionShapes;
    /**
     * Defines the association direction
     *
     * @default 'Aggregation'
     * @IgnoreSingular
     */
    relationship: ClassifierShape;
    /**
     * Defines the association direction
     *
     * @default 'Directional'
     * @IgnoreSingular
     */
    associationType: AssociationFlow;
    /**
     * Defines the type of the Classifier Multiplicity
     *
     * @default ''
     * @IgnoreSingular
     */
    multiplicity: ClassifierMultiplicityModel;
}
/**
 * Connector shape for blazor
 */
export  class DiagramConnectorShape extends base.ChildProperty<DiagramConnectorShape> {
    /**
     * Defines the application specific type of connector
     * * Bpmn - Sets the type of the connection shape as Bpmn
     *
     * @default 'None'
     */
    type: ConnectionShapes;
    /**
     * Defines the association direction
     *
     * @default 'Directional'
     * @IgnoreSingular
     */
    associationType: AssociationFlow;
    /**
     * Defines the association direction
     *
     * @default 'Aggregation'
     * @IgnoreSingular
     */
    relationship: ClassifierShape;
    /**
     * Defines the type of the Classifier Multiplicity
     *
     * @default ''
     * @IgnoreSingular
     */
    multiplicity: ClassifierMultiplicityModel;
    /**
     * Sets the type of the Bpmn flows
     * * Sequence - Sets the type of the Bpmn Flow as Sequence
     * * Association - Sets the type of the Bpmn Flow as Association
     * * Message - Sets the type of the Bpmn Flow as Message
     *
     * @default 'Sequence'
     */
    bpmnFlow: BpmnFlows;
    /**
     * Sets the type of the Bpmn message flows
     * * Default - Sets the type of the Message flow as Default
     * * InitiatingMessage - Sets the type of the Message flow as InitiatingMessage
     * * NonInitiatingMessage - Sets the type of the Message flow as NonInitiatingMessage
     *
     * @default ''
     */
    /**
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let nodes$: NodeModel[] = [
     * {
     *   id: 'node1', width: 60, height: 60, offsetX: 75, offsetY: 90,
     *   shape: { type: 'Bpmn', shape: 'Event', event: { event: 'Start', trigger: 'Message' } },
     *     },
     * {
     *   id: 'node2', width: 75, height: 70, offsetX: 210, offsetY: 90,
     *   shape: { type: 'Bpmn', shape: 'Gateway', gateway: { type: 'None' } },
     *  }];
     * let connectors$: ConnectorModel[] = [{
     *   id: 'connector', type: 'Straight', sourceID: 'node1', targetID: 'node2',
     *   shape: { type: 'Bpmn', flow: 'Message', message: 'InitiatingMessage' } as BpmnFlowModel
     *  },];
     * let diagram$: Diagram = new Diagram({
     * ...
     * nodes: nodes, connectors: connectors
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     */
    message: BpmnMessageFlows;
    /**
     * Sets the type of the Bpmn Sequence flows
     * * Default - Sets the type of the sequence flow as Default
     * * Normal - Sets the type of the sequence flow as Normal
     * * Conditional - Sets the type of the sequence flow as Conditional
     *
     * @default 'Normal'
     */
    sequence: BpmnSequenceFlows;
    /**
     * Sets the type of the Bpmn association flows
     * * Default - Sets the type of Association flow as Default
     * * Directional - Sets the type of Association flow as Directional
     * * BiDirectional - Sets the type of Association flow as BiDirectional
     * * @default 'Default'
     */
    association: BpmnAssociationFlows;
    /**
     * Defines the type of the UMLActivity flows
     * Object - Sets the type of the UMLActivity Flow as Object
     * Control - Sets the type of the UMLActivity Flow as Control
     * Exception - Sets the type of the UMLActivity Flow as Exception
     *
     * @default 'Object'
     * @IgnoreSingular
     */
    umlActivityFlow: UmlActivityFlows;
    /**
     * Defines the height of the exception flow.
     *
     * @default '50'
     */
    exceptionFlowHeight: number;
}
/**
 * Connectors are used to create links between nodes
 */
export  class Connector extends NodeBase implements IElement {
    /**
     * Defines the shape of the connector
     *
     * @default 'Bpmn'
     * @aspType object
     */
    shape: ConnectorShapeModel | BpmnFlowModel | RelationShipModel | DiagramConnectorShapeModel;
    /**
     * Defines the constraints of connector
     * * None - Interaction of the connectors cannot be done.
     * * Select - Selects the connector.
     * * Delete - Delete the connector.
     * * Drag - Drag the connector.
     * * DragSourceEnd - Drag the source end of the connector.
     * * DragTargetEnd - Drag the target end of the connector.
     * * DragSegmentThump - Drag the segment thumb of the connector.
     * * AllowDrop - Allow to drop a node.
     * * Bridging - Creates bridge  on intersection of two connectors.
     * * InheritBridging - Creates bridge  on intersection of two connectors.
     * * PointerEvents - Sets the pointer events.
     * * Tooltip - Displays a tooltip for the connectors.
     * * InheritToolTip - Displays a tooltip for the connectors.
     * * Interaction - Features of the connector used for interaction.
     * * ReadOnly - Enables ReadOnly
     *
     * @default 'Default'
     * @aspNumberEnum
     */
    constraints: ConnectorConstraints;
    /**
     * Defines the bridgeSpace of connector
     *
     * @default 10
     */
    bridgeSpace: number;
    /**
     * Defines the collection of textual annotations of connectors
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    /**
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let connectors$: ConnectorModel[] = [{
     *   id: 'connector', type: 'Straight', sourcePoint: { x: 500, y: 100 }, targetPoint: { x: 600, y: 200 },
     * annotations: [{ content: 'No', offset: 0, alignment: 'After' }]
     * ];
     * let diagram$: Diagram = new Diagram({
     * ...
     * connectors: connectors
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     */
    annotations: PathAnnotationModel[];
    /**
     * Sets the beginning point of the connector
     *
     * @default new Point(0,0)
     */
    sourcePoint: PointModel;
    /**
     * Sets the end point of the connector
     *
     * @default new Point(0,0)
     */
    targetPoint: PointModel;
    /**
     * Specifies the collection of the fixed user handle
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    fixedUserHandles: ConnectorFixedUserHandleModel[];
    /**
     * Defines the segments
     *
     * @default []
     * @aspType object
     */
    segments: (OrthogonalSegmentModel | StraightSegmentModel | BezierSegmentModel | DiagramConnectorSegmentModel)[];
    /**
     * Sets the source node/connector object of the connector
     *
     * @default null
     */
    sourceID: string;
    /**
     * Sets the target node/connector object of the connector
     *
     * @default null
     */
    targetID: string;
    /**
     * Sets the connector padding value
     *
     * @default 10
     */
    hitPadding: number;
    /**
     * Sets the connector padding value
     *
     * @default 0
     */
    connectionPadding: number;
    /**
     * Defines the type of the connector
     * * Straight - Sets the segment type as Straight
     * * Orthogonal - Sets the segment type as Orthogonal
     * * Bezier - Sets the segment type as Bezier
     *
     * @default 'Straight'
     * @aspType Syncfusion.EJ2.Diagrams.Segments
     */
    type: Segments;
    /**
     * Defines the shape for the connector segmentThumb
     * Rhombus - Sets the segmentThumb shape as Rhombus
     * Square - Sets the segmentThumb shape as Square
     * Rectangle - Sets the segmentThumb shape as Rectangle
     * Ellipse - Sets the segmentThumb shape as Ellipse
     * Arrow - Sets the segmentThumb shape as Arrow
     * Diamond - Sets the segmentThumb shape as Diamond
     * OpenArrow - Sets the segmentThumb shape as OpenArrow
     * Circle - Sets the segmentThumb shape as Circle
     * Fletch - Sets the segmentThumb shape as Fletch
     * OpenFetch - Sets the segmentThumb shape as OpenFetch
     * IndentedArrow - Sets the segmentThumb shape as Indented Arrow
     * OutdentedArrow - Sets the segmentThumb shape as Outdented Arrow
     * DoubleArrow - Sets the segmentThumb shape as DoubleArrow
     *
     * @default 'Circle'
     */
    segmentThumbShape: SegmentThumbShapes;
    /**
     * Specifies the size of the segment thumb for individual connector. When not set, it defaults to matching the underlying path data
     *
     * @default 10
     */
    segmentThumbSize: number;
    /**
     * Sets the corner radius of the connector
     *
     * @default 0
     */
    cornerRadius: number;
    /**
     * Defines the source decorator of the connector
     *
     * @default new Decorator()
     */
    sourceDecorator: DecoratorModel;
    /**
     * Defines the target decorator of the connector
     *
     * @default new Decorator()
     */
    targetDecorator: DecoratorModel;
    /**
     * defines the tooltip for the connector
     *
     * @default new DiagramToolTip();
     */
    tooltip: DiagramTooltipModel;
    /**
     * Sets the unique id of the source port of the connector
     *
     * @default ''
     */
    sourcePortID: string;
    /**
     * Sets the unique id of the target port of the connector
     *
     * @default ''
     */
    targetPortID: string;
    /**
     * Sets the source padding of the connector
     *
     * @default 0
     */
    sourcePadding: number;
    /**
     * Defines the size of the symbol preview
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    previewSize: SymbolSizeModel;
    /**
     * Defines the size of a drop symbol
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    dragSize: SymbolSizeModel;
    /**
     * Sets the target padding of the connector
     *
     * @default 0
     */
    targetPadding: number;
    /**
     * Sets the distance between source node and connector
     *
     * @default 13
     */
    connectorSpacing: number;
    /**
     * Defines the appearance of the connection path
     *
     * @default ''
     */
    style: StrokeStyleModel;
    /**
     * Sets the maximum segment thumb for the connector
     *
     * @default null
     */
    maxSegmentThumb: number;
    /**
     * Specifies a value indicating whether to overlap the connector over with the source and target node.
     * If the LineRouting is enabled in the diagram, then allowNodeOverlap property will not work.
     *
     * @default false
     */
    allowNodeOverlap: boolean;
    /**
     * Sets the bezier settings of editing the segments.
     *
     * @default null
     */
    bezierSettings: BezierSettingsModel;
    /** @private */
    parentId: string;
    /**
     * Defines the behavior of connection ports
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    ports: PathPortModel[];
    /**
     * Defines the UI of the connector
     *
     * @default null
     * @deprecated
     */
    wrapper: Container;
    /** @private */
    bridges: Bridge[];
    /** @private */
    sourceWrapper: DiagramElement;
    /** @private */
    targetWrapper: DiagramElement;
    /** @private */
    sourcePortWrapper: DiagramElement;
    /** @private */
    targetPortWrapper: DiagramElement;
    /** @private */
    intermediatePoints: PointModel[];
    /** @private */
    status: Status;
    /** @private */
    isBezierEditing: boolean;
    /** @private */
    selectedSegmentIndex: number;
    /** @private */
    outEdges: string[];
    /** @private */
    inEdges: string[];
    constructor(parent: any, propName: string, defaultValue: Object, isArray?: boolean);
    private setPortID;
    /** @private */
    init(diagram: any): Canvas;
    /** @private */
    initPorts(accessibilityContent: Function | string, container: Container, bounds: Rect): void;
    /** @private */
    initPort(ports: Port, points: PointModel[], bounds: Rect, accessibilityContent: Function | string): PathElement | DiagramElement;
    /** @private */
    initPortWrapper(ports: Port, points: PointModel[], bounds: Rect, portContent: PathElement | DiagramElement | DiagramHtmlElement, Connector?: ConnectorModel | PathElement): DiagramElement;
    private getConnectorRelation;
    private getBpmnSequenceFlow;
    /** @private */
    getUMLObjectFlow(): void;
    /** @private */
    getUMLExceptionFlow(segment: PathElement): void;
    private getBpmnAssociationFlow;
    /** @private */
    getFixedUserHandle(fixedUserHandle: ConnectorFixedUserHandle, points: PointModel[], bounds: Rect, fixedUserHandleTemplate: string | Function, diagramId: string): Canvas | DiagramHtmlElement;
    private getBpmnMessageFlow;
    /** @private */
    distance(pt1: PointModel, pt2: PointModel): number;
    /**   @private  */
    findPath(sourcePt: PointModel, targetPt: PointModel): Object;
    /** @private */
    getAnnotationElement(annotation: PathAnnotation, points: PointModel[], bounds: Rect, getDescription: Function | string, diagramId: string, annotationTemplate?: string | Function): TextElement | DiagramHtmlElement;
    /** @private */
    updateAnnotation(annotation: PathAnnotation | ConnectorFixedUserHandle, points: PointModel[], bounds: Rect, textElement: TextElement | DiagramHtmlElement | DiagramElement, canRefresh?: number): void;
    /** @private */
    getConnectorPoints(type: Segments, points?: PointModel[], layoutOrientation?: LayoutOrientation, lineDistribution?: boolean): PointModel[];
    /** @private */
    private clipDecorator;
    /** @private */
    clipDecorators(connector: Connector, pts: PointModel[], diagramAction?: DiagramAction): PointModel[];
    /** @private */
    updateSegmentElement(connector: Connector, points: PointModel[], element: PathElement, diagramActions: DiagramAction): PathElement;
    /** @private */
    getSegmentElement(connector: Connector, segmentElement: PathElement, layoutOrientation?: LayoutOrientation, diagramActions?: DiagramAction, isFlip?: boolean): PathElement;
    /** @private */
    getDecoratorElement(offsetPoint: PointModel, adjacentPoint: PointModel, decorator: DecoratorModel, isSource: Boolean, getDescription?: Function): PathElement;
    private bridgePath;
    /** @private */
    updateDecoratorElement(element: DiagramElement, pt: PointModel, adjacentPoint: PointModel, decorator: DecoratorModel): void;
    /** @private */
    getSegmentPath(connector: Connector, points: PointModel[], diagramAction?: DiagramAction): string;
    /** @private */
    updateShapeElement(connector: Connector): void;
    /** @private */
    updateShapePosition(connector: Connector, element: DiagramElement): void;
    /** @hidden */
    scale(sw: number, sh: number, width: number, height: number, refObject?: DiagramElement): PointModel;
    /**
     * @private
     * Returns the name of class Connector
     */
    getClassName(): string;
}
//node_modules/@syncfusion/ej2-diagrams/src/diagram/objects/connector-model.d.ts
/**
 * Interface for a class Decorator
 */
export interface DecoratorModel {
    /**
     * Sets the width of the decorator
     *
     * @default 10
     */
    width?: number;
    /**
     * Sets the height of the decorator
     *
     * @default 10
     */
    height?: number;
    /**
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let connectors$: ConnectorModel[] = [{
     *   id: 'connector', type: 'Straight', sourcePoint: { x: 500, y: 100 }, targetPoint: { x: 600, y: 200 },
     *   sourceDecorator: {
     *    style: { fill: 'black' },
     *    shape: 'Arrow',
     *    pivot: { x: 0, y: 0.5 }},
     *   targetDecorator: {
     *    shape: 'Diamond',
     *    style: { fill: 'blue' },
     *    pivot: { x: 0, y: 0.5 }}
     *  },];
     * let diagram$: Diagram = new Diagram({
     * ...
     * connectors: connectors
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     */
    shape?: DecoratorShapes;
    /**
     * Defines the appearance of the decorator
     *
     * @default new ShapeStyle()
     */
    style?: ShapeStyleModel;
    /**
     * Defines the position of the decorator with respect to the source/target point of the connector
     */
    pivot?: PointModel;
    /**
     * Defines the geometry of the decorator shape
     *
     * @default ''
     */
    pathData?: string;
}
/**
 * Interface for a class Vector
 */
export interface VectorModel {
    /**
     * Defines the angle between the connector end point and control point of the bezier segment
     *
     * @default 0
     */
    angle?: number;
    /**
     * Defines the distance between the connector end point and control point of the bezier segment
     *
     * @default 0
     */
    distance?: number;
}
/**
 * Interface for a class BezierSettings
 */
export interface BezierSettingsModel {
    /**
     * Defines the visibility of the control points in the Bezier connector
     *
     * @default 'All'
     */
    controlPointsVisibility?: ControlPointsVisibility;
    /**
     * Defines the editing mode of intermediate point of two bezier curve
     *
     * @default 'FreeForm'
     */
    segmentEditOrientation?: BezierSegmentEditOrientation;
    /**
     * Defines the value to maintain the smoothness between the neighboring bezier curves.
     *
     * @default 'Default'
     */
    smoothness?: BezierSmoothness;
    /**
     * Specifies whether to reset the current segment collections in response to a change in the connector's source and target ends.
     *
     * @default 'true'
     */
    allowSegmentsReset?: boolean;
}
/**
 * Interface for a class ConnectorShape
 */
export interface ConnectorShapeModel {
    /**
     * Defines the application specific type of connector
     * * Bpmn - Sets the type of the connection shape as Bpmn
     *
     * @default 'None'
     */
    type?: ConnectionShapes;
}
/**
 * Interface for a class ActivityFlow
 */
export interface ActivityFlowModel extends ConnectorShapeModel{
    /**
     * Defines the type of the UMLActivity flows
     * Object - Sets the type of the UMLActivity Flow as Object
     * Control - Sets the type of the UMLActivity Flow as Control
     * Exception - Sets the type of the UMLActivity Flow as Exception
     *
     * @default 'Object'
     * @IgnoreSingular
     */
    flow?: UmlActivityFlows;
    /**
     * Defines the height of the exception flow.
     *
     * @default '50'
     */
    exceptionFlowHeight?: number;
}
/**
 * Interface for a class BpmnFlow
 */
export interface BpmnFlowModel extends ConnectorShapeModel{
    /**
     * Sets the type of the Bpmn flows
     * * Sequence - Sets the type of the Bpmn Flow as Sequence
     * * Association - Sets the type of the Bpmn Flow as Association
     * * Message - Sets the type of the Bpmn Flow as Message
     *
     * @default 'Sequence'
     */
    flow?: BpmnFlows;
    /**
     * Sets the type of the Bpmn Sequence flows
     * * Default - Sets the type of the sequence flow as Default
     * * Normal - Sets the type of the sequence flow as Normal
     * * Conditional - Sets the type of the sequence flow as Conditional
     *
     * @default 'Normal'
     */
    sequence?: BpmnSequenceFlows;
    /**
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let nodes$: NodeModel[] = [
     * {
     *   id: 'node1', width: 60, height: 60, offsetX: 75, offsetY: 90,
     *   shape: { type: 'Bpmn', shape: 'Event', event: { event: 'Start', trigger: 'Message' } },
     *     },
     * {
     *   id: 'node2', width: 75, height: 70, offsetX: 210, offsetY: 90,
     *   shape: { type: 'Bpmn', shape: 'Gateway', gateway: { type: 'None' } },
     *  }];
     * let connectors$: ConnectorModel[] = [{
     *   id: 'connector', type: 'Straight', sourceID: 'node1', targetID: 'node2',
     *   shape: { type: 'Bpmn', flow: 'Message', message: 'InitiatingMessage' } as BpmnFlowModel
     *  },];
     * let diagram$: Diagram = new Diagram({
     * ...
     * nodes: nodes, connectors: connectors
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @default 'Default'
     */
    message?: BpmnMessageFlows;
    /**
     * Sets the type of the Bpmn association flows
     * * Default - Sets the type of Association flow as Default
     * * Directional - Sets the type of Association flow as Directional
     * * BiDirectional - Sets the type of Association flow as BiDirectional
     * * @default 'Default'
     *
     */
    association?: BpmnAssociationFlows;
}
/**
 * Interface for a class ConnectorSegment
 */
export interface ConnectorSegmentModel {
    /**
     * Defines the type of the segment
     * * Straight - Sets the segment type as Straight
     * * Orthogonal - Sets the segment type as Orthogonal
     * * Bezier - Sets the segment type as Bezier
     *
     * @default 'Straight'
     */
    type?: Segments;
    /**
     * Defines the segment to be drag or not
     *
     * @default true
     */
    allowDrag?: boolean;
}
/**
 * Interface for a class StraightSegment
 */
export interface StraightSegmentModel extends ConnectorSegmentModel{
    /**
     * Sets the end point of the connector segment
     *
     * @default new Point(0,0)
     */
    point?: PointModel;
}
/**
 * Interface for a class BezierSegment
 */
export interface BezierSegmentModel extends StraightSegmentModel{
    /**
     * Sets the orientation of endpoint dragging
     *
     * @private
     */
    orientation?: Orientation;
    /**
     * Sets the first control point of the connector
     *
     * @default {}
     */
    point1?: PointModel;
    /**
     * Sets the second control point of the connector
     *
     * @default {}
     */
    point2?: PointModel;
    /**
     * Defines the length and angle between the source point and the first control point of the diagram
     *
     * @default {}
     */
    vector1?: VectorModel;
    /**
     * Defines the length and angle between the target point and the second control point of the diagram
     *
     * @default {}
     */
    vector2?: VectorModel;
}
/**
 * Interface for a class OrthogonalSegment
 */
export interface OrthogonalSegmentModel extends ConnectorSegmentModel{
    /**
     * Defines the length of orthogonal segment
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let connectors$: ConnectorModel[] = [{
     *       id: 'link2', sourcePoint: { x: 0, y: 0 }, targetPoint: { x: 40, y: 40 }, type: 'Orthogonal',
     *       shape: {
     *           type: 'Bpmn',
     *           flow: 'Message',
     *           association: 'directional'
     *       }, style: {
     *           strokeDashArray: '2,2'
     *       },
     *       segments: [{ type: 'Orthogonal', length: 30, direction: 'Bottom' },
     *       { type: 'Orthogonal', length: 80, direction: 'Right' }]
     *   }];
     * let diagram$: Diagram = new Diagram({
     * ...
     * connectors: connectors
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @default 0
     */
    length?: number;
    /**
     * Sets the direction of orthogonal segment
     * * Left - Sets the direction type as Left
     * * Right - Sets the direction type as Right
     * * Top - Sets the direction type as Top
     * * Bottom - Sets the direction type as Bottom
     *
     * @default null
     */
    direction?: Direction;
}
/**
 * Interface for a class DiagramConnectorSegment
 */
export interface DiagramConnectorSegmentModel {
    /**
     * Defines the type of the segment
     * * Straight - Sets the segment type as Straight
     * * Orthogonal - Sets the segment type as Orthogonal
     * * Bezier - Sets the segment type as Bezier
     *
     * @default 'Straight'
     */
    type?: Segments;
    /**
     * Defines the segment to be drag or not
     *
     * @default true
     */
    allowDrag?: boolean;
    /**
     * Sets the end point of the connector segment
     *
     * @default new Point(0,0)
     */
    point?: PointModel;
    /**
     * Sets the first control point of the connector
     *
     * @default {}
     */
    point1?: PointModel;
    /**
     * Sets the second control point of the connector
     *
     * @default {}
     */
    point2?: PointModel;
    /**
     * Defines the length and angle between the source point and the first control point of the diagram
     *
     * @default {}
     */
    vector1?: VectorModel;
    /**
     * Defines the length and angle between the target point and the second control point of the diagram
     *
     * @default {}
     */
    vector2?: VectorModel;
    /**
     * Defines the length of orthogonal segment
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let connectors$: ConnectorModel[] = [{
     *       id: 'link2', sourcePoint: { x: 0, y: 0 }, targetPoint: { x: 40, y: 40 }, type: 'Orthogonal',
     *       shape: {
     *           type: 'Bpmn',
     *           flow: 'Message',
     *           association: 'directional'
     *       }, style: {
     *           strokeDashArray: '2,2'
     *       },
     *       segments: [{ type: 'Orthogonal', length: 30, direction: 'Bottom' },
     *       { type: 'Orthogonal', length: 80, direction: 'Right' }]
     *   }];
     * let diagram$: Diagram = new Diagram({
     * ...
     * connectors: connectors
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @default 0
     */
    length?: number;
    /**
     * Sets the direction of orthogonal segment
     * * Left - Sets the direction type as Left
     * * Right - Sets the direction type as Right
     * * Top - Sets the direction type as Top
     * * Bottom - Sets the direction type as Bottom
     *
     * @default null
     */
    direction?: Direction;
}
/**
 * Interface for a class MultiplicityLabel
 */
export interface MultiplicityLabelModel {
    /**
     * Defines the type of the Classifier Multiplicity
     *
     * @default true
     * @IgnoreSingular
     */
    optional?: boolean;
    /**
     * Defines the type of the Classifier Multiplicity
     *
     * @default ''
     * @IgnoreSingular
     */
    lowerBounds?: string;
    /**
     * Defines the type of the Classifier Multiplicity
     *
     * @default ''
     * @IgnoreSingular
     */
    upperBounds?: string;
}
/**
 * Interface for a class ClassifierMultiplicity
 */
export interface ClassifierMultiplicityModel {
    /**
     * Defines the type of the Classifier Multiplicity
     *
     * @default 'OneToOne'
     * @IgnoreSingular
     */
    type?: Multiplicity;
    /**
     * Defines the type of the Classifier Multiplicity
     *
     * @default ''
     * @IgnoreSingular
     */
    target?: MultiplicityLabelModel;
    /**
     * Defines the type of the Classifier Multiplicity
     *
     * @default ''
     * @IgnoreSingular
     */
    source?: MultiplicityLabelModel;
}
/**
 * Interface for a class RelationShip
 */
export interface RelationShipModel extends ConnectorShapeModel{
    /**
     * Defines the type of the  UMLConnector
     *
     * @default 'None'
     * @IgnoreSingular
     */
    type?: ConnectionShapes;
    /**
     * Defines the association direction
     *
     * @default 'Aggregation'
     * @IgnoreSingular
     */
    relationship?: ClassifierShape;
    /**
     * Defines the association direction
     *
     * @default 'Directional'
     * @IgnoreSingular
     */
    associationType?: AssociationFlow;
    /**
     * Defines the type of the Classifier Multiplicity
     *
     * @default ''
     * @IgnoreSingular
     */
    multiplicity?: ClassifierMultiplicityModel;
}
/**
 * Interface for a class DiagramConnectorShape
 */
export interface DiagramConnectorShapeModel {
    /**
     * Defines the application specific type of connector
     * * Bpmn - Sets the type of the connection shape as Bpmn
     *
     * @default 'None'
     */
    type?: ConnectionShapes;
    /**
     * Defines the association direction
     *
     * @default 'Directional'
     * @IgnoreSingular
     */
    associationType?: AssociationFlow;
    /**
     * Defines the association direction
     *
     * @default 'Aggregation'
     * @IgnoreSingular
     */
    relationship?: ClassifierShape;
    /**
     * Defines the type of the Classifier Multiplicity
     *
     * @default ''
     * @IgnoreSingular
     */
    multiplicity?: ClassifierMultiplicityModel;
    /**
     * Sets the type of the Bpmn flows
     * * Sequence - Sets the type of the Bpmn Flow as Sequence
     * * Association - Sets the type of the Bpmn Flow as Association
     * * Message - Sets the type of the Bpmn Flow as Message
     *
     * @default 'Sequence'
     */
    bpmnFlow?: BpmnFlows;
    /**
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let nodes$: NodeModel[] = [
     * {
     *   id: 'node1', width: 60, height: 60, offsetX: 75, offsetY: 90,
     *   shape: { type: 'Bpmn', shape: 'Event', event: { event: 'Start', trigger: 'Message' } },
     *     },
     * {
     *   id: 'node2', width: 75, height: 70, offsetX: 210, offsetY: 90,
     *   shape: { type: 'Bpmn', shape: 'Gateway', gateway: { type: 'None' } },
     *  }];
     * let connectors$: ConnectorModel[] = [{
     *   id: 'connector', type: 'Straight', sourceID: 'node1', targetID: 'node2',
     *   shape: { type: 'Bpmn', flow: 'Message', message: 'InitiatingMessage' } as BpmnFlowModel
     *  },];
     * let diagram$: Diagram = new Diagram({
     * ...
     * nodes: nodes, connectors: connectors
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     */
    message?: BpmnMessageFlows;
    /**
     * Sets the type of the Bpmn Sequence flows
     * * Default - Sets the type of the sequence flow as Default
     * * Normal - Sets the type of the sequence flow as Normal
     * * Conditional - Sets the type of the sequence flow as Conditional
     *
     * @default 'Normal'
     */
    sequence?: BpmnSequenceFlows;
    /**
     * Sets the type of the Bpmn association flows
     * * Default - Sets the type of Association flow as Default
     * * Directional - Sets the type of Association flow as Directional
     * * BiDirectional - Sets the type of Association flow as BiDirectional
     * * @default 'Default'
     */
    association?: BpmnAssociationFlows;
    /**
     * Defines the type of the UMLActivity flows
     * Object - Sets the type of the UMLActivity Flow as Object
     * Control - Sets the type of the UMLActivity Flow as Control
     * Exception - Sets the type of the UMLActivity Flow as Exception
     *
     * @default 'Object'
     * @IgnoreSingular
     */
    umlActivityFlow?: UmlActivityFlows;
    /**
     * Defines the height of the exception flow.
     *
     * @default '50'
     */
    exceptionFlowHeight?: number;
}
/**
 * Interface for a class Connector
 */
export interface ConnectorModel extends NodeBaseModel{
    /**
     * Defines the shape of the connector
     *
     * @default 'Bpmn'
     * @aspType object
     */
    shape?: ConnectorShapeModel | BpmnFlowModel | RelationShipModel | DiagramConnectorShapeModel;
    /**
     * Defines the constraints of connector
     * * None - Interaction of the connectors cannot be done.
     * * Select - Selects the connector.
     * * Delete - Delete the connector.
     * * Drag - Drag the connector.
     * * DragSourceEnd - Drag the source end of the connector.
     * * DragTargetEnd - Drag the target end of the connector.
     * * DragSegmentThump - Drag the segment thumb of the connector.
     * * AllowDrop - Allow to drop a node.
     * * Bridging - Creates bridge  on intersection of two connectors.
     * * InheritBridging - Creates bridge  on intersection of two connectors.
     * * PointerEvents - Sets the pointer events.
     * * Tooltip - Displays a tooltip for the connectors.
     * * InheritToolTip - Displays a tooltip for the connectors.
     * * Interaction - Features of the connector used for interaction.
     * * ReadOnly - Enables ReadOnly
     *
     * @default 'Default'
     * @aspNumberEnum
     */
    constraints?: ConnectorConstraints;
    /**
     * Defines the bridgeSpace of connector
     *
     * @default 10
     */
    bridgeSpace?: number;
    /**
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let connectors$: ConnectorModel[] = [{
     *   id: 'connector', type: 'Straight', sourcePoint: { x: 500, y: 100 }, targetPoint: { x: 600, y: 200 },
     * annotations: [{ content: 'No', offset: 0, alignment: 'After' }]
     * ];
     * let diagram$: Diagram = new Diagram({
     * ...
     * connectors: connectors
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     */
    annotations?: PathAnnotationModel[];
    /**
     * Sets the beginning point of the connector
     *
     * @default new Point(0,0)
     */
    sourcePoint?: PointModel;
    /**
     * Sets the end point of the connector
     *
     * @default new Point(0,0)
     */
    targetPoint?: PointModel;
    /**
     * Specifies the collection of the fixed user handle
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    fixedUserHandles?: ConnectorFixedUserHandleModel[];
    /**
     * Defines the segments
     *
     * @default []
     * @aspType object
     */
    segments?: (OrthogonalSegmentModel | StraightSegmentModel | BezierSegmentModel | DiagramConnectorSegmentModel)[];
    /**
     * Sets the source node/connector object of the connector
     *
     * @default null
     */
    sourceID?: string;
    /**
     * Sets the target node/connector object of the connector
     *
     * @default null
     */
    targetID?: string;
    /**
     * Sets the connector padding value
     *
     * @default 10
     */
    hitPadding?: number;
    /**
     * Sets the connector padding value
     *
     * @default 0
     */
    connectionPadding?: number;
    /**
     * Defines the type of the connector
     * * Straight - Sets the segment type as Straight
     * * Orthogonal - Sets the segment type as Orthogonal
     * * Bezier - Sets the segment type as Bezier
     *
     * @default 'Straight'
     * @aspType Syncfusion.EJ2.Diagrams.Segments
     */
    type?: Segments;
    /**
     * Defines the shape for the connector segmentThumb
     * Rhombus - Sets the segmentThumb shape as Rhombus
     * Square - Sets the segmentThumb shape as Square
     * Rectangle - Sets the segmentThumb shape as Rectangle
     * Ellipse - Sets the segmentThumb shape as Ellipse
     * Arrow - Sets the segmentThumb shape as Arrow
     * Diamond - Sets the segmentThumb shape as Diamond
     * OpenArrow - Sets the segmentThumb shape as OpenArrow
     * Circle - Sets the segmentThumb shape as Circle
     * Fletch - Sets the segmentThumb shape as Fletch
     * OpenFetch - Sets the segmentThumb shape as OpenFetch
     * IndentedArrow - Sets the segmentThumb shape as Indented Arrow
     * OutdentedArrow - Sets the segmentThumb shape as Outdented Arrow
     * DoubleArrow - Sets the segmentThumb shape as DoubleArrow
     *
     * @default 'Circle'
     */
    segmentThumbShape?: SegmentThumbShapes;
    /**
     * Specifies the size of the segment thumb for individual connector. When not set, it defaults to matching the underlying path data
     *
     * @default 10
     */
    segmentThumbSize?: number;
    /**
     * Sets the corner radius of the connector
     *
     * @default 0
     */
    cornerRadius?: number;
    /**
     * Defines the source decorator of the connector
     *
     * @default new Decorator()
     */
    sourceDecorator?: DecoratorModel;
    /**
     * Defines the target decorator of the connector
     *
     * @default new Decorator()
     */
    targetDecorator?: DecoratorModel;
    /**
     * defines the tooltip for the connector
     *
     * @default new DiagramToolTip();
     */
    tooltip?: DiagramTooltipModel;
    /**
     * Sets the unique id of the source port of the connector
     *
     * @default ''
     */
    sourcePortID?: string;
    /**
     * Sets the unique id of the target port of the connector
     *
     * @default ''
     */
    targetPortID?: string;
    /**
     * Sets the source padding of the connector
     *
     * @default 0
     */
    sourcePadding?: number;
    /**
     * Defines the size of the symbol preview
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    previewSize?: SymbolSizeModel;
    /**
     * Defines the size of a drop symbol
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    dragSize?: SymbolSizeModel;
    /**
     * Sets the target padding of the connector
     *
     * @default 0
     */
    targetPadding?: number;
    /**
     * Sets the distance between source node and connector
     *
     * @default 13
     */
    connectorSpacing?: number;
    /**
     * Defines the appearance of the connection path
     *
     * @default ''
     */
    style?: StrokeStyleModel;
    /**
     * Sets the maximum segment thumb for the connector
     *
     * @default null
     */
    maxSegmentThumb?: number;
    /**
     * Specifies a value indicating whether to overlap the connector over with the source and target node.
     * If the LineRouting is enabled in the diagram, then allowNodeOverlap property will not work.
     *
     * @default false
     */
    allowNodeOverlap?: boolean;
    /**
     * Sets the bezier settings of editing the segments.
     *
     * @default null
     */
    bezierSettings?: BezierSettingsModel;
    /**
     * Defines the behavior of connection ports
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    ports?: PathPortModel[];
    /**
     * Defines the UI of the connector
     *
     * @default null
     * @deprecated
     */
    wrapper?: Container;
}
//node_modules/@syncfusion/ej2-diagrams/src/diagram/objects/connector-bridging.d.ts
/**
 * ConnectorBridging defines the bridging behavior
 */
/** @private */
export  class ConnectorBridging {
    /**
     * @param {Connector}conn - provide the target  value.
     * @param {Diagram}diagram - provide the target  value.
     * @private
     */
    updateBridging(conn: Connector, diagram: Diagram): void;
    /**
     * @param {BridgeSegment[]}bridgeList - provide the bridgeList  value.
     * @param {Connector}connector - provide the connector  value.
     * @param {number}bridgeSpacing - provide the bridgeSpacing  value.
     * @private
     */
    firstBridge(bridgeList: BridgeSegment[], connector: Connector, bridgeSpacing: number): void;
    /**
     * @returns { ArcSegment } checkSourcePointInTarget method .\
     * @param {PointModel}st- provide the st  value.
     * @param {PointModel}end- provide the end  value.
     * @param {number}angle- provide the angle  value.
     * @param {BridgeDirection}direction- provide the direction  value.
     * @param {number}index- provide the index  value.
     * @param {Connector}conn- provide the conn  value.
     * @param {Diagram} diagram- provide the diagram  value.
     * @private
     */
    createSegment(st: PointModel, end: PointModel, angle: number, direction: BridgeDirection, index: number, conn: Connector, diagram: Diagram): ArcSegment;
    /**
     * @param {PointModel}startPt- provide the startPt  value.
     * @param {PointModel}endPt- provide the endPt  value.
     * @param {number}angle- provide the angle  value.
     * @param {number}bridgeSpace- provide the bridgeSpace  value.
     * @param {number}sweep- provide the sweep  value.
     * @private
     */
    createBridgeSegment(startPt: PointModel, endPt: PointModel, angle: number, bridgeSpace: number, sweep: number): string;
    /**
     * @param {number}angle- provide the source value.
     * @param {BridgeDirection}bridgeDirection- provide the source value.
     * @param {Connector}connector- provide the source value.
     * @param {Diagram}diagram- provide the source value.
     * @private
     */
    sweepDirection(angle: number, bridgeDirection: BridgeDirection, connector: Connector, diagram: Diagram): number;
    /** @private */
    getPointAtLength(length: number, pts: PointModel[]): PointModel;
    /**
     * @param {PointModel[]}connector- provide the source value.
     * @private
     */
    protected getPoints(connector: Connector): PointModel[];
    private intersectsRect;
    /**
     * @param {PointModel[]}points1- provide the source value.
     * @param {PointModel[]}points2- provide the source value.
     * @param {boolean}self- provide the source value.
     * @param {BridgeDirection}bridgeDirection- provide the source value.
     * @param {PointModel[]}zOrder- provide the source value.
     * @private
     */
    intersect(points1: PointModel[], points2: PointModel[], self: boolean, bridgeDirection: BridgeDirection, zOrder: boolean): PointModel[];
    /**
     * @param {PointModel}startPt- provide the target  value.
     * @param {PointModel}endPt- provide the target  value.
     * @param {PointModel[]}pts- provide the target  value.
     * @param {boolean}zOrder- provide the target  value.
     * @param {BridgeDirection}bridgeDirection- provide the target  value.
     * @private
     */
    inter1(startPt: PointModel, endPt: PointModel, pts: PointModel[], zOrder: boolean, bridgeDirection: BridgeDirection): PointModel[];
    private checkForHorizontalLine;
    private isEmptyPoint;
    private getLengthAtFractionPoint;
    private getSlope;
    /**
     * @param {PointModel}startPt- provide the target  value.
     * @param {PointModel}endPt- provide the target  value.
     * @private
     */
    angleCalculation(startPt: PointModel, endPt: PointModel): number;
    private lengthCalculation;
    /**
     * Constructor for the bridging module
     *
     * @private
     */
    constructor();
    /**
     *To destroy the ruler
     *
     * @returns {void} To destroy the ruler
     */
    destroy(): void;
    /**
     * Core method to return the component name.
     *
     * @returns {string}  Core method to return the component name.
     * @private
     */
    protected getModuleName(): string;
}
//node_modules/@syncfusion/ej2-diagrams/src/diagram/objects/bpmn.d.ts
/**
 * BPMN Diagrams contains the BPMN functionalities
 */
export  class BpmnDiagrams {
    /**   @private  */
    bpmnTextAnnotationConnector: any;
    /**   @private  */
    getSize(node: NodeModel, content: DiagramElement): Size;
    /** @private */
    initBPMNContent(content: DiagramElement, node: Node, diagram: Diagram): DiagramElement;
    private getBpmnTextAnnotationShape;
    private getBpmnTextAnnotationSymbol;
    /** @private */
    getBPMNShapes(node: Node): PathElement;
    /** @private */
    getBPMNGroup(node: Node, diagram: Diagram): Container;
    /** @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 sortProcessOrder;
    private updateIndex;
    private updateSubprocessNodeIndex;
    /** @private */
    updateDocks(obj: Node, diagram: Diagram): void;
    /** @private */
    removeBpmnProcesses(currentObj: Node, diagram: Diagram): void;
    /** @private */
    removeChildFromBPMN(wrapper: Container, name: string, diagram?: Diagram, isDelete?: boolean): void;
    private removeGElement;
    private getNode;
    /** @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
     * To modify the text annotation path while dragging the node and set port offset based on dragging.
     */
    setAnnotationPath(sourceBounds: Rect, wrapper: Canvas, node: NodeModel, bpmnShape: BpmnShape, direction: TextAnnotationDirection, diagram: Diagram): void;
    private setAnnotationPosition;
    /** @private */
    private getSubprocessChildCount;
    /** @private */
    private getTaskChildCount;
    /** @private */
    private setStyle;
    /** @private */
    updateBPMN(changedProp: Node, oldObject: Node, actualObject: Node, diagram: Diagram): void;
    private updateBpmnChildOpacity;
    /**
     * EJ2-60574 -BPMN shape do not get changed at runtime properly
     */
    private removeBPMNElementFromDOM;
    /** @private */
    updateBPMNStyle(elementWrapper: DiagramElement, changedProp: string): void;
    /** @private */
    updateBPMNGateway(node: Node, changedProp: Node): void;
    /**
     * Used to update Bpmn gateway child in runtime
     * EJ2-60581
     * @param elementWrapper
     * @param node
     * @param pathData
     * @returns
     */
    updateGatewaySubType(elementWrapper: Canvas, node: Node, pathData: string): PathElement;
    /** @private */
    updateBPMNDataObject(node: Node, newObject: Node, oldObject: Node): void;
    /** @private */
    getEvent(node: Node, oldObject: Node, event: string, child0: DiagramElement, child1: DiagramElement, child2: DiagramElement): void;
    /** @private */
    private updateEventVisibility;
    /** @private */
    updateBPMNEvent(node: Node, newObject: Node, oldObject: Node): void;
    /** @private */
    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 removeDomElement;
    private setSizeForBPMNEvents;
    /** @private */
    updateAnnotationDrag(node: NodeModel, diagram: Diagram, tx: number, ty: number): boolean;
    private getAnnotationPathAngle;
    private setSizeForBPMNGateway;
    private setSizeForBPMNDataObjects;
    private setSizeForBPMNActivity;
    private updateDiagramContainerVisibility;
    /**
     * Constructor for the BpmnDiagrams module
     *
     * @private
     */
    constructor();
    /**
     *To destroy the ruler
     *
     * @returns {void} To destroy the ruler
     */
    destroy(): void;
    /**
     * Get module name.
     *
     * @returns {string}   Get module name.
     */
    protected getModuleName(): string;
}
/**
 * getBpmnShapePathData method \
 *
 * @returns { string } getBpmnShapePathData method .\
 * @param {string} shape - provide the shape value.
 *
 * @private
 */
export  function getBpmnShapePathData(shape: string): string;
/**
 * getBpmnTriggerShapePathData method \
 *
 * @returns { string } getBpmnTriggerShapePathData method .\
 * @param {string} shape - provide the shape value.
 *
 * @private
 */
export  function getBpmnTriggerShapePathData(shape: string): string;
/**
 * getBpmnGatewayShapePathData method \
 *
 * @returns { string } getBpmnGatewayShapePathData method .\
 * @param {string} shape - provide the shape value.
 *
 * @private
 */
export  function getBpmnGatewayShapePathData(shape: string): string;
/**
 * getBpmnTaskShapePathData method \
 *
 * @returns { string } getBpmnTaskShapePathData method .\
 * @param {string} shape - provide the shape value.
 *
 * @private
 */
export  function getBpmnTaskShapePathData(shape: string): string;
/**
 * getBpmnLoopShapePathData method \
 *
 * @returns { string } getBpmnLoopShapePathData method .\
 * @param {string} shape - provide the shape value.
 *
 * @private
 */
export  function getBpmnLoopShapePathData(shape: string): string;
//node_modules/@syncfusion/ej2-diagrams/src/diagram/objects/annotation.d.ts
/**
 * Defines the hyperlink for the annotations in the nodes/connectors
 */
export  class Hyperlink extends base.ChildProperty<Hyperlink> {
    /**
     * Sets the fill color of the hyperlink
     *
     * @default 'blue'
     */
    color: string;
    /**
     * Defines the content for hyperlink
     *
     * @default ''
     */
    content: string;
    /**
     * Defines the link for hyperlink
     *
     * @default ''
     */
    link: string;
    /**
     * Defines how the link should be decorated. For example, with underline/over line
     * * Overline - Decorates the text with a line above the text
     * * Underline - Decorates the text with an underline
     * * LineThrough - Decorates the text by striking it with a line
     * * None - Text will not have any specific decoration
     *
     * @default 'None'
     */
    textDecoration: TextDecoration;
    /**
     *Allows the user to open the hyperlink in the new tab, current tab or new window
     *
     * @default 'NewTab'
     */
    hyperlinkOpenState: LinkTarget;
}
/**
 * Defines the textual description of nodes/connectors
 */
export  class Annotation extends base.ChildProperty<Annotation> {
    /**
     * Sets the textual description of the node/connector
     *
     * @default ''
     */
    content: string;
    /**
     * Sets the textual description of the node/connector
     *
     * @default 'undefined'
     */
    template: string | HTMLElement | Function;
    /**
     *  Defines the type of annotation template
     * String -  Defines annotation template to be in string
     * Template - Defines annotation template to be in html content
     *
     * @default 'String'
     */
    annotationType: AnnotationType;
    /**
     * Defines the visibility of the label
     *
     * @default true
     */
    visibility: boolean;
    /**
     * Enables or disables the default behaviors of the label.
     * * ReadOnly - Enables/Disables the ReadOnly Constraints
     * * InheritReadOnly - Enables/Disables the InheritReadOnly Constraints
     *
     * @default 'InheritReadOnly'
     * @aspNumberEnum
     */
    constraints: AnnotationConstraints;
    /**
     * Sets the hyperlink of the label
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let nodes$: NodeModel[] = [{
     * id: 'node1', width: 100, height: 100, offsetX: 100, offsetY: 100,
     * annotations: [{ id: 'label1',
     * content: 'Default Shape', style: { color: 'red' },
     * hyperlink: { link: 'https://www.google.com', color : 'blue', textDecoration : 'Overline', content : 'google' }
     * }, {content: 'text', constraints: ~AnnotationConstraints.InheritReadOnly
     * }],
     * }];
     * let diagram$: Diagram = new Diagram({
     * ...
     * nodes : nodes,
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    hyperlink: HyperlinkModel;
    /**
     * Defines the unique id of the annotation
     *
     * @default ''
     */
    id: string;
    /**
     * Sets the width of the text
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    width: number;
    /**
     * Sets the height of the text
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    height: number;
    /**
     * Sets the rotate angle of the text
     *
     * @default 0
     */
    rotateAngle: number;
    /**
     * Gets or sets the reference mode for annotation rotation.
     *
     * @default 'Parent'
     */
    rotationReference: RotationReference;
    /**
     * 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;
    /**
     * This property is used to show tooltip for annotation on mouse over.
     *
     * @default new DiagramToolTip();
     */
    tooltip: DiagramTooltipModel;
    /**
     * Allows the user to save custom information/data about an annotation
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let addInfo: {}  = { content: 'label' };
     * let nodes$: NodeModel[] = [{
     * id: 'node1', width: 100, height: 100, offsetX: 100, offsetY: 100,
     * annotations: [{ id: 'label1',
     * content: 'text', constraints: ~AnnotationConstraints.InheritReadOnly, addInfo: addInfo
     * }],
     * }];
     * let diagram$: Diagram = new Diagram({
     * ...
     * nodes : nodes,
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    addInfo: Object;
    constructor(parent: any, propName: string, defaultValue: Object, isArray?: boolean);
}
/**
 * Defines the textual description of nodes/connectors with respect to bounds
 */
export  class ShapeAnnotation extends Annotation {
    /**
     * Sets the position of the annotation with respect to its parent bounds
     *
     * @default { x: 0.5, y: 0.5 }
     * @blazorType NodeAnnotationOffset
     */
    offset: PointModel;
    constructor(parent: any, propName: string, defaultValue: Object, isArray?: boolean);
    /**
     * @private
     * Returns the module of class ShapeAnnotation
     */
    getClassName(): string;
}
/**
 * Defines the connector annotation
 */
export  class PathAnnotation extends Annotation {
    /**
     * Sets the segment offset of annotation
     *
     * @default 0.5
     */
    offset: number;
    /**
     * Sets the displacement of an annotation from its actual position
     *
     * @aspDefaultValueIgnore
     * @blazorDefaultValueIgnore
     * @default undefined
     */
    displacement: PointModel;
    /**
     * Sets the segment alignment of annotation
     *  * Center - Aligns the annotation at the center of a connector segment
     *  * Before - Aligns the annotation before a connector segment
     *  * After - Aligns the annotation after a connector segment
     *
     * @default Center
     */
    alignment: AnnotationAlignment;
    /**
     * Enable/Disable the angle based on the connector segment
     *
     * @default false
     */
    segmentAngle: boolean;
    constructor(parent: any, propName: string, defaultValue: Object, isArray?: boolean);
    /**
     * Returns the module of class PathAnnotation.
     *
     * @returns {string}  Returns the module of class PathAnnotation.
     * @private
     */
    getClassName(): string;
}
//node_modules/@syncfusion/ej2-diagrams/src/diagram/objects/annotation-model.d.ts
/**
 * Interface for a class Hyperlink
 */
export interface HyperlinkModel {
    /**
     * Sets the fill color of the hyperlink
     *
     * @default 'blue'
     */
    color?: string;
    /**
     * Defines the content for hyperlink
     *
     * @default ''
     */
    content?: string;
    /**
     * Defines the link for hyperlink
     *
     * @default ''
     */
    link?: string;
    /**
     * Defines how the link should be decorated. For example, with underline/over line
     * * Overline - Decorates the text with a line above the text
     * * Underline - Decorates the text with an underline
     * * LineThrough - Decorates the text by striking it with a line
     * * None - Text will not have any specific decoration
     *
     * @default 'None'
     */
    textDecoration?: TextDecoration;
    /**
     *Allows the user to open the hyperlink in the new tab, current tab or new window
     *
     * @default 'NewTab'
     */
    hyperlinkOpenState?: LinkTarget;
}
/**
 * Interface for a class Annotation
 */
export interface AnnotationModel {
    /**
     * Sets the textual description of the node/connector
     *
     * @default ''
     */
    content?: string;
    /**
     * Sets the textual description of the node/connector
     *
     * @default 'undefined'
     */
    template?: string | HTMLElement | Function;
    /**
     *  Defines the type of annotation template
     * String -  Defines annotation template to be in string
     * Template - Defines annotation template to be in html content
     *
     * @default 'String'
     */
    annotationType?: AnnotationType;
    /**
     * Defines the visibility of the label
     *
     * @default true
     */
    visibility?: boolean;
    /**
     * Enables or disables the default behaviors of the label.
     * * ReadOnly - Enables/Disables the ReadOnly Constraints
     * * InheritReadOnly - Enables/Disables the InheritReadOnly Constraints
     *
     * @default 'InheritReadOnly'
     * @aspNumberEnum
     */
    constraints?: AnnotationConstraints;
    /**
     * Sets the hyperlink of the label
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let nodes$: NodeModel[] = [{
     * id: 'node1', width: 100, height: 100, offsetX: 100, offsetY: 100,
     * annotations: [{ id: 'label1',
     * content: 'Default Shape', style: { color: 'red' },
     * hyperlink: { link: 'https://www.google.com', color : 'blue', textDecoration : 'Overline', content : 'google' }
     * }, {content: 'text', constraints: ~AnnotationConstraints.InheritReadOnly
     * }],
     * }];
     * let diagram$: Diagram = new Diagram({
     * ...
     * nodes : nodes,
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    hyperlink?: HyperlinkModel;
    /**
     * Defines the unique id of the annotation
     *
     * @default ''
     */
    id?: string;
    /**
     * Sets the width of the text
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    width?: number;
    /**
     * Sets the height of the text
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    height?: number;
    /**
     * Sets the rotate angle of the text
     *
     * @default 0
     */
    rotateAngle?: number;
    /**
     * Gets or sets the reference mode for annotation rotation.
     *
     * @default 'Parent'
     */
    rotationReference?: RotationReference;
    /**
     * 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;
    /**
     * This property is used to show tooltip for annotation on mouse over.
     *
     * @default new DiagramToolTip();
     */
    tooltip?: DiagramTooltipModel;
    /**
     * Allows the user to save custom information/data about an annotation
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let addInfo$: {}  = { content: 'label' };
     * let nodes$: NodeModel[] = [{
     * id: 'node1', width: 100, height: 100, offsetX: 100, offsetY: 100,
     * annotations: [{ id: 'label1',
     * content: 'text', constraints: ~AnnotationConstraints.InheritReadOnly, addInfo: addInfo
     * }],
     * }];
     * let diagram$: Diagram = new Diagram({
     * ...
     * nodes : nodes,
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    addInfo?: Object;
}
/**
 * Interface for a class ShapeAnnotation
 */
export interface ShapeAnnotationModel extends AnnotationModel{
    /**
     * Sets the position of the annotation with respect to its parent bounds
     *
     * @default { x: 0.5, y: 0.5 }
     * @blazorType NodeAnnotationOffset
     */
    offset?: PointModel;
}
/**
 * Interface for a class PathAnnotation
 */
export interface PathAnnotationModel extends AnnotationModel{
    /**
     * Sets the segment offset of annotation
     *
     * @default 0.5
     */
    offset?: number;
    /**
     * Sets the displacement of an annotation from its actual position
     *
     * @aspDefaultValueIgnore
     * @blazorDefaultValueIgnore
     * @default undefined
     */
    displacement?: PointModel;
    /**
     * Sets the segment alignment of annotation
     *  * Center - Aligns the annotation at the center of a connector segment
     *  * Before - Aligns the annotation before a connector segment
     *  * After - Aligns the annotation after a connector segment
     *
     * @default Center
     */
    alignment?: AnnotationAlignment;
    /**
     * Enable/Disable the angle based on the connector segment
     *
     * @default false
     */
    segmentAngle?: boolean;
}
//node_modules/@syncfusion/ej2-diagrams/src/diagram/objects/interface/interfaces.d.ts
/**
 * Defines the context menu item model.
 */
export interface ContextMenuItemModel extends navigations.MenuItemModel {
    /**
     * Define the target to show the menu item.
     */
    target?: string;
}
export interface ZoomOptions {
    /**
     * Sets the factor by which we can zoom in or zoom out
     */
    zoomFactor?: number;
    /** Allows to read the focus value of diagram */
    focusPoint?: PointModel;
    /** Defines the zoom type as zoomIn or ZoomOut */
    type?: ZoomTypes;
}
/**
 * Defines the intensity of the color as an integer between 0 and 255.
 */
export interface ColorValue {
    /**
     * Defines the intensity of the red color as an integer between 0 and 255.
     */
    r?: number;
    /**
     * Defines the intensity of the green color as an integer between 0 and 255.
     */
    g?: number;
    /**
     * Defines the intensity of the blue color as an integer between 0 and 255.
     */
    b?: number;
}
/**
 * Defines the options to export diagrams
 */
export interface IPrintOptions {
    /**
     * Sets the width of the page to be printed
     *
     * @default null
     */
    pageWidth?: number;
    /**
     * Sets the height of the page to be printed
     *
     * @default null
     */
    pageHeight?: number;
    /**
     * Sets the margin of the page to be printed
     *
     * @default new Margin(0,0,0,0)
     */
    margin?: MarginModel;
    /**
     * Sets the orientation of the page to be printed
     *  * Landscape - Display with page Width is more than the page Height.
     *  * Portrait - Display with page Height is more than the page width.
     *
     * @default 'Landscape'
     */
    pageOrientation?: PageOrientation;
    /**
     * Defines whether the diagram has to be exported as single or multiple images
     *
     * @default false
     */
    multiplePage?: boolean;
    /**
     * Sets the region for the print settings
     * * PageSettings - The region to be exported/printed will be based on the given page settings
     * * Content - Only the content of the diagram control will be exported
     * * CustomBounds - The region to be exported will be explicitly defined
     *
     * @default 'PageSettings'
     */
    region?: DiagramRegions;
    /**
     * Sets the aspect ratio  of the exported image
     * * None - Sets the stretch type for diagram as None
     * * Stretch - Sets the stretch type for diagram as Stretch
     * * Meet - Sets the stretch type for diagram as Meet
     * * Slice - Sets the stretch type for diagram as Slice
     *
     * @default Stretch
     */
    stretch?: Stretch;
}
/**
 * Defines the options to export diagrams
 */
export interface IExportOptions extends IPrintOptions {
    /**
     * Sets the file name of the exported image
     *
     * @default('')
     */
    fileName?: string;
    /**
     * Sets the file format to save the file
     * * JPG - Save the file in JPG Format
     * * PNG - Saves the file in PNG Format
     * * BMP - Save the file in BMP Format
     * * SVG - save the file in SVG format
     *
     * @default('')
     */
    format?: FileFormats;
    /**
     * Sets the Mode for the file to be downloaded
     * * Download - Downloads the diagram as image
     * * Data - Sends the diagram as ImageUrl
     *
     * @default('Download')
     */
    mode?: ExportModes;
    /**
     * Sets the region that has to be exported
     *
     * @default (0)
     */
    bounds?: Rect;
    /**
     * Sets the printOptions that has to be printed
     *
     * @default false
     */
    printOptions?: boolean;
}
/** Interface to cancel the diagram context menu click event */
export interface DiagramMenuEventArgs extends navigations.MenuEventArgs {
    cancel?: boolean;
    /**
     */
    item: navigations.MenuItemModel;
}
/** Defines the event before opening the context menu */
export interface DiagramBeforeMenuOpenEventArgs extends navigations.BeforeOpenCloseMenuEventArgs {
    /**
     * Defines the hidden items of the diagram context menu
     *
     */
    hiddenItems: string[];
    /**
     */
    items: navigations.MenuItemModel[];
    /**
     */
    parentItem: navigations.MenuItemModel;
}
/**Defines the options to add / remove the intermediate segment points for straight connector.  */
export interface IEditSegmentOptions {
    /**  Defines the connector in which segment to be add/remove */
    connector?: ConnectorModel;
    /** Specify a value used as an intersection point on the segment  */
    point?: PointModel;
    /** Specify a value that defines whether to add or remove or toggle the segment editing operation  */
    SegmentEditing?: SegmentEditing;
    /** Specify the range of the intersection point selection  */
    hitPadding?: number;
}
/**
 * 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;
    /**
     * Enables/Disables zooming to fit the larger content into current viewport regardless of scrollSettings.minZoom property value.
     * @default false
     */
    canZoomOut?: boolean;
}
/** @private */
export interface ITouches {
    pageX?: number;
    pageY?: number;
    pointerId?: number;
}
/** @private */
export interface View {
    mode: RenderingMode;
    removeDocument: Function;
    updateView: Function;
    updateHtmlLayer: Function;
    renderDocument: Function;
    initializeOverviewLayers: 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[];
    };
}
/**
 * Represents the data structure for a hierarchy node in the diagram.
 */
export interface HierarchyData {
    text: string;
    branch: BranchTypes;
    children: HierarchyData[];
    currentLevel: number;
}
export interface SpaceLevel {
    space: string;
    level: number;
}
export interface NodeData {
    nodeId: string;
    annotationContent: string;
    nodeShapeData: BasicShapeModel | FlowShapeModel | PathModel;
}
export interface IGraph {
    nodes: NodeModel[];
    edges: ConnectorModel[];
}
export interface ConnectorStyle {
    targetDecorator: DecoratorShapes;
    strokeWidth: number;
    strokeDashArray: string;
    opacity: number;
}
export interface MermaidStyle {
    id: string;
    fill: string;
    stroke: string;
    strokeWidth: number;
}
export interface TouchArgs {
    target: HTMLElement;
    type: string;
}
export interface ParentContainer {
    width: number;
    height: number;
    offsetX: number;
    offsetY: number;
    parentTransform: number;
    rotateAngle: number;
    padding: Thickness;
}
export interface ChildTextElement {
    horizontalAlignment: HorizontalAlignment;
    verticalAlignment: VerticalAlignment;
    margin: MarginModel;
    desiredSize: Size;
    inversedAlignment: boolean;
    pivot: PointModel;
}
//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 notifies after data is loaded.
 */
export interface IDataLoadedEventArgs {
    /** returns the instance of the diagram. */
    diagram: Diagram;
}
/**
 * ISelectionChangeEventArgs notifies when the node/connector are select.
 *
 */
export interface ISelectionChangeEventArgs {
    /** returns the collection of nodes and connectors that must be removed from selection list */
    oldValue: (NodeModel | ConnectorModel | AnnotationModel)[];
    /** returns the collection of nodes and connectors that must be added to selection list  */
    newValue: (NodeModel | ConnectorModel | AnnotationModel)[];
    /**
     Triggers before and after adding the selection to 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;
}
/**
 * ILayoutUpdatedEventArgs notifies when the layout rendering state changes.
 */
export interface ILayoutUpdatedEventArgs {
    /** returns whether the layout rendering has started or completed. */
    state: LayoutState;
    /** returns the type of layout being rendered. */
    type: LayoutType;
}
/**
 * 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 size change event (Start, Progress, Completed) */
    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 rotate event (Start, Progress, Completed) */
    state: State;
    /** returns the previous rotation angle
     *
     */
    oldValue: SelectorModel;
    /** returns the new rotation angle
     *
     */
    newValue: SelectorModel;
    /** returns whether to cancel the change or not */
    cancel: boolean;
}
/**
 * IConnectorInitEventArgs notifies when the connector is initiated
 */
export interface IConnectorInitEventArgs {
    /** returns connector that is being changed
     *
     */
    element?: ConnectorModel;
}
/**
 * DiagramCollectionObject is the interface for the diagram objects
 *
 */
export interface DiagramEventObjectCollection {
    /** returns the collection of node
     *
     */
    nodes?: NodeModel[];
    /** returns the collection of connector
     *
     */
    connectors?: ConnectorModel[];
    /**
     * @private
     * Returns the collection of node id
     *
     */
    nodeCollection?: string[];
    /**
     * @private
     * Returns the collection of connector id
     *
     */
    connectorCollection?: string[];
}
/**
 * DiagramObject is the interface for the diagram object
 *
 */
export interface DiagramEventObject {
    /** returns the  node
     *
     */
    node?: NodeModel;
    /** returns the  connector
     *
     */
    connector?: ConnectorModel;
    /**
     * @private
     * returns the id of node
     *
     */
    nodeId?: string;
    /**
     * @private
     * returns the id of connector
     *
     */
    connectorId?: string;
}
/**
 * fixedUserHandleClickEventArgs notifies when the fixed user handle gets clicked
 *
 */
/**   @private  */
export interface BlazorFixedUserHandleClickEventArgs {
    /** returns the fixed user handle of nodes/connector.
     */
    fixedUserHandle: DiagramFixedUserHandle;
    /** returns the selected nodes/connector. */
    element: DiagramEventObject;
}
/**
 * fixedUserHandleClickEventArgs notifies when the fixed user handle gets clicked
 *
 */
export interface FixedUserHandleClickEventArgs {
    /** returns the fixed user handle of nodes/connector.
     */
    fixedUserHandle: NodeFixedUserHandleModel | ConnectorFixedUserHandleModel;
    /** returns the selected nodes/connector */
    element: NodeModel | ConnectorModel;
}
/**
 * DiagramFixedUserHandle is the interface for the fixed user handle
 *
 */
/**   @private  */
export interface DiagramFixedUserHandle {
    /** returns the  node fixed user handle
     *
     */
    nodeFixedUserHandle?: NodeFixedUserHandleModel;
    /** returns the  connector fixed user handle
     */
    connectorFixedUserHandle?: ConnectorFixedUserHandleModel;
}
/**
 * ICollectionChangeEventArgs notifies while the node/connector are added or removed.
 *
 */
export interface ICollectionChangeEventArgs {
    /** returns the element that is going to added or removed from the diagram. */
    element: NodeModel | ConnectorModel;
    /** returns the action of diagram */
    cause: DiagramAction;
    /** returns the string of the DiagramAction*/
    diagramAction: string;
    /** returns the state of collection change event (Changing, Changed, Canceled) */
    state: EventState;
    /** returns the type of the collection change. */
    type: ChangeType;
    /** returns whether to cancel the change or not. */
    cancel: boolean;
    /** returns the lane index */
    laneIndex?: Number;
    /** returns a parent node of the target node */
    parentId?: string;
}
/**
 * IBlazorCollectionChangeEventArgs notifies while the node/connector are added or removed in the diagram
 *
 */
export interface IBlazorCollectionChangeEventArgs {
    /** returns the action of diagram */
    cause: DiagramAction;
    /** returns the state of the event */
    state: EventState;
    /** returns the type of the collection change */
    type: ChangeType;
    /** returns whether to cancel the change or not */
    cancel: boolean;
    /** returns the selected element  */
    element?: DiagramEventObject;
}
/**
 * IBlazorSegmentCollectionChangeEventArgs notifies while the segment of the connectors changes
 *
 */
export interface IBlazorSegmentCollectionChangeEventArgs {
    /** returns the selected element
     *
     */
    element: ConnectorModel;
    /** returns the selected element  */
    removeSegments?: OrthogonalSegmentModel[];
    /** returns the action of diagram */
    addSegments?: OrthogonalSegmentModel[];
    /** returns the type of the collection change */
    type: ChangeType;
    /** returns whether to cancel the change or not */
    cancel: boolean;
}
/**
 * UserHandleEventsArgs notifies while the user handle gets clicked.
 *
 */
export interface UserHandleEventsArgs {
    /** returns the user handle object that is being clicked. */
    element: UserHandleModel;
}
/**
 * FixedUserHandleEventsArgs notifies while the fixed user handle gets clicked.
 *
 */
export interface FixedUserHandleEventsArgs {
    /** returns the fixed user handle object that is being clicked. */
    element: FixedUserHandleModel;
}
/**
 * ISegmentCollectionChangeEventArgs notifies while the segments are added or removed from the connector.
 *
 */
export interface ISegmentCollectionChangeEventArgs {
    /** returns the selected element
     *
     */
    element: ConnectorModel;
    /** returns the collection of segment that must be removed from connector segment collection */
    removeSegments?: (OrthogonalSegmentModel | StraightSegmentModel | BezierSegmentModel)[];
    /**returns the collection of segment that must be added to connector segment collection */
    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 of diagram. */
    cause: DiagramAction;
    /** returns the string of the DiagramAction*/
    diagramAction: string;
    /** returns the old value of the property that is being changed */
    oldValue: DiagramModel | NodeModel | ConnectorModel;
    /** returns the new value of the node property that is being changed */
    newValue: DiagramModel | NodeModel | ConnectorModel;
}
/**
 * PropertyChangeObject notifies whether it is node or connector
 */
export interface DiagramPropertyChangeObject {
    /** returns the new source node or target node of the connector
     *
     */
    node?: NodeModel;
    /** returns the new source node or target node of the connector
     *
     */
    connector?: ConnectorModel;
    diagram?: DiagramModel;
}
/**
 * IBlazorPropertyChangeEventArgs notifies when the node/connector property changed
 *
 */
export interface IBlazorPropertyChangeEventArgs {
    /** returns the selected element */
    element: DiagramPropertyChangeObject;
    /** returns the action is nudge or not */
    cause: DiagramAction;
    /** returns the string of the DiagramAction*/
    diagramAction: string;
    /** returns the old value of the property that is being changed */
    oldValue: DiagramPropertyChangeObject;
    /** returns the new value of the node property that is being changed */
    newValue: DiagramPropertyChangeObject;
}
/**
 * IDraggingEventArgs notifies when the node/connector are dragged
 *
 */
export interface IDraggingEventArgs {
    /** returns the node or connector that is being dragged. */
    source: SelectorModel;
    /** returns the state of drag event (Starting, dragging, completed) */
    state: State;
    /** returns the previous node or connector that is dragged */
    oldValue: SelectorModel;
    /** returns the current node or connector that is being dragged */
    newValue: SelectorModel;
    /** returns the target node or connector that is dragged */
    target: NodeModel | ConnectorModel;
    /** returns the offset of the selected items */
    targetPosition: PointModel;
    /** returns the object that can be dropped over the element */
    allowDrop: boolean;
    /** returns whether to cancel the change or not */
    cancel: boolean;
}
export interface ConnectorValue {
    nodeId: string;
    portId: string;
}
/**
 * BlazorConnectionObject interface for the connector object
 *
 */
export interface BlazorConnectionObject {
    /** returns the new source node or target node of the connector
     *
     */
    connector?: ConnectorModel;
    connectorTargetValue?: ConnectorValue;
    connectorSourceValue?: ConnectorValue;
}
/**
 * IBlazorConnectionChangeEventArgs notifies when the connector are connect or disconnect
 *
 */
export interface IBlazorConnectionChangeEventArgs {
    /** returns the new source node or target node of the connector
     *
     */
    connector?: ConnectorModel;
    /** returns the previous source or target node of the element */
    oldValue: BlazorConnectionObject;
    /** returns the current source or target node of the element */
    newValue: BlazorConnectionObject;
    /** returns the connector end  */
    connectorEnd: string;
    /** returns the state of connection end point dragging(starting, dragging, completed) */
    state: EventState;
    /** returns whether to cancel the change or not */
    cancel: boolean;
}
/**
 * IBlazorDragLeaveEventArgs notifies when the element leaves from  the diagram
 *
 */
export interface IBlazorDragLeaveEventArgs {
    /** returns the id of the diagram */
    diagramId: string;
    /** returns the node or connector that is dragged outside of the diagram */
    element: DiagramEventObject;
}
/**
 * IBlazorDraggingEventArgs notifies when the node/connector are dragged
 */
export interface IBlazorDraggingEventArgs {
    /** returns the node or connector that is being dragged
     *
     */
    source?: SelectorModel;
    /** returns the state of drag event (Starting, dragging, completed) */
    state: State;
    /** returns the previous node or connector that is dragged
     *
     */
    oldValue: SelectorModel;
    /** returns the current node or connector that is being dragged
     *
     */
    newValue: SelectorModel;
    /** returns the target node or connector that is dragged */
    target: DiagramEventObject;
    /** returns the offset of the selected items */
    targetPosition: PointModel;
    /** returns the object that can be dropped over the element */
    allowDrop: boolean;
    /** returns whether to cancel the change or not */
    cancel: boolean;
}
/**
 * IConnectionChangeEventArgs notifies when the connector is connected or disconnect from the node.
 *
 */
export interface IConnectionChangeEventArgs {
    /** returns the selected connector */
    connector: ConnectorModel;
    /** returns the previous source or target node of the element */
    oldValue: Connector | {
        nodeId: string;
        portId: string;
    };
    /** returns the new 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 is resized
 *
 */
export interface IEndChangeEventArgs {
    /** returns the connector, the source / target point which is being dragged
     *
     */
    connector: ConnectorModel;
    /** returns the previous point of the connector */
    oldValue: PointModel;
    /** returns the current point of the connector */
    newValue: PointModel;
    /** returns the target node of the element */
    targetNode: string;
    /** returns the target port of the element */
    targetPort: string;
    /** returns the source node of the element */
    sourceNode?: string;
    /** returns the source port of the element */
    sourcePort?: string;
    /** returns the state of connection end point dragging (starting, dragging, completed) */
    state: State;
    /** returns whether to cancel the change or not */
    cancel: boolean;
}
/**
 * Animation - Animation notifies when the animation is taken place.
 *
 */
export interface Animation {
    /** returns the state of animation event (Start, Progress, Completed) */
    state: State;
}
/**
 * IClickEventArgs - IClickEventArgs notifies while click on the objects or diagram.
 *
 */
export interface IClickEventArgs {
    /** returns the object that is clicked or instance 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 object that is clicked or instance of the diagram */
    actualObject: SelectorModel | Diagram;
    /** returns the button clicked */
    button?: MouseButtons;
}
/**
 * IBlazorClickEventArgs notifies while click on the objects or diagram
 *
 */
export interface IBlazorClickEventArgs {
    /** returns the object that is clicked or id of the diagram */
    element: DiagramClickEventObject;
    /** returns the object position that is actually clicked */
    position: PointModel;
    /** returns the number of times clicked */
    count: number;
    /** returns the actual object that is clicked or id of the diagram */
    actualObject: DiagramClickEventObject;
    /** returns the button clicked */
    button?: MouseButtons;
}
/**
 * IDoubleClickEventArgs - IDoubleClickEventArgs notifies while double click on the diagram or its objects
 *
 */
export interface IDoubleClickEventArgs {
    /** returns the object that is clicked or instance of the diagram */
    source: SelectorModel | Diagram;
    /** returns the object position that is actually clicked */
    position: PointModel;
    /** returns the number of times clicked */
    count: number;
}
/**
 * ClickedObject notifies whether it is node or connector
 */
export interface DiagramClickEventObject {
    /** returns the selected items
     *
     */
    selector?: SelectorModel;
    diagram?: Diagram;
}
/**
 * IDoubleClickEventArgs notifies while double click on the diagram or its objects
 *
 */
export interface IBlazorDoubleClickEventArgs {
    /** returns the object that is clicked or id of the diagram */
    source: DiagramClickEventObject;
    /** returns the object position that is actually clicked */
    position: PointModel;
    /** returns the number of times clicked */
    count: number;
}
export interface IMouseEventArgs {
    /** returns a parent node of the target node or connector */
    element: NodeModel | ConnectorModel | SelectorModel;
    /** returns when mouse hover to the target node or connector */
    actualObject: Object;
    /** returns the target object over which the selected object is dragged */
    targets: (NodeModel | ConnectorModel)[];
}
/**
 * MouseEventElement notifies whether it is node or connector or selector model
 */
export interface DiagramMouseEventObject {
    /** returns the new source node or target node of the connector
     *
     */
    node?: NodeModel;
    /** returns the new source node or target node of the connector
     *
     */
    connector?: ConnectorModel;
    selector?: SelectorModel;
}
/**
 * MouseEventElement notifies whether it is node or connector or selector model
 */
export interface DiagramEventObjectCollection {
    /** returns the collection of node
     * ObservableCollection<DiagramNode>
     */
    node?: NodeModel[];
    /** returns the collection of connectors
     * ObservableCollection<DiagramConnector>
     */
    connector?: ConnectorModel[];
}
export interface IBlazorMouseEventArgs {
    /** returns a parent node of the target node or connector */
    element: DiagramMouseEventObject;
    /** returns when mouse hover to the target node or connector */
    actualObject: DiagramMouseEventObject;
    /** returns the target object over which the selected object is dragged */
    targets: DiagramEventObjectCollection;
}
/**
 * elementDraw triggered when node or connector are drawn with drawing tool
 *
 */
export interface IElementDrawEventArgs {
    /**returns the node or connector which we draw with drawing tool */
    source: NodeModel | ConnectorModel;
    /**returns the state of drawing tool event */
    state: State;
    /**returns the node or connector about to be drawn */
    objectType: string;
    /**returns the node shape name or connector type */
    elementType: string;
    /**returns whether to cancel the drawing shape or connector in the start state */
    cancel: boolean;
}
/**
 * scrollArgs notifies when the scroller had updated
 *
 */
export interface ScrollValues {
    /** returns the horizontaloffset of the scroller */
    HorizontalOffset: number;
    /** returns the verticalOffset of the scroller */
    VerticalOffset: number;
    /** returns the CurrentZoom of the scroller */
    CurrentZoom: number;
    /** returns the ViewportWidth of the scroller */
    ViewportWidth: number;
    /** returns the ViewportHeight of the scroller */
    ViewportHeight: number;
}
/**
 * IBlazorScrollChangeEventArgs notifies when the scroller has changed
 *
 */
export interface IBlazorScrollChangeEventArgs {
    /** returns the object that is clicked or id of the diagram */
    sourceId: string;
    /** returns the previous delay value between subsequent auto scrolls */
    oldValue: ScrollValues;
    /** returns the new delay value between subsequent auto scrolls */
    newValue: ScrollValues;
    /** returns the pan state of the object */
    panState: State;
}
/**
 * IScrollChangeEventArgs - IScrollChangeEventArgs notifies when the scroller has changed
 *
 */
export interface IScrollChangeEventArgs {
    /** returns the object that is clicked or instance of the diagram */
    source: SelectorModel | Diagram;
    /** returns the previous delay value between subsequent auto scrolls */
    oldValue: ScrollValues;
    /** returns the new delay value between subsequent auto scrolls */
    newValue: ScrollValues;
    /** returns the pan state of scroll change event (Start, Progress, Completed) */
    panState: State;
}
/**
 * IMouseWheelEventArgs - Event triggers whenever the user rotates the mouse wheel either upwards or downwards
 *
 */
export interface IMouseWheelEventArgs {
    /** returns the DOM Object */
    event: WheelEvent;
    /** specifies whether to cancel the mouse wheel interaction in the diagram */
    cancel: boolean;
}
/**
 * IPaletteSelectionChangeArgs - IPaletteSelectionChangeArgs notifies when the selection objects change in the symbol palette.
 *
 */
export interface IPaletteSelectionChangeArgs {
    /** returns the old palette item that is selected. */
    oldValue: string;
    /** returns the new palette item that is selected. */
    newValue: string;
}
/**
 * IPaletteExpandArgs - IPaletteExpandArgs notifies when the palette items are expanded or collapsed in the symbol palette
 *
 */
export interface IPaletteExpandArgs {
    /** returns the index of the palette item selected. */
    index: number;
    /** returns the value whether the palette item is expanded */
    isExpanded: boolean;
    /** cancels the palette item expand or collapse */
    cancel: boolean;
    /** returns the content of the palette item that is selected */
    content: HTMLElement;
    /** returns the palette item selected */
    element: HTMLElement;
    /** returns the properties of the palette item selected */
    palette: PaletteModel;
}
/**
 * IDragEnterEventArgs - IDragEnterEventArgs notifies when the element enters 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 instance of the diagram. */
    diagram: DiagramModel;
    /** returns whether to add or remove the symbol from diagram*/
    cancel: boolean;
    /** returns the node or connector that been dragged into diagram from other component */
    dragData: base.DropInfo;
    /** returns the node or connector that been returned into the diagram */
    dragItem: NodeModel | ConnectorModel;
}
/**
 * IBlazorDragEnterEventArgs notifies when the element enter into the diagram from symbol palette
 *
 */
export interface IBlazorDragEnterEventArgs {
    /** returns the node or connector that is to be dragged into diagram */
    source: Object;
    /** returns the node or connector that is dragged into diagram */
    element: DiagramEventObject;
    /** returns the id of the diagram */
    diagramId: string;
    /** parameter returns whether to add or remove the symbol from diagram */
    cancel: boolean;
}
/**
 * IDragLeaveEventArgs - IDragLeaveEventArgs notifies when the element leaves from the diagram
 *
 */
export interface IDragLeaveEventArgs {
    /** returns the instance of the diagram */
    diagram: DiagramModel;
    /** returns the node or connector that is dragged outside of the diagram
     *
     */
    element: SelectorModel;
}
/**
 * IDragOverEventArgs - IDragOverEventArgs notifies when an element drags over another diagram element
 *
 */
export interface IDragOverEventArgs {
    /** returns the instance 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 - ITextEditEventArgs notifies when the label of an element undergoes editing
 */
export interface ITextEditEventArgs {
    /** returns the old text value of the element. */
    oldValue: string;
    /** returns the new text value of the element. */
    newValue: string;
    /** returns a node or connector in which annotation is being edited. */
    element: NodeModel | ConnectorModel;
    /** returns an annotation which is being edited. */
    annotation: ShapeAnnotationModel | PathAnnotationModel | TextModel;
    /** returns whether to cancel the event. */
    cancel: boolean;
}
/**
 * IBlazorTextEditEventArgs notifies when the label of an element under goes editing
 */
export interface IBlazorTextEditEventArgs {
    /** Returns the old text value of the element */
    oldValue: string;
    /** Returns the new text value of the element that is being changed */
    newValue: string;
    /** Returns a node or connector in which annotation is being edited */
    element: DiagramEventObject;
    /** Returns a annotation which is being edited */
    annotation: DiagramEventAnnotation;
    /** Returns whether or not to cancel the event */
    cancel: boolean;
}
/**
 * DiagramObject is the interface for the diagram object
 *
 */
export interface DiagramEventAnnotation {
    /** returns the  node annotation
     */
    nodeAnnotation?: ShapeAnnotationModel;
    /** returns the  connector annotationAnnotation
     */
    connectorAnnotation?: PathAnnotationModel;
    /**
     * @private
     * returns the id of node
     *
     */
    annotationId?: string;
    /** returns the  text node
     *
     */
    textNode?: TextModel;
}
/**
 * IBlazorHistoryChangeArgs notifies while the node/connector are added or removed
 *
 */
export interface IBlazorHistoryChangeArgs {
    /** returns an array of objects, where each object represents the changes made in last undo/redo */
    change: ChangedObject;
    /** returns the cause of the event */
    cause: string;
    /** returns a collection of objects that are changed in the last undo/redo */
    source?: DiagramEventObjectCollection;
    /** returns the event action */
    action?: HistoryChangeAction;
}
/**
 * IHistoryChangeArgs - IHistoryChangeArgs notifies when the undo/redo operation perform.
 *
 */
export interface IHistoryChangeArgs {
    /** returns a collection of objects that are changed in the last undo/redo */
    source: (NodeModel | ConnectorModel)[];
    /** returns a string array of changed property of node/connector */
    sourceId: string[];
    /** returns an array of objects, where each object represents the changes made in last undo/redo */
    change: SelectorModel;
    /** returns the cause of the event */
    cause: string;
    /** returns the event action */
    action?: HistoryChangeAction;
}
/**
 * IBlazorChangeArgs
 *
 */
export interface ChangedObject {
    /** returns the type of the entry */
    entryType: string;
    /** returns a collection of objects that are changed in the last undo/redo */
    oldValue: ChangedValues;
    /** returns an array of objects, where each object represents the changes made in last undo/redo */
    newValue: ChangedValues;
}
export interface ChangedValues {
    /** returns a object's offset x  */
    offsetX?: number;
    /** returns a object's offset y  */
    offsetY?: number;
    /** returns a object's width  */
    width?: number;
    /** returns a object's height */
    height?: number;
    /** returns a object's rotateangle  */
    rotateAngle?: number;
}
/**
 * ICustomHistoryChangeArgs - ICustomHistoryChangeArgs notifies when the custom undo/redo operation perform.
 *
 */
export interface ICustomHistoryChangeArgs {
    /** returns the type of the entry that means undo or redo */
    entryType: string;
    /** returns a collection of objects that are changed in the last undo/redo */
    oldValue: NodeModel | ConnectorModel | SelectorModel | DiagramModel | ShapeAnnotation | PathAnnotation | PointPortModel;
    /** returns an array of objects, where each object represents the changes made in last undo/redo */
    newValue: NodeModel | ConnectorModel | SelectorModel | DiagramModel | ShapeAnnotation | PathAnnotation | PointPortModel;
}
/**
 * ICustomHistoryChangeArgs notifies when the label of an element under goes editing
 *
 */
export interface IBlazorCustomHistoryChangeArgs {
    /** returns the type of the entry that means undo or redo */
    entryType: string;
    /** returns a collection of objects that are changed in the last undo/redo */
    oldValue: HistoryChangeEventObject;
    /** returns an array of objects, where each object represents the changes made in last undo/redo */
    newValue: HistoryChangeEventObject;
}
export interface HistoryChangeEventObject {
    /** returns a node objects
     *
     */
    node?: Node;
    /** returns a connector objects
     *
     */
    connector?: ConnectorModel;
    /** returns a selector objects
     *
     */
    selector?: SelectorModel;
    /** returns a diagram objects  */
    diagram?: DiagramModel;
    /** returns a shape annotation objects
     */
    shapeAnnotation?: ShapeAnnotation;
    /** returns a path annotation objects
     */
    pathAnnotation?: PathAnnotation;
    /** returns port objects  */
    pointPortModel?: PointPortModel;
    /** returns the custom objects  */
    object?: object;
}
/**
 * DiagramDropObject notifies when the element is dropped in the diagram in blazor
 *
 */
export interface DiagramEventDropObject {
    /** returns a node objects
     *
     */
    node?: NodeModel;
    /** returns a connector objects
     *
     */
    connector?: ConnectorModel;
    /** returns a diagram objects  */
    diagramId?: string;
}
/**
 * IBlazorDropEventArgs notifies when the element is dropped in the diagram in blazor
 *
 */
export interface IBlazorDropEventArgs {
    /** returns node or connector that is being dropped */
    element: DiagramEventObject;
    /** returns the object from where the element is dragged */
    source?: Object;
    /** returns the object over which the object will be dropped */
    target: DiagramEventDropObject;
    /** returns the position of the object */
    position: PointModel;
    /** returns whether or not to cancel the drop event */
    cancel: boolean;
}
/**
 * IDropEventArgs - IDropEventArgs notifies when the element is dropped in the diagram
 *
 */
export interface IDropEventArgs {
    /** returns node or connector that is being dropped into diagram */
    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 dropped object. */
    position: PointModel;
    /** returns whether or not to cancel the drop event */
    cancel: boolean;
}
/**
 * ISegmentChangeEventArgs - ISegmentChangeEventArgs triggered when we drag the segment thumb of Orthogonal/ Straight /Bezier connector
 */
export interface ISegmentChangeEventArgs {
    /** Returns the connector, the segment of which is being dragged */
    source: ConnectorModel;
    /** Returns the current state of segment change event (Start, Progress, Completed)  */
    state: State;
    /** Returns the segment with the newly changed values */
    newValue: OrthogonalSegmentModel | StraightSegmentModel | BezierSegmentModel;
    /** Returns the segment with the values before the event triggered.  */
    oldValue: OrthogonalSegmentModel | StraightSegmentModel | BezierSegmentModel;
    /** Returns whether to cancel the change or not when the event state is Start.  */
    cancel: boolean;
    /** Returns the segment which is being dragged  */
    segment: OrthogonalSegmentModel | StraightSegmentModel | BezierSegmentModel;
}
/**
 * Interface for command
 * ICommandExecuteEventArgs – ICommandExecuteEventArgs notifies when custom command executed in the diagram.
 */
export interface ICommandExecuteEventArgs {
    /** Sets the key value, on recognition of which the command will be executed */
    gesture: KeyGestureModel;
}
/** @private */
export interface StackEntryObject {
    targetIndex?: number;
    target?: NodeModel;
    sourceIndex?: number;
    source?: NodeModel;
}
/**
 * IExpandStateChangeEventArgs - IExpandStateChangeEventArgs notifies when the node is expanded or collapsed.
 */
export interface IExpandStateChangeEventArgs {
    /**returns node that is being expanded or collapsed.
     *
     */
    element?: NodeModel;
    /** returns whether or not to expanded. */
    state?: boolean;
}
/**
 * IImageLoadEventArgs - IImageLoadEventArgs notifies while the image node is loaded.
 *
 */
export interface IImageLoadEventArgs {
    /** returns the node in which image is loaded
     *
     */
    element: NodeModel;
    /** returns the size of an image element. */
    size: Size;
}
/**
 * IKeyEventArgs - IKeyEventArgs notifies while perform the key actions in the diagram.
 *
 */
export interface IKeyEventArgs {
    /** Returns the selected element of the diagram
     *
     */
    element?: SelectorModel;
    /** Returns the text content of the label currently editing */
    text?: string;
    /** Returns the id of the text box element in editing mode. */
    target?: string;
    /** Returns the label which is currently editing */
    label?: object;
    /** Returns value of the key action */
    key?: string;
    /** Returns a number which represents an actual key pressed. */
    keyCode?: number;
    /** Returns any, modifier keys were pressed when the flick gesture occurred. */
    keyModifiers?: KeyModifiers;
    /** Returns a value which represents an elements old position before nudge. */
    oldValue?: ElementOffset;
    /** Returns a value which represents an elements new position after nudge. */
    newValue?: ElementOffset;
}
export interface ElementOffset {
    /** returns a object's offset x  */
    offsetX?: number;
    /** returns a object's offset y  */
    offsetY?: number;
}
/**
 * ILoadEventArgs - ILoadEventArgs defines the event arguments when diagram rendering is initialized.
 */
export interface ILoadEventArgs {
    /** Returns the name of the event. */
    name?: string;
    /** Returns the diagram instance. */
    diagram?: Diagram;
}
/**
 * ILoadedEventArgs - ILoadedEventArgs defines the event arguments after the diagram elements finished loading using loadDiagram method.
 */
export interface ILoadedEventArgs {
    /** Returns the event name . */
    name?: string;
    /** Returns the diagram model properties. */
    diagram?: Diagram;
}
//node_modules/@syncfusion/ej2-diagrams/src/diagram/objects/dictionary/umlactivity-shapes.d.ts
/**
 * UMLActivityShapeDictionary defines the shape of the built-in uml activity shapes \
 *
 * @returns { string } UMLActivityShapeDictionary defines the shape of the built-in uml activity shapes .\
 * @param {string} shape - provide the shape value.
 *
 * @private
 */
export  function getUMLActivityShape(shape: string): string;
//node_modules/@syncfusion/ej2-diagrams/src/diagram/objects/dictionary/flow-shapes.d.ts
/**
 * FlowShapeDictionary defines the shape of the built-in flow shapes \
 *
 * @returns { string }     FlowShapeDictionary defines the shape of the built-in flow shapes .\
 * @param {string} shape - provide the element value.
 *
 * @private
 */
export  function getFlowShape(shape: string): string;
//node_modules/@syncfusion/ej2-diagrams/src/diagram/objects/dictionary/common.d.ts
/**
 *ShapeDictionary defines the shape of the default nodes and ports \
 *
 * @returns { string }     ShapeDictionary defines the shape of the default nodes and ports.\
 * @param {PortShapes} shape - provide the element value.
 *
 * @private
 */
export  function getPortShape(shape: PortShapes): string;
/**
 *ShapeDictionary defines the shape of the default nodes and ports \
 *
 * @returns { string }     ShapeDictionary defines the shape of the default nodes and ports.\
 * @param {DecoratorShapes} shape - provide the element value.
 * @param {DecoratorModel} decorator - provide the element value.
 *
 * @private
 */
export  function getDecoratorShape(shape: DecoratorShapes, decorator: DecoratorModel): string;
export  function getSegmentThumbShapeHorizontal(shapes: SegmentThumbShapes): string;
export  function getSegmentThumbShapeVertical(shapes: SegmentThumbShapes): string;
/**
 *sets the path data for different icon shapes \
 *
 * @returns { string }     sets the path data for different icon shapes\
 * @param {IconShapeModel} icon - provide the element value.
 *
 * @private
 */
export  function getIconShape(icon: IconShapeModel): string;
//node_modules/@syncfusion/ej2-diagrams/src/diagram/objects/dictionary/basic-shapes.d.ts
/**
 *  BasicShapeDictionary defines the shape of the built-in basic shapes \
 *
 * @returns { string }      BasicShapeDictionary defines the shape of the built-in basic shapes .\
 * @param {string} shape - provide the element value.
 *
 * @private
 */
export  function getBasicShape(shape: string): string;
//node_modules/@syncfusion/ej2-diagrams/src/diagram/load-utility/portProperties.d.ts
export  class PortProperties {
    private diagram;
    private modelProperties;
    constructor(modelProperties: Ej1Serialization);
    setPortProperties(oldPorts: EJ1Port[]): PortModel[];
    setPortConstraints(constraints: number): number;
    setPortVisibility(visibility: number): number;
    /**
     * Get module name.
     * @returns {string} Returns the module name
     */
    protected getModuleName(): string;
}
export interface EJ1Port extends PortModel {
    name: string;
    fillColor: string;
    borderColor: string;
    borderWidth: number;
    opacity: number;
    horizontalAlignment: HorizontalAlignment;
    verticalAlignment: VerticalAlignment;
    shape: PortShapes;
    offset: PointModel;
    size: number;
}
export  type EJ1PortShapes = 
/** Path - sets the port shape as path */
'path' | 
/** X - sets the port shape as x */
'x' | 
/** Circle - sets the port shape as circle */
'circle' | 
/** Square - sets the port shape as square */
'square';
//node_modules/@syncfusion/ej2-diagrams/src/diagram/load-utility/nodeProperties.d.ts
export  class NodeProperties {
    labelProperties: LabelProperties;
    portProperties: PortProperties;
    private diagram;
    constructor(labelProperties: LabelProperties, portProperties: PortProperties);
    renderNodesCollection(convertedData: any, data: any): NodeModel;
    convertToNode(node: NodeModel): NodeModel;
    getChildren(newNode: NodeModel, node: NodeModel): any;
    setShape(newNode: any, node: any): any;
    getImageContentAlignment(option: string): string;
    setNodeConstraints(constraints: number): number;
    setGradient(gradient: any): any;
    getGradientStops(gradientStops: any[]): any[];
    renderBpmnShape(newNode: any, node: any): any;
    renderSwimlaneShape(newNode: any, node: any): any;
    renderEventsCollection(subProcessEvents: any): any;
    renderProcessesCollection(node: any): any[];
    /**
     * Get module name.
     * @returns {string} Returns the module name
     */
    protected getModuleName(): string;
}
export interface EJ1Node extends NodeModel {
    name: string;
    labels: AnnotationModel[];
    fillColor: string;
    borderDashArray: string;
    opacity: number;
    gradient: string;
    zOrder: number;
    marginLeft: number;
    marginTop: number;
    marginRight: number;
    marginBottom: number;
    horizontalAlign: EJ1HorizontalAlignment;
    verticalAlign: EJ1VerticalAlignment;
}
export  type EJ1HorizontalAlignment = 
/**
 * 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 EJ1VerticalAlignment = 
/**
 * 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';
//node_modules/@syncfusion/ej2-diagrams/src/diagram/load-utility/modelProperties.d.ts
export  class Ej1Serialization {
    private diagram;
    labelProperties: LabelProperties;
    connectorProperties: ConnectorProperties;
    portProperties: PortProperties;
    nodeProperties: NodeProperties;
    constructor(diagram: Diagram);
    convertedData: any;
    getSerializedData(data: Object): any;
    getNodeDefaults(node: NodeModel): NodeModel;
    getConnectorDefaults(connector: ConnectorModel): ConnectorModel;
    setLayers(convertedData: Object | any, data: Diagram): void;
    setDataSourceSettings(convertedData: Object | any, data: Object | any): void;
    setRulerSettings(convertedData: Object | any, data: Object | any): void;
    setRulerProperties(ruler: any): any;
    setSnapSettings(convertedData: Object | any, data: Object | any): void;
    setSnapConstraints(constraints: number): number;
    setGridLines(gridlines: any): any;
    setScrollSettings(convertedData: Object | any, data: Object | any): void;
    setPageSettings(convertedData: Object | any, data: Object | any): void;
    setContextMenu(convertedData: Object | any, data: Object | any): void;
    items: any;
    getContextMenuItems(contextMenuItems: any): any;
    setTooltip(convertedData: Object | any, data: Object | any): void;
    setModelLayout(convertedData: Object | any, data: Object | any): void;
    setSelectedItems(convertedData: Object | any, data: Object | any): void;
    setSelectorConstraints(constraints: number): number;
    setDiagramConstraints(constraints: number): number;
    setDiagramTool(tool: number): number;
    /**
     * To destroy the ruler
     *
     * @returns {void} To destroy the ruler
     */
    destroy(): void;
    /**
     * Get module name.
     *
     * @returns {string} Returns the module name
     */
    protected getModuleName(): string;
}
//node_modules/@syncfusion/ej2-diagrams/src/diagram/load-utility/labelProperties.d.ts
export  class LabelProperties {
    private diagram;
    private modelProperties;
    constructor(modelProperties: Ej1Serialization);
    setLabelProperties(oldLabels: AnnotationModel[], item: NodeModel | ConnectorModel): ShapeAnnotationModel[];
    private setLabelAppearance;
    setLabelConstraints(constraints: number): number;
    /**
     * Get module name.
     * @returns {string} returns Module name
     */
    protected getModuleName(): string;
}
export interface labels extends AnnotationModel {
    name: string;
    fillColor: string;
    fontFamily: string;
    fontSize: number;
    italic: boolean;
    bold: boolean;
    borderColor: string;
    borderWidth: number;
    opacity: number;
    visible: boolean;
    horizontalAlignment: HorizontalAlignment;
    verticalAlignment: VerticalAlignment;
    textAlign: TextAlign;
    textDecoration: TextDecoration;
    text: string;
    readOnly: number;
    fontColor: string;
    offset: {
        x: number;
        y: number;
    };
    textOverflow: boolean;
    overflowType: EJ1TextOverflow;
    wrapping: EJ1TextWrap;
}
export  type EJ1TextWrap = 
/** wrap - Wraps the text and breaks the word, if necessary */
'wrap' | 
/** nowrap - Text will no be wrapped */
'nowrap' | 
/** wrapwithoverflow - Wraps the text so that no word is broken */
'wrapwithoverflow';
export  type EJ1TextOverflow = 
/** ellipsis - It truncates the overflown text and represents the clipping with an ellipsis */
'ellipsis' | 
/** clip - It clips the overflow text */
'clip';
//node_modules/@syncfusion/ej2-diagrams/src/diagram/load-utility/connectorProperties.d.ts
export  class ConnectorProperties {
    private diagram;
    labelProperties: LabelProperties;
    constructor(labelProperties: LabelProperties);
    renderConnectorsCollection(convertedData: Object, data: Diagram): void;
    convertToConnector(connector: ConnectorModel): ConnectorModel;
    getConnectorShape(shape: any): any;
    getDecoratorShape(shape: string): string;
    setConnectorSegments(segments: any): any;
    getSegmentPoints(points: Point[]): Point[];
    setConnectorConstraints(constraints: number): number;
    /**
     * Get module name.
     *
     * @returns {string} Returns the module name
     */
    protected getModuleName(): string;
}
export interface EJ1Connector extends ConnectorModel {
    name: string;
    labels: AnnotationModel[];
    lineColor: string;
    lineWidth: number;
    lineDashArray: string;
    opacity: number;
    lineHitPadding: number;
    sourceNode: string;
    targetNode: string;
    zOrder: number;
    sourcePort: string;
    targetPort: string;
}
//node_modules/@syncfusion/ej2-diagrams/src/diagram/layout/symmetrical-layout.d.ts
export  class GraphForceNode {
    /**
     * @private
     */
    velocityX: number;
    /**
     * @private
     */
    velocityY: number;
    /**
     * @private
     */
    location: PointModel;
    /**
     * @private
     */
    nodes: IGraphObject[];
    /**
     * @private
     */
    graphNode: IGraphObject;
    constructor(gnNode: IGraphObject);
    /**
     * applyChanges method\
     *
     * @returns {  void }    applyChanges method .\
     * @private
     */
    applyChanges(): void;
}
/**
 * SymmetricalLayout
 */
export  class SymmetricLayout {
    private cdCOEF;
    private cfMAXVELOCITY;
    private cnMAXITERACTION;
    private cnSPRINGLENGTH;
    private mszMaxForceVelocity;
    /**
     * @private
     */
    springLength: number;
    /**
     * @private
     */
    springFactor: number;
    /**
     * @private
     */
    maxIteration: number;
    private selectedNode;
    constructor();
    /**
     *To destroy the layout
     *
     * @returns {void} To destroy the layout
     */
    destroy(): void;
    protected getModuleName(): string;
    private doGraphLayout;
    private preLayoutNodes;
    /**
     * doLayout method\
     *
     * @returns {  void }    doLayout method .\
     * @param {GraphLayoutManager} graphLayoutManager - provide the angle value.
     * @private
     */
    doLayout(graphLayoutManager: GraphLayoutManager): void;
    private makeSymmetricLayout;
    private appendForces;
    private resetGraphPosition;
    private convertGraphNodes;
    /**
     * getForceNode method\
     *
     * @returns {  GraphForceNode }    getForceNode method .\
     * @param {IGraphObject} gnNode - provide the angle value.
     * @private
     */
    getForceNode(gnNode: IGraphObject): GraphForceNode;
    private updateNeigbour;
    private lineAngle;
    private pointDistance;
    private calcRelatesForce;
    /**
     * @param nodeCollection
     * @param connectors
     * @param symmetricLayout
     * @param nameTable
     * @param layout
     * @param viewPort
     * @private
     */
    /**
     * updateLayout method\
     *
     * @returns {  void }    updateLayout method .\
     * @param {IGraphObject[]} nodeCollection - provide the angle value.
     * @param {IGraphObject[]} connectors - provide the connectors value.
     * @param {SymmetricLayout} symmetricLayout - provide the symmetricLayout value.
     * @param {Object} nameTable - provide the nameTable value.
     * @param {Layout} layout - provide the layout value.
     * @param {PointModel} viewPort - provide the viewPort value.
     * @private
     */
    updateLayout(nodeCollection: IGraphObject[], connectors: IGraphObject[], symmetricLayout: SymmetricLayout, nameTable: Object, layout: Layout, viewPort: PointModel): void;
    private calcNodesForce;
    private calcForce;
}
export  class GraphLayoutManager {
    private mhelperSelectedNode;
    private visitedStack;
    private cycleEdgesCollection;
    private nameTable;
    /**
     * @private
     */
    nodes: IGraphObject[];
    private graphObjects;
    private connectors;
    private passedNodes;
    /**
     * @private
     */
    selectedNode: IGraphObject;
    /**
     * @param nodeCollection
     * @param connectors
     * @param symmetricLayout
     * @param nameTable
     * @param layout
     * @param viewPort
     * @private
     */
    /**
     * updateLayout method\
     *
     * @returns {  boolean }    updateLayout method .\
     * @param {IGraphObject[]} nodeCollection - provide the nodeCollection value.
     * @param {IGraphObject[]} connectors - provide the nodeCollection value.
     * @param {SymmetricLayout} symmetricLayout - provide the nodeCollection value.
     * @param {Object} nameTable - provide the nodeCollection value.
     * @param {Layout} layout - provide the nodeCollection value.
     * @param {PointModel} viewPort - provide the nodeCollection value.
     * @private
     */
    updateLayout(nodeCollection: IGraphObject[], connectors: IGraphObject[], symmetricLayout: SymmetricLayout, nameTable: Object, layout: Layout, viewPort: PointModel): boolean;
    /**
     * getModelBounds method\
     *
     * @returns {  Rect }    getModelBounds method .\
     * @param {IGraphObject[]} lNodes - provide the angle value.
     * @private
     */
    getModelBounds(lNodes: IGraphObject[]): Rect;
    private updateLayout1;
    private getNodesToPosition;
    private selectNodes;
    private selectConnectedNodes;
    private exploreRelatives;
    private exploreRelatives1;
    private getConnectedRelatives;
    private dictionaryContains;
    private dictionaryLength;
    private getConnectedChildren;
    private getConnectedParents;
    private setNode;
    private findNode;
    private addGraphNode;
    private isConnectedToAnotherNode;
    private searchEdgeCollection;
    private exploreGraphEdge;
    private addNode;
    private detectCyclesInGraph;
    private getUnVisitedChildNodes;
}
export interface ITreeInfo extends INode, IConnector {
    graphType?: GraphObjectType;
    parents?: IGraphObject[];
    children?: IGraphObject[];
    tag?: GraphForceNode;
    center?: PointModel;
    Added?: boolean;
    isCycleEdge: boolean;
    visible?: boolean;
    GraphNodes?: {};
    LeftMargin?: number;
    TopMargin?: number;
    location?: PointModel;
    Bounds?: Rect;
}
export interface IGraphObject extends INode, IConnector {
    treeInfo?: ITreeInfo;
}
export  type GraphObjectType = 'Node' | 'Connector';
//node_modules/@syncfusion/ej2-diagrams/src/diagram/layout/radial-tree.d.ts
/**
 * Radial Tree
 */
export  class RadialTree {
    /**
     * Constructor for the organizational chart module.
     *
     * @private
     */
    constructor();
    /**
     * To destroy the organizational chart
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
    /**
     * Get module name.
     */
    protected getModuleName(): string;
    /**
     * @param nodes
     * @param nameTable
     * @param layoutProp
     * @param viewport
     * @private
     */
    updateLayout(nodes: INode[], nameTable: Object, layoutProp: Layout, viewport: PointModel): void;
    private doLayout;
    private updateEdges;
    private depthFirstAllignment;
    private populateLevels;
    private transformToCircleLayout;
    private updateAnchor;
    private updateNodes;
    private setUpLayoutInfo;
}
/**
 * Defines the properties of layout
 *
 * @private
 */
export interface IRadialLayout {
    anchorX?: number;
    anchorY?: number;
    maxLevel?: number;
    nameTable?: Object;
    firstLevelNodes?: INode[];
    layoutNodes?: INodeInfo[];
    centerNode?: INode;
    type?: string;
    orientation?: string;
    graphNodes?: {};
    verticalSpacing?: number;
    horizontalSpacing?: number;
    levels?: LevelBoundary[];
    horizontalAlignment?: HorizontalAlignment;
    verticalAlignment?: VerticalAlignment;
    fixedNode?: string;
    bounds?: Rect;
    level?: number;
    margin?: MarginModel;
    objects?: INode[];
    root?: string;
}
/**
 * Defines the node arrangement in radial manner
 *
 * @private
 */
export interface INodeInfo {
    level?: number;
    visited?: boolean;
    children?: INode[];
    x?: number;
    y?: number;
    min?: number;
    max?: number;
    width?: number;
    height?: number;
    segmentOffset?: number;
    actualCircumference?: number;
    radius?: number;
    circumference?: number;
    nodes?: INode[];
    ratio?: number;
}
/** @private */
export interface LevelBoundary {
    rBounds: Bounds;
    radius: number;
    height: number;
    nodes: INode[];
    node: INodeInfo;
}
//node_modules/@syncfusion/ej2-diagrams/src/diagram/layout/mind-map.d.ts
/**
 * Layout for mind-map tree
 */
export  class MindMap {
    /**
     * Constructor for the organizational chart module.
     *
     * @private
     */
    constructor();
    /**
     * To destroy the organizational chart
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
    /**
     * Defines the layout animation
     *
     */
    isAnimation: boolean;
    /**
     * Get module name.
     */
    protected getModuleName(): string;
    /**
     * @param nodes
     * @param nameTable
     * @param layoutProp
     * @param viewPort
     * @param uniqueId
     * @param root
     * @private
     */
    updateLayout(nodes: INode[], nameTable: Object, layoutProp: Layout, viewPort: PointModel, uniqueId: string, root?: string): void;
    private checkRoot;
    private updateMindMapBranch;
    private getBranch;
    private excludeFromLayout;
    private findFirstLevelNodes;
}
//node_modules/@syncfusion/ej2-diagrams/src/diagram/layout/layout-base.d.ts
/**
 * Defines the configuration settings for flowchart automatic layout
 */
export  class FlowchartLayoutSettings extends base.ChildProperty<FlowchartLayoutSettings> {
    /**
     * Specifies the Yes branch flow direction (when there are two outputs from the flow shape) in the flowchart layout
     *
     * @default 'LeftInFlow'
     */
    yesBranchDirection: BranchDirection;
    /**
     * Specifies the No branch flow direction (when there are two outputs from the flow shape) in the flowchart layout
     *
     * @default 'RightInFlow'
     */
    noBranchDirection: BranchDirection;
    /**
     * Specifies the set of connector’s label text which should be considered as Yes branch connector in the flowchart layout
     *
     * @default ["Yes", "True"]
     */
    yesBranchValues: string[];
    /**
     * Specifies the set of connector’s label text which should be considered as No branch connector in the flowchart layout
     *
     * @default ["No", "False"]
     */
    noBranchValues: string[];
}
/**
 * Defines the behavior of the automatic layouts
 */
export  class Layout extends base.ChildProperty<Layout> {
    /**
     * Sets the name of the node with respect to which all other nodes will be translated
     *
     * @default ''
     */
    fixedNode: string;
    /**
     * Sets the space that has to be horizontally left between the nodes
     *
     * @default 30
     */
    horizontalSpacing: number;
    /**
     * connect the node's without overlapping in automatic layout
     *
     * @default 'SamePoint'
     */
    connectionPointOrigin: ConnectionPointOrigin;
    /**
     * connect the node's without overlapping in automatic layout
     *
     * @default 'Nonlinear'
     */
    arrangement: ChildArrangement;
    /**
     * Sets the space that has to be Vertically left between the nodes
     *
     * @default 30
     */
    verticalSpacing: number;
    /**
     * Sets the Maximum no of iteration of the symmetrical layout
     *
     * @default 30
     */
    maxIteration: number;
    /**
     * Defines the Edge attraction and vertex repulsion forces, i.e., the more sibling nodes repel each other
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let diagram$: Diagram = new Diagram({
     * ...
     * layout: { type: 'SymmetricalLayout', springLength: 80, springFactor: 0.8,
     * maxIteration: 500, margin: { left: 20, top: 20 } },
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @default 40
     */
    springFactor: number;
    /**
     * Sets how long edges should be, ideally of the symmetrical layout
     *
     * @default 50
     */
    springLength: number;
    /**
     * * Defines the space between the viewport and the layout
     *
     * @default { left: 50, top: 50, right: 0, bottom: 0 }
     * @blazorType LayoutMargin
     */
    margin: MarginModel;
    /**
     * Defines how the layout has to be horizontally aligned
     * * Stretch - Stretches the diagram element throughout its immediate parent
     * * Left - Aligns the diagram element at the left of its immediate parent
     * * Right - Aligns the diagram element at the right of its immediate parent
     * * Center - Aligns the diagram element at the center of its immediate parent
     * * Auto - Aligns the diagram element based on the characteristics of its immediate parent
     *
     * @default 'Auto'
     */
    horizontalAlignment: HorizontalAlignment;
    /**
     * Defines how the layout has to be vertically aligned
     * * Stretch - Stretches the diagram element throughout its immediate parent
     * * Top - Aligns the diagram element at the top of its immediate parent
     * * Bottom - Aligns the diagram element at the bottom of its immediate parent
     * * Center - Aligns the diagram element at the center of its immediate parent
     * * Auto - Aligns the diagram element based on the characteristics of its immediate parent
     *
     * @default 'Auto'
     */
    verticalAlignment: VerticalAlignment;
    /**
     * Defines the orientation of layout
     * * TopToBottom - Renders the layout from top to bottom
     * * BottomToTop - Renders the layout from bottom to top
     * * LeftToRight - Renders the layout from left to right
     * * RightToLeft - Renders the layout from right to left
     * * Horizontal - Renders only the MindMap from left to right
     * * Vertical - Renders only the MindMap from top to bottom
     *
     * @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
     * * MindMap - Defines the type of the layout as MindMap
     * * SymmetricalLayout - Defines the type of the layout as SymmetricalLayout
     * * Flowchart - Defines the type of the layout as Flowchart
     *
     * @default 'None'
     */
    type: LayoutType;
    /**
     * getLayoutInfo is used to configure every subtree of the organizational chart
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let nodes$: NodeModel[] = [{
     *           id: 'node1', width: 100, height: 100, offsetX: 100, offsetY: 100,
     *           annotations: [{ content: 'Default Shape' }]
     *       },
     *       {
     *           id: 'node2', width: 100, height: 100, offsetX: 300, offsetY: 100,
     *           shape: {
     *               type: 'Basic', shape: 'Ellipse'
     *           },
     *           annotations: [{ content: 'Path Element' }]
     *       }
     *       ];
     *       let connectors$: ConnectorModel[] = [{
     *           id: 'connector1',
     *           type: 'Straight',
     *           sourcePoint: { x: 100, y: 300 },
     *           targetPoint: { x: 200, y: 400 },
     *       }];
     * let diagram$: Diagram = new Diagram({
     * ...
     *       connectors: connectors, nodes: nodes,
     * 	   layout: {
     * enableAnimation: true,
     * type: 'OrganizationalChart', margin: { top: 20 },
     * getLayoutInfo: (node: Node, tree: TreeInfo) => {
     *       if (!tree.hasSubTree) {
     *           tree.orientation = 'Vertical';
     *           tree.type = 'Alternate';
     *       }
     *   }
     * },
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @aspDefaultValueIgnore
     * @default undefined
     * @deprecated
     */
    getLayoutInfo: Function | string;
    /**
     * getLayoutInfo is used to configure every subtree of the organizational chart
     */
    layoutInfo: TreeInfo;
    /**
     * Defines whether an object should be at the left/right of the mind map. Applicable only for the direct children of the root node
     *
     * @aspDefaultValueIgnore
     * @default undefined
     * @deprecated
     */
    getBranch: Function | string;
    /**
     * Aligns the layout within the given bounds
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    bounds: Rect;
    /**
     * Enables/Disables animation option when a node is expanded/collapsed
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let nodes$: NodeModel[] = [{
     *           id: 'node1', width: 100, height: 100, offsetX: 100, offsetY: 100,
     *           annotations: [{ content: 'Default Shape' }]
     *       },
     *       {
     *           id: 'node2', width: 100, height: 100, offsetX: 300, offsetY: 100,
     *           shape: {
     *               type: 'Basic', shape: 'Ellipse'
     *           },
     *           annotations: [{ content: 'Path Element' }]
     *       }
     *       ];
     *       let connectors$: ConnectorModel[] = [{
     *           id: 'connector1',
     *           type: 'Straight',
     *           sourcePoint: { x: 100, y: 300 },
     *           targetPoint: { x: 200, y: 400 },
     *       }];
     * let diagram$: Diagram = new Diagram({
     *     connectors: connectors, nodes: nodes,
     * ...
     * 	   layout: {
     * enableAnimation: true, orientation: 'TopToBottom',
     * type: 'OrganizationalChart', margin: { top: 20 },
     * horizontalSpacing: 30, verticalSpacing: 30,
     * },
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @default true
     */
    enableAnimation: boolean;
    /**
     * Enable / Disable connector routing for the layout
     *
     * @default false
     */
    enableRouting: boolean;
    /**
     * Defines the root of the hierarchical tree layout
     *
     * @default ''
     */
    root: string;
    /**
     * Defines the flow chart settings of the layout
     *
     * @default {}
     */
    flowchartLayoutSettings: FlowchartLayoutSettingsModel;
}
/**
 * Interface for the class node
 */
export interface INode {
    /** returns ID of node */
    id: string;
    /** returns offsetX of node */
    offsetX: number;
    /** returns offsetY of node */
    offsetY: number;
    /** returns actual size of node */
    actualSize: {
        width: number;
        height: number;
    };
    /** returns InEdges of node */
    inEdges: string[];
    /** returns outEdges of node */
    outEdges: string[];
    /** returns pivot points of node */
    pivot: PointModel;
    /** returns false if the node to be arranged in layout, else it returns true */
    excludeFromLayout: boolean;
    /** returns true if the node to be expanded, else it returns false */
    isExpanded: boolean;
    /** returns data of the node */
    data: Object;
    /** returns bounds of the node */
    treeBounds?: Bounds;
    /** returns the difference between old position and new position of node */
    differenceX?: number;
    /** returns the difference between old position and new position of node */
    differenceY?: number;
    /** returns true if the node is already visited in layout, else it returns false */
    visited?: boolean;
}
/**
 * Defines the properties of the connector
 */
export interface IConnector {
    id: string;
    sourceID: string;
    targetID: string;
    visited?: boolean;
    visible?: boolean;
    points?: PointModel[];
    type?: Segments;
    segments?: OrthogonalSegmentModel[] | StraightSegmentModel[] | BezierSegmentModel[];
}
/**
 * Defines the properties of the layout bounds
 */
export interface Bounds {
    /** returns the left position, where the layout is rendered  */
    x: number;
    /** returns the top position, where layout is rendered  */
    y: number;
    /** returns the right position, where layout is rendered  */
    right: number;
    /** returns the bottom position, where layout is rendered  */
    bottom: number;
    /** returns how much distance layout is moved  */
    canMoveBy?: number;
}
/**
 * Defines the assistant details for the layout
 */
export interface AssistantsDetails {
    /** returns the root value */
    root: string;
    /** returns the assistant in the string collection  */
    assistants: string[];
}
/**
 * Defines the tree information for the layout
 */
export interface TreeInfo {
    orientation?: SubTreeOrientation;
    type?: SubTreeAlignments;
    offset?: number;
    enableRouting?: boolean;
    children?: string[];
    assistants?: string[];
    level?: number;
    hasSubTree?: boolean;
    rows?: number;
    getAssistantDetails?: AssistantsDetails;
    canEnableSubTree?: boolean;
    isRootInverse?: boolean;
}
/**
 * Contains the properties of the diagram layout
 */
export interface ILayout {
    anchorX?: number;
    anchorY?: number;
    maxLevel?: number;
    nameTable?: Object;
    /**
     * Provides firstLevelNodes node of the diagram layout
     *
     * @default undefined
     */
    firstLevelNodes?: INode[];
    /**
     * Provides centerNode node of the diagram layout
     *
     * @default undefined
     */
    centerNode?: null;
    /**
     * Provides type of the diagram layout
     *
     * @default undefined
     */
    type?: string;
    /**
     * connect the node's without overlapping in automatic layout
     *
     * @default 'SamePoint'
     */
    connectionPointOrigin?: ConnectionPointOrigin;
    /**
     * Provides orientation of the diagram layout
     *
     * @default undefined
     */
    orientation?: string;
    graphNodes?: {};
    rootNode?: INode;
    updateView?: boolean;
    /**
     * Provides vertical spacing of the diagram layout
     * @default undefined
     */
    verticalSpacing?: number;
    /**
     * Provides horizontal spacing of the diagram layout
     *
     * @default undefined
     */
    horizontalSpacing?: number;
    levels?: LevelBounds[];
    /**
     * Provides horizontal alignment of the diagram layout
     *
     * @default undefined
     */
    horizontalAlignment?: HorizontalAlignment;
    /**
     * Provides horizontal alignment of the diagram layout
     *
     * @default undefined
     */
    verticalAlignment?: VerticalAlignment;
    /**
     * Provides fixed of the diagram layout
     *
     * @default undefined
     */
    fixedNode?: string;
    /**
     * Provides the layout bounds
     *
     * @default undefined
     */
    bounds?: Rect;
    getLayoutInfo?: Function;
    layoutInfo?: TreeInfo;
    getBranch?: Function;
    getConnectorSegments?: Function;
    level?: number;
    /**
     * Defines the layout margin values
     * @default undefined
     */
    margin?: MarginModel;
    /**
     * Defines objects on the layout
     *
     * @default undefined
     */
    objects?: INode[];
    /**
     * Defines the root of the hierarchical tree layout
     *
     * @default undefined
     */
    root?: string;
}
export interface LevelBounds {
    rBounds: Bounds;
}
//node_modules/@syncfusion/ej2-diagrams/src/diagram/layout/layout-base-model.d.ts
/**
 * Interface for a class FlowchartLayoutSettings
 */
export interface FlowchartLayoutSettingsModel {
    /**
     * Specifies the Yes branch flow direction (when there are two outputs from the flow shape) in the flowchart layout
     *
     * @default 'LeftInFlow'
     */
    yesBranchDirection?: BranchDirection;
    /**
     * Specifies the No branch flow direction (when there are two outputs from the flow shape) in the flowchart layout
     *
     * @default 'RightInFlow'
     */
    noBranchDirection?: BranchDirection;
    /**
     * Specifies the set of connector’s label text which should be considered as Yes branch connector in the flowchart layout
     *
     * @default ["Yes", "True"]
     */
    yesBranchValues?: string[];
    /**
     * Specifies the set of connector’s label text which should be considered as No branch connector in the flowchart layout
     *
     * @default ["No", "False"]
     */
    noBranchValues?: string[];
}
/**
 * Interface for a class Layout
 */
export interface LayoutModel {
    /**
     * Sets the name of the node with respect to which all other nodes will be translated
     *
     * @default ''
     */
    fixedNode?: string;
    /**
     * Sets the space that has to be horizontally left between the nodes
     *
     * @default 30
     */
    horizontalSpacing?: number;
    /**
     * connect the node's without overlapping in automatic layout
     *
     * @default 'SamePoint'
     */
    connectionPointOrigin?: ConnectionPointOrigin;
    /**
     * connect the node's without overlapping in automatic layout
     *
     * @default 'Nonlinear'
     */
    arrangement?: ChildArrangement;
    /**
     * Sets the space that has to be Vertically left between the nodes
     *
     * @default 30
     */
    verticalSpacing?: number;
    /**
     * Sets the Maximum no of iteration of the symmetrical layout
     *
     * @default 30
     */
    maxIteration?: number;
    /**
     * Defines the Edge attraction and vertex repulsion forces, i.e., the more sibling nodes repel each other
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let diagram$: Diagram = new Diagram({
     * ...
     * layout: { type: 'SymmetricalLayout', springLength: 80, springFactor: 0.8,
     * maxIteration: 500, margin: { left: 20, top: 20 } },
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @default 40
     */
    springFactor?: number;
    /**
     * Sets how long edges should be, ideally of the symmetrical layout
     *
     * @default 50
     */
    springLength?: number;
    /**
     * * Defines the space between the viewport and the layout
     *
     * @default { left: 50, top: 50, right: 0, bottom: 0 }
     * @blazorType LayoutMargin
     */
    margin?: MarginModel;
    /**
     * Defines how the layout has to be horizontally aligned
     * * Stretch - Stretches the diagram element throughout its immediate parent
     * * Left - Aligns the diagram element at the left of its immediate parent
     * * Right - Aligns the diagram element at the right of its immediate parent
     * * Center - Aligns the diagram element at the center of its immediate parent
     * * Auto - Aligns the diagram element based on the characteristics of its immediate parent
     *
     * @default 'Auto'
     */
    horizontalAlignment?: HorizontalAlignment;
    /**
     * Defines how the layout has to be vertically aligned
     * * Stretch - Stretches the diagram element throughout its immediate parent
     * * Top - Aligns the diagram element at the top of its immediate parent
     * * Bottom - Aligns the diagram element at the bottom of its immediate parent
     * * Center - Aligns the diagram element at the center of its immediate parent
     * * Auto - Aligns the diagram element based on the characteristics of its immediate parent
     *
     * @default 'Auto'
     */
    verticalAlignment?: VerticalAlignment;
    /**
     * Defines the orientation of layout
     * * TopToBottom - Renders the layout from top to bottom
     * * BottomToTop - Renders the layout from bottom to top
     * * LeftToRight - Renders the layout from left to right
     * * RightToLeft - Renders the layout from right to left
     * * Horizontal - Renders only the MindMap from left to right
     * * Vertical - Renders only the MindMap from top to bottom
     *
     * @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
     * * MindMap - Defines the type of the layout as MindMap
     * * SymmetricalLayout - Defines the type of the layout as SymmetricalLayout
     * * Flowchart - Defines the type of the layout as Flowchart
     *
     * @default 'None'
     */
    type?: LayoutType;
    /**
     * getLayoutInfo is used to configure every subtree of the organizational chart
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let nodes$: NodeModel[] = [{
     *           id: 'node1', width: 100, height: 100, offsetX: 100, offsetY: 100,
     *           annotations: [{ content: 'Default Shape' }]
     *       },
     *       {
     *           id: 'node2', width: 100, height: 100, offsetX: 300, offsetY: 100,
     *           shape: {
     *               type: 'Basic', shape: 'Ellipse'
     *           },
     *           annotations: [{ content: 'Path Element' }]
     *       }
     *       ];
     *       let connectors$: ConnectorModel[] = [{
     *           id: 'connector1',
     *           type: 'Straight',
     *           sourcePoint: { x: 100, y: 300 },
     *           targetPoint: { x: 200, y: 400 },
     *       }];
     * let diagram$: Diagram = new Diagram({
     * ...
     *       connectors: connectors, nodes: nodes,
     * 	   layout: {
     * enableAnimation: true,
     * type: 'OrganizationalChart', margin: { top: 20 },
     * getLayoutInfo: (node: Node, tree: TreeInfo) => {
     *       if (!tree.hasSubTree) {
     *           tree.orientation = 'Vertical';
     *           tree.type = 'Alternate';
     *       }
     *   }
     * },
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @aspDefaultValueIgnore
     * @default undefined
     * @deprecated
     */
    getLayoutInfo?: Function | string;
    /**
     * getLayoutInfo is used to configure every subtree of the organizational chart
     */
    layoutInfo?: TreeInfo;
    /**
     * Defines whether an object should be at the left/right of the mind map. Applicable only for the direct children of the root node
     *
     * @aspDefaultValueIgnore
     * @default undefined
     * @deprecated
     */
    getBranch?: Function | string;
    /**
     * Aligns the layout within the given bounds
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    bounds?: Rect;
    /**
     * Enables/Disables animation option when a node is expanded/collapsed
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let nodes$: NodeModel[] = [{
     *           id: 'node1', width: 100, height: 100, offsetX: 100, offsetY: 100,
     *           annotations: [{ content: 'Default Shape' }]
     *       },
     *       {
     *           id: 'node2', width: 100, height: 100, offsetX: 300, offsetY: 100,
     *           shape: {
     *               type: 'Basic', shape: 'Ellipse'
     *           },
     *           annotations: [{ content: 'Path Element' }]
     *       }
     *       ];
     *       let connectors$: ConnectorModel[] = [{
     *           id: 'connector1',
     *           type: 'Straight',
     *           sourcePoint: { x: 100, y: 300 },
     *           targetPoint: { x: 200, y: 400 },
     *       }];
     * let diagram$: Diagram = new Diagram({
     *     connectors: connectors, nodes: nodes,
     * ...
     * 	   layout: {
     * enableAnimation: true, orientation: 'TopToBottom',
     * type: 'OrganizationalChart', margin: { top: 20 },
     * horizontalSpacing: 30, verticalSpacing: 30,
     * },
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @default true
     */
    enableAnimation?: boolean;
    /**
     * Enable / Disable connector routing for the layout
     *
     * @default false
     */
    enableRouting?: boolean;
    /**
     * Defines the root of the hierarchical tree layout
     *
     * @default ''
     */
    root?: string;
    /**
     * Defines the flow chart settings of the layout
     *
     * @default {}
     */
    flowchartLayoutSettings?: FlowchartLayoutSettingsModel;
}
//node_modules/@syncfusion/ej2-diagrams/src/diagram/layout/hierarchical-tree.d.ts
/**
 * Hierarchical Tree and Organizational Chart
 */
export  class HierarchicalTree {
    /**
     * Constructor for the organizational chart module.
     *
     * @private
     */
    constructor();
    /**
     * To destroy the organizational chart
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
    /**
     * Defines the layout animation
     *
     */
    isAnimation: boolean;
    /**
     * Get module name.
     */
    protected getModuleName(): string;
    /**
     * @param nodes
     * @param nameTable
     * @param layoutProp
     * @param viewport
     * @param uniqueId
     * @param action
     * @private
     */
    updateLayout(nodes: INode[], nameTable: Object, layoutProp: Layout, viewport: PointModel, uniqueId: string, action?: DiagramAction): ILayout;
    private doLayout;
    private getBounds;
    private updateTree;
    private updateLeafNode;
    private setUpLayoutInfo;
    private translateSubTree;
    private updateRearBounds;
    private shiftSubordinates;
    private setDepthSpaceForAssitants;
    private setBreadthSpaceForAssistants;
    private getDimensions;
    private hasChild;
    private updateHorizontalTree;
    private updateHorizontalTreeWithMultipleRows;
    private updateLeftTree;
    private alignRowsToCenter;
    private updateRearBoundsOfTree;
    private splitRows;
    private updateVerticalTree;
    private splitChildrenInRows;
    private extend;
    private findOffset;
    private uniteRects;
    private spaceLeftFromPrevSubTree;
    private findIntersectingLevels;
    private findLevel;
    private getParentNode;
    private updateEdges;
    private updateAnchor;
    private updateConnectors;
    private updateSegments;
    private updateSegmentsForBalancedTree;
    private get3Points;
    private get5Points;
    private getSegmentsFromPoints;
    private getSegmentsForMultipleRows;
    private updateSegmentsForHorizontalOrientation;
    private updateNodes;
}
//node_modules/@syncfusion/ej2-diagrams/src/diagram/layout/complex-hierarchical-tree.d.ts
/**
 * Connects diagram objects with layout algorithm
 */
export  class ComplexHierarchicalTree {
    /**
     * Constructor for the hierarchical tree layout module
     *
     * @private
     */
    constructor();
    /**
     * To destroy the hierarchical tree module
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
    /**
     * Core method to return the component name.
     *
     * @returns {string}  Core method to return the component name.
     * @private
     */
    protected getModuleName(): string;
    /**
     * doLayout method\
     *
     * @returns {  void }    doLayout method .\
     * @param {INode[]} nodes - provide the nodes value.
     * @param {{}} nameTable - provide the nameTable value.
     * @param {Layout} layout - provide the layout value.
     * @param {PointModel} viewPort - provide the viewPort value.
     * @param {Diagram} diagram - provide the diagram model.
     * @private
     */
    doLayout(nodes: INode[], nameTable: {}, layout: Layout, viewPort: PointModel, diagram: Diagram): void;
    getLayoutNodesCollection(nodes: INode[]): INode[];
}
/**
 * Utility that arranges the nodes in hierarchical structure
 */
 class HierarchicalLayoutUtil {
    private nameTable;
    private vertexTable;
    /**
     * Holds the collection vertices, that are equivalent to nodes to be arranged
     */
    private vertices;
    private crossReduction;
    /**
     * The preferred vertical offset between edges exiting a vertex Default is 2.
     */
    private previousEdgeOffset;
    /**
     * The preferred horizontal distance between edges exiting a vertex Default is 5.
     */
    private previousEdgeDistance;
    /**
     * Holds the collection vertices, that are equivalent to nodes to be arranged
     */
    private jettyPositions;
    /**
     * Internal cache of bottom-most value of Y for each rank
     */
    private rankBottomY;
    /**
     * Internal cache of bottom-most value of X for each rank
     */
    private limitX;
    /**
     * Internal cache of top-most values of Y for each rank
     */
    private rankTopY;
    /**
     * The minimum parallelEdgeSpacing value is 12.
     */
    private parallelEdgeSpacing;
    /**
     * The minimum distance for an edge jetty from a vertex Default is 12.
     */
    private minEdgeJetty;
    private createVertex;
    /**
     * Initializes the edges collection of the vertices\
     *
     * @returns {  IConnector[] }    Initializes the edges collection of the vertices\
     * @param {Vertex} node - provide the node value.
     * @private
     */
    getEdges(node: Vertex): IConnector[];
    private findRoots;
    /**
     * Returns the source/target vertex of the given connector \
     *
     * @returns {  Vertex }    Returns the source/target vertex of the given connector \
     * @param {IConnector} edge - provide the node value.
     * @param {boolean} source - provide the node value.
     * @private
     */
    getVisibleTerminal(edge: IConnector, source: boolean): Vertex;
    /**
     * Traverses each sub tree, ensures there is no cycle in traversing \
     *
     * @returns {  {} }    Traverses each sub tree, ensures there is no cycle in traversing .\
     * @param {Vertex} vertex - provide the vertex value.
     * @param {boolean} directed - provide the directed value.
     * @param {IConnector} edge - provide the edge value.
     * @param {{}} currentComp - provide the currentComp value.
     * @param {{}[]} hierarchyVertices - provide the hierarchyVertices value.
     * @param {{}} filledVertices - provide the filledVertices value.
     * @private
     */
    traverse(vertex: Vertex, directed: boolean, edge: IConnector, currentComp: {}, hierarchyVertices: {}[], filledVertices: {}): {};
    private getModelBounds;
    /**
     *  Initializes the layouting process \
     *
     * @returns {  Vertex }     Initializes the layouting process \
     * @param {INode[]} nodes - provide the node value.
     * @param {{}} nameTable - provide the nameTable value.
     * @param {Layout} layoutProp - provide the layoutProp value.
     * @param {PointModel} viewPort - provide the viewPort value.
     * @param {Diagram} diagram - provide the diagram model.
     * @private
     */
    doLayout(nodes: INode[], nameTable: {}, layoutProp: Layout, viewPort: PointModel, diagram: Diagram): void;
    private setEdgeXY;
    private resetOffsetXValue;
    private setEdgePosition;
    private getPointvalue;
    private updateEdgeSetXYValue;
    private getPreviousLayerConnectedCells;
    private compare;
    private localEdgeProcessing;
    private updateMultiOutEdgesPoints;
    private getNextLayerConnectedCells;
    private getX;
    private getGeometry;
    private setEdgePoints;
    private assignRankOffset;
    private rankCoordinatesAssigment;
    private getType;
    private updateRankValuess;
    private setVertexLocationValue;
    private calculateRectValue;
    private isNodeOverLap;
    private isIntersect;
    private updateMargin;
    private placementStage;
    private coordinateAssignment;
    private calculateWidestRank;
    /**
     * Sets the temp position of the node on the layer \
     *
     * @returns {  void }  Sets the temp position of the node on the layer \
     * @param {IVertex} node - provide the nodes value.
     * @param {number} layer - provide the layer value.
     * @param {number} value - provide the value value.
     * @private
     */
    setTempVariable(node: IVertex, layer: number, value: number): void;
    /**
     * setXY method \
     *
     * @returns { void }     setXY method .\
     * @param {IVertex} node - provide the source value.
     * @param {number} layer - provide the target value.
     * @param {number} value - provide the layoutOrientation value.
     * @param {boolean} isY - provide the layoutOrientation value.
     * @param {IVertex[][]} ranks - provide the layoutOrientation value.
     * @param {number} spacing - provide the layoutOrientation value.
     *
     * @private
     */
    setXY(node: IVertex, layer: number, value: number, isY: boolean, ranks?: IVertex[][], spacing?: number): void;
    private rankCoordinates;
    private initialCoords;
    /**
     *  Checks whether the given node is an ancestor \
     *
     * @returns {  boolean }  Checks whether the given node is an ancestor \
     * @param {IVertex} node - provide the nodes value.
     * @param {IVertex} otherNode - provide the layer value.
     * @private
     */
    isAncestor(node: IVertex, otherNode: IVertex): boolean;
    private weightedCellSorter;
    private minNode;
    private updateNodeList;
    private medianXValue;
    private placementStageExecute;
    private setCellLocations;
    private garphModelsetVertexLocation;
    private setVertexLocation;
    /**
     *  get the specific value from the key value pair \
     *
     * @returns {  {}[] }  get the specific value from the key value pair \
     * @param {VertexMapper} mapper - provide the mapper value.
     * @private
     */
    private getValues;
    /**
     *Checks and reduces the crosses in between line segments \
     *
     * @returns { void }    Checks and reduces the crosses in between line segments.\
     * @param {End} model - provide the model value.
     *
     * @private
     */
    private crossingStage;
    private layeringStage;
    private initialRank;
    private fixRanks;
    private cycleStage;
    /**
     * removes the edge from the given collection \
     *
     * @returns {  IEdge }    removes the edge from the given collection .\
     * @param {IEdge} obj - provide the angle value.
     * @param { IEdge[]} array - provide the angle value.
     * @private
     */
    remove(obj: IEdge, array: IEdge[]): IEdge;
    /**
     * Inverts the source and target of an edge \
     *
     * @returns {  void }    Inverts the source and target of an edge .\
     * @param {IEdge} connectingEdge - provide the angle value.
     * @param { number} layer - provide the angle value.
     * @private
     */
    invert(connectingEdge: IEdge, layer: number): void;
    /**
     * used to get the edges between the given source and target  \
     *
     * @returns {  IConnector[] }    used to get the edges between the given source and target  .\
     * @param {Vertex} source - provide the angle value.
     * @param { Vertex} target - provide the angle value.
     * @param { boolean} directed - provide the angle value.
     * @private
     */
    getEdgesBetween(source: Vertex, target: Vertex, directed: boolean): IConnector[];
}
/**
 * Handles position the objects in a hierarchical tree structure
 */
 class MultiParentModel {
    /** @private */
    roots: Vertex[];
    /** @private */
    vertexMapper: VertexMapper;
    /** @private */
    edgeMapper: VertexMapper;
    /** @private */
    layout: LayoutProp;
    /** @private */
    maxRank: number;
    private hierarchicalLayout;
    private multiObjectIdentityCounter;
    /** @private */
    ranks: IVertex[][];
    private dfsCount;
    /** @private */
    startNodes: IVertex[];
    private hierarchicalUtil;
    constructor(layout: HierarchicalLayoutUtil, vertices: Vertex[], roots: Vertex[], dlayout: LayoutProp);
    private resetEdge;
    private createInternalCells;
    /**
     * used to set the optimum value of each vertex on the layout \
     *
     * @returns {  void }   used to set the optimum value of each vertex on the layout .\
     * @private
     */
    fixRanks(): void;
    private updateMinMaxRank;
    private setDictionary;
    /**
     * used to store the value of th given key on the objectt \
     *
     * @returns {  IVertex }   used to store the value of th given key on the object .\
     * @param {VertexMapper} dic - provide the angle value.
     * @param {IVertex} key - provide the angle value.
     * @param {WeightedCellSorter} value - provide the angle value.
     * @param {boolean} flag - provide the angle value.
     * @private
     */
    setDictionaryForSorter(dic: VertexMapper, key: IVertex, value: WeightedCellSorter, flag: boolean): IVertex;
    /**
     * used to get the value of the given key \
     *
     * @returns {  IVertex }  used to get the value of the given key .\
     * @param {VertexMapper} dic - provide the angle value.
     * @param {IVertex} key - provide the angle value.
     * @private
     */
    getDictionary(dic: VertexMapper, key: Vertex): IVertex;
    /**
     * used to get the value of the given key \
     *
     * @returns {  IVertex }  used to get the value of the given key .\
     * @param {VertexMapper} dic - provide the angle value.
     * @param {IVertex} key - provide the angle value.
     * @private
     */
    getDictionaryForSorter(dic: VertexMapper, key: IVertex): WeightedCellSorter;
    /**
     * used to get all the values of the dictionary object \
     *
     * @returns {  IVertex[] }  used to get all the values of the dictionary object .\
     * @param {VertexMapper} dic - provide the angle value.
     * @private
     */
    getDictionaryValues(dic: VertexMapper): IVertex[];
    /**
     * used to visit all the entries on the given dictionary with given function \
     *
     * @returns { void }  used to visit all the entries on the given dictionary with given function .\
     * @param {string} visitor - provide the visitor value.
     * @param {IVertex[]} dfsRoots - provide the dfsRoots value.
     * @param {boolean} trackAncestors - provide the trackAncestors value.
     * @param {{}} seenNodes - provide the seenNodes value.
     * @param {TraverseData} data - provide the data value.
     * @private
     */
    visit(visitor: string, dfsRoots: IVertex[], trackAncestors: boolean, seenNodes: {}, data: TraverseData): void;
    private depthFirstSearch;
    private updateConnectionRank;
    private removeConnectionEdge;
    private extendedDfs;
    /**
     * used to clone the specified object ignoring all fieldnames in the given array of transient fields \
     *
     * @returns { void }    used to clone the specified object ignoring all fieldnames in the given array of transient fields .\
     * @param {Object} obj - provide the source value.
     * @param {string[]} transients - provide the target value.
     * @param {boolean} shallow - provide the shallow value.
     *
     * @private
     */
    clone(obj: Object, transients: string[], shallow: boolean): Object;
}
/**
 * Each vertex means a node object in diagram
 */
export interface Vertex {
    value: string;
    geometry: Rect;
    name: string;
    vertex: boolean;
    inEdges: string[];
    outEdges: string[];
    layoutObjectId?: string;
    maxRowWidth: number;
    maxRowHeight: number;
}
/** @private */
export interface MatrixModelObject {
    model: MultiParentModel;
    matrix: MatrixObject[];
    rowOffset: number[];
    roots: MatrixCellGroupObject[];
}
/** @private */
export interface MatrixObject {
    key: number;
    value: MatrixCellGroupObject[];
}
/**
 * Defines the edge that is used to maintain the relationship between internal vertices
 *
 * @private
 */
export interface IEdge {
    x?: number[];
    y?: number[];
    temp?: number[];
    edges?: IConnector[];
    ids?: string[];
    source?: IVertex;
    target?: IVertex;
    maxRank?: number;
    minRank?: number;
    isReversed?: boolean;
    previousLayerConnectedCells?: IVertex[][];
    nextLayerConnectedCells?: IVertex[][];
    width?: number;
    height?: number;
}
/**
 * Defines the internal vertices that are used in positioning the objects
 *
 * @private
 */
export interface IVertex {
    x?: number[];
    y?: number[];
    temp?: number[];
    cell?: Vertex;
    edges?: IConnector[];
    id?: string;
    connectsAsTarget?: IEdge[];
    connectsAsSource?: IEdge[];
    hashCode?: number[];
    maxRank?: number;
    minRank?: number;
    width?: number;
    height?: number;
    source?: IVertex;
    target?: IVertex;
    layoutObjectId?: string;
    ids?: string[];
    type?: string;
    identicalSibiling?: string[];
}
interface VertexMapper {
    map: {};
}
/**
 * Defines weighted cell sorter
 */
interface WeightedCellSorter {
    cell?: IVertex;
    weightedValue?: number;
    visited?: boolean;
    rankIndex?: number;
}
/**
 * Defines an object that is used to maintain data in traversing
 */
interface TraverseData {
    seenNodes: {};
    unseenNodes: {};
    rankList?: IVertex[][];
    parent?: IVertex;
    root?: IVertex;
    edge?: IEdge;
}
/**
 * Defines the properties of layout
 *
 * @private
 */
export interface LayoutProp {
    orientation?: string;
    horizontalSpacing?: number;
    verticalSpacing?: number;
    marginX: number;
    marginY: number;
    enableLayoutRouting: boolean;
}
interface Rect1 {
    x: number;
    y: number;
    width: number;
    height: number;
    right?: number;
    bottom?: number;
    left?: number;
}
/** @private */
interface MatrixCellGroupObject {
    level: number;
    parents: MatrixCellGroupObject[];
    children: MatrixCellGroupObject[];
    visitedParents: MatrixCellGroupObject[];
    ignoredChildren: MatrixCellGroupObject[];
    cells: CellObject[] | IVertex[];
    visitedChildren: MatrixCellGroupObject[];
    size: number;
    offset: number;
    initialOffset: number;
    key?: string[] | string;
    value?: MatrixCellGroupObject;
}
/** @private */
interface CellObject {
    x: number[];
    y: number[];
    type: string;
    temp: number[];
    minRank: number;
    maxRank: number;
    identicalSibilings: string[];
    connectsAsTarget: CellObject[];
    source: ConnectsAsSourceObject;
    target: ConnectsAsSourceObject;
    connectsAsSource: ConnectsAsSourceObject;
    cell: Vertex;
    edges?: Connector[];
    hashCode?: number;
    id?: string;
    ids?: string;
}
/** @private */
interface ConnectsAsSourceObject {
    id: string[];
    source: ConnectsAsSourceObject;
    target: ConnectsAsSourceObject;
    temp: number[];
    x: number[];
    y: number[];
}
//node_modules/@syncfusion/ej2-diagrams/src/diagram/layout/flowChart/matrix-model.d.ts
export  class MatrixModel {
    /** @private */
    flowchartModel: FlowchartModel;
    /** @private */
    matrix: MatrixCellGroup[];
    /** @private */
    rowOffset: number[];
    /** @private */
    rowMaxDimension: number[];
    /** @private */
    siblingModel: MatrixModel;
    constructor(model: FlowchartModel);
    /**
     * @private
     * @returns {void} - Arranges the elements in the flowchart layout
     */
    arrangeElements(): void;
    private arrangeMatrix;
    private shiftMatrixCells;
    private findParentVertexCellGroup;
    private translateMatrixCells;
    private getObjectValues;
    private setXYForMatrixCell;
    private getSiblingDimension;
    private createMatrixCells;
    private groupLayoutCells;
    private updateMutualSharing;
    private compareLists;
}
//node_modules/@syncfusion/ej2-diagrams/src/diagram/layout/flowChart/flow-chart-model.d.ts
export  class FlowchartModel {
    private dfsCount;
    private maxRank;
    /** @private*/
    layout: FlowchartLayout;
    private vertexMapper;
    /** @private*/
    ranks: Map<number, []>;
    private rootNode;
    constructor(layout: FlowchartLayout, root: NodeModel, vertices: FlowChartVertex[]);
    private createInternalCells;
    /**
     * @Private
     * @returns { void }  Initializes the ranks of the vertices .\
     */
    layeringStage(): void;
    private recycleConnectors;
    private initialRank;
    private fixRanks;
    /**
     * used to visit all the entries on the given dictionary with given function \
     *
     * @returns { void }  used to visit all the entries on the given dictionary with given function .\
     * @param {InternalVertex[]} dfsRoots - provide the dfsRoots value.
     * @param {boolean} trackAncestors - provide the trackAncestors value.
     * @param {Map<number, []>} rankList - provide the rankList value.
     * @private
     */
    private visit;
    private extendedDfs;
    private removeConnectionEdge;
    private invert;
    private remove;
    private isAncestor;
    private depthFirstSearch;
    private updateMinMaxRank;
}
//node_modules/@syncfusion/ej2-diagrams/src/diagram/layout/flowChart/flow-chart-layout.d.ts
/**
 * Defines the Flowchart Layout
 */
export  class FlowchartLayout {
    private rootNodes;
    private vertexMapper;
    /** @private*/
    edgesMapper: Map<object, PointModel[]>;
    /** @private*/
    loopedgesMapper: Map<object, boolean>;
    private anchorX;
    private anchorY;
    /** @private*/
    verticalSpacing: number;
    /** @private*/
    horizontalSpacing: number;
    /** @private*/
    horizontalAlignment: string;
    /** @private*/
    verticalAlignment: string;
    /** @private*/
    margin: Margin;
    /** @private */
    orientation: LayoutOrientation;
    /** @private */
    yesBranchDirection: BranchDirection;
    /** @private */
    noBranchDirection: BranchDirection;
    /** @private */
    yesBranchValues: string[];
    /** @private */
    noBranchValues: string[];
    diagram: Diagram;
    private flowChartData;
    constructor();
    /**
     * To update the layout of the diagram.
     * @private
     * @param {NodeModel[]} nodes - provide the node value.
     * @param {Diagram} diagram - provide the diagram value.
     * @returns { void }
     */
    updateLayout(nodes: NodeModel[], diagram: Diagram): void;
    /**
     * To re-rout the flowchart connectors.
     * @private
     * @param {FlowchartLayout} layoutData - provide the layoutData value.
     * @param {Diagram} diagram - provide the diagram value.
     * @returns { void }
     */
    reRouteFlowChartConnectors(layoutData: FlowchartLayout, diagram: Diagram): void;
    private updateAnchor;
    private updateConnectorPoints;
    private inflate;
    private static isBranchConnector;
    private isYesBranchConnector;
    private isNoBranchConnector;
    private updateHorizontalSegments;
    private updateVerticalConnectorSegments;
    private getModelBounds;
    private createVertex;
    private updatePoints;
    private contains;
    updateLoopConnector(internalConnector: Connector): void;
    private checkForYesOrNoBranch;
    private getTreeVertices;
    /**
     * Initializes the edges collection of the vertices\
     *
     * @returns {  IConnector[] }    Initializes the edges collection of the vertices\
     * @param {FlowChartVertex} node - provide the node value.
     * @private
     */
    getEdges(node: FlowChartVertex): IConnector[];
    /**
     * Returns the source/target vertex of the given connector \
     *
     * @returns {  FlowChartVertex }    Returns the source/target vertex of the given connector \
     * @param {IConnector} edge - provide the node value.
     * @param {boolean} source - provide the node value.
     * @private
     */
    getVisibleTerminal(edge: ConnectorModel, source: boolean): FlowChartVertex;
    /**
     * used to get the edges between the given source and target  \
     *
     * @returns {  IConnector[] }    used to get the edges between the given source and target  .\
     * @param {FlowChartVertex} source - provide the angle value.
     * @param { FlowChartVertex} target - provide the angle value.
     * @param { boolean} directed - provide the angle value.
     * @private
     */
    getEdgesBetween(source: FlowChartVertex, target: FlowChartVertex, directed: boolean): IConnector[];
    /**
     *To destroy the FlowchartLayout
     *
     * @returns {void} To destroy the FlowchartLayout
     */
    destroy(): void;
    /**
     * @returns { string } toBounds method .\
     * Get getModuleName name.
     */
    protected getModuleName(): string;
}
export interface FlowChartVertex {
    id: string;
    geometry: Rect;
    inEdges: IConnector[];
    layoutObjectId: {};
    outEdges: IConnector[];
    item: INode;
    isDecisionNode: boolean;
    isYesChild: boolean;
    isNoChild: boolean;
}
export interface InternalVertex {
    id: string;
    cell: FlowChartVertex;
    internalOutEdges: InternalEdges[];
    internalInEdges: InternalEdges[];
    hashCode: number[];
    tempRank: number;
    maxRank: number;
    minRank: number;
    identicalSibling: string[];
}
export interface InternalEdges {
    connectorIds: string[];
    edges: IConnector[];
    source: InternalVertex;
    target: InternalVertex;
    isReversed: boolean;
    tempRank: number;
    maxRank: number;
    minRank: number;
    ids: string[];
}
export interface MatrixCellGroup {
    parents: MatrixCellGroup[];
    children: MatrixCellGroup[];
    visitedParents: MatrixCellGroup[];
    visitedChildren: MatrixCellGroup[];
    ignoredChildren: MatrixCellGroup[];
    loopChildren: MatrixCellGroup[];
    cells: InternalVertex[] | InternalEdges[];
    level: number;
    initialOffset: number;
    size: number;
    offset: number;
    key?: string[] | string;
    value?: MatrixCellGroup;
}
//node_modules/@syncfusion/ej2-diagrams/src/diagram/interaction/tool.d.ts
/**
 * Defines the interactive tools
 */
export  class ToolBase {
    /**
     * Initializes the tool
     *
     * @param {CommandHandler} command Command that is corresponding to the current action
     * @param protectChange
     */
    constructor(command: CommandHandler, protectChange?: boolean);
    /**
     * Command that is corresponding to the current action
     */
    protected commandHandler: CommandHandler;
    /**
     * Sets/Gets whether the interaction is being done
     */
    protected inAction: boolean;
    /**
     * Sets/Gets the protect change
     */
    protected isProtectChange: boolean;
    /**
     * Sets/Gets the current mouse position
     */
    protected currentPosition: PointModel;
    /**
     * Sets/Gets the previous mouse position
     */
    prevPosition: PointModel;
    /**
     * Sets/Gets the initial mouse position
     */
    protected startPosition: PointModel;
    /**
     * Sets/Gets the current element that is under mouse
     */
    protected currentElement: IElement;
    /**   @private  */
    blocked: boolean;
    protected isTooltipVisible: boolean;
    /** @private */
    childTable: {};
    /**
     * Sets/Gets the previous object when mouse down
     */
    protected undoElement: SelectorModel;
    private checkProperty;
    protected undoParentElement: SelectorModel;
    protected mouseDownElement: (NodeModel | ConnectorModel);
    protected startAction(currentElement: IElement): void;
    /**
     * @param args
     * @private
     */
    mouseDown(args: MouseEventArgs): void;
    checkPropertyValue(): void;
    /**
     * @param args
     * @private
     */
    mouseMove(args: MouseEventArgs): boolean;
    /**
     * @param args
     * @private
     */
    mouseUp(args: MouseEventArgs): void;
    protected endAction(): void;
    /**
     * @param args
     * @private
     */
    mouseWheel(args: MouseEventArgs): void;
    /**
     * @param args
     * @private
     */
    mouseLeave(args: MouseEventArgs): void;
    protected updateSize(shape: SelectorModel | NodeModel, startPoint: PointModel, endPoint: PointModel, corner: string, initialBounds: Rect, angle?: number): Rect;
    protected getPivot(corner: string): PointModel;
    getShapeType(): string;
    triggerElementDrawEvent(source: NodeModel | ConnectorModel, state: State, objectType: string, elementType: string, isMouseDownAction: boolean): void;
}
/**
 * Helps to select the objects
 */
export  class SelectTool extends ToolBase {
    private action;
    constructor(commandHandler: CommandHandler, protectChange: boolean, action?: Actions);
    /**
     * @param args
     * @private
     */
    mouseDown(args: MouseEventArgs): void;
    /**
     * @param args
     * @private
     */
    mouseMove(args: MouseEventArgs): boolean;
    /**
     * @param args
     * @private
     */
    mouseUp(args: MouseEventArgs, button?: number): void;
    /**
     * @param args
     * @private
     */
    mouseLeave(args: MouseEventArgs): void;
}
export  class FixedUserHandleTool extends ToolBase {
    /**
     * @param args
     * @private
     */
    mouseUp(args: MouseEventArgs): void;
}
/**
 * Helps to edit the selected connectors
 */
export  class ConnectTool extends ToolBase {
    protected endPoint: string;
    protected oldConnector: ConnectorModel;
    protected isConnected: boolean;
    /** @private */
    tempArgs: IBlazorConnectionChangeEventArgs;
    /** @private */
    canCancel: boolean;
    /**   @private  */
    selectedSegment: BezierSegment;
    constructor(commandHandler: CommandHandler, endPoint: string);
    /**
     * @param args
     * @private
     */
    mouseDown(args: MouseEventArgs): Promise<void>;
    /**
     * @param args
     * @private
     */
    mouseUp(args: MouseEventArgs): Promise<void>;
    /**
     * @param args
     * @private
     */
    mouseMove(args: MouseEventArgs): boolean;
    /**
     * @param args
     * @private
     */
    mouseLeave(args: MouseEventArgs): void;
    private getTooltipContent;
    private checkConnect;
    /**   @private  */
    endAction(): void;
}
/**
 * Drags the selected objects
 */
export  class MoveTool extends ToolBase {
    /**
     * Sets/Gets the previous mouse position
     */
    prevPosition: PointModel;
    private initialOffset;
    /**   @private  */
    currentTarget: IElement;
    private objectType;
    private portId;
    private source;
    private intialValue;
    private isStartAction;
    private canCancel;
    private tempArgs;
    private canTrigger;
    constructor(commandHandler: CommandHandler, objType?: ObjectTypes);
    /**
     * @param args
     * @private
     */
    mouseDown(args: MouseEventArgs): void;
    private getPort;
    /**
     * @param args
     * @param isPreventHistory
     * @param args
     * @param isPreventHistory
     * @private
     */
    mouseUp(args: MouseEventArgs, isPreventHistory?: boolean): Promise<void>;
    private clearDiff;
    private calculateDiff;
    private connectorEndPointChangeEvent;
    private triggerEndPointEvent;
    private isSelectionHasConnector;
    /**
     * @param args
     * @private
     */
    mouseMove(args: MouseEventArgs): boolean;
    private getTooltipContent;
    /**
     * @param args
     * @private
     */
    mouseLeave(args: MouseEventArgs): void;
    /**   @private  */
    endAction(): void;
}
/**
 * Rotates the selected objects
 */
export  class RotateTool extends ToolBase {
    /** @private */
    tempArgs: IRotationEventArgs;
    /** @private */
    canCancel: boolean;
    /** @private */
    rotateStart: boolean;
    constructor(commandHandler: CommandHandler);
    /**
     * @param args
     * @private
     */
    mouseDown(args: MouseEventArgs): void;
    /**
     * @param args
     * @private
     */
    mouseUp(args: MouseEventArgs): Promise<void>;
    /**
     * @param args
     * @private
     */
    mouseMove(args: MouseEventArgs): boolean;
    private getTooltipContent;
    /**
     * @param args
     * @private
     */
    mouseLeave(args: MouseEventArgs): void;
    /**   @private  */
    endAction(): void;
}
/**
 * Scales the selected objects
 */
export  class ResizeTool extends ToolBase {
    /**
     * Sets/Gets the previous mouse position
     */
    prevPosition: PointModel;
    /** @private */
    corner: string;
    /**   @private  */
    initialOffset: PointModel;
    /** @private */
    resizeStart: boolean;
    /** @private */
    startValues: SelectorModel;
    /**   @private  */
    initialBounds: Rect;
    private canCancel;
    private tempArgs;
    constructor(commandHandler: CommandHandler, corner: string);
    /**
     * @param args
     * @private
     */
    mouseDown(args: MouseEventArgs): void;
    /**
     * @param args
     * @param isPreventHistory
     * @param args
     * @param isPreventHistory
     * @private
     */
    mouseUp(args: MouseEventArgs, isPreventHistory?: boolean): Promise<boolean>;
    /**
     * @param args
     * @private
     */
    mouseMove(args: MouseEventArgs): boolean;
    /**
     * @param args
     * @private
     */
    mouseLeave(args: MouseEventArgs): void;
    private getTooltipContent;
    private getChanges;
    /**
     * Updates the size with delta width and delta height using scaling.
     */
    /**
     * Aspect ratio used to resize the width or height based on resizing the height or width
     *
     * @param deltaWidth
     * @param deltaHeight
     * @param corner
     * @param startPoint
     * @param endPoint
     * @param source
     * @param deltaWidth
     * @param deltaHeight
     * @param corner
     * @param startPoint
     * @param endPoint
     * @param source
     * @param deltaWidth
     * @param deltaHeight
     * @param corner
     * @param startPoint
     * @param endPoint
     * @param source
     * @param deltaWidth
     * @param deltaHeight
     * @param corner
     * @param startPoint
     * @param endPoint
     * @param source
     * @param deltaWidth
     * @param deltaHeight
     * @param corner
     * @param startPoint
     * @param endPoint
     * @param source
     * @param deltaWidth
     * @param deltaHeight
     * @param corner
     * @param startPoint
     * @param endPoint
     * @param source
     */
    private scaleObjects;
}
/**
 * Draws a node that is defined by the user
 */
export  class NodeDrawingTool extends ToolBase {
    /** @private */
    drawingObject: Node | Connector;
    /** @private */
    sourceObject: Node | Connector;
    constructor(commandHandler: CommandHandler, sourceObject: Node | Connector);
    /**
     * @param args
     * @private
     */
    mouseDown(args: MouseEventArgs): void;
    /**
     * @param args
     * @private
     */
    mouseMove(args: MouseEventArgs): boolean;
    /**
     * @param args
     * @private
     */
    mouseUp(args: MouseEventArgs): void;
    /**   @private  */
    endAction(): void;
    /**
     * @param args
     * @private
     */
    mouseLeave(args: MouseEventArgs): void;
}
/**
 * Draws a connector that is defined by the user
 */
export  class ConnectorDrawingTool extends ConnectTool {
    /** @private */
    drawingObject: Node | Connector;
    /** @private */
    sourceObject: Node | Connector;
    constructor(commandHandler: CommandHandler, endPoint: string, sourceObject: Node | Connector);
    /**
     * @param args
     * @private
     */
    mouseDown(args: MouseEventArgs): Promise<void>;
    /**
     * @param args
     * @private
     */
    mouseMove(args: MouseEventArgs): boolean;
    private setTarget;
    /**
     * @param args
     * @private
     */
    mouseUp(args: MouseEventArgs): Promise<void>;
    /**   @private  */
    endAction(): void;
    /**
     * @param args
     * @private
     */
    mouseLeave(args: MouseEventArgs): void;
}
export  class TextDrawingTool extends ToolBase {
    /**   @private  */
    drawingNode: Node | Connector;
    constructor(commandHandler: CommandHandler);
    /**
     * @param args
     * @private
     */
    mouseDown(args: MouseEventArgs): void;
    /**
     * @param args
     * @private
     */
    mouseMove(args: MouseEventArgs): boolean;
    /**
     * @param args
     * @private
     */
    mouseUp(args: MouseEventArgs): void;
    /**   @private  */
    endAction(): void;
}
/**
 * Pans the diagram control on drag
 */
export  class ZoomPanTool extends ToolBase {
    private zooming;
    constructor(commandHandler: CommandHandler, zoom: boolean);
    /**
     * @param args
     * @private
     */
    mouseDown(args: MouseEventArgs): void;
    /**
     * @param args
     * @private
     */
    mouseMove(args: MouseEventArgs): boolean;
    /**
     * @param args
     * @private
     */
    mouseUp(args: MouseEventArgs): void;
    /**   @private  */
    endAction(): void;
    private getDistance;
    private updateTouch;
}
/**
 * Animate the layout during expand and collapse
 */
export  class ExpandTool extends ToolBase {
    constructor(commandHandler: CommandHandler);
    /**
     * @param args
     * @private
     */
    mouseUp(args: MouseEventArgs): void;
}
/**
 * Opens the annotation hypeLink at mouse up
 */
export  class LabelTool extends ToolBase {
    constructor(commandHandler: CommandHandler);
    /**
     * @param args
     * @private
     */
    mouseUp(args: MouseEventArgs): void;
}
/**
 * Draws a Polygon shape node dynamically using polygon Tool
 */
export  class PolygonDrawingTool extends ToolBase {
    /** @private */
    drawingObject: Node | Connector;
    startPoint: PointModel;
    constructor(commandHandler: CommandHandler);
    /**
     * @param args
     * @private
     */
    mouseDown(args: MouseEventArgs): void;
    /**
     * @param args
     * @private
     */
    mouseMove(args: MouseEventArgs): boolean;
    /**
     * @param args
     * @param dblClickArgs
     * @param args
     * @param dblClickArgs
     * @private
     */
    mouseUp(args: MouseEventArgs, dblClickArgs?: IDoubleClickEventArgs | IClickEventArgs): void;
    /**
     * @param args
     * @private
     */
    mouseWheel(args: MouseEventArgs): void;
    /**   @private  */
    endAction(): void;
}
/**
 * Draws a PolyLine Connector dynamically using PolyLine Drawing Tool
 */
export  class PolyLineDrawingTool extends ToolBase {
    /** @private */
    drawingObject: Node | Connector;
    constructor(commandHandler: CommandHandler);
    /**
     * @param args
     * @private
     */
    mouseMove(args: MouseEventArgs): boolean;
    /**
     * @param args
     * @private
     */
    mouseDown(args: MouseEventArgs): void;
    /**
     * @param args
     * @private
     */
    mouseWheel(args: MouseEventArgs): void;
    /**
     * @param args
     * @private
     */
    mouseUp(args: MouseEventArgs): void;
    /**   @private  */
    endAction(): void;
}
export  class LabelDragTool extends ToolBase {
    private annotationId;
    constructor(commandHandler: CommandHandler);
    /**
     * @param args
     * @private
     */
    mouseDown(args: MouseEventArgs): void;
    /**
     * @param args
     * @private
     */
    mouseMove(args: MouseEventArgs): boolean;
    /**
     * @param args
     * @private
     */
    mouseUp(args: MouseEventArgs): void;
    /**
     * @param args
     * @private
     */
    mouseLeave(args: MouseEventArgs): void;
}
export  class LabelResizeTool extends ToolBase {
    private corner;
    private annotationId;
    private initialBounds;
    constructor(commandHandler: CommandHandler, corner: Actions);
    /**
     * @param args
     * @private
     */
    mouseDown(args: MouseEventArgs): void;
    /**
     * @param args
     * @private
     */
    mouseMove(args: MouseEventArgs): boolean;
    /**
     * @param args
     * @private
     */
    mouseUp(args: MouseEventArgs): void;
    /**
     * @param args
     * @private
     */
    mouseLeave(args: MouseEventArgs): void;
    /**
     * @param args
     * @private
     */
    resizeObject(args: MouseEventArgs): void;
}
export  class LabelRotateTool extends ToolBase {
    private annotationId;
    constructor(commandHandler: CommandHandler);
    /**
     * @param args
     * @private
     */
    mouseDown(args: MouseEventArgs): void;
    /**
     * @param args
     * @private
     */
    mouseMove(args: MouseEventArgs): boolean;
    /**
     * @param args
     * @private
     */
    mouseUp(args: MouseEventArgs): void;
    /**
     * @param args
     * @private
     */
    mouseLeave(args: MouseEventArgs): void;
}
/**
 * EJ2-33302 - Freehand drawing support in diagram control.
 */
export  class FreeHandTool extends ToolBase {
    /** @private */
    drawingObject: Node | Connector;
    startPoint: PointModel;
    constructor(commandHandler: CommandHandler);
    /**
     * mouseMove - Collect the points using current mouse position and convert it into pathData.
     * @param args
     * @private
     */
    mouseMove(args: MouseEventArgs): boolean;
    /**
     * @param args
     * @private
     */
    mouseDown(args: MouseEventArgs): void;
    /**
     * mouseUp - Remove the drawn object. Reduce and smoothen the collected points and create
     * a bezier connector using the smoothened points.
     * @param args
     * @private
     */
    mouseUp(args: MouseEventArgs): void;
    /**
     * Reduce the collected points based on tolerance value.
     * @param points
     * @param tolerance
     * @returns points
     */
    pointReduction(points: PointModel[], tolerance: number): PointModel[];
    reduction(points: PointModel[], firstPoint: number, lastPoint: number, tolerance: number, pointIndex: number[]): void;
    /**
     * Calculate the perpendicular distance of each point with first and last points
     * @param point1
     * @param point2
     * @param point3
     * @returns
     */
    perpendicularDistance(point1: Point, point2: Point, point3: Point): number;
    /**
     * Smoothen the bezier curve based on the points and smoothValue.
     * @param points
     * @param smoothValue
     * @param drawingObject
     * @param obj
     * @returns drawingObject
     */
    private bezierCurveSmoothness;
}
//node_modules/@syncfusion/ej2-diagrams/src/diagram/interaction/selector.d.ts
/**
 * A collection of frequently used commands that will be added around the selector
 * ```html
 * <div id='diagram'></div>
 * ```
 * ```typescript
 * let nodes$: NodeModel[] = [{
 *           id: 'node1', width: 100, height: 100, offsetX: 100, offsetY: 100,
 *           annotations: [{ content: 'Default Shape' }]
 *       },
 *       {
 *           id: 'node2', width: 100, height: 100, offsetX: 300, offsetY: 100,
 *           shape: {
 *               type: 'Basic', shape: 'Ellipse'
 *           },
 *           annotations: [{ content: 'Path Element' }]
 *       }
 *       ];
 *       let connectors$: ConnectorModel[] = [{
 *           id: 'connector1',
 *           type: 'Straight',
 *           sourcePoint: { x: 100, y: 300 },
 *           targetPoint: { x: 200, y: 400 },
 *       }];
 * let handle$: UserHandleModel[] = [
 * { name: 'handle', margin: { top: 0, bottom: 0, left: 0, right: 0 }, offset: 0,
 * pathData: 'M 376.892,225.284L 371.279,211.95L 376.892,198.617L 350.225,211.95L 376.892,225.284 Z',
 * side: 'Top', horizontalAlignment: 'Center', verticalAlignment: 'Center',
 * pathColor: 'yellow' }];
 * let diagram$: Diagram = new Diagram({
 * ...
 *     connectors: connectors, nodes: nodes,
 *     selectedItems: { constraints: SelectorConstraints.All, userHandles: handle },
 * ...
 * });
 * diagram.appendTo('#diagram');
 * ```
 * @default {}
 */
export  class UserHandle extends base.ChildProperty<UserHandle> {
    /**
     * Defines the name of user Handle
     *
     * @default ''
     */
    name: string;
    /**
     * Defines the path data of user Handle
     *
     * @default ''
     */
    pathData: string;
    /**
     * Defines the custom content of the user handle
     *
     * @default ''
     */
    content: string;
    /**
     * Defines the image source of the user handle
     *
     * @default ''
     */
    source: string;
    /**
     * Defines the background color of user Handle
     *
     * @default 'black'
     */
    backgroundColor: string;
    /**
     * Defines the position of user Handle
     *  * Top - Aligns the user handles at the top of an object
     *  * Bottom - Aligns the user handles at the bottom of an object
     *  * Left - Aligns the user handles at the left of an object
     *  * Right - Aligns the user handles at the right of an object
     *
     * @default 'Top'
     */
    side: Side;
    /**
     * Defines the borderColor of user Handle
     *
     * @default ''
     */
    borderColor: string;
    /**
     * Defines the borderWidth of user Handle
     *
     * @default 0.5
     */
    borderWidth: number;
    /**
     * Defines the size of user Handle
     *
     * @default 25
     */
    size: number;
    /**
     * Defines the path color of user Handle
     *
     * @default 'white'
     */
    pathColor: string;
    /**
     * Defines the displacement of user Handle
     *
     * @default 10
     */
    displacement: number;
    /**
     * Defines the visible of user Handle
     *
     * @default true
     */
    visible: boolean;
    /**
     * Defines the offset of user Handle
     *
     * @default 0
     */
    offset: number;
    /**
     * Defines the margin of the user handle
     *
     * @default new Margin(0,0,0,0)
     */
    margin: MarginModel;
    /**
     * Defines the horizontal alignment of the user handle
     * * Stretch - Stretches the diagram element throughout its immediate parent
     * * Left - Aligns the diagram element at the left of its immediate parent
     * * Right - Aligns the diagram element at the right of its immediate parent
     * * Center - Aligns the diagram element at the center of its immediate parent
     * * Auto - Aligns the diagram element based on the characteristics of its immediate parent
     *
     * @default 'Center'
     */
    horizontalAlignment: HorizontalAlignment;
    /**
     * Defines the vertical alignment of the user handle
     * * Stretch - Stretches the diagram element throughout its immediate parent
     * * Top - Aligns the diagram element at the top of its immediate parent
     * * Bottom - Aligns the diagram element at the bottom of its immediate parent
     * * Center - Aligns the diagram element at the center of its immediate parent
     * * Auto - Aligns the diagram element based on the characteristics of its immediate parent
     *
     * @default 'Center'
     */
    verticalAlignment: VerticalAlignment;
    /**
     * Defines the visible of user Handle
     *
     * @default false
     */
    disableNodes: boolean;
    /**
     * Defines the visible of user Handle
     *
     * @default false
     */
    disableConnectors: boolean;
    /**
     * Used to show tooltip for user handle on mouse over.
     *
     * @default {}
     */
    tooltip: DiagramTooltipModel;
    /**
     *
     * Returns the name of class UserHandle
     *
     * @returns {string}  Returns the name of class UserHandle
     * @private
     */
    getClassName(): string;
    /**
     * defines geometry of the html element
     *
     * @private
     * @default ''
     */
    template: HTMLElement;
}
//node_modules/@syncfusion/ej2-diagrams/src/diagram/interaction/selector-model.d.ts
/**
 * Interface for a class UserHandle
 */
export interface UserHandleModel {
    /**
     * Defines the name of user Handle
     *
     * @default ''
     */
    name?: string;
    /**
     * Defines the path data of user Handle
     *
     * @default ''
     */
    pathData?: string;
    /**
     * Defines the custom content of the user handle
     *
     * @default ''
     */
    content?: string;
    /**
     * Defines the image source of the user handle
     *
     * @default ''
     */
    source?: string;
    /**
     * Defines the background color of user Handle
     *
     * @default 'black'
     */
    backgroundColor?: string;
    /**
     * Defines the position of user Handle
     *  * Top - Aligns the user handles at the top of an object
     *  * Bottom - Aligns the user handles at the bottom of an object
     *  * Left - Aligns the user handles at the left of an object
     *  * Right - Aligns the user handles at the right of an object
     *
     * @default 'Top'
     */
    side?: Side;
    /**
     * Defines the borderColor of user Handle
     *
     * @default ''
     */
    borderColor?: string;
    /**
     * Defines the borderWidth of user Handle
     *
     * @default 0.5
     */
    borderWidth?: number;
    /**
     * Defines the size of user Handle
     *
     * @default 25
     */
    size?: number;
    /**
     * Defines the path color of user Handle
     *
     * @default 'white'
     */
    pathColor?: string;
    /**
     * Defines the displacement of user Handle
     *
     * @default 10
     */
    displacement?: number;
    /**
     * Defines the visible of user Handle
     *
     * @default true
     */
    visible?: boolean;
    /**
     * Defines the offset of user Handle
     *
     * @default 0
     */
    offset?: number;
    /**
     * Defines the margin of the user handle
     *
     * @default new Margin(0,0,0,0)
     */
    margin?: MarginModel;
    /**
     * Defines the horizontal alignment of the user handle
     * * Stretch - Stretches the diagram element throughout its immediate parent
     * * Left - Aligns the diagram element at the left of its immediate parent
     * * Right - Aligns the diagram element at the right of its immediate parent
     * * Center - Aligns the diagram element at the center of its immediate parent
     * * Auto - Aligns the diagram element based on the characteristics of its immediate parent
     *
     * @default 'Center'
     */
    horizontalAlignment?: HorizontalAlignment;
    /**
     * Defines the vertical alignment of the user handle
     * * Stretch - Stretches the diagram element throughout its immediate parent
     * * Top - Aligns the diagram element at the top of its immediate parent
     * * Bottom - Aligns the diagram element at the bottom of its immediate parent
     * * Center - Aligns the diagram element at the center of its immediate parent
     * * Auto - Aligns the diagram element based on the characteristics of its immediate parent
     *
     * @default 'Center'
     */
    verticalAlignment?: VerticalAlignment;
    /**
     * Defines the visible of user Handle
     *
     * @default false
     */
    disableNodes?: boolean;
    /**
     * Defines the visible of user Handle
     *
     * @default false
     */
    disableConnectors?: boolean;
    /**
     * Used to show tooltip for user handle on mouse over.
     *
     * @default {}
     */
    tooltip?: DiagramTooltipModel;
    /**
     * defines geometry of the html element
     *
     * @private
     * @default ''
     */
    template?: HTMLElement;
}
//node_modules/@syncfusion/ej2-diagrams/src/diagram/interaction/scroller.d.ts
/**
 */
export  class DiagramScroller {
    /** @private */
    transform: TransformFactor;
    /**   @private  */
    oldCollectionObjects: string[];
    /**   @private  */
    removeCollection: string[];
    private diagram;
    private objects;
    private vPortWidth;
    private vPortHeight;
    private currentZoomFActor;
    private hOffset;
    private vOffset;
    private scrolled;
    /**
     * verticalOffset method \
     *
     * @returns { number }     verticalOffset method .\
     *
     * @private
     */
    /**
    * verticalOffset method \
    *
    * @returns { void }     verticalOffset method .\
    * @param {number} offset - provide the hOffset value.
    *
    * @private
    */
    viewPortHeight: number;
    /**
     * verticalOffset method \
     *
     * @returns { number }     verticalOffset method .\
     *
     * @private
     */
    /**
    * verticalOffset method \
    *
    * @returns { void }     verticalOffset method .\
    * @param {number} offset - provide the hOffset value.
    *
    * @private
    */
    currentZoom: number;
    /**
     * verticalOffset method \
     *
     * @returns { number }     verticalOffset method .\
     *
     * @private
     */
    /**
    * verticalOffset method \
    *
    * @returns { void }     verticalOffset method .\
    * @param {number} offset - provide the hOffset value.
    *
    * @private
    */
    viewPortWidth: number;
    /**
     * verticalOffset method \
     *
     * @returns { number }     verticalOffset method .\
     *
     * @private
     */
    /**
    * verticalOffset method \
    *
    * @returns { void }     verticalOffset method .\
    * @param {number} offset - provide the hOffset value.
    *
    * @private
    */
    horizontalOffset: number;
    /**
     * verticalOffset method \
     *
     * @returns { number }     verticalOffset method .\
     *
     * @private
     */
    /**
    * verticalOffset method \
    *
    * @returns { void }     verticalOffset method .\
    * @param {number} offset - provide the hOffset value.
    *
    * @private
    */
    verticalOffset: number;
    private diagramWidth;
    private diagramHeight;
    /** @private */
    scrollerWidth: number;
    private hScrollSize;
    private vScrollSize;
    constructor(diagram: Diagram);
    private getBounds;
    /**
     * updateScrollOffsets method \
     *
     * @returns { void }     updateScrollOffsets method .\
     * @param {number} hOffset - provide the hOffset value.
     * @param {number} vOffset - provide the vOffset value.
     *
     * @private
     */
    updateScrollOffsets(hOffset?: number, vOffset?: number): void;
    /**
     * setScrollOffset method \
     *
     * @returns { void }     setScrollOffset method .\
     * @param {number} hOffset - provide the hOffset value.
     * @param {number} vOffset - provide the vOffset value.
     *
     * @private
     */
    setScrollOffset(hOffset: number, vOffset: number): void;
    /**
     * getObjects \
     *
     * @returns { string[] }     To get page pageBounds.\
     * @param {string[]} coll1 - provide the source value.
     * @param {string[]} coll2 - provide the source value.
     * @private
     */
    getObjects(coll1: string[], coll2: string[]): string[];
    /**
     * virtualizeElements \
     *
     * @returns { void }     To get page pageBounds.\
     *
     * @private
     */
    virtualizeElements(): void;
    /**
     * setSize \
     *
     * @returns { void }     To get page pageBounds.\
     * @param {PointModel} newOffset - provide the newOffset value.
     *
     * @private
     */
    setSize(newOffset?: PointModel): void;
    /**
     * setViewPortSize \
     *
     * @returns { void }     To get page pageBounds.\
     * @param {number} width - provide the factor value.
     * @param {number} height - provide the factor value.
     *
     * @private
     */
    setViewPortSize(width: number, height: number): void;
    /**
     * To get page pageBounds \
     *
     * @returns { Rect }     To get page pageBounds.\
     * @param {boolean} boundingRect - provide the factor value.
     * @param {DiagramRegions} region - provide the factor value.
     * @param {boolean} hasPadding - provide the factor value.
     * @param {boolean} isnegativeRegion - provide the isnegativeRegion value.
     *
     * @private
     */
    getPageBounds(boundingRect?: boolean, region?: DiagramRegions, hasPadding?: boolean, isnegativeRegion?: boolean): Rect;
    /**
     * To get page break when PageBreak is set as true \
     *
     * @returns { Segment[] }     To get page break when PageBreak is set as true.\
     * @param {Rect} pageBounds - provide the factor value.
     *
     * @private
     */
    getPageBreak(pageBounds: Rect): Segment[];
    /**
     * zoom method \
     *
     * @returns { void }     zoom method .\
     * @param {number} factor - provide the factor value.
     * @param {number} deltaX - provide the bounds value.
     * @param {number} deltaY - provide the bounds value.
     * @param {PointModel} focusPoint - provide the bounds value.
     * @param {boolean} isInteractiveZoomPan - provide the isInteractiveZoomPan value.
     * @param {boolean} isBringIntoView - provide the isBringIntoView value.
     * @param {boolean} isTrackpadScroll - provide the isTrackpadScroll value.
     * @param {boolean} canZoomOut - provide the canZoomOut value.
     *
     * @private
     */
    zoom(factor: number, deltaX?: number, deltaY?: number, focusPoint?: PointModel, isInteractiveZoomPan?: boolean, isBringIntoView?: boolean, isTrackpadScroll?: boolean, canZoomOut?: boolean): void;
    /**
     * fitToPage method \
     *
     * @returns { void }     fitToPage method .\
     * @param {IFitOptions} options - provide the bounds value.
     *
     * @private
     */
    fitToPage(options?: IFitOptions): void;
    /**
     * bringIntoView method \
     *
     * @returns { void }     bringIntoView method .\
     * @param {Rect} rect - provide the bounds value.
     * @param {boolean} isBringIntoView - provide the isBringIntoView value.
     *
     * @private
     */
    bringIntoView(rect: Rect, isBringIntoView?: boolean): void;
    /**
     * bringToCenter method \
     *
     * @returns { void }     bringToCenter method .\
     * @param {Rect} bounds - provide the bounds value.
     *
     * @private
     */
    bringToCenter(bounds: Rect): void;
    private applyScrollLimit;
}
/** @private */
export interface TransformFactor {
    tx: number;
    ty: number;
    scale: number;
}
export interface Segment {
    x1: number;
    y1: number;
    x2: number;
    y2: number;
}
//node_modules/@syncfusion/ej2-diagrams/src/diagram/interaction/line-routing.d.ts
/**
 * Line Routing
 */
export  class LineRouting {
    private size;
    private startGrid;
    private noOfRows;
    private noOfCols;
    private width;
    private height;
    private diagramStartX;
    private diagramStartY;
    private intermediatePoints;
    private gridCollection;
    private startNode;
    private targetNode;
    private targetGrid;
    private startArray;
    private targetGridCollection;
    private sourceGridCollection;
    private considerWalkable;
    skipObstacleCheck: boolean;
    /**
     * lineRouting method \
     *
     * @returns { void }     lineRouting method .\
     * @param {Diagram} diagram - provide the source value.
     *
     * @private
     */
    lineRouting(diagram: Diagram): void;
    /** @private */
    /**
     * renderVirtualRegion method \
     *
     * @returns { void }     renderVirtualRegion method .\
     * @param {Diagram} diagram - provide the source value.
     * @param {boolean} isUpdate - provide the target value.
     *
     * @private
     */
    renderVirtualRegion(diagram: Diagram, isUpdate?: boolean): void;
    private findNodes;
    private updateNodesInVirtualRegion;
    private intersectRect;
    private findEndPoint;
    /**
     * Gets the grids that intersect with the line segment defined by the start and end points.
     * @param {PointModel} startPoint - The starting point of the line segment.
     * @param {PointModel} endPoint - The ending point of the line segment.
     * @returns {VirtualBoundaries[]} An array of VirtualBoundaries that intersect with the line segment.
     * @private
     */
    getGridsIntersect(startPoint: PointModel, endPoint: PointModel): VirtualBoundaries[];
    /**
     * Checks if the path between the start and end points is walkable.
     * @param {PointModel} startPoint - The starting point of the path.
     * @param {PointModel} endPoint - The ending point of the path.
     * @param {Diagram} diagram - The diagram instance.
     * @param {Connector} [connector] - The connector to check for obstacles.
     * @returns {boolean} True if the path is walkable, otherwise false.
     * @private
     */
    isPathWalkable(startPoint: PointModel, endPoint: PointModel, diagram: Diagram, connector?: Connector): boolean;
    private checkObstaclesIntersect;
    /**
     * refreshConnectorSegments method \
     *
     * @returns { void }     refreshConnectorSegments method .\
     * @param {Diagram} diagram - provide the diagram value.
     * @param {Connector} connector - provide the connector value.
     * @param {boolean} isUpdate - provide the diagram value.
     * @param {boolean} isEnableRouting - provide enableRouting value.
     *
     * @private
     */
    refreshConnectorSegments(diagram: Diagram, connector: Connector, isUpdate: boolean, isEnableRouting?: boolean): void;
    private checkChildNodes;
    private findEdgeBoundary;
    private checkObstacles;
    private contains;
    private getEndvalue;
    private changeValue;
    private getIntermediatePoints;
    private optimizeIntermediatePoints;
    private removePointsInSameLine;
    private arePointsInSameLine;
    private getValidPoints;
    private updateConnectorSegments;
    private findPath;
    private sorting;
    private octile;
    private manhattan;
    private findNearestNeigbours;
    private neigbour;
    private resetGridColl;
    private isWalkable;
    private findIntermediatePoints;
    /**
     * Constructor for the line routing module
     *
     * @private
     */
    constructor();
    /**
     *To destroy the line routing
     *
     * @returns {void} To destroy the line routing
     */
    destroy(): void;
    /**
     * Core method to return the component name.
     *
     * @returns {string}  Core method to return the component name.
     * @private
     */
    protected getModuleName(): string;
}
/** @private */
export interface VirtualBoundaries {
    x: number;
    y: number;
    width: number;
    height: number;
    gridX: number;
    gridY: number;
    walkable: boolean;
    tested: boolean;
    nodeId: string[];
    previousDistance?: number;
    afterDistance?: number;
    totalDistance?: number;
    parent?: VirtualBoundaries;
    parentNodeId?: string;
}
//node_modules/@syncfusion/ej2-diagrams/src/diagram/interaction/line-overlapping.d.ts
export  class AvoidLineOverlapping {
    static ConnectorSpacing: number;
    static maxReRouteLimit: number;
    private readonly segmentTree;
    private readonly segmentMappings;
    private readonly connectorMappings;
    private modifiedConnector;
    private modifiedSegments;
    private currentSegments;
    private requireReroute;
    private reRoutedCount;
    private considerNonWalkable;
    private rootShiftingSegment;
    private diagram;
    constructor(parent?: Diagram);
    /**
     * Gets the set of connectors that have been modified.
     * @returns {Set<Connector>} A set of modified connectors.
     * @private
     */
    getModifiedConnector(): Set<Connector>;
    /**
     * Gets the modified segments of a given connector.
     * @param {Connector} connector - The connector to get the modified segments for.
     * @returns {OrthogonalSegmentModel[]} An array of orthogonal segment models representing the modified segments.
     * @private
     */
    getModifiedConnectorSegments(connector: Connector): OrthogonalSegmentModel[];
    /**
     * Refreshes the modified connectors in the diagram.
     * @param {Diagram} diagram - The diagram instance containing the connectors.
     * @returns {void}
     * @private
     */
    refreshModifiedConnectors(diagram: Diagram): void;
    /**
     * Removes connectors and its associated segments from the internal mappings and segment tree.
     * @param {any} connectors - The connectors to remove.
     * @returns {void}
     * @private
     */
    removeConnectors(connectors: any): void;
    /**
     * Removes a connector and its associated segments from the internal mappings and segment tree.
     * @param {Connector} connector - The connector to remove.
     * @returns {void}
     * @private
     */
    removeConnector(connector: Connector): void;
    /**
     * Adds a connector and processes it to remove overlapping lines in its segments.
     * @param {Connector} connector - The connector to process.
     * @param {PointModel[]} points - The points to adjust (optional).
     * @param {OrthogonalSegmentModel[]} segments - The segments to adjust (optional).
     * @returns {void} The adjusted segments.
     * @private
     */
    addConnector(connector: Connector, points?: PointModel[], segments?: OrthogonalSegmentModel[]): void;
    /**
     * Creates line segments from the given points.
     * @param {PointModel[]} points - The points to create segments from.
     * @returns {ILineSegment[]} An array of line segments.
     */
    private createLineSegments;
    /**
     * Maps line segments to the given connector.
     * @param {Connector} connector - The connector to map segments to.
     * @param {ILineSegment[]} lineSegments - The line segments to map.
     * @returns {void}
     */
    private mapSegmentsToConnector;
    /**
     * Converts line segments to orthogonal segments.
     * @param {ILineSegment[]} lineSegments - The line segments to convert.
     * @returns {OrthogonalSegmentModel[]} An array of orthogonal segments.
     */
    private convertSegmentsToOrthogonal;
    /**
     * Adjusts the connector to resolve overlapping segments.
     * @param {Connector} connector - The connector to adjust.
     * @returns {void}
     */
    adjustConnector(connector: Connector): void;
    /**
     * Resolves overlapping segments by adjusting their positions.
     * @param {ILineSegment} segment - The segment to adjust.
     * @param {ILineSegment[]} overlappingSegments - The overlapping segments to resolve.
     * @returns {boolean} whether the shifted segments get resolved with overlapping segment in finding a free coordinate
     */
    private resolveOverlappingSegments;
    /**
     * Determines whether the current segment should be adjusted before its overlapping segment.
     * @param {ILineSegment } segment - The current segment.
     * @param {ILineSegment[]} overlappingSegments - The list of overlapping segments.
     * @returns {boolean} True if the current segment should be adjusted first, otherwise false.
     */
    private shouldAdjustSelfFirst;
    /**
     * Attempts to adjust the primary segment and optionally a secondary segment to resolve overlaps.
     * @param {ILineSegment} primarySegment - The primary line segment to adjust.
     * @param {Direction} shiftDirection - The direction to shift the primary segment.
     * @param {ILineSegment} secondarySegment - The secondary line segment to adjust in the opposite direction (optional).
     * @param {boolean} isOppositeShifting - Enabled when shifting segment in opposite direction.
     * @returns {boolean} True if any segment was adjusted, otherwise false.
     */
    private attemptAdjustment;
    /**
     * Updates the modified segments by adjusting their coordinates and re-adding them to the segment tree.
     * @param {boolean} resetModifiedSegments - Indicates if the segments have been shifted.
     * @returns {void}
     */
    private updateModifiedSegments;
    /**
     * Updates the segment tree with the modified segments.
     * Removes the old segments and adds the new segments with their updated positions.
     * @returns {void}
     */
    private updateSegmentTreeWithModifiedSegments;
    /**
     * Resolves overlapping segments in a given direction.
     * @param {ILineSegment} segment - The line segment to resolve overlaps for.
     * @param {ILineSegment[]} overlappingSegments - The list of overlapping segments.
     * @param {Direction} shiftDirection - The direction to shift the segment.
     * @param {boolean} isOppositeShifting - Enabled when tried to shift secondary segment in opposite direction
     * @param {boolean} adjustOverlapsOnly - Enabled only when overlapping segments need to be adjusted.
     * @returns {boolean} True if the segment was adjusted, otherwise false.
     */
    private resolveOverlappingAtGivenDirection;
    /**
     * Calculates the direction to shift a line segment to resolve overlaps.
     * @param {ILineSegment} lineSegment - The line segment to calculate the shift direction for.
     * @param {ILineSegment[]} overlappingSegments - The list of overlapping segments.
     * @returns {Direction} The direction to shift the segment.
     */
    private calculateShiftDirection;
    /**
     * Adjusts a segment by shifting it in a given direction.
     * @param {ILineSegment} segment - The segment to adjust.
     * @param {Direction} directionToShift - The direction to shift the segment.
     * @param {boolean} isOppositeShifting - Enabled when shifting secondary segment in opposite direction.
     * @param {boolean} adjustOverlapsOnly - Enabled only when overlapping segments need to be adjusted.
     * @returns {boolean} True if the segment was adjusted, false otherwise.
     */
    private adjustSegment;
    /**
     * Calculates the maximum allowed shift for segments.
     * @param {ILineSegment} previousSegment - The previous segment.
     * @param {ILineSegment} nextSegment - The next segment.
     * @param {Direction} directionToShift - The direction to shift the segment.
     * @returns {number} The maximum allowed shift.
     */
    private calculateMaximumSegmentShift;
    /**
     *To destroy the line overlapping
     *
     * @returns {void} To destroy the line overlapping
     */
    destroy(): void;
    /**
     * Core method to return the component name.
     *
     * @returns {string}  Core method to return the component name.
     * @private
     */
    protected getModuleName(): string;
}
//node_modules/@syncfusion/ej2-diagrams/src/diagram/interaction/line-distribution.d.ts
/**
 * Line Distribution
 * @private
 */
export  class LineDistribution {
    /**
     * Constructor for the line distribution module
     * @private
     */
    constructor();
    /**
     * To destroy the line distribution module
     * @returns {void}
     * @private
     */
    destroy(): void;
    /**
     * Core method to return the component name.
     *
     * @returns {string}  Core method to return the component name.
     * @private
     */
    protected getModuleName(): string;
    /** @private */
    initLineDistribution(graph: Layout, diagram: Diagram): void;
    private ObstacleSegment;
    /** @private */
    distributeLines(layout: Layout, diagram: Diagram): void;
    private sortConnectors;
    private resetConnectorPoints;
    private getObstacleEndPoint;
    private getObstacleStartPoint;
    private updateSegmentRow;
    private portOffsetCalculation;
    private addDynamicPortandDistrrbuteLine;
    private initPort;
    private sortObjects;
    /** @private */
    resetConnectorSegments(connector: Connector): void;
    /** @private */
    resetRoutingSegments(connector: Connector, diagram: Diagram, points: PointModel[]): void;
    /**
     * Calculates the bounds of a connector by iterating through its segments and points.
     * @param connector Provide the connector value.
     * @returns An object representing the bounds of the connector.
     */
    private getConnectorBounds;
    /**
     * Calculates points along a line between two given points.
     *  @param start The starting point of the line.
     *  @param end The ending point of the line.
     *  @return An array of points along the line.
     */
    private pointsAlongLine;
    /**
     *
     * Checks if any of the given points fall inside the specified bounding rectangle.
     *  @param points An array of points to be checked.
     *  @param bounds The bounding rectangle to check against.
     *  @return True if any point is inside the bounds, false otherwise.
     */
    private pointInsideBounds;
    /** @private */
    private getPointvalue;
    private containsValue;
}
//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 previousTarget;
    private targetItem;
    /** @private */
    touchArgs: TouchArgs;
    /**   @private  */
    focus: boolean;
    private action;
    private isBlocked;
    private blocked;
    private commandHandler;
    private isMouseDown;
    private inAction;
    private resizeTo;
    private currentPosition;
    private timeOutValue;
    private doingAutoScroll;
    private prevPosition;
    private diagram;
    private objectFinder;
    private tool;
    private eventArgs;
    private userHandleObject;
    private lastObjectUnderMouse;
    private hoverElement;
    private isUserHandleHover;
    private hoverNode;
    private previousElement;
    private isScrolling;
    private isSwimlaneSelected;
    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;
    private userHandle;
    private checkFixedUserHandleEvent;
    private timeOutTapHold;
    mouseDown(evt: PointerEvent): void;
    /**   @private  */
    mouseMoveExtend(e: PointerEvent | TouchEvent, obj: IElement): void;
    /** @private */
    checkAction(obj: IElement): void;
    private isSwimlaneElements;
    private canShowTouchTooltip;
    /** @private */
    mouseMove(e: PointerEvent | TouchEvent, touches: TouchList): void;
    private getContent;
    private findIntersectChild;
    private checkAutoScroll;
    /** @private */
    mouseUp(evt: PointerEvent): void;
    private isSwimlaneChild;
    private updateAnnotation;
    private swapProcessChildInDom;
    /**
     * return the clicked element such as node/connector/port/diagram
     */
    private getTargetElement;
    private getConnectorPadding;
    addSwimLaneObject(selectedNode: NodeModel): void;
    /** @private */
    mouseLeave(evt: PointerEvent): void;
    /** @private */
    mouseWheel(evt: WheelEvent): void;
    private isKeyUp;
    private keyCount;
    private isNudgeKey;
    private commandObj;
    private keyArgs;
    /** @private */
    keyDown(evt: KeyboardEvent): void;
    private getlabel;
    private getKeyModifier;
    keyUp(evt: KeyboardEvent): void;
    private startAutoScroll;
    private doAutoScroll;
    private mouseEvents;
    private elementEnter;
    private elementLeave;
    private setTooltipOffset;
    private updatePointBasedOnScale;
    private altKeyPressed;
    private ctrlKeyPressed;
    private shiftKeyPressed;
    /** @private */
    scrolled(evt: PointerEvent): void;
    private isMobileOrIPadDevice;
    /** @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 */
    updateTool(): void;
    /** @private */
    getTool(action: Actions): ToolBase;
    /** @private */
    getCursor(action: Actions): string;
    /** @private */
    findElementUnderMouse(obj: IElement, position: PointModel, diagram: Diagram, padding?: number): DiagramElement;
    /** @private */
    findObjectsUnderMouse(position: PointModel, source?: IElement): IElement[];
    /** @private */
    findObjectUnderMouse(objects: (NodeModel | ConnectorModel)[], action: Actions, inAction: boolean): IElement;
    /** @private */
    findTargetUnderMouse(objects: (NodeModel | ConnectorModel)[], action: Actions, inAction: boolean, position: PointModel, source?: IElement): IElement;
    /** @private */
    findActionToBeDone(obj: NodeModel | ConnectorModel, wrapper: DiagramElement, position: PointModel, target?: NodeModel | ConnectorModel | PointPortModel | ShapeAnnotationModel | PathAnnotationModel): Actions;
    private updateContainerBounds;
    private updateContainerProperties;
    private updateLaneChildNode;
    private updateContainerPropertiesExtend;
    private addUmlNode;
}
/** @private */
export interface Info {
    ctrlKey?: boolean;
    shiftKey?: boolean;
}
/** @private */
export interface MouseEventArgs {
    position?: PointModel;
    source?: IElement;
    sourceWrapper?: DiagramElement;
    target?: IElement;
    targetWrapper?: DiagramElement;
    info?: Info;
    startTouches?: TouchList | ITouches[];
    moveTouches?: TouchList | ITouches[];
    clickCount?: number;
    actualObject?: IElement;
    portId?: string;
}
/** @private */
export interface HistoryLog {
    hasStack?: boolean;
    isPreventHistory?: boolean;
}
//node_modules/@syncfusion/ej2-diagrams/src/diagram/interaction/container-interaction.d.ts
/**
 * Interaction for Container
 */
/**
 * updateCanvasBounds method\
 *
 * @returns {  void }    updateCanvasBounds method .\
 * @param {Diagram} diagram - provide the diagram value.
 * @param {NodeModel | ConnectorModel} obj - provide the isVertical value.
 * @param {PointModel} position - provide the position value.
 * @param {boolean} isBoundsUpdate - provide the isBoundsUpdate value.
 * @private
 */
export  function updateCanvasBounds(diagram: Diagram, obj: NodeModel | ConnectorModel, position: PointModel, isBoundsUpdate: boolean): boolean;
/**
 * removeChildInContainer method\
 *
 * @returns {  void }    removeChildInContainer method .\
 * @param {Diagram} diagram - provide the diagram value.
 * @param {NodeModel | ConnectorModel} obj - provide the isVertical value.
 * @param {PointModel} position - provide the position value.
 * @param {boolean} isBoundsUpdate - provide the isBoundsUpdate value.
 * @private
 */
export  function removeChildInContainer(diagram: Diagram, obj: NodeModel | ConnectorModel, position: PointModel, isBoundsUpdate: boolean): void;
/**
 * findBounds method\
 *
 * @returns {  NodeModel | ConnectorModel  }    findBounds method .\
 * @param {NodeModel} obj - provide the diagram value.
 * @param {number} columnIndex - provide the isVertical value.
 * @param {boolean} isHeader - provide the isVertical value.
 * @private
 */
export  function findBounds(obj: NodeModel, columnIndex: number, isHeader: boolean): Rect;
/**
 * createHelper method\
 *
 * @returns {  NodeModel | ConnectorModel  }    createHelper method .\
 * @param {Diagram} diagram - provide the diagram value.
 * @param {NodeModel | ConnectorModel} obj - provide the isVertical value.
 * @private
 */
export  function createHelper(diagram: Diagram, obj: Node): Node;
/**
 * renderContainerHelper method\
 *
 * @returns {  NodeModel | ConnectorModel  }    renderContainerHelper method .\
 * @param {Diagram} diagram - provide the diagram value.
 * @param {NodeModel | ConnectorModel} obj - provide the isVertical value.
 * @private
 */
export  function renderContainerHelper(diagram: Diagram, obj: SelectorModel | NodeModel | ConnectorModel): NodeModel | ConnectorModel;
/**
 * checkParentAsContainer method\
 *
 * @returns {  void  }    checkParentAsContainer method .\
 * @param {Diagram} diagram - provide the diagram value.
 * @param {NodeModel | ConnectorModel} obj - provide the isVertical value.
 * @param {boolean} isChild - provide the isChild value.
 * @private
 */
export  function checkParentAsContainer(diagram: Diagram, obj: NodeModel | ConnectorModel, isChild?: boolean): boolean;
/**
 * checkChildNodeInContainer method\
 *
 * @returns {  void  }    checkChildNodeInContainer method .\
 * @param {Diagram} diagram - provide the diagram value.
 * @param {NodeModel} obj - provide the isVertical value.
 * @private
 */
export  function checkChildNodeInContainer(diagram: Diagram, obj: NodeModel): void;
/**
 *
 * @param { NodeModel | ConnectorModel} obj - Provide the obj value.
 * @param { NodeModel } swimlane  - Provide the swimlane value.
 * @param { Diagram } diagram - Provide the diagram value.
 * @returns { void } updateZindex method .\
 * @private
 */
export  function updateZindex(obj: NodeModel | ConnectorModel, swimlane: NodeModel, diagram: Diagram): void;
/**
 * addChildToContainer method\
 *
 * @returns {  void  }    addChildToContainer method .\
 * @param {DiagramElement} diagram - provide the element value.
 * @param {boolean} parent - provide the isVertical value.
 * @param {PointModel} node - provide the node value.
 * @param {Diagram} isUndo - provide the isUndo value.
 * @param {boolean} historyAction - provide the historyAction value.
 * @param {boolean} canUpdateZindex - provide the canUpdateZindex value.
 * @private
 */
export  function addChildToContainer(diagram: Diagram, parent: NodeModel, node: NodeModel, isUndo?: boolean, historyAction?: boolean, canUpdateZindex?: boolean): void;
export  function updateLaneBoundsWithSelector(container: NodeModel, selector: SelectorModel, diagram: Diagram, isBoundsUpdate?: boolean): void;
export  function updateLaneBoundsAfterAddChild(container: NodeModel, swimLane: NodeModel, node: NodeModel | SelectorModel, diagram: Diagram, isBoundsUpdate?: boolean, isSelector?: boolean): boolean;
/**
 * renderStackHighlighter method\
 *
 * @returns {  void  }    renderStackHighlighter method .\
 * @param {DiagramElement} element - provide the element value.
 * @param {boolean} isVertical - provide the isVertical value.
 * @param {PointModel} position - provide the position value.
 * @param {Diagram} diagram - provide the diagram value.
 * @param {boolean} isUml - provide the isUml value.
 * @param {boolean} isSwimlane - provide the isSwimlane value.
 * @private
 */
export  function renderStackHighlighter(element: DiagramElement, isVertical: boolean, position: PointModel, diagram: Diagram, isUml?: boolean, isSwimlane?: boolean): void;
/**
 * moveChildInStack method\
 *
 * @returns {  void }    moveChildInStack method .\
 * @param {Node} sourceNode - provide the sourceNode value.
 * @param {Node} target - provide the target value.
 * @param {Diagram} diagram - provide the diagram value.
 * @param {Actions} action - provide the action value.
 * @private
 */
export  function moveChildInStack(sourceNode: Node, target: Node, diagram: Diagram, action: Actions): void;
/** @private */
export interface LaneChildrenState {
    parentObj: object;
    propName: string;
}
//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 oldValue;
    private selectedSegment;
    private segmentIndex;
    constructor(commandHandler: CommandHandler, endPoint: string);
    /**
     * mouseDown method\
     *
     * @returns {  void }    mouseDown method .\
     * @param {MouseEventArgs} args - provide the args value.
     * @private
     */
    mouseDown(args: MouseEventArgs): void;
    /**
     * mouseMove method\
     *
     * @returns {  void }    mouseMove method .\
     * @param {MouseEventArgs} args - provide the args value.
     * @private
     */
    mouseMove(args: MouseEventArgs): boolean;
    /**
     * mouseUp method\
     *
     * @returns {  void }    mouseUp method .\
     * @param {MouseEventArgs} args - provide the args value.
     * @private
     */
    mouseUp(args: MouseEventArgs): void;
    private removePrevSegment;
    private findSegmentDirection;
    private removeNextSegment;
    /**
     * addOrRemoveSegment method Used to add or remove intermediate segments to the straight connector. \
     *
     * @returns {void} addOrRemoveSegment method Used to add or remove intermediate segments to the straight connector.
     * @param {ConnectorModel} connector - provide the connector value in which segment to be added/removed.
     * @param {PointModel} point - provide the mouse clicked position as a point of the segment
     * @param {CommandHandler} commandHandler - provide the CommandHandler value that defines the behavior of commands
     * @private
     */
    addOrRemoveSegment(connector: ConnectorModel, point: PointModel, commandHandler?: CommandHandler): void;
    private findIndex;
    private dragOrthogonalSegment;
    private addSegments;
    private insertFirstSegment;
    private updateAdjacentSegments;
    private addTerminalSegment;
    private updatePortSegment;
    private updatePreviousSegment;
    private changeSegmentDirection;
    private updateNextSegment;
    private updateFirstSegment;
    private updateLastSegment;
    /**
     *To destroy the module
     *
     * @returns {void} To destroy the module
     */
    destroy(): void;
    /**
     * Get module name.
     */
    /**
     * Get module name.\
     *
     * @returns {  string  }    Get module name.\
     */
    protected getModuleName(): string;
}
//node_modules/@syncfusion/ej2-diagrams/src/diagram/interaction/command-manager.d.ts
/**
 * Defines the behavior of commands
 */
export  class CommandHandler {
    /**   @private  */
    clipboardData: ClipBoardObject;
    /**   @private  */
    diagramObject: object;
    /**   @private  */
    newSelectedObjects: object;
    /**   @private  */
    oldSelectedObjects: object;
    /**   @private  */
    changedNodeZIndexes: object;
    /**   @private  */
    connectorsTable: Object[];
    /** @private */
    PreventConnectorSplit: boolean;
    /**   @private  */
    processTable: {};
    /** @private */
    isContainer: boolean;
    private state;
    /** @private */
    diagram: Diagram;
    /** @private */
    canUpdateTemplate: boolean;
    /** @private */
    cloningInProgress: boolean;
    private childTable;
    private objectStore;
    private parentTable;
    private blazor;
    private blazorInterop;
    private cloneGroupChildCollection;
    enableConnectorSplit: boolean;
    /**   @private  */
    readonly snappingModule: Snapping;
    /**   @private  */
    readonly layoutAnimateModule: LayoutAnimation;
    constructor(diagram: Diagram);
    /**
     * startTransaction method\
     *
     * @returns {  void }    startTransaction method .\
     * @param {boolean} protectChange - provide the options value.
     * @private
     */
    startTransaction(protectChange: boolean): void;
    /**
     * endTransaction method\
     *
     * @returns {  void }    endTransaction method .\
     * @param {boolean} protectChange - provide the options value.
     * @private
     */
    endTransaction(protectChange: boolean): void;
    /**
     * setFocus method\
     *
     * @returns {  void }    setFocus method .\
     * @private
     */
    setFocus(): void;
    /**
     * showTooltip method\
     *
     * @returns {  void }    showTooltip method .\
     * @param {IElement} node - provide the options value.
     * @param {PointModel} position - provide the position value.
     * @param {string | HTMLElement} content - provide the content value.
     * @param {string} toolName - provide the toolName value.
     * @param {boolean} isTooltipVisible - provide the isTooltipVisible value.
     * @private
     */
    showTooltip(node: IElement, position: PointModel, content: string | HTMLElement | Function, toolName: string, isTooltipVisible: boolean): void;
    /**
     * Split the connector, when the node is dropped onto it and establish connection with that dropped node.
     *
     * @returns {  void }   connectorSplit  method .\
     * @param {NodeModel}  droppedObject - Provide the dropped node id
     * @param {ConnectorModel} targetConnector - Provide the connector id
     * @private
     */
    connectorSplit(droppedObject: NodeModel, targetConnector: ConnectorModel): void;
    private nodeOffsetChange;
    private ConnectorTargetChange;
    private ConnectorSourceChange;
    /**
     * closeTooltip method\
     *
     * @returns {  void }    closeTooltip method .\
     * @private
     */
    closeTooltip(): void;
    /**
     * canEnableDefaultTooltip method\
     *
     * @returns {  boolean }    canEnableDefaultTooltip method .\
     * @private
     */
    canEnableDefaultTooltip(): boolean;
    /**
     * updateSelector method\
     *
     * @returns {  void }    updateSelector method .\
     * @private
     */
    updateSelector(): void;
    /**
     * triggerEvent method\
     *
     * @returns {  Promise<void | object | IBlazorConnectionChangeEventArgs> }    triggerEvent method .\
     * @param {DiagramEvent} event - provide the options value.
     * @param {Object} args - provide the args value.
     * @private
     */
    triggerEvent(event: DiagramEvent, args: Object): Promise<void | object | IBlazorConnectionChangeEventArgs>;
    /**
     * dragOverElement method\
     *
     * @returns { void }    dragOverElement method .\
     * @param {MouseEventArgs} args - provide the options value.
     * @param {PointModel} currentPosition - provide the args value.
     * @private
     */
    dragOverElement(args: MouseEventArgs, currentPosition: PointModel): void;
    /**
     * disConnect method\
     *
     * @returns { IConnectionChangeEventArgs | IBlazorConnectionChangeEventArgs }    disConnect method .\
     * @param {IElement} obj - provide the obj value.
     * @param {string} endPoint - provide the endPoint value.
     * @param {boolean} canCancel - provide the canCancel value.
     * @private
     */
    disConnect(obj: IElement, endPoint?: string, canCancel?: boolean): IConnectionChangeEventArgs | IBlazorConnectionChangeEventArgs;
    private connectionEventChange;
    /**
     * findTarget method\
     *
     * @returns { NodeModel | PointPortModel | ShapeAnnotationModel | PathAnnotationModel }    findTarget method .\
     * @param {DiagramElement} element - provide the element value.
     * @param {IElement} argsTarget - provide the argsTarget value.
     * @param {boolean} source - provide the source value.
     * @param {boolean} connection - provide the connection value.
     * @private
     */
    findTarget(element: DiagramElement, argsTarget: IElement, source?: boolean, connection?: boolean): NodeModel | ConnectorModel | PointPortModel | ShapeAnnotationModel | PathAnnotationModel;
    findMatch(items: Object[], targetID: string, elementID: string): any;
    /**
     * canDisconnect method\
     *
     * @returns { boolean }    canDisconnect method .\
     * @param {string} endPoint - provide the endPoint value.
     * @param {MouseEventArgs} args - provide the args value.
     * @param {string} targetPortId - provide the targetPortId value.
     * @param {string} targetNodeId - provide the targetNodeId value.
     * @private
     */
    canDisconnect(endPoint: string, args: MouseEventArgs, targetPortId: string, targetNodeId: string): boolean;
    /**
     * connect method\
     *
     * @returns { IConnectionChangeEventArgs | IBlazorConnectionChangeEventArgs }    connect method .\
     * @param {string} endPoint - provide the endPoint value.
     * @param {MouseEventArgs} args - provide the args value.
     * @param {boolean} canCancel - provide the canCancel value.
     * @private
     */
    connect(endPoint: string, args: MouseEventArgs, canCancel?: boolean): IConnectionChangeEventArgs | IBlazorConnectionChangeEventArgs;
    /** @private */
    /**
     * cut method\
     *
     * @returns { void }    cut method .\
     * @private
     */
    cut(): void;
    /**
     * addLayer method\
     *
     * @returns { void }    addLayer method .\
     * @param {LayerModel} layer - provide the endPoint value.
     * @param {Object[]} objects - provide the args value.
     * @param {boolean} isServerUpdate - provide the canCancel value.
     * @private
     */
    addLayer(layer: LayerModel, objects?: Object[], isServerUpdate?: boolean): void;
    /**
     * getObjectLayer method\
     *
     * @returns { LayerModel }    getObjectLayer method .\
     * @param {string} objectName - provide the endPoint value.
     * @private
     */
    getObjectLayer(objectName: string): LayerModel;
    /**
     * getLayer method\
     *
     * @returns { LayerModel }    getLayer method .\
     * @param {string} layerName - provide the endPoint value.
     * @private
     */
    getLayer(layerName: string): LayerModel;
    /**
     * removeLayer method\
     *
     * @returns { void }    removeLayer method .\
     * @param {string} layerId - provide the endPoint value.
     * @param {boolean} isServerUpdate - provide the endPoint value.
     * @private
     */
    removeLayer(layerId: string, isServerUpdate?: boolean): void;
    /**
     * moveObjects method\
     *
     * @returns { void }    moveObjects method .\
     * @param {string[]]} objects - provide the objects value.
     * @param {string} targetLayer - provide the targetLayer value.
     * @private
     */
    moveObjects(objects: string[], targetLayer?: string): void;
    private setConnectorDetails;
    /**
     * cloneLayer method\
     *
     * @returns { void }    cloneLayer method .\
     * @param {string[]} layerName - provide the objects value.
     * @private
     */
    cloneLayer(layerName: string): void;
    /**
     * copy method\
     *
     * @returns { void }    copy method .\
     * @private
     */
    copy(): Object;
    /**
     * copyObjects method\
     *
     * @returns { Object[] }    copyObjects method .\
     * @private
     */
    copyObjects(): Object[];
    /**
     * findProcesses method\
     *
     * @returns { string[] } findProcesses method .\
     * @param {Node} node - provide the laneNode  value.
     * @private
     */
    findProcesses(node: Node): string[];
    private removeDuplicateObjects;
    private checkSwimlaneInSelection;
    private copyProcesses;
    /**
     * group method\
     *
     * @returns { void }    group method .\
     * @private
     */
    group(): void;
    /**
     * unGroup method\
     *
     * @returns {  void }    unGroup method .\
     * @param {NodeModel} obj - provide the angle value.
     * @private
     */
    unGroup(obj?: NodeModel): void;
    private resetDependentConnectors;
    /**
     * paste method\
     *
     * @returns { void }    paste method .\
     * @param {(NodeModel | ConnectorModel)[]} obj - provide the objects value.
     * @private
     */
    paste(obj: (NodeModel | ConnectorModel)[]): void;
    private getNewObject;
    private cloneConnector;
    private cloneNode;
    private cloneSubProcesses;
    private cloneGroup;
    /**
     * translateObject method\
     *
     * @returns { Object[] }    translateObject method .\
     * @param {Node | Connector} obj - provide the objects value.
     * @param {string} groupnodeID - provide the objects value.
     * @private
     */
    translateObject(obj: Node | Connector, groupnodeID?: string): void;
    /**
     * drawObject method\
     *
     * @returns { Node | Connector }    drawObject method .\
     * @param {Node | Connector} obj - provide the objects value.
     * @private
     */
    drawObject(obj: Node | Connector): Node | Connector;
    /**
     * addObjectToDiagram method\
     *
     * @returns { void }    addObjectToDiagram method .\
     * @param {Node | Connector} obj - provide the objects value.
     * @private
     */
    addObjectToDiagram(obj: Node | Connector): void;
    /**
     * addObjectToDiagram method\
     *
     * @returns { void }    addObjectToDiagram method .\
     * @param {boolean} enable - provide the objects value.
     * @private
     */
    enableServerDataBinding(enable: boolean): void;
    /**
     * addText method\
     *
     * @returns { void }    addText method .\
     * @param {boolean} obj - provide the objects value.
     * @param {PointModel} currentPosition - provide the objects value.
     * @private
     */
    addText(obj: Node | Connector, currentPosition: PointModel): void;
    /**
     * isUserHandle method\
     *
     * @returns { boolean }    isUserHandle method .\
     * @param {PointModel} position - provide the objects value.
     * @private
     */
    isUserHandle(position: PointModel): boolean;
    /**
     * selectObjects method\
     *
     * @returns { Promise<void> }    selectObjects method .\
     * @param {(NodeModel | ConnectorModel | AnnotationModel)[]} obj - provide the objects value.
     * @param {boolean} multipleSelection - provide the objects value.
     * @param {(NodeModel | ConnectorModel| AnnotationModel)[]} oldValue - provide the objects value.
     * @private
     */
    selectObjects(obj: (NodeModel | ConnectorModel | AnnotationModel)[], multipleSelection?: boolean, oldValue?: (NodeModel | ConnectorModel | AnnotationModel)[]): Promise<void>;
    /**
     * findParent method\
     *
     * @returns { Node }    findParent method .\
     * @param {Node} node - provide the objects value.
     * @private
     */
    findParent(node: Node): Node;
    private selectProcesses;
    private selectGroup;
    private selectBpmnSubProcesses;
    private hasProcesses;
    /**
     * select method\
     *
     * @returns { void }    select method .\
     * @param {NodeModel | ConnectorModel} obj - provide the objects value.
     * @param {boolean} multipleSelection - provide the objects value.
     * @param {boolean} preventUpdate - provide the objects value.
     * @private
     */
    select(obj: NodeModel | ConnectorModel, multipleSelection?: boolean, preventUpdate?: boolean): void;
    /**
     * labelSelect method\
     *
     * @returns { void }    labelSelect method .\
     * @param {NodeModel | ConnectorModel | AnnotationModel} obj - provide the objects value.
     * @param {DiagramElement} textWrapper - provide the objects value.
     * @private
     */
    labelSelect(obj: NodeModel | ConnectorModel, textWrapper: DiagramElement, oldValue?: (NodeModel | ConnectorModel | AnnotationModel)[]): void;
    /**
     * unSelect method\
     *
     * @returns { void }    unSelect method .\
     * @param {NodeModel | ConnectorModel} obj - provide the objects value.
     * @private
     */
    unSelect(obj: NodeModel | ConnectorModel): void;
    /**
     * getChildElements method\
     *
     * @returns { string[] }    getChildElements method .\
     * @param {DiagramElement[]} child - provide the objects value.
     * @private
     */
    /**
     * moveSvgNode method\
     *
     * @returns { void }    moveSvgNode method .\
     * @param {string} nodeId - provide the objects value.
     * @param {string} targetID - provide the objects value.
     * @private
     */
    moveSvgNode(nodeId: string, targetID: string): void;
    private moveAfterSvgNode;
    /**
     * sendLayerBackward method\
     *
     * @returns { void }    sendLayerBackward method .\
     * @param {string} layerName - provide the objects value.
     * @private
     */
    sendLayerBackward(layerName: string): void;
    /**
     * bringLayerForward method\
     *
     * @returns { void }    bringLayerForward method .\
     * @param {string} layerName - provide the objects value.
     * @private
     */
    bringLayerForward(layerName: string): void;
    /**
     * sendToBack method\
     *
     * @returns { void }    sendToBack method .\
     * @param {NodeModel | ConnectorModel} object - provide the objects value.
     * @private
     */
    sendToBack(object?: NodeModel | ConnectorModel): void;
    findMaxZIndex(parent: Node): number;
    private updateGroupZindex;
    private updateLayerZindexTable;
    private swapZIndexObjects;
    private resetTargetNode;
    private checkParentExist;
    checkObjectBehind(objectId: string, zIndexTable: {}, index: number): boolean;
    /**
     * bringToFront method\
     *
     * @returns {  void  }    bringToFront method .\
     *  @param {NodeModel | ConnectorModel } obj - Provide the nodeArray element .
     * @private
     */
    bringToFront(obj?: NodeModel | ConnectorModel): void;
    private triggerOrderCommand;
    private checkGroupNode;
    /**
     * sortByZIndex method\
     *
     * @returns {  Object[] }    sortByZIndex method .\
     *  @param { Object[] } nodeArray - Provide the nodeArray element .
     *  @param { string } sortID - Provide the sortID element .
     * @private
     */
    sortByZIndex(nodeArray: Object[], sortID?: string, command?: string): Object[];
    /**
     * orderCommands method\
     *
     * @returns {  void }    orderCommands method .\
     *  @param { boolean } isRedo - Provide the previousObject element .
     *  @param { Selector } selector - Provide the previousObject element .
     *  @param { EntryType } action - Provide the previousObject element .
     * @private
     */
    orderCommands(isRedo: boolean, selector: Selector, action: EntryType): void;
    /**
     * sendForward method\
     *
     * @returns {  void }    sendForward method .\
     *  @param {  NodeModel | ConnectorModel } obj - Provide the previousObject element .
     * @private
     */
    sendForward(obj?: NodeModel | ConnectorModel): void;
    private updateZIndexBySendForward;
    private findGreatestChildZIndex;
    private notChildOfSelectedNode;
    /**
     * sendBackward method\
     *
     * @returns {  void }    sendBackward method .\
     *  @param {  NodeModel | ConnectorModel } obj - Provide the previousObject element .
     * @private
     */
    sendBackward(obj?: NodeModel | ConnectorModel): void;
    private updateZIndexBySendBackward;
    private findLowestChildZIndex;
    /**
     * updateNativeNodeIndex method\
     *
     * @returns {  void }    updateNativeNodeIndex method .\
     *  @param { string } nodeId - Provide the previousObject element .
     *  @param { string } targetID - Provide the previousObject element .
     * @private
     */
    updateNativeNodeIndex(nodeId: string, targetID?: string): void;
    /**
     * initSelectorWrapper method\
     *
     * @returns {  void }    initSelectorWrapper method .\
     * @private
     */
    initSelectorWrapper(): void;
    /**
     * doRubberBandSelection method\
     *
     * @returns {  void }    doRubberBandSelection method .\
     *  @param { Rect } region - Provide the previousObject element .
     * @private
     */
    doRubberBandSelection(region: Rect): void;
    private clearSelectionRectangle;
    /**
     * dragConnectorEnds method\
     *
     * @returns {  void }    dragConnectorEnds method .\
     *  @param { string } endPoint - Provide the previousObject element .
     *  @param { IElement } obj - Provide the previousObject element .
     *  @param { PointModel } point - Provide the point element .
     *  @param { BezierSegmentModel } segment - Provide the segment element .
     *  @param { IElement } target - Provide the target element .
     *  @param { string } targetPortId - Provide the targetPortId element .
     * @private
     */
    dragConnectorEnds(endPoint: string, obj: IElement, point: PointModel, segment: BezierSegmentModel, target?: IElement, targetPortId?: string): boolean;
    /**
     * getSelectedObject method\
     *
     * @returns {  void }    getSelectedObject method .\
     * @private
     */
    getSelectedObject(): (NodeModel | ConnectorModel | AnnotationModel)[];
    enableCloneObject(value: boolean): void;
    /**
     * getBlazorOldValues method\
     *
     * @returns {  void }    getBlazorOldValues method .\
     *  @param { MouseEventArgs } args - Provide the previousObject element .
     *  @param { boolean } labelDrag - Provide the previousObject element .
     * @private
     */
    getBlazorOldValues(args?: MouseEventArgs, labelDrag?: boolean): void;
    /**
     * clearObjectSelection method\
     *
     * @returns {  void }    clearObjectSelection method .\
     *  @param { (NodeModel | ConnectorModel) } mouseDownElement - Provide the triggerAction element .
     * @private
     */
    clearObjectSelection(mouseDownElement: (NodeModel | ConnectorModel)): void;
    /**
     * clearSelection method\
     *
     * @returns {  void }    clearSelection method .\
     *  @param { boolean } triggerAction - Provide the triggerAction element .
     *  @param { boolean } isTriggered - Provide the isTriggered element .
     * @private
     */
    clearSelection(triggerAction?: boolean, isTriggered?: boolean): Promise<void>;
    /**
     * clearSelectedItems method\
     *
     * @returns {  void }    clearSelectedItems method .\
     * @private
     */
    clearSelectedItems(): void;
    /**
     * removeStackHighlighter method\
     *
     * @returns {  void }    removeStackHighlighter method .\
     * @private
     */
    removeStackHighlighter(): void;
    /**
     * @param {End} args - provide the args  value.
     * @param {IElement} target - provide the target  value.
     * @private
     */
    renderStackHighlighter(args: MouseEventArgs, target?: IElement): void;
    /** @private */
    insertBlazorConnector(obj: Selector): void;
    /** @private */
    drag(obj: NodeModel | ConnectorModel, tx: number, ty: number): void;
    /**   @private  */
    connectorSegmentChange(actualObject: Node, existingInnerBounds: Rect, isRotate: boolean): void;
    /** @private */
    updateEndPoint(connector: Connector, oldChanges?: Connector): void;
    /**
     * @param obj
     * @param tx
     * @param ty
     * @param preventUpdate
     * @param point
     * @param endPoint
     * @param update
     * @param target
     * @param targetPortId
     * @param isDragSource
     * @param segment
     * @private
     */
    dragSourceEnd(obj: ConnectorModel, tx: number, ty: number, preventUpdate?: boolean, point?: PointModel, endPoint?: string, update?: boolean, target?: NodeModel, targetPortId?: string, isDragSource?: boolean, segment?: BezierSegmentModel): boolean;
    /**
     * Update Path Element offset
     */
    updatePathElementOffset(connector: ConnectorModel): void;
    /**
     * Upadte the connector segments when change the source node
     */
    private changeSegmentLength;
    private canConnect;
    /**
     * Change the connector endPoint to port
     */
    private changeSourceEndToPort;
    /**
     * @param connector
     * @param changeTerminal
     * @private
Remove terinal segment in initial
     */
    removeTerminalSegment(connector: Connector, changeTerminal?: boolean): void;
    /**
     * Change the connector endPoint from point to node
     */
    private changeSourceEndToNode;
    private translateBezierPoints;
    private translateSubsequentSegment;
    private updatePreviousBezierSegment;
    private updateNextBezierSegment;
    /**
     * dragTargetEnd method \
     *
     * @returns { void }     dragTargetEnd method .\
     * @param {ConnectorModel} obj - provide the obj value.
     * @param {number} tx - provide the tx value.
     * @param {number} ty - provide the ty value.
     * @param {boolean} preventUpdate - provide the preventUpdate value.
     * @param {PointModel} point - provide the point value.
     * @param {string} endPoint - provide the endPoint value.
     * @param {boolean} update - provide the update value.
     * @param {OrthogonalSegmentModel | BezierSegmentModel | StraightSegmentModel} segment - provide the segment value.
     *
     * @private
     */
    dragTargetEnd(obj: ConnectorModel, tx: number, ty: number, preventUpdate?: boolean, point?: PointModel, endPoint?: string, update?: boolean, segment?: OrthogonalSegmentModel | BezierSegmentModel | StraightSegmentModel): boolean;
    /**
     * dragControlPoint method \
     *
     * @returns { void }     dragControlPoint method .\
     * @param {ConnectorModel} obj - provide the obj value.
     * @param {number} tx - provide the tx value.
     * @param {number} ty - provide the ty value.
     * @param {boolean} preventUpdate - provide the preventUpdate value.
     * @param {number} segmentNumber - provide the segmentNumber value.
     *
     * @private
     */
    dragControlPoint(obj: ConnectorModel, tx: number, ty: number, preventUpdate?: boolean, segmentNumber?: number): boolean;
    updateDirectionalBezierCurve(connector: ConnectorModel): void;
    /**
     * rotateObjects method \
     *
     * @returns { void }     rotateObjects method .\
     * @param {NodeModel | SelectorModel} parent - provide the parent value.
     * @param {(NodeModel | ConnectorModel)[]} objects - provide the objects value.
     * @param {number} angle - provide the angle value.
     * @param {PointModel} pivot - provide the pivot value.
     * @param {boolean} includeParent - provide the includeParent value.
     *
     * @private
     */
    rotateObjects(parent: NodeModel | SelectorModel, objects: (NodeModel | ConnectorModel)[], angle: number, pivot?: PointModel, includeParent?: boolean): void;
    /**
     * snapConnectorEnd method \
     *
     * @returns { PointModel }     snapConnectorEnd method .\
     * @param {PointModel} currentPosition - provide the parent value.
     *
     * @private
     */
    snapConnectorEnd(currentPosition: PointModel): PointModel;
    /**
     * snapAngle method \
     *
     * @returns { number }     snapAngle method .\
     * @param {number} angle - provide the parent value.
     *
     * @private
     */
    snapAngle(angle: number): number;
    /**
     * rotatePoints method \
     *
     * @returns { number }     rotatePoints method .\
     * @param {Connector} conn - provide the parent value.
     * @param {number} angle - provide the parent value.
     * @param {PointModel} pivot - provide the parent value.
     *
     * @private
     */
    rotatePoints(conn: Connector, angle: number, pivot: PointModel): void;
    private updateInnerParentProperties;
    /**
     * scale method \
     *
     * @returns { boolean }     scale method .\
     * @param {NodeModel | ConnectorModel} obj - provide the parent value.
     * @param {number} sw - provide the parent value.
     * @param {number} sh - provide the parent value.
     * @param {number} pivot - provide the parent value.
     * @param {number} refObject - provide the parent value.
     * @param {boolean} isOutsideBoundary - provide the parent value.
     *
     * @private
     */
    scale(obj: NodeModel | ConnectorModel, sw: number, sh: number, pivot: PointModel, refObject?: IElement, isOutsideBoundary?: boolean): boolean;
    /** @private */
    getAllDescendants(node: NodeModel, nodes: (NodeModel | ConnectorModel)[], includeParent?: boolean, innerParent?: boolean): (NodeModel | ConnectorModel)[];
    /**
     * getChildren method \
     *
     * @returns { (NodeModel | ConnectorModel)[]): (NodeModel | ConnectorModel)[] }     getChildren method .\
     * @param {NodeModel} node - provide the sw value.
     * @param {(NodeModel | ConnectorModel)[]} nodes - provide the sw value.
     *
     * @private
     */
    getChildren(node: NodeModel, nodes: (NodeModel | ConnectorModel)[]): (NodeModel | ConnectorModel)[];
    /**
     * scaleObject method \
     *
     * @returns { NodeModel }     scaleObject method .\
     * @param {string} id - provide the sw value.
     *
     * @private
     */
    cloneChild(id: string): NodeModel;
    /**
     * scaleObject method \
     *
     * @returns { void }     scaleObject method .\
     * @param {End} sw - provide the sw value.
     * @param {End} sh - provide the sh value.
     * @param {PointModel} pivot - provide the pivot value.
     * @param {IElement} obj - provide the pivot value.
     * @param {DiagramElement} element - provide the element value.
     * @param {IElement} refObject - provide the refObject value.
     *
     * @private
     */
    scaleObject(sw: number, sh: number, pivot: PointModel, obj: IElement, element: DiagramElement, refObject: IElement, canUpdate?: boolean): void;
    private scaleConnector;
    private measureSelector;
    private calculateBounds;
    /**
     * portDrag method \
     *
     * @returns { void }     portDrag method .\
     * @param { NodeModel | ConnectorModel} obj - provide the obj value.
     * @param {DiagramElement} portElement - provide the portElement value.
     * @param {number} tx - provide the tx value.
     * @param {number} ty - provide the tx value.
     *
     * @private
     */
    portDrag(obj: NodeModel | ConnectorModel, portElement: DiagramElement, tx: number, ty: number): void;
    /** @private */
    labelDrag(obj: NodeModel | ConnectorModel, textElement: DiagramElement, tx: number, ty: number): void;
    private updatePathAnnotationOffset;
    private updatePortOffset;
    private getRelativeOffset;
    private dragLimitValue;
    private updateLabelMargin;
    private boundsInterSects;
    /** @private */
    intersect(polyLine1: PointModel[], polyLine2: PointModel[], self: boolean): PointModel[];
    /**
     * @private
     */
    getPointAtLength(length: number, points: PointModel[], angle: number): PointModel;
    private getInterceptWithSegment;
    /** @private */
    getAnnotationChanges(object: NodeModel | ConnectorModel, label: ShapeAnnotation | PathAnnotation): Object;
    /** @private */
    getConnectorPortChanges(object: NodeModel | ConnectorModel, label: PathPort): 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, isInitialRendering?: boolean): boolean;
    /** @private */
    dragSelectedObjects(tx: number, ty: number): boolean;
    private checkHtmlObjectDrag;
    private resetOverviewCanvas;
    /** @private */
    scaleSelectedItems(sx: number, sy: number, pivot: PointModel): boolean;
    /** @private */
    rotateSelectedItems(angle: number): boolean;
    /** @private */
    hasSelection(): boolean;
    /** @private */
    isSelected(element: IElement): boolean;
    /**
     * initExpand is used for layout expand and collapse interaction
     */
    initExpand(args: MouseEventArgs): void;
    /** @private */
    expandNode(node: Node, diagram?: Diagram, canLayout?: boolean): ILayout;
    private getparentexpand;
    /**
     * Setinterval and Clear interval for layout animation
     */
    /** @private */
    expandCollapse(source: Node, visibility: boolean, diagram: Diagram, visitedNodes: NodeModel[]): 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 */
    ReRouteConnector(connector: Object): void;
    /** @private */
    startGroupAction(): void;
    /** @private */
    endGroupAction(): void;
    /** @private */
    removeChildFromBPmn(child: IElement, newTarget: IElement, oldTarget: IElement): void;
    /** @private */
    isDroppable(source: IElement, targetNodes: IElement): boolean;
    /**
     * @private
     */
    renderHighlighter(args: MouseEventArgs, connectHighlighter?: boolean, source?: boolean): void;
    /** @private */
    mouseOver(source: IElement, target: IElement, position: PointModel): boolean;
    /**
     * @private
     */
    snapPoint(startPoint: PointModel, endPoint: PointModel, tx: number, ty: number): PointModel;
    /**
     * @private
     */
    removeSnap(): void;
    /** @private */
    /**Bug(EJ2-62725): Exception occurs when drag and drop the connector inside the swimlane */
    dropAnnotation(source: IElement, target: IElement): void;
    /** @private */
    drop(source: IElement, target: IElement, position: PointModel): void;
    /** @private */
    addHistoryEntry(entry: HistoryEntry): void;
    /** @private */
    align(objects: (NodeModel | ConnectorModel)[], option: AlignmentOptions, type: AlignmentMode): void;
    /**
     * distribute method \
     *
     * @returns { void }     distribute method .\
     * @param {(NodeModel | ConnectorModel)[]} objects - provide the source value.
     * @param {SizingOptions} option - provide the target value.
     *
     * @private
     */
    distribute(objects: (NodeModel | ConnectorModel)[], option: DistributeOptions): void;
    /**
     * sameSize method \
     *
     * @returns { void }     sameSize method .\
     * @param {(NodeModel | ConnectorModel)[]} objects - provide the source value.
     * @param {SizingOptions} option - provide the target value.
     *
     * @private
     */
    sameSize(objects: (NodeModel | ConnectorModel)[], option: SizingOptions): void;
    private storeObject;
    /**
     * updatePanState method \
     *
     * @returns { any }     updatePanState method .\
     * @param {number} eventCheck - provide the eventCheck value.
     *
     * @private
     */
    updatePanState(eventCheck: boolean): any;
    /**
     * dataBinding method \
     *
     * @returns { void }     dataBinding method .\
     *
     * @private
     */
    dataBinding(): void;
    setBlazorDiagramProps(arg: boolean): void;
    /**
     * scroll method \
     *
     * @returns { void }     scroll method .\
     * @param {number} scrollX - provide the source value.
     * @param {number} scrollY - provide the target value.
     * @param {PointModel} focusPoint - provide the layoutOrientation value.
     *
     * @private
     */
    scroll(scrollX: number, scrollY: number, focusPoint?: PointModel): void;
    /**
     * drawHighlighter method \
     *
     * @returns { NodeModel | ConnectorModel }     drawHighlighter method .\
     * @param {IElement} element - provide the element value.
     *
     * @private
     */
    drawHighlighter(element: IElement): void;
    /**
     * removeHighlighter method \
     *
     * @returns { void }     removeHighlighter method .\
     *
     * @private
     */
    removeHighlighter(): void;
    /**
     * renderContainerHelper method \
     *
     * @returns { NodeModel | ConnectorModel }     renderContainerHelper method .\
     * @param {NodeModel | SelectorModel | ConnectorModel} node - provide the parent value.
     *
     * @private
     */
    renderContainerHelper(node: NodeModel | SelectorModel | ConnectorModel): NodeModel | ConnectorModel;
    /**
     * isParentAsContainer method \
     *
     * @returns { boolean }     isParentAsContainer method .\
     * @param {NodeModel} node - provide the parent value.
     * @param {boolean} isChild - provide the target value.
     *
     * @private
     */
    isParentAsContainer(node: NodeModel, isChild?: boolean): boolean;
    /**
     * @returns { boolean } isParentAsContainer method .\
     * @param {NodeModel} node - provide the target Node value.
     * @private
     */
    isTargetSubProcess(node: NodeModel): boolean;
    /**
     * dropChildToContainer method \
     *
     * @returns { void }     dropChildToContainer method .\
     * @param {NodeModel} parent - provide the parent value.
     * @param {NodeModel} node - provide the target value.
     *
     * @private
     */
    dropChildToContainer(parent: NodeModel, node: NodeModel): void;
    /**
     * @returns { void }     updateLaneChildrenZindex method .\
     * @param {NodeModel} node - provide the node value.
     * @param {IElement} target - provide the target value.
     * @private
     */
    updateLaneChildrenZindex(node: Node, target: IElement): void;
    private findLeastIndexConnector;
    private findLeastIndexObject;
    /**
     * checkSelection method \
     *
     * @returns { void }     checkSelection method .\
     * @param {SelectorModel} selector - provide the source value.
     * @param {string} corner - provide the target value.
     *
     * @private
     */
    checkSelection(selector: SelectorModel, corner: string): void;
    /**
     * zoom method \
     *
     * @returns { void }     zoom method .\
     * @param {number} scale - provide the source value.
     * @param {number} scrollX - provide the target value.
     * @param {number} scrollY - provide the layoutOrientation value.
     * @param {PointModel} focusPoint - provide the layoutOrientation value.
     *
     * @private
     */
    zoom(scale: number, scrollX: number, scrollY: number, focusPoint?: PointModel): void;
}
/** @private */
export interface ConnectorPropertyChanging {
    connectorIndex?: number;
    connectorOldProperty?: ConnectorModel;
    sourceId?: string;
    targetId?: string;
    sourcePoint?: PointModel;
    targetPoint?: PointModel;
    sourcePortId?: string;
    targetPortId?: string;
    connectors?: ConnectorModel[];
}
/** @private */
export interface NodePropertyChanging {
    nodeIndex?: number;
    nodeOldProperty?: NodeModel;
    offsetX?: number;
    offsetY?: number;
    nodes?: NodeModel[];
}
/** @private */
export interface TransactionState {
    element: SelectorModel;
    backup: ObjectState;
}
/** @private */
export interface ClipBoardObject {
    pasteIndex?: number;
    clipObject?: Object;
    childTable?: {};
    processTable?: {};
}
/** @private */
export interface ObjectState {
    offsetX?: number;
    offsetY?: number;
    width?: number;
    height?: number;
    pivot?: PointModel;
    angle?: number;
}
/** @private */
export interface Distance {
    minDistance?: number;
}
/** @private */
export interface IsDragArea {
    x?: boolean;
    y?: boolean;
}
//node_modules/@syncfusion/ej2-diagrams/src/diagram/interaction/actions.d.ts
/**
 * Finds the action to be taken for the object under mouse
 *
 */
/**
 * findToolToActivate method\
 *
 * @returns {Actions}    findToolToActivate method .\
 * @param {Object} obj - provide the options value.
 * @param {DiagramElement} wrapper - provide the options value.
 * @param {PointModel} position - provide the options value.
 * @param {Diagram} diagram - provide the options value.
 * @param {ITouches[] | TouchList} touchStart - provide the options value.
 * @param {ITouches[] | TouchList} touchMove - provide the options value.
 * @param {NodeModel | PointPortModel | ShapeAnnotationModel | PathAnnotationModel} target - provide the options value.
 * @private
 */
export  function findToolToActivate(obj: Object, wrapper: DiagramElement, position: PointModel, diagram: Diagram, touchStart?: ITouches[] | TouchList, touchMove?: ITouches[] | TouchList, target?: NodeModel | ConnectorModel | PointPortModel | ShapeAnnotationModel | PathAnnotationModel): Actions;
/**
 * findPortToolToActivate method\
 *
 * @returns {boolean}    findPortToolToActivate method .\
 * @param {Diagram} diagram - provide the options value.
 * @param {NodeModel | PointPortModel} target - provide the options value.
 * @param {ITouches[] | TouchList} touchStart - provide the options value.
 * @param {ITouches[] | TouchList} touchMove - provide the options value.
 * @private
 */
export  function findPortToolToActivate(diagram: Diagram, target?: NodeModel | PortModel | PointPortModel, touchStart?: ITouches[] | TouchList, touchMove?: ITouches[] | TouchList): Actions;
/**
 * contains method\
 *
 * @returns {boolean}    contains method .\
 * @param {PointModel} mousePosition - provide the options value.
 * @param {PointModel} corner - provide the corner value.
 * @param {number} padding - provide the padding value.
 * @private
 */
export  function contains(mousePosition: PointModel, corner: PointModel, padding: number): boolean;
/**
 * hasSelection method\
 *
 * @returns {boolean}    hasSelection method .\
 * @param {Diagram} diagram - provide the options value.
 * @private
 */
export  function hasSelection(diagram: Diagram): boolean;
/**
 * hasSingleConnection method\
 *
 * @returns {boolean}    hasSingleConnection method .\
 * @param {Diagram} diagram - provide the options value.
 * @private
 */
export  function hasSingleConnection(diagram: Diagram): boolean;
/**
 * isSelected method\
 *
 * @returns {boolean}    isSelected method .\
 * @param {Diagram} diagram - provide the options value.
 * @param {Object} element - provide the options value.
 * @param {boolean} firstLevel - provide the options value.
 * @param {DiagramElement} wrapper - provide the options value.
 * @private
 */
export  function isSelected(diagram: Diagram, element: Object, firstLevel?: boolean, wrapper?: DiagramElement): boolean;
/** @private */
export  type Actions = 'None' | 'Select' | 'Drag' | 'FixedUserHandle' | 'ResizeWest' | 'ConnectorSourceEnd' | 'ConnectorTargetEnd' | 'ResizeEast' | 'ResizeSouth' | 'ResizeNorth' | 'ResizeSouthEast' | 'ResizeSouthWest' | 'ResizeNorthEast' | 'ResizeNorthWest' | 'Rotate' | 'ConnectorEnd' | 'Custom' | 'Draw' | 'Pan' | 'BezierSourceThumb' | 'BezierTargetThumb' | 'LayoutAnimation' | 'PinchZoom' | 'Hyperlink' | 'SegmentEnd' | 'OrthoThumb' | 'PortDrag' | 'PortDraw' | 'LabelSelect' | 'LabelDrag' | 'LabelResizeSouthEast' | 'LabelResizeSouthWest' | 'LabelResizeNorthEast' | 'LabelResizeNorthWest' | 'LabelResizeSouth' | 'LabelResizeNorth' | 'LabelResizeWest' | 'LabelResizeEast' | 'LabelRotate';
/**
 * getCursor method\
 *
 * @returns {boolean}    getCursor method .\
 * @param {Actions} cursor - provide the options value.
 * @param {number} angle - provide the options value.
 * @private
 */
export  function getCursor(cursor: Actions, angle: number): string;
//node_modules/@syncfusion/ej2-diagrams/src/diagram/interaction/spatial-search/spatial-search.d.ts
/**
 * Spatial search module helps to effectively find the objects over diagram
 */
export  class SpatialSearch {
    private topElement;
    private bottomElement;
    private rightElement;
    private leftElement;
    private quadSize;
    private quadTable;
    private objectTable;
    /** @private */
    parentQuad: Quad;
    private pageLeft;
    private pageRight;
    private pageTop;
    private pageBottom;
    /** @private */
    childLeft: number;
    /** @private */
    childTop: number;
    /** @private */
    childRight: number;
    /** @private */
    childBottom: number;
    /** @private */
    childNode: IGroupable;
    /**
     *  Constructor for creating the spatial search
     *
     * @param {number} objectTable The objectTable.
     * @private
     */
    constructor(objectTable: Object);
    /**
     * removeFromAQuad method\
     *
     * @returns {void}    removeFromAQuad method .\
     * @param {IGroupable} node - provide the options value.
     * @private
     */
    removeFromAQuad(node: IGroupable): void;
    private update;
    private addIntoAQuad;
    private objectIndex;
    updateQuad(node: IGroupable): boolean;
    private isWithinPageBounds;
    /**
     * findQuads method\
     *
     * @returns {  Quad[] }    findQuads method .\
     * @param {Rect} region - provide the options value.
     * @private
     */
    findQuads(region: Rect): Quad[];
    /**
     * findObjects method\
     *
     * @returns {  IGroupable[] }    findObjects method .\
     * @param {Rect} region - provide the options value.
     * @private
     */
    findObjects(region: Rect): IGroupable[];
    /**
     * updateBounds method\
     *
     * @returns { boolean }    updateBounds method .\
     * @param {IGroupable} node - provide the options value.
     * @param {boolean} isSwimLane - provide boolean if its swimlane container
     * @private
     */
    updateBounds(node: IGroupable, isSwimLane?: boolean): boolean;
    private updateTop;
    private updateBottom;
    private updateLeft;
    private updateRight;
    private findBottom;
    private findRight;
    private findLeft;
    private findTop;
    /**
     * setCurrentNode method\
     *
     * @returns { void }    setCurrentNode method .\
     * @param {IGroupable} node - provide the options value.
     * @private
     */
    setCurrentNode(node: IGroupable): void;
    /**
     * getPageBounds method\
     *
     * @returns { Rect }    getPageBounds method .\
     * @param {number} originX - provide the options value.
     * @param {number} originY - provide the options value.
     * @private
     */
    getPageBounds(originX?: number, originY?: number): Rect;
    /**
     * getQuad method\
     *
     * @returns { Quad }    getQuad method .\
     * @param {IGroupable} node - provide the options value.
     * @private
     */
    getQuad(node: IGroupable): Quad;
}
/** @private */
export interface IGroupable {
    id: string;
    outerBounds: Rect;
}
//node_modules/@syncfusion/ej2-diagrams/src/diagram/interaction/spatial-search/quad.d.ts
/**
 * Quad helps to maintain a set of objects that are contained within the particular region
 */
/** @private */
export  class Quad {
    /** @private */
    objects: IGroupable[];
    /** @private */
    left: number;
    /** @private */
    top: number;
    /** @private */
    width: number;
    /** @private */
    height: number;
    /** @private */
    first: Quad;
    /** @private */
    second: Quad;
    /** @private */
    third: Quad;
    /** @private */
    fourth: Quad;
    /** @private */
    parent: Quad;
    private spatialSearch;
    /**
     *  Constructor for creating the Quad class
     *
     * @param {number} left The symbol palette model.
     * @param {number} top The symbol palette element.
     * @param {number} width The symbol palette element.
     * @param {number} height The symbol palette element.
     * @param {SpatialSearch} spatialSearching The symbol palette element.
     * @private
     */
    constructor(left: number, top: number, width: number, height: number, spatialSearching: SpatialSearch);
    /**
     * findQuads method\
     *
     * @returns {  void}    findQuads method .\
     * @param {Rect} currentViewPort - provide the options value.
     * @param {Quad[]} quads - provide the options value.
     * @private
     */
    findQuads(currentViewPort: Rect, quads: Quad[]): void;
    private isIntersect;
    /**
     * selectQuad method\
     *
     * @returns {  Quad }    selectQuad method .\
     * @private
     */
    selectQuad(): Quad;
    private getQuad;
    /**
     * isContained method\
     *
     * @returns {  boolean }    isContained method .\
     * @private
     */
    isContained(): boolean;
    /**
     * addIntoAQuad method\
     *
     * @returns {  Quad }    addIntoAQuad method .\
     * @param {IGroupable} node - provide the options value.
     * @private
     */
    addIntoAQuad(node: IGroupable): Quad;
    private add;
}
/** @private */
export interface QuadSet {
    target?: Quad;
    source?: Quad;
}
/** @private */
export interface QuadAddition {
    quad?: Quad;
    isAdded?: boolean;
}
//node_modules/@syncfusion/ej2-diagrams/src/diagram/enum/enum.d.ts
/**
 * enum module defines the public enumerations
 */
/**
 * @private
 */
export  enum BlazorAction {
    /** Return the layout value is true when doLayout is called   */
    Default = 0,
    /** Need to return the layout value when doLayout is called  */
    expandNode = 2,
    /** Enabled during the mouse interaction  */
    interaction = 4,
    /** Enable when the group action start in history */
    GroupingInProgress = 8,
    /** Enable when the group action start to clone another group node */
    GroupClipboardInProcess = 16,
    /** Enable when the clear the object to prevent the server update */
    ClearObject = 32
}
/**
 * Defines how the diagram elements have to be aligned with respect to its immediate parent
 * * Stretch - Stretches the diagram element throughout its immediate parent
 * * Left - Aligns the diagram element at the left of its immediate parent
 * * Right - Aligns the diagram element at the right of its immediate parent
 * * Center - Aligns the diagram element at the center of its immediate parent
 * * Auto - Aligns the diagram element based on the characteristics of its immediate parent
 */
export  type HorizontalAlignment = 
/**
 * Stretch - Stretches the diagram element throughout its immediate parent
 */
'Stretch' | 
/**
 * Left - Aligns the diagram element at the left of its immediate parent
 */
'Left' | 
/**
 * Right - Aligns the diagram element at the right of its immediate parent
 */
'Right' | 
/**
 * Center - Aligns the diagram element at the center of its immediate parent
 */
'Center' | 
/**
 * Auto - Aligns the diagram element based on the characteristics of its immediate parent
 */
'Auto';
/**
 * Defines how the diagram elements have to be aligned with respect to its immediate parent
 * * Stretch - Stretches the diagram element throughout its immediate parent
 * * Top - Aligns the diagram element at the top of its immediate parent
 * * Bottom - Aligns the diagram element at the bottom of its immediate parent
 * * Center - Aligns the diagram element at the center of its immediate parent
 * * Auto - Aligns the diagram element based on the characteristics of its immediate parent
 */
export  type VerticalAlignment = 
/**
 * Stretch - Stretches the diagram element throughout its immediate parent
 */
'Stretch' | 
/**
 * Top - Aligns the diagram element at the top of its immediate parent
 */
'Top' | 
/**
 * Bottom - Aligns the diagram element at the bottom of its immediate parent
 */
'Bottom' | 
/**
 * Center - Aligns the diagram element at the center of its immediate parent
 */
'Center' | 
/**
 * Auto - Aligns the diagram element based on the characteristics of its immediate parent
 */
'Auto';
/**
 * Defines how the ports have to be aligned with respect to its immediate parent
 * Center - Aligns the ports at the center of a connector segment
 * Before - Aligns the ports before a connector segment
 * After - Aligns the ports after a connector segment
 */
export  type PortAlignment = 
/**
 * Center - Aligns the ports at the center of a connector segment
 */
'Center' | 
/**
 * Before - Aligns the ports before a connector segment
 */
'Before' | 
/**
 * After - Aligns the ports after a connector segment
 */
'After';
/**
 * 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  enum FlipDirection {
    /**
     * FlipHorizontal - Translate the diagram element throughout its immediate parent
     */
    Horizontal = 1,
    /**
     * FlipVertical - Rotate the diagram element throughout its immediate parent
     */
    Vertical = 2,
    /**
     * Both - Rotate and Translate the diagram element throughout its immediate parent
     */
    Both = 3,
    /**
     * None - Set the flip Direction as None
     */
    None = 0
}
/**
 * Allows you to flip only the node or along with port, label, labelText
 * * All - Flips port, label and label text along with the node
 * * Label - Flips the label along with the node and keeps the text readable
 * * LabelText – Flips the node and inverts the label without flipping its position
 * * Port - Flips port along with the node
 * * None - Flips only the node
 * * PortAndLabel – Flips the port and label along with the node
 * * PortAndLabelText – Flips the port and label text along with the node
 * * LabelAndLabelText – Flips the label and label text along with the node
 */
export  type FlipMode = 
/**
 * All - Flips port, label and label text along with the node
 */
'All' | 
/**
 * Label - Flips the label along with the node and keeps the text readable.
 */
'Label' | 
/**
 * LabelText – Flips the node and inverts the label without flipping its position
 */
'LabelText' | 
/**
 * Port - Flips port along with the node
 */
'Port' | 
/**
 * None - Flips only the node
 */
'None' | 
/**
 * PortAndLabel – Flips the port and label along with the node
 */
'PortAndLabel' | 
/**
 * PortAndLabelText – Flips the port and label text along with the node
 */
'PortAndLabelText' | 
/**
 * LabelAndLabelText – Flips the label and label text along with the node
 */
'LabelAndLabelText';
/**
 * 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' | 
/**
 * Horizontal - Renders only the mindmap layout from left to right
 */
'Horizontal' | 
/**
 * vertical - Renders only the mindmap layout from top to bottom
 */
'vertical';
/**
 * 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' | 
/**
 * Flowchart - Defines the type of the layout as Flowchart
 */
'Flowchart';
/**
 * Defines the state of the layout rendering process.
 * * Started - Indicates that the layout rendering process has started.
 * * Completed - Indicates that the layout rendering process has finished.
 */
export  type LayoutState = 
/**
 * Started - Indicates that the layout rendering process has started.
 */
'Started' | 
/**
 * Completed - Indicates that the layout rendering process has finished.
 */
'Completed';
export  type BranchDirection = 
/**
 * SameAsFlow -Defines the direction as same as flow chart.
 */
'SameAsFlow' | 
/**
 * LeftInFlow - Defines the flow direction as left.
 */
'LeftInFlow' | 
/**
 * RightInFlow - Defines the flow direction as right.
 */
'RightInFlow';
/**
 * Alignment position
 * Left - Sets the branch type as Left
 * Right - Sets the branch type as Right
 * SubLeft - Sets the branch type as SubLeft
 * SubRight - Sets the branch type as SubRight
 * Root - Sets the branch type as Root
 */
export  type BranchTypes = 
/**
 * Left - Sets the branch type as Left
 */
'Left' | 
/**
 * Right - Sets the branch type as Right
 */
'Right' | 
/**
 * SubLeft - Sets the branch type as SubLeft
 */
'SubLeft' | 
/**
 * SubRight - Sets the branch type as SubRight
 */
'SubRight' | 
/**
 * Root - Sets the branch type as Root
 */
'Root';
/**
 * Defines how the first segments have to be defined in a layout
 * Auto - Defines the first segment direction based on the type of the layout
 * Orientation - Defines the first segment direction based on the orientation of the layout
 * Custom - Defines the first segment direction dynamically by the user
 */
export  type ConnectionDirection = 
/**
 * Auto - Defines the first segment direction based on the type of the layout
 */
'Auto' | 
/**
 * Orientation - Defines the first segment direction based on the orientation of the layout
 */
'Orientation' | 
/**
 * Custom - Defines the first segment direction dynamically by the user
 */
'Custom';
/**
 * Defines where the user handles have to be aligned
 * Top - Aligns the user handles at the top of an object
 * Bottom - Aligns the user handles at the bottom of an object
 * Left - Aligns the user handles at the left of an object
 * Right - Aligns the user handles at the right of an object
 */
export  type Side = 
/**
 * Top - Aligns the user handles at the top of an object
 */
'Top' | 
/**
 * Bottom - Aligns the user handles at the bottom of an object
 */
'Bottom' | 
/**
 * Left - Aligns the user handles at the left of an object
 */
'Left' | 
/**
 * Right - Aligns the user handles at the right of an object
 */
'Right';
/**
 * Defines how the connectors have to be routed in a layout
 * Default - Routes the connectors like a default diagram
 * Layout - Routes the connectors based on the type of the layout
 */
export  type ConnectorSegments = 
/**
 * Default - Routes the connectors like a default diagram
 */
'Default' | 
/**
 * Layout - Routes the connectors based on the type of the layout
 */
'Layout';
/**
 * Defines how the annotations have to be aligned with respect to its immediate parent
 * Center - Aligns the annotation at the center of a connector segment
 * Before - Aligns the annotation before a connector segment
 * After - Aligns the annotation after a connector segment
 */
export  type AnnotationAlignment = 
/**
 * Center - Aligns the annotation at the center of a connector segment
 */
'Center' | 
/**
 * Before - Aligns the annotation before a connector segment
 */
'Before' | 
/**
 * After - Aligns the annotation after a connector segment
 */
'After';
/**
 * Defines how the fixedUserHandle have to be aligned with respect to its immediate parent
 * Center - Aligns the fixedUserHandle at the center of a connector segment
 * Before - Aligns the fixedUserHandle before a connector segment
 * After - Aligns the fixedUserHandle after a connector segment
 */
export  type FixedUserHandleAlignment = 
/**
 * Center - Aligns the fixedUserHandle at the center of a connector segment
 */
'Center' | 
/**
 * Before - Aligns the fixedUserHandle before a connector segment
 */
'Before' | 
/**
 * After - Aligns the fixedUserHandle after a connector segment
 */
'After';
/**
 * Defines the type of the port
 * Point - Sets the type of the port as Point
 * Path - Sets the type of the port as Path
 * Dynamic - Sets the type of the port as Dynamic
 */
export  type PortTypes = 
/**
 * Point - Sets the type of the port as Point
 */
'Point' | 
/**
 * Path - Sets the type of the port as Path
 */
'Path' | 
/**
 * Dynamic - Sets the type of the port as Dynamic
 */
'Dynamic';
/**
 * Defines the type of the annotation
 * Shape - Sets the annotation type as Shape
 * Path - Sets the annotation type as Path
 */
export  type AnnotationTypes = 
/**
 * Shape - Sets the annotation type as Shape
 */
'Shape' | 
/**
 * Path - Sets the annotation type as Path
 */
'Path';
/**
 * File Format type for export.
 * JPG - Save the file in JPG Format
 * PNG - Saves the file in PNG Format
 * BMP - Save the file in BMP Format
 * SVG - save the file in SVG format
 *
 * @IgnoreSingular
 */
export  type FileFormats = 
/** JPG-Save the file in JPG Format  */
'JPG' | 
/** PNG - Save the file in PNG Format */
'PNG' | 
/** BMP - Save the file in BMP format */
'BMP' | 
/** SVG - Saves the file in SVG format */
'SVG';
/**
 * Defines whether the diagram has to be exported as an image or it has to be converted as image url
 * Download
 * Data
 *
 * @IgnoreSingular
 */
export  type ExportModes = 
/** Download - Download the image */
'Download' | 
/** Data - Converted as image url */
'Data';
/**
 * Defines the child type to be added in the UmlClassifierShape.
 * Methods
 * Attributes
 * Members
 *
 * @IgnoreSingular
 */
export  type UmlClassChildType = 
/** Methods - Specified the UML class/interface child type as Method. */
'Method' | 
/** Attributes -Specified the UML class/interface child type as Method */
'Attribute' | 
/** Members - Specified the UML enum child type as Method */
'Member';
/**
 * Defines the region that has to be drawn as an image
 * PageSettings -  With the given page settings image has to be exported.
 * Content - The diagram content is export
 * CustomBounds - Exported with given bounds.
 *
 * @IgnoreSingular
 */
export  type DiagramRegions = 
/** PageSettings -  With the given page settings image has to be exported. */
'PageSettings' | 
'Content' | 
/** CustomBounds - Exported with given bounds. */
'CustomBounds';
/**
 * Defines the type of annotation template
 * String -  Defines annotation template to be in string
 * Template - Defines annotation template to be in html content
 *
 * @IgnoreSingular
 */
export  type AnnotationType = 
/** String -  Defines annotation template to be in string */
'String' | 
/** Template - Defines annotation template to be in html content */
'Template';
/**
 * Constraints to define when a port has to be visible
 * Visible - Always shows the port
 * Hidden - Always hides the port
 * Hover - Shows the port when the mouse hovers over a node
 * Connect - Shows the port when a connection end point is dragged over a node
 * Default - By default the ports will be visible when a node is hovered and being tried to connect
 *
 * @aspNumberEnum
 */
export  enum PortVisibility {
    /** Always shows the port */
    Visible = 1,
    /** Always hides the port */
    Hidden = 2,
    /** Shows the port when the mouse hovers over a node */
    Hover = 4,
    /** Shows the port when a connection end point is dragged over a node */
    Connect = 8
}
/**
 * Define the allowed direction for connections to the port
 * Auto - Maintains the default behavior of automatic direction calculation.
 * Left - Restricts connections to only connect to the left side of the port.
 * Top - Restricts connections to only connect to the top side of the port.
 * Right - Restricts connections to only connect to the right side of the port.
 * Bottom - Restricts connections to only connect to the bottom side of the port.
 *
 * @IgnoreSingular
 */
export  type PortConnectionDirection = 
/** Maintains the default behavior of automatic direction calculation.*/
'Auto' | 
/** Restricts connections to only connect to the left side of the port. */
'Left' | 
/** Restricts connections to only connect to the top side of the port */
'Top' | 
/** Restricts connections to only connect to the right side of the port  */
'Right' | 
/** Restricts connections to only connect to the bottom side of the port */
'Bottom';
/**
 * Defines the constraints to Enables / Disables some features of Snapping.
 * None - Snapping does not happen
 * ShowHorizontalLines - Displays only the horizontal gridlines in diagram.
 * ShowVerticalLines - Displays only the Vertical gridlines in diagram.
 * ShowLines - Display both Horizontal and Vertical gridlines.
 * SnapToHorizontalLines - Enables the object to snap only with horizontal gridlines.
 * SnapToVerticalLines - Enables the object to snap only with horizontal gridlines.
 * SnapToLines - Enables the object to snap with both horizontal and Vertical gridlines.
 * snapToObject - Enables the object to snap with the other objects in the diagram.
 *
 * @IgnoreSingular
 * @aspNumberEnum
 */
export  enum SnapConstraints {
    /** None - Snapping does not happen */
    None = 0,
    /** ShowHorizontalLines - Displays only the horizontal gridlines in diagram. */
    ShowHorizontalLines = 1,
    /** ShowVerticalLines - Displays only the Vertical gridlines in diagram  */
    ShowVerticalLines = 2,
    /** ShowLines - Display both Horizontal and Vertical gridlines */
    ShowLines = 3,
    /** SnapToHorizontalLines - Enables the object to snap only with horizontal gridlines */
    SnapToHorizontalLines = 4,
    /** SnapToVerticalLines - Enables the object to snap only with horizontal gridlines */
    SnapToVerticalLines = 8,
    /** SnapToLines - Enables the object to snap with both horizontal and Vertical gridlines */
    SnapToLines = 12,
    /** SnapToObject - Enables the object to snap with the other objects in the diagram. */
    SnapToObject = 16,
    /** Shows gridlines and enables snapping */
    All = 31
}
/**
 * Defines the visibility of the selector handles
 * None - Hides all the selector elements
 * ConnectorSourceThumb - Shows/hides the source thumb of the connector
 * ConnectorTargetThumb - Shows/hides the target thumb of the connector
 * ResizeSouthEast - Shows/hides the bottom right resize handle of the selector
 * ResizeSouthWest - Shows/hides the bottom left resize handle of the selector
 * ResizeNorthEast - Shows/hides the top right resize handle of the selector
 * ResizeNorthWest - Shows/hides the top left resize handle of the selector
 * ResizeEast - Shows/hides the middle right resize handle of the selector
 * ResizeWest - Shows/hides the middle left resize handle of the selector
 * ResizeSouth - Shows/hides the bottom center resize handle of the selector
 * ResizeNorth - Shows/hides the top center resize handle of the selector
 * Rotate - Shows/hides the rotate handle of the selector
 * UserHandles - Shows/hides the user handles of the selector
 * Resize - Shows/hides all resize handles of the selector
 *
 * @aspNumberEnum
 * @IgnoreSingular
 */
export  enum SelectorConstraints {
    /** Hides all the selector elements */
    None = 1,
    /** Shows/hides the source thumb of the connector */
    ConnectorSourceThumb = 2,
    /** Shows/hides the target thumb of the connector */
    ConnectorTargetThumb = 4,
    /** Shows/hides the bottom right resize handle of the selector */
    ResizeSouthEast = 8,
    /** Shows/hides the bottom left resize handle of the selector */
    ResizeSouthWest = 16,
    /** Shows/hides the top right resize handle of the selector */
    ResizeNorthEast = 32,
    /** Shows/hides the top left resize handle of the selector */
    ResizeNorthWest = 64,
    /** Shows/hides the middle right resize handle of the selector  */
    ResizeEast = 128,
    /** Shows/hides the middle left resize handle of the selector */
    ResizeWest = 256,
    /** Shows/hides the bottom center resize handle of the selector */
    ResizeSouth = 512,
    /** Shows/hides the top center resize handle of the selector */
    ResizeNorth = 1024,
    /**  Shows/hides the rotate handle of the selector */
    Rotate = 2048,
    /** Shows/hides the user handles of the selector */
    UserHandle = 4096,
    /** Shows/hides the default tooltip of nodes and connectors */
    ToolTip = 8192,
    /** Shows/hides all resize handles of the selector */
    ResizeAll = 2046,
    /** Shows all handles of the selector  */
    All = 16382
}
/**
 * Defines the type of the panel
 * None - Defines that the panel will not rearrange its children. Instead, it will be positioned based on its children.
 * Canvas - Defines the type of the panel as Canvas
 * Stack - Defines the type of the panel as Stack
 * Grid - Defines the type of the panel as Grid
 * WrapPanel - Defines the type of the panel as WrapPanel
 */
export  type Panels = 
/** None - Defines that the panel will not rearrange its children. Instead, it will be positioned based on its children. */
'None' | 
/** Canvas - Defines the type of the panel as Canvas */
'Canvas' | 
/** Stack - Defines the type of the panel as Stack */
'Stack' | 
/** Grid - Defines the type of the panel as Grid */
'Grid' | 
/** WrapPanel - Defines the type of the panel as WrapPanel */
'WrapPanel';
/**
 * Defines the orientation
 * Horizontal - Sets the orientation as Horizontal
 * Vertical - Sets the orientation as Vertical
 */
export  type Orientation = 
/** Horizontal - Sets the orientation as Horizontal */
'Horizontal' | 
/** Vertical - Sets the orientation as Vertical */
'Vertical';
/**
 * Defines the orientation
 * Horizontal - Sets the orientation as Horizontal
 * Vertical - Sets the orientation as Vertical
 */
export  type ContainerTypes = 
/** Canvas - Sets the ContainerTypes as Canvas */
'Canvas' | 
/** Stack - Sets the ContainerTypes as Stack */
'Stack' | 
/** Grid - Sets the ContainerTypes as Grid */
'Grid';
/**
 * Defines the reference with respect to which the diagram elements have to be aligned
 * Point - Diagram elements will be aligned with respect to a point
 * Object - Diagram elements will be aligned with respect to its immediate parent
 */
export  type RelativeMode = 
/** Point - Diagram elements will be aligned with respect to a point */
'Point' | 
/** Object - Diagram elements will be aligned with respect to its immediate parent */
'Object';
/**
 * Defines how to wrap the text when it exceeds the element bounds
 * WrapWithOverflow - Wraps the text so that no word is broken
 * Wrap - Wraps the text and breaks the word, if necessary
 * NoWrap - Text will no be wrapped
 */
export  type TextWrap = 
/** WrapWithOverflow - Wraps the text so that no word is broken */
'WrapWithOverflow' | 
/** Wrap - Wraps the text and breaks the word, if necessary */
'Wrap' | 
/** NoWrap - Text will no be wrapped */
'NoWrap';
/**
 * Defines how to handle the text when it exceeds the element bounds
 * Wrap - Wraps the text to next line, when it exceeds its bounds
 * Ellipsis - It truncates the overflown text and represents the clipping with an ellipsis
 * Clip - It clips the overflow text
 */
export  type TextOverflow = 
/** Wrap - Wraps the text to next line, when it exceeds its bounds */
'Wrap' | 
/** Ellipsis - It truncates the overflown text and represents the clipping with an ellipsis */
'Ellipsis' | 
/** Clip - It clips the overflow text */
'Clip';
/**
 * Defines how to show tooltip
 * Auto - Shows the tooltip on drag, scale, and rotate the object
 * Custom - Shows the tooltip for the diagram element
 */
export  type TooltipMode = 
/** Auto - It shows the tooltip On drag,scale,rotate the object */
'Auto' | 
/** Custom - It shows tooltip based on object */
'Custom';
/**
 * Defines the mode of the alignment based on which the elements should be aligned
 * Object - Aligns the objects based on the first object in the selected list
 * Selector - Aligns the objects based on the  the selector bounds
 */
export  type AlignmentMode = 
/** Object - Aligns the objects based on the first object in the selected list */
'Object' | 
/** Selector - Aligns the objects based on the  the selector bounds */
'Selector';
/**
 * Defines the alignment options
 * Left - Aligns the objects at the left of the selector bounds
 * Right - Aligns the objects at the right of the selector bounds
 * Center - Aligns the objects at the horizontal center of the selector bounds
 * Top - Aligns the objects at the top of the selector bounds
 * Bottom - Aligns the objects at the bottom of the selector bounds
 * Middle - Aligns the objects at the vertical center of the selector bounds
 */
export  type AlignmentOptions = 
/** Left - Aligns the objects at the left of the selector bounds */
'Left' | 
/** Right - Aligns the objects at the right of the selector bounds */
'Right' | 
/** Center - Aligns the objects at the horizontal center of the selector bounds */
'Center' | 
/** Top - Aligns the objects at the top of the selector bounds */
'Top' | 
/** Bottom - Aligns the objects at the bottom of the selector bounds */
'Bottom' | 
/** Middle - Aligns the objects at the vertical center of the selector bounds */
'Middle';
/**
 * Defines the distribution options
 * RightToLeft - Distributes the objects based on the distance between the right and left sides of the adjacent objects
 * Left - Distributes the objects based on the distance between the left sides of the adjacent objects
 * Right - Distributes the objects based on the distance between the right sides of the adjacent objects
 * Center - Distributes the objects based on the distance between the center of the adjacent objects
 * BottomToTop - Distributes the objects based on the distance between the bottom and top sides of the adjacent objects
 * Top - Distributes the objects based on the distance between the top sides of the adjacent objects
 * Bottom - Distributes the objects based on the distance between the bottom sides of the adjacent objects
 * Middle - Distributes the objects based on the distance between the vertical center of the adjacent objects
 */
export  type DistributeOptions = 
/** RightToLeft - Distributes the objects based on the distance between the right and left sides of the adjacent objects */
'RightToLeft' | 
/** Left - Distributes the objects based on the distance between the left sides of the adjacent objects */
'Left' | 
/** Right - Distributes the objects based on the distance between the right sides of the adjacent objects */
'Right' | 
/** Center - Distributes the objects based on the distance between the center of the adjacent objects */
'Center' | 
/** BottomToTop - Distributes the objects based on the distance between the bottom and top sides of the adjacent objects */
'BottomToTop' | 
/** Top - Distributes the objects based on the distance between the top sides of the adjacent objects */
'Top' | 
/** Bottom - Distributes the objects based on the distance between the bottom sides of the adjacent objects */
'Bottom' | 
/** Middle - Distributes the objects based on the distance between the vertical center of the adjacent objects */
'Middle';
/**
 * Defines the sizing options
 * Width - Scales the width of the selected objects
 * Height - Scales the height of the selected objects
 * Size - Scales the selected objects both vertically and horizontally
 */
export  type SizingOptions = 
/** Width - Scales the width of the selected objects */
'Width' | 
/** Height - Scales the height of the selected objects */
'Height' | 
/** Size - Scales the selected objects both vertically and horizontally */
'Size';
/**
 * Defines how to handle the empty space and empty lines of a text
 * PreserveAll - Preserves all empty spaces and empty lines
 * CollapseSpace - Collapses the consequent spaces into one
 * CollapseAll - Collapses all consequent empty spaces and empty lines
 */
export  type WhiteSpace = 
/** PreserveAll - Preserves all empty spaces and empty lines */
'PreserveAll' | 
/** CollapseSpace - Collapses the consequent spaces into one */
'CollapseSpace' | 
/** CollapseAll - Collapses all consequent empty spaces and empty lines */
'CollapseAll';
/**
 * Defines how to handle the rubber band selection
 * CompleteIntersect - Selects the objects that are contained within the selected region
 * PartialIntersect - Selects the objects that are partially intersected with the selected region
 */
export  type RubberBandSelectionMode = 
/** CompleteIntersect - Selects the objects that are contained within the selected region */
'CompleteIntersect' | 
/** PartialIntersect - Selects the objects that are partially intersected with the selected region */
'PartialIntersect';
/**
 * Defines the rendering mode of the diagram
 * SVG - Renders the diagram objects as SVG elements
 * Canvas - Renders the diagram in a canvas
 */
export  type RenderingMode = 
/** SVG - Renders the diagram objects as SVG elements */
'SVG' | 
/** Canvas - Renders the diagram in a canvas */
'Canvas';
/**
 * Defines the connection point of the connectors in the layout
 * SamePoint - Connectors will connect with same point in the layout
 * DifferentPoint - Connectors will connect with different points in the layout
 */
export  enum ConnectionPointOrigin {
    /** SamePoint - Connectors will connect with same point in the layout */
    SamePoint = "SamePoint",
    /** DifferentPoint - Connectors will connect with different points in the layout */
    DifferentPoint = "DifferentPoint"
}
/**
 * Defines the child nodes need to arranged in linear manner in layout
 * Linear - Child nodes will be arranged in linear manner
 * Nonlinear - Child nodes will be arranged in not linear manner
 */
export  enum ChildArrangement {
    /** Linear - Child nodes will be arranged in linear manner */
    Linear = "Linear",
    /** Nonlinear - Child nodes will be arranged in not linear manner */
    Nonlinear = "Nonlinear"
}
/**
 * Defines the gird rendering pattern
 * Lines - Render the line for the grid
 * Dots - Render the dot for the grid
 */
export  type GridType = 
/** Lines - Render the diagram Grid in Line format */
'Lines' | 
/** Lines - Render the diagram Grid in Dot format */
'Dots';
/**
 * Defines how to decorate the text
 * Overline - Decorates the text with a line above the text
 * Underline - Decorates the text with an underline
 * LineThrough - Decorates the text by striking it with a line
 * None - Text will not have any specific decoration
 */
export  type TextDecoration = 
/** Overline - Decorates the text with a line above the text */
'Overline' | 
/** Underline - Decorates the text with an underline */
'Underline' | 
/** LineThrough - Decorates the text by striking it with a line */
'LineThrough' | 
/** None - Text will not have any specific decoration */
'None';
/**
 * Defines how to open the annotation hyperlink in the new tab, current tab or new window
 */
export  type LinkTarget = 
/**Opens hyperlink in the same tab */
'CurrentTab' | 
/**Opens hyperlink in the new tab */
'NewTab' | 
/**Opens hyperlink in the new window*/
'NewWindow';
/**
 * Defines how the text has to be aligned
 * Left - Aligns the text at the left of the text bounds
 * Right - Aligns the text at the right of the text bounds
 * Center - Aligns the text at the center of the text bounds
 * Justify - Aligns the text in a justified manner
 */
export  type TextAlign = 
/** Left - Aligns the text at the left of the text bounds */
'Left' | 
/** Right - Aligns the text at the right of the text bounds */
'Right' | 
/** Center - Aligns the text at the center of the text bounds */
'Center' | 
/** Justify - Aligns the text in a justified manner */
'Justify';
/**
 * Defines the constraints to enable/disable certain features of connector.
 * * None - Interaction of the connectors cannot be done.
 * * Select - Selects the connector.
 * * Delete - Delete the connector.
 * * Drag - Drag the connector.
 * * DragSourceEnd - Drag the source end of the connector.
 * * DragTargetEnd - Drag the target end of the connector.
 * * DragSegmentThump - Drag the segment thumb of the connector.
 * * AllowDrop - Allow to drop a node.
 * * Bridging - Creates bridge  on intersection of two connectors.
 * * BridgeObstacle -
 * * InheritBridging - Creates bridge  on intersection of two connectors.
 * * PointerEvents - Sets the pointer events.
 * * Tooltip - Displays a tooltip for the connectors.
 * * InheritToolTip - Displays a tooltip for the connectors.
 * * Interaction - Features of the connector used for interaction.
 * * ReadOnly - Enables ReadOnly
 * * InheritSegmentThumbShape - Enables or disables to inherit the value of segmentThumbShape
 * * InheritSegmentThumbSize - Enables or disables to inherit the value of segmentThumbSize
 * * Default - Default features of the connector.
 *
 * @aspNumberEnum
 * @IgnoreSingular
 */
export  enum ConnectorConstraints {
    /** Disable all connector Constraints. */
    None = 1,
    /** Enables connector to be selected. */
    Select = 2,
    /** Enables connector to be Deleted. */
    Delete = 4,
    /** Enables connector to be Dragged. */
    Drag = 8,
    /** Enables connectors source end to be selected. */
    DragSourceEnd = 16,
    /** Enables connectors target end to be selected. */
    DragTargetEnd = 32,
    /** Enables control point and end point of every segment in a connector for editing. */
    DragSegmentThumb = 64,
    /** Enables AllowDrop constraints to the  connector. */
    AllowDrop = 128,
    /** Enables bridging to the connector. */
    Bridging = 256,
    /** Enables or Disables Bridge Obstacles with overlapping of connectors. */
    BridgeObstacle = 512,
    /** Enables bridging to the connector. */
    InheritBridging = 1024,
    /** Used to set the pointer events. */
    PointerEvents = 2048,
    /** Enables or disables tool tip for the connectors */
    Tooltip = 4096,
    /** Enables or disables tool tip for the connectors */
    InheritTooltip = 8192,
    /** Enables Interaction. */
    Interaction = 4218,
    /** Enables ReadOnly */
    ReadOnly = 16384,
    /** Enables or disables routing to the connector. */
    LineRouting = 32768,
    /** Enables or disables routing to the connector. */
    InheritLineRouting = 65536,
    /** Enables or disables near node padding to the connector. */
    ConnectToNearByNode = 131072,
    /** Enables or disables near port padding to the connector. */
    ConnectToNearByPort = 262144,
    /** Enables or disables Enables or disables near port and node padding to the connector. */
    ConnectToNearByElement = 393216,
    /**Enables or disables to inherit the value of segmentThumbShape */
    InheritSegmentThumbShape = 524288,
    /**Enables or disables to inherit the value of segmentThumbSize */
    InheritSegmentThumbSize = 1048576,
    /** Enables all constraints. */
    Default = 2043454
}
/**
 * Enables/Disables the annotation constraints
 * ReadOnly - Enables/Disables the ReadOnly Constraints
 * InheritReadOnly - Enables/Disables the InheritReadOnly Constraints
 * Select -Enables/Disable select support for the annotation
 * Drag - Enables/Disable drag support for the annotation
 * Resize - Enables/Disable resize support for the annotation
 * Rotate - Enables/Disable rotate support for the annotation
 * Interaction - Enables annotation to inherit the interaction option
 * None - Disable all annotation constraints
 *
 * @aspNumberEnum
 * @IgnoreSingular
 */
export  enum AnnotationConstraints {
    /** Enables/Disables the ReadOnly Constraints */
    ReadOnly = 2,
    /** Enables/Disables the InheritReadOnly Constraints */
    InheritReadOnly = 4,
    /** Enables/Disable select support for the annotation */
    Select = 8,
    /** Enables/Disable drag support for the annotation */
    Drag = 16,
    /** Enables/Disable resize support for the annotation */
    Resize = 32,
    /** Enables/Disable rotate support for the annotation */
    Rotate = 64,
    /** Enables or disables tool tip for the annotation */
    Tooltip = 128,
    /** Enables annotation to inherit the interaction option */
    Interaction = 120,
    /** Disable all annotation Constraints */
    None = 0
}
/**
 * Enables/Disables certain features of node
 * None - Disable all node Constraints
 * Select - Enables node to be selected
 * Drag - Enables node to be Dragged
 * Rotate - Enables node to be Rotate
 * Shadow - Enables node to display shadow
 * PointerEvents - Enables node to provide pointer  option
 * Delete - Enables node to delete
 * InConnect - Enables node to provide in connect option
 * OutConnect - Enables node to provide out connect option
 * Individual - Enables node to provide individual resize option
 * Expandable - Enables node to provide Expandable option
 * AllowDrop - Enables node to provide allow to drop option
 * Inherit - Enables node to inherit the interaction option
 * ResizeNorthEast - Enable ResizeNorthEast of the node
 * ResizeEast - Enable ResizeEast of the node
 * ResizeSouthEast - Enable ResizeSouthEast of the node
 * ResizeSouth - Enable ResizeSouthWest of the node
 * ResizeSouthWest - Enable ResizeSouthWest of the node
 * ResizeSouth - Enable ResizeSouth of the node
 * ResizeSouthWest - Enable ResizeSouthWest of the node
 * ResizeWest - Enable ResizeWest of the node
 * ResizeNorth - Enable ResizeNorth of the node
 * Resize - Enables the Aspect ratio fo the node
 * AspectRatio - Enables the Aspect ratio fo the node
 * Tooltip - Enables or disables tool tip for the Nodes
 * InheritTooltip - Enables or disables tool tip for the Nodes
 * ReadOnly - Enables the  ReadOnly support for Annotation
 * Default - Enables all constraints
 *
 * @aspNumberEnum
 * @IgnoreSingular
 */
export  enum NodeConstraints {
    /** Disable all node Constraints. */
    None = 0,
    /** Enables node to be selected. */
    Select = 2,
    /** Enables node to be Dragged. */
    Drag = 4,
    /** Enables node to be Rotate. */
    Rotate = 8,
    /** Enables node to display shadow. */
    Shadow = 16,
    /** Enables node to provide pointer  option */
    PointerEvents = 32,
    /** Enables node to delete */
    Delete = 64,
    /** Enables node to provide in connect option */
    InConnect = 128,
    /** Enables node to provide out connect option */
    OutConnect = 256,
    /** Enables node to provide individual resize option */
    Individual = 512,
    /** Enables node to provide Expandable option */
    Expandable = 1024,
    /** Enables node to provide allow to drop option */
    AllowDrop = 2048,
    /** Enables node to inherit the interaction option */
    Inherit = 78,
    /** Enable ResizeNorthEast of the node  */
    ResizeNorthEast = 4096,
    /** Enable ResizeEast of the node  */
    ResizeEast = 8192,
    /** Enable ResizeSouthEast of the node  */
    ResizeSouthEast = 16384,
    /** Enable ResizeSouth of the node  */
    ResizeSouth = 32768,
    /** Enable ResizeSouthWest of the node  */
    ResizeSouthWest = 65536,
    /** Enable ResizeWest of the node  */
    ResizeWest = 131072,
    /** Enable ResizeNorthWest of the node  */
    ResizeNorthWest = 262144,
    /** Enable ResizeNorth of the node  */
    ResizeNorth = 524288,
    /** Enable Resize of the node  */
    Resize = 1044480,
    /** Enables the Aspect ratio fo the node */
    AspectRatio = 1048576,
    /** Enables or disables tool tip for the Nodes */
    Tooltip = 2097152,
    /** Enables or disables tool tip for the Nodes */
    InheritTooltip = 4194304,
    /** Enables the  ReadOnly support for Annotation */
    ReadOnly = 8388608,
    /** hide all resize support for node */
    HideThumbs = 16777216,
    /** Enables or disables child in parent for the swimLane node */
    AllowMovingOutsideLane = 33554432,
    /** Enables all constraints */
    Default = 5240814
}
/** Enables/Disables The element actions
 * None - Diables all element actions are none
 * ElementIsPort - Enable element action is port
 * ElementIsGroup - Enable element action as Group
 *
 * @private
 */
export  enum ElementAction {
    /** Disables all element actions are none  */
    None = 0,
    /** Enable the element action is Port  */
    ElementIsPort = 2,
    /** Enable the element action as Group  */
    ElementIsGroup = 4,
    /** Enable the element action if swimlaneHeader is rendered  */
    HorizontalLaneHeader = 8
}
/** Enables/Disables the handles of the selector
 * Rotate - Enable Rotate Thumb
 * ConnectorSource - Enable Connector source point
 * ConnectorTarget - Enable Connector target point
 * ResizeNorthEast - Enable ResizeNorthEast Resize
 * ResizeEast - Enable ResizeEast Resize
 * ResizeSouthEast - Enable ResizeSouthEast Resize
 * ResizeSouth - Enable ResizeSouth Resize
 * ResizeSouthWest - Enable ResizeSouthWest Resize
 * ResizeWest - Enable ResizeWest Resize
 * ResizeNorthWest - Enable ResizeNorthWest Resize
 * ResizeNorth - Enable ResizeNorth Resize
 * Default - Enables all constraints
 *
 * @private
 */
export  enum ThumbsConstraints {
    /** Enable Rotate Thumb  */
    Rotate = 2,
    /** Enable Connector source point  */
    ConnectorSource = 4,
    /** Enable Connector target point  */
    ConnectorTarget = 8,
    /** Enable ResizeNorthEast Resize  */
    ResizeNorthEast = 16,
    /** Enable ResizeEast Resize  */
    ResizeEast = 32,
    /** Enable ResizeSouthEast Resize */
    ResizeSouthEast = 64,
    /** Enable ResizeSouth Resize */
    ResizeSouth = 128,
    /** Enable ResizeSouthWest Resize */
    ResizeSouthWest = 256,
    /** Enable ResizeWest Resize */
    ResizeWest = 512,
    /** Enable ResizeNorthWest Resize */
    ResizeNorthWest = 1024,
    /** Enable ResizeNorth Resize */
    ResizeNorth = 2048,
    /** Enables all constraints */
    Default = 4094
}
/**
 * Enables/Disables certain features of diagram
 * None - Disable DiagramConstraints constraints
 * Bridging - Enables/Disable Bridging support for connector
 * UndoRedo - Enables/Disable the Undo/Redo support
 * Tooltip - Enables/Disable Tooltip support
 * UserInteraction - Enables/Disable UserInteraction support for the diagram
 * ApiUpdate - Enables/Disable ApiUpdate support for the diagram
 * PageEditable - Enables/Disable PageEditable support for the diagram
 * Zoom - Enables/Disable Zoom support for the diagram
 * PanX - Enables/Disable PanX support for the diagram
 * PanY - Enables/Disable PanY support for the diagram
 * Pan - Enables/Disable Pan support the diagram
 * ZoomTextEdit - Enables/Disables zooming the text box while editing the text
 * Virtualization - Enables/Disable Virtualization support the diagram
 * LineRouting - Enables/ Disable the line routing
 * AvoidLineOverlapping - Enables/Disables the line overlapping resolution globally in the diagram
 * Default - Enables/Disable all constraints
 *
 * @aspNumberEnum
 * @IgnoreSingular
 */
export  enum DiagramConstraints {
    /** Disable DiagramConstraints constraints */
    None = 1,
    /** Enables/Disable Bridging support for connector */
    Bridging = 2,
    /** Enables/Disable the Undo/Redo support */
    UndoRedo = 4,
    /** Enables/Disable Tooltip support */
    Tooltip = 8,
    /** Enables/Disable UserInteraction support for the diagram */
    UserInteraction = 16,
    /** Enables/Disable ApiUpdate support for the diagram */
    ApiUpdate = 32,
    /** Enables/Disable PageEditable support for the diagram */
    PageEditable = 48,
    /** Enables/Disable Zoom support for the diagram */
    Zoom = 64,
    /** Enables/Disable PanX support for the diagram */
    PanX = 128,
    /** Enables/Disable PanY support for the diagram */
    PanY = 256,
    /** Enables/Disable Pan support the diagram */
    Pan = 384,
    /** Enables/Disables zooming the text box while editing the text */
    ZoomTextEdit = 512,
    /** Enables/Disable Virtualization support the diagram */
    Virtualization = 1024,
    /** Enables/ Disable the line routing */
    LineRouting = 2048,
    /** Enables/Disables the line overlapping resolution globally in the diagram */
    AvoidLineOverlapping = 4096,
    /** Enables/Disable all constraints */
    Default = 500
}
/**
 * Activates the diagram tools
 * None - Enables/Disable single select support for the diagram
 * SingleSelect - Enables/Disable single select support for the diagram
 * MultipleSelect - Enables/Disable MultipleSelect select support for the diagram
 * ZoomPan - Enables/Disable ZoomPan support for the diagram
 * DrawOnce - Enables/Disable continuousDraw support for the diagram
 * ContinuousDraw - Enables/Disable continuousDraw support for the diagram
 * Default - Enables/Disable all constraints
 *
 * @aspNumberEnum
 * @IgnoreSingular
 */
export  enum DiagramTools {
    /** Disable all constraints */
    None = 0,
    /** Enables/Disable single select support for the diagram */
    SingleSelect = 1,
    /** Enables/Disable MultipleSelect select support for the diagram */
    MultipleSelect = 2,
    /** Enables/Disable ZoomPan support for the diagram */
    ZoomPan = 4,
    /** Enables/Disable DrawOnce support for the diagram */
    DrawOnce = 8,
    /** Enables/Disable continuousDraw support for the diagram */
    ContinuousDraw = 16,
    /** Enables/Disable all constraints */
    Default = 3
}
/**
 * Defines the bridge direction
 * Top - Defines the direction of the bridge as Top
 * Bottom - Defines the direction of the bridge as Bottom
 * Left - Sets the bridge direction as left
 * Right - Sets the bridge direction as right
 */
export  type BridgeDirection = 
/** Top - Defines the direction of the bridge as Top */
'Top' | 
/** Bottom - Defines the direction of the bridge as Bottom */
'Bottom' | 
/** Left - Sets the bridge direction as left */
'Left' | 
/** Right - Sets the bridge direction as right */
'Right';
/**
 * Defines the type of the gradient
 * Linear - Sets the type of the gradient as Linear
 * Radial - Sets the type of the gradient as Radial
 */
export  type GradientType = 
/** None - Sets the type of the gradient as None */
'None' | 
/** Linear - Sets the type of the gradient as Linear */
'Linear' | 
/** Radial - Sets the type of the gradient as Radial */
'Radial';
/**
 * Defines the shape of a node
 * Path - Sets the type of the node as Path
 * Text - Sets the type of the node as Text
 * Image - Sets the type of the node as Image
 * Basic - Sets the type of the node as Basic
 * Flow - Sets the type of the node as Flow
 * Bpmn - Sets the type of the node as Bpmn
 * Native - Sets the type of the node as Native
 * HTML - Sets the type of the node as HTML
 */
export  type Shapes = 
/** Basic - Sets the type of the node as Basic */
'Basic' | 
/** Path - Sets the type of the node as Path */
'Path' | 
/** Text - Sets the type of the node as Text */
'Text' | 
/** Image - Sets the type of the node as Image */
'Image' | 
/** Flow - Sets the type of the node as Flow */
'Flow' | 
/** Bpmn - Sets the type of the node as Bpmn */
'Bpmn' | 
/** Native - Sets the type of the node as Native */
'Native' | 
/** HTML - Sets the type of the node as HTML */
'HTML' | 
/** UMLActivity - Sets the type of the node as UMLActivity */
'UmlActivity' | 
/** UMLClassifier - Sets the type of the node as UMLClassifier */
'UmlClassifier' | 
/** SwimLane - Sets the type of the node as SwimLane */
'SwimLane';
/**
 * None - Scale value will be set as None for the image
 * Meet - Scale value Meet will be set for the image
 * Slice - Scale value Slice will be set for the image
 */
export  type Scale = 
/** None - Scale value will be set as None for the image */
'None' | 
/** Meet - Scale value Meet will be set for the image */
'Meet' | 
/** Slice - Scale value Slice will be set for the image */
'Slice';
/**
 * None - Alignment value will be set as none
 * XMinYMin - smallest X value of the view port and  smallest Y value of the view port
 * XMidYMin - midpoint X value of the view port and  smallest Y value of the view port
 * XMaxYMin - maximum X value of the view port and  smallest Y value of the view port
 * XMinYMid - smallest X value of the view port and midpoint Y value of the view port
 * XMidYMid - midpoint X value of the view port and midpoint Y value of the view port
 * XMaxYMid - maximum X value of the view port and midpoint Y value of the view port
 * XMinYMax - smallest X value of the view port and maximum Y value of the view port
 * XMidYMax - midpoint X value of the view port and maximum Y value of the view port
 * XMaxYMax - maximum X value of the view port and maximum Y value of the view port
 */
export  type ImageAlignment = 
/** None - Alignment value will be set as none */
'None' | 
/** XMinYMin - smallest X value of the view port and  smallest Y value of the view port */
'XMinYMin' | 
/** XMidYMin - midpoint X value of the view port and  smallest Y value of the view port */
'XMidYMin' | 
/** XMaxYMin - maximum X value of the view port and  smallest Y value of the view port */
'XMaxYMin' | 
/** XMinYMid - smallest X value of the view port and midpoint Y value of the view port */
'XMinYMid' | 
/** XMidYMid - midpoint X value of the view port and midpoint Y value of the view port */
'XMidYMid' | 
/** XMaxYMid - maximum X value of the view port and midpoint Y value of the view port */
'XMaxYMid' | 
/** XMinYMax - smallest X value of the view port and maximum Y value of the view port */
'XMinYMax' | 
/** XMidYMax - midpoint X value of the view port and maximum Y value of the view port */
'XMidYMax' | 
/** XMaxYMax - maximum X value of the view port and maximum Y value of the view port */
'XMaxYMax';
/**
 * Defines the type of the flow shape
 * Process - Sets the type of the flow shape as Process
 * Decision - Sets the type of the flow shape as Decision
 * Document - Sets the type of the flow shape as Document
 * PreDefinedProcess - Sets the type of the flow shape as PreDefinedProcess
 * Terminator - Sets the type of the flow shape as Terminator
 * PaperTap - Sets the type of the flow shape as PaperTap
 * DirectData - Sets the type of the flow shape as DirectData
 * SequentialData - Sets the type of the flow shape as SequentialData
 * MultiData - Sets the type of the flow shape as MultiData
 * Collate - Sets the type of the flow shape as Collate
 * SummingJunction - Sets the type of the flow shape as SummingJunction
 * Or - Sets the type of the flow shape as Or
 * InternalStorage - Sets the type of the flow shape as InternalStorage
 * Extract - Sets the type of the flow shape as Extract
 * ManualOperation - Sets the type of the flow shape as ManualOperation
 * Merge - Sets the type of the flow shape as Merge
 * OffPageReference - Sets the type of the flow shape as OffPageReference
 * SequentialAccessStorage - Sets the type of the flow shape as SequentialAccessStorage
 * Annotation - Sets the type of the flow shape as Annotation
 * Annotation2 - Sets the type of the flow shape as Annotation2
 * Data - Sets the type of the flow shape as Data
 * Card - Sets the type of the flow shape as Card
 * Delay - Sets the type of the flow shape as Delay
 * Preparation - Sets the type of the flow shape as Preparation
 * Display - Sets the type of the flow shape as Display
 * ManualInput - Sets the type of the flow shape as ManualInput
 * LoopLimit - Sets the type of the flow shape as LoopLimit
 * StoredData - Sets the type of the flow shape as StoredData
 */
export  type FlowShapes = 
/** Terminator - Sets the type of the flow shape as Terminator */
'Terminator' | 
/** Process - Sets the type of the flow shape as Process */
'Process' | 
/** Decision - Sets the type of the flow shape as Decision */
'Decision' | 
/** Document - Sets the type of the flow shape as Document */
'Document' | 
/** PreDefinedProcess - Sets the type of the flow shape as PreDefinedProcess */
'PreDefinedProcess' | 
/** PaperTap - Sets the type of the flow shape as PaperTap */
'PaperTap' | 
/** DirectData - Sets the type of the flow shape as DirectData */
'DirectData' | 
/** SequentialData - Sets the type of the flow shape as SequentialData */
'SequentialData' | 
/** Sort - Sets the type of the flow shape as Sort */
'Sort' | 
/** MultiDocument - Sets the type of the flow shape as MultiDocument */
'MultiDocument' | 
/** Collate - Sets the type of the flow shape as Collate */
'Collate' | 
/** SummingJunction - Sets the type of the flow shape as SummingJunction */
'SummingJunction' | 
/** Or - Sets the type of the flow shape as Or */
'Or' | 
/** InternalStorage - Sets the type of the flow shape as InternalStorage */
'InternalStorage' | 
/** Extract - Sets the type of the flow shape as Extract */
'Extract' | 
/** ManualOperation - Sets the type of the flow shape as ManualOperation */
'ManualOperation' | 
/** Merge - Sets the type of the flow shape as Merge */
'Merge' | 
/** OffPageReference - Sets the type of the flow shape as OffPageReference */
'OffPageReference' | 
/** SequentialAccessStorage - Sets the type of the flow shape as SequentialAccessStorage */
'SequentialAccessStorage' | 
/** Annotation - Sets the type of the flow shape as Annotation */
'Annotation' | 
/** Annotation2 - Sets the type of the flow shape as Annotation2 */
'Annotation2' | 
/** Data - Sets the type of the flow shape as Data */
'Data' | 
/** Card - Sets the type of the flow shape as Card */
'Card' | 
/** Delay - Sets the type of the flow shape as Delay */
'Delay' | 
/** Preparation - Sets the type of the flow shape as Preparation */
'Preparation' | 
/** Display - Sets the type of the flow shape as Display */
'Display' | 
/** ManualInput - Sets the type of the flow shape as ManualInput */
'ManualInput' | 
/** LoopLimit - Sets the type of the flow shape as LoopLimit */
'LoopLimit' | 
/** StoredData - Sets the type of the flow shape as StoredData */
'StoredData';
/**
 * Defines the basic shapes
 * Rectangle - Sets the type of the basic shape as Rectangle
 * Ellipse - Sets the type of the basic shape as Ellipse
 * Hexagon - Sets the type of the basic shape as Hexagon
 * Parallelogram - Sets the type of the basic shape as Parallelogram
 * Triangle - Sets the type of the basic shape as Triangle
 * Plus - Sets the type of the basic shape as Plus
 * Star - Sets the type of the basic shape as Star
 * Pentagon - Sets the type of the basic shape as Pentagon
 * Heptagon - Sets the type of the basic shape as Heptagon
 * Octagon - Sets the type of the basic shape as Octagon
 * Trapezoid - Sets the type of the basic shape as Trapezoid
 * Decagon - Sets the type of the basic shape as Decagon
 * RightTriangle - Sets the type of the basic shape as RightTriangle
 * Cylinder - Sets the type of the basic shape as Cylinder
 * Diamond - Sets the type of the basic shape as Diamond
 */
export  type BasicShapes = 
/** Rectangle - Sets the type of the basic shape as Rectangle */
'Rectangle' | 
/** Ellipse - Sets the type of the basic shape as Ellipse */
'Ellipse' | 
/** Hexagon - Sets the type of the basic shape as Hexagon */
'Hexagon' | 
/** Parallelogram - Sets the type of the basic shape as Parallelogram */
'Parallelogram' | 
/** Triangle - Sets the type of the basic shape as Triangle */
'Triangle' | 
/** Plus - Sets the type of the basic shape as Plus */
'Plus' | 
/** Star - Sets the type of the basic shape as Star */
'Star' | 
/** Pentagon - Sets the type of the basic shape as Pentagon */
'Pentagon' | 
/** Heptagon - Sets the type of the basic shape as Heptagon */
'Heptagon' | 
/** Octagon - Sets the type of the basic shape as Octagon */
'Octagon' | 
/** Trapezoid - Sets the type of the basic shape as Trapezoid */
'Trapezoid' | 
/** Decagon - Sets the type of the basic shape as Decagon */
'Decagon' | 
/** RightTriangle - Sets the type of the basic shape as RightTriangle */
'RightTriangle' | 
/** Cylinder - Sets the type of the basic shape as Cylinder */
'Cylinder' | 
/** Diamond - Sets the type of the basic shape as Diamond */
'Diamond' | 
/** Polygon - Sets the type of the basic shape as Polygon */
'Polygon';
/**
 * Defines the type of the Bpmn Shape
 * Event - Sets the type of the Bpmn Shape as Event
 * Gateway - Sets the type of the Bpmn Shape as Gateway
 * Message - Sets the type of the Bpmn Shape as Message
 * DataObject - Sets the type of the Bpmn Shape as DataObject
 * DataSource - Sets the type of the Bpmn Shape as DataSource
 * Activity - Sets the type of the Bpmn Shape as Activity
 * Group - Sets the type of the Bpmn Shape as Group
 * TextAnnotation - Represents the shape as Text Annotation
 */
export  type BpmnShapes = 
/** Event - Sets the type of the Bpmn Shape as Event */
'Event' | 
/** Gateway - Sets the type of the Bpmn Shape as Gateway */
'Gateway' | 
/** Message - Sets the type of the Bpmn Shape as Message */
'Message' | 
/** DataObject - Sets the type of the Bpmn Shape as DataObject */
'DataObject' | 
/** DataSource - Sets the type of the Bpmn Shape as DataSource */
'DataSource' | 
/** Activity - Sets the type of the Bpmn Shape as Activity */
'Activity' | 
/** Group - Sets the type of the Bpmn Shape as Group */
'Group' | 
/** TextAnnotation - Represents the shape as Text Annotation */
'TextAnnotation';
/**
 * Defines the type of the UMLActivity Shape
 * Action - Sets the type of the UMLActivity Shape as Action
 * Decision - Sets the type of the UMLActivity Shape as Decision
 * MergeNode - Sets the type of the UMLActivity Shape as MergeNode
 * InitialNode - Sets the type of the UMLActivity Shape as InitialNode
 * FinalNode - Sets the type of the UMLActivity Shape as FinalNode
 * ForkNode - Sets the type of the UMLActivity Shape as ForkNode
 * JoinNode - Sets the type of the UMLActivity Shape as JoinNode
 * TimeEvent - Represents the UMLActivity shape as TimeEvent
 *
 * @IgnoreSingular
 */
export  type UmlActivityShapes = 
/** Action - Sets the type of the UMLActivity Shape as Action */
'Action' | 
/** Decision - Sets the type of the UMLActivity Shape as Decision */
'Decision' | 
/** MergeNode - Sets the type of the UMLActivity Shape as MergeNode */
'MergeNode' | 
/** InitialNode - Sets the type of the UMLActivity Shape as InitialNode */
'InitialNode' | 
/** FinalNode - Sets the type of the UMLActivity Shape as FinalNode */
'FinalNode' | 
/** ForkNode - Sets the type of the UMLActivity Shape as ForkNode */
'ForkNode' | 
/** JoinNode - Sets the type of the UMLActivity Shape as JoinNode */
'JoinNode' | 
/** TimeEvent - Represents the shape as TimeEvent */
'TimeEvent' | 
/** AcceptingEvent - Sets the type of the UMLActivity Shape as AcceptingEvent */
'AcceptingEvent' | 
/** SendSignal - Sets the type of the UMLActivity Shape as SendSignal */
'SendSignal' | 
/** ReceiveSignal - Sets the type of the UMLActivity Shape as ReceiveSignal */
'ReceiveSignal' | 
/** StructuredNode - Sets the type of the UMLActivity Shape as StructuredNode */
'StructuredNode' | 
/** Note - Sets the type of the UMLActivity Shape as Note */
'Note';
/**
 * Defines the type of the UMLActivity flows
 * Object - Sets the type of the UMLActivity Flow as Object
 * Control - Sets the type of the UMLActivity Flow as Control
 * Exception - Sets the type of the UMLActivity Flow as Exception
 *
 * @IgnoreSingular
 */
export  type UmlActivityFlows = 
/** Object - Sets the type of the UMLActivity Flow as Object */
'Object' | 
/** Control - Sets the type of the UMLActivity Flow as Control */
'Control' | 
/** Exception - Sets the type of the UMLActivity Flow as Exception */
'Exception';
/**
 * Defines the type of the Bpmn Events
 * Start - Sets the type of the Bpmn Event as Start
 * Intermediate - Sets the type of the Bpmn Event as Intermediate
 * End - Sets the type of the Bpmn Event as End
 * NonInterruptingStart - Sets the type of the Bpmn Event as NonInterruptingStart
 * NonInterruptingIntermediate - Sets the type of the Bpmn Event as NonInterruptingIntermediate
 * ThrowingIntermediate - Sets the type of the Bpmn Event as ThrowingIntermediate
 */
export  type BpmnEvents = 
/** Sets the type of the Bpmn Event as Start */
'Start' | 
/** Sets the type of the Bpmn Event as Intermediate */
'Intermediate' | 
/** Sets the type of the Bpmn Event as End */
'End' | 
/** Sets the type of the Bpmn Event as NonInterruptingStart */
'NonInterruptingStart' | 
/** Sets the type of the Bpmn Event as NonInterruptingIntermediate */
'NonInterruptingIntermediate' | 
/** Sets the type of the Bpmn Event as ThrowingIntermediate */
'ThrowingIntermediate';
/**
 * Defines the type of the Bpmn Triggers
 * None - Sets the type of the trigger as None
 * Message - Sets the type of the trigger as Message
 * Timer - Sets the type of the trigger as Timer
 * Escalation - Sets the type of the trigger as Escalation
 * Link - Sets the type of the trigger as Link
 * Error - Sets the type of the trigger as Error
 * Compensation - Sets the type of the trigger as Compensation
 * Signal - Sets the type of the trigger as Signal
 * Multiple - Sets the type of the trigger as Multiple
 * Parallel - Sets the type of the trigger as Parallel
 * Cancel - Sets the type of the trigger as Cancel
 * Conditional - Sets the type of the trigger as Conditional
 * Terminate - Sets the type of the trigger as Terminate
 */
export  type BpmnTriggers = 
/** None - Sets the type of the trigger as None */
'None' | 
/** Message - Sets the type of the trigger as Message */
'Message' | 
/** Timer - Sets the type of the trigger as Timer */
'Timer' | 
/** Escalation - Sets the type of the trigger as Escalation */
'Escalation' | 
/** Link - Sets the type of the trigger as Link */
'Link' | 
/** Error - Sets the type of the trigger as Error */
'Error' | 
/** Compensation - Sets the type of the trigger as Compensation */
'Compensation' | 
/** Signal - Sets the type of the trigger as Signal */
'Signal' | 
/** Multiple - Sets the type of the trigger as Multiple */
'Multiple' | 
/** Parallel - Sets the type of the trigger as Parallel */
'Parallel' | 
/** Cancel - Sets the type of the trigger as Cancel */
'Cancel' | 
/** Conditional - Sets the type of the trigger as Conditional */
'Conditional' | 
/** Terminate - Sets the type of the trigger as Terminate */
'Terminate';
/**
 * Defines the type of the Bpmn gateways
 * None - Sets the type of the gateway as None
 * Exclusive - Sets the type of the gateway as Exclusive
 * Inclusive - Sets the type of the gateway as Inclusive
 * Parallel - Sets the type of the gateway as Parallel
 * Complex - Sets the type of the gateway as Complex
 * EventBased - Sets the type of the gateway as EventBased
 * ExclusiveEventBased - Sets the type of the gateway as ExclusiveEventBased
 * ParallelEventBased - Sets the type of the gateway as ParallelEventBased
 */
export  type BpmnGateways = 
/** None - Sets the type of the gateway as None */
'None' | 
/** Exclusive - Sets the type of the gateway as Exclusive */
'Exclusive' | 
/** Inclusive - Sets the type of the gateway as Inclusive */
'Inclusive' | 
/** Parallel - Sets the type of the gateway as Parallel */
'Parallel' | 
/** Complex - Sets the type of the gateway as Complex */
'Complex' | 
/** EventBased - Sets the type of the gateway as EventBased */
'EventBased' | 
/** ExclusiveEventBased - Sets the type of the gateway as ExclusiveEventBased */
'ExclusiveEventBased' | 
/** ParallelEventBased - Sets the type of the gateway as ParallelEventBased */
'ParallelEventBased';
/**
 * Defines the type of the Bpmn Data Objects
 * None - Sets the type of the data object as None
 * Input - Sets the type of the data object as Input
 * Output - Sets the type of the data object as Output
 */
export  type BpmnDataObjects = 
/** None - Sets the type of the data object as None */
'None' | 
/** Input - Sets the type of the data object as Input */
'Input' | 
/** Output - Sets the type of the data object as Output */
'Output';
/**
 * Defines the type of the Bpmn Activity
 * None - Sets the type of the Bpmn Activity as None
 * Task - Sets the type of the Bpmn Activity as Task
 * SubProcess - Sets the type of the Bpmn Activity as SubProcess
 */
export  type BpmnActivities = 
/** Task - Sets the type of the Bpmn Activity as Task */
'Task' | 
/** None - Sets the type of the Bpmn Activity as None */
'None' | 
/** SubProcess - Sets the type of the Bpmn Activity as SubProcess */
'SubProcess';
/**
 * Defines the type of the Bpmn Loops
 * None - Sets the type of the Bpmn loop as None
 * Standard - Sets the type of the Bpmn loop as Standard
 * ParallelMultiInstance - Sets the type of the Bpmn loop as ParallelMultiInstance
 * SequenceMultiInstance - Sets the type of the Bpmn loop as SequenceMultiInstance
 */
export  type BpmnLoops = 
/** None - Sets the type of the Bpmn loop as None */
'None' | 
/** Standard - Sets the type of the Bpmn loop as Standard */
'Standard' | 
/** ParallelMultiInstance - Sets the type of the Bpmn loop as ParallelMultiInstance */
'ParallelMultiInstance' | 
/** SequenceMultiInstance - Sets the type of the Bpmn loop as SequenceMultiInstance */
'SequenceMultiInstance';
/**
 * Defines the type of the Bpmn Tasks
 * None - Sets the type of the Bpmn Tasks as None
 * Service - Sets the type of the Bpmn Tasks as Service
 * Receive - Sets the type of the Bpmn Tasks as Receive
 * Send - Sets the type of the Bpmn Tasks as Send
 * InstantiatingReceive - Sets the type of the Bpmn Tasks as InstantiatingReceive
 * Manual - Sets the type of the Bpmn Tasks as Manual
 * BusinessRule - Sets the type of the Bpmn Tasks as BusinessRule
 * User - Sets the type of the Bpmn Tasks as User
 * Script - Sets the type of the Bpmn Tasks as Script
 */
export  type BpmnTasks = 
/** None - Sets the type of the Bpmn Tasks as None */
'None' | 
/** Service - Sets the type of the Bpmn Tasks as Service */
'Service' | 
/** Receive - Sets the type of the Bpmn Tasks as Receive */
'Receive' | 
/** Send - Sets the type of the Bpmn Tasks as Send */
'Send' | 
/** InstantiatingReceive - Sets the type of the Bpmn Tasks as InstantiatingReceive */
'InstantiatingReceive' | 
/** Manual - Sets the type of the Bpmn Tasks as Manual */
'Manual' | 
/** BusinessRule - Sets the type of the Bpmn Tasks as BusinessRule */
'BusinessRule' | 
/** User - Sets the type of the Bpmn Tasks as User */
'User' | 
/** Script - Sets the type of the Bpmn Tasks as Script */
'Script';
/**
 * Defines the type of the Bpmn Subprocess
 * None - Sets the type of the Sub process as None
 * Transaction - Sets the type of the Sub process as Transaction
 * Event - Sets the type of the Sub process as Event
 */
export  type BpmnSubProcessTypes = 
/** None - Sets the type of the Sub process as None */
'None' | 
/** Transaction - Sets the type of the Sub process as Transaction */
'Transaction' | 
/** Event - Sets the type of the Sub process as Event */
'Event';
/**
 * Defines the type of the Bpmn boundary
 * Default - Sets the type of the boundary as Default
 * Call - Sets the type of the boundary as Call
 * Event - Sets the type of the boundary as Event
 */
export  type BpmnBoundary = 
/** Default - Sets the type of the boundary as Default */
'Default' | 
/** Call - Sets the type of the boundary as Call */
'Call' | 
/** Event - Sets the type of the boundary as Event */
'Event';
/**
 * Defines the connection shapes
 * Bpmn - Sets the type of the connection shape as Bpmn
 */
export  type ConnectionShapes = 
/** None - Sets the type of the connection shape as None */
'None' | 
/** Bpmn - Sets the type of the connection shape as Bpmn */
'Bpmn' | 
/** UMLActivity - Sets the type of the connection shape as UMLActivity */
'UmlActivity' | 
/** UMLClassifier - Sets the type of the connection shape as UMLClassifier */
'UmlClassifier';
/**
 * Defines the type of the Bpmn flows
 * Sequence - Sets the type of the Bpmn Flow as Sequence
 * Association - Sets the type of the Bpmn Flow as Association
 * Message - Sets the type of the Bpmn Flow as Message
 */
export  type BpmnFlows = 
/** Sequence - Sets the type of the Bpmn Flow as Sequence */
'Sequence' | 
/** Association - Sets the type of the Bpmn Flow as Association */
'Association' | 
/** Message - Sets the type of the Bpmn Flow as Message */
'Message';
/**
 * Defines the type of the Bpmn Association Flows
 * Default - Sets the type of Association flow as Default
 * Directional - Sets the type of Association flow as Directional
 * BiDirectional - Sets the type of Association flow as BiDirectional
 */
export  type BpmnAssociationFlows = 
/** Default - Sets the type of Association flow as Default */
'Default' | 
/** Directional - Sets the type of Association flow as Directional */
'Directional' | 
/** BiDirectional - Sets the type of Association flow as BiDirectional */
'BiDirectional';
/**
 * Defines the type of the Bpmn Message Flows
 * Default - Sets the type of the Message flow as Default
 * InitiatingMessage - Sets the type of the Message flow as InitiatingMessage
 * NonInitiatingMessage - Sets the type of the Message flow as NonInitiatingMessage
 */
export  type BpmnMessageFlows = 
/** Default - Sets the type of the Message flow as Default */
'Default' | 
/** InitiatingMessage - Sets the type of the Message flow as InitiatingMessage */
'InitiatingMessage' | 
/** NonInitiatingMessage - Sets the type of the Message flow as NonInitiatingMessage */
'NonInitiatingMessage';
/**
 * Defines the type of the Bpmn Sequence flows
 * Default - Sets the type of the sequence flow as Default
 * Normal - Sets the type of the sequence flow as Normal
 * Conditional - Sets the type of the sequence flow as Conditional
 */
export  type BpmnSequenceFlows = 
/** Normal - Sets the type of the sequence flow as Normal */
'Normal' | 
/** Default - Sets the type of the sequence flow as Default */
'Default' | 
/** Conditional - Sets the type of the sequence flow as Conditional */
'Conditional';
/**
 * Defines the segment type of the connector
 * Straight - Sets the segment type as Straight
 * Orthogonal - Sets the segment type as Orthogonal
 * Polyline - Sets the segment type as Polyline
 * Bezier - Sets the segment type as Bezier
 */
export  type Segments = 
/** Straight - Sets the segment type as Straight */
'Straight' | 
/** Orthogonal - Sets the segment type as Orthogonal */
'Orthogonal' | 
/** Polyline - Sets the segment type as Polyline */
'Polyline' | 
/** Bezier - Sets the segment type as Bezier */
'Bezier' | 
/** FreeHand - Sets the segment type as FreeHand */
'Freehand';
/**
 * Defines the decorator shape of the connector
 * None - Sets the decorator shape as None
 * Arrow - Sets the decorator shape as Arrow
 * Diamond - Sets the decorator shape as Diamond
 * Path - Sets the decorator shape as Path
 * OpenArrow - Sets the decorator shape as OpenArrow
 * Circle - Sets the decorator shape as Circle
 * Square - Sets the decorator shape as Square
 * Fletch - Sets the decorator shape as Fletch
 * OpenFetch - Sets the decorator shape as OpenFetch
 * IndentedArrow - Sets the decorator shape as Indented Arrow
 * OutdentedArrow - Sets the decorator shape as Outdented Arrow
 * DoubleArrow - Sets the decorator shape as DoubleArrow
 */
export  type DecoratorShapes = 
/** Arrow - Sets the decorator shape as Arrow */
'Arrow' | 
/** None - Sets the decorator shape as None */
'None' | 
/** Diamond - Sets the decorator shape as Diamond */
'Diamond' | 
/** OpenArrow - Sets the decorator shape as OpenArrow */
'OpenArrow' | 
/** Circle - Sets the decorator shape as Circle */
'Circle' | 
/** Square - Sets the decorator shape as Square */
'Square' | 
/** Fletch - Sets the decorator shape as Fletch */
'Fletch' | 
/** OpenFetch - Sets the decorator shape as OpenFetch */
'OpenFetch' | 
/** IndentedArrow - Sets the decorator shape as Indented Arrow */
'IndentedArrow' | 
/** OutdentedArrow - Sets the decorator shape as Outdented Arrow */
'OutdentedArrow' | 
/** DoubleArrow - Sets the decorator shape as DoubleArrow */
'DoubleArrow' | 
/** Custom - Sets the decorator shape as Custom */
'Custom';
/**
 * Defines the segmentThumb shape of the connector
 * Rhombus - Sets the segmentThumb shape as Rhombus
 * Square - Sets the segmentThumb shape as Square
 * Rectangle - Sets the segmentThumb shape as Rectangle
 * Ellipse - Sets the segmentThumb shape as Ellipse
 * Arrow - Sets the segmentThumb shape as Arrow
 * Diamond - Sets the segmentThumb shape as Diamond
 * OpenArrow - Sets the segmentThumb shape as OpenArrow
 * Circle - Sets the segmentThumb shape as Circle
 * Fletch - Sets the segmentThumb shape as Fletch
 * OpenFetch - Sets the segmentThumb shape as OpenFetch
 * IndentedArrow - Sets the segmentThumb shape as Indented Arrow
 * OutdentedArrow - Sets the segmentThumb shape as Outdented Arrow
 * DoubleArrow - Sets the segmentThumb shape as DoubleArrow
 */
export  type SegmentThumbShapes = 
/** Rhombus - Sets the segmentThumb shape as Rhombus */
'Rhombus' | 
/** Square - Sets the segmentThumb shape as Square */
'Square' | 
/** Rectangle - Sets the segmentThumb shape as Rectangle */
'Rectangle' | 
/** Ellipse - Sets the segmentThumb shape as Ellipse */
'Ellipse' | 
/** Arrow - Sets the segmentThumb shape as Arrow */
'Arrow' | 
/** Diamond - Sets the segmentThumb shape as Diamond */
'Diamond' | 
/** OpenArrow - Sets the segmentThumb shape as OpenArrow */
'OpenArrow' | 
/** Circle - Sets the segmentThumb shape as Circle */
'Circle' | 
/** Fletch - Sets the segmentThumb shape as Fletch */
'Fletch' | 
/** OpenFetch - Sets the segmentThumb shape as OpenFetch */
'OpenFetch' | 
/** IndentedArrow - Sets the segmentThumb shape as Indented Arrow */
'IndentedArrow' | 
/** OutdentedArrow - Sets the segmentThumb shape as Outdented Arrow */
'OutdentedArrow' | 
/** DoubleArrow - Sets the segmentThumb shape as DoubleArrow */
'DoubleArrow';
/**
 * Defines the shape of the ports
 * X - Sets the decorator shape as X
 * Circle - Sets the decorator shape as Circle
 * Square - Sets the decorator shape as Square
 * Custom - Sets the decorator shape as Custom
 */
export  type PortShapes = 
/** X - Sets the decorator shape as X */
'X' | 
/** Circle - Sets the decorator shape as Circle */
'Circle' | 
/** Square - Sets the decorator shape as Square */
'Square' | 
/** Custom - Sets the decorator shape as Custom */
'Custom';
/**
 * Defines the unit mode
 * Absolute - Sets the unit mode type as Absolute
 * Fraction - Sets the unit mode type as Fraction
 */
export  type UnitMode = 
/** Absolute - Sets the unit mode type as Absolute */
'Absolute' | 
/** Fraction - Sets the unit mode type as Fraction */
'Fraction';
/**
 * Defines the property change entry type
 * PositionChanged - Sets the entry type as PositionChanged
 * Align - Sets the entry type as Align
 * Distribute - Sets the entry type as Distribute
 * SizeChanged - Sets the entry type as SizeChanged
 * Sizing - Sets the entry type as Sizing
 * RotationChanged - Sets the entry type as RotationChanged
 * ConnectionChanged - Sets the entry type as ConnectionChanged
 * PropertyChanged - Sets the entry type as PropertyChanged
 * CollectionChanged - Sets the entry type as CollectionChanged
 * StartGroup - Sets the entry type as StartGroup
 * EndGroup - Sets the entry type as EndGroup
 * Group - Sets the entry type as Group
 * UnGroup - Sets the entry type as UnGroup
 * SegmentChanged - Sets the entry type as SegmentChanged
 * LabelCollectionChanged - Sets the entry type as LabelCollectionChanged
 * PortCollectionChanged - Sets the entry type as PortCollectionChanged
 */
export  type EntryType = 
/** PositionChanged - Sets the entry type as PositionChanged */
'PositionChanged' | 
/** Align - Sets the entry type as Align */
'Align' | 
/** Distribute - Sets the entry type as Distribute */
'Distribute' | 
/** SizeChanged - Sets the entry type as SizeChanged */
'SizeChanged' | 
/** Sizing - Sets the entry type as Sizing */
'Sizing' | 
/** RotationChanged - Sets the entry type as RotationChanged */
'RotationChanged' | 
/** ConnectionChanged - Sets the entry type as ConnectionChanged */
'ConnectionChanged' | 
/** PropertyChanged - Sets the entry type as PropertyChanged */
'PropertyChanged' | 
/** CollectionChanged - Sets the entry type as CollectionChanged */
'CollectionChanged' | 
/** StartGroup - Sets the entry type as StartGroup */
'StartGroup' | 
/** EndGroup - Sets the entry type as EndGroup */
'EndGroup' | 
/** Group - Sets the entry type as Group */
'Group' | 
/** UnGroup - Sets the entry type as UnGroup */
'UnGroup' | 
/** SegmentChanged - Sets the entry type as SegmentChanged */
'SegmentChanged' | 
/** LabelCollectionChanged - Sets the entry type as LabelCollectionChanged */
'LabelCollectionChanged' | 
/** PortCollectionChanged - Sets the entry type as PortCollectionChanged */
'PortCollectionChanged' | 
/** PortPositionChanged - Sets the entry type as PortPositionChanged */
'PortPositionChanged' | 
/** AnnotationPropertyChanged - Sets the entry type as AnnotationPropertyChanged */
'AnnotationPropertyChanged' | 
/** ChildCollectionChanged - Sets the entry type as ChildCollectionChanged used for add and remove a child collection in a container */
'ChildCollectionChanged' | 
/** StackNodeChanged - Sets the entry type as StackNodePositionChanged */
'StackChildPositionChanged' | 
/** ColumnWidthChanged - Sets the entry type as ColumnWidthChanged */
'ColumnWidthChanged' | 
/** RowHeightChanged - Sets the entry type as RowHeightChanged */
'RowHeightChanged' | 
/** LanePositionChanged - Sets the entry type as LanePositionChanged */
'LanePositionChanged' | 
/** PhaseCollectionChanged - Sets the entry type as PhaseCollectionChanged */
'PhaseCollectionChanged' | 
/** LaneCollectionChanged - Sets the entry type as LaneCollectionChanged */
'LaneCollectionChanged' | 
/** SendForward - Sets the entry type as sendForward */
'SendForward' | 
/** SendBackward - Sets the entry type as sendBackward */
'SendBackward' | 
/** BringToFront - Sets the entry type as bringToFront */
'BringToFront' | 
/** SendToBack - Sets the entry type as sendToBack */
'SendToBack' | 
/** AddChildToGroupNode - Sets the entry type as  AddChildToGroupNode */
'AddChildToGroupNode' | 
/** RemoveChildFromGroupNode - Sets the entry type as  RemoveChildFromGroupNode */
'RemoveChildFromGroupNode' | 
/** ExtrenalEntry - Sets the entry type as ExtrenalEntry */
'ExternalEntry';
/**
 * Defines the entry category type
 * Internal - Sets the entry category type as Internal
 * External - Sets the entry category type as External
 */
export  type EntryCategory = 
/** Internal - Sets the entry category type as Internal */
'Internal' | 
/** External - Sets the entry category type as External */
'External';
/**
 * Defines the entry change type
 * Insert - Sets the entry change type as Insert
 * Remove - Sets the entry change type as Remove
 */
export  type EntryChangeType = 
/** Insert - Sets the entry change type as Insert */
'Insert' | 
/** Remove - Sets the entry change type as Remove */
'Remove';
/**
 * Defines the container/canvas transform
 * Self - Sets the transform type as Self
 * Parent - Sets the transform type as Parent
 */
export  enum Transform {
    /** Self - Sets the transform type as Self */
    Self = 1,
    /** Parent - Sets the transform type as Parent */
    Parent = 2
}
/**
 * Defines the nudging direction
 * Left - Nudge the object in the left direction
 * Right - Nudge the object in the right direction
 * Up - Nudge the object in the up direction
 * Down - Nudge the object in the down direction
 */
export  type NudgeDirection = 
/** Left - Nudge the object in the left direction */
'Left' | 
/** Right - Nudge the object in the right direction */
'Right' | 
/** Up - Nudge the object in the up direction */
'Up' | 
/** Down - Nudge the object in the down direction */
'Down';
/**
 * Defines the diagrams stretch
 * None - Sets the stretch type for diagram as None
 * Stretch - Sets the stretch type for diagram as Stretch
 * Meet - Sets the stretch type for diagram as Meet
 * Slice - Sets the stretch type for diagram as Slice
 */
export  type Stretch = 
/** None - Sets the stretch type for diagram as None */
'None' | 
/** Stretch - Sets the stretch type for diagram as Stretch */
'Stretch' | 
/** Meet - Sets the stretch type for diagram as Meet */
'Meet' | 
/** Slice - Sets the stretch type for diagram as Slice */
'Slice';
/**
 * Defines the BoundaryConstraints for the diagram
 * Infinity - Allow the interactions to take place at the infinite height and width
 * Diagram - Allow the interactions to take place around the diagram height and width
 * Page - Allow the interactions to take place around the page height and width
 */
export  type BoundaryConstraints = 
/** Infinity - Allow the interactions to take place at the infinite height and width */
'Infinity' | 
/** Diagram - Allow the interactions to take place around the diagram height and width */
'Diagram' | 
/** Page - Allow the interactions to take place around the page height and width */
'Page';
/**
 * Defines the rendering mode for diagram
 * Canvas - Sets the rendering mode type as Canvas
 * Svg - Sets the rendering mode type as Svg
 */
export  enum RenderMode {
    /** Canvas - Sets the rendering mode type as Canvas */
    Canvas = 0,
    /** Svg - Sets the rendering mode type as Svg */
    Svg = 1
}
/**
 * Defines the objects direction
 * Left - Sets the direction type as Left
 * Right - Sets the direction type as Right
 * Top - Sets the direction type as Top
 * Bottom - Sets the direction type as Bottom
 */
export  type Direction = 
/** Left - Sets the direction type as Left */
'Left' | 
/** Right - Sets the direction type as Right */
'Right' | 
/** Top - Sets the direction type as Top */
'Top' | 
/** Bottom - Sets the direction type as Bottom */
'Bottom';
/**
 * Defines the scrollable region of diagram
 * Diagram - Enables scrolling to view the diagram content
 * Infinity - Diagram will be extended, when we try to scroll the diagram
 */
export  type ScrollLimit = 
/** Diagram - Enables scrolling to view the diagram content */
'Diagram' | 
/** Infinity - Diagram will be extended, when we try to scroll the diagram */
'Infinity' | 
/** Limited - Diagram scrolling will be limited */
'Limited';
/**
 * Sets a combination of key modifiers, on recognition of which the command will be executed.They are
 * * None - no modifiers are pressed
 * * Control - ctrl key
 * * Meta - meta key im mac
 * * Alt - alt key
 * * Shift - shift key
 *
 * @aspNumberEnum
 * @IgnoreSingular
 */
export  enum KeyModifiers {
    /** No modifiers are pressed */
    None = 0,
    /** The CTRL key */
    Control = 1,
    /** The Meta key pressed in Mac */
    Meta = 1,
    /** The ALT key */
    Alt = 2,
    /** The Shift key */
    Shift = 4
}
/**
 * Sets the key value, on recognition of which the command will be executed. They are
 * * none - no key
 * * Number0 = The 0 key
 * * Number1 = The 1 key
 * * Number2 = The 2 key
 * * Number3 = The 3 key
 * * Number4 = The 4 key
 * * Number5 = The 5 key
 * * Number6 = The 6 key
 * * Number7 = The 7 key
 * * Number8 = The 8 key
 * * Number9 = The 9 key
 * * Number0 = The 0 key
 * * BackSpace = The BackSpace key
 * * F1 = The f1 key
 * * F2 = The f2 key
 * * F3 = The f3 key
 * * F4 = The f4 key
 * * F5 = The f5 key
 * * F6 = The f6 key
 * * F7 = The f7 key
 * * F8 = The f8 key
 * * F9 = The f9 key
 * * F10 = The f10 key
 * * F11 = The f11 key
 * * F12 = The f12 key
 * * A = The a key
 * * B = The b key
 * * C = The c key
 * * D = The d key
 * * E = The e key
 * * F = The f key
 * * G = The g key
 * * H = The h key
 * * I = The i key
 * * J = The j key
 * * K = The k key
 * * L = The l key
 * * M = The m key
 * * N = The n key
 * * O = The o key
 * * P = The p key
 * * Q = The q key
 * * R = The r key
 * * S = The s key
 * * T = The t key
 * * U = The u key
 * * V = The v key
 * * W = The w key
 * * X = The x key
 * * Y = The y key
 * * Z = The z key
 * * Left = The left key
 * * Right = The right key
 * * Top = The top key
 * * Bottom = The bottom key
 * * Escape = The Escape key
 * * Tab = The tab key
 * * Delete = The delete key
 * * Enter = The enter key
 * * The Space key
 * * The page up key
 * * The page down key
 * * The end key
 * * The home key
 * * The Minus
 * * The Plus
 * * The Star
 * * The Open Square Bracket
 * * The close Square Bracket
 *
 * @aspNumberEnum
 * @IgnoreSingular
 */
export  enum Keys {
    /** No key pressed */
    None,
    /** The 0 key */
    Number0 = 0,
    /** The 1 key */
    Number1 = 1,
    /** The 2 key */
    Number2 = 2,
    /** The 3 key */
    Number3 = 3,
    /** The 4 key */
    Number4 = 4,
    /** The 5 key */
    Number5 = 5,
    /** The 6 key */
    Number6 = 6,
    /** The 7 key */
    Number7 = 7,
    /** The 8 key */
    Number8 = 8,
    /** The 9 key */
    Number9 = 9,
    /** The A key */
    A = 65,
    /** The B key */
    B = 66,
    /** The C key */
    C = 67,
    /** The D key */
    D = 68,
    /** The E key */
    E = 69,
    /** The F key */
    F = 70,
    /** The G key */
    G = 71,
    /** The H key */
    H = 72,
    /** The I key */
    I = 73,
    /** The J key */
    J = 74,
    /** The K key */
    K = 75,
    /** The L key */
    L = 76,
    /** The M key */
    M = 77,
    /** The N key */
    N = 78,
    /** The O key */
    O = 79,
    /** The P key */
    P = 80,
    /** The Q key */
    Q = 81,
    /** The R key */
    R = 82,
    /** The S key */
    S = 83,
    /** The T key */
    T = 84,
    /** The U key */
    U = 85,
    /** The V key */
    V = 86,
    /** The W key */
    W = 87,
    /** The X key */
    X = 88,
    /** The Y key */
    Y = 89,
    /** The Z key */
    Z = 90,
    /** The left arrow key */
    Left = 37,
    /** The up arrow key */
    Up = 38,
    /** The right arrow key */
    Right = 39,
    /** The down arrow key */
    Down = 40,
    /** The Escape key */
    Escape = 27,
    /** The Space key */
    Space = 32,
    /** The page up key */
    PageUp = 33,
    /** The Space key */
    PageDown = 34,
    /** The Space key */
    End = 35,
    /** The Space key */
    Home = 36,
    /** The delete key */
    Delete = 46,
    /** The tab key */
    Tab = 9,
    /** The enter key */
    Enter = 13,
    /** The BackSpace key */
    BackSpace = 8,
    /** The F1 key */
    F1 = 112,
    /** The F2 key */
    F2 = 113,
    /** The F3 key */
    F3 = 114,
    /** The F4 key */
    F4 = 115,
    /** The F5 key */
    F5 = 116,
    /** The F6 key */
    F6 = 117,
    /** The F7 key */
    F7 = 118,
    /** The F8 key */
    F8 = 119,
    /** The F9 key */
    F9 = 120,
    /** The F10 key */
    F10 = 121,
    /** The F111 key */
    F11 = 122,
    /** The F12 key */
    F12 = 123,
    /** The Star */
    Star = 56,
    /** The Plus */
    Plus = 187,
    /** The Minus */
    Minus = 189,
    /** The Open Square bracket */
    BracketLeft = 219,
    /** The close Square bracket */
    BracketRight = 221
}
/**
 * Enables/Disables certain actions of diagram
 * * Render - Indicates the diagram is in render state.
 * * PublicMethod - Indicates the diagram public method is in action.
 * * ToolAction - Indicates the diagram Tool is in action.
 * * UndoRedo - Indicates the diagram undo/redo is in action.
 * * TextEdit - Indicates the text editing is in progress.
 * * Group - Indicates the group is in progress.
 * * Clear - Indicates diagram have clear all.
 * * PreventClearSelection - prevents diagram from clear selection
 */
export  enum DiagramAction {
    /** Indicates the diagram is in render state.r */
    Render = 2,
    /** Indicates the diagram public method is in action. */
    PublicMethod = 4,
    /** Indicates the diagram Tool is in action. */
    ToolAction = 8,
    /** Indicates the diagram undo/redo is in action. */
    UndoRedo = 16,
    /** Indicates the text editing is in progress. */
    TextEdit = 32,
    /** Indicates the group is in progress. */
    Group = 64,
    /** Indicates diagram have clear all. */
    Clear = 128,
    /** prevents diagram from clear selection. */
    PreventClearSelection = 256,
    /** Indicates whether drag or rotate tool has been activated */
    Interactions = 512,
    /** Use to prevent the history during some action in diagram */
    PreventHistory = 1024,
    /** Use to prevent the icon while expand a node in diagram */
    PreventIconsUpdate = 2048,
    /** Use to prevent the collection change event while dragging lane from palette and over it in diagram */
    PreventCollectionChangeOnDragOver = 4096,
    /** Use to prevent the z order on dragging the diagram elements */
    PreventZIndexOnDragging = 8192,
    /** Indicates whether group dragging has been activated */
    isGroupDragging = 16384,
    /** Indicates whether drag is initiated by mouse  */
    DragUsingMouse = 32768,
    /** Indicates whether decorator property is changed or not */
    DecoratorPropertyChange = 65536,
    /** Avoid dropping of child nodes into the swim lane */
    PreventLaneContainerUpdate = 131072
}
/** @private */
export  type DiagramHistoryAction = 'AddNodeToLane';
/**
 * Defines the Selector type to be drawn
 * None - Draws Normal selector with resize handles
 * Symbol - Draws only the rectangle for the selector
 */
export  enum RendererAction {
    /** None - Draws Normal selector with resize handles */
    None = 2,
    /** DrawSelectorBorder - Draws only the Border for the selector */
    DrawSelectorBorder = 4,
    /** PreventRenderSelector - Avoid the render of selector during interaction */
    PreventRenderSelector = 8
}
export  enum RealAction {
    None = 0,
    PreventDrag = 2,
    PreventScale = 4,
    PreventDataInit = 8,
    /** Indicates when the diagram is scrolled horizontal using scroll bar */
    hScrollbarMoved = 16,
    /** Indicates when the diagram is scrolled vertical using scroll bar */
    vScrollbarMoved = 32,
    /** Indicates whether animation happens or not  */
    AnimationClick = 64,
    /** Enable the group action */
    EnableGroupAction = 128,
    /** Indicate action in Progress */
    PanInProgress = 256,
    /** Indicate overview action  */
    OverViewAction = 512
}
/** @private */
export  enum ScrollActions {
    None = 0,
    /** Indicates when the scroll properties are changed using property change */
    PropertyChange = 1024,
    /** Indicates when the scroll properties are changed using interaction */
    Interaction = 2048
}
/** @private */
export  enum NoOfSegments {
    Zero = 0,
    One = 1,
    Two = 2,
    Three = 3,
    Four = 4,
    Five = 5
}
/** @private */
export  type SourceTypes = 'HierarchicalData' | 'MindMap';
/**
 * Defines the relative mode of the tooltip
 * Object - sets the tooltip position relative to the node
 * Mouse - sets the tooltip position relative to the mouse
 */
export  type TooltipRelativeMode = 
/** Object - sets the tooltip position relative to the node */
'Object' | 
/** Mouse - sets the tooltip position relative to the mouse */
'Mouse';
/**
 * Collections of icon content shapes.
 * None
 * Minus - sets the icon shape as minus
 * Plus - sets the icon shape as Plus
 * ArrowUp - sets the icon shape as ArrowUp
 * ArrowDown - sets the icon shape as ArrowDown
 * Template - sets the icon shape based on  the given  custom template
 * Path - sets the icon shape based on the given  custom Path
 */
export  type IconShapes = 
/** None - sets the icon shape as None */
'None' | 
/** Minus - sets the icon shape as minus */
'Minus' | 
/** Plus - sets the icon shape as Plus */
'Plus' | 
/** ArrowUp - sets the icon shape as ArrowUp */
'ArrowUp' | 
/** ArrowDown - sets the icon shape as ArrowDown */
'ArrowDown' | 
/** Template - sets the icon shape based on  the given  custom template */
'Template' | 
/** Path - sets the icon shape based on the given  custom Path */
'Path';
/**
 * Defines the collection of sub tree orientations in an organizational chart
 * Vertical - Aligns the child nodes in vertical manner
 * Horizontal - Aligns the child nodes in horizontal manner
 */
export  type SubTreeOrientation = 
/** Horizontal - Aligns the child nodes in horizontal manner */
'Horizontal' | 
/** Vertical - Aligns the child nodes in vertical manner */
'Vertical';
/**
 * Defines the collection of sub tree alignments in an organizational chart
 * Left - Aligns the child nodes at the left of the parent in a horizontal/vertical sub tree
 * Right - Aligns the child nodes at the right of the parent in a horizontal/vertical sub tree
 * Center - Aligns the child nodes at the center of the parent in a horizontal sub tree
 * Alternate - Aligns the child nodes at both left and right sides of the parent in a vertical sub tree
 * Balanced - Aligns the child nodes in multiple rows to balance the width and height of the horizontal sub tree
 */
export  type SubTreeAlignments = 
/** Left - Aligns the child nodes at the left of the parent in a horizontal/vertical sub tree */
'Left' | 
/** Right - Aligns the child nodes at the right of the parent in a horizontal/vertical sub tree */
'Right' | 
/** Center - Aligns the child nodes at the center of the parent in a horizontal sub tree */
'Center' | 
/** Alternate - Aligns the child nodes at both left and right sides of the parent in a vertical sub tree */
'Alternate' | 
/** Balanced - Aligns the child nodes in multiple rows to balance the width and height of the horizontal sub tree */
'Balanced';
/**
 * events of diagram
 *
 * @private
 */
export  enum DiagramEvent {
    'collectionChange' = 0,
    'rotateChange' = 1,
    'positionChange' = 2,
    'propertyChange' = 3,
    'selectionChange' = 4,
    'sizeChange' = 5,
    'drop' = 6,
    'sourcePointChange' = 7,
    'targetPointChange' = 8,
    'connectionChange' = 9,
    'animationComplete' = 10,
    'click' = 11,
    'doubleClick' = 12,
    'scrollChange' = 13,
    'dragEnter' = 14,
    'dragLeave' = 15,
    'dragOver' = 16,
    'textEdit' = 17,
    'paletteSelectionChange' = 18,
    'historyChange' = 19,
    'mouseEnter' = 20,
    'mouseLeave' = 21,
    'mouseOver' = 22,
    'expandStateChange' = 23,
    'segmentCollectionChange' = 24,
    'commandExecute' = 25,
    'historyStateChange' = 26,
    'onUserHandleMouseDown' = 27,
    'onUserHandleMouseUp' = 28,
    'onUserHandleMouseEnter' = 29,
    'onUserHandleMouseLeave' = 30,
    'onImageLoad' = 31,
    'onDoBindingInit' = 32,
    'keyUp' = 33,
    'keyDown' = 34,
    'fixedUserHandleClick' = 35,
    'elementDraw' = 36,
    'mouseWheel' = 37,
    'segmentChange' = 38,
    'onFixedUserHandleMouseDown' = 39,
    'onFixedUserHandleMouseUp' = 40,
    'onFixedUserHandleMouseEnter' = 41,
    'onFixedUserHandleMouseLeave' = 42,
    'loaded' = 43,
    'layoutUpdated' = 44
}
/**
 * @private
 */
export  type HistoryChangeAction = 
/** Node - Defines the history entry type is node */
'CustomAction' | 
/** Connector - Defines the history entry type is Connector */
'Undo' | 
/** Selector - Defines the history entry type is Selector Model */
'Redo';
export  type HistoryEntryType = 
/** Node - Defines the history entry type is node */
'Node' | 
/** Connector - Defines the history entry type is Connector */
'Connector' | 
/** Selector - Defines the history entry type is Selector Model */
'Selector' | 
/** Diagram - Defines the history entry type is Diagram */
'Diagram' | 
/** ShapeAnnotation - Defines the history entry type is ShapeAnnotation Model */
'ShapeAnnotation' | 
/** PathAnnotation - Defines the history entry type is PathAnnotation Model */
'PathAnnotation' | 
/** PortObject - Defines the history entry type is PortObject */
'PortObject' | 
/** Object - Defines the history entry type is Custom Object */
'Object';
/**
 * Defines the zoom type
 * ZoomIn - Zooms in the diagram control
 * ZoomOut - Zooms out the diagram control
 */
export  type ZoomTypes = 
/** ZoomIn - Zooms in the diagram control */
'ZoomIn' | 
/** ZoomOut - Zooms out the diagram control */
'ZoomOut';
/**
 * Defines how the diagram has to fit into view
 * Page - Fits the diagram content within the viewport
 * Width - Fits the width of the diagram content within the viewport
 * Height - Fits the height of the diagram content within the viewport
 */
export  type FitModes = 
/** Page - Fits the diagram content within the viewport */
'Page' | 
/** Width - Fits the width of the diagram content within the viewport */
'Width' | 
/** Height - Fits the height of the diagram content within the viewport */
'Height';
/** Enables/Disables certain features of port connection
 *
 * @aspNumberEnum
 * @IgnoreSingular
 */
export  enum PortConstraints {
    /** Disable all constraints  */
    None = 1,
    /** Enables connections with connector  */
    Drag = 2,
    /** Enables to create the connection when mouse hover on the port  */
    Draw = 4,
    /** Enables to only connect the target end of connector */
    InConnect = 8,
    /** Enables to only connect the source end of connector */
    OutConnect = 16,
    /**Enables or disables the Tooltip  for the ports*/
    ToolTip = 32,
    /** Enables or disables the Tooltip for the ports */
    InheritTooltip = 64,
    /** Enables all constraints */
    Default = 24
}
/**
 * Defines the type of the object
 * Port - Sets the port type as object
 * Annotations - Sets the annotation type as object
 */
export  type ObjectTypes = 
/** Port - Sets the port type as object */
'Port' | 
/** Annotations - Sets the annotation type as object */
'Annotations';
/**
 * Defines the selection change state
 * Interaction - Sets the selection change state as Interaction
 * Commands - Sets the selection change state as Commands
 * Keyboard - Sets the selection change state as Keyboard
 * Unknown - Sets the selection change state as Unknown
 */
export  type SelectionChangeCause = 
/** Interaction - Sets the selection change state as Interaction */
'Interaction' | 
/** Commands - Sets the selection change state as Commands */
'Commands' | 
/** Keyboard - Sets the selection change state as Keyboard */
'Keyboard' | 
/** Unknown - Sets the selection change state as Unknown */
'Unknown';
/**
 * Defines the change state
 * Changing - Sets the event state as Changing
 * Changed - Sets the event state as Changed
 * canceled - Sets the event state as canceled
 */
export  type EventState = 
/** Changing - Sets the event state as Changing */
'Changing' | 
/** Changed - Sets the event state as Changed */
'Changed' | 
/** canceled - Sets the event state as canceled */
'Cancelled';
/**
 * Defines the state of the interactions such as drag, resize and rotate
 * Start - Sets the interaction state as Start
 * Progress - Sets the interaction state as Progress
 * Completed - Sets the interaction state as Completed
 */
export  type State = 
/** Start - Sets the interaction state as Start */
'Start' | 
/** Progress - Sets the interaction state as Progress */
'Progress' | 
/** Completed - Sets the interaction state as Completed */
'Completed';
/**
 * Returns which mouse button is clicked.
 * Left - Whenever the left button of the mouse is clicked, ‘Left’ is returned.
 * Progress - Whenever the mouse wheel is clicked, ‘Middle’ is returned.
 * Completed - Whenever the right button of the mouse is clicked, ‘Right’ is returned.
 */
export  type MouseButtons = 
/** Left - Whenever the left button of the mouse is clicked, ‘Left’ is returned. */
'Left' | 
/** Middle - Whenever the mouse wheel is clicked, ‘Middle’ is returned. */
'Middle' | 
/** Right - Whenever the right button of the mouse is clicked, ‘Right’ is returned. */
'Right';
/**
 * Specifies to add or remove intermediate segment.
 * Add - Specifies to add the intermediate segment at the specified point.
 * Remove - Specifies to remove the intermediate segment at the specified point.
 * Toggle - New segment will be added at the tapped point if there is no segment at that point or existing segment will be deleted
 */
export  type SegmentEditing = 
/** Add - Specifies to add the intermediate segment at the specified point. */
'Add' | 
/** Remove - Specifies to remove the intermediate segment at the specified point. */
'Remove' | 
/**
 * Toggle - Specifies to either add or remove the intermediate segment at the specified point.
 * Note: If there is a segment in the specified point then the existing segment will be removed. Otherwise, it will add a new segment.  */
'Toggle';
/**
 * Defines whether an object is added/removed from diagram
 * Addition - Sets the ChangeType as Addition
 * Removal - Sets the ChangeType as Removal
 */
export  type ChangeType = 
/** Addition - Sets the ChangeType as Addition */
'Addition' | 
/** Removal - Sets the ChangeType as Removal */
'Removal';
/**
 * Defines the accessibility element
 * NodeModel - Sets the accessibility element as NodeModel
 * ConnectorModel - Sets the accessibility element as ConnectorModel
 * PortModel - Sets the accessibility element as PortModel
 * TextElement - Sets the accessibility element as TextElement
 * IconShapeModel - Sets the accessibility element as IconShapeModel
 * DecoratorModel - Sets the accessibility element as DecoratorModel
 */
export  type accessibilityElement = 
/** NodeModel - Sets the accessibility element as NodeModel */
'NodeModel' | 
/** ConnectorModel - Sets the accessibility element as ConnectorModel */
'ConnectorModel' | 
/** PortModel - Sets the accessibility element as PortModel */
'PortModel' | 
/** TextElement - Sets the accessibility element as TextElement */
'TextElement' | 
/** IconShapeModel - Sets the accessibility element as IconShapeModel */
'IconShapeModel' | 
/** DecoratorModel - Sets the accessibility element as DecoratorModel */
'DecoratorModel';
/**
 * Defines the context menu click
 * contextMenuClick - Sets the context menu click as contextMenuClick
 */
export  const contextMenuClick: string;
/**
 * Defines the context menu open
 * contextMenuOpen - Sets the context menu open as contextMenuOpen
 */
export  const contextMenuOpen: string;
/**
 * Defines the context menu Before Item Render
 * contextMenuBeforeItemRender - Sets the context menu open as contextMenuBeforeItemRender
 */
export  const contextMenuBeforeItemRender: string;
/**
 * Detect the status of Crud operation performed in the diagram
 */
export  type Status = 'None' | 'New' | 'Update';
/**
 * Enables/Disables scope of the uml shapes
 * * Public - Indicates the scope is public.
 * * Protected - Indicates the scope is protected.
 * * Private - Indicates the scope is private.
 * * Package - Indicates the scope is package.
 */
export  type UmlScope = 'Public' | 'Protected' | 'Private' | 'Package';
/**
 * Enables/Disables shape of the uml classifier shapes
 * * Package - Indicates the scope is public.
 * * Class - Indicates the scope is protected.
 * * Interface - Indicates the scope is private.
 * * Enumeration - Indicates the scope is package.
 * * CollapsedPackage - Indicates the scope is public.
 * * Inheritance - Indicates the scope is protected.
 * * Association - Indicates the scope is private.
 * * Aggregation - Indicates the scope is package.
 * * Composition - Indicates the scope is public.
 * * Realization - Indicates the scope is protected.
 * * DirectedAssociation - Indicates the scope is private.
 * * Dependency - Indicates the scope is package.
 */
export  type ClassifierShape = 'Aggregation' | 'Class' | 'Interface' | 'Enumeration' | 'Inheritance' | 'Association' | 'Composition' | 'Realization' | 'Dependency';
/**
 * Defines the direction the uml connectors
 * * Default - Indicates the direction is Default.
 * * Directional - Indicates the direction is single Directional.
 * * BiDirectional - Indicates the direction is BiDirectional.
 */
export  type AssociationFlow = 'Directional' | 'Default' | 'BiDirectional';
/**
 * Define the Multiplicity of uml connector shapes
 * * OneToOne - Indicates the connector multiplicity is OneToOne.
 * * OneToMany - Indicates the connector multiplicity is OneToMany.
 * * ManyToOne - Indicates the connector multiplicity is ManyToOne.
 * * ManyToMany - Indicates the connector multiplicity is ManyToMany.
 */
export  type Multiplicity = 'OneToOne' | 'OneToMany' | 'ManyToOne' | 'ManyToMany';
/**
 * Defines the visibility of the control points in the Bezier connector
 */
export  enum ControlPointsVisibility {
    /** None - Hides all the control points of the Bezier connector*/
    None = 1,
    /** Source - Shows the source control point*/
    Source = 2,
    /** Target - Shows the target control point*/
    Target = 4,
    /** Intermediate - Shows the intermediate control points*/
    Intermediate = 8,
    /** All - Shows all the control points of the Bezier connector*/
    All = 14
}
/**
 * Defines the editing mode of the intermediate point of two bezier curve
 */
export  type BezierSegmentEditOrientation = 
/** BiDirectional - Allows the intermediate points to be dragged either vertical or horizontal direction only */
'BiDirectional' | 
/** FreeForm - Allows the intermediate points to be dragged in any direction */
'FreeForm';
export  enum BezierSmoothness {
    /** Disable all smoothness Constraints. */
    None = 0,
    /** Enables the  SymmetricAngle for a bezier segment to the angle between the control point as same. */
    SymmetricAngle = 2,
    /** Enables the SymmetricDistance for bezier segment to the distance between the control point as same. */
    SymmetricDistance = 4,
    /** Enables the symmetric for bezier segment to the distance and angle between the control point as same. */
    Default = 6
}
/**
 * Specifies the direction for text annotation.
 * * Auto - Specifies the direction as auto to switch the direction based on the connector position.
 * * Left - Specifies the direction as left when the absolute angle as 180 degree.
 * * Right - Specifies the direction as right when the absolute angle as 0 degree.
 * * Top - Specifies the direction as top when the absolute angle as 270 degree or -90 degree.
 * * Bottom - Specifies the direction as bottom when the absolute angle as 90 degree.
 */
export  type TextAnnotationDirection = 
/** Auto - Specifies the direction as auto to switch the direction based on the connector position. */
'Auto' | 
/** Left - Specifies the direction as left when the absolute angle as 180 degree. */
'Left' | 
/** Right - Specifies the direction as right when the absolute angle as 0 degree. */
'Right' | 
/** Top - Specifies the direction as top when the absolute angle as 270 degree or -90 degree. */
'Top' | 
/** Bottom - Specifies the direction as bottom when the absolute angle as 90 degree. */
'Bottom';
/**
 * Defines the rotating mode of the annotation.
 * * Page - Annotation remains fixed relative to the entire page, regardless of parent node rotation.
 * * Parent - Annotation maintains its relative angle to the parent node during rotation.
 */
export  type RotationReference = 
/**Page - Annotation remains fixed relative to the entire page, regardless of parent node rotation.  */
'Page' | 
/**parent - Annotation maintains its relative angle to the parent node during rotation. */
'Parent';
//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/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/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/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/page-settings.d.ts
/**
 * Defines the size and appearance of the diagram page
 */
export  class Background extends base.ChildProperty<Background> {
    /**
     * Defines the source of the background image
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let background: BackgroundModel = { source: 'https://www.w3schools.com/images/w3schools_green.jpg',
     * scale: 'Slice', align: 'XMinYMin' };
     * let diagram$: Diagram = new Diagram({
     * ...
     * pageSettings: {  width: 800, height: 600, orientation: 'Landscape',
     * background: background },
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @default ''
     */
    source: string;
    /**
     * Defines the background color of diagram
     *
     * @default 'transparent'
     */
    color: string;
    /**
     * Defines how the background image should be scaled/stretched
     * * None - Scale value will be set as None for the image
     * * Meet - Scale value Meet will be set for the image
     * * Slice - Scale value Slice will be set for the image
     *
     * @default 'None'
     */
    scale: Scale;
    /**
     * Defines how to align the background image over the diagram area.
     * * None - Alignment value will be set as none
     * * XMinYMin - smallest X value of the view port and  smallest Y value of the view port
     * * XMidYMin - midpoint X value of the view port and  smallest Y value of the view port
     * * XMaxYMin - maximum X value of the view port and  smallest Y value of the view port
     * * XMinYMid - smallest X value of the view port and midpoint Y value of the view port
     * * XMidYMid - midpoint X value of the view port and midpoint Y value of the view port
     * * XMaxYMid - maximum X value of the view port and midpoint Y value of the view port
     * * XMinYMax - smallest X value of the view port and maximum Y value of the view port
     * * XMidYMax - midpoint X value of the view port and maximum Y value of the view port
     * * XMaxYMax - maximum X value of the view port and maximum Y value of the view port
     *
     * @default 'None'
     */
    align: ImageAlignment;
}
export  class FitOptions extends base.ChildProperty<FitOptions> {
    /**
     * Defines whether the diagram has to be horizontally/vertically fit into the viewport
     *
     * @default 'Page'
     */
    mode: FitModes;
    /**
     * Defines the region that has to be fit into the viewport
     *
     * @default 'PageSettings'
     */
    region: DiagramRegions;
    /**
     * Defines the space to be left between the viewport and the content
     *
     *  @default { left: 25, right: 25, top: 25, bottom: 25 }
     */
    margin: MarginModel;
    /**
     * Enables/Disables zooming to fit the smaller content into larger viewport
     * @default false
     */
    canZoomIn: boolean;
    /**
     * Defines the custom region that has to be fit into the viewport
     *
     * @default undefined
     */
    customBounds: Rect;
    /**
     * Enables/Disables  fit while render
     *
     * @default false
     */
    canFit: boolean;
}
/**
 * Defines the size and appearance of diagram page
 * ```html
 * <div id='diagram'></div>
 * ```
 * ```typescript
 * let diagram$: Diagram = new Diagram({
 * ...
 * pageSettings: {  width: 800, height: 600, orientation: 'Landscape',
 * background: { color: 'blue' }, boundaryConstraints: 'Infinity',
 * multiplePage: true, showPageBreaks: true, },
 * ...
 * });
 * diagram.appendTo('#diagram');
 * ```
 *
 * @default {}
 */
export  class PageSettings extends base.ChildProperty<PageSettings> {
    /**
     * Sets the width of a diagram Page
     *
     * @default null
     */
    width: number;
    /**
     * Sets the height of a diagram Page
     *
     * @default null
     */
    height: number;
    /**
     * Sets the margin of a diagram page
     *
     * @default new Margin(0,0,0,0)
     */
    margin: MarginModel;
    /**
     * Sets the orientation of the pages in a diagram
     *  * Landscape - Display with page Width is more than the page Height.
     *  * Portrait - Display with page Height is more than the page width.
     *
     * @default 'Landscape'
     */
    orientation: PageOrientation;
    /**
     * Defines the editable region of the diagram
     * * Infinity - Allow the interactions to take place at the infinite height and width
     * * Diagram - Allow the interactions to take place around the diagram height and width
     * * Page - Allow the interactions to take place around the page height and width
     *
     * @default 'Infinity'
     */
    boundaryConstraints: BoundaryConstraints;
    /**
     * Defines the background color and image of diagram
     *
     * @default 'transparent'
     */
    background: BackgroundModel;
    /**
     * Sets whether multiple pages can be created to fit all nodes and connectors
     *
     * @default false
     */
    multiplePage: boolean;
    /**
     * Enables or disables the page break lines
     *
     * @default false
     */
    showPageBreaks: boolean;
    /**
     * set the fit options
     *
     * @default new FitOptions()
     * @aspType object
     */
    fitOptions: FitOptionsModel;
}
/**
 * Diagram ScrollSettings module handles the scroller properties of the diagram
 */
export  class ScrollSettings extends base.ChildProperty<ScrollSettings> {
    /**
     * Defines horizontal offset of the scroller
     *
     * @default 0
     */
    horizontalOffset: number;
    /**
     * Defines vertical offset of the scroller
     *
     * @default 0
     */
    verticalOffset: number;
    /**
     * Defines the currentZoom value of diagram
     *
     * @default 1
     */
    currentZoom: number;
    /**
     * Allows to read the viewport width of the diagram
     *
     * @default 0
     */
    viewPortWidth: number;
    /**
     * Allows to read the viewport height of the diagram
     *
     * @default 0
     */
    viewPortHeight: number;
    /**
     * Defines the minimum zoom value of the diagram
     *
     * @default 0.2
     */
    minZoom: number;
    /**
     * Defines the maximum zoom value of the scroller
     *
     * @default 30
     */
    maxZoom: number;
    /**
     * Defines the scrollable region of diagram.
     * * Diagram - Enables scrolling to view the diagram content
     * * Infinity - Diagram will be extended, when we try to scroll the diagram
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let diagram$: Diagram = new Diagram({
     * ...
     *     scrollSettings: { canAutoScroll: true, scrollLimit: 'Infinity',
     *        scrollableArea : new Rect(0, 0, 300, 300), horizontalOffset : 0
     *                     },
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @default 'Diagram'
     */
    scrollLimit: ScrollLimit;
    /**
     * Defines the scrollable area of diagram. Applicable, if the scroll limit is “limited”.
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    scrollableArea: Rect;
    /**
     * Enables or Disables the auto scroll option
     *
     * @default false
     */
    canAutoScroll: boolean;
    /**
     * Specifies the interval (in milliseconds) between scroll triggers.
     *
     * @default 100
     */
    autoScrollFrequency: number;
    /**
     * Defines the maximum distance to be left between the object and the scroll bar to trigger auto scrolling
     *
     * @default { left: 15, right: 15, top: 15, bottom: 15 }
     */
    autoScrollBorder: MarginModel;
    /**
     * Defines the maximum distance to be left between the object and the edge of the page.
     *
     * @default { left: 0, right: 0, top: 0, bottom: 0 }
     */
    padding: MarginModel;
    /**
     * Specifies the percentage of scale value for each ZoomIn or ZoomOut functionality.
     *
     * @default 0.2
     */
    zoomFactor: number;
}
//node_modules/@syncfusion/ej2-diagrams/src/diagram/diagram/page-settings-model.d.ts
/**
 * Interface for a class Background
 */
export interface BackgroundModel {
    /**
     * Defines the source of the background image
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let background$: BackgroundModel = { source: 'https://www.w3schools.com/images/w3schools_green.jpg',
     * scale: 'Slice', align: 'XMinYMin' };
     * let diagram$: Diagram = new Diagram({
     * ...
     * pageSettings: {  width: 800, height: 600, orientation: 'Landscape',
     * background: background },
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @default ''
     */
    source?: string;
    /**
     * Defines the background color of diagram
     *
     * @default 'transparent'
     */
    color?: string;
    /**
     * Defines how the background image should be scaled/stretched
     * * None - Scale value will be set as None for the image
     * * Meet - Scale value Meet will be set for the image
     * * Slice - Scale value Slice will be set for the image
     *
     * @default 'None'
     */
    scale?: Scale;
    /**
     * Defines how to align the background image over the diagram area.
     * * None - Alignment value will be set as none
     * * XMinYMin - smallest X value of the view port and  smallest Y value of the view port
     * * XMidYMin - midpoint X value of the view port and  smallest Y value of the view port
     * * XMaxYMin - maximum X value of the view port and  smallest Y value of the view port
     * * XMinYMid - smallest X value of the view port and midpoint Y value of the view port
     * * XMidYMid - midpoint X value of the view port and midpoint Y value of the view port
     * * XMaxYMid - maximum X value of the view port and midpoint Y value of the view port
     * * XMinYMax - smallest X value of the view port and maximum Y value of the view port
     * * XMidYMax - midpoint X value of the view port and maximum Y value of the view port
     * * XMaxYMax - maximum X value of the view port and maximum Y value of the view port
     *
     * @default 'None'
     */
    align?: ImageAlignment;
}
/**
 * Interface for a class FitOptions
 */
export interface FitOptionsModel {
    /**
     * Defines whether the diagram has to be horizontally/vertically fit into the viewport
     *
     * @default 'Page'
     */
    mode?: FitModes;
    /**
     * Defines the region that has to be fit into the viewport
     *
     * @default 'PageSettings'
     */
    region?: DiagramRegions;
    /**
     * Defines the space to be left between the viewport and the content
     *
     *  @default { left: 25, right: 25, top: 25, bottom: 25 }
     */
    margin?: MarginModel;
    /**
     * Enables/Disables zooming to fit the smaller content into larger viewport
     * @default false
     */
    canZoomIn?: boolean;
    /**
     * Defines the custom region that has to be fit into the viewport
     *
     * @default undefined
     */
    customBounds?: Rect;
    /**
     * Enables/Disables  fit while render
     *
     * @default false
     */
    canFit?: boolean;
}
/**
 * Interface for a class PageSettings
 */
export interface PageSettingsModel {
    /**
     * Sets the width of a diagram Page
     *
     * @default null
     */
    width?: number;
    /**
     * Sets the height of a diagram Page
     *
     * @default null
     */
    height?: number;
    /**
     * Sets the margin of a diagram page
     *
     * @default new Margin(0,0,0,0)
     */
    margin?: MarginModel;
    /**
     * Sets the orientation of the pages in a diagram
     *  * Landscape - Display with page Width is more than the page Height.
     *  * Portrait - Display with page Height is more than the page width.
     *
     * @default 'Landscape'
     */
    orientation?: PageOrientation;
    /**
     * Defines the editable region of the diagram
     * * Infinity - Allow the interactions to take place at the infinite height and width
     * * Diagram - Allow the interactions to take place around the diagram height and width
     * * Page - Allow the interactions to take place around the page height and width
     *
     * @default 'Infinity'
     */
    boundaryConstraints?: BoundaryConstraints;
    /**
     * Defines the background color and image of diagram
     *
     * @default 'transparent'
     */
    background?: BackgroundModel;
    /**
     * Sets whether multiple pages can be created to fit all nodes and connectors
     *
     * @default false
     */
    multiplePage?: boolean;
    /**
     * Enables or disables the page break lines
     *
     * @default false
     */
    showPageBreaks?: boolean;
    /**
     * set the fit options
     *
     * @default new FitOptions()
     * @aspType object
     */
    fitOptions?: FitOptionsModel;
}
/**
 * Interface for a class ScrollSettings
 */
export interface ScrollSettingsModel {
    /**
     * Defines horizontal offset of the scroller
     *
     * @default 0
     */
    horizontalOffset?: number;
    /**
     * Defines vertical offset of the scroller
     *
     * @default 0
     */
    verticalOffset?: number;
    /**
     * Defines the currentZoom value of diagram
     *
     * @default 1
     */
    currentZoom?: number;
    /**
     * Allows to read the viewport width of the diagram
     *
     * @default 0
     */
    viewPortWidth?: number;
    /**
     * Allows to read the viewport height of the diagram
     *
     * @default 0
     */
    viewPortHeight?: number;
    /**
     * Defines the minimum zoom value of the diagram
     *
     * @default 0.2
     */
    minZoom?: number;
    /**
     * Defines the maximum zoom value of the scroller
     *
     * @default 30
     */
    maxZoom?: number;
    /**
     * Defines the scrollable region of diagram.
     * * Diagram - Enables scrolling to view the diagram content
     * * Infinity - Diagram will be extended, when we try to scroll the diagram
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let diagram$: Diagram = new Diagram({
     * ...
     *     scrollSettings: { canAutoScroll: true, scrollLimit: 'Infinity',
     *        scrollableArea : new Rect(0, 0, 300, 300), horizontalOffset : 0
     *                     },
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @default 'Diagram'
     */
    scrollLimit?: ScrollLimit;
    /**
     * Defines the scrollable area of diagram. Applicable, if the scroll limit is “limited”.
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    scrollableArea?: Rect;
    /**
     * Enables or Disables the auto scroll option
     *
     * @default false
     */
    canAutoScroll?: boolean;
    /**
     * Specifies the interval (in milliseconds) between scroll triggers.
     *
     * @default 100
     */
    autoScrollFrequency?: number;
    /**
     * Defines the maximum distance to be left between the object and the scroll bar to trigger auto scrolling
     *
     * @default { left: 15, right: 15, top: 15, bottom: 15 }
     */
    autoScrollBorder?: MarginModel;
    /**
     * Defines the maximum distance to be left between the object and the edge of the page.
     *
     * @default { left: 0, right: 0, top: 0, bottom: 0 }
     */
    padding?: MarginModel;
    /**
     * Specifies the percentage of scale value for each ZoomIn or ZoomOut functionality.
     *
     * @default 0.2
     */
    zoomFactor?: number;
}
//node_modules/@syncfusion/ej2-diagrams/src/diagram/diagram/layoutinfo.d.ts
/**
 * A collection of JSON objects where each object represents a layer.
 * Layer is a named category of diagram shapes.
 */
export  class LayoutInfo extends base.ChildProperty<LayoutInfo> {
    /**
     * Defines the orientation of the layout
     *
     * @default'Horizontal'
     */
    orientation: navigations.Orientation;
    /**
     * Defines the type for the subtree
     *
     * @default'Center'
     * @blazorDefaultValue 'Center'
     * @isEnumeration true
     */
    type: SubTreeAlignments;
    /**
     * Defines the offset value
     *
     * @default undefined
     */
    offset: number;
    /**
     * Defines the routing for the layout
     *
     * @default false
     */
    enableRouting: boolean;
    /**
     * Defines the children for the layout
     *
     * @default []
     */
    children: string[];
    /**
     * Defines assistant for the layout
     *
     * @default ''
     * @aspDefaultValueIgnore
     * @isBlazorNullableType true
     */
    assistants: navigations.Orientation;
    /**
     * Defines the level for the layout
     *
     */
    level: number;
    /**
     * Defines the subtree for the layout
     *
     */
    hasSubTree: boolean;
    /**
     * Defines the row for the layout
     *
     */
    rows: number;
}
//node_modules/@syncfusion/ej2-diagrams/src/diagram/diagram/layoutinfo-model.d.ts
/**
 * Interface for a class LayoutInfo
 */
export interface LayoutInfoModel {
    /**
     * Defines the orientation of the layout
     *
     * @default'Horizontal'
     */
    orientation?: navigations.Orientation;
    /**
     * Defines the type for the subtree
     *
     * @default'Center'
     * @blazorDefaultValue 'Center'
     * @isEnumeration true
     */
    type?: SubTreeAlignments;
    /**
     * Defines the offset value
     *
     * @default undefined
     */
    offset?: number;
    /**
     * Defines the routing for the layout
     *
     * @default false
     */
    enableRouting?: boolean;
    /**
     * Defines the children for the layout
     *
     * @default []
     */
    children?: string[];
    /**
     * Defines assistant for the layout
     *
     * @default ''
     * @aspDefaultValueIgnore
     * @isBlazorNullableType true
     */
    assistants?: navigations.Orientation;
    /**
     * Defines the level for the layout
     *
     */
    level?: number;
    /**
     * Defines the subtree for the layout
     *
     */
    hasSubTree?: boolean;
    /**
     * Defines the row for the layout
     *
     */
    rows?: number;
}
//node_modules/@syncfusion/ej2-diagrams/src/diagram/diagram/layer.d.ts
/**
 * A collection of JSON objects where each object represents a layer.
 * Layer is a named category of diagram shapes.
 */
export  class Layer extends base.ChildProperty<Layer> {
    /**
     * Defines the id of a diagram layer
     *
     * @default ''
     */
    id: string;
    /**
     * Enables or disables the visibility of objects in a particular layer
     *
     * @default true
     */
    visible: boolean;
    /**
     * Enables or disables editing objects in a particular layer
     *
     * @default false
     */
    lock: boolean;
    /**
     * Defines the collection of the objects that are added to a particular layer
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    objects: string[];
    /**
     * Defines the description of the layer
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let nodes$: NodeModel[] = [{
     *           id: 'node1', width: 100, height: 100, offsetX: 100, offsetY: 100,
     *           annotations: [{ content: 'Default Shape' }]
     *       },
     *       {
     *           id: 'node2', width: 100, height: 100, offsetX: 300, offsetY: 100,
     *           shape: {
     *               type: 'Basic', shape: 'Ellipse'
     *           },
     *           annotations: [{ content: 'Path Element' }]
     *       }
     *       ];
     *       let connectors$: ConnectorModel[] = [{
     *           id: 'connector1',
     *           type: 'Straight',
     *           sourcePoint: { x: 100, y: 300 },
     *           targetPoint: { x: 200, y: 400 },
     *       }];
     * let diagram$: Diagram = new Diagram({
     * ...
     *       connectors: connectors, nodes: nodes,
     *       layers: [{ id: 'layer1', visible: true, objects: ['node1', 'node2', 'connector1'] }],
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    addInfo: Object;
    /**
     * Defines the zOrder of the layer
     *
     * @default -1
     */
    zIndex: number;
    /**  @private   */
    objectZIndex: number;
    /**   @private  */
    zIndexTable: {};
    constructor(parent: any, propName: string, defaultValue: Object, isArray?: boolean);
}
//node_modules/@syncfusion/ej2-diagrams/src/diagram/diagram/layer-model.d.ts
/**
 * Interface for a class Layer
 */
export interface LayerModel {
    /**
     * Defines the id of a diagram layer
     *
     * @default ''
     */
    id?: string;
    /**
     * Enables or disables the visibility of objects in a particular layer
     *
     * @default true
     */
    visible?: boolean;
    /**
     * Enables or disables editing objects in a particular layer
     *
     * @default false
     */
    lock?: boolean;
    /**
     * Defines the collection of the objects that are added to a particular layer
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    objects?: string[];
    /**
     * Defines the description of the layer
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let nodes$: NodeModel[] = [{
     *           id: 'node1', width: 100, height: 100, offsetX: 100, offsetY: 100,
     *           annotations: [{ content: 'Default Shape' }]
     *       },
     *       {
     *           id: 'node2', width: 100, height: 100, offsetX: 300, offsetY: 100,
     *           shape: {
     *               type: 'Basic', shape: 'Ellipse'
     *           },
     *           annotations: [{ content: 'Path Element' }]
     *       }
     *       ];
     *       let connectors$: ConnectorModel[] = [{
     *           id: 'connector1',
     *           type: 'Straight',
     *           sourcePoint: { x: 100, y: 300 },
     *           targetPoint: { x: 200, y: 400 },
     *       }];
     * let diagram$: Diagram = new Diagram({
     * ...
     *       connectors: connectors, nodes: nodes,
     *       layers: [{ id: 'layer1', visible: true, objects: ['node1', 'node2', 'connector1'] }],
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    addInfo?: Object;
    /**
     * Defines the zOrder of the layer
     *
     * @default -1
     */
    zIndex?: number;
}
//node_modules/@syncfusion/ej2-diagrams/src/diagram/diagram/keyboard-commands.d.ts
/**
 * Defines the combination of keys and modifier keys
 */
export  class KeyGesture extends base.ChildProperty<KeyGesture> {
    /**
     * Sets the key value, on recognition of which the command will be executed.
     * * none - no key
     * * Number0 = The 0 key
     * * Number1 = The 1 key
     * * Number2 = The 2 key
     * * Number3 = The 3 key
     * * Number4 = The 4 key
     * * Number5 = The 5 key
     * * Number6 = The 6 key
     * * Number7 = The 7 key
     * * Number8 = The 8 key
     * * Number9 = The 9 key
     * * Number0 = The 0 key
     * * BackSpace = The BackSpace key
     * * F1 = The f1 key
     * * F2 = The f2 key
     * * F3 = The f3 key
     * * F4 = The f4 key
     * * F5 = The f5 key
     * * F6 = The f6 key
     * * F7 = The f7 key
     * * F8 = The f8 key
     * * F9 = The f9 key
     * * F10 = The f10 key
     * * F11 = The f11 key
     * * F12 = The f12 key
     * * A = The a key
     * * B = The b key
     * * C = The c key
     * * D = The d key
     * * E = The e key
     * * F = The f key
     * * G = The g key
     * * H = The h key
     * * I = The i key
     * * J = The j key
     * * K = The k key
     * * L = The l key
     * * M = The m key
     * * N = The n key
     * * O = The o key
     * * P = The p key
     * * Q = The q key
     * * R = The r key
     * * S = The s key
     * * T = The t key
     * * U = The u key
     * * V = The v key
     * * W = The w key
     * * X = The x key
     * * Y = The y key
     * * Z = The z key
     * * Left = The left key
     * * Right = The right key
     * * Top = The top key
     * * Bottom = The bottom key
     * * Escape = The Escape key
     * * Tab = The tab key
     * * Delete = The delete key
     * * Enter = The enter key
     * * The Space key
     * * The page up key
     * * The page down key
     * * The end key
     * * The home key
     * * The Minus
     * * The Plus
     * * The Star
     *
     * @aspDefaultValueIgnore
     * @aspNumberEnum
     * @default undefined
     */
    key: Keys;
    /**
     * Sets a combination of key modifiers, on recognition of which the command will be executed.
     * * None - no modifiers are pressed
     * * Control - ctrl key
     * * Meta - meta key im mac
     * * Alt - alt key
     * * Shift - shift key
     *
     * @aspDefaultValueIgnore
     * @aspNumberEnum
     * @default undefined
     */
    keyModifiers: KeyModifiers;
}
/**
 * Defines a command and a key gesture to define when the command should be executed
 */
export  class Command extends base.ChildProperty<Command> {
    /**
     * Defines the name of the command
     *
     * @default ''
     */
    name: string;
    /**
     * Check the command is executable at the moment or not
     *
     * @aspDefaultValueIgnore
     * @default undefined
     * @deprecated
     */
    canExecute: Function | string;
    /**
     * Defines what to be executed when the key combination is recognized
     *
     * @aspDefaultValueIgnore
     * @default undefined
     * @deprecated
     */
    execute: Function | string;
    /**
     * Defines a combination of keys and key modifiers, on recognition of which the command will be executed
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let node: NodeModel;
     * node = {
     * ...
     * id: 'node', width: 100, height: 100, offsetX: 100, offsetY: 100,
     * annotations : [{ content: 'text' }];
     * ...
     * };
     *
     * let diagram$: Diagram = new Diagram({
     * ...
     * nodes:[node],
     * commandManager:{
     * commands:[{
     * name:'customCopy',
     * parameter : 'node',
     * canExecute:function(){
     * if(diagram.selectedItems.nodes.length>0 || diagram.selectedItems.connectors.length>0){
     *               return true;
     *           }
     *           return false;
     * },
     * execute:function(){
     * for(let i=0;
 i<diagram.selectedItems.nodes.length;
 i++){
     *               diagram.selectedItems.nodes[i].style.fill = 'red';
     *           }
     *           diagram.dataBind();
     * },
     * gesture:{
     * key:Keys.G, keyModifiers:KeyModifiers.Shift | KeyModifiers.Alt
     * }
     * }]
     * },
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @default {}
     */
    gesture: KeyGestureModel;
    /**
     * Defines any additional parameters that are required at runtime
     *
     * @default ''
     */
    parameter: string;
    /**
     *
     * Returns the name of class Command
     *
     * @returns {string}  Returns the name of class Command
     * @private
     */
    getClassName(): string;
}
/**
 * Defines the collection of commands and the corresponding key gestures
 *
 */
export  class CommandManager extends base.ChildProperty<CommandManager> {
    /**
     * Stores the multiple command names with the corresponding command objects
     * @default []
     */
    commands: CommandModel[];
}
/**
 * Defines the behavior of the context menu items
 */
export  class ContextMenuSettings extends base.ChildProperty<ContextMenuSettings> {
    /**
     * Enables/Disables the context menu items
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    show: boolean;
    /**
     * Shows only the custom context menu items
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    showCustomMenuOnly: boolean;
    /**
     * Defines the custom context menu items
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let diagram$: Diagram = new Diagram({
     * ...
     *   contextMenuSettings: {   show: true, items: [{
     * text: 'delete', id: 'delete', target: '.e-diagramcontent', iconCss: 'e-copy'
     * }],
     * showCustomMenuOnly: false,
     * },
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    items: ContextMenuItemModel[];
}
//node_modules/@syncfusion/ej2-diagrams/src/diagram/diagram/keyboard-commands-model.d.ts
/**
 * Interface for a class KeyGesture
 */
export interface KeyGestureModel {
    /**
     * Sets the key value, on recognition of which the command will be executed.
     * * none - no key
     * * Number0 = The 0 key
     * * Number1 = The 1 key
     * * Number2 = The 2 key
     * * Number3 = The 3 key
     * * Number4 = The 4 key
     * * Number5 = The 5 key
     * * Number6 = The 6 key
     * * Number7 = The 7 key
     * * Number8 = The 8 key
     * * Number9 = The 9 key
     * * Number0 = The 0 key
     * * BackSpace = The BackSpace key
     * * F1 = The f1 key
     * * F2 = The f2 key
     * * F3 = The f3 key
     * * F4 = The f4 key
     * * F5 = The f5 key
     * * F6 = The f6 key
     * * F7 = The f7 key
     * * F8 = The f8 key
     * * F9 = The f9 key
     * * F10 = The f10 key
     * * F11 = The f11 key
     * * F12 = The f12 key
     * * A = The a key
     * * B = The b key
     * * C = The c key
     * * D = The d key
     * * E = The e key
     * * F = The f key
     * * G = The g key
     * * H = The h key
     * * I = The i key
     * * J = The j key
     * * K = The k key
     * * L = The l key
     * * M = The m key
     * * N = The n key
     * * O = The o key
     * * P = The p key
     * * Q = The q key
     * * R = The r key
     * * S = The s key
     * * T = The t key
     * * U = The u key
     * * V = The v key
     * * W = The w key
     * * X = The x key
     * * Y = The y key
     * * Z = The z key
     * * Left = The left key
     * * Right = The right key
     * * Top = The top key
     * * Bottom = The bottom key
     * * Escape = The Escape key
     * * Tab = The tab key
     * * Delete = The delete key
     * * Enter = The enter key
     * * The Space key
     * * The page up key
     * * The page down key
     * * The end key
     * * The home key
     * * The Minus
     * * The Plus
     * * The Star
     *
     * @aspDefaultValueIgnore
     * @aspNumberEnum
     * @default undefined
     */
    key?: Keys;
    /**
     * Sets a combination of key modifiers, on recognition of which the command will be executed.
     * * None - no modifiers are pressed
     * * Control - ctrl key
     * * Meta - meta key im mac
     * * Alt - alt key
     * * Shift - shift key
     *
     * @aspDefaultValueIgnore
     * @aspNumberEnum
     * @default undefined
     */
    keyModifiers?: KeyModifiers;
}
/**
 * Interface for a class Command
 */
export interface CommandModel {
    /**
     * Defines the name of the command
     *
     * @default ''
     */
    name?: string;
    /**
     * Check the command is executable at the moment or not
     *
     * @aspDefaultValueIgnore
     * @default undefined
     * @deprecated
     */
    canExecute?: Function | string;
    /**
     * Defines what to be executed when the key combination is recognized
     *
     * @aspDefaultValueIgnore
     * @default undefined
     * @deprecated
     */
    execute?: Function | string;
    /**
     * Defines a combination of keys and key modifiers, on recognition of which the command will be executed
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let node$: NodeModel;
     * node = {
     * ...
     * id: 'node', width: 100, height: 100, offsetX: 100, offsetY: 100,
     * annotations : [{ content: 'text' }];
     * ...
     * };
     *
     * let diagram$: Diagram = new Diagram({
     * ...
     * nodes:[node],
     * commandManager:{
     * commands:[{
     * name:'customCopy',
     * parameter : 'node',
     * canExecute:function(){
     * if(diagram.selectedItems.nodes.length>0 || diagram.selectedItems.connectors.length>0){
     *               return true;
     *           }
     *           return false;
     * },
     * execute:function(){
     *$ for(let i=0;
 i<diagram.selectedItems.nodes.length;
 i++){
     *               diagram.selectedItems.nodes[i].style.fill = 'red';
     *           }
     *           diagram.dataBind();
     * },
     * gesture:{
     * key:Keys.G, keyModifiers:KeyModifiers.Shift | KeyModifiers.Alt
     * }
     * }]
     * },
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @default {}
     */
    gesture?: KeyGestureModel;
    /**
     * Defines any additional parameters that are required at runtime
     *
     * @default ''
     */
    parameter?: string;
}
/**
 * Interface for a class CommandManager
 */
export interface CommandManagerModel {
    /**
     * Stores the multiple command names with the corresponding command objects
     * @default []
     */
    commands?: CommandModel[];
}
/**
 * Interface for a class ContextMenuSettings
 */
export interface ContextMenuSettingsModel {
    /**
     * Enables/Disables the context menu items
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    show?: boolean;
    /**
     * Shows only the custom context menu items
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    showCustomMenuOnly?: boolean;
    /**
     * Defines the custom context menu items
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let diagram$: Diagram = new Diagram({
     * ...
     *   contextMenuSettings: {   show: true, items: [{
     * text: 'delete', id: 'delete', target: '.e-diagramcontent', iconCss: 'e-copy'
     * }],
     * showCustomMenuOnly: false,
     * },
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    items?: ContextMenuItemModel[];
}
//node_modules/@syncfusion/ej2-diagrams/src/diagram/diagram/history.d.ts
/**
 * Interface for a class HistoryEntry
 */
export interface HistoryEntry {
    /**
     * Sets the type of the entry to be stored
     */
    type?: EntryType;
    /**
     * Sets the changed values to be stored
     */
    redoObject?: NodeModel | ConnectorModel | SelectorModel | DiagramModel;
    /**
     * Sets the changed values to be stored
     */
    undoObject?: NodeModel | ConnectorModel | SelectorModel | DiagramModel | ShapeAnnotation | PathAnnotation | PointPortModel;
    /**
     * Sets the changed values to be stored in table
     */
    childTable?: {};
    /**
     * Sets the category for the entry
     */
    category?: EntryCategory;
    /**
     * Sets the next the current object
     */
    next?: HistoryEntry;
    /**
     * Sets the previous of the current object
     */
    previous?: HistoryEntry;
    /**
     * Sets the type of the object is added or remove
     */
    changeType?: EntryChangeType;
    /**
     * Set the value for undo action is activated
     */
    isUndo?: boolean;
    /**
     * Used to stored the entry or not
     */
    cancel?: boolean;
    /**
     * Used to stored the which annotation or port to be changed
     */
    objectId?: string;
    /**
     * Used to indicate last phase to be changed.
     */
    isLastPhase?: boolean;
    /**
     * Used to stored the previous phase.
     */
    previousPhase?: PhaseModel;
    /**
     * Used to stored the added node cause.
     *
     * @blazorType object
     */
    historyAction?: DiagramHistoryAction;
    /**
     * Used to define the object type that is to be added into the entry.
     */
    blazorHistoryEntryType?: HistoryEntryType
}
export interface History {
    /**
     * set the history entry can be undo
     */
    canUndo?: boolean;
    /**
     * Set the history entry can be redo
     */
    canRedo?: boolean;
    /**
     *  Set the current entry object
     */
    currentEntry?: HistoryEntry;
    /**
     * Stores a history entry to history list
     */
    push?: Function;
    /**
     * Used for custom undo option
     */
    undo?: Function;
    /**
     * Used for custom redo option
     */
    redo?: Function;
    /**
     * Used to intimate the group action is start
     */
    startGroupAction?: Function;
    /**
     * Used to intimate the group action is end
     */
    endGroupAction?: Function;
    /**
     * Used to decide to stored the changes to history
     */
    canLog?: Function;
    /**
     * Used to store the undoStack
     */
    undoStack?: HistoryEntry[];
    /**
     * Used to store the redostack
     */
    redoStack?: HistoryEntry[];
    /**
     * Used to restrict or limits the number of history entry will be stored on the history list
     *
     * @deprecated
     */
    stackLimit?: number;
}
//node_modules/@syncfusion/ej2-diagrams/src/diagram/diagram/grid-lines.d.ts
/**
 * Provides a visual guidance while dragging or arranging the objects on the Diagram surface
 */
export  class Gridlines extends base.ChildProperty<Gridlines> {
    /**
     * Sets the line color of gridlines
     *
     * @default ''
     */
    lineColor: string;
    /**
     * Defines the pattern of dashes and gaps used to stroke horizontal grid lines
     *
     * @default ''
     */
    lineDashArray: string;
    /**
     * A pattern of lines and gaps that defines a set of horizontal/vertical gridlines
     *
     * @default [1.25, 18.75, 0.25, 19.75, 0.25, 19.75, 0.25, 19.75, 0.25, 19.75]
     */
    lineIntervals: number[];
    /**
     * A pattern of gaps that defines a set of horizontal/vertical grid dots
     *
     * @default [1, 19, 0.5, 19.5, 0.5, 19.5, 0.5, 19.5, 0.5, 19.5]
     */
    dotIntervals: number[];
    /**
     * Specifies a set of intervals to snap the objects
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let diagram$: Diagram = new Diagram({
     * ...
     * snapSettings: {
     * horizontalGridlines: { lineIntervals: [0.95, 9.05, 0.2, 9.75], snapIntervals: [10] },
     * verticalGridlines: { lineIntervals: [0.95, 9.05, 0.2, 9.75], snapIntervals: [10] }
     * },
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @default [20]
     */
    snapIntervals: number[];
    /** @private */
    scaledIntervals: number[];
}
/**
 * Defines the gridlines and defines how and when the objects have to be snapped
 *
 * @default {}
 */
export  class SnapSettings extends base.ChildProperty<SnapSettings> {
    /**
     * Defines the horizontal gridlines
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let horizontalGridlines$: GridlinesModel = {lineColor: 'black', lineDashArray: '1,1' };
     * let verticalGridlines$: GridlinesModel = {lineColor: 'black', lineDashArray: '1,1'};
     * let diagram$: Diagram = new Diagram({
     * ...
     * snapSettings: { horizontalGridlines, verticalGridlines, constraints: SnapConstraints.ShowLines,
     * snapObjectDistance: 5, snapAngle: 5 },
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @default {}
     */
    horizontalGridlines: GridlinesModel;
    /**
     * Defines the vertical gridlines
     *
     * @default {}
     */
    verticalGridlines: GridlinesModel;
    /**
     * Constraints for gridlines and snapping
     * * None - Snapping does not happen
     * * ShowHorizontalLines - Displays only the horizontal gridlines in diagram.
     * * ShowVerticalLines - Displays only the Vertical gridlines in diagram.
     * * ShowLines - Display both Horizontal and Vertical gridlines.
     * * SnapToHorizontalLines - Enables the object to snap only with horizontal gridlines.
     * * SnapToVerticalLines - Enables the object to snap only with horizontal gridlines.
     * * SnapToLines - Enables the object to snap with both horizontal and Vertical gridlines.
     * * snapToObject - Enables the object to snap with the other objects in the diagram.
     *
     * @default 'All'
     * @aspNumberEnum
     */
    constraints: SnapConstraints;
    /**
     * Defines the angle by which the object needs to be snapped
     *
     * @default 5
     */
    snapAngle: number;
    /**
     * Defines the diagram Grid pattern.
     * * Lines - Render the line for the grid
     * * Dots - Render the dot for the grid
     *
     * @default 'Lines'
     */
    gridType: GridType;
    /**
     * Sets the minimum distance between the selected object and the nearest object
     *
     * @default 5
     */
    snapObjectDistance: number;
    /**
     * Defines the color of snapping lines
     *
     * @default '#07EDE1'
     */
    snapLineColor: string;
}
//node_modules/@syncfusion/ej2-diagrams/src/diagram/diagram/grid-lines-model.d.ts
/**
 * Interface for a class Gridlines
 */
export interface GridlinesModel {
    /**
     * Sets the line color of gridlines
     *
     * @default ''
     */
    lineColor?: string;
    /**
     * Defines the pattern of dashes and gaps used to stroke horizontal grid lines
     *
     * @default ''
     */
    lineDashArray?: string;
    /**
     * A pattern of lines and gaps that defines a set of horizontal/vertical gridlines
     *
     * @default [1.25, 18.75, 0.25, 19.75, 0.25, 19.75, 0.25, 19.75, 0.25, 19.75]
     */
    lineIntervals?: number[];
    /**
     * A pattern of gaps that defines a set of horizontal/vertical grid dots
     *
     * @default [1, 19, 0.5, 19.5, 0.5, 19.5, 0.5, 19.5, 0.5, 19.5]
     */
    dotIntervals?: number[];
    /**
     * Specifies a set of intervals to snap the objects
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let diagram$: Diagram = new Diagram({
     * ...
     * snapSettings: {
     * horizontalGridlines: { lineIntervals: [0.95, 9.05, 0.2, 9.75], snapIntervals: [10] },
     * verticalGridlines: { lineIntervals: [0.95, 9.05, 0.2, 9.75], snapIntervals: [10] }
     * },
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @default [20]
     */
    snapIntervals?: number[];
}
/**
 * Interface for a class SnapSettings
 */
export interface SnapSettingsModel {
    /**
     * Defines the horizontal gridlines
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let horizontalGridlines$: GridlinesModel = {lineColor: 'black', lineDashArray: '1,1' };
     * let verticalGridlines$: GridlinesModel = {lineColor: 'black', lineDashArray: '1,1'};
     * let diagram$: Diagram = new Diagram({
     * ...
     * snapSettings: { horizontalGridlines, verticalGridlines, constraints: SnapConstraints.ShowLines,
     * snapObjectDistance: 5, snapAngle: 5 },
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @default {}
     */
    horizontalGridlines?: GridlinesModel;
    /**
     * Defines the vertical gridlines
     *
     * @default {}
     */
    verticalGridlines?: GridlinesModel;
    /**
     * Constraints for gridlines and snapping
     * * None - Snapping does not happen
     * * ShowHorizontalLines - Displays only the horizontal gridlines in diagram.
     * * ShowVerticalLines - Displays only the Vertical gridlines in diagram.
     * * ShowLines - Display both Horizontal and Vertical gridlines.
     * * SnapToHorizontalLines - Enables the object to snap only with horizontal gridlines.
     * * SnapToVerticalLines - Enables the object to snap only with horizontal gridlines.
     * * SnapToLines - Enables the object to snap with both horizontal and Vertical gridlines.
     * * snapToObject - Enables the object to snap with the other objects in the diagram.
     *
     * @default 'All'
     * @aspNumberEnum
     */
    constraints?: SnapConstraints;
    /**
     * Defines the angle by which the object needs to be snapped
     *
     * @default 5
     */
    snapAngle?: number;
    /**
     * Defines the diagram Grid pattern.
     * * Lines - Render the line for the grid
     * * Dots - Render the dot for the grid
     *
     * @default 'Lines'
     */
    gridType?: GridType;
    /**
     * Sets the minimum distance between the selected object and the nearest object
     *
     * @default 5
     */
    snapObjectDistance?: number;
    /**
     * Defines the color of snapping lines
     *
     * @default '#07EDE1'
     */
    snapLineColor?: string;
}
//node_modules/@syncfusion/ej2-diagrams/src/diagram/diagram/data-source.d.ts
/**
 * Configures the data source that is to be bound with diagram
 * ```html
 * <div id='diagram'></div>
 * ```
 * ```typescript
 * let data: object[] = [
 * { Name: "Elizabeth", Role: "Director" },
 * { Name: "Christina", ReportingPerson: "Elizabeth", Role: "Manager" },
 * { Name: "Yoshi", ReportingPerson: "Christina", Role: "Lead" },
 * { Name: "Philip", ReportingPerson: "Christina", Role: "Lead" },
 * { Name: "Yang", ReportingPerson: "Elizabeth", Role: "Manager" },
 * { Name: "Roland", ReportingPerson: "Yang", Role: "Lead" },
 * { Name: "Yvonne", ReportingPerson: "Yang", Role: "Lead" }
 * ];
 * let items: data.DataManager = new data.DataManager(data as JSON[]);
 * let diagram$: Diagram = new Diagram({
 * ...
 * layout: {
 *             type: 'OrganizationalChart'
 * },
 * dataSourceSettings: {
 * id: 'Name', parentId: 'ReportingPerson', dataManager: items,
 * }
 * ...
 * });
 * diagram.appendTo('#diagram');
 * ```
 */
export  class CrudAction extends base.ChildProperty<CrudAction> {
    /**
     * set an URL to get a data from database
     *
     * @default ''
     */
    read: string;
    /**
     * set an URL to add a data into database
     *
     * @default ''
     */
    create: string;
    /**
     * set an URL to update the existing data in database
     *
     * @default ''
     */
    update: string;
    /**
     * set an URL to remove an data in database
     *
     * @default ''
     */
    destroy: string;
    /**
     * Add custom fields to node
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    customFields: Object[];
}
export  class ConnectionDataSource extends base.ChildProperty<ConnectionDataSource> {
    /**
     * set an id for connector dataSource
     *
     * @default ''
     */
    id: string;
    /**
     * define sourceID to connect with connector
     *
     * @default ''
     */
    sourceID: string;
    /**
     * define targetID to connect with connector
     *
     * @default ''
     */
    targetID: string;
    /**
     * define sourcePoint to render connector startPoint
     *
     * @default null
     */
    sourcePointX: number;
    /**
     * define sourcePoint to render connector startPoint
     *
     * @default null
     */
    sourcePointY: number;
    /**
     * define targetPoint to render connector targetPoint
     *
     * @default null
     */
    targetPointX: number;
    /**
     * define targetPoint to render connector targetPoint
     *
     * @default null
     */
    targetPointY: number;
    /**
     * Sets the data source either as a collection of objects or as an URL of data.DataManager
     *
     * @default null
     */
    dataManager: data.DataManager;
    /**
     * Add CrudAction to connector data source
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    crudAction: CrudActionModel;
}
export  class DataSource extends base.ChildProperty<DataSource> {
    /**
     * Sets the unique id of the data source items
     *
     * @default ''
     */
    id: string;
    /**
     * Sets the data source either as a collection of objects or as an URL of data.DataManager
     *
     * @default null
     * @deprecated
     */
    dataManager: data.DataManager;
    /**
     * Sets the data source either as a collection of objects or as an URL of data.DataManager
     *
     * @default null
     */
    dataSource: data.DataManager;
    /**
     * Sets the unique id of the root data source item
     *
     * @default ''
     */
    root: string;
    /**
     * Sets the unique id that defines the relationship between the data source items
     *
     * @default ''
     */
    parentId: string;
    /**
     * Binds the custom data with node model
     *
     * @aspDefaultValueIgnore
     * @default undefined
     * @deprecated
     */
    doBinding: Function | string;
    /**
     * A collection of JSON objects where each object represents an Data Map Items.
     *
     * @default []
     */
    dataMapSettings: DataMappingItemsModel[];
    /**
     * Add CrudAction to data source
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    crudAction: CrudActionModel;
    /**
     * define connectorDataSource collection
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    connectionDataSource: ConnectionDataSourceModel;
}
//node_modules/@syncfusion/ej2-diagrams/src/diagram/diagram/data-source-model.d.ts
/**
 * Interface for a class CrudAction
 */
export interface CrudActionModel {
    /**
     * set an URL to get a data from database
     *
     * @default ''
     */
    read?: string;
    /**
     * set an URL to add a data into database
     *
     * @default ''
     */
    create?: string;
    /**
     * set an URL to update the existing data in database
     *
     * @default ''
     */
    update?: string;
    /**
     * set an URL to remove an data in database
     *
     * @default ''
     */
    destroy?: string;
    /**
     * Add custom fields to node
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    customFields?: Object[];
}
/**
 * Interface for a class ConnectionDataSource
 */
export interface ConnectionDataSourceModel {
    /**
     * set an id for connector dataSource
     *
     * @default ''
     */
    id?: string;
    /**
     * define sourceID to connect with connector
     *
     * @default ''
     */
    sourceID?: string;
    /**
     * define targetID to connect with connector
     *
     * @default ''
     */
    targetID?: string;
    /**
     * define sourcePoint to render connector startPoint
     *
     * @default null
     */
    sourcePointX?: number;
    /**
     * define sourcePoint to render connector startPoint
     *
     * @default null
     */
    sourcePointY?: number;
    /**
     * define targetPoint to render connector targetPoint
     *
     * @default null
     */
    targetPointX?: number;
    /**
     * define targetPoint to render connector targetPoint
     *
     * @default null
     */
    targetPointY?: number;
    /**
     * Sets the data source either as a collection of objects or as an URL of data.DataManager
     *
     * @default null
     */
    dataManager?: data.DataManager;
    /**
     * Add CrudAction to connector data source
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    crudAction?: CrudActionModel;
}
/**
 * Interface for a class DataSource
 */
export interface DataSourceModel {
    /**
     * Sets the unique id of the data source items
     *
     * @default ''
     */
    id?: string;
    /**
     * Sets the data source either as a collection of objects or as an URL of data.DataManager
     *
     * @default null
     * @deprecated
     */
    dataManager?: data.DataManager;
    /**
     * Sets the data source either as a collection of objects or as an URL of data.DataManager
     *
     * @default null
     */
    dataSource?: data.DataManager;
    /**
     * Sets the unique id of the root data source item
     *
     * @default ''
     */
    root?: string;
    /**
     * Sets the unique id that defines the relationship between the data source items
     *
     * @default ''
     */
    parentId?: string;
    /**
     * Binds the custom data with node model
     *
     * @aspDefaultValueIgnore
     * @default undefined
     * @deprecated
     */
    doBinding?: Function | string;
    /**
     * A collection of JSON objects where each object represents an Data Map Items.
     *
     * @default []
     */
    dataMapSettings?: DataMappingItemsModel[];
    /**
     * Add CrudAction to data source
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    crudAction?: CrudActionModel;
    /**
     * define connectorDataSource collection
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    connectionDataSource?: ConnectionDataSourceModel;
}
//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-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/custom-cursor.d.ts
/**
 * A collection of JSON objects where each object represents a layer.
 * Layer is a named category of diagram shapes.
 */
export  class CustomCursorAction extends base.ChildProperty<CustomCursorAction> {
    /**
     * Defines the property of a Data Map Items
     *
     */
    action: Actions;
    /**
     * Defines the Fields for the Data Map Items
     *
     * @default ''
     */
    cursor: string;
}
//node_modules/@syncfusion/ej2-diagrams/src/diagram/diagram/custom-cursor-model.d.ts
/**
 * Interface for a class CustomCursorAction
 */
export interface CustomCursorActionModel {
    /**
     * Defines the property of a Data Map Items
     *
     */
    action?: Actions;
    /**
     * Defines the Fields for the Data Map Items
     *
     * @default ''
     */
    cursor?: string;
}
//node_modules/@syncfusion/ej2-diagrams/src/diagram/data-binding/data-binding.d.ts
/**
 * data source defines the basic unit of diagram
 */
export  class DataBinding {
    /**
     * Constructor for the data binding module.
     * @private
     */
    constructor();
    /**
     * To destroy the data binding module
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
    /**
     * Core method to return the component name.
     *
     * @returns {string}  Core method to return the component name.
     * @private
     */
    protected getModuleName(): string;
    /**   @private  */
    dataTable: Object;
    /**
     * Initialize nodes and connectors when we have a data as JSON
     *
     * @param {DataSourceModel} data
     * @param {Diagram} diagram
     * @private
     */
    initData(data: DataSourceModel, diagram: Diagram): void;
    /**
     * Initialize nodes and connector when we have a data as remote url
     *
     * @param {DataSourceModel} data
     * @param {Diagram} diagram
     * @private
     */
    initSource(data: DataSourceModel, diagram: Diagram): void;
    private applyDataSource;
    /**
     * updateMultipleRootNodes method is used  to update the multiple Root Nodes
     *
     * @param {Object} object
     * @param {Object[]} rootnodes
     * @param {DataSourceModel} mapper
     * @param {Object[]} data
     */
    private updateMultipleRootNodes;
    /**
     *  Get the node values\
     *
     * @returns { Node }    Get the node values.\
     * @param {DataSourceModel} mapper - provide the id value.
     * @param {Object} item - provide the id value.
     * @param {Diagram} diagram - provide the id value.
     *
     * @private
     */
    private applyNodeTemplate;
    private getFlowChartNodeShape;
    private splitString;
    private renderChildNodes;
    private containsConnector;
    /**
     *  collectionContains method is used to  check wthear the node is already present in collection or not
     *
     * @param {Node} node
     * @param {Diagram} diagram
     * @param {string} id
     * @param {string} parentId
     */
    private collectionContains;
    /**
     * Get the Connector values
     *
     * @param {string} sNode
     * @param {string} tNode
     * @param {Diagram} diagram
     */
    private applyConnectorTemplate;
    private getConnectorArrowType;
}
export interface ArrowStyle {
    targetDecorator: string;
    strokeWidth: number;
    strokeDashArray?: string;
    opacity?: number;
}
export interface FlowChartData {
    id: string;
    name: string;
    shape: BasicShapeModel | FlowShapeModel | PathModel | string;
    color: string;
    label: string[] | string;
    parentId: string[] | number[] | null;
    arrowType: string;
    stroke: string;
    strokeWidth: number;
}
//node_modules/@syncfusion/ej2-diagrams/src/diagram/core/appearance.d.ts
/**
 * Layout Model module defines the styles and types to arrange objects in containers
 */
export  class Thickness {
    /**
     * Sets the left value of the thickness
     *
     * @default 0
     */
    left: number;
    /**
     * Sets the right value of the thickness
     *
     * @default 0
     */
    right: number;
    /**
     * Sets the top value of the thickness
     *
     * @default 0
     */
    top: number;
    /**
     * Sets the bottom value of the thickness
     *
     * @default 0
     */
    bottom: number;
    constructor(left: number, right: number, top: number, bottom: number);
}
/**
 * Defines the space to be left between an object and its immediate parent
 */
export  class Margin extends base.ChildProperty<Margin> {
    /**
     * Sets the space to be left from the left side of the immediate parent of an element
     *
     * @default 0
     */
    left: number;
    /**
     * Sets the space to be left from the right side of the immediate parent of an element
     *
     * @default 0
     */
    right: number;
    /**
     * Sets the space to be left from the top side of the immediate parent of an element
     *
     * @default 0
     */
    top: number;
    /**
     * Sets the space to be left from the bottom side of the immediate parent of an element
     *
     * @default 0
     */
    bottom: number;
}
/**
 * Defines the Shadow appearance of the objects
 * ```html
 * <div id='diagram'></div>
 * ```
 * ```typescript
 *  let nodes$: NodeModel[] = [{ id: 'node2', width: 100, height: 100,
 *  constraints: NodeConstraints.Default | NodeConstraints.Shadow,
 *  shadow: { angle: 45, distance: 5, opacity: 0.7, color: 'grey'}
 * }];
 * let diagram$: Diagram = new Diagram({
 * ...
 *   nodes: nodes,
 * ...
 * });
 * diagram.appendTo('#diagram');
 * ```
 */
export  class Shadow extends base.ChildProperty<Shadow> {
    /**
     * Defines the angle of Shadow
     *
     * @default 45
     */
    angle: number;
    /**
     * Defines the distance of Shadow
     *
     * @default 5
     */
    distance: number;
    /**
     * Defines the opacity of Shadow
     *
     * @default 0.7
     */
    opacity: number;
    /**
     * Defines the color of Shadow
     *
     * @default ''
     */
    color: string;
}
/**
 * Defines the different colors and the region of color transitions
 * ```html
 * <div id='diagram'></div>
 * ```
 * ```typescript
 * let stopscol: StopModel[] = [];
 * let stops1: StopModel = { color: 'white', offset: 0, opacity: 0.7 };
 * stopscol.push(stops1);
 * let stops2: StopModel = { color: 'red', offset: 0, opacity: 0.3 };
 * stopscol.push(stops2);
 * let gradient: RadialGradientModel = { cx: 50, cy: 50, fx: 50, fy: 50, stops: stopscol, type: 'Radial' };
 * let nodes$: NodeModel[] = [{ id: 'node1', width: 100, height: 100,
 * style: { gradient: gradient }
 * }];
 * let diagram$: Diagram = new Diagram({
 * ...
 *   nodes: nodes,
 * ...
 * });
 * diagram.appendTo('#diagram');
 * ```
 */
export  class Stop extends base.ChildProperty<Stop> {
    /**
     * Sets the color to be filled over the specified region
     *
     * @default ''
     */
    color: string;
    /**
     * Sets the position where the previous color transition ends and a new color transition starts
     *
     * @default 0
     */
    offset: number;
    /**
     * Describes the transparency level of the region
     *
     * @default 1
     */
    opacity: number;
    /**
     * @private
     * Returns the name of class Stop
     */
    getClassName(): string;
}
/**
 * Paints the node with a smooth transition from one color to another color
 */
export  class Gradient extends base.ChildProperty<Gradient> {
    /**
     * Defines the stop collection of gradient
     *
     * @default []
     */
    stops: StopModel[];
    /**
     * Defines the type of gradient
     * * Linear - Sets the type of the gradient as Linear
     * * Radial - Sets the type of the gradient as Radial
     *
     * @default 'None'
     */
    type: GradientType;
    /**
     * Defines the id of gradient
     *
     * @default ''
     */
    id: string;
}
/**
 * Defines the linear gradient of styles
 * ```html
 * <div id='diagram'></div>
 * ```
 * ```typescript
 * let stopscol: StopModel[] = [];
 * let stops1: StopModel = { color: 'white', offset: 0, opacity: 0.7 };
 * stopscol.push(stops1);
 * let stops2: StopModel = { color: 'red', offset: 0, opacity: 0.3 };
 * stopscol.push(stops2);
 * let gradient: LinearGradientModel = { x1: 0, x2: 50, y1: 0, y2: 50, stops: stopscol, type: 'Linear' };
 * let nodes$: NodeModel[] = [{ id: 'node1', width: 100, height: 100,
 * style: { gradient: gradient }
 * }];
 * let diagram$: Diagram = new Diagram({
 * ...
 *   nodes: nodes,
 * ...
 * });
 * diagram.appendTo('#diagram');
 * ```
 */
/**
 * Paints the node with linear color transitions
 */
export  class DiagramGradient extends Gradient {
    /**
     * Defines the x1 value of linear gradient
     *
     * @default 0
     */
    x1: number;
    /**
     * Defines the x2 value of linear gradient
     *
     * @default 0
     */
    x2: number;
    /**
     * Defines the y1 value of linear gradient
     *
     * @default 0
     */
    y1: number;
    /**
     * Defines the y2 value of linear gradient
     *
     * @default 0
     */
    y2: number;
    /**
     * Defines the cx value of radial gradient
     *
     * @default 0
     */
    cx: number;
    /**
     * Defines the cy value of radial gradient
     *
     * @default cy
     */
    cy: number;
    /**
     * Defines the fx value of radial gradient
     *
     * @default 0
     */
    fx: number;
    /**
     * Defines the fy value of radial gradient
     *
     * @default fy
     */
    fy: number;
    /**
     * Defines the r value of radial gradient
     *
     * @default 50
     */
    r: number;
}
/**
 * Paints the node with linear color transitions
 */
export  class LinearGradient extends Gradient {
    /**
     * Defines the x1 value of linear gradient
     *
     * @default 0
     */
    x1: number;
    /**
     * Defines the x2 value of linear gradient
     *
     * @default 0
     */
    x2: number;
    /**
     * Defines the y1 value of linear gradient
     *
     * @default 0
     */
    y1: number;
    /**
     * Defines the y2 value of linear gradient
     *
     * @default 0
     */
    y2: number;
}
/**
 * A focal point defines the beginning of the gradient, and a circle defines the end point of the gradient
 * ```html
 * <div id='diagram'></div>
 * ```
 * ```typescript
 * let stopscol: StopModel[] = [];
 * let stops1: StopModel = { color: 'white', offset: 0, opacity: 0.7 };
 * stopscol.push(stops1);
 * let stops2: StopModel = { color: 'red', offset: 0, opacity: 0.3 };
 * stopscol.push(stops2);
 * let gradient: RadialGradientModel = { cx: 50, cy: 50, fx: 50, fy: 50, stops: stopscol, type: 'Radial' };
 * let nodes$: NodeModel[] = [{ id: 'node1', width: 100, height: 100,
 * style: { gradient: gradient }
 * }];
 * let diagram$: Diagram = new Diagram({
 * ...
 *   nodes: nodes,
 * ...
 * });
 * diagram.appendTo('#diagram');
 * ```
 */
export  class RadialGradient extends Gradient {
    /**
     * Defines the cx value of radial gradient
     *
     * @default 0
     */
    cx: number;
    /**
     * Defines the cy value of radial gradient
     *
     * @default cy
     */
    cy: number;
    /**
     * Defines the fx value of radial gradient
     *
     * @default 0
     */
    fx: number;
    /**
     * Defines the fy value of radial gradient
     *
     * @default fy
     */
    fy: number;
    /**
     * Defines the r value of radial gradient
     *
     * @default 50
     */
    r: number;
}
/**
 * Defines the style of shape/path
 */
export  class ShapeStyle extends base.ChildProperty<ShapeStyle> {
    /**
     * Sets the fill color of a shape/path
     *
     * @default 'white'
     */
    fill: string;
    /**
     * Sets the stroke color of a shape/path
     *
     * @default 'black'
     */
    strokeColor: string;
    /**
     * Defines the pattern of dashes and spaces to stroke the path/shape
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```
     *  let nodes$: NodeModel[] = [{  id: 'node', width: 100, height: 100, offsetX: 100, offsetY: 100,
     * style: { fill: 'red', strokeColor: 'blue', strokeWidth: 5,
     * strokeDashArray: '2 2', opacity: 0.6 } as ShapeStyleModel,
     * }];
     * let diagram$: Diagram = new Diagram({
     * ...
     *   nodes: nodes,
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @default ''
     */
    strokeDashArray: string;
    /**
     * Defines the stroke width of the path/shape
     *
     * @default 1
     */
    strokeWidth: number;
    /**
     * Sets the opacity of a shape/path
     *
     * @default 1
     */
    opacity: number;
    /**
     * Defines the gradient of a shape/path
     *
     * @default null
     * @aspType object
     */
    gradient: GradientModel | LinearGradientModel | RadialGradientModel | DiagramGradientModel;
}
/**
 * Defines the stroke style of a path
 */
export  class StrokeStyle extends ShapeStyle {
    /**
     * Sets the fill color of a shape/path
     *
     * @default 'transparent'
     */
    fill: string;
}
/**
 * Defines the appearance of text
 * ```html
 * <div id='diagram'></div>
 * ```
 * ```typescript
 * let style: TextStyleModel = { strokeColor: 'black', opacity: 0.5, whiteSpace:'CollapseSpace', strokeWidth: 1 };
 * let node$: NodeModel;
 * node = {
 * ...
 * id: 'node', width: 100, height: 100, offsetX: 100, offsetY: 100,
 * annotations : [{
 * content: 'text', style: style }];
 * ...
 * };
 * let diagram$: Diagram = new Diagram({
 * ...
 *   nodes: [node],
 * ...
 * });
 * diagram.appendTo('#diagram');
 * ```
 */
export  class TextStyle extends ShapeStyle {
    /**
     * Sets the font color of a text
     *
     * @default 'black'
     */
    color: string;
    /**
     * Sets the font type of a text
     *
     * @default 'Arial'
     */
    fontFamily: string;
    /**
     * Defines the font size of a text
     *
     * @default 12
     */
    fontSize: number;
    /**
     * Enables/disables the italic style of text
     *
     * @default false
     */
    italic: boolean;
    /**
     * Enables/disables the bold style of text
     *
     * @default false
     */
    bold: boolean;
    /**
     * Defines how the white space and new line characters have to be handled
     * * PreserveAll - Preserves all empty spaces and empty lines
     * * CollapseSpace - Collapses the consequent spaces into one
     * * CollapseAll - Collapses all consequent empty spaces and empty lines
     *
     * @default 'CollapseSpace'
     */
    whiteSpace: WhiteSpace;
    /**
     * Defines how the text should be wrapped, when the text size exceeds some specific bounds
     * * WrapWithOverflow - Wraps the text so that no word is broken
     * * Wrap - Wraps the text and breaks the word, if necessary
     * * NoWrap - Text will no be wrapped
     *
     * @default  'WrapWithOverflow'
     */
    textWrapping: TextWrap;
    /**
     * Defines how the text should be aligned within its bounds
     * * Left - Aligns the text at the left of the text bounds
     * * Right - Aligns the text at the right of the text bounds
     * * Center - Aligns the text at the center of the text bounds
     * * Justify - Aligns the text in a justified manner
     *
     * @default 'Center'
     */
    textAlign: TextAlign;
    /**
     * Defines how the text should be decorated. For example, with underline/over line
     * * Overline - Decorates the text with a line above the text
     * * Underline - Decorates the text with an underline
     * * LineThrough - Decorates the text by striking it with a line
     * * None - Text will not have any specific decoration
     *
     * @default 'None'
     */
    textDecoration: TextDecoration;
    /**
     * Defines how to handle the text when it exceeds the given size.
     * * Wrap - Wraps the text to next line, when it exceeds its bounds
     * * Ellipsis - It truncates the overflown text and represents the clipping with an ellipsis
     * * Clip - It clips the overflow text
     *
     * @default 'Wrap'
     */
    textOverflow: TextOverflow;
    /**
     * Sets the fill color of a shape/path
     *
     * @default 'transparent'
     */
    fill: string;
}
/**
 * Defines the style of shape/path
 */
export  class DiagramShapeStyle extends base.ChildProperty<DiagramShapeStyle> {
    /**
     * Sets the fill color of a shape/path
     *
     * @default 'white'
     */
    fill: string;
    /**
     * Defines how to handle the text when it exceeds the given size.
     * * Wrap - Wraps the text to next line, when it exceeds its bounds
     * * Ellipsis - It truncates the overflown text and represents the clipping with an ellipsis
     * * Clip - It clips the overflow text
     *
     * @default 'Wrap'
     */
    textOverflow: TextOverflow;
    /**
     * Defines the stroke width of the path/shape
     *
     * @default 1
     */
    strokeWidth: number;
    /**
     * Defines the gradient of a shape/path
     *
     * @default null
     * @aspType object
     */
    gradient: GradientModel | LinearGradientModel | RadialGradientModel;
    /**
     * Sets the opacity of a shape/path
     *
     * @default 1
     */
    opacity: number;
    /**
     * Enables/disables the italic style of text
     *
     * @default false
     */
    italic: boolean;
    /**
     * Defines the pattern of dashes and spaces to stroke the path/shape
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```
     *  let nodes$: NodeModel[] = [{  id: 'node', width: 100, height: 100, offsetX: 100, offsetY: 100,
     * style: { fill: 'red', strokeColor: 'blue', strokeWidth: 5,
     * strokeDashArray: '2 2', opacity: 0.6 } as ShapeStyleModel,
     * }];
     * let diagram$: Diagram = new Diagram({
     * ...
     *   nodes: nodes,
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @default ''
     */
    strokeDashArray: string;
    /**
     * Sets the font color of a text
     *
     * @default 'black'
     */
    color: string;
    /**
     * Defines the font size of a text
     *
     * @default 12
     */
    fontSize: number;
    /**
     * Sets the font type of a text
     *
     * @default 'Arial'
     */
    fontFamily: string;
    /**
     * Defines how the white space and new line characters have to be handled
     * * PreserveAll - Preserves all empty spaces and empty lines
     * * CollapseSpace - Collapses the consequent spaces into one
     * * CollapseAll - Collapses all consequent empty spaces and empty lines
     *
     * @default 'CollapseSpace'
     */
    whiteSpace: WhiteSpace;
    /**
     * Defines how the text should be aligned within its bounds
     * * Left - Aligns the text at the left of the text bounds
     * * Right - Aligns the text at the right of the text bounds
     * * Center - Aligns the text at the center of the text bounds
     * * Justify - Aligns the text in a justified manner
     *
     * @default 'Center'
     */
    textAlign: TextAlign;
    /**
     * Defines how the text should be decorated. For example, with underline/over line
     * * Overline - Decorates the text with a line above the text
     * * Underline - Decorates the text with an underline
     * * LineThrough - Decorates the text by striking it with a line
     * * None - Text will not have any specific decoration
     *
     * @default 'None'
     */
    textDecoration: TextDecoration;
    /**
     * Enables/disables the bold style of text
     *
     * @default false
     */
    bold: boolean;
    /**
     * Sets the stroke color of a shape/path
     *
     * @default 'black'
     */
    strokeColor: string;
    /**
     * Defines how the text should be wrapped, when the text size exceeds some specific bounds
     * * WrapWithOverflow - Wraps the text so that no word is broken
     * * Wrap - Wraps the text and breaks the word, if necessary
     * * NoWrap - Text will no be wrapped
     *
     * @default  'WrapWithOverflow'
     */
    textWrapping: TextWrap;
}
//node_modules/@syncfusion/ej2-diagrams/src/diagram/core/appearance-model.d.ts
/**
 * Interface for a class Thickness
 */
export interface ThicknessModel {
}
/**
 * Interface for a class Margin
 */
export interface MarginModel {
    /**
     * Sets the space to be left from the left side of the immediate parent of an element
     *
     * @default 0
     */
    left?: number;
    /**
     * Sets the space to be left from the right side of the immediate parent of an element
     *
     * @default 0
     */
    right?: number;
    /**
     * Sets the space to be left from the top side of the immediate parent of an element
     *
     * @default 0
     */
    top?: number;
    /**
     * Sets the space to be left from the bottom side of the immediate parent of an element
     *
     * @default 0
     */
    bottom?: number;
}
/**
 * Interface for a class Shadow
 */
export interface ShadowModel {
    /**
     * Defines the angle of Shadow
     *
     * @default 45
     */
    angle?: number;
    /**
     * Defines the distance of Shadow
     *
     * @default 5
     */
    distance?: number;
    /**
     * Defines the opacity of Shadow
     *
     * @default 0.7
     */
    opacity?: number;
    /**
     * Defines the color of Shadow
     *
     * @default ''
     */
    color?: string;
}
/**
 * Interface for a class Stop
 */
export interface StopModel {
    /**
     * Sets the color to be filled over the specified region
     *
     * @default ''
     */
    color?: string;
    /**
     * Sets the position where the previous color transition ends and a new color transition starts
     *
     * @default 0
     */
    offset?: number;
    /**
     * Describes the transparency level of the region
     *
     * @default 1
     */
    opacity?: number;
}
/**
 * Interface for a class Gradient
 */
export interface GradientModel {
    /**
     * Defines the stop collection of gradient
     *
     * @default []
     */
    stops?: StopModel[];
    /**
     * Defines the type of gradient
     * * Linear - Sets the type of the gradient as Linear
     * * Radial - Sets the type of the gradient as Radial
     *
     * @default 'None'
     */
    type?: GradientType;
    /**
     * Defines the id of gradient
     *
     * @default ''
     */
    id?: string;
}
/**
 * Interface for a class DiagramGradient
 */
export interface DiagramGradientModel extends GradientModel{
    /**
     * Defines the x1 value of linear gradient
     *
     * @default 0
     */
    x1?: number;
    /**
     * Defines the x2 value of linear gradient
     *
     * @default 0
     */
    x2?: number;
    /**
     * Defines the y1 value of linear gradient
     *
     * @default 0
     */
    y1?: number;
    /**
     * Defines the y2 value of linear gradient
     *
     * @default 0
     */
    y2?: number;
    /**
     * Defines the cx value of radial gradient
     *
     * @default 0
     */
    cx?: number;
    /**
     * Defines the cy value of radial gradient
     *
     * @default cy
     */
    cy?: number;
    /**
     * Defines the fx value of radial gradient
     *
     * @default 0
     */
    fx?: number;
    /**
     * Defines the fy value of radial gradient
     *
     * @default fy
     */
    fy?: number;
    /**
     * Defines the r value of radial gradient
     *
     * @default 50
     */
    r?: number;
}
/**
 * Interface for a class LinearGradient
 */
export interface LinearGradientModel extends GradientModel{
    /**
     * Defines the x1 value of linear gradient
     *
     * @default 0
     */
    x1?: number;
    /**
     * Defines the x2 value of linear gradient
     *
     * @default 0
     */
    x2?: number;
    /**
     * Defines the y1 value of linear gradient
     *
     * @default 0
     */
    y1?: number;
    /**
     * Defines the y2 value of linear gradient
     *
     * @default 0
     */
    y2?: number;
}
/**
 * Interface for a class RadialGradient
 */
export interface RadialGradientModel extends GradientModel{
    /**
     * Defines the cx value of radial gradient
     *
     * @default 0
     */
    cx?: number;
    /**
     * Defines the cy value of radial gradient
     *
     * @default cy
     */
    cy?: number;
    /**
     * Defines the fx value of radial gradient
     *
     * @default 0
     */
    fx?: number;
    /**
     * Defines the fy value of radial gradient
     *
     * @default fy
     */
    fy?: number;
    /**
     * Defines the r value of radial gradient
     *
     * @default 50
     */
    r?: number;
}
/**
 * Interface for a class ShapeStyle
 */
export interface ShapeStyleModel {
    /**
     * Sets the fill color of a shape/path
     *
     * @default 'white'
     */
    fill?: string;
    /**
     * Sets the stroke color of a shape/path
     *
     * @default 'black'
     */
    strokeColor?: string;
    /**
     * Defines the pattern of dashes and spaces to stroke the path/shape
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```
     *  let nodes$: NodeModel[] = [{  id: 'node', width: 100, height: 100, offsetX: 100, offsetY: 100,
     * style: { fill: 'red', strokeColor: 'blue', strokeWidth: 5,
     * strokeDashArray: '2 2', opacity: 0.6 } as ShapeStyleModel,
     * }];
     * let diagram$: Diagram = new Diagram({
     * ...
     *   nodes: nodes,
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @default ''
     */
    strokeDashArray?: string;
    /**
     * Defines the stroke width of the path/shape
     *
     * @default 1
     */
    strokeWidth?: number;
    /**
     * Sets the opacity of a shape/path
     *
     * @default 1
     */
    opacity?: number;
    /**
     * Defines the gradient of a shape/path
     *
     * @default null
     * @aspType object
     */
    gradient?: GradientModel | LinearGradientModel | RadialGradientModel | DiagramGradientModel;
}
/**
 * Interface for a class StrokeStyle
 */
export interface StrokeStyleModel extends ShapeStyleModel{
    /**
     * Sets the fill color of a shape/path
     *
     * @default 'transparent'
     */
    fill?: string;
}
/**
 * Interface for a class TextStyle
 */
export interface TextStyleModel extends ShapeStyleModel{
    /**
     * Sets the font color of a text
     *
     * @default 'black'
     */
    color?: string;
    /**
     * Sets the font type of a text
     *
     * @default 'Arial'
     */
    fontFamily?: string;
    /**
     * Defines the font size of a text
     *
     * @default 12
     */
    fontSize?: number;
    /**
     * Enables/disables the italic style of text
     *
     * @default false
     */
    italic?: boolean;
    /**
     * Enables/disables the bold style of text
     *
     * @default false
     */
    bold?: boolean;
    /**
     * Defines how the white space and new line characters have to be handled
     * * PreserveAll - Preserves all empty spaces and empty lines
     * * CollapseSpace - Collapses the consequent spaces into one
     * * CollapseAll - Collapses all consequent empty spaces and empty lines
     *
     * @default 'CollapseSpace'
     */
    whiteSpace?: WhiteSpace;
    /**
     * Defines how the text should be wrapped, when the text size exceeds some specific bounds
     * * WrapWithOverflow - Wraps the text so that no word is broken
     * * Wrap - Wraps the text and breaks the word, if necessary
     * * NoWrap - Text will no be wrapped
     *
     * @default  'WrapWithOverflow'
     */
    textWrapping?: TextWrap;
    /**
     * Defines how the text should be aligned within its bounds
     * * Left - Aligns the text at the left of the text bounds
     * * Right - Aligns the text at the right of the text bounds
     * * Center - Aligns the text at the center of the text bounds
     * * Justify - Aligns the text in a justified manner
     *
     * @default 'Center'
     */
    textAlign?: TextAlign;
    /**
     * Defines how the text should be decorated. For example, with underline/over line
     * * Overline - Decorates the text with a line above the text
     * * Underline - Decorates the text with an underline
     * * LineThrough - Decorates the text by striking it with a line
     * * None - Text will not have any specific decoration
     *
     * @default 'None'
     */
    textDecoration?: TextDecoration;
    /**
     * Defines how to handle the text when it exceeds the given size.
     * * Wrap - Wraps the text to next line, when it exceeds its bounds
     * * Ellipsis - It truncates the overflown text and represents the clipping with an ellipsis
     * * Clip - It clips the overflow text
     *
     * @default 'Wrap'
     */
    textOverflow?: TextOverflow;
    /**
     * Sets the fill color of a shape/path
     *
     * @default 'transparent'
     */
    fill?: string;
}
/**
 * Interface for a class DiagramShapeStyle
 */
export interface DiagramShapeStyleModel {
    /**
     * Sets the fill color of a shape/path
     *
     * @default 'white'
     */
    fill?: string;
    /**
     * Defines how to handle the text when it exceeds the given size.
     * * Wrap - Wraps the text to next line, when it exceeds its bounds
     * * Ellipsis - It truncates the overflown text and represents the clipping with an ellipsis
     * * Clip - It clips the overflow text
     *
     * @default 'Wrap'
     */
    textOverflow?: TextOverflow;
    /**
     * Defines the stroke width of the path/shape
     *
     * @default 1
     */
    strokeWidth?: number;
    /**
     * Defines the gradient of a shape/path
     *
     * @default null
     * @aspType object
     */
    gradient?: GradientModel | LinearGradientModel | RadialGradientModel;
    /**
     * Sets the opacity of a shape/path
     *
     * @default 1
     */
    opacity?: number;
    /**
     * Enables/disables the italic style of text
     *
     * @default false
     */
    italic?: boolean;
    /**
     * Defines the pattern of dashes and spaces to stroke the path/shape
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```
     *  let nodes$: NodeModel[] = [{  id: 'node', width: 100, height: 100, offsetX: 100, offsetY: 100,
     * style: { fill: 'red', strokeColor: 'blue', strokeWidth: 5,
     * strokeDashArray: '2 2', opacity: 0.6 } as ShapeStyleModel,
     * }];
     * let diagram$: Diagram = new Diagram({
     * ...
     *   nodes: nodes,
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @default ''
     */
    strokeDashArray?: string;
    /**
     * Sets the font color of a text
     *
     * @default 'black'
     */
    color?: string;
    /**
     * Defines the font size of a text
     *
     * @default 12
     */
    fontSize?: number;
    /**
     * Sets the font type of a text
     *
     * @default 'Arial'
     */
    fontFamily?: string;
    /**
     * Defines how the white space and new line characters have to be handled
     * * PreserveAll - Preserves all empty spaces and empty lines
     * * CollapseSpace - Collapses the consequent spaces into one
     * * CollapseAll - Collapses all consequent empty spaces and empty lines
     *
     * @default 'CollapseSpace'
     */
    whiteSpace?: WhiteSpace;
    /**
     * Defines how the text should be aligned within its bounds
     * * Left - Aligns the text at the left of the text bounds
     * * Right - Aligns the text at the right of the text bounds
     * * Center - Aligns the text at the center of the text bounds
     * * Justify - Aligns the text in a justified manner
     *
     * @default 'Center'
     */
    textAlign?: TextAlign;
    /**
     * Defines how the text should be decorated. For example, with underline/over line
     * * Overline - Decorates the text with a line above the text
     * * Underline - Decorates the text with an underline
     * * LineThrough - Decorates the text by striking it with a line
     * * None - Text will not have any specific decoration
     *
     * @default 'None'
     */
    textDecoration?: TextDecoration;
    /**
     * Enables/disables the bold style of text
     *
     * @default false
     */
    bold?: boolean;
    /**
     * Sets the stroke color of a shape/path
     *
     * @default 'black'
     */
    strokeColor?: string;
    /**
     * Defines how the text should be wrapped, when the text size exceeds some specific bounds
     * * WrapWithOverflow - Wraps the text so that no word is broken
     * * Wrap - Wraps the text and breaks the word, if necessary
     * * NoWrap - Text will no be wrapped
     *
     * @default  'WrapWithOverflow'
     */
    textWrapping?: TextWrap;
}
//node_modules/@syncfusion/ej2-diagrams/src/diagram/core/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;
    /**Gets or sets the reference mode for annotation rotation. */
    /** @private */
    rotationReference: RotationReference;
    /** @private */
    isLaneOrientation: boolean;
    /** @private */
    canConsiderBounds: boolean;
    /**
     * sets the constraints for the text element
     */
    constraints: AnnotationConstraints;
    /** @private */
    annotationVisibility: string;
    /**
     * sets the hyperlink color to blue
     */
    hyperlink: HyperlinkModel;
    /** @private */
    doWrap: boolean;
    /** @private */
    flippedPoint: PointModel;
    /** @private */
    flipTransformOffset: PointModel;
    /**
     *   gets the content for the text element \
     *
     * @returns { string | SVGElement }  gets the content for the text element.\
     *
     * @private
     */
    /**
    *   sets the content for the text element \
    *
    * @returns { void }  sets the content for the text element.\
    * @param {string} value - provide the id value.
    *
    * @private
    */
    content: string;
    private textNodes;
    /**
     *   gets the content for the text element \
     *
     * @returns { string | SVGElement }  gets the content for the text element.\
     *
     * @private
     */
    /**
    *   sets the content for the text element \
    *
    * @returns { void }  sets the content for the text element.\
    * @param {SubTextElement[]} value - provide the id value.
    *
    * @private
    */
    childNodes: SubTextElement[];
    private textWrapBounds;
    /**
     *   gets the wrapBounds for the text \
     *
     * @returns { string | SVGElement }  gets the wrapBounds for the text.\
     *
     * @private
     */
    /**
    *    sets the wrapBounds for the text \
    *
    * @returns { void }   sets the wrapBounds for the text.\
    * @param {TextBounds} value - provide the id value.
    *
    * @private
    */
    wrapBounds: TextBounds;
    /**
     *    sets the wrapBounds for the text \
     *
     * @returns { void }   sets the wrapBounds for the text.\
     *
     * @private
     */
    refreshTextElement(): void;
    /**
     * Defines the appearance of the text element
     */
    style: TextStyleModel;
    /**
     *Measures the minimum size that is required for the text element\
     *
     * @returns { Size }  Measures the minimum size that is required for the text element.\
     * @param {Size} availableSize - provide the id value.
     *
     * @private
     */
    measure(availableSize: Size): Size;
    /**
     * Arranges the text element\
     *
     * @returns { Size }   Arranges the text element.\
     * @param {Size} desiredSize - provide the id value.
     *
     * @private
     */
    arrange(desiredSize: Size): Size;
}
//node_modules/@syncfusion/ej2-diagrams/src/diagram/core/elements/path-element.d.ts
/**
 * PathElement takes care of how to align the path based on offsetX and offsetY
 */
export  class PathElement extends DiagramElement {
    /**
     * set the id for each element
     */
    constructor();
    /**
     * Gets or sets the geometry of the path element
     */
    private pathData;
    /**
     *   Gets the geometry of the path element\
     *
     * @returns { string | SVGElement }  Gets the geometry of the path element.\
     *
     * @private
     */
    /**
    *  Sets the geometry of the path element \
    *
    * @returns { void } Sets the geometry of the path element.\
    * @param {string} value - provide the id value.
    *
    * @private
    */
    data: string;
    /**
     * Gets/Sets whether the path has to be transformed to fit the given x,y, width, height
     */
    transformPath: boolean;
    /**
     * Gets/Sets the equivalent path, that will have the origin as 0,0
     */
    absolutePath: string;
    /**   @private  */
    canMeasurePath: boolean;
    /**   @private  */
    absoluteBounds: Rect;
    private points;
    private pointTimer;
    /**
     * getPoints methods  \
     *
     * @returns { PointModel[] } Sets the geometry of the path element.\
     *
     * @private
     */
    getPoints(): PointModel[];
    /**
     * Measures the minimum space that is required to render the element  \
     *
     * @returns { Size } Measures the minimum space that is required to render the element.\
     * @param {Size} availableSize - provide the id value.
     *
     * @private
     */
    measure(availableSize: Size): Size;
    /**
     * Arranges the path element  \
     *
     * @returns { Size } Arranges the path element.\
     * @param {Size} desiredSize - provide the id value.
     *
     * @private
     */
    arrange(desiredSize: Size): Size;
    /**
     *  Translates the path to 0,0 and scales the path based on the actual size  \
     *
     * @returns { Size } Arranges the path element.\
     * @param {string} pathData - provide the id value.
     * @param {Rect} bounds - provide the id value.
     * @param {Size} actualSize - provide the id value.
     *
     * @private
     */
    updatePath(pathData: string, bounds: Rect, actualSize: Size): string;
}
//node_modules/@syncfusion/ej2-diagrams/src/diagram/core/elements/native-element.d.ts
/**
 * NativeElement defines the basic native elements
 */
export  class DiagramNativeElement extends DiagramElement {
    /**
     *  set the id for each element \
     *
     * @returns { void } set the id for each element.\
     * @param {string} nodeId - provide the id value.
     * @param {string} diagramId - provide the id value.
     *
     * @private
     */
    constructor(nodeId: string, diagramId: string);
    private data;
    /**
     * set the node id
     */
    nodeId: string;
    /**
     * set the diagram id
     */
    diagramId: string;
    /**
     *  get the id for each element \
     *
     * @returns { string | SVGElement } get the id for each element.\
     *
     * @private
     */
    /**
    *  sets the geometry of the native element \
    *
    * @returns { void } sets the geometry of the native element.\
    * @param {string | SVGElement} value - provide the id value.
    *
    * @private
    */
    content: string | SVGElement;
    /**
     * defines geometry of the native element
     *
     * @private
     */
    template: SVGElement;
    /**
     * sets scaling factor of the Native Element
     */
    scale: Stretch;
    /**
     * Saves the actual size of the Native Element
     *
     * @private
     */
    contentSize: Size;
    /**
     * Specifies whether the getcontent has to be executed or not.
     */
    private canReset;
    /**
     * Saves the top left point of the Native Element
     *
     * @private
     */
    templatePosition: PointModel;
    /**
     *Measures minimum space that is required to render the Native Element \
     *
     * @returns { Size }Measures minimum space that is required to render the Native Element.\
     * @param {Size} availableSize - provide the id value.
     *
     * @private
     */
    measure(availableSize: Size): Size;
    /**
     *Arranges the Native Element \
     *
     * @returns { Size }Arranges the Native Element.\
     * @param {Size} desiredSize - provide the id value.
     *
     * @private
     */
    arrange(desiredSize: Size): Size;
}
//node_modules/@syncfusion/ej2-diagrams/src/diagram/core/elements/image-element.d.ts
/**
 * ImageElement defines a basic image elements
 */
export  class ImageElement extends DiagramElement {
    /**
     * set the id for each element
     */
    constructor();
    /**
     * sets or gets the image source
     */
    private imageSource;
    /**
     * Gets the source for the image element
     */
    /**
     * Gets the source for the image element \
     *
     * @returns { void }Gets the source for the image element.\
     *
     * @private
     */
    /**
    * Sets the source for the image element \
    *
    * @returns { void }Sets the source for the image element.\
    * @param {string} value - provide the id value.
    *
    * @private
    */
    source: string;
    /**
     * sets scaling factor of the image
     */
    imageScale: Scale;
    /**
     * sets the alignment of the image
     */
    imageAlign: ImageAlignment;
    /**
     * Sets how to stretch the image
     */
    stretch: Stretch;
    /**
     * Saves the actual size of the image
     */
    contentSize: Size;
    /**
     * Measures minimum space that is required to render the image \
     *
     * @returns { Size }Measures minimum space that is required to render the image.\
     * @param {Size} availableSize - provide the id value.
     * @param {Object} id - provide the id value.
     * @param {Function} callback - provide the id value.
     *
     * @private
     */
    measure(availableSize: Size, id?: string, callback?: Function): Size;
    /**
     * Arranges the image
     * @param {Size} desiredSize
     */
    /**
     * Arranges the image \
     *
     * @returns { Size }Arranges the image.\
     * @param {Size} desiredSize - provide the id value.
     *
     * @private
     */
    arrange(desiredSize: Size): Size;
}
//node_modules/@syncfusion/ej2-diagrams/src/diagram/core/elements/html-element.d.ts
/**
 * HTMLElement defines the basic html elements
 */
export  class DiagramHtmlElement extends DiagramElement {
    /**
     * set the id for each element \
     *
     * @returns { void }set the id for each element\
     * @param {string} nodeId - provide the x value.
     * @param {string} diagramId - provide the y value.
     * @param {string} annotationId - provide the id value.
     * @param {string} nodeTemplate - provide the id value.
     *
     * @private
     */
    constructor(nodeId: string, diagramId: string, annotationId?: string, nodeTemplate?: string);
    /**
     * getNodeTemplate method \
     *
     * @returns { Function } getNodeTemplate method .\
     *
     * @private
     */
    getNodeTemplate(): Function;
    private templateFn;
    private data;
    /**
     * Gets the node id for the element
     */
    nodeId: string;
    /**
     * check whether it is html element or not
     *
     * @private
     */
    isTemplate: boolean;
    /**
     * defines the id of the annotation on rendering template on label.
     * @private
     */
    annotationId: string;
    /**
     * defines the constraints of the annotation on rendering template on label.
     *
     * @private
     */
    constraints: AnnotationConstraints;
    /**
     * Gets the diagram id for the html element
     */
    diagramId: string;
    /**
     * Specifies whether the getcontent has to be executed or not.
     */
    private canReset;
    /**
     * Gets or sets the geometry of the html element \
     *
     * @returns { string | HTMLElement } Gets or sets the geometry of the html element \
     *
     * @private
     */
    /**
    * Gets or sets the value of the html element \
    *
    * @returns { void }Gets or sets the value of the html element\
    * @param {string | HTMLElement} value - provide the value value.
    *
    * @private
    */
    content: string | HTMLElement | Function;
    /**
     * defines geometry of the html element
     *
     * @private
     */
    template: HTMLElement;
}
//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 the allowed direction for connections to the port
     */
    connectionDirection: PortConnectionDirection;
    /**
     * 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/Gets the element that is to be flipped in assigned flip direction along with the node
     */
    flipMode: FlipMode;
    /**
     * Sets whether the element has to be aligned with respect to a point/with respect to its immediate parent
     * * Point - Diagram elements will be aligned with respect to a point
     * * Object - Diagram elements will be aligned with respect to its immediate parent
     */
    relativeMode: RelativeMode;
    /**
     * Sets whether the element has to be transformed based on its parent or not
     * * Self - Sets the transform type as Self
     * * Parent - Sets the transform type as Parent
     */
    transform: Transform;
    /**
     * Sets the style of the element
     */
    style: ShapeStyleModel;
    /**
     * Gets the parent id for the element
     */
    parentId: string;
    /**
     * Gets the minimum size that is required by the element
     */
    desiredSize: Size;
    /**
     * Gets the size that the element will be rendered
     */
    actualSize: Size;
    /**
     * Gets the rotate angle that is set to the immediate parent of the element
     */
    parentTransform: number;
    /** @private */
    preventContainer: boolean;
    /**
     * Gets/Set the boolean value for the element
     */
    isSvgRender: boolean;
    /**
     * Gets/Sets the boundary of the element
     */
    bounds: Rect;
    /**
     * Gets/Sets the corners of the rectangular bounds
     */
    corners: Corners;
    /**
     * Defines the appearance of the shadow of the element
     */
    shadow: ShadowModel;
    /**
     * Defines the description of the diagram element
     */
    description: string;
    /**
     * Defines whether the element has to be measured or not
     */
    staticSize: boolean;
    /**
     * Defines the shape of the diagram element
     */
    shapeType: string;
    /**
     * check whether the element is rect or not
     */
    isRectElement: boolean;
    /** @private */
    isCalculateDesiredSize: boolean;
    /**
     * Set the offset values for container in flipping
     */
    /** @private */
    flipOffset: PointModel;
    /**
     * Defines whether the element is group or port
     */
    /** @private */
    elementActions: ElementAction;
    /** @private */
    inversedAlignment: boolean;
    /**
     * Sets the offset of the element with respect to its parent \
     *
     * @returns { void }Sets the offset of the element with respect to its parent\
     * @param {number} x - provide the x value.
     * @param {number} y - provide the y value.
     * @param {UnitMode} mode - provide the id value.
     *
     * @private
     */
    setOffsetWithRespectToBounds(x: number, y: number, mode: UnitMode): void;
    /**
     * Gets the position of the element with respect to its parent \
     *
     * @returns { PointModel } Gets the position of the element with respect to its parent\
     * @param {Size} size - provide the x value.
     *
     * @private
     */
    getAbsolutePosition(size: Size): PointModel;
    private position;
    private unitMode;
    /**   @private  */
    float: boolean;
    /**
    * used to set the outer bounds value \
    *
    * @returns { void } used to set the outer bounds value.\
    * @param {Rect} bounds - provide the id value.
    *
    * @private
    */
    outerBounds: Rect;
    private floatingBounds;
    /**
     * Measures the minimum space that the element requires \
     *
     * @returns { void } Measures the minimum space that the element requires.\
     * @param {Size} availableSize - provide the id value.
     * @param {Object} obj - provide the id value.
     * @param {Function} callback - provide the id value.
     *
     * @private
     */
    measure(availableSize: Size, obj?: Object, callback?: Function): Size;
    /**
     * Arranges the element \
     *
     * @returns { PointModel } Arranges the element\
     * @param {Size} desiredSize - provide the x value.
     *
     * @private
     */
    arrange(desiredSize: Size): Size;
    /**
     * Updates the bounds of the element \
     *
     * @returns { void } Updates the bounds of the element\
     *
     * @private
     */
    updateBounds(): void;
    /**
     * Validates the size of the element with respect to its minimum and maximum size \
     *
     * @returns { Size } Validates the size of the element with respect to its minimum and maximum size.\
     * @param {Size} desiredSize - provide the id value.
     * @param {Size} availableSize - provide the id value.
     *
     * @private
     */
    protected validateDesiredSize(desiredSize: Size, availableSize: Size): Size;
}
/**
 * Interface for a class corners
 */
export interface Corners {
    /** returns the top left point of canvas corner */
    topLeft: PointModel;
    /** returns the top center point of canvas corner */
    topCenter: PointModel;
    /** returns the top right point of canvas corner */
    topRight: PointModel;
    /** returns the middle left point of canvas corner */
    middleLeft: PointModel;
    /** returns the center point of canvas corner */
    center: PointModel;
    /** returns the middle left point of canvas corner */
    middleRight: PointModel;
    /** returns the bottom left point of canvas corner */
    bottomLeft: PointModel;
    /** returns the bottom center point of canvas corner */
    bottomCenter: PointModel;
    /** returns the bottom right point of canvas corner */
    bottomRight: PointModel;
    /** returns left position of canvas corner */
    left: number;
    /** returns right position of canvas corner */
    right: number;
    /** returns top position of canvas corner */
    top: number;
    /** returns bottom position of canvas corner */
    bottom: number;
    /** returns width of canvas */
    width: number;
    /** returns height of canvas */
    height: number;
}
//node_modules/@syncfusion/ej2-diagrams/src/diagram/core/containers/stack-panel.d.ts
/**
 * StackPanel module is used to arrange its children in a line
 */
export  class StackPanel extends Container {
    /**
     * Gets/Sets the orientation of the stack panel
     */
    orientation: Orientation;
    /**
     * Not applicable for canvas
     * to avoid the child size updation with respect to parent ser true
     *
     * @private
     */
    measureChildren: boolean;
    /**
     * Sets or gets whether the padding of the element needs to be measured
     *
     * @private
     */
    considerPadding: boolean;
    /**
     * Measures the minimum space that the panel needs \
     *
     * @returns { Size } Measures the minimum space that the panel needs.\
     * @param {Size} availableSize - provide the id value.
     *
     * @private
     */
    measure(availableSize: Size): Size;
    /**
     * Arranges the child elements of the stack panel \
     *
     * @returns { Size } Arranges the child elements of the stack panel.\
     * @param {Size} desiredSize - provide the id value.
     *
     * @private
     */
    arrange(desiredSize: Size): Size;
    /**
     * Measures the minimum space that the panel needs \
     *
     * @returns { Size } Measures the minimum space that the panel needs.\
     * @param {Size} availableSize - provide the id value.
     * @param {Function} updateSize - provide the id value.
     *
     * @private
     */
    private measureStackPanel;
    private arrangeStackPanel;
    private updateHorizontalStack;
    private updateVerticalStack;
    private arrangeHorizontalStack;
    private arrangeVerticalStack;
    protected stretchChildren(size: Size): void;
    private applyChildMargin;
}
//node_modules/@syncfusion/ej2-diagrams/src/diagram/core/containers/grid.d.ts
/**
 * Grid panel is used to arrange the children in a table like structure
 */
export  class GridPanel extends Container {
    private childTable;
    /**
     * rowDefinitions method \
     *
     * @returns { RowDefinition[] } columnDefinitions method .\
     *
     * @private
     */
    rowDefinitions(): RowDefinition[];
    private rowDefns;
    /**
     * columnDefinitions method \
     *
     * @returns { ColumnDefinition[] } columnDefinitions method .\
     *
     * @private
     */
    columnDefinitions(): ColumnDefinition[];
    private colDefns;
    /** @private */
    rows: GridRow[];
    cellStyle: ShapeStyleModel;
    private desiredRowHeight;
    private desiredCellWidth;
    addObject(obj: DiagramElement, rowId?: number, columnId?: number, rowSpan?: number, columnSpan?: number): void;
    private addObjectToCell;
    /**
     * updateProperties method \
     *
     * @returns { void } updateProperties method .\
     * @param {number} offsetX - provide the Connector value.
     * @param {number} offsetY - provide the Connector value.
     * @param {number} width - provide the Connector value.
     * @param {number} height - provide the Connector value.
     *
     * @private
     */
    updateProperties(offsetX: number, offsetY: number, width: number, height: number): void;
    /**
     * setDefinitions method \
     *
     * @returns { void } setDefinitions method .\
     * @param {RowDefinition[]} rows - provide the rows value.
     * @param {ColumnDefinition[]} columns - provide the Connector value.
     *
     * @private
     */
    setDefinitions(rows: RowDefinition[], columns: ColumnDefinition[]): void;
    /**
     * addCellInRow method \
     *
     * @returns { void } addCellInRow method .\
     * @param {ColumnDefinition[]} columns - provide the rows value.
     * @param {RowDefinition} rowDefn - provide the Connector value.
     * @param {GridRow} row - provide the Connector value.
     *
     * @private
     */
    private addCellInRow;
    /**
     * calculateSize method \
     *
     * @returns { void } calculateSize method .\
     *
     * @private
     */
    private calculateSize;
    /**
     * updateRowHeight method \
     *
     * @returns { void } updateRowHeight method .\
     * @param {number} rowId - provide the rows value.
     * @param {number} height - provide the Connector value.
     * @param {boolean} isConsiderChild - provide the Connector value.
     * @param {number} padding - provide the Connector value.
     * @param {boolean} isUndoRedo - Provide if its undo-redo action or not
     * @private
     */
    updateRowHeight(rowId: number, height: number, isConsiderChild: boolean, padding?: number, isUndoRedo?: boolean): void;
    private setTextRefresh;
    /**
     * updateColumnWidth method \
     *
     * @returns { void } updateColumnWidth method .\
     * @param {number} colId - provide the rows value.
     * @param {number} width - provide the Connector value.
     * @param {boolean} isConsiderChild - provide the Connector value.
     * @param {number} padding - provide the Connector value.
     * @param {boolean} isUndoRedo - Provide if its undo-redo action or not
     *
     * @private
     */
    updateColumnWidth(colId: number, width: number, isConsiderChild: boolean, padding?: number, isUndoRedo?: boolean): void;
    private calculateCellWidth;
    private calculateCellHeight;
    private calculateCellSizeBasedOnChildren;
    private calculateCellWidthBasedOnChildren;
    private calculateCellHeightBasedOnChildren;
    /**
     * addRow method \
     *
     * @returns { void } addRow method .\
     * @param {number} rowId - provide the rowId value.
     * @param {number} rowDefn - provide the rowDefn value.
     * @param {boolean} isMeasure - provide the isMeasure value.
     *
     * @private
     */
    addRow(rowId: number, rowDefn: RowDefinition, isMeasure: boolean): void;
    /**
     * addColumn method \
     *
     * @returns { void } addColumn method .\
     * @param {number} columnId - provide the rowId value.
     * @param {number} column - provide the rowDefn value.
     * @param {boolean} isMeasure - provide the isMeasure value.
     *
     * @private
     */
    addColumn(columnId: number, column: ColumnDefinition, isMeasure?: boolean): void;
    /**
     * removeRow method \
     *
     * @returns { void } removeRow method .\
     * @param {number} rowId - provide the rowId value.
     *
     * @private
     */
    removeRow(rowId: number): void;
    /**
     * removeColumn method \
     *
     * @returns { void } removeColumn method .\
     * @param {number} columnId - provide the rowId value.
     *
     * @private
     */
    removeColumn(columnId: number): void;
    /**
     * updateRowIndex method \
     *
     * @returns { void } updateRowIndex method .\
     * @param {number} currentIndex - provide the rowId value.
     * @param {number} newIndex - provide the rowId value.
     *
     * @private
     */
    updateRowIndex(currentIndex: number, newIndex: number): void;
    /**
     * updateColumnIndex method \
     *
     * @returns { void } updateColumnIndex method .\
     * @param {number} startRowIndex - provide the startRowIndex value.
     * @param {number} currentIndex - provide the currentIndex value.
     * @param {number} newIndex - provide the newIndex value.
     *
     * @private
     */
    updateColumnIndex(startRowIndex: number, currentIndex: number, newIndex: number): void;
    /**
     * measure method \
     *
     * @returns { Size } measure method .\
     * @param {Size} availableSize - provide the startRowIndex value.
     *
     * @private
     */
    measure(availableSize: Size): Size;
    /**
     * arrange method \
     *
     * @returns { Size } arrange method .\
     * @param {Size} desiredSize - provide the startRowIndex value.
     * @param {boolean} isChange - provide the startRowIndex value.
     *
     * @private
     */
    arrange(desiredSize: Size, isChange?: boolean): Size;
}
/**
 * Defines the behavior of the RowDefinition of node
 */
export  class RowDefinition {
    /** returns the height of node */
    height: number;
}
/**
 * Defines the behavior of the ColumnDefinition of node
 */
export  class ColumnDefinition {
    /** returns the width of node */
    width: number;
}
/** @private */
export  class GridRow {
    cells: GridCell[];
}
/** @private */
export  class GridCell extends Canvas {
    columnSpan: number;
    rowSpan: number;
    desiredCellWidth: number;
    desiredCellHeight: number;
}
//node_modules/@syncfusion/ej2-diagrams/src/diagram/core/containers/container.d.ts
/**
 * Container module is used to group related objects
 */
export  class Container extends DiagramElement {
    /**
     * Gets/Sets the space between the container and its immediate children
     */
    padding: Thickness;
    /**
     * Gets/Sets the collection of child elements
     */
    children: DiagramElement[];
    private desiredBounds;
    /** @private */
    measureChildren: boolean;
    /**
     * returns whether the container has child elements or not
     */
    hasChildren(): boolean;
    /**   @private  */
    prevRotateAngle: number;
    /**
     * Measures the minimum space that the container requires
     *
     * @param {Size} availableSize
     * @param {string} id
     * @param {Function} callback
     */
    measure(availableSize: Size, id?: string, callback?: Function): Size;
    /**
     * Arranges the container and its children
     *
     * @param {Size} desiredSize  - provide the desiredSize value
     */
    arrange(desiredSize: Size): Size;
    /**
     * Stretches the child elements based on the size of the container
     *
     * @param {Size} size  - provide the size value
     */
    protected stretchChildren(size: Size): void;
    /**
     * Considers the padding of the element when measuring its desired size
     * @param {Size} size - provide the size value
     */
    protected applyPadding(size: Size): void;
    /**
     * Finds the offset of the child element with respect to the container
     *
     * @param {DiagramElement} child - provide the child value
     * @param {PointModel} center - provide the center value
     */
    protected findChildOffsetFromCenter(child: DiagramElement, center: PointModel): void;
    private GetChildrenBounds;
}
//node_modules/@syncfusion/ej2-diagrams/src/diagram/core/containers/canvas.d.ts
/**
 * Canvas module is used to define a plane(canvas) and to arrange the children based on margin
 */
export  class Canvas extends Container {
    /**
     * Not applicable for canvas
     *
     *  @private
     */
    measureChildren: boolean;
    /**
     * Measures the minimum space that the canvas requires \
     *
     * @returns { Size } Measures the minimum space that the canvas requires .\
     * @param {string} id - provide the id value.
     * @param {Function} callback - provide the Connector value.
     *
     * @private
     */
    measure(availableSize: Size, id?: string, callback?: Function): Size;
    /**
     * Arranges the child elements of the canvas
     */
    arrange(desiredSize: Size, isStack?: boolean): Size;
    private setParentTransform;
    private alignChildBasedOnParent;
    private alignChildBasedOnaPoint;
}
 }
export namespace documenteditor { 

//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 the toolbar in document editor container.
     *
     * @default true
     */
    enableToolbar: boolean;
    /**
     * Specifies the restrict editing operation.
     *
     * @default false
     */
    restrictEditing: boolean;
    /**
     * Enable or disable the spell checker in document editor container.
     *
     * @default false
     */
    enableSpellCheck: boolean;
    /**
     * Enable or disable the track changes in document editor container.
     *
     * @default false
     */
    enableTrackChanges: boolean;
    /**
     * Gets or sets the Layout Type.
     *
     * @default Pages
     */
    layoutType: LayoutType;
    /**
     * Gets or sets the current user.
     *
     * @default ''
     */
    currentUser: string;
    /**
     * Gets or sets the color used for highlighting the editable ranges or regions of the `currentUser` in Document Editor. The default value is "#FFFF00".
     * > If the visibility of text affected due this highlight color matching with random color applied for the track changes, then modify the color value of this property to resolve text visibility problem.
     *
     * @default '#FFFF00'
     */
    userColor: string;
    /**
     * Enables the local paste.
     *
     * @default false
     */
    enableLocalPaste: boolean;
    /**
     * Gets or sets the Sfdt service URL.
     *
     * @default ''
     */
    serviceUrl: string;
    /**
     * Specifies the z-order for rendering that determines whether the dialog is displayed in front or behind of another component.
     *
     * @default 2000
     * @aspType int
     */
    zIndex: number;
    /**
     * Enables the rendering with strict Content Security policy.
     */
    enableCsp: boolean;
    /**
     * Gets or sets a value indicating whether comment is enabled or not
     *
     * @default true
     */
    enableComment: boolean;
    /**
     * Defines the width of the DocumentEditorContainer component
     *
     * @default '100%'
     */
    width: string;
    /**
     * Defines the height of the DocumentEditorContainer component
     *
     * @default '320px'
     */
    height: string;
    /**
     * Gets or sets a value indicating whether the automatic focus behavior is enabled for Document editor or not.
     *
     * > By default, the Document editor gets focused automatically when the page loads. If you want the Document editor not to be focused automatically, then set this property to false.
     *
     * @returns {boolean}
     * @aspType bool
     * @default true
     */
    enableAutoFocus: boolean;
    /**
     * Enables the partial lock and edit module.
     *
     * @default false
     */
    enableLockAndEdit: boolean;
    /**
     * Gets or sets a value indicating whether to start automatic resize with the specified time interval and iteration count.
     *
     * > * Resize action triggers automatically for the specified number of iterations, or till the parent element's height and width is non-zero.
     *
     * > * If the parent element's height and width is zero even in the last iteration, then the default height and width (200) is allocated for the Document editor.
     *
     * @default false
     * @returns {boolean}
     */
    autoResizeOnVisibilityChange: boolean;
    /**
     * Triggers when the component is created
     *
     * @event created
     */
    created: base.EmitType<Object>;
    /**
     * Triggers when the component is destroyed.
     *
     * @event destroyed
     */
    destroyed: base.EmitType<Object>;
    /**
     * Triggers whenever the content changes in the document editor container.
     *
     * @event contentChange
     */
    contentChange: base.EmitType<ContainerContentChangeEventArgs>;
    /**
     * Triggers whenever selection changes in the document editor container.
     *
     * @event selectionChange
     */
    selectionChange: base.EmitType<ContainerSelectionChangeEventArgs>;
    /**
     * Triggers whenever document changes in the document editor container.
     *
     * @event documentChange
     */
    documentChange: base.EmitType<ContainerDocumentChangeEventArgs>;
    /**
     * Triggers when toolbar item is clicked.
     *
     * @event toolbarClick
     */
    toolbarClick: base.EmitType<navigations.ClickEventArgs>;
    /**
     * Triggers while selecting the custom context-menu option.
     *
     * @event customContextMenuSelect
     */
    customContextMenuSelect: base.EmitType<CustomContentMenuEventArgs>;
    /**
     * Triggers before opening the custom context-menu option.
     *
     * @event customContextMenuBeforeOpen
     */
    customContextMenuBeforeOpen: base.EmitType<BeforeOpenCloseCustomContentMenuEventArgs>;
    /**
     * Trigger before switching panes in DocumentEditor.
     *
     * @event beforePaneSwitch
     */
    beforePaneSwitch: base.EmitType<BeforePaneSwitchEventArgs>;
    /**
     * Triggers on deleting a comment.
     *
     * @event commentDelete
     */
    commentDelete: base.EmitType<CommentDeleteEventArgs>;
    /**
     * Triggers before accepting or rejecting changes.
     *
     * @event beforeAcceptRejectChanges
     */
    beforeAcceptRejectChanges: base.EmitType<RevisionActionEventArgs>;
    /**
     * Triggers on comment actions(Post, edit, reply, resolve, reopen).
     *
     * @event beforeCommentAction
     */
    beforeCommentAction: base.EmitType<CommentActionEventArgs>;
    /**
     * Triggers when the server action fails.
     *
     * @event serviceFailure
     */
    serviceFailure: base.EmitType<ServiceFailureArgs>;
    /**
     * Triggers Keyboard shortcut of TrackChanges.
     *
     * @event trackChange
     */
    trackChange: base.EmitType<TrackChangeEventArgs>;
    /**
     * Triggers when user interaction prevented in content control.
     *
     * @event contentControl
     */
    contentControl: base.EmitType<Object>;
    /**
     * Triggers before a server request is started, allows you to modify the XMLHttpRequest object (setting additional headers, if needed).
     */
    beforeXmlHttpRequestSend: base.EmitType<XmlHttpRequestEventArgs>;
    /**
     * Document editor container's toolbar module
     *
     * @private
     */
    toolbarModule: Toolbar;
    /**
     * @private
     */
    localObj: base.L10n;
    /**
     * Document Editor instance
     */
    private documentEditorInternal;
    /**
     * @private
     */
    toolbarContainer: HTMLElement;
    /**
     * @private
     */
    editorContainer: HTMLElement;
    /**
     * @private
     */
    propertiesPaneContainer: HTMLElement;
    /**
     * @private
     */
    statusBarElement: HTMLElement;
    /**
     * Header footer Properties
     *
     * @private
     */
    headerFooterProperties: HeaderFooterProperties;
    /**
     * Image Properties Pane
     *
     * @private
     */
    imageProperties: ImageProperties;
    /**
     * @private
     */
    tocProperties: TocProperties;
    /**
     * @private
     */
    tableProperties: TableProperties;
    /**
     * @private
     */
    statusBar: StatusBar;
    /**
     * @private
     */
    containerTarget: HTMLElement;
    /**
     * @private
     */
    previousContext: string;
    /**
     * @private
     */
    characterFormat: CharacterFormatProperties;
    /**
     * @private
     */
    paragraphFormat: ParagraphFormatProperties;
    /**
     * @private
     */
    sectionFormat: SectionFormatProperties;
    /**
     * @private
     */
    showHeaderProperties: boolean;
    /**
     * This will hold the value of showPropertiesPane during initial rendering or whenever the propertyChange occurs
     *
     * @private
     */
    showPane: boolean;
    /**
     * Defines the settings for DocumentEditor customization.
     *
     * @default {}
     */
    documentEditorSettings: DocumentEditorSettingsModel;
    /**
     * Gets the settings and properties of the document that is opened in Document editor component.
     *
     * @default {}
     */
    documentSettings: DocumentSettingsModel;
    /**
     * Defines the settings of the DocumentEditorContainer service.
     */
    serverActionSettings: ContainerServerActionSettingsModel;
    /**
     * Defines toolbar items for DocumentEditorContainer.
     *
     * @default ['New','Open','Separator','Undo','Redo','Separator','Image','Table','Hyperlink','Bookmark','TableOfContents','Separator','Header','Footer','PageSetup','PageNumber','Break','InsertFootnote','InsertEndnote','Separator','Find','Separator','Comments','TrackChanges','LocalClipboard','RestrictEditing','Separator','FormFields','UpdateFields','ContentControl','XML Mapping']
     */
    toolbarItems: (CustomToolbarItemModel | ToolbarItem)[];
    /**
     * Adds the custom headers to XMLHttpRequest.
     *
     * @default []
     */
    headers: object[];
    /**
     * Gets the DocumentEditor instance.
     *
     * @aspType DocumentEditor
     * @returns {DocumentEditor} Returns the DocumentEditor instance.
     */
    readonly documentEditor: DocumentEditor;
    /**
     * Gets the toolbar instance.
     *
     * @returns {Toolbar} Returns the toolbar module.
     */
    readonly toolbar: Toolbar;
    /**
     * Initializes a new instance of the DocumentEditorContainer class.
     *
     * @param { DocumentEditorContainerModel } options Specifies the DocumentEditorContainer model as options.
     * @param { string | HTMLElement } element Specifies the element that is rendered as a DocumentEditorContainer.
     */
    constructor(options?: DocumentEditorContainerModel, element?: string | HTMLElement);
    /**
     * default locale
     *
     * @private
     */
    defaultLocale: Object;
    /**
     * @private
     * @returns {string} Returns the DocumentEditorContainer module name.
     */
    getModuleName(): string;
    /**
     * @private
     */
    onPropertyChanged(newModel: DocumentEditorContainerModel, oldModel: DocumentEditorContainerModel): void;
    /**
     * @private
     */
    protected preRender(): void;
    /**
     * @private
     */
    protected render(): void;
    private restrictEditingToggleHelper;
    private setFormat;
    private setserverActionSettings;
    private customizeDocumentEditorSettings;
    /**
     * @private
     */
    getPersistData(): string;
    protected requiredModules(): base.ModuleDeclaration[];
    private initContainerElement;
    private createToolbarContainer;
    private initializeDocumentEditor;
    private wireEvents;
    private onWindowResize;
    private onOptionPaneChange;
    private onEnableTrackChanges;
    private triggerAutoResize;
    private onBeforeAutoResize;
    private unWireEvents;
    private onCommentBegin;
    private onCommentEnd;
    private beforeXmlHttpSend;
    private onCommentDelete;
    private onBeforeAcceptRejectChanges;
    private onCommentAction;
    private onTrackChange;
    private onBeforePaneSwitch;
    /**
     * @private
     */
    private fireServiceFailure;
    /**
     * @private
     */
    showHidePropertiesPane(show: boolean): void;
    private updateStyleCollection;
    /**
     * Resizes the container component and its sub elements based on given size or client size.
     * @param width The width to be applied.
     * @param height The height to be applied.
     */
    resize(width?: number, height?: number): void;
    /**
    * @private
    */
    refreshFontFamilies(fontFamilies: string[]): void;
    /**
     * @private
     */
    onContentChange(args: ContentChangeEventArgs): void;
    /**
     * @private
     */
    onDocumentChange(): void;
    /**
     * @private
     */
    onSelectionChange(): void;
    /**
     * @private
     */
    private onZoomFactorChange;
    private updateShowHiddenMarks;
    /**
     * @private
     */
    private onRequestNavigate;
    /**
     * @private
     */
    private onViewChange;
    /**
     * @private
     */
    private onCustomContextMenuSelect;
    /**
     * @private
     */
    private onCustomContextMenuBeforeOpen;
    /**
     * @private
     */
    showPropertiesPaneOnSelection(): void;
    /**
     * @private
     * @param property
     */
    showProperties(property: string): void;
    /**
     * Set the default character format for document editor container
     * @param characterFormat Specify the character format properties to be applied for document editor.
     */
    setDefaultCharacterFormat(characterFormat: CharacterFormatProperties): void;
    /**
     * Set the default paragraph format for document editor container
     * @param paragraphFormat Specify the paragraph format properties to be applied for document editor.
     */
    setDefaultParagraphFormat(paragraphFormat: ParagraphFormatProperties): void;
    /**
     * Set the default section format for document editor container
     * @param sectionFormat Specify the section format properties to be applied for document editor.
     */
    setDefaultSectionFormat(sectionFormat: SectionFormatProperties): void;
    /**
     * Destroys all managed resources used by this object.
     */
    destroy(): void;
}
//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 the toolbar in document editor container.
     *
     * @default true
     */
    enableToolbar?: boolean;
    /**
     * Specifies the restrict editing operation.
     *
     * @default false
     */
    restrictEditing?: boolean;
    /**
     * Enable or disable the spell checker in document editor container.
     *
     * @default false
     */
    enableSpellCheck?: boolean;
    /**
     * Enable or disable the track changes in document editor container.
     *
     * @default false
     */
    enableTrackChanges?: boolean;
    /**
     * Gets or sets the Layout Type.
     *
     * @default Pages
     */
    layoutType?: LayoutType;
    /**
     * Gets or sets the current user.
     *
     * @default ''
     */
    currentUser?: string;
    /**
     * Gets or sets the color used for highlighting the editable ranges or regions of the `currentUser` in Document Editor. The default value is "#FFFF00".
     * > If the visibility of text affected due this highlight color matching with random color applied for the track changes, then modify the color value of this property to resolve text visibility problem.
     *
     * @default '#FFFF00'
     */
    userColor?: string;
    /**
     * Enables the local paste.
     *
     * @default false
     */
    enableLocalPaste?: boolean;
    /**
     * Gets or sets the Sfdt service URL.
     *
     * @default ''
     */
    serviceUrl?: string;
    /**
     * Specifies the z-order for rendering that determines whether the dialog is displayed in front or behind of another component.
     *
     * @default 2000
     * @aspType int
     */
    zIndex?: number;
    /**
     * Enables the rendering with strict Content Security policy.
     */
    enableCsp?: boolean;
    /**
     * Gets or sets a value indicating whether comment is enabled or not
     *
     * @default true
     */
    enableComment?: boolean;
    /**
     * Defines the width of the DocumentEditorContainer component
     *
     * @default '100%'
     */
    width?: string;
    /**
     * Defines the height of the DocumentEditorContainer component
     *
     * @default '320px'
     */
    height?: string;
    /**
     * Gets or sets a value indicating whether the automatic focus behavior is enabled for Document editor or not.
     *
     * > By default, the Document editor gets focused automatically when the page loads. If you want the Document editor not to be focused automatically, then set this property to false.
     *
     * @returns {boolean}
     * @aspType bool
     * @default true
     */
    enableAutoFocus?: boolean;
    /**
     * Enables the partial lock and edit module.
     *
     * @default false
     */
    enableLockAndEdit?: boolean;
    /**
     * Gets or sets a value indicating whether to start automatic resize with the specified time interval and iteration count.
     *
     * > * Resize action triggers automatically for the specified number of iterations, or till the parent element's height and width is non-zero.
     *
     * > * If the parent element's height and width is zero even in the last iteration, then the default height and width (200) is allocated for the Document editor.
     *
     * @default false
     * @returns {boolean}
     */
    autoResizeOnVisibilityChange?: boolean;
    /**
     * Triggers when the component is created
     *
     * @event created
     */
    created?: base.EmitType<Object>;
    /**
     * Triggers when the component is destroyed.
     *
     * @event destroyed
     */
    destroyed?: base.EmitType<Object>;
    /**
     * Triggers whenever the content changes in the document editor container.
     *
     * @event contentChange
     */
    contentChange?: base.EmitType<ContainerContentChangeEventArgs>;
    /**
     * Triggers whenever selection changes in the document editor container.
     *
     * @event selectionChange
     */
    selectionChange?: base.EmitType<ContainerSelectionChangeEventArgs>;
    /**
     * Triggers whenever document changes in the document editor container.
     *
     * @event documentChange
     */
    documentChange?: base.EmitType<ContainerDocumentChangeEventArgs>;
    /**
     * Triggers when toolbar item is clicked.
     *
     * @event toolbarClick
     */
    toolbarClick?: base.EmitType<navigations.ClickEventArgs>;
    /**
     * Triggers while selecting the custom context-menu option.
     *
     * @event customContextMenuSelect
     */
    customContextMenuSelect?: base.EmitType<CustomContentMenuEventArgs>;
    /**
     * Triggers before opening the custom context-menu option.
     *
     * @event customContextMenuBeforeOpen
     */
    customContextMenuBeforeOpen?: base.EmitType<BeforeOpenCloseCustomContentMenuEventArgs>;
    /**
     * Trigger before switching panes in DocumentEditor.
     *
     * @event beforePaneSwitch
     */
    beforePaneSwitch?: base.EmitType<BeforePaneSwitchEventArgs>;
    /**
     * Triggers on deleting a comment.
     *
     * @event commentDelete
     */
    commentDelete?: base.EmitType<CommentDeleteEventArgs>;
    /**
     * Triggers before accepting or rejecting changes.
     *
     * @event beforeAcceptRejectChanges
     */
    beforeAcceptRejectChanges?: base.EmitType<RevisionActionEventArgs>;
    /**
     * Triggers on comment actions(Post, edit, reply, resolve, reopen).
     *
     * @event beforeCommentAction
     */
    beforeCommentAction?: base.EmitType<CommentActionEventArgs>;
    /**
     * Triggers when the server action fails.
     *
     * @event serviceFailure
     */
    serviceFailure?: base.EmitType<ServiceFailureArgs>;
    /**
     * Triggers Keyboard shortcut of TrackChanges.
     *
     * @event trackChange
     */
    trackChange?: base.EmitType<TrackChangeEventArgs>;
    /**
     * Triggers when user interaction prevented in content control.
     *
     * @event contentControl
     */
    contentControl?: base.EmitType<Object>;
    /**
     * Triggers before a server request is started, allows you to modify the XMLHttpRequest object (setting additional headers, if needed).
     */
    beforeXmlHttpRequestSend?: base.EmitType<XmlHttpRequestEventArgs>;
    /**
     * Defines the settings for DocumentEditor customization.
     *
     * @default {}
     */
    documentEditorSettings?: DocumentEditorSettingsModel;
    /**
     * Gets the settings and properties of the document that is opened in Document editor component.
     *
     * @default {}
     */
    documentSettings?: DocumentSettingsModel;
    /**
     * Defines the settings of the DocumentEditorContainer service.
     */
    serverActionSettings?: ContainerServerActionSettingsModel;
    /**
     * Defines toolbar items for DocumentEditorContainer.
     *
     * @default ['New','Open','Separator','Undo','Redo','Separator','Image','Table','Hyperlink','Bookmark','TableOfContents','Separator','Header','Footer','PageSetup','PageNumber','Break','InsertFootnote','InsertEndnote','Separator','Find','Separator','Comments','TrackChanges','LocalClipboard','RestrictEditing','Separator','FormFields','UpdateFields','ContentControl','XML Mapping']
     */
    toolbarItems?: (CustomToolbarItemModel | ToolbarItem)[];
    /**
     * Adds the custom headers to XMLHttpRequest.
     *
     * @default []
     */
    headers?: object[];
}
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor-container/tool-bar/tool-bar.d.ts
/**
 * Toolbar Module
 */
export  class Toolbar {
    /**
     * @private
     */
    toolbar: navigations.Toolbar;
    /**
     * @private
     */
    container: DocumentEditorContainer;
    /**
     * @private
     */
    filePicker: HTMLInputElement;
    /**
     * @private
     */
    imagePicker: HTMLInputElement;
    /**
     * @private
     */
    propertiesPaneButton: buttons.Button;
    /**
     * @private
     */
    /**
     * @private
     */
    isCommentEditing: boolean;
    private restrictDropDwn;
    private imgDropDwn;
    private breakDropDwn;
    private breakListView;
    private formFieldDropDown;
    private toolbarItems;
    private toolbarTimer;
    private buttonElement;
    private PageSetUpDropDwn;
    private ContentControlDropDwn;
    private readonly documentEditor;
    /**
     * @private
     * @param {DocumentEditorContainer} container - DocumentEditorContainer object.
     */
    constructor(container: DocumentEditorContainer);
    private getModuleName;
    /**
     * Enables or disables the specified Toolbar item.
     *
     * @param  {number} itemIndex - Index of the toolbar items that need to be enabled or disabled.
     * @param  {boolean} isEnable  - Boolean value that determines whether the toolbar item should be enabled or disabled. By default, `isEnable` is set to true.
     * @returns {void}
     */
    enableItems(itemIndex: number, isEnable: boolean): void;
    /**
     * @private
     * @param {CustomToolbarItemModel|ToolbarItem} items - Toolbar items
     * @returns {void}
     */
    initToolBar(items: (CustomToolbarItemModel | ToolbarItem)[]): void;
    private renderToolBar;
    private initToolbarDropdown;
    private onListViewSelection;
    private onBeforeRenderRestrictDropdown;
    private toggleRestrictIcon;
    private showHidePropertiesPane;
    private onWrapText;
    private wireEvent;
    private initToolbarItems;
    /**
     * @private
     * @param {CustomToolbarItemModel|ToolbarItem} items - Toolbar items
     * @returns {void}
     */
    reInitToolbarItems(items: (CustomToolbarItemModel | ToolbarItem)[]): void;
    private getToolbarItems;
    private clickHandler;
    private toggleLocalPaste;
    private toggleEditing;
    /**
     * @private
     * @param {boolean} enable - Enable/Disable restrictEditing changes toolbar item.
     * @returns {void}
     */
    toggleRestrictEditing(enable: boolean): void;
    private toggleButton;
    private toggleTrackChangesInternal;
    private togglePropertiesPane;
    private onDropDownButtonSelect;
    private onFileChange;
    private isSupportedFormatType;
    private failureHandler;
    private successHandler;
    private onImageChange;
    private insertImage;
    private enableDisableFormField;
    /**
     * @private
     * @param {boolean} enable - Emable/Disable insert comment toolbar item.
     * @returns {void}
     */
    enableDisableInsertComment(enable: boolean): void;
    /**
     * @private
     * @param {boolean} enable - Emable/Disable track changes toolbar item.
     * @returns {void}
     */
    toggleTrackChanges(enable: boolean): void;
    /**
     * @private
     * @param {boolean} enable - Enable/Diable toolbar items.
     * @param {boolean} isProtectedContent - Define whether document is protected.
     * @returns {void}
     */
    enableDisableToolBarItem(enable: boolean, isProtectedContent: boolean): void;
    private containsItem;
    /**
     * @private
     * @returns {void}
     */
    enableDisableUndoRedo(): void;
    private onToc;
    /**
     * @private
     * @param {boolean} isShow - show/hide property pane.
     * @returns {void}
     */
    enableDisablePropertyPaneButton(isShow: boolean): void;
    /**
     * @private
     * @returns { void }
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor-container/properties-pane/text-properties.d.ts
/**
 * Text Properties
 *
 * @private
 */
export  class Text {
    private container;
    private textProperties;
    private bold;
    private italic;
    private underline;
    private strikethrough;
    private subscript;
    private superscript;
    private boldBtn;
    private italicBtn;
    private underlineBtn;
    private strikethroughBtn;
    private subscriptBtn;
    private superscriptBtn;
    private clearFormatBtn;
    private fontColor;
    private highlightColor;
    private highlightColorElement;
    private fontColorInputElement;
    private highlightColorInputElement;
    private clearFormat;
    private fontSize;
    fontFamily: dropdowns.ComboBox;
    private isRetrieving;
    appliedHighlightColor: string;
    localObj: base.L10n;
    private isRtl;
    private changeCaseDropdown;
    private readonly documentEditor;
    /**
     * Initialize text properties.
     *
     * @param {DocumentEditorContainer} container - DocumentEditorContainer instance.
     * @param {boolean} isRtl - Specifies the RTL layout.
     */
    constructor(container: DocumentEditorContainer, isRtl?: boolean);
    initializeTextPropertiesDiv(wholeDiv: HTMLElement, isRtl?: boolean): void;
    private createChangecase;
    private changeCase;
    private createHighlightColorSplitButton;
    private openPopup;
    private closePopup;
    private initializeHighlightColorElement;
    private createHightlighColorPickerDiv;
    private onHighLightColor;
    private applyHighlightColorAsBackground;
    private removeSelectedColorDiv;
    private applyHighlightColor;
    private getHighLightColor;
    private createDiv;
    private createButtonTemplate;
    private createFontColorPicker;
    private createDropDownListForSize;
    private createDropDownListForFamily;
    wireEvent(): void;
    unwireEvents(): void;
    private boldAction;
    private italicAction;
    private underlineAction;
    private strikethroughAction;
    private clearFormatAction;
    private subscriptAction;
    private superscriptAction;
    private changeFontColor;
    private changeFontFamily;
    private changeFontSize;
    onSelectionChange(): void;
    removeHTMLElement(): 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: Text;
    /**
     * @private
     */
    paragraph: Paragraph;
    /**
     * Initialize the Text properties pane.
     *
     * @param {DocumentEditorContainer} container DocumentEditorContainer instance.
     * @param {string} id Identifier element reference.
     * @param {boolean} isTableProperties Specified if text properties is inside the text properties.
     * @param {boolean} isRtl Specifies the RTL layout.
     */
    constructor(container: DocumentEditorContainer, id: string, isTableProperties: boolean, isRtl?: boolean);
    private initializeTextProperties;
    wireEvents(): void;
    onSelectionChange(): void;
    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;
    private borderSizeButton;
    private borderStyleDiv;
    element: HTMLElement;
    private prevContext;
    private isTopMarginApply;
    private isRightMarginApply;
    private isBottomMarginApply;
    private isLeftMarginApply;
    private borderColor;
    private parentElement;
    localObj: base.L10n;
    private isRtl;
    private groupButtonClass;
    private onOutlineBorderClickHandler;
    private onAllBorderHandler;
    private onInsideBorderHandler;
    private onLeftBorderHandler;
    private onVerticalBorderHandler;
    private onRightBorderHandler;
    private onTopBorderHandler;
    private onHorizontalBorderHandler;
    private onBottomBorderHandler;
    private onInsertRowAboveHandler;
    private onInsertRowBelowHandler;
    private onInsertColumnLeftHandler;
    private onInsertColumnRightHandler;
    private onDeleteRowHandler;
    private onDeleteColumnHandler;
    private onMergeCellHandler;
    private applyAlignTopHandler;
    private applyAlignBottomHandler;
    private applyAlignCenterHorizontalHandler;
    private onTopMarginHandler;
    private onRightMarginHandler;
    private onLeftMarginHandler;
    private onBottomMarginHandler;
    private onTopMarginClickHandler;
    private onTopMarginBlurHandler;
    private onRightMarginClickHandler;
    private onRightMarginBlurHandler;
    private onLeftMarginClickHandler;
    private onLeftMarginBlurHandler;
    private onBottomMarginClickHandler;
    private onBottomMarginBlurHandler;
    private readonly documentEditor;
    constructor(container: DocumentEditorContainer, imageProperty: ImageProperties, isRtl?: boolean);
    private initializeTablePropPane;
    /**
     * @private
     * @param {boolean} enable - enable/disable table properties pane.
     * @returns {void}
     */
    enableDisableElements(enable: boolean): void;
    private addTablePropertyTab;
    private onTabSelection;
    private wireEvent;
    private unWireEvent;
    private onTopMarginClick;
    private onTopMarginBlur;
    private onRightMarginClick;
    private onRightMarginBlur;
    private onLeftMarginClick;
    private onLeftMarginBlur;
    private onBottomMarginClick;
    private onBottomMarginBlur;
    private getBorder;
    private onOutlineBorder;
    private onAllBorder;
    private onInsideBorder;
    private onLeftBorder;
    private onVerticalBorder;
    private onRightBorder;
    private onTopBorder;
    private onHorizontalBorder;
    private onBottomBorder;
    private onTopMargin;
    private onBottomMargin;
    private onLeftMargin;
    private onRightMargin;
    private applyTopMargin;
    private applyBottomMargin;
    private applyLeftMargin;
    private applyRightMargin;
    private applyAlignTop;
    private applyAlignBottom;
    private applyAlignCenterHorizontal;
    private onMergeCell;
    private onInsertRowAbove;
    private onInsertRowBelow;
    private onInsertColumnLeft;
    private onInsertColumnRight;
    private onDeleteRow;
    private onDeleteColumn;
    onSelectionChange(): void;
    private changeBackgroundColor;
    private initFillColorDiv;
    private initBorderStylesDiv;
    private initCellDiv;
    private initInsertOrDelCell;
    private initCellMargin;
    private initAlignText;
    private createCellMarginTextBox;
    private createBorderSizeDropDown;
    private onBorderSizeChange;
    private createDropdownOption;
    createDropDownButton(id: string, styles: string, parentDiv: HTMLElement, iconCss: string, content: string, items?: splitbuttons.ItemModel[], target?: HTMLElement): splitbuttons.DropDownButton;
    private createButtonTemplate;
    private createColorPickerTemplate;
    showTableProperties(isShow: boolean, propertyType: string): void;
    /**
     * @private
     * @returns {void} - Update tab container height.
     */
    updateTabContainerHeight(): void;
    private removeHTMLDomElement;
    destroy(): void;
}
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor-container/properties-pane/table-of-content-pane.d.ts
/**
 * TOC Properties pane
 *
 * @private
 */
export  class TocProperties {
    private container;
    element: HTMLElement;
    private elementId;
    private showPageNumber;
    private rightalignPageNumber;
    private hyperlink;
    private borderBtn;
    private updateBtn;
    private cancelBtn;
    private borderLevelStyle;
    private prevContext;
    localObj: base.L10n;
    private isRtl;
    headerDiv: HTMLElement;
    private closeButton;
    private template1Div;
    private title;
    private templateContent1;
    private templateContent2;
    private templateContent3;
    private optionsDiv;
    private label;
    private contentStyleElement;
    private checkboxElement;
    private showPageNumberDiv;
    private showpagenumberCheckboxElement;
    private rightAlignDiv;
    private rightalignpagenumberCheckboxElement;
    private hyperlinkDiv;
    private hyperlinkCheckboxElement;
    private footerElement;
    private updatebuttoncontentStyleElement;
    private cancelbuttoncontentStyleElement;
    private dropDownLabel;
    private onCloseClickHook;
    private onInsertToClickHook;
    private readonly documentEditor;
    private readonly toolbar;
    constructor(container: DocumentEditorContainer, isRtl?: boolean);
    /**
     * @private
     * @param {boolean} enable - enable/disable table of content pane.
     * @returns {void}
     */
    enableDisableElements(enable: boolean): void;
    private initializeTocPane;
    private updateTocProperties;
    private wireEvents;
    private onCloseClick;
    private onClose;
    private tocHeaderDiv;
    private initTemplates;
    private template1;
    private tocOptionsDiv;
    createDropDownButton(id: string, parentDiv: HTMLElement, iconCss: string, content: string[], selectedIndex: number): dropdowns.DropDownList;
    private contentStylesDropdown;
    private checkboxContent;
    private buttonDiv;
    private enableDisableInsertButton;
    showTocPane(isShow: boolean, previousContextType?: ContextType): void;
    private onInsertToc;
    destroy(): void;
    private unWireEvents;
    private removeHTMLDOM;
}
//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 zoom;
    private spellCheckButton;
    private pageBtn;
    private webBtn;
    private pageNumDiv;
    private statusBarDiv;
    private pageCount;
    private pageLabel;
    private pageNumberInput;
    private editablePageNumber;
    private ofLabel;
    private zoomBtn;
    private pageButton;
    private webButton;
    private verticalLine;
    private spellCheckBtn;
    private container;
    startPage: number;
    localObj: base.L10n;
    private currentLanguage;
    private allowSuggestion;
    private onPageLayoutClickHandler;
    private onWebLayoutClickHandler;
    private onPageNumberKeyDownHandler;
    private onPageNumberKeyUpHandler;
    private onPageNumberBlurHandler;
    private onPageNumberFocusHandler;
    private onPageLayoutClick;
    private onWebLayoutClick;
    private onPageNumberKeyDown;
    private onPageNumberKeyUp;
    private onPageNumberBlur;
    private onPageNumberFocus;
    private readonly documentEditor;
    private readonly editorPageCount;
    constructor(parentElement: HTMLElement, docEditor: DocumentEditorContainer);
    private initializeStatusBar;
    private addSpellCheckElement;
    private onZoom;
    private onSpellCheck;
    updateZoomContent(): void;
    private setSpellCheckValue;
    private setZoomValue;
    /**
     * Updates page count.
     *
     * @returns {void}
     */
    updatePageCount(): void;
    /**
     * Updates page number.
     *
     * @returns {void}
     */
    updatePageNumber(): void;
    updatePageNumberOnViewChange(args: ViewChangeEventArgs): void;
    private wireEvents;
    private unWireEvents;
    private updatePageNumberWidth;
    /**
     * @private
     * @returns {void}
     */
    toggleWebLayout(): void;
    /**
     * @private
     * @returns {void}
     */
    togglePageLayout(): void;
    private addRemoveClass;
    private createButtonTemplate;
    /**
     * @private
     * @returns {void}
     */
    destroy(): void;
    private dependentComponentsDestroy;
    private removeHTMLDom;
}
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor-container/properties-pane/paragraph-properties.d.ts
/**
 * Paragraph Properties
 *
 * @private
 */
export  class Paragraph {
    private container;
    private showHiddenMarksBtn;
    private leftAlignmentBtn;
    private rightAlignmentBtn;
    private centerAlignmentBtn;
    private justifyBtn;
    private increaseIndentBtn;
    private decreaseIndentBtn;
    private lineSpacing;
    private style;
    private bulletListBtn;
    private numberedListBtn;
    private bordersBtn;
    private textProperties;
    private leftAlignment;
    private rightAlignment;
    private centerAlignment;
    private justify;
    private increaseIndent;
    private decreaseIndent;
    private showHiddenMarks;
    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;
    private borders;
    private paragraphDiv;
    private label;
    private styleDiv;
    private styleSelect;
    private indentWholeDiv;
    private indentDiv;
    private incDecIndentDiv;
    private listDiv;
    private paraDiv;
    private lineHeight;
    private listDropDown;
    private bulletButton;
    private numberingList;
    private numberListDropDiv;
    private numberListDropUlTag;
    private numberedAndBulletNoneClickHandler;
    private numberedNumberDotClickHandler;
    private numberedLowLetterClickHandler;
    private numberedUpLetterClickHandler;
    private numberedLowRomanClickHandler;
    private numberedUpRomanClickHandler;
    private numberSplitButtonBeforeOpenHandler;
    private bulletDotClickHandler;
    private bulletCircleClickHandler;
    private bulletSquareClickHandler;
    private bulletFlowerClickHandler;
    private bulletArrowClickHandler;
    private bulletTickClickHandler;
    private onrightAlignmentClickHandler;
    private isRetrieving;
    private styleName;
    appliedBulletStyle: string;
    appliedNumberingStyle: string;
    appliedLineSpacing: string;
    localObj: base.L10n;
    private isRtl;
    private splitButtonClass;
    private readonly documentEditor;
    constructor(container: DocumentEditorContainer);
    initializeParagraphPropertiesDiv(wholeDiv: HTMLElement, isRtl?: boolean): void;
    private createSeparator;
    private createDivElement;
    private createButtonTemplate;
    private createLineSpacingDropdown;
    private createNumberListDropButton;
    private numberSplitButtonBeforeClose;
    private numberSplitButtonBeforeOpen;
    private updateSelectedBulletListType;
    private updateSelectedNumberedListType;
    private removeSelectedList;
    /**
     * @private
     * @returns {void}
     */
    applyLastAppliedNumbering(): void;
    private applyLastAppliedBullet;
    private createBulletListDropButton;
    private createNumberListTag;
    private createNumberNoneListTag;
    private createBulletListTag;
    private createStyleDropDownList;
    private updateOptions;
    updateStyleNames(): void;
    private createStyle;
    private constructStyleDropItems;
    private parseStyle;
    private onrightAlignmentClick;
    wireEvent(): void;
    unwireEvents(): void;
    /**
     * @private
     */
    toggleHiddenMarks(): void;
    private leftAlignmentAction;
    private lineSpacingAction;
    private setLineSpacing;
    private selectStyleValue;
    private applyStyleValue;
    private rightAlignmentAction;
    private centerAlignmentAction;
    private justifyAction;
    private increaseIndentAction;
    private decreaseIndentAction;
    private numberedNoneClick;
    private numberedNumberDotClick;
    private numberedUpRomanClick;
    private numberedUpLetterClick;
    private numberedLowLetterClick;
    private numberedLowRomanClick;
    private getLevelFormatNumber;
    private bulletDotClick;
    private bulletCircleClick;
    private bulletSquareClick;
    private bulletFlowerClick;
    private bulletArrowClick;
    private bulletTickClick;
    onSelectionChange(): void;
    private removeHTMLElements;
    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 widthNumericBox;
    private heightNumericBox;
    private aspectRatioBtn;
    private imageDiv;
    private label;
    private alabel;
    private outerDiv;
    private aspectRatio;
    private aspectRatioDiv;
    private textArea;
    element: HTMLElement;
    private widthElement;
    private heightElement;
    private textareaObj;
    private altDiv;
    private container;
    private elementId;
    private isMaintainAspectRatio;
    private isWidthApply;
    private isHeightApply;
    private isRtl;
    private onAspectRatioBtnClickHook;
    private widthBlurHook;
    private heightBlurHook;
    private onImageWidthHook;
    private onImageHeightHook;
    private widthNumericBlurHook;
    private heightNumericBlurHook;
    private altTextAreaBlurHook;
    private readonly documentEditor;
    constructor(container: DocumentEditorContainer, isRtl?: boolean);
    /**
     * @private
     * @param {boolean} enable - enable/disable image properties pane.
     * @returns {void}
     */
    enableDisableElements(enable: boolean): void;
    private initializeImageProperties;
    private initImageProp;
    private initImageAltProp;
    private createImagePropertiesDiv;
    wireEvents(): void;
    private altTextAreaBlur;
    private heightNumericBlur;
    private widthNumericBlur;
    private widthBlur;
    private heightBlur;
    private applyImageAlternativeText;
    private onImageWidth;
    private onImageHeight;
    private applyImageWidth;
    private applyImageHeight;
    private onAspectRatioBtnClick;
    showImageProperties(isShow: boolean): void;
    updateImageProperties(): void;
    destroy(): void;
    private removeHTMLDom;
    private unWireEvents;
}
//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 {
    private container;
    private firstPage;
    private oddOrEven;
    private linkToPrevious;
    private pageNumber;
    private pageCount;
    private headerFromTop;
    private footerFromTop;
    private isHeaderTopApply;
    private isFooterTopApply;
    private isRtl;
    private localObj;
    private elementId;
    element: HTMLElement;
    private headerDiv;
    private headerLabel;
    private closeIcon;
    private optionsLabelDiv;
    private optionsLabel;
    private optionsDiv;
    private firstPageDiv;
    private oddOrEvenDiv;
    private linkToPreviousDiv;
    private positionLabelDiv;
    private positionLabel;
    private positionDiv;
    private headerTopDiv;
    private headerTopLabel;
    private footerBottomDiv;
    private footerBottomLabel;
    private divElement;
    private HeaderTopApplyClickHook;
    private FooterTopApplyClickHook;
    private OnHeaderValueKeyDownHook;
    private OnFooterValueKeyDownHook;
    private ChangeHeaderBlurHook;
    private ChangeFooterBlurHook;
    private readonly documentEditor;
    private readonly toolbar;
    /**
     * @private
     * @param {boolean} enable - enable/disable header footer pane.
     * @returns {void}
     */
    enableDisableElements(enable: boolean): void;
    constructor(container: DocumentEditorContainer, isRtl?: boolean);
    initHeaderFooterPane(): void;
    showHeaderFooterPane(isShow: boolean): void;
    private initializeHeaderFooter;
    private createDivTemplate;
    private wireEvents;
    private headerTopApply;
    private footerTopapply;
    private changeHeaderBlur;
    private changeFooterBlur;
    private onClose;
    private changeFirstPageOptions;
    private changeoddOrEvenOptions;
    private changeLinkToPreviousOptions;
    private changeHeaderValue;
    private onHeaderValue;
    private onFooterValue;
    private changeFooterValue;
    onSelectionChange(): void;
    destroy(): void;
    private unWireEvents;
    private removeHTMLDOM;
}
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/document-editor.d.ts
/**
 * The `DocumentEditorSettings` module is used to provide the customize property of Document Editor.
 */
export  class DocumentEditorSettings extends base.ChildProperty<DocumentEditorSettings> {
    /**
     * Gets or sets a value indicating where to append the pop up element
     *
     * @returns {HTMLElement}
     * @aspType HTMLElement
     * @default null
     */
    popupTarget: HTMLElement;
    /**
     * Specifies the user preferred Search Highlight Color of Document Editor.
     *
     * @default '#FFE97F'
     */
    searchHighlightColor: string;
    /**
     * Specifies the user preferred font family of Document Editor.
     * @default ['Algerian','Arial','Calibri','Cambria','CambriaMath','Candara','CourierNew','Georgia','Impact','SegoePrint','SegoeScript','SegoeUI','Symbol','TimesNewRoman','Verdana','Wingdings']
     */
    fontFamilies: string[];
    /**
     * Gets or sets the form field settings.
     */
    formFieldSettings: FormFieldSettingsModel;
    /**
     * Specified the auto resize settings.
     */
    autoResizeSettings: AutoResizeSettingsModel;
    /**
     * Gets ot sets the collaborative editing settings.
     */
    collaborativeEditingSettings: CollaborativeEditingSettingsModel;
    /**
     * Specifies the device pixel ratio for the image generated for printing.
     * > Increasing the device pixel ratio will increase the image file size, due to high resolution of image.
     */
    printDevicePixelRatio: number;
    /**
     * Gets or sets a value indicating whether to use optimized text measuring approach to match Microsoft Word pagination.
     *
     * @default true
     * @aspType bool
     * @returns {boolean} Returns `true` if uses optimized text measuring approach to match Microsoft Word pagination;
 otherwise, `false`
     */
    enableOptimizedTextMeasuring: boolean;
    /**
     * Enable or Disable moving selected content within Document Editor
     *
     * @default true
     * @aspType bool
     * @returns {boolean} Returns `true` moving selected content within Document Editor is enabled;
 otherwise, `false`
     */
    allowDragAndDrop: boolean;
    /**
     * Gets or sets the maximum number of rows allowed while inserting a table in Document editor component.
     * > The maximum value is 32767, as per Microsoft Word application and you can set any value less than 32767 to this property. If you set any value greater than 32767, then Syncfusion Document editor will automatically reset as 32767.
     *
     * @default 32767
     * @returns {number}
     */
    maximumRows: number;
    /**
     * Gets or sets the maximum number of columns allowed while inserting a table in Document editor component.
     * > The maximum value is 63, as per Microsoft Word application and you can set any value less than 63 to this property. If you set any value greater than 63, then Syncfusion Document editor will automatically reset as 63.
     *
     * @default 63
     * @returns {number}
     */
    maximumColumns: number;
    /**
     * Gets or sets a value indicating whether to show the hidden characters like spaces, tab, paragraph marks, and breaks.
     *
     * @default false
     * @aspType bool
     * @returns {boolean} Returns `false` if hides the hidden characters like spaces, tab, paragraph marks, and breaks. Otherwise `true`.
     */
    showHiddenMarks: boolean;
    /**
     * Gets or sets a value indicating whether to show square brackets around bookmarked items.
     *
     * @returns {boolean}
     * @aspType bool
     * @default false
     */
    showBookmarks: boolean;
    /**
     * Gets or sets a value indicating whether to highlight the editable ranges in the document where the current user can edit.
     *
     * @default true
     * @aspType bool
     * @returns {boolean} Returns `true` if editable ranges in the document is highlighted. Otherwise `false`.
     */
    highlightEditableRanges: boolean;
    /**
     * Describes whether to reduce the resultant SFDT file size by minifying the file content
     *
     * @default true
     * @aspType bool
     * @returns {boolean} Returns `true` if sfdt content generated is optimized. Otherwise `false`.
     */
    optimizeSfdt: boolean;
    /**
     *  Gets or sets a value indicating whether to display ruler in Document Editor.
     *
     * @default false
     * @aspType bool
     * @returns {boolean} Returns `true` if ruler is visible in Document Editor. Otherwise `false`.
     */
    showRuler: boolean;
    /**
     * Gets or sets color picker settings to customize the color picker used in Document Editor.
     */
    colorPickerSettings: inputs.ColorPickerModel;
    /**
     *  Gets or sets a value indicating whether to display navigation pane in Document Editor.
     *
     * @default false
     * @aspType bool
     * @returns {boolean} Returns `true` if navigation pane is visible in Document Editor. Otherwise `false`.
     */
    showNavigationPane: boolean;
    /**
     * Gets ot sets the mention configuration used in Document Editor.
     */
    mentionSettings: dropdowns.MentionModel;
    /**
     * Gets or sets a value indicating whether the final paragraph of pasted content should be appended as a new paragraph in the Document Editor.
     *
     * @default false
     * @aspType bool
     */
    pasteAsNewParagraph: boolean;
    /**
     * Enables or disables screen reader support in the Document Editor. When set to `true`, the editor will expose necessary accessibility information for screen reader tools.
     *
     * @default false
     * @aspType bool
     */
    enableScreenReader: boolean;
}
/**
 * Represents the settings and properties of the document that is opened in Document editor component.
 */
export  class DocumentSettings extends base.ChildProperty<DocumentSettings> {
    /**
     * Gets or sets the compatibility mode of the current document.
     *
     * @default `Word2013`
     * @returns {CompatibilityMode}
     */
    compatibilityMode: CompatibilityMode;
}
/**
 * Represents the settings required for resizing the Document editor automatically when the visibility of parent element changed.
 */
export  class AutoResizeSettings extends base.ChildProperty<AutoResizeSettings> {
    /**
     * Gets or sets the time interval in milliseconds to validate whether the parent element's height and width is non-zero.
     *
     * @default 2000
     * @returns {number}
     */
    interval: number;
    /**
     * Gets or sets the number of times the Document editor has to validate whether the parent element's height and width is non-zero.
     *
     * @default 5
     * @returns {number}
     */
    iterationCount: number;
}
/**
 * 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 accesiblityTimer;
    /**
     * @private
     * @returns {boolean} Returns true if header and footer is enabled.
     */
    /**
    * @private
    * @param {boolean} value True if enable the header and footer;
 Otherwise, false.
    */
    enableHeaderAndFooter: boolean;
    /**
     * @private
     */
    readableDiv: HTMLElement;
    /**
     * @private
     */
    viewer: LayoutViewer;
    /**
     * @private
     */
    documentHelper: DocumentHelper;
    /**
     * @private
     */
    isShiftingEnabled: boolean;
    /**
     * @private
     */
    isContainerResize: boolean;
    /**
     * @private
     */
    enableXMLPane: boolean;
    /**
     * @private
     */
    xPathString: string;
    /**
     * @private
     */
    prefixMappings: string;
    /**
     * @private
     */
    isLayoutEnabled: boolean;
    /**
     * @private
     */
    isPastingContent: boolean;
    /**
     * @private
     */
    isOnIndent: boolean;
    /**
     * @private
     */
    isTableMarkerDragging: boolean;
    /**
     * @private
     */
    startXPosition: number;
    /**
     * @private
     */
    parser: SfdtReader;
    /**
     * @private
     */
    isUpdateTrackChanges: boolean;
    private isDocumentLoadedIn;
    private disableHistoryIn;
    private documentSettingOps;
    /**
     * @private
     */
    skipSettingsOps: boolean;
    /**
     * @private
     */
    hRuler: Ruler;
    /**
     * @private
     */
    vRuler: Ruler;
    /**
     * @private
     */
    rulerHelper: RulerHelper;
    private isSettingOp;
    /**
     * @private
     */
    findResultsList: HTMLElement[];
    /**
     * @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
     */
    tabDialogModule: TabDialog;
    /**
     * @private
     */
    cellOptionsDialogModule: CellOptionsDialog;
    /**
     * @private
     */
    tableOptionsDialogModule: TableOptionsDialog;
    /**
     * @private
     */
    tableDialogModule: TableDialog;
    /**
     * @private
     */
    spellCheckDialogModule: SpellCheckDialog;
    /**
     * @private
     */
    pageSetupDialogModule: PageSetupDialog;
    /**
     * @private
     */
    dateContentDialogModule: DatePickerDialog;
    /**
     * @private
     */
    picContentControlDialogModule: PicContentControlDialog;
    /**
     * @private
     */
    picturePositionY: number;
    /**
     * @private
     */
    contentControlPropertiesDialogModule: ContentControlPropertiesDialog;
    /**
     * @private
     */
    columnsDialogModule: ColumnsDialog;
    /**
     * @private
     */
    footNotesDialogModule: NotesDialog;
    /**
     * @private
     */
    paragraphDialogModule: ParagraphDialog;
    /**
     * @private
     */
    checkBoxFormFieldDialogModule: CheckBoxFormFieldDialog;
    /**
     * @private
     */
    textFormFieldDialogModule: TextFormFieldDialog;
    /**
     * @private
     */
    dropDownFormFieldDialogModule: DropDownFormFieldDialog;
    /**
     * @private
     */
    optionsPaneModule: OptionsPane;
    /**
     * @private
     */
    xmlPaneModule: XmlPane;
    /**
     * @private
     */
    hyperlinkDialogModule: HyperlinkDialog;
    /**
     * @private
     */
    bookmarkDialogModule: BookmarkDialog;
    /**
     * @private
     */
    stylesDialogModule: StylesDialog;
    /**
     * @private
     */
    contextMenuModule: ContextMenu;
    /**
     * @private
     */
    imageResizerModule: ImageResizer;
    /**
     * @private
     */
    searchModule: Search;
    /**
     * @private
     */
    optimizedModule: Optimized;
    /**
     * @private
     */
    regularModule: Regular;
    private createdTriggered;
    /**
     * Gets or sets the Collaborative editing module.
     */
    collaborativeEditingModule: CollaborativeEditing;
    /**
     * Gets or sets the Collaborative editing module.
     */
    collaborativeEditingHandlerModule: CollaborativeEditingHandler;
    /**
     * Holds regular or optimized module based on DocumentEditorSettting `enableOptimizedTextMeasuring` property.
     *
     * @private
     */
    textMeasureHelper: Regular | Optimized;
    /**
     * Enable collaborative editing in document editor.
     *
     * @default false
     */
    enableCollaborativeEditing: boolean;
    /**
     * Gets or sets the default Paste Formatting Options
     *
     * @default KeepSourceFormatting
     */
    defaultPasteOption: PasteOptions;
    /**
     * Gets or sets the Layout Type.
     *
     * @default Pages
     */
    layoutType: LayoutType;
    /**
     * Gets or sets the current user.
     *
     * @default ''
     */
    currentUser: string;
    /**
     * Gets or sets the color used for highlighting the editable ranges or regions of the `currentUser` in Document Editor. The default value is "#FFFF00".
     * > If the visibility of text affected due this highlight color matching with random color applied for the track changes, then modify the color value of this property to resolve text visibility problem.
     *
     * @default '#FFFF00'
     */
    userColor: string;
    /**
     * Gets or sets the page gap value in document editor.
     *
     * @default 20
     */
    pageGap: number;
    /**
     * Gets or sets the name of the document.
     *
     * @default ''
     */
    documentName: string;
    /**
     * @private
     */
    spellCheckerModule: SpellChecker;
    /**
     * Defines the width of the DocumentEditor component.
     *
     * @default '100%'
     */
    width: string;
    /**
     * Defines the height of the DocumentEditor component.
     *
     * @default '200px'
     */
    height: string;
    /**
     * Gets or sets the Sfdt Service URL.
     *
     * @default ''
     */
    serviceUrl: string;
    /**
     * Gets or sets the zoom factor in document editor.
     *
     * @default 1
     */
    zoomFactor: number;
    /**
     * Specifies the z-order for rendering that determines whether the dialog is displayed in front or behind of another component.
     *
     * @default 2000
     * @aspType int
     */
    zIndex: number;
    /**
     * Gets or sets a value indicating whether the document editor is in read only state or not.
     *
     * @default true
     */
    isReadOnly: boolean;
    /**
     * Gets or sets a value indicating whether print needs to be enabled or not.
     *
     * @default false
     */
    enablePrint: boolean;
    /**
     * Gets or sets a value indicating whether selection needs to be enabled or not.
     *
     * @default false
     */
    enableSelection: boolean;
    /**
     * Gets or sets a value indicating whether editor needs to be enabled or not.
     *
     * @default false
     */
    enableEditor: boolean;
    /**
     * Gets or sets a value indicating whether editor history needs to be enabled or not.
     *
     * @default false
     */
    enableEditorHistory: boolean;
    /**
     * Gets or sets a value indicating whether Sfdt export needs to be enabled or not.
     *
     * @default false
     */
    enableSfdtExport: boolean;
    /**
     * Gets or sets a value indicating whether word export needs to be enabled or not.
     *
     * @default false
     */
    enableWordExport: boolean;
    /**
     * Gets or sets a value indicating whether the automatic focus behavior is enabled for Document editor or not.
     *
     * > By default, the Document editor gets focused automatically when the page loads. If you want the Document editor not to be focused automatically, then set this property to false.
     *
     * @returns {boolean}
     * @aspType bool
     * @default true
     */
    enableAutoFocus: boolean;
    /**
     * Gets or sets a value indicating whether text export needs to be enabled or not.
     *
     * @default false
     */
    enableTextExport: boolean;
    /**
     * Gets or sets a value indicating whether options pane is enabled or not.
     *
     * @default false
     */
    enableOptionsPane: boolean;
    /**
     * Gets or sets a value indicating whether context menu is enabled or not.
     *
     * @default false
     */
    enableContextMenu: boolean;
    /**
     * Gets or sets a value indicating whether hyperlink dialog is enabled or not.
     *
     * @default false
     */
    enableHyperlinkDialog: boolean;
    /**
     * Gets or sets a value indicating whether bookmark dialog is enabled or not.
     *
     * @default false
     */
    enableBookmarkDialog: boolean;
    /**
     * Gets or sets a value indicating whether table of contents dialog is enabled or not.
     *
     * @default false
     */
    enableTableOfContentsDialog: boolean;
    /**
     * Gets or sets a value indicating whether search module is enabled or not.
     *
     * @default false
     */
    enableSearch: boolean;
    /**
     * Gets or sets a value indicating whether paragraph dialog is enabled or not.
     *
     * @default false
     */
    enableParagraphDialog: boolean;
    /**
     * Gets or sets a value indicating whether list dialog is enabled or not.
     *
     * @default false
     */
    enableListDialog: boolean;
    /**
     * Gets or sets a value indicating whether table properties dialog is enabled or not.
     *
     * @default false
     */
    enableTablePropertiesDialog: boolean;
    /**
     * Gets or sets a value indicating whether borders and shading dialog is enabled or not.
     *
     * @default false
     */
    enableBordersAndShadingDialog: boolean;
    /**
     * Gets or sets a value indicating whether notes dialog is enabled or not.
     *
     * @default false
     */
    enableFootnoteAndEndnoteDialog: boolean;
    /**
     * Gets or sets a value indicating whether margin dialog is enabled or not.
     *
     * @default false
     */
    enableColumnsDialog: boolean;
    /**
     * Gets or sets a value indicating whether font 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 comment is enabled or not
     *
     * @default false
     */
    enableComment: boolean;
    /**
     * Gets or sets a value indicating whether track changes is enabled or not
     *
     * @default false
     */
    enableTrackChanges: boolean;
    /**
     * Gets or sets a value indicating whether form fields is enabled or not.
     *
     * @default false
     */
    enableFormField: boolean;
    /**
     * Gets or sets a value indicating whether tab key can be accepted as input or not.
     *
     * @default false
     */
    acceptTab: boolean;
    /**
     * Gets or sets a value indicating whether holding Ctrl key is required to follow hyperlink on click. The default value is true.
     *
     * @default true
     */
    useCtrlClickToFollowHyperlink: boolean;
    /**
     * Gets or sets the page outline color.
     *
     * @default '#000000'
     */
    pageOutline: string;
    /**
     * Gets or sets a value indicating whether to enable cursor in document editor on read only state or not. The default value is false.
     *
     * @default false
     */
    enableCursorOnReadOnly: boolean;
    /**
     * Gets or sets a value indicating whether local paste needs to be enabled or not.
     *
     * @default false
     */
    enableLocalPaste: boolean;
    /**
     * Enables the partial lock and edit module.
     *
     * @default false
     */
    enableLockAndEdit: boolean;
    /**
     * Defines the settings for DocumentEditor customization.
     *
     * @default {}
     */
    documentEditorSettings: DocumentEditorSettingsModel;
    /**
     * Gets the settings and properties of the document that is opened in Document editor component.
     *
     * @default {}
     */
    documentSettings: DocumentSettingsModel;
    /**
     * Defines the settings of the DocumentEditor services
     */
    serverActionSettings: ServerActionSettingsModel;
    /**
     * Adds the custom headers to XMLHttpRequest.
     *
     * @default []
     */
    headers: object[];
    /**
     * Shows the comment in the document.
     *
     * @default false
     */
    showComments: boolean;
    /**
     * Shows the revision changes in the document.
     *
     * @default false
     */
    showRevisions: boolean;
    /**
     * Gets or sets a value indicating whether to start automatic resize with the specified time interval and iteration count.
     *
     * > * Resize action triggers automatically for the specified number of iterations, or till the parent element's height and width is non-zero.
     *
     * > * If the parent element's height and width is zero even in the last iteration, then the default height and width (200) is allocated for the Document editor.
     *
     * @default false
     * @returns {boolean}
     */
    autoResizeOnVisibilityChange: boolean;
    /**
     * Triggers whenever the document changes in the document editor.
     *
     * @event documentChange
     */
    documentChange: base.EmitType<DocumentChangeEventArgs>;
    /**
     * Triggers whenever the container view changes in the document editor.
     *
     * @event viewChange
     */
    viewChange: base.EmitType<ViewChangeEventArgs>;
    /**
     * Triggers whenever the zoom factor changes in the document editor.
     *
     * @event zoomFactorChange
     */
    zoomFactorChange: base.EmitType<ZoomFactorChangeEventArgs>;
    /**
     * Triggers whenever the selection changes in the document editor.
     *
     * @event selectionChange
     */
    selectionChange: base.EmitType<SelectionChangeEventArgs>;
    /**
     * Triggers whenever the hyperlink is clicked or tapped in the document editor.
     *
     * @event requestNavigate
     */
    requestNavigate: base.EmitType<RequestNavigateEventArgs>;
    /**
     * Triggers whenever the content changes in the document editor.
     *
     * @event contentChange
     */
    contentChange: base.EmitType<ContentChangeEventArgs>;
    /**
     * Triggers whenever the key is pressed in the document editor.
     *
     * @event keyDown
     */
    keyDown: base.EmitType<DocumentEditorKeyDownEventArgs>;
    /**
     * Triggers whenever search results changes in the document editor.
     *
     * @event searchResultsChange
     */
    searchResultsChange: base.EmitType<SearchResultsChangeEventArgs>;
    /**
     * Triggers when the component is created.
     *
     * @event created
     */
    created: base.EmitType<Object>;
    /**
     * Triggers when the component is destroyed.
     *
     * @event destroyed
     */
    destroyed: base.EmitType<Object>;
    /**
     * Triggers while selecting the custom context-menu option.
     *
     * @event customContextMenuSelect
     */
    customContextMenuSelect: base.EmitType<CustomContentMenuEventArgs>;
    /**
     * Triggers before opening the custom context-menu option.
     *
     * @event customContextMenuBeforeOpen
     */
    customContextMenuBeforeOpen: base.EmitType<BeforeOpenCloseCustomContentMenuEventArgs>;
    /**
     * Triggers before opening the comment pane.
     *
     * @event beforePaneSwitch
     */
    beforePaneSwitch: base.EmitType<BeforePaneSwitchEventArgs>;
    /**
     * Triggers after inserting the comment.
     *
     * @event commentBegin
     */
    commentBegin: base.EmitType<Object>;
    /**
     * Triggers after posting the comment.
     *
     * @event commentEnd
     */
    commentEnd: base.EmitType<Object>;
    /**
     * Triggers before a file is opened.
     *
     * @event beforeFileOpen
     */
    beforeFileOpen: base.EmitType<BeforeFileOpenArgs>;
    /**
     * Triggers after deleting the comment.
     *
     * @event commentDelete
     */
    commentDelete: base.EmitType<CommentDeleteEventArgs>;
    /**
     * Triggers before accepting or rejecting changes.
     *
     * @event beforeAcceptRejectChanges
     */
    beforeAcceptRejectChanges: base.EmitType<RevisionActionEventArgs>;
    /**
     * Triggers on comment actions(Post, edit, reply, resolve, reopen).
     *
     * @event beforeCommentAction
     */
    beforeCommentAction: base.EmitType<CommentActionEventArgs>;
    /**
     * Triggers when the trackChanges enabled / disabled.
     *
     * @event trackChange
     */
    trackChange: base.EmitType<TrackChangeEventArgs>;
    /**
     * Triggers before the form field fill.
     *
     * @event beforeFormFieldFill
     */
    beforeFormFieldFill: base.EmitType<FormFieldFillEventArgs>;
    /**
     * @private
     */
    beforeContentControlFill: base.EmitType<ContentControlFillEventArgs>;
    /**
     * @private
     */
    afterContentControlFill: base.EmitType<ContentControlFillEventArgs>;
    /**
     * Triggers when the server side action fails.
     *
     * @event serviceFailure
     */
    serviceFailure: base.EmitType<ServiceFailureArgs>;
    /**
     * Triggers after the form field fill.
     *
     * @event afterFormFieldFill
     */
    afterFormFieldFill: base.EmitType<FormFieldFillEventArgs>;
    /**
     * Triggers when the document editor collaborative actions (such as LockContent, SaveContent, UnlockContent) gets completed.
     *
     * @event actionComplete
     */
    actionComplete: base.EmitType<CollaborativeEditingEventArgs>;
    /**
     * Triggers when user interaction prevented in content control.
     *
     * @event contentControl
     */
    contentControl: base.EmitType<Object>;
    /**
     * Triggers before a server request is started, allows you to modify the XMLHttpRequest object (setting additional headers, if needed).
     */
    beforeXmlHttpRequestSend: base.EmitType<XmlHttpRequestEventArgs>;
    /**
     * Triggers when SFDT is failed to load in the document editor
     */
    documentLoadFailed: base.EmitType<DocumentLoadFailedEventArgs>;
    /**
     * @private
     */
    externalFonts: ExternalFontInfo[];
    /**
     * @private
     */
    characterFormat: CharacterFormatProperties;
    /**
     * @private
     */
    paragraphFormat: ParagraphFormatProperties;
    /**
     * @private
     */
    sectionFormat: SectionFormatProperties;
    /**
     * @private
     */
    commentReviewPane: CommentReviewPane;
    /**
     * @private
     */
    trackChangesPane: TrackChangesPane;
    /**
     * @private
     */
    rulerContainer: HTMLElement;
    /**
     * @private
     */
    revisionsInternal: RevisionCollection;
    /**
     * @private
     */
    enableDateContentDialog: boolean;
    /**
     * @private
     */
    enablePicContentControlDialog: boolean;
    /**
     * @private
     */
    enableContentControlPropertiesDialog: boolean;
    /**
     * @private
     */
    serverActionSettingsImport: string;
    /**
     * Gets or sets a value indicating whether xml toolbar is enabled or not.
     * @private
     *
     * @default false
     */
    isXmlPaneTool: boolean;
    /**
     * Gets or sets a value indicating whether xml cc is enabled or not.
     * @private
     *
     * @default false
     */
    isXmlMapCC: boolean;
    /**
     * Gets the total number of pages.
     *
     * @returns {number} Returns the page count.
     */
    readonly pageCount: number;
    /**
     * Gets the entire document's comment information.
     *
     * @returns {CommentInfo[]} Returns the collection of comments.
     */
    getComments(): CommentInfo[];
    /**
     * Gets the selection object of the document editor.
     *
     * @default undefined
     * @aspType Selection
     * @returns {Selection} Returns the selection object.
     */
    readonly selection: Selection;
    /**
     * Gets the editor object of the document editor.
     *
     * @aspType Editor
     * @returns {Editor} Returns the editor object.
     */
    readonly editor: Editor;
    /**
     * Gets the editor history object of the document editor.
     *
     * @aspType EditorHistory
     * @returns {EditorHistory} Returns the editor history object.
     */
    readonly editorHistory: EditorHistory;
    /**
     * Gets the search object of the document editor.
     *
     * @aspType Search
     * @returns { Search } Returns the search object.
     */
    readonly search: Search;
    /**
     * Gets the context menu object of the document editor.
     *
     * @aspType ContextMenu
     * @returns {ContextMenu} Returns the context menu object.
     */
    readonly contextMenu: ContextMenu;
    /**
     * Gets the spell check dialog object of the document editor.
     *
     * @returns {SpellCheckDialog} Returns the spell check dialog object.
     */
    readonly spellCheckDialog: SpellCheckDialog;
    /**
     * Gets the spell check object of the document editor.
     *
     * @aspType SpellChecker
     * @returns {SpellChecker} Returns the spell checker object.
     */
    readonly spellChecker: SpellChecker;
    /**
     * @private
     * @returns {string }- Returns the container id.
     */
    readonly containerId: string;
    /**
     * @private
     * @returns {boolean} - Returns true if document is loaded.
     */
    /**
    * @private
    * @param {boolean} value - Specifies whether the document is loaded or not.
    * @returns {void}
    */
    isDocumentLoaded: boolean;
    /**
     *  Describes whether Document contains any content or not
     *
     * @returns {boolean} Returns `true` if Document does not contains any content;
 otherwise, `false`
     * @aspType bool
     * @default false
     */
    readonly isDocumentEmpty: boolean;
    /**
     * Gets the revision collection which contains information about changes made from original document
     *
     * @returns {RevisionCollection} Returns the revision collection object.
     */
    readonly revisions: RevisionCollection;
    /**
     * Determines whether history needs to be enabled or not.
     *
     * @default - false
     * @private
     * @returns {boolean} Returns true if history module is enabled.
     */
    readonly enableHistoryMode: boolean;
    /**
     * Gets the start text position in the document.
     *
     * @default undefined
     * @private
     * @returns {TextPosition} - Returns the document start.
     */
    readonly documentStart: TextPosition;
    /**
     * Gets the end text position in the document.
     *
     * @default undefined
     * @private
     * @returns {TextPosition} - Returns the document end.
     */
    readonly documentEnd: TextPosition;
    /**
     * @private
     * @returns {TextPosition} - Returns isReadOnlyMode.
     */
    readonly isReadOnlyMode: boolean;
    /**
     * @private
     * @returns {TextPosition} - Returns isSpellCheck.
     */
    readonly isSpellCheck: boolean;
    /**
     * Specifies to enable image resizer option
     *
     * @private
     * @returns {boolean} - Returns enableImageResizerMode.
     */
    readonly enableImageResizerMode: boolean;
    /**
     * Initializes a new instance of the DocumentEditor class.
     *
     * @param {DocumentEditorModel} options Specifies the document editor model.
     * @param {string | HTMLElement} element Specifies the element.
     */
    constructor(options?: DocumentEditorModel, element?: string | HTMLElement);
    protected preRender(): void;
    private updateExternalStyle;
    private clearExistingStyles;
    private initHelper;
    protected render(): void;
    /**
     * @private
     * @returns {void}
     */
    renderRulers(): void;
    /**
     * @private
     * @returns {void}
     */
    showHideRulers(): void;
    private renderNavigationPane;
    /**
     * Get component name
     *
     * @private
     * @returns {string} - Returns module name.
     */
    getModuleName(): string;
    /**
     * Called internally if any of the property value changed.
     *
     * @private
     * @param {DocumentEditorModel} model - Specifies the new model.
     * @param {DocumentEditorModel} oldProp - Specifies the old model.
     * @returns {void}
     */
    onPropertyChanged(model: DocumentEditorModel, oldProp: DocumentEditorModel): void;
    private applyColorPickerProperties;
    private localizeDialogs;
    /**
     * Sets the default character format for document editor
     *
     * @param {CharacterFormatProperties} characterFormat Specifies the character format.
     * @returns {void}
     */
    setDefaultCharacterFormat(characterFormat: CharacterFormatProperties): void;
    /**
     * Sets the default paragraph format for document editor
     *
     * @param {ParagraphFormatProperties} paragraphFormat Specifies the paragraph format.
     * @returns {void}
     */
    setDefaultParagraphFormat(paragraphFormat: ParagraphFormatProperties): void;
    /**
     * Sets the default section format for document editor
     *
     * @param {SectionFormatProperties} sectionFormat Specifies the section format.
     * @returns {void}
     */
    setDefaultSectionFormat(sectionFormat: SectionFormatProperties): void;
    /**
     * Gets the properties to be maintained in the persisted state.
     *
     * @private
     * @returns {string} - Returns the persisted data.
     */
    getPersistData(): string;
    private clearPreservedCollectionsInViewer;
    /**
     * @private
     * @returns {HTMLElement} - Returns the document editor element.
     */
    getDocumentEditorElement(): HTMLElement;
    /**
     * @private
     * @returns {void}
     */
    fireContentChange(): void;
    /**
     * @private
     * @returns {void}
     */
    fireDocumentChange(): void;
    /**
     * @private
     * @returns {void}
     */
    fireSelectionChange(): void;
    private setAccessibilityContent;
    /**
     * Triggers the screen reader to verbalize content starting from the current cursor position.
     *
     * @returns {void}
     */
    verbelizeFromCursorLocation(): void;
    /**
     * @private
     * @returns {void}
     */
    fireZoomFactorChange(): void;
    /**
     * @private
     * @returns {void}
     */
    fireOptionPaneChange(show: boolean): void;
    /**
     * @private
     * @returns {void}
     */
    fireBeformFieldFill(): void;
    /**
     * @private
     * @returns {void}
     */
    fireAfterFormFieldFill(): void;
    /**
     * @private
     * @returns {void}
     */
    fireBeforeContentControlFill(): void;
    /**
     * @private
     * @returns {void}
     */
    fireAfterContentControlFill(): void;
    /**
     * @private
     * @param {ServiceFailureArgs} eventArgs - Specifies the event args.
     * @returns {void}
     */
    fireServiceFailure(eventArgs: ServiceFailureArgs): void;
    /**
     * @private
     * @returns {void}
     */
    fireViewChange(): void;
    /**
     * @private
     * @param {string} item - Specifies the menu items.
     * @returns {void}
     */
    fireCustomContextMenuSelect(item: string): void;
    /**
     * @private
     * @param {string[]} item - Specifies the menu items.
     * @returns {void}
     */
    fireCustomContextMenuBeforeOpen(item: string[]): void;
    /**
     * Shows the Paragraph dialog
     *
     * @private
     * @param {WParagraphFormat} paragraphFormat - Specifies the paragraph format.
     * @returns {void}
     */
    showParagraphDialog(paragraphFormat?: WParagraphFormat): void;
    /**
     * Shows the margin dialog
     *
     * @private
     * @returns {void}
     */
    showPageSetupDialog(): void;
    /**
     * Shows insert columns dialog
     *
     * @private
     * @returns {void}
     */
    showColumnsDialog(): void;
    /**
     * Shows the Footnote dialog
     *
     * @private
     * @returns {void}
     */
    showFootNotesDialog(): void;
    /**
     * Shows the font dialog
     *
     * @private
     * @param {WCharacterFormat} characterFormat - Specifies character format.
     * @returns {void}
     */
    showFontDialog(characterFormat?: WCharacterFormat): void;
    /**
     * Shows the cell option dialog
     *
     * @private
     * @returns {void}
     */
    showCellOptionsDialog(): void;
    /**
     * Shows the table options dialog.
     *
     * @private
     * @returns {void}
     */
    showTableOptionsDialog(): void;
    /**
     * Shows insert table dialog
     *
     * @private
     * @returns {void}
     */
    showTableDialog(): void;
    /**
     * Shows Date picker content dialog
     *
     * @private
     * @returns {void}
     */
    showDateContentDialog(): void;
    /**
    * Apply Content control properties
    *
    * @private
    * @returns {void}
    */
    showPicContentControlDialog(): void;
    /**
     * Shows Picture Content Control dialog
     *
     * @private
     * @returns {void}
     */
    showpicContentControlDialogModule(): void;
    /**
        * Shows Picture Content Control button
        *
        * @private
        * @returns {void}
    */
    renderPictureContentControlElement(documentEditor: DocumentEditor, showPicContentControl: boolean, pictureElement: boolean, picturePositionY?: number): void;
    /**
        * Update the picture content control dialog position
        *
        * @private
        * @returns {void}
    */
    setPictureContentControlPositions(pictureElement: HTMLElement): void;
    /**
    * @private
    * @returns {ElementBox}
    */
    getImageContentControl(): ElementBox;
    /**
     * Shows content Control properties dialog
     *
     * @private
     * @returns {void}
     */
    showContentPropertiesDialog(): void;
    /**
     * Shows the table of content dialog
     *
     * @private
     * @returns {void}
     */
    showTableOfContentsDialog(): void;
    /**
     * Shows the style dialog
     *
     * @private
     * @returns {void}
     */
    showStyleDialog(): void;
    /**
     * Shows the hyperlink dialog
     *
     * @private
     * @returns {void}
     */
    showHyperlinkDialog(): void;
    /**
     * Shows the bookmark dialog.
     *
     * @private
     * @returns {void}
     */
    showBookmarkDialog(): void;
    /**
     * Shows the styles dialog.
     *
     * @private
     * @returns {void}
     */
    showStylesDialog(): void;
    /**
     * Shows the List dialog
     *
     * @private
     * @returns {void}
     */
    showListDialog(): void;
    /**
     * Shows the table properties dialog
     *
     * @private
     * @returns {void}
     */
    showTablePropertiesDialog(): void;
    /**
     * Shows the borders and shading dialog
     *
     * @private
     * @returns {void}
     */
    showBordersAndShadingDialog(): void;
    protected requiredModules(): base.ModuleDeclaration[];
    /**
     * @private
     * @param moduleName
     * @param value
     */
    checkModuleInjection(moduleName: string, value: boolean): void;
    /**
     * @private
     */
    defaultLocale: Object;
    /**
     * Opens the given sfdt text or base 64 string or url.
     *
     * @param {string} sfdtText Specifies the sfdt text or base 64 string or url.
     * @returns {void}
     */
    open(inputData: string): void;
    /**
     * Opens the given blob.
     *
     * @param {string} blob Specifies the Blob object containing the document data.
     * @returns {void}
     */
    open(blob: Blob): void;
    /**
     * Opens the given file.
     *
     * @param {string} file Specifies the File object containing the document data..
     * @returns {void}
     */
    open(file: File): void;
    /**
     * Opens the given sfdt text or base 64 string or url.
     *
     * @param {string} sfdtText Specifies the sfdt text or base 64 string or url.
     * @returns {void}
     */
    openAsync(inputData: string): void;
    /**
     * Opens the given blob.
     *
     * @param {string} blob Specifies the Blob object containing the document data.
     * @returns {void}
     */
    openAsync(blob: Blob): void;
    /**
     * Opens the given file.
     *
     * @param {string} file Specifies the File object containing the document data..
     * @returns {void}
     */
    openAsync(file: File): void;
    private openInternal;
    private processSfdt;
    private isValidUrl;
    private isValidBase64;
    private getSfdtFromUrl;
    private convertToSfdt;
    private getSfdtFromBase64string;
    private convertFromBlob;
    private getBlobType;
    private send;
    private convertFromSfdtBlob;
    private failureHandler;
    /**
     * Scrolls view to start of the given page number if exists.
     *
     * @param {number} pageNumber Specifies the page number.
     * @returns {void}
     */
    scrollToPage(pageNumber: number): boolean;
    /**
     * Enables all the modules.
     *
     * @returns {void}
     */
    enableAllModules(): void;
    /**
     * Resizes the component and its sub elements based on given size or container size.
     *
     * @param {number} width Specifies the width
     * @param {number} height Specifies the hight
     * @returns {void}
     */
    resize(width?: number, height?: number): void;
    /**
     * Resize Document Editor
     *
     * @private
     * @returns {void}
     */
    triggerResize(): void;
    /**
     * Gets all the form field names in current document.
     *
     * @returns {string[]} Returns all the form field names in current document.
     */
    getFormFieldNames(): string[];
    /**
     * Gets the form field by name
     *
     * @param {string} name - The form field name.
     * @returns {TextFormFieldInfo | CheckBoxFormFieldInfo | DropDownFormFieldInfo} Returns the form field info.
     */
    getFormFieldInfo(name: string): TextFormFieldInfo | CheckBoxFormFieldInfo | DropDownFormFieldInfo;
    /**
     * Sets the form field info with the specified name.
     *
     * @param {string} name Specifies the form field name
     * @param {TextFormFieldInfo | CheckBoxFormFieldInfo | DropDownFormFieldInfo} formFieldInfo - Form Field info.
     * @returns {void}
     */
    setFormFieldInfo(name: string, formFieldInfo: TextFormFieldInfo | CheckBoxFormFieldInfo | DropDownFormFieldInfo): void;
    /**
     * Resets the form field value to default with the specified form field name.
     *
     * @param {string} name Specifies the form field name
     * @returns {void}
     */
    resetFormFields(name?: string): void;
    /**
     * Imports the form field values.
     *
     * @param {FormFieldData[]} formData Specifies the form field values.
     * @returns {void}
     */
    /**
     * Exports the form field values.
     *
     * @returns {FormFieldData[]} Returns the form field data.
     */
    exportFormData(): FormFieldData[];
    /**
     * Imports content control data and returns the processed content control information.
     *
     * @returns {ContentControlInfo[]} The processed content control information.
     */
    /**
     * Exports the content control values.
     *
     * @returns {ContentControlInfo[]} The array of content control data.
     */
    exportContentControlData(): ContentControlInfo[];
    /**
     * Resets the content control data.
     *
     * @param {ContentControlInfo[]} contentControInfo - The array of content control information to be reset.
     * @returns {void}
     */
    resetContentControlData(contentControInfo: ContentControlInfo[]): void;
    /**
     * @param {TextElementBox} element - Specifies the text element box.
     * @private
     * @returns {string} - Returns the content control value.
     */
    getContentControlValue(element: TextElementBox): string;
    /**
     * @param {ContentControl} element - Specifies the content control.
     * @private
     * @returns {string} - Returns the content control value.
     */
    getContentControlValueForText(element: ContentControl): string;
    /**
     * Updates the fields in the current document.
     * Currently cross reference field only supported.
     *
     * @returns {void}
     */
    updateFields(): void;
    /**
     * Shifts the focus to the document.
     *
     * @returns {void}
     */
    focusIn(): void;
    /**
     * Fits the page based on given fit type.
     *
     * @param {PageFitType} pageFitType - The default value of ‘pageFitType’ parameter is 'None'
     * @returns {void}
     */
    fitPage(pageFitType?: PageFitType): void;
    /**
     * Exports the specified page as image.
     *
     * @param {number} pageNumber Specifies the page number starts from index `1`.
     * @param {number} format Specifies the image format.
     * @returns {HTMLImageElement} Returns the html image element.
     */
    exportAsImage(pageNumber: number, format: ImageFormat): HTMLImageElement;
    /**
     * Exports the specified page as content.
     *
     * @param {number} pageNumber Specifies the page number starts from index `1`.
     * @private
     * @returns {string} Returns the page as content.
     */
    exportAsPath(pageNumber: number): string;
    /**
     * Prints the document.
     *
     * @param {Window} printWindow - Default value of 'printWindow' parameter is undefined.
     * @returns {void}
     */
    print(printWindow?: Window): void;
    /**
     * Serializes the data to JSON string.
     *
     * @returns {string} Returns the data as JSON string.
     */
    serialize(): string;
    /**
     * Saves the document.
     *
     * @param {string} fileName Specifies the file name.
     * @param {FormatType} formatType Specifies the format type.
     * @returns {void}
     */
    save(fileName: string, formatType?: FormatType): void;
    private zipArchiveBlobToSfdtFile;
    /**
     * Saves the document as blob.
     *
     * @param {FormatType} formatType Specifies the format type.
     * @returns {Promise<Blob>} Returns the document as blob.
     */
    saveAsBlob(formatType?: FormatType): Promise<Blob>;
    private getBase64StringFromBlob;
    /**
     * Opens a blank document.
     *
     * @returns {void}
     */
    openBlank(): void;
    /**
     * Gets the style names based on given style type.
     *
     * @param {StyleType} styleType Specifies the style type.
     * @returns {string[]} Returns the style names.
     */
    getStyleNames(styleType?: StyleType): string[];
    /**
     * Gets the style objects on given style type.
     *
     * @param {StyleType} styleType Specifies the style type.
     * @returns {Object[]} Returns the Specifies styles.
     */
    getStyles(styleType?: StyleType): Object[];
    /**
     * Gets the bookmarks.
     *
     * @returns {string[]} Returns the bookmark collection.
     */
    getBookmarks(): string[];
    /**
     * Shows the dialog.
     *
     * @param {DialogType} dialogType Specifies the dialog type.
     * @returns {void}
     */
    showDialog(dialogType: DialogType): void;
    /**
     * @private
     * @returns {void}
     */
    toggleShowHiddenMarksInternal(): void;
    /**
     * Shows the options pane.
     *
     * @returns {void}
     */
    showOptionsPane(): void;
    /**
     * Shows the Xml pane.
     *
     * @returns {void}
     */
    showXmlPane(): void;
    /**
     * Shows the restrict editing pane.
     *
     * @param {boolean} show Specifies to show or hide restrict editing pane.
     * @returns {void}
     */
    showRestrictEditingPane(show?: boolean): void;
    /**
     * Shows the spell check dialog.
     *
     * @private
     * @returns {void}
     */
    showSpellCheckDialog(): void;
    /**
     * Shows the tab dialog.
     *
     * @private
     * @returns {void}
     */
    showTabDialog(): void;
    /**
     * Destroys all managed resources used by this object.
     *
     * @returns {void}
     */
    destroy(): void;
    /**
     * @param {WStyle} styleInCollection - Specifies the style in collection.
     * @param {WStyle} style - Specifies the style.
     * @private
     * @returns {void} - Returns the void.
     */
    updateStyle(styleInCollection: WStyle, style: WStyle): void;
    private createNewBodyWidget;
    private clearSpellCheck;
    /**
     * @param {string} name - Specifies the name.
     * @param {number} listId - Specifies the list id.
     * @private
     * @returns {void} - Returns the void.
     */
    setStyleData(name: string, listId?: number): void;
    /**
     * Sets custom fonts in the document editor.
     *
     * @param {string | object[]}fonts - A stringified JSON array or an array of objects, where each object defines:
     * - `fontFamily`: The name of the font family.
     * - `src`: A URL or relative path pointing to the font file.
     *
     * Example usage:
     *
     * // Using a stringified JSON array
     * documentEditor.setCustomFonts('[{fontFamily: "Algerian", src: "url('/fonts/myfont.ttf') format('ttf')"}, {fontFamily: "Arial", src: "url('https://example.com/font2.ttf') format('ttf')"}, {fontFamily: "Arial", src: "url('data:font/ttf;
base64,d09GRgABAAAAAA...') format('ttf')"}]');
     *
     * // Using an array of objects
     * documentEditor.setCustomFonts([
     * {fontFamily: "Algerian", src: "url('/fonts/myfont.ttf') format('ttf')"},
     * {fontFamily: "Arial", src: "url('https://example.com/font2.ttf') format('ttf')"},
     * {fontFamily: "Arial", src: "url('data:font/ttf;
base64,d09GRgABAAAAAA...') format('ttf')"}
     * ]);
     * @returns {void}
     */
    setCustomFonts(fonts: string | object[]): void;
    /**
     *
     * @private
     * @param {Object} style - Specifies the style.
     * @param {number} listId - Specifies the list id.
     * @returns {any} - Returns the style object.
     */
    getStyleObject(style: Object, listId: number): any;
    /**
     * @param {string} name - Specifies the name.
     * @param {boolean} value - Specifies the value.
     * @param {string} hashValue - Specifies the hash value.
     * @param {string} saltValue - Specifies the salt value.
     * @param {ProtectionType} protectionType - Specifies the protection type.
     * @private
     * @returns {void} - Returns the void.
     */
    getSettingData(name: string, value: boolean, hashValue?: string, saltValue?: string, protectionType?: ProtectionType): 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 spell check by page action of Document Editor.
     *
     * @default 'SpellCheckByPage'
     */
    spellCheckByPage: string;
    /**
     * Specifies the restrict editing encryption/decryption action of Document Editor.
     *
     * @default 'RestrictEditing'
     */
    restrictEditing: string;
    /**
     * Specifies the server action name to lock selected region.
     *
     * @default 'CanLock'
     */
    canLock: string;
    /**
     * Specifies the server action name to pull pending actions.
     *
     * @default 'GetPendingActions'
     */
    getPendingActions: string;
}
/**
 * Form field settings.
 */
export  class FormFieldSettings extends base.ChildProperty<FormFieldSettings> {
    /**
     * Gets or sets the form fields shading color.
     * You can customize shading color in application level, but cannot be exported in file level
     *
     * @default '#cfcfcf'
     */
    shadingColor: string;
    /**
     * Gets or sets the whether apply shadings for field or not.
     *
     * @default true
     */
    applyShading: boolean;
    /**
     * Gets or sets the field selection color.
     *
     * @default '#cccccc'
     */
    selectionColor: string;
    /**
     * Gets or sets the form filling mode type.
     *
     * @default 'Popup'
     */
    formFillingMode: FormFillingMode;
    /**
     * Gets or sets the formatting exception.
     *
     * @default []
     */
    formattingExceptions: FormattingExceptions[];
}
/**
 * Represents the collaborative editing settings.
 */
export  class CollaborativeEditingSettings extends base.ChildProperty<CollaborativeEditingSettings> {
    /**
     * Gets or sets the collaborative editing room name.
     *
     * @default ''
     */
    roomName: string;
    /**
     * Gets or sets the editable region color.
     */
    editableRegionColor: string;
    /**
     * Gets or sets the locked region color.
     */
    lockedRegionColor: string;
    /**
     * Gets or sets the timeout for syncing content in milliseconds.
     */
    saveTimeout: number;
}
/**
 * The `ServerActionSettings` module is used to provide the server action methods of Document Editor Container.
 */
export  class ContainerServerActionSettings extends ServerActionSettings {
    /**
     * Specifies the load action of Document Editor.
     *
     * @default 'Import'
     */
}
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/document-editor-model.d.ts
/**
 * Interface for a class DocumentEditorSettings
 */
export interface DocumentEditorSettingsModel {
    /**
     * Gets or sets a value indicating where to append the pop up element
     *
     * @returns {HTMLElement}
     * @aspType HTMLElement
     * @default null
     */
    popupTarget?: HTMLElement;
    /**
     * Specifies the user preferred Search Highlight Color of Document Editor.
     *
     * @default '#FFE97F'
     */
    searchHighlightColor?: string;
    /**
     * Specifies the user preferred font family of Document Editor.
     * @default ['Algerian','Arial','Calibri','Cambria','CambriaMath','Candara','CourierNew','Georgia','Impact','SegoePrint','SegoeScript','SegoeUI','Symbol','TimesNewRoman','Verdana','Wingdings']
     */
    fontFamilies?: string[];
    /**
     * Gets or sets the form field settings.
     */
    formFieldSettings?: FormFieldSettingsModel;
    /**
     * Specified the auto resize settings.
     */
    autoResizeSettings?: AutoResizeSettingsModel;
    /**
     * Gets ot sets the collaborative editing settings.
     */
    collaborativeEditingSettings?: CollaborativeEditingSettingsModel;
    /**
     * Specifies the device pixel ratio for the image generated for printing.
     * > Increasing the device pixel ratio will increase the image file size, due to high resolution of image.
     */
    printDevicePixelRatio?: number;
    /**
     * Gets or sets a value indicating whether to use optimized text measuring approach to match Microsoft Word pagination.
     *
     * @default true
     * @aspType bool
     * @returns {boolean} Returns `true` if uses optimized text measuring approach to match Microsoft Word pagination;
 otherwise, `false`
     */
    enableOptimizedTextMeasuring?: boolean;
    /**
     * Enable or Disable moving selected content within Document Editor
     *
     * @default true
     * @aspType bool
     * @returns {boolean} Returns `true` moving selected content within Document Editor is enabled;
 otherwise, `false`
     */
    allowDragAndDrop?: boolean;
    /**
     * Gets or sets the maximum number of rows allowed while inserting a table in Document editor component.
     * > The maximum value is 32767, as per Microsoft Word application and you can set any value less than 32767 to this property. If you set any value greater than 32767, then Syncfusion Document editor will automatically reset as 32767.
     *
     * @default 32767
     * @returns {number}
     */
    maximumRows?: number;
    /**
     * Gets or sets the maximum number of columns allowed while inserting a table in Document editor component.
     * > The maximum value is 63, as per Microsoft Word application and you can set any value less than 63 to this property. If you set any value greater than 63, then Syncfusion Document editor will automatically reset as 63.
     *
     * @default 63
     * @returns {number}
     */
    maximumColumns?: number;
    /**
     * Gets or sets a value indicating whether to show the hidden characters like spaces, tab, paragraph marks, and breaks.
     *
     * @default false
     * @aspType bool
     * @returns {boolean} Returns `false` if hides the hidden characters like spaces, tab, paragraph marks, and breaks. Otherwise `true`.
     */
    showHiddenMarks?: boolean;
    /**
     * Gets or sets a value indicating whether to show square brackets around bookmarked items.
     *
     * @returns {boolean}
     * @aspType bool
     * @default false
     */
    showBookmarks?: boolean;
    /**
     * Gets or sets a value indicating whether to highlight the editable ranges in the document where the current user can edit.
     *
     * @default true
     * @aspType bool
     * @returns {boolean} Returns `true` if editable ranges in the document is highlighted. Otherwise `false`.
     */
    highlightEditableRanges?: boolean;
    /**
     * Describes whether to reduce the resultant SFDT file size by minifying the file content
     *
     * @default true
     * @aspType bool
     * @returns {boolean} Returns `true` if sfdt content generated is optimized. Otherwise `false`.
     */
    optimizeSfdt?: boolean;
    /**
     *  Gets or sets a value indicating whether to display ruler in Document Editor.
     *
     * @default false
     * @aspType bool
     * @returns {boolean} Returns `true` if ruler is visible in Document Editor. Otherwise `false`.
     */
    showRuler?: boolean;
    /**
     * Gets or sets color picker settings to customize the color picker used in Document Editor.
     */
    colorPickerSettings?: inputs.ColorPickerModel;
    /**
     *  Gets or sets a value indicating whether to display navigation pane in Document Editor.
     *
     * @default false
     * @aspType bool
     * @returns {boolean} Returns `true` if navigation pane is visible in Document Editor. Otherwise `false`.
     */
    showNavigationPane?: boolean;
    /**
     * Gets ot sets the mention configuration used in Document Editor.
     */
    mentionSettings?: dropdowns.MentionModel;
    /**
     * Gets or sets a value indicating whether the final paragraph of pasted content should be appended as a new paragraph in the Document Editor.
     *
     * @default false
     * @aspType bool
     */
    pasteAsNewParagraph?: boolean;
    /**
     * Enables or disables screen reader support in the Document Editor. When set to `true`, the editor will expose necessary accessibility information for screen reader tools.
     *
     * @default false
     * @aspType bool
     */
    enableScreenReader?: boolean;
}
/**
 * Interface for a class DocumentSettings
 */
export interface DocumentSettingsModel {
    /**
     * Gets or sets the compatibility mode of the current document.
     *
     * @default `Word2013`
     * @returns {CompatibilityMode}
     */
    compatibilityMode?: CompatibilityMode;
}
/**
 * Interface for a class AutoResizeSettings
 */
export interface AutoResizeSettingsModel {
    /**
     * Gets or sets the time interval in milliseconds to validate whether the parent element's height and width is non-zero.
     *
     * @default 2000
     * @returns {number}
     */
    interval?: number;
    /**
     * Gets or sets the number of times the Document editor has to validate whether the parent element's height and width is non-zero.
     *
     * @default 5
     * @returns {number}
     */
    iterationCount?: number;
}
/**
 * Interface for a class DocumentEditor
 */
export interface DocumentEditorModel extends base.ComponentModel{
    /**
     * Enable collaborative editing in document editor.
     *
     * @default false
     */
    enableCollaborativeEditing?: boolean;
    /**
     * Gets or sets the default Paste Formatting Options
     *
     * @default KeepSourceFormatting
     */
    defaultPasteOption?: PasteOptions;
    /**
     * Gets or sets the Layout Type.
     *
     * @default Pages
     */
    layoutType?: LayoutType;
    /**
     * Gets or sets the current user.
     *
     * @default ''
     */
    currentUser?: string;
    /**
     * Gets or sets the color used for highlighting the editable ranges or regions of the `currentUser` in Document Editor. The default value is "#FFFF00".
     * > If the visibility of text affected due this highlight color matching with random color applied for the track changes, then modify the color value of this property to resolve text visibility problem.
     *
     * @default '#FFFF00'
     */
    userColor?: string;
    /**
     * Gets or sets the page gap value in document editor.
     *
     * @default 20
     */
    pageGap?: number;
    /**
     * Gets or sets the name of the document.
     *
     * @default ''
     */
    documentName?: string;
    /**
     * Defines the width of the DocumentEditor component.
     *
     * @default '100%'
     */
    width?: string;
    /**
     * Defines the height of the DocumentEditor component.
     *
     * @default '200px'
     */
    height?: string;
    /**
     * Gets or sets the Sfdt Service URL.
     *
     * @default ''
     */
    serviceUrl?: string;
    /**
     * Gets or sets the zoom factor in document editor.
     *
     * @default 1
     */
    zoomFactor?: number;
    /**
     * Specifies the z-order for rendering that determines whether the dialog is displayed in front or behind of another component.
     *
     * @default 2000
     * @aspType int
     */
    zIndex?: number;
    /**
     * Gets or sets a value indicating whether the document editor is in read only state or not.
     *
     * @default true
     */
    isReadOnly?: boolean;
    /**
     * Gets or sets a value indicating whether print needs to be enabled or not.
     *
     * @default false
     */
    enablePrint?: boolean;
    /**
     * Gets or sets a value indicating whether selection needs to be enabled or not.
     *
     * @default false
     */
    enableSelection?: boolean;
    /**
     * Gets or sets a value indicating whether editor needs to be enabled or not.
     *
     * @default false
     */
    enableEditor?: boolean;
    /**
     * Gets or sets a value indicating whether editor history needs to be enabled or not.
     *
     * @default false
     */
    enableEditorHistory?: boolean;
    /**
     * Gets or sets a value indicating whether Sfdt export needs to be enabled or not.
     *
     * @default false
     */
    enableSfdtExport?: boolean;
    /**
     * Gets or sets a value indicating whether word export needs to be enabled or not.
     *
     * @default false
     */
    enableWordExport?: boolean;
    /**
     * Gets or sets a value indicating whether the automatic focus behavior is enabled for Document editor or not.
     *
     * > By default, the Document editor gets focused automatically when the page loads. If you want the Document editor not to be focused automatically, then set this property to false.
     *
     * @returns {boolean}
     * @aspType bool
     * @default true
     */
    enableAutoFocus?: boolean;
    /**
     * Gets or sets a value indicating whether text export needs to be enabled or not.
     *
     * @default false
     */
    enableTextExport?: boolean;
    /**
     * Gets or sets a value indicating whether options pane is enabled or not.
     *
     * @default false
     */
    enableOptionsPane?: boolean;
    /**
     * Gets or sets a value indicating whether context menu is enabled or not.
     *
     * @default false
     */
    enableContextMenu?: boolean;
    /**
     * Gets or sets a value indicating whether hyperlink dialog is enabled or not.
     *
     * @default false
     */
    enableHyperlinkDialog?: boolean;
    /**
     * Gets or sets a value indicating whether bookmark dialog is enabled or not.
     *
     * @default false
     */
    enableBookmarkDialog?: boolean;
    /**
     * Gets or sets a value indicating whether table of contents dialog is enabled or not.
     *
     * @default false
     */
    enableTableOfContentsDialog?: boolean;
    /**
     * Gets or sets a value indicating whether search module is enabled or not.
     *
     * @default false
     */
    enableSearch?: boolean;
    /**
     * Gets or sets a value indicating whether paragraph dialog is enabled or not.
     *
     * @default false
     */
    enableParagraphDialog?: boolean;
    /**
     * Gets or sets a value indicating whether list dialog is enabled or not.
     *
     * @default false
     */
    enableListDialog?: boolean;
    /**
     * Gets or sets a value indicating whether table properties dialog is enabled or not.
     *
     * @default false
     */
    enableTablePropertiesDialog?: boolean;
    /**
     * Gets or sets a value indicating whether borders and shading dialog is enabled or not.
     *
     * @default false
     */
    enableBordersAndShadingDialog?: boolean;
    /**
     * Gets or sets a value indicating whether notes dialog is enabled or not.
     *
     * @default false
     */
    enableFootnoteAndEndnoteDialog?: boolean;
    /**
     * Gets or sets a value indicating whether margin dialog is enabled or not.
     *
     * @default false
     */
    enableColumnsDialog?: boolean;
    /**
     * Gets or sets a value indicating whether font 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 comment is enabled or not
     *
     * @default false
     */
    enableComment?: boolean;
    /**
     * Gets or sets a value indicating whether track changes is enabled or not
     *
     * @default false
     */
    enableTrackChanges?: boolean;
    /**
     * Gets or sets a value indicating whether form fields is enabled or not.
     *
     * @default false
     */
    enableFormField?: boolean;
    /**
     * Gets or sets a value indicating whether tab key can be accepted as input or not.
     *
     * @default false
     */
    acceptTab?: boolean;
    /**
     * Gets or sets a value indicating whether holding Ctrl key is required to follow hyperlink on click. The default value is true.
     *
     * @default true
     */
    useCtrlClickToFollowHyperlink?: boolean;
    /**
     * Gets or sets the page outline color.
     *
     * @default '#000000'
     */
    pageOutline?: string;
    /**
     * Gets or sets a value indicating whether to enable cursor in document editor on read only state or not. The default value is false.
     *
     * @default false
     */
    enableCursorOnReadOnly?: boolean;
    /**
     * Gets or sets a value indicating whether local paste needs to be enabled or not.
     *
     * @default false
     */
    enableLocalPaste?: boolean;
    /**
     * Enables the partial lock and edit module.
     *
     * @default false
     */
    enableLockAndEdit?: boolean;
    /**
     * Defines the settings for DocumentEditor customization.
     *
     * @default {}
     */
    documentEditorSettings?: DocumentEditorSettingsModel;
    /**
     * Gets the settings and properties of the document that is opened in Document editor component.
     *
     * @default {}
     */
    documentSettings?: DocumentSettingsModel;
    /**
     * Defines the settings of the DocumentEditor services
     */
    serverActionSettings?: ServerActionSettingsModel;
    /**
     * Adds the custom headers to XMLHttpRequest.
     *
     * @default []
     */
    headers?: object[];
    /**
     * Shows the comment in the document.
     *
     * @default false
     */
    showComments?: boolean;
    /**
     * Shows the revision changes in the document.
     *
     * @default false
     */
    showRevisions?: boolean;
    /**
     * Gets or sets a value indicating whether to start automatic resize with the specified time interval and iteration count.
     *
     * > * Resize action triggers automatically for the specified number of iterations, or till the parent element's height and width is non-zero.
     *
     * > * If the parent element's height and width is zero even in the last iteration, then the default height and width (200) is allocated for the Document editor.
     *
     * @default false
     * @returns {boolean}
     */
    autoResizeOnVisibilityChange?: boolean;
    /**
     * Triggers whenever the document changes in the document editor.
     *
     * @event documentChange
     */
    documentChange?: base.EmitType<DocumentChangeEventArgs>;
    /**
     * Triggers whenever the container view changes in the document editor.
     *
     * @event viewChange
     */
    viewChange?: base.EmitType<ViewChangeEventArgs>;
    /**
     * Triggers whenever the zoom factor changes in the document editor.
     *
     * @event zoomFactorChange
     */
    zoomFactorChange?: base.EmitType<ZoomFactorChangeEventArgs>;
    /**
     * Triggers whenever the selection changes in the document editor.
     *
     * @event selectionChange
     */
    selectionChange?: base.EmitType<SelectionChangeEventArgs>;
    /**
     * Triggers whenever the hyperlink is clicked or tapped in the document editor.
     *
     * @event requestNavigate
     */
    requestNavigate?: base.EmitType<RequestNavigateEventArgs>;
    /**
     * Triggers whenever the content changes in the document editor.
     *
     * @event contentChange
     */
    contentChange?: base.EmitType<ContentChangeEventArgs>;
    /**
     * Triggers whenever the key is pressed in the document editor.
     *
     * @event keyDown
     */
    keyDown?: base.EmitType<DocumentEditorKeyDownEventArgs>;
    /**
     * Triggers whenever search results changes in the document editor.
     *
     * @event searchResultsChange
     */
    searchResultsChange?: base.EmitType<SearchResultsChangeEventArgs>;
    /**
     * Triggers when the component is created.
     *
     * @event created
     */
    created?: base.EmitType<Object>;
    /**
     * Triggers when the component is destroyed.
     *
     * @event destroyed
     */
    destroyed?: base.EmitType<Object>;
    /**
     * Triggers while selecting the custom context-menu option.
     *
     * @event customContextMenuSelect
     */
    customContextMenuSelect?: base.EmitType<CustomContentMenuEventArgs>;
    /**
     * Triggers before opening the custom context-menu option.
     *
     * @event customContextMenuBeforeOpen
     */
    customContextMenuBeforeOpen?: base.EmitType<BeforeOpenCloseCustomContentMenuEventArgs>;
    /**
     * Triggers before opening the comment pane.
     *
     * @event beforePaneSwitch
     */
    beforePaneSwitch?: base.EmitType<BeforePaneSwitchEventArgs>;
    /**
     * Triggers after inserting the comment.
     *
     * @event commentBegin
     */
    commentBegin?: base.EmitType<Object>;
    /**
     * Triggers after posting the comment.
     *
     * @event commentEnd
     */
    commentEnd?: base.EmitType<Object>;
    /**
     * Triggers before a file is opened.
     *
     * @event beforeFileOpen
     */
    beforeFileOpen?: base.EmitType<BeforeFileOpenArgs>;
    /**
     * Triggers after deleting the comment.
     *
     * @event commentDelete
     */
    commentDelete?: base.EmitType<CommentDeleteEventArgs>;
    /**
     * Triggers before accepting or rejecting changes.
     *
     * @event beforeAcceptRejectChanges
     */
    beforeAcceptRejectChanges?: base.EmitType<RevisionActionEventArgs>;
    /**
     * Triggers on comment actions(Post, edit, reply, resolve, reopen).
     *
     * @event beforeCommentAction
     */
    beforeCommentAction?: base.EmitType<CommentActionEventArgs>;
    /**
     * Triggers when the trackChanges enabled / disabled.
     *
     * @event trackChange
     */
    trackChange?: base.EmitType<TrackChangeEventArgs>;
    /**
     * Triggers before the form field fill.
     *
     * @event beforeFormFieldFill
     */
    beforeFormFieldFill?: base.EmitType<FormFieldFillEventArgs>;
    /**
     * Triggers when the server side action fails.
     *
     * @event serviceFailure
     */
    serviceFailure?: base.EmitType<ServiceFailureArgs>;
    /**
     * Triggers after the form field fill.
     *
     * @event afterFormFieldFill
     */
    afterFormFieldFill?: base.EmitType<FormFieldFillEventArgs>;
    /**
     * Triggers when the document editor collaborative actions (such as LockContent, SaveContent, UnlockContent) gets completed.
     *
     * @event actionComplete
     */
    actionComplete?: base.EmitType<CollaborativeEditingEventArgs>;
    /**
     * Triggers when user interaction prevented in content control.
     *
     * @event contentControl
     */
    contentControl?: base.EmitType<Object>;
    /**
     * Triggers before a server request is started, allows you to modify the XMLHttpRequest object (setting additional headers, if needed).
     */
    beforeXmlHttpRequestSend?: base.EmitType<XmlHttpRequestEventArgs>;
    /**
     * Triggers when SFDT is failed to load in the document editor
     */
    documentLoadFailed?: base.EmitType<DocumentLoadFailedEventArgs>;
}
/**
 * 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 spell check by page action of Document Editor.
     *
     * @default 'SpellCheckByPage'
     */
    spellCheckByPage?: string;
    /**
     * Specifies the restrict editing encryption/decryption action of Document Editor.
     *
     * @default 'RestrictEditing'
     */
    restrictEditing?: string;
    /**
     * Specifies the server action name to lock selected region.
     *
     * @default 'CanLock'
     */
    canLock?: string;
    /**
     * Specifies the server action name to pull pending actions.
     *
     * @default 'GetPendingActions'
     */
    getPendingActions?: string;
}
/**
 * Interface for a class FormFieldSettings
 */
export interface FormFieldSettingsModel {
    /**
     * Gets or sets the form fields shading color.
     * You can customize shading color in application level, but cannot be exported in file level
     *
     * @default '#cfcfcf'
     */
    shadingColor?: string;
    /**
     * Gets or sets the whether apply shadings for field or not.
     *
     * @default true
     */
    applyShading?: boolean;
    /**
     * Gets or sets the field selection color.
     *
     * @default '#cccccc'
     */
    selectionColor?: string;
    /**
     * Gets or sets the form filling mode type.
     *
     * @default 'Popup'
     */
    formFillingMode?: FormFillingMode;
    /**
     * Gets or sets the formatting exception.
     *
     * @default []
     */
    formattingExceptions?: FormattingExceptions[];
}
/**
 * Interface for a class CollaborativeEditingSettings
 */
export interface CollaborativeEditingSettingsModel {
    /**
     * Gets or sets the collaborative editing room name.
     *
     * @default ''
     */
    roomName?: string;
    /**
     * Gets or sets the editable region color.
     */
    editableRegionColor?: string;
    /**
     * Gets or sets the locked region color.
     */
    lockedRegionColor?: string;
    /**
     * Gets or sets the timeout for syncing content in milliseconds.
     */
    saveTimeout?: number;
}
/**
 * Interface for a class ContainerServerActionSettings
 */
export interface ContainerServerActionSettingsModel extends ServerActionSettingsModel{
    /**
     * Specifies the load action of Document Editor.
     *
     * @default 'Import'
     */
}
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/implementation/print.d.ts
/**
 * Print class
 */
export  class Print {
    private getModuleName;
    private windowPrint;
    /**
     * Prints the current viewer
     *
     * @private
     * @param {DocumentHelper} documentHelper - Specifies the document helper.
     * @param {Window} printWindow - Specifies the print window.
     * @returns {void}
     */
    print(documentHelper: DocumentHelper, printWindow?: Window): void;
    /**
     * Opens print window and displays current page to print.
     *
     * @private
     * @param {DocumentHelper} documentHelper - Specifies the document helper.
     * @param {string} browserUserAgent - Specifies the browser user agent.
     * @param {Window} printWindow - Specifies the print window.
     * @returns {void}
     */
    printWindow(documentHelper: DocumentHelper, browserUserAgent: string, printWindow?: Window): void;
    private closePrintWindow;
    /**
     * Generate Document Image.
     *
     * @param documentHelper
     * @param pageNumber
     * @param imageType
     * @private
     */
    exportAsImage(documentHelper: DocumentHelper, pageNumber: number, imageType: string): HTMLImageElement;
    /**
     * Generates print content.
     *
     * @private
     * @param {DocumentHelper} documentHelper - Specifies the document helper.
     * @param {HTMLDivElement} element - Specifies the element.
     * @returns {void}
     */
    generatePrintContent(documentHelper: DocumentHelper, element: HTMLDivElement): void;
    /**
     * Gets page width.
     *
     * @private
     * @param {Page} pages - Specifies the pages.
     * @returns {number} - Returns the page width.
     */
    getPageWidth(pages: Page[]): number;
    /**
     * Gets page height.
     *
     * @private
     * @param {Page} pages - Specifies the pages.
     * @returns {number} - Returns the page height.
     */
    getPageHeight(pages: Page[]): number;
    /**
     * @private
     * @returns {void}
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/implementation/context-menu.d.ts
/**
 * Context navigations.ContextMenu class
 */
export  class ContextMenu {
    private documentHelper;
    /**
     * @private
     */
    contextMenuInstance: navigations.ContextMenu;
    /**
     * @private
     */
    contextMenu: HTMLElement;
    /**
     * @private
     */
    menuItems: navigations.MenuItemModel[];
    /**
     * @private
     */
    customMenuItems: navigations.MenuItemModel[];
    /**
     * @private
     */
    locale: base.L10n;
    /**
     * @private
     */
    ids: string[];
    /**
     * @private
     */
    enableCustomContextMenu: boolean;
    /**
     * @private
     */
    enableCustomContextMenuBottom: boolean;
    /**
     * @private
     */
    itemsmenu: string;
    private currentContextInfo;
    private noSuggestion;
    private spellContextItems;
    private customItems;
    private pasteCheckBoxDialog;
    /**
     * @param {DocumentHelper} documentHelper - Specifies the document helper.
     * @private
     */
    constructor(documentHelper: DocumentHelper);
    private readonly viewer;
    private readonly spellChecker;
    private getModuleName;
    /**
     * Initialize context menu.
     *
     * @param localValue Localize value.
     * @private
     */
    initContextMenu(localValue: base.L10n, isRtl?: boolean): void;
    /**
     * Disable browser context menu.
     */
    private disableBrowserContextmenu;
    /**
     * paste Dialog box.
     */
    private openPasteDialog;
    /**
     * Handles context menu items.
     * @param  {string} item Specifies which item is selected.
     * @private
     */
    handleContextMenuItem(item: string): void;
    /**
     * Method to call the selected item
     * @param {string} content
     */
    private callSelectedOption;
    /**
     * To add and customize custom context menu
     * @param {navigations.MenuItemModel[]} items - To add custom menu item
     * @param {boolean} isEnable - To hide existing menu item and show custom menu item alone
     * @param {boolean} isBottom - To show the custom menu item in bottom of the existing item
     * @returns {void}
     */
    addCustomMenu(items: navigations.MenuItemModel[], isEnable?: boolean, isBottom?: boolean): void;
    /**
     * Context navigations.ContextMenu Items.
     * @param {navigations.MenuItemModel[]} menuItems - To add MenuItem to context menu
     * @private
     */
    addMenuItems(menuItems: navigations.MenuItemModel[]): navigations.MenuItemModel[];
    /**
     * Handles on context menu key pressed.
     * @param  {MouseEvent} event
     * @private
     */
    onContextMenuInternal: (event: MouseEvent | TouchEvent) => void;
    /**
     * Opens context menu.
     * @param {MouseEvent | TouchEvent} event
     */
    private showContextMenuOnSel;
    /**
     * Method to hide spell context items
     */
    hideSpellContextItems(): void;
    /**
     * Method to process suggestions to add in context menu
     * @param {any} allSuggestions
     * @param {string[]} splittedSuggestion
     * @param {MouseEvent} event
     * @private
     */
    processSuggestions(allSuggestions: any, splittedSuggestion: string[], event: MouseEvent | TouchEvent): void;
    /**
     * Method to add inline menu
     * @private
     */
    constructContextmenu(allSuggestion: any[], splittedSuggestion: any): any[];
    private showHideElements;
    /**
     * Disposes the internal objects which are maintained.
     * @private
     */
    destroy(): void;
    /**
     * Disposes the internal objects which are maintained.
     * @private
     */
    componentDestroy(): void;
}
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/implementation/writer/word-export.d.ts
/**
 * Exports the document to Word format.
 */
export  class WordExport {
    private getModuleName;
    private customXMLItemsPath;
    private customXMLItemsPropspath;
    private itemPropsPath;
    private documentPath;
    private stylePath;
    private chartPath;
    private numberingPath;
    private settingsPath;
    private headerPath;
    private footerPath;
    private imagePath;
    private footnotesPath;
    private endnotesPath;
    private appPath;
    private corePath;
    private contentTypesPath;
    private defaultEmbeddingPath;
    private commentsPath;
    private commentsExtendedPath;
    private themePath;
    private generalRelationPath;
    private wordRelationPath;
    private customXMLRelPath;
    private excelRelationPath;
    private footnotesRelationPath;
    private endnotesRelationPath;
    private headerRelationPath;
    private footerRelationPath;
    private xmlContentType;
    private fontContentType;
    private documentContentType;
    private TemplateContentType;
    private settingsContentType;
    private commentsContentType;
    private commentsExContentType;
    private endnoteContentType;
    private footerContentType;
    private footnoteContentType;
    private headerContentType;
    private numberingContentType;
    private stylesContentType;
    private webSettingsContentType;
    private appContentType;
    private coreContentType;
    private customContentType;
    private customXmlContentType;
    private relationContentType;
    private chartsContentType;
    private themeContentType;
    private tableStyleContentType;
    private chartColorStyleContentType;
    private commentsRelType;
    private commentsExRelType;
    private settingsRelType;
    private endnoteRelType;
    private footerRelType;
    private footnoteRelType;
    private headerRelType;
    private documentRelType;
    private numberingRelType;
    private stylesRelType;
    private chartRelType;
    private ThemeRelType;
    private fontRelType;
    private tableStyleRelType;
    private coreRelType;
    private appRelType;
    private customRelType;
    private imageRelType;
    private hyperlinkRelType;
    private controlRelType;
    private packageRelType;
    private customXmlRelType;
    private customUIRelType;
    private attachedTemplateRelType;
    private chartColorStyleRelType;
    private wNamespace;
    private wpNamespace;
    private pictureNamespace;
    private aNamespace;
    private a14Namespace;
    private svgNamespace;
    private rNamespace;
    private rpNamespace;
    private vNamespace;
    private oNamespace;
    private xmlNamespace;
    private w10Namespace;
    private cpNamespace;
    private dcNamespace;
    private docPropsNamespace;
    private veNamespace;
    private mNamespace;
    private wneNamespace;
    private customPropsNamespace;
    private vtNamespace;
    private chartNamespace;
    private slNamespace;
    private dtNamespace;
    private wmlNamespace;
    private w14Namespace;
    private wpCanvasNamespace;
    private wpDrawingNamespace;
    private wpGroupNamespace;
    private wpInkNamespace;
    private wpShapeNamespace;
    private w15Namespace;
    private diagramNamespace;
    private eNamespace;
    private pNamespace;
    private certNamespace;
    private cxNamespace;
    private c15Namespace;
    private c7Namespace;
    private csNamespace;
    private spreadSheetNamespace;
    private spreadSheet9;
    private cRelationshipsTag;
    private cRelationshipTag;
    private cIdTag;
    private cTypeTag;
    private cTargetTag;
    private cUserShapesTag;
    private cExternalData;
    private twipsInOnePoint;
    private twentiethOfPoint;
    private borderMultiplier;
    private percentageFactor;
    private emusPerPoint;
    private cConditionalTableStyleTag;
    private cTableFormatTag;
    private cTowFormatTag;
    private cCellFormatTag;
    private cParagraphFormatTag;
    private cCharacterFormatTag;
    private packageType;
    private relsPartPath;
    private documentRelsPartPath;
    private webSettingsPath;
    private wordMLDocumentPath;
    private wordMLStylePath;
    private wordMLNumberingPath;
    private wordMLSettingsPath;
    private wordMLHeaderPath;
    private wordMLFooterPath;
    private wordMLCommentsPath;
    private wordMLImagePath;
    private wordMLFootnotesPath;
    private wordMLEndnotesPath;
    private wordMLAppPath;
    private wordMLCorePath;
    private wordMLCustomPath;
    private wordMLFontTablePath;
    private wordMLChartsPath;
    private wordMLDefaultEmbeddingPath;
    private wordMLEmbeddingPath;
    private wordMLDrawingPath;
    private wordMLThemePath;
    private wordMLFontsPath;
    private wordMLDiagramPath;
    private wordMLControlPath;
    private wordMLVbaProject;
    private wordMLVbaData;
    private wordMLVbaProjectPath;
    private wordMLVbaDataPath;
    private wordMLWebSettingsPath;
    private wordMLCustomItemProp1Path;
    private wordMLFootnoteRelPath;
    private wordMLEndnoteRelPath;
    private wordMLSettingsRelPath;
    private wordMLNumberingRelPath;
    private wordMLFontTableRelPath;
    private wordMLCustomXmlPropsRelType;
    private wordMLControlRelType;
    private wordMLDiagramContentType;
    private dsNamespace;
    private excelFiles;
    private section;
    private lastSection;
    private blockOwner;
    private paragraph;
    private table;
    private row;
    private headerFooter;
    private endNoteFootnote;
    private document;
    private mSections;
    private mLists;
    private mAbstractLists;
    private mStyles;
    private mThemes;
    private defCharacterFormat;
    private themeFontLang;
    private defParagraphFormat;
    private defaultTabWidthValue;
    private dontUseHtmlParagraphAutoSpacing;
    private allowSpaceOfSameStyleInTable;
    private mRelationShipID;
    private cRelationShipId;
    private eRelationShipId;
    private efRelationShipId;
    private mDocPrID;
    private chartCount;
    private seriesCount;
    private chartStringCount;
    private chart;
    private mDifferentFirstPage;
    private mHeaderFooterColl;
    private mFootEndnotesColl;
    private mVerticalMerge;
    private mGridSpans;
    private mDocumentImages;
    private mSvgImages;
    private mCustomXML;
    private mImages;
    private mDocumentCharts;
    private mExternalLinkImages;
    private mHeaderFooterImages;
    private mHeaderFooterSvgImages;
    private mArchive;
    private mArchiveExcel;
    private mBookmarks;
    private formatting;
    private enforcement;
    private hashValue;
    private saltValue;
    private protectionType;
    private fileName;
    private spanCellFormat;
    private mComments;
    private revisions;
    private customXMLProps;
    private paraID;
    private commentParaID;
    private commentParaIDInfo;
    private replyCommentIdCollection;
    private imageRelationIds;
    private svgImageRelationIds;
    private isInsideComment;
    private commentId;
    private currentCommentId;
    private jsonObject;
    private trackChangesId;
    private prevRevisionIds;
    private isRevisionContinuous;
    private formFieldShading;
    private trackChanges;
    private compatibilityMode;
    private isBookmarkAtEnd;
    private isBookmarkAtRowEnd;
    private isVerticalMergeCell;
    private keywordIndex;
    private isHeaderFooter;
    private isSerializeFootEndNote;
    private containerWidth;
    private readonly bookmarks;
    private readonly documentImages;
    private readonly svgImages;
    private readonly externalImages;
    private readonly headerFooterImages;
    private readonly headerFooterSvgImages;
    private readonly documentCharts;
    private readonly headersFooters;
    private readonly endnotesFootnotes;
    /**
     * @private
     * @param {DocumentHelper} documentHelper - Document helper
     * @param {string} fileName - file name
     * @param {string} formatType - format type
     * @returns {void}
     */
    save(documentHelper: DocumentHelper, fileName: string, formatType?: string): void;
    private saveInternal;
    /**
     * @private
     * @param {DocumentHelper} documentHelper - Document helper
     * @param {string} formatType - format type
     * @returns {Promise<Blob>} - Return Promise
     */
    saveAsBlob(documentHelper: DocumentHelper, formatType?: string): Promise<Blob>;
    private serializeExcelFiles;
    /**
     * @private
     * @returns {void}
     */
    saveExcel(): void;
    /**
     * @private
     * @returns {void}
     */
    destroy(): void;
    private serialize;
    private setDocument;
    private clearDocument;
    private serializeDocument;
    private writeCommonAttributeStrings;
    private writeDup;
    private writeCustom;
    private serializeDocumentBody;
    private serializeSection;
    private serializeComments;
    private serializeThemes;
    private themeFont;
    private themeType;
    private serializeCommentCommonAttribute;
    private serializeCommentInternal;
    private serializeCommentsExtended;
    private serializeCommentsExInternal;
    private serializeSectionProperties;
    private getSectionBreakCode;
    private serializeFootNotesPr;
    private getFootNoteNumberFormat;
    private getFootNoteNumberRestart;
    private getPageNumberFormat;
    private serializeEndNotesPr;
    private serializeColumns;
    private serializePageSetup;
    private serializePageSize;
    private serializePageMargins;
    private serializePageNumberType;
    private serializeSectionType;
    private serializeHFReference;
    private addHeaderFooter;
    private serializeBodyItems;
    private serializeContentControl;
    private serializeContentProperties;
    private toUnicode;
    private serializeContentControlList;
    private serializeContentParagraph;
    private serializeContentControlDate;
    private serializeBodyItem;
    private serializeParagraph;
    private serializeRevisionStart;
    private serializeTrackChanges;
    private retrieveRevision;
    private serializeParagraphItems;
    private serializeEFReference;
    private addFootnotesEndnotes;
    private serializeEndnotesFootnote;
    private serializeInlineEndnotes;
    private serializeInlineFootnotes;
    private writeEFCommonAttributes;
    private serializeFootnotes;
    private serializeEndnotes;
    private serializeRevisionEnd;
    private serializeComment;
    private serializeCommentItems;
    private serializeBiDirectionalOverride;
    private serializeEditRange;
    private serializeBookMark;
    private getBookmarkId;
    private serializePicture;
    private serializeShape;
    private serializeHorizontalRule;
    private serializeDrawing;
    private serializeWrappingPictureAndShape;
    private serializeInlinePictureAndShape;
    private serializePictureAndShapeDistance;
    private writeDefaultDistAttribute;
    private serializeInlineCharts;
    private serializeDrawingGraphicsChart;
    private getBase64ImageString;
    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(sourceString: string, startString: string): boolean;
    private serializeShapeDrawingGraphics;
    private getTextVerticalAlignmentProperty;
    private serializeShapeWrapStyle;
    private serializeDrawingGraphics;
    private serializeBlipExtensions;
    private updateShapeId;
    private addImageRelation;
    private updateHFImageRels;
    private serializeTable;
    private getMergeCellFormat;
    private serializeTableCell;
    private serializeTableGrid;
    private serializeTableRows;
    private serializeRow;
    private serializeRowFormat;
    private serializeCells;
    private serializeCell;
    private createCellForMerge;
    private serializeCellFormat;
    private serializeCellWidth;
    private serializeCellMerge;
    private createMerge;
    private serializeColumnSpan;
    private checkMergeCell;
    private serializeGridSpan;
    private serializeTableCellDirection;
    private serializeCellVerticalAlign;
    private serializeGridColumns;
    private serializeTableFormat;
    private serializeTablePositioning;
    private serializeTableMargins;
    private serializeRowMargins;
    private serializeCellMargins;
    private serializeMargins;
    private serializeShading;
    private getTextureStyle;
    private serializeParagraphBorders;
    private serializeTableBorders;
    private serializeBorders;
    private serializeTblLayout;
    private serializeBorder;
    private getBorderStyle;
    private serializeTableIndentation;
    private serializeCellSpacing;
    private serializeTableWidth;
    private serializeTableAlignment;
    private serializeFieldCharacter;
    private serializeTextRange;
    private retrieveDeleteRevision;
    private serializeParagraphFormat;
    private getOutlineLevelValue;
    private serializeTabs;
    private serializeTab;
    private getTextWrappingType;
    private getTextWrappingStyle;
    private getDateStorageFormat;
    private getDateCalendarType;
    private getContentControlAppearance;
    private getTextFormFieldFormat;
    private getTextFormFieldType;
    private getTabLeader;
    private getTabJustification;
    private getTableVerticalAlignment;
    private getTableHorizontalAlignment;
    private getTableVerticalRelationEnumValue;
    private getTableVerticalRelation;
    private getTableHorizontalRelation;
    private getVerticalOrigin;
    private getHorizontalOrigin;
    private getShapeVerticalAlignment;
    private getShapeHorizontalAlignment;
    private getBiDirectionalOverride;
    private getBreakClearType;
    private serializeListFormat;
    private serializeParagraphAlignment;
    private serializeParagraphSpacing;
    private serializeIndentation;
    private serializeCustomXMLMapping;
    private customXMLRelation;
    private createXMLItem;
    private createXMLItemProps;
    private serializeStyles;
    private serializeDefaultStyles;
    private serializeDocumentStyles;
    private serializeCharacterFormat;
    private getColor;
    private getStyleType;
    private getUnderlineStyle;
    private getFontHintType;
    private getHighlightColor;
    private serializeBoolProperty;
    private serializeNumberings;
    private serializeAbstractListStyles;
    private serializeListInstances;
    private roundToTwoDecimal;
    private serializeListLevel;
    private serializeLevelOverrides;
    private getLevelPattern;
    private serializeLevelText;
    private serializeLevelFollow;
    private serializeThemeFontLang;
    private serializeDocumentProtectionSettings;
    private serializeSettings;
    private serializeCoreProperties;
    private serializeAppProperties;
    private serializeFontTable;
    private serializeSettingsRelation;
    private getCompatibilityModeEnumValue;
    private serializeHeaderFooters;
    private serializeHeaderFooter;
    private serializeHeader;
    private serializeHFRelations;
    private writeHFCommonAttributes;
    private serializeFooter;
    private serializeDocumentRelations;
    private serializeChartDocumentRelations;
    private serializeChartRelations;
    private serializeImagesRelations;
    private serializeSvgImageRelation;
    /**
     * @private
     */
    encodedString(input: string): Uint8Array;
    private serializeExternalLinkImages;
    private serializeHeaderFooterRelations;
    private serializeHFRelation;
    private serializeRelationShip;
    private getNextRelationShipID;
    private getEFNextRelationShipID;
    private serializeGeneralRelations;
    private serializeContentTypes;
    private serializeHFContentTypes;
    private serializeHeaderFootersContentType;
    private SerializeEFContentTypes;
    private serializeEFContentType;
    private serializeOverrideContentType;
    private serializeDefaultContentType;
    private resetRelationShipID;
    private resetExcelRelationShipId;
    private resetChartRelationShipId;
    private close;
    private getExportAutoShapeType;
    getAutoShapeTypeEnumValue(autoShapeType: AutoShapeType | any): number;
}
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/implementation/writer/text-export.d.ts
/**
 * Exports the document to Text format.
 */
export  class TextExport {
    private getModuleName;
    /**
     * @private
     */
    pageContent: string;
    private curSectionIndex;
    private sections;
    private document;
    private lastPara;
    private mSections;
    private inField;
    /**
     * @private
     * @param {DocumentHelper} documentHelper - Document helper.
     * @param {string} fileName - Specified file name.
     * @return {void}
     */
    save(documentHelper: DocumentHelper, fileName: string): void;
    /**
     * Save text document as Blob.
     *
     * @private
     * @param {DocumentHelper} documentHelper - Document helper.
     * @return {Promise<Blob>} - Returns promise object.
     */
    saveAsBlob(documentHelper: DocumentHelper): Promise<Blob>;
    private serialize;
    /**
     * @private
     * @param document
     */
    setDocument(document: any): void;
    /**
     * @private
     * @param streamWriter - Stream writer instance.
     * @return {void}
     */
    writeInternal(streamWriter?: fileUtils.StreamWriter): void;
    private writeBody;
    private writeParagraph;
    private writeTable;
    private writeHeadersFooters;
    private writeHeaderFooter;
    private writeSectionEnd;
    private writeNewLine;
    private writeText;
    private updateLastParagraph;
    /**
     * @private
     * @returns {void}
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/implementation/writer/sfdt-export.d.ts
/**
 * Exports the document to Sfdt format.
 */
export  class SfdtExport {
    private startLine;
    private endLine;
    private endOffset;
    private endCell;
    private startColumnIndex;
    private endColumnIndex;
    private lists;
    private images;
    private document;
    private writeInlineStyles;
    private nextBlock;
    private blockContent;
    private startContent;
    private multipleLineContent;
    private nestedContent;
    private contentType;
    private editRangeId;
    private selectedCommentsId;
    private selectedRevisionId;
    private startBlock;
    private endBlock;
    private nestedBlockContent;
    private nestedBlockEnabled;
    private blocks;
    private contentInline;
    private isContentControl;
    private isBlockClosed;
    private isWriteInlinesFootNote;
    private isWriteEndFootNote;
    bookmarkCollection: BookmarkElementBox[];
    /**
     * @private
     */
    private skipExporting;
    /**
     * @private
     */
    iscontentInsert: boolean;
    /**
     * @private
     */
    keywordIndex: number;
    /**
     * @private
     */
    private isExport;
    /**
     * @private
     */
    isPartialExport: boolean;
    private documentHelper;
    private checkboxOrDropdown;
    /**
     * @private
     */
    copyWithTrackChange: boolean;
    constructor(documentHelper: DocumentHelper);
    private readonly viewer;
    private readonly owner;
    private getModuleName;
    private clear;
    /**
     * Serialize the data as Syncfusion document text.
     *
     * @private
     */
    serialize(): string;
    /**
     * Serialize the data as Syncfusion document text.
     *
     * @private
     */
    seralizeInternal(index: number): string;
    /**
     * @private
     * @param documentHelper - Specifies document helper instance.
     * @returns {Promise<Blob>}
     */
    saveAsBlobNonOptimized(documentHelper: DocumentHelper): Promise<Blob>;
    /**
     * @private
     * @param documentHelper - Specifies document helper instance.
     * @returns {Promise<Blob>}
     */
    saveAsBlob(documentHelper: DocumentHelper): Promise<Blob>;
    private updateEditRangeId;
    /**
     * @private
     */
    write(index?: number, line?: LineWidget, startOffset?: number, endLine?: LineWidget, endOffset?: number, writeInlineStyles?: boolean, isExport?: boolean): any;
    private serializeMinimal;
    private getNextBlock;
    /**
     * @private
     */
    Initialize(): void;
    private writeFontSubsitutionTable;
    /**
     * @private
     */
    writePage(page: Page, spellChecker: boolean): any;
    private writeBodyWidget;
    private writeHeaderFooters;
    private writeHeaderFooter;
    private createSection;
    /**
     * @private
     */
    writeSectionFormat(sectionFormat: WSectionFormat, section: any, keywordIndex: number): any;
    private writeBlock;
    private writeParagraphs;
    /**
     * @private
     */
    contentControlProperty(contentControlPropertie: ContentControlProperties, keywordIndex?: number): any;
    private tounCheckedState;
    private toCheckedState;
    private blockContentControl;
    private tableContentControl;
    private tableContentControls;
    private writeParagraph;
    private writeInlines;
    private isSpecialCharacter;
    private inlineContentControl;
    private nestedContentProperty;
    private inlineContentControls;
    private writeInline;
    private writeInlineRevisions;
    private writeShape;
    writeChart(element: ChartElementBox, inline: any): void;
    private writeChartTitleArea;
    private writeChartDataFormat;
    private writeChartLayout;
    private writeChartArea;
    private writeChartLegend;
    private writeChartCategoryAxis;
    private writeChartDataTable;
    private writeChartCategory;
    private createChartCategory;
    private writeChartData;
    private createChartData;
    private createChartSeries;
    private writeChartSeries;
    private writeChartDataLabels;
    private writeChartTrendLines;
    private writeLines;
    private writeLine;
    private writeInlinesFootNote;
    private writeInlinesContentControl;
    private createParagraph;
    /**
     * @private
     */
    writeCharacterFormat(format: WCharacterFormat, keywordIndex: number, isInline?: boolean): any;
    /**
     * @private
     */
    writeParagraphFormat(format: WParagraphFormat, keywordIndex: number, isInline?: boolean): any;
    private writeThemes;
    private writeMajorMinorFontScheme;
    private writeFontSchemeList;
    private writeTabs;
    /**
     * @private
     */
    writeListFormat(format: WListFormat, isInline?: boolean): any;
    private writeTable;
    private writeRow;
    private writeRowInternal;
    private writeCell;
    private createTable;
    private writeTablePositioning;
    private createRow;
    private createCell;
    /**
     * @private
     */
    writeShading(wShading: WShading, keyIndex: number): any;
    private writeBorders;
    /**
     * @private
     */
    writeCellFormat(wCellFormat: WCellFormat, keyIndex: number): any;
    private writeRowFormat;
    /**
     * @private
     */
    assignRowFormat(rowFormat: any, wRowFormat: WRowFormat, keyIndex: number): void;
    private writeRowRevisions;
    /**
     * @private
     */
    writeTableFormat(wTableFormat: WTableFormat, keyIndex: number): any;
    private footnotes;
    private seprators;
    private endnotes;
    private endnoteSeparator;
    private writeStyles;
    /**
     * @private
     */
    writeStyle(style: WStyle): any;
    writeRevisions(documentHelper: DocumentHelper): void;
    private writeRevision;
    writeComments(documentHelper: DocumentHelper): void;
    writeCustomXml(documentHelper: DocumentHelper): void;
    writeImages(documentHelper: DocumentHelper): void;
    private writeComment;
    private writeLists;
    /**
     * @private
     */
    writeAbstractList(wAbstractList: WAbstractList): any;
    /**
     * @private
     */
    writeList(wList: WList): any;
    private writeLevelOverrides;
    private writeListLevel;
    private getParentBlock;
    private getParentCell;
    private getWidthTypeEnumValue;
    private getTableAlignmentEnumValue;
    private getTextureStyleEnumValue;
    private getHeighTypeEnumValue;
    private getCellVerticalAlignmentEnumValue;
    private getListLevelPatternEnumValue;
    private getStyleTypeEnumValue;
    private getProtectionTypeEnumValue;
    private getRevisionTypeEnumValue;
    private getFootnoteTypeEnumValue;
    private getFootnoteRestartIndexEnumValue;
    private getFootEndNoteNumberFormatEnumValue;
    private getTextVerticalAlignmentEnumValue;
    private getShapeVerticalAlignmentEnumValue;
    private getShapeHorizontalAlignmentEnumValue;
    private getVerticalOriginEnumValue;
    private getHorizontalOriginEnumValue;
    private getTableVerticalRelationEnumValue;
    private getTableHorizontalRelationEnumValue;
    private getTableVerticalPositionEnumValue;
    private getTableHorizontalPositionEnumValue;
    private getLineDashStyleEnumValue;
    private getHorizontalPositionAbsEnumValue;
    private getTabJustificationEnumValue;
    private getTabLeaderEnumValue;
    private getTextFormFieldTypeEnumValue;
    private getTextFormFieldFormatEnumValue;
    private getCheckBoxSizeTypeEnumValue;
    private getContentControlAppearanceEnumValue;
    private getContentControlTypeEnumValue;
    private getDateCalendarTypeEnumValue;
    private getDateStorageFormatEnumValue;
    private getTextWrappingStyleEnumValue;
    private getTextWrappingTypeEnumValue;
    private getCompatibilityModeEnumValue;
    private getLineFormatTypeEnumValue;
    private getAutoShapeTypeEnumValue;
    private getFollowCharacterType;
    /**
     * @private
     * @returns {void}
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/implementation/writer/html-export.d.ts
/**
 * @private
 */
export  class HtmlExport {
    private document;
    private characterFormat;
    private paragraphFormat;
    private prevListLevel;
    private isOrdered;
    private keywordIndex;
    private images;
    private isSkipStyle;
    /**
     * @private
     */
    fieldCheck: number;
    writeHtml(document: any, isOptimizeSfdt: boolean, skipStyle?: boolean): string;
    private serializeImages;
    private serializeSection;
    private serializeParagraph;
    private closeList;
    private getListLevel;
    private getHtmlList;
    private serializeInlines;
    private serializeContentInlines;
    private serializeSpan;
    /**
     * @private
     * @param {string} style - style name.
     * @returns {string} - return heading tag.
     */
    getStyleName(style: string): string;
    private serializeImageContainer;
    serializeCell(cell: any, row: any): string;
    private convertVerticalAlignment;
    private serializeTable;
    private serializeRow;
    private serializeParagraphStyle;
    private serializeInlineStyle;
    private serializeTableBorderStyle;
    private serializeCellBordersStyle;
    private serializeBorderStyle;
    private convertBorderLineStyle;
    private serializeCharacterFormat;
    private serializeTextDecoration;
    /**
     * @private
     */
    serializeParagraphFormat(paragraphFormat: any, isList: boolean, keywordIndex?: number): string;
    private serializeTabs;
    private getTabLeader;
    private getTabJustification;
    private createAttributesTag;
    private createTag;
    private endTag;
    createTableStartTag(table: any): string;
    private serializeTableWidth;
    private getHighlightColorCode;
    private getTextAlignment;
    private createTableEndTag;
    private createRowStartTag;
    private createRowEndTag;
    private decodeHtmlNames;
}
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/implementation/viewer/zooming.d.ts
/**
 * @private
 */
export  class Zoom {
    private documentHelper;
    setZoomFactor(): void;
    constructor(documentHelper: DocumentHelper);
    private readonly viewer;
    private onZoomFactorChanged;
    private zoom;
    /**
     * @private
     * @param {WheelEvent} event Specifies the mouse wheen event
     * @returns {void}
     */
    onMouseWheelInternal: (event: WheelEvent) => void;
    /**
     * @private
     * @returns {void}
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/implementation/viewer/viewer.d.ts
/**
 * @private
 */
export  class DocumentHelper {
    /**
     * @private
     */
    isCompleted: boolean;
    /**
     * @private
     * To set the copied content to the clipboard. Reserved for internal use.
     */
    isCopying: boolean;
    /**
     * @private
     */
    fontColorInputElement: inputs.ColorPicker;
    /**
     * @private
     */
    shadingBtn: inputs.ColorPicker;
    /**
     * @private
     */
    borderBtn: inputs.ColorPicker;
    /**
     * @private
     */
    fontColor: inputs.ColorPicker;
    /**
     * @private
     */
    colorPicker: inputs.ColorPicker;
    /**
     * @private
     */
    borderColorPicker: inputs.ColorPicker;
    /**
     * @private
     */
    shadingColorPicker: inputs.ColorPicker;
    /**
     * @private
     */
    isSelectionCompleted: boolean;
    /**
     * @private
     */
    scrollbarWidth: number;
    /**
     * @private
     */
    isWebPrinting: boolean;
    /**
     * @private
     */
    isHeaderFooter: boolean;
    /**
     * @private
     */
    isSpellCheckPending: boolean;
    /**
     * @private
     */
    owner: DocumentEditor;
    /**
     * @private
     */
    pageContainer: HTMLElement;
    /**
     * @private
     */
    viewerContainer: HTMLElement;
    /**
     * @private
     */
    optionsPaneContainer: HTMLElement;
    /**
     * @private
     */
    reviewPaneContainer: HTMLElement;
    /**
     * @private
     */
    pages: Page[];
    /**
     * @private
     */
    currentPage: Page;
    private selectionStartPageIn;
    private selectionEndPageIn;
    /**
     * @private
     */
    iframe: HTMLIFrameElement;
    /**
     * @private
     */
    editableDiv: HTMLElement;
    /**
     * @private
     */
    isShowReviewPane: boolean;
    /**
     * @private
     */
    fieldStacks: FieldElementBox[];
    /**
     * @private
     */
    showRevision: boolean;
    /**
     * @private
     */
    splittedCellWidgets: TableCellWidget[];
    /**
     * @private
     */
    tableLefts: number[];
    /**
     * @private
     */
    tapCount: number;
    private timer;
    private isTimerStarted;
    /**
     * @private
     */
    isFirstLineFitInShiftWidgets: boolean;
    /**
     * @private
     */
    preZoomFactor: number;
    /**
     * @private
     */
    preDifference: number;
    /**
     * @private
     */
    isDragging: boolean;
    /**
     * @private
     */
    fieldEndParagraph: ParagraphWidget;
    /**
     * @private
     */
    fieldToLayout: FieldElementBox;
    /**
     * @private
     */
    backgroundColor: string;
    /**
     * @private
     */
    layout: Layout;
    /**
     * @private
     */
    render: Renderer;
    private containerCanvasIn;
    private selectionCanvasIn;
    /**
     * @private
     */
    zoomModule: Zoom;
    /**
     * @private
     */
    isMouseDown: boolean;
    private isMouseEntered;
    private scrollMoveTimer;
    /**
     * @private
     */
    isSelectionChangedOnMouseMoved: boolean;
    /**
     * @private
     */
    isControlPressed: boolean;
    /**
     * @private
     */
    touchStart: HTMLElement;
    /**
     * @private
     */
    touchEnd: HTMLElement;
    /**
     * @private
     */
    isTouchInput: boolean;
    /**
     * @private
     */
    isTouchMoved: boolean;
    /**
     * @private
     */
    useTouchSelectionMark: boolean;
    /**
     * @private
     */
    touchDownOnSelectionMark: number;
    /**
     * @private
     */
    textHelper: TextHelper;
    /**
     * @private
     */
    isComposingIME: boolean;
    /**
     * @private
     */
    lastComposedText: string;
    /**
     * @private
     */
    isCompositionStart: boolean;
    /**
     * @private
     */
    isCompositionUpdated: boolean;
    /**
     * @private
     */
    isCompositionCanceled: boolean;
    /**
     * @private
     */
    isCompositionEnd: boolean;
    /**
     * @private
     */
    prefix: string;
    /**
     * @private
     */
    suffix: string;
    private dialogInternal;
    private dialogTarget1;
    private dialogTarget2;
    private dialogInternal2;
    private dialogInternal3;
    /**
    * @private
    */
    dialogTarget3: HTMLElement;
    /**
     * @private
     */
    fields: FieldElementBox[];
    /**
     * @private
     */
    blockToShift: BlockWidget;
    /**
     * @private
     */
    heightInfoCollection: TextHeightInfo;
    private animationTimer;
    /**
     * @private
     */
    isListTextSelected: boolean;
    /**
     * @private
     */
    selectionLineWidget: LineWidget;
    /**
     * @private
     */
    characterFormat: WCharacterFormat;
    /**
     * @private
     */
    paragraphFormat: WParagraphFormat;
    /**
     * @private
     */
    themeFontLanguage: WCharacterFormat;
    /**
     * @private
     */
    renderedLists: Dictionary<WAbstractList, Dictionary<number, number>>;
    /**
     * @private
     */
    renderedLevelOverrides: WList[];
    /**
     * @private
     */
    headersFooters: HeaderFooters[];
    private fieldSeparator;
    /**
     * @private
     */
    defaultTabWidth: number;
    /**
     * @private
     */
    dontUseHtmlParagraphAutoSpacing: boolean;
    /**
     * @private
     */
    allowSpaceOfSameStyleInTable: boolean;
    /**
     * @private
     */
    alignTablesRowByRow: boolean;
    /**
     * @private
     */
    compatibilityMode: CompatibilityMode;
    /**
     * @private
     */
    lists: WList[];
    /**
     * @private
     */
    images: Dictionary<number, string[]>;
    /**
     * @private
     */
    comments: CommentElementBox[];
    /**
     * @private
     */
    authors: Dictionary<string, string>;
    /**
     * @private
     */
    revisionsInternal: Dictionary<string, Revision>;
    /**
     * @private
     */
    commentUserOptionId: number;
    /**
     * @private
     */
    abstractLists: WAbstractList[];
    /**
     * @private
     */
    styles: WStyles;
    /**
     * @private
     */
    stylesMap: Dictionary<string, any[]>;
    /**
     * @private
     */
    listParagraphs: ParagraphWidget[];
    /**
     * @private
     */
    preDefinedStyles: Dictionary<string, string>;
    /**
     * @private
     */
    isRowOrCellResizing: boolean;
    /**
     * @private
     */
    bookmarks: Dictionary<string, BookmarkElementBox>;
    /**
     * @private
     */
    endBookmarksUpdated: string[];
    /**
     * @private
     */
    formFields: FieldElementBox[];
    /**
     * @private
     */
    editRanges: Dictionary<string, EditRangeStartElementBox[]>;
    private isMouseDownInFooterRegion;
    private pageFitTypeIn;
    /**
     * @private
     */
    fieldCollection: FieldElementBox[];
    /**
     * @private
     */
    isPageField: boolean;
    /**
     * @private
     */
    mouseDownOffset: Point;
    /**
     * @private
     */
    zoomX: number;
    /**
     * @private
     */
    zoomY: number;
    private zoomFactorInternal;
    /**
     * If movecaretposition is 1, Home key is pressed
     * If moveCaretPosition is 2, End key is pressed
     *
     * @private
     */
    moveCaretPosition: number;
    /**
     * @private
     */
    isTextInput: boolean;
    /**
     * @private
     */
    isScrollHandler: boolean;
    /**
     * @private
     */
    triggerElementsOnLoading: boolean;
    /**
     * @private
     */
    triggerSpellCheck: boolean;
    /**
     * @private
     */
    scrollTimer: number;
    resizeTimer: number;
    /**
     * @private
     * @default false
     */
    isScrollToSpellCheck: boolean;
    /**
     * preserve the format
     *
     * @private
     */
    restrictFormatting: boolean;
    /**
     * preserve the document protection type either readonly or no protection
     *
     * @private
     */
    protectionType: ProtectionType;
    /**
     * Preserve the password protection is enforced or not
     *
     * @private
     */
    isDocumentProtected: boolean;
    /**
     * preserve the hash value of password
     *
     * @private
     */
    hashValue: string;
    /**
     * @private
     */
    saltValue: string;
    /**
     * @private
     */
    userCollection: string[];
    /**
     * @private
     */
    restrictEditingPane: RestrictEditing;
    formFillPopup: FormFieldPopUp;
    /**
     * @private
     */
    contentDropDown: ContentControlPopUp;
    /**
     * @private
     */
    cachedPages: number[];
    longTouchTimer: number;
    /**
     * @private
     */
    skipScrollToPosition: boolean;
    /**
     * @private
     */
    isIosDevice: boolean;
    /**
     * @private
     */
    isMobileDevice: boolean;
    /**
     * @private
     */
    isLinuxOS: boolean;
    /**
     * @private
     */
    visibleBoundsIn: Rect;
    /**
     * @private
     */
    currentSelectedCommentInternal: CommentElementBox;
    /**
     * @private
     */
    currentSelectedRevisionInternal: Revision;
    /**
     * @private
     */
    resizerTimer: number;
    /**
     * @private
     */
    isFormFilling: boolean;
    /**
     * @private
     */
    customXmlData: Dictionary<string, string>;
    /**
     * @private
     */
    fontSubstitutionTable: Dictionary<string, string>;
    /**
     * @private
     */
    themes: Themes;
    /**
     * @private
     */
    hasThemes: boolean;
    /**
     * @private
     */
    contentControlCollection: ContentControl[];
    /**
     * @private
     */
    footnotes: Footnote;
    /**
     * @private
     */
    endnotes: Footnote;
    /**
     * @private
     */
    endnoteNumberFormat: FootEndNoteNumberFormat;
    /**
     * @private
     */
    footNoteNumberFormat: FootEndNoteNumberFormat;
    /**
     * @private
     */
    restartIndexForFootnotes: FootnoteRestartIndex;
    /**
     * @private
     */
    restartIndexForEndnotes: FootnoteRestartIndex;
    /**
     * @private
     */
    footnoteCollection: FootnoteElementBox[];
    /**
     * @private
     */
    endnoteCollection: FootnoteElementBox[];
    /**
     * @private
     */
    isFootnoteWidget: boolean;
    /**
     * @private
     */
    isDragStarted: boolean;
    /**
     * @private
     */
    isMouseDownInSelection: boolean;
    /**
     * @private
     */
    dragStartParaInfo: ParagraphInfo;
    /**
     * @private
     */
    dragEndParaInfo: ParagraphInfo;
    /**
     * @private
     */
    isSelectionActive: boolean;
    /**
     * @private
     */
    isBookmarkInserted: boolean;
    private L10n;
    private isMappedContentControlUpdated;
    private isAutoResizeCanStart;
    private isRestartNumbering;
    private isKeySelection;
    /**
     * @private
     * Indicates whether the composition end event has been triggered.
     */
    private isCompositionEndTriggered;
    private hRuler;
    private vRuler;
    private markIndicator;
    /**
     * Gets visible bounds.
     *
     * @private
     * @returns {Rect} - Returns visible bounds.
     */
    readonly visibleBounds: Rect;
    /**
     * @private
     */
    readonly viewer: LayoutViewer;
    /**
     * Gets container canvas.
     *
     * @private
     * @returns {HTMLCanvasElement} - Returns page canvas.
     */
    readonly containerCanvas: HTMLCanvasElement;
    /**
     * @private
     * @param {string} text - Specifies the text string.
     */
    openTextFile(text: string): void;
    /**
     * Gets selection canvas.
     *
     * @private
     * @returns {HTMLCanvasElement} - Returns selection canvas.
     */
    readonly selectionCanvas: HTMLCanvasElement;
    /**
     * Gets container context.
     *
     * @private
     * @returns {CanvasRenderingContext2D} - Returns page canvas context.
     */
    readonly containerContext: CanvasRenderingContext2D;
    /**
     * Gets selection context.
     *
     * @private
     * @returns {CanvasRenderingContext2D} - Returns selection canvas context.
     */
    readonly selectionContext: CanvasRenderingContext2D;
    /**
     * Gets the current rendering page.
     *
     * @returns {Page} - Returns current rendering page.
     */
    readonly currentRenderingPage: Page;
    /**
     * Gets or sets zoom factor.
     *
     * @private
     * @returns {number} - Returns zoom factor value.
     */
    zoomFactor: number;
    /**
     * Gets the selection.
     *
     * @private
     * @returns {Selection} - Returns selection module.
     */
    readonly selection: Selection;
    /**
     * Gets or sets selection start page.
     *
     * @private
     * @returns {Page} - Return selection start page.
     */
    selectionStartPage: Page;
    /**
     * Gets or sets selection end page.
     *
     * @private
     * @returns {Page} - Return selection end page.
     */
    selectionEndPage: Page;
    /**
     * Gets the initialized default dialog.
     *
     * @private
     * @returns {popups.Dialog} - Returns dialog instance.
     */
    readonly dialog: popups.Dialog;
    /**
     * Gets the initialized default dialog.
     *
     * @private
     * @returns {popups.Dialog} - Returns dialog instance.
     */
    readonly dialog2: popups.Dialog;
    /**
     * Gets the initialized default dialog.
     *
     * @private
     * @returns {popups.Dialog} - Returns dialog instance.
     */
    readonly dialog3: popups.Dialog;
    /**
     * @private
     * @returns {void}
     */
    currentSelectedComment: CommentElementBox;
    /**
     * @private
     * @returns {void}
     */
    currentSelectedRevision: Revision;
    /**
     * @private
     * @returns {void}
     */
    readonly isInlineFormFillProtectedMode: boolean;
    /**
     * @private
     * @returns {void}
     */
    readonly isFormFillProtectedMode: boolean;
    /**
     * @private
     * @returns {Boolean}
     */
    readonly isCommentOnlyMode: boolean;
    readonly isTrackedOnlyMode: boolean;
    constructor(owner: DocumentEditor);
    private initalizeStyles;
    /**
     * @private
     * @returns {void}
     */
    clearDocumentItems(): void;
    /**
     * @private
     * @returns {void}
     */
    setDefaultDocumentFormat(): void;
    private setDefaultCharacterValue;
    private setDefaultParagraphValue;
    /**
     * @private
     * @param {number} id - Specfies abstract list id.
     * @returns {WAbstractList} - Returns abstract list.
     */
    getAbstractListById(id: number, isNsid?: boolean): WAbstractList;
    /**
     * @private
     * @param {number} id - Specfies list id.
     * @returns {WAbstractList} - Returns list.
     */
    getListById(id: number, isNsid?: boolean): WList;
    /**
     * @private
     * @param {WListLevel} listLevel - Specfies list level.
     * @returns {number} - Returns list level number.
     */
    static getListLevelNumber(listLevel: WListLevel): number;
    /**
    * @private
    * @param {ImageElementBox} image - Specfies image.
    * @returns {number} - Returns base64string.
    */
    getImageString(image: ImageElementBox): string;
    /**
     * @private
     * @param {ImageElementBox} image - Specfies image.
     * @returns {number} - Returns key for specific image.
     */
    addBase64StringInCollection(image: ImageElementBox): Promise<void>;
    /**
     * Gets the bookmarks.
     *
     * @private
     * @param {boolean} includeHidden - Include hidden bookmark.
     * @returns {string[]} - Returns bookmars present in current document.
     */
    getBookmarks(includeHidden?: boolean): string[];
    selectComment(comment: CommentElementBox): void;
    showComments(show: boolean): void;
    showRevisions(show: boolean): void;
    /**
     * Initializes components.
     *
     * @private
     * @returns {void}
     */
    initializeComponents(): void;
    private measureScrollbarWidth;
    private createEditableDiv;
    private createEditableIFrame;
    private initIframeContent;
    /**
     * Wires events and methods.
     *
     * @returns {void}
     */
    private wireEvent;
    private wireInputEvents;
    private onIframeLoad;
    /**
     * @private
     * @param {TextEvent} event - Specifies text event.
     * @returns {void}
     */
    private onTextInput;
    /**
     * Fires when composition starts.
     *
     * @private
     * @returns {void}
     */
    private compositionStart;
    /**
     * Fires on every input during composition.
     *
     * @private
     * @returns {void}
     */
    private compositionUpdated;
    /**
     * Fires when user selects a character/word and finalizes the input.
     *
     * @private
     * @param {CompositionEvent} event - Specifies text compisition event.
     * @returns {void}
     */
    private compositionEnd;
    private getEditableDivTextContent;
    updateAuthorIdentity(): void;
    getAvatar(userInfo: HTMLElement, userName: HTMLElement, comment: CommentElementBox, revision: Revision): void;
    /**
     * @private
     * @param {string} author - Specifies author name.
     * @returns {string} - Return autor color.
     */
    getAuthorColor(author: string): string;
    generateRandomColor(): string;
    /**
     * @private
     * @returns {void}
     */
    positionEditableTarget(): void;
    private onImageResizer;
    /**
     * @private
     * @param {KeyboardEvent} event - Specifies keyboard event
     * @returns {void}
     */
    onKeyPressInternal: (event: KeyboardEvent) => void;
    /**
     * @private
     * @param {KeyboardEvent} event - Specifies keyboard event
     * @returns {void}
     */
    private onTextInputInternal;
    /**
     * Fired on copy.
     *
     * @private
     * @param {ClipboardEvent} event - Specifies clipboard event.
     * @returns {void}
     */
    onCopy: (event: ClipboardEvent) => void;
    /**
     * Fired on paste.
     *
     * @private
     * @param {ClipboardEvent} event - Specifies clipboard event.
     * @returns {void}
     */
    onPaste: (event: ClipboardEvent) => void;
    private initDialog;
    private initDialog3;
    hideDialog(): void;
    private initDialog2;
    /**
     * Fires when editable div loses focus.
     *
     * @private
     * @returns {void}
     */
    onFocusOut: () => void;
    /**
     * Updates focus to editor area.
     *
     * @private
     * @returns {void}
     */
    updateFocus: () => void;
    getBase64(base64String: string, width: number, height: number): Promise<string>;
    /**
     * Clears the context.
     *
     * @private
     * @returns {void}
     */
    clearContent(): void;
    /**
     * Fired when the document gets changed.
     *
     * @private
     * @param {BodyWidget[]} sections - Specified document content.
     * @returns {void}
     */
    onDocumentChanged(sections: BodyWidget[], iOps?: Record<string, ActionInfo[]>): void;
    /**
     * Fires on scrolling.
     *
     * @returns {void}
     */
    private scrollHandler;
    /**
     * Fires when the window gets resized.
     *
     * @private
     * @returns {void}
     */
    onWindowResize: () => void;
    /**
     * @private
     * @param {MouseEvent} event - Specified mouse event.
     * @returns {void}
     */
    onContextMenu: (event: MouseEvent) => void;
    /**
     * Initialize touch ellipse.
     *
     * @returns {void}
     */
    private initTouchEllipse;
    /**
     * Updates touch mark position.
     *
     * @private
     * @returns {void}
     */
    updateTouchMarkPosition(): void;
    /**
     * Called on mouse down.
     *
     * @private
     * @param {MouseEvent} event - Specifies mouse event.
     * @returns {void}
     */
    onMouseDownInternal: (event: MouseEvent) => void;
    /**
     * Called on mouse move.
     *
     * @private
     * @param {MouseEvent} event - Specified mouse event.
     * @returns {void}
     */
    onMouseMoveInternal: (event: MouseEvent) => void;
    private autoScrollOnSelection;
    /**
     * @private
     * @param {MouseEvent} event - Specifies mouse event
     * @returns {void}
     */
    onMouseLeaveInternal: (event: MouseEvent) => void;
    private scrollForwardOnSelection;
    private scrollBackwardOnSelection;
    /**
     * @private
     * @returns {void}
     */
    onMouseEnterInternal: (event?: MouseEvent) => void;
    private navigateToEndNote;
    /**
     * Fired on double tap.
     *
     * @private
     * @param {MouseEvent} event - Specifies mouse event.
     * @returns {void}
     */
    onDoubleTap: (event: MouseEvent) => void;
    /**
     * Called on mouse up.
     *
     * @private
     * @param {MouseEvent} event - Specifies mouse event.
     * @return {void}
     */
    onMouseUpInternal: (event: MouseEvent) => void;
    private moveSelectedContent;
    private isSelectionInListText;
    isInShapeBorder(floatElement: ShapeBase, cursorPoint: Point): boolean;
    /**
     * Check whether touch point is inside the rectangle or not.
     *
     * @private
     * @param {number} x - Specifies left position.
     * @param {number} y - Specifies top position.
     * @param {number} width - Specifies width.
     * @param {number} height - Specifies height
     * @param {Point} touchPoint - Specifies the point to check.
     * @returns {boolean} - Return true if points intersect.
     */
    isInsideRect(x: number, y: number, width: number, height: number, touchPoint: Point): boolean;
    getLeftValue(widget: LineWidget): number;
    /**
     * Checks whether left mouse button is pressed or not.
     *
     * @param {MouseEvent} event - Specifies mouse event.
     * @returns {boolean} - Returns true if left mouse button is clicked.
     */
    private isLeftButtonPressed;
    /**
     * Fired on touch start.
     *
     * @private
     * @param {TouchEvent} event - Specifies touch event.
     * @returns {void}
     */
    onTouchStartInternal: (event: Event) => void;
    /**
     * Fired on long touch
     *
     * @private
     * @param {TouchEvent} event - Specifies touch event.
     * @returns {void}
     */
    onLongTouch: (event: TouchEvent) => void;
    /**
     *
     * @private
     * @param {TouchEvent} event - Specifies touch event.
     * @returns {void}
     */
    onTouchMoveInternal: (event: TouchEvent) => void;
    /**
     * Fired on touch up.
     *
     * @private
     * @param {TouchEvent} event - Specifies touch event.
     * @returns {void}
     */
    onTouchUpInternal: (event: TouchEvent) => void;
    private updateSelectionOnTouch;
    /**
     * Gets touch offset value.
     *
     * @private
     * @param {TouchEvent} event - Specifies touch event
     * @returns {Point}  - Returns modified touch offset
     */
    getTouchOffsetValue(event: TouchEvent): Point;
    /**
     * Fired on pinch zoom in.
     *
     * @private
     * @param {TouchEvent} event - Specifies touch event
     * @returns {void}
     */
    onPinchInInternal(event: TouchEvent): void;
    private onPinchOutInternal;
    getPageWidth(page: Page): number;
    /**
     * Removes specified page.
     * @private
     * @param {Page} page - Specifies page to remove
     * @returns {void}
     */
    removePage(page: Page): void;
    /**
     * Updates viewer size on window resize.
     *
     * @private
     * @returns {void}
     */
    updateViewerSize(): void;
    /**
     * @private
     */
    triggerAutoResizeInterval(): void;
    private updateViewerSizeInternal;
    private getComputedWidth;
    /**
     * Inserts page in specified index.
     *
     * @private
     * @param {number} index - Specifes index to insert page
     * @param {Page} page - Page to insert.
     * @returns {void}
     */
    insertPage(index: number, page: Page): void;
    updateTextPositionForSelection(cursorPoint: Point, tapCount: number): void;
    scrollToPosition(startPosition: TextPosition, endPosition: TextPosition, skipCursorUpdate?: boolean, isBookmark?: boolean): void;
    getLineWidget(cursorPoint: Point): LineWidget;
    getLineWidgetInternal(cursorPoint: Point, isMouseDragged: boolean): LineWidget;
    private checkInlineShapeItems;
    /**
     * @private
     */
    checkPointIsInLine(widget: LineWidget, cursorPoint: Point): boolean;
    private isInFootnoteWidget;
    private checkFloatingItems;
    isBlockInHeader(block: Widget): boolean;
    clearSelectionHighlight(): void;
    /**
     * Fired on keyup event.
     *
     * @private
     * @param {KeyboardEvent} event - Specifies keyboard event.
     * @returns {void}
     */
    onKeyUpInternal: (event: KeyboardEvent) => void;
    /**
     * Fired on keyup event.
     *
     * @private
     * @param {KeyboardEvent} event - Specifies keyboard event.
     * @returns {void}
     */
    onViewerKeyUpInternal: (event: KeyboardEvent) => void;
    /**
     * Fired on keydown.
     *
     * @private
     * @param {KeyboardEvent} event - Specifies keyboard event.
     * @returns {void}
     */
    onKeyDownInternal: (event: KeyboardEvent) => void;
    /**
     * @private
     * @returns {void}
     */
    removeEmptyPages(skipEndLayout?: boolean): void;
    /**
     * @private
     * @returns {void}
     */
    scrollToBottom(): void;
    getFieldResult(fieldBegin: FieldElementBox, page: Page): string;
    private getFieldText;
    private isEmptyShape;
    /**
     * Destroys the internal objects maintained for control.
     *
     * @returns {void}
     */
    destroy(): void;
    /**
     * Un-Wires events and methods
     *
     * @returns {void}
     */
    private unWireEvent;
    updateCursor(event: MouseEvent): void;
    /**
     * @private
     */
    updateDialogTabHeight(dialogElement: HTMLElement, targetElement: HTMLElement): number;
    /**
     *
     * @private
     */
    canRenderBorder(paragraph: ParagraphWidget): BorderRenderInfo;
    private checkEqualBorder;
    /**
    * @private
    */
    getParagraphLeftPosition(paragraphWidget: ParagraphWidget): number;
    /**
  * @private
  */
    skipBottomBorder(paragraph: ParagraphWidget, nextWidget: ParagraphWidget): boolean;
    /**
     * @private
     */
    isPageInVisibleBound(page: Page, pageTop: number): boolean;
    /**
     * Get first paragraph in cell
     *
     * @private
     * @returns {ParagraphWidget}
     */
    getFirstParagraphInCell(cell: TableCellWidget): ParagraphWidget;
    /**
     * Get first paragraph in first cell
     *
     * @private
     * @returns {TableWidget}
     */
    getFirstParagraphInFirstCell(table: TableWidget): ParagraphWidget;
    /**
     * Get last paragraph in last cell
     *
     * @private
     * @returns {ParagraphWidget}
     */
    getLastParagraphInLastCell(table: TableWidget): ParagraphWidget;
    /**
     * Get first paragraph in block
     *
     * @private
     * @returns {ParagraphWidget}
     */
    getFirstParagraphBlock(block: BlockWidget): ParagraphWidget;
    /**
     * Get last paragraph in block
     *
     * @private
     * @returns {ParagraphWidget}
     */
    getLastParagraphBlock(block: BlockWidget): ParagraphWidget;
    /**
     * Get last paragraph in first row
     *
     * @private
     * @returns {ParagraphWidget}
     */
    getLastParagraphInFirstRow(table: TableWidget): ParagraphWidget;
    /**
     * Get first paragraph in last row
     *
     * @private
     */
    getFirstParagraphInLastRow(table: TableWidget): ParagraphWidget;
    /**
     * Add the given WStyle Object ot stylesMap Dictionary
     *
     * @private
     */
    addToStylesMap(style: WStyle): void;
    private parseStyle;
    /**
     * Get next valid element
     *
     * @private
     */
    getNextValidElement(inline: ElementBox): ElementBox;
    /**
     * @private
     */
    getNextValidElementForField(firstInline: ElementBox): ElementBox;
    /**
     * @private
     */
    combineSection(): BodyWidget[];
    /**
     * @private
     */
    combineSectionChild(bodyWidget: BodyWidget, sections: BodyWidget[], destoryPage: boolean): BodyWidget;
}
/**
 * @private
 */
export  abstract class LayoutViewer {
    owner: DocumentEditor;
    constructor(owner: DocumentEditor);
    readonly documentHelper: DocumentHelper;
    /**
     * @private
     */
    visiblePages: Page[];
    /**
     * @private
     */
    padding: Padding;
    /**
     * @private
     */
    clientActiveArea: Rect;
    /**
     * @private
     */
    clientArea: Rect;
    /**
     * @private
     */
    columnLayoutArea: ColumnLayout;
    /**
     * @private
     */
    textWrap: boolean;
    /**
     * @private
     */
    preVisibleWidth: number;
    /**
     * @private
     */
    private pageFitTypeIn;
    /**
     * @private
     */
    containerTop: number;
    /**
     * @private
     */
    containerWidth: number;
    /**
     * @private
     */
    containerLeft: number;
    /**
     * Gets or sets page fit type.
     * @private
     */
    pageFitType: PageFitType;
    updateClientArea(bodyWidget: BodyWidget, page: Page, isReLayout?: boolean): void;
    setClientArea(bodyWidget: BodyWidget, clientArea: Rect): void;
    updateClientAreaTopOrLeft(tableWidget: TableWidget, beforeLayout: boolean): void;
    updateClientAreaForTable(tableWidget: TableWidget): void;
    updateClientAreaForRow(row: TableRowWidget, beforeLayout: boolean): void;
    updateClientAreaForCell(cell: TableCellWidget, beforeLayout: boolean): void;
    updateClientAreaForTextBoxShape(textBox: ShapeElementBox, beforeLayout: boolean, shiftNextWidget?: boolean): void;
    updateClientAreaByWidgetFootNote(widget: FootNoteWidget): void;
    /**
     * @private
     */
    updateClientAreaForTextWrap(area: Rect): void;
    private updateBoundsBasedOnTextWrap;
    private updateBoundsBasedOnTextWrapTable;
    updateClientAreaByWidget(widget: ParagraphWidget): void;
    updateClientAreaLocation(widget: Widget, area: Rect): void;
    updateClientAreaForBlock(block: BlockWidget, beforeLayout: boolean, tableCollection?: TableWidget[], updateYPosition?: boolean, updateXPosition?: boolean): void;
    private updateParagraphYPositionBasedonTextWrap;
    private updateParagraphXPositionBasedOnTextWrap;
    private updateTableXPositionBasedOnTextWrap;
    private isFloatingItemIntersect;
    private getIntersectingItemBounds;
    private getMinBottomFloatingItem;
    private getIntersectingFloatingItems;
    private getTextWrappingBound;
    private tableAlignmentForBidi;
    cutFromLeft(x: number): void;
    cutFromTop(y: number): void;
    updateClientWidth(width: number): void;
    findFocusedPage(currentPoint: Point, updateCurrentPage: boolean, updateHeaderFooterPage?: boolean): Point;
    getPageHeightAndWidth(height: number, width: number, viewerWidth: number, viewerHeight: number): PageInfo;
    renderVisiblePages(): void;
    handleZoom(): void;
    updateCanvasWidthAndHeight(viewerWidth: number, viewerHeight: number, containerHeight: number, containerWidth: number, width: number, height: number): CanvasInfo;
    updateScrollBarPosition(containerWidth: number, containerHeight: number, viewerWidth: number, viewerHeight: number, width: number, height: number): void;
    /**
     * @private
     */
    abstract readonly pageGap: number;
    /**
     * @private
     */
    abstract createNewPage(section: BodyWidget, index?: number): Page;
    /**
     * @private
     */
    abstract renderPage(page: Page, x: number, y: number, width: number, height: number): void;
    /**
     * @private
     */
    abstract updateScrollBars(): void;
    /**
     * private
     */
    abstract scrollToPage(pageIndex: number): void;
    /**
     * @private
     */
    abstract onPageFitTypeChanged(pageFitType: PageFitType): void;
    destroy(): void;
    /**
     * Disposes the internal objects which are maintained.
     * @private
     */
    componentDestroy(): void;
}
/**
 * @private
 */
export  class PageLayoutViewer extends LayoutViewer {
    private pageLeft;
    /**
     * @private
     */
    readonly pageGap: number;
    /**
     * Initialize the constructor of PageLayoutViewer
     */
    constructor(owner: DocumentEditor);
    readonly documentHelper: DocumentHelper;
    createNewPage(section: BodyWidget, index?: number): Page;
    updatePageBoundingRectangle(section: BodyWidget, page: Page, yPosition: number): void;
    onPageFitTypeChanged(pageFitType: PageFitType): void;
    getCurrentPageHeaderFooter(section: BodyWidget, isHeader: boolean): HeaderFooterWidget;
    getHeaderFooterType(section: BodyWidget, isHeader: boolean): HeaderFooterType;
    getCurrentHeaderFooter(type: HeaderFooterType, sectionIndex: number): HeaderFooterWidget;
    private createHeaderFooterWidget;
    getHeaderFooter(type: HeaderFooterType): number;
    updateHFClientArea(sectionFormat: WSectionFormat, isHeader: boolean): void;
    updateHeaderFooterClientAreaWithTop(sectionFormat: WSectionFormat, isHeader: boolean, page: Page): void;
    updateFootnoteClientArea(sectionFormat: WSectionFormat, footnote: FootNoteWidget, footNoteType?: FootnoteType, para?: ParagraphWidget): void;
    scrollToPage(pageIndex: number): void;
    updateScrollBars(): void;
    updateVisiblePages(): void;
    private addVisiblePage;
    renderPage(page: Page, x: number, y: number, width: number, height: number): void;
}
export  class WebLayoutViewer extends LayoutViewer {
    constructor(owner: DocumentEditor);
    readonly documentHelper: DocumentHelper;
    /**
     * @private
     */
    visiblePages: Page[];
    /**
     * @private
     */
    readonly pageGap: number;
    /**
     * Creates new page.
     * @private
     */
    createNewPage(section: BodyWidget, index?: number): Page;
    onPageFitTypeChanged(pageFitType: PageFitType): void;
    scrollToPage(pageIndex: number): void;
    getContentHeight(): number;
    /**
     * @private
     */
    getContentWidth(): number;
    updateScrollBars(): void;
    updateVisiblePages(): void;
    addVisiblePage(page: Page, x: number, y: number): void;
    /**
     * @private
     */
    renderPage(page: Page, x: number, y: number, width: number, height: number): void;
}
/**
 * @private
 */
export  class ColumnLayout {
    private currentIndexIn;
    private numberOfColumnsIn;
    private columnIn;
    private viewerIn;
    private defaultSpaceIn;
    private pageWidth;
    currentIndex: number;
    /**
     * Initialize the constructor of Column Layout Settings
     */
    constructor(viewer: LayoutViewer);
    private readonly columnCount;
    /**
     * @private
     * @param sectionFormat
     */
    setColumns(sectionFormat: WSectionFormat): void;
    /**
     * @private
     */
    clear(): void;
    reset(): void;
    /**
     * @private
     * @param bodyWidget
     * @param clientArea
     * @returns
     */
    getColumnBounds(bodyWidget: BodyWidget, clientArea: Rect): Rect;
    /**
     * @private
     * @param bodyWidget
     * @param clientArea
     * @returns
     */
    getColumnBoundsByBodyWidget(bodyWidget: BodyWidget, clientArea: Rect): Rect;
    /**
     * @private
     * @param bodyWidget
     * @param clientArea
     * @returns
     */
    getNextColumnByBodyWidget(bodyWidget: BodyWidget): WColumnFormat;
    private getColumnByIndex;
    private getColumnObj;
    private getColumnBoundsByIndex;
}
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/implementation/viewer/text-helper.d.ts
/**
 * @private
 */
export interface TextSizeInfo {
    Height?: number;
    BaselineOffset?: number;
    Width?: number;
}
/**
 * @private
 */
export interface FontSizeInfo {
    HeightFactor?: number;
    BaselineFactor?: number;
}
/**
 * @private
 */
export interface TextHeightInfo {
    [key: string]: TextSizeInfo;
}
/**
 * @private
 */
export interface FontHeightInfo {
    [key: string]: FontSizeInfo;
}
/**
 * @private
 */
export  class TextHelper {
    private documentHelper;
    private context;
    private paragraphMarkInfo;
    private static wordSplitCharacters;
    private static numberNonReversingCharacters;
    private readonly paragraphMark;
    private readonly lineBreakMark;
    getEnSpaceCharacter(): string;
    repeatChar(char: string, count: number): string;
    constructor(documentHelper: DocumentHelper);
    getParagraphMarkWidth(characterFormat: WCharacterFormat): number;
    getParagraphMarkSize(characterFormat: WCharacterFormat): TextSizeInfo;
    getTextSize(elementBox: TextElementBox, characterFormat: WCharacterFormat): number;
    getHeight(characterFormat: WCharacterFormat, scriptType?: FontScriptType): TextSizeInfo;
    getFormatText(characterFormat: WCharacterFormat, fontToRender?: string): string;
    measureTextExcludingSpaceAtEnd(text: string, characterFormat: WCharacterFormat, scriptType: FontScriptType): number;
    getWidth(text: string, characterFormat: WCharacterFormat, scriptType?: FontScriptType): number;
    setText(textToRender: string, isBidi: boolean, bdo: BiDirectionalOverride, isRender?: boolean): string;
    measureText(text: string, characterFormat: WCharacterFormat, scriptType?: FontScriptType): TextSizeInfo;
    updateTextSize(elementBox: ListTextElementBox, paragraph: ParagraphWidget): void;
    containsSpecialCharAlone(text: string): boolean;
    containsNumberAlone(text: string): boolean;
    containsCombinationText(element: TextElementBox): boolean;
    inverseCharacter(ch: string): string;
    containsSpecialChar(text: string): boolean;
    /**
     * @private
     * @param {string} text - Specifies the text
     * @returns {boolean} - Returns true if given text it right to left.
     */
    isRTLText(text: string): boolean;
    /**
     * @private
     * @param {string} text - Specifies the text
     * @param {FontScriptType} scriptType - Specifies the script type
     * @returns {boolean} - Returns true if given text is unicode text.
     */
    isUnicodeText(text: string, scriptType: FontScriptType): boolean;
    /**
     * @private
     * @param {string} text - Specifies the text
     * @returns {RtlInfo} - Returns the text info.
     */
    getRtlLanguage(text: string): RtlInfo;
    /**
     * @private
     */
    splitTextByConsecutiveLtrAndRtl(text: string, isTextBidi: boolean, isRTLLang: boolean, characterRangeTypes: CharacterRangeType[], isPrevLTRText: LtrRtlTextInfo, hasRTLCharacter: LtrRtlTextInfo): string[];
    /**
     * @private
     */
    isRightToLeftLanguage(lang: number): boolean;
    private isNumber;
    /**
     * @private
     */
    isWordSplitChar(character: string): boolean;
    /**
     * @private
     */
    static isNumberNonReversingCharacter(character: string, isTextBidi: boolean): boolean;
    /**
     * @private
     */
    isNonWordSplitCharacter(character: string): boolean;
    getFontNameToRender(scriptType: FontScriptType, charFormat: WCharacterFormat): string;
    private isEastAsiaScript;
    private getFontNameEAToRender;
    private getFontNameAsciiToRender;
    private getFontNameBidiToRender;
    private getFontNameFromTheme;
    private updateFontNameFromTheme;
    private getFontNameWithFontScript;
    destroy(): void;
}
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/implementation/viewer/sfdt-reader.d.ts
/**
 * @private
 */
export  class SfdtReader {
    private documentHelper;
    private fieldSeparator;
    /**
     * @private
     */
    commentStarts: Dictionary<string, CommentCharacterElementBox>;
    /**
     * @private
     */
    commentEnds: Dictionary<string, CommentCharacterElementBox>;
    /**
     * @private
     */
    commentsCollection: Dictionary<string, CommentElementBox>;
    /**
     * @private
     */
    revisionCollection: Dictionary<string, Revision>;
    private isPageBreakInsideTable;
    private referedRevisions;
    private editableRanges;
    private fontInfoCollection;
    private isParseHeader;
    footnotes: Footnote;
    endnotes: Footnote;
    keywordIndex: number;
    themes: Themes;
    /**
     * @private
     */
    isCutPerformed: boolean;
    /**
     * @private
     */
    isPaste: boolean;
    /**
     * @private
     */
    isContextBasedPaste: boolean;
    /**
     * @private
     */
    isHtmlPaste: boolean;
    private previousItemForRevision;
    private readonly isPasting;
    constructor(documentHelper: DocumentHelper);
    private readonly viewer;
    convertJsonToDocument(json: string, incrementalOperations?: Record<string, ActionInfo[]>): BodyWidget[];
    private parseFontSubstitutionTable;
    private removeUnmappedBookmark;
    private generalizeRevisions;
    private parseFootnotes;
    /**
     * @private
     */
    parseImages(data: any): void;
    private parseEndtnotes;
    /**
     * @private
     */
    parseCustomXml(data: any): void;
    private parseDocumentProtection;
    /**
     * @private
     */
    parseStyles(data: any, styles: WStyles): void;
    parseRevisions(data: any, revisions: Revision[]): void;
    parseRevision(data: any): Revision;
    private checkAndApplyRevision;
    parseComments(data: any, comments: CommentElementBox[]): void;
    private parseComment;
    private parseCommentText;
    private parseCommentMentions;
    parseStyle(data: any, style: any, styles: WStyles, resetKeyIndex?: boolean): void;
    private updateParagraphFormatFromBaseStyle;
    private getStyle;
    parseAbstractList(data: any, abstractLists: WAbstractList[]): void;
    private parseListLevel;
    parseList(data: any, listCollection: WList[]): void;
    private parseLevelOverride;
    private parseSections;
    parseHeaderFooter(data: any, headersFooters: any): HeaderFooters;
    private parseTextBody;
    addCustomStyles(data: any): void;
    parseBody(data: any, blocks: BlockWidget[], container?: Widget, isSectionBreak?: boolean, contentControlProperties?: ContentControlProperties, styles?: any, breakCode?: string, isFootnoteEndnote?: boolean): void;
    private parseTable;
    private parseTablePositioning;
    private parseRowGridValues;
    /**
     * @private
     */
    parseContentControlProperties(wContentControlProperties: any, contentControlProperties: ContentControlProperties, keywordIndex?: number): void;
    private parseSymbol;
    private parseParagraph;
    /**
     * @private
     */
    parseFormFieldData(keywordIndex: number, sourceData: any, formFieldData: FormField): FormField;
    private applyCharacterStyle;
    private parseEditableRangeStart;
    private addEditRangeCollection;
    private parseChartTitleArea;
    private parseChartDataFormat;
    private parseChartLayout;
    private parseChartLegend;
    private parseChartCategoryAxis;
    private parseChartDataTable;
    private parseChartArea;
    private parseChartData;
    private parseChartSeries;
    private parseChartDataLabels;
    private parseChartSeriesDataPoints;
    private parseChartTrendLines;
    /**
     * @private
     */
    parseTableFormat(sourceFormat: any, tableFormat: WTableFormat, keywordIndex: number): void;
    /**
     * @private
     */
    parseCellFormat(sourceFormat: any, cellFormat: WCellFormat, keyIndex: number): void;
    private parseCellMargin;
    /**
     * @private
     */
    parseRowFormat(sourceFormat: any, rowFormat: WRowFormat, keyIndex: number): void;
    private parseBorders;
    private parseBorder;
    private parseShading;
    /**
     * @private
     */
    parseCharacterFormat(keyIndex: number, sourceFormat: any, characterFormat: WCharacterFormat, writeInlineFormat?: boolean): void;
    /**
     * @private
     * @returns {boolean}
     */
    isFontInstalled(fontFamily: string): boolean;
    private getWidth;
    private getColor;
    parseThemes(sourceFormat: any, themes: Themes): void;
    parseFontScheme(sourceFormat: any, themes: Themes): void;
    parseMajorMinorFontScheme(sourceFormat: any, majorMinor: MajorMinorFontScheme): void;
    parseParagraphFormat(keyIndex: number, sourceFormat: any, paragraphFormat: WParagraphFormat): void;
    private parseListFormat;
    parseSectionFormat(keyIndex: number, data: any, sectionFormat: WSectionFormat): void;
    private parseColumns;
    private parseTabStop;
    private validateImageUrl;
    private containsFieldBegin;
    private getBaseAlignment;
    private getUnderline;
    private getFontHintType;
    private getStrikethrough;
    private getHighlightColor;
    private getLineSpacingType;
    private getOutlineLevel;
    private getTextAlignment;
    private getWidthType;
    private getTableAlignment;
    private getLineStyle;
    private getTextureStyle;
    private getHeightType;
    private getCellVerticalAlignment;
    /**
     * @private
     */
    getListLevelPattern(listLevelPattern: number | ListLevelPattern): ListLevelPattern;
    private getFollowCharacterType;
    private getStyleType;
    private getProtectionType;
    private getRevisionType;
    private getFootnoteType;
    private getFootnoteRestartIndex;
    private getFootEndNoteNumberFormat;
    private getBiDirectionalOverride;
    private getBreakClearType;
    private getTextVerticalAlignment;
    private getShapeVerticalAlignment;
    private getShapeHorizontalAlignment;
    private getVerticalOrigin;
    private getHorizontalOrigin;
    private getTableVerticalRelation;
    private getTableHorizontalRelation;
    private getTableVerticalPosition;
    private getTableHorizontalPosition;
    private getLineDashStyle;
    private getHorizontalPositionAbs;
    private getTabJustification;
    private getTabLeader;
    private getTextFormFieldType;
    private getTextFormFieldFormat;
    private getCheckBoxSizeType;
    private getContentControlAppearance;
    private getContentControlType;
    private getDateCalendarType;
    private getDateStorageFormat;
    private getTextWrappingStyle;
    private getTextWrappingType;
    private getCompatibilityMode;
    private getLineFormatType;
    private getAutoShapeType;
    /**
     * @private
     * @returns {void}
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/implementation/viewer/render.d.ts
/**
 * @private
 */
export  class Renderer {
    /**
     * @private
     */
    commentMarkDictionary: Dictionary<HTMLElement, CommentCharacterElementBox[]>;
    isPrinting: boolean;
    isExporting: boolean;
    private pageLeft;
    private pageTop;
    private documentHelper;
    private pageIndex;
    private pageCanvasIn;
    private isFieldCode;
    private isRenderHeader;
    private leftPosition;
    private topPosition;
    private height;
    private exportPageCanvas;
    private fieldStacks;
    readonly pageCanvas: HTMLCanvasElement | DocumentCanvasElement;
    readonly spellChecker: SpellChecker;
    private readonly selectionCanvas;
    private readonly pageContext;
    private readonly selectionContext;
    constructor(documentHelper: DocumentHelper);
    private readonly viewer;
    renderWidgets(page: Page, left: number, top: number, width: number, height: number): void;
    private setPageSize;
    private renderHFWidgets;
    private renderHeaderSeparator;
    private getFooterHeight;
    private getHeaderFooterType;
    renderDashLine(context: CanvasRenderingContext2D | DocumentCanvasRenderingContext2D, x: number, y: number, width: number, fillStyle: string, isSmallDash: boolean): void;
    renderSolidLine(context: CanvasRenderingContext2D | DocumentCanvasRenderingContext2D, x: number, y: number, width: number, fillStyle: string): void;
    private renderHeaderFooterMark;
    private renderHeaderFooterMarkText;
    private render;
    private renderFloatingItems;
    private isOverLappedShapeWidget;
    private renderShapeElementBox;
    private renderPathElement;
    private renderWidget;
    private getConnectorPathData;
    private getCurvedPathData;
    private constructPath;
    private calculateCoord;
    private drawPath;
    private renderPath;
    private m;
    private r;
    private a;
    private updatePath;
    private calculatePathBounds;
    private setStyle;
    private renderLockRegionBorder;
    private renderHeader;
    private updateTableHeaderRows;
    private renderParagraphWidget;
    private renderParagraphBorder;
    /**
     * Renders the border around a TextElementBox.
     * @param elementBox - The TextElementBox for which the border is rendered.
     * @param left - The left position of the TextElementBox.
     * @param top - The top position of the TextElementBox.
     * @param color - The color of the border.
     * @param borderStyle - The style of the border (e.g., 'Single', 'Double').
     * @param borderWidth - The width of the border.
     * @param baselineAlignment - The baseline alignment of the TextElementBox.
     * @param revisionInfo - Revision information (optional).
     */
    private renderImgBorder;
    private getContainerWidth;
    private getTopMargin;
    private getBottomMargin;
    private renderfootNoteWidget;
    private renderTableWidget;
    private renderTableRowWidget;
    private renderTableCellWidget;
    private checkHeaderFooterLineWidget;
    private renderContentControlBorder;
    private renderEditRegionHighlight;
    private renderSearchHighlight;
    private validateRemoveSearchHighlighters;
    private renderSelectionHighlight;
    private renderSelectionHighlightOnTable;
    private renderLine;
    private getPageBreakText;
    private isBookmarkEndAtStart;
    private isRenderable;
    private combineHexColors;
    private renderBookmark;
    private retriveCharacterformat;
    private toSkipFieldCode;
    getUnderlineYPosition(lineWidget: LineWidget): number;
    private renderListTextElementBox;
    private getDefaultFontColor;
    private renderTextElementBox;
    private tabMark;
    private replaceSpace;
    private inverseCharacter;
    private getBackgroundColorHeirachy;
    private handleChangeDetectedElements;
    handleUnorderedElements(currentText: string, elementBox: TextElementBox, underlineY: number, iteration: number, markIndex: number, isLastItem?: boolean, combinedElements?: TextElementBox[]): void;
    renderWavyLine(elementBox: TextElementBox, left: number, top: number, underlineY: number, color: string, underline: Underline, baselineAlignment: BaselineAlignment, backgroundColor?: string): void;
    drawWavy(from: Point, to: Point, frequency: number, amplitude: number, step: number, color: string, height: number, backColor: string, negative?: number): void;
    /**
     * @private
     */
    getTabLeader(elementBox: TabElementBox): string;
    private getTabLeaderString;
    private clipRect;
    private getTrimmedWidth;
    private renderUnderline;
    private renderStrikeThrough;
    private renderImageElementBox;
    private renderTableOutline;
    private renderTableCellOutline;
    private renderCellBackground;
    private renderBackgroundColor;
    private drawTextureStyle;
    private getForeColor;
    private getColorValue;
    private renderSingleBorder;
    getScaledValue(value: number, type?: number): number;
    private checkRevisionType;
    private getRevisionColor;
    private getRevisionType;
    private getFormfieldInLine;
    private getShape;
    private shapes;
    /**
     * Destroys the internal objects which is maintained.
     *
     * @returns {void}
     */
    destroy(): 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;
    readonly right: number;
    readonly bottom: number;
    constructor(x: number, y: number, width: number, height: number);
    /**
     * @param currentBound
     * @private
     */
    isIntersecting(currentBound: Rect): boolean;
    /**
     * @private
     */
    clone(): Rect;
}
/**
 * @private
 */
export  class Padding {
    right: number;
    left: number;
    top: number;
    bottom: number;
    constructor(right: number, left: number, top: number, bottom: number);
}
/**
 * @private
 */
export  class Margin {
    /**
     * @private
     */
    left: number;
    /**
     * @private
     */
    top: number;
    /**
     * @private
     */
    right: number;
    /**
     * @private
     */
    bottom: number;
    constructor(leftMargin: number, topMargin: number, rightMargin: number, bottomMargin: number);
    clone(): Margin;
    destroy(): void;
}
/**
 * @private
 */
export interface IWidget {
}
/**
 * @private
 */
export  abstract class Widget implements IWidget {
    /**
     * @private
     */
    childWidgets: IWidget[];
    /**
     * @private
     */
    x: number;
    /**
     * @private
     */
    y: number;
    /**
     * @private
     */
    width: number;
    /**
     * @private
     */
    height: number;
    /**
     * @private
     */
    margin: Margin;
    /**
     * @private
     */
    containerWidget: Widget;
    /**
     * @private
     */
    index: number;
    readonly indexInOwner: number;
    readonly firstChild: IWidget;
    readonly lastChild: IWidget;
    readonly previousWidget: Widget;
    readonly nextWidget: Widget;
    readonly previousRenderedWidget: Widget;
    readonly nextRenderedWidget: Widget;
    readonly previousSplitWidget: Widget;
    readonly nextSplitWidget: Widget;
    abstract equals(widget: Widget): boolean;
    abstract getTableCellWidget(point: Point): TableCellWidget;
    getPreviousSplitWidgets(): Widget[];
    getSplitWidgets(): Widget[];
    combineWidget(viewer: LayoutViewer): Widget;
    private combine;
    addWidgets(childWidgets: IWidget[]): void;
    removeChild(index: number): void;
    abstract destroyInternal(viewer: LayoutViewer): void;
    destroy(): void;
    /**
     * Disposes the internal objects which are maintained.
     * @private
     */
    componentDestroy(): void;
}
/**
 * @private
 */
export  abstract class BlockContainer extends Widget {
    /**
     * @private
     */
    page: Page;
    /**
     * @private
     */
    floatingElements: (ShapeBase | TableWidget)[];
    /**
     * @private
     */
    footNoteReference: FootnoteElementBox;
    /**
    * @private
    */
    removedHeaderFooters: HeaderFooters[];
    /**
     * @private
     */
    sectionFormatIn: WSectionFormat;
    /**
    * @private
    */
    columnIndex: number;
    /**
     * @private
     */
    isWord2010NextColumn: boolean;
    sectionFormat: WSectionFormat;
    readonly sectionIndex: number;
    getHierarchicalIndex(hierarchicalIndex: string): string;
    /**
     * Disposes the internal objects which are maintained.
     * @private
     */
    componentDestroy(): void;
}
/**
 * @private
 */
export  class BodyWidget extends BlockContainer {
    /**
     * Initialize the constructor of BodyWidget
     */
    constructor();
    equals(widget: Widget): boolean;
    getHierarchicalIndex(hierarchicalIndex: string): string;
    getTableCellWidget(touchPoint: Point): TableCellWidget;
    destroyInternal(viewer: LayoutViewer): void;
    destroy(): void;
    /**
     * Disposes the internal objects which are maintained.
     * @private
     */
    componentDestroy(): void;
}
/**
 * @private
 */
export interface HeaderFooters {
    [key: number]: HeaderFooterWidget;
}
/**
 * @private
 */
export  class HeaderFooterWidget extends BlockContainer {
    /**
     * @private
     */
    headerFooterType: HeaderFooterType;
    /**
     * @private
     */
    parentHeaderFooter: HeaderFooterWidget;
    /**
     * @private
     */
    isEmpty: boolean;
    constructor(type: HeaderFooterType);
    getTableCellWidget(point: Point): TableCellWidget;
    equals(widget: Widget): boolean;
    clone(): HeaderFooterWidget;
    destroyInternal(viewer: LayoutViewer): void;
    /**
     * Disposes the internal objects which are maintained.
     * @private
     */
    componentDestroy(): void;
}
/**
 * @private
 */
export  abstract class BlockWidget extends Widget {
    /**
     * @private
     */
    isLayouted: boolean;
    /**
     * @private
     */
    isFieldCodeBlock: boolean;
    /**
     * @private
     */
    leftBorderWidth: number;
    /**
     * @private
     */
    rightBorderWidth: number;
    /**
     * @private
     */
    topBorderWidth: number;
    /**
     * @private
     */
    bottomBorderWidth: number;
    /**
     * @private
     */
    locked: boolean;
    /**
     * @private
     */
    lockedBy: string;
    /**
     * @private
     */
    contentControlProperties: ContentControlProperties;
    readonly bodyWidget: BlockContainer;
    readonly leftIndent: number;
    readonly rightIndent: number;
    readonly isInsideTable: boolean;
    readonly isInHeaderFooter: boolean;
    readonly associatedCell: TableCellWidget;
    /**
     * Check whether the paragraph contains only page break.
     *
     * @private
     * @returns {boolean}: Returns true if paragraph contains page break alone.
     */
    isPageBreak(): boolean;
    isColumnBreak(): boolean;
    getHierarchicalIndex(hierarchicalIndex: string): string;
    abstract getMinimumAndMaximumWordWidth(minimumWordWidth: number, maximumWordWidth: number): WidthInfo;
    abstract clone(): BlockWidget;
    getIndex(): number;
    getContainerWidth(): number;
    readonly bidi: boolean;
    /**
     * Disposes the internal objects which are maintained.
     * @private
     */
    componentDestroy(): void;
}
/**
 * @private
 */
export  class FootNoteWidget extends BlockContainer {
    getMinimumAndMaximumWordWidth(minimumWordWidth: number, maximumWordWidth: number): WidthInfo;
    /**
     * @private
     */
    footNoteType: FootnoteType;
    /**
     * @private
     */
    containerWidget: BodyWidget;
    /**
     * @private
     */
    bodyWidgets: BodyWidget[];
    /**
     * @private
     */
    block: BlockWidget;
    getTableCellWidget(point: Point): TableCellWidget;
    equals(widget: Widget): boolean;
    clone(): FootNoteWidget;
    destroyInternal(viewer: LayoutViewer): void;
    /**
     * Disposes the internal objects which are maintained.
     * @private
     */
    componentDestroy(): void;
}
/**
 * @private
 */
export  class ParagraphWidget extends BlockWidget {
    /**
     * @private
     */
    paragraphFormat: WParagraphFormat;
    /**
     * @private
     */
    characterFormat: WCharacterFormat;
    /**
     * @private
     */
    isSectionBreak: boolean;
    /**
     * @private
     */
    isChangeDetected: boolean;
    /**
     * @private
     */
    textWrapWidth: boolean;
    /**
     * @private
     * The clientX having previous left value of empty paragraph
     */
    clientX: number;
    /**
     * @private
     */
    floatingElements: ShapeBase[];
    readonly isEndsWithPageBreak: boolean;
    readonly isEndsWithColumnBreak: boolean;
    /**
     * Initialize the constructor of ParagraphWidget
     */
    constructor();
    equals(widget: Widget): boolean;
    isContainsShapeAlone(): boolean;
    isEmptyInternal(layoutCheck: boolean): boolean;
    isEmpty(): boolean;
    getInline(offset: number, indexInInline: number): ElementInfo;
    getLength(): number;
    /**
     * Return the total length by considering splitted paragraph widgets.
     * @private
     */
    getTotalLength(): number;
    getTableCellWidget(point: Point): TableCellWidget;
    getMinimumAndMaximumWordWidth(minimumWordWidth: number, maximumWordWidth: number): WidthInfo;
    private measureParagraph;
    private isArabicChar;
    private isHebrewChar;
    private isHindiChar;
    private isKoreanChar;
    private isJapanese;
    private isThaiCharacter;
    private isChineseChar;
    private isSpecialCharacters;
    private getFontScriptType;
    splitTextByFontScriptType(inputText: string, fontScriptTypes: FontScriptType[], hasHintType: boolean): string[];
    splitTextRangeByScriptType(lineIndex: number): void;
    /**
     * @private
     */
    splitLtrAndRtlText(lineIndex: number): void;
    private updateTextElementInRevisionRange;
    /**
     * Combine the spans by consecutive LTR and RTL texts.
     * @private
     */
    combineconsecutiveRTL(lineIndex: number): void;
    private compareRevisions;
    clone(): ParagraphWidget;
    destroyInternal(viewer: LayoutViewer): void;
    destroy(): void;
    /**
     * Disposes the internal objects which are maintained.
     * @private
     */
    componentDestroy(): void;
}
/**
 * @private
 */
export  class TablePosition {
    /**
     * @private
     */
    allowOverlap: boolean;
    /**
     * @private
     */
    distanceTop: number;
    /**
     * @private
     */
    distanceRight: number;
    /**
     * @private
     */
    distanceLeft: number;
    /**
     * @private
     */
    distanceBottom: number;
    /**
    * @private
    */
    verticalOrigin: string;
    /**
     * @private
     */
    verticalAlignment: VerticalAlignment;
    /**
     * @private
     */
    verticalPosition: number;
    /**
     * @private
     */
    horizontalOrigin: string;
    /**
     * @private
     */
    horizontalAlignment: HorizontalAlignment;
    /**
     * @private
     */
    horizontalPosition: number;
    /**
     * @private
     */
    clone(): TablePosition;
}
/**
 * @private
 */
export  class TableWidget extends BlockWidget {
    private flags;
    /**
     * @private
     */
    leftMargin: number;
    /**
     * @private
     */
    topMargin: number;
    /**
     * @private
     */
    rightMargin: number;
    /**
     * @private
     */
    bottomMargin: number;
    /**
     * @private
     */
    tableFormat: WTableFormat;
    /**
     * @private
     */
    spannedRowCollection: Dictionary<number, number>;
    /**
     * @private
     */
    tableHolder: WTableHolder;
    /**
     * @private
     */
    headerHeight: number;
    /**
     * @private
     */
    tableCellInfo: Dictionary<number, Dictionary<number, number>>;
    /**
     * @private
     */
    isDefaultFormatUpdated: boolean;
    /**
     * @private
     */
    wrapTextAround: boolean;
    /**
     * @private
     */
    positioning: TablePosition;
    /**
     * @private
     */
    isContainInsideTable: boolean;
    /**
     * @private
     */
    footnoteElement: FootnoteElementBox[];
    /**
     * @private
     */
    /**
    * @private
    */
    isGridUpdated: boolean;
    /**
     * @private
     */
    /**
    * @private
    */
    continueHeader: boolean;
    /**
     * @private
     */
    /**
    * @private
    */
    header: boolean;
    isBidiTable: boolean;
    constructor();
    /**
     * @private
     */
    equals(widget: Widget): boolean;
    /**
     * @private
     */
    combineRows(viewer: LayoutViewer): void;
    /**
     * @private
     */
    contains(tableCell: TableCellWidget): boolean;
    /**
     * @private
     */
    getOwnerWidth(isBasedOnViewer: boolean): number;
    /**
     * @private
     */
    getTableWidth(): number;
    /**
     * @private
     */
    getTableCellWidth(): number;
    /**
     * @private
     */
    getTableClientWidth(clientWidth: number): number;
    /**
     * @private
     */
    getCellWidth(preferredWidth: number, preferredWidthType: WidthType, containerWidth: number, cell: TableCellWidget): number;
    private getMinimumPreferredWidth;
    /**
     * @private
     */
    fitCellsToClientArea(clientWidth: number): void;
    /**
     * @private
     */
    getTableCellWidget(point: Point): TableCellWidget;
    /**
     * @private
     */
    calculateGrid(isInsertRow?: boolean): void;
    private updateValidPreferredWidth;
    private updateColumnSpans;
    /**
     * @private
     */
    getMinimumAndMaximumWordWidth(minimumWordWidth: number, maximumWordWidth: number): WidthInfo;
    /**
     * @private
     */
    checkTableColumns(): void;
    /**
     * @private
     */
    isAutoFit(): boolean;
    /**
     * @private
     */
    updateRowSpan(): void;
    /**
     * @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(skip?: boolean): TableWidget;
    /**
     * @private
     */
    static getTableOf(node: WBorders): TableWidget;
    /**
     * @private
     */
    fitChildToClientArea(): void;
    /**
     * @private
     */
    getColumnCellsForSelection(startCell: TableCellWidget, endCell: TableCellWidget): TableCellWidget[];
    /**
     * Splits width equally for all the cells.
     * @param tableClientWidth
     * @private
     */
    splitWidthToTableCells(tableClientWidth: number, isZeroWidth?: boolean): void;
    /**
     * @private
     */
    insertTableRowsInternal(tableRows: TableRowWidget[], startIndex: number, isInsertRow?: boolean, initilizeCellBorder?: boolean): void;
    /**
     * @private
     */
    updateRowIndex(startIndex: number): void;
    /**
     * @private
     */
    getCellStartOffset(cell: TableCellWidget): number;
    /**
     * @private
     */
    destroyInternal(viewer: LayoutViewer): void;
    /**
     * @private
     */
    destroy(): void;
    /**
     * Disposes the internal objects which are maintained.
     * @private
     */
    componentDestroy(): void;
}
/**
 * @private
 */
export  class TableRowWidget extends BlockWidget {
    /**
     * @private
     */
    topBorderWidth: number;
    /**
     * @private
     */
    bottomBorderWidth: number;
    /**
     * @private
     */
    rowFormat: WRowFormat;
    /**
     * @private
     */
    contentControlProperties: ContentControlProperties;
    /**
     * @private
     */
    isRenderBookmarkEnd: boolean;
    /**
     * @private
     */
    editRangeID: Dictionary<number, ElementBox>;
    /**
     * @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, columnIndex: number, cellIndex?: number): TableCellWidget;
    /**
     * @private
     */
    getCellUsingColumnIndex(rowIndex: number, columnIndex: number): TableCellWidget;
    /**
     * @private
     */
    splitWidthToRowCells(tableClientWidth: number, isZeroWidth?: boolean): void;
    /**
     * @private
     */
    getGridCount(tableGrid: number[], cell: TableCellWidget, index: number, containerWidth: number, tempSpan: number[]): number;
    private getOffsetIndex;
    private getCellOffset;
    /**
     * @private
     */
    updateRowBySpannedCells(): void;
    /**
     * @private
     */
    getPreviousRowSpannedCells(include?: boolean): TableCellWidget[];
    /**
     * @private
     */
    isCellsHaveSameWidthUnit(): boolean;
    /**
     * @private
     */
    updateUniformWidthUnitForCells(): void;
    /**
     * @private
     */
    getTableCellWidget(point: Point): TableCellWidget;
    /**
     * @private
     */
    getFirstRowWidth(): number;
    /**
     * @private
     */
    getCellWidget(columnIndex: number, columnSpan: number): TableCellWidget;
    getVerticalMergeStartCell(columnIndex: number, columnSpan: number): TableCellWidget;
    /**
     * @private
     */
    getMinimumAndMaximumWordWidth(minimumWordWidth: number, maximumWordWidth: number): WidthInfo;
    /**
     * @private
     */
    destroyInternal(viewer: LayoutViewer): void;
    /**
     * @private
     */
    clone(): TableRowWidget;
    /**
     * Updates the child widgets left.
     * @param left
     * @private
     */
    updateChildWidgetLeft(left: number, updateLeftIndent?: boolean): void;
    /**
     * Shift the widgets for RTL table.
     * @param tableWidget
     * @private
     */
    shiftWidgetForRtlTable(): void;
    /**
     * @private
     */
    destroy(): void;
    /**
     * Disposes the internal objects which are maintained.
     * @private
     */
    componentDestroy(): void;
}
/**
 * @private
 */
export  class TableCellWidget extends BlockWidget {
    /**
     * @private
     */
    rowIndex: number;
    /**
     * @private
     */
    cellFormat: WCellFormat;
    /**
     * @private
     */
    columnIndex: number;
    private sizeInfoInternal;
    /**
     * @private
     */
    contentControlProperties: ContentControlProperties;
    /**
     * @private
     */
    updatedTopBorders: BorderInfo[];
    /**
     * @private
     */
    isRenderBookmarkStart: boolean;
    /**
     * @private
     */
    isRenderBookmarkEnd: boolean;
    /**
     * @private
     */
    isRenderEditRangeStart: boolean;
    /**
    * @private
     */
    isRenderEditRangeEnd: boolean;
    /**
    * @private
     */
    isSplittedCell: boolean;
    /**
     * @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
     */
    isEmpty(): boolean;
    /**
     * @private
     */
    getNextSplitWidget(): TableCellWidget;
    /**
     * @private
     */
    getTableCellWidget(point: Point): TableCellWidget;
    /**
     * @private
     */
    updateWidth(preferredWidth: number): void;
    /**
     * @private
     */
    getCellWidth(block: BlockWidget): number;
    /**
     * @private
     */
    convertPointToPercent(cellPreferredWidth: number): number;
    /**
     * @private
     */
    static getCellLeftBorder(tableCell: TableCellWidget): WBorder;
    private static getPreviousCell;
    /**
     * @private
     */
    getLeftBorderWidth(): number;
    /**
     * @private
     */
    getRightBorderWidth(): number;
    /**
     * @private
     */
    getCellSpacing(): number;
    /**
     * @private
     */
    getCellSizeInfo(isAutoFit: boolean): ColumnSizeInfo;
    /**
     * @private
     */
    getMinimumPreferredWidth(): number;
    /**
     * @private
     */
    getPreviousCellLeftBorder(leftBorder: WBorder, previousCell: TableCellWidget): WBorder;
    /**
     * @private
     */
    getBorderBasedOnPriority(border: WBorder, adjacentBorder: WBorder): WBorder;
    /**
     * @private
     */
    getLeftBorderToRenderByHierarchy(leftBorder: WBorder, rowBorders: WBorders, tableBorders: WBorders): WBorder;
    /**
     * @private
     */
    static getCellRightBorder(tableCell: TableCellWidget): WBorder;
    private static getNextCell;
    /**
     * @private
     */
    getAdjacentCellRightBorder(rightBorder: WBorder, nextCell: TableCellWidget): WBorder;
    /**
     * @private
     */
    getRightBorderToRenderByHierarchy(rightBorder: WBorder, rowBorders: WBorders, tableBorders: WBorders): WBorder;
    /**
     * @private
     */
    static getCellTopBorder(tableCell: TableCellWidget): WBorder;
    private getTopAdjacentCell;
    /**
     * @private
     */
    getPreviousCellTopBorder(topBorder: WBorder, previousTopCell: TableCellWidget): WBorder;
    /**
     * @private
     */
    getTopBorderToRenderByHierarchy(topBorder: WBorder, rowBorders: WBorders, tableBorders: WBorders): WBorder;
    /**
     * @private
     */
    static getCellBottomBorder(tableCell: TableCellWidget): WBorder;
    /**
     * @private
     */
    getAdjacentCellBottomBorder(bottomBorder: WBorder, nextBottomCell: TableCellWidget): WBorder;
    /**
     * @private
     */
    getBottomBorderToRenderByHierarchy(bottomBorder: WBorder, rowBorders: WBorders, tableBorders: WBorders): WBorder;
    /**
     * @private
     */
    static getCellOf(node: WBorders): TableCellWidget;
    /**
     * Updates the Widget left.
     * @private
     */
    updateWidgetLeft(x: number): void;
    /**
     * @private
     */
    updateChildWidgetLeft(left: number): void;
    /**
     * @private
     */
    getMinimumAndMaximumWordWidth(minimumWordWidth: number, maximumWordWidth: number): WidthInfo;
    /**
     * @private
     */
    destroyInternal(viewer: LayoutViewer): void;
    /**
     * @private
     */
    clone(): TableCellWidget;
    /**
     * @private
     */
    destroy(): void;
    /**
     * Disposes the internal objects which are maintained.
     * @private
     */
    componentDestroy(): void;
}
/**
 * @private
 */
export  class LineWidget implements IWidget {
    /**
     * @private
     */
    children: ElementBox[];
    /**
     * @private
     */
    layoutedElements: ElementBox[];
    /**
     * @private
     */
    paragraph: ParagraphWidget;
    /**
     * @private
     */
    x: number;
    /**
     * @private
     */
    y: number;
    /**
     * @private
     */
    width: number;
    /**
     * @private
     */
    height: number;
    /**
     * @private
     */
    marginTop: number;
    /**
     * @private
     */
    maxBaseLine: number;
    /**
    * @private
    */
    skipClipImage: boolean;
    /**
     * Rendered elements contains reordered element for RTL layout
     */
    readonly renderedElements: ElementBox[];
    /**
    * @private
    */
    margin: Margin;
    /**
     * @private
     */
    readonly indexInOwner: number;
    /**
     * @private
     */
    readonly nextLine: LineWidget;
    /**
     * @private
     */
    readonly previousLine: LineWidget;
    /**
     * @private
     */
    readonly isEndsWithPageBreak: boolean;
    readonly isEndsWithColumnBreak: boolean;
    /**
     * @private
     */
    readonly isEndsWithLineBreak: boolean;
    /**
     * Initialize the constructor of LineWidget
     */
    constructor(paragraphWidget: ParagraphWidget);
    /**
     * @private
     */
    isFirstLine(): boolean;
    /**
     * @private
     */
    isLastLine(): boolean;
    /**
     * @private
     */
    getOffset(inline: ElementBox, index: number): number;
    /**
     * @private
     */
    getEndOffset(): number;
    /**
     * @private
     */
    getInline(offset: number, indexInInline: number, bidi?: boolean, isInsert?: boolean, isSpellCheck?: boolean): ElementInfo;
    /**
     * @private
     */
    isEndnoteLineWidget(): boolean;
    /**
     * Method to retrieve next element
     * @param line
     * @param index
     */
    private getNextTextElement;
    /**
     * @private
     */
    getHierarchicalIndex(hierarchicalIndex: string): string;
    /**
     * @private
     */
    clone(): LineWidget;
    /**
     * @private
     */
    destroy(): void;
    /**
     * Disposes the internal objects which are maintained.
     * @private
     */
    componentDestroy(): void;
}
/**
 * @private
 */
export  abstract class ElementBox {
    /**
     * @private
     */
    x: number;
    /**
     * @private
     */
    y: number;
    /**
     * @private
     */
    width: number;
    /**
     * @private
     */
    height: number;
    /**
    * @private
    */
    isWidthUpdated: boolean;
    /**
     * @private
     */
    margin: Margin;
    /**
     * @private
     */
    padding: Margin;
    /**
     * @private
     */
    line: LineWidget;
    /**
     * @private
     */
    characterFormat: WCharacterFormat;
    /**
     * @private
     */
    static objectCharacter: string;
    /**
     * @private
     */
    isRightToLeft: boolean;
    /**
     * @private
     */
    canTrigger: boolean;
    /**
     * @private
     */
    ischangeDetected: boolean;
    /**
     * @private
     */
    isVisible: boolean;
    /**
     * @private
     */
    isSpellChecked?: boolean;
    /**
     * @private
     */
    isSpellCheckTriggered: boolean;
    /**
     * @private
     */
    revisions: Revision[];
    /**
     * @private
     */
    canTrack: boolean;
    /**
     * @private
     */
    removedIds: string[];
    /**
     * @private
     */
    isMarkedForRevision: boolean;
    /**
     * @private
     */
    contentControlProperties: ContentControlProperties;
    /**
     * @private
     */
    skipformFieldLength: boolean;
    /**
     * @private
     */
    characterRange: CharacterRangeType;
    /**
     * @private
     */
    readonly isPageBreak: boolean;
    readonly isColumnBreak: boolean;
    /**
     * @private
     * Method to indicate whether current element is trackable.
     */
    readonly isValidNodeForTracking: boolean;
    /**
     * @private
     */
    readonly isCheckBoxElement: boolean;
    /**
     * @private
     */
    linkFieldCharacter(documentHelper: DocumentHelper): void;
    /**
     * @private
     */
    linkFieldTraversingBackward(line: LineWidget, fieldEnd: FieldElementBox, previousNode: ElementBox): boolean;
    /**
     * @private
     */
    linkFieldTraversingForward(line: LineWidget, fieldBegin: FieldElementBox, previousNode: ElementBox, fieldCount?: number): boolean;
    /**
     * @private
     */
    linkFieldTraversingBackwardSeparator(line: LineWidget, fieldSeparator: FieldElementBox, previousNode: ElementBox): boolean;
    /**
     * @private
     */
    readonly length: number;
    /**
     * @private
     */
    readonly indexInOwner: number;
    /**
     * @private
     */
    readonly previousElement: ElementBox;
    /**
     * @private
     */
    readonly nextElement: ElementBox;
    /**
     * @private
     */
    readonly nextNode: ElementBox;
    /**
     * @private
     */
    readonly nextValidNodeForTracking: ElementBox;
    /**
     * @private
     */
    readonly previousValidNodeForTracking: ElementBox;
    /**
     * @private
     */
    readonly previousNode: ElementBox;
    /**
     * @private
     */
    readonly paragraph: ParagraphWidget;
    /**
     * Initialize the constructor of ElementBox
     */
    constructor();
    /**
     * @private
     */
    abstract getLength(): number;
    /**
     * @private
     */
    abstract clone(): ElementBox;
    /**
     * @private
     */
    destroy(): void;
    /**
     * Disposes the internal objects which are maintained.
     * @private
     */
    componentDestroy(): void;
}
/**
 * @private
 */
export  class FieldElementBox extends ElementBox {
    /**
     * @private
     */
    fieldType: number;
    /**
     * @private
     */
    fieldCodeType: string;
    /**
     * @private
     */
    hasFieldEnd: boolean;
    /**
     * @private
     */
    formFieldData: FormField;
    /**
    * @private
    */
    fieldBeginInternal: FieldElementBox;
    private fieldSeparatorInternal;
    private fieldEndInternal;
    fieldBegin: FieldElementBox;
    fieldSeparator: FieldElementBox;
    fieldEnd: FieldElementBox;
    /**
     * @private
     */
    readonly resultText: string;
    constructor(type: number);
    /**
     * @private
     */
    getLength(): number;
    /**
     * @private
     */
    clone(): FieldElementBox;
    /**
     * @private
     */
    destroy(): void;
    /**
     * Disposes the internal objects which are maintained.
     * @private
     */
    componentDestroy(): void;
}
/**
 * @private
 */
export  abstract class FormField {
    name: string;
    /**
     * @private
     */
    enabled: boolean;
    /**
     * @private
     */
    helpText: string;
    /**
     * @private
     */
    statusText: string;
    /**
     * @private
     */
    abstract clone(): FormField;
    /**
     * @private
     */
    destroy(): void;
    /**
     * @private
     */
    abstract getFormFieldInfo(): TextFormFieldInfo | CheckBoxFormFieldInfo | DropDownFormFieldInfo;
    /**
     * @private
     */
    abstract copyFieldInfo(info: TextFormFieldInfo | CheckBoxFormFieldInfo | DropDownFormFieldInfo): void;
}
/**
 * @private
 */
export  class TextFormField extends FormField {
    /**
     * @private
     */
    type: TextFormFieldType;
    /**
     * @private
     */
    maxLength: number;
    /**
     * @private
     */
    defaultValue: string;
    /**
     * @private
     */
    format: string;
    /**
     * @private
     */
    clone(): TextFormField;
    /**
     * @private
     */
    getFormFieldInfo(): TextFormFieldInfo;
    /**
     * @private
     */
    copyFieldInfo(info: TextFormFieldInfo): void;
    /**
     * @private
     */
    destroy(): void;
}
/**
 * @private
 */
export  class CheckBoxFormField extends FormField {
    /**
     * @private
     */
    sizeType: CheckBoxSizeType;
    /**
     * @private
     */
    size: number;
    /**
     * @private
     */
    defaultValue: boolean;
    /**
     * @private
     */
    checked: boolean;
    /**
     * @private
     */
    clone(): CheckBoxFormField;
    /**
     * @private
     */
    getFormFieldInfo(): CheckBoxFormFieldInfo;
    /**
     * @private
     */
    copyFieldInfo(info: CheckBoxFormFieldInfo): void;
    /**
     * @private
     */
    destroy(): void;
}
/**
 * @private
 */
export  class DropDownFormField extends FormField {
    /**
     * @private
     */
    dropdownItems: string[];
    /**
     * @private
     */
    selectedIndex: number;
    /**
     * @private
     */
    clone(): DropDownFormField;
    /**
     * @private
     */
    getFormFieldInfo(): DropDownFormFieldInfo;
    /**
     * @private
     */
    copyFieldInfo(info: DropDownFormFieldInfo): void;
    /**
     * @private
     */
    destroy(): void;
}
/**
 * @private
 */
export  class TextElementBox extends ElementBox {
    /**
     * @private
     */
    baselineOffset: number;
    /**
     * @private
     */
    text: string;
    /**
     * @private
     */
    trimEndWidth: number;
    /**
     * @private
     */
    errorCollection?: ErrorTextElementBox[];
    /**
     * @private
     */
    ignoreOnceItems?: string[];
    /**
     * @private
     */
    istextCombined?: boolean;
    /**
     * @private
     */
    scriptType?: FontScriptType;
    /**
     * @private
     */
    renderedFontFamily?: string;
    constructor();
    /**
     * @private
     */
    getLength(): number;
    /**
     * @private
     */
    clone(): TextElementBox;
    /**
     * @private
     */
    destroy(): void;
    /**
     * @private
     */
    componentDestroy(): void;
}
/**
 * @private
 */
export  class Footnote {
    /**
     * @private
     */
    separator: BlockWidget[];
    /**
     * @private
     */
    continuationSeparator: BlockWidget[];
    /**
     * @private
     */
    continuationNotice: BlockWidget[];
    constructor();
    /**
     * @private
     */
    clear(): void;
    destroy(): void;
    /**
     * Disposes the internal objects which are maintained.
     * @private
     */
    componentDestroy(): void;
}
/**
 * @private
 */
export  class FootnoteElementBox extends TextElementBox {
    /**
     * @private
     */
    footnoteType: FootnoteType;
    /**
     * @private
     */
    characterFormat: WCharacterFormat;
    /**
     * @private
     */
    bodyWidget: BodyWidget;
    /**
     * @private
     */
    symbolCode: string;
    /**
     * @private
     */
    height: number;
    /**
     * @private
     */
    index: boolean;
    isLayout: boolean;
    /**
     * @private
     */
    symbolFontName: string;
    /**
     * @private
     */
    customMarker: string;
    constructor();
    clone(): FootnoteElementBox;
    getLength(): number;
    destroy(): void;
    /**
     * Disposes the internal objects which are maintained.
     * @private
     */
    componentDestroy(): void;
}
/**
 * @private
 */
export  class ErrorTextElementBox extends TextElementBox {
    private startIn;
    private endIn;
    start: TextPosition;
    end: TextPosition;
    constructor();
    destroy(): void;
    /**
     * Disposes the internal objects which are maintained.
     * @private
     */
    componentDestroy(): void;
}
/**
 * @private
 */
export  class FieldTextElementBox extends TextElementBox {
    /**
     * @private
     */
    fieldBegin: FieldElementBox;
    private fieldText;
    text: string;
    constructor();
    /**
     * @private
     */
    clone(): FieldTextElementBox;
    /**
     * Disposes the internal objects which are maintained.
     * @private
     */
    componentDestroy(): void;
}
/**
 * @private
 */
export  class TabElementBox extends TextElementBox {
    /**
     * @private
     */
    tabText: string;
    /**
     * @private
     */
    tabLeader: TabLeader;
    /**
     * @private
     */
    destroy(): void;
    /**
     * @private
     */
    componentDestroy(): void;
    constructor();
    /**
     * @private
     */
    clone(): TabElementBox;
}
/**
 * @private
 */
export  class BookmarkElementBox extends ElementBox {
    private bookmarkTypeIn;
    private refereneceIn;
    private nameIn;
    private propertiesIn;
    /**
     * @private
     */
    readonly bookmarkType: number;
    /**
     * @private
     */
    /**
    * @private
    */
    properties: object;
    /**
     * @private
     */
    /**
    * @private
    */
    name: string;
    /**
     * @private
     */
    /**
    * @private
    */
    reference: BookmarkElementBox;
    constructor(type: number);
    /**
     * @private
     */
    getLength(): number;
    /**
     * @private
     */
    destroy(): void;
    /**
     * @private
     */
    componentDestroy(): void;
    /**
     * Clones the bookmark element box.
     * @param element - book mark element
     */
    /**
     * @private
     */
    clone(): BookmarkElementBox;
}
/**
 * @private
 */
export  class ContentControl extends ElementBox {
    /**
     * @private
     */
    contentControlProperties: ContentControlProperties;
    /**
     * @private
     */
    type: number;
    /**
     * @private
     */
    reference: ContentControl;
    /**
     * @private
     */
    contentControlWidgetType: ContentControlWidgetType;
    constructor(widgetType: ContentControlWidgetType);
    /**
     * @private
     */
    getLength(): number;
    /**
     * @private
     */
    clone(): ElementBox;
    /**
     * @private
     */
    destroy(): void;
    /**
     * Disposes the internal objects which are maintained.
     * @private
     */
    componentDestroy(): void;
}
/**
 * @private
 */
/**
 * @private
 */
export  class ContentControlProperties {
    /**
     * @private
     */
    contentControlWidgetType: ContentControlWidgetType;
    /**
     * @private
     */
    lockContentControl: boolean;
    /**
     * @private
     */
    lockContents: boolean;
    /**
     * @private
     */
    tag: string;
    /**
     * @private
     */
    color: string;
    /**
     * @private
     */
    title: string;
    /**
     * @private
     */
    appearance: string;
    /**
     * @private
     */
    type: ContentControlType;
    /**
     * @private
     */
    hasPlaceHolderText: boolean;
    /**
     * @private
     */
    multiline: boolean;
    /**
     * @private
     */
    isTemporary: boolean;
    /**
     * @private
     */
    isChecked: boolean;
    /**
     * @private
     */
    dateCalendarType: string;
    /**
     * @private
     */
    dateStorageFormat: string;
    /**
     * @private
     */
    dateDisplayLocale: string;
    /**
     * @private
     */
    dateDisplayFormat: string;
    /**
     * @private
     */
    uncheckedState: CheckBoxState;
    /**
     * @private
     */
    checkedState: CheckBoxState;
    /**
     * @private
     */
    contentControlListItems: ContentControlListItems[];
    /**
     * @private
     */
    xmlMapping: XmlMapping;
    /**
     * @private
     */
    characterFormat: WCharacterFormat;
    constructor(widgetType: ContentControlWidgetType);
    /**
     * @private
     */
    destroy(): void;
    /**
     * @private
     */
    clone(): ContentControlProperties;
}
/**
 * @private
 */
export  class ContentControlListItems {
    /**
     * @private
     */
    displayText: string;
    /**
     * @private
     */
    value: string;
    /**
     * @private
     */
    destroy(): void;
    /**
     * @private
     */
    clone(): ContentControlListItems;
}
/**
 * @private
 */
export  class CheckBoxState {
    /**
     * @private
     */
    font: string;
    /**
     * @private
     */
    value: string;
    /**
     * @private
     */
    destroy(): void;
    /**
     * @private
     */
    clone(): CheckBoxState;
}
/**
 * @private
 */
export  class XmlMapping {
    /**
     * @private
     */
    isMapped: boolean;
    /**
     * @private
     */
    isWordMl: boolean;
    /**
     * @private
     */
    prefixMapping: string;
    /**
     * @private
     */
    xPath: string;
    /**
     * @private
     */
    storeItemId: string;
    /**
     * @private
     */
    customXmlPart: CustomXmlPart;
    /**
     * @private
     */
    destroy(): void;
    /**
     * @private
     */
    clone(): XmlMapping;
}
/**
 * @private
 */
export  class CustomXmlPart {
    /**
     * @private
     */
    id: string;
    /**
     * @private
     */
    xml: string;
    /**
     * @private
     */
    destroy(): void;
    /**
     * @private
     */
    clone(): CustomXmlPart;
}
/**
 * @private
 */
export  class ShapeCommon extends ElementBox {
    /**
     * @private
     */
    shapeId: number;
    /**
     * @private
     */
    name: string;
    /**
     * @private
     */
    alternateText: string;
    /**
     * @private
     */
    title: string;
    /**
     * @private
     */
    visible: boolean;
    /**
     * @private
     */
    width: number;
    /**
     * @private
     */
    height: number;
    /**
     * @private
     */
    widthScale: number;
    /**
     * @private
     */
    heightScale: number;
    /**
     * @private
     */
    lineFormat: LineFormat;
    /**
     * @private
     */
    fillFormat: FillFormat;
    /**
     *
     * @private
     */
    getLength(): number;
    /**
     * @private
     */
    clone(): ShapeCommon;
}
/**
 * @private
 */
export  class ShapeBase extends ShapeCommon {
    /**
     * @private
     */
    verticalPosition: number;
    /**
     * @private
     */
    verticalOrigin: VerticalOrigin;
    /**
     * @private
     */
    verticalAlignment: VerticalAlignment;
    /**
     * @private
     */
    verticalRelativePercent: number;
    /**
     * @private
     */
    horizontalPosition: number;
    /**
     * @private
     */
    heightRelativePercent: number;
    /**
     * @private
     */
    widthRelativePercent: number;
    /**
     * @private
     */
    horizontalOrigin: HorizontalOrigin;
    /**
     * @private
     */
    horizontalAlignment: HorizontalAlignment;
    /**
     * @private
     */
    horizontalRelativePercent: number;
    /**
     * @private
     */
    zOrderPosition: number;
    /**
     * @private
     */
    allowOverlap: boolean;
    /**
     * @private
     */
    textWrappingStyle: TextWrappingStyle;
    /**
     * @private
     */
    textWrappingType: TextWrappingType;
    /**
     * @private
     */
    distanceBottom: number;
    /**
     * @private
     */
    distanceLeft: number;
    /**
     * @private
     */
    distanceRight: number;
    /**
     * @private
     */
    distanceTop: number;
    /**
     * @private
     */
    layoutInCell: boolean;
    /**
     * @private
     */
    lockAnchor: boolean;
    /**
     * @private
     */
    isBelowText: boolean;
    /**
     * @private
     */
    isHorizontalRule: boolean;
    /**
    * @private
    */
    editingPoints: {};
}
/**
 * @private
 */
export  class ShapeElementBox extends ShapeBase {
    /**
     * @private
     */
    textFrame: TextFrame;
    /**
     * @private
     */
    isZeroHeight: boolean;
    /**
     * @private
     */
    autoShapeType: AutoShapeType;
    /**
     * @private
     */
    clone(): ShapeElementBox;
}
/**
 * @private
 */
export  class TextFrame extends Widget {
    /**
     * @private
     */
    containerShape: ElementBox;
    /**
     * @private
     */
    textVerticalAlignment: VerticalAlignment;
    /**
     * @private
     */
    marginLeft: number;
    /**
     * @private
     */
    marginRight: number;
    /**
     * @private
     */
    marginTop: number;
    /**
     * @private
     */
    marginBottom: number;
    equals(): boolean;
    destroyInternal(): void;
    getHierarchicalIndex(index: string): string;
    getTableCellWidget(): TableCellWidget;
    /**
     * @private
     */
    clone(): TextFrame;
}
/**
 * @private
 */
export  class LineFormat {
    /**
     * @private
     */
    line: boolean;
    /**
     * @private
     */
    lineFormatType: LineFormatType;
    /**
     * @private
     */
    color: string;
    /**
     * @private
     */
    weight: number;
    /**
     * @private
     */
    dashStyle: LineDashing;
    /**
     * @private
     */
    clone(): LineFormat;
}
/**
 * @private
 */
export  class FillFormat {
    /**
     * @private
     */
    color: string;
    /**
     * @private
     */
    fill: boolean;
    /**
     * @private
     */
    clone(): FillFormat;
}
/**
 * @private
 */
export  class ImageElementBox extends ShapeBase {
    private imageStr;
    private imgElement;
    private isInlineImageIn;
    private crop;
    /**
     * @private
     */
    isCrop: boolean;
    /**
     * @private
     */
    cropX: number;
    /**
     * @private
     */
    cropY: number;
    /**
     * @private
     */
    cropWidth: number;
    /**
     * @private
     */
    cropHeight: number;
    /**
     * @private
     */
    cropWidthScale: number;
    /**
     * @private
     */
    cropHeightScale: number;
    /**
     * @private
     */
    left: number;
    /**
     * @private
     */
    top: number;
    /**
     * @private
     */
    right: number;
    /**
     * @private
     */
    bottom: number;
    /**
     * @private
     */
    isMetaFile: boolean;
    /**
     * @private
     */
    isCompressed: boolean;
    /**
     * @private
     */
    metaFileImageString: string;
    /**
     * @private
     */
    readonly isInlineImage: boolean;
    /**
     * @private
     */
    readonly element: HTMLImageElement;
    /**
     * @private
     */
    readonly length: number;
    /**
     * @private
     */
    /**
    * @private
    */
    imageString: string;
    constructor(isInlineImage?: boolean);
    /**
     * @private
     */
    getLength(): number;
    /**
     * @private
     */
    clone(): ImageElementBox;
    /**
     * @private
     */
    destroy(): void;
}
/**
 * @private
 */
export  class ListTextElementBox extends ElementBox {
    /**
     * @private
     */
    baselineOffset: number;
    /**
     * @private
     */
    text: string;
    /**
     * @private
     */
    trimEndWidth: number;
    /**
     * @private
     */
    listLevel: WListLevel;
    /**
     * @private
     */
    isFollowCharacter: boolean;
    constructor(listLevel: WListLevel, isListFollowCharacter: boolean);
    /**
     * @private
     */
    getLength(): number;
    /**
     * @private
     */
    clone(): ListTextElementBox;
    /**
     * @private
     */
    destroy(): void;
}
/**
 * @private
 */
export  class EditRangeEndElementBox extends ElementBox {
    /**
     * @private
     */
    editRangeStart: EditRangeStartElementBox;
    editRangeId: number;
    constructor();
    /**
     * @private
     */
    getLength(): number;
    /**
     * @private
     */
    destroy(): void;
    /**
     * @private
     */
    clone(): EditRangeEndElementBox;
}
/**
 * @private
 */
export  class EditRangeStartElementBox extends ElementBox {
    /**
     * @private
     */
    columnFirst: number;
    /**
     * @private
     */
    columnLast: number;
    /**
     * @private
     */
    user: string;
    /**
     * @private
     */
    group: string;
    /**
     * @private
     */
    editRangeEnd: EditRangeEndElementBox;
    editRangeId: number;
    /**
     * Edit range mark
     * @private
     */
    editRangeMark: HTMLElement;
    constructor();
    /**
     * @private
     */
    getLength(): number;
    /**
     * @private
     */
    renderLockMark(currentUser: string, locale: base.L10n): void;
    /**
     * @private
     */
    removeEditRangeMark(): void;
    /**
     * @private
     */
    destroy(): void;
    /**
     * @private
     */
    clone(): EditRangeStartElementBox;
}
/**
 * @private
 */
export  class ChartElementBox extends ImageElementBox {
    /**
     * @private
     */
    private div;
    /**
     * @private
     */
    private officeChartInternal;
    /**
     * @private
     */
    private chartTitle;
    /**
     * @private
     */
    private chartType;
    /**
     * @private
     */
    private gapWidth;
    /**
     * @private
     */
    private overlap;
    /**
     * @private
     */
    private chartElement;
    /**
     * @private
     */
    chartArea: ChartArea;
    /**
     * @private
     */
    chartPlotArea: ChartArea;
    /**
     * @private
     */
    chartCategory: ChartCategory[];
    /**
     * @private
     */
    chartSeries: ChartSeries[];
    /**
     * @private
     */
    chartTitleArea: ChartTitleArea;
    /**
     * @private
     */
    chartLegend: ChartLegend;
    /**
     * @private
     */
    chartPrimaryCategoryAxis: ChartCategoryAxis;
    /**
     * @private
     */
    chartPrimaryValueAxis: ChartCategoryAxis;
    /**
     * @private
     */
    chartDataTable: ChartDataTable;
    /**
     * @private
     */
    getLength(): number;
    /**
     * @private
     */
    /**
    * @private
    */
    title: string;
    /**
     * @private
     */
    /**
    * @private
    */
    type: string;
    /**
     * @private
     */
    /**
    * @private
    */
    chartGapWidth: number;
    /**
     * @private
     */
    /**
    * @private
    */
    chartOverlap: number;
    /**
     * @private
     */
    readonly targetElement: HTMLDivElement;
    /**
     * @private
     */
    /**
    * @private
    */
    officeChart: officeChart.ChartComponent;
    /**
     * @private
     */
    constructor();
    private onChartLoaded;
    /**
     * @private
     */
    clone(): ChartElementBox;
    /**
     * @private
     */
    destroy(): void;
}
/**
 * @private
 */
export  class ChartArea {
    /**
     * @private
     */
    private foreColor;
    /**
     * @private
     */
    /**
    * @private
    */
    chartForeColor: string;
    /**
     * @private
     */
    clone(): ChartArea;
    /**
     * @private
     */
    destroy(): void;
}
/**
 * @private
 */
export  class ChartCategory {
    /**
     * @private
     */
    private categoryXName;
    /**
     * @private
     */
    chartData: ChartData[];
    /**
     * @private
     */
    /**
    * @private
    */
    xName: string;
    /**
     * @private
     */
    clone(): ChartCategory;
    /**
     * @private
     */
    destroy(): void;
}
/**
 * @private
 */
export  class ChartData {
    private yValue;
    private xValue;
    private size;
    /**
     * @private
     */
    /**
    * @private
    */
    yAxisValue: number;
    /**
     * @private
     */
    /**
    * @private
    */
    xAxisValue: number;
    /**
     * @private
     */
    /**
    * @private
    */
    bubbleSize: number;
    /**
     * @private
     */
    clone(): ChartData;
    /**
     * @private
     */
    destroy(): void;
}
/**
 * @private
 */
export  class ChartLegend {
    /**
     * @private
     */
    private legendPostion;
    /**
     * @private
     */
    chartTitleArea: ChartTitleArea;
    /**
     * @private
     */
    /**
    * @private
    */
    chartLegendPostion: string;
    /**
     * @private
     */
    constructor();
    /**
     * @private
     */
    clone(): ChartLegend;
    /**
     * @private
     */
    destroy(): void;
}
/**
 * @private
 */
export  class ChartSeries {
    /**
     * @private
     */
    chartDataFormat: ChartDataFormat[];
    /**
     * @private
     */
    errorBar: ChartErrorBar;
    /**
     * @private
     */
    seriesFormat: ChartSeriesFormat;
    /**
     * @private
     */
    trendLines: ChartTrendLines[];
    /**
     * @private
     */
    private name;
    /**
     * @private
     */
    private sliceAngle;
    /**
     * @private
     */
    private holeSize;
    /**
     * @private
     */
    dataLabels: ChartDataLabels;
    /**
     * @private
     */
    /**
    * @private
    */
    seriesName: string;
    /**
     * @private
     */
    /**
    * @private
    */
    firstSliceAngle: number;
    /**
     * @private
     */
    /**
    * @private
    */
    doughnutHoleSize: number;
    constructor();
    /**
     * @private
     */
    clone(): ChartSeries;
    /**
     * @private
     */
    destroy(): void;
}
/**
 * @private
 */
export  class ChartErrorBar {
    /**
     * @private
     */
    private type;
    /**
     * @private
     */
    private direction;
    /**
     * @private
     */
    private errorValue;
    /**
     * @private
     */
    private endStyle;
    /**
     * @private
     */
    /**
    * @private
    */
    errorType: string;
    /**
     * @private
     */
    /**
    * @private
    */
    errorDirection: string;
    /**
     * @private
     */
    /**
    * @private
    */
    errorEndStyle: string;
    /**
    * @private
    */
    numberValue: number;
    /**
     * @private
     */
    clone(): ChartErrorBar;
    /**
     * @private
     */
    destroy(): void;
}
/**
 * @private
 */
export  class ChartSeriesFormat {
    /**
     * @private
     */
    private style;
    /**
     * @private
     */
    private color;
    /**
     * @private
     */
    private size;
    /**
     * @private
     */
    /**
    * @private
    */
    markerStyle: string;
    /**
     * @private
     */
    /**
    * @private
    */
    markerColor: string;
    /**
     * @private
     */
    /**
    * @private
    */
    numberValue: number;
    /**
     * @private
     */
    clone(): ChartSeriesFormat;
    /**
     * @private
     */
    destroy(): void;
}
/**
 * @private
 */
export  class ChartDataLabels {
    /**
     * @private
     */
    private position;
    /**
     * @private
     */
    private name;
    /**
     * @private
     */
    private color;
    /**
     * @private
     */
    private size;
    /**
     * @private
     */
    private isLegend;
    /**
     * @private
     */
    private isBubble;
    /**
     * @private
     */
    private isCategory;
    /**
     * @private
     */
    private isSeries;
    /**
     * @private
     */
    private isValueEnabled;
    /**
     * @private
     */
    private isPercentageEnabled;
    /**
     * @private
     */
    private showLeaderLines;
    /**
     * @private
     */
    /**
    * @private
    */
    labelPosition: string;
    /**
     * @private
     */
    /**
    * @private
    */
    fontName: string;
    /**
     * @private
     */
    /**
    * @private
    */
    fontColor: string;
    /**
     * @private
     */
    /**
    * @private
    */
    fontSize: number;
    /**
     * @private
     */
    /**
    * @private
    */
    isLegendKey: boolean;
    /**
     * @private
     */
    /**
    * @private
    */
    isBubbleSize: boolean;
    /**
     * @private
     */
    /**
    * @private
    */
    isCategoryName: boolean;
    /**
     * @private
     */
    /**
    * @private
    */
    isSeriesName: boolean;
    /**
     * @private
     */
    /**
    * @private
    */
    isValue: boolean;
    /**
     * @private
     */
    /**
    * @private
    */
    isPercentage: boolean;
    /**
     * @private
     */
    /**
    * @private
    */
    isLeaderLines: boolean;
    /**
     * @private
     */
    clone(): ChartDataLabels;
    /**
     * @private
     */
    destroy(): void;
}
/**
 * @private
 */
export  class ChartTrendLines {
    /**
     * @private
     */
    private type;
    /**
     * @private
     */
    private name;
    /**
     * @private
     */
    private backward;
    /**
     * @private
     */
    private forward;
    /**
     * @private
     */
    private intercept;
    /**
     * @private
     */
    private displayRSquared;
    /**
     * @private
     */
    private displayEquation;
    /**
     * @private
     */
    /**
    * @private
    */
    trendLineType: string;
    /**
     * @private
     */
    /**
    * @private
    */
    trendLineName: string;
    /**
     * @private
     */
    /**
    * @private
    */
    interceptValue: number;
    /**
     * @private
     */
    /**
    * @private
    */
    forwardValue: number;
    /**
     * @private
     */
    /**
    * @private
    */
    backwardValue: number;
    /**
     * @private
     */
    /**
    * @private
    */
    isDisplayRSquared: boolean;
    /**
     * @private
     */
    /**
    * @private
    */
    isDisplayEquation: boolean;
    /**
     * @private
     */
    clone(): ChartTrendLines;
    /**
     * @private
     */
    destroy(): void;
}
/**
 * @private
 */
export  class ChartTitleArea {
    /**
     * @private
     */
    private fontName;
    /**
     * @private
     */
    private fontSize;
    /**
     * @private
     */
    dataFormat: ChartDataFormat;
    /**
     * @private
     */
    layout: ChartLayout;
    /**
     * @private
     */
    /**
    * @private
    */
    chartfontName: string;
    /**
     * @private
     */
    /**
    * @private
    */
    chartFontSize: number;
    /**
     * @private
     */
    constructor();
    /**
     * @private
     */
    clone(): ChartTitleArea;
    /**
     * @private
     */
    destroy(): void;
}
/**
 * @private
 */
export  class ChartDataFormat {
    /**
     * @private
     */
    line: ChartFill;
    /**
     * @private
     */
    fill: ChartFill;
    /**
     * @private
     */
    id: number;
    /**
     * @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 isAutoMajor;
    /**
     * @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
    */
    isAutoInternal: boolean;
    /**
     * @private
     */
    /**
    * @private
    */
    max: number;
    /**
     * @private
     */
    /**
    * @private
    */
    min: number;
    /**
     * @private
     */
    /**
    * @private
    */
    categoryAxisTitle: string;
    /**
     * @private
     */
    /**
    * @private
    */
    categoryAxisType: string;
    /**
     * @private
     */
    /**
    * @private
    */
    categoryNumberFormat: string;
    /**
     * @private
     */
    /**
    * @private
    */
    axisFontSize: number;
    /**
     * @private
     */
    /**
    * @private
    */
    axisFontName: string;
    constructor();
    /**
     * @private
     */
    clone(): ChartCategoryAxis;
    /**
     * @private
     */
    destroy(): void;
}
/**
 * @private
 */
export  class ChartDataTable {
    /**
     * @private
     */
    private isSeriesKeys;
    /**
     * @private
     */
    private isHorzBorder;
    /**
     * @private
     */
    private isVertBorder;
    /**
     * @private
     */
    private isBorders;
    /**
     * @private
     */
    /**
    * @private
    */
    showSeriesKeys: boolean;
    /**
     * @private
     */
    /**
    * @private
    */
    hasHorzBorder: boolean;
    /**
     * @private
     */
    /**
    * @private
    */
    hasVertBorder: boolean;
    /**
     * @private
     */
    /**
    * @private
    */
    hasBorders: boolean;
    /**
     * @private
     */
    clone(): ChartDataTable;
    /**
     * @private
     */
    destroy(): void;
}
/**
 * @private
 */
export  class CommentCharacterElementBox extends ElementBox {
    commentType: number;
    commentId: string;
    private commentInternal;
    commentMark: HTMLElement;
    comment: CommentElementBox;
    getLength(): number;
    clone(): ElementBox;
    constructor(type: number);
    renderCommentMark(topPosition?: string, leftPosition?: string): void;
    private elementsOverlap;
    selectComment(): void;
    removeCommentMark(): void;
    destroy(): void;
}
/**
 * @private
 */
export  class CommentElementBox extends CommentCharacterElementBox {
    private commentStartIn;
    private commentEndIn;
    /**
     *
     * @private
     */
    createdDate: string;
    private authorIn;
    private initialIn;
    private done;
    private posted;
    private textIn;
    replyComments: CommentElementBox[];
    isReply: boolean;
    ownerComment: CommentElementBox;
    private mentionsIn;
    commentStart: CommentCharacterElementBox;
    commentEnd: CommentCharacterElementBox;
    author: string;
    initial: string;
    isResolved: boolean;
    readonly date: string;
    text: string;
    mentions: dropdowns.FieldSettingsModel[];
    isPosted: boolean;
    constructor(date: string);
    getLength(): number;
    clone(): ElementBox;
    destroy(): void;
}
/**
 * @private
 */
export  class Page {
    /**
     * Specifies the Viewer
     * @private
     */
    documentHelper: DocumentHelper;
    /**
     * Specifies the Bonding Rectangle
     * @private
     */
    boundingRectangle: Rect;
    /**
     * @private
     */
    repeatHeaderRowTableWidget: boolean;
    /**
     * Specifies the bodyWidgets
     * @default []
     * @private
     */
    bodyWidgets: BodyWidget[];
    /**
     * @private
     */
    headerWidgetIn: HeaderFooterWidget;
    /**
     * @private
     */
    footerWidgetIn: HeaderFooterWidget;
    /**
     * @private
     */
    footnoteWidget: FootNoteWidget;
    /**
     * @private
     */
    endnoteWidget: FootNoteWidget;
    /**
     * @private
     */
    currentPageNum: number;
    /**
     * @private
     */
    allowNextPageRendering: boolean;
    /**
     * @private
     */
    /**
    * @private
    */
    headerWidget: HeaderFooterWidget;
    /**
     * @private
     */
    /**
    * @private
    */
    footerWidget: HeaderFooterWidget;
    /**
     * @private
     */
    readonly index: number;
    /**
     * @private
     */
    readonly previousPage: Page;
    /**
     * @private
     */
    readonly nextPage: Page;
    /**
     * @private
     */
    readonly sectionIndex: number;
    /**
     * Initialize the constructor of Page
     */
    constructor(documentHelper: DocumentHelper);
    readonly viewer: LayoutViewer;
    destroy(): void;
    /**
     * Disposes the internal objects which are maintained.
     * @private
     */
    componentDestroy(): void;
}
/**
 * @private
 */
export  class WTableHolder {
    private tableColumns;
    /**
     * @private
     */
    tableWidth: number;
    readonly columns: WColumn[];
    /**
     * @private
     */
    resetColumns(): void;
    /**
     * @private
     */
    getPreviousSpannedCellWidth(previousColumnIndex: number, curColumnIndex: number): number;
    /**
     * @private
     */
    addColumns(currentColumnIndex: number, columnSpan: number, width: number, sizeInfo: ColumnSizeInfo, offset: number, preferredWidthType: WidthType): void;
    /**
     * @private
     */
    getTotalWidth(type: number): number;
    /**
     * @private
     */
    isFitColumns(containerWidth: number, preferredTableWidth: number, isAutoWidth: boolean): boolean;
    /**
     * @private
     */
    isAllColumnHasPointWidthType(): boolean;
    /**
     * @private
     */
    autoFitColumn(containerWidth: number, preferredTableWidth: number, isAuto: boolean, isNestedTable: boolean, isAutoFit: boolean, hasSpannedCells: boolean, indent?: number, pageContainerWidth?: number, tablePreferredWidthType?: WidthType): void;
    /**
     * @private
     */
    getValidColumnIndex(index: number): number;
    /**
     * @private
     */
    fitColumns(containerWidth: number, preferredTableWidth: number, isAutoWidth: boolean, isAutoFit: boolean, indent?: number): void;
    /**
     * @private
     */
    getCellWidth(columnIndex: number, columnSpan: number, preferredTableWidth: number): number;
    /**
     * @private
     */
    validateColumnWidths(): void;
    private getPreviousValidOffset;
    /**
     * @private
     */
    clone(): WTableHolder;
    /**
     * @private
     */
    destroy(): void;
}
/**
 * @private
 */
export  class WColumn {
    /**
     * @private
     */
    preferredWidth: number;
    /**
     * @private
     */
    minWidth: number;
    /**
     * @private
     */
    maxWidth: number;
    /**
     * @private
     */
    endOffset: number;
    /**
     * @private
     */
    minimumWordWidth: number;
    /**
     * @private
     */
    maximumWordWidth: number;
    /**
     * @private
     */
    minimumWidth: number;
    /**
     * @private
     */
    widthType: WidthType;
    /**
     * @private
     */
    clone(): WColumn;
    /**
     * @private
     */
    destroy(): void;
}
/**
 * @private
 */
export  class ColumnSizeInfo {
    /**
     * @private
     */
    minimumWordWidth: number;
    /**
     * @private
     */
    maximumWordWidth: number;
    /**
     * @private
     */
    minimumWidth: number;
    /**
     * @private
     */
    hasMinimumWidth: boolean;
    /**
     * @private
     */
    hasMinimumWordWidth: boolean;
    /**
     * @private
     */
    hasMaximumWordWidth: boolean;
}
/**
 * @private
 */
export  class CommentEditInfo {
    /**
     * @private
     */
    commentId: string;
    /**
     * @private
     */
    text: string;
}
/**
 * @private
 */
export  class MentionDataEditInfo {
    /**
     * @private
     */
    text: string;
    /**
     * @private
     */
    value: string;
}
/**
 * @private
 */
export  class BreakElementBox extends TextElementBox {
    /**
     * @private
     */
    breakClearType: BreakClearType;
    constructor();
    /**
     * @private
     */
    clone(): BreakElementBox;
    destroy(): void;
    componentDestroy(): void;
}
/**
 * @private
 */
export  class TabStopListInfo {
    /**
     * @private
     */
    displayText: string;
    /**
     * @private
     */
    value: WTabStop;
}
/**
 * @private
 */
export  class FootnoteEndnoteMarkerElementBox extends TextElementBox {
    /**
     * @private
     */
    getLength(): number;
    /**
     * @private
     */
    clone(): FootnoteEndnoteMarkerElementBox;
}
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/implementation/viewer/layout.d.ts
/**
 * @private
 */
export  class Layout {
    private documentHelper;
    private value;
    private previousPara;
    /**
     * @private
     */
    islayoutFootnote: boolean;
    /**
     * @private
     */
    isMultiColumnDoc: boolean;
    /**
     * @private
     */
    allowLayout: boolean;
    /**
     * @private
     */
    isReplaceAll: boolean;
    /**
     * @private
     */
    isTextFormat: boolean;
    /**
    * @private
    */
    isSectionBreakCont: boolean;
    /**
     * @private
     */
    isReplacingAll: boolean;
    /**
     * @private
     */
    footHeight: number;
    /**
     * @private
     */
    existFootnoteHeight: number;
    /**
     * @private
     */
    isfootMove: boolean;
    /**
     * @private
     */
    footnoteHeight: number;
    /**
     * @private
     */
    isTableFootNote: boolean;
    /**
     * @private
     */
    isRelayout: boolean;
    /**
     * @private
     */
    isRelayoutneed: boolean;
    /**
     * @private
     */
    isOverlapFloatTable: boolean;
    isInitialLoad: boolean;
    /**
      * @private
      */
    isInsertFormField: boolean;
    private fieldBegin;
    private maxTextHeight;
    private maxBaseline;
    private maxTextBaseline;
    private isFieldCode;
    private isRtlFieldCode;
    private isRTLLayout;
    private isSkipFirstLineIndent;
    currentCell: TableCellWidget;
    isFootnoteContentChanged: boolean;
    isEndnoteContentChanged: boolean;
    private keepWithNext;
    private is2013Justification;
    private nextElementToLayout;
    private endNoteHeight;
    private isMultiColumnSplit;
    private isMultiColumnLayout;
    private skipUpdateContainerWidget;
    private isIFfield;
    /**
     * @private
     */
    startat: number;
    isLayoutWhole: boolean;
    /**
     * @private
     */
    isBidiReLayout: boolean;
    /**
     * @private
     */
    defaultTabWidthPixel: number;
    /**
     * @private
     */
    isRelayoutFootnote: boolean;
    private isRelayoutOverlap;
    private skipRelayoutOverlap;
    private startOverlapWidget;
    private endOverlapWidget;
    private isWrapText;
    private isYPositionUpdated;
    private isXPositionUpdated;
    private hasFloatingElement;
    private isFootNoteLayoutStart;
    wrapPosition: WrapPosition[];
    private shiftedFloatingItemsFromTable;
    isDocumentContainsRtl: boolean;
    /**
     * @private
     */
    isPastingContent: boolean;
    private layoutedFootnoteElement;
    /**
     * @private
     */
    isAllColumnHasAutoWidthType: boolean;
    private isSameStyle;
    private updateFirstParagraphSpacingBasedOnContextualSpacing;
    private updateLastParagraphSpacingBasedOnContextualSpacing;
    private checkOwnerTablePrevItem;
    constructor(documentHelper: DocumentHelper);
    private readonly viewer;
    layout(): void;
    /**
     * Releases un-managed and - optionally - managed resources.
     *
     * @returns {void}
     */
    destroy(): void;
    /**
     * @private
     * @returns {void}
     */
    layoutWholeDocument(isLayoutChanged?: boolean, skipClearContent?: boolean): void;
    layoutItems(sections: BodyWidget[], isReLayout: boolean, isContinuousSection?: boolean): void;
    /**
     * @private
     */
    layoutComments(comments: CommentElementBox[]): void;
    private layoutSection;
    /**
     * @private
     *
     */
    reLayoutMultiColumn(section: BodyWidget, isFirstBlock: boolean, blockIndex: number): void;
    private combineMultiColumnForRelayout;
    private reLayoutMultiColumnBlock;
    private splitBodyWidgetBasedOnColumn;
    /**
   * @private
   */
    getColumnBreak(section: BodyWidget): boolean;
    private layoutMultiColumnBody;
    getNextWidgetHeight(body: BodyWidget): number;
    private getHeight;
    private getBookmarkMargin;
    private getCountOrLine;
    private getCountOrLineTable;
    /**
       * @private
       */
    combineMultiColumn(section: BodyWidget): void;
    private updateCellHeightInCombinedTable;
    layoutHeaderFooter(section: BodyWidget, viewer: PageLayoutViewer, page: Page): void;
    private shiftItemsForVerticalAlignment;
    updateHeaderFooterToParent(node: HeaderFooterWidget): HeaderFooterWidget;
    private updateRevisionsToHeaderFooter;
    private updateRevisionRange;
    private linkFieldInHeaderFooter;
    /**
     * @private
     */
    linkFieldInParagraph(widget: ParagraphWidget): void;
    /**
     * @private
     */
    getCommentById(commentsCollection: CommentElementBox[], commentId: string): CommentElementBox;
    linkFieldInTable(widget: TableWidget): void;
    layoutHeaderFooterItems(viewer: LayoutViewer, widget: HeaderFooterWidget): HeaderFooterWidget;
    private shiftChildLocation;
    private shiftChildLocationForTableWidget;
    private shiftChildLocationForTableRowWidget;
    private shiftChildLocationForTableCellWidget;
    private layoutBlock;
    private updateTableYPositionBasedonTextWrap;
    private shiftWrapStyle;
    private checkAndRelayoutPreviousOverlappingBlock;
    private getLineHeigth;
    private addParagraphWidget;
    private updateXPositionForEmptyParagraph;
    private addLineWidget;
    isFirstElementWithPageBreak(paragraphWidget: ParagraphWidget): boolean;
    /**
     * Layouts specified paragraph.
     *
     * @private
     * @param footnote
     */
    layoutfootNote(footnote: FootNoteWidget): BlockContainer;
    private getFootNoteBodyHeight;
    private splitFootNoteWidgetBasedOnColumn;
    private updateColumnIndex;
    private shiftChildWidgetInFootnote;
    /**
       * @private
       */
    getBodyWidgetHeight(bodyWidget: BodyWidget): number;
    private checkBlockHasField;
    private checkTableHasField;
    private layoutParagraph;
    private checkIsFieldParagraph;
    private clearLineMeasures;
    private layoutFloatElements;
    private layoutShape;
    private moveElementFromNextLine;
    private layoutLine;
    private layoutElement;
    /**
    * @private
    */
    adjustPosition(element: ElementBox, bodyWidget: BlockContainer, isEmptyPara?: boolean): void;
    private getFirstElement;
    private updateWrapPosition;
    private isFirstitemInPage;
    private isTextFitBelow;
    private isNeedToWrapForTopAndBottom;
    private isNeedToWrapForSquareTightAndThrough;
    private isNeedToWrapForSquareTightAndThroughForTable;
    private isNeedToWrapLeafWidget;
    private getMinWidth;
    private getNextTextRangeWidth;
    private isLeafWidgetNextSiblingIsTextRange;
    private isNextSibligSizeNeedToBeMeasure;
    private isNeedDoIntermediateWrapping;
    private isFloatingItemOnLeft;
    private getNextSibling;
    private adjustClientAreaBasedOnTextWrap;
    private adjustClientAreaBasedOnTextWrapForTable;
    private getNestedTable;
    private startAt;
    private layoutFootEndNoteElement;
    private layoutEndNoteElement;
    hasValidElement(paragraph: ParagraphWidget): boolean;
    /**
     * @private
     */
    isConsiderAsEmptyLineWidget(lineWidget: LineWidget): boolean;
    private updateFieldText;
    private checkLineWidgetWithClientArea;
    private checkAndSplitTabOrLineBreakCharacter;
    private moveFromNextPage;
    private cutClientWidth;
    private layoutFieldCharacters;
    private checkAndUpdateFieldData;
    /**
     * Set the checkbox font size
     * @returns {void}
     */
    setCheckBoxFontSize(formFieldData: CheckBoxFormField, format: WCharacterFormat): void;
    private layoutEmptyLineWidget;
    private layoutSectionBreakParagraph;
    private getLineYPosition;
    private getLineXPosition;
    private getLineWidth;
    private isUpdateMarginForCurrentLine;
    private adjustPositionBasedOnTopAndBottom;
    private layoutListItems;
    private layoutList;
    private addBodyWidget;
    /**
     * @private
     */
    addListLevels(abstractList: WAbstractList): void;
    private addSplittedLineWidget;
    private addElementToLine;
    private splitElementForClientArea;
    private splitByWord;
    private spitTextElementByWhitespace;
    private splitErrorCollection;
    private splitByCharacter;
    private updateRevisionForSplittedElement;
    private splitTextElementWordByWord;
    private isSplitByHyphen;
    private splitTextForClientArea;
    private splitByLineBreakOrTab;
    private moveToNextLine;
    private checkPrevElementTextWrappingStyle;
    private updateShapeYPosition;
    getBodyWidget(section: BodyWidget, isFirstBody: boolean): BodyWidget;
    private splitParagraphForMultiColumn;
    private checkInbetweenShapeOverlap;
    private getLineY;
    private updateLineWidget;
    /**
     * @private
     */
    reLayoutEndnote(): void;
    private moveEndnoteToNextPage;
    private moveToNextPage;
    private isImagePresent;
    private updateShapeBaseLocation;
    private moveChildsToParagraph;
    /**
     * @param {ParagraphWidget} paragarph - the paragraph
     * @param {BodyWidget} body - the bodyWidget
     * @param {boolean} add - to specify add or remove floating elements from body widget.
     */
    private addRemoveFloatElementsFromBody;
    /**
     * Align block based on keep with next and keep lines together property.
     */
    private alignBlockElement;
    private getPreviousBlock;
    private splitRow;
    private splitParagraph;
    private updateClientPositionForBlock;
    private updateClientAreaForNextBlock;
    private layoutStartEndBlocks;
    private alignLineElements;
    private updateWidgetToPage;
    private shiftFooterChildLocation;
    private shiftFootnoteChildLocation;
    private checkPreviousElement;
    clearListElementBox(paragraph: ParagraphWidget): void;
    /**
 * @private
 */
    clearInvalidList(list: WList): void;
    getListNumber(listFormat: WListFormat, isAutoList?: boolean): string;
    private ClearSubListLevelValues;
    getListStartValue(listLevelNumber: number, list: WList): number;
    private updateListValues;
    private getListText;
    getAsLetter(number: number): string;
    getListTextListLevel(listLevel: WListLevel, listValue: number, customPattern?: ListLevelPattern): string;
    getFootEndNote(numberFormat: FootEndNoteNumberFormat, value: number): string;
    private generateNumber;
    private getAsLeadingZero;
    getAsRoman(number: number): string;
    private getOrdinalText;
    private numberToWords;
    private getOrdinalTextInSpanish;
    private numberToSpanishWords;
    private getAsOrdinal;
    private getOrdinalInEnglish;
    private getOrdinalInSwedish;
    private getOrdinalInCatalan;
    private getOrdinalInDanish;
    getListLevel(list: WList, listLevelNumber: number): WListLevel;
    private getOverrideListLevel;
    private getTabWidth;
    private getJustificationTabWidth;
    private getRightTabWidth;
    private getSplitIndexByWord;
    private getTextSplitIndexByCharacter;
    private getSubWidth;
    private getSubWidthBasedOnTextWrap;
    private isWordFittedByJustification;
    /**
     * Returns the total space width in line widget.
     * @param {LineWidget} lineWidget - the line widget
     * @param {number} count - the space count to be considered.
     * @returns {number} the total space width.
     */
    private getTotalSpaceWidth;
    private getSubWidthInfo;
    getBeforeSpacing(paragraph: ParagraphWidget, pageIndex?: number): number;
    getAfterSpacing(paragraph: ParagraphWidget): number;
    getLineSpacing(paragraph: ParagraphWidget, maxHeight: number, alterLineSpacing?: boolean): number;
    private isParagraphFirstLine;
    private isParagraphLastLine;
    private getTextIndexAfterSpace;
    moveNextWidgetsToTable(tableWidget: TableWidget[], currentRow: TableRowWidget, moveFromNext: boolean): void;
    private addTableCellWidget;
    private checkPreviousMargins;
    private addWidgetToTable;
    private layoutFootnoteInSplittedRow;
    private getFootNoteHeight;
    private getFootnoteHeightInternal;
    updateRowHeightBySpannedCell(tableWidget: TableWidget, row: TableRowWidget, insertIndex: number): void;
    private updateRowHeight;
    private updateSpannedRowCollection;
    private updateRowHeightByCellSpacing;
    private isRowSpanEnd;
    isVerticalMergedCellContinue(row: TableRowWidget): boolean;
    private splitWidgets;
    private getSplittedWidgetForRow;
    private combineSplittedRowWidgets;
    private getSplittedWidgetForSpannedRow;
    private getFootNoteHeightInLine;
    private getFootnoteFromLine;
    updateWidgetsToTable(tableWidgets: TableWidget[], rowWidgets: TableRowWidget[], row: TableRowWidget, rearrangeRow: boolean, lineIndexInCell?: number, cellIndex?: number, isMultiColumnSplit?: boolean): void;
    private updateHeader;
    getHeader(table: TableWidget): TableRowWidget;
    private getHeaderHeight;
    private getHeaderHeightForSpannedRow;
    private updateWidgetToRow;
    private updateHeightForRowWidget;
    private updateHeightForCellWidget;
    getRowHeight(row: TableRowWidget, rowCollection: TableRowWidget[]): number;
    private splitSpannedCellWidget;
    private insertSplittedCellWidgets;
    private insertRowSpannedWidget;
    private insertEmptySplittedCellWidget;
    private isColumnExistsInCurrentRow;
    private getSplittedWidget;
    private getNextFootNoteHeight;
    private getFootHeightFromTable;
    private getFootHeightFromPara;
    private updateFootHeight;
    private updateFootHeightForTable;
    getListLevelPattern(value: number): ListLevelPattern;
    private createCellWidget;
    private createTableWidget;
    private getSplittedWidgetForPara;
    getSplittedWidgetForTable(bottom: number, tableCollection: TableWidget[], tableWidget: TableWidget, footNoteCollection: FootnoteElementBox[], lineIndexInCell?: number, isMultiColumnSplit?: boolean, count?: number): TableWidget;
    private isFirstLineFitForPara;
    isFirstLineFitForTable(bottom: number, tableWidget: TableWidget): boolean;
    private isFirstLineFitForRow;
    private isFirstLineFitForCell;
    private updateWidgetLocation;
    updateChildLocationForTable(top: number, tableWidget: TableWidget, bodyWidget?: BodyWidget, updatePosition?: boolean): void;
    updateChildLocationForRow(top: number, rowWidget: TableRowWidget, bodyWidget?: BodyWidget, updatePosition?: boolean): void;
    private updateChildLocationForCellOrShape;
    updateCellVerticalPosition(cellWidget: TableCellWidget, isUpdateToTop: boolean, isInsideTable: boolean): void;
    private updateCellContentVerticalPosition;
    private updateShapeInsideCell;
    private updateTableWidgetLocation;
    private getDisplacement;
    private getCellContentHeight;
    private getFloatingItemsHeight;
    private considerPositionTableHeight;
    getTableLeftBorder(borders: WBorders): WBorder;
    getTableRightBorder(borders: WBorders): WBorder;
    getTableTopBorder(borders: WBorders): WBorder;
    getTableBottomBorder(borders: WBorders): WBorder;
    getCellDiagonalUpBorder(tableCell: TableCellWidget): WBorder;
    getCellDiagonalDownBorder(tableCell: TableCellWidget): WBorder;
    getTableWidth(table: TableWidget): number;
    layoutNextItemsBlock(blockAdv: BlockWidget, viewer: LayoutViewer, isFootnoteReLayout?: boolean, isNextBlockToShift?: boolean): void;
    /**
     * Update the client area for the line widget.
     *
     * @param {LineWidget} startLineWidget LineWidget instance.
     * @private
     */
    updateClientAreaForLine(startLineWidget: LineWidget): void;
    /**
     * @private
     */
    isAuto(table: TableWidget): boolean;
    getParentTable(block: BlockWidget): TableWidget;
    reLayoutParagraph(paragraphWidget: ParagraphWidget, lineIndex: number, elementBoxIndex: number, isBidi?: boolean, isSkip?: boolean): void;
    private getParentRow;
    /**
     * @private
     */
    getParentCell(block: BlockWidget): TableCellWidget;
    private reLayoutRow;
    reLayoutTable(block: BlockWidget, isFootnoteReLayout?: boolean): void;
    private getYPosition;
    private clearFootnoteReference;
    /**
     * @private
     */
    clearTableWidget(table: TableWidget, clearPosition: boolean, clearHeight: boolean, clearGrid?: boolean, updateClientHeight?: boolean, skipToClearPara?: boolean): void;
    /**
     * @private
     */
    clearRowWidget(row: TableRowWidget, clearPosition: boolean, clearHeight: boolean, clearGrid: boolean, skipToClearPara?: boolean): void;
    /**
     * @private
     */
    clearCellWidget(cell: TableCellWidget, clearPosition: boolean, clearHeight: boolean, clearGrid: boolean, skipToClearPara?: boolean): void;
    /**
     * @private
     */
    clearBlockWidget(blocks: IWidget[], clearPosition: boolean, clearHeight: boolean, clearGrid: boolean, skipToClearPara?: boolean): void;
    layoutBodyWidgetCollection(blockIndex: number, bodyWidget: Widget, block: BlockWidget, shiftNextWidget: boolean, isSkipShifting?: boolean, isSelectionInsideTable?: boolean): void;
    /**
     * @private
     */
    checkAndGetBlock(containerWidget: Widget, blockIndex: number): BlockWidget;
    layoutTable(table: TableWidget, startIndex: number): BlockWidget;
    private updateFootnoteHeight;
    private updateClientAreaForWrapTable;
    addTableWidget(area: Rect, table: TableWidget[], create?: boolean): TableWidget;
    updateWidgetsToPage(tables: TableWidget[], rows: TableRowWidget[], table: TableWidget, rearrangeRow: boolean, endRowWidget?: TableRowWidget): void;
    updateHeightForTableWidget(tables: TableWidget[], rows: TableRowWidget[], tableWidget: TableWidget, endRowWidget?: TableRowWidget): void;
    layoutRow(tableWidget: TableWidget[], row: TableRowWidget, isRowLayout?: boolean): TableRowWidget;
    private updateExistingFootnoteHeight;
    private isIntersecting;
    private getAdjacentRowCell;
    private addTableRowWidget;
    private getMaxTopCellMargin;
    private getMaxBottomCellMargin;
    private layoutCell;
    private isInsertTable;
    private updateTopBorders;
    shiftLayoutedItems(reLayout: boolean, isMultiColumnShift?: boolean): void;
    private isSectionEndsWithColumnBreak;
    /**
     * @private
     */
    checkAndShiftEndnote(isRelayout?: boolean): void;
    updateFieldElements(reLayout?: boolean): void;
    private reLayoutOrShiftWidgets;
    private isNeedToRelayout;
    private shiftWidgetsBlock;
    private shiftWidgetsForPara;
    private shiftBodyWidget;
    private updateFloatingElementPosition;
    private isPageBreakInsideField;
    private isPageBreakInsideContentControl;
    /**
     * @private
     * Get the footnote of the block widget.
     *
     * @param {BlockWidget} widget BlockWidget instance.
     * @returns
     */
    getFootNotesOfBlock(widget: BlockWidget, footnoteElements?: FootnoteElementBox[]): FootnoteElementBox[];
    private getFootNotesWidgetsInLine;
    private getFootNoteWidgetsBy;
    /**
     * @param widget
     * @private
     */
    getFootNoteWidgetsOf(widget: BlockWidget, isShifting?: boolean): BodyWidget[];
    getFootNodeWidgetsToShiftToPage(paragraph: ParagraphWidget): FootNoteWidgetsInfo;
    shiftTableWidget(table: TableWidget, viewer: LayoutViewer, isClearHeight?: boolean): TableWidget;
    shiftRowWidget(tables: TableWidget[], row: TableRowWidget, isClearHeight?: boolean): TableRowWidget;
    private updateFootnoteToBody;
    private getFootnoteBody;
    shiftCellWidget(cell: TableCellWidget, maxCellMarginTop: number, maxCellMarginBottom: number, isClearHeight: boolean): void;
    shiftParagraphWidget(paragraph: ParagraphWidget, skipCellContentHeightCalc?: boolean): void;
    private updateContainerForTable;
    private shiftWidgetsForTable;
    private updateVerticalPositionToTop;
    private splitWidget;
    private getMaximumLineHeightToSplit;
    /**
     * @private
     * @param footnoteWidgets
     * @param fromBodyWidget
     * @param toBodyWidget
     */
    moveFootNotesToPage(footnoteWidgets: BodyWidget[], fromBodyWidget: BodyWidget, toBodyWidget: BodyWidget): void;
    private addEmptyFootNoteToBody;
    private getMaxElementHeight;
    private createOrGetNextBodyWidget;
    private isFitInClientArea;
    private isLineInFootNote;
    private shiftToPreviousWidget;
    private updateParagraphWidgetInternal;
    private shiftFloatingElements;
    private shiftNextWidgets;
    updateContainerWidget(widget: Widget, bodyWidget: BodyWidget, index: number, destroyAndScroll: boolean, footWidget?: BodyWidget[]): void;
    private getBodyWidgetOfPreviousBlock;
    moveBlocksToNextPage(block: BlockWidget, moveFootnoteFromLastBlock?: boolean, childStartIndex?: number, sectionBreakContinuous?: boolean, isEndnote?: boolean, isTableSplit?: boolean): BodyWidget;
    private createSplitBody;
    private createOrGetNextColumnBody;
    private moveToNextColumnByBodyWidget;
    reLayoutLine(paragraph: ParagraphWidget, lineIndex: number, isBidi: boolean, isSkip?: boolean, isSkipList?: boolean): void;
    isContainsRtl(lineWidget: LineWidget): boolean;
    private shiftElementsForRTLLayouting;
    private isNumberNonReversingCharacter;
    private isNumberReverseLangForSlash;
    private isNumberReverseLangForOthers;
    private isStartMarker;
    private isEndMarker;
    private getNextValidWidget;
    private hasTextRangeBidi;
    private isContainsRTLText;
    private updateCharacterRange;
    private reorderElements;
    private isInsertWordSplitToLeft;
    private shiftLayoutFloatingItems;
    private getFloatingItemPoints;
    private getLeftMarginHorizPosition;
    private getRightMarginHorizPosition;
    private getVerticalPosition;
    private getHorizontalPosition;
    private updateTableFloatPoints;
    isTocField(element: FieldElementBox): boolean;
    private getTotalColumnSpan;
    private getMaximumRightCellBorderWidth;
    private getDefaultBorderSpacingValue;
    private getMinimumWidthRequiredForTable;
    private shiftFloatingItemsFromTable;
}
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/implementation/viewer/document-canvas.d.ts
/**
 * @private
 */
export  class DocumentCanvasElement {
    /** Gets or sets the height of a canvas element on a document. */
    height: number;
    /** Gets or sets the width of a canvas element on a document. */
    width: number;
    style: CSSStyleDeclaration;
    private context;
    constructor();
    /**
     * @param {string} contextId - Specifies the type of context to create, 2d or webgl.
     * @param {CanvasRenderingContext2DSettings} options - Specifies the type of context to create, 2d or webgl.
     * @private
     * @returns {CanvasRenderingContext2D} - Returns the canvas rendering context 2D.
     */
    getContext(contextId: '2d', options?: CanvasRenderingContext2DSettings): DocumentCanvasRenderingContext2D;
    /**
     * @param {string} type - Specifies the type of image to return.
     * @param {any} quality - A Number between 0 and 1 indicating the image quality to use for image formats that use lossy compression.
     * @private
     * @returns {string} - Returns the data URL containing a representation of the image in the format specified by the type parameter.
     */
    toDataURL(type?: string, quality?: any): string;
}
/**
 * @private
 */
export  class DocumentCanvasRenderingContext2D {
    renderedPath: string;
    globalAlpha: number;
    globalCompositeOperation: any;
    fillStyle: string;
    strokeStyle: string;
    direction: CanvasDirection;
    font: string;
    textAlign: CanvasTextAlign;
    textBaseline: CanvasTextBaseline;
    lineWidth: number;
    lineCap: number;
    drawImage(image: CanvasImageSource, sx: number, sy: number, sw: number, sh: number, dx?: number, dy?: number, dw?: number, dh?: number): void;
    beginPath(): void;
    clip(fillRule?: CanvasFillRule): void;
    fill(fillRule?: CanvasFillRule): void;
    stroke(): void;
    closePath(): void;
    lineTo(x: number, y: number): void;
    moveTo(x: number, y: number): void;
    rect(x: number, y: number, w: number, h: number): void;
    setLineDash(segments: number[]): void;
    clearRect(x: number, y: number, w: number, h: number): void;
    fillRect(x: number, y: number, w: number, h: number): void;
    strokeRect(x: number, y: number, w: number, h: number): void;
    restore(): void;
    save(): void;
    fillText(text: string, x: number, y: number, maxWidth?: number): void;
    measureText(text: string): any;
    strokeText(text: string, x: number, y: number, maxWidth?: number): void;
    scale(x: number, y: number): void;
}
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/implementation/utility/size.d.ts
/**
 * Size defines and processes the size(width/height) of the objects
 * @private
 */
export  class Size {
    /**
     * Sets the height of an object
     *
     * @default 0
     */
    height: number;
    /**
     * Sets the width of an object
     *
     * @default 0
     */
    width: number;
    constructor(width?: number, height?: number);
    /**
     * isEmpty method \
     *
     * @returns { boolean } isEmpty method .\
     *
     * @private
     */
    isEmpty(): boolean;
    /**
     * clone method \
     *
     * @returns { Size } clone method .\
     *
     * @private
     */
    clone(): Size;
}
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/implementation/utility/shapes.d.ts
/**
 *  BasicShapeDictionary defines the shape of the built-in basic shapes \
 *
 * @returns { string }      BasicShapeDictionary defines the shape of the built-in basic shapes .\
 * @param {string} shape - provide the element value.
 *
 * @private
 */
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/implementation/utility/path-util.d.ts
/**
 * These utility methods help to process the data and to convert it to desired dimensions
 */
/**
 * processPathData method \
 *
 * @returns {Object[]} processPathData method .\
 * @param { string } data - provide the data  value.
 * @private
 */
export  function processPathData(data: string): Object[];
/**
 * getPathString method \
 *
 * @returns {string} getPathString method .\
 * @param { Object[]} arrayCollection - provide the val  value.
 * @private
 */
export  function getPathString(arrayCollection: Object[]): string;
/**
 * getString method \
 *
 * @returns {string} getString method .\
 * @param { PathSegment} arrayCollection - provide the val  value.
 * @private
 */
export  function getString(obj: PathSegment): string;
/**
 * parsePathData method \
 *
 * @returns {Object[]} parsePathData method .\
 * @param { string } data - provide the data  value.
 * @private
 */
export  function parsePathData(data: string): Object[];
/**
 * splitArrayCollection method \
 *
 * @returns {Object[]} splitArrayCollection method .\
 * @param { Object[]} arrayCollection - provide the val  value.
 * @private
 */
export  function splitArrayCollection(arrayCollection: Object[]): Object[];
/**
 * transformPath method \
 *
 * @returns {string} transformPath method .\
 * @param { Object[]} arr - provide the collection  value.
 * @param { number} sX - provide the collection  value.
 * @param { number} sY - provide the collection  value.
 * @param { boolean} s - provide the collection  value.
 * @param {number} bX - provide the collection  value.
 * @param { number} bY - provide the collection  value.
 * @param { number} iX - provide the collection  value.
 * @param { number} iY - provide the collection  value.
 * @private
 */
export  function transformPath(arr: Object[], sX: number, sY: number, s: boolean, bX: number, bY: number, iX: number, iY: number): string;
/**
 * updatedSegment method \
 *
 * @returns {string} updatedSegment method .\
 * @param { PathSegment} segment - provide the collection  value.
 * @param { PathSegment} char - provide the collection  value.
 * @param { number} obj - provide the collection  value.
 * @param { boolean} isScale - provide the collection  value.
 * @param {number} sX - provide the collection  value.
 * @param { number} sY - provide the collection  value.
 * @private
 */
export  function updatedSegment(segment: PathSegment, char: string, obj: PathSegment, isScale: boolean, sX: number, sY: number): Object;
/**
 * scalePathData method \
 *
 * @returns {string} scalePathData method .\
 * @param { number} val - provide the val  value.
 * @param { number} scaleFactor - provide the scaleFactor  value.
 * @param { number} oldOffset - provide the oldOffset  value.
 * @param { number} newOffset - provide the newOffset  value.
 * @private
 */
export  function scalePathData(val: number, scaleFactor: number, oldOffset: number, newOffset: number): number;
/**
 * pathSegmentCollection method \
 *
 * @returns {string} pathSegmentCollection method .\
 * @param { Object[]} collection - provide the collection  value.
 * @private
 */
export  function pathSegmentCollection(collection: Object[]): Object[];
/**
 * @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;
}
/**
 * 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-documenteditor/src/document-editor/implementation/utility/dom-util.d.ts
/**
 * defines the helper methods for the ruler
 * @private
 */
export  class RulerHelper {
    private tabStopStwitch;
    private currentTabStopElement;
    private position;
    private hRulerBottom;
    /**
     * @private
     */
    vRulerBottom: HTMLElement;
    private locale;
    private documentEditor;
    private resizerEnabled;
    private isDraggingRender;
    private isDraggingIndents1;
    private isDraggingIndents2;
    private isDraggingIndents3;
    private isDraggingIndents4;
    private isDraggingForTab;
    private currentTabStop;
    private currrentParagraph;
    private tabIndex;
    private tabStopOffset;
    private rightLineOffset;
    private leftLineOffset;
    private firstIndentInitialValue;
    private diff;
    private minLimit2;
    private maxLimit2;
    private isHangingIndent;
    private hangingLineOffset;
    private hangingIndentInitialValue;
    private minLimit1;
    private maxLimit1;
    private leftIndent1;
    private tabStopElement;
    private justification;
    private isLeftRulerMargin;
    private isLeftMultiColumn;
    private isRightMultiColumn;
    private multiColumnElement;
    private hRuler;
    private vRuler;
    private columnInitialValue;
    private initialValue;
    private indentInitialValue;
    private tabInitialValue;
    private renderInitialValue;
    private currentScrollLeft;
    private initialRightMargin;
    private finalmouseXRelativeToDiv;
    private mouseDownTabValue;
    private mouseUpTabValue;
    private overlap;
    private markIndicator;
    private hangingIndentRuler;
    private firstLineIndentRuler;
    private rulerDiv;
    private rulerOverlap;
    private rulerMarginDiv;
    private verticalRulerMarginDiv;
    private firstLineIndent;
    private hangingIndent;
    private leftIndent;
    private rightIndent;
    private leftTab;
    private centerTab;
    private rightTab;
    private decimalTab;
    private barTab;
    private rulerSpaceDiv;
    private parentRulerDiv;
    private hSvg;
    private vLine;
    private vSvg;
    private hLine;
    private firstLineIndentSvg;
    private firstLineIndentPath;
    private hangingIndentSvg;
    private hangingIndentPath;
    private rightIndentSvg;
    private rightIndentPath;
    private leftIndentSvg;
    private leftIndentPath;
    private onmarkIndicatorClickHandler;
    private onHorizontalRulerMouseMoveHandler;
    private onHRulerMouseEnterHandler;
    private onHRulerMouseLeaveHandler;
    private onHRulerMouseDownHandler;
    private onHRulerMouseUpHandler;
    private onRulerDblClickHandler;
    private onDoubleClickHandler;
    private onRulerMouseUpHandler;
    private onVMouseMoveHandler;
    private onVMouseDownHandler;
    private onVMouseUpHandler;
    private onDocumentIntentTrueChangeHandler;
    private onDocumentIntentFalseChangeHandler;
    private onFirstLineIndentMouseDownHandler;
    private onIndentMouseMoveHandler;
    private onIndentMouseUpHandler;
    private onHangIndentMouseDownHandler;
    private onHangIndentMouseMoveHandler;
    private onHangIndentMouseUpHandler;
    private onLeftIndentMouseDownHandler;
    private onLeftIndentMouseMoveHandler;
    private onLeftIndentMouseUpHandler;
    private onRightIndentMouseDownHandler;
    private onRightIndentMouseMoveHandler;
    private onRightIndentMouseUpHandler;
    private onTabStopMouseDownHandler;
    private onTabStopMouseUpHandler;
    private onTabStopMouseMoveHandler;
    private onRenderTabStopMouseUpHandler;
    private onTabStopDblClickHandler;
    private onMarkIndicatorClick;
    onHRulerMouseEnter(): void;
    private onHRulerMouseLeave;
    private onRulerDblClick;
    private onHRulerMouseDown;
    private onHRulerMouseUp;
    private onRularMouseUp;
    private onVMouseMove;
    private onVMouseDown;
    private onVMouseUp;
    private onDocumentIntentTrue;
    private onDocumentIntentFalse;
    private onDoubleClick;
    private onFirstLineIndentMouseDown;
    private onIndentMouseMove;
    private onIndentMouseUp;
    private onHangIndentMouseDown;
    private onHangIndentMouseMove;
    private onHangIndentMouseUp;
    private onLeftIndentMouseDown;
    private onLeftIndentMouseMove;
    private onLeftIndentMouseUp;
    private onRightIndentMouseDown;
    private onRightIndentMouseMove;
    private onRightIndentMouseUp;
    private onTabStopMouseDown;
    private onTabStopMouseUp;
    private onTabStopMouseMove;
    private onRenderTabStopMouseUp;
    private onTabStopDblClick;
    /**
     * @private
     */
    hideTabStopSwitch(show: boolean): void;
    /**
     * @private
     */
    hideRulerBottom(show: boolean): void;
    private showHideElement;
    /**
     * createHtmlElement method \
     *
     * @returns {SVGSVGElement} createHtmlElement method .\
     * @param { string } elementType - provide the diagramId  value.
     * @param { Object } attribute - provide the diagramId  value.
     * @private
     */
    createHtmlElement(elementType: string, attribute: Object): HTMLElement;
    /**
     * createSvgElement method \
     *
     * @returns {SVGSVGElement} createSvgElement method .\
     * @param { string } elementType - provide the elementType  value.
     * @param { Object } attribute - provide the attribute  value.
     * @private
     */
    createSvgElement(elementType: string, attribute: Object): SVGElement;
    /**
     * applyStyleAgainstCsp method   \
     *
     * @returns {void} applyStyleAgainstCsp method .\
     * @param { SVGElement } svg - provide the svg  value.
     * @param { string } attributes - provide the boolean  value.
     * @private
     */
    applyStyleAgainstCsp(svg: SVGElement | HTMLElement, attributes: string): void;
    /**
     * setAttributeSvg method.
     *
     * @returns {void} setAttributeSvg method .\
     * @param { SVGElement } svg - provide the svg  value.
     * @param { Object } attributes - provide the boolean  value.
     * @private
     */
    setAttributeSvg(svg: SVGElement, attributes: Object): void;
    /**
     * setAttributeHtml method   \
     *
     * @returns {void} setAttributeHtml method .\
     * @param { HTMLElement } element - provide the svg  value.
     * @param { Object } attributes - provide the boolean  value.
     * @private
     */
    setAttributeHtml(element: HTMLElement, attributes: Object): void;
    /**
     * renderOverlapElement method \
     *
     * @returns {void} renderOverlapElement method .\
     * @param { DocumentEditor} documentEditor - provide the content  value.
     * @private
     */
    renderOverlapElement(documentEditor: DocumentEditor): HTMLElement;
    renderRulerMarkerIndicatorElement(documentEditor: DocumentEditor): void;
    private rulerGeometry;
    private isTopRulerMargin;
    private initialYValue;
    private currentScrollTop;
    private firstLineOffset;
    /**
     * renderRuler method \
     *
     * @returns {void} renderRuler method .\
     * @param { DocumentEditor} documentEditor - provide the content  value.
     * @param { boolean} isHorizontal - provide the content  value.
     * @private
     */
    renderRuler(documentEditor: DocumentEditor, isHorizontal: boolean): void;
    onHorizontalRulerMouseMoved(e: MouseEvent): void;
    updateRulerPosition(documentEditor: DocumentEditor, isHorizontal: boolean): void;
    updateIndicatorLines(documentEditor: DocumentEditor): void;
    createIndicatorLines(documentEditor: DocumentEditor): void;
    updateIndentMarkers(documentEditor: DocumentEditor): void;
    updateTabStopMarkers(documentEditor: DocumentEditor): void;
    private renderRulerMargins;
    private updateRulerMargins;
    private updateHorizontalRulerMargin;
    resizeVRulerMargins(isRulerTopMargin: boolean, currentTopMargin: number, currentScrollTop: number, currentBottomMargin: number, ruler: HTMLElement, mousePosition: number, documentEditor: DocumentEditor): void;
    private resizeRulerMargins;
    getRulerOrigin(): void;
    renderIndents(documentEditor: DocumentEditor, isHorizontal: boolean, rulerSize: Size, rulerGeometry: Size, locale: base.L10n): void;
    /**
     * updateRuler method
     *
     * @returns {void} updateRuler method.
     * @param {DocumentEditor} documentEditor - provide the documentEditor  value.
     * @param {boolean} rerenderRuler - provide the rerenderRuler  value.
     * @private
     */
    updateRuler(documentEditor: DocumentEditor, rerenderRuler: boolean): void;
    private removeTableMarkers;
    private updateTableMarkers;
    private renderTableMarkers;
    /**
     * updateRulerDimension method \
     *
     * @returns {void} updateRulerDimension method .\
     * @param {DocumentEditor} documentEditor - provide the documentEditor  value.
     * @param {Ruler} ruler - provide the content  value.
     * @param {number} offset - provide the content  value.
     * @param {boolean} rerenderRuler - provide the rerenderRuler  value.
     * @private
     */
    private updateRulerDimension;
    /**
     * updateRulerSpace method \
     *
     * @returns {void} updateRulerDiv method .\
     * @param {DocumentEditor} documentEditor - provide the documentEditor  value.
     * @param {Size} rulerGeometry - provide the content  value.
     * @param {boolean} isHorizontal - provide the content  value.
     * @param {Ruler} ruler - provide the ruler  value.
     * @private
     */
    private updateRulerSpace;
    /**
     * updateRulerDiv method \
     *
     * @returns {void} updateRulerDiv method .\
     * @param {DocumentEditor} documentEditor - provide the documentEditor  value.
     * @param {Size} rulerGeometry - provide the content  value.
     * @param {boolean} isHorizontal - provide the content  value.
     * @param {Ruler} ruler - provide the ruler  value.
     * @private
     */
    updateRulerDiv(documentEditor: DocumentEditor, rulerGeometry: Size, isHorizontal: boolean, ruler: Ruler): void;
    /**
     * getRulerGeometry method \
     *
     * @returns {void} getRulerGeometry method .\
     * @param { DocumentEditor} documentEditor - provide the documentEditor  value.
     * @private
     */
    private getRulerGeometry;
    private getVerticalHeight;
    renderTab(documentEditor: DocumentEditor, rulerSize: Size, tabStop: WTabStop, tabJustification: TabJustification, i: number, locale?: base.L10n): void;
    updateMargin(ruler: Ruler, documentEditor: DocumentEditor, isHorizontal: boolean): void;
    getTabJustification(dataNameValue: string): TabJustification;
    /**
     * getRulerSize method \
     *
     * @returns {void} getRulerSize method .\
     * @param { DocumentEditor} documentEditor - provide the documentEditor  value.
     * @private
     */
    getRulerSize(documentEditor: DocumentEditor): Size;
    destroy(): void;
    private removeHTMLElements;
    private removeSvgElements;
    private unWireEvents;
}
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/implementation/track-changes/track-changes.d.ts
/**
 * The revision class which holds the information related to changes made in the document
 */
export  class Revision {
    /**
     * Gets or sets the author name who made the change
     *
     * @private
     */
    author: string;
    /**
     * Indicates when the track changes made
     *
     * @private
     */
    date: string;
    /**
     * Indicates the type of track changes revision
     *
     * @private
     */
    revisionType: RevisionType;
    /**
     * Holds the reference of the items which are under this revision.
     *
     * @private
     */
    range: object[];
    /**
     * @private
     */
    revisionID: string;
    private owner;
    /**
     * Used to update cursor position by ensuring items were removed or not
     */
    private isContentRemoved;
    private isTableRevision;
    /**
     * Indicates whether to skip unlinking ranges for table elements.
     */
    private canSkipTableItems;
    private skipUnLinkElement;
    constructor(documentHelper: DocumentEditor, author: string, date: string);
    private handleAcceptReject;
    private handleGroupAcceptReject;
    /**
     * Method which accepts the selected revision, revision marks will be removed and changes will be included in the viewer.
     *
     * @returns {void}
     */
    accept(): void;
    /**
     * Method which rejects the selected revision, revision marks will be removed leaving the original content.
     */
    reject(): void;
    /**
     * Select the current revision.
     */
    select(): void;
    /**
     * Unlinks revision and its assosiated range
     * @private
     * @param item
     * @param revision
     * @param isFromAccept
     */
    unlinkRangeItem(item: any, revision: Revision, isFromAccept: boolean, start: TextPosition, end: TextPosition): boolean;
    private removeRevisionFromPara;
    private updateRevisionID;
    private removeRevisionItemsFromRange;
    /**
     * Method to clear linked ranges in revision
     *
     * @private
     * @param {any} item - Specifies the item
     * @returns {void}
     */
    removeRangeRevisionForItem(item: any, skipUpdate?: boolean): void;
    /**
     * @private
     * @param {Element} element - Specifies the element.
     * @returns {boolean} Resturs skip element removal
     */
    skipeElementRemoval(element: ElementBox): boolean;
    private removeRevisionFromRow;
    private removeItem;
    private canSkipCloning;
    /**
     * @private
     *
     */
    destroy(): void;
    /**
     * @private
     * @returns {Revision} - Returns revision
     */
    clone(): Revision;
    /**
     * @private
     */
    cloneRevision(): Revision;
    /**
     * Method to clone the revisions for the element
     *
     * @param {Revision[]} revisions - revision array.
     * @returns {string[]} - returns clones revisions.
     */
    static cloneRevisions(revisions: Revision[]): string[];
}
/**
 * Represents the revision collections in the document.
 */
export  class RevisionCollection {
    /**
     * @private
     */
    changes: Revision[];
    private owner;
    /**
     * @private
     */
    skipGroupAcceptReject: boolean;
    /**
     * @private
     */
    get(index: number): Revision;
    readonly length: number;
    constructor(owner: DocumentEditor);
    remove(revision: Revision): any;
    /**
     * Method which accepts all the revision in the revision collection
     *
     * @returns {void}
     */
    acceptAll(): void;
    /**
     * Method which rejects all the revision in the revision collection
     *
     * @returns {void}
     */
    rejectAll(): void;
    /**
     * @private
     * @param {boolean} isfromAcceptAll - Specifies the is accept all.
     * @param {Revision[]} changes - Specifies the revisions.
     * @returns {void}
     */
    handleRevisionCollection(isfromAcceptAll: boolean, changes?: Revision[]): void;
    clear(): void;
    /**
     * Disposes the internal objects which are maintained.
     * @private
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/implementation/track-changes/track-changes-pane.d.ts
/**
 * Track changes pane
 */
export  class TrackChangesPane {
    /***
     * @private
     */
    isChangesTabVisible: boolean;
    private owner;
    private trackChangeDiv;
    private toolbarElement;
    closeButton: HTMLElement;
    private noChangeDivElement;
    /**
     * @private
     */
    toolbar: navigations.Toolbar;
    changesInfoDiv: HTMLElement;
    private locale;
    private commentReviewPane;
    private userDropDownitems;
    private userDropDownButton;
    private viewTypeDropDownButton;
    private userDropDown;
    private selectedUser;
    private selectedType;
    private users;
    private menuoptionEle;
    private menuDropDownButton;
    private enableButtons;
    private currentSelectedRevisionInternal;
    private viewTypeitems;
    changes: Dictionary<Revision, ChangesSingleView>;
    revisions: Revision[];
    private sortedRevisions;
    private noChangesVisibleInternal;
    isTrackingPageBreak: boolean;
    /***
     * @private
     */
    tableRevisions: Dictionary<Revision, Revision[]>;
    renderedChanges: Dictionary<Revision, ChangesSingleView>;
    setNoChangesVisibility: boolean;
    currentSelectedRevision: Revision;
    constructor(owner: DocumentEditor, commentReviewPane: CommentReviewPane);
    private initTrackChangePane;
    /**
     * @private
     * @returns {void}
     */
    showHiddenParaMark(): void;
    private initPaneHeader;
    private beforeDropDownItemRender;
    private onUserOpen;
    private enableDisableToolbarItem;
    private getSpanView;
    private onMenuSelect;
    onSelection(revision: Revision): void;
    private onUserSelect;
    private onTypeSelect;
    private updateMenuOptions;
    private sortCollectionToDisplay;
    enableDisableButton(enableButton: boolean, isProtection?: boolean): void;
    isUpdateTrackChanges(revisionCount: number): boolean;
    updateCurrentTrackChanges(revision: Revision): void;
    updateTrackChanges(show?: boolean): void;
    /**
     * @private
     */
    groupTableRevisions(revisions: Revision[], startIndex: number): Revision[];
    updateUsers(): void;
    updateHeight(): void;
    private removeAllChanges;
    /**
     * @private
     */
    clear(): void;
    /**
     * @private
     * @returns {void}
     */
    destroy(): void;
    private addChanges;
    /**
         * @private
         * @returns {void}
         */
    navigatePreviousChanges(): void;
    /**
         * @private
         * @returns {void}
         */
    navigateNextChanges(): void;
    private revisionNavigateInternal;
}
export  class ChangesSingleView {
    private trackChangesPane;
    private locale;
    private owner;
    outerSingleDiv: HTMLElement;
    user: string;
    revisionType: string;
    revision: Revision;
    singleInnerDiv: HTMLElement;
    acceptButtonElement: HTMLButtonElement;
    rejectButtonElement: HTMLButtonElement;
    private acceptButton;
    private rejectButton;
    changesCount: HTMLElement;
    private selectRevisionHandler;
    private acceptButtonClickHandler;
    private rejectButtonClickHandler;
    /***
     * @private
     */
    tableElement: HTMLTableElement;
    constructor(owner: DocumentEditor, trackChangesPane: TrackChangesPane);
    updateRevisionIndexAndCount(currentIndex: number, totalCount: number): void;
    createSingleChangesDiv(revision: Revision): HTMLElement;
    /**
     * @private
     */
    appendRowToTable(rowFormat: WRowFormat, insertIndex: number): void;
    private selectRevision;
    layoutElementText(range: object[], changesText: HTMLElement): void;
    private addSpan;
    private acceptButtonClick;
    private rejectButtonClick;
    private removeFromParentCollec;
    /**
     * @private
     */
    removeInnerChilds(element: HTMLElement): void;
    /**
     * @private
     */
    removeEvents(): void;
    /**
     *
     * @private
     */
    clear(): void;
    /**
     * Disposes the internal objects which are maintained.
     * @private
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/implementation/themes/themes.d.ts
/**
 * @private
 */
export  class Themes {
    private fntScheme;
    fontScheme: FontScheme;
    constructor(node?: Object);
    copyFormat(themes: Themes): void;
    destroy(): void;
}
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/implementation/themes/major-minor-font-scheme.d.ts
/**
 * @private
 */
export  class MajorMinorFontScheme {
    private fntTypeface;
    private fntSchemeList;
    fontTypeface: Dictionary<string, string>;
    fontSchemeList: FontSchemeStruct[];
    constructor();
    copyFormat(majorMinor: MajorMinorFontScheme): void;
    destroy(): void;
}
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/implementation/themes/font-scheme.d.ts
/**
 * @private
 */
export  class FontScheme {
    private schemeName;
    private majFontScheme;
    private minFontScheme;
    fontSchemeName: string;
    majorFontScheme: MajorMinorFontScheme;
    minorFontScheme: MajorMinorFontScheme;
    constructor(node?: Object);
    copyFormat(fontScheme: FontScheme): void;
    destroy(): void;
}
/**
 * @private
 */
export  class FontSchemeStruct {
    private fontName;
    private fontTypeface;
    private pnose;
    name: string;
    typeface: string;
    panose: string;
    copyFormat(fontSchemeStructure: FontSchemeStruct): void;
    destroy(): void;
}
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/implementation/text-helper/regular.d.ts
/**
 * Class which performs regular text measuring logic to find font height.
 */
export  class Regular {
    /**
     * @private
     */
    documentHelper: DocumentHelper;
    /**
     * Gets module name.
     *
     * @returns {string} - the module name.
     */
    private getModuleName;
    /**
     * Constructor to initialize Regular module.
     *
     * @param {DocumentHelper} documentHelper - the document helper object
     */
    constructor(documentHelper: DocumentHelper);
    /**
     * @private
     * @param {WCharacterFormat} characterFormat - character format to apply.
     * @param {string} fontToRender - font to render.
     * @returns {TextSizeInfo} returns text size information.
     */
    getHeightInternal(characterFormat: WCharacterFormat, fontToRender: string): TextSizeInfo;
    applyStyle(spanElement: HTMLSpanElement, characterFormat: WCharacterFormat, fontToRender: string): void;
    /**
     * @private
     * @returns {void}
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/implementation/text-helper/optimized.d.ts
/**
 *  Class which performs optimized text measuring logic to find font height.
 */
export  class Optimized {
    private documentHelper;
    /**
     * Font height collection cache object
     */
    private optimizedHeightCollection;
    private getModuleName;
    /**
     * Constructor to initialize Optimized module.
     *
     * @param {DocumentHelper} documentHelper - the document helper object.
     */
    constructor(documentHelper: DocumentHelper);
    /**
     * Construct key based on the character format.
     *
     * @param {WCharacterFormat} characterFormat - the character format to construct key.
     * @returns {string} - the constructed key.
     */
    private getkeyFromCharFormat;
    /**
     * Method to retrieve font information with optimized text measuring logic.
     *
     * @param {WCharacterFormat} characterFormat -character format to apply.
     * @returns {string} - returns font size information.
     */
    private getFontInfo;
    /**
     * @private
     * @param {WCharacterFormat} characterFormat - character format to apply.
     * @returns {TextSizeInfo} returns text size information.
     */
    getHeightInternal(characterFormat: WCharacterFormat): TextSizeInfo;
    /**
     * @private
     * @returns {void}
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/implementation/spell-check/spell-checker.d.ts
/**
 * The spell checker module
 */
export  class SpellChecker {
    private langIDInternal;
    /**
     * Specifies whether spell check has to be performed or not.
     */
    private enableSpellCheckInternal;
    /**
     * @private
     */
    uniqueSpelledWords: any;
    /**
     * Every time rendering text elementbox we are checking the key length of the uniqueSpelledWords object. This causes performance issue So optimizing it.
     */
    private uniqueSpelledWordsCount;
    private spellSuggestionInternal;
    /**
     * @private
     */
    errorWordCollection: Dictionary<string, ElementBox[]>;
    /**
     * @private
     */
    uniqueWordsCollection: Dictionary<string, boolean>;
    /**
     * @private
     */
    ignoreAllItems: string[];
    /**
     * @private
     */
    documentHelper: DocumentHelper;
    /**
     * @private
     */
    currentContextInfo: ContextElementInfo;
    /**
     * @private
     */
    uniqueKey: string;
    private removeUnderlineInternal;
    private spellCheckSuggestion;
    private combinedElements;
    /**
     * @default 1000
     */
    private uniqueWordsCountInternal;
    /**
     * @private
     */
    errorSuggestions: Dictionary<string, string[]>;
    private performOptimizedCheck;
    /**
     * @private
     */
    isChangeAll: boolean;
    private textSearchResults;
    /**
     * Gets module name.
     */
    private getModuleName;
    /**
     * Gets the boolean indicating whether optimized spell check to be performed.
     *
     * @aspType bool
     * @returns {boolean} Returns enableOptimizedSpellCheck
     */
    /**
    * Sets the boolean indicating whether optimized spell check to be performed.
    *
    * @aspType bool
    */
    enableOptimizedSpellCheck: boolean;
    /**
     * Gets the spell checked Unique words.
     *
     * @aspType int
     */
    /**
    * Sets the spell checked Unique words.
    *
    * @aspType int
    */
    uniqueWordsCount: number;
    /**
     * Gets the languageID.
     *
     * @aspType int
     */
    /**
    * Sets the languageID.
    *
    * @aspType int
    */
    languageID: number;
    /**
     * Getter indicates whether suggestion enabled.
     *
     * @aspType bool
     */
    /**
    * Setter to enable or disable suggestion
    *
    * @aspType bool
    */
    allowSpellCheckAndSuggestion: boolean;
    /**
     * Getter indicates whether underline removed for mis-spelled word.
     *
     * @aspType bool
     */
    /**
    * Setter to enable or disable underline for mis-spelled word
    *
    * @aspType bool
    */
    removeUnderline: boolean;
    /**
     * Getter indicates whether spell check has to be performed or not.
     *
     * @aspType bool
     */
    /**
    * Setter to enable or disable spell check has to be performed or not
    *
    * @aspType bool
    */
    enableSpellCheck: boolean;
    constructor(documentHelper: DocumentHelper);
    private readonly viewer;
    /**
     * Method to manage replace logic
     *
     * @private
     */
    manageReplace(content: string, dialogElement?: ElementBox): void;
    /**
     * Method to handle replace logic
     *
     * @private
     */
    handleReplace(content: string): void;
    /**
     * Method to retrieve exact element info
     *
     * @private
     */
    retrieveExactElementInfo(startInlineObj: ElementInfo): void;
    /**
     * Method to handle to ignore error Once
     *
     * @private
     */
    handleIgnoreOnce(startInlineObj: ElementInfo): void;
    /**
     * Method to handle ignore all items
     *
     * @private
     */
    handleIgnoreAllItems(contextElement?: ContextElementInfo): void;
    /**
     * Method to handle dictionary
     *
     * @private
     */
    handleAddToDictionary(contextElement?: ContextElementInfo): void;
    /**
     * Method to append/remove special characters
     *
     * @private
     */
    manageSpecialCharacters(exactText: string, replaceText: string, isRemove?: boolean): string;
    /**
     * Method to remove errors
     *
     * @private
     */
    removeErrorsFromCollection(contextItem: ContextElementInfo): void;
    /**
     * Method to retrieve exact text
     *
     * @private
     */
    retriveText(): ContextElementInfo;
    /**
     * Method to handle suggestions
     *
     * @private
     */
    handleSuggestions(allsuggestions: any): string[];
    /**
     * Method to check whether text element has errors
     *
     * @private
     */
    checktextElementHasErrors(text: string, element: TextElementBox, left: number): ErrorInfo;
    private updateStatusForGlobalErrors;
    /**
     * Method to handle document error collection.
     *
     * @param {string} errorInElement
     * @private
     */
    handleErrorCollection(errorInElement: TextElementBox): boolean;
    private constructInlineMenu;
    /**
     * Method to retrieve error element text
     *
     * @private
     */
    findCurretText(): ContextElementInfo;
    private addErrorCollection;
    private addCorrectWordCollection;
    /**
     * @private
     */
    isInUniqueWords(text: string): boolean;
    /**
     * @private
     */
    isErrorWord(text: string): boolean;
    /**
     * @private
     */
    isCorrectWord(text: string): boolean;
    private compareErrorTextElement;
    /**
     * Method to compare text elements
     *
     * @private
     */
    compareTextElement(errorElement: TextElementBox, errorCollection: ElementBox[]): boolean;
    /**
     * Method to handle Word by word spell check
     *
     * @private
     */
    handleWordByWordSpellCheck(jsonObject: any, elementBox: TextElementBox, left: number, top: number, underlineY: number, baselineAlignment: BaselineAlignment, isSamePage: boolean, currentText?: string): void;
    /**
     * Method to check errors for combined elements
     *
     * @private
     */
    checkElementCanBeCombined(elementBox: TextElementBox, underlineY: number, beforeIndex: number, callSpellChecker: boolean, textToCombine?: string, isNext?: boolean, isPrevious?: boolean, canCombine?: boolean): boolean;
    private lookThroughPreviousLine;
    private lookThroughNextLine;
    /**
     * Method to handle combined elements
     *
     * @param {TextElementBox} elementBox
     * @param {string} currentText
     * @param {number} underlineY
     * @param {number} beforeIndex
     * @private
     */
    handleCombinedElements(elementBox: TextElementBox, currentText: string, underlineY: number): void;
    /**
     * Method to check error element collection has unique element
     *
     * @param {ErrorTextElementBox[]} errorCollection
     * @param {ErrorTextElementBox} elementToCheck
     * @private
     */
    checkArrayHasSameElement(errorCollection: ErrorTextElementBox[], elementToCheck: ErrorTextElementBox): boolean;
    /**
     * @private
     */
    handleSplitWordSpellCheck(jsonObject: any, currentText: string, elementBox: TextElementBox, isSamePage: boolean, underlineY: number, iteration: number, markIndex: number, isLastItem?: boolean, combinedElements?: TextElementBox[]): void;
    private handleMatchedResults;
    /**
     * Calls the spell checker service.
     * @private
     */
    callSpellChecker(languageID: number, word: string, checkSpelling: boolean, checkSuggestion: boolean, addWord?: boolean, isByPage?: boolean): Promise<any>;
    private setCustomHeaders;
    /**
     * Method to check for next error
     *
     * @private
     * @returns {void}
     */
    checkForNextError(): void;
    /**
     * Method to create error element with matched results
     *
     * @param {TextSearchResult} result
     * @param {ElementBox} errorElement
     * @private
     */
    createErrorElementWithInfo(result: TextSearchResult, errorElement: ElementBox): ErrorTextElementBox;
    /**
     * Method to get matched results from element box
     *
     * @private
     * @param {ElementBox} errorElement - Specifies the error element box.
     * @param {string} currentText - Specifies the current text
     * @returns {MatchResults} - Returns match results info.
     */
    getMatchedResultsFromElement(errorElement: ElementBox, currentText?: string): MatchResults;
    /**
     * Method to update error element information
     *
     * @private
     * @param {string} error - Specifies the error word.
     * @param {ErrorTextElementBox} errorElement - Specifies the error element box.
     * @returns {void}
     */
    updateErrorElementTextBox(error: string, errorElement: ErrorTextElementBox): void;
    /**
     * Method to retrieve space information in a text
     *
     * @private
     * @param {string} text - Specifies the text
     * @param {WCharacterFormat} characterFormat - Specifies the character format.
     * @returns {SpecialCharacterInfo} - Returs special character info.
     */
    getWhiteSpaceCharacterInfo(elementBox: TextElementBox): SpaceCharacterInfo;
    /**
     * Retrieve Special character info
     *
     * @private
     * @param {string} text - Specifies the text
     * @param {WCharacterFormat} characterFormat - Specifies the character format.
     * @returns {SpecialCharacterInfo} - Returs special character info.
     */
    getSpecialCharactersInfo(elementBox: TextElementBox): SpecialCharacterInfo;
    /**
     * Method to retrieve next available combined element
     *
     * @private
     * @param {ElementBox} element - Specified the element.
     * @returns {ElementBox} - Returns combined element.
     */
    getCombinedElement(element: ElementBox): ElementBox;
    private checkCombinedElementsBeIgnored;
    /**
     * Method to update error collection
     *
     * @private
     * @param {TextElementBox} currentElement - Specifies current element.
     * @param {TextElementBox} splittedElement - Specifies splitted element.
     * @returns {void}
     */
    updateSplittedElementError(currentElement: TextElementBox, splittedElement: TextElementBox): void;
    /**
     * @private
     * @param {Page} page - Specifies the page.
     * @returns {string} - Returns page content.
     */
    getPageContent(page: Page): string;
    /**
     * @private
     * @param {any[]} spelledWords - Specifies spelledWords
     * @returns {void}
     */
    updateUniqueWords(spelledWords: any[]): void;
    updateUniqueWord(spelledWords: any[]): void;
    /**
     * @private
     * Get the item from local storage and assign it to uniqueSpelledWords.
     * @returns {void}
     */
    getUniqueWordsFromLocalStorage(): void;
    /**
     * @private
     * set the uniqueSpelledWords to local storage.
     * @returns {void}
     */
    addUniqueWordsToLocalStorage(): void;
    private checkForUniqueWords;
    /**
     * Method to clear cached words for spell check
     *
     * @returns {void}
     */
    clearCache(): void;
    private createGuid;
    /**
     * Check spelling in page data
     *
     * @private
     * @param {string} wordToCheck - Specifies wordToCheck
     * @returns {WordSpellInfo} - Retruns WordSpellInfo
     */
    checkSpellingInPageInfo(wordToCheck: string): WordSpellInfo;
    /**
     * @private
     * @returns {void}
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/implementation/selection/selection.d.ts
/**
 * Selection
 */
export  class Selection {
    /**
     * @private
     */
    owner: DocumentEditor;
    /**
     * @private
     */
    upDownSelectionLength: number;
    /**
     * @private
     */
    isSkipLayouting: boolean;
    /**
    * @private
    */
    isImageSelected: boolean;
    /**
    * @private
    */
    isExcludeBookmarkStartEnd: boolean;
    /**
    * @private
    */
    documentHelper: DocumentHelper;
    private contextTypeInternal;
    /**
     * @private
     */
    caret: HTMLDivElement;
    /**
     * @private
     */
    isRetrieveFormatting: boolean;
    private characterFormatIn;
    private paragraphFormatIn;
    private sectionFormatIn;
    private tableFormatIn;
    private cellFormatIn;
    private rowFormatIn;
    private imageFormatInternal;
    /**
     * @private
     */
    isSelectCurrentWord: boolean;
    /**
     * @private
     */
    skipFormatRetrieval: boolean;
    /**
     * @private
     */
    isModifyingSelectionInternally: boolean;
    private startInternal;
    private endInternal;
    private htmlWriterIn;
    private toolTipElement;
    private screenTipElement;
    private toolTipTextElement;
    private toolTipObject;
    private toolTipField;
    private isMoveDownOrMoveUp;
    private pasteDropDwn;
    private isSelectBookmark;
    private isHighlightContentControlEditRegionIn;
    /**
     * @private
     * This will holds the selection html content to set data in clipboard. Avoid to use this field for other purpose.
     */
    private htmlContent;
    /**
     * @private
     * This will holds the selection sfdt content to set data in clipboard. Avoid to use this field for other purpose.
     */
    private sfdtContent;
    /**
     * @private
     */
    isEndOffset: boolean;
    /**
     * @private
     */
    pasteElement: HTMLElement;
    /**
     * @private
     */
    currentPasteAction: TablePasteOptions | PasteOptionSwitch;
    /**
     * @private
     */
    isViewPasteOptions: boolean;
    /**
     * @private
     */
    skipEditRangeRetrieval: boolean;
    /**
     * @private
     */
    editPosition: string;
    /**
     * @private
     */
    selectedWidgets: Dictionary<IWidget, object>;
    /**
     * @private
     */
    isHighlightEditRegionIn: boolean;
    /**
     * @private
     */
    private isHighlightFormFields;
    /**
     * @private
     */
    editRangeCollection: EditRangeStartElementBox[];
    /**
     * @private
     */
    isHightlightEditRegionInternal: boolean;
    /**
     * @private
     */
    isCurrentUser: boolean;
    /**
     * @private
     */
    isHighlightNext: boolean;
    /**
     * @private
     */
    hightLightNextParagraph: BlockWidget;
    /**
     * @private
     */
    isWebLayout: boolean;
    /**
     * @private
     */
    contentControlHighlighters: Dictionary<string, Dictionary<LineWidget, SelectionWidgetInfo[]>>;
    /**
     * @private
     */
    editRegionHighlighters: Dictionary<LineWidget, SelectionWidgetInfo[]>;
    /**
     * @private
     */
    contentControleditRegionHighlighters: Dictionary<ContentControl, Dictionary<LineWidget, SelectionWidgetInfo[]>>;
    /**
     * @private
     */
    formFieldHighlighters: Dictionary<LineWidget, SelectionWidgetInfo[]>;
    private isSelectList;
    /**
     * @private
     */
    previousSelectedFormField: FieldElementBox;
    /**
     * @private
     */
    previousSelectedContentControl: ContentControl;
    /**
     * @private
     */
    currentContentControl: ContentControl;
    /**
     * @private
     */
    isFormatUpdated: boolean;
    /**
     * @private
     */
    isCellPrevSelected: boolean;
    /**
     * @private
     */
    currentFormField: FieldElementBox;
    /**
     * @private
     */
    contentControls: ContentControl[];
    /**
     * @private
     */
    isHomeEnd: boolean;
    /**
     * @private
     * @returns {boolean} - Retuens true if highlighting editing region
     */
    /**
    * @private
    */
    isHighlightEditRegion: boolean;
    /**
     * @private
     * @returns {boolean} - Retuens true if highlighting editing region
     */
    /**
    * @private
    */
    isHighlightContentControlEditRegion: boolean;
    /**
     * @private
     */
    readonly htmlWriter: HtmlExport;
    /**
     * Gets the start text position of last range in the selection
     *
     * @private
     * @returns {TextPosition} - Returns selection start position.
     */
    /**
    * @private
    */
    start: TextPosition;
    /**
     * Gets the instance of selection character format.
     *
     * @default undefined
     * @aspType SelectionCharacterFormat
     * @returns {SelectionCharacterFormat} Returns the selection character format.
     */
    readonly characterFormat: SelectionCharacterFormat;
    /**
     * Gets the instance of selection paragraph format.
     *
     * @default undefined
     * @aspType SelectionParagraphFormat
     * @returns {SelectionParagraphFormat} Returns the selection paragraph format.
     */
    readonly paragraphFormat: SelectionParagraphFormat;
    /**
     * Gets the instance of selection section format.
     *
     * @default undefined
     * @aspType SelectionSectionFormat
     * @returns {SelectionSectionFormat} Returns the selection section format.
     */
    readonly sectionFormat: SelectionSectionFormat;
    /**
     * Gets the instance of selection table format.
     *
     * @default undefined
     * @aspType SelectionTableFormat
     * @returns {SelectionTableFormat} Returns the selection table format.
     */
    readonly tableFormat: SelectionTableFormat;
    /**
     * Gets the instance of selection cell format.
     *
     * @default undefined
     * @aspType SelectionCellFormat
     * @returns {SelectionCellFormat} Returns the selection cell format.
     */
    readonly cellFormat: SelectionCellFormat;
    /**
     * Gets the instance of selection row format.
     *
     * @default undefined
     * @aspType SelectionRowFormat
     * @returns {SelectionRowFormat} Returns selection row format.
     */
    readonly rowFormat: SelectionRowFormat;
    /**
     * Gets the instance of selection image format.
     *
     * @default undefined
     * @aspType SelectionImageFormat
     * @returns {SelectionImageFormat} Returns the selection image format.
     */
    readonly imageFormat: SelectionImageFormat;
    /**
     * Gets the start text position of selection range.
     *
     * @private
     * @returns {TextPosition} - Returns selection end position.
     */
    /**
    * For internal use
    *
    * @private
    */
    end: TextPosition;
    /**
     * Gets the page number where the selection starts.
     *
     * @returns {number} Returns the selection start page number.
     */
    readonly startPage: number;
    /**
     * Gets the page number where the selection ends.
     *
     * @returns {number} Returns the selection end page number.
     */
    readonly endPage: number;
    /**
     * Determines whether the selection direction is forward or not.
     *
     * @default false
     * @private
     * @returns {boolean} Returns isForward
     */
    readonly isForward: boolean;
    /**
     * Determines whether the selection is in footnote or not.
     *
     * @default false
     * @returns {boolean} Returns true if selection is in footnote
     * @private
     */
    readonly isinFootnote: boolean;
    /**
     * Determines whether the selection is in endnote or not.
     *
     * @default false
     * @returns {boolean}
     * @private
     */
    readonly isinEndnote: boolean;
    /**
     * Determines whether the start and end positions are same or not.
     *
     * @default false
     * @returns {boolean}
     * @private
     */
    readonly isEmpty: boolean;
    /**
     * Returns the start hierarchical index.
     */
    readonly startOffset: string;
    /**
     * Returns the end hierarchical index.
     */
    readonly endOffset: string;
    /**
     * @private
     */
    readonly isInShape: boolean;
    /**
     * Gets the text within selection.
     *
     * @default ''
     * @aspType string
     * @returns {string} Returns the text within selection.
     */
    readonly text: string;
    /**
     * Gets the context type of the selection.
     */
    readonly contextType: ContextType;
    /**
     * Gets bookmark name collection.
     */
    readonly bookmarks: string[];
    /**
    * Gets the selected content of the document as SFDT(Syncfusion Document Text) file format.
    *
    * @default undefined
    * @returns {string}
    */
    readonly sfdt: string;
    /**
     * Gets the list of fields present within the current selection in the document. This property can be used to identify and work with field elements present in the selected text range.
     *
     * @returns {FieldStartInfo[]} An array of objects containing information about each field present in the selected text range.
     */
    readonly fields: FieldStartInfo[];
    /**
     * Gets the bookmark name collection in current selection.
     *
     * @param includeHidden - Decide whether to include hidden bookmark name in current selection or not.
     * @returns Returns the bookmark name collection in current selection.
     */
    getBookmarks(includeHidden?: boolean): string[];
    /**
     * @private
     */
    readonly isCleared: boolean;
    /**
     * Returns true if selection is in field.
     *
     * @returns Returns true if selection is in field;
 Otherwise, false.
     */
    readonly isInField: boolean;
    /**
     * Gets the field information for the selected field.
     *
     * @returns { FieldInfo } Returns `FieldInfo` if selection is in field, otherwise `undefined`
     * > Returns `undefined` for text, image, table, shape. For nested fields, it returns combined field code and result.
     */
    getFieldInfo(): FieldInfo;
    /**
     * @param documentEditor
     * @private
     */
    constructor(documentEditor: DocumentEditor);
    private isFootNoteParagraph;
    private isEndNoteParagraph;
    /**
     * @param documentEditor
     * @private
     */
    isFootEndNoteParagraph(paragraph: ParagraphWidget): boolean;
    private getSelBookmarks;
    /**
     *
     * @private
     */
    readonly viewer: LayoutViewer;
    private getModuleName;
    private checkLayout;
    /**
     * Moves the selection to the header of current page.
     *
     * @returns {void}
     */
    goToHeader(): void;
    /**
     * Moves the selection to the footer of current page.
     *
     * @returns {void}
     */
    goToFooter(): void;
    /**
     * Closes the header and footer region.
     *
     * @returns {void}
     */
    closeHeaderFooter(): void;
    /**
    * Closes the xml Pane region.
    *
    * @returns {void}
    */
    closeXmlPane(): void;
    /**
     * Moves the selection to the start of specified page number.
     *
     * @param pageNumber Specify the page number to move selection.
     * @returns {void}
     */
    goToPage(pageNumber: number): void;
    /**
     * Selects the entire table if the context is within table.
     *
     * @returns {void}
     */
    selectTable(): void;
    /**
     * Selects the entire row if the context is within table.
     *
     * @returns {void}
     */
    selectRow(): void;
    /**
     * Selects the entire column if the context is within table.
     *
     * @returns {void}
     */
    selectColumn(): void;
    /**
     * Selects the entire cell if the context is within table.
     *
     * @returns {void}
     */
    selectCell(): void;
    /**
     * Selects content based on selection settings
     *
     * @returns {void}
     */
    select(selectionSettings: SelectionSettings): void;
    /**
     * Selects the content based on the specified start and end hierarchical index.
     *
     * @param start Specify the start hierarchical index.
     * @param end Specify the end hierarchical index.
     * @returns {void}
     */
    select(start: string, end: string): void;
    /**
     * Selects the content based on the specified start and end hierarchical index.
     *
     * @param start Specify the start index to select.
     * @param end Specify the end index to select.
     * @returns {void}
     */
    selectByHierarchicalIndex(start: string, end: string): void;
    /**
     * Selects the current field if selection is in field
     *
     * @param {FieldElementBox} fieldInfo Specify the field start to select.
     * @returns {void}
     */
    selectField(fieldInfo?: FieldElementBox): void;
    /**
     * Selects the field in the document using the provided fieldStart information. This method highlights the corresponding field and brings it into view within the editor.
     *
     * @param {FieldStartInfo} fieldInfo - The information about the field to be selected..
     * @returns {void}
     */
    selectField(fieldInfo?: FieldStartInfo): void;
    /**
     * @private
     * @param fieldStart
     * @returns {void}
     */
    selectContentControlInternal(fieldStart: ContentControl): void;
    /**
     * @private
     * @param fieldStart
     * @returns {void}
     */
    selectFieldInternal(fieldStart: FieldElementBox, isKeyBoardEvent?: boolean, isReplacingFormResult?: boolean): void;
    /**
     * @private
     * @param contentControl
     * @returns {void}
     */
    selectContentConterol(contentControl: ContentControl): void;
    /**
     * @param shape
     * @private
     * @returns {void}
     */
    selectShape(shape: ShapeElementBox): void;
    /**
     * Toggles the bold property of selected contents.
     *
     * @private
     * @returns {void}
     */
    toggleBold(): void;
    /**
     * Toggles the italic property of selected contents.
     *
     * @private
     * @returns {void}
     */
    toggleItalic(): void;
    /**
     * Toggles the allCaps property of selected contents.
     *
     * @private
     * @returns {void}
     */
    toggleAllCaps(): void;
    /**
     * Toggles the underline property of selected contents.
     *
     * @param {Underline} underline Default value of ‘underline’ parameter is Single.
     * @private
     * @returns {void}
     */
    toggleUnderline(underline?: Underline): void;
    /**
     * Toggles the strike through property of selected contents.
     *
     * @param {Strikethrough} strikethrough Default value of strikethrough parameter is SingleStrike.
     * @private
     * @returns {void}
     */
    toggleStrikethrough(strikethrough?: Strikethrough): void;
    /**
     * Toggles the highlight color property of selected contents.
     *
     * @param {HighlightColor} highlightColor Default value of ‘underline’ parameter is Yellow.
     * @private
     * @returns {void}
     */
    toggleHighlightColor(highlightColor?: HighlightColor): void;
    /**
     * Toggles the subscript formatting of selected contents.
     *
     * @private
     * @returns {void}
     */
    toggleSubscript(): void;
    /**
     * Toggles the superscript formatting of selected contents.
     *
     * @private
     * @returns {void}
     */
    toggleSuperscript(): void;
    /**
     * Toggles the text alignment property of selected contents.
     *
     * @param {TextAlignment} textAlignment Default value of ‘textAlignment parameter is TextAlignment.Left.
     * @private
     * @returns {void}
     */
    toggleTextAlignment(textAlignment: TextAlignment): void;
    /**
     * Increases the left indent of selected paragraphs to a factor of 36 points.
     *
     * @private
     * @returns {void}
     */
    increaseIndent(): void;
    /**
     * Decreases the left indent of selected paragraphs to a factor of 36 points.
     *
     * @private
     * @returns {void}
     */
    decreaseIndent(): void;
    /**
     * Fires the `requestNavigate` event if current selection context is in hyperlink.
     *
     * @returns {void}
     */
    navigateHyperlink(): void;
    /**
     * Navigate Hyperlink
     *
     * @param fieldBegin
     * @private
     * @returns {void}
     */
    fireRequestNavigate(fieldBegin: FieldElementBox): void;
    /**
     * Copies the hyperlink URL if the context is within hyperlink.
     *
     * @returns {void}
     */
    copyHyperlink(): void;
    private isHideSelection;
    /**
     * @private
     * @returns {void}
     */
    highlightSelection(isSelectionChanged: boolean, isBookmark?: boolean): void;
    private createHighlightBorder;
    private renderHighlight;
    private getWrapPosition;
    private splitSelectionHighlightPosition;
    private addEditRegionHighlight;
    private addContentControlEditRegionHighlight;
    private addFormFieldHighlight;
    private createHighlightBorderInsideTable;
    private clipSelection;
    /**
     * Add selection highlight
     *
     * @private
     * @returns {void}
     */
    addSelectionHighlight(canvasContext: CanvasRenderingContext2D | DocumentCanvasRenderingContext2D, widget: LineWidget, top: number, page?: Page): void;
    private renderDashLine;
    /**
     * Add Selection highlight inside table
     *
     * @private
     * @returns {void}
     */
    addSelectionHighlightTable(canvasContext: CanvasRenderingContext2D | DocumentCanvasRenderingContext2D, tableCellWidget: TableCellWidget, page?: Page): void;
    private removeSelectionHighlight;
    /**
     * Selects the current word.
     *
     * @param excludeSpace True if exclude white space;
 Otherwise, false.
     * @returns {void}
     */
    selectCurrentWord(excludeSpace?: boolean): void;
    /**
     * Selects the current paragraph.
     *
     * @returns {void}
     */
    selectParagraph(): void;
    /**
     * Selects the current line.
     *
     * @returns {void}
     */
    selectLine(): void;
    /**
     * Moves the selection to the start of the document.
     *
     * @returns {void}
     */
    moveToDocumentStart(): void;
    /**
     * Moves the selection to the end of the document.
     *
     * @returns {void}
     */
    moveToDocumentEnd(): void;
    /**
     * Moves the selection to the current paragraph start.
     *
     * @returns {void}
     */
    moveToParagraphStart(): void;
    /**
     * Moves the selection to the current paragraph end.
     *
     * @returns {void}
     */
    moveToParagraphEnd(): void;
    /**
     * Moves the selection to the next line.
     *
     * @returns {void}
     */
    moveToNextLine(): void;
    /**
     * Moves the selection to the previous line.
     *
     * @returns {void}
     */
    moveToPreviousLine(): void;
    /**
     * Moves the selection to the next character.
     *
     * @returns {void}
     */
    moveToNextCharacter(): void;
    /**
     * Moves the selection to the previous character.
     *
     * @returns {void}
     */
    moveToPreviousCharacter(): void;
    private selectCurrentWordRange;
    /**
     * Extends the selection to the paragraph start.
     *
     * @returns {void}
     */
    extendToParagraphStart(): void;
    /**
     * Extends the selection to the paragraph end.
     *
     * @returns {void}
     */
    extendToParagraphEnd(): void;
    /**
     * Move to next text position
     *
     * @private
     * @returns {void}
     */
    moveNextPosition(): void;
    /**
     * Move to next paragraph
     *
     * @private
     * @returns {void}
     */
    moveToNextParagraph(): void;
    /**
     * Navigates to the next footnote from the current selection.
     *
     * @returns {void}
     */
    nextFootnote(): void;
    /**
     * Navigates to the previous footnote from the current selection.
     *
     * @returns {void}
     */
    previousFootnote(): void;
    /**
     * Navigates to the next endnote from the current selection
     *
     * @returns {void}
     */
    nextEndnote(): void;
    /**
     * Navigates to the previous endnote from the current selection.
     *
     * @returns {void}
     */
    previousEndnote(): void;
    /**
     * Move to previous text position
     *
     * @private
     * @returns {void}
     */
    movePreviousPosition(): void;
    /**
     * Move to previous paragraph
     *
     * @private
     * @returns {void}
     */
    moveToPreviousParagraph(): void;
    /**
     * Extends the selection to previous line.
     *
     * @returns {void}
     */
    extendToPreviousLine(): void;
    /**
     * Extends the selection to line end
     *
     * @returns {void}
     */
    extendToLineEnd(): void;
    /**
     * Extends the selection to line start.
     *
     * @returns {void}
     */
    extendToLineStart(): void;
    /**
     * @private
     * @returns {void}
     */
    moveUp(): void;
    /**
     * @private
     * @returns {void}
     */
    moveDown(): void;
    private updateForwardSelection;
    private updateBackwardSelection;
    /**
     * @private
     * @returns {void}
     */
    getFirstBlockInFirstCell(table: TableWidget): BlockWidget;
    /**
     * @private
     * @returns {void}
     */
    getFirstCellInRegion(row: TableRowWidget, startCell: TableCellWidget, selectionLength: number, isMovePrevious: boolean): TableCellWidget;
    /**
     * @private
     * @returns {void}
     */
    getFirstParagraph(tableCell: TableCellWidget): ParagraphWidget;
    /**
     * Get last block in last cell
     *
     * @private
     * @returns {void}
     */
    getLastBlockInLastCell(table: TableWidget): BlockWidget;
    /**
     * Moves the selection to start of the current line.
     *
     * @returns {void}
     */
    moveToLineStart(): void;
    /**
     * Moves the selection to end of the current line.
     *
     * @returns {void}
     */
    moveToLineEnd(): void;
    /**
     * Get Page top
     *
     * @private
     * @returns {void}
     */
    getPageTop(page: Page): number;
    /**
     * Move text position to cursor point
     *
     * @private
     * @returns {void}
     */
    moveTextPosition(cursorPoint: Point, textPosition: TextPosition, isMouseLeave?: boolean): void;
    /**
     * Get document start position
     *
     * @private
     * @returns {TextPosition}
     */
    getDocumentStart(): TextPosition;
    /**
     * Get document end position
     *
     * @private
     * @returns {TextPosition}
     */
    getDocumentEnd(): TextPosition;
    /**
     * @private
     * @returns {void}
     */
    handleControlEndKey(): void;
    /**
     * @private
     * @returns {void}
     */
    handleControlHomeKey(): void;
    /**
     * @private
     * @returns {void}
     */
    handleControlLeftKey(): void;
    /**
     * @private
     * @returns {void}
     */
    handleControlRightKey(): void;
    /**
     * Handles control down key.
     *
     * @private
     * @returns {void}
     */
    handleControlDownKey(): void;
    /**
     * Handles control up key.
     *
     * @private
     * @returns {void}
     */
    handleControlUpKey(): void;
    /**
     * @private
     * @returns {void}
     */
    handleShiftLeftKey(): void;
    /**
     * Handles shift up key.
     *
     * @private
     * @returns {void}
     */
    handleShiftUpKey(): void;
    /**
     * Handles shift right key.
     *
     * @private
     * @returns {void}
     */
    handleShiftRightKey(): void;
    /**
     * Handles shift down key.
     *
     * @private
     * @returns {void}
     */
    handleShiftDownKey(): void;
    /**
     * @private
     * @returns {void}
     */
    handleControlShiftLeftKey(): void;
    /**
     * Handles control shift up key.
     *
     * @private
     * @returns {void}
     */
    handleControlShiftUpKey(): void;
    /**
     * Handles control shift right key
     *
     * @private
     * @returns {void}
     */
    handleControlShiftRightKey(): void;
    /**
     * Handles control shift down key.
     *
     * @private
     * @returns {void}
     */
    handleControlShiftDownKey(): void;
    /**
     * Handles left key.
     *
     * @private
     * @returns {void}
     */
    handleLeftKey(): void;
    /**
     * Handles up key.
     *
     * @private
     * @returns {void}
     */
    handleUpKey(): void;
    /**
     * Handles right key.
     *
     * @private
     * @returns {void}
     */
    handleRightKey(): void;
    /**
     * Handles end key.
     *
     * @private
     * @returns {void}
     */
    handleEndKey(): void;
    /**
     * Handles home key.
     *
     * @private
     * @returns {void}
     */
    handleHomeKey(): void;
    /**
     * Handles down key.
     *
     * @private
     * @returns {void}
     */
    handleDownKey(): void;
    /**
     * Handles shift end key.
     *
     * @private
     * @returns {void}
     */
    handleShiftEndKey(): void;
    /**
     * Handles shift home key.
     *
     * @private
     * @returns {void}
     */
    handleShiftHomeKey(): void;
    /**
     * Handles control shift end key.
     *
     * @private
     * @returns {void}
     */
    handleControlShiftEndKey(): void;
    /**
     * Handles control shift home key.
     *
     * @private
     * @returns {void}
     */
    handleControlShiftHomeKey(): void;
    /**
     * @private
     * @returns {void}
     */
    handleSpaceBarKey(): void;
    /**
     * Handles tab key.
     *
     * @param isNavigateInCell
     * @param isShiftTab
     * @private
     * @returns {void}
     */
    handleTabKey(isNavigateInCell: boolean, isShiftTab: boolean): void;
    /**
    * @private
    * @returns {void}
    */
    handlePageUpPageDownKey(isPageDown: boolean, shiftKey: boolean): void;
    private getFormFieldInFormFillMode;
    private selectPrevNextFormField;
    /**
     * @private
     * @returns {void}
     */
    navigateToNextFormField(): void;
    /**
     * @private
     * @returns {void}
     */
    selectTextElementStartOfField(formField: FieldElementBox): void;
    private triggerFormFillEvent;
    /**
     * @private
     * @returns {void}
     */
    triggerContentControlFillEvent(): void;
    private selectPreviousCell;
    private selectNextCell;
    /**
     * Select given table cell
     *
     * @private
     * @returns {void}
     */
    selectTableCellInternal(tableCell: TableCellWidget, clearMultiSelection: boolean): void;
    /**
     * Select while table
     *
     * @private
     * @returns {void}
     */
    private selectTableInternal;
    /**
     * @private
     */
    getTableRevision(): number;
    /**
     * Select single column
     *
     * @private
     * @returns {void}
     */
    selectColumnInternal(): void;
    /**
     * Select single row
     *
     * @private
     * @returns {void}
     */
    selectTableRow(): void;
    /**
     * Select single cell
     *
     * @private
     * @returns {void}
     */
    selectTableCell(): void;
    /**
     * Selects the entire document.
     *
     * @returns {void}
     */
    selectAll(): void;
    /**
     * Extends the selection backward.
     *
     * @returns {void}
     */
    extendBackward(): void;
    /**
     * Extends the selection forward.
     *
     * @returns {void}
     */
    extendForward(): void;
    /**
     * Extend selection to word start and end
     *
     * @private
     * @returns {void}
     */
    extendToWordStartEnd(): boolean;
    /**
     * Extends the selection to word start.
     *
     * @returns {void}
     */
    extendToWordStart(): void;
    /**
     * Extends the selection to word end.
     *
     * @returns {void}
     */
    extendToWordEnd(): void;
    /**
     * Extends selection to word start
     *
     * @private
     * @returns {void}
     */
    extendToWordStartInternal(isNavigation: boolean): void;
    /**
     * Extends the selection to word end.
     *
     * @returns {void}
     */
    extendToWordEndInternal(isNavigation: boolean): void;
    /**
     * Extends the selection to next line.
     *
     * @returns {void}
     */
    extendToNextLine(): void;
    private getTextPosition;
    /**
     * Get Selected text
     *
     * @private
     * @returns {void}
     */
    getText(includeObject: boolean): string;
    /**
     * Get selected text
     *
     * @private
     * @returns {string}
     */
    getTextInternal(start: TextPosition, end: TextPosition, includeObject: boolean): string;
    /**
     * @private
     * @param block
     * @param offset
     * @returns {string}
     */
    getHierarchicalIndex(block: Widget, offset: string): string;
    /**
     * @private
     * @returns {string}
     */
    getHierarchicalIndexByPosition(position: TextPosition): string;
    /**
     * @private
     * @returns {TextPosition}
     */
    getTextPosBasedOnLogicalIndex(hierarchicalIndex: string): TextPosition;
    /**
     * Get offset value to update in selection
     *
     * @private
     * @returns {LineInfo}
     */
    getLineInfoBasedOnParagraph(paragraph: ParagraphWidget, offset: number): LineInfo;
    /**
     * @private
     * @returns {ParagraphInfo}
     */
    getParagraph(position: IndexInfo): ParagraphInfo;
    /**
     * Gets body widget based on position.
     *
     * @private
     * @returns {BlockContainer}
     */
    getBodyWidget(position: IndexInfo): BlockContainer;
    private getFootNoteWidget;
    private getHeaderFooterWidget;
    /**
     * @private
     * @returns {BodyWidget}
     */
    getBodyWidgetInternal(sectionIndex: number, blockIndex: number): BodyWidget;
    private getParagraphInternal;
    /**
     * @private
     * @returns {Widget}
     */
    getBlockByIndex(container: Widget, blockIndex: number, position?: IndexInfo): Widget;
    /**
     * Get logical offset of paragraph.
     *
     * @private
     * @returns {ParagraphInfo}
     */
    getParagraphInfo(position: TextPosition): ParagraphInfo;
    /**
     * Get the start or end cell from current selection
     *
     * @private
     * @returns {TableCellWidget}
     */
    getCellFromSelection(type: number): TableCellWidget;
    /**
     * Get the start cell or end cell in table with merged cells from current selection.
     *
     * @private
     * @returns {TableCellWidget}
     */
    getCellFromSelectionInTable(type: number): TableCellWidget;
    /**
     * Get the actual offset from the current selection.
     *
     * @private
     * @returns {string}
     */
    getActualOffset(cell: TableCellWidget, type: number): string;
    /**
     * Get the properties for Bookmark.
     *
     * @private
     * @returns {object}
     */
    getBookmarkProperties(bookmark: BookmarkElementBox): object;
    /**
     * Returns true if Paragraph Mark is selected.
     *
     * @private
     * @returns {boolean}
     */
    isParagraphMarkSelected(): boolean;
    /**
     * Returns true if Row is selected.
     *
     * @private
     * @returns {boolean}
     */
    isRowSelected(): boolean;
    /**
     * Get the bounds of row and col index from selected cells
     *
     * @private
     * @returns {object}
     */
    getCellBoundsInfo(): object;
    /**
     * Return true if the selection has merged cells, else false.
     *
     * @private
     * @returns {boolean}
     */
    hasMergedCells(): boolean;
    /**
     * @private
     * @returns {ParagraphInfo}
     */
    getParagraphInfoInternal(line: LineWidget, lineOffset: number): ParagraphInfo;
    /**
     * @private
     * @returns {ListTextElementBox}
     */
    getListTextElementBox(paragarph: ParagraphWidget): ListTextElementBox;
    /**
     * @private
     * @returns {WListLevel}
     */
    getListLevel(paragraph: ParagraphWidget): WListLevel;
    private getTextInline;
    /**
     * Returns field code.
     *
     * @private
     * @param fieldBegin
     * @returns {string}
     */
    getFieldCode(fieldBegin: FieldElementBox, isSkipTrim?: boolean): string;
    private getFieldCodeInternal;
    /**
     * @private
     * @returns {FieldElementBox}
     */
    getTocFieldInternal(): FieldElementBox;
    /**
     * Get next paragraph in bodyWidget
     *
     * @private
     * @returns {ParagraphWidget}
     */
    getNextParagraph(section: BodyWidget): ParagraphWidget;
    /**
     * @private
     * @returns {ParagraphWidget}
     */
    getPreviousParagraph(section: BodyWidget): ParagraphWidget;
    /**
     * Get Next start inline
     *
     * @private
     * @returns {ElementBox}
     */
    getNextStartInline(line: LineWidget, offset: number): ElementBox;
    /**
     * Get previous text inline
     *
     * @private
     * @returns {ElementBox}
     */
    getPreviousTextInline(inline: ElementBox): ElementBox;
    /**
     * Get next text inline
     *
     * @private
     * @returns {ElementBox}
     */
    getNextTextInline(inline: ElementBox): ElementBox;
    /**
     * Get container table
     *
     * @private
     * @returns {TableWidget}
     */
    getContainerTable(block: BlockWidget): TableWidget;
    /**
     * @private
     * @param element
     * @returns
     */
    isElementInSelection(element: ElementBox, isEnd: boolean): boolean;
    /**
     * @private
     */
    isSelectionInsideElement(element: ElementBox): boolean;
    /**
     * @private
     * @returns {boolean}
     */
    isExistBefore(start: BlockWidget, block: BlockWidget): boolean;
    /**
     * @private
     * @returns {boolean}
     */
    isExistAfter(start: BlockWidget, block: BlockWidget): boolean;
    /**
     * Return true if current inline in exist before inline
     *
     * @private
     * @returns {boolean}
     */
    isExistBeforeInline(currentInline: ElementBox, inline: ElementBox): boolean;
    /**
     * Return true id current inline is exist after inline
     *
     * @private
     * @returns {boolean}
     */
    isExistAfterInline(currentInline: ElementBox, inline: ElementBox, isRetrieve?: boolean): boolean;
    /**
     * Get next rendered block
     *
     * @private
     * @returns {BlockWidget}
     */
    getNextRenderedBlock(block: BlockWidget): BlockWidget;
    /**
     * Get next rendered block
     *
     * @private
     * @returns {BlockWidget}
     */
    getPreviousRenderedBlock(block: BlockWidget): BlockWidget;
    /**
     * Get Next paragraph in block
     *
     * @private
     * @returns {ParagraphWidget}
     */
    getNextParagraphBlock(block: BlockWidget): ParagraphWidget;
    /**
     * @private
     * @returns {ParagraphWidget}
     */
    getFirstBlockInNextHeaderFooter(block: BlockWidget): ParagraphWidget;
    /**
     * @private
     * @returns {ParagraphWidget}
     */
    getLastBlockInPreviousHeaderFooter(block: BlockWidget): ParagraphWidget;
    /**
     * Get previous paragraph in block
     *
     * @private
     * @returns {ParagraphWidget}
     */
    getPreviousParagraphBlock(block: BlockWidget, isAutoList?: boolean): ParagraphWidget;
    /**
     * Return true if paragraph has valid inline
     *
     * @private
     * @returns {ParagraphWidget}
     */
    hasValidInline(paragraph: ParagraphWidget, start: ElementBox, end: ElementBox): boolean;
    /**
     * Get paragraph length
     *
     * @private
     * @returns {number}
     */
    getParagraphLength(paragraph: ParagraphWidget, endLine?: LineWidget, elementInfo?: ElementInfo, includeShape?: boolean): number;
    /**
     * Get Line length
     *
     * @private
     * @returns {number}
     */
    getLineLength(line: LineWidget, elementInfo?: ElementInfo, includeShape?: boolean): number;
    /**
     * Get line information
     *
     * @private
     * @returns {LineInfo}
     */
    getLineInfo(paragraph: ParagraphWidget, offset: number): LineInfo;
    /**
     * @private
     * @returns {ElementInfo}
     */
    getElementInfo(line: LineWidget, offset: number): ElementInfo;
    /**
     * Get paragraph start offset
     *
     * @private
     * @returns {number}
     */
    getStartOffset(paragraph: ParagraphWidget): number;
    /**
     * @private
     */
    getStartLineOffset(line: LineWidget, isNavigate?: boolean): 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 previous valid offset
     *
     * @private
     */
    getPreviousValidOffset(line: LineWidget, offset: number): number;
    /**
     * Get next valid offset
     *
     * @private
     */
    getNextValidOffset(line: LineWidget, offset: number, isNavigate?: boolean): number;
    /**
     * Get paragraph mark size info
     *
     * @private
     */
    getParagraphMarkSize(paragraph: ParagraphWidget, topMargin: number, bottomMargin: number): SizeInfo;
    /**
     * @private
     */
    getPhysicalPositionInternal(line: LineWidget, offset: number, moveNextLine: boolean): Point;
    /**
     * Highlight selected content
     *
     * @private
     */
    highlightSelectedContent(start: TextPosition, end: TextPosition): void;
    private showResizerForShape;
    /**
     * @private
     * @returns {void}
     */
    highlight(paragraph: ParagraphWidget, start: TextPosition, end: TextPosition, contentControl?: ContentControl): void;
    private highlightNextBlock;
    /**
     * Get start line widget
     * @private
     * @returns {ElementInfo}
     */
    getStartLineWidget(paragraph: ParagraphWidget, start: TextPosition, startElement: ElementBox, selectionStartIndex: number): ElementInfo;
    /**
     * Get end line widget
     * @private
     */
    getEndLineWidget(end: TextPosition, endElement: ElementBox, selectionEndIndex: number): ElementInfo;
    /**
     * Get line widget
     * @private
     */
    getLineWidgetInternal(line: LineWidget, offset: number, moveToNextLine: boolean): LineWidget;
    /**
     * Get last line widget
     * @private
     */
    getLineWidgetParagraph(offset: number, line: LineWidget): LineWidget;
    /**
     * Highlight selected cell
     * @private
     */
    highlightCells(table: TableWidget, startCell: TableCellWidget, endCell: TableCellWidget): void;
    /**
     * highlight selected table
     *
     * @private
     */
    highlightTable(table: TableWidget, start: TextPosition, end: TextPosition): void;
    private highlightTableCells;
    /**
     * 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, skipParaMark?: boolean): boolean;
    /**
    * Return true if cell or row selected
    *
    * @private
    */
    isCellOrRowSelected(): boolean;
    /**
     * Return Container cell
     *
     * @private
     */
    getContainerCellOf(cell: TableCellWidget, tableCell: TableCellWidget): TableCellWidget;
    /**
     * Get Selected cell
     *
     * @private
     */
    getSelectedCell(cell: TableCellWidget, containerCell: TableCellWidget): TableCellWidget;
    /**
     * @private
     */
    getSelectedCells(): TableCellWidget[];
    /**
     * @private
     * @return
     */
    getLevelFormatNumber(): string;
    /**
     * Get Next paragraph from cell
     *
     * @private
     */
    getNextParagraphCell(cell: TableCellWidget): ParagraphWidget;
    /**
     * Get previous paragraph from cell
     *
     * @private
     */
    getPreviousParagraphCell(cell: TableCellWidget): ParagraphWidget;
    /**
     * Get cell's container cell
     *
     * @private
     */
    getContainerCell(cell: TableCellWidget): TableCellWidget;
    /**
     * Highlight selected cell
     *
     * @private
     */
    highlightCell(cell: TableCellWidget, selection: Selection, start: TextPosition, end: TextPosition): void;
    /**
     * @private
     */
    highlightContainer(cell: TableCellWidget, start: TextPosition, end: TextPosition): void;
    /**
     * Get previous valid element
     *
     * @private
     */
    getPreviousValidElement(inline: ElementBox): ElementBox;
    /**
     * 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
     */
    isRenderBookmarkAtEnd(bookmark: BookmarkElementBox): boolean;
    /**
     * Get paragraph end position
     *
     * @private
     */
    getEndPosition(widget: ParagraphWidget): Point;
    /**
     * Get element box
     *
     * @private
     */
    getElementBox(currentInline: ElementBox, index: number, moveToNextLine: boolean): ElementInfo;
    /**
     * @private
     */
    getPreviousTextElement(inline: ElementBox): ElementBox;
    /**
     * Get next text inline
     *
     * @private
     */
    getNextTextElement(inline: ElementBox): ElementBox;
    /**
     * @private
     */
    getNextRenderedElementBox(inline: ElementBox, indexInInline: number): ElementBox;
    /**
     * @private
     */
    getElementBoxInternal(inline: ElementBox, index: number): ElementInfo;
    /**
     * Get Line widget
     *
     * @private
     */
    getLineWidget(inline: ElementBox, index: number): LineWidget;
    /**
     * @private
     */
    getLineWidgetInternalInline(inline: ElementBox, index: number, moveToNextLine: boolean): LineWidget;
    /**
     * Get next line widget
     *
     * @private
     */
    private getNextLineWidget;
    private getCaretHeight;
    private getFieldCharacterHeight;
    /**
     * Get rendered inline
     *
     * @private
     */
    getRenderedInline(inline: FieldElementBox, inlineIndex: number): ElementInfo;
    /**
     * Get rendered field
     *
     * @private
     */
    getRenderedField(fieldBegin: FieldElementBox): FieldElementBox;
    /**
     * Return true is inline is tha last inline
     *
     * @private
     */
    isLastRenderedInline(inline: ElementBox, index: number): boolean;
    /**
     * Get page
     *
     * @private
     */
    getPage(widget: Widget): Page;
    /**
     * Clear Selection highlight
     *
     * @private
     */
    clearSelectionHighlightInSelectedWidgets(): boolean;
    /**
     * Clear selection highlight
     *
     * @private
     */
    clearChildSelectionHighlight(widget: Widget): void;
    /**
     * Get line widget from paragraph widget
     *
     * @private
     */
    getLineWidgetBodyWidget(widget: Widget, point: Point, isGetFirstChild?: boolean): LineWidget;
    /**
     * Get line widget from paragraph widget
     *
     * @private
     */
    getLineWidgetParaWidget(widget: ParagraphWidget, point: Point): LineWidget;
    private highlightParagraph;
    /**
     * Get line widget form table widget
     *
     * @private
     */
    getLineWidgetTableWidget(widget: TableWidget, point: Point): LineWidget;
    /**
     * Get line widget fom row
     *
     * @private
     */
    getLineWidgetRowWidget(widget: TableRowWidget, point: Point): LineWidget;
    /**
     * @private
     */
    getFirstBlock(cell: TableCellWidget): BlockWidget;
    /**
     * Highlight selected cell widget
     *
     * @private
     */
    highlightCellWidget(widget: TableCellWidget): void;
    /**
     * Clear selection highlight
     *
     * @private
     */
    clearSelectionHighlight(widget: IWidget): void;
    /**
     * Get line widget from cell widget
     *
     * @private
     */
    getLineWidgetCellWidget(widget: TableCellWidget, point: Point): LineWidget;
    /**
     * update text position
     *
     * @private
     */
    updateTextPosition(widget: LineWidget, point: Point): void;
    /**
     * @private
     */
    updateTextPositionIn(widget: LineWidget, inline: ElementBox, index: number, caretPosition: Point, includeParagraphMark: boolean): TextPositionInfo;
    /**
     * @private
     */
    checkAllFloatingElements(widget: LineWidget, caretPosition: Point): ShapeInfo;
    /**
     * Get text length if the line widget
     *
     * @private
     */
    getTextLength(widget: LineWidget, element: ElementBox): number;
    /**
     * Get Line widget left
     *
     * @private
     */
    getLeft(widget: LineWidget): number;
    /**
     * Get line widget top
     *
     * @private
     */
    getTop(widget: LineWidget): number;
    /**
     * Get first element the widget
     *
     * @private
     */
    getFirstElement(widget: LineWidget, left: number): FirstElementInfo;
    /**
     * Return inline index
     *
     * @private
     */
    getIndexInInline(elementBox: ElementBox): number;
    /**
     * Return true if widget is first inline of paragraph
     *
     * @private
     */
    isParagraphFirstLine(widget: LineWidget): boolean;
    /**
     * @param widget
     * @private
     */
    isParagraphLastLine(widget: LineWidget): boolean;
    /**
     * Return line widget width
     *
     * @private
     */
    getWidth(widget: LineWidget, includeParagraphMark: boolean): number;
    /**
     * Return line widget left
     *
     * @private
     */
    getLeftInternal(widget: LineWidget, elementBox: ElementBox, index: number, skipPadding?: boolean): 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, isBookmark?: boolean): void;
    /**
     * Selects current paragraph
     * @private
     */
    selectParagraphInternal(paragraph: ParagraphWidget, positionAtStart: boolean): void;
    /**
     * @private
     */
    setPositionForBlock(block: BlockWidget, selectFirstBlock: boolean): TextPosition;
    /**
     * Select content in given text position
     * @private
     */
    selectContent(textPosition: TextPosition, clearMultiSelection: boolean): void;
    /**
     * Select paragraph
     * @private
     */
    selectInternal(lineWidget: LineWidget, element: ElementBox, index: number, physicalLocation: Point): void;
    /**
     * @private
     */
    selects(lineWidget: LineWidget, offset: number, skipSelectionChange: boolean): void;
    /**
     * Select content between start and end position
     * @private
     */
    selectPosition(startPosition: TextPosition, endPosition: TextPosition): void;
    /**
     * Notify selection change event
     * @private
     */
    fireSelectionChanged(isSelectionChanged: boolean, isKeyBoardNavigation?: boolean, isBookmark?: boolean): void;
    /**
     * Notify selection change event
     * @private
     */
    updateContentControlHighlightSelection(): void;
    /**
     * Retrieve all current selection format
     * @private
     */
    retrieveCurrentFormatProperties(): void;
    private triggerSpellCheckWhenSelectionChanges;
    /**
     * @private
     */
    retrieveImageFormat(start: TextPosition, end: TextPosition): void;
    /**
     * Gets the context type of previous character or element.
     * @param isElement - Decides whether to get previous context type from element or character. By default, character.
     * @returns Returns the context type of previous character or element.
     */
    getPreviousContextType(isElement?: boolean): string;
    /**
     * Gets the context type of next character or element.
     * @param isElement - Decides whether to get next context type from element or character. By default, character.
     * @return Returns the context type of next character or element.
     */
    getNextContextType(isElement?: boolean): string;
    private getContextElement;
    private getContentControlPositions;
    /**
    * Retrieves the information about the content control associated with the current selection.
    *
    * @returns {ContentControlInfo} An object containing details about the content control, including
    * its title, tag, value, editability, deletability, type, and any XML mapping if applicable.
    */
    getContentControlInfo(): ContentControlInfo;
    private setCurrentContextType;
    private addItemRevisions;
    /**
     * @private
     */
    hasRevisions(): boolean;
    private getCurrentRevision;
    private processLineRevisions;
    /**
     * @private
     * @param isFromAccept
     */
    handleAcceptReject(isFromAccept: boolean): void;
    private acceptReject;
    private getselectedRevisionElements;
    private getSelectedLineRevisions;
    private addRevisionsCollec;
    /**
     * Retrieve selection table format
     * @private
     */
    retrieveTableFormat(start: TextPosition, end: TextPosition): void;
    /**
     * Retrieve selection cell format
     * @private
     */
    retrieveCellFormat(start: TextPosition, end: TextPosition): void;
    /**
     * Retrieve selection row format
     * @private
     */
    retrieveRowFormat(start: TextPosition, end: TextPosition): void;
    /**
     * Get selected cell format
     * @private
     */
    getCellFormat(table: TableWidget, start: TextPosition, end: TextPosition): void;
    /**
     * Get selected row format
     * @private
     */
    getRowFormat(table: TableWidget, start: TextPosition, end: TextPosition): void;
    /**
     * Return table with given text position
     * @private
     */
    getTable(startPosition: TextPosition, endPosition: TextPosition): TableWidget;
    /**
     * @private
     */
    getContainerWidget(block: BlockWidget): BlockContainer;
    /**
     * 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
     */
    getParagraphsInSelection(): ParagraphWidget[];
    /**
     * @private
     */
    getParagraphFormatInternalInParagraph(paragraph: ParagraphWidget, start: TextPosition, end: TextPosition): void;
    /**
     * @private
     */
    getParagraphFormatInternalInBlock(block: BlockWidget, start: TextPosition, end: TextPosition): void;
    /**
     * @private
     */
    getParagraphFormatInternalInTable(table: TableWidget, start: TextPosition, end: TextPosition): void;
    /**
     * Get paragraph format in cell
     * @private
     */
    getParagraphFormatInCell(cell: TableCellWidget): void;
    /**
     * @private
     */
    getParagraphFormatInBlock(block: BlockWidget): void;
    /**
     * @private
     */
    getParagraphFormatInTable(tableAdv: TableWidget): void;
    /**
     * @private
     */
    getParagraphFormatInParagraph(paragraph: ParagraphWidget): void;
    /**
     * Get paragraph format in cell
     * @private
     */
    getParagraphFormatInternalInCell(cellAdv: TableCellWidget, start: TextPosition, end: TextPosition): void;
    /**
     * @private
     */
    getParaFormatForCell(table: TableWidget, startCell: TableCellWidget, endCell: TableCellWidget): void;
    /**
     * Get paragraph format ins row
     * @private
     */
    getParagraphFormatInRow(tableRow: TableRowWidget, start: TextPosition, end: TextPosition): void;
    /**
     * Retrieve Selection character format
     * @private
     */
    retrieveCharacterFormat(start: TextPosition, end: TextPosition): void;
    /**
     * @private
     */
    getCharacterFormatForSelection(paragraph: ParagraphWidget, selection: Selection, startPosition: TextPosition, endPosition: TextPosition): void;
    /**
     * Get Character format
     * @private
     */
    getCharacterFormatForTableRow(tableRowAdv: TableRowWidget, start: TextPosition, end: TextPosition): void;
    /**
     * Get Character format in table
     * @private
     */
    getCharacterFormatInTableCell(tableCell: TableCellWidget, selection: Selection, start: TextPosition, end: TextPosition): void;
    /**
     * @private
     */
    getCharacterFormatInternalInTable(table: TableWidget, startCell: TableCellWidget, endCell: TableCellWidget, startPosition: TextPosition, endPosition: TextPosition): void;
    /**
     * Get character format with in selection
     * @private
     */
    getCharacterFormat(paragraph: ParagraphWidget, start: TextPosition, end: TextPosition): void;
    private setCharacterFormat;
    /**
     * @private
     */
    getCharacterFormatForBlock(block: BlockWidget, start: TextPosition, end: TextPosition): void;
    /**
     * @private
     */
    getCharacterFormatInTable(table: TableWidget, start: TextPosition, end: TextPosition): void;
    /**
     * Get character format in selection
     * @private
     */
    getCharacterFormatForSelectionCell(cell: TableCellWidget, start: TextPosition, end: TextPosition): void;
    /**
     * @private
     */
    getCharacterFormatInternal(paragraph: ParagraphWidget, selection: Selection): void;
    /**
     * Get next valid character format from inline
     * @private
     */
    getNextValidCharacterFormat(inline: ElementBox): WCharacterFormat;
    /**
     * Get next valid paragraph format from field
     * @private
     */
    getNextValidCharacterFormatOfField(fieldBegin: FieldElementBox): WCharacterFormat;
    /**
     * Return true if cursor point with in selection range
     * @private
     */
    checkCursorIsInSelection(widget: IWidget, point: Point): boolean;
    /**
     * Copy paragraph for to selection paragraph format
     * @private
     */
    copySelectionParagraphFormat(): WParagraphFormat;
    /**
     * Get hyperlink display text
     * @private
     */
    getHyperlinkDisplayText(paragraph: ParagraphWidget, fieldSeparator: FieldElementBox, fieldEnd: FieldElementBox, isNestedField: boolean, format: WCharacterFormat): HyperlinkTextInfo;
    /**
     * Navigates hyperlink on mouse Event.
     * @private
     */
    navigateHyperLinkOnEvent(cursorPoint: Point, isTouchInput: boolean): void;
    /**
     * @private
     */
    getLinkText(fieldBegin: FieldElementBox, copyAddress?: boolean): string;
    /**
     * Set Hyperlink content to tool tip element
     * @private
     */
    setHyperlinkContentToToolTip(fieldBegin: FieldElementBox, widget: LineWidget, xPos: number, isFormField?: boolean): void;
    /**
    * Get screenTip text
    * @private
    */
    getScreenTipText(fieldBegin: FieldElementBox): string;
    /**
     * Set Hyperlink content to tool tip element
     * @private
     */
    setFootnoteContentToToolTip(footnote: FootnoteElementBox, widget: LineWidget, xPos: number): void;
    /**
     * Set locked content info to tool tip element
     * @private
     */
    setLockInfoTooptip(widget: LineWidget, xPos: number, user: string): void;
    /**
     * @private
     */
    getTooltipPosition(widget: LineWidget, xPos: number, toolTipElement: HTMLElement, isFormField: boolean): Point;
    /**
     * @private
     */
    updateSelectionInfo(info: SelectionInfo): SelectionInfo;
    /**
     * @private
     */
    createPasteElement(top: string, left: string): void;
    /**
     * @private
     */
    pasteOptions: (event: splitbuttons.MenuEventArgs) => void;
    /**
    * Returns an array of context-based paste options.
    *
    * @returns {(PasteOptions | TablePasteOptions)[]} An array containing the available paste options.
    */
    getContextBasedPasteOptions(sfdtContent: string): string[];
    /**
     * Show hyperlink tooltip
     * @private
     */
    showToolTip(x: number, y: number): void;
    /**
     * Hide tooltip object
     * @private
     */
    hideToolTip(): void;
    /**
     * Return hyperlink field
     * @private
     */
    getHyperLinkFieldInCurrentSelection(widget: LineWidget, cursorPosition: Point, isFormField?: boolean): FieldElementBox;
    /**
     * Return FootnoteElementBox
     * @private
     */
    getFootNoteElementInCurrentSelection(lineWidget: LineWidget, position: Point): FootnoteElementBox;
    /**
     * Return field if paragraph contain hyperlink field
     * @private
     */
    getHyperlinkField(isRetrieve?: boolean): FieldElementBox;
    /**
     * @private
     */
    getHyperLinkFields(paragraph: ParagraphWidget, checkedFields: FieldElementBox[], isRetrieve: boolean, checkFormField?: boolean): FieldElementBox;
    /**
     * @private
     */
    getHyperLinkFieldInternal(paragraph: Widget, inline: ElementBox, fields: FieldElementBox[], isRetrieve: boolean, checkFormField: boolean): FieldElementBox;
    /**
     * @private
     */
    getBlock(currentIndex: string): BlockWidget;
    /**
     * Return Block relative to position
     * @private
     */
    getBlockInternal(widget: Widget, position: string): BlockWidget;
    /**
     * Return true if inline is in field result
     * @private
     */
    inlineIsInFieldResult(fieldBegin: FieldElementBox, fieldEnd: ElementBox, fieldSeparator: FieldElementBox, inline: ElementBox, isRetrieve?: boolean): boolean;
    /**
     * Retrieve true if paragraph is in field result
     * @private
     */
    paragraphIsInFieldResult(fieldBegin: FieldElementBox, paragraph: ParagraphWidget): boolean;
    /**
     * Return true if image is In field
     * @private
     */
    isImageField(): boolean;
    /**
     * Return true if selection is in Form field
     * @private
     */
    isFormField(): boolean;
    /**
     * Return true if selection is in reference field
     * @private
     */
    isReferenceField(field?: FieldElementBox): boolean;
    /**
     * Return true if selection is in text form field
     * @private
     */
    isInlineFormFillMode(field?: FieldElementBox): boolean;
    /**
     * @private
     */
    getFormFieldType(formField?: FieldElementBox): FormFieldType;
    /**
     * Get selected form field type
     * @private
     */
    getCurrentFormField(checkFieldResult?: boolean): FieldElementBox;
    /**
     * @private
     */
    getCurrentTextFrame(): TextFrame;
    /**
     * @private
     */
    isTableSelected(isNested?: boolean): boolean;
    /**
     * Returns true if the complete columns in the table is selected
     * @private
     */
    isWholeColumnSelected(): boolean;
    /**
     * Select List Text
     * @private
     */
    selectListText(): void;
    /**
     * Manually select the list text
     * @private
     */
    highlightListText(linewidget: LineWidget): void;
    /**
     * @private
     */
    updateImageSize(imageFormat: ImageSizeInfo): void;
    /**
     * Gets selected table content
     * @private
     */
    private getSelectedCellsInTable;
    /**
     * Copies the selected content to clipboard.
     *
     * @returns {void}
     */
    copy(): void;
    /**
     * @private
     *
     * @returns {void}
     */
    copySelectedContent(isCut: boolean): void;
    /**
     * Write the selected content as SFDT.
     * @returns SFDT Object.
     */
    private writeSfdt;
    /**
     * @private
     */
    getHtmlContent(skipStyle?: boolean): string;
    private copyToClipboard;
    /**
     * @private
     */
    onCopy(event: ClipboardEvent): void;
    /**
     * Shows caret in current selection position.
     *
     * @private
     * @returns {void}
     */
    showCaret(): void;
    /**
     * To set the editable div caret position
     *
     * @private
     * @returns {void}
     */
    setEditableDivCaretPosition(index: number): void;
    /**
     * Hides caret.
     *
     * @private
     * @returns {void}
     */
    hideCaret: () => void;
    /**
     * Initializes caret.
     *
     * @private
     * @returns {void}
     */
    initCaret(): void;
    /**
     * Updates caret position.
     *
     * @private
     * @returns {void}
     */
    updateCaretPosition(): void;
    /**
     * @private
     * @returns {void}
     */
    showHidePasteOptions(top: string, left: string): void;
    /**
     * @private
     */
    getRect(position: TextPosition): Point;
    /**
     * Gets current selected page
     * @private
     */
    getSelectionPage(position: TextPosition): Page;
    /**
     * Updates caret size.
     * @private
     */
    updateCaretSize(textPosition: TextPosition, skipUpdate?: boolean): CaretHeightInfo;
    /**
     * Updates caret to page.
     * @private
     * @returns {void}
     */
    updateCaretToPage(startPosition: TextPosition, endPage: Page): void;
    /**
     * Gets caret bottom position.
     * @private
     */
    getCaretBottom(textPosition: TextPosition, isEmptySelection: boolean): number;
    /**
     * Checks for cursor visibility.
     *
     * @private
     * @returns {void}
     */
    checkForCursorVisibility(): void;
    /**
     * Keyboard shortcuts
     *
     * @private
     * @returns {void}
     */
    onKeyDownInternal(event: KeyboardEvent, ctrl: boolean, shift: boolean, alt: boolean): void;
    /**
     * @private
     */
    checkAndEnableHeaderFooter(point: Point, pagePoint: Point): boolean;
    /**
     * @private
     */
    isCursorInsidePageRect(point: Point, page: Page): boolean;
    /**
     * @private
     */
    isCursorInHeaderRegion(point: Point, page: Page): boolean;
    /**
     * @private
     */
    isCursorInFooterRegion(point: Point, page: Page): boolean;
    /**
     * @private
     */
    enableHeadersFootersRegion(widget: HeaderFooterWidget, page: Page): boolean;
    /**
    * Disable xml
    * @private
    */
    disableXml(): void;
    /**
     * /* Here is the explanation for the code below:
        1. When there are multiple sections in a document, the first section is the parent section of the other sections.
        2. If you change the page width or header distance of the parent section, the child section will inherit the page width or header distance of the parent section.
        3. So when you change the page width or header distance of the parent section, the child section should be relayouted.
     * @private
     */
    private comparePageWidthAndMargins;
    /**
     * @private
     */
    shiftBlockOnHeaderFooterEnableDisable(): void;
    /**
     * @private
     */
    updateTextPositionForBlockContainer(widget: BlockContainer): void;
    /**
     * Disable Header footer
     * @private
     */
    disableHeaderFooter(): void;
    /**
     * @private
     * @returns {void}
     */
    clear(): void;
    /**
     * @private
     * @returns {void}
     */
    destroy(): void;
    /**
     * Returns the cells in between the bounds.
     * @param table Specify the table to find cells.
     * @param columnFirst Specify start index of column to find cells.
     * @param columnLast Specify end index of column to find cells.
     * @param bookmark Specify the bookmark element.
     */
    getCellsToSelect(table: TableWidget, columnFirst: number, columnLast: number, bookmark: BookmarkElementBox): TableCellWidget[];
    /**
     * Selects the cells between bookmark start and end.
     * @param bookmark Specify the bookmark.
     */
    selectBookmarkInTable(bookmark: BookmarkElementBox): void;
    /**
     * Navigates to the specified bookmark.
     * @param name
     * @param moveToStart
     * @param excludeBookmarkStartEnd
     * @private
     */
    navigateBookmark(name: string, moveToStart?: boolean, excludeBookmarkStartEnd?: boolean): void;
    /**
     * Selects the specified bookmark.
     * @param name Specify the bookmark name to select.
     * @param excludeBookmarkStartEnd Specify true to exclude bookmark start and end from selection, otherwise false.
     */
    selectBookmark(name: string, excludeBookmarkStartEnd?: boolean): void;
    /**
     * Returns the toc field from the selection.
     * @private
     */
    getTocField(): FieldElementBox;
    /**
     * Returns true if the paragraph has toc style.
     */
    private isTocStyle;
    /**
     * Return true if selection is in TOC
     * @private
     */
    isTOC(): boolean;
    /**
     * @private
     */
    getElementsForward(lineWidget: LineWidget, startElement: ElementBox, endElement: ElementBox, bidi: boolean): ElementBox[];
    /**
     * @private
     */
    getElementsBackward(lineWidget: LineWidget, startElement: ElementBox, endElement: ElementBox, bidi: boolean): ElementBox[];
    /**
     * Navigates to the previous comment in the document.
     *
     * @returns {void}
     */
    navigatePreviousComment(): void;
    /**
     * Navigates to the next comment in the document.
     *
     * @returns {void}
     */
    navigateNextComment(): void;
    private commentNavigateInternal;
    /**
     * Navigates to the previous revision in the document.
     *
     * @returns {void}
     */
    navigatePreviousRevision(): void;
    /**
     * Navigates to the next revision in the document.
     *
     * @returns {void}
     */
    navigateNextRevision(): void;
    /**
     * Method to navigate revisions
     *
     * @private
     * @returns {void}
     */
    private revisionNavigateInternal;
    /**
     * @private
     * @returns {void}
     */
    selectComment(comment: CommentElementBox): void;
    /**
     * @private
     * @param revision
     * @returns {void}
     */
    selectRevision(revision: Revision, startPosition?: TextPosition, endPosition?: TextPosition): void;
    private isEmptyWidget;
    /**
     * @private
     */
    selectTableRevision(revision: Revision[]): void;
    /**
     * @private
     * @returns {void}
     */
    updateEditRangeCollection(): void;
    /**
     * @private
     * @returns {void}
     */
    onHighlight(): void;
    /**
     * @private
     * @returns {void}
     */
    onHighlightContentControl(): void;
    /**
     * @private
     * @returns {void}
     */
    highlightContentControlEditRegionInternal(editRangeStart: ContentControl): void;
    /**
     * @private
     * @returns {void}
     */
    selectPlaceHolderText(contentControl: ContentControl): void;
    /**
     * @private
     * @returns {void}
     */
    isPlainContentControl(): boolean;
    /**
     * @private
     * @returns {void}
     */
    highlightEditRegion(): void;
    /**
     * @private
     * @returns {void}
     */
    highlightFormFields(): void;
    /**
     * @private
     * @returns {void}
     */
    unHighlightEditRegion(): void;
    /**
     * @private
     * @returns {void}
     */
    highlightEditRegionInternal(editRangeStart: EditRangeStartElementBox): void;
    /**
     * Shows all the editing region, where current user can edit.
     *
     * @returns {void}
     */
    showAllEditingRegion(): void;
    private highlightEditRegions;
    /**
     * Navigates to the next editing region, where current user can edit.
     *
     * @returns {void}
     */
    navigateToNextEditingRegion(): void;
    private sortEditRangeCollection;
    /**
     * Highlights all the editing region, where current user can edit.
     *
     * @returns {void}
     */
    toggleEditingRegionHighlight(): void;
    /**
     * @private
     */
    getEditRangeStartElement(isNavigateToNextEditRegion?: boolean, returnAllMatches?: boolean): EditRangeStartElementBox[] | EditRangeStartElementBox;
    /**
     * Determines whether the selection is inside the edit region.
     *
     * @returns {boolean} Returns true if the selection is inside the edit region;
 Otherwise, false.
     */
    isSelectionInEditRegion(): boolean;
    /**
     * Determines whether the specified start and end position of the selection is inside the edit region.
     * @param {TextPosition} start Specify the start position of the selection.
     * @param {TextPosition} end Specify the end position of the selection.
     * @returns {boolean} Returns true if the specified start and end position of the selection is inside the edit region;
 Otherwise, false.
     */
    checkSelectionIsAtEditRegion(start?: TextPosition, end?: TextPosition): boolean;
    /**
     * @private
     */
    isEditRangeCellSelected(start?: TextPosition, end?: TextPosition): boolean;
    private isSelectionInsideEditRange;
    /**
     * @private
     */
    getPosition(element: ElementBox, isNavigateToNextEditRegion?: boolean): PositionInfo;
    /**
     * @private
     */
    checkContentControlLocked(checkFormat?: boolean): boolean;
    /**
     * @private
     */
    getElementPosition(element: ElementBox, isEnd?: boolean, isRetrieveBookmark?: boolean): PositionInfo;
    /**
     * Update ref field.
     * @private
     */
    updateRefField(field?: FieldElementBox): void;
    /**
     *
     * @private
     * @returns {void}
     */
    footnoteReferenceElement(start: TextPosition, end: TextPosition, inline?: ElementBox): void;
    /**
     * Convert hierachical index to linear index;
     * @private
     */
    getAbsolutePositionFromRelativePosition(textPosition: TextPosition | string): number;
    /**
     * @private
     */
    getPositionInfoForBodyContent(paragraphInfo: ParagraphInfo, positionInfo: AbsolutePositionInfo, blockWidget?: BlockWidget, tableBlock?: BlockWidget): AbsolutePositionInfo;
    /**
     * @private
     */
    getPositionInfoForHeaderFooter(paragraphInfo: ParagraphInfo, positionInfo: AbsolutePositionInfo, tableBlock?: BlockWidget): AbsolutePositionInfo;
    private getBlockIndexFromHeaderFooter;
    private getBlockIndex;
    private getBlockTotalLength;
    /**
     * @private
     */
    getBlockLength(paragraphInfo: any, block: BlockWidget, position: number, completed: any, skipShapeElement: boolean, tableBlock: BlockWidget, fieldResult?: FieldResultInfo): number;
    /**
     * Calculate the cell length.
     * @private
     */
    calculateCellLength(cell: TableCellWidget): number;
    private getBlockOffsetByElement;
    /**
     * This method is for collaborative editing.
     * @private
     */
    getTableRelativeValue(startPosition: TextPosition, endPosition: TextPosition): number;
    /**
     *
     * @private
     */
    isRowSelect(): boolean;
}
/**
 *  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/selection/selection-helper.d.ts
/**
 * @private
 */
export  class TextPosition {
    /**
     * @private
     */
    currentWidget: LineWidget;
    /**
     * @private
     */
    offset: number;
    /**
     * @private
     */
    owner: DocumentEditor;
    /**
     * @private
     */
    location: Point;
    private documentHelper;
    /**
     * @private
     */
    isUpdateLocation: boolean;
    /**
     * @private
     */
    readonly paragraph: ParagraphWidget;
    /**
     * @private
     */
    readonly isAtParagraphStart: boolean;
    /**
     * @private
     */
    readonly isAtParagraphEnd: boolean;
    /**
     * @private
     */
    readonly isCurrentParaBidi: boolean;
    /**
     * @private
     */
    readonly selection: Selection;
    /**
     * Gets the hierarchical position of logical text position in the document
     *
     * @returns {string}
     */
    readonly hierarchicalPosition: string;
    constructor(owner: DocumentEditor);
    private readonly viewer;
    /**
     * Return clone of current text position
     *
     * @private
     */
    clone(): TextPosition;
    /**
     * @private
     */
    containsRtlText(widget: LineWidget): boolean;
    /**
     * Set text position for paragraph and inline
     *
     * @private
     */
    setPositionForSelection(line: LineWidget, element: ElementBox, index: number, physicalLocation: Point): void;
    /**
     * Set text position
     *
     * @private
     */
    setPositionFromLine(line: LineWidget, offset: number, location?: Point): void;
    /**
     * Set text position
     *
     * @private
     */
    setPosition(line: LineWidget, positionAtStart: boolean): void;
    /**
     * Set position for text position
     *
     * @private
     */
    setPositionInternal(textPosition: TextPosition): void;
    /**
     * Set position for current index
     *
     * @private
     */
    setPositionForCurrentIndex(hierarchicalIndex: string): void;
    /**
     * Get Page
     *
     */
    getPage(position: IndexInfo): Page;
    /**
     * @private
     */
    getParagraphWidget(position: IndexInfo): LineWidget;
    /**
     * @private
     */
    getLineWidget(widget: Widget, position: IndexInfo, page?: Page): LineWidget;
    /**
     * Update physical location of paragraph
     *
     * @private
     */
    updatePhysicalPosition(moveNextLine: boolean): void;
    /**
     * Return true if text position are in same paragraph and offset
     *
     * @private
     */
    isAtSamePosition(textPosition: TextPosition): boolean;
    /**
     * Return true if text position is in same paragraph index
     * @private
     */
    isInSameParagraphIndex(textPosition: TextPosition): boolean;
    /**
     * Return true if text position is in same paragraph
     *
     * @private
     */
    isInSameParagraph(textPosition: TextPosition): boolean;
    /**
     * Return true if start and end is in same list
     *
     * @private
     */
    isInSameListParagraph(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, isRetrieveBookmark?: boolean): 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 nextValidVisibleBlock;
    private setPositionForValidLine;
    private updateOffsetToNextParagraph;
    private getValidVisibleLine;
    private updateOffsetToPrevPosition;
    /**
     * Moves the text position to start of the next paragraph.
     */
    moveToNextParagraphStartInternal(): void;
    /**
     * Move to previous position
     *
     * @private
     */
    movePreviousPosition(): void;
    /**
     * Move to next position
     *
     * @private
     */
    moveNextPositionInternal(fieldBegin: FieldElementBox): void;
    /**
     * Move text position backward
     *
     * @private
     */
    moveBackward(): void;
    /**
     * Move text position forward
     *
     * @private
     */
    moveForward(): void;
    /**
     * Move to given inline
     *
     * @private
     */
    moveToInline(inline: ElementBox, index: number): void;
    /**
     * Return true is start element exist before end element
     *
     * @private
     */
    static isForwardSelection(start: string, end: string): boolean;
    /**
     * Move to previous position offset
     *
     * @param fieldEnd
     * @private
     */
    movePreviousPositionInternal(fieldEnd: FieldElementBox): void;
    /**
     * Moves the text position to start of the word.
     *
     * @param type
     * @private
     */
    moveToWordStartInternal(type: number): void;
    getNextWordOffset(inline: ElementBox, indexInInline: number, type: number, isInField: boolean, endSelection: boolean, endPosition: TextPosition, excludeSpace: boolean): void;
    getNextWordOffsetFieldBegin(fieldBegin: FieldElementBox, indexInInline: number, type: number, isInField: boolean, endSelection: boolean, endPosition: TextPosition, excludeSpace: boolean): void;
    getNextWordOffsetImage(image: ImageElementBox, indexInInline: number, type: number, isInField: boolean, endSelection: boolean, endPosition: TextPosition, excludeSpace: boolean): void;
    private getNextWordOffsetSpan;
    private getNextWordOffsetFieldSeparator;
    private getNextWordOffsetComment;
    private getNextWordOffsetContentControl;
    private getNextWordOffsetFieldEnd;
    private getPreviousWordOffset;
    private getPreviousWordOffsetBookMark;
    private getPreviousWordOffsetFieldEnd;
    private getPreviousWordOffsetFieldSeparator;
    private getPreviousWordOffsetComment;
    private getPreviousWordOffsetContentControl;
    private getPreviousWordOffsetFieldBegin;
    private getPreviousWordOffsetImage;
    private getPreviousWordOffsetSpan;
    private setPreviousWordOffset;
    /**
     * Validate if text position is in field forward
     *
     * @private
     */
    validateForwardFieldSelection(currentIndex: string, selectionEndIndex: string): void;
    /**
     * Validate if text position is in field backward
     *
     * @private
     */
    validateBackwardFieldSelection(currentIndex: string, selectionEndIndex: string): void;
    /**
     * @private
     */
    paragraphStartInternal(selection: Selection, moveToPreviousParagraph: boolean): void;
    /**
     * @private
     */
    calculateOffset(): void;
    /**
     * Moves the text position to start of the paragraph.
     *
     * @private
     */
    moveToParagraphStartInternal(selection: Selection, moveToPreviousParagraph: boolean): void;
    /**
     * Moves the text position to end of the paragraph.
     *
     * @private
     */
    moveToParagraphEndInternal(selection: Selection, moveToNextParagraph: boolean): void;
    /**
     * @private
     */
    moveUp(selection: Selection, left: number): void;
    /**
     * @private
     */
    moveDown(selection: Selection, left: number): void;
    /**
     * Moves the text position to start of the line.
     *
     * @private
     */
    moveToLineStartInternal(selection: Selection, moveToPreviousLine: boolean): void;
    /**
     * Check paragraph is inside table
     *
     * @private
     */
    moveToNextParagraphInTableCheck(): boolean;
    /**
     * Moves the text position to end of the word.
     *
     * @private
     */
    moveToWordEndInternal(type: number, excludeSpace: boolean): void;
    /**
     * move text position to next paragraph inside table
     *
     * @private
     */
    moveToNextParagraphInTable(): void;
    /**
     * Moves the text position to start of the previous paragraph.
     *
     */
    moveToPreviousParagraph(selection: Selection): void;
    /**
     * Move to previous line from current position
     *
     * @private
     */
    moveToPreviousLine(selection: Selection, left: number): void;
    /**
     * @param {Selection} selection Specifies the selection
     * @param {boolean} moveToNextLine Specifies the move to next line
     * @private
     */
    moveToLineEndInternal(selection: Selection, moveToNextLine: boolean): void;
    /**
     * Move to next line
     *
     * @param {number} left Specified the left
     * @private
     * @returns {void}
     */
    moveToNextLine(left: number): void;
    private moveUpInTable;
    private moveDownInTable;
    /**
     * @private
     * @returns {void}
     */
    destroy(): void;
}
/**
 * @private
 */
export  class SelectionWidgetInfo {
    private leftIn;
    private widthIn;
    color: string;
    floatingItems: ShapeBase[];
    /**
     * @private
     */
    /**
    * @private
    */
    left: number;
    /**
     * @private
     */
    /**
    * @private
    */
    width: number;
    constructor(left: number, width: number);
    /**
     * @private
     */
    destroy(): void;
}
/**
 * @private
 */
export  class Hyperlink {
    private linkInternal;
    private localRef;
    private typeInternal;
    private opensNewWindow;
    private isCrossRefField;
    private screenTipText;
    /**
    * Gets screentip text.
    *
    * @returns string
    * @private
    */
    readonly screenTip: string;
    /**
     * Gets navigation link.
     *
     * @returns string
     * @private
     */
    readonly navigationLink: string;
    /**
     * Gets the local reference if any.
     *
     * @returns string
     * @private
     */
    readonly localReference: string;
    /**
     * Gets hyper link type.
     *
     * @returns HyperLinkType
     * @private
     */
    readonly linkType: HyperlinkType;
    /**
     * @private
     */
    readonly isCrossRef: boolean;
    constructor(fieldBeginAdv: FieldElementBox, selection: Selection);
    private parseFieldValues;
    private parseFieldValue;
    private setLinkType;
    /**
     * @private
     */
    destroy(): void;
}
/**
 * @private
 */
export  class ImageSizeInfo {
    /**
     * @private
     */
    width: number;
    /**
     * @private
     */
    height: number;
    /**
     * @private
     */
    alternatetext: string;
    /**
     * 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-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 scriptType;
    private renderedFontFamilyIn;
    private fontColorIn;
    private allCapsIn;
    /**
     * @private
     */
    boldBidi: boolean;
    /**
     * @private
     */
    italicBidi: boolean;
    /**
     * @private
     */
    complexScript: boolean;
    /**
     * @private
     */
    fontSizeBidi: number;
    /**
     * @private
     */
    fontFamilyBidi: string;
    /**
     * @private
     */
    bidi: boolean;
    /**
     * @private
     */
    private bdo;
    /**
     * @private
     */
    styleName: string;
    /**
     * Gets the font size of selected contents.
     *
     * @aspType int
     */
    /**
    * Sets the font size of selected contents.
    *
    * @aspType int
    */
    fontSize: number;
    readonly renderedFontFamily: string;
    /**
     * Gets or sets the font family of selected contents.
     *
     * @aspType string
     */
    /**
    * Sets the font family of selected contents.
    *
    * @aspType string
    */
    fontFamily: string;
    /**
     * Gets or sets the font color of selected contents.
     *
     * @aspType string
     */
    /**
    * Sets the font color of selected contents.
    *
    * @aspType string
    */
    fontColor: string;
    /**
     * Gets or sets the bold formatting of selected contents.
     *
     * @aspType bool
     */
    /**
    * Sets the bold formatting of selected contents.
    *
    * @aspType bool
    */
    bold: boolean;
    /**
     * Gets or sets the italic formatting of selected contents.
     *
     * @aspType bool
     */
    /**
    * Sets the italic formatting of selected contents.
    *
    * @aspType bool
    */
    italic: boolean;
    /**
     * Gets or sets the strikethrough property of selected contents.
     */
    /**
    * Sets the strikethrough property of selected contents.
    */
    strikethrough: Strikethrough;
    /**
     * Gets or sets the baseline alignment property of selected contents.
     */
    /**
    * Sets the baseline alignment property of selected contents.
    */
    baselineAlignment: BaselineAlignment;
    /**
     * Gets or sets the underline style of selected contents.
     */
    /**
    * Sets the underline style of selected contents.
    */
    underline: Underline;
    /**
     * Gets or sets the highlight color of selected contents.
     */
    /**
    * Sets the highlight color of selected contents.
    */
    highlightColor: HighlightColor;
    /**
     * Gets or sets the allCaps formatting of selected contents.
     *
     * @aspType bool
     */
    /**
    * Sets the allCaps formatting of selected contents.
    *
    * @aspType bool
    */
    allCaps: boolean;
    /**
     * @param selection
     * @private
     */
    constructor(selection: Selection);
    private getPropertyValue;
    /**
     * Notifies whenever property gets changed.
     *
     * @param {string} propertyName
     */
    private notifyPropertyChanged;
    /**
     * Copies the source format.
     *
     * @param {WCharacterFormat} format
     * @returns {void}
     * @private
     */
    copyFormat(format: WCharacterFormat, renderFontFamily?: string): void;
    /**
     * Combines the format.
     *
     * @param {WCharacterFormat} format
     * @private
     */
    combineFormat(format: WCharacterFormat, renderFontFamily?: string): void;
    /**
     * @private
     */
    canRetrieveNextCharacterFormat(): boolean;
    /**
     * Clones the format.
     *
     * @param {SelectionCharacterFormat} selectionCharacterFormat
     * @returns {void}
     * @private
     */
    cloneFormat(selectionCharacterFormat: SelectionCharacterFormat): void;
    /**
     * Checks whether current format is equal to the source format or not.
     *
     * @param {SelectionCharacterFormat} format
     * @returns boolean
     * @private
     */
    isEqualFormat(format: SelectionCharacterFormat): boolean;
    /**
     * Clears the format.
     *
     * @returns {void}
     * @private
     */
    clearFormat(): void;
    /**
     * Destroys the maintained resources.
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
}
/**
 * Selection Border implementation
 */
export  class SelectionBorder {
    private selection;
    private colorIn;
    private lineStyleIn;
    private lineWidthIn;
    private shadowIn;
    private spaceIn;
    private ownerBase;
    private borderType;
    /**
     * Gets or sets the color for selected paragraph borders.
     *
     * @default undefined
     * @aspType string
     */
    /**
    * Sets the color for selected paragraph borders.
    *
    * @default undefined
    * @aspType string
    */
    color: string;
    /**
     * Gets or sets the lineStyle for selected paragraph borders.
     *
     * @default undefined
     * @aspType LineStyle
     */
    /**
    * Sets the lineStyle for selected paragraph borders.
    *
    * @default undefined
    * @aspType LineStyle
    */
    lineStyle: LineStyle;
    /**
     * Gets or sets the lineWidth for selected paragraph borders.
     *
     * @default undefined
     * @aspType number
     */
    /**
    * Sets the lineWidth for selected paragraphs borders.
    *
    * @default undefined
    * @aspType number
    */
    lineWidth: number;
    /**
     * Gets or sets the shadow for selected paragraph borders.
     *
     * @default undefined
     * @aspType boolean
     */
    /**
    * Sets the shadow for selected paragraphs borders.
    *
    * @default undefined
    * @aspType boolean
    */
    shadow: boolean;
    /**
     * Gets or sets the space for selected paragraphs borders.
     *
     * @default undefined
     * @aspType number
     */
    /**
    * Sets the space for selected paragraphs borders.
    *
    * @default undefined
    * @aspType number
    */
    space: number;
    /**
     * @param SelectionBorders
     * @private
     */
    constructor(selection?: Selection, borderType?: string, node?: SelectionBorders);
    /**
     *Copies the format.
     *
     * @param {WBorder} border
     * @returns {void}
     * @private
     */
    copyFormat(border: WBorder): void;
    /**
     * Combines the format.
     *
     * @param {WBorder} border
     * @returns {void}
     * @private
     */
    combineFormat(border: WBorder): void;
    private getPropertyValue;
    /**
     * Notifies whenever the property gets changed.
     * @param {string} propertyName
     * @returns {void}
     */
    private notifyPropertyChanged;
    /**
     * Destroys the managed resources.
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
}
/**
 * Selection Borders implementation
 */
export  class SelectionBorders {
    private selection;
    private topIn;
    private bottomIn;
    private leftIn;
    private rightIn;
    private horizontalIn;
    private verticalIn;
    private ownerBase;
    /**
     * Gets the top Border for selected paragraphs.
     *
     * @default undefined
     * @aspType SelectionBorder
     */
    readonly top: SelectionBorder;
    /**
     * Gets the bottom Border for selected paragraphs.
     *
     * @default undefined
     * @aspType SelectionBorder
     */
    readonly bottom: SelectionBorder;
    /**
     * Gets the left Border for selected paragraphs.
     *
     * @default undefined
     * @aspType SelectionBorder
     */
    readonly left: SelectionBorder;
    /**
     * Gets the right Border for selected paragraphs.
     *
     * @default undefined
     * @aspType SelectionBorder
     */
    readonly right: SelectionBorder;
    /**
     * Gets the horizontal Border for selected paragraphs.
     *
     * @default undefined
     * @aspType SelectionBorder
     */
    readonly horizontal: SelectionBorder;
    /**
     * Gets the vertical Border for selected paragraphs.
     *
     * @default undefined
     * @aspType SelectionBorder
     */
    readonly vertical: SelectionBorder;
    /**
     * @param Object
     * @private
     */
    constructor(selection: Selection, node?: Object);
    /**
     * Copies the format.
     *
     * @param {WBorders} borders
     * @returns {void}
     * @private
     */
    copyFormat(borders: WBorders): void;
    /**
     * Combines the format.
     *
     * @param {WBorders} borders
     * @private
     */
    combineFormat(borders: WBorders): void;
    /**
     * Destroys the managed resources.
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
}
/**
 * Selection paragraph format implementation
 */
export  class SelectionParagraphFormat {
    private selection;
    private leftIndentIn;
    private rightIndentIn;
    private beforeSpacingIn;
    private afterSpacingIn;
    private spaceAfterAutoIn;
    private spaceBeforeAutoIn;
    private textAlignmentIn;
    private outlineLevelIn;
    private firstLineIndentIn;
    private lineSpacingIn;
    private lineSpacingTypeIn;
    private bidiIn;
    private keepWithNextIn;
    private keepLinesTogetherIn;
    private widowControlIn;
    private contextualSpacingIn;
    private bordersIn;
    /**
     * Gets the borders for selected paragraphs.
     *
     * @default undefined
     * @aspType SelectionBorders
     */
    readonly borders: SelectionBorders;
    /**
     * @private
     */
    listId: number;
    private listLevelNumberIn;
    private documentHelper;
    /**
     * @private
     */
    styleName: string;
    /**
     * Gets or Sets the left indent for selected paragraphs.
     *
     * @default undefined
     * @aspType int
     */
    /**
    * Sets the left indent for selected paragraphs.
    *
    * @default undefined
    * @aspType int
    */
    leftIndent: number;
    /**
     * Gets or Sets the right indent for selected paragraphs.
     *
     * @default undefined
     * @aspType int
     */
    /**
    * Sets the right indent for selected paragraphs.
    *
    * @default undefined
    * @aspType int
    */
    rightIndent: number;
    /**
     * Gets or Sets the first line indent for selected paragraphs.
     *
     * @default undefined
     * @aspType int
     */
    /**
    * Sets the first line indent for selected paragraphs.
    *
    * @default undefined
    * @aspType int
    */
    firstLineIndent: number;
    /**
     * Gets or Sets the text alignment for selected paragraphs.
     *
     * @default undefined
     */
    /**
    * Sets the text alignment for selected paragraphs.
    *
    * @default undefined
    */
    textAlignment: TextAlignment;
    /**
     * Gets or Sets the outline level for selected paragraphs.
     *
     * @default undefined
     */
    /**
    * Sets the outline level for selected paragraphs.
    *
    * @default undefined
    */
    outlineLevel: OutlineLevel;
    /**
     * Sets the after spacing for selected paragraphs.
     *
     * @default undefined
     * @aspType int
     */
    /**
    * Gets or Sets the after spacing for selected paragraphs.
    *
    * @default undefined
    * @aspType int
    */
    afterSpacing: number;
    /**
     * Gets or Sets the before spacing for selected paragraphs.
     *
     * @default undefined
     * @aspType int
     */
    /**
    * Sets the before spacing for selected paragraphs.
    *
    * @default undefined
    * @aspType int
    */
    beforeSpacing: number;
    /**
     * Gets or Sets the space after auto for selected paragraphs.
     *
     * @default false
     * @aspType bool
     */
    /**
    *  Sets the space after auto for selected paragraphs.
    *
    * @aspType bool
    * @blazorType bool
    */
    spaceAfterAuto: boolean;
    /**
     * Gets or Sets the space before auto for selected paragraphs.
     *
     * @default false
     * @aspType bool
     */
    /**
    *  Sets the space before auto for selected paragraphs.
    *
    * @aspType bool
    * @blazorType bool
    */
    spaceBeforeAuto: boolean;
    /**
     * Gets or Sets the line spacing for selected paragraphs.
     *
     * @default undefined
     * @aspType int
     */
    /**
    * Sets the line spacing for selected paragraphs.
    *
    * @default undefined
    * @aspType int
    */
    lineSpacing: number;
    /**
     * Gets or Sets the line spacing type for selected paragraphs.
     *
     * @default undefined
     */
    /**
    * Gets or Sets the line spacing type for selected paragraphs.
    *
    * @default undefined
    */
    lineSpacingType: LineSpacingType;
    /**
     * Sets the list level number for selected paragraphs.
     *
     * @default undefined
     * @aspType int
     */
    /**
    * Gets or Sets the list level number for selected paragraphs.
    *
    * @default undefined
    * @aspType int
    */
    listLevelNumber: number;
    /**
     * Gets or Sets the bidirectional property for selected paragraphs
     *
     * @aspType bool
     */
    /**
    * Sets the bidirectional property for selected paragraphs
    *
    * @aspType bool
    */
    bidi: boolean;
    /**
     * Gets or sets a value indicating whether the specified paragraph remains on the same page as the paragraph that follows it while paginating the document.
     *
     * @default false
     * @aspType bool
     * @returns {boolean} - `true` if the specified paragraph remains on the same page as the paragraph that follows it;
 otherwise, `false`.
     */
    /**
    * Sets a value indicating whether the specified paragraph remains on the same page as the paragraph that follows it while paginating the document.
    *
    * @aspType bool
    * @blazorType bool
    */
    keepWithNext: boolean;
    /**
     * Gets or sets a value indicating whether all lines in the specified paragraphs remain on the same page while paginating the document.
     *
     * @default false
     * @aspType bool
     * @returns {boolean} - `true` if all lines in the specified paragraphs remain on the same page;
 otherwise, `false`.
     */
    /**
    * Sets a value indicating whether all lines in the specified paragraphs remain on the same page while paginating the document.
    *
    * @aspType bool
    * @blazorType bool
    */
    keepLinesTogether: boolean;
    /**
     * Gets or sets a value indicating whether the first and last lines of the paragraph are to remain on the same page as the rest of the paragraph when paginating the document.
     *
     * @default true
     * @aspType bool
     * @returns {boolean} - `true` if the first and last lines of the paragraph are to remain on the same page;
 otherwise, `false`.
     */
    /**
    * Sets a value indicating whether the first and last lines of the paragraph are to remain on the same page as the rest of the paragraph when paginating the document.
    *
    * @default true
    * @aspType bool
    */
    widowControl: boolean;
    /**
     * Gets or sets a value indicating whether to add space between the paragraphs of same style.
     *
     * @aspType bool
     */
    /**
    * Sets a value indicating whether to add space between the paragraphs of same style.
    *
    * @aspType bool
    */
    contextualSpacing: boolean;
    private validateLineSpacing;
    /**
     * Gets the list text for selected paragraphs.
     *
     * @aspType string
     */
    readonly listText: string;
    /**
     * @param selection
     * @param documentHelper
     * @private
     */
    constructor(selection: Selection, documentHelper: DocumentHelper);
    private getPropertyValue;
    /**
     * Notifies whenever the property gets changed.
     *
     * @param {string} propertyName
     */
    private notifyPropertyChanged;
    /**
     * Copies the format.
     *
     * @param {WParagraphFormat} format
     * @returns {void}
     * @private
     */
    copyFormat(format: WParagraphFormat): void;
    /**
     * Copies to format.
     *
     * @param {WParagraphFormat} format
     * @private
     */
    copyToFormat(format: WParagraphFormat): void;
    /**
     * Combines the format.
     *
     * @param {WParagraphFormat} format
     * @private
     */
    combineFormat(format: WParagraphFormat): void;
    /**
     * Clears the format.
     *
     * @returns {void}
     * @private
     */
    clearFormat(): void;
    /**
     * Gets the clone of list at current selection.
     *
     * @returns WList
     * @private
     */
    getList(): WList;
    /**
     * Modifies the list at current selection.
     *
     * @param {WList} listAdv
     * @private
     */
    setList(listAdv: WList, isListDialog?: boolean): void;
    /**
     * Destroys the managed resources.
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
}
export  class SelectionHeaderFooter {
    private linkToPreviousIn;
    private selection;
    /**
     * Gets or sets a value indicating whether this header footer is linked to the previous section header footer in the document.
     *
     * @default true
     * @aspType bool
     * @returns {boolean} Returns `true` if the header footer is linked to the previous section header footer;
 Otherwise `false`.
     */
    linkToPrevious: boolean;
    constructor(selection?: Selection);
    private notifyPropertyChanged;
    private getPropertyvalue;
}
/**
 * Selection section format implementation
 */
export  class SelectionSectionFormat {
    private selection;
    private differentFirstPageIn;
    private differentOddAndEvenPagesIn;
    private headerDistanceIn;
    private footerDistanceIn;
    private pageHeightIn;
    private pageWidthIn;
    private leftMarginIn;
    private topMarginIn;
    private rightMarginIn;
    private bottomMarginIn;
    private restartPageNumberingIn;
    private pageStartingNumberIn;
    private endnoteNumberFormatIn;
    private footNoteNumberFormatIn;
    private restartIndexForFootnotesIn;
    private restartIndexForEndnotesIn;
    private initialFootNoteNumberIn;
    private initialEndNoteNumberIn;
    private equalWidthIn;
    private lineBetweenColumnsIn;
    private columnsIn;
    private breakCodeIn;
    private firstPageHeaderIn;
    private firstPageFooterIn;
    private oddPageHeaderIn;
    private oddPageFooterIn;
    private evenPageHeaderIn;
    private evenPageFooterIn;
    /**
     * private
     */
    bidi: boolean;
    /**
     * Gets or sets the page height.
     *
     * @aspType int
     */
    /**
    * Gets or sets the page height.
    *
    * @aspType int
    */
    pageHeight: number;
    /**
     * Gets or sets the page width.
     *
     * @aspType int
     */
    /**
    * Gets or sets the page width.
    *
    * @aspType int
    */
    pageWidth: number;
    /**
     * Gets or sets the page left margin.
     *
     * @aspType int
     */
    /**
    * Gets or sets the page left margin.
    *
    * @aspType int
    */
    leftMargin: number;
    /**
     * Gets or sets the page bottom margin.
     *
     * @aspType int
     */
    /**
    * Gets or sets the page bottom margin.
    *
    * @aspType int
    */
    bottomMargin: number;
    /**
     * Gets or sets the page top margin.
     *
     * @aspType int
     */
    /**
    * Gets or sets the page top margin.
    *
    * @aspType int
    */
    topMargin: number;
    /**
     * Gets or sets the page right margin.
     *
     * @aspType int
     */
    /**
    * Gets or sets the page right margin.
    *
    * @aspType int
    */
    rightMargin: number;
    /**
     * Gets or sets the header distance.
     *
     * @aspType int
     */
    /**
    * Gets or sets the header distance.
    *
    * @aspType int
    */
    headerDistance: number;
    /**
     * Gets the first page header of the section.
     *
     * @aspType SelectionHeaderFooter
     */
    firstPageHeader: SelectionHeaderFooter;
    /**
     * Gets the first page footer of the section.
     *
     * @aspType SelectionHeaderFooter
     */
    firstPageFooter: SelectionHeaderFooter;
    /**
     * Gets the odd page header of the section.
     *
     * @aspType SelectionHeaderFooter
     */
    oddPageHeader: SelectionHeaderFooter;
    /**
     * Gets the odd page footer of the section.
     *
     * @aspType SelectionHeaderFooter
     */
    oddPageFooter: SelectionHeaderFooter;
    /**
     * Gets the even page header of the section.
     *
     * @aspType SelectionHeaderFooter
     */
    evenPageHeader: SelectionHeaderFooter;
    /**
     * Gets the even page footer of the section.
     *
     * @aspType SelectionHeaderFooter
     */
    evenPageFooter: SelectionHeaderFooter;
    /**
     * Gets or sets the starting page number.
     *
     * @aspType int
     */
    /**
    * Gets or sets the starting page number.
    *
    * @aspType int
    */
    pageStartingNumber: number;
    /**
     * Gets or sets a value indicating whether to restart page numbering.
     *
     * @aspType bool
     */
    /**
    * Gets or sets a value indicating whether to restart page numbering.
    *
    * @aspType bool
    */
    restartPageNumbering: boolean;
    /**
     * Gets or sets the footer distance.
     *
     * @aspType int
     */
    /**
    * Gets or sets the footer distance.
    *
    * @aspType int
    */
    footerDistance: number;
    /**
     * Gets or sets a value indicating whether the section has different first page.
     *
     * @aspType bool
     */
    /**
    * Gets or sets a value indicating whether the section has different first page.
    *
    * @aspType bool
    */
    differentFirstPage: boolean;
    /**
     * Gets or sets a value indicating whether the section has different odd and even page.
     *
     * @aspType bool
     */
    /**
    * Gets or sets a value indicating whether the section has different odd and even page.
    *
    * @aspType bool
    */
    differentOddAndEvenPages: boolean;
    /**
     * Gets or sets the number format of endnote.
     */
    /**
    * Gets or sets the number format of endnote.
    */
    endnoteNumberFormat: FootEndNoteNumberFormat;
    /**
     * Gets or sets the number format of footnote.
     */
    /**
    * Gets or sets the number format of footnote.
    */
    footNoteNumberFormat: FootEndNoteNumberFormat;
    /**
     * Gets or sets the number format of footnote.
     */
    /**
    * Gets or sets the number format of footnote.
    */
    initialFootNoteNumber: number;
    /**
     * Gets or sets the number format of footnote.
     */
    /**
    * Gets or sets the number format of footnote.
    */
    initialEndNoteNumber: number;
    /**
     * Gets or sets the restart index of footnote
     */
    /**
    * Gets or sets the restart index of footnote
    */
    restartIndexForFootnotes: FootnoteRestartIndex;
    /**
     * Gets or sets the restart index of endnote
     */
    /**
    * Gets or sets the restart index of endnote
    */
    restartIndexForEndnotes: FootnoteRestartIndex;
    /**
     * Gets the number of columns on a page.
     */
    readonly numberOfColumns: number;
    /**
     * Gets or sets a value indicating whether all the columns on a page has even width and space.
     */
    /**
    * Gets or sets a value indicating whether all the columns on a page has even width and space.
    */
    equalWidth: boolean;
    /**
     * Gets or sets a value indicating whether the vertical lines appear between all the columns.
     */
    /**
    * Gets or sets a value indicating whether the vertical lines appear between all the columns.
    */
    lineBetweenColumns: boolean;
    /**
     * Gets or sets the columns.
     */
    /**
    * Gets or sets the columns.
    */
    columns: SelectionColumnFormat[];
    /**
     * Gets or sets the breakCode.
     *
     * @aspType int
     */
    /**
    * Gets or sets the breakCode.
    *
    * @aspType int
    */
    breakCode: string;
    /**
     * @param selection
     * @private
     */
    constructor(selection: Selection);
    /**
     * Copies the format.
     *
     * @param {WSectionFormat} format
     * @returns {void}
     * @private
     */
    copyFormat(format: WSectionFormat): void;
    private applyColumnFormat;
    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;
    private titleIn;
    private descriptionIn;
    /**
     * Gets or sets the table.
     *
     * @private
     */
    table: TableWidget;
    /**
     * Gets or sets the title of the selected table.
     *
     * @aspType string
     */
    /**
    * Gets or sets the title of the selected table.
    *
    * @aspType string
    */
    title: string;
    /**
     * Gets or sets the description of the selected table.
     *
     * @aspType string
     */
    /**
    * Gets or sets the description of the selected table.
    *
    * @aspType string
    */
    description: string;
    /**
     * Gets or Sets the left indent for selected table.
     *
     * @aspType int
     */
    /**
    * Gets or Sets the left indent for selected table.
    *
    * @aspType int
    */
    leftIndent: number;
    /**
     * Gets or Sets the default top margin of cell for selected table.
     *
     * @default undefined
     * @aspType int
     */
    /**
    * Gets or Sets the default top margin of cell for selected table.
    *
    * @default undefined
    * @aspType int
    */
    topMargin: number;
    /**
     * Gets or Sets the background for selected table.
     *
     * @default undefined
     * @aspType string
     */
    /**
    * Gets or Sets the background for selected table.
    *
    * @default undefined
    * @aspType string
    */
    background: string;
    /**
     * Gets or Sets the table alignment for selected table.
     *
     * @default undefined
     */
    /**
    * Gets or Sets the table alignment for selected table.
    *
    * @default undefined
    */
    tableAlignment: TableAlignment;
    /**
     * Gets or Sets the default left margin of cell for selected table.
     *
     * @default undefined
     * @aspType int
     */
    /**
    * Gets or Sets the default left margin of cell for selected table.
    *
    * @default undefined
    * @aspType int
    */
    leftMargin: number;
    /**
     * Gets or Sets the default bottom margin of cell for selected table.
     *
     * @default undefined
     * @aspType int
     */
    /**
    * Gets or Sets the default bottom margin of cell for selected table.
    *
    * @default undefined
    * @aspType int
    */
    bottomMargin: number;
    /**
     * Gets or Sets the cell spacing for selected table.
     *
     * @default undefined
     * @aspType int
     */
    /**
    * Gets or Sets the cell spacing for selected table.
    *
    * @default undefined
    * @aspType int
    */
    cellSpacing: number;
    /**
     * Gets or Sets the default right margin of cell for selected table.
     *
     * @default undefined
     * @aspType int
     */
    /**
    * Gets or Sets the default right margin of cell for selected table.
    *
    * @default undefined
    * @aspType int
    */
    rightMargin: number;
    /**
     * Gets or Sets the preferred width for selected table.
     *
     * @default undefined
     * @aspType int
     */
    /**
    * Gets or Sets the preferred width for selected table.
    *
    * @default undefined
    * @aspType int
    */
    preferredWidth: number;
    /**
     * Gets or Sets the preferred width type for selected table.
     *
     * @default undefined
     */
    /**
    * Gets or Sets the preferred width type for selected table.
    *
    * @default undefined
    */
    preferredWidthType: WidthType;
    /**
     * Gets or sets the bidi property
     *
     * @aspType bool
     */
    /**
    * Gets or sets the bidi property
    *
    * @aspType bool
    */
    bidi: boolean;
    /**
     * @param selection
     * @private
     */
    constructor(selection: Selection);
    private getPropertyValue;
    private notifyPropertyChanged;
    /**
     * Copies the format.
     *
     * @param {WTableFormat} format Format to copy.
     * @returns {void}
     * @private
     */
    copyFormat(format: WTableFormat): void;
    /**
     * Clears the format.
     *
     * @returns {void}
     * @private
     */
    clearFormat(): void;
    /**
     * Destroys the managed resources.
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
}
/**
 * Selection cell format implementation
 */
export  class SelectionCellFormat {
    private selection;
    private verticalAlignmentIn;
    private leftMarginIn;
    private rightMarginIn;
    private topMarginIn;
    private bottomMarginIn;
    private backgroundIn;
    private preferredWidthIn;
    private preferredWidthTypeIn;
    /**
     * Gets or sets the vertical alignment of the selected cells.
     *
     * @default undefined
     */
    /**
    * Gets or sets the vertical alignment of the selected cells.
    *
    * @default undefined
    */
    verticalAlignment: CellVerticalAlignment;
    /**
     * Gets or Sets the left margin for selected cells.
     *
     * @default undefined
     * @aspType int
     */
    /**
    * Gets or Sets the left margin for selected cells.
    * @default undefined
    * @aspType int
    */
    leftMargin: number;
    /**
     * Gets or Sets the right margin for selected cells.
     * @default undefined
     * @aspType int
     */
    /**
    * Gets or Sets the right margin for selected cells.
    * @default undefined
    * @aspType int
    */
    rightMargin: number;
    /**
     * Gets or Sets the top margin for selected cells.
     * @default undefined
     * @aspType int
     */
    /**
    * Gets or Sets the top margin for selected cells.
    * @default undefined
    * @aspType int
    */
    topMargin: number;
    /**
     * Gets or Sets the bottom margin for selected cells.
     * @default undefined
     * @aspType int
     */
    /**
    * Gets or Sets the bottom margin for selected cells.
    * @default undefined
    * @aspType int
    */
    bottomMargin: number;
    /**
     * Gets or Sets the background for selected cells.
     * @default undefined
     * @aspType string
     */
    /**
    * Gets or Sets the background for selected cells.
    * @default undefined
    * @aspType string
    */
    background: string;
    /**
     * Gets or Sets the preferred width type for selected cells.
     * @default undefined
     */
    /**
    * Gets or Sets the preferred width type for selected cells.
    * @default undefined
    */
    preferredWidthType: WidthType;
    /**
     * Gets or Sets the preferred width  for selected cells.
     * @default undefined
     * @aspType int
     */
    /**
    * Gets or Sets the preferred width  for selected cells.
    * @default undefined
    * @aspType int
    */
    preferredWidth: number;
    /**
     * @private
     */
    constructor(selection: Selection);
    private notifyPropertyChanged;
    private getPropertyValue;
    /**
     * Copies the format.
     *
     * @private
     * @param {WCellFormat} format - Source Format to copy.
     * @returns {void}
     */
    copyFormat(format: WCellFormat): void;
    /**
     * Clears the format.
     *
     * @private
     * @returns {void}
     */
    clearCellFormat(): void;
    /**
     * Combines the format.
     *
     * @param {WCellFormat} format - Returns cell format
     * @private
     */
    combineFormat(format: WCellFormat): void;
    /**
     * Clears the format.
     *
     * @private
     * @returns {void}
     */
    clearFormat(): void;
    /**
     * Destroys the manages resources.
     *
     * @private
     * @returns {void}
     */
    destroy(): void;
}
/**
 * Selection row format implementation
 */
export  class SelectionRowFormat {
    private selection;
    private heightIn;
    private heightTypeIn;
    private isHeaderIn;
    private allowRowBreakAcrossPagesIn;
    /**
     * Gets or Sets the height for selected rows.
     *
     * @default undefined
     * @aspType int
     * @returns {number} - Returns the height
     */
    /**
    * Gets or Sets the height for selected rows.
    *
    * @default undefined
    * @aspType int
    * @param {number} value - Specified the value
    */
    height: number;
    /**
     * Gets or Sets the height type for selected rows.
     *
     * @default undefined
     * @returns {HeightType} - Returns height type
     */
    /**
    * Gets or Sets the height type for selected rows.
    *
    * @default undefined
    * @param {HeightType} value - Specified the value
    */
    heightType: HeightType;
    /**
     * Gets or Sets a value indicating whether the selected rows are header rows or not.
     *
     * @default undefined
     * @aspType bool
     * @returns {boolean} - Returns the is header
     */
    /**
    * Gets or Sets a value indicating whether the selected rows are header rows or not.
    *
    * @default undefined
    * @aspType bool
    * @param {boolean} value - Specified the value
    */
    isHeader: boolean;
    /**
     * Gets or Sets a value indicating whether to allow break across pages for selected rows.
     *
     * @default undefined
     * @aspType bool
     * @returns {boolean} - Returns the allow break across page
     */
    /**
    * Gets or Sets a value indicating whether to allow break across pages for selected rows.
    *
    * @default undefined
    * @param {boolean} value - Specified the value
    * @aspType bool
    */
    allowBreakAcrossPages: boolean;
    /**
     * @param {Selection} selection - Specifies the selection
     * @private
     */
    constructor(selection: Selection);
    private notifyPropertyChanged;
    private getPropertyValue;
    /**
     * Copies the format.
     *
     * @param {WRowFormat} format - Specified row format
     * @private
     * @returns {void}
     */
    copyFormat(format: WRowFormat): void;
    /**
     * Combines the format.
     *
     * @param {WRowFormat} format - Secifies row format
     * @private
     */
    combineFormat(format: WRowFormat): void;
    /**
     * Clears the row format.
     *
     * @private
     * @returns {void}
     */
    clearRowFormat(): void;
    /**
     * Clears the format.
     *
     * @private
     * @returns {void}
     */
    clearFormat(): void;
    /**
     * Destroys the managed resources.
     *
     * @private
     * @returns {void}
     */
    destroy(): void;
}
/**
 * Selection image format implementation
 */
export  class SelectionImageFormat {
    /**
     * @private
     */
    image: ImageElementBox;
    /**
     * @private
     */
    selection: Selection;
    /**
     * Gets the width of the image.
     *
     * @aspType int
     * @returns {number} - Returns image width
     */
    readonly width: number;
    /**
     * Gets the height of the image.
     *
     * @aspType int
     * @returns {number} - Returns image height
     */
    readonly height: number;
    /**
     * Gets the alternateText of the image.
     *
     * @aspType string
     * @returns {string} - Returns image alternateText
     */
    /**
    * Sets the alternateText of the image.
    *
    * @aspType string
    * @returns {string} - Returns image alternateText
    */
    alternateText: string;
    /**
     * @param {Selection} selection - Specifies selecion module
     * @private
     */
    constructor(selection: Selection);
    /**
     * Resizes the image based on given size.
     *
     * @param {number} width - Specified the image width
     * @param {number} height - Specifies the image height
     * @private
     * @returns {void}
     */
    resize(width: number, height: number): void;
    /**
     * update the image based on given alternateText.
     *
     * @param {string} alternateText - Specified the image alternateText
     * @private
     * @returns {void}
     */
    applyImageAlternativeText(alternateText: string): void;
    /**
     * Update image width and height
     *
     * @param {number} width - Specified the image width
     * @param {number} height - Specifies the image height
     * @param {string} alternateText - Specofies the image alternateText
     * @private
     * @returns {void}
     */
    updateImageFormat(width: number, height: number, alternateText: string): void;
    /**
     * @param {ImageElementBox} image - Specifies image element box
     * @private
     * @returns {void}
     */
    copyImageFormat(image: ImageElementBox): void;
    /**
     * @private
     * @returns {void}
     */
    clearImageFormat(): void;
}
/**
 * Selection column format
 */
export  class SelectionColumnFormat {
    private selection;
    private widthIn;
    private spaceIn;
    /**
     * @param selection
     * @private
     */
    constructor(selection: Selection);
    /**
     * Copies the format.
     *
     * @private
     * @param {WColumnFormat} format - Source Format to copy.
     * @returns {void}
     */
    copyFormat(format: WColumnFormat): void;
    /**
     * Gets or sets the width of the column.
     */
    /**
    * Gets or sets the width of the column.
    */
    width: number;
    /**
     * Gets or sets the space in between this column and next column.
     */
    /**
    * Gets or sets the space in between this column and next column.
    */
    space: number;
    private getPropertyValue;
    private notifyPropertyChanged;
    /**
     * Clears the format.
     *
     * @private
     * @returns {void}
     */
    clearFormat(): void;
    /**
     * Destroys the manages resources.
     *
     * @private
     * @returns {void}
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/implementation/search/text-search.d.ts
/**
 * @private
 */
export  class TextSearch {
    private wordBefore;
    private wordAfter;
    private owner;
    private documentHelper;
    constructor(owner: DocumentEditor);
    find(pattern: string | RegExp, findOption?: FindOption): TextSearchResult;
    findNext(pattern: string | RegExp, findOption?: FindOption, hierarchicalPosition?: string): TextSearchResult;
    stringToRegex(textToFind: string, option: FindOption): RegExp;
    isPatternEmpty(pattern: RegExp): boolean;
    findAll(pattern: string | RegExp, findOption?: FindOption, hierarchicalPosition?: string): TextSearchResults;
    getElementInfo(inlineElement: ElementBox, indexInInline: number, includeNextLine?: boolean, pattern?: RegExp, findOption?: FindOption, isFirstMatch?: boolean, results?: TextSearchResults, selectionEnd?: TextPosition, isSpellCheck?: boolean): TextInLineInfo;
    updateMatchedTextLocation(matches: RegExpExecArray[], results: TextSearchResults, textInfo: Dictionary<TextElementBox, number>, indexInInline: number, inlines: ElementBox, isFirstMatch: boolean, selectionEnd: TextPosition, startPosition?: number): void;
    private findDocument;
    private findInlineText;
    private findInline;
    getTextPosition(lineWidget: LineWidget, hierarchicalIndex: string): TextPosition;
}
/**
 * @private
 */
export  class SearchWidgetInfo {
    private leftInternal;
    private widthInternal;
    left: number;
    width: number;
    constructor(left: number, width: number);
}
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/implementation/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-result.d.ts
/**
 * @private
 */
export  class TextSearchResult {
    documentHelper: DocumentHelper;
    private startIn;
    private endIn;
    startOffset: string;
    endOffset: string;
    private owner;
    /**
     * @private
     */
    isHeader: boolean;
    /**
     * @private
     */
    isFooter: boolean;
    start: TextPosition;
    end: TextPosition;
    readonly text: string;
    constructor(owner: DocumentEditor);
    destroy(): void;
}
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/implementation/search/search.d.ts
/**
 * Search module
 */
export  class Search {
    private owner;
    /**
     * @private
     */
    textSearch: TextSearch;
    /**
     * @private
     */
    textSearchResults: TextSearchResults;
    /**
     * @private
     */
    searchResultsInternal: SearchResults;
    /**
     * @private
     */
    searchHighlighters: Dictionary<LineWidget, SearchWidgetInfo[]>;
    /**
     * @private
     */
    isRepalceTracking: boolean;
    readonly viewer: LayoutViewer;
    /**
     * Gets the search results object.
     *
     * @aspType SearchResults
     * @returns {SearchResults} - Returns the search results object.
     */
    readonly searchResults: SearchResults;
    constructor(owner: DocumentEditor);
    readonly documentHelper: DocumentHelper;
    private getModuleName;
    /**
     * Finds the immediate occurrence of specified text from cursor position in the document.
     *
     * @param {string} text - Specifies text to find.
     * @param {FindOption} findOptions - Default value of ‘findOptions’ parameter is 'None'.
     * @returns {void}
     */
    find(text: string, findOptions?: FindOption): void;
    /**
     * Finds all occurrence of specified text in the document.
     *
     * @param {string} text - Specifies text to find.
     * @param {FindOption} findOptions - Default value of ‘findOptions’ parameter is 'None'.
     * @returns {void}
     */
    findAll(text: string, findOptions?: FindOption): void;
    /**
     * Replace the searched string with specified string
     *
     * @private
     * @param  {string} replaceText  - Specifies text to replace.
     * @param  {TextSearchResult} result - Specifies the result.
     * @param  {TextSearchResults} results - Specifies the results.
     * @returns {number} - Returns replaced text count.
     */
    replace(replaceText: string, result: TextSearchResult, results: TextSearchResults): number;
    /**
     * Find the textToFind string in current document and replace the specified string.
     *
     * @private
     * @param {string} textToReplace - Specifies the text to replace.
     * @param {FindOption} findOptions - Default value of ‘findOptions’ parameter is FindOption.None.
     * @returns {void}
     */
    replaceInternal(textToReplace: string, findOptions?: FindOption): void;
    /**
     * Replace all the searched string with specified string
     *
     * @private
     * @param  {string} replaceText - Specifies the replace text.
     * @param  {TextSearchResults} results - Specfies the results.
     * @returns {number} - Returns the replace count.
     */
    replaceAll(replaceText: string, results: TextSearchResults): number;
    /**
     * Find the textToFind string in current document and replace the specified string.
     *
     * @private
     * @param {string} textToReplace - Specifies the text to replace.
     * @param {FindOption} findOptions - Default value of ‘findOptions’ parameter is FindOption.None.
     * @returns {void}
     */
    replaceAllInternal(textToReplace: string, findOptions?: FindOption): void;
    /**
     * @private
     * @param {TextSearchResult} textSearchResult - Specifies the text search results.
     * @returns {void}
     */
    navigate(textSearchResult: TextSearchResult): void;
    /**
     * @private
     * @param {TextSearchResults} textSearchResults - Specifies the text search results.
     * @returns {void}
     */
    highlight(textSearchResults: TextSearchResults): void;
    private highlightResult;
    private highlightSearchResult;
    private createHighlightBorder;
    private addSearchHighlightBorder;
    private highlightSearchResultParaWidget;
    /**
     * @private
     * @param {HTMLElement} result - Specified the result.
     * @returns {void}
     */
    addSearchResultItems(result: HTMLElement): void;
    /**
     * @private
     * @param {TextSearchResults} textSearchResults - Specified text search result.
     * @returns {void}
     */
    addFindResultView(textSearchResults: TextSearchResults): void;
    /**
     * @private
     * @returns {void}
     */
    addFindResultViewForSearch(result: TextSearchResult): void;
    /**
     * Clears search highlight.
     *
     * @private
     * @returns {void}
     */
    clearSearchHighlight(): void;
    /**
     * @private
     * @returns {void}
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/implementation/search/search-results.d.ts
/**
 * Search Result info
 */
export  class SearchResults {
    private searchModule;
    /**
     * Gets the length of search results.
     *
     * @aspType int
     * @returns {number} - Returns search results length.
     */
    readonly length: number;
    /**
     * Gets the index of current search result.
     *
     * @aspType int
     * @returns {number} - Returns current search result index.
     */
    /**
    * Set the index of current search result.
    *
    * @param {number} value - Specifies the search result index.
    * @aspType int
    */
    index: number;
    constructor(search: Search);
    /**
     * Get start and end offset of searched text results.
     *
     * @returns {TextSearchResults[]} - Returns the text search results.
     */
    getTextSearchResultsOffset(): TextSearchResultInfo[];
    private getOffset;
    private getModuleName;
    /**
     * Replace text in current search result.
     *
     * @private
     * @param {string} textToReplace - text to replace
     * @returns {void}
     */
    replace(textToReplace: string): void;
    /**
     * Replace all the instance of search result.
     *
     * @param {string} textToReplace text to replace
     * @returns {void}
     */
    replaceAll(textToReplace: string): void;
    /**
     * @private
     * @returns {void}
     */
    navigate(): void;
    /**
     * Clears all the instance of search result.
     *
     * @returns {void}
     */
    clear(): void;
}
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/implementation/search/options-pane.d.ts
/**
 * Options Pane class.
 */
export  class OptionsPane {
    private documentHelper;
    /**
     * @private
     */
    optionsPane: HTMLElement;
    /**
     * @private
     */
    isOptionsPaneShow: boolean;
    private resultsListBlock;
    private messageDiv;
    private results;
    private searchInput;
    private searchDiv;
    private searchTextBoxContainer;
    private replaceWith;
    private findDiv;
    private replaceDiv;
    private replaceButton;
    private replaceAllButton;
    private occurrenceDiv;
    private treeviewDiv;
    private checkboxDiv;
    private findOption;
    private matchCase;
    private wholeWord;
    private treeviewObject;
    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 headingTabButton;
    private replaceTabButton;
    private searchIcon;
    private matchDiv;
    private tabDiv;
    private replacePaneText;
    private findPaneText;
    private headingPaneText;
    private matchDivReplaceText;
    private matchInput;
    private wholeInput;
    private regularInput;
    /**
     * @private
     */
    isHeadingTab: boolean;
    /**
     * @private
     */
    isBuildHeading: boolean;
    /**
     * @private
     */
    data: {
        [key: string]: Object;
    }[];
    /**
     * @private
     */
    tabInstance: navigations.Tab;
    private findTabContentDiv;
    private replaceTabContentDiv;
    /**
     * @private
     */
    isReplace: boolean;
    /**
     * @private
     */
    isUpdateHeading: boolean;
    private localeValue;
    constructor(documentHelper: DocumentHelper);
    private readonly viewer;
    private getModuleName;
    /**
     * Initialize the options pane.
     *
     * @private
     * @param {base.L10n} localeValue - Specifies the localization based on culture.
     * @param {boolean} isRtl - Specifies the Rtl.
     * @returns {void}
     */
    initOptionsPane(localeValue: base.L10n, isRtl?: boolean): void;
    /**
     * @private
     * @returns {void}
     */
    updateHeadingTab(): void;
    /**
     * Initialize the heading tab with the values.
     *
     * @private
     * @returns {void}
     */
    initHeadingTab(): void;
    private customTemplate;
    private nodeClick;
    /**
     * Data source for tree view.
     *
     * @private
     * @returns {{ [key: string]: Object;
 }[]}
     */
    dataForTreeview(): {
        [key: string]: Object;
    }[];
    private createDataSourceForTreeview;
    private validateHeadingSettings;
    private constructHeadingFieldCode;
    private constructTSwitch;
    private createReplacePane;
    private selectedTabItem;
    /**
     * @returns {void}
     */
    private searchOptionChange;
    private navigateSearchResult;
    /**
     * Apply find option based on whole words value.
     *
     * @private
     * @returns {void}
     */
    wholeWordsChange(): void;
    /**
     * Apply find option based on match value.
     *
     * @private
     * @returns {void}
     */
    matchChange(): void;
    /**
     * Binding events from the element when optins pane creation.
     *
     * @private
     * @returns {void}
     */
    onWireEvents(): void;
    /**
     * Fires on key down actions done.
     *
     * @private
     * @returns {void}
     */
    onKeyDownInternal(): void;
    /**
     * Enable Heading pane only.
     *
     * @private
     * @returns {void}
     */
    onHeadingPane(): void;
    /**
     * @private
     * @returns {void}
     */
    refreshHeadingPaneHeight(): void;
    /**
     * Enable find pane only.
     *
     * @private
     * @returns {void}
     */
    onFindPane(): void;
    private getMessageDivHeight;
    /**
     * @returns {void}
     */
    private onEnableDisableReplaceButton;
    /**
     * Enable replace pane only.
     *
     * @private
     * @returns {void}
     */
    onReplacePane(): void;
    /**
     * Fires on key down on options pane.
     *
     * @private
     * @param {KeyboardEvent} event - Specifies the focus of current element.
     * @returns {void}
     */
    onKeyDownOnOptionPane: (event: KeyboardEvent) => void;
    /**
     * Fires on replace.
     *
     * @private
     * @returns {void}
     */
    onReplaceButtonClick: () => void;
    /**
     * Fires on replace all.
     *
     * @private
     * @returns {void}
     */
    onReplaceAllButtonClick: () => void;
    /**
     * Replace all.
     *
     * @private
     * @returns {void}
     */
    replaceAll(): void;
    private hideMatchDiv;
    /**
     * Fires on search icon.
     *
     * @private
     * @returns {void}
     */
    searchIconClickInternal: () => void;
    /**
     * Fires on getting next results.
     *
     * @private
     * @returns {void}
     */
    navigateNextResultButtonClick: () => void;
    private updateListItems;
    /**
     * Fires on getting previous results.
     *
     * @private
     * @returns {void}
     */
    navigatePreviousResultButtonClick: () => void;
    /**
     * Scrolls to position.
     *
     * @private
     * @param {HTMLElement} list - Specifies the list element.
     * @returns {void}
     */
    scrollToPosition(list: HTMLElement): void;
    /**
     * Fires on key down
     *
     * @private
     * @param {KeyboardEvent} event - Speficies key down actions.
     * @returns {void}
     */
    onKeyDown: (event: KeyboardEvent) => void;
    /**
     * Clear the focus elements.
     *
     * @private
     * @returns {void}
     */
    clearFocusElement(): void;
    /**
     * Close the optios pane.
     *
     * @private
     * @returns {void}
     */
    close: () => void;
    /**
     * Fires on results list block.
     *
     * @private
     * @param {MouseEvent} args - Specifies which list was clicked.
     * @returns {void}
     */
    resultListBlockClick: (args: MouseEvent) => void;
    /**
     * Show or hide option pane based on boolean value.
     *
     * @private
     * @param {boolean} show - Specifies showing or hiding the options pane.
     * @returns {void}
     */
    showHideOptionsPane(show: boolean): void;
    /**
     * Clears search results.
     *
     * @private
     * @returns {void}
     */
    clearSearchResultItems(): void;
    /**
     * Dispose the internal objects which are maintained.
     *
     * @private
     * @returns {void}
     */
    destroy(): void;
    /**
     * Dispose the internal objects which are maintained.
     *
     * @returns {void}
     */
    private destroyInternal;
}
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/implementation/ruler/ruler.d.ts
/**
 * Set of TickAlignment available for Ruler.
 *
 * @private
 */
export  type TickAlignment = 'LeftOrTop' | 'RightOrBottom';
/**
 * Set of orientations available for Ruler.
 *
 * @private
 */
export  type RulerOrientation = 'Horizontal' | 'Vertical';
/**
 * Interface for a class Point
 *
 * @private
 */
export interface PointModel1 {
    /**
     * Sets the x-coordinate of a position
     *
     * @default 0
     */
    x?: number;
    /**
     * Sets the y-coordinate of a position
     *
     * @default 0
     */
    y?: number;
}
/**
 * @private
 */
export  class Ruler {
    /**
     * Defines the unique interval of the ruler.
     *
     * @default 6
     */
    interval: number;
    /**
     * Sets the segment width of the ruler.
     *
     * @default 36
     */
    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 15
     */
    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;
    /**   @private  */
    startMargin: number;
    /**   @private  */
    endMargin: number;
    /**   @private  */
    pageHeight: number;
    /**   @private  */
    rulerStartValue: number;
    /**   @private  */
    zeroPosition: number;
    /**   @private  */
    addSegmentWidth: boolean;
    /**
     * @private
     */
    rulerHelper: RulerHelper;
    /**
     * @private
     */
    element: HTMLElement;
    private rulerSpacediv;
    private rulerSVGElement;
    /**
     *  Constructor for creating the Ruler Component
     *
     * @param {string | HTMLElement} element The ruler element.
     * @param {RulerHelper} rulerHelper The ruler helper.
     */
    constructor(element: HTMLElement, rulerHelper: RulerHelper);
    /**
     * @private
     * @returns {void} To append the ruler
     */
    appendTo(): void;
    /**
     * Initializes the values of private members.
     *
     * @returns {void}  Initializes the values of private members.
     * @private
     */
    protected preRender(): void;
    /**
     * Renders the rulers.
     *
     * @returns {void}  Renders the rulers.
     * @private
     */
    render(): void;
    /**
     * Core method to return the component name.
     *
     * @returns {string}  Core method to return the component name.
     * @private
     */
    getModuleName(): string;
    /**
     *To destroy the ruler
     *
     * @returns {void} To destroy the ruler
     */
    destroy(): void;
    /**
     * Refreshes the ruler when the Ruler properties are updated\
     *
     * @returns {  void}    Refreshes the ruler when the Ruler properties are updated .\
     * @param {RulerModel} newProp - provide the newProp value.
     * @param {RulerModel} oldProp - provide the oldProp value.
     * @private
     */
    /**
     * @param {boolean} show - provide the show value.
     * @private
     * @returns {void} To show or hide the ruler
     */
    showHideRuler(show: boolean): void;
    private updateRulerGeometry;
    private renderRulerSpace;
    /**
     * @private
     *
     * @returns {void} To update the ruler
     */
    updateRuler(): void;
    private updateSegments;
    private updateSegment;
    private updateTickLabel;
    private getNewSegment;
    private createNewTicks;
    private getLinePoint;
    private createTick;
    private createTickLabel;
    /**
     * @private
     * @param {number} scale
     */
    /**
     * updateSegmentWidth method\
     *
     * @returns {number}    updateSegmentWidth method .\
     * @param {string} scale - provide the scale value.
     *
     * @private
     */
    updateSegmentWidth(scale: number): number;
    private getRulerGeometry;
    private getRulerSize;
    private getRulerSVG;
    /**
     * Method to bind events for the ruler \
     *
     * @returns {void}    Method to bind events for the ruler .\
     * @private
     */
    private wireEvents;
    /**
     *  Method to unbind events for the ruler \
     *
     * @returns {void}     Method to unbind events for the ruler .\
     * @private
     */
    private unWireEvents;
}
/**
 * @private
 */
export interface RulerSegment {
    segment: SVGElement;
    label: SVGTextElement;
}
/**
 * @private
 */
export interface SegmentTranslation {
    trans: number;
}
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/implementation/restrict-editing/restrict-editing-pane.d.ts
/**
 * @private
 * @param {any} args - Specifies the args
 * @returns {void}
 */
export  class RestrictEditing {
    private documentHelper;
    restrictPane: HTMLElement;
    private addUser;
    private enforceProtection;
    private allowFormat;
    private allowPrint;
    private allowCopy;
    /**
     * @private
     */
    addUserDialog: AddUserDialog;
    enforceProtectionDialog: EnforceProtectionDialog;
    stopProtection: HTMLButtonElement;
    addRemove: boolean;
    private protectionTypeDrop;
    private userWholeDiv;
    /**
     * @private
     */
    unProtectDialog: UnProtectDocumentDialog;
    stopProtectionDiv: HTMLElement;
    contentDiv1: HTMLElement;
    contentDiv2: HTMLElement;
    restrictPaneWholeDiv: HTMLElement;
    private closeButton;
    protectionType: ProtectionType;
    private localObj;
    currentHashValue: string;
    currentSaltValue: string;
    previousProtectionType: string;
    isShowRestrictPane: boolean;
    base64: Base64;
    addedUser: lists.ListView;
    stopReadOnlyOptions: HTMLElement;
    isAddUser: boolean;
    usersCollection: string[];
    highlightCheckBox: buttons.CheckBox;
    constructor(documentHelper: DocumentHelper);
    readonly viewer: LayoutViewer;
    showHideRestrictPane(isShow: boolean): void;
    private initPane;
    initRestrictEditingPane(localObj: base.L10n): void;
    showStopProtectionPane(show: boolean): void;
    /**
     * @returns {void}
     */
    private closePane;
    private wireEvents;
    private changeHighlightOptions;
    private enableFormatting;
    private stopProtectionTriggered;
    private protectionTypeDropChanges;
    private showRemovedIgnoreDialog;
    private onYesButtonClick;
    private onCancelButtonClick;
    private onNoButtonClick;
    private selectHandler;
    highlightClicked(args: any): void;
    private protectDocument;
    createCheckBox(label: string, element: HTMLInputElement): buttons.CheckBox;
    loadPaneValue(): void;
    navigateNextRegion(): void;
    addUserCollection(): void;
    /**
     * @returns {void}
     */
    showAllRegion: () => void;
    updateUserInformation(): void;
    /**
     * @private
     * @returns {void}
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/implementation/restrict-editing/enforce-protection-dialog.d.ts
/**
 * @private
 */
export  class EnforceProtectionDialog {
    private documentHelper;
    private target;
    private passwordTextBox;
    private confirmPasswordTextBox;
    private localeValue;
    private owner;
    /**
     * @private
     */
    password: string;
    constructor(documentHelper: DocumentHelper, owner: RestrictEditing);
    readonly viewer: LayoutViewer;
    initDialog(localValue: base.L10n): void;
    /**
     * @private
     * @returns {void}
     */
    show: () => void;
    /**
     * @returns {void}
     */
    hideDialog: () => void;
    /**
     * @private
     * @returns {void}
     */
    okButtonClick: () => void;
    /**
     * @private
     * @returns {void}
     */
    destroy(): void;
}
/**
 * @private
 */
export  class UnProtectDocumentDialog {
    private documentHelper;
    private target;
    private passwordTextBox;
    private owner;
    private localObj;
    private currentHashValue;
    private currentSaltValue;
    readonly viewer: LayoutViewer;
    constructor(documentHelper: DocumentHelper, owner: RestrictEditing);
    initDialog(localValue: base.L10n): void;
    /**
     * @private
     * @returns {void}
     */
    show: () => void;
    /**
     * @private
     * @returns {void}
     */
    okButtonClick: () => void;
    /**
     * @private
     * @returns {void}
     */
    hideDialog: () => void;
    /**
     * @private
     * @returns {void}
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/implementation/restrict-editing/add-user-dialog.d.ts
/**
 * @private
 */
export  class AddUserDialog {
    private documentHelper;
    private target;
    private textBoxInput;
    private userList;
    private addButton;
    constructor(documentHelper: DocumentHelper);
    initUserDialog(localValue: base.L10n, isRtl?: boolean): void;
    /**
     * @private
     * @returns {void}
     */
    show: () => void;
    /**
     * @private
     * @returns {void}
     */
    loadUserDetails: () => void;
    /**
     * @private
     * @returns {void}
     */
    okButtonClick: () => void;
    /**
     * @private
     * @returns {void}
     */
    hideDialog: () => void;
    /**
     * @private
     * @returns {void}
     */
    onKeyUpOnDisplayBox: () => void;
    /**
     * @returns {void}
     */
    addButtonClick: () => void;
    /**
     * @param {string} data - Specifies the data.
     * @private
     * @returns {void}
     */
    bindListData(data: string): void;
    validateUserName(value: string): boolean;
    /**
     * @returns {void}
     */
    deleteButtonClick: () => void;
    /**
     * @private
     * @returns {void}
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/implementation/list/list.d.ts
/**
 * @private
 */
export  class WList {
    nsid: number;
    listId: number;
    sourceListId: number;
    abstractListId: number;
    abstractList: WAbstractList;
    levelOverrides: WLevelOverride[];
    getListLevel(levelNumber: number): WListLevel;
    getLevelOverride(levelNumber: number): WLevelOverride;
    /**
     * @private
     * @returns {void}
     */
    clear(): void;
    /**
     * Disposes the internal objects which are maintained.
     *
     * @private
     * @returns {void}
     */
    destroy(): void;
    mergeList(list: WList): void;
    clone(): WList;
}
//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;
    paraStyleName: string;
    restartLevel: number;
    /**
     * Gets the boolean that specifies that the format for the numbering at this level should be in the decimal format.
     */
    /**
    * Sets the boolean that specifies that the format for the numbering at this level should be in the decimal format.
    * @param {boolean} isLegalStyleNumbering - Specifies the value.
    */
    isLegalStyleNumbering: boolean;
    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;
    /**
     * Disposes the internal objects which are maintained.
     * @private
     * @returns {void}
     */
    destroy(): void;
    /**
     * @private
     * @returns {void}
     */
    clearFormat(): void;
    static clear(): void;
    clone(node: WAbstractList | WLevelOverride): WListLevel;
}
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/implementation/list/level-override.d.ts
/**
 * @private
 */
export  class WLevelOverride {
    startAt: number;
    levelNumber: number;
    overrideListLevel: WListLevel;
    /**
     * @private
     * @returns {void}
     */
    clear(): void;
    /**
     * Disposes the internal objects which are maintained.
     * @private
     * @returns {void}
     */
    destroy(): void;
    clone(): WLevelOverride;
}
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/implementation/list/abstract-list.d.ts
/**
 * @private
 */
export  class WAbstractList {
    private abstractListIdIn;
    nsid: number;
    levels: WListLevel[];
    constructor();
    abstractListId: number;
    clear(): void;
    /**
     * Disposes the internal objects which are maintained.
     * @private
     * @returns {void}
     */
    destroy(): void;
    clone(): WAbstractList;
}
//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;
    private _title;
    _description: string;
    ownerBase: TableWidget;
    private _styleName;
    title: string;
    description: string;
    allowAutoFit: boolean;
    cellSpacing: number;
    leftMargin: number;
    topMargin: number;
    rightMargin: number;
    bottomMargin: number;
    tableAlignment: TableAlignment;
    leftIndent: number;
    preferredWidth: number;
    preferredWidthType: WidthType;
    bidi: boolean;
    horizontalPositionAbs: HorizontalAlignment;
    horizontalPosition: number;
    styleName: string;
    constructor(owner?: TableWidget);
    getPropertyValue(property: string): Object;
    private setPropertyValue;
    private initializeUniqueTableFormat;
    private addUniqueTableFormat;
    private static getPropertyDefaultValue;
    private assignTableMarginValue;
    initializeTableBorders(): void;
    destroy(): void;
    cloneFormat(): WTableFormat;
    hasValue(property: string): boolean;
    copyFormat(format: WTableFormat): void;
    static clear(): void;
}
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/implementation/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);
    /**
     * @private
     * @returns {void}
     */
    clear(): void;
    /**
     * Disposes the internal objects which are maintained.
     *
     * @private
     * @returns {void}
     */
    destroy(): void;
    copyStyle(paraStyle: WParagraphStyle): void;
}
/**
 * @private
 */
export  class WCharacterStyle extends WStyle {
    /**
     * Specifies the character format
     *
     * @default undefined
     */
    characterFormat: WCharacterFormat;
    constructor(node?: Object);
    /**
     * @private
     * @returns {void}
     */
    clear(): void;
    /**
     * Disposes the internal objects which are maintained.
     *
     * @private
     * @returns {void}
     */
    destroy(): void;
    copyStyle(charStyle: WCharacterStyle): void;
}
/**
 * @private
 */
export  class WTableStyle extends WStyle {
    constructor(node?: Object);
    /**
     * Disposes the internal objects which are maintained.
     *
     * @private
     * @returns {void}
     */
    destroy(): void;
}
/**
 * @private
 */
export  class WStyles {
    collection: Object[];
    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[];
    /**
     * Disposes the internal objects which are maintained.
     *
     * @private
     * @returns {void}
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/implementation/format/shading.d.ts
/**
 * @private
 */
export  class WShading {
    private uniqueShadingFormat;
    private static uniqueShadingFormats;
    private static uniqueFormatType;
    ownerBase: Object;
    backgroundColor: string;
    foregroundColor: string;
    textureStyle: TextureStyle;
    constructor(node?: Object);
    private getPropertyValue;
    private setPropertyValue;
    private static getPropertyDefaultValue;
    private initializeUniqueShading;
    private addUniqueShading;
    destroy(): void;
    cloneFormat(): WShading;
    copyFormat(shading: WShading): void;
    hasValue(property: string): boolean;
    static clear(): void;
}
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/implementation/format/section-format.d.ts
/**
 * @private
 */
export  class WSectionFormat {
    private uniqueSectionFormat;
    private static uniqueSectionFormats;
    private static uniqueFormatType;
    ownerBase: Object;
    columns: WColumnFormat[];
    removedHeaderFooters: HeaderFooterWidget[];
    headerDistance: number;
    footerDistance: number;
    differentFirstPage: boolean;
    differentOddAndEvenPages: boolean;
    pageHeight: number;
    rightMargin: number;
    pageWidth: number;
    leftMargin: number;
    bottomMargin: number;
    topMargin: number;
    bidi: boolean;
    restartPageNumbering: boolean;
    pageStartingNumber: number;
    endnoteNumberFormat: FootEndNoteNumberFormat;
    restartIndexForEndnotes: FootnoteRestartIndex;
    restartIndexForFootnotes: FootnoteRestartIndex;
    footNoteNumberFormat: FootEndNoteNumberFormat;
    initialFootNoteNumber: number;
    initialEndNoteNumber: number;
    pageNumberStyle: FootEndNoteNumberFormat;
    numberOfColumns: number;
    equalWidth: boolean;
    lineBetweenColumns: boolean;
    breakCode: string;
    firstPageHeader: SelectionHeaderFooter;
    firstPageFooter: SelectionHeaderFooter;
    oddPageHeader: SelectionHeaderFooter;
    oddPageFooter: SelectionHeaderFooter;
    evenPageHeader: SelectionHeaderFooter;
    evenPageFooter: SelectionHeaderFooter;
    constructor(node?: Object);
    destroy(): void;
    /**
     * @private
     */
    hasValue(property: string): boolean;
    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;
}
/**
 * @private
 */
export  class WColumnFormat {
    private uniqueColumnFormat;
    private static uniqueColumnFormats;
    private static uniqueFormatType;
    ownerBase: Object;
    private indexIn;
    constructor(node?: Object);
    destroy(): void;
    private hasValue;
    index: number;
    width: number;
    space: number;
    getPropertyValue(property: string): Object;
    private static getPropertyDefaultValue;
    private setPropertyValue;
    private initializeUniqueColumnFormat;
    private addUniqueColumnFormat;
    updateUniqueColumnFormat(format: WColumnFormat): void;
    cloneFormat(): WColumnFormat;
    copyFormat(colFormat: WColumnFormat): void;
    static clear(): void;
}
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/implementation/format/row-format.d.ts
/**
 * @private
 */
export  class WRowFormat {
    private uniqueRowFormat;
    private static uniqueRowFormats;
    private static uniqueFormatType;
    /**
     * @private
     */
    borders: WBorders;
    /**
     * @private
     */
    ownerBase: TableRowWidget;
    /**
     * @private
     */
    beforeWidth: number;
    /**
     * @private
     */
    afterWidth: number;
    /**
     * @private
     */
    revisions: Revision[];
    /**
     * @private
     */
    removedIds: string[];
    gridBefore: number;
    gridBeforeWidth: number;
    gridBeforeWidthType: WidthType;
    gridAfter: number;
    gridAfterWidth: number;
    gridAfterWidthType: WidthType;
    allowBreakAcrossPages: boolean;
    isHeader: boolean;
    rightMargin: number;
    height: number;
    heightType: HeightType;
    bottomMargin: number;
    leftIndent: number;
    topMargin: number;
    leftMargin: number;
    constructor(node?: TableRowWidget);
    getPropertyValue(property: string): Object;
    private setPropertyValue;
    private initializeUniqueRowFormat;
    private addUniqueRowFormat;
    private static getPropertyDefaultValue;
    containsMargins(): boolean;
    cloneFormat(): WRowFormat;
    hasValue(property: string): boolean;
    copyFormat(format: WRowFormat): void;
    destroy(): void;
    static clear(): void;
}
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/implementation/format/paragraph-format.d.ts
/**
 * @private
 */
export  class WTabStop {
    private positionIn;
    private deletePositionIn;
    private justification;
    private leader;
    position: number;
    deletePosition: number;
    tabJustification: TabJustification;
    tabLeader: TabLeader;
    clone(): WTabStop;
    equals(tab: WTabStop): boolean;
    destroy(): void;
}
/**
 * @private
 */
export  class WParagraphFormat {
    uniqueParagraphFormat: WUniqueFormat;
    private static uniqueParagraphFormats;
    private static uniqueFormatType;
    borders: WBorders;
    listFormat: WListFormat;
    ownerBase: Object;
    baseStyle: WStyle;
    tabs: WTabStop[];
    getUpdatedTabs(): WTabStop[];
    private getTabStopsFromListFormat;
    private isValidTabStop;
    private hasTabStop;
    leftIndent: number;
    rightIndent: number;
    firstLineIndent: number;
    beforeSpacing: number;
    afterSpacing: number;
    spaceBeforeAuto: boolean;
    spaceAfterAuto: boolean;
    lineSpacing: number;
    lineSpacingType: LineSpacingType;
    textAlignment: TextAlignment;
    keepWithNext: boolean;
    keepLinesTogether: boolean;
    widowControl: boolean;
    outlineLevel: OutlineLevel;
    bidi: boolean;
    contextualSpacing: boolean;
    constructor(node?: Object);
    private getListFormatParagraphFormat;
    /**
    * @private
    */
    getListPargaraphFormat(property: string): WParagraphFormat;
    getPropertyValue(property: string): Object;
    private getDefaultValue;
    /**
    * @private
    */
    getDocumentParagraphFormat(): WParagraphFormat;
    /**
    * @private
    */
    getDocumentHelperObject(): DocumentHelper;
    private setPropertyValue;
    private initializeUniqueParagraphFormat;
    private addUniqueParaFormat;
    private static getPropertyDefaultValue;
    clearIndent(): void;
    clearPropertyValue(property: string): void;
    clearFormat(): void;
    destroy(): void;
    copyFormat(format: WParagraphFormat): void;
    updateUniqueParagraphFormat(format: WParagraphFormat): void;
    cloneFormat(): WParagraphFormat;
    /**
     *
     * @private
     */
    hasValue(property: string): boolean;
    static clear(): void;
    applyStyle(baseStyle: WStyle): void;
    getValue(property: string): Object;
    /**
     * Assinging the value for style dialog
     * @private
     * @returns {void}
     */
    assignFormat(format: WParagraphFormat, isStyle?: boolean): void;
}
//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;
    nsid: number;
    listId: number;
    listLevelNumber: number;
    readonly listLevel: WListLevel;
    constructor(node?: Object);
    private getPropertyValue;
    private setPropertyValue;
    private initializeUniqueListFormat;
    private addUniqueListFormat;
    private static getPropertyDefaultValue;
    copyFormat(format: WListFormat): void;
    hasValue(property: string): boolean;
    clearFormat(): void;
    destroy(): void;
    static clear(): void;
    applyStyle(baseStyle: WStyle): void;
    getValue(property: string): Object;
    cloneListFormat(): WListFormat;
}
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/implementation/format/character-format.d.ts
/**
 * @private
 */
export  class WCharacterFormat {
    uniqueCharacterFormat: WUniqueFormat;
    private static uniqueCharacterFormats;
    private static uniqueFormatType;
    ownerBase: Object;
    baseCharStyle: WStyle;
    /**
     * @private
     */
    removedIds: string[];
    /**
     * @private
     */
    revisions: Revision[];
    bold: boolean;
    italic: boolean;
    fontSize: number;
    characterSpacing: number;
    scaling: number;
    fontFamily: string;
    underline: Underline;
    underlineColor: string;
    fontHintType: FontHintType;
    strikethrough: Strikethrough;
    baselineAlignment: BaselineAlignment;
    highlightColor: HighlightColor;
    fontColor: string;
    bidi: boolean;
    localeIdBidi: number;
    localeIdFarEast: number;
    localeIdAscii: number;
    bdo: BiDirectionalOverride;
    boldBidi: boolean;
    italicBidi: boolean;
    fontSizeBidi: number;
    fontFamilyBidi: string;
    allCaps: boolean;
    Lowercase: boolean;
    Uppercase: boolean;
    SentenceCase: boolean;
    ToggleCase: boolean;
    CapitalizeEachWord: boolean;
    complexScript: boolean;
    hidden: boolean;
    fontFamilyFarEast: string;
    fontFamilyAscii: string;
    fontFamilyNonFarEast: 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;
    hasValue(property: string): boolean;
    clearFormat(): void;
    destroy(): void;
    copyFormat(format: WCharacterFormat): void;
    isEqualTocFormat(format: WCharacterFormat): boolean;
    copyTocFormat(format: WCharacterFormat): void;
    updateUniqueCharacterFormat(format: WCharacterFormat): void;
    static clear(): void;
    applyStyle(baseCharStyle: WStyle): void;
    getValue(property: string): Object;
    mergeFormat(format: WCharacterFormat): void;
    /**
     * Assinging the value for style dialog
     * @private
     * @returns {void}
     */
    assignFormat(format: WCharacterFormat): void;
    hasValueWithParent(property: string): boolean;
}
//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;
    /**
     * @private
     */
    initializeCellBorders(): void;
    static clear(): void;
}
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/implementation/format/borders.d.ts
/**
 * @private
 */
export  class WBorders implements IWidget {
    private leftIn;
    private rightIn;
    private topIn;
    private bottomIn;
    private horizontalIn;
    private verticalIn;
    private diagonalUpIn;
    private diagonalDownIn;
    isParsing: boolean;
    ownerBase: Object;
    left: WBorder;
    right: WBorder;
    top: WBorder;
    bottom: WBorder;
    horizontal: WBorder;
    vertical: WBorder;
    diagonalUp: WBorder;
    diagonalDown: WBorder;
    constructor(node?: Object);
    private getPropertyValue;
    private getDefaultValue;
    private documentParagraphFormat;
    getBorder(property: string): WBorder;
    /**
     * @private
     * @returns {void}
     */
    clearFormat(): void;
    /**
     * Disposes the internal objects which are maintained.
     *
     * @private
     * @returns {void}
     */
    destroy(): void;
    cloneFormat(): WBorders;
    copyFormat(borders: WBorders): void;
}
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/implementation/format/border.d.ts
/**
 * @private
 */
export  class WBorder {
    private uniqueBorderFormat;
    private static uniqueBorderFormats;
    private static uniqueFormatType;
    ownerBase: WBorders;
    color: string;
    lineStyle: LineStyle;
    lineWidth: number;
    shadow: boolean;
    space: number;
    hasNoneStyle: boolean;
    readonly isBorderDefined: boolean;
    constructor(node?: WBorders);
    private getPropertyValue;
    private setPropertyValue;
    private initializeUniqueBorder;
    private addUniqueBorderFormat;
    private static getPropertyDefaultValue;
    getLineWidth(): number;
    private getBorderLineWidthArray;
    getBorderWeight(): number;
    private getBorderNumber;
    private getNumberOfLines;
    getPrecedence(): number;
    hasValues(): boolean;
    hasValue(property: string): boolean;
    cloneFormat(): WBorder;
    /**
     * @private
     * @returns {void}
     */
    clearFormat(): void;
    /**
     * Disposes the internal objects which are maintained.
     *
     * @private
     * @returns {void}
     */
    destroy(): void;
    /**
     * @private
     * @param  {WBorder} border - Specifies the border
     * @returns {boolean} - Returns true or false
     */
    isEqualFormat(border: WBorder): boolean;
    copyFormat(border: WBorder): void;
    static clear(): void;
}
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/implementation/editor-history/history-info.d.ts
/**
 * EditorHistory preservation class
 */
/**
 * @private
 */
export  class HistoryInfo extends BaseHistoryInfo {
    documentHelper: DocumentHelper;
    /**
     * @private
     */
    modifiedActions: BaseHistoryInfo[];
    private isChildHistoryInfo;
    editRangeStart: EditRangeStartElementBox;
    readonly hasAction: boolean;
    constructor(node: DocumentEditor, isChild: boolean);
    addModifiedAction(baseHistoryInfo: BaseHistoryInfo): void;
    /**
     * @returns {Operation[]} returns an array of type Operations
     * @param {boolean} isInvertOperation accepts a boolean value
     * @private
     */
    getActionInfo(isInvertOperation?: boolean): Operation[];
    revert(): void;
    destroy(): void;
}
//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;
}
export interface ContentInfo extends IWidget {
    contentcontrol: ContentControl;
    startIndex: number;
    endIndex: number;
}
/**
 * @private
 */
export interface EditRangeInfo extends IWidget {
    editStart: EditRangeStartElementBox;
    startIndex: number;
    endIndex: number;
}
/**
 * @private
 */
export  class ModifiedLevel {
    private ownerListLevelIn;
    private modifiedListLevelIn;
    ownerListLevel: WListLevel;
    modifiedListLevel: WListLevel;
    constructor(owner: WListLevel, modified: WListLevel);
    destroy(): void;
}
/**
 * @private
 */
export  class ModifiedParagraphFormat {
    private ownerFormatIn;
    private modifiedFormatIn;
    ownerFormat: WParagraphFormat;
    modifiedFormat: WParagraphFormat;
    constructor(ownerFormat: WParagraphFormat, modifiedFormat: WParagraphFormat);
    destroy(): void;
}
/**
 * @private
 */
export  class RowHistoryFormat {
    startingPoint: Point;
    rowFormat: WRowFormat;
    tableHierarchicalIndex: string;
    rowHeightType: HeightType;
    displacement: number;
    constructor(table: TableWidget, startingPoint: Point, rowFormat: WRowFormat, owner: DocumentEditor);
    revertChanges(isRedo: boolean, owner: DocumentEditor, table: TableWidget): void;
}
/**
 * @private
 */
export  class TableHistoryInfo {
    tableHolder: WTableHolder;
    tableFormat: TableFormatHistoryInfo;
    rows: RowFormatHistoryInfo[];
    tableHierarchicalIndex: string;
    startingPoint: Point;
    owner: DocumentEditor;
    constructor(table: TableWidget, owner: DocumentEditor);
    copyProperties(table: TableWidget): void;
    destroy(): void;
}
/**
 * @private
 */
export  class TableFormatHistoryInfo {
    leftIndent: number;
    preferredWidth: number;
    preferredWidthType: WidthType;
    allowAutoFit: boolean;
}
/**
 * @private
 */
export  class RowFormatHistoryInfo {
    gridBefore: number;
    gridAfter: number;
    gridBeforeWidth: number;
    gridBeforeWidthType: WidthType;
    gridAfterWidth: number;
    gridAfterWidthType: WidthType;
    cells: CellFormatHistoryInfo[];
    constructor();
}
/**
 * @private
 */
export  class CellFormatHistoryInfo {
    columnSpan: number;
    columnIndex: number;
    preferredWidth: number;
    preferredWidthType: WidthType;
}
/**
 * @private
 */
export  class CellHistoryFormat {
    /**
     * @private
     */
    startingPoint: Point;
    /**
     * @private
     */
    startIndex: number;
    /**
     * @private
     */
    endIndex: number;
    /**
     * @private
     */
    tableHierarchicalIndex: string;
    /**
     * @private
     */
    startX: number;
    /**
     * @private
     */
    startY: number;
    /**
     * @private
     */
    displacement: number;
    constructor(point: Point);
}
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/implementation/editor-history/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: HistoryInfo[];
    private isUndoGroupingEnded;
    private owner;
    /**
     * @private
     */
    isUndoing: boolean;
    /**
     * @private
     */
    isRedoing: boolean;
    /**
     * @private
     */
    currentBaseHistoryInfo: BaseHistoryInfo;
    /**
     * @private
     * @returns {HistoryInfo} - Returns the history info.
     */
    /**
    * @private
    * @param {HistoryInfo} value - Specified the value.
    */
    currentHistoryInfo: HistoryInfo;
    /**
     * @private
     */
    modifiedParaFormats: Dictionary<BaseHistoryInfo, ModifiedParagraphFormat[]>;
    /**
     * @private
     */
    documentHelper: DocumentHelper;
    /**
     * @private
     */
    lastOperation: BaseHistoryInfo;
    /**
     * gets undo stack
     *
     * @private
     * @returns {BaseHistoryInfo[]} - Returns the undo stack.
     */
    readonly undoStack: BaseHistoryInfo[];
    /**
     * gets redo stack
     *
     * @private
     * @returns {BaseHistoryInfo[]} - Returns the redo stack.
     */
    readonly redoStack: BaseHistoryInfo[];
    /**
     * Gets the limit of undo operations can be done.
     *
     * @aspType int
     * @returns {number} - Returns the redo limit
     */
    /**
    * Sets the limit of undo operations can be done.
    *
    * @aspType int
    * @param {number} value - Specifies the value to set undo limit.
    */
    undoLimit: number;
    /**
     * Gets the limit of redo operations can be done.
     *
     * @aspType int
     * @returns {number} - Returns the redo limit.
     */
    /**
    * Sets the limit of redo operations can be done.
    *
    * @aspType int
    * @param {number} value Specifies the value to set redo limit.
    */
    redoLimit: number;
    /**
     * @param {DocumentEditor} node - Specified the document editor.
     * @private
     */
    constructor(node: DocumentEditor);
    private readonly viewer;
    private getModuleName;
    /**
     * Determines whether the undo operation can be done.
     *
     * @returns {boolean} - Returns true if can undo;
 Otherwise, false.
     */
    canUndo(): boolean;
    /**
     * Determines whether the redo operation can be done.
     *
     * @returns {boolean} - Returns true if can redo;
 Otherwise, false.
     */
    canRedo(): boolean;
    /**
     * initialize EditorHistory
     *
     * @private
     * @param {Action} action - Specifies the action.
     * @returns {void}
     */
    initializeHistory(action: Action): void;
    /**
     * Initialize complex history
     *
     * @private
     * @param {Selection} selection - Specifies the selection.
     * @param {Action} action - Specifies the action.
     * @returns {void}
     */
    initComplexHistory(selection: Selection, action: Action): void;
    /**
     * @private
     * @param {Point} startingPoint - Specifies the start point.
     * @param {TableResizer} tableResize - Spcifies the table resizer.
     * @returns {void}
     */
    initResizingHistory(startingPoint: Point, tableResize: TableResizer): void;
    /**
     * Starts a new undo able action.
     * > All editing and formatting changes made between `beginUndoAction` and `endUndoAction` will be grouped together as a single undo able action.
     *
     * @returns {void}
     */
    beginUndoAction(): void;
    /**
     * Ends the current undo able action.
     * > All editing and formatting changes made between `beginUndoAction` and `endUndoAction` will be grouped together as a single undo able action.
     *
     * @returns {void}
     */
    endUndoAction(): void;
    /**
     * Update resizing history
     *
     * @private
     * @param {Point} point - Specifies the point.
     * @param {TableResizer} tableResize - Specifies the table resizer.
     * @returns {void}
     */
    updateResizingHistory(point: Point, tableResize: TableResizer): void;
    /**
     * Record the changes
     *
     * @private
     * @param {BaseHistoryInfo} baseHistoryInfo - Specified the base history info.
     * @returns {void}
     */
    recordChanges(baseHistoryInfo: BaseHistoryInfo): void;
    /**
     * update EditorHistory
     *
     * @private
     * @returns {void}
     */
    updateHistory(): void;
    /**
     * @private
     * @returns {boolean} -Returns isHandleComplexHistory
     */
    isHandledComplexHistory(): boolean;
    /**
     * Update complex history
     *
     * @private
     * @returns {void}
     */
    updateComplexHistory(): void;
    /**
     * @private
     *
     * @returns {void}
     */
    updateComplexHistoryInternal(): void;
    /**
     * update list changes for history preservation
     *
     * @private
     * @param  {WAbstractList} currentAbstractList - Specfies the abstractlist.
     * @param  {WList} list - Specifies the list.
     * @returns {Dictionary<number, ModifiedLevel>} - Returns the modified action.
     */
    updateListChangesInHistory(currentAbstractList: WAbstractList, list: WList): Dictionary<number, ModifiedLevel>;
    /**
     * Apply list changes
     *
     * @private
     * @param  {Selection} selection - Specifies the selection.
     * @param  {Dictionary<number, ModifiedLevel>} modifiedLevelsInternal - Specifies the modified levels.
     * @returns {void}
     */
    applyListChanges(selection: Selection, modifiedLevelsInternal: Dictionary<number, ModifiedLevel>): void;
    /**
     * Update list changes
     *
     * @private
     * @param  {Dictionary<number, ModifiedLevel>} modifiedCollection - Specifies the modified colection.
     * @returns {void }
     */
    updateListChanges(modifiedCollection: Dictionary<number, ModifiedLevel>): void;
    /**
     * Reverts the last editing action.
     *
     * @returns {void}
     */
    undo(): void;
    /**
     * Performs the last reverted action.
     *
     * @returns {void}
     */
    redo(): void;
    /**
     * @private
     * @returns {void}
     */
    destroy(): void;
    /**
     * @private
     * @returns {void}
     */
    clearHistory(): void;
    private clearUndoStack;
    private clearRedoStack;
}
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/implementation/editor-history/base-history-info.d.ts
/**
 * @private
 */
export  class BaseHistoryInfo {
    private ownerIn;
    documentHelper: DocumentHelper;
    private actionIn;
    private removedNodesIn;
    private modifiedPropertiesIn;
    private modifiedNodeLength;
    private selectionStartIn;
    private selectionEndIn;
    private insertPositionIn;
    private endPositionIn;
    private currentPropertyIndex;
    private ignoredWord;
    insertedText: string;
    insertedData: ImageInfo;
    type: string;
    headerFooterStart: number;
    headerFooterEnd: number;
    private tableRelatedLength;
    cellOperation: Operation[];
    format: string;
    fieldBegin: FieldElementBox;
    startIndex: number;
    private insertIndex;
    endIndex: number;
    ignoreStartOffset: boolean;
    insertedElement: ElementBox;
    splittedRevisions: MarkerInfo[];
    isAcceptOrReject: string;
    insertedNodes: IWidget[];
    pasteContent: string;
    insertedFormat: Object;
    private collabStart;
    private collabEnd;
    isRemovedNodes: boolean;
    modifiedFormatOperation: Operation[];
    private revisionOperation;
    /**
     * @private
     */
    lastElementRevision: ElementBox;
    /**
     * @private
     */
    isRevisionEndInAnotherCell: boolean;
    /**
     * @private
     */
    endRevisionLogicalIndex: string;
    /**
     * @private
     */
    markerData: MarkerInfo[];
    /**
     * @private
     */
    formFieldType: string;
    /**
     * @private
     */
    isEditHyperlink: boolean;
    /**
     * @private
     */
    isEmptySelection: boolean;
    /**
     * @private
     */
    isHyperlinkField: boolean;
    /**
     * @private
     */
    dropDownIndex: number;
    /**
     * @private
     */
    pastedComments: CommentElementBox[];
    /**
     * @private
     */
    listInfo: ListInfo;
    readonly owner: DocumentEditor;
    readonly editorHistory: EditorHistory;
    action: Action;
    readonly modifiedProperties: Object[];
    readonly removedNodes: IWidget[];
    selectionStart: string;
    selectionEnd: string;
    insertPosition: string;
    endPosition: string;
    constructor(node: DocumentEditor);
    private readonly viewer;
    updateSelection(): void;
    private updateCollaborativeSelection;
    private paraInclude;
    /**
     * This method will set position when the multple cell selected.
     *
     * @param {TextPosition} startPosition - Specifies the start position.
     * @param {TextPosition} endPosition - Specifies the end position.
     * @private
     * @returns {void}
     */
    private updateTableSelection;
    /**
     * start is para and end is in row.
     *
     * @param {TextPosition} startPosition - Specifies the start position.
     * @param {TextPosition} endPosition - Specifies the end position.
     * @private
     * @returns {void}
     */
    private splitOperationForDelete;
    setBookmarkInfo(bookmark: BookmarkElementBox): void;
    setContentControlInfo(contentControl: ContentControl): void;
    setFormFieldInfo(field: FieldElementBox, value: string | number | boolean): void;
    setEditRangeInfo(editStart: EditRangeStartElementBox): void;
    setContentControlCheckBox(contentControl: ContentControl, value: boolean): void;
    private revertFormTextFormat;
    private revertFormField;
    private revertContentControl;
    private revertBookmark;
    private revertComment;
    private revertEditRangeRegion;
    private revertContentControlProperties;
    revert(): void;
    private highlightListText;
    private removeContent;
    updateEndRevisionInfo(): void;
    private retrieveEndPosition;
    /**
     * Method to retrieve exact spitted node which is marked as last available element.
     *
     * @param {ElementBox} elementBox - Specifies the element box
     * @returns {ElementBox} - Returns element box
     */
    private checkAdjacentNodeForMarkedRevision;
    private revertModifiedProperties;
    private redoAction;
    private revertModifiedNodes;
    private insertRemovedNodes;
    undoRevisionForElements(start: TextPosition, end: TextPosition, id: string): void;
    private revertResizing;
    private revertTableDialogProperties;
    addModifiedPropertiesForSection(format: WSectionFormat, property: string, value: Object): Object;
    addModifiedProperties(format: WCharacterFormat, property: string, value: Object): Object;
    /**
     * build character Operation for undo/redo
     *
     * @private
     * @returns {void}
     */
    buildCharacterFormatOperation(widget: ElementBox, format: WCharacterFormat): void;
    addModifiedPropertiesForParagraphFormat(format: WParagraphFormat, property: string, value: Object): Object;
    /**
     * build paragraph Operation for undo/redo
     *
     * @private
     * @returns {void}
     */
    getParagraohFormatOperation(paragarph: ParagraphWidget, format: any): void;
    addModifiedPropertiesForContinueNumbering(paragraphFormat: WParagraphFormat, value: Object): Object;
    addModifiedPropertiesForRestartNumbering(listFormat: WListFormat, value: Object): Object;
    addModifiedPropertiesForList(listLevel: WListLevel): Object;
    private revertProperties;
    addModifiedCellOptions(applyFormat: WCellFormat, format: WCellFormat, table: TableWidget): WCellFormat;
    private copyCellOptions;
    addModifiedTableOptions(format: WTableFormat): void;
    private copyTableOptions;
    private getProperty;
    private getCharacterPropertyValue;
    addModifiedTableProperties(format: WTableFormat, property: string, value: Object): Object;
    addModifiedRowProperties(rowFormat: WRowFormat, property: string, value: Object): Object;
    addModifiedCellProperties(cellFormat: WCellFormat, property: string, value: Object): Object;
    /**
     * @private
     * @returns {void}
     */
    destroy(): void;
    /**
     * @private
     */
    recordInsertRevisionDeletetion(widget: IWidget, startOffset?: number, endOffset?: number): void;
    /**
     * @private
     */
    getDeleteOperationsForTrackChanges(): Operation[];
    private checkValidRevision;
    /**
     * @private
     */
    getDeleteOperationForTrackChanges(element: ElementBox): Operation;
    /**
     * @private
     */
    getActionInfo(isInvertOperation?: boolean): Operation[];
    private getTrackchangesOperation;
    private getRevision;
    private getElementAbsolutePosition;
    /**
     * @private
     */
    getFieldOperation(): Operation[];
    /**
     * @private
     * @returns {Operation}
     * This method will build the operation for undo/Redo deleted content as paste action.
     */
    getDeleteContent(action: Action): Operation[];
    private getEditHyperlinkOperation;
    private getPasteContentLength;
    /**
     * @private
     * @returns {Operation}
     */
    getUpdateOperation(): Operation;
    private getResizingOperation;
    private getRowLength;
    /**
     * @private
     * @returns {Operation}
     */
    getDeleteOperation(action: Action, setEndIndex?: boolean, text?: string): Operation;
    /**
     * @private
     * @returns {Operation}
     */
    getInsertOperation(action: Action, setEndIndex?: boolean, skipMarkerData?: boolean): Operation;
    private getFootNoteLength;
    private getUndoRedoOperation;
    private getPasteOpertion;
    private buildTableRowCellOperation;
    private assignRevisionData;
    private createAcceptRejectOperation;
    private buildRowOperation;
    /**
     * @private
     */
    buildRowOperationForTrackChanges(row: TableRowWidget, action?: Action): Operation;
    private buildCellOperation;
    private deleteColumnOperation;
    private getPasteMergeOperation;
    private deleteCell;
    /**
     * @private
     * @returns {Operation}
     */
    getFormatOperation(element?: ElementBox, action?: string, skipIncrement?: boolean): Operation;
    private getRemovedText;
    private getRevisionOperation;
    private getRemovedFieldCode;
    private getParagraphText;
    private getTableText;
    private getRowText;
    /**
     * @private
     * @returns {Operation}
     */
    getCommentOperation(operation: Operation, action: Action, comment?: CommentElementBox): Operation;
    /**
     * @private
     */
    getDeleteCommentOperation(modifiedActions: BaseHistoryInfo[], operations: Operation[]): void;
    /**
     * @private
     * @returns {Operation}
     */
    buildFormatOperation(action: Action, ischarFormat: boolean): Operation[];
    /**
     * @private
     * @returns {Operation}
     */
    getSelectedCellOperation(action: Action, ischarFormat?: boolean, isBorder?: boolean, isShading?: boolean, isCell?: boolean): Operation[];
    private buildclearFormatOperations;
    private tableClearFormatOperation;
    private buildclearFormatOperation;
    private writeBorderFormat;
    private createListFormat;
    private createCharacterFormat;
    private createParagraphFormat;
    /**
     * @private
     * @returns {void}
     */
    createTableFormat(action: Action): void;
    /**
     * @private
     * @returns {void}
     */
    createRowFormat(action: Action): void;
    /**
     * @private
     * @returns {void}
     */
    createCellFormat(action: Action): void;
    private getTableFormatString;
    private createSectionFormat;
    private getRowString;
    private getCellString;
}
/**
 * Specifies the operation that is performed in Document Editor.
 * > Reserved for internal use only.
 */
export interface Operation {
    /**
     * Reserved for internal use only.
     */
    action?: 'Insert' | 'Delete' | 'Format' | 'Update';
    /**
     * Reserved for internal use only.
     */
    offset?: number;
    /**
     * Reserved for internal use only.
     */
    text?: string;
    /**
     * Reserved for internal use only.
     */
    length?: number;
    /**
     * Reserved for internal use only.
     */
    skipOperation?: boolean;
    /**
     * Reserved for internal use only.
     */
    imageData?: ImageInfo;
    /**
     * Reserved for internal use only.
     */
    type?: string;
    /**
     * Reserved for internal use only.
     */
    markerData?: MarkerInfo;
    /**
     * Reserved for internal use only.
     */
    protectionData?: ProtectionInfo;
    /**
     * Reserved for internal use only.
     */
    enableTrackChanges?: boolean;
    /**
     * Reserved for internal use only.
     */
    pasteContent?: string;
    /**
     * Reserved for internal use only.
     */
    styleData?: string;
    /**
     * Reserved for internal use only.
     */
    listData?: string;
    /**
     * Reserved for internal use only.
     */
    format?: string;
}
/**
 * Specifies the information about the image data.
 * > Reserved for internal use only.
 */
export interface ImageInfo {
    /**
     * Reserved for internal use only.
     */
    imageString?: string;
    /**
     * Reserved for internal use only.
     */
    height?: number;
    /**
     * Reserved for internal use only.
     */
    width?: number;
    /**
     * Reserved for internal use only.
     */
    alternativeText?: string;
    /**
     * Reserved for internal use only.
     */
    metaString?: string;
}
/**
 * Specifies the information about marker elements.
 * > Reserved for internal use only.
 */
export interface MarkerInfo {
    /**
     * Reserved for internal use only.
     */
    contentControlProperties?: string;
    /**
     * Reserved for internal use only.
     */
    bookmarkName?: string;
    /**
     * Reserved for internal use only.
     */
    type?: string;
    /**
     * Reserved for internal use only.
     */
    user?: string;
    /**
     * Reserved for internal use only.
     */
    editRangeId?: number;
    /**
     * Reserved for internal use only.
     */
    skipOperation?: boolean;
    /**
     * Reserved for internal use only.
     */
    columnFirst?: string;
    /**
     * Reserved for internal use only.
     */
    columnLast?: string;
    /**
     * Reserved for internal use only.
     */
    isAfterParagraphMark?: boolean;
    /**
     * Reserved for internal use only.
     */
    isAfterTableMark?: boolean;
    /**
     * Reserved for internal use only.
     */
    isAfterRowMark?: boolean;
    /**
     * Reserved for internal use only.
     */
    isAfterCellMark?: boolean;
    /**
     * Reserved for internal use only.
     */
    formFieldData?: string;
    /**
     * Reserved for internal use only.
     */
    checkBoxValue?: boolean;
    /**
     * Reserved for internal use only.
     */
    commentId?: string;
    /**
     * Reserved for internal use only.
     */
    author?: string;
    /**
     * Reserved for internal use only.
     */
    date?: string;
    /**
     * Reserved for internal use only.
     */
    initial?: string;
    /**
     * Reserved for internal use only.
     */
    done?: boolean;
    /**
     * Reserved for internal use only.
     */
    commentIndex?: number;
    /**
     * Reserved for internal use only.
     */
    commentAction?: string;
    /**
     * Reserved for internal use only.
     */
    text?: string;
    /**
     * Reserved for internal use only.
     */
    ownerCommentId?: string;
    /**
     * Reserved for internal use only.
     */
    isReply?: boolean;
    /**
     * Reserved for internal use only.
     */
    revisionId?: string;
    /**
     * Reserved for internal use only.
     */
    revisionType?: string;
    /**
     * Reserved for internal use only.
     */
    isAcceptOrReject?: string;
    /**
     * Reserved for internal use only.
     */
    splittedRevisions?: MarkerInfo[];
    /**
     * Reserved for internal use only.
     */
    removedIds?: string[];
    /**
     * Reserved for internal use only.
     */
    dropDownIndex?: number;
    /**
     * Reserved for internal use only.
     */
    isSkipTracking?: boolean;
    /**
     * Reserved for internal use only.
     */
    revisionForFootnoteEndnoteContent?: MarkerInfo;
}
/**
 * Specifies the information about the protection type.
 * > Reserved for internal use.
 */
export interface ProtectionInfo {
    /**
     * Reserved for internal use only.
     */
    saltValue?: string;
    /**
     * Reserved for internal use only.
     */
    hashValue?: string;
    /**
     * Reserved for internal use only.
     */
    protectionType?: ProtectionType;
}
/**
 * Specifies the information about the protection type.
 * > Reserved for internal use.
 */
export interface ListInfo {
    /**
     * Reserved for internal use only.
     */
    listNumberFormat?: string;
    /**
     * Reserved for internal use only.
     */
    listCharacterFormat?: string;
    /**
     * Reserved for internal use only.
     */
    listLevelPattern?: ListLevelPattern;
    /**
     * Reserved for internal use only.
     */
    listLevelNumber?: number;
    /**
     * Reserved for internal use only.
     */
    listId?: number;
}
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/implementation/editor/xml-pane.d.ts
/**
 * xml Pane class.
 */
export  class XmlPane {
    private documentHelper;
    /**
     * @private
     */
    element: HTMLElement;
    private positionLabelDiv;
    private isRtl;
    /**
     * @private
     */
    isXmlPaneShow: boolean;
    /**
     * @private
     */
    isAddedDocumentXml: boolean;
    /**
     * @private
     */
    treeviewObject: navigations.TreeView;
    private alertDialog;
    ulelement: HTMLUListElement;
    /**
     * @private
     */
    contextMenuInstance: navigations.ContextMenu;
    private localeValue;
    /**
     * @param {DocumentHelper} documentHelper - Specifies the document helper.
     * @param {boolean} isRtl - Specifies the Rtl.
     * @private
     */
    constructor(documentHelper: DocumentHelper, isRtl?: boolean);
    private readonly viewer;
    private getModuleName;
    /**
     * To set Drop Down List Data.
     *
     * @param {Object} key.
     * @private
     * @returns {void}
     */
    DropDownListData: {
        [key: string]: Object;
    }[];
    dropDownListObject: dropdowns.DropDownList;
    /**
     * @private
     * @param {boolean} enable - enable/disable header footer pane.
     * @returns {void}
     */
    enableDisableElements(enable: boolean): void;
    /**
     * Initialize the Xml Mapping.
     *
     * @private
     * @param {L10n} localeValue - Specifies the localization based on culture.
     * @param {boolean} isRtl - Specifies the Rtl.
     * @returns {void}
     */
    initializeXmlMapping(): void;
    /**
* To set Default Treeview data.
* @param {Object} key.
* @returns {void}
*/
    private hierarchicalData;
    field: Object;
    /**
    * To initialize Context navigations.ContextMenu.
    * @returns {void}
    */
    private initializeContextMenu;
    /**
    * To intialize Drop Down List.
    * @returns {void}
    */
    private intializeDropDownList;
    /**
    * To handle Drop Down List collection by selection.
    * @param {dropdowns.SelectEventArgs} args.
    * @private
    * @returns {void}
    */
    handleDropDownList(args: dropdowns.SelectEventArgs): void;
    /**
    * To handle Treeview object collection based on the xml Data.
    * @param {number} index.
    * @returns {void}
    */
    private handleTreeviewObject;
    /**
    * To context navigations.ContextMenu scenario Before Open.
    * @param {BeforeOpenCloseMenuEventArgs} args.
    * @returns {void}
    */
    private contextMenuBeforeOpen;
    /**
    * To handle Context navigations.ContextMenu Items based on Type of content control.
    * @param {MenuEventArgs} args.
    * @returns {void}
    */
    private handleContextMenuItem;
    private disableBrowserContextmenu;
    /**
    * To apply Content Control.
    * @param {string} args.
    * @returns {void}
    */
    private applyContentControl;
    /**
    * To insert Content inside the content control.
    * @returns {void}
    */
    private insertContent;
    /**
     * @private
     * @returns {void}
     */
    updateContent(updatedText: string, xpath: string): void;
    private updateContentControl;
    private updateCheckBoxContentControl;
    private updateXMLData;
    /**
    * To get the XMLpath to bind in the XML mapping property
    * @returns {}
    */
    private getXmlPath;
    private closeDialogUtils;
    /**
    * To create Div Template.
    * @param {string} id.
    * @param {HTMLElement} parentDiv.
    * @param {string} style.
    * @returns {HTMLElement}
    */
    private createDivTemplate;
    /**
    * To handle File Selection.
    * @returns {void}
    */
    handleFileSelect: () => void;
    /**
    * To on File Selection.
    * @param {File} file.
    * @returns {void}
    */
    private onFileSelect;
    /**
     * data from xml to the xml pane.
     *
     * @private
     * @param {string} xmlString - Specifies the custom xmlpart xml.
     * @returns {void}
     */
    addDataFromCustomXML(xmlString: string): void;
    /**
    * To add New File To Drop Down List.
    * @param {File} file.
    * @private
    * @returns {void}
    */
    addingNewFileToDropDownList(): void;
    /**
     * Close the xml pane.
     *
     * @private
     * @returns {void}
     */
    onClose: () => void;
    /**
     * To show Xml Properties.
     *
     * @private
     * @param {boolean} show - Specifies showing or hiding the xml pane.
     * @returns {void}
     */
    showXmlProperties(show: boolean): void;
    /**
    * @private
    * @returns {void}
    */
    clear(): void;
    /**
     * Dispose the internal objects which are maintained.
     *
     * @private
     * @returns {void}
     */
    destroyInternal(): void;
    /**
     * Dispose the internal objects which are maintained.
     *
     * @private
     * @returns {void}
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/implementation/editor/table-resizer.d.ts
/**
 * @private
 */
export  class TableResizer {
    owner: DocumentEditor;
    documentHelper: DocumentHelper;
    resizeNode: number;
    resizerPosition: number;
    currentResizingTable: TableWidget;
    startingPoint: Point;
    private isResizerEnabled;
    constructor(node: DocumentEditor);
    private readonly viewer;
    private getModuleName;
    updateResizingHistory(touchPoint: Point): void;
    handleResize(point: Point): void;
    isInRowResizerArea(touchPoint: Point): boolean;
    isInCellResizerArea(touchPoint: Point): boolean;
    getCellReSizerPosition(touchPoint: Point): number;
    private getCellReSizerPositionInternal;
    private getRowReSizerPosition;
    handleResizing(touchPoint?: Point, isTableMarkerDragging?: boolean, dragValue?: number): void;
    resizeTableRow(dragValue: number): void;
    private getTableWidget;
    private getTableWidgetFromWidget;
    getTableCellWidget(cursorPoint: Point): TableCellWidget;
    updateRowHeight(row: TableRowWidget, dragValue: number): void;
    resizeTableCellColumn(dragValue: number): void;
    private resizeColumnWithSelection;
    private resizeColumnAtStart;
    private updateWidthForCells;
    private resizeColumnAtLastColumnIndex;
    private resizeCellAtMiddle;
    updateGridValue(table: TableWidget, isUpdate: boolean, dragValue?: number): void;
    private getColumnCells;
    private updateGridBefore;
    private getLeastGridBefore;
    private increaseOrDecreaseWidth;
    private changeWidthOfCells;
    private updateRowsGridAfterWidth;
    private getRowWidth;
    private getMaxRowWidth;
    private isColumnSelected;
    applyProperties(table: TableWidget, tableHistoryInfo: TableHistoryInfo): void;
    private getActualWidth;
    setPreferredWidth(table: TableWidget): void;
    private updateCellPreferredWidths;
    private updateGridBeforeWidth;
    updateGridAfterWidth(width: number, row: TableRowWidget): void;
    /**
     * @private
     * @returns {void}
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/implementation/editor/image-resizer.d.ts
/**
 * Image resizer implementation.
 */
export  class ImageResizer {
    private documentHelper;
    /**
     * @private
     */
    owner: DocumentEditor;
    private currentImageElementBoxIn;
    /**
     * @private
     */
    resizeContainerDiv: HTMLDivElement;
    /**
     * @private
     */
    topLeftRect: HTMLDivElement;
    /**
     * @private
     */
    topMiddleRect: HTMLDivElement;
    /**
     * @private
     */
    topRightRect: HTMLDivElement;
    /**
     * @private
     */
    bottomLeftRect: HTMLDivElement;
    /**
     * @private
     */
    bottomMiddleRect: HTMLDivElement;
    /**
     * @private
     */
    bottomRightRect: HTMLDivElement;
    /**
     * @private
     */
    leftMiddleRect: HTMLDivElement;
    /**
     * @private
     */
    rightMiddleRect: HTMLDivElement;
    /**
     * @private
     */
    topLeftRectParent: HTMLDivElement;
    /**
     * @private
     */
    topMiddleRectParent: HTMLDivElement;
    /**
     * @private
     */
    topRightRectParent: HTMLDivElement;
    /**
     * @private
     */
    bottomLeftRectParent: HTMLDivElement;
    /**
     * @private
     */
    bottomMiddleRectParent: HTMLDivElement;
    /**
     * @private
     */
    bottomRightRectParent: HTMLDivElement;
    /**
     * @private
     */
    leftMiddleRectParent: HTMLDivElement;
    /**
     * @private
     */
    rightMiddleRectParent: HTMLDivElement;
    /**
     * @private
     */
    resizeMarkSizeIn: number;
    /**
     * @private
     */
    selectedImageWidget: Dictionary<IWidget, SelectedImageInfo>;
    /**
     * @private
     */
    baseHistoryInfo: BaseHistoryInfo;
    private imageResizerDiv;
    /**
     * @private
     */
    isImageResizing: boolean;
    /**
     * @private
     */
    isImageResizerVisible: boolean;
    /**
     * @private
     */
    currentPage: Page;
    /**
     * @private
     */
    isImageMoveToNextPage: boolean;
    /**
     * @private
     */
    imageResizerDivElement: HTMLDivElement;
    /**
     * @private
     */
    imageResizerPoints: ImageResizingPoints;
    /**
     * @private
     */
    selectedResizeElement: HTMLElement;
    /**
     * @private
     */
    topValue: number;
    /**
     * @private
     */
    leftValue: number;
    /**
     * Gets or Sets the current image element box.
     *
     * @private
     * @returns {ImageElementBox | ShapeElementBox} - Returns the image element.
     */
    /**
    * @param {ImageElementBox | ShapeElementBox} value - Specifies the current element box.
    */
    currentImageElementBox: ImageElementBox | ShapeElementBox;
    /**
     * Gets or Sets the resize mark size.
     *
     * @private
     * @returns {number} - Returns resize mark size
     */
    /**
    * @private
    * @param {number} value - Specifies resize mark size.
    */
    resizeMarkSize: number;
    /**
     * @returns {boolean} - Returns the shape size.
     */
    readonly isShapeResize: boolean;
    /**
     * Constructor for image resizer module.
     *
     * @param {DocumentEditor} node - Specfies the document editor
     * @param {DocumentHelper} documentHelper - Specified the document helper
     * @private
     */
    constructor(node: DocumentEditor, documentHelper: DocumentHelper);
    private readonly viewer;
    private getModuleName;
    /**
     * Sets image resizer position.
     *
     * @param {number} x - Specifies for image resizer left value.
     * @param {number} y - Specifies for image resizer top value.
     * @param {number} width - Specifies for image resizer width value.
     * @param {number} height - Specifies for image resizer height value.
     * @private
     * @returns {void}
     */
    setImageResizerPositions(x: number, y: number, width: number, height: number): void;
    /**
     * Creates image resizer DOM element.
     *
     * @private
     * @returns {void}
     */
    initializeImageResizer(): void;
    /**
     * Position an image resizer
     *
     * @private
     * @param {ImageElementBox} elementBox - Specifies the image position.
     * @returns {void}
     */
    positionImageResizer(elementBox: ImageElementBox | ShapeElementBox): void;
    /**
     * Shows the image resizer.
     *
     * @private
     * @returns {void}
     */
    showImageResizer(): void;
    /**
     * Hides the image resizer.
     *
     * @private
     * @returns {void}
     */
    hideImageResizer(): void;
    /**
     * Initialize the resize marks.
     *
     * @private
     * @param {HTMLElement} resizeDiv - Specifies to appending resizer container div element.
     * @param {ImageResizer} imageResizer - Specifies to creating div element of each position.
     * @returns {void}
     */
    initResizeMarks(resizeDiv: HTMLElement, imageResizer: ImageResizer): HTMLDivElement;
    /**
     * Sets the image resizer position.
     *
     * @private
     * @param {number} left - Specifies for image resizer left value.
     * @param {number} top - Specifies for image resizer top value.
     * @param {number} width - Specifies for image resizer width value.
     * @param {number} height - Specifies for image resizer height value.
     * @param {ImageResizer} imageResizer - Specifies for image resizer.
     * @returns {void}
     */
    setImageResizerPosition(left: number, top: number, width: number, height: number, imageResizer: ImageResizer): void;
    /**
     * Sets the image resizing points.
     *
     * @private
     * @param {ImageResizer} imageResizer - Specifies for position of each resizing elements.
     * @returns {void}
     */
    setImageResizingPoints(imageResizer: ImageResizer): void;
    /**
     * Initialize the resize container div element.
     *
     * @private
     * @param {ImageResizer} imageResizer - Specifies for creating resize container div element.
     * @returns {void}
     */
    initResizeContainerDiv(imageResizer: ImageResizer): void;
    /**
     * Apply the properties of each resize rectangle element.
     *
     * @private
     * @param {HTMLDivElement} resizeRectElement - Specifies for applying properties to resize rectangle element.
     * @returns {void}
     */
    applyProperties(resizeRectElement: HTMLDivElement): void;
    /**
     * Handles an image resizing.
     *
     * @private
     * @param {number} x  - Specifies for left value while resizing.
     * @param {number} y - Specifies for top value while resizing.
     * @returns {void}
     */
    private handleImageResizing;
    /**
     * Handles image resizing on mouse.
     *
     * @private
     * @param {MouseEvent} event - Specifies for image resizing using mouse event.
     * @returns {void}
     */
    handleImageResizingOnMouse(event: MouseEvent): void;
    private topMiddleResizing;
    private leftMiddleResizing;
    private topRightResizing;
    private topLeftResizing;
    private bottomRightResizing;
    private bottomLeftResizing;
    private getOuterResizingPoint;
    private getInnerResizingPoint;
    /**
     * Handles image resizing on touch.
     *
     * @private
     * @param {TouchEvent} touchEvent - Specifies for image resizing using touch event.
     * @returns {void}
     */
    handleImageResizingOnTouch(touchEvent: TouchEvent): void;
    /**
     * Gets the image point of mouse.
     *
     * @private
     * @param {Point} touchPoint - Specifies for resizer cursor position.
     * @returns {ImagePointInfo} - Returns image point
     */
    getImagePoint(touchPoint: Point): ImagePointInfo;
    private applyPropertiesForMouse;
    /**
     * Gets the image point of touch.
     *
     * @private
     * @param {Point} touchPoints - Specifies for resizer cursor position.
     * @returns {ImagePointInfo} - Returns image point info.
     */
    getImagePointOnTouch(touchPoints: Point): ImagePointInfo;
    private applyPropertiesForTouch;
    /**
     * @private
     * @returns {void}
     */
    mouseUpInternal(): void;
    /**
     * Initialize history for image resizer.
     *
     * @private
     * @param {ImageResizer} imageResizer - Specifies for image resizer.
     * @param {WImage} imageContainer - Specifies for an image.
     * @returns {void}
     */
    initHistoryForImageResizer(imageContainer: ImageElementBox): void;
    /**
     * Updates histroy for image resizer.
     *
     * @private
     * @returns {void}
     */
    updateHistoryForImageResizer(): void;
    /**
     * Updates image resize container when applying zooming
     *
     * @private
     * @returns {void}
     */
    updateImageResizerPosition(): void;
    /**
     * Dispose the internal objects which are maintained.
     *
     * @private
     * @returns {void}
     */
    destroy(): void;
}
/**
 * @private
 */
export  class ImageResizingPoints {
    /**
     * @private
     */ resizeContainerDiv: Point;
    /**
     * @private
     */
    topLeftRectParent: Point;
    /**
     * @private
     */
    topMiddleRectParent: Point;
    /**
     * @private
     */
    topRightRectParent: Point;
    /**
     * @private
     */
    bottomLeftRectParent: Point;
    /**
     * @private
     */
    bottomMiddleRectParent: Point;
    /**
     * @private
     */
    bottomRightRectParent: Point;
    /**
     * @private
     */
    leftMiddleRectParent: Point;
    /**
     * @private
     */
    rightMiddleRectParent: Point;
}
/**
 * @private
 */
export  class SelectedImageInfo {
    private heightIn;
    private widthIn;
    height: number;
    width: number;
    /**
     * Constructor for selected image info class.
     * @param {number} height - Specifies for height value.
     * @param {number} width - Specifies for width value.
     */
    constructor(height: number, width: number);
}
/**
 * @private
 */
export interface LeftTopInfo {
    left: number;
    top: number;
}
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/implementation/editor/editor.d.ts
/**
 * Editor module
 */
export  class Editor {
    /**
     * @private
     */
    documentHelper: DocumentHelper;
    private nodes;
    private editHyperlinkInternal;
    private startOffset;
    /**
     * @private
     */
    startParagraph: ParagraphWidget;
    private endOffset;
    private pasteRequestHandler;
    /**
     * @private
     */
    endParagraph: ParagraphWidget;
    private currentProtectionType;
    private alertDialog;
    private formFieldCounter;
    private skipFieldDeleteTracking;
    private skipFootNoteDeleteTracking;
    private isForHyperlinkFormat;
    private isTrackingFormField;
    private previousBlockToLayout;
    private isInsertText;
    private casingIndex;
    private checkLastLetterSpace;
    private checkLastLetterSpaceDot;
    private pasteFootNoteType;
    private isInsertingText;
    private isInternalPaste;
    private guid;
    /**
     * @private
     */
    keywordIndex: number;
    /**
     * @private
     */
    dateValue: string;
    /**
     * @private
     */
    xmlTitle: string;
    /**
     * @private
     */
    dictionaryObjcetIDIncreament: number;
    /**
     * @private
     */
    dictionaryObjectIndexIncrement: number;
    /**
     * @private
     */
    XMLFilesCount: number;
    /**
     * @private
     */
    XMLFilesNameSpaceCount: number;
    /**
     * @private
     */
    xmlData: {
        [key: string]: Object;
    }[];
    /**
     * @private
     */
    dictionaryObject: {
        ID: string;
        Data: any;
    }[];
    private footnoteRevision;
    /**
    * @private
    */
    isFootnoteElementRemoved: boolean;
    /**
    * @private
    */
    isEndnoteElementRemoved: boolean;
    /**
    * @private
    */
    handledEnter: boolean;
    /**
     * @private
     */
    handledTextInput: boolean;
    /**
     * @private
     */
    removeEditRange: boolean;
    /**
     * @private
     */
    isRemoveRevision: boolean;
    /**
     * @private
     */
    isFootNoteInsert: boolean;
    /**
     * @private
     */
    isTableInsert: boolean;
    /**
     * @private
     */
    isFootNote: boolean;
    /**
     * @private
     */
    isHandledComplex: boolean;
    /**
     * @private
     */
    isUserInsert: boolean;
    /**
     * @private
     */
    tableResize: TableResizer;
    /**
     * @private
     */
    tocStyles: TocLevelSettings;
    /**
     * @private
     */
    triggerPageSpellCheck: boolean;
    /**
     * @private
     */
    chartType: boolean;
    /**
     * @private
     */
    removedBookmarkElements: BookmarkElementBox[];
    /**
     * @private
     */
    removedEditRangeStartElements: EditRangeStartElementBox[];
    /**
     * @private
     */
    removedEditRangeEndElements: EditRangeEndElementBox[];
    /**
     * @private
     */
    removedContentControlElements: ContentControl[];
    /**
     * @private
     */
    tocBookmarkId: number;
    /**
     * @private
     */
    copiedData: string;
    /**
    * @private
    */
    isPasteContentCheck: boolean;
    private animationTimer;
    private pageRefFields;
    private delBlockContinue;
    private delBlock;
    private delSection;
    /**
     * @private
     */
    isInsertingTOC: boolean;
    /**
     * @private
     */
    isMeasureParaWidth: boolean;
    private editStartRangeCollection;
    private skipReplace;
    private skipTableElements;
    private isPasteOverWriteCells;
    private removedTextNodes;
    private editRangeID;
    /**
     * @private
     */
    isImageInsert: boolean;
    /**
     * @private
     */
    isSkipOperationsBuild: boolean;
    /**
     * @private
     */
    isCellFormatApplied: boolean;
    /**
     * @private
     */
    revisionData: MarkerInfo[];
    /**
     * @private
     */
    splittedRevisions: MarkerInfo[];
    /**
     * @private
     */
    isSkipComments: boolean;
    private currentHashValue;
    /**
     * @private
     */
    isRemoteAction: boolean;
    /**
     * @private
     */
    isIncrementalSave: boolean;
    /**
     * @private
     */
    listFormatInfo: ListInfo;
    /**
     * @private
     */
    listLevelNumber: number;
    /**
    * @private
    */
    xmlStringValue: string;
    /**
     * @private
     */
    isXmlMapped: boolean;
    /**
     * @private
     */
    restrictLayout: boolean;
    private isAutoList;
    /**
     * @private
     */
    isLastParaMarkCopied: boolean;
    private combineLastBlock;
    /**
     * @private
     */
    remotePasteRevision: Revision[];
    /**
     * @private
     */
    isFieldOperation: boolean;
    /**
     * @private
     */
    decreasedIndent: boolean;
    /**
     * @private
     */
    increasedIndent: boolean;
    /**
     * @private
     * @returns {boolean} - Returns the restrict formatting
     */
    readonly restrictFormatting: boolean;
    /**
     * @private
     * @returns {boolean} - Returns the restrict editing
     */
    readonly restrictEditing: boolean;
    /**
     * @private
     * @returns {boolean} - Returns the can edit content control.
     */
    readonly canEditContentControl: boolean;
    /**
     * @private
     */
    copiedContent: any;
    /**
     * @private
     */
    copiedTextContent: string;
    /**
     * @private
     */
    previousParaFormat: WParagraphFormat;
    private previousCharFormat;
    private previousSectionFormat;
    private currentPasteOptions;
    private pasteTextPosition;
    /**
     * @private
     */
    isPaste: boolean;
    /**
     * @private
     */
    isPasteListUpdated: boolean;
    /**
     * @private
     */
    isHtmlPaste: boolean;
    /**
     * @private
     */
    base64: Base64;
    /**
     * @private
     */
    isInsertField: boolean;
    /**
     * Initialize the editor module
     *
     * @param {DocumentHelper} documentHelper - Document helper
     * @private
     */
    constructor(documentHelper: DocumentHelper);
    private readonly viewer;
    private readonly editorHistory;
    /**
     * @private
     */
    isBordersAndShadingDialog: boolean;
    /**
     * @private
    */
    pasteImageIndex: Dictionary<string, string>;
    private readonly selection;
    private readonly owner;
    private getModuleName;
    /**
     * Initiates a batch update mode where multiple editing operations can be grouped together. This prevents intermediate re-layout during the execution of grouped operations, improving performance for bulk updates.
     *
     * @returns {void}
     */
    beginBatchEdit(): void;
    /**
     * Ends the batch update mode and triggers a single re-relayout or change notification to reflect all the modifications made during the batch update.
     *
     * @returns {void}
     */
    endBatchEdit(): void;
    /**
     * Sets the field information for the selected field.
     *
     * @param { FieldInfo } fieldInfo – Specifies the field information.
     * @returns {void}
     * > Nested field gets replaced completely with the specified field information.
     */
    setFieldInfo(fieldInfo: FieldInfo): void;
    /**
     * Inserts the specified field at cursor position.
     *
     * @param {string} code Specify the field code.
     * @param {string} result Specify the field result.
     * @returns {void}
     */
    insertField(code: string, result?: string): void;
    /**
     * @private
     */
    isLinkedStyle(styleName: string): boolean;
    /**
     * Applies the specified style for paragraph.
     *
     * @param {string} style Specify the style name to apply.
     * @param {boolean} clearDirectFormatting - Removes manual formatting (formatting not applied using a style)
     * from the selected text, to match the formatting of the applied style. Default value is false.
     * @returns {void}
     */
    applyStyle(style: string, clearDirectFormatting?: boolean): void;
    /**
     * Moves the selected content in the document editor control to clipboard.
     *
     * @returns {void}
     */
    cut(): void;
    /**
     * Inserts the editing region where everyone can edit.
     *
     * @returns {void}
     */
    insertEditingRegion(): void;
    /**
     * Inserts the editing region where mentioned user can edit.
     *
     * @returns {void}
     */
    insertEditingRegion(user: string): void;
    /**
     * Enforces the document protection by protection type.
     *
     * @param {string} credential Specify the credential to protect the document.
     *
     * @param {ProtectionType} protectionType Specify the document protection type.
     *
     * @returns {void}
     */
    enforceProtection(credential: string, protectionType: ProtectionType): void;
    /**
     * Enforces the document protection with the specified credential.
     *
     * @param {string} credential Specify the credential to protect the document.
     *
     * @param {boolean} limitToFormatting True if to limit the document formatting;
 Otherwise, false.
     *
     * @param {boolean} isReadOnly  True if to allow read-only access to the document;
 Otherwise, false.
     *
     * @returns {void}
     */
    enforceProtection(credential: string, limitToFormatting: boolean, isReadOnly: boolean): void;
    /**
     * Enforces the document protection with the specified protection type.
     *
     * @param {string} credential Specify the credential to protect the document.
     *
     * @param {ProtectionType} protectionType Specify the document protection type.
     *
     * @returns {Promise} Returns a Promise which is resolved when protection is enforced, or rejected if for any reason protection cannot be enforced.
     */
    enforceProtectionAsync(credential: string, protectionType: ProtectionType): Promise<void>;
    /**
     * Enforces the document protection with the specified credential.
     *
     * @param {string} credential Specify the credential to protect the document.
     *
     * @param {boolean} limitToFormatting True if to limit the document formatting;
 Otherwise, false.
     *
     * @param {boolean} isReadOnly  True if to allow read-only access to the document;
 Otherwise, false.
     *
     * @returns {Promise} Returns a Promise which is resolved when protection is enforced, or rejected if for any reason protection cannot be enforced.
     */
    enforceProtectionAsync(credential: string, limitToFormatting: boolean, isReadOnly: boolean): Promise<void>;
    private getCommentHierarchicalIndex;
    private alertBox;
    /**
     * Inserts a reply to a comment.
     *
     * @param {string} id - The unique identifier of the comment to reply to.
     * @param {string} text - The text of the reply.
     * @param {CommentProperties} commentProperties - The properties of the reply (author, isResolved, dateTime).
     * @returns {Comment} Returns the inserted reply comment.
     */
    insertReplyComment(id: string, text: string, commentProperties: CommentProperties): Comment;
    private getCommentInfo;
    /**
     * Inserts the comment.
     *
     * @param {string} text Specify the comment text to be inserted.
     * @returns {void}
     */
    insertComment(text?: string): void;
    /**
     * Inserts a comment with the specified properties.
     *
     * @param {string} text The text of the comment to be inserted.
     * @param {CommentProperties} commentProperties The properties of the comment (author, isResolved, dateTime).
     * @returns {Comment} The inserted comment.
     */
    insertComment(text: string, commentProperties: CommentProperties): Comment;
    /**
     * @private
     */
    parseDateTime(dateTime: string): Date;
    private insertCommentInternal;
    /**
     * @private
     */
    updateCommentElement(commentAdv: CommentElementBox, commentRangeStart: CommentCharacterElementBox, commentRangeEnd: CommentCharacterElementBox, markerData: MarkerInfo): CommentElementBox;
    /**
     * Deletes all the comments in the current document.
     *
     * @returns {void}
     */
    deleteAllComments(): void;
    /**
     * Deletes the specified comment.
     * If the provided id corresponds to a parent comment, the entire comment along with its replies will be deleted.
     * If the provided id corresponds to a single reply comment, only that particular reply will be deleted.
     *
     * @param {string} [id] - The unique identifier of the comment to be deleted. If not provided, the currently selected comment will be deleted.
     * @returns {void}
     */
    deleteComment(id?: string): void;
    /**
     * @param {CommentElementBox} comment - Specified the comment element box
     * @private
     * @returns {void}
     */
    deleteCommentInternal(comment: CommentElementBox): void;
    private deleteCommentWidgetInternal;
    /**
     * @param {CommentElementBox} comment - Specified the comment element box
     * @private
     * @returns {void}
     */
    deleteCommentWidget(comment: CommentElementBox): void;
    /**
     * @param {CommentElementBox} comment - Specified the comment element box
     * @private
     * @returns {void}
     */
    resolveComment(comment: CommentElementBox): void;
    /**
     * @param {CommentElementBox} comment - Specified the comment element box
     * @private
     * @returns {void}
     */
    reopenComment(comment: CommentElementBox): void;
    /**
     * @private
     */
    resolveOrReopenComment(comment: CommentElementBox, resolve: boolean): void;
    /**
     * @param {CommentElementBox} parentComment - Specified the parent comment
     * @param {string} text - Specified the text.
     * @private
     * @returns {void}
     */
    replyComment(parentComment: CommentElementBox, text?: string, mentions?: dropdowns.FieldSettingsModel[], markerData?: MarkerInfo): void;
    private removeInline;
    /**
     * @param {CommentElementBox} commentWidget - Specifies the comment
     * @param {boolean} isNewComment - Specifies is new comment
     * @param {boolean} showComments - Specifies show comments
     * @param {boolean} selectComment - Specified select comment
     * @private
     * @returns {void}
     */
    addCommentWidget(commentWidget: CommentElementBox, isNewComment: boolean, showComments: boolean, selectComment: boolean): void;
    /**
     * @param {CommentElementBox} comment - Specifies comment element box
     * @param {string} hierarchicalIndex - Specifies the hierachical index.
     * @private
     * @returns {void}
     */
    addReplyComment(comment: CommentElementBox, hierarchicalIndex: string): void;
    /**
     * @param {string} password - Specifies the password
     * @param {string} protectionType - Specifies the protection type
     * @param {boolean} isAsync - specifies whether the send method is synchronous or asynchronous
     * @private
     * @returns {void}
     */
    addProtection(password: string, protectionType: ProtectionType, isAsync?: boolean): Promise<void>;
    private protectionFailureHandler;
    private enforceProtectionInternal;
    /**
     * @private
     */
    enforceProtectionAssign(saltValue: string, hashValue: string, protectionType: ProtectionType): void;
    private toggleTrackChangesProtection;
    /**
     * @private
     */
    protectDocument(protectionType: ProtectionType): void;
    /**
     * Stops the document protection.
     *
     * @param {string} password Specify the password to stop protection.
     * @returns {void}
     */
    stopProtection(password: string): void;
    /**
     * Stops the document protection.
     *
     * @param {string} password Specify the password to stop protection.
     * @returns {Promise} Returns a Promise which is resolved when protection is stopped, or rejected if for any reason protection cannot be stopped.
     */
    stopProtectionAsync(password: string): Promise<void>;
    private onUnProtectionSuccess;
    /**
     * @private
     */
    validateHashValue(currentHashValue: string): boolean;
    /**
     * @private
     * @returns {void}
     */
    unProtectDocument(): void;
    /**
     * Notify content change event
     *
     * @private
     * @returns {void}
     */
    fireContentChange(): void;
    /**
     * Update physical location for text position
     *
     * @param {boolean} isSelectionChanged - Specifies the selection change
     * @private
     * @returns {void}
     */
    updateSelectionTextPosition(isSelectionChanged: boolean): void;
    /**
     * @private
     * @returns {void}
     */
    onTextInputInternal: () => void;
    /**
     * Predict text
     *
     * @private
     * @returns {void}
     */
    predictText(): void;
    private getPrefixAndSuffix;
    /**
     * Fired on paste.
     *
     * @param {ClipboardEvent} event - Specfies clipboard event
     * @private
     * @returns {void}
     */
    onPaste: (event: ClipboardEvent) => void;
    /**
     * key action
     * @private
     * @returns {void}
     */
    onKeyDownInternal(event: KeyboardEvent, ctrl: boolean, shift: boolean, alt: boolean): void;
    /**
     * @private
     * @returns {void}
     */
    handleShiftEnter(): void;
    /**
     * Handles back key.
     *
     * @private
     * @returns {void}
     */
    handleBackKey(): void;
    /**
     * Handles delete
     *
     * @private
     * @returns {void}
     */
    handleDelete(): void;
    /**
     * Handles enter key.
     *
     * @private
     * @returns {void}
     */
    handleEnterKey(): void;
    /**
     * Handles Control back key.
     *
     * @private
     * @returns {void}
     */
    handleCtrlBackKey(): void;
    /**
     * Handles Ctrl delete
     *
     * @private
     * @returns {void}
     */
    handleCtrlDelete(): void;
    /**
     * @private
     * @returns {void}
     */
    handleTextInput(text: string): void;
    /**
     * Copies to format.
     * @param {WCharacterFormat} format
     * @private
     * @returns {void}
     */
    copyInsertFormat(format: WCharacterFormat, copy: boolean, widget?: ParagraphWidget): WCharacterFormat;
    /**
     * @private
     */
    getResultContentControlText(element: ContentControl): string;
    insertContentControlPlaceholder(): void;
    /**
     * Inserts a content control.
     *
     * @param {ContentControlType} type - The type of content control to insert.
     * @param {string} [value] - The value for the content control, if applicable.
     * @returns {ContentControlInfo} The inserted content control information.
     *
     * {% codeBlock src='editor-insertContentControl/index.md' %}{% endcodeBlock %}
     */
    insertContentControl(type: ContentControlType, value?: string): ContentControlInfo;
    /**
     * Inserts a content control.
     *
     * @param {ContentControlType} type - The type of content control to insert.
     * @param {boolean} [value] - The boolean value for the content control, if applicable.
     * @returns {ContentControlInfo} The inserted content control information.
     *
     * {% codeBlock src='editor-insertContentControl/index.md' %}{% endcodeBlock %}
     */
    insertContentControl(type: ContentControlType, value?: boolean): ContentControlInfo;
    /**
     * Inserts a content control.
     *
     * @param {ContentControlType} type - The type of content control to insert.
     * @param {string} [value] - The value for the content control, if applicable.
     * @param {string[]} [items] - The items for the content control, applicable if the type is combobox or dropdownlist.
     * @returns {ContentControlInfo} The inserted content control information.
     *
     * {% codeBlock src='editor-insertContentControl/index.md' %}{% endcodeBlock %}
     */
    insertContentControl(type: ContentControlType, value?: string, items?: string[]): ContentControlInfo;
    /**
     * Inserts a content control with the specified content control properties.
     *
     * @param {ContentControlInfo} info - The content control information specifying the properties of the content control to insert
     * @returns {ContentControlInfo} The inserted content control information.
     *
     * {% codeBlock src='editor-insertContentControl/index.md' %}{% endcodeBlock %}
     */
    insertContentControl(info: ContentControlInfo): ContentControlInfo;
    private openContentDialog;
    /**
     * @private
     * @returns {void}
     */
    updatePropertiesToBlock(contentControl: ContentControl, isUpdate?: boolean): void;
    private updateContentControlPosition;
    private applyRichText;
    private isInvalidElementPresent;
    private applyPlainText;
    private applyComboBox;
    private applyDatePickerContentControl;
    private applyCheckBoxContentControl;
    /**
    * Apply the content Control properties to the picture content Control
    * @param {type} refers the type of Content control.
    */
    private applyPictureContentControl;
    /**
      * To get Prefix Mapping for XML Properties.
      * @param {ContentControlType} contentcontroltype.
      * @param {string} xmlString.
      * @private
      * @returns {void}
      */
    getPrefixMapping(xmlString: string): void;
    /**
    * add xml properties to the content control properties
    * @param {ContentControlProperties} properties.
    * @param {string} xPath.
    * @private
    */
    addXmlProperties(properties: ContentControlProperties, xPath: string): void;
    /**
    * To Get XML Store id
    * @returns {string} store item Id.
    */
    private createGuid;
    /**
    * To Get data from xml string and path
    * @param {ContentControlInfo} An object containing the updated details for the content control.
    * @returns {ContentControlInfo} The updated content control information after applying the changes, or `undefined` if no matching content control is found.
    */
    private mapXmlStringPath;
    /**
     * Sets the existing content control within the editor using the provided information.
     * The content control is identified by its unique combination of `title` and `tag`.
     * @param {ContentControlInfo} An object containing the updated details for the content control.
     * @returns {ContentControlInfo|undefined} The updated content control information after applying the changes, or `undefined` if no matching content control is found.
     */
    setContentControlInfo(info: ContentControlInfo): ContentControlInfo;
    /**
    * To get xpath format.
    * @param {string} inputxpath.
    * @returns {string}
    */
    private transformString;
    /**
    * To get Xml Value.
    * @param {string} beforeLastString.
    * @param {string} lastString.
    * @returns {string}
    */
    private getXmlValue;
    /**
    * To convert the object into Array.
    * @param {any} obj.
    * @private
    * @returns {Array}
    */
    objectToArray(obj: {
        [key: string]: any;
    }): {
        index: string;
        data: any;
    }[];
    /**
    * To Parse the XML string into an XMLDocument To Convert the XMLDocument to JSON.
    * @param {string} xmlString.
    * @private
    * @returns {void}
    */
    parseXml(xmlString: string): any;
    /**
    * To Convert the XMLDocument to JSON.
    * @param {Element} xml.
    * @private
    * @returns {any}
    */
    xmlToJson(xml: Element): any;
    /**
    * To set the updated xml json into xml Data for treeview.
    * @param {any} parsedXmlObj.
    * @param {any} parsedXmlArr.
    * @private
    * @returns {void}
    */
    setXmlData(parsedXmlObj: any, parsedXmlArr: any): void;
    /**
     * @private
     * @returns {void}
     */
    dropDownChange(contentControl: ContentControl, value: string): void;
    private updateXmlMappedContentControl;
    private updateCustomXml;
    /**
     * Inserts the specified text at cursor position
     * @param {string} text Specify the text to insert.
     */
    insertText(text: string): void;
    /**
     * @private
     * @returns {void}
     */
    insertTextInternal(text: string, isReplace: boolean, revisionType?: RevisionType, allowLayout?: boolean, isSplitRevision?: boolean): void;
    private extendSelectionToBookmarkStart;
    private updateElementInFieldRevision;
    /**
     * Retrieves the resultant field text from the specified field element box.
     * @param item Specify the field element box to retrieve field text.
     * @returns Returns the resultant field text.
     */
    retrieveFieldResultantText(item: FieldElementBox): string;
    private checkToCombineRevisionsinBlocks;
    private checkToMapRevisionWithNextNode;
    private checkToMapRevisionWithPreviousNode;
    private checkToMapRevisionWithInlineText;
    private combineElementRevisions;
    private applyMatchedRevisionInorder;
    private copyElementRevision;
    private mapMatchedRevisions;
    private isRevisionAlreadyIn;
    private getMatchedRevisionsToCombine;
    private decideInlineForTrackChanges;
    /**
     * @private
     * @returns {void}
     */
    insertIMEText(text: string, isUpdate: boolean): void;
    /**
      * Inserts the section break at cursor position with specified section break type.
      *
      * @param {SectionBreakType} sectionBreakType Specifies the section break type.
      * > If this parameter is not set, it inserts the section break of type new page.
      * @returns {void}
      */
    insertSectionBreak(sectionBreakType?: SectionBreakType, sectionFormat?: WSectionFormat): void;
    private combineRevisionWithBlocks;
    private checkToCombineRevisionWithNextPara;
    private checkToCombineRevisionWithPrevPara;
    private combineRevisionWithNextPara;
    private combineRevisionWithPrevPara;
    /**
     * Removes the specified revision from the document.
     *
     * @param revisionToRemove Specify the revision to be removed.
     * @returns {void}
     */
    removeRevision(revisionToRemove: Revision): any;
    /**
     * Clears the specified revision from the document.
     *
     * @param revision Specify the revision to clear from the document.
     * @returns {void}
     */
    clearElementRevision(revision: Revision): void;
    /**
     * @private
     * @returns {void}
     */
    insertRevision(item: any, type: RevisionType, author?: string, date?: string, spittedRange?: object[], skip?: boolean, parseRevisionId?: string): Revision;
    private insertRevisionForFootnoteWidget;
    /**
     * Method help to clear previous revisions and include new revision at specified index
     *
     * @param range - range of elements to be cleared
     * @param revision - revision to be inserted
     * @param index - index at which to be included in the revision range
     * @returns {void}
     */
    private clearAndUpdateRevisons;
    private splitRevisionByElement;
    /**
     * Method to update revision for the splitted text element
     * @param inline - Original text element
     * @param splittedSpan - Splitted element
     */
    private updateRevisionForSpittedTextElement;
    /**
     * @private
     */
    getRevision(revisionId: string): Revision;
    private isRevisionMatched;
    private compareElementRevision;
    private canInsertRevision;
    private insertRevisionAtEnd;
    private insertRevisionAtPosition;
    private insertRevisionAtBegining;
    private splitRevisionForSpittedElement;
    /**
     * Method to combine element revision if not inserts new revision
     */
    /**
     * @private
     * @returns {void}
     */
    combineElementRevisionToPrevNxt(newElement: ElementBox): void;
    private combineElementRevision;
    /**
     * @private
     * @returns {void}
     */
    removeMarkerInfoRevision(revisionID: string, markerInfo: MarkerInfo[]): void;
    private combineRevisions;
    /**
     * Method to update the revision for whole block
     *
     * @private
     * @returns {void}
     */
    insertRevisionForBlock(widget: ParagraphWidget, revisionType: RevisionType, isTOC?: boolean, revision?: Revision, skipReLayout?: boolean, isRemoveInline?: boolean, isAssOrder?: boolean): boolean;
    /**
    * @private
    */
    getLastParaForBodywidgetCollection(widget: ParagraphWidget): IWidget;
    private updatePasteRevision;
    private updateRevisionCollection;
    /**
     * @private
     * @returns {BodyWidget}
     */
    insertSection(selection: Selection, selectFirstBlock: boolean, isUndoing?: boolean, sectionBreakContinuous?: boolean, sectionBreakNewPage?: boolean, sectionFormat?: WSectionFormat): BlockWidget;
    /**
     * @private
     */
    splitBodyWidget(bodyWidget: BodyWidget, sectionFormat: WSectionFormat, startBlock: BlockWidget, sectionBreakContinuous?: boolean, sectionBreakNewPage?: boolean): BodyWidget;
    private insertRemoveHeaderFooter;
    private updateBlockIndex;
    /**
     * @private
     * @returns {void}
     */
    updateSectionIndex(sectionFormat: WSectionFormat, startBodyWidget: BodyWidget, increaseIndex: boolean): void;
    /**
    * @private
    * @returns {void}
    */
    updateColumnIndex(startBodyWidget: BodyWidget, increaseIndex: boolean): void;
    private checkAndConvertList;
    private checkNextLevelAutoList;
    private isConvertList;
    private getNumber;
    private getListLevelPattern;
    private autoConvertList;
    private checkNumberFormat;
    private checkLeadingZero;
    private getPageFromBlockWidget;
    /**
     * @private
     * @returns {void}
     */
    insertTextInline(element: ElementBox, selection: Selection, text: string, index: number, skipReLayout?: boolean, revisionType?: RevisionType, isBidi?: boolean): void;
    private insertFieldBeginText;
    private insertBookMarkText;
    private insertFieldSeparatorText;
    private insertFieldEndText;
    private insertImageText;
    /**
     * @private
     */
    private isListTextSelected;
    private checkAndConvertToHyperlink;
    private autoFormatHyperlink;
    private appylingHyperlinkFormat;
    private createHyperlinkElement;
    private insertHyperlinkfield;
    /**
     * @private
     */
    unlinkRangeFromRevision(inline: any, removeCollection?: boolean): void;
    /**
     * @private
     */
    constructRevisionnsForLink(inline: any, isRemove: boolean): void;
    /**
     * @private
     */
    unlinkWholeRangeInRevision(row: WRowFormat, revision: Revision): void;
    /**
     * @private
     * @returns {void}
     */
    unLinkFieldCharacter(inline: ElementBox): void;
    private getCharacterFormat;
    /**
     * Inserts the Hyperlink.
     *
     * @param {string} address Specify the Hyperlink URL to be inserted.
     * @param {string} displayText Specify the display text for the hyperlink
     * @param {string} screenTip Specify the screen tip text.
     * @returns {void}
     */
    insertHyperlink(address: string, displayText?: string, screenTip?: string): void;
    /**
     * @private
     */
    insertHyperlinkInternal(url: string, displayText: string, remove: boolean, isBookmark?: boolean): void;
    private insertHyperlinkInternalInternal;
    private insertHyperlinkByFormat;
    /**
     * @private
     */
    initInsertInline(element: ElementBox, insertHyperlink?: boolean, isInsertRemovedBookamrk?: boolean): void;
    private insertElementInCurrentLine;
    /**
     * Edit Hyperlink
     * @param {Selection} selection - Specified the selection
     * @param {string} url - Specifies the url
     * @param {string} displayText - Specified the display test
     * @param {boolean} isBookmark - Specifies is bookmark
     * @private
     * @returns {boolean} - Return tru of hyperlink is edited.
     */
    editHyperlink(selection: Selection, url: string, displayText: string, isBookmark?: boolean): boolean;
    private insertClonedFieldResult;
    private getClonedFieldResultWithSel;
    private getClonedFieldResult;
    /**
    * Removes the content control if selection is in content control
    * @returns {void}
    * @private
    */
    removeContentControl(): void;
    /**
     * Removes the content control if selection is in content control
     * @returns {void}
     * @private
     */
    removeContentControlInternal(contentControl?: ContentControl): void;
    /**
     * Removes the hyperlink if selection is within hyperlink.
     *
     * @returns {void}
     */
    removeHyperlink(): void;
    /**
     * @private
     */
    updateHyperlinkFormat(selection: Selection): void;
    /**
     * Paste copied clipboard content on Paste event
     * @param {ClipboardEvent} event - Specifies the paste event
     * @param {any} pasteWindow - Specifies the paste window
     * @private
     */
    pasteInternal(event: ClipboardEvent, pasteWindow?: any): void;
    private pasteImage;
    /**
     * @private
     * @returns {void}
     */
    onPasteImage(data: string): void;
    private pasteAjax;
    /**
     * @private
     * @returns {void}
     */
    pasteFormattedContent(result: any): void;
    private onPasteFailure;
    /**
     * Pastes the provided content into the editor.
     *
     * @param {string} [sfdt] - The content to be pasted, in string format.
     * @param {TablePasteOptions} [tablePasteOption] - The option specifying how the content should be pasted into a table.
     *
     * @returns {void}
     */
    paste(sfdt: string, tablePasteOption: TablePasteOptions): void;
    /**
     * Pastes the provided sfdt content or the data present in local clipboard if any.
     *
     * @param {string} sfdt Specifies the sfdt content to paste at current position.
     * @param {PasteOptions} defaultPasteOption Specifies the paste options.
     * @returns {void}
     */
    paste(sfdt?: string, defaultPasteOption?: PasteOptions): void;
    /**
     * @private
     */
    getUniqueListOrAbstractListId(isList: boolean): number;
    private getBlocksToUpdate;
    private updateListIdForBlocks;
    private isNsIdMatchWithExistingAbstractList;
    private updatePasteContent;
    private getPreviousParagraphListFormat;
    /**
     * @private
     */
    getBlocks(pasteContent: any, isPaste: boolean, sections?: BodyWidget[], comments?: CommentElementBox[], revision?: Revision[], isContextBasedPaste?: boolean): BodyWidget[];
    private applyMergeFormat;
    private applyParaFormatInternal;
    private applyFormatInternal;
    /**
     * @private
     */
    applyPasteOptions(options: PasteOptions | TablePasteOptions, isPasteOptionTextOnly?: boolean): void;
    /**
     * @private
     */
    applyTablePasteOptions(options: TablePasteOptions): void;
    /**
     * @private
     * @returns {void}
     */
    pasteContents(content: any, currentFormat?: WParagraphFormat, pasteOptions?: PasteOptions | TablePasteOptions): void;
    private pasteContentsInternal;
    private defaultPaste;
    private pasteAsNewColumn;
    private pasteAsNestedTable;
    private pasteOverwriteCell;
    private replaceCellContents;
    private pasteAsNewRow;
    private tableUpdate;
    private rowspannedCollection;
    private insertSpannedCells;
    private addRows;
    private pasteContent;
    private pasteCopiedData;
    private arrangeEndnoteCollection;
    private arrangeFootnoteCollection;
    private generateTableRevision;
    private isSectionEmpty;
    /**
     * Insert table on undo
     *
     * @param {TableWidget} table - Specifies the table
     * @param {TableWidget} newTable - Speciefies the new table
     * @param {boolean} moveRows - Specifies the new row
     * @private
     * @private {void}
     */
    insertTableInternal(table: TableWidget, newTable: TableWidget, moveRows: boolean, skipRemoving?: boolean): void;
    private removeRevisionFromTable;
    private canConstructRevision;
    private constructRevisionsForTable;
    private deleteRevision;
    private constructRevisionForFootnote;
    private constructRevisionsForBlock;
    /**
     * @private
     * @param paraWidget
     * @param startoffset
     * @param endoffset
     * @param revisionId
     * @param isParaMarkIncluded
     * @returns {void}
     */
    applyRevisionForCurrentPara(paraWidget: ParagraphWidget, startoffset: number, endoffset: number, revisionId: string, isParaMarkIncluded: boolean): void;
    /**
     * Insert table on undo
     *
     * @param {Selection} selection - Specified the selection
     * @param {WBlock} block - Spcifies the block
     * @param {WTable} table - Specifies the table.
     * @private
     * @returns {void}
     */
    insertBlockTable(selection: Selection, block: BlockWidget, table: TableWidget): void;
    /**
     * On cut handle selected content remove and relayout
     *
     * @param {Selection} selection - Specified the selection
     * @private
     * @returns {void}
     */
    handleCut(selection: Selection): void;
    private insertInlineInternal;
    private insertElement;
    private updateRevisionForElement;
    private insertElementInternal;
    private incrementCommentIndex;
    /**
     * @private
     * @returns {void}
     */
    constructRevisionFromID(insertElement: any, isEnd: boolean, skipUpdate?: boolean, prevElement?: ElementBox, index?: number): void;
    /**
     * Insert block on undo
     *
     * @param {Selection} selection - Specifies the selection
     * @param {WBlock} block - Specifes the block
     * @private
     * @returns {void}
     */
    insertBlock(block: BlockWidget, isSelectionInsideTable?: boolean): void;
    private insertBlockInternal;
    /**
     * Inserts the image with specified size at cursor position in the document editor.
     *
     * @deprecated
     *
     * @param {string} imageString  Base64 string, web URL or file URL.
     * @param {number} width Specify the image width.
     * @param {number} height Specify the image height.
     * @param {string} alternateText Specify the image alternateText.
     * @returns {void}
     */
    insertImage(imageString: string, width?: number, height?: number, alternateText?: string): void;
    /**
     * Inserts an image with a specified size at the cursor position in the DocumentEditor component.
     *
     * @param {string} imageString - The Base64 string, web URL, or file URL of the image to be inserted.
     * @param {number} width - The width of the image. Optional parameter, if not specified, the original width of the image will be used.
     * @param {number} height - The height of the image. Optional parameter, if not specified, the original height of the image will be used.
     * @param {string} alternateText - The alternate text of the image. Optional parameter, if specified, this text will be displayed when the image is not available or when images are disabled in the document.
     * @returns {Promise<void>} - A Promise that is resolved when the image has been inserted successfully, or rejected if the image could not be inserted for any reason.
     */
    insertImageAsync(imageString: string, width?: number, height?: number, alternateText?: string): Promise<void>;
    /**
     * Inserts the image with specified size at cursor position in the document editor.
     *
     * @private
     * @param {string} imageString Base64 string, web URL or file URL.
     * @param {boolean} isUiInteracted Is image instered from UI interaction.
     * @param {number} width? Image width
     * @param {number} height? Image height
     * @param {string} alternateText? Image alternateText
     * @returns {void}
     */
    insertImageInternal(imageString: string, isUiInteracted: boolean, width?: number, height?: number, alternateText?: string): Promise<void>;
    /**
     * Inserts a table of specified size at cursor position in the document editor.
     *
     * @param {number} rows Default value of ‘rows’ parameter is 1.
     * @param {number} columns Default value of ‘columns’ parameter is 1.
     * @returns {void}
     */
    insertTable(rows?: number, columns?: number): void;
    /**
     * Inserts the specified number of rows to the table above or below to the row at cursor position.
     *
     * @param {boolean} above The above parameter is optional and if omitted,
     * it takes the value as false and inserts below the row at cursor position.
     * @param {number} count The count parameter is optional and if omitted, it takes the value as 1.
     * @returns {void}
     */
    insertRow(above?: boolean, count?: number): void;
    private rowInsertion;
    /**
     * Fits the table based on AutoFitType.
     *
     * @param {AutoFitType} fitType Specify the auto fit type.
     * @returns {void}
     */
    autoFitTable(fitType: AutoFitType): void;
    /**
     *
     * @private
     * @returns {void}
     */
    insertAutoFitTable(fitType: AutoFitType, tableAdv?: TableWidget): void;
    /**
     * Inserting the row for collaborative editing.
     * @private
     * @returns {void}
     */
    rowInsertionForCE(index: number, cellCount: number, insertrow: number, table: TableWidget, rowData: any, cellData: any[], paragraphData: any[], characterData: any[]): void;
    private updateCellFormatForInsertedRow;
    private updateRowspan;
    private getInsertedTable;
    private insertTableRows;
    /**
     * Inserts the specified number of columns to the table left or right to the column at cursor position.
     *
     * @param {number} left The left parameter is optional and if omitted, it takes the value as false and
     * inserts to the right of column at cursor position.
     * @param {number} count The count parameter is optional and if omitted, it takes the value as 1.
     * @returns {void}
     */
    insertColumn(left?: boolean, count?: number): void;
    /**
     * Inserting the cell for collaborative editing.
     * @private
     * @returns {void}
     */
    cellInsertionForCE(index: number, row: TableRowWidget, cellData: any, paragraphData: any, characterData: any): void;
    private copyCellFormats;
    private copyContent;
    private tableReLayout;
    /**
     * Creates table with specified rows and columns.
     * @private
     *
     * @returns {TableWidget}
     */
    createTable(rows: number, columns: number): TableWidget;
    private createRowAndColumn;
    private createColumn;
    private getColumnCountToInsert;
    private getRowCountToInsert;
    /**
     * @private
     */
    getOwnerCell(isStart: boolean): TableCellWidget;
    private getOwnerRow;
    private getOwnerTable;
    /**
     * Merge Selected cells
     *
     * @private
     * @returns {void}
     */
    mergeSelectedCellsInTable(): void;
    private confirmCellMerge;
    private mergeSelectedCells;
    private mergeBorders;
    private updateBlockIndexAfterMerge;
    /**
     * Determines whether the merge cell operation can be done.
     *
     * @returns {boolean} Returns true if to merge cells;
 Otherwise, false.
     */
    canMergeCells(): boolean;
    private canMergeSelectedCellsInTable;
    private checkCellWidth;
    private checkCellWithInSelection;
    private checkPrevOrNextCellIsWithinSel;
    private checkCurrentCell;
    private checkRowSpannedCells;
    /**
     * @private
     * @returns {void}
     */
    insertNewParagraphWidget(newParagraph: ParagraphWidget, insertAfter: boolean): void;
    private insertParagraph;
    private updateCharacterFormatRevision;
    private moveInlines;
    private moveContent;
    private updateRevisionForMovedContent;
    /**
     * update complex changes when history is not preserved
     *
     * @param {number} action - Specifies the action
     * @param {string} start - Specifies the selection start
     * @param {string} end - Specified the selection end
     * @private
     * @returns {void}
     */
    updateComplexWithoutHistory(action?: number, start?: string, end?: string): void;
    /**
     * Re-layout content.
     *
     * @param {Selection} selection - Specifies the selection
     * @param isSelectionChanged - Specifies the selection changed
     * @private
     * @returns {void}
     */
    reLayout(selection: Selection, isSelectionChanged?: boolean, isLayoutChanged?: boolean): void;
    private shiftFootnoteContent;
    /**
     * @private
     * @returns {void}
     */
    updateHeaderFooterWidget(headerFooterWidget?: HeaderFooterWidget): void;
    private updateHeaderFooterWidgetToPage;
    private updateHeaderFooterWidgetToPageInternal;
    /**
     * @private
     * @returns {void}
     */
    removeFieldInWidget(widget: Widget, isBookmark?: boolean, isContentControl?: boolean, isEditRange?: boolean): void;
    /**
     * @private
     * @returns {void}
     */
    removeFieldInBlock(block: BlockWidget, isBookmark?: boolean, isContentControl?: boolean, isEditRange?: boolean): void;
    private removeFieldTable;
    private shiftFootnotePageContent;
    /**
     * @private
     * @returns {void}
     */
    shiftPageContent(type: HeaderFooterType, sectionFormat: WSectionFormat): void;
    private checkAndShiftFromBottom;
    private allowFormattingInFormFields;
    /**
     * @private
     * @returns {void}
     */
    insertContentControlInCollection(element: ContentControl): void;
    /**
     * @private
     * @returns {ContentControl}
     */
    getContentControl(): ContentControl;
    /**
     * @private
     * @returns {ContentControl[]}
     */
    getContentControls(): ContentControl[];
    private pushContentControlByOrder;
    private checkPlainTextContentControl;
    /**
     * Applies character format for selection.
     *
     * @param {string} property - Specifies the property
     * @param {Object} value - Specifies the value
     * @param {boolean} update - Spcifies the update
     * @private
     * @returns {void}
     */
    onApplyCharacterFormat(property: string, value: Object, update?: boolean, applyStyle?: boolean): void;
    private applyCharacterFormatForListText;
    private applyListCharacterFormatByValue;
    /**
     * @private
     * @returns {void}
     */
    updateListCharacterFormat(selection: Selection, property: string, value: Object): void;
    private updateListTextSelRange;
    /**
     * @private
     * @returns {void}
     */
    updateInsertPosition(): void;
    /**
     * Preserve paragraph and offset value for selection
     *
     * @private
     * @returns {void}
     */
    setOffsetValue(selection: Selection): void;
    /**
     * Toggles the highlight color property of selected contents.
     *
     * @param {HighlightColor} highlightColor Specify the highlight color to be applied (default: Yellow).
     * @returns {void}
     */
    toggleHighlightColor(highlightColor?: HighlightColor): void;
    /**
     * Toggles the subscript formatting of selected contents.
     *
     * @returns {void}
     */
    toggleSubscript(): void;
    /**
     * Toggles the superscript formatting of selected contents.
     *
     * @returns {void}
     */
    toggleSuperscript(): void;
    /**
     * Increases the left indent of selected paragraphs to a factor of 36 points.
     *
     * @returns {void}
     */
    increaseIndent(): void;
    /**
     * Decreases the left indent of selected paragraphs to a factor of 36 points.
     *
     * @returns {void}
     */
    decreaseIndent(): void;
    /**
     * Clears the list format for selected paragraphs.
     *
     * @returns {void}
     */
    clearList(): void;
    /**
     * Applies the bullet list to selected paragraphs.
     *
     * @param {string} bullet Specify the bullet character to be applied.
     * @param {string} fontFamily Specify the bullet font family name.
     * @returns {void}
     */
    applyBullet(bullet: string, fontFamily: string): void;
    /**
     * Applies the numbering list to selected paragraphs.
     *
     * @param {string} numberFormat  “%n” representations in ‘numberFormat’ parameter will be replaced by respective list level’s value.
     * `“%1)” will be displayed as “1)” `
     * @param {ListLevelPattern} listLevelPattern  Default value of ‘listLevelPattern’ parameter is ListLevelPattern.Arabic
     * @returns {void}
     */
    applyNumbering(numberFormat: string, listLevelPattern?: ListLevelPattern): void;
    /**
     * Toggles the baseline alignment property of selected contents.
     *
     * @param {BaselineAlignment} baseAlignment Specifies the baseline alignment.
     * @returns {void}
     */
    toggleBaselineAlignment(baseAlignment: BaselineAlignment): void;
    private clearFormattingInternal;
    /**
     * Clears the formatting.
     *
     * @returns {void}
     */
    clearFormatting(): void;
    private updateProperty;
    private getCompleteStyles;
    /**
     * Initialize default styles
     *
     * @private
     * @returns {void}
     */
    intializeDefaultStyles(): void;
    /**
     * Creates a new style or modifies an existing style with the specified style properties.
     *
     * > If modifyExistingStyle parameter is set to true and a style already exists with same name, it modifies the specified properties in the existing style.
     * > If modifyExistingStyle parameter is set to false and a style already exists with same name, it creates a new style with unique name by appending ‘_1’. Hence, the newly style will not have the specified name.
     * > If no style exists with same name, it creates a new style.
     *
     * @param {string} styleString The style properties.
     * @param {boolean} modifyExistingStyle The Boolean value denotes whether to modify the properties in the existing style or create a new style.
     *
     * @returns {string} Returns the name of the created style.
     */
    createStyle(styleString: string, modifyExistingStyle?: boolean): string;
    /**
     * @private
     * Adds a new style to the document or updates an existing style.
     *
     * @param {string} styleString - The style to be added or updated.
     * @param {boolean} modifyExistingStyle - Whether to modify an existing style.
     * @returns {Object} - The style that was added or updated.
     */
    createStyleIn(styleString: string, modifyExistingStyle: boolean): Object;
    /**
     * Modify the Style
     * @private
     * @returns {void}
     */
    private setStyle;
    private getStyle;
    private getUniqueStyleName;
    private getUniqueName;
    /**
     * Update Character format for selection
     * @private
     */
    updateSelectionCharacterFormatting(property: string, values: Object, update: boolean): void;
    private updateCharacterFormat;
    private updateCharacterFormatWithUpdate;
    private applyCharFormatSelectedContent;
    private applyCharFormatForSelectedPara;
    private splittedLastParagraph;
    private getNextParagraphForCharacterFormatting;
    private applyCharFormat;
    /**
     * Toggles the bold property of selected contents.
     *
     * @returns {void}
     */
    toggleBold(): void;
    /**
     * Toggles the bold property of selected contents.
     *
     * @returns {void}
     */
    toggleItalic(): void;
    /**
     * Change the selected text to uppercase.
     * @private
     */
    changeCase(property: string): void;
    /**
     * Change the selected text case.
     * @private
     */
    changeSelectedTextCase(selection: Selection, startPosition: TextPosition, endPosition: TextPosition, property: string, removedTextNodes?: IWidget[]): void;
    private changeTextCase;
    private changeCaseParagraph;
    private changeCaseInline;
    private addRemovedTextNodes;
    private changeCaseInlineInternal;
    private changeCaseNextBlock;
    private getNextBlockForChangeCase;
    private getChangeCaseText;
    private capitalizeFirst;
    private sentencecase;
    private togglecase;
    private changeCaseForTable;
    private changeCaseForSelectedCell;
    private changeCaseForSelectedPara;
    private changeCaseForSelTable;
    private changeCaseParaFormatInCell;
    private changeCaseParaForTableCell;
    private changeCaseParaForCellInternal;
    private changeCaseParaFormatTableInternal;
    private changeCaseParaForRow;
    /**
     * Toggles the all Caps formatting for the selected content.
     *
     * @returns {void}
     */
    toggleAllCaps(): void;
    toggleChangeCase(): string;
    private getCurrentSelectionValue;
    private getSelectedCharacterFormat;
    /**
     * Toggles the underline property of selected contents.
     *
     * @param underline Specify the underline to be toggled (default: Single).
     * @returns {void}
     */
    toggleUnderline(underline?: Underline): void;
    /**
     * Toggles the strike through property of selected contents.
     *
     * @param {Strikethrough} strikethrough Specify the strike through to be toggled (default: SingleStrike).
     * @returns {void}
     */
    toggleStrikethrough(strikethrough?: Strikethrough): void;
    private updateFontSize;
    private applyCharFormatInline;
    private formatInline;
    private updateRevisionForFormattedContent;
    private applyCharFormatCell;
    private applyCharFormatForSelectedCell;
    private applyCharFormatRow;
    private applyCharFormatForTable;
    private applyCharFormatForSelTable;
    private applyCharFormatForTableCell;
    /**
     * private
     * @returns {CellInfo}
     */
    updateSelectedCellsInTable(start: number, end: number, endCellLeft: number, endCellRight: number): CellInfo;
    private getCharacterFormatValueOfCell;
    /**
     * Apply Character format for selection
     *
     * @private
     * @returns {void}
     */
    applyCharFormatValueInternal(selection: Selection, format: WCharacterFormat, property: string, value: Object): void;
    private copyInlineCharacterFormat;
    private applyCharFormatValue;
    private isRTLFormat;
    /**
     * @private
     */
    updateStyleObject(styleData: Object): void;
    /**
     * @private
     * @returns {void}
     */
    onImageFormat(elementBox: ImageElementBox, width: number, height: number, alternateText: string): void;
    /**
     * Toggles the text alignment of selected paragraphs.
     *
     * @param {TextAlignment} textAlignment Specifies the text alignment.
     * @returns {void}
     */
    toggleTextAlignment(textAlignment: TextAlignment): void;
    /**
     * @private
     */
    setPreviousBlockToLayout(): void;
    /**
     * Apply borders for selected paragraph borders
     * @private
     */
    applyParagraphBorders(property: string, bordersType: string, value: Object): void;
    /**
     * @private
     */
    applyRulerMarkerValues(type: string, initialValue: number, finalValue: number): void;
    /**
     * Applies paragraph format for the selection ranges.
     *
     * @param {string} property - Specifies the property
     * @param {Object} value - Specifies the value
     * @param {boolean} update - Specifies the update
     * @param {boolean} isSelectionChanged - Specifies the selection change.
     * @private
     * @returns {void}
     */
    onApplyParagraphFormat(property: string, value: Object, update: boolean, isSelectionChanged: boolean, isSkipPositionCheck?: boolean): void;
    /**
     * Updates the indent value in the ListLevel
     * @param {Object} value - Specifies the value
     * @param {ParagraphWidget} currentPara - Specifies the selected paragraph
     * @private
     * @returns {void}
     */
    updateListLevelIndent(value: Object, currentPara: ParagraphWidget): void;
    /**
     * To check the current selection is first paragraph for list
     * @param {Selection} selection - Specifies the selection
     * @param {ParagraphWidget} currentPara - Specifies the current paragraph
     * @private
     * @returns {boolean}
     */
    isFirstParaForList(selection: Selection, currentPara: ParagraphWidget): boolean;
    /**
     * Update the list level
     *
     * @param {boolean} increaseLevel - Specifies the increase level
     * @private
     * @returns {void}
     */
    updateListLevel(increaseLevel: boolean): void;
    /**
     * Applies list
     *
     * @param {WList} list - Specified the list
     * @param {number} listLevelNumber - Specified the list level number
     * @private
     * @returns {void}
     */
    onApplyListInternal(list: WList, listLevelNumber: number): void;
    /**
     * Apply paragraph format to selection range
     *
     * @param {string} property - Specifies the property
     * @param {Object} value - Specifies the value
     * @param {boolean} update - Specifies the update
     * @private
     * @returns {void}
     */
    updateSelectionParagraphFormatting(property: string, value: Object, update: boolean): void;
    private getIndentIncrementValue;
    private getIndentIncrementValueInternal;
    private updateParagraphFormatInternal;
    /**
     * Update paragraph format on undo
     *
     * @param {string} property - Specifies the property
     * @param {Object} value - Specifies the value
     * @param {boolean} update - Specifies the update
     * @private
     * @returns {void}
     */
    updateParagraphFormat(property: string, value: Object, update: boolean): void;
    private applyParaFormatSelectedContent;
    /**
     * Apply Paragraph format
     *
     * @param {ParagraphWidget} paragraph - Specifies the selection
     * @param {string} property - Specifies the property
     * @param {Object} value - Specifies the value
     * @param {boolean} update - Specifies the update
     * @private
     * @returns {void}
     */
    applyParaFormatProperty(paragraph: ParagraphWidget, property: string, value: Object, update: boolean): void;
    private copyParagraphFormat;
    /**
     * Copies list level paragraph format
     *
     * @param {WParagraphFormat} oldFormat - Specifies the old format
     * @param {WParagraphFormat} newFormat - Specifies the new format
     * @private
     * @returns {void}
     */
    copyFromListLevelParagraphFormat(oldFormat: WParagraphFormat, newFormat: WParagraphFormat): void;
    /**
     * Applies the continue numbering from the previous list.
     *
     * @returns {void}
     */
    applyContinueNumbering(): void;
    /**
     * Continues the numbering sequence of the current list from the selected paragraph.
     *
     * @returns {void}
     */
    continueNumbering(): void;
    /**
     * @private
     * @param selection
     * @param paraFormat
     */
    applyContinueNumberingInternal(selection: Selection, paraFormat?: WParagraphFormat): void;
    private getContinueNumberingInfo;
    /**
     * @private
     * @returns {void}
     */
    revertContinueNumbering(selection: Selection, format: WParagraphFormat): void;
    private changeListId;
    private getParagraphFormat;
    private checkNumberArabic;
    /**
     * Restarts the numbering of the current list from the selected paragraph.
     */
    restartNumbering(): void;
    /**
     * @private
     * @returns {void}
     */
    applyRestartNumbering(selection: Selection): void;
    /**
     * @private
     * @returns {void}
     */
    restartListAt(selection: Selection): void;
    /**
     * @private
     * @returns {void}
     */
    restartListAtInternal(selection: Selection, listId: number, nsid?: number): void;
    private changeRestartNumbering;
    private applyParaFormat;
    private applyCharacterStyle;
    private applyParaFormatInCell;
    private applyParaFormatCellInternal;
    private getParaFormatValueInCell;
    private applyParagraphFormatRow;
    private applyParaFormatTableCell;
    private applyParaFormatTable;
    private getNextParagraphForFormatting;
    private applyParagraphFormatTableInternal;
    /**
     * Apply column format changes
     *
     * @param {string} property - Specifies the property
     * @param {Object} value - Specifies the value
     * @private
     * @returns {void}
     */
    onApplyColumnFormat(property: string, value: Object): void;
    /**
     * Apply section format selection changes
     *
     * @param {string} property - Specifies the property
     * @param {Object} value - Specifies the value
     * @private
     * @returns {void}
     */
    onApplySectionFormat(property: string, value: Object): void;
    /**
     *
     * @private
     * @returns {void}
     */
    removeInlineHeaderFooterWidget(sectionIndex: number, headerFooterType: HeaderFooterType, propertyName: string, value: Object): void;
    /**
     *
     * @private
     * @returns {void}
     */
    updateHeaderFooters(propertyName: string, value: boolean, sectionIndex: number, widget: HeaderFooterWidget): void;
    /**
     * Update section format
     *
     * @param {string} property - Specifies the property
     * @param {Object} value - Specifies the value
     * @private
     * @returns {void}
     */
    updateSectionFormat(property: string, value: Object): void;
    private getFirstChildOfTable;
    /**
     * Apply table format property changes
     *
     * @param {string} property - Specifies the property
     * @param {Object} value - Specifies the value
     * @private
     * @returns {void}
     */
    onApplyTableFormat(property: string, value: Object, table?: TableWidget): void;
    private getTableFormatAction;
    /**
     * Apply table row format property changes
     *
     * @param {string} property - Specifies the property
     * @param {Object} value - Specifies the value
     * @private
     * @returns {void}
     */
    onApplyTableRowFormat(property: string, value: Object): void;
    private getRowAction;
    /**
     * Apply table cell property changes
     *
     * @param {string} property - Specifies the property
     * @param {Object} value - Specifies the value
     * @private
     * @returns {void}
     */
    onApplyTableCellFormat(property: string, value: Object): void;
    private getTableCellAction;
    private applyPropertyValueForSection;
    private combineFollowingSection;
    private updateSelectionTableFormat;
    /**
     * Update Table Format on undo
     *
     * @param {Selection} selection - Specifies the selection
     * @param {string} property - Specifies the property
     * @param {Object} value - Specifies the value
     * @private
     * @returns {void}
     */
    updateTableFormat(selection: Selection, property: string, value: object): void;
    /**
     * update cell format on undo
     *
     * @param {Selection} selection - Specifies the selection
     * @param {string} property - Specifies the property
     * @param {Object} value - Specifies the value
     * @private
     * @returns {void}
     */
    updateCellFormat(selection: Selection, property: string, value: Object): void;
    /**
     * Update row format on undo
     *
     * @param {Selection} selection - Specifies the selection
     * @param {string} property - Specifies the property
     * @param {Object} value - Specifies the value
     * @private
     * @returns {void}
     */
    updateRowFormat(selection: Selection, property: string, value: Object): void;
    private initHistoryPosition;
    private startSelectionReLayouting;
    private reLayoutSelectionOfTable;
    private reLayoutSelection;
    private reLayoutSelectionOfBlock;
    /**
     * @private
     * @returns {void}
     */
    layoutItemBlock(block: BlockWidget, shiftNextWidget: boolean): void;
    /**
     * @private
     * @returns {boolean}
     */
    removeSelectedContents(selection: Selection): boolean;
    private removeSelectedContentInternal;
    private checkMultipleSectionSelected;
    private getBodyWidgetIndex;
    private removeSelectedContent;
    private deleteSelectedContent;
    /**
     * Merges the selected cells.
     *
     * @returns {void}
     */
    mergeCells(): void;
    /**
     * Deletes the entire table at selection.
     *
     * @returns {void}
     */
    deleteTable(): void;
    /**
     * Deletes the selected column(s).
     *
     * @returns {void}
     */
    deleteColumn(): void;
    private onDeleteColumnConfirmed;
    /**
     * Delete the column for collaborative editing.
     * @private
     * @returns {void}
     */
    onDeleteColumn(table: TableWidget, deleteCells: TableCellWidget[]): number;
    /**
     * Deletes the selected row(s).
     *
     * @returns {void}
     */
    deleteRow(): void;
    /**
     * @private
     */
    trackRowDeletion(row: TableRowWidget, canremoveRow?: boolean, updateHistory?: boolean, editAction?: number): boolean;
    private trackInnerTable;
    private returnDeleteRevision;
    private removeRow;
    /**
     * @private
     * @param {TableWidget} table Specifies the table widget
     * @returns {void}
     */
    updateTable(table: TableWidget, skipCombine?: boolean): void;
    /**
     * @private
     * @param {TableWidget} table Specifies the table widget
     * @returns { ParagraphWidget }
     */
    getParagraphForSelection(table: TableWidget): ParagraphWidget;
    private deletePara;
    private deletaRevisionIDs;
    private deleteSection;
    /**
     *
     * @private
     */
    combineSectionInternal(selection: Selection, section: BodyWidget, nextSection: BodyWidget): void;
    private checkAndInsertBlock;
    private splitParagraph;
    private removeCommentsInBlock;
    private removeCommentInPara;
    private removeCommentsInline;
    /**
     * @private
     * @returns {void}
     */
    removeBlock(block: BlockWidget, isSkipShifting?: boolean, skipElementRemoval?: boolean, isSelectionInsideTable?: boolean): void;
    private checkAndRemoveRevisionFromBlock;
    private removePrevParaMarkRevision;
    private isPasteRevertAction;
    private toCheckForTrack;
    /**
     * @private
     */
    removeFootnote(element: FootnoteElementBox, paragraph?: ParagraphWidget): void;
    /**
     * @private
     */
    removeEndnote(element: FootnoteElementBox, paragraph?: ParagraphWidget): void;
    private removeAutoShape;
    /**
     * @private
     * @returns {void}
     */
    removeField(block: BlockWidget, isBookmark?: boolean, isContentControl?: boolean, isEditRange?: boolean): void;
    /**
     * @private
     */
    getTabsInSelection(): WTabStop[];
    /**
     * @private
     */
    updateTabStopCollection(paragraph: ParagraphWidget, newCollection: WTabStop[], isReplace?: boolean): void;
    private modifyTabStop;
    /**
     * @private
     */
    removeTabStops(paragraphs: ParagraphWidget[], tabs: WTabStop[]): void;
    /**
     * @private
     */
    addTabStopToCollection(collection: WTabStop[], tab: WTabStop, isReturnIndex?: boolean): number;
    /**
     * @private
     * @param {IWidget} node Specifies the node.
     * @returns {void}
     */
    addRemovedNodes(node: IWidget, isInsertBefore?: boolean): void;
    private deleteBlock;
    private deleteTableCell;
    private deleteCellsInTable;
    /**
     * @private
     */
    removeDeletedCellRevision(row: TableRowWidget, isRowSelected?: boolean): any;
    /**
     * @private
     */
    removeDeletedShapeRevision(shape: ShapeElementBox): any;
    /**
     * Public API for inserting shape.
     *
     * @private
     * @returns {ShapeElementBox} - Returns selection start position.
     */
    insertShape(shapeType: AutoShapeType, shapeProperties?: ShapeProperties): void;
    /**
     * Returns the shape object of the user choice.
     *
     * @private
     * @returns {ShapeElementBox} - Returns selection start position.
     */
    private getShape;
    private trackDeletedContentInTableCell;
    private onConfirmedTableCellsDeletion;
    /**
     * @private
     */
    onConfirmedCellDeletion(row: TableRowWidget, selection: Selection, startRowIndex: number, endRowIndex: number, startColumnIndex: number, endColumnIndex: number, isDeleteCells: boolean, editAction: number, isRowSelected: boolean): void;
    private removeRevisionForRow;
    private removeRevisionsInRow;
    /**
     * @private
     */
    removeRevisionForCell(cellWidget: TableCellWidget, removeCollection: boolean): any;
    private removeRevisionForInnerTable;
    /**
     * @private
     */
    removeRevisionForBlock(paraWidget: ParagraphWidget, revision: Revision, skipParaMark: boolean, addToRevisionInfo: boolean): any;
    private unlinkRangeByRevision;
    private isWholeRowSelected;
    private deleteCell;
    private paragrapghBookmarkCollection;
    private deleteContainer;
    private deleteTableBlock;
    private splitTable;
    private updateEditPosition;
    private deleteContent;
    private setActionInternal;
    private checkClearCells;
    private isEndInAdjacentTable;
    /**
     * @private
     * @param table
     * @returns {TableWidget}
     */
    cloneTableToHistoryInfo(table: TableWidget, isParentTable?: boolean): TableWidget;
    private insertParagraphPaste;
    private removeInlines;
    private skipTracking;
    private canHandleDeletion;
    /**
     *
     * @param comment
     * Deletes comment start and end markers along with its comment widgets.
     */
    private deleteCommentInSelection;
    /**
     * @private
     */
    removeContent(lineWidget: LineWidget, startOffset: number, endOffset: number, editAction?: number, skipHistoryCollection?: Boolean): void;
    /**
     * Deletes comment widgets from comment pane along with history preservation.
     */
    private deleteCommentWidgetInline;
    private clearFieldElementRevisions;
    private addRemovedRevisionInfo;
    /**
     * @private
     * @returns {void}
     */
    removeEmptyLine(paragraph: ParagraphWidget): void;
    /**
     * Clone the list level
     *
     * @param {WListLevel} source - Specifies the source
     * @private
     * @returns {WListLevel} - Returns the list level
     */
    cloneListLevel(source: WListLevel): WListLevel;
    /**
     * Copies the list level
     *
     * @param {WListLevel} destination - Specifies the destination
     * @param {WListLevel} listLevel - Specifies the list level
     * @private
     * @returns {void}
     */
    copyListLevel(destination: WListLevel, listLevel: WListLevel): void;
    /**
     * Clone level override
     *
     * @param {WLevelOverride} source  @returns {void} - Specifies the level override
     * @private
     * @returns {WLevelOverride} - Returns the level overeide
     */
    cloneLevelOverride(source: WLevelOverride): WLevelOverride;
    /**
     * Update List Paragraph
     * @private
     * @returns {void}
     */
    updateListParagraphs(): void;
    /**
     * @private
     * @returns {void}
     */
    updateListParagraphsInBlock(block: BlockWidget): void;
    /**
     * Applies list format
     *
     * @param {WList} list - Specifies the list.
     * @private
     * @returns {void}
     */
    onApplyList(list: WList): void;
    /**
     * Applies bullets or numbering list
     *
     * @param {string} format - Specifies the format
     * @param {ListLevelPattern} listLevelPattern - Specifies the list level patterns
     * @param {string} fontFamily - Specifies the font family.
     * @private
     * @returns {void}
     */
    applyBulletOrNumbering(format: string, listLevelPattern: ListLevelPattern, fontFamily: string): void;
    private addListLevels;
    /**
     * Inserts the page break at the cursor position.
     *
     * @returns {void}
     */
    insertPageBreak(): void;
    /**
     * Inserts a column break at cursor position.
     *
     * @returns {void}
     */
    insertColumnBreak(): void;
    private splitTableBasedonBreak;
    /**
     * @private
     * @returns {void}
     */
    onEnter(breakType?: string): void;
    private combineRevisionWithValidElement;
    private getPreviousValidElement;
    private splitParagraphInternal;
    private insertParaRevision;
    private applyRevisionForParaMark;
    private checkParaMarkMatchedWithElement;
    private checkToMatchEmptyParaMark;
    private checkToMatchEmptyParaMarkBack;
    /**
     * @private
     * @returns {void}
     */
    updateNextBlocksIndex(block: BlockWidget, increaseIndex: boolean): void;
    private updateIndex;
    /**
     * @private
     * @returns {void}
     */
    updateEndPosition(): void;
    /**
     * @private
     * @returns { CommentCharacterElementBox[] }
     */
    checkAndRemoveComments(isReplace?: boolean, isAccept?: boolean): CommentCharacterElementBox[];
    private updateHistoryForComments;
    /**
     * @private
     * @returns {void}
     */
    onBackSpace(): void;
    /**
     * @private
     * @returns {boolean}
     */
    insertRemoveBookMarkElements(isUpdateComplexHistory: boolean): boolean;
    /**
     * @private
     * @returns {boolean}
     */
    insertRemoveContentControlElements(isUpdateComplexHistory: boolean): boolean;
    /**
     * @private
     * @returns {boolean}
     */
    insertRemovedEditRangeEndElements(isUpdateComplexHistory: boolean): boolean;
    /**
     * @private
     * @returns {boolean}
     */
    insertRemovedEditRangeStartElements(isUpdateComplexHistory: boolean): boolean;
    /**
     * @private
     * @param {Selection} selection - Specifies the selection
     * @param {boolean} isBackSpace - Specifies is backspace.
     * @returns {boolean}
     */
    deleteSelectedContents(selection: Selection, isBackSpace: boolean, isDeletecell?: boolean): boolean;
    private removeWholeElement;
    /**
     * @private
     */
    getSelectedComments(): SelectedCommentInfo;
    /**
     * Remove single character on left of cursor position
     *
     * @param {Selection} selection - Specifies the selection
     * @param {boolean} isRedoing - Specified the is redoing.
     * @private
     * @returns {void}
     */
    singleBackspace(selection: Selection, isRedoing: boolean): void;
    private setPositionForHistory;
    /**
     *
     * @private
     * @returns {void}
     */
    removeAtOffset(lineWidget: LineWidget, selection: Selection, offset: number): void;
    private removeCharacter;
    private removeCharacterInLine;
    private removeRevisionsInformation;
    private handleDeleteTracking;
    private toCombineOrInsertRevision;
    private updateLastElementRevision;
    private updateEndRevisionIndex;
    /**
     * @private
     */
    retrieveRevisionInOder(elementBox: any): Revision;
    private handleDeletionForInsertRevision;
    private handleDeleteBySplitting;
    private updateCursorForInsertRevision;
    private checkToCombineRevisionsInSides;
    /**
     * Removes the current selected content or one character right of the cursor.
     *
     * @returns {void}
     */
    delete(): void;
    private deleteEditElement;
    private removeContentControlMark;
    /**
     * Remove single character on right of cursor position
     *
     * @param {Selection} selection - Specifies the selection
     * @param {boolean} isRedoing - Specified the is redoing.
     * @private
     * @returns {void}
     */
    singleDelete(selection: Selection, isRedoing: boolean): void;
    private singleDeleteInternal;
    private deleteParagraphMark;
    private handleDeleteParaMark;
    private insertDeleteParaMarkRevision;
    /**
     *
     * @private
     */
    retrieveRevisionByType(item: any, revisionToRetrieve: RevisionType): Revision;
    private combineRevisionOnDeleteParaMark;
    private updateEditPositionOnMerge;
    private checkEndPosition;
    private checkInsertPosition;
    private checkIsNotRedoing;
    /**
     * deleteSelectedContentInternal
     * @private
     */
    deleteSelectedContentInternal(selection: Selection, isBackSpace: boolean, startPosition: TextPosition, endPosition: TextPosition, isDeletecell?: boolean): boolean;
    /**
     * Init EditorHistory
     *
     * @private
     * @param {Action} action Specified the action.
     * @returns {void}
     */
    initHistory(action: Action): void;
    /**
     * Init Complex EditorHistory
     *
     * @private
     * @param {Action} action Specified the action.
     * @returns {void}
     */
    initComplexHistory(action: Action): void;
    /**
     * Insert image
     *
     * @private
     * @param {string} base64String Base64 string, web URL or file URL.
     * @param {number} width Image width
     * @param {number} height Image height
     * @param {string} alternateText Image alternateText
     * @returns {void}
     */
    insertPicture(base64String: string, width: number, height: number, alternateText: string, isUiInteracted: boolean): void;
    private generateFallBackImage;
    private insertPictureInternal;
    private fitImageToPage;
    /**
     * @param {selection} Selection context.
     * @param {elementBox} Elementbox
     * @param selection
     * @param elementBox
     * @private
     */
    insertInlineInSelection(selection: Selection, elementBox: ElementBox): void;
    /**
     * @private
     * @returns {void}
     */
    onPortrait(): void;
    /**
     * @private
     * @returns {void}
     */
    onLandscape(): void;
    private copyValues;
    /**
     * @param property
     * @private
     * @returns {void}
     */
    changeMarginValue(property: string): void;
    /**
     * @param property
     * @private
     * @returns {void}
     */
    onPaperSize(property: string): void;
    /**
     * @param blockAdv
     * @param updateNextBlockList
     * @param blockAdv
     * @param updateNextBlockList
     * @private
     * @returns {void}
     */
    updateListItemsTillEnd(blockAdv: BlockWidget, updateNextBlockList: boolean): void;
    /**
     * @param block
     * @private
     * @returns {void}
     */
    updateWholeListItems(block: BlockWidget, isFindingListParagraph?: boolean, listID?: number): ParagraphWidget;
    private getNextBlockForList;
    private updateListItems;
    private updateListItemsForTable;
    private updateListItemsForRow;
    private updateListItemsForCell;
    /**
     * @param block
     * @private
     * @returns {void}
     */
    updateRenderedListItems(block: BlockWidget): void;
    private updateRenderedListItemsForTable;
    private updateRenderedListItemsForRow;
    private updateRenderedListItemsForCell;
    private updateListItemsForPara;
    private updateRenderedListItemsForPara;
    private updateListNumber;
    /**
     * Get offset value to update in selection
     *
     * @param selection
     * @private
     * @returns {void}
     */
    getOffsetValue(selection: Selection): void;
    private setPositionParagraph;
    /**
     * @param textPosition
     * @param editPosition
     * @param textPosition
     * @param editPosition
     * @private
     * @returns {void}
     */
    setPositionForCurrentIndex(textPosition: TextPosition, editPosition: string): void;
    /**
     * Inserts the page number in the current cursor position.
     *
     * @param {string} numberFormat - Optional switch that overrides the numeral style of the page number.
     * @returns {void}
     */
    insertPageNumber(numberFormat?: string): void;
    /**
     * @param numberFormat
     * @private
     * @returns {void}
     */
    insertPageCount(numberFormat?: string): void;
    private createFields;
    /**
     * Inserts the specified bookmark at the current selection range.
     *
     * @param {string} name Specify the name of bookmark to be inserted.
     * @returns {void}
     */
    insertBookmark(name: string, isNavigationPane?: boolean): void;
    /**
     * @private
     */
    createBookmarkElements(name: string): BookmarkElementBox[];
    /**
     * Deletes the specified bookmark in the current document.
     *
     * @param {string} bookmarkName Specify the name of bookmark to be deleted.
     * @returns {void}
     */
    deleteBookmark(bookmarkName: string): void;
    /**
     * @param bookmark
     * @private
     * @returns {void}
     */
    deleteBookmarkInternal(bookmark: BookmarkElementBox): void;
    /**
     * @private
     */
    getSelectionInfo(isBookmark?: boolean): SelectionInfo;
    private insertElements;
    /**
     *
     * @private
     * @returns {void}
     */
    insertElementsInternal(position: TextPosition, elements: ElementBox[], isRelayout?: boolean, isNavigationPane?: boolean): void;
    /**
     * @private
     */
    getMarkerData(element: ElementBox, skip?: boolean, revision?: Revision, isAcceptOrReject?: string): MarkerInfo;
    /**
     * @private
     * @returns {any}
     */
    getRevisionMarkerData(markerData: any, revision: Revision, skip?: boolean, isAcceptOrReject?: string): any;
    /**
     * @param index
     * @private
     * @returns {CommentElementBox}
     */
    getCommentElementBox(index: string): CommentElementBox;
    /**
     * @param position
     * @private
     * @returns {BlockInfo}
     */
    getBlock(position: IndexInfo): BlockInfo;
    private getBlockInternal;
    /**
     * @param position
     * @param isInsertPosition
     * @private
     * @returns {void}
     */
    updateHistoryPosition(position: TextPosition | string, isInsertPosition: boolean): void;
    /**
     * Applies the borders based on given settings.
     *
     * @param {BorderSettings} settings Specify the border settings to be applied.
     * @returns {void}
     */
    applyBorders(settings: BorderSettings): void;
    private applyAllBorders;
    private applyInsideBorders;
    private getTopBorderCellsOnSelection;
    private getLeftBorderCellsOnSelection;
    private getRightBorderCellsOnSelection;
    private getBottomBorderCellsOnSelection;
    private clearAllBorderValues;
    private clearBorder;
    private getAdjacentCellToApplyBottomBorder;
    private getAdjacentBottomBorderOnEmptyCells;
    private getAdjacentCellToApplyRightBorder;
    private getSelectedCellsNextWidgets;
    private getBorder;
    /**
     * Applies borders
     *
     * @param {WBorders} sourceBorders
     * @param {WBorders} applyBorders
     * @private
     * @returns {void}
     */
    applyBordersInternal(sourceBorders: WBorders, applyBorders: WBorders): void;
    /**
     * Apply shading to table
     *
     * @param {WShading} sourceShading
     * @param {WShading} applyShading
     * @private
     * @returns {void}
     */
    applyShading(sourceShading: WShading, applyShading: WShading): void;
    private applyBorder;
    /**
     * Apply Table Format changes
     *
     * @param {WTableFormat} format Specifies table format
     * @param {boolean} isShading Specifies shading.
     * @private
     * @returns {void}
     */
    onTableFormat(format: WTableFormat, isShading?: boolean, table?: TableWidget): void;
    private applyTableFormat;
    private applyTablePropertyValue;
    private handleTableFormat;
    private updateGridForTableDialog;
    /**
     * Applies Row Format Changes
     *
     * @param {WRowFormat} format Specifies row format
     * @private
     * @returns {void}
     */
    onRowFormat(format: WRowFormat): void;
    private applyRowFormat;
    private applyRowPropertyValue;
    private handleRowFormat;
    /**
     * Applies Cell Format changes
     *
     * @param {WCellFormat} format Specifies cell format
     * @private
     * @returns {void}
     */
    onCellFormat(format: WCellFormat): void;
    /**
     * Applies Paragraph Format changes
     *
     * @param {WParagraphFormat} format Specifies cell format
     * @private
     * @returns {void}
     */
    onParaFormat(format: WParagraphFormat): void;
    /**
     * @param selection
     * @param value
     * @private
     * @returns {void}
     */
    updateCellMargins(selection: Selection, value: WCellFormat): void;
    private updateFormatForCell;
    private getSelectedCellInColumn;
    private getColumnCells;
    private getTableWidth;
    /**
     *
     * @private
     * @returns {void}
     */
    applyCellPropertyValue(selection: Selection, property: string, value: Object, applyFormat: WCellFormat): WCellFormat;
    private handleCellFormat;
    /**
     * @private
     * @returns {void}
     */
    destroy(): void;
    /**
     * Updates the table of contents.
     *
     * @param tocField
     * @private
     * @returns {void}
     */
    updateToc(tocField?: FieldElementBox): void;
    /**
     * @private
     */
    getTocSettings(code: string, tocField: FieldElementBox): TableOfContentsSettings;
    private decodeTSwitch;
    /**
     * Inserts, modifies or updates the table of contents based on given settings.
     *
     * @param {TableOfContentsSettings} tableOfContentsSettings Specify the table of content settings to be inserted.
     * @returns {void}
     */
    insertTableOfContents(tableOfContentsSettings?: TableOfContentsSettings): void;
    private appendEmptyPara;
    private constructTocFieldCode;
    private constructTSwitch;
    private appendEndField;
    private validateTocSettings;
    /**
     * Builds the TOC
     *
     * @private
     * @returns {ParagraphWidget[]}
     *
     */
    buildToc(tocSettings: TableOfContentsSettings, fieldCode: string, isFirstPara: boolean, isStartParagraph?: boolean, isNavigationPane?: boolean): ParagraphWidget[];
    private createOutlineLevels;
    private createHeadingLevels;
    private isHeadingStyle;
    private isOutlineLevelStyle;
    private createTocFieldElement;
    private createTOCWidgets;
    private insertTocHyperlink;
    private getPageNumber;
    private insertTocPageNumber;
    private updatePageRef;
    /**
     * Inserts toc bookmark.
     *
     * @param widget
     * @returns {string}
     */
    private insertTocBookmark;
    private generateBookmarkName;
    /**
     * Change cell content alignment
     *
     * @param verticalAlignment
     * @param textAlignment
     * @param verticalAlignment
     * @param textAlignment
     * @private
     * @returns {void}
     */
    onCellContentAlignment(verticalAlignment: CellVerticalAlignment, textAlignment: TextAlignment): void;
    /**
     * @param user
     * @private
     * @returns {void}
     */
    insertEditRangeElement(user: string): void;
    private insertEditRangeInsideTable;
    private addRestrictEditingForSelectedArea;
    /**
     * @param user
     * @private
     * @returns {void}
     */
    addEditElement(user: string, id?: number): EditRangeStartElementBox;
    /**
     * @param numDigits
     * @private
     * @returns {number}
     */
    private getEditRangeID;
    /**
     * @param protectionType
     * @private
     * @returns {void}
     */
    protect(protectionType: ProtectionType): void;
    private addEditCollectionToDocument;
    /**
     * @param editStart
     * @param user
     * @private
     * @returns {void}
     */
    updateRangeCollection(editStart: EditRangeStartElementBox, user: string): void;
    /**
     * @param user
     * @private
     * @returns {void}
     */
    removeUserRestrictions(user: string, editRegionStart?: EditRangeStartElementBox): void;
    /**
    * Removes the editing permission range at the current selection position that matches the specified username.
    *
    * If `user` is provided, removes the editing region specific to that user.
    * If `user` is not provided (null or undefined), it defaults to 'Everyone'.
    *
    * @param {string} [user] - The name of the user whose editing region should be removed.
    * @returns {void}
    */
    removeEditingRegion(user?: string): void;
    private removeEditRangeElements;
    private removeEditRangeElementsOnTable;
    /**
     * @param editStart
     * @param currentUser
     * @private
     * @returns {void}
     */
    removeUserRestrictionsInternal(editStart: EditRangeStartElementBox, currentUser?: string, notRemoveElement?: boolean): void;
    private removeEditRangeFromCollection;
    /**
     * @private
     * @returns {void}
     */
    removeAllEditRestrictions(): void;
    /**
     * Inserts the specified form field at the current selection.
     *
     * @param {FormFieldType} type Specify the Form field type to insert.
     * @returns {void}
     */
    insertFormField(type: FormFieldType): void;
    private insertFormFieldInternal;
    addFormFieldWidget(fieldBegin: FieldElementBox): void;
    /**
     * @private
     */
    getFormFieldData(type: FormFieldType): FormField;
    /**
     * @param field
     * @param info
     * @private
     * @returns {void}
     */
    setFormField(field: FieldElementBox, info: TextFormFieldInfo | CheckBoxFormFieldInfo | DropDownFormFieldInfo): void;
    /**
     * @param type
     * @param formData
     * @param type
     * @param formData
     * @private
     * @returns {boolean}
     */
    editFormField(type: FormFieldType, formData: FormField): boolean;
    private getDefaultText;
    private getFormFieldCode;
    /**
     * @param field
     * @param reset
     * @param value
     * @param field
     * @param reset
     * @param value
     * @private
     * @returns {void}
     */
    toggleCheckBoxFormField(field: FieldElementBox, reset?: boolean, value?: boolean): void;
    /**
     * @private
     * @param contentControl
     * @returns {void}
     */
    toggleContentControlCheckBox(contentControl: ContentControl, value: boolean): void;
    /**
     * @param field
     * @param value
     * @param reset
     * @private
     * @returns {void}
     */
    updateFormField(field: FieldElementBox, value: string | number, reset?: boolean): void;
    /**
     * @private
     * @returns {void}
     */
    updateContentControl(contentControl: ContentControl, value: string, reset?: boolean): void;
    private updateContentControlResult;
    /**
     * @private
     * @returns {void}
     */
    getContentControlPropObject(contentControl: ContentControlProperties): any;
    /**
     * @private
     * @returns {void}
     */
    assignContentControl(contentControl: ContentControlProperties, value: any): void;
    private updateFormFieldInternal;
    private updateFormFieldResult;
    private checkBookmarkAvailability;
    private getBookmarkName;
    /**
     * @param formField
     * @private
     * @returns {void}
     */
    applyFormTextFormat(formField: FieldElementBox): void;
    private insertSpaceInFormField;
    /**
     * @param formField
     * @private
     * @returns {string}
     */
    getFieldResultText(formField?: FieldElementBox): string;
    /**
    * @private
    * @returns {void}
    */
    contentControlDropDownChange(): void;
    /**
     * @param field
     * @param text
     * @private
     * @returns {void}
     */
    applyTextFormatInternal(field: FieldElementBox, text: string): void;
    private constructCommentInitial;
    /**
     * Inserts the footnote at the current selection.
     *
     * @returns {void}
     */
    insertFootnote(): void;
    private updateFootnoteCollection;
    /**
     * Inserts the endnote at the current selection
     *
     * @returns {void}
     */
    insertEndnote(): void;
    private updateEndnoteCollection;
    private updateEndNoteIndex;
    private separator;
    private continuationSeparator;
    private updateFootNoteIndex;
    private setCharFormatForCollaborativeEditing;
    /**
    * @private
    */
    clear(): void;
}
/**
 * @private
 */
export interface SelectionInfo {
    start: string;
    end: string;
}
/**
 * @private
 */
export interface ContinueNumberingInfo {
    currentList: WList;
    listLevelNumber: number;
    listPattern: ListLevelPattern;
}
/**
 * Specifies the settings for border.
 */
export interface BorderSettings {
    /**
     * Specifies the border type.
     */
    type: BorderType;
    /**
     * Specifies the border color.
     */
    borderColor?: string;
    /**
     * Specifies the line width.
     */
    lineWidth?: number;
    /**
     * Specifies the border style.
     */
    borderStyle?: LineStyle;
}
/**
 * @private
 */
export interface TocLevelSettings {
    [key: string]: number;
}
/**
 * @private
 */
export interface PageRefFields {
    [key: string]: FieldTextElementBox;
}
/**
 * Specifies the settings for table of contents.
 */
export interface TableOfContentsSettings {
    /**
     * Specifies the start level.
     */
    startLevel?: number;
    /**
     * Specifies the end level.
     */
    endLevel?: number;
    /**
     * Specifies whether hyperlink can be included.
     */
    includeHyperlink?: boolean;
    /**
     * Specifies whether page number can be included.
     */
    includePageNumber?: boolean;
    /**
     * Specifies whether the page number can be right aligned.
     */
    rightAlign?: boolean;
    /**
     * Specifies the tab leader.
     */
    tabLeader?: TabLeader;
    /**
     * @private
     */
    levelSettings?: TocLevelSettings;
    /**
     * Specifies whether outline levels can be included.
     */
    includeOutlineLevels?: boolean;
}
/**
 * Defines the character format properties of document editor
 */
export interface CharacterFormatProperties {
    /**
     * Defines the bold formatting
     */
    bold?: boolean;
    /**
     * Defines the italic formatting
     */
    italic?: boolean;
    /**
     * Defines the font size
     */
    fontSize?: number;
    /**
     * Defines the font family
     */
    fontFamily?: string;
    /**
     * Defines the underline property
     */
    underline?: Underline;
    /**
     * Defines the strikethrough
     */
    strikethrough?: Strikethrough;
    /**
     * Defines the subscript or superscript property
     */
    baselineAlignment?: BaselineAlignment;
    /**
     * Defines the highlight color
     */
    highlightColor?: HighlightColor;
    /**
     * Defines the font color
     */
    fontColor?: string;
    /**
     * Defines the bidirectional property
     */
    bidi?: boolean;
    /**
     * Defines the allCaps formatting
     */
    allCaps?: boolean;
}
/**
 * Defines the paragraph format properties of document editor
 */
export interface ParagraphFormatProperties {
    /**
     * Defines the left indent
     */
    leftIndent?: number;
    /**
     * Defines the right indent
     */
    rightIndent?: number;
    /**
     * Defines the first line indent
     */
    firstLineIndent?: number;
    /**
     * Defines the text alignment property
     */
    textAlignment?: TextAlignment;
    /**
     * Defines the spacing value after the paragraph
     */
    afterSpacing?: number;
    /**
     * Defines the spacing value before the paragraph
     */
    beforeSpacing?: number;
    /**
     * Defines the spacing between the lines
     */
    lineSpacing?: number;
    /**
     * Defines the spacing type(AtLeast,Exactly or Multiple) between the lines
     */
    lineSpacingType?: LineSpacingType;
    /**
     * Defines the bidirectional property of paragraph
     */
    bidi?: boolean;
    /**
     * Defines the keep with next property of paragraph
     */
    keepWithNext?: boolean;
    /**
     * Defines the keep lines together property of paragraph
     */
    keepLinesTogether?: boolean;
    /**
     * Defines the widow control property of paragraph
     */
    widowControl?: boolean;
    /**
     * Defines the outline level of paragraph
     */
    outlineLevel?: OutlineLevel;
}
/**
 * Defines the section format properties of document editor
 */
export interface SectionFormatProperties {
    /**
     * Defines the header distance.
     */
    headerDistance?: number;
    /**
     * Defines the footer distance.
     */
    footerDistance?: number;
    /**
     * Defines the page width.
     */
    pageWidth?: number;
    /**
     * Defines the page height.
     */
    pageHeight?: number;
    /**
     * Defines the left margin of the page.
     */
    leftMargin?: number;
    /**
     * Defines the top margin of the page.
     */
    topMargin?: number;
    /**
     * Defines the bottom margin of the page.
     */
    bottomMargin?: number;
    /**
     * Defines the right margin of the page.
     */
    rightMargin?: number;
}
/**
 * @private
 */
export interface TabPositionInfo {
    defaultTabWidth: number;
    fPosition: number;
    position: number;
}
export interface ShapeProperties {
    /**
     * Sets the height of the shape.
     *
     */
    x?: number;
    /**
     * Sets the height of the shape.
     *
     */
    y?: number;
    /**
     * Sets the height of the shape.
     *
     */
    height?: number;
    /**
     * Sets the height of the shape.
     *
     */
    width?: number;
    /**
     * Sets visiblity of the shape.
     *
     */
    visible?: boolean;
    /**
     * Sets the height scale of the shape.
     *
     */
    widthScale?: number;
    /**
     * Sets the heightScale of the shape.
     *
     */
    heightScale?: number;
    /**
     * Sets the verticalPosition of the shape.
     *
     */
    verticalPosition?: number;
    /**
     * Sets the verticalOrigin of the shape.
     *
     */
    verticalOrigin?: VerticalOrigin;
    /**
     * Sets the verticalAlignment of the shape.
     *
     */
    verticalAlignment?: VerticalAlignment;
    /**
     * Sets the verticalAlignment of the shape.
     *
     */
    horizontalPosition?: number;
    /**
     * Sets the verticalAlignment of the shape.
     *
     */
    horizontalOrigin?: HorizontalOrigin;
    /**
     * Sets the verticalAlignment of the shape.
     *
     */
    horizontalAlignment?: HorizontalAlignment;
    /**
     * Sets allowOverLapping of the shape.
     *
     */
    allowOverLap?: boolean;
    /**
     * Sets textWrappingStyle of the shape.
     *
     */
    textWrappingStyle?: TextWrappingStyle;
    /**
     * Sets textWrappingType of the shape.
     *
     */
    textWrappingType?: TextWrappingType;
    /**
     * Sets isBelowText of the shape.
     *
     */
    isBelowText?: boolean;
    /**
     * Sets the distanceBottom of the shape.
     *
     */
    distanceBottom?: number;
    /**
     * Sets the distanceTop of the shape.
     *
     */
    distanceTop?: number;
    /**
     * Sets the distanceLeft of the shape.
     *
     */
    distanceLeft?: number;
    /**
     * Sets the distanceRight of the shape.
     *
     */
    distanceRight?: number;
    /**
     * Sets isHorizontalRule of the shape.
     *
     */
    isHorizontalRule?: boolean;
    /**
     * Sets isHorizontalRule of the shape.
     *
     */
    layoutInCell?: boolean;
    /**
     * Sets lockAnchor of the shape.
     *
     */
    lockAnchor?: boolean;
    /**
    * Sets fill of the shape.
    *
    */
    fill?: boolean;
    /**
    * Sets fillColor of the shape(Hex value eg: #156082FF).
    *
    */
    fillColor?: string;
    /**
    * Sets lineFormatType of the shape.
    *
    */
    lineFormatType?: LineFormatType;
    /**
    * Sets lineFormatType of the shape.
    *
    */
    dashStyle?: LineDashing;
    /**
    * Sets line of the shape.
    *
    */
    line?: boolean;
    /**
    * Sets lineColor of the shape(Hex value eg: #156082FF).
    *
    */
    lineColor?: string;
    /**
    * Sets lineWeight of the shape
    *
    */
    lineWeight?: number;
}
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/implementation/editor/editor-helper.d.ts
/**
 * @private
 */
export  class HelperMethods {
    /**
     * @private
     */
    static wordBefore: string;
    /**
     * @private
     */
    static wordAfter: string;
    /**
     * @private
     */
    static wordSplitCharacters: string[];
    /**
     * Inserts text at specified index in string.
     *
     * @private
     * @param {string} spanText - Specifies the span text.
     * @param {number} index - Specifies the index
     * @param {string} text - Specifies the text
     * @returns {string} - Returns modified string
     */
    static insert(spanText: string, index: number, text: string): string;
    /**
     * @returns {string} returns a string value
     * @param {string} text takes string as parameter
     * @private
     */
    private static replaceSpecialChars;
    /**
     * @returns {any} returns any type
     * @param {string} text gets string as a input
     * @public
     */
    static getSpellCheckData(text: string): any;
    /**
     * Check given string is a valid either roman or arabic number
     * @private
     * @param {string} input input string value to check if it is a number
     * @returns {boolean} weather given string is a number or not
     */
    static checkTextFormat(input: string): boolean;
    /**
     * @returns {string}
     * Sanitize the string for xss string content
     * @param {string} value accepts a string value
     * @public
     */
    static sanitizeString(value: string): string;
    /**
     * @returns {any} returns any type
     * Get the SFDT document from the optimized SFDT.
     * @param {any} json accepts a json file
     * @public
     */
    static getSfdtDocument(json: any): any;
    /**
     * @returns {number}
     * Generates a unique unique hexadecimal ID.
     * @param {WList[]} lists accepts list
     * @param {WAbstractList[]} abstractLists accepts array of abstractList
     * @public
     */
    static generateUniqueId(lists: WList[], abstractLists?: WAbstractList[]): number;
    /**
     * @private
     * @returns {string} returns a string value
     */
    static generateHexDecimal(): string;
    /**
     * @private
     * @param {number} id id need to be converted
     * @returns {string} returns a string value
     */
    static numberToHexDecimal(id: number): string;
    /**
     * @returns {boolean} returns a boolean value
     * @param {number} nsid accepts number as a parameter
     * @param {WList[]} lists accepts an array of type WList
     * @param {WAbstractList[]} abstractLists accepts an array of type WAbstractList
     * @param {boolean} isAbstractList accepts a boolean value
     * @private
     */
    static isSameListIDExists(nsid: number, lists: WList[], abstractLists?: WAbstractList[], isAbstractList?: boolean): boolean;
    /**
     * Removes text from specified index in string.
     *
     * @private
     * @param {string} text - Specifies the text
     * @param {number} index - Specifies the index
     * @returns {string} - Returns modified string
     */
    static remove(text: string, index: number): string;
    static indexOfAny(text: string, wordSplitCharacter: string[]): any;
    static lastIndexOfAny(text: string, wordSplitCharacter: string[]): number;
    /**
     * Convert ARGB to RGB
     * @private
     * @param {string} color accepts a color string
     * @returns {string} returns a string value
     */
    static convertArgbToRgb(color: string): string;
    static convertRgbToHex(val: number): string;
    /**
     * @returns {number} returns a number
     * @param {string} input accepts a string value as an input
     * @private
     */
    static getNumberFromString(input: string): number;
    static convertHexToRgb(colorCode: string): any;
    static addCssStyle(css: string): void;
    /**
     * @returns {HTMLElement[]} returns an array of HTML elements
     * @param {NodeListOf<HTMLElement>} nodeList accepts a list of HTML elements
     * @public
     */
    static convertNodeListToArray(nodeList: NodeListOf<HTMLElement>): HTMLElement[];
    static getHighlightColorCode(highlightColor: HighlightColor): string;
    static isVeryDark(backColor: string): boolean;
    static getColor(color: string): string;
    static getTextVerticalAlignment(textVerticalAlignment: number | VerticalAlignment): VerticalAlignment;
    static convertPointToPixel(point: number): number;
    static convertPixelToPoint(pixel: number): number;
    static isLinkedFieldCharacter(inline: ElementBox): boolean;
    /**
     * Removes white space in a string.
     *
     * @private
     * @param {string} text - Specifies text to trim.
     * @returns {string} - Returns modified text.
     */
    static removeSpace(text: string): string;
    /**
     * Trims white space at start of the string.
     *
     * @private
     * @param {string} text - Specifies text to trim.
     * @returns {string} - Returns modified text.
     */
    static trimStart(text: string): string;
    /**
     * Trims white space at end of the string.
     *
     * @private
     * @param {string} text - Specifies text to trim.
     * @returns {string} - Returns modified text.
     */
    static trimEnd(text: string): string;
    /**
     * Checks whether string ends with whitespace.
     * @private
     * @param {string} text - Specifies the text.
     * @returns {boolean} - Returns true if text ends with specified text.
     */
    static endsWith(text: string): boolean;
    static addSpace(length: number): string;
    static getBoolValue(value: boolean): number;
    static getBoolInfo(value: boolean, keywordIndex: number): any;
    static parseBoolValue(value: any): boolean;
    static getBaselineAlignmentEnumValue(baselineAlignment: BaselineAlignment): number;
    static getFontHintTypeEnumValue(fontHintType: FontHintType): number;
    static getUnderlineEnumValue(underline: Underline): number;
    static getStrikeThroughEnumValue(strikethrough: Strikethrough): number;
    static getHighlightColorEnumValue(highlightColor: HighlightColor): number;
    static getBiDirectionalOverride(biDirectionalOverride: BiDirectionalOverride): number;
    static getBreakClearType(breakClearType: BreakClearType): number;
    static getOutlineLevelEnumValue(outlineLevel: OutlineLevel): number;
    static getTextAlignmentEnumValue(textAlignment: TextAlignment): number;
    static getLineStyleEnumValue(lineStyle: LineStyle): number;
    static getLineSpacingTypeEnumValue(lineSpacing: LineSpacingType): number;
    static writeBorder(wBorder: WBorder, keywordIndex: number): any;
    static writeBorders(wBorders: WBorders, keywordIndex: number): any;
    static writeParagraphFormat(paragraphFormat: WParagraphFormat, isInline: boolean, format: WParagraphFormat, keywordIndex?: number): void;
    static writeCharacterFormat(characterFormat: any, isInline: boolean, format: WCharacterFormat, keywordIndex?: number, isWriteAllValues?: boolean): void;
    static isThemeFont(fontName: string): boolean;
    static toWriteInline(format: WCharacterFormat, propertyName: string): any;
    static round(value: number, decimalDigits: number): number;
    static removeInvalidXmlChars(text: string): string;
    static commentInlines(ctext: string, mentions: navigations.FieldSettingsModel[], keywordIndex: number): any;
    static parseCommentAsText(comment: CommentElementBox): string;
    private static getEmailIdByName;
    private static serializeMentions;
    static reverseString(text: string): string;
    static formatClippedString(base64ImageString: string): ImageFormatInfo;
    /**
     * @private
     * @param sourceString
     * @param startString
     * @returns
     */
    static startsWith(sourceString: string, startString: string): boolean;
    static formatText(format: string, value: string): string;
    static formatNumber(format: string, value: string): string;
    static formatDate(format: string, value: string): string;
    private static capitaliseFirst;
    private static lowerFirstChar;
    private static capitaliseFirstInternal;
    static getModifiedDate(date: string): string;
    static getUtcDate(dateTime?: Date): string;
    static getLocaleDate(date: string): Date;
    static getCompatibilityModeValue(compatibilityMode: number): string;
    /**
     * @private
     * @returns {string} - Returns the unique id for document editor.
     */
    static getUniqueElementId(): string;
    /**
     * @private
     * @param element - element to be splitted of space
     * @param fromStart - weather to removed space from start or end
     * @returns {Boolean} - is the input element is splitted
     */
    static splitSpaceInTextElementBox(element: TextElementBox, fromStart: boolean): void;
    private static getTextIndexAfterWhitespace;
    /**
     * @private
     * @param {TextElementBox} textElementBox text element box to split the text based on max text length.
     * @param {LineWidget} lineWidget  line widget to add the splitted text element box.
     * @returns {void}
     */
    static splitWordByMaxLength(textElementBox: TextElementBox, lineWidget: LineWidget, isInitialParsing?: boolean): void;
}
/**
 * @private
 */
export  class Point {
    private xIn;
    private yIn;
    x: number;
    y: number;
    constructor(xPosition: number, yPosition: number);
    copy(point: Point): void;
    /**
     * Destroys the internal objects maintained.
     *
     * @returns {void}
     */
    destroy(): void;
}
/**
 * @private
 */
export  class Base64 {
    private keyStr;
    encodeString(input: string): string;
    private unicodeEncode;
    decodeString(input: string): Uint8Array;
    /**
     * @private
     * @returns {void}
     */
    destroy(): void;
}
/**
 * TextSearchResultInfo
 */
export interface TextSearchResultInfo {
    startOffset: string;
    endOffset: string;
}
/**
 * ListSearchResultInfo
 */
export interface ListSearchResultInfo {
    paragraph: ParagraphWidget;
    listId: number;
}
/**
 * Locked region selection info.
 */
export interface LockSelectionInfo {
    /**
     * Selection start of the locked region.
     */
    start: string;
    /**
     * Selection end of the locked region.
     */
    end: string;
    /**
     * Specifies collaborative editing room name.
     */
    roomName: string;
    /**
     * Specifies author of the locked region.
     */
    author: string;
    /**
     * Version of the collaborative editing session.
     */
    version: number;
    /**
     * @private
     */
    previousLockInfo?: LockSelectionInfo;
}
/**
 * Document Editor data
 */
export interface CollaborativeEditingEventArgs {
    /**
     * Specifies current action in collaborative session.
     */
    action: CollaborativeEditingAction;
    /**
     * Specifies selection info.
     */
    selectionInfo?: LockSelectionInfo;
    /**
     * Collaborative session version.
     */
    version?: number;
    /**
     * Specifies modified data in SFDT format.
     */
    data?: string;
    /**
     * Specifies author of the edit action.
     */
    author?: string;
    /**
     * Specifies collaborative editing room name.
     */
    roomName?: string;
}
/**
 * @private
 */
export interface SubWidthInfo {
    trimmedSpaceWidth: number;
    subWidth: number;
    spaceCount: number;
    totalSpaceCount: number;
}
/**
 * @private
 */
export interface LineElementInfo {
    topMargin: number;
    bottomMargin: number;
    addSubWidth: boolean;
    whiteSpaceCount: number;
}
/**
 * @private
 */
export interface Color {
    r: number;
    g: number;
    b: number;
}
/**
 * @private
 */
export interface CaretHeightInfo {
    height: number;
    topMargin: number;
    isItalic?: boolean;
}
/**
 * @private
 */
export interface SizeInfo {
    width: number;
    height: number;
    topMargin: number;
    bottomMargin: number;
}
/**
 * @private
 */
export interface FirstElementInfo {
    element: ElementBox;
    left: number;
}
/**
 * @private
 */
export interface IndexInfo {
    index: string;
}
/**
 * @private
 */
export interface ImagePointInfo {
    selectedElement: HTMLElement;
    resizePosition: string;
}
/**
 * @private
 */
export interface HyperlinkTextInfo {
    displayText: string;
    isNestedField: boolean;
    format: WCharacterFormat;
}
/**
 * @private
 */
export interface BodyWidgetInfo {
    bodyWidget: BodyWidget;
    index: number;
}
/**
 * @private
 */
export interface ParagraphInfo {
    paragraph: ParagraphWidget;
    offset: number;
}
/**
 * @private
 */
export interface ErrorInfo {
    errorFound: boolean;
    elements: any[];
}
/**
 * @private
 */
export interface SpaceCharacterInfo {
    width: number;
    wordLength: number;
    isBeginning: boolean;
}
/**
 * @private
 */
export interface SpecialCharacterInfo {
    beginningWidth: number;
    endWidth: number;
    wordLength: number;
}
/**
 * @private
 */
export interface ContextElementInfo {
    element: ElementBox;
    text: string;
}
/**
 * @private
 */
export interface WordSpellInfo {
    hasSpellError: boolean;
    isElementPresent: boolean;
}
/**
 * @private
 */
export interface TextInLineInfo {
    elementsWithOffset: Dictionary<TextElementBox, number>;
    fullText: string;
}
/**
 * @private
 */
export interface CellInfo {
    start: number;
    end: number;
}
/**
 * @private
 */
export interface FieldCodeInfo {
    isNested: boolean;
    isParsed: boolean;
}
/**
 * @private
 */
export interface LineInfo {
    line: LineWidget;
    offset: number;
}
/**
 * @private
 */
export interface ElementInfo {
    element: ElementBox;
    index: number;
}
/**
 * @private
 */
export interface RevisionMatchedInfo {
    element: ElementBox;
    isMatched: boolean;
}
/**
 * @private
 */
export interface RevisionInfo {
    type: RevisionType;
    color: string;
}
/**
 * @private
 */
export interface MatchResults {
    matches: RegExpExecArray[];
    elementInfo: Dictionary<TextElementBox, number>;
    textResults: TextSearchResults;
}
/**
 * @private
 */
export interface TextPositionInfo {
    element: ElementBox;
    index: number;
    caretPosition: Point;
    isImageSelected: boolean;
}
/**
 * @private
 */
export interface ShapeInfo {
    element: ElementBox;
    caretPosition: Point;
    isShapeSelected: boolean;
    isInShapeBorder: boolean;
}
/**
 * @private
 */
export interface PageInfo {
    height: number;
    width: number;
    viewerWidth: number;
    viewerHeight: number;
}
/**
 * @private
 */
export interface CanvasInfo {
    height: number;
    width: number;
    viewerWidth: number;
    viewerHeight: number;
    containerHeight: number;
    containerWidth: number;
}
/**
 * @private
 */
export interface CellCountInfo {
    count: number;
    cellFormats: WCellFormat[];
}
/**
 * @private
 */
export interface BlockInfo {
    node: Widget;
    position: IndexInfo;
}
/**
 * @private
 */
export interface WidthInfo {
    minimumWordWidth: number;
    maximumWordWidth: number;
}
/**
 * @private
 */
export interface RtlInfo {
    isRtl: boolean;
    id: number;
}
/**
 * @private
 */
export interface ImageFormatInfo {
    extension: string;
    formatClippedString: string;
}
/**
 * @private
 */
export interface ImageStringInfo {
    imageString: string;
    metaFileImageString: string;
}
/**
 * @private
 */
export interface PositionInfo {
    startPosition: TextPosition;
    endPosition: TextPosition;
}
/**
 * @private
 */
export interface BorderRenderInfo {
    skipTopBorder: boolean;
    skipBottomBorder: boolean;
}
/**
 * @private
 */
export interface LineCountInfo {
    lineWidget: LineWidget;
    lineCount: number;
}
/**
 * Specifies the field information.
 */
export interface FieldInfo {
    /**
     *  Specifies the field code.
     */
    code: string;
    /**
     *  Specifies the field result.
     */
    result: string;
}
/**
 * Text form field info
 */
export interface TextFormFieldInfo {
    /**
     * Specifies text form field type.
     */
    type: TextFormFieldType;
    /**
     * Text form field default value.
     */
    defaultValue: string;
    /**
     * Text form field format
     */
    format: string;
    /**
     * Maximum text length.
     */
    maxLength: number;
    /**
     * Enable or disable form field.
     */
    enabled: boolean;
    /**
     * Tooltip text.
     */
    helpText: string;
    /**
     * Specifies the name of the form field.
     *
     * > If a form field already exists in the document with the new name specified, the old form field name property will be cleared and it will not be accessible. Ensure the new name is unique.
     */
    name?: string;
}
/**
 * CheckBox form field info
 */
export interface CheckBoxFormFieldInfo {
    /**
     * CheckBox form field size type.
     */
    sizeType: CheckBoxSizeType;
    /**
     * CheckBox form field size.
     */
    size: number;
    /**
     * CheckBox form field default value.
     */
    defaultValue: boolean;
    /**
     * Enable or disable form field.
     */
    enabled: boolean;
    /**
     * Tooltip text.
     */
    helpText: string;
    /**
     * Specifies the name of the form field.
     *
     * > If a form field already exists in the document with the new name specified, the old form field name property will be cleared and it will not be accessible. Ensure the new name is unique.
     */
    name?: string;
}
/**
 * DropDown form field info
 */
export interface DropDownFormFieldInfo {
    /**
     * DropDown items
     */
    dropdownItems: string[];
    /**
     * Enable or disable form field.
     */
    enabled: boolean;
    /**
     * Tooltip text.
     */
    helpText: string;
    /**
     * Specifies the name of the form field.
     *
     * > If a form field already exists in the document with the new name specified, the old form field name property will be cleared and it will not be accessible. Ensure the new name is unique.
     */
    name?: string;
}
/**
 * @private
 */
export interface BorderInfo {
    border: WBorder;
    width: number;
}
/**
 * @private
 */
export interface LtrRtlTextInfo {
    value?: boolean;
}
/**
 * @private
 */
export interface FootNoteWidgetsInfo {
    footNoteWidgets: BodyWidget[];
    toBodyWidget: BodyWidget;
    fromBodyWidget: BodyWidget;
}
/**
 * @private
 */
export interface SelectedCommentInfo {
    commentStartInfo: CommentCharacterElementBox[];
    commentEndInfo: CommentCharacterElementBox[];
}
/**
 * @private
 */
export interface AbsolutePositionInfo {
    /**
     * Selection position.
     * @private
     */
    position?: number;
    /**
     * Specifies whether the specfic element is reached or not.
     * @private
     */
    done: boolean;
}
/**
 * @private
 */
export interface FieldResultInfo {
    /**
     * Specifies the field result length.
     * @private
     */
    length: number;
}
/**
 * @private
 */
export interface AbsoluteParagraphInfo {
    offset: number;
    currentLength: number;
    paragraph: ParagraphWidget;
    rowOrCellIndex?: number;
    tableWidget?: TableWidget;
    rowWidget?: TableRowWidget;
    cellWidget?: TableCellWidget;
}
/**
 * @private
 */
export  class WrapPosition {
    x: number;
    width: number;
    readonly right: number;
    constructor(x: number, width: number);
}
/**
 * Specifies the External font information.
 * @private
 */
export interface ExternalFontInfo {
    /**
     *  Specifies the font url.
     */
    fontFamily: string;
    /**
     *  Specifies the font name.
     */
    src: string;
}
/**
 * Represents information associated with a specific field element within the document.
 */
export interface FieldStartInfo {
    /**
     * Reserved for internal use only.
     * @private
     */
    field: FieldElementBox;
}
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/implementation/editor/collaborative-editing.d.ts
/**
 * Represents the collaborative editing module
 */
export  class CollaborativeEditing {
    private owner;
    private version;
    private lockStart;
    private saveTimer;
    private readonly documentHelper;
    private readonly selection;
    private readonly collaborativeEditingSettings;
    constructor(editor: DocumentEditor);
    private getModuleName;
    /**
     * To update the action which need to perform.
     *
     * @param {CollaborativeEditingEventArgs} data Specifies the data.
     * @returns {void}
     */
    updateAction(data: CollaborativeEditingEventArgs | CollaborativeEditingEventArgs[]): void;
    private transFormLockRegion;
    /**
     * Lock selected region from editing by other users.
     *
     * @param {string} user Specifies the user.
     * @returns {void}
     */
    lockContent(user: string): void;
    /**
     * @private
     * @returns {boolean} - Returns can lock.
     */
    canLock(): boolean;
    private getPreviousLockedRegion;
    /**
     * @private
     * @param {string} user - Specifies the user.
     * @returns {void}
     */
    unlockContent(user: string): void;
    private removeEditRange;
    /**
     * Save locked content to other clients.
     *
     * @private
     * @returns {void}
     */
    saveContent(): void;
    private saveContentInternal;
    private serializeEditableRegion;
    private successHandler;
    private failureHandler;
    /**
     * Locker specified region for specified user.
     *
     * @private
     * @param {string} start - Specified the selection start.
     * @param {string} end - Specifies the selection end.
     * @param {string} user - Specifies the user
     * @returns {void}
     */
    lockRegion(start: string, end: string, user: string): void;
    private lockRegionInternal;
    private insertElements;
    private insertElementsInternal;
    private insertElementInternal;
    private setEditableRegion;
    private isSelectionInEditableRange;
    /**
     * Updated modified content from remote user
     *
     * @returns {void}
     */
    updateRegion(user: string, content: string): void;
    private updateRevisionCollection;
    private getRevisionTextPosition;
    private tranformSelection;
    private tranformHistoryPosition;
    private transformHistory;
    private transformBaseHistoryInfo;
    private tranformPosition;
    private getParentBlock;
    private removeDuplicateCollection;
    private removeFieldInBlock;
    private removeFieldTable;
    private removeComment;
    private updateNextBlocksIndex;
    /**
     * Update locked region highlight.
     *
     * @private
     * @param {string} user - Specified the user.
     * @param {boolean} isLocked - Specifies the isLocked.
     * @returns {void}
     */
    updateLockRegion(user?: string, isLocked?: boolean): void;
    private updateLockInfo;
    /**
     * Pull pending actions from server.
     *
     * @returns {void}
     */
    pullAction(): void;
    /**
     * Destroy collaborative editing module.
     *
     * @returns {void}
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/implementation/dialogs/table-properties-dialog.d.ts
/**
 * The Table properties dialog is used to modify properties of selected table.
 */
export  class TablePropertiesDialog {
    private dialog;
    private target;
    private cellAlignment;
    private tableAlignment;
    documentHelper: DocumentHelper;
    private preferCheckBox;
    private tableWidthType;
    private preferredWidth;
    private rowHeightType;
    private rowHeightCheckBox;
    private rowHeight;
    private cellWidthType;
    private preferredCellWidthCheckBox;
    private preferredCellWidth;
    private tableTab;
    private rowTab;
    private cellTab;
    private left;
    private center;
    private right;
    private leftIndent;
    private allowRowBreak;
    private repeatHeader;
    private cellTopAlign;
    private cellCenterAlign;
    private cellBottomAlign;
    private indentingLabel;
    titleTextBox: inputs.TextBox;
    descriptionTextBox: inputs.TextBox;
    private altTab;
    private hasTableWidth;
    private hasCellWidth;
    private bidi;
    /**
     * @private
     */
    isTableBordersAndShadingUpdated: boolean;
    /**
     * @private
     */
    isCellBordersAndShadingUpdated: boolean;
    private tableFormatIn;
    private rowFormatInternal;
    private cellFormatIn;
    private tableWidthBox;
    private rowHeightBox;
    private cellWidthBox;
    private leftIndentBox;
    private bordersAndShadingButton;
    private tableOptionButton;
    private cellOptionButton;
    private rowHeightValue;
    private tabObj;
    private rtlButton;
    private ltrButton;
    private localValue;
    private paraFormatIn;
    /**
     * @private
     */
    isCellOptionsUpdated: boolean;
    /**
     * @private
     */
    isTableOptionsUpdated: boolean;
    private cellFormat;
    private tableFormat;
    private paraFormat;
    private readonly rowFormat;
    /**
     * @param {DocumentHelper} documentHelper - Specifies the document helper.
     * @private
     */
    constructor(documentHelper: DocumentHelper);
    private getModuleName;
    /**
     * @private
     * @param {base.L10n} localValue - Specifies the locale value
     * @param {boolean} isRtl - Specifies the is rtl
     * @returns {void}
     */
    initTablePropertyDialog(localValue: base.L10n, isRtl?: boolean): void;
    /**
     * @private
     * @returns {void}
     */
    show(): void;
    /**
     * @returns {void}
     */
    private onBeforeOpen;
    /**
     * @private
     * @returns {void}
     */
    onCloseTablePropertyDialog: () => void;
    /**
     * @private
     * @returns {void}
     */
    applyTableProperties: () => void;
    private isEqualTableFormat;
    private isEqualRowFormat;
    private isEqualCellFormat;
    /**
     * @private
     * @param {TableWidget} table - Specifies the table widget.
     * @returns {void}
     */
    calculateGridValue(table: TableWidget): void;
    /**
     * @private
     * @returns {void}
     */
    applyTableSubProperties: () => void;
    /**
     * @private
     * @returns {void}
     */
    loadTableProperties(): void;
    /**
     * @private
     * @returns {void}
     */
    unWireEvent: () => void;
    /**
     * @private
     * @returns {void}
     */
    wireEvent(): void;
    /**
     * @private
     * @returns {void}
     */
    closeTablePropertiesDialog: () => void;
    private initTableProperties;
    /**
     * @private
     * @param {Event} event - Specified the event.
     * @returns {void}
     */
    private changeBidirectional;
    /**
     * @private
     * @returns {void}
     */
    onTableWidthChange(): void;
    /**
     * @private
     * @returns {void}
     */
    onTableWidthTypeChange(): void;
    /**
     * @private
     * @returns {void}
     */
    onLeftIndentChange(): void;
    setTableAltProperties(): void;
    private setTableProperties;
    private activeTableAlignment;
    /**
     * @private
     * @returns {void}
     */
    changeTableCheckBox: () => void;
    /**
     * @private
     * @param {Event} event - Specified the event.
     * @returns {void}
     */
    changeTableAlignment: (event: Event) => void;
    /**
     * @private
     * @returns {string} Resturns table alignment
     */
    getTableAlignment(): string;
    private updateClassForAlignmentProperties;
    private initTableRowProperties;
    private setTableRowProperties;
    /**
     * @private
     * @returns {void}
     */
    onRowHeightChange(): void;
    /**
     * @private
     * @returns {void}
     */
    onRowHeightTypeChange(): void;
    /**
     * @private
     * @returns {void}
     */
    changeTableRowCheckBox: () => void;
    private onAllowBreakAcrossPage;
    private onRepeatHeader;
    /**
     * @private
     * @returns {boolean} Returns enable repeat header
     */
    enableRepeatHeader(): boolean;
    private initTableAltProperties;
    private initTableCellProperties;
    private setTableCellProperties;
    private updateClassForCellAlignment;
    private formatNumericTextBox;
    /**
     * @private
     * @returns {string} - Returns the alignement.
     */
    getCellAlignment(): string;
    /**
     * @private
     * @returns {void}
     */
    changeTableCellCheckBox: () => void;
    /**
     * @private
     * @returns {void}
     */
    onCellWidthChange(): void;
    /**
     * @private
     * @returns {void}
     */
    onCellWidthTypeChange(): void;
    /**
     * @private
     * @param {Event} event - Specified the event
     * @returns {void}
     */
    changeCellAlignment: (event: Event) => void;
    /**
     * @private
     *
     * @returns {void}
     */
    showTableOptionsDialog: () => void;
    /**
     * @private
     *
     * @returns {void}
     */
    showBordersShadingsPropertiesDialog: () => void;
    /**
     * @private
     *
     * @returns {void}
     */
    showCellOptionsDialog: () => void;
    /**
     * @private
     *
     * @returns {void}
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/implementation/dialogs/table-options-dialog.d.ts
/**
 * The Table options dialog is used to modify default cell margins and cell spacing of selected table.
 */
export  class TableOptionsDialog {
    /**
     * @private
     */
    documentHelper: DocumentHelper;
    /**
     * @private
     */
    dialog: popups.Dialog;
    /**
     * @private
     */
    target: HTMLElement;
    private cellspacingTextBox;
    private allowSpaceCheckBox;
    private cellSpaceTextBox;
    private innerDiv;
    private innerDivLabel;
    private div;
    private cellSpaceLabel;
    private table2;
    private tr3;
    private td5;
    private allowSpaceCheckBox1;
    private td6;
    private divBtn;
    /**
     * @private
     */
    leftMarginBox: inputs.NumericTextBox;
    /**
     * @private
     */
    topMarginBox: inputs.NumericTextBox;
    /**
     * @private
     */
    rightMarginBox: inputs.NumericTextBox;
    /**
     * @private
     */
    bottomMarginBox: inputs.NumericTextBox;
    /**
     * @private
     */
    tableFormatIn: WTableFormat;
    /**
     * @param {DocumentHelper} documentHelper - Specifies the document helper.
     * @private
     */
    constructor(documentHelper: DocumentHelper);
    /**
     * @private
     * @returns {WTableFormat} - Returns table format.
     */
    readonly tableFormat: WTableFormat;
    private getModuleName;
    /**
     * @private
     * @param {base.L10n} localValue - Specifies the locale value
     * @param {boolean} isRtl - Specifies the is rtl
     * @returns {void}
     */
    initTableOptionsDialog(localValue: base.L10n, isRtl?: boolean): void;
    /**
     * @private
     * @returns {void}
     */
    loadCellMarginsDialog(): void;
    /**
     * @private
     * @returns {void}
     */
    applyTableCellProperties: () => void;
    /**
     * @private
     * @param {WTableFormat} tableFormat Specifies table format.
     * @returns {void}
     */
    applySubTableOptions(tableFormat: WTableFormat, sourceTable?: TableWidget): void;
    /**
     * @private
     * @param {WTableFormat} tableFormat Specifies table format.
     * @returns {void}
     */
    applyTableOptionsHelper(tableFormat: WTableFormat): void;
    private applyTableOptionsHistory;
    private applySubTableOptionsHelper;
    /**
     * @private
     * @param {WTableFormat} tableFormat Specifies the table format
     */
    applyTableOptions(tableFormat: WTableFormat): void;
    /**
     * @private
     * @returns {void}
     */
    closeCellMarginsDialog: () => void;
    /**
     * @private
     * @returns {void}
     */
    show(): void;
    /**
     * @private
     * @returns {void}
     */
    changeAllowSpaceCheckBox: () => void;
    /**
     * @private
     * @returns {void}
     */
    removeEvents: () => void;
    /**
     * @private
     * @returns {void}
     */
    destroy(): void;
    private removeElements;
}
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/implementation/dialogs/table-of-contents-dialog.d.ts
/**
 * The Table of contents dialog is used to insert or edit table of contents at selection.
 */
export  class TableOfContentsDialog {
    private target;
    /**
     * @private
     */
    documentHelper: DocumentHelper;
    private pageNumber;
    private rightAlign;
    private tabLeader;
    private showLevel;
    private hyperlink;
    private style;
    private heading1;
    private heading2;
    private heading3;
    private heading4;
    private heading5;
    private heading6;
    private heading7;
    private heading8;
    private heading9;
    private normal;
    private outline;
    private textBoxInput;
    private listViewInstance;
    private generalDiv;
    private genLabel;
    private topContainer;
    private leftGeneralDiv;
    private rightGeneralDiv;
    private bottomContainer;
    private leftBottomGeneralDiv;
    private rightBottomGeneralDiv;
    private pageNumberDiv;
    private pageNumber1;
    private rightAlignDiv;
    private rightAlign1;
    private tabDivContainer;
    private tabDiv;
    private tabLeaderLabelDiv;
    private tabLeaderLabel;
    private tabLeaderDiv;
    private tabLeader1;
    private hyperlink1;
    private showDiv;
    private showLevelLabelDiv;
    private showLevelLabel;
    private showLevelDiv;
    private showLevel1;
    private buildTableLabel;
    private table;
    private tr1;
    private td1;
    private availableLabel;
    private td2;
    private tocLabel;
    private tableDiv;
    private table1;
    private tr2;
    private td3;
    private heading1Label;
    private td4;
    private tr3;
    private td5;
    private heading2Label;
    private td6;
    private tr4;
    private td7;
    private heading3Label;
    private td8;
    private tr5;
    private td9;
    private heading4Label;
    private td10;
    private tr6;
    private td11;
    private heading5Label;
    private td12;
    private tr7;
    private td13;
    private heading6Label;
    private td14;
    private tr8;
    private td15;
    private heading7Label;
    private td16;
    private tr9;
    private td17;
    private heading8Label;
    private td18;
    private tr10;
    private td19;
    private heading9Label;
    private td20;
    private tr12;
    private td23;
    private normalLabel;
    private td24;
    private stylesLevelDiv;
    private fieldsDiv;
    private outDiv;
    private outlineDiv;
    private outline1;
    private resetButtonDiv;
    private resetElement;
    private resetButton;
    private tocStylesLabel;
    private textBoxDiv;
    private listViewDiv;
    private modifyButtonDiv;
    private modifyElement;
    private modifyButton;
    private changeStyleClickHandler;
    private changingStyleClickHandler;
    private resetClickHandler;
    private selectHandlerClickHandler;
    private showDialogHandler;
    /**
     * @param {DocumentHelper} documentHelper - Specifies the document helper.
     * @private
     */
    constructor(documentHelper: DocumentHelper);
    private getModuleName;
    /**
     * @private
     * @param {base.L10n} localValue - Specifies the locale value
     * @param {boolean} isRtl - Specifies the is rtl
     * @returns {void}
     */
    initTableOfContentDialog(locale: base.L10n, isRtl?: boolean): void;
    private styleLocaleValue;
    /**
     * @private
     */
    show(): void;
    /**
     * @private
     * @returns {void}
     */
    loadTableofContentDialog: () => void;
    /**
     * @private
     * @returns {void}
     */
    closeTableOfContentDialog: () => void;
    /**
     * @private
     * @returns {void}
     */
    onCancelButtonClick: () => void;
    private onSelectHandlerClick;
    /**
     * @param {SelectEventArgs} args - Specifies the event args.
     * @returns {void}
     */
    private selectHandler;
    private onShowDialog;
    /**
     * @private
     * @returns {void}
     */
    private showStyleDialog;
    private changeShowLevelValue;
    private changeByValue;
    private onResetClick;
    /**
     * @returns {void}
     */
    private reset;
    private onChangeStyleClick;
    /**
     * @param {KeyboardEvent} args - Specifies the event args.
     * @returns {void}
     */
    private changeStyle;
    private initAlertDialog;
    private checkLevel;
    private getElementValue;
    private onChangingStyleClick;
    /**
     * @param {KeyboardEvent} args - Specifies the event args.
     * @returns {void}
     */
    private changeHeadingStyle;
    /**
     * @param {buttons.ChangeEventArgs} args - Specifies the event args.
     * @returns {void}
     */
    changePageNumberValue: (args: buttons.ChangeEventArgs) => void;
    /**
     * @param {buttons.ChangeEventArgs} args - Specifies the event args.
     * @returns {void}
     */
    changeRightAlignValue: (args: buttons.ChangeEventArgs) => void;
    /**
     * @param {buttons.ChangeEventArgs} args - Specifies the event args.
     * @returns {void}
     */
    changeStyleValue: (args: buttons.ChangeEventArgs) => void;
    private getHeadingLevel;
    private applyLevelSetting;
    private getTOCInputValue;
    /**
     * @private
     * @returns {void}
     */
    applyTableOfContentProperties: () => void;
    /**
     * @private
     * @returns {void}
     */
    unWireEventsAndBindings: () => void;
    /**
     * @private
     * @returns {void}
     */
    destroy(): void;
    private removeEvents;
    private removeElements;
}
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/implementation/dialogs/table-dialog.d.ts
/**
 * The Table dialog is used to insert table at selection.
 */
export  class TableDialog {
    private columnsCountBox;
    private rowsCountBox;
    private target;
    /**
     * @private
     */
    documentHelper: DocumentHelper;
    private columnValueTexBox;
    private rowValueTextBox;
    private localeValue;
    private parentDiv;
    private columnValue;
    private rowValue;
    /**
     * @param {DocumentHelper} documentHelper - Specifies the document helper
     * @private
     */
    constructor(documentHelper: DocumentHelper);
    private getModuleName;
    /**
     * @private
     * @param {base.L10n} localValue - Specified the locale value.
     * @returns {void}
     */
    initTableDialog(localValue: base.L10n): void;
    /**
     * @private
     * @returns {void}
     */
    show(): void;
    /**
     * @private
     * @returns {void}
     */
    onCancelButtonClick: () => void;
    /**
     * @private
     * @returns {void}
     */
    onInsertTableClick: () => void;
    /**
     * @private
     * @returns {void}
     */
    destroy(): void;
    private removeElements;
}
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/implementation/dialogs/tab-dialog.d.ts
export  class TabDialog {
    /**
     * @private
     */
    documentHelper: DocumentHelper;
    private target;
    private listviewInstance;
    private textBoxInput;
    private defaultTabStopIn;
    private left;
    private right;
    private center;
    private decimal;
    private bar;
    private none;
    private dotted;
    private single;
    private Hyphen;
    private underscore;
    private setButton;
    private clearButton;
    private clearAllButton;
    private selectedTabStop;
    private isBarClicked;
    private removedItems;
    private tabStopList;
    private isAddUnits;
    private displayDiv;
    private localeValue;
    private commonDiv;
    private tabStopLabelDiv;
    private tabStopDiv;
    private tabListDiv;
    private textBoxDiv;
    private listviewDiv;
    private defaultTablabelDiv;
    private defaultTabDiv;
    private defaultTabStopDiv;
    private defaultTabWarningDiv;
    private defaultTabStop;
    private alignmentDiv;
    private alignmentLabelDiv;
    private alignmentPropertyDiv;
    private alignmentPropertyDiv1;
    private leftDiv;
    private leftRadioBtn;
    private decimalDiv;
    private decimalRadioBtn;
    private alignmentPropertyDiv2;
    private centerDiv;
    private centerRadioBtn;
    private barDiv;
    private barRadioBtn;
    private alignmentPropertyDiv3;
    private rightDiv;
    private rightRadioBtn;
    private tabLeaderDiv;
    private tabLeaderLabelDiv;
    private tabLeaderPropertyDiv;
    private tabLeaderPropertyDiv1;
    private noneDiv;
    private noneRadioBtn;
    private underscoreDiv;
    private underscoreRadioBtn;
    private tabLeaderPropertyDiv2;
    private dottedDiv;
    private dottedRadioBtn;
    private singleDiv;
    private singleRadioBtn;
    private tabLeaderPropertyDiv3;
    private HyphenDiv;
    private HyphenRadioBtn;
    private buttonDiv;
    private tableElement;
    private setbuttonDiv;
    private setButtonElement;
    private clearbuttonDiv;
    private clearButtonElement;
    private clearAllbuttonDiv;
    private clearAllButtonElement;
    private textBoxInputChangeClickHandler;
    private selectHandlerClickHandler;
    private setButtonClickHandler;
    private clearButtonClickHandler;
    private clearAllButtonClickHandler;
    /**
     * @param {DocumentHelper} documentHelper - Specifies the document helper.
     * @private
     */
    constructor(documentHelper: DocumentHelper);
    private getModuleName;
    /**
     * @private
     * @returns {void}
     */
    applyParagraphFormat: () => void;
    private onTextBoxInputChangeClick;
    private textBoxInputChange;
    private onSetButtonClick;
    private setButtonClick;
    private onClearAllButtonClick;
    private clearAllButtonClick;
    private onClearButtonClick;
    private clearButtonClick;
    /**
     * @private
     * @returns {void}
     */
    closeTabDialog: () => void;
    /**
     * @private
     * @param {base.L10n} locale - Specifies the locale.
     * @param {boolean} enableRtl - Specifies is rtl.
     * @returns {void}
     */
    initTabsDialog(localeValue: base.L10n, enableRtl: boolean): void;
    private getTabAlignmentValue;
    private getTabLeaderValue;
    private onSelectHandlerClick;
    private selectHandler;
    private updateButtons;
    private onBarClick;
    private onTabAlignmentButtonClick;
    private updateTabLeaderButton;
    private updateTabAlignmentButton;
    private clearTabLeaderButton;
    private disableOrEnableTabLeaderButton;
    private clearTabAlignmentButton;
    private focusTextBox;
    /**
     * @private
     * @returns {void}
     */
    show(): void;
    /**
     * @private
     * @returns {void}
     */
    destroy(): void;
    private removeEvents;
    private removeElements;
}
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/implementation/dialogs/styles-dialog.d.ts
/**
 * The Styles dialog is used to create or modify styles.
 */
export  class StylesDialog {
    /**
     * @private
     */
    documentHelper: DocumentHelper;
    private target;
    private listviewInstance;
    private styleName;
    private localValue;
    private dlgFields;
    private commonDiv;
    private searchDiv;
    private listviewDiv;
    private buttonDiv;
    private newButtonDiv;
    private newButtonElement;
    private newbutton;
    private modifybuttonDiv;
    private modifyButtonElement;
    private addbutton;
    private selecHandlerClickHandler;
    private addNewStyleClickHandler;
    private modifyStyleClickHandler;
    /**
     * @param {DocumentHelper} documentHelper - Specifies the document helper.
     * @private
     */
    constructor(documentHelper: DocumentHelper);
    private getModuleName;
    /**
     * @private
     * @param {base.L10n} localValue - Specifies the locale value.
     * @param {string[]} styles - Specifies the styles.
     * @param {boolean} isRtl - Specifies the is rtl.
     * @returns {void}
     */
    initStylesDialog(localValue: base.L10n, styles: {
        [key: string]: string;
    }[], isRtl?: boolean): void;
    /**
     * @private
     * @returns {void}
     */
    show(): void;
    private updateStyleNames;
    private defaultStyleName;
    private onModifyStyleClick;
    /**
     * @private
     * @returns {void}
     */
    private modifyStyles;
    private onSelecHandlerClick;
    /**
     * @param {SelectEventArgs} args - Specifies the event args.
     * @returns {void}
     */
    private selectHandler;
    /**
     * @param {string} styleName - Specifies the style name.
     * @private
     * @returns {string} - Returns the style name.
     */
    getStyleName(styleName: string): string;
    /**
     * @private
     * @returns {void}
     */
    private hideObjects;
    private onAddNewStyleClick;
    /**
     * @private
     * @returns {void}
     */
    addNewStyles: () => void;
    /**
     * @private
     * @returns {void}
     */
    destroy(): void;
    private removeEvents;
    private removeElements;
}
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/implementation/dialogs/style-dialog.d.ts
/**
 * The Style dialog is used to create or modify styles.
 */
export  class StyleDialog {
    documentHelper: DocumentHelper;
    private target;
    private styleType;
    private styleBasedOn;
    private styleParagraph;
    private onlyThisDocument;
    private template;
    private isEdit;
    private editStyleName;
    private style;
    private abstractList;
    private numberingBulletDialog;
    private okButton;
    private styleNameElement;
    private isUserNextParaUpdated;
    private fontFamily;
    private fontSize;
    private characterFormat;
    private paragraphFormat;
    private textAlignment;
    private lineSpacing;
    private leftIndent;
    private beforeSpacing;
    private afterSpacing;
    private localObj;
    private bold;
    private italic;
    private underline;
    private fontColor;
    private leftAlign;
    private rightAlign;
    private centerAlign;
    private justify;
    private singleLineSpacing;
    private doubleLineSpacing;
    private onePointFiveLineSpacing;
    private styleDropdwn;
    private container;
    private properties;
    private styleNameTypeDiv;
    private nameWholeDiv;
    private nameValue;
    private styleTypeWholeDiv;
    private styleTypeDivElement;
    private styleTypeValue;
    private styleBasedParaDiv;
    private styleBasedOnWholeDiv;
    private styleBasedOnDivElement;
    private styleBasedOnValue;
    private styleParagraphWholeDiv;
    private styleParagraphDivElement;
    private styleParagraphValue;
    private formatting;
    private optionsDiv;
    private fontOptionsDiv;
    private paragraphOptionsDiv;
    private formatBtn;
    private fontFamilyElement;
    private fontSizeElement;
    private fontGroupButton;
    private fontColorElement;
    private alignmentDiv;
    private lineSpacingDiv;
    private spacingDiv;
    private beforeSpacingEle;
    private afterSpacingEle;
    private indentingDiv;
    private decreaseIndent;
    private increaseindent;
    private setLeftAlignmentClickHandler;
    private setCenterAlignmentClickHandler;
    private setRightAlignmentClickHandler;
    private setJustifyAlignmentClickHandler;
    private setSingleLineSpacingClickHandler;
    private setOnePointFiveLineSpacingClickHandler;
    private setDoubleLineSpacingClickHandler;
    private increaseIndentValueHandler;
    private decreaseIndentValueHandler;
    private increaseBeforeAfterSpacingValueHandler;
    private decreaseBeforeAfterSpacingValueHandler;
    private setUnderlinePropertyHandler;
    private setItalicPropertyHandler;
    private setBoldPropertyHandler;
    private openDialogHandler;
    private updateOkButtonClickHandler;
    private updateNextStyleHandler;
    /**
     * @param {DocumentHelper} documentHelper - Specifies the document helper.
     * @private
     */
    constructor(documentHelper: DocumentHelper);
    /**
     * @private
     * @returns {string} Returns module name
     */
    getModuleName(): string;
    /**
     * @private
     * @param {base.L10n} localValue - Specifies the locale value
     * @param {boolean} isRtl - Specifies the is rtl
     * @returns {void}
     */
    initStyleDialog(localValue: base.L10n, isRtl?: boolean): void;
    private createFormatDropdown;
    private onOpenDialog;
    /**
     *
     * @param {DropDownButtonMenuEventArgs} args - Specifies the event args.
     * @returns {void}
     */
    private openDialog;
    private createFontOptions;
    private onSetBoldProperty;
    /**
     * @private
     * @returns {void}
     */
    private setBoldProperty;
    private onSetItalicProperty;
    /**
     * @private
     * @returns {void}
     */
    private setItalicProperty;
    private onSetUnderlineProperty;
    /**
     * @private
     * @returns {void}
     */
    private setUnderlineProperty;
    /**
     * @private
     * @returns {void}
     */
    private fontButtonClicked;
    /**
     * @private
     * @param {dropdowns.ChangeEventArgs} args - Specifies the event args.
     * @returns {void}
     */
    private fontSizeUpdate;
    /**
     * @private
     * @param {dropdowns.ChangeEventArgs} args - Specifies the event args.
     * @returns {void}
     */
    private fontFamilyChanged;
    /**
     * @private
     * @param {ColorPickerEventArgs} args - Specifies the event args.
     * @returns {void}
     */
    private fontColorUpdate;
    private createParagraphOptions;
    private setSingleLineSpacing;
    private setOnePointFiveLineSpacing;
    private setDoubleLineSpacing;
    private increaseIndentValue;
    private decreaseIndentValue;
    private onSetLeftAlignmentClick;
    /**
     * @private
     * @returns {void}
     */
    private setLeftAlignment;
    private onSetRightAlignmentClick;
    /**
     * @private
     * @returns {void}
     */
    private setRightAlignment;
    private onSetCenterAlignmentClick;
    /**
     * @private
     * @returns {void}
     */
    private setCenterAlignment;
    private onSetJustifyAlignmentClick;
    /**
     * @private
     * @returns {void}
     */
    private setJustifyAlignment;
    private createButtonElement;
    private onIncreaseBeforeAfterSpacing;
    /**
     * @private
     * @returns {void}
     */
    private increaseBeforeAfterSpacing;
    private onDecreaseBeforeAfterSpacing;
    /**
     * @private
     * @returns {void}
     */
    private decreaseBeforeAfterSpacing;
    private toggleDisable;
    private onUpdateNextStyle;
    /**
     * @private
     * @returns {void}
     */
    updateNextStyle: (args: FocusEvent) => void;
    private onUpdateOkButtonClick;
    /**
     * @private
     * @returns {void}
     */
    updateOkButton: () => void;
    /**
     * @private
     * @param {dropdowns.ChangeEventArgs} args - Specifies the event args.
     * @returns {void}
     */
    styleTypeChange: (args: dropdowns.ChangeEventArgs) => void;
    /**
     * @returns {void}
     */
    private styleBasedOnChange;
    /**
     * @private
     * @param {dropdowns.SelectEventArgs} args - Specifies the event args.
     * @returns {void}
     */
    styleParagraphChange: (args: dropdowns.SelectEventArgs) => void;
    /**
     * @private
     * @returns {void}
     */
    showFontDialog: () => void;
    /**
     * @private
     * @returns {void}
     */
    showParagraphDialog: () => void;
    /**
     * @private
     * @returns {void}
     */
    showNumberingBulletDialog: () => void;
    /**
     * @private
     * @param {string} styleName - Specifies the style name.
     * @param {string} header - Specifies the header.
     * @returns {void}
     */
    show(styleName?: string, header?: string): void;
    /**
     * @private
     * @returns {void}
     */
    onOkButtonClick: () => void;
    private updateList;
    private createLinkStyle;
    /**
     * @private
     * @returns {void}
     */
    private loadStyleDialog;
    /**
     * @private
     * @param {base.L10n} characterFormat - Specifies the character format
     * @returns {void}
     */
    updateCharacterFormat(characterFormat?: WCharacterFormat): void;
    private applyParagraphFormat;
    /**
     * @private
     * @returns {void}
     */
    updateParagraphFormat(paragraphFOrmat?: WParagraphFormat): void;
    private enableOrDisableOkButton;
    /**
     * @private
     */
    getTypeValue(type?: string): StyleType;
    private updateStyleNames;
    private getStyle;
    /**
     * @private
     * @returns {void}
     */
    onCancelButtonClick: () => void;
    /**
     * @private
     * @returns {void}
     */
    closeStyleDialog: () => void;
    /**
     * @private
     * @returns {void}
     */
    destroy(): void;
    private removeEvents;
    private removeElements;
}
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/implementation/dialogs/spellCheck-dialog.d.ts
/**
 * Spell check dialog
 */
export  class SpellCheckDialog {
    private target;
    private elementBox;
    /**
     * @private
     */
    localValue: base.L10n;
    private errorText;
    private spellingListView;
    private suggestionListView;
    private selectedText;
    documentHelper: DocumentHelper;
    private isSpellChecking;
    private textContainer;
    private spellContainer;
    private listviewDiv;
    private buttonDiv;
    private ignoreButtonElement;
    private ignorebutton;
    private ignoreAllButtonElement;
    private ignoreAllbutton;
    private addDictButtonElement;
    private addDictButton;
    private suggestionDiv;
    private suggestionContainer;
    private suggestListDiv;
    private suggestBtnContainder;
    private changeButtonElement;
    private changeButton;
    private changeAllButtonElement;
    private changeAllbutton;
    private ignoreClickHandler;
    private ignoreAllClickHandler;
    private addToDictClickHandler;
    private selectHandlerClickHandler;
    private changeButtonClickHandler;
    private onChangeAllButtonClickHandler;
    /**
     * @param {DocumentHelper} documentHelper - Specifies the document helper.
     * @private
     */
    constructor(documentHelper: DocumentHelper);
    private readonly parent;
    private getModuleName;
    private onSelectHandlerClick;
    /**
     * @param {SelectEventArgs} args - Specifies the event args.
     * @returns {void}
     */
    private selectHandler;
    /**
     * @private
     * @returns {void}
     */
    onCancelButtonClick: () => void;
    private onIgnoreClick;
    /**
     * @private
     * @returns {void}
     */
    onIgnoreClicked: () => void;
    private removeErrors;
    private onIgnoreAllClick;
    /**
     * @private
     * @returns {void}
     */
    onIgnoreAllClicked: () => void;
    private onAddToDictClick;
    /**
     * @private
     * @returns {void}
     */
    addToDictClicked: () => void;
    private onChangeButtonClick;
    /**
     * @private
     * @returns {void}
     */
    changeButtonClicked: () => void;
    private onChangeAllButtonClick;
    /**
     * @private
     * @returns {void}
     */
    changeAllButtonClicked: () => void;
    /**
     * @private
     * @param {string} error - Specifies error element box.
     * @param {ElementBox} elementbox - Specifies the element box.
     * @returns {void}
     */
    show(error?: string, elementbox?: ElementBox): void;
    /**
     * @private
     * @param {string} error - Specifies error element box.
     * @param {ElementBox} elementbox - Specifies the element box.
     * @returns {void}
     */
    updateSuggestionDialog(error: string, elementBox: ElementBox): void;
    private handleRetrievedSuggestion;
    /**
     * @private
     * @param {base.L10n} localValue - Specifies the locale value.
     * @param {string} error - Specifies the error text.
     * @param {string[]} suggestion - Specifies the suggestion.
     * @param {boolean} isRtl - Specifies the is rtl
     * @returns {void}
     */
    initSpellCheckDialog(localValue: base.L10n, error?: string, suggestion?: string[], isRtl?: boolean): void;
    /**
     * @private
     * @returns {void}
     */
    destroy(): void;
    private removeEvents;
    private removeElements;
}
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/implementation/dialogs/pic-contentControl-dialog.d.ts
/**
 *  To show the dialog is used to insert image on picture Content Control.
 */
export  class PicContentControlDialog {
    /**
     * @private
     */
    container: DocumentEditorContainer;
    /**
     * @private
     */
    imagePicker: HTMLInputElement;
    private parentDiv;
    /**
     * @private
     */
    documentHelper: DocumentHelper;
    private image;
    private localeValue;
    /**
     * @param {DocumentHelper} documentHelper - Specifies the document helper
     * @private
     */
    constructor(documentHelper: DocumentHelper);
    private getModuleName;
    /**
     * @private
     * @returns {void}
     */
    show(): void;
    /**
     * @private
     * @returns {void}
     */
    onCancelButtonClick: () => void;
    /**
     * @private
     * @returns {void}
     */
    onInsertPicClick: () => void;
    private onImageChange;
    private insertImage;
    /**
     * @private
     * @returns {void}
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/implementation/dialogs/paragraph-dialog.d.ts
/**
 * The Paragraph dialog is used to modify formatting of selected paragraphs.
 */
export  class ParagraphDialog {
    /**
     * @private
     */
    documentHelper: DocumentHelper;
    private target;
    private alignment;
    private outlineLevel;
    private lineSpacing;
    private special;
    private leftIndentIn;
    private rightIndentIn;
    private byIn;
    private beforeSpacingIn;
    private afterSpacingIn;
    private atIn;
    private rtlButton;
    private ltrButton;
    private contextSpacing;
    private keepWithNext;
    private keepLinesTogether;
    private widowControlIn;
    private leftIndent;
    private rightIndent;
    private beforeSpacing;
    private afterSpacing;
    private spaceBeforeAuto;
    private spaceAfterAuto;
    private textAlignment;
    private paraOutlineLevel;
    private firstLineIndent;
    private lineSpacingIn;
    private lineSpacingType;
    private paragraphFormat;
    private bidi;
    private contextualSpacing;
    isStyleDialog: boolean;
    private directionDiv;
    keepWithNextValue: boolean;
    keepLineTogetherValue: boolean;
    widowControlValue: boolean;
    private tabObj;
    private paginationDiv;
    private ejtab;
    private div;
    private generalDiv;
    private genLabel;
    private alignmentWholeDiv;
    private alignmentDiv;
    private dirLabel;
    private rtlDiv;
    private rtlInputELe;
    private ltrDiv;
    private ltrInputELe;
    private indentionWholeDiv;
    private indentLabel;
    private indentionSubDiv1;
    private indentionSubDiv2;
    private beforeTextDiv;
    private afterTextDiv;
    private specialDiv;
    private byDiv;
    private by;
    private spacingDiv;
    private leftSpacingDiv;
    private contextSpacingDiv;
    private rightSpacingDiv;
    private contextInputEle;
    private spaceLabel;
    private spacingWholeDiv;
    private beforeSpacingWholeDiv;
    private afterSpacingWholeDiv;
    private lineSpacingDiv;
    private lineTypeDiv;
    private lineSpacingAt;
    private lineBreakContainer;
    private paginationLabel;
    private widowContorlContainer;
    private keepNextContainer;
    private keepLines;
    private widowControl;
    private keepWithNext1;
    private keepLinesTogether1;
    private instance;
    private beforeSpacingSpinDown;
    private afterSpacingSpinDown;
    private indentContainer;
    private clickBeforeSpacingClickHandler;
    private clickAfterSpacingClickHandler;
    private keyUpParagraphSettingsClickHandler;
    /**
     * @param {DocumentHelper} documentHelper - Specifies the document helper.
     * @private
     */
    constructor(documentHelper: DocumentHelper);
    private readonly owner;
    /**
     * @private
     * @returns {string} Returns module name
     */
    getModuleName(): string;
    /**
     * @private
     * @param {base.L10n} locale - Specifies the locale.
     * @returns {void}
     */
    initParagraphDialog(locale: base.L10n): void;
    private onKeyUpParagraphSettingsClick;
    /**
     * @private
     * @param {KeyboardEvent} event - Specifies the event args.
     * @returns {void}
     */
    keyUpParagraphSettings: (event: KeyboardEvent) => void;
    /**
     * @private
     * @param {KeyboardEvent} event - Specifies the event args.
     * @returns {void}
     */
    private changeBeforeSpacing;
    /**
     * @private
     * @param {NumericFocusEventArgs} event - Specifies the event args.
     * @returns {void}
     */
    private focusBeforeSpacing;
    /**
     * @private
     * @param {NumericFocusEventArgs} event - Specifies the event args.
     * @returns {void}
     */
    private blurBeforeSpacing;
    private onClickBeforeSpacingClick;
    /**
    * @private
    * @param {ClickEventArgs} event - Specifies the event args.
    * @returns {void}
    */
    private clickBeforeSpacing;
    /**
     * @private
     * @param {NumericChangeArgs} event - Specifies the event args.
     * @returns {void}
     */
    private changeAfterSpacing;
    /**
     * @private
     * @param {NumericFocusEventArgs} event - Specifies the event args.
     * @returns {void}
     */
    private focusAfterSpacing;
    /**
     * @private
     * @param {NumericFocusEventArgs} event - Specifies the event args.
     * @returns {void}
     */
    private blurAfterSpacing;
    private onClickAfterSpacingClick;
    /**
    * @private
    * @param {ClickEventArgs} event - Specifies the event args.
    * @returns {void}
    */
    private clickAfterSpacing;
    /**
     * @private
     * @param {NumericChangeArgs} event - Specifies the event args.
     * @returns {void}
     */
    private changeLeftIndent;
    /**
     * @private
     * @param {NumericChangeArgs} event - Specifies the event args.
     * @returns {void}
     */
    private changeRightIndent;
    /**
     * @private
     * @param {NumericChangeArgs} event - Specifies the event args.
     * @returns {void}
     */
    private changeLineSpacingValue;
    /**
     * @private
     * @param {NumericChangeArgs} event - Specifies the event args.
     * @returns {void}
     */
    private changeFirstLineIndent;
    /**
     * @private
     * @param {DropDownChangeArgs} event - Specifies the event args.
     * @returns {void}
     */
    private changeByTextAlignment;
    /**
     * @private
     * @param {DropDownChangeArgs} event - Specifies the event args.
     * @returns {void}
     */
    private changeByOutlineLevel;
    /**
     * @private
     * @param {ChangeArgs} event - Specifies change event args.
     * @returns {void}
     */
    private changeBidirectional;
    /**
     * @private
     * @param {ChangeEventArgs} args - Specifies change event args.
     * @returns {void}
     */
    private changeContextualSpacing;
    /**
     * @private
     * @param {ChangeEventArgs} args - Specifies change event args.
     * @returns {void}
     */
    private changeKeepWithNext;
    /**
     * @private
     * @param {ChangeEventArgs} args - Specifies change event args.
     * @returns {void}
     */
    private changeKeepLinesTogether;
    /**
     * @private
     * @param {ChangeEventArgs} args - Specifies change event args.
     * @returns {void}
     */
    private changeWidowControl;
    private changeAlignmentByBidi;
    /**
     * @private
     * @returns {void}
     */
    changeByValue: () => void;
    /**
     * @private
     * @returns {void}
     */
    changeBySpacing: () => void;
    /**
     * @private
     * @returns {void}
     */
    loadParagraphDialog: () => void;
    private getAlignmentValue;
    private isHeadingStyle;
    private getOutlineValue;
    /**
     * @private
     * @returns {void}
     */
    applyParagraphFormat: () => void;
    /**
     * @private
     * @returns {void}
     */
    openTabDialog: () => void;
    /**
     * Applies Paragraph Format
     *
     * @private
     * @param {WParagraphFormat} paragraphFormat - Specifies the paragraph format.
     * @returns {void}
     */
    onParagraphFormat(paragraphFormat: WParagraphFormat): void;
    /**
     * @private
     * @returns {void}
     */
    closeParagraphDialog: () => void;
    /**
     * @private
     * @param {WParagraphFormat} paragraphFormat - Specifies the paragraph format.
     * @returns {void}
     */
    show(paragraphFormat?: WParagraphFormat): void;
    /**
     * @private
     * @returns {void}
     */
    destroy(): void;
    private removeEvents;
    private removeElements;
}
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/implementation/dialogs/page-setup-dialog.d.ts
/**
 * The Page setup dialog is used to modify formatting of selected sections.
 */
export  class PageSetupDialog {
    private target;
    /**
     * @private
     */
    documentHelper: DocumentHelper;
    /**
     * @private
     */
    topMarginBox: inputs.NumericTextBox;
    /**
     * @private
     */
    bottomMarginBox: inputs.NumericTextBox;
    /**
     * @private
     */
    leftMarginBox: inputs.NumericTextBox;
    /**
     * @private
     */
    rightMarginBox: inputs.NumericTextBox;
    /**
     * @private
     */
    widthBox: inputs.NumericTextBox;
    /**
     * @private
     */
    heightBox: inputs.NumericTextBox;
    /**
     * @private
     */
    headerBox: inputs.NumericTextBox;
    /**
     * @private
     */
    footerBox: inputs.NumericTextBox;
    private paperSize;
    private checkBox1;
    private checkBox2;
    private landscape;
    private portrait;
    private isPortrait;
    private marginTab;
    private paperTab;
    private layoutTab;
    private ejtabContainer;
    private ejtab;
    private headerContainer;
    private marginHeader;
    private paperHeader;
    private layoutHeader;
    private marginContent;
    private paperContent;
    private layoutContent;
    private marginDiv;
    private leftMarginDiv;
    private rightMarginDiv;
    private topTextBox;
    private bottomTextBox;
    private topContainer;
    private bottomContainer;
    private leftTextBox;
    private rightTextBox;
    private leftContainer;
    private rightContainer;
    private orientationDiv;
    private orientationLabeldiv;
    private orientationPropDiv;
    private portraitDiv;
    private landscapeDiv;
    private sizeDiv;
    private leftSizeDiv;
    private rightSizeDiv;
    private widthTextBox;
    private heightTextBox;
    private paperSizeDiv;
    private layoutDiv;
    private firstPageDiv;
    private oddOrEvenDiv;
    private textLabelDiv;
    private textLabel;
    private propertyDiv;
    private leftLayoutDiv;
    private rightLayoutDiv;
    private dialogElement;
    private keyUpInsertPageSettingsClickHandler;
    /**
     * @param {DocumentHelper} documentHelper - Specifies the document helper.
     * @private
     */
    constructor(documentHelper: DocumentHelper);
    private getModuleName;
    /**
     * @private
     * @param {base.L10n} locale - Specifies the locale value
     * @param {boolean} isRtl - Specifies the is rtl
     * @returns {void}
     */
    initPageSetupDialog(locale: base.L10n, isRtl?: boolean): void;
    /**
     * @private
     * @param {HTMLDivElement} element - Specifies the div element
     * @param {base.L10n} locale - Specifies the locale value
     * @param {boolean} isRtl - Specifies the is rtl
     * @returns {void}
     */
    initMarginProperties(element: HTMLDivElement, locale: base.L10n, isRtl?: boolean): void;
    /**
     * @private
     * @param {HTMLDivElement} element - Specifies the div element
     * @param {base.L10n} locale - Specifies the locale value
     * @param {boolean} isRtl - Specifies the is rtl
     * @returns {void}
     */
    initPaperSizeProperties(element: HTMLDivElement, locale: base.L10n, isRtl?: boolean): void;
    /**
     * @private
     * @param {HTMLDivElement} element - Specifies the div element
     * @param {base.L10n} locale - Specifies the locale value
     * @param {boolean} isRtl - Specifies the is rtl
     * @returns {void}
     */
    initLayoutProperties(element: HTMLDivElement, locale: base.L10n, isRtl?: boolean): void;
    /**
     * @private
     * @returns {void}
     */
    show(): void;
    /**
     * @private
     * @returns {void}
     */
    loadPageSetupDialog: () => void;
    private setPageSize;
    /**
     * @private
     * @returns {void}
     */
    closePageSetupDialog: () => void;
    /**
     * @private
     * @returns {void}
     */
    onCancelButtonClick: () => void;
    private onKeyUpInsertPageSettingsClick;
    /**
     * @private
     * @param {KeyboardEvent} event - Specifies the event args.
     * @returns {void}
     */
    keyUpInsertPageSettings: (event: KeyboardEvent) => void;
    /**
     * @private
     * @returns {void}
     */
    applyPageSetupProperties: () => void;
    /**
     * @private
     * @param {dropdowns.ChangeEventArgs} event - Specifies the event args.
     * @returns {void}
     */
    changeByPaperSize: (event: dropdowns.ChangeEventArgs) => void;
    /**
     * @private
     * @returns {void}
     */
    onPortrait: () => void;
    /**
     * @private
     * @returns {void}
     */
    onLandscape: () => void;
    /**
     * @private
     * @returns {void}
     */
    unWireEventsAndBindings: () => void;
    /**
     * @private
     * @returns {void}
     */
    destroy(): void;
    private removeEvents;
    private removeElements;
}
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/implementation/dialogs/notes-dialog.d.ts
/**
 * The notes dialog is used to insert footnote.
 */
export  class NotesDialog {
    private footCount;
    private target;
    private firstDiv;
    private startatValue;
    private numberFormatDiv;
    private formatType;
    /**
     * @private
     */
    documentHelper: DocumentHelper;
    editor: Editor;
    private notesList;
    private startValueTextBox;
    private list;
    /**
     * @private
     */
    private noteNumberFormat;
    private sectionFormat;
    /**
     * @param {DocumentHelper} documentHelper - Specifies the document helper.
     * @private
     */
    constructor(documentHelper: DocumentHelper);
    private getModuleName;
    /**
     * @private
     * @param {base.L10n} localValue - Specifies the locale value
     * @param {boolean} isRtl - Specifies the is rtl
     * @returns {void}
     */
    notesDialog(localValue: base.L10n, isRtl?: boolean): void;
    /**
     * @private
     * @returns {void}
     */
    show(): void;
    /**
     * @private
     * @returns {void}
     */
    onCancelButtonClick: () => void;
    /**
     * @private
     * @returns {void}
     */
    loadFontDialog: () => void;
    /**
     * @private
     * @returns {void}
     */
    onInsertFootnoteClick: () => void;
    private types;
    private reversetype;
    private endnoteListValue;
    /**
     * @private
     * @returns {void}
     */
    unWireEventsAndBindings: () => void;
    /**
     * @private
     * @returns {void}
     */
    destroy(): void;
    private removeElements;
}
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/implementation/dialogs/list-view-model.d.ts
/**
 * List view model implementation
 *
 * @private
 */
export  class ListViewModel {
    private listIn;
    private levelNumberIn;
    dialog: ListDialog;
    levelNumber: number;
    list: WList;
    readonly listLevel: WListLevel;
    listLevelPattern: ListLevelPattern;
    followCharacter: FollowCharacterType;
    /**
     * @private
     */
    constructor();
    private createList;
    private addListLevels;
    /**
     * @private
     * @returns {void}
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/implementation/dialogs/list-dialog.d.ts
/**
 * The List dialog is used to create or modify lists.
 */
export  class ListDialog {
    /**
     * @private
     */
    dialog: popups.Dialog;
    private target;
    /**
     * @private
     */
    documentHelper: DocumentHelper;
    private viewModel;
    private startAt;
    private textIndent;
    private alignedAt;
    private listLevelElement;
    private followNumberWith;
    private numberStyle;
    private numberFormat;
    private restartBy;
    private formatInfoToolTip;
    private numberFormatDiv;
    private listLevelDiv;
    private div;
    private numberStyleDiv;
    private indentsDiv;
    private startAtTextBox;
    private textIndentAtTextBox;
    private alignedAtTextBox;
    private listLevel1;
    private followCharacterElement;
    private numberStyleEle;
    private restartElement;
    private button;
    private startedValueChangedClickHandler;
    private textIndentChangedClickHandler;
    private alignedAtValueChangedClickHandler;
    private numberFormatChangedClickHandler;
    /**
     * @private
     */
    isListCharacterFormat: boolean;
    /**
     * @private
     * @returns {WListLevel} Returns list level
     */
    readonly listLevel: WListLevel;
    /**
     * @private
     * @returns {WList} Returns list
     */
    readonly list: WList;
    /**
     * @private
     * @returns {number} Returns level number
     */
    readonly levelNumber: number;
    /**
     * @param {DocumentHelper} documentHelper - Specifies the document helper.
     * @private
     */
    constructor(documentHelper: DocumentHelper);
    private readonly owner;
    /**
     * @private
     * @returns {string} Returns module name
     */
    getModuleName(): string;
    /**
     * @private
     * @returns {void}
     */
    showListDialog(): void;
    /**
     * Shows the table properties dialog
     *
     * @private
     * @param {base.L10n} locale - Specifies the locale value
     * @param {boolean} isRtl - Specifies the is rtl
     * @returns {void}
     */
    initListDialog(locale: base.L10n, isRtl?: boolean): void;
    private wireAndBindEvent;
    private onTextIndentChangedClick;
    /**
     * @private
     * @param {ChangeEventArgs} args - Specifies the change event args.
     * @returns {void}
     */
    private onTextIndentChanged;
    private onStartedValueChangedClick;
    /**
     * @private
     * @param {ChangeEventArgs} args - Specifies the change event args.
     * @returns {void}
     */
    private onStartValueChanged;
    /**
     * @private
     * @param {ChangeEventArgs} args - Specifies the change event args.
     * @returns {void}
     */
    private onListLevelValueChanged;
    private onNumberFormatChangedClick;
    /**
     * @private
     * @param {any} args - Specifies the change event args.
     * @returns {void}
     */
    private onNumberFormatChanged;
    private onAlignedAtValueChangedClick;
    /**
     * @private
     * @param {ChangeEventArgs} args - Specifies the change event args.
     * @returns {void}
     */
    private onAlignedAtValueChanged;
    private updateRestartLevelBox;
    /**
     * @private
     * @param {ChangeEventArgs} args - Specifies the change event args.
     * @returns {void}
     */
    private onFollowCharacterValueChanged;
    /**
     * @private
     * @param {ChangeEventArgs} args - Specifies the change event args.
     * @returns {void}
     */
    private onLevelPatternValueChanged;
    private listPatternConverter;
    private followCharacterConverter;
    /**
     * @private
     * @returns {void}
     */
    private loadListDialog;
    private calculateAlignedAt;
    private updateDialogValues;
    /**
     * @private
     * @returns {void}
     */
    private showFontDialog;
    /**
     * @param {WCharacterFormat} format - Specifies the character format.
     * @private
     * @returns {void}
     */
    updateCharacterFormat(format: WCharacterFormat): void;
    /**
     * @private
     * @returns {void}
     */
    private onApplyList;
    /**
     * @private
     * @returns {void}
     */
    private onCancelButtonClick;
    /**
     * @private
     * @returns {void}
     */
    private closeListDialog;
    private disposeBindingForListUI;
    /**
     * @private
     * @returns {void}
     */
    destroy(): void;
    private removeEvents;
    private removeElements;
}
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/implementation/dialogs/hyperlink-dialog.d.ts
/**
 * The Hyperlink dialog is used to insert or edit hyperlink at selection.
 */
export  class HyperlinkDialog {
    private displayText;
    private navigationUrl;
    private displayTextBox;
    private screenTipTextBox;
    private screenTipText;
    private addressText;
    private urlTextBox;
    private insertButton;
    private bookmarkDropdown;
    private bookmarkCheckbox;
    private bookmarkDiv;
    private target;
    private container;
    private displayText1;
    private screenTipText1;
    private bookmarkText;
    private bookmarkValue;
    private bookmarkCheckDiv;
    private bookmarkCheck;
    private keyUpOnDisplayBoxClickHandler;
    private onKeyUpOnUrlBoxClickHandler;
    private onScreenTipTextBoxClickHandler;
    /**
     * @private
     */
    documentHelper: DocumentHelper;
    private bookmarks;
    private localObj;
    /**
     * @param {DocumentHelper} documentHelper - Specifies the document helper.
     * @private
     */
    constructor(documentHelper: DocumentHelper);
    private getModuleName;
    /**
     * @private
     * @param {base.L10n} localValue - Specifies the locale value
     * @param {boolean} isRtl - Specifies the is rtl
     * @returns {void}
     */
    initHyperlinkDialog(localValue: base.L10n, isRtl?: boolean): void;
    /**
     * @private
     * @returns {void}
     */
    show(): void;
    /**
     * @private
     * @returns {void}
     */
    hide(): void;
    private onKeyUpOnUrlBoxClick;
    /**
     * @private
     * @param {KeyboardEvent} event - Specifies the event args.
     * @returns {void}
     */
    onKeyUpOnUrlBox: (event: KeyboardEvent) => void;
    private onKeyUpOnDisplayBoxClick;
    /**
     * @private
     * @returns {void}
     */
    onKeyUpOnDisplayBox: () => void;
    private onScreenTipTextBoxClick;
    onScreenTipTextBox: () => void;
    private enableOrDisableInsertButton;
    /**
     * @private
     * @returns {void}
     */
    onInsertButtonClick: () => void;
    /**
     * @private
     * @returns {void}
     */
    onCancelButtonClick: () => void;
    /**
     * @private
     * @returns {void}
     */
    loadHyperlinkDialog: () => void;
    /**
     * @private
     * @returns {void}
     */
    closeHyperlinkDialog: () => void;
    /**
     * @private
     * @returns {void}
     */
    onInsertHyperlink(): void;
    /**
     * @private
     * @param {CheckBoxChangeArgs} args - Specifies the event args.
     * @returns {void}
     */
    private onUseBookmarkChange;
    /**
     * @private
     * @returns {void}
     */
    private onBookmarkchange;
    /**
     * @private
     * @returns {void}
     */
    clearValue(): void;
    /**
     * @private
     * @returns {void}
     */
    destroy(): void;
    private removeEvents;
    private removeElements;
}
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/implementation/dialogs/form-field-text-dialog.d.ts
/**
 * Form field text dialog is used to modify the value in text form field.
 */
export  class TextFormFieldDialog {
    private target;
    private owner;
    private defaultTextInput;
    private maxLengthNumber;
    private tooltipTextInput;
    private bookmarkTextInput;
    private fillInEnable;
    private defaultTextLabel;
    private defaultTextDiv;
    private textFormatLabel;
    private typeDropDown;
    private textFormatDropDown;
    private fieldBegin;
    private dialogDiv;
    private firstDiv;
    private typeDiv;
    private typeDropDownList;
    private secondDiv;
    private maxLengthDiv;
    private maxLength;
    private textFromatDiv;
    private textFormatList;
    private fileSettingsLabel;
    private thirdDiv;
    private toolTipTotalDiv;
    private bookmarkTotalDiv;
    private fillInEnableDiv;
    private fillInEnableEle;
    private localObj;
    /**
     * @param {DocumentHelper} owner - Specifies the document helper.
     * @private
     */
    constructor(owner: DocumentEditor);
    private readonly documentHelper;
    private getModuleName;
    /**
     * @private
     * @param {base.L10n} locale - Specifies the locale.
     * @returns {void}
     */
    private initTextDialog;
    /**
     * @private
     * @returns {void}
     */
    show(): void;
    /**
     * @private
     * @param {dropdowns.ChangeEventArgs} args - Specifies the event args.
     * @returns {void}
     */
    changeTypeDropDown(args: dropdowns.ChangeEventArgs): void;
    /**
     * @private
     * @returns {void}
     */
    loadTextDialog(local?: base.L10n): void;
    /**
     * @private
     * @returns {void}
     */
    updateTextFormtas: () => void;
    private updateFormats;
    /**
     * @private
     * @returns {void}
     */
    onCancelButtonClick: () => void;
    /**
     * @private
     * @returns {boolean} returns is valid date format.
     */
    isValidDateFormat(): boolean;
    /**
     * @private
     * @returns {void}
     */
    insertTextField: () => void;
    /**
     * @private
     * @returns {void}
     */
    private closeTextField;
    /**
     * @private
     * @returns {void}
     */
    destroy(): void;
    private removeElements;
}
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/implementation/dialogs/form-field-popup.d.ts
/**
 * @private
 */
export  class FormFieldPopUp {
    private target;
    private textBoxContainer;
    private textBoxInput;
    private numberInput;
    private dateInput;
    private dropDownInput;
    private numbericInput;
    private popupObject;
    private owner;
    private formField;
    private textBoxInstance;
    private numericTextBoxInstance;
    private datePickerInstance;
    private ddlInstance;
    private dataPickerOkButton;
    private popupElement;
    private textBoxDiv;
    private textBoxButtonDiv;
    private textBoxOkButton;
    private textBoxCancelButton;
    private numericDiv;
    private textBoxButtonNumericDiv;
    private textBoxOkButtonNumeric;
    private textBoxCancelButtonNumeric;
    private dateDiv;
    private textBoxButtonDateDiv;
    private textBoxOkButtonDate;
    private textBoxCancelButtonDate;
    private dropDownDiv;
    private textBoxButtonDropDownDiv;
    private textBoxOkButtonDropDown;
    private textBoxCancelButtonDropDown;
    private applyTextFormFieldValueClickHandler;
    private applyDropDownFormFieldValueClickHandler;
    private closeButtonClickHandler;
    private applyDateFormFieldValueClickHandler;
    private applyNumberFormFieldValueClickHandler;
    /**
     * @param {DocumentEditor} owner - Specifies the document editor.
     * @private
     */
    constructor(owner: DocumentEditor);
    private initPopup;
    private initTextBoxInput;
    private initNumericTextBox;
    private initDatePicker;
    private initDropDownList;
    private onApplyTextFormFieldValueClick;
    /**
     * @returns {void}
     */
    private applyTextFormFieldValue;
    private onApplyNumberFormFieldValueClick;
    /**
     * @returns {void}
     */
    private applyNumberFormFieldValue;
    private onApplyDateFormFieldValueClick;
    /**
     * @returns {void}
     */
    private applyDateFormFieldValue;
    private onApplyDropDownFormFieldValueClick;
    /**
     * @returns {void}
     */
    private applyDropDownFormFieldValue;
    /**
     * @param {ChangedEventArgs} args - Specifies the event args.
     * @returns {void}
     */
    private enableDisableDatePickerOkButton;
    /**
     * @private
     * @param {FieldElementBox} formField - Specifies the field element.
     * @returns {void}
     */
    showPopUp(formField: FieldElementBox): void;
    private onCloseButtonClick;
    /**
     * @private
     * @returns {void}
     */
    private closeButton;
    /**
     * @private
     * @returns {void}
     */
    hidePopup: () => void;
    /**
     * @private
     * @returns {void}
     */
    destroy(): void;
    private removeEvents;
    private removeElements;
}
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/implementation/dialogs/form-field-drop-down-dialog.d.ts
/**
 * Form field drop-down dialog is used to modify the value in drop-down form field.
 */
export  class DropDownFormFieldDialog {
    private target;
    private owner;
    private drpDownItemsInput;
    private listviewInstance;
    private addButton;
    private editButton;
    private removeButton;
    private tooltipInput;
    private bookmarkInput;
    private dropDownEnable;
    private moveUpButton;
    private moveDownButton;
    private currentSelectedItem;
    private dropDownInstance;
    private fieldBegin;
    private dropDownItems;
    private dialogDiv;
    private firstDiv;
    private secondDiv;
    private itemsDrpItemsLabel;
    private listviewDiv;
    private buttonDiv;
    private addButtonDiv;
    private addButtonEle;
    private editButtonDiv;
    private editButtonEle;
    private removeButtonDiv;
    private removeButtonEle;
    private moveBtnDiv;
    private moveUpButtonDiv;
    private moveUpButtonEle;
    private moveDownButtonDiv;
    private moveDownButtonEle;
    private fileSettingsLabel;
    private thirdDiv;
    private toolTipDiv;
    private bookmarkDiv;
    private dropDownEnableDiv;
    private dropDownEnableEle;
    private moveDownItemClickHandler;
    private keyUpOnTextBoxClickHandler;
    private addItemtoListClickHandler;
    private moveUpItemClickHandler;
    private removeItemFromListClickHandler;
    constructor(owner: DocumentEditor);
    private readonly documentHelper;
    private getModuleName;
    /**
     * @private
     * @param {L10n} localValue - Specifies the locale value
     * @param {boolean} isRtl - Specifies the is rtl
     * @returns {void}
     */
    private initTextDialog;
    /**
     * @private
     * @returns {void}
     */
    show(): void;
    /**
     * @private
     * @returns {void}
     */
    loadDropDownDialog(): void;
    private updateList;
    private onAddItemtoListClick;
    /**
     * @private
     * @returns {void}
     */
    addItemtoList: () => void;
    private onRemoveItemFromListClick;
    /**
     * @private
     * @returns {void}
     */
    removeItemFromList: () => void;
    /**
     * @private
     * @returns {void}
     */
    private selectHandler;
    private onMoveUpItemClick;
    /**
     * @private
     * @returns {void}
     */
    moveUpItem: () => void;
    private onMouseDownItemClick;
    /**
     * @private
     * @returns {void}
     */
    moveDownItem: () => void;
    private getSelectedIndex;
    private moveUp;
    private moveDown;
    private onKeyUpOnTextBoxClick;
    /**
     * @private
     * @returns {void}
     */
    onKeyUpOnTextBox: () => void;
    private enableOrDisableButton;
    /**
     * @private
     * @returns {void}
     */
    onCancelButtonClick: () => void;
    /**
     * @private
     * @returns {void}
     */
    insertDropDownField: () => void;
    /**
     * @private
     * @returns {void}
     */
    private closeDropDownField;
    /**
     * @private
     * @returns {void}
     */
    destroy(): void;
    private removeEvents;
    private removeElements;
}
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/implementation/dialogs/form-field-check-box-dialog.d.ts
/**
 * Form field checkbox dialog is used to modify the value in checkbox form field.
 */
export  class CheckBoxFormFieldDialog {
    private target;
    private owner;
    private autoButton;
    private exactButton;
    private notCheckedButton;
    private checkedButton;
    private bookmarkInputText;
    private tooltipInputText;
    private checBoxEnableElement;
    private exactlyNumber;
    private exactNumberDiv;
    private fieldBegin;
    private dialogDiv;
    private headingLabel;
    private sizeParentDiv;
    private autoDiv;
    private exactDiv;
    private autoEle;
    private exactEle;
    private exactNumber;
    private defaultValueLabel;
    private defaultcheckDiv;
    private notcheckDiv;
    private checkDiv;
    private notcheckEle;
    private checkEle;
    private checkBoxEnableDiv;
    private checBoxEnableEle;
    private fieldSettingsLabel;
    private settingsTotalDiv;
    private totalToolTipDiv;
    private totalBookmarkDiv;
    /**
     * @param {DocumentHelper} owner - Specifies the document helper.
     * @private
     */
    constructor(owner: DocumentEditor);
    private readonly documentHelper;
    private getModuleName;
    /**
     * @private
     * @param {L10n} locale - Specifies the locale.
     * @param {boolean} isRtl - Specifies is rtl.
     * @returns {void}
     */
    private initCheckBoxDialog;
    /**
     * @private
     * @returns {void}
     */
    show(): void;
    /**
     * @private
     * @returns {void}
     */
    loadCheckBoxDialog(): void;
    /**
     * @private
     * @param {buttons.ChangeArgs} event - Specifies the event args.
     * @returns {void}
     */
    changeBidirectional: (event: buttons.ChangeArgs) => void;
    /**
     * @private
     * @param {buttons.ChangeArgs} event - Specifies the event args.
     * @returns {void}
     */
    changeBidirect: (event: buttons.ChangeArgs) => void;
    /**
     * @private
     * @returns {void}
     */
    onCancelButtonClick: () => void;
    /**
     * @private
     * @returns {void}
     */
    insertCheckBoxField: () => void;
    /**
     * @private
     * @returns {void}
     */
    private closeCheckBoxField;
    /**
     * @private
     * @returns {void}
     */
    destroy(): void;
    private removeElements;
}
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/implementation/dialogs/font-dialog.d.ts
/**
 * The Font dialog is used to modify formatting of selected text.
 */
export  class FontDialog {
    private fontStyleInternal;
    documentHelper: DocumentHelper;
    private target;
    private fontNameList;
    private fontStyleText;
    private fontSizeText;
    private colorPicker;
    private fontColorDiv;
    private underlineDrop;
    private strikethroughBox;
    private doublestrikethrough;
    private superscript;
    private subscript;
    private allcaps;
    private bold;
    private italic;
    private underline;
    private strikethrough;
    private baselineAlignment;
    private fontSize;
    private fontFamily;
    private fontColor;
    private allCaps;
    private isListDialog;
    private effectLabel;
    private strikeThroughElement;
    private superScriptElement;
    private subScriptElement;
    private doubleStrikeThroughElement;
    private allCapsElement;
    private fontEffectSubDiv1;
    private fontDiv;
    private colorDiv;
    private fontColorLabel;
    private fontColorElement;
    private fontEffectsDiv;
    private effectsProperties;
    private fontEffectSubDiv2;
    private checkBoxDiv;
    private fontEffectSubDiv3;
    private sizeSubDiv1;
    private sizeSubDiv2;
    private getFontSize;
    private getSizeDiv;
    private underlineElement;
    private fontNameValues;
    private fontSubDiv2;
    private fontStyleValues;
    private fontSubDiv1;
    /**
     * @private
     */
    characterFormat: WCharacterFormat;
    /**
     * @private
     * @returns {string} returns font style
     */
    /**
    * @private
    * @param {string} value Specifies font style
    */
    fontStyle: string;
    /**
     * @param {DocumentHelper} documentHelper - Specifies the document helper.
     * @private
     */
    constructor(documentHelper: DocumentHelper);
    /**
     * @private
     * @returns {string} Returns module name
     */
    getModuleName(): string;
    private createInputElement;
    /**
     * @private
     * @param {base.L10n} locale - Specifies the locale.
     * @param {boolean} isRtl - Specifies is rtl.
     * @returns {void}
     */
    initFontDialog(locale: base.L10n, isRtl?: boolean): void;
    private getFontSizeDiv;
    private getFontDiv;
    /**
     * @param characterFormat
     * @private
     */
    showFontDialog(characterFormat?: WCharacterFormat, isListDialog?: boolean): void;
    /**
     * @private
     * @returns {void}
     */
    loadFontDialog: () => void;
    /**
     * @private
     * @returns {void}
     */
    closeFontDialog: () => void;
    /**
     * @private
     * @returns {void}
     */
    onCancelButtonClick: () => void;
    /**
     * @private
     * @returns {void}
     */
    onInsertFontFormat: () => void;
    /**
     * @private
     * @param {Selection} selection Specifies the selection
     * @param {WCharacterFormat} format Specifies the character format
     * @returns {void}
     */
    onCharacterFormat(selection: Selection, format: WCharacterFormat): void;
    private enableCheckBoxProperty;
    /**
     * @private
     * @returns {void}
     */
    private fontSizeUpdate;
    /**
     * @private
     * @returns {void}
     */
    private fontStyleUpdate;
    /**
     * @private
     * @returns {void}
     */
    private fontFamilyUpdate;
    /**
     * @private
     * @returns {void}
     */
    private underlineUpdate;
    /**
     * @private
     * @returns {void}
     */
    private fontColorUpdate;
    /**
     * @private
     * @returns {void}
     */
    private singleStrikeUpdate;
    /**
     * @private
     * @returns {void}
     */
    private doubleStrikeUpdate;
    /**
     * @private
     * @returns {void}
     */
    private superscriptUpdate;
    /**
     * @private
     * @returns {void}
     */
    private subscriptUpdate;
    /**
     * @private
     * @returns {void}
     */
    private allcapsUpdate;
    /**
     * @private
     * @returns {void}
     */
    unWireEventsAndBindings(): void;
    /**
     * @private
     * @returns {void}
     */
    destroy(): void;
    private removeElements;
}
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/implementation/dialogs/datepicker-dialog.d.ts
/**
 * The DateContent dialog is used to display calendar
 */
export  class DatePickerDialog {
    private calendar;
    private target;
    private parentDiv;
    /**
     * @private
     */
    documentHelper: DocumentHelper;
    private localeValue;
    /**
     * @param {DocumentHelper} documentHelper - Specifies the document helper
     * @private
     */
    constructor(documentHelper: DocumentHelper);
    private getModuleName;
    /**
     * @private
     * @param {base.L10n} localValue - Specified the locale value.
     * @returns {void}
     */
    initDateContentDialog(localValue: base.L10n): void;
    private valueChange;
    /**
     * @private
     * @returns {void}
     */
    show(): void;
    /**
     * @private
     * @returns {void}
     */
    onCancelButtonClick: () => void;
    /**
     * @private
     * @returns {void}
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/implementation/dialogs/content-control-properties-dialog.d.ts
export  class ContentControlPropertiesDialog {
    /**
     * @private
     */
    documentHelper: DocumentHelper;
    private localeValue;
    private target;
    private titleText;
    private tagText;
    private fontColorDiv;
    private removeCheckBox;
    private contentEditedCheckBox;
    private contentDeletedCheckBox;
    private multilineCheckBox;
    private colorPicker;
    private fontColor;
    private dropDownPropertiesDiv;
    private plainTextPropertiesDiv;
    private currentContentControl;
    private listviewInstance;
    private textBoxInput;
    private valueBoxInput;
    private addButton;
    private deleteButton;
    private convertedItems;
    private currentSelectedItem;
    private container;
    private generalDiv;
    private genLabel;
    private displayText;
    private colorDiv;
    private fontColorLabel;
    private fontColorElement;
    private style;
    private remove;
    private removeContent;
    private lockedDiv;
    private lockedLabel;
    private contentDelete;
    private contentDeleted;
    private contentEdit;
    private contentEdited;
    private plainTextLabel;
    private multiline;
    private lockedcontentLabel;
    private commonDiv;
    private searchDiv;
    private textBoxDiv;
    private valueBoxDiv;
    private listviewDiv;
    private buttonDiv;
    private addbuttonDiv;
    private addButtonElement;
    private deleteButtonDiv;
    private deleteButtonElement;
    private keyUpOnTextBoxClickHandler;
    private setButtonClickHandler;
    private clearButtonClickHandler;
    /**
     * @param {DocumentHelper} documentHelper - Specifies the document helper.
     * @private
     */
    constructor(documentHelper: DocumentHelper);
    /**
     * @private
     */
    characterFormat: WCharacterFormat;
    private getModuleName;
    private createInputElement;
    initContentControlPropertiesDialog(localeValue: base.L10n, enableRtl: boolean): void;
    /**
     * @private
     * @returns {void}
     */
    show(): void;
    private onClearButtonClick;
    private clearButtonClick;
    private onSetButtonClick;
    private setButtonClick;
    private onKeyUpOnTextBoxClicked;
    /**
     * @private
     * @returns {void}
     */
    onKeyUpOnTextBox: () => void;
    private enableOrDisableButton;
    private loadPropertiesdialog;
    private applyProperties;
    private closePropertiesDialog;
    private fontColorUpdate;
    /**
     * @private
     * @param args args value.
     * @returns {void}
     */
    private selectHandler;
    private unWireEventsAndBindings;
    /**
     * @private
     * @returns {void}
     */
    destroy(): void;
    private removeEvents;
    private removeElements;
}
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/implementation/dialogs/content-control-popup.d.ts
/**
 * @private
 */
export  class ContentControlPopUp {
    private target;
    private dropDownInput;
    private popupObject;
    private owner;
    private contenControl;
    private ddlInstance;
    private dataPickerOkButton;
    private popupElement;
    private dropDownDiv;
    private textBoxButtonDiv;
    private textBoxOkButton;
    private textBoxCancelButton;
    private applyDropDownFormFieldValueHandler;
    private closeButtonClickedHandler;
    /**
     * @param {DocumentEditor} owner - Specifies the document editor.
     * @private
     */
    constructor(owner: DocumentEditor);
    private initPopup;
    private initDropDownList;
    private onapplyDropDownFormFieldValue;
    /**
     * @returns {void}
     */
    private applyDropDownFormFieldValue;
    /**
     * @param {ChangedEventArgs} args - Specifies the event args.
     * @returns {void}
     */
    private enableDisableDatePickerOkButton;
    /**
     * @private
     * @param {FieldElementBox} formField - Specifies the field element.
     * @returns {void}
     */
    showPopUp(formField: ContentControl): void;
    private onCloseButtonClicked;
    /**
     * @private
     * @returns {void}
     */
    private closeButton;
    /**
     * @private
     * @returns {void}
     */
    hidePopup: () => void;
    /**
     * @private
     * @returns {void}
     */
    destroy(): void;
    private removeEvents;
    private removeElements;
}
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/implementation/dialogs/columns-dialog.d.ts
export  class ColumnsDialog {
    private oneDiv;
    private twoDiv;
    private threeDiv;
    private leftDiv;
    private rightDiv;
    private target;
    private columnsCountBox;
    private columnValueTexBox;
    private lineCheckbox;
    private equalCheckbox;
    private columnCountBox1;
    private widthCountBox1;
    private spacingCountBox1;
    columnElementDiv: HTMLDivElement;
    private widthcontainerDiv1;
    private columnTable;
    private widthContainer;
    private columns;
    numberOfColumns: number;
    private section;
    private pageWidth;
    private displayText;
    private PresetsContainer;
    private oneDivContainer;
    private oneDivLabel;
    private twoDivContainer;
    private twoDivLabel;
    private threeDivContainer;
    private threeDivLabel;
    private leftDivContainer;
    private leftDivLabel;
    private rightDivContainer;
    private rightDivLabel;
    private nuberOfColumnsContainer;
    private subcontainer;
    private subcontainer1;
    private lineCheckDiv;
    private lineCheck;
    private widthAndSpacingContainer;
    private widthAndSpacingContainerDiv;
    private widthAndSpacingText;
    private tableElement;
    private columnDiv;
    private columnCount;
    private equalCheckDiv;
    private equalCheck;
    private handleSettingCheckBoxActionHandler;
    /**
     * @private
     */
    documentHelper: DocumentHelper;
    /**
     * @param {DocumentHelper} documentHelper - Specifies the document helper
     * @private
     */
    constructor(documentHelper: DocumentHelper);
    private getModuleName;
    /**
     * @private
     * @param {base.L10n} localeValue - Specifies the locale.
     * @param {boolean} isRtl - Specifies is rtl.
     * @returns {void}
     */
    initColumnsDialog(localeValue: base.L10n, isRtl?: boolean): void;
    checkBox: (args: inputs.ChangedEventArgs) => void;
    createTextBox: (args: inputs.ChangeEventArgs) => void;
    private createColumn;
    private widthChange;
    private spaceChange;
    checkAndApplyColumnFormatWidth: (columnWidth: number) => void;
    checkAndApplyColumnFormatSpace: (columnSpace: number) => void;
    canUpdateColumnWidthAndSpacing: (numberOfColumns: number, colIndex: number, colWidth: number, colSpace: number) => void;
    /**
     * @private
     * @returns {void}
     */
    closeDialog: () => void;
    /**
     * @private
     * @returns {void}
     */
    private closeColumnsDialog;
    /**
     * @private
     * @returns {void}
     */
    unWireEventsAndBindings: () => void;
    /**
     * @private
     * @returns {void}
     */
    openColumnsDialog: () => void;
    /**
     * @private
     * @returns {void}
     */
    show(): void;
    private onhandleSettingCheckBoxActionClicked;
    /**
     * @private
     * @param {Event} event - Specifies the event args.
     * @returns {void}
     */
    private handleSettingCheckBoxAction;
    private setSettingPreviewDivElement;
    /**
     * @private
     * @returns {void}
     */
    applyColumnDialog: () => void;
    /**
     * @private
     * @returns {void}
     */
    destroy(): void;
    private removeEvents;
    private removeElements;
}
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/implementation/dialogs/cell-options-dialog.d.ts
/**
 * The Cell options dialog is used to modify margins of selected cells.
 */
export  class CellOptionsDialog {
    /**
     * @private
     */
    documentHelper: DocumentHelper;
    owner: LayoutViewer;
    /**
     * @private
     */
    dialog: popups.Dialog;
    /**
     * @private
     */
    target: HTMLElement;
    private sameAsTableCheckBox;
    /**
     * @private
     */
    sameAsTable: boolean;
    /**
     * @private
     */
    topMarginBox: inputs.NumericTextBox;
    /**
     * @private
     */
    leftMarginBox: inputs.NumericTextBox;
    /**
     * @private
     */
    bottomMarginBox: inputs.NumericTextBox;
    /**
     * @private
     */
    rightMarginBox: inputs.NumericTextBox;
    /**
     * @private
     */
    cellFormatIn: WCellFormat;
    private innerDiv;
    private innerDivLabel;
    private table;
    private tr;
    private td;
    private divBtn;
    private table1;
    private changeSameAsTableClickHandler;
    /**
     * @param {DocumentHelper} documentHelper - Specifies the document helper.
     * @private
     */
    constructor(documentHelper: DocumentHelper);
    /**
     * @private
     * @returns {WCellFormat} - Returns cell format.
     */
    readonly cellFormat: WCellFormat;
    private getModuleName;
    private onChangeSameAsTable;
    /**
     * @private
     * @param {base.L10n} localValue - Specifies the locale.
     * @param {boolean} isRtl - Specifies is rtl.
     * @returns {void}
     */
    initCellMarginsDialog(localValue: base.L10n, isRtl?: boolean): void;
    /**
     * @private
     * @returns {void}
     */
    show(): void;
    /**
     * @private
     * @returns {void}
     */
    removeEvents: () => void;
    /**
     * @private
     * @returns {void}
     */
    changeSameAsTable: () => void;
    /**
     * @private
     * @returns {void}
     */
    loadCellMarginsDialog(): void;
    private loadCellProperties;
    /**
     * @private
     * @returns {void}
     */
    applyTableCellProperties: () => void;
    /**
     * @private
     * @param {WCellFormat} cellFormat Specifies cell format.
     * @returns {void}
     */
    applySubCellOptions(cellFormat: WCellFormat): void;
    applyCellMarginValue(row: TableRowWidget, start: TextPosition, end: TextPosition, cellFormat: WCellFormat): void;
    private applyCellMarginsInternal;
    private applyCellMarginsForCells;
    private iterateCells;
    private applySubCellMargins;
    private applyTableOptions;
    /**
     * @private
     * @returns {void}
     */
    closeCellMarginsDialog: () => void;
    /**
     * @private
     * @returns {void}
     */
    destroy(): void;
    private removeElements;
    private unWireEvents;
    /**
     * @private
     * @param {CellOptionsDialog | TableOptionsDialog} dialog - Specifies cell options dialog.
     * @param {HTMLDivElement} div - Specifies the html element.
     * @param {base.L10n} locale - Specifies the locale
     * @param {boolean} cellOptions - Specifies is cell options.
     * @returns {void}
     */
    static getCellMarginDialogElements(dialog: CellOptionsDialog | TableOptionsDialog, div: HTMLDivElement, locale: base.L10n, cellOptions: boolean): void;
}
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/implementation/dialogs/bullets-and-numbering-dialog.d.ts
/**
 * The Bullets and Numbering dialog is used to apply list format for a paragraph style.
 */
export  class BulletsAndNumberingDialog {
    documentHelper: DocumentHelper;
    private target;
    private isBullet;
    private symbol;
    private fontFamily;
    private numberFormat;
    private listLevelPattern;
    private listFormat;
    private abstractList;
    private tabObj;
    private tabTarget;
    private ulTag;
    private liTag;
    private liInnerDiv;
    private liTag1;
    private liInnerDiv1;
    private liTag2;
    private liInnerDiv2;
    private liNextDiv;
    private ulTag1;
    private numberListClickHandler;
    private bulletListClickHandler;
    /**
     * @private
     */
    numberListDiv: HTMLElement;
    /**
     * @private
     */
    bulletListDiv: HTMLElement;
    /**
     * @param {DocumentHelper} documentHelper - Specifies the document helper.
     * @private
     */
    constructor(documentHelper: DocumentHelper);
    /**
     * @private
     * @returns {string} Returns module name
     */
    getModuleName(): string;
    /**
     * @private
     * @param {base.L10n} locale - Specifies the locale.
     * @returns {void}
     */
    initNumberingBulletDialog(locale: base.L10n): void;
    private onTabSelect;
    private createNumberList;
    private createNumberListTag;
    private createNumberNoneListTag;
    private createBulletListTag;
    private createBulletList;
    /**
     * @private
     * @param {WListFormat} listFormat - Specifies the list format.
     * @param {WAbstractList} abstractList - Specifies the abstract list.
     * @returns {void}
     */
    showNumberBulletDialog(listFormat: WListFormat, abstractList: WAbstractList): void;
    /**
     * @param args
     * @private
     */
    numberListClick: (args: any) => void;
    private onNumberListClick;
    private setActiveElement;
    /**
     * @param args
     * @private
     */
    bulletListClick: (args: any) => void;
    private onBulletListClick;
    /**
     * @private
     * @returns {void}
     */
    loadNumberingBulletDialog: () => void;
    /**
     * @private
     * @returns {void}
     */
    closeNumberingBulletDialog: () => void;
    /**
     * @private
     * @returns {void}
     */
    onCancelButtonClick: () => void;
    /**
     * @private
     * @returns {void}
     */
    onOkButtonClick: () => void;
    /**
     * @private
     * @returns {void}
     */
    unWireEventsAndBindings(): void;
    /**
     * @private
     * @returns {void}
     */
    destroy(): void;
    private removeEvents;
    private removeElements;
}
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/implementation/dialogs/borders-and-shading-dialog.d.ts
/**
 * The Borders and Shading dialog is used to modify borders and shading options for selected table or cells.
 */
export  class BordersAndShadingDialog {
    documentHelper: DocumentHelper;
    private dialog;
    private target;
    private cellFormat;
    private tableFormat;
    private paragraphFormat;
    private borderStyle;
    private borderColorPicker;
    private noneDiv;
    private boxDiv;
    private allDiv;
    private customDiv;
    private noneDivTransparent;
    private boxDivTransparent;
    private allDivTransparent;
    private customDivTransparent;
    private previewDiv;
    private previewRightDiagonalDiv;
    private previewLeftDiagonalDiv;
    private previewVerticalDiv;
    private previewHorizontalDiv;
    private previewDivTopTopContainer;
    private previewDivTopTop;
    private previewDivTopCenterContainer;
    private previewDivTopCenter;
    private previewDivTopBottomContainer;
    private previewDivTopBottom;
    private previewDivLeftDiagonalContainer;
    private previewDivLeftDiagonal;
    private previewDivBottomLeftContainer;
    private previewDivBottomLeft;
    private previewDivBottomcenterContainer;
    private previewDivBottomcenter;
    private previewDivBottomRightContainer;
    private previewDivBottomRight;
    private previewDivDiagonalRightContainer;
    private previewDivDiagonalRight;
    private previewDivTopTopTransParent;
    private previewDivTopCenterTransParent;
    private previewDivTopBottomTransParent;
    private previewDivLeftDiagonalTransParent;
    private previewDivBottomLeftTransparent;
    private previewDivBottomcenterTransparent;
    private previewDivBottomRightTransparent;
    private previewDivDiagonalRightTransparent;
    private shadingContiner;
    private shadingColorPicker;
    private ulelementShading;
    private borderWidth;
    private isShadingChanged;
    private displayText;
    private settingAndPreviewContainer;
    private settingsContiner;
    private styleContainer;
    private previewContiner;
    private previewSubContainer1;
    private previewSubContainer2;
    private styleSubContainer;
    private dropdownListDiv;
    private dropDownList;
    private widthcontainerDiv;
    private widthNumericDiv;
    private widthNumeric;
    private colorDiv;
    private colorText;
    private borderColorPickerElement;
    private settingText;
    private settingsSubContiner;
    private noneDivContainer;
    private noneDivLabel;
    private boxDivContainer;
    private boxDivLabel;
    private allDivContainer;
    private allDivLabel;
    private customDivContainer;
    private customDivLabel;
    private previewDivHorizontalContainer;
    private previewDivVerticalContainer;
    private previewText;
    private shadingText;
    private shadings;
    private colorPickerDiv;
    private label;
    private shadingColorPickerElement;
    private shdApply;
    private handleSettingCheckBoxActionHandler;
    private handlePreviewCheckBoxActionHandler;
    /**
     * @param {DocumentHelper} documentHelper - Specifies the document helper.
     * @private
     */
    constructor(documentHelper: DocumentHelper);
    private getModuleName;
    /**
     * @private
     * @param {base.L10n} localeValue - Specifies the locale.
     * @param {boolean} isRtl - Specifies is rtl.
     * @returns {void}
     */
    initBordersAndShadingsDialog(localeValue: base.L10n, isRtl?: boolean): void;
    /**
     * @private
     * @returns {void}
     */
    private applyBordersShadingsProperties;
    private updateBorder;
    private applyFormat;
    private getBorder;
    private checkClassName;
    /**
     * @private
     * @returns {void}
     */
    closeDialog: () => void;
    /**
     * @private
     * @returns {void}
     */
    private closeBordersShadingsDialog;
    /**
     * @private
     * @returns {void}
     */
    show(): void;
    private onhandleSettingCheckBoxActionClicked;
    private onhandlePreviewCheckBoxActionClicked;
    /**
     * @private
     * @param {Event} event - Specifies the event args.
     * @returns {void}
     */
    private handleSettingCheckBoxAction;
    private updateClassForSettingDivElements;
    private setSettingPreviewDivElement;
    private isShowHidePreviewTableElements;
    /**
     * @private
     * @param {Event} event - Specifies the event args.
     * @returns {void}
     */
    private handlePreviewCheckBoxAction;
    private handlePreviewCheckBoxShowHide;
    private showHidePreviewDivElements;
    private setPropertyPreviewDivElement;
    /**
     * @private
     * @returns {void}
     */
    private applyTableCellPreviewBoxes;
    /**
     * @private
     * @param {ColorPickerEventArgs} args - Specifies the event args.
     * @returns {void}
     */
    private applyPreviewTableBackgroundColor;
    /**
     * @private
     * @param {ColorPickerEventArgs} args - Specifies the event args.
     * @returns {void}
     */
    private applyPreviewTableBorderColor;
    private loadBordersShadingsPropertiesDialog;
    private getSelectionBorderFormat;
    private copyToBorder;
    private cloneBorders;
    private getLineStyle;
    /**
     * @private
     * @returns {void}
     */
    destroy(): void;
    private removeEvents;
    private removeElements;
}
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/implementation/dialogs/bookmark-dialog.d.ts
/**
 * The Bookmark dialog is used to add, navigate or delete bookmarks.
 */
export  class BookmarkDialog {
    /**
     * @private
     */
    documentHelper: DocumentHelper;
    private target;
    private listviewInstance;
    private textBoxInput;
    private addButton;
    private deleteButton;
    private gotoButton;
    private dlgFields;
    private commonDiv;
    private searchDiv;
    private textBoxDiv;
    private listviewDiv;
    private buttonDiv;
    private addbuttonDiv;
    private deleteButtonDiv;
    private addButtonElement;
    private deleteButtonElement;
    private gotoButtonDiv;
    private gotoButtonElement;
    private listViewInstanceClickHandler;
    private onKeyUpOnTextBoxClickHandler;
    private addBookmarkClickHandler;
    private deleteBookmarkClickHandler;
    private gotoBookmarkClickHandler;
    /**
     * @param {DocumentHelper} documentHelper - Specifies the document helper.
     * @private
     */
    constructor(documentHelper: DocumentHelper);
    private getModuleName;
    /**
     * @private
     * @param {base.L10n} localValue - Specifies the locale.
     * @param {string[]} bookmarks - Specifies bookmark collection.
     * @param {boolean} isRtl - Specifies is rtl.
     * @returns {void}
     */
    initBookmarkDialog(localValue: base.L10n, bookmarks: string[], isRtl?: boolean): void;
    private onListInstanceClicked;
    private onKeyUpOnTextBoxClicked;
    private onAddBookmarkClicked;
    private onDeleteBookmarkClicked;
    private onGotoBookmarkClicked;
    /**
     * @private
     * @returns {void}
     */
    show(): void;
    /**
     * @private
     * @returns {void}
     */
    onKeyUpOnTextBox: () => void;
    private enableOrDisableButton;
    /**
     * @private
     * @returns {void}
     */
    private addBookmark;
    private selectHandler;
    private focusTextBox;
    private removeObjects;
    /**
     * @private
     * @returns {void}
     */
    private gotoBookmark;
    /**
     * @private
     * @returns {void}
     */
    private deleteBookmark;
    /**
     * @private
     * @returns {void}
     */
    destroy(): void;
    private removeElements;
    private removeEvents;
}
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/implementation/comments/comment.d.ts
/**
 * @private
 */
export  class CommentReviewPane {
    owner: DocumentEditor;
    reviewPane: HTMLElement;
    toolbarElement: HTMLElement;
    toolbar: navigations.Toolbar;
    commentPane: CommentPane;
    headerContainer: HTMLElement;
    previousSelectedCommentInt: CommentElementBox;
    isNewComment: boolean;
    private confirmDialog;
    reviewTab: navigations.Tab;
    parentPaneElement: HTMLElement;
    isUserClosed: boolean;
    element: HTMLElement;
    isCommentTabVisible: boolean;
    /**
     * @private
     */
    postReply: boolean;
    /**
     * @private
     */
    selectedTab: number;
    previousSelectedComment: CommentElementBox;
    constructor(owner: DocumentEditor);
    selectReviewTab(tab: ReviewTabType): void;
    showHidePane(show: boolean, tab: ReviewTabType): void;
    reviewPaneHelper(args: any): void;
    updateTabHeaderWidth(): void;
    initReviewPane(localValue: base.L10n): void;
    private addReviewTab;
    /**
     * @param {SelectEventArgs} arg - Specify the selection event args.
     * @returns {void}
     */
    private onTabSelection;
    initPaneHeader(localValue: base.L10n): HTMLElement;
    closePane(): void;
    private discardButtonClick;
    private closeDialogUtils;
    initToolbar(localValue: base.L10n): HTMLElement;
    insertComment(): void;
    addComment(comment: CommentElementBox, isNewComment: boolean, selectComment: boolean): void;
    deleteComment(comment: CommentElementBox): void;
    selectComment(comment: CommentElementBox): void;
    resolveComment(comment: CommentElementBox): void;
    reopenComment(comment: CommentElementBox): void;
    addReply(comment: CommentElementBox, newComment: boolean, selectComment: boolean): void;
    navigatePreviousComment(): void;
    navigateNextComment(): void;
    enableDisableItems(): void;
    enableDisableToolbarItem(): void;
    initCommentPane(): void;
    layoutComments(commentCollection: CommentElementBox[]): void;
    private isUnreferredComment;
    clear(): void;
    discardComment(comment: CommentElementBox): void;
    destroy(): void;
}
/**
 * @private
 */
export  class CommentPane {
    private owner;
    parentPane: CommentReviewPane;
    noCommentIndicator: HTMLElement;
    parent: HTMLElement;
    comments: Dictionary<CommentElementBox, CommentView>;
    commentPane: HTMLElement;
    private isEditModeInternal;
    currentEditingComment: CommentView;
    isInsertingReply: boolean;
    isEditMode: boolean;
    constructor(owner: DocumentEditor, pane: CommentReviewPane);
    initCommentPane(): void;
    addComment(comment: CommentElementBox): void;
    updateHeight(): void;
    insertReply(replyComment: CommentElementBox): void;
    insertComment(comment: CommentElementBox): void;
    removeSelectionMark(className: string): void;
    selectComment(comment: CommentElementBox): void;
    getCommentStart(comment: CommentElementBox): CommentCharacterElementBox;
    private getFirstCommentInLine;
    deleteComment(comment: CommentElementBox): void;
    resolveComment(comment: CommentElementBox): void;
    reopenComment(comment: CommentElementBox): void;
    updateCommentStatus(): void;
    clear(): void;
    removeChildElements(): void;
    destroy(): void;
}
/**
 * @private
 */
export  class CommentView {
    private owner;
    comment: CommentElementBox;
    commentPane: CommentPane;
    parentElement: HTMLElement;
    menuBar: HTMLElement;
    resolveDiv: HTMLElement;
    commentEditorIcon: CommentCharacterElementBox;
    resolveText: HTMLElement;
    commentView: HTMLElement;
    commentText: HTMLElement;
    commentDate: HTMLElement;
    isReply: boolean;
    textAreaContainer: HTMLElement;
    textArea: HTMLElement;
    postButton: buttons.Button;
    cancelButton: buttons.Button;
    dropDownButton: splitbuttons.DropDownButton;
    drawerElement: HTMLElement;
    drawerAction: HTMLElement;
    drawerSpanElement: HTMLSpanElement;
    isDrawerExpand: boolean;
    replyViewContainer: HTMLElement;
    replyViewTextBox: HTMLElement;
    replyPostButton: buttons.Button;
    replyCancelButton: buttons.Button;
    replyFooter: HTMLElement;
    reopenButton: buttons.Button;
    deleteButton: buttons.Button;
    resolveView: HTMLElement;
    itemData: dropdowns.FieldSettingsModel[];
    private editMention;
    private replyMention;
    constructor(owner: DocumentEditor, commentPane: CommentPane, comment: CommentElementBox);
    layoutComment(isReply: boolean): HTMLElement;
    private initCommentHeader;
    private selectComment;
    private initCommentView;
    private initEditView;
    private updatePastedText;
    private convertToHtml;
    private onSelect;
    private initDateView;
    private initDrawer;
    private initReplyView;
    private initResolveOption;
    private reopenButtonClick;
    private deleteComment;
    private updateReplyTextAreaHeight;
    private preventKeyboardShortcuts;
    private enableDisableReplyPostButton;
    private enableReplyView;
    private postReply;
    cancelReply(): void;
    private updateTextAreaHeight;
    showMenuItems(): void;
    hideMenuItemOnMouseLeave(): void;
    hideMenuItems(): void;
    enableDisablePostButton(): void;
    editComment(): void;
    resolveComment(): void;
    reopenComment(): void;
    postComment(): void;
    showCommentView(): void;
    cancelEditing(): void;
    showOrHideDrawer(): void;
    hideDrawer(): void;
    showDrawer(): void;
    private userOptionSelectEvent;
    unwireEvent(): void;
    destroy(): void;
}
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/implementation/collaboration/collaboration.d.ts
/**
 * Module to handle collaborative editing.
 */
export  class CollaborativeEditingHandler {
    private version;
    private documentEditor;
    private roomName;
    private userMap;
    private connectionId;
    private acknowledgmentPending;
    private pendingOps;
    private commentsStart;
    private commentsEnd;
    private deletedComments;
    private serviceUrl;
    private isSyncServerChanges;
    private logEventEnabled;
    private message;
    private rowWidget;
    private table;
    constructor(documentEditor: DocumentEditor);
    /**
     * Get module name.
     * @returns - Returns the module name
     */
    getModuleName(): string;
    /**
     * This function updates the room information and server url of the collaborative editing session.
     * @param roomName - Specifies the current collaborative editing room name.
     * @param version - Specifies the current version of the document.
     * @param serviceUrl - Specifies the base url of the collaborative editing service.
     */
    updateRoomInfo(roomName: string, version: number, serviceUrl: string): void;
    /**
     * Send the current action to the server.
     * @param args - Specified the current action.
     * @returns
     */
    sendActionToServer(operations: Operation[]): void;
    private checkAndCombineOperation;
    private canCombineOperation;
    private isSameOperation;
    private isControlCharacter;
    /**
     * Apply the remote operation to the current document.
     * @param action - Specifies the remote action type.
     * @param data - Specifies the remote operation data.
     */
    applyRemoteAction(action: string, data: string | ActionInfo): void;
    private isAcknowledgePending;
    private handleAcknowledgementReceived;
    private updateVersion;
    private acknowledgementReceived;
    private sendLocalOperation;
    private dataReceived;
    private getVersionDifference;
    private handleRemoteOperation;
    private transform;
    private skipAction;
    private handleAcceptReject;
    private applyRemoteOperation;
    private updateOperation;
    private getComment;
    private updateList;
    private getOperationLength;
    private updateListCollection;
    private getObjectByCommentId;
    private transformOperation;
    private transformSection;
    private transformRemoteCursor;
    /**
     * @private
     * @returns {void}
    */
    updateCaretPosition(connectionId?: string, operation?: Operation): void;
    private updateRemoteSelection;
    private removeCarets;
    private getColorForMember;
    private updateCaretPositionInteral;
    private getBlockPosition;
    private getBlockTotalLength;
    private getRelativePositionFromAbsolutePosition;
    private getBlockIndexFromHeaderFooter;
    private getBlockByIndex;
    private insertImage;
    private buildTable;
    private buildRow;
    private buildCell;
    private buildDeleteCells;
    private transformSelectionOperation;
    private documentSettings;
    private checkAndRetriveChangesFromServer;
    private applyChangesFromServer;
    private insertCharaterFormat;
    private insertParagraphFormat;
    private insertTableFormat;
    private insertRowFormat;
    private insertCellFormat;
    private insertSectionFormat;
    private logMessage;
    private setCustomAjaxHeaders;
    /**
     * Destory collaborative editing module.
     * @private
     */
    destroy(): void;
}
/**
 * Specifies the action info.
 * > Reserved for internal use only.
 */
export interface ActionInfo {
    /**
     * Reserved for internal use only.
     */
    connectionId?: string;
    /**
     * Reserved for internal use only.
     */
    version?: number;
    /**
     * Reserved for internal use only.
     */
    roomName?: string;
    /**
     * Reserved for internal use only.
     */
    operations?: Operation[];
    /**
     * Reserved for internal use only.
     */
    currentUser?: string;
}
//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/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 getColumnFormatType;
    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
     */
    isColumnFormatEqual(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/types.d.ts
/**
 * Specified the hyperlink type.
 */
export  type HyperlinkType = 
/**
 * Specifies the link to a file. The link that starts with "file:///".
 */
'File' | 
/**
 * Specifies the link to a web page. The link that starts with "http://", "https://", "www." etc.
 */
'WebPage' | 
/**
 * Specifies the link to an e-mail. The link that starts with "mailto:".
 */
'Email' | 
/**
 * Specifies the link to a bookmark. The link that refers to a bookmark.
 */
'Bookmark';
/**
 * Indicates inserted revision types
 */
export  type RevisionType = 'Insertion' | 'Deletion' | 'MoveTo' | 'MoveFrom';
/**
 * Indicates inserted revision types
 */
export  type ReviewTabType = 'Comments' | 'Changes';
/**
 * Enum underline for character format
 */
export  type Underline = 
/**
 * No underline will be drawn.
 */
'None' | 
/**
 * Draws single underline.
 */
'Single' | 
/**
 * Draws underline for words only.
 */
'Words' | 
/**
 * Draws double underline.
 */
'Double' | 
/**
 * Draws dotted underline.
 */
'Dotted' | 
/**
 * Draws thick underline.
 */
'Thick' | 
/**
 * Draws dash underline.
 */
'Dash' | 
/**
 * Draws dash long underline.
 */
'DashLong' | 
/**
 * Draws dot dash underline.
 */
'DotDash' | 
/**
 * Draws dot dot dash underline.
 */
'DotDotDash' | 
/**
 * Draws wavy underline.
 */
'Wavy' | 
/**
 *  Draws dotted heavy underline.
 */
'DottedHeavy' | 
/**
 * Draws dash heavy underline.
 */
'DashHeavy' | 
/**
 * Draws dash long heavy underline.
 */
'DashLongHeavy' | 
/**
 * Draws dot dash heavy underline.
 */
'DotDashHeavy' | 
/**
 * Draws dot dot dash heavy underline.
 */
'DotDotDashHeavy' | 
/**
 * Draws wavy heavy underline.
 */
'WavyHeavy' | 
/**
 * Draws wavy double underline.
 */
'WavyDouble';
/**
 * Enum strikethrough for character format
 */
export  type Strikethrough = 
/**
 * No strike will be drawn.
 */
'None' | 
/**
 * Draws single strike.
 */
'SingleStrike' | 
/**
 * Draws double strike.
 */
'DoubleStrike';
/**
 * Enum baseline alignment for character format
 */
export  type BaselineAlignment = 
/**
 * Specifies the text to be rendered normally.
 */
'Normal' | 
/**
 * Specifies the text to appear above the baseline of text.
 */
'Superscript' | 
/**
 * Specifies the text to appear below the baseline of text.
 */
'Subscript';
/**
 * Enum highlight color for character format
 */
export  type HighlightColor = 
/**
 * No highlight color will be applied.
 */
'NoColor' | 
/**
 * Highlights the content with yellow (#ffffff00) color.
 */
'Yellow' | 
/**
 * Highlights the content with bright green (#ff00ff00) color.
 */
'BrightGreen' | 
/**
 * Highlights the content with turquoise (#ff00ffff) color.
 */
'Turquoise' | 
/**
 * Highlights the content with pink (#ffff00ff) color.
 */
'Pink' | 
/**
 * Highlights the content with blue (#ff0000ff) color.
 */
'Blue' | 
/**
 *  Highlights the content with red (#ffff0000) color.
 */
'Red' | 
/**
 *  Highlights the content with dark blue (#ff000080) color.
 */
'DarkBlue' | 
/**
 * Highlights the content with teal (#ff008080) color.
 */
'Teal' | 
/**
 * Highlights the content with green (#ff008000) color.
 */
'Green' | 
/**
 *$ Highlights the content with violet (#ff800080) color.
 */
'Violet' | 
/**
 * Highlights the content with dark red (#ff800000) color.
 */
'DarkRed' | 
/**
 * Highlights the content with dark yellow (#ff808000)  color.
 */
'DarkYellow' | 
/**
 * Highlights the content with gray 50 (#ff808080) color.
 */
'Gray50' | 
/**
 * Highlights the content with gray 25 (#ffc0c0c0) color.
 */
'Gray25' | 
/**
 * Highlights the content with black (#ff000000) color.
 */
'Black';
/**
 * Enum LineSpacingType For Paragraph Format Preservation
 */
export  type LineSpacingType = 
/**
 * The line spacing can be greater than or equal to, but never less than,
 * the value specified in the LineSpacing property.
 */
'AtLeast' | 
/**
 * The line spacing never changes from the value specified in the LineSpacing property,
 * even if a larger font is used within the paragraph.
 */
'Exactly' | 
/**
 * The line spacing is specified in the LineSpacing property as the number of lines.
 * Single line spacing equals 12 points.
 */
'Multiple';
/**
 * Enum TextAlignment For Paragraph Format Preservation
 */
export  type TextAlignment = 
/**
 * Text is centered within the container.
 */
'Center' | 
/**
 * Text is aligned to the left edge of the container.
 */
'Left' | 
/**
 * Text is aligned to the right edge of the container.
 */
'Right' | 
/**
 * Text is justified within the container.
 */
'Justify';
/**
 * Enum for Header Footer
 */
export  type HeaderFooterType = 
/**
 * Header for even numbered pages.
 */
'EvenHeader' | 
/**
 * Header for odd numbered pages.
 */
'OddHeader' | 
/**
 * Footer for even numbered pages.
 */
'EvenFooter' | 
/**
 * Footer for odd numbered pages.
 */
'OddFooter' | 
/**
 * Header for the first page of the section.
 */
'FirstPageHeader' | 
/**
 * Footer for the first page of the section.
 */
'FirstPageFooter';
/**
 * Enum for List type
 */
export  type ListType = 
/**
 * Specifies the none list type.
 */
'None' | 
/**
 *$ Specifies the bullet list type.
 */
'Bullet' | 
/**
 * Specifies the numbering list type.
 */
'Numbering' | 
/**
 * Specifies the outline numbering list type.
 */
'OutlineNumbering';
/**
 * Enum for List Level Pattern
 */
export  type ListLevelPattern = 
/**
 * Specifies the default pattern for the list level.
 */
'Arabic' | 
/**
 * Specifies the upper roman (I, II, III, ...) pattern for the list level.
 */
'UpRoman' | 
/**
 * Specifies the lower roman (i, ii, iii, ...) pattern for the list level.
 */
'LowRoman' | 
/**
 * Specifies the uppercase letter (A, B, C, ...) pattern for the list level.
 */
'UpLetter' | 
/**
 * Specifies the lowercase letter (a, b, c, ...) pattern for the list level.
 */
'LowLetter' | 
/**
 * Specifies the ordinal (1st, 2nd, 3rd, ...) pattern for the list level.
 */
'Ordinal' | 
/**
 * Specifies the numbering (1, 2, 3, ...) pattern for the list level.
 */
'Number' | 
/**
 * Specifies the ordinal text (First, Second, Third, ...) pattern for the list level.
 */
'OrdinalText' | 
/**
 * Specifies the leading zero (01, 02, 03, ...) pattern for the list level.
 */
'LeadingZero' | 
/**
 *$ Specifies the bullet pattern for the list level.
 */
'Bullet' | 
/**
 * Specifies the far east pattern for the list level.
 */
'FarEast' | 
/**
 * Specifies the special pattern for the list level.
 */
'Special' | 
/**
 * Specifies the Japanese counting pattern for the list level.
 */
'KanjiDigit' | 
/**
 * Specifies no pattern for the list level.
 */
'None';
/**
 * Enum for follow character type
 */
export  type FollowCharacterType = 
/**
 * Specifies the list value to be followed with a single tab.
 */
'Tab' | 
/**
 * Specifies the list value to be followed with a single space.
 */
'Space' | 
/**
 * Specifies the list value to be followed with no follow character.
 */
'None';
/**
 * Enum for table alignment
 */
export  type TableAlignment = 
/**
 * Aligns the table to the left.
 */
'Left' | 
/**
 * Aligns the table to the center.
 */
'Center' | 
/**
 * Aligns the table to the right.
 */
'Right';
/**
 * Enum WidthType for table and cells
 */
export  type WidthType = 
/**
 * Specifies the width to be determined automatically.
 */
'Auto' | 
/**
 * Specifies the width in percentage.
 */
'Percent' | 
/**
 * Specifies the width in points.
 */
'Point';
/**
 * Enum for cell vertical alignment.
 */
export  type CellVerticalAlignment = 
/**
 * Aligns the content to the top.
 */
'Top' | 
/**
 * Aligns the content to the center.
 */
'Center' | 
/**
 * Aligns the content ot the bottom.
 */
'Bottom';
/**
 * Enum for row height type
 */
export  type HeightType = 
/**
 * Specifies the height to be determined automatically.
 */
'Auto' | 
/**
 * Specifies the least height in points.
 */
'AtLeast' | 
/**
 * Specifies the exact height in points.
 */
'Exactly';
/**
 * Enum for line style
 */
export  type LineStyle = 
/**
 * No border.
 */
'None' | 
/**
 * A single solid line.
 */
'Single' | 
/**
 * Dots.
 */
'Dot' | 
/**
 * A dash followed by a small gap.
 */
'DashSmallGap' | 
/**
 * A dash followed by a large gap.
 */
'DashLargeGap' | //dashed
/**
 * A dash followed by a dot.
 */
'DashDot' | //dotDash
/**
 * A dash followed by two dots.
 */
'DashDotDot' | //dotDotDash
/**
 * Double solid lines.
 */
'Double' | 
/**
 * Three solid thin lines.
 */
'Triple' | 
/**
 * An internal single thin solid line surrounded by a single thick solid line with
 * a small gap between them.
 */
'ThinThickSmallGap' | 
/**
 * An internal single thick solid line surrounded by a single thin solid line with
 * a small gap between them.
 */
'ThickThinSmallGap' | 
/**
 * An internal single thin solid line surrounded by a single thick solid line surrounded
 * by a single thin solid line with a small gap between all lines.
 */
'ThinThickThinSmallGap' | 
/**
 * An internal single thin solid line surrounded by a single thick solid line with
 * a medium gap between them.
 */
'ThinThickMediumGap' | 
/**
 * An internal single thick solid line surrounded by a single thin solid line with
 * a medium gap between them.
 */
'ThickThinMediumGap' | 
/**
 * An internal single thin solid line surrounded by a single thick solid line surrounded
 * by a single thin solid line with a medium gap between all lines.
 */
'ThinThickThinMediumGap' | 
/**
 * An internal single thin solid line surrounded by a single thick solid line with
 * a large gap between them.
 */
'ThinThickLargeGap' | 
/**
 * An internal single thick solid line surrounded by a single thin solid line with
 * a large gap between them.
 */
'ThickThinLargeGap' | 
/**
 * An internal single thin solid line surrounded by a single thick solid line surrounded
 * by a single thin solid line with a large gap between all lines.
 */
'ThinThickThinLargeGap' | 
/**
 * A single wavy solid line.
 */
'SingleWavy' | //wave.
/**
 * Double wavy solid lines.
 */
'DoubleWavy' | //doubleWave.
/**
 * A dash followed by a dot stroke, thus rendering a border similar to a barber
 * pole.
 */
'DashDotStroked' | 
/**
 * The border appears to have a 3-D embossed look.
 */
'Emboss3D' | 
/**
 * The border appears to have a 3-D engraved look.
 */
'Engrave3D' | 
/**
 * The border appears to be outset.
 */
'Outset' | 
/**
 * The border appears to be inset.
 */
'Inset' | 
/**
 * Additional enums supported in Microsoft word in the XML level as well as by DocIO.
 */
'Thick' | 
/**
 * Cleared border.
 */
'Cleared';
/**
 * Enum for texture style
 */
export  type TextureStyle = 
/**
 *  No shading
 */
'TextureNone' | 
/**
 * 2.5 percent shading.
 */
'Texture2Pt5Percent' | 
/**
 * 5 percent shading.
 */
'Texture5Percent' | 
/**
 * 7.5 percent shading.
 */
'Texture7Pt5Percent' | 
/**
 * 10 percent shading.
 */
'Texture10Percent' | 
/**
 * 12.5 percent shading.
 */
'Texture12Pt5Percent' | 
/**
 * 15 percent shading.
 */
'Texture15Percent' | 
/**
 * 17.5 percent shading.
 */
'Texture17Pt5Percent' | 
/**
 * 20 percent shading.
 */
'Texture20Percent' | 
/**
 * 22.5 percent shading.
 */
'Texture22Pt5Percent' | 
/**
 * 25 percent shading.
 */
'Texture25Percent' | 
/**
 * 27.5 percent shading.
 */
'Texture27Pt5Percent' | 
/**
 * 30 percent shading.
 */
'Texture30Percent' | 
/**
 * 32.5 percent shading.
 */
'Texture32Pt5Percent' | 
/**
 * 35 percent shading.
 */
'Texture35Percent' | 
/**
 * 37.5 percent shading.
 */
'Texture37Pt5Percent' | 
/**
 * 40 percent shading.
 */
'Texture40Percent' | 
/**
 * 42.5 percent shading.
 */
'Texture42Pt5Percent' | 
/**
 * 45 percent shading.
 */
'Texture45Percent' | 
/**
 * 47.5 percent shading.
 */
'Texture47Pt5Percent' | 
/**
 * 50 percent shading.
 */
'Texture50Percent' | 
/**
 * 52.5 percent shading.
 */
'Texture52Pt5Percent' | 
/**
 * 55 percent shading.
 */
'Texture55Percent' | 
/**
 * 57.5 percent shading.
 */
'Texture57Pt5Percent' | 
/**
 * 60 percent shading.
 */
'Texture60Percent' | 
/**
 * 62.5 percent shading.
 */
'Texture62Pt5Percent' | 
/**
 * 65 percent shading.
 */
'Texture65Percent' | 
/**
 * 67.5 percent shading.
 */
'Texture67Pt5Percent' | 
/**
 * 70 percent shading.
 */
'Texture70Percent' | 
/**
 * 72.5 percent shading.
 */
'Texture72Pt5Percent' | 
/**
 * 75 percent shading.
 */
'Texture75Percent' | 
/**
 * 77.5 percent shading.
 */
'Texture77Pt5Percent' | 
/**
 * 80 percent shading.
 */
'Texture80Percent' | 
/**
 * 82.5 percent shading.
 */
'Texture82Pt5Percent' | 
/**
 * 85 percent shading.
 */
'Texture85Percent' | 
/**
 * 87.5 percent shading.
 */
'Texture87Pt5Percent' | 
/**
 * 90 percent shading.
 */
'Texture90Percent' | 
/**
 * 92.5 percent shading.
 */
'Texture92Pt5Percent' | 
/**
 * 95 percent shading.
 */
'Texture95Percent' | 
/**
 * 97.5 percent shading.
 */
'Texture97Pt5Percent' | 
/**
 * Solid shading.
 */
'TextureSolid' | 
/**
 * Dark horizontal shading.
 */
'TextureDarkHorizontal' | 
/**
 * Dark vertical shading.
 */
'TextureDarkVertical' | 
/**
 * Dark diagonal down shading.
 */
'TextureDarkDiagonalDown' | 
/**
 * Dark diagonal up shading.
 */
'TextureDarkDiagonalUp' | 
/**
 * Dark horizontal cross shading.
 */
'TextureDarkCross' | 
/**
 * Dark diagonal cross shading.
 */
'TextureDarkDiagonalCross' | 
/**
 * Horizontal shading.
 */
'TextureHorizontal' | 
/**
 * Vertical shading.
 */
'TextureVertical' | 
/**
 * Diagonal down shading.
 */
'TextureDiagonalDown' | 
/**
 * Diagonal up shading.
 */
'TextureDiagonalUp' | 
/**
 * Horizontal cross shading.
 */
'TextureCross' | 
/**
 * Diagonal cross shading.
 */
'TextureDiagonalCross';
/**
 * Format type.
 */
export  type FormatType = 
/**
 * Microsoft Word Open XML Format.
 */
'Docx' | 
/**
 * Plain Text Format.
 */
'Txt' | 
/**
 * Syncfusion Document Text Format.
 */
'Sfdt' | 
/**
 * Microsoft Word Template format.
 */
'Dotx';
/**
 * Enum for find option
 */
export  type FindOption = 
/**
 * Specifies default find option;
 Uses case-independent, arbitrary character boundaries.
 */
'None' | 
/**
 * Specifies the find option to match whole words only.
 */
'WholeWord' | 
/**
 * Specifies the find option to match case sensitive.
 */
'CaseSensitive' | 
/**
 * Specifies the find option to match case sensitive and whole words.
 */
'CaseSensitiveWholeWord';
/**
 * WColor interface
 *
 * @private
 */
export interface WColor {
    r: number;
    g: number;
    b: number;
}
/**
 * Enum for outline level
 */
export  type OutlineLevel = 
/**
 * Outline level 1.
 */
'Level1' | 
/**
 * Outline level 2.
 */
'Level2' | 
/**
 * Outline level 3.
 */
'Level3' | 
/**
 * Outline level 4.
 */
'Level4' | 
/**
 * Outline level 5.
 */
'Level5' | 
/**
 * Outline level 6.
 */
'Level6' | 
/**
 * Outline level 7.
 */
'Level7' | 
/**
 * Outline level 8.
 */
'Level8' | 
/**
 * Outline level 9.
 */
'Level9' | 
/**
 *  No outline level.
 */
'BodyText';
/**
 * Specifies style type.
 */
export  type StyleType = 
/**
 * Paragraph style.
 */
'Paragraph' | 
/**
 * Character style.
 */
'Character' | 
/**
 * Table style.
 */
'Table';
/**
 * Specifies table row placement.
 *
 * @private
 */
export  type RowPlacement = 
/**
 * Places the row above.
 */
'Above' | 
/**
 * Places the row below.
 */
'Below';
/**
 * Specifies table column placement.
 *
 * @private
 */
export  type ColumnPlacement = 
/**
 * Places the column left.
 */
'Left' | 
/**
 * Places the column right.
 */
'Right';
/**
 * Specifies the tab justification.
 */
export  type TabJustification = 
/**
 * Bar
 */
'Bar' | 
/**
 * Center
 */
'Center' | 
/**
 * Decimal
 */
'Decimal' | 
/**
 * Left
 */
'Left' | 
/**
 * List
 */
'List' | 
/**
 * Right
 */
'Right';
/**
 * Specifies the tab leader.
 */
export  type TabLeader = 
/**
 * None
 */
'None' | 
/**
 * Single
 */
'Single' | 
/**
 * Dotted
 */
'Dot' | 
/**
 * Hyphenated
 */
'Hyphen' | 
/**
 * Underscore
 */
'Underscore';
/**
 * Specifies the page fit type.
 */
export  type PageFitType = 
/**
 * Fits the page to 100%.
 */
'None' | 
/**
 * Fits atleast one page in view.
 */
'FitOnePage' | 
/**
 * Fits the page to its width in view.
 */
'FitPageWidth';
/**
 * Specifies the context type at selection.
 */
export  type ContextType = 
/**
 * Specified the curret context is in text.
 */
'Text' | 
/**
 * Specified the curret context is in image.
 */
'Image' | 
/**
 * Specified this curretn context is in list.
 */
'List' | 
/**
 * Specified the curret context is in text which is inside table.
 */
'TableText' | 
/**
 * Specified the curret context is in image which is inside table.
 */
'TableImage' | 
/**
 * Specified the curret context is in text which is inside header.
 */
'HeaderText' | 
/**
 * Specified the curret context is in image which is inside header.
 */
'HeaderImage' | 
/**
 * Specified the curret context is in text which is inside table & is in header region.
 */
'HeaderTableText' | 
/**
 * Specified the curret context is in text which is inside table & is in header region.
 */
'HeaderTableImage' | 
/**
 * Specified the curret context is in text which is inside footer.
 */
'FooterText' | 
/**
 * Specified the curret context is in image which is inside footer.
 */
'FooterImage' | 
/**
 * Specified the curret context is in text which is inside table & is in footer region.
 */
'FooterTableText' | 
/**
 * Specified the curret context is in image which is inside table & is in footer region.
 */
'FooterTableImage' | 
/**
 * Current context is in table of contents.
 */
'TableOfContents' | 
/**
 * Current context is in xml Mapping.
 */
'XMLMapping' | 
/**
 * Current context is in Rich text Content control.
 */
'RichTextContentControl' | 
/**
 * Current context is in Plain text Content control.
 */
'PlainTextContentControl' | 
/**
 * Current context is in Picture content control.
 */
'PictureContentControl' | 
/**
 * Current context is in Date picker content control.
 */
'DatePickerContentControl' | 
/**
 * Current context is in Dropdown list content control.
 */
'DropDownListContentControl' | 
/**
 * Current context is in Combobox content control.
 */
'ComboBoxContentControl' | 
/**
 * Current context is in Checkbox content control.
 */
'CheckBoxContentControl';
/**
 * 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 ContentControlProperties dialog.
 */
'ContentControlProperties' | 
/**
 * * Specifies Picture Content Control dialog.
 */
'PictureContentControl' | 
/**
 * Specifies DatePicker Content Control Dialog
 */
'DatepickerContentControl' | 
/**
 * Specifies Columns dialog.
 */
'Columns' | 
/**
 * Specifies list dialog.
 */
'List' | 
/**
 * Specifies style dialog.
 */
'Style' | 
/**
 * Specifies styles dialog.
 */
'Styles' | 
/**
 * Specifies paragraph dialog.
 */
'Paragraph' | 
/**
 * Specifies font dialog.
 */
'Font' | 
/**
 * Specifies table properties dialog.
 */
'TableProperties' | 
/**
 * Specifies borders and shading dialog.
 */
'BordersAndShading' | 
/**
 * Specifies table options dialog.
 */
'TableOptions' | 
/**
 * Specifies spell check dialog.
 */
'SpellCheck';
/**
 * Action type
 *
 * @private
 */
export  type Action = 'Insert' | 'Delete' | 'BackSpace' | 'Selection' | 'MultiSelection' | 'Enter' | 'ImageResizing' | 'ReplaceAll' | 'Cut' | 'CharacterFormat' | 'Bold' | 'Italic' | 'FontSize' | 'FontFamily' | 'HighlightColor' | 'BaselineAlignment' | 'Strikethrough' | 'Underline' | 'InsertHyperlink' | 'InsertBookmark' | 'InsertElements' | 'DeleteBookmark' | 'FontColor' | 'InsertInline' | 'RemoveHyperlink' | 'AutoFormatHyperlink' | 'TextAlignment' | 'LeftIndent' | 'AfterSpacing' | 'BeforeSpacing' | 'RightIndent' | 'FirstLineIndent' | 'DifferentOddAndEvenPages' | 'LineSpacing' | 'LineSpacingType' | 'SpaceAfterAuto' | 'SpaceBeforeAuto' | 'ListFormat' | 'ParagraphFormat' | 'SectionFormat' | 'List' | 'InsertRowAbove' | 'InsertRowBelow' | 'InsertTableBelow' | 'DeleteTable' | 'DeleteRow' | 'DeleteColumn' | 'InsertColumnLeft' | 'InsertColumnRight' | 'TableFormat' | 'RowFormat' | 'CellFormat' | 'TableProperties' | 'Paste' | 'RemoveComment' | 'DeleteCells' | 'ClearCells' | 'InsertTable' | 'RowResizing' | 'CellResizing' | 'MergeCells' | 'ClearFormat' | 'ClearCharacterFormat' | 'ClearParagraphFormat' | 'AutoList' | 'BordersAndShading' | 'TableMarginsSelection' | 'CellMarginsSelection' | 'CellOptions' | 'TableOptions' | 'TableAlignment' | 'TableLeftIndent' | 'CellSpacing' | 'DefaultCellLeftMargin' | 'DefaultCellRightMargin' | 'TablePreferredWidthType' | 'TablePreferredWidth' | 'CellPreferredWidthType' | 'CellPreferredWidth' | 'DefaultCellTopMargin' | 'DefaultCellBottomMargin' | 'CellContentVerticalAlignment' | 'CellLeftMargin' | 'CellRightMargin' | 'CellTopMargin' | 'CellBottomMargin' | 'RowHeight' | 'RowHeightType' | 'RowHeader' | 'AllowBreakAcrossPages' | 'PageHeight' | 'PageWidth' | 'LeftMargin' | 'RightMargin' | 'TopMargin' | 'BottomMargin' | 'DefaultCellSpacing' | 'ListCharacterFormat' | 'ContinueNumbering' | 'RestartNumbering' | 'ListSelect' | 'Shading' | 'Borders' | 'TOC' | 'StyleName' | 'ApplyStyle' | 'SectionBreak' | 'SectionBreakContinuous' | 'PageBreak' | 'IMEInput' | 'TableAutoFitToContents' | 'TableAutoFitToWindow' | 'TableFixedColumnWidth' | 'ParagraphBidi' | 'TableBidi' | 'ContextualSpacing' | 'RestrictEditing' | 'RemoveEditRange' | 'InsertComment' | 'DeleteComment' | 'RemoveInline' | 'DeleteAllComments' | 'InsertCommentWidget' | 'DeleteCommentWidget' | 'FormField' | 'UpdateFormField' | 'FormTextFormat' | 'Accept Change' | 'Reject Change' | 'Accept All' | 'Reject All' | 'ParaMarkTrack' | 'ParaMarkReject' | 'RemoveRowTrack' | 'AcceptTOC' | 'ClearRevisions' | 'TrackingPageBreak' | 'InsertTextParaReplace' | 'Uppercase' | 'ToggleCase' | 'Lowercase' | 'SentenceCase' | 'CapitalizeEachWord' | 'PasteColumn' | 'PasteRow' | 'PasteOverwrite' | 'PasteNested' | 'SkipCommentInline' | 'DeleteCommentInline' | 'ResolveComment' | 'TopBorder' | 'LeftBorder' | 'RightBorder' | 'BottomBorder' | 'HorizontalBorder' | 'VerticalBorder' | 'ColumnBreak' | 'DragAndDropContent' | 'LinkToPrevious' | 'GroupAction' | 'DeleteHeaderFooter' | 'EditComment' | 'TableTitle' | 'TableDescription' | 'TabStop' | 'Grouping' | 'ModifyStyle' | 'InsertContentControl' | 'RemoveContentControl' | 'InsertSectionBreak' | 'UpdateContentControl';
/**
 * Enum for direction
 */
export  type BiDirectionalOverride = 
/**
 * None
 */
'None' | 
/**
 * Left to Right
 */
'LTR' | 
/**
 * Right to left
 */
'RTL';
/**
 * Enum for table auto fit type
 */
export  type AutoFitType = 
/**
 * Fit the contents respect to contents.
 */
'FitToContents' | 
/**
 * Fit the contents respect to window/pageWidth.
 */
'FitToWindow' | 
/**
 * Fit the contents respect to fixed column width.
 */
'FixedColumnWidth';
/**
 * Specifies the type of protection
 *
 * @private
 */
export  type ProtectionType = 
/**
 * Do not apply protection to the document.
 */
'NoProtection' | 
/**
 * Allow read-only access to the document.
 */
'ReadOnly' | 
/**
 * Allow form filling only.
 */
'FormFieldsOnly' | 
/**
 * Allow only comments to be added to the document.
 */
'CommentsOnly' | 
/**
 * Allow only revisions to be made to existing content. All the changes will be tracked.
 */
'RevisionsOnly';
/**
 * Specifies the paste options
 */
export  type PasteOptions = 
/**
 * Apply source formatting options.
 */
'KeepSourceFormatting' | 
/**
 * Merge with existing formatting.
 */
'MergeWithExistingFormatting' | 
/**
 * Keep text only.
 */
'KeepTextOnly';
/**
 * Specifies the paste options for table
 *
 * @private
 */
/**
 * Represents the available options for pasting content into a table.
 *
 * - 'InsertAsRows': Insert the content as new rows.
 * - 'NestTable': Nest the content as a table within the existing table.
 * - 'InsertAsColumns': Insert the content as new columns.
 * - 'OverwriteCells': Overwrite the existing cells with the new content.
 */
export  type TablePasteOptions = 'InsertAsRows' | 'NestTable' | 'InsertAsColumns' | 'OverwriteCells';
/**
 * Specifies the paste options for table
 *
 * @private
 */
export  type PasteOptionSwitch = 'DefaultPaste' | 'TextOnly';
/**
 * Specifies the layout type
 */
export  type LayoutType = 
/**
 * Specifies the content to be displayed in multiple pages.
 */
'Pages' | 
/**
 * Specifies the content to be displayed continuously in single page.
 */
'Continuous';
/**
 * Defines Predefined toolbar items.
 */
export  type ToolbarItem = 
/**
 * New option in the toolbar item.
 */
'New' | 
/**
 * Open option in the toolbar item.
 */
'Open' | 
/**
 * Seperator in the toolbar item.
 */
'Separator' | 
/**
 * Undo option in the toolbar item.
 */
'Undo' | 
/**
 * Redo option in the toolbar item.
 */
'Redo' | 
/**
 * Comments option in the toolbar item.
 */
'Comments' | 
/**
 * Track changes option in toolbar item.
 */
'TrackChanges' | 
/**
 * Insert image option in the toolbar item.
 */
'Image' | 
/**
 * Insert Table option in the toolbar item.
 */
'Table' | 
/**
 * Hyperlink option in the toolbar item.
 */
'Hyperlink' | 
/**
 * Bookmark option in the toolbar item.
 */
'Bookmark' | 
/**
 * Table of Contents in the toolbar item.
 */
'TableOfContents' | 
/**
 * Header option in the toolbar item.
 */
'Header' | 
/**
 * Footer option in the toolbar item.
 */
'Footer' | 
/**
 * xml mapping option in the toolbar item.
 */
'XML Mapping' | 
/**
 * PageSetup option in the toolbar item.
 */
'PageSetup' | 
/**
 * Content Control option in the toolbar item
 */
'ContentControl' | 
/**
 * Insert page number option in the toolbar item.
 */
'PageNumber' | 
/**
 * Break option in the toolbar item.
 */
'Break' | 
/**
 * Find option in the toolbar item.
 */
'Find' | 
/**
 * Local clipboard option in the toolbar item.
 */
'LocalClipboard' | 
/**
 * RestrictEditing option in the toolbar item.
 */
'RestrictEditing' | 
/**
 * Form fiels option in the toolbar item.
 */
'FormFields' | 
/**
 * Update fields options in toolbar item.
 */
'UpdateFields' | 
/**
 * InsertFootnote option in the toolbar item.
 */
'InsertFootnote' | 
/**
 * InsertEndnote option in the toolbar item.
 */
'InsertEndnote';
/**
 * Specifies the type of Text formField
 *
 * @private
 */
export  type TextFormFieldType = 'Text' | 'Number' | 'Date' | 'Calculation';
/**
 * Specifies the type of Checkbox formField size
 *
 * @private
 */
export  type CheckBoxSizeType = 'Auto' | 'Exactly';
/**
 * Specifies the type of FormField
 *
 * @private
 */
export  type FormFieldType = 'Text' | 'CheckBox' | 'DropDown';
/**
 * Specifies the type of VerticalOrigin
 *
 * @private
 */
export  type VerticalOrigin = 'Margin' | 'Page' | 'Paragraph' | 'Line' | 'TopMargin' | 'BottomMargin' | 'InsideMargin' | 'OutsideMargin';
/**
 * Specifies the type of VerticalAlignment
 *
 * @private
 */
export  type VerticalAlignment = 'None' | 'Top' | 'Bottom' | 'Inline' | 'Inside' | 'Outside' | 'Center' | 'Middle';
/**
 * Specifies the type of HorizontalOrigin
 *
 * @private
 */
export  type HorizontalOrigin = 'Margin' | 'Page' | 'Column' | 'Character' | 'LeftMargin' | 'RightMargin' | 'InsideMargin' | 'OutsideMargin';
/**
 * Specifies the type of HorizontalAlignment
 *
 * @private
 */
export  type HorizontalAlignment = 'None' | 'Left' | 'Center' | 'Right' | 'Inside' | 'Outside';
/**
 * Specifies the type of Line Format Type
 *
 * @private
 */
export  type LineFormatType = 'None' | 'Patterned' | 'Gradient' | 'Solid';
/**
 * Specifies the type of Line Dashing
 *
 * @private
 */
export  type LineDashing = 'Solid' | 'Dash' | 'Dot' | 'DashDot' | 'DashDotDot' | 'DotGEL' | 'DashGEL' | 'LongDashGEL' | 'DashDotGEL' | 'LongDashDotGEL' | 'LongDashDotDotGEL';
/**
 * Specifies the type of Auto Shape Type
 *
 * @private
 */
export  type AutoShapeType = 'Rectangle' | 'RoundedRectangle' | 'StraightConnector' | 'Oval' | 'IsoscelesTriangle' | 'RightTriangle' | 'Parallelogram' | 'Trapezoid' | 'Diamond' | 'RegularPentagon' | 'Hexagon' | 'Heptagon' | 'Octagon' | 'Decagon' | 'Dodecagon' | 'Chord' | 'Teardrop' | 'Frame' | 'HalfFrame' | 'L_Shape' | 'Pie' | 'DiagonalStripe' | 'Cross' | 'Plaque' | 'Can' | 'Cube' | 'Bevel' | 'Donut' | 'NoSymbol' | 'BlockArc' | 'FoldedCorner' | 'SmileyFace' | 'Heart' | 'LightningBolt' | 'Sun' | 'Moon' | 'Cloud' | 'Arc' | 'DoubleBracket' | 'DoubleBrace' | 'LeftBracket' | 'RightBracket' | 'LeftBrace' | 'RightBrace' | 'FlowChartProcess' | 'FlowChartAlternateProcess' | 'FlowChartDecision' | 'FlowChartData' | 'FlowChartPredefinedProcess' | 'FlowChartInternalStorage' | 'FlowChartDocument' | 'FlowChartMultiDocument' | 'FlowChartTerminator' | 'FlowChartPreparation' | 'FlowChartManualInput' | 'FlowChartManualOperation' | 'FlowChartConnector' | 'FlowChartOffPageConnector' | 'FlowChartCard' | 'FlowChartPunchedTape' | 'FlowChartSummingJunction' | 'FlowChartOr' | 'FlowChartCollate' | 'FlowChartSort' | 'FlowChartExtract' | 'FlowChartMerge' | 'FlowChartStoredData' | 'FlowChartDelay' | 'FlowChartSequentialAccessStorage' | 'FlowChartMagneticDisk' | 'FlowChartDirectAccessStorage' | 'FlowChartDisplay' | 'RightArrow' | 'LeftArrow' | 'UpArrow' | 'DownArrow' | 'LeftRightArrow' | 'UpDownArrow' | 'QuadArrow' | 'LeftRightUpArrow' | 'BentArrow' | 'UTurnArrow' | 'LeftUpArrow' | 'BentUpArrow' | 'CurvedRightArrow' | 'CurvedLeftArrow' | 'CurvedUpArrow' | 'CurvedDownArrow' | 'StripedRightArrow' | 'NotchedRightArrow' | 'Pentagon' | 'Chevron' | 'RightArrowCallout' | 'DownArrowCallout' | 'LeftArrowCallout' | 'UpArrowCallout' | 'LeftRightArrowCallout' | 'QuadArrowCallout' | 'CircularArrow' | 'MathPlus' | 'MathMinus' | 'MathMultiply' | 'MathDivision' | 'MathEqual' | 'MathNotEqual' | 'Explosion1' | 'Explosion2' | 'Star4Point' | 'Star5Point' | 'Star6Point' | 'Star7Point' | 'Star8Point' | 'Star10Point' | 'Star12Point' | 'Star16Point' | 'Star24Point' | 'Star32Point' | 'UpRibbon' | 'DownRibbon' | 'CurvedUpRibbon' | 'CurvedDownRibbon' | 'VerticalScroll' | 'HorizontalScroll' | 'Wave' | 'DoubleWave' | 'SnipSingleCornerRectangle' | 'SnipSameSideCornerRectangle' | 'SnipDiagonalCornerRectangle' | 'SnipAndRoundSingleCornerRectangle' | 'RoundSingleCornerRectangle' | 'RoundSameSideCornerRectangle' | 'RoundDiagonalCornerRectangle' | 'Unknown' | 'ElbowConnector' | 'CurvedConnector';
/**
 * Specifies the Export type of Auto Shape Type
 *
 * @private
 */
export  type ExportAutoShapeType = 'roundRect' | 'rect' | 'straightConnector1' | 'ellipse' | 'triangle' | 'rtTriangle' | 'parallelogram' | 'diamond' | 'pentagon' | 'hexagon' | 'heptagon' | 'octagon' | 'decagon' | 'dodecagon' | 'pie' | 'chord' | 'teardrop' | 'trapezoid' | 'halfFrame' | 'frame' | 'corner' | 'diagStripe' | 'plus' | 'plaque' | 'can' | 'cube' | 'bevel' | 'donut' | 'noSmoking' | 'blockArc' | 'foldedCorner' | 'smileyFace' | 'heart' | 'lightningBolt' | 'sun' | 'moon' | 'cloud' | 'bracketPair' | 'arc' | 'bracePair' | 'leftBracket' | 'rightBracket' | 'leftBrace' | 'rightBrace' | 'rightArrow' | 'leftArrow' | 'upArrow' | 'downArrow' | 'leftRightArrow' | 'upDownArrow' | 'quadArrow' | 'leftRightUpArrow' | 'bentArrow' | 'uturnArrow' | 'leftUpArrow' | 'bentUpArrow' | 'curvedRightArrow' | 'curvedLeftArrow' | 'curvedUpArrow' | 'curvedDownArrow' | 'stripedRightArrow' | 'homePlate' | 'chevron' | 'rightArrowCallout' | 'downArrowCallout' | 'leftArrowCallout' | 'upArrowCallout' | 'leftRightArrowCallout' | 'quadArrowCallout' | 'circularArrow' | 'snip1Rect' | 'snip2SameRect' | 'snip2DiagRect' | 'snipRoundRect' | 'round1Rect' | 'round2SameRect' | 'round2DiagRect' | 'notchedRightArrow' | 'flowChartDisplay' | 'flowChartMagneticDrum' | 'flowChartMagneticDisk' | 'flowChartMagneticTape' | 'flowChartDelay' | 'flowChartOnlineStorage' | 'flowChartMerge' | 'flowChartExtract' | 'flowChartSort' | 'flowChartCollate' | 'flowChartSummingJunction' | 'flowChartPunchedTape' | 'flowChartPunchedCard' | 'flowChartOffpageConnector' | 'flowChartOr' | 'flowChartConnector' | 'flowChartManualOperation' | 'flowChartManualInput' | 'flowChartPreparation' | 'flowChartTerminator' | 'flowChartMultidocument' | 'flowChartDocument' | 'flowChartInternalStorage' | 'flowChartPredefinedProcess' | 'flowChartInputOutput' | 'flowChartDecision' | 'flowChartAlternateProcess' | 'flowChartProcess' | 'mathNotEqual' | 'mathEqual' | 'mathDivide' | 'mathMultiply' | 'mathMinus' | 'mathPlus' | 'doubleWave' | 'wave' | 'horizontalScroll' | 'verticalScroll' | 'ellipseRibbon' | 'ellipseRibbon2' | 'ribbon' | 'ribbon2' | 'star32' | 'star24' | 'star16' | 'star12' | 'star10' | 'star8' | 'star7' | 'star6' | 'star5' | 'star4' | 'irregularSeal2' | 'irregularSeal1' | 'curvedConnector3' | 'bentConnector3' | 'textNoShape';
/**
 * Wrapping style
 *
 * @private
 */
export  type TextWrappingStyle = 'Inline' | 'InFrontOfText' | 'Behind' | 'Square' | 'TopAndBottom' | 'Tight';
/**
 * Wrapping Type
 *
 * @private
 */
export  type TextWrappingType = 'Both' | 'Left' | 'Right' | 'Largest';
/**
 * Form Filling Mode
 */
export  type FormFillingMode = 'Inline' | 'Popup';
/**
 * Specifies the list of Formatting Exceptions
 */
export  type FormattingExceptions = 'Bold' | 'Italic' | 'FontSize' | 'FontFamily' | 'HighlightColor' | 'BaselineAlignment' | 'Strikethrough' | 'Underline' | 'FontColor' | 'TextAlignment' | 'LeftIndent' | 'RightIndent' | 'LineSpacing' | 'LineSpacingType' | 'FirstLineIndent' | 'AfterSpacing' | 'BeforeSpacing' | 'ContextualSpacing' | 'ListFormat';
/**
 * Specifies the Content Control Widget type
 */
export  type ContentControlWidgetType = 'Block' | 'Inline' | 'Row' | 'Cell';
/**
 * Specifies the Content Control type
 */
export  type ContentControlType = 'BuildingBlockGallery' | 'CheckBox' | 'ComboBox' | 'Date' | 'DropDownList' | 'Group' | 'Picture' | 'RepeatingSection' | 'RichText' | 'Text';
/**
 * Specifies collaborative editing action
 */
export  type CollaborativeEditingAction = 'LockContent' | 'SaveContent' | 'UnlockContent';
/**
 * Specifies comment action
 */
export  type CommentAction = 'Delete' | 'Reply' | 'Edit' | 'Resolve' | 'Reopen' | 'Post';
/**
 * Specifies the Footnote type
 */
export  type FootnoteType = 'Footnote' | 'Endnote';
/**
 * Specifies the Restart index for footnote
 */
export  type FootnoteRestartIndex = 'DoNotRestart' | 'RestartForEachSection' | 'RestartForEachPage';
/**
 * Specifies the Footnote and Endnote number format
 */
export  type FootEndNoteNumberFormat = 'Arabic' | 'UpperCaseRoman' | 'LowerCaseRoman' | 'UpperCaseLetter' | 'LowerCaseLetter';
/**
 * Specifies the image format to export.
 */
export  type ImageFormat = 'Png' | 'Jpeg';
/**
 * Represents the compatibility mode of the document.
 */
export  type CompatibilityMode = 
/**
 * Specifies the Word 2003 compatibility mode.
 */
'Word2003' | 
/**
 * Specifies the Word 2007 compatibility mode.
 */
'Word2007' | 
/**
 * Specifies the Word 2010 compatibility mode.
 */
'Word2010' | 
/**
 * Specifies the Word 2013 compatibility mode.
 */
'Word2013';
/**
 * Specifies the revision type.
 */
export  type RevisionActionType = 
/**
 * Specifies the accept action.
 */
'Accept' | 
/**
 * Specifies the reject action.
 */
'Reject';
/**
 * @private
 */
export  enum CharacterRangeType {
    LeftToRight = 0,
    RightToLeft = 1,
    WordSplit = 2,
    Number = 4,
    Tab = 6
}
/**
 * @private
 */
export  enum FontScriptType {
    English = 0,
    Hindi = 1,
    Korean = 2,
    Chinese = 3,
    Arabic = 4,
    Hebrew = 5,
    Japanese = 6,
    Thai = 7,
    SpecialCharacter = 8
}
/**
 * @private
 */
export  type FontHintType = 'Default' | 'EastAsia' | 'CS';
/**
 * Specifies the server action types.
 */
export  type ServerActionType = 'Import' | 'RestrictEditing' | 'SpellCheck' | 'SystemClipboard';
/**
 * @private
 */
export  enum LocaleId {
    /**
     * African.
     */
    af_ZA = 1078,
    /**
     * Albanian.
     */
    sq_AL = 1052,
    /**
     * Amharic.
     */
    am_ET = 1118,
    /**
     * Alsatian.
     */
    gsw_FR = 1156,
    /**
     * Arabic Algerian.
     */
    ar_DZ = 5121,
    ar_BH = 15361,
    /**
     * Arabic Egyptian.
     */
    ar_EG = 3073,
    /**
     * Arabic Iraqi.
     */
    ar_IQ = 2049,
    /**
     * Arabic Jordanian.
     */
    ar_JO = 11265,
    /**
     * Arabic Kuwaiti.
     */
    ar_KW = 13313,
    /**
     * Arabic Lebanese.
     */
    ar_LB = 12289,
    /**
     * Arabic Libyan.
     */
    ar_LY = 4097,
    /**
     * Arabic Moroccan.
     */
    ar_MA = 6145,
    ar_OM = 8193,
    ar_QA = 16385,
    /**
     * Arabic Saudi.
     */
    ar_SA = 1025,
    /**
     * Arabic Syrian.
     */
    ar_SY = 10241,
    /**
     * Arabic Tunisian.
     */
    ar_TN = 7169,
    /**
     * Arabic United Arab Emirates.
     */
    ar_AE = 14337,
    /**
     * Arabic Yemeni.
     */
    ar_YE = 9217,
    /**
     * Armenian.
     */
    hy_AM = 1067,
    /**
     * Assamese.
     */
    as_IN = 1101,
    az_Cyrl_AZ = 2092,
    az_Latn_AZ = 1068,
    ba_RU = 1133,
    /**
     * Basque.
     */
    eu_ES = 1069,
    be_BY = 1059,
    /**
     * Bengali (Bangladesh).
     */
    bn_BD = 2117,
    /**
     * Bengali (India).
     */
    bn_IN = 1093,
    /**
     * Bosnian (Cyrillic, Bosnia and Herzegovina).
     */
    bs_Cyrl_BA = 8218,
    /**
     * Bosnian (Bosnia/Herzegovina).
     */
    bs_Latn_BA = 5146,
    /**
     * Bulgarian.
     */
    bg_BG = 1026,
    /**
     * Breton.
     */
    br_FR = 1150,
    /**
     * Burmese.
     */
    my_MM = 1109,
    /**
     * Catalan.
     */
    ca_ES = 1027,
    /**
     * Cherokee - United States.
     */
    chr_US = 1116,
    zh_HK = 3076,
    zh_MO = 5124,
    /**
     * Chinese - People's Republic of China.
     */
    zh_CN = 2052,
    /**
     * Chinese - Singapore.
     */
    zh_SG = 4100,
    /**
     * Chinese - Taiwan.
     */
    zh_TW = 1028,
    /**
     * Corsican.
     */
    co_FR = 1155,
    /**
     * Croatian (Bosnia/Herzegovina).
     */
    hr_BA = 4122,
    /**
     * Croatian.
     */
    hr_HR = 1050,
    /**
     * Czech.
     */
    cs_CZ = 1029,
    /**
     * Danish.
     */
    da_DK = 1030,
    /**
     * Dari.
     */
    prs_AF = 1164,
    dv_MV = 1125,
    /**
     * Dutch - Belgium.
     */
    nl_BE = 2067,
    /**
     * Dutch - Netherlands.
     */
    nl_NL = 1043,
    bin_NG = 1126,
    /**
     * Estonian.
     */
    et_EE = 1061,
    /**
     * English - Australia.
     */
    en_AU = 3081,
    /**
     * English - Belize.
     */
    en_BZ = 10249,
    /**
     * English - Canada.
     */
    en_CA = 4105,
    /**
     * English - Caribbean.
     */
    en_029 = 9225,
    en_HK = 15369,
    /**
     * English - India.
     */
    en_IN = 16393,
    /**
     * English - Indonesia.
     */
    en_ID = 14345,
    /**
     * English - Ireland.
     */
    en_IE = 6153,
    /**
     * English - Jamaica.
     */
    en_JM = 8201,
    /**
     * English - Malaysia.
     */
    en_MY = 17417,
    /**
     * English - New Zealand.
     */
    en_NZ = 5129,
    /**
     * English - Philippines.
     */
    en_PH = 13321,
    /**
     * English - Singapore.
     */
    en_SG = 18441,
    /**
     * English - South Africa.
     */
    en_ZA = 7177,
    /**
     * English - Trinidad.
     */
    en_TT = 11273,
    /**
     * English - United Kingdom.
     */
    en_GB = 2057,
    /**
     * English - United States.
     */
    en_US = 1033,
    /**
     * English - Zimbabwe.
     */
    en_ZW = 12297,
    fo_FO = 1080,
    /**
     * Filipino.
     */
    fil_PH = 1124,
    /**
     * Finnish.
     */
    fi_FI = 1035,
    /**
     * French - Belgium.
     */
    fr_BE = 2060,
    /**
     * French - Cameroon.
     */
    fr_CM = 11276,
    /**
     * French - Canada.
     */
    fr_CA = 3084,
    /**
     * French - Democratic Rep. of Congo.
     */
    fr_CD = 9228,
    fr_CI = 12300,
    /**
     * French - France.
     */
    fr_FR = 1036,
    /**
     * French - Haiti.
     */
    fr_HT = 15372,
    /**
     * French - Luxembourg.
     */
    fr_LU = 5132,
    /**
     * French - Mali.
     */
    fr_ML = 13324,
    /**
     * French - Monaco.
     */
    fr_MC = 6156,
    /**
     * French - Morocco.
     */
    fr_MA = 14348,
    /**
     * French - Reunion.
     */
    fr_RE = 8204,
    /**
     * French - Senegal.
     */
    fr_SN = 10252,
    /**
     * French - Switzerland.
     */
    fr_CH = 4108,
    /**
     * French - West Indies.
     */
    /**
     * Frisian - Netherlands.
     */
    fy_NL = 1122,
    ff_NG = 1127,
    /**
     * Scottish Gaelic.
     */
    gd_GB = 1084,
    gl_ES = 1110,
    /**
     * Georgian.
     */
    ka_GE = 1079,
    /**
     * German - Austria.
     */
    de_AT = 3079,
    /**
     * German - Germany.
     */
    de_DE = 1031,
    /**
     * German - Liechtenstein.
     */
    de_LI = 5127,
    /**
     * German - Luxembourg.
     */
    de_LU = 4103,
    /**
     * German - Switzerland.
     */
    de_CH = 2055,
    /**
     * Greek.
     */
    el_GR = 1032,
    /**
     * Guarani - Paraguay.
     */
    gn_PY = 1140,
    /**
     * Gujarati.
     */
    gu_IN = 1095,
    kl_GL = 1135,
    /**
     * Hausa - Nigeria.
     */
    ha_Latn_NG = 1128,
    /**
     * Hawaiian - United States.
     */
    haw_US = 1141,
    /**
     * Hebrew.
     */
    he_IL = 1037,
    /**
     * Hindi.
     */
    hi_IN = 1081,
    /**
     * Hungarian.
     */
    hu_HU = 1038,
    ibb_NG = 1129,
    /**
     * Icelandic.
     */
    is_IS = 1039,
    ig_NG = 1136,
    /**
     * Indonesian.
     */
    id_ID = 1057,
    iu_Latn_CA = 2141,
    iu_Cans_CA = 1117,
    /**
     * Italian - Italy.
     */
    it_IT = 1040,
    /**
     * Italian - Switzerland.
     */
    it_CH = 2064,
    /**
     * Irish.
     */
    ga_IE = 2108,
    /**
     * Xhosa.
     */
    xh_ZA = 1076,
    /**
     * Zulu.
     */
    zu_ZA = 1077,
    /**
     * Kannada (India).
     */
    kn_IN = 1099,
    kr_NG = 1137,
    ks_Deva = 2144,
    ks_Arab = 1120,
    /**
     * Kazakh.
     */
    kk_KZ = 1087,
    /**
     * Khmer.
     */
    km_KH = 1107,
    kok_IN = 1111,
    /**
     * Korean.
     */
    ko_KR = 1042,
    ky_KG = 1088,
    qut_GT = 1158,
    rw_RW = 1159,
    /**
     * Lao.
     */
    lo_LA = 1108,
    /**
     * Latin.
     */
    la_Latn = 1142,
    /**
     * Latvian.
     */
    lv_LV = 1062,
    /**
     * Lithuanian.
     */
    lt_LT = 1063,
    dsb_DE = 2094,
    lb_LU = 1134,
    mk_MK = 1071,
    ms_BN = 2110,
    /**
     * Malay - Malaysia.
     */
    ms_MY = 1086,
    /**
     * Malayalam.
     */
    ml_IN = 1100,
    /**
     * Maltese.
     */
    mt_MT = 1082,
    mni_IN = 1112,
    /**
     * Maori - New Zealand.
     */
    mi_NZ = 1153,
    /**
     * Marathi.
     */
    mr_IN = 1102,
    arn_CL = 1146,
    /**
     * Mongolian (Cyrillic).
     */
    mn_MN = 1104,
    /**
     * Mongolian (Mongolian).
     */
    mn_Mong_CN = 2128,
    /**
     * Nepali.
     */
    ne_NP = 1121,
    /**
     * Nepali - India.
     */
    ne_IN = 2145,
    nb_NO = 1044,
    nn_NO = 2068,
    oc_FR = 1154,
    /**
     * Oriya.
     */
    or_IN = 1096,
    om_Ethi_ET = 1138,
    pap_AN = 1145,
    ps_AF = 1123,
    fa_IR = 1065,
    /**
     * Polish.
     */
    pl_PL = 1045,
    /**
     * Portuguese - Brazil.
     */
    pt_BR = 1046,
    /**
     * Portuguese - Portugal.
     */
    pt_PT = 2070,
    /**
     * Punjabi (India).
     */
    pa_IN = 1094,
    /**
     * Punjabi (Pakistan).
     */
    pa_PK = 2118,
    quz_BO = 1131,
    guz_EC = 2155,
    guz_PE = 3179,
    /**
     * Romanian.
     */
    ro_RO = 1048,
    ro_MO = 2072,
    rm_CH = 1047,
    /**
     * Russian.
     */
    ru_RU = 1049,
    ru_MO = 2073,
    smn_FI = 9275,
    smj_NO = 4155,
    smj_SE = 5179,
    se_FI = 3131,
    se_NO = 1083,
    se_SE = 2107,
    sms_FI = 8251,
    sma_NO = 6203,
    sma_SE = 7227,
    /**
     * Sanskrit - India.
     */
    sa_IN = 1103,
    /**
     * Serbian (Cyrillic, Bosnia and Herzegovina).
     */
    sr_Cyrl_BA = 7194,
    /**
     * Serbian (Cyrillic).
     */
    sr_Cyrl_CS = 3098,
    /**
     * Serbian (Latin, Bosnia and Herzegovina).
     */
    sr_Latn_BA = 6170,
    /**
     * Serbian (Latin, Serbia and Montenegro (Former)).
     */
    sr_Latn_CS = 2074,
    /**
     * Serbian (Latin).
     */
    nso_ZA = 1132,
    /**
     * Tswana.
     */
    tn_ZA = 1074,
    /**
     * Sindhi - Pakistan.
     */
    sd_Arab_PK = 2137,
    /**
     * Sindhi - India.
     */
    sd_Deva_IN = 1113,
    si_LK = 1115,
    /**
     * Slovak.
     */
    sk_SK = 1051,
    /**
     * Slovenian.
     */
    sl_SI = 1060,
    /**
     * Somali.
     */
    so_SO = 1143,
    /**
     * Spanish - Argentina.
     */
    es_AR = 11274,
    /**
     * Spanish - Bolivia.
     */
    es_BO = 16394,
    /**
     * Spanish - Chile.
     */
    es_CL = 13322,
    /**
     * Spanish - Colombia.
     */
    es_CO = 9226,
    /**
     * Spanish - Costa Rica.
     */
    es_CR = 5130,
    /**
     * Spanish - Dominican Republic.
     */
    es_DO = 7178,
    /**
     * Spanish - Ecuador.
     */
    es_EC = 12298,
    /**
     * Spanish - El Salvador.
     */
    es_SV = 17418,
    /**
     * Spanish - Guatemala.
     */
    es_GT = 4106,
    /**
     * Spanish - Honduras.
     */
    es_HN = 18442,
    /**
     * Spanish - Mexico.
     */
    es_MX = 2058,
    /**
     * Spanish - Nicaragua.
     */
    es_NI = 19466,
    /**
     * Spanish - Panama.
     */
    es_PA = 6154,
    /**
     * Spanish - Paraguay.
     */
    es_PY = 15370,
    /**
     * Spanish - Peru.
     */
    es_PE = 10250,
    /**
     * Spanish - Puerto Rico.
     */
    es_PR = 20490,
    /**
     * Spanish - International Sort.
     */
    es_ES = 3082,
    /**
     * Spanish - Spain (Traditional Sort).
     */
    es_ES_tradnl = 1034,
    /**
     * Spanish - United States.
     */
    es_US = 21514,
    /**
     * Spanish - Uruguay.
     */
    es_UY = 14346,
    /**
     * Spanish - Venezuela.
     */
    es_VE = 8202,
    st_ZA = 1072,
    /**
     * Swahili.
     */
    sw_KE = 1089,
    /**
     * Swedish - Finland.
     */
    sv_FI = 2077,
    /**
     * Swedish.
     */
    sv_SE = 1053,
    /**
     * Syriac.
     */
    syr_SY = 1114,
    tg_Cyrl_TJ = 1064,
    tzm_Arab_MA = 1119,
    tzm_Latn_DZ = 2143,
    /**
     * Tamil.
     */
    ta_IN = 1097,
    /**
     * Tatar.
     */
    tt_RU = 1092,
    /**
     * Telugu.
     */
    te_IN = 1098,
    /**
     * Thai.
     */
    th_TH = 1054,
    /**
     * Tibetan (PRC).
     */
    bo_CN = 1105,
    ti_ER = 2163,
    ti_ET = 1139,
    ts_ZA = 1073,
    /**
     * Turkish.
     */
    tr_TR = 1055,
    tk_TM = 1090,
    /**
     * Uighur - China.
     */
    ug_CN = 1152,
    /**
     * Ukrainian.
     */
    uk_UA = 1058,
    hsb_DE = 1070,
    /**
     * Urdu.
     */
    ur_PK = 1056,
    /**
     * Uzbek (Cyrillic).
     */
    uz_Cyrl_UZ = 2115,
    /**
     * Uzbek (Latin).
     */
    uz_Latn_UZ = 1091,
    ve_ZA = 1075,
    /**
     * Vietnamese.
     */
    vi_VN = 1066,
    /**
     * Welsh.
     */
    cy_GB = 1106,
    wo_SN = 1160,
    /**
     * Yakut.
     */
    sah_RU = 1157,
    /**
     * Yi.
     */
    ii_CN = 1144,
    /**
     * Yiddish.
     */
    yi_Hebr = 1085,
    /**
     * Yoruba.
     */
    yo_NG = 1130,
    /**
     * Japanese.
     */
    ja_JP = 1041
}
/**
 * Specifies the type of the Section break.
 */
export  enum SectionBreakType {
    /**
     * Section break with the new section beginning on the next even-numbered page.
     */
    EvenPage = "EvenPage",
    /**
     * Section break with the new section beginning on the next page.
     */
    NewPage = "NewPage",
    /**
     * Section break with the new section beginning on the next line of the same page.
     */
    Continuous = "NoBreak",
    /**
     * Section break with the new section beginning on the next odd-numbered page.
     */
    OddPage = "OddPage"
}
/**
 * Specifies the clear type of the Text Wrapping break.
 */
export  type BreakClearType = 
/**
 * Specifies the text to start on next line ragrdless of any floating objects..
 */
'None' | 
/**
 * Specifies the text to start on next text region left to right.
 */
'Left' | 
/**
 * Specifies the text to start on next text region right to left.
 */
'Right' | 
/**
 * Specifies the text to start on next full line.
 */
'All';
/**
 * For internal use only.
 *
 * @private
 */
export  const CONTROL_CHARACTERS: any;
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/base/keywords.d.ts
export  const sectionsProperty: string[];
export  const fontSubstitutionTableProperty: string[];
export  const characterFormatProperty: string[];
export  const paragraphFormatProperty: string[];
export  const listsProperty: string[];
export  const abstractListsProperty: string[];
export  const backgroundProperty: string[];
export  const stylesProperty: string[];
export  const commentsProperty: string[];
export  const revisionsProperty: string[];
export  const customXmlProperty: string[];
export  const defaultTabWidthProperty: string[];
export  const formattingProperty: string[];
export  const trackChangesProperty: string[];
export  const protectionTypeProperty: string[];
export  const enforcementProperty: string[];
export  const hashValueProperty: string[];
export  const saltValueProperty: string[];
export  const cryptProviderTypeProperty: string[];
export  const cryptAlgorithmClassProperty: string[];
export  const cryptAlgorithmTypeProperty: string[];
export  const cryptAlgorithmSidProperty: string[];
export  const cryptSpinCountProperty: string[];
export  const doNotUseHTMLParagraphAutoSpacingProperty: string[];
export  const alignTablesRowByRowProperty: string[];
export  const formFieldShadingProperty: string[];
export  const lastParagraphMarkCopiedProperty: string[];
export  const footnotesProperty: string[];
export  const endnotesProperty: string[];
export  const compatibilityModeProperty: string[];
export  const themeFontLanguagesProperty: string[];
export  const themesProperty: string[];
export  const nameProperty: string[];
export  const basedOnProperty: string[];
export  const nextProperty: string[];
export  const linkProperty: string[];
export  const localeIdProperty: string[];
export  const localeIdFarEastProperty: string[];
export  const localeIdBidiProperty: string[];
export  const boldProperty: string[];
export  const italicProperty: string[];
export  const underlineProperty: string[];
export  const underlineColorProperty: string[];
export  const fontHintTypeProperty: string[];
export  const baselineAlignmentProperty: string[];
export  const strikethroughProperty: string[];
export  const highlightColorProperty: string[];
export  const fontSizeProperty: string[];
export  const fontColorProperty: string[];
export  const fontFamilyProperty: string[];
export  const styleNameProperty: string[];
export  const bidiProperty: string[];
export  const bdoProperty: string[];
export  const breakClearTypeProperty: string[];
export  const fontSizeBidiProperty: string[];
export  const fontFamilyBidiProperty: string[];
export  const boldBidiProperty: string[];
export  const italicBidiProperty: string[];
export  const allCapsProperty: string[];
export  const complexScriptProperty: string[];
export  const fontFamilyAsciiProperty: string[];
export  const fontFamilyFarEastProperty: string[];
export  const fontFamilyNonFarEastProperty: string[];
export  const revisionIdsProperty: string[];
export  const listIdProperty: string[];
export  const characterSpacingProperty: string[];
export  const scalingProperty: string[];
export  const listLevelNumberProperty: string[];
export  const leftIndentProperty: string[];
export  const rightIndentProperty: string[];
export  const firstLineIndentProperty: string[];
export  const textAlignmentProperty: string[];
export  const afterSpacingProperty: string[];
export  const beforeSpacingProperty: string[];
export  const spaceAfterAutoProperty: string[];
export  const spaceBeforeAutoProperty: string[];
export  const lineSpacingProperty: string[];
export  const lineSpacingTypeProperty: string[];
export  const listFormatProperty: string[];
export  const keepWithNextProperty: string[];
export  const widowControlProperty: string[];
export  const keepLinesTogetherProperty: string[];
export  const outlineLevelProperty: string[];
export  const contextualSpacingProperty: string[];
export  const bordersProperty: string[];
export  const tabsProperty: string[];
export  const headerDistanceProperty: string[];
export  const footerDistanceProperty: string[];
export  const differentFirstPageProperty: string[];
export  const differentOddAndEvenPagesProperty: string[];
export  const pageWidthProperty: string[];
export  const pageHeightProperty: string[];
export  const leftMarginProperty: string[];
export  const rightMarginProperty: string[];
export  const topMarginProperty: string[];
export  const bottomMarginProperty: string[];
export  const restartPageNumberingProperty: string[];
export  const pageStartingNumberProperty: string[];
export  const endnoteNumberFormatProperty: string[];
export  const footNoteNumberFormatProperty: string[];
export  const restartIndexForFootnotesProperty: string[];
export  const restartIndexForEndnotesProperty: string[];
export  const initialFootNoteNumberProperty: string[];
export  const initialEndNoteNumberProperty: string[];
export  const pageNumberStyleProperty: string[];
export  const columnsProperty: string[];
export  const numberOfColumnsProperty: string[];
export  const equalWidthProperty: string[];
export  const lineBetweenColumnsProperty: string[];
export  const breakCodeProperty: string[];
export  const cellWidthProperty: string[];
export  const columnSpanProperty: string[];
export  const rowSpanProperty: string[];
export  const verticalAlignmentProperty: string[];
export  const allowBreakAcrossPagesProperty: string[];
export  const isHeaderProperty: string[];
export  const heightTypeProperty: string[];
export  const beforeWidthProperty: string[];
export  const afterWidthProperty: string[];
export  const gridBeforeProperty: string[];
export  const gridBeforeWidthProperty: string[];
export  const gridBeforeWidthTypeProperty: string[];
export  const gridAfterProperty: string[];
export  const gridAfterWidthProperty: string[];
export  const gridAfterWidthTypeProperty: string[];
export  const allowAutoFitProperty: string[];
export  const cellSpacingProperty: string[];
export  const shadingProperty: string[];
export  const tableAlignmentProperty: string[];
export  const preferredWidthProperty: string[];
export  const preferredWidthTypeProperty: string[];
export  const horizontalPositionAbsProperty: string[];
export  const textureProperty: string[];
export  const backgroundColorProperty: string[];
export  const foregroundColorProperty: string[];
export  const shadowProperty: string[];
export  const hasNoneStyleProperty: string[];
export  const verticalProperty: string[];
export  const horizontalProperty: string[];
export  const diagonalUpProperty: string[];
export  const diagonalDownProperty: string[];
export  const lineStyleProperty: string[];
export  const lineWidthProperty: string[];
export  const layoutProperty: string[];
export  const dataFormatProperty: string[];
export  const yValueProperty: string[];
export  const chartDataProperty: string[];
export  const categoryXNameProperty: string[];
export  const lineProperty: string[];
export  const foreColorProperty: string[];
export  const patternProperty: string[];
export  const layoutXProperty: string[];
export  const layoutYProperty: string[];
export  const directionProperty: string[];
export  const endStyleProperty: string[];
export  const numberValueProperty: string[];
export  const markerStyleProperty: string[];
export  const markerColorProperty: string[];
export  const markerSizeProperty: string[];
export  const forwardProperty: string[];
export  const backwardProperty: string[];
export  const interceptProperty: string[];
export  const isDisplayRSquaredProperty: string[];
export  const isDisplayEquationProperty: string[];
export  const seriesNameProperty: string[];
export  const dataLabelProperty: string[];
export  const errorBarProperty: string[];
export  const seriesFormatProperty: string[];
export  const trendLinesProperty: string[];
export  const dataPointsProperty: string[];
export  const firstSliceAngleProperty: string[];
export  const holeSizeProperty: string[];
export  const isLegendKeyProperty: string[];
export  const isBubbleSizeProperty: string[];
export  const isCategoryNameProperty: string[];
export  const isSeriesNameProperty: string[];
export  const isValueProperty: string[];
export  const isPercentageProperty: string[];
export  const isLeaderLinesProperty: string[];
export  const showSeriesKeysProperty: string[];
export  const hasHorizontalBorderProperty: string[];
export  const hasVerticalBorderProperty: string[];
export  const hasBordersProperty: string[];
export  const categoryTypeProperty: string[];
export  const chartCategoryProperty: string[];
export  const chartSeriesProperty: string[];
export  const chartAreaProperty: string[];
export  const chartTitleAreaProperty: string[];
export  const plotAreaProperty: string[];
export  const chartLegendProperty: string[];
export  const chartPrimaryCategoryAxisProperty: string[];
export  const chartPrimaryValueAxisProperty: string[];
export  const chartTitleProperty: string[];
export  const chartTypeProperty: string[];
export  const gapWidthProperty: string[];
export  const overlapProperty: string[];
export  const chartDataTableProperty: string[];
export  const textProperty: string[];
export  const shapeIdProperty: string[];
export  const alternativeTextProperty: string[];
export  const visibleProperty: string[];
export  const belowTextProperty: string[];
export  const horizontalRuleProperty: string[];
export  const widthProperty: string[];
export  const heightProperty: string[];
export  const widthScaleProperty: string[];
export  const heightScaleProperty: string[];
export  const lineFormatProperty: string[];
export  const fillFormatProperty: string[];
export  const textWrappingStyleProperty: string[];
export  const textWrappingTypeProperty: string[];
export  const verticalRelativePercentProperty: string[];
export  const horizontalRelativePercentProperty: string[];
export  const heightRelativePercentProperty: string[];
export  const widthRelativePercentProperty: string[];
export  const zOrderPositionProperty: string[];
export  const layoutInCellProperty: string[];
export  const lockAnchorProperty: string[];
export  const autoShapeTypeProperty: string[];
export  const textFrameProperty: string[];
export  const colorProperty: string[];
export  const fillProperty: string[];
export  const textVerticalAlignmentProperty: string[];
export  const imageStringProperty: string[];
export  const metaFileImageStringProperty: string[];
export  const lengthProperty: string[];
export  const isInlineImageProperty: string[];
export  const isMetaFileProperty: string[];
export  const topProperty: string[];
export  const bottomProperty: string[];
export  const rightProperty: string[];
export  const leftProperty: string[];
export  const getImageHeightProperty: string[];
export  const getImageWidthProperty: string[];
export  const hasFieldEndProperty: string[];
export  const formFieldDataProperty: string[];
export  const fieldTypeProperty: string[];
export  const isCreatedUsingHtmlSpanTagProperty: string[];
export  const enabledProperty: string[];
export  const helpTextProperty: string[];
export  const statusTextProperty: string[];
export  const textInputProperty: string[];
export  const checkBoxProperty: string[];
export  const dropDownListProperty: string[];
export  const maxLengthProperty: string[];
export  const defaultValueProperty: string[];
export  const formatProperty: string[];
export  const sizeTypeProperty: string[];
export  const sizeProperty: string[];
export  const checkedProperty: string[];
export  const dropDownItemsProperty: string[];
export  const selectedIndexProperty: string[];
export  const commentIdProperty: string[];
export  const commentCharacterTypeProperty: string[];
export  const authorProperty: string[];
export  const initialProperty: string[];
export  const dateProperty: string[];
export  const doneProperty: string[];
export  const replyCommentsProperty: string[];
export  const revisionTypeProperty: string[];
export  const revisionIdProperty: string[];
export  const itemIDProperty: string[];
export  const xmlProperty: string[];
export  const footnoteTypeProperty: string[];
export  const symbolCodeProperty: string[];
export  const symbolFontNameProperty: string[];
export  const customMarkerProperty: string[];
export  const inlinesProperty: string[];
export  const contentControlPropertiesProperty: string[];
export  const lockContentControlProperty: string[];
export  const lockContentsProperty: string[];
export  const tagProperty: string[];
export  const titleProperty: string[];
export  const hasPlaceHolderTextProperty: string[];
export  const multiLineProperty: string[];
export  const isTemporaryProperty: string[];
export  const dateCalendarTypeProperty: string[];
export  const dateStorageFormatProperty: string[];
export  const dateDisplayLocaleProperty: string[];
export  const dateDisplayFormatProperty: string[];
export  const isCheckedProperty: string[];
export  const uncheckedStateProperty: string[];
export  const checkedStateProperty: string[];
export  const contentControlListItemsProperty: string[];
export  const xmlMappingProperty: string[];
export  const fontProperty: string[];
export  const valueProperty: string[];
export  const displayTextProperty: string[];
export  const isMappedProperty: string[];
export  const isWordMlProperty: string[];
export  const prefixMappingProperty: string[];
export  const xPathProperty: string[];
export  const storeItemIdProperty: string[];
export  const customXmlPartProperty: string[];
export  const idProperty: string[];
export  const cellFormatProperty: string[];
export  const rowFormatProperty: string[];
export  const cellsProperty: string[];
export  const rowsProperty: string[];
export  const descriptionProperty: string[];
export  const wrapTextAroundProperty: string[];
export  const isLegalStyleNumberingProperty: string[];
export  const positioningProperty: string[];
export  const tableFormatProperty: string[];
export  const allowOverlapProperty: string[];
export  const distanceTopProperty: string[];
export  const distanceRightProperty: string[];
export  const distanceLeftProperty: string[];
export  const distanceBottomProperty: string[];
export  const verticalOriginProperty: string[];
export  const verticalPositionProperty: string[];
export  const horizontalOriginProperty: string[];
export  const horizontalAlignmentProperty: string[];
export  const horizontalPositionProperty: string[];
export  const blocksProperty: string[];
export  const headerProperty: string[];
export  const footerProperty: string[];
export  const evenHeaderProperty: string[];
export  const evenFooterProperty: string[];
export  const firstPageHeaderProperty: string[];
export  const firstPageFooterProperty: string[];
export  const headersFootersProperty: string[];
export  const sectionFormatProperty: string[];
export  const listLevelPatternProperty: string[];
export  const followCharacterProperty: string[];
export  const startAtProperty: string[];
export  const restartLevelProperty: string[];
export  const levelNumberProperty: string[];
export  const numberFormatProperty: string[];
export  const paraStyleNameProperty: string[];
export  const abstractListIdProperty: string[];
export  const nsidProperty: string;
export  const levelsProperty: string[];
export  const overrideListLevelProperty: string[];
export  const levelOverridesProperty: string[];
export  const separatorProperty: string[];
export  const continuationSeparatorProperty: string[];
export  const continuationNoticeProperty: string[];
export  const bookmarkTypeProperty: string[];
export  const propertiesProperty: string[];
export  const tabJustificationProperty: string[];
export  const positionProperty: string[];
export  const deletePositionProperty: string[];
export  const leaderProperty: string[];
export  const tabLeaderProperty: string[];
export  const editRangeIdProperty: string[];
export  const columnFirstProperty: string[];
export  const columnLastProperty: string[];
export  const userProperty: string[];
export  const groupProperty: string[];
export  const editableRangeStartProperty: string[];
export  const spaceProperty: string[];
export  const fontSchemeProperty: string[];
export  const fontSchemeNameProperty: string[];
export  const majorFontSchemeProperty: string[];
export  const minorFontSchemeProperty: string[];
export  const fontSchemeListProperty: string[];
export  const fontTypefaceProperty: string[];
export  const typefaceProperty: string[];
export  const panoseProperty: string[];
export  const typeProperty: string[];
export  const majorUnitProperty: string[];
export  const isAutoMajorProperty: string[];
export  const maximumValueProperty: string[];
export  const minimumValueProperty: string[];
export  const hasMajorGridLinesProperty: string[];
export  const hasMinorGridLinesProperty: string[];
export  const majorTickMarkProperty: string[];
export  const minorTickMarkProperty: string[];
export  const tickLabelPositionProperty: string[];
export  const rgbProperty: string[];
export  const appearanceProperty: string[];
export  const lineFormatTypeProperty: string[];
export  const allowSpaceOfSameStyleInTableProperty: string[];
export  const weightProperty: string[];
export  const inlineFormatProperty: string[];
export  const fontNameProperty: string[];
export  const isCompressedProperty: string[];
export  const columnIndexProperty: string[];
export  const imagesProperty: string[];
export  const isAfterParagraphMarkProperty: string[];
export  const isAfterCellMarkProperty: string[];
export  const isAfterRowMarkProperty: string[];
export  const gridProperty: string[];
export  const columnCountProperty: string[];
export  const isAfterTableMarkProperty: string[];
export  const incrementalOps: string[];
export  const hiddenProperty: string[];
export  const editingPointsProperty: string[];
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/base/events-helper.d.ts
/**
 * ServiceFailureArgs
 */
export interface ServiceFailureArgs {
    /** Status code of the service failure. */
    status: string;
    /** Status text of the service failure. */
    statusText: string;
    /** Service failed URL. */
    url: string;
}
/**
 * @private
 */
export interface AutoResizeEventArgs {
    /**
     * Element to resize
     */
    element?: HTMLElement;
    /**
     * Specifies whether event is canceled or not.
     */
    cancel?: boolean;
}
/**
 * This event arguments provides the necessary information about form field fill event.
 */
export interface FormFieldFillEventArgs {
    /**
     * Specifies form field name.
     */
    fieldName?: string;
    /**
     * Specifies form field value.
     */
    value?: string | boolean | number;
    /**
     * Specifies whether form fill action is canceled or not.
     */
    isCanceled?: boolean;
}
/**
 * This event arguments provides the necessary information about content control fill event.
 */
export interface ContentControlFillEventArgs {
    /**
     * Specifies content control name.
     */
    contentName?: string;
    /**
     * Specifies content control value.
     */
    value?: string | boolean | number;
    /**
     * Specifies whether content control action is canceled or not.
     */
    isCanceled?: boolean;
}
/**
 * Specified form field data
 */
export interface FormFieldData {
    /**
     * Specifies form field name.
     */
    fieldName: string;
    /**
     * Specifies form field data.
     */
    value: string | boolean | number;
}
/**
 * Represents the properties of a comment.
 */
export interface CommentProperties {
    /**
     * Specifies the author of the comment.
     */
    author?: string;
    /**
     * Indicates whether the comment is resolved. The default value is false.
     */
    isResolved?: boolean;
    /**
     * Specifies the date and time of the comment.
     */
    dateTime: Date;
}
/**
 * Represents a comment information.
 */
export interface CommentInfo {
    /**
     * Specifies the text of the comment.
     */
    text: string;
    /**
     * Specifies the replies to the comment.
     */
    replies?: Comment[];
    /**
     * Specifies the unique identifier of the comment.
     */
    id: string;
    /**
     * Specifies the properties of the comment (author, isResolved, dateTime).
     */
    commentProperties: CommentProperties;
}
/**
 * Represents a comment.
 */
export  class Comment {
    /**
     * Specifies the text of the comment.
     */
    text: string;
    /**
     * Specifies the replies to the comment.
     */
    replies?: Comment[];
    /**
     * Specifies the unique identifier of the comment.
     */
    id: string;
    /**
     * Specifies the properties of the comment (author, isResolved, dateTime).
     */
    commentProperties: CommentProperties;
    constructor(id: string, commentProperties: CommentProperties, text: string);
}
/**
 * Represents the data for a content control element.
 */
export interface ContentControlInfo {
    /**
     * Specifies the title of the content control.
     */
    title: string;
    /**
     * Specifies the tag associated with the content control.
     */
    tag: string;
    /**
     * Specifies the value of the content control.
     */
    value: string;
    /**
     * Specifies whether the content control can be deleted.
     */
    canDelete: boolean;
    /**
     * Specifies whether the content control can be edited.
     */
    canEdit: boolean;
    /**
     * Specifies items for the content control, applicable if the type is combobox or dropdownlist.
     */
    items?: string[];
    /**
     * Specifies the type of content control.
     */
    type: ContentControlType;
    /**
     * Specifies the XML string used for data binding.
     * This string represents the XML content to be mapped within the content control.
     */
    xmlString?: string;
    /**
     * Specifies the XPath expression for XML mapping.
     * This path identifies the specific part of the XML data to bind to the content control.
     */
    xmlPath?: string;
}
/**
 * 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;
    /**
     * Indicates whether the selection has been completed or not.
     */
    isCompleted: boolean;
}
/**
 * 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;
    /**
     * Provide necessary information about operations performed in DocumentEditor.
     * @private
     */
    operations?: Operation[];
}
/**
 * This event arguments provides the necessary information about key down event.
 */
export interface DocumentEditorKeyDownEventArgs {
    /**
     * Key down event argument
     */
    event: KeyboardEvent;
    /**
     * Specifies whether the event is handled or not
     */
    isHandled: boolean;
    /**
     * Specifies the source DocumentEditor instance which triggers this key down event.
     *
     * @deprecated
     */
    source: DocumentEditor;
}
/**
 * This event arguments provides the necessary information about searchResultsChange event.
 */
export interface SearchResultsChangeEventArgs {
    /**
     * Specifies the source DocumentEditor instance which triggers this searchResultsChange event.
     *
     * @deprecated
     */
    source: DocumentEditor;
}
/**
 * This event arguments provides the necessary information about customContentMenu event.
 */
export interface CustomContentMenuEventArgs {
    /**
     * Specifies the id of selected custom context menu item.
     */
    id: string;
}
/**
 * This event arguments provides the necessary information about BeforeOpenCloseCustomContentMenu event.
 */
export interface BeforeOpenCloseCustomContentMenuEventArgs {
    /**
     * Specifies the array of added custom context menu item ids.
     */
    ids: string[];
}
/**
 * This event args provides the necessary information about comment delete.
 */
export interface CommentDeleteEventArgs {
    /**
     * Comment author.
     */
    author: string;
    /**
     * Specifies whether the event is canceled or not.
     */
    cancel: boolean;
}
/**
 * This event args provides the necessary information about the revision action.
 */
export interface RevisionActionEventArgs {
    /**
     * Specifies the author of the revision.
     */
    author: string;
    /**
     * Specifies whether the action is canceled or not.
     */
    cancel: boolean;
    /**
     * Specifies the revision type.
     */
    revisionType: RevisionType;
    /**
     * Specifies the current action type.
     */
    actionType: RevisionActionType;
    /**
     * Provide the instance of the current revision being accepted or rejected.
     */
    source: Revision;
}
/**
 * This event args provides the necessary information about comment actions.
 */
export interface CommentActionEventArgs {
    /**
     * Comment author.
     */
    author: string;
    /**
     * Specifies whether the event is canceled or not.
     */
    cancel: boolean;
    /**
     * Specifies the comment action type.
     */
    type: CommentAction;
    /**
     * Specifies the commented text.
     */
    text?: string;
    /**
     * Specifies the mentions.
     */
    mentions?: dropdowns.FieldSettingsModel[];
}
export interface BeforeFileOpenArgs {
    /**
     * The size of opened file in bytes.
     */
    fileSize: number;
    /**
     * Specifies file open is canceled.
     */
    isCanceled?: boolean;
}
/**
 * This event args provides the necessary information about track change.
 */
export interface TrackChangeEventArgs {
    /**
     * Specifies whether the track changes enabled or not.
     */
    isTrackChangesEnabled: boolean;
}
/**
 * This event arguments provides the necessary information about onBeforePane switch.
 */
export interface BeforePaneSwitchEventArgs {
    /**
     * Specifies current pane type.
     */
    type: string;
}
/**
 * This event arguments provides the necessary information about DocumentEditorContainer's contentChange event.
 */
export interface ContainerContentChangeEventArgs {
    /**
     * Specifies the source DocumentEditorContainer instance which triggers this contentChange event.
     *
     * @deprecated
     */
    source: DocumentEditorContainer;
    /**
     * Provide necessary information about operations performed in DocumentEditor.
     * @private
     */
    operations?: Operation[];
}
/**
 * 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;
    /**
     * Indicates whether the selection has been completed or not.
     */
    isCompleted: boolean;
}
/**
 * This event arguments provides the necessary information about DocumentEditorContainer's documentChange event.
 */
export interface ContainerDocumentChangeEventArgs {
    /**
     * Specifies the source DocumentEditorContainer instance which triggers this documentChange event.
     *
     * @deprecated
     */
    source: DocumentEditorContainer;
}
/**
 * Defines customized toolbar items.
 */
export interface CustomToolbarItemModel {
    /**
     * Defines single/multiple classes separated by space used to specify an icon for the button.
     * The icon will be positioned before the text content if text is available, otherwise the icon alone will be rendered.
     *
     * @default ""
     */
    prefixIcon?: string;
    /**
     * Specifies the text to be displayed on the Toolbar button.
     *
     * @default ""
     */
    tooltipText?: string;
    /**
     * Specifies the unique ID to be used with button or input element of Toolbar items.
     *
     * @default ""
     */
    id?: string;
    /**
     * Specifies the text to be displayed on the Toolbar button.
     *
     * @default ""
     */
    text?: string;
    /**
     * Defines single/multiple classes (separated by space) to be used for customization of commands.
     *
     * @default ""
     */
    cssClass?: string;
}
/**
 * Defines the XMLHttpRequest customization properties
 */
export interface XmlHttpRequestEventArgs {
    /**
     * Gets the type of server action that is to be triggered.
     *
     * @default undefined
     * @returns {ServerActionType}
     */
    serverActionType: ServerActionType;
    /**
     * Gets or sets a value indicating whether to enable or disable withCredentials property of XMLHttpRequest object.
     *
     * @default false
     * @returns {boolean}
     */
    withCredentials: boolean;
    /**
     * Gets or sets the collection of custom headers to set in the XMLHttpRequest object.
     *
     * @default undefined
     * @returns {object[]}
     */
    headers: object[];
    /**
     * Gets or sets the timeout to set in the XMLHttpRequest object. It denotes number of milliseconds a request can take before automatically being terminated. The default value is 0, which means there is no timeout.
     *
     * @default 0
     * @returns {number}
     */
    timeout: number;
    /**
     * Gets or sets a value indicating whether this server request has been canceled.
     *
     * @default false
     * @returns {boolean}
     */
    cancel: boolean;
    /**
     * Gets the clipboard data which is to be converted as SFDT in the server-side.
     *
     * @default undefined
     * @returns {object}
     */
    clipboardData?: object;
}
/**
 * This event args provides the necessary information about document load failed event.
 */
export interface DocumentLoadFailedEventArgs {
    /**
     * Specifies the reason for the document load failure.
     */
    status?: string;
    /**
     * Specifies whether to hide the pop-up that appears when opening fails.
     */
    hideOpenFailedPopup?: boolean;
}
//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
     */
    readonly values: V[];
    /**
     * @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/constants.d.ts
/** @hidden */
export  const internalZoomFactorChange: string;
/** @hidden */
export  const contentChangeEvent: string;
/** @hidden */
export  const documentChangeEvent: string;
/** @hidden */
export  const selectionChangeEvent: string;
/** @hidden */
export  const zoomFactorChangeEvent: string;
/** @hidden */
export  const beforeFieldFillEvent: string;
/** @hidden */
export  const afterFieldFillEvent: string;
/** @hidden */
export  const afterFormFieldFillEvent: string;
/** @hidden */
export  const beforeFormFieldFillEvent: string;
/** @hidden */
export  const serviceFailureEvent: string;
/** @hidden */
export  const viewChangeEvent: string;
/** @hidden */
export  const customContextMenuSelectEvent: string;
/** @hidden */
export  const customContextMenuBeforeOpenEvent: string;
/** @hidden */
export  const contentControlEvent: string;
/** @hidden */
export  const beforecontentControlFillEvent: string;
/** @hidden */
export  const aftercontentControlFillEvent: string;
/** @hidden */
export  const commentBeginEvent: string;
/** @hidden */
export  const commentEndEvent: string;
/** @hidden */
export  const beforeCommentActionEvent: string;
/** @hidden */
export  const commentDeleteEvent: string;
/** @hidden */
export  const revisionActionEvent: string;
/** @hidden */
export  const beforePaneSwitchEvent: string;
/** @hidden */
export  const requestNavigateEvent: string;
/** @hidden */
export  const actionCompleteEvent: string;
/** @hidden */
export  const trackChangeEvent: string;
/** @hidden */
export  const searchResultsChangeEvent: string;
/** @hidden */
export  const keyDownEvent: string;
/** @hidden */
export  const toolbarClickEvent: string;
/** @hidden */
export  const beforeFileOpenEvent: string;
/** @hidden */
export  const internalviewChangeEvent: string;
/** @hidden */
export  const beforeXmlHttpRequestSend: string;
/** @hidden */
export  const protectionTypeChangeEvent: string;
/** @hidden */
export  const internalDocumentEditorSettingsChange: string;
/** @hidden */
export  const internalStyleCollectionChange: string;
/** @hidden */
export  const defaultFont: string;
/** @hidden */
export  const internalAutoResize: string;
/** @hidden */
export  const beforeAutoResize: string;
/** @hidden */
export  const trackChanges: string;
/** @hidden */
export  const internalOptionPaneChange: string;
/** @hidden */
export  const documentLoadFailedEvent: string;
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/base/ajax-helper.d.ts
/**
 * @private
 */
export  class XmlHttpRequestHandler {
    /**
     * Specifies the URL to which request to be sent.
     *
     * @default null
     */
    url: string;
    /**
     * @private
     */
    contentType: string;
    /**
     * Specifies the responseType to which request response.
     *
     * @default null
     */
    responseType: XMLHttpRequestResponseType;
    /**
     * A boolean value indicating whether the request should be sent asynchronous or not.
     *
     * @default true
     */
    mode: boolean;
    xmlHttpRequest: XMLHttpRequest;
    /**
     * @private
     */
    customHeaders: Object[];
    /**
     * Send the request to server
     *
     * @param  {object} jsonObject - To send to service
     */
    send(jsonObject: object, httpRequestEventArgs?: XmlHttpRequestEventArgs, isAsync?: boolean): void;
    private sendRequest;
    private stateChange;
    private error;
    /**
     * Specifies callback function to be triggered after XmlHttpRequest is succeeded.
     * The callback will contain server response as the parameter.
     *
     * @event
     */
    onSuccess: Function;
    /**
     * Specifies callback function to be triggered after XmlHttpRequest is got failed.
     * The callback will contain server response as the parameter.
     *
     * @event
     */
    onFailure: Function;
    /**
     * Specifies callback function to be triggered after XmlHttpRequest is got error.
     * The callback will contain server response as the parameter.
     *
     * @event
     */
    onError: Function;
    private successHandler;
    private failureHandler;
    private errorHandler;
    private setCustomAjaxHeaders;
}
 }
export namespace drawings { 

//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/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, maxHeight?: number, pageHeight?: 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/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/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 bBoxTextHeight(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/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/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, annotationCallback?: (annotationID: string) => boolean, annotationType?: string): void;
    /**   @private  */
    renderImageElement(element: ImageElement, canvas: HTMLCanvasElement | SVGElement, transform?: Transforms, parentSvg?: SVGSVGElement, fromPalette?: boolean, annotationCallback?: (annotationID: string) => boolean, annotationType?: string): 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, annotationCallback?: (annotationID: string) => boolean, annotationType?: string): 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/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/canvas-renderer.d.ts
/**
 * Canvas Renderer
 */
/** @private */
export  class CanvasRenderer {
    /** @private */
    imageList: Record<string, ImageEntry[]>;
    /**   @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 isExistingImage;
    private updateImageList;
    private updateCanvasList;
    private loadImage;
    /**   @private  */
    drawImage(canvas: HTMLCanvasElement, obj: ImageAttributes, parentSvg?: SVGSVGElement, fromPalette?: boolean, annotationCallback?: (annotationID: string) => boolean, annotationType?: string): void;
    /**   @private  */
    labelAlign(text: TextAttributes, wrapBounds: TextBounds, childNodes: SubTextElement[]): PointModel;
}
export  function refreshDiagramElements(canvas: HTMLCanvasElement, drawingObjects: DrawingElement[], renderer: DrawingRenderer, annotationCallback?: (annotationID: string) => boolean, annotationType?: string): void;
//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;
    printID?: string;
}
/** @private */
export interface ImageEntry {
    id: string;
    image: HTMLImageElement;
    canvasId: string;
}
//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/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/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/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/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/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/enum/enum.d.ts
/**
 * enum module defines the public enumerations
 */
/**
 * Defines how to handle the text when it exceeds the element bounds
 * Wrap - Wraps the text to next line, when it exceeds its bounds
 * Ellipsis - It truncates the overflown text and represents the clipping with an ellipsis
 * Clip - It clips the overflow text
 */
export  type TextOverflow = 
/** Wrap - Wraps the text to next line, when it exceeds its bounds */
'Wrap' | 
/** Ellipsis - It truncates the overflown text and represents the clipping with an ellipsis */
'Ellipsis' | 
/** Clip - It clips the overflow text */
'Clip';
/**
 * Defines how to decorate the text
 * Overline - Decorates the text with a line above the text
 * Underline - Decorates the text with an underline
 * LineThrough - Decorates the text by striking it with a line
 * None - Text will not have any specific decoration
 */
export  type TextDecoration = 
/** Overline - Decorates the text with a line above the text */
'Overline' | 
/** Underline - Decorates the text with an underline */
'Underline' | 
/** LineThrough - Decorates the text by striking it with a line */
'LineThrough' | 
/** None - Text will not have any specific decoration */
'None';
/**
 * Defines how the text has to be aligned
 * Left - Aligns the text at the left of the text bounds
 * Right - Aligns the text at the right of the text bounds
 * Center - Aligns the text at the center of the text bounds
 * Justify - Aligns the text in a justified manner
 */
export  type TextAlign = 
/** Left - Aligns the text at the left of the text bounds */
'Left' | 
/** Right - Aligns the text at the right of the text bounds */
'Right' | 
/** Center - Aligns the text at the center of the text bounds */
'Center' | 
/** Justify - Aligns the text in a justified manner */
'Justify';
/**
 * Defines how to wrap the text when it exceeds the element bounds
 * WrapWithOverflow - Wraps the text so that no word is broken
 * Wrap - Wraps the text and breaks the word, if necessary
 * NoWrap - Text will no be wrapped
 */
export  type TextWrap = 
/** WrapWithOverflow - Wraps the text so that no word is broken */
'WrapWithOverflow' | 
/** Wrap - Wraps the text and breaks the word, if necessary */
'Wrap' | 
/** NoWrap - Text will no be wrapped */
'NoWrap';
/**
 * Defines how the diagram elements have to be aligned with respect to its immediate parent
 * * Stretch - Stretches the diagram element throughout its immediate parent
 * * Top - Aligns the diagram element at the top of its immediate parent
 * * Bottom - Aligns the diagram element at the bottom of its immediate parent
 * * Center - Aligns the diagram element at the center of its immediate parent
 * * Auto - Aligns the diagram element based on the characteristics of its immediate parent
 */
export  type VerticalAlignment = 
/**
 * Stretch - Stretches the diagram element throughout its immediate parent
 */
'Stretch' | 
/**
 * Top - Aligns the diagram element at the top of its immediate parent
 */
'Top' | 
/**
 * Bottom - Aligns the diagram element at the bottom of its immediate parent
 */
'Bottom' | 
/**
 * Center - Aligns the diagram element at the center of its immediate parent
 */
'Center' | 
/**
 * Auto - Aligns the diagram element based on the characteristics of its immediate parent
 */
'Auto';
/**
 * Defines how the diagram elements have to be aligned with respect to its immediate parent
 * * Stretch - Stretches the diagram element throughout its immediate parent
 * * Left - Aligns the diagram element at the left of its immediate parent
 * * Right - Aligns the diagram element at the right of its immediate parent
 * * Center - Aligns the diagram element at the center of its immediate parent
 * * Auto - Aligns the diagram element based on the characteristics of its immediate parent
 */
export  type HorizontalAlignment = 
/**
 * Stretch - Stretches the diagram element throughout its immediate parent
 */
'Stretch' | 
/**
 * Left - Aligns the diagram element at the left of its immediate parent
 */
'Left' | 
/**
 * Right - Aligns the diagram element at the right of its immediate parent
 */
'Right' | 
/**
 * Center - Aligns the diagram element at the center of its immediate parent
 */
'Center' | 
/**
 * Auto - Aligns the diagram element based on the characteristics of its immediate parent
 */
'Auto';
/**
 * Defines the reference with respect to which the diagram elements have to be aligned
 * Point - Diagram elements will be aligned with respect to a point
 * Object - Diagram elements will be aligned with respect to its immediate parent
 */
export  type RelativeMode = 
/** Point - Diagram elements will be aligned with respect to a point */
'Point' | 
/** Object - Diagram elements will be aligned with respect to its immediate parent */
'Object';
/**
 * Defines the type of the gradient
 * Linear - Sets the type of the gradient as Linear
 * Radial - Sets the type of the gradient as Radial
 */
export  type GradientType = 
/** None - Sets the type of the gradient as None */
'None' | 
/** Linear - Sets the type of the gradient as Linear */
'Linear' | 
/** Radial - Sets the type of the gradient as Radial */
'Radial';
/**
 * Defines the unit mode
 * Absolute - Sets the unit mode type as Absolute
 * Fraction - Sets the unit mode type as Fraction
 */
export  type UnitMode = 
/** Absolute - Sets the unit mode type as Absolute */
'Absolute' | 
/** Fraction - Sets the unit mode type as Fraction */
'Fraction';
/**
 * Defines the container/canvas transform
 * Self - Sets the transform type as Self
 * Parent - Sets the transform type as Parent
 */
export  enum RotateTransform {
    /** Self - Sets the transform type as Self */
    Self = 1,
    /** Parent - Sets the transform type as Parent */
    Parent = 2
}
/** Enables/Disables The element actions
 * None - Diables all element actions are none
 * ElementIsPort - Enable element action is port
 * ElementIsGroup - Enable element action as Group
 * @private
 */
export  enum ElementAction {
    /** Disables all element actions are none  */
    None = 0,
    /** Enable the element action is Port  */
    ElementIsPort = 2,
    /** Enable the element action as Group  */
    ElementIsGroup = 4
}
/**
 * Defines how the annotations have to be aligned with respect to its immediate parent
 * Center - Aligns the annotation at the center of a connector segment
 * Before - Aligns the annotation before a connector segment
 * After - Aligns the annotation after a connector segment
 */
export  type AnnotationAlignment = 
/**
 * Center - Aligns the annotation at the center of a connector segment
 */
'Center' | 
/**
 * Before - Aligns the annotation before a connector segment
 */
'Before' | 
/**
 * After - Aligns the annotation after a connector segment
 */
'After';
/**
 * Defines the type of the annotation
 * Shape - Sets the annotation type as Shape
 * Path - Sets the annotation type as Path
 */
export  type AnnotationTypes = 
/**
 * Shape - Sets the annotation type as Shape
 */
'Shape' | 
/**
 * Path - Sets the annotation type as Path
 */
'Path';
/**
 * Defines the decorator shape of the connector
 * None - Sets the decorator shape as None
 * Arrow - Sets the decorator shape as Arrow
 * Diamond - Sets the decorator shape as Diamond
 * Butt - Sets the decorator shape as Butt
 * Path - Sets the decorator shape as Path
 * OpenArrow - Sets the decorator shape as OpenArrow
 * Circle - Sets the decorator shape as Circle
 * Square - Sets the decorator shape as Square
 * Fletch - Sets the decorator shape as Fletch
 * OpenFetch - Sets the decorator shape as OpenFetch
 * IndentedArrow - Sets the decorator shape as Indented Arrow
 * OutdentedArrow - Sets the decorator shape as Outdented Arrow
 * DoubleArrow - Sets the decorator shape as DoubleArrow
 */
export  type DecoratorShapes = 
/** None - Sets the decorator shape as None */
'None' | 
/** Arrow - Sets the decorator shape as Arrow */
'Arrow' | 
/** Diamond - Sets the decorator shape as Diamond */
'Diamond' | 
/** Butt - Sets the decorator shape as Butt */
'Butt' | 
/** OpenArrow - Sets the decorator shape as OpenArrow */
'OpenArrow' | 
/** Circle - Sets the decorator shape as Circle */
'Circle' | 
/** Square - Sets the decorator shape as Square */
'Square' | 
/** Fletch - Sets the decorator shape as Fletch */
'Fletch' | 
/** OpenFetch - Sets the decorator shape as OpenFetch */
'OpenFetch' | 
/** IndentedArrow - Sets the decorator shape as Indented Arrow */
'IndentedArrow' | 
/** OutdentedArrow - Sets the decorator shape as Outdented Arrow */
'OutdentedArrow' | 
/** DoubleArrow - Sets the decorator shape as DoubleArrow */
'DoubleArrow' | 
/** Custom - Sets the decorator shape as Custom */
'Custom';
/**
 * Enables/Disables shape of the uml classifier shapes
 * * Package - Indicates the scope is public.
 * * Class - Indicates the scope is protected.
 * * Interface - Indicates the scope is private.
 * * Enumeration - Indicates the scope is package.
 * * CollapsedPackage - Indicates the scope is public.
 * * Inheritance - Indicates the scope is protected.
 * * Association - Indicates the scope is private.
 * * Aggregation - Indicates the scope is package.
 * * Composition - Indicates the scope is public.
 * * Realization - Indicates the scope is protected.
 * * DirectedAssociation - Indicates the scope is private.
 * * Dependency - Indicates the scope is package.
 */
export  type ClassifierShape = 'Class' | 'Interface' | 'Enumeration' | 'Inheritance' | 'Association' | 'Aggregation' | 'Composition' | 'Realization' | 'Dependency';
/**
 * Defines the direction the uml connectors
 * * Default - Indicates the direction is Default.
 * * Directional - Indicates the direction is single Directional.
 * * BiDirectional - Indicates the direction is BiDirectional.
 */
export  type AssociationFlow = 'Default' | 'Directional' | 'BiDirectional';
/**
 * Define the Multiplicity of uml connector shapes
 * * OneToOne - Indicates the connector multiplicity is OneToOne.
 * * OneToMany - Indicates the connector multiplicity is OneToMany.
 * * ManyToOne - Indicates the connector multiplicity is ManyToOne.
 * * ManyToOne - Indicates the connector multiplicity is ManyToOne.
 */
export  type Multiplicity = 'OneToOne' | 'OneToMany' | 'ManyToOne' | 'ManyToOne';
/**
 * Defines the segment type of the connector
 * Straight - Sets the segment type as Straight
 */
export  type Segments = 
/** Straight - Sets the segment type as Straight */
'Straight';
/**
 * Defines the constraints to enable/disable certain features of connector.
 * * None - Interaction of the connectors cannot be done.
 * * Select - Selects the connector.
 * * Delete - Delete the connector.
 * * Drag - Drag the connector.
 * * DragSourceEnd - Drag the source end of the connector.
 * * DragTargetEnd - Drag the target end of the connector.
 * * DragSegmentThump - Drag the segment thumb of the connector.
 * * AllowDrop - Allow to drop a node.
 * * Bridging - Creates bridge  on intersection of two connectors.
 * * BridgeObstacle -
 * * InheritBridging - Creates bridge  on intersection of two connectors.
 * * PointerEvents - Sets the pointer events.
 * * Tooltip - Displays a tooltip for the connectors.
 * * InheritToolTip - Displays a tooltip for the connectors.
 * * Interaction - Features of the connector used for interaction.
 * * ReadOnly - Enables ReadOnly
 * * Default - Default features of the connector.
 * @aspNumberEnum
 * @IgnoreSingular
 */
export  enum ConnectorConstraints {
    /** Disable all connector Constraints. */
    None = 1,
    /** Enables connector to be selected. */
    Select = 2,
    /** Enables connector to be Deleted. */
    Delete = 4,
    /** Enables connector to be Dragged. */
    Drag = 8,
    /** Enables connectors source end to be selected. */
    DragSourceEnd = 16,
    /** Enables connectors target end to be selected. */
    DragTargetEnd = 32,
    /** Enables control point and end point of every segment in a connector for editing. */
    DragSegmentThumb = 64,
    /** Enables AllowDrop constraints to the  connector. */
    AllowDrop = 128,
    /** Enables bridging to the connector. */
    Bridging = 256,
    /** Enables or Disables Bridge Obstacles with overlapping of connectors. */
    BridgeObstacle = 512,
    /** Enables bridging to the connector. */
    InheritBridging = 1024,
    /** Used to set the pointer events. */
    PointerEvents = 2048,
    /** Enables or disables tool tip for the connectors */
    Tooltip = 4096,
    /** Enables or disables tool tip for the connectors */
    InheritTooltip = 8192,
    /** Enables Interaction. */
    Interaction = 4218,
    /** Enables ReadOnly */
    ReadOnly = 16384,
    /** Enables all constraints. */
    Default = 11838
}
/**
 * Defines the objects direction
 * Left - Sets the direction type as Left
 * Right - Sets the direction type as Right
 * Top - Sets the direction type as Top
 * Bottom - Sets the direction type as Bottom
 */
export  type Direction = 
/** Left - Sets the direction type as Left */
'Left' | 
/** Right - Sets the direction type as Right */
'Right' | 
/** Top - Sets the direction type as Top */
'Top' | 
/** Bottom - Sets the direction type as Bottom */
'Bottom';
/**
 * Defines the orientation of the layout
 * * TopToBottom - Renders the layout from top to bottom
 * * BottomToTop - Renders the layout from bottom to top
 * * LeftToRight - Renders the layout from left to right
 * * RightToLeft - Renders the layout from right to left
 */
export  type LayoutOrientation = 
/**
 * TopToBottom - Renders the layout from top to bottom
 */
'TopToBottom' | 
/**
 * BottomToTop - Renders the layout from bottom to top
 */
'BottomToTop' | 
/**
 * LeftToRight - Renders the layout from left to right
 */
'LeftToRight' | 
/**
 * RightToLeft - Renders the layout from right to left
 */
'RightToLeft';
/**
 * Detect the status of Crud operation performed in the diagram
 */
export  type Status = 'None' | 'New' | 'Update';
/** Enables/Disables the handles of the selector
 * Rotate - Enable Rotate Thumb
 * ConnectorSource - Enable Connector source point
 * ConnectorTarget - Enable Connector target point
 * ResizeNorthEast - Enable ResizeNorthEast Resize
 * ResizeEast - Enable ResizeEast Resize
 * ResizeSouthEast - Enable ResizeSouthEast Resize
 * ResizeSouth - Enable ResizeSouth Resize
 * ResizeSouthWest - Enable ResizeSouthWest Resize
 * ResizeWest - Enable ResizeWest Resize
 * ResizeNorthWest - Enable ResizeNorthWest Resize
 * ResizeNorth - Enable ResizeNorth Resize
 * Default - Enables all constraints
 * @private
 */
export  enum ThumbsConstraints {
    /** Enable Rotate Thumb  */
    Rotate = 2,
    /** Enable Connector source point  */
    ConnectorSource = 4,
    /** Enable Connector target point  */
    ConnectorTarget = 8,
    /** Enable ResizeNorthEast Resize  */
    ResizeNorthEast = 16,
    /** Enable ResizeEast Resize  */
    ResizeEast = 32,
    /** Enable ResizeSouthEast Resize */
    ResizeSouthEast = 64,
    /** Enable ResizeSouth Resize */
    ResizeSouth = 128,
    /** Enable ResizeSouthWest Resize */
    ResizeSouthWest = 256,
    /** Enable ResizeWest Resize */
    ResizeWest = 512,
    /** Enable ResizeNorthWest Resize */
    ResizeNorthWest = 1024,
    /** Enable ResizeNorth Resize */
    ResizeNorth = 2048,
    /** Enables all constraints */
    Default = 4094
}
/**
 * Defines the visibility of the selector handles
 * None - Hides all the selector elements
 * ConnectorSourceThumb - Shows/hides the source thumb of the connector
 * ConnectorTargetThumb - Shows/hides the target thumb of the connector
 * ResizeSouthEast - Shows/hides the bottom right resize handle of the selector
 * ResizeSouthWest - Shows/hides the bottom left resize handle of the selector
 * ResizeNorthEast - Shows/hides the top right resize handle of the selector
 * ResizeNorthWest - Shows/hides the top left resize handle of the selector
 * ResizeEast - Shows/hides the middle right resize handle of the selector
 * ResizeWest - Shows/hides the middle left resize handle of the selector
 * ResizeSouth - Shows/hides the bottom center resize handle of the selector
 * ResizeNorth - Shows/hides the top center resize handle of the selector
 * Rotate - Shows/hides the rotate handle of the selector
 * UserHandles - Shows/hides the user handles of the selector
 * Resize - Shows/hides all resize handles of the selector
 * @aspNumberEnum
 * @IgnoreSingular
 */
export  enum SelectorConstraints {
    /** Hides all the selector elements */
    None = 1,
    /** Shows/hides the source thumb of the connector */
    ConnectorSourceThumb = 2,
    /** Shows/hides the target thumb of the connector */
    ConnectorTargetThumb = 4,
    /** Shows/hides the bottom right resize handle of the selector */
    ResizeSouthEast = 8,
    /** Shows/hides the bottom left resize handle of the selector */
    ResizeSouthWest = 16,
    /** Shows/hides the top right resize handle of the selector */
    ResizeNorthEast = 32,
    /** Shows/hides the top left resize handle of the selector */
    ResizeNorthWest = 64,
    /** Shows/hides the middle right resize handle of the selector  */
    ResizeEast = 128,
    /** Shows/hides the middle left resize handle of the selector */
    ResizeWest = 256,
    /** Shows/hides the bottom center resize handle of the selector */
    ResizeSouth = 512,
    /** Shows/hides the top center resize handle of the selector */
    ResizeNorth = 1024,
    /**  Shows/hides the rotate handle of the selector */
    Rotate = 2048,
    /** Shows/hides the user handles of the selector */
    UserHandle = 4096,
    /** Shows/hides the default tooltip of nodes and connectors */
    ToolTip = 8192,
    /** Shows/hides all resize handles of the selector */
    ResizeAll = 2046,
    /** Shows all handles of the selector  */
    All = 16382
}
/**
 * Defines how to handle the empty space and empty lines of a text
 * PreserveAll - Preserves all empty spaces and empty lines
 * CollapseSpace - Collapses the consequent spaces into one
 * CollapseAll - Collapses all consequent empty spaces and empty lines
 */
export  type WhiteSpace = 
/** PreserveAll - Preserves all empty spaces and empty lines */
'PreserveAll' | 
/** CollapseSpace - Collapses the consequent spaces into one */
'CollapseSpace' | 
/** CollapseAll - Collapses all consequent empty spaces and empty lines */
'CollapseAll';
/** @private */
export  enum NoOfSegments {
    Zero = 0,
    One = 1,
    Two = 2,
    Three = 3,
    Four = 4,
    Five = 5
}
/**
 * None - Alignment value will be set as none
 * XMinYMin - smallest X value of the view port and  smallest Y value of the view port
 * XMidYMin - midpoint X value of the view port and  smallest Y value of the view port
 * XMaxYMin - maximum X value of the view port and  smallest Y value of the view port
 * XMinYMid - smallest X value of the view port and midpoint Y value of the view port
 * XMidYMid - midpoint X value of the view port and midpoint Y value of the view port
 * XMaxYMid - maximum X value of the view port and midpoint Y value of the view port
 * XMinYMax - smallest X value of the view port and maximum Y value of the view port
 * XMidYMax - midpoint X value of the view port and maximum Y value of the view port
 * XMaxYMax - maximum X value of the view port and maximum Y value of the view port
 */
export  type ImageAlignment = 
/** None - Alignment value will be set as none */
'None' | 
/** XMinYMin - smallest X value of the view port and  smallest Y value of the view port */
'XMinYMin' | 
/** XMidYMin - midpoint X value of the view port and  smallest Y value of the view port */
'XMidYMin' | 
/** XMaxYMin - maximum X value of the view port and  smallest Y value of the view port */
'XMaxYMin' | 
/** XMinYMid - smallest X value of the view port and midpoint Y value of the view port */
'XMinYMid' | 
/** XMidYMid - midpoint X value of the view port and midpoint Y value of the view port */
'XMidYMid' | 
/** XMaxYMid - maximum X value of the view port and midpoint Y value of the view port */
'XMaxYMid' | 
/** XMinYMax - smallest X value of the view port and maximum Y value of the view port */
'XMinYMax' | 
/** XMidYMax - midpoint X value of the view port and maximum Y value of the view port */
'XMidYMax' | 
/** XMaxYMax - maximum X value of the view port and maximum Y value of the view port */
'XMaxYMax';
/**
 * Defines the diagrams stretch
 * None - Sets the stretch type for diagram as None
 * Stretch - Sets the stretch type for diagram as Stretch
 * Meet - Sets the stretch type for diagram as Meet
 * Slice - Sets the stretch type for diagram as Slice
 */
export  type Stretch = 
/** None - Sets the stretch type for diagram as None */
'None' | 
/** Stretch - Sets the stretch type for diagram as Stretch */
'Stretch' | 
/** Meet - Sets the stretch type for diagram as Meet */
'Meet' | 
/** Slice - Sets the stretch type for diagram as Slice */
'Slice';
/**
 * None - Scale value will be set as None for the image
 * Meet - Scale value Meet will be set for the image
 * Slice - Scale value Slice will be set for the image
 */
export  type Scale = 
/** None - Scale value will be set as None for the image */
'None' | 
/** Meet - Scale value Meet will be set for the image */
'Meet' | 
/** Slice - Scale value Slice will be set for the image */
'Slice';
//node_modules/@syncfusion/ej2-drawings/src/drawing/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/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/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
     * @private
     */
    measureFreeText(availableSize: Size, pageHeight: number): Size;
    /**
     * 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/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/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;
    /**
     * sets or gets the print id
     * @private
     */
    printID: string;
    /**
     * 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/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;
    /**
     * Gets/Sets the print id
     */
    /** @private */
    printID: string;
    /**
     * 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/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;
    /**
     * Measures the minimum space that the container requires
     *
     * @param availableSize
     * @param pageHeight
     * @private
     */
    measureFreeText(availableSize: Size, pageHeight: number): 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/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
     * @param pageHeight
     * @private
     */
    measureFreeText(availableSize: Size, pageHeight: number): Size;
    /**
     * 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;
}
 }
export namespace dropdowns { 

//node_modules/@syncfusion/ej2-dropdowns/src/multi-select/multi-select.d.ts

export interface RemoveEventArgs extends SelectEventArgs {
}
/**
 * The Multiselect allows the user to pick a more than one value from list of predefined values.
 * ```html
 * <select id="list">
 *      <option value='1'>Badminton</option>
 *      <option value='2'>Basketball</option>
 *      <option value='3'>Cricket</option>
 *      <option value='4'>Football</option>
 *      <option value='5'>Tennis</option>
 * </select>
 * ```
 * ```typescript
 * <script>
 *   var multiselectObj = new Multiselect();
 *   multiselectObj.appendTo("#list");
 * </script>
 * ```
 */
export  class MultiSelect extends DropDownBase implements inputs.IInput {
    private spinnerElement;
    private selectAllAction;
    private setInitialValue;
    private setDynValue;
    private listCurrentOptions;
    private targetInputElement;
    private selectAllHeight?;
    private searchBoxHeight?;
    private mobFilter?;
    private isFiltered;
    private isFirstClick;
    private focused;
    private initial;
    private backCommand;
    private keyAction;
    private isSelectAll;
    private clearIconWidth;
    private previousFilterText;
    private selectedElementID;
    private focusFirstListItem;
    private currentFocuedListElement;
    private isCustomRendered;
    private isRemoteSelection;
    private isSelectAllTarget;
    private isClearAllItem;
    private previousFocusItem;
    private isRemoveSelection;
    private isaddNonPresentItems;
    private resizer;
    private storedSelectAllHeight;
    private isResizing;
    private originalHeight;
    private originalWidth;
    private originalMouseX;
    private originalMouseY;
    private resizeHeight;
    private resizeWidth;
    private currentRemoveValue;
    private selectedListData;
    private isClearAllAction;
    private isUpdateHeaderHeight;
    private isUpdateFooterHeight;
    private isBlurDispatching;
    private isFilterPrevented;
    private isFilteringAction;
    private headerTemplateHeight;
    /**
     * The `fields` property maps the columns of the data table and binds the data to the component.
     * * text - Maps the text column from data table for each list item.
     * * value - Maps the value column from data table for each list item.
     * * iconCss - Maps the icon class column from data table for each list item.
     * * groupBy - Group the list items with it's related items by mapping groupBy field.
     * ```html
     * <input type="text" tabindex="1" id="list"> </input>
     * ```
     * ```typescript
     *   let customers: MultiSelect = new MultiSelect({
     *      dataSource:new data.DataManager({ url:'http://js.syncfusion.com/demos/ejServices/Wcf/Northwind.svc/' }),
     *      query: new data.Query().from('Customers').select(['ContactName', 'CustomerID']).take(5),
     *      fields: { text: 'ContactName', value: 'CustomerID' },
     *      placeholder: 'Select a customer'
     *   });
     *   customers.appendTo("#list");
     * ```
     *
     * @default {text: null, value: null, iconCss: null, groupBy: null}
     */
    fields: FieldSettingsModel;
    /**
     * Enable or disable persisting MultiSelect component's state between page reloads.
     * If enabled, following list of states will be persisted.
     * 1. value
     *
     * @default false
     */
    enablePersistence: boolean;
    /**
     * Accepts the template design and assigns it to the group headers present in the MultiSelect popup list.
     *
     * @default null
     * @aspType string
     */
    groupTemplate: string | Function;
    /**
     * Accepts the template design and assigns it to popup list of MultiSelect component
     * when no data is available on the component.
     *
     * @default 'No records found'
     * @aspType string
     */
    noRecordsTemplate: string | Function;
    /**
     * Accepts the template and assigns it to the popup list content of the MultiSelect component
     * when the data fetch request from the remote server fails.
     *
     * @default 'Request failed'
     * @aspType string
     */
    actionFailureTemplate: string | Function;
    /**
     * Specifies the `sortOrder` to sort the data source. The available type of sort orders are
     * * `None` - The data source is not sorting.
     * * `Ascending` - The data source is sorting with ascending order.
     * * `Descending` - The data source is sorting with descending order.
     *
     * @default null
     * @asptype object
     * @aspjsonconverterignore
     */
    sortOrder: lists.SortOrder;
    /**
     * Specifies a value that indicates whether the MultiSelect component is enabled or not.
     *
     * @default true
     */
    enabled: boolean;
    /**
     * Defines whether to allow the cross-scripting site or not.
     *
     * @default true
     */
    enableHtmlSanitizer: boolean;
    /**
     * Defines whether to enable virtual scrolling in the component.
     *
     * @default false
     */
    enableVirtualization: boolean;
    /**
     * Accepts the list items either through local or remote service and binds it to the MultiSelect component.
     * It can be an array of JSON Objects or an instance of
     * `data.DataManager`.
     *
     * @default []
     */
    dataSource: {
        [key: string]: Object;
    }[] | data.DataManager | string[] | number[] | boolean[];
    /**
     * Accepts the external `data.Query`
     * which will execute along with the data processing in MultiSelect.
     *
     * @default null
     */
    query: data.Query;
    /**
     * Determines on which filter type, the MultiSelect component needs to be considered on search action.
     * The `FilterType` and its supported data types are
     *
     * <table>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * FilterType<br/></td><td colSpan=1 rowSpan=1>
     * Description<br/></td><td colSpan=1 rowSpan=1>
     * Supported Types<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * StartsWith<br/></td><td colSpan=1 rowSpan=1>
     * Checks whether a value begins with the specified value.<br/></td><td colSpan=1 rowSpan=1>
     * String<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * EndsWith<br/></td><td colSpan=1 rowSpan=1>
     * Checks whether a value ends with specified value.<br/><br/></td><td colSpan=1 rowSpan=1>
     * <br/>String<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * Contains<br/></td><td colSpan=1 rowSpan=1>
     * Checks whether a value contains with specified value.<br/><br/></td><td colSpan=1 rowSpan=1>
     * <br/>String<br/></td></tr>
     * </table>
     *
     * The default value set to `StartsWith`, all the suggestion items which contain typed characters to listed in the suggestion popup.
     *
     * @default 'StartsWith'
     */
    filterType: FilterType;
    /**
     * specifies the z-index value of the component popup element.
     *
     * @default 1000
     */
    zIndex: number;
    /**
     * ignoreAccent set to true, then ignores the diacritic characters or accents when filtering.
     */
    ignoreAccent: boolean;
    /**
     * Overrides the global culture and localization value for this component. Default global culture is 'en-US'.
     *
     * @default 'en-US'
     */
    locale: string;
    /**
     * Specifies a Boolean value that indicates the whether the grouped list items are
     * allowed to check by checking the group header in checkbox mode.
     * By default, there is no checkbox provided for group headers.
     * This property allows you to render checkbox for group headers and to select
     * all the grouped items at once
     *
     * @default false
     */
    enableGroupCheckBox: boolean;
    /**
     * Sets the CSS classes to root element of this component which helps to customize the
     * complete styles.
     *
     * @default null
     */
    cssClass: string;
    /**
     * Gets or sets the width of the component. By default, it sizes based on its parent.
     * container dimension.
     *
     * @default '100%'
     * @aspType string
     */
    width: string | number;
    /**
     * Gets or sets the height of the popup list. By default it renders based on its list item.
     * > For more details about the popup configuration refer to
     * [`Popup Configuration`](../../multi-select/getting-started/#configure-the-popup-list) documentation.
     *
     * @default '300px'
     * @aspType string
     */
    popupHeight: string | number;
    /**
     * Gets or sets the width of the popup list and percentage values has calculated based on input width.
     * > For more details about the popup configuration refer to
     * [`Popup Configuration`](../../multi-select/getting-started/#configure-the-popup-list) documentation.
     *
     * @default '100%'
     * @aspType string
     */
    popupWidth: string | number;
    /**
     * Gets or sets the placeholder in the component to display the given information
     * in input when no item selected.
     *
     * @default null
     */
    placeholder: string;
    /**
     * Accepts the value to be displayed as a watermark text on the filter bar.
     *
     * @default null
     */
    filterBarPlaceholder: string;
    /**
     * Gets or sets the additional attribute to `HtmlAttributes` property in MultiSelect,
     * which helps to add attribute like title, name etc, input should be key value pair.
     *
     * {% codeBlock src='multiselect/htmlAttributes/index.md' %}{% endcodeBlock %}
     *
     * @default {}
     */
    htmlAttributes: {
        [key: string]: string;
    };
    /**
     * Accepts the template design and assigns it to the selected list item in the input element of the component.
     * For more details about the available template options refer to
     * [`Template`](../../multi-select/templates) documentation.
     *
     * We have built-in `template engine`
     * which provides options to compile template string into a executable function.
     * For EX: We have expression evolution as like ES6 expression string literals.
     *
     * @default null
     * @aspType string
     */
    valueTemplate: string | Function;
    /**
     * 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
     * @aspType string
     */
    headerTemplate: string | Function;
    /**
     * 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
     * @aspType string
     */
    footerTemplate: string | Function;
    /**
     * 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
     * @aspType string
     */
    itemTemplate: string | Function;
    /**
     * 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;
    /**
     * Specifies the delay time in milliseconds for filtering operations.
     *
     * @default 300
     */
    debounceDelay: number;
    /**
     * Defines whether the popup opens in fullscreen mode on mobile devices when filtering is enabled. When set to false, the popup will display similarly on both mobile and desktop devices.
     *
     * @default true
     */
    isDeviceFullScreen: boolean;
    /**
     * By default, the multiselect component fires the change event while focus out the component.
     * If you want to fires the change event on every value selection and remove, then disable the changeOnBlur property.
     *
     * @default true
     */
    changeOnBlur: boolean;
    /**
     * Allows user to add a
     * [`custom value`](../../multi-select/custom-value), the value which is not present in the suggestion list.
     *
     * @default false
     */
    allowCustomValue: boolean;
    /**
     * Enables close icon with the each selected item.
     *
     * @default true
     */
    showClearButton: boolean;
    /**
     * Sets limitation to the value selection.
     * based on the limitation, list selection will be prevented.
     *
     * @default 1000
     */
    maximumSelectionLength: number;
    /**
     * Gets or sets the `readonly` to input or not. Once enabled, just you can copy or highlight
     * the text however tab key action will perform.
     *
     * @default false
     */
    readonly: boolean;
    /**
     * Gets or sets a value that indicates whether the Multiselect popup can be resized.
     * When set to `true`, a resize handle appears in the bottom-right corner of the popup,
     * allowing the user to resize the width and height of the popup.
     *
     * @default false
     */
    allowResize: boolean;
    /**
     * Selects the list item which maps the data `text` field in the component.
     *
     * @default null
     * @aspType string
     */
    text: string | null;
    /**
     * Selects the list item which maps the data `value` field in the component.
     * {% codeBlock src='multiselect/value/index.md' %}{% endcodeBlock %}
     *
     * @default null
     * @isGenericType true
     */
    value: number[] | string[] | boolean[] | object[] | null;
    /**
     * Defines whether the object binding is allowed or not in the component.
     *
     * @default false
     */
    allowObjectBinding: boolean;
    /**
     * Hides the selected item from the list item.
     *
     * @default true
     */
    hideSelectedItem: boolean;
    /**
     * Based on the property, when item get select popup visibility state will changed.
     *
     * @default true
     */
    closePopupOnSelect: boolean;
    /**
     * configures visibility mode for component interaction.
     *
     * - `Box` - selected items will be visualized in chip.
     *
     * - `Delimiter` - selected items will be visualized in text content.
     *
     * - `Default` - on `focus in` component will act in `box` mode.
     * on `blur` component will act in `delimiter` mode.
     *
     * - `CheckBox` - The 'checkbox' will be visualized in list item.
     *
     * {% codeBlock src="multiselect/visual-mode-api/index.ts" %}{% endcodeBlock %}
     *
     * {% codeBlock src="multiselect/visual-mode-api/index.html" %}{% endcodeBlock %}
     *
     * @default Default
     */
    mode: visualMode;
    /**
     * Sets the delimiter character for 'default' and 'delimiter' visibility modes.
     *
     * @default ','
     */
    delimiterChar: string;
    /**
     * Sets [`case sensitive`](../../multi-select/filtering/#case-sensitive-filtering)
     * option for filter operation.
     *
     * @default true
     */
    ignoreCase: boolean;
    /**
     * Allows you to either show or hide the DropDown button on the component
     *
     * @default false
     */
    showDropDownIcon: boolean;
    /**
     * Specifies whether to display the floating label above the input element.
     * Possible values are:
     * * Never: The label will never float in the input when the placeholder is available.
     * * Always: The floating label will always float above the input.
     * * Auto: The floating label will float above the input after focusing or entering a value in the input.
     *
     * @default Syncfusion.EJ2.Inputs.inputs.FloatLabelType.Never
     * @aspType Syncfusion.EJ2.Inputs.inputs.FloatLabelType
     * @isEnumeration true
     */
    floatLabelType: inputs.FloatLabelType;
    /**
     * Allows you to either show or hide the selectAll option on the component.
     *
     * @default false
     */
    showSelectAll: boolean;
    /**
     * Specifies the selectAllText to be displayed on the component.
     *
     * @default 'select All'
     */
    selectAllText: string;
    /**
     * Specifies the UnSelectAllText to be displayed on the component.
     *
     * @default 'select All'
     */
    unSelectAllText: string;
    /**
     * Reorder the selected items in popup visibility state.
     *
     * @default true
     */
    enableSelectionOrder: boolean;
    /**
     * Whether to automatically open the popup when the control is clicked.
     *
     * @default true
     */
    openOnClick: boolean;
    /**
     * By default, the typed value is converting into chip or update as value of the component when you press the enter key or select from the popup.
     * If you want to convert the typed value into chip or update as value of the component while focusing out the component, then enable this property.
     * If custom value is enabled, both custom value and value present in the list are converted into tag while focusing out the component;
 Otherwise, value present in the list is converted into tag while focusing out the component.
     *
     * @default false
     */
    addTagOnBlur: boolean;
    /**
     * Fires each time when selection changes happened in list items after model and input value get affected.
     *
     * @event change
     */
    change: base.EmitType<MultiSelectChangeEventArgs>;
    /**
     * Fires before the selected item removed from the widget.
     *
     * @event removing
     */
    removing: base.EmitType<RemoveEventArgs>;
    /**
     * Fires after the selected item removed from the widget.
     *
     * @event removed
     */
    removed: base.EmitType<RemoveEventArgs>;
    /**
     * Fires before select all process.
     *
     * @event beforeSelectAll
     * @blazorProperty 'beforeSelectAll'
     */
    beforeSelectAll: base.EmitType<ISelectAllEventArgs>;
    /**
     * Fires after select all process completion.
     *
     * @event selectedAll
     */
    selectedAll: base.EmitType<ISelectAllEventArgs>;
    /**
     * Fires when popup opens before animation.
     *
     * @event beforeOpen
     */
    beforeOpen: base.EmitType<Object>;
    /**
     * Fires when popup opens after animation completion.
     *
     * @event open
     */
    open: base.EmitType<PopupEventArgs>;
    /**
     * Fires when popup close after animation completion.
     *
     * @event close
     */
    close: base.EmitType<PopupEventArgs>;
    /**
     * Event triggers when the input get focus-out.
     *
     * @event blur
     */
    blur: base.EmitType<Object>;
    /**
     * Event triggers when the input get focused.
     *
     * @event focus
     */
    focus: base.EmitType<Object>;
    /**
     * Event triggers when the chip selection.
     *
     * @event chipSelection
     */
    chipSelection: base.EmitType<Object>;
    /**
     * Triggers when the user finishes resizing the Multiselect popup.
     *
     * @event resizeStop
     */
    resizeStop: base.EmitType<Object>;
    /**
     * Triggers continuously while the Multiselect popup is being resized by the user.
     * This event provides live updates on the width and height of the popup.
     *
     * @event resizing
     */
    resizing: base.EmitType<Object>;
    /**
     * Triggers when the user starts resizing the Multiselect popup.
     *
     * @event resizeStart
     */
    resizeStart: base.EmitType<Object>;
    /**
     * Triggers event,when user types a text in search box.
     * > For more details about filtering, refer to [`Filtering`](../../multi-select/filtering) documentation.
     *
     * @event filtering
     */
    filtering: base.EmitType<FilteringEventArgs>;
    /**
     * Fires before set the selected item as chip in the component.
     * > For more details about chip customization refer [`Chip Customization`](../../multi-select/chip-customization)
     *
     * @event tagging
     */
    tagging: base.EmitType<TaggingEventArgs>;
    /**
     * Triggers when the [`customValue`](../../multi-select/custom-value) is selected.
     *
     * @event customValueSelection
     */
    customValueSelection: base.EmitType<CustomValueEventArgs>;
    /**
     * Constructor for creating the DropDownList widget.
     *
     * @param {MultiSelectModel} option - Specifies the MultiSelect model.
     * @param {string | HTMLElement} element - Specifies the element to render as component.
     * @private
     */
    constructor(option?: MultiSelectModel, element?: string | HTMLElement);
    private isValidKey;
    private mainList;
    ulElement: HTMLElement;
    private mainData;
    protected virtualCustomSelectData: {
        [key: string]: Object;
    }[];
    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 isInitRemoteVirtualData;
    private isDynamicRemoteVirtualData;
    private popupWrapper;
    private keyCode;
    private beforePopupOpen;
    private remoteCustomValue;
    private filterAction;
    private remoteFilterAction;
    private selectAllEventData;
    private selectAllEventEle;
    private filterParent;
    private removeIndex;
    private preventSetCurrentData;
    private virtualCustomData;
    private isSelectAllLoop;
    private initialPopupHeight;
    private enableRTL;
    requiredModules(): base.ModuleDeclaration[];
    private updateHTMLAttribute;
    private updateReadonly;
    private updateClearButton;
    private updateCssClass;
    private updateOldPropCssClass;
    private onPopupShown;
    private updateVirtualReOrderList;
    private updateListItems;
    private loadTemplate;
    private setScrollPosition;
    private focusAtFirstListItem;
    private focusAtLastListItem;
    protected getAriaAttributes(): {
        [key: string]: string;
    };
    private updateListARIA;
    private ensureAriaDisabled;
    private removelastSelection;
    protected onActionFailure(e: Object): void;
    protected targetElement(): string;
    private getForQuery;
    protected onActionComplete(ulElement: HTMLElement, list: {
        [key: string]: Object;
    }[] | number[] | boolean[] | string[], e?: Object, isUpdated?: boolean): void;
    private updateActionList;
    private refreshSelection;
    private hideGroupItem;
    protected getValidLi(): HTMLElement;
    private checkSelectAll;
    private openClick;
    private keyUp;
    /**
     * To filter the multiselect data from given data source by using query
     *
     * @param {Object[] | data.DataManager } dataSource - Set the data source to filter.
     * @param {data.Query} query - Specify the query to filter the data.
     * @param {FieldSettingsModel} fields - Specify the fields to map the column in the data table.
     * @returns {void}
     */
    filter(dataSource: {
        [key: string]: Object;
    }[] | data.DataManager | string[] | number[] | boolean[], query?: data.Query, fields?: FieldSettingsModel): void;
    protected getQuery(query: data.Query): data.Query;
    private virtualFilterQuery;
    protected getTakeValue(): number;
    private dataUpdater;
    private tempQuery;
    private tempValues;
    private checkForCustomValue;
    protected getNgDirective(): string;
    private wrapperClick;
    private checkAndScrollParent;
    private enable;
    private scrollFocusStatus;
    private keyDownStatus;
    private onBlurHandler;
    private calculateWidth;
    private checkPlaceholderSize;
    private setPlaceholderSize;
    private refreshInputHight;
    private validateValues;
    private updateValueState;
    private updateTempValue;
    private updateAriaActiveDescendant;
    private pageUpSelection;
    private pageDownSelection;
    getItems(): Element[];
    private focusInHandler;
    private showDelimWrapper;
    private hideDelimWrapper;
    private expandTextbox;
    private isPopupOpen;
    private refreshPopup;
    private checkTextLength;
    private popupKeyActions;
    protected updatePopupPosition(): void;
    private updateAriaAttribute;
    private homeNavigation;
    private updateSelectionList;
    protected handleVirtualKeyboardActions(e: base.KeyboardEventArgs, pageCount: number): void;
    private onKeyDown;
    private arrowDown;
    private arrowUp;
    private spaceKeySelection;
    private checkBackCommand;
    private keyNavigation;
    private selectByKey;
    private escapeAction;
    private scrollBottom;
    private scrollTop;
    private isScrollerAtEnd;
    private selectListByKey;
    private refreshListItems;
    private removeSelectedChip;
    private moveByTop;
    private clickHandler;
    private moveByList;
    private getElementByValue;
    private updateCheck;
    private moveBy;
    private chipClick;
    private removeChipSelection;
    private addChipSelection;
    private onChipRemove;
    private makeTextBoxEmpty;
    private refreshPlaceHolder;
    private removeAllItems;
    private invokeCheckboxSelection;
    private removeValue;
    private updateMainList;
    private removeChip;
    private setWidth;
    private updateChipStatus;
    private indexOfObjectInArray;
    private addValue;
    private checkMaxSelection;
    private dispatchSelect;
    private addChip;
    private removeChipFocus;
    private onMobileChipInteraction;
    private multiCompiler;
    private encodeHtmlEntities;
    private getChip;
    private calcPopupWidth;
    private mouseIn;
    private mouseOut;
    protected listOption(dataSource: {
        [key: string]: Object;
    }[], fields: FieldSettingsModel): FieldSettingsModel;
    private renderPopup;
    private checkCollision;
    private setHeaderTemplate;
    private setFooterTemplate;
    private updateInitialData;
    private clearAll;
    private preventSelection;
    private clearAllCallback;
    private windowResize;
    private resetValueHandler;
    protected wireEvent(): void;
    private onInput;
    private pasteHandler;
    protected performFiltering(e: base.KeyboardEventArgs | MouseEvent): void;
    protected search(e: base.KeyboardEventArgs): void;
    protected preRender(): void;
    protected getLocaleName(): string;
    private initializeData;
    private updateData;
    private initialTextUpdate;
    protected renderList(isEmptyData?: boolean): void;
    private initialValueUpdate;
    protected updateActionCompleteData(li: HTMLElement, item: {
        [key: string]: Object;
    }): void;
    protected updateAddItemList(list: HTMLElement, itemCount: number): void;
    protected updateDataList(): void;
    protected isValidLI(li: Element | HTMLElement): boolean;
    protected updateListSelection(li: Element, e: MouseEvent | base.KeyboardEventArgs, length?: number): void;
    private updateListSelectEventCallback;
    protected removeListSelection(): void;
    private removeHover;
    private removeFocus;
    private addListHover;
    private addListFocus;
    private addListSelection;
    private updateDelimeter;
    private onMouseClick;
    private findGroupStart;
    private findGroupAttrtibutes;
    private updateCheckBox;
    private disableGroupHeader;
    private deselectHeader;
    private onMouseOver;
    private onMouseLeave;
    private onListMouseDown;
    private onDocumentClick;
    private wireListEvents;
    private unwireListEvents;
    private hideOverAllClear;
    private showOverAllClear;
    /**
     * Sets the focus to widget for interaction.
     *
     * @returns {void}
     */
    focusIn(): void;
    /**
     * Remove the focus from widget, if the widget is in focus state.
     *
     * @returns {void}
     */
    focusOut(): void;
    /**
     * Shows the spinner loader.
     *
     * @returns {void}
     */
    showSpinner(): void;
    /**
     * Hides the spinner loader.
     *
     * @returns {void}
     */
    hideSpinner(): void;
    protected updateWrapperText(wrapperType: HTMLElement, wrapperData: string): void;
    private updateDelimView;
    private checkClearIconWidth;
    private updateRemainWidth;
    private updateRemainTemplate;
    private updateRemainingText;
    private getOverflowVal;
    private unWireEvent;
    protected resizingWireEvent(): void;
    protected resizingUnWireEvent(): void;
    private selectAllItem;
    protected virtualSelectionAll(state: boolean, li: NodeListOf<HTMLElement> | HTMLElement[], event: MouseEvent | base.KeyboardEventArgs): void;
    private updateValue;
    private updateHiddenElement;
    private updatedataValueItems;
    private textboxValueUpdate;
    protected setZIndex(): void;
    protected updateDataSource(prop?: MultiSelectModel): void;
    private onLoadSelect;
    protected selectAllItems(state: boolean, event?: MouseEvent): void;
    /**
     * Get the properties to be maintained in the persisted state.
     *
     * @returns {string} Returns the persisted data of the component.
     */
    protected getPersistData(): string;
    /**
     * Dynamically change the value of properties.
     *
     * @param {MultiSelectModel} newProp - Returns the dynamic property value of the component.
     * @param {MultiSelectModel} oldProp - Returns the previous property value of the component.
     * @private
     * @returns {void}
     */
    onPropertyChanged(newProp: MultiSelectModel, oldProp: MultiSelectModel): void;
    private reInitializePoup;
    private totalItemsCount;
    private presentItemValue;
    private addNonPresentItems;
    private updateVal;
    /**
     * Adds a new item to the multiselect popup list. By default, new item appends to the list as the last item,
     * but you can insert based on the index parameter.
     *
     * @param { Object[] } items - Specifies an array of JSON data or a JSON data.
     * @param { number } itemIndex - Specifies the index to place the newly added item in the popup list.
     * @returns {void}
     */
    addItem(items: {
        [key: string]: Object;
    }[] | {
        [key: string]: Object;
    } | string | boolean | number | string[] | boolean[] | number[], itemIndex?: number): void;
    /**
     * Hides the popup, if the popup in a open state.
     *
     * @param {MouseEvent | base.KeyboardEventArgs} e - Specifies the mouse event or keyboard event.
     * @returns {void}
     */
    hidePopup(e?: MouseEvent | base.KeyboardEventArgs): void;
    /**
     * Shows the popup, if the popup in a closed state.
     *
     * @param {MouseEvent | base.KeyboardEventArgs} e - Specifies the mouse event or keyboard event.
     * @returns {void}
     */
    showPopup(e?: MouseEvent | base.KeyboardEventArgs | TouchEvent): void;
    /**
     * Based on the state parameter, entire list item will be selected/deselected.
     * parameter
     * `true`   - Selects entire list items.
     * `false`  - Un Selects entire list items.
     *
     * @param {boolean} state - if it’s true then Selects the entire list items. If it’s false the Unselects entire list items.
     * @returns {void}
     */
    selectAll(state: boolean): void;
    /**
     * Return the module name of this component.
     *
     * @private
     * @returns {string} Return the module name of this component.
     */
    getModuleName(): string;
    /**
     * Allows you to clear the selected values from the Multiselect component.
     *
     * @returns {void}
     */
    clear(): void;
    /**
     * To Initialize the control rendering
     *
     * @private
     * @returns {void}
     */
    render(): void;
    protected setResize(): void;
    protected startResizing(event: MouseEvent | TouchEvent): void;
    protected resizePopup(event?: MouseEvent | TouchEvent): void;
    protected stopResizing(event: MouseEvent | TouchEvent): void;
    private getListHeight;
    /**
     * Removes disabled values from the given array.
     *
     * @param { number[] | string[] | boolean[] | object[] } value - The array to check.
     * @returns {void}
     */
    private removeDisabledItemsValue;
    private checkInitialValue;
    private checkAutoFocus;
    private updatevirtualizationList;
    private setFloatLabelType;
    private addValidInputClass;
    private dropDownIcon;
    private initialUpdate;
    /**
     * Method to disable specific item in the popup.
     *
     * @param {string | number | object | HTMLLIElement} item - Specifies the item to be disabled.
     * @returns {void}
     * @deprecated
     */
    disableItem(item: string | number | object | HTMLLIElement): void;
    /**
     * Removes the component from the DOM and detaches all its related event handlers. Also it removes the attributes and classes.
     *
     * @method destroy
     * @returns {void}
     */
    destroy(): void;
}
export interface CustomValueEventArgs {
    /**
     * Gets the newly added data.
     *
     */
    newData: Object;
    /**
     * Illustrates whether the current action needs to be prevented or not.
     */
    cancel: boolean;
}
export interface TaggingEventArgs {
    /**
     * If the event is triggered by interaction, it returns true. Otherwise, it returns false.
     */
    isInteracted: boolean;
    /**
     * Returns the selected item as JSON Object from the data source.
     *
     */
    itemData: FieldSettingsModel;
    /**
     * Specifies the original event arguments.
     */
    e: MouseEvent | KeyboardEvent | TouchEvent;
    /**
     * To set the classes to chip element
     *
     * @param  { string } classes - Specify the classes to chip element.
     * @returns {void}
     */
    setClass: Function;
    /**
     * Illustrates whether the current action needs to be prevented or not.
     */
    cancel: boolean;
}
export interface MultiSelectChangeEventArgs {
    /**
     * If the event is triggered by interaction, it returns true. Otherwise, it returns false.
     */
    isInteracted: boolean;
    /**
     * Returns the component initial Value.
     *
     * @isGenericType true
     */
    oldValue: number[] | string[] | boolean[] | object[];
    /**
     * Returns the updated component Values.
     *
     * @isGenericType true
     */
    value: number[] | string[] | boolean[] | object[];
    /**
     * Specifies the original event arguments.
     */
    e: MouseEvent | KeyboardEvent | TouchEvent;
    /**
     * Returns the root element of the component.
     */
    element: HTMLElement;
    /**
     * Specifies the original event arguments.
     */
    event: MouseEvent | KeyboardEvent | TouchEvent;
}
export  type visualMode = 'Default' | 'Delimiter' | 'Box' | 'CheckBox';
export interface ISelectAllEventArgs {
    /**
     * If the event is triggered by interaction, it returns true. Otherwise, it returns false.
     */
    isInteracted: boolean;
    /**
     * Returns the selected list items.
     */
    items: HTMLLIElement[];
    /**
     * Returns the selected items as JSON Object from the data source.
     *
     */
    itemData: FieldSettingsModel[];
    /**
     * Specifies the original event arguments.
     */
    event: MouseEvent | KeyboardEvent | TouchEvent;
    /**
     * Specifies whether it is selectAll or deSelectAll.
     */
    isChecked?: boolean;
    /**
     * Specifies whether the select event is fired.
     */
    preventSelectEvent?: boolean;
}
//node_modules/@syncfusion/ej2-dropdowns/src/multi-base.select/multi-base.select-model.d.ts
/**
 * Interface for a class MultiSelect
 */
export interface MultiSelectModel extends DropDownBaseModel{
    /**
     * The `fields` property maps the columns of the data table and binds the data to the component.
     * * text - Maps the text column from data table for each list item.
     * * value - Maps the value column from data table for each list item.
     * * iconCss - Maps the icon class column from data table for each list item.
     * * groupBy - Group the list items with it's related items by mapping groupBy field.
     * ```html
     * <input type="text" tabindex="1" id="list"> </input>
     * ```
     * ```typescript
     *   let customers$: MultiSelect = new MultiSelect({
     *      dataSource:new data.DataManager({ url:'http://js.syncfusion.com/demos/ejServices/Wcf/Northwind.svc/' }),
     *      query: new data.Query().from('Customers').base.select(['ContactName', 'CustomerID']).take(5),
     *      fields: { text: 'ContactName', value: 'CustomerID' },
     *      placeholder: 'Select a customer'
     *   });
     *   customers.appendTo("#list");
     * ```
     *
     * @default {text: null, value: null, iconCss: null, groupBy: null}
     */
    fields?: FieldSettingsModel;
    /**
     * Enable or disable persisting MultiSelect component's state between page reloads.
     * If enabled, following list of states will be persisted.
     * 1. value
     *
     * @default false
     */
    enablePersistence?: boolean;
    /**
     * Accepts the template design and assigns it to the group headers present in the MultiSelect popup list.
     *
     * @default null
     * @aspType string
     */
    groupTemplate?: string | Function;
    /**
     * Accepts the template design and assigns it to popup list of MultiSelect component
     * when no data is available on the component.
     *
     * @default 'No records found'
     * @aspType string
     */
    noRecordsTemplate?: string | Function;
    /**
     * Accepts the template and assigns it to the popup list content of the MultiSelect component
     * when the data fetch request from the remote server fails.
     *
     * @default 'Request failed'
     * @aspType string
     */
    actionFailureTemplate?: string | Function;
    /**
     * Specifies the `sortOrder` to sort the data source. The available type of sort orders are
     * * `None` - The data source is not sorting.
     * * `Ascending` - The data source is sorting with ascending order.
     * * `Descending` - The data source is sorting with descending order.
     *
     * @default null
     * @asptype object
     * @aspjsonconverterignore
     */
    sortOrder?: lists.SortOrder;
    /**
     * Specifies a value that indicates whether the MultiSelect component is enabled or not.
     *
     * @default true
     */
    enabled?: boolean;
    /**
     * Defines whether to allow the cross-scripting site or not.
     *
     * @default true
     */
    enableHtmlSanitizer?: boolean;
    /**
     * Defines whether to enable virtual scrolling in the component.
     *
     * @default false
     */
    enableVirtualization?: boolean;
    /**
     * Accepts the list items either through local or remote service and binds it to the MultiSelect component.
     * It can be an array of JSON Objects or an instance of
     * `data.DataManager`.
     *
     * @default []
     */
    dataSource?: { [key: string]: Object }[] | data.DataManager | string[] | number[] | boolean[];
    /**
     * Accepts the external `data.Query`
     * which will execute along with the data processing in MultiSelect.
     *
     * @default null
     */
    query?: data.Query;
    /**
     * Determines on which filter type, the MultiSelect component needs to be considered on search action.
     * The `FilterType` and its supported data types are
     *
     * <table>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * FilterType<br/></td><td colSpan=1 rowSpan=1>
     * Description<br/></td><td colSpan=1 rowSpan=1>
     * Supported Types<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * StartsWith<br/></td><td colSpan=1 rowSpan=1>
     * Checks whether a value begins with the specified value.<br/></td><td colSpan=1 rowSpan=1>
     * String<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * EndsWith<br/></td><td colSpan=1 rowSpan=1>
     * Checks whether a value ends with specified value.<br/><br/></td><td colSpan=1 rowSpan=1>
     * <br/>String<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * Contains<br/></td><td colSpan=1 rowSpan=1>
     * Checks whether a value contains with specified value.<br/><br/></td><td colSpan=1 rowSpan=1>
     * <br/>String<br/></td></tr>
     * </table>
     *
     * The default value set to `StartsWith`, all the suggestion items which contain typed characters to listed in the suggestion popup.
     *
     * @default 'StartsWith'
     */
    filterType?: FilterType;
    /**
     * specifies the z-index value of the component popup element.
     *
     * @default 1000
     */
    zIndex?: number;
    /**
     * ignoreAccent set to true, then ignores the diacritic characters or accents when filtering.
     */
    ignoreAccent?: boolean;
    /**
     * Overrides the global culture and localization value for this component. Default global culture is 'en-US'.
     *
     * @default 'en-US'
     */
    locale?: string;
    /**
     * Specifies a Boolean value that indicates the whether the grouped list items are
     * allowed to check by checking the group header in checkbox mode.
     * By default, there is no checkbox provided for group headers.
     * This property allows you to render checkbox for group headers and to base.select
     * all the grouped items at once
     *
     * @default false
     */
    enableGroupCheckBox?: boolean;
    /**
     * Sets the CSS classes to root element of this component which helps to customize the
     * complete styles.
     *
     * @default null
     */
    cssClass?: string;
    /**
     * Gets or sets the width of the component. By default, it sizes based on its parent.
     * container dimension.
     *
     * @default '100%'
     * @aspType string
     */
    width?: string | number;
    /**
     * Gets or sets the height of the popup list. By default it renders based on its list item.
     * > For more details about the popup configuration refer to
     * [`popups.Popup Configuration`](../../multi-base.select/getting-started/#configure-the-popup-list) documentation.
     *
     * @default '300px'
     * @aspType string
     */
    popupHeight?: string | number;
    /**
     * Gets or sets the width of the popup list and percentage values has calculated based on input width.
     * > For more details about the popup configuration refer to
     * [`popups.Popup Configuration`](../../multi-base.select/getting-started/#configure-the-popup-list) documentation.
     *
     * @default '100%'
     * @aspType string
     */
    popupWidth?: string | number;
    /**
     * Gets or sets the placeholder in the component to display the given information
     * in input when no item selected.
     *
     * @default null
     */
    placeholder?: string;
    /**
     * Accepts the value to be displayed as a watermark text on the filter bar.
     *
     * @default null
     */
    filterBarPlaceholder?: string;
    /**
     * Gets or sets the additional attribute to `HtmlAttributes` property in MultiSelect,
     * which helps to add attribute like title, name etc, input should be key value pair.
     *
     * {% codeBlock src='multiselect/htmlAttributes/index.md' %}{% endcodeBlock %}
     *
     * @default {}
     */
    htmlAttributes?: { [key: string]: string };
    /**
     * Accepts the template design and assigns it to the selected list item in the input element of the component.
     * For more details about the available template options refer to
     * [`Template`](../../multi-base.select/templates) documentation.
     *
     * We have built-in `template engine`
     * which provides options to base.compile template string into a executable function.
     * For EX: We have expression evolution as like ES6 expression string literals.
     *
     * @default null
     * @aspType string
     */
    valueTemplate?: string | Function;
    /**
     * 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
     * @aspType string
     */
    headerTemplate?: string | Function;
    /**
     * 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
     * @aspType string
     */
    footerTemplate?: string | Function;
    /**
     * 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
     * @aspType string
     */
    itemTemplate?: string | Function;
    /**
     * 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;
    /**
     * Specifies the delay time in milliseconds for filtering operations.
     *
     * @default 300
     */
    debounceDelay?: number;
    /**
     * Defines whether the popup opens in fullscreen mode on mobile devices when filtering is enabled. When set to false, the popup will display similarly on both mobile and desktop devices.
     *
     * @default true
     */
    isDeviceFullScreen?: boolean;
    /**
     * By default, the multiselect component fires the change event while focus out the component.
     * If you want to fires the change event on every value selection and base.remove, then disable the changeOnBlur property.
     *
     * @default true
     */
    changeOnBlur?: boolean;
    /**
     * Allows user to add a
     * [`custom value`](../../multi-base.select/custom-value), the value which is not present in the suggestion list.
     *
     * @default false
     */
    allowCustomValue?: boolean;
    /**
     * Enables close icon with the each selected item.
     *
     * @default true
     */
    showClearButton?: boolean;
    /**
     * Sets limitation to the value selection.
     * based on the limitation, list selection will be prevented.
     *
     * @default 1000
     */
    maximumSelectionLength?: number;
    /**
     * Gets or sets the `readonly` to input or not. Once enabled, just you can copy or highlight
     * the text however tab key action will perform.
     *
     * @default false
     */
    readonly?: boolean;
    /**
     * Gets or sets a value that indicates whether the Multiselect popup can be resized.
     * When set to `true`, a resize handle appears in the bottom-right corner of the popup,
     * allowing the user to resize the width and height of the popup.
     *
     * @default false
     */
    allowResize?: boolean;
    /**
     * Selects the list item which maps the data `text` field in the component.
     *
     * @default null
     * @aspType string
     */
    text?: string | null;
    /**
     * Selects the list item which maps the data `value` field in the component.
     * {% codeBlock src='multiselect/value/index.md' %}{% endcodeBlock %}
     *
     * @default null
     * @isGenericType true
     */
    value?: number[] | string[] | boolean[] | object[] | null ;
    /**
     * Defines whether the object binding is allowed or not in the component.
     *
     * @default false
     */
    allowObjectBinding?: boolean;
    /**
     * Hides the selected item from the list item.
     *
     * @default true
     */
    hideSelectedItem?: boolean;
    /**
     * Based on the property, when item get base.select popup visibility state will changed.
     *
     * @default true
     */
    closePopupOnSelect?: boolean;
    /**
     * configures visibility mode for component interaction.
     *
     * - `Box` - selected items will be visualized in chip.
     *
     * - `Delimiter` - selected items will be visualized in text content.
     *
     * - `Default` - on `focus in` component will act in `box` mode.
     * on `blur` component will act in `delimiter` mode.
     *
     * - `CheckBox` - The 'checkbox' will be visualized in list item.
     *
     * {% codeBlock src="multiselect/visual-mode-api/index.ts" %}{% endcodeBlock %}
     *
     * {% codeBlock src="multiselect/visual-mode-api/index.html" %}{% endcodeBlock %}
     *
     * @default Default
     */
    mode?: visualMode;
    /**
     * Sets the delimiter character for 'default' and 'delimiter' visibility modes.
     *
     * @default ','
     */
    delimiterChar?: string;
    /**
     * Sets [`case sensitive`](../../multi-base.select/filtering/#case-sensitive-filtering)
     * option for filter operation.
     *
     * @default true
     */
    ignoreCase?: boolean;
    /**
     * Allows you to either show or hide the DropDown button on the component
     *
     * @default false
     */
    showDropDownIcon?: boolean;
    /**
     * Specifies whether to display the floating label above the input element.
     * Possible values are:
     * * Never: The label will never float in the input when the placeholder is available.
     * * Always: The floating label will always float above the input.
     * * Auto: The floating label will float above the input after focusing or entering a value in the input.
     *
     * @default Syncfusion.EJ2.Inputs.inputs.FloatLabelType.Never
     * @aspType Syncfusion.EJ2.Inputs.inputs.FloatLabelType
     * @isEnumeration true
     */
    floatLabelType?: inputs.FloatLabelType;
    /**
     * Allows you to either show or hide the base.selectAll option on the component.
     *
     * @default false
     */
    showSelectAll?: boolean;
    /**
     * Specifies the selectAllText to be displayed on the component.
     *
     * @default 'base.select All'
     */
    selectAllText?: string;
    /**
     * Specifies the UnSelectAllText to be displayed on the component.
     *
     * @default 'base.select All'
     */
    unSelectAllText?: string;
    /**
     * Reorder the selected items in popup visibility state.
     *
     * @default true
     */
    enableSelectionOrder?: boolean;
    /**
     * Whether to automatically open the popup when the control is clicked.
     *
     * @default true
     */
    openOnClick?: boolean;
    /**
     * By default, the typed value is converting into chip or update as value of the component when you press the enter key or base.select from the popup.
     * If you want to convert the typed value into chip or update as value of the component while focusing out the component, then enable this property.
     * If custom value is enabled, both custom value and value present in the list are converted into tag while focusing out the component;
 Otherwise, value present in the list is converted into tag while focusing out the component.
     *
     * @default false
     */
    addTagOnBlur?: boolean;
    /**
     * Fires each time when selection changes happened in list items after model and input value get affected.
     *
     * @event change
     */
    change?: base.EmitType<MultiSelectChangeEventArgs>;
    /**
     * Fires before the selected item removed from the widget.
     *
     * @event removing
     */
    removing?: base.EmitType<RemoveEventArgs>;
    /**
     * Fires after the selected item removed from the widget.
     *
     * @event removed
     */
    removed?: base.EmitType<RemoveEventArgs>;
    /**
     * Fires before base.select all process.
     *
     * @event beforeSelectAll
     * @blazorProperty 'beforeSelectAll'
     */
    beforeSelectAll?: base.EmitType<ISelectAllEventArgs>;
    /**
     * Fires after base.select all process completion.
     *
     * @event selectedAll
     */
    selectedAll?: base.EmitType<ISelectAllEventArgs>;
    /**
     * Fires when popup opens before animation.
     *
     * @event beforeOpen
     */
    beforeOpen?: base.EmitType<Object>;
    /**
     * Fires when popup opens after animation completion.
     *
     * @event open
     */
    open?: base.EmitType<PopupEventArgs>;
    /**
     * Fires when popup close after animation completion.
     *
     * @event close
     */
    close?: base.EmitType<PopupEventArgs>;
    /**
     * base.Event triggers when the input get focus-out.
     *
     * @event blur
     */
    blur?: base.EmitType<Object>;
    /**
     * base.Event triggers when the input get focused.
     *
     * @event focus
     */
    focus?: base.EmitType<Object>;
    /**
     * base.Event triggers when the chip selection.
     *
     * @event chipSelection
     */
    chipSelection?: base.EmitType<Object>;
    /**
     * Triggers when the user finishes resizing the Multiselect popup.
     *
     * @event resizeStop
     */
    resizeStop?: base.EmitType<Object>;
    /**
     * Triggers continuously while the Multiselect popup is being resized by the user.
     * This event provides live updates on the width and height of the popup.
     *
     * @event resizing
     */
    resizing?: base.EmitType<Object>;
    /**
     * Triggers when the user starts resizing the Multiselect popup.
     *
     * @event resizeStart
     */
    resizeStart?: base.EmitType<Object>;
    /**
     * Triggers event,when user types a text in search box.
     * > For more details about filtering, refer to [`Filtering`](../../multi-base.select/filtering) documentation.
     *
     * @event filtering
     */
    filtering?: base.EmitType<FilteringEventArgs>;
    /**
     * Fires before set the selected item as chip in the component.
     * > For more details about chip customization refer [`Chip Customization`](../../multi-base.select/chip-customization)
     *
     * @event tagging
     */
    tagging?: base.EmitType<TaggingEventArgs>;
    /**
     * Triggers when the [`customValue`](../../multi-base.select/custom-value) is selected.
     *
     * @event customValueSelection
     */
    customValueSelection?: base.EmitType<CustomValueEventArgs>;
}
//node_modules/@syncfusion/ej2-dropdowns/src/multi-select/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;
    enableVirtualization?: boolean;
    headerTemplate?: string;
    mobFilter?: boolean;
    header?: HTMLElement;
    footer?: HTMLElement;
    updateDelimView?(): void;
    updateValueState?(event?: base.KeyboardEventArgs | MouseEvent, newVal?: [string | number], oldVal?: [string | number]): void;
    tempValues?: [number | string];
    value?: [number | string];
    refreshInputHight?(): void;
    refreshPlaceHolder?(): void;
    ulElement?: HTMLElement;
    hiddenElement?: HTMLSelectElement;
    dispatchEvent?(element?: HTMLElement, type?: string): void;
    inputFocus?: boolean;
    enableSelectionOrder?: boolean;
    focusAtFirstListItem(): void;
    isPopupOpen(): boolean;
    showSelectAll: boolean;
    scrollFocusStatus: boolean;
    focused: boolean;
    onBlurHandler(eve?: MouseEvent, isDocClickFromCheck?: boolean): void;
    keyAction?: boolean;
    removeFocus?(): void;
    getLocaleName?(): string;
    filterParent: HTMLElement;
    enableGroupCheckBox: boolean;
    pasteHandler?(e?: base.KeyboardEventArgs): void;
    cssClass: string;
    isDynamicDataChange?: boolean;
    search?(e: base.KeyboardEventArgs): void;
    allowFiltering?: boolean;
    isDeviceFullScreen: boolean;
}
//node_modules/@syncfusion/ej2-dropdowns/src/multi-select/float-label.d.ts
/**
 * Function to create Float Label element.
 *
 * @param {HTMLDivElement} overAllWrapper - Overall wrapper of multiselect.
 * @param {HTMLElement} searchWrapper - Search wrapper of multiselect.
 * @param {HTMLElement} element - The given html element.
 * @param {HTMLInputElement} inputElement - Specify the input wrapper.
 * @param {number[] | string[] | boolean[]} value - Value of the MultiSelect.
 * @param {inputs.FloatLabelType} floatLabelType - Specify the FloatLabel Type.
 * @param {string} placeholder - Specify the PlaceHolder text.
 */
export  function createFloatLabel(overAllWrapper: HTMLDivElement, searchWrapper: HTMLElement, element: HTMLElement, inputElement: HTMLInputElement, value: number[] | string[] | boolean[] | object[], floatLabelType: inputs.FloatLabelType, placeholder: string): void;
/**
 * Function to update status of the Float Label element.
 *
 * @param {string[] | number[] | boolean[]} value - Value of the MultiSelect.
 * @param {HTMLElement} label - Float label element.
 */
export  function updateFloatLabelState(value: string[] | number[] | boolean[] | object[], label: HTMLElement): void;
/**
 * Function to remove Float Label element.
 *
 * @param {HTMLDivElement} overAllWrapper - Overall wrapper of multiselect.
 * @param {HTMLDivElement} componentWrapper - Wrapper element of multiselect.
 * @param {HTMLElement} searchWrapper - Search wrapper of multiselect.
 * @param {HTMLInputElement} inputElement - Specify the input wrapper.
 * @param {number[] | string[] | boolean[]} value - Value of the MultiSelect.
 * @param {inputs.FloatLabelType} floatLabelType - Specify the FloatLabel Type.
 * @param {string} placeholder - Specify the PlaceHolder text.
 */
export  function removeFloating(overAllWrapper: HTMLDivElement, componentWrapper: HTMLDivElement, searchWrapper: HTMLElement, inputElement: HTMLInputElement, value: number[] | string[] | boolean[] | object[], floatLabelType: inputs.FloatLabelType, placeholder: string): void;
/**
 * Function to set the placeholder to the element.
 *
 * @param {number[] | string[] | boolean[]} value - Value of the MultiSelect.
 * @param {HTMLInputElement} inputElement - Specify the input wrapper.
 * @param {string} placeholder - Specify the PlaceHolder text.
 */
export  function setPlaceHolder(value: number[] | string[] | boolean[] | object[], inputElement: HTMLInputElement, placeholder: string): void;
/**
 * Function for focusing the Float Element.
 *
 * @param {HTMLDivElement} overAllWrapper - Overall wrapper of multiselect.
 * @param {HTMLDivElement} componentWrapper - Wrapper element of multiselect.
 */
export  function floatLabelFocus(overAllWrapper: HTMLDivElement, componentWrapper: HTMLDivElement): void;
/**
 * Function to focus the Float Label element.
 *
 * @param {HTMLDivElement} overAllWrapper - Overall wrapper of multiselect.
 * @param {HTMLDivElement} componentWrapper - Wrapper element of multiselect.
 * @param {number[] | string[] | boolean[]} value - Value of the MultiSelect.
 * @param {inputs.FloatLabelType} floatLabelType - Specify the FloatLabel Type.
 * @param {string} placeholder - Specify the PlaceHolder text.
 */
export  function floatLabelBlur(overAllWrapper: HTMLDivElement, componentWrapper: HTMLDivElement, value: number[] | string[] | boolean[] | object[], floatLabelType: inputs.FloatLabelType, placeholder: string): void;
export  function encodePlaceholder(placeholder: string): string;
//node_modules/@syncfusion/ej2-dropdowns/src/multi-select/checkbox-selection.d.ts
/**
 * The Multiselect enable CheckBoxSelection call this inject module.
 */
export  class CheckBoxSelection {
    private parent;
    private checkAllParent;
    private selectAllSpan;
    filterInput: HTMLInputElement;
    private filterInputObj;
    private backIconElement;
    private clearIconElement;
    private checkWrapper;
    list: HTMLElement;
    private activeLi;
    private activeEle;
    private boundPreventListSelection;
    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 preventListSelection;
    private setDeviceSearchBox;
    private setSearchBoxPosition;
    protected setPopupFullScreen(): void;
    protected targetElement(): string;
    private onBlurHandler;
    protected onDocumentClick(e: MouseEvent): void;
    private getFocus;
    private checkSelectAll;
    private setLocale;
    private getActiveList;
    private setReorder;
}
export interface ItemCreatedArgs {
    curData: {
        [key: string]: Object;
    };
    item: HTMLElement;
    text: string;
}
export interface IUpdateListArgs {
    module: string;
    enable: boolean;
    li: HTMLElement;
    e: MouseEvent | base.KeyboardEventArgs;
    popupElement: HTMLElement;
    value: string;
    index: number;
}
//node_modules/@syncfusion/ej2-dropdowns/src/mention/mention.d.ts
export interface MentionChangeEventArgs extends SelectEventArgs {
    /**
     * Specifies the selected value.
     *
     * @isGenericType true
     */
    value: number | string | boolean;
    /**
     * Specifies the element of previous selected list item.
     */
    previousItem: HTMLLIElement;
    /**
     * Specifies the previously selected item as a JSON Object from the data source.
     *
     */
    previousItemData: FieldSettingsModel;
    /**
     * Specifies the component root element.
     */
    element: HTMLElement;
}
/**
 * The Mention component is used to list someone or something based on user input in textarea, input,
 * or any other editable element from which the user can select.
 */
export  class Mention extends DropDownBase {
    private initRemoteRender;
    private inputElement;
    private popupObj;
    private isPopupOpen;
    private isSelected;
    private selectedLI;
    private previousSelectedLI;
    private previousItemData;
    private activeIndex;
    private isFiltered;
    private beforePopupOpen;
    private listHeight;
    private isListResetted;
    private range;
    private displayTempElement;
    private isCollided;
    private collision;
    private spinnerElement;
    private spinnerTemplateElement;
    private lineBreak;
    private selectedElementID;
    private isSelectCancel;
    private isTyped;
    private didPopupOpenByTypingInitialChar;
    private isUpDownKey;
    private isRTE;
    private keyEventName;
    protected debounceTimer: ReturnType<typeof setTimeout> | null;
    /**
     * Defines class/multiple classes separated by a space for the mention component.
     *
     * @default null
     */
    cssClass: string;
    /**
     * Specifies the symbol or single character which triggers the search action in the mention component.
     *
     * @default '@'
     * @aspType char
     */
    mentionChar: string;
    /**
     * Specifies whether to show the configured mentionChar with the text.
     *
     * @default false
     */
    showMentionChar: boolean;
    /**
     * Defines whether to allow the space in the middle of mention while searching.
     * When disabled, the space ends the mention component search.
     *
     * @default false
     */
    allowSpaces: boolean;
    /**
     * Specifies the custom suffix to append along with the mention component selected item while inserting.
     * You can append space or new line character as suffix.
     *
     * @default null
     */
    suffixText: string;
    /**
     * Specifies the number of items in the suggestion list.
     *
     * @default 25
     * @aspType int
     */
    suggestionCount: number;
    /**
     * Specifies the minimum length of user input to initiate the search action.
     * The default value is zero, where suggestion the list opened as soon as the user inputs the mention character.
     *
     * @default 0
     * @aspType int
     */
    minLength: number;
    /**
     * Specifies the order to sort the data source. The possible sort orders are,
     * * `None` - The data source is not sorted.
     * * `Ascending` - The data source is sorted in ascending order.
     * * `Descending` - The data source is sorted in descending order.
     *
     * @default 'None'
     */
    sortOrder: lists.SortOrder;
    /**
     * Specifies whether the searches are case sensitive to find suggestions.
     *
     * @default true
     */
    ignoreCase: boolean;
    /**
     * Specifies whether a space is required before the mention character to trigger the suggestion list.
     * When set to false, the suggestion list will be triggered even without a space before the mention character.
     *
     * @default true
     */
    requireLeadingSpace: boolean;
    /**
     * Specifies whether to highlight the searched characters on suggestion list items.
     *
     * @default false
     */
    highlight: boolean;
    /**
     * Overrides the global culture and localization value for this component. Default global culture is ‘en-US’.
     *
     * @default 'en-US'
     */
    locale: string;
    /**
     * Specifies the width of the popup in pixels/number/percentage. The number value is considered as pixels.
     *
     * @default 'auto'
     * @aspType string
     */
    popupWidth: string | number;
    /**
     * Specifies the height of the popup in pixels/number/percentage. The number value is considered as pixels.
     *
     * @default '300px'
     * @aspType string
     */
    popupHeight: string | number;
    /**
     * Specifies the delay time in milliseconds for filtering operations.
     *
     * @default 300
     */
    debounceDelay: number;
    /**
     * Specifies the template for the selected value from the suggestion list.
     *
     * @default null
     * @aspType string
     */
    displayTemplate: string | Function;
    /**
     * Specifies the template for the suggestion list.
     *
     * @default null
     */
    itemTemplate: string;
    /**
     * Specifies the template for no matched item which is displayed when there are no items to display in the suggestion list.
     *
     * @default 'No records found'
     */
    noRecordsTemplate: string;
    /**
     * Specifies the template for showing until data is loaded in the popup.
     *
     * @default null
     * @aspType string
     */
    spinnerTemplate: string | Function;
    /**
     * Specifies the target selector where the mention component needs to be displayed.
     * The mention component listens to the target's user input and displays suggestions as soon as the user inputs the mention character.
     *
     */
    target: HTMLElement | string;
    /**
     * Accepts the list items either through local or remote service and binds it to the component.
     * It can be an array of JSON Objects or an instance of `data.DataManager`.
     *
     * @default []
     */
    dataSource: {
        [key: string]: Object;
    }[] | data.DataManager | string[] | number[] | boolean[];
    /**
     * Specifies the external query, which can be customized and filtered against the data source.
     *
     * @default null
     */
    query: data.Query;
    /**
     * Determines on which filter type, the component needs to be considered on search action.
     * and its supported data types are
     *
     * <table>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * FilterType<br/></td><td colSpan=1 rowSpan=1>
     * Description<br/></td><td colSpan=1 rowSpan=1>
     * Supported Types<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * StartsWith<br/></td><td colSpan=1 rowSpan=1>
     * Checks whether a value begins with the specified value.<br/></td><td colSpan=1 rowSpan=1>
     * String<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * EndsWith<br/></td><td colSpan=1 rowSpan=1>
     * Checks whether a value ends with a specified value.<br/><br/></td><td colSpan=1 rowSpan=1>
     * <br/>String<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * Contains<br/></td><td colSpan=1 rowSpan=1>
     * Checks whether a value contains with a specified value.<br/><br/></td><td colSpan=1 rowSpan=1>
     * <br/>String<br/></td></tr>
     * </table>
     *
     * The default value set to `Contains`, all the suggestion items which contain typed characters to listed in the suggestion popup.
     *
     * @default 'Contains'
     */
    filterType: FilterType;
    /**
     * Defines the fields of the Mention to map with the data source and binds the data to the component.
     * * text - Specifies the text that maps the text filed from the data source for each list item.
     * * value - Specifies the value that maps the value filed from the data source for each list item.
     * * iconCss - Specifies the iconCss that map the icon class filed from the data source for each list item.
     * * groupBy - Specifies the groupBy that groups the list items with its related items by mapping groupBy field.
     *
     * @default
     * {
     *  text: null, value: null, iconCss: null, groupBy: null
     * }
     */
    fields: FieldSettingsModel;
    /**
     * Triggers before fetching data from the remote server.
     *
     * @event actionBegin
     */
    actionBegin: base.EmitType<Object>;
    /**
     * Triggers after data is fetched successfully from the remote server.
     *
     * @event actionComplete
     */
    actionComplete: base.EmitType<Object>;
    /**
     * Triggers when the data fetch request from the remote server fails.
     *
     * @event actionFailure
     */
    actionFailure: base.EmitType<Object>;
    /**
     * Triggers when an item in a popup is selected and updated in an editor.
     *
     * @event change
     */
    change: base.EmitType<MentionChangeEventArgs>;
    /**
     * Triggers before the popup is opened.
     *
     * @event beforeOpen
     */
    beforeOpen: base.EmitType<PopupEventArgs>;
    /**
     * Triggers after the popup opens.
     *
     * @event opened
     */
    opened: base.EmitType<PopupEventArgs>;
    /**
     * Triggers after the popup is closed.
     *
     * @event closed
     */
    closed: base.EmitType<PopupEventArgs>;
    /**
     * Triggers when an item in the popup is selected by the user either with the mouse/tap or with keyboard navigation.
     *
     * @event select
     */
    select: base.EmitType<SelectEventArgs>;
    /**
     * Triggers on typing a character in the component.
     *
     * @event filtering
     */
    filtering: base.EmitType<FilteringEventArgs>;
    /**
     * Triggers when the component is created.
     *
     * @event created
     */
    created: base.EmitType<Object>;
    /**
     * Triggers when the component is destroyed.
     *
     * @event destroyed
     */
    destroyed: base.EmitType<Object>;
    /**
     * * Constructor for creating the widget
     *
     * @param {MentionModel} options - Specifies the MentionComponent model.
     * @param {string | HTMLElement} element - Specifies the element to render as component.
     * @private
     */
    constructor(options?: MentionModel, element?: string | HTMLElement);
    /**
     * When property value changes happened, then onPropertyChanged method will execute the respective changes in this component.
     *
     * @param {MentionModel} newProp - Returns the dynamic property value of the component.
     * @param {MentionModel} oldProp - Returns the previous property value of the component.
     * @private
     * @returns {void}
     */
    onPropertyChanged(newProp: MentionModel, oldProp: MentionModel): void;
    private updateCssClass;
    private setCssClass;
    private initializeData;
    /**
     * Execute before render the list items
     *
     * @private
     * @returns {void}
     */
    protected preRender(): void;
    /**
     * To Initialize the control rendering
     *
     * @private
     * @returns {void}
     */
    render(): void;
    private wireEvent;
    private unWireEvent;
    private bindCommonEvent;
    /**
     * Hides the spinner loader.
     *
     * @private
     * @returns {void}
     */
    hideSpinner(): void;
    private hideWaitingSpinner;
    private checkAndUpdateInternalComponent;
    /**
     * Shows the spinner loader.
     *
     * @returns {void}
     */
    private showWaitingSpinner;
    private keyDownHandler;
    private keyActionHandler;
    private updateUpDownAction;
    private isSelectFocusItem;
    private unBindCommonEvent;
    private onKeyUp;
    private isMatchedText;
    private getCurrentRange;
    protected performFiltering(e: base.KeyboardEventArgs | MouseEvent): void;
    private searchLists;
    private filterAction;
    protected onActionComplete(ulElement: HTMLElement, list: {
        [key: string]: Object;
    }[], e?: Object, isUpdated?: boolean): void;
    private setDataIndex;
    protected listOption(dataSource: {
        [key: string]: Object;
    }[], fieldsSettings: FieldSettingsModel): FieldSettingsModel;
    private elementValue;
    protected getQuery(query: data.Query): data.Query;
    private renderHightSearch;
    private getTextRange;
    private getLastLetter;
    private isContentEditable;
    /**
     * Opens the popup that displays the list of items.
     *
     * @returns {void}
     */
    showPopup(): void;
    /**
     * Hides the popup if it is in an open state.
     *
     * @returns {void}
     */
    hidePopup(e?: MouseEvent | base.KeyboardEventArgs): void;
    private closePopup;
    private renderPopup;
    private setHeight;
    private checkCollision;
    private getTriggerCharPosition;
    private initializePopup;
    private setWidth;
    private destroyPopup;
    private onDocumentClick;
    private getCoordinates;
    private initValue;
    private updateValues;
    protected renderList(): void;
    /**
     * Event binding for list
     *
     * @returns {void}
     */
    private wireListEvents;
    /**
     * Event un binding for list items.
     *
     * @returns {void}
     */
    private unWireListEvents;
    private onMouseClick;
    private updateSelectedItem;
    private setSelection;
    private setSelectOptions;
    private setScrollPosition;
    private scrollBottom;
    private scrollTop;
    private selectEventCallback;
    private detachChanges;
    private setValue;
    private updateMentionValue;
    private mentionVal;
    private setDisplayTemplate;
    private renderTemplates;
    private setSpinnerTemplate;
    private onChangeEvent;
    private detachMentionChanges;
    private getItemData;
    private removeSelection;
    private onMouseOver;
    private setHover;
    private removeHover;
    private isValidLI;
    private onMouseLeave;
    /**
     * Search the entered text and show it in the suggestion list if available.
     *
     * @returns {void}
     */
    search(text: string, positionX: number, positionY: number): void;
    /**
     * Method to disable specific item in the popup.
     *
     * @param {string | number | object | HTMLLIElement} item - Specifies the item to be disabled.
     * @returns {void}
     * @deprecated
     */
    disableItem(item: string | number | object | HTMLLIElement): void;
    /**
     * Removes the component from the DOM and detaches all its related event handlers. Also it removes the attributes and classes.
     *
     * @method destroy
     * @returns {void}
     */
    destroy(): void;
    protected getLocaleName(): string;
    protected getNgDirective(): string;
    /**
     * Return the module name of this component.
     *
     * @private
     * @returns {string} Return the module name of this component.
     */
    getModuleName(): string;
}
//node_modules/@syncfusion/ej2-dropdowns/src/mention/mention-model.d.ts
/**
 * Interface for a class Mention
 */
export interface MentionModel {
    /**
     * Defines class/multiple classes separated by a space for the mention component.
     *
     * @default null
     */
    cssClass?: string;
    /**
     * Specifies the symbol or single character which triggers the search action in the mention component.
     *
     * @default '@'
     * @aspType char
     */
    mentionChar?: string;
    /**
     * Specifies whether to show the configured mentionChar with the text.
     *
     * @default false
     */
    showMentionChar?: boolean;
    /**
     * Defines whether to allow the space in the middle of mention while searching.
     * When disabled, the space ends the mention component search.
     *
     * @default false
     */
    allowSpaces?: boolean;
    /**
     * Specifies the custom suffix to base.append along with the mention component selected item while inserting.
     * You can base.append space or new line character as suffix.
     *
     * @default null
     */
    suffixText?: string;
    /**
     * Specifies the number of items in the suggestion list.
     *
     * @default 25
     * @aspType int
     */
    suggestionCount?: number;
    /**
     * Specifies the minimum length of user input to initiate the search action.
     * The default value is zero, where suggestion the list opened as soon as the user inputs the mention character.
     *
     * @default 0
     * @aspType int
     */
    minLength?: number;
    /**
     * Specifies the order to sort the data source. The possible sort orders are,
     * * `None` - The data source is not sorted.
     * * `Ascending` - The data source is sorted in ascending order.
     * * `Descending` - The data source is sorted in descending order.
     *
     * @default 'None'
     */
    sortOrder?: lists.SortOrder;
    /**
     * Specifies whether the searches are case sensitive to find suggestions.
     *
     * @default true
     */
    ignoreCase?: boolean;
    /**
     * Specifies whether a space is required before the mention character to trigger the suggestion list.
     * When set to false, the suggestion list will be triggered even without a space before the mention character.
     *
     * @default true
     */
    requireLeadingSpace?: boolean;
    /**
     * Specifies whether to highlight the searched characters on suggestion list items.
     *
     * @default false
     */
    highlight?: boolean;
    /**
     * Overrides the global culture and localization value for this component. Default global culture is ‘en-US’.
     *
     * @default 'en-US'
     */
    locale?: string;
    /**
     * Specifies the width of the popup in pixels/number/percentage. The number value is considered as pixels.
     *
     * @default 'auto'
     * @aspType string
     */
    popupWidth?: string | number;
    /**
     * Specifies the height of the popup in pixels/number/percentage. The number value is considered as pixels.
     *
     * @default '300px'
     * @aspType string
     */
    popupHeight?: string | number;
    /**
     * Specifies the delay time in milliseconds for filtering operations.
     *
     * @default 300
     */
    debounceDelay?: number;
    /**
     * Specifies the template for the selected value from the suggestion list.
     *
     * @default null
     * @aspType string
     */
    displayTemplate?: string | Function;
    /**
     * Specifies the template for the suggestion list.
     *
     * @default null
     */
    itemTemplate?: string;
    /**
     * Specifies the template for no matched item which is displayed when there are no items to display in the suggestion list.
     *
     * @default 'No records found'
     */
    noRecordsTemplate?: string;
    /**
     * Specifies the template for showing until data is loaded in the popup.
     *
     * @default null
     * @aspType string
     */
    spinnerTemplate?: string | Function;
    /**
     * Specifies the target selector where the mention component needs to be displayed.
     * The mention component listens to the target's user input and displays suggestions as soon as the user inputs the mention character.
     *
     */
    target?: HTMLElement | string;
    /**
     * Accepts the list items either through local or remote service and binds it to the component.
     * It can be an array of JSON Objects or an instance of `data.DataManager`.
     *
     * @default []
     */
    dataSource?: { [key: string]: Object }[] | data.DataManager | string[] | number[] | boolean[];
    /**
     * Specifies the external query, which can be customized and filtered against the data source.
     *
     * @default null
     */
    query?: data.Query;
    /**
     * Determines on which filter type, the component needs to be considered on search action.
     * and its supported data types are
     *
     * <table>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * FilterType<br/></td><td colSpan=1 rowSpan=1>
     * Description<br/></td><td colSpan=1 rowSpan=1>
     * Supported Types<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * StartsWith<br/></td><td colSpan=1 rowSpan=1>
     * Checks whether a value begins with the specified value.<br/></td><td colSpan=1 rowSpan=1>
     * String<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * EndsWith<br/></td><td colSpan=1 rowSpan=1>
     * Checks whether a value ends with a specified value.<br/><br/></td><td colSpan=1 rowSpan=1>
     * <br/>String<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * Contains<br/></td><td colSpan=1 rowSpan=1>
     * Checks whether a value contains with a specified value.<br/><br/></td><td colSpan=1 rowSpan=1>
     * <br/>String<br/></td></tr>
     * </table>
     *
     * The default value set to `Contains`, all the suggestion items which contain typed characters to listed in the suggestion popup.
     *
     * @default 'Contains'
     */
    filterType?: FilterType;
    /**
     * Defines the fields of the Mention to map with the data source and binds the data to the component.
     * * text - Specifies the text that maps the text filed from the data source for each list item.
     * * value - Specifies the value that maps the value filed from the data source for each list item.
     * * iconCss - Specifies the iconCss that map the icon class filed from the data source for each list item.
     * * groupBy - Specifies the groupBy that groups the list items with its related items by mapping groupBy field.
     *
     * @default
     * {
     *  text: null, value: null, iconCss: null, groupBy: null
     * }
     */
    fields?: FieldSettingsModel;
    /**
     * Triggers before fetching data from the remote server.
     *
     * @event actionBegin
     */
    actionBegin?: base.EmitType<Object>;
    /**
     * Triggers after data is fetched successfully from the remote server.
     *
     * @event actionComplete
     */
    actionComplete?: base.EmitType<Object>;
    /**
     * Triggers when the data fetch request from the remote server fails.
     *
     * @event actionFailure
     */
    actionFailure?: base.EmitType<Object>;
    /**
     * Triggers when an item in a popup is selected and updated in an editor.
     *
     * @event change
     */
    change?: base.EmitType<MentionChangeEventArgs>;
    /**
     * Triggers before the popup is opened.
     *
     * @event beforeOpen
     */
    beforeOpen?: base.EmitType<PopupEventArgs>;
    /**
     * Triggers after the popup opens.
     *
     * @event opened
     */
    opened?: base.EmitType<PopupEventArgs>;
    /**
     * Triggers after the popup is closed.
     *
     * @event closed
     */
    closed?: base.EmitType<PopupEventArgs>;
    /**
     * Triggers when an item in the popup is selected by the user either with the mouse/tap or with keyboard navigation.
     *
     * @event select
     */
    select?: base.EmitType<SelectEventArgs>;
    /**
     * Triggers on typing a character in the component.
     *
     * @event filtering
     */
    filtering?: base.EmitType<FilteringEventArgs>;
    /**
     * Triggers when the component is created.
     *
     * @event created
     */
    created?: base.EmitType<Object>;
    /**
     * Triggers when the component is destroyed.
     *
     * @event destroyed
     */
    destroyed?: base.EmitType<Object>;
}
//node_modules/@syncfusion/ej2-dropdowns/src/list-box/list-box.d.ts

/**
 * Defines the selection mode in ListBox component.
 * ```props
 * Multiple :- Specifies that the ListBox should allow multiple item selection.
 * Single :- Specifies that the ListBox should allow single item selection.
 * ```
 */
export  type SelectionMode = 'Multiple' | 'Single';
/**
 * Defines the position of the toolbar in ListBox component.
 * ```props
 * Left :- Specifies that the toolbar should be positioned to the left of the ListBox.
 * Right :- Specifies that the toolbar should be positioned to the right of the ListBox.
 * ```
 */
export  type ToolBarPosition = 'Left' | 'Right';
/**
 * Defines the position of the checkbox in ListBox component.
 * ```props
 * Left :- Specifies that the checkbox should be positioned to the left of the ListBox.
 * Right :- Specifies that the checkbox should be positioned to the right of the ListBox.
 * ```
 */
export  type CheckBoxPosition = 'Left' | 'Right';
 type obj = {
    [key: string]: object;
};
/**
 * Defines the Selection settings of List Box.
 */
export  class SelectionSettings extends base.ChildProperty<SelectionSettings> {
    /**
     * Specifies the selection modes. The possible values are
     * * `Single`: Allows you to select a single item in the ListBox.
     * * `Multiple`: Allows you to select more than one item in the ListBox.
     *
     * @default 'Multiple'
     */
    mode: SelectionMode;
    /**
     * If 'showCheckbox' is set to true, then 'checkbox' will be visualized in the list item.
     *
     * @default false
     */
    showCheckbox: boolean;
    /**
     * Allows you to either show or hide the selectAll option on the component.
     *
     * @default false
     */
    showSelectAll: boolean;
    /**
     * Set the position of the checkbox.
     *
     * @default 'Left'
     */
    checkboxPosition: CheckBoxPosition;
}
/**
 * Defines the toolbar settings of List Box.
 */
export  class ToolbarSettings extends base.ChildProperty<ToolbarSettings> {
    /**
     * Specifies the list of tools for dual ListBox.
     * The predefined tools are 'moveUp', 'moveDown', 'moveTo', 'moveFrom', 'moveAllTo', and 'moveAllFrom'.
     *
     * @default []
     */
    items: string[];
    /**
     * Positions the toolbar before/after the ListBox.
     * The possible values are:
     * * Left: The toolbar will be positioned to the left of the ListBox.
     * * Right: The toolbar will be positioned to the right of the ListBox.
     *
     * @default 'Right'
     */
    position: ToolBarPosition;
}
/**
 * The ListBox is a graphical user interface component used to display a list of items.
 * Users can select one or more items in the list using a checkbox or by keyboard selection.
 * It supports sorting, grouping, reordering and drag and drop of items.
 * ```html
 * <select id="listbox">
 *      <option value='1'>Badminton</option>
 *      <option value='2'>Basketball</option>
 *      <option value='3'>Cricket</option>
 *      <option value='4'>Football</option>
 *      <option value='5'>Tennis</option>
 * </select>
 * ```
 * ```typescript
 * <script>
 *   var listObj = new ListBox();
 *   listObj.appendTo("#listbox");
 * </script>
 * ```
 */
export  class ListBox extends DropDownBase {
    private prevSelIdx;
    private listCurrentOptions;
    private allowDragAll;
    private checkBoxSelectionModule;
    private tBListBox;
    private initLoad;
    private spinner;
    private initialSelectedOptions;
    private showSelectAll;
    private selectAllText;
    private unSelectAllText;
    private popupWrapper;
    private targetInputElement;
    private isValidKey;
    private isBackSpace;
    private isFiltered;
    private clearFilterIconElem;
    private remoteFilterAction;
    private mainList;
    private remoteCustomValue;
    private filterParent;
    protected inputString: string;
    protected filterInput: HTMLInputElement;
    protected isCustomFiltering: boolean;
    private jsonData;
    private toolbarAction;
    private isDataSourceUpdate;
    private dragValue;
    private customDraggedItem;
    private timer;
    private inputFormName;
    /**
     * 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;
    /**
     * Specifies a value that indicates whether the component is enabled or not.
     *
     * @default true
     * @deprecated
     */
    enabled: boolean;
    /**
     * Enable or disable persisting component's state between page reloads.
     * If enabled, following list of states will be persisted.
     * 1. value
     *
     * @default false
     * @deprecated
     */
    enablePersistence: boolean;
    /**
     * If 'allowDragAndDrop' is set to true, then you can perform drag and drop of the list item.
     * ListBox contains same 'scope' property enables drag and drop between multiple ListBox.
     *
     * @default false
     */
    allowDragAndDrop: boolean;
    /**
     * Sets limitation to the value selection.
     * based on the limitation, list selection will be prevented.
     *
     * @default 1000
     */
    maximumSelectionLength: number;
    /**
     * To enable the filtering option in this component.
     * Filter action performs when type in search box and collect the matched item through `filtering` event.
     * If searching character does not match, `noRecordsTemplate` property value will be shown.
     *
     * @default false
     */
    allowFiltering: boolean;
    /**
     * Defines the scope value to group sets of draggable and droppable ListBox.
     * A draggable with the same scope value will be accepted by the droppable.
     *
     * @default ''
     */
    scope: string;
    /**
     * When set to ‘false’, consider the `case-sensitive` on performing the search to find suggestions.
     * By default consider the casing.
     *
     * @default true
     * @private
     */
    ignoreCase: boolean;
    /**
     * Accepts the value to be displayed as a watermark text on the filter bar.
     *
     * @default null
     */
    filterBarPlaceholder: string;
    /**
     * Specifies the `sortOrder` to sort the data source. The available type of sort orders are
     * * `None` - The data source is not sorting.
     * * `Ascending` - The data source is sorting with ascending order.
     * * `Descending` - The data source is sorting with descending order.
     *
     * @default null
     * @asptype object
     * @aspjsonconverterignore
     */
    sortOrder: lists.SortOrder;
    /**
     * Triggers while rendering each list item.
     *
     * @event beforeItemRender
     * @blazorProperty 'OnItemRender'
     */
    beforeItemRender: base.EmitType<BeforeItemRenderEventArgs>;
    /**
     * Triggers on typing a character in the component.
     *
     * @event filtering
     * @blazorProperty 'ItemSelected'
     */
    filtering: base.EmitType<FilteringEventArgs>;
    /**
     * Triggers when an item in the popup is selected by the user either with mouse/tap or with keyboard navigation.
     *
     * @event select
     * @private
     */
    select: base.EmitType<SelectEventArgs>;
    /**
     * Adds a new item to the popup list. By default, new item appends to the list as the last item,
     * but you can insert based on the index parameter.
     *
     * @param  { Object[] } items - Specifies an array of JSON data or a JSON data.
     * @param { number } itemIndex - Specifies the index to place the newly added item in the popup list.
     * @returns {void}.
     * @private
     */
    addItem(items: {
        [key: string]: Object;
    }[] | {
        [key: string]: Object;
    } | string | boolean | number | string[] | boolean[] | number[], itemIndex?: number): void;
    /**
     * Triggers while select / unselect the list item.
     *
     * @event change
     * @blazorProperty 'ValueChange'
     */
    change: base.EmitType<ListBoxChangeEventArgs>;
    /**
     * Triggers before dropping the list item on another list item.
     *
     * @event beforeDrop
     * @blazorProperty 'OnDrop'
     */
    beforeDrop: base.EmitType<DropEventArgs>;
    /**
     * Triggers after dragging the list item.
     *
     * @event dragStart
     * @blazorProperty 'DragStart'
     */
    dragStart: base.EmitType<DragEventArgs>;
    /**
     * Triggers while dragging the list item.
     *
     * @event drag
     * @blazorProperty 'Dragging'
     */
    drag: base.EmitType<DragEventArgs>;
    /**
     * Triggers before dropping the list item on another list item.
     *
     * @event drop
     * @blazorProperty 'Dropped'
     */
    drop: base.EmitType<DragEventArgs>;
    /**
     * Triggers when data source is populated in the list.
     *
     * @event dataBound
     */
    dataBound: base.EmitType<Object>;
    /**
     * Accepts the template design and assigns it to the group headers present in the list.
     *
     * @default null
     * @private
     */
    groupTemplate: string;
    /**
     * Accepts the template and assigns it to the list content of the ListBox component
     * when the data fetch request from the remote server fails.
     *
     * @default 'Request Failed'
     * @private
     */
    actionFailureTemplate: string;
    /**
     * specifies the z-index value of the component popup element.
     *
     * @default 1000
     * @private
     */
    zIndex: number;
    /**
     * ignoreAccent set to true, then ignores the diacritic characters or accents when filtering.
     *
     * @private
     */
    ignoreAccent: boolean;
    /**
     * Specifies the toolbar items and its position.
     *
     * @default { items: [], position: 'Right' }
     */
    toolbarSettings: ToolbarSettingsModel;
    /**
     * Specifies the selection mode and its type.
     *
     * @default { mode: 'Multiple', type: 'Default' }
     */
    selectionSettings: SelectionSettingsModel;
    /**
     * Constructor for creating the ListBox component.
     *
     * @param {ListBoxModel} options - Specifies ListBox model
     * @param {string | HTMLElement} element - Specifies the element.
     */
    constructor(options?: ListBoxModel, element?: string | HTMLElement);
    /**
     * Build and render the component.
     *
     * @private
     * @returns {void}
     */
    render(): void;
    private initWrapper;
    private updateSelectionSettings;
    private initDraggable;
    protected updateActionCompleteData(li: HTMLElement, item: {
        [key: string]: Object;
    }, index: number): void;
    private initToolbar;
    private createButtons;
    protected validationAttribute(input: HTMLInputElement, hiddenSelect: HTMLSelectElement): void;
    private setHeight;
    private setCssClass;
    private setEnable;
    showSpinner(): void;
    hideSpinner(): void;
    private onInput;
    private clearText;
    private refreshClearIcon;
    protected onActionComplete(ulElement: HTMLElement, list: obj[] | boolean[] | string[] | number[], e?: Object): void;
    private initToolbarAndStyles;
    private triggerDragStart;
    private triggerDrag;
    private setScrollDown;
    private stopTimer;
    private beforeDragEnd;
    private dragEnd;
    private updateListItems;
    private removeSelected;
    private getCurIdx;
    private getComponent;
    /**
     * Sets the enabled state to DropDownBase.
     *
     * @returns {void}
     */
    protected setEnabled(): void;
    protected listOption(dataSource: obj[] | string[] | number[] | boolean[], fields: FieldSettingsModel): FieldSettingsModel;
    private triggerBeforeItemRender;
    requiredModules(): base.ModuleDeclaration[];
    /**
     * This method is used to enable or disable the items in the ListBox based on the items and enable argument.
     *
     * @param {string[]} items - Text items that needs to be enabled/disabled.
     * @param {boolean} enable - Set `true`/`false` to enable/disable the list items.
     * @param {boolean} isValue - Set `true` if `items` parameter is a array of unique values.
     * @returns {void}
     */
    enableItems(items: string[], enable?: boolean, isValue?: boolean): void;
    /**
     * Based on the state parameter, specified list item will be selected/deselected.
     *
     * @param {string[]} items - Array of text value of the item.
     * @param {boolean} state - Set `true`/`false` to select/un select the list items.
     * @param {boolean} isValue - Set `true` if `items` parameter is a array of unique values.
     * @returns {void}
     */
    selectItems(items: string[], state?: boolean, isValue?: boolean): void;
    /**
     * Based on the state parameter, entire list item will be selected/deselected.
     *
     * @param {boolean} state - Set `true`/`false` to select/un select the entire list items.
     * @returns {void}
     */
    selectAll(state?: boolean): void;
    /**
     * Adds a new item to the list. By default, new item appends to the list as the last item,
     * but you can insert based on the index parameter.
     *
     * @param  { Object[] } items - Specifies an array of JSON data or a JSON data.
     * @param { number } itemIndex - Specifies the index to place the newly added item in the list.
     * @returns {void}.
     */
    addItems(items: obj[] | obj, itemIndex?: number): void;
    /**
     * Removes a item from the list. By default, removed the last item in the list,
     * but you can remove based on the index parameter.
     *
     * @param  { Object[] } items - Specifies an array of JSON data or a JSON data.
     * @param { number } itemIndex - Specifies the index to remove the item from the list.
     * @returns {void}.
     */
    removeItems(items?: obj[] | obj, itemIndex?: number): void;
    /**
     * Removes a item from the list. By default, removed the last item in the list,
     * but you can remove based on the index parameter.
     *
     * @param  { Object[] } items - Specifies an array of JSON data or a JSON data.
     * @param { number } itemIndex - Specifies the index to remove the item from the list.
     * @returns {void}.
     */
    removeItem(items?: {
        [key: string]: Object;
    }[] | {
        [key: string]: Object;
    } | string | boolean | number | string[] | boolean[] | number[], itemIndex?: number): void;
    /**
     * Gets the array of data Object that matches the given array of values.
     *
     * @param  { string[] | number[] | boolean[] } value - Specifies the array value of the list item.
     * @returns {object[]}.
     */
    getDataByValues(value: string[] | number[] | boolean[]): {
        [key: string]: Object;
    }[];
    /**
     * Moves the given value(s) / selected value(s) upwards.
     *
     * @param  { string[] | number[] | boolean[] } value - Specifies the value(s).
     * @returns {void}
     */
    moveUp(value?: string[] | number[] | boolean[]): void;
    /**
     * Moves the given value(s) / selected value(s) downwards.
     *
     * @param  { string[] | number[] | boolean[] } value - Specifies the value(s).
     * @returns {void}
     */
    moveDown(value?: string[] | number[] | boolean[]): void;
    /**
     * Moves the given value(s) / selected value(s) in Top of the list.
     *
     * @param  { string[] | number[] | boolean[] } value - Specifies the value(s).
     * @returns {void}
     */
    moveTop(value?: string[] | number[] | boolean[]): void;
    /**
     * Moves the given value(s) / selected value(s) in bottom of the list.
     *
     * @param  { string[] | number[] | boolean[] } value - Specifies the value(s).
     * @returns {void}
     */
    moveBottom(value?: string[] | number[] | boolean[]): void;
    /**
     * Moves the given value(s) / selected value(s) to the given / default scoped ListBox.
     *
     * @param  { string[] | number[] | boolean[] } value - Specifies the value or array value of the list item.
     * @param {number} index - Specifies the index.
     * @param {string} targetId - Specifies the target id.
     * @returns {void}
     */
    moveTo(value?: string[] | number[] | boolean[], index?: number, targetId?: string): void;
    /**
     * Moves all the values from one ListBox to the scoped ListBox.
     *
     * @param  { string } targetId - Specifies the scoped ListBox ID.
     * @param  { string } index - Specifies the index to where the items moved.
     * @returns {void}
     */
    moveAllTo(targetId?: string, index?: number): void;
    /**
     * Gets the updated dataSource in ListBox.
     *
     * @returns {{ [key: string]: Object }[] | string[] | boolean[] | number[]} - Updated DataSource.
     */
    getDataList(): {
        [key: string]: Object;
    }[] | string[] | boolean[] | number[];
    /**
     * Returns the sorted Data in ListBox.
     *
     * @returns {{ [key: string]: Object }[] | string[] | boolean[] | number[]} - Sorted data
     */
    getSortedList(): {
        [key: string]: Object;
    }[] | string[] | boolean[] | number[];
    private getElemByValue;
    private updateLiCollection;
    private selectAllItems;
    private updateMainList;
    private wireEvents;
    private wireToolbarEvent;
    private unwireEvents;
    private clickHandler;
    private checkSelectAll;
    protected getQuery(query: data.Query): data.Query;
    private setFiltering;
    private filterWireEvents;
    private selectHandler;
    private triggerChange;
    private getDataByElems;
    private getDataByElements;
    private checkMaxSelection;
    private toolbarClickHandler;
    private moveUpDown;
    private moveItemTo;
    private moveItemFrom;
    /**
     * Called internally if any of the property value changed.
     *
     * @param {ListBox} fListBox - Specifies the from listbox.
     * @param {ListBox} tListBox - Specifies the to listbox.
     * @param {boolean} isKey - Specifies the key.
     * @param {Element[]} value - Specifies the value.
     * @param {number} index - Specifies the index.
     * @returns {void}
     * @private
     */
    private moveData;
    private selectNextList;
    private moveAllItemTo;
    private moveAllItemFrom;
    private moveAllData;
    private changeData;
    private getSelectedItems;
    private getScopedListBox;
    private getGrabbedItems;
    private getDragArgs;
    private onKeyDown;
    private keyDownStatus;
    private keyDownHandler;
    private upDownKeyHandler;
    private KeyUp;
    /**
     * To filter the data from given data source by using query.
     *
     * @param  {Object[] | data.DataManager } dataSource - Set the data source to filter.
     * @param  {data.Query} query - Specify the query to filter the data.
     * @param  {FieldSettingsModel} fields - Specify the fields to map the column in the data table.
     * @returns {void}.
     */
    filter(dataSource: {
        [key: string]: Object;
    }[] | data.DataManager | string[] | number[] | boolean[], query?: data.Query, fields?: FieldSettingsModel): void;
    private filteringAction;
    protected targetElement(): string;
    private dataUpdater;
    private focusOutHandler;
    private resizeHandler;
    private getValidIndex;
    private updateSelectedOptions;
    private clearSelection;
    private setSelection;
    private updateSelectTag;
    private checkDisabledState;
    private updateToolBarState;
    private setCheckboxPosition;
    private showCheckbox;
    private isSelected;
    private getSelectTag;
    private getToolElem;
    private formResetHandler;
    /**
     * Return the module name.
     *
     * @private
     * @returns {string} - Module name
     */
    getModuleName(): string;
    /**
     * Get the properties to be maintained in the persisted state.
     *
     * @returns {string} - Persist data
     */
    protected getPersistData(): string;
    protected getLocaleName(): string;
    destroy(): void;
    /**
     * Called internally if any of the property value changed.
     *
     * @param {ListBoxModel} newProp - Specifies the new properties.
     * @param {ListBoxModel} oldProp - Specifies the old properties.
     * @returns {void}
     * @private
     */
    onPropertyChanged(newProp: ListBoxModel, oldProp: ListBoxModel): void;
}
/**
 * Interface for before item render event.
 */
export interface BeforeItemRenderEventArgs extends base.BaseEventArgs {
    /**
     * Returns the list element before rendering.
     */
    element: Element;
    /**
     * Returns the list item before rendering.
     */
    item: {
        [key: string]: Object;
    };
}
/**
 * Interface for drag and drop event args.
 */
export interface SourceDestinationModel {
    /**
     * Specifies the list items before  drag or drop in the ListBox.
     */
    previousData?: string[] | boolean[] | number[] | {
        [key: string]: Object;
    }[] | data.DataManager;
    /**
     * Specifies the list items after drag or drop in the ListBox.
     */
    currentData?: string[] | boolean[] | number[] | {
        [key: string]: Object;
    }[] | data.DataManager;
}
/**
 * Interface for drag and drop event.
 */
export interface DragEventArgs {
    /**
     * Returns the previous index of the selected list item.
     */
    previousIndex?: number;
    /**
     * Returns the current index of the selected list item.
     */
    currentIndex?: number;
    /**
     * Returns the selected list element.
     */
    elements: Element[];
    /**
     * Returns the selected list items.
     */
    items: Object[];
    /**
     * Returns the target list element where the selected list element to be dropped.
     */
    target?: Element;
    /**
     * Returns true if the list element is dragged from ListBox. Otherwise, it remains false.
     */
    dragSelected?: boolean;
    /**
     * Returns the previous list item.
     */
    previousItem?: object[];
    /**
     * Returns the previous  and current list items of the source list box.
     */
    source?: SourceDestinationModel;
    /**
     * Returns the previous and current list items of the destination list box.
     */
    destination?: SourceDestinationModel;
    /**
     * Specifies the event.
     */
    event: Event;
    /**
     * Illustrates whether the current action needs to be prevented or not.
     */
    cancel?: boolean;
}
/**
 * Interface for change event args.
 */
export interface ListBoxChangeEventArgs extends base.BaseEventArgs {
    /**
     * Returns the selected list elements.
     */
    elements: Element[];
    /**
     * Returns the selected list items.
     */
    items: Object[];
    /**
     * Returns the selected state or selected list item in the ListBox.
     */
    value: number[] | string[] | boolean[];
    /**
     * Specifies the event.
     */
    event: Event;
}
/**
 * Interface for Drop event args.
 */
export interface DropEventArgs {
    /**
     * Returns the previous index of the selected list item.
     */
    previousIndex: number;
    /**
     * Returns the current index of the selected list item.
     */
    currentIndex: number;
    /**
     * Returns the selected list element to be dropped.
     */
    droppedElement: Element;
    /**
     * Returns the target list element where the selected list element to be dropped.
     */
    target: Element;
    /**
     * Returns the dragged list element.
     */
    helper: Element;
    /**
     * Illustrates whether the current action needs to be prevented or not.
     */
    cancel?: boolean;
    /**
     * Returns the selected list items.
     */
    items?: Object[];
}
//node_modules/@syncfusion/ej2-dropdowns/src/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;
    /**
     * Specifies a value that indicates whether the component is enabled or not.
     *
     * @default true
     * @deprecated
     */
    enabled?: boolean;
    /**
     * Enable or disable persisting component's state between page reloads.
     * If enabled, following list of states will be persisted.
     * 1. value
     *
     * @default false
     * @deprecated
     */
    enablePersistence?: boolean;
    /**
     * If 'allowDragAndDrop' is set to true, then you can perform drag and drop of the list item.
     * ListBox contains same 'scope' property enables drag and drop between multiple ListBox.
     *
     * @default false
     */
    allowDragAndDrop?: boolean;
    /**
     * Sets limitation to the value selection.
     * based on the limitation, list selection will be prevented.
     *
     * @default 1000
     */
    maximumSelectionLength?: number;
    /**
     * To enable the filtering option in this component.
     * Filter action performs when type in search box and collect the matched item through `filtering` event.
     * If searching character does not match, `noRecordsTemplate` property value will be shown.
     *
     * @default false
     */
    allowFiltering?: boolean;
    /**
     * Defines the scope value to group sets of draggable and droppable ListBox.
     * A draggable with the same scope value will be accepted by the droppable.
     *
     * @default ''
     */
    scope?: string;
    /**
     * When set to ‘false’, consider the `case-sensitive` on performing the search to find suggestions.
     * By default consider the casing.
     *
     * @default true
     * @private
     */
    ignoreCase?: boolean;
    /**
     * Accepts the value to be displayed as a watermark text on the filter bar.
     *
     * @default null
     */
    filterBarPlaceholder?: string;
    /**
     * Specifies the `sortOrder` to sort the data source. The available type of sort orders are
     * * `None` - The data source is not sorting.
     * * `Ascending` - The data source is sorting with ascending order.
     * * `Descending` - The data source is sorting with descending order.
     *
     * @default null
     * @asptype object
     * @aspjsonconverterignore
     */
    sortOrder?: lists.SortOrder;
    /**
     * Triggers while rendering each list item.
     *
     * @event beforeItemRender
     * @blazorProperty 'OnItemRender'
     */
    beforeItemRender?: base.EmitType<BeforeItemRenderEventArgs>;
    /**
     * Triggers on typing a character in the component.
     *
     * @event filtering
     * @blazorProperty 'ItemSelected'
     */
    filtering?: base.EmitType<FilteringEventArgs>;
    /**
     * Triggers when an item in the popup is selected by the user either with mouse/tap or with keyboard navigation.
     *
     * @event select
     * @private
     */
    select?: base.EmitType<SelectEventArgs>;
    /**
     * Triggers while select / unselect the list item.
     *
     * @event change
     * @blazorProperty 'ValueChange'
     */
    change?: base.EmitType<ListBoxChangeEventArgs>;
    /**
     * Triggers before dropping the list item on another list item.
     *
     * @event beforeDrop
     * @blazorProperty 'OnDrop'
     */
    beforeDrop?: base.EmitType<DropEventArgs>;
    /**
     * Triggers after dragging the list item.
     *
     * @event dragStart
     * @blazorProperty 'DragStart'
     */
    dragStart?: base.EmitType<DragEventArgs>;
    /**
     * Triggers while dragging the list item.
     *
     * @event drag
     * @blazorProperty 'Dragging'
     */
    drag?: base.EmitType<DragEventArgs>;
    /**
     * Triggers before dropping the list item on another list item.
     *
     * @event drop
     * @blazorProperty 'Dropped'
     */
    drop?: base.EmitType<DragEventArgs>;
    /**
     * Triggers when data source is populated in the list.
     *
     * @event dataBound
     */
    dataBound?: base.EmitType<Object>;
    /**
     * Accepts the template design and assigns it to the group headers present in the list.
     *
     * @default null
     * @private
     */
    groupTemplate?: string;
    /**
     * Accepts the template and assigns it to the list content of the ListBox component
     * when the data fetch request from the remote server fails.
     *
     * @default 'Request Failed'
     * @private
     */
    actionFailureTemplate?: string;
    /**
     * specifies the z-index value of the component popup element.
     *
     * @default 1000
     * @private
     */
    zIndex?: number;
    /**
     * ignoreAccent set to true, then ignores the diacritic characters or accents when filtering.
     *
     * @private
     */
    ignoreAccent?: boolean;
    /**
     * Specifies the toolbar items and its position.
     *
     * @default { items: [], position: 'Right' }
     */
    toolbarSettings?: ToolbarSettingsModel;
    /**
     * Specifies the selection mode and its type.
     *
     * @default { mode: 'Multiple', type: 'Default' }
     */
    selectionSettings?: SelectionSettingsModel;
}
//node_modules/@syncfusion/ej2-dropdowns/src/drop-down-tree/drop-down-tree.d.ts
/**
 * Specifies the different ways to filter values.
 * ```props
 * StartsWith :- Checks whether a value begins with the specified value.
 * EndsWith :- Checks whether a value ends with the specified value.
 * Contains :- Checks whether a value contains with specified value.
 * ```
 */
export  type TreeFilterType = 'StartsWith' | 'EndsWith' | 'Contains';
export  class Fields extends base.ChildProperty<Fields> {
    /**
     * This field specifies the child items or mapping field for the nested child items that contains an array of JSON objects.
     */
    child: string | FieldsModel;
    /**
     * Specifies the array of JavaScript objects or instance of Data Manager to populate the dropdown tree items.
     *
     * @default []
     */
    dataSource: data.DataManager | {
        [key: string]: Object;
    }[];
    /**
     * This fields specifies the mapping field to define the expanded state of a Dropdown tree item.
     */
    expanded: string;
    /**
     * This field specifies the mapping field to indicate whether the Dropdown tree item has children or not.
     */
    hasChildren: string;
    /**
     * Specifies the mapping field for htmlAttributes to be added to the Dropdown Tree item.
     */
    htmlAttributes: string;
    /**
     * Specifies the mapping field for icon class of each Dropdown Tree item that will be added before the text.
     */
    iconCss: string;
    /**
     * Specifies the mapping field for image URL of each Dropdown Tree item where image will be added before the text.
     */
    imageUrl: string;
    /**
     * Specifies the parent value field mapped in the data source.
     */
    parentValue: string;
    /**
     * Defines the external [`data.Query`](https://ej2.syncfusion.com/documentation/api/data/query/)
     * that will execute along with the data processing.
     *
     * @default null
     */
    query: data.Query;
    /**
     * Specifies whether the node can be selected by users or not
     * When set to false, the user interaction is prevented for the corresponding node.
     */
    selectable: string;
    /**
     * Specifies the mapping field for the selected state of the Dropdown Tree item.
     */
    selected: string;
    /**
     * Specifies the table name used to fetch data from a specific table in the server.
     */
    tableName: string;
    /**
     * Specifies the mapping field for text displayed as Dropdown Tree items display text.
     */
    text: string;
    /**
     * Specifies the mapping field for tooltip that will be displayed as hovering text of the Dropdown Tree item.
     */
    tooltip: string;
    /**
     * Specifies the value(ID) field mapped in the data source.
     */
    value: string;
}
export  class TreeSettings extends base.ChildProperty<TreeSettings> {
    /**
     * Specifies whether the child and parent tree items check states are dependent over each other when checkboxes are enabled.
     *
     * @default false
     */
    autoCheck: boolean;
    /**
     * Determines whether the disabled children will be checked or not if their parent is checked.
     *
     * @default true
     */
    checkDisabledChildren: boolean;
    /**
     * Specifies the action on which the parent items in the pop-up should expand or collapse. The available actions are
     * * `Auto` - In desktop, the expand or collapse operation happens when you double-click the node,
     * and in mobile devices it happens on single-tap.
     * * `Click` - The expand or collapse operation happens when you perform single-click/tap
     * on the pop-up item in both desktop and mobile devices.
     * * `DblClick` - The expand or collapse operation happens when you perform a double-click/tap
     * on the pop-up item in both desktop and mobile devices.
     * * `None` - The expand or collapse operation will not happen when you perform single-click/tap
     * or double-click/tap on the pop-up items in both desktop and mobile devices.
     *
     * @default 'Auto'
     */
    expandOn: ExpandOn;
    /**
     * By default, the load on demand (Lazy load) is set to false.
     * Enabling this property will render only the parent tree items in the popup and
     * the child items will be rendered on demand when expanding the corresponding parent node.
     *
     * @default false
     */
    loadOnDemand: boolean;
}
export interface DdtChangeEventArgs {
    /**
     * If the event is triggered by interaction, it returns true. Otherwise, it returns false.
     */
    isInteracted: boolean;
    /**
     * Returns the component previous values.
     */
    oldValue: string[];
    /**
     * Returns the updated component values.
     */
    value: string[];
    /**
     * Specifies the original event.
     */
    e: MouseEvent | KeyboardEvent;
    /**
     * Returns the root element of the component.
     */
    element: HTMLElement;
}
export interface DdtBeforeOpenEventArgs {
    /**
     * Determines whether the current action needs to be prevented or not.
     */
    cancel: boolean;
}
export interface DdtPopupEventArgs {
    /**
     * Specifies the pop-up object.
     */
    popup: popups.Popup;
    /**
     * Determines whether the current popup close action needs to be prevented or not.
     */
    cancel?: boolean;
}
export interface DdtDataBoundEventArgs {
    /**
     * Return the DropDownTree data.
     */
    data: {
        [key: string]: Object;
    }[];
}
export interface DdtFocusEventArgs {
    /**
     * Specifies whether the element is interacted when focusing or not.
     */
    isInteracted?: boolean;
    /**
     * Specifies the original event.
     */
    event?: MouseEvent | FocusEvent | TouchEvent | KeyboardEvent;
}
export interface DdtFilteringEventArgs {
    /**
     * To prevent the internal filtering action.
     */
    preventDefaultAction: boolean;
    /**
     * Gets the `input` event arguments.
     */
    event: Event;
    /**
     * Determines whether the current action needs to be prevented or not.
     */
    cancel: boolean;
    /**
     * Filter text value.
     */
    text: string;
    /**
     * Gets or sets the fields of Dropdown Tree.
     */
    fields: FieldsModel;
}
export interface DdtSelectEventArgs {
    /**
     * Returns the name of action like select or unselect.
     */
    action: string;
    /**
     * If the event is triggered by interacting the Dropdown Tree, it returns true. Otherwise, it returns false.
     */
    isInteracted: boolean;
    /**
     * Returns the currently selected Dropdown item.
     */
    item: HTMLLIElement;
    /**
     * Return the currently selected item as JSON object from the data source.
     */
    itemData: {
        [key: string]: Object;
    };
}
export interface DdtKeyPressEventArgs {
    /**
     * If you want to cancel this event then, set cancel as true. Otherwise, false.
     */
    cancel: boolean;
    /**
     * Return the actual event.
     */
    event: base.KeyboardEventArgs;
}
/**
 * Configures visibility mode for component interaction when allowMultiSelection or checkbox is enabled.
 * ```props
 * Default :- On blur component will act in the delimiter mode.
 * Delimiter :- Selected items will be visualized in the text content.
 * Box :- Selected items will be visualized in chip.
 * Custom :- Selected items will be visualized with the given custom template value.
 * ```
 */
export  type Mode = 'Default' | 'Delimiter' | 'Box' | 'Custom';
/**
 * Specifies a value that indicates whether the items are sorted in the ascending or descending order, or not sorted at all.
 * ```props
 * None :- Indicates that the nodes are not sorted.
 * Ascending :- Indicates that the nodes are sorted in the ascending order.
 * Descending :- Indicates that the nodes are sorted in the descending order.
 * ```
 */
export  type SortOrder = 'None' | 'Ascending' | 'Descending';
/**
 * Specifies the expansion of tree nodes within the Dropdown Tree.
 * ```props
 * Auto :- In desktop, the expand or collapse operation happens when you double-click the node, and in mobile devices it happens on single-tap.
 * Click :- The expand or collapse operation happens when you perform single-click/tap on the pop-up item in both desktop and mobile devices.
 * DblClick :- The expand or collapse operation happens when you perform a double-click/tap on the pop-up item in both desktop and mobile devices.
 * None :- The expand or collapse operation will not happen when you perform single-click/tap or double-click/tap on the pop-up items in both desktop and mobile devices.
 * ```
 */
export  type ExpandOn = 'Auto' | 'Click' | 'DblClick' | 'None';
/**
 * The Dropdown Tree control allows you to select single or multiple values from hierarchical data in a tree-like structure.
 * It has several out-of-the-box features, such as data binding, check boxes, templates, filter,
 * UI customization, accessibility, and preselected values.
 * ```html
 *  <input type="text" id="tree"></input>
 * ```
 * ```typescript
 *  let ddtObj: DropDownTree = new DropDownTree();
 *  ddtObj.appendTo("#tree");
 * ```
 */
export  class DropDownTree extends base.Component<HTMLElement> implements base.INotifyPropertyChanged {
    private inputEle;
    private inputObj;
    private hiddenElement;
    private isReverseUpdate;
    private checkSelectAll;
    private inputWrapper;
    private popupDiv;
    private tree;
    private isPopupOpen;
    private inputFocus;
    private popupObj;
    private treeObj;
    private overAllClear;
    private isClearButtonClick;
    private isDocumentClick;
    private isFirstRender;
    private hasTemplate;
    private isInitialized;
    private treeDataType;
    private oldValue;
    private removeValue;
    private currentValue;
    private currentText;
    private treeItems;
    private filterTimer;
    private filterContainer;
    private isRemoteData;
    private selectedText;
    private chipWrapper;
    private chipCollection;
    private isChipDelete;
    private checkAllParent;
    private selectAllSpan;
    private checkBoxElement;
    private checkWrapper;
    private isNodeSelected;
    private dataValue;
    private popupEle;
    private isDynamicChange;
    private header;
    private footer;
    private noRecord;
    private headerTemplateId;
    private footerTemplateId;
    private l10n;
    private actionFailureTemplateId;
    private customTemplateId;
    private noRecordsTemplateId;
    private isValueChange;
    private keyEventArgs;
    private keyboardModule;
    private keyConfigs;
    private overFlowWrapper;
    private isFilteredData;
    private isFilterRestore;
    private treeData;
    private selectedData;
    private filterObj;
    private filterDelayTime;
    private nestedTableUpdate;
    private clearIconWidth;
    private isClicked;
    private documentClickContext;
    private isCheckAllCalled;
    private isFromFilterChange;
    private valueTemplateContainer;
    /**
     * 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'
     * @aspType string
     */
    actionFailureTemplate: string | Function;
    /**
     * When allowFiltering is set to true, it shows the filter bar (search text box) of the component.
     * The filter action retrieves matched items through the **filtering** event based on the characters typed in the search text box.
     * If no match is found, the value of the **noRecordsTemplate** property will be displayed.
     *
     * @default false
     */
    allowFiltering: boolean;
    /**
     * Enables or disables the multi-selection of items. To select multiple items:
     * * Select the items by holding down the **Ctrl** key when clicking on the items.
     * * Select consecutive items by clicking the first item to select and hold down the **Shift** key and click the last item to select.
     *
     * @default false
     */
    allowMultiSelection: boolean;
    /**
     * By default, the Dropdown Tree component fires the change event while focusing out the component.
     * If you want to fire the change event on every value selection and remove, then disable this property.
     *
     * @default true
     */
    changeOnBlur: boolean;
    /**
     * Specifies the CSS classes to be added with the root and popup element of the Dropdown Tree component.
     * that allows customization of appearance.
     *
     * @default ''
     */
    cssClass: string;
    /**
     * This property is used to customize the display text of the selected items in the Dropdown Tree. The given custom template is
     * added to the input instead of the selected item text in the Dropdown Tree when the multi-selection or checkbox support is enabled.
     *
     * @default "${value.length} item(s) selected"
     * @aspType string
     */
    customTemplate: string | Function;
    /**
     * 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', selectable: 'selectable', tableName: null, tooltip: 'tooltip' }
     */
    fields: FieldsModel;
    /**
     * Accepts the value to be displayed as a watermark text on the filter bar.
     *
     * @default null
     */
    filterBarPlaceholder: string;
    /**
     * Determines on which filter type, the component needs to be considered on search action.
     * The **TreeFilterType** and its supported data types are,
     *
     * <table>
     * <tr>
     * <td colSpan=1 rowSpan=1><b>
     * TreeFilterType</b></td><td colSpan=1 rowSpan=1><b>
     * Description</b></td><td colSpan=1 rowSpan=1><b>
     * Supported Types</b></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * StartsWith<br/></td><td colSpan=1 rowSpan=1>
     * Checks whether a value begins with the specified value.<br/></td><td colSpan=1 rowSpan=1>
     * String<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * EndsWith<br/></td><td colSpan=1 rowSpan=1>
     * Checks whether a value ends with the specified value.<br/></td><td colSpan=1 rowSpan=1>
     * String<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * Contains<br/></td><td colSpan=1 rowSpan=1>
     * Checks whether a value contains with specified value.<br/></td><td colSpan=1 rowSpan=1>
     * String<br/></td></tr>
     * </table>
     *
     * The default value set to **StartsWith**, all the suggestion items which starts with typed characters to listed in the
     * suggestion popup.
     *
     * @default 'StartsWith'
     */
    filterType: TreeFilterType;
    /**
     * Specifies whether to display the floating label above the input element.
     * Possible values are:
     * * Never: The label will never float in the input when the placeholder is available.
     * * Always: The floating label will always float above the input.
     * * Auto: The floating label will float above the input after focusing or entering a value in the input.
     *
     * @default Syncfusion.EJ2.Inputs.inputs.FloatLabelType.Never
     * @isEnumeration true
     */
    floatLabelType: inputs.FloatLabelType;
    /**
     * Specifies the template that renders a customized footer container at the bottom of the pop-up list.
     * By default, the footerTemplate will be null and there will be no footer container for the pop-up list.
     *
     * @default null
     * @angularType string | object
     * @reactType string | function | JSX.Element
     * @vueType string | function
     * @aspType string
     */
    footerTemplate: string | Function;
    /**
     * When **ignoreAccent** is set to true, then it ignores the diacritic characters or accents when filtering.
     */
    ignoreAccent: boolean;
    /**
     * When set to false, consider the case-sensitive on performing the search to find suggestions. By default, consider the casing.
     *
     * @default true
     */
    ignoreCase: boolean;
    /**
     * Specifies the template that renders a customized header container at the top of the pop-up list.
     * By default, the headerTemplate will be null and there will be no header container for the pop-up list.
     *
     * @default null
     * @angularType string | object
     * @reactType string | function | JSX.Element
     * @vueType string | function
     * @aspType string
     */
    headerTemplate: string | Function;
    /**
     * Allows additional HTML attributes such as title, name, etc., and accepts n number of attributes in a key-value pair format.
     *
     * @default {}
     */
    htmlAttributes: {
        [key: string]: string;
    };
    /**
     * Specifies a template to render customized content for all the items.
     * If the **itemTemplate** property is set, the template content overrides the displayed item text.
     * The property accepts [template string](https://ej2.syncfusion.com/documentation/common/template-engine/)
     * or HTML element ID holding the content.
     *
     * @default null
     * @angularType string | object
     * @reactType string | function | JSX.Element
     * @vueType string | function
     * @aspType string
     */
    itemTemplate: string | Function;
    /**
     * Configures visibility mode for component interaction when allowMultiSelection or checkbox is enabled.
     * Different modes are:
     * * Box : Selected items will be visualized in chip.
     * * Delimiter : Selected items will be visualized in the text content.
     * * Default : On focus in component will act in the box mode. On blur component will act in the delimiter mode.
     * * Custom : Selected items will be visualized with the given custom template value. The given custom template
     *  is added to the input instead of the selected item text in the Dropdown Tree when the multi-selection or checkbox support is enabled.
     */
    mode: Mode;
    /**
     * Specifies the template that renders a customized pop-up list content when there is no data available
     * to be displayed within the pop-up.
     *
     * @default 'No Records Found'
     * @aspType string
     */
    noRecordsTemplate: string | Function;
    /**
     * Specifies a short hint that describes the expected value of the Dropdown Tree component.
     *
     * @default null
     */
    placeholder: string;
    /**
     * Specifies the height of the pop-up list.
     *
     * @default '300px'
     */
    popupHeight: string | number;
    /**
     * Specifies the width of the popup list. By default, the popup width sets based on the width of the Dropdown Tree element.
     *
     * @default '100%'
     */
    popupWidth: string | number;
    /**
     * When set to true, the user interactions on the component will be disabled.
     *
     * @default false
     */
    readonly: boolean;
    /**
     * Specifies whether to show or hide the selectAll checkbox in the pop-up which allows you to select all the items in the pop-up.
     *
     * @default false
     */
    showSelectAll: boolean;
    /**
     * Specifies the display text for the selectAll checkbox in the pop-up.
     *
     * @default 'Select All'
     */
    selectAllText: string;
    /**
     * Enables or disables the checkbox option in the Dropdown Tree component.
     * If enabled, the Checkbox will be displayed next to the expand or collapse icon of the tree items.
     *
     * @default false
     */
    showCheckBox: boolean;
    /**
     * Specifies whether to destroy the popup or to maintain it in DOM when it is closed.
     * When this property is set to false, then the popup will not be removed from DOM once it is closed.
     *
     * @default true
     * @deprecated
     */
    destroyPopupOnHide: boolean;
    /**
     * Specifies whether to display or remove the untrusted HTML values in the Dropdown Tree component.
     * If 'enableHtmlSanitizer' set to true, the component will sanitize any suspected untrusted strings and scripts before rendering them.
     *
     * @default true
     */
    enableHtmlSanitizer: boolean;
    /**
     * Specifies whether to show or hide the clear icon in textbox.
     * When the clear button is clicked, `value`, `text` properties will be reset to null.
     *
     * @default true
     */
    showClearButton: boolean;
    /**
     * Specifies whether to show or hide the Dropdown button.
     *
     * @default true
     */
    showDropDownIcon: boolean;
    /**
     * Specifies a value that indicates whether the items are sorted in the ascending or descending order, or not sorted at all.
     * The available types of sort order are,
     * * `None` - The items are not sorted.
     * * `Ascending` - The items are sorted in the ascending order.
     * * `Descending` - The items are sorted in the descending order.
     *
     * @default 'None'
     */
    sortOrder: SortOrder;
    /**
     * Gets or sets the display text of the selected item which maps the data **text** field in the component.
     *
     * @default null
     */
    text: string;
    /**
     * Configures the pop-up tree settings.
     *
     * @default {autoCheck: false, expandOn: 'Auto', loadOnDemand: false}
     */
    treeSettings: TreeSettingsModel;
    /**
     * Specifies the display text for the unselect all checkbox in the pop-up.
     *
     * @default 'Unselect All'
     */
    unSelectAllText: string;
    /**
     * Gets or sets the value of selected item(s) which maps the data **value** field in the component.
     *
     * @default null
     * @aspType Object
     */
    value: string[];
    /**
     * Specifies the way to customize the selected values in the Dropdown Tree component based on application needs. If the **valueTemplate** property is set, the template content overrides the displayed item text.
     * The property accepts [template string] (https://ej2.syncfusion.com/documentation/common/template-engine/) or HTML element ID holding the content. The context for the valueTemplate comes from the data object passed to it.
     *
     * @default null
     * @angularType string | object
     * @reactType string | function | JSX.Element
     * @vueType string | function
     * @aspType string
     */
    valueTemplate: string | Function;
    /**
     * Specifies the width of the component. By default, the component width sets based on the width of its parent container.
     * You can also set the width in pixel values.
     *
     * @default '100%'
     */
    width: string | number;
    /**
     * Specifies the z-index value of the pop-up element.
     *
     * @default 1000
     */
    zIndex: number;
    /**
     * Defines whether to enable or disable the feature called wrap the selected items into multiple lines when the selected item's text
     * content exceeded the input width limit.
     *
     * @default false
     */
    wrapText: boolean;
    /**
     * Triggers when the data fetch request from the remote server fails.
     *
     * @event actionFailure
     */
    actionFailure: base.EmitType<Object>;
    /**
     * Fires when popup opens before animation.
     *
     * @event beforeOpen
     */
    beforeOpen: base.EmitType<DdtBeforeOpenEventArgs>;
    /**
     * Triggers when an item in a popup is selected or when the model value is changed by user.
     *
     * @event change
     */
    change: base.EmitType<DdtChangeEventArgs>;
    /**
     * Fires when popup close after animation completion.
     *
     * @event close
     */
    close: base.EmitType<DdtPopupEventArgs>;
    /**
     * Triggers when the Dropdown Tree input element gets focus-out.
     *
     * @event blur
     */
    blur: base.EmitType<Object>;
    /**
     * Triggers when the Dropdown Tree is created successfully.
     *
     * @event created
     */
    created: base.EmitType<Object>;
    /**
     * Triggers when data source is populated in the Dropdown Tree.
     *
     * @event dataBound
     */
    dataBound: base.EmitType<DdtDataBoundEventArgs>;
    /**
     * Triggers when the Dropdown Tree is destroyed successfully.
     *
     * @event destroyed
     */
    destroyed: base.EmitType<Object>;
    /**
     * Triggers on typing a character in the filter bar when the **allowFiltering** is enabled.
     *
     * @event filtering
     */
    filtering: base.EmitType<DdtFilteringEventArgs>;
    /**
     * Triggers when the Dropdown Tree input element is focused.
     *
     * @event focus
     */
    focus: base.EmitType<DdtFocusEventArgs>;
    /**
     * Triggers when key press is successful. It helps to customize the operations at key press.
     *
     * @event keyPress
     */
    keyPress: base.EmitType<DdtKeyPressEventArgs>;
    /**
     * Fires when popup opens after animation completion.
     *
     * @event open
     */
    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
     */
    select: base.EmitType<DdtSelectEventArgs>;
    constructor(options?: DropDownTreeModel, element?: string | HTMLElement);
    /**
     * Get the properties to be maintained in the persisted state.
     *
     * @returns {string}
     * @hidden
     */
    getPersistData(): string;
    getLocaleName(): string;
    /**
     * Initialize the event handler.
     *
     * @returns {void}
     * @private
     */
    protected preRender(): void;
    /**
     * To Initialize the control rendering
     *
     * @private
     * @returns {void}
     */
    render(): void;
    private hideCheckAll;
    private renderFilter;
    private filterKeyAction;
    private filterChangeHandler;
    private isChildObject;
    private filterHandler;
    private remoteDataFilter;
    private remoteChildFilter;
    private nestedFilter;
    private nestedChildFilter;
    private selfReferencefilter;
    private isMatchedNode;
    private wireEvents;
    private wireTreeEvents;
    private wireCheckAllWrapperEvents;
    private unWireEvents;
    private handleIosTouch;
    private dropDownClick;
    private mouseIn;
    private onMouseLeave;
    protected getDirective(): string;
    private focusOut;
    private onFocusOut;
    private updateView;
    private triggerChangeEvent;
    private ddtCompareValues;
    private focusIn;
    private treeAction;
    private keyActionHandler;
    private checkAllAction;
    private windowResize;
    private resetValueHandler;
    protected getAriaAttributes(): {
        [key: string]: string;
    };
    private updateOverFlowView;
    private checkRemainingTemplate;
    private updateChipAndValueTemplate;
    private updateRemainTemplate;
    private getOverflowVal;
    private updateDelimMode;
    private createHiddenElement;
    private createClearIcon;
    private validationAttribute;
    private createChip;
    private getValidMode;
    private createSelectAllWrapper;
    private clickHandler;
    private changeState;
    private setLocale;
    private setAttributes;
    private setHTMLAttributes;
    private updateDataAttribute;
    private showOverAllClear;
    private setTreeValue;
    private setTreeText;
    private setSelectedValue;
    private setValueTemplate;
    private getValueTemplateElement;
    private setValidValue;
    private getItems;
    private getNestedItems;
    private getChildType;
    private renderTree;
    private renderPopup;
    private removeFocus;
    private updateFocus;
    private reactCallBack;
    private updatePopupHeight;
    private createPopup;
    private setElementWidth;
    private setWidth;
    private getHeight;
    private onDocumentClick;
    private onActionFailure;
    private OnDataBound;
    private restoreFilterSelection;
    private setCssClass;
    private setEnableRTL;
    private setEnable;
    private cloneFields;
    private cloneChildField;
    private getTreeFields;
    private getTreeChildren;
    private getTreeDataType;
    private setFields;
    private getEventArgs;
    private onBeforeSelect;
    private updateHiddenValue;
    private onNodeSelected;
    private onNodeClicked;
    private onNodeChecked;
    private beforeCheck;
    private onNodeExpanded;
    private updateClearButton;
    private updateDropDownIconState;
    private updateMode;
    private ensurePlaceHolder;
    private ensureClearIconPosition;
    private setMultiSelectValue;
    private setMultiSelect;
    private getSelectedData;
    private getNodeData;
    private getChildNodeData;
    private getChildMapperFields;
    private removeSelectedData;
    private initializeValueTemplate;
    private showOrHideValueTemplate;
    private updateSelectedValues;
    private setChipValues;
    private setTagValues;
    private setSelectAllWrapper;
    private setHeaderTemplate;
    private templateComplier;
    private setFooterTemplate;
    private clearAll;
    private removeChip;
    private resetValue;
    private clearCheckAll;
    private setOldValue;
    private selectAllItems;
    private updateTreeSettings;
    private updateCheckBoxState;
    private updateTemplate;
    private l10nUpdate;
    private updateRecordTemplate;
    private updateOverflowWrapper;
    private updateMultiSelection;
    private updateAllowFiltering;
    private updateFilterPlaceHolder;
    private updateValue;
    private updateText;
    private updateModelMode;
    private updateOption;
    /**
     * Dynamically change the value of properties.
     *
     * @param {DropDownTreeModel} newProp - specifies the newProp value.
     * @param {DropDownTreeModel} oldProp - specifies the newProp value.
     * @returns {void}
     * @private
     */
    onPropertyChanged(newProp: DropDownTreeModel, oldProp: DropDownTreeModel): void;
    /**
     * Allows you to clear the selected values from the Dropdown Tree component.
     *
     * @method clear
     * @returns {void}
     */
    clear(): void;
    /**
     * Removes the component from the DOM and detaches all its related event handlers. Also, it removes the attributes and classes.
     *
     * @method destroy
     * @returns {void}
     */
    destroy(): void;
    private destroyFilter;
    private destroyPopup;
    /**
     * Ensures visibility of the Dropdown Tree item by using item value or item element.
     * If many Dropdown Tree items are present, and we are in need to find a particular item, then the `ensureVisible` property
     * helps you to bring the item to visibility by expanding the Dropdown Tree and scrolling to the specific item.
     *
     * @param  {string | Element} item - Specifies the value of Dropdown Tree item/ Dropdown Tree item element.
     * @returns {void}
     */
    ensureVisible(item: string | Element): void;
    /**
     * To get the updated data source of the Dropdown Tree.
     *
     * @param  {string | Element} item - Specifies the value of Dropdown Tree item/ Dropdown Tree item element
     * @returns {'{[key: string]: Object }[]'} - returns the updated data source of the Dropdown Tree.
     */
    getData(item?: string | Element): {
        [key: string]: Object;
    }[];
    /**
     * Close the Dropdown tree pop-up.
     *
     * @returns {void}
     */
    hidePopup(): void;
    /**
     * Based on the state parameter, entire list item will be selected or deselected.
     *
     * @param {boolean} state - Unselects/Selects entire Dropdown Tree items.
     * @returns {void}
     *
     */
    selectAll(state: boolean): void;
    /**
     * Opens the popup that displays the Dropdown Tree items.
     *
     * @returns {void}
     */
    showPopup(): void;
    /**
     * Return the module name.
     *
     * @private
     * @returns {string} - returns the module name.
     */
    getModuleName(): string;
}
//node_modules/@syncfusion/ej2-dropdowns/src/drop-down-tree/drop-down-tree-model.d.ts
/**
 * Interface for a class Fields
 */
export interface FieldsModel {
    /**
     * This field specifies the child items or mapping field for the nested child items that contains an array of JSON objects.
     */
    child?: string | FieldsModel;
    /**
     * Specifies the array of JavaScript objects or instance of Data Manager to populate the dropdown tree items.
     *
     * @default []
     */
    dataSource?: data.DataManager | { [key: string]: Object }[];
    /**
     * This fields specifies the mapping field to define the expanded state of a Dropdown tree item.
     */
    expanded?: string;
    /**
     * This field specifies the mapping field to indicate whether the Dropdown tree item has children or not.
     */
    hasChildren?: string;
    /**
     * Specifies the mapping field for htmlAttributes to be added to the Dropdown Tree item.
     */
    htmlAttributes?: string;
    /**
     * Specifies the mapping field for icon class of each Dropdown Tree item that will be added before the text.
     */
    iconCss?: string;
    /**
     * Specifies the mapping field for image URL of each Dropdown Tree item where image will be added before the text.
     */
    imageUrl?: string;
    /**
     * Specifies the parent value field mapped in the data source.
     */
    parentValue?: string;
    /**
     * Defines the external [`data.Query`](https://ej2.syncfusion.com/documentation/api/data/query/)
     * that will execute along with the data processing.
     *
     * @default null
     */
    query?: data.Query;
    /**
     * Specifies whether the node can be selected by users or not
     * When set to false, the user interaction is prevented for the corresponding node.
     */
    selectable?: string;
    /**
     * Specifies the mapping field for the selected state of the Dropdown Tree item.
     */
    selected?: string;
    /**
     * Specifies the table name used to fetch data from a specific table in the server.
     */
    tableName?: string;
    /**
     * Specifies the mapping field for text displayed as Dropdown Tree items display text.
     */
    text?: string;
    /**
     * Specifies the mapping field for tooltip that will be displayed as hovering text of the Dropdown Tree item.
     */
    tooltip?: string;
    /**
     * Specifies the value(ID) field mapped in the data source.
     */
    value?: string;
}
/**
 * Interface for a class TreeSettings
 */
export interface TreeSettingsModel {
    /**
     * Specifies whether the child and parent tree items check states are dependent over each other when checkboxes are enabled.
     *
     * @default false
     */
    autoCheck?: boolean;
    /**
     * Determines whether the disabled children will be checked or not if their parent is checked.
     *
     * @default true
     */
    checkDisabledChildren?: boolean;
    /**
     * Specifies the action on which the parent items in the pop-up should expand or collapse. The available actions are
     * * `Auto` - In desktop, the expand or collapse operation happens when you double-click the node,
     * and in mobile devices it happens on single-tap.
     * * `Click` - The expand or collapse operation happens when you perform single-click/tap
     * on the pop-up item in both desktop and mobile devices.
     * * `DblClick` - The expand or collapse operation happens when you perform a double-click/tap
     * on the pop-up item in both desktop and mobile devices.
     * * `None` - The expand or collapse operation will not happen when you perform single-click/tap
     * or double-click/tap on the pop-up items in both desktop and mobile devices.
     *
     * @default 'Auto'
     */
    expandOn?: ExpandOn;
    /**
     * By default, the load on demand (Lazy load) is set to false.
     * Enabling this property will render only the parent tree items in the popup and
     * the child items will be rendered on demand when expanding the corresponding parent node.
     *
     * @default false
     */
    loadOnDemand?: boolean;
}
/**
 * Interface for a class DropDownTree
 */
export interface DropDownTreeModel extends base.ComponentModel{
    /**
     * Specifies the template that renders to the popup list content of the
     * Dropdown Tree component when the data fetch request from the remote server fails.
     *
     * @default 'The Request Failed'
     * @aspType string
     */
    actionFailureTemplate?: string | Function;
    /**
     * When allowFiltering is set to true, it shows the filter bar (search text box) of the component.
     * The filter action retrieves matched items through the **filtering** event based on the characters typed in the search text box.
     * If no match is found, the value of the **noRecordsTemplate** property will be displayed.
     *
     * @default false
     */
    allowFiltering?: boolean;
    /**
     * Enables or disables the multi-selection of items. To base.select multiple items:
     * * Select the items by holding down the **Ctrl** key when clicking on the items.
     * * Select consecutive items by clicking the first item to base.select and hold down the **Shift** key and click the last item to base.select.
     *
     * @default false
     */
    allowMultiSelection?: boolean;
    /**
     * By default, the Dropdown Tree component fires the change event while focusing out the component.
     * If you want to fire the change event on every value selection and base.remove, then disable this property.
     *
     * @default true
     */
    changeOnBlur?: boolean;
    /**
     * Specifies the CSS classes to be added with the root and popup element of the Dropdown Tree component.
     * that allows customization of appearance.
     *
     * @default ''
     */
    cssClass?: string;
    /**
     * This property is used to customize the display text of the selected items in the Dropdown Tree. The given custom template is
     * added to the input instead of the selected item text in the Dropdown Tree when the multi-selection or checkbox support is enabled.
     *
     * @default "${value.length} item(s) selected"
     * @aspType string
     */
    customTemplate?: string | Function;
    /**
     * 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', selectable: 'selectable', tableName: null, tooltip: 'tooltip' }
     */
    fields?: FieldsModel;
    /**
     * Accepts the value to be displayed as a watermark text on the filter bar.
     *
     * @default null
     */
    filterBarPlaceholder?: string;
    /**
     * Determines on which filter type, the component needs to be considered on search action.
     * The **TreeFilterType** and its supported data types are,
     *
     * <table>
     * <tr>
     * <td colSpan=1 rowSpan=1><b>
     * TreeFilterType</b></td><td colSpan=1 rowSpan=1><b>
     * Description</b></td><td colSpan=1 rowSpan=1><b>
     * Supported Types</b></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * StartsWith<br/></td><td colSpan=1 rowSpan=1>
     * Checks whether a value begins with the specified value.<br/></td><td colSpan=1 rowSpan=1>
     * String<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * EndsWith<br/></td><td colSpan=1 rowSpan=1>
     * Checks whether a value ends with the specified value.<br/></td><td colSpan=1 rowSpan=1>
     * String<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * Contains<br/></td><td colSpan=1 rowSpan=1>
     * Checks whether a value contains with specified value.<br/></td><td colSpan=1 rowSpan=1>
     * String<br/></td></tr>
     * </table>
     *
     * The default value set to **StartsWith**, all the suggestion items which starts with typed characters to listed in the
     * suggestion popup.
     *
     * @default 'StartsWith'
     */
    filterType?: TreeFilterType;
    /**
     * Specifies whether to display the floating label above the input element.
     * Possible values are:
     * * Never: The label will never float in the input when the placeholder is available.
     * * Always: The floating label will always float above the input.
     * * Auto: The floating label will float above the input after focusing or entering a value in the input.
     *
     * @default Syncfusion.EJ2.Inputs.inputs.FloatLabelType.Never
     * @isEnumeration true
     */
    floatLabelType?: inputs.FloatLabelType;
    /**
     * Specifies the template that renders a customized footer container at the bottom of the pop-up list.
     * By default, the footerTemplate will be null and there will be no footer container for the pop-up list.
     *
     * @default null
     * @angularType string | object
     * @reactType string | function | JSX.Element
     * @vueType string | function
     * @aspType string
     */
    footerTemplate?: string | Function;
    /**
     * When **ignoreAccent** is set to true, then it ignores the diacritic characters or accents when filtering.
     */
    ignoreAccent?: boolean;
    /**
     * When set to false, consider the case-sensitive on performing the search to find suggestions. By default, consider the casing.
     *
     * @default true
     */
    ignoreCase?: boolean;
    /**
     * Specifies the template that renders a customized header container at the top of the pop-up list.
     * By default, the headerTemplate will be null and there will be no header container for the pop-up list.
     *
     * @default null
     * @angularType string | object
     * @reactType string | function | JSX.Element
     * @vueType string | function
     * @aspType string
     */
    headerTemplate?: string | Function;
    /**
     * Allows additional HTML base.attributes such as title, name, etc., and accepts n number of base.attributes in a key-value pair format.
     *
     * @default {}
     */
    htmlAttributes?: { [key: string]: string;
 };
    /**
     * Specifies a template to render customized content for all the items.
     * If the **itemTemplate** property is set, the template content overrides the displayed item text.
     * The property accepts [template string](https://ej2.syncfusion.com/documentation/common/template-engine/)
     * or HTML element ID holding the content.
     *
     * @default null
     * @angularType string | object
     * @reactType string | function | JSX.Element
     * @vueType string | function
     * @aspType string
     */
    itemTemplate?: string | Function;
    /**
     * Configures visibility mode for component interaction when allowMultiSelection or checkbox is enabled.
     * Different modes are:
     * * Box : Selected items will be visualized in chip.
     * * Delimiter : Selected items will be visualized in the text content.
     * * Default : On focus in component will act in the box mode. On blur component will act in the delimiter mode.
     * * Custom : Selected items will be visualized with the given custom template value. The given custom template
     *  is added to the input instead of the selected item text in the Dropdown Tree when the multi-selection or checkbox support is enabled.
     */
    mode?: Mode;
    /**
     * Specifies the template that renders a customized pop-up list content when there is no data available
     * to be displayed within the pop-up.
     *
     * @default 'No Records Found'
     * @aspType string
     */
    noRecordsTemplate?: string | Function;
    /**
     * Specifies a short hint that describes the expected value of the Dropdown Tree component.
     *
     * @default null
     */
    placeholder?: string;
    /**
     * Specifies the height of the pop-up list.
     *
     * @default '300px'
     */
    popupHeight?: string | number;
    /**
     * Specifies the width of the popup list. By default, the popup width sets based on the width of the Dropdown Tree element.
     *
     * @default '100%'
     */
    popupWidth?: string | number;
    /**
     * When set to true, the user interactions on the component will be disabled.
     *
     * @default false
     */
    readonly?: boolean;
    /**
     * Specifies whether to show or hide the base.selectAll checkbox in the pop-up which allows you to base.select all the items in the pop-up.
     *
     * @default false
     */
    showSelectAll?: boolean;
    /**
     * Specifies the display text for the base.selectAll checkbox in the pop-up.
     *
     * @default 'Select All'
     */
    selectAllText?: string;
    /**
     * Enables or disables the checkbox option in the Dropdown Tree component.
     * If enabled, the Checkbox will be displayed next to the expand or collapse icon of the tree items.
     *
     * @default false
     */
    showCheckBox?: boolean;
    /**
     * Specifies whether to destroy the popup or to maintain it in DOM when it is closed.
     * When this property is set to false, then the popup will not be removed from DOM once it is closed.
     *
     * @default true
     * @deprecated
     */
    destroyPopupOnHide?: boolean;
    /**
     * Specifies whether to display or base.remove the untrusted HTML values in the Dropdown Tree component.
     * If 'enableHtmlSanitizer' set to true, the component will sanitize any suspected untrusted strings and scripts before rendering them.
     *
     * @default true
     */
    enableHtmlSanitizer?: boolean;
    /**
     * Specifies whether to show or hide the clear icon in textbox.
     * When the clear button is clicked, `value`, `text` properties will be reset to null.
     *
     * @default true
     */
    showClearButton?: boolean;
    /**
     * Specifies whether to show or hide the Dropdown button.
     *
     * @default true
     */
    showDropDownIcon?: boolean;
    /**
     * Specifies a value that indicates whether the items are sorted in the ascending or descending order, or not sorted at all.
     * The available types of sort order are,
     * * `None` - The items are not sorted.
     * * `Ascending` - The items are sorted in the ascending order.
     * * `Descending` - The items are sorted in the descending order.
     *
     * @default 'None'
     */
    sortOrder?: SortOrder;
    /**
     * Gets or sets the display text of the selected item which maps the data **text** field in the component.
     *
     * @default null
     */
    text?: string;
    /**
     * Configures the pop-up tree settings.
     *
     * @default {autoCheck: false, expandOn: 'Auto', loadOnDemand: false}
     */
    treeSettings?: TreeSettingsModel;
    /**
     * Specifies the display text for the unselect all checkbox in the pop-up.
     *
     * @default 'Unselect All'
     */
    unSelectAllText?: string;
    /**
     * Gets or sets the value of selected item(s) which maps the data **value** field in the component.
     *
     * @default null
     * @aspType Object
     */
    value?: string[];
    /**
     * Specifies the way to customize the selected values in the Dropdown Tree component based on application needs. If the **valueTemplate** property is set, the template content overrides the displayed item text.
     * The property accepts [template string] (https://ej2.syncfusion.com/documentation/common/template-engine/) or HTML element ID holding the content. The context for the valueTemplate comes from the data object passed to it.
     *
     * @default null
     * @angularType string | object
     * @reactType string | function | JSX.Element
     * @vueType string | function
     * @aspType string
     */
    valueTemplate?: string | Function;
    /**
     * Specifies the width of the component. By default, the component width sets based on the width of its parent container.
     * You can also set the width in pixel values.
     *
     * @default '100%'
     */
    width?: string | number;
    /**
     * Specifies the z-index value of the pop-up element.
     *
     * @default 1000
     */
    zIndex?: number;
    /**
     * Defines whether to enable or disable the feature called wrap the selected items into multiple lines when the selected item's text
     * content exceeded the input width limit.
     *
     * @default false
     */
    wrapText?: boolean;
    /**
     * Triggers when the data fetch request from the remote server fails.
     *
     * @event actionFailure
     */
    actionFailure?: base.EmitType<Object>;
    /**
     * Fires when popup opens before animation.
     *
     * @event beforeOpen
     */
    beforeOpen?: base.EmitType<DdtBeforeOpenEventArgs>;
    /**
     * Triggers when an item in a popup is selected or when the model value is changed by user.
     *
     * @event change
     */
    change?: base.EmitType<DdtChangeEventArgs>;
    /**
     * Fires when popup close after animation completion.
     *
     * @event close
     */
    close?: base.EmitType<DdtPopupEventArgs>;
    /**
     * Triggers when the Dropdown Tree input element gets focus-out.
     *
     * @event blur
     */
    blur?: base.EmitType<Object>;
    /**
     * Triggers when the Dropdown Tree is created successfully.
     *
     * @event created
     */
    created?: base.EmitType<Object>;
    /**
     * Triggers when data source is populated in the Dropdown Tree.
     *
     * @event dataBound
     */
    dataBound?: base.EmitType<DdtDataBoundEventArgs>;
    /**
     * Triggers when the Dropdown Tree is destroyed successfully.
     *
     * @event destroyed
     */
    destroyed?: base.EmitType<Object>;
    /**
     * Triggers on typing a character in the filter bar when the **allowFiltering** is enabled.
     *
     * @event filtering
     */
    filtering?: base.EmitType<DdtFilteringEventArgs>;
    /**
     * Triggers when the Dropdown Tree input element is focused.
     *
     * @event focus
     */
    focus?: base.EmitType<DdtFocusEventArgs>;
    /**
     * Triggers when key press is successful. It helps to customize the operations at key press.
     *
     * @event keyPress
     */
    keyPress?: base.EmitType<DdtKeyPressEventArgs>;
    /**
     * Fires when popup opens after animation completion.
     *
     * @event open
     */
    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 base.select
     */
    select?: base.EmitType<DdtSelectEventArgs>;
}
//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 | object;
    /**
     * Returns the previous selected list item
     */
    previousItem: HTMLLIElement;
    /**
     * Returns the previous selected item as JSON Object from the data source.
     *
     */
    previousItemData: FieldSettingsModel;
    /**
     * Returns the root element of the component.
     */
    element: HTMLElement;
    /**
     * Specifies the original event arguments.
     */
    event: MouseEvent | KeyboardEvent | TouchEvent;
}
export interface GeneratedData {
    [key: string]: Object;
}
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;
    protected hiddenElement: HTMLSelectElement;
    protected isPopupOpen: boolean;
    private isDocumentClick;
    protected isInteracted: boolean;
    private isFilterFocus;
    protected beforePopupOpen: boolean;
    protected initial: boolean;
    private searchBoxHeight;
    private popupObj;
    private backIconElement;
    private clearIconElement;
    private containerStyle;
    protected previousValue: string | number | boolean | object;
    protected activeIndex: number;
    protected filterInput: HTMLInputElement;
    private searchKeyModule;
    private tabIndex;
    private isNotSearchList;
    protected isTyped: boolean;
    protected isSelected: boolean;
    protected preventFocus: boolean;
    protected preventAutoFill: boolean;
    protected queryString: string;
    protected isValidKey: boolean;
    protected typedString: string;
    protected isEscapeKey: boolean;
    private isPreventBlur;
    protected isTabKey: boolean;
    private actionCompleteData;
    private actionData;
    protected prevSelectPoints: {
        [key: string]: number;
    };
    protected isSelectCustom: boolean;
    protected isDropDownClick: boolean;
    protected preventAltUp: boolean;
    private searchKeyEvent;
    private filterInputObj;
    protected spinnerElement: HTMLElement;
    protected keyConfigure: {
        [key: string]: string;
    };
    protected isCustomFilter: boolean;
    private isSecondClick;
    protected isListSearched: boolean;
    protected preventChange: boolean;
    protected selectedElementID: string;
    private preselectedIndex;
    private isTouched;
    protected isFocused: boolean;
    private clearButton;
    protected autoFill: boolean;
    private resizer;
    private isResizing;
    private originalHeight;
    private originalWidth;
    private originalMouseX;
    private originalMouseY;
    private resizeHeight;
    private resizeWidth;
    private isUpdateHeaderHeight;
    private isUpdateFooterHeight;
    private filterArgs;
    private isReactTemplateUpdate;
    /**
     * Sets CSS classes to the root element of the component that allows customization of appearance.
     *
     * @default null
     */
    cssClass: string;
    /**
     * Specifies the width of the component. By default, the component width sets based on the width of
     * its parent container. You can also set the width in pixel values.
     *
     * @default '100%'
     * @aspType string
     */
    width: string | number;
    /**
     * Specifies a value that indicates whether the component is enabled or not.
     *
     * @default true
     * @deprecated
     */
    enabled: boolean;
    /**
     * Enable or disable persisting component's state between page reloads.
     * If enabled, following list of states will be persisted.
     * 1. value
     *
     * @default false
     * @deprecated
     */
    enablePersistence: boolean;
    /**
     * Specifies the height of the popup list.
     * > For more details about the popup configuration refer to
     * [`Popup Configuration`](../../drop-down-list/getting-started#configure-the-popup-list) documentation.
     *
     * @default '300px'
     * @aspType string
     */
    popupHeight: string | number;
    /**
     * Specifies the width of the popup list. By default, the popup width sets based on the width of
     * the component.
     * > For more details about the popup configuration refer to
     * [`Popup Configuration`](../../drop-down-list/getting-started#configure-the-popup-list) documentation.
     *
     * @default '100%'
     * @aspType string
     */
    popupWidth: string | number;
    /**
     * Specifies a short hint that describes the expected value of the DropDownList component.
     *
     * @default null
     */
    placeholder: string;
    /**
     * Accepts the value to be displayed as a watermark text on the filter bar.
     *
     * @default null
     */
    filterBarPlaceholder: string;
    /**
     * Allows additional HTML attributes such as title, name, etc., and
     * accepts n number of attributes in a key-value pair format.
     *
     * {% codeBlock src='dropdownlist/htmlAttributes/index.md' %}{% endcodeBlock %}
     *
     * @default {}
     */
    htmlAttributes: {
        [key: string]: string;
    };
    /**
     * Accepts the external `data.Query`
     * that execute along with data processing.
     *
     * {% codeBlock src='dropdownlist/query/index.md' %}{% endcodeBlock %}
     *
     * @default null
     * @deprecated
     */
    query: data.Query;
    /**
     * Accepts the template design and assigns it to the selected list item in the input element of the component.
     * For more details about the available template options refer to
     * [`Template`](../../drop-down-list/templates) documentation.
     *
     * We have built-in `template engine`
     * which provides options to compile template string into a executable function.
     * For EX: We have expression evolution as like ES6 expression string literals.
     *
     * @default null
     * @aspType string
     */
    valueTemplate: string | Function;
    /**
     * 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
     * @aspType string
     */
    headerTemplate: string | Function;
    /**
     * 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
     * @aspType string
     */
    footerTemplate: string | Function;
    /**
     * 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;
    /**
     * Specifies the delay time in milliseconds for filtering operations.
     *
     * @default 300
     */
    debounceDelay: number;
    /**
     * Defines whether the popup opens in fullscreen mode on mobile devices when filtering is enabled. When set to false, the popup will display similarly on both mobile and desktop devices.
     *
     * @default true
     */
    isDeviceFullScreen: boolean;
    /**
     * When set to true, the user interactions on the component are disabled.
     *
     * @default false
     */
    readonly: boolean;
    /**
     * Defines whether to enable virtual scrolling in the component.
     *
     * @default false
     */
    enableVirtualization: boolean;
    /**
     * Gets or sets a value that indicates whether the DropDownList popup can be resized.
     * When set to `true`, a resize handle appears in the bottom-right corner of the popup,
     * allowing the user to resize the width and height of the popup.
     *
     * @default false
     */
    allowResize: boolean;
    /**
     * Gets or sets the display text of the selected item in the component.
     *
     * @default null
     * @aspType string
     */
    text: string | null;
    /**
     * Gets or sets the value of the selected item in the component.
     *
     * @default null
     * @isGenericType true
     */
    value: number | string | boolean | object | null;
    /**
     * Defines whether the object binding is allowed or not in the component.
     *
     * @default false
     */
    allowObjectBinding: 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
     * @aspType double
     */
    index: number | null;
    /**
     * Specifies whether to display the floating label above the input element.
     * Possible values are:
     * * Never: The label will never float in the input when the placeholder is available.
     * * Always: The floating label will always float above the input.
     * * Auto: The floating label will float above the input after focusing or entering a value in the input.
     *
     * {% codeBlock src="dropdownlist/float-label-type-api/index.ts" %}{% endcodeBlock %}
     *
     * {% codeBlock src="dropdownlist/float-label-type-api/index.html" %}{% endcodeBlock %}
     *
     * @default Syncfusion.EJ2.Inputs.inputs.FloatLabelType.Never
     * @aspType Syncfusion.EJ2.Inputs.inputs.FloatLabelType
     * @isEnumeration true
     */
    floatLabelType: inputs.FloatLabelType;
    /**
     * Specifies whether to show or hide the clear button.
     * When the clear button is clicked, `value`, `text`, and `index` properties are reset to null.
     *
     * @default false
     */
    showClearButton: boolean;
    /**
     * Triggers on typing a character in the filter bar when the
     * [`allowFiltering`](./#allowfiltering)
     * is enabled.
     * > For more details about the filtering refer to [`Filtering`](../../drop-down-list/filtering) documentation.
     *
     * @event filtering
     */
    filtering: base.EmitType<FilteringEventArgs>;
    /**
     * Triggers when an item in a popup is selected or when the model value is changed by user.
     * Use change event to
     * [`Configure the Cascading DropDownList`](../../drop-down-list/how-to/cascading)
     *
     * @event change
     */
    change: base.EmitType<ChangeEventArgs>;
    /**
     * Triggers when the popup before opens.
     *
     * @event beforeOpen
     */
    beforeOpen: base.EmitType<Object>;
    /**
     * Triggers when the popup opens.
     *
     * @event open
     */
    open: base.EmitType<PopupEventArgs>;
    /**
     * Triggers when the popup is closed.
     *
     * @event close
     */
    close: base.EmitType<PopupEventArgs>;
    /**
     * Triggers when focus moves out from the component.
     *
     * @event blur
     */
    blur: base.EmitType<Object>;
    /**
     * Triggers when the component is focused.
     *
     * @event focus
     */
    focus: base.EmitType<Object>;
    /**
     * Triggers when the user finishes resizing the DropDown popup.
     *
     * @event resizeStop
     */
    resizeStop: base.EmitType<Object>;
    /**
     * Triggers continuously while the DropDown popup is being resized by the user.
     * This event provides live updates on the width and height of the popup.
     *
     * @event resizing
     */
    resizing: base.EmitType<Object>;
    /**
     * Triggers when the user starts resizing the DropDown popup.
     *
     * @event resizeStart
     */
    resizeStart: base.EmitType<Object>;
    /**
     * * Constructor for creating the DropDownList component.
     *
     * @param {DropDownListModel} options - Specifies the DropDownList model.
     * @param {string | HTMLElement} element - Specifies the element to render as component.
     * @private
     */
    constructor(options?: DropDownListModel, element?: string | HTMLElement);
    /**
     * Initialize the event handler.
     *
     * @private
     * @returns {void}
     */
    protected preRender(): void;
    private initializeData;
    protected setZIndex(): void;
    requiredModules(): base.ModuleDeclaration[];
    protected renderList(e?: MouseEvent | base.KeyboardEventArgs | TouchEvent, isEmptyData?: boolean): void;
    private floatLabelChange;
    protected resetHandler(e: MouseEvent): void;
    protected resetFocusElement(): void;
    protected clearAll(e?: MouseEvent | base.KeyboardEventArgs | TouchEvent, properties?: DropDownListModel): void;
    private resetSelection;
    private setHTMLAttributes;
    protected getAriaAttributes(): {
        [key: string]: string;
    };
    protected setEnableRtl(): void;
    private setEnable;
    /**
     * Get the properties to be maintained in the persisted state.
     *
     * @returns {string} Returns the persisted data of the component.
     */
    protected getPersistData(): string;
    protected getLocaleName(): string;
    private preventTabIndex;
    protected targetElement(): HTMLElement | HTMLInputElement;
    protected getNgDirective(): string;
    protected getElementByText(text: string): Element;
    protected getElementByValue(value: string | number | boolean | object): Element;
    private initValue;
    /**
     * Checks if the given value is disabled.
     *
     * @param { string | number | boolean | object } value - The value to check for disablement. Can be a string, number, boolean, or object.
     * @returns { boolean } A boolean indicating whether the value is disabled.
     */
    protected isDisableItemValue(value: string | number | boolean | object): boolean;
    protected updateValues(): void;
    protected onBlurHandler(e: MouseEvent): void;
    protected focusOutAction(e?: MouseEvent | base.KeyboardEventArgs): void;
    protected onFocusOut(e?: MouseEvent | base.KeyboardEventArgs): void;
    protected onFocus(e?: FocusEvent | MouseEvent | KeyboardEvent | TouchEvent): void;
    protected resizingWireEvent(): void;
    protected resizingUnWireEvent(): void;
    private resetValueHandler;
    protected wireEvent(): void;
    protected bindCommonEvent(): void;
    protected windowResize(): void;
    private bindClearEvent;
    protected unBindCommonEvent(): void;
    protected updateIconState(): void;
    /**
     * Event binding for list
     *
     * @returns {void}
     */
    private wireListEvents;
    private onSearch;
    private onServerIncrementalSearch;
    protected startResizing(event: MouseEvent | TouchEvent): void;
    protected resizePopup(event?: MouseEvent | TouchEvent): void;
    protected stopResizing(event: MouseEvent | TouchEvent): void;
    protected onMouseClick(e: MouseEvent): void;
    private onMouseOver;
    private setHover;
    private onMouseLeave;
    protected removeHover(): void;
    protected isValidLI(li: Element | HTMLElement): boolean;
    protected updateIncrementalItemIndex(startIndex: number, endIndex: number): void;
    protected incrementalSearch(e: base.KeyboardEventArgs): void;
    /**
     * Hides the spinner loader.
     *
     * @returns {void}
     */
    hideSpinner(): void;
    /**
     * Shows the spinner loader.
     *
     * @returns {void}
     */
    showSpinner(): void;
    protected keyActionHandler(e: base.KeyboardEventArgs): void;
    private updateUpDownAction;
    private updateHomeEndAction;
    protected selectCurrentValueOnTab(e: base.KeyboardEventArgs): void;
    protected mobileKeyActionHandler(e: base.KeyboardEventArgs): void;
    protected handleVirtualKeyboardActions(e: base.KeyboardEventArgs, pageCount: number): void;
    protected selectCurrentItem(e: base.KeyboardEventArgs): void;
    protected isSelectFocusItem(element: Element): boolean;
    private pageUpSelection;
    private PageUpDownSelection;
    private pageDownSelection;
    protected unWireEvent(): void;
    /**
     * Event un binding for list items.
     *
     * @returns {void}
     */
    private unWireListEvents;
    protected checkSelector(id: string): string;
    protected onDocumentClick(e: MouseEvent): void;
    private activeStateChange;
    private focusDropDown;
    protected dropDownClick(e: MouseEvent): void;
    protected cloneElements(): void;
    protected updateSelectedItem(li: Element, e: MouseEvent | KeyboardEvent | TouchEvent, preventSelect?: boolean, isSelection?: boolean): void;
    private selectEventCallback;
    protected activeItem(li: Element): void;
    protected setValue(e?: base.KeyboardEventArgs): boolean;
    protected setSelection(li: Element, e: MouseEvent | base.KeyboardEventArgs | TouchEvent): void;
    private setSelectOptions;
    private dropdownCompiler;
    private setValueTemplate;
    protected removeSelection(): void;
    protected getItemData(): {
        [key: string]: string;
    };
    /**
     * To trigger the change event for list.
     *
     * @param {MouseEvent | KeyboardEvent | TouchEvent} eve - Specifies the event arguments.
     * @param {boolean} isCustomValue - Specifies whether the value is custom value or not.
     * @returns {void}
     */
    protected onChangeEvent(eve: MouseEvent | KeyboardEvent | TouchEvent, isCustomValue?: boolean): void;
    private detachChanges;
    protected detachChangeEvent(eve: MouseEvent | KeyboardEvent | TouchEvent): void;
    protected setHiddenValue(): void;
    /**
     * Filter bar implementation
     *
     * @param {base.KeyboardEventArgs} e - Specifies the event arguments.
     * @returns {void}
     */
    protected onFilterUp(e: base.KeyboardEventArgs): void;
    protected onFilterDown(e: base.KeyboardEventArgs): void;
    protected removeFillSelection(): void;
    protected getQuery(query: data.Query): data.Query;
    protected getSelectionPoints(): {
        [key: string]: number;
    };
    protected performFiltering(e: base.KeyboardEventArgs | MouseEvent): void;
    protected searchLists(e: base.KeyboardEventArgs | MouseEvent): void;
    /**
     * To filter the data from given data source by using query
     *
     * @param {Object[] | data.DataManager } dataSource - Set the data source to filter.
     * @param {data.Query} query - Specify the query to filter the data.
     * @param {FieldSettingsModel} fields - Specify the fields to map the column in the data table.
     * @returns {void}
     * @deprecated
     */
    filter(dataSource: {
        [key: string]: Object;
    }[] | data.DataManager | string[] | number[] | boolean[], query?: data.Query, fields?: FieldSettingsModel): void;
    private filteringAction;
    protected setSearchBox(popupElement: HTMLElement): inputs.InputObject;
    protected onInput(e: any): void;
    protected pasteHandler(e: base.KeyboardEventArgs): void;
    protected onActionFailure(e: Object): void;
    protected getTakeValue(): number;
    protected onActionComplete(ulElement: HTMLElement, list: {
        [key: string]: Object;
    }[], e?: Object, isUpdated?: boolean): void;
    private isValueInList;
    private checkFieldValue;
    private updateActionCompleteDataValues;
    private addNewItem;
    protected updateActionCompleteData(li: HTMLElement, item: {
        [key: string]: Object;
    }, index?: number): void;
    private actionCompleteDataUpdate;
    protected focusIndexItem(): void;
    protected updateSelection(): void;
    private updateSelectionList;
    protected removeFocus(): void;
    protected renderPopup(e?: MouseEvent | base.KeyboardEventArgs | TouchEvent | Object): void;
    private checkCollision;
    private getOffsetValue;
    private createPopup;
    private isEmptyList;
    protected getFocusElement(): void;
    private isFilterLayout;
    private scrollHandler;
    private isElementInViewport;
    private setSearchBoxPosition;
    private setPopupPosition;
    private setWidth;
    private scrollBottom;
    private scrollTop;
    private IsScrollerAtEnd;
    protected isEditTextBox(): boolean;
    protected isFiltering(): boolean;
    protected isPopupButton(): boolean;
    protected setScrollPosition(e?: base.KeyboardEventArgs): void;
    private clearText;
    private setEleWidth;
    private closePopup;
    private updateInitialData;
    private destroyPopup;
    private clickOnBackIcon;
    /**
     * To Initialize the control rendering
     *
     * @private
     * @returns {void}
     */
    render(): void;
    private getListHeight;
    private setFooterTemplate;
    private setHeaderTemplate;
    /**
     * Sets the enabled state to DropDownBase.
     *
     * @returns {void}
     */
    protected setEnabled(): void;
    protected setOldText(text: string): void;
    protected setOldValue(value: string | number | boolean | object): void;
    protected refreshPopup(): void;
    protected checkData(newProp?: DropDownListModel): void;
    protected updateDataSource(props?: DropDownListModel, oldProps?: DropDownListModel): void;
    protected checkCustomValue(): void;
    private updateInputFields;
    /**
     * Dynamically change the value of properties.
     *
     * @private
     * @param {DropDownListModel} newProp - Returns the dynamic property value of the component.
     * @param {DropDownListModel} oldProp - Returns the previous previous value of the component.
     * @returns {void}
     */
    onPropertyChanged(newProp: DropDownListModel, oldProp: DropDownListModel): void;
    private checkValidLi;
    private setSelectionData;
    protected updatePopupState(): void;
    protected setReadOnly(): void;
    protected setInputValue(newProp?: any, oldProp?: any): void;
    private setCssClass;
    /**
     * Return the module name of this component.
     *
     * @private
     * @returns {string} Return the module name of this component.
     */
    getModuleName(): string;
    /**
     * Opens the popup that displays the list of items.
     *
     * @returns {void}
     */
    showPopup(e?: MouseEvent | base.KeyboardEventArgs | TouchEvent): void;
    private executeCloneElements;
    private invokeRenderPopup;
    protected renderHightSearch(): void;
    /**
     * Hides the popup if it is in an open state.
     *
     * @returns {void}
     */
    hidePopup(e?: MouseEvent | base.KeyboardEventArgs | TouchEvent): void;
    /**
     * Sets the focus on the component for interaction.
     *
     * @returns {void}
     */
    focusIn(e?: FocusEvent | MouseEvent | KeyboardEvent | TouchEvent): void;
    /**
     * Moves the focus from the component if the component is already focused.
     *
     * @returns {void}
     */
    focusOut(e?: MouseEvent | base.KeyboardEventArgs): void;
    /**
     * Method to disable specific item in the popup.
     *
     * @param {string | number | object | HTMLLIElement} item - Specifies the item to be disabled.
     * @returns {void}
     * @deprecated
     */
    disableItem(item: string | number | object | HTMLLIElement): void;
    /**
     * Removes the component from the DOM and detaches all its related event handlers. Also it removes the attributes and classes.
     *
     * @method destroy
     * @returns {void}
     */
    destroy(): void;
    /**
     * Gets all the list items bound on this component.
     *
     * @returns {Element[]}
     */
    getItems(): Element[];
    /**
     * Gets the data Object that matches the given value.
     *
     * @param { string | number } value - Specifies the value of the list item.
     * @returns {Object}
     */
    getDataByValue(value: string | number | boolean): {
        [key: string]: Object;
    } | string | number | boolean;
    /**
     * Allows you to clear the selected values from the component.
     *
     * @returns {void}
     */
    clear(): void;
}
export interface DropDownListClassList {
    root: string;
    hover: string;
    selected: string;
    rtl: string;
    base: string;
    disable: string;
    input: string;
    inputFocus: string;
    li: string;
    icon: string;
    iconAnimation: string;
    value: string;
    focus: string;
    device: string;
    backIcon: string;
    filterBarClearIcon: string;
    filterInput: string;
    resizeIcon: string;
    filterParent: string;
    mobileFilter: string;
    footer: string;
    header: string;
    clearIcon: string;
    clearIconHide: string;
    popupFullScreen: string;
    disableIcon: string;
    hiddenElement: string;
    content: string;
    virtualList: string;
}
//node_modules/@syncfusion/ej2-dropdowns/src/drop-down-list/drop-down-list-model.d.ts
/**
 * Interface for a class DropDownList
 */
export interface DropDownListModel extends DropDownBaseModel{
    /**
     * Sets CSS classes to the root element of the component that allows customization of appearance.
     *
     * @default null
     */
    cssClass?: string;
    /**
     * Specifies the width of the component. By default, the component width sets based on the width of
     * its parent container. You can also set the width in pixel values.
     *
     * @default '100%'
     * @aspType string
     */
    width?: string | number;
    /**
     * Specifies a value that indicates whether the component is enabled or not.
     *
     * @default true
     * @deprecated
     */
    enabled?: boolean;
    /**
     * Enable or disable persisting component's state between page reloads.
     * If enabled, following list of states will be persisted.
     * 1. value
     *
     * @default false
     * @deprecated
     */
    enablePersistence?: boolean;
    /**
     * Specifies the height of the popup list.
     * > For more details about the popup configuration refer to
     * [`popups.Popup Configuration`](../../drop-down-list/getting-started#configure-the-popup-list) documentation.
     *
     * @default '300px'
     * @aspType string
     */
    popupHeight?: string | number;
    /**
     * Specifies the width of the popup list. By default, the popup width sets based on the width of
     * the component.
     * > For more details about the popup configuration refer to
     * [`popups.Popup Configuration`](../../drop-down-list/getting-started#configure-the-popup-list) documentation.
     *
     * @default '100%'
     * @aspType string
     */
    popupWidth?: string | number;
    /**
     * Specifies a short hint that describes the expected value of the DropDownList component.
     *
     * @default null
     */
    placeholder?: string;
    /**
     * Accepts the value to be displayed as a watermark text on the filter bar.
     *
     * @default null
     */
    filterBarPlaceholder?: string;
    /**
     * Allows additional HTML base.attributes such as title, name, etc., and
     * accepts n number of base.attributes in a key-value pair format.
     *
     * {% codeBlock src='dropdownlist/htmlAttributes/index.md' %}{% endcodeBlock %}
     *
     * @default {}
     */
    htmlAttributes?: { [key: string]: string };
    /**
     * Accepts the external `data.Query`
     * that execute along with data processing.
     *
     * {% codeBlock src='dropdownlist/query/index.md' %}{% endcodeBlock %}
     *
     * @default null
     * @deprecated
     */
    query?: data.Query;
    /**
     * Accepts the template design and assigns it to the selected list item in the input element of the component.
     * For more details about the available template options refer to
     * [`Template`](../../drop-down-list/templates) documentation.
     *
     * We have built-in `template engine`
     * which provides options to base.compile template string into a executable function.
     * For EX: We have expression evolution as like ES6 expression string literals.
     *
     * @default null
     * @aspType string
     */
    valueTemplate?: string | Function;
    /**
     * 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
     * @aspType string
     */
    headerTemplate?: string | Function;
    /**
     * 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
     * @aspType string
     */
    footerTemplate?: string | Function;
    /**
     * 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;
    /**
     * Specifies the delay time in milliseconds for filtering operations.
     *
     * @default 300
     */
    debounceDelay?: number;
    /**
     * Defines whether the popup opens in fullscreen mode on mobile devices when filtering is enabled. When set to false, the popup will display similarly on both mobile and desktop devices.
     *
     * @default true
     */
    isDeviceFullScreen?: boolean;
    /**
     * When set to true, the user interactions on the component are disabled.
     *
     * @default false
     */
    readonly?: boolean;
    /**
     * Defines whether to enable virtual scrolling in the component.
     *
     * @default false
     */
    enableVirtualization?: boolean;
    /**
     * Gets or sets a value that indicates whether the DropDownList popup can be resized.
     * When set to `true`, a resize handle appears in the bottom-right corner of the popup,
     * allowing the user to resize the width and height of the popup.
     *
     * @default false
     */
    allowResize?: boolean;
    /**
     * Gets or sets the display text of the selected item in the component.
     *
     * @default null
     * @aspType string
     */
    text?: string | null;
    /**
     * Gets or sets the value of the selected item in the component.
     *
     * @default null
     * @isGenericType true
     */
    value?: number | string | boolean | object | null;
    /**
     * Defines whether the object binding is allowed or not in the component.
     *
     * @default false
     */
    allowObjectBinding?: 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
     * @aspType double
     */
    index?: number | null;
    /**
     * Specifies whether to display the floating label above the input element.
     * Possible values are:
     * * Never: The label will never float in the input when the placeholder is available.
     * * Always: The floating label will always float above the input.
     * * Auto: The floating label will float above the input after focusing or entering a value in the input.
     *
     * {% codeBlock src="dropdownlist/float-label-type-api/index.ts" %}{% endcodeBlock %}
     *
     * {% codeBlock src="dropdownlist/float-label-type-api/index.html" %}{% endcodeBlock %}
     *
     * @default Syncfusion.EJ2.Inputs.inputs.FloatLabelType.Never
     * @aspType Syncfusion.EJ2.Inputs.inputs.FloatLabelType
     * @isEnumeration true
     */
    floatLabelType?: inputs.FloatLabelType;
    /**
     * Specifies whether to show or hide the clear button.
     * When the clear button is clicked, `value`, `text`, and `index` properties are reset to null.
     *
     * @default false
     */
    showClearButton?: boolean;
    /**
     * Triggers on typing a character in the filter bar when the
     * [`allowFiltering`](./#allowfiltering)
     * is enabled.
     * > For more details about the filtering refer to [`Filtering`](../../drop-down-list/filtering) documentation.
     *
     * @event filtering
     */
    filtering?: base.EmitType<FilteringEventArgs>;
    /**
     * Triggers when an item in a popup is selected or when the model value is changed by user.
     * Use change event to
     * [`Configure the Cascading DropDownList`](../../drop-down-list/how-to/cascading)
     *
     * @event change
     */
    change?: base.EmitType<ChangeEventArgs>;
    /**
     * Triggers when the popup before opens.
     *
     * @event beforeOpen
     */
    beforeOpen?: base.EmitType<Object>;
    /**
     * Triggers when the popup opens.
     *
     * @event open
     */
    open?: base.EmitType<PopupEventArgs>;
    /**
     * Triggers when the popup is closed.
     *
     * @event close
     */
    close?: base.EmitType<PopupEventArgs>;
    /**
     * Triggers when focus moves out from the component.
     *
     * @event blur
     */
    blur?: base.EmitType<Object>;
    /**
     * Triggers when the component is focused.
     *
     * @event focus
     */
    focus?: base.EmitType<Object>;
    /**
     * Triggers when the user finishes resizing the DropDown popup.
     *
     * @event resizeStop
     */
    resizeStop?: base.EmitType<Object>;
    /**
     * Triggers continuously while the DropDown popup is being resized by the user.
     * This event provides live updates on the width and height of the popup.
     *
     * @event resizing
     */
    resizing?: base.EmitType<Object>;
    /**
     * Triggers when the user starts resizing the DropDown popup.
     *
     * @event resizeStart
     */
    resizeStart?: 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;
    /**
     * Defines whether the particular field value is disabled or not.
     *
     * @default null
     */
    disabled: 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;
    virtualList: string;
}
export interface SelectEventArgs {
    /**
     * If the event is triggered by interaction, it returns true. Otherwise, it returns false.
     */
    isInteracted: boolean;
    /**
     * Returns the selected list item
     */
    item: HTMLLIElement;
    /**
     * Returns the selected item as JSON Object from the data source.
     *
     */
    itemData: FieldSettingsModel;
    /**
     * Specifies the original event arguments.
     */
    e: MouseEvent | KeyboardEvent | TouchEvent;
    /**
     * Illustrates whether the current action needs to be prevented or not.
     */
    cancel?: boolean;
}
export interface BeforeOpenEventArgs {
    /**
     * Illustrates whether the current action needs to be prevented or not.
     */
    cancel?: boolean;
}
export interface ActionBeginEventArgs {
    /**
     * Specify the query to begin the data
     *
     */
    query: data.Query;
    /**
     * Set the data source to action begin
     *
     */
    data: {
        [key: string]: Object;
    }[] | data.DataManager | string[] | number[] | boolean[];
    /**
     * Illustrates whether the current action needs to be prevented or not.
     */
    cancel?: boolean;
    /**
     * Specify the Event Name
     */
    eventName?: string;
    /**
     * Return Items
     */
    items?: Object[];
}
export interface ActionCompleteEventArgs {
    /**
     * Illustrates whether the current action needs to be prevented or not.
     */
    cancel?: boolean;
    /**
     * Returns the selected items as JSON Object from the data source.
     *
     */
    result?: ResultData;
    /**
     * Return the actual records.
     */
    actual?: object;
    /**
     * Return the aggregates
     */
    aggregates?: object;
    /**
     * Return the total number for records.
     */
    count?: number;
    /**
     * Specify the query to complete the data
     *
     */
    query?: data.Query;
    /**
     * Return the request type
     */
    request?: string;
    /**
     * Return the virtualSelectRecords
     */
    virtualSelectRecords?: object;
    /**
     * Return XMLHttpRequest
     */
    xhr: XMLHttpRequest;
    /**
     * Specify the Event Name
     */
    eventName?: string;
    /**
     * Return Items
     */
    items?: Object[];
}
export interface DataBoundEventArgs {
    /**
     * Returns the selected items as JSON Object from the data source.
     *
     */
    items: {
        [key: string]: Object;
    }[] | data.DataManager | string[] | number[] | boolean[];
    /**
     * Return the bounded objects
     */
    e?: object;
}
/**
 * DropDownBase component will generate the list items based on given data and act as base class to drop-down related components
 */
export  class DropDownBase extends base.Component<HTMLElement> implements base.INotifyPropertyChanged {
    protected listData: {
        [key: string]: Object;
    }[] | string[] | boolean[] | number[];
    protected ulElement: HTMLElement;
    protected incrementalLiCollections: HTMLElement[];
    protected incrementalListData: {
        [key: string]: Object;
    }[] | string[] | boolean[] | number[];
    protected incrementalUlElement: HTMLElement;
    protected liCollections: HTMLElement[];
    private bindEvent;
    private scrollTimer;
    protected list: HTMLElement;
    protected fixedHeaderElement: HTMLElement;
    protected keyboardModule: base.KeyboardEvents;
    protected enableRtlElements: HTMLElement[];
    protected rippleFun: Function;
    protected l10n: base.L10n;
    protected item: HTMLLIElement;
    protected itemData: {
        [key: string]: Object;
    } | string | number | boolean;
    protected isActive: boolean;
    protected isRequested: boolean;
    protected isDataFetched: boolean;
    protected selectData: {
        [key: string]: Object;
    }[] | string[] | boolean[] | number[];
    protected queryString: string;
    protected sortedData: {
        [key: string]: Object;
    }[] | string[] | boolean[] | number[];
    protected isGroupChecking: boolean;
    protected itemTemplateId: string;
    protected displayTemplateId: string;
    protected spinnerTemplateId: string;
    protected valueTemplateId: string;
    protected groupTemplateId: string;
    protected headerTemplateId: string;
    protected footerTemplateId: string;
    protected noRecordsTemplateId: string;
    protected actionFailureTemplateId: string;
    protected preventChange: boolean;
    protected isPreventChange: boolean;
    protected isDynamicDataChange: boolean;
    protected addedNewItem: boolean;
    protected isAddNewItemTemplate: boolean;
    protected isRequesting: boolean;
    private isVirtualizationEnabled;
    protected isCustomDataUpdated: boolean;
    private isAllowFiltering;
    private virtualizedItemsCount;
    private isCheckBoxSelection;
    protected totalItemCount: number;
    protected dataCount: number;
    protected remoteDataCount: number;
    protected isRemoteDataUpdated: boolean;
    protected virtualGroupDataSource: {
        [key: string]: Object;
    }[] | data.DataManager | string[] | number[] | boolean[];
    protected isIncrementalRequest: boolean;
    protected itemCount: number;
    protected initialRemoteRender: boolean;
    protected virtualListHeight: number;
    protected virtualItemCount: number;
    protected isVirtualScrolling: boolean;
    protected observer: VirtualScroll;
    protected isPreventScrollAction: boolean;
    protected scrollPreStartIndex: number;
    protected isScrollActionTriggered: boolean;
    protected previousStartIndex: number;
    protected isMouseScrollAction: boolean;
    protected isKeyBoardAction: boolean;
    protected isScrollChanged: boolean;
    protected isUpwardScrolling: boolean;
    protected containerElementRect: ClientRect;
    protected previousEndIndex: number;
    protected previousInfo: VirtualInfo;
    protected startIndex: number;
    protected currentPageNumber: number;
    protected pageCount: number;
    protected isPreventKeyAction: boolean;
    protected virtualItemStartIndex: number;
    protected virtualItemEndIndex: number;
    protected generatedDataObject: GeneratedData;
    protected listItemHeight: number;
    protected skeletonCount: number;
    protected popupContentElement: HTMLElement;
    protected keyboardEvent: base.KeyboardEventArgs;
    protected listContainerHeight: string;
    protected isVirtualTrackHeight: boolean;
    protected virtualSelectAll: boolean;
    protected isVirtualReorder: boolean;
    protected incrementalQueryString: string;
    protected incrementalEndIndex: number;
    protected incrementalStartIndex: number;
    protected incrementalPreQueryString: string;
    protected isObjectCustomValue: boolean;
    protected appendUncheckList: boolean;
    protected getInitialData: boolean;
    protected preventPopupOpen: boolean;
    protected setCurrentView: boolean;
    protected customFilterQuery: data.Query;
    protected virtualSelectAllState: boolean;
    protected CurrentEvent: base.KeyboardEventArgs | MouseEvent;
    protected virtualSelectAllData: {
        [key: string]: Object;
    }[] | string[] | number[] | boolean[];
    protected firstItem: string | number | boolean | object;
    protected preventDefActionFilter: boolean;
    protected isDynamicData: boolean;
    protected isPrimitiveData: boolean;
    protected isCustomFiltering: boolean;
    protected debounceTimer: ReturnType<typeof setTimeout> | null;
    protected virtualListInfo: VirtualInfo;
    protected viewPortInfo: VirtualInfo;
    protected selectedValueInfo: VirtualInfo;
    /**
     * 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, disabled: null}
     * @deprecated
     */
    fields: FieldSettingsModel;
    /**
     * 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
     * @aspType string
     * @deprecated
     */
    itemTemplate: string | Function;
    /**
     * Accepts the template design and assigns it to the group headers present in the popup list.
     *
     * @default null
     * @aspType string
     * @deprecated
     */
    groupTemplate: string | Function;
    /**
     * Accepts the template design and assigns it to popup list of component
     * when no data is available on the component.
     *
     * @default 'No records found'
     * @aspType string
     * @deprecated
     */
    noRecordsTemplate: string | Function;
    /**
     * Accepts the template and assigns it to the popup list content of the component
     * when the data fetch request from the remote server fails.
     *
     * @default 'Request failed'
     * @aspType string
     * @deprecated
     */
    actionFailureTemplate: string | Function;
    /**
     * Specifies the `sortOrder` to sort the data source. The available type of sort orders are
     * * `None` - The data source is not sorting.
     * * `Ascending` - The data source is sorting with ascending order.
     * * `Descending` - The data source is sorting with descending order.
     *
     * @default null
     * @asptype object
     * @aspjsonconverterignore
     * @deprecated
     */
    sortOrder: lists.SortOrder;
    /**
     * Accepts the list items either through local or remote service and binds it to the component.
     * It can be an array of JSON Objects or an instance of
     * `data.DataManager`.
     *
     * @default []
     * @deprecated
     */
    dataSource: {
        [key: string]: Object;
    }[] | data.DataManager | string[] | number[] | boolean[];
    /**
     * Accepts the external `data.Query`
     * which will execute along with the data processing.
     *
     * @default null
     * @deprecated
     */
    query: data.Query;
    /**
     * Determines on which filter type, the component needs to be considered on search action.
     * The `FilterType` and its supported data types are
     *
     * <table>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * FilterType<br/></td><td colSpan=1 rowSpan=1>
     * Description<br/></td><td colSpan=1 rowSpan=1>
     * Supported Types<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * StartsWith<br/></td><td colSpan=1 rowSpan=1>
     * Checks whether a value begins with the specified value.<br/></td><td colSpan=1 rowSpan=1>
     * String<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * EndsWith<br/></td><td colSpan=1 rowSpan=1>
     * Checks whether a value ends with specified value.<br/><br/></td><td colSpan=1 rowSpan=1>
     * <br/>String<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * Contains<br/></td><td colSpan=1 rowSpan=1>
     * Checks whether a value contains with specified value.<br/><br/></td><td colSpan=1 rowSpan=1>
     * <br/>String<br/></td></tr>
     * </table>
     *
     * The default value set to `StartsWith`, all the suggestion items which contain typed characters to listed in the suggestion popup.
     *
     * @default 'StartsWith'
     * @deprecated
     */
    filterType: FilterType;
    /**
     * When set to ‘false’, consider the `case-sensitive` on performing the search to find suggestions.
     * By default consider the casing.
     *
     * @default true
     * @deprecated
     */
    ignoreCase: boolean;
    /**
     * specifies the z-index value of the component popup element.
     *
     * @default 1000
     * @deprecated
     */
    zIndex: number;
    /**
     * ignoreAccent set to true, then ignores the diacritic characters or accents when filtering.
     *
     * @deprecated
     */
    ignoreAccent: boolean;
    /**
     * Overrides the global culture and localization value for this component. Default global culture is 'en-US'.
     *
     * @default 'en-US'
     * @deprecated
     */
    locale: string;
    /**
     * Triggers before fetching data from the remote server.
     *
     * @event actionBegin
     */
    actionBegin: base.EmitType<Object>;
    /**
     * Triggers after data is fetched successfully from the remote server.
     *
     * @event actionComplete
     */
    actionComplete: base.EmitType<Object>;
    /**
     * Triggers when the data fetch request from the remote server fails.
     *
     * @event actionFailure
     */
    actionFailure: base.EmitType<Object>;
    /**
     * Triggers when an item in the popup is selected by the user either with mouse/tap or with keyboard navigation.
     *
     * @event select
     */
    select: base.EmitType<SelectEventArgs>;
    /**
     * Triggers when data source is populated in the popup list..
     *
     * @event dataBound
     */
    dataBound: base.EmitType<Object>;
    /**
     * Triggers when the component is created.
     *
     * @event created
     */
    created: base.EmitType<Object>;
    /**
     * Triggers when the component is destroyed.
     *
     * @event destroyed
     */
    destroyed: base.EmitType<Object>;
    /**
     * * Constructor for DropDownBase class
     *
     * @param {DropDownBaseModel} options - Specifies the DropDownBase model.
     * @param {string | HTMLElement} element - Specifies the element to render as component.
     * @private
     */
    constructor(options?: DropDownBaseModel, element?: string | HTMLElement);
    protected getPropObject(prop: string, newProp: {
        [key: string]: string;
    }, oldProp: {
        [key: string]: string;
    }): {
        [key: string]: Object;
    };
    protected getValueByText(text: string, ignoreCase?: boolean, ignoreAccent?: boolean): string | number | boolean;
    private checkValueCase;
    private checkingAccent;
    private checkIgnoreCase;
    private checkNonIgnoreCase;
    private getItemValue;
    private templateCompiler;
    protected l10nUpdate(actionFailure?: boolean): void;
    protected checkAndResetCache(): void;
    protected updateIncrementalInfo(startIndex: number, endIndex: number): void;
    protected updateIncrementalView(startIndex: number, endIndex: number): void;
    protected updateVirtualItemIndex(): void;
    protected getFilteringSkeletonCount(): void;
    protected getSkeletonCount(retainSkeleton?: boolean): void;
    protected GetVirtualTrackHeight(): string;
    protected getTransformValues(): string;
    protected UpdateSkeleton(isSkeletonCountChange?: boolean, skeletonCount?: number): void;
    protected getLocaleName(): string;
    protected getTextByValue(value: string | number | boolean): string;
    protected getFormattedValue(value: string): string | number | boolean;
    /**
     * Sets RTL to dropdownbase wrapper
     *
     * @returns {void}
     */
    protected setEnableRtl(): void;
    /**
     * Initialize the base.Component.
     *
     * @param {MouseEvent | base.KeyboardEventArgs | TouchEvent} e - The event object.
     * @returns {void}
     */
    private initialize;
    /**
     * Get the properties to be maintained in persisted state.
     *
     * @returns {string} Returns the persisted data of the component.
     */
    protected getPersistData(): string;
    /**
     * Sets the enabled state to DropDownBase.
     *
     * @param {string} value - Specifies the attribute values to add on the input element.
     * @returns {void}
     */
    protected updateDataAttribute(value: {
        [key: string]: string;
    }): void;
    private renderItemsBySelect;
    private updateFields;
    private getJSONfromOption;
    /**
     * Execute before render the list items
     *
     * @private
     * @returns {void}
     */
    protected preRender(): void;
    /**
     * Creates the list items of DropDownBase component.
     *
     * @param {Object[] | string[] | number[] | data.DataManager | boolean[]} dataSource - Specifies the data to generate the list.
     * @param {FieldSettingsModel} fields - Maps the columns of the data table and binds the data to the component.
     * @param {data.Query} query - Accepts the external data.Query that execute along with data processing.
     * @param {MouseEvent | base.KeyboardEventArgs | TouchEvent} event - Specifies the event which is the reason for the invocation of this method.
     * @returns {void}
     */
    private setListData;
    protected handleVirtualKeyboardActions(e: base.KeyboardEventArgs, pageCount: number): void;
    protected updatePopupState(): void;
    protected updatePopupPosition(): void;
    protected virtualSelectionAll(state: boolean, li: NodeListOf<HTMLElement> | HTMLElement[], event: MouseEvent | base.KeyboardEventArgs): void;
    protected updateRemoteData(): void;
    private bindChildItems;
    protected isObjectInArray(objectToFind: any, array: any[]): boolean;
    protected updateListValues(): void;
    protected findListElement(list: HTMLElement, findNode: string, attribute: string, value: string | boolean | number): HTMLElement;
    private raiseDataBound;
    private remainingItems;
    private emptyDataRequest;
    protected showSpinner(): void;
    protected hideSpinner(): void;
    protected onActionFailure(e: Object): void;
    protected onActionComplete(ulElement: HTMLElement, list: {
        [key: string]: Object;
    }[] | boolean[] | string[] | number[], e?: Object): void;
    protected postRender(listElement: HTMLElement, list: {
        [key: string]: Object;
    }[] | number[] | string[] | boolean[], bindEvent: boolean): void;
    /**
     * Get the query to do the data operation before list item generation.
     *
     * @param {data.Query} query - Accepts the external data.Query that execute along with data processing.
     * @returns {data.Query} Returns the query to do the data query operation.
     */
    protected getQuery(query: data.Query): data.Query;
    protected performFiltering(e: base.KeyboardEventArgs | MouseEvent): void;
    protected debouncedFiltering(e: base.KeyboardEventArgs | MouseEvent, debounceDelay: number): void;
    protected updateVirtualizationProperties(itemCount: number, filtering: boolean, isCheckbox?: boolean): void;
    /**
     * To render the template content for group header element.
     *
     * @param {HTMLElement} listEle - Specifies the group list elements.
     * @returns {void}
     */
    private renderGroupTemplate;
    /**
     * To create the ul li list items
     *
     * @param {object []} dataSource - Specifies the data to generate the list.
     * @param {FieldSettingsModel} fields - Maps the columns of the data table and binds the data to the component.
     * @returns {HTMLElement} Return the ul li list items.
     */
    protected createListItems(dataSource: {
        [key: string]: Object;
    }[], fields: FieldSettingsModel): HTMLElement;
    protected listOption(dataSource: {
        [key: string]: Object;
    }[] | string[] | number[] | boolean[], fields: FieldSettingsModel): FieldSettingsModel;
    protected setFloatingHeader(e: Event): void;
    protected scrollStop(e?: Event, isDownkey?: boolean): void;
    protected getPageCount(returnExactCount?: boolean): number;
    private updateGroupHeader;
    private updateGroupFixedHeader;
    protected getValidLi(): HTMLElement;
    /**
     * To render the list items
     *
     * @param {object[]} listData - Specifies the list of array of data.
     * @param {FieldSettingsModel} fields - Maps the columns of the data table and binds the data to the component.
     * @param {boolean} isCheckBoxUpdate - Specifies whether the list item is updated with checkbox.
     * @param {boolean} isClearAll - Specifies whether the current action is clearAll.
     * @returns {HTMLElement} Return the list items.
     */
    protected renderItems(listData: {
        [key: string]: Object;
    }[], fields: FieldSettingsModel, isCheckBoxUpdate?: boolean, isClearAll?: boolean): HTMLElement;
    private createVirtualContent;
    private updateListElements;
    protected templateListItem(dataSource: {
        [key: string]: Object;
    }[], fields: FieldSettingsModel): HTMLElement;
    protected typeOfData(items: {
        [key: string]: Object;
    }[] | string[] | number[] | boolean[]): {
        [key: string]: Object;
    };
    protected setFixedHeader(): void;
    private getSortedDataSource;
    /**
     * Return the index of item which matched with given value in data source
     *
     * @param {string | number | boolean} value - Specifies given value.
     * @returns {number} Returns the index of the item.
     */
    protected getIndexByValue(value: string | number | boolean | object): number;
    /**
     * Return the index of item which matched with given value in data source
     *
     * @param {string | number | boolean} value - Specifies given value.
     * @param {HTMLElement} ulElement - Specifies given value.
     * @returns {number} Returns the index of the item.
     */
    protected getIndexByValueFilter(value: string | number | boolean, ulElement: HTMLElement): number | null;
    /**
     * To dispatch the event manually
     *
     * @param {HTMLElement} element - Specifies the element to dispatch the event.
     * @param {string} type - Specifies the name of the event.
     * @returns {void}
     */
    protected dispatchEvent(element: HTMLElement, type: string): void;
    /**
     * To set the current fields
     *
     * @returns {void}
     */
    protected setFields(): void;
    /**
     * reset the items list.
     *
     * @param {Object[] | string[] | number[] | data.DataManager | boolean[]} dataSource - Specifies the data to generate the list.
     * @param {FieldSettingsModel} fields - Maps the columns of the data table and binds the data to the component.
     * @param {data.Query} query - Accepts the external data.Query that execute along with data processing.
     * @param {MouseEvent | base.KeyboardEventArgs | TouchEvent} e - Specifies the event.
     * @returns {void}
     */
    protected resetList(dataSource?: {
        [key: string]: Object;
    }[] | data.DataManager | string[] | number[] | boolean[], fields?: FieldSettingsModel, query?: data.Query, e?: MouseEvent | base.KeyboardEventArgs | TouchEvent): void;
    protected updateSelectElementData(isFiltering: boolean): void;
    protected updateSelection(): void;
    protected renderList(): void;
    protected updateDataSource(props?: DropDownBaseModel, oldProps?: DropDownBaseModel): void;
    protected setUpdateInitial(props: string[], newProp: {
        [key: string]: string;
    }, oldProp?: {
        [key: string]: string;
    }): void;
    /**
     * When property value changes happened, then onPropertyChanged method will execute the respective changes in this component.
     *
     * @param {DropDownBaseModel} newProp - Returns the dynamic property value of the component.
     * @param {DropDownBaseModel} oldProp - Returns the previous property value of the component.
     * @private
     * @returns {void}
     */
    onPropertyChanged(newProp: DropDownBaseModel, oldProp: DropDownBaseModel): void;
    /**
     * Build and render the component
     *
     * @param {MouseEvent | base.KeyboardEventArgs | TouchEvent} e - Specifies the event.
     * @param {boolean} isEmptyData - Specifies the component to initialize with list data or not.
     * @private
     * @returns {void}
     */
    render(e?: MouseEvent | base.KeyboardEventArgs | TouchEvent, isEmptyData?: boolean): void;
    private getScrollableParent;
    protected removeScrollEvent(): void;
    /**
     * Return the module name of this component.
     *
     * @private
     * @returns {string} Return the module name of this component.
     */
    getModuleName(): string;
    /**
     * Gets all the list items bound on this component.
     *
     * @returns {Element[]}
     */
    getItems(): Element[];
    /**
     * Adds a new item to the popup list. By default, new item appends to the list as the last item,
     * but you can insert based on the index parameter.
     *
     * @param { Object[] } items - Specifies an array of JSON data or a JSON data.
     * @param { number } itemIndex - Specifies the index to place the newly added item in the popup list.
     * @returns {void}
     * @deprecated
     */
    addItem(items: {
        [key: string]: Object;
    }[] | {
        [key: string]: Object;
    } | string | boolean | number | string[] | boolean[] | number[], itemIndex?: number): void;
    /**
     * Checks if the given HTML element is disabled.
     *
     * @param {HTMLElement} li - The HTML element to check.
     * @returns {boolean} - Returns true if the element is disabled, otherwise false.
     */
    protected isDisabledElement(li: HTMLElement): boolean;
    /**
     * Checks whether the list item at the specified index is disabled.
     *
     * @param {number} index - The index of the list item to check.
     * @returns {boolean} True if the list item is disabled, false otherwise.
     */
    protected isDisabledItemByIndex(index: number): boolean;
    /**
     * Disables the given list item.
     *
     * @param { HTMLLIElement } li - The list item to disable.
     * @returns {void}
     */
    protected disableListItem(li: HTMLLIElement): void;
    protected validationAttribute(target: HTMLElement, hidden: Element): void;
    protected setZIndex(): void;
    protected updateActionCompleteData(li: HTMLElement, item: {
        [key: string]: Object;
    }, index?: number): void;
    protected updateAddItemList(list: HTMLElement, itemCount: number): void;
    protected updateDataList(): void;
    /**
     * Gets the data Object that matches the given value.
     *
     * @param { string | number } value - Specifies the value of the list item.
     * @returns {Object}
     */
    getDataByValue(value: string | number | boolean | object): {
        [key: string]: Object;
    } | string | number | boolean;
    /**
     * Removes the component from the DOM and detaches all its related event handlers. It also removes the attributes and classes.
     *
     * @method destroy
     * @returns {void}
     */
    destroy(): void;
}
export interface ResultData {
    /**
     * To return the JSON result.
     */
    result: {
        [key: string]: Object;
    }[];
}
export interface FilteringEventArgs {
    /**
     * To prevent the internal filtering action.
     */
    preventDefaultAction: boolean;
    /**
     * Gets the `keyup` event arguments.
     */
    baseEventArgs: Object;
    /**
     * Illustrates whether the current action needs to be prevented or not.
     */
    cancel: boolean;
    /**
     * Search text value.
     */
    text: string;
    /**
     * To filter the data from given data source by using query
     *
     * @param  {Object[] | data.DataManager } dataSource - Set the data source to filter.
     * @param  {data.Query} query - Specify the query to filter the data.
     * @param  {FieldSettingsModel} fields - Specify the fields to map the column in the data table.
     * @returns {void}
     */
    updateData(dataSource: {
        [key: string]: Object;
    }[] | data.DataManager | string[] | number[] | boolean[], query?: data.Query, fields?: FieldSettingsModel): void;
}
export interface PopupEventArgs {
    /**
     * Specifies the popup Object.
     *
     * @deprecated
     */
    popup: popups.Popup;
    /**
     * Illustrates whether the current action needs to be prevented or not.
     */
    cancel?: boolean;
    /**
     * Specifies the animation Object.
     */
    animation?: base.AnimationModel;
    /**
     * Specifies the event.
     */
    event?: MouseEvent | base.KeyboardEventArgs | TouchEvent | Object;
}
export interface FocusEventArgs {
    /**
     * Specifies the focus interacted.
     */
    isInteracted?: boolean;
    /**
     * Specifies the event.
     */
    event?: MouseEvent | FocusEvent | TouchEvent | KeyboardEvent;
}
//node_modules/@syncfusion/ej2-dropdowns/src/drop-down-base/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;
    /**
     * Defines whether the particular field value is disabled or not.
     *
     * @default null
     */
    disabled?: string;
}
/**
 * Interface for a class DropDownBase
 */
export interface DropDownBaseModel extends base.ComponentModel{
    /**
     * The `fields` property maps the columns of the data table and binds the data to the component.
     * * text - Maps the text column from data table for each list item.
     * * value - Maps the value column from data table for each list item.
     * * iconCss - Maps the icon class column from data table for each list item.
     * * groupBy - Group the list items with it's related items by mapping groupBy field.
     * ```html
     * <input type="text" tabindex="1" id="list"> </input>
     * ```
     * ```typescript
     *   let customers$: DropDownList = new DropDownList({
     *      dataSource:new data.DataManager({ url:'http://js.syncfusion.com/demos/ejServices/Wcf/Northwind.svc/' }),
     *      query: new data.Query().from('Customers').base.select(['ContactName', 'CustomerID']).take(5),
     *      fields: { text: 'ContactName', value: 'CustomerID' },
     *      placeholder: 'Select a customer'
     *   });
     *   customers.appendTo("#list");
     * ```
     *
     * @default {text: null, value: null, iconCss: null, groupBy: null, disabled: null}
     * @deprecated
     */
    fields?: FieldSettingsModel;
    /**
     * 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
     * @aspType string
     * @deprecated
     */
    itemTemplate?: string | Function;
    /**
     * Accepts the template design and assigns it to the group headers present in the popup list.
     *
     * @default null
     * @aspType string
     * @deprecated
     */
    groupTemplate?: string | Function;
    /**
     * Accepts the template design and assigns it to popup list of component
     * when no data is available on the component.
     *
     * @default 'No records found'
     * @aspType string
     * @deprecated
     */
    noRecordsTemplate?: string | Function;
    /**
     * Accepts the template and assigns it to the popup list content of the component
     * when the data fetch request from the remote server fails.
     *
     * @default 'Request failed'
     * @aspType string
     * @deprecated
     */
    actionFailureTemplate?: string | Function;
    /**
     * Specifies the `sortOrder` to sort the data source. The available type of sort orders are
     * * `None` - The data source is not sorting.
     * * `Ascending` - The data source is sorting with ascending order.
     * * `Descending` - The data source is sorting with descending order.
     *
     * @default null
     * @asptype object
     * @aspjsonconverterignore
     * @deprecated
     */
    sortOrder?: lists.SortOrder;
    /**
     * Accepts the list items either through local or remote service and binds it to the component.
     * It can be an array of JSON Objects or an instance of
     * `data.DataManager`.
     *
     * @default []
     * @deprecated
     */
    dataSource?: { [key: string]: Object }[] | data.DataManager | string[] | number[] | boolean[];
    /**
     * Accepts the external `data.Query`
     * which will execute along with the data processing.
     *
     * @default null
     * @deprecated
     */
    query?: data.Query;
    /**
     * Determines on which filter type, the component needs to be considered on search action.
     * The `FilterType` and its supported data types are
     *
     * <table>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * FilterType<br/></td><td colSpan=1 rowSpan=1>
     * Description<br/></td><td colSpan=1 rowSpan=1>
     * Supported Types<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * StartsWith<br/></td><td colSpan=1 rowSpan=1>
     * Checks whether a value begins with the specified value.<br/></td><td colSpan=1 rowSpan=1>
     * String<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * EndsWith<br/></td><td colSpan=1 rowSpan=1>
     * Checks whether a value ends with specified value.<br/><br/></td><td colSpan=1 rowSpan=1>
     * <br/>String<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * Contains<br/></td><td colSpan=1 rowSpan=1>
     * Checks whether a value contains with specified value.<br/><br/></td><td colSpan=1 rowSpan=1>
     * <br/>String<br/></td></tr>
     * </table>
     *
     * The default value set to `StartsWith`, all the suggestion items which contain typed characters to listed in the suggestion popup.
     *
     * @default 'StartsWith'
     * @deprecated
     */
    filterType?: FilterType;
    /**
     * When set to ‘false’, consider the `case-sensitive` on performing the search to find suggestions.
     * By default consider the casing.
     *
     * @default true
     * @deprecated
     */
    ignoreCase?: boolean;
    /**
     * specifies the z-index value of the component popup element.
     *
     * @default 1000
     * @deprecated
     */
    zIndex?: number;
    /**
     * ignoreAccent set to true, then ignores the diacritic characters or accents when filtering.
     *
     * @deprecated
     */
    ignoreAccent?: boolean;
    /**
     * Overrides the global culture and localization value for this component. Default global culture is 'en-US'.
     *
     * @default 'en-US'
     * @deprecated
     */
    locale?: string;
    /**
     * Triggers before fetching data from the remote server.
     *
     * @event actionBegin
     */
    actionBegin?: base.EmitType<Object>;
    /**
     * Triggers after data is fetched successfully from the remote server.
     *
     * @event actionComplete
     */
    actionComplete?: base.EmitType<Object>;
    /**
     * Triggers when the data fetch request from the remote server fails.
     *
     * @event actionFailure
     */
    actionFailure?: base.EmitType<Object>;
    /**
     * Triggers when an item in the popup is selected by the user either with mouse/tap or with keyboard navigation.
     *
     * @event base.select
     */
    select?: base.EmitType<SelectEventArgs>;
    /**
     * Triggers when data source is populated in the popup list..
     *
     * @event dataBound
     */
    dataBound?: base.EmitType<Object>;
    /**
     * Triggers when the component is created.
     *
     * @event created
     */
    created?: base.EmitType<Object>;
    /**
     * Triggers when the component is destroyed.
     *
     * @event destroyed
     */
    destroyed?: base.EmitType<Object>;
}
//node_modules/@syncfusion/ej2-dropdowns/src/common/virtual-scroll.d.ts
export  type ScrollDirection = 'up' | 'down';
 type ScrollArg = {
    direction: string;
    sentinel: SentinelType;
    offset: Offsets;
    focusElement: HTMLElement;
};
export  type SentinelType = {
    check?: (rect: ClientRect, info: SentinelType) => boolean;
    top?: number;
    entered?: boolean;
    axis?: string;
};
export  type SentinelInfo = {
    up?: SentinelType;
    down?: SentinelType;
    right?: SentinelType;
    left?: SentinelType;
};
export  type Offsets = {
    top?: number;
    left?: number;
};
export interface VirtualInfo {
    currentPageNumber?: number;
    direction?: string;
    sentinelInfo?: SentinelType;
    offsets?: Offsets;
    startIndex?: number;
    endIndex?: number;
}
export  class VirtualScroll {
    private parent;
    private containerElementRect;
    private element;
    private options;
    private touchModule;
    private component;
    constructor(parent: IDropdownlist);
    addEventListener(): void;
    removeEventListener(): void;
    private bindScrollEvent;
    private observe;
    getModuleName(): string;
    private popupScrollHandler;
    private getPageQuery;
    private setGeneratedData;
    private generateAndExecuteQueryAsync;
    private removeSkipAndTakeEvents;
    setCurrentViewDataAsync(component?: object): void;
    private generateQueryAndSetQueryIndexAsync;
    private dataProcessAsync;
    private virtualScrollRefreshAsync;
    scrollListener(scrollArgs: ScrollArg): void;
    private getInfoFromView;
    private sentinelInfo;
    private virtualScrollHandler;
    destroy(): void;
}
//node_modules/@syncfusion/ej2-dropdowns/src/common/interface.d.ts
/**
 * Specifies virtual scroll interfaces.
 *
 * @hidden
 */
export interface IDropdownlist extends base.Component<HTMLElement> {
    popupContentElement: HTMLElement;
    isPreventScrollAction: boolean;
    listHeight: string;
    previousStartIndex: number;
    previousEndIndex: number;
    previousInfo: VirtualInfo;
    startIndex: number;
    currentPageNumber: number;
    isMouseScrollAction: boolean;
    isPreventKeyAction: boolean;
    pageCount: number;
    isKeyBoardAction: boolean;
    viewPortInfo: VirtualInfo;
    isUpwardScrolling: boolean;
    queryString: string;
    containerElementRect: ClientRect;
    isScrollActionTriggered: boolean;
    virtualListInfo: VirtualInfo;
    selectedValueInfo: VirtualInfo;
    value: number | string | boolean;
    totalItemCount: number;
    virtualItemCount: number;
    virtualItemEndIndex: number;
    virtualItemStartIndex: number;
    popupObj: popups.Popup;
    listItemHeight: number;
    scrollPreStartIndex: number;
    list: HTMLElement;
    liCollections: HTMLElement[];
    typedString: string;
    isVirtualScrolling: boolean;
    isCustomFilter: boolean;
    customFilterQuery: data.Query;
    allowFiltering: boolean;
    isPopupOpen: boolean;
    isTyped: boolean;
    setCurrentView: boolean;
    isRequesting: boolean;
    itemCount: number;
    fields: FieldSettingsModel;
    generatedDataObject: GeneratedData;
    keyboardEvent: base.KeyboardEventArgs;
    dataCount: number;
    filterInput: HTMLInputElement;
    dataSource: {
        [key: string]: Object;
    }[] | data.DataManager | string[] | number[] | boolean[];
    listData: {
        [key: string]: Object;
    }[] | string[] | boolean[] | number[];
    hideSelectedItem: boolean;
    closePopupOnSelect: boolean;
    mode: visualMode;
    isVirtualTrackHeight: boolean;
    virtualCustomData: {
        [key: string]: string | Object;
    };
    virtualCustomSelectData: {
        [key: string]: Object;
    }[] | string[] | number[] | boolean[];
    allowCustomValue: boolean;
    enableSelectionOrder: boolean;
    popupWrapper: HTMLDivElement;
    currentFocuedListElement: HTMLElement;
    isScrollChanged: boolean;
    appendUncheckList: boolean;
    keyCode: number;
    preventSetCurrentData: boolean;
    virtualGroupDataSource: {
        [key: string]: Object;
    }[] | data.DataManager | string[] | number[] | boolean[];
    renderItems(listData: {
        [key: string]: Object;
    }[], fields: FieldSettingsModel): HTMLElement;
    renderItems(listData: {
        [key: string]: Object;
    }[], fields: FieldSettingsModel, isCheckBoxUpdate?: boolean): HTMLElement;
    updatevirtualizationList(): void;
    scrollTop(selectedLI: HTMLElement, activeIndex: number, keyCode: number | null): void;
    updateVirtualReOrderList(isCheckBoxUpdate?: boolean): void;
    getForQuery(valuecheck: string[] | number[] | boolean[]): data.Query;
    skeletonCount: number;
    getElementByValue(value: string | number | boolean): Element;
    getSkeletonCount(retainSkeleton?: boolean): void;
    getItems(): HTMLElement[];
    getQuery(query: data.Query): data.Query;
    getTransformValues(): string;
    addListFocus(element: HTMLElement): void;
    UpdateSkeleton(): void;
    updateSelectionList(): void;
    totalItemsCount(): void;
    GetVirtualTrackHeight(): string;
    getPageCount(returnExactCount?: boolean): number;
    handleVirtualKeyboardActions(e: base.KeyboardEventArgs, pageCount: number): void;
    resetList(dataSource?: {
        [key: string]: Object;
    }[] | data.DataManager | string[] | number[] | boolean[], fields?: FieldSettingsModel, query?: data.Query, e?: MouseEvent | base.KeyboardEventArgs | TouchEvent): void;
    findListElement(list: HTMLElement, findNode: string, attribute: string, value: string | boolean | number): HTMLElement;
    scrollStop(e?: Event): void;
    targetElement(): string;
    checkMaxSelection(): void;
}
//node_modules/@syncfusion/ej2-dropdowns/src/common/incremental-search.d.ts
/**
 * IncrementalSearch module file
 */
export  type SearchType = 'StartsWith' | 'Equal' | 'EndsWith' | 'Contains';
/**
 * Search and focus the list item based on key code matches with list text content.
 *
 * @param {number} keyCode - Specifies the key code which pressed on keyboard events.
 * @param {HTMLElement[]} items - Specifies an array of HTMLElement, from which matches find has done.
 * @param {number} selectedIndex - Specifies the selected item in list item, so that search will happen after selected item otherwise it will do from initial.
 * @param {boolean} ignoreCase - Specifies the case consideration when search has done.
 * @param {string} elementId - Specifies the list element ID.
 * @param {boolean} [queryStringUpdated] - Optional parameter.
 * @param {string} [currentValue] - Optional parameter.
 * @param {boolean} [isVirtual] - Optional parameter.
 * @param {boolean} [refresh] - Optional parameter.
 * @returns {Element} Returns list item based on key code matches with list text content.
 */
export  function incrementalSearch(keyCode: number, items: HTMLElement[], selectedIndex: number, ignoreCase: boolean, elementId: string, queryStringUpdated?: boolean, currentValue?: string, isVirtual?: boolean, refresh?: boolean): Element;
/**
 * Search the list item based on given input value matches with search type.
 *
 * @param {string} inputVal - Specifies the given input value.
 * @param {HTMLElement[]} items - Specifies the list items.
 * @param {SearchType} searchType - Specifies the filter type.
 * @param {boolean} [ignoreCase=true] - Specifies the case sensitive option for search operation.
 * @param {(string | number | boolean | { [key: string]: Object })[]} [dataSource] - Specifies the data source.
 * @param {{ text: string, value: string }} [fields] - Specifies the fields.
 * @param {string} [type] - Specifies the type.
 * @returns {{ item: Element | null, index: number | null }} Returns the search matched items.
 */
export  function Search(inputVal: string, items: HTMLElement[], searchType: SearchType, ignoreCase?: boolean, dataSource?: (string | number | boolean | {
    [key: string]: Object;
})[], fields?: any, type?: string, ignoreAccent?: boolean): {
    item: Element | null;
    index: number | null;
};
/**
 * @param {string} value - The value to escape.
 * @returns {string} Returns the escaped string.
 */
export  function escapeCharRegExp(value: string): string;
/**
 * @param {string} elementId - The ID of the list element.
 * @returns {void}
 */
export  function resetIncrementalSearchValues(elementId: string): void;
//node_modules/@syncfusion/ej2-dropdowns/src/common/highlight-search.d.ts
export  type HightLightType = 'Contains' | 'StartsWith' | 'EndsWith';
/**
 * Function helps to find which highlightSearch is to call based on your data.
 *
 * @param  {HTMLElement} element - Specifies an li element.
 * @param  {string} query - Specifies the string to be highlighted.
 * @param  {boolean} ignoreCase - Specifies the ignoreCase option.
 * @param  {HightLightType} type - Specifies the type of highlight.
 * @returns {void}
 */
export  function highlightSearch(element: HTMLElement, query: string, ignoreCase: boolean, type?: HightLightType): void;
/**
 * Function helps to remove highlighted element based on your data.
 *
 * @param  {HTMLElement} content - Specifies an content element.
 * @returns {void}
 */
export  function revertHighlightSearch(content: HTMLElement): void;
//node_modules/@syncfusion/ej2-dropdowns/src/combo-box/combo-box.d.ts

/**
 * The ComboBox component allows the user to type a value or choose an option from the list of predefined options.
 * ```html
 * <select id="list">
 *      <option value='1'>Badminton</option>
 *      <option value='2'>Basketball</option>
 *      <option value='3'>Cricket</option>
 *      <option value='4'>Football</option>
 *      <option value='5'>Tennis</option>
 * </select>
 * ```
 * ```typescript
 *   let games:ComboBox = new ComboBox();
 *   games.appendTo("#list");
 * ```
 */
export  class ComboBox extends DropDownList {
    /**
     * Specifies whether suggest a first matched item in input when searching. No action happens when no matches found.
     *
     * @default false
     */
    autofill: boolean;
    /**
     * Specifies whether the component allows user defined value which does not exist in data source.
     *
     * @default true
     */
    allowCustom: boolean;
    /**
     * Allows additional HTML attributes such as title, name, etc., and
     * accepts n number of attributes in a key-value pair format.
     *
     * {% codeBlock src='combobox/htmlAttributes/index.md' %}{% endcodeBlock %}
     *
     * @default {}
     * @deprecated
     */
    htmlAttributes: {
        [key: string]: string;
    };
    /**
     * When allowFiltering is set to true, show the filter bar (search box) of the component.
     * The filter action retrieves matched items through the `filtering` event based on
     * the characters typed in the search TextBox.
     * If no match is found, the value of the `noRecordsTemplate` property will be displayed.
     *
     * {% codeBlock src="combobox/allow-filtering-api/index.ts" %}{% endcodeBlock %}
     *
     * {% codeBlock src="combobox/allow-filtering-api/index.html" %}{% endcodeBlock %}
     *
     * @default false
     * @deprecated
     */
    allowFiltering: boolean;
    /**
     * Defines whether the popup opens in fullscreen mode on mobile devices when filtering is enabled. When set to false, the popup will display similarly on both mobile and desktop devices.
     *
     * @default true
     */
    isDeviceFullScreen: boolean;
    /**
     * Accepts the external `data.Query`
     * that execute along with [`data processing`](../../combo-box/data-binding).
     *
     * {% codeBlock src='combobox/query/index.md' %}{% endcodeBlock %}
     *
     * @default null
     * @deprecated
     */
    query: data.Query;
    /**
     * Gets or sets the index of the selected item in the component.
     *
     * {% codeBlock src="combobox/index-api/index.ts" %}{% endcodeBlock %}
     *
     * {% codeBlock src="combobox/index-api/index.html" %}{% endcodeBlock %}
     *
     * @default null
     * @aspType double
     * @deprecated
     */
    index: number | null;
    /**
     * 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 customValueSpecifier
     */
    customValueSpecifier: base.EmitType<CustomValueSpecifierEventArgs>;
    /**
     * Triggers on typing a character in the component.
     * > For more details about the filtering refer to [`Filtering`](../../combo-box/filtering) documentation.
     *
     * @event filtering
     */
    filtering: base.EmitType<FilteringEventArgs>;
    /**
     * Not applicable to this component.
     *
     * @default null
     * @aspType string
     * @private
     */
    valueTemplate: string | Function;
    /**
     * Specifies whether to display the floating label above the input element.
     * Possible values are:
     * * Never: The label will never float in the input when the placeholder is available.
     * * Always: The floating label will always float above the input.
     * * Auto: The floating label will float above the input after focusing or entering a value in the input.
     *
     * {% codeBlock src="combobox/float-label-type-api/index.ts" %}{% endcodeBlock %}
     *
     * {% codeBlock src="combobox/float-label-type-api/index.html" %}{% endcodeBlock %}
     *
     * @default Syncfusion.EJ2.Inputs.inputs.FloatLabelType.Never
     * @aspType Syncfusion.EJ2.Inputs.inputs.FloatLabelType
     * @isEnumeration true
     * @deprecated
     */
    floatLabelType: inputs.FloatLabelType;
    /**
     * Not applicable to this component.
     *
     * @default null
     * @private
     * @deprecated
     */
    filterBarPlaceholder: string;
    /**
     * Sets CSS classes to the root element of the component that allows customization of appearance.
     *
     * @default null
     * @deprecated
     */
    cssClass: string;
    /**
     * Accepts the template design and assigns it to the header container of the popup list.
     * > For more details about the available template options refer to [`Template`](../../drop-down-list/templates) documentation.
     *
     * @default null
     * @aspType string
     * @deprecated
     */
    headerTemplate: string | Function;
    /**
     * 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
     * @aspType string
     * @deprecated
     */
    footerTemplate: string | Function;
    /**
     * Specifies a short hint that describes the expected value of the DropDownList component.
     *
     * @default null
     * @deprecated
     */
    placeholder: string;
    /**
     * Specifies the width of the component. By default, the component width sets based on the width of
     * its parent container. You can also set the width in pixel values.
     *
     * @default '100%'
     * @aspType string
     * @deprecated
     */
    width: string | number;
    /**
     * Specifies the height of the popup list.
     * > For more details about the popup configuration refer to
     * [`Popup Configuration`](../../drop-down-list/getting-started#configure-the-popup-list) documentation.
     *
     * @default '300px'
     * @aspType string
     * @deprecated
     */
    popupHeight: string | number;
    /**
     * Specifies the width of the popup list. By default, the popup width sets based on the width of
     * the component.
     * > For more details about the popup configuration refer to
     * [`Popup Configuration`](../../drop-down-list/getting-started#configure-the-popup-list) documentation.
     *
     * @default '100%'
     * @aspType string
     * @deprecated
     */
    popupWidth: string | number;
    /**
     * When set to true, the user interactions on the component are disabled.
     *
     * @default false
     * @deprecated
     */
    readonly: boolean;
    /**
     * Gets or sets the display text of the selected item in the component.
     *
     * @default null
     * @aspType string
     * @deprecated
     */
    text: string | null;
    /**
     * Gets or sets the value of the selected item in the component.
     *
     * @default null
     * @isGenericType true
     * @deprecated
     */
    value: number | string | boolean | object | null;
    /**
     * Defines whether the object binding is allowed or not in the component.
     *
     * @default false
     */
    allowObjectBinding: boolean;
    /**
     * *Constructor for creating the component
     *
     * @param {ComboBoxModel} options - Specifies the ComboBox model.
     * @param {string | HTMLElement} element - Specifies the element to render as component.
     * @private
     */
    constructor(options?: ComboBoxModel, element?: string | HTMLElement);
    /**
     * Initialize the event handler
     *
     * @private
     * @returns {void}
     */
    protected preRender(): void;
    protected getLocaleName(): string;
    protected wireEvent(): void;
    private preventBlur;
    protected onBlurHandler(e: MouseEvent): void;
    protected targetElement(): HTMLElement | HTMLInputElement;
    protected setOldText(text: string): void;
    protected setOldValue(value: string | number | object): void;
    private valueMuteChange;
    protected updateValues(): void;
    protected updateIconState(): void;
    protected getAriaAttributes(): {
        [key: string]: string;
    };
    protected searchLists(e: base.KeyboardEventArgs | MouseEvent): void;
    protected getNgDirective(): string;
    protected setSearchBox(): inputs.InputObject;
    protected onActionComplete(ulElement: HTMLElement, list: {
        [key: string]: Object;
    }[], e?: Object, isUpdated?: boolean): void;
    protected getFocusElement(): Element;
    protected setValue(e?: base.KeyboardEventArgs): boolean;
    protected checkCustomValue(): void;
    /**
     * Shows the spinner loader.
     *
     * @returns {void}
     * @deprecated
     */
    showSpinner(): void;
    /**
     * Hides the spinner loader.
     *
     * @returns {void}
     * @deprecated
     */
    hideSpinner(): void;
    protected setAutoFill(activeElement: Element, isHover?: boolean): void;
    private isAndroidAutoFill;
    protected clearAll(e?: MouseEvent | base.KeyboardEventArgs, property?: ComboBoxModel): void;
    protected isSelectFocusItem(element: Element): boolean;
    private inlineSearch;
    protected incrementalSearch(e: base.KeyboardEventArgs): void;
    private setAutoFillSelection;
    protected getValueByText(text: string): string | number | boolean;
    protected unWireEvent(): void;
    protected setSelection(li: Element, e: MouseEvent | base.KeyboardEventArgs | TouchEvent): void;
    protected selectCurrentItem(e: base.KeyboardEventArgs): void;
    protected setHoverList(li: Element): void;
    private targetFocus;
    protected dropDownClick(e: MouseEvent): void;
    private customValue;
    private updateCustomValueCallback;
    /**
     * Dynamically change the value of properties.
     *
     * @param {ComboBoxModel} newProp - Returns the dynamic property value of the component.
     * @param {ComboBoxModel} oldProp - Returns the previous property value of the component.
     * @private
     * @returns {void}
     */
    onPropertyChanged(newProp: ComboBoxModel, oldProp: ComboBoxModel): void;
    /**
     * To initialize the control rendering.
     *
     * @private
     * @returns {void}
     */
    render(): void;
    /**
     * Return the module name of this component.
     *
     * @private
     * @returns {string} Return the module name of this component.
     */
    getModuleName(): string;
    /**
     * Adds a new item to the combobox popup list. By default, new item appends to the list as the last item,
     * but you can insert based on the index parameter.
     *
     * @param { Object[] } items - Specifies an array of JSON data or a JSON data.
     * @param { number } itemIndex - Specifies the index to place the newly added item in the popup list.
     * @returns {void}
     * @deprecated
     */
    addItem(items: {
        [key: string]: Object;
    }[] | {
        [key: string]: Object;
    } | string | boolean | number | string[] | boolean[] | number[], itemIndex?: number): void;
    /**
     * To filter the data from given data source by using query
     *
     * @param {Object[] | data.DataManager } dataSource - Set the data source to filter.
     * @param {data.Query} query - Specify the query to filter the data.
     * @param {FieldSettingsModel} fields - Specify the fields to map the column in the data table.
     * @returns {void}
     * @deprecated
     */
    filter(dataSource: {
        [key: string]: Object;
    }[] | data.DataManager | string[] | number[] | boolean[], query?: data.Query, fields?: FieldSettingsModel): void;
    /**
     * Opens the popup that displays the list of items.
     *
     * @returns {void}
     * @deprecated
     */
    showPopup(e?: MouseEvent | base.KeyboardEventArgs | TouchEvent): void;
    /**
     * Hides the popup if it is in open state.
     *
     * @returns {void}
     * @deprecated
     */
    hidePopup(e?: MouseEvent | base.KeyboardEventArgs | TouchEvent): void;
    /**
     * Sets the focus to the component for interaction.
     *
     * @returns {void}
     */
    focusIn(): void;
    /**
     * Allows you to clear the selected values from the component.
     *
     * @returns {void}
     * @deprecated
     */
    clear(): void;
    /**
     * Moves the focus from the component if the component is already focused.
     *
     * @returns {void}
     * @deprecated
     */
    focusOut(e?: MouseEvent | base.KeyboardEventArgs): void;
    /**
     * Gets all the list items bound on this component.
     *
     * @returns {Element[]}
     * @deprecated
     */
    getItems(): Element[];
    /**
     * Gets the data Object that matches the given value.
     *
     * @param { string | number } value - Specifies the value of the list item.
     * @returns {Object}
     * @deprecated
     */
    getDataByValue(value: string | number | boolean): {
        [key: string]: Object;
    } | string | number | boolean;
    protected renderHightSearch(): void;
}
export interface CustomValueSpecifierEventArgs {
    /**
     * Gets the typed custom text to make a own text format and assign it to `item` argument.
     */
    text: string;
    /**
     * Sets the text custom format data for set a `value` and `text`.
     *
     */
    item: {
        [key: string]: string | Object;
    };
}
//node_modules/@syncfusion/ej2-dropdowns/src/combo-box/combo-box-model.d.ts
/**
 * Interface for a class ComboBox
 */
export interface ComboBoxModel extends DropDownListModel{
    /**
     * Specifies whether suggest a first matched item in input when searching. No action happens when no matches found.
     *
     * @default false
     */
    autofill?: boolean;
    /**
     * Specifies whether the component allows user defined value which does not exist in data source.
     *
     * @default true
     */
    allowCustom?: boolean;
    /**
     * Allows additional HTML attributes such as title, name, etc., and
     * accepts n number of attributes in a key-value pair format.
     *
     * {% codeBlock src='combobox/htmlAttributes/index.md' %}{% endcodeBlock %}
     *
     * @default {}
     * @deprecated
     */
    htmlAttributes?: { [key: string]: string };
    /**
     * When allowFiltering is set to true, show the filter bar (search box) of the component.
     * The filter action retrieves matched items through the `filtering` event based on
     * the characters typed in the search TextBox.
     * If no match is found, the value of the `noRecordsTemplate` property will be displayed.
     *
     * {% codeBlock src="combobox/allow-filtering-api/index.ts" %}{% endcodeBlock %}
     *
     * {% codeBlock src="combobox/allow-filtering-api/index.html" %}{% endcodeBlock %}
     *
     * @default false
     * @deprecated
     */
    allowFiltering?: boolean;
    /**
     * Defines whether the popup opens in fullscreen mode on mobile devices when filtering is enabled. When set to false, the popup will display similarly on both mobile and desktop devices.
     *
     * @default true
     */
    isDeviceFullScreen?: boolean;
    /**
     * Accepts the external `data.Query`
     * that execute along with [`data processing`](../../combo-box/data-binding).
     *
     * {% codeBlock src='combobox/query/index.md' %}{% endcodeBlock %}
     *
     * @default null
     * @deprecated
     */
    query?: data.Query;
    /**
     * Gets or sets the index of the selected item in the component.
     *
     * {% codeBlock src="combobox/index-api/index.ts" %}{% endcodeBlock %}
     *
     * {% codeBlock src="combobox/index-api/index.html" %}{% endcodeBlock %}
     *
     * @default null
     * @aspType double
     * @deprecated
     */
    index?: number | null;
    /**
     * 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 customValueSpecifier
     */
    customValueSpecifier?: base.EmitType<CustomValueSpecifierEventArgs>;
    /**
     * Triggers on typing a character in the component.
     * > For more details about the filtering refer to [`Filtering`](../../combo-box/filtering) documentation.
     *
     * @event filtering
     */
    filtering?: base.EmitType<FilteringEventArgs>;
    /**
     * Not applicable to this component.
     *
     * @default null
     * @aspType string
     * @private
     */
    valueTemplate?: string | Function;
    /**
     * Specifies whether to display the floating label above the input element.
     * Possible values are:
     * * Never: The label will never float in the input when the placeholder is available.
     * * Always: The floating label will always float above the input.
     * * Auto: The floating label will float above the input after focusing or entering a value in the input.
     *
     * {% codeBlock src="combobox/float-label-type-api/index.ts" %}{% endcodeBlock %}
     *
     * {% codeBlock src="combobox/float-label-type-api/index.html" %}{% endcodeBlock %}
     *
     * @default Syncfusion.EJ2.Inputs.inputs.FloatLabelType.Never
     * @aspType Syncfusion.EJ2.Inputs.inputs.FloatLabelType
     * @isEnumeration true
     * @deprecated
     */
    floatLabelType?: inputs.FloatLabelType;
    /**
     * Not applicable to this component.
     *
     * @default null
     * @private
     * @deprecated
     */
    filterBarPlaceholder?: string;
    /**
     * Sets CSS classes to the root element of the component that allows customization of appearance.
     *
     * @default null
     * @deprecated
     */
    cssClass?: string;
    /**
     * Accepts the template design and assigns it to the header container of the popup list.
     * > For more details about the available template options refer to [`Template`](../../drop-down-list/templates) documentation.
     *
     * @default null
     * @aspType string
     * @deprecated
     */
    headerTemplate?: string | Function;
    /**
     * 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
     * @aspType string
     * @deprecated
     */
    footerTemplate?: string | Function;
    /**
     * Specifies a short hint that describes the expected value of the DropDownList component.
     *
     * @default null
     * @deprecated
     */
    placeholder?: string;
    /**
     * Specifies the width of the component. By default, the component width sets based on the width of
     * its parent container. You can also set the width in pixel values.
     *
     * @default '100%'
     * @aspType string
     * @deprecated
     */
    width?: string | number;
    /**
     * Specifies the height of the popup list.
     * > For more details about the popup configuration refer to
     * [`Popup Configuration`](../../drop-down-list/getting-started#configure-the-popup-list) documentation.
     *
     * @default '300px'
     * @aspType string
     * @deprecated
     */
    popupHeight?: string | number;
    /**
     * Specifies the width of the popup list. By default, the popup width sets based on the width of
     * the component.
     * > For more details about the popup configuration refer to
     * [`Popup Configuration`](../../drop-down-list/getting-started#configure-the-popup-list) documentation.
     *
     * @default '100%'
     * @aspType string
     * @deprecated
     */
    popupWidth?: string | number;
    /**
     * When set to true, the user interactions on the component are disabled.
     *
     * @default false
     * @deprecated
     */
    readonly?: boolean;
    /**
     * Gets or sets the display text of the selected item in the component.
     *
     * @default null
     * @aspType string
     * @deprecated
     */
    text?: string | null;
    /**
     * Gets or sets the value of the selected item in the component.
     *
     * @default null
     * @isGenericType true
     * @deprecated
     */
    value?: number | string | boolean | object | null;
    /**
     * Defines whether the object binding is allowed or not in the component.
     *
     * @default false
     */
    allowObjectBinding?: boolean;
}
//node_modules/@syncfusion/ej2-dropdowns/src/auto-complete/auto-complete.d.ts

/**
 * The AutoComplete component provides the matched suggestion list when type into the input,
 * from which the user can select one.
 * ```html
 * <input id="list" type="text"/>
 * ```
 * ```typescript
 *   let atcObj:AutoComplete = new AutoComplete();
 *   atcObj.appendTo("#list");
 * ```
 */
export  class AutoComplete extends ComboBox {
    private isFiltered;
    private searchList;
    /**
     * The `fields` property maps the columns of the data table and binds the data to the component.
     * * text - Maps the text column from data table for each list item
     * * value - Maps the value column from data table for each list item
     * * iconCss - Maps the icon class column from data table for each list item
     * * groupBy - Group the list items with it's related items by mapping groupBy field
     *
     * {% codeBlock src='autocomplete/fields/index.md' %}{% endcodeBlock %}
     *
     * > For more details about the field mapping refer to [`Data binding`](../../auto-complete/data-binding) documentation.
     *
     * @default { value: null, iconCss: null, groupBy: null}
     * @deprecated
     */
    fields: FieldSettingsModel;
    /**
     * When set to ‘false’, consider the [`case-sensitive`](../../auto-complete/filtering/#case-sensitive-filtering)
     * on performing the search to find suggestions.
     * By default consider the casing.
     *
     * @default true
     * @deprecated
     */
    ignoreCase: boolean;
    /**
     * Allows you to either show or hide the popup button on the component.
     *
     * @default false
     */
    showPopupButton: boolean;
    /**
     * When set to ‘true’, highlight the searched characters on suggested list items.
     * > For more details about the highlight refer to [`Custom highlight search`](../../auto-complete/how-to/custom-search) documentation.
     *
     * @default false
     */
    highlight: boolean;
    /**
     * Supports the [`specified number`](../../auto-complete/filtering#filter-item-count)
     * of list items on the suggestion popup.
     *
     * @default 20
     */
    suggestionCount: number;
    /**
     * Allows additional HTML attributes such as title, name, etc., and
     * accepts n number of attributes in a key-value pair format.
     *
     * {% codeBlock src='autocomplete/htmlAttributes/index.md' %}{% endcodeBlock %}
     *
     * @default {}
     * @deprecated
     */
    htmlAttributes: {
        [key: string]: string;
    };
    /**
     * Accepts the external `query`
     * that execute along with data processing.
     *
     * {% codeBlock src='autocomplete/query/index.md' %}{% endcodeBlock %}
     *
     * @default null
     * @deprecated
     */
    query: data.Query;
    /**
     * Allows you to set [`the minimum search character length']
     * (../../auto-complete/filtering#limit-the-minimum-filter-character),
     * the search action will perform after typed minimum characters.
     *
     * @default 1
     */
    minLength: number;
    /**
     * Determines on which filter type, the component needs to be considered on search action.
     * The available [`FilterType`](../../auto-complete/filtering/#change-the-filter-type)
     * and its supported data types are
     *
     * <table>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * FilterType<br/></td><td colSpan=1 rowSpan=1>
     * Description<br/></td><td colSpan=1 rowSpan=1>
     * Supported Types<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * StartsWith<br/></td><td colSpan=1 rowSpan=1>
     * Checks whether a value begins with the specified value.<br/></td><td colSpan=1 rowSpan=1>
     * String<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * EndsWith<br/></td><td colSpan=1 rowSpan=1>
     * Checks whether a value ends with specified value.<br/><br/></td><td colSpan=1 rowSpan=1>
     * <br/>String<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * Contains<br/></td><td colSpan=1 rowSpan=1>
     * Checks whether a value contains with specified value.<br/><br/></td><td colSpan=1 rowSpan=1>
     * <br/>String<br/></td></tr>
     * </table>
     *
     * {% codeBlock src="autocomplete/filter-type-api/index.ts" %}{% endcodeBlock %}
     *
     * {% codeBlock src="autocomplete/filter-type-api/index.html" %}{% endcodeBlock %}
     *
     * The default value set to `Contains`, all the suggestion items which contain typed characters to listed in the suggestion popup.
     *
     * @default 'Contains'
     */
    filterType: FilterType;
    /**
     * Triggers on typing a character in the component.
     *
     * @event filtering
     */
    filtering: base.EmitType<FilteringEventArgs>;
    /**
     * Not applicable to this component.
     *
     * @default null
     * @aspType double
     * @private
     * @deprecated
     */
    index: number | null;
    /**
     * Specifies whether to display the floating label above the input element.
     * Possible values are:
     * * Never: The label will never float in the input when the placeholder is available.
     * * Always: The floating label will always float above the input.
     * * Auto: The floating label will float above the input after focusing or entering a value in the input.
     *
     * {% codeBlock src="autocomplete/float-label-type-api/index.ts" %}{% endcodeBlock %}
     *
     * {% codeBlock src="autocomplete/float-label-type-api/index.html" %}{% endcodeBlock %}
     *
     * @default Syncfusion.EJ2.Inputs.inputs.FloatLabelType.Never
     * @aspType Syncfusion.EJ2.Inputs.inputs.FloatLabelType
     * @isEnumeration true
     * @deprecated
     */
    floatLabelType: inputs.FloatLabelType;
    /**
     * Not applicable to this component.
     *
     * @default null
     * @aspType string
     * @private
     * @deprecated
     */
    valueTemplate: string | Function;
    /**
     * Not applicable to this component.
     *
     * @default null
     * @private
     * @deprecated
     */
    filterBarPlaceholder: string;
    /**
     * Not applicable to this component.
     *
     * @default false
     * @private
     * @deprecated
     */
    allowFiltering: boolean;
    /**
     * Not applicable to this component.
     *
     * @default null
     * @aspType string
     * @private
     * @deprecated
     */
    text: string | null;
    /**
     * * Constructor for creating the widget
     *
     * @param {AutoCompleteModel} options - Specifies the AutoComplete model.
     * @param {string | HTMLElement} element - Specifies the element to render as component.
     * @private
     */
    constructor(options?: AutoCompleteModel, element?: string | HTMLElement);
    /**
     * Initialize the event handler
     *
     * @private
     * @returns {void}
     */
    protected preRender(): void;
    protected getLocaleName(): string;
    protected getNgDirective(): string;
    protected getQuery(query: data.Query): data.Query;
    protected searchLists(e: base.KeyboardEventArgs | MouseEvent): void;
    protected performFiltering(e: base.KeyboardEventArgs | MouseEvent): void;
    /**
     * To filter the data from given data source by using query
     *
     * @param {Object[] | data.DataManager } dataSource - Set the data source to filter.
     * @param {data.Query} query - Specify the query to filter the data.
     * @param {FieldSettingsModel} fields - Specify the fields to map the column in the data table.
     * @returns {void}
     * @deprecated
     */
    filter(dataSource: {
        [key: string]: Object;
    }[] | data.DataManager | string[] | number[] | boolean[], query?: data.Query, fields?: FieldSettingsModel): void;
    private filterAction;
    protected clearAll(e?: MouseEvent, property?: AutoCompleteModel): void;
    protected onActionComplete(ulElement: HTMLElement, list: {
        [key: string]: Object;
    }[], e?: Object, isUpdated?: boolean): void;
    private postBackAction;
    protected setSelection(li: Element, e: MouseEvent | base.KeyboardEventArgs | TouchEvent): void;
    protected listOption(dataSource: {
        [key: string]: Object;
    }[], fieldsSettings: FieldSettingsModel): FieldSettingsModel;
    protected isFiltering(): boolean;
    protected renderPopup(e?: MouseEvent | base.KeyboardEventArgs | TouchEvent): void;
    protected isEditTextBox(): boolean;
    protected isPopupButton(): boolean;
    protected isSelectFocusItem(element: Element): boolean;
    protected setInputValue(newProp?: any, oldProp?: any): void;
    /**
     * Search the entered text and show it in the suggestion list if available.
     *
     * @param {MouseEvent | base.KeyboardEventArgs | TouchEvent} e - The event object.
     * @returns {void}
     * @deprecated
     */
    showPopup(e?: MouseEvent | base.KeyboardEventArgs | TouchEvent): void;
    /**
     * Hides the popup if it is in open state.
     *
     * @param {MouseEvent | base.KeyboardEventArgs | TouchEvent} e - The event object.
     * @returns {void}
     */
    hidePopup(e?: MouseEvent | base.KeyboardEventArgs | TouchEvent): void;
    /**
     * Dynamically change the value of properties.
     *
     * @param {AutoCompleteModel} newProp - Returns the dynamic property value of the component.
     * @param {AutoCompleteModel} oldProp - Returns the previous property value of the component.
     * @private
     * @returns {void}
     */
    onPropertyChanged(newProp: AutoCompleteModel, oldProp: AutoCompleteModel): void;
    protected renderHightSearch(): void;
    /**
     * Return the module name of this component.
     *
     * @private
     * @returns {string} Return the module name of this component.
     */
    getModuleName(): string;
    /**
     * To initialize the control rendering
     *
     * @private
     * @returns {void}
     */
    render(): void;
}
//node_modules/@syncfusion/ej2-dropdowns/src/auto-complete/auto-complete-model.d.ts
/**
 * Interface for a class AutoComplete
 */
export interface AutoCompleteModel extends ComboBoxModel{
    /**
     * The `fields` property maps the columns of the data table and binds the data to the component.
     * * text - Maps the text column from data table for each list item
     * * value - Maps the value column from data table for each list item
     * * iconCss - Maps the icon class column from data table for each list item
     * * groupBy - Group the list items with it's related items by mapping groupBy field
     *
     * {% codeBlock src='autocomplete/fields/index.md' %}{% endcodeBlock %}
     *
     * > For more details about the field mapping refer to [`Data binding`](../../auto-complete/data-binding) documentation.
     *
     * @default { value: null, iconCss: null, groupBy: null}
     * @deprecated
     */
    fields?: FieldSettingsModel;
    /**
     * When set to ‘false’, consider the [`case-sensitive`](../../auto-complete/filtering/#case-sensitive-filtering)
     * on performing the search to find suggestions.
     * By default consider the casing.
     *
     * @default true
     * @deprecated
     */
    ignoreCase?: boolean;
    /**
     * Allows you to either show or hide the popup button on the component.
     *
     * @default false
     */
    showPopupButton?: boolean;
    /**
     * When set to ‘true’, highlight the searched characters on suggested list items.
     * > For more details about the highlight refer to [`Custom highlight search`](../../auto-complete/how-to/custom-search) documentation.
     *
     * @default false
     */
    highlight?: boolean;
    /**
     * Supports the [`specified number`](../../auto-complete/filtering#filter-item-count)
     * of list items on the suggestion popup.
     *
     * @default 20
     */
    suggestionCount?: number;
    /**
     * Allows additional HTML attributes such as title, name, etc., and
     * accepts n number of attributes in a key-value pair format.
     *
     * {% codeBlock src='autocomplete/htmlAttributes/index.md' %}{% endcodeBlock %}
     *
     * @default {}
     * @deprecated
     */
    htmlAttributes?: { [key: string]: string };
    /**
     * Accepts the external `query`
     * that execute along with data processing.
     *
     * {% codeBlock src='autocomplete/query/index.md' %}{% endcodeBlock %}
     *
     * @default null
     * @deprecated
     */
    query?: data.Query;
    /**
     * Allows you to set [`the minimum search character length']
     * (../../auto-complete/filtering#limit-the-minimum-filter-character),
     * the search action will perform after typed minimum characters.
     *
     * @default 1
     */
    minLength?: number;
    /**
     * Determines on which filter type, the component needs to be considered on search action.
     * The available [`FilterType`](../../auto-complete/filtering/#change-the-filter-type)
     * and its supported data types are
     *
     * <table>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * FilterType<br/></td><td colSpan=1 rowSpan=1>
     * Description<br/></td><td colSpan=1 rowSpan=1>
     * Supported Types<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * StartsWith<br/></td><td colSpan=1 rowSpan=1>
     * Checks whether a value begins with the specified value.<br/></td><td colSpan=1 rowSpan=1>
     * String<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * EndsWith<br/></td><td colSpan=1 rowSpan=1>
     * Checks whether a value ends with specified value.<br/><br/></td><td colSpan=1 rowSpan=1>
     * <br/>String<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * Contains<br/></td><td colSpan=1 rowSpan=1>
     * Checks whether a value contains with specified value.<br/><br/></td><td colSpan=1 rowSpan=1>
     * <br/>String<br/></td></tr>
     * </table>
     *
     * {% codeBlock src="autocomplete/filter-type-api/index.ts" %}{% endcodeBlock %}
     *
     * {% codeBlock src="autocomplete/filter-type-api/index.html" %}{% endcodeBlock %}
     *
     * The default value set to `Contains`, all the suggestion items which contain typed characters to listed in the suggestion popup.
     *
     * @default 'Contains'
     */
    filterType?: FilterType;
    /**
     * Triggers on typing a character in the component.
     *
     * @event filtering
     */
    filtering?: base.EmitType<FilteringEventArgs>;
    /**
     * Not applicable to this component.
     *
     * @default null
     * @aspType double
     * @private
     * @deprecated
     */
    index?: number | null;
    /**
     * Specifies whether to display the floating label above the input element.
     * Possible values are:
     * * Never: The label will never float in the input when the placeholder is available.
     * * Always: The floating label will always float above the input.
     * * Auto: The floating label will float above the input after focusing or entering a value in the input.
     *
     * {% codeBlock src="autocomplete/float-label-type-api/index.ts" %}{% endcodeBlock %}
     *
     * {% codeBlock src="autocomplete/float-label-type-api/index.html" %}{% endcodeBlock %}
     *
     * @default Syncfusion.EJ2.Inputs.inputs.FloatLabelType.Never
     * @aspType Syncfusion.EJ2.Inputs.inputs.FloatLabelType
     * @isEnumeration true
     * @deprecated
     */
    floatLabelType?: inputs.FloatLabelType;
    /**
     * Not applicable to this component.
     *
     * @default null
     * @aspType string
     * @private
     * @deprecated
     */
    valueTemplate?: string | Function;
    /**
     * Not applicable to this component.
     *
     * @default null
     * @private
     * @deprecated
     */
    filterBarPlaceholder?: string;
    /**
     * Not applicable to this component.
     *
     * @default false
     * @private
     * @deprecated
     */
    allowFiltering?: boolean;
    /**
     * Not applicable to this component.
     *
     * @default null
     * @aspType string
     * @private
     * @deprecated
     */
    text?: string | null;
}
 }
export namespace excelExport { 

//node_modules/@syncfusion/ej2-excel-export/src/worksheets.d.ts
/**
 * Worksheets class
 * @private
 */
export  class Worksheets extends Array<Worksheet> {
}
//node_modules/@syncfusion/ej2-excel-export/src/worksheet.d.ts
/**
 * Worksheet class
 * @private
 */
export  class Worksheet {
    isSummaryRowBelow: boolean;
    index: number;
    columns: Column[];
    rows: Rows;
    freezePanes: FreezePane;
    name: string;
    showGridLines: boolean;
    mergeCells: MergeCells;
    hyperLinks: HyperLink[];
    images: Image[];
    enableRtl: boolean;
    autoFilters: AutoFilters;
}
/**
 * Hyperlink class
 * @private
 */
export  class HyperLink {
    ref: string;
    rId: number;
    toolTip: string;
    location: string;
    display: string;
    target: string;
    type: HyperLinkType;
}
/**
 * Grouping class
 * @private
 */
export  class Grouping {
    outlineLevel: number;
    isCollapsed: boolean;
    isHidden: boolean;
}
/**
 * FreezePane class
 * @private
 */
export  class FreezePane {
    row: number;
    column: number;
    leftCell: string;
}
/**
 * MergeCell
 * @private
 */
export  class MergeCell {
    ref: string;
    x: number;
    width: number;
    y: number;
    height: number;
}
/**
 * MergeCells class
 * @private
 */
export  class MergeCells extends Array {
    add: (mergeCell: MergeCell) => MergeCell;
    static isIntersecting(base: MergeCell, compare: MergeCell): boolean;
}
//node_modules/@syncfusion/ej2-excel-export/src/workbook.d.ts
/**
 * Workbook class
 */
export  class Workbook {
    private mArchive;
    private sharedString;
    private sharedStringCount;
    cellStyles: Map<string, CellStyles>;
    mergedCellsStyle: Map<string, {
        x: number;
        y: number;
        styleIndex: number;
    }>;
    private worksheets;
    private builtInProperties;
    private mFonts;
    private mBorders;
    private mFills;
    private mNumFmt;
    private mStyles;
    private mCellXfs;
    private mCellStyleXfs;
    private mergeCells;
    private csvHelper;
    private mSaveType;
    private mHyperLinks;
    private unitsProportions;
    private hyperlinkStyle;
    private printTitles;
    private culture;
    private currency;
    private intl;
    private globalStyles;
    private rgbColors;
    private drawingCount;
    private imageCount;
    constructor(json: any, saveType: SaveType, culture?: string, currencyString?: string, separator?: string);
    private parserBuiltInProperties;
    private parserWorksheets;
    private mergeOptions;
    private applyProperties;
    private getCellName;
    private getColumnName;
    private parserPrintTitle;
    private parserFreezePanes;
    private parserColumns;
    private parserRows;
    private insertMergedCellsStyle;
    private createCell;
    private parserRow;
    private parseGrouping;
    private parseCells;
    private GetColors;
    private processColor;
    private processCellValue;
    private applyGlobalStyle;
    private parserCellStyle;
    private switchNumberFormat;
    private changeNumberFormats;
    private getNumberFormat;
    private parserBorder;
    private processCellStyle;
    private processNumFormatId;
    private isNewFont;
    private isNewBorder;
    private isAllBorder;
    private compareStyle;
    private contains;
    private getCellValueType;
    private parseCellType;
    private parserImages;
    private parseFilters;
    private parserImage;
    /**
     * Returns a Promise with a Blob based on the specified BlobSaveType and optional encoding.
     * @param {BlobSaveType} blobSaveType - A string indicating the type of Blob to generate ('text/csv' or other).
     * @param {string} [encodingType] - The supported encoding types are "ansi", "unicode" and "utf8".
     */
    saveAsBlob(blobSaveType: BlobSaveType, encodingType?: string): 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/value-formatter.d.ts
/**
 * ValueFormatter class to globalize the value.
 * @private
 */
export  class ValueFormatter {
    private intl;
    constructor(cultureName?: string);
    getFormatFunction(format: base.NumberFormatOptions | base.DateFormatOptions, isServerRendered: boolean): Function;
    toView(value: number | Date, format: Function): string | Object;
    displayText(value: any, format: base.NumberFormatOptions | base.DateFormatOptions, isServerRendered: boolean): string;
}
//node_modules/@syncfusion/ej2-excel-export/src/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/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/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/csv-helper.d.ts
/**
 * CsvHelper class
 * @private
 */
export  class CsvHelper {
    private isMicrosoftBrowser;
    private buffer;
    private csvStr;
    private formatter;
    private globalStyles;
    private isServerRendered;
    private separator;
    constructor(json: any, separator: string);
    private parseWorksheet;
    private parseRows;
    private parseRow;
    private parseCell;
    private parseCellValue;
    /**
     * Saves the file with specified name and sends the file to client browser
     * @param  {string} fileName- file name to save.
     * @param  {Blob} buffer- the content to write in file
     */
    save(fileName: string): void;
    /**
    * Returns a Blob object containing CSV data with optional encoding.
    * @param {string} [encodingType] - The supported encoding types are "ansi", "unicode" and "utf8".
    */
    saveAsBlob(encodingType?: string): Blob;
}
//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/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/cell-style.d.ts
/**
 * CellStyle class
 * @private
 */
export  class CellStyle {
    name: string;
    index: number;
    backColor: string;
    numFmtId: number;
    borders: Borders;
    fontName: string;
    fontSize: number;
    fontColor: string;
    italic: boolean;
    bold: boolean;
    hAlign: HAlignType;
    indent: number;
    rotation: number;
    vAlign: VAlignType;
    underline: boolean;
    strikeThrough: boolean;
    wrapText: boolean;
    numberFormat: string;
    type: string;
    isGlobalStyle: boolean;
    constructor();
}
/**
 * Font Class
 * @private
 */
export  class Font {
    b: boolean;
    i: boolean;
    u: boolean;
    sz: number;
    name: string;
    color: string;
    strike: boolean;
    constructor();
}
/**
 * CellXfs class
 * @private
 */
export  class CellXfs {
    numFmtId: number;
    fontId: number;
    fillId: number;
    borderId: number;
    xfId: number;
    applyAlignment: number;
    alignment: Alignment;
}
/**
 * Alignment class
 * @private
 */
export  class Alignment {
    horizontal: string;
    vertical: string;
    wrapText: number;
    indent: number;
    rotation: number;
}
/**
 * CellStyleXfs class
 * @private
 */
export  class CellStyleXfs {
    numFmtId: number;
    fontId: number;
    fillId: number;
    borderId: number;
    alignment: Alignment;
}
/**
 * CellStyles class
 * @private
 */
export  class CellStyles {
    name: string;
    xfId: number;
    constructor();
}
/**
 * NumFmt class
 * @private
 */
export  class NumFmt {
    numFmtId: number;
    formatCode: string;
    constructor();
    constructor(id: number, code: string);
}
/**
 * Border class
 * @private
 */
export  class Border {
    lineStyle: LineStyle;
    color: string;
    constructor();
    constructor(mLine: LineStyle, mColor: string);
}
/**
 * Borders class
 * @private
 */
export  class Borders {
    left: Border;
    right: Border;
    bottom: Border;
    top: Border;
    all: Border;
    constructor();
}
//node_modules/@syncfusion/ej2-excel-export/src/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/auto-filters.d.ts
/**
 * AutoFilters class
 * @private
 */
export  class AutoFilters {
    row: number;
    column: number;
    lastRow: number;
    lastColumn: number;
}
 }
export namespace fileUtils { 

//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;
}
//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/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/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;
 }
export namespace filemanager { 

//node_modules/@syncfusion/ej2-filemanager/src/file-manager/pop-up/dialog.d.ts
/**
 *
 * @param {IFileManager} parent - Specifies the parent element
 * @param {string} text - specifies the text string.
 * @param {ReadArgs | inputs.SelectedEventArgs} e - specifies the type of event args.
 * @param {FileDetails} details - specifies the file details.
 * @returns {void}
 * @private
 */
export  function createDialog(parent: IFileManager, text: string, e?: ReadArgs | inputs.SelectedEventArgs, details?: FileDetails): void;
/**
 *
 * @param {IFileManager} parent - Specifies the parent element.
 * @param {string} text - specifies the text string.
 * @param {string[]} replaceItems - specifies the replacement items.
 * @param {string} newPath - specifies the new path.
 * @returns {void}
 * @private
 */
export  function createExtDialog(parent: IFileManager, text: string, replaceItems?: string[], newPath?: string): void;
/**
 *
 * @param {IFileManager} parent - specifies the parent element.
 * @param {string} header - specifies the header element.
 * @param {string} imageUrl - specifies the image URL.
 * @returns {void}
 * @private
 */
export  function createImageDialog(parent: IFileManager, header: string, imageUrl: string): void;
//node_modules/@syncfusion/ej2-filemanager/src/file-manager/pop-up/context-menu.d.ts
/**
 * ContextMenu module
 */
export  class ContextMenu {
    private parent;
    private targetElement;
    contextMenu: navigations.ContextMenu;
    menuTarget: HTMLElement;
    isMenuItemClicked: boolean;
    private keyConfigs;
    private keyboardModule;
    private menuType;
    private currentItems;
    private currentElement;
    private disabledItems;
    private targetNodeElement;
    private navUid;
    menuItemData: object;
    /**
     * Constructor for the ContextMenu module
     *
     * @param {IFileManager} parent - Specifies the parent element.
     * @hidden
     */
    constructor(parent?: IFileManager);
    private render;
    onBeforeItemRender(args: splitbuttons.MenuEventArgs): void;
    onBeforeClose(args: navigations.BeforeOpenCloseMenuEventArgs): void;
    onBeforeOpen(args: navigations.BeforeOpenCloseMenuEventArgs): void;
    private updateActiveModule;
    /**
     *
     * @param {Element} target - specifies the target element.
     * @returns {string} -returns the target view.
     * @hidden
     */
    getTargetView(target: Element): string;
    getItemIndex(item: string): number;
    disableItem(items: string[]): void;
    enableItems(items: string[], enable?: boolean, isUniqueId?: boolean): void;
    private setFolderItem;
    private setFileItem;
    private setLayoutItem;
    private checkValidItem;
    private getMenuItemData;
    private onSelect;
    private onPropertyChanged;
    private addEventListener;
    private removeEventListener;
    private keyActionHandler;
    /**
     * For internal use only - Get the module name.
     *
     * @returns {string} - returns the module name.
     * @private
     */
    private getModuleName;
    private destroy;
    private getItemData;
    private getMenuId;
}
//node_modules/@syncfusion/ej2-filemanager/src/file-manager/models/upload-settings.d.ts
/**
 * Specifies the Ajax settings of the File Manager.
 */
export  class UploadSettings extends base.ChildProperty<UploadSettings> {
    /**
     * Specifies the extensions of the file types allowed in the file manager component and pass the extensions with comma separators.
     * For example, if you want to upload specific image files, pass allowedExtensions as ".jpg,.png".
     *
     * @defaults ''
     */
    allowedExtensions: string;
    /**
     * By default, the FileManager component initiates automatic upload when the files are added in upload queue.
     * If you want to manipulate the files before uploading to server, disable the autoUpload property.
     * The buttons "upload" and "clear" will be hided from file list when the autoUpload property is true.
     *
     * @default true
     */
    autoUpload: boolean;
    /**
     * Defines whether to close the upload dialog after uploading all the files.
     *
     * @default false
     */
    autoClose: boolean;
    /**
     * Specifies a Boolean value that indicates whether the folder (directory) can be browsed and uploaded in the FileManager component.
     * This property allows to select or drop to upload the folders (directories) instead of files. When folder upload is enabled, all the folder contents including hierarchy folders and files are considered to upload.
     * Folder (directory) upload is supported for the following file system providers,
     * - Physical provider
     * - NodeJS provider
     * - Azure provider
     * - Amazon S3 provider
     *
     * @default false
     */
    directoryUpload: boolean;
    /**
     * Specifies the minimum file size to be uploaded in bytes.
     * The property is used to make sure that you cannot upload empty files and small files.
     *
     * @default 0
     */
    minFileSize: number;
    /**
     * Specifies the maximum allowed file size to be uploaded in bytes.
     * The property is used to make sure that you cannot upload too large files.
     *
     * @default 30000000
     */
    maxFileSize: number;
    /**
     * 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 FileManager enables the chunk upload by default.
     * It must be specified in bytes value.
     *
     * @default 0
     */
    chunkSize: number;
}
//node_modules/@syncfusion/ej2-filemanager/src/file-manager/models/upload-settings-model.d.ts
/**
 * Interface for a class UploadSettings
 */
export interface UploadSettingsModel {
    /**
     * Specifies the extensions of the file types allowed in the file manager component and pass the extensions with comma separators.
     * For example, if you want to upload specific image files, pass allowedExtensions as ".jpg,.png".
     *
     * @defaults ''
     */
    allowedExtensions?: string;
    /**
     * By default, the FileManager component initiates automatic upload when the files are added in upload queue.
     * If you want to manipulate the files before uploading to server, disable the autoUpload property.
     * The buttons "upload" and "clear" will be hided from file list when the autoUpload property is true.
     *
     * @default true
     */
    autoUpload?: boolean;
    /**
     * Defines whether to close the upload dialog after uploading all the files.
     *
     * @default false
     */
    autoClose?: boolean;
    /**
     * Specifies a Boolean value that indicates whether the folder (directory) can be browsed and uploaded in the FileManager component.
     * This property allows to select or drop to upload the folders (directories) instead of files. When folder upload is enabled, all the folder contents including hierarchy folders and files are considered to upload.
     * Folder (directory) upload is supported for the following file system providers,
     * - Physical provider
     * - NodeJS provider
     * - Azure provider
     * - Amazon S3 provider
     *
     * @default false
     */
    directoryUpload?: boolean;
    /**
     * Specifies the minimum file size to be uploaded in bytes.
     * The property is used to make sure that you cannot upload empty files and small files.
     *
     * @default 0
     */
    minFileSize?: number;
    /**
     * Specifies the maximum allowed file size to be uploaded in bytes.
     * The property is used to make sure that you cannot upload too large files.
     *
     * @default 30000000
     */
    maxFileSize?: number;
    /**
     * 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 FileManager enables the chunk upload by default.
     * It must be specified in bytes value.
     *
     * @default 0
     */
    chunkSize?: number;
}
//node_modules/@syncfusion/ej2-filemanager/src/file-manager/models/toolbar-settings.d.ts
export  const defaultToolbarItems: 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 defaultToolbarItems
     */
    items: string[];
    /**
     * Enables or disables the toolbar rendering in the file manager component.
     *
     * @default true
     */
    visible: boolean;
}
export  class ToolbarItem extends base.ChildProperty<ToolbarItem> {
    /**
     * Specifies the unique ID to be used with button or input element of Toolbar items.
     *
     * @default ""
     */
    id: string;
    /**
     * Specifies the text to be displayed on the Toolbar button.
     *
     * @default ""
     */
    text: string;
    /**
     * Specifies the width of the Toolbar button commands.
     *
     * @default 'auto'
     */
    width: number | string;
    /**
     * Defines single/multiple classes (separated by space) to be used for customization of commands.
     *
     * @default ""
     */
    cssClass: string;
    /**
     * Defines the priority of items to display it in popup always.
     * It allows to maintain toolbar item on popup always but it does not work for toolbar priority items.
     *
     * @default false
     */
    showAlwaysInPopup: boolean;
    /**
     * Specifies whether an item should be disabled or not.
     *
     * @default false
     */
    disabled: boolean;
    /**
     * Defines single/multiple classes separated by space used to specify an icon for the button.
     * The icon will be positioned before the text content if text is available, otherwise the icon alone will be rendered.
     *
     * @default ""
     */
    prefixIcon: string;
    /**
     * Defines single/multiple classes separated by space used to specify an icon for the button.
     * The icon will be positioned after the text content if text is available.
     *
     * @default ""
     */
    suffixIcon: string;
    /**
     * Specifies whether an item should be hidden or not.
     *
     * @default true
     */
    visible: boolean;
    /**
     * Specifies the Toolbar command display area when an element's content is too large to fit available space.
     * This is applicable only to `popup` mode. The possible values for this property as follows
     * * `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'
     * @aspDefaultValue Syncfusion.EJ2.Navigations.navigations.OverflowOption.None
     * @isEnumeration true
     * @aspType Syncfusion.EJ2.Navigations.navigations.OverflowOption
     */
    overflow: navigations.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 ""
     * @angularType string | object
     * @reactType string | function | JSX.Element
     * @vueType string | function
     * @aspType string
     */
    template: string | Object | Function;
    /**
     * 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'
     * @aspDefaultValue Syncfusion.EJ2.Navigations.navigations.ItemType.Button
     * @isEnumeration true
     * @aspType Syncfusion.EJ2.Navigations.navigations.ItemType
     */
    type: navigations.ItemType;
    /**
     * Specifies where the button text will be displayed on *popup mode* of the Toolbar.
     * The possible values for this property as follows
     * * `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'
     * @aspDefaultValue Syncfusion.EJ2.Navigations.navigations.DisplayMode.Both
     * @isEnumeration true
     * @aspType Syncfusion.EJ2.Navigations.navigations.DisplayMode
     */
    showTextOn: navigations.DisplayMode;
    /**
     * Defines htmlAttributes used to add custom attributes to Toolbar command.
     * Supports HTML attributes such as style, class, etc.
     *
     * @default null
     */
    htmlAttributes: {
        [key: string]: string;
    };
    /**
     * Specifies the text to be displayed on hovering the Toolbar button.
     *
     * @default ""
     */
    tooltipText: string;
    /**
     * Specifies the location for aligning Toolbar items on the Toolbar. Each command will be aligned according to the `align` property.
     * The possible values for this property as follows
     * * `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.
     *
     * @default 'Left'
     * @aspDefaultValue Syncfusion.EJ2.Navigations.navigations.ItemAlign.Left
     * @isEnumeration true
     * @aspType Syncfusion.EJ2.Navigations.navigations.ItemAlign
     */
    align: navigations.ItemAlign;
    /**
     * Specifies the tab order of the Toolbar items. When positive values assigned, it allows to switch focus to the next/previous toolbar items with Tab/ShiftTab keys.
     * By default, user can able to switch between items only via arrow keys.
     * If the value is set to 0 for all tool bar items, then tab switches based on element order.
     *
     * @default -1
     */
    tabIndex: number;
    /**
     * Specifies the unique name for each toolbar item rendered in File Manager. This name is used to map the toolbar items in the File Manager component.
     *
     * @default null
     */
    name: string;
}
//node_modules/@syncfusion/ej2-filemanager/src/file-manager/models/toolbar-settings-model.d.ts
/**
 * Interface for a class ToolbarSettings
 */
export interface ToolbarSettingsModel {
    /**
     * An array of string or object that is used to configure the toolbar items.
     *
     * @default defaultToolbarItems
     */
    items?: string[];
    /**
     * Enables or disables the toolbar rendering in the file manager component.
     *
     * @default true
     */
    visible?: boolean;
}
/**
 * Interface for a class ToolbarItem
 */
export interface ToolbarItemModel {
    /**
     * Specifies the unique ID to be used with button or input element of Toolbar items.
     *
     * @default ""
     */
    id?: string;
    /**
     * Specifies the text to be displayed on the Toolbar button.
     *
     * @default ""
     */
    text?: string;
    /**
     * Specifies the width of the Toolbar button commands.
     *
     * @default 'auto'
     */
    width?: number | string;
    /**
     * Defines single/multiple classes (separated by space) to be used for customization of commands.
     *
     * @default ""
     */
    cssClass?: string;
    /**
     * Defines the priority of items to display it in popup always.
     * It allows to maintain toolbar item on popup always but it does not work for toolbar priority items.
     *
     * @default false
     */
    showAlwaysInPopup?: boolean;
    /**
     * Specifies whether an item should be disabled or not.
     *
     * @default false
     */
    disabled?: boolean;
    /**
     * Defines single/multiple classes separated by space used to specify an icon for the button.
     * The icon will be positioned before the text content if text is available, otherwise the icon alone will be rendered.
     *
     * @default ""
     */
    prefixIcon?: string;
    /**
     * Defines single/multiple classes separated by space used to specify an icon for the button.
     * The icon will be positioned after the text content if text is available.
     *
     * @default ""
     */
    suffixIcon?: string;
    /**
     * Specifies whether an item should be hidden or not.
     *
     * @default true
     */
    visible?: boolean;
    /**
     * Specifies the Toolbar command display area when an element's content is too large to fit available space.
     * This is applicable only to `popup` mode. The possible values for this property as follows
     * * `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'
     * @aspDefaultValue Syncfusion.EJ2.Navigations.navigations.OverflowOption.None
     * @isEnumeration true
     * @aspType Syncfusion.EJ2.Navigations.navigations.OverflowOption
     */
    overflow?: navigations.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 ""
     * @angularType string | object
     * @reactType string | function | JSX.Element
     * @vueType string | function
     * @aspType string
     */
    template?: string | Object | Function;
    /**
     * 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'
     * @aspDefaultValue Syncfusion.EJ2.Navigations.navigations.ItemType.Button
     * @isEnumeration true
     * @aspType Syncfusion.EJ2.Navigations.navigations.ItemType
     */
    type?: navigations.ItemType;
    /**
     * Specifies where the button text will be displayed on *popup mode* of the Toolbar.
     * The possible values for this property as follows
     * * `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'
     * @aspDefaultValue Syncfusion.EJ2.Navigations.navigations.DisplayMode.Both
     * @isEnumeration true
     * @aspType Syncfusion.EJ2.Navigations.navigations.DisplayMode
     */
    showTextOn?: navigations.DisplayMode;
    /**
     * Defines htmlAttributes used to add custom attributes to Toolbar command.
     * Supports HTML attributes such as style, class, etc.
     *
     * @default null
     */
    htmlAttributes?: { [key: string]: string };
    /**
     * Specifies the text to be displayed on hovering the Toolbar button.
     *
     * @default ""
     */
    tooltipText?: string;
    /**
     * Specifies the location for aligning Toolbar items on the Toolbar. Each command will be aligned according to the `align` property.
     * The possible values for this property as follows
     * * `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.
     *
     * @default 'Left'
     * @aspDefaultValue Syncfusion.EJ2.Navigations.navigations.ItemAlign.Left
     * @isEnumeration true
     * @aspType Syncfusion.EJ2.Navigations.navigations.ItemAlign
     */
    align?: navigations.ItemAlign;
    /**
     * Specifies the tab order of the Toolbar items. When positive values assigned, it allows to switch focus to the next/previous toolbar items with Tab/ShiftTab keys.
     * By default, user can able to switch between items only via arrow keys.
     * If the value is set to 0 for all tool bar items, then tab switches based on element order.
     *
     * @default -1
     */
    tabIndex?: number;
    /**
     * Specifies the unique name for each toolbar item rendered in File Manager. This name is used to map the toolbar items in the File Manager component.
     *
     * @default null
     */
    name?: string;
}
//node_modules/@syncfusion/ej2-filemanager/src/file-manager/models/search-settings.d.ts
/**
 * Specifies the filter type for Search settings of the File Manager.
 * ```props
 * contains :- It will only show files and folders whose names contain the entered word.
 * startsWith :- It will only show files and folders whose names start with entered word.
 * endsWith :- It will only show files and folders whose names end with entered word.
 * ```
 */
export  type FilterType = 'contains' | 'startsWith' | 'endsWith';
/**
 * Specifies the Search settings of the File Manager.
 */
export  class SearchSettings extends base.ChildProperty<SearchSettings> {
    /**
     * Enables or disables the allowSearchOnTyping.
     *
     * @default true
     */
    allowSearchOnTyping: boolean;
    /**
     * Specifies the filter type while searching the content. The available filter types are:
     * * `contains`
     * * `startsWith`
     * * `endsWith`
     *
     * @default 'contains'
     */
    filterType: FilterType;
    /**
     * If ignoreCase is set to false, searches files that match exactly,
     * else searches files that are case insensitive(uppercase and lowercase letters treated the same).
     *
     * @default true
     */
    ignoreCase: boolean;
    /**
     * Specifies the placeholder value to the search input of the File Manager component.
     * It accepts string.
     *
     * @default null
     */
    placeholder: string;
}
//node_modules/@syncfusion/ej2-filemanager/src/file-manager/models/search-settings-model.d.ts
/**
 * Interface for a class SearchSettings
 */
export interface SearchSettingsModel {
    /**
     * Enables or disables the allowSearchOnTyping.
     *
     * @default true
     */
    allowSearchOnTyping?: boolean;
    /**
     * Specifies the filter type while searching the content. The available filter types are:
     * * `contains`
     * * `startsWith`
     * * `endsWith`
     *
     * @default 'contains'
     */
    filterType?: FilterType;
    /**
     * If ignoreCase is set to false, searches files that match exactly,
     * else searches files that are case insensitive(uppercase and lowercase letters treated the same).
     *
     * @default true
     */
    ignoreCase?: boolean;
    /**
     * Specifies the placeholder value to the search input of the File Manager component.
     * It accepts string.
     *
     * @default null
     */
    placeholder?: string;
}
//node_modules/@syncfusion/ej2-filemanager/src/file-manager/models/navigation-pane-settings.d.ts
/**
 * Specifies the navigationpane settings of the File Manager.
 */
export  class NavigationPaneSettings extends base.ChildProperty<NavigationPaneSettings> {
    /**
     * Specifies the maximum width of navigationpane.
     *
     * @default '650px'
     */
    maxWidth: string | number;
    /**
     * Specifies the minimum width of navigationpane.
     *
     * @default '240px'
     */
    minWidth: string | number;
    /**
     * Enables or disables the navigation pane.
     *
     * @default true
     */
    visible: boolean;
    /**
     * Specifies a value that indicates how to sort the folders in the navigation pane of the file manager component.
     *
     * If the sortOrder is Ascending, the folders are sorted in ascending order.
     * If the sortOrder is Descending, the folders are sorted in descending order.
     * If the sortOrder is None, the folders are not sorted.
     *
     * @default 'None'
     */
    sortOrder: 'None' | 'Ascending' | 'Descending';
}
//node_modules/@syncfusion/ej2-filemanager/src/file-manager/models/navigation-pane-settings-model.d.ts
/**
 * Interface for a class NavigationPaneSettings
 */
export interface NavigationPaneSettingsModel {
    /**
     * Specifies the maximum width of navigationpane.
     *
     * @default '650px'
     */
    maxWidth?: string | number;
    /**
     * Specifies the minimum width of navigationpane.
     *
     * @default '240px'
     */
    minWidth?: string | number;
    /**
     * Enables or disables the navigation pane.
     *
     * @default true
     */
    visible?: boolean;
    /**
     * Specifies a value that indicates how to sort the folders in the navigation pane of the file manager component.
     *
     * If the sortOrder is Ascending, the folders are sorted in ascending order.
     * If the sortOrder is Descending, the folders are sorted in descending order.
     * If the sortOrder is None, the folders are not sorted.
     *
     * @default 'None'
     */
    sortOrder?: 'None' | 'Ascending' | 'Descending';
}
//node_modules/@syncfusion/ej2-filemanager/src/file-manager/models/details-view-settings.d.ts
/**
 * Specifies the columns in the details view of the file manager.
 */
export  const columnArray: ColumnModel[];
/**
 * Specifies the grid settings of the File Manager.
 */
export  class DetailsViewSettings extends base.ChildProperty<DetailsViewSettings> {
    /**
     * If `columnResizing` is set to true, Grid columns can be resized.
     *
     * @default true
     */
    columnResizing: boolean;
    /**
     * Specifies the customizable details view.
     *
     * @default {
     * columns: [{
     * field: 'name', headerText: 'Name', minWidth: 120, customAttributes: { class: 'e-fe-grid-name' },
     * template: '\<span class="e-fe-text">${name}\</span>'},{field: 'size', headerText: 'Size',
     * minWidth: 50, width: '110', template: '\<span class="e-fe-size">${size}\</span>'},
     * { field: '_fm_modified', headerText: 'DateModified',
     * minWidth: 50, width: '190'}
     * ]
     * }
     */
    columns: ColumnModel[];
}
//node_modules/@syncfusion/ej2-filemanager/src/file-manager/models/details-view-settings-model.d.ts
/**
 * Interface for a class DetailsViewSettings
 */
export interface DetailsViewSettingsModel {
    /**
     * If `columnResizing` is set to true, Grid columns can be resized.
     *
     * @default true
     */
    columnResizing?: boolean;
    /**
     * Specifies the customizable details view.
     *
     * @default {
     * columns: [{
     * field: 'name', headerText: 'Name', minWidth: 120, customAttributes: { class: 'e-fe-grid-name' },
     * template: '\<span class="e-fe-text">${name}\</span>'},{field: 'size', headerText: 'Size',
     * minWidth: 50, width: '110', template: '\<span class="e-fe-size">${size}\</span>'},
     * { field: '_fm_modified', headerText: 'DateModified',
     * minWidth: 50, width: '190'}
     * ]
     * }
     */
    columns?: ColumnModel[];
}
//node_modules/@syncfusion/ej2-filemanager/src/file-manager/models/default-locale.d.ts
/**
 * Specifies the default locale of FileManager component
 */
export  const defaultLocale: Object;
//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/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/column.d.ts
/**
 * Defines alignments of text, they are
 * * Left
 * * Right
 * * Center
 * * Justify
 */
export  type TextAlign = 
/**  Defines Left alignment */
'Left' | 
/**  Defines Right alignment */
'Right' | 
/**  Defines Center alignment */
'Center' | 
/**  Defines Justify alignment */
'Justify';
/**
 * Defines the cell content's overflow mode. The available modes are
 * * `Clip` -  Truncates the cell content when it overflows its area.
 * * `Ellipsis` -  Displays ellipsis when the cell content overflows its area.
 * * `EllipsisWithTooltip` - Displays ellipsis when the cell content overflows its area
 * also it will display tooltip while hover on ellipsis applied cell.
 */
export  type ClipMode = 
/**  Truncates the cell content when it overflows its area */
'Clip' | 
/** Displays ellipsis when the cell content overflows its area */
'Ellipsis' | 
/** Displays ellipsis when the cell content overflows its area also it will display tooltip while hover on ellipsis applied cell. */
'EllipsisWithTooltip';
/**
 * Interface for a class Column
 */
export  class Column extends base.ChildProperty<Column> {
    /**
     * Defines the field name of column which is mapped with mapping name of DataSource.
     * The bounded columns can be sort, filter and group etc.,
     * The `field` name must be a valid JavaScript identifier,
     * the first character must be an alphabet and should not contain spaces and special characters.
     *
     * @default ''
     */
    field: string;
    /**
     * Defines the header text of column which is used to display in column header.
     * If `headerText` is not defined, then field name value will be assigned to header text.
     *
     * @default ''
     */
    headerText: string;
    /**
     * Defines the width of the column in pixels or percentage.
     *
     * @default ''
     */
    width: string | number;
    /**
     * Defines the minimum width of the column in pixels or percentage.
     *
     * @default ''
     */
    minWidth: string | number;
    /**
     * Defines the maximum width of the column in pixel or percentage, which will restrict resizing beyond this pixel or percentage.
     *
     * @default ''
     */
    maxWidth: string | number;
    /**
     * Defines the alignment of the column in both header and content cells.
     *
     * @default Left
     */
    textAlign: TextAlign;
    /**
     * Defines the cell content's overflow mode. The available modes are
     * * `Clip` -  Truncates the cell content when it overflows its area.
     * * `Ellipsis` -  Displays ellipsis when the cell content overflows its area.
     * * `EllipsisWithTooltip` - Displays ellipsis when the cell content overflows its area
     * also it will display tooltip while hover on ellipsis applied cell.
     *
     * @default Ellipsis
     */
    clipMode: ClipMode;
    /**
     * Define the alignment of column header which is used to align the text of column header.
     *
     * @default null
     */
    headerTextAlign: TextAlign;
    /**
     * Defines the data type of the column.
     *
     * @default null
     */
    type: string;
    /**
     * It is used to change display value with the given format and does not affect the original data.
     * Gets the format from the user which can be standard or custom
     * [`number`](../../common/internationalization/#manipulating-numbers)
     * and [`date`](../../common/internationalization/#manipulating-datetime) formats.
     *
     * @default null
     * @aspType string
     */
    format: string | base.NumberFormatOptions | base.DateFormatOptions;
    /**
     * Defines the column template that renders customized element in each cell of the column.
     * It accepts either [template string](https://ej2.syncfusion.com/documentation/common/template-engine/) or HTML element ID.
     *
     * @default null
     * @aspType string
     */
    template: string | Function;
    /**
     * Defines the custom sort comparer function.
     * The sort comparer function has the same functionality like
     * [`Array.sort`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort) sort comparer.
     *
     * @default null
     * @aspType string
     */
    sortComparer: SortComparer | string;
    /**
     * Defines the column template as string or HTML element ID which is used to add customized element in the column header.
     *
     * @default null
     * @aspType string
     */
    headerTemplate: string | Function;
    /**
     * If `allowSorting` set to false, then it disables sorting option of a particular column.
     * By default all columns are sortable.
     *
     * @default true
     */
    allowSorting: boolean;
    /**
     * If `allowResizing` set to false, it disables resize option of a particular column.
     *
     * @default true
     */
    allowResizing: boolean;
    /**
     * The CSS styles and attributes of the content cells of a particular column can be customized.
     *
     * @default null
     */
    customAttributes: {
        [x: string]: Object;
    };
    /**
     * Column visibility can change based on [`Media Queries`](http://cssmediaqueries.com/what-are-css-media-queries.html).
     * `hideAtMedia` accepts only valid Media Queries.
     *
     * @default ''
     */
    hideAtMedia: string;
    /**
     * It is used to change display value with the given format and does not affect the original data.
     * Gets the format from the user which can be standard or custom
     * [`number`](../../common/internationalization/#manipulating-numbers)
     * and [`date`](../../common/internationalization/#manipulating-datetime) formats.
     *
     * @default null
     */
    customFormat: {
        [x: string]: Object;
    };
    /**
     * If `isPrimaryKey` is set to true, considers this column as the primary key constraint.
     *
     * @deprecated
     * @default false
     */
    isPrimaryKey: boolean;
}
//node_modules/@syncfusion/ej2-filemanager/src/file-manager/models/column-model.d.ts
/**
 * Interface for a class Column
 */
export interface ColumnModel {
    /**
     * Defines the field name of column which is mapped with mapping name of DataSource.
     * The bounded columns can be sort, filter and group etc.,
     * The `field` name must be a valid JavaScript identifier,
     * the first character must be an alphabet and should not contain spaces and special characters.
     *
     * @default ''
     */
    field?: string;
    /**
     * Defines the header text of column which is used to display in column header.
     * If `headerText` is not defined, then field name value will be assigned to header text.
     *
     * @default ''
     */
    headerText?: string;
    /**
     * Defines the width of the column in pixels or percentage.
     *
     * @default ''
     */
    width?: string | number;
    /**
     * Defines the minimum width of the column in pixels or percentage.
     *
     * @default ''
     */
    minWidth?: string | number;
    /**
     * Defines the maximum width of the column in pixel or percentage, which will restrict resizing beyond this pixel or percentage.
     *
     * @default ''
     */
    maxWidth?: string | number;
    /**
     * Defines the alignment of the column in both header and content cells.
     *
     * @default Left
     */
    textAlign?: TextAlign;
    /**
     * Define the alignment of column header which is used to align the text of column header.
     *
     * @default null
     */
    headerTextAlign?: TextAlign;
    /**
     * Defines the data type of the column.
     *
     * @default null
     */
    type?: string;
    /**
     * It is used to change display value with the given format and does not affect the original data.
     * Gets the format from the user which can be standard or custom
     * [`number`](../../common/internationalization/#manipulating-numbers)
     * and [`date`](../../common/internationalization/#manipulating-datetime) formats.
     *
     * @default null
     * @aspType string
     */
    format?: string | base.NumberFormatOptions | base.DateFormatOptions;
    /**
     * Defines the column template that renders customized element in each cell of the column.
     * It accepts either [template string](https://ej2.syncfusion.com/documentation/common/template-engine/) or HTML element ID.
     *
     * @default null
     * @aspType string
     */
    template?: string | Function;
    /**
     * Defines the custom sort comparer function.
     * The sort comparer function has the same functionality like
     * [`Array.sort`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort) sort comparer.
     *
     * @default null
     * @aspType string
     */
    sortComparer?: SortComparer | string;
    /**
     * Defines the column template as string or HTML element ID which is used to add customized element in the column header.
     *
     * @default null
     * @aspType string
     */
    headerTemplate?: string | Function;
    /**
     * If `allowSorting` set to false, then it disables sorting option of a particular column.
     * By default all columns are sortable.
     *
     * @default true
     */
    allowSorting?: boolean;
    /**
     * If `allowResizing` set to false, it disables resize option of a particular column.
     *
     * @default true
     */
    allowResizing?: boolean;
    /**
     * The CSS styles and attributes of the content cells of a particular column can be customized.
     *
     * @default null
     */
    customAttributes?: { [x: string]: Object };
    /**
     * Column visibility can change based on [`Media Queries`](http://cssmediaqueries.com/what-are-css-media-queries.html).
     * `hideAtMedia` accepts only valid Media Queries.
     *
     * @default ''
     */
    hideAtMedia?: string;
    /**
     * It is used to change display value with the given format and does not affect the original data.
     * Gets the format from the user which can be standard or custom
     * [`number`](../../common/internationalization/#manipulating-numbers)
     * and [`date`](../../common/internationalization/#manipulating-datetime) formats.
     *
     * @default null
     */
    customFormat?: { [x: string]: Object };
    /**
     * If `isPrimaryKey` is set to true, considers this column as the primary key constraint.
     *
     * @deprecated
     * @default false
     */
    isPrimaryKey?: boolean;
}
//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/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/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;
    previousSelected: string[];
    private isDrag;
    private dragObj;
    private isPathDragged;
    private isRenameParent;
    private isRightClick;
    private isSameNodeClicked;
    private isNodeExpandCalled;
    private renameParent;
    private isNodeClickCalled;
    private restrictSelecting;
    /**
     * Constructor for the TreeView module
     *
     * @param {IFileManager} parent - specifies the parent element.
     * @hidden
     */
    constructor(parent?: IFileManager);
    private onInit;
    private addDragDrop;
    dragHelper(args: {
        element: HTMLElement;
        sender: MouseEvent & TouchEvent;
    }): HTMLElement;
    private getDragPath;
    private getDropPath;
    private onDrowNode;
    private addChild;
    private onNodeSelecting;
    openFileOnContextMenuClick(node: HTMLLIElement): void;
    private onNodeSelected;
    private onPathDrag;
    private onNodeExpand;
    private onNodeExpanded;
    private onNodeClicked;
    private onNodeEditing;
    private onPathChanged;
    private updateTree;
    private updateTreeNode;
    private removeChildNodes;
    private onOpenEnd;
    private onOpenInit;
    private onInitialEnd;
    private onFinalizeEnd;
    private onCreateEnd;
    private onSelectedData;
    private onDeleteInit;
    private onDeleteEnd;
    private onRefreshEnd;
    private onRenameInit;
    private onRenameEndParent;
    private onRenameEnd;
    private onPropertyChanged;
    private onDownLoadInit;
    private onSelectionChanged;
    private onClearPathInit;
    private onDragEnd;
    private getMoveNames;
    private onCutEnd;
    private selectResultNode;
    private onDropPath;
    private onpasteEnd;
    private checkDropPath;
    private onpasteInit;
    private oncutCopyInit;
    private addEventListener;
    private removeEventListener;
    private onDetailsInit;
    private onMenuItemData;
    private onDragging;
    private onDropInit;
    /**
     * For internal use only - Get the module name.
     *
     * @returns {string} - returns the module name.
     * @private
     */
    private getModuleName;
    destroy(): void;
    private wireEvents;
    private unWireEvents;
    private keyDown;
    private getTreeData;
    private updateRenameData;
    private updateItemData;
    private updateActionData;
    private doDownload;
}
//node_modules/@syncfusion/ej2-filemanager/src/file-manager/layout/large-icons-view.d.ts
/**
 * LargeIconsView module
 */
export  class LargeIconsView {
    private parent;
    element: HTMLElement;
    listObj: lists.ListBaseOptions;
    private keyboardModule;
    private keyboardDownModule;
    private keyConfigs;
    private isInteraction;
    itemList: HTMLElement[];
    items: Object[];
    allItems: Object[];
    private clickObj;
    private perRow;
    private startItem;
    private multiSelect;
    listElements: HTMLElement;
    uploadOperation: boolean;
    private count;
    private isRendered;
    private tapCount;
    private isSelectAllCalled;
    private tapEvent;
    private isPasteOperation;
    private dragObj;
    private isInteracted;
    /**
     * Constructor for the LargeIcons module.
     *
     * @param {IFileManager} parent - specifies the parent element.
     * @hidden
     */
    constructor(parent?: IFileManager);
    private render;
    private comparer;
    private preventImgDrag;
    private createDragObj;
    dragHelper(args: {
        element: HTMLElement;
        sender: MouseEvent & TouchEvent;
    }): HTMLElement;
    private onDropInit;
    /**
     * For internal use only - Get the module name.
     *
     * @returns {string} - returns the module name.
     * @private
     */
    private getModuleName;
    private onItemCreated;
    private renderCheckbox;
    private onLayoutChange;
    private checkItem;
    private renderList;
    private onFinalizeEnd;
    private onCreateEnd;
    private onSelectedData;
    private onDeleteInit;
    private onDeleteEnd;
    private onRefreshEnd;
    private onRenameInit;
    private onPathChanged;
    private onOpenInit;
    private onHideLayout;
    private onSelectAllInit;
    private onClearAllInit;
    private onBeforeRequest;
    private onAfterRequest;
    private onSearch;
    private onLayoutRefresh;
    private onUpdateSelectionData;
    private onPathColumn;
    private removeEventListener;
    private addEventListener;
    private onActionFailure;
    private onMenuItemData;
    private onDetailsInit;
    private onpasteInit;
    private oncutCopyInit;
    private onpasteEnd;
    private onDropPath;
    private onPropertyChanged;
    destroy(): void;
    private wireEvents;
    private unWireEvents;
    private onMouseOver;
    private wireClickEvent;
    private doTapAction;
    private clickHandler;
    /**
     *
     * @param {Element} target - specifies the target element.
     * @param {base.TouchEventArgs | base.MouseEventArgs | base.KeyboardEventArgs} e - specifies event arguements.
     * @returns {void}
     * @hidden
     */
    doSelection(target: Element, e: base.TouchEventArgs | base.MouseEventArgs | base.KeyboardEventArgs): void;
    private dblClickHandler;
    private clearSelection;
    private resetMultiSelect;
    private doOpenAction;
    private updateType;
    private keydownActionHandler;
    private keyActionHandler;
    private doDownload;
    private performDelete;
    private performRename;
    private updateRenameData;
    private getVisitedItem;
    private getFocusedItem;
    private getActiveItem;
    private getFirstItem;
    private getLastItem;
    private navigateItem;
    private navigateDown;
    private navigateRight;
    private getNextItem;
    private setFocus;
    private spaceKey;
    private ctrlAKey;
    private csEndKey;
    private csHomeKey;
    private csDownKey;
    private csLeftKey;
    private csRightKey;
    private csUpKey;
    private addActive;
    private removeActive;
    private getDataName;
    private addFocus;
    private checkState;
    private clearSelect;
    private resizeHandler;
    private splitterResizeHandler;
    private getItemCount;
    private triggerSelection;
    private triggerSelect;
    private selectItems;
    private getIndexes;
    private getItemObject;
    private addSelection;
    private updateSelectedData;
    private onMethodCall;
    private getItemsIndex;
    private deleteFiles;
    private downloadFiles;
    private openFile;
    private renameFile;
}
//node_modules/@syncfusion/ej2-filemanager/src/file-manager/layout/details-view.d.ts
/**
 * DetailsView module
 */
export  class DetailsView {
    element: HTMLElement;
    private parent;
    private keyboardModule;
    private keyboardDownModule;
    private keyConfigs;
    private sortItem;
    private isInteracted;
    private interaction;
    private isPasteOperation;
    private isColumnRefresh;
    private clickObj;
    private sortSelectedNodes;
    private emptyArgs;
    private dragObj;
    private startIndex;
    private firstItemIndex;
    private isSelectionUpdate;
    private currentSelectedItem;
    private count;
    private isRendered;
    private isLoaded;
    private isNameWidth;
    private isMultiSelect;
    gridObj: grids.Grid;
    pasteOperation: boolean;
    uploadOperation: boolean;
    /**
     * Constructor for the GridView module
     *
     * @param {FileManager} parent - specifies the parent.
     * @hidden
     */
    constructor(parent?: FileManager);
    private render;
    private reactTemplateRender;
    /**
     * Gets the grid height.
     *
     * @returns {number} - The grid height.
     * @private
     */
    private getGridHeight;
    private checkNameWidth;
    private adjustWidth;
    private getColumns;
    private adjustHeight;
    private renderCheckBox;
    private onRowDataBound;
    private onActionBegin;
    private onHeaderCellInfo;
    private onBeforeDataBound;
    private onDataBound;
    private selectRecords;
    private addSelection;
    private onSortColumn;
    private onPropertyChanged;
    private onPathChanged;
    private updatePathColumn;
    private checkEmptyDiv;
    private onOpenInit;
    DblClickEvents(args: grids.RecordDoubleClickEventArgs): void;
    openContent(data: Object): void;
    private onLayoutChange;
    private onSearchFiles;
    private removePathColumn;
    private onFinalizeEnd;
    private onCreateEnd;
    private onRenameInit;
    private onSelectedData;
    private onDeleteInit;
    private onDeleteEnd;
    private onRefreshEnd;
    private onHideLayout;
    private onSelectAllInit;
    private onClearAllInit;
    private onSelectionChanged;
    private onLayoutRefresh;
    private onBeforeRequest;
    private onAfterRequest;
    private onUpdateSelectionData;
    private addEventListener;
    private removeEventListener;
    private onActionFailure;
    private onMenuItemData;
    private onPasteInit;
    private onDetailsInit;
    dragHelper(args: {
        element: HTMLElement;
        sender: MouseEvent & TouchEvent;
    }): HTMLElement;
    private onDetailsResize;
    private onDetailsResizeHandler;
    private createDragObj;
    private onDropInit;
    private oncutCopyInit;
    private onpasteEnd;
    private onDropPath;
    /**
     * For internal use only - Get the module name.
     *
     * @returns {string} - returns modules name.
     * @private
     */
    private getModuleName;
    destroy(): void;
    private updateType;
    private onSelection;
    private onSelected;
    private onPathColumn;
    private selectedRecords;
    private onDeSelection;
    private triggerSelect;
    private wireEvents;
    private unWireEvents;
    private wireClickEvent;
    private removeSelection;
    private removeFocus;
    private onBlur;
    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 addHeaderFocus;
    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/common/utility.d.ts
/**
 * Utility function to compare two strings in a way similar to Windows Explorer.
 * Files and folders are sorted separately, with folders coming before files.
 *
 * @param {string} reference - The first string to compare. This could be a file or folder name.
 * @param {string} comparer - The second string to compare. This could be a file or folder name.
 * @returns {number} - A negative number if `reference` should come before `comparer`, a positive number if `comparer` should come before `reference`, and 0 if they are considered equal.
 */
export  function sortComparer(reference: string, comparer: string): number;
/**
 * Utility file for common actions
 *
 * @param {HTMLLIElement} node - specifies the node.
 * @param {Object} data - specifies the data.
 * @param {IFileManager} instance - specifies the control instance.
 * @returns {void}
 * @private
 */
export  function updatePath(node: HTMLLIElement, data: Object, instance: IFileManager): void;
/**
 * Functions for get path in FileManager
 *
 * @param {Element | Node} element - specifies the element.
 * @param {string} text - specifies the text.
 * @param {boolean} hasId - specifies the id.
 * @returns {string} returns the path.
 * @private
 */
export  function getPath(element: Element | Node, text: string, hasId: boolean): string;
/**
 * Functions for get path id in FileManager
 *
 * @param {Element} node - specifies the node element.
 * @returns {string[]} returns the path ids.
 * @private
 */
export  function getPathId(node: Element): string[];
/**
 * Functions for get path names in FileManager
 *
 * @param {Element} element - specifies the node element.
 * @param {string} text - specifies the text.
 * @returns {string[]} returns the path names.
 * @private
 */
export  function getPathNames(element: Element, text: string): string[];
/**
 * Functions for get path id in FileManager
 *
 * @param {Element} element - specifies the node element.
 * @param {string} text - specifies the text.
 * @param {boolean} isId - specifies the id.
 * @param {boolean} hasId - checks the id exists.
 * @returns {string[]} returns parent element.
 * @private
 */
export  function getParents(element: Element, text: string, isId: boolean, hasId?: boolean): string[];
/**
 * Functions for generate path
 *
 * @param {IFileManager} parent - specifies the parent element.
 * @returns {void}
 * @private
 */
export  function generatePath(parent: IFileManager): void;
/**
 * Functions for remove active element
 *
 * @param {IFileManager} parent - specifies the parent element.
 * @returns {void}
 * @private
 */
export  function removeActive(parent: IFileManager): void;
/**
 * Selects active element in File Manager
 *
 * @param {string} action - specifies the action.
 * @param {IFileManager} parent - specifies the parent element.
 * @returns {boolean} - returns active element.
 * @private
 */
export  function activeElement(action: string, parent: IFileManager): boolean;
/**
 * Adds blur to the elements
 *
 * @param {Element} nodes - specifies the nodes.
 * @returns {void}
 * @private
 */
export  function addBlur(nodes: Element): void;
/**
 * Removes blur from elements
 *
 * @param {IFileManager} parent - specifies the parent element.
 * @param {string} hover - specifies the hover string.
 * @returns {void}
 * @private
 */
export  function removeBlur(parent?: IFileManager, hover?: string): void;
/**
 * Gets module name
 *
 * @param {IFileManager} parent - specifies the parent element.
 * @param {Element} element - specifies the element.
 * @returns {void}
 * @private
 */
export  function getModule(parent: IFileManager, element: Element): void;
/**
 * Get all child items
 *
 * @param {IFileManager} parent - specifies the parent element.
 * @param {string | number} parentId - specifies the parent ID.
 * @returns {Object[]} An array of child items
 * @private
 */
export  function getAllChildItems(parent: IFileManager, parentId: number | string): {
    [key: string]: Object;
}[];
/**
 * Gets module name
 *
 * @param {IFileManager} parent - specifies the parent element.
 * @param {string} value - specifies the value.
 * @param {boolean} isLayoutChange - specifies the layout change.
 * @returns {void}
 * @private
 */
export  function searchWordHandler(parent: IFileManager, value: string, isLayoutChange: boolean): void;
/**
 * Gets updated layout
 *
 * @param {IFileManager} parent - specifies the parent element.
 * @param {string} view - specifies the view.
 * @returns {void}
 * @private
 */
export  function updateLayout(parent: IFileManager, view: string): void;
/**
 * Gets updated layout
 *
 * @param {IFileManager} parent - specifies the parent element.
 * @param {Element} element - specifies the element.
 * @returns {void}
 * @private
 */
export  function getTargetModule(parent: IFileManager, element: Element): void;
/**
 * refresh the layout
 *
 * @param {IFileManager} parent - specifies the parent element.
 * @returns {void}
 * @private
 */
export  function refresh(parent: IFileManager): void;
/**
 * open action in the layout
 *
 * @param {IFileManager} parent - specifies the parent element.
 * @returns {void}
 * @private
 */
export  function openAction(parent: IFileManager): void;
/**
 * open action in the layout
 *
 * @param {IFileManager} parent - specifies the parent element.
 * @returns {Object} - returns the path data.
 * @private
 */
export  function getPathObject(parent: IFileManager): Object;
/**
 * Copy files
 *
 * @param {IFileManager} parent - specifies the parent element.
 * @returns {void}
 * @private
 */
export  function copyFiles(parent: IFileManager): void;
/**
 * Cut files
 *
 * @param {IFileManager} parent - specifies the parent element.
 * @returns {void}
 * @private
 */
export  function cutFiles(parent: IFileManager): void;
/**
 * To add class for fileType
 *
 * @param {Object} file - specifies the file.
 * @returns {string} - returns the file type.
 * @private
 */
export  function fileType(file: Object): string;
/**
 * To get the image URL
 *
 * @param {IFileManager} parent - specifies the parent element.
 * @param {Object} item - specifies the item.
 * @returns {string} - returns the image url.
 * @private
 */
export  function getImageUrl(parent: IFileManager, item: Object): string;
/**
 * Gets the full path
 *
 * @param {IFileManager} parent - specifies the parent element.
 * @param {Object} data - specifies the data.
 * @param {string} path - specifies the path.
 * @returns {string} - returns the image url.
 * @private
 */
export  function getFullPath(parent: IFileManager, data: Object, path: string): string;
/**
 * Gets the name
 *
 * @param {IFileManager} parent - specifies the parent element.
 * @param {Object} data - specifies the data.
 * @returns {string} - returns the name.
 * @private
 */
export  function getName(parent: IFileManager, data: Object): string;
/**
 * Gets the name
 *
 * @param {IFileManager} parent - specifies the parent element.
 * @param {Object[]} items - specifies the item elements.
 * @returns {Object[]} - returns the sorted data.
 * @private
 */
export  function getSortedData(parent: IFileManager, items: Object[]): Object[];
/**
 * Gets the data object
 *
 * @param {IFileManager} parent - specifies the parent element.
 * @param {string} key - specifies the key.
 * @param {string} value - specifies the value.
 * @returns {Object} - returns the sorted data.
 * @private
 */
export  function getObject(parent: IFileManager, key: string, value: string): Object;
/**
 * Creates empty element
 *
 * @param {IFileManager} parent - specifies the parent element.
 * @param {HTMLElement} element - specifies the element.
 * @param {ReadArgs | SearchArgs} args - specifies the args.
 * @returns {void}
 * @private
 */
export  function createEmptyElement(parent: IFileManager, element: HTMLElement, args: ReadArgs | SearchArgs): void;
/**
 * Gets the directories
 *
 * @param {Object[]} files - specifies the file object.
 * @returns {Object[]} - returns the sorted data.
 * @private
 */
export  function getDirectories(files: Object[]): Object[];
/**
 * set the Node ID
 *
 * @param {ReadArgs} result - specifies the result.
 * @param {string} rootId - specifies the rootId.
 * @returns {void}
 * @private
 */
export  function setNodeId(result: ReadArgs, rootId: string): void;
/**
 * set the date object
 *
 * @param {Object[]} args - specifies the file object.
 * @returns {void}
 * @private
 */
export  function setDateObject(args: Object[]): void;
/**
 * get the locale text
 *
 * @param {IFileManager} parent - specifies the parent element.
 * @param {string} text - specifies the text.
 * @returns {string} - returns the locale text.
 * @private
 */
export  function getLocaleText(parent: IFileManager, text: string): string;
/**
 * get the CSS class
 *
 * @param {IFileManager} parent - specifies the parent element.
 * @param {string} css - specifies the css.
 * @returns {string} - returns the css classes.
 * @private
 */
export  function getCssClass(parent: IFileManager, css: string): string;
/**
 * sort on click
 *
 * @param {IFileManager} parent - specifies the parent element.
 * @param {navigations.MenuEventArgs} args - specifies the menu event arguements.
 * @returns {void}
 * @private
 */
export  function sortbyClickHandler(parent: IFileManager, args: navigations.MenuEventArgs): void;
/**
 * Gets the sorted fields
 *
 * @param {string} id - specifies the id.
 * @param {IFileManager} [parent] - optional parameter representing the parent IFileManager.
 * @returns {string} - returns the sorted fields
 * @private
 */
export  function getSortField(id: string, parent?: IFileManager): string;
/**
 * Sets the next path
 *
 * @param {IFileManager} parent - specifies the parent element.
 * @param {string} path - specifies the path.
 * @returns {void}
 * @private
 */
export  function setNextPath(parent: IFileManager, path: string): void;
/**
 * Opens the searched folder
 *
 * @param {IFileManager} parent - specifies the parent element.
 * @param {Object} data - specifies the data
 * @returns {void}
 * @private
 */
export  function openSearchFolder(parent: IFileManager, data: Object): void;
/**
 * Paste handling function
 *
 * @param {IFileManager} parent - specifies the parent element.
 * @returns {void}
 * @private
 */
export  function pasteHandler(parent: IFileManager): void;
/**
 * Validates the sub folders
 *
 * @param {IFileManager} parent - specifies the parent element.
 * @param {'{ [key: string]: Object;
 }[]'} data - specifies the data.
 * @param {string} dropPath - specifies the drop path.
 * @param {string} dragPath - specifies the drag path.
 * @returns {boolean} - returns the validated sub folder.
 * @private
 */
export  function validateSubFolder(parent: IFileManager, data: {
    [key: string]: Object;
}[], dropPath: string, dragPath: string): boolean;
/**
 * Validates the drop handler
 *
 * @param {IFileManager} parent - specifies the parent element.
 * @returns {void}
 * @private
 */
export  function dropHandler(parent: IFileManager): void;
/**
 * Gets the parent path
 *
 * @param {string} oldPath - specifies the old path.
 * @returns {string} - returns the parent path.
 * @private
 */
export  function getParentPath(oldPath: string): string;
/**
 * Gets the directory path
 *
 * @param {IFileManager} parent - specifies the parent.
 * @param {ReadArgs} args - returns the read arguements.
 * @returns {string} - returns the directory path
 * @private
 */
export  function getDirectoryPath(parent: IFileManager, args: ReadArgs): string;
/**
 * Gets the do paste path
 *
 * @param {IFileManager} parent - specifies the parent.
 * @param {string} operation - specifies the operations.
 * @param {ReadArgs} result - returns the result.
 * @returns {void}
 * @private
 */
export  function doPasteUpdate(parent: IFileManager, operation: string, result: ReadArgs): void;
/**
 * Reads the drop path
 *
 * @param {IFileManager} parent - specifies the parent.
 * @returns {void}
 * @private
 */
export  function readDropPath(parent: IFileManager): void;
/**
 * Gets the duplicated path
 *
 * @param {IFileManager} parent - specifies the parent.
 * @param {string} name - specifies the name.
 * @returns {object} - returns the duplicated path.
 * @private
 */
export  function getDuplicateData(parent: IFileManager, name: string): object;
/**
 * Gets the create the virtual drag element
 *
 * @param {IFileManager} parent - specifies the parent.
 * @returns {void}
 * @private
 */
export  function createVirtualDragElement(parent: IFileManager): void;
/**
 * Drops the stop handler
 *
 * @param {IFileManager} parent - specifies the parent.
 * @param {base.DragEventArgs} args - specifies the drag event arguements.
 * @returns {void}
 * @private
 */
export  function dragStopHandler(parent: IFileManager, args: base.DragEventArgs): void;
/**
 * Drag the start handler
 *
 * @param {IFileManager} parent - specifies the parent.
 * @param {'base.DragEventArgs'} args - specifies the drag event arguements.
 * @param {base.Draggable} dragObj - specifies the drag event arguements.
 * @returns {void}
 * @private
 */
export  function dragStartHandler(parent: IFileManager, args: base.DragEventArgs, dragObj: base.Draggable): void;
/**
 * Drag the cancel handler
 *
 * @param {IFileManager} parent - specifies the parent.
 * @returns {void}
 * @private
 */
export  function dragCancel(parent: IFileManager): void;
/**
 * Remove drop target handler
 *
 * @param {IFileManager} parent - specifies the parent.
 * @returns {void}
 * @private
 */
export  function removeDropTarget(parent: IFileManager): void;
/**
 * Remove item class handler
 *
 * @param {IFileManager} parent - specifies the parent.
 * @param {string} value - specifies the value.
 * @returns {void}
 * @private
 */
export  function removeItemClass(parent: IFileManager, value: string): void;
/**
 * Remove item class handler
 *
 * @param {Element} scrollParent - specifies the scrolling target.
 * @param {IFileManager} parent - specifies the parent.
 * @param {string} nodeClass - specifies the node class.
 * @param {number} clientY - specifies the vertical (Y) coordinate of the mouse cursor position relative to the target element.
 * @returns {void}
 * @private
 */
export  function scrollHandler(scrollParent: Element, parent: IFileManager, nodeClass: string, clientY: number): void;
/**
 * Dragging handler
 *
 * @param {IFileManager} parent - specifies the parent.
 * @param {base.DragEventArgs} args - specifies the arguements.
 * @returns {void}
 * @private
 */
export  function draggingHandler(parent: IFileManager, args: base.DragEventArgs): void;
/**
 * Object to string handler
 *
 * @param {Object} data - specifies the data.
 * @returns {string} returns string converted from Object.
 * @private
 */
export  function objectToString(data: Object): string;
/**
 * Get item name handler
 *
 * @param {IFileManager} parent - specifies the parent.
 * @param {Object} data - specifies the data.
 * @returns {string} returns the item name.
 * @private
 */
export  function getItemName(parent: IFileManager, data: Object): string;
/**
 * Get item name handler
 *
 * @param {IFileManager} parent - specifies the parent.
 * @param {Object} data - specifies the data.
 * @returns {void}
 * @private
 */
export  function updateRenamingData(parent: IFileManager, data: Object): void;
/**
 * Get item name handler
 *
 * @param {IFileManager} parent - specifies the parent.
 * @returns {void}
 * @private
 */
export  function doRename(parent: IFileManager): void;
/**
 * Download handler
 *
 * @param {IFileManager} parent - specifies the parent.
 * @returns {void}
 * @private
 */
export  function doDownload(parent: IFileManager): void;
/**
 * Delete Files handler
 *
 * @param {IFileManager} parent - specifies the parent.
 * @param {Object[]} data - specifies the data.
 * @param {string[]} newIds - specifies the new Ids.
 * @returns {void}
 * @private
 */
export  function doDeleteFiles(parent: IFileManager, data: Object[], newIds: string[]): void;
/**
 * Download files handler
 *
 * @param {IFileManager} parent - specifies the parent.
 * @param {Object[]} data - specifies the data.
 * @param {string[]} newIds - specifies the new Ids.
 * @returns {void}
 * @private
 */
export  function doDownloadFiles(parent: IFileManager, data: Object[], newIds: string[]): void;
/**
 * Download files handler
 *
 * @param {IFileManager} parent - specifies the parent.
 * @param {Object} data - specifies the data.
 * @param {string} action - specifies the actions.
 * @returns {void}
 * @private
 */
export  function createDeniedDialog(parent: IFileManager, data: Object, action: string): void;
/**
 * Get Access Classes
 *
 * @param {Object} data - specifies the data.
 * @returns {string} - returns accesses classes.
 * @private
 */
export  function getAccessClass(data: Object): string;
/**
 * Check read access handler
 *
 * @param {Object} data - specifies the data.
 * @returns {boolean} - returns read access.
 * @private
 */
export  function hasReadAccess(data: Object): boolean;
/**
 * Check edit access handler
 *
 * @param {Object} data - specifies the data.
 * @returns {boolean} - returns edit access.
 * @private
 */
export  function hasEditAccess(data: Object): boolean;
/**
 * Check content access handler
 *
 * @param {Object} data - specifies the data.
 * @returns {boolean} - returns content access.
 * @private
 */
export  function hasContentAccess(data: Object): boolean;
/**
 * Check upload access handler
 *
 * @param {Object} data - specifies the data.
 * @returns {boolean} - returns upload access.
 * @private
 */
export  function hasUploadAccess(data: Object): boolean;
/**
 * Check download access handler
 *
 * @param {Object} data - specifies the data.
 * @returns {boolean} - returns download access.
 * @private
 */
export  function hasDownloadAccess(data: Object): boolean;
/**
 * Create new folder handler
 *
 * @param {IFileManager} parent - specifies the parent.
 * @returns {void}
 * @private
 */
export  function createNewFolder(parent: IFileManager): void;
/**
 * Upload item handler
 *
 * @param {IFileManager} parent - specifies the parent.
 * @returns {void}
 * @private
 */
export  function uploadItem(parent: IFileManager): void;
/**
 * Close dialog popup handler
 *
 * @param {IFileManager} parent - specifies the parent.
 * @returns {void}
 * @private
 */
export  function closePopup(parent: IFileManager): void;
/**
 * Get target path from item data.
 *
 * @param {IFileManager} parent - specifies the parent.
 * @param {Object} itemData - specifies the item elements.
 * @returns {string} returns the path.
 * @private
 */
export  function getTargetPath(parent: IFileManager, itemData: Object): string;
/**
 * Access control handler
 *
 * @param {IFileManager} parent - specifies the parent.
 * @param {Object[]} itemData - specifies the item elements.
 * @param {string} action - specifies the action.
 * @param {boolean} isPathPermision - specifies the path permission.
 * @returns {string} returns the path.
 * @private
 */
export  function getAccessDetails(parent: IFileManager, itemData: Object[], action: string, isPathPermision: boolean): string;
//node_modules/@syncfusion/ej2-filemanager/src/file-manager/common/operations.d.ts
/**
 * Function to read the content from given path in File Manager.
 *
 * @param {IFileManager} parent - specifies the parent element.
 * @param {string} event - specifies the event.
 * @param {string} path - specifies the path.
 * @returns {void}
 * @private
 */
export  function read(parent: IFileManager, event: string, path: string): void;
/**
 * Function to create new folder in File Manager.
 *
 * @param {IFileManager} parent - specifies the parent element.
 * @param {string} itemName - specifies the item name.
 * @returns {void}
 * @private
 */
export  function createFolder(parent: IFileManager, itemName: string): void;
/**
 * Function to filter the files in File Manager.
 *
 * @param {IFileManager} parent - specifies the parent element.
 * @param {string}  event - specifies the event.
 * @returns {void}
 * @private
 */
export  function filter(parent: IFileManager, event: string): void;
/**
 * Function to rename the folder/file in File Manager.
 *
 * @param {IFileManager} parent - specifies the parent element.
 * @param {string} path - specifies the path.
 * @param {string} itemNewName - specifies the item's new name.
 * @returns {void}
 * @private
 */
export  function rename(parent: IFileManager, path: string, itemNewName: string): void;
/**
 * Function to paste file's and folder's in File Manager.
 *
 * @param {IFileManager} parent - specifies the parent element.
 * @param {string} path - specifies the path.
 * @param {string[]} names - specifies the names.
 * @param {string} targetPath - specifies the target path.
 * @param {string} pasteOperation - specifies the paste operation.
 * @param {string[]} renameItems - specifies the rename items.
 * @param {Object[]} actionRecords - specifies the action records.
 * @returns {void}
 * @private
 */
export  function paste(parent: IFileManager, path: string, names: string[], targetPath: string, pasteOperation: string, renameItems?: string[], actionRecords?: Object[]): void;
/**
 * Function to delete file's and folder's in File Manager.
 *
 * @param {IFileManager} parent - specifies the parent element.
 * @param {string[]} items - specifies the items.
 * @param {string} path - specifies the path.
 * @param {string} operation - specifies the operation.
 * @returns {void}
 * @private
 */
export  function Delete(parent: IFileManager, items: string[], path: string, operation: string): void;
/**
 * Function to get details of file's and folder's in File Manager.
 *
 * @param {IFileManager} parent - specifies the parent element.
 * @param {string[]} names - specifies the names.
 * @param {string} path - specifies the path.
 * @param {string} operation - specifies the operation data.
 * @returns {void}
 * @private
 */
export  function GetDetails(parent: IFileManager, names: string[], path: string, operation: string): void;
/**
 * Checks whether fileSystemData is enabled.
 *
 * @param {IFileManager} parent - specifies the parent element.
 * @returns {boolean} - returns the boolean value.
 */
export  function isFileSystemData(parent: IFileManager): boolean;
/**
 * Function for search in File Manager.
 *
 * @param {IFileManager} parent - specifies the parent element.
 * @param {string} event - specifies the event.
 * @param {string} path - specifies the path.
 * @param {string} searchString - specifies the search string.
 * @param {boolean} showHiddenItems - specifies the hidden items.
 * @param {boolean} caseSensitive - specifies the casing of search text.
 * @returns {void}
 * @private
 */
export  function Search(parent: IFileManager, event: string, path: string, searchString: string, showHiddenItems?: boolean, caseSensitive?: boolean): void;
/**
 * Function for download in File Manager.
 *
 * @param {IFileManager} parent - specifies the parent element.
 * @param {string} path - specifies the path.
 * @param {string[]} items - specifies the items.
 * @returns {void}
 * @private
 */
export  function Download(parent: IFileManager, path: string, items: string[]): void;
//node_modules/@syncfusion/ej2-filemanager/src/file-manager/base/interface.d.ts
/**
 * ValueType is a type that can be a number, string, Date, or boolean.
 */
export  type ValueType = number | string | Date | boolean;
/**
 * SortComparer is a function type that takes two ValueType arguments and returns a number.
 * The function is used for comparing two values for sorting purposes.
 */
export  type SortComparer = (x: ValueType, y: ValueType) => number;
/**
 * Defines the view type of the FileManager.
 * ```props
 * LargeIcons :- Displays the files and folders as large icons.
 * Details :- Displays the files and folders in a list format.
 * ```
 */
export  type ViewType = 'LargeIcons' | 'Details';
/**
 * Defines the files sorting order in FileManager.
 * ```props
 * Ascending :- Indicates that the folders and files are sorted in the descending order.
 * Descending :- Indicates that the folders and files are sorted in the ascending order.
 * None :- Indicates that the folders and files are not sorted.
 * ```
 */
export  type SortOrder = 'Ascending' | 'Descending' | 'None';
/**
 * Defines the Toolbar items of the FileManager.
 * ```props
 * NewFolder :- Allows you to quickly create a new folder.
 * Upload :- Allows you to quickly and easily upload files from your local computer.
 * Cut :- Allows you to remove a file or folder from its current location and move it to a different location.
 * Copy :- Allows you to create a duplicate of a file or folder and place it in a different location.
 * Paste :- Allows you to place a previously cut or copied file or folder in a new location.
 * Delete :- Allows you to remove a file or folder permanently.
 * Download :- Allows you to quickly and easily download files to your local computer.
 * Rename :- Allows you to change the name of a file or folder.
 * SortBy :- Allows you to sort files and folder by different criteria such as name, date, size, etc.
 * Refresh :- Allows you to refresh the current folder's content, showing the changes made on the folder.
 * Selection :- Allows you to select one or more files or folders.
 * View :- Allows you to change the way files and folders are displayed.
 * Details :- Allows you to see additional information about the files and folders, such as the size and date modified.
 * ```
 */
export  type ToolBarItems = 'NewFolder' | 'Upload' | 'Cut' | 'Copy' | 'Paste' | 'Delete' | 'Download' | 'Rename' | 'SortBy' | 'Refresh' | 'Selection' | 'View' | 'Details';
/**
 * ```props
 * NewFolder :- Allows you to quickly create a new folder
 * Upload :- Allows you to quickly and easily upload files from your local computer.
 * Cut :- Allows you to remove a file or folder from its current location and move it to a different location.
 * Copy :- Allows you to create a duplicate of a file or folder and place it in a different location.
 * Paste :- Allows you to place a previously cut or copied file or folder in a new location.
 * Delete :- Allows you to remove a file or folder permanently.
 * Download :- Allows you to quickly and easily download files to your local computer.
 * Rename :- Allows you to change the name of a file or folder.
 * SortBy :- Allows you to sort files and folder by different criteria such as name, date, size, etc.
 * Refresh :- Allows you to refresh the current folder's content, showing the changes made on the folder.
 * SelectAll :- Allows you to select all the files and folders in the current folder.
 * View :- Allows you to change the way files and folders are displayed.
 * Details :- Allows you to see additional information about the files and folders, such as the size and date modified.
 * Open :- Allows you to open the selected file or folder.
 * ```
 */
export  type MenuItems = 'NewFolder' | 'Upload' | 'Cut' | 'Copy' | 'Paste' | 'Delete' | 'Download' | 'Rename' | 'SortBy' | 'Refresh' | 'SelectAll' | 'View' | 'Details' | 'Open';
/**
 * Interfaces for File Manager Toolbar items.
 */
export interface IToolBarItems {
    template?: string;
    tooltipText?: string;
}
/** @hidden */
export interface NotifyArgs {
    module?: string;
    newProp?: FileManagerModel;
    oldProp?: FileManagerModel;
    target?: Element;
    selectedNode?: string;
}
/** @hidden */
export interface ReadArgs {
    cwd?: {
        [key: string]: Object;
    };
    files?: {
        [key: string]: Object;
    }[];
    error?: ErrorArgs;
    details?: Object;
    id?: string;
}
/** @hidden */
export interface MouseArgs {
    target?: Element;
}
/** @hidden */
export interface UploadArgs {
    files?: {
        [key: string]: Object;
    }[];
    error?: Object[];
    details?: Object;
}
/** @hidden */
export interface RetryArgs {
    action: string;
    file: FileInfo;
}
/** @hidden */
export interface ErrorArgs {
    code?: string;
    message?: string;
    fileExists?: string[];
}
/** @hidden */
export interface DialogOptions {
    dialogName?: string;
    header?: string;
    content?: string;
    buttons?: popups.ButtonPropsModel[];
    open?: base.EmitType<Object>;
    close?: base.EmitType<Object>;
}
/** @hidden */
export interface SearchArgs {
    files?: {
        [key: string]: Object;
    }[];
    error?: Object[];
    details?: Object;
}
/**
 * Interfaces for File details.
 */
export interface FileDetails {
    created?: string;
    isFile: boolean;
    location: string;
    modified: string;
    name: string;
    size: number;
    icon: string;
    multipleFiles: boolean;
    permission: Object;
}
/**
 * Interfaces for permission.
 */
export interface Permission {
    /**
     * Specifies the access permission to read a file or folder.
     */
    read?: boolean;
    /**
     * Specifies the access permission to write a file or folder.
     */
    write?: boolean;
    /**
     * Specifies the access permission to download a file or folder.
     */
    download: boolean;
    /**
     * Specifies the access permission to write the content of folder.
     */
    writeContents?: boolean;
    /**
     * Specifies the access permission to upload a file or folder.
     */
    upload?: boolean;
    /**
     * Specifies the access permission message.
     */
    message?: string;
    /**
     * Specifies the access permission to copy a file or folder.
     */
    copy?: boolean;
}
/**
 * Interfaces for fileSystemData.
 */
export interface FileData {
    /**
     * Specifies the modified data for current item.
     */
    dateModified?: Date;
    /**
     * Specifies the created data for current item.
     */
    dateCreated?: Date;
    /**
     * Specifies the filter path representing the traversal path of current item.
     */
    filterPath?: string;
    /**
     * Specifies whether the current folder has child.
     */
    hasChild?: boolean;
    /**
     * Specifies the current item id.
     */
    id?: number | string;
    /**
     * Specifies whether the item is a file or folder.
     */
    isFile?: boolean;
    /**
     * Specifies the item name.
     */
    name?: string;
    /**
     * Specifies the parent id for the item.
     */
    parentId?: number | string;
    /**
     * Specifies the item size.
     */
    size?: number;
    /**
     * Specifies the item type like ‘.png’, ‘.jpg’, etc.
     */
    type?: string;
    /**
     * Specifies the url of the image that must be loaded within File Manager.
     */
    imageUrl?: string;
    /**
     * Specifies the access control permission.
     */
    permission?: object;
}
/** @hidden */
export interface DownloadArgs {
    files?: {
        [key: string]: Object;
    }[];
    error?: Object[];
    details?: Object;
}
/**
 * Interface for Drag Event arguments
 */
export interface FileDragEventArgs {
    /**
     * Return the current items as an array of JSON object.
     */
    fileDetails?: Object[];
    /**
     * Specifies the actual event.
     */
    event?: MouseEvent & TouchEvent;
    /**
     * Specifies the current drag element.
     */
    element?: HTMLElement;
    /**
     * Specifies the current target element.
     */
    target?: HTMLElement;
    /**
     * If you want to cancel this event then, set cancel to true. Otherwise, false.
     */
    cancel?: boolean;
}
/**
 * Interface for BeforeSend event arguments.
 */
export interface BeforeSendEventArgs {
    /**
     * Return the name of the AJAX action will be performed.
     */
    action?: string;
    /**
     * Return the AJAX details, which are send to server.
     */
    ajaxSettings?: Object;
    /**
     * If you want to cancel this event then, set cancel to true. Otherwise, false.
     */
    cancel?: boolean;
}
/**
 * Interface for BeforeDownload event arguments.
 */
export interface BeforeDownloadEventArgs {
    /**
     * Specifies the data to be sent to server.
     */
    data?: Object;
    /**
     * If you want to cancel this event then, set cancel to true. Otherwise, false.
     */
    cancel?: boolean;
    /**
     * Return the AJAX details, which are send to server.
     */
    ajaxSettings?: Object;
    /**
     * Specifies whether the download is performed through the form submit method or using an HTTP client instance.
     */
    useFormPost?: boolean;
}
/**
 * Interface for BeforeImageLoad event arguments.
 */
export interface BeforeImageLoadEventArgs {
    /**
     * Return the current rendering image item as an array of JSON object.
     */
    fileDetails?: Object[];
    /**
     * Specifies the URL along with custom attributes to be sent to server.
     */
    imageUrl?: string;
}
/**
 * Interface for folder create event arguments.
 */
export interface FolderCreateEventArgs {
    /**
     * Defines whether to cancel the creation of new folder.
     */
    cancel?: boolean;
    /**
     * Defines the newly created folder name.
     */
    folderName?: string;
    /**
     * Returns the parent folder data where the new folder is created.
     */
    parentFolder?: {
        [key: string]: Object;
    }[];
    /**
     * Specifies the current folder path.
     */
    path?: string;
}
/**
 * Interface for deleting event arguments.
 */
export interface DeleteEventArgs {
    /**
     * Defines whether to cancel the delete action of file or folder.
     */
    cancel?: boolean;
    /**
     * Returns the data of the deleted item.
     */
    itemData?: {
        [key: string]: Object;
    }[];
    /**
     * Specifies the current folder path.
     */
    path?: string;
}
/**
 * Interface for Rename event arguments.
 */
export interface RenameEventArgs {
    /**
     * Defines whether to cancel the rename operation.
     */
    cancel?: boolean;
    /**
     * Return the new name to be set for the item.
     */
    newName?: string;
    /**
     * Returns the data of the renamed item.
     */
    itemData?: {
        [key: string]: Object;
    }[];
    /**
     * Specifies the current folder path.
     */
    path?: string;
}
/**
 * Interface for Move event arguments.
 */
export interface MoveEventArgs {
    /**
     * Defines whether to cancel the moving of folder from current path.
     */
    cancel?: boolean;
    /**
     * Defines whether the current action is `copy`.
     */
    isCopy?: boolean;
    /**
     * Returns the data of the moved item.
     */
    itemData?: {
        [key: string]: Object;
    }[];
    /**
     * Specifies the current folder path.
     */
    path?: string;
    /**
     * Returns the data of the target folder to which the file or folder is to be pasted.
     */
    targetData?: {
        [key: string]: Object;
    };
    /**
     * Specifies the target folder path to which the item is pasted.
     */
    targetPath?: string;
}
/**
 * Interface for Search event arguments.
 */
export interface SearchEventArgs {
    /**
     * Return the search results which matches the entered search character.
     */
    searchResults?: {
        [key: string]: Object;
    }[];
    /**
     * Specifies whether the default search action must be cancel.
     */
    cancel?: boolean;
    /**
     * Specifies the current folder path where the search action takes place.
     */
    path?: string;
    /**
     * Specifies the search text which is entered in the input element.
     */
    searchText?: string;
    /**
     * Specifies the searching of file or folder is case sensitive or not.
     */
    caseSensitive?: boolean;
    /**
     * Specifies whether the user has permission to view hidden items.
     */
    showHiddenItems?: boolean;
}
/**
 * Interface for Success event arguments.
 */
export interface SuccessEventArgs {
    /**
     * Return the name of the AJAX action will be performed.
     */
    action?: string;
    /**
     * Return the AJAX details which are send to server.
     */
    result?: Object;
}
/**
 * Interface for Failure event arguments.
 */
export interface FailureEventArgs {
    /**
     * Return the name of the AJAX action will be performed.
     */
    action?: string;
    /**
     * Return the AJAX details, which are send to server.
     */
    error?: Object;
}
/**
 * Interface for FileLoad event arguments.
 */
export interface FileLoadEventArgs {
    /**
     * Return the current rendering item.
     */
    element?: HTMLElement;
    /**
     * Return the current rendering item as JSON object.
     */
    fileDetails?: Object;
    /**
     * Return the name of the rendering module in File Manager.
     */
    module?: string;
}
/**
 * Interface for FileOpen event arguments.
 */
export interface FileOpenEventArgs {
    /**
     * If you want to cancel this event then, set cancel to true. Otherwise, false.
     */
    cancel?: boolean;
    /**
     * Return the currently selected item as JSON object.
     */
    fileDetails?: Object;
    /**
     * Returns the name of the target module in file manager.
     */
    module?: string;
}
/**
 * Interface for PopupOpenClose event arguments.
 */
export interface PopupOpenCloseEventArgs {
    /**
     * Returns the current dialog component instance.
     */
    popupModule?: popups.Dialog;
    /**
     * Returns the current dialog element.
     */
    element: HTMLElement;
    /**
     * Returns the current dialog action name.
     */
    popupName: string;
}
/**
 * Interface for BeforePopupOpenClose event arguments.
 */
export interface BeforePopupOpenCloseEventArgs {
    /**
     * Returns the current dialog component instance.
     */
    popupModule: popups.Dialog;
    /**
     * Returns the current dialog action name.
     */
    popupName: string;
    /**
     * Prevents the dialog from opening when it is set to true.
     */
    cancel: boolean;
}
/**
 * Interface for FileSelect event arguments.
 */
export interface FileSelectEventArgs {
    /**
     * Return the name of action like select or unselect.
     */
    action?: string;
    /**
     * Return the currently selected item as JSON object.
     */
    fileDetails?: Object;
    /**
     * Defines whether event is triggered by interaction or not.
     */
    isInteracted?: boolean;
}
/**
 * Interface for FileSelection event arguments.
 */
export interface FileSelectionEventArgs {
    /**
     * Return the name of action like select or unselect.
     */
    action?: string;
    /**
     * Defines the cancel selected file or folder.
     */
    cancel?: boolean;
    /**
     * Return the currently selected item as JSON object.
     */
    fileDetails?: Object;
    /**
     * Defines whether event is triggered by interaction or not.
     */
    isInteracted?: boolean;
    /**
     * Specifies the actual target.
     */
    target?: Element;
}
/**
 * Interface for ToolbarCreate event arguments.
 */
export interface ToolbarCreateEventArgs {
    /**
     * Return an array of items that is used to configure toolbar content.
     */
    items: navigations.ItemModel[];
}
/**
 * Interface for ToolbarClick event arguments.
 */
export interface ToolbarClickEventArgs {
    /**
     * If you want to cancel this event then, set cancel to true. Otherwise, false.
     */
    cancel: boolean;
    /**
     * Return the currently selected folder/file items as an array of JSON object.
     */
    fileDetails: Object[];
    /**
     * Return the currently clicked toolbar item as JSON object.
     */
    item: navigations.ItemModel;
}
/**
 * Interface for MenuClick event arguments.
 */
export interface MenuClickEventArgs {
    /**
     * If you want to cancel this event then, set cancel to true. Otherwise, false.
     */
    cancel?: boolean;
    /**
     * Return the currently clicked context menu item.
     */
    element?: HTMLElement;
    /**
     * Return the currently selected folder/file items as an array of JSON object.
     */
    fileDetails?: Object[];
    /**
     * Return the currently clicked context menu item as JSON object.
     */
    item?: navigations.MenuItemModel;
}
/**
 * Interface for MenuOpen event arguments.
 */
export interface MenuOpenEventArgs {
    /**
     * If you want to cancel this event then, set cancel to true. Otherwise, false.
     */
    cancel?: boolean;
    /**
     * Returns the current context menu element.
     */
    element?: HTMLElement;
    /**
     * Returns the target folder/file item as an array of JSON object.
     */
    fileDetails?: Object[];
    /**
     * Returns the current context menu items as JSON object.
     */
    items?: navigations.MenuItemModel[];
    /**
     * Returns the instance of context menu component.
     */
    menuModule?: navigations.ContextMenu;
    /**
     * Returns whether the current context menu is sub-menu or not.
     */
    isSubMenu?: boolean;
    /**
     * Returns the target element of context menu.
     */
    target?: Element;
    /**
     * Returns the current context menu type based on current target.
     */
    menuType?: string;
}
/**
 * Interface for MenuClose event arguments.
 */
export interface MenuCloseEventArgs {
    /**
     * If you want to cancel this event then, set cancel to true. Otherwise, false.
     */
    cancel?: boolean;
    /**
     * Returns the current context menu element.
     */
    element?: HTMLElement;
    /**
     * Specifies the actual event.
     */
    event?: Event;
    /**
     * Returns whether the current context menu is focused or not.
     */
    isFocused?: boolean;
    /**
     * Returns the target folder/file item as an array of JSON object.
     */
    fileDetails?: Object[];
    /**
     * Returns the current context menu items as JSON object.
     */
    items?: navigations.MenuItemModel[];
    /**
     * Returns the parent context menu item as JSON object.
     */
    parentItem?: navigations.MenuItemModel;
    /**
     * Returns the current context menu type based on current target.
     */
    menuType?: string;
}
/**
 * Interface for UploadListCreate event arguments.
 */
export interface UploadListCreateArgs {
    /**
     * Return the current file item element.
     */
    element: HTMLElement;
    /**
     * Return the current rendering file item data as file object.
     */
    fileInfo: FileInfo;
    /**
     * Return the index of the file item in the file list.
     */
    index: number;
    /**
     * Return whether the file is preloaded.
     */
    isPreload: boolean;
}
/**
 * Interface for File information.
 */
export interface FileInfo {
    /**
     * Returns the upload file name.
     */
    name: string;
    /**
     * Returns the details about upload file.
     */
    rawFile: string | Blob;
    /**
     * Returns the size of file in bytes.
     */
    size: number;
    /**
     * Returns the status of the file.
     */
    status: string;
    /**
     * Returns the MIME type of file as a string. Returns empty string if the file's type is not determined.
     */
    type: string;
    /**
     * Returns the list of validation errors (if any).
     */
    validationMessages: ValidationMessages;
    /**
     * Returns the current state of the file such as Failed, Canceled, Selected, Uploaded, or Uploading.
     */
    statusCode: string;
    /**
     * Returns where the file selected from, to upload.
     */
    fileSource?: string;
}
/**
 * Interface for Validation messages.
 */
export interface ValidationMessages {
    /**
     * Returns the minimum file size validation message, if selected file size is less than the specified minFileSize property.
     */
    minSize?: string;
    /**
     * Returns the maximum file size validation message, if selected file size is less than specified maxFileSize property.
     */
    maxSize?: string;
}
/** @hidden */
export interface IFileManager extends base.Component<HTMLElement> {
    hasId: boolean;
    pathNames: string[];
    pathId: string[];
    originalPath: string;
    filterPath: string;
    filterId: string;
    expandedId: string;
    itemData: Object[];
    visitedData: Object;
    visitedItem: Element;
    feParent: Object[];
    feFiles: Object[];
    ajaxSettings: AjaxSettingsModel;
    fileSystemData: {
        [key: string]: Object;
    }[];
    toolbarSettings: ToolbarSettingsModel;
    toolbarItems: ToolbarItemModel[];
    detailsViewSettings: DetailsViewSettingsModel;
    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;
    virtualizationModule: Virtualization;
    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;
    showItemCheckBoxes: boolean;
    selectedItems: string[];
    layoutSelectedItems: string[];
    sortOrder: SortOrder;
    sortBy: string;
    sortComparer: SortComparer | string;
    actionRecords: Object[];
    activeRecords: Object[];
    pasteNodes: string[];
    responseData: {
        [key: string]: Object;
    };
    existingFileCount: number;
    isCut: boolean;
    filterData: Object;
    isFiltered: boolean;
    isSortByClicked: boolean;
    isLayoutChange: boolean;
    isSearchCut: boolean;
    isPasteError: boolean;
    isSameAction: boolean;
    currentItemText: string;
    renameText: string;
    view: ViewType;
    isPathDrag: boolean;
    enablePaste: boolean;
    showThumbnail: boolean;
    allowDragAndDrop: boolean;
    enableRtl: boolean;
    rootAliasName: string;
    path: string;
    popupTarget: HTMLElement | string;
    folderPath: string;
    showFileExtension: boolean;
    enablePersistence: boolean;
    enableVirtualization: boolean;
    showHiddenItems: boolean;
    persistData: boolean;
    localeObj: base.L10n;
    uploadObj: inputs.Uploader;
    cssClass: string;
    searchedItems: Object[];
    searchWord: string;
    retryFiles: FileInfo[];
    retryArgs: RetryArgs[];
    isApplySame: boolean;
    isRetryOpened: boolean;
    dragData: {
        [key: string]: Object;
    }[];
    dragNodes: string[];
    dragPath: string;
    dropPath: string;
    dropData: Object;
    virtualDragElement: HTMLElement;
    isDragDrop: boolean;
    isSearchDrag: boolean;
    targetModule: string;
    treeExpandTimer: number;
    dragCursorPosition: base.PositionModel;
    isDropEnd: boolean;
    dragCount: number;
    droppedObjects: Object[];
    uploadEventArgs: BeforeSendEventArgs;
    destinationPath: string;
    enableHtmlSanitizer: boolean;
    refreshLayout(): void;
    traverseBackward(): void;
    isMac: boolean;
    oldView: string;
    oldPath: string;
}
/** @hidden */
export interface ITreeView extends base.Component<HTMLElement> {
    treeObj: navigations.TreeView;
    removeNode: Function;
    removeNodes: string[];
    duplicateFiles: Function;
    rootID: string;
    activeNode: Element;
    openFileOnContextMenuClick: Function;
    previousSelected: string[];
}
/** @hidden */
export interface IContextMenu extends base.Component<HTMLElement> {
    disableItem(items: string[]): void;
    enableItems(items: string[], enable?: boolean, isUniqueId?: boolean): void;
    getItemIndex(item: string): number;
    contextMenu: navigations.ContextMenu;
    contextMenuBeforeOpen: Function;
    items: navigations.MenuItemModel[];
}
//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;
    /** @hidden */
    virtualizationModule: Virtualization;
    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[];
    responseData: {
        [key: string]: Object;
    };
    existingFileCount: number;
    isLayoutChange: boolean;
    replaceItems: string[];
    createdItem: {
        [key: string]: Object;
    };
    layoutSelectedItems: string[];
    renamedItem: {
        [key: string]: Object;
    };
    renamedId: string;
    uploadItem: string[];
    fileLength: number;
    deleteRecords: string[];
    fileView: string;
    isDevice: boolean;
    isMobile: boolean;
    isBigger: boolean;
    isFile: boolean;
    actionRecords: Object[];
    activeRecords: Object[];
    isCut: boolean;
    isSearchCut: boolean;
    isSearchDrag: boolean;
    isPasteError: boolean;
    folderPath: string;
    isSameAction: boolean;
    currentItemText: string;
    renameText: string;
    isFiltered: boolean;
    isSortByClicked: boolean;
    enablePaste: boolean;
    splitterObj: layouts.Splitter;
    persistData: boolean;
    breadCrumbBarNavigation: HTMLElement;
    localeObj: base.L10n;
    uploadObj: inputs.Uploader;
    uploadDialogObj: popups.Dialog;
    retryArgs: RetryArgs[];
    private isOpened;
    isRetryOpened: boolean;
    isPathDrag: boolean;
    searchedItems: {
        [key: string]: Object;
    }[];
    searchWord: string;
    retryFiles: inputs.FileInfo[];
    isApplySame: boolean;
    uploadEventArgs: BeforeSendEventArgs;
    dragData: {
        [key: string]: Object;
    }[];
    dragNodes: string[];
    dragPath: string;
    dropPath: string;
    isDragDrop: boolean;
    virtualDragElement: HTMLElement;
    dropData: Object;
    treeExpandTimer: number;
    dragCursorPosition: base.PositionModel;
    isDropEnd: boolean;
    dragCount: number;
    droppedObjects: Object[];
    destinationPath: string;
    uploadingCount: number;
    uploadedCount: number;
    isMac: boolean;
    oldView: string;
    oldPath: string;
    private viewElem;
    private dragSelectElement;
    private dragX;
    private dragY;
    private dragSelectedItems;
    /**
     * Specifies the AJAX settings of the file manager.
     *
     * @default {
     *  getImageUrl: null;
     *  url: null;
     *  uploadUrl: null;
     *  downloadUrl: null;
     * }
     */
    ajaxSettings: AjaxSettingsModel;
    /**
     * Specifies the array of data to populate folders/files in the File Manager.
     * The mandatory fields to be included in the JSON data are defined in fileData interface.
     * This interface can be extended to add additional fields as required.
     *
     * @default []
     */
    fileSystemData: {
        [key: string]: Object;
    }[];
    /**
     * 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;
    /**
     * Gets or sets a boolean value that determines whether to display checkboxes in the file manager. If enabled, checkboxes are shown for files or folders on hover.
     *
     * @default true
     */
    showItemCheckBoxes: boolean;
    /**
     * Specifies the context menu settings of the file manager.
     *
     * @default {
     *  file: ['Open','|', 'Cut', 'Copy', '|', 'Delete', 'Rename', '|', 'Details'],
     *  folder: ['Open','|', 'Cut', 'Copy', 'Paste', '|', 'Delete', 'Rename', '|', 'Details'],
     *  layout: ['SortBy', 'View', 'Refresh', '|', 'Paste', '|', 'NewFolder', 'Upload', '|', 'Details', '|', 'SelectAll'],
     *  visible: true,
     * }
     */
    contextMenuSettings: ContextMenuSettingsModel;
    /**
     * Specifies the root CSS class of the file manager that allows you to customize the appearance by overriding the styles.
     *
     * @default ''
     */
    cssClass: string;
    /**
     * Specifies the details view settings of the file manager.
     *
     * @default {
     * columns: [{
     * field: 'name', headerText: 'Name', minWidth: 120, template: '<span class="e-fe-text">${name}</span>',
     * customAttributes: { class: 'e-fe-grid-name'}}, { field: '_fm_modified', headerText: 'DateModified', type: 'dateTime',
     * format: 'MMMM dd, yyyy HH:mm', minWidth: 120, width: '190' }, { field: 'size', headerText: 'Size', minWidth: 90, width: '110',
     * template: '<span class="e-fe-size">${size}</span>' }
     * ]
     * }
     */
    detailsViewSettings: DetailsViewSettingsModel;
    /**
     * Defines whether to allow the cross-scripting site or not.
     *
     * @default true
     */
    enableHtmlSanitizer: boolean;
    /**
     * Enables or disables persisting component's state between page reloads. If enabled, the following APIs will persist:
     * 1. `view`: Represents the previous view of the file manager.
     * 2. `path`: Represents the previous path of the file manager.
     * 3. `selectedItems`: Represents the previous selected items in the file manager.
     *
     * @default false
     */
    enablePersistence: boolean;
    /**
     * Gets or sets a value that enables/disables the virtualization feature of the File Manager.
     * When enabled, the File Manager will only load a subset of files and folders based on the size of the view port, with the rest being loaded dynamically as the user scrolls vertically through the list.
     * This can improve performance when dealing with a large number of files and folders, as it reduces the initial load time and memory usage.
     *
     * @default false
     */
    enableVirtualization: boolean;
    /**
     * Specifies the height of the file manager.
     *
     * @default '400px'
     */
    height: string | number;
    /**
     * Specifies the initial view of the file manager.
     * With the help of this property, initial view can be changed to details or largeicons view. The available views are:
     * * `LargeIcons`
     * * `Details`
     *
     * @default 'LargeIcons'
     */
    view: ViewType;
    /**
     * Specifies the navigationpane settings of the file manager.
     *
     * @default {
     *  maxWidth: '650px',
     *  minWidth: '240px',
     *  visible: true,
     *  sortOrder: 'None'
     * }
     */
    navigationPaneSettings: NavigationPaneSettingsModel;
    /**
     * Specifies the current path of the file manager.
     *
     * @default '/'
     */
    path: string;
    /**
     * Specifies the target element in which the File Manager’s dialog will be displayed.
     * The default value is null, which refers to the File Manager element.
     *
     * @default null
     */
    popupTarget: HTMLElement | string;
    /**
     * Specifies the search settings of the file manager.
     *
     * @default {
     *  allowSearchOnTyping: true,
     *  filterType: 'contains',
     *  ignoreCase: true
     * }
     */
    searchSettings: SearchSettingsModel;
    /**
     * Specifies the selected folders and files name of the  file manager.
     *
     * @default []
     */
    selectedItems: string[];
    /**
     * Shows or hides the file extension in file manager.
     *
     * @default true
     */
    showFileExtension: boolean;
    /**
     * Specifies the root folder alias name in file manager
     *
     * @default null
     */
    rootAliasName: string;
    /**
     * Determines whether to show or hide hidden files and folders.
     * This is applicable only for storage systems that support attributes for controlling the visibility of data, including physical file directories and custom flat data handlers.
     *
     * @default false
     */
    showHiddenItems: boolean;
    /**
     * Shows or hides the thumbnail images in largeicons view.
     *
     * @default true
     */
    showThumbnail: boolean;
    /**
     * Specifies a value that indicates whether the folders and files are sorted in the ascending or descending order,
     * or they are not sorted at all. The available types of sort orders are,
     * `None` - Indicates that the folders and files are not sorted.
     * `Ascending` - Indicates that the folders and files are sorted in the ascending order.
     * `Descending` - Indicates that the folders and files are sorted in the descending order.
     *
     * @default 'Ascending'
     */
    sortOrder: SortOrder;
    /**
     * Specifies the field name being used as the sorting criteria to sort the files of the file manager component.
     *
     * @default 'name'
     */
    sortBy: string;
    /**
     * Defines the custom sorting 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.
     * This can be used to customize the default sorting functionalities with required comparison values.
     *
     * @default null
     * @aspType string
     */
    sortComparer: SortComparer | string;
    /**
     * Gets or sets a value that indicates whether the File Manager allows multiple items selection with mouse dragging.
     * Set this property to true to allow users to select multiple items with mouse drag as like file explorer. Hover over
     * the files or folders and drag the mouse to select the required items.
     *
     * @default false
     */
    enableRangeSelection: 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;
    /**
     * An array of items that are used to configure File Manager toolbar items.
     *
     * @remarks
     * Use this property if you want to include custom toolbar items along with existing toolbar items. If both `toolbarSettings` and `toolbarItems` are defined, then items will be rendered based on toolbarItems.
     *
     * @default []
     *
     */
    toolbarItems: ToolbarItemModel[];
    /**
     * Specifies the upload settings for the file manager.
     *
     * @default {
     *  autoUpload: true,
     *  minFileSize: 0,
     *  maxFileSize: 30000000,
     *  allowedExtensions: '',
     *  autoClose: false,
     *  directoryUpload: false
     * }
     */
    uploadSettings: UploadSettingsModel;
    /**
     * Specifies the width of the file manager.
     *
     * @default '100%'
     */
    width: string | number;
    /**
     * Triggers before the file/folder is rendered.
     *
     * @event fileLoad
     */
    fileLoad: base.EmitType<FileLoadEventArgs>;
    /**
     * Triggers before the file/folder is opened.
     *
     * @event fileOpen
     */
    fileOpen: base.EmitType<FileOpenEventArgs>;
    /**
     * Triggers before sending the download request to the server.
     *
     * @event beforeDownload
     */
    beforeDownload: base.EmitType<BeforeDownloadEventArgs>;
    /**
     * Triggers before sending the getImage request to the server.
     *
     * @event beforeImageLoad
     */
    beforeImageLoad: base.EmitType<BeforeImageLoadEventArgs>;
    /**
     * Triggers before the dialog is closed.
     *
     * @event beforePopupClose
     */
    beforePopupClose: base.EmitType<BeforePopupOpenCloseEventArgs>;
    /**
     * Triggers before the dialog is opened.
     *
     * @event beforePopupOpen
     */
    beforePopupOpen: base.EmitType<BeforePopupOpenCloseEventArgs>;
    /**
     * Triggers before sending the AJAX request to the server.
     *
     * @event beforeSend
     */
    beforeSend: base.EmitType<BeforeSendEventArgs>;
    /**
     * Triggers when the file manager component is created.
     *
     * @event created
     */
    created: base.EmitType<Object>;
    /**
     * This event is triggered before a folder is created. It allows for the restriction of folder creation based on the application's use case.
     *
     * @event beforeFolderCreate
     */
    beforeFolderCreate: base.EmitType<FolderCreateEventArgs>;
    /**
     * This event is triggered when a folder is successfully created. It provides an opportunity to retrieve details about the newly created folder.
     *
     * @event folderCreate
     */
    folderCreate: base.EmitType<FolderCreateEventArgs>;
    /**
     * Triggers when the file manager component is destroyed.
     *
     * @event destroyed
     */
    destroyed: base.EmitType<Object>;
    /**
     * This event is triggered before the deletion of a file or folder occurs. It can be utilized to prevent the deletion of specific files or folders. Any actions, such as displaying a spinner for deletion, can be implemented here.
     *
     * @event beforeDelete
     */
    beforeDelete: base.EmitType<DeleteEventArgs>;
    /**
     * This event is triggered after the file or folder is deleted successfully. The deleted file or folder details can be retrieved here. Additionally, custom elements' visibility can be managed here based on the application's use case.
     *
     * @event delete
     */
    delete: base.EmitType<DeleteEventArgs>;
    /**
     * This event is triggered when a file or folder is about to be renamed. It allows for the restriction of the rename action for specific folders or files by utilizing the cancel option.
     *
     * @event beforeRename
     */
    beforeRename: base.EmitType<RenameEventArgs>;
    /**
     * This event is triggered when a file or folder is successfully renamed. It provides an opportunity to fetch details about the renamed file.
     *
     * @event rename
     */
    rename: base.EmitType<RenameEventArgs>;
    /**
     * This event is triggered when a file or folder begins to move from its current path through a copy/cut and paste action.
     *
     * @event beforeMove
     */
    beforeMove: base.EmitType<MoveEventArgs>;
    /**
     * This event is triggered when a file or folder is pasted into the destination path.
     *
     * @event move
     */
    move: base.EmitType<MoveEventArgs>;
    /**
     * This event is triggered when a search action occurs in the search bar of the File Manager component. It triggers each character entered in the input during the search process.
     *
     * @event search
     */
    search: base.EmitType<SearchEventArgs>;
    /**
     * Triggers when the file/folder dragging is started.
     *
     * @event fileDragStart
     */
    fileDragStart: base.EmitType<FileDragEventArgs>;
    /**
     * Triggers while dragging the file/folder.
     *
     * @event fileDragging
     */
    fileDragging: base.EmitType<FileDragEventArgs>;
    /**
     * Triggers when the file/folder is about to be dropped at the target.
     *
     * @event fileDragStop
     */
    fileDragStop: base.EmitType<FileDragEventArgs>;
    /**
     * Triggers when the file/folder is dropped.
     *
     * @event fileDropped
     */
    fileDropped: base.EmitType<FileDragEventArgs>;
    /**
     * Triggers before the file/folder is selected.
     *
     * @event fileSelection
     */
    fileSelection: base.EmitType<FileSelectionEventArgs>;
    /**
     * Triggers when the file/folder is selected/unselected.
     *
     * @event fileSelect
     */
    fileSelect: base.EmitType<FileSelectEventArgs>;
    /**
     * Triggers when the context menu item is clicked.
     *
     * @event menuClick
     */
    menuClick: base.EmitType<MenuClickEventArgs>;
    /**
     * Triggers before the context menu is opened.
     *
     * @event menuOpen
     */
    menuOpen: base.EmitType<MenuOpenEventArgs>;
    /**
     * Triggers before the context menu is closed.
     *
     * @event menuClose
     */
    menuClose: base.EmitType<MenuCloseEventArgs>;
    /**
     * Triggers when the AJAX request is failed.
     *
     * @event failure
     */
    failure: base.EmitType<FailureEventArgs>;
    /**
     * Triggers when the dialog is closed.
     *
     * @event popupClose
     */
    popupClose: base.EmitType<PopupOpenCloseEventArgs>;
    /**
     * Triggers when the dialog is opened.
     *
     * @event popupOpen
     */
    popupOpen: base.EmitType<PopupOpenCloseEventArgs>;
    /**
     * Triggers when the AJAX request is success.
     *
     * @event success
     */
    success: base.EmitType<SuccessEventArgs>;
    /**
     * Triggers when the toolbar item is clicked.
     *
     * @event toolbarClick
     */
    toolbarClick: base.EmitType<ToolbarClickEventArgs>;
    /**
     * Triggers before creating the toolbar.
     *
     * @event toolbarCreate
     */
    toolbarCreate: base.EmitType<ToolbarCreateEventArgs>;
    /**
     * Triggers before rendering each file item in upload dialog box.
     *
     * @event uploadListCreate
     */
    uploadListCreate: base.EmitType<UploadListCreateArgs>;
    constructor(options?: FileManagerModel, element?: string | HTMLElement);
    /**
     * Get component name.
     *
     * @returns {string} - returns module name.
     * @private
     */
    getModuleName(): string;
    /**
     * Initialize the event handler
     *
     * @returns {void}
     */
    protected preRender(): void;
    /**
     * Gets the properties to be maintained upon browser refresh.
     *
     * @returns {string} - returns the persisted data.
     * @hidden
     */
    getPersistData(): string;
    /**
     * To provide the array of modules needed for component rendering
     *
     * @returns {base.ModuleDeclaration[]} - returns module declaration.
     * @hidden
     */
    requiredModules(): base.ModuleDeclaration[];
    /**
     * To Initialize the control rendering
     *
     * @private
     * @returns {void}
     */
    protected render(): void;
    private ensurePath;
    private initialize;
    private addWrapper;
    private adjustHeight;
    private splitterResize;
    private splitterAdjust;
    private addCssClass;
    private showSpinner;
    private hideSpinner;
    private onContextMenu;
    private checkMobile;
    private renderFileUpload;
    private renderUploadBox;
    private onFileListRender;
    private updateUploader;
    private onBeforeOpen;
    private onBeforeClose;
    private onOpen;
    private onClose;
    private onChunkUploading;
    private onUploading;
    private onRemoving;
    private onCancel;
    private onClearing;
    private onSelected;
    private onFileUploadSuccess;
    private onChunkUploadComplete;
    private onUploadSuccess;
    private onUploadFailure;
    private onInitialEnd;
    private addEventListeners;
    private removeEventListeners;
    private onDetailsInit;
    private resizeHandler;
    private keyActionHandler;
    private wireSelectOnDragEvent;
    private wireEvents;
    private unWireEvents;
    private onScrollHandler;
    private onDragStart;
    private onDrag;
    private onDragStop;
    private selectItems;
    private onLayoutChange;
    private setPath;
    /**
     * Called internally if any of the property value changed.
     *
     * @param  {FileManager} newProp
     * @param  {FileManager} oldProp
     * @returns void
     * @private
     */
    onPropertyChanged(newProp: FileManagerModel, oldProp: FileManagerModel): void;
    private ajaxSettingSetModel;
    private localeSetModelOption;
    /**
     * Triggers when the component is destroyed.
     *
     * @returns {void}
     */
    destroy(): void;
    /**
     * Creates a new folder in file manager.
     *
     * @param {string} name – Specifies the name of new folder in current path.
     * If it is not specified, then the default new folder dialog will be opened.
     * @returns {void}
     */
    createFolder(name?: string): void;
    /**
     * Deletes the folders or files from the given unique identifiers.
     *
     * @param {string} ids - Specifies the name of folders or files in current path. If you want to delete the nested level folders or
     * files, then specify the filter path along with name of the folders or files when performing the search or custom filtering.
     * For ID based file provider, specify the unique identifier of folders or files.
     * If it is not specified, then delete confirmation dialog will be opened for selected item.
     *
     * @returns {void}
     */
    deleteFiles(ids?: string[]): void;
    /**
     * Disables the specified toolbar items of the file manager.
     *
     * @param {string[]} items - Specifies an array of items to be disabled.
     * @returns {void}
     */
    disableToolbarItems(items: string[]): void;
    /**
     * Downloads the folders or files from the given unique identifiers.
     *
     * @param {string} ids - Specifies the name of folders or files in current path. If you want to download the nested level folders
     * or files, then specify the filter path along with name of the folders or files when performing search or custom filtering.
     * For ID based file provider, specify the unique identifier of folders or files.
     * If it is not specified, then the selected items will be downloaded.
     *
     * @returns {void}
     */
    downloadFiles(ids?: string[]): void;
    /**
     * Enables the specified toolbar items of the file manager.
     *
     * @param {string[]} items - Specifies an array of items to be enabled.
     * @returns {void}
     */
    enableToolbarItems(items: string[]): void;
    /**
     * Enables the specified menu items of the file manager.
     *
     * @param {string[]} items - Specifies an array of items to be enabled.
     * @returns {void}
     */
    enableMenuItems(items: string[]): void;
    /**
     * Disables the specified context menu items in file manager. This method is used only in the menuOpen event.
     *
     * @param {string[]} items - Specifies an array of items to be disabled.
     * @returns {void}
     */
    disableMenuItems(items: string[]): void;
    /**
     * Returns the index position of given current context menu item in file manager.
     *
     * @param {string} item - Specifies an item to get the index position.
     * @returns {number} - returns menu item index.
     */
    getMenuItemIndex(item: string): number;
    /**
     * Returns the index position of given toolbar item in file manager.
     *
     * @param {string} item - Specifies an item to get the index position.
     * @returns {number} - returns toolbar item index.
     */
    getToolbarItemIndex(item: string): number;
    /**
     * Display the custom filtering files in file manager.
     *
     * @param {Object} filterData - Specifies the custom filter details along with custom file action name,
     * which needs to be sent to the server side. If you do not specify the details, then default action name will be `filter`.
     *
     * @returns {void}
     */
    filterFiles(filterData?: Object): void;
    /**
     * Gets the details of the selected files in the file manager.
     *
     * @returns {Object[]} - returns selected files.
     */
    getSelectedFiles(): Object[];
    /**
     * Opens the corresponding file or folder from the given unique identifier.
     *
     * @param {string} id - Specifies the name of folder or file in current path. If you want to open the nested level folder or
     * file, then specify the filter path along with name of the folder or file when performing search or custom filtering. For ID based
     * file provider, specify the unique identifier of folder or file.
     *
     * @returns {void}
     */
    openFile(id: string): void;
    /**
     * Refreshes the folder files of the file manager.
     *
     * @returns {void}
     */
    refreshFiles(): void;
    /**
     * Refreshes the layout of the file manager.
     *
     * @returns {void}
     */
    refreshLayout(): void;
    /**
     * Selects the entire folders and files in current path.
     *
     * @returns {void}
     */
    selectAll(): void;
    /**
     * Specifies the method that must be invoked to traverse the path backwards in the file manager.
     *
     * @returns {void}
     */
    traverseBackward(): void;
    /**
     * Deselects the currently selected folders and files in current path.
     *
     * @returns {void}
     */
    clearSelection(): void;
    /**
     * Renames the file or folder with given new name in file manager.
     *
     * @param {string} id - Specifies the name of folder or file in current path. If you want to rename the nested level folder or
     * file, then specify the filter path along with name of the folder or file when performing search or custom filtering. For ID based
     * file provider, specify the unique identifier of folder or file.
     * If it is not specified, then rename dialog will be opened for selected item.
     *
     * @param {string} name – Specifies the new name of the file or folder in current path. If it is not specified, then rename dialog
     * will be opened for given identifier.
     *
     * @returns {void}
     */
    renameFile(id?: string, name?: string): void;
    /**
     * Opens the upload dialog in file manager.
     *
     * @returns {void}
     */
    uploadFiles(): void;
    /**
     * Specifies the method which must be invoked to programmatically close the dialog popup in the file manager.
     *
     * @returns {void}
     */
    closeDialog(): void;
    /**
     * Specifies the direction of FileManager
     *
     * @param {boolean} rtl - specifies rtl parameter.
     * @returns {void}
     */
    private setRtl;
}
//node_modules/@syncfusion/ej2-filemanager/src/file-manager/base/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;
    /**
     * Specifies the array of data to populate folders/files in the File Manager.
     * The mandatory fields to be included in the JSON data are defined in fileData interface.
     * This interface can be extended to add additional fields as required.
     *
     * @default []
     */
    fileSystemData?: { [key: string]: Object }[];
    /**
     * 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;
    /**
     * Gets or sets a boolean value that determines whether to display checkboxes in the file manager. If enabled, checkboxes are shown for files or folders on hover.
     *
     * @default true
     */
    showItemCheckBoxes?: boolean;
    /**
     * Specifies the context menu settings of the file manager.
     *
     * @default {
     *  file: ['Open','|', 'Cut', 'Copy', '|', 'Delete', 'Rename', '|', 'Details'],
     *  folder: ['Open','|', 'Cut', 'Copy', 'Paste', '|', 'Delete', 'Rename', '|', 'Details'],
     *  layout: ['SortBy', 'View', 'Refresh', '|', 'Paste', '|', 'NewFolder', 'Upload', '|', 'Details', '|', 'SelectAll'],
     *  visible: true,
     * }
     */
    contextMenuSettings?: ContextMenuSettingsModel;
    /**
     * Specifies the root CSS class of the file manager that allows you to customize the appearance by overriding the styles.
     *
     * @default ''
     */
    cssClass?: string;
    /**
     * Specifies the details view settings of the file manager.
     *
     * @default {
     * columns: [{
     * field: 'name', headerText: 'Name', minWidth: 120, template: '<span class="e-fe-text">${name}</span>',
     * customAttributes: { class: 'e-fe-grid-name'}}, { field: '_fm_modified', headerText: 'DateModified', type: 'dateTime',
     * format: 'MMMM dd, yyyy HH:mm', minWidth: 120, width: '190' }, { field: 'size', headerText: 'Size', minWidth: 90, width: '110',
     * template: '<span class="e-fe-size">${size}</span>' }
     * ]
     * }
     */
    detailsViewSettings?: DetailsViewSettingsModel;
    /**
     * Defines whether to allow the cross-scripting site or not.
     *
     * @default true
     */
    enableHtmlSanitizer?: boolean;
    /**
     * Enables or disables persisting component's state between page reloads. If enabled, the following APIs will persist:
     * 1. `view`: Represents the previous view of the file manager.
     * 2. `path`: Represents the previous path of the file manager.
     * 3. `selectedItems`: Represents the previous selected items in the file manager.
     *
     * @default false
     */
    enablePersistence?: boolean;
    /**
     * Gets or sets a value that enables/disables the virtualization feature of the File Manager.
     * When enabled, the File Manager will only load a subset of files and folders based on the size of the view port, with the rest being loaded dynamically as the user scrolls vertically through the list.
     * This can improve performance when dealing with a large number of files and folders, as it reduces the initial load time and memory usage.
     *
     * @default false
     */
    enableVirtualization?: boolean;
    /**
     * Specifies the height of the file manager.
     *
     * @default '400px'
     */
    height?: string | number;
    /**
     * Specifies the initial view of the file manager.
     * With the help of this property, initial view can be changed to details or largeicons view. The available views are:
     * * `LargeIcons`
     * * `Details`
     *
     * @default 'LargeIcons'
     */
    view?: ViewType;
    /**
     * Specifies the navigationpane settings of the file manager.
     *
     * @default {
     *  maxWidth: '650px',
     *  minWidth: '240px',
     *  visible: true,
     *  sortOrder: 'None'
     * }
     */
    navigationPaneSettings?: NavigationPaneSettingsModel;
    /**
     * Specifies the current path of the file manager.
     *
     * @default '/'
     */
    path?: string;
    /**
     * Specifies the target element in which the File Manager’s dialog will be displayed.
     * The default value is null, which refers to the File Manager element.
     *
     * @default null
     */
    popupTarget?: HTMLElement | string;
    /**
     * Specifies the search settings of the file manager.
     *
     * @default {
     *  allowSearchOnTyping: true,
     *  filterType: 'contains',
     *  ignoreCase: true
     * }
     */
    searchSettings?: SearchSettingsModel;
    /**
     * Specifies the selected folders and files name of the  file manager.
     *
     * @default []
     */
    selectedItems?: string[];
    /**
     * Shows or hides the file extension in file manager.
     *
     * @default true
     */
    showFileExtension?: boolean;
    /**
     * Specifies the root folder alias name in file manager
     *
     * @default null
     */
    rootAliasName?: string;
    /**
     * Determines whether to show or hide hidden files and folders.
     * This is applicable only for storage systems that support attributes for controlling the visibility of data, including physical file directories and custom flat data handlers.
     *
     * @default false
     */
    showHiddenItems?: boolean;
    /**
     * Shows or hides the thumbnail images in largeicons view.
     *
     * @default true
     */
    showThumbnail?: boolean;
    /**
     * Specifies a value that indicates whether the folders and files are sorted in the ascending or descending order,
     * or they are not sorted at all. The available types of sort orders are,
     * `None` - Indicates that the folders and files are not sorted.
     * `Ascending` - Indicates that the folders and files are sorted in the ascending order.
     * `Descending` - Indicates that the folders and files are sorted in the descending order.
     *
     * @default 'Ascending'
     */
    sortOrder?: SortOrder;
    /**
     * Specifies the field name being used as the sorting criteria to sort the files of the file manager component.
     *
     * @default 'name'
     */
    sortBy?: string;
    /**
     * Defines the custom sorting 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.
     * This can be used to customize the default sorting functionalities with required comparison values.
     *
     * @default null
     * @aspType string
     */
    sortComparer?: SortComparer | string;
    /**
     * Gets or sets a value that indicates whether the File Manager allows multiple items selection with mouse dragging.
     * Set this property to true to allow users to base.select multiple items with mouse drag as like file explorer. Hover over
     * the files or folders and drag the mouse to base.select the required items.
     *
     * @default false
     */
    enableRangeSelection?: 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;
    /**
     * An array of items that are used to configure File Manager toolbar items.
     *
     * @remarks
     * Use this property if you want to include custom toolbar items along with existing toolbar items. If both `toolbarSettings` and `toolbarItems` are defined, then items will be rendered based on toolbarItems.
     *
     * @default []
     *
     */
    toolbarItems?: ToolbarItemModel[];
    /**
     * Specifies the upload settings for the file manager.
     *
     * @default {
     *  autoUpload: true,
     *  minFileSize: 0,
     *  maxFileSize: 30000000,
     *  allowedExtensions: '',
     *  autoClose: false,
     *  directoryUpload: false
     * }
     */
    uploadSettings?: UploadSettingsModel;
    /**
     * Specifies the width of the file manager.
     *
     * @default '100%'
     */
    width?: string | number;
    /**
     * Triggers before the file/folder is rendered.
     *
     * @event fileLoad
     */
    fileLoad?: base.EmitType<FileLoadEventArgs>;
    /**
     * Triggers before the file/folder is opened.
     *
     * @event fileOpen
     */
    fileOpen?: base.EmitType<FileOpenEventArgs>;
    /**
     * Triggers before sending the download request to the server.
     *
     * @event beforeDownload
     */
    beforeDownload?: base.EmitType<BeforeDownloadEventArgs>;
    /**
     * Triggers before sending the getImage request to the server.
     *
     * @event beforeImageLoad
     */
    beforeImageLoad?: base.EmitType<BeforeImageLoadEventArgs>;
    /**
     * Triggers before the dialog is closed.
     *
     * @event beforePopupClose
     */
    beforePopupClose?: base.EmitType<BeforePopupOpenCloseEventArgs>;
    /**
     * Triggers before the dialog is opened.
     *
     * @event beforePopupOpen
     */
    beforePopupOpen?: base.EmitType<BeforePopupOpenCloseEventArgs>;
    /**
     * Triggers before sending the AJAX request to the server.
     *
     * @event beforeSend
     */
    beforeSend?: base.EmitType<BeforeSendEventArgs>;
    /**
     * Triggers when the file manager component is created.
     *
     * @event created
     */
    created?: base.EmitType<Object>;
    /**
     * This event is triggered before a folder is created. It allows for the restriction of folder creation based on the application's use case.
     *
     * @event beforeFolderCreate
     */
    beforeFolderCreate?: base.EmitType<FolderCreateEventArgs>;
    /**
     * This event is triggered when a folder is successfully created. It provides an opportunity to retrieve details about the newly created folder.
     *
     * @event folderCreate
     */
    folderCreate?: base.EmitType<FolderCreateEventArgs>;
    /**
     * Triggers when the file manager component is destroyed.
     *
     * @event destroyed
     */
    destroyed?: base.EmitType<Object>;
    /**
     * This event is triggered before the deletion of a file or folder occurs. It can be utilized to prevent the deletion of specific files or folders. Any actions, such as displaying a spinner for deletion, can be implemented here.
     *
     * @event beforeDelete
     */
    beforeDelete?: base.EmitType<DeleteEventArgs>;
    /**
     * This event is triggered after the file or folder is deleted successfully. The deleted file or folder details can be retrieved here. Additionally, custom elements' visibility can be managed here based on the application's use case.
     *
     * @event delete
     */
    delete?: base.EmitType<DeleteEventArgs>;
    /**
     * This event is triggered when a file or folder is about to be renamed. It allows for the restriction of the rename action for specific folders or files by utilizing the cancel option.
     *
     * @event beforeRename
     */
    beforeRename?: base.EmitType<RenameEventArgs>;
    /**
     * This event is triggered when a file or folder is successfully renamed. It provides an opportunity to fetch details about the renamed file.
     *
     * @event rename
     */
    rename?: base.EmitType<RenameEventArgs>;
    /**
     * This event is triggered when a file or folder begins to move from its current path through a copy/cut and paste action.
     *
     * @event beforeMove
     */
    beforeMove?: base.EmitType<MoveEventArgs>;
    /**
     * This event is triggered when a file or folder is pasted into the destination path.
     *
     * @event move
     */
    move?: base.EmitType<MoveEventArgs>;
    /**
     * This event is triggered when a search action occurs in the search bar of the File Manager component. It triggers each character entered in the input during the search process.
     *
     * @event search
     */
    search?: base.EmitType<SearchEventArgs>;
    /**
     * Triggers when the file/folder dragging is started.
     *
     * @event fileDragStart
     */
    fileDragStart?: base.EmitType<FileDragEventArgs>;
    /**
     * Triggers while dragging the file/folder.
     *
     * @event fileDragging
     */
    fileDragging?: base.EmitType<FileDragEventArgs>;
    /**
     * Triggers when the file/folder is about to be dropped at the target.
     *
     * @event fileDragStop
     */
    fileDragStop?: base.EmitType<FileDragEventArgs>;
    /**
     * Triggers when the file/folder is dropped.
     *
     * @event fileDropped
     */
    fileDropped?: base.EmitType<FileDragEventArgs>;
    /**
     * Triggers before the file/folder is selected.
     *
     * @event fileSelection
     */
    fileSelection?: base.EmitType<FileSelectionEventArgs>;
    /**
     * Triggers when the file/folder is selected/unselected.
     *
     * @event fileSelect
     */
    fileSelect?: base.EmitType<FileSelectEventArgs>;
    /**
     * Triggers when the context menu item is clicked.
     *
     * @event menuClick
     */
    menuClick?: base.EmitType<MenuClickEventArgs>;
    /**
     * Triggers before the context menu is opened.
     *
     * @event menuOpen
     */
    menuOpen?: base.EmitType<MenuOpenEventArgs>;
    /**
     * Triggers before the context menu is closed.
     *
     * @event menuClose
     */
    menuClose?: base.EmitType<MenuCloseEventArgs>;
    /**
     * Triggers when the AJAX request is failed.
     *
     * @event failure
     */
    failure?: base.EmitType<FailureEventArgs>;
    /**
     * Triggers when the dialog is closed.
     *
     * @event popupClose
     */
    popupClose?: base.EmitType<PopupOpenCloseEventArgs>;
    /**
     * Triggers when the dialog is opened.
     *
     * @event popupOpen
     */
    popupOpen?: base.EmitType<PopupOpenCloseEventArgs>;
    /**
     * Triggers when the AJAX request is success.
     *
     * @event success
     */
    success?: base.EmitType<SuccessEventArgs>;
    /**
     * Triggers when the toolbar item is clicked.
     *
     * @event toolbarClick
     */
    toolbarClick?: base.EmitType<ToolbarClickEventArgs>;
    /**
     * Triggers before creating the toolbar.
     *
     * @event toolbarCreate
     */
    toolbarCreate?: base.EmitType<ToolbarCreateEventArgs>;
    /**
     * Triggers before rendering each file item in upload dialog box.
     *
     * @event uploadListCreate
     */
    uploadListCreate?: base.EmitType<UploadListCreateArgs>;
}
//node_modules/@syncfusion/ej2-filemanager/src/file-manager/base/constant.d.ts
/**
 * Specifies the File Manager internal variables
 */
/** @hidden */
export  const isFile: string;
/**
 * Specifies the File Manager internal events
 */
/** @hidden */
export  const modelChanged: string;
/** @hidden */
export  const initialEnd: string;
/** @hidden */
export  const finalizeEnd: string;
/** @hidden */
export  const createEnd: string;
/** @hidden */
export  const filterEnd: string;
/** @hidden */
export  const beforeDelete: string;
/** @hidden */
export  const pathDrag: string;
/** @hidden */
export  const deleteInit: string;
/** @hidden */
export  const deleteEnd: string;
/** @hidden */
export  const refreshEnd: string;
/** @hidden */
export  const resizeEnd: string;
/** @hidden */
export  const splitterResize: string;
/** @hidden */
export  const pathChanged: string;
/** @hidden */
export  const destroy: string;
/** @hidden */
export  const beforeRequest: string;
/** @hidden */
export  const upload: string;
/** @hidden */
export  const skipUpload: string;
/** @hidden */
export  const afterRequest: string;
/** @hidden */
export  const download: string;
/** @hidden */
export  const layoutRefresh: string;
/** @hidden */
export  const actionFailure: string;
/** @hidden */
export  const search: string;
/** @hidden */
export  const openInit: string;
/** @hidden */
export  const openEnd: string;
/** @hidden */
export  const selectionChanged: string;
/** @hidden */
export  const selectAllInit: string;
/** @hidden */
export  const clearAllInit: string;
/** @hidden */
export  const clearPathInit: string;
/** @hidden */
export  const layoutChange: string;
/** @hidden */
export  const sortByChange: string;
/** @hidden */
export  const nodeExpand: string;
/** @hidden */
export  const detailsInit: string;
/** @hidden */
export  const menuItemData: string;
/** @hidden */
export  const renameInit: string;
/** @hidden */
export  const renameEndParent: string;
/** @hidden */
export  const renameEnd: string;
/** @hidden */
export  const showPaste: string;
/** @hidden */
export  const hidePaste: string;
/** @hidden */
export  const selectedData: string;
/** @hidden */
export  const cutCopyInit: string;
/** @hidden */
export  const pasteInit: string;
/** @hidden */
export  const pasteEnd: string;
/** @hidden */
export  const cutEnd: string;
/** @hidden */
export  const hideLayout: string;
/** @hidden */
export  const updateTreeSelection: string;
/** @hidden */
export  const treeSelect: string;
/** @hidden */
export  const sortColumn: string;
/** @hidden */
export  const pathColumn: string;
/** @hidden */
export  const searchTextChange: string;
/** @hidden */
export  const beforeDownload: string;
/** @hidden */
export  const downloadInit: string;
/** @hidden */
export  const dropInit: string;
/** @hidden */
export  const dragEnd: string;
/** @hidden */
export  const dropPath: string;
/** @hidden */
export  const dragHelper: string;
/** @hidden */
export  const dragging: string;
/** @hidden */
export  const updateSelectionData: string;
/** @hidden */
export  const methodCall: string;
/** @hidden */
export  const permissionRead: string;
/** @hidden */
export  const permissionEdit: string;
/** @hidden */
export  const permissionEditContents: string;
/** @hidden */
export  const permissionCopy: string;
/** @hidden */
export  const permissionUpload: string;
/** @hidden */
export  const permissionDownload: string;
//node_modules/@syncfusion/ej2-filemanager/src/file-manager/base/classes.d.ts
/**
 * Specifies the File Manager internal ID's
 */
/** @hidden */
export  const TOOLBAR_ID: string;
/** @hidden */
export  const LAYOUT_ID: string;
/** @hidden */
export  const NAVIGATION_ID: string;
/** @hidden */
export  const TREE_ID: string;
/** @hidden */
export  const GRID_ID: string;
/** @hidden */
export  const LARGEICON_ID: string;
/** @hidden */
export  const DIALOG_ID: string;
/** @hidden */
export  const ALT_DIALOG_ID: string;
/** @hidden */
export  const IMG_DIALOG_ID: string;
/** @hidden */
export  const EXTN_DIALOG_ID: string;
/** @hidden */
export  const UPLOAD_DIALOG_ID: string;
/** @hidden */
export  const RETRY_DIALOG_ID: string;
/** @hidden */
export  const CONTEXT_MENU_ID: string;
/** @hidden */
export  const SORTBY_ID: string;
/** @hidden */
export  const VIEW_ID: string;
/** @hidden */
export  const SPLITTER_ID: string;
/** @hidden */
export  const CONTENT_ID: string;
/** @hidden */
export  const BREADCRUMBBAR_ID: string;
/** @hidden */
export  const UPLOAD_ID: string;
/** @hidden */
export  const RETRY_ID: string;
/** @hidden */
export  const SEARCH_ID: string;
/**
 * Specifies the File Manager internal class names
 */
/** @hidden */
export  const ROOT: string;
/** @hidden */
export  const CONTROL: string;
/** @hidden */
export  const CHECK_SELECT: string;
/** @hidden */
export  const ROOT_POPUP: string;
/** @hidden */
export  const MOBILE: string;
/** @hidden */
export  const MOB_POPUP: string;
/** @hidden */
export  const MULTI_SELECT: string;
/** @hidden */
export  const FILTER: string;
/** @hidden */
export  const LAYOUT: string;
/** @hidden */
export  const NAVIGATION: string;
/** @hidden */
export  const LAYOUT_CONTENT: string;
/** @hidden */
export  const LARGE_ICONS: string;
/** @hidden */
export  const TB_ITEM: string;
/** @hidden */
export  const LIST_ITEM: string;
/** @hidden */
export  const LIST_TEXT: string;
/** @hidden */
export  const LIST_PARENT: string;
/** @hidden */
export  const TB_OPTION_TICK: string;
/** @hidden */
export  const TB_OPTION_DOT: string;
/** @hidden */
export  const BLUR: string;
/** @hidden */
export  const ACTIVE: string;
/** @hidden */
export  const HOVER: string;
/** @hidden */
export  const FOCUS: string;
/** @hidden */
export  const FOCUSED: string;
/** @hidden */
export  const CHECK: string;
/** @hidden */
export  const FRAME: string;
/** @hidden */
export  const CB_WRAP: string;
/** @hidden */
export  const ROW: string;
/** @hidden */
export  const ROWCELL: string;
/** @hidden */
export  const EMPTY: string;
/** @hidden */
export  const EMPTY_CONTENT: string;
/** @hidden */
export  const EMPTY_INNER_CONTENT: string;
/** @hidden */
export  const CLONE: string;
/** @hidden */
export  const DROP_FOLDER: string;
/** @hidden */
export  const DROP_FILE: string;
/** @hidden */
export  const FOLDER: string;
/** @hidden */
export  const ICON_IMAGE: string;
/** @hidden */
export  const ICON_MUSIC: string;
/** @hidden */
export  const ICON_VIDEO: string;
/** @hidden */
export  const LARGE_ICON: string;
/** @hidden */
export  const LARGE_EMPTY_FOLDER: string;
/** @hidden */
export  const LARGE_EMPTY_FOLDER_TWO: string;
/** @hidden */
export  const LARGE_ICON_FOLDER: string;
/** @hidden */
export  const SELECTED_ITEMS: string;
/** @hidden */
export  const TEXT_CONTENT: string;
/** @hidden */
export  const GRID_HEADER: string;
/** @hidden */
export  const TEMPLATE_CELL: string;
/** @hidden */
export  const TREE_VIEW: string;
/** @hidden */
export  const MENU_ITEM: string;
/** @hidden */
export  const MENU_ICON: string;
/** @hidden */
export  const SUBMENU_ICON: string;
/** @hidden */
export  const GRID_VIEW: string;
/** @hidden */
export  const GRID_CONTENT: string;
/** @hidden */
export  const ICON_VIEW: string;
/** @hidden */
export  const ICON_OPEN: string;
/** @hidden */
export  const ICON_UPLOAD: string;
/** @hidden */
export  const ICON_CUT: string;
/** @hidden */
export  const ICON_COPY: string;
/** @hidden */
export  const ICON_PASTE: string;
/** @hidden */
export  const ICON_DELETE: string;
/** @hidden */
export  const ICON_RENAME: string;
/** @hidden */
export  const ICON_NEWFOLDER: string;
/** @hidden */
export  const ICON_DETAILS: string;
/** @hidden */
export  const ICON_SHORTBY: string;
/** @hidden */
export  const ICON_REFRESH: string;
/** @hidden */
export  const ICON_SELECTALL: string;
/** @hidden */
export  const ICON_DOWNLOAD: string;
/** @hidden */
export  const ICON_OPTIONS: string;
/** @hidden */
export  const ICON_GRID: string;
/** @hidden */
export  const ICON_LARGE: string;
/** @hidden */
export  const ICON_BREADCRUMB: string;
/** @hidden */
export  const ICON_CLEAR: string;
/** @hidden */
export  const ICON_DROP_IN: string;
/** @hidden */
export  const ICON_DROP_OUT: string;
/** @hidden */
export  const ICON_NO_DROP: string;
/** @hidden */
export  const ICONS: string;
/** @hidden */
export  const DETAILS_LABEL: string;
/** @hidden */
export  const ERROR_CONTENT: string;
/** @hidden */
export  const STATUS: string;
/** @hidden */
export  const BREADCRUMBS: string;
/** @hidden */
export  const RTL: string;
/** @hidden */
export  const DISPLAY_NONE: string;
/** @hidden */
export  const COLLAPSED: string;
/** @hidden */
export  const FULLROW: string;
/** @hidden */
export  const ICON_COLLAPSIBLE: string;
/** @hidden */
export  const SPLIT_BAR: string;
/** @hidden */
export  const HEADER_CHECK: string;
/** @hidden */
export  const OVERLAY: string;
/** @hidden */
export  const VALUE: string;
//node_modules/@syncfusion/ej2-filemanager/src/file-manager/actions/virtualization.d.ts
export  class Virtualization {
    constructor(instance: FileManager);
    private filemanagerInstance;
    private largeIconInstance;
    private itemCount;
    private rowItemCount;
    private items;
    private itemList;
    private scrollPosition;
    private totalHeight;
    private listItemHeight;
    private topElementHeight;
    private bottomElementHeight;
    private renderedCount;
    private lastRowCount;
    private topElement;
    private bottomElement;
    private listDiff;
    /**
     * Sets up UI virtualization for the large icon view.
     *
     * @returns {void}
     */
    setUIVirtualization(): void;
    /**
     * Sets the height of the top and bottom elements that are used for virtualization.
     * These elements are used to give the appearance of an infinitely scrolling list.
     *
     * @returns {void}
     */
    setUlElementHeight(): void;
    /**
     * Calculates the number of items to display in the list based on the available width and height.
     *
     * @param {number} dataSourceLength The length of the data source.
     * @returns {number} The number of items to display.
     */
    private getItemCount;
    /**
     * Wires or un wires the scroll event for the list element.
     *
     * @param {boolean} destroy - Set `true` to unwire the scroll event.
     * @returns {void}
     */
    wireScrollEvent(destroy: boolean): void;
    /**
     * Handles the scroll event for the list element.
     * This method updates the top and bottom elements and the displayed items based on the scroll position.
     *
     * @returns {void}
     * @private
     */
    private onVirtualUiScroll;
    /**
     * Calculates the current scroll position of the list element.
     *
     * @param {number} startingHeight The starting height from which to calculate the scroll position.
     * @returns {number} The current scroll position.
     * @private
     */
    private getscrollerHeight;
    /**
     * This method updates the displayed items and the selection based on the scroll direction.
     *
     * @param {number} listDiff The number of rows to update.
     * @param {boolean} isScrollingDown If set to true, the scroll direction is downward.
     * @returns {void}
     * @private
     */
    private onNormalScroll;
    /**
     * Updates the items in the large icons view.
     *
     * @param {boolean} isScrollingDown - If set to true, the scroll direction is downward.
     * @returns {void}
     * @private
     */
    private updateUI;
    /**
     * For internal use only - Get the module name.
     *
     * @returns {string} - returns the module name.
     * @private
     */
    private getModuleName;
    /**
     * Destroys the component.
     *
     * @returns {void}
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-filemanager/src/file-manager/actions/toolbar.d.ts
/**
 * Toolbar module
 */
export  class Toolbar {
    private parent;
    private items;
    private buttonObj;
    private layoutBtnObj;
    private default;
    private single;
    private multiple;
    private selection;
    toolbarObj: navigations.Toolbar;
    /**
     * Constructor for the Toolbar module
     *
     * @hidden
     * @param {IFileManager} parent - specifies the parent element.
     * @private
     */
    constructor(parent?: IFileManager);
    private render;
    getItemIndex(item: string): number;
    private getItems;
    private onClicked;
    private toolbarCreateHandler;
    private updateSortByButton;
    private getPupupId;
    private layoutChange;
    private toolbarItemData;
    private getItemModel;
    private getId;
    private addEventListener;
    private reRenderToolbar;
    private onSelectionChanged;
    private hideItems;
    private hideStatus;
    private showPaste;
    private hidePaste;
    private onLayoutChange;
    private removeEventListener;
    /**
     * For internal use only - Get the module name.
     *
     * @returns {string} - returns module name.
     * @private
     */
    private getModuleName;
    private onPropertyChanged;
    destroy(): void;
    enableItems(items: string[], isEnable?: boolean): void;
}
//node_modules/@syncfusion/ej2-filemanager/src/file-manager/actions/breadcrumb-bar.d.ts
/**
 * BreadCrumbBar module
 */
export  class BreadCrumbBar {
    private parent;
    addressPath: string;
    addressBarLink: string;
    searchObj: inputs.TextBox;
    private subMenuObj;
    private keyboardModule;
    private searchTimer;
    private keyConfigs;
    private searchWrapWidth;
    /**
     * constructor for addressbar module
     *
     * @hidden
     * @param {IFileManager} parent - specifies parent element.
     * @private
     *
     */
    constructor(parent?: IFileManager);
    private onPropertyChanged;
    private render;
    onPathChange(): void;
    private updateBreadCrumbBar;
    private onFocus;
    private onKeyUp;
    private onBlur;
    private subMenuSelectOperations;
    private addSubMenuAttributes;
    private searchEventBind;
    private searchChangeHandler;
    private addressPathClickHandler;
    private triggerFileOpen;
    private onShowInput;
    private updatePath;
    private onUpdatePath;
    private onCreateEnd;
    private onRenameEnd;
    private onDeleteEnd;
    private removeSearchValue;
    private onResize;
    private onPasteEnd;
    private addEventListener;
    private keyActionHandler;
    private removeEventListener;
    private onDropInit;
    /**
     * For internal use only - Get the module name.
     *
     * @returns {string} - returns the module name
     * @private
     */
    private getModuleName;
    destroy(): void;
    private onSearchTextChange;
}
 }
export namespace gantt { 

//node_modules/@syncfusion/ej2-gantt/src/components.d.ts
/**
 * Gantt Component
 */
//node_modules/@syncfusion/ej2-gantt/src/gantt/renderer/virtual-content-render.d.ts
/**
 * virtual Content renderer for Gantt
 */
export  class VirtualContentRenderer {
    private parent;
    private wrapper;
    private virtualTrack;
    constructor(parent: Gantt);
    /**
     * To render a wrapper for chart body content when virtualization is enabled.
     *
     * @returns {void} .
     * @hidden
     */
    renderWrapper(): void;
    /**
     * To append child elements for wrappered element when virtualization is enabled.
     *
     * @param {HTMLElement} element .
     * @returns {void} .
     * @hidden
     */
    appendChildElements(element: HTMLElement): void;
    /**
     * To adjust gantt content table's style when virtualization is enabled
     *
     * @returns {void} .
     * @hidden
     */
    adjustTable(): void;
}
//node_modules/@syncfusion/ej2-gantt/src/gantt/renderer/tooltip.d.ts
/**
 * File for handling tooltip in Gantt.
 */
export  class Tooltip {
    parent: Gantt;
    toolTipObj: popups.Tooltip;
    private predecessorTooltipData;
    private currentTarget;
    private tooltipMouseEvent;
    constructor(gantt: Gantt);
    /**
     * To create tooltip.
     *
     * @returns {void} .
     * @private
     */
    createTooltip(): void;
    private tooltipBeforeRender;
    private tooltipCloseHandler;
    private mouseMoveHandler;
    /**
     * Method to update tooltip position
     *
     * @param {popups.TooltipEventArgs} args .
     * @returns {void} .
     */
    private updateTooltipPosition;
    /**
     * Method to get mouse pointor position
     *
     * @param {Event} e .
     * @returns {number} .
     */
    private getPointorPosition;
    /**
     *  Getting tooltip content for different elements
     *
     * @param {string} elementType .
     * @param {IGanttData} ganttData .
     * @param {Gantt} parent .
     * @param {popups.TooltipEventArgs} args .
     * @returns {string | Function} .
     */
    private getTooltipContent;
    /**
     * To get the details of an event marker.
     *
     * @param {popups.TooltipEventArgs} args .
     * @returns {EventMarkerModel} .
     * @private
     */
    getMarkerTooltipData(args: popups.TooltipEventArgs): EventMarkerModel;
    /**
     * To get the details of a connector line.
     *
     * @param {popups.TooltipEventArgs} args .
     * @returns {PredecessorTooltip} .
     * @private
     */
    getPredecessorTooltipData(args: popups.TooltipEventArgs): PredecessorTooltip;
    /**
     * To compile template string.
     *
     * @param {string | Function} template .
     * @param {Gantt} parent .
     * @param {IGanttData|PredecessorTooltip} data .
     * @param {string} propName .
     * @returns {NodeList} .
     * @private
     */
    templateCompiler(template: string | Function, parent: Gantt, data: IGanttData | PredecessorTooltip | Object, propName: string): NodeList;
    private destroy;
}
//node_modules/@syncfusion/ej2-gantt/src/gantt/renderer/timeline.d.ts
/**
 * Configures the `Timeline` of the gantt.
 */
export  class Timeline {
    private parent;
    timelineStartDate: Date;
    timelineEndDate: Date;
    topTierCellWidth: number;
    bottomTierCellWidth: number;
    customTimelineSettings: TimelineSettingsModel;
    chartTimelineContainer: HTMLElement;
    topTier: string;
    bottomTier: string;
    isSingleTier: boolean;
    private previousIsSingleTier;
    timelineRoundOffEndDate: Date;
    totalTimelineWidth: number;
    isZoomIn: boolean;
    isZooming: boolean;
    isZoomToFit: boolean;
    topTierCollection: TimelineFormat[];
    bottomTierCollection: TimelineFormat[];
    pdfExportTopTierCollection: TimelineFormat[];
    pdfExportBottomTierCollection: TimelineFormat[];
    wholeTimelineWidth: number;
    restrictRender: boolean;
    weekendEndDate: Date;
    private clientWidthDifference;
    private applyDstHour;
    private performedTimeSpanAction;
    private dstIncreaseHour;
    private fromDummyDate;
    isZoomedToFit: boolean;
    isZoomingAction: boolean;
    private increaseIteration;
    private isFirstLoop;
    private inconsistenceDstApplied;
    constructor(ganttObj?: Gantt);
    /**
     * To initialize the public property.
     *
     * @returns {void}
     * @private
     */
    private initProperties;
    /**
     * To render timeline header series.
     *
     * @returns {void}
     * @private
     */
    validateTimelineProp(): void;
    /**
     * Function used to refresh Gantt rows.
     *
     * @returns {void}
     * @private
     */
    refreshTimeline(): void;
    /**
     * Function used to refresh Gantt rows.
     *
     * @returns {void}
     * @private
     */
    refreshTimelineByTimeSpan(): void;
    /**
     * Function used to refresh Gantt rows.
     *
     * @returns {void}
     * @private
     */
    updateChartByNewTimeline(): void;
    /**
     * Function used to perform Zoomin and Zoomout actions in Gantt control.
     *
     * @param {boolean} isZoomIn .
     * @private
     * @returns {void}
     */
    processZooming(isZoomIn: boolean): void;
    private updateUndoRedo;
    private getZoomLevel;
    private updateToolbar;
    /**
     * To change the timeline settings property values based upon the Zooming levels.
     *
     * @param {ZoomTimelineSettings} newTimeline .
     * @returns {void}
     * @private
     */
    private changeTimelineSettings;
    /**
     * To perform the zoom to fit operation in Gantt.
     *
     * @returns {void}
     * @private
     */
    processZoomToFit(): void;
    private bottomTierCellWidthCalc;
    private roundOffDateToZoom;
    /**
     * Calculates the number of timeline cells required for a given timeline configuration.
     *
     * @param {ZoomTimelineSettings} newTimeline - The configuration settings for the timeline, including tier settings.
     * @returns {number} - Returns the calculated number of timeline cells based on the unit and count.
     *
     * The method determines the number of days between the project start and end dates, adjusts this value
     * by excluding non-working days if weekends are hidden, and calculates the number of timeline cells
     * that fit within this adjusted duration according to the specified timeline settings.
     */
    private calculateNumberOfTimelineCells;
    /**
     * To validate time line unit.
     *
     * @returns {void}
     * @private
     */
    processTimelineUnit(): void;
    /**
     * To validate timeline properties.
     *
     * @returns {void}
     * @private
     */
    private processTimelineProperty;
    /**
     * To find the current zooming level of the Gantt control.
     *
     * @returns {void}
     * @private
     */
    calculateZoomingLevelsPerDayWidth(): void;
    /**
     * To find the current zooming level of the Gantt control.
     *
     * @returns {void}
     * @private
     */
    private checkCurrentZoomingLevel;
    /**
     * @param {string} unit .
     * @param {number} count .
     * @param {string} tier .
     * @returns {number} .
     * @private
     */
    private getCurrentZoomingLevel;
    /**
     * Getting closest zooimg level.
     *
     * @param {string} unit .
     * @param {string} closetUnit .
     * @param {boolean} isCont .
     * @returns {string} .
     * @private
     */
    private getClosestUnit;
    private checkCollectionsWidth;
    /**
     * To create timeline header template.
     *
     * @returns {void}
     * @private
     */
    updateTimelineHeaderHeight(): void;
    /**
     * Calculates the corresponding date for a given left pixel value on the timeline.
     *
     * @param {number} left - The left position in pixels to be converted to a date.
     * @param {boolean} isMilestone - (Optional) A boolean indicating whether the date refers to a milestone.
     * @param {ITaskData} property - (Optional) An object containing task data, used when adjusting for milestones.
     * @returns {Date} - Returns the calculated date according to the Gantt chart's timeline settings.
     *
     * This method converts a pixel-based position on the Gantt timeline to an actual date,
     * taking into account working days, non-working days, and adjustments for daylight saving
     * time. If weekends are hidden, it calculates the date based on working weeks.
     * For milestones, it adjusts the date by determining the accurate end time.
     */
    private dateByLeftValue;
    /**
     * Calculates a date by considering a given distance in pixels and excluding non-working days.
     *
     * This function takes into account the width of each day in the Gantt chart as well as non-working days to compute the resulting date from a specified pixel position.
     * It returns the date that corresponds to the pixel distance from `pStartDate`.
     *
     * @param {number} left - The distance in pixels from the start date to calculate the date.
     * @param {Date} pStartDate - The start date from which to calculate the resulting date.
     * @returns {Date} - Returns the calculated date excluding non-working days.
     */
    calculateDateExcludingNonWorkingDays(left: number, pStartDate: Date): Date;
    /**
     * To create timeline header template.
     *
     * @returns {void}
     * @private
     */
    createTimelineSeries(): void;
    timelineVirtualizationStyles(): void;
    /**
     * To validate timeline tier count.
     *
     * @param {string} mode .
     * @param {number} count .
     * @param {string} tier .
     * @returns {number} .
     * @private
     */
    private validateCount;
    /**
     * To validate bottom tier count.
     *
     * @param {string} mode .
     * @param {number} tierCount .
     * @returns {number} .
     * @private
     */
    private validateBottomTierCount;
    /**
     * To validate timeline tier format.
     *
     * @param {string} mode .
     * @param {string} format .
     * @returns {string} .
     * @private
     */
    private validateFormat;
    /**
     * To perform extend operation.
     *
     * @param {object} cloneObj .
     * @param {string[]} propertyCollection .
     * @param {object} innerProperty .
     * @returns {object} .
     * @private
     */
    extendFunction(cloneObj: Object, propertyCollection: string[], innerProperty?: Object): Object;
    /**
     * To format date.
     *
     * @param {string} dayFormat .
     * @param {Date} data .
     * @param {Date} dummyStartDate .
     * @returns {string} .
     * @private
     */
    private formatDateHeader;
    private isDateAffectedByDST;
    private calculateIteration;
    private updateHourInFormat;
    /**
     * Custom Formatting.
     *
     * @param {Date} date .
     * @param {string} format .
     * @param {string} tier .
     * @param {string} mode .
     * @param {string | ITimelineFormatter} formatter .
     * @returns {string} .
     * @private
     */
    private customFormat;
    /**
     * To create timeline template .
     *
     * @param {string} tier .
     * @returns {string} .
     * @private
     */
    private createTimelineTemplate;
    private isNonWorkingDayHeader;
    updateTimelineAfterZooming(endDate: Date, resized: boolean): void;
    private getTimelineRoundOffEndDate;
    /**
     *
     * @param {Date} startDate .
     * @param {number} count .
     * @param {string} mode .
     * @param {boolean} [isFirstCell] .
     * @param {boolean} [dateIncrement] .
     * @returns {number} .
     * @private
     */
    getIncrement(startDate: Date, count: number, mode: string, isFirstCell?: boolean, dateIncrement?: boolean): number;
    private resetToNextYear;
    private resetToNextMonth;
    private resetToNextDay;
    private resetToNextHour;
    private resetToNextMinute;
    private adjustForDST;
    /**
     * Method to find header cell was weekend or not
     *
     * @param {string} mode .
     * @param {string} tier .
     * @param {Date} day .
     * @returns {boolean} .
     */
    private isWeekendHeaderCell;
    private calculateQuarterEndDate;
    calculateTotalHours(mode: string, count: number): number;
    /**
     * To construct template string.
     *
     * @param {Date} scheduleWeeks .
     * @param {string} mode .
     * @param {string} tier .
     * @param {boolean} isLast .
     * @param {number} count .
     * @param {TimelineFormat} timelineCell .
     * @returns {string} .
     * @private
     */
    private getHeaterTemplateString;
    /**
     * Calculates the total number of non-working days between two given dates.
     *
     * @param {Date} startDate - The start date of the period to check for non-working days.
     * @param {Date} endDate - The end date of the period to check for non-working days.
     * @returns {number} - Returns the total count of non-working days between the specified dates.
     *
     * This method takes into account complete weeks and any additional days, calculating
     * non-working days within complete weeks based on the known non-working day indices.
     * It iterates through any extra days beyond complete weeks to check if they are non-working.
     */
    calculateNonWorkingDaysBetweenDates(startDate: Date, endDate: Date): number;
    /**
     * Determines if a given date is a weekend or a non-working day.
     *
     * @param {Date} date - The date to check.
     * @returns {boolean} - Returns `true` if the specified date is a non-working day, otherwise `false`.
     *
     * This method checks if the day of the given date falls within the defined non-working days.
     * The non-working days are identified using the `nonWorkingDayIndex` from the parent configuration.
     */
    private isWeekend;
    /**
     * To calculate last 'th' width.
     *
     * @param {string} mode .
     * @param {Date} scheduleWeeks .
     * @param {Date} endDate .
     * @param {TimelineFormat} timelineCell .
     * @param {boolean} isLast .
     * @returns {number} .
     * @private
     */
    private calculateWidthBetweenTwoDate;
    /**
     * To calculate timeline width.
     *
     * @returns {void} .
     * @private
     */
    private timelineWidthCalculation;
    /**
     * To validate per day width.
     *
     * @param {number} timelineUnitSize .
     * @param {number} bottomTierCount .
     * @param {string} mode .
     * @returns {number} .
     * @private
     */
    private getPerDayWidth;
    /**
     * To validate project start date and end date.
     *
     * @returns {void} .
     * @private
     */
    private roundOffDays;
    /**
     * To validate project start date and end date.
     *
     * @param {string} mode .
     * @param {string} span .
     * @param {Date} startDate .
     * @param {Date} endDate .
     * @returns {void} .
     * @private
     */
    updateScheduleDatesByToolBar(mode: string, span: string, startDate: Date, endDate: Date): void;
    /**
     * To validate project start date and end date.
     *
     * @param {IGanttData[]} tempArray .
     * @param {string} action .
     * @returns {void} .
     * @private
     */
    updateTimeLineOnEditing(tempArray: IGanttData[][], action: string): void;
    /**
     * To validate project start date and end date on editing action
     *
     * @param {string} type .
     * @param {string} isFrom .
     * @param {Date} startDate .
     * @param {Date} endDate .
     * @param {string} mode .
     * @returns {void} .
     * @private
     */
    performTimeSpanAction(type: string, isFrom: string, startDate: Date, endDate: Date, mode?: string): void;
    /**
     * To validate project start date and end date.
     *
     * @param {string} eventType .
     * @param {string} requestType .
     * @param {string} isFrom .
     * @returns {void}
     * @private
     */
    timeSpanActionEvent(eventType: string, requestType?: string, isFrom?: string): ITimeSpanEventArgs;
}
//node_modules/@syncfusion/ej2-gantt/src/gantt/renderer/render.d.ts
/**
 * Add renderer for all individual elements
 */
//node_modules/@syncfusion/ej2-gantt/src/gantt/renderer/nonworking-day.d.ts
/**
 * To render holidays and weekends in Gantt
 */
export  class NonWorkingDay {
    private parent;
    nonworkingContainer: HTMLElement;
    private holidayContainer;
    private weekendContainer;
    private weekendWidthUpdated;
    constructor(gantt: Gantt);
    /**
     * Method append nonworking container
     *
     * @returns {void} .
     */
    private createNonworkingContainer;
    /**
     * calculation for holidays rendering.
     *
     * @returns {void} .
     * @private
     */
    renderHolidays(): void;
    /**
     * Method to return holidays as html string
     *
     * @returns {HTMLElement} .
     */
    private getHolidaysElement;
    /**
     * @returns {void} .
     * @private
     */
    renderWeekends(): void;
    /**
     * Method to get weekend html string
     *
     * @returns {HTMLElement} .
     */
    private getWeekendElements;
    private updateHolidayLabelHeight;
    /**
     * Method to update height for all internal containers
     *
     * @returns {void} .
     * @private
     */
    updateContainerHeight(): void;
    /**
     * Method to remove containers of holiday and weekend
     *
     * @returns {void} .
     */
    removeContainers(): void;
}
//node_modules/@syncfusion/ej2-gantt/src/gantt/renderer/event-marker.d.ts
/**
 * To render and update event markers in Gantt
 */
export  class EventMarker {
    parent: Gantt;
    eventMarkersContainer: HTMLElement;
    constructor(gantt: Gantt);
    /**
     * @returns {void} .
     * @private
     */
    renderEventMarkers(): void;
    /**
     * @returns {void} .
     * @private
     */
    removeContainer(): void;
    /**
     * Method to get event markers as html string
     *
     * @param {HTMLElement} container .
     * @returns {void} .
     */
    private getEventMarkersElements;
    /**
     * @returns {void} .
     * @private
     */
    updateContainerHeight(): void;
}
//node_modules/@syncfusion/ej2-gantt/src/gantt/renderer/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;
    private toolTipHeight;
    constructor(gantt: Gantt, taskbarEdit: TaskbarEdit);
    /**
     * To create tooltip.
     *
     * @param {string} opensOn .
     * @param {boolean} mouseTrail .
     * @param {string} target .
     * @returns {void}
     * @private
     */
    createTooltip(opensOn: string, mouseTrail: boolean, target?: string): void;
    /**
     * Method to update tooltip position
     *
     * @param {TooltipEventArgs} args .
     * @returns {void} .
     */
    private updateTooltipPosition;
    /**
     * To show/hide taskbar edit tooltip.
     *
     * @param {boolean} bool .
     * @param {number} segmentIndex .
     * @returns {void}
     * @private
     */
    showHideTaskbarEditTooltip(bool: boolean, segmentIndex: number): void;
    /**
     * To update tooltip content and position.
     *
     * @param {number} segmentIndex .
     * @returns {void} .
     * @private
     */
    updateTooltip(segmentIndex: number): void;
    /**
     * To get updated tooltip text.
     *
     * @param {number} segmentIndex .
     * @returns {void} .
     * @private
     */
    private getTooltipText;
}
//node_modules/@syncfusion/ej2-gantt/src/gantt/renderer/connector-line.d.ts
/**
 * To render the connector line in Gantt
 */
export  class ConnectorLine {
    private transform;
    private connectorLinePath;
    private arrowPath;
    private taskLineValue;
    private x1;
    private x2;
    private x3;
    private x4;
    private y1;
    private y2;
    private y3;
    private y4;
    private point1;
    private point2;
    private parent;
    dependencyViewContainer: HTMLElement;
    private lineColor;
    private lineStroke;
    tooltipTable: HTMLElement;
    renderer: svgBase.SvgRenderer;
    private connectorId;
    private parentRowIndexHeight;
    private childRowIndexHeight;
    private lastRowIndexHeight;
    /**
     * @hidden
     */
    expandedRecords: IGanttData[];
    svgObject: Element;
    private connectorPath;
    private arrowlinePath;
    private groupObject;
    constructor(ganttObj?: Gantt);
    /**
     * To get connector line gap.
     *
     * @param {IConnectorLineObject} data .
     * @returns {number} .
     * @private
     */
    private getconnectorLineGap;
    /**
     * To initialize the public property.
     *
     * @returns {void}
     * @private
     */
    initPublicProp(): void;
    private getTaskbarMidpoint;
    /**
     * To connector line object collection.
     *
     * @param {IGanttData} parentGanttData .
     * @param {IGanttData} childGanttData .
     * @param {IPredecessor}  predecessor .
     * @param {number} rowHeight .
     * @returns {void}
     * @private
     */
    createConnectorLineObject(parentGanttData: IGanttData, childGanttData: IGanttData, predecessor: IPredecessor, rowHeight?: number): IConnectorLineObject;
    /**
     * To render connector line.
     *
     * @param {IConnectorLineObject} connectorLinesCollection .
     * @returns {void}
     * @private
     */
    renderConnectorLines(connectorLinesCollection: IConnectorLineObject[]): void;
    /**
     * To get parent position.
     *
     * @param {IConnectorLineObject} data .
     * @returns {void}
     * @private
     */
    private getParentPosition;
    /**
     * To get line height.
     *
     * @param {IConnectorLineObject} data .
     * @returns {void}
     * @private
     */
    private getHeightValue;
    /**
     * To get sstype2 inner element width.
     *
     * @param {IConnectorLineObject} data .
     * @returns {void}
     * @private
     */
    private getInnerElementWidthSSType2;
    /**
     * To get sstype2 inner element left.
     *
     * @param {IConnectorLineObject} data .
     * @returns {void}
     * @private
     */
    private getInnerElementLeftSSType2;
    /**
     * To get sstype2 inner child element width.
     *
     * @param {IConnectorLineObject} data .
     * @returns {void}
     * @private
     */
    private getInnerChildWidthSSType2;
    private calculateAdjustments;
    private shouldAdjustForBaseline;
    private updateParentChildRowsHeight;
    /**
     * To get connector line template.
     *
     * @param {IConnectorLineObject} data .
     * @returns {void}
     * @private
     */
    getConnectorLineTemplate(data: IConnectorLineObject): Element;
    /**
     * @param {IConnectorLineObject} data .
     * @param {string} type .
     * @param {number} heightValue .
     * @returns {number} .
     * @private
     */
    private getPosition;
    /**
     * @returns {void} .
     * @private
     */
    createConnectorLineTooltipTable(): void;
    /**
     * @param {string} fromTaskName .
     * @param {string} fromPredecessorText .
     * @param {string} toTaskName .
     * @param {string} toPredecessorText .
     * @returns {string} .
     * @private
     */
    getConnectorLineTooltipInnerTd(fromTaskName: string, fromPredecessorText: string, toTaskName?: string, toPredecessorText?: string): Element;
    /**
     * Generate aria-label for connectorline
     *
     * @param {IConnectorLineObject} data .
     * @returns {string} .
     * @private
     */
    generateAriaLabel(data: IConnectorLineObject): string;
    /**
     * To get the record based on the predecessor value
     *
     * @param {string} id .
     * @returns {IGanttData} .
     * @private
     */
    getRecordByID(id: string): IGanttData;
    /**
     * Method to remove connector line from DOM
     *
     * @param {IGanttData[] | object} records .
     * @returns {void} .
     * @private
     */
    removePreviousConnectorLines(records: IGanttData[] | object): void;
    /**
     * @param {string} id .
     * @returns {void} .
     * @private
     */
    removeConnectorLineById(id: string): void;
}
//node_modules/@syncfusion/ej2-gantt/src/gantt/renderer/chart-rows.d.ts
/**
 * To render the chart rows in Gantt
 */
export  class ChartRows extends DateProcessor {
    ganttChartTableBody: Element;
    taskTable: HTMLElement;
    protected parent: Gantt;
    taskBarHeight: number;
    milestoneHeight: number;
    private milesStoneRadius;
    baselineTop: number;
    baselineHeight: number;
    private baselineColor;
    private parentTaskbarTemplateFunction;
    private leftTaskLabelTemplateFunction;
    private rightTaskLabelTemplateFunction;
    private taskLabelTemplateFunction;
    private childTaskbarTemplateFunction;
    private milestoneTemplateFunction;
    private templateData;
    private touchLeftConnectorpoint;
    private touchRightConnectorpoint;
    connectorPointWidth: number;
    private connectorPointMargin;
    taskBarMarginTop: number;
    milestoneMarginTop: number;
    private dropSplit;
    private refreshedTr;
    private refreshedData;
    private isUpdated;
    private tagRegex;
    private attributeRegex;
    private taskBaselineTemplateNode;
    constructor(ganttObj?: Gantt);
    /**
     * To initialize the public property.
     *
     * @returns {void}
     * @private
     */
    private initPublicProp;
    private addEventListener;
    refreshChartByTimeline(): void;
    /**
     * To render chart rows.
     *
     * @returns {void}
     * @private
     */
    private createChartTable;
    initiateTemplates(): void;
    /**
     * To render chart rows.
     *
     * @returns {void}
     * @private
     */
    renderChartRows(): void;
    /**
     * To get gantt Indicator.
     *
     * @param {IIndicator} indicator .
     * @returns {NodeList} .
     * @private
     */
    private getIndicatorNode;
    /**
     * To get gantt Indicator.
     *
     * @param {Date | string} date .
     * @returns {number} .
     * @private
     */
    getIndicatorleft(date: Date | string): number;
    /**
     * To get child taskbar Node.
     *
     *  @param {number} i .
     * @param {NodeList} rootElement .
     * @returns {NodeList} .
     * @private
     */
    private getChildTaskbarNode;
    private splitTaskbar;
    private getSplitTaskbarLeftResizerNode;
    private getSplitTaskbarRightResizerNode;
    private getSplitProgressResizerNode;
    getSegmentIndex(splitStartDate: Date, record: IGanttData): number;
    mergeTask(taskId: number | string, segmentIndexes: {
        firstSegmentIndex: number;
        secondSegmentIndex: number;
    }[]): void;
    updateSegment(segmentData: any, taskId: number | string): void;
    private refreshChartAfterSegment;
    /**
     * public method to split task bar.
     *
     * @public
     */
    splitTask(taskId: number | string, splitDates: Date | Date[]): void;
    private constructSegments;
    private splitSegmentedTaskbar;
    incrementSegments(segments: ITaskSegment[], segmentIndex: number, ganttData: IGanttData): void;
    private calculateLeftValue;
    /**
     * To get milestone node.
     *
     * @param {number} i .
     * @param {NodeList} rootElement .
     * @returns {NodeList} .
     * @private
     */
    private getMilestoneNode;
    /**
     * To get task baseline Node.
     *
     * @returns {NodeList} .
     * @private
     */
    private getTaskBaselineNode;
    private updateTaskBaselineNode;
    /**
     * To get milestone baseline node.
     *
     * @returns {NodeList} .
     * @private
     */
    private getMilestoneBaselineNode;
    /**
     * To get left label node.
     *
     * @param {number} i .
     * @returns {NodeList} .
     * @private
     */
    private getLeftLabelNode;
    private getLableText;
    /**
     * To get right label node.
     *
     * @param {number} i .
     * @returns {NodeList} .
     * @private
     */
    private getRightLabelNode;
    private getManualTaskbar;
    /**
     * To get parent taskbar node.
     *
     * @param {number} i .
     * @param {NodeList} rootElement .
     * @returns {NodeList} .
     * @private
     */
    private getParentTaskbarNode;
    /**
     * To get taskbar row('TR') node
     *
     * @param {number} i .
     * @returns {NodeList} .
     * @private
     */
    private getTableTrNode;
    /**
     * To initialize chart templates.
     *
     * @returns {void}
     * @private
     */
    private initializeChartTemplate;
    private createDivElement;
    private parseTemplate;
    private parseHtmlStringToElementTree;
    private constructElementFromNode;
    private setAttributes;
    private cleanStyleString;
    private isTemplate;
    /**
     * @param {string} templateName .
     * @returns {string} .
     * @private
     */
    getTemplateID(templateName: string): string;
    private leftLabelContainer;
    private taskbarContainer;
    private rightLabelContainer;
    private childTaskbarLeftResizer;
    private childTaskbarRightResizer;
    private childTaskbarProgressResizer;
    private getLeftPointNode;
    private getRightPointNode;
    /**
     * To get task label.
     *
     * @param {string} field .
     * @returns {string} .
     * @private
     */
    private getTaskLabel;
    private getExpandDisplayProp;
    private getRowClassName;
    private getBorderRadius;
    private getSplitTaskBorderRadius;
    private taskNameWidth;
    private getRightLabelLeft;
    private getExpandClass;
    private getFieldValue;
    private getResourceName;
    /**
     * To initialize private variable help to render task bars.
     *
     * @returns {void}
     * @private
     */
    private initChartHelperPrivateVariable;
    /**
     * Function used to refresh Gantt rows.
     *
     * @returns {void}
     * @private
     */
    refreshGanttRows(): void;
    /**
     * To trigger the touchmove.
     *
     * @param {TouchEvent} event .
     * @returns {void}
     * @private
     */
    private handleTouchMove;
    /**
     * To trigger the touchend.
     *
     * @param {TouchEvent} event .
     * @returns {void}
     * @private
     */
    private handleTouchEnd;
    /**
     * To render taskbars.
     *
     * @returns {void}
     * @private
     */
    private createTaskbarTemplate;
    /**
     * To render taskbars.
     *
     * @param {number} i .
     * @param {IGanttData} tempTemplateData .
     * @returns {Node} .
     * @private
     */
    getGanttChartRow(i: number, tempTemplateData: IGanttData): Node;
    /**
     * To set data-rowindex for chart rows
     *
     * @returns {void} .
     * @private
     */
    setAriaRowIndex(tempTemplateData: IGanttData, tRow: Node): void;
    /**
     * To trigger query taskbar info event.
     *
     * @returns {void}
     * @private
     */
    triggerQueryTaskbarInfo(): void;
    private appendIndicators;
    private appendChildTaskbars;
    private customizeTaskbars;
    /**
     *
     * @param {Element} trElement .
     * @param {IGanttData} data .
     * @returns {void} .
     * @private
     */
    triggerQueryTaskbarInfoByIndex(trElement: Element, data: IGanttData): void;
    /**
     * To update query taskbar info args.
     *
     * @param {IQueryTaskbarInfoEventArgs} args .
     * @param {Element} rowElement .
     * @param {Element} taskBarElement .
     * @returns {void}
     * @private
     */
    private updateQueryTaskbarInfoArgs;
    private getClassName;
    /**
     * To compile template string.
     *
     * @param {string} template .
     * @returns {Function} .
     * @private
     */
    templateCompiler(template: string | Function): Function;
    updateOverlapped(): void;
    updateDragDropRecords(data: IGanttData, tr?: Node): void;
    /**
     * To refresh edited TR
     *
     * @param {number} index .
     * @param {boolean} isValidateRange .
     * @param {boolean} isUndoRedo .
     * @returns {void} .
     * @private
     */
    refreshRow(index: number, isValidateRange?: boolean, isUndoRedo?: boolean): void;
    private updateResourceTaskbarElement;
    /**
     * To refresh all edited records
     *
     * @param {IGanttData} items .
     * @param {boolean} isValidateRange .
     * @param {boolean} isUndoRedo .
     * @returns {void} .
     * @private
     */
    refreshRecords(items: IGanttData[], isValidateRange?: boolean, isUndoRedo?: boolean): void;
    private removeEventListener;
    private destroy;
    private generateAriaLabel;
    private generateBaselineAriaLabel;
    private generateSpiltTaskAriaLabel;
    private generateTaskLabelAriaLabel;
}
//node_modules/@syncfusion/ej2-gantt/src/gantt/models/week-working-time.d.ts
/**
 * Defines the working time of the day in the project.
 */
export  class WeekWorkingTime extends base.ChildProperty<WeekWorkingTime> {
    /**
     * Defines the day of the week to apply customized working time.
     *
     * @default null
     */
    dayOfWeek: DayOfWeek;
    /**
     * Defines the time range for each day of the week.
     *
     * @default []
     * @aspType List<GanttDayWorkingTime>
     *
     */
    timeRange: DayWorkingTimeModel[];
}
//node_modules/@syncfusion/ej2-gantt/src/gantt/models/week-working-time-model.d.ts
/**
 * Interface for a class WeekWorkingTime
 */
export interface WeekWorkingTimeModel {
    /**
     * Defines the day of the week to apply customized working time.
     *
     * @default null
     */
    dayOfWeek?: DayOfWeek;
    /**
     * Defines the time range for each day of the week.
     *
     * @default []
     * @aspType List<GanttDayWorkingTime>
     *
     */
    timeRange?: DayWorkingTimeModel[];
}
//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
     * @aspType string
     */
    taskbar: string | Function;
    /**
     * Defines template for baseline tooltip element.
     *
     * @default null
     * @aspType string
     */
    baseline: string | Function;
    /**
     * Defines template for dependency line tooltip.
     *
     * @default null
     * @aspType string
     */
    connectorLine: string | Function;
    /**
     * Defines tooltip template for taskbar editing action.
     *
     * @default null
     * @aspType string
     */
    editing: string | Function;
    /**
     * Defines template for timeLine tooltip element.
     *
     * @default null
     * @aspType string
     */
    timeline: string | Function;
}
//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
     * @aspType string
     */
    taskbar?: string | Function;
    /**
     * Defines template for baseline tooltip element.
     *
     * @default null
     * @aspType string
     */
    baseline?: string | Function;
    /**
     * Defines template for dependency line tooltip.
     *
     * @default null
     * @aspType string
     */
    connectorLine?: string | Function;
    /**
     * Defines tooltip template for taskbar editing action.
     *
     * @default null
     * @aspType string
     */
    editing?: string | Function;
    /**
     * Defines template for timeLine tooltip element.
     *
     * @default null
     * @aspType string
     */
    timeline?: string | Function;
}
//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;
    /**
     * Enables or disables the display of weekend cells in the Gantt Chart timeline.
     * Weekend days are determined based on the `workweek` configuration, which defines the working days (e.g., Monday to Friday).
     * Any day not included in the `workweek` is treated as a non-working day.
     * When set to `false`, non-working days will be hidden from the timeline view.
     * @default true
     */
    showWeekend: boolean;
}
//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;
    /**
     * Enables or disables the display of weekend cells in the Gantt Chart timeline.
     * Weekend days are determined based on the `workweek` configuration, which defines the working days (e.g., Monday to Friday).
     * Any day not included in the `workweek` is treated as a non-working day.
     * When set to `false`, non-working days will be hidden from the timeline view.
     * @default true
     */
    showWeekend?: boolean;
}
//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;
    /**
     * Gets or sets a field name of data object in data source that specifies whether the current record has child records.
     *
     * @default null
     */
    hasChildMapping: string;
    /**
     * To map start date of task from data source.
     *
     * @default null
     */
    startDate: string;
    /**
     * To map end date of task from data source.
     *
     * @default null
     */
    endDate: string;
    /**
     * To map dependency of task from data source.
     *
     * @default null
     */
    dependency: string;
    /**
     * To map progress of task from data source.
     *
     * @default null
     */
    progress: string;
    /**
     * To map child of task from data source.
     *
     * @default null
     */
    child: string;
    /**
     * To map milestone of task from data source.
     *
     * @default null
     */
    milestone: string;
    /**
     * To map duration of task from data source.
     *
     * @default null
     */
    duration: string;
    /**
     * To map duration unit of task from data source.
     *
     */
    durationUnit: string;
    /**
     * To map custom css class of task from data source.
     *
     */
    cssClass: string;
    /**
     * To map baseline start date of task from data source.
     *
     */
    baselineStartDate: string;
    /**
     * To map baseline end date of task from data source.
     *
     */
    baselineEndDate: string;
    /**
     * To map assigned resources of task from data source.
     *
     */
    resourceInfo: string;
    /**
     * To map expand status of parent record from data source.
     *
     */
    expandState: string;
    /**
     * To map indicators of task from data source.
     *
     * @default null
     */
    indicators: string;
    /**
     * To map notes value of task from data source.
     *
     * @default null
     */
    notes: string;
    /**
     * To map work of task from data source.
     *
     * @default null
     */
    work: string;
    /**
     * To map schedule mode of task from data source.
     *
     * @default null
     */
    manual: string;
    /**
     * To map taskType value of task from data source.
     *
     * @default null
     */
    type: string;
    /**
     * To map segments details of a task from data source.
     *
     * @default null
     */
    segments: string;
    /**
     * To map segment id details of a task from data source.
     *
     * @default null
     */
    segmentId: string;
}
//node_modules/@syncfusion/ej2-gantt/src/gantt/models/task-fields-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;
    /**
     * Gets or sets a field name of data object in data source that specifies whether the current record has child records.
     *
     * @default null
     */
    hasChildMapping?: string;
    /**
     * To map start date of task from data source.
     *
     * @default null
     */
    startDate?: string;
    /**
     * To map end date of task from data source.
     *
     * @default null
     */
    endDate?: string;
    /**
     * To map dependency of task from data source.
     *
     * @default null
     */
    dependency?: string;
    /**
     * To map progress of task from data source.
     *
     * @default null
     */
    progress?: string;
    /**
     * To map child of task from data source.
     *
     * @default null
     */
    child?: string;
    /**
     * To map milestone of task from data source.
     *
     * @default null
     */
    milestone?: string;
    /**
     * To map duration of task from data source.
     *
     * @default null
     */
    duration?: string;
    /**
     * To map duration unit of task from data source.
     *
     */
    durationUnit?: string;
    /**
     * To map custom css class of task from data source.
     *
     */
    cssClass?: string;
    /**
     * To map baseline start date of task from data source.
     *
     */
    baselineStartDate?: string;
    /**
     * To map baseline end date of task from data source.
     *
     */
    baselineEndDate?: string;
    /**
     * To map assigned resources of task from data source.
     *
     */
    resourceInfo?: string;
    /**
     * To map expand status of parent record from data source.
     *
     */
    expandState?: string;
    /**
     * To map indicators of task from data source.
     *
     * @default null
     */
    indicators?: string;
    /**
     * To map notes value of task from data source.
     *
     * @default null
     */
    notes?: string;
    /**
     * To map work of task from data source.
     *
     * @default null
     */
    work?: string;
    /**
     * To map schedule mode of task from data source.
     *
     * @default null
     */
    manual?: string;
    /**
     * To map taskType value of task from data source.
     *
     * @default null
     */
    type?: string;
    /**
     * To map segments details of a task from data source.
     *
     * @default null
     */
    segments?: string;
    /**
     * To map segment id details of a task from data source.
     *
     * @default null
     */
    segmentId?: string;
}
//node_modules/@syncfusion/ej2-gantt/src/gantt/models/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/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/sort-settings.d.ts
/**
 * Represents the field name and direction of sort column.
 */
export  class SortDescriptor extends base.ChildProperty<SortDescriptor> {
    /**
     * Defines the field (column) name to sort by.
     *
     * @default ''
     */
    field: string;
    /**
     * Defines the direction of the sort operation.
     * * `Ascending`: Sorts the column in ascending order.
     * * `Descending`: Sorts the column in descending order.
     *
     * @default null
     * @isEnumeration true
     * @asptype SortDirection
     *
     */
    direction: SortDirection;
}
/**
 * Configures the sorting behavior of Gantt.
 */
export  class SortSettings extends base.ChildProperty<SortSettings> {
    /**
     * Specifies the columns to sort by when the Gantt chart is initially rendered.
     * It also allows access to the currently 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-model.d.ts
/**
 * Interface for a class SortDescriptor
 */
export interface SortDescriptorModel {
    /**
     * Defines the field (column) name to sort by.
     *
     * @default ''
     */
    field?: string;
    /**
     * Defines the direction of the sort operation.
     * * `Ascending`: Sorts the column in ascending order.
     * * `Descending`: Sorts the column in descending order.
     *
     * @default null
     * @isEnumeration true
     * @asptype SortDirection
     *
     */
    direction?: SortDirection;
}
/**
 * Interface for a class SortSettings
 */
export interface SortSettingsModel {
    /**
     * Specifies the columns to sort by when the Gantt chart is initially rendered.
     * It also allows access to the currently 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/selection-settings.d.ts
/**
 * Configures the selection behavior of the Gantt.
 */
export  class SelectionSettings extends base.ChildProperty<SelectionSettings> {
    /**
     * Defines the selection mode for the Gantt. It supports row, cell, and both (row and cell) selection modes.
     *
     * - `Row`: Selects entire rows.
     * - `Cell`: Selects individual cells.
     * - `Both`: Allows selection of both rows and cells.
     *
     * @default Syncfusion.EJ2.Grids.grids.SelectionMode.Row
     * @isEnumeration true
     * @aspType Syncfusion.EJ2.Grids.grids.SelectionMode
     */
    mode: grids.SelectionMode;
    /**
     * To define selection mode of cell.
     *
     * @default Syncfusion.EJ2.Grids.grids.CellSelectionMode.Flow
     * @isEnumeration true
     * @aspType Syncfusion.EJ2.Grids.grids.CellSelectionMode
     */
    cellSelectionMode: grids.CellSelectionMode;
    /**
     * Defines the selection type for rows or cells.
     * * `Single`: Allows only a single row or cell to be selected at a time.
     * * `Multiple`: Allows multiple rows or cells to be selected simultaneously.
     *
     * @default Syncfusion.EJ2.Grids.grids.SelectionType.Single
     * @aspDefaultValueIgnore
     * @isEnumeration true
     * @aspType Syncfusion.EJ2.Grids.grids.SelectionType
     */
    type: grids.SelectionType;
    /**
     * If 'persistSelection' set to true, then the Gantt selection is persisted on all operations.
     *
     * @default false
     */
    persistSelection: boolean;
    /**
     * If 'enableToggle' set to true, then the user can able to perform toggle for the selected row.
     *
     * @default false
     */
    enableToggle: boolean;
}
//node_modules/@syncfusion/ej2-gantt/src/gantt/models/selection-settings-model.d.ts
/**
 * Interface for a class SelectionSettings
 */
export interface SelectionSettingsModel {
    /**
     * Defines the selection mode for the Gantt. It supports row, cell, and both (row and cell) selection modes.
     *
     * - `Row`: Selects entire rows.
     * - `Cell`: Selects individual cells.
     * - `Both`: Allows selection of both rows and cells.
     *
     * @default Syncfusion.EJ2.Grids.grids.SelectionMode.Row
     * @isEnumeration true
     * @aspType Syncfusion.EJ2.Grids.grids.SelectionMode
     */
    mode?: grids.SelectionMode;
    /**
     * To define selection mode of cell.
     *
     * @default Syncfusion.EJ2.Grids.grids.CellSelectionMode.Flow
     * @isEnumeration true
     * @aspType Syncfusion.EJ2.Grids.grids.CellSelectionMode
     */
    cellSelectionMode?: grids.CellSelectionMode;
    /**
     * Defines the selection type for rows or cells.
     * * `Single`: Allows only a single row or cell to be selected at a time.
     * * `Multiple`: Allows multiple rows or cells to be selected simultaneously.
     *
     * @default Syncfusion.EJ2.Grids.grids.SelectionType.Single
     * @aspDefaultValueIgnore
     * @isEnumeration true
     * @aspType Syncfusion.EJ2.Grids.grids.SelectionType
     */
    type?: grids.SelectionType;
    /**
     * If 'persistSelection' set to true, then the Gantt selection is persisted on all operations.
     *
     * @default false
     */
    persistSelection?: boolean;
    /**
     * If 'enableToggle' set to true, then the user can able to perform toggle for the selected row.
     *
     * @default false
     */
    enableToggle?: boolean;
}
//node_modules/@syncfusion/ej2-gantt/src/gantt/models/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
     * @asptype SearchHierarchyMode
     */
    hierarchyMode: SearchHierarchyMode;
}
//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
     * @asptype SearchHierarchyMode
     */
    hierarchyMode?: SearchHierarchyMode;
}
//node_modules/@syncfusion/ej2-gantt/src/gantt/models/resource-fields.d.ts
/**
 * Defines the mapping properties to extract resource details from the resource collection.
 */
export  class ResourceFields extends base.ChildProperty<ResourceFields> {
    /**
     * Specifies the field to map the ID of a resource from the resource collection.
     *
     * @default null
     */
    id: string;
    /**
     * Specifies the field to map the name of the resource from the resource collection.
     *
     * @default null
     */
    name: string;
    /**
     * Specifies the field to map the unit of the resource from the resource collection.
     *
     * @default null
     */
    unit: string;
    /**
     * Specifies the field to map the group of the resource from the resource collection.
     *
     * @default null
     */
    group: string;
}
//node_modules/@syncfusion/ej2-gantt/src/gantt/models/resource-fields-model.d.ts
/**
 * Interface for a class ResourceFields
 */
export interface ResourceFieldsModel {
    /**
     * Specifies the field to map the ID of a resource from the resource collection.
     *
     * @default null
     */
    id?: string;
    /**
     * Specifies the field to map the name of the resource from the resource collection.
     *
     * @default null
     */
    name?: string;
    /**
     * Specifies the field to map the unit of the resource from the resource collection.
     *
     * @default null
     */
    unit?: string;
    /**
     * Specifies the field to map the group of the resource from the resource collection.
     *
     * @default null
     */
    group?: 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/loading-indicator.d.ts
/**
 * Configures the Loading Indicator of the Gantt.
 */
export  class LoadingIndicator extends base.ChildProperty<LoadingIndicator> {
    /**
     * Defines the loading indicator. The available loading indicator are:
     * * Spinner
     * * Shimmer
     *
     * @default Syncfusion.EJ2.Grids.grids.IndicatorType.Spinner
     * @isEnumeration true
     * @aspType Syncfusion.EJ2.Grids.grids.IndicatorType
     *
     */
    indicatorType: grids.IndicatorType;
}
//node_modules/@syncfusion/ej2-gantt/src/gantt/models/loading-indicator-model.d.ts
/**
 * Interface for a class LoadingIndicator
 */
export interface LoadingIndicatorModel {
    /**
     * Defines the loading indicator. The available loading indicator are:
     * * Spinner
     * * Shimmer
     *
     * @default Syncfusion.EJ2.Grids.grids.IndicatorType.Spinner
     * @isEnumeration true
     * @aspType Syncfusion.EJ2.Grids.grids.IndicatorType
     *
     */
    indicatorType?: grids.IndicatorType;
}
//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/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/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/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/filter-settings.d.ts
/**
 * Configures the filtering behavior of the Gantt.
 */
export  class FilterSettings extends base.ChildProperty<FilterSettings> {
    /**
     * Specifies the columns to be filtered at initial rendering of the Gantt.
     * You can also get the columns that were currently filtered.
     *
     * @default []
     */
    columns: grids.PredicateModel[];
    /**
     * Defines filter type of Gantt.
     * * `Menu` - Enables menu filters in Grid.
     *
     * @default Menu
     * @isenumeration true
     * @asptype FilterType
     */
    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
     * @asptype FilterHierarchyMode
     */
    hierarchyMode: FilterHierarchyMode;
}
//node_modules/@syncfusion/ej2-gantt/src/gantt/models/filter-settings-model.d.ts
/**
 * Interface for a class FilterSettings
 */
export interface FilterSettingsModel {
    /**
     * Specifies the columns to be filtered at initial rendering of the Gantt.
     * You can also get the columns that were currently filtered.
     *
     * @default []
     */
    columns?: grids.PredicateModel[];
    /**
     * Defines filter type of Gantt.
     * * `Menu` - Enables menu filters in Grid.
     *
     * @default Menu
     * @isenumeration true
     * @asptype FilterType
     */
    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
     * @asptype FilterHierarchyMode
     */
    hierarchyMode?: FilterHierarchyMode;
}
//node_modules/@syncfusion/ej2-gantt/src/gantt/models/event-marker.d.ts
/**
 * Defines event marker collection in Gantt.
 */
export  class EventMarker1 extends base.ChildProperty<EventMarker> {
    /**
     * Specifies the date or day of the event marker.
     * The value can be a `Date` object or a date string.
     *
     * @default null
     */
    day: Date | string;
    /**
     * Specifies the label for the event marker.
     *
     * @default null
     */
    label: string;
    /**
     * Specifies a custom CSS class for the event marker.
     * This can be used to apply custom styles to the line and label of the marker.
     *
     * @default null
     */
    cssClass: string;
}
//node_modules/@syncfusion/ej2-gantt/src/gantt/models/event-marker-model.d.ts
/**
 * Interface for a class EventMarker
 */
export interface EventMarkerModel {
    /**
     * Specifies the date or day of the event marker.
     * The value can be a `Date` object or a date string.
     *
     * @default null
     */
    day?: Date | string;
    /**
     * Specifies the label for the event marker.
     *
     * @default null
     */
    label?: string;
    /**
     * Specifies a custom CSS class for the event marker.
     * This can be used to apply custom styles to the line and label of the marker.
     *
     * @default null
     */
    cssClass?: string;
}
//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
     * @asptype EditMode
     */
    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, a confirmation dialog will be displayed before performing the delete action.
     * This allows the user to confirm or cancel the deletion operation.
     *
     * @default false
     */
    showDeleteConfirmDialog: boolean;
    /**
     * Enable or disable the taskbar editing, such as updating start date, end date,
     * progress and dependency tasks values, through user interaction.
     *
     * @default false
     */
    allowTaskbarEditing: boolean;
    /**
     * If `allowNextRowEdit` is set as true, editing is continued to next row with keyboard navigation.
     *
     * @default false
     */
    allowNextRowEdit: boolean;
}
//node_modules/@syncfusion/ej2-gantt/src/gantt/models/edit-settings-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
     * @asptype EditMode
     */
    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, a confirmation dialog will be displayed before performing the delete action.
     * This allows the user to confirm or cancel the deletion operation.
     *
     * @default false
     */
    showDeleteConfirmDialog?: boolean;
    /**
     * Enable or disable the taskbar editing, such as updating start date, end date,
     * progress and dependency tasks values, through user interaction.
     *
     * @default false
     */
    allowTaskbarEditing?: boolean;
    /**
     * If `allowNextRowEdit` is set as true, editing is continued to next row with keyboard navigation.
     *
     * @default false
     */
    allowNextRowEdit?: boolean;
}
//node_modules/@syncfusion/ej2-gantt/src/gantt/models/edit-dialog-field-settings.d.ts
/**
 * Defines dialog fields of edit dialog.
 */
export  class EditDialogFieldSettings extends base.ChildProperty<EditDialogFieldSettings> {
    /**
     * Specifies the types of tabs that contain editors for columns.
     * Available tab types:
     * * `General` - Represents the general information editor tab.
     * * `Dependency` - Represents the dependency editor tab.
     * * `Resources` - Represents the resource editor tab.
     * * `Notes` - Represents the notes editor tab.
     * * `Segments` - Represents the segments editor tab.
     * * `Custom` - Represents the custom column editor tab.
     *
     * @default null
     */
    type: DialogFieldType;
    /**
     * Defines header text of tab item.
     *
     * @default null
     */
    headerText: string;
    /**
     * Specifies the edited column fields to be placed inside the tab.
     *
     * @default null
     */
    fields: string[];
    /**
     * Specifies the configuration properties for Grid, Rich Text Editor (RTE), or TreeGrid controls within the Gantt edit dialog.
     *
     * @default null
     */
    additionalParams: treegrid.TreeGridModel | grids.GridModel | richtexteditor.RichTextEditorModel;
}
//node_modules/@syncfusion/ej2-gantt/src/gantt/models/edit-dialog-field-settings-model.d.ts
/**
 * Interface for a class EditDialogFieldSettings
 */
export interface EditDialogFieldSettingsModel {
    /**
     * Specifies the types of tabs that contain editors for columns.
     * Available tab types:
     * * `General` - Represents the general information editor tab.
     * * `Dependency` - Represents the dependency editor tab.
     * * `Resources` - Represents the resource editor tab.
     * * `Notes` - Represents the notes editor tab.
     * * `Segments` - Represents the segments editor tab.
     * * `Custom` - Represents the custom column editor tab.
     *
     * @default null
     */
    type?: DialogFieldType;
    /**
     * Defines header text of tab item.
     *
     * @default null
     */
    headerText?: string;
    /**
     * Specifies the edited column fields to be placed inside the tab.
     *
     * @default null
     */
    fields?: string[];
    /**
     * Specifies the configuration properties for Grid, Rich Text Editor (RTE), or TreeGrid controls within the Gantt edit dialog.
     *
     * @default null
     */
    additionalParams?: treegrid.TreeGridModel | grids.GridModel | richtexteditor.RichTextEditorModel;
}
//node_modules/@syncfusion/ej2-gantt/src/gantt/models/day-working-time.d.ts
/**
 * Defines the working time of the day in the project.
 */
export  class DayWorkingTime extends base.ChildProperty<DayWorkingTime> {
    /**
     * Defines the start time of the working time range for the day.
     *
     * @default null
     */
    from: number;
    /**
     * Defines the end time of the working time range for the day.
     *
     * @default null
     */
    to: number;
}
//node_modules/@syncfusion/ej2-gantt/src/gantt/models/day-working-time-model.d.ts
/**
 * Interface for a class DayWorkingTime
 */
export interface DayWorkingTimeModel {
    /**
     * Defines the start time of the working time range for the day.
     *
     * @default null
     */
    from?: number;
    /**
     * Defines the end time of the working time range for the day.
     *
     * @default null
     */
    to?: number;
}
//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 overflow mode for cell content. The available modes are:
     * * `Clip` - Truncates the cell content when it overflows its area.
     * * `Ellipsis` - Displays an ellipsis when the cell content overflows its area.
     * * `EllipsisWithTooltip` - Displays an ellipsis when the cell content overflows its area, and shows a tooltip on hover over the ellipsis.
     *
     * @default Syncfusion.EJ2.Grids.grids.ClipMode.EllipsisWithTooltip
     * @isEnumeration true
     * @aspType Syncfusion.EJ2.Grids.grids.ClipMode
     */
    clipMode: grids.ClipMode;
    /**
     * The CSS styles and attributes of the content cells of a particular column can be customized.
     *
     * @default null
     */
    customAttributes: {
        [x: string]: Object;
    };
    /**
     * If `disableHtmlEncode` is set to true, it disables HTML encoding for the content of specific columns.
     *
     * @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 used for editing the field.
     *
     * @default 'stringedit'
     */
    editType: string;
    /**
     * Defines validation rules for data before creating or updating records.
     * The rules are used to ensure that data meets specific criteria before it is saved or updated.
     *
     * @default null
     */
    validationRules: Object;
    /**
     * Defines the custom sort comparer function.
     */
    sortComparer: grids.SortComparer | string;
    /**
     * Defines the field name of column which is mapped with mapping name of DataSource.
     * The `field` name must be a valid JavaScript identifier,
     * the first character must be an alphabet and should not contain spaces and special characters.
     */
    field: string;
    /**
     * It is used to change display value with the given format and does not affect the original data.
     * Gets the format from the user which can be standard or custom
     * [`number`](https://ej2.syncfusion.com/documentation/common/internationalization/#number-formatting)
     * and [`date`](https://ej2.syncfusion.com/documentation/common/internationalization/#date-formatting) formats.
     *
     * @default null
     * @aspType string
     */
    format: string | base.NumberFormatOptions | base.DateFormatOptions;
    /**
     * Defines the method which is used to achieve custom formatting from an external function.
     * This function triggers before rendering of each cell.
     *
     * @default null
     */
    formatter: {
        new (): IGanttCellFormatter;
    } | Function | IGanttCellFormatter;
    /**
     * Defines the header template as string or HTML element ID which is used to add customized element in the column header.
     *
     * @default null
     * @aspType string
     */
    headerTemplate: string | Function;
    /**
     * 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
     * @aspType string
     */
    template: string | Function;
    /**
     * 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;
    /**
     * Defines validation rules for data before creating or updating records.
     * The rules are used to ensure that data meets specific criteria before it is saved or updated.
     *
     * @default null
     */
    validationRules?: Object;
    /**
     * 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 overflow mode for cell content. The available modes are:
     * * `Clip` -  Truncates the cell content when it overflows its area.
     * * `Ellipsis` -  Displays an ellipsis when the cell content overflows its area.
     * * `EllipsisWithTooltip` - Displays an ellipsis when the cell content overflows its area, and shows a tooltip on hover over the ellipsis.
     *
     * @default Syncfusion.EJ2.Grids.grids.ClipMode.EllipsisWithTooltip
     * @isEnumeration true
     * @aspType Syncfusion.EJ2.Grids.grids.ClipMode
     */
    clipMode?: grids.ClipMode;
    /**
     * The CSS styles and attributes of the content cells of a particular column can be customized.
     *
     * @default null
     */
    customAttributes?: {
        [x: string]: Object;
    };
    /**
     * If `disableHtmlEncode` is set to true, it disables HTML encoding for the content of specific column.
     *
     * @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 used for editing the field.
     *
     * @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`](https://ej2.syncfusion.com/documentation/common/internationalization/#number-formatting)
     * and [`date`](https://ej2.syncfusion.com/documentation/common/internationalization/#date-formatting) formats.
     *
     * @default null
     * @aspType string
     */
    format?: string | base.NumberFormatOptions | base.DateFormatOptions;
    /**
     * Defines the method which is used to achieve custom formatting from an external function.
     * This function triggers before rendering of each cell.
     *
     * @default null
     */
    formatter?: {
        new (): IGanttCellFormatter;
    } | Function | IGanttCellFormatter;
    /**
     * Defines the header template as string or HTML element ID which is used to add customized element in the column header.
     *
     * @default null
     * @aspType string
     */
    headerTemplate?: string | Function;
    /**
     * 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
     * @aspType string
     */
    template?: string | Function;
    /**
     * Defines the alignment of the column in both header and content cells.
     *
     * @default Syncfusion.EJ2.Grids.grids.TextAlign.Left
     * @isEnumeration true
     * @aspType Syncfusion.EJ2.Grids.grids.TextAlign
     */
    textAlign?: grids.TextAlign;
    /**
     * Defines the method used to apply custom cell values from external function and display this on each cell rendered.
     *
     * @default null
     */
    valueAccessor?: grids.ValueAccessor | string;
    /**
     * If `visible` is set to false, hides the particular column. By default, columns are displayed.
     *
     * @default true
     */
    visible?: boolean;
    /**
     * Defines the width of the column in pixels or percentage.
     *
     * @default null
     */
    width?: string | number;
    /**
     * If `isPrimaryKey` is set to true, considers this column as the primary key constraint.
     *
     * @default false
     */
    isPrimaryKey?: boolean;
    /**
     * Defines the `grids.IEditCell` object to customize default edit cell.
     *
     * @default {}
     */
    edit?: grids.IEditCell;
    /**
     * To define column type.
     *
     * @private
     */
    type?: string;
    /**
     * Defines the sort comparer property.
     *
     * @default null
     */
    sortComparer?: grids.SortComparer | string;
}
//node_modules/@syncfusion/ej2-gantt/src/gantt/models/add-dialog-field-settings.d.ts
/**
 * Defines dialog fields of add dialog.
 */
export  class AddDialogFieldSettings extends base.ChildProperty<AddDialogFieldSettings> {
    /**
     * Specifies the types of tabs that contain editors for columns.
     * Available tab types:
     * * `General` - Represents the general information editor tab.
     * * `Dependency` - Represents the dependency editor tab.
     * * `Resources` - Represents the resource editor tab.
     * * `Notes` - Represents the notes editor tab.
     * * `Segments` - Represents the segments editor tab.
     * * `Custom` - Represents the custom column editor tab.
     *
     * @default null
     */
    type: DialogFieldType;
    /**
     * Defines header text of tab item.
     *
     * @default null
     */
    headerText: string;
    /**
     * Specifies the edited column fields to be placed inside the tab.
     *
     * @default null
     */
    fields: string[];
    /**
     * Specifies the configuration properties for Grid, Rich Text Editor (RTE), or TreeGrid controls within the Gantt edit dialog.
     *
     * @default null
     */
    additionalParams: treegrid.TreeGridModel | grids.GridModel | richtexteditor.RichTextEditorModel;
}
//node_modules/@syncfusion/ej2-gantt/src/gantt/models/add-dialog-field-settings-model.d.ts
/**
 * Interface for a class AddDialogFieldSettings
 */
export interface AddDialogFieldSettingsModel {
    /**
     * Specifies the types of tabs that contain editors for columns.
     * Available tab types:
     * * `General` - Represents the general information editor tab.
     * * `Dependency` - Represents the dependency editor tab.
     * * `Resources` - Represents the resource editor tab.
     * * `Notes` - Represents the notes editor tab.
     * * `Segments` - Represents the segments editor tab.
     * * `Custom` - Represents the custom column editor tab.
     *
     * @default null
     */
    type?: DialogFieldType;
    /**
     * Defines header text of tab item.
     *
     * @default null
     */
    headerText?: string;
    /**
     * Specifies the edited column fields to be placed inside the tab.
     *
     * @default null
     */
    fields?: string[];
    /**
     * Specifies the configuration properties for Grid, Rich Text Editor (RTE), or TreeGrid controls within the Gantt edit dialog.
     *
     * @default null
     */
    additionalParams?: treegrid.TreeGridModel | grids.GridModel | richtexteditor.RichTextEditorModel;
}
//node_modules/@syncfusion/ej2-gantt/src/gantt/export/pdf-treegrid.d.ts
/**
 * PdfTreeGrid Class for EJ2-PDF
 */
export  class PdfTreeGrid extends pdfExport.PdfLayoutElement {
    columns: PdfTreeGridColumnCollection;
    rows: PdfTreeGridRowCollection;
    style: PdfTreeGridStyle;
    private initialWidth;
    private treeGridSize;
    layouter: PdfTreeGridLayouter;
    headers: PdfTreeGridHeaderCollection;
    private layoutFormat;
    beginCellDraw: Function;
    endCellDraw: Function;
    private treegridLocation;
    treeColumnIndex: number;
    rowHeight: number;
    allowRowBreakAcrossPages: boolean;
    enableHeader: boolean;
    isFitToWidth: boolean;
    ganttStyle: IGanttStyle;
    constructor();
    /**
     * Gets a value indicating whether the `start cell layout event` should be raised.
     *
     * @returns {boolean} .
     * @private
     */
    /**
     * Gets a value indicating whether the `end cell layout event` should be raised.
     *
     * @returns {boolean} .
     * @private
     */
    size: pdfExport.SizeF;
    /**
     * `Draws` the element on the page with the specified page and 'pdfExport.PointF' class
     *
     * @param {pdfExport.PdfPage} page .
     * @param {pdfExport.PointF} location .
     * @returns {pdfExport.PdfLayoutResult} .
     * @private
     */
    draw(page: pdfExport.PdfPage, location: pdfExport.PointF): pdfExport.PdfLayoutResult;
    /**
     * `Draws` the element on the page with the specified page and pair of coordinates
     *
     * @param {pdfExport.PdfPage} page .
     * @param {number} x .
     * @param {number} y .
     * @returns {pdfExport.PdfLayoutResult} .
     * @private
     */
    draw(page: pdfExport.PdfPage, x: number, y: number): pdfExport.PdfLayoutResult;
    /**
     * `Draws` the element on the page with the specified page and 'pdfExport.RectangleF' class
     *
     * @param {pdfExport.PdfPage} page .
     * @param {pdfExport.RectangleF} layoutRectangle .
     * @returns {pdfExport.PdfLayoutResult} .
     * @private
     */
    draw(page: pdfExport.PdfPage, layoutRectangle: pdfExport.RectangleF): pdfExport.PdfLayoutResult;
    /**
     * `Draws` the element on the page with the specified page, 'pdfExport.PointF' class and layout format
     *
     * @param {pdfExport.PdfPage} page .
     * @param {pdfExport.PointF} location .
     * @param {PdfTreeGridLayoutFormat} format .
     * @returns {pdfExport.PdfLayoutResult} .
     * @private
     */
    draw(page: pdfExport.PdfPage, location: pdfExport.PointF, format: pdfExport.PdfLayoutFormat): pdfExport.PdfLayoutResult;
    /**
     * `Draws` the element on the page with the specified page, pair of coordinates and layout format
     *
     * @param {pdfExport.PdfPage} page .
     * @param {number} x .
     * @param {number} y .
     * @param {pdfExport.PdfLayoutFormat} format .
     * @returns {pdfExport.PdfLayoutResult}
     * @private
     */
    draw(page: pdfExport.PdfPage, x: number, y: number, format: pdfExport.PdfLayoutFormat): pdfExport.PdfLayoutResult;
    /**
     * `Draws` the element on the page.
     *
     * @private
     */
    draw(page: pdfExport.PdfPage, layoutRectangle: pdfExport.RectangleF, embedFonts: boolean): pdfExport.PdfLayoutResult;
    measureColumnsWidth(bounds?: pdfExport.RectangleF): void;
    private calculateTreeGridSize;
    drawGrid(page: pdfExport.PdfPage, x: number, y: number, format: PdfTreeGridLayoutFormat): PdfTreeGridLayoutResult;
    protected layout(param: pdfExport.PdfLayoutParams): pdfExport.PdfLayoutResult;
}
//node_modules/@syncfusion/ej2-gantt/src/gantt/export/pdf-timeline.d.ts
/**
 */
export  class PdfTimeline {
    parent: Gantt;
    private gantt;
    topTier: TimelineFormat[];
    bottomTier: TimelineFormat[];
    width: number;
    height: number;
    topTierCellWidth: number;
    bottomTierCellWidth: number;
    topTierHeight: number;
    bottomTierHeight: number;
    private topTierPoint;
    private bottomTierPoint;
    private topTierIndex;
    private bottomTierIndex;
    private prevTopTierIndex;
    private prevBottomTierIndex;
    holidayLabel: string;
    holidayCompleted: boolean;
    holidayNumberOfDays: number;
    holidayWidth: number;
    detailsTimeline: TimelineDetails;
    fitHolidayCompleted: boolean;
    fromDataHoliday: string | Date;
    timelineWidth: number;
    lastWidth: number;
    fontFamily: pdfExport.PdfFontFamily;
    private topTierValueLeftPadding;
    pageIndex: number;
    timelineHeight: number;
    constructor(gantt?: PdfGantt);
    /**
     * @private
     * @param {pdfExport.PdfPage} page .
     * @param {pdfExport.PointF} startPoint .
     * @param {TimelineDetails} detail .
     * @param {number} pageIndex .
     * @returns {void}
     */
    drawTimeline(page: pdfExport.PdfPage, startPoint: pdfExport.PointF, detail: TimelineDetails, pageIndex: number): void;
    /**
     *
     * @param {pdfExport.PdfPage} page .
     * @param {pdfExport.PointF} startPoint .
     * @param {TimelineDetails}  detail .
     * @returns {void} .
     * Draw the specific gantt chart side header when the taskbar exceeds the page
     * @private
     */
    drawPageTimeline(page: pdfExport.PdfPage, startPoint: pdfExport.PointF, detail: TimelineDetails, pageIndex: number): void;
    /**
     * Method to trigger pdf query timelinecell event
     */
    private triggerQueryTimelinecell;
    /**
     * Initializes and returns a PdfStringFormat based on the provided Gantt style and tier level.
     *
     * @param {IGanttStyle} ganttStyle - The style settings for the Gantt chart which include the timeline format.
     * @param {boolean} isTopTier - A flag indicating whether the format is for the top tier of the timeline.
     * @returns {PdfStringFormat} The initialized PdfStringFormat with appropriate line alignment, text alignment,
     * and word wrap type, as determined by the ganttStyle and isTopTier flag.
     */
    private initializePdfStringFormat;
    private getPdfFont;
}
//node_modules/@syncfusion/ej2-gantt/src/gantt/export/pdf-taskbar.d.ts
/**
 * @hidden
 */
export  class PdfGanttTaskbarCollection {
    endDate?: Date;
    /** Defines the duration of task. */
    duration?: number;
    /** Defines the duration unit of task. */
    durationUnit?: string;
    /** Defines the task is auto schedule-able or not. */
    isAutoSchedule?: boolean;
    /** Defines the task is milestone or not. */
    isMilestone?: boolean;
    /** Defines the task baselinestartdate. */
    baselineStartDate?: Date;
    /** Defines the task baselineenddate. */
    baselineEndDate?: Date;
    /** Defines the task baselineleft. */
    baselineLeft?: number;
    /** Defines the task baselinewidth. */
    baselineWidth?: number;
    /** Defines the task baselineHeight . */
    baselineHeight: number;
    /** Defines the left of task.
     *
     * @hidden
     */
    left?: number;
    /** Defines the progress of task. */
    progress?: number;
    /** Defines the progress width of task. */
    progressWidth?: number;
    /** Defines the autostart date of task. */
    autoStartDate?: Date;
    /** Defines the autoent date of task. */
    autoEndDate?: Date;
    /** Defines the start date of task. */
    startDate?: Date;
    /** Defines the id of task. */
    taskId?: string;
    /** Defines the parent id of task. */
    parentId?: string;
    /** Defines the name of task. */
    taskName?: string;
    /** Defines the width of task. */
    width?: number;
    /** Defines the unique id of task. */
    uniqueID?: string;
    /** Defines the total progress of task. */
    totalProgress?: number;
    /** Defines the total duration of task. */
    totalDuration?: number;
    /**
     * @private
     */
    unscheduledTaskBy?: string;
    /**
     * @private
     */
    unscheduleStarteDate?: Date;
    /**
     * @private
     */
    unscheduleEndDate?: Date;
    isParentTask?: boolean;
    isScheduledTask?: boolean;
    height: number;
    fontFamily: pdfExport.PdfFontFamily;
    gridLineColor: pdfExport.PdfColor;
    progressFontColor: pdfExport.PdfColor;
    taskColor: pdfExport.PdfColor;
    baselineColor: pdfExport.PdfColor;
    splitLineBackground: pdfExport.PdfColor;
    unscheduledTaskBarColor: pdfExport.PdfColor;
    manualParentBackground: pdfExport.PdfColor;
    manualParentProgress: pdfExport.PdfColor;
    manualChildBackground: pdfExport.PdfColor;
    manualChildProgress: pdfExport.PdfColor;
    manuallineColor: pdfExport.PdfColor;
    manualParentBorder: pdfExport.PdfColor;
    manualChildBorder: pdfExport.PdfColor;
    baselineBorderColor: pdfExport.PdfColor;
    taskSegmentStyles: ITaskSegmentStyles[];
    baselineTop: number;
    labelColor: pdfExport.PdfColor;
    taskBorderColor: pdfExport.PdfColor;
    progressColor: pdfExport.PdfColor;
    milestoneColor: pdfExport.PdfColor;
    taskbar: PdfGanttTaskbarCollection[];
    parent: Gantt;
    segment: ITaskData[];
    isSpliterTask: boolean;
    segmentCollection: ITaskData[];
    isCompleted: boolean;
    isCompletedAutotask: boolean;
    isCompletedBaseline: boolean;
    autoWidth?: number;
    autoLeft?: number;
    indicators: IIndicator[];
    labelSettings: ILabel;
    taskbarTemplate: ITemplateDetails;
    previousWidthofLeftValue: number;
    previousWidthofLeftImage: number;
    totalLeftWidth: number;
    previousWidthofRightValue: number;
    previousWidthofRightImage: number;
    remainString: string;
    stringLeft: number;
    /**
     * @private
     */
    leftTaskLabel: TaskLabel;
    /**
     * @private
     */
    rightTaskLabel: TaskLabel;
    taskLabel: string;
    startPage: number;
    endPage: number;
    isStartPoint: boolean;
    taskStartPoint: pdfExport.PointF;
    private spaceBetweenImageAndValue;
    add(): PdfGanttTaskbarCollection;
    constructor(parent?: Gantt);
    /**
     * @param {pdfExport.PdfPage} page .
     * @returns {pdfExport.PdfPage} .
     * Get the next PDF page
     */
    private GetNextPage;
    isAutoFit(): boolean;
    /**
     * Draw the taskbar, chart back ground
     *
     * @private
     */
    drawTaskbar(page: pdfExport.PdfPage, startPoint: pdfExport.PointF, detail: TimelineDetails, cumulativeWidth: number, rowHeight: number, taskbar: PdfGanttTaskbarCollection, lineWidth: number, currentPageIndex: number): boolean;
    /**
     * @param {IGanttStyle} ganttStyle .
     * @returns {PdfFont}
     * Customizes the font based on the Gantt style.
     */
    private getPdfFont;
    /**
     * @param {pdfExport.PdfPage} page .
     * @param {pdfExport.PointF} startPoint .
     * @param {TimelineDetails} detail .
     * @param {number} cumulativeWidth .
     * @returns {void}
     * Draw task right side label
     */
    private drawRightLabel;
    private drawRigthlabelImage;
    private drawRightLabelValue;
    /**
     * @param {pdfExport.PdfPage} page .
     * @param {pdfExport.PointF} startPoint .
     * @param {TimelineDetails} detail .
     * @param {number} cumulativeWidth .
     * @param {PdfGanttTaskbarCollection} taskbar .
     * @returns {void}
     * Draw task left task label
     */
    private drawLeftLabel;
    private drawLeftLabelImage;
    private drawLeftLabelValue;
    private getWidth;
    private getWidthofLeftLabel;
    private getWidthofrightLabel;
    /**
     * @param {PdfGraphics} taskGraphics .
     * @param {pdfExport.PointF} startPoint .
     * @param {number} cumulativeWidth .
     * @param {number} adjustHeight .
     * @returns {void}
     * Draw Unscheduled Task
     */
    private drawUnscheduledTask;
    /**
     * @param {pdfExport.PdfPage} page .
     * @param {pdfExport.PointF} startPoint .
     * @param {TimelineDetails} detail .
     * @param {number} cumulativeWidth .
     * @param {PdfGanttTaskbarCollection} taskbar .
     * @param {boolean} isBaseline .
     * @returns {void}
    Draw milestone task
     */
    private drawMilestone;
}
//node_modules/@syncfusion/ej2-gantt/src/gantt/export/pdf-gantt.d.ts
/**
 *
 */
export  class PdfGantt extends PdfTreeGrid {
    taskbarCollection: PdfGanttTaskbarCollection[];
    predecessorCollection: PdfGanttPredecessor[];
    private taskbars;
    private totalPages;
    private exportProps;
    private perColumnPages;
    private headerDetails;
    pdfPageDetail: PageDetail[];
    result: pdfExport.PdfLayoutResult;
    timelineStartDate: Date;
    private startPoint;
    private startPageIndex;
    borderColor: pdfExport.PdfColor;
    predecessor: PdfGanttPredecessor;
    chartHeader: PdfTimeline;
    chartPageIndex: number;
    eventMarker: EventMarker;
    changeCloneProjectDates: boolean;
    currentPage: number;
    parent: Gantt;
    constructor(parent: Gantt);
    readonly taskbar: PdfGanttTaskbarCollection;
    drawChart(result: pdfExport.PdfLayoutResult): void;
    private calculateRange;
    /**
     * Calculates the end date by adding the specified number of working hours to the current date,
     * excluding any non-working days as specified in the nonWorkingDayIndex.
     *
     * @param {Date} currentDate - The starting date from which to begin adding working hours.
     * @param {number} startHours - The number of hours to add to the current date.
     * @param {number} count - A multiplier to apply to the startHours, typically representing a scaling factor.
     * @returns {Date} - A new Date object representing the calculated date/time after working hours have been added.
     *
     */
    private calculateHoursWithoutNonworkingDays;
    /**
     * Calculates the end date by adding the specified number of working days to the current date,
     * excluding any non-working days as defined in the nonWorkingDayIndex.
     *
     * @param {Date} startDate - The starting date from which to begin adding working days.
     * @param {number} daysToAdd - The number of days to add to the current date.
     * @param {number} count - A multiplier applied to daysToAdd, typically representing the number of units.
     * @returns {Date} - A new Date object representing the calculated date after working days have been added.
     *
     */
    private calculateDaysWithoutNonworkingDays;
    private drawPageBorder;
    private drawGantttChart;
}
//node_modules/@syncfusion/ej2-gantt/src/gantt/export/pdf-event-marker.d.ts
export  class EventMarker11 {
    parent: Gantt;
    renderHeight: number;
    constructor(parent?: Gantt);
    fontFamily: pdfExport.PdfFontFamily;
    progressFontColor: pdfExport.PdfColor;
    drawEventMarker(page: pdfExport.PdfPage, startPoint: pdfExport.PointF, cumulativeWidth: number, detail: TimelineDetails, eventMarker: IEventMarkerInfo, cumulativeHeight: number, ganttStyles: IGanttStyle): void;
    private getPdfFont;
}
//node_modules/@syncfusion/ej2-gantt/src/gantt/export/pdf-connector-line.d.ts
/**
 * @hidden
 */
export  class PdfGanttPredecessor {
    parentLeft?: number;
    childLeft?: number;
    parentWidth?: number;
    childWidth?: number;
    parentIndex?: number;
    childIndex?: number;
    rowHeight?: number;
    type?: string;
    milestoneParent?: boolean;
    milestoneChild?: boolean;
    lineWidth?: number;
    connectorLineColor?: pdfExport.PdfColor;
    pdfGantt?: PdfGantt;
    parent?: Gantt;
    parentEndPoint: number;
    ganttStyle: IGanttStyle;
    /**
     * @returns {PdfGanttPredecessor} .
     * @hidden
     */
    add(): PdfGanttPredecessor;
    constructor(parent?: Gantt, pdfGantt?: PdfGantt);
    /**
     * Calculate the predecesor line point and draw the predecessor
     *
     * @param {PdfGantt} pdfGantt .
     * @returns {void}
     * @private
     */
    drawPredecessor(pdfGantt: PdfGantt): void;
    /**
     * Method to draw the predecessor lines with calculated connector points
     *
     * @private
     */
    private connectLines;
    /**
     * Method to check the predecessor line  occurs within the page
     *
     * @param {RectangleF} rect .
     * @param {number} x .
     * @param {number} y .
     * @returns {boolean} .
     * @private
     */
    private contains;
    /**
     * Find the PDF page index of given point
     *
     * @param {PointF} point .
     * @returns {number} .
     * @private
     */
    private findPageIndex;
    /**
     * Draw predecessor line
     *
     * @param {PdfPage} page .
     * @param {PointF} startPoint .
     * @param {PointF} endPoint .
     * @returns {void} .
     * @private
     */
    private drawLine;
    /**
     * Draw predecessor arrow
     *
     * @param {PdfPage} page .
     * @param {PdfGanttTaskbarCollection} childTask .
     * @param {number} midPoint .
     * @returns {void} .
     * @private
     */
    private drawArrow;
}
//node_modules/@syncfusion/ej2-gantt/src/gantt/export/export-helper.d.ts
/**
 * @hidden
 * `ExportHelper` for `PdfExport` & `ExcelExport`
 */
export  class ExportHelper {
    private parent;
    private flatData;
    exportProps: PdfExportProperties;
    private gantt;
    private rowIndex;
    private colIndex;
    private row;
    private columns;
    private ganttStyle;
    private pdfDoc;
    private exportValueFormatter;
    private totalColumnWidth;
    beforeSinglePageExport: Object;
    baselineHeight: number;
    baselineTop: number;
    constructor(parent: Gantt);
    processToFit(): void;
    /**
     * @param {IGanttData[]} data .
     * @param {PdfGantt} gantt .
     * @param {PdfExportProperties} props .
     * @returns {void} .
     * @private
     */
    processGridExport(data: IGanttData[], gantt: PdfGantt, props: PdfExportProperties): void;
    private processHeaderContent;
    private processColumnHeader;
    private isColumnVisible;
    private processGanttContent;
    /**
     * Method for processing the timeline details
     *
     * @returns {void} .
     */
    private processTimeline;
    /**
     * Method for create the predecessor collection for rendering
     *
     * @returns {void} .
     */
    private processPredecessor;
    findIndexUsingParent(expandedRecord: IGanttData[], parentIndex: number): number;
    private processRecordRow;
    private processRecordCell;
    private setHyperLink;
    /**
     * Method for create the taskbar collection for rendering
     *
     * @returns {void} .
     */
    private processTaskbar;
    /**
     * set text alignment of each columns in exporting grid
     *
     * @param {string} textAlign .
     * @param {PdfStringFormat} format .
     * @returns {PdfStringFormat} .
     * @private
     */
    private getHorizontalAlignment;
    /**
     * set vertical alignment of each columns in exporting grid
     *
     * @param {string} verticalAlign .
     * @param {PdfStringFormat} format .
     * @param {string} textAlign .
     * @returns {PdfStringFormat} .
     * @private
     */
    private getVerticalAlignment;
    private getFontFamily;
    private getFontStyle;
    private getFont;
    private renderEmptyGantt;
    private mergeCells;
    private copyStyles;
    /**
     * @param {pdfExport.PdfDocument} pdfDoc .
     * @returns {void} .
     * @private
     */
    initializePdf(pdfDoc: pdfExport.PdfDocument): void;
    private drawPageTemplate;
    private drawText;
    private drawPageNumber;
    private drawImage;
    private drawLine;
    private getPenFromContent;
    private getDashStyle;
    private getBrushFromContent;
    private hexToRgb;
    private setContentFormat;
    private getPageNumberStyle;
}
/**
 * @hidden
 * `ExportValueFormatter` for `PdfExport` & `ExcelExport`
 */
export  class ExportValueFormatter {
    private internationalization;
    private valueFormatter;
    constructor(culture: string);
    private returnFormattedValue;
    /**
     * @private
     */
    formatCellValue(args: any): string;
}
//node_modules/@syncfusion/ej2-gantt/src/gantt/export/pdf-base/treegrid-layouter.d.ts
/**
 *
 */
export  class PdfTreeGridLayouter extends pdfExport.ElementLayouter {
    private currentPage;
    private currentGraphics;
    private currentPageBounds;
    private currentBounds;
    private startLocation;
    columnRanges: number[][];
    private cellStartIndex;
    private cellEndIndex;
    private repeatRowIndex;
    private treegridHeight;
    pageHeightCollection: {
        pageNumber: number;
        totalHeight: number;
    }[];
    headerHeight: number;
    constructor(baseFormat: PdfTreeGrid);
    readonly treegrid: PdfTreeGrid;
    layoutInternal(param: pdfExport.PdfLayoutParams): pdfExport.PdfLayoutResult;
    /**
     * `Determines the column draw ranges`.
     *
     * @returns {void} .
     * @private
     */
    private determineColumnDrawRanges;
    private getFormat;
    private updateCollection;
    private layoutOnPage;
    private checkBounds;
    private drawHeader;
    private reArrangePages;
    getNextPageFormat(format: pdfExport.PdfLayoutFormat): pdfExport.PdfPage;
    private getLayoutResult;
    private checkIfDefaultFormat;
    private drawRow;
    /**
     * @param {RowLayoutResult} result .
     * @param {PdfTreeGridRow} row .
     * @param {number} height .
     * @returns {void} .
     */
    private drawRowWithBreak;
    /**
     * `Recalculate row height` for the split cell to be drawn.
     *
     * @param {PdfTreeGridRow} row .
     * @param {number} height .
     * @returns {void} .
     * @private
     */
    reCalculateHeight(row: PdfTreeGridRow, height: number): number;
}
export  class PdfTreeGridLayoutResult extends pdfExport.PdfLayoutResult {
    /**
     * Constructor
     *
     * @param {pdfExport.PdfPage} page .
     * @param {pdfExport.RectangleF} bounds .
     * @private
     */
    constructor(page: pdfExport.PdfPage, bounds: pdfExport.RectangleF);
}
/**
 * `PdfGridLayoutFormat` class represents a flexible grid that consists of columns and rows.
 */
export  class PdfTreeGridLayoutFormat extends pdfExport.PdfLayoutFormat {
    /**
     * Initializes a new instance of the `PdfGridLayoutFormat` class.
     *
     * @param {pdfExport.PdfLayoutFormat} baseFormat .
     * @private
     */
    constructor(baseFormat?: pdfExport.PdfLayoutFormat);
}
//node_modules/@syncfusion/ej2-gantt/src/gantt/export/pdf-base/pdf-grid-table.d.ts
/**@hidden*/
export  class PdfTreeGridCell {
    /**
     * Gets or sets the parent `row`.
     *
     * @private
     */
    row: PdfTreeGridRow;
    /**
     * Gets or sets the cell `style`.
     *
     * @private
     */
    style: PdfGanttCellStyle;
    private cellWidth;
    private cellHeight;
    /**
     * Gets or sets a value that indicates the total number of rows that cell `spans` within a PdfGrid.
     *
     * @private
     */
    rowSpan: number;
    /**
     * Gets or sets a value that indicates the total number of columns that cell `spans` within a PdfGrid.
     *
     * @private
     */
    columnSpan: number;
    value: Object;
    /** @private */
    remainingString: string;
    /** @private */
    finishedDrawingCell: boolean;
    /** @private */
    isCellMergeContinue: boolean;
    /** @private */
    isRowMergeContinue: boolean;
    /** @private */
    isCellMergeStart: boolean;
    /** @private */
    isRowMergeStart: boolean;
    /** @private */
    isHeaderCell: boolean;
    /** @private */
    image: pdfExport.PdfImage;
    /** @private */
    fontStyle: PdfGanttFontStyle;
    constructor(row?: PdfTreeGridRow);
    /**
     * Gets the `height` of the PdfTreeGrid cell.[Read-Only].
     *
     * @returns {number} .
     * @private
     */
    height: number;
    /**
     * Gets the `width` of the PdfTreeGrid cell.[Read-Only].
     *
     * @returns {number} .
     * @private
     */
    width: number;
    private measureWidth;
    /**
     * @returns {number} .
     * @private
     */
    measureHeight(): number;
    private calculateWidth;
    /**
     * `Draws` the specified graphics.
     *
     * @param {pdfExport.PdfGraphics} graphics .
     * @param {pdfExport.RectangleF} bounds .
     * @param {boolean} cancelSubsequentSpans .
     * @param {number} leftAdjustment .
     * @returns {pdfExport.PdfStringLayoutResult} .
     * @private
     */
    draw(graphics: pdfExport.PdfGraphics, bounds: pdfExport.RectangleF, cancelSubsequentSpans: boolean, leftAdjustment: number): pdfExport.PdfStringLayoutResult;
    /**
     * Draw the `cell background`.
     *
     * @param {pdfExport.PdfGraphics} graphics .
     * @param {pdfExport.RectangleF} bounds .
     * @returns {void} .
     * @private
     */
    drawCellBackground(graphics: pdfExport.PdfGraphics, bounds: pdfExport.RectangleF): void;
    /**
     * `Adjusts the text layout area`.
     *
     * @param {pdfExport.RectangleF} bounds .
     * @returns {pdfExport.RectangleF} .
     * @private
     */
    private adjustContentLayoutArea;
    /**
     * @param {pdfExport.PdfGraphics} graphics .
     * @param {pdfExport.RectangleF} bounds .
     * @returns {void} .
     * @private
     */
    private drawCellBorder;
}
/**
 * `PdfTreeGridCellCollection` class provides access to an ordered,
 * strongly typed collection of 'PdfTreeGridCell' objects.
 *
 * @private
 */
export  class PdfTreeGridCellCollection {
    /**
     * @private
     */
    private treegridRow;
    /**
     * @private
     */
    private cells;
    /**
     * Initializes a new instance of the `PdfGridCellCollection` class with the row.
     *
     * @param { PdfTreeGridRow} row .
     * @private
     */
    constructor(row: PdfTreeGridRow);
    /**
     * Gets the current `cell`.
     *
     * @param {number} index .
     * @returns {PdfTreeGridCell} .
     * @private
     */
    getCell(index: number): PdfTreeGridCell;
    /**
     * Gets the cells `count`.[Read-Only].
     *
     * @returns {number} .
     * @private
     */
    readonly count: number;
    /**
     * `Adds` this instance.
     *
     * @param {PdfTreeGridCell} cell .
     * @returns {PdfTreeGridCell | void} .
     * @private
     */
    add(cell?: PdfTreeGridCell): PdfTreeGridCell | void;
    /**
     * Returns the `index of` a particular cell in the collection.
     *
     * @param {PdfTreeGridCell} cell .
     * @returns {number} .
     * @private
     */
    indexOf(cell: PdfTreeGridCell): number;
}
/**
 *
 */
export  class PdfTreeGridRow {
    private treegridCells;
    private pdfTreeGrid;
    private treegridRowOverflowIndex;
    private treegridRowBreakHeight;
    private rowHeight;
    private rowWidth;
    private _isParentRow;
    private intendLevel;
    /**
     * The `Maximum span` of the row.
     *
     * @public
     */
    maximumRowSpan: number;
    constructor(treegrid: PdfTreeGrid);
    readonly cells: PdfTreeGridCellCollection;
    isParentRow: boolean;
    treegrid: PdfTreeGrid;
    /**
     * `Height` of the row yet to be drawn after split.
     *
     * @returns {number} .
     * @private
     */
    rowBreakHeight: number;
    /**
     * `over flow index` of the row.
     *
     * @returns {number} .
     * @private
     */
    rowOverflowIndex: number;
    level: number;
    /**
     * Gets or sets the `height` of the row.
     *
     * @returns {number} .
     * @private
     */
    height: number;
    /**
     * Gets or sets the `width` of the row.
     *
     * @returns {number} .
     * @private
     */
    readonly width: number;
    readonly rowIndex: number;
    private measureWidth;
    private measureHeight;
}
/**
 * `PdfTreeGridRowCollection` class provides access to an ordered, strongly typed collection of 'PdfTreeGridRow' objects.
 *
 * @private
 */
export  class PdfTreeGridRowCollection {
    /**
     * @private
     */
    private treegrid;
    /**
     * The row collection of the `treegrid`.
     *
     * @private
     */
    private rows;
    /**
     * Initializes a new instance of the `PdfTreeGridRowCollection` class with the parent grid.
     *
     * @param {PdfTreeGrid} treegrid .
     * @private
     */
    constructor(treegrid: PdfTreeGrid);
    /**
     * Gets the number of header in the `PdfTreeGrid`.[Read-Only].
     *
     * @returns {number} .
     * @private
     */
    readonly count: number;
    /**
     * Return the row collection of the `treegrid`.
     *
     * @returns {PdfTreeGridRow[]} .
     * @private
     */
    readonly rowCollection: PdfTreeGridRow[];
    addRow(): PdfTreeGridRow;
    addRow(row: PdfTreeGridRow): void;
    /**
     * Return the row by index.
     *
     * @param {number} index .
     * @returns {PdfTreeGridRow} .
     * @private
     */
    getRow(index: number): PdfTreeGridRow;
}
/**
 * `PdfTreeGridHeaderCollection` class provides customization of the settings for the header.
 *
 * @private
 */
export  class PdfTreeGridHeaderCollection {
    /**
     * The `treegrid`.
     *
     * @returns {PdfTreeGrid} .
     * @private
     */
    private treegrid;
    /**
     * The array to store the `rows` of the grid header.
     *
     * @returns {PdfTreeGridRow[]} .
     * @private
     */
    private rows;
    /**
     * Initializes a new instance of the `PdfTreeGridHeaderCollection` class with the parent grid.
     *
     * @param {PdfTreeGrid} treegrid .
     * @private
     */
    constructor(treegrid: PdfTreeGrid);
    /**
     * Gets a 'PdfTreeGridRow' object that represents the `header` row in a 'PdfGridHeaderCollection' control.[Read-Only].
     *
     * @param {number} index .
     * @returns {PdfTreeGridRow} .
     * @private
     */
    getHeader(index: number): PdfTreeGridRow;
    /**
     * Gets the `number of header` in the 'PdfGrid'.[Read-Only]
     *
     * @returns {number} .
     * @private
     */
    readonly count: number;
    /**
     * `Adds` the specified row.
     *
     * @param {PdfTreeGridRow} row .
     * @returns {void} .
     * @private
     */
    add(row: PdfTreeGridRow): void;
    indexOf(row: PdfTreeGridRow): number;
}
export  class PdfTreeGridColumn {
    private treegrid;
    private columnWidth;
    private stringFormat;
    private treeColumnIndex;
    private _headerText;
    private _field;
    constructor(treegrid: PdfTreeGrid);
    headerText: string;
    field: string;
    width: number;
    isTreeColumn: boolean;
    /**
     * Gets or sets the information about the text `formatting`.
     *
     * @returns {pdfExport.PdfStringFormat} .
     * @private
     */
    format: pdfExport.PdfStringFormat;
}
/**
 * `PdfTreeGridColumnCollection` class provides access to an ordered,
 * strongly typed collection of 'PdfTreeGridColumn' objects.
 *
 * @private
 */
export  class PdfTreeGridColumnCollection {
    /**
     * @private
     */
    private treegrid;
    /**
     * @private
     */
    private internalColumns;
    /**
     * @private
     */
    columnWidth: number;
    /**
     * Initializes a new instance of the `PdfTreeGridColumnCollection` class with the parent grid.
     *
     * @param { PdfTreeGrid} treegrid .
     * @private
     */
    constructor(treegrid: PdfTreeGrid);
    /**
     * `Add` a new column to the 'PdfGrid'.
     *
     * @param {number} count .
     * @returns {void} .
     * @private
     */
    add(count: number): void;
    /**
     * Gets the `number of columns` in the 'PdfGrid'.[Read-Only].
     *
     * @returns {number} .
     * @private
     */
    readonly count: number;
    /**
     * Gets the `widths`.
     *
     * @returns {number} .
     * @private
     */
    readonly width: number;
    /**
     * Gets the `array of PdfGridColumn`.[Read-Only]
     *
     * @returns {PdfTreeGridColumn[]} .
     * @private
     */
    readonly columns: PdfTreeGridColumn[];
    /**
     * Gets the `PdfTreeGridColumn` from the specified index.[Read-Only]
     *
     * @param {number} index .
     * @returns {PdfTreeGridColumn} .
     * @private
     */
    getColumn(index: number): PdfTreeGridColumn;
    /**
     * `Calculates the column widths`.
     *
     * @returns {number} .
     * @private
     */
    measureColumnsWidth(): number;
    /**
     * Gets the `widths of the columns`.
     *
     * @param {number} totalWidth .
     * @returns {number} .
     * @private
     */
    getDefaultWidths(totalWidth: number): number[];
}
//node_modules/@syncfusion/ej2-gantt/src/gantt/export/pdf-base/pdf-borders.d.ts
/**
 * PdfBorders.ts class for EJ2-PDF
 */
/**
 * `PdfBorders` class used represents the cell border of the PDF grid.
 *
 * @hidden
 */
export  class PdfBorders {
    /**
     * The `left` border.
     *
     * @private
     */
    private leftPen;
    /**
     * The `right` border.
     *
     * @private
     */
    private rightPen;
    /**
     * The `top` border.
     *
     * @private
     */
    private topPen;
    /**
     * The `bottom` border.
     *
     * @private
     */
    private bottomPen;
    /**
     * Gets or sets the `Left`.
     *
     * @returns {pdfExport.PdfPen} .
     * @private
     */
    left: pdfExport.PdfPen;
    /**
     * Gets or sets the `Right`.
     *
     * @returns {pdfExport.PdfPen} .
     * @private
     */
    right: pdfExport.PdfPen;
    /**
     * Gets or sets the `Top`.
     *
     * @returns {pdfExport.PdfPen} .
     * @private
     */
    top: pdfExport.PdfPen;
    /**
     * Gets or sets the `Bottom`.
     *
     * @returns {pdfExport.PdfPen} .
     * @private
     */
    bottom: pdfExport.PdfPen;
    /**
     * sets the `All`.
     *
     * @param {pdfExport.PdfPen} value .
     * @private
     */
    all: pdfExport.PdfPen;
    /**
     * Gets a value indicating whether this instance `is all`.
     *
     * @returns {boolean} .
     * @private
     */
    readonly isAll: boolean;
    /**
     * Gets the `default`.
     *
     * @returns {PdfBorders} .
     * @private
     */
    static readonly default: PdfBorders;
    /**
     * Create a new instance for `PdfBorders` class.
     *
     * @private
     */
    constructor();
}
/** @hidden */
export  class PdfPaddings {
    /**
     * The `left` padding.
     *
     * @private
     */
    private leftPad;
    /**
     * The `right` padding.
     *
     * @private
     */
    private rightPad;
    /**
     * The `top` padding.
     *
     * @private
     */
    private topPad;
    /**
     * The `bottom` padding.
     *
     * @private
     */
    private bottomPad;
    /**
     * The 'left' border padding set.
     *
     * @private
     */
    hasLeftPad: boolean;
    /**
     * The 'right' border padding set.
     *
     * @private
     */
    hasRightPad: boolean;
    /**
     * The 'top' border padding set.
     *
     * @private
     */
    hasTopPad: boolean;
    /**
     * The 'bottom' border padding set.
     *
     * @private
     */
    hasBottomPad: boolean;
    /**
     * Gets or sets the `left` value of the edge
     *
     * @returns {number} .
     * @private
     */
    left: number;
    /**
     * Gets or sets the `right` value of the edge.
     *
     * @returns {number} .
     * @private
     */
    right: number;
    /**
     * Gets or sets the `top` value of the edge
     *
     * @returns {number} .
     * @private
     */
    top: number;
    /**
     * Gets or sets the `bottom` value of the edge.
     *
     * @returns {number} .
     * @private
     */
    bottom: number;
    /**
     * Sets value to all sides `left,right,top and bottom`.s
     *
     * @param {number} value .
     * @private
     */
    all: number;
    /**
     * Initializes a new instance of the `PdfPaddings` class.
     *
     * @private
     */
    constructor();
    /**
     * Initializes a new instance of the `PdfPaddings` class.
     *
     * @private
     */
    constructor(left: number, right: number, top: number, bottom: number);
}
//node_modules/@syncfusion/ej2-gantt/src/gantt/export/pdf-base/dictionary.d.ts
/**
 * Dictionary class
 *
 * @private
 * @hidden
 */
export  class TemporaryDictionary<K, V> {
    /**
     * @hidden
     * @private
     */
    private mKeys;
    /**
     * @hidden
     * @private
     */
    private mValues;
    /**
     * @returns {number} .
     * @hidden
     * @private
     */
    size(): number;
    /**
     * @template K
     * @template V
     * @param {K} key .
     * @param {V} value .
     * @returns {void} .
     * @hidden
     * @private
     */
    add(key: K, value: V): number;
    /**
     * @template K
     * @returns {K[]} .
     * @hidden
     * @private
     */
    keys(): K[];
    /**
     * @template V
     * @returns {V[]} .
     * @hidden
     * @private
     */
    values(): V[];
    /**
     * @template K
     * @template V
     * @param {K} key .
     * @returns {V} .
     * @hidden
     * @private
     */
    getValue(key: K): V;
    /**
     * @template K
     * @template V
     * @param {K} key .
     * @param {V} value .
     * @returns {void} .
     * @hidden
     * @private
     */
    setValue(key: K, value: V): void;
    /**
     * @template K
     * @param {K} key .
     * @returns {boolean} .
     * @hidden
     * @private
     */
    remove(key: K): boolean;
    /**
     * @template K
     * @param {K} key .
     * @returns {boolean} .
     * @hidden
     * @private
     */
    containsKey(key: K): boolean;
    /**
     * @returns {void} .
     * @hidden
     * @private
     */
    clear(): void;
}
//node_modules/@syncfusion/ej2-gantt/src/gantt/export/pdf-base/pdf-style/style.d.ts
/**
 * PdfGridStyleBase.ts class for EJ2-PDF
 */
/**
 * Base class for the `treegrid style`,
 */
export  abstract class PdfTreeGridStyleBase {
    /**
     * Gets or sets the `background brush`.
     *
     * @private
     */
    backgroundBrush: pdfExport.PdfBrush;
    /**
     * Gets or sets the `text brush`.
     *
     * @private
     */
    textBrush: pdfExport.PdfBrush;
    /**
     * Gets or sets the `text pen`.
     *
     * @private
     */
    textPen: pdfExport.PdfPen;
    /**
     * Gets or sets the `font`.
     *
     * @private
     */
    font: pdfExport.PdfFont;
}
/**
 * `PdfTreeGridStyle` class provides customization of the appearance for the 'PdfGrid'.
 *
 */
export  class PdfTreeGridStyle {
    /**
     * Gets or sets the `border overlap style` of the 'PdfGrid'.
     *
     * @private
     */
    borderOverlapStyle: pdfExport.PdfBorderOverlapStyle;
    /**
     * Gets or sets the type of the `horizontal overflow` of the 'PdfGrid'.
     *
     * @private
     */
    horizontalOverflowType: PdfHorizontalOverflowType;
    /**
     * Gets or sets a value indicating whether to `allow horizontal overflow`.
     *
     * @private
     */
    allowHorizontalOverflow: boolean;
    /**
     * Gets or sets the `cell padding`.
     *
     * @private
     */
    cellPadding: PdfPaddings;
    /**
     * Gets or sets the `cell spacing` of the 'PdfGrid'.
     *
     * @private
     */
    cellSpacing: number;
    /**
     * Initialize a new instance for `PdfGridStyle` class.
     *
     * @private
     */
    constructor();
}
//node_modules/@syncfusion/ej2-gantt/src/gantt/export/pdf-base/pdf-style/gantt-theme.d.ts
/**
 * @hidden
 */
export  class PdfGanttTheme {
    ganttStyle: IGanttStyle;
    private theme;
    constructor(theme: PdfTheme);
    readonly style: IGanttStyle;
    private setTheme;
    private initStyles;
}
//node_modules/@syncfusion/ej2-gantt/src/gantt/base/utils.d.ts
/**
 * @param {Element} elem .
 * @param {string} selector .
 * @param {boolean} isID .
 * @returns {Element} .
 * @hidden
 */
export  function parentsUntil(elem: Element, selector: string, isID?: boolean): Element;
/**
 * @param {ITaskData} ganttProp .
 * @returns {boolean} .
 * @hidden
 */
export  function isScheduledTask(ganttProp: ITaskData): boolean;
/**
 * @param {Gantt} parent .
 * @returns {boolean} .
 * @hidden
 */
export  function isCountRequired(parent: Gantt): boolean;
/**
 * @param {object} obj .
 * @returns {object} .
 * @hidden
 */
export  function getSwapKey(obj: Object): object;
/**
 * @param {object} obj .
 * @returns {boolean} .
 * @hidden
 */
export  function isEmptyObject(obj: object): boolean;
/**
 * @param {Date} date .
 * @returns {number} .
 * @hidden
 */
export  function getUniversalTime(date: Date): number;
/**
 * @param {object} dataSource .
 * @returns {boolean} .
 * @hidden
 */
export  function isRemoteData(dataSource: object): boolean;
/**
 * @param {IGanttData[]} records .
 * @param {boolean} isNotExtend .
 * @param {ITaskAddedEventArgs} eventArgs .
 * @param {Gantt} parent .
 * @returns {object[]} .
 * @hidden
 */
export  function getTaskData(records: IGanttData[], isNotExtend?: boolean, eventArgs?: ITaskAddedEventArgs, parent?: Gantt): object[] | object;
/**
 * @param {IGanttData} record .
 * @param {Gantt} parent .
 * @returns {null} .
 * @hidden
 */
export  function updateDates(record: IGanttData, parent: Gantt): void;
/**
 * @param {string} str .
 * @param {string[]} args .
 * @returns {string} .
 * @hidden
 */
export  function formatString(str: string, args: string[]): string;
/**
 * @param {any} value .
 * @param {string} key1 .
 * @param {any} collection .
 * @param {string} key2
 * @returns {number} .
 * @hidden
 */
export  function getIndex(value: any, key1: string, collection: any, key2?: string): number;
/**
 * @param {number} value .
 * @returns {number} .
 * @hidden
 */
export  function pixelToPoint(value: number): number;
/**
 * @param {number} value .
 * @returns {number} .
 * @hidden
 */
export  function pointToPixel(value: number): number;
/**
 * @returns {number} .
 * @hidden
 */
export  function getUid(): number;
//node_modules/@syncfusion/ej2-gantt/src/gantt/base/tree-grid.d.ts
/** @hidden */
export  class GanttTreeGrid {
    private parent;
    private treeGridElement;
    treeGridColumns: treegrid.ColumnModel[];
    isPersist: boolean;
    dropInstance: dropdowns.AutoComplete;
    /**
     * @private
     */
    currentEditRow: {};
    private registeredTemplate;
    addedRecord: boolean;
    setCancelArgs: boolean;
    private previousScroll;
    /** @hidden */
    prevCurrentView: Object;
    constructor(parent: Gantt);
    private addEventListener;
    private renderReactTemplate;
    private createContainer;
    /**
     * Method to initiate TreeGrid
     *
     * @returns {void} .
     */
    renderTreeGrid(): void;
    private composeProperties;
    private getContentDiv;
    private getHeaderDiv;
    private getScrollbarWidth;
    /**
     * @returns {void} .
     * @private
     */
    ensureScrollBar(): void;
    private bindEvents;
    private beforeDataBound;
    private dataBound;
    private dataStateChange;
    private collapsing;
    private expanding;
    private collapsed;
    private expanded;
    private actionBegin;
    private created;
    private actionFailure;
    private queryCellInfo;
    private headerCellInfo;
    private rowDataBound;
    private columnMenuOpen;
    private columnMenuClick;
    private createExpandCollapseArgs;
    private objectEqualityChecker;
    private treeActionComplete;
    private updateKeyConfigSettings;
    /**
     * Method to bind internal events on TreeGrid element
     *
     * @returns {void} .
     */
    private wireEvents;
    private unWireEvents;
    private scrollHandler;
    /**
     * @returns {void} .
     * @private
     */
    validateGanttColumns(): void;
    /**
     *
     * @param {GanttColumnModel} column .
     * @param {boolean} isDefined .
     * @returns {void} .
     */
    private createTreeGridColumn;
    changeLocale(data: any): any[];
    changeDelocale(dependency: string): string;
    /**
     * Compose Resource columns
     *
     * @param {GanttColumnModel} column .
     * @returns {void} .
     */
    private composeResourceColumn;
    /**
     * @param {IGanttData} data .
     * @returns {object} .
     * @private
     */
    getResourceIds(data: IGanttData): object;
    /**
     * Create Id column
     *
     * @param {GanttColumnModel} column .
     * @returns {void} .
     */
    private composeIDColumn;
    private composeUniqueIDColumn;
    /**
     * Create progress column
     *
     * @param {GanttColumnModel} column .
     * @returns {void} .
     */
    private composeProgressColumn;
    /**
     * @param {GanttColumnModel} newGanttColumn .
     * @param {boolean} isDefined .
     * @returns {void} .
     */
    private bindTreeGridColumnProperties;
    private durationValueAccessor;
    private dependencyValueAccessor;
    private resourceValueAccessor;
    private workValueAccessor;
    private taskTypeValueAccessor;
    private modeValueAccessor;
    private idValueAccessor;
    private updateScrollTop;
    private treeGridClickHandler;
    private removeEventListener;
    private destroy;
}
//node_modules/@syncfusion/ej2-gantt/src/gantt/base/task-processor.d.ts
/**
 * To calculate and update task related values
 */
export  class TaskProcessor extends DateProcessor {
    recordIndex: number;
    dataArray: Object[];
    taskIds: Object[];
    private segmentCollection;
    private hierarchyData;
    isResourceString: boolean;
    private customSegmentProperties;
    private systemTimeZone;
    private isBaseline;
    private isDurationValueUpdated;
    private uid;
    private isTaskIDInteger;
    constructor(parent: Gantt);
    private addEventListener;
    /**
     * @param {boolean} isChange .
     * @returns {void} .
     * @private
     */
    checkDataBinding(isChange?: boolean): void;
    private processTimeline;
    private initDataSource;
    private constructDataSource;
    cloneDataSource(): void;
    /**
     * @param {object[]} resources .
     * @param {object[]} data .
     * @param {object[]} unassignedTasks .
     * @returns {void} .
     *
     */
    private constructResourceViewDataSource;
    /**
     * Function to manipulate data-source
     *
     * @param {object[]} data .
     * @returns {void} .
     * @hidden
     */
    private prepareDataSource;
    private calculateSharedTaskUniqueIds;
    private prepareRecordCollection;
    /**
     * Method to update custom field values in gantt record
     *
     * @param {object} data .
     * @param {IGanttData} ganttRecord .
     * @returns {void} .
     */
    private addCustomFieldValue;
    private getGanttUid;
    /**
     * To populate Gantt record
     *
     * @param {object} data .
     * @param {number} level .
     * @param {IGanttData} parentItem .
     * @param {boolean} isLoad .
     * @returns {IGanttData} .
     * @private
     */
    createRecord(data: Object, level: number, parentItem?: IGanttData, isLoad?: boolean): IGanttData;
    private sortSegmentsData;
    setSegmentsInfo(data: IGanttData, onLoad: boolean): ITaskSegment[];
    private setSegmentTaskData;
    private fetchResources;
    /**
     * Method to calculate work based on resource unit and duration.
     *
     * @param {IGanttData} ganttData .
     * @returns {void} .
     */
    updateWorkWithDuration(ganttData: IGanttData): void;
    /**
     *
     * @param {IGanttData} parent .
     * @returns {IParent} .
     * @private
     */
    getCloneParent(parent: IGanttData): IParent;
    /**
     * @returns {void} .
     * @private
     */
    reUpdateResources(): void;
    private addTaskData;
    private updateExpandStateMappingValue;
    /**
     * @param {IGanttData} ganttData .
     * @param {object} data .
     * @returns {void} .
     */
    private setValidatedDates;
    /**
     *
     * @param {IGanttData} ganttData .
     * @param {object} data .
     * @param {boolean} isLoad .
     * @returns {void} .
     * @private
     */
    calculateScheduledValues(ganttData: IGanttData, data: Object, isLoad: boolean): void;
    /**
     * Method to update duration with work value.
     *
     * @param {IGanttData} ganttData .
     * @returns {void} .
     */
    updateDurationWithWork(ganttData: IGanttData): void;
    /**
     * Update units of resources with respect to duration and work of a task.
     *
     * @param {IGanttData} ganttData .
     * @returns {void} .
     */
    updateUnitWithWork(ganttData: IGanttData): void;
    private calculateDateFromEndDate;
    private calculateDateFromStartDate;
    /**
     *
     * @param {number} parentWidth .
     * @param {number} percent .
     * @returns {number} .
     * @private
     */
    getProgressWidth(parentWidth: number, percent: number): number;
    /**
     *
     * @param {IGanttData} ganttData .
     * @param {boolean} isAuto .
     * @returns {number} .
     * @private
     */
    calculateWidth(ganttData: IGanttData, isAuto?: boolean): number;
    private getTaskbarHeight;
    /**
     * Method to calculate left
     *
     * @param {ITaskData} ganttProp .
     * @param {IGanttData} ganttRecord .
     * @param {boolean} isAuto .
     * @returns {number} .
     * @private
     */
    calculateLeft(ganttProp: ITaskData, ganttRecord: IGanttData, isAuto?: boolean): number;
    /**
     * calculate the left position of the auto scheduled taskbar
     *
     * @param {ITaskData} ganttProperties - Defines the gantt data.
     * @returns {number} .
     * @private
     */
    calculateAutoLeft(ganttProperties: ITaskData): number;
    /**
     * To calculate duration of Gantt record with auto scheduled start date and auto scheduled end date
     *
     * @param {ITaskData} ganttProperties - Defines the gantt data.
     * @returns {number} .
     */
    calculateAutoDuration(ganttProperties: ITaskData): number;
    /**
     * calculate the with between auto scheduled start date and auto scheduled end date
     *
     * @param {ITaskData} ganttProperties - Defines the gantt data.
     * @returns {number} .
     * @private
     */
    calculateAutoWidth(ganttProperties: ITaskData): number;
    /**
     * calculate the left margin of the baseline element
     *
     * @param {ITaskData} ganttProperties .
     * @returns {number} .
     * @private
     */
    calculateBaselineLeft(ganttProperties: ITaskData): number;
    /**
     * calculate the width between baseline start date and baseline end date.
     *
     * @param {ITaskData} ganttProperties .
     * @returns {number} .
     * @private
     */
    calculateBaselineWidth(ganttProperties: ITaskData): number;
    /**
     * To get tasks width value
     *
     * @param {Date} startDate .
     * @param {Date} endDate .
     * @param {ITaskData} [ganttData] .
     * @returns {number} .
     * @private
     */
    getTaskWidth(startDate: Date, endDate: Date, ganttData?: ITaskData): number;
    getDSTTransitions(year: number, timeZone: string): {
        dstStart: Date;
        dstEnd: Date;
    };
    hasDSTTransition(year: number): boolean;
    /**
     * Get task left value
     *
     * @param {Date} startDate .
     * @param {boolean} isMilestone .
     * @param {boolean} isFromTimelineVirtulization .
     * @returns {number} .
     * @private
     */
    getTaskLeft(startDate: Date, isMilestone: boolean, isFromTimelineVirtulization?: boolean): number;
    /**
     * Calculates the left pixel value for a task on the Gantt chart, considering non-working days.
     *
     * This method calculates the horizontal position or "left value" for a task based on its start date, current date,
     * and the position of non-working days. This is useful for determining the visual placement of tasks in the Gantt chart.
     *
     * @param {Date} timelineStartDate - The start date of the timeline from which to calculate the left position.
     * @param {Date} currentDate - The current date for which the left value is being calculated.
     * @returns {number} - Returns the calculated left value in pixels.
     */
    calculateLeftValue(timelineStartDate: Date, currentDate: Date): number;
    getSplitTaskWidth(sDate: Date, duration: number, data: IGanttData): number;
    getSplitTaskLeft(sDate: Date, segmentTaskStartDate: Date): number;
    /**
     *
     * @param {IGanttData} ganttData .
     * @param {string} fieldName .
     * @returns {void} .
     * @private
     */
    updateMappingData(ganttData: IGanttData, fieldName: string): void;
    private segmentTaskData;
    /**
     * Method to update the task data resource values
     *
     * @param {IGanttData} ganttData .
     * @returns {void} .
     */
    private updateTaskDataResource;
    private setRecordDate;
    private getDurationInDay;
    private setRecordDuration;
    setDataSource(data: Object | Object[] | data.DataManager): Object[];
    private setStartDate;
    private getWorkInHour;
    /**
     *
     * @param {IGanttData} ganttData .
     * @returns {void} .
     * @private
     */
    updateTaskData(ganttData: IGanttData): void;
    /**
     * To set resource value in Gantt record
     *
     * @param {object} data .
     * @returns {object[]} .
     * @private
     */
    setResourceInfo(data: Object): Object[];
    /**
     * To set resource unit in Gantt record
     *
     * @param {object[]} resourceData .
     * @returns {void} .
     * @private
     */
    updateResourceUnit(resourceData: Object[]): void;
    /**
     * @param {IGanttData} data .
     * @returns {void} .
     * @private
     */
    updateResourceName(data: IGanttData): void;
    private dataReorder;
    private validateDurationUnitMapping;
    private validateTaskTypeMapping;
    private validateWorkUnitMapping;
    /**
     * To update duration value in Task
     *
     * @param {string} duration .
     * @param {ITaskData} ganttProperties .
     * @returns {void} .
     * @private
     */
    updateDurationValue(duration: string, ganttProperties: ITaskData): void;
    /**
     * @returns {void} .
     * @private
     */
    reUpdateGanttData(): void;
    private _isInStartDateRange;
    private _isInEndDateRange;
    /**
     * Method to find overlapping value of the parent task
     *
     * @param {IGanttData} resourceTask .
     * @returns {void} .
     * @private
     */
    updateOverlappingValues(resourceTask: IGanttData): void;
    /**
     * @param {IGanttData[]} tasks .
     * @returns {void} .
     * @private
     */
    updateOverlappingIndex(tasks: IGanttData[]): void;
    /**
     * Method to calculate the left and width value of oarlapping ranges
     *
     * @param {IWorkTimelineRanges[]} ranges .
     * @returns {void} .
     * @private
     */
    calculateRangeLeftWidth(ranges: IWorkTimelineRanges[]): void;
    /**
     * @param {IWorkTimelineRanges[]} ranges .
     * @param {boolean} isSplit .
     * @returns {IWorkTimelineRanges[]} .
     * @private
     */
    mergeRangeCollections(ranges: IWorkTimelineRanges[], isSplit?: boolean): IWorkTimelineRanges[];
    /**
     * Sort resource child records based on start date
     *
     * @param {IGanttData} resourceTask .
     * @returns {IGanttData} .
     * @private
     */
    setSortedChildTasks(resourceTask: IGanttData): IGanttData[];
    private splitRangeCollection;
    private getRangeWithDay;
    private splitRangeForDayMode;
    private getRangeWithWeek;
    private splitRangeForWeekMode;
    /**
     * Update all gantt data collection width, progress width and left value
     *
     * @returns {void} .
     * @private
     */
    updateGanttData(): void;
    private shouldProcessUpdateWidth;
    /**
     * Update all gantt data collection width, progress width and left value
     *
     * @param {IGanttData} data .
     * @param {Map<string, IGanttData>} parentRecords .
     * @returns {void} .
     * @public
     */
    private updateTaskLeftWidth;
    /**
     * @returns {void} .
     * @private
     */
    reUpdateGanttDataPosition(): void;
    /**
     * method to update left, width, progress width in record
     *
     * @param {IGanttData} data .
     * @returns {void} .
     * @private
     */
    updateWidthLeft(data: IGanttData): void;
    /**
     * method to update left, width, progress width in record
     *
     * @param {IGanttData} data .
     * @returns {void} .
     * @private
     */
    updateAutoWidthLeft(data: IGanttData): void;
    /**
     * To calculate parent progress value
     *
     * @param {IGanttData} childGanttRecord .
     * @returns {object} .
     * @private
     */
    getParentProgress(childGanttRecord: IGanttData): Object;
    private resetDependency;
    private isUnscheduledTask;
    private isFromManual;
    /**
     * @param {IParent | IGanttData} cloneParent .
     * @param {boolean} isParent .
     * @returns {void} .
     * @private
     */
    updateParentItems(cloneParent: IParent | IGanttData, isParent?: boolean): void;
}
//node_modules/@syncfusion/ej2-gantt/src/gantt/base/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;
    private isSplitterResized;
    constructor(ganttObj?: Gantt);
    /**
     * @returns {void} .
     * @private
     */
    renderSplitter(): void;
    /**
     * @param {SplitterSettingsModel} splitter .
     * @returns {string} .
     * @private
     */
    calculateSplitterPosition(splitter: SplitterSettingsModel): string;
    /**
     * @param {string} position .
     * @returns {string} .
     */
    private getSpliterPositionInPercentage;
    /**
     * @param {number} index .
     * @returns {number} .
     */
    private getTotalColumnWidthByIndex;
    /**
     * @returns {void} .
     * @private
     */
    updateSplitterPosition(): void;
    /**
     * @returns {void} .
     * @private
     */
    triggerCustomResizedEvent(): void;
    private destroy;
}
//node_modules/@syncfusion/ej2-gantt/src/gantt/base/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;
    /** Defines the critical path of task. */
    isCritical?: boolean;
    /** Defines the slack value of critical path task. */
    slack?: string | number;
}
export interface IParent {
    /** Defines the unique id of task. */
    uniqueID?: string;
    /** Defines the expanded state of task. */
    expanded?: boolean;
    /** Defines the level of task. */
    level?: number;
    /** Defines the id of task. */
    taskId?: string;
    /** Defines the index of task. */
    index?: number;
}
export interface ITaskData {
    /** Defines the baselineleft of task. */
    baselineLeft?: number;
    /** Defines the baseline startdate of task. */
    baselineStartDate?: Date;
    /** Defines the baseline enddate of task. */
    baselineEndDate?: Date;
    /** Defines the baseline width of task. */
    baselineWidth?: number;
    /** Defines the end date of task. */
    endDate?: Date;
    /** Defines the css class of task. */
    cssClass?: string;
    /** Defines the duration of task. */
    duration?: number;
    /** Defines the duration unit of task. */
    durationUnit?: string;
    /** Defines the task is auto schedule-able or not. */
    isAutoSchedule?: boolean;
    /** Defines the task is milestone or not. */
    isMilestone?: boolean;
    /** Defines the left of task. */
    left?: number;
    /** Defines the critical path of task. */
    isCritical?: boolean;
    /** Defines the slack value of critical path task. */
    slack?: string | number;
    /** Defines the progress of task. */
    progress?: number;
    /** Defines the progress width of task. */
    progressWidth?: number;
    /** Defines the resource info of task. */
    resourceInfo?: Object[];
    /** Defines the resource names of task. */
    resourceNames?: string;
    /** Defines the start date of task. */
    startDate?: Date;
    /** Defines the notes of task. */
    notes?: string;
    /** Defines the predecessors name of task. */
    predecessorsName?: string | number | object[];
    /** Defines the predecessor of task. */
    predecessor?: IPredecessor[];
    /** Defines the id of task. */
    taskId?: string;
    /** Defines the parent id of task. */
    parentId?: string;
    /** Defines the name of task. */
    taskName?: string;
    /** Defines the width of task. */
    width?: number;
    /** Defines the indicators of task. */
    indicators?: IIndicator[];
    /** Defines the unique id of task. */
    uniqueID?: string;
    /** Defines the total progress of task. */
    totalProgress?: number;
    /** Defines the total duration of task. */
    totalDuration?: number;
    /** Defines the work of the task. */
    work?: number;
    /** Defines the work unit of task. */
    workUnit?: string;
    /** Defines task type */
    taskType?: TaskType;
    /** Defines the auto scheduled task's start date. */
    autoStartDate?: Date;
    /** Defines the auto scheduled task's end date. */
    autoEndDate?: Date;
    /** Defines the auto scheduled task's duration */
    autoDuration?: number;
    /** Defines the auto scheduled task's left. */
    autoLeft?: number;
    /** Defines the auto scheduled task's width. */
    autoWidth?: number;
    /** It have taskId for ProjectView and uniqueID for resourceView */
    rowUniqueID?: string;
    /** Defines work timeline ranges. */
    workTimelineRanges?: IWorkTimelineRanges[];
    /** Defines overlap index. */
    eOverlapIndex?: number;
    /** Defines whether overlapped with other taskbar or not. */
    eOverlapped?: boolean;
    /** Defines task segments. */
    segments?: ITaskSegment[];
    /**
     * Defines shared task unique ids.
     */
    sharedTaskUniqueIds?: string[];
}
export interface ITaskSegment {
    /** Defines start date of the segment */
    startDate?: Date;
    /** Defines end date of the segment */
    endDate?: Date;
    /** Defines the duration of the segment. */
    duration?: number;
    /** Defines the width of a segment. */
    width?: number;
    /** Defines the progress width of a segment. */
    progressWidth?: number;
    /** Defines the left position of a segment. */
    left?: number;
    /** Defines the segment index */
    segmentIndex?: number;
    /** Defines the duration between 2 segments */
    offsetDuration?: number;
    /** Set for displaying progress in split taskbar */
    showProgress?: boolean;
}
export interface IWorkTimelineRanges {
    /** Defines start date of task */
    startDate?: Date;
    /** Defines end date of task */
    endDate?: Date;
    /** Defines left value of resource usage/resource histogram. */
    left?: number;
    /** Defines width of the resource usage/resource histogram. */
    width?: number;
    /** Defines height of the resource usage/resource histogram. */
    height?: number;
    /** Defines per day work. */
    workPerDay?: number;
    /** Defines whether resource is over allocate or not. */
    isOverAllocated?: boolean;
    /** Defines the task. */
    task?: IGanttData;
    /** Defines start date of task */
    from?: Date;
    /** Defines start date of task */
    to?: Date;
}
export interface IGanttColumn {
    /** Defines column name */
    field?: string;
    /** Defines header text of column */
    headerText?: string;
    /** Defines edit type of column */
    editType?: string;
    /** Defines mapping name of column */
    mappingName?: string;
    /** Defines whether editing is enabled or not */
    allowEditing: boolean;
    /** Defines width of column */
    width: number;
    /** Defines format of column */
    format: string;
    /** Defines whether column is visible or not */
    visible: boolean;
}
export interface IIndicator {
    /** Defines the date of indicator. */
    date?: Date | string;
    /** Defines the icon class of indicator. */
    iconClass?: string;
    /** Defines the pdf image of indicator. */
    base64?: string;
    /** Defines the name of indicator. */
    name?: string;
    /** Defines the tooltip of indicator. */
    tooltip?: string;
}
export interface IWorkingTimeRange {
    /** Defines the from date. */
    from?: number;
    /** Defines the to date. */
    to?: number;
    /** Defines whether it is working day or not. */
    isWorking?: boolean;
    /** Defines the color to render. */
    color?: string;
    /** Defines the interval between from and to dates. */
    interval?: number;
}
export interface IQueryTaskbarInfoEventArgs {
    /** Defines the data. */
    data: IGanttData;
    /** Defines the row element. */
    rowElement: Element;
    /** Defines the taskbar element. */
    taskbarElement: Element;
    /** Defines the taskbar background color. */
    taskbarBgColor?: string;
    /** Defines the taskbar border color. */
    taskbarBorderColor?: string;
    /** Defines the progressbar background color. */
    progressBarBgColor?: string;
    /** Defines the milestone color. */
    milestoneColor?: string;
    /** Defines the right label color. */
    rightLabelColor?: string;
    /** Defines the left label color. */
    leftLabelColor?: string;
    /** Defines the task label color. */
    taskLabelColor?: string;
    /** Defines the baseline color. */
    baselineColor?: string;
    /** Defines the taskbar type. */
    taskbarType: string;
}
export interface IGanttCellFormatter {
    /** Method to format the cell value of date columns. */
    getValue(column: Column, data: Object): Object;
}
export interface ITaskbarEditedEventArgs {
    /** Defines the editingFields. */
    editingFields?: ITaskData;
    /** Defines the data. */
    data?: IGanttData;
    /** Defines the index of edited task. */
    recordIndex?: number;
    /** Defines the previous value of editing task. */
    previousData?: ITaskData;
    /** Defines the type of taskbar edit action. */
    taskBarEditAction?: string;
    /** Defines the duration roundoff. */
    roundOffDuration?: boolean;
    /** Defines the event is cancel-able or not. */
    cancel?: boolean;
    /** Defines the action. */
    action?: string;
    /** Defines the target element. */
    target?: Element;
    /** Defines the segment index. */
    segmentIndex?: number;
}
export interface IKeyPressedEventArgs {
    /** Defines the request type. */
    requestType?: string;
    /** Defines the key action. */
    action?: string;
    /** Defines the event. */
    keyEvent?: Event;
}
export interface ITaskDeletedEventArgs {
    /** Defines the deleted records */
    deletedRecordCollection?: IGanttData[];
    /** Defines the updated records */
    updatedRecordCollection?: IGanttData[];
    /** Defines the event is cancel-able or not. */
    cancel?: boolean;
    /** Defines the event action. */
    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 {
    /** Defines the gantt data. */
    data?: IGanttData;
    /** Defines the record index. */
    recordIndex?: number;
    /** Defines the request type */
    requestType?: string;
    /** Defines whether to cancel the action or not */
    cancel?: boolean;
    /** Defines the validation mode. */
    validateMode?: IValidateMode;
    /** Defines the edited arguments. */
    editEventArgs?: object;
}
export interface ITimeSpanEventArgs {
    /** Defines the project start date. */
    projectStartDate?: Date;
    /** Defines the project end date. */
    ProjectEndDate?: Date;
    /** Defines the timeline roundoff state. */
    isTimelineRoundOff?: boolean;
    /** Defines the request type. */
    requestType?: string;
    /** Defines the event is cancel-able or not. */
    cancel?: boolean;
    /** Defines the action. */
    action?: string;
}
export interface IValidateMode {
    respectLink?: boolean;
    removeLink?: boolean;
    preserveLinkWithEditing?: boolean;
}
export interface IActionBeginEventArgs {
    /** Defines the action type. */
    requestType?: string;
    /** Defines the gantt record. */
    data?: IGanttData | IGanttData[];
    /** Defines the modified records. */
    modifiedRecords?: IGanttData[];
    /** Defines the modified task data. */
    modifiedTaskData?: object[] | object;
    /** Defines the event is cancel-able or not. */
    cancel?: boolean;
    /** Defines the taskbar edit action. */
    taskBarEditAction?: string;
    /** Defines the event action. */
    action?: string;
    /** Defines the target element. */
    target?: Element;
}
export interface IValidateLinkedTaskArgs {
    editMode?: string;
    data?: IGanttData;
    requestType?: string;
    validateMode?: IValidateMode;
    cancel?: boolean;
}
export interface IConnectorLineObject {
    parentLeft?: number;
    childLeft?: number;
    parentWidth?: number;
    childWidth?: number;
    parentIndex?: number;
    childIndex?: number;
    rowHeight?: number;
    type?: string;
    connectorLineId?: string;
    milestoneParent?: boolean;
    milestoneChild?: boolean;
    parentIndexInCurrentView?: number;
    childIndexInCurrentView?: number;
    isCritical?: boolean;
    parentEndPoint?: number;
    childEndPoint?: number;
}
export interface ISplitterResizedEventArgs {
    /** Defines the element. */
    element?: HTMLElement;
    /** Defines the event. */
    event?: Event;
    /** Defines the size of resized pane. */
    paneSize?: number[];
    /** Defines the pane. */
    pane?: HTMLElement[];
    /** Defines the index of resizing pane. */
    index?: number[];
    /** Defines the separator. */
    separator?: HTMLElement;
    /** Defines the event is cancel-able or not. */
    cancel?: boolean;
}
export interface PredecessorTooltip {
    /** Defines the from id of predecessor. */
    fromId?: string;
    /** Defines the to id of predecessor. */
    toId?: string;
    /** Defines the from name of predecessor. */
    fromName?: string;
    /** Defines the to name of predecessor. */
    toName?: string;
    /** Defines the link type of predecessor. */
    linkType?: string;
    /** Defines the link text of predecessor. */
    linkText?: string;
    /** Defines the offset value of predecessor. */
    offset?: number;
    /** Defines the offset unit of predecessor. */
    offsetUnit?: string;
    /** Defines the offset string value of predecessor. */
    offsetString?: string;
}
export interface BeforeTooltipRenderEventArgs {
    /** Defines the data. */
    data?: BeforeTooltipRenderEventArgsData;
    /** Defines the original event arguments of tooltip control. */
    args?: popups.TooltipEventArgs;
    /** Defines the content. */
    content?: string | Element | Function;
    /** Cancel the tooltip */
    cancel?: boolean;
}
export interface QueryCellInfoEventArgs {
    /** Defines the row data associated with this cell. */
    data?: IGanttData;
    /** Defines the cell element. */
    cell?: Element;
    /** Defines the column object associated with this cell. */
    column?: Column;
    /** Defines the no. of columns to be spanned */
    colSpan?: number;
    /** Defines the no. of rows to be spanned */
    rowSpan?: number;
    /** Defines the current action. */
    requestType?: string;
    /** Define the foreignKey row data associated with this column */
    foreignKeyData?: Object;
}
/**
 * Extending IGanttData and PredecessorTooltip interfaces for data used in BeforeTooltipRenderEventArgs interface.
 */
export interface BeforeTooltipRenderEventArgsData extends IGanttData, PredecessorTooltip {
}
export interface IDependencyEventArgs {
    /** Specifies the predecessor task of dependency. */
    fromItem?: IGanttData;
    /** Specifies the successor task of dependency. */
    toItem?: IGanttData;
    /** Defines the new predecessor string. */
    newPredecessorString?: string;
    /** Defines the dependency link is valid or not */
    isValidLink?: boolean;
    /** Defines the request type. */
    requestType?: string;
    /** Defines predecessor object */
    predecessor?: IPredecessor;
}
export interface ITaskAddedEventArgs {
    /** Specifies the newly added task data with Gantt properties. */
    data?: IGanttData[] | IGanttData;
    /** Specifies the newly added task data without custom Gantt properties. */
    newTaskData?: object[] | object;
    /** Defines the modified records. */
    modifiedRecords?: IGanttData[];
    /** Defines the modified task data. */
    modifiedTaskData?: object[] | object;
    /** Defines the record index. */
    recordIndex?: number | number[];
    /** Defines the event is cancel-able or not. */
    cancel?: boolean;
    /** Defines the action. */
    action?: string;
    /** Defines the request type. */
    requestType?: string;
    /** Defines the row position. */
    rowPosition?: string;
}
export interface ICollapsingEventArgs {
    /** Defines the TreeGrid row element */
    gridRow: Node;
    /** Defines the Gantt chart row element */
    chartRow: Node;
    /** Defines the name of the action. */
    name?: string;
    /** Defines the parent row data. */
    data?: IGanttData;
    /** Cancel the row expanding action */
    cancel?: boolean;
}
export interface ContextMenuOpenEventArgs extends grids.ContextMenuOpenEventArgs {
    /** Defines the TreeGrid row element */
    gridRow?: Element;
    /** Defines the chart row element */
    chartRow?: Element;
    /** Defines the selected row record */
    rowData?: IGanttData;
    /** Defines the context menu type */
    type?: ContextMenuType;
    /** Defines the hidden items collection */
    hideItems?: string[];
    /** Defines the sub menu hidden items collection */
    hideChildItems?: string[];
    /** Defines the disabled items collection */
    disableItems?: string[];
    /** Defines the target element. */
    target?: Element;
    top?: number;
    left?: number;
}
export interface ContextMenuClickEventArgs extends grids.ContextMenuClickEventArgs {
    /** Defines the selected row record */
    rowData?: IGanttData;
    /** Defines the context menu type */
    type?: ContextMenuType;
}
export  type ITimelineFormatter = (date?: Date, format?: string, tier?: string, mode?: string) => string;
export interface ZoomEventArgs {
    /** Defines the request type. */
    requestType?: string;
    /** Defines the zoom action. */
    action?: string;
    /** Defines Zoom timeline settings.  */
    timeline?: ZoomTimelineSettings;
    /** Defines the cancel option value. */
    cancel?: boolean;
}
export interface ZoomTimelineSettings {
    /** Defines the timeline view mode. */
    timelineViewMode?: TimelineViewMode;
    /** Defines top tier values. */
    topTier?: TimelineTierSettingsModel;
    /** Defines bottom tier values. */
    bottomTier?: TimelineTierSettingsModel;
    /** Defines timeline unit size. */
    timelineUnitSize?: number;
    /** Defines the week start day. */
    weekStartDay?: number;
    /** Defines weekend background color. */
    weekendBackground?: string;
    /** Defines showTooltip whether the tooltip will rendered or not. */
    showTooltip?: boolean;
    /** Defines perDay width. */
    perDayWidth?: number;
    /** Defines zooming level. */
    level?: number;
    /** Defines the updateTimescaleView. */
    updateTimescaleView?: boolean;
}
/** @private */
export interface MousePoint {
    pageX?: number;
    pageY?: number;
}
/** @private */
export interface ITemplateData {
    expanded?: boolean;
    hasChildRecords?: boolean;
    index?: number;
    level?: number;
    baselineLeft?: number;
    baselineWidth?: number;
    taskStartDate?: Date;
    taskEndDate?: Date;
    taskDuration?: number;
    taskDurationUnit?: string;
    taskPredecessorsName?: string;
    taskResourceNames?: string;
    isAutoSchedule?: boolean;
    isMilestone?: boolean;
    left?: number;
    progressWidth?: number;
    width?: number;
}
export interface RowSelectingEventArgs extends grids.RowSelectingEventArgs {
    /** Defines the data collections. */
    data: IGanttData;
}
export interface RowSelectEventArgs extends grids.RowSelectEventArgs {
    /** Defines the data collections. */
    data: IGanttData;
}
export interface RowDataBoundEventArgs extends grids.RowDataBoundEventArgs {
    /** Defines the data collections. */
    data: IGanttData;
    /** Defines the row element. */
    row?: Element;
}
export interface RowDeselectEventArgs extends grids.RowDeselectEventArgs {
    /** Defines the selected/deselected row index. */
    rowIndex?: number;
    /** Defines the data collections. */
    data?: IGanttData[];
    /** Defines the selected/deselected row. */
    row?: Element;
}
export interface IEventMarkerInfo {
    id?: number;
    left?: number;
    label?: string;
    date?: Date;
}
export interface ActionCompleteArgs extends ZoomEventArgs, IKeyPressedEventArgs {
    element?: HTMLElement;
    requestType?: string;
    data?: IGanttData[];
    modifiedRecords?: IGanttData[];
    modifiedTaskData?: IGanttData[];
    cancel?: boolean;
    /** Specifies the newly added task data without custom Gantt properties.
     *
     * @isGenericType true
     */
    newTaskData?: object;
    /** Defines the record index. */
    recordIndex?: number;
    /** Defines the action. */
    action?: string;
    /** Defines the type of event. */
    type?: string;
}
export interface ActionBeginArgs extends IDependencyEventArgs {
    rowData?: IGanttData;
    name?: string;
    requestType?: string;
    cancel?: boolean;
    data?: IGanttData[];
    modifiedRecords?: IGanttData[];
    /**
     * @isGenericType true
     */
    modifiedTaskData?: object[];
    /** Specifies the newly added task data without custom Gantt properties.
     *
     * @isGenericType true
     */
    newTaskData?: object;
    /** Defines the split date on context click action */
    splitDate?: Date;
    /** Defines the array of merge items indexes on context click action */
    mergeSegmentIndexes?: {
        firstSegmentIndex: number;
        secondSegmentIndex: number;
    }[];
    /** Defines the record index. */
    recordIndex?: number;
    /** Defines the action. */
    action?: string;
    /** Defines the type of event. */
    type?: string;
    /** Defines the target element. */
    target?: Element;
}
export interface CellEditArgs {
    /** Defines the cancel option value. */
    cancel?: boolean;
    /** Defines the current row. */
    row?: Element;
    /** Defines the validation rules. */
    validationRules?: Object;
    /** Defines the name of the event. */
    type?: string;
    /** Defines foreign data object */
    foreignKeyData?: Object;
    /** Defines the row data object. */
    rowData?: IGanttData;
    /** Defines the column name. */
    columnName?: string;
    /** Defines the cell object. */
    cell?: Element;
    /** Defines the column object. */
    columnObject?: Column;
    /** Defines the cell value. */
    value?: string;
    /** Defines isForeignKey option value. */
    isForeignKey?: boolean;
    /** Defines the primaryKey. */
    primaryKey?: string[];
}
export interface CellSelectingEventArgs extends grids.CellSelectingEventArgs {
    /** Defines the previously selected cell index */
    previousRowCellIndex?: number;
}
export interface ScrollArgs {
    /** Defines the action. */
    action?: string;
    /** Defines the action type. */
    requestType?: string;
    /** Defines the scroll direction. */
    scrollDirection?: string;
    /** Defines the scroll left value. */
    scrollLeft?: number;
    /** Defines the scroll top value. */
    scrollTop?: number;
    /** Defines the previous scroll top value. */
    previousScrollTop?: number;
    /** Defines the previous scroll left value. */
    previousScrollLeft?: number;
}
export interface ITaskbarClickEventArgs {
    /** Defines the taskbar element. */
    taskbarElement?: Element;
    /** Defines the data of record. */
    data?: IGanttData;
    /** Defines the row index of record. */
    rowIndex?: number;
    /** Defines the target element. */
    target?: Element;
}
export interface RecordDoubleClickEventArgs extends grids.RecordDoubleClickEventArgs {
    /** Defines the row element. */
    row?: Element;
    /** Defines the data of record. */
    rowData?: IGanttData;
    /** Defines the row index of record. */
    rowIndex?: number;
    /** Defines the target element. */
    target?: Element;
}
export interface RowDropEventArgs {
    /** Defines the selected row's element. */
    rows?: Element[];
    /** Defines the target element from which drag starts. */
    target?: Element;
    /** Defines the type of the element to be dragged.
     *
     * @hidden
     */
    draggableType?: string;
    /** Defines the selected row data.
     *
     * @isGenericType true
     */
    data?: Object[];
    /** Defines the drag element from index. */
    fromIndex?: number;
    /** Defines the target element from index. */
    dropIndex?: number;
    /** Define the mouse event */
    originalEvent?: object;
    cancel?: boolean;
    /** Defines drop position of the dragged record */
    dropPosition?: string;
    /** Defines the request type. */
    requestType?: string;
    /** Defines the modified records. */
    modifiedRecords?: IGanttData[];
    /** Defines the modified records. */
    dropRecord?: IGanttData;
}
export interface IMouseMoveEventArgs {
    /** Defines the row data. */
    data?: IGanttData;
    /** Defines the column. */
    column?: Object;
    /** Defines the timeline date. */
    date?: Date;
    /** Defines the original event. */
    originalEvent?: Object;
    /** Defines the predecessor. */
    predecessor?: PredecessorTooltip;
    /** Defines the indicator. */
    indicator?: IIndicator;
    /** Defines the event markers. */
    eventMarkers?: EventMarkerModel;
}
export interface PdfExportProperties {
    /** Defines the Pdf orientation. */
    pageOrientation?: PageOrientation;
    /** Defines the Pdf page size. */
    pageSize?: PdfPageSize;
    /** Enable the footer. */
    enableFooter?: boolean;
    /** Enable the header. */
    enableHeader?: boolean;
    /** Indicates whether to show the hidden columns in exported Pdf */
    includeHiddenColumn?: boolean;
    /** Defines the theme for exported Gantt  */
    theme?: PdfTheme;
    /** Defines the style for exported Gantt  */
    ganttStyle?: IGanttStyle;
    /** Defines the file name for the exported file  */
    fileName?: string;
    /** Indicates to export current data or all data */
    exportType?: ExportType;
    /** Indicates whether to show the predecessors in exported Pdf */
    showPredecessorLines?: boolean;
    /** Defines the export options in rendering each row fit to the PDF page width */
    fitToWidthSettings?: FitToWidthSettings;
    /** Defines the Pdf header. */
    header?: PdfHeader;
    /** Defines the Pdf footer. */
    footer?: PdfFooter;
}
export interface PdfQueryCellInfoEventArgs {
    /** Defines the column of the current cell. */
    column?: ColumnModel;
    /** Defines the style of the current cell. */
    style?: PdfGanttCellStyle;
    /** Defines the value of the current cell. */
    value?: Date | string | number | boolean | pdfExport.PdfTextWebLink | pdfExport.PdfImage;
    /** Defines the data of the cell */
    data?: Object;
    /** Defines the current PDF cell */
    cell?: PdfTreeGridCell;
    /** Defines the image details */
    image?: Image;
    /** Defines the hyperlink of the cell */
    hyperLink?: Hyperlink;
}
export interface Image {
    /**  Defines the base 64 string for image */
    base64: string;
    /**  Defines the height for the image */
    height?: number;
    /**  Defines the height for the image */
    width?: number;
}
export interface Hyperlink {
    /** Defines the Url for hyperlink */
    target?: string;
    /** Defines the display text for hyperlink */
    displayText?: string;
}
export interface TimelineDetails {
    startPoint?: number;
    endPoint?: number;
    startDate?: Date;
    endDate?: Date;
    dayStartDate?: Date;
    totalWidth?: number;
    startIndex?: number;
    endIndex?: number;
    pageStartPoint?: pdfExport.PointF;
}
export interface PageDetail {
    startPoint?: pdfExport.PointF;
    width?: number;
    height?: number;
    pageStartX?: number;
}
export interface TimelineFormat {
    width?: number;
    height?: number;
    value?: string;
    isWeekend?: boolean;
    style?: PdfGanttCellStyle;
    isFinished?: boolean;
    completedWidth?: number;
    startDate?: Date;
    endDate?: Date;
}
export interface PdfGanttFontStyle {
    /** Defines the font size */
    fontSize?: number;
    /** Defines the font style */
    fontStyle?: pdfExport.PdfFontStyle;
    /** Defines the font color */
    fontColor?: pdfExport.PdfColor;
    /** Defines the background color of the cell */
    backgroundColor?: pdfExport.PdfColor;
    /** Defines the border color of the cell */
    borderColor?: pdfExport.PdfColor;
    /** Defines the format of the cell value */
    format?: pdfExport.PdfStringFormat;
    /** Defines the fontFamily*/
    fontFamily?: pdfExport.PdfFontFamily;
    /** Defines the fontBrush*/
    fontBrush?: pdfExport.PdfColor;
}
export interface PdfGanttCellStyle extends PdfGanttFontStyle {
    /** Defines the cell borders */
    borders?: PdfBorders;
    /** Defines the cell padding */
    padding?: PdfPaddings;
}
export interface ITaskbarStyle {
    /** Defines the parent taskbar background color */
    parentTaskColor?: pdfExport.PdfColor;
    /** Defines the parent progressbar background color */
    parentProgressColor?: pdfExport.PdfColor;
    /** Defines the parent taskbar border color */
    parentTaskBorderColor?: pdfExport.PdfColor;
    /** Defines the child taskbar background color */
    taskColor?: pdfExport.PdfColor;
    /** Defines the child progressbar background color */
    progressColor?: pdfExport.PdfColor;
    /** Defines the child taskbar border color */
    taskBorderColor?: pdfExport.PdfColor;
    /** Defines the milestone background color */
    milestoneColor?: pdfExport.PdfColor;
    /** Defines the progress text color */
    progressFontColor?: pdfExport.PdfColor;
    /** Defines the critical task color */
    criticalTaskColor?: pdfExport.PdfColor;
    /** Defines the critical child progressbar background color */
    criticalProgressColor?: pdfExport.PdfColor;
    /** Defines the child taskbar border color */
    criticalTaskBorderColor?: pdfExport.PdfColor;
    /** Defines the baseline  color */
    baselineColor?: pdfExport.PdfColor;
    /** Defines the baseline border color */
    baselineBorderColor?: pdfExport.PdfColor;
    /** Defines the split line background color */
    splitLineBackground?: pdfExport.PdfColor;
    /** Defines the unscheduled taskbar background color */
    unscheduledTaskBarColor?: pdfExport.PdfColor;
    /** Defines the manualParent Background color */
    manualParentBackground?: pdfExport.PdfColor;
    /** Defines the manualParent Progress color */
    manualParentProgress?: pdfExport.PdfColor;
    /** Defines the manualChild Background color */
    manualChildBackground?: pdfExport.PdfColor;
    /** Defines the manualChild Progress color */
    manualChildProgress?: pdfExport.PdfColor;
    /** Defines the manual line color */
    manualLineColor?: pdfExport.PdfColor;
    /** Defines the manualParent Background color */
    manualParentBorder?: pdfExport.PdfColor;
    /** Defines the manualChild Background color */
    manualChildBorder?: pdfExport.PdfColor;
    /** Defines the segment color collections */
    taskSegmentStyles?: ITaskSegmentStyles[];
}
export interface ITaskSegmentStyles {
    /** Defines the segment taskbar background color */
    taskColor?: pdfExport.PdfColor;
    /** Defines the segment progressbar background color */
    progressColor?: pdfExport.PdfColor;
    /** Defines the segment taskbar border color */
    taskBorderColor?: pdfExport.PdfColor;
}
export interface FitToWidthSettings {
    /** Specifies whether to export gantt data where each row is adjusted and rendered to fit the PDF document page size. */
    isFitToWidth?: boolean;
    /** Specifies the grid width in percentage while exporting. */
    gridWidth?: string;
    /** Specifies the chart width in percentage while exporting. */
    chartWidth?: string;
}
export interface IGanttStyle {
    /** Defines the columnHeader style. */
    columnHeader?: PdfGanttCellStyle;
    /** Defines the font family. */
    fontFamily?: pdfExport.PdfFontFamily;
    /** Defines the cell style. */
    cell?: PdfGanttCellStyle;
    /** Defines the taskbar style. */
    taskbar?: ITaskbarStyle;
    /** Defines the font style. */
    label?: PdfGanttCellStyle;
    /** Defines the timeline style. */
    timeline?: PdfGanttCellStyle;
    /** Defines the chart line color. */
    chartGridLineColor?: pdfExport.PdfColor;
    /** Defines the connector line color. */
    connectorLineColor?: pdfExport.PdfColor;
    /** Defines the critical connector line color. */
    criticalConnectorLineColor?: pdfExport.PdfColor;
    /** Defines the footer format. */
    footer?: PdfGanttCellStyle;
    /** Defines the font of the theme. */
    font?: pdfExport.PdfTrueTypeFont;
    /** Defines the event marker customization to rely with theme. */
    eventMarker?: PdfEventMarkerStyle;
    /** Defines the holidays customization to rely with theme. */
    holiday?: PdfGanttCellStyle;
}
export interface PdfEventMarkerStyle {
    /** Defines the event marker label style */
    label?: PdfGanttCellStyle;
    /** Defines the event marker line style */
    lineStyle?: pdfExport.PdfPen;
}
export interface PdfQueryTimelineCellInfoEventArgs {
    /** Defines the timeline cell */
    timelineCell?: PdfGanttCellStyle;
    /** Specify the value of the timeline cell */
    value?: string;
}
export interface PdfQueryTaskbarInfoEventArgs {
    /** Defines the Taskbar style */
    taskbar?: ITaskbarStyle;
    /** Specify the value of the task data */
    data?: IGanttData;
    /** Defines the Indicator */
    indicators?: IIndicator[];
    /**
     *  Defines the customized string content or image for the left, right and task label
     * */
    labelSettings?: ILabel;
    /**
     * Defines the taskbar element appearance customizations and provides options to add image and string in taskbar
     * */
    taskbarTemplate?: ITemplateDetails;
}
export interface ILabel {
    /**
     * Defines the customized string content or image for the leftLabel
     * */
    leftLabel?: ITemplateDetails;
    /**
     * Defines the customized string content or image for the rightLabel
     *  */
    rightLabel?: ITemplateDetails;
    /**
     * Defines the customized string content or image for the task label
     *  */
    taskLabel?: ITemplateDetails;
    /**
     * Specifies the label of left.
     *
     * @private
     */
    left?: number;
    /**
     * Specifies the isLeftCalculated or not.
     *
     * @private
     */
    isLeftCalculated?: boolean;
}
export interface ITemplateDetails {
    /** Defines the value of template content. */
    value?: string;
    /** Defines the image of a template content. */
    image?: Image[];
    /** Defines the appearance customization details of the template content */
    fontStyle?: PdfGanttFontStyle;
}
export interface PdfColumnHeaderQueryCellInfoEventArgs {
    /** Defines the PDF grid current cell. */
    cell?: PdfTreeGridCell;
    /** Defines the style of the current cell. */
    style?: PdfGanttCellStyle;
    /** Defines the current cell with column */
    column?: ColumnModel;
    /** Specify the value of the column header cell */
    value?: string | Object;
    /** Specify the image of the column header cell */
    image?: pdfExport.PdfImage;
    /** Defines the customized string content or image for the header cell */
    headerTemplate?: ITemplateDetails;
}
/** @private */
export interface TaskLabel {
    value?: string;
    left?: number;
    isCompleted?: boolean;
    isLeftCalculated?: boolean;
}
/**
 * public Enum for `PdfHorizontalOverflowType`.
 *
 * @private
 */
export  enum PdfHorizontalOverflowType {
    /**
     * Specifies the type of `NextPage`.
     *
     * @private
     */
    NextPage = 0,
    /**
     * Specifies the type of `LastPage`.
     *
     * @private
     */
    LastPage = 1
}
export interface PdfHeader {
    /** Defines the header content distance from top. */
    fromTop?: number;
    /** Defines the height of header content. */
    height?: number;
    /** Defines the header contents. */
    contents?: PdfHeaderFooterContent[];
}
export interface PdfFooter {
    /** Defines the footer content distance from bottom. */
    fromBottom?: number;
    /** Defines the height of footer content. */
    height?: number;
    /** Defines the footer contents */
    contents?: PdfHeaderFooterContent[];
}
export interface PdfHeaderFooterContent {
    /** Defines the content type */
    type: ContentType;
    /** Defines the page number type */
    pageNumberType?: PdfPageNumberType;
    /** Defines the style of content */
    style?: PdfContentStyle;
    /** Defines the pdf points for drawing line */
    points?: PdfPoints;
    /** Defines the format for customizing page number */
    format?: string;
    /** Defines the position of the content */
    position?: PdfPosition;
    /** Defines the size of content */
    size?: PdfSize;
    /** Defines the base64 string for image content type */
    src?: string;
    /** Defines the value for content */
    value?: any;
    /** Defines the font for the content */
    font?: pdfExport.PdfStandardFont | pdfExport.PdfTrueTypeFont;
    /** Defines the alignment of header */
    stringFormat?: pdfExport.PdfStringFormat;
}
export interface 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;
}
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 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;
}
//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 */
    private contentMaskTable;
    /** @hidden */
    private headerMaskTable;
    /** @hidden */
    private isProjectDateUpdated;
    currentSelection: any;
    columnLoop: number;
    private isRowSelected;
    showIndicator: boolean;
    singleTier: number;
    isVirtualScroll: boolean;
    expandedRecords: IGanttData[];
    scrollLeftValue: number;
    isToolBarClick: boolean;
    isLocaleChanged: boolean;
    private triggeredColumnName;
    dataMap: Map<string, IGanttData>;
    initialLoadData: Object;
    previousGanttColumns: ColumnModel[];
    previousZoomingLevel: Object;
    private totalUndoAction;
    previousFlatData: IGanttData[];
    private isExpandPerformed;
    private oldRecords;
    private updateDuration;
    private isConvertedMilestone;
    /** @hidden */
    topBottomHeader: number;
    /** @hidden */
    splitterElement: HTMLElement;
    /** @hidden */
    toolbarModule: Toolbar;
    /** @hidden */
    focusModule: FocusModule;
    /** @hidden */
    ganttChartModule: GanttChart;
    /** @hidden */
    treeGridModule: GanttTreeGrid;
    /** @hidden */
    chartRowsModule: ChartRows;
    /** @hidden */
    connectorLineModule: ConnectorLine;
    taskbarEditModule: TaskbarEdit;
    /** @hidden */
    connectorLineEditModule: ConnectorLineEdit;
    /** @hidden */
    splitterModule: Splitter;
    /** @hidden */
    isCancelled: boolean;
    /** @hidden */
    isCollapseAll: boolean;
    /** @hidden */
    treeGrid: treegrid.TreeGrid;
    /** @hidden */
    controlId: string;
    /** @hidden */
    ganttHeight: number;
    /** @hidden */
    initialChartRowElements: NodeListOf<Element>;
    /** @hidden */
    ganttWidth: number;
    /** @hidden */
    predecessorModule: Dependency;
    /** @hidden */
    localeObj: base.L10n;
    /** @hidden */
    dataOperation: TaskProcessor;
    /** @hidden */
    flatData: IGanttData[];
    /** @hidden */
    currentViewData: IGanttData[];
    /** @hidden */
    updatedRecords: IGanttData[];
    /** @hidden */
    ids: string[];
    /** resource-task Ids */
    /** @hidden */
    taskIds: string[];
    /** @hidden */
    previousRecords: object;
    /** @hidden */
    editedRecords: IGanttData[];
    /** @hidden */
    modifiedRecords: IGanttData[];
    /** @hidden */
    isOnEdit: boolean;
    /** @hidden */
    isOnDelete: boolean;
    /** @hidden */
    isOnAdded: boolean;
    /** @hidden */
    secondsPerDay: number;
    /** @hidden */
    mondaySeconds: number;
    /** @hidden */
    tuesdaySeconds: number;
    /** @hidden */
    wednesdaySeconds: number;
    /** @hidden */
    thursdaySeconds: number;
    /** @hidden */
    fridaySeconds: number;
    /** @hidden */
    saturdaySeconds: number;
    /** @hidden */
    sundaySeconds: number;
    /** @hidden */
    nonWorkingHours: number[];
    /** @hidden */
    mondayNonWorkingHours: number[];
    /** @hidden */
    tuesdayNonWorkingHours: number[];
    /** @hidden */
    wednesdayNonWorkingHours: number[];
    /** @hidden */
    thursdayNonWorkingHours: number[];
    /** @hidden */
    fridayNonWorkingHours: number[];
    /** @hidden */
    saturdayNonWorkingHours: number[];
    /** @hidden */
    sundayNonWorkingHours: number[];
    /** @hidden */
    workingTimeRanges: IWorkingTimeRange[];
    /** @hidden */
    mondayWorkingTimeRanges: IWorkingTimeRange[];
    /** @hidden */
    tuesdayWorkingTimeRanges: IWorkingTimeRange[];
    /** @hidden */
    wednesdayWorkingTimeRanges: IWorkingTimeRange[];
    /** @hidden */
    thursdayWorkingTimeRanges: IWorkingTimeRange[];
    /** @hidden */
    fridayWorkingTimeRanges: IWorkingTimeRange[];
    /** @hidden */
    saturdayWorkingTimeRanges: IWorkingTimeRange[];
    /** @hidden */
    sundayWorkingTimeRanges: IWorkingTimeRange[];
    /** @hidden */
    nonWorkingTimeRanges: IWorkingTimeRange[];
    /** @hidden */
    mondayNonWorkingTimeRanges: IWorkingTimeRange[];
    /** @hidden */
    tuesdayNonWorkingTimeRanges: IWorkingTimeRange[];
    /** @hidden */
    wednesdayNonWorkingTimeRanges: IWorkingTimeRange[];
    /** @hidden */
    thursdayNonWorkingTimeRanges: IWorkingTimeRange[];
    /** @hidden */
    fridayNonWorkingTimeRanges: IWorkingTimeRange[];
    /** @hidden */
    saturdayNonWorkingTimeRanges: IWorkingTimeRange[];
    /** @hidden */
    sundayNonWorkingTimeRanges: IWorkingTimeRange[];
    /** @hidden */
    defaultStartTime?: number;
    /** @hidden */
    defaultEndTime?: number;
    /** @hidden */
    mondayDefaultStartTime?: number;
    /** @hidden */
    tuesdayDefaultStartTime?: number;
    /** @hidden */
    wednesdayDefaultStartTime?: number;
    /** @hidden */
    thursdayDefaultStartTime?: number;
    /** @hidden */
    fridayDefaultStartTime?: number;
    /** @hidden */
    saturdayDefaultStartTime?: number;
    /** @hidden */
    sundayDefaultStartTime?: number;
    /** @hidden */
    mondayDefaultEndTime?: number;
    /** @hidden */
    tuesdayDefaultEndTime?: number;
    /** @hidden */
    wednesdayDefaultEndTime?: number;
    /** @hidden */
    thursdayDefaultEndTime?: number;
    /** @hidden */
    fridayDefaultEndTime?: number;
    /** @hidden */
    saturdayDefaultEndTime?: number;
    /** @hidden */
    sundayDefaultEndTime?: 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 */
    editedPredecessorRecords?: IGanttData[];
    /** @hidden */
    validationDialogElement?: popups.Dialog;
    /** @hidden */
    currentEditedArgs?: IValidateArgs;
    /** @hidden */
    dialogValidateMode?: IValidateMode;
    /** @hidden */
    perDayWidth?: number;
    /** @hidden */
    zoomingProjectStartDate?: Date;
    /** @hidden */
    zoomingProjectEndDate?: Date;
    /** @hidden */
    cloneProjectStartDate?: Date;
    /** @hidden */
    cloneProjectEndDate?: Date;
    /** @hidden */
    totalHolidayDates?: number[];
    /** @hidden */
    columnMapping?: {
        [key: string]: string;
    };
    /** @hidden */
    ganttColumns: ColumnModel[];
    /** @hidden */
    isExpandCollapseLevelMethod: boolean;
    /** @hidden */
    private isFromEventMarker;
    /** @hidden */
    isDynamicData: boolean;
    /** @hidden */
    contentHeight: number;
    /** @hidden */
    isAdaptive: Boolean;
    /**
     * The `sortModule` is used to manipulate sorting operation in Gantt.
     */
    sortModule: Sort;
    /**
     * The `filterModule` is used to manage and apply filtering operations in the Gantt chart.
     */
    filterModule: Filter;
    /** @hidden */
    scrollBarLeft: number;
    /** @hidden */
    isTimelineRoundOff: boolean;
    /** @hidden */
    columnByField: Object;
    /** @hidden */
    customColumns: string[];
    /**
     * The `editModule` handles the manipulation of Gantt chart records, including editing, updating, and deleting tasks.
     */
    editModule: Edit;
    /**
     * The `selectionModule` is used to manipulate selection operation in the Gantt chart.
     */
    selectionModule: Selection;
    /**
     * The `virtualScrollModule` is used to handle virtual scroll in Gantt.
     */
    virtualScrollModule: VirtualScroll;
    /**
     * The `excelExportModule` is used for exporting Gantt data to an Excel file.
     * This module provides the functionality to export task data, dependencies, and other Gantt-related information in Excel format.
     */
    excelExportModule: ExcelExport;
    /**
     * The `rowDragAndDropModule` manages the row reordering functionality in the Gantt chart.
     * It allows users to drag and drop rows to reorder tasks within the Gantt chart view.
     */
    rowDragAndDropModule: RowDD;
    /**
     * The `dayMarkersModule` is used to manage and manipulate event markers in the Gantt chart.
     */
    dayMarkersModule: DayMarkers;
    /**
     * The `criticalPathModule` is used to determine the critical path in the Gantt chart.
     * It identifies the sequence of tasks that directly affect the project's duration and highlights them.
     */
    criticalPathModule: CriticalPath;
    /**
     * The `undoRedoModule` manages the undo and redo functionality in the Gantt chart.
     */
    undoRedoModule: UndoRedo;
    /** @hidden */
    isConnectorLineUpdate: boolean;
    /** @hidden */
    tooltipModule: Tooltip;
    /** @hidden */
    globalize: base.Internationalization;
    /** @hidden */
    keyConfig: {
        [key: string]: string;
    };
    /**
     * The `keyboardModule` is responsible for managing keyboard interactions in the Gantt chart.
     * It handles events such as navigating, selecting, and performing actions using the keyboard.
     */
    keyboardModule: base.KeyboardEvents;
    /**
     * The `contextMenuModule` is responsible for managing and invoking the context menu in the Gantt chart.
     * It provides the functionality to display and interact with the context menu, which can be customized using the `contextMenuItems` property.
     */
    contextMenuModule: ContextMenu;
    /**
     * The `columnMenuModule` is used to manage and customize the column menu in the Gantt chart.
     */
    columnMenuModule: ColumnMenu;
    /**
     * The `pdfExportModule` is used for exporting the Gantt chart data to a PDF format.
     * This module provides functionality for exporting the entire chart or specific data to a PDF document.
     */
    pdfExportModule: PdfExport;
    /** @hidden */
    staticSelectedRowIndex: number;
    protected needsID: boolean;
    /** @hidden */
    showActiveElement: boolean;
    /** @hidden */
    addDeleteRecord: boolean;
    /** @hidden */
    enableHeaderFocus: boolean;
    /** @hidden */
    enableValidation: boolean;
    /**
     * Enables or disables keyboard interactions in the Gantt chart.
     *
     * @default true
     */
    allowKeyboard: boolean;
    /**
     * If `enableImmutableMode` is set to true, the Gantt Chart will reuse existing rows from previous results instead of
     * performing a full refresh when Gantt actions are executed.
     *
     * @default false
     */
    enableImmutableMode: boolean;
    /**
     * Specifies whether to allow dependency connection support for parent records.
     *
     * @default true
     */
    allowParentDependency: boolean;
    /**
     * Specifies whether to display or remove the untrusted HTML values in the treegrid.TreeGrid component.
     * If `enableHtmlSanitizer` set to true, any potentially harmful strings and scripts are sanitized before rendering.
     *
     * @default true
     */
    enableHtmlSanitizer: boolean;
    /**
     * If `disableHtmlEncode` is set to `true`, the Gantt component disables HTML entity encoding across the Gantt content, allowing custom HTML elements to be rendered.
     *
     * @default true
     */
    disableHtmlEncode: boolean;
    /**
     * Configures the loading indicator for the Gantt Chart. Specifies the type of indicator to display (spinner or shimmer effect) during waiting periods when actions are performed in the Gantt Chart.
     *
     * @default {indicatorType: 'Spinner'}
     */
    loadingIndicator: LoadingIndicatorModel;
    /**
     * Specifies whether to display shimmer effect during scrolling action in virtual scrolling feature. If disabled, spinner is shown instead of shimmer effect.
     *
     * @default true
     */
    enableVirtualMaskRow: boolean;
    /**
     * Gets or sets whether to load child records on demand in remote data binding. When `loadChildOnDemand` set to true, child records are loaded only when expanded, and parent records are rendered in a collapsed state initially.
     *
     * @default true
     */
    loadChildOnDemand: boolean;
    /**
     * Specifies whether to update offset value on a task for all the predecessor edit actions.
     *
     * @default true
     */
    updateOffsetOnTaskbarEdit: boolean;
    /**
     * Specifies whether to update offset value on a task for all the predecessor edit actions.
     *
     * @default true
     * @deprecated This method is deprecated from Vol 2 2024 release. Use `updateOffsetOnTaskbarEdit` this property instead.
     * @aspIgnore
     */
    UpdateOffsetOnTaskbarEdit: boolean;
    /**
     * Specifies whether to auto calculate the start and end dates based on factors such as working time, holidays, weekends, and task dependencies.
     *
     * @default true
     */
    autoCalculateDateScheduling: boolean;
    /**
     * Enables or disables automatic focusing on the taskbar when a task is clicked.
     *
     * @default true
     */
    autoFocusTasks: boolean;
    /**
     * If `enableAdaptiveUI` is set to true, the pop-up UI becomes adaptive to smaller screens, enabling better usability for filtering and other features.
     *
     * @default false
     */
    enableAdaptiveUI: boolean;
    /**
     * If `allowSelection` is set to true, it enables row selection in the Gantt chart, and the selected rows are highlighted.
     *
     * @default true
     */
    allowSelection: boolean;
    /**
     * If `allowSorting` is set to true, it enables sorting of Gantt chart tasks when the column header is clicked.
     *
     * @default false
     */
    allowSorting: boolean;
    /**
     * If `enablePredecessorValidation` is set to true, enables validation for predecessor links in the Gantt chart.
     *
     * @default true
     */
    enablePredecessorValidation: boolean;
    /**
     * If `showColumnMenu` set to true, enables the column menu options for each column in the Gantt chart.
     *
     * @default false
     */
    showColumnMenu: boolean;
    /**
     * `columnMenuItems` defines both built-in and custom menu items for the Gantt chart column menu.
     * <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.
     * * `AutoFitAll` - Auto fit the size of all columns.
     * * `AutoFit` - Auto fit the size of the current column.
     * * `Filter` - Displays filter options based on the `filterSettings` property.
     *
     * @default null
     */
    columnMenuItems: (ColumnMenuItem | grids.ColumnMenuItemModel)[];
    /**
     * `undoRedoActions` Defines action items that retain for undo and redo operation.
     *
     * @default ['Sorting', 'Add', 'ColumnReorder', 'ColumnResize', 'ColumnState', 'Delete', 'Edit', 'Filtering', 'Indent', 'Outdent', 'NextTimeSpan', 'PreviousTimeSpan', 'RowDragAndDrop', 'TaskbarDragAndDrop', 'Search', 'ZoomIn', 'ZoomOut', 'ZoomToFit']
     */
    undoRedoActions: GanttAction[];
    /**
     * By default, task schedule dates are calculated with system time zone. If the Gantt chart is assigned with a specific time zone,
     * then schedule dates are calculated based on the given time zone date value.
     *
     * @default null
     */
    timezone: string;
    /**
     * Defines whether all root tasks should be rendered in a collapsed state. When `collapseAllParentTasks` set to true, all parent tasks will be collapsed by default.
     *
     * @default false
     */
    collapseAllParentTasks: boolean;
    /**
     * If `highlightWeekends` is set to true, it highlights all weekend days in the week-day timeline mode.
     * This makes weekends visually distinct in the timeline view.
     *
     * @default false
     */
    highlightWeekends: boolean;
    /**
     * To define expander column index in Grid.
     *
     * @default 0
     * @aspType int
     */
    treeColumnIndex: number;
    /**
     * Defines the data source for the Gantt chart, which is used to render rows and tasks.
     * The `dataSource` can be an array of JavaScript objects, an instance of `data.DataManager`, or a single object.
     * The array of objects should contain the task data with properties such as `TaskID`, `TaskName`, `StartDate`, `EndDate`, etc.
     * This allows dynamic binding of tasks and their relationships (e.g., dependencies, subtasks, progress) to the Gantt chart.
     * {% codeBlock src='gantt/dataSource/index.md' %}{% endcodeBlock %}
     *
     * @isGenericType true
     * @default []
     */
    dataSource: Object[] | data.DataManager | Object;
    /**
     * `durationUnit` Specifies the duration unit for each task. The available options are:
     * * `day`: Sets the duration unit to day.
     * * `hour`: Sets the duration unit to hour.
     * * `minute`: Sets the duration unit to minute.
     *
     * @default day
     */
    durationUnit: DurationUnit;
    /**
     * Defines an external [`data.Query`](https://ej2.syncfusion.com/documentation/data/api-query.html)
     * that will be executed in conjunction with data processing to filter, sort the data.
     * This allows for advanced data manipulation before binding the data to the Gantt chart.
     *
     * @default null
     */
    query: data.Query;
    /**
     * Specifies the date format for displaying dates in the Gantt chart, including in tooltips and grid cells.
     * By default, the format is determined based on the current culture/locale settings.
     */
    dateFormat: string;
    /**
     * Defines the height of the Gantt component container.
     * The `height` property can be set to a specific value (in pixels or percentage) or set to 'auto' for automatic height adjustment based on content.
     *
     * @default 'auto'
     */
    height: number | string;
    /**
     * If `renderBaseline` is set to `true`, baselines will be rendered for tasks in the Gantt chart.
     * Baselines provide a visual reference to track the planned vs. actual progress of tasks.
     *
     * @default false
     */
    renderBaseline: boolean;
    /**
     * Defines whether to enable or disable the taskbar drag and drop action in the Gantt chart.
     *
     * @default false
     */
    allowTaskbarDragAndDrop: boolean;
    /**
     * Specifies whether taskbars can overlap in the Gantt chart.
     *
     * @default true
     */
    allowTaskbarOverlap: boolean;
    /**
     * Configures the grid lines displayed in the treegrid.TreeGrid and Gantt chart.
     * The `gridLines` property allows customization of the type of grid lines to be shown, either horizontal, vertical, or both.
     *
     *  @default 'Horizontal'
     */
    gridLines: GridLine;
    /**
     * Configures the labels displayed on the right, left, and inside the taskbars in the Gantt chart.
     * {% codeBlock src='gantt/labelSettings/index.md' %}{% endcodeBlock %}
     */
    labelSettings: LabelSettingsModel;
    /**
     * The task bar template that renders customized child task bars from the given template.
     * This property allows users to define a custom template for rendering child task bars in the Gantt chart.
     * {% codeBlock src='gantt/taskbarTemplate/index.md' %}{% endcodeBlock %}
     *
     * @default null
     * @aspType string
     */
    taskbarTemplate: string | Function;
    /**
     * Defines a custom template for rendering parent task bars in the Gantt chart. This template allows you to customize the appearance of parent task bars.
     * {% codeBlock src='gantt/parentTaskbarTemplate/index.md' %}{% endcodeBlock %}
     *
     * @default null
     * @aspType string
     */
    parentTaskbarTemplate: string | Function;
    /**
     * Renders customized html elements for timeline cell from the given template.
     *
     * @default null
     * @aspType string
     */
    timelineTemplate: string | Function;
    /**
     * Defines a custom template for rendering milestone tasks in the Gantt chart. This template allows you to customize the appearance of milestone tasks.
     *
     * @default null
     * @aspType string
     */
    milestoneTemplate: string | Function;
    /**
     * Specifies the color of the baseline bar in the Gantt chart.
     *
     *  @default null
     */
    baselineColor: string;
    /**
     * Defines the width of the Gantt component container.
     *
     * @default 'auto'
     */
    width: number | string;
    /**
     * If `enableVirtualization` is set to true, the Gantt chart will render only the rows visible within the viewport.
     * and load subsequent rows as the user scrolls vertically. This improves performance when dealing with large datasets.
     *
     * @default false
     */
    enableVirtualization: boolean;
    /**
     * Enables better performance for projects with a large time span by initially rendering only the visible timeline cells.
     * Subsequent cells are loaded on horizontal scrolling.
     *
     * @default false
     */
    enableTimelineVirtualization: boolean;
    /**
     * `toolbar` defines the toolbar items of the Gantt.
     * It contains built-in and custom toolbar items.
     * If an array value is assigned, it is considered as the list of built-in and custom toolbar items in the Gantt's toolbar.
     * <br><br>
     * The available built-in toolbar items are:
     * * Add: Adds a new record.
     * * Edit: Edits the selected task.
     * * Update: Updates the edited task.
     * * Delete: Deletes the selected task.
     * * Cancel: Cancels the edit state.
     * * Search: Searches tasks by the given key.
     * * ExpandAll: Expands all the task of Gantt.
     * * CollapseAll: Collapses all the task of Gantt.
     * * PrevTimeSpan: Extends timeline with one unit before the timeline start date.
     * * NextTimeSpan: Extends timeline with one unit after the timeline finish date.
     * * ZoomIn: ZoomIn the Gantt control.
     * * ZoomOut: ZoomOut the Gantt control.
     * * ZoomToFit: Display the all tasks within the viewable Gantt chart.
     * * ExcelExport: To export in Excel format.
     * * CsvExport : To export in CSV format.
     * * Indent: To indent a task to one level.
     * * Outdent: To outdent a task from one level.
     *
     * @default null
     */
    toolbar: (ToolbarItem | string | navigations.ItemModel)[];
    /**
     * Defines workweek of project.
     *
     * @default ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday']
     */
    workWeek: string[];
    /**
     * Defines whether weekend days should be considered as working days in the Gantt chart.
     * When `includeWeekend` set to true, weekends (Saturday and Sunday) are treated as regular working days.
     *
     * @default false
     */
    includeWeekend: boolean;
    /**
     * Enables or disables the rendering of unscheduled tasks in the Gantt chart.
     * When `allowUnscheduledTasks` set to true, unscheduled tasks will be displayed in the chart.
     *
     * @default false
     */
    allowUnscheduledTasks: boolean;
    /**
     * To show notes column cell values inside the cell or in tooltip.
     *
     * @default false
     */
    showInlineNotes: boolean;
    /**
     * Defines the height of grid and chart rows in the Gantt chart.
     * This property sets the vertical space allocated for each task or row, allowing customization of row sizes.
     *
     * @default 36
     * @aspType int
     */
    rowHeight: number;
    /**
     * Defines height of the taskbar element in the Gantt chart.
     *
     * @default null
     * @aspType int?
     */
    taskbarHeight: number;
    /**
     * Defines the start date of the project. If the `projectStartDate` is not set, it will be automatically calculated based on the data source.
     * The date can be provided as a `Date` object or a string in a valid date format.
     *
     * @default null
     */
    projectStartDate: Date | string;
    /**
     * Defines the end date of the project. If the `projectEndDate` is not set, it will be automatically calculated based on the data source.
     * The date can be provided as a `Date` object or a string in a valid date format.
     *
     * @default null
     */
    projectEndDate: Date | string;
    /**
     * Defines the mapping property to retrieve the resource ID value from the resource collection.
     * This is used to map the resource ID from the resource data to the Gantt chart for resource allocation.
     *
     * @default null
     */
    resourceIDMapping: string;
    /**
     * Defines the mapping property to retrieve the resource name value from the resource collection.
     * This is used to map the resource name from the resource data to the Gantt chart for task allocation.
     *
     * @default null
     */
    resourceNameMapping: string;
    /**
     * Defines the collection of resources assigned to the project.
     *
     * @default []
     */
    resources: object[];
    /**
     * Defines the collection of segments assigned to tasks in the Gantt chart.
     *
     * @default []
     */
    segmentData: object[];
    /**
     * Defines the background color of the dependency lines (connector lines) in the Gantt chart.
     * You can set the color as a valid CSS color string (e.g., "red", "#FF5733", "rgb(255,0,0)").
     *
     * @default null
     */
    connectorLineBackground: string;
    /**
     * Defines the width of the dependency lines in the Gantt chart.
     * The value should be a positive integer, representing the thickness of the lines.
     *
     * @default 1
     * @aspType int
     */
    connectorLineWidth: number;
    /**
     * Defines the collection of columns displayed in the Gantt chart grid.
     * If the `columns` declaration is empty, the columns are automatically populated based on the `taskSettings` values.
     * {% codeBlock src='gantt/columns/index.md' %}{% endcodeBlock %}
     *
     * @default []
     */
    columns: Column[] | string[] | ColumnModel[];
    /**
     * Defines the tabs and fields to be displayed in the add dialog.
     * If not specified, the fields will be derived from the `taskSettings` and `columns` values.
     * {% codeBlock src='gantt/addDialogFields/index.md' %}{% endcodeBlock %}
     *
     * @default []
     */
    addDialogFields: AddDialogFieldSettingsModel[];
    /**
     * Defines the tabs and fields to be displayed in the edit dialog.
     * If not specified, the fields will be derived from the `taskSettings` and `columns` values.
     * {% codeBlock src='gantt/editDialogFields/index.md' %}{% endcodeBlock %}
     *
     * @default []
     */
    editDialogFields: EditDialogFieldSettingsModel[];
    /**
     * The `selectedRowIndex` allows you to specify the index of the row to be selected at the time of initial rendering.
     * It can also be used to get the currently selected row index after selection.
     * A value of `-1` indicates no row is selected.
     *
     * @default -1
     * @aspType int
     */
    selectedRowIndex: number;
    /**
     * `workUnit` Specifies the work unit for each tasks whether day or hour or minute.
     * * `day`: Sets the work unit as day.
     * * `hour`: Sets the work unit as hour.
     * * `minute`: Sets the work unit as minute.
     *
     * @default hour
     */
    workUnit: WorkUnit;
    /**
     * `taskType` Specifies the task type for task whether fixedUnit or fixedWork or fixedDuration.
     * * `fixedUnit`: Sets the task type as fixedUnit.
     * * `fixedWork`: Sets the task type as fixedWork.
     * * `fixedDuration`: Sets the task type as fixedDuration.
     *
     * @default fixedUnit
     */
    taskType: TaskType;
    /**
     * Defines the view type of the Gantt.
     *
     *  @default 'ProjectView'
     */
    viewType: ViewType;
    /**
     * Defines the customized working time for the project.
     * This helps in accurately planning tasks based on available working hours and ensures proper task scheduling.
     * {% codeBlock src='gantt/dayWorkingTime/index.md' %}{% endcodeBlock %}
     */
    dayWorkingTime: DayWorkingTimeModel[];
    /**
     * Specifies unique working hours for each weekday in gantt chart to tailor schedules precisely.
     */
    weekWorkingTime: WeekWorkingTimeModel[];
    /**
     * Defines holidays within the project timeline, allowing you to mark specific dates as holidays.
     * This helps in accounting for non-working days in scheduling and task planning.
     * {% codeBlock src='gantt/holidays/index.md' %}{% endcodeBlock %}
     *
     * @default []
     */
    holidays: HolidayModel[];
    /**
     * Defines the events and milestones along the project timeline.
     * These event markers indicate significant events or milestones throughout the project's duration.
     * {% codeBlock src='gantt/eventMarkers/index.md' %}{% endcodeBlock %}
     *
     * @default []
     */
    eventMarkers: EventMarkerModel[];
    /**
     * Defines the mapping properties to extract task-related values, such as ID, start date, end date, duration, and progress, from the data source.
     * This allows the Gantt chart to properly map the provided data to the corresponding task fields and render them accordingly.
     * {% codeBlock src='gantt/taskFields/index.md' %}{% endcodeBlock %}
     */
    taskFields: TaskFieldsModel;
    /**
     * Defines the mapping properties to extract resource values, such as `id`, `name`, `unit`, and `group` from the resource collection in the Gantt chart.
     * This helps to map data from a custom resource collection to the appropriate fields for resource allocation.
     */
    resourceFields: ResourceFieldsModel;
    /**
     * Configures timeline settings of Gantt.
     * Defines default timeline modes or customized top tier mode and bottom tier mode or single tier only.
     * {% codeBlock src='gantt/timelineSettings/index.md' %}{% endcodeBlock %}
     */
    timelineSettings: TimelineSettingsModel;
    /**
     * Configure zooming levels of Gantt Timeline.
     *
     * @default []
     */
    zoomingLevels: ZoomTimelineSettings[];
    /**
     * Specifies the current zooming level of the Gantt chart.
     */
    currentZoomingLevel: ZoomTimelineSettings;
    /**
     * Configures the sort settings for the Gantt chart.
     * {% codeBlock src='gantt/sortSettings/index.md' %}{% endcodeBlock %}
     *
     * @default {columns:[]}
     */
    sortSettings: SortSettingsModel;
    /**
     * Configures the edit settings for the Gantt chart, such as enabling or disabling task modifications.
     * {% codeBlock src='gantt/editSettings/index.md' %}{% endcodeBlock %}
     *
     * @default { allowAdding: false, allowEditing: false, allowDeleting: false, mode:'Auto',
     * showDeleteConfirmDialog: false }
     */
    editSettings: EditSettingsModel;
    /**
     * Enables or disables default tooltip of Gantt element and defines customized tooltip for Gantt elements.
     * {% codeBlock src='gantt/tooltipSettings/index.md' %}{% endcodeBlock %}
     *
     * @default { showTooltip: true }
     */
    tooltipSettings: TooltipSettingsModel;
    /**
     * Configures the settings for selection in the Gantt chart.
     * {% codeBlock src='gantt/selectionSettings/index.md' %}{% endcodeBlock %}
     *
     * @default {mode: 'Row', type: 'Single'}
     */
    selectionSettings: SelectionSettingsModel;
    /**
     * Enables or disables filtering functionality in the Gantt chart.
     *
     * @default false
     */
    allowFiltering: boolean;
    /**
     * If `allowExcelExport` set to true, then it will allow the user to export Gantt chart to Excel and CSV file.
     *
     * @default false
     */
    allowExcelExport: boolean;
    /**
     * If `allowRowDragAndDrop` set to true, then it will allow the user to perform row drag and drop action in Gantt chart.
     *
     * @default false
     */
    allowRowDragAndDrop: boolean;
    /**
     * If `allowReordering` is set to true, Gantt chart columns can be reordered.
     * Reordering can be done by drag and drop of a particular column from one index to another index.
     *
     * @default false
     */
    allowReordering: boolean;
    /**
     * If `readOnly` is set to true, the Gantt chart becomes read-only, meaning tasks and other elements cannot be edited.
     * This setting disables all editing features, including task updates, dependency management, and any editing acions.
     *
     * @default false
     */
    readOnly: boolean;
    /**
     * Enables column resizing in the Gantt chart when `allowResizing` is set to true.
     * When enabled, users can adjust the width of columns by dragging the column borders.
     *
     * @default false
     */
    allowResizing: boolean;
    /**
     * If `enableContextMenu` is set to true, enables the context menu in the Gantt chart.
     * The context menu provides additional actions that can be accessed by right-clicking on Gantt chart elements
     *
     * @default false
     */
    enableContextMenu: boolean;
    /**
     * Enables the highlighting of critical tasks in the Gantt Chart that directly affect the project's end date.
     * When enabled, tasks that are critical to the project timeline will be visually distinguished by colours.
     *
     * @default false
     */
    enableCriticalPath: boolean;
    /**
     * Enables or disables the undo and redo functionality in the Gantt chart.
     *
     * @default false
     */
    enableUndoRedo: boolean;
    /**
     * Defines number of undo/redo actions that should be stored.
     *
     * @default 10
     */
    undoRedoStepsCount: number;
    /**
     * Defines the built-in and custom items that appear in the context menu of the Gantt chart.
     * You can use this property to control the content and functionality of the right-click context menu.
     * {% codeBlock src='gantt/contextMenuItems/index.md' %}{% endcodeBlock %}
     *
     * @default null
     */
    contextMenuItems: ContextMenuItem[] | grids.ContextMenuItemModel[];
    /**
     * If `allowPdfExport` set to true, then it will allow the user to export Gantt chart to PDF file.
     *
     * @default false
     */
    allowPdfExport: boolean;
    /**
     * If `validateManualTasksOnLinking` is set to true,
     * it enables date validation while connecting manually scheduled tasks with predecessor.
     *
     * @default false
     */
    validateManualTasksOnLinking: boolean;
    /**
     * Enables the rendering of child taskbars on the parent row when it is in a collapsed state in the Gantt chart.
     *
     * @default false
     */
    enableMultiTaskbar: boolean;
    /**
     * If `showOverAllocation` set to `true`, enables the rendering of the overallocation container in the Gantt chart.
     *
     * @default false
     */
    showOverAllocation: boolean;
    /**
     * Specifies task schedule mode for a project.
     *
     * @default 'Auto'
     */
    taskMode: ScheduleMode;
    /**
     * Configures the filter settings for the Gantt chart, enabling users to filter tasks based on specific columns or criteria.
     * The `filterSettings` property allows customization of filter behavior, such as which columns to filter and the filter type.
     * {% codeBlock src='gantt/filterSettings/index.md' %}{% endcodeBlock %}
     *
     * @default {columns: [], type: 'Menu' }
     */
    filterSettings: FilterSettingsModel;
    /**
     * Configures the search functionality within the Gantt chart.
     * {% codeBlock src='gantt/searchSettings/index.md' %}{% endcodeBlock %}
     */
    searchSettings: SearchSettingsModel;
    /**
     * Configures the splitter settings for the Gantt chart.
     * {% codeBlock src='gantt/splitterSettings/index.md' %}{% endcodeBlock %}
     */
    splitterSettings: SplitterSettingsModel;
    /**
     * @private
     */
    timelineModule: Timeline;
    /**
     * @private
     */
    dateValidationModule: DateProcessor;
    /**
     * @private
     */
    isTreeGridRendered: boolean;
    /**
     * @private
     */
    isFromOnPropertyChange: boolean;
    /**
     * @private
     */
    isFromRenderBaseline: boolean;
    /**
     * @private
     */
    isGanttChartRendered: boolean;
    /**
     * @private
     */
    isEdit: boolean;
    /**
     * This will be triggered after the taskbar element is appended to the Gantt element.
     *
     * @event queryTaskbarInfo
     */
    queryTaskbarInfo: base.EmitType<IQueryTaskbarInfoEventArgs>;
    /**
     * Triggers before Gantt data is exported to Excel file.
     *
     * @event beforeExcelExport
     */
    beforeExcelExport: base.EmitType<Object>;
    /**
     * Triggers after Gantt data is exported to Excel file.
     *
     * @event excelExportComplete
     */
    excelExportComplete: base.EmitType<grids.ExcelExportCompleteArgs>;
    /**
     * Triggers before exporting each cell to Excel file.
     * You can also customize the Excel cells.
     *
     * @event excelQueryCellInfo
     */
    excelQueryCellInfo: base.EmitType<grids.ExcelQueryCellInfoEventArgs>;
    /**
     * Triggers before exporting each header cell to Excel file.
     * You can also customize the Excel cells.
     *
     * @event excelHeaderQueryCellInfo
     */
    excelHeaderQueryCellInfo: base.EmitType<grids.ExcelHeaderQueryCellInfoEventArgs>;
    /**
     * Triggers when row elements are dragged (moved) continuously.
     *
     * @event rowDrag
     */
    rowDrag: base.EmitType<grids.RowDragEventArgs>;
    /**
     * Triggers when row element’s drag(move) starts.
     *
     * @event rowDragStart
     */
    rowDragStart: base.EmitType<grids.RowDragEventArgs>;
    /**
     * Triggers when row element’s before drag(move).
     *
     * @event rowDragStartHelper
     */
    rowDragStartHelper: base.EmitType<grids.RowDragEventArgs>;
    /**
     * Triggers when row elements are dropped on the target row.
     *
     * @event rowDrop
     */
    rowDrop: base.EmitType<grids.RowDragEventArgs>;
    /**
     * This will be triggered before the row getting collapsed.
     *
     * @event collapsing
     */
    collapsing: base.EmitType<ICollapsingEventArgs>;
    /**
     * This will be triggered after the row getting collapsed.
     *
     * @event collapsed
     */
    collapsed: base.EmitType<ICollapsingEventArgs>;
    /**
     * This will be triggered before the row getting expanded.
     *
     * @event expanding
     */
    expanding: base.EmitType<ICollapsingEventArgs>;
    /**
     * This will be triggered after the row getting expanded.
     *
     * @event expanded
     */
    expanded: base.EmitType<ICollapsingEventArgs>;
    /**
     * Triggers when Gantt actions such as sorting, filtering, searching etc., starts.
     *
     * @event actionBegin
     */
    actionBegin: base.EmitType<Object | grids.PageEventArgs | grids.FilterEventArgs | grids.SortEventArgs | ITimeSpanEventArgs | IDependencyEventArgs | ITaskAddedEventArgs | ZoomEventArgs>;
    /**
     * Triggers when Gantt actions such as sorting, filtering, searching etc. are completed.
     *
     * @event actionComplete
     */
    actionComplete: base.EmitType<grids.FilterEventArgs | grids.SortEventArgs | ITaskAddedEventArgs | IKeyPressedEventArgs | ZoomEventArgs>;
    /**
     * Triggers when actions are failed.
     *
     * @event actionFailure
     */
    actionFailure: base.EmitType<grids.FailureEventArgs>;
    /**
     * Triggers when the Gantt actions such as Sorting, Editing etc., are done.
     * In this event,the current view data and total record count should be assigned to the `dataSource` based on the action performed.
     *
     * @event dataStateChange
     */
    dataStateChange: base.EmitType<treegrid.DataStateChangeEventArgs>;
    /**
     * Triggered when a taskbar is dragged and dropped into a new position on the Gantt chart.
     *
     * @event taskbarEdited
     */
    taskbarEdited: base.EmitType<ITaskbarEditedEventArgs>;
    /**
     * This will be triggered when a task get saved by cell edit.
     *
     * @event endEdit
     */
    endEdit: base.EmitType<ITaskbarEditedEventArgs>;
    /**
     * This will be triggered a cell get begins to edit.
     *
     * @event cellEdit
     */
    cellEdit: base.EmitType<CellEditArgs>;
    /**
     * Triggered before the Gantt control gets rendered.
     *
     * @event load
     */
    load: base.EmitType<Object>;
    /**
     * Triggers when the component is created.
     *
     * @event created
     */
    created: base.EmitType<Object>;
    /**
     * Triggers when the component is destroyed.
     *
     * @event destroyed
     */
    destroyed: base.EmitType<Object>;
    /**
     * Triggered when a taskbar is in the dragging state on the Gantt chart.
     *
     * @event taskbarEditing
     */
    taskbarEditing: base.EmitType<ITaskbarEditedEventArgs>;
    /**
     * Triggers when data source is populated in the Grid.
     *
     * @event dataBound
     */
    dataBound: base.EmitType<Object>;
    /**
     * Triggers when column resize starts.
     *
     * @event resizeStart
     */
    resizeStart: base.EmitType<grids.ResizeArgs>;
    /**
     * Triggers on column resizing.
     *
     * @event resizing
     */
    resizing: base.EmitType<grids.ResizeArgs>;
    /**
     * Triggers when column resize ends.
     *
     * @event resizeStop
     */
    resizeStop: base.EmitType<grids.ResizeArgs>;
    /**
     * Triggers when splitter resizing starts.
     *
     * @event splitterResizeStart
     */
    splitterResizeStart: base.EmitType<layouts.ResizeEventArgs>;
    /**
     * Triggers when splitter bar was dragging.
     *
     * @event splitterResizing
     */
    splitterResizing: base.EmitType<layouts.ResizingEventArgs>;
    /**
     * Triggers when splitter resizing action completed.
     *
     * @event splitterResized
     */
    splitterResized: base.EmitType<ISplitterResizedEventArgs>;
    /**
     * Triggers when column header element drag (move) starts.
     *
     * @event columnDragStart
     */
    columnDragStart: base.EmitType<grids.ColumnDragEventArgs>;
    /**
     * Triggers when column header element is dragged (moved) continuously.
     *
     * @event columnDrag
     */
    columnDrag: base.EmitType<grids.ColumnDragEventArgs>;
    /**
     * Triggers when a column header element is dropped on the target column.
     *
     * @event columnDrop
     */
    columnDrop: base.EmitType<grids.ColumnDragEventArgs>;
    /**
     * Triggers before tooltip get rendered.
     *
     * @event beforeTooltipRender
     */
    beforeTooltipRender: base.EmitType<BeforeTooltipRenderEventArgs>;
    /**
     * Triggers before row selection occurs.
     *
     * @event rowSelecting
     */
    rowSelecting: base.EmitType<RowSelectingEventArgs>;
    /**
     * Triggers after row selection occurs.
     *
     * @event rowSelected
     */
    rowSelected: base.EmitType<RowSelectEventArgs>;
    /**
     * Triggers before deselecting the selected row.
     *
     * @event rowDeselecting
     */
    rowDeselecting: base.EmitType<RowDeselectEventArgs>;
    /**
     * Triggers when a selected row is deselected.
     *
     * @event rowDeselected
     */
    rowDeselected: base.EmitType<RowDeselectEventArgs>;
    /**
     * Triggers before any cell selection occurs.
     *
     * @event cellSelecting
     */
    cellSelecting: base.EmitType<CellSelectingEventArgs>;
    /**
     * Triggers after a cell is selected.
     *
     * @event cellSelected
     */
    cellSelected: base.EmitType<grids.CellSelectEventArgs>;
    /**
     * Triggers before the selected cell is deselecting.
     *
     * @event cellDeselecting
     */
    cellDeselecting: base.EmitType<grids.CellDeselectEventArgs>;
    /**
     * Triggers when a particular selected cell is deselected.
     *
     * @event cellDeselected
     */
    cellDeselected: base.EmitType<grids.CellDeselectEventArgs>;
    /**
     * This will be triggered before the header cell element is appended to the Grid element.
     *
     * @event queryCellInfo
     */
    queryCellInfo: base.EmitType<QueryCellInfoEventArgs>;
    /**
     * This will be triggered before the header cell element is appended to the Grid element.
     *
     * @event headerCellInfo
     */
    headerCellInfo: base.EmitType<grids.HeaderCellInfoEventArgs>;
    /**
     * This will be triggered before the row element is appended to the Grid element.
     *
     * @event rowDataBound
     */
    rowDataBound: base.EmitType<RowDataBoundEventArgs>;
    /**
     * Triggers before column menu opens.
     *
     * @event columnMenuOpen
     */
    columnMenuOpen: base.EmitType<grids.ColumnMenuOpenEventArgs>;
    /**
     * Triggers when toolbar item was clicked.
     *
     * @event toolbarClick
     */
    toolbarClick: base.EmitType<navigations.ClickEventArgs>;
    /**
     * Triggers when click on column menu.
     *
     * @event columnMenuClick
     */
    columnMenuClick: base.EmitType<grids.ColumnMenuClickEventArgs>;
    /**
     * Triggers before context menu opens.
     *
     * @event contextMenuOpen
     */
    contextMenuOpen: base.EmitType<ContextMenuOpenEventArgs>;
    /**
     * Triggers when click on context menu.
     *
     * @event contextMenuClick
     */
    contextMenuClick: base.EmitType<ContextMenuClickEventArgs>;
    constructor(options?: GanttModel, element?: string | HTMLElement);
    /**
     * This event will be triggered when click on taskbar element.
     *
     * @event onTaskbarClick
     */
    onTaskbarClick: base.EmitType<ITaskbarClickEventArgs>;
    /**
     * This event will be triggered when double click on record.
     *
     * @event recordDoubleClick
     */
    recordDoubleClick: base.EmitType<RecordDoubleClickEventArgs>;
    /**
     * This event will be triggered when mouse move on Gantt.
     *
     * @event onMouseMove
     */
    onMouseMove: base.EmitType<IMouseMoveEventArgs>;
    /**
     * Triggers before Gantt data is exported to PDF document.
     *
     * @event beforePdfExport
     */
    beforePdfExport: base.EmitType<Object>;
    /**
     * Triggers after treegrid.TreeGrid data is exported to PDF document.
     *
     * @event pdfExportComplete
     */
    pdfExportComplete: base.EmitType<Object>;
    /**
     * Triggers before exporting each cell to PDF document. You can also customize the PDF cells.
     *
     * @event pdfQueryCellInfo
     */
    pdfQueryCellInfo: base.EmitType<PdfQueryCellInfoEventArgs>;
    /**
     * Triggers before exporting each taskbar to PDF document. You can also customize the taskbar.
     *
     * @event pdfQueryTaskbarInfo
     */
    pdfQueryTaskbarInfo: base.EmitType<Object>;
    /**
     * Triggers before exporting each cell to PDF document. You can also customize the PDF cells.
     *
     * @event pdfQueryTimelineCellInfo
     */
    pdfQueryTimelineCellInfo: base.EmitType<PdfQueryTimelineCellInfoEventArgs>;
    /**
     * Triggers before exporting each header cell to PDF document. You can also customize the PDF cells.
     *
     * @event pdfColumnHeaderQueryCellInfo
     */
    pdfColumnHeaderQueryCellInfo: base.EmitType<PdfColumnHeaderQueryCellInfoEventArgs>;
    /**
     * To get the module name
     *
     * @returns {string} .
     * @private
     */
    eventMarkerColloction: IEventMarkerInfo[];
    getModuleName(): string;
    /**
     * For internal use only - Initialize the event handler
     *
     * @returns {void} .
     * @private
     */
    protected preRender(): void;
    private getCurrentDayStartTime;
    private getCurrentDayEndTime;
    private getStartTime;
    private getEndTime;
    private getNonWorkingRange;
    private getWorkingRange;
    private getSecondsPerDay;
    private initProperties;
    private isUndoRedoItemPresent;
    /**
     * @returns {string} .
     * @private
     */
    getDateFormat(): string;
    /**
     * To get timezone offset.
     *
     * @returns {number} .
     * @private
     */
    private getDefaultTZOffset;
    /**
     * To check whether the date is in DST.
     *
     * @param {Date} date - Defines the date to check whether it is DST.
     * @returns {boolean} .
     * @private
     */
    isInDst(date: Date): boolean;
    /**
     * Method to map resource fields.
     *
     * @returns {void} .
     */
    private resourceFieldsMapping;
    /**
     * To validate height and width
     *
     * @param {string | number} value .
     * @returns {string} .
     */
    private validateDimentionValue;
    /**
     * To calculate dimensions of Gantt control
     *
     * @returns {void} .
     */
    private calculateDimensions;
    /**
     * @returns {void} .
     * @private
     */
    protected render(): void;
    private actionFailures;
    hideMaskRow(): void;
    showMaskRow(): void;
    private renderHeaderBackground;
    private renderBackGround;
    private createMaskTable;
    private createEmptyTimeLineTable;
    private applyTimelineMaskRow;
    private createEmptyMaskTable;
    private applyMaskRow;
    /**
     * Method used to show spinner.
     *
     * @returns {void} .
     */
    showSpinner(): void;
    /**
     * Method used to hide spinner.
     *
     * @returns {void} .
     */
    hideSpinner(): void;
    /**
     * @returns {void} .
     * @private
     */
    processTimeline(): void;
    /**
     * @param {boolean} isChange -Defines whether task data is changed.
     * @returns {void} .
     * @private
     */
    renderGantt(isChange?: boolean): void;
    removeCriticalPathStyles(): void;
    private wireEvents;
    private unwireEvents;
    private keyDownHandler;
    /**
     * Method trigger while user perform window resize.
     *
     * @returns {void} .
     * @private
     */
    windowResize(): void;
    keyActionHandler(e: base.KeyboardEventArgs): void;
    /**
     * Method for updating row height value in connector line collections
     *
     * @param {IConnectorLineObject[]} collection  -Defines the CollectorLine collection.
     * @returns {void} .
     * @private
     */
    private updateRowHeightInConnectorLine;
    /**
     * @returns {void} .
     * @private
     */
    protected renderToolbar(): void;
    /**
     * @returns {void} .
     * @private
     */
    protected renderTreeGrid(): void;
    private updateCurrentViewData;
    /**
     * @param {IGanttData} records -Defines the delete record collections.
     * @returns {IGanttData} .
     * @private
     */
    getRecordFromFlatdata(records: IGanttData[]): IGanttData[];
    /**
     * @param {object} args -Update the gantt element content height.
     * @returns {void} .
     * @private
     */
    updateContentHeight(args?: object): void;
    /**
     * To get expand status.
     *
     * @param {IGanttData} data .
     * @returns {boolean} .
     * @private
     */
    getExpandStatus(data: IGanttData): boolean;
    /**
     * Get expanded records from given record collection.
     *
     * @param {IGanttData[]} records - Defines record collection.
     * @returns {IGanttData[]} .
     */
    getExpandedRecords(records: IGanttData[]): IGanttData[];
    /**
     * Getting the Zooming collections of the Gantt control
     *
     * @returns {ZoomTimelineSettings} .
     * @private
     */
    getZoomingLevels(): ZoomTimelineSettings[];
    private displayQuarterValue;
    private displayHalfValue;
    /**
     *
     * @param {Date} date .
     * @param {string} format .
     * @returns {string} .
     */
    getFormatedDate(date: Date, format?: string): string;
    /**
     * Get duration value as string combined with duration and unit values.
     *
     * @param {number} duration - Defines the duration.
     * @param {string} durationUnit - Defines the duration unit.
     * @returns {string} .
     */
    getDurationString(duration: number, durationUnit: string): string;
    /**
     * Get work value as string combined with work and unit values.
     *
     * @param {number} work - Defines the work value.
     * @param {string} workUnit - Defines the work unit.
     * @returns {string} .
     */
    getWorkString(work: number, workUnit: string): string;
    private updateTreeColumns;
    /**
     *
     * @param {object} args .
     * @returns {void} .
     * @private
     */
    treeDataBound(args: object): void;
    /**
     * @param {object} args .
     * @returns {void} .
     * @private
     */
    private getCurrentRecords;
    /**
     * Called internally, if any of the property value changed.
     *
     * @param {GanttModel} newProp - Defines the New GanttModel.
     * @param {GanttModel} oldProp - Defines the old GanttModel.
     * @returns {void} .
     * @private
     */
    onPropertyChanged(newProp: GanttModel, oldProp: GanttModel): void;
    private updateOverAllocationCotainer;
    /**
     * Returns the properties to be maintained in persisted state.
     *
     * @returns {string} .
     * @private
     */
    getPersistData(): string;
    private ignoreInArrays;
    private ignoreInColumn;
    /**
     * @returns {void} .
     * @private
     */
    destroy(): void;
    /**
     * Method to get taskbarHeight.
     *
     * @returns {number} .
     * @public
     */
    getTaskbarHeight(): number;
    /**
     * To provide the array of modules needed for component rendering
     *
     * @returns {base.ModuleDeclaration[]} .
     * @hidden
     */
    requiredModules(): base.ModuleDeclaration[];
    /**
     * Sorts a column with the given options.
     *
     * @param {string} columnName - Defines the column name to be sorted.
     * @param {SortDirection} direction - Defines the direction of sorting field.
     * @param {boolean} isMultiSort - Specifies whether the previous sorted columns are to be maintained.
     * @returns {void} .
     */
    sortColumn(columnName: string, direction: SortDirection, isMultiSort?: boolean): void;
    private mergePersistGanttData;
    private mergeColumns;
    private setFrozenCount;
    private splitFrozenCount;
    private isFrozenGrid;
    /**
     * Clears all the sorted columns of the Gantt.
     *
     * @returns {void} .
     */
    clearSorting(): void;
    /**
     * To validate and render chart horizontal and vertical lines in the Gantt
     *
     * @returns {void} .
     * @hidden
     */
    renderChartGridLines(): void;
    /**
     * To update height of the Grid lines in the Gantt chart side.
     *
     * @returns {void} .
     * @private
     */
    updateGridLineContainerHeight(): void;
    /**
     * To get actual height of grid lines, holidays, weekend and event markers.
     *
     * @returns {number} .
     * @private
     */
    getContentHeight(): number;
    /**
     * To update height of the Grid lines in the Gantt chart side.
     *
     * @param {boolean} currentProp - Update current property change in the Gantt chart.
     * @returns {void} .
     * @private
     */
    reUpdateDimention(currentProp?: string): void;
    /**
     * To render vertical lines in the Gantt chart side.
     *
     * @returns {void} .
     */
    private renderChartVerticalLines;
    /**
     * Method to get default localized text of the Gantt.
     *
     * @returns {void} .
     * @hidden
     */
    getDefaultLocale(): Object;
    /**
     * To remove sorted records of particular column.
     *
     * @param {string} columnName - Defines the sorted column name.
     * @returns {void} .
     */
    removeSortColumn(columnName: string): void;
    /**
     *
     * @param {object} args -Defines the edited event args.
     * @returns {void} .
     * @private
     */
    actionBeginTask(args: object): boolean | void;
    /**
     * To move horizontal scroll bar of Gantt to specific date.
     *
     * @param  {string} date - Defines the date to which the Gantt chart should scroll.
     * @returns {void} .
     */
    scrollToDate(date: string): void;
    /**
     * To move horizontal scroll bar of Gantt to specific task id.
     *
     * @param  {string} taskId - Defines the task id of data.
     * @returns {void} .
     */
    scrollToTask(taskId: string): void;
    /**
     * To update the horizontal (left) and vertical (top) scroll positions of the Gantt chart.
     *
     * @param  {number} left - Defines the scroll left value of chart side.
     * @param  {number} top - Defines the scroll top value of chart side.
     * @returns {void} .
     */
    updateChartScrollOffset(left: number, top: number): void;
    /**
     * Get parent task by clone parent item.
     *
     * @param {IParent} cloneParent - Defines the clone parent item.
     * @returns {IGanttData} .
     * @hidden
     */
    getParentTask(cloneParent: IParent): IGanttData | null;
    /**
     * Get parent task by clone parent item.
     *
     * @param {IGanttData} ganttRecord -Defines the Gantt record.
     * @param {number} level -Defines the selected record level.
     * @returns {IGanttData} .
     * @hidden
     */
    getRootParent(ganttRecord: IGanttData, level: number): IGanttData;
    /**
     * Filters treegrid.TreeGrid row by column name with the given options.
     *
     * @param  {string} fieldName - Defines the field name of the column.
     * @param  {string} filterOperator - Defines the operator to filter records.
     * @param  {string | number | Date | boolean | number[] | string[] | Date[] | boolean[]} filterValue - Defines the value
     *  used to filter records.
     * @param  {string} predicate - Defines the relationship between one filter query and another by using AND or OR predicate.
     * @param  {boolean} matchCase - If match case is set to true, treegrid.TreeGrid filters the records with exact match.if false, it filters case
     * insensitive records (uppercase and lowercase letters treated the same).
     * @param  {boolean} ignoreAccent - If ignoreAccent set to true,
     * then filter ignores the diacritic characters or accents while filtering.
     * @returns {void} .
     */
    filterByColumn(fieldName: string, filterOperator: string, filterValue: string | number | Date | boolean | number[] | string[] | Date[] | boolean[], predicate?: string, matchCase?: boolean, ignoreAccent?: boolean): void;
    /**
     * Export Gantt data to Excel file(.xlsx).
     *
     * @param  {grids.ExcelExportProperties} excelExportProperties - Defines the export properties of the Gantt.
     * @param  {boolean} isMultipleExport - Define to enable multiple export.
     * @param  {workbook} workbook - Defines the Workbook if multiple export is enabled.
     * @param  {boolean} isBlob - If 'isBlob' set to true, then it will be returned as blob data.
     * @returns {Promise<any>} .
     */
    excelExport(excelExportProperties?: grids.ExcelExportProperties, isMultipleExport?: boolean, workbook?: any, isBlob?: boolean): Promise<any>;
    /**
     * Export Gantt data to CSV file.
     *
     * @param  {grids.ExcelExportProperties} excelExportProperties - Defines the export properties of the Gantt.
     * @param  {boolean} isMultipleExport - Define to enable multiple export.
     * @param  {workbook} workbook - Defines the Workbook if multiple export is enabled.
     * @param  {boolean} isBlob - If 'isBlob' set to true, then it will be returned as blob data.
     * @returns {Promise<any>} .
     */
    csvExport(excelExportProperties?: grids.ExcelExportProperties, isMultipleExport?: boolean, workbook?: any, isBlob?: boolean): Promise<any>;
    /**
     * Export Gantt data to PDF document.
     *
     * @param  {PdfExportProperties} pdfExportProperties - Defines the export properties of the Gantt.
     * @param  {isMultipleExport} isMultipleExport - Define to enable multiple export.
     * @param  {pdfDoc} pdfDoc - Defined the Pdf Document if multiple export is enabled.
     * @param  {boolean} isBlob - If the 'isBlob' parameter is set to true, the method returns PDF data as a blob instead of exporting it as a down-loadable PDF file. The default value is false.
     * @returns {Promise<any>} .
     */
    pdfExport(pdfExportProperties?: PdfExportProperties, isMultipleExport?: boolean, pdfDoc?: Object, isBlob?: boolean): Promise<Object>;
    /**
     * Clears the filtered columns in Gantt.
     *
     * Can also be used to clear filtering of a specific column in Gantt.
     *
     * @param {string[]} fields - Defines the specific column to remove filter.
     * @returns {void} .
     */
    clearFiltering(fields?: string[]): void;
    /**
     * Removes filtered column by field name.
     *
     * @param  {string} field - Defines column field name to remove filter.
     * @returns {void} .
     * @hidden
     */
    removeFilteredColsByField(field: string): void;
    /**
     * Method to set holidays and non working days in date time and date picker controls
     *
     * @param {calendars.RenderDayCellEventArgs} args .
     * @returns {void} .
     * @private
     */
    renderWorkingDayCell(args: calendars.RenderDayCellEventArgs): void;
    /**
     * Updates the Gantt timeline to the previous time span by one unit.
     *
     * @param {string} mode - Render previous span of Timeline.
     * @returns {void} .
     * @public
     */
    previousTimeSpan(mode?: string): void;
    /**
     * To update timeline at end point with one unit.
     *
     * @param {string} mode - Render next span of Timeline.
     * @returns {void} .
     * @public
     */
    nextTimeSpan(mode?: string): void;
    /**
     * To validate project start date and end date.
     *
     * @param  {Date} startDate - Defines start date of project.
     * @param  {Date} endDate - Defines end date of project.
     * @param  {boolean} isTimelineRoundOff - Defines project start date and end date need to be round off or not.
     * @param {string} isFrom - Defines whether the call originates from a public method action or a taskbar editing action.
     * @returns {void} .
     * @public
     */
    updateProjectDates(startDate: Date, endDate: Date, isTimelineRoundOff: boolean, isFrom?: string): void;
    /**
     * Splits the taskbar of a specified task into segments based on the given date.
     *
     * @param  {string} taskId - Defines the id of a task to be split.
     * @param  {string} splitDate - Defines in which date the taskbar must be split up.
     * @returns {void} .
     * @public
     */
    splitTask(taskId: number | string, splitDate: Date | Date[]): void;
    /**
     * Merge the split taskbar with the given segment indexes.
     *
     * @param  {string} taskId - Defines the id of a task to be split.
     * @param  {string} segmentIndexes - Defines the object array of indexes which must be merged.
     * @returns {void} .
     * @public
     */
    mergeTask(taskId: number | string, segmentIndexes: {
        firstSegmentIndex: number;
        secondSegmentIndex: number;
    }[]): void;
    /**
     * Changes the treegrid.TreeGrid column positions by field names.
     *
     * @param  {string} fromFName - Defines origin field name.
     * @param  {string} toFName - Defines destination field name.
     * @returns {void} .
     * @public
     */
    reorderColumns(fromFName: string | string[], toFName: string): void;
    /**
     * Method to clear edited collections in gantt set edit flag value
     *
     * @param {boolean} isStart -Defines whether to initiate edit action.
     * @returns {void} .
     * @private
     */
    initiateEditAction(isStart: boolean): void;
    /**
     *
     * @param {string} field Method to update value in Gantt record and make clone record for this
     * @param {IGanttData | ITaskData} record .
     * @param {boolean} isTaskData .
     * @returns {void} .
     * @private
     */
    setRecordValue(field: string, value: any, record: IGanttData | ITaskData, isTaskData?: boolean): void;
    private makeCloneData;
    private closeGanttActions;
    /**
     * Method to get task by uniqueId value.
     *
     * @param {string} id - Defines the task id.
     * @returns {IGanttData} .
     * @isGenericType true
     */
    getTaskByUniqueID(id: string): IGanttData;
    /**
     * Method to get record by id value.
     *
     * @param {string} id - Defines the id of record.
     * @returns {IGanttData} .
     * @isGenericType true
     */
    getRecordByID(id: string): IGanttData;
    /**
     * Method to set splitter position.
     *
     * @param {string|number} value - Define value to splitter settings property.
     * @param {string} type - Defines name of internal splitter settings property.
     * @returns {void} .
     */
    setSplitterPosition(value: string | number, type: string): void;
    /**
     * Expand the records by index value.
     *
     * @param {number[] | number} index - Defines the index of rows to be expand.
     * @returns {void} .
     * @public
     */
    expandByIndex(index: number[] | number): void;
    /**
     * Expand the record by task id.
     *
     * @param {number} id - Defines the id of task.
     * @returns {void} .
     * @public
     */
    expandByID(id: number | string): void;
    /**
     * Collapse the record by index value.
     *
     * @param {number} index - Defines the index of row.
     * @returns {void} .
     * @public
     */
    collapseByIndex(index: number): void;
    /**
     * Collapse the record by id value.
     *
     * @param {number} id - Defines the id of task.
     * @returns {void} .
     * @public
     */
    collapseByID(id: number | string): void;
    /**
     * Method to add record.
     *
     * @param {Object[] | IGanttData | Object} data - Defines record to add.
     * @param {RowPosition} rowPosition - Defines the position of row.
     * @param {number} rowIndex - Defines the row index.
     * @returns {void} .
     * @public
     */
    addRecord(data?: Object[] | IGanttData | Object, rowPosition?: RowPosition, rowIndex?: number): void;
    /**
     * Method to update record by ID.
     *
     * @param  {Object} data - Defines the data to modify.
     * @returns {void} .
     * @public
     */
    updateRecordByID(data: Object): void;
    /**
     * To update existing taskId with new unique Id.
     *
     * @param {number | string} currentId - Defines the current Id of the record.
     * @param {number | string} newId - Defines the new Id of the record.
     * @returns {void} .
     */
    updateTaskId(currentId: number | string, newId: number | string): void;
    /**
     * Public method to expand particular level of rows.
     *
     * @returns {void} .
     * @param {number} level .
     * @private
     */
    expandAtLevel(level: number): void;
    /**
     * To indent the level of selected task to the hierarchical Gantt task.
     *
     * @returns {void} .
     * @public
     */
    indent(): void;
    /**
     * To outdent the level of selected task from the hierarchical Gantt task.
     *
     * @returns {void} .
     * @public
     */
    outdent(): void;
    /**
     * To retrieve the collection of previously recorded actions. This method returns an object as a collection that holds the following details.
     * `modifiedRecords` - retrieves the modified records.
     * `action` - shows the current performed action such as 'sorting','columnReorder','columnResize','progressResizing','rightResizing','leftResizing','add','delete','search','filtering','zoomIn','zoomOut','zoomToFit','columnState','previousTimeSpan','nextTimeSpan','indent','outdent','rowDragAndDrop','taskbarDragAndDrop','dialogEdit'
     *
     * @returns {Object[]} To get the collection of actions
     * @public
     */
    getUndoActions(): Object[];
    /**
     * To retrieve the collection of actions to reapply.
     * `modifiedRecords` - retrieves the modified records.
     * `action` - shows the current performed action such as 'sorting','columnReorder','columnResize','progressResizing','rightResizing','leftResizing','add','delete','search','filtering','zoomIn','zoomOut','zoomToFit','columnState','previousTimeSpan','nextTimeSpan','indent','outdent','rowDragAndDrop','taskbarDragAndDrop','dialogEdit'
     *
     * @returns {Object[]} To get the collection of actions
     *
     * @public
     */
    getRedoActions(): Object[];
    /**
     * Clears the stack collection for undo action.
     *
     * @public
     * @returns {void}
     */
    clearUndoCollection(): void;
    /**
     * Clears the stack collection for redo action.
     *
     * @public
     * @returns {void}
     */
    clearRedoCollection(): void;
    /**
     * Initiates an undo action to revert the most recent change performed.
     *
     * @returns {void} .
     * @public
     */
    undo(): void;
    /**
     * Initiates a redo action to reapply the most recent undone change performed.
     *
     * @returns {void} .
     * @public
     */
    redo(): void;
    /**
     * To render the critical path tasks in Gantt.
     *
     * @returns {void} .
     * @param {boolean} isCritical - To checks whether to render critical path or not .
     * @public
     */
    private showCriticalPath;
    /**
     * To get all the critical tasks in Gantt.
     *
     * @returns {IGanttData[]} .
     * @public
     */
    getCriticalTasks(): IGanttData[];
    /**
     * To perform Zoom in action on Gantt timeline.
     *
     * @returns {void} .
     * @public
     */
    zoomIn(): void;
    /**
     * To perform zoom out action on Gantt timeline.
     *
     * @returns {void} .
     * @public
     */
    zoomOut(): void;
    /**
     * To show all project task in available chart width.
     *
     * @returns {void} .
     * @public
     */
    fitToProject(): void;
    /**
     * Reorder the rows based on given indexes and position.
     *
     * @param {number[]} fromIndexes - Defines the indexes of the dragged records.
     * @param {number} toIndex - Defines the index where the dragged rows will be dropped.
     * @param {string} position - Defines the position of the dropped row.
     * @returns {void} .
     */
    reorderRows(fromIndexes: number[], toIndex: number, position: string): void;
    /**
     * Method to update record by Index.
     *
     * @param  {number} index - Defines the index of data to modify.
     * @param  {object} data - Defines the data to modify.
     * @returns {void} .
     * @public
     */
    updateRecordByIndex(index: number, data: Object): void;
    /**
     * To add dependency for Task.
     *
     * @param  {number} id - Defines the ID of data to modify.
     * @param  {string} predecessorString - Defines the predecessor string to add.
     * @returns {void} .
     * @public
     */
    addPredecessor(id: number | string, predecessorString: string): void;
    /**
     * To remove dependency from task.
     *
     * @param  {number} id - Defines the ID of the task from which the dependency will be removed.
     * @returns {void} .
     * @public
     */
    removePredecessor(id: number | string): void;
    /**
     * To modify current dependency values of Task by task id.
     *
     * @param  {number} id - Defines the ID of data to modify.
     * @param  {string} predecessorString - Defines the predecessor string to update.
     * @returns {void} .
     * @public
     */
    updatePredecessor(id: number | string, predecessorString: string): void;
    /**
     * Method to open Add dialog.
     *
     * @returns {void} .
     * @public
     */
    openAddDialog(): void;
    /**
     * Method to open Edit dialog.
     *
     * @param {number } taskId - Defines the id of task.
     * @returns {void} .
     * @public
     */
    openEditDialog(taskId?: number | string): void;
    /**
     * Changes the treegrid.TreeGrid column positions by field names.
     *
     * @param {string | number} id .
     * @param {number} index .
     * @returns {void} .
     * @private
     */
    private contructExpandCollapseArgs;
    /**
     * Method to get chart row value by index.
     *
     * @param {number} index - Defines the index of row.
     * @returns {HTMLElement} .
     */
    getRowByIndex(index: number): HTMLElement;
    /**
     * Method to get the row element by task id.
     *
     * @param {string | number} id - Defines the id of task.
     * @returns {HTMLElement} .
     */
    getRowByID(id: string | number): HTMLElement;
    /**
     * Method to get class name for unscheduled tasks
     *
     * @param {ITaskData} ganttProp .
     * @returns {string} .
     * @private
     */
    getUnscheduledTaskClass(ganttProp: ITaskData): string;
    /**
     * Method to get class name for unscheduled tasks
     *
     * @param {ITaskData} ganttProp -Defines the Gantt propertie.
     * @returns {boolean} .
     * @private
     */
    isUnscheduledTask(ganttProp: ITaskData): boolean;
    private createGanttPopUpElement;
    /**
     * Method to get predecessor value as string.
     *
     * @param {string} type .
     * @returns {HTMLElement} .
     * @private
     */
    getPredecessorTextValue(type: string): string;
    /**
     * Method to perform search action in Gantt.
     *
     * @param {string} keyVal - Defines key value to search.
     * @returns {void} .
     */
    search(keyVal: string): void;
    /**
     * Method to get offset rect value
     *
     * @param {HTMLElement} element .
     * @returns {number} .
     * @hidden
     */
    getOffsetRect(element: HTMLElement): {
        top: number;
        left: number;
        width?: number;
        height?: number;
    };
    /**
     * Method to expand all the rows of Gantt.
     *
     * @returns {void} .
     * @public
     */
    expandAll(): void;
    /**
     * Method to update data source.
     *
     * @returns {void} .
     * @param {object[]} dataSource - Defines a collection of data.
     * @param {object} args - Defines the projectStartDate and projectEndDate values.
     * @public
     */
    updateDataSource(dataSource: Object[], args: object): void;
    /**
     * Method to collapse all the rows of Gantt.
     *
     * @returns {void} .
     * @public
     */
    collapseAll(): void;
    /**
     * Gets the columns from the treegrid.TreeGrid.
     *
     * @returns {Column[]} .
     * @public
     */
    getGridColumns(): Column[];
    /**
     * Method to column from given column collection based on field value
     *
     * @param {string} field .
     * @param {ColumnModel[]} columns .
     * @returns {ColumnModel} .
     * @private
     */
    getColumnByField(field: string, columns: ColumnModel[]): ColumnModel;
    /**
     * Gets the Gantt columns.
     *
     * @returns {ColumnModel[]} .
     * @public
     */
    getGanttColumns(): ColumnModel[];
    /**
     * Shows a column by its column name.
     *
     * @param  {string|string[]} keys - Defines a single or collection of column names.
     * @param  {string} showBy - Defines the column key either as field name or header text.
     * @returns {void} .
     * @public
     */
    showColumn(keys: string | string[], showBy?: string): void;
    /**
     * Hides one or more columns in the Gantt chart based on the specified column names or header texts.
     *
     * @param  {string|string[]} keys - Defines a single or collection of column names.
     * @param  {string} hideBy - Defines the column key either as field name or header text.
     * @returns {void} .
     * @public
     */
    hideColumn(keys: string | string[], hideBy?: string): void;
    /**
     * To set scroll top for chart scroll container.
     *
     * @param {number} scrollTop - Defines scroll top value for scroll container.
     * @returns {void} .
     * @public
     */
    setScrollTop(scrollTop: number): void;
    /**
     * Cancels the current edit operation and reverts the changes made during editing.
     *
     * @returns {void} .
     * @public
     */
    cancelEdit(): void;
    /**
     * Selects a cell by the given index.
     *
     * @param  {grids.IIndex} cellIndex - Defines the row and column indexes.
     * @param  {boolean} isToggle - If set to true, then it toggles the selection.
     * @returns {void} .
     */
    selectCell(cellIndex: grids.IIndex, isToggle?: boolean): void;
    /**
     * Selects a collection of cells by row and column indexes.
     *
     * @param  {grids.ISelectedCell[]} rowCellIndexes - Specifies the row and column indexes.
     * @returns {void} .
     */
    selectCells(rowCellIndexes: grids.ISelectedCell[]): void;
    /**
     * Selects a row by given index.
     *
     * @param  {number} index - Defines the row index.
     * @param  {boolean} isToggle - If set to true, then it toggles the selection.
     * @returns {void} .
     */
    selectRow(index: number, isToggle?: boolean): void;
    /**
     * Selects a collection of rows by indexes.
     *
     * @param  {number[]} records - Defines the collection of row indexes.
     * @returns {void} .
     */
    selectRows(records: number[]): void;
    /**
     * Method to delete record.
     *
     * @param {number | string } taskDetail - Defines the details of data to delete.
     * @returns {void} .
     * @public
     */
    deleteRecord(taskDetail: number | string | number[] | string[] | IGanttData | IGanttData[]): void;
    /**
     * Enables or disables ToolBar items.
     *
     * @param {string[]} items - Defines the collection of itemID of ToolBar items.
     * @param {boolean} isEnable - Defines the items to be enabled or disabled.
     * @returns {void} .
     */
    enableItems(items: string[], isEnable: boolean): void;
    /**
     * Deselects the current selected rows and cells.
     *
     * @returns {void} .
     */
    clearSelection(): void;
    /**
     * @param {ITaskAddedEventArgs | IActionBeginEventArgs} args .
     * @returns {ITaskAddedEventArgs | IActionBeginEventArgs} .
     * @hidden
     */
    updateDataArgs(args: ITaskAddedEventArgs | IActionBeginEventArgs): ITaskAddedEventArgs | IActionBeginEventArgs;
    /**
     * Method to convert task data to milestone data.
     *
     * @param {string} id - Defines id of record.
     * @returns {void} .
     * @public
     */
    convertToMilestone(id: string): void;
    /**
     * To change the mode of a record.
     *
     * @param {object} data - Use to change the TaskMode either manual, auto or custom.
     * @returns {void} .
     */
    changeTaskMode(data: Object): void;
    /**
     * @returns {string[]} .
     * @private
     */
    getTaskIds(): string[];
    /**
     * @param {IGanttData} data .
     * @returns {void} .
     * @private
     */
    setTaskIds(data: IGanttData): void;
    /**
     * To render the react templates
     *
     * @returns {void} .
     *  @hidden
     */
    renderTemplates(): void;
    /**
     * To reset the react templates
     *
     * @returns {void} .
     *  @hidden
     */
    resetTemplates(): void;
}
//node_modules/@syncfusion/ej2-gantt/src/gantt/base/gantt-model.d.ts
/**
 * Interface for a class Gantt
 */
export interface GanttModel extends base.ComponentModel{
    /**
     * Enables or disables keyboard interactions in the Gantt chart.
     *
     * @default true
     */
    allowKeyboard?: boolean;
    /**
     * If `enableImmutableMode` is set to true, the Gantt Chart will reuse existing rows from previous results instead of
     * performing a full refresh when Gantt actions are executed.
     *
     * @default false
     */
    enableImmutableMode?: boolean;
    /**
     * Specifies whether to allow dependency connection support for parent records.
     *
     * @default true
     */
    allowParentDependency?: boolean;
    /**
     * Specifies whether to display or base.remove the untrusted HTML values in the treegrid.TreeGrid component.
     * If `enableHtmlSanitizer` set to true, any potentially harmful strings and scripts are sanitized before rendering.
     *
     * @default true
     */
    enableHtmlSanitizer?: boolean;
    /**
     * If `disableHtmlEncode` is set to `true`, the Gantt component disables HTML entity encoding across the Gantt content, allowing custom HTML elements to be rendered.
     *
     * @default true
     */
    disableHtmlEncode?: boolean;
    /**
     * Configures the loading indicator for the Gantt Chart. Specifies the type of indicator to display (spinner or shimmer effect) during waiting periods when actions are performed in the Gantt Chart.
     *
     * @default {indicatorType: 'Spinner'}
     */
    loadingIndicator?: LoadingIndicatorModel;
    /**
     * Specifies whether to display shimmer effect during scrolling action in virtual scrolling feature. If disabled, spinner is shown instead of shimmer effect.
     *
     * @default true
     */
    enableVirtualMaskRow?: boolean;
    /**
     * Gets or sets whether to load child records on demand in remote data binding. When `loadChildOnDemand` set to true, child records are loaded only when expanded, and parent records are rendered in a collapsed state initially.
     *
     * @default true
     */
    loadChildOnDemand?: boolean;
    /**
     * Specifies whether to update offset value on a task for all the predecessor edit actions.
     *
     * @default true
     */
    updateOffsetOnTaskbarEdit?: boolean;
    /**
     * Specifies whether to update offset value on a task for all the predecessor edit actions.
     *
     * @default true
     * @deprecated This method is deprecated from Vol 2 2024 release. Use `updateOffsetOnTaskbarEdit` this property instead.
     * @aspIgnore
     */
    UpdateOffsetOnTaskbarEdit?: boolean;
    /**
     * Specifies whether to auto calculate the start and end dates based on factors such as working time, holidays, weekends, and task dependencies.
     *
     * @default true
     */
    autoCalculateDateScheduling?: boolean;
    /**
     * Enables or disables automatic focusing on the taskbar when a task is clicked.
     *
     * @default true
     */
    autoFocusTasks?: boolean;
    /**
     * If `enableAdaptiveUI` is set to true, the pop-up UI becomes adaptive to smaller screens, enabling better usability for filtering and other features.
     *
     * @default false
     */
    enableAdaptiveUI?: boolean;
    /**
     * If `allowSelection` is set to true, it enables row selection in the Gantt chart, and the selected rows are highlighted.
     *
     * @default true
     */
    allowSelection?: boolean;
    /**
     * If `allowSorting` is set to true, it enables sorting of Gantt chart tasks when the column header is clicked.
     *
     * @default false
     */
    allowSorting?: boolean;
    /**
     * If `enablePredecessorValidation` is set to true, enables validation for predecessor links in the Gantt chart.
     *
     * @default true
     */
    enablePredecessorValidation?: boolean;
    /**
     * If `showColumnMenu` set to true, enables the column menu options for each column in the Gantt chart.
     *
     * @default false
     */
    showColumnMenu?: boolean;
    /**
     * `columnMenuItems` defines both built-in and custom menu items for the Gantt chart column menu.
     * <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.
     * * `AutoFitAll` - Auto fit the size of all columns.
     * * `AutoFit` - Auto fit the size of the current column.
     * * `Filter` - Displays filter options based on the `filterSettings` property.
     *
     * @default null
     */
    columnMenuItems?: (ColumnMenuItem | grids.ColumnMenuItemModel)[];
    /**
     * `undoRedoActions` Defines action items that retain for undo and redo operation.
     *
     * @default ['Sorting', 'Add', 'ColumnReorder', 'ColumnResize', 'ColumnState', 'Delete', 'Edit', 'Filtering', 'Indent', 'Outdent', 'NextTimeSpan', 'PreviousTimeSpan', 'RowDragAndDrop', 'TaskbarDragAndDrop', 'Search', 'ZoomIn', 'ZoomOut', 'ZoomToFit']
     */
    undoRedoActions?: GanttAction[];
    /**
     * By default, task schedule dates are calculated with system time zone. If the Gantt chart is assigned with a specific time zone,
     * then schedule dates are calculated based on the given time zone date value.
     *
     * @default null
     */
    timezone?: string;
    /**
     * Defines whether all root tasks should be rendered in a collapsed state. When `collapseAllParentTasks` set to true, all parent tasks will be collapsed by default.
     *
     * @default false
     */
    collapseAllParentTasks?: boolean;
    /**
     * If `highlightWeekends` is set to true, it highlights all weekend days in the week-day timeline mode.
     * This makes weekends visually distinct in the timeline view.
     *
     * @default false
     */
    highlightWeekends?: boolean;
    /**
     * To define expander column index in Grid.
     *
     * @default 0
     * @aspType int
     */
    treeColumnIndex?: number;
    /**
     * Defines the data source for the Gantt chart, which is used to render rows and tasks.
     * The `dataSource` can be an array of JavaScript objects, an instance of `data.DataManager`, or a single object.
     * The array of objects should contain the task data with properties such as `TaskID`, `TaskName`, `StartDate`, `EndDate`, etc.
     * This allows dynamic binding of tasks and their relationships (e.g., dependencies, subtasks, progress) to the Gantt chart.
     * {% codeBlock src='gantt/dataSource/index.md' %}{% endcodeBlock %}
     *
     * @isGenericType true
     * @default []
     */
    dataSource?: Object[] | data.DataManager | Object;
    /**
     * `durationUnit` Specifies the duration unit for each task. The available options are:
     * * `day`: Sets the duration unit to day.
     * * `hour`: Sets the duration unit to hour.
     * * `minute`: Sets the duration unit to minute.
     *
     * @default day
     */
    durationUnit?: DurationUnit;
    /**
     * Defines an external [`data.Query`](https://ej2.syncfusion.com/documentation/data/api-query.html)
     * that will be executed in conjunction with data processing to filter, sort the data.
     * This allows for advanced data manipulation before binding the data to the Gantt chart.
     *
     * @default null
     */
    query?: data.Query;
    /**
     * Specifies the date format for displaying dates in the Gantt chart, including in tooltips and grid cells.
     * By default, the format is determined based on the current culture/locale settings.
     */
    dateFormat?: string;
    /**
     * Defines the height of the Gantt component container.
     * The `height` property can be set to a specific value (in pixels or percentage) or set to 'auto' for automatic height adjustment based on content.
     *
     * @default 'auto'
     */
    height?: number | string;
    /**
     * If `renderBaseline` is set to `true`, baselines will be rendered for tasks in the Gantt chart.
     * Baselines provide a visual reference to track the planned vs. actual progress of tasks.
     *
     * @default false
     */
    renderBaseline?: boolean;
    /**
     * Defines whether to enable or disable the taskbar drag and drop action in the Gantt chart.
     *
     * @default false
     */
    allowTaskbarDragAndDrop?: boolean;
    /**
     * Specifies whether taskbars can overlap in the Gantt chart.
     *
     * @default true
     */
    allowTaskbarOverlap?: boolean;
    /**
     * Configures the grid lines displayed in the treegrid.TreeGrid and Gantt chart.
     * The `gridLines` property allows customization of the type of grid lines to be shown, either horizontal, vertical, or both.
     *
     *  @default 'Horizontal'
     */
    gridLines?: GridLine;
    /**
     * Configures the labels displayed on the right, left, and inside the taskbars in the Gantt chart.
     * {% codeBlock src='gantt/labelSettings/index.md' %}{% endcodeBlock %}
     */
    labelSettings?: LabelSettingsModel;
    /**
     * The task bar template that renders customized child task bars from the given template.
     * This property allows users to define a custom template for rendering child task bars in the Gantt chart.
     * {% codeBlock src='gantt/taskbarTemplate/index.md' %}{% endcodeBlock %}
     *
     * @default null
     * @aspType string
     */
    taskbarTemplate?: string | Function;
    /**
     * Defines a custom template for rendering parent task bars in the Gantt chart. This template allows you to customize the appearance of parent task bars.
     * {% codeBlock src='gantt/parentTaskbarTemplate/index.md' %}{% endcodeBlock %}
     *
     * @default null
     * @aspType string
     */
    parentTaskbarTemplate?: string | Function;
    /**
     * Renders customized html elements for timeline cell from the given template.
     *
     * @default null
     * @aspType string
     */
    timelineTemplate?: string | Function;
    /**
     * Defines a custom template for rendering milestone tasks in the Gantt chart. This template allows you to customize the appearance of milestone tasks.
     *
     * @default null
     * @aspType string
     */
    milestoneTemplate?: string | Function;
    /**
     * Specifies the color of the baseline bar in the Gantt chart.
     *
     *  @default null
     */
    baselineColor?: string;
    /**
     * Defines the width of the Gantt component container.
     *
     * @default 'auto'
     */
    width?: number | string;
    /**
     * If `enableVirtualization` is set to true, the Gantt chart will render only the rows visible within the viewport.
     * and load subsequent rows as the user scrolls vertically. This improves performance when dealing with large datasets.
     *
     * @default false
     */
    enableVirtualization?: boolean;
    /**
     * Enables better performance for projects with a large time span by initially rendering only the visible timeline cells.
     * Subsequent cells are loaded on horizontal scrolling.
     *
     * @default false
     */
    enableTimelineVirtualization?: boolean;
    /**
     * `toolbar` defines the toolbar items of the Gantt.
     * It contains built-in and custom toolbar items.
     * If an array value is assigned, it is considered as the list of built-in and custom toolbar items in the Gantt's toolbar.
     * <br><br>
     * The available built-in toolbar items are:
     * * Add: Adds a new record.
     * * Edit: Edits the selected task.
     * * Update: Updates the edited task.
     * * Delete: Deletes the selected task.
     * * Cancel: Cancels the edit state.
     * * Search: Searches tasks by the given key.
     * * ExpandAll: Expands all the task of Gantt.
     * * CollapseAll: Collapses all the task of Gantt.
     * * PrevTimeSpan: Extends timeline with one unit before the timeline start date.
     * * NextTimeSpan: Extends timeline with one unit after the timeline finish date.
     * * ZoomIn: ZoomIn the Gantt control.
     * * ZoomOut: ZoomOut the Gantt control.
     * * ZoomToFit: Display the all tasks within the viewable Gantt chart.
     * * ExcelExport: To export in Excel format.
     * * CsvExport : To export in CSV format.
     * * Indent: To indent a task to one level.
     * * Outdent: To outdent a task from one level.
     *
     * @default null
     */
    toolbar?: (ToolbarItem | string | navigations.ItemModel)[];
    /**
     * Defines workweek of project.
     *
     * @default ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday']
     */
    workWeek?: string[];
    /**
     * Defines whether weekend days should be considered as working days in the Gantt chart.
     * When `includeWeekend` set to true, weekends (Saturday and Sunday) are treated as regular working days.
     *
     * @default false
     */
    includeWeekend?: boolean;
    /**
     * Enables or disables the rendering of unscheduled tasks in the Gantt chart.
     * When `allowUnscheduledTasks` set to true, unscheduled tasks will be displayed in the chart.
     *
     * @default false
     */
    allowUnscheduledTasks?: boolean;
    /**
     * To show notes column cell values inside the cell or in tooltip.
     *
     * @default false
     */
    showInlineNotes?: boolean;
    /**
     * Defines the height of grid and chart rows in the Gantt chart.
     * This property sets the vertical space allocated for each task or row, allowing customization of row sizes.
     *
     * @default 36
     * @aspType int
     */
    rowHeight?: number;
    /**
     * Defines height of the taskbar element in the Gantt chart.
     *
     * @default null
     * @aspType int?
     */
    taskbarHeight?: number;
    /**
     * Defines the start date of the project. If the `projectStartDate` is not set, it will be automatically calculated based on the data source.
     * The date can be provided as a `Date` object or a string in a valid date format.
     *
     * @default null
     */
    projectStartDate?: Date | string;
    /**
     * Defines the end date of the project. If the `projectEndDate` is not set, it will be automatically calculated based on the data source.
     * The date can be provided as a `Date` object or a string in a valid date format.
     *
     * @default null
     */
    projectEndDate?: Date | string;
    /**
     * Defines the mapping property to retrieve the resource ID value from the resource collection.
     * This is used to map the resource ID from the resource data to the Gantt chart for resource allocation.
     *
     * @default null
     */
    resourceIDMapping?: string;
    /**
     * Defines the mapping property to retrieve the resource name value from the resource collection.
     * This is used to map the resource name from the resource data to the Gantt chart for task allocation.
     *
     * @default null
     */
    resourceNameMapping?: string;
    /**
     * Defines the collection of resources assigned to the project.
     *
     * @default []
     */
    resources?: object[];
    /**
     * Defines the collection of segments assigned to tasks in the Gantt chart.
     *
     * @default []
     */
    segmentData?: object[];
    /**
     * Defines the background color of the dependency lines (connector lines) in the Gantt chart.
     * You can set the color as a valid CSS color string (e.g., "red", "#FF5733", "rgb(255,0,0)").
     *
     * @default null
     */
    connectorLineBackground?: string;
    /**
     * Defines the width of the dependency lines in the Gantt chart.
     * The value should be a positive integer, representing the thickness of the lines.
     *
     * @default 1
     * @aspType int
     */
    connectorLineWidth?: number;
    /**
     * Defines the collection of columns displayed in the Gantt chart grid.
     * If the `columns` declaration is empty, the columns are automatically populated based on the `taskSettings` values.
     * {% codeBlock src='gantt/columns/index.md' %}{% endcodeBlock %}
     *
     * @default []
     */
    columns?: Column[] | string[] | ColumnModel[];
    /**
     * Defines the tabs and fields to be displayed in the add dialog.
     * If not specified, the fields will be derived from the `taskSettings` and `columns` values.
     * {% codeBlock src='gantt/addDialogFields/index.md' %}{% endcodeBlock %}
     *
     * @default []
     */
    addDialogFields?: AddDialogFieldSettingsModel[];
    /**
     * Defines the tabs and fields to be displayed in the edit dialog.
     * If not specified, the fields will be derived from the `taskSettings` and `columns` values.
     * {% codeBlock src='gantt/editDialogFields/index.md' %}{% endcodeBlock %}
     *
     * @default []
     */
    editDialogFields?: EditDialogFieldSettingsModel[];
    /**
     * The `selectedRowIndex` allows you to specify the index of the row to be selected at the time of initial rendering.
     * It can also be used to get the currently selected row index after selection.
     * A value of `-1` indicates no row is selected.
     *
     * @default -1
     * @aspType int
     */
    selectedRowIndex?: number;
    /**
     * `workUnit` Specifies the work unit for each tasks whether day or hour or minute.
     * * `day`: Sets the work unit as day.
     * * `hour`: Sets the work unit as hour.
     * * `minute`: Sets the work unit as minute.
     *
     * @default hour
     */
    workUnit?: WorkUnit;
    /**
     * `taskType` Specifies the task type for task whether fixedUnit or fixedWork or fixedDuration.
     * * `fixedUnit`: Sets the task type as fixedUnit.
     * * `fixedWork`: Sets the task type as fixedWork.
     * * `fixedDuration`: Sets the task type as fixedDuration.
     *
     * @default fixedUnit
     */
    taskType?: TaskType;
    /**
     * Defines the view type of the Gantt.
     *
     *  @default 'ProjectView'
     */
    viewType?: ViewType;
    /**
     * Defines the customized working time for the project.
     * This helps in accurately planning tasks based on available working hours and ensures proper task scheduling.
     * {% codeBlock src='gantt/dayWorkingTime/index.md' %}{% endcodeBlock %}
     */
    dayWorkingTime?: DayWorkingTimeModel[];
    /**
     * Specifies unique working hours for each weekday in gantt chart to tailor schedules precisely.
     */
    weekWorkingTime?: WeekWorkingTimeModel[];
    /**
     * Defines holidays within the project timeline, allowing you to mark specific dates as holidays.
     * This helps in accounting for non-working days in scheduling and task planning.
     * {% codeBlock src='gantt/holidays/index.md' %}{% endcodeBlock %}
     *
     * @default []
     */
    holidays?: HolidayModel[];
    /**
     * Defines the events and milestones along the project timeline.
     * These event markers indicate significant events or milestones throughout the project's duration.
     * {% codeBlock src='gantt/eventMarkers/index.md' %}{% endcodeBlock %}
     *
     * @default []
     */
    eventMarkers?: EventMarkerModel[];
    /**
     * Defines the mapping properties to extract task-related values, such as ID, start date, end date, duration, and progress, from the data source.
     * This allows the Gantt chart to properly map the provided data to the corresponding task fields and render them accordingly.
     * {% codeBlock src='gantt/taskFields/index.md' %}{% endcodeBlock %}
     */
    taskFields?: TaskFieldsModel;
    /**
     * Defines the mapping properties to extract resource values, such as `id`, `name`, `unit`, and `group` from the resource collection in the Gantt chart.
     * This helps to map data from a custom resource collection to the appropriate fields for resource allocation.
     */
    resourceFields?: ResourceFieldsModel;
    /**
     * Configures timeline settings of Gantt.
     * Defines default timeline modes or customized top tier mode and bottom tier mode or single tier only.
     * {% codeBlock src='gantt/timelineSettings/index.md' %}{% endcodeBlock %}
     */
    timelineSettings?: TimelineSettingsModel;
    /**
     * Configure zooming levels of Gantt Timeline.
     *
     * @default []
     */
    zoomingLevels?: ZoomTimelineSettings[];
    /**
     * Configures the sort settings for the Gantt chart.
     * {% codeBlock src='gantt/sortSettings/index.md' %}{% endcodeBlock %}
     *
     * @default {columns:[]}
     */
    sortSettings?: SortSettingsModel;
    /**
     * Configures the edit settings for the Gantt chart, such as enabling or disabling task modifications.
     * {% codeBlock src='gantt/editSettings/index.md' %}{% endcodeBlock %}
     *
     * @default { allowAdding: false, allowEditing: false, allowDeleting: false, mode:'Auto',
     * showDeleteConfirmDialog: false }
     */
    editSettings?: EditSettingsModel;
    /**
     * Enables or disables default tooltip of Gantt element and defines customized tooltip for Gantt elements.
     * {% codeBlock src='gantt/tooltipSettings/index.md' %}{% endcodeBlock %}
     *
     * @default { showTooltip: true }
     */
    tooltipSettings?: TooltipSettingsModel;
    /**
     * Configures the settings for selection in the Gantt chart.
     * {% codeBlock src='gantt/selectionSettings/index.md' %}{% endcodeBlock %}
     *
     * @default {mode: 'Row', type: 'Single'}
     */
    selectionSettings?: SelectionSettingsModel;
    /**
     * Enables or disables filtering functionality in the Gantt chart.
     *
     * @default false
     */
    allowFiltering?: boolean;
    /**
     * If `allowExcelExport` set to true, then it will allow the user to export Gantt chart to Excel and CSV file.
     *
     * @default false
     */
    allowExcelExport?: boolean;
    /**
     * If `allowRowDragAndDrop` set to true, then it will allow the user to perform row drag and drop action in Gantt chart.
     *
     * @default false
     */
    allowRowDragAndDrop?: boolean;
    /**
     * If `allowReordering` is set to true, Gantt chart columns can be reordered.
     * Reordering can be done by drag and drop of a particular column from one index to another index.
     *
     * @default false
     */
    allowReordering?: boolean;
    /**
     * If `readOnly` is set to true, the Gantt chart becomes read-only, meaning tasks and other elements cannot be edited.
     * This setting disables all editing features, including task updates, dependency management, and any editing acions.
     *
     * @default false
     */
    readOnly?: boolean;
    /**
     * Enables column resizing in the Gantt chart when `allowResizing` is set to true.
     * When enabled, users can adjust the width of columns by dragging the column borders.
     *
     * @default false
     */
    allowResizing?: boolean;
    /**
     * If `enableContextMenu` is set to true, enables the context menu in the Gantt chart.
     * The context menu provides additional actions that can be accessed by right-clicking on Gantt chart elements
     *
     * @default false
     */
    enableContextMenu?: boolean;
    /**
     * Enables the highlighting of critical tasks in the Gantt Chart that directly affect the project's end date.
     * When enabled, tasks that are critical to the project timeline will be visually distinguished by colours.
     *
     * @default false
     */
    enableCriticalPath?: boolean;
    /**
     * Enables or disables the undo and redo functionality in the Gantt chart.
     *
     * @default false
     */
    enableUndoRedo?: boolean;
    /**
     * Defines number of undo/redo actions that should be stored.
     *
     * @default 10
     */
    undoRedoStepsCount?: number;
    /**
     * Defines the built-in and custom items that appear in the context menu of the Gantt chart.
     * You can use this property to control the content and functionality of the right-click context menu.
     * {% codeBlock src='gantt/contextMenuItems/index.md' %}{% endcodeBlock %}
     *
     * @default null
     */
    contextMenuItems?: ContextMenuItem[] | grids.ContextMenuItemModel[];
    /**
     * If `allowPdfExport` set to true, then it will allow the user to export Gantt chart to PDF file.
     *
     * @default false
     */
    allowPdfExport?: boolean;
    /**
     * If `validateManualTasksOnLinking` is set to true,
     * it enables date validation while connecting manually scheduled tasks with predecessor.
     *
     * @default false
     */
    validateManualTasksOnLinking?: boolean;
    /**
     * Enables the rendering of child taskbars on the parent row when it is in a collapsed state in the Gantt chart.
     *
     * @default false
     */
    enableMultiTaskbar?: boolean;
    /**
     * If `showOverAllocation` set to `true`, enables the rendering of the overallocation container in the Gantt chart.
     *
     * @default false
     */
    showOverAllocation?: boolean;
    /**
     * Specifies task schedule mode for a project.
     *
     * @default 'Auto'
     */
    taskMode?: ScheduleMode;
    /**
     * Configures the filter settings for the Gantt chart, enabling users to filter tasks based on specific columns or criteria.
     * The `filterSettings` property allows customization of filter behavior, such as which columns to filter and the filter type.
     * {% codeBlock src='gantt/filterSettings/index.md' %}{% endcodeBlock %}
     *
     * @default {columns: [], type: 'Menu' }
     */
    filterSettings?: FilterSettingsModel;
    /**
     * Configures the search functionality within the Gantt chart.
     * {% codeBlock src='gantt/searchSettings/index.md' %}{% endcodeBlock %}
     */
    searchSettings?: SearchSettingsModel;
    /**
     * Configures the splitter settings for the Gantt chart.
     * {% codeBlock src='gantt/splitterSettings/index.md' %}{% endcodeBlock %}
     */
    splitterSettings?: SplitterSettingsModel;
    /**
     * This will be triggered after the taskbar element is appended to the Gantt element.
     *
     * @event queryTaskbarInfo
     */
    queryTaskbarInfo?: base.EmitType<IQueryTaskbarInfoEventArgs>;
    /**
     * Triggers before Gantt data is exported to Excel file.
     *
     * @event beforeExcelExport
     */
    beforeExcelExport?: base.EmitType<Object>;
    /**
     * Triggers after Gantt data is exported to Excel file.
     *
     * @event excelExportComplete
     */
    excelExportComplete?: base.EmitType<grids.ExcelExportCompleteArgs>;
    /**
     * Triggers before exporting each cell to Excel file.
     * You can also customize the Excel cells.
     *
     * @event excelQueryCellInfo
     */
    excelQueryCellInfo?: base.EmitType<grids.ExcelQueryCellInfoEventArgs>;
    /**
     * Triggers before exporting each header cell to Excel file.
     * You can also customize the Excel cells.
     *
     * @event excelHeaderQueryCellInfo
     */
    excelHeaderQueryCellInfo?: base.EmitType<grids.ExcelHeaderQueryCellInfoEventArgs>;
    /**
     * Triggers when row elements are dragged (moved) continuously.
     *
     * @event rowDrag
     */
    rowDrag?: base.EmitType<grids.RowDragEventArgs>;
    /**
     * Triggers when row element’s drag(move) starts.
     *
     * @event rowDragStart
     */
    rowDragStart?: base.EmitType<grids.RowDragEventArgs>;
    /**
     * Triggers when row element’s before drag(move).
     *
     * @event rowDragStartHelper
     */
    rowDragStartHelper?: base.EmitType<grids.RowDragEventArgs>;
    /**
     * Triggers when row elements are dropped on the target row.
     *
     * @event rowDrop
     */
    rowDrop?: base.EmitType<grids.RowDragEventArgs>;
    /**
     * This will be triggered before the row getting collapsed.
     *
     * @event collapsing
     */
    collapsing?: base.EmitType<ICollapsingEventArgs>;
    /**
     * This will be triggered after the row getting collapsed.
     *
     * @event collapsed
     */
    collapsed?: base.EmitType<ICollapsingEventArgs>;
    /**
     * This will be triggered before the row getting expanded.
     *
     * @event expanding
     */
    expanding?: base.EmitType<ICollapsingEventArgs>;
    /**
     * This will be triggered after the row getting expanded.
     *
     * @event expanded
     */
    expanded?: base.EmitType<ICollapsingEventArgs>;
    /**
     * Triggers when Gantt actions such as sorting, filtering, searching etc., starts.
     *
     * @event actionBegin
     */
    actionBegin?: base.EmitType<Object | grids.PageEventArgs | grids.FilterEventArgs | grids.SortEventArgs | ITimeSpanEventArgs | IDependencyEventArgs | ITaskAddedEventArgs | ZoomEventArgs>;
  // eslint-disable-line
    /**
     * Triggers when Gantt actions such as sorting, filtering, searching etc. are completed.
     *
     * @event actionComplete
     */
    actionComplete?: base.EmitType<grids.FilterEventArgs | grids.SortEventArgs | ITaskAddedEventArgs | IKeyPressedEventArgs | ZoomEventArgs>;
    /**
     * Triggers when actions are failed.
     *
     * @event actionFailure
     */
    actionFailure?: base.EmitType<grids.FailureEventArgs>;
    /**
     * Triggers when the Gantt actions such as Sorting, Editing etc., are done.
     * In this event,the current view data and total record count should be assigned to the `dataSource` based on the action performed.
     *
     * @event dataStateChange
     */
    dataStateChange?: base.EmitType<treegrid.DataStateChangeEventArgs>;
    /**
     * Triggered when a taskbar is dragged and dropped into a new position on the Gantt chart.
     *
     * @event taskbarEdited
     */
    taskbarEdited?: base.EmitType<ITaskbarEditedEventArgs>;
    /**
     * This will be triggered when a task get saved by cell edit.
     *
     * @event endEdit
     */
    endEdit?: base.EmitType<ITaskbarEditedEventArgs>;
    /**
     * This will be triggered a cell get begins to edit.
     *
     * @event cellEdit
     */
    cellEdit?: base.EmitType<CellEditArgs>;
    /**
     * Triggered before the Gantt control gets rendered.
     *
     * @event load
     */
    load?: base.EmitType<Object>;
    /**
     * Triggers when the component is created.
     *
     * @event created
     */
    created?: base.EmitType<Object>;
    /**
     * Triggers when the component is destroyed.
     *
     * @event destroyed
     */
    destroyed?: base.EmitType<Object>;
    /**
     * Triggered when a taskbar is in the dragging state on the Gantt chart.
     *
     * @event taskbarEditing
     */
    taskbarEditing?: base.EmitType<ITaskbarEditedEventArgs>;
    /**
     * Triggers when data source is populated in the Grid.
     *
     * @event dataBound
     */
    dataBound?: base.EmitType<Object>;
    /**
     * Triggers when column resize starts.
     *
     * @event resizeStart
     */
    resizeStart?: base.EmitType<grids.ResizeArgs>;
    /**
     * Triggers on column resizing.
     *
     * @event resizing
     */
    resizing?: base.EmitType<grids.ResizeArgs>;
    /**
     * Triggers when column resize ends.
     *
     * @event resizeStop
     */
    resizeStop?: base.EmitType<grids.ResizeArgs>;
    /**
     * Triggers when splitter resizing starts.
     *
     * @event splitterResizeStart
     */
    splitterResizeStart?: base.EmitType<layouts.ResizeEventArgs>;
    /**
     * Triggers when splitter bar was dragging.
     *
     * @event splitterResizing
     */
    splitterResizing?: base.EmitType<layouts.ResizingEventArgs>;
    /**
     * Triggers when splitter resizing action completed.
     *
     * @event splitterResized
     */
    splitterResized?: base.EmitType<ISplitterResizedEventArgs>;
    /**
     * Triggers when column header element drag (move) starts.
     *
     * @event columnDragStart
     */
    columnDragStart?: base.EmitType<grids.ColumnDragEventArgs>;
    /**
     * Triggers when column header element is dragged (moved) continuously.
     *
     * @event columnDrag
     */
    columnDrag?: base.EmitType<grids.ColumnDragEventArgs>;
    /**
     * Triggers when a column header element is dropped on the target column.
     *
     * @event columnDrop
     */
    columnDrop?: base.EmitType<grids.ColumnDragEventArgs>;
    /**
     * Triggers before tooltip get rendered.
     *
     * @event beforeTooltipRender
     */
    beforeTooltipRender?: base.EmitType<BeforeTooltipRenderEventArgs>;
    /**
     * Triggers before row selection occurs.
     *
     * @event rowSelecting
     */
    rowSelecting?: base.EmitType<RowSelectingEventArgs>;
    /**
     * Triggers after row selection occurs.
     *
     * @event rowSelected
     */
    rowSelected?: base.EmitType<RowSelectEventArgs>;
    /**
     * Triggers before deselecting the selected row.
     *
     * @event rowDeselecting
     */
    rowDeselecting?: base.EmitType<RowDeselectEventArgs>;
    /**
     * Triggers when a selected row is deselected.
     *
     * @event rowDeselected
     */
    rowDeselected?: base.EmitType<RowDeselectEventArgs>;
    /**
     * Triggers before any cell selection occurs.
     *
     * @event cellSelecting
     */
    cellSelecting?: base.EmitType<CellSelectingEventArgs>;
    /**
     * Triggers after a cell is selected.
     *
     * @event cellSelected
     */
    cellSelected?: base.EmitType<grids.CellSelectEventArgs>;
    /**
     * Triggers before the selected cell is deselecting.
     *
     * @event cellDeselecting
     */
    cellDeselecting?: base.EmitType<grids.CellDeselectEventArgs>;
    /**
     * Triggers when a particular selected cell is deselected.
     *
     * @event cellDeselected
     */
    cellDeselected?: base.EmitType<grids.CellDeselectEventArgs>;
    /**
     * This will be triggered before the header cell element is appended to the Grid element.
     *
     * @event queryCellInfo
     */
    queryCellInfo?: base.EmitType<QueryCellInfoEventArgs>;
    /**
     * This will be triggered before the header cell element is appended to the Grid element.
     *
     * @event headerCellInfo
     */
    headerCellInfo?: base.EmitType<grids.HeaderCellInfoEventArgs>;
    /**
     * This will be triggered before the row element is appended to the Grid element.
     *
     * @event rowDataBound
     */
    rowDataBound?: base.EmitType<RowDataBoundEventArgs>;
    /**
     * Triggers before column menu opens.
     *
     * @event columnMenuOpen
     */
    columnMenuOpen?: base.EmitType<grids.ColumnMenuOpenEventArgs>;
    /**
     * Triggers when toolbar item was clicked.
     *
     * @event toolbarClick
     */
    toolbarClick?: base.EmitType<navigations.ClickEventArgs>;
    /**
     * Triggers when click on column menu.
     *
     * @event columnMenuClick
     */
    columnMenuClick?: base.EmitType<grids.ColumnMenuClickEventArgs>;
    /**
     * Triggers before context menu opens.
     *
     * @event contextMenuOpen
     */
    contextMenuOpen?: base.EmitType<ContextMenuOpenEventArgs>;
    /**
     * Triggers when click on context menu.
     *
     * @event contextMenuClick
     */
    contextMenuClick?: base.EmitType<ContextMenuClickEventArgs>;
    /**
     * This event will be triggered when click on taskbar element.
     *
     * @event onTaskbarClick
     */
    onTaskbarClick?: base.EmitType<ITaskbarClickEventArgs>;
    /**
     * This event will be triggered when double click on record.
     *
     * @event recordDoubleClick
     */
    recordDoubleClick?: base.EmitType<RecordDoubleClickEventArgs>;
    /**
     * This event will be triggered when mouse move on Gantt.
     *
     * @event onMouseMove
     */
    onMouseMove?: base.EmitType<IMouseMoveEventArgs>;
    /**
     * Triggers before Gantt data is exported to PDF document.
     *
     * @event beforePdfExport
     */
    beforePdfExport?: base.EmitType<Object>;
    /**
     * Triggers after treegrid.TreeGrid data is exported to PDF document.
     *
     * @event pdfExportComplete
     */
    pdfExportComplete?: base.EmitType<Object>;
    /**
     * Triggers before exporting each cell to PDF document. You can also customize the PDF cells.
     *
     * @event pdfQueryCellInfo
     */
    pdfQueryCellInfo?: base.EmitType<PdfQueryCellInfoEventArgs>;
    /**
     * Triggers before exporting each taskbar to PDF document. You can also customize the taskbar.
     *
     * @event pdfQueryTaskbarInfo
     */
    pdfQueryTaskbarInfo?: base.EmitType<Object>;
    /**
     * Triggers before exporting each cell to PDF document. You can also customize the PDF cells.
     *
     * @event pdfQueryTimelineCellInfo
     */
    pdfQueryTimelineCellInfo?: base.EmitType<PdfQueryTimelineCellInfoEventArgs>;
    /**
     * Triggers before exporting each header cell to PDF document. You can also customize the PDF cells.
     *
     * @event pdfColumnHeaderQueryCellInfo
     */
    pdfColumnHeaderQueryCellInfo?: base.EmitType<PdfColumnHeaderQueryCellInfoEventArgs>;
}
//node_modules/@syncfusion/ej2-gantt/src/gantt/base/gantt-chart.d.ts
/**
 * module to render gantt chart - project view
 */
export  class GanttChart {
    private parent;
    chartElement: HTMLElement;
    chartTimelineContainer: HTMLElement;
    chartBodyContainer: HTMLElement;
    chartBodyContent: HTMLElement;
    rangeViewContainer: HTMLElement;
    scrollElement: HTMLElement;
    scrollObject: ChartScroll;
    isExpandCollapseFromChart: boolean;
    isExpandAll: boolean;
    isCollapseAll: boolean;
    private focusedElement;
    focusedRowIndex: number;
    debounceTimeoutNext: number;
    debounceTimeout: number;
    private isGanttElement;
    keyboardModule: base.KeyboardEvents;
    targetElement: Element;
    previousPinchDistance: number;
    virtualRender: VirtualContentRenderer;
    isEditableElement: boolean;
    tempNextElement: any;
    nextElementIndex: number;
    childrenIndex: number;
    private currentToolbarIndex;
    private initPinchDistance;
    private isPinching;
    private preventScrollIntoView;
    constructor(parent: Gantt);
    private addEventListener;
    private renderChartContents;
    /**
     * Method to render top level containers in Gantt chart
     *
     * @returns {void} .
     * @private
     */
    renderChartContainer(): void;
    /**
     * method to render timeline, holidays, weekends at load time
     *
     * @returns {void} .
     */
    private renderInitialContents;
    /**
     * @returns {void} .
     * @private
     */
    renderOverAllocationContainer(): void;
    private renderChartElements;
    /**
     * @param {IGanttData[]} records .
     * @returns {void} .
     * @private
     */
    renderRangeContainer(records: IGanttData[]): void;
    private getTopValue;
    private getHierarchyChildRecords;
    private collectHierarchyChildren;
    private getRangeHeight;
    private calculateCollapsedRowHeight;
    private calculateHierarchyChildLength;
    private calculateExpandedRowHeight;
    private renderRange;
    /**
     * @returns {void} .
     * @private
     */
    renderTimelineContainer(): void;
    /**
     * initiate chart container
     *
     * @returns {void} .
     */
    private renderBodyContainers;
    /**
     * @returns {void} .
     * @private
     */
    updateWidthAndHeight(): void;
    private setVirtualHeight;
    /**
     * Method to update bottom border for chart rows
     *
     * @returns {void} .
     */
    updateLastRowBottomWidth(): void;
    private removeEventListener;
    /**
     * Click event handler in chart side
     *
     * @param {PointerEvent} e .
     * @returns {void} .
     */
    private ganttChartMouseDown;
    private calculatePinchDistance;
    private ganttChartMouseClick;
    private ganttChartMouseUp;
    /**
     *
     * @param {PointerEvent} e .
     * @returns {void} .
     */
    private scrollToTarget;
    /**
     * To focus selected task in chart side
     *
     * @param {number} scrollLeft .
     * @returns {void} .
     * @private
     */
    updateScrollLeft(scrollLeft: number): void;
    /**
     *  Method trigger while perform mouse up action.
     *
     * @param {PointerEvent} e .
     * @returns {void}
     * @private
     */
    private mouseUp;
    /**
     *  Method trigger while perform mouse up action.
     *
     * @param {PointerEvent} e .
     * @returns {void} .
     * @private
     */
    private documentMouseUp;
    /**
     * This event triggered when click on taskbar element
     *
     * @param {PointerEvent | base.KeyboardEventArgs} e .
     * @param {EventTarget} target .
     * @param {Element} taskbarElement .
     * @returns {void}
     */
    onTaskbarClick(e: PointerEvent | base.KeyboardEventArgs, target: EventTarget, taskbarElement: Element): void;
    /**
     *  Method trigger while perform mouse leave action.
     *
     * @param {PointerEvent} e .
     * @returns {void} .
     * @private
     */
    private ganttChartLeave;
    /**
     *  Method trigger while perform mouse move action.
     *
     * @param {PointerEvent} e .
     * @returns {void} .
     * @private
     */
    private ganttChartMove;
    /**
     *  Method trigger while perform right click action.
     *
     * @param {PointerEvent} e .
     * @returns {void} .
     * @private
     */
    private contextClick;
    /**
     * Method to trigger while perform mouse move on Gantt.
     *
     * @param {PointerEvent} e .
     * @returns {void} .
     * @private
     */
    mouseMoveHandler(e: PointerEvent): void;
    /**
     * Double click handler for chart
     *
     * @param {PointerEvent} e .
     * @returns {void} .
     */
    private doubleClickHandler;
    /**
     * To trigger record double click event.
     *
     * @param {RecordDoubleClickEventArgs} args .
     * @returns {void} .
     * @private
     */
    recordDoubleClick(args: RecordDoubleClickEventArgs): void;
    /**
     * @param {PointerEvent | base.KeyboardEventArgs} e .
     * @returns {IGanttData} .
     * @private
     */
    getRecordByTarget(e: PointerEvent | base.KeyboardEventArgs): IGanttData;
    /**
     * To get gantt chart row elements
     *
     * @returns {NodeListOf<Element>} .
     * @private
     */
    getChartRows(): NodeListOf<Element>;
    /**
     * Expand Collapse operations from gantt chart side
     *
     * @param {PointerEvent} e .
     * @returns {void} .
     * @private
     */
    private chartExpandCollapseRequest;
    /**
     * @returns {void} .
     * @private
     */
    reRenderConnectorLines(): void;
    /**
     * To collapse gantt rows
     *
     * @param {object} args .
     * @param {boolean} isCancel .
     * @returns {void} .
     * @private
     */
    collapseGanttRow(args: object): void;
    /**
     * @returns {void} .
     * @param {object} args .
     * @private
     */
    collapsedGanttRow(args: object): void;
    /**
     * To expand gantt rows
     *
     * @returns {void} .
     * @param {object} args .
     * @param {boolean} isCancel .
     * @private
     */
    expandGanttRow(args: object): void;
    /**
     * @returns {void} .
     * @param {object} args .
     * @private
     */
    expandedGanttRow(args: object): void;
    private renderMultiTaskbar;
    /**
     * On expand collapse operation row properties will be updated here.
     *
     * @param {string} action .
     * @param {Node} rowElement .
     * @param {IGanttData} record .
     * @param {boolean} isChild .
     * @returns {void} .
     * @private
     */
    private expandCollapseChartRows;
    /**
     * Public method to expand or collapse all the rows of Gantt
     *
     * @returns {void}
     * @param {string} action .
     * @private
     */
    expandCollapseAll(action: string): void;
    /**
     * Public method to expand particular level of rows.
     *
     * @returns {void} .
     * @param {number} level .
     * @private
     */
    expandAtLevel(level: number): void;
    /**
     * Public method to collapse particular level of rows.
     *
     * @returns {void} .
     * @param {number} level .
     * @private
     */
    collapseAtLevel(level: number): void;
    /**
     * Event Binding for gantt chart click
     *
     * @returns {void} .
     */
    private wireEvents;
    private unWireEvents;
    private onWheelZoom;
    /**
     * To get record by taskbar element.
     *
     * @param {Element} target .
     * @returns {IGanttData} .
     * @private
     */
    getRecordByTaskBar(target: Element): IGanttData;
    private updateElement;
    /**
     * Trigger Tab & Shift + Tab keypress to highlight active element.
     *
     * @param {base.KeyboardEventArgs} e .
     * @returns {void} .
     * @private
     */
    onTabAction(e: base.KeyboardEventArgs): void;
    /**
     * Get next/previous sibling element.
     *
     * @param {Element} $target .
     * @param {boolean} isTab .
     * @param {boolean} isInEditedState .
     * @returns {Element | string} .
     */
    private getNextElement;
    /**
     * Get next/previous row element.
     *
     * @param {number} rowIndex .
     * @param {boolean} isTab .
     * @param {boolean} isChartRow .
     * @returns {Element} .
     */
    private getNextRowElement;
    /**
     * Validate next/previous sibling element haschilds.
     *
     * @param {Element} $target .
     * @param {string} className .
     * @returns {boolean} .
     */
    private validateNextElement;
    /**
     * Getting child element based on row element.
     *
     * @param {Element} rowElement .
     * @param {boolean} isTab .
     * @returns {Element | string} .
     */
    private getChildElement;
    /**
     * Add/Remove active element.
     *
     * @private
     * @param {HTMLElement} element .
     * @param {string} focus .
     * @param {boolean} isChartElement .
     * @param {string} keyAction .
     * @returns {void} .
     */
    manageFocus(element: HTMLElement, focus: string, isChartElement?: boolean, keyAction?: string): void;
    /**
     * To get index by taskbar element.
     *
     * @param {Element} target .
     * @returns {number} .
     * @private
     */
    getIndexByTaskBar(target: Element): number;
    private destroy;
}
//node_modules/@syncfusion/ej2-gantt/src/gantt/base/enum.d.ts
/**
 * To define duration unit for whole project
 * ```props
 * * Minute :- To define unit value of duration as minute.
 * * Hour :- To define unit value of duration as hour.
 * * Day :- To define unit value of duration as day.
 * ```
 */
export  type DurationUnit = 'Minute' | 'Hour' | 'Day';
/**
 * To define grid lines in Gantt
 * ```props
 * * Horizontal :- Define horizontal lines.
 * * Vertical :- Define vertical lines.
 * * Both :- Define both horizontal and vertical lines.
 * * None :- Define no lines.
 * ```
 */
export  type GridLine = 'Horizontal' | 'Vertical' | 'Both' | 'None';
/**
 * To define the day of a week
 * ```props
 * * Monday :- To define the day as Monday.
 * * Tuesday :- To define the day as Tuesday.
 * * Wednesday :- To define the day as Wednesday.
 * * Thursday :- To define the day as Thursday.
 * * Friday :- To define the day as Friday.
 * * Saturday :- To define the day as Saturday.
 * * Sunday :- To define the day as Sunday.
 * ```
 */
export  type DayOfWeek = 'Monday' | 'Tuesday' | 'Wednesday' | 'Thursday' | 'Friday' | 'Saturday' | 'Sunday';
/**
 * To define toolbar items in Gantt
 * ```props
 * * Add :- Add new record.
 * * Delete :- Delete selected record.
 * * Update :- Update edited record.
 * * Cancel :- Cancel the edited state.
 * * Edit :- Edit the selected record.
 * * Search :- Searches the grid records by given key.
 * * ExpandAll :- Expand all the parents.
 * * CollapseAll :- Collapse all the parents.
 * * PrevTimeSpan :- Move HScroll to prevTimeSpan.
 * * NextTimeSpan :- Move HScroll to nextTimeSpan.
 * * ZoomIn :- To perform Zoom in action on Gantt timeline.
 * * ZoomOut :- To perform zoom out action on Gantt timeline.
 * * ZoomToFit :- To show all project task in available chart width.
 * * ExcelExport :- To export Gantt in excel sheet.
 * * CsvExport :- To export Gantt in CSV.
 * * PdfExport :- To export Gantt in PDF.
 * * Indent :- To indent a selected record.
 * * Outdent :- To outdent a selected record.
 * * CriticalPath :- To enable critical path.
 * * Undo :- To enable undo action.
 * * Redo :- To enable redo action.
 * ```
 */
export  type ToolbarItem = 'Add' | 'Delete' | 'Update' | 'Cancel' | 'Edit' | 'Search' | 'ExpandAll' | 'CollapseAll' | 'PrevTimeSpan' | 'NextTimeSpan' | 'ZoomIn' | 'ZoomOut' | 'ZoomToFit' | 'ExcelExport' | 'CsvExport' | 'PdfExport' | 'Indent' | 'Outdent' | 'CriticalPath' | 'Undo' | 'Redo';
/**
 * Defines the Undo Redo actions. They are
 * ```props
 * * Sorting :- Define the sorting action in undo/redo.
 * * ColumnReorder :- Define the columnReorder action in undo/redo.
 * * ColumnResize :- Define the columnResize action in undo/redo.
 * * Delete :- Define the Delete action in undo/redo.
 * * Edit :- Define the Edit action in undo/redo.
 * * Add :- Define the Add action in undo/redo.
 * * Search :- Define the search action in undo/redo.
 * * Filtering :- Define the Filtering action in undo/redo.
 * * ZoomIn :- Define the ZoomIn action in undo/redo.
 * * ZoomOut :- Define the ZoomOut action in undo/redo.
 * * ZoomToFit :- Define the ZoomToFit action in undo/redo.
 * * ColumnState :- Define the ColumnState action in undo/redo.
 * * PreviousTimeSpan :- Define the PreviousTimeSpan action in undo/redo.
 * * NextTimeSpan :- Define the NextTimeSpan action in undo/redo.
 * * Indent :- Define the Indent action in undo/redo.
 * * Outdent :- Define the Outdent action in undo/redo.
 * * RowDragAndDrop :- Define the RowDragAndDrop action in undo/redo.
 * * TaskbarDragAndDrop :- Define the TaskbarDragAndDrop action in undo/redo.
 * ```
 */
export  type GanttAction = 'Sorting' | 'ColumnReorder' | 'ColumnResize' | 'Delete' | 'Edit' | 'Add' | 'Search' | 'Filtering' | 'ZoomIn' | 'ZoomOut' | 'ZoomToFit' | 'ColumnState' | 'PreviousTimeSpan' | 'NextTimeSpan' | 'Indent' | 'Outdent' | 'RowDragAndDrop' | 'TaskbarDragAndDrop';
/**
 * Defines the schedule header mode. They are
 * ```props
 * * None :- Define the default mode header.
 * * 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.
 * ```
 */
export  type TimelineViewMode = 'None' | 'Week' | 'Day' | 'Hour' | 'Month' | 'Year' | 'Minutes';
/**
 * Defines modes of editing.
 * ```props
 * * Auto :- Defines Cell editing in TreeGrid and dialog in chart side.
 * * Dialog :- Defines EditMode as Dialog.
 * ```
 */
export  type EditMode = 'Auto' | 'Dialog';
/**
 * Defines the default items of Column menu
 * ```props
 * * SortAscending :- Sort the current column in ascending order.
 * * SortDescending :- Sort the current column in descending order.
 * * AutoFitAll :- Auto fit the size of all columns.
 * * AutoFit :- Auto fit the current column.
 * * ColumnChooser :- show the column chooser.
 * * Filter :- show the Filter popup.
 * ```
 */
export  type ColumnMenuItem = 'SortAscending' | 'SortDescending' | 'AutoFit' | 'AutoFitAll' | 'ColumnChooser' | 'Filter';
/**
 * Defines tab container type in add or edit dialog
 * ```props
 * * 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.
 * * Segments :- Defines tab as task segments editor.
 * ```
 */
export  type DialogFieldType = 'General' | 'Dependency' | 'Resources' | 'Notes' | 'Custom' | 'Segments';
/**
 * Defines filter type of Gantt
 * ```props
 * * Menu :- Defines filter type as menu.
 * * Excel :- Specifies the filtersetting type as excel.
 * ```
 */
export  type FilterType = 'Menu' | 'Excel';
/**
 * To define hierarchy mode on filter action
 * ```props
 * * 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.
 * ```
 */
export  type FilterHierarchyMode = 'Parent' | 'Child' | 'Both' | 'None';
/**
 * To define hierarchy mode on search action
 * ```props
 * * 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.
 * ```
 */
export  type SearchHierarchyMode = 'Parent' | 'Child' | 'Both' | 'None';
/**
 * To define initial view of Gantt
 * ```props
 * * Default :- Shows grid side and side of Gantt.
 * * Grid :- Shows grid side alone in Gantt.
 * * Chart :- Shows chart side alone in Gantt.
 * ```
 */
export  type SplitterView = 'Default' | 'Grid' | 'Chart';
/**
 * To define new position for add action
 * ```props
 * * Top :- Defines new row position as top of all rows.
 * * Bottom :- Defines new row position as bottom of all rows.
 * * Above :- Defines new row position as above the selected row.
 * * Below :- Defines new row position as below the selected row.
 * * Child :- Defines new row position as child to the selected row.
 * ```
 */
export  type RowPosition = 'Top' | 'Bottom' | 'Above' | 'Below' | 'Child';
/**
 * Defines directions of Sorting. They are
 * ```props
 * * Ascending :- Defines SortDirection as Ascending.
 * * Descending :- Defines SortDirection as Descending.
 * ```
 */
export  type SortDirection = 'Ascending' | 'Descending';
/**
 * Defines predefined contextmenu items.
 *
 * ```props
 * * AutoFitAll :- Defines Auto fit the size of all columns.
 * * AutoFit :- Defines Auto fit the current column.
 * * SortAscending :- Defines SortDirection as Ascending.
 * * SortDescending :- Defines SortDirection as Descending.
 * * TaskInformation :- Defines the Task details.
 * * Add :- Defines the new record on add action.
 * * Save :- Defines the save the modified values.
 * * Cancel :- Defines the cancel the modified values.
 * * DeleteTask :- Defines the delete task.
 * * DeleteDependency :- Defines the delete dependency task.
 * * Convert :- Defines the convert to task or milestone.
 * * Split Task :- Defines the split a task or segment into two segmentse.
 * * Merge Task :- Defines the merge two segments into one segment.
 * ```
 *
 * @hidden
 */
export  type ContextMenuItem = 'AutoFitAll' | 'AutoFit' | 'SortAscending' | 'SortDescending' | 'TaskInformation' | 'Add' | 'Save' | 'Cancel' | 'DeleteTask' | 'DeleteDependency' | 'Convert' | 'Split Task' | 'Merge Task';
/**
 * Defines contextmenu types.
 *
 * ```props
 * * Header :- Defines the header type context menu.
 * * Content :- Defines the content type context menu.
 * ```
 *
 * @hidden
 */
export  type ContextMenuType = 'Header' | 'Content';
/**
 * To define work unit for whole project
 * ```props
 * * Minute :- To define unit value of work as minute.
 * * Hour :- To define unit value of work as hour.
 * * Day :- To define unit value of work as day.
 * ```
 */
export  type WorkUnit = 'Minute' | 'Hour' | 'Day';
/**
 * To define task type for task
 * ```props
 * * FixedUnit :- To define task type as fixedUnit.
 * * FixedWork :- To define task type as fixedWork.
 * * FixedDuration :- To define task type as fixedDuration.
 * ```
 */
export  type TaskType = 'FixedUnit' | 'FixedWork' | 'FixedDuration';
/**
 * Defines PDF page Size.
 * ```props
 * * Letter :- Letter size
 * * Note :- Note size
 * * Legal :- Legal size
 * * A0 :- A0 size
 * * A1 :- A1 size
 * * A2 :- A2 size
 * * A3 :- A3 size
 * * A4 :- A4 size
 * * A5 :- A5 size
 * * A6 :- A6 size
 * * A7 :- A7 size
 * * A8 :- A8 size
 * * A9 :- A9 size
 * * B0 :- B0 size
 * * B1 :- B1 size
 * * B2 :- B2 size
 * * B3 :- B3 size
 * * B4 :- B4 size
 * * B5 :- B5 size
 * * Archa :- Arch A size
 * * Archb :- Arch B size
 * * Archc :- Arch C size
 * * Archd :- Arch D size
 * * Arche :- Arch E size
 * * Flsa :- Flsa size
 * * HalfLetter :- HalfLetter size
 * * Letter11x17 :- Letter11x17 size
 * * Ledger :- Ledger size
 * ```
 */
export  type PdfPageSize = 'Letter' | 'Note' | 'Legal' | 'A0' | 'A1' | 'A2' | 'A3' | 'A4' | 'A5' | 'A6' | 'A7' | 'A8' | 'A9' | 'B0' | 'B1' | 'B2' | 'B3' | 'B4' | 'B5' | 'Archa' | 'Archb' | 'Archc' | 'Archd' | 'Arche' | 'Flsa' | 'HalfLetter' | 'Letter11x17' | 'Ledger';
/**
 * Defines PDF page orientation.
 * ```props
 * * Landscape :- Landscape Orientation.
 * * Portrait :- Portrait Orientation.
 * ```
 */
export  type PageOrientation = 'Landscape' | 'Portrait';
/**
 * Defines the PDF dash style.
 * ```props
 * * Solid :- Solid DashStyle
 * * Dash :- Dash DashStyle
 * * Dot :- Dot DashStyle
 * * DashDot :- DashDot DashStyle
 * * DashDotDot :- DashDotDot DashStyle
 * ```
 */
export  type PdfDashStyle = 'Solid' | 'Dash' | 'Dot' | 'DashDot' | 'DashDotDot';
/**
 * Defines PDF horizontal alignment.
 * ```props
 * * Left :- Aligns PDF content to left.
 * * Right :- Aligns PDF content to right.
 * * Center :- Aligns PDF content to center.
 * * Justify :- Aligns PDF content to justify.
 * ```
 */
export  type PdfHAlign = 'Left' | 'Right' | 'Center' | 'Justify';
/**
 * Defines PDF vertical alignment.
 * ```props
 * * Top :- Aligns PDF content to top.
 * * Bottom :- Aligns PDF content to bottom.
 * * Middle :- Aligns PDF content to middle.
 * ```
 */
export  type PdfVAlign = 'Top' | 'Bottom' | 'Middle';
/**
 * Defines Export Type.
 * ```props
 * * CurrentViewData :- Current view data in gantt is exported.
 * * AllData :- All data of the gantt is exported.
 * ```
 */
export  type ExportType = 'CurrentViewData' | 'AllData';
/**
 * Defines the exporting theme
 * ```props
 * * Material :- Material theme.
 * * Fabric :- Fabric theme.
 * * Bootstrap :- Bootstrap theme.
 * * Bootstrap 4 :- Bootstrap 4 theme.
 * ```
 */
export  type PdfTheme = 'Material' | 'Fabric' | 'Bootstrap' | 'Bootstrap 4';
/**
 * @hidden
 */
export  type CObject = {
    [key: string]: Object;
};
/**
 * To define schedule mode of Gantt
 * ```props
 * * Auto :- Tasks are displayed in auto scheduled mode.
 * * Manual :- Tasks are displayed in manual scheduled mode.
 * * Custom :- Tasks are displayed in custom scheduled mode.
 * ```
 */
export  type ScheduleMode = 'Auto' | 'Manual' | 'Custom';
export  type ViewType = 'ProjectView' | 'ResourceView';
/**
 * Defines PDF ContentType.
 * ```props
 * * Image :- PDF content is Image type
 * * Line :- PDF content is Line type
 * * PageNumber :- PDF content is PageNumber type
 * * Text :- PDF content is Text type
 * ```
 */
export  type ContentType = 'Image' | 'Line' | 'PageNumber' | 'Text';
/**
 * Defines PDF PageNumber Type.
 * ```props
 * * LowerLatin :- LowerCase Latin pageNumber
 * * LowerRoman :- LowerCase Roman pageNumber
 * * UpperLatin :- UpperCase Latin pageNumber
 * * UpperRoman :- UpperCase Roman pageNumber
 * * Numeric :- Numeric pageNumber
 * * Arabic :- Arabic pageNumber
 * ```
 */
export  type PdfPageNumberType = 'LowerLatin' | 'LowerRoman' | 'UpperLatin' | 'UpperRoman' | 'Numeric' | 'Arabic';
//node_modules/@syncfusion/ej2-gantt/src/gantt/base/date-processor.d.ts
/**
 *  Date processor is used to handle date of task data.
 */
export  class DateProcessor {
    protected parent: Gantt;
    private prevProjectStartDate;
    private fromSegments;
    private mondayTimeRangeLength;
    private tuesdayTimeRangeLength;
    private wednesdayTimeRangeLength;
    private thursdayTimeRangeLength;
    private fridayTimeRangeLength;
    private saturdayTimeRangeLength;
    private sundayTimeRangeLength;
    constructor(parent: Gantt);
    /**
     * @param {ITaskData} ganttProp .
     * @returns {boolean} .
     */
    private isValidateNonWorkDays;
    /**
     * Method to convert given date value as valid start date
     *
     * @param {Date} date .
     * @param {ITaskData} ganttProp .
     * @param {boolean} validateAsMilestone .
     * @param {boolean} isLoad .
     * @returns {Date} .
     * @private
     */
    checkStartDate(date: Date, ganttProp?: ITaskData, validateAsMilestone?: boolean, isLoad?: boolean): Date;
    /**
     * To update given date value to valid end date
     *
     * @param {Date} date .
     * @param {ITaskData} ganttProp .
     * @param {boolean} validateAsMilestone .
     * @returns {Date} .
     * @private
     */
    checkEndDate(date: Date, ganttProp?: ITaskData, validateAsMilestone?: boolean): Date;
    /**
     * To validate the baseline start date
     *
     * @param {Date} date .
     * @param {ITaskData} ganttProp .
     * @returns {Date} .
     * @private
     */
    checkBaselineStartDate(date: Date, ganttProp?: ITaskData): Date;
    /**
     * To validate baseline end date
     *
     * @param {Date} date .
     * @param {ITaskData} ganttProp .
     * @returns {Date} .
     * @private
     */
    checkBaselineEndDate(date: Date, ganttProp?: ITaskData): Date;
    /**
     * To calculate start date value from duration and end date
     *
     * @param {IGanttData} ganttData - Defines the gantt data.
     * @returns {void} .
     * @private
     */
    calculateStartDate(ganttData: IGanttData): void;
    /**
     *
     * @param {IGanttData} ganttData - Defines the gantt data.
     * @returns {void} .
     * @private
     */
    calculateEndDate(ganttData: IGanttData): void;
    totalDuration(segments: ITaskSegment[]): number;
    /**
     * To calculate duration from start date and end date
     *
     * @param {IGanttData} ganttData - Defines the gantt data.
     * @returns {void} .
     */
    calculateDuration(ganttData: IGanttData): void;
    /**
     *
     * @param {Date} sDate Method to get total nonworking time between two date values
     * @param {Date} eDate .
     * @param {boolean} isAutoSchedule .
     * @param {boolean} isCheckTimeZone .
     * @returns {number} .
     */
    private getNonworkingTime;
    private nonWorkingSeconds;
    /**
     *
     * @param {Date} startDate .
     * @param {Date} endDate .
     * @param {string} durationUnit .
     * @param {boolean} isAutoSchedule .
     * @param {boolean} isMilestone .
     * @param {boolean} isCheckTimeZone .
     * @returns {number} .
     * @private
     */
    getDuration(startDate: Date, endDate: Date, durationUnit: string, isAutoSchedule: boolean, isMilestone: boolean, isCheckTimeZone?: boolean): number;
    /**
     *
     * @param {number} duration .
     * @param {string} durationUnit .
     * @param {Date} date .
     *  @returns {number} .
     */
    private getDurationAsSeconds;
    /**
     * To get date from start date and duration
     *
     * @param {Date} startDate .
     * @param {number} duration .
     * @param {string} durationUnit .
     * @param {ITaskData} ganttProp .
     * @param {boolean} validateAsMilestone .
     * @returns {Date} .
     * @private
     */
    getEndDate(startDate: Date, duration: number, durationUnit: string, ganttProp: ITaskData, validateAsMilestone: boolean): Date;
    /**
     * Calculate start date based on end date and duration.
     *
     * @param {Date} endDate - To calculate start date value from end date and duration.
     * @param {number} duration - The duration value.
     * @param {string} durationUnit - The unit of duration.
     * @param {ITaskData} ganttProp - The Gantt task properties.
     * @param {boolean} fromValidation - A flag indicating if the calculation is from validation.
     * @returns {Date} The calculated start date.
     * @private
     */
    getStartDate(endDate: Date, duration: number, durationUnit: string, ganttProp: ITaskData, fromValidation?: boolean): Date;
    private calculateSecondDuration;
    /**
     * @param {ITaskData} ganttProp .
     * @param {boolean} isLoad .
     * @returns {Date} .
     * @private
     */
    protected getProjectStartDate(ganttProp: ITaskData, isLoad?: boolean): Date;
    /**
     * @param {ITaskData} ganttProp .
     * @param {boolean} isAuto .
     * @returns {Date} .
     * @private
     */
    getValidStartDate(ganttProp: ITaskData, isAuto?: boolean): Date;
    /**
     *
     * @param {ITaskData} ganttProp .
     * @param {boolean} isAuto .
     * @returns {Date} .
     * @private
     */
    getValidEndDate(ganttProp: ITaskData, isAuto?: boolean): Date;
    private getWorkingTime;
    private assignStartTime;
    private assignEndTime;
    private calculateWeekWorkTime;
    /**
     * @returns {number} .
     * @private
     */
    getSecondsPerDay(): number;
    /**
     *
     * @param {string} value .
     * @param {boolean} isFromDialog .
     * @returns {object} .
     * @private
     */
    getDurationValue(value: string | number, isFromDialog?: boolean): Object;
    /**
     *
     * @param {Date} date .
     * @returns {Date} .
     */
    protected getNextWorkingDay(date: Date): Date;
    /**
     * get weekend days between two dates without including args dates
     *
     * @param {Date} startDate .
     * @param {Date} endDate .
     * @returns {number} .
     */
    protected getWeekendCount(startDate: Date, endDate: Date): number;
    /**
     *
     * @param {Date} startDate .
     * @param {Date} endDate .
     * @param {boolean} isCheckTimeZone .
     * @returns {number} .
     */
    protected getNumberOfSeconds(startDate: Date, endDate: Date, isCheckTimeZone: boolean): number;
    /**
     *
     * @param {Date} startDate .
     * @param {Date} endDate .
     * @returns {number} .
     */
    protected getHolidaysCount(startDate: Date, endDate: Date): number;
    /**
     * @returns {number[]} .
     * @private
     */
    getHolidayDates(): number[];
    /**
     * @param {Date} date .
     * @param {boolean} checkWeekEnd .
     * @returns {boolean} .
     * @private
     */
    isOnHolidayOrWeekEnd(date: Date, checkWeekEnd: boolean): boolean;
    /**
     * To calculate non working times in given date
     *
     * @param {Date} startDate .
     * @param {Date} endDate .
     * @param {boolean} isAutoSchedule .
     * @returns {number} .
     */
    protected getNonWorkingSecondsOnDate(startDate: Date, endDate: Date, isAutoSchedule: boolean): number;
    /**
     *
     * @param {Date} date .
     * @returns {Date} .
     */
    protected getPreviousWorkingDay(date: Date): Date;
    /**
     * To get non-working day indexes.
     *
     * @returns {void} .
     * @private
     */
    getNonWorkingDayIndex(): void;
    /**
     *
     * @param {number} seconds .
     * @param {Date} date .
     * @returns {void} .
     * @private
     */
    setTime(seconds: number, date: Date): void;
    /**
     * @param {Date} startDate .
     * @param {Date} endDate .
     * @param {boolean} isCheckTimeZone .
     * @returns {number} .
     */
    protected getTimeDifference(startDate: Date, endDate: Date, isCheckTimeZone?: boolean): number;
    /**
     * @param {Date} sDate .
     * @param {Date} eDate .
     * @returns {void} .
     */
    protected updateDateWithTimeZone(sDate: Date, eDate: Date): void;
    /**
     *
     * @param {Date} date .
     * @returns {number} .
     */
    protected getSecondsInDecimal(date: Date): number;
    /**
     * @param {Date} date .
     * @param {number} localOffset .
     * @param {string} timezone .
     * @returns {number} .
     * @private
     */
    offset(date: Date, timezone: string): number;
    remove(date: Date, timezone: string): Date;
    reverse(date: Date, fromOffset: number | string, toOffset: number | string): Date;
    /**
     * @param {Date} date .
     * @param {string} timezone .
     * @returns {Date} .
     * @private
     */
    convert(date: Date, timezone: string): Date;
    /**
     * @param {string | Date} date .
     * @param {boolean} toConvert .
     * @returns {Date} .
     * @private
     */
    getDateFromFormat(date: string | Date, toConvert?: boolean): Date;
    /**
     * @param {Date} date1 .
     * @param {Date} date2 .
     * @returns {number} .
     * @private
     */
    compareDates(date1: Date, date2: Date): number;
    /**
     *
     * @param {number} duration .
     * @param {string} durationUnit .
     * @returns {string} .
     * @private
     */
    getDurationString(duration: number, durationUnit: string): string;
    /**
     * Method to get work with value and unit.
     *
     * @param {number} work .
     * @param {string} workUnit .
     * @returns {string} .
     * @private
     */
    getWorkString(work: number | string, workUnit: string): string;
    /**
     *
     * @param {object} editArgs .
     * @returns {void} .
     * @private
     */
    calculateProjectDatesForValidatedTasks(editArgs?: Object): void;
    /**
     *
     * @param {object} editArgs .
     * @returns {void} .
     * @private
     */
    calculateProjectDates(editArgs?: Object): void;
    /**
     *
     * @param {ITaskSegment} segments .
     * @returns {number} .
     * @private
     */
    splitTasksDuration(segments: ITaskSegment[]): number;
}
//node_modules/@syncfusion/ej2-gantt/src/gantt/base/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 ganttSingleTimeline: 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 virtualTable: string;
export  const virtualTrack: string;
export  const leftLabelContainer: string;
export  const leftLabelTempContainer: string;
export  const leftLabelInnerDiv: string;
export  const rightLabelContainer: string;
export  const rightLabelTempContainer: string;
export  const rightLabelInnerDiv: string;
export  const taskBarMainContainer: string;
export  const parentTaskBarInnerDiv: string;
export  const parentProgressBarInnerDiv: string;
export  const taskLabel: string;
export  const childTaskBarInnerDiv: string;
export  const childProgressBarInnerDiv: string;
export  const criticalChildTaskBarInnerDiv: string;
export  const criticalChildProgressBarInnerDiv: string;
export  const criticalMilestone: string;
export  const baselineBar: string;
export  const baselineMilestoneContainer: string;
export  const baselineMilestoneDiv: string;
export  const chartRowCell: string;
export  const chartRow: string;
export  const rowExpand: string;
export  const rowCollapse: string;
export  const collapseParent: string;
export  const collapseMultiTaskBar: string;
export  const taskBarLeftResizer: string;
export  const taskBarRightResizer: string;
export  const childProgressResizer: string;
export  const progressBarHandler: string;
export  const progressHandlerElement: string;
export  const progressBarHandlerAfter: string;
export  const icon: string;
export  const traceMilestone: string;
export  const parentMilestone: string;
export  const traceChildTaskBar: string;
export  const traceChildProgressBar: string;
export  const manualParentMainContainer: string;
export  const manualParentTaskBar: string;
export  const manualParentMilestone: string;
export  const manualChildTaskBar: string;
export  const manualChildProgressBar: string;
export  const manualParentRightResizer: string;
export  const manualParentLeftResizer: string;
export  const traceManualUnscheduledTask: string;
export  const traceParentTaskBar: string;
export  const traceParentProgressBar: string;
export  const traceUnscheduledTask: string;
export  const criticalUnscheduledTask: string;
export  const taskIndicatorDiv: string;
export  const leftResizeGripper: string;
export  const rightResizeGripper: string;
export  const progressResizeGripper: string;
export  const label: string;
export  const templatePadding: 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 connectorLineSVG: string;
export  const criticalConnectorLineSVG: string;
export  const criticalConnectorArrowSVG: string;
export  const connectorLineArrow: string;
export  const criticalConnectorLine: string;
export  const criticalConnectorLineRightArrow: string;
export  const criticalConnectorLineLeftArrow: string;
export  const connectorLineRightArrow: string;
export  const connectorLineLeftArrow: string;
export  const connectorLineZIndex: string;
export  const connectorLineHover: string;
export  const criticalConnectorLineHover: string;
export  const connectorLineHoverZIndex: string;
export  const connectorLineRightArrowHover: string;
export  const connectorLineLeftArrowHover: string;
export  const criticalConnectorLineRightArrowHover: string;
export  const criticalConnectorLineLeftArrowHover: string;
export  const connectorTouchPoint: string;
export  const connectorPointLeft: string;
export  const connectorPointRight: string;
export  const connectorPointLeftHover: string;
export  const connectorPointRightHover: string;
export  const falseLine: string;
export  const connectorTooltipTaskName: string;
export  const connectorTooltipFalse: string;
export  const connectorTooltipTrue: string;
export  const rightConnectorPointOuterDiv: string;
export  const leftConnectorPointOuterDiv: string;
export  const connectorPointAllowBlock: string;
export  const ganttTooltip: string;
export  const columnHeader: string;
export  const content: string;
export  const editForm: string;
export  const deleteIcon: string;
export  const saveIcon: string;
export  const cancelIcon: string;
export  const ascendingIcon: string;
export  const descendingIcon: string;
export  const editIcon: string;
export  const indentIcon: string;
export  const outdentIcon: string;
export  const addIcon: string;
export  const criticalPathIcon: string;
export  const addAboveIcon: string;
export  const addBelowIcon: string;
export  const activeParentTask: string;
export  const activeChildTask: string;
export  const activeConnectedTask: string;
export  const touchMode: string;
export  const rangeContainer: string;
export  const rangeChildContainer: string;
export  const rangeChildMiddleContainer: string;
//node_modules/@syncfusion/ej2-gantt/src/gantt/base/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/common.d.ts
/**
 * Gantt base related properties
 */
//node_modules/@syncfusion/ej2-gantt/src/gantt/actions/virtual-scroll.d.ts
/**
 * Gantt Virtual Scroll module will handle Virtualization
 *
 * @hidden
 */
export  class VirtualScroll {
    private parent;
    constructor(parent?: Gantt);
    /**
     * Get module name
     *
     * @returns {void} .
     */
    protected getModuleName(): string;
    /**
     * Bind virtual-scroll related properties from Gantt to TreeGrid
     *
     * @returns {void} .
     */
    private bindTreeGridProperties;
    /**
     * @returns {number} .
     * @private
     */
    getTopPosition(): number;
    /**
     * To destroy the virtual scroll module.
     *
     * @returns {void} .
     * @private
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-gantt/src/gantt/actions/undo-redo.d.ts
export  class UndoRedo {
    private parent;
    constructor(parent: Gantt);
    private isUndoRedoPerformed;
    private changedRecords;
    previousZoomingLevel: Object;
    private getRedoCollection;
    private getUndoCollection;
    private currentAction;
    private redoEnabled;
    private previousSortedColumns;
    private searchString;
    private isFromUndoRedo;
    private canUpdateIndex;
    private sortedColumnsLength;
    /**
     *Initiates an undo action to revert the most recent change performed.
     *
     * @returns {void}
     * @public
     */
    private undoAction;
    /**
     *Initiates an redo action to reapply the most recent undone change performed.
     *
     * @returns {void}
     * @public
     */
    private redoAction;
    private createUndoCollection;
    private disableRedo;
    private findPosition;
    getModuleName(): string;
    /**
     * Destroys the UndoRedo of Gantt.
     *
     * @returns {void} .
     * @private
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-gantt/src/gantt/actions/toolbar.d.ts
/**
 * Toolbar action related code goes here
 */
export  class Toolbar {
    private parent;
    private predefinedItems;
    private id;
    toolbar: navigations.Toolbar;
    private items;
    element: HTMLElement;
    private searchElement;
    constructor(parent: Gantt);
    private getModuleName;
    /**
     * @returns {void} .
     * @private
     */
    renderToolbar(): void;
    private addReactToolbarPortals;
    private createToolbar;
    private getSearchBarElement;
    private wireEvent;
    private propertyChanged;
    private unWireEvent;
    private keyUpHandler;
    private focusHandler;
    private blurHandler;
    /**
     * Method to set value for search input box
     *
     * @returns {void} .
     * @hidden
     */
    updateSearchTextBox(): void;
    private getItems;
    private getItem;
    private getItemObject;
    private toolbarClickHandler;
    /**
     *
     * @returns {void} .
     * @private
     */
    zoomIn(): void;
    /**
     *
     * @returns {void} .
     * @private
     */
    zoomToFit(): void;
    /**
     *
     * @returns {void} .
     * @private
     */
    zoomOut(): void;
    /**
     * To refresh toolbar items bases current state of tasks
     *
     * @param {grids.RowSelectEventArgs} args .
     * @returns {void} .
     */
    refreshToolbarItems(args?: grids.RowSelectEventArgs): void;
    /**
     * Enables or disables ToolBar items.
     *
     * @param {string[]} items - Defines the collection of itemID of ToolBar items.
     * @param {boolean} isEnable - Defines the items to be enabled or disabled.
     * @returns {void} .
     * @hidden
     */
    enableItems(items: string[], isEnable: boolean): void;
    /**
     * Destroys the Sorting of TreeGrid.
     *
     * @function destroy
     * @returns {void} .
     * @private
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-gantt/src/gantt/actions/taskbar-edit.d.ts
/**
 * File for handling taskbar editing operation in Gantt.
 */
export  class TaskbarEdit extends DateProcessor {
    protected parent: Gantt;
    taskBarEditElement: HTMLElement;
    taskBarEditRecord: IGanttData;
    taskBarEditAction: string;
    roundOffDuration: boolean;
    private droppedTarget;
    leftValue: number;
    private previousLeftValue;
    private mouseDownX;
    private mouseDownY;
    mouseMoveX: number;
    mouseMoveY: number;
    previousItem: ITaskData;
    previousItemProperty: string[];
    taskbarEditedArgs: ITaskbarEditedEventArgs;
    private progressBorderRadius;
    private scrollTimer;
    timerCount: number;
    dragMouseLeave: boolean;
    tooltipPositionX: number;
    isMouseDragged: boolean;
    private falseLine;
    connectorSecondElement: Element;
    connectorSecondRecord: IGanttData;
    connectorSecondAction: string;
    fromPredecessorText: string;
    toPredecessorText: string;
    finalPredecessor: string;
    dependencyCancel: boolean;
    drawPredecessor: boolean;
    private highlightedSecondElement;
    private editTooltip;
    private isDragged;
    private canDrag;
    private mainElement;
    private currentSegmentIndex;
    private progressValue;
    /** @private */
    tapPointOnFocus: boolean;
    private editElement;
    touchEdit: boolean;
    private prevZIndex;
    private previousMouseMove;
    private elementOffsetLeft;
    private elementOffsetTop;
    private elementOffsetWidth;
    private elementOffsetHeight;
    segmentIndex: number;
    private targetElement;
    currentItemTop: number;
    currentItemPrevTop: number;
    topValue: number;
    draggedRecordMarginTop: string;
    dragMoveY: number;
    private realTaskbarElement;
    private cloneTaskbarElement;
    private taskbarElement;
    private taskbarResizer;
    private currentIndex;
    private currentData;
    private isClonedElement;
    private draggedTreeGridRowElement;
    private draggedTreeGridRowHeight;
    private updatePosition;
    private tooltipValue;
    previousFlatData: object[];
    previousIds: string[];
    private oldData;
    constructor(ganttObj?: Gantt);
    private wireEvents;
    /**
     * To initialize the public property.
     *
     * @returns {void} .
     * @private
     */
    private initPublicProp;
    private mouseDownHandler;
    private mouseClickHandler;
    private showHideActivePredecessors;
    private applyActiveColor;
    private validateConnectorPoint;
    private mouseLeaveHandler;
    /**
     * To update taskbar edited elements on mouse down action.
     *
     * @param {PointerEvent} e .
     * @returns {void} .
     * @private
     */
    updateTaskBarEditElement(e: PointerEvent): void;
    /**
     * To show/hide taskbar editing elements.
     *
     * @param {Element} element .
     * @param {Element} secondElement .
     * @param {boolean} fadeConnectorLine .
     * @returns {void} .
     * @private
     */
    showHideTaskBarEditingElements(element: Element, secondElement: Element, fadeConnectorLine?: boolean): void;
    /**
     * To get taskbar edit actions.
     *
     * @param {PointerEvent} e .
     * @returns {string} .
     * @private
     */
    private getTaskBarAction;
    /**
     * To update property while perform mouse down.
     *
     * @param {PointerEvent} event .
     * @returns {void} .
     * @private
     */
    private updateMouseDownProperties;
    private isMouseDragCheck;
    removeFirstBorder(element: any): void;
    removeLastBorder(element: Element): void;
    private removetopOrBottomBorder;
    private topOrBottomBorder;
    private removeChildBorder;
    private addRemoveClasses;
    private addErrorElem;
    private removeErrorElem;
    ensurePosition(draggedRecords: IGanttData[], currentRecord: IGanttData): void;
    /**
     * To handle mouse move action in chart
     *
     * @param {PointerEvent} event .
     * @returns {void} .
     * @private
     */
    mouseMoveAction(event: PointerEvent): void;
    /**
     * Method to update taskbar editing action on mous move.
     *
     * @param {PointerEvent} e .
     * @param {boolean} isMouseClick .
     * @returns {void} .
     * @private
     */
    taskBarEditingAction(e: PointerEvent, isMouseClick: boolean): void;
    /**
     * To update property while perform mouse move.
     *
     * @param {PointerEvent} event .
     * @returns {void} .
     * @private
     */
    private updateMouseMoveProperties;
    /**
     * To start the scroll timer.
     *
     * @param {string} direction .
     * @returns {void} .
     * @private
     */
    startScrollTimer(direction: string): void;
    /**
     * To stop the scroll timer.
     *
     * @returns {void} .
     * @private
     */
    stopScrollTimer(): void;
    /**
     * To update left and width while perform taskbar drag operation.
     *
     * @param {PointerEvent} e .
     * @returns {void} .
     * @private
     */
    private enableDragging;
    private validateProgressWidth;
    /**
     * To update left and width while perform progress resize operation.
     *
     * @param {PointerEvent} e .
     * @param {number} segmentIndex .
     * @returns {void} .
     * @private
     */
    private performProgressResize;
    /**
     * To update left and width while perform taskbar left resize operation.
     *
     * @param {PointerEvent} e .
     * @returns {void} .
     * @private
     */
    private enableLeftResizing;
    private enableSplitTaskLeftResize;
    /**
     * Update mouse position and edited item value
     *
     * @param {PointerEvent} e .
     * @param {ITaskData} item .
     * @returns {void} .
     */
    private updateEditPosition;
    /**
     *  To update milestone property.
     *
     * @param {ITaskData} item .
     * @returns {void} .
     * @private
     */
    private updateIsMilestone;
    /**
     * To update left and width while perform taskbar right resize operation.
     *
     * @param {PointerEvent} e .
     * @returns {void} .
     * @private
     */
    private enableRightResizing;
    /**
     * To updated startDate and endDate while perform taskbar edit operation.
     *
     * @returns {void} .
     * @private
     */
    private updateEditedItem;
    /**
     * Extracts the maximum end date from a list of predecessor relationships.
     * The end date is selected based on the type of dependency:
     * - FS (Finish to Start) and FF (Finish to Finish): uses the end date.
     * - SS (Start to Start) and SF (Start to Finish): uses the start date.
     *
     * @param {IPredecessor[]} predecessorList - An array of predecessor links to analyze.
     * @returns {{ maxEndDate: Date }} - The latest relevant date among all predecessors.
     */
    private extractEndDates;
    /**
     * Validates whether the given task has a valid dependency configuration.
     * It compares the task's start or end date against the latest required predecessor date
     * and ensures the task starts after all its dependencies are satisfied.
     *
     * @param {IGanttData} record - The Gantt task to validate.
     * @returns {{ isValid: boolean }} - An object indicating if the task's dependencies are valid.
     */
    private isValidDependency;
    private updateChildDrag;
    private updateSplitLeftResize;
    private updateSplitRightResizing;
    sumOfDuration(segments: ITaskSegment[]): number;
    private setSplitTaskDrag;
    /**
     * To get roundoff enddate.
     *
     * @param {ITaskData} ganttRecord .
     * @param {boolean} isRoundOff .
     * @returns {number} .
     * @private
     */
    private getRoundOffEndLeft;
    /**
     * To get roundoff startdate.
     *
     * @param {ITaskData | ITaskSegment} ganttRecord .
     * @param {boolean} isRoundOff .
     * @returns {number} .
     * @private
     */
    getRoundOffStartLeft(ganttRecord: ITaskData | ITaskSegment, isRoundOff: boolean): number;
    /**
     * To get date by left value.
     *
     * @param {number} left .
     * @param {boolean} isMilestone .
     * @param {ITaskData} property .
     * @returns {Date} .
     * @private
     */
    getDateByLeft(left: number, isMilestone?: boolean, property?: ITaskData): Date;
    /**
     * To set item position.
     *
     * @returns {void} .
     * @private
     */
    private setItemPosition;
    /**
     * To handle mouse up event in chart
     *
     * @param {PointerEvent} e .
     * @returns {void} .
     * @private
     */
    mouseUpHandler(e: PointerEvent): void;
    /**
     * To perform taskbar edit operation.
     *
     * @param {PointerEvent} event .
     * @returns {void} .
     * @private
     */
    taskBarEditedAction(event: PointerEvent): void;
    /**
     * To cancel the taskbar edt action.
     *
     * @returns {void} .
     * @private
     */
    cancelTaskbarEditActionInMouseLeave(): void;
    updateSegmentProgress(taskData: ITaskData): void;
    /**
     * To trigger taskbar edited event.
     *
     * @param {ITaskbarEditedEventArgs} arg .
     * @returns {void} .
     * @private
     */
    taskbarEdited(arg: ITaskbarEditedEventArgs): void;
    /**
     * To get progress in percentage.
     *
     * @param {number} parentwidth .
     * @param {number} progresswidth .
     * @returns {number} .
     * @private
     */
    private getProgressPercent;
    /**
     * false line implementation.
     *
     * @returns {void} .
     * @private
     */
    private drawFalseLine;
    /**
     *
     * @param {boolean} isRemoveConnectorPointDisplay .
     * @returns {void} .
     * @private
     */
    removeFalseLine(isRemoveConnectorPointDisplay: boolean): void;
    /**
     *
     * @param {PointerEvent} e .
     * @returns {void} .
     * @private
     */
    updateConnectorLineSecondProperties(e: PointerEvent): void;
    private triggerDependencyEvent;
    private getCoordinate;
    private getElementByPosition;
    private multipleSelectionEnabled;
    private unWireEvents;
    /**
     * @returns {void} .
     * @private
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-gantt/src/gantt/actions/sort.d.ts
/**
 * The Sort module is used to handle sorting action.
 */
export  class Sort {
    parent: Gantt;
    constructor(gantt: Gantt);
    /**
     * For internal use only - Get the module name.
     *
     * @returns {string} .
     * @private
     */
    private getModuleName;
    /**
     * @returns {void} .
     * @private
     */
    private addEventListener;
    /**
     *
     * @returns {void} .
     * @hidden
     */
    private removeEventListener;
    /**
     * Destroys the Sorting of TreeGrid.
     *
     * @returns {void} .
     * @private
     */
    destroy(): void;
    /**
     * Sort a column with given options.
     *
     * @param {string} columnName - Defines the column name to sort.
     * @param {grids.SortDirection} direction - Defines the direction of sort.
     * @param {boolean} isMultiSort - Defines whether the previously sorted columns are to be maintained.
     * @returns {void} .
     */
    sortColumn(columnName: string, direction: grids.SortDirection, isMultiSort?: boolean): void;
    /**
     * Method to clear all sorted columns.
     *
     * @returns {void} .
     */
    clearSorting(): void;
    /**
     * The function used to update sortSettings of TreeGrid.
     *
     * @returns {void} .
     * @hidden
     */
    private updateModel;
    /**
     * To clear sorting for specific column.
     *
     * @param {string} columnName - Defines the sorted column name to remove.
     * @returns {void} .
     */
    removeSortColumn(columnName: string): void;
}
//node_modules/@syncfusion/ej2-gantt/src/gantt/actions/selection.d.ts
/**
 * The Selection module is used to handle cell and row selection.
 */
export  class Selection {
    parent: Gantt;
    selectedRowIndex: number;
    isMultiCtrlRequest: boolean;
    isMultiShiftRequest: boolean;
    isSelectionFromChart: boolean;
    private actualTarget;
    private isInteracted;
    private prevRowIndex;
    private selectedClass;
    private isFromChart;
    private multipleIndexes;
    selectedRowIndexes: number[];
    enableSelectMultiTouch: boolean;
    startIndex: number;
    endIndex: number;
    private openPopup;
    constructor(gantt: Gantt);
    /**
     * Get module
     *
     * @returns {string} .
     */
    private getModuleName;
    private wireEvents;
    /**
     * To update selected index.
     *
     * @returns {void} .
     * @private
     */
    selectRowByIndex(): void;
    /**
     * To bind selection events.
     *
     * @returns {void} .
     * @private
     */
    private bindEvents;
    private rowSelecting;
    private rowSelected;
    private rowDeselecting;
    private rowDeselected;
    private cellSelecting;
    private cellSelected;
    private cellDeselecting;
    private cellDeselected;
    /**
     * Selects a cell by given index.
     *
     * @param  {grids.IIndex} cellIndex - Defines the row and column indexes.
     * @param  {boolean} isToggle - If set to true, then it toggles the selection.
     * @returns {void} .
     */
    selectCell(cellIndex: grids.IIndex, isToggle?: boolean): void;
    /**
     * Selects a collection of cells by row and column indexes.
     *
     * @param  {grids.ISelectedCell[]} rowCellIndexes - Specifies the row and column indexes.
     * @returns {void} .
     */
    selectCells(rowCellIndexes: grids.ISelectedCell[]): void;
    /**
     * Selects a row by given index.
     *
     * @param  {number} index - Defines the row index.
     * @param  {boolean} isToggle - If set to true, then it toggles the selection.
     * @param {boolean} isPreventFocus .
     * @returns {void} .
     */
    selectRow(index: number, isToggle?: boolean, isPreventFocus?: boolean): void;
    /**
     * Selects a collection of rows by indexes.
     *
     * @param  {number[]} records - Defines the collection of row indexes.
     * @returns {void} .
     */
    selectRows(records: number[]): void;
    /**
     * Gets the collection of selected row indexes.
     *
     * @returns {number[]} .
     */
    getSelectedRowIndexes(): number[];
    /**
     * Gets the collection of selected row and cell indexes.
     *
     * @returns {number[]} .
     */
    getSelectedRowCellIndexes(): grids.ISelectedCell[];
    /**
     * Gets the collection of selected records.
     *
     * @returns {Object[]} .
     */
    getSelectedRecords(): Object[];
    /**
     * Get the selected records for cell selection.
     *
     * @returns {IGanttData[]} .
     */
    getCellSelectedRecords(): IGanttData[];
    /**
     * Gets the collection of selected rows.
     *
     * @returns {Element[]} .
     */
    getSelectedRows(): Element[];
    /**
     * Deselects the current selected rows and cells.
     *
     * @returns {void} .
     */
    clearSelection(): void;
    private highlightSelectedRows;
    private getselectedrowsIndex;
    /**
     * Selects a range of rows from start and end row indexes.
     *
     * @param  {number} startIndex - Defines the start row index.
     * @param  {number} endIndex - Defines the end row index.
     * @returns {void} .
     */
    selectRowsByRange(startIndex: number, endIndex?: number): void;
    private addRemoveClass;
    private addClass;
    private removeClass;
    private showPopup;
    /**
     * @returns {void} .
     * @private
     */
    hidePopUp(): void;
    private popUpClickHandler;
    /**
     * Handles the mouse up event on taskbar or row elements in the Gantt chart.
     * @param {PointerEvent} e - The pointer event from the mouseup action.
     * @returns {void}
     * @private
     */
    private mouseUpHandler;
    /**
     * To add class for selected records in virtualization mode.
     *
     * @param {number} i .
     * @returns {void} .
     * @hidden
     */
    maintainSelectedRecords(i: number): void;
    /**
     * To destroy the selection module.
     *
     * @returns {void} .
     * @private
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-gantt/src/gantt/actions/rowdragdrop.d.ts
/**
 * Gantt Excel Export module
 */
export  class RowDD {
    private parent;
    isTest: boolean;
    /** @hidden */
    private ganttData;
    /** @hidden */
    private treeGridData;
    /** @hidden */
    private draggedRecord;
    /** @hidden */
    private updateParentRecords;
    /** @hidden */
    private droppedRecord;
    /** @hidden */
    isaddtoBottom: boolean;
    /** @hidden */
    private previousParent;
    private updateCollection;
    private dropPosition;
    /** @hidden */
    private isSharedTask;
    /** @hidden */
    private canDrop;
    /**
     * Constructor for Excel Export module
     *
     * @param {Gantt} gantt .
     */
    constructor(gantt: Gantt);
    /**
     * For internal use only - Get the module name.
     *
     * @returns {string} .
     * @private
     */
    protected getModuleName(): string;
    /**
     * To destroy excel export module.
     *
     * @returns {void} .
     * @private
     */
    destroy(): void;
    /**
     * To bind excel exporting events.
     *
     * @returns {void} .
     * @private
     */
    private bindEvents;
    private rowDragStart;
    private addErrorElem;
    private removeErrorElem;
    private rowDrag;
    private rowDragStartHelper;
    private rowDrop;
    private dropRows;
    private updateCurrentTask;
    private deleteSharedResourceTask;
    private removeExistingResources;
    private updateSharedResourceTask;
    private _getExistingTaskWithID;
    private removeResourceInfo;
    private refreshDataSource;
    private dropMiddle;
    private recordLevel;
    private deleteDragRow;
    private checkisSharedTask;
    private dropAtTop;
    private updateChildRecordLevel;
    private updateChildRecord;
    private removeRecords;
    private removeChildItem;
    /**
     * Reorder the rows based on given indexes and position
     *
     * @param {number[]} fromIndexes .
     * @param {number} toIndex .
     * @param {string} position .
     * @returns {void} .
     */
    reorderRows(fromIndexes: number[], toIndex: number, position: string): void;
}
//node_modules/@syncfusion/ej2-gantt/src/gantt/actions/pdf-export.d.ts
/**
 *
 * @hidden
 */
export  class PdfExport {
    private parent;
    helper: ExportHelper;
    private pdfDocument;
    gantt: PdfGantt;
    isPdfExport: boolean;
    private isBlob;
    private blobPromise;
    pdfPageDimensions: pdfExport.SizeF;
    pdfPage: pdfExport.PdfPage;
    /**
     * @param {Gantt} parent .
     * @hidden
     */
    constructor(parent?: Gantt);
    /**
     * @returns {string} .
     */
    private getModuleName;
    /**
     * To destroy1 Pdf export module.
     *
     * @returns {void} .
     * @private
     */
    destroy(): void;
    private initGantt;
    /**
     * @param {PdfExportProperties} pdfExportProperties .
     * @param {boolean} isMultipleExport .
     * @param {object} pdfDoc .
     * @param {boolean} isBlob .
     * @returns {Promise<Object>} .
     */
    export(pdfExportProperties?: PdfExportProperties, isMultipleExport?: boolean, pdfDoc?: Object, isBlob?: boolean): Promise<Object>;
    private exportWithData;
    private processExport;
    private processSectionExportProperties;
    getPageSize(pageSize: PdfPageSize): pdfExport.SizeF;
}
//node_modules/@syncfusion/ej2-gantt/src/gantt/actions/keyboard.d.ts
/**
 * Focus module is used to handle certain action on focus elements in keyboard navigations.
 */
export  class FocusModule {
    private parent;
    private activeElement;
    private previousActiveElement;
    private isFromKeyboardAction;
    constructor(parent: Gantt);
    getActiveElement(isPreviousActiveElement?: boolean): HTMLElement;
    setActiveElement(element: HTMLElement): void;
    /**
     * To perform key interaction in Gantt
     *
     * @param {base.KeyboardEventArgs} e .
     * @returns {void} .
     * @private
     */
    onKeyPress(e: base.KeyboardEventArgs): void | boolean;
    private upDownKeyNavigate;
    private expandCollapseKey;
}
//node_modules/@syncfusion/ej2-gantt/src/gantt/actions/filter.d.ts
/**
 * The Filter module is used to handle filter action.
 */
export  class Filter {
    parent: Gantt;
    filterMenuElement: HTMLElement;
    constructor(gantt: Gantt);
    private getModuleName;
    /**
     * Update custom filter for default Gantt columns
     *
     * @returns {void} .
     */
    private updateCustomFilters;
    private updateModel;
    private addEventListener;
    private wireEvents;
    private initiateFiltering;
    /**
     * To get filter menu UI
     *
     * @param {ColumnModel} column .
     * @returns {IFilterMUI} .
     */
    private getCustomFilterUi;
    private mouseClickHandler;
    private unWireEvents;
    private getDatePickerFilter;
    private getDateTimePickerFilter;
    private getDurationFilter;
    /**
     * Remove filter menu while opening column chooser menu
     *
     * @param {ColumnMenuOpenEventArgs} args .
     * @returns {void} .
     */
    private columnMenuOpen;
    private actionBegin;
    closeFilterOnContextClick(element: Element): void;
    private actionComplete;
    private setPosition;
    private updateFilterMenuPosition;
    private removeEventListener;
    /**
     * This method is used to destroy the filter module. When called, it performs any necessary cleanup operations related to the filter module.
     *
     * @returns {void} .
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-gantt/src/gantt/actions/excel-export.d.ts
/**
 * Gantt Excel Export module
 *
 * @hidden
 */
export  class ExcelExport {
    private parent;
    /**
     * Constructor for Excel Export module
     *
     * @param {Gantt} gantt .
     */
    constructor(gantt: Gantt);
    /**
     * For internal use only - Get the module name.
     *
     * @returns {string} .
     * @private
     */
    protected getModuleName(): string;
    /**
     * To destroy11 excel export module.
     *
     * @returns {void} .
     * @private
     */
    destroy(): void;
    /**
     * To bind excel exporting events.
     *
     * @returns {void} .
     * @private
     */
    private bindEvents;
}
//node_modules/@syncfusion/ej2-gantt/src/gantt/actions/edit.d.ts
/**
 * The Edit Module is used to handle editing actions.
 *
 */
export  class Edit {
    private parent;
    private isFromDeleteMethod;
    private targetedRecords;
    private isNewRecordAdded;
    private isValidatedEditedRecord;
    private createArray;
    isFirstCall: boolean;
    isAdded: boolean;
    deletedRecord: IGanttData[];
    private canReset;
    /**
     * @private
     */
    /** @hidden */
    private ganttData;
    /** @hidden */
    private treeGridData;
    /** @hidden */
    private draggedRecord;
    /** @hidden */
    private updateParentRecords;
    /** @hidden */
    private droppedRecord;
    /** @hidden */
    private isTreeGridRefresh;
    /** @hidden */
    isaddtoBottom: boolean;
    /** @hidden */
    addRowPosition: RowPosition;
    /** @hidden */
    addRowIndex: number;
    /** @hidden */
    private dropPosition;
    confirmDialog: popups.Dialog;
    private taskbarMoved;
    private predecessorUpdated;
    newlyAddedRecordBackup: IGanttData;
    isBreakLoop: boolean;
    addRowSelectedItem: IGanttData;
    cellEditModule: CellEdit;
    taskbarEditModule: TaskbarEdit;
    dialogModule: DialogEdit;
    isDialogEditing: boolean;
    private editedRecord;
    constructor(parent?: Gantt);
    private getModuleName;
    /**
     * Method to update default edit params and editors for Gantt
     *
     * @returns {void} .
     */
    private updateDefaultColumnEditors;
    /**
     * Method to update editors for id column in Gantt
     *
     * @param {ColumnModel} column .
     * @returns {void} .
     */
    private updateIDColumnEditParams;
    /**
     * Method to update edit params of default progress column
     *
     * @param {ColumnModel} column .
     * @returns {void} .
     */
    private updateProgessColumnEditParams;
    /**
     * Assign edit params for id and progress columns
     *
     * @param {ColumnModel} column .
     * @param {object} editParam .
     * @returns {void} .
     */
    private updateEditParams;
    /**
     * Method to update resource column editor for default resource column
     *
     * @param {ColumnModel} column .
     * @returns {void} .
     */
    private updateResourceColumnEditor;
    /**
     * Method to create resource custom editor
     *
     * @returns {IEditCell} .
     */
    private getResourceEditor;
    /**
     * Method to update task type column editor for task type
     *
     * @param {ColumnModel} column .
     * @returns {void} .
     */
    private updateTaskTypeColumnEditor;
    /**
     * Method to create task type custom editor
     *
     * @returns {IEditCell} .
     */
    private getTaskTypeEditor;
    /**
     * @returns {void} .
     * @private
     */
    reUpdateEditModules(): void;
    private recordDoubleClick;
    /**
     * @returns {void} .
     * @private
     */
    destroy(): void;
    /**
     * @private
     */
    deletedTaskDetails: IGanttData[];
    /**
     * Method to update record with new values.
     *
     * @param {Object} data - Defines new data to update.
     * @returns {void} .
     */
    updateRecordByID(data: Object): void;
    /**
     *
     * @param {object} data .
     * @param {IGanttData} ganttData .
     * @param {boolean} isFromDialog .
     * @returns {void} .
     * @private
     */
    validateUpdateValues(data: Object, ganttData: IGanttData, isFromDialog?: boolean): void;
    /**
     * To update duration, work, resource unit
     *
     * @param {IGanttData} currentData .
     * @param {string} column .
     * @returns {void} .
     */
    updateResourceRelatedFields(currentData: IGanttData, column: string): void;
    private validateScheduleValues;
    private validateScheduleByTwoValues;
    private isTaskbarMoved;
    private isPredecessorUpdated;
    /**
     * Method to check need to open predecessor validate dialog
     *
     * @param {IGanttData} data .
     * @returns {boolean} .
     */
    private isCheckPredecessor;
    /**
     * Method to copy the ganttProperties values
     *
     * @param {IGanttData} data .
     * @param {IGanttData} updateData .
     * @returns {void} .
     * @private
     */
    updateGanttProperties(data: IGanttData, updateData: IGanttData): void;
    /**
     * Method to update all dependent record on edit action
     *
     * @param {ITaskAddedEventArgs} args .
     * @returns {void} .
     * @private
     */
    initiateUpdateAction(args: ITaskbarEditedEventArgs): void;
    /**
     *
     * @param {ITaskbarEditedEventArgs} editedEventArgs method to trigger validate predecessor link by dialog
     * @returns {IValidateArgs} .
     */
    private validateTaskEvent;
    private resetValidateArgs;
    private validateChildPredecessors;
    /**
     *
     * @param {ITaskAddedEventArgs} args - Edited event args like taskbar editing, dialog editing, cell editing
     * @returns {void} .
     * @private
     */
    updateEditedTask(args: ITaskbarEditedEventArgs): void;
    private updateParentItemOnEditing;
    /**
     * To update parent records while perform drag action.
     *
     * @param {IGanttData} data .
     * @returns {void} .
     * @private
     */
    updateParentChildRecord(data: IGanttData): void;
    /**
     * To update records while changing schedule mode.
     *
     * @param {IGanttData} data .
     * @returns {void} .
     * @private
     */
    updateTaskScheduleModes(data: IGanttData): void;
    /**
     * To update progress value of parent tasks
     *
     * @param {IParent} cloneParent .
     * @returns {void} .
     * @private
     */
    updateParentProgress(cloneParent: IParent): void;
    /**
     * Method to revert cell edit action
     *
     * @param {object} args .
     * @returns {void} .
     * @private
     */
    revertCellEdit(args: object): void;
    /**
     * @param {boolean} isRefreshChart .
     * @param {boolean} isRefreshGrid .
     * @returns {void} .
     * @private
     */
    reUpdatePreviousRecords(isRefreshChart?: boolean, isRefreshGrid?: boolean): void;
    /**
     * Copy previous task data value to edited task data
     *
     * @param {object} existing .
     * @param {object} newValue .
     * @returns {void} .
     */
    private copyTaskData;
    /**
     * To update schedule date on editing.
     *
     * @param {ITaskbarEditedEventArgs} args .
     * @returns {void} .
     * @private
     */
    private updateScheduleDatesOnEditing;
    /**
     * @param {ITaskbarEditedEventArgs} args .
     * @returns {void} .
     * @private
     */
    initiateSaveAction(args: ITaskbarEditedEventArgs): void;
    private updateEditedFields;
    private dmSuccess;
    private updateEditedRecordFields;
    private dmFailure;
    private updateSharedTask;
    /**
     * Method for save action success for local and remote data
     *
     * @param {ITaskAddedEventArgs} args .
     * @returns {void} .
     */
    private saveSuccess;
    private updateResoures;
    /**
     * @param {IGanttData} updateRecord .
     * @returns {void} .
     * @private
     */
    checkWithUnassignedTask(updateRecord: IGanttData): void;
    private addRecordAsBottom;
    private addNewRecord;
    private removeChildRecord;
    private addRecordAsChild;
    private resetEditProperties;
    /**
     * @param {ITaskAddedEventArgs} args .
     * @returns {void} .
     * @private
     */
    endEditAction(args: ITaskbarEditedEventArgs): void;
    private saveFailed;
    /**
     * To render delete confirmation dialog
     *
     * @returns {void} .
     */
    private renderDeleteConfirmDialog;
    private closeConfirmDialog;
    private confirmDeleteOkButton;
    /**
     * @returns {void} .
     * @private
     */
    startDeleteAction(): void;
    /**
     *
     * @param {IGanttData[]} selectedRecords - Defines the deleted records
     * @returns {void} .
     * Method to delete the records from resource view Gantt.
     */
    private deleteResourceRecords;
    add(record: IGanttData, totalRecords: IGanttData[]): void;
    private deleteSelectedItems;
    /**
     * Method to delete record.
     *
     * @param {number | string | number[] | string[] | IGanttData | IGanttData[]} taskDetail - Defines the details of data to delete.
     * @returns {void} .
     * @public
     */
    deleteRecord(taskDetail: number | string | number[] | string[] | IGanttData | IGanttData[]): void;
    /**
     * To update 'targetedRecords collection' from given array collection
     *
     * @param {object[]} taskDetailArray .
     * @returns {void} .
     */
    private updateTargetedRecords;
    private deleteRow;
    removePredecessorOnDelete(record: IGanttData): void;
    private updatePredecessorValues;
    /**
     * Method to update TaskID of a gantt record
     *
     * @param {string | number} currentId .
     * @param {number | string} newId .
     * @returns {void} .
     */
    updateTaskId(currentId: string | number, newId: number | string): void;
    private updatePredecessorOnUpdateId;
    private deleteChildRecords;
    removeFromDataSource(deleteRecordIDs: string[]): void;
    private removeData;
    private initiateDeleteAction;
    private deleteSuccess;
    /**
     * Generates a new task ID for a Gantt chart component, ensuring it's unique within the current context.
     * @returns {number | string} - The new unique task ID.
     * @private
     */
    getNewTaskId(): number | string;
    /**
     * @param {object} obj .
     * @param {RowPosition} rowPosition .
     * @returns {void} .
     * @private
     */
    private prepareNewlyAddedData;
    /**
     * @param {object} obj .
     * @param {number} level .
     * @param {RowPosition} rowPosition .
     * @param {IGanttData} parentItem .
     * @param {number} rowIndex .
     * @returns {IGanttData} .
     * @private
     */
    private updateNewlyAddedDataBeforeAjax;
    /**
     * @param {IGanttData} record .
     * @param {number} count .
     * @returns {number} .
     * @private
     */
    getChildCount(record: IGanttData, count: number): number;
    /**
     * @param {IGanttData} data .
     * @param {number} count .
     * @param {IGanttData[]} collection .
     * @returns {number} .
     * @private
     */
    private getVisibleChildRecordCount;
    /**
     * @param {IGanttData} parentRecord .
     * @returns {void} .
     * @private
     */
    updatePredecessorOnIndentOutdent(parentRecord: IGanttData): void;
    /**
     * @param {IGanttData} record .
     * @param {RowPosition} rowPosition .
     * @param {IGanttData} parentItem .
     * @returns {void} .
     * @private
     */
    private backUpAndPushNewlyAddedRecord;
    /**
     * @param {number} childIndex .
     * @param {number} recordIndex .
     * @param {number} updatedCollectionIndex .
     * @param {IGanttData} record .
     * @param {IGanttData} parentItem .
     * @param {RowPosition} rowPosition .
     * @returns {void} .
     * @private
     */
    private recordCollectionUpdate;
    /**
     * @param {IGanttData} cAddedRecord .
     * @param {IGanttData} modifiedRecords .
     * @param {string} event .
     * @returns {ITaskAddedEventArgs} .
     * @private
     */
    private constructTaskAddedEventArgs;
    /**
     * @param {ITaskAddedEventArgs} args .
     * @returns {void} .
     * @private
     */
    private addSuccess;
    private refreshRecordInImmutableMode;
    /**
     * @param {IGanttData} addedRecord .
     * @param {RowPosition} rowPosition .
     * @returns {void} .
     * @private
     */
    updateRealDataSource(addedRecord: IGanttData | IGanttData[], rowPosition: RowPosition): void;
    /**
     * @param {object[]} dataCollection .
     * @param {IGanttData} record .
     * @param {RowPosition} rowPosition .
     * @returns {void} .
     * @private
     */
    private addDataInRealDataSource;
    /**
     * Method to update the values to client side from server side.
     *
     * @param {Object} e - Defines the new modified data from the server.
     * @param {Object[]} e.addedRecords .
     * @param {Object[]} e.changedRecords .
     * @param {ITaskAddedEventArgs} args - Defines the client side data.
     * @returns {void} .
     */
    updateClientDataFromServer(e: {
        addedRecords: Object[];
        changedRecords: Object[];
    }, args: ITaskAddedEventArgs): void;
    private addNewUndoCollection;
    /**
     * Method to add new record.
     *
     * @param {Object[] | Object} data - Defines the new data to add.
     * @param {RowPosition} rowPosition - Defines the position of row.
     * @param {number} rowIndex - Defines the row index.
     * @returns {void} .
     * @private
     */
    addRecord(data?: Object[] | Object, rowPosition?: RowPosition, rowIndex?: number): void;
    createNewRecord(): IGanttData;
    /**
     * Method to validateTaskPosition.
     *
     * @param {Object | object[] } data - Defines the new data to add.
     * @param {RowPosition} rowPosition - Defines the position of row.
     * @param {number} rowIndex - Defines the row index.
     * @param {IGanttData} cAddedRecord - Defines the single data to validate.
     * @returns {void} .
     * @private
     */
    validateTaskPosition(data?: Object | object[], rowPosition?: RowPosition, rowIndex?: number, cAddedRecord?: IGanttData[]): void;
    private updateRowIndex;
    private updateNewRecord;
    /**
     * Method to reset the flag after adding new record
     *
     * @returns {void} .
     */
    private _resetProperties;
    /**
     * Method to update unique id collection in TreeGrid
     *
     * @param {IGanttData} data .
     * @param {string} action .
     * @returns {void} .
     */
    private updateTreeGridUniqueID;
    private refreshNewlyAddedRecord;
    /**
     *
     * @returns {void} .
     * @private
     */
    private removeAddedRecord;
    private getPrevRecordIndex;
    /**
     * indent a selected record
     *
     * @returns {void} .
     */
    indent(): void;
    /**
     * To perform outdent operation for selected row
     *
     * @returns {void} .
     */
    outdent(): void;
    private indentOutdentRow;
    private reArrangeRows;
    /**
     * @returns {void} .
     * @param {RowDropEventArgs} args .
     * @param {boolean} isDrag .
     * @private
     */
    refreshRecord(args: RowDropEventArgs, isDrag?: boolean): void;
    private indentSuccess;
    private indentFailure;
    private indentOutdentSuccess;
    private refreshDataSource;
    private deleteDragRow;
    private updateIndentedChildRecords;
    private dropMiddle;
    private updateChildRecordLevel;
    private updateChildRecord;
    private removeRecords;
    private removeChildItem;
    private recordLevel;
}
//node_modules/@syncfusion/ej2-gantt/src/gantt/actions/dialog-edit.d.ts
/**
 *
 * @hidden
 */
export  class DialogEdit {
    private isEdit;
    /**
     * @private
     */
    dialog: HTMLElement;
    isAddNewResource: boolean;
    /**
     * @private
     */
    dialogObj: popups.Dialog;
    private preTableCollection;
    private preTaskIds;
    private localeObj;
    private parent;
    private rowIndex;
    private isFromDialogPredecessor;
    private isTriggered;
    private formObj;
    private CustomformObj;
    private taskFieldColumn;
    private customFieldColumn;
    private isFromAddDialog;
    private isFromEditDialog;
    processedId: {
        id: string;
        value: IPredecessor[];
    }[];
    private storeColumn;
    private taskfields;
    private storeValidTab;
    private storeDependencyTab;
    private storeResourceTab;
    private firstOccuringTab;
    private numericOrString;
    private types;
    private editedRecord;
    private rowData;
    private beforeOpenArgs;
    private inputs;
    private idCollection;
    private disableUndo;
    private currentResources;
    /**
     * @private
     */
    updatedEditFields: EditDialogFieldSettingsModel[];
    private updatedAddFields;
    private addedRecord;
    private dialogEditValidationFlag;
    private tabObj;
    private selectedSegment;
    ganttResources: Object[];
    private isValidData;
    private isResourceTabUpdated;
    /**
     * @private
     */
    previousResource: Object[];
    /**
     * @private
     */
    isResourceUpdate: boolean;
    /**
     * Constructor for render module
     *
     * @param {Gantt} parent .
     * @returns {void} .
     */
    constructor(parent: Gantt);
    private wireEvents;
    private dblClickHandler;
    /**
     * Method to validate add and edit dialog fields property.
     *
     * @returns {void} .
     * @private
     */
    processDialogFields(): void;
    private validateDialogFields;
    /**
     * Method to get general column fields
     *
     * @returns {string[]} .
     */
    private getGeneralColumnFields;
    /**
     * Method to get custom column fields
     *
     * @returns {void} .
     */
    private getCustomColumnFields;
    /**
     * Get default dialog fields when fields are not defined for add and edit dialogs
     *
     * @returns {AddDialogFieldSettings} .
     */
    private getDefaultDialogFields;
    /**
     * @returns {void} .
     * @private
     */
    openAddDialog(): void;
    /**
     *
     * @returns {Date} .
     * @private
     */
    getMinimumStartDate(): Date;
    /**
     * @returns {IGanttData} .
     * @private
     */
    composeAddRecord(): IGanttData;
    /**
     * @returns {void} .
     * @private
     */
    openToolbarEditDialog(): void;
    /**
     * @param { number | string | object} taskId .
     * @returns {void} .
     * @private
     */
    openEditDialog(taskId: number | string | object): void;
    private createDialog;
    private buttonClick;
    /**
     * @returns {void} .
     * @private
     */
    dialogClose(): void;
    private resetValues;
    private destroyDialogInnerElements;
    private destroyCustomField;
    /**
     * @returns {void} .
     * @private
     */
    destroy(): void;
    /**
     * Method to get current edit dialog fields value
     *
     * @returns {AddDialogFieldSettings} .
     */
    private getEditFields;
    private createTab;
    private changeFormObj;
    private getFilteredDialogFields;
    private validateColumn;
    private createFormObj;
    private valErrorPlacement;
    private createTooltip;
    private getElemTable;
    private validationComplete;
    private tabSelectedEvent;
    private responsiveTabContent;
    private getFieldsModel;
    private createInputModel;
    private validateScheduleFields;
    private updateScheduleFields;
    /**
     * @param {IGanttData} ganttData .
     * @returns {void} .
     * @private
     */
    validateDuration(ganttData: IGanttData): void;
    private validateStartDate;
    private validateEndDate;
    /**
     *
     * @param {string} columnName .
     * @param {string} value .
     * @param {IGanttData} currentData .
     * @returns {boolean} .
     * @private
     */
    validateScheduleValuesByCurrentField(columnName: string, value: string, currentData: IGanttData): boolean;
    private getSegmentsModel;
    private getGridColumnByField;
    private updateSegmentField;
    private validateSegmentFields;
    private getPredecessorModel;
    private getResourcesModel;
    private getNotesModel;
    private createDivElement;
    private createFormElement;
    private createInputElement;
    private renderTabItems;
    private segmentGridActionBegin;
    getDialogTabIndex(tabName: DialogFieldType): number;
    private setInjected;
    private renderSegmentsTab;
    private renderGeneralTab;
    private isCheckIsDisabled;
    private isParentValid;
    private renderPredecessorTab;
    private updateColumns;
    private gridActionBegin;
    private gridActionComplete;
    private updateResourceCollection;
    private renderResourceTab;
    private resourceSelection;
    private renderCustomTab;
    private renderNotesTab;
    private renderInputElements;
    private taskNameCollection;
    private predecessorEditCollection;
    private updatePredecessorDropDownData;
    private validSuccessorTasks;
    private getPredecessorType;
    private initiateDialogSave;
    private compareObjects;
    private updateSegmentTaskData;
    private updateSegmentsData;
    private updateGeneralTab;
    private updateScheduleProperties;
    private getMatchingPrefix;
    private updatePredecessorTab;
    private updateResourceTab;
    private updateNotesTab;
    private updateCustomTab;
}
/**
 * @hidden
 */
export  type Inputs = buttons.CheckBox | dropdowns.DropDownList | inputs.TextBox | inputs.NumericTextBox | calendars.DatePicker | calendars.DateTimePicker | inputs.MaskedTextBox;
/**
 * @hidden
 */
export interface IPreData {
    id?: string;
    name?: string;
    type?: string;
    offset?: string;
    uniqueId?: number;
}
//node_modules/@syncfusion/ej2-gantt/src/gantt/actions/dependency.d.ts
/**
 * Predecessor calculation goes here
 */
export  class Dependency {
    private parent;
    validatedChildItems: IGanttData[];
    private dateValidateModule;
    private parentRecord;
    private parentIds;
    private parentPredecessors;
    private validatedParentIds;
    isValidatedParentTaskID: string;
    private storeId;
    isChildRecordValidated: (number | string)[];
    constructor(gantt: Gantt);
    /**
     * Method to populate predecessor collections in records
     *
     * @returns {void} .
     * @private
     */
    ensurePredecessorCollection(): void;
    /**
     *
     * @param {IGanttData} ganttData .
     * @param {ITaskData} ganttProp .
     * @returns {void} .
     * @private
     */
    ensurePredecessorCollectionHelper(ganttData: IGanttData, ganttProp: ITaskData): void;
    /**
     * To render unscheduled empty task with 1 day duration during predecessor map
     *
     * @param {IGanttData} data .
     * @returns {void} .
     * @private
     */
    updateUnscheduledDependency(data: IGanttData): void;
    /**
     *
     * @param {string} fromId .
     * @returns {boolean} .
     */
    private checkIsParent;
    getRootParent(rec: IGanttData): IGanttData;
    validateParentPredecessor(fromRecord: IGanttData, toRecord: IGanttData): boolean;
    /**
     * Get predecessor collection object from predecessor string value
     *
     * @param {string | number} predecessorValue .
     * @param {IGanttData} ganttRecord .
     * @returns {IPredecessor[]} .
     * @private
     */
    calculatePredecessor(predecessorValue: string | number, ganttRecord?: IGanttData): IPredecessor[];
    /**
     * Get predecessor value as string with offset values
     *
     * @param {IGanttData} data .
     * @returns {string} .
     * @private
     */
    getPredecessorStringValue(data: IGanttData): string;
    private getOffsetDurationUnit;
    /**
     * Update predecessor object in both from and to tasks collection
     *
     * @param {Map<string, IGanttData>} flatDataCollection .
     * @returns {void} .
     * @private
     */
    updatePredecessors(flatDataCollection?: Map<string, IGanttData>): void;
    /**
     * To update predecessor collection to successor tasks
     *
     * @param {IGanttData} ganttRecord .
     * @param {IGanttData[]} predecessorsCollection .
     * @param {Map<string, IGanttData>} flatDataCollection .
     * @returns {void} .
     * @private
     */
    updatePredecessorHelper(ganttRecord: IGanttData, predecessorsCollection?: IGanttData[], flatDataCollection?: Map<string, IGanttData>): void;
    private traverseParents;
    /**
     * Method to validate date of tasks with predecessor values for all records
     *
     * @param {Map<string, IGanttData>} flatDataCollection .
     * @returns {void} .
     * @private
     */
    updatedRecordsDateByPredecessor(flatDataCollection?: Map<string, IGanttData>): void;
    updateParentPredecessor(flatDataCollection?: Map<string, IGanttData>): void;
    /**
     * To validate task date values with dependency
     *
     * @param {IGanttData} ganttRecord .
     * @param {Map<string, IGanttData>} flatDataCollection .
     * @returns {void} .
     * @private
     */
    validatePredecessorDates(ganttRecord: IGanttData, flatDataCollection?: Map<string, IGanttData>): void;
    /**
     * Method to validate task with predecessor
     *
     * @param {IGanttData} parentGanttRecord .
     * @param {IGanttData} childGanttRecord .
     * @param {Map<string, IGanttData>} flatDataCollection .
     * @returns {void} .
     */
    private validateChildGanttRecord;
    /**
     *
     * @param {IGanttData} ganttRecord .
     * @param {IPredecessor[]} predecessorsCollection .
     * @param {Map<string, IGanttData>} flatDataCollection .
     * @returns {Date} .
     * @private
     */
    getPredecessorDate(ganttRecord: IGanttData, predecessorsCollection: IPredecessor[], flatDataCollection?: Map<string, IGanttData>): Date;
    /**
     * Get validated start date as per predecessor type
     *
     * @param {ITaskData} ganttProperty .
     * @param {ITaskData} parentRecordProperty .
     * @param {IPredecessor} predecessor .
     * @returns {Date} .
     */
    private getValidatedStartDate;
    /**
     *
     * @param {Date} date .
     * @param {IPredecessor} predecessor .
     * @param {ITaskData} record .
     * @returns {void} .
     */
    private updateDateByOffset;
    /**
     *
     * @param {IGanttData} records .
     * @returns {void} .
     * @private
     */
    createConnectorLinesCollection(records?: IGanttData[]): void;
    /**
     *
     * @param {object[]} predecessorsCollection .
     * @param {Map<string, IGanttData>} flatDataCollection .
     * @param {number} rowHeight .
     * @returns {void} .
     */
    private addPredecessorsCollection;
    /**
     * To refresh connector line object collections
     *
     * @param {IGanttData} parentGanttRecord .
     * @param {IGanttData} childGanttRecord .
     * @param {IPredecessor} predecessor .
     * @param {number} rowHeight .
     * @returns {void} .
     * @private
     */
    updateConnectorLineObject(parentGanttRecord: IGanttData, childGanttRecord: IGanttData, predecessor: IPredecessor, rowHeight?: number): IConnectorLineObject;
    /**
     * Determines whether the dependent task should be updated based on its predecessor relationship,
     * considering the dependency type (FS, SS, SF, FF), predecessor offsets, and previous dates.
     *
     * @param {IGanttData} parentGanttRecord - The predecessor task.
     * @param {IGanttData} record - The dependent task to evaluate.
     * @param {Date} parentPreviousStart - The previous start date of the predecessor task.
     * @param {Date} parentPreviousEnd - The previous end date of the predecessor task.
     * @param {boolean} predecessorConnected - Optional flag indicating if the predecessor link is already established.
     * @returns {boolean} - Returns true if the dependent task requires an update;
 otherwise, false.
     */
    private shouldUpdatePredecessor;
    /**
     * Handles the update logic for a task's dependency and validates whether child tasks should be updated.
     * It retrieves the previous start and end dates from the stored records to determine if dependency validation is required.
     * If predecessor updates are needed or offset updates are enabled, it triggers child task validation.
     *
     * @param {IGanttData} parentGanttRecord - The parent task whose dependencies are being evaluated.
     * @param {IGanttData} record - The current task being updated.
     * @returns {void}
     */
    private handleTaskUpdate;
    /**
     *
     * @param {IGanttData} childGanttRecord .
     * @param {IPredecessor[]} previousValue .
     * @param {string} validationOn .
     * @returns {void} .
     * @private
     */
    validatePredecessor(childGanttRecord: IGanttData, previousValue: IPredecessor[], validationOn: string): void;
    /**
     *
     * @param {IGanttData} ganttRecord .
     * @returns {void} .
     */
    private updateChildItems;
    /**
     * To get updated child records.
     *
     * @param {IGanttData} parentRecord .
     * @param {IGanttData} childLists .
     * @returns {void} .
     */
    private getUpdatableChildRecords;
    /**
     *
     * @param {IGanttData} data .
     * @param {Date} newStartDate .
     * @returns {void} .
     */
    private calculateDateByRoundOffDuration;
    private getRecord;
    /**
     * Method to get validate able predecessor alone from record
     *
     * @param {IGanttData} record .
     * @returns {IPredecessor[]} .
     * @private
     */
    getValidPredecessor(record: IGanttData): IPredecessor[];
}
//node_modules/@syncfusion/ej2-gantt/src/gantt/actions/day-markers.d.ts
/**
 * DayMarkers module is used to render event markers, holidays and to highlight the weekend days.
 */
export  class DayMarkers {
    private parent;
    nonworkingDayRender: NonWorkingDay;
    private eventMarkerRender;
    constructor(parent: Gantt);
    private wireEvents;
    private propertyChanged;
    private refreshMarkers;
    private updateHeight;
    /**
     * To get module name
     *
     * @returns {string} .
     */
    getModuleName(): string;
    /**
     * @returns {void} .
     * @private
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-gantt/src/gantt/actions/critical-path.d.ts
/** @hidden */
export  class CriticalPath {
    private parent;
    private validatedids;
    detailPredecessorCollection: object[];
    criticalPathCollection: number[];
    resourceCollectionIds: string[];
    predecessorCollectionTaskIds: number[];
    criticalTasks: IGanttData[];
    maxEndDate: Date;
    constructor(parent: Gantt);
    getCriticalTasks(): IGanttData[];
    showCriticalPath(isCritical: boolean): void;
    slackCalculation(fromDataObject: object[], collection: object[], collectionTaskId: any, checkEndDate: Date, flatRecords: IGanttData[], modelRecordIds: string[]): void;
    private getSlackDuration;
    private updateCriticalTasks;
    private finalCriticalPath;
    criticalConnectorLine(criticalPathIds: number[], collection: object[], condition: boolean, collectionTaskId: number[]): void;
    getModuleName(): string;
    /**
     * Destroys the Critical Path of Gantt.
     *
     * @returns {void} .
     * @private
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-gantt/src/gantt/actions/context-menu.d.ts
/**
 * The ContextMenu module is used to handle the context menu items & sub-menu items.
 *
 * @returns {void} .
 */
export  class ContextMenu {
    /**
     * @private
     */
    contextMenu: navigations.ContextMenu;
    private parent;
    private ganttID;
    private element;
    private headerMenuItems;
    private contentMenuItems;
    private rowData;
    segmentIndex: number;
    private clickedPosition;
    private targetElement;
    private isEdit;
    private isCntxtMenuDependencyDelete;
    /**
     * @private
     */
    isOpen: boolean;
    /**
     * @private
     */
    item: string;
    private predecessors;
    private hideItems;
    private disableItems;
    constructor(parent?: Gantt);
    private addEventListener;
    private reRenderContextMenu;
    private render;
    private contextMenuItemClick;
    private splitTaskCall;
    private mergeCall;
    /**
     * Calculates the date based on the clicked position on the Gantt chart's context menu.
     *
     * @param {HTMLElement} element - The HTML element used for determining the click position within the Gantt chart.
     * @returns {Date} - Returns the calculated date based on the clicked position on the chart.
     *
     * The function determines the Gantt element's left position for both RTL and LTR layouts.
     * It calculates the left position of the task and the click's position difference, adjusts the split task duration,
     * and computes the final click date.
     */
    private getClickedDate;
    private contextMenuBeforeOpen;
    private updateItemStatus;
    private mergeItemVisiblity;
    private updateItemVisibility;
    private contextMenuOpen;
    private getMenuItems;
    private createItemModel;
    private getLocale;
    private buildDefaultItems;
    private getIconCSS;
    private getPredecessorsItems;
    private headerContextMenuClick;
    private headerContextMenuOpen;
    private getDefaultItems;
    /**
     * To get ContextMenu module name.
     *
     * @returns {string} .
     */
    getModuleName(): string;
    private removeEventListener;
    private contextMenuOnClose;
    private revertItemStatus;
    private resetItems;
    private generateID;
    private getKeyFromId;
    /**
     * To destroy the contextmenu module.
     *
     * @returns {void} .
     * @private
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-gantt/src/gantt/actions/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 validatedId;
    private dateValidateModule;
    private cumulativePredecessorChanges;
    private validatedOffsetIds;
    private isPublicDependencyDelete;
    constructor(ganttObj?: Gantt);
    /**
     * To update connector line edit element.
     *
     * @param {PointerEvent} e .
     * @returns {void} .
     * @private
     */
    updateConnectorLineEditElement(e: PointerEvent): void;
    /**
     * To get hovered connector line element.
     *
     * @param {EventTarget} target .
     * @returns {void} .
     * @private
     */
    private getConnectorLineHoverElement;
    /**
     * To highlight connector line while hover.
     *
     * @param {Element} element .
     * @returns {void} .
     * @private
     */
    private highlightConnectorLineElements;
    /**
     * To add connector line highlight class.
     *
     * @param {Element} element .
     * @returns {void} .
     * @private
     */
    private addHighlight;
    /**
     * To remove connector line highlight class.
     *
     * @returns {void} .
     * @private
     */
    private removeHighlight;
    /**
     * To remove connector line highlight class.
     *
     * @param {IGanttData[]} records .
     * @returns {DocumentFragment} .
     * @private
     */
    getEditedConnectorLineString(records: IGanttData[]): DocumentFragment;
    /**
     * Tp refresh connector lines of edited records
     *
     * @param {IGanttData[]} editedRecord .
     * @returns {void} .
     * @private
     */
    refreshEditedRecordConnectorLine(editedRecord: IGanttData[]): void;
    private idFromPredecessor;
    private predecessorValidation;
    /**
     * To validate predecessor relations
     *
     * @param {IGanttData} ganttRecord .
     * @param {string} predecessorString .
     * @returns {boolean} .
     * @private
     */
    validatePredecessorRelation(ganttRecord: IGanttData, predecessorString: string): boolean;
    /**
     * To add dependency for Task
     *
     * @param {IGanttData} ganttRecord .
     * @param {string} predecessorString .
     * @returns {void} .
     * @private
     */
    addPredecessor(ganttRecord: IGanttData, predecessorString: string): void;
    /**
     * To remove dependency from task
     *
     * @param {IGanttData} ganttRecord .
     * @returns {void} .
     * @private
     */
    removePredecessor(ganttRecord: IGanttData): void;
    /**
     * To modify current dependency values of Task
     *
     * @param {IGanttData} ganttRecord .
     * @param {string} predecessorString .
     * @param {ITaskbarEditedEventArgs} editedArgs .
     * @returns {boolean} .
     * @private
     */
    updatePredecessor(ganttRecord: IGanttData, predecessorString: string, editedArgs?: ITaskbarEditedEventArgs): boolean;
    private updatePredecessorHelper;
    private checkParentRelation;
    private initPredecessorValidationDialog;
    /**
     * To render validation dialog
     *
     * @returns {void} .
     * @private
     */
    renderValidationDialog(): void;
    private validationDialogOkButton;
    private validationDialogCancelButton;
    private validationDialogClose;
    /**
     * Validate and apply the predecessor option from validation dialog
     *
     * @returns {void} .
     * @private
     */
    applyPredecessorOption(): void;
    private compareArrays;
    private processPredecessors;
    private checkChildRecords;
    private compareObjects;
    private calculateOffset;
    /**
     * Update predecessor value with user selection option in predecessor validation dialog
     *
     * @param {IGanttData} ganttRecord .
     * @param {IPredecessor[]} predecessor .
     * @returns {void} .
     */
    private removePredecessors;
    /**
     * To open predecessor validation dialog
     *
     * @param {object} args .
     * @returns {void} .
     * @private
     */
    openValidationDialog(args: object): void;
    /**
     * Predecessor link validation dialog template
     *
     * @param {object} args .
     * @returns {HTMLElement} .
     * @private
     */
    validationDialogTemplate(args: object): HTMLElement;
    /**
     * To validate the types while editing the taskbar
     *
     * @param {IGanttData} ganttRecord .
     * @param {any} data .
     * @returns {boolean} .
     * @private
     */
    validateTypes(ganttRecord: IGanttData, data?: IGanttData): object;
    /**
     * Method to remove and update new predecessor collection in successor record
     *
     * @param {IGanttData} data .
     * @returns {void} .
     * @private
     */
    addRemovePredecessor(data: IGanttData): void;
    /**
     * Method to remove a predecessor from a record.
     *
     * @param {IGanttData} childRecord .
     * @param {number} index .
     * @returns {void} .
     * @private
     */
    removePredecessorByIndex(childRecord: IGanttData, index: number): void;
    /**
     * To render predecessor delete confirmation dialog
     *
     * @returns {void} .
     * @private
     */
    renderPredecessorDeleteConfirmDialog(): void;
    private confirmCloseDialog;
    private confirmOkDeleteButton;
}
//node_modules/@syncfusion/ej2-gantt/src/gantt/actions/column-resize.d.ts
/**
 * Column resize action related code goes here
 */
export  class Resize {
    parent: Gantt;
    constructor(gantt: Gantt);
    /**
     * Get module name
     *
     * @returns {void} .
     */
    private getModuleName;
    /**
     * To bind resize events.
     *
     * @returns {void} .
     * @private
     */
    private bindEvents;
    /**
     * To destroy the column-resizer.
     *
     * @returns {void} .
     * @private
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-gantt/src/gantt/actions/column-reorder.d.ts
/**
 * To handle column reorder action from TreeGrid
 */
export  class Reorder {
    parent: Gantt;
    constructor(gantt: Gantt);
    /**
     * Get module name
     *
     * @returns {string} .
     */
    private getModuleName;
    /**
     * To bind reorder events.
     *
     * @returns {void} .
     * @private
     */
    private bindEvents;
    /**
     * To destroy the column-reorder.
     *
     * @returns {void} .
     * @private
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-gantt/src/gantt/actions/column-menu.d.ts
/**
 * Configures columnMenu collection in Gantt.
 *
 * @hidden
 */
export  class ColumnMenu {
    private parent;
    constructor(parent?: Gantt);
    /**
     * @returns {HTMLAllCollection} .
     * To get column menu collection.
     */
    getColumnMenu(): HTMLElement;
    destroy(): void;
    /**
     * For internal use only - Get the module name.
     *
     * @returns {string} .
     * @private
     */
    private getModuleName;
}
//node_modules/@syncfusion/ej2-gantt/src/gantt/actions/chart-scroll.d.ts
/**
 * To handle scroll event on chart and from TreeGrid
 *
 * @hidden
 */
export  class ChartScroll {
    private parent;
    element: HTMLElement;
    private isScrolling;
    private isFromTreeGrid;
    previousCount: number;
    isBackwardScrolled: boolean;
    private nonworkingDayRender;
    private isSetScrollLeft;
    previousScroll: {
        top: number;
        left: number;
    };
    /**
     * Constructor for the scrolling.
     *
     * @param {Gantt} parent .
     * @hidden
     */
    constructor(parent: Gantt);
    /**
     * Bind event
     *
     * @returns {void} .
     */
    private addEventListeners;
    /**
     * Unbind events
     *
     * @returns {void} .
     */
    private removeEventListeners;
    /**
     *
     * @param {object} args .
     * @returns {void} .
     */
    private gridScrollHandler;
    /**
     * Method to update vertical grid line, holiday, event markers and weekend container's top position on scroll action
     *
     * @returns {void} .
     * @private
     */
    updateContent(): void;
    getTimelineLeft(): number;
    deleteTableElements(): void;
    updateChartElementStyles(): void;
    updateTopPosition(): void;
    private removeShimmer;
    private transformChange;
    private updateShimmer;
    private updateSpinner;
    /**
     * Scroll event handler
     *
     * @returns {void} .
     */
    private onScroll;
    /**
     * To set height for chart scroll container
     *
     * @param {string | number} height - To set height for scroll container in chart side
     * @returns {void} .
     * @private
     */
    setHeight(height: string | number): void;
    /**
     * To set width for chart scroll container
     *
     * @param {string | number} width - To set width to scroll container
     * @returns {void} .
     * @private
     */
    setWidth(width: string | number): void;
    /**
     * To set scroll top for chart scroll container
     *
     * @param {number} scrollTop - To set scroll top for scroll container
     * @returns {void} .
     * @private
     */
    setScrollTop(scrollTop: number): void;
    /**
     * To set scroll left for chart scroll container
     *
     * @param {number} scrollLeft  - To set scroll left for scroll container
     * @param {number} leftSign - specifies left sign
     * @returns {void} .
     */
    setScrollLeft(scrollLeft: number, leftSign?: number): void;
    /**
     * Destroy scroll related elements and unbind the events
     *
     * @returns {void} .
     * @private
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-gantt/src/gantt/actions/cell-edit.d.ts
/**
 * To handle cell edit action on default columns and custom columns
 */
export  class CellEdit {
    private parent;
    /**
     * @private
     */
    isCellEdit: boolean;
    isResourceCellEdited: boolean;
    editedColumn: ColumnModel;
    currentEditedRowData: IGanttData;
    constructor(ganttObj: Gantt);
    /**
     * Bind all editing related properties from Gantt to TreeGrid
     *
     * @returns {void} .
     */
    private bindTreeGridProperties;
    /**
     * Ensure current cell was editable or not
     *
     * @param {CellEditArgs} args .
     * @returns {void | Deferred} .
     */
    private ensureEditCell;
    /**
     * To render edit dialog and to focus on notes tab
     *
     * @param {CellEditArgs} args .
     * @returns {void} .
     */
    private openNotesEditor;
    /**
     * Initiate cell save action on Gantt with arguments from TreeGrid
     *
     * @param {object} args .
     * @param {object} editedObj .
     * @returns {void} .
     * @private
     */
    initiateCellEdit(args: object, editedObj: object): void;
    /**
     * To update task name cell with new value
     *
     * @param {ITaskbarEditedEventArgs} args .
     * @returns {void} .
     */
    private taskNameEdited;
    /**
     * To update task notes cell with new value
     *
     * @param {ITaskbarEditedEventArgs} args .
     * @returns {void} .
     */
    private notedEdited;
    /**
     * To update task schedule mode cell with new value
     *
     * @param {ITaskbarEditedEventArgs} args .
     * @returns {void} .
     */
    private taskmodeEdited;
    /**
     * To update task start date cell with new value
     *
     * @param {ITaskbarEditedEventArgs} args .
     * @returns {void} .
     */
    private startDateEdited;
    validateEndDateWithSegments(ganttProp: ITaskData): ITaskSegment[];
    /**
     * To update task end date cell with new value
     *
     * @param {ITaskbarEditedEventArgs} args .
     * @param {Date} previousValue .
     * @returns {void} .
     */
    private endDateEdited;
    /**
     * To update duration cell with new value
     *
     * @param {ITaskbarEditedEventArgs} args .
     * @returns {void} .
     */
    private durationEdited;
    /**
     * To update start date, end date based on duration
     *
     * @param {ITaskbarEditedEventArgs} args .
     * @returns {void} .
     */
    private updateDates;
    /**
     * To update progress cell with new value
     *
     * @param {ITaskbarEditedEventArgs} args .
     * @returns {void} .
     */
    private progressEdited;
    /**
     * To update baselines with new baseline start date and baseline end date
     *
     * @param {ITaskbarEditedEventArgs} args .
     * @returns {void} .
     */
    private baselineEdited;
    /**
     * To update task's resource cell with new value
     *
     * @param {ITaskbarEditedEventArgs} args .
     * @param {object} editedObj .
     * @param {IGanttData} previousData .
     * @returns {void} .
     */
    private resourceEdited;
    /**
     * To update task's predecessor cell with new value
     *
     * @param {ITaskbarEditedEventArgs} editedArgs .
     * @param {object} cellEditArgs .
     * @returns {void} .
     */
    private dependencyEdited;
    /**
     * To update task's work cell with new value
     *
     * @param {ITaskbarEditedEventArgs} editedArgs .
     * @returns {void} .
     */
    private workEdited;
    /**
     * To update task type cell with new value
     *
     * @param {ITaskbarEditedEventArgs} args .
     * @param {object} editedObj .
     * @returns {void} .
     */
    private typeEdited;
    /**
     * To compare start date and end date from Gantt record
     *
     * @param {ITaskData} ganttRecord .
     * @returns {number} .
     */
    private compareDatesFromRecord;
    /**
     * To start method save action with edited cell value
     *
     * @param {ITaskbarEditedEventArgs} args .
     * @returns {void} .
     */
    private updateEditedRecord;
    /**
     * To remove all public private properties
     *
     * @returns {void} .
     * @private
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-gantt/src/gantt/actions/actions.d.ts
/**
 * Gantt Action Modules
 */
 }
export namespace grids { 

//node_modules/@syncfusion/ej2-grids/src/components.d.ts
/**
 * Export Export Grid and Pager
 */
//node_modules/@syncfusion/ej2-grids/src/pager/pager.d.ts
/** @hidden */
export interface IRender {
    render(): void;
    refresh(): void;
}
/**
 * @hidden
 */
export interface keyPressHandlerKeyboardEventArgs extends KeyboardEvent {
    cancel?: boolean;
}
/**
 * Represents the `Pager` component.
 * ```html
 * <div id="pager"/>
 * ```
 * ```typescript
 * <script>
 *   var pagerObj = new Pager({ totalRecordsCount: 50, pageSize:10 });
 *   pagerObj.appendTo("#pager");
 * </script>
 * ```
 */
export  class Pager extends base.Component<HTMLElement> implements base.INotifyPropertyChanged {
    /*** @hidden */
    totalPages: number;
    /** @hidden */
    templateFn: Function;
    /** @hidden */
    hasParent: boolean;
    /*** @hidden */
    previousPageNo: number;
    /** @hidden */
    isAllPage: boolean;
    checkAll: boolean;
    /** @hidden */
    isPagerResized: boolean;
    /** @hidden */
    keyAction: string;
    /** @hidden */
    avgNumItems: number;
    private averageDetailWidth;
    private defaultConstants;
    private pageRefresh;
    private parent;
    private firstPagerFocus;
    /** @hidden */
    isCancel: boolean;
    /** @hidden */
    isInteracted: boolean;
    /*** @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
     * @aspType string
     */
    template: string | Function;
    /**
     * Defines the customized text to append with numeric items.
     *
     * @default null
     */
    customText: string;
    /**
     * Triggers when click on the numeric items.
     *
     * @default null
     */
    click: base.EmitType<Object>;
    /**
     * Defines the own class for the pager element.
     *
     * @default ''
     */
    cssClass: string;
    /**
     * Triggers after pageSize is selected in DropDownList.
     *
     * @default null
     */
    dropDownChanged: base.EmitType<Object>;
    /**
     * Triggers when Pager is created.
     *
     * @default null
     */
    created: base.EmitType<Object>;
    /**
     * Constructor for creating the component.
     *
     * @param {PagerModel} options - specifies the options
     * @param {string} element - specifies the element
     * @param {string} parent - specifies the pager parent
     * @hidden
     */
    constructor(options?: PagerModel, element?: string | HTMLElement, parent?: object);
    /**
     * To provide the array of modules needed for component rendering
     *
     * @returns {base.ModuleDeclaration[]} returns the modules declaration
     * @hidden
     */
    protected requiredModules(): base.ModuleDeclaration[];
    /**
     * Initialize the event handler
     *
     * @returns {void}
     * @hidden
     */
    protected preRender(): void;
    /**
     * To Initialize the component rendering
     *
     * @returns {void}
     */
    protected render(): void;
    /**
     * Get the properties to be maintained in the persisted state.
     *
     * @returns {string} returns the persist data
     * @hidden
     */
    getPersistData(): string;
    /**
     * To destroy the Pager component.
     *
     * @method destroy
     * @returns {void}
     */
    destroy(): void;
    /**
     * Destroys the given template reference.
     *
     * @param {string[]} propertyNames - Defines the collection of template name.
     * @param {any} index - Defines the index
     */
    destroyTemplate(propertyNames?: string[], index?: any): void;
    /**
     * For internal use only - Get the module name.
     *
     * @returns {string} returns the module name
     * @private
     */
    protected getModuleName(): string;
    /**
     * Called internally if any of the property value changed.
     *
     * @param {PagerModel} newProp - specifies the new property
     * @param {PagerModel} oldProp - specifies the old propety
     * @returns {void}
     * @hidden
     */
    onPropertyChanged(newProp: PagerModel, oldProp: PagerModel): void;
    private wireEvents;
    private unwireEvents;
    private onFocusIn;
    private onFocusOut;
    private keyDownHandler;
    private keyPressHandler;
    private addListener;
    private removeListener;
    private onKeyPress;
    /**
     * @returns {boolean} - Return the true value if pager has focus
     * @hidden */
    checkPagerHasFocus(): boolean;
    /**
     * @returns {void}
     * @hidden */
    setPagerContainerFocus(): void;
    /**
     * @returns {void}
     * @hidden */
    setPagerFocus(): void;
    private setPagerFocusForActiveElement;
    private setTabIndexForFocusLastElement;
    /**
     * @param {base.KeyboardEventArgs} e - Keyboard Event Args
     * @returns {void}
     * @hidden */
    changePagerFocus(e: base.KeyboardEventArgs): void;
    private getFocusedTabindexElement;
    private changeFocusByTab;
    private changeFocusByShiftTab;
    /**
     * @returns {void}
     * @hidden */
    checkFirstPagerFocus(): boolean;
    private navigateToPageByEnterOrSpace;
    private navigateToPageByKey;
    private checkFocusInAdaptiveMode;
    private changeFocusInAdaptiveMode;
    private removeTabindexLastElements;
    private getActiveElement;
    /**
     * @returns {Element} - Returns DropDown Page
     * @hidden */
    getDropDownPage(): Element;
    private getFocusedElement;
    private getClass;
    private getElementByClass;
    /**
     * @param {Element} element - Pager element
     * @param {Element[]} previousElements - Iterating pager element
     * @returns {Element[]} - Returns focusable pager element
     * @hidden */
    getFocusablePagerElements(element: Element, previousElements: Element[]): Element[];
    private addFocus;
    private removeFocus;
    /**
     * Gets the localized label by locale keyword.
     *
     * @param  {string} key - specifies the key
     * @returns {string} returns the localized label
     */
    getLocalizedLabel(key: string): string;
    /**
     * Navigate to target page by given number.
     *
     * @param  {number} pageNo - Defines page number.
     * @returns {void}
     */
    goToPage(pageNo: number): void;
    /**
     * @param {number} pageSize - specifies the pagesize
     * @returns {void}
     * @hidden
     */
    setPageSize(pageSize: number): void;
    private checkpagesizes;
    private checkGoToPage;
    private currentPageChanged;
    private pagerTemplate;
    /**
     * @returns {void}
     * @hidden
     */
    updateTotalPages(): void;
    /**
     * @returns {Function} returns the function
     * @hidden
     */
    getPagerTemplate(): Function;
    /**
     * @param {string | Function} template - specifies the template
     * @returns {Function} returns the function
     * @hidden
     */
    compile(template: string | Function): Function;
    /**
     * Refreshes page count, pager information and external message.
     *
     * @returns {void}
     */
    refresh(): void;
    private updateRTL;
    private initLocalization;
    private updateQueryString;
    private getUpdatedURL;
    private renderFirstPrevDivForDevice;
    private renderNextLastDivForDevice;
    private addAriaLabel;
    private isReactTemplate;
    /**
     * Loop through all the inner elements of pager to calculate the required width for pager child elements.
     *
     * @returns {number} returns the actual width occupied by pager elements.
     */
    private calculateActualWidth;
    /**
     * Resize pager component by hiding pager component's numeric items based on total width available for pager.
     *
     * @returns {void}
     */
    private resizePager;
}
//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
     * @aspType string
     */
    template?: string | Function;
    /**
     * Defines the customized text to append with numeric items.
     *
     * @default null
     */
    customText?: string;
    /**
     * Triggers when click on the numeric items.
     *
     * @default null
     */
    click?: base.EmitType<Object>;
    /**
     * Defines the own class for the pager element.
     *
     * @default ''
     */
    cssClass?: string;
    /**
     * Triggers after pageSize is selected in DropDownList.
     *
     * @default null
     */
    dropDownChanged?: base.EmitType<Object>;
    /**
     * Triggers when Pager is created.
     *
     * @default null
     */
    created?: base.EmitType<Object>;
}
//node_modules/@syncfusion/ej2-grids/src/pager/pager-message.d.ts
/**
 * `PagerMessage` module is used to display pager information.
 */
export  class PagerMessage implements IRender {
    private pageNoMsgElem;
    private pageCountMsgElem;
    private pagerModule;
    /**
     * Constructor for externalMessage module
     *
     * @param {Pager} pagerModule - specifies the pager Module
     * @hidden
     */
    constructor(pagerModule?: Pager);
    /**
     * The function is used to render pager message
     *
     * @returns {void}
     * @hidden
     */
    render(): void;
    /**
     * Refreshes the pager information.
     *
     * @returns {void}
     */
    refresh(): void;
    /**
     * Hides the Pager information.
     *
     * @returns {void}
     */
    hideMessage(): void;
    /**
     * Shows the Pager information.
     *
     * @returns {void}
     */
    showMessage(): void;
    /**
     * To destroy the PagerMessage
     *
     * @function destroy
     * @returns {void}
     * @hidden
     */
    destroy(): void;
    /**
     * To format the PagerMessage
     *
     * @function format
     * @param {string} str - specifies the string
     * @param {number[]} args - specifies the argument
     * @returns {string} returns the format string
     * @hidden
     */
    format(str: string, args: number[]): string;
    private isValidLocale;
}
//node_modules/@syncfusion/ej2-grids/src/pager/pager-dropdown.d.ts
/**
 * IPager interface
 *
 * @hidden
 */
export interface IPager {
    newProp: {
        value: number | string | boolean;
    };
}
/**
 * `PagerDropDown` module handles selected pageSize from DropDownList.
 */
export  class PagerDropDown {
    private pagerCons;
    private dropDownListObject;
    private pagerDropDownDiv;
    private pagerModule;
    /**
     * Constructor for pager module
     *
     * @param {Pager} pagerModule - specifies the pagermodule
     * @hidden
     */
    constructor(pagerModule?: Pager);
    /**
     * For internal use only - Get the module name.
     *
     * @returns {string} returns the module name
     * @private
     * @hidden
     */
    protected getModuleName(): string;
    /**
     * The function is used to render pager dropdown
     *
     * @returns {void}
     * @hidden
     */
    render(): void;
    /**
     * For internal use only - Get the pagesize.
     *
     * @param {ChangeEventArgs} e - specifies the changeeventargs
     * @returns {void}
     * @private
     * @hidden
     */
    private onChange;
    refresh(): void;
    private beforeValueChange;
    private convertValue;
    private isPageSizeAll;
    setDropDownValue(prop: string, value: string | number): void;
    addEventListener(): void;
    removeEventListener(): void;
    /**
     * To destroy the Pagerdropdown
     *
     * @param {string} args - specifies the arguments
     * @param {string} args.requestType - specfies the request type
     * @returns {void}
     * @hidden
     */
    destroy(args?: {
        requestType: string;
    }): void;
}
//node_modules/@syncfusion/ej2-grids/src/pager/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 target;
    private pagerModule;
    /**
     * Constructor for numericContainer module
     *
     * @param {Pager} pagerModule - specifies the pagerModule
     * @hidden
     */
    constructor(pagerModule?: Pager);
    /**
     * The function is used to render numericContainer
     *
     * @returns {void}
     * @hidden
     */
    render(): void;
    /**
     * Refreshes the numeric container of Pager.
     *
     * @returns {void}
     */
    refresh(): void;
    /**
     * The function is used to refresh refreshNumericLinks
     *
     * @returns {void}
     * @hidden
     */
    refreshNumericLinks(): void;
    /**
     * Binding events to the element while component creation
     *
     * @returns {void}
     * @hidden
     */
    wireEvents(): void;
    /**
     * Unbinding events from the element while component destroy
     *
     * @returns {void}
     * @hidden
     */
    unwireEvents(): void;
    /**
     * To destroy the PagerMessage
     *
     * @function destroy
     * @returns {void}
     * @hidden
     */
    destroy(): void;
    private refreshAriaAttrLabel;
    private renderNumericContainer;
    private renderFirstNPrev;
    private renderPrevPagerSet;
    private renderNextPagerSet;
    private renderNextNLast;
    private clickHandler;
    private auxiliaryClickHandler;
    private updateLinksHtml;
    private updateStyles;
    private updateFirstNPrevStyles;
    private updatePrevPagerSetStyles;
    private updateNextPagerSetStyles;
    private updateNextNLastStyles;
}
//node_modules/@syncfusion/ej2-grids/src/pager/external-message.d.ts
/**
 * `ExternalMessage` module is used to display user provided message.
 */
export  class ExternalMessage implements IRender {
    private element;
    private pagerModule;
    /**
     * Constructor for externalMessage module
     *
     * @param {Pager} pagerModule - specifies the pagermodule
     * @hidden
     */
    constructor(pagerModule?: Pager);
    /**
     * For internal use only - Get the module name.
     *
     * @returns {string} returns the module name
     * @private
     */
    protected getModuleName(): string;
    /**
     * The function is used to render pager externalMessage
     *
     * @returns {void}
     * @hidden
     */
    render(): void;
    /**
     * Refreshes the external message of Pager.
     *
     * @returns {void}
     */
    refresh(): void;
    /**
     * Hides the external message of Pager.
     *
     * @returns {void}
     */
    hideMessage(): void;
    /**
     * Shows the external message of the Pager.
     *
     * @returns {void}s
     */
    showMessage(): void;
    /**
     * To destroy the PagerMessage
     *
     * @function destroy
     * @returns {void}
     * @hidden
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-grids/src/grid/virtual-scroll.d.ts
/**
 * Virtual scroll export
 */
//node_modules/@syncfusion/ej2-grids/src/grid/toolbar.d.ts
/**
 * Toolbar export
 */
//node_modules/@syncfusion/ej2-grids/src/grid/sort.d.ts
/**
 * Sort export
 */
//node_modules/@syncfusion/ej2-grids/src/grid/services.d.ts
/**
 * Services
 */
//node_modules/@syncfusion/ej2-grids/src/grid/selection.d.ts
/**
 * Selection export
 */
//node_modules/@syncfusion/ej2-grids/src/grid/row-reorder.d.ts
/**
 * Row reorder export
 */
//node_modules/@syncfusion/ej2-grids/src/grid/resize.d.ts
/**
 * Resize export
 */
//node_modules/@syncfusion/ej2-grids/src/grid/reorder.d.ts
/**
 * Reorder export
 */
//node_modules/@syncfusion/ej2-grids/src/grid/renderer.d.ts
/**
 * Models
 */
//node_modules/@syncfusion/ej2-grids/src/grid/pdf-export.d.ts
/**
 * Pdf Export exports
 */
//node_modules/@syncfusion/ej2-grids/src/grid/page.d.ts
/**
 * Page export
 */
//node_modules/@syncfusion/ej2-grids/src/grid/models.d.ts
/**
 * Models
 */
//node_modules/@syncfusion/ej2-grids/src/grid/logger.d.ts
/**
 * Logger export
 */
//node_modules/@syncfusion/ej2-grids/src/grid/lazy-load-group.d.ts
/**
 * group-lazy-load export
 */
//node_modules/@syncfusion/ej2-grids/src/grid/infinite-scroll.d.ts
/**
 * infinite-scroll export
 */
//node_modules/@syncfusion/ej2-grids/src/grid/group.d.ts
/**
 * Group export
 */
//node_modules/@syncfusion/ej2-grids/src/grid/freeze.d.ts
/**
 * Freeze export
 */
//node_modules/@syncfusion/ej2-grids/src/grid/foreign-key.d.ts
/**
 * Foreign Key export
 */
//node_modules/@syncfusion/ej2-grids/src/grid/filter.d.ts
/**
 * Filter export
 */
//node_modules/@syncfusion/ej2-grids/src/grid/excel-export.d.ts
/**
 * Excel Export exports
 */
//node_modules/@syncfusion/ej2-grids/src/grid/edit.d.ts
/**
 * Edit export
 */
//node_modules/@syncfusion/ej2-grids/src/grid/detail-row.d.ts
/**
 * Detail row export
 */
//node_modules/@syncfusion/ej2-grids/src/grid/context-menu.d.ts
/**
 * Context menu export
 */
//node_modules/@syncfusion/ej2-grids/src/grid/common.d.ts
/**
 * Common export
 */
//node_modules/@syncfusion/ej2-grids/src/grid/command-column.d.ts
/**
 * Command column export
 */
//node_modules/@syncfusion/ej2-grids/src/grid/column-menu.d.ts
/**
 * Column menu export
 */
//node_modules/@syncfusion/ej2-grids/src/grid/column-chooser.d.ts
/**
 * Column chooser export
 */
//node_modules/@syncfusion/ej2-grids/src/grid/base.d.ts
/**
 * Base export
 */
//node_modules/@syncfusion/ej2-grids/src/grid/aggregate.d.ts
/**
 * Aggregate export
 */
//node_modules/@syncfusion/ej2-grids/src/grid/actions.d.ts
/**
 * Action export
 */
//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;
    /**
     * @returns {void}
     * @hidden
     */
    refreshFrozenScrollbar(): void;
    getSiblingsHeight(element: HTMLElement): number;
    private getHeightFromDirection;
    isWidthUndefined(): boolean;
    getWidth(column: Column): string | number;
    getTableWidth(columns: Column[], resetIndentWidth?: boolean): number | string;
    setWidthToTable(isMaxWidth?: boolean): void;
    private isAutoResize;
}
//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;
    recordsCount: number;
    rowModelGenerator: IModelGenerator<Column>;
    parent: IGrid;
    cOffsets: {
        [x: number]: number;
    };
    cache: {
        [x: number]: Row<Column>[];
    };
    rowCache: {
        [x: number]: Row<Column>;
    };
    data: {
        [x: number]: Object[];
    };
    groups: {
        [x: number]: Object;
    };
    currentInfo: VirtualInfo;
    private prevInfo;
    includePrevPage: boolean;
    startIndex: number;
    constructor(parent: IGrid);
    private columnInfiniteRows;
    generateRows(data: Object[], e?: NotifyArgs): Row<Column>[];
    private setBlockForManualRefresh;
    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>[];
    generateCells(foreignKeyData?: Object): Cell<Column>[];
    private getGroupVirtualRecordsByIndex;
}
//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/summary-model-generator.d.ts
/**
 * Summary row model generator
 *
 * @hidden
 */
export  class SummaryModelGenerator implements IModelGenerator<AggregateColumnModel> {
    protected parent: IGrid;
    /**
     * Constructor for Summary row model generator
     *
     * @param {IGrid} parent - specifies the IGrid
     */
    constructor(parent?: IGrid);
    getData(): Object;
    columnSelector(column: AggregateColumnModel): boolean;
    getColumns(start?: number): Column[];
    generateRows(input: Object[] | data.Group, args?: Object, start?: number, end?: number, columns?: Column[]): Row<AggregateColumnModel>[];
    getGeneratedRow(summaryRow: AggregateRowModel, data: Object, raw: number, start: number, end: number, parentUid?: string, columns?: Column[]): Row<AggregateColumnModel>;
    getGeneratedCell(column: Column, summaryRow: AggregateRowModel, cellType?: CellType, indent?: string, isDetailGridAlone?: boolean): Cell<AggregateColumnModel>;
    private buildSummaryData;
    protected getIndentByLevel(): string[];
    protected setTemplate(column: AggregateColumn, data: Object[], single: Object | data.Group): Object;
    protected getCellType(): CellType;
}
export  class GroupSummaryModelGenerator extends SummaryModelGenerator implements IModelGenerator<AggregateColumnModel> {
    columnSelector(column: AggregateColumnModel): boolean;
    protected getIndentByLevel(level?: number): string[];
    protected getCellType(): CellType;
}
export  class CaptionSummaryModelGenerator extends SummaryModelGenerator implements IModelGenerator<AggregateColumnModel> {
    columnSelector(column: AggregateColumnModel): boolean;
    getData(): Object;
    isEmpty(): boolean;
    protected getCellType(): CellType;
}
//node_modules/@syncfusion/ej2-grids/src/grid/services/service-locator.d.ts
/**
 * ServiceLocator
 *
 * @hidden
 */
export  class ServiceLocator {
    private services;
    register<T>(name: string, type: T): void;
    getService<T>(name: string): T;
    registerAdaptiveService(type: Filter | Sort | ColumnChooser | ColumnMenu, isAdaptiveUI: boolean, action: ResponsiveDialogAction): void;
}
//node_modules/@syncfusion/ej2-grids/src/grid/services/row-model-generator.d.ts
/**
 * RowModelGenerator is used to generate grid data rows.
 *
 * @hidden
 */
export  class RowModelGenerator implements IModelGenerator<Column> {
    protected parent: IGrid;
    /**
     * Constructor for header renderer module
     *
     * @param {IGrid} parent - specifies the IGrid
     */
    constructor(parent?: IGrid);
    generateRows(data: Object, args?: {
        startIndex?: number;
        requestType?: Action;
    }): Row<Column>[];
    protected ensureColumns(): Cell<Column>[];
    protected generateRow(data: Object, index: number, cssClass?: string, indent?: number, pid?: number, tIndex?: number, parentUid?: string): Row<Column>;
    protected refreshForeignKeyRow(options: IRow<Column>): void;
    protected generateCells(options: IRow<Column>): Cell<Column>[];
    /**
     *
     * @param {Column} column - Defines column details
     * @param {string} rowId - Defines row id
     * @param {CellType} cellType  - Defines cell type
     * @param {number} colSpan - Defines colSpan
     * @param {number} oIndex - Defines index
     * @param {Object} foreignKeyData - Defines foreign key data
     * @returns {Cell<Column>} returns cell model
     * @hidden
     */
    generateCell(column: Column, rowId?: string, cellType?: CellType, colSpan?: number, oIndex?: number, foreignKeyData?: Object): Cell<Column>;
    refreshRows(input?: Row<Column>[]): Row<Column>[];
    private getInfiniteIndex;
}
//node_modules/@syncfusion/ej2-grids/src/grid/services/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/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 movableEle;
    private fromWheel;
    private touchMove;
    private options;
    sentinelInfo: SentinelInfo;
    constructor(element: HTMLElement, options: InterSection, movableEle?: HTMLElement);
    observe(callback: Function, onEnterCallback: Function): void;
    check(direction: ScrollDirection): boolean;
    private virtualScrollHandler;
    setPageHeight(value: number): void;
}
//node_modules/@syncfusion/ej2-grids/src/grid/services/group-model-generator.d.ts
/**
 * GroupModelGenerator is used to generate group caption rows and data rows.
 *
 * @hidden
 */
export  class GroupModelGenerator extends RowModelGenerator implements IModelGenerator<Column> {
    private rows;
    /** @hidden */
    index: number;
    private infiniteChildCount;
    private isInfiniteScroll;
    private renderInfiniteAgg;
    private summaryModelGen;
    private captionModelGen;
    constructor(parent?: IGrid);
    generateRows(data: {
        length: number;
    }, args?: {
        startIndex?: number;
        requestType?: Action;
    }): Row<Column>[];
    private getGroupedRecords;
    private isRenderAggregate;
    private getPreCaption;
    private getCaptionRowCells;
    /**
     * @param {GroupedData} data - specifies the data
     * @param {number} indent - specifies the indent
     * @param {number} parentID - specifies the parentID
     * @param {number} childID - specifies the childID
     * @param {number} tIndex - specifies the TIndex
     * @param {string} parentUid - specifies the ParentUid
     * @returns {Row<Column>} returns the Row object
     * @hidden
     */
    generateCaptionRow(data: GroupedData, indent: number, parentID?: number, childID?: number, tIndex?: number, parentUid?: string): Row<Column>;
    private getForeignKeyData;
    /**
     * @param {Object[]} data - specifies the data
     * @param {number} indent - specifies the indent
     * @param {number} childID - specifies the childID
     * @param {number} tIndex - specifies the tIndex
     * @param {string} parentUid - specifies the ParentUid
     * @returns {Row<Column>[]} returns the row object
     * @hidden
     */
    generateDataRows(data: Object[], indent: number, childID?: number, tIndex?: number, parentUid?: string): Row<Column>[];
    private generateIndentCell;
    refreshRows(input?: Row<Column>[]): Row<Column>[];
    private setInfiniteRowVisibility;
    ensureRowVisibility(): void;
}
export interface GroupedData {
    GroupGuid?: string;
    items?: GroupedData;
    field?: string;
    isDataRow?: boolean;
    level?: number;
    key?: string;
    foreignKey?: string;
    count?: number;
    headerText?: string;
}
//node_modules/@syncfusion/ej2-grids/src/grid/services/focus-strategy.d.ts
/**
 * FocusStrategy class
 *
 * @hidden
 */
export  class FocusStrategy {
    parent: IGrid;
    currentInfo: FocusInfo;
    oneTime: boolean;
    swap: SwapInfo;
    content: IFocus;
    header: IFocus;
    active: IFocus;
    /** @hidden */
    isInfiniteScroll: boolean;
    /** @hidden */
    virtualSelectionInfo: VirtualSelectionInfo;
    private forget;
    private skipFocus;
    private focusByClick;
    private firstHeaderCellClick;
    private passiveHandler;
    /** @hidden */
    prevIndexes: IIndex;
    private focusedColumnUid;
    private refMatrix;
    private rowModelGen;
    private activeKey;
    private empty;
    private actions;
    private isVirtualScroll;
    private evtHandlers;
    private groupedFrozenRow;
    constructor(parent: IGrid);
    protected focusCheck(e: Event): void;
    protected onFocus(e?: FocusEvent): void;
    protected passiveFocus(e: FocusEvent): void;
    protected onBlur(e?: FocusEvent): void;
    /**
     * @returns {void}
     * @hidden */
    setFirstFocusableTabIndex(): void;
    private setLastContentCellTabIndex;
    onClick(e: Event | {
        target: Element;
        type?: string;
    }, force?: boolean, isFocusFirstCell?: boolean): void;
    private handleFilterNavigation;
    protected onKeyPress(e: base.KeyboardEventArgs): void;
    private isValidBatchEditCell;
    private findBatchEditCell;
    private setLastContentCellActive;
    private focusOutFromChildGrid;
    private focusOutFromHeader;
    private allowToPaging;
    private skipOn;
    private focusVirtualElement;
    getFocusedElement(): HTMLElement;
    getContent(): IFocus;
    setActive(content: boolean): void;
    setFocusedElement(element: HTMLElement, e?: base.KeyboardEventArgs): void;
    focus(e?: base.KeyboardEventArgs | FocusEvent): void;
    protected removeFocus(e?: FocusEvent): void;
    /**
     * @returns {void}
     * @hidden */
    addOutline(): void;
    /**
     * @returns {void}
     * @hidden */
    focusHeader(): void;
    /**
     * @returns {void}
     * @hidden */
    focusContent(): void;
    private resetFocus;
    protected addFocus(info: FocusInfo, e?: base.KeyboardEventArgs | FocusEvent): void;
    protected refreshMatrix(content?: boolean): Function;
    private refreshAddNewRowMatrix;
    addEventListener(): void;
    private showAddNewRowFocus;
    findNextCellFocus(matrix?: number[], cellIndex?: number): number;
    filterfocus(): void;
    removeEventListener(): void;
    destroy(): void;
    restoreFocus(arg?: NotifyArgs): void;
    restoreFocusWithAction(e: NotifyArgs): void;
    clearIndicator(): void;
    getPrevIndexes(): IIndex;
    forgetPrevious(): void;
    setActiveByKey(action: string, active: IFocus): void;
    internalCellFocus(e: CellFocusArgs): void;
    private commandColumnFocusElement;
}
/**
 * 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, active?: IFocus): number[];
    getRowsFromIndex(rowIndex: number, active: IFocus): HTMLTableRowElement | HTMLCollectionOf<HTMLTableRowElement>;
    nextVisibleCellFocus(rowIndex: number, columnIndex: number, action: string, navigator: number[], active: IFocus, tmp: number): number[];
    first(vector: number[], index: number, navigator: number[], moveTo?: boolean, action?: string): number;
    select(rowIndex: number, columnIndex: number): void;
    generate(rows: Row<Column>[], selector: Function, isRowTemplate?: boolean): number[][];
    columnsCount(rowColumns: Column[], currentColumnCount: number): number;
    inValid(value: number): boolean;
}
/**
 * @hidden
 */
export  class ContentFocus implements IFocus {
    matrix: Matrix;
    parent: IGrid;
    keyActions: {
        [x: string]: number[];
    };
    lastIdxCell: boolean;
    target: HTMLElement;
    indexesByKey: (action: string) => number[];
    focusType: FocusType;
    currentTarget: HTMLElement;
    action: string;
    constructor(parent: IGrid);
    getTable(): HTMLTableElement;
    onKeyPress(e: base.KeyboardEventArgs): void | boolean;
    private editNextRow;
    getCurrentFromAction(action: string, navigator?: number[], isPresent?: boolean, e?: base.KeyboardEventArgs): number[];
    private checkRowCellFocus;
    onClick(e: Event, force?: boolean): void | boolean;
    getFocusInfo(): FocusInfo;
    getFocusable(element: HTMLElement): HTMLElement;
    selector(row: Row<Column>, cell: Cell<Column>, isRowTemplate?: boolean): boolean;
    nextRowFocusValidate(index: number): number;
    previousRowFocusValidate(index: number): number;
    jump(action: string, current: number[]): SwapInfo;
    getNextCurrent(previous?: number[], swap?: SwapInfo, active?: IFocus, action?: string): number[];
    generateRows(rows?: Row<Column>[], optionals?: Object): void;
    getInfo(e?: base.KeyboardEventArgs): FocusedContainer;
    validator(): Function;
    protected shouldFocusChange(e: base.KeyboardEventArgs): boolean;
    protected getGridSeletion(): boolean;
}
/**
 * @hidden
 */
export  class HeaderFocus extends ContentFocus implements IFocus {
    constructor(parent: IGrid);
    getTable(): HTMLTableElement;
    onClick(e: Event): void | boolean;
    getFocusInfo(): FocusInfo;
    selector(row: Row<Column>, cell: Cell<Column>): boolean;
    jump(action: string, current: number[]): SwapInfo;
    getNextCurrent(previous?: number[], swap?: SwapInfo, active?: IFocus, action?: string): number[];
    generateRows(rows?: Row<Column>[]): void;
    private checkFilterColumn;
    getInfo(e?: base.KeyboardEventArgs): FocusedContainer;
    validator(): Function;
    protected shouldFocusChange(e: base.KeyboardEventArgs): boolean;
    getHeaderType(): string;
}
/** @hidden */
export  class SearchBox {
    searchBox: HTMLElement;
    private l10n;
    protected serviceLocator: ServiceLocator;
    constructor(searchBox: HTMLElement, serviceLocator?: ServiceLocator);
    searchFocus(args: {
        target: HTMLInputElement;
    }): void;
    protected searchBlur(args: Event & FocusEvent): void;
    wireEvent(): void;
    unWireEvent(): void;
}
//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/aria-service.d.ts
/**
 * AriaService
 *
 * @hidden
 */
export  class AriaService {
    setOptions(target: HTMLElement, options: IAriaOptions<boolean>): void;
    setExpand(target: HTMLElement, expand: boolean): void;
    setSort(target: HTMLElement, direction?: SortDirection | 'none' | boolean): void;
    setBusy(target: HTMLElement, isBusy: boolean): void;
    setGrabbed(target: HTMLElement, isGrabbed: boolean, remove?: boolean): void;
    setDropTarget(target: HTMLElement, isTarget: boolean): void;
}
/**
 * @hidden
 */
export interface IAriaOptions<T> {
    role?: string;
    datarole?: string;
    expand?: T;
    collapse?: T;
    selected?: T;
    multiselectable?: T;
    sort?: T | 'none';
    busy?: T;
    invalid?: T;
    grabbed?: T;
    dropeffect?: T;
    haspopup?: T;
    level?: T;
    colcount?: string;
    rowcount?: string;
}
//node_modules/@syncfusion/ej2-grids/src/grid/renderer/virtual-content-renderer.d.ts
/**
 * VirtualContentRenderer
 *
 * @hidden
 */
export  class VirtualContentRenderer extends ContentRender implements IRenderer {
    private count;
    private maxPage;
    private maxBlock;
    private widthServices;
    private prevHeight;
    /** @hidden */
    observer: InterSectionObserver;
    /**
     * @hidden
     */
    vgenerator: VirtualRowModelGenerator;
    /** @hidden */
    header: VirtualHeaderRenderer;
    /** @hidden */
    startIndex: number;
    private preStartIndex;
    private preEndIndex;
    /** @hidden */
    startColIndex: number;
    /** @hidden */
    endColIndex: number;
    private locator;
    private preventEvent;
    private actions;
    /** @hidden */
    content: HTMLElement;
    /** @hidden */
    offsets: {
        [x: number]: number;
    };
    private tmpOffsets;
    /** @hidden */
    virtualEle: VirtualElementHandler;
    private offsetKeys;
    private isFocused;
    private isSelection;
    private selectedRowIndex;
    private isBottom;
    private isBottomNotify;
    private diff;
    private heightChange;
    /** @hidden */
    isTop: boolean;
    /** @hidden */
    activeKey: string;
    /** @hidden */
    rowIndex: number;
    /** @hidden */
    blzRowIndex: number;
    /** @hidden */
    blazorDataLoad: boolean;
    private cellIndex;
    private empty;
    private isAdd;
    private isCancel;
    /** @hidden */
    requestType: string;
    private editedRowIndex;
    private requestTypes;
    private isNormaledit;
    /** @hidden */
    virtualData: Object;
    private virtualInfiniteData;
    private emptyRowData;
    private initialRowTop;
    private isContextMenuOpen;
    private selectRowIndex;
    private isSelectionScroll;
    private validationCheck;
    private validationCol;
    /** @hidden */
    firstCellFocus: boolean;
    private prevPage;
    private prevCurrentInfo;
    constructor(parent: IGrid, locator?: ServiceLocator);
    renderTable(): void;
    renderEmpty(tbody: HTMLElement): void;
    getReorderedFrozenRows(args: NotifyArgs): Row<Column>[];
    private scrollListener;
    private block;
    private getInfoFromView;
    ensureBlocks(info: VirtualInfo): number[];
    appendContent(target: HTMLElement, newChild: DocumentFragment | HTMLElement, e: NotifyArgs): void;
    private validationScrollLeft;
    private ensureSelectedRowPosition;
    private focusCell;
    private restoreEdit;
    private getVirtualEditedData;
    private restoreAdd;
    protected onDataReady(e?: NotifyArgs): void;
    /**
     * @param {number} height - specifies the height
     * @returns {void}
     * @hidden
     */
    setVirtualHeight(height?: number): void;
    /**
     * @param {number} sTop - specifies the sTop
     * @param {VirtualInfo} info - specifies the info
     * @returns {number} - return the page
     * @hidden
     */
    getPageFromTop(sTop: number, info: VirtualInfo): number;
    protected getTranslateY(sTop: number, cHeight: number, info?: VirtualInfo, isOnenter?: boolean): number;
    getOffset(block: number): number;
    private onEntered;
    private dataBound;
    /**
     * To calculate the position of frozen cells
     *
     * @param {number} valueX - specifies the transform X value
     * @param {DocumentFragment | HTMLElement} newChild - specifies the element to transform
     * @returns {void}
     * @hidden
     */
    resetStickyLeftPos(valueX?: number, newChild?: DocumentFragment | HTMLElement): void;
    private rowSelected;
    private isLastBlockRow;
    private refreshMaxPage;
    private setVirtualPageQuery;
    eventListener(action: string): void;
    private refreshVirtualLazyLoadCache;
    private scrollToEdit;
    private refreshCells;
    private resetVirtualFocus;
    /**
     * @param {Object} data - specifies the data
     * @param {Object} data.virtualData -specifies the data
     * @param {boolean} data.isAdd - specifies isAdd
     * @param {boolean} data.isCancel - specifies boolean in cancel
     * @param {boolean} data.isScroll - specifies boolean for scroll
     * @returns {void}
     * @hidden
     */
    getVirtualData(data: {
        virtualData: Object;
        isAdd: boolean;
        isCancel: boolean;
        isScroll: boolean;
    }): void;
    private selectRowOnContextOpen;
    private editCancel;
    private editSuccess;
    private updateCurrentViewData;
    private actionBegin;
    private virtualCellFocus;
    private editActionBegin;
    private getEditedRowObject;
    private refreshCache;
    private actionComplete;
    private resetIsedit;
    private scrollAfterEdit;
    private createEmptyRowdata;
    private addActionBegin;
    /**
     * @param {number} index - specifies the index
     * @returns {Object} returns the object
     * @hidden
     */
    getRowObjectByIndex(index: number): Object;
    getBlockSize(): number;
    getBlockHeight(): number;
    isEndBlock(index: number): boolean;
    isOddPageSize(): boolean;
    getOddBlockSize(): number;
    getGroupedTotalBlocks(): number;
    getTotalBlocks(): number;
    getColumnOffset(block: number): number;
    getModelGenerator(): IModelGenerator<Column>;
    private resetScrollPosition;
    private onActionBegin;
    getRows(): Row<Column>[];
    getRowByIndex(index: number): Element;
    getMovableVirtualRowByIndex(index: number): Element;
    getFrozenRightVirtualRowByIndex(index: number): Element;
    getRowCollection(index: number, isRowObject?: boolean): Element | Object;
    getVirtualRowIndex(index: number): number;
    /**
     * @returns {void}
     * @hidden */
    refreshOffsets(): void;
    refreshVirtualElement(): void;
    setVisible(columns?: Column[]): void;
    private selectVirtualRow;
    private isRowInView;
}
/**
 * @hidden
 */
export  class VirtualHeaderRenderer extends HeaderRender implements IRenderer {
    virtualEle: VirtualElementHandler;
    /** @hidden */
    gen: VirtualRowModelGenerator;
    movableTbl: Element;
    private isMovable;
    constructor(parent: IGrid, locator: ServiceLocator);
    renderTable(): void;
    appendContent(table: Element): void;
    refreshUI(): void;
    setVisible(columns?: Column[]): void;
    private setDisplayNone;
}
/**
 * @hidden
 */
export  class VirtualElementHandler {
    wrapper: HTMLElement;
    placeholder: HTMLElement;
    content: HTMLElement;
    table: HTMLElement;
    renderWrapper(height?: number): void;
    renderPlaceHolder(position?: string): void;
    renderFrozenWrapper(height?: number): void;
    renderFrozenPlaceHolder(): void;
    adjustTable(xValue: number, yValue: number): void;
    setWrapperWidth(width: string, full?: boolean): void;
    setVirtualHeight(height?: number, width?: string): void;
    setFreezeWrapperWidth(wrapper: HTMLElement, width: string, full?: boolean): void;
}
//node_modules/@syncfusion/ej2-grids/src/grid/renderer/toggleswitch-edit-cell.d.ts
/**
 * `ToggleEditCell` is used to handle boolean cell type editing.
 *
 * @hidden
 */
export  class ToggleEditCell extends EditCellBase implements IEditCell {
    private editRow;
    private editType;
    private activeClasses;
    create(args: {
        column: Column;
        value: string;
        type: string;
    }): Element;
    read(element: Element): boolean;
    write(args: {
        rowData: Object;
        element: Element;
        column: Column;
        requestType: string;
        row: Element;
    }): void;
    private switchModeChange;
}
//node_modules/@syncfusion/ej2-grids/src/grid/renderer/timepicker-edit-cell.d.ts
/**
 * `TimePickerEditCell` is used to handle Timepicker cell type editing.
 *
 * @hidden
 */
export  class TimePickerEditCell extends EditCellBase implements IEditCell {
    write(args: {
        rowData: Object;
        element: Element;
        column: Column;
        type: string;
        row: HTMLElement;
        requestType: string;
    }): void;
}
//node_modules/@syncfusion/ej2-grids/src/grid/renderer/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/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/string-filter-ui.d.ts
export  class StringFilterUI implements IFilterMUI {
    private parent;
    protected serLocator: ServiceLocator;
    private instance;
    private multiSelectCheckBoxInstance;
    private value;
    actObj: dropdowns.AutoComplete;
    private multiSelectObj;
    private filterSettings;
    private filter;
    private dialogObj;
    private dropdownOpen;
    private dropdownComplete;
    private acOpen;
    private acFocus;
    private acComplete;
    constructor(parent?: IGrid, serviceLocator?: ServiceLocator, filterSettings?: FilterSettings);
    create(args: IFilterCreate): void;
    private processDataOperation;
    private getAutoCompleteOptions;
    write(args: {
        column: Column;
        target: Element;
        parent: IGrid;
        filteredValue: number | string | Date | boolean | (string | number | boolean | Date)[];
    }): void;
    read(element: Element, column: Column, filterOptr: string, filterObj: Filter): void;
    private getAutoCompleteInstance;
    private getMultiSelectInstance;
    private createMultiSelectDropDown;
    private openPopup;
    private focus;
    private actionComplete;
    private actionCompleteMultiCheckBox;
    destroy(): void;
}
//node_modules/@syncfusion/ej2-grids/src/grid/renderer/stacked-cell-renderer.d.ts
/**
 * StackedHeaderCellRenderer class which responsible for building stacked header cell content.
 *
 * @hidden
 */
export  class StackedHeaderCellRenderer extends CellRenderer implements ICellRenderer<Column> {
    element: HTMLElement;
    /**
     * Function to render the cell content based on Column object.
     *
     * @param {Cell<Column>} cell - specifies the cell
     * @param {Object} data - specifies the data
     * @param {object} attributes - specifies the attributes
     * @returns {Element} returns the element
     */
    render(cell: Cell<Column>, data: Object, attributes?: {
        [x: string]: Object;
    }): Element;
}
//node_modules/@syncfusion/ej2-grids/src/grid/renderer/row-renderer.d.ts
/**
 * RowRenderer class which responsible for building row content.
 *
 * @hidden
 */
export  class RowRenderer<T> implements IRowRenderer<T> {
    element: Element;
    private cellRenderer;
    private serviceLocator;
    private cellType;
    private isSpan;
    protected parent: IGrid;
    constructor(serviceLocator?: ServiceLocator, cellType?: CellType, parent?: IGrid);
    /**
     * Function to render the row content based on Column[] and data.
     *
     * @param {Row<T>} row - specifies the row
     * @param {Column[]} columns - specifies the columns
     * @param {Object} attributes - specifies the attributes
     * @param {string} rowTemplate - specifies the rowTemplate
     * @param {Element} cloneNode - specifies the cloneNode
     * @returns {Element} returns the element
     */
    render(row: Row<T>, columns: Column[], attributes?: {
        [x: string]: Object;
    }, rowTemplate?: string, cloneNode?: Element): Element;
    /**
     * Function to refresh the row content based on Column[] and data.
     *
     * @param {Row<T>} row - specifies the row
     * @param {Column[]} columns - specifies the column
     * @param {boolean} isChanged - specifies isChanged
     * @param {Object} attributes - specifies the attributes
     * @param {string} rowTemplate - specifies the rowTemplate
     * @returns {void}
     */
    refresh(row: Row<T>, columns: Column[], isChanged: boolean, attributes?: {
        [x: string]: Object;
    }, rowTemplate?: string): void;
    private refreshRow;
    private resetrowSpanvalue;
    private disableRowSelection;
    private refreshMergeCells;
    /**
     * Function to check and add alternative row css class.
     *
     * @param {Element} tr - specifies the tr element
     * @param {Row<T>} row - specifies the row
     * @returns {void}
     */
    buildAttributeFromRow(tr: Element, row: Row<T>): void;
}
//node_modules/@syncfusion/ej2-grids/src/grid/renderer/row-drag-header-indent-render.d.ts
/**
 * DetailHeaderIndentCellRenderer class which responsible for building detail header indent cell.
 *
 * @hidden
 */
export  class RowDragDropHeaderRenderer extends CellRenderer implements ICellRenderer<Column> {
    element: HTMLElement;
    /**
     * Function to render the detail indent cell
     *
     * @param  {Cell} cell - specifies the cell
     * @param  {Object} data - specifies the data
     * @returns {Element} returns the element
     */
    render(cell: Cell<Column>, data: Object): Element;
}
//node_modules/@syncfusion/ej2-grids/src/grid/renderer/row-drag-drop-renderer.d.ts
/**
 * ExpandCellRenderer class which responsible for building group expand cell.
 *
 * @hidden
 */
export  class RowDragDropRenderer extends CellRenderer implements ICellRenderer<Column> {
    element: HTMLElement;
    /**
     * Function to render the detail expand cell
     *
     * @param {Cell<Column>} cell - specifies the cell
     * @param {Object} data - specifies the data
     * @returns {Element} returns the element
     */
    render(cell: Cell<Column>, data: Object): Element;
}
//node_modules/@syncfusion/ej2-grids/src/grid/renderer/responsive-dialog-renderer.d.ts
/**
 *
 * The `ResponsiveDialogRenderer` module is used to render the responsive dialogs.
 */
export  class ResponsiveDialogRenderer implements IAction {
    private parent;
    private serviceLocator;
    private customResponsiveDlg;
    private customFilterDlg;
    private customColumnDiv;
    private filterParent;
    private customExcelFilterParent;
    private sortedCols;
    private isSortApplied;
    private filterClearBtn;
    private saveBtn;
    private backBtn;
    private sortPredicate;
    private filteredCol;
    private menuCol;
    private isCustomDlgRender;
    private isFiltered;
    private isRowResponsive;
    private isDialogClose;
    private onActionCompleteFn;
    private evtHandlers;
    /** @hidden */
    action: ResponsiveDialogAction;
    /** @hidden */
    isCustomDialog: boolean;
    constructor(parent?: IGrid, serviceLocator?: ServiceLocator);
    addEventListener(): void;
    private customExFilterClose;
    private renderCustomFilterDiv;
    private renderResponsiveContextMenu;
    private refreshCustomFilterClearBtn;
    private refreshCustomFilterOkBtn;
    private columnMenuResponsiveContent;
    private renderResponsiveContent;
    private getSortedFieldsAndDirections;
    private sortButtonClickHandler;
    private resetSortButtons;
    private setSortedCols;
    private getCurrentSortedFields;
    private customFilterColumnClickHandler;
    /**
     * Function to show the responsive dialog
     *
     * @param {Column} col - specifies the filter column
     * @param {Column} column - specifies the menu column
     * @returns {void}
     */
    showResponsiveDialog(col?: Column, column?: Column): void;
    private setTopToChildDialog;
    private renderCustomFilterDialog;
    private getDialogOptions;
    private renderResponsiveDialog;
    private dialogCreated;
    private dialogOpen;
    private beforeDialogClose;
    private sortColumn;
    private getHeaderTitle;
    private getDialogName;
    private getButtonText;
    /**
     * Function to render the responsive header
     *
     * @param {Column} col - specifies the column
     * @param {ResponsiveDialogArgs} args - specifies the responsive dialog arguments
     * @param {boolean} isCustomFilter - specifies whether it is custom filter or not
     * @returns {HTMLElement | string} returns the html element or string
     */
    renderResponsiveHeader(col: Column, args?: ResponsiveDialogArgs, isCustomFilter?: boolean): HTMLElement | string;
    private filterClear;
    private removeCustomFilterElement;
    /**
     * Function to close the Responsive Column Chooser dialog.
     * @returns {void}
     * @hidden
     */
    hideResponsiveColumnChooser(): void;
    private dialogHdrBtnClickHandler;
    private closeCustomDialog;
    private destroyCustomFilterDialog;
    private closeCustomFilter;
    private removeCustomDlgFilterEle;
    private keyHandler;
    private editComplate;
    removeEventListener(): void;
}
//node_modules/@syncfusion/ej2-grids/src/grid/renderer/render.d.ts
/**
 * Content module is used to render grid content
 *
 * @hidden
 */
export  class Render {
    private isColTypeDef;
    private parent;
    private locator;
    private headerRenderer;
    private contentRenderer;
    private l10n;
    data: Data;
    private ariaService;
    private renderer;
    private emptyGrid;
    private isLayoutRendered;
    private counter;
    /**
     * @hidden
     */
    vgenerator: VirtualRowModelGenerator;
    /**
     * Constructor for render module
     *
     * @param {IGrid} parent - specifies the IGrid
     * @param {ServiceLocator} locator - specifies the serviceLocator
     */
    constructor(parent?: IGrid, locator?: ServiceLocator);
    /**
     * To initialize grid header, content and footer rendering
     *
     * @returns {void}
     */
    render(): void;
    /**
     * Refresh the entire Grid.
     *
     * @param {NotifyArgs} e - specifies the NotifyArgs
     * @returns {void}
     */
    refresh(e?: NotifyArgs): void;
    /**
     * @returns {void}
     * @hidden
     */
    resetTemplates(): void;
    private refreshComplete;
    /**
     * The function is used to refresh the dataManager
     *
     * @param {NotifyArgs} args - specifies the args
     * @returns {void}
     */
    private refreshDataManager;
    private getFData;
    private isNeedForeignAction;
    private foreignKey;
    private sendBulkRequest;
    private dmSuccess;
    private dmFailure;
    /**
     * Render empty row to Grid which is used at the time to represent to no records.
     *
     * @returns {void}
     * @hidden
     */
    renderEmptyRow(): void;
    emptyRow(isTrigger?: boolean): void;
    private dynamicColumnChange;
    private updateColumnType;
    /**
     * @param {ReturnType} e - specifies the return type
     * @param {NotifyArgs} args - specifies the Notifyargs
     * @returns {void}
     * @hidden
     */
    dataManagerSuccess(e: ReturnType, args?: NotifyArgs): void;
    /**
     * @param {object} e - specifies the object
     * @param {Object[]} e.result - specifies the result
     * @param {NotifyArgs} args - specifies the args
     * @returns {void}
     * @hidden
     */
    dataManagerFailure(e: {
        result: Object[];
    }, args: NotifyArgs): void;
    private setRowCount;
    private isInfiniteEnd;
    private updatesOnInitialRender;
    private iterateComplexColumns;
    private buildColumns;
    private instantiateRenderer;
    private addEventListener;
    /**
     * @param {ReturnType} e - specifies the Return type
     * @returns {Promise<Object>} returns the object
     * @hidden
     */
    validateGroupRecords(e: ReturnType): Promise<Object>;
    /**
     * @param {string} key - Defines the key
     * @param {string} operator - Defines the operator
     * @param {string | number | Date} value - Defines the value
     * @returns {data.Predicate} - Returns the predicate
     * @hidden */
    getPredicate(key: string, operator: string, value: string | number | Date): data.Predicate;
    /**
     * @param {Object[]} current - Defines the current object
     * @param {Object[]} untouched - Defines the object needs to merge
     * @returns {Object[]} - Returns the updated group information
     * @hidden */
    updateGroupInfo(current: Object[], untouched: Object[]): Object[];
}
//node_modules/@syncfusion/ej2-grids/src/grid/renderer/numeric-edit-cell.d.ts
/**
 * `NumericEditCell` is used to handle numeric cell type editing.
 *
 * @hidden
 */
export  class NumericEditCell implements IEditCell {
    private parent;
    private obj;
    private instances;
    constructor(parent?: IGrid);
    private keyEventHandler;
    create(args: {
        column: Column;
        value: string;
    }): Element;
    read(element: Element): number;
    write(args: {
        rowData: Object;
        element: Element;
        column: Column;
        row: HTMLElement;
        requestType: string;
    }): void;
    destroy(): void;
}
//node_modules/@syncfusion/ej2-grids/src/grid/renderer/number-filter-ui.d.ts
export  class NumberFilterUI implements IFilterMUI {
    private parent;
    protected serviceLocator: ServiceLocator;
    private numericInstance;
    private value;
    private numericTxtObj;
    private multiSelectObj;
    private filterSettings;
    private filter;
    private multiSelectCheckBoxInstance;
    private dialogObj;
    private dropdownOpen;
    private dropdownComplete;
    constructor(parent?: IGrid, serviceLocator?: ServiceLocator, filterSettings?: FilterSettings);
    private keyEventHandler;
    create(args: IFilterCreate): void;
    write(args: {
        column: Column;
        target: Element;
        parent: IGrid;
        filteredValue: number | string | Date | boolean | (string | number | boolean | Date)[];
    }): void;
    read(element: Element, column: Column, filterOptr: string, filterObj: Filter): void;
    private createNumericTextBox;
    private createMultiSelectDropDown;
    private getNumericInstance;
    private getMultiSelectInstance;
    private openPopup;
    private actionComplete;
    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 extends EditCellBase implements IEditCell {
    private column;
    write(args: {
        rowData: Object;
        element: Element;
        column: Column;
        row: HTMLElement;
        requestType: string;
    }): void;
}
//node_modules/@syncfusion/ej2-grids/src/grid/renderer/inputmask-edit-cell.d.ts
/**
 * `MaskedTextBoxCellEdit` is used to handle masked input cell type editing.
 *
 * @hidden
 */
export  class MaskedTextBoxCellEdit extends EditCellBase implements IEditCell {
    private column;
    write(args: {
        rowData: Object;
        element: Element;
        column: Column;
        row: HTMLElement;
        requestType: string;
    }): void;
}
//node_modules/@syncfusion/ej2-grids/src/grid/renderer/inline-edit-renderer.d.ts
/**
 * Edit render module is used to render grid edit row.
 *
 * @hidden
 */
export  class InlineEditRender {
    private parent;
    private isEdit;
    /**
     * Constructor for render module
     *
     * @param {IGrid} parent - returns the IGrid
     */
    constructor(parent?: IGrid);
    addNew(elements: Object, args: {
        row?: Element;
        rowData?: Object;
        isScroll?: boolean;
    }): void;
    update(elements: Object, args: {
        row?: Element;
        rowData?: Object;
    }): void;
    private getEditElement;
    removeEventListener(): void;
    private appendChildren;
}
//node_modules/@syncfusion/ej2-grids/src/grid/renderer/indent-cell-renderer.d.ts
/**
 * IndentCellRenderer class which responsible for building group indent cell.
 *
 * @hidden
 */
export  class IndentCellRenderer extends CellRenderer implements ICellRenderer<Column> {
    element: HTMLElement;
    /**
     * Function to render the indent cell
     *
     * @param  {Cell} cell - specifies the cell
     * @param  {Object} data - specifies the data
     * @returns {Element} returns the element
     */
    render(cell: Cell<Column>, data: Object): Element;
}
//node_modules/@syncfusion/ej2-grids/src/grid/renderer/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;
    draggable: base.Draggable;
    private droppable;
    private isFirstCol;
    private isReplaceDragEle;
    private helper;
    private dragStart;
    private drag;
    private dragStop;
    private drop;
    protected parent: IGrid;
    protected serviceLocator: ServiceLocator;
    protected widthService: ColumnWidthService;
    protected ariaService: AriaService;
    /**
     * Constructor for header renderer module
     *
     * @param {IGrid} parent - specifies the IGrid
     * @param {ServiceLocator} serviceLocator - specifies the serviceLocator
     */
    constructor(parent?: IGrid, serviceLocator?: ServiceLocator);
    /**
     * The function is used to render grid header div
     *
     * @returns {void}
     */
    renderPanel(): void;
    /**
     * The function is used to render grid header div
     *
     * @returns {void}
     */
    renderTable(): void;
    /**
     * Get the header content div element of grid
     *
     * @returns {Element} returns the element
     */
    getPanel(): Element;
    /**
     * Set the header content div element of grid
     *
     * @param  {Element} panel - specifies the panel element
     * @returns {void}
     */
    setPanel(panel: Element): void;
    /**
     * Get the header table element of grid
     *
     * @returns {Element} returns the element
     */
    getTable(): Element;
    /**
     * Set the header table element of grid
     *
     * @param  {Element} table - specifies the table element
     * @returns {void}
     */
    setTable(table: Element): void;
    /**
     * Get the header colgroup element
     *
     * @returns {Element} returns the element
     */
    getColGroup(): Element;
    /**
     * Set the header colgroup element
     *
     * @param {Element} colGroup - specifies the colgroup
     * @returns {Element} returns the element
     */
    setColGroup(colGroup: Element): Element;
    /**
     * Get the header row element collection.
     *
     * @returns {Element[]} returns the element
     */
    getRows(): Row<Column>[] | HTMLCollectionOf<HTMLTableRowElement>;
    /**
     * The function is used to create header table elements
     *
     * @returns {Element} returns the element
     * @hidden
     */
    private createHeaderTable;
    /**
     * The function is used to create header table elements
     *
     * @param {Element} tableEle - specifies the table Element
     * @param {freezeTable} tableName - specifies the table name
     * @returns {Element} returns the element
     * @hidden
     */
    createHeader(tableEle?: Element, tableName?: freezeTable): Element;
    /**
     * @param {Element} tableEle - specifies the column
     * @returns {Element} returns the element
     * @hidden
     */
    createTable(tableEle?: Element): Element;
    private createHeaderContent;
    private updateColGroup;
    private ensureColumns;
    private getHeaderCells;
    private appendCells;
    private getStackedLockColsCount;
    private getColSpan;
    private generateRow;
    private generateCell;
    /**
     * Function to hide header table column based on visible property
     *
     * @param {Column[]} columns - specifies the column
     * @returns {void}
     */
    setVisible(columns?: Column[]): void;
    private colPosRefresh;
    /**
     * Refresh the header of the Grid.
     *
     * @returns {void}
     */
    refreshUI(): void;
    toggleStackClass(div: Element): void;
    appendContent(table?: Element): void;
    private getCellCnt;
    protected initializeHeaderDrag(): void;
    protected initializeHeaderDrop(): void;
    private droppableDestroy;
    private renderCustomToolbar;
    private updateCustomResponsiveToolbar;
}
//node_modules/@syncfusion/ej2-grids/src/grid/renderer/header-indent-renderer.d.ts
/**
 * HeaderIndentCellRenderer class which responsible for building header indent cell.
 *
 * @hidden
 */
export  class HeaderIndentCellRenderer extends CellRenderer implements ICellRenderer<Column> {
    element: HTMLElement;
    /**
     * Function to render the indent cell
     *
     * @param  {Cell} cell - specifies the cell
     * @param  {Object} data - specifies the data
     * @returns {Element} returns the element
     */
    render(cell: Cell<Column>, data: Object): Element;
}
//node_modules/@syncfusion/ej2-grids/src/grid/renderer/header-cell-renderer.d.ts
/**
 * HeaderCellRenderer class which responsible for building header cell content.
 *
 * @hidden
 */
export  class HeaderCellRenderer extends CellRenderer implements ICellRenderer<Column> {
    element: HTMLElement;
    private ariaService;
    private hTxtEle;
    private sortEle;
    private gui;
    private chkAllBox;
    /**
     * Function to return the wrapper for the TH content.
     *
     * @returns {string | Element} returns the element
     */
    getGui(): string | Element;
    /**
     * Function to render the cell content based on Column object.
     *
     * @param {Cell} cell - specifies the column
     * @param {Object} data - specifies the data
     * @param {object} attributes - specifies the aattributes
     * @returns {Element} returns the element
     */
    render(cell: Cell<Column>, data: Object, attributes?: {
        [x: string]: Object;
    }): Element;
    /**
     * Function to refresh the cell content based on Column object.
     *
     * @param  {Cell} cell - specifies the cell
     * @param  {Element} node - specifies the noe
     * @returns {Element} returns the element
     */
    refresh(cell: Cell<Column>, node: Element): Element;
    private clean;
    private prepareHeader;
    getValue(field: string, column: Column): Object;
    private extendPrepareHeader;
    /**
     * Function to specifies how the result content to be placed in the cell.
     *
     * @param  {Element} node - specifies the node
     * @param  {string|Element} innerHtml - specifies the innerHtml
     * @returns {Element} returns the element
     */
    appendHtml(node: Element, innerHtml: string | Element): Element;
}
//node_modules/@syncfusion/ej2-grids/src/grid/renderer/group-lazy-load-renderer.d.ts
/**
 * GroupLazyLoadRenderer is used to perform lazy load grouping
 *
 * @hidden
 */
export  class GroupLazyLoadRenderer extends ContentRender implements IRenderer {
    private locator;
    private groupGenerator;
    private summaryModelGen;
    private captionModelGen;
    private rowRenderer;
    constructor(parent: IGrid, locator?: ServiceLocator);
    private childCount;
    private scrollData;
    private rowIndex;
    private rowObjectIndex;
    private isFirstChildRow;
    private isScrollDown;
    private isScrollUp;
    private uid1;
    private uid2;
    private uid3;
    private blockSize;
    private groupCache;
    private cacheRowsObj;
    private startIndexes;
    private captionCounts;
    private rowsByUid;
    private objIdxByUid;
    private initialGroupCaptions;
    private requestType;
    private scrollTopCache;
    /** @hidden */
    refRowsObj: {
        [x: number]: Row<Column>[];
    };
    /** @hidden */
    pageSize: number;
    /** @hidden */
    cacheMode: boolean;
    /** @hidden */
    cacheBlockSize: number;
    /** @hidden */
    ignoreAccent: boolean;
    /** @hidden */
    allowCaseSensitive: boolean;
    /** @hidden */
    lazyLoadQuery: Object[];
    private eventListener;
    /**
     * @param {HTMLTableRowElement} tr - specifies the table row element
     * @returns {void}
     * @hidden
     */
    captionExpand(tr: HTMLTableRowElement): void;
    /**
     * @param {HTMLTableRowElement} tr - specifies the table row element
     * @returns {void}
     * @hidden
     */
    captionCollapse(tr: HTMLTableRowElement): void;
    /**
     * @returns {void}
     * @hidden */
    setLazyLoadPageSize(): void;
    /**
     * @returns {void}
     * @hidden */
    clearLazyGroupCache(): void;
    private clearCache;
    private refreshCaches;
    private getInitialCaptionIndexes;
    /**
     * @param {string} uid - specifies the uid
     * @returns {number} returns the row object uid
     * @hidden
     */
    getRowObjectIndexByUid(uid: string): number;
    private collapseShortcut;
    private getRowByUid;
    private actionBegin;
    private actionComplete;
    private resetRowMaintenance;
    private moveCells;
    private removeRows;
    private addClass;
    private getNextChilds;
    private lazyLoadHandler;
    private setRowIndexes;
    private getStartIndex;
    private prevCaptionCount;
    private setStartIndexes;
    private hasLastChildRow;
    private refreshCaptionRowCount;
    private render;
    /**
     * @param {Row<Column>} row - specifies the row
     * @param {number} index - specifies the index
     * @returns {void}
     * @hidden
     */
    maintainRows(row: Row<Column>, index?: number): void;
    private confirmRowRendering;
    private refreshRowObjects;
    private getAggregateByCaptionIndex;
    private getChildRowsByParentIndex;
    /**
     * @param {boolean} isReorder - specifies the isreorder
     * @returns {Row<Column>[]} returns the row
     * @hidden
     */
    initialGroupRows(isReorder?: boolean): Row<Column>[];
    /**
     * @returns {Row<Column>[]} retruns the row
     * @hidden */
    getRenderedRowsObject(): Row<Column>[];
    private getCacheRowsOnDownScroll;
    private getCacheRowsOnUpScroll;
    private scrollHandler;
    private scrollUpEndRowHandler;
    private scrollDownHandler;
    private getCurrentBlockEndIndex;
    private removeBlock;
    private scrollUpHandler;
    private findRowElements;
    private getRowElementByUid;
    private removeTopRows;
    private removeBottomRows;
    private setCache;
    private captionRowExpand;
    private scrollReset;
    private updateCurrentViewData;
    /**
     * @returns {Row<Column>[]} returns the row
     * @hidden */
    getGroupCache(): {
        [x: number]: Row<Column>[];
    };
    /**
     * @returns {Row<Column>[]} returns the row
     * @hidden */
    getRows(): Row<Column>[];
    /**
     * @returns {Element} returns the element
     * @hidden */
    getRowElements(): Element[];
    /**
     * @param {number} index - specifies the index
     * @returns {Element} returns the element
     * @hidden
     */
    getRowByIndex(index: number): Element;
    /**
     * Tucntion to set the column visibility
     *
     * @param {Column[]} columns - specifies the column
     * @returns {void}
     * @hidden
     */
    setVisible(columns?: Column[]): void;
    /**
     * Function to set display.
     *
     * @param {Object} tr - specifies the row object
     * @param {number} idx - specifies the index
     * @param {string} displayVal - specifies the display value
     * @param {Row<Column>[]} rows - specifies the array of rows
     * @param {number} oriIdx - specifies the index
     * @returns {void}
     * @hidden
     */
    setDisplayNone(tr: Object, idx: number, displayVal: string, rows: Row<Column>[], oriIdx?: number): void;
    private changeCaptionRow;
    private showAndHideCells;
}
//node_modules/@syncfusion/ej2-grids/src/grid/renderer/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 evtHandlers;
    constructor(gridModule?: IGrid, serviceLocator?: ServiceLocator);
    /**
     * The function is used to render grid footer div
     *
     * @returns {void}
     */
    renderPanel(): void;
    /**
     * The function is used to render grid footer table
     *
     * @returns {void}
     */
    renderTable(): void;
    private renderSummaryContent;
    refresh(e?: {
        aggregates?: Object;
    }): void;
    refreshCol(): void;
    private onWidthChange;
    private onScroll;
    getColFromIndex(index?: number): HTMLElement;
    private columnVisibilityChanged;
    addEventListener(): void;
    removeEventListener(): void;
    private updateFooterTableWidth;
    refreshFooterRenderer(editedData: Object[]): void;
    getIndexByKey(data: object, ds: object[]): number;
    private getData;
    onAggregates(editedData: Object[]): Object;
}
//node_modules/@syncfusion/ej2-grids/src/grid/renderer/filter-menu-renderer.d.ts
/**
 * `filter menu` render boolean column.
 *
 * @hidden
 */
export  class FilterMenuRenderer {
    private parent;
    private filterObj;
    private serviceLocator;
    private dlgDiv;
    private l10n;
    dlgObj: popups.Dialog;
    private valueFormatter;
    private operator;
    private filterSettings;
    customFilterOperators: ICustomOptr;
    private dropOptr;
    private flMuiObj;
    private col;
    private isDialogOpen;
    menuFilterBase: any;
    options: IFilterArgs;
    private maxHeight;
    private isMenuCheck;
    private currentDialogCreatedColumn;
    private colTypes;
    constructor(parent?: IGrid, filterSettings?: FilterSettings, serviceLocator?: ServiceLocator, customFltrOperators?: Object, fltrObj?: Filter);
    protected clearCustomFilter(col: Column): void;
    protected applyCustomFilter(args: {
        col: Column;
    }): void;
    private openDialog;
    private closeDialog;
    private renderDlgContent;
    private renderResponsiveDialog;
    private dialogCreated;
    /**
     * Function to notify filterDialogCreated and trigger actionComplete
     *
     * @returns {void}
     * @hidden
     */
    afterRenderFilterUI(): void;
    private renderFilterUI;
    private renderOperatorUI;
    private renderFlValueUI;
    private writeMethod;
    private filterBtnClick;
    private closeResponsiveDialog;
    private clearBtnClick;
    destroy(): void;
    /**
     * @returns {FilterUI} returns the filterUI
     * @hidden
     */
    getFilterUIInfo(): FilterUI;
    getOperatorDropdown(): dropdowns.DropDownList;
    renderCheckBoxMenu(): HTMLElement;
    private actionComplete;
}
//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;
    dropOptr: dropdowns.DropDownList;
    private customOptr;
    private optrData;
    private dialogObj;
    private ddOpen;
    constructor(parent?: IGrid, customFltrOperators?: Object, serviceLocator?: ServiceLocator, filterSettings?: FilterSettings);
    /**
     * @param {Element} dlgConetntEle - specifies the content element
     * @param {Element} target - specifies the target
     * @param {Column} column - specifies the column
     * @param {popups.Dialog} dlgObj - specifies the dialog
     * @param {Object[]} operator - specifies the operator list
     * @returns {void}
     * @hidden
     */
    renderOperatorUI(dlgConetntEle: Element, target: Element, column: Column, dlgObj: popups.Dialog, operator?: {
        [key: string]: Object;
    }[]): void;
    private renderResponsiveDropDownList;
    private dropDownOpen;
    private dropSelectedVal;
    /**
     * @returns {string} returns the operator
     * @hidden
     */
    getFlOperator(): string;
    private destroyDropDownList;
}
//node_modules/@syncfusion/ej2-grids/src/grid/renderer/filter-cell-renderer.d.ts
/**
 * FilterCellRenderer class which responsible for building filter cell.
 *
 * @hidden
 */
export  class FilterCellRenderer extends CellRenderer implements ICellRenderer<Column> {
    element: HTMLElement;
    private dropOptr;
    /**
     * Function to return the wrapper for the TH content.
     *
     * @returns {string} returns the gui
     */
    getGui(): string | Element;
    /**
     * Function to render the cell content based on Column object.
     *
     * @param  {Cell} cell
     * @param  {Object} data
     */
    render(cell: Cell<Column>, data: Object): Element;
    /**
     * Function to specifies how the result content to be placed in the cell.
     *
     * @param {Element} node - specifies the node
     * @param {string|Element} innerHtml - specifies the innerHTML
     * @returns {Element} retruns the element
     */
    appendHtml(node: Element, innerHtml: string | Element): Element;
    private operatorIconRender;
    private internalEvent;
}
//node_modules/@syncfusion/ej2-grids/src/grid/renderer/expand-cell-renderer.d.ts
/**
 * ExpandCellRenderer class which responsible for building group expand cell.
 *
 * @hidden
 */
export  class ExpandCellRenderer extends IndentCellRenderer implements ICellRenderer<Column> {
    /**
     * Function to render the expand cell
     *
     * @param {Cell} cell - specifies the cell
     * @param {Object} data - specifies the data
     * @param {string} data.field - Defines the field
     * @param {string} data.key - Defines the key
     * @param {Object} attr - specifies the attribute
     * @param {boolean} isExpand - specifies isexpand
     * @returns {Element} returns the element
     */
    render(cell: Cell<Column>, data: {
        field: string;
        key: string;
    }, attr?: {
        [x: string]: string;
    }, isExpand?: boolean): Element;
}
//node_modules/@syncfusion/ej2-grids/src/grid/renderer/edit-renderer.d.ts
/**
 * Edit render module is used to render grid edit row.
 *
 * @hidden
 */
export  class EditRender {
    private editType;
    protected parent: IGrid;
    private renderer;
    protected serviceLocator: ServiceLocator;
    private focus;
    /**
     * Constructor for render module
     *
     * @param {IGrid} parent -specifies the IGrid
     * @param {ServiceLocator} serviceLocator - specifies the serviceLocator
     */
    constructor(parent?: IGrid, serviceLocator?: ServiceLocator);
    addNew(args: Object): void;
    update(args: Object): void;
    private convertWidget;
    private focusElement;
    getEditElements(args: {
        rowData?: Object;
        columnName?: string;
        requestType?: string;
        row?: Element;
        rowIndex?: number;
        isScroll?: boolean;
        isCustomFormValidation?: boolean;
    }): Object;
    destroy(): void;
}
//node_modules/@syncfusion/ej2-grids/src/grid/renderer/edit-cell-base.d.ts
/**
 * `DropDownEditCell` is used to handle dropdown cell type editing.
 *
 * @hidden
 */
export  class EditCellBase implements IEditCell {
    protected parent: IGrid;
    protected obj: dropdowns.AutoComplete | buttons.CheckBox | dropdowns.ComboBox | calendars.DatePicker | inputs.TextBox | dropdowns.DropDownList | inputs.MaskedTextBox | dropdowns.MultiSelect | calendars.TimePicker | buttons.Switch;
    protected removeEventHandler: Function;
    constructor(parent?: IGrid);
    create(args: {
        column: Column;
        value: string;
        type?: string;
        requestType?: string;
    }): Element;
    read(element: Element): string | boolean | Date;
    destroy(): void;
}
//node_modules/@syncfusion/ej2-grids/src/grid/renderer/dropdown-edit-cell.d.ts
/**
 * `DropDownEditCell` is used to handle dropdown cell type editing.
 *
 * @hidden
 */
export  class DropDownEditCell extends EditCellBase implements IEditCell {
    private column;
    private flag;
    private ddCreated;
    private ddBeforeOpen;
    private ddOpen;
    private ddComplete;
    constructor(parent?: IGrid);
    write(args: {
        rowData: Object;
        element: Element;
        column: Column;
        row: HTMLElement;
        requestType: string;
        foreignKeyData?: Object[];
    }): void;
    private dropDownClose;
    private addEventListener;
    private removeEventListener;
    private dropdownCreated;
    private dropdownBeforeOpen;
    private ddActionComplete;
    private dropDownOpen;
}
//node_modules/@syncfusion/ej2-grids/src/grid/renderer/dialog-edit-renderer.d.ts
/**
 * Edit render module is used to render grid edit row.
 *
 * @hidden
 */
export  class DialogEditRender {
    private parent;
    private l10n;
    private isEdit;
    private serviceLocator;
    private dialog;
    private dialogObj;
    /**
     * Constructor for render module
     *
     * @param {IGrid} parent - specifies the IGrid
     * @param {ServiceLocator} serviceLocator - specifies the serviceLocator
     */
    constructor(parent?: IGrid, serviceLocator?: ServiceLocator);
    private setLocaleObj;
    addNew(elements: Element[], args: {
        primaryKeyValue?: string[];
    }): void;
    update(elements: Element[], args: {
        primaryKeyValue?: string[];
    }): void;
    private createDialogHeader;
    private createDialog;
    private dialogCreated;
    private renderResponsiveDialog;
    private btnClick;
    private dialogClose;
    private destroy;
    private getDialogEditTemplateElement;
    private getEditElement;
    removeEventListener(): void;
}
//node_modules/@syncfusion/ej2-grids/src/grid/renderer/detail-header-indent-renderer.d.ts
/**
 * DetailHeaderIndentCellRenderer class which responsible for building detail header indent cell.
 *
 * @hidden
 */
export  class DetailHeaderIndentCellRenderer extends CellRenderer implements ICellRenderer<Column> {
    element: HTMLElement;
    /**
     * Function to render the detail indent cell
     *
     * @param  {Cell} cell - specifies the cell
     * @param  {Object} data - specifies the data
     * @returns {Element} returns the element
     */
    render(cell: Cell<Column>, data: Object): Element;
}
//node_modules/@syncfusion/ej2-grids/src/grid/renderer/detail-expand-cell-renderer.d.ts
/**
 * ExpandCellRenderer class which responsible for building group expand cell.
 *
 * @hidden
 */
export  class DetailExpandCellRenderer extends CellRenderer implements ICellRenderer<Column> {
    element: HTMLElement;
    /**
     * Function to render the detail expand cell
     *
     * @param {Cell<Column>} cell - specifies the cell
     * @param {Object} data - specifies the data
     * @param {Object} attributes - specifies the attributes
     * @returns {Element} returns the element
     */
    render(cell: Cell<Column>, data: Object, attributes?: Object): Element;
}
//node_modules/@syncfusion/ej2-grids/src/grid/renderer/default-edit-cell.d.ts
/**
 * `DefaultEditCell` is used to handle default cell type editing.
 *
 * @hidden
 */
export  class DefaultEditCell extends EditCellBase implements IEditCell {
    create(args: {
        column: Column;
        value: string;
        requestType: string;
    }): Element;
    read(element: Element): string;
    write(args: {
        rowData: Object;
        element: Element;
        column: Column;
        requestType: string;
    }): void;
    private keyEventHandler;
    destroy(): void;
}
//node_modules/@syncfusion/ej2-grids/src/grid/renderer/datepicker-edit-cell.d.ts
/**
 * `DatePickerEditCell` is used to handle datepicker cell type editing.
 *
 * @hidden
 */
export  class DatePickerEditCell extends EditCellBase implements IEditCell {
    edit: Edit;
    isMaskModuleInjected: boolean;
    constructor(parent?: IGrid);
    write(args: {
        rowData: Object;
        element: Element;
        column: Column;
        type: string;
        row: HTMLElement;
        requestType: string;
    }): 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;
    private dpOpen;
    constructor(parent?: IGrid, serviceLocator?: ServiceLocator, filterSettings?: FilterSettings);
    create(args: IFilterCreate): void;
    write(args: {
        column: Column;
        target: Element;
        parent: IGrid;
        filteredValue: number | string | Date | boolean | (string | number | boolean | Date)[];
    }): void;
    read(element: Element, column: Column, filterOptr: string, filterObj: Filter): void;
    private openPopup;
    destroy(): void;
}
//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 widthService;
    protected rows: Row<Column>[];
    protected freezeRows: Row<Column>[];
    protected movableRows: Row<Column>[];
    protected rowElements: Element[];
    protected freezeRowElements: Element[];
    /** @hidden */
    prevInfo: VirtualInfo;
    /** @hidden */
    currentInfo: VirtualInfo;
    /** @hidden */
    prevCurrentView: Object[];
    colgroup: Element;
    protected isLoaded: boolean;
    protected tbody: HTMLElement;
    private droppable;
    private drop;
    /** @hidden */
    infiniteCache: {
        [x: number]: Row<Column>[];
    } | {
        [x: number]: Row<Column>[][];
    };
    private pressedKey;
    /** @hidden */
    visibleRows: Row<Column>[];
    private visibleFrozenRows;
    protected rightFreezeRows: Row<Column>[];
    private isAddRows;
    private currentMovableRows;
    private initialPageRecords;
    private isInfiniteFreeze;
    private useGroupCache;
    /** @hidden */
    tempFreezeRows: Row<Column>[];
    private rafCallback;
    protected parent: IGrid;
    private serviceLocator;
    private ariaService;
    protected generator: IModelGenerator<Column>;
    /**
     * Constructor for content renderer module
     *
     * @param {IGrid} parent - specifies the Igrid
     * @param {ServiceLocator} serviceLocator - specifies the service locator
     */
    constructor(parent?: IGrid, serviceLocator?: ServiceLocator);
    private beforeCellFocused;
    /**
     * The function is used to render grid content div
     *
     * @returns {void}
     */
    renderPanel(): void;
    protected renderHorizontalScrollbar(element?: Element): void;
    private setScrollbarHeight;
    /**
     * The function is used to render grid content table
     *
     * @returns {void}
     */
    renderTable(): void;
    /**
     * The function is used to create content table elements
     *
     * @param {string} id - specifies the id
     * @returns {Element} returns the element
     * @hidden
     */
    createContentTable(id: string): Element;
    /**
     * Refresh the content of the Grid.
     *
     * @param {NotifyArgs} args - specifies the args
     * @returns {void}
     */
    refreshContentRows(args?: NotifyArgs): void;
    protected isInfiniteColumnvirtualization(): boolean;
    protected enableCacheOnInfiniteColumnVirtual(): boolean;
    emptyVcRows(): void;
    appendContent(tbody: Element, frag: DocumentFragment, args: NotifyArgs, tableName?: string): void;
    private setRowsInLazyGroup;
    private setGroupCache;
    private ensureFrozenHeaderRender;
    private ensureVirtualFrozenHeaderRender;
    private checkCache;
    private setInfiniteVisibleRows;
    private getCurrentBlockInfiniteRecords;
    private getReorderedRows;
    private virtualFrozenHdrRefresh;
    protected getInfiniteRows(): Row<Column>[];
    private getInfiniteMovableRows;
    /**
     * Get the content div element of grid
     *
     * @returns {Element} returns the element
     */
    getPanel(): Element;
    /**
     * Set the content div element of grid
     *
     * @param  {Element} panel - specifies the panel
     * @returns {void}
     */
    setPanel(panel: Element): void;
    /**
     * Get the content table element of grid
     *
     * @returns {Element} returns the element
     */
    getTable(): Element;
    /**
     * Set the content table element of grid
     *
     * @param  {Element} table - specifies the table
     * @returns {void}
     */
    setTable(table: Element): void;
    /**
     * Get the Movable Row collection in the Freeze pane Grid.
     *
     * @returns {Row[] | HTMLCollectionOf<HTMLTableRowElement>} returns the row
     */
    getRows(): Row<Column>[] | HTMLCollectionOf<HTMLTableRowElement>;
    /**
     * Get the content table data row elements
     *
     * @returns {Element} returns the element
     */
    getRowElements(): Element[];
    /**
     * Get the content table data row elements
     *
     * @param {Element[]} elements - specifies the elements
     * @returns {void}
     */
    setRowElements(elements: Element[]): void;
    /**
     * Get the header colgroup element
     *
     * @returns {Element} returns the element
     */
    getColGroup(): Element;
    /**
     * Set the header colgroup element
     *
     * @param {Element} colGroup - specifies the colgroup
     * @returns {Element} returns the element
     */
    setColGroup(colGroup: Element): Element;
    /**
     * Function to hide content table column based on visible property
     *
     * @param {Column[]} columns - specifies the column
     * @returns {void}
     */
    setVisible(columns?: Column[]): void;
    /**
     * @param {Object} tr - specifies the trr
     * @param {number} idx - specifies the idx
     * @param {string} displayVal - specifies the displayval
     * @param {Row<Column>} rows - specifies the rows
     * @returns {void}
     * @hidden
     */
    setDisplayNone(tr: Object, idx: number, displayVal: string, rows: Row<Column>[]): void;
    private infiniteRowVisibility;
    private colGroupRefresh;
    protected getHeaderColGroup(): Element;
    private initializeContentDrop;
    private droppableDestroy;
    private canSkip;
    getModelGenerator(): IModelGenerator<Column>;
    renderEmpty(tbody: HTMLElement): void;
    setSelection(uid: string, set: boolean, clearAll?: boolean): void;
    getRowByIndex(index: number): Element;
    private getInfiniteRowIndex;
    getVirtualRowIndex(index: number): number;
    private enableAfterRender;
    setRowObjects(rows: Row<Column>[]): void;
    /**
     * @param {NotifyArgs} args - specifies the args
     * @returns {void}
     * @hidden
     */
    immutableModeRendering(args?: NotifyArgs): void;
    private objectEqualityChecker;
    private getBatchEditedRecords;
    private refreshImmutableContent;
    private updateCellIndex;
}
//node_modules/@syncfusion/ej2-grids/src/grid/renderer/command-column-renderer.d.ts
/**
 * `CommandColumn` used to render command column in grid
 *
 * @hidden
 */
export  class CommandColumnRenderer extends CellRenderer implements ICellRenderer<Column> {
    private buttonElement;
    private unbounDiv;
    private childRefs;
    element: HTMLElement;
    constructor(parent: IGrid, locator?: ServiceLocator);
    private destroyButtons;
    /**
     * Function to render the cell content based on Column object.
     *
     * @param {cell<Column>} cell - specifies the cell
     * @param {Object} data - specifies the data
     * @param {Object} attributes - specifies the attributes
     * @param {boolean} isVirtualEdit - specifies virtual scroll editing
     * @returns {Element} returns the element
     */
    render(cell: Cell<Column>, data: Object, attributes?: {
        [x: string]: Object;
    }, isVirtualEdit?: boolean): Element;
    private renderButton;
}
//node_modules/@syncfusion/ej2-grids/src/grid/renderer/combobox-edit-cell.d.ts
/**
 * `ComboBoxEditCell` is used to handle ComboBoxEdit cell type editing.
 *
 * @hidden
 */
export  class ComboboxEditCell extends EditCellBase implements IEditCell {
    private column;
    write(args: {
        rowData: Object;
        element: Element;
        column: Column;
        row: HTMLElement;
        requestType: string;
    }): void;
    private finalValue;
}
//node_modules/@syncfusion/ej2-grids/src/grid/renderer/cell-renderer.d.ts
/**
 * CellRenderer class which responsible for building cell content.
 *
 * @hidden
 */
export  class CellRenderer implements ICellRenderer<Column> {
    element: HTMLElement;
    private rowChkBox;
    protected localizer: base.L10n;
    protected formatter: IValueFormatter;
    protected parent: IGrid;
    constructor(parent: IGrid, locator?: ServiceLocator);
    /**
     * Function to return the wrapper for the TD content
     *
     * @returns {string | Element} returns the string
     */
    getGui(): string | Element;
    /**
     * Function to format the cell value.
     *
     * @param  {Column} column - specifies the column
     * @param  {Object} value - specifies the value
     * @param  {Object} data - specifies the data
     * @returns {string} returns the format
     */
    format(column: Column, value: Object, data?: Object): string;
    evaluate(node: Element, cell: Cell<Column>, data: Object, attributes?: Object, fData?: Object, isEdit?: boolean): boolean;
    /**
     * Function to invoke the custom formatter available in the column object.
     *
     * @param  {Column} column - specifies the column
     * @param  {Object} value - specifies the value
     * @param  {Object} data - specifies the data
     * @returns {Object} returns the object
     */
    invokeFormatter(column: Column, value: Object, data: Object): Object;
    /**
     * Function to render the cell content based on Column object.
     *
     * @param {Cell<Column>} cell - specifies the cell
     * @param {Object} data - specifies the data
     * @param {Object} attributes - specifies the attributes
     * @param {boolean} isExpand - specifies the boolean for expand
     * @param {boolean} isEdit - specifies the boolean for edit
     * @returns {Element} returns the element
     */
    render(cell: Cell<Column>, data: Object, attributes?: {
        [x: string]: Object;
    }, isExpand?: boolean, isEdit?: boolean): Element;
    /**
     * Function to refresh the cell content based on Column object.
     *
     * @param {Element} td - specifies the element
     * @param {Cell<Column>} cell - specifies the cell
     * @param {Object} data - specifies the data
     * @param {Object} attributes - specifies the attribute
     * @returns {void}
     */
    refreshTD(td: Element, cell: Cell<Column>, data: Object, attributes?: {
        [x: string]: Object;
    }): void;
    private cloneAttributes;
    private refreshCell;
    /**
     * Function to specifies how the result content to be placed in the cell.
     *
     * @param {Element} node - specifies the node
     * @param {string|Element} innerHtml - specifies the innerHTML
     * @param {string} property - specifies the element
     * @returns {Element} returns the element
     */
    appendHtml(node: Element, innerHtml: string | Element, property?: string): Element;
    /**
     * @param {HTMLElement} node - specifies the node
     * @param {cell<Column>} cell - specifies the cell
     * @param {Object} attributes - specifies the attributes
     * @returns {void}
     * @hidden
     */
    setAttributes(node: HTMLElement, cell: Cell<Column>, attributes?: {
        [x: string]: Object;
    }): void;
    buildAttributeFromCell<Column>(node: HTMLElement, cell: Cell<Column>, isCheckBoxType?: boolean): void;
    getValue(field: string, data: Object, column: Column): Object;
}
//node_modules/@syncfusion/ej2-grids/src/grid/renderer/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/caption-cell-renderer.d.ts
/**
 * GroupCaptionCellRenderer class which responsible for building group caption cell.
 *
 * @hidden
 */
export  class GroupCaptionCellRenderer extends CellRenderer implements ICellRenderer<Column> {
    cellUid: number;
    element: HTMLElement;
    /**
     * Function to render the cell content based on Column object.
     *
     * @param  {Cell} cell - specifies the cell
     * @param  {Object} data - specifies the GroupedData
     * @returns {Element} returns the element
     */
    render(cell: Cell<Column>, data: GroupedData): Element;
}
/**
 * GroupCaptionEmptyCellRenderer class which responsible for building group caption empty cell.
 *
 * @hidden
 */
export  class GroupCaptionEmptyCellRenderer extends CellRenderer implements ICellRenderer<Column> {
    element: HTMLElement;
    /**
     * Function to render the cell content based on Column object.
     *
     * @param {Cell} cell - specifies the cell
     * @param {Object} data - specifies the Object
     * @param {string} data.field - Defines the field
     * @param {string} data.key - Defines the key
     * @param {number} data.count - Defines the count
     * @returns {Element} returns the element
     */
    render(cell: Cell<Column>, data: {
        field: string;
        key: string;
        count: number;
    }): Element;
}
//node_modules/@syncfusion/ej2-grids/src/grid/renderer/boolean-filter-ui.d.ts
export  class BooleanFilterUI implements IFilterMUI {
    private parent;
    protected serviceLocator: ServiceLocator;
    private elem;
    private multiSelectElement;
    private value;
    private filterSettings;
    private dropInstance;
    private multiSelectCheckBoxInstance;
    private dialogObj;
    private dropdownOpen;
    private dropdownComplete;
    private multiSelectDropdownOpen;
    private multiSelectDropdownComplete;
    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 createDropDownList;
    private createMultiSelectDropDown;
    private getBooleanInstance;
    private getMultiSelectInstance;
    private openPopup;
    private actionComplete;
    destroy(): void;
}
//node_modules/@syncfusion/ej2-grids/src/grid/renderer/boolean-edit-cell.d.ts
/**
 * `BooleanEditCell` is used to handle boolean cell type editing.
 *
 * @hidden
 */
export  class BooleanEditCell extends EditCellBase implements IEditCell {
    private editRow;
    private editType;
    private activeClasses;
    private cbChange;
    create(args: {
        column: Column;
        value: string;
        type: string;
    }): Element;
    read(element: Element): boolean;
    write(args: {
        rowData: Object;
        element: Element;
        column: Column;
        requestType: string;
        row: Element;
    }): void;
    private addEventListener;
    private removeEventListener;
    private checkBoxChange;
}
//node_modules/@syncfusion/ej2-grids/src/grid/renderer/batch-edit-renderer.d.ts
/**
 * Edit render module is used to render grid edit row.
 *
 * @hidden
 */
export  class BatchEditRender {
    private parent;
    /**
     * Constructor for render module
     *
     * @param {IGrid} parent - specifies the IGrid
     */
    constructor(parent?: IGrid);
    update(elements: Element[], args: {
        columnObject?: Column;
        cell?: Element;
        row?: Element;
    }): void;
    private getEditElement;
}
//node_modules/@syncfusion/ej2-grids/src/grid/renderer/autocomplete-edit-cell.d.ts
/**
 * `AutoCompleteEditCell` is used to handle autocomplete cell type editing.
 *
 * @hidden
 */
export  class AutoCompleteEditCell extends EditCellBase implements IEditCell {
    private object;
    private column;
    write(args: {
        rowData: Object;
        element: Element;
        column: Column;
        rowElement: HTMLElement;
        requestType: string;
    }): void;
    private selectedValues;
}
//node_modules/@syncfusion/ej2-grids/src/grid/models/row.d.ts
/**
 * Row
 *
 * @hidden
 */
export  class Row<T> {
    parent?: IGrid;
    uid: string;
    data: Object;
    tIndex: number;
    isCaptionRow: boolean;
    isAggregateRow: boolean;
    changes: Object;
    isDirty: boolean;
    aggregatesCount: number;
    edit: string;
    isSelected: boolean;
    isFreezeRow: boolean;
    isReadOnly: boolean;
    isAltRow: boolean;
    isDataRow: boolean;
    isExpand: boolean;
    rowSpan: number;
    cells: Cell<T>[];
    index: number;
    indent: number;
    subRowDetails: Object;
    height: string;
    visible: boolean;
    attributes: {
        [x: string]: Object;
    };
    cssClass: string;
    lazyLoadCssClass: string;
    foreignKeyData: Object;
    isDetailRow: boolean;
    childGrid: IGrid;
    parentUid: string;
    isSelectable?: boolean;
    constructor(options: {
        [x: string]: Object;
    }, parent?: IGrid);
    clone(): Row<T>;
    /**
     * Replaces the row data and grid refresh the particular row element only.
     *
     * @param  {Object} data - To update new data for the particular row.
     * @returns {void}
     */
    setRowValue(data: Object): void;
    /**
     * Replaces the given field value and refresh the particular cell element only.
     *
     * @param {string} field - Specifies the field name which you want to update.
     * @param {string | number | boolean | Date} value - To update new value for the particular cell.
     * @returns {void}
     */
    setCellValue(field: string, value: string | number | boolean | Date | null): void;
    private makechanges;
}
//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
     * @aspType string
     */
    template: string | Function;
}
//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
     * @aspType string
     */
    template?: string | Function;
}
//node_modules/@syncfusion/ej2-grids/src/grid/models/models.d.ts
/**
 * Export model files
 */
//node_modules/@syncfusion/ej2-grids/src/grid/models/column.d.ts
/**
 * Represents Grid `Column` model class.
 */
export  class Column {
    /**
     * Defines the field name of column which is mapped with mapping name of DataSource.
     * The bounded columns can be sort, filter and group etc.,
     * The `field` name must be a valid JavaScript identifier,
     * the first character must be an alphabet and should not contain spaces and special characters.
     *
     * @default ''
     */
    field: string;
    /**
     * Gets the unique identifier value of the column. It is used to get the column object.
     *
     * @default ''
     */
    uid: string;
    /**
     * Gets the unique identifier value of the column. It is used to get the column object.
     *
     * @default null
     */
    index: number;
    /**
     * Defines the header text of column which is used to display in column header.
     * If `headerText` is not defined, then field name value will be assigned to header text.
     *
     * @default null
     */
    headerText: string;
    /**
     * Defines the width of the column in pixels or percentage.
     *
     * @default ''
     */
    width: string | number;
    /**
     * Defines the minimum Width of the column in pixels or percentage.
     *
     * @default ''
     */
    minWidth: string | number;
    /**
     * Defines the maximum width of the column in pixel or percentage, which will restrict resizing beyond this pixel or percentage.
     *
     * @default ''
     */
    maxWidth: string | number;
    /**
     * Defines the alignment of the column in both header and content cells.
     *
     * @default Left
     */
    textAlign: TextAlign;
    /**
     * Defines the cell content's overflow mode. The available modes are
     * * `Clip` -  Truncates the cell content when it overflows its area.
     * * `Ellipsis` -  Displays ellipsis when the cell content overflows its area.
     * * `EllipsisWithTooltip` - Displays ellipsis when the cell content overflows its area
     * also it will display tooltip while hover on ellipsis applied cell.
     *
     * @default Ellipsis
     */
    clipMode: ClipMode;
    /**
     * Define the alignment of column header which is used to align the text of column header.
     *
     * @default null
     */
    headerTextAlign: TextAlign;
    /**
     * If `disableHtmlEncode` is set to true, it encodes the HTML of the header and content cells.
     *
     * @default true
     */
    disableHtmlEncode: boolean;
    /**
     * Defines the data type of the column.
     *
     * @default null
     */
    type: string;
    /**
     * It is used to change display value with the given format and does not affect the original data.
     * Gets the format from the user which can be standard or custom
     * `number` and `date` formats.
     *
     * @default null
     * @aspType string
     */
    format: string | base.NumberFormatOptions | base.DateFormatOptions;
    /**
     * If `visible` is set to false, hides the particular column. By default, columns are displayed.
     *
     * @default true
     */
    visible: boolean;
    /**
     * Defines the column template that renders customized element in each cell of the column.
     * It accepts either [template string](https://ej2.syncfusion.com/documentation/common/template-engine/) or HTML element ID.
     *
     * @default null
     * @aspType string
     */
    template: string | Function;
    /**
     * Defines the header template as string or HTML element ID which is used to add customized element in the column header.
     *
     * @default null
     * @aspType string
     */
    headerTemplate: string | Function;
    /**
     * You can use this property to freeze selected columns in grid
     *
     * @default false
     */
    isFrozen: boolean;
    /**
     * If `allowSorting` set to false, then it disables sorting option of a particular column.
     * By default all columns are sortable.
     *
     * @default true
     */
    allowSorting: boolean;
    /**
     * If `allowResizing` is set to false, it disables resize option of a particular column.
     * By default all the columns can be resized.
     *
     * @default true
     */
    allowResizing: boolean;
    /**
     * If `allowFiltering` set to false, then it disables filtering option and filter bar element of a particular column.
     * By default all columns are filterable.
     *
     * @default true
     */
    allowFiltering: boolean;
    /**
     * If `allowGrouping` set to false, then it disables grouping of a particular column.
     * By default all columns are groupable.
     *
     * @default true
     */
    allowGrouping: boolean;
    /**
     * If `allowReordering` set to false, then it disables reorder of a particular column.
     * By default all columns can be reorder.
     *
     * @default true
     */
    allowReordering: boolean;
    /**
     * If `showColumnMenu` set to false, then it disable the column menu of a particular column.
     * By default column menu will show for all columns
     *
     * @default true
     */
    showColumnMenu: boolean;
    /**
     * If `enableGroupByFormat` set to true, then it groups the particular column by formatted values.
     *
     * @default true
     */
    enableGroupByFormat: boolean;
    /**
     * If `allowEditing` set to false, then it disables editing of a particular column.
     * By default all columns are editable.
     *
     * @default true
     */
    allowEditing: boolean;
    /**
     * The CSS styles and attributes of the content cells of a particular column can be customized.
     *
     * {% codeBlock src="grid/custom-attribute-api/index.ts" %}{% endcodeBlock %}
     *
     * @default null
     */
    customAttributes: {
        [x: string]: Object;
    };
    /**
     * If `displayAsCheckBox` is set to true, it displays the column value as a check box instead of Boolean value.
     *
     * @default false
     */
    displayAsCheckBox: boolean;
    /**
     * Defines the column data source which will act as foreign data source.
     *
     * @default null
     */
    dataSource: Object[] | data.DataManager | DataResult;
    /**
     * Defines the method which is used to achieve custom formatting from an external function.
     * This function triggers before rendering of each cell.
     * {% codeBlock src="grid/formatter-api/index.ts" %}{% endcodeBlock %}
     *
     * @default null
     */
    formatter: {
        new (): ICellFormatter;
    } | ICellFormatter | Function;
    /**
     * Defines the method used to apply custom cell values from external function and display this on each cell rendered.
     *
     * {% codeBlock src="grid/value-accessor-api/index.ts" %}{% endcodeBlock %}
     *
     * @default null
     */
    valueAccessor: ValueAccessor | string;
    /**
     * Defines the method used to apply custom header cell values from external function and display this on each header cell rendered.
     *
     * @default null
     */
    headerValueAccessor: HeaderValueAccessor | string;
    /**
     * The `filterBarTemplate` is used to add a custom component instead of default input component for filter bar.
     * It have create and read functions.
     * * create: It is used for creating custom components.
     * * read: It is used to perform custom filter action.
     *
     * {% codeBlock src="grid/filter-template-api/index.ts" %}{% endcodeBlock %}
     *
     * @default null
     */
    filterBarTemplate: IFilterUI;
    /**
     *  It is used to customize the default filter options for a specific columns.
     * * type -  Specifies the filter type as menu or checkbox.
     * * ui - to render custom component for specific column it has following functions.
     * * ui.create – It is used for creating custom components.
     * * ui.read -  It is used for read the value from the component.
     * * ui.write - It is used to apply component model as dynamically.
     * {% codeBlock src="grid/filter-menu-api/index.ts" %}{% endcodeBlock %}
     *
     * > Check the [`Filter UI`](../../grid/filtering/filter-menu/#custom-component-in-filter-menu) for its customization.
     *
     *  @default {}
     */
    filter: IFilter;
    /**
     * Used to render multiple header rows(stacked headers) on the Grid header.
     *
     * @default null
     */
    columns: Column[] | string[] | ColumnModel1[];
    /**
     * Defines the tool tip text for stacked headers.
     *
     * @default null
     * @hidden
     */
    toolTip: string;
    /**
     * If `isPrimaryKey` is set to true, considers this column as the primary key constraint.
     *
     * @default false
     */
    isPrimaryKey: boolean;
    /**
     * Column visibility can change based on [`Media Queries`](http://cssmediaqueries.com/what-are-css-media-queries.html).
     * `hideAtMedia` accepts only valid Media Queries.
     *
     * @default ''
     */
    hideAtMedia?: string;
    /**
     * If `showInColumnChooser` set to false, then hide the particular column in column chooser.
     *  By default all columns are displayed in column Chooser.
     *
     * @default true
     */
    showInColumnChooser?: boolean;
    /**
     * Defines the type of component for editable.
     *
     * @default 'stringedit'
     */
    editType: EditType | string;
    /**
     * Defines rules to validate data before creating and updating.
     *
     * @default null
     */
    validationRules: Object;
    /**
     * Defines default values for the component when adding a new record to the Grid.
     *
     * @default null
     * @aspType object
     */
    defaultValue: string | number | Date | boolean | null;
    /**
     * 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.
     *
     * @aspType string
     */
    commandsTemplate: string | Function;
    /**
     * `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
     * @aspType string
     */
    editTemplate: string | Function;
    /**
     * Defines the filter template/UI that used as filter for a particular column.
     * It accepts either template string or HTML element ID.
     *
     * @default null
     * @aspType string
     */
    filterTemplate: string | Function;
    /** @hidden */
    toJSON: Function;
    /**
     * Defines the mapping column name of the foreign data source.
     * If it is not defined then the `columns.field` will be considered as mapping column name
     *
     * @default false
     */
    lockColumn: boolean;
    /**
     * If `allowSearching` set to false, then it disables Searching of a particular column.
     * By default all columns allow Searching.
     *
     * @default true
     */
    allowSearching: boolean;
    /**
     * If `autoFit` set to true, then the particular column content width will be
     * adjusted based on its content in the initial rendering itself.
     * Setting this property as true is equivalent to calling `autoFitColumns` method in the `dataBound` event.
     *
     * @default false
     */
    autoFit: boolean;
    /**
     * defines which side the column need to freeze
     * The available built-in freeze directions are
     * * Left - Freeze the column at left side.
     * * Right - Freeze the column at right side.
     * * Fixed - Freeze the column at Center.
     * * None - Does not freeze the column.
     *
     * @default None
     */
    freeze: freezeDirection;
    private parent;
    /**
     * @hidden
     * Sets the selected state.
     * @default false
     */
    isSelected: boolean;
    constructor(options: ColumnModel1, parent?: IGrid);
    private formatFn;
    private parserFn;
    private templateFn;
    private fltrTemplateFn;
    private headerTemplateFn;
    private editTemplateFn;
    private filterTemplateFn;
    private sortDirection;
    /** @hidden */
    freezeTable: freezeTable;
    /**
     * @returns {Function} returns the edit template
     * @hidden */
    getEditTemplate: Function;
    /**
     * @returns {Function} returns the filter template
     * @hidden */
    getFilterTemplate: Function;
    /**
     * @returns {string} returns the sort direction
     * @hidden */
    getSortDirection(): string;
    /**
     * @param {string} direction - specifies the direction
     * @returns {void}
     * @hidden
     */
    setSortDirection(direction: string): void;
    /**
     * @returns {freezeTable} returns the FreezeTable
     * @hidden */
    getFreezeTableName(): freezeTable;
    /**
     * @param {Column} column - specifies the column
     * @returns {void}
     * @hidden
     */
    setProperties(column: Column): void;
    /**
     * Defines the custom sort comparer function.
     * The sort comparer function has the same functionality like
     * [`Array.sort`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort) sort comparer.
     * {% codeBlock src="grid/sort-comparer-api/index.ts" %}{% endcodeBlock %}
     */
    sortComparer: SortComparer | string;
    /**
     * @returns {boolean} returns true for foreign column
     * @hidden
     * It defines the column is foreign key column or not.
     */
    isForeignColumn(): boolean;
    /**
     * @returns {Function} returns the function
     * @hidden
     */
    getFormatter(): Function;
    /**
     * @param {Function} value - specifies the value
     * @returns {void}
     * @hidden
     */
    setFormatter(value: Function): void;
    /**
     * @returns {Function} returns the function
     * @hidden */
    getParser(): Function;
    /**
     * @param {Function} value - specifies the value
     * @returns {void}
     * @hidden
     */
    setParser(value: Function): void;
    /**
     * @returns {Function} returns the function
     * @hidden */
    getColumnTemplate(): Function;
    /**
     * @returns {Function} returns the function
     * @hidden */
    getHeaderTemplate(): Function;
    /**
     * @returns {Function} returns the function
     * @hidden */
    getFilterItemTemplate(): Function;
    /**
     * @returns {string} returns the string
     * @hidden */
    getDomSetter(): string;
    /**
     * Determines the behavior of the `aria-label` attribute for cells in template columns.
     * If enableAriaLabel is set to false, the aria-label attribute is not applied to template column cells, which affects screen reader accessibility.
     *
     * @default {}
     */
    templateOptions: TemplateProps;
}
/**
 * Interface for a class Column
 */
export interface ColumnModel1 {
    /**
     * Defines the field name of column which is mapped with mapping name of DataSource.
     * The bounded columns can be sort, filter and group etc.,
     * If the `field` name contains “dot”, then it is considered as complex binding.
     * The `field` name must be a valid JavaScript identifier,
     * the first character must be an alphabet and should not contain spaces and special characters.
     *
     * @default ''
     */
    field?: string;
    /**
     * Gets the unique identifier value of the column. It is used to get the object.
     *
     * @default ''
     */
    uid?: string;
    /**
     * Gets the unique identifier value of the column. It is used to get the object.
     *
     * @default null
     */
    index?: number;
    /**
     * Defines the header text of column which is used to display in column header.
     * If `headerText` is not defined, then field name value will be assigned to header text.
     *
     * @default null
     */
    headerText?: string;
    /**
     * Defines the width of the column in pixels or percentage.
     *
     * @default ''
     */
    width?: string | number;
    /**
     * Defines the minimum width of the column in pixels or percentage.
     *
     * @default ''
     */
    minWidth?: string | number;
    /**
     * Defines the maximum width of the column in pixel or percentage, which will restrict resizing beyond this pixel or percentage.
     *
     * @default ''
     */
    maxWidth?: string | number;
    /**
     * Defines the alignment of the column in both header and content cells.
     *
     * @default Left
     */
    textAlign?: TextAlign;
    /**
     * Defines the cell content's overflow mode. The available modes are
     * * `Clip` -  Truncates the cell content when it overflows its area.
     * * `Ellipsis` -  Displays ellipsis when the cell content overflows its area.
     * * `EllipsisWithTooltip` - Displays ellipsis when the cell content overflows its area
     * also it will display tooltip while hover on ellipsis applied cell.
     *
     * @default Ellipsis
     */
    clipMode?: ClipMode;
    /**
     * Define the alignment of column header which is used to align the text of column header.
     *
     * @aspdefaultvalueignore
     * @default null
     */
    headerTextAlign?: TextAlign;
    /**
     * If `disableHtmlEncode` is set to true, it encodes the HTML of the header and content cells.
     *
     * @default true
     */
    disableHtmlEncode?: boolean;
    /**
     * Defines the data type of the column.
     *
     * @default null
     */
    type?: string;
    /**
     * It is used to change display value with the given format and does not affect the original data.
     * Gets the format from the user which can be standard or custom
     * [`number`](../../common/internationalization/#manipulating-numbers)
     * and [`date`](../../common/internationalization/#manipulating-datetime) formats.
     *
     * @default null
     * @aspType string
     */
    format?: string | base.NumberFormatOptions | base.DateFormatOptions;
    /**
     * If `visible` is set to false, hides the particular column. By default, all columns are displayed.
     *
     * @default true
     */
    visible?: boolean;
    /**
     * Defines the column template that renders customized element in each cell of the column.
     * It accepts either [template string](../../common/template-engine/) or HTML element ID.
     *
     * @default null
     * @aspType string
     */
    template?: string | Function;
    /**
     * Defines the column template as string or HTML element ID which is used to add customized element in the column header.
     *
     * @default null
     * @aspType string
     */
    headerTemplate?: string | Function;
    /**
     * You can use this property to freeze selected columns in grid.
     *
     * @default false
     */
    isFrozen?: boolean;
    /**
     * If `allowSorting` set to false, then it disables sorting option of a particular column.
     * By default all columns are sortable.
     *
     * @default true
     */
    allowSorting?: boolean;
    /**
     * If `allowResizing` set to false, it disables resize option of a particular column.
     *
     * @default true
     */
    allowResizing?: boolean;
    /**
     * If `showColumnMenu` set to false, then it disable the column menu of a particular column.
     * By default column menu will show for all columns
     *
     * @default true
     */
    showColumnMenu?: boolean;
    /**
     * If `allowFiltering` set to false, then it disables filtering option and filter bar element of a particular column.
     * By default all columns are filterable.
     *
     * @default true
     */
    allowFiltering?: boolean;
    /**
     * If `allowGrouping` set to false, then it disables grouping of a particular column.
     * By default all columns are groupable.
     *
     * @default true
     */
    allowGrouping?: boolean;
    /**
     * If `allowReordering` set to false, then it disables reorder of a particular column.
     * By default all columns can be reorder.
     *
     * @default true
     */
    allowReordering?: boolean;
    /**
     * If `enableGroupByFormat` set to true, then it groups the particular column by formatted values.
     * By default no columns are group by format.
     *
     * @default true
     */
    enableGroupByFormat?: boolean;
    /**
     * If `allowEditing` set to false, then it disables editing of a particular column.
     * By default all columns are editable.
     *
     * @default true
     */
    allowEditing?: boolean;
    /**
     * @hidden
     * Gets the current view foreign key data.
     * @default []
     */
    columnData?: Object[];
    /**
     * The CSS styles and attributes of the content cells of a particular column can be customized.
     *
     * ```html
     * <div id="Grid"></div>
     * ```
     * ```typescript
     * let gridObj: Grid = new Grid({
     * dataSource: filterData,
     * columns: [
     *    { field: 'OrderID', headerText: 'Order ID' },
     *    {
     *        field: 'EmployeeID', headerText: 'Employee ID', customAttributes: {
     *           class: 'employeeid',
     *           type: 'employee-id-cell'
     *      }
     *   }]
     * });
     * gridObj.appendTo('#Grid');
     * ```
     *
     * @default null
     */
    customAttributes?: {
        [x: string]: Object;
    };
    /**
     * If `displayAsCheckBox` is set to true, it displays the column value as a check box instead of Boolean value.
     *
     * @default false
     */
    displayAsCheckBox?: boolean;
    /**
     * Defines the column data source  which will act as foreign data source.
     *
     * @default null
     */
    dataSource?: Object[] | data.DataManager | DataResult;
    /**
     * Defines the method which is used to achieve custom formatting from an external function.
     * This function triggers before rendering of each cell.
     *
     * ```html
     * <div id="Grid"></div>
     * ```
     * ```typescript
     * class ExtendedFormatter implements ICellFormatter {
     * public getValue(column: Column, data: Object): Object {
     *   return '<span style="color:' + (data['Verified'] ? 'green' : 'red') + '"><i>' + data['Verified'] + '</i><span>';
     * }
     * }
     * let gridObj: Grid = new Grid({
     *     dataSource: filterData,
     *     columns: [
     *         { field: 'ShipName', headerText: 'Ship Name' },
     *         { field: 'Verified', headerText: 'Verified Status', formatter: ExtendedFormatter }]
     * });
     * gridObj.appendTo('#Grid');
     * ```
     *
     * @default null
     */
    formatter?: {
        new (): ICellFormatter;
    } | ICellFormatter | Function;
    /**
     * Defines the method used to apply custom cell values from external function and display this on each cell rendered.
     *
     * ```html
     * <div id="Grid"></div>
     * ```
     * ```typescript
     * let gridObj: Grid = new Grid({
     * dataSource: [{ EmployeeID: 1, EmployeeName: ['John', 'M'] }, { EmployeeID: 2, EmployeeName: ['Peter', 'A'] }],
     * columns: [
     *     { field: 'EmployeeID', headerText: 'Employee ID' },
     *     { field: 'EmployeeName', headerText: 'Employee First Name',
     *       valueAccessor: (field: string, data: Object, column: Column) => {
     *             return data['EmployeeName'][0];
     *         },
     *     }]
     * });
     * ```
     *
     * @default null
     */
    valueAccessor?: ValueAccessor | string;
    /**
     * Defines the method used to apply custom header cell values from external function and display this on each cell rendered.
     *
     * ```html
     * <div id="Grid"></div>
     * ```
     * ```typescript
     * let gridObj: Grid = new Grid({
     * dataSource: [{ EmployeeID: 1, EmployeeName: ['John', 'M'] }, { EmployeeID: 2, EmployeeName: ['Peter', 'A'] }],
     * columns: [
     *     { field: 'EmployeeID', headerText: 'Employee ID' },
     *     { field: 'EmployeeName', headerText: 'Employee First Name',
     *       headerValueAccessor: (field: string,column: Column) => {
     *             return "newheadername";
     *         },
     *     }]
     * });
     * ```
     *
     * @default null
     */
    headerValueAccessor?: HeaderValueAccessor | string;
    /**
     * The `filterBarTemplate` is used to add a custom component instead of default input component for filter bar.
     * It have create and read functions.
     * * create: It is used for creating custom components.
     * * read: It is used to perform custom filter action.
     *
     * ```html
     * <div id="Grid"></div>
     * ```
     * ```typescript
     * let gridObj: Grid = new Grid({
     * dataSource: filterData,
     * columns: [
     *   { field: 'OrderID', headerText: 'Order ID' },
     *   {
     *      field: 'EmployeeID', filterBarTemplate: {
     *         create: (args: { element: Element, column: Column }) => {
     *              let input: HTMLInputElement = document.createElement('input');
     *              input.id = 'EmployeeID';
     *              input.type = 'text';
     *              return input;
     *         },
     *         write: (args: { element: Element, column: Column }) => {
     *             args.element.addEventListener('input', args.column.filterBarTemplate.read as EventListener);
     *         },
     *         read: (args: { element: HTMLInputElement, columnIndex: number, column: Column }) => {
     *             gridObj.filterByColumn(args.element.id, 'equal', args.element.value);
     *        }
     *     }
     *  }],
     *   allowFiltering: true
     * });
     * gridObj.appendTo('#Grid');
     * ```
     *
     * @default null
     */
    filterBarTemplate?: IFilterUI;
    /**
     *  Defines the filter options to customize filtering for the particular column.
     *
     *  @default {}
     */
    filter?: IFilter;
    /**
     * Used to render multiple header rows(stacked headers) on the Grid header.
     *
     * @default null
     */
    columns?: Column[] | string[] | ColumnModel1[];
    /**
     * Defines the tool tip text for stacked headers.
     *
     * @hidden
     * @default null
     */
    toolTip?: string;
    /**
     * If `isPrimaryKey` is set to true, considers this column as the primary key constraint.
     *
     * @default false
     */
    isPrimaryKey?: boolean;
    /**
     * Defines the type of component for editing.
     *
     * @default 'stringedit'
     */
    editType?: string;
    /**
     * `editType`(../../grid/edit/#cell-edit-type-and-its-params) Defines rules to validate data before creating and updating.
     *
     * @default null
     */
    validationRules?: Object;
    /**
     * Defines default values for the component when adding a new record to the Grid.
     *
     * @default null
     * @aspType object
     */
    defaultValue?: string | number | Date | boolean | null;
    /**
     * Defines the `IEditCell`(../../grid/edit/#cell-edit-template) object to customize default edit cell.
     *
     * @default {}
     */
    edit?: IEditCell;
    /**
     * If `isIdentity` is set to true, then this column is considered as identity column.
     *
     * @default false
     */
    isIdentity?: boolean;
    /**
     * Defines the mapping column name of the foreign data source.
     * If it is not defined then the `columns.field` will be considered as mapping column name
     *
     * @default null
     */
    foreignKeyField?: string;
    /**
     * Defines the display column name from the foreign data source which will be obtained from comparing local and foreign data
     *
     * @default null
     */
    foreignKeyValue?: string;
    /**
     * column visibility can change based on its [`Media Queries`](http://cssmediaqueries.com/what-are-css-media-queries.html).
     * `hideAtMedia` accepts only valid Media Queries.
     *
     * @default ''
     */
    hideAtMedia?: string;
    /**
     * If `showInColumnChooser` set to false, then hides the particular column in column chooser.
     * By default all columns are displayed in column Chooser.
     *
     * @default true
     */
    showInColumnChooser?: boolean;
    /**
     * @hidden
     * Defines the commands column template as string or HTML element ID which is used to add
     * customized command buttons in each cells of the column.
     */
    commandsTemplate?: string | Function;
    /**
     * `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.
     *
     * @default null
     * @aspType string
     */
    editTemplate?: string | Function;
    /**
     * Defines the filter template/UI that used as filter for a particular column.
     * It accepts either template string or HTML element ID.
     *
     * @default null
     * @aspType string
     */
    filterTemplate?: string | Function;
    /**
     * Defines the mapping column name of the foreign data source.
     * If it is not defined then the `columns.field` will be considered as mapping column name
     *
     * @default false
     */
    lockColumn?: boolean;
    /**
     * If `allowSearching` set to false, then it disables Searching of a particular column.
     * By default all columns allow Searching.
     *
     * @default true
     */
    allowSearching?: boolean;
    /**
     * If `autoFit` set to true, then the particular column content width will be
     * adjusted based on its content in the initial rendering itself.
     * Setting this property as true is equivalent to calling `autoFitColumns` method in the `dataBound` event.
     *
     * @default false
     */
    autoFit?: boolean;
    /**
     * defines which side the column need to freeze
     * The available built-in freeze directions are
     * * Left - Freeze the column at left side.
     * * Right - Freeze the column at right side.
     * * Fixed - Freeze the column at Center.
     * * None - Does not freeze the column.
     *
     * @default None
     */
    freeze?: freezeDirection;
    /**
     * Determines the behavior of the `aria-label` attribute for cells in template columns.
     * If enableAriaLabel is set to false, the aria-label attribute is not applied to template column cells, which affects screen reader accessibility.
     *
     * @default {}
     */
    templateOptions?: TemplateProps;
}
export interface ActionEventArgs {
    /** Defines the current action. */
    requestType?: Action;
    /** Defines the type of event. */
    type?: string;
    /** Cancel the print action */
    cancel?: boolean;
    /** Defines the previous page number. */
    previousPage?: number;
    /** Defines the current page number. */
    currentPage?: number;
    /** Defines the field name of the currently grouped columns. */
    columnName?: string;
    /** Defines the object that is currently filtered. */
    currentFilterObject?: PredicateModel;
    /** Defines the column name that is currently filtered. */
    currentFilteringColumn?: string;
    /** Defines the collection of filtered columns. */
    columns?: PredicateModel[];
    /** Defines the string value to search. */
    searchString?: string;
    /** Defines the direction of sort column. */
    direction?: SortDirection;
    /** Defines the record objects.
     *
     * @isGenericType true
     */
    data?: Object;
    /** Defines the previous data.
     *
     * @isGenericType true
     */
    previousData?: Object;
    /** Defines the added row. */
    row?: Object;
    /** Added row index */
    index?: number;
    /** Defines the record objects.
     *
     * @isGenericType true
     */
    rowData?: Object;
    /** Defines the target for dialog */
    target?: HTMLElement;
    /** Defines the selected row index. */
    selectedRow?: number;
    /** Defines the current action. */
    action?: string;
    /** Defines foreign data object. */
    foreignKeyData?: Object;
    /** Define the form element */
    form?: HTMLFormElement;
    /** Define the movable table form element */
    movableForm?: HTMLFormElement;
    /** Defines the selected rows for delete. */
    tr?: Element[];
    /** Defines the primary keys */
    primaryKeys?: string[];
    /** Defines the primary key value */
    primaryKeyValue?: Object[];
    /** Defines the edited rowIndex */
    rowIndex?: number;
    /** Defines take number of data while Filtering */
    filterChoiceCount: number;
    /**
     * Defines the excel search operator
     */
    excelSearchOperator: string;
}
/**
 * Define options for custom command buttons.
 */
export  class CommandColumnModel {
    /**
     * Define the command Button tooltip.
     */
    title: string;
    /**
     * Define the command Button type.
     */
    type: CommandButtonType;
    /**
     * Define the button model
     */
    buttonOption: CommandButtonOptions;
}
/**
 * Defines Grid column
 */
export  class GridColumn extends Column {
    /**
     * Defines stacked columns
     *
     * @default null
     */
    columns: string[] | ColumnModel1[];
}
/**
 * Interface for a class GridColumn
 */
export interface GridColumnModel extends ColumnModel1 {
    /**
     * Defines stacked columns
     *
     * @default null
     */
    columns?: string[] | ColumnModel1[];
}
export interface TemplateProps {
    /**
     * Specifies whether the `aria-label` attribute is enabled for template column cells.
     *
     * @default true
     */
    enableAriaLabel?: boolean;
}
/**
 * Defines stacked grid column
 */
export  class StackedColumn extends GridColumn {
}
/**
 * Interface for a class stacked grid column
 */
export interface StackedColumnModel extends GridColumnModel {
}
//node_modules/@syncfusion/ej2-grids/src/grid/models/column-model.d.ts
/**
 * Interface for a class Column
 */
export interface ColumnModel11 {
}
/**
 * Interface for a class CommandColumnModel
 */
export interface CommandColumnModelModel {
    /**
     * Define the command Button tooltip.
     */
    title?: string;
    /**
     * Define the command Button type.
     */
    type?: CommandButtonType;
    /**
     * Define the button model
     */
    buttonOption?: CommandButtonOptions;
}
/**
 * Interface for a class GridColumn
 */
export interface GridColumnModel1 extends ColumnModel1{
    /**
     * Defines stacked columns
     *
     * @default null
     */
    columns?: string[] | ColumnModel1[];
}
/**
 * Interface for a class StackedColumn
 */
export interface StackedColumnModel1 extends GridColumnModel{
}
//node_modules/@syncfusion/ej2-grids/src/grid/models/column-chooser-settings.d.ts
/**
 * Configures the column chooser behavior of the Grid.
 */
export  class ColumnChooserSettings extends base.ChildProperty<ColumnChooserSettings> {
    /**
     * Defines the search operator for column chooser.
     *
     * @default 'startsWith'
     * @blazorType Syncfusion.Blazor.Operator
     * @blazorDefaultValue Syncfusion.Blazor.Operator.StartsWith
     */
    operator: string;
    /**
     * If ignoreAccent set to true, then ignores the diacritic characters or accents while searching in column chooser dialog.
     *
     * @default false
     */
    ignoreAccent: boolean;
    /**
     * Defines the custom header elements for the column chooser header template.
     *
     * @default null
     * @aspType string
     */
    headerTemplate: string | Function;
    /**
     * Defines the custom content elements for the column chooser content template.
     *
     * @default null
     * @aspType string
     */
    template: string | Function;
    /**
     * Defines the custom footer elements for the column chooser footer template.
     *
     * @default null
     * @aspType string
     */
    footerTemplate: string | Function;
    /**
     * Enables or disables the search option in the column chooser.
     *
     * @default true
     */
    enableSearching: boolean;
    /**
     * Renders a custom component to replace or extend the default column chooser UI.
     * @param target - The target HTML element where the custom component will be appended in the column chooser dialog.
     * @aspType string
     */
    renderCustomColumnChooser: string | Function;
}
//node_modules/@syncfusion/ej2-grids/src/grid/models/column-chooser-settings-model.d.ts
/**
 * Interface for a class ColumnChooserSettings
 */
export interface ColumnChooserSettingsModel {
    /**
     * Defines the search operator for column chooser.
     *
     * @default 'startsWith'
     * @blazorType Syncfusion.Blazor.Operator
     * @blazorDefaultValue Syncfusion.Blazor.Operator.StartsWith
     */
    operator?: string;
    /**
     * If ignoreAccent set to true, then ignores the diacritic characters or accents while searching in column chooser dialog.
     *
     * @default false
     */
    ignoreAccent?: boolean;
    /**
     * Defines the custom header elements for the column chooser header template.
     *
     * @default null
     * @aspType string
     */
    headerTemplate?: string | Function;
    /**
     * Defines the custom content elements for the column chooser content template.
     *
     * @default null
     * @aspType string
     */
    template?: string | Function;
    /**
     * Defines the custom footer elements for the column chooser footer template.
     *
     * @default null
     * @aspType string
     */
    footerTemplate?: string | Function;
    /**
     * Enables or disables the search option in the column chooser.
     *
     * @default true
     */
    enableSearching?: boolean;
    /**
     * Renders a custom component to replace or extend the default column chooser UI.
     * @param target - The target HTML element where the custom component will be appended in the column chooser dialog.
     * @aspType string
     */
    renderCustomColumnChooser?: string | Function;
}
//node_modules/@syncfusion/ej2-grids/src/grid/models/cell.d.ts
/**
 * Cell
 *
 * @hidden
 */
export  class Cell<T> {
    colSpan: number;
    rowSpan: number;
    cellType: CellType;
    visible: boolean;
    isTemplate: boolean;
    isDataCell: boolean;
    isSelected: boolean;
    isColumnSelected: boolean;
    column: T;
    rowID: string;
    index: number;
    colIndex: number;
    className: string;
    attributes: {
        [a: string]: Object;
    };
    isSpanned: boolean;
    cellSpan: number;
    isRowSpanned: boolean;
    rowSpanRange: number;
    colSpanRange: number;
    spanText: string | number | boolean | Date;
    commands: CommandModel[];
    isForeignKey: boolean;
    foreignKeyData: Object;
    constructor(options: {
        [x: string]: Object;
    });
    clone(): Cell<T>;
}
//node_modules/@syncfusion/ej2-grids/src/grid/models/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.
     *
     * @default null
     * @aspType string
     */
    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
     * @aspType string
     */
    footerTemplate: string | Function;
    /**
     * 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
     * @aspType string
     */
    groupFooterTemplate: string | Function;
    /**
     * 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
     * @aspType string
     */
    groupCaptionTemplate: string | Function;
    /**
     * Defines a function to calculate custom aggregate value. The `type` value should be set to `custom`.
     * To use custom aggregate value in the template, use the key as `${custom}`.
     * **Total aggregation**: The custom function will be called with the whole data and the current `AggregateColumn` object.
     * **Group aggregation**: This will be called with the current group details and the `AggregateColumn` object.
     *
     * @default null
     */
    customAggregate: CustomSummaryType | string;
    /**
     * @param {Function} value - specifies the value
     * @returns {void}
     * @hidden
     */
    setFormatter(value: Function): void;
    /**
     * @returns {Function} returns the Function
     * @hidden
     */
    getFormatter(): Function;
    /**
     * @param {Object} helper - specifies the helper
     * @returns {void}
     * @hidden
     */
    setTemplate(helper?: Object): void;
    /**
     * @param {CellType} type - specifies the cell type
     * @returns {Object} returns the object
     * @hidden
     */
    getTemplate(type: CellType): {
        fn: Function;
        property: string;
    };
    /**
     * @param {Object} prop - returns the Object
     * @returns {void}
     * @hidden
     */
    setPropertiesSilent(prop: Object): void;
}
/**
 * Configures the aggregate rows.
 */
export  class AggregateRow extends base.ChildProperty<AggregateRow> {
    /**
     * Configures the aggregate columns.
     *
     * @default []
     */
    columns: AggregateColumnModel[];
}
//node_modules/@syncfusion/ej2-grids/src/grid/models/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.
     *
     * @default null
     * @aspType string
     */
    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
     * @aspType string
     */
    footerTemplate?: string | Function;
    /**
     * 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
     * @aspType string
     */
    groupFooterTemplate?: string | Function;
    /**
     * 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
     * @aspType string
     */
    groupCaptionTemplate?: string | Function;
    /**
     * 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/common/filter-interface.d.ts
/**
 * Defines the excel filter interface.
 */
/** @hidden */
export interface XLColumn {
    field?: string;
}
/** @hidden */
export interface XLFilterSettings {
    columns?: XLColumn[];
    enableInfiniteScrolling?: boolean;
    itemsCount?: number;
    loadingIndicator?: IndicatorType;
}
/** @hidden */
export interface XLSearchSettings {
    key?: string;
}
/** @hidden */
export interface IXLFilter extends base.Component<HTMLElement> {
    filterSettings?: XLFilterSettings;
    destroyTemplate?: Function;
    getQuery?: Function;
    searchSettings?: XLSearchSettings;
    getColumnByField?: Function;
    getColumnHeaderByUid?: Function;
    dataSource?: Object[] | data.DataManager;
    getForeignKeyColumns?: Function;
    renderTemplates?: Function;
    allowSorting?: boolean;
    cssClass?: string;
    loadingIndicator?: LoadingIndicatorModel;
    showMaskRow?: Function;
    enableHtmlSanitizer?: boolean;
}
/** @hidden */
export interface FilterStateObj {
    state: DataStateChangeEventArgs;
    deffered: data.Deferred;
}
//node_modules/@syncfusion/ej2-grids/src/grid/common/excel-filter-base.d.ts
/**
 * @hidden
 * `ExcelFilter` module is used to handle filtering action.
 */
export  class ExcelFilterBase extends CheckBoxFilterBase {
    private dlgDiv;
    private dlgObj;
    private customFilterOperators;
    private optrData;
    private menuItem;
    private menu;
    private cmenu;
    protected menuObj: navigations.ContextMenu;
    private isCMenuOpen;
    private firstOperator;
    private secondOperator;
    private childRefs;
    private eventHandlers;
    private isDevice;
    private focusedMenuItem;
    /**
     * Constructor for excel filtering module
     *
     * @param {IXLFilter} parent - parent details
     * @param {Object} customFltrOperators - operator details
     * @hidden
     */
    constructor(parent?: IXLFilter, customFltrOperators?: Object);
    private getCMenuDS;
    /**
     * To destroy the filter bar.
     *
     * @returns {void}
     * @hidden
     */
    destroy(): void;
    private createMenu;
    private createMenuElem;
    private wireExEvents;
    private unwireExEvents;
    private clickExHandler;
    private focusNextOrPrevElement;
    private keyUp;
    private keyDown;
    private excelSetFocus;
    private destroyCMenu;
    private hoverHandler;
    private contextKeyDownHandler;
    private ensureTextFilter;
    private preventClose;
    private getContextBounds;
    private getCMenuYPosition;
    openDialog(options: IFilterArgs): void;
    closeDialog(): void;
    private selectHandler;
    /**
     * @hidden
     * @param {navigations.MenuEventArgs} e - event args
     * @returns {void}
     */
    renderDialogue(e?: navigations.MenuEventArgs): void;
    private renderResponsiveDialog;
    /**
     * @hidden
     * @returns {void}
     */
    removeDialog(): void;
    private createdDialog;
    private renderCustomFilter;
    /**
     * @hidden
     * @param {string} col - Defines column details
     * @returns {void}
     */
    filterBtnClick(col: string): void;
    /**
     * @hidden
     * Filters grid row by column name with given options.
     *
     * @param {string} fieldName - Defines the field name of the filter column.
     * @param {string} firstOperator - Defines the first operator by how to filter records.
     * @param {string | number | Date | boolean} firstValue - Defines the first value which is used to filter records.
     * @param  {string} predicate - Defines the relationship between one filter query with another by using AND or OR predicate.
     * @param {boolean} matchCase - If ignore case set to true, then filter records with exact match or else
     * filter records with case insensitive(uppercase and lowercase letters treated as same).
     * @param {boolean} ignoreAccent - If ignoreAccent set to true, then ignores the diacritic characters or accents when filtering.
     * @param {string} secondOperator - Defines the second operator by how to filter records.
     * @param {string | number | Date | boolean} secondValue - Defines the first value which is used to filter records.
     * @returns {void}
     */
    filterByColumn(fieldName: string, firstOperator: string, firstValue: string | number | Date | boolean, predicate?: string, matchCase?: boolean, ignoreAccent?: boolean, secondOperator?: string, secondValue?: string | number | Date | boolean): void;
    private renderOperatorUI;
    private removeHandlersFromComponent;
    private dropDownOpen;
    private dropDownValueChange;
    /**
     * @hidden
     * @returns {FilterUI} returns filter UI
     */
    getFilterUIInfo(): FilterUI;
    private getSelectedValue;
    private dropSelectedVal;
    private getSelectedText;
    private renderFilterUI;
    private renderRadioButton;
    private removeObjects;
    private renderFlValueUI;
    private getExcelFilterData;
    private renderMatchCase;
    private renderDate;
    private renderDateTime;
    private completeAction;
    private renderNumericTextBox;
    private renderAutoComplete;
    private acActionComplete;
    private acFocus;
}
//node_modules/@syncfusion/ej2-grids/src/grid/common/checkbox-filter-base.d.ts
/**
 * @hidden
 * `CheckBoxFilterBase` module is used to handle filtering action.
 */
export  class CheckBoxFilterBase {
    protected sBox: HTMLElement;
    private searchInputArgs;
    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 isExecuteLocal: boolean;
    private queryFilteredColumn;
    /** @hidden */
    options: IFilterArgs;
    protected customQuery: boolean;
    protected existingPredicate: {
        [key: string]: PredicateModel[];
    };
    protected foreignKeyData: Object[];
    protected foreignKeyQuery: data.Query;
    /** @hidden */
    filterState: boolean;
    protected values: Object;
    private cBoxTrue;
    private cBoxFalse;
    private itemsCnt;
    private result;
    protected renderEmpty: boolean;
    protected parent: IXLFilter;
    protected localeObj: base.L10n;
    protected valueFormatter: ValueFormatter;
    private searchHandler;
    private isMenuNotEqual;
    private isBlanks;
    private isCheckboxFilterTemplate;
    private infiniteRenderMod;
    private infiniteInitialLoad;
    private infiniteSearchValChange;
    private infinitePermenantLocalData;
    private infiniteQuery;
    private infiniteQueryExecutionPending;
    private infiniteSkipCnt;
    private infiniteScrollAppendDiff;
    private prevInfiniteScrollDirection;
    private infiniteLoadedElem;
    private infiniteDataCount;
    private infiniteSearchPred;
    private infiniteLocalSelectAll;
    private localInfiniteSelectAllClicked;
    private localInfiniteSelectionInteracted;
    private infiniteManualSelectMaintainPred;
    private infiniteUnloadParentExistPred;
    private filterPreventColumns;
    /**
     * Constructor for checkbox filtering module
     *
     * @param {IXLFilter} parent - specifies the IXLFilter
     * @hidden
     */
    constructor(parent?: IXLFilter);
    /**
     * @returns {void}
     * @hidden
     */
    destroy(): void;
    private wireEvents;
    private unWireEvents;
    protected foreignKeyFilter(args: Object, fColl?: Object[], mPredicate?: data.Predicate): void;
    private searchBoxClick;
    private searchBoxKeyUp;
    private updateSearchIcon;
    /**
     * Gets the localized label by locale keyword.
     *
     * @param {string} key - Defines localization key
     * @returns {string} - returns localization label
     */
    getLocalizedLabel(key: string): string;
    private updateDataSource;
    protected updateModel(options: IFilterArgs): void;
    protected getAndSetChkElem(options: IFilterArgs): HTMLElement;
    protected showDialog(options: IFilterArgs): void;
    private renderResponsiveFilter;
    private dialogCreated;
    openDialog(options: IFilterArgs): void;
    closeDialog(): void;
    /**
     * @param {Column} col - Defines column details
     * @returns {void}
     * @hidden
     */
    clearFilter(col?: Column): void;
    private btnClick;
    /**
     * @returns {void}
     * @hidden
     */
    fltrBtnHandler(): void;
    private complexQueryPredicate;
    private infiniteFltrBtnHandler;
    private notifyFilterPrevEvent;
    /** @hidden */
    static generateNullValuePredicates(defaults: {
        predicate?: string;
        field?: string;
        type?: string;
        uid?: string;
        operator?: string;
        matchCase?: boolean;
        ignoreAccent?: boolean;
    }): PredicateModel[];
    /** @hidden */
    initiateFilter(fColl: PredicateModel[]): void;
    protected isForeignColumn(col: Column): boolean;
    private refreshCheckboxes;
    protected search(args: FilterSearchBeginEventArgs, query: data.Query): void;
    private getPredicateFromCols;
    protected getQuery(): data.Query;
    private getAllData;
    private addDistinct;
    private getPredicateFields;
    private filterEvent;
    private addInfiniteScrollEvent;
    private infiniteScrollMouseKeyDownHandler;
    private infiniteScrollMouseKeyUpHandler;
    private getShimmerTemplate;
    /**
     * @returns {void}
     * @hidden
     */
    showMask(): void;
    private removeMask;
    private infiniteScrollHandler;
    private makeInfiniteScrollRequest;
    private processDataOperation;
    private executeQueryOperations;
    private dataSuccess;
    private queryGenerate;
    private processDataSource;
    private processSearch;
    private updateResult;
    private clickHandler;
    private updateInfiniteManualSelectPred;
    /**
     * Method to set the next target element on keyboard navigation using arrow keys.
     *
     * @param {KeyboardEventArgs} e - Defines the Keyboard event argument
     * @param {HTMLElement[]} focusableElements - Defines the Focusable elements
     * @returns {void}
     */
    private focusNextOrPrev;
    private keyupHandler;
    private setFocus;
    private updateAllCBoxes;
    private dialogOpen;
    private createCheckbox;
    private updateIndeterminatenBtn;
    private createFilterItems;
    private updateInfiniteUnLoadedCheckboxExistPred;
    private getCheckedState;
    static getDistinct(json: Object[], field: string, column?: Column, foreignKeyData?: Object[], checkboxFilter?: CheckBoxFilterBase): Object;
    static getPredicate(columns: PredicateModel[], isExecuteLocal?: boolean): data.Predicate;
    private static generatePredicate;
    private static getCaseValue;
    private static updateDateFilter;
}
//node_modules/@syncfusion/ej2-grids/src/grid/base/util.d.ts
/**
 * Function to check whether target object implement specific interface
 *
 * @param  {Object} target - specifies the target
 * @param  {string} checkFor - specifies the checkfors
 * @returns {boolean} returns the boolean
 * @hidden
 */
export  function doesImplementInterface(target: Object, checkFor: string): boolean;
/**
 * Function to get value from provided data
 *
 * @param  {string} field - specifies the field
 * @param  {Object} data - specifies the data
 * @param  {ColumnModel} column - specifies the column
 * @returns {Object} returns the object
 * @hidden
 */
export  function valueAccessor(field: string, data: Object, column: ColumnModel1): Object;
/**
 * Defines the method used to apply custom header cell values from external function and display this on each header cell rendered.
 *
 * @param  {string} field - specifies the field
 * @param  {ColumnModel} column - specifies the column
 * @returns {object} headerValueAccessor
 * @hidden
 */
export  function headerValueAccessor(field: string, column: ColumnModel1): Object;
/**
 * The function used to update Dom using requestAnimationFrame.
 *
 * @param {Function} updateFunction - Function that contains the actual action
 * @param {object} callBack - defines the callback
 * @returns {void}
 * @hidden
 */
export  function getUpdateUsingRaf<T>(updateFunction: Function, callBack: Function): void;
/**
 * @hidden
 * @param {PdfExportProperties | ExcelExportProperties} exportProperties - Defines the export properties
 * @returns {boolean} Returns isExportColumns
 */
export  function isExportColumns(exportProperties: PdfExportProperties | ExcelExportProperties): boolean;
/**
 * @param {PdfExportProperties | ExcelExportProperties} exportProperties - Defines the export properties
 * @param {IGrid} gObj - Defines the grid object
 * @returns {void}
 * @hidden
 */
export  function updateColumnTypeForExportColumns(exportProperties: PdfExportProperties | ExcelExportProperties, gObj: IGrid): void;
/**
 * @hidden
 * @param {IGrid} grid - Defines the grid
 * @returns {void}
 */
export  function updatecloneRow(grid: IGrid): void;
/**
 * @hidden
 * @param {Row<Column>} val - Defines the value
 * @param {IGrid} grid - Defines the grid
 * @returns {number} Returns the collapsed row count
 */
export  function getCollapsedRowsCount(val: Row<Column>, grid: IGrid): number;
/**
 * @param {Object[]} row - Defines the row
 * @returns {void}
 * @hidden
 */
export  function recursive(row: Object[]): void;
/**
 * @param {Object[]} collection - Defines the array
 * @param {Object} predicate - Defines the predicate
 * @returns {Object} Returns the object
 * @hidden
 */
export  function iterateArrayOrObject<T, U>(collection: U[], predicate: (item: Object, index: number) => T): T[];
/**
 * @param {Object[]} array - Defines the array
 * @returns {Object} Returns the object
 * @hidden
 */
export  function iterateExtend(array: Object[]): Object[];
/**
 * @param {string | Function} template - Defines the template
 * @returns {Function} Returns the function
 * @hidden
 */
export  function templateCompiler(template: string | Function): Function;
/**
 * @param {Element} node - Defines the column
 * @param {Object} customAttributes - Defines the index
 * @returns {void}
 * @hidden
 */
export  function setStyleAndAttributes(node: Element, customAttributes: {
    [x: string]: Object;
}): void;
/**
 * @param {Object} copied - Defines the column
 * @param {Object} first - Defines the inndex
 * @param {Object} second - Defines the second object
 * @param {string[]} exclude - Defines the exclude
 * @returns {Object} Returns the object
 * @hidden
 */
export  function extend(copied: Object, first: Object, second?: Object, exclude?: string[]): Object;
/**
 * @param {Column[]} columnModel - Defines the column
 * @param {number} ind - Defines the inndex
 * @returns {number} - Returns the columnindex
 * @hidden
 */
export  function setColumnIndex(columnModel: Column[], ind?: number): number;
/**
 * @param {Column[] | string[] | ColumnModel[]} columns - Defines the column
 * @param {boolean} autoWidth - Defines the autowidth
 * @param {IGrid} gObj - Defines the class name
 * @returns {Column} - Returns the columns
 * @hidden
 */
export  function prepareColumns(columns: Column[] | string[] | ColumnModel1[], autoWidth?: boolean, gObj?: IGrid): Column[];
/**
 * @param {HTMLElement} popUp - Defines the popup element
 * @param {MouseEvent | TouchEvent} e - Defines the moouse event
 * @param {string} className - Defines the class name
 * @returns {void}
 * @hidden
 */
export  function setCssInGridPopUp(popUp: HTMLElement, e: MouseEvent | TouchEvent, className: string): void;
/**
 * @param {Object} obj - Defines the object
 * @returns {Object} Returns the Properties
 * @hidden
 */
export  function getActualProperties<T>(obj: T): T;
/**
 * @param {Element} elem - Defines the element
 * @param {string} selector - Defines the string selector
 * @param {boolean} isID - Defines the isID
 * @returns {Element} Returns the element
 * @hidden
 */
export  function parentsUntil(elem: Element, selector: string, isID?: boolean): Element;
/**
 * @param {Element} element - Defines the element
 * @param {Element} elements - Defines the element
 * @returns {number} Returns the element index
 * @hidden
 */
export  function getElementIndex(element: Element, elements: Element[]): number;
/**
 * @param {Object} value - Defines the value
 * @param {Object} collection - defines the collection
 * @returns {number} Returns the array
 * @hidden
 */
export  function inArray(value: Object, collection: Object[]): number;
/**
 * @param {Object} collection - Defines the collection
 * @returns {Object} Returns the object
 * @hidden
 */
export  function getActualPropFromColl(collection: Object[]): Object[];
/**
 * @param {Element} target - Defines the target element
 * @param {string} selector - Defines the selector
 * @returns {void}
 * @hidden
 */
export  function removeElement(target: Element, selector: string): void;
/**
 * @param {MouseEvent | TouchEvent} e Defines the mouse event
 * @returns {IPosition} Returns the position
 * @hidden
 */
export  function getPosition(e: MouseEvent | TouchEvent): IPosition;
/**
 * @param {string} prefix - Defines the prefix string
 * @returns {string} Returns the uid
 * @hidden
 */
export  function getUid(prefix: string): string;
/**
 * @param {Element | DocumentFragment} elem - Defines the element
 * @param {Element[] | NodeList} children - Defines the Element
 * @returns {Element} Returns the element
 * @hidden
 */
export  function appendChildren(elem: Element | DocumentFragment, children: Element[] | NodeList): Element;
/**
 * @param {Element} elem - Defines the element
 * @param {string} selector - Defines the selector
 * @param {boolean} isID - Defines isID
 * @returns {Element} Return the element
 * @hidden
 */
export  function parents(elem: Element, selector: string, isID?: boolean): Element[];
/**
 * @param {AggregateType | string} type - Defines the type
 * @param {Object} data - Defines the data
 * @param {AggregateColumnModel} column - Defines the column
 * @param {Object} context - Defines the context
 * @returns {Object} Returns the calculated aggragate
 * @hidden
 */
export  function calculateAggregate(type: AggregateType | string, data: Object, column?: AggregateColumnModel, context?: Object): Object;
/** @hidden
 * @returns {number} - Returns the scrollbarwidth
 */
export  function getScrollBarWidth(): number;
/**
 * @param {HTMLElement} element - Defines the element
 * @param {boolean} accurateHeight - Defines the accurate row height
 * @returns {number} Returns the roww height
 * @hidden
 */
export  function getRowHeight(element?: HTMLElement, accurateHeight?: boolean): number;
/**
 * @param {HTMLElement} element - Defines the HTMl element
 * @returns {number} Returns the row height
 * @hidden
 */
export  function getActualRowHeight(element?: HTMLElement): number;
/**
 * @param {string} field - Defines the field
 * @returns {boolean} - Returns is complex field
 * @hidden
 */
export  function isComplexField(field: string): boolean;
/**
 * @param {string} field - Defines the field
 * @returns {string} - Returns the get complex field ID
 * @hidden
 */
export  function getComplexFieldID(field?: string): string;
/**
 * @param {string} field - Defines the field
 * @returns {string} - Returns the parsed column field id
 * @hidden
 */
export  function getParsedFieldID(field?: string): string;
/**
 * @param {string} field - Defines the field
 * @returns {string} - Returns the set complex field ID
 * @hidden
 */
export  function setComplexFieldID(field?: string): string;
/**
 * @param {Column} col - Defines the column
 * @param {string} type - Defines the type
 * @param {Element} elem - Defines th element
 * @returns {boolean} Returns is Editable
 * @hidden
 */
export  function isEditable(col: Column, type: string, elem: Element): boolean;
/**
 * @param {Element} elem - Defines th element
 * @param {IGrid} parent - Defines parent instance
 * @returns {boolean} Returns is Editable
 * @hidden
 */
export  function isCellHaveWidth(elem: Element, parent?: IGrid): boolean;
/**
 * @param {IGrid} inst - Defines the IGrid
 * @returns {boolean} Returns is action prevent in boolean
 * @hidden
 */
export  function isActionPrevent(inst: IGrid): boolean;
/**
 * @param {any} elem - Defines the element
 * @param {boolean} action - Defines the boolean for action
 * @returns {void}
 * @hidden
 */
export  function wrap(elem: any, action: boolean): void;
/**
 * @param {ServiceLocator} serviceLocator - Defines the service locator
 * @param {Column} column  - Defines the column
 * @returns {void}
 * @hidden
 */
export  function setFormatter(serviceLocator?: ServiceLocator, column?: Column): void;
/**
 * @param {Element} cells - Defines the cell element
 * @param {boolean} add - Defines the add
 * @param {string} args - Defines the args
 * @returns {void}
 * @hidden
 */
export  function addRemoveActiveClasses(cells: Element[], add: boolean, ...args: string[]): void;
/**
 * @param {string} result - Defines th string
 * @returns {string} Returns the distinct staing values
 * @hidden
 */
export  function distinctStringValues(result: string[]): string[];
/**
 * @param {Element} target - Defines the target
 * @param {popups.Dialog} dialogObj - Defines the dialog
 * @param {IGrid} parent - Defines the grid
 * @returns {void}
 * @hidden
 */
export  function getFilterMenuPostion(target: Element, dialogObj: popups.Dialog, parent?: IGrid): void;
/**
 * @param {Object} args - Defines the args
 * @param {popups.Popup} args.popup - Defines the args for popup
 * @param {popups.Dialog} dialogObj - Defines the dialog obj
 * @returns {void}
 * @hidden
 */
export  function getZIndexCalcualtion(args: {
    popup: popups.Popup;
}, dialogObj: popups.Dialog): void;
/**
 * @param {string} operator - Defines the operator
 * @param {string} columnUid - Defines the column uid
 * @param {Column} column - Defines the column
 * @param {string} columnType - Defines the column type
 * @param {popups.Dialog} dlgObj - Defines the dialog
 * @param {string} previousValue - Defines the previous operator
 * @returns {void}
 * @hidden
 */
export  function toggleFilterUI(operator: string, columnUid: string, column: Column, columnType: string, dlgObj: popups.Dialog, previousValue: string): void;
/**
 * @param {Element} elem - Defines the element
 * @returns {void}
 * @hidden
 */
export  function toogleCheckbox(elem: Element): void;
/**
 * @param {HTMLInputElement} elem - Defines the element
 * @param {boolean} checked - Defines is checked
 * @returns {void}
 * @hidden
 */
export  function setChecked(elem: HTMLInputElement, checked: boolean): void;
/**
 * @param {string} uid - Defines the string
 * @param {Element} elem - Defines the Element
 * @param {string} className - Defines the classname
 * @returns {Element} Returns the box wrap
 * @hidden
 */
export  function createCboxWithWrap(uid: string, elem: Element, className?: string): Element;
/**
 * @param {Element} elem - Defines the element
 * @param {boolean} checked - Defines is checked
 * @returns {void}
 * @hidden
 */
export  function removeAddCboxClasses(elem: Element, checked: boolean): void;
/**
 * Refresh the Row model's foreign data.
 *
 * @param {IRow<Column>} row - Grid Row model object.
 * @param {Column[]} columns - Foreign columns array.
 * @param {Object} data - Updated Row data.
 * @returns {void}
 * @hidden
 */
export  function refreshForeignData(row: IRow<Column>, columns: Column[], data: Object): void;
/**
 * Get the foreign data for the corresponding cell value.
 *
 * @param {Column} column - Foreign Key column
 * @param {Object} data - Row data.
 * @param {string | number} lValue - cell value.
 * @param {Object} foreignKeyData - foreign data source.
 * @returns {Object} Returns the object
 * @hidden
 */
export  function getForeignData(column: Column, data?: Object, lValue?: string | number, foreignKeyData?: Object[]): Object[];
/**
 * To use to get the column's object by the foreign key value.
 *
 * @param {string} foreignKeyValue - Defines ForeignKeyValue.
 * @param {Column[]} columns - Array of column object.
 * @returns {Column} Returns the element
 * @hidden
 */
export  function getColumnByForeignKeyValue(foreignKeyValue: string, columns: Column[]): Column;
/**
 * @param {number} value - Defines the date or month value
 * @returns {string} Returns string
 * @hidden
 */
export  function padZero(value: number): string;
/**
 * @param {PredicateModel} filterObject - Defines the filterObject
 * @param {string} type - Defines the type
 * @param {boolean} isExecuteLocal - Defines whether the data actions performed in client and used for dateonly type field
 * @returns {data.Predicate} Returns the data.Predicate
 * @hidden
 */
export  function getDatePredicate(filterObject: PredicateModel, type?: string, isExecuteLocal?: boolean): data.Predicate;
/**
 * @param {IGrid} grid - Defines the IGrid
 * @returns {boolean} Returns true if group adaptive is true
 * @hidden
 */
export  function isGroupAdaptive(grid: IGrid): boolean;
/**
 * @param {string} field - Defines the Field
 * @param {Object} object - Defines the objec
 * @returns {any} Returns the object
 * @hidden
 */
export  function getObject(field?: string, object?: Object): any;
/**
 * @param {string | Object} format - defines the format
 * @param {string} colType - Defines the coltype
 * @returns {string} Returns the custom Data format
 * @hidden
 */
export  function getCustomDateFormat(format: string | Object, colType: string): string;
/**
 * @param {IGrid} gObj - Defines the IGrid
 * @param {HierarchyGridPrintMode} hierarchyPrintMode - Defines the hierarchyPrintMode
 * @returns {Object} Returns the object
 * @hidden
 */
export  function getExpandedState(gObj: IGrid, hierarchyPrintMode: HierarchyGridPrintMode): {
    [index: number]: IExpandedRow;
};
/**
 * @param {IGrid} gObj - Defines the grid objct
 * @param {HierarchyGridPrintMode} hierarchyPrintMode - Defines the hierarchyPrintMode
 * @returns {IGrid} Returns the IGrid
 * @hidden
 */
export  function getPrintGridModel(gObj: IGrid, hierarchyPrintMode?: HierarchyGridPrintMode): IGrid;
/**
 * @param {Object} copied - Defines the copied object
 * @param {Object} first - Defines the first object
 * @param {Object} second - Defines the second object
 * @param {boolean} deep - Defines the deep
 * @returns {Object} Returns the extended object
 * @hidden
 */
export  function extendObjWithFn(copied: Object, first: Object, second?: Object, deep?: boolean): Object;
/**
 * @param {Object} obj - Defines the obj
 * @returns {string[]} Returns the string
 * @hidden
 */
export  function getPrototypesOfObj(obj: Object): string[];
/**
 * @param {Column[]} column - Defines the Column
 * @returns {number} Returns the column Depth
 * @hidden
 */
export  function measureColumnDepth(column: Column[]): number;
/**
 * @param {Column} col - Defines the Column
 * @param {number} index - Defines the index
 * @returns {number} Returns the depth
 * @hidden
 */
export  function checkDepth(col: Column, index: number): number;
/**
 * @param {IGrid} gObj - Defines the IGrid
 * @param {PredicateModel[]} filteredCols - Defines the PredicateModel
 * @returns {void}
 * @hidden
 */
export  function refreshFilteredColsUid(gObj: IGrid, filteredCols: PredicateModel[]): void;
/** @hidden */
export  namespace Global {
    let timer: Object;
}
/**
 * @param {Element} element - Defines the element
 * @returns {Object} Returns the transform values
 * @hidden
 */
export  function getTransformValues(element: Element): {
    width: number;
    height: number;
};
/**
 * @param {Element} rootElement - Defines the root Element
 * @param {Element} element - Defines the element
 * @returns {void}
 * @hidden
 */
export  function applyBiggerTheme(rootElement: Element, element: Element): void;
/**
 * @param {IGrid} gObj - Defines grid object
 * @returns {number}  - Returns scroll width
 * @hidden
 */
export  function getScrollWidth(gObj: IGrid): number;
/**
 * @param {IGrid} gObj - Defines grid object
 * @param {number} idx - Defines the index
 * @returns {number} Returns colSpan index
 * @hidden
 */
export  function resetColspanGroupCaption(gObj: IGrid, idx: number): number;
/**
 * @param {HTMLElement} tr - Defines the tr Element
 * @param {IGrid} gObj - Defines grid object
 * @returns {void}
 * @hidden
 */
export  function groupCaptionRowLeftRightPos(tr: Element, gObj: IGrid): void;
/**
 * @param {Element} row - Defines row element
 * @param {IGrid} gridObj - Defines grid object
 * @returns {boolean} Returns isRowEnteredInGrid
 * @hidden
 */
export  function ensureLastRow(row: Element, gridObj: IGrid): boolean;
/**
 * @param {Element} row - Defines row element
 * @param {number} rowTop - Defines row top number
 * @returns {boolean} Returns first row is true
 * @hidden
 */
export  function ensureFirstRow(row: Element, rowTop: number): boolean;
/**
 * @param {number} index - Defines index
 * @param {IGrid} gObj - Defines grid object
 * @returns {boolean} Returns isRowEnteredInGrid
 * @hidden
 */
export  function isRowEnteredInGrid(index: number, gObj: IGrid): boolean;
/**
 * @param {IGrid} gObj - Defines the grid object
 * @param {Object} data - Defines the query
 * @returns {number} Returns the edited data index
 * @hidden
 */
export  function getEditedDataIndex(gObj: IGrid, data: Object): number;
/**
 * @param {Object} args - Defines the argument
 * @param {data.Query} query - Defines the query
 * @returns {FilterStateObj} Returns the filter state object
 * @hidden
 */
export  function eventPromise(args: Object, query: data.Query): FilterStateObj;
/**
 * @param {data.Query} query - Defines the query
 * @returns {Object} Returns the state event argument
 * @hidden
 */
export  function getStateEventArgument(query: data.Query): Object;
/**
 * @param {IGrid} gObj - Defines the Igrid
 * @returns {boolean} Returns the ispercentageWidth
 * @hidden
 */
export  function ispercentageWidth(gObj: IGrid): boolean;
/**
 * @param {IGrid} gObj - Defines the IGrid
 * @param {Row<Column>[]} rows - Defines the row
 * @param {HTMLTableRowElement[]} rowElms - Row elements
 * @param {number} index - Row index
 * @param {number} startRowIndex - Start Row Index
 * @returns {void}
 * @hidden
 */
export  function resetRowIndex(gObj: IGrid, rows: Row<Column>[], rowElms: HTMLTableRowElement[], index?: number, startRowIndex?: number): void;
/**
 * @param {IGrid} gObj - Defines the IGrid
 * @returns {void}
 * @hidden
 */
export  function resetCachedRowIndex(gObj: IGrid): void;
/**
 * @param {IGrid} gObj - Defines the IGrid
 * @param {RowDropEventArgs} args - Defines the row drop event argument
 * @param {HTMLTableRowElement[]} tr - Row elements
 * @param {Row<Column>} dropRObj - dropped row object
 * @returns {void}
 * @hidden
 */
export  function groupReorderRowObject(gObj: IGrid, args: RowDropEventArgs, tr: HTMLTableRowElement[], dropRObj?: Row<Column>): void;
/**
 * @param {IGrid} gObj - Defines the grid object
 * @param {Object} changes - Defines the changes
 * @param {string} type - Defines the type
 * @param {string} keyField - Defines the keyfield
 * @returns {void}
 * @hidden
 */
export  function compareChanges(gObj: IGrid, changes: Object, type: string, keyField: string): void;
/**
 * @param {IGrid} gObj - Defines the grid object
 * @returns {void}
 * @hidden
 */
export  function setRowElements(gObj: IGrid): void;
/**
 * @param {Element} row - Defines the row
 * @param {number} start - Defines the start index
 * @param {number} end - Defines the end index
 * @returns {void}
 * @hidden
 */
export  function sliceElements(row: Element, start: number, end: number): void;
/**
 * @param {IGrid} gObj - Defines the grid
 * @param {popups.Dialog} dlgObj - Defines the dialog
 * @returns {void}
 * @hidden
 */
export  function resetDialogAppend(gObj: IGrid, dlgObj: popups.Dialog): void;
/**
 * @param {Column} column - Defines the column
 * @param {string} uid - Defines the uid
 * @returns {boolean} Returns is child column
 * @hidden
 */
export  function isChildColumn(column: Column, uid: string): boolean;
/**
 * @param {Column} column - Defines the column
 * @param {string[]} uids - Defines the uid
 * @returns {void}
 * @hidden
 */
export  function pushuid(column: Column, uids: string[]): void;
/**
 * @param {Column} column - Defines the column
 * @returns {string} Returns the direction
 * @hidden
 */
export  function frozenDirection(column: Column): string;
/**
 * @param {Element} row - Defines the row
 * @returns {void}
 * @hidden
 */
export  function addFixedColumnBorder(row: Element): void;
/**
 * @param {HTMLElement} node - Defines the row
 * @param {number} width - Defines the width
 * @param {boolean} isRtl - Boolean property
 * @param {string} position - Defines the position
 * @returns {void}
 * @hidden
 */
export  function applyStickyLeftRightPosition(node: HTMLElement, width: number, isRtl: boolean, position: string): void;
/**
 * @param {IGrid} gObj - Defines the grid
 * @param {Column} column - Defines the column
 * @param {Element} node - Defines the Element
 * @param {number} colSpan - Defines the colSpan value
 * @returns {void}
 * @hidden
 */
export  function resetColandRowSpanStickyPosition(gObj: IGrid, column: Column, node: Element, colSpan: number): void;
/**
 * @param {IGrid} gObj - Defines the grid
 * @param {number} rowIndex - Defines the row index
 * @param {number} colIndex - Defines the colum index
 * @returns {void}
 * @hidden
 */
export  function getCellFromRow(gObj: IGrid, rowIndex: number, colIndex: number): Element;
/**
 * @param {IGrid} gObj - Defines the grid
 * @param {Column} column - Defines the column
 * @param {Element} node - Defines the Element
 * @returns {void}
 * @hidden
 */
export  function addStickyColumnPosition(gObj: IGrid, column: Column, node: Element): void;
/**
 * @param {IGrid} gObj - Defines the grid Object
 * @param {Column} col - Defines the column
 * @param {number} rowIndex - Defines the rowindex
 * @returns {Element} Returns the element
 * @hidden
 */
export  function getCellsByTableName(gObj: IGrid, col: Column, rowIndex: number): Element[];
/**
 * @param {IGrid} gObj - Defines the column
 * @param {Column} col - Defines the index
 * @param {number} rowIndex - Defines the rules
 * @param {number} index - Defines the movable column rules
 * @returns {Element} Returns the Element
 * @hidden
 */
export  function getCellByColAndRowIndex(gObj: IGrid, col: Column, rowIndex: number, index: number): Element;
/**
 * @param {Column} col - Defines the column
 * @param {number} index - Defines the index
 * @param {Object} rules - Defines the rules
 * @param {Object} mRules - Defines the movable column rules
 * @param {Object} frRules - Defines the Frozen rules
 * @param {number} len - Defines the length
 * @param {boolean} isCustom - Defines custom form validation
 * @returns {void}
 * @hidden
 */
export  function setValidationRuels(col: Column, index: number, rules: Object, mRules: Object, frRules: Object, len: number, isCustom?: boolean): void;
/**
 * @param {string} numberFormat - Format
 * @param {string} type - Value type
 * @param {boolean} isExcel - Boolean property
 * @param {string} currencyCode - Specifies the currency code to be used for formatting.
 * @returns {string} returns formated value
 * @hidden
 */
export  function getNumberFormat(numberFormat: string, type: string, isExcel: boolean, currencyCode?: string): string;
/**
 * @param {IGrid} gObj - Grid instance
 * @returns {void}
 * @hidden
 */
export  function addBiggerDialog(gObj: IGrid): void;
/**
 * @param {string} value - specifies the trr
 * @param {Object} mapObject - specifies the idx
 * @returns {Object | string} returns object or string
 * @hidden
 */
export  function performComplexDataOperation(value: string, mapObject: Object): Object | string;
/**
 * @param {Object} tr - specifies the trr
 * @param {number} idx - specifies the idx
 * @param {string} displayVal - specifies the displayval
 * @param {Row<Column>} rows - specifies the rows
 * @param {IGrid} parent - Grid instance
 * @param {boolean} isContent - check for content renderer
 * @returns {void}
 * @hidden
 */
export  function setDisplayValue(tr: Object, idx: number, displayVal: string, rows: Row<Column>[], parent?: IGrid, isContent?: boolean): void;
/** @hidden */
export  function addRemoveEventListener(parent: IGrid, evt: {
    event: string;
    handler: Function;
}[], isOn: boolean, module?: Object): void;
/** @hidden */
export  function createEditElement(parent: IGrid, column: Column, classNames: string, attr: {
    [key: string]: string;
}): Element;
/**
 * @param {IGrid} gObj - Grid instance
 * @param {string} uid - Defines column's uid
 * @returns {Column} returns column model
 * @hidden
 */
export  function getColumnModelByUid(gObj: IGrid, uid: string): Column;
/**
 * @param {IGrid} gObj - Grid instance
 * @param {string} field - Defines column's uid
 * @returns {Column} returns column model
 * @hidden
 */
export  function getColumnModelByFieldName(gObj: IGrid, field: string): Column;
/**
 * @param {string} id - Defines component id
 * @param {string[]} evts - Defines events
 * @param {object} handlers - Defines event handlers
 * @param {any} instance - Defines class instance
 * @returns {void}
 * @hidden
 */
export  function registerEventHandlers(id: string, evts: string[], handlers: object, instance: any): void;
/**
 * @param {any} component - Defines component instance
 * @param {string[]} evts - Defines events
 * @param {any} instance - Defines class instance
 * @returns {void}
 * @hidden
 */
export  function removeEventHandlers(component: any, evts: string[], instance: any): void;
/**
 * @param {IGrid | IXLFilter} parent - Defines parent instance
 * @param {string[]} templates - Defines the templates name which are needs to clear
 * @returns {void}
 * @hidden
 */
export  function clearReactVueTemplates(parent: IGrid | IXLFilter, templates: string[]): void;
/**
 *
 * @param { HTMLElement[] } removeElem - Defines checkbox wrapper element
 * @returns {void}
 * @hidden
 */
export  function infiniteRemoveElements(removeElem: HTMLElement[]): void;
/**
 *
 * @param { HTMLElement[] } appendElem - Defines checkbox wrapper element
 * @param { HTMLElement } ulElement - Defines ul element
 * @returns {void}
 * @hidden
 */
export  function infiniteAppendElements(appendElem: HTMLElement[], ulElement: HTMLElement): void;
/**
 *
 * @param { HTMLElement } element - Defines checkbox wrapper element
 * @param { boolean } isChooser - Defines checkbox filter column chooser
 * @returns { number } list height value
 * @hidden
 */
export  function getListHeight(element: Element, isChooser?: boolean): number;
/**
 *
 * @param { Element } row - Defines row element
 * @returns { number } row index
 */
export  function getRowIndexFromElement(row: Element): number;
/**
 *
 * @param { IGrid } grid - Defines grid instance
 * @returns { IGrid } returns parent grid instance
 */
export  function getParentIns(grid: IGrid): IGrid;
/**
 *
 * @param { string[] } fields - Defines grouped fields
 * @param { values } values - Defines caption keys
 * @param { any } instance - Defines dynamic class instance
 * @returns { data.Predicate } returns filter predicate
 */
export  function generateExpandPredicates(fields: string[], values: string[], instance: any): data.Predicate;
/**
 *
 * @param { data.Predicate } pred - Defines filter predicate
 * @returns { data.Predicate[] } Returns formed predicate
 */
export  function getPredicates(pred: data.Predicate): data.Predicate[];
/**
 *
 * @param { number } index - Defines group caption indent
 * @param { Row<Column>[] } rowsObject - Defines rows object
 * @returns { { fields: string[], keys: string[] } } Returns grouped keys and values
 */
export  function getGroupKeysAndFields(index: number, rowsObject: Row<Column>[]): {
    fields: string[];
    keys: string[];
};
/**
 *
 * @param { number[][] } checkActiveMatrix - Defines matrix to check
 * @param { number[] } checkCellIndex - Defines index to check
 * @param { boolean } next - Defines select next or previous index
 * @returns { number[] } - Returns next active current index
 */
export  function findCellIndex(checkActiveMatrix: number[][], checkCellIndex: number[], next: boolean): number[];
/**
 *
 * @param { string } string - Defines string need to capitalized first letter
 * @returns { string } - Returns capitalized first letter string
 */
export  function capitalizeFirstLetter(string: string): string;
/**
 *
 * @param { IGrid } grid - Defines parent instance
 * @returns { boolean } - Returns is virtual
 */
export  function checkIsVirtual(grid: IGrid): boolean;
/**
 *
 * @param { number[] } blockes - Defines block indexes
 * @returns { number[] } - Returns is visible page
 */
export  function getVisiblePage(blockes: number[]): number[];
//node_modules/@syncfusion/ej2-grids/src/grid/base/type.d.ts
/**
 * Exports types used by Grid.
 * ```props
 * * number :- Sets value type as number.
 * * string :- Sets value type as string.
 * * Date :- Sets value type as date.
 * * boolean :- Sets value type as boolean.
 * ```
 */
export  type ValueType = number | string | Date | boolean;
export  type ValueAccessor = (field: string, data: Object, column: ColumnModel1) => Object;
export  type HeaderValueAccessor = (field: string, column: ColumnModel1) => Object;
export  type SortComparer = (x: ValueType, y: ValueType) => number;
export  type CustomSummaryType = (data: Object[] | Object, column: AggregateColumnModel) => Object;
export  type ReturnType = {
    result: Object[];
    count: number;
    aggregates?: Object;
    foreignColumnsData?: Object;
};
export  type SentinelType = {
    check?: (rect: ClientRect, info: SentinelType) => boolean;
    top?: number;
    entered?: boolean;
    axis?: string;
};
export  type SentinelInfo = {
    up?: SentinelType;
    down?: SentinelType;
    right?: SentinelType;
    left?: SentinelType;
};
export  type Offsets = {
    top?: number;
    left?: number;
};
/** @hidden */
export  type BatchChanges = {
    addedRecords?: Object[];
    changedRecords?: Object[];
    deletedRecords?: Object[];
};
//node_modules/@syncfusion/ej2-grids/src/grid/base/string-literals.d.ts
/**
 * Specifies class names
 */
/** @hidden */
export  const rowCell: string;
/** @hidden */
export  const gridHeader: string;
/** @hidden */
export  const gridContent: string;
/** @hidden */
export  const gridFooter: string;
/** @hidden */
export  const headerContent: string;
/** @hidden */
export  const movableContent: string;
/** @hidden */
export  const movableHeader: string;
/** @hidden */
export  const frozenContent: string;
/** @hidden */
export  const frozenHeader: string;
/** @hidden */
export  const content: string;
/** @hidden */
export  const table: string;
/** @hidden */
export  const row: string;
/** @hidden */
export  const gridChkBox: string;
/** @hidden */
export  const editedRow: string;
/** @hidden */
export  const addedRow: string;
/** @hidden */
export  const groupCaptionRow: string;
/**
 * Specifies repeated strings
 */
/** @hidden */
export  const changedRecords: string;
/** @hidden */
export  const addedRecords: string;
/** @hidden */
export  const deletedRecords: string;
/** @hidden */
export  const leftRight: string;
/** @hidden */
export  const frozenRight: string;
/** @hidden */
export  const frozenLeft: string;
/** @hidden */
export  const ariaColIndex: string;
/** @hidden */
export  const ariaRowIndex: string;
/** @hidden */
export  const tbody: string;
/** @hidden */
export  const colGroup: string;
/** @hidden */
export  const open: string;
/** @hidden */
export  const change: string;
/** @hidden */
export  const focus: string;
/** @hidden */
export  const create: string;
/** @hidden */
export  const beforeOpen: string;
/** @hidden */
export  const downArrow: FocusKeys;
/** @hidden */
export  const upArrow: FocusKeys;
/** @hidden */
export  const pageUp: FocusKeys;
/** @hidden */
export  const pageDown: FocusKeys;
/** @hidden */
export  const enter: FocusKeys;
/** @hidden */
export  const shiftEnter: FocusKeys;
/** @hidden */
export  const tab: FocusKeys;
/** @hidden */
export  const shiftTab: FocusKeys;
/** @hidden */
export  const initialFrozenColumnIndex: string;
//node_modules/@syncfusion/ej2-grids/src/grid/base/interface.d.ts
/**
 * Specifies grid interfaces.
 *
 * @hidden
 */
export interface IGrid extends base.Component<HTMLElement> {
    currentViewData?: Object[];
    currentAction?: ActionArgs;
    /**
     * @hidden
     * Specifies whether the inline edit form widgets are destroyed or not.
     * @default false
     */
    isWidgetsDestroyed: boolean;
    /**
     * Specifies the columns for Grid.
     *
     * @default []
     */
    columns?: Column[] | string[] | ColumnModel1[];
    /**
     * Specifies whether the enableAltRow is enable or not.
     *
     * @default null
     */
    enableAltRow?: boolean;
    /**
     * Specifies whether the enable row hover is enable or not.
     *
     * @default null
     */
    enableHover?: boolean;
    /**
     * Specifies the allowKeyboard Navigation for the Grid.
     *
     * @default null
     */
    allowKeyboard?: boolean;
    /**
     * If 'enableStickyHeader' set to true, then the user can able to make the column headers visible when the document is scrolled.
     *
     * @default null
     */
    enableStickyHeader?: boolean;
    /**
     * If 'enableHtmlSanitizer' set to true, then it will sanitize any suspected untrusted strings and scripts before rendering them.
     *
     * @default null
     */
    enableHtmlSanitizer?: boolean;
    /**
     * Specifies whether the allowTextWrap is enabled or not.
     *
     * @default null
     */
    allowTextWrap?: boolean;
    /**
     * Specifies the 'textWrapSettings' for Grid.
     *
     * @default []
     */
    textWrapSettings?: TextWrapSettingsModel;
    /**
     * Specifies whether the paging is enable or not.
     *
     * @default null
     */
    allowPaging?: boolean;
    /**
     * Specifies the 'enableAutoFill' for Grid.
     *
     * @default []
     */
    enableAutoFill?: boolean;
    /**
     * Specifies the pageSettings for Grid.
     *
     * @default PageSettings
     */
    pageSettings?: PageSettingsModel;
    /**
     * Configures the Loading Indicator of the Grid.
     *
     * @default LoadingIndicator
     */
    loadingIndicator?: LoadingIndicatorModel;
    /**
     * Specifies the shimmer effect for Grid virtual and infinite scrolling.
     *
     * @default true
     */
    enableVirtualMaskRow?: boolean;
    /**
     * Specifies whether the Virtualization is enable or not.
     *
     */
    enableVirtualization: boolean;
    /**
     * Specifies whether the ColumnVirtualization is enable or not.
     *
     */
    enableColumnVirtualization: boolean;
    /**
     * Specifies whether the InfiniteScrolling is enable or not.
     *
     */
    enableInfiniteScrolling: boolean;
    /**
     * Specifies whether the sorting is enable or not.
     *
     * @default null
     */
    allowSorting?: boolean;
    /**
     *  Defines the mode of clip. The available modes are,
     * `Clip`: Truncates the cell content when it overflows its area.
     * `Ellipsis`: Displays ellipsis when the cell content overflows its area.
     * `EllipsisWithTooltip`:  Displays ellipsis when the cell content overflows its area,
     *  also it will display the tooltip while hover on ellipsis is applied.
     *
     * @default Ellipsis
     */
    clipMode?: ClipMode;
    /**
     * Defines the resizing behavior of the Grid.
     *
     * @default []
     */
    resizeSettings?: ResizeSettingsModel;
    /**
     * Specifies whether the multi-sorting is enable or not.
     *
     * @default null
     */
    allowMultiSorting?: boolean;
    /**
     * Specifies the sortSettings for Grid.
     *
     * @default []
     */
    sortSettings?: SortSettingsModel;
    /**
     * Specifies the infinite scroll settings for Grid.
     *
     * @default []
     */
    infiniteScrollSettings?: InfiniteScrollSettingsModel;
    /**
     * Specifies whether the Excel exporting is enable or not.
     *
     * @default null
     */
    allowExcelExport?: boolean;
    /**
     * Specifies whether the Pdf exporting is enable or not.
     *
     * @default null
     */
    allowPdfExport?: boolean;
    /**
     * Specifies whether the selection is enable or not.
     *
     * @default null
     */
    allowSelection?: boolean;
    /**
     * It is used to select the row while initializing the grid.
     *
     * @default -1
     */
    selectedRowIndex?: number;
    /**
     * Specifies the selectionSettings for Grid.
     *
     * @default []
     */
    selectionSettings?: SelectionSettingsModel;
    /**
     * Specifies whether the reordering is enable or not.
     *
     * @default null
     */
    allowReordering?: boolean;
    /**
     * If `allowResizing` set to true, then the Grid columns can be resized.
     *
     * @default false
     */
    allowResizing?: boolean;
    /**
     * Specifies whether the filtering is enable or not.
     *
     * @default null
     */
    allowFiltering?: boolean;
    /**
     * Specifies the filterSettings for Grid.
     *
     * @default []
     */
    filterSettings?: FilterSettingsModel;
    /**
     * Specifies whether the grouping is enable or not.
     *
     * @default null
     */
    allowGrouping?: boolean;
    /**
     * Specifies whether the immutable mode is enable or not.
     *
     * @default null
     */
    enableImmutableMode?: boolean;
    /**
     * Specifies whether the column menu is show or not.
     *
     * @default null
     */
    showColumnMenu?: boolean;
    /**
     * Specifies whether to auto fit the columns based on given width.
     *
     * @default null
     */
    autoFit?: boolean;
    /**
     * Specifies the groupSettings for Grid.
     *
     * @default []
     */
    groupSettings?: GroupSettingsModel;
    /**
     * if showColumnChooser is true, then column chooser will be enabled in Grid.
     *
     * @default false
     */
    showColumnChooser?: boolean;
    /**
     * Specifies the 'columnChooserSettings' for Grid.
     *
     * @default []
     */
    columnChooserSettings?: ColumnChooserSettingsModel;
    /**
     * Specifies the editSettings for Grid.
     *
     * @default []
     */
    editSettings?: EditSettingsModel;
    /**
     * Specifies the summaryRows for Grid.
     *
     * @default []
     */
    aggregates?: AggregateRowModel[];
    /**
     * Specifies scrollable height of the grid content.
     *
     * @default 'auto'
     */
    height?: string | number;
    /**
     * Specifies scrollable width of the grid content.
     *
     * @default 'auto'
     */
    width?: string | number;
    /**
     * Specifies the searchSettings for Grid.
     *
     * @default []
     */
    searchSettings?: SearchSettingsModel;
    /**
     * Specifies the rowDropSettings for Grid.
     *
     * @default []
     */
    rowDropSettings?: RowDropSettingsModel;
    /**
     * Specifies whether the allowRowDragAndDrop is enable or not.
     *
     * @default false
     */
    allowRowDragAndDrop?: boolean;
    /**
     * Specifies whether the gridLines mode
     *
     * @default null
     */
    gridLines?: GridLine;
    /**
     * Specifies rowTemplate
     */
    rowTemplate?: string | Function;
    /**
     * Specifies the template for rendering a customized element or text instead of displaying the empty record message.
     */
    emptyRecordTemplate?: string | Function;
    /**
     * Specifies detailTemplate
     */
    detailTemplate?: string | Function;
    /**
     * 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
     * `isColumnMenuFilterClosing`used to handle the closing of the column menu filter on esc key.
     * @default false
     */
    isColumnMenuFilterClosing?: 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 | Function;
    /**
     * @hidden
     * It used to render pager template
     * @default null
     */
    pagerTemplate?: string | Function;
    /**
     * @hidden
     * It used to indicate initial loading
     * @default false
     */
    isInitialLoad?: boolean;
    /**
     * Defines the frozen rows for the grid content
     *
     * @default 0
     */
    frozenRows?: number;
    /**
     * Defines the grid rows displaying direction.
     *
     * @default 'Horizontal'
     */
    rowRenderingMode?: RowRenderingDirection;
    /**
     * If `enableAdaptiveUI` set to true the grid dialogs will be displayed at fullscreen.
     *
     * @default false
     */
    enableAdaptiveUI?: boolean;
    /**
     * One of the adaptiveUIMode enumeration that specifies the Adaptive Mode. The default value is Both.
     *
     * @default 'Both'
     */
    adaptiveUIMode?: string;
    /**
     * Defines the frozen columns for the grid content
     *
     * @default 0
     */
    frozenColumns?: number;
    /**
     * Specifies whether the Searching for columns is enable or not.
     *
     * @default true
     */
    allowSearching?: boolean;
    /**
     * Defines the own class for the grid element.
     *
     * @default ''
     */
    cssClass?: string;
    isEdit?: boolean;
    commonQuery?: data.Query;
    scrollPosition: ScrollPositionType;
    isLastCellPrimaryKey?: boolean;
    editModule?: Edit;
    selectionModule?: Selection;
    aggregateModule?: Aggregate;
    scrollModule?: Scroll;
    infiniteScrollModule?: InfiniteScroll;
    resizeModule: Resize;
    searchModule: Search;
    focusModule?: FocusStrategy;
    mergeCells?: {
        [key: string]: number;
    };
    checkAllRows?: CheckState;
    isCheckBoxSelection?: boolean;
    isPersistSelection?: boolean;
    pageRequireRefresh?: boolean;
    localeObj?: base.L10n;
    isManualRefresh?: boolean;
    translateX?: number;
    leftrightColumnWidth?: Function;
    isAutoFitColumns?: boolean;
    enableDeepCompare?: boolean;
    totalDataRecordsCount?: number;
    disableSelectedRecords?: Object[];
    partialSelectedRecords?: Object[];
    lazyLoadRender?: IRenderer;
    isSpan?: boolean;
    islazyloadRequest?: boolean;
    isAddNewRow?: boolean;
    addNewRowFocus?: boolean;
    prevPageMoving?: boolean;
    renderModule?: Render;
    headerModule?: IRenderer;
    contentModule?: IRenderer;
    isPreventScrollEvent?: boolean;
    hierarchyPrintMode?: HierarchyGridPrintMode;
    detailRowModule?: DetailRow;
    printModule?: Print;
    clipboardModule?: Clipboard;
    filterModule?: Filter;
    columnChooserModule?: ColumnChooser;
    requestTypeAction?: string;
    expandedRows?: {
        [index: number]: IExpandedRow;
    };
    registeredTemplate?: Object;
    lockcolPositionCount?: number;
    commandDelIndex?: number;
    isFocusFirstCell?: boolean;
    preventAutoFit?: boolean;
    isPrinting?: boolean;
    id?: string;
    selectVirtualRowOnAdd: boolean;
    isSelectedRowIndexUpdating?: boolean;
    pagerModule?: Page;
    invokedFromMedia?: boolean;
    isAutoGen?: boolean;
    pageTemplateChange?: boolean;
    enableHeaderFocus?: boolean;
    renderTemplates?: Function;
    requireTemplateRef?: boolean;
    tableIndex?: number;
    isVue3?: boolean;
    adaptiveDlgTarget?: HTMLElement;
    parentDetails?: ParentDetails;
    printGridParent?: IGrid;
    /**
     * @hidden
     * It used to render pager template
     * @default null
     */
    contextMenuModule?: ContextMenu;
    getHeaderContent?(): Element;
    isRowDragable(): boolean;
    setGridHeaderContent?(value: Element): void;
    getContentTable?(): Element;
    setGridContentTable?(value: Element): void;
    getContent?(): Element;
    setGridContent?(value: Element): void;
    getHeaderTable?(): Element;
    setGridHeaderTable?(value: Element): void;
    getFooterContent?(): Element;
    getFooterContentTable?(): Element;
    getPager?(): Element;
    setGridPager?(value: Element): void;
    getRowByIndex?(index: number): Element;
    getMovableRowByIndex?(index: number): Element;
    getFrozenRightRowByIndex?(index: number): Element;
    getFrozenRowByIndex?(index: number): Element;
    showResponsiveCustomFilter?(): void;
    showResponsiveCustomSort?(): void;
    showResponsiveCustomColumnChooser?(): void;
    getRowInfo?(target: Element): RowInfo;
    selectRow?(index: number, isToggle?: boolean): void;
    getColumnHeaderByIndex?(index: number): Element;
    getColumnByField?(field: string): Column;
    getColumnIndexByField?(field: string): number;
    getColumnByUid?(uid: string, isColumn?: boolean): Column;
    getColumnIndexByUid?(uid: string): number;
    getColumnByIndex?(index: number): Column;
    getUidByColumnField?(field: string): string;
    getNormalizedColumnIndex?(uid: string): number;
    getIndentCount?(): number;
    getColumnIndexesInView(): number[];
    setColumnIndexesInView(indexes?: number[]): void;
    getRows?(): Element[];
    getCellFromIndex?(rowIndex: number, columnIndex: number): Element;
    getMovableCellFromIndex?(rowIndex: number, columnIndex: number): Element;
    getFrozenRightCellFromIndex?(rowIndex: number, columnIndex: number): Element;
    getColumnFieldNames?(): string[];
    getSelectedRows?(): Element[];
    getSelectedRecords?(): Object[];
    getSelectedRowIndexes?(): number[];
    getSelectedRowCellIndexes(): ISelectedCell[];
    getCurrentViewRecords(): Object[];
    selectRows?(indexes: number[]): void;
    clearSelection?(): void;
    clearRowSelection?(): void;
    updateExternalMessage?(message: string): void;
    getColumns?(isRefresh?: boolean): Column[];
    getStackedHeaderColumnByHeaderText?(stackedHeader: string, col: Column[]): Column;
    getStackedColumns?(column: Column[]): Column[];
    getRowTemplate?(): Function;
    getEmptyRecordTemplate?(): Function;
    getDetailTemplate?(): Function;
    getEditTemplate?(): Function;
    getEditFooterTemplate?(): Function;
    getEditHeaderTemplate?(): Function;
    getColumnChooserTemplate?(): Function;
    getColumnChooserHeaderTemplate?(): Function;
    getColumnChooserFooterTemplate?(): Function;
    getFilterTemplate?(): Function;
    sortColumn?(columnName: string, sortDirection: SortDirection, isMultiSort?: boolean): void;
    changeDataSource?(columns?: Column[] | string[] | ColumnModel1[], data?: Object | data.DataManager | DataResult): void;
    clearSorting?(): void;
    removeSortColumn?(field: string): void;
    clearGridActions?(): void;
    getColumnHeaderByUid?(uid: string): Element;
    getColumnHeaderByField?(field: string): Element;
    showColumns?(keys: string | string[], showBy?: string): void;
    hideColumns?(keys: string | string[], hideBy?: string): void;
    showSpinner?(): void;
    hideSpinner?(): void;
    showMaskRow?(axisDirection?: string, dialogElement?: Element): void;
    removeMaskRow?(): void;
    addShimmerEffect?(): void;
    updateDefaultCursor?(): void;
    getVisibleColumns?(): Column[];
    refreshHeader?(): void;
    getDataRows?(): Element[];
    getMovableDataRows?(): Element[];
    getFrozenRightDataRows?(): Element[];
    getFrozenDataRows?(): Element[];
    addMovableRows?(fRows: HTMLElement[], mrows: HTMLElement[]): HTMLElement[];
    getPrimaryKeyFieldNames?(): string[];
    autoFitColumns(fieldNames?: string | string[]): void;
    preventAdjustColumns?(): void;
    groupColumn(columnName: string): void;
    ungroupColumn(columnName: string): void;
    ensureModuleInjected(module: Function): boolean;
    isContextMenuOpen(): boolean;
    goToPage(pageNo: number): void;
    updateVisibleExpandCollapseRows?(): void;
    sanitize?(value: string): string;
    getFrozenColumns(): number;
    getFrozenRightColumnsCount?(): number;
    getFrozenLeftColumnsCount?(): number;
    getFrozenLeftCount?(): number;
    getMovableColumnsCount?(): number;
    isFrozenGrid?(): boolean;
    getFrozenMode?(): freezeMode;
    getTablesCount?(): number;
    setFrozenCount?(): void;
    getVisibleFrozenLeftCount?(): number;
    getVisibleFrozenRightCount?(): number;
    getVisibleMovableCount?(): number;
    getFrozenRightColumns?(): Column[];
    getFrozenLeftColumns?(): Column[];
    getMovableColumns?(): Column[];
    refreshReactColumnTemplateByUid?(columnUid: string, renderTemplates?: boolean): void;
    refreshReactHeaderTemplateByUid?(columnUid: string): void;
    refreshGroupCaptionFooterTemplate?(): void;
    getAllDataRows?(includeBatch: boolean): Element[];
    getAllMovableDataRows?(includeBatch: boolean): Element[];
    getAllFrozenDataRows?(includeBatch: boolean): Element[];
    getAllFrozenRightDataRows?(includeBatch: boolean): Element[];
    getMovableColumnHeaderByIndex?(index: number): Element;
    getFrozenRightColumnHeaderByIndex?(index: number): Element;
    getFrozenLeftColumnHeaderByIndex?(index: number): Element;
    applyBiggerTheme(args: Element): void;
    getVisibleFrozenColumns(): number;
    print(): void;
    excelExport(exportProperties?: any, isMultipleExport?: boolean, workbook?: any): Promise<any>;
    csvExport(exportProperties?: any, isMultipleExport?: boolean, workbook?: any): Promise<any>;
    pdfExport(exportProperties?: any, isMultipleExport?: boolean, pdfDoc?: Object): Promise<Object>;
    search(searchString: string): void;
    deleteRecord?(fieldname?: string, data?: Object): void;
    startEdit?(): void;
    endEdit?(): void;
    closeEdit?(): void;
    addRecord?(data?: Object): void;
    deleteRow?(tr: HTMLTableRowElement): void;
    getRowObjectFromUID?(uid: string, isMovable?: boolean, isFrozenRight?: boolean): Row<Column>;
    addFreezeRows?(fRows: Row<Column>[], mRows?: Row<Column>[]): Row<Column>[];
    getRowsObject?(): Row<Column>[];
    getMovableRowsObject?(): Row<Column>[];
    getFrozenRightRowsObject?(): Row<Column>[];
    getFrozenRightContent?(): Element;
    getFrozenRightHeader?(): Element;
    getMovableHeaderTbody?(): Element;
    getMovableContentTbody?(): Element;
    getFrozenHeaderTbody?(): Element;
    getFrozenLeftContentTbody?(): Element;
    getFrozenRightHeaderTbody?(): Element;
    getFrozenRightContentTbody?(): Element;
    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 | null): 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, isForeignKey?: boolean): Column;
    grabColumnByUidFromAllCols(uid: string): Column;
    getRowUid(prefix: string): string;
    getFilteredRecords(): Object[] | Promise<Object>;
    getRowElementByUID?(uid: string): Element;
    getMediaColumns?(): void;
    isCollapseStateEnabled?(): boolean;
    mergePersistGridData?(setData?: Object): void;
    setForeignKeyData?(args: DataResult): void;
    getSelectedColumnsUid?(): string[];
    serverExcelExport?(url: string): void;
    serverPdfExport?(url: string): void;
    getCurrentVisibleColumns?(isColVirtualization?: boolean): Column[];
    dataStateChange?: base.EmitType<DataStateChangeEventArgs>;
    exportGroupCaption?: base.EmitType<ExportGroupCaptionEventArgs>;
    columnDataStateChange?: base.EmitType<ColumnDataStateChangeEventArgs>;
}
/** @hidden */
export interface IExpandedRow {
    index?: number;
    gridModel?: Object;
    isExpand?: boolean;
}
/** @hidden */
export interface IRenderer {
    renderPanel(): void;
    renderTable(): void;
    setPanel(panel: Element): void;
    setTable(table: Element): void;
    getPanel(): Element;
    getTable(): Element;
    getRows?(): Row<{}>[] | HTMLCollectionOf<HTMLTableRowElement>;
    getMovableRows?(): Row<{}>[] | HTMLCollectionOf<HTMLTableRowElement>;
    getFrozenRightRows?(): Row<{}>[] | HTMLCollectionOf<HTMLTableRowElement>;
    refreshUI?(): void;
    setVisible?(column?: Column[]): void;
    addEventListener?(): void;
    removeEventListener?(): void;
    getRowElements?(): Element[];
    setSelection?(uid: string, set: boolean, clearAll: boolean): void;
    getRowByIndex?(index: number): Element;
    getVirtualRowIndex?(index: number): number;
    getRowInfo?(target: Element): RowInfo;
    getState?(): Object;
    getMovableContent?(): Element;
    destroyTemplate?(templateName: string[]): void;
    emptyVcRows?(): void;
    getBlockSize?(): number;
    getGroupedTotalBlocks?(): number;
    isEndBlock?(block: number): boolean;
}
/**
 * IAction interface
 *
 * @hidden
 */
export interface IAction {
    updateModel?(): void;
    onActionBegin?(args?: Object, type?: string): void;
    onActionComplete?(args?: Object, type?: string): void;
    addEventListener?(): void;
    removeEventListener?(): void;
}
/**
 * @hidden
 */
export interface IDataProcessor {
    generateQuery(): data.Query;
    getData(args: Object, query: data.Query): Promise<Object>;
    processData?(): void;
}
/**
 * @hidden
 */
export interface IValueFormatter {
    fromView(value: string, format: Function, target?: string): string | number | Date;
    toView(value: number | Date, format: Function): string | Object;
    setCulture?(cultureName: string): void;
    getFormatFunction?(format: base.NumberFormatOptions | base.DateFormatOptions): Function;
    getParserFunction?(format: base.NumberFormatOptions | base.DateFormatOptions): Function;
}
/**
 * @hidden
 */
export interface CustomOperators {
    stringOperator?: {
        value: string;
        text: string;
    }[];
    numberOperator?: {
        value: string;
        text: string;
    }[];
    dateOperator?: {
        value: string;
        text: string;
    }[];
    datetimeOperator?: {
        value: string;
        text: string;
    }[];
    dateonlyOperator?: {
        value: string;
        text: string;
    }[];
    booleanOperator?: {
        value: string;
        text: string;
    }[];
}
/**
 * @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 | inputs.TextBoxModel | calendars.DateTimePickerModel;
    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;
    destroy?: Function | string;
}
/**
 * @hidden
 */
export interface IFilterMUI {
    create?: void | Function | string;
    read?: Object | Function | string;
    write?: void | Function | string;
    destroy?: 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;
    isNull: string;
    notNull: string;
    wildCard: string;
    like: string;
}
export interface NotifyArgs {
    /** Defines the total records. */
    records?: Object[];
    /** Defines the record count. */
    count?: number;
    /** Defines the request type. */
    requestType?: Action;
    /** Defines the target. */
    target?: HTMLElement;
    /** Defines the module. */
    module?: string;
    /** Defines the enable property. */
    enable?: boolean;
    /** Defines the properties. */
    properties?: Object;
    /** Defines the virtualization info like block, event name and next page need to be loaded. */
    virtualInfo?: VirtualInfo;
    /** Defines whether the action needs to be cancel or not. */
    cancel?: boolean;
    /** Defines the rows. */
    rows?: Row<Column>[];
    /** Defines whether the grid is frozen or not. */
    isFrozen?: boolean;
    /** Defines the arguments. */
    args?: NotifyArgs;
    /** Defines the scroll top value. */
    scrollTop?: Object;
    /** Defines the old properties. */
    oldProperties?: string[];
    /** Defines the focus element. */
    focusElement?: HTMLElement;
    /** Defines the row object. */
    rowObject?: Row<Column>;
    /** Defines the movable content to be rendered. */
    renderMovableContent?: boolean;
    /** Defines the frozen right content. */
    renderFrozenRightContent?: boolean;
    /** Defines the promise. */
    promise?: Promise<Object>;
    /** Defines the frozen rows are rendered or not. */
    isFrozenRowsRender?: boolean;
    /** Defines the action. */
    action?: string;
    /** Defines the searched value. */
    searchString?: string;
    /** Defines the focus on data.Group. */
    preventFocusOnGroup?: boolean;
}
export interface LoadEventArgs {
    /**
     * * If `requireTemplateRef` is set to false in the load event, then the template element can't be accessed in grid queryCellInfo, and rowDataBound events.
     * * By default, React's grid queryCellInfo and rowDataBound events allow access to the template element.
     * * Avoid accessing the template elements in the grid queryCellInfo and rowDataBound events to improve rendering performance by setting this value as false.
     *
     * @default true
     */
    requireTemplateRef?: boolean;
}
export interface LazyLoadArgs {
    /** Defines expand/collapse caption row details. */
    groupInfo?: Row<Column>;
    /** Defines whether get rows from group cache or make a request. */
    enableCaching?: boolean;
    /** Cancel the expand/collapse action. */
    cancel?: boolean;
    /** Defines the caption row element. */
    captionRowElement?: HTMLTableRowElement;
}
export interface LazyLoadGroupArgs extends LazyLoadArgs {
    /** Defines the makeRequest. */
    makeRequest?: boolean;
    /** Defines the no of records to skip. */
    skip?: number;
    /** Defines the no of records to take. */
    take?: number;
    /** Defines the fields. */
    fields?: string[];
    /** Defines the keys. */
    keys?: string[];
    /** Defines whether the caption row is expanded. */
    isExpand?: boolean;
    /** Defines the virtual scroll action */
    isScroll?: boolean;
    /** Defines the scroll direction. */
    scrollUp?: boolean;
    /** Defines the cached row index. */
    cachedRowIndex?: number;
    /** Defines the row index. */
    rowIndex?: number;
    /** Defines the expand row query. */
    lazyLoadQuery?: object;
    /** Defines the row index. */
    requestType?: string;
}
export interface InfiniteScrollArgs {
    /** Defines the request type. */
    requestType?: Action;
    /** Defines the current page. */
    currentPage?: number;
    /** Defines the previous page. */
    prevPage?: number;
    /** Defines the row start index. */
    startIndex?: number;
    /** Defines the scroll direction. */
    direction?: string;
    /** Defines whether the grid is frozen or not. */
    isFrozen?: boolean;
    /** Defines whether the caption collapse. */
    isCaptionCollapse?: boolean;
    /** Defines the ParentUid. */
    parentUid?: string;
}
export interface ReorderEventArgs extends GridActionEventArgs {
    /** Defines the index of the column being dragged. */
    fromIndex?: number;
    /** Defines the index of the column where the dragged column is dropped. */
    toIndex?: number;
    /** Defines the Uid of the column where the dragged column is dropped. */
    toColumnUid?: string;
}
/**
 * @hidden
 */
export interface FrozenReorderArgs {
    column?: Column;
    destIndex?: number;
    columns?: Column[];
    parent?: Column;
    cancel?: boolean;
}
/**
 * @hidden
 */
export interface ICell<T> {
    colSpan?: number;
    rowSpan?: number;
    cellType?: CellType;
    visible?: boolean;
    isTemplate?: boolean;
    isDataCell?: boolean;
    column?: T;
    rowID?: string;
    index?: number;
    colIndex?: number;
    className?: string;
    commands?: CommandModel[];
    isForeignKey?: boolean;
    foreignKeyData?: Object;
}
/**
 * @hidden
 */
export interface IRow<T> {
    uid?: string;
    parentGid?: number;
    childGid?: number;
    data?: Object;
    gSummary?: number;
    aggregatesCount?: number;
    tIndex?: number;
    collapseRows?: Object[];
    isSelected?: boolean;
    isFreezeRow?: boolean;
    isReadOnly?: boolean;
    isCaptionRow?: boolean;
    isAltRow?: boolean;
    isDataRow?: boolean;
    isExpand?: boolean;
    rowSpan?: number;
    cells?: Cell<T>[];
    index?: number;
    indent?: number;
    subRowDetails?: Object;
    height?: string;
    cssClass?: string;
    foreignKeyData?: Object;
    parentUid?: string;
    isSelectable?: boolean;
}
/**
 * @hidden
 */
export interface IModelGenerator<T> {
    generateRows(data: Object, args?: Object): Row<T>[];
    refreshRows?(input?: Row<T>[]): Row<T>[];
}
export interface RowInfo {
    /** returns particular cell element */
    cell?: Element;
    /** returns particular cell index */
    cellIndex?: number;
    /** returns particular row element */
    row?: Element;
    /** returns particular rowIndex */
    rowIndex?: number;
    /** returns particular row data */
    rowData?: Object;
    /** return particular column information  */
    column?: Object;
}
export interface GridActionEventArgs {
    /** Defines the current action. */
    requestType?: Action;
    /** Defines the type of event. */
    type?: string;
    /** Cancel the print action */
    cancel?: boolean;
}
export interface FailureEventArgs {
    /** Defines the error information. */
    error?: Error;
}
export interface FilterEventArgs extends GridActionEventArgs {
    /** Defines the object that is currently filtered. */
    currentFilterObject?: PredicateModel;
    /** Defines the column name that is currently filtered. */
    currentFilteringColumn?: string;
    /** Defines the collection of filtered columns. */
    columns?: PredicateModel[];
}
export interface GroupEventArgs extends GridActionEventArgs {
    /** Defines the field name of the currently grouped columns. */
    columnName?: string;
}
export interface PageEventArgs extends GridActionEventArgs {
    /** Defines the previous page number. */
    previousPage?: string;
    /** Defines the current page number. */
    currentPage?: string;
    /** Defines the number of records displayed per page. */
    pageSize?: string;
    /** Defines the row information of the current page. */
    rows?: Row<Column>[];
}
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;
    /** Defines the child grid of the current row. */
    childGrid?: IGrid;
}
export interface ColumnChooserEventArgs {
    /** Defines the parent element. */
    element?: Element;
    /** Defines the display columns of column chooser. */
    columns?: Column[];
    /** Specifies the instance of column chooser dialog. */
    dialogInstance?: Object;
    /** Defines the operator for column chooser search request */
    searchOperator?: string;
}
export interface AdaptiveDialogEventArgs {
    /** Defines the cancel option value. */
    cancel?: boolean;
    /** Defines the instance of adaptive dialog. */
    dialogObj?: popups.Dialog;
    /** Defines the current action. */
    requestType?: string;
}
export interface RowDeselectEventArgs {
    /** Defines the current selected/deselected row data.
     *
     * @isGenericType true
     */
    data?: Object | Object[];
    /** Defines the selected/deselected row index. */
    rowIndex?: number;
    /** Defines the selected/deselected row indexes. */
    rowIndexes?: number[];
    /** Defines the selected/deselected row. */
    row?: Element | Element[];
    /** Define the foreignKey row data associated with this column */
    foreignKeyData?: Object | Object[];
    /** Defines the target element for row deselect. */
    target?: Element;
    /** Defines whether event is triggered by interaction or not. */
    isInteracted?: boolean;
    /** Defines whether header checkbox is clicked or not */
    isHeaderCheckboxClicked?: boolean;
}
export interface RowSelectEventArgs extends RowDeselectEventArgs {
    /** Defines the previously selected row index. */
    previousRowIndex?: number;
    /** Defines the previously selected row. */
    previousRow?: Element;
    /** Defines the target element for selection. */
    target?: Element;
}
export interface RecordDoubleClickEventArgs {
    /** Defines the target element. */
    target?: Element;
    /** Defines the cell element. */
    cell?: Element;
    /** Defines the cell index. */
    cellIndex?: number;
    /** Defines the column object. */
    column?: Column;
    /** Defines the name of the event. */
    name?: string;
    /** Defines the row element. */
    row?: Element;
    /** Defines the current row data.
     *
     * @isGenericType true
     */
    rowData?: Object;
    /** Defines the row index. */
    rowIndex?: number;
    /** Define the foreignKey row data associated with this column */
    foreignKeyData?: Object;
}
export interface RecordClickEventArgs {
    /** Defines the target element. */
    target?: Element;
    /** Defines the cell element. */
    cell?: Element;
    /** Defines the cell index. */
    cellIndex?: number;
    /** Defines the column object. */
    column?: Column;
    /** Defines the name of the event. */
    name?: string;
    /** Defines the row element. */
    row?: Element;
    /** Defines the current row data.
     *
     * @isGenericType true
     */
    rowData?: Object;
    /** Defines the row index. */
    rowIndex?: number;
    /** Define the foreignKey row data associated with this column */
    foreignKeyData?: Object;
}
export interface RowSelectingEventArgs extends RowSelectEventArgs {
    /** Defines whether CTRL key is pressed. */
    isCtrlPressed?: boolean;
    /** Defines whether SHIFT key is pressed. */
    isShiftPressed?: boolean;
    /** Defines the cancel option value. */
    cancel?: boolean;
}
export interface RowDeselectingEventArgs extends RowDeselectEventArgs {
    /** Defines the cancel option value. */
    cancel?: boolean;
}
export interface CellDeselectEventArgs {
    /** Defines the currently selected/deselected row data.
     *
     * @isGenericType true
     */
    data?: Object;
    /** Defines the indexes of the current selected/deselected cells. */
    cellIndexes?: ISelectedCell[];
    /** Defines the currently selected/deselected cells. */
    cells?: Element[];
    /** Defines the cancel option value. */
    cancel?: boolean;
}
export interface CellSelectEventArgs extends CellDeselectEventArgs {
    /** Defines the index of the current selected cell. */
    cellIndex?: IIndex;
    /** Defines the previously selected cell index. */
    previousRowCellIndex?: number;
    /** Defines the element. */
    currentCell: Element;
    /** Defines the previously selected cell element. */
    previousRowCell?: Element;
}
export interface CellSelectingEventArgs extends CellSelectEventArgs {
    /** Defines whether the CTRL key is pressed or not. */
    isCtrlPressed?: boolean;
    /** Defines whether the SHIFT key is pressed or not. */
    isShiftPressed?: boolean;
}
export interface ColumnDragEventArgs {
    /** Defines the target element from which the drag starts. */
    target?: Element;
    /** Defines the type of the element dragged. */
    draggableType?: string;
    /** Defines the column object that is dragged. */
    column?: Column;
}
export interface RowDataBoundEventArgs {
    /** Defines the current row data.
     *
     * @isGenericType true
     */
    data?: Object;
    /** Defines the row element.
     *
     * @blazorType CellDOM
     */
    row?: Element;
    /** Defines the row height */
    rowHeight?: number;
    /** Defines whether the row should be select or not */
    isSelectable?: boolean;
}
export interface HeaderCellInfoEventArgs {
    /** Defines the cell. */
    cell?: Cell<Column>;
    /** Defines the cell element. */
    node?: Element;
}
export interface ExportGroupCaptionEventArgs {
    /** Defines the group caption text. */
    captionText?: string;
    /** Defines the export type. */
    type?: string;
    /** Defines the grouped data items. */
    data?: Object;
    /** Defines the style of the grouped cell. */
    style?: PdfStyle;
}
export interface QueryCellInfoEventArgs {
    /** Defines the row data associated with this cell.
     *
     * @isGenericType true
     */
    data?: Object;
    /** Defines the cell element.
     *
     * @blazorType CellDOM
     */
    cell?: Element;
    /** Defines the column object associated with this cell.
     *
     * @blazorType GridColumn
     */
    column?: Column;
    /** Defines the no. of columns to be spanned */
    colSpan?: number;
    /** Defines the no. of rows to be spanned */
    rowSpan?: number;
    /** Defines the current action. */
    requestType?: string;
    /** Define the foreignKey row data associated with this column */
    foreignKeyData?: Object;
}
export interface PdfQueryCellInfoEventArgs {
    /** Defines the column of the current cell. */
    column?: Column;
    /** Defines the style of the current cell. */
    style?: PdfStyle;
    /** Defines the value of the current cell. */
    value?: Date | string | number | boolean | pdfExport.PdfTextWebLink | pdfExport.PdfImage;
    /** Defines the no. of columns to be spanned */
    colSpan?: number;
    /** Defines the data of the cell
     *
     * @isGenericType true
     */
    data?: Object;
    /** Defines the current PDF cell */
    cell?: pdfExport.PdfGridCell;
    /** Defines the image details */
    image?: {
        base64: string;
    };
    /** Defines the hyperlink of the cell */
    hyperLink?: Hyperlink;
}
export interface ExportDetailDataBoundEventArgs {
    /** Defines the child grid of the current row. */
    childGrid?: IGrid;
    /** Defines the row object of the current data. */
    row?: Row<Column>;
    /** Defines the PDF grid current cell. */
    cell?: pdfExport.PdfGridCell;
    /** Defines the export properties */
    exportProperties?: PdfExportProperties | ExcelExportProperties;
}
export interface ExportDetailTemplateEventArgs {
    /** Defines the details of parent row. */
    parentRow?: Row<Column>;
    /** Defines the details of excel/pdf row */
    row?: ExcelRow | pdfExport.PdfGridRow;
    /** Define the detail template values. */
    value?: DetailTemplateProperties;
    /** Defines the action */
    action?: string;
    /** Defines the grid object */
    gridInstance?: IGrid;
}
export interface DetailTemplateProperties {
    /** Defines the total columns length of the detail pdf grid */
    columnCount?: number;
    /** Defines the base 64 for the cell */
    image?: {
        base64: string;
        height?: number;
        width?: number;
    };
    /** Defines the text for the cell */
    text?: string;
    /** Defines the header content for detail row */
    columnHeader?: DetailTemplateRow[];
    /** Defines the content content for detail row */
    rows?: DetailTemplateRow[];
    /** Defines the hyperlink of the cell */
    hyperLink?: Hyperlink;
}
export interface DetailTemplateRow {
    /**  Defines the index of the row */
    index?: number;
    /**  Defines the cells in a row */
    cells?: DetailTemplateCell[];
    /** Defines the group of rows to expand and collapse */
    grouping?: Object;
}
export interface DetailTemplateCell {
    /** 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 | pdfExport.PdfTextWebLink | pdfExport.PdfImage;
    /** Defines the hyperlink of the cell */
    hyperLink?: Hyperlink;
    /** Defines the style of the cell */
    style?: DetailTemplateCellStyle;
    /** Defines the row span for the cell */
    rowSpan?: number;
    /** Defines the base 64 for the cell */
    image?: {
        base64: string;
        height?: number;
        width?: number;
    };
}
export interface DetailTemplateCellStyle {
    /** 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 excel cell style */
    excelHAlign?: ExcelHAlign;
    /** Defines the vertical alignment for excel cell style */
    excelVAlign?: ExcelVAlign;
    /** Defines the rotation degree for excel cell style */
    excelRotation?: number;
    /** Defines the bold style for fonts  */
    bold?: boolean;
    /** Defines the indent for cell style */
    indent?: number;
    /** Defines the italic style for fonts */
    italic?: boolean;
    /** Defines the underline style for fonts */
    underline?: boolean;
    /** Defines the background color for cell style */
    backColor?: string;
    /** Defines the wrapText for cell style */
    wrapText?: boolean;
    /** Defines the borders for excel cell style */
    excelBorders?: ExcelBorder;
    /** Defines the format of the excel cell */
    excelNumberFormat?: string;
    /** Defines the type of the excel cell */
    excelType?: string;
    /** Defines the strike through of the cell */
    strikeThrough?: boolean;
    /** Defines the text pen color for the pdf cell */
    pdfTextPenColor?: string;
    /** Defines the horizontal alignment for the pdf cell */
    pdfTextAlignment?: PdfHAlign;
    /** Defines the vertical alignment for the pdf cell */
    pdfVerticalAlignment?: PdfVAlign;
    /** Defines the font family for the pdf cell */
    pdfFontFamily?: string;
    /** Defines the indent alignment for the pdf cell */
    pdfIndent?: PdfHAlign;
    /** Defines the grid border for the pdf cell */
    pdfBorder?: PdfBorder;
    /** Defines the indent for the pdf cell*/
    pdfParagraphIndent?: number;
    pdfCellPadding?: pdfExport.PdfPaddings;
}
export interface AggregateQueryCellInfoEventArgs {
    /** Defines the row data associated with this cell. */
    row?: Object;
    /** Defines the cell. */
    cell?: Object;
    /** Defines the type of the cell */
    type?: AggregateTemplateType;
    /** Defines the data of the current cell */
    data?: object;
    /** Defines the style of the current cell. */
    style?: object;
    /** Defines the cell value. */
    value?: string;
}
export interface PdfHeaderQueryCellInfoEventArgs {
    /** Defines the PDF grid current cell. */
    cell?: object;
    /** Defines the style of the current cell. */
    style?: PdfStyle;
    /** Defines the current cell with column */
    gridCell?: object;
    /** Defines the image details */
    image?: {
        base64: string;
    };
    /** Defines the hyperlink of the cell */
    hyperLink?: Hyperlink;
}
export interface Image {
    /**  Defines the base 64 string for image */
    base64: string;
    /**  Defines the height for the image */
    height: number;
    /**  Defines the height for the image */
    width: number;
}
export interface ExcelQueryCellInfoEventArgs {
    /** Defines the row data associated with this cell.
     *
     * @isGenericType true
     */
    data?: Object;
    /** Defines the column of the current cell. */
    column: Column;
    /** Defines the value of the current cell. */
    value?: Date | string | number | boolean;
    /** Defines the style of the current cell. */
    style?: ExcelStyle;
    /** Defines the number of columns to be spanned */
    colSpan?: number;
    /** Defines the cell data */
    cell?: number | ExcelStyle | {
        name: string;
    } | ExcelCell;
    /** Defines the image details */
    image?: Image;
    /** Defines the hyperlink */
    hyperLink?: Hyperlink;
}
export interface ExcelHeaderQueryCellInfoEventArgs {
    /** Defines the cell that contains colspan. */
    cell?: Object;
    /** Defines the style of the current cell. */
    style?: ExcelStyle;
    /** Defines the Grid cell instance */
    gridCell?: Cell<Column> | ExcelCell;
    /** Defines the image details */
    image?: Image;
    /** Defines the hyperlink */
    hyperLink?: Hyperlink;
}
export interface FilterMenuRendererArgs {
    /** Defines the filter model */
    filterModel?: FilterMenuRenderer;
    /** Defines the current action */
    requestType?: string;
    /** Defines the field name of current column */
    columnName?: string;
    /** Defines the field type of current column */
    columnType?: string;
}
export interface FilterSearchBeginEventArgs {
    /** Defines the current action. */
    requestType?: string;
    /** Defines the filter model. */
    filterModel?: CheckBoxFilterBase;
    /** Defines the field name of current column */
    columnName?: string;
    /** Defines the current Column objects */
    column?: Column;
    /** Defines the operator for filter request */
    operator?: string;
    /** Defines the matchCase for filter request */
    matchCase?: boolean;
    /** Defines the ignoreAccent for filter request */
    ignoreAccent?: boolean;
    /** Defines the custom query in before execute */
    query: data.Query;
    /** Defines take number of data  */
    filterChoiceCount: number;
    /** Defines the datasource for filter request */
    dataSource?: Object[];
    /** Defines the value of the current search */
    value?: Date | string | number | boolean;
    /** Indicates the action should be executed or not. */
    cancel?: boolean;
}
export interface FilterUI {
    /** Defines the field */
    field?: string;
    /** Defines the Operator */
    operator?: string;
    /** Defines the first operator for excel filter */
    firstOperator?: string;
    /** Defines the second Operator for excel filter */
    secondOperator?: string;
}
export interface MultipleExport {
    /** Indicates whether to append the multiple grid in same sheet or different sheet */
    type?: MultipleExportType;
    /**  Defines the number of blank rows between the multiple grid data */
    blankRows?: number;
}
export interface MultiplePdfExport {
    /** Indicates whether to append the multiple grid in same sheet or different sheet */
    type?: MultiplePdfExportType;
    /**  Defines the blank space between the multiple grid data */
    blankSpace?: number;
}
export interface ExcelRow {
    /**  Defines the index for cells */
    index?: number;
    /**  Defines the cells in a row */
    cells?: ExcelCell[];
    /** Defines the group of rows to expand and collapse */
    grouping?: Object;
}
export interface ExcelBorder {
    /**  Defines the color of border */
    color?: string;
    /**  Defines the line style of border */
    lineStyle?: ExcelBorderLineStyle;
}
export interface ExcelStyle {
    /** Defines the color of font */
    fontColor?: string;
    /** Defines the name of font */
    fontName?: string;
    /** Defines the size of font */
    fontSize?: number;
    /** Defines the horizontal alignment for cell style */
    hAlign?: ExcelHAlign;
    /** Defines the vertical alignment for cell style */
    vAlign?: ExcelVAlign;
    /** Defines the rotation degree for cell style */
    rotation?: number;
    /** Defines the bold style for fonts  */
    bold?: boolean;
    /** Defines the indent for cell style */
    indent?: number;
    /** Defines the italic style for fonts */
    italic?: boolean;
    /** Defines the underline style for fonts */
    underline?: boolean;
    /** Defines the background color for cell style */
    backColor?: string;
    /** Defines the wrapText for cell style */
    wrapText?: boolean;
    /** Defines the borders for cell style */
    borders?: ExcelBorder;
    /** Defines the format of the cell */
    numberFormat?: string;
    /** Defines the type of the cell */
    type?: string;
    /** Defines the strike through of the cell */
    strikeThrough?: boolean;
}
export interface PdfStyle {
    /** Defines the horizontal alignment */
    textAlignment?: PdfHAlign;
    /** Defines the brush color of font */
    textBrushColor?: string;
    /** Defines the pen color of font */
    textPenColor?: string;
    /** Defines the font family */
    fontFamily?: string;
    /** Defines the font size */
    fontSize?: number;
    /** Defines the font bold */
    bold?: boolean;
    /** Defines the indent alignment */
    indent?: PdfHAlign;
    /** Defines the italic font */
    italic?: boolean;
    /** Defines the underlined font */
    underline?: boolean;
    /** Defines the strike-out font */
    strikeout?: boolean;
    /** Defines the horizontal alignment */
    verticalAlignment?: PdfVAlign;
    /** Defines the background color */
    backgroundColor?: string;
    /** Defines the grid border */
    border?: PdfBorder;
    /** Defines the cell indent */
    paragraphIndent?: number;
    cellPadding?: pdfExport.PdfPaddings;
}
export interface PdfBorder {
    /** Defines the border color */
    color?: string;
    /** Defines the border width */
    width?: number;
    /** Defines the border dash style */
    dashStyle?: PdfDashStyle;
    /**  Defines the line style of border */
    lineStyle?: BorderLineStyle;
}
export interface ExcelCell {
    /** Defines the index for the cell */
    index?: number;
    /** Defines the column span for the cell  */
    colSpan?: number;
    /** Defines the value of the cell */
    value?: string | boolean | number | Date;
    /** Defines the hyperlink of the cell */
    hyperlink?: Hyperlink;
    /** Defines the style of the cell */
    style?: ExcelStyle;
    /** Defines the row span for the cell */
    rowSpan?: number;
}
export interface Hyperlink {
    /** Defines the Url for hyperlink */
    target?: string;
    /** Defines the display text for hyperlink */
    displayText?: string;
}
export interface ExcelHeader {
    /** Defines the number of rows between the header and grid data */
    headerRows?: number;
    /** Defines the rows in header content */
    rows?: ExcelRow[];
}
export interface ExcelFooter {
    /** Defines the number of rows between the grid data and footer */
    footerRows?: number;
    /** Defines the rows in footer content */
    rows?: ExcelRow[];
}
export interface ExcelExportProperties {
    /** Defines the data source dynamically before exporting */
    dataSource?: Object | data.DataManager;
    /** Defined the query dynamically before exporting */
    query?: data.Query;
    /** Exports multiple grid into the excel document */
    multipleExport?: MultipleExport;
    /** Defines the header content for exported document  */
    header?: ExcelHeader;
    /** Defines the footer content for exported document */
    footer?: ExcelFooter;
    /** Defines the columns which are to be customized for Export alone.
     *
     * @blazorType List<GridColumn>
     */
    columns?: Column[];
    /** Indicates to export current page or all page */
    exportType?: ExportType;
    /** Indicates whether to show the hidden columns in exported excel */
    includeHiddenColumn?: boolean;
    /** Defines the theme for exported data  */
    theme?: ExcelTheme;
    /** Defines the file name for the exported file  */
    fileName?: string;
    /** Defines the hierarchy export mode for the pdf grid */
    hierarchyExportMode?: 'Expanded' | 'All' | 'None';
    separator?: string;
    /** Defines filter icons while exporting */
    enableFilter?: boolean;
}
export interface RowDragEventArgs {
    /** Defines the selected row's element. */
    rows?: Element[];
    /** Defines the target element from which drag starts. */
    target?: Element;
    /** Defines the type of the element to be dragged.
     *
     * @hidden
     */
    draggableType?: string;
    /** Defines the selected row data.
     *
     * @isGenericType true
     */
    data?: Object[];
    /** Defines the drag element from index. */
    fromIndex?: number;
    /** Defines the target element from index. */
    dropIndex?: number;
    /** Define the mouse event */
    originalEvent?: object;
    cancel?: boolean;
}
/**
 * @hidden
 */
export interface EJ2Intance extends HTMLElement {
    ej2_instances: Object | Object[];
}
/**
 * @hidden
 */
export interface IPosition {
    x: number;
    y: number;
}
/**
 * @hidden
 */
export interface ParentDetails {
    parentID?: string;
    parentPrimaryKeys?: string[];
    parentKeyField?: string;
    parentKeyFieldValue?: string;
    parentRowData?: Object;
    parentInstObj?: IGrid;
}
/**
 * @hidden
 */
export interface ScrollPositionType {
    top?: number;
    left?: number;
}
/**
 * @hidden
 */
export interface VirtualInfo {
    data?: boolean;
    event?: string;
    block?: number;
    page?: number;
    currentPage?: number;
    direction?: string;
    blockIndexes?: number[];
    columnIndexes?: number[];
    columnBlocks?: number[];
    loadSelf?: boolean;
    loadNext?: boolean;
    nextInfo?: {
        page?: number;
    };
    sentinelInfo?: SentinelType;
    offsets?: Offsets;
    startIndex?: number;
    endIndex?: number;
}
/**
 * @hidden
 */
export interface InterSection {
    container?: HTMLElement;
    pageHeight?: number;
    debounceEvent?: boolean;
    axes?: string[];
    scrollbar?: Element;
    movableContainer?: Element;
    prevTop?: number;
    prevLeft?: number;
}
/**
 * @hidden
 */
export interface ICancel {
    /** Defines the cancel option value. */
    cancel?: boolean;
}
/**
 * @hidden
 */
export interface IPrimaryKey {
    /** Defines the primaryKey. */
    primaryKey?: string[];
}
export interface BeforeBatchAddArgs extends ICancel, IPrimaryKey {
    /** Defines the default data object.
     *
     * @isGenericType true
     */
    defaultData?: Object;
}
/**
 * @hidden
 */
export interface BatchCancelArgs {
    /** Defines the rows. */
    rows?: Row<Column>[];
    /** Defines the request type. */
    requestType?: string;
}
/**
 * @hidden
 */
export interface BatchDeleteArgs extends IPrimaryKey {
    /** Defines the deleted data.
     *
     * @isGenericType true
     */
    rowData?: Object;
    /** Defines the row index. */
    rowIndex?: number;
}
export interface BeforeBatchDeleteArgs extends BatchDeleteArgs, ICancel {
    /** Defines the row element. */
    row?: Element | Element[];
}
export interface BeforeBatchSaveArgs extends ICancel {
    /** Defines the changed record object. */
    batchChanges?: Object;
}
export interface ResizeArgs extends ICancel {
    /** Event argument of point or touch action.
     *
     * @hidden
     */
    e?: MouseEvent | TouchEvent;
    /** Defines the resizing column details */
    column?: Column;
}
/**
 * @hidden
 */
export interface BatchAddArgs extends ICancel, IPrimaryKey {
    /** Defines the added data.
     *
     * @isGenericType true
     */
    defaultData?: Object;
    /** Defines the column index. */
    columnIndex?: number;
    /** Defines the row element. */
    row?: Element | Element[];
    /** Defines the cell element. */
    cell?: Element | Element[] | HTMLCollection[];
    /** Defines the column object. */
    columnObject?: Column;
}
export interface BeginEditArgs extends ICancel, IPrimaryKey {
    /** Defines the edited data.
     *
     * @isGenericType true
     */
    rowData?: Object;
    /** Defines the edited row index. */
    rowIndex?: number;
    /** Defines the current edited row. */
    row?: Element;
    /** Defines the name of the event. */
    type?: string;
    /** Defines the primary key value. */
    primaryKeyValue?: string[];
}
export interface DeleteEventArgs {
    /** Defines the cancel option value. */
    cancel?: boolean;
    /** Defines the request type. */
    requestType?: string;
    /** Defines the foreign key record object (JSON). @hidden */
    foreignKeyData?: Object;
    /** Defines the record objects.
     *
     * @isGenericType true
     */
    data?: Object[];
    /** Defines the selected rows for delete. */
    tr?: Element[];
    /** Defines the name of the event. */
    type?: string;
}
export interface AddEventArgs {
    /** If `cancel` is set to true, then the current action will stopped. */
    cancel?: boolean;
    /** Defines the request type. */
    requestType?: string;
    /** Defines the foreign key record object.
     *
     * @hidden
     */
    foreignKeyData?: Object;
    /** Define the form element */
    form?: HTMLFormElement;
    /** Defines the record objects.
     *
     * @isGenericType true
     */
    data?: Object;
    /** Defines the event name. */
    type?: string;
    /** Defines the previous data. */
    previousData?: Object;
    /** Defines the added row. */
    row?: Object;
    /** Added row index */
    index?: number;
    /**
     * @hidden
     * Defines the record objects.
     */
    rowData?: Object;
    /** Defines the target for dialog */
    target?: HTMLElement;
}
export interface SaveEventArgs extends AddEventArgs {
    /** Defines the previous data.
     *
     * @isGenericType true
     */
    previousData?: Object;
    /** Defines the selected row index. */
    selectedRow?: number;
    /** Defines the current action. */
    action?: string;
    /** Added row index */
    index?: number;
    /** Defines the promise. */
    promise?: Promise<Object>;
}
export interface EditEventArgs extends BeginEditArgs {
    /** Defines the request type. */
    requestType?: string;
    /** Defines foreign data object. */
    foreignKeyData?: Object;
    addRecord?(data?: Object, index?: number): void;
    /** Define the form element */
    form?: HTMLFormElement;
    /** Define the movable table form element */
    movableForm?: HTMLFormElement;
    /** Define the target for dialog */
    target?: HTMLElement;
    /** Define frozen right table form element */
    frozenRightForm?: HTMLFormElement;
}
export interface DialogEditEventArgs extends EditEventArgs {
    /** Defines the dialog object */
    dialog?: popups.DialogModel;
}
/** @hidden */
export interface CustomEditEventArgs extends EditEventArgs {
    /** Defines the virtual scroll action */
    isScroll?: boolean;
    /** Defines custom virtualization form validation */
    isCustomFormValidation?: boolean;
}
/** @hidden */
export interface CustomAddEventArgs extends AddEventArgs {
    /** Defines the virtual scroll x axis */
    isScroll?: boolean;
}
/**
 * @hidden
 */
export interface CellEditSameArgs extends ICancel {
    /** Defines the row data object.
     *
     * @isGenericType true
     */
    rowData?: Object;
    /** Defines the column name. */
    columnName?: string;
    /** Defines the cell object. */
    cell?: Element;
    /** Defines the column object. */
    columnObject?: Column;
    /** Defines the cell value. */
    value?: string;
    /** Defines isForeignKey option value. */
    isForeignKey?: boolean;
    /** Defines the Column Object */
    column?: Column;
}
export interface CellEditArgs extends CellEditSameArgs, IPrimaryKey {
    /** Defines the current row. */
    row?: Element;
    /** Defines the validation rules. */
    validationRules?: Object;
    /** Defines the name of the event. */
    type?: string;
    /** Defines foreign data object */
    foreignKeyData?: Object;
}
export interface CommandClickEventArgs {
    /** Defines the current target element. */
    target?: HTMLElement;
    /** cancel the CRUD action. */
    cancel?: boolean;
    /** Defines the current command column . */
    commandColumn?: CommandModel;
    /** returns particular row data
     *
     * @isGenericType true
     */
    rowData?: Object;
}
export interface IFilterCreate {
    column?: Column;
    target?: HTMLElement;
    getOptrInstance?: FlMenuOptrUI;
    localizeText?: base.L10n;
    dialogObj?: popups.Dialog;
}
export interface CellSaveArgs extends CellEditSameArgs {
    /** Defines the previous value of the cell. */
    previousValue?: string;
}
export interface BeforeDataBoundArgs {
    /** Defines the data.
     *
     * @isGenericType true
     */
    result?: Object[];
    /** Defines the data count. */
    count?: number;
    /** Defines the cancel option value. */
    cancel?: boolean;
    /** Defines the aggregate values*/
    aggregates?: Object[];
    /** Defines the action of the argument*/
    actionArgs?: Object;
    /** Defines the query for data*/
    query?: data.Query;
    /** Defines the name of the event*/
    name?: string;
    /**Defines the actual result and count of the data */
    actual?: Object;
    /**Defines the request type */
    request?: string;
    /**Defines the selected records */
    virtualSelectRecords?: VirtualInfo;
}
/**
 * @hidden
 */
export interface IEdit {
    formObj?: inputs.FormValidator;
    destroy?: Function;
    closeEdit?(): void;
    deleteRecord?(fieldname?: string, data?: Object): void;
    startEdit?(tr?: Element): void;
    addRecord?(data?: Object, index?: number): void;
    deleteRow?(tr: HTMLTableRowElement): void;
    endEdit?(data?: Object): void;
    batchSave?(): void;
    getBatchChanges?(): Object;
    removeRowObjectFromUID?(uid: string): void;
    addRowObject?(row: Row<Column>): void;
    editCell?(index: number, field: string, isAdd?: boolean): void;
    updateCell?(rowIndex: number, field: string, value: string | number | boolean | Date): void;
    updateRow?(index: number, data: Object): void;
    saveCell?(isForceSave?: boolean): void;
    escapeCellEdit?(): void;
    addCancelWhilePaging?(): void;
    args?: {
        requestType?: string;
    };
    isAdded?: boolean;
    previousData?: object;
    addBatchRow?: boolean;
}
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;
}
export interface BeforeCopyEventArgs extends ICancel {
    /** Defines the grid copied data. */
    data?: string;
}
export interface BeforePasteEventArgs {
    /** Defines the grid pasted data. */
    column?: Column;
    data?: string | number | boolean | Date;
    cancel?: boolean;
    rowIndex?: number;
}
export interface BeforeAutoFillEventArgs {
    /** Defines the grid autofill data. */
    column?: Column;
    value?: string;
    cancel?: boolean;
}
/**
 * Defines options for custom command buttons.
 */
export interface CommandButtonOptions extends buttons.ButtonModel {
    /**
     * Defines handler for the click event.
     */
    click?: base.EmitType<Event>;
}
/**
 * Define options for custom command buttons.
 */
export interface CommandModel {
    /**
     * Define the command Button tooltip
     */
    title?: string;
    /**
     * Define the command Button type
     *
     * @blazorDefaultValue none
     */
    type?: CommandButtonType;
    /**
     * Define the button model
     */
    buttonOption?: CommandButtonOptions;
}
/**
 * Defines the pending state for Custom Service Data
 */
export interface PendingState {
    /**
     * The function which resolves the current action's promise.
     */
    resolver?: Function;
    /**
     * Defines the current state of the action.
     */
    isPending?: boolean;
    /**
     * Grouping property for Custom data service
     */
    group?: string[];
    /**
     * aggregate support for Custom data service
     */
    aggregates?: Object[];
    /**
     *  DataSource changed through set model
     */
    isDataChanged?: boolean;
}
/**
 * Sorting property for Custom data Service
 */
export interface Sorts {
    /** Defines the field to be sorted */
    name?: string;
    /** Defines the direction of sorting */
    direction?: string;
}
export interface ColumnDataStateChangeEventArgs {
    /** Defines the filter query  */
    where?: PredicateModel[];
    /** Defines the search query */
    search?: PredicateModel[];
    /** Defines the grid action details performed by paging, grouping, filtering, searching, sorting */
    action?: PageEventArgs | GroupEventArgs | FilterEventArgs | SearchEventArgs | SortEventArgs;
    /** Defines the function to be called to refresh column dataSource */
    setColumnData?: Function;
}
/** Custom data service event types */
export interface DataStateChangeEventArgs {
    /** Defines the skip count in datasource record */
    skip?: number;
    /** Defines the page size */
    take?: number;
    /** Defines the filter criteria  */
    where?: data.Predicate[];
    /** Defines the sorted field and direction */
    sorted?: Sorts[];
    /** Defines the grouped field names */
    group?: string[];
    /** Defines the aggregates object */
    aggregates?: Object[];
    /** Defines the search criteria */
    search?: SearchSettingsModel[];
    /** Defines the grid action details performed by paging, grouping, filtering, searching, sorting */
    action?: PageEventArgs | GroupEventArgs | FilterEventArgs | SearchEventArgs | SortEventArgs | LazyLoadGroupArgs;
    /** 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 */
    requiresCounts?: boolean;
    /** Defines the checkbox filter dataSource */
    dataSource?: Function;
    /** defines the lazy load group */
    isLazyLoad?: boolean;
    /** defines the lazy load group expand action */
    onDemandGroupInfo?: boolean;
}
export interface DataSourceChangedEventArgs {
    /** Defines the current action type. */
    requestType?: string;
    /** Defines the current action. */
    action?: string;
    /** Defines the primary column field */
    key?: string | string[];
    /** Defines the state of the performed action */
    state?: DataStateChangeEventArgs;
    /** Defines the selected row data.
     *
     * @isGenericType true
     */
    data?: Object | Object[];
    /** Defines the primary key value */
    primaryKeyValues?: Object[];
    /** Defines the index value */
    index?: number;
    /** Defines the end of editing function. */
    endEdit?: Function;
    /** Defines the Cancel of editing process */
    cancelEdit?: Function;
    /** Defines the changes made in batch editing */
    changes?: Object;
    /** Defines the query */
    query?: data.Query;
}
/**
 * @hidden
 */
export interface IFocus {
    matrix: Matrix;
    onKeyPress?: Function;
    onClick?: Function;
    onFocus?: Function;
    lastIdxCell: boolean;
    target?: HTMLElement;
    keyActions?: Object;
    focusType?: FocusType;
    currentTarget?: HTMLElement;
    action?: string;
    jump?: (action: string, current: number[]) => SwapInfo;
    getFocusInfo?: () => FocusInfo;
    getFocusable?: (element: HTMLElement) => HTMLElement;
    getTable?: () => HTMLTableElement;
    selector?: (row: Row<Column>, cell: Cell<Column>) => boolean;
    generateRows?: (rows: Row<Column>[], optionals?: Object) => void;
    getInfo?: (e?: base.KeyboardEventArgs) => FocusedContainer;
    validator?: () => Function;
    getNextCurrent?: (previous: number[], swap?: SwapInfo, active?: IFocus, action?: string) => number[];
    preventDefault?: (e: base.KeyboardEventArgs, info: FocusInfo) => void;
    nextRowFocusValidate?: (index: number) => number;
    previousRowFocusValidate?: (index: number) => number;
}
/**
 * @hidden
 */
export interface FocusInfo {
    element?: HTMLElement;
    elementToFocus?: HTMLElement;
    outline?: boolean;
    class?: string;
    skipAction?: boolean;
    uid?: string;
}
/**
 * @hidden
 */
export interface CellFocusArgs {
    element?: HTMLElement;
    parent?: HTMLElement;
    indexes?: number[];
    byKey?: boolean;
    byClick?: boolean;
    keyArgs?: base.KeyboardEventArgs;
    clickArgs?: Event;
    isJump?: boolean;
    container?: FocusedContainer;
    outline?: boolean;
    cancel?: boolean;
}
/**
 * @hidden
 */
export interface FocusedContainer {
    isContent?: boolean;
    isHeader?: boolean;
    isDataCell?: boolean;
    isFrozen?: boolean;
    isStacked?: boolean;
    isSelectable?: boolean;
    indexes?: number[];
}
/**
 * @hidden
 */
export interface SwapInfo {
    swap?: boolean;
    toHeader?: boolean;
    toFrozen?: boolean;
    current?: number[];
    toFrozenRight?: boolean;
}
/**
 * @hidden
 */
export interface KeyboardEventArgs extends KeyboardEvent {
    cancel?: boolean;
    action?: string;
}
/**
 * @hidden
 */
export interface IFilter {
    type?: string;
    dataSource?: Object[] | data.DataManager;
    hideSearchbox?: boolean;
    itemTemplate?: string | Function;
    ui?: IFilterMUI;
    operator?: string;
    params?: calendars.DatePickerModel | inputs.NumericTextBoxModel | dropdowns.DropDownListModel | dropdowns.AutoCompleteModel | calendars.DateTimePickerModel;
}
/**
 * @hidden
 */
export interface IFilterArgs {
    type?: string;
    height: number;
    columns?: ColumnModel1[];
    field?: string;
    displayName?: string;
    query?: data.Query;
    dataSource?: Object[] | data.DataManager;
    dataManager?: data.DataManager;
    format?: string;
    filteredColumns?: Object[];
    parentFilteredLocalRecords?: Object[];
    parentTotalDataCount?: number;
    parentCurrentViewDataCount?: number;
    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?: ColumnModel1;
    actualPredicate?: {
        [key: string]: PredicateModel[];
    };
    uid?: string;
    isForeignKey?: boolean;
    ignoreAccent?: boolean;
    isRemote?: boolean;
    isResponsiveFilter?: boolean;
    operator?: string;
    cancel?: boolean;
    disableHtmlEncode?: boolean;
}
export interface PdfExportProperties {
    /** Defines the Pdf orientation. */
    pageOrientation?: PageOrientation;
    /** Defines the Pdf page size. */
    pageSize?: PdfPageSize;
    /** Defines the Pdf header. */
    header?: PdfHeader;
    /** Defines the columns which are to be customized for Export alone.
     *
     * @blazorType List<GridColumn>
     */
    columns?: Column[];
    /** Defines the Pdf footer. */
    footer?: PdfFooter;
    /** Indicates whether to show the hidden columns in exported Pdf */
    includeHiddenColumn?: boolean;
    /** Defines the data source dynamically before exporting */
    dataSource?: Object | data.DataManager | Object[];
    /** Indicates to export current page or all page */
    exportType?: ExportType;
    /** Defines the theme for exported data  */
    theme?: PdfTheme;
    /** Defines the file name for the exported file  */
    fileName?: string;
    /** Defines the hierarchy export mode for the pdf grid */
    hierarchyExportMode?: 'Expanded' | 'All' | 'None';
    /** Defines the overflow of columns for the pdf grid */
    allowHorizontalOverflow?: boolean;
    /** Defined the query dynamically before exporting */
    query?: data.Query;
    /** Exports multiple grid into the pdf document */
    multipleExport?: MultiplePdfExport;
}
export interface PdfTheme {
    /** Defines the style of header content. */
    header?: PdfThemeStyle;
    /** Defines the theme style of record content. */
    record?: PdfThemeStyle;
    /** Defines the theme style of caption content. */
    caption?: PdfThemeStyle;
}
export interface ExcelTheme {
    /** Defines the style of header content. */
    header?: ExcelStyle;
    /** Defines the theme style of record content. */
    record?: ExcelStyle;
    /** Defines the theme style of caption content. */
    caption?: ExcelStyle;
}
export interface PdfThemeStyle {
    /** Defines the font color of theme style. */
    fontColor?: string;
    /** Defines the font name of theme style. */
    fontName?: string;
    /** Defines the font size of theme style. */
    fontSize?: number;
    /** Defines the bold of theme style. */
    bold?: boolean;
    /** Defines the borders of theme style. */
    border?: PdfBorder;
    /** Defines the font of the theme.
     *
     * @blazorType PdfGridFont
     */
    font?: pdfExport.PdfStandardFont | pdfExport.PdfTrueTypeFont;
    /** Defines the italic of theme style. */
    italic?: boolean;
    /** Defines the underline of theme style. */
    underline?: boolean;
    /** Defines the strikeout of theme style. */
    strikeout?: boolean;
}
export interface PdfGridFont {
    /** Defines the  fontFamily of font content. */
    fontFamily?: object;
    /** Defines the fontSize of font content. */
    fontSize?: number;
    /** Defines the trueTypeFont is enabled or not for font content.
     *
     * @default false
     */
    isTrueType: boolean;
    /** Defines the fontStyle of font content. */
    fontStyle?: object;
}
export interface PdfHeader {
    /** Defines the header content distance from top. */
    fromTop?: number;
    /** Defines the height of header content. */
    height?: number;
    /** Defines the header contents. */
    contents?: PdfHeaderFooterContent[];
}
export interface PdfFooter {
    /** Defines the footer content distance from bottom. */
    fromBottom?: number;
    /** Defines the height of footer content. */
    height?: number;
    /** Defines the footer contents */
    contents?: PdfHeaderFooterContent[];
}
export interface PdfHeaderFooterContent {
    /** Defines the content type */
    type: ContentType;
    /** Defines the page number type */
    pageNumberType?: PdfPageNumberType;
    /** Defines the style of content */
    style?: PdfContentStyle;
    /** Defines the pdf points for drawing line */
    points?: PdfPoints;
    /** Defines the format for customizing page number */
    format?: string;
    /** Defines the position of the content */
    position?: PdfPosition;
    /** Defines the size of content */
    size?: PdfSize;
    /** Defines the base64 string for image content type */
    src?: string;
    /** Defines the value for content */
    value?: any;
    /** Defines the font for the content */
    font?: pdfExport.PdfStandardFont | pdfExport.PdfTrueTypeFont;
    /** Defines the alignment of header */
    stringFormat?: pdfExport.PdfStringFormat;
}
export interface PdfPosition {
    /** Defines the x position */
    x: number;
    /** Defines the y position */
    y: number;
}
export interface PdfSize {
    /** Defines the height */
    height: number;
    /** Defines the width */
    width: number;
}
export interface PdfPoints {
    /** Defines the x1 position */
    x1: number;
    /** Defines the y1 position */
    y1: number;
    /** Defines the x2 position */
    x2: number;
    /** Defines the y2 position */
    y2: number;
}
export interface PdfContentStyle {
    /** Defines the pen color. */
    penColor?: string;
    /** Defines the pen size. */
    penSize?: number;
    /** Defines the dash style. */
    dashStyle?: PdfDashStyle;
    /** Defines the text brush color. */
    textBrushColor?: string;
    /** Defines the text pen color. */
    textPenColor?: string;
    /** Defines the font size. */
    fontSize?: number;
    /** Defines the horizontal alignment. */
    hAlign?: PdfHAlign;
    /** Defines the vertical alignment. */
    vAlign?: PdfVAlign;
}
/**
 * Defines the context menu item model.
 */
export interface ContextMenuItemModel extends navigations.MenuItemModel {
    /**
     * Define the target to show the menu item.
     */
    target?: string;
}
export interface ColumnMenuItemModel extends navigations.MenuItemModel {
    hide?: boolean;
}
export interface ColumnMenuOpenEventArgs extends navigations.BeforeOpenCloseMenuEventArgs {
    column?: Column;
}
export interface ColumnMenuClickEventArgs extends navigations.MenuEventArgs {
    column?: Column;
}
export interface ContextMenuClickEventArgs {
    column?: Column;
    rowInfo?: RowInfo;
    element: HTMLElement;
    /** Defines the Menu Items.
     *
     * @blazorType Syncfusion.Blazor.Navigations.navigations.MenuItemModel
     */
    item: navigations.MenuItemModel;
    event?: Event;
    name?: string;
}
export interface ContextMenuOpenEventArgs extends navigations.BeforeOpenCloseMenuEventArgs {
    column?: Column;
    rowInfo?: RowInfo;
}
export interface ExcelExportCompleteArgs {
    /** Defines the promise object for blob data. */
    promise?: Promise<{
        blobData: Blob;
    }>;
}
export interface PdfExportCompleteArgs {
    /** Defines the promise object for blob data. */
    promise?: Promise<{
        blobData: Blob;
    }>;
}
export interface SelectionNotifyArgs extends NotifyArgs {
    row?: HTMLElement;
    CheckState?: boolean;
}
/**
 * @hidden
 */
export interface DataResult {
    result: Object[] | data.Group[];
    count: number;
    aggregates?: object;
}
export interface RowDropEventArgs extends RowDragEventArgs {
    cancel?: boolean;
}
export interface AggregateTemplateContext {
    /** Gets sum aggregate value */
    sum: string;
    /** Gets average aggregate value */
    average: string;
    /** Gets maximum aggregate value */
    max: string;
    /** Gets minimum aggregate value */
    min: string;
    /** Gets count aggregate value */
    count: string;
    /** Gets true count aggregate value */
    trueCount: string;
    /** Specifies false count aggregate value */
    falseCount: string;
    /** Gets custom aggregate value */
    custom: string;
    /** Gets the current group field name */
    field?: string;
    /** Gets header text of the grouped column */
    headerText?: string;
    /** Gets grouped data key value */
    key?: string;
    /** Gets corresponding grouped foreign key value */
    foreignKey?: string;
}
export interface PagerTemplateContext {
    /** Gets the current page number */
    currentPage?: number;
    /** Gets the page size number */
    pageSize?: number;
    /** Gets the page count */
    pageCount?: number;
    /** Gets the total records count */
    totalRecordsCount?: number;
    /** Gets the total number of pages */
    totalPages?: number;
}
export interface CaptionTemplateContext {
    GroupGuid?: string;
    /** Gets the current group field name */
    field?: string;
    /** Gets depth or level in which the group caption is present. */
    level?: number;
    /** Gets grouped data key value */
    key?: string;
    /** Gets corresponding grouped foreign key value */
    foreignKey?: string;
    /** Gets count value which specified the number of records in the group */
    count?: number;
    /** Gets header text of the grouped column */
    headerText?: string;
}
/**
 * @hidden
 */
export interface ActionArgs {
    /**
     * @blazorType string
     */
    requestType?: Action | string;
    type?: string;
    fromIndex?: number;
    toIndex?: number;
    toColumnUid?: string;
    fromColumnUid?: string[];
    isMultipleReorder?: boolean;
    virtualStartIndex?: number;
    virtualEndIndex?: number;
    startColumnIndex?: number;
    endColumnIndex?: number;
    axis?: string;
    translateX?: number;
    rHeight?: number;
    vTableWidth?: number;
}
export interface CheckBoxBeforeRenderer {
    /** Defines the checkbox datasource. */
    dataSource?: object[];
    /** Defines the checkbox field property. */
    field?: string;
    /** Defines whether the execute query is executed or not. */
    executeQuery?: boolean;
}
export interface ColumnDeselectEventArgs {
    /** Defines the selected/deselected column index. */
    columnIndex?: number;
    /** Defines the selected/deselected column indexes. */
    columnIndexes?: number[];
    /** Defines the selected/deselected column. */
    headerCell?: Element | Element[];
    /** Defines the selected/deselected column */
    column?: Column;
    /** Defines the cancel option value. */
    cancel?: boolean;
    /** Defines the target element for column deselect. */
    target?: Element;
    /** Defines whether event is triggered by interaction or not. */
    isInteracted?: boolean;
}
export interface ColumnSelectEventArgs extends ColumnDeselectEventArgs {
    /** Defines the previously selected column index. */
    previousColumnIndex?: number;
    /** Defines the target element for column selection. */
    target?: Element;
}
export interface ColumnSelectingEventArgs extends ColumnSelectEventArgs {
    /** Defines whether CTRL key is pressed. */
    isCtrlPressed?: boolean;
    /** Defines whether SHIFT key is pressed. */
    isShiftPressed?: boolean;
}
/**
 * @hidden
 */
export interface ResponsiveDialogArgs {
    primaryKeyValue?: string[];
    rowData?: Object;
    dialog?: popups.DialogModel;
    target?: HTMLElement;
    col?: Column;
    action?: ResponsiveDialogAction;
}
/**
 * @hidden
 */
export interface ExportHelperArgs extends PdfQueryCellInfoEventArgs {
    isForeignKey?: boolean;
}
/**
 * @hidden
 */
export interface ForeignKeyFormat {
    [key: string]: Object[];
}
/**
 * @hidden
 */
export interface ExportHeaders {
    headers?: {
        [key: string]: string;
    }[];
}
/**
 * @hidden
 */
export interface VirtualSelectionInfo {
    isPending?: boolean;
    direction?: string;
    event?: KeyboardEventArgs;
}
export interface ColumnTemplateArgs {
    /** Defines the current row data.
     *
     * @isGenericType true
     */
    data?: Object;
    /** Defines the column of the current cell. */
    column?: Column;
    /** Defines the row index. */
    index?: string;
}
export interface ItemTemplateArgs {
    /** Defines the column */
    column?: Column;
    /** Defines the parent */
    parent?: IGrid;
}
/**
 * @hidden
 */
export interface DistributeColWidth {
    columns?: Column[];
    usedWidth?: number;
}
/**
 * @hidden
 */
export interface RefreshToolbarItemsArgs {
    editSettings?: EditSettingsModel;
    name?: string;
}
export interface ColumnChooserActionArgs {
    /** If `cancel` is set to true, then the current action will be stopped. */
    cancel?: boolean;
    /** Defines the request type*/
    requestType?: string;
    /** Defines the display columns of column chooser. */
    columns?: Column[];
}
export interface DetailTemplateDetach {
    /** The detail row element that is being removed from the DOM. */
    detailRow: HTMLElement;
    /** Contains information about the corresponding detail row. */
    detailRowObject: Row<Column>;
    /** Contains information about the corresponding parent row. */
    parentRowObject: Row<Column>;
}
export  type DetailTemplateDetachArgs = DetailTemplateDetach[];
//node_modules/@syncfusion/ej2-grids/src/grid/base/grid.d.ts
/**
 * Represents the field name and direction of sort column.
 */
export  class SortDescriptor extends base.ChildProperty<SortDescriptor> {
    /**
     * Defines the field name of sort column.
     *
     * @default ''
     */
    field: string;
    /**
     * Defines the direction of sort column.
     *
     * @default ''
     */
    direction: SortDirection;
    /**
     * @hidden
     * Defines the sorted column whether or from grouping operation.
     *
     * @default false
     */
    isFromGroup: boolean;
}
/**
 * Configures the sorting behavior of Grid.
 */
export  class SortSettings extends base.ChildProperty<SortSettings> {
    /**
     * Specifies the columns to sort at initial rendering of Grid.
     * Also user can get current sorted columns.
     *
     * @default []
     */
    columns: SortDescriptorModel[];
    /**
     * If `allowUnsort` set to false the user can not get the grid in unsorted state by clicking the sorted column header.
     *
     * @default true
     */
    allowUnsort: boolean;
}
/**
 * Represents the predicate for the filter column.
 */
export  class Predicate extends base.ChildProperty<Predicate> {
    /**
     * Defines the field name of the filter column.
     *
     * @default ''
     */
    field: string;
    /**
     * Defines the operator to filter records. The available operators and its supported data types are:
     * <table>
     * <tr>
     * <td colspan=1 rowspan=1>
     * Operator<br/></td><td colspan=1 rowspan=1>
     * Description<br/></td><td colspan=1 rowspan=1>
     * Supported Types<br/></td></tr>
     * <tr>
     * <td colspan=1 rowspan=1>
     * startswith<br/></td><td colspan=1 rowspan=1>
     * Checks whether the value begins with the specified value.<br/></td><td colspan=1 rowspan=1>
     * String<br/></td></tr>
     * <tr>
     * <td colspan=1 rowspan=1>
     * endswith<br/></td><td colspan=1 rowspan=1>
     * Checks whether the value ends with the specified value.<br/><br/></td><td colspan=1 rowspan=1>
     * <br/>String<br/></td></tr>
     * <tr>
     * <td colspan=1 rowspan=1>
     * contains<br/></td><td colspan=1 rowspan=1>
     * Checks whether the value contains the specified value.<br/><br/></td><td colspan=1 rowspan=1>
     * <br/>String<br/></td></tr>
     * <tr>
     * <td colspan=1 rowspan=1>
     * equal<br/></td><td colspan=1 rowspan=1>
     * Checks whether the value is equal to the specified value.<br/><br/></td><td colspan=1 rowspan=1>
     * <br/>String | Number | Boolean | Date<br/></td></tr>
     * <tr>
     * <td colspan=1 rowspan=1>
     * notequal<br/></td><td colspan=1 rowspan=1>
     * Checks for values that are not equal to the specified value.<br/><br/></td><td colspan=1 rowspan=1>
     * <br/>String | Number | Boolean | Date<br/></td></tr>
     * <tr>
     * <td colspan=1 rowspan=1>
     * greaterthan<br/></td><td colspan=1 rowspan=1>
     * Checks whether the value is greater than the specified value.<br/><br/></td><td colspan=1 rowspan=1>
     * Number | Date<br/></td></tr>
     * <tr>
     * <td colspan=1 rowspan=1>
     * greaterthanorequal<br/></td><td colspan=1 rowspan=1>
     * Checks whether the value is greater than or equal to the specified value.<br/><br/></td><td colspan=1 rowspan=1>
     * <br/>Number | Date<br/></td></tr>
     * <tr>
     * <td colspan=1 rowspan=1>
     * lessthan<br/></td><td colspan=1 rowspan=1>
     * Checks whether the value is less than the specified value.<br/><br/></td><td colspan=1 rowspan=1>
     * <br/>Number | Date<br/></td></tr>
     * <tr>
     * <td colspan=1 rowspan=1>
     * lessthanorequal<br/></td><td colspan=1 rowspan=1>
     * Checks whether the value is less than or equal to the specified value.<br/><br/></td><td colspan=1 rowspan=1>
     * <br/>Number | Date<br/></td></tr>
     * </table>
     *
     * @default null
     */
    operator: string;
    /**
     * Defines the value used to filter records.
     *
     * @default ''
     */
    value: string | number | Date | boolean | (string | number | Date | boolean)[];
    /**
     * If match case set to true, then filter records with exact match or else
     * filter records with case insensitive(uppercase and lowercase letters treated as same).
     *
     * @default null
     */
    matchCase: boolean;
    /**
     * If ignoreAccent is set to true, then filter ignores the diacritic characters or accents while filtering.
     *
     * @default false
     */
    ignoreAccent: boolean;
    /**
     * Defines the relationship between one filter query and another by using AND or OR predicate.
     *
     * @default null
     */
    predicate: string;
    /**
     * @hidden
     * Defines the actual filter value for the filter column.
     */
    actualFilterValue: Object;
    /**
     * @hidden
     * Defines the actual filter operator for the filter column.
     */
    actualOperator: Object;
    /**
     * @hidden
     * Defines the type of the filter column.
     */
    type: string;
    /**
     * @hidden
     * Defines the predicate of filter column.
     */
    ejpredicate: Object;
    /**
     * Defines the UID of filter column.
     *
     * @default ''
     */
    uid: string;
    /**
     * @hidden
     * Defines the foreignKey availability in filtered columns.
     */
    isForeignKey: boolean;
    /**
     * Defines the condition to add the new predicates on existing predicate with "and"/"or" operator.
     *
     * @default ''
     */
    condition: string;
}
/**
 * Configures the infinite scroll behavior of Grid.
 */
export  class InfiniteScrollSettings extends base.ChildProperty<InfiniteScrollSettings> {
    /**
     * If `enableCache` is set to true, the Grid will cache the loaded data to be reused next time it is needed.
     *
     * @default false
     */
    enableCache: boolean;
    /**
     * Defines the number of blocks to be maintained in Grid while settings enableCache as true.
     *
     * @default 3
     */
    maxBlocks: number;
    /**
     * Defines the number of blocks that will render at the initial Grid rendering.
     *
     * @default 3
     */
    initialBlocks: number;
}
/**
 * Configures the filtering behavior of the Grid.
 */
export  class FilterSettings extends base.ChildProperty<FilterSettings> {
    /**
     * Specifies the columns to be filtered at initial rendering of the Grid. You can also get the columns that were currently filtered.
     *
     * @default []
     */
    columns: PredicateModel[];
    /**
     * Defines options for filtering type. The available options are
     * * `Menu` - Specifies the filter type as menu.
     * * `CheckBox` - Specifies the filter type as checkbox.
     * * `FilterBar` - Specifies the filter type as filterbar.
     * * `Excel` - Specifies the filter type as checkbox.
     *
     * @default FilterBar
     */
    type: FilterType;
    /**
     * Defines the filter bar modes. The available options are,
     * * `OnEnter`: Initiates filter operation after Enter key is pressed.
     * * `Immediate`: Initiates filter operation after a certain time interval. By default, time interval is 1500 ms.
     *
     * @default OnEnter
     */
    mode: FilterBarMode;
    /**
     * Shows or hides the filtered status message on the pager.
     *
     * @default true
     */
    showFilterBarStatus: boolean;
    /**
     * Defines the time delay (in milliseconds) in filtering records when the `Immediate` mode of filter bar is set.
     *
     * @default 1500
     */
    immediateModeDelay: number;
    /**
     * The `operators` is used to override the default operators in filter menu. This should be defined by type wise
     * (string, number, date and boolean). Based on the column type, this customize operator list will render in filter menu.
     *
     * > Check the [`Filter Menu Operator`](../../grid/filtering/filter-menu#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 `enableInfiniteScrolling` set to true, then the data will be loaded in Checkbox filter `Popup` content, when the scrollbar reaches the end.
     * This helps to load large dataset in Checkbox filter `Popup` content.
     * {% codeBlock src='grid/enableInfiniteScrolling/index.md' %}{% endcodeBlock %}
     *
     * @default false
     */
    enableInfiniteScrolling: boolean;
    /**
     * If `enableInfiniteScrolling` set to true, For on demand request, Gets data from the parent data source based on given number of records count.
     *
     * @default 100
     */
    itemsCount: number;
    /**
     * Defines the loading indicator. The available loading indicator are:
     * * Spinner
     * * Shimmer
     *
     * @default Shimmer
     */
    loadingIndicator: IndicatorType;
    /**
     * If `enableCaseSensitivity` is set to true then searches grid records with exact match based on the filter
     * operator. It will have no effect on number, boolean and Date fields.
     *
     * @default false
     */
    enableCaseSensitivity: boolean;
    /**
     * If 'showFilterBarOperator' is set to true, then it renders the dropdownlist component to select the operator
     * in filterbar input
     *
     * @default false
     */
    showFilterBarOperator: boolean;
}
/**
 * Configures the selection behavior of the Grid.
 */
export  class SelectionSettings extends base.ChildProperty<SelectionSettings> {
    /**
     * Grid supports row, cell, and both (row and cell) selection mode.
     *
     * @default Row
     */
    mode: SelectionMode;
    /**
     * The cell selection modes are flow and box. It requires the selection
     * [`mode`](./selectionmode/) to be either cell or both.
     * * `Flow`: Selects the range of cells between start index and end index that also includes the other cells of the selected rows.
     * * `Box`: Selects the range of cells within the start and end column indexes that includes in between cells of rows within the range.
     * * `BoxWithBorder`: Selects the range of cells as like Box mode with borders.
     *
     * @default Flow
     */
    cellSelectionMode: CellSelectionMode;
    /**
     * Defines options for selection type. They are
     * * `Single`: Allows selection of only a row or a cell.
     * * `Multiple`: Allows selection of multiple rows or cells.
     *
     * @default Single
     */
    type: SelectionType;
    /**
     * If 'checkboxOnly' set to true, then the Grid selection is allowed only through checkbox.
     *
     * > To enable checkboxOnly selection, should specify the column type as`checkbox`.
     *
     * @default false
     */
    checkboxOnly: boolean;
    /**
     * If 'persistSelection' set to true, then the Grid selection is persisted on all operations.
     * For persisting selection in the Grid, any one of the column should be enabled as a primary key.
     *
     * @default false
     */
    persistSelection: boolean;
    /**
     * Defines options for checkbox selection Mode. They are
     * * `Default`: This is the default value of the checkboxMode. In this mode, user can select multiple rows by clicking rows one by one.
     * * `ResetOnRowClick`: In ResetOnRowClick mode, on clicking a row it will reset previously selected row and also multiple
     *  rows can be selected by using CTRL or SHIFT key.
     *
     * @default Default
     */
    checkboxMode: CheckboxSelectionType;
    /**
     * If 'enableSimpleMultiRowSelection' set to true, then the user can able to perform multiple row selection with single clicks.
     *
     * @default false
     */
    enableSimpleMultiRowSelection: boolean;
    /**
     * If 'enableToggle' set to true, then the user can able to perform toggle for the selected row.
     *
     * @default true
     */
    enableToggle: boolean;
    /**
     * If 'allowColumnSelection' set to true, then the user can able to select the columns.
     *
     * @default false
     */
    allowColumnSelection: boolean;
}
/**
 * Configures the search behavior of the Grid.
 */
export  class SearchSettings extends base.ChildProperty<SearchSettings> {
    /**
     * Specifies the collection of fields included in search operation. By default, bounded columns of the Grid are included.
     *
     * @default []
     */
    fields: string[];
    /**
     * Specifies the key value to search Grid records at initial rendering.
     * You can also get the current search key.
     *
     * @default ''
     */
    key: string;
    /**
     * Defines the operator to search records. The available operators are:
     * <table>
     * <tr>
     * <td colspan=1 rowspan=1>
     * Operator<br/></td><td colspan=1 rowspan=1>
     * Description<br/></td></tr>
     * <tr>
     * <td colspan=1 rowspan=1>
     * startswith<br/></td><td colspan=1 rowspan=1>
     * Checks whether the string begins with the specified string.<br/></td></tr>
     * <tr>
     * <td colspan=1 rowspan=1>
     * endswith<br/></td><td colspan=1 rowspan=1>
     * Checks whether the string ends with the specified string.<br/></td></tr>
     * <tr>
     * <td colspan=1 rowspan=1>
     * contains<br/></td><td colspan=1 rowspan=1>
     * Checks whether the string contains the specified string. <br/></td></tr>
     * <tr>
     * <td colspan=1 rowspan=1>
     * equal<br/></td><td colspan=1 rowspan=1>
     * Checks whether the string is equal to the specified string.<br/></td></tr>
     * <tr>
     * <td colspan=1 rowspan=1>
     * notequal<br/></td><td colspan=1 rowspan=1>
     * Checks for strings not equal to the specified string. <br/></td></tr>
     * </table>
     *
     * @default 'contains'
     */
    operator: string;
    /**
     * If `ignoreCase` is set to false, searches records that match exactly, else
     * searches records that are case insensitive(uppercase and lowercase letters treated the same).
     *
     * @default true
     */
    ignoreCase: boolean;
    /**
     * If ignoreAccent set to true, then filter ignores the diacritic characters or accents while filtering.
     *
     * > Check the [`Diacritics`](../../grid/filtering/#diacritics/) filtering.
     *
     * @default false
     */
    ignoreAccent: boolean;
}
/**
 * Configures the row drop settings of the Grid.
 */
export  class RowDropSettings extends base.ChildProperty<RowDropSettings> {
    /**
     * Defines the ID of droppable component on which row drop should occur.
     *
     * @default null
     */
    targetID: string;
}
/**
 * Configures the text wrap settings of the Grid.
 */
export  class TextWrapSettings extends base.ChildProperty<TextWrapSettings> {
    /**
     * The `wrapMode` property defines how the text in the grid cells should be wrapped. The available modes are:
     * * `Both`: Wraps text in both the header and content cells.
     * * `Content`: Wraps text in the content cells only.
     * * `Header`: Wraps texts in the header cells only.
     *
     * @default Both
     */
    wrapMode: WrapMode;
}
/**
 * Configures the resize behavior of the Grid.
 */
export  class ResizeSettings extends base.ChildProperty<ResizeSettings> {
    /**
     * Defines the mode of Grid column resizing. The available modes are:
     * `Normal`: Columns will not be adjusted to fit the remaining space.
     * `Auto`: Resized column width will be adjusted by other columns automatically.
     *
     * @default Normal
     */
    mode: ResizeMode;
}
/**
 * Configures the group behavior of the Grid.
 */
export  class GroupSettings extends base.ChildProperty<GroupSettings> {
    /**
     * If `showDropArea` is set to true, the group drop area element will be visible at the top of the Grid.
     *
     * @default true
     */
    showDropArea: boolean;
    /**
     * If `allowReordering` is set to true, Grid allows the grouped elements to be reordered.
     *
     * @default false
     */
    allowReordering: boolean;
    /**
     * If `showToggleButton` set to true, then the toggle button will be showed in the column headers which can be used to group
     * or ungroup columns by clicking them.
     *
     * @default false
     */
    showToggleButton: boolean;
    /**
     * If `showGroupedColumn` is set to false, it hides the grouped column after grouping.
     *
     * @default false
     */
    showGroupedColumn: boolean;
    /**
     * If `showUngroupButton` set to false, then ungroup button is hidden in dropped element.
     * It can be used to ungroup the grouped column when click on ungroup button.
     *
     * @default true
     */
    showUngroupButton: boolean;
    /**
     * If `disablePageWiseAggregates` set to true, then the group aggregate value will
     * be calculated from the whole data instead of paged data and two requests will be made for each page
     * when Grid bound with remote service.
     *
     * @default false
     */
    disablePageWiseAggregates: boolean;
    /**
     * Specifies the column names to group at initial rendering of the Grid.
     * You can also get the currently grouped columns.
     *
     * @default []
     */
    columns: string[];
    /**
     * The Caption Template allows user to display the string or HTML element in group caption.
     * > It accepts either the
     * [template string](https://ej2.syncfusion.com/documentation/common/template-engine/) or the HTML element ID.
     *
     * @default null
     * @aspType string
     */
    captionTemplate: string | Object | Function;
    /**
     * The Lazy load grouping, allows the Grid to render only the initial level caption rows in collapsed state while grouping.
     * The child rows of each caption will render only when we expand the captions.
     *
     * @default false
     */
    enableLazyLoading: boolean;
}
/**
 * Configures the edit behavior of the Grid.
 */
export  class EditSettings extends base.ChildProperty<EditSettings> {
    /**
     * If `allowAdding` is set to true, new records can be added to the Grid.
     *
     * @default false
     */
    allowAdding: boolean;
    /**
     * If `allowEditing` is set to true, values can be updated in the existing record.
     *
     * @default false
     */
    allowEditing: boolean;
    /**
     * If `allowDeleting` is set to true, existing record can be deleted from the Grid.
     *
     * @default false
     */
    allowDeleting: boolean;
    /**
     * Defines the mode to edit. The available editing modes are:
     * * Normal
     * * Dialog
     * * Batch
     *
     * @default Normal
     */
    mode: EditMode;
    /**
     * If `allowEditOnDblClick` is set to false, Grid will not allow editing of a record on double click.
     *
     * @default true
     */
    allowEditOnDblClick: boolean;
    /**
     * if `showConfirmDialog` is set to false, confirm dialog does not show when batch changes are saved or discarded.
     *
     * @default true
     */
    showConfirmDialog: boolean;
    /**
     * If `showDeleteConfirmDialog` is set to true, confirm dialog will show delete action. You can also cancel delete command.
     *
     * @default false
     */
    showDeleteConfirmDialog: boolean;
    /**
     * Defines the custom edit elements for the dialog template.
     *
     * @default null
     * @aspType string
     */
    template: string | Object | Function;
    /**
     * Defines the custom edit elements for the dialog header template.
     *
     * @default null
     * @aspType string
     */
    headerTemplate: string | Object | Function;
    /**
     * Defines the custom edit elements for the dialog footer template.
     *
     * @default null
     * @aspType string
     */
    footerTemplate: string | Object | Function;
    /**
     * 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;
    /**
     * If `showAddNewRow` is set to true, it indicates whether to display the add new form by default in the grid.
     *
     * @default false
     */
    showAddNewRow: boolean;
}
/**
 * Configures the Loading Indicator of the Grid.
 */
export  class LoadingIndicator extends base.ChildProperty<LoadingIndicator> {
    /**
     * Defines the loading indicator. The available loading indicator are:
     * * Spinner
     * * Shimmer
     *
     * @default Spinner
     */
    indicatorType: IndicatorType;
}
/**
 * Represents the Grid component.
 * ```html
 * <div id="grid"></div>
 * <script>
 *  var gridObj = new Grid({ allowPaging: true });
 *  gridObj.appendTo("#grid");
 * </script>
 * ```
 */
export  class Grid extends base.Component<HTMLElement> implements base.INotifyPropertyChanged {
    private gridPager;
    private isInitial;
    isPreventScrollEvent: boolean;
    private columnModel;
    private rowTemplateFn;
    private emptyRecordTemplateFn;
    private editTemplateFn;
    private editHeaderTemplateFn;
    private editFooterTemplateFn;
    private columnChooserTemplateFn;
    private columnChooserHeaderTemplateFn;
    private columnChooserFooterTemplateFn;
    private detailTemplateFn;
    private sortedColumns;
    private footerElement;
    private inViewIndexes;
    private mediaCol;
    private getShowHideService;
    private keyA;
    private frozenRightCount;
    private freezeColumnRefresh;
    private rightcount;
    private frozenLeftCount;
    private leftcount;
    private tablesCount;
    private movableCount;
    private movablecount;
    private fixedcount;
    private fixedCount;
    private visibleFrozenLeft;
    private visibleFrozenFixed;
    private frozenName;
    private isPreparedFrozenColumns;
    private visibleFrozenRight;
    private visibleMovable;
    private frozenLeftColumns;
    private frozenRightColumns;
    private movableColumns;
    private fixedColumns;
    private stackedLeft;
    private stackedRight;
    private stackedFixed;
    private stackedMovable;
    private stackedarrayLeft;
    private stackedarrayRight;
    private stackedarrayFixed;
    private stackedarrayMovable;
    private media;
    private headerMaskTable;
    private contentMaskTable;
    private footerContentMaskTable;
    private maskRowContentScroll;
    private autoFitColumnsResize;
    /** @hidden */
    invokedFromMedia: boolean;
    /** @hidden */
    tableIndex: number;
    private dataBoundFunction;
    private dataToBeUpdated;
    private componentRefresh;
    private isChangeDataSourceCall;
    private mergedColumns;
    /** @hidden */
    recordsCount: number;
    /** @hidden */
    isVirtualAdaptive: boolean;
    /** @hidden */
    /**
     * * If `requireTemplateRef` is set to false in the load event, then the template element can't be accessed in grid queryCellInfo, and rowDataBound events.
     * * By default, React's grid queryCellInfo and rowDataBound events allow access to the template element.
     * * Avoid accessing the template elements in the grid queryCellInfo and rowDataBound events to improve rendering performance by setting this value as false.
     *
     * @default true
     */
    requireTemplateRef: boolean;
    /** @hidden */
    vRows: Row<Column>[];
    /** @hidden */
    vcRows: Row<Column>[];
    /** @hidden */
    vGroupOffsets: {
        [x: number]: number;
    };
    /** @hidden */
    isInitialLoad: boolean;
    /** @hidden */
    private rowUid;
    /**
     * @hidden
     */
    mergeCells: {
        [key: string]: number;
    };
    /**
     * @hidden
     */
    checkAllRows: CheckState;
    /**
     * @hidden
     */
    isCheckBoxSelection: boolean;
    /**
     * @hidden
     */
    isPersistSelection: boolean;
    /**
     * Gets the currently visible records of the Grid.
     *
     * @default []
     */
    currentViewData: Object[];
    /** @hidden */
    /**
     * Gets the parent Grid details.
     *
     * @default {}
     */
    parentDetails: ParentDetails;
    /** @hidden */
    printGridParent: IGrid;
    /** @hidden */
    isEdit: boolean;
    /** @hidden */
    commonQuery: data.Query;
    /** @hidden */
    scrollPosition: ScrollPositionType;
    /** @hidden */
    isLastCellPrimaryKey: boolean;
    /** @hidden */
    translateX: number;
    /** @hidden */
    filterOperators: IFilterOperator;
    /** @hidden */
    localeObj: base.L10n;
    /** @hidden */
    isManualRefresh: boolean;
    /** @hidden */
    isAutoFitColumns: boolean;
    /** @hidden */
    enableDeepCompare: boolean;
    /** @hidden */
    totalDataRecordsCount: number;
    /** @hidden */
    disableSelectedRecords: Object[];
    /** @hidden */
    partialSelectedRecords: Object[];
    /** @hidden */
    lazyLoadRender: IRenderer;
    /** @hidden */
    isSpan: boolean;
    /** @hidden */
    islazyloadRequest: boolean;
    /** @hidden */
    isAddNewRow: boolean;
    /** @hidden */
    addNewRowFocus: boolean;
    /** @hidden */
    selectVirtualRowOnAdd: boolean;
    isSelectedRowIndexUpdating: boolean;
    private defaultLocale;
    private keyConfigs;
    private keyPress;
    private toolTipObj;
    private prevElement;
    private stackedColumn;
    private isExcel;
    /** @hidden */
    lockcolPositionCount: number;
    /** @hidden */
    prevPageMoving: boolean;
    /** @hidden */
    pageTemplateChange: boolean;
    /** @hidden */
    isAutoGen: boolean;
    /** @hidden */
    isAutoGenerateColumns: boolean;
    /** @hidden */
    pageRequireRefresh: boolean;
    private mediaBindInstance;
    /** @hidden */
    commandDelIndex: number;
    /** @hidden */
    preventAutoFit: boolean;
    /** @hidden */
    asyncTimeOut: number;
    /** @hidden */
    isExportGrid: boolean;
    /** @hidden */
    isWidgetsDestroyed: 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.
     *
     * @default ''
     */
    showHider: ShowHide;
    /**
     * The `searchModule` is used to manipulate searching in the Grid.
     */
    searchModule: Search;
    /**
     * The `scrollModule` is used to manipulate scrolling in the Grid.
     */
    scrollModule: Scroll;
    /**
     * The `infiniteScrollModule` is used to manipulate infinite scrolling in the Grid.
     */
    infiniteScrollModule: InfiniteScroll;
    /**
     * The `reorderModule` is used to manipulate reordering in the Grid.
     */
    reorderModule: Reorder;
    /**
     * `resizeModule` is used to manipulate resizing in the Grid.
     *
     * @hidden
     */
    resizeModule: Resize;
    /**
     * The `groupModule` is used to manipulate grouping behavior in the Grid.
     */
    groupModule: Group;
    /**
     * The `printModule` is used to handle the printing feature of the Grid.
     */
    printModule: Print;
    /**
     * The `excelExportModule` is used to handle Excel exporting feature in the Grid.
     */
    excelExportModule: ExcelExport;
    /**
     * The `pdfExportModule` is used to handle PDF exporting feature in the Grid.
     */
    pdfExportModule: PdfExport;
    /**
     * `detailRowModule` is used to handle detail rows rendering in the Grid.
     *
     * @hidden
     */
    detailRowModule: DetailRow;
    /**
     * The `toolbarModule` is used to manipulate ToolBar items and its action in the Grid.
     */
    toolbarModule: Toolbar;
    /**
     * The `contextMenuModule` is used to handle context menu items and its action in the Grid.
     */
    contextMenuModule: ContextMenu;
    /**
     * The `columnMenuModule` is used to manipulate column menu items and its action in the Grid.
     */
    columnMenuModule: ColumnMenu;
    /**
     * The `editModule` is used to handle Grid content manipulation.
     */
    editModule: Edit;
    /**
     * `clipboardModule` is used to handle Grid copy action.
     */
    clipboardModule: Clipboard;
    /**
     * `columnchooserModule` is used to dynamically show or hide the Grid columns.
     *
     * @hidden
     */
    columnChooserModule: ColumnChooser;
    /**
     * The `aggregateModule` is used to manipulate aggregate functionality in the Grid.
     *
     * @hidden
     */
    aggregateModule: Aggregate;
    private loggerModule;
    private enableLogger;
    /** @hidden */
    focusModule: FocusStrategy;
    adaptiveDlgTarget: HTMLElement;
    protected needsID: boolean;
    /**
     * Defines the schema of dataSource.
     * If the `columns` declaration is empty or undefined then the `columns` are automatically generated from data source.
     * {% codeBlock src='grid/columns/index.md' %}{% endcodeBlock %}
     *
     * @default []
     */
    columns: Column[] | string[] | ColumnModel1[];
    /**
     * If `enableAltRow` is set to true, the grid will render with `e-altrow` CSS class to the alternative tr elements.
     * > Check the [`AltRow`](../../grid/row/#styling-alternate-rows/) to customize the styles of alternative rows.
     * {% codeBlock src='grid/enableAltRow/index.md' %}{% endcodeBlock %}
     *
     * @default true
     */
    enableAltRow: boolean;
    /**
     * If `enableHover` is set to true, the row hover is enabled in the Grid.
     * {% codeBlock src='grid/enableHover/index.md' %}{% endcodeBlock %}
     *
     * @default true
     */
    enableHover: boolean;
    /**
     * If `enableAutoFill` is set to true, then the auto fill icon will displayed on cell selection for copy cells.
     * It requires the selection `mode` to be Cell and `cellSelectionMode` to be `Box`.
     * {% codeBlock src='grid/enableAutoFill/index.md' %}{% endcodeBlock %}
     *
     * @default false
     */
    enableAutoFill: boolean;
    /**
     * Enables or disables the key board interaction of Grid.
     *
     * @default true
     */
    allowKeyboard: boolean;
    /**
     * If 'enableStickyHeader' set to true, then the user can able to make the column headers visible when the document is scrolled.
     *
     * @default false
     */
    enableStickyHeader: boolean;
    /**
     * Specifies whether to display or remove the untrusted HTML values in the Grid component.
     * If 'enableHtmlSanitizer' set to true, the component will sanitize any suspected untrusted strings and scripts before rendering them.
     *
     * @default false
     */
    enableHtmlSanitizer: boolean;
    /**
     * If `allowTextWrap` set to true,
     * then text content will wrap to the next line when its text content exceeds the width of the Column Cells.
     * {% codeBlock src='grid/allowTextWrap/index.md' %}{% endcodeBlock %}
     *
     * @default false
     */
    allowTextWrap: boolean;
    /**
     * Configures the text wrap in the Grid.
     * {% codeBlock src='grid/textWrapSettings/index.md' %}{% endcodeBlock %}
     *
     * @default {wrapMode:"Both"}
     */
    textWrapSettings: TextWrapSettingsModel;
    /**
     * Defines the resizing behavior of the Grid.
     *
     * @default {mode:"Normal"}
     */
    resizeSettings: ResizeSettingsModel;
    /**
     * If `allowPaging` is set to true, the pager renders at the footer of the Grid. It is used to handle page navigation in the Grid.
     *
     * > Check the [`Paging`](../../grid/paging/) to configure the grid pager.
     * {% codeBlock src='grid/allowPaging/index.md' %}{% endcodeBlock %}
     *
     * @default false
     */
    allowPaging: boolean;
    /**
     * Configures the pager in the Grid.
     * {% codeBlock src='grid/pageSettings/index.md' %}{% endcodeBlock %}
     *
     * @default {currentPage: 1, pageSize: 12, pageCount: 8, enableQueryString: false, pageSizes: false, template: null}
     */
    pageSettings: PageSettingsModel;
    /**
     * Configures the Loading Indicator of the Grid.
     *
     * @default {indicatorType: 'Spinner'}
     */
    loadingIndicator: LoadingIndicatorModel;
    /**
     * Specifies the shimmer effect for Grid virtual and infinite scrolling.
     *
     * @default true
     */
    enableVirtualMaskRow: boolean;
    /**
     * If `enableVirtualization` set to true, then the Grid will render only the rows visible within the view-port
     * and load subsequent rows on vertical scrolling. This helps to load large dataset in Grid.
     * {% codeBlock src='grid/enableVirtualization/index.md' %}{% endcodeBlock %}
     *
     * @default false
     */
    enableVirtualization: boolean;
    /**
     * If `enableColumnVirtualization` set to true, then the Grid will render only the columns visible within the view-port
     * and load subsequent columns on horizontal scrolling. This helps to load large dataset of columns in Grid.
     * {% codeBlock src='grid/enableColumnVirtualization/index.md' %}{% endcodeBlock %}
     *
     * @default false
     */
    enableColumnVirtualization: boolean;
    /**
     * If `enableInfiniteScrolling` set to true, then the data will be loaded in Grid when the scrollbar reaches the end.
     * This helps to load large dataset in Grid.
     * {% codeBlock src='grid/enableInfiniteScrolling/index.md' %}{% endcodeBlock %}
     *
     * @default false
     */
    enableInfiniteScrolling: boolean;
    /**
     * Configures the search behavior in the Grid.
     * {% codeBlock src='grid/searchSettings/index.md' %}{% endcodeBlock %}
     *
     * @default { ignoreCase: true, fields: [], operator: 'contains', key: '' }
     */
    searchSettings: SearchSettingsModel;
    /**
     * If `allowSorting` is set to true, it allows sorting of grid records when column header is clicked.
     *
     * > Check the [`Sorting`](../../grid/sorting/) to customize its default behavior.
     * {% codeBlock src='grid/allowSorting/index.md' %}{% endcodeBlock %}
     *
     * @default false
     */
    allowSorting: boolean;
    /**
     *  Defines the mode of clip. The available modes are,
     * `Clip`: Truncates the cell content when it overflows its area.
     * `Ellipsis`: Displays ellipsis when the cell content overflows its area.
     * `EllipsisWithTooltip`:  Displays ellipsis when the cell content overflows its area,
     *  also it will display the tooltip while hover on ellipsis is applied.
     * {% codeBlock src='grid/clipMode/index.md' %}{% endcodeBlock %}
     *
     * @default Ellipsis
     */
    clipMode: ClipMode;
    /**
     * If `allowMultiSorting` set to true, then it will allow the user to sort multiple column in the grid.
     * > `allowSorting` should be true.
     * {% codeBlock src='grid/allowMultiSorting/index.md' %}{% endcodeBlock %}
     *
     * @default false
     */
    allowMultiSorting: boolean;
    /**
     * If `allowExcelExport` set to true, then it will allow the user to export grid to Excel file.
     *
     * > Check the [`ExcelExport`](../../grid/excel-exporting/) to configure exporting document.
     * {% codeBlock src='grid/allowExcelExport/index.md' %}{% endcodeBlock %}
     *
     * @default false
     */
    allowExcelExport: boolean;
    /**
     * If `allowPdfExport` set to true, then it will allow the user to export grid to Pdf file.
     *
     * > Check the [`Pdfexport`](../../grid/pdf-export/) to configure the exporting document.
     * {% codeBlock src='grid/allowPdfExport/index.md' %}{% endcodeBlock %}
     *
     * @default false
     */
    allowPdfExport: boolean;
    /**
     * Configures the sort settings.
     * {% codeBlock src='grid/sortSettings/index.md' %}{% endcodeBlock %}
     *
     * @default {columns:[]}
     */
    sortSettings: SortSettingsModel;
    /**
     * Configures the infinite scroll settings.
     * {% codeBlock src='grid/infiniteScrollSettings/index.md' %}{% endcodeBlock %}
     *
     * @default { enableCache: false, maxBlocks: 5, initialBlocks: 5 }
     */
    infiniteScrollSettings: InfiniteScrollSettingsModel;
    /**
     * If `allowSelection` is set to true, it allows selection of (highlight row) Grid records by clicking it.
     * {% codeBlock src='grid/allowSelection/index.md' %}{% endcodeBlock %}
     *
     * @default true
     */
    allowSelection: boolean;
    /**
     * The `selectedRowIndex` allows you to select a row at initial rendering.
     * You can also get the currently selected row index.
     * {% codeBlock src='grid/selectedRowIndex/index.md' %}{% endcodeBlock %}
     *
     * @default -1
     */
    selectedRowIndex: number;
    /**
     * Configures the selection settings.
     * {% codeBlock src='grid/selectionSettings/index.md' %}{% endcodeBlock %}
     *
     * @default {mode: 'Row', cellSelectionMode: 'Flow', type: 'Single'}
     */
    selectionSettings: SelectionSettingsModel;
    /**
     * If `allowFiltering` set to true the filter bar will be displayed.
     * If set to false the filter bar will not be displayed.
     * Filter bar allows the user to filter grid records with required criteria.
     *
     * > Check the [`Filtering`](../../grid/filtering/) to customize its default behavior.
     * {% codeBlock src='grid/allowFiltering/index.md' %}{% endcodeBlock %}
     *
     * @default false
     */
    allowFiltering: boolean;
    /**
     * Defines the grid row elements rendering direction. The available directions are,
     * * `Horizontal`: Renders the grid row elements in the horizontal direction
     * * `Vertical`: Renders the grid row elements in the vertical direction
     *
     * @default Horizontal
     */
    rowRenderingMode: RowRenderingDirection;
    /**
     * If `enableAdaptiveUI` set to true the grid filter, sort, and edit dialogs render adaptively.
     *
     * @default false
     */
    enableAdaptiveUI: boolean;
    /**
     * One of the adaptiveUIMode enumeration that specifies the Adaptive Mode. The default value is Both.
     *
     * @default Both
     */
    adaptiveUIMode: AdaptiveMode;
    /**
     * If `allowReordering` is set to true, Grid columns can be reordered.
     * Reordering can be done by drag and drop of a particular column from one index to another index.
     * > If Grid is rendered with stacked headers, reordering is allowed only at the same level as the column headers.
     * {% codeBlock src='grid/allowReordering/index.md' %}{% endcodeBlock %}
     *
     * @default false
     */
    allowReordering: boolean;
    /**
     * If `allowResizing` is set to true, Grid columns can be resized.
     * {% codeBlock src='grid/allowResizing/index.md' %}{% endcodeBlock %}
     *
     * @default false
     */
    allowResizing: boolean;
    /**
     * If `allowRowDragAndDrop` is set to true, you can drag and drop grid rows at another grid.
     * {% codeBlock src='grid/allowRowDragAndDrop/index.md' %}{% endcodeBlock %}
     *
     * @default false
     */
    allowRowDragAndDrop: boolean;
    /**
     * Configures the row drop settings.
     *
     * @default {targetID: ''}
     */
    rowDropSettings: RowDropSettingsModel;
    /**
     * Configures the filter settings of the Grid.
     * {% codeBlock src='grid/filterSettings/index.md' %}{% endcodeBlock %}
     *
     * @default {columns: [], type: 'FilterBar', mode: 'Immediate', showFilterBarStatus: true, immediateModeDelay: 1500 , operators: {}}
     */
    filterSettings: FilterSettingsModel;
    /**
     * If `allowGrouping` set to true, then it will allow the user to dynamically group or ungroup columns.
     * Grouping can be done by drag and drop columns from column header to group drop area.
     *
     * > Check the [`Grouping`](../../grid/grouping/) to customize its default behavior.
     * {% codeBlock src='grid/allowGrouping/index.md' %}{% endcodeBlock %}
     *
     * @default false
     */
    allowGrouping: boolean;
    /**
     * If `enableImmutableMode`  is set to true, the grid will reuse old rows if it exists in the new result instead of
     * full refresh while performing the grid actions.
     *
     * @default false
     */
    enableImmutableMode: boolean;
    /**
     * If `showColumnMenu` set to true, then it will enable the column menu options in each columns.
     *
     * > Check the [`Column menu`](../../grid/columns/#column-menu/) for its configuration.
     * {% codeBlock src='grid/showColumnMenu/index.md' %}{% endcodeBlock %}
     *
     * @default false
     */
    showColumnMenu: boolean;
    /**
     * If `autoFit` set to true, then it will auto fit the columns based on given width.
     *
     * @default false
     */
    autoFit: boolean;
    /**
     * Configures the group settings.
     * {% codeBlock src='grid/groupSettings/index.md' %}{% endcodeBlock %}
     *
     * @default {showDropArea: true, showToggleButton: false, showGroupedColumn: false, showUngroupButton: true, columns: []}
     */
    groupSettings: GroupSettingsModel;
    /**
     * Configures the edit settings.
     * {% codeBlock src='grid/editSettings/index.md' %}{% endcodeBlock %}
     *
     * @default { allowAdding: false, allowEditing: false, allowDeleting: false, mode:'Normal',
     * allowEditOnDblClick: true, showConfirmDialog: true, showDeleteConfirmDialog: false }
     */
    editSettings: EditSettingsModel;
    /**
     * Configures the Grid aggregate rows.
     * {% codeBlock src='grid/aggregates/index.md' %}{% endcodeBlock %}
     * > Check the [`Aggregates`](../../grid/aggregates/) for its configuration.
     *
     * @default []
     */
    aggregates: AggregateRowModel[];
    /**
     * If `showColumnChooser` is set to true, it allows you to dynamically show or hide columns.
     *
     * > Check the [`ColumnChooser`](../../grid/columns/#column-chooser/) for its configuration.
     * {% codeBlock src='grid/showColumnChooser/index.md' %}{% endcodeBlock %}
     *
     * @default false
     */
    showColumnChooser: boolean;
    /**
     * Configures the column chooser in the Grid.
     *
     * @default { columnChooserOperator: 'startsWith' }
     */
    columnChooserSettings: ColumnChooserSettingsModel;
    /**
     * If `enableHeaderFocus` set to true, then header element will be focused when focus moves to grid.
     *
     * @default false
     */
    enableHeaderFocus: boolean;
    /**
     * Defines the scrollable height of the grid content.
     * {% codeBlock src='grid/height/index.md' %}{% endcodeBlock %}
     *
     * @default 'auto'
     */
    height: string | number;
    /**
     * Defines the Grid width.
     * {% codeBlock src='grid/width/index.md' %}{% endcodeBlock %}
     *
     * @default 'auto'
     */
    width: string | number;
    /**
     * Defines the mode of grid lines. The available modes are,
     * * `Both`: Displays both horizontal and vertical grid lines.
     * * `None`: No grid lines are displayed.
     * * `Horizontal`: Displays the horizontal grid lines only.
     * * `Vertical`: Displays the vertical grid lines only.
     * * `Default`: Displays grid lines based on the theme.
     * {% codeBlock src='grid/gridLines/index.md' %}{% endcodeBlock %}
     *
     * @default Default
     */
    gridLines: GridLine;
    /**
     * The row template that renders customized rows from the given template.
     * By default, Grid renders a table row for every data source item.
     * > * It accepts either [template string](../../common/template-engine/) or HTML element ID.
     * > * The row template must be a table row.
     *
     * > Check the [`Row Template`](../../grid/row/) customization.
     *
     * @default null
     * @aspType string
     */
    rowTemplate: string | Function;
    /**
     * The empty record template that renders customized element or text or image instead of displaying the empty record message in the grid.
     * > It accepts either the [template string](../../common/template-engine/) or the HTML element ID.
     *
     * @default null
     * @aspType string
     */
    emptyRecordTemplate: string | Function;
    /**
     * 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 %}
     *
     * @default null
     * @aspType string
     */
    detailTemplate: string | Function;
    /**
     * Defines Grid options to render child Grid.
     * It requires the [`queryString`](./#querystring) for parent
     * and child relationship.
     *
     * > Check the [`Child Grid`](../../grid/hierarchy-grid/) for its configuration.
     *
     * @default ''
     *
     */
    childGrid: GridModel;
    /**
     * Defines the relationship between parent and child datasource. It acts as the foreign key for parent datasource.
     *
     * @default ''
     */
    queryString: string;
    /**
     * Defines the print modes. The available print modes are
     * * `AllPages`: Prints all pages of the Grid.
     * * `CurrentPage`: Prints the current page of the Grid.
     * {% codeBlock src='grid/printMode/index.md' %}{% endcodeBlock %}
     *
     * @default AllPages
     */
    printMode: PrintMode;
    /**
     * Defines the hierarchy grid print modes. The available modes are
     * * `Expanded` - Prints the master grid with expanded child grids.
     * * `All` - Prints the master grid with all the child grids.
     * * `None` - Prints the master grid alone.
     *
     * @default Expanded
     */
    hierarchyPrintMode: HierarchyGridPrintMode;
    /**
     * It is used to render grid table rows.
     * If the `dataSource` is an array of JavaScript objects,
     * then Grid will create instance of [`data.DataManager`](https://ej2.syncfusion.com/documentation/api/data/dataManager/)
     * from this `dataSource`.
     * If the `dataSource` is an existing [`data.DataManager`](https://ej2.syncfusion.com/documentation/api/data/dataManager/),
     *  the Grid will not initialize a new one.
     *
     * > Check the available [`Adaptors`](../../data/adaptors/) to customize the data operation.
     * {% codeBlock src='grid/dataSource/index.md' %}{% endcodeBlock %}
     *
     * @default []
     * @isGenericType true
     */
    dataSource: Object | data.DataManager | DataResult;
    /**
     * Defines the height of Grid rows.
     * {% codeBlock src='grid/rowHeight/index.md' %}{% endcodeBlock %}
     *
     * @default null
     */
    rowHeight: number;
    /**
     * Defines the external [`data.Query`](https://ej2.syncfusion.com/documentation/data/api-query.html)
     * that will be executed along with data processing.
     * {% codeBlock src='grid/query/index.md' %}{% endcodeBlock %}
     *
     * @default null
     */
    query: data.Query;
    /**
     * Defines the currencyCode format of the Grid columns
     *
     * @private
     */
    private currencyCode;
    /**
     * Defines the id of the grids that needs to be exported
     *
     * @default null
     */
    exportGrids: string[];
    /**
     * `toolbar` defines the ToolBar items of the Grid.
     * It contains built-in and custom toolbar items.
     * If a string value is assigned to the `toolbar` option, it is considered as the template for the whole Grid ToolBar.
     * If an array value is assigned, it is considered as the list of built-in and custom toolbar items in the Grid's Toolbar.
     * <br><br>
     * The available built-in ToolBar items are:
     * * Add: Adds a new record.
     * * Edit: Edits the selected record.
     * * Update: Updates the edited record.
     * * Delete: Deletes the selected record.
     * * Cancel: Cancels the edit state.
     * * Search: Searches records by the given key.
     * * Print: Prints the Grid.
     * * ExcelExport - Export the Grid to Excel(excelExport() method manually to make export.)
     * * PdfExport - Export the Grid to PDF(pdfExport() method manually to make export.)
     * * CsvExport - Export the Grid to CSV(csvExport() method manually to make export.)<br><br>
     * The following code example implements the custom toolbar items.
     *
     *  > Check the [`Toolbar`](../../grid/tool-bar/#custom-toolbar-items/) to customize its default items.
     *
     * {% codeBlock src="grid/toolbar-api/index.ts" %}{% endcodeBlock %}
     * {% codeBlock src='grid/toolbar/index.md' %}{% endcodeBlock %}
     *
     * @default null
     */
    toolbar: (ToolbarItems | string | navigations.ItemModel | ToolbarItem)[];
    /**
     * `contextMenuItems` defines both built-in and custom context menu items.
     * <br><br>
     * The available built-in items are,
     * * `AutoFitAll` - Auto fit the size of all columns.
     * * `AutoFit` - Auto fit the current column.
     * * `Group` - Group by current column.
     * * `Ungroup` - Ungroup by current column.
     * * `Edit` - Edit the current record.
     * * `Delete` - Delete the current record.
     * * `Save` - Save the edited record.
     * * `Cancel` - Cancel the edited state.
     * * `Copy` - Copy the selected records.
     * * `PdfExport` - Export the grid as Pdf format.
     * * `ExcelExport` - Export the grid as Excel format.
     * * `CsvExport` - Export the grid as CSV format.
     * * `SortAscending` - Sort the current column in ascending order.
     * * `SortDescending` - Sort the current column in descending order.
     * * `FirstPage` - Go to the first page.
     * * `PrevPage` - Go to the previous page.
     * * `LastPage` - Go to the last page.
     * * `NextPage` - Go to the next page.
     *
     * @default null
     */
    contextMenuItems: ContextMenuItem[] | ContextMenuItemModel[];
    /**
     * `columnMenuItems` defines both built-in and custom column menu items.
     * <br><br>
     * The available built-in items are,
     * * `AutoFitAll` - Auto fit the size of all columns.
     * * `AutoFit` - Auto fit the current column.
     * * `Group` - Group by current column.
     * * `Ungroup` - Ungroup by current column.
     * * `SortAscending` - Sort the current column in ascending order.
     * * `SortDescending` - Sort the current column in descending order.
     * * `Filter` - Filter options will show based on filterSettings property like checkbox filter, excel filter, menu filter.
     *
     * @default null
     */
    columnMenuItems: ColumnMenuItem[] | ColumnMenuItemModel[];
    /**
     * It used to render toolbar template
     *
     * @default null
     * @aspType string
     */
    toolbarTemplate: string | Function;
    /**
     * It used to render pager template
     *
     * @default null
     * @aspType string
     */
    pagerTemplate: string | Function;
    /**
     * Gets or sets the number of frozen rows.
     * {% codeBlock src='grid/frozenRows/index.md' %}{% endcodeBlock %}
     *
     * @default 0
     */
    frozenRows: number;
    /**
     * Gets or sets the number of frozen columns.
     * {% codeBlock src='grid/frozenColumns/index.md' %}{% endcodeBlock %}
     *
     * @default 0
     */
    frozenColumns: number;
    /**
     * Defines the own class for the grid element.
     *
     * @default ''
     */
    cssClass: string;
    /**
     * `columnQueryMode`provides options to retrive data from the datasource.Their types are
     * * `All`: It Retrives whole datasource.
     * * `Schema`: Retrives data for all the defined columns in grid from the datasource.
     * * `ExcludeHidden`: Retrives data only for visible columns of grid from the dataSource.
     *
     * @default All
     */
    columnQueryMode: ColumnQueryModeType;
    /**
     * Gets or sets the current action details.
     *
     * @default {}
     */
    currentAction: ActionArgs;
    /**
     * Defines the version for Grid persistence.
     *
     * @default ''
     */
    ej2StatePersistenceVersion: string;
    /**
     * Triggers when the component is created.
     *
     * @event created
     */
    created: base.EmitType<Object>;
    /**
     * Triggers when the component is destroyed.
     *
     * @event destroyed
     */
    destroyed: base.EmitType<Object>;
    /**
     * This event allows customization of Grid properties before rendering.
     *
     * @event load
     */
    load: base.EmitType<Object>;
    /**
     * Triggered every time a request is made to access row information, element, or data.
     * This will be triggered before the row element is appended to the Grid element.
     *
     * @event rowDataBound
     */
    rowDataBound: base.EmitType<RowDataBoundEventArgs>;
    /**
     * Triggered every time a request is made to access cell information, element, or data.
     * This will be triggered before the cell element is appended to the Grid element.
     *
     * @event queryCellInfo
     */
    queryCellInfo: base.EmitType<QueryCellInfoEventArgs>;
    /**
     * Triggered for stacked header.
     *
     * @event headerCellInfo
     */
    headerCellInfo: base.EmitType<HeaderCellInfoEventArgs>;
    /**
     * Triggers when Grid actions such as sorting, filtering, paging, grouping etc., starts.
     *
     * {% codeBlock src='grid/actionBegin/index.md' %}{% endcodeBlock %}
     *
     * @event actionBegin
     */
    actionBegin: base.EmitType<PageEventArgs | GroupEventArgs | FilterEventArgs | SearchEventArgs | SortEventArgs | AddEventArgs | SaveEventArgs | EditEventArgs | DeleteEventArgs | ActionEventArgs | NotifyArgs | ReorderEventArgs>;
    /**
     * Triggers when Grid actions such as sorting, filtering, paging, grouping etc. are completed.
     *
     * @event actionComplete
     */
    actionComplete: base.EmitType<PageEventArgs | GroupEventArgs | FilterEventArgs | SearchEventArgs | SortEventArgs | AddEventArgs | SaveEventArgs | EditEventArgs | DeleteEventArgs | ActionEventArgs | NotifyArgs | ReorderEventArgs>;
    /**
     * Triggers when any Grid action failed to achieve the desired results.
     *
     * @event actionFailure
     */
    actionFailure: base.EmitType<FailureEventArgs>;
    /**
     * Triggers when data source is populated in the Grid.
     *
     * @event dataBound
     */
    dataBound: base.EmitType<Object>;
    /**
     * Triggers when record is double clicked.
     *
     * @event recordDoubleClick
     */
    recordDoubleClick: base.EmitType<RecordDoubleClickEventArgs>;
    /**
     * Triggers when record is clicked.
     *
     * @event recordClick
     */
    recordClick: base.EmitType<RecordClickEventArgs>;
    /**
     * Triggers before row selection occurs.
     *
     * @event rowSelecting
     */
    rowSelecting: base.EmitType<RowSelectingEventArgs>;
    /**
     * Triggers after a row is selected.
     *
     * @event rowSelected
     */
    rowSelected: base.EmitType<RowSelectEventArgs>;
    /**
     * Triggers before deselecting the selected row.
     *
     * @event rowDeselecting
     */
    rowDeselecting: base.EmitType<RowDeselectingEventArgs>;
    /**
     * Triggers when a selected row is deselected.
     *
     * @event rowDeselected
     */
    rowDeselected: base.EmitType<RowDeselectEventArgs>;
    /**
     * Triggers before any cell selection occurs.
     *
     * @event cellSelecting
     */
    cellSelecting: base.EmitType<CellSelectingEventArgs>;
    /**
     * Triggers after a cell is selected.
     *
     * @event cellSelected
     */
    cellSelected: base.EmitType<CellSelectEventArgs>;
    /**
     * Triggers before the selected cell is deselecting.
     *
     * @event cellDeselecting
     */
    cellDeselecting: base.EmitType<CellDeselectEventArgs>;
    /**
     * Triggers when a particular selected cell is deselected.
     *
     * @event cellDeselected
     */
    cellDeselected: base.EmitType<CellDeselectEventArgs>;
    /**
     * Triggers before column selection occurs.
     *
     * @event columnSelecting
     */
    columnSelecting: base.EmitType<ColumnSelectingEventArgs>;
    /**
     * Triggers after a column is selected.
     *
     * @event columnSelected
     */
    columnSelected: base.EmitType<ColumnSelectEventArgs>;
    /**
     * Triggers before deselecting the selected column.
     *
     * @event columnDeselecting
     */
    columnDeselecting: base.EmitType<ColumnDeselectEventArgs>;
    /**
     * Triggers when a selected column is deselected.
     *
     * @event columnDeselected
     */
    columnDeselected: base.EmitType<ColumnDeselectEventArgs>;
    /**
     * Triggers when column header element drag (move) starts.
     *
     * @event columnDragStart
     */
    columnDragStart: base.EmitType<ColumnDragEventArgs>;
    /**
     * Triggers when column header element is dragged (moved) continuously.
     *
     * @event columnDrag
     */
    columnDrag: base.EmitType<ColumnDragEventArgs>;
    /**
     * Triggers when a column header element is dropped on the target column.
     *
     * @event columnDrop
     */
    columnDrop: base.EmitType<ColumnDragEventArgs>;
    /**
     * Triggers after print action is completed.
     *
     * @event printComplete
     */
    printComplete: base.EmitType<PrintEventArgs>;
    /**
     * Triggers before the print action starts.
     *
     * @event beforePrint
     */
    beforePrint: base.EmitType<PrintEventArgs>;
    /**
     * Triggers before exporting each cell to PDF document. You can also customize the PDF cells.
     *
     * @event pdfQueryCellInfo
     */
    pdfQueryCellInfo: base.EmitType<PdfQueryCellInfoEventArgs>;
    /**
     * Triggers before exporting each header cell to PDF document. You can also customize the PDF cells.
     *
     * @event pdfHeaderQueryCellInfo
     */
    pdfHeaderQueryCellInfo: base.EmitType<PdfHeaderQueryCellInfoEventArgs>;
    /**
     * Triggers before exporting aggregate cell to PDF document. You can also customize the PDF cells.
     *
     * @event pdfAggregateQueryCellInfo
     */
    pdfAggregateQueryCellInfo: base.EmitType<AggregateQueryCellInfoEventArgs>;
    /**
     * Triggers before exporting aggregate cell to Excel document. You can also customize the PDF cells.
     *
     * @event excelAggregateQueryCellInfo
     */
    excelAggregateQueryCellInfo: base.EmitType<AggregateQueryCellInfoEventArgs>;
    /**
     * Triggers before exporting each detail Grid to PDF document.
     *
     * @event exportDetailDataBound
     */
    exportDetailDataBound: base.EmitType<ExportDetailDataBoundEventArgs>;
    /**
     * Triggers before exporting each detail template.
     *
     * @event exportDetailTemplate
     */
    exportDetailTemplate: base.EmitType<ExportDetailTemplateEventArgs>;
    /**
     * Triggers before exporting each cell to Excel file.
     * You can also customize the Excel cells.
     *
     * @event excelQueryCellInfo
     */
    excelQueryCellInfo: base.EmitType<ExcelQueryCellInfoEventArgs>;
    /**
     * Triggers before exporting each header cell to Excel file.
     * You can also customize the Excel cells.
     *
     * @event excelHeaderQueryCellInfo
     */
    excelHeaderQueryCellInfo: base.EmitType<ExcelHeaderQueryCellInfoEventArgs>;
    /**
     * Triggers before Grid data is exported to Excel file.
     *
     * @event beforeExcelExport
     */
    beforeExcelExport: base.EmitType<Object>;
    /**
     * Triggers after Grid data is exported to Excel file.
     *
     * @event excelExportComplete
     */
    excelExportComplete: base.EmitType<ExcelExportCompleteArgs>;
    /**
     * Triggers before Grid data is exported to PDF document.
     *
     * @event beforePdfExport
     */
    beforePdfExport: base.EmitType<Object>;
    /**
     * Triggers after Grid data is exported to PDF document.
     *
     * @event pdfExportComplete
     */
    pdfExportComplete: base.EmitType<PdfExportCompleteArgs>;
    /**
     * Triggers when row element's before drag(move).
     *
     * @event rowDragStartHelper
     */
    rowDragStartHelper: base.EmitType<RowDragEventArgs>;
    /**
     * Triggers after detail row expands.
     * > This event triggers at initial expand.
     *
     * @event detailDataBound
     */
    detailDataBound: base.EmitType<DetailDataBoundEventArgs>;
    /**
     * Triggers when row element's drag(move) starts.
     *
     * @event rowDragStart
     */
    rowDragStart: base.EmitType<RowDragEventArgs>;
    /**
     * Triggers when row elements are dragged (moved) continuously.
     *
     * @event rowDrag
     */
    rowDrag: base.EmitType<RowDragEventArgs>;
    /**
     * Triggers when row elements are dropped on the target row.
     *
     * @event rowDrop
     */
    rowDrop: base.EmitType<RowDragEventArgs>;
    /**
     * Triggers when toolbar item is clicked.
     *
     * @event toolbarClick
     */
    toolbarClick: base.EmitType<navigations.ClickEventArgs>;
    /**
     * Triggers before the columnChooser open.
     *
     * @event beforeOpenColumnChooser
     */
    beforeOpenColumnChooser: base.EmitType<ColumnChooserEventArgs>;
    /**
     * Triggers before adaptive filter and sort dialogs open.
     *
     * @event beforeOpenAdaptiveDialog
     */
    beforeOpenAdaptiveDialog: base.EmitType<AdaptiveDialogEventArgs>;
    /**
     * Triggers when records are added in batch mode.
     *
     * @event batchAdd
     */
    batchAdd: base.EmitType<BatchAddArgs>;
    /**
     * Triggers when records are deleted in batch mode.
     *
     * @event batchDelete
     */
    batchDelete: base.EmitType<BatchDeleteArgs>;
    /**
     * Triggers when cancel the batch edit changes batch mode.
     *
     * @event batchCancel
     */
    batchCancel: base.EmitType<BatchCancelArgs>;
    /**
     * Triggers before records are added in batch mode.
     *
     * @event beforeBatchAdd
     */
    beforeBatchAdd: base.EmitType<BeforeBatchAddArgs>;
    /**
     * Triggers before records are deleted in batch mode.
     *
     * @event beforeBatchDelete
     */
    beforeBatchDelete: base.EmitType<BeforeBatchDeleteArgs>;
    /**
     * Triggers before records are saved in batch mode.
     *
     * @event beforeBatchSave
     */
    beforeBatchSave: base.EmitType<BeforeBatchSaveArgs>;
    /**
     * Triggers before the record is to be edit.
     *
     * @event beginEdit
     */
    beginEdit: base.EmitType<BeginEditArgs>;
    /**
     * Triggers when command button is clicked.
     *
     * @event commandClick
     */
    commandClick: base.EmitType<CommandClickEventArgs>;
    /**
     * Triggers when the cell is being edited.
     *
     * @event cellEdit
     */
    cellEdit: base.EmitType<CellEditArgs>;
    /**
     * Triggers when the cell is being saved.
     *
     * @event cellSave
     */
    cellSave: base.EmitType<CellSaveArgs>;
    /**
     * Triggers after the cell is saved.
     *
     * @event cellSaved
     */
    cellSaved: base.EmitType<CellSaveArgs>;
    /**
     * Triggers when column resize starts.
     *
     * @event resizeStart
     */
    resizeStart: base.EmitType<ResizeArgs>;
    /**
     * Triggers on column resizing.
     *
     * @event resizing
     */
    resizing: base.EmitType<ResizeArgs>;
    /**
     * Triggers when column resize ends.
     *
     * @event resizeStop
     */
    resizeStop: base.EmitType<ResizeArgs>;
    /**
     * Triggers when any keyboard keys are pressed inside the grid.
     *
     * @event keyPressed
     */
    keyPressed: base.EmitType<KeyboardEventArgs>;
    /**
     * Triggers before data is bound to Grid.
     *
     * @event beforeDataBound
     */
    beforeDataBound: base.EmitType<BeforeDataBoundArgs>;
    /**
     * Triggers before context menu opens.
     *
     * @event contextMenuOpen
     */
    contextMenuOpen: base.EmitType<navigations.BeforeOpenCloseMenuEventArgs>;
    /**
     * Triggers when click on context menu.
     *
     * @event contextMenuClick
     */
    contextMenuClick: base.EmitType<ContextMenuClickEventArgs>;
    /**
     * Triggers before column menu opens.
     *
     * @event columnMenuOpen
     */
    columnMenuOpen: base.EmitType<ColumnMenuOpenEventArgs>;
    /**
     * Triggers when click on column menu.
     *
     * @event columnMenuClick
     */
    columnMenuClick: base.EmitType<navigations.MenuEventArgs>;
    /**
     * Triggers when the check box state change in checkbox column.
     *
     * @event checkBoxChange
     */
    checkBoxChange: base.EmitType<CheckBoxChangeEventArgs>;
    /**
     * Triggers before Grid copy action.
     *
     * @event beforeCopy
     */
    beforeCopy: base.EmitType<BeforeCopyEventArgs>;
    /**
     * Triggers before Grid paste action.
     *
     * @event beforePaste
     */
    beforePaste: base.EmitType<BeforePasteEventArgs>;
    /**
     * Triggers before Grid autoFill action.
     *
     * @event beforeAutoFill
     */
    beforeAutoFill: base.EmitType<BeforeAutoFillEventArgs>;
    /**
     * Triggers when the grid actions such as Sorting, Paging, Grouping etc., are done to get column `dataSource`.
     * In this event,the current view column data and total record count should be assigned to the column `dataSource` based
     * on the action performed.
     *
     * @event columnDataStateChange
     */
    columnDataStateChange: base.EmitType<ColumnDataStateChangeEventArgs>;
    /**
     * Triggers when the grid actions such as Sorting, Paging, Grouping etc., are done.
     * In this event,the current view data and total record count should be assigned to the `dataSource` based on the action performed.
     *
     * @event dataStateChange
     */
    dataStateChange: base.EmitType<DataStateChangeEventArgs>;
    /**
     * Triggers when the grid data is added, deleted and updated.
     * Invoke the done method from the argument to start render after edit operation.
     *
     * @event dataSourceChanged
     */
    dataSourceChanged: base.EmitType<DataSourceChangedEventArgs>;
    /**
     * Triggers before exporting each caption row to PDF/Excel/CSV document. You can also customize the export caption row values.
     *
     * @event exportGroupCaption
     */
    exportGroupCaption: base.EmitType<ExportGroupCaptionEventArgs>;
    /**
     * Triggers when expand the caption row in lazy load grouping.
     *
     * @event lazyLoadGroupExpand
     */
    lazyLoadGroupExpand: base.EmitType<LazyLoadArgs>;
    /**
     * Triggers when collapse the caption row in lazy load grouping.
     *
     * @event lazyLoadGroupCollapse
     */
    lazyLoadGroupCollapse: base.EmitType<LazyLoadArgs>;
    /**
     * Event triggered before a detail template row is removed from the DOM.
     *
     * This event allows executing necessary cleanup operations or additional actions before the detail row is detached.
     *
     * @event beforeDetailTemplateDetach
     */
    beforeDetailTemplateDetach: base.EmitType<DetailTemplateDetachArgs>;
    /**
     * Constructor for creating the component
     *
     * @param {GridModel} options - specifies the options
     * @param {string | HTMLElement} element - specifies the element
     * @hidden
     */
    constructor(options?: GridModel, element?: string | HTMLElement);
    /**
     * Get the properties to be maintained in the persisted state.
     *
     * @returns {string} returns the persist data
     */
    getPersistData(): string;
    /**
     * To provide the array of modules needed for component rendering
     *
     * @returns {base.ModuleDeclaration[]} Returns the module Declaration
     * @hidden
     */
    requiredModules(): base.ModuleDeclaration[];
    extendRequiredModules(modules: base.ModuleDeclaration[]): void;
    private resizeCheck;
    /**
     * For internal use only - Initialize the event handler;
     *
     * @returns {void}
     * @private
     */
    protected preRender(): void;
    private initProperties;
    /**
     * For internal use only - To Initialize the component rendering.
     *
     * @returns {void}
     * @private
     */
    protected render(): void;
    private setInitialFrozenColumnIndex;
    /**
     * By default, grid shows the spinner for all its actions. You can use this method to show spinner at your needed time.
     *
     * @returns {void}
     */
    showSpinner(): void;
    /**
     * By default, grid shows the spinner for all its actions. You can use this method to show spinner at your needed time.
     *
     * @returns {void}
     */
    hideSpinner(): void;
    showMaskRow(axisDirection?: string, dialogElement?: Element): void;
    private getContentMaskColumns;
    private createEmptyMaskTable;
    private createMaskTable;
    private applyMaskRow;
    private createMaskRow;
    private getShimmerTemplate;
    addShimmerEffect(): void;
    private translateMaskRow;
    removeMaskRow(): void;
    private refreshMaskRow;
    private refreshMaskRowColgroupWidth;
    private updateStackedFilter;
    getMediaColumns(): void;
    private pushMediaColumn;
    /**
     * @param {Column} col - specifies the column
     * @returns {void}
     * @hidden
     */
    updateMediaColumns(col: Column): void;
    /**
     * @param {number} columnIndex - specifies the column index
     * @param {MediaQueryList} e - specifies the MediaQueryList
     * @returns {void}
     * @hidden
     */
    mediaQueryUpdate(columnIndex: number, e?: MediaQueryList): void;
    private refreshMediaCol;
    private removeMediaListener;
    /**
     * For internal use only - Initialize the event handler
     *
     * @returns {void}
     * @private
     */
    protected eventInitializer(): void;
    /**
     * Destroys the component (detaches/removes all event handlers, attributes, classes, and empties the component element).
     *
     * @function destroy
     * @returns {void}
     */
    destroy(): void;
    private destroyDependentModules;
    /**
     * For internal use only - Get the module name.
     *
     * @returns {string} returns the module name
     * @private
     */
    protected getModuleName(): string;
    private enableBoxSelection;
    private setCSSClass;
    /**
     * Called internally if any of the property value changed.
     *
     * @param {GridModel} newProp - Defines new properties
     * @param {GridModel} oldProp - Defines old properties
     * @returns {void}
     * @hidden
     */
    onPropertyChanged(newProp: GridModel, oldProp: GridModel): void;
    private extendedPropertyChange;
    private maintainSelection;
    /**
     * @param {Object} prop - Defines the property
     * @param {boolean} muteOnChange - Defines the mute on change
     * @returns {void}
     * @private
     */
    setProperties(prop: Object, muteOnChange?: boolean): void;
    /**
     * @hidden
     * @returns {number} - Returns the tables count
     */
    getTablesCount(): number;
    /**
     * @hidden
     * @returns {void}
     */
    updateDefaultCursor(): void;
    private updateColumnModel;
    getFrozenLeftCount(): number;
    isFrozenGrid(): boolean;
    getFrozenMode(): freezeMode;
    private updateLockableColumns;
    private checkLockColumns;
    /**
     * @param {string} position - specifies position
     * @returns {number} returns the width
     * @hidden
     */
    leftrightColumnWidth(position?: string): number;
    /**
     * Gets the columns from the Grid.
     *
     * @param {boolean} isRefresh - Defines the boolean whether to refresh
     * @returns {Column[]} - returns the column
     */
    getColumns(isRefresh?: boolean): Column[];
    /**
     * @private
     * @param {string} stackedHeader - Defines the stacked header
     * @param {Column[]} col - Defines the column
     * @returns {Column} Returns the Column
     */
    getStackedHeaderColumnByHeaderText(stackedHeader: string, col: Column[]): Column;
    /**
     * @private
     * @returns {number[]} Returns the column indexes
     */
    getColumnIndexesInView(): number[];
    /**
     * @private
     * @returns {data.Query} - returns the query
     */
    getQuery(): data.Query;
    /**
     * @private
     * @returns {object} - returns the locale constants
     */
    getLocaleConstants(): Object;
    /**
     * @param {number[]} indexes - specifies the indexes
     * @returns {void}
     * @private
     */
    setColumnIndexesInView(indexes: number[]): void;
    /**
     * Gets the visible columns from the Grid.
     *
     * @returns {Column[]} returns the column
     */
    getVisibleColumns(): Column[];
    /**
     * Gets the header div of the Grid.
     *
     * @returns {Element} - Returns the element
     */
    getHeaderContent(): Element;
    /**
     * Sets the header div of the Grid to replace the old header.
     *
     * @param  {Element} element - Specifies the Grid header.
     *
     * @returns {void}
     */
    setGridHeaderContent(element: Element): void;
    /**
     * Gets the content table of the Grid.
     *
     * @returns {Element} - Returns the element
     */
    getContentTable(): Element;
    /**
     * Sets the content table of the Grid to replace the old content table.
     *
     * @param  {Element} element - Specifies the Grid content table.
     *
     * @returns {void}
     */
    setGridContentTable(element: Element): void;
    /**
     * Gets the content div of the Grid.
     *
     * @returns {Element} Returns the element
     */
    getContent(): Element;
    /**
     * Sets the content div of the Grid to replace the old Grid content.
     *
     * @param  {Element} element - Specifies the Grid content.
     *
     * @returns {void}
     */
    setGridContent(element: Element): void;
    /**
     * Gets the header table element of the Grid.
     *
     * @returns {Element} returns the element
     */
    getHeaderTable(): Element;
    /**
     * Sets the header table of the Grid to replace the old one.
     *
     * @param  {Element} element - Specifies the Grid header table.
     *
     * @returns {void}
     */
    setGridHeaderTable(element: Element): void;
    /**
     * Gets the footer div of the Grid.
     *
     * @returns {Element} returns the element
     */
    getFooterContent(): Element;
    /**
     * Gets the footer table element of the Grid.
     *
     * @returns {Element} returns the element
     */
    getFooterContentTable(): Element;
    /**
     * Gets the pager of the Grid.
     *
     * @returns {Element} returns the element
     */
    getPager(): Element;
    /**
     * Sets the pager of the Grid to replace the old pager.
     *
     * @param  {Element} element - Specifies the Grid pager.
     *
     * @returns {void}
     */
    setGridPager(element: Element): void;
    /**
     * Gets a row by index.
     *
     * @param  {number} index - Specifies the row index.
     *
     * @returns {Element} returns the element
     */
    getRowByIndex(index: number): Element;
    /**
     * Gets a movable tables row by index.
     *
     * @param  {number} index - Specifies the row index.
     *
     * @returns {Element} returns the element
     * @deprecated This method has been marked as deprecated. It is recommended to utilize the `getRowByIndex()` method instead, and apply the `e-unfreeze` class to select the movable cell within the tr element.
     */
    getMovableRowByIndex(index: number): Element;
    /**
     * Gets a frozen tables row by index.
     *
     * @param  {number} index - Specifies the row index.
     * @returns {Element} returns the element
     * @deprecated This method has been marked as deprecated. It is recommended to utilize the `getRowByIndex()` method instead, and apply the `e-leftfreeze` class to select the frozen cell within the tr element.
     */
    getFrozenRowByIndex(index: number): Element;
    /**
     * Gets all the data rows of the Grid.
     *
     * @returns {Element[]} returns the element
     */
    getRows(): Element[];
    /**
     * Gets a frozen right tables row element by index.
     *
     * @param  {number} index - Specifies the row index.
     * @returns {Element} returns the element
     * @deprecated This method has been marked as deprecated. It is recommended to utilize the `getRowByIndex()` method instead, and apply the `e-rightfreeze` class to select the frozen right cell within the tr element.
     */
    getFrozenRightRowByIndex(index: number): Element;
    /**
     * Get a row information based on cell
     *
     * @param {Element | EventTarget} target - specifies the element
     *
     * @returns {RowInfo} returns the row info
     */
    getRowInfo(target: Element | EventTarget): RowInfo;
    /**
     * Gets the Grid's movable content rows from frozen grid.
     *
     * @returns {Element[]} returns the element
     * @deprecated This method has been marked as deprecated. It is recommended to utilize the `getRows()` method instead, and apply the `e-unfreeze` class to select the movable cell within the tr element.
     */
    getMovableRows(): Element[];
    /**
     * Gets the Grid's frozen right content rows from frozen grid.
     *
     * @returns {Element[]} returns the element
     * @deprecated This method has been marked as deprecated. It is recommended to utilize the `getRows()` method instead, and apply the `e-rightfreeze` class to select the frozen right cell within the tr element.
     */
    getFrozenRightRows(): Element[];
    /**
     * Gets all the Grid's data rows.
     *
     * @returns {Element[]} returns the element
     */
    getDataRows(): Element[];
    /**
     * @param {boolean} includeAdd - specifies includeAdd
     * @returns {Element[]} returns the element
     * @hidden
     */
    getAllDataRows(includeAdd?: boolean): Element[];
    /**
     * @param {HTMLElement[]} fRows - Defines the frozen Rows
     * @param {HTMLElement[]} mrows - Defines the movable Rows
     * @returns {HTMLElement[]} Returns the element
     * @hidden
     */
    addMovableRows(fRows: HTMLElement[], mrows: HTMLElement[]): HTMLElement[];
    private generateDataRows;
    /**
     * Gets all the Grid's movable table data rows.
     *
     * @returns {Element[]} Returns the element
     * @deprecated This method has been marked as deprecated. It is recommended to utilize the `getDataRows()` method instead, and apply the `e-unfreeze` class to select the movable cell within the tr element.
     */
    getMovableDataRows(): Element[];
    /**
     * @param {boolean} includeAdd Defines the include add in boolean
     * @returns {Element[]} Returns the element
     * @deprecated This method has been marked as deprecated. It is recommended to utilize the `getAllDataRows()` method instead, and apply the `e-unfreeze` class to select the movable cell within the tr element.
     * @hidden
     */
    getAllMovableDataRows(includeAdd?: boolean): Element[];
    /**
     * Gets all the Grid's frozen table data rows.
     *
     * @returns {Element[]} returns the element
     * @deprecated This method has been marked as deprecated. It is recommended to utilize the `getDataRows()` method instead, and apply the `e-leftfreeze` class to select the frozen cell within the tr element.
     */
    getFrozenDataRows(): Element[];
    /**
     * @param {boolean} includeAdd Defines the include add in boolean
     * @returns {Element[]} Returns the element
     * @deprecated This method has been marked as deprecated. It is recommended to utilize the `getAllDataRows()` method instead, and apply the `e-leftfreeze` class to select the frozen cell within the tr element.
     * @hidden
     */
    getAllFrozenDataRows(includeAdd?: boolean): Element[];
    /**
     * Gets all the Grid's frozen right table data rows.
     *
     * @returns {Element[]} Returns the Element
     * @deprecated This method has been marked as deprecated. It is recommended to utilize the `getDataRows()` method instead, and apply the `e-rightfreeze` class to select the frozen right cell within the tr element.
     */
    getFrozenRightDataRows(): Element[];
    /**
     * @param {boolean} includeAdd Defines the include add in boolean
     * @returns {Element[]} Returns the element
     * @deprecated This method has been marked as deprecated. It is recommended to utilize the `getAllDataRows()` method instead, and apply the `e-rightfreeze` class to select the frozen right cell within the tr element.
     * @hidden
     */
    getAllFrozenRightDataRows(includeAdd?: boolean): Element[];
    /**
     * Updates particular cell value based on the given primary key value.
     * > Primary key column must be specified using `columns.isPrimaryKey` property.
     *
     * @param {string| number} key - Specifies the PrimaryKey value of dataSource.
     * @param {string } field - Specifies the field name which you want to update.
     * @param {string | number | boolean | Date} value - To update new value for the particular cell.
     *
     * @returns {void}
     */
    setCellValue(key: string | number, field: string, value: string | number | boolean | Date | null): void;
    /**
     * @param {string} columnUid - Defines column uid
     * @param {boolean} renderTemplates - Defines renderTemplates need to invoke
     * @returns {void}
     * @hidden
     */
    refreshReactColumnTemplateByUid(columnUid: string, renderTemplates?: boolean): void;
    /**
     * @param {Element[] | NodeListOf<Element>} rows - Defines the rows
     * @param {boolean} isChildGrid - Defines whether it is a Hierarchy Grid.
     * @param {boolean} isFrozen - Defines whether it is a Frozen Grid
     * @returns {void}
     * @hidden
     */
    refreshReactTemplateTD(rows?: Element[] | NodeListOf<Element>, isChildGrid?: boolean, isFrozen?: boolean): void;
    /**
     * @returns {void}
     * @hidden
     */
    refreshGroupCaptionFooterTemplate(): void;
    /**
     * @param {string} columnUid - Defines column uid
     * @returns {void}
     * @hidden
     */
    refreshReactHeaderTemplateByUid(columnUid: string): void;
    /**
     * Updates and refresh the particular row values based on the given primary key value.
     * > Primary key column must be specified using `columns.isPrimaryKey` property.
     *
     * @param {string| number} key - Specifies the PrimaryKey value of dataSource.
     * @param {Object} rowData - To update new data for the particular row.
     *
     * @returns {void}
     */
    setRowData(key: string | number, rowData?: Object): void;
    private setFrozenRowData;
    /**
     * Gets a cell by row and column index.
     *
     * @param  {number} rowIndex - Specifies the row index.
     * @param  {number} columnIndex - Specifies the column index.
     *
     * @returns {Element} Returns the Element
     */
    getCellFromIndex(rowIndex: number, columnIndex: number): Element;
    /**
     * Gets a movable table cell by row and column index.
     *
     * @param  {number} rowIndex - Specifies the row index.
     * @param  {number} columnIndex - Specifies the column index.
     *
     * @returns {Element} Returns the Element
     * @deprecated This method is deprecated. Use `getCellFromIndex()` method instead
     */
    getMovableCellFromIndex(rowIndex: number, columnIndex: number): Element;
    /**
     * Gets a frozen right table cell by row and column index.
     *
     * @param  {number} rowIndex - Specifies the row index.
     * @param  {number} columnIndex - Specifies the column index.
     * @returns {Element} Returns the Element
     * @deprecated This method is deprecated. Use `getCellFromIndex()` method instead.
     */
    getFrozenRightCellFromIndex(rowIndex: number, columnIndex: number): Element;
    /**
     * Gets a column header by column index.
     *
     * @param  {number} index - Specifies the column index.
     *
     * @returns {Element} Returns the Element
     */
    getColumnHeaderByIndex(index: number): Element;
    /**
     * Gets a movable column header by column index.
     *
     * @param  {number} index - Specifies the column index.
     * @returns {Element} Returns the Element
     * @deprecated This method is deprecated. Use `getColumnHeaderByIndex()` method instead.
     */
    getMovableColumnHeaderByIndex(index: number): Element;
    /**
     * Gets a frozen right column header by column index.
     *
     * @param  {number} index - Specifies the column index.
     * @returns {Element} Returns the Element
     * @deprecated This method is deprecated. Use `getColumnHeaderByIndex()` method instead.
     */
    getFrozenRightColumnHeaderByIndex(index: number): Element;
    /**
     * Gets a frozen left column header by column index.
     *
     * @param  {number} index - Specifies the column index.
     * @returns {Element} Returns the Element
     * @deprecated This method is deprecated. Use `getColumnHeaderByIndex()` method instead.
     */
    getFrozenLeftColumnHeaderByIndex(index: number): Element;
    /**
     * @param {string} uid - Defines the uid
     * @returns {Row<Column>} Returns the row object
     * @hidden
     */
    getRowObjectFromUID(uid: string): Row<Column>;
    private rowObject;
    /**
     * Get an array of row objects.
     *
     * @returns {Row<Column>[]} Returns the Row object
     */
    getRowsObject(): Row<Column>[];
    /**
     * @hidden
     * @returns {Row<Column>[]} Returns the Row object
     * @deprecated  This method is deprecated. Use `getRowsObject()` method instead.
     */
    getMovableRowsObject(): Row<Column>[];
    /**
     * @hidden
     * @returns {Row<Column>[]} Returns the Row object
     * @deprecated This method is deprecated. Use `getRowsObject()` method instead.
     */
    getFrozenRightRowsObject(): Row<Column>[];
    /**
     * Gets a column header by column name.
     *
     * @param  {string} field - Specifies the column name.
     *
     * @returns {Element} - Returns the element
     */
    getColumnHeaderByField(field: string): Element;
    /**
     * Gets a column header by UID.
     *
     * @param {string} uid - Specifies the column uid.
     *
     * @returns {Element} - Returns the element
     */
    getColumnHeaderByUid(uid: string): Element;
    /**
     * @hidden
     * @param {number} index - Defines the index
     * @returns {Column} Returns the column
     */
    getColumnByIndex(index: number): Column;
    /**
     * Gets a Column by column name.
     *
     * @param  {string} field - Specifies the column name.
     *
     * @returns {Column} Returns the column
     */
    getColumnByField(field: string): Column;
    /**
     * Gets a column index by column name.
     *
     * @param  {string} field - Specifies the column name.
     *
     * @returns {number} Returns the index by field
     */
    getColumnIndexByField(field: string): number;
    /**
     * Gets a column by UID.
     *
     * @param  {string} uid - Specifies the column UID.
     * @param  {boolean} isColumns - Defines the all columns.
     *
     * @returns {Column} Returns the column
     */
    getColumnByUid(uid: string, isColumns?: boolean): Column;
    /**
     * @param {Column[]} columns - Defines the columns
     * @param {Column[]} stackedColumn - Defines the stacked columns
     * @returns {Column[]} Returns the columns
     * @hidden
     */
    getStackedColumns(columns: Column[], stackedColumn?: Column[]): Column[];
    /**
     * Gets a column index by UID.
     *
     * @param  {string} uid - Specifies the column UID.
     *
     * @returns {number} Returns the column by index
     */
    getColumnIndexByUid(uid: string): number;
    /**
     * Gets UID by column name.
     *
     * @param  {string} field - Specifies the column name.
     *
     * @returns {string} Returns the column by field
     */
    getUidByColumnField(field: string): string;
    /**
     * Gets column index by column uid value.
     *
     * @private
     * @param  {string} uid - Specifies the column uid.
     * @returns {number} Returns the column by field
     */
    getNormalizedColumnIndex(uid: string): number;
    /**
     * Gets indent cell count.
     *
     * @private
     * @returns {number} Returns the indent count
     */
    getIndentCount(): number;
    /**
     * Gets the collection of column fields.
     *
     * @returns {string[]} Returns the Field names
     */
    getColumnFieldNames(): string[];
    /**
     * Gets a compiled row template.
     *
     * @returns {Function} Returns the row TEmplate
     * @private
     */
    getRowTemplate(): Function;
    /**
     * Gets a compiled empty Record template.
     *
     * @returns {Function} Returns the empty Record template
     * @private
     */
    getEmptyRecordTemplate(): Function;
    /**
     * Gets a compiled detail row template.
     *
     * @private
     * @returns {Function} Returns the Detail template
     */
    getDetailTemplate(): Function;
    /**
     * Gets a compiled dialog edit template.
     *
     * @private
     * @returns {Function} Returns the Edit template
     */
    getEditTemplate(): Function;
    /**
     * Gets a compiled dialog edit header template.
     *
     * @private
     * @returns {Function} returns template function
     */
    getEditHeaderTemplate(): Function;
    /**
     * Gets a compiled dialog edit footer template.
     *
     * @private
     * @returns {Function} Returns the Footer template
     */
    getEditFooterTemplate(): Function;
    /**
     * Gets a compiled column chooser template.
     *
     * @private
     * @returns {Function} Returns the template
     */
    getColumnChooserTemplate(): Function;
    /**
     * Gets a compiled column chooser header template.
     *
     * @private
     * @returns {Function} returns the header template
     */
    getColumnChooserHeaderTemplate(): Function;
    /**
     * Gets a compiled column chooser footer template.
     *
     * @private
     * @returns {Function} Returns the Footer template
     */
    getColumnChooserFooterTemplate(): Function;
    /**
     * Get the names of the primary key columns of the Grid.
     *
     * @returns {string[]} Returns the field names
     */
    getPrimaryKeyFieldNames(): string[];
    /**
     * Refreshes the Grid header and content.
     *
     * @returns {void}
     */
    refresh(): void;
    /**
     * Refreshes the Grid header.
     *
     * @returns {void}
     */
    refreshHeader(): void;
    /**
     * Gets the collection of selected rows.
     *
     * @returns {Element[]} Returns the element
     */
    getSelectedRows(): Element[];
    /**
     * Gets the collection of selected row indexes.
     *
     * @returns {number[]} Returns the Selected row indexes
     */
    getSelectedRowIndexes(): number[];
    /**
     * Gets the collection of selected row and cell indexes.
     *
     * @returns {number[]} Returns the Selected row cell indexes
     */
    getSelectedRowCellIndexes(): ISelectedCell[];
    /**
     * Gets the collection of selected records.
     *
     * @returns {Object[]} Returns the selected records
     * @isGenericType true
     */
    getSelectedRecords(): Object[];
    /**
     * Gets the collection of selected columns uid.
     *
     * @returns {string[]} Returns the selected column uid
     * @isGenericType true
     */
    getSelectedColumnsUid(): string[];
    /**
     * Returns the data module used by the grid.
     *
     * Use this to access the current applied queries and data related configuration settings for the grid.
     *
     * @returns {Data} The data module currently used by the grid.
     */
    getDataModule(): Data;
    /**
     * Shows a column by its column name.
     *
     * @param  {string|string[]} keys - Defines a single or collection of column names.
     * @param  {string} showBy - Defines the column key either as field name or header text.
     *
     * @returns {void}
     */
    showColumns(keys: string | string[], showBy?: string): void;
    /**
     * Hides a column by column name.
     *
     * @param  {string|string[]} keys - Defines a single or collection of column names.
     * @param  {string} hideBy - Defines the column key either as field name or header text.
     *
     * @returns {void}
     */
    hideColumns(keys: string | string[], hideBy?: string): void;
    /**
     * @hidden
     * @returns {number} Returns the Frozen column
     */
    getFrozenColumns(): number;
    /**
     * @hidden
     * @returns {number} Returns the Frozen Right column count
     */
    getFrozenRightColumnsCount(): number;
    /**
     * @hidden
     * @returns {number} Returns the Frozen Left column
     */
    getFrozenLeftColumnsCount(): number;
    /**
     * @hidden
     * @returns {number} Returns the movable column count
     */
    getMovableColumnsCount(): number;
    private updateFrozenColumnsWidth;
    private refreshSplitFrozenColumn;
    /**
     * @hidden
     * @returns {void}
     */
    setFrozenCount(): void;
    /**
     * @hidden
     * @returns {number} Returns the visible Frozen left count
     */
    getVisibleFrozenLeftCount(): number;
    /**
     * @hidden
     * @returns {number} Returns the visible Frozen Right count
     */
    getVisibleFrozenRightCount(): number;
    /**
     * @hidden
     * @returns {number} Returns the visible movable count
     */
    getVisibleMovableCount(): number;
    /**
     * @hidden
     * @returns {Column[]} Returns the column
     */
    getFrozenRightColumns(): Column[];
    /**
     * @hidden
     * @returns {Column[]} Returns the column
     */
    getFrozenLeftColumns(): Column[];
    /**
     * @hidden
     * @returns {Column[]} Returns the column
     */
    getMovableColumns(): Column[];
    private splitStackedColumns;
    private pushStackedColumns;
    private pushallcol;
    private resetStackedColumns;
    private splitFrozenCount;
    private removeBorder;
    private isVisibleColumns;
    private lastVisibleLeftCol;
    private firstVisibleRightCol;
    private frozenLeftBorderColumns;
    private frozenRightBorderColumns;
    /**
     * @hidden
     * @returns {number} Returns the visible frozen columns count
     */
    getVisibleFrozenColumns(): number;
    /**
     * Get the current Filter operator and field.
     *
     * @returns {FilterUI} Returns the filter UI
     */
    getFilterUIInfo(): FilterUI;
    private getVisibleFrozenColumnsCount;
    private getVisibleFrozenCount;
    private getFrozenCount;
    /**
     * Navigates to the specified target page.
     *
     * @param  {number} pageNo - Defines the page number to navigate.
     *
     * @returns {void}
     */
    goToPage(pageNo: number): void;
    /**
     * Defines the text of external message.
     *
     * @param  {string} message - Defines the message to update.
     *
     * @returns {void}
     */
    updateExternalMessage(message: string): void;
    /**
     * Sorts a column with the given options.
     *
     * @param {string} columnName - Defines the column name to be sorted.
     * @param {SortDirection} direction - Defines the direction of sorting field.
     * @param {boolean} isMultiSort - Specifies whether the previous sorted columns are to be maintained.
     *
     * @returns {void}
     */
    sortColumn(columnName: string, direction: SortDirection, isMultiSort?: boolean): void;
    /**
     * Remove the existing columns along with the grid actions like sorting, filtering, searching, grouping, aggregate, etc., and grid will refresh with new columns based on the updated new data source.
     * > * If no columns are specified while changing the data source, then the columns are auto generated in the Grid based on the list of columns in the updated data source.
     *
     * @param {Object | data.DataManager | DataResult} dataSource -  Assign the new datasource.
     * @param {Column[] | string[] | ColumnModel[]} columns - Defines columns.
     * @returns {void}
     *
     *
     * ```typescript
     * <button id="btn">change dataSource </button>
     * <div id="Grid"></div>
     * <script>
     * let gridObj$: Grid = new Grid({
     *     dataSource: employeeData,  // you can define the datamanager here if you are binding a data through datamanager
     *     columns: [
     *         { field: 'OrderID', headerText: 'Order ID', width:100 },
     *         { field: 'EmployeeID', headerText: 'Employee ID' }],
     * });
     * gridObj.appendTo('#Grid');
     * document.getElementById('btn').addEventListener("click", function(){
     * let newColumn: [
     *     { field: 'CustomerID', headerText: 'Customer ID', width:100 },
     *     { field: 'FirstName', headerText: 'Name' }];
     * gridObj.changeDataSource(customerData, newColumn);
     * });
     * </script>
     * ```
     *
     */
    changeDataSource(dataSource?: Object | data.DataManager | DataResult, columns?: Column[] | string[] | ColumnModel1[]): void;
    /**
     * Clears all the sorted columns of the Grid.
     *
     * @returns {void}
     */
    clearSorting(): void;
    /**
     * Remove sorted column by field name.
     *
     * @param {string} field - Defines the column field name to remove sort.
     * @returns {void}
     * @hidden
     */
    removeSortColumn(field: string): void;
    /**
     * @hidden
     * @returns {void}
     */
    clearGridActions(): void;
    /**
     * Filters grid row by column name with the given options.
     *
     * @param  {string} fieldName - Defines the field name of the column.
     * @param  {string} filterOperator - Defines the operator to filter records.
     * @param  {string | number | Date | boolean} filterValue - Defines the value used to filter records.
     * @param  {string} predicate - Defines the relationship between one filter query and another by using AND or OR predicate.
     * @param  {boolean} matchCase - If match case is set to true, the grid filters the records with exact match. if false, it filters case
     * insensitive records (uppercase and lowercase letters treated the same).
     * @param  {boolean} ignoreAccent - If ignoreAccent set to true,
     * then filter ignores the diacritic characters or accents while filtering.
     * @param  {string} actualFilterValue - Defines the actual filter value for the filter column.
     * @param  {string} actualOperator - Defines the actual filter operator for the filter column.
     *
     * @returns {void}
     */
    filterByColumn(fieldName: string, filterOperator: string, filterValue: string | number | Date | boolean | number[] | string[] | Date[] | boolean[] | null, predicate?: string, matchCase?: boolean, ignoreAccent?: boolean, actualFilterValue?: string, actualOperator?: string): void;
    /**
     * Clears all the filtered rows of the Grid.
     *
     * @param {string[]} fields - Defines the Fields
     * @returns {void}
     */
    clearFiltering(fields?: string[]): void;
    /**
     * Removes filtered column by field name.
     *
     * @param  {string} field - Defines column field name to remove filter.
     * @param  {boolean} isClearFilterBar -  Specifies whether the filter bar value needs to be cleared.
     * @returns {void}
     * @hidden
     */
    removeFilteredColsByField(field: string, isClearFilterBar?: boolean): void;
    /**
     * Selects a row by given index.
     *
     * @param  {number} index - Defines the row index.
     * @param  {boolean} isToggle - If set to true, then it toggles the selection.
     *
     * @returns {void}
     */
    selectRow(index: number, isToggle?: boolean): void;
    /**
     * Selects a collection of rows by indexes.
     *
     * @param  {number[]} rowIndexes - Specifies the row indexes.
     *
     * @returns {void}
     */
    selectRows(rowIndexes: number[]): void;
    /**
     * Deselects the current selected rows and cells.
     *
     * @returns {void}
     */
    clearSelection(): void;
    /**
     * Selects a cell by the given index.
     *
     * @param  {IIndex} cellIndex - Defines the row and column indexes.
     * @param  {boolean} isToggle - If set to true, then it toggles the selection.
     *
     * @returns {void}
     */
    selectCell(cellIndex: IIndex, isToggle?: boolean): void;
    /**
     * Selects a range of cells from start and end indexes.
     *
     * @param  {IIndex} startIndex - Specifies the row and column's start index.
     * @param  {IIndex} endIndex - Specifies the row and column's end index.
     *
     * @returns {void}
     */
    selectCellsByRange(startIndex: IIndex, endIndex?: IIndex): void;
    /**
     * Searches Grid records using the given key.
     * You can customize the default search option by using the
     * [`searchSettings`](./#searchsettings/).
     *
     * @param  {string} searchString - Defines the key.
     *
     * @returns {void}
     */
    search(searchString: string): void;
    /**
     * By default, prints all the pages of the Grid and hides the pager.
     * > You can customize print options using the
     * [`printMode`](./#printmode).
     *
     * @returns {void}
     */
    print(): void;
    /**
     * Delete a record with Given options. If fieldname and data is not given then grid will delete the selected record.
     * > `editSettings.allowDeleting` should be true.
     *
     * @param {string} fieldname - Defines the primary key field, 'Name of the column'.
     * @param {Object} data - Defines the JSON data of the record to be deleted.
     * @returns {void}
     */
    deleteRecord(fieldname?: string, data?: Object): void;
    /**
     * Starts edit the selected row. At least one row must be selected before invoking this method.
     * `editSettings.allowEditing` should be true.
     * {% codeBlock src='grid/startEdit/index.md' %}{% endcodeBlock %}
     *
     * @returns {void}
     */
    startEdit(): void;
    /**
     * If Grid is in editable state, you can save a record by invoking endEdit.
     *
     * @returns {void}
     */
    endEdit(): void;
    /**
     * Cancels edited state.
     *
     * @returns {void}
     */
    closeEdit(): void;
    /**
     * Adds a new record to the Grid. Without passing parameters, it adds empty rows.
     * > `editSettings.allowEditing` should be true.
     *
     * @param {Object} data - Defines the new add record data.
     * @param {number} index - Defines the row index to be added
     * @returns {void}
     */
    addRecord(data?: Object, index?: number): void;
    /**
     * Delete any visible row by TR element.
     *
     * @param {HTMLTableRowElement} tr - Defines the table row element.
     * @returns {void}
     */
    deleteRow(tr: HTMLTableRowElement): void;
    /**
     * Changes a particular cell into edited state based on the row index and field name provided in the `batch` mode.
     *
     * @param {number} index - Defines row index to edit a particular cell.
     * @param {string} field - Defines the field name of the column to perform batch edit.
     *
     * @returns {void}
     */
    editCell(index: number, field: string): void;
    /**
     * Saves the cell that is currently edited. It does not save the value to the DataSource.
     *
     * @returns {void}
     * {% codeBlock src='grid/saveCell/index.md' %}{% endcodeBlock %}
     */
    saveCell(): void;
    /**
     * To update the specified cell by given value without changing into edited state.
     *
     * @param {number} rowIndex Defines the row index.
     * @param {string} field Defines the column field.
     * @param {string | number | boolean | Date} value - Defines the value to be changed.
     *
     * @returns {void}
     */
    updateCell(rowIndex: number, field: string, value: string | number | boolean | Date): void;
    /**
     * To update the specified row by given values without changing into edited state.
     *
     * {% codeBlock src='grid/updateRow/index.md' %}{% endcodeBlock %}
     *
     * @param {number} index Defines the row index.
     * @param {Object} data Defines the data object to be updated.
     *
     * @returns {void}
     */
    updateRow(index: number, data: Object): void;
    /**
     * Gets the added, edited,and deleted data before bulk save to the DataSource in batch mode.
     *
     * @returns {Object} Returns the batch changes
     */
    getBatchChanges(): Object;
    /**
     * Enables or disables ToolBar items.
     *
     * @param {string[]} items - Defines the collection of itemID of ToolBar items.
     * @param {boolean} isEnable - Defines the items to be enabled or disabled.
     *
     * @returns {void}
     */
    enableToolbarItems(items: string[], isEnable: boolean): void;
    /**
     * Copy the selected rows or cells data into clipboard.
     *
     * @param {boolean} withHeader - Specifies whether the column header text needs to be copied along with rows or cells.
     * @returns {void}
     */
    copy(withHeader?: boolean): void;
    /**
     * @hidden
     * @returns {void}
     */
    recalcIndentWidth(): void;
    /**
     * @hidden
     * @returns {void}
     */
    resetIndentWidth(): void;
    /**
     * @hidden
     * @returns {boolean} Returns isRowDragable
     */
    isRowDragable(): boolean;
    /**
     * Changes the Grid column positions by field names.
     *
     * @param  {string} fromFName - Defines the origin field name.
     * @param  {string} toFName - Defines the destination field name.
     *
     * @returns {void}
     */
    reorderColumns(fromFName: string | string[], toFName: string): void;
    /**
     * Changes the Grid column positions by field index. If you invoke reorderColumnByIndex multiple times,
     * then you won't get the same results every time.
     *
     * @param  {number} fromIndex - Defines the origin field index.
     * @param  {number} toIndex - Defines the destination field index.
     *
     * @returns {void}
     */
    reorderColumnByIndex(fromIndex: number, toIndex: number): void;
    /**
     * Changes the Grid column positions by field index. If you invoke reorderColumnByTargetIndex multiple times,
     * then you will get the same results every time.
     *
     * @param  {string} fieldName - Defines the field name.
     * @param  {number} toIndex - Defines the destination field index.
     *
     * @returns {void}
     */
    reorderColumnByTargetIndex(fieldName: string | string[], toIndex: number): void;
    /**
     * Changes the Grid Row position with given indexes.
     *
     * @param  {number} fromIndexes - Defines the origin Indexes.
     * @param  {number} toIndex - Defines the destination Index.
     *
     * @returns {void}
     */
    reorderRows(fromIndexes: number[], toIndex: number): void;
    /**
     * @param {ReturnType} e - Defines the Return type
     * @returns {void}
     * @hidden
     */
    refreshDataSource(e: ReturnType): void;
    /**
     * @param {boolean} enable -Defines the enable
     * @returns {void}
     * @hidden
     */
    disableRowDD(enable: boolean): void;
    /**
     * Changes the column width to automatically fit its content to ensure that the width shows the content without wrapping/hiding.
     * > * This method ignores the hidden columns.
     * > * Uses the `autoFitColumns` method in the `dataBound` event to resize at initial rendering.
     * > * By specifying the start row index and end row index, providing the range within which the maximum width for that column should be considered when applying `autoFitColumns`.
     * > * The width of header rows is always calculated. If the width of a header row exceeds the specified range, its width will be allocated to the specific content rows.
     *
     * @param  {string |string[]} fieldNames - Defines the column names.
     * @param  {number} startRowIndex - Specifies the start index of the content row.
     * @param  {number} endRowIndex - Specifies the end index of content row.
     * @returns {void}
     *
     *
     * ```typescript
     * <div id="Grid"></div>
     * <script>
     * let gridObj$: Grid = new Grid({
     *     dataSource: employeeData,
     *     columns: [
     *         { field: 'OrderID', headerText: 'Order ID', width:100 },
     *         { field: 'EmployeeID', headerText: 'Employee ID' }],
     *     dataBound: () => gridObj.autoFitColumns('EmployeeID');
     * });
     * gridObj.appendTo('#Grid');
     * </script>
     * ```
     *
     */
    autoFitColumns(fieldNames?: string | string[], startRowIndex?: number, endRowIndex?: number): void;
    /**
     * @returns {void}
     * @hidden
     */
    preventAdjustColumns(): void;
    private restoreAdjustColumns;
    private widthUnit;
    private defaultIndentWidth;
    private isPercentageWidthGrid;
    /**
     * @param {number} x - Defines the number
     * @param {number} y - Defines the number
     * @param {Element} target - Defines the Element
     * @returns {void}
     * @hidden
     */
    createColumnchooser(x: number, y: number, target: Element): void;
    private initializeServices;
    private processModel;
    private initForeignColumn;
    private enableVerticalRendering;
    private gridRender;
    dataReady(): void;
    private updateRTL;
    private createGridPopUpElement;
    private updateGridLines;
    private updateResizeLines;
    /**
     * The function is used to apply text wrap
     *
     * @returns {void}
     * @hidden
     */
    applyTextWrap(): void;
    /**
     * The function is used to remove text wrap
     *
     * @returns {void}
     * @hidden
     */
    removeTextWrap(): void;
    /**
     * The function is used to add Tooltip to the grid cell that has ellipsiswithtooltip clip mode.
     *
     * @returns {void}
     * @hidden
     */
    createTooltip(): void;
    /**
     * Initiates a complete refresh of the Grid's column and layout.
     *
     * This method forces a full re-render of the Grid, ensuring that any dynamic
     * changes to columns or layout are immediately reflected.
     *
     * @returns {void}
     */
    freezeRefresh(): void;
    private getTooltipStatus;
    private mouseMoveHandler;
    private isEllipsisTooltip;
    private scrollHandler;
    /**
     * To create table for ellipsiswithtooltip
     *
     * @param {Element} table - Defines the table
     * @param {string} tag - Defines the tag
     * @param {string} type - Defines the type
     * @returns {HTMLDivElement} Returns the HTML div ELement
     * @hidden
     */
    protected createTable(table: Element, tag: string, type: string): HTMLDivElement;
    private onKeyPressed;
    /**
     * Binding events to the element while component creation.
     *
     * @hidden
     * @returns {void}
     */
    wireEvents(): void;
    /**
     * Unbinding events from the element while component destroy.
     *
     * @hidden
     * @returns {void}
     */
    unwireEvents(): void;
    /**
     * @hidden
     * @returns {void}
     */
    addListener(): void;
    /**
     * @hidden
     * @returns {void}
     */
    removeListener(): void;
    /**
     * Get current visible data of grid.
     *
     * @returns {Object[]} Returns the current view records
     *
     * @isGenericType true
     */
    getCurrentViewRecords(): Object[];
    private mouseClickHandler;
    private checkEdit;
    private dblClickHandler;
    private focusOutHandler;
    private isChildGrid;
    /**
     * @param {Object} persistedData - Defines the persisted data
     * @returns {void}
     * @hidden
     */
    mergePersistGridData(persistedData?: Object): void;
    private mergeColumns;
    /**
     * @hidden
     * @returns {boolean} Returns the isDetail
     */
    isDetail(): boolean;
    private isCommandColumn;
    private isForeignKeyEnabled;
    private keyPressHandler;
    private keyDownHandler;
    private keyActionHandler;
    /**
     * @param {Function[]} modules - Defines the modules
     * @returns {void}
     * @hidden
     */
    setInjectedModules(modules: Function[]): void;
    private updateColumnObject;
    private refreshFrozenPosition;
    /**
     * Gets the foreign columns from Grid.
     *
     * @returns {Column[]} Returns Foreign key column
     */
    getForeignKeyColumns(): Column[];
    /**
     * @hidden
     * @param {boolean} accurateHeight - Defines the accurate row height
     * @returns {number} Returns row height
     */
    getRowHeight(accurateHeight?: boolean): number;
    /**
     * Refreshes the Grid column changes.
     *
     * @returns {void}
     */
    refreshColumns(): void;
    /**
     * Export Grid data to Excel file(.xlsx).
     *
     * @param  {ExcelExportProperties} excelExportProperties - Defines the export properties of the Grid.
     * @param  {boolean} isMultipleExport - Define to enable multiple export.
     * @param  {excelExport.Workbook} workbook - Defines the excelExport.Workbook if multiple export is enabled.
     * @param  {boolean} isBlob - If 'isBlob' set to true, then it will be returned as blob data.
     * @returns {Promise<any>} Returns the excelexport
     */
    excelExport(excelExportProperties?: ExcelExportProperties, isMultipleExport?: boolean, workbook?: excelExport.Workbook, isBlob?: boolean): Promise<any>;
    /**
     * Export Grid data to CSV file.
     *
     * @param  {ExcelExportProperties} excelExportProperties - Defines the export properties of the Grid.
     * @param  {boolean} isMultipleExport - Define to enable multiple export.
     * @param  {excelExport.Workbook} workbook - Defines the excelExport.Workbook if multiple export is enabled.
     * @param  {boolean} isBlob - If 'isBlob' set to true, then it will be returned as blob data.
     * @returns {Promise<any>} Returns csv export
     */
    csvExport(excelExportProperties?: ExcelExportProperties, isMultipleExport?: boolean, workbook?: excelExport.Workbook, isBlob?: boolean): Promise<any>;
    /**
     * Export Grid data to PDF document.
     *
     * @param {pdfExportProperties} pdfExportProperties - Defines the export properties of the Grid.
     * @param {isMultipleExport} isMultipleExport - Define to enable multiple export.
     * @param {pdfDoc} pdfDoc - Defined the Pdf Document if multiple export is enabled.
     * @param {boolean} isBlob - If 'isBlob' set to true, then it will be returned as blob data.
     *
     * @returns {Promise<any>} Returns pdfexport
     */
    pdfExport(pdfExportProperties?: PdfExportProperties, isMultipleExport?: boolean, pdfDoc?: Object, isBlob?: boolean): Promise<Object>;
    private exportMultiplePdfGrids;
    private exportMultipleExcelGrids;
    /**
     * Groups a column by column name.
     *
     * @param  {string} columnName - Defines the column name to group.
     *
     * @returns {void}
     */
    groupColumn(columnName: string): void;
    /**
     * Expands all the grouped rows of the Grid.
     *
     * @returns {void}
     */
    groupExpandAll(): void;
    /**
     * Collapses all the grouped rows of the Grid.
     *
     * @returns {void}
     */
    groupCollapseAll(): void;
    /**
     * Expands or collapses grouped rows by target element.
     *
     * @param  {Element} target - Defines the target element of the grouped row.
     * @returns {void}
     */
    /**
     * Clears all the grouped columns of the Grid.
     *
     * @returns {void}
     */
    clearGrouping(): void;
    /**
     * Ungroups a column by column name.
     *
     * {% codeBlock src='grid/ungroupColumn/index.md' %}{% endcodeBlock %}
     *
     * @param  {string} columnName - Defines the column name to ungroup.
     *
     * @returns {void}
     */
    ungroupColumn(columnName: string): void;
    /**
     * Column chooser can be displayed on screen by given position(X and Y axis).
     *
     * @param {number} x - Defines the X axis.
     * @param {number} y - Defines the Y axis.
     *
     * @returns {void}
     */
    openColumnChooser(x?: number, y?: number): void;
    private scrollRefresh;
    /**
     * Collapses a detail row with the given target.
     *
     * @param  {Element} target - Defines the expanded element to collapse.
     * @returns {void}
     */
    /**
     * Collapses all the detail rows of the Grid.
     *
     * @returns {void}
     */
    detailCollapseAll(): void;
    /**
     * Expands a detail row with the given target.
     *
     * @param  {Element} target - Defines the collapsed element to expand.
     * @returns {void}
     */
    /**
     * Expands all the detail rows of the Grid.
     *
     * @returns {void}
     */
    detailExpandAll(): void;
    /**
     * Deselects the currently selected cells.
     *
     * @returns {void}
     */
    clearCellSelection(): void;
    /**
     * Deselects the currently selected rows.
     *
     * @returns {void}
     */
    clearRowSelection(): void;
    /**
     * Selects a collection of cells by row and column indexes.
     *
     * @param  {ISelectedCell[]} rowCellIndexes - Specifies the row and column indexes.
     *
     * @returns {void}
     */
    selectCells(rowCellIndexes: ISelectedCell[]): void;
    /**
     * Selects a range of rows from start and end row indexes.
     *
     * @param  {number} startIndex - Specifies the start row index.
     * @param  {number} endIndex - Specifies the end row index.
     *
     * @returns {void}
     */
    selectRowsByRange(startIndex: number, endIndex?: number): void;
    /**
     * @hidden
     * @returns {boolean} Returns whether context menu is open or not
     */
    isContextMenuOpen(): boolean;
    /**
     * @param {Function} module - Defines the module
     * @returns {boolean} return the injected modules
     * @hidden
     */
    ensureModuleInjected(module: Function): boolean;
    /**
     * Destroys the given template reference.
     *
     * @param {string[]} propertyNames - Defines the collection of template name.
     * @param {any} index - specifies the index
     *
     * @returns {void}
     */
    destroyTemplate(propertyNames?: string[], index?: any): void;
    /**
     * @param {string | string[]} type - Defines the type
     * @param {Object} args - Defines the arguments
     * @returns {void}
     * @hidden
     * @private
     */
    log(type: string | string[], args?: Object): void;
    /**
     * @param {Element} element - Defines the element
     * @returns {void}
     * @hidden
     */
    applyBiggerTheme(element: Element): void;
    /**
     * @hidden
     * @returns {Object} Returns the previous row data
     */
    getPreviousRowData(): Object;
    /**
     * Hides the scrollbar placeholder of Grid content when grid content is not overflown.
     *
     * @returns {void}
     */
    hideScroll(): void;
    /**
     * Get row index by primary key or row data.
     *
     * @param  {string | Object} value - Defines the primary key value.
     *
     * @returns {number} Returns the index
     */
    getRowIndexByPrimaryKey(value: string | Object): number;
    /**
     * @param {string} field - Defines the field name
     * @param {boolean} isForeignKey - Defines the foreign key
     * @returns {Column} returns the column
     * @hidden
     */
    grabColumnByFieldFromAllCols(field: string, isForeignKey?: boolean): Column;
    /**
     * @param {string} uid - Defines the uid
     * @returns {Column} returns the column
     * @hidden
     */
    grabColumnByUidFromAllCols(uid: string): Column;
    /**
     * Get all filtered records from the Grid and it returns array of objects for the local dataSource, returns a promise object if the Grid has remote data.
     *
     * @returns {Object[] | Promise<Object>} Returns the filtered records
     */
    getFilteredRecords(): Object[] | Promise<Object>;
    private getUserAgent;
    /**
     * @param {base.TouchEventArgs} e - Defines the base.TouchEventArgs
     * @returns {void}
     * @hidden
     */
    tapEvent(e: base.TouchEventArgs): void;
    /**
     * @param {string} prefix - specifies the prefix
     * @returns {string} returns the row uid
     * @hidden
     */
    getRowUid(prefix: string): string;
    /**
     * @param {string} uid - specifies the uid
     * @returns {Element} returns the element
     * @hidden
     */
    getRowElementByUID(uid: string): Element;
    /**
     * Gets the hidden columns from the Grid.
     *
     * @returns {Column[]} Returns the Column
     */
    getHiddenColumns(): Column[];
    /**
     * Calculates the page size by parent element height
     *
     * @param {number | string } containerHeight - specifies the container height
     * @returns {number} returns the page size
     */
    calculatePageSizeByParentHeight(containerHeight: number | string): number;
    private getNoncontentHeight;
    /**
     *To perform aggregate operation on a column.
     *
     * @param  {AggregateColumnModel} summaryCol - Pass Aggregate Column details.
     * @param  {Object} summaryData - Pass JSON Array for which its field values to be calculated.
     *
     * @returns {number} returns the summary values
     */
    getSummaryValues(summaryCol: AggregateColumnModel, summaryData: Object): number;
    /**
     * Sends a Post request to export Grid to Excel file in server side.
     *
     * @param  {string} url - Pass Url for server side excel export action.
     *
     * @param  {ExportHeaders} headers - The headers to include in the export request.
     *
     * @returns {void}
     */
    serverExcelExport(url: string, headers?: ExportHeaders): void;
    /**
     * Sends a Post request to export Grid to Pdf file in server side.
     *
     * @param  {string} url - Pass Url for server side pdf export action.
     *
     * @param  {ExportHeaders} headers - The headers to include in the export request.
     *
     * @returns {void}
     */
    serverPdfExport(url: string, headers?: ExportHeaders): void;
    /**
     * Sends a Post request to export Grid to CSV file in server side.
     *
     * @param  {string} url - Pass Url for server side csv export action.
     *
     * @param  {ExportHeaders} headers - The headers to include in the export request.
     *
     * @returns {void}
     */
    serverCsvExport(url: string, headers?: ExportHeaders): void;
    /**
     * @param {string} url - Defines exporting url
     * @param {ExportHeaders} headers - The optional headers for the export request.
     * @returns {void}
     * @hidden
     */
    exportGrid(url: string, headers?: ExportHeaders): void;
    /**
     * @param {Column[]} columns - Defines array of columns
     * @param {string[]} include - Defines array of sting
     * @returns {Column[]} returns array of columns
     * @hidden
     */
    setHeaderText(columns: Column[], include: string[]): Column[];
    private getFormat;
    /**
     * @hidden
     * @returns {boolean} returns the isCollapseStateEnabled
     */
    isCollapseStateEnabled(): boolean;
    /**
     * @param {number} key - Defines the primary key value.
     * @param {Object} rowData - Defines the rowData
     * @returns {void}
     */
    updateRowValue(key: number, rowData: Object): void;
    /**
     * @hidden
     * @returns {void}
     */
    setForeignKeyData(): void;
    /**
     * @param {string} field - specifies the field
     * @returns {void}
     * @hidden
     */
    resetFilterDlgPosition(field: string): void;
    /**
     * @param {any} callBack - specifies the callBack method
     * @returns {void}
     * @hidden
     */
    renderTemplates(callBack?: any): void;
    /**
     * Apply the changes to the Grid without refreshing the rows.
     *
     * @param  {BatchChanges} changes - Defines changes to be updated.
     * @returns {void}
     */
    batchUpdate(changes: BatchChanges): void;
    /**
     * Apply the changes to the Grid in one batch after 50ms without refreshing the rows.
     *
     * @param  {BatchChanges} changes - Defines changes to be updated.
     * @returns {void}
     */
    batchAsyncUpdate(changes: BatchChanges): void;
    private processBulkRowChanges;
    private processRowChanges;
    private setNewData;
    private deleteRowElement;
    private bulkRefresh;
    private renderRowElement;
    private addRowObject;
    /**
     * @hidden
     * @returns {void}
     */
    updateVisibleExpandCollapseRows(): void;
    /**
     * Method to sanitize any suspected untrusted strings and scripts before rendering them.
     *
     * @param {string} value - Specifies the html value to sanitize
     * @returns {string} Returns the sanitized html string
     * @hidden
     */
    sanitize(value: string): string;
    /**
     * @param {string | number} height - specifies the height
     * @returns {number | string} - specifies the height number
     * @hidden
     */
    getHeight(height: string | number): number | string;
    /**
     * @hidden
     * @returns {Element} - returns frozen right content
     * @deprecated This method is deprecated. Use `getContent()` method instead.
     */
    getFrozenRightContent(): Element;
    /**
     * @hidden
     * @returns {Element} - returns frozen right header
     * @deprecated This method is deprecated. Use `getHeaderContent()` method instead.
     */
    getFrozenRightHeader(): Element;
    /**
     * @hidden
     * @returns {Element} - returns movable header tbody
     * @deprecated This method is deprecated. Use `getHeaderContent().querySelector('tbody')` method instead.
     */
    getMovableHeaderTbody(): Element;
    /**
     * @hidden
     * @returns {Element} - returns movable content tbody
     * @deprecated This method is deprecated. Use `getContent().querySelector('tbody')` method instead.
     */
    getMovableContentTbody(): Element;
    /**
     * @hidden
     * @returns {Element} - returns frozen header tbody
     * @deprecated This method is deprecated. Use `getHeaderContent().querySelector('tbody')` method instead.
     */
    getFrozenHeaderTbody(): Element;
    /**
     * @hidden
     * @returns {Element} - returns frozen left content tbody
     * @deprecated This method is deprecated. Use `getContent().querySelector('tbody')` method instead.
     */
    getFrozenLeftContentTbody(): Element;
    /**
     * @hidden
     * @returns {Element} - returns frozen right header tbody
     * @deprecated This method is deprecated. Use `getHeaderContent().querySelector('tbody')` method instead.
     */
    getFrozenRightHeaderTbody(): Element;
    /**
     * @returns {Element} returns frozen right content tbody
     * @deprecated This method is deprecated. Use `getContent().querySelector('tbody')` method instead.
     * @hidden
     */
    getFrozenRightContentTbody(): Element;
    /**
     * @param {boolean} isCustom - Defines custom filter dialog open
     * @returns {void}
     * @hidden
     */
    showResponsiveCustomFilter(isCustom?: boolean): void;
    /**
     * @param {boolean} isCustom - Defines custom sort dialog open
     * @returns {void}
     * @hidden
     */
    showResponsiveCustomSort(isCustom?: boolean): void;
    /**
     * @param {boolean} isCustom - Defines custom column chooser dialog open
     * @returns {void}
     * @hidden
     */
    showResponsiveCustomColumnChooser(isCustom?: boolean): void;
    /**
     * To manually show the vertical row mode filter dialog
     *
     * @returns {void}
     */
    showAdaptiveFilterDialog(): void;
    /**
     * To manually show the vertical row sort filter dialog
     *
     * @returns {void}
     */
    showAdaptiveSortDialog(): void;
    /**
     * @param {boolean} isColVirtualization - Defines column virtualization
     * @returns {Column[]} returns array of column models
     * @hidden
     */
    getCurrentVisibleColumns(isColVirtualization?: boolean): Column[];
    private enableInfiniteAggrgate;
}
//node_modules/@syncfusion/ej2-grids/src/grid/base/grid-model.d.ts
/**
 * Interface for a class SortDescriptor
 */
export interface SortDescriptorModel {
    /**
     * Defines the field name of sort column.
     *
     * @default ''
     */
    field?: string;
    /**
     * Defines the direction of sort column.
     *
     * @default ''
     */
    direction?: SortDirection;
    /**
     * @hidden
     * Defines the sorted column whether or from grouping operation.
     *
     * @default false
     */
    isFromGroup?: boolean;
}
/**
 * Interface for a class SortSettings
 */
export interface SortSettingsModel {
    /**
     * Specifies the columns to sort at initial rendering of Grid.
     * Also user can get current sorted columns.
     *
     * @default []
     */
    columns?: SortDescriptorModel[];
    /**
     * If `allowUnsort` set to false the user can not get the grid in unsorted state by clicking the sorted column header.
     *
     * @default true
     */
    allowUnsort?: boolean;
}
/**
 * Interface for a class Predicate
 */
export interface PredicateModel {
    /**
     * Defines the field name of the filter column.
     *
     * @default ''
     */
    field?: string;
    /**
     * Defines the operator to filter records. The available operators and its supported data types are:
     * <table>
     * <tr>
     * <td colspan=1 rowspan=1>
     * Operator<br/></td><td colspan=1 rowspan=1>
     * Description<br/></td><td colspan=1 rowspan=1>
     * Supported Types<br/></td></tr>
     * <tr>
     * <td colspan=1 rowspan=1>
     * startswith<br/></td><td colspan=1 rowspan=1>
     * Checks whether the value begins with the specified value.<br/></td><td colspan=1 rowspan=1>
     * String<br/></td></tr>
     * <tr>
     * <td colspan=1 rowspan=1>
     * endswith<br/></td><td colspan=1 rowspan=1>
     * Checks whether the value ends with the specified value.<br/><br/></td><td colspan=1 rowspan=1>
     * <br/>String<br/></td></tr>
     * <tr>
     * <td colspan=1 rowspan=1>
     * contains<br/></td><td colspan=1 rowspan=1>
     * Checks whether the value contains the specified value.<br/><br/></td><td colspan=1 rowspan=1>
     * <br/>String<br/></td></tr>
     * <tr>
     * <td colspan=1 rowspan=1>
     * equal<br/></td><td colspan=1 rowspan=1>
     * Checks whether the value is equal to the specified value.<br/><br/></td><td colspan=1 rowspan=1>
     * <br/>String | Number | Boolean | Date<br/></td></tr>
     * <tr>
     * <td colspan=1 rowspan=1>
     * notequal<br/></td><td colspan=1 rowspan=1>
     * Checks for values that are not equal to the specified value.<br/><br/></td><td colspan=1 rowspan=1>
     * <br/>String | Number | Boolean | Date<br/></td></tr>
     * <tr>
     * <td colspan=1 rowspan=1>
     * greaterthan<br/></td><td colspan=1 rowspan=1>
     * Checks whether the value is greater than the specified value.<br/><br/></td><td colspan=1 rowspan=1>
     * Number | Date<br/></td></tr>
     * <tr>
     * <td colspan=1 rowspan=1>
     * greaterthanorequal<br/></td><td colspan=1 rowspan=1>
     * Checks whether the value is greater than or equal to the specified value.<br/><br/></td><td colspan=1 rowspan=1>
     * <br/>Number | Date<br/></td></tr>
     * <tr>
     * <td colspan=1 rowspan=1>
     * lessthan<br/></td><td colspan=1 rowspan=1>
     * Checks whether the value is less than the specified value.<br/><br/></td><td colspan=1 rowspan=1>
     * <br/>Number | Date<br/></td></tr>
     * <tr>
     * <td colspan=1 rowspan=1>
     * lessthanorequal<br/></td><td colspan=1 rowspan=1>
     * Checks whether the value is less than or equal to the specified value.<br/><br/></td><td colspan=1 rowspan=1>
     * <br/>Number | Date<br/></td></tr>
     * </table>
     *
     * @default null
     */
    operator?: string;
    /**
     * Defines the value used to filter records.
     *
     * @default ''
     */
    value?: string | number | Date | boolean | (string | number | Date | boolean)[];
    /**
     * If match case set to true, then filter records with exact match or else
     * filter records with case insensitive(uppercase and lowercase letters treated as same).
     *
     * @default null
     */
    matchCase?: boolean;
    /**
     * If ignoreAccent is set to true, then filter ignores the diacritic characters or accents while filtering.
     *
     * @default false
     */
    ignoreAccent?: boolean;
    /**
     * Defines the relationship between one filter query and another by using AND or OR predicate.
     *
     * @default null
     */
    predicate?: string;
    /**
     * @hidden
     * Defines the actual filter value for the filter column.
     */
    actualFilterValue?: Object;
    /**
     * @hidden
     * Defines the actual filter operator for the filter column.
     */
    actualOperator?: Object;
    /**
     * @hidden
     * Defines the type of the filter column.
     */
    type?: string;
    /**
     * @hidden
     * Defines the predicate of filter column.
     */
    ejpredicate?: Object;
    /**
     * Defines the UID of filter column.
     *
     * @default ''
     */
    uid?: string;
    /**
     * @hidden
     * Defines the foreignKey availability in filtered columns.
     */
    isForeignKey?: boolean;
    /**
     * Defines the condition to add the new predicates on existing predicate with "and"/"or" operator.
     *
     * @default ''
     */
    condition?: string;
}
/**
 * Interface for a class InfiniteScrollSettings
 */
export interface InfiniteScrollSettingsModel {
    /**
     * If `enableCache` is set to true, the Grid will cache the loaded data to be reused next time it is needed.
     *
     * @default false
     */
    enableCache?: boolean;
    /**
     * Defines the number of blocks to be maintained in Grid while settings enableCache as true.
     *
     * @default 3
     */
    maxBlocks?: number;
    /**
     * Defines the number of blocks that will render at the initial Grid rendering.
     *
     * @default 3
     */
    initialBlocks?: number;
}
/**
 * Interface for a class FilterSettings
 */
export interface FilterSettingsModel {
    /**
     * Specifies the columns to be filtered at initial rendering of the Grid. You can also get the columns that were currently filtered.
     *
     * @default []
     */
    columns?: PredicateModel[];
    /**
     * Defines options for filtering type. The available options are
     * * `Menu` - Specifies the filter type as menu.
     * * `CheckBox` - Specifies the filter type as checkbox.
     * * `FilterBar` - Specifies the filter type as filterbar.
     * * `Excel` - Specifies the filter type as checkbox.
     *
     * @default FilterBar
     */
    type?: FilterType;
    /**
     * Defines the filter bar modes. The available options are,
     * * `OnEnter`: Initiates filter operation after Enter key is pressed.
     * * `Immediate`: Initiates filter operation after a certain time interval. By default, time interval is 1500 ms.
     *
     * @default OnEnter
     */
    mode?: FilterBarMode;
    /**
     * Shows or hides the filtered status message on the pager.
     *
     * @default true
     */
    showFilterBarStatus?: boolean;
    /**
     * Defines the time delay (in milliseconds) in filtering records when the `Immediate` mode of filter bar is set.
     *
     * @default 1500
     */
    immediateModeDelay?: number;
    /**
     * The `operators` is used to override the default operators in filter menu. This should be defined by type wise
     * (string, number, date and boolean). Based on the column type, this customize operator list will render in filter menu.
     *
     * > Check the [`Filter Menu Operator`](../../grid/filtering/filter-menu#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 `enableInfiniteScrolling` set to true, then the data will be loaded in Checkbox filter `Popup` content, when the scrollbar reaches the end.
     * This helps to load large dataset in Checkbox filter `Popup` content.
     * {% codeBlock src='grid/enableInfiniteScrolling/index.md' %}{% endcodeBlock %}
     *
     * @default false
     */
    enableInfiniteScrolling?: boolean;
    /**
     * If `enableInfiniteScrolling` set to true, For on demand request, Gets data from the parent data source based on given number of records count.
     *
     * @default 100
     */
    itemsCount?: number;
    /**
     * Defines the loading indicator. The available loading indicator are:
     * * Spinner
     * * Shimmer
     *
     * @default Shimmer
     */
    loadingIndicator?: IndicatorType;
    /**
     * If `enableCaseSensitivity` is set to true then searches grid records with exact match based on the filter
     * operator. It will have no effect on number, boolean and Date fields.
     *
     * @default false
     */
    enableCaseSensitivity?: boolean;
    /**
     * If 'showFilterBarOperator' is set to true, then it renders the dropdownlist component to select the operator
     * in filterbar input
     *
     * @default false
     */
    showFilterBarOperator?: boolean;
}
/**
 * Interface for a class SelectionSettings
 */
export interface SelectionSettingsModel {
    /**
     * Grid supports row, cell, and both (row and cell) selection mode.
     *
     * @default Row
     */
    mode?: SelectionMode;
    /**
     * The cell selection modes are flow and box. It requires the selection
     * [`mode`](./selectionmode/) to be either cell or both.
     * * `Flow`: Selects the range of cells between start index and end index that also includes the other cells of the selected rows.
     * * `Box`: Selects the range of cells within the start and end column indexes that includes in between cells of rows within the range.
     * * `BoxWithBorder`: Selects the range of cells as like Box mode with borders.
     *
     * @default Flow
     */
    cellSelectionMode?: CellSelectionMode;
    /**
     * Defines options for selection type. They are
     * * `Single`: Allows selection of only a row or a cell.
     * * `Multiple`: Allows selection of multiple rows or cells.
     *
     * @default Single
     */
    type?: SelectionType;
    /**
     * If 'checkboxOnly' set to true, then the Grid selection is allowed only through checkbox.
     *
     * > To enable checkboxOnly selection, should specify the column type as`checkbox`.
     *
     * @default false
     */
    checkboxOnly?: boolean;
    /**
     * If 'persistSelection' set to true, then the Grid selection is persisted on all operations.
     * For persisting selection in the Grid, any one of the column should be enabled as a primary key.
     *
     * @default false
     */
    persistSelection?: boolean;
    /**
     * Defines options for checkbox selection Mode. They are
     * * `Default`: This is the default value of the checkboxMode. In this mode, user can select multiple rows by clicking rows one by one.
     * * `ResetOnRowClick`: In ResetOnRowClick mode, on clicking a row it will reset previously selected row and also multiple
     *  rows can be selected by using CTRL or SHIFT key.
     *
     * @default Default
     */
    checkboxMode?: CheckboxSelectionType;
    /**
     * If 'enableSimpleMultiRowSelection' set to true, then the user can able to perform multiple row selection with single clicks.
     *
     * @default false
     */
    enableSimpleMultiRowSelection?: boolean;
    /**
     * If 'enableToggle' set to true, then the user can able to perform toggle for the selected row.
     *
     * @default true
     */
    enableToggle?: boolean;
    /**
     * If 'allowColumnSelection' set to true, then the user can able to select the columns.
     *
     * @default false
     */
    allowColumnSelection?: boolean;
}
/**
 * Interface for a class SearchSettings
 */
export interface SearchSettingsModel {
    /**
     * Specifies the collection of fields included in search operation. By default, bounded columns of the Grid are included.
     *
     * @default []
     */
    fields?: string[];
    /**
     * Specifies the key value to search Grid records at initial rendering.
     * You can also get the current search key.
     *
     * @default ''
     */
    key?: string;
    /**
     * Defines the operator to search records. The available operators are:
     * <table>
     * <tr>
     * <td colspan=1 rowspan=1>
     * Operator<br/></td><td colspan=1 rowspan=1>
     * Description<br/></td></tr>
     * <tr>
     * <td colspan=1 rowspan=1>
     * startswith<br/></td><td colspan=1 rowspan=1>
     * Checks whether the string begins with the specified string.<br/></td></tr>
     * <tr>
     * <td colspan=1 rowspan=1>
     * endswith<br/></td><td colspan=1 rowspan=1>
     * Checks whether the string ends with the specified string.<br/></td></tr>
     * <tr>
     * <td colspan=1 rowspan=1>
     * contains<br/></td><td colspan=1 rowspan=1>
     * Checks whether the string contains the specified string. <br/></td></tr>
     * <tr>
     * <td colspan=1 rowspan=1>
     * equal<br/></td><td colspan=1 rowspan=1>
     * Checks whether the string is equal to the specified string.<br/></td></tr>
     * <tr>
     * <td colspan=1 rowspan=1>
     * notequal<br/></td><td colspan=1 rowspan=1>
     * Checks for strings not equal to the specified string. <br/></td></tr>
     * </table>
     *
     * @default 'contains'
     */
    operator?: string;
    /**
     * If `ignoreCase` is set to false, searches records that match exactly, else
     * searches records that are case insensitive(uppercase and lowercase letters treated the same).
     *
     * @default true
     */
    ignoreCase?: boolean;
    /**
     * If ignoreAccent set to true, then filter ignores the diacritic characters or accents while filtering.
     *
     * > Check the [`Diacritics`](../../grid/filtering/#diacritics/) filtering.
     *
     * @default false
     */
    ignoreAccent?: boolean;
}
/**
 * Interface for a class RowDropSettings
 */
export interface RowDropSettingsModel {
    /**
     * Defines the ID of droppable component on which row drop should occur.
     *
     * @default null
     */
    targetID?: string;
}
/**
 * Interface for a class TextWrapSettings
 */
export interface TextWrapSettingsModel {
    /**
     * The `wrapMode` property defines how the text in the grid cells should be wrapped. The available modes are:
     * * `Both`: Wraps text in both the header and content cells.
     * * `Content`: Wraps text in the content cells only.
     * * `Header`: Wraps texts in the header cells only.
     *
     * @default Both
     */
    wrapMode?: WrapMode;
}
/**
 * Interface for a class ResizeSettings
 */
export interface ResizeSettingsModel {
    /**
     * Defines the mode of Grid column resizing. The available modes are:
     * `Normal`: Columns will not be adjusted to fit the remaining space.
     * `Auto`: Resized column width will be adjusted by other columns automatically.
     *
     * @default Normal
     */
    mode?: ResizeMode;
}
/**
 * Interface for a class GroupSettings
 */
export interface GroupSettingsModel {
    /**
     * If `showDropArea` is set to true, the group drop area element will be visible at the top of the Grid.
     *
     * @default true
     */
    showDropArea?: boolean;
    /**
     * If `allowReordering` is set to true, Grid allows the grouped elements to be reordered.
     *
     * @default false
     */
    allowReordering?: boolean;
    /**
     * If `showToggleButton` set to true, then the toggle button will be showed in the column headers which can be used to group
     * or ungroup columns by clicking them.
     *
     * @default false
     */
    showToggleButton?: boolean;
    /**
     * If `showGroupedColumn` is set to false, it hides the grouped column after grouping.
     *
     * @default false
     */
    showGroupedColumn?: boolean;
    /**
     * If `showUngroupButton` set to false, then ungroup button is hidden in dropped element.
     * It can be used to ungroup the grouped column when click on ungroup button.
     *
     * @default true
     */
    showUngroupButton?: boolean;
    /**
     * If `disablePageWiseAggregates` set to true, then the group aggregate value will
     * be calculated from the whole data instead of paged data and two requests will be made for each page
     * when Grid bound with remote service.
     *
     * @default false
     */
    disablePageWiseAggregates?: boolean;
    /**
     * Specifies the column names to group at initial rendering of the Grid.
     * You can also get the currently grouped columns.
     *
     * @default []
     */
    columns?: string[];
    /**
     * The Caption Template allows user to display the string or HTML element in group caption.
     * > It accepts either the
     * [template string](https://ej2.syncfusion.com/documentation/common/template-engine/) or the HTML element ID.
     *
     * @default null
     * @aspType string
     */
    captionTemplate?: string | Object | Function;
    /**
     * The Lazy load grouping, allows the Grid to render only the initial level caption rows in collapsed state while grouping.
     * The child rows of each caption will render only when we expand the captions.
     *
     * @default false
     */
    enableLazyLoading?: boolean;
}
/**
 * Interface for a class EditSettings
 */
export interface EditSettingsModel {
    /**
     * If `allowAdding` is set to true, new records can be added to the Grid.
     *
     * @default false
     */
    allowAdding?: boolean;
    /**
     * If `allowEditing` is set to true, values can be updated in the existing record.
     *
     * @default false
     */
    allowEditing?: boolean;
    /**
     * If `allowDeleting` is set to true, existing record can be deleted from the Grid.
     *
     * @default false
     */
    allowDeleting?: boolean;
    /**
     * Defines the mode to edit. The available editing modes are:
     * * Normal
     * * Dialog
     * * Batch
     *
     * @default Normal
     */
    mode?: EditMode;
    /**
     * If `allowEditOnDblClick` is set to false, Grid will not allow editing of a record on double click.
     *
     * @default true
     */
    allowEditOnDblClick?: boolean;
    /**
     * if `showConfirmDialog` is set to false, confirm dialog does not show when batch changes are saved or discarded.
     *
     * @default true
     */
    showConfirmDialog?: boolean;
    /**
     * If `showDeleteConfirmDialog` is set to true, confirm dialog will show delete action. You can also cancel delete command.
     *
     * @default false
     */
    showDeleteConfirmDialog?: boolean;
    /**
     * Defines the custom edit elements for the dialog template.
     *
     * @default null
     * @aspType string
     */
    template?: string | Object | Function;
    /**
     * Defines the custom edit elements for the dialog header template.
     *
     * @default null
     * @aspType string
     */
    headerTemplate?: string | Object | Function;
    /**
     * Defines the custom edit elements for the dialog footer template.
     *
     * @default null
     * @aspType string
     */
    footerTemplate?: string | Object | Function;
    /**
     * 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;
    /**
     * If `showAddNewRow` is set to true, it indicates whether to display the add new form by default in the grid.
     *
     * @default false
     */
    showAddNewRow?: boolean;
}
/**
 * Interface for a class LoadingIndicator
 */
export interface LoadingIndicatorModel {
    /**
     * Defines the loading indicator. The available loading indicator are:
     * * Spinner
     * * Shimmer
     *
     * @default Spinner
     */
    indicatorType?: IndicatorType;
}
/**
 * Interface for a class Grid
 */
export interface GridModel extends base.ComponentModel{
    /**
     * Gets the currently visible records of the Grid.
     *
     * @default []
     */
    currentViewData?: Object[];
    /**
     * Gets the parent Grid details.
     *
     * @default {}
     */
    parentDetails?: ParentDetails;
    /**
     * The `showHider` is used to manipulate column's show/hide operation in the Grid.
     *
     * @default ''
     */
    showHider?: ShowHide;
    /**
     * Defines the schema of dataSource.
     * If the `columns` declaration is empty or undefined then the `columns` are automatically generated from data source.
     * {% codeBlock src='grid/columns/index.md' %}{% endcodeBlock %}
     *
     * @default []
     */
    columns?: Column[] | string[] | ColumnModel1[];
    /**
     * If `enableAltRow` is set to true, the grid will render with `e-altrow` CSS class to the alternative tr elements.
     * > Check the [`AltRow`](../../grid/row/#styling-alternate-rows/) to customize the styles of alternative rows.
     * {% codeBlock src='grid/enableAltRow/index.md' %}{% endcodeBlock %}
     *
     * @default true
     */
    enableAltRow?: boolean;
    /**
     * If `enableHover` is set to true, the row hover is enabled in the Grid.
     * {% codeBlock src='grid/enableHover/index.md' %}{% endcodeBlock %}
     *
     * @default true
     */
    enableHover?: boolean;
    /**
     * If `enableAutoFill` is set to true, then the auto fill icon will displayed on cell selection for copy cells.
     * It requires the selection `mode` to be Cell and `cellSelectionMode` to be `Box`.
     * {% codeBlock src='grid/enableAutoFill/index.md' %}{% endcodeBlock %}
     *
     * @default false
     */
    enableAutoFill?: boolean;
    /**
     * Enables or disables the key board interaction of Grid.
     *
     * @default true
     */
    allowKeyboard?: boolean;
    /**
     * If 'enableStickyHeader' set to true, then the user can able to make the column headers visible when the document is scrolled.
     *
     * @default false
     */
    enableStickyHeader?: boolean;
    /**
     * Specifies whether to display or base.remove the untrusted HTML values in the Grid component.
     * If 'enableHtmlSanitizer' set to true, the component will sanitize any suspected untrusted strings and scripts before rendering them.
     *
     * @default false
     */
    enableHtmlSanitizer?: boolean;
    /**
     * If `allowTextWrap` set to true,
     * then text content will wrap to the next line when its text content exceeds the width of the Column Cells.
     * {% codeBlock src='grid/allowTextWrap/index.md' %}{% endcodeBlock %}
     *
     * @default false
     */
    allowTextWrap?: boolean;
    /**
     * Configures the text wrap in the Grid.
     * {% codeBlock src='grid/textWrapSettings/index.md' %}{% endcodeBlock %}
     *
     * @default {wrapMode:"Both"}
     */
    textWrapSettings?: TextWrapSettingsModel;
    /**
     * Defines the resizing behavior of the Grid.
     *
     * @default {mode:"Normal"}
     */
    resizeSettings?: ResizeSettingsModel;
    /**
     * If `allowPaging` is set to true, the pager renders at the footer of the Grid. It is used to handle page navigation in the Grid.
     *
     * > Check the [`Paging`](../../grid/paging/) to configure the grid pager.
     * {% codeBlock src='grid/allowPaging/index.md' %}{% endcodeBlock %}
     *
     * @default false
     */
    allowPaging?: boolean;
    /**
     * Configures the pager in the Grid.
     * {% codeBlock src='grid/pageSettings/index.md' %}{% endcodeBlock %}
     *
     * @default {currentPage: 1, pageSize: 12, pageCount: 8, enableQueryString: false, pageSizes: false, template: null}
     */
    pageSettings?: PageSettingsModel;
    /**
     * Configures the Loading Indicator of the Grid.
     *
     * @default {indicatorType: 'Spinner'}
     */
    loadingIndicator?: LoadingIndicatorModel;
    /**
     * Specifies the shimmer effect for Grid virtual and infinite scrolling.
     *
     * @default true
     */
    enableVirtualMaskRow?: boolean;
    /**
     * If `enableVirtualization` set to true, then the Grid will render only the rows visible within the view-port
     * and load subsequent rows on vertical scrolling. This helps to load large dataset in Grid.
     * {% codeBlock src='grid/enableVirtualization/index.md' %}{% endcodeBlock %}
     *
     * @default false
     */
    enableVirtualization?: boolean;
    /**
     * If `enableColumnVirtualization` set to true, then the Grid will render only the columns visible within the view-port
     * and load subsequent columns on horizontal scrolling. This helps to load large dataset of columns in Grid.
     * {% codeBlock src='grid/enableColumnVirtualization/index.md' %}{% endcodeBlock %}
     *
     * @default false
     */
    enableColumnVirtualization?: boolean;
    /**
     * If `enableInfiniteScrolling` set to true, then the data will be loaded in Grid when the scrollbar reaches the end.
     * This helps to load large dataset in Grid.
     * {% codeBlock src='grid/enableInfiniteScrolling/index.md' %}{% endcodeBlock %}
     *
     * @default false
     */
    enableInfiniteScrolling?: boolean;
    /**
     * Configures the search behavior in the Grid.
     * {% codeBlock src='grid/searchSettings/index.md' %}{% endcodeBlock %}
     *
     * @default { ignoreCase: true, fields: [], operator: 'contains', key: '' }
     */
    searchSettings?: SearchSettingsModel;
    /**
     * If `allowSorting` is set to true, it allows sorting of grid records when column header is clicked.
     *
     * > Check the [`Sorting`](../../grid/sorting/) to customize its default behavior.
     * {% codeBlock src='grid/allowSorting/index.md' %}{% endcodeBlock %}
     *
     * @default false
     */
    allowSorting?: boolean;
    /**
     *  Defines the mode of clip. The available modes are,
     * `Clip`: Truncates the cell content when it overflows its area.
     * `Ellipsis`: Displays ellipsis when the cell content overflows its area.
     * `EllipsisWithTooltip`:  Displays ellipsis when the cell content overflows its area,
     *  also it will display the tooltip while hover on ellipsis is applied.
     * {% codeBlock src='grid/clipMode/index.md' %}{% endcodeBlock %}
     *
     * @default Ellipsis
     */
    clipMode?: ClipMode;
    /**
     * If `allowMultiSorting` set to true, then it will allow the user to sort multiple column in the grid.
     * > `allowSorting` should be true.
     * {% codeBlock src='grid/allowMultiSorting/index.md' %}{% endcodeBlock %}
     *
     * @default false
     */
    allowMultiSorting?: boolean;
    /**
     * If `allowExcelExport` set to true, then it will allow the user to export grid to Excel file.
     *
     * > Check the [`ExcelExport`](../../grid/excel-exporting/) to configure exporting document.
     * {% codeBlock src='grid/allowExcelExport/index.md' %}{% endcodeBlock %}
     *
     * @default false
     */
    allowExcelExport?: boolean;
    /**
     * If `allowPdfExport` set to true, then it will allow the user to export grid to Pdf file.
     *
     * > Check the [`Pdfexport`](../../grid/pdf-export/) to configure the exporting document.
     * {% codeBlock src='grid/allowPdfExport/index.md' %}{% endcodeBlock %}
     *
     * @default false
     */
    allowPdfExport?: boolean;
    /**
     * Configures the sort settings.
     * {% codeBlock src='grid/sortSettings/index.md' %}{% endcodeBlock %}
     *
     * @default {columns:[]}
     */
    sortSettings?: SortSettingsModel;
    /**
     * Configures the infinite scroll settings.
     * {% codeBlock src='grid/infiniteScrollSettings/index.md' %}{% endcodeBlock %}
     *
     * @default { enableCache: false, maxBlocks: 5, initialBlocks: 5 }
     */
    infiniteScrollSettings?: InfiniteScrollSettingsModel;
    /**
     * If `allowSelection` is set to true, it allows selection of (highlight row) Grid records by clicking it.
     * {% codeBlock src='grid/allowSelection/index.md' %}{% endcodeBlock %}
     *
     * @default true
     */
    allowSelection?: boolean;
    /**
     * The `selectedRowIndex` allows you to select a row at initial rendering.
     * You can also get the currently selected row index.
     * {% codeBlock src='grid/selectedRowIndex/index.md' %}{% endcodeBlock %}
     *
     * @default -1
     */
    selectedRowIndex?: number;
    /**
     * Configures the selection settings.
     * {% codeBlock src='grid/selectionSettings/index.md' %}{% endcodeBlock %}
     *
     * @default {mode: 'Row', cellSelectionMode: 'Flow', type: 'Single'}
     */
    selectionSettings?: SelectionSettingsModel;
    /**
     * If `allowFiltering` set to true the filter bar will be displayed.
     * If set to false the filter bar will not be displayed.
     * Filter bar allows the user to filter grid records with required criteria.
     *
     * > Check the [`Filtering`](../../grid/filtering/) to customize its default behavior.
     * {% codeBlock src='grid/allowFiltering/index.md' %}{% endcodeBlock %}
     *
     * @default false
     */
    allowFiltering?: boolean;
    /**
     * Defines the grid row elements rendering direction. The available directions are,
     * * `Horizontal`: Renders the grid row elements in the horizontal direction
     * * `Vertical`: Renders the grid row elements in the vertical direction
     *
     * @default Horizontal
     */
    rowRenderingMode?: RowRenderingDirection;
    /**
     * If `enableAdaptiveUI` set to true the grid filter, sort, and edit dialogs render adaptively.
     *
     * @default false
     */
    enableAdaptiveUI?: boolean;
    /**
     * One of the adaptiveUIMode enumeration that specifies the Adaptive Mode. The default value is Both.
     *
     * @default Both
     */
    adaptiveUIMode?: AdaptiveMode;
    /**
     * If `allowReordering` is set to true, Grid columns can be reordered.
     * Reordering can be done by drag and drop of a particular column from one index to another index.
     * > If Grid is rendered with stacked headers, reordering is allowed only at the same level as the column headers.
     * {% codeBlock src='grid/allowReordering/index.md' %}{% endcodeBlock %}
     *
     * @default false
     */
    allowReordering?: boolean;
    /**
     * If `allowResizing` is set to true, Grid columns can be resized.
     * {% codeBlock src='grid/allowResizing/index.md' %}{% endcodeBlock %}
     *
     * @default false
     */
    allowResizing?: boolean;
    /**
     * If `allowRowDragAndDrop` is set to true, you can drag and drop grid rows at another grid.
     * {% codeBlock src='grid/allowRowDragAndDrop/index.md' %}{% endcodeBlock %}
     *
     * @default false
     */
    allowRowDragAndDrop?: boolean;
    /**
     * Configures the row drop settings.
     *
     * @default {targetID: ''}
     */
    rowDropSettings?: RowDropSettingsModel;
    /**
     * Configures the filter settings of the Grid.
     * {% codeBlock src='grid/filterSettings/index.md' %}{% endcodeBlock %}
     *
     * @default {columns: [], type: 'FilterBar', mode: 'Immediate', showFilterBarStatus: true, immediateModeDelay: 1500 , operators: {}}
     */
    filterSettings?: FilterSettingsModel;
    /**
     * If `allowGrouping` set to true, then it will allow the user to dynamically group or ungroup columns.
     * Grouping can be done by drag and drop columns from column header to group drop area.
     *
     * > Check the [`Grouping`](../../grid/grouping/) to customize its default behavior.
     * {% codeBlock src='grid/allowGrouping/index.md' %}{% endcodeBlock %}
     *
     * @default false
     */
    allowGrouping?: boolean;
    /**
     * If `enableImmutableMode`  is set to true, the grid will reuse old rows if it exists in the new result instead of
     * full refresh while performing the grid actions.
     *
     * @default false
     */
    enableImmutableMode?: boolean;
    /**
     * If `showColumnMenu` set to true, then it will enable the column menu options in each columns.
     *
     * > Check the [`Column menu`](../../grid/columns/#column-menu/) for its configuration.
     * {% codeBlock src='grid/showColumnMenu/index.md' %}{% endcodeBlock %}
     *
     * @default false
     */
    showColumnMenu?: boolean;
    /**
     * If `autoFit` set to true, then it will auto fit the columns based on given width.
     *
     * @default false
     */
    autoFit?: boolean;
    /**
     * Configures the group settings.
     * {% codeBlock src='grid/groupSettings/index.md' %}{% endcodeBlock %}
     *
     * @default {showDropArea: true, showToggleButton: false, showGroupedColumn: false, showUngroupButton: true, columns: []}
     */
    groupSettings?: GroupSettingsModel;
    /**
     * Configures the edit settings.
     * {% codeBlock src='grid/editSettings/index.md' %}{% endcodeBlock %}
     *
     * @default { allowAdding: false, allowEditing: false, allowDeleting: false, mode:'Normal',
     * allowEditOnDblClick: true, showConfirmDialog: true, showDeleteConfirmDialog: false }
     */
    editSettings?: EditSettingsModel;
    /**
     * Configures the Grid aggregate rows.
     * {% codeBlock src='grid/aggregates/index.md' %}{% endcodeBlock %}
     * > Check the [`Aggregates`](../../grid/aggregates/) for its configuration.
     *
     * @default []
     */
    aggregates?: AggregateRowModel[];
    /**
     * If `showColumnChooser` is set to true, it allows you to dynamically show or hide columns.
     *
     * > Check the [`ColumnChooser`](../../grid/columns/#column-chooser/) for its configuration.
     * {% codeBlock src='grid/showColumnChooser/index.md' %}{% endcodeBlock %}
     *
     * @default false
     */
    showColumnChooser?: boolean;
    /**
     * Configures the column chooser in the Grid.
     *
     * @default { columnChooserOperator: 'startsWith' }
     */
    columnChooserSettings?: ColumnChooserSettingsModel;
    /**
     * If `enableHeaderFocus` set to true, then header element will be focused when focus moves to grid.
     *
     * @default false
     */
    enableHeaderFocus?: boolean;
    /**
     * Defines the scrollable height of the grid content.
     * {% codeBlock src='grid/height/index.md' %}{% endcodeBlock %}
     *
     * @default 'auto'
     */
    height?: string | number;
    /**
     * Defines the Grid width.
     * {% codeBlock src='grid/width/index.md' %}{% endcodeBlock %}
     *
     * @default 'auto'
     */
    width?: string | number;
    /**
     * Defines the mode of grid lines. The available modes are,
     * * `Both`: Displays both horizontal and vertical grid lines.
     * * `None`: No grid lines are displayed.
     * * `Horizontal`: Displays the horizontal grid lines only.
     * * `Vertical`: Displays the vertical grid lines only.
     * * `Default`: Displays grid lines based on the theme.
     * {% codeBlock src='grid/gridLines/index.md' %}{% endcodeBlock %}
     *
     * @default Default
     */
    gridLines?: GridLine;
    /**
     * The row template that renders customized rows from the given template.
     * By default, Grid renders a table row for every data source item.
     * > * It accepts either [template string](../../common/template-engine/) or HTML element ID.
     * > * The row template must be a table row.
     *
     * > Check the [`Row Template`](../../grid/row/) customization.
     *
     * @default null
     * @aspType string
     */
    rowTemplate?: string | Function;
    /**
     * The empty record template that renders customized element or text or image instead of displaying the empty record message in the grid.
     * > It accepts either the [template string](../../common/template-engine/) or the HTML element ID.
     *
     * @default null
     * @aspType string
     */
    emptyRecordTemplate?: string | Function;
    /**
     * 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 %}
     *
     * @default null
     * @aspType string
     */
    detailTemplate?: string | Function;
    /**
     * Defines Grid options to render child Grid.
     * It requires the [`queryString`](./#querystring) for parent
     * and child relationship.
     *
     * > Check the [`Child Grid`](../../grid/hierarchy-grid/) for its configuration.
     *
     * @default ''
     *
     */
    childGrid?: GridModel;
    /**
     * Defines the relationship between parent and child datasource. It acts as the foreign key for parent datasource.
     *
     * @default ''
     */
    queryString?: string;
    /**
     * Defines the print modes. The available print modes are
     * * `AllPages`: Prints all pages of the Grid.
     * * `CurrentPage`: Prints the current page of the Grid.
     * {% codeBlock src='grid/printMode/index.md' %}{% endcodeBlock %}
     *
     * @default AllPages
     */
    printMode?: PrintMode;
    /**
     * Defines the hierarchy grid print modes. The available modes are
     * * `Expanded` - Prints the master grid with expanded child grids.
     * * `All` - Prints the master grid with all the child grids.
     * * `None` - Prints the master grid alone.
     *
     * @default Expanded
     */
    hierarchyPrintMode?: HierarchyGridPrintMode;
    /**
     * It is used to render grid table rows.
     * If the `dataSource` is an array of JavaScript objects,
     * then Grid will create instance of [`data.DataManager`](https://ej2.syncfusion.com/documentation/api/data/dataManager/)
     * from this `dataSource`.
     * If the `dataSource` is an existing [`data.DataManager`](https://ej2.syncfusion.com/documentation/api/data/dataManager/),
     *  the Grid will not initialize a new one.
     *
     * > Check the available [`Adaptors`](../../data/adaptors/) to customize the data operation.
     * {% codeBlock src='grid/dataSource/index.md' %}{% endcodeBlock %}
     *
     * @default []
     * @isGenericType true
     */
    dataSource?: Object | data.DataManager | DataResult;
    /**
     * Defines the height of Grid rows.
     * {% codeBlock src='grid/rowHeight/index.md' %}{% endcodeBlock %}
     *
     * @default null
     */
    rowHeight?: number;
    /**
     * Defines the external [`data.Query`](https://ej2.syncfusion.com/documentation/data/api-query.html)
     * that will be executed along with data processing.
     * {% codeBlock src='grid/query/index.md' %}{% endcodeBlock %}
     *
     * @default null
     */
    query?: data.Query;
    /**
     * Defines the currencyCode format of the Grid columns
     *
     * @private
     */
    currencyCode?: string;
    /**
     * Defines the id of the grids that needs to be exported
     *
     * @default null
     */
    exportGrids?: string[];
    /**
     * `toolbar` defines the ToolBar items of the Grid.
     * It contains built-in and custom toolbar items.
     * If a string value is assigned to the `toolbar` option, it is considered as the template for the whole Grid ToolBar.
     * If an array value is assigned, it is considered as the list of built-in and custom toolbar items in the Grid's Toolbar.
     * <br><br>
     * The available built-in ToolBar items are:
     * * Add: Adds a new record.
     * * Edit: Edits the selected record.
     * * Update: Updates the edited record.
     * * Delete: Deletes the selected record.
     * * Cancel: Cancels the edit state.
     * * Search: Searches records by the given key.
     * * Print: Prints the Grid.
     * * ExcelExport - Export the Grid to Excel(excelExport() method manually to make export.)
     * * PdfExport - Export the Grid to PDF(pdfExport() method manually to make export.)
     * * CsvExport - Export the Grid to CSV(csvExport() method manually to make export.)<br><br>
     * The following code example implements the custom toolbar items.
     *
     *  > Check the [`Toolbar`](../../grid/tool-bar/#custom-toolbar-items/) to customize its default items.
     *
     * {% codeBlock src="grid/toolbar-api/index.ts" %}{% endcodeBlock %}
     * {% codeBlock src='grid/toolbar/index.md' %}{% endcodeBlock %}
     *
     * @default null
     */
    toolbar?: (ToolbarItems | string | navigations.ItemModel | ToolbarItem)[];
    /**
     * `contextMenuItems` defines both built-in and custom context menu items.
     * <br><br>
     * The available built-in items are,
     * * `AutoFitAll` - Auto fit the size of all columns.
     * * `AutoFit` - Auto fit the current column.
     * * `Group` - Group by current column.
     * * `Ungroup` - Ungroup by current column.
     * * `Edit` - Edit the current record.
     * * `Delete` - Delete the current record.
     * * `Save` - Save the edited record.
     * * `Cancel` - Cancel the edited state.
     * * `Copy` - Copy the selected records.
     * * `PdfExport` - Export the grid as Pdf format.
     * * `ExcelExport` - Export the grid as Excel format.
     * * `CsvExport` - Export the grid as CSV format.
     * * `SortAscending` - Sort the current column in ascending order.
     * * `SortDescending` - Sort the current column in descending order.
     * * `FirstPage` - Go to the first page.
     * * `PrevPage` - Go to the previous page.
     * * `LastPage` - Go to the last page.
     * * `NextPage` - Go to the next page.
     *
     * @default null
     */
    contextMenuItems?: ContextMenuItem[] | ContextMenuItemModel[];
    /**
     * `columnMenuItems` defines both built-in and custom column menu items.
     * <br><br>
     * The available built-in items are,
     * * `AutoFitAll` - Auto fit the size of all columns.
     * * `AutoFit` - Auto fit the current column.
     * * `Group` - Group by current column.
     * * `Ungroup` - Ungroup by current column.
     * * `SortAscending` - Sort the current column in ascending order.
     * * `SortDescending` - Sort the current column in descending order.
     * * `Filter` - Filter options will show based on filterSettings property like checkbox filter, excel filter, menu filter.
     *
     * @default null
     */
    columnMenuItems?: ColumnMenuItem[] | ColumnMenuItemModel[];
    /**
     * It used to render toolbar template
     *
     * @default null
     * @aspType string
     */
    toolbarTemplate?: string | Function;
    /**
     * It used to render pager template
     *
     * @default null
     * @aspType string
     */
    pagerTemplate?: string | Function;
    /**
     * Gets or sets the number of frozen rows.
     * {% codeBlock src='grid/frozenRows/index.md' %}{% endcodeBlock %}
     *
     * @default 0
     */
    frozenRows?: number;
    /**
     * Gets or sets the number of frozen columns.
     * {% codeBlock src='grid/frozenColumns/index.md' %}{% endcodeBlock %}
     *
     * @default 0
     */
    frozenColumns?: number;
    /**
     * Defines the own class for the grid element.
     *
     * @default ''
     */
    cssClass?: string;
    /**
     * `columnQueryMode`provides options to retrive data from the datasource.Their types are
     * * `All`: It Retrives whole datasource.
     * * `Schema`: Retrives data for all the defined columns in grid from the datasource.
     * * `ExcludeHidden`: Retrives data only for visible columns of grid from the dataSource.
     *
     * @default All
     */
    columnQueryMode?: ColumnQueryModeType;
    /**
     * Gets or sets the current action details.
     *
     * @default {}
     */
    currentAction?: ActionArgs;
    /**
     * Defines the version for Grid persistence.
     *
     * @default ''
     */
    ej2StatePersistenceVersion?: string;
    /**
     * Triggers when the component is created.
     *
     * @event created
     */
    created?: base.EmitType<Object>;
    /**
     * Triggers when the component is destroyed.
     *
     * @event destroyed
     */
    destroyed?: base.EmitType<Object>;
    /**
     * This event allows customization of Grid properties before rendering.
     *
     * @event load
     */
    load?: base.EmitType<Object>;
    /**
     * Triggered every time a request is made to access row information, element, or data.
     * This will be triggered before the row element is appended to the Grid element.
     *
     * @event rowDataBound
     */
    rowDataBound?: base.EmitType<RowDataBoundEventArgs>;
    /**
     * Triggered every time a request is made to access cell information, element, or data.
     * This will be triggered before the cell element is appended to the Grid element.
     *
     * @event queryCellInfo
     */
    queryCellInfo?: base.EmitType<QueryCellInfoEventArgs>;
    /**
     * Triggered for stacked header.
     *
     * @event headerCellInfo
     */
    headerCellInfo?: base.EmitType<HeaderCellInfoEventArgs>;
    /**
     * Triggers when Grid actions such as sorting, filtering, paging, grouping etc., starts.
     * 
     * {% codeBlock src='grid/actionBegin/index.md' %}{% endcodeBlock %}
     *
     * @event actionBegin
     */
    actionBegin?: base.EmitType<PageEventArgs | GroupEventArgs | FilterEventArgs | SearchEventArgs | SortEventArgs | AddEventArgs | SaveEventArgs | EditEventArgs | DeleteEventArgs | ActionEventArgs | NotifyArgs | ReorderEventArgs>;
    /**
     * Triggers when Grid actions such as sorting, filtering, paging, grouping etc. are completed.
     *
     * @event actionComplete
     */
    actionComplete?: base.EmitType<PageEventArgs | GroupEventArgs | FilterEventArgs | SearchEventArgs | SortEventArgs | AddEventArgs | SaveEventArgs | EditEventArgs | DeleteEventArgs | ActionEventArgs | NotifyArgs | ReorderEventArgs>;
    /**
     * Triggers when any Grid action failed to achieve the desired results.
     *
     * @event actionFailure
     */
    actionFailure?: base.EmitType<FailureEventArgs>;
    /**
     * Triggers when data source is populated in the Grid.
     *
     * @event dataBound
     */
    dataBound?: base.EmitType<Object>;
    /**
     * Triggers when record is double clicked.
     *
     * @event recordDoubleClick
     */
    recordDoubleClick?: base.EmitType<RecordDoubleClickEventArgs>;
    /**
     * Triggers when record is clicked.
     *
     * @event recordClick
     */
    recordClick?: base.EmitType<RecordClickEventArgs>;
    /**
     * Triggers before row selection occurs.
     *
     * @event rowSelecting
     */
    rowSelecting?: base.EmitType<RowSelectingEventArgs>;
    /**
     * Triggers after a row is selected.
     *
     * @event rowSelected
     */
    rowSelected?: base.EmitType<RowSelectEventArgs>;
    /**
     * Triggers before deselecting the selected row.
     *
     * @event rowDeselecting
     */
    rowDeselecting?: base.EmitType<RowDeselectingEventArgs>;
    /**
     * Triggers when a selected row is deselected.
     *
     * @event rowDeselected
     */
    rowDeselected?: base.EmitType<RowDeselectEventArgs>;
    /**
     * Triggers before any cell selection occurs.
     *
     * @event cellSelecting
     */
    cellSelecting?: base.EmitType<CellSelectingEventArgs>;
    /**
     * Triggers after a cell is selected.
     *
     * @event cellSelected
     */
    cellSelected?: base.EmitType<CellSelectEventArgs>;
    /**
     * Triggers before the selected cell is deselecting.
     *
     * @event cellDeselecting
     */
    cellDeselecting?: base.EmitType<CellDeselectEventArgs>;
    /**
     * Triggers when a particular selected cell is deselected.
     *
     * @event cellDeselected
     */
    cellDeselected?: base.EmitType<CellDeselectEventArgs>;
    /**
     * Triggers before column selection occurs.
     *
     * @event columnSelecting
     */
    columnSelecting?: base.EmitType<ColumnSelectingEventArgs>;
    /**
     * Triggers after a column is selected.
     *
     * @event columnSelected
     */
    columnSelected?: base.EmitType<ColumnSelectEventArgs>;
    /**
     * Triggers before deselecting the selected column.
     *
     * @event columnDeselecting
     */
    columnDeselecting?: base.EmitType<ColumnDeselectEventArgs>;
    /**
     * Triggers when a selected column is deselected.
     *
     * @event columnDeselected
     */
    columnDeselected?: base.EmitType<ColumnDeselectEventArgs>;
    /**
     * Triggers when column header element drag (move) starts.
     *
     * @event columnDragStart
     */
    columnDragStart?: base.EmitType<ColumnDragEventArgs>;
    /**
     * Triggers when column header element is dragged (moved) continuously.
     *
     * @event columnDrag
     */
    columnDrag?: base.EmitType<ColumnDragEventArgs>;
    /**
     * Triggers when a column header element is dropped on the target column.
     *
     * @event columnDrop
     */
    columnDrop?: base.EmitType<ColumnDragEventArgs>;
    /**
     * Triggers after print action is completed.
     *
     * @event printComplete
     */
    printComplete?: base.EmitType<PrintEventArgs>;
    /**
     * Triggers before the print action starts.
     *
     * @event beforePrint
     */
    beforePrint?: base.EmitType<PrintEventArgs>;
    /**
     * Triggers before exporting each cell to PDF document. You can also customize the PDF cells.
     *
     * @event pdfQueryCellInfo
     */
    pdfQueryCellInfo?: base.EmitType<PdfQueryCellInfoEventArgs>;
    /**
     * Triggers before exporting each header cell to PDF document. You can also customize the PDF cells.
     *
     * @event pdfHeaderQueryCellInfo
     */
    pdfHeaderQueryCellInfo?: base.EmitType<PdfHeaderQueryCellInfoEventArgs>;
    /**
     * Triggers before exporting aggregate cell to PDF document. You can also customize the PDF cells.
     *
     * @event pdfAggregateQueryCellInfo
     */
    pdfAggregateQueryCellInfo?: base.EmitType<AggregateQueryCellInfoEventArgs>;
    /**
     * Triggers before exporting aggregate cell to Excel document. You can also customize the PDF cells.
     *
     * @event excelAggregateQueryCellInfo
     */
    excelAggregateQueryCellInfo?: base.EmitType<AggregateQueryCellInfoEventArgs>;
    /**
     * Triggers before exporting each detail Grid to PDF document.
     *
     * @event exportDetailDataBound
     */
    exportDetailDataBound?: base.EmitType<ExportDetailDataBoundEventArgs>;
    /**
     * Triggers before exporting each detail template.
     *
     * @event exportDetailTemplate
     */
    exportDetailTemplate?: base.EmitType<ExportDetailTemplateEventArgs>;
    /**
     * Triggers before exporting each cell to Excel file.
     * You can also customize the Excel cells.
     *
     * @event excelQueryCellInfo
     */
    excelQueryCellInfo?: base.EmitType<ExcelQueryCellInfoEventArgs>;
    /**
     * Triggers before exporting each header cell to Excel file.
     * You can also customize the Excel cells.
     *
     * @event excelHeaderQueryCellInfo
     */
    excelHeaderQueryCellInfo?: base.EmitType<ExcelHeaderQueryCellInfoEventArgs>;
    /**
     * Triggers before Grid data is exported to Excel file.
     *
     * @event beforeExcelExport
     */
    beforeExcelExport?: base.EmitType<Object>;
    /**
     * Triggers after Grid data is exported to Excel file.
     *
     * @event excelExportComplete
     */
    excelExportComplete?: base.EmitType<ExcelExportCompleteArgs>;
    /**
     * Triggers before Grid data is exported to PDF document.
     *
     * @event beforePdfExport
     */
    beforePdfExport?: base.EmitType<Object>;
    /**
     * Triggers after Grid data is exported to PDF document.
     *
     * @event pdfExportComplete
     */
    pdfExportComplete?: base.EmitType<PdfExportCompleteArgs>;
    /**
     * Triggers when row element's before drag(move).
     *
     * @event rowDragStartHelper
     */
    rowDragStartHelper?: base.EmitType<RowDragEventArgs>;
    /**
     * Triggers after detail row expands.
     * > This event triggers at initial expand.
     *
     * @event detailDataBound
     */
    detailDataBound?: base.EmitType<DetailDataBoundEventArgs>;
    /**
     * Triggers when row element's drag(move) starts.
     *
     * @event rowDragStart
     */
    rowDragStart?: base.EmitType<RowDragEventArgs>;
    /**
     * Triggers when row elements are dragged (moved) continuously.
     *
     * @event rowDrag
     */
    rowDrag?: base.EmitType<RowDragEventArgs>;
    /**
     * Triggers when row elements are dropped on the target row.
     *
     * @event rowDrop
     */
    rowDrop?: base.EmitType<RowDragEventArgs>;
    /**
     * Triggers when toolbar item is clicked.
     *
     * @event toolbarClick
     */
    toolbarClick?: base.EmitType<navigations.ClickEventArgs>;
    /**
     * Triggers before the columnChooser open.
     *
     * @event beforeOpenColumnChooser
     */
    beforeOpenColumnChooser?: base.EmitType<ColumnChooserEventArgs>;
    /**
     * Triggers before adaptive filter and sort dialogs open.
     *
     * @event beforeOpenAdaptiveDialog
     */
    beforeOpenAdaptiveDialog?: base.EmitType<AdaptiveDialogEventArgs>;
    /**
     * Triggers when records are added in batch mode.
     *
     * @event batchAdd
     */
    batchAdd?: base.EmitType<BatchAddArgs>;
    /**
     * Triggers when records are deleted in batch mode.
     *
     * @event batchDelete
     */
    batchDelete?: base.EmitType<BatchDeleteArgs>;
    /**
     * Triggers when cancel the batch edit changes batch mode.
     *
     * @event batchCancel
     */
    batchCancel?: base.EmitType<BatchCancelArgs>;
    /**
     * Triggers before records are added in batch mode.
     *
     * @event beforeBatchAdd
     */
    beforeBatchAdd?: base.EmitType<BeforeBatchAddArgs>;
    /**
     * Triggers before records are deleted in batch mode.
     *
     * @event beforeBatchDelete
     */
    beforeBatchDelete?: base.EmitType<BeforeBatchDeleteArgs>;
    /**
     * Triggers before records are saved in batch mode.
     *
     * @event beforeBatchSave
     */
    beforeBatchSave?: base.EmitType<BeforeBatchSaveArgs>;
    /**
     * Triggers before the record is to be edit.
     *
     * @event beginEdit
     */
    beginEdit?: base.EmitType<BeginEditArgs>;
    /**
     * Triggers when command button is clicked.
     *
     * @event commandClick
     */
    commandClick?: base.EmitType<CommandClickEventArgs>;
    /**
     * Triggers when the cell is being edited.
     *
     * @event cellEdit
     */
    cellEdit?: base.EmitType<CellEditArgs>;
    /**
     * Triggers when the cell is being saved.
     *
     * @event cellSave
     */
    cellSave?: base.EmitType<CellSaveArgs>;
    /**
     * Triggers after the cell is saved.
     *
     * @event cellSaved
     */
    cellSaved?: base.EmitType<CellSaveArgs>;
    /**
     * Triggers when column resize starts.
     *
     * @event resizeStart
     */
    resizeStart?: base.EmitType<ResizeArgs>;
    /**
     * Triggers on column resizing.
     *
     * @event resizing
     */
    resizing?: base.EmitType<ResizeArgs>;
    /**
     * Triggers when column resize ends.
     *
     * @event resizeStop
     */
    resizeStop?: base.EmitType<ResizeArgs>;
    /**
     * Triggers when any keyboard keys are pressed inside the grid.
     *
     * @event keyPressed
     */
    keyPressed?: base.EmitType<KeyboardEventArgs>;
    /**
     * Triggers before data is bound to Grid.
     *
     * @event beforeDataBound
     */
    beforeDataBound?: base.EmitType<BeforeDataBoundArgs>;
    /**
     * Triggers before context menu opens.
     *
     * @event contextMenuOpen
     */
    contextMenuOpen?: base.EmitType<navigations.BeforeOpenCloseMenuEventArgs>;
    /**
     * Triggers when click on context menu.
     *
     * @event contextMenuClick
     */
    contextMenuClick?: base.EmitType<ContextMenuClickEventArgs>;
    /**
     * Triggers before column menu opens.
     *
     * @event columnMenuOpen
     */
    columnMenuOpen?: base.EmitType<ColumnMenuOpenEventArgs>;
    /**
     * Triggers when click on column menu.
     *
     * @event columnMenuClick
     */
    columnMenuClick?: base.EmitType<navigations.MenuEventArgs>;
    /**
     * Triggers when the check box state change in checkbox column.
     *
     * @event checkBoxChange
     */
    checkBoxChange?: base.EmitType<CheckBoxChangeEventArgs>;
    /**
     * Triggers before Grid copy action.
     *
     * @event beforeCopy
     */
    beforeCopy?: base.EmitType<BeforeCopyEventArgs>;
    /**
     * Triggers before Grid paste action.
     *
     * @event beforePaste
     */
    beforePaste?: base.EmitType<BeforePasteEventArgs>;
    /**
     * Triggers before Grid autoFill action.
     *
     * @event beforeAutoFill
     */
    beforeAutoFill?: base.EmitType<BeforeAutoFillEventArgs>;
    /**
     * Triggers when the grid actions such as Sorting, Paging, Grouping etc., are done to get column `dataSource`.
     * In this event,the current view column data and total record count should be assigned to the column `dataSource` based
     * on the action performed.
     *
     * @event columnDataStateChange
     */
    columnDataStateChange?: base.EmitType<ColumnDataStateChangeEventArgs>;
    /**
     * Triggers when the grid actions such as Sorting, Paging, Grouping etc., are done.
     * In this event,the current view data and total record count should be assigned to the `dataSource` based on the action performed.
     *
     * @event dataStateChange
     */
    dataStateChange?: base.EmitType<DataStateChangeEventArgs>;
    /**
     * Triggers when the grid data is added, deleted and updated.
     * Invoke the done method from the argument to start render after edit operation.
     *
     * @event dataSourceChanged
     */
    dataSourceChanged?: base.EmitType<DataSourceChangedEventArgs>;
    /**
     * Triggers before exporting each caption row to PDF/Excel/CSV document. You can also customize the export caption row values.
     *
     * @event exportGroupCaption
     */
    exportGroupCaption?: base.EmitType<ExportGroupCaptionEventArgs>;
    /**
     * Triggers when expand the caption row in lazy load grouping.
     *
     * @event lazyLoadGroupExpand
     */
    lazyLoadGroupExpand?: base.EmitType<LazyLoadArgs>;
    /**
     * Triggers when collapse the caption row in lazy load grouping.
     *
     * @event lazyLoadGroupCollapse
     */
    lazyLoadGroupCollapse?: base.EmitType<LazyLoadArgs>;
    /**
     * base.Event triggered before a detail template row is removed from the DOM.
     *
     * This event allows executing necessary cleanup operations or additional actions before the detail row is detached.
     *
     * @event beforeDetailTemplateDetach
     */
    beforeDetailTemplateDetach?: base.EmitType<DetailTemplateDetachArgs>;
}
//node_modules/@syncfusion/ej2-grids/src/grid/base/enum.d.ts
/**
 * Defines Actions of the Grid. They are
 * ```props
 * * paging :-  Defines current action as paging.
 * * refresh :- Defines current action as refresh.
 * * sorting :- Defines current action as sorting.
 * * selection :- Defines current action as selection.
 * * filtering :- Defines current action as filtering.
 * * searching :- Defines current action as searching.
 * * rowdraganddrop :- Defines current action as row drag and drop.
 * * reorder :- Defines current action as reorder.
 * * grouping :- Defines current action as grouping.
 * * ungrouping :- Defines current action as ungrouping.
 * * batchsave :- Defines current action as batch save.
 * * virtualscroll :- Defines current action as virtual scroll.
 * * print :- Defines current action as print.
 * * beginEdit :- Defines current action as begin edit.
 * * save :- Defines current action as save.
 * * delete :- Defines current action as delete.
 * * cancel :- Defines current action as cancel.
 * * add :- Defines current action as add.
 * * filterBeforeOpen :- Defines current action as filter before open.
 * * filterchoicerequest :- Defines current action as filter choice request.
 * * filterAfterOpen :- Defines current action as filter after open.
 * * filterSearchBegin :- Defines current action as filter search begin.
 * * columnstate :- represents the column state.
 * * infiniteScroll :- Defines current action as infinite scroll.
 * * stringfilterreques :- Defines current action as string filter request.
 * * booleanfilterrequest :- Defines current action as boolean filter request.
 * ```
 */
export  type Action = 'paging' | 'refresh' | 'sorting' | 'selection' | 'filtering' | 'searching' | 'rowdraganddrop' | 'reorder' | 'grouping' | 'ungrouping' | 'batchsave' | 'virtualscroll' | 'print' | 'beginEdit' | 'save' | 'delete' | 'cancel' | 'add' | 'filterBeforeOpen' | 'filterchoicerequest' | 'filterAfterOpen' | 'filterSearchBegin' | 'columnstate' | 'infiniteScroll' | 'stringfilterrequest' | 'booleanfilterrequest' | 'batchDelete' | 'batchCancel';
/**
 * Defines directions of Sorting. They are
 * ```props
 * * Ascending :- Defines sort direction as ascending.
 * * Descending :- Defines sort direction as descending.
 * ```
 */
export  type SortDirection = 'Ascending' | 'Descending';
/**
 * `columnQueryMode`provides options to retrive data from the datasource. They are
 * ```props
 * * All :- Retrieves 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.
 * ```
 */
export  type ColumnQueryModeType = 'All' | 'Schema' | 'ExcludeHidden';
/**
 * Defines types of Selection. They are
 * ```props
 * * Single :- Allows user to select a row or cell.
 * * Multiple :- Allows user to select multiple rows or cells.
 * ```
 */
export  type SelectionType = 'Single' | 'Multiple';
/**
 * Defines modes of checkbox Selection. They are
 * ```props
 * * Default :- Allows the user to select multiple rows by clicking rows one by one.
 * * ResetOnRowClick :- Allows to reset the previously selected row when a row is clicked and multiple rows can be selected by using CTRL or SHIFT key.
 * ```
 */
export  type CheckboxSelectionType = 'Default' | 'ResetOnRowClick';
/**
 * Defines alignments of text, they are
 * ```props
 * * Left :- Defines Left alignment
 * * Right :- Defines Right alignment
 * * Center :- Defines Center alignment
 * * Justify :- Defines Justify alignment
 * ```
 */
export  type TextAlign = 'Left' | 'Right' | 'Center' | '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
 * ```props
 * * 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 = 'Both' | 'None' | 'Horizontal' | 'Vertical' | 'Default';
/**
 * Defines modes of AdaptiveMode, They are
 * ```props
 * * Both :- Adaptive layout for both mobile and desktop devices.
 * * Mobile :- Adaptive layout only for smaller devices.
 * * Desktop :- Adaptive layout only for desktop devices.
 * ```
 */
export  type AdaptiveMode = 'Both' | 'Mobile' | 'Desktop';
/**
 * 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
 * ```props
 * * Row :- Defines SelectionMode as row.
 * * Cell :- Defines SelectionMode as cell.
 * * Both :- Defines SelectionMode as both.
 * ```
 */
export  type SelectionMode = 'Cell' | 'Row' | 'Both';
/**
 * Print mode options are
 * ```props
 * * AllPages :- Print all pages records of the Grid.
 * * CurrentPage :- Print current page records of the Grid.
 * ```
 */
export  type PrintMode = 'AllPages' | 'CurrentPage';
/**
 * Hierarchy Grid Print modes are
 * ```props
 * * `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 = 'Expanded' | 'All' | 'None';
/**
 * Defines types of Filter
 * ```props
 * * 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 = 'FilterBar' | 'Excel' | 'Menu' | 'CheckBox';
/**
 * Filter bar mode options are
 * ```props
 * * 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 = 'OnEnter' | 'Immediate';
/**
 * Defines the aggregate types.
 * ```props
 * * Sum :- Specifies sum aggregate type.
 * * Average :- Specifies average aggregate type.
 * * Max :- Specifies maximum aggregate type.
 * * Min :- Specifies minimum aggregate type.
 * * Count :- Specifies count aggregate type.
 * * TrueCount :- Specifies true count aggregate type.
 * * FalseCount :- Specifies false count aggregate type.
 * * Custom :- Specifies custom aggregate type.
 * ```
 */
export  type AggregateType = 'Sum' | 'Average' | 'Max' | 'Min' | 'Count' | 'TrueCount' | 'FalseCount' | 'Custom';
/**
 * Defines the wrap mode.
 * ```props
 * * Both :-  Wraps both header and content.
 * * Header :- Wraps header alone.
 * * Content :- Wraps content alone.
 * ```
 * {% codeBlock src='grid/textWrapSettings/index.md' %}{% endcodeBlock %}
 */
export  type WrapMode = 'Both' | 'Header' | 'Content';
/**
 * Defines Multiple Export Type.
 * ```
 * * AppendToSheet :- Multiple Grids are exported to same Worksheet.
 * * NewSheet :- Multiple Grids are exported to separate Worksheet.
 * ```
 */
export  type MultipleExportType = 'AppendToSheet' | 'NewSheet';
/**
 * Defines Multiple Export Type.
 * ```
 * * AppendToPage :- Multiple Grids are exported to same page.
 * * NewPage :- Multiple Grids are exported to separate page.
 * ```
 */
export  type MultiplePdfExportType = 'AppendToPage' | 'NewPage';
/**
 * 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
 * ```props
 * * `Clip` :-  Truncates the cell content when it overflows its area.
 * * `Ellipsis` :-  Displays ellipsis when the cell content overflows its area.
 * * `EllipsisWithTooltip` :- Displays ellipsis when the cell content overflows its area
 * also it will display tooltip while hover on ellipsis applied cell.
 * ```
 * {% codeBlock src='grid/clipMode/index.md' %}{% endcodeBlock %}
 */
export  type ClipMode = 'Clip' | 'Ellipsis' | 'EllipsisWithTooltip';
/**
 * Defines the Command Buttons type.
 * ```props
 * * None :-  Edit the current record.
 * * Edit :-  Edit the current record.
 * * Delete :- Delete the current record.
 * * Save :- Save the current edited record.
 * * Cancel :- Cancel the edited state.
 * ```
 */
export  type CommandButtonType = 'None' | 'Edit' | 'Delete' | 'Save' | 'Cancel';
/**
 * Defines the default items of context menu.
 * ```props
 * * 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.
 * ```
 */
export  type ContextMenuItem = 'AutoFitAll' | 'AutoFit' | 'Group' | 'Ungroup' | 'Edit' | 'Delete' | 'Save' | 'Cancel' | 'Copy' | 'PdfExport' | 'ExcelExport' | 'CsvExport' | 'SortAscending' | 'SortDescending' | 'FirstPage' | 'PrevPage' | 'LastPage' | 'NextPage';
/**
 * Defines the default items of Column menu.
 * ```props
 * * 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.
 * * ColumnChooser :- show the column chooser.
 * * Filter :- show the Filter popup.
 * ```
 */
export  type ColumnMenuItem = 'AutoFitAll' | 'AutoFit' | 'Group' | 'Ungroup' | 'SortAscending' | 'SortDescending' | 'ColumnChooser' | '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
}
/**
 * Defines PDF page Size.
 * ```props
 * * Letter :- Letter size
 * * Note :- Note size
 * * Legal :- Legal size
 * * A0 :- A0 size
 * * A1 :- A1 size
 * * A2 :- A2 size
 * * A3 :- A3 size
 * * A4 :- A4 size
 * * A5 :- A5 size
 * * A6 :- A6 size
 * * A7 :- A7 size
 * * A8 :- A8 size
 * * A9 :- A9 size
 * * B0 :- B0 size
 * * B1 :- B1 size
 * * B2 :- B2 size
 * * B3 :- B3 size
 * * B4 :- B4 size
 * * B5 :- B5 size
 * * Archa :- Arch A size
 * * Archb :- Arch B size
 * * Archc :- Arch C size
 * * Archd :- Arch D size
 * * Arche :- Arch E size
 * * Flsa :- Flsa size
 * * HalfLetter :- HalfLetter size
 * * Letter11x17 :- Letter11x17 size
 * * Ledger :- Ledger size
 * ```
 */
export  type PdfPageSize = 'Letter' | 'Note' | 'Legal' | 'A0' | 'A1' | 'A2' | 'A3' | 'A4' | 'A5' | 'A6' | 'A7' | 'A8' | 'A9' | 'B0' | 'B1' | 'B2' | 'B3' | 'B4' | 'B5' | 'Archa' | 'Archb' | 'Archc' | 'Archd' | 'Arche' | 'Flsa' | 'HalfLetter' | 'Letter11x17' | 'Ledger';
/**
 * Defines PDF page PageOrientation.
 * ```props
 * * Landscape :- Sets landscape PDF page Orientation.
 * * Portrait :- Sets portrai PDF page Orientation.
 * ```
 */
export  type PageOrientation = 'Landscape' | 'Portrait';
/**
 * Defines PDF ContentType.
 * ```props
 * * Image :- PDF content is Image type
 * * Line :- PDF content is Line type
 * * PageNumber :- PDF content is PageNumber type
 * * Text :- PDF content is Text type
 * ```
 */
export  type ContentType = 'Image' | 'Line' | 'PageNumber' | 'Text';
/**
 * Defines PDF PageNumber Type.
 * ```props
 * * LowerLatin :- LowerCase Latin pageNumber
 * * LowerRoman :- LowerCase Roman pageNumber
 * * UpperLatin :- UpperCase Latin pageNumber
 * * UpperRoman :- UpperCase Roman pageNumber
 * * Numeric :- Numeric pageNumber
 * * Arabic :- Arabic pageNumber
 * ```
 */
export  type PdfPageNumberType = 'LowerLatin' | 'LowerRoman' | 'UpperLatin' | 'UpperRoman' | 'Numeric' | 'Arabic';
/**
 * Defines the PDF dash style.
 * ```props
 * * Solid :- Solid DashStyle
 * * Dash :- Dash DashStyle
 * * Dot :- Dot DashStyle
 * * DashDot :- DashDot DashStyle
 * * DashDotDot :- DashDotDot DashStyle
 * ```
 */
export  type PdfDashStyle = 'Solid' | 'Dash' | 'Dot' | 'DashDot' | 'DashDotDot';
/**
 * Defines PDF horizontal alignment.
 * ```props
 * * Left :- Aligns PDF content to left.
 * * Right :- Aligns PDF content to right.
 * * Center :- Aligns PDF content to center.
 * * Justify :- Aligns PDF content to justify.
 * ```
 */
export  type PdfHAlign = 'Left' | 'Right' | 'Center' | 'Justify';
/**
 * Defines PDF vertical alignment.
 * ```props
 * * Top :- Aligns PDF content to top.
 * * Bottom :- Aligns PDF content to bottom.
 * * Middle :- Aligns PDF content to middle.
 * ```
 */
export  type PdfVAlign = 'Top' | 'Bottom' | 'Middle';
/**
 * Defines Export Type.
 * ```props
 * * AllPages :- All pages of the grid is exported.
 * * CurrentPage :- Current page in grid is exported.
 * ```
 */
export  type ExportType = 'AllPages' | 'CurrentPage';
/**
 * Defines Excel horizontal alignment.
 * ```props
 * * Left :- Aligns excel content to left.
 * * Right :- Aligns excel content to right.
 * * Center :- Aligns excel content to center.
 * * Fill :- Aligns excel content to fill.
 * ```
 */
export  type ExcelHAlign = 'Left' | 'Right' | 'Center' | 'Fill';
/**
 * Defines Excel vertical alignment.
 * ```props
 * * Top :- Aligns excel content to top.
 * * Bottom :- Aligns excel content to bottom.
 * * Center :- Aligns excel content to center.
 * * Justify :- Aligns excel content to justify.
 * ```
 */
export  type ExcelVAlign = 'Top' | 'Bottom' | 'Center' | 'Justify';
/**
 * Defines excel border line style.
 * ```props
 * * thin :- Excel border line style as thin line.
 * * thick :- Excel border line style as thick line.
 * ```
 */
export  type ExcelBorderLineStyle = 'thin' | 'thick';
/**
 * Defines border line style.
 * ```props
 * * thin :- Border line style as thin line.
 * * thick :- Border line style as thick line.
 * ```
 */
export  type BorderLineStyle = 'Thin' | 'Thick';
/**
 * Defines Check Box check state.
 * ```props
 * * Check :- Check Box check state as check.
 * * Uncheck :- Check Box check state as uncheck.
 * * Intermediate :- Check Box check state as intermediate.
 * * None :- Check Box check state as none.
 * ```
 */
export  type CheckState = 'Check' | 'Uncheck' | 'Intermediate' | 'None';
/**
 * Defines mode of cell selection.
 * ```props
 * * Flow :- Defines CellSelectionMode as Flow
 * * Box :- Defines CellSelectionMode as Box
 * * BoxWithBorder :- Defines CellSelectionMode as Box with border
 * ```
 */
export  type CellSelectionMode = 'Flow' | 'Box' | 'BoxWithBorder';
/**
 * Defines modes of editing.
 * ```props
 * * Normal :-  Defines EditMode as Normal
 * * Dialog :- Defines EditMode as Dialog
 * * Batch :- Defines EditMode as Batch
 * ```
 */
export  type EditMode = 'Normal' | 'Dialog' | 'Batch';
/**
 * Defines adding new row position.
 * ```props
 * * Top :- Defines row adding position as Top
 * * Bottom :- Defines row adding position as Bottom
 * ```
 */
export  type NewRowPosition = 'Top' | 'Bottom';
/**
 * Defines the Edit Type of the column
 * ```props
 * * DefaultEdit :- Defines EditType as DefaultEdit
 * * DropdownEdit :- Defines EditMode as Dropdownedit
 * * BooleanEdit :- Defines EditMode as Booleanedit
 * * DatepickerEdit :- Defines EditMode as Datepickeredit
 * * DatetimepickerEdit :- Defines EditType as Datetimepickeredit
 * * NumericEdit :- Defines EditMode as Numericedit
 * ```
 */
export  type EditType = 'defaultEdit' | 'dropDownEdit' | 'booleanEdit' | 'datePickerEdit' | 'dateTimePickerEdit' | 'numericEdit';
/**
 * Defines the Column Type
 * ```props
 * * none :- Defines ColumnType as Null.
 * * String :- Defines ColumnType as String.
 * * Number :- Defines ColumnType as Number.
 * * Boolean :- Defines ColumnType as Boolean.
 * * Date :- Defines ColumnType as Date.
 * * DateTime :- Defines ColumnType as DateTime.
 * * checkBox :- Defines ColumnType as checkBox.
 * ```
 */
export  type ColumnType = 'none' | 'string' | 'number' | 'boolean' | 'date' | 'dateTime' | 'checkBox';
/**
 * Defines the Aggregate Template Type
 * ```props
 * * groupCaptionTemplate :- Defines Aggregate Template Type as GroupCaption.
 * * groupFooterTemplate :- Defines Aggregate Template Type as GroupFooter.
 * * footerTemplate :- Defines Aggregate Template Type as Footer.
 * ```
 */
export  type AggregateTemplateType = 'GroupCaption' | 'GroupFooter' | 'Footer';
/**
 * Defines mode of resizing.
 * ```props
 * * Normal :- Columns will not be adjusted to fit the remaining space.
 * * Auto :- Resized column width will be adjusted by other columns automatically.
 * ```
 */
export  type ResizeMode = 'Normal' | 'Auto';
/**
 * Defines freeze direction of the grid columns
 * ```props
 * * Left :- freeze the columns at left.
 * * Right :- freeze the columns at right.
 * * Fixed :- freeze the columns at center.
 * * None :- does not freeze any columns.
 * ```
 */
export  type freezeDirection = 'Left' | 'Right' | 'Fixed' | 'None';
/**
 * Defines rendered part of the grid column
 *
 * @hidden
 */
export  type freezeTable = 
/**  Defines rendered the column at frozen left part */
'frozen-left' | 
/**  Defines rendered the columns at frozen right part */
'frozen-right' | 
/**  Defines rendered the columns at movable part */
'movable';
/**
 * Defines name of the Grid frozen mode
 * ```props
 * * Left :- Left frozen mode
 * * Right :- Right frozen mode
 * * Left-Right :- Left and right frozen mode
 * ```
 */
export  type freezeMode = 'Left' | 'Right' | 'Left-Right';
/**
 * Defines types of responsive dialogs
 *
 * @hidden
 */
export  enum ResponsiveDialogAction {
    /**  Defines dialog type as Edit */
    isEdit = 0,
    /**  Defines dialog type as Add */
    isAdd = 1,
    /**  Defines dialog type as Sort */
    isSort = 2,
    /**  Defines dialog type as Filter */
    isFilter = 3,
    /**  Defines dialog type as ColMenu */
    isColMenu = 4,
    /**  Defines dialog type as ColumChooser */
    isColumnChooser = 5
}
/**
 * Defines responsive toolbar actions
 *
 * @hidden
 */
export  enum ResponsiveToolbarAction {
    /**  Defines initial responsive toolbar buttons */
    isInitial = 0,
    /**  Defines responsive toolbar search */
    isSearch = 1
}
/**
 * Defines mode of row rendering.
 * ```props
 * * Horizontal :- Defines horizontal row rendeing
 * * Vertical :- Defined vertical row rendering
 * ```
 */
export  type RowRenderingDirection = 'Horizontal' | 'Vertical';
/**
 * Defines keyboard focus keys.
 *
 * @hidden
 */
export  type FocusKeys = 'downArrow' | 'upArrow' | 'PageUp' | 'PageDown' | 'enter' | 'shiftEnter' | 'tab' | 'shiftTab';
/**
 * Defines focus type.
 *
 * @hidden
 */
export  type FocusType = 'key' | 'click';
/**
 * Defines Loading Indicator of the Grid.
 * ```props
 * * Spinner :- Defines Loading Indicator as Spinner.
 * * Shimmer :- Defines Loading Indicator as Shimmer.
 * ```
 */
export  type IndicatorType = 'Spinner' | 'Shimmer';
/**
 * Defines active name.
 *
 * @hidden
 */
export  type ActiveName = 'FrozenLeftHeader' | 'Movableheader' | 'FrozenRightHeader' | 'FrozenLeftContent' | 'MovableContent' | 'FrozenRightContent';
//node_modules/@syncfusion/ej2-grids/src/grid/base/constant.d.ts
/** @hidden */
export  const created: string;
/** @hidden */
export  const destroyed: string;
/** @hidden */
export  const load: string;
/** @hidden */
export  const rowDataBound: string;
/** @hidden */
export  const queryCellInfo: string;
/** @hidden */
export  const headerCellInfo: string;
/** @hidden */
export  const actionBegin: string;
/** @hidden */
export  const actionComplete: string;
/** @hidden */
export  const actionFailure: string;
/** @hidden */
export  const dataBound: string;
/** @hidden */
export  const rowSelecting: string;
/** @hidden */
export  const rowSelected: string;
/** @hidden */
export  const rowDeselecting: string;
/** @hidden */
export  const rowDeselected: string;
/** @hidden */
export  const cellSelecting: string;
/** @hidden */
export  const cellSelected: string;
/** @hidden */
export  const cellDeselecting: string;
/** @hidden */
export  const cellDeselected: string;
/** @hidden */
export  const columnSelecting: string;
/** @hidden */
export  const columnSelected: string;
/** @hidden */
export  const columnDeselecting: string;
/** @hidden */
export  const columnDeselected: string;
/** @hidden */
export  const columnDragStart: string;
/** @hidden */
export  const columnDrag: string;
/** @hidden */
export  const columnDrop: string;
/** @hidden */
export  const rowDragStartHelper: string;
/** @hidden */
export  const rowDragStart: string;
/** @hidden */
export  const rowDrag: string;
/** @hidden */
export  const rowDrop: string;
/** @hidden */
export  const beforePrint: string;
/** @hidden */
export  const printComplete: string;
/** @hidden */
export  const detailDataBound: string;
/** @hidden */
export  const toolbarClick: string;
/** @hidden */
export  const batchAdd: string;
/** @hidden */
export  const batchCancel: string;
/** @hidden */
export  const batchDelete: string;
/** @hidden */
export  const beforeBatchAdd: string;
/** @hidden */
export  const beforeBatchDelete: string;
/** @hidden */
export  const beforeBatchSave: string;
/** @hidden */
export  const beginEdit: string;
/** @hidden */
export  const cellEdit: string;
/** @hidden */
export  const cellSave: string;
/** @hidden */
export  const cellSaved: string;
/** @hidden */
export  const endAdd: string;
/** @hidden */
export  const endDelete: string;
/** @hidden */
export  const endEdit: string;
/** @hidden */
export  const recordDoubleClick: string;
/** @hidden */
export  const recordClick: string;
/** @hidden */
export  const beforeDataBound: string;
/** @hidden */
export  const beforeOpenColumnChooser: string;
/** @hidden */
export  const beforeOpenAdaptiveDialog: string;
/** @hidden */
export  const resizeStart: string;
/** @hidden */
export  const onResize: string;
/** @hidden */
export  const resizeStop: string;
/** @hidden */
export  const checkBoxChange: string;
/** @hidden */
export  const beforeCopy: string;
/** @hidden */
export  const beforePaste: string;
/** @hidden */
export  const beforeAutoFill: string;
/** @hidden */
export  const filterChoiceRequest: string;
/** @hidden */
export  const filterAfterOpen: string;
/** @hidden */
export  const filterBeforeOpen: string;
/** @hidden */
export  const filterSearchBegin: string;
/** @hidden */
export  const commandClick: string;
/** @hidden */
export  const exportGroupCaption: string;
/** @hidden */
export  const lazyLoadGroupExpand: string;
/** @hidden */
export  const lazyLoadGroupCollapse: string;
/**
 * Specifies grid internal events
 */
/** @hidden */
export  const initialLoad: string;
/** @hidden */
export  const initialEnd: string;
/** @hidden */
export  const dataReady: string;
/** @hidden */
export  const contentReady: string;
/** @hidden */
export  const uiUpdate: string;
/** @hidden */
export  const onEmpty: string;
/** @hidden */
export  const inBoundModelChanged: string;
/** @hidden */
export  const modelChanged: string;
/** @hidden */
export  const colGroupRefresh: string;
/** @hidden */
export  const headerRefreshed: string;
/** @hidden */
export  const pageBegin: string;
/** @hidden */
export  const pageComplete: string;
/** @hidden */
export  const sortBegin: string;
/** @hidden */
export  const sortComplete: string;
/** @hidden */
export  const filterBegin: string;
/** @hidden */
export  const filterComplete: string;
/** @hidden */
export  const searchBegin: string;
/** @hidden */
export  const searchComplete: string;
/** @hidden */
export  const reorderBegin: string;
/** @hidden */
export  const reorderComplete: string;
/** @hidden */
export  const rowDragAndDropBegin: string;
/** @hidden */
export  const rowDragAndDropComplete: string;
/** @hidden */
export  const groupBegin: string;
/** @hidden */
export  const groupComplete: string;
/** @hidden */
export  const ungroupBegin: string;
/** @hidden */
export  const ungroupComplete: string;
/** @hidden */
export  const groupAggregates: string;
/** @hidden */
export  const refreshFooterRenderer: string;
/** @hidden */
export  const refreshAggregateCell: string;
/** @hidden */
export  const refreshAggregates: string;
/** @hidden */
export  const rowSelectionBegin: string;
/** @hidden */
export  const rowSelectionComplete: string;
/** @hidden */
export  const columnSelectionBegin: string;
/** @hidden */
export  const columnSelectionComplete: string;
/** @hidden */
export  const cellSelectionBegin: string;
/** @hidden */
export  const cellSelectionComplete: string;
/** @hidden */
export  const destroyAutoFillElements: 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 exportDetailTemplate: string;
/** @hidden */
export  const beforePdfExport: string;
/** @hidden */
export  const pdfExportComplete: string;
/** @hidden */
export  const pdfQueryCellInfo: string;
/** @hidden */
export  const pdfHeaderQueryCellInfo: string;
/** @hidden */
export  const accessPredicate: string;
/** @hidden */
export  const contextMenuClick: string;
/** @hidden */
export  const freezeRender: string;
/** @hidden */
export  const freezeRefresh: string;
/** @hidden */
export  const contextMenuOpen: string;
/** @hidden */
export  const columnMenuClick: string;
/** @hidden */
export  const columnMenuOpen: string;
/** @hidden */
export  const filterOpen: string;
/** @hidden */
export  const filterDialogCreated: string;
/** @hidden */
export  const filterMenuClose: string;
/** @hidden */
export  const initForeignKeyColumn: string;
/** @hidden */
export  const getForeignKeyData: string;
/** @hidden */
export  const generateQuery: string;
/** @hidden */
export  const showEmptyGrid: string;
/** @hidden */
export  const foreignKeyData: string;
/** @hidden */
export  const columnDataStateChange: string;
/** @hidden */
export  const dataStateChange: string;
/** @hidden */
export  const dataSourceChanged: string;
/** @hidden */
export  const rtlUpdated: string;
/** @hidden */
export  const beforeFragAppend: string;
/** @hidden */
export  const frozenHeight: string;
/** @hidden */
export  const textWrapRefresh: string;
/** @hidden */
export  const recordAdded: string;
/** @hidden */
export  const cancelBegin: string;
/** @hidden */
export  const editNextValCell: string;
/** @hidden */
export  const hierarchyPrint: string;
/** @hidden */
export  const expandChildGrid: string;
/** @hidden */
export  const printGridInit: string;
/** @hidden */
export  const exportRowDataBound: string;
/** @hidden */
export  const exportDataBound: string;
/** @hidden */
export  const rowPositionChanged: string;
/** @hidden */
export  const columnChooserOpened: string;
/** @hidden */
export  const batchForm: string;
/** @hidden */
export  const beforeStartEdit: string;
/** @hidden */
export  const beforeBatchCancel: string;
/** @hidden */
export  const batchEditFormRendered: string;
/** @hidden */
export  const partialRefresh: string;
/** @hidden */
export  const beforeCustomFilterOpen: string;
/** @hidden */
export  const selectVirtualRow: string;
/** @hidden */
export  const columnsPrepared: string;
/** @hidden */
export  const cBoxFltrBegin: string;
/** @hidden */
export  const cBoxFltrComplete: string;
/** @hidden */
export  const fltrPrevent: string;
/** @hidden */
export  const beforeFltrcMenuOpen: string;
/** @hidden */
export  const valCustomPlacement: string;
/** @hidden */
export  const filterCboxValue: string;
/** @hidden */
export  const componentRendered: string;
/** @hidden */
export  const restoreFocus: string;
/** @hidden */
export  const detailStateChange: string;
/** @hidden */
export  const detailIndentCellInfo: string;
/** @hidden */
export  const virtaulKeyHandler: string;
/** @hidden */
export  const virtaulCellFocus: string;
/** @hidden */
export  const virtualScrollEditActionBegin: string;
/** @hidden */
export  const virtualScrollEditSuccess: string;
/** @hidden */
export  const virtualScrollEditCancel: string;
/** @hidden */
export  const virtualScrollEdit: string;
/** @hidden */
export  const refreshVirtualCache: string;
/** @hidden */
export  const editReset: string;
/** @hidden */
export  const virtualScrollAddActionBegin: string;
/** @hidden */
export  const getVirtualData: string;
/** @hidden */
export  const refreshInfiniteModeBlocks: string;
/** @hidden */
export  const resetInfiniteBlocks: string;
/** @hidden */
export  const infiniteScrollHandler: string;
/** @hidden */
export  const infinitePageQuery: string;
/** @hidden */
export  const infiniteShowHide: string;
/** @hidden */
export  const appendInfiniteContent: string;
/** @hidden */
export  const removeInfiniteRows: string;
/** @hidden */
export  const setInfiniteCache: string;
/** @hidden */
export  const infiniteEditHandler: string;
/** @hidden */
export  const initialCollapse: string;
/** @hidden */
export  const getAggregateQuery: string;
/** @hidden */
export  const closeFilterDialog: string;
/** @hidden */
export  const columnChooserCancelBtnClick: string;
/** @hidden */
export  const getFilterBarOperator: string;
/** @hidden */
export  const resetColumns: string;
/** @hidden */
export  const pdfAggregateQueryCellInfo: string;
/** @hidden */
export  const excelAggregateQueryCellInfo: string;
/** @hidden */
export  const setGroupCache: string;
/** @hidden */
export  const lazyLoadScrollHandler: string;
/** @hidden */
export  const groupCollapse: string;
/** @hidden */
export  const beforeCheckboxRenderer: string;
/** @hidden */
export  const refreshHandlers: string;
/** @hidden */
export  const refreshFrozenColumns: string;
/** @hidden */
export  const setReorderDestinationElement: string;
/** @hidden */
export  const refreshVirtualFrozenHeight: string;
/** @hidden */
export  const setFreezeSelection: string;
/** @hidden */
export  const setInfiniteFrozenHeight: string;
/** @hidden */
export  const setInfiniteColFrozenHeight: string;
/** @hidden */
export  const beforeRefreshOnDataChange: string;
/** @hidden */
export  const immutableBatchCancel: string;
/** @hidden */
export  const refreshVirtualFrozenRows: string;
/** @hidden */
export  const checkScrollReset: string;
/** @hidden */
export  const refreshFrozenHeight: string;
/** @hidden */
export  const setHeightToFrozenElement: string;
/** @hidden */
export  const preventFrozenScrollRefresh: string;
/** @hidden */
export  const nextCellIndex: string;
/** @hidden */
export  const refreshInfiniteCurrentViewData: string;
/** @hidden */
export  const infiniteCrudCancel: string;
/** @hidden */
export  const filterDialogClose: string;
/** @hidden */
export  const refreshCustomFilterOkBtn: string;
/** @hidden */
export  const refreshCustomFilterClearBtn: string;
/** @hidden */
export  const renderResponsiveCmenu: string;
/** @hidden */
export  const filterCmenuSelect: string;
/** @hidden */
export  const customFilterClose: string;
/** @hidden */
export  const setFullScreenDialog: string;
/** @hidden */
export  const refreshExpandandCollapse: string;
/** @hidden */
export  const rowModeChange: string;
/** @hidden */
export  const enterKeyHandler: string;
/** @hidden */
export  const refreshVirtualMaxPage: string;
/** @hidden */
export  const setVirtualPageQuery: string;
/** @hidden */
export  const selectRowOnContextOpen: string;
/** @hidden */
export  const pagerRefresh: string;
/** @hidden */
export  const closeInline: string;
/** @hidden */
export  const closeBatch: string;
/** @hidden */
export  const closeEdit: string;
/** @hidden */
export  const resetVirtualFocus: string;
/** @hidden */
export  const afterContentRender: string;
/** @hidden */
export  const refreshVirtualEditFormCells: string;
/** @hidden */
export  const scrollToEdit: string;
/** @hidden */
export  const beforeCheckboxRendererQuery: string;
/** @hidden */
export  const createVirtualValidationForm: string;
/** @hidden */
export  const validateVirtualForm: string;
/** @hidden */
export  const destroyChildGrid: string;
/** @hidden */
export  const stickyScrollComplete: string;
/** @hidden */
export  const captionActionComplete: string;
/** @hidden */
export  const refreshInfinitePersistSelection: string;
/** @hidden */
export  const refreshInfiniteEditrowindex: string;
/** @hidden */
export  const afterFilterColumnMenuClose: string;
/** @hidden */
export  const beforeCheckboxfilterRenderer: string;
/** @hidden */
export  const commandColumnDestroy: string;
/** @hidden */
export  const batchCnfrmDlgCancel: string;
/** @hidden */
export  const refreshVirtualLazyLoadCache: string;
/** @hidden */
export  const refreshFrozenPosition: string;
/** @hidden */
export  const refreshResizePosition: string;
/** @hidden */
export  const refreshSplitFrozenColumn: string;
/** @hidden */
export  const renderResponsiveChangeAction: string;
/** @hidden */
export  const renderResponsiveColumnChooserDiv: string;
/** @hidden */
export  const showAddNewRowFocus: string;
/** @hidden */
export  const infiniteScrollComplete: string;
/** @hidden */
export  const lastRowCellBorderUpdated: string;
/** @hidden */
export  const columnChooserSearch: string;
/** @hidden */
export  const columnChooserClose: string;
/** @hidden */
export  const columnChooserUpdate: string;
/** @hidden */
export  const destroyEditForm: string;
/** @hidden */
export  const beforeDetailTemplateDetach: string;
/** @hidden */
export  const detachDetailTemplate: string;
//node_modules/@syncfusion/ej2-grids/src/grid/actions/virtual-scroll.d.ts
/**
 * Virtual Scrolling class
 */
export  class VirtualScroll implements IAction {
    private parent;
    private blockSize;
    private locator;
    constructor(parent: IGrid, locator?: ServiceLocator);
    getModuleName(): string;
    private instantiateRenderer;
    ensurePageSize(): void;
    addEventListener(): void;
    removeEventListener(): void;
    private getCurrentEditedData;
    private createVirtualValidationForm;
    private virtualEditFormValidation;
    private scrollToEdit;
    private setEditedDataToValidationForm;
    private refreshVirtualElement;
    destroy(): void;
}
//node_modules/@syncfusion/ej2-grids/src/grid/actions/toolbar.d.ts
/**
 *
 * The `Toolbar` module is used to handle ToolBar actions.
 */
export  class Toolbar {
    /** @hidden */
    element: HTMLElement;
    private predefinedItems;
    toolbar: navigations.Toolbar;
    private searchElement;
    private gridID;
    protected sIcon: HTMLElement;
    private isSearched;
    private parent;
    private rowSelectedFunction;
    private rowDeSelectedFunction;
    private serviceLocator;
    private l10n;
    private items;
    private searchBoxObj;
    private evtHandlers;
    private isRightToolbarMenu;
    private responsiveToolbarMenu;
    private toolbarMenuElement;
    constructor(parent?: IGrid, serviceLocator?: ServiceLocator);
    private render;
    private isResponsiveToolbarMenuItems;
    /**
     * Gets the toolbar of the Grid.
     *
     * @returns {Element} returns the element
     * @hidden
     */
    getToolbar(): Element;
    /**
     * Destroys the ToolBar.
     *
     * @function destroy
     * @returns {void}
     */
    destroy(): void;
    private bindSearchEvents;
    private toolbarCreated;
    private createToolbar;
    private addReactToolbarPortals;
    private renderResponsiveSearch;
    private refreshResponsiveToolbarItems;
    /**
     * Refreshes the toolbar items
     *
     * @param {RefreshToolbarItemsArgs} args - Defines the editSettings model and name.
     * @returns {void}
     * @hidden
     */
    refreshToolbarItems(args?: RefreshToolbarItemsArgs): void;
    private getItems;
    private getItem;
    private getItemObject;
    /**
     * Enables or disables ToolBar items.
     *
     * @param {string[]} items - Defines the collection of itemID of ToolBar items.
     * @param {boolean} isEnable - Defines the items to be enabled or disabled.
     * @returns {void}
     * @hidden
     */
    enableItems(items: string[], isEnable: boolean): void;
    private toolbarClickHandler;
    private openResponsiveToolbarMenuPopup;
    private getMenuItems;
    private getLocaleText;
    private renderResponsiveToolbarpopup;
    private ResponsiveToolbarMenuItemClick;
    private beforeOpenResponsiveToolbarMenuItem;
    private modelChanged;
    protected onPropertyChanged(e: NotifyArgs): void;
    private keyUpHandler;
    private search;
    private updateSearchBox;
    private wireEvent;
    private unWireEvent;
    private onFocusIn;
    private onFocusOut;
    private setFocusToolbarItem;
    getFocusableToolbarItems(): Element[];
    private keyPressedHandler;
    private reRenderToolbar;
    protected addEventListener(): void;
    protected removeEventListener(): void;
    private removeResponsiveSearch;
    private rowSelected;
    /**
     * For internal use only - Get the module name.
     *
     * @returns {string} returns the module name
     */
    private getModuleName;
}
//node_modules/@syncfusion/ej2-grids/src/grid/actions/sort.d.ts
/**
 *
 * The `Sort` module is used to handle sorting action.
 */
export  class Sort implements IAction {
    private columnName;
    private direction;
    private isMultiSort;
    private lastSortedCol;
    private sortSettings;
    private enableSortMultiTouch;
    private contentRefresh;
    private isRemove;
    private sortedColumns;
    private isModelChanged;
    private aria;
    private focus;
    private lastSortedCols;
    private lastCols;
    private evtHandlers;
    /** @hidden */
    parent: IGrid;
    private currentTarget;
    /** @hidden */
    responsiveDialogRenderer: ResponsiveDialogRenderer;
    /** @hidden */
    serviceLocator: ServiceLocator;
    /**
     * Constructor for Grid sorting module
     *
     * @param {IGrid} parent - specifies the IGrid
     * @param {SortSettings} sortSettings - specifies the SortSettings
     * @param {string[]} sortedColumns - specifies the string
     * @param {ServiceLocator} locator - specifies the ServiceLocator
     * @hidden
     */
    constructor(parent?: IGrid, sortSettings?: SortSettings, sortedColumns?: string[], locator?: ServiceLocator);
    /**
     * The function used to update sortSettings
     *
     * @returns {void}
     * @hidden
     */
    updateModel(): void;
    /**
     * The function used to trigger onActionComplete
     *
     * @param {NotifyArgs} e - specifies the NotifyArgs
     * @returns {void}
     * @hidden
     */
    onActionComplete(e: NotifyArgs): void;
    /**
     * Sorts a column with the given options.
     *
     * @param {string} columnName - Defines the column name to sort.
     * @param {SortDirection} direction - Defines the direction of sorting field.
     * @param {boolean} isMultiSort - Specifies whether the previously sorted columns are to be maintained.
     * @returns {void}
     */
    sortColumn(columnName: string, direction: SortDirection, isMultiSort?: boolean): void;
    private setFullScreenDialog;
    private backupSettings;
    private restoreSettings;
    private updateSortedCols;
    /**
     * @param {NotifyArgs} e - specifies the NotifyArgs
     * @returns {void}
     * @hidden
     */
    onPropertyChanged(e: NotifyArgs): void;
    private refreshSortSettings;
    /**
     * Clears all the sorted columns of the Grid.
     *
     * @returns {void}
     */
    clearSorting(): void;
    private isActionPrevent;
    /**
     * Remove sorted column by field name.
     *
     * @param {string} field - Defines the column field name to remove sort.
     * @returns {void}
     * @hidden
     */
    removeSortColumn(field: string): void;
    private getSortedColsIndexByField;
    /**
     * For internal use only - Get the module name.
     *
     * @returns {string} returns the module name
     * @private
     */
    protected getModuleName(): string;
    private initialEnd;
    /**
     * @returns {void}
     * @hidden
     */
    addEventListener(): void;
    /**
     * @returns {void}
     * @hidden
     */
    removeEventListener(): void;
    private excelFilterSortAction;
    /**
     * To destroy the sorting
     *
     * @returns {void}
     * @hidden
     */
    destroy(): void;
    private cancelBeginEvent;
    private clickHandler;
    private excelFilterSortActionHandler;
    private keyPressed;
    private initiateSort;
    private showPopUp;
    private popUpClickHandler;
    private addSortIcons;
    private removeSortIcons;
    private getSortColumnFromField;
    private updateAriaAttr;
    private refreshSortIcons;
    private renderResponsiveChangeAction;
    /**
     * To show the responsive custom sort dialog
     *
     * @param {boolean} enable - specifes dialog open
     * @returns {void}
     * @hidden
     */
    showCustomSort(enable: boolean): void;
}
//node_modules/@syncfusion/ej2-grids/src/grid/actions/show-hide.d.ts
/**
 * The `ShowHide` module is used to control column visibility.
 */
export  class ShowHide {
    private parent;
    private colName;
    private changedCol;
    private isShowHide;
    private evtHandlers;
    private widthService;
    /**
     * Constructor for the show hide module.
     *
     * @param {IGrid} parent - specifies the IGrid
     * @hidden
     */
    constructor(parent: IGrid);
    addEventListener(): void;
    /**
     * @returns {void}
     * @hidden
     */
    removeEventListener(): void;
    private batchChanges;
    /**
     * Shows a column by column name.
     *
     * @param  {string|string[]} columnName - Defines a single or collection of column names to show.
     * @param  {string} showBy - Defines the column key either as field name or header text.
     * @returns {void}
     */
    show(columnName: string | string[], showBy?: string): void;
    /**
     * Hides a column by column name.
     *
     * @param  {string|string[]} columnName - Defines a single or collection of column names to hide.
     * @param  {string} hideBy - Defines the column key either as field name or header text.
     * @returns {void}
     */
    hide(columnName: string | string[], hideBy?: string): void;
    private getToggleFields;
    private getColumns;
    private batchActionPrevent;
    resetColumnState(): void;
    /**
     * Shows or hides columns by given column collection.
     *
     * @private
     * @param {Column[]} columns - Specifies the columns.
     * @param {Column[]} changedStateColumns - specifies the changedStateColumns
     * @returns {void}
     */
    setVisible(columns?: Column[], changedStateColumns?: Column[]): void;
}
//node_modules/@syncfusion/ej2-grids/src/grid/actions/selection.d.ts
/**
 * The `Selection` module is used to handle cell and row selection.
 */
export  class Selection implements IAction {
    /**
     * @hidden
     */
    selectedRowIndexes: number[];
    /**
     * @hidden
     */
    selectedRowCellIndexes: ISelectedCell[];
    /**
     * @hidden
     */
    selectedRecords: Element[];
    /**
     * @hidden
     */
    isRowSelected: boolean;
    /**
     * @hidden
     */
    isCellSelected: boolean;
    /**
     * @hidden
     */
    preventFocus: boolean;
    /**
     * @hidden
     */
    prevRowIndex: number;
    /**
     *  @hidden
     */
    selectedColumnsIndexes: number[];
    isColumnSelected: boolean;
    gridCurrentRecord: Object[];
    private prevColIndex;
    checkBoxState: boolean;
    private selectionSettings;
    private prevCIdxs;
    private prevECIdxs;
    private isMultiShiftRequest;
    private isMultiCtrlRequest;
    private isMultiCtrlRequestCell;
    private enableSelectMultiTouch;
    private clearRowCheck;
    private selectRowCheck;
    private element;
    private autofill;
    private isAutoFillSel;
    private startCell;
    private endCell;
    private startAFCell;
    private endAFCell;
    private startIndex;
    private startCellIndex;
    private startDIndex;
    private startDCellIndex;
    private currentIndex;
    private isDragged;
    private isCellDrag;
    private x;
    private y;
    private target;
    private actualTarget;
    private factory;
    private contentRenderer;
    private checkedTarget;
    private primaryKey;
    private chkField;
    /**
     * @hidden
     */
    selectedRowState: {
        [key: number]: boolean;
    };
    private unSelectedRowState;
    private totalRecordsCount;
    private chkAllCollec;
    private isCheckedOnAdd;
    private persistSelectedData;
    private virtualSelectedData;
    private deSelectedData;
    private onDataBoundFunction;
    private actionBeginFunction;
    private actionCompleteFunction;
    private actionCompleteFunc;
    private resizeEndFn;
    private mUPTarget;
    private bdrElement;
    private selectDirection;
    private mcBdrElement;
    private frcBdrElement;
    private fhBdrElement;
    private mhBdrElement;
    private frhBdrElement;
    private bdrAFLeft;
    private bdrAFRight;
    private bdrAFTop;
    private bdrAFBottom;
    /** @hidden */
    isInteracted: boolean;
    private isHeaderCheckboxClicked;
    private checkSelectAllClicked;
    private isHdrSelectAllClicked;
    private isRowClicked;
    private needColumnSelection;
    /**
     * @hidden
     */
    index: number;
    private toggle;
    private data;
    private removed;
    private parent;
    private focus;
    private isCancelDeSelect;
    private isPreventCellSelect;
    private disableUI;
    private isPersisted;
    private cmdKeyPressed;
    private isMacOS;
    private cellselected;
    private isMultiSelection;
    private isAddRowsToSelection;
    private initialRowSelection;
    private isPrevRowSelection;
    private isKeyAction;
    private isRowDragSelected;
    private evtHandlers;
    isPartialSelection: boolean;
    private rmtHdrChkbxClicked;
    private isCheckboxReset;
    private isRowDeselect;
    /**
     * @hidden
     */
    autoFillRLselection: boolean;
    private mouseButton;
    private timer1;
    private timer2;
    private isFocusLastCell;
    /**
     * Constructor for the Grid selection module
     *
     * @param {IGrid} parent - specifies the IGrid
     * @param {SelectionSettings} selectionSettings - specifies the selectionsettings
     * @param {ServiceLocator} locator - specifies the ServiceLocator
     * @hidden
     */
    constructor(parent?: IGrid, selectionSettings?: SelectionSettings, locator?: ServiceLocator);
    private initializeSelection;
    /**
     * The function used to trigger onActionBegin
     *
     * @param {Object} args - specifies the args
     * @param {string} type - specifies the type
     * @returns {void}
     * @hidden
     */
    onActionBegin(args: Object, type: string): void;
    private fDataUpdate;
    /**
     * The function used to trigger onActionComplete
     *
     * @param {Object} args - specifies the args
     * @param {string} type - specifies the type
     * @returns {void}
     * @hidden
     */
    onActionComplete(args: Object, type: string): void;
    /**
     * For internal use only - Get the module name.
     *
     * @returns {string} returns the module name
     * @private
     */
    protected getModuleName(): string;
    /**
     * To destroy the selection
     *
     * @returns {void}
     * @hidden
     */
    destroy(): void;
    private isEditing;
    getCurrentBatchRecordChanges(): Object[];
    /**
     * Selects a row by the given index.
     *
     * @param  {number} index - Defines the row index.
     * @param  {boolean} isToggle - If set to true, then it toggles the selection.
     * @returns {void}
     */
    selectRow(index: number, isToggle?: boolean): void;
    private rowSelectingCallBack;
    private selectRowCallBack;
    /**
     * Selects a range of rows from start and end row indexes.
     *
     * @param  {number} startIndex - Specifies the start row index.
     * @param  {number} endIndex - Specifies the end row index.
     * @returns {void}
     */
    selectRowsByRange(startIndex: number, endIndex?: number): void;
    private selectedDataUpdate;
    /**
     * Selects a collection of rows by index.
     *
     * @param  {number[]} rowIndexes - Specifies an array of row indexes.
     * @returns {void}
     */
    selectRows(rowIndexes: number[]): void;
    /**
     * Select rows with existing row selection by passing row indexes.
     *
     * @param {number} rowIndexes - Specifies the row indexes.
     * @returns {void}
     * @hidden
     */
    addRowsToSelection(rowIndexes: number[]): void;
    private getCollectionFromIndexes;
    private clearRow;
    private clearRowCallBack;
    private clearSelectedRow;
    private updateRowProps;
    private getPkValue;
    private updatePersistCollection;
    private updatePersistDelete;
    private updateCheckBoxes;
    private updateRowSelection;
    /**
     * Deselects the currently selected rows and cells.
     *
     * @returns {void}
     */
    clearSelection(): void;
    /**
     * Deselects the currently selected rows.
     *
     * @returns {void}
     */
    clearRowSelection(): void;
    private rowDeselect;
    private getRowObj;
    /**
     * Selects a cell by the given index.
     *
     * @param  {IIndex} cellIndex - Defines the row and column indexes.
     * @param  {boolean} isToggle - If set to true, then it toggles the selection.
     * @returns {void}
     */
    selectCell(cellIndex: IIndex, isToggle?: boolean): void;
    private successCallBack;
    private getCellIndex;
    /**
     * Selects a range of cells from start and end indexes.
     *
     * @param  {IIndex} startIndex - Specifies the row and column's start index.
     * @param  {IIndex} endIndex - Specifies the row and column's end index.
     * @returns {void}
     */
    selectCellsByRange(startIndex: IIndex, endIndex?: IIndex): void;
    /**
     * Selects a collection of cells by row and column indexes.
     *
     * @param  {ISelectedCell[]} rowCellIndexes - Specifies the row and column indexes.
     * @returns {void}
     */
    selectCells(rowCellIndexes: ISelectedCell[]): void;
    /**
     * Select cells with existing cell selection by passing row and column index.
     *
     * @param {IIndex} cellIndexes - Defines the collection of row and column index.
     * @returns {void}
     * @hidden
     */
    addCellsToSelection(cellIndexes: IIndex[]): void;
    private getColIndex;
    private getLastColIndex;
    private clearCell;
    private cellDeselect;
    private updateCellSelection;
    private addAttribute;
    private updateCellProps;
    private addRowCellIndex;
    /**
     * Deselects the currently selected cells.
     *
     * @returns {void}
     */
    clearCellSelection(): void;
    private getSelectedCellsElement;
    private mouseMoveHandler;
    private updateScrollPosition;
    private stopTimer;
    private setScrollPosition;
    private findNextCell;
    private selectLikeExcel;
    private setFrozenBorders;
    private refreshFrozenBorders;
    /**
     * @returns {void}
     * @hidden
     */
    drawBorders(): void;
    private isLastCell;
    private isLastRow;
    private isFirstRow;
    private isFirstCell;
    private setBorders;
    private positionBorders;
    private bottom;
    private top;
    private right_bottom;
    private bottom_left;
    private top_right;
    private top_left;
    private top_bottom;
    private top_right_bottom;
    private top_bottom_left;
    private top_right_left;
    private right_bottom_left;
    private all_border;
    private applyBothFrozenBorders;
    private applyBorders;
    private createBorders;
    private showHideBorders;
    private drawAFBorders;
    private positionAFBorders;
    private createAFBorders;
    destroyAutoFillElements(): void;
    private showAFBorders;
    private hideAFBorders;
    private updateValue;
    private createBeforeAutoFill;
    private getAutoFillCells;
    private selectLikeAutoFill;
    private mouseUpHandler;
    private hideAutoFill;
    /**
     * @returns {void}
     * @hidden
     */
    updateAutoFillPosition(): void;
    private mouseDownHandler;
    private updateStartEndCells;
    private updateStartCellsIndex;
    private enableDrag;
    private clearSelAfterRefresh;
    /**
     * @returns {void}
     * @hidden
     */
    addEventListener(): void;
    /**
     * @returns {void}
     * @hidden
     */
    removeEventListener(): void;
    private wireEvents;
    private unWireEvents;
    private columnPositionChanged;
    private refreshHeader;
    private rowsRemoved;
    beforeFragAppend(e: {
        requestType: string;
    }): void;
    private getCheckAllBox;
    private enableAfterRender;
    private render;
    private onPropertyChanged;
    private hidePopUp;
    private initialEnd;
    private checkBoxSelectionChanged;
    private initPerisistSelection;
    private ensureCheckboxFieldSelection;
    private dataSuccess;
    private setRowSelection;
    private getData;
    private getAvailableSelectedData;
    private refreshPersistSelection;
    private actionBegin;
    private actionComplete;
    private onDataBound;
    private updatePersistSelectedData;
    private checkSelectAllAction;
    private checkSelectAll;
    private getCheckAllStatus;
    private checkSelect;
    private moveIntoUncheckCollection;
    private triggerChkChangeEvent;
    private updateSelectedRowIndexes;
    private updateSelectedRowIndex;
    private isAllSelected;
    private someDataSelected;
    private setCheckAllState;
    private checkVirtualCheckBox;
    private virtualCheckBoxData;
    private isSelectAllRowCount;
    private keyDownHandler;
    private keyUpHandler;
    private clickHandler;
    private popUpClickHandler;
    private showPopup;
    private rowCellSelectionHandler;
    private onCellFocused;
    private getKeyColIndex;
    /**
     * Apply ctrl + A key selection
     *
     * @returns {void}
     * @hidden
     */
    ctrlPlusA(): void;
    private applySpaceSelection;
    private applyDownUpKey;
    private applyUpDown;
    private applyRightLeftKey;
    private applyHomeEndKey;
    /**
     * Apply shift+down key selection
     *
     * @param {number} rowIndex - specfies the rowIndex
     * @param {number} cellIndex - specifies the CellIndex
     * @returns {void}
     * @hidden
     */
    shiftDownKey(rowIndex?: number, cellIndex?: number): void;
    private applyShiftLeftRightKey;
    private getstackedColumns;
    private applyCtrlHomeEndKey;
    private addRemoveClassesForRow;
    private isRowType;
    private isCellType;
    private isSingleSel;
    private getRenderer;
    /**
     * Gets the collection of selected records.
     *
     * @returns {Object[]} returns the Object
     */
    getSelectedRecords(): Object[];
    /**
     * Select the column by passing start column index
     *
     * @param {number} index - specifies the index
     * @returns {void}
     */
    selectColumn(index: number): void;
    /**
     * Select the columns by passing start and end column index
     *
     * @param  {number} startIndex - specifies the start index
     * @param  {number} endIndex - specifies the end index
     * @returns {void}
     */
    selectColumnsByRange(startIndex: number, endIndex?: number): void;
    /**
     * Select the columns by passing column indexes
     *
     * @param  {number[]} columnIndexes - specifies the columnIndexes
     * @returns {void}
     */
    selectColumns(columnIndexes: number[]): void;
    /**
     * Select the column with existing column by passing column index
     *
     * @param  {number} startIndex - specifies the start index
     * @returns {void}
     */
    selectColumnWithExisting(startIndex: number): void;
    /**
     * Clear the column selection
     *
     * @param {number} clearIndex - specifies the clearIndex
     * @returns {void}
     */
    clearColumnSelection(clearIndex?: number): void;
    private getselectedCols;
    private getSelectedColumnCells;
    private columnDeselect;
    private updateColProps;
    private clearColDependency;
    private updateColSelection;
    private headerSelectionHandler;
    private addEventListener_checkbox;
    removeEventListener_checkbox(): void;
    private setCheckAllForEmptyGrid;
    dataReady(e: {
        requestType: string;
    }): void;
    private actionCompleteHandler;
    private selectRowIndex;
    private disableInteracted;
    private activeTarget;
}
//node_modules/@syncfusion/ej2-grids/src/grid/actions/search.d.ts
/**
 * The `Search` module is used to handle search action.
 */
export  class Search implements IAction {
    /** @hidden */
    headerFocus: boolean;
    private parent;
    /** @hidden */
    refreshSearch: boolean;
    private actionCompleteFunc;
    /**
     * Constructor for Grid search module.
     *
     * @param {IGrid} parent - specifies the IGrid
     * @hidden
     */
    constructor(parent?: IGrid);
    /**
     * Checks if the input string contains non-numeric characters.
     *
     * @param {string} searchString - The string to be checked for non-numeric characters.
     * @returns {boolean} - `true` if the input string contains non-numeric characters, `false` otherwise.
     */
    private hasNonNumericCharacters;
    /**
     * Searches Grid records by given key.
     *
     * > You can customize the default search action by using [`searchSettings`](./searchsettings/).
     *
     * @param  {string} searchString - Defines the key.
     * @returns {void}
     */
    search(searchString: string): void;
    /**
     * @returns {void}
     * @hidden
     */
    addEventListener(): void;
    /**
     * @returns {void}
     * @hidden
     */
    removeEventListener(): void;
    /**
     * To destroy the print
     *
     * @returns {void}
     * @hidden
     */
    destroy(): void;
    /**
     * @param {NotifyArgs} e - specfies the NotifyArgs
     * @returns {void}
     * @hidden
     */
    onPropertyChanged(e: NotifyArgs): void;
    /**
     * The function used to trigger onActionComplete
     *
     * @param {NotifyArgs} e - specifies the NotifyArgs
     * @returns {void}
     * @hidden
     */
    onSearchComplete(e: NotifyArgs): void;
    /**
     * The function used to store the requestType
     *
     * @param {NotifyArgs} e - specifies the NotifyArgs
     * @returns {void}
     * @hidden
     */
    onActionComplete(e: NotifyArgs): void;
    private cancelBeginEvent;
    /**
     * For internal use only - Get the module name.
     *
     * @returns {string} returns the module name
     * @private
     */
    protected getModuleName(): string;
}
//node_modules/@syncfusion/ej2-grids/src/grid/actions/scroll.d.ts
/**
 * The `Scroll` module is used to handle scrolling behaviour.
 */
export  class Scroll implements IAction {
    private parent;
    private previousValues;
    private oneTimeReady;
    private content;
    private header;
    private widthService;
    private pageXY;
    private parentElement;
    private eventElement;
    private contentScrollHandler;
    private headerScrollHandler;
    /**
     * Constructor for the Grid scrolling.
     *
     * @param {IGrid} parent - specifies the IGrid
     * @hidden
     */
    constructor(parent?: IGrid);
    /**
     * For internal use only - Get the module name.
     *
     * @returns {string} returns the module name
     * @private
     */
    protected getModuleName(): string;
    /**
     * @param {boolean} uiupdate - specifies the uiupdate
     * @returns {void}
     * @hidden
     */
    setWidth(uiupdate?: boolean): void;
    /**
     * @returns {void}
     * @hidden
     */
    setHeight(): void;
    /**
     * @returns {void}
     * @hidden
     */
    setPadding(): void;
    /**
     * @param {boolean} rtl - specifies the rtl
     * @returns {void}
     * @hidden
     */
    removePadding(rtl?: boolean): void;
    /**
     * Refresh makes the Grid adoptable with the height of parent container.
     *
     * > The [`height`](./#height) must be set to 100%.
     *
     * @returns {void}
     */
    refresh(): void;
    private getThreshold;
    /**
     * @returns {void}
     * @hidden
     */
    addEventListener(): void;
    /**
     * @returns {void}
     * @hidden
     */
    removeEventListener(): void;
    private unwireEvents;
    private setScrollLeft;
    private onContentScroll;
    private onCustomScrollbarScroll;
    private onTouchScroll;
    private setPageXY;
    private getPointXY;
    private getScrollbleParent;
    /**
     * @param {boolean} isAdd - specifies whether adding/removing the event
     * @returns {void}
     * @hidden
     */
    addStickyListener(isAdd: boolean): void;
    /**
     * @returns {void}
     * @hidden
     */
    resizeFrozenRowBorder(): void;
    private wireEvents;
    /**
     * @returns {void} returns void
     * @hidden
     */
    setLastRowCell(): void;
    /**
     * @param {boolean} rtl - specifies the rtl
     * @returns {ScrollCss} returns the ScrollCss
     * @hidden
     */
    getCssProperties(rtl?: boolean): ScrollCss;
    private ensureOverflow;
    private onPropertyChanged;
    /**
     * @returns {void}
     * @hidden
     */
    makeStickyHeader(): void;
    private setSticky;
    /**
     * @returns {void}
     * @hidden
     */
    destroy(): void;
    /**
     * Function to get the scrollbar width of the browser.
     *
     * @returns {number} return the width
     * @hidden
     */
    static getScrollBarWidth(): number;
}
/**
 * @hidden
 */
export interface ScrollCss {
    padding?: string;
    border?: string;
}
//node_modules/@syncfusion/ej2-grids/src/grid/actions/row-reorder.d.ts
/**
 *
 * Reorder module is used to handle row reordering.
 *
 * @hidden
 */
export  class RowDD {
    private isSingleRowDragDrop;
    private hoverState;
    private startedRow;
    private startedRowIndex;
    private dragTarget;
    private onDataBoundFn;
    private timer;
    private selectedRows;
    private isOverflowBorder;
    private selectedRowColls;
    private isRefresh;
    private rows;
    private rowData;
    private dragStartData;
    private draggable;
    private isReplaceDragEle;
    private isDropGrid;
    private istargetGrid;
    private helper;
    private dragStart;
    private getParentGrid;
    private drag;
    private isNewRowAdded;
    private groupRowDDIndicator;
    private dragStop;
    private processDragStop;
    private refreshRow;
    private updateFrozenRowreOrder;
    private refreshRowTarget;
    private updateFrozenColumnreOrder;
    private refreshData;
    private rowOrder;
    private currentViewData;
    reorderRows(fromIndexes: number[], toIndex: number): void;
    private removeCell;
    private parent;
    /**
     * Constructor for the Grid print module
     *
     * @param {IGrid} parent - specifies the IGrid
     * @hidden
     */
    constructor(parent?: IGrid);
    private stopTimer;
    /**
     * To trigger action complete event.
     *
     * @param {NotifyArgs} e - specifies the NotifyArgs
     * @returns {void}
     * @hidden
     */
    onActionComplete(e: NotifyArgs): void;
    private initializeDrag;
    private updateScrollPostion;
    private setScrollDown;
    private moveDragRows;
    private setBorder;
    private getScrollWidth;
    private removeFirstRowBorder;
    private removeLastRowBorder;
    private removeBorder;
    private getElementFromPosition;
    private onDataBound;
    private getTargetIdx;
    private singleRowDrop;
    private columnDrop;
    private reorderRow;
    private enableAfterRender;
    /**
     * To destroy the print
     *
     * @returns {void}
     * @hidden
     */
    destroy(): void;
    /**
     * For internal use only - Get the module name.
     *
     * @returns {string} returns the module name
     * @private
     */
    protected getModuleName(): string;
    private processArgs;
}
//node_modules/@syncfusion/ej2-grids/src/grid/actions/resize.d.ts
export  const resizeClassList: ResizeClasses;
export interface ResizeClasses {
    root: string;
    suppress: string;
    icon: string;
    helper: string;
    header: string;
    cursor: string;
}
/**
 * `Resize` module is used to handle Resize to fit for columns.
 *
 * @hidden
 * @private
 */
export  class Resize implements IAction {
    private pageX;
    private column;
    private element;
    private helper;
    private tapped;
    private isDblClk;
    private minMove;
    private parentElementWidth;
    isFrozenColResized: boolean;
    /** @hidden */
    resizeProcess: boolean;
    private parent;
    private widthService;
    private isCancelAutoFit;
    /**
     * Constructor for the Grid resize module
     *
     * @param {IGrid} parent - specifies the IGrid
     * @hidden
     */
    constructor(parent?: IGrid);
    /**
     * Resize by field names.
     *
     * @param  {string|string[]} fName - Defines the field name.
     * @param  {number} startRowIndex - Specifies the start row index.
     * @param  {number} endRowIndex - Specifies the end row index.
     * @returns {void}
     */
    autoFitColumns(fName?: string | string[], startRowIndex?: number, endRowIndex?: number): void;
    private autoFit;
    private getCellElementsByColumnIndex;
    private resizeColumn;
    /**
     * To destroy the resize
     *
     * @returns {void}
     * @hidden
     */
    destroy(): void;
    /**
     * For internal use only - Get the module name.
     *
     * @returns {string} returns the module name
     * @private
     */
    protected getModuleName(): string;
    private findColumn;
    /**
     * To create table for autofit
     *
     * @param {Element} table - specifies the table
     * @param {Element[]} text - specifies the text
     * @param {string} tag - specifies the tag name
     * @param  {number} startRowIndex - Specifies the start row index.
     * @param  {number} endRowIndex - Specifies the end row index.
     * @returns {number} returns the number
     * @hidden
     */
    protected createTable(table: Element, text: Element[], tag: string, startRowIndex?: number, endRowIndex?: number): number;
    /**
     * @returns {void}
     * @hidden
     */
    addEventListener(): void;
    /**
     * @returns {void}
     * @hidden
     */
    removeEventListener(): void;
    /**
     * @returns {void}
     * @hidden
     */
    render(): void;
    private refreshHeight;
    private wireEvents;
    private unwireEvents;
    private getResizeHandlers;
    private setHandlerHeight;
    private callAutoFit;
    private touchResizeStart;
    private resizeStart;
    private cancelResizeAction;
    private getWidth;
    private updateResizeEleHeight;
    private getColData;
    private refreshResizeFixedCols;
    private calculateColspanWidth;
    private refreshResizePosition;
    private refreshResizefrzCols;
    private refreshGroupCaptionRow;
    private frzHdrRefresh;
    private getParticularCol;
    private resizing;
    private distributeColWidth;
    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/reorder.d.ts
/**
 *
 * The `Reorder` module is used for reordering columns.
 */
export  class Reorder implements IAction {
    private element;
    private upArrow;
    private downArrow;
    private x;
    private timer;
    private destElement;
    private fromCol;
    private idx;
    private parent;
    /**
     * Constructor for the Grid reorder module
     *
     * @param {IGrid} parent - specifies the IGrid
     * @hidden
     */
    constructor(parent?: IGrid);
    private chkDropPosition;
    private chkDropAllCols;
    private findColParent;
    private getColumnsModel;
    private headerDrop;
    private isActionPrevent;
    private moveColumns;
    private refreshColumnIndex;
    private targetParentContainerIndex;
    private getAllStackedheaderParentColumns;
    private getHeaderCells;
    private getColParent;
    private reorderSingleColumn;
    private reorderMultipleColumns;
    private moveTargetColumn;
    private reorderSingleColumnByTarget;
    private reorderMultipleColumnByTarget;
    /**
     * Changes the position of the Grid columns by field names.
     *
     * @param  {string | string[]} fromFName - Defines the origin field names.
     * @param  {string} toFName - Defines the destination field name.
     * @returns {void}
     */
    reorderColumns(fromFName: string | string[], toFName: string): void;
    /**
     * Changes the position of the Grid columns by field index.
     *
     * @param  {number} fromIndex - Defines the origin field index.
     * @param  {number} toIndex - Defines the destination field index.
     * @returns {void}
     */
    reorderColumnByIndex(fromIndex: number, toIndex: number): void;
    /**
     * Changes the position of the Grid columns by field index.
     *
     * @param  {string | string[]} fieldName - Defines the field name.
     * @param  {number} toIndex - Defines the destination field index.
     * @returns {void}
     */
    reorderColumnByTargetIndex(fieldName: string | string[], toIndex: number): void;
    private enableAfterRender;
    private createReorderElement;
    /**
     * The function used to trigger onActionComplete
     *
     * @param {NotifyArgs} e - specified the NotifyArgs
     * @returns {void}
     * @hidden
     */
    onActionComplete(e: NotifyArgs): void;
    /**
     * To destroy the reorder
     *
     * @returns {void}
     * @hidden
     */
    destroy(): void;
    private keyPressHandler;
    private drag;
    private updateScrollPostion;
    private setScrollLeft;
    private stopTimer;
    private updateArrowPosition;
    private dragStart;
    private dragStop;
    private setDisplay;
    /**
     * For internal use only - Get the module name.
     *
     * @returns {string} return the module name
     * @private
     */
    protected getModuleName(): string;
}
//node_modules/@syncfusion/ej2-grids/src/grid/actions/print.d.ts
/**
 * @returns {string[]} returns the cloned property
 * @hidden
 */
export  function getCloneProperties(): string[];
/**
 *
 * The `Print` module is used to handle print action.
 */
export  class Print {
    private parent;
    private printWind;
    private scrollModule;
    private isAsyncPrint;
    static printGridProp: string[];
    private defered;
    private actionBeginFunction;
    /**
     * Constructor for the Grid print module
     *
     * @param {IGrid} parent - specifies the IGrid
     * @param {Scroll} scrollModule - specifies the scroll module
     * @hidden
     */
    constructor(parent?: IGrid, scrollModule?: Scroll);
    private isContentReady;
    private hierarchyPrint;
    /**
     * By default, prints all the Grid pages and hides the pager.
     * > You can customize print options using the
     * [`printMode`](./printmode/).
     *
     * @returns {void}
     */
    print(): void;
    private onEmpty;
    private actionBegin;
    private renderPrintGrid;
    private contentReady;
    private printGrid;
    private printGridElement;
    private removeColGroup;
    private hideColGroup;
    /**
     * To destroy the print
     *
     * @returns {boolean} returns the isPrintGrid or not
     * @hidden
     */
    isPrintGrid(): boolean;
    /**
     * To destroy the print
     *
     * @returns {void}
     * @hidden
     */
    destroy(): void;
    /**
     * For internal use only - Get the module name.
     *
     * @returns {string} returns the module name
     * @private
     */
    protected getModuleName(): string;
}
//node_modules/@syncfusion/ej2-grids/src/grid/actions/pdf-export.d.ts
/**
 * `PDF Export` module is used to handle the exportToPDF action.
 *
 * @hidden
 */
export  class PdfExport {
    private parent;
    private isExporting;
    private data;
    private pdfDocument;
    private hideColumnInclude;
    private currentViewData;
    private customDataSource;
    private exportValueFormatter;
    private gridTheme;
    private isGrouping;
    private helper;
    private isBlob;
    private blobPromise;
    private globalResolve;
    private gridPool;
    private headerOnPages;
    private drawPosition;
    private pdfPageSettings;
    private rowIndex;
    /**
     * Constructor for the Grid PDF Export module
     *
     * @param {IGrid} parent - specifies the IGrid
     * @hidden
     */
    constructor(parent?: IGrid);
    /**
     * For internal use only - Get the module name.
     *
     * @returns {string} returns the module name
     */
    private getModuleName;
    private init;
    private exportWithData;
    /**
     * Used to map the input data
     *
     * @param {IGrid} parent - specifies the IGrid
     * @param {PdfExportProperties} pdfExportProperties - specifies the PdfExportProperties
     * @param {boolean} isMultipleExport - specifies the isMultipleExport
     * @param {Object} pdfDoc - specifies the pdfDoc
     * @param {boolean} isBlob - speciies whether it is Blob or not
     * @returns {void}
     */
    Map(parent?: IGrid, pdfExportProperties?: PdfExportProperties, isMultipleExport?: boolean, pdfDoc?: Object, isBlob?: boolean): Promise<Object>;
    private processExport;
    private processSectionExportProperties;
    private processGridExport;
    private getSummaryCaptionThemeStyle;
    private getGridPdfFont;
    private getHeaderThemeStyle;
    private processGroupedRecords;
    private processGridHeaders;
    private processExportProperties;
    private drawHeader;
    private drawPageTemplate;
    private processContentValidation;
    private drawText;
    private drawPageNumber;
    private drawImage;
    private drawLine;
    private processAggregates;
    private getTemplateFunction;
    private getSummaryWithoutTemplate;
    /**
     * Set alignment, width and type of the values of the column
     *
     * @param {Column[]} gridColumns - specifies the grid column
     * @param {PdfGrid} pdfGrid - specifies the pdfGrid
     * @param {ExportHelper} helper - specifies the helper
     * @param {IGrid} gObj - specifies the IGrid
     * @param {boolean} allowHorizontalOverflow - specifies the allowHorizontalOverflow
     * @returns {void}
     */
    private setColumnProperties;
    /**
     * set default style properties of each rows in exporting grid
     *
     * @param {PdfGridRow} row - specifies the PdfGridRow
     * @param {PdfBorders} border - specifies the PdfBorders
     * @returns {PdfGrid} returns the pdfgrid
     * @private
     */
    private setRecordThemeStyle;
    /**
     * generate the formatted cell values
     *
     * @param {PdfBorders} border - specifies the border
     * @param {Column[]} columns - specifies the columns
     * @param {IGrid} gObj - specifies the IGrid
     * @param {Object[]} dataSource - specifies the datasource
     * @param {PdfGrid} pdfGrid - specifies the pdfGrid
     * @param {number} startIndex - specifies the startindex
     * @param {PdfExportProperties} pdfExportProperties - specifies the pdfExportProperties
     * @param {ExportHelper} helper - specifies the helper
     * @param {number} rowIndex - specifies the rowIndex
     * @returns {number} returns the number of records
     * @private
     */
    private processRecord;
    private processDetailTemplate;
    private setHyperLink;
    private childGridCell;
    private processCellStyle;
    /**
     * set text alignment of each columns in exporting grid
     *
     * @param {string} textAlign - specifies the textAlign
     * @param {PdfStringFormat} format - specifies the PdfStringFormat
     * @returns {PdfStringFormat} returns the PdfStringFormat
     * @private
     */
    private getHorizontalAlignment;
    /**
     * set vertical alignment of each columns in exporting grid
     *
     * @param {string} verticalAlign - specifies the verticalAlign
     * @param {PdfStringFormat} format - specifies the PdfStringFormat
     * @param {string} textAlign - specifies the text align
     * @returns {PdfStringFormat} returns the PdfStringFormat
     * @private
     */
    private getVerticalAlignment;
    private getFontFamily;
    private getFont;
    private getPageNumberStyle;
    private setContentFormat;
    private getPageSize;
    private getDashStyle;
    private getPenFromContent;
    private getBrushFromContent;
    private hexToRgb;
    private getFontStyle;
    private getBorderStyle;
    destroy(): void;
}
//node_modules/@syncfusion/ej2-grids/src/grid/actions/page.d.ts
/**
 * The `Page` module is used to render pager and handle paging action.
 */
export  class Page implements IAction {
    private element;
    private pageSettings;
    /** @hidden */
    isForceCancel: boolean;
    private isInitialLoad;
    private isInitialRender;
    private evtHandlers;
    /** @hidden */
    isCancel: boolean;
    private parent;
    /** @hidden */
    pagerObj: Pager;
    private handlers;
    /**
     * Constructor for the Grid paging module
     *
     * @param {IGrid} parent - specifies the IGrid
     * @param {PageSettingsModel} pageSettings - specifies the PageSettingsModel
     * @hidden
     */
    constructor(parent?: IGrid, pageSettings?: PageSettingsModel);
    /**
     * For internal use only - Get the module name.
     *
     * @returns {string} returns the module name
     * @private
     */
    protected getModuleName(): string;
    /**
     * The function used to render pager from grid pageSettings
     *
     * @returns {void}
     * @hidden
     */
    render(): void;
    private onSelect;
    private addAriaAttr;
    private dataReady;
    /**
     * Refreshes the page count, pager information, and external message.
     *
     * @returns {void}
     */
    refresh(): void;
    /**
     * Navigates to the target page according to the given number.
     *
     * @param  {number} pageNo - Defines the page number to navigate.
     * @returns {void}
     */
    goToPage(pageNo: number): void;
    /**
     * @param {number} pageSize - specifies the page size
     * @returns {void}
     * @hidden
     */
    setPageSize(pageSize: number): void;
    /**
     * The function used to update pageSettings model
     *
     * @param {NotifyArgs} e - specfies the NotifyArgs
     * @returns {void}
     * @hidden
     */
    updateModel(e?: NotifyArgs): void;
    /**
     * The function used to trigger onActionComplete
     *
     * @param {NotifyArgs} e - specifies the NotifyArgs
     * @returns {void}
     * @hidden
     */
    onActionComplete(e: NotifyArgs): void;
    /**
     * @param {NotifyArgs} e - specifies the NotifyArgs
     * @returns {void}
     * @hidden
     */
    onPropertyChanged(e: NotifyArgs): void;
    private clickHandler;
    private keyPressHandler;
    /**
     * Defines the text of the external message.
     *
     * @param  {string} message - Defines the message to update.
     * @returns {void}
     */
    updateExternalMessage(message: string): void;
    private appendToElement;
    private enableAfterRender;
    /**
     * @returns {void}
     * @hidden
     */
    addEventListener(): void;
    private created;
    private isReactTemplate;
    private renderReactPagerTemplate;
    /**
     * @returns {void}
     * @hidden
     */
    removeEventListener(): void;
    /**
     * To destroy the pager
     *
     * @returns {void}
     * @hidden
     */
    destroy(): void;
    private pagerDestroy;
}
//node_modules/@syncfusion/ej2-grids/src/grid/actions/normal-edit.d.ts
/**
 * `NormalEdit` module is used to handle normal('inline, dialog, external') editing actions.
 *
 * @hidden
 */
export  class NormalEdit {
    protected parent: IGrid;
    protected serviceLocator: ServiceLocator;
    protected renderer: EditRender;
    formObj: inputs.FormValidator;
    protected previousData: Object;
    private editRowIndex;
    private rowIndex;
    private addedRowIndex;
    private uid;
    private args;
    private cloneRow;
    private originalRow;
    private currentVirtualData;
    private evtHandlers;
    constructor(parent?: IGrid, serviceLocator?: ServiceLocator, renderer?: EditRender);
    protected clickHandler(e: MouseEvent): void;
    protected dblClickHandler(e: MouseEvent): void;
    /**
     * The function used to trigger editComplete
     *
     * @param {NotifyArgs} e - specifies the NotifyArgs
     * @returns {void}
     * @hidden
     */
    editComplete(e: NotifyArgs): void;
    private getEditArgs;
    protected startEdit(tr: Element): void;
    private disabledShowAddRow;
    private inlineEditHandler;
    protected updateRow(index: number, data: Object): void;
    private editFormValidate;
    protected endEdit(): void;
    private destroyElements;
    private editHandler;
    private edSucc;
    private edFail;
    private updateCurrentViewData;
    private requestSuccess;
    private editSuccess;
    private closeForm;
    private blazorTemplate;
    private editFailure;
    private needRefresh;
    private refreshRow;
    protected closeEdit(): void;
    protected addRecord(data?: Object, index?: number): void;
    private inlineAddHandler;
    protected deleteRecord(fieldname?: string, data?: Object): void;
    private stopEditStatus;
    /**
     * @returns {void}
     * @hidden
     */
    addEventListener(): void;
    /**
     * @returns {void}
     * @hidden
     */
    removeEventListener(): void;
    /**
     * @returns {void}
     * @hidden
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-grids/src/grid/actions/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/lazy-load-group.d.ts
/**
 * Group lazy load class
 */
export  class LazyLoadGroup implements IAction {
    private parent;
    private serviceLocator;
    /**
     * Constructor for Grid group lazy load module
     *
     * @param {IGrid} parent - specifies the IGrid
     * @param {ServiceLocator} serviceLocator - specifies the ServiceLocator
     * @hidden
     */
    constructor(parent?: IGrid, serviceLocator?: ServiceLocator);
    /**
     * For internal use only - Get the module name.
     *
     * @returns {string} returns the module name
     * @private
     */
    protected getModuleName(): string;
    /**
     * @returns {void}
     * @hidden
     */
    addEventListener(): void;
    /**
     * @returns {void}
     * @hidden
     */
    removeEventListener(): void;
    private instantiateRenderer;
    /**
     * @returns {void}
     * @hidden
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-grids/src/grid/actions/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/infinite-scroll.d.ts
/**
 * Infinite Scrolling class
 *
 * @hidden
 */
export  class InfiniteScroll implements IAction {
    private parent;
    private serviceLocator;
    private maxPage;
    private actionBeginFunction;
    private actionCompleteFunction;
    private dataBoundFunction;
    private infiniteCache;
    private infiniteCurrentViewData;
    private isDownScroll;
    private isUpScroll;
    private isScroll;
    private top;
    private enableContinuousScroll;
    private initialRender;
    private pressedKey;
    private isRemove;
    private isInitialCollapse;
    protected prevScrollTop: number;
    private actions;
    private keys;
    private rowIndex;
    protected cellIndex: number;
    private rowTop;
    private empty;
    private editRowIndex;
    private virtualInfiniteData;
    private isAdd;
    private isEdit;
    private isCancel;
    private emptyRowData;
    private isNormaledit;
    /** @hidden */
    requestType: Action;
    private firstBlock;
    private firstIndex;
    private lastIndex;
    private rowModelGenerator;
    private isInfiniteScroll;
    private isLastPage;
    private isInitialRender;
    private isFocusScroll;
    private lastFocusInfo;
    private isGroupCollapse;
    private parentCapUid;
    private groupCaptionAction;
    protected widthService: ColumnWidthService;
    private addRowIndex;
    /** @hidden */
    infiniteDetailDestroy: boolean;
    /**
     * Constructor for the Grid infinite scrolling.
     *
     * @param {IGrid} parent - specifies the IGrid
     * @param {ServiceLocator} serviceLocator - specifies the ServiceLocator
     * @hidden
     */
    constructor(parent?: IGrid, serviceLocator?: ServiceLocator);
    getModuleName(): string;
    /**
     * @returns {void}
     * @hidden
     */
    addEventListener(): void;
    /**
     * @returns {void}
     * @hidden
     */
    removeEventListener(): void;
    private dataBound;
    private setGroupCollapsePageQuery;
    private captionActionComplete;
    private makeGroupCollapseRequest;
    private getCaptionChildCount;
    private childCheck;
    private updateCurrentViewData;
    private refreshInfiniteCurrentViewData;
    private resetCurrentViewData;
    private modelChanged;
    private infiniteAddActionBegin;
    private infiniteEditHandler;
    private createRow;
    private ensureRowAvailability;
    private generateRows;
    private resetRowIndex;
    private resetInfiniteCurrentViewData;
    private swapCurrentViewData;
    private setDisplayNone;
    private refreshInfiniteCache;
    private refreshInfiniteCacheRowVisibleLength;
    private refreshInfiniteEditrowindex;
    private getEditedRowObject;
    private infiniteEditSuccess;
    private updateCurrentViewRecords;
    private actionBegin;
    private actionComplete;
    /**
     * The function used to trigger onActionComplete
     *
     * @param {NotifyArgs} e - specifies the NotifyArgs
     * @returns {void}
     * @hidden
     */
    onActionComplete(e: NotifyArgs): void;
    private resetInfiniteEdit;
    private getVirtualInfiniteData;
    private editActionBegin;
    private dataSourceModified;
    private onDataReady;
    private ensureIntialCollapse;
    private infiniteScrollHandler;
    private makeRequest;
    private infinitePageQuery;
    private editPageQuery;
    private intialPageQuery;
    private scrollToLastFocusedCell;
    private setLastCellFocusInfo;
    private infiniteCellFocus;
    private createEmptyRowdata;
    private getVirtualInfiniteEditedData;
    private restoreInfiniteEdit;
    private restoreInfiniteAdd;
    private appendInfiniteRows;
    private selectNewRow;
    private removeInfiniteCacheRows;
    private calculateScrollTop;
    private captionRowHeight;
    private removeTopRows;
    private removeBottomRows;
    private removeCaptionRows;
    private getGridRows;
    private resetInfiniteBlocks;
    private setCache;
    private setInitialCache;
    private setInitialGroupCache;
    private resetContentModuleCache;
    /**
     * @param {Row<Column>[]} rowObjects - Defines the grid's row objects
     * @returns {void}
     * @hidden
     */
    resetInfiniteCache(rowObjects: Row<Column>[]): void;
    /**
     * @returns {void}
     * @hidden
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-grids/src/grid/actions/group.d.ts
/**
 *
 * The `Group` module is used to handle group action.
 */
export  class Group implements IAction {
    private sortRequired;
    /** @hidden */
    groupSettings: GroupSettingsModel;
    /** @hidden */
    element: HTMLElement;
    /** @hidden */
    groupSortFocus: boolean;
    /** @hidden */
    groupTextFocus: boolean;
    /** @hidden */
    groupCancelFocus: boolean;
    /** @hidden */
    preventFocusOnGroup: boolean;
    private colName;
    private column;
    private isAppliedGroup;
    private isAppliedUnGroup;
    private isAppliedCaptionRowBorder;
    private reorderingColumns;
    private groupGenerator;
    private visualElement;
    private helper;
    private dragStart;
    private drag;
    private dragStop;
    private animateDropper;
    private addLabel;
    private rearrangeGroup;
    private drop;
    private parent;
    private serviceLocator;
    private contentRefresh;
    private sortedColumns;
    private l10n;
    private aria;
    private focus;
    /**
     * Constructor for Grid group module
     *
     * @param {IGrid} parent - specifies the IGrid
     * @param {GroupSettingsModel} groupSettings - specifies the GroupSettingsModel
     * @param {string[]} sortedColumns - specifies the sortedColumns
     * @param {ServiceLocator} serviceLocator - specifies the serviceLocator
     * @hidden
     */
    constructor(parent?: IGrid, groupSettings?: GroupSettingsModel, sortedColumns?: string[], serviceLocator?: ServiceLocator);
    private columnDrag;
    private columnDragStart;
    private columnDrop;
    /**
     * @returns {void}
     * @hidden
     */
    addEventListener(): void;
    /**
     * @returns {void}
     * @hidden
     */
    removeEventListener(): void;
    private initialEnd;
    private keyPressHandler;
    /**
     * @returns {Element[]} - Return the focusable grouping items
     * @hidden */
    getFocusableGroupedItems(): Element[];
    private wireEvent;
    private unWireEvent;
    private onFocusIn;
    private onFocusOut;
    private addOrRemoveFocus;
    private clickHandler;
    private auxilaryclickHandler;
    private unGroupFromTarget;
    private toogleGroupFromHeader;
    private applySortFromTarget;
    /**
     * Expands or collapses grouped rows by target element.
     *
     * @param  {Element} target - Defines the target element of the grouped row.
     * @returns {void}
     */
    expandCollapseRows(target: Element): void;
    /**
     * The function is used to set border in last row
     *
     * @returns { void }
     * @hidden
     */
    lastCaptionRowBorder(): void;
    private updateVirtualRows;
    private expandCollapse;
    /**
     * Expands all the grouped rows of the Grid.
     *
     * @returns {void}
     */
    expandAll(): void;
    /**
     * Collapses all the grouped rows of the Grid.
     *
     * @returns {void}
     */
    collapseAll(): void;
    /**
     * The function is used to render grouping
     *
     * @returns {void}
     * @hidden
     */
    render(): void;
    private renderGroupDropArea;
    private updateGroupDropArea;
    private initDragAndDrop;
    private initializeGHeaderDrag;
    private initializeGHeaderDrop;
    /**
     * Groups a column by column name.
     *
     * @param  {string} columnName - Defines the column name to group.
     * @returns {void}
     */
    groupColumn(columnName: string): void;
    /**
     * Ungroups a column by column name.
     *
     * @param  {string} columnName - Defines the column name to ungroup.
     * @returns {void}
     */
    ungroupColumn(columnName: string): void;
    /**
     * The function used to update groupSettings
     *
     * @returns {void}
     * @hidden
     */
    updateModel(): void;
    /**
     * The function used to trigger onActionComplete
     *
     * @param {NotifyArgs} e - specifies the NotifyArgs
     * @returns {void}
     * @hidden
     */
    onActionComplete(e: NotifyArgs): void;
    private groupAddSortingQuery;
    private createElement;
    private addColToGroupDrop;
    private createSeparator;
    private refreshToggleBtn;
    private removeColFromGroupDrop;
    private onPropertyChanged;
    private updateGroupedColumn;
    private updateButtonVisibility;
    private enableAfterRender;
    /**
     * To destroy the reorder
     *
     * @returns {void}
     * @hidden
     */
    destroy(): void;
    /**
     * Clears all the grouped columns of the Grid.
     *
     * @returns {void}
     */
    clearGrouping(): void;
    /**
     * For internal use only - Get the module name.
     *
     * @returns {string} returns the module name
     * @private
     */
    protected getModuleName(): string;
    private refreshSortIcons;
    private getGHeaderCell;
    private onGroupAggregates;
    private updateLazyLoadGroupAggregates;
    private destroyRefreshGroupCaptionFooterTemplate;
    private updateLazyLoadGroupAggregatesRow;
    private updateLazyLoadGroupAggregatesCell;
    private getGroupCaptionRowObject;
    /**
     * @param { boolean } groupCaptionTemplate - Defines template either group caption or footer
     * @returns { Object[] } - Returns template array
     * @hidden
     */
    getGroupAggregateTemplates(groupCaptionTemplate: boolean): Object[];
    /**
     * @param { Row<Column> } fromRowObj - Defines group key changed Data row object.
     * @param { Row<Column> } toRowObj - Defines group key setting reference Data row object.
     * @returns { void }
     * @hidden
     */
    groupedRowReorder(fromRowObj: Row<Column>, toRowObj: Row<Column>): void;
    private groupReorderHandler;
    private updatedRowObjChange;
    private groupReorderRefreshHandler;
    private getGroupParentFooterAggregateRowObject;
    private evaluateGroupAggregateValueChange;
    private gettingVirtualData;
    private iterateGroupAggregates;
    updateExpand(args: {
        uid?: string;
        isExpand?: boolean;
    }): void;
}
//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/foreign-key.d.ts
/**
 * `ForeignKey` module is used to handle foreign key column's actions.
 */
export  class ForeignKey extends Data {
    constructor(parent: IGrid, serviceLocator: ServiceLocator);
    private initEvent;
    private initForeignKeyColumns;
    private eventfPromise;
    private getForeignKeyData;
    private generateQueryFormData;
    private genarateQuery;
    private genarateColumnQuery;
    private isFiltered;
    protected getModuleName(): string;
    protected destroy(): void;
    private destroyEvent;
}
//node_modules/@syncfusion/ej2-grids/src/grid/actions/filter.d.ts
/**
 *
 * The `Filter` module is used to handle filtering action.
 */
export  class Filter implements IAction {
    private filterSettings;
    private element;
    private value;
    private predicate;
    private operator;
    private column;
    private fieldName;
    private matchCase;
    private ignoreAccent;
    private timer;
    private filterStatusMsg;
    private currentFilterObject;
    private isRemove;
    private contentRefresh;
    private initialLoad;
    private filterByMethod;
    private refresh;
    private values;
    operators: Object;
    private cellText;
    private nextFlMenuOpen;
    private refreshFilterValueFn;
    private type;
    /** @hidden */
    filterModule: {
        openDialog: Function;
        closeDialog: Function;
        destroy: Function;
        isresetFocus: boolean;
        getFilterUIInfo: Function;
        clearCustomFilter: Function;
        closeResponsiveDialog: Function;
        applyCustomFilter: Function;
        renderCheckBoxMenu?: Function;
        afterRenderFilterUI?: Function;
        checkBoxBase: CheckBoxFilterBase;
        excelFilterBase: ExcelFilterBase;
        isDialogOpen?: boolean;
        getOperatorDropdown?: Function;
    };
    /** @hidden */
    filterOperators: IFilterOperator;
    private fltrDlgDetails;
    customOperators: CustomOperators;
    /** @hidden */
    skipNumberInput: string[];
    skipStringInput: string[];
    /** @hidden */
    parent: IGrid;
    /** @hidden */
    serviceLocator: ServiceLocator;
    private l10n;
    private valueFormatter;
    private actualPredicate;
    prevFilterObject: PredicateModel;
    checkboxPrevFilterObject: {
        field: string;
    }[];
    checkboxFilterObject: Object[];
    actualData: string[];
    filterObjIndex: number;
    /** @hidden */
    responsiveDialogRenderer: ResponsiveDialogRenderer;
    menuOperator: {
        [key: string]: Object;
    }[];
    private docClickHandler;
    /** @hidden */
    inputList: inputs.InputArgs[];
    /**
     * Constructor for Grid filtering module
     *
     * @param {IGrid} parent - specifies the IGrid
     * @param {FilterSettings} filterSettings - specifies the filterSettings
     * @param {ServiceLocator} serviceLocator - specifes the serviceLocator
     * @hidden
     */
    constructor(parent?: IGrid, filterSettings?: FilterSettings, serviceLocator?: ServiceLocator);
    /**
     * To render filter bar when filtering enabled.
     *
     * @param {NotifyArgs} e - specifies the NotifyArgs
     * @returns {void}
     * @hidden
     */
    render(e?: NotifyArgs): void;
    /**
     * To show the responsive custom filter dialog
     *
     * @param {boolean} enable - specifes dialog open
     * @returns {void}
     * @hidden
     */
    showCustomFilter(enable: boolean): void;
    private renderResponsiveChangeAction;
    /**
     * To create the filter module.
     *
     * @param {Column} col - specifies the filtering column name
     * @returns {void}
     * @hidden
     */
    setFilterModel(col: Column): void;
    /**
     * To destroy the filter bar.
     *
     * @returns {void}
     * @hidden
     */
    destroy(): void;
    private setFullScreenDialog;
    private generateRow;
    private generateCells;
    private generateCell;
    /**
     * To update filterSettings when applying filter.
     *
     * @returns {void}
     * @hidden
     */
    updateModel(): void;
    private handleExistingFilterCleanup;
    private getFilteredColsIndexByField;
    /**
     * To trigger action complete event.
     *
     * @param {NotifyArgs} e - specifies the NotifyArgs
     * @returns {void}
     * @hidden
     */
    onActionComplete(e: NotifyArgs): void;
    private wireEvents;
    private unWireEvents;
    private enableAfterRender;
    private refreshFilterValue;
    private initialEnd;
    /**
     * @returns {void}
     * @hidden
     */
    addEventListener(): void;
    /**
     * @returns {void}
     * @hidden
     */
    removeEventListener(): void;
    private refreshClearIcon;
    private filterMenuClose;
    /**
     * Filters the Grid row by fieldName, filterOperator, and filterValue.
     *
     * @param  {string} fieldName - Defines the field name of the filter column.
     * @param  {string} filterOperator - Defines the operator to filter records.
     * @param  {string | number | Date | boolean} filterValue - Defines the value which is used to filter records.
     * @param  {string} predicate - Defines the relationship of one filter query with another by using AND or OR predicate.
     * @param  {boolean} matchCase - If match case is set to true, then the filter records
     * the exact match or <br> filters records that are case insensitive (uppercase and lowercase letters treated the same).
     * @param {boolean} ignoreAccent - If ignoreAccent set to true, then filter ignores the diacritic characters or accents while filtering.
     * @param  {string} actualFilterValue - Defines the actual filter value for the filter column.
     * @param  {string} actualOperator - Defines the actual filter operator for the filter column.
     * @param  {boolean} isForeignColumn - Defines whether it is a foreign key column.
     * @returns {void}
     */
    filterByColumn(fieldName: string, filterOperator: string, filterValue: string | number | Date | boolean | number[] | string[] | Date[] | boolean[], predicate?: string, matchCase?: boolean, ignoreAccent?: boolean, actualFilterValue?: Object, actualOperator?: Object, isForeignColumn?: boolean): void;
    private applyColumnFormat;
    private skipUid;
    private onPropertyChanged;
    private refreshFilterSettings;
    private updateFilterIcon;
    private getFilterBarElement;
    /**
     * @private
     * @returns {void}
     */
    refreshFilter(): void;
    /**
     * Clears all the filtered rows of the Grid.
     *
     * @param {string[]} fields - returns the fields
     * @returns {void}
     */
    clearFiltering(fields?: string[]): void;
    private checkAlreadyColFiltered;
    private checkDateColumnValue;
    private columnMenuFilter;
    private filterDialogOpen;
    /**
     * Create filter dialog options
     *
     * @param  {Column} col - Filtering column detail.
     * @param  {Element} target -  Filter dialog target.
     * @param  {number} left -  Filter dialog left position.
     * @param  {number} top -  Filter dialog top position.
     * @returns {Object} returns the created dialog options
     * @hidden
     */
    createOptions(col: Column, target: Element, left?: number, top?: number): Object;
    /**
     * Removes filtered column by field name.
     *
     * @param  {string} field - Defines column field name to remove filter.
     * @param  {boolean} isClearFilterBar - Specifies whether the filter bar value needs to be cleared.
     * @returns {void}
     * @hidden
     */
    removeFilteredColsByField(field: string, isClearFilterBar?: boolean): void;
    /**
     * For internal use only - Get the module name.
     *
     * @returns {string} returns the module name
     * @private
     */
    protected getModuleName(): string;
    private keyUpHandlerImmediate;
    private keyUpHandler;
    private updateCrossIcon;
    private updateFilterMsg;
    private setFormatForFlColumn;
    private checkForSkipInput;
    private processFilter;
    private startTimer;
    private stopTimer;
    private onTimerTick;
    private validateFilterValue;
    private getOperator;
    private columnPositionChanged;
    private getLocalizedCustomOperators;
    /**
     * @param {string} field - specifies the field name
     * @returns {void}
     * @hidden
     */
    openMenuByField(field: string): void;
    private filterIconClickHandler;
    private clickHandler;
    private filterHandler;
    private updateFilter;
    private refreshFilterIcon;
    private addFilteredClass;
    /**
     * @hidden
     * @returns {FilterUI} returns the FilterUI
     */
    getFilterUIInfo(): FilterUI;
    /**
     * @param {string} field - specifies the field name
     * @returns {string} returns the operator name
     * @hidden
     */
    private getOperatorName;
    /**
     * Renders checkbox items in Menu filter dialog.
     *
     * @returns {void}
     */
    renderCheckboxOnFilterMenu(): HTMLElement;
}
//node_modules/@syncfusion/ej2-grids/src/grid/actions/export-helper.d.ts
/**
 * @hidden
 * `ExportHelper` for `PdfExport` & `ExcelExport`
 */
export  class ExportHelper {
    parent: IGrid;
    private colDepth;
    private hideColumnInclude;
    private foreignKeyData;
    constructor(parent: IGrid, foreignKeyData?: {
        [key: string]: Object[];
    });
    static getQuery(parent: IGrid, data: Data): data.Query;
    getFData(value: string, column: Column): Object;
    getGridRowModel(columns: Column[], dataSource: Object[], gObj: IGrid, startIndex?: number): Row<Column>[];
    private generateCells;
    getColumnData(gridObj: Grid): Promise<Object>;
    getHeaders(columns: Column[], isHideColumnInclude?: boolean): {
        rows: Row<Column>[];
        columns: Column[];
    };
    getConvertedWidth(input: string): number;
    private generateActualColumns;
    private processHeaderCells;
    private appendGridCells;
    private generateCell;
    private processColumns;
    private getCellCount;
    checkAndExport(gridPool: Object, globalResolve: Function): void;
    failureHandler(gridPool: Object, childGridObj: IGrid, resolve: Function): Function;
    createChildGrid(gObj: IGrid, row: Row<Column>, exportType: string, gridPool: Object): {
        childGrid: IGrid;
        element: HTMLElement;
    };
    getGridExportColumns(columns: Column[]): Column[];
    /**
     * Gets the foreignkey data.
     *
     * @returns {ForeignKeyFormat} returns the foreignkey data
     * @hidden
     */
    getForeignKeyData(): ForeignKeyFormat;
}
/**
 * @hidden
 * `ExportValueFormatter` for `PdfExport` & `ExcelExport`
 */
export  class ExportValueFormatter {
    private internationalization;
    private valueFormatter;
    constructor(culture: string);
    private returnFormattedValue;
    /**
     * Used to format the exporting cell value
     *
     * @param  {ExportHelperArgs} args - Specifies cell details.
     * @returns {string} returns formated value
     * @hidden
     */
    formatCellValue(args: ExportHelperArgs): string;
}
//node_modules/@syncfusion/ej2-grids/src/grid/actions/excel-filter.d.ts
/**
 * @hidden
 * `ExcelFilter` module is used to handle filtering action.
 */
export  class ExcelFilter extends CheckBoxFilter {
    protected parent: IGrid;
    excelFilterBase: ExcelFilterBase;
    isresetFocus: boolean;
    /**
     * Constructor for excelbox filtering module
     *
     * @param {IGrid} parent - specifies the IGrid
     * @param {FilterSettings} filterSettings - specifies the Filtersettings
     * @param {ServiceLocator} serviceLocator - specifies the serviceLocator
     * @param {object} customFltrOperators - specifies the customFltrOperators
     * @hidden
     */
    constructor(parent?: IGrid, filterSettings?: FilterSettings, serviceLocator?: ServiceLocator, customFltrOperators?: Object);
    /**
     * To destroy the excel filter.
     *
     * @returns {void}
     * @hidden
     */
    destroy(): void;
    openDialog(options: IFilterArgs): void;
    closeDialog(): void;
    protected clearCustomFilter(col: Column): void;
    protected closeResponsiveDialog(isCustomFilter?: boolean): void;
    protected applyCustomFilter(args?: {
        col: Column;
        isCustomFilter: boolean;
    }): void;
    filterByColumn(fieldName: string, firstOperator: string, firstValue: string | number | Date | boolean, predicate?: string, matchCase?: boolean, ignoreAccent?: boolean, secondOperator?: string, secondValue?: string | number | Date | boolean): void;
    /**
     * @returns {FilterUI} returns the filterUI
     * @hidden
     */
    getFilterUIInfo(): FilterUI;
    /**
     * For internal use only - Get the module name.
     *
     * @returns {string} returns the module name
     * @private
     */
    protected getModuleName(): string;
}
//node_modules/@syncfusion/ej2-grids/src/grid/actions/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 isChild;
    private blobPromise;
    private exportValueFormatter;
    private isElementIdChanged;
    private helper;
    private groupedColLength;
    private globalResolve;
    private gridPool;
    private locator;
    private l10n;
    private sheet;
    private capTemplate;
    private grpFooterTemplates;
    private footerTemplates;
    private aggIndex;
    private totalAggregates;
    /**
     * Constructor for the Grid Excel Export module.
     *
     * @param {IGrid} parent - specifies the IGrid
     * @param {ServiceLocator} locator - specifies the ServiceLocator
     * @hidden
     */
    constructor(parent?: IGrid, locator?: ServiceLocator);
    /**
     * For internal use only - Get the module name.
     *
     * @returns {string} returns the module name
     */
    private getModuleName;
    private init;
    /**
     * Export Grid to Excel file.
     *
     * @param {IGrid} grid - Defines the grid.
     * @param  {exportProperties} exportProperties - Defines the export properties of the Grid.
     * @param  {isMultipleExport} isMultipleExport - Defines is multiple Grid's are exported.
     * @param  {excelExport.Workbook} workbook - Defined the excelExport.Workbook if multiple Grid is exported.
     * @param  {boolean} isCsv - true if export to CSV.
     * @param {boolean} isBlob - true if isBlob is enabled.
     * @returns {Promise<any>} - Returns the map for export.
     */
    Map(grid: IGrid, exportProperties: ExcelExportProperties, isMultipleExport: boolean, workbook: excelExport.Workbook, isCsv: boolean, isBlob: boolean): Promise<any>;
    private exportingSuccess;
    private processRecords;
    private processInnerRecords;
    private organiseRows;
    private processGridExport;
    private processRecordContent;
    private processGroupedRows;
    private processRecordRows;
    private processDetailTemplate;
    private setImage;
    private childGridCell;
    private processAggregates;
    private fillAggregates;
    private aggregateStyle;
    private getAggreateValue;
    private mergeOptions;
    private getColumnStyle;
    private headerRotation;
    private processHeaderContent;
    private getHeaderThemeStyle;
    private updateThemeStyle;
    private getCaptionThemeStyle;
    private getRecordThemeStyle;
    private processExcelHeader;
    private updatedCellIndex;
    private processExcelFooter;
    private getIndex;
    private parseStyles;
    destroy(): void;
}
//node_modules/@syncfusion/ej2-grids/src/grid/actions/edit.d.ts
/**
 * The `Edit` module is used to handle editing actions.
 */
export  class Edit implements IAction {
    protected renderer: EditRender;
    /** @hidden */
    editModule: IEdit;
    /** @hidden */
    formObj: inputs.FormValidator;
    /** @hidden */
    virtualFormObj: inputs.FormValidator;
    /** @hidden */
    isShowAddedRowValidate: boolean;
    private static editCellType;
    private editType;
    protected parent: IGrid;
    protected serviceLocator: ServiceLocator;
    protected l10n: base.L10n;
    dialogObj: popups.Dialog;
    private fieldname;
    private data;
    alertDObj: popups.Dialog;
    private actionBeginFunction;
    private actionCompleteFunction;
    private onDataBoundFunction;
    private preventObj;
    private eventDetails;
    isLastRow?: boolean;
    deleteRowUid: string;
    editCellDialogClose: boolean;
    /**
     * Constructor for the Grid editing module
     *
     * @param {IGrid} parent - specifies the IGrid
     * @param {ServiceLocator} serviceLocator - specifies the servicelocator
     * @hidden
     */
    constructor(parent?: IGrid, serviceLocator?: ServiceLocator);
    private updateColTypeObj;
    /**
     * For internal use only - Get the module name.
     *
     * @returns {string} returns the module name
     * @private
     */
    protected getModuleName(): string;
    /**
     * @param {NotifyArgs} e - specifies the notifyargs
     * @returns {void}
     * @hidden
     */
    onPropertyChanged(e: NotifyArgs): void;
    private updateEditObj;
    private initialEnd;
    /**
     * Edits any bound record in the Grid by TR element.
     *
     * @param {HTMLTableRowElement} tr - Defines the table row to be edited.
     * @returns {void}
     */
    startEdit(tr?: HTMLTableRowElement): void;
    /**
     * @param {Element} tr - specifies the tr element
     * @param {object} args - specifies the object
     * @param {Element} args.row -specfifes the row
     * @param {string} args.requestType - specifies the request type
     * @returns {void}
     * @hidden
     */
    checkLastRow(tr: Element, args?: {
        row?: Element;
        requestType?: string;
    }): void;
    /**
     * Cancels edited state.
     *
     * @returns {void}
     */
    closeEdit(): void;
    protected refreshToolbar(): void;
    /**
     * To adds a new row at the top with the given data. When data is not passed, it will add empty rows.
     * > `editSettings.allowEditing` should be true.
     *
     * @param {Object} data - Defines the new add record data.
     * @param {number} index - Defines the row index to be added
     * @returns {void}
     */
    addRecord(data?: Object, index?: number): void;
    /**
     * Deletes a record with the given options. If fieldname and data are not given, the Grid will delete the selected record.
     * > `editSettings.allowDeleting` should be true.
     *
     * @param {string} fieldname - Defines the primary key field name of the column.
     * @param {Object} data - Defines the JSON data record to be deleted.
     * @returns {void}
     */
    deleteRecord(fieldname?: string, data?: Object): void;
    /**
     * Deletes a visible row by TR element.
     *
     * @param {HTMLTableRowElement} tr - Defines the table row element.
     * @returns {void}
     */
    deleteRow(tr: HTMLTableRowElement): void;
    /**
     * If Grid is in editable state, you can save a record by invoking endEdit.
     *
     * @returns {void}
     */
    endEdit(): void;
    /**
     * To update the specified cell by given value without changing into edited state.
     *
     * @param {number} rowIndex Defines the row index.
     * @param {string} field Defines the column field.
     * @param {string | number | boolean | Date} value - Defines the value to be changed.
     * @returns {void}
     */
    updateCell(rowIndex: number, field: string, value: string | number | boolean | Date): void;
    /**
     * To update the specified row by given values without changing into edited state.
     *
     * @param {number} index Defines the row index.
     * @param {Object} data Defines the data object to be updated.
     * @returns {void}
     */
    updateRow(index: number, data: Object): void;
    /**
     * Resets added, edited, and deleted records in the batch mode.
     *
     * @returns {void}
     */
    batchCancel(): void;
    /**
     * Bulk saves added, edited, and deleted records in the batch mode.
     *
     * @returns {void}
     */
    batchSave(): void;
    /**
     * Changes a particular cell into edited state based on the row index and field name provided in the `batch` mode.
     *
     * @param {number} index - Defines row index to edit a particular cell.
     * @param {string} field - Defines the field name of the column to perform batch edit.
     * @returns {void}
     */
    editCell(index: number, field: string): void;
    /**
     * Checks the status of validation at the time of editing. If validation is passed, it returns true.
     *
     * @returns {boolean} returns whether the form is validated
     */
    editFormValidate(): boolean;
    /**
     * Gets the added, edited,and deleted data before bulk save to the DataSource in batch mode.
     *
     * @returns {Object} returns the Object
     */
    getBatchChanges(): Object;
    /**
     * Gets the current value of the edited component.
     *
     * @returns {Object} returns the Object
     */
    getCurrentEditCellData(): Object;
    /**
     * Saves the cell that is currently edited. It does not save the value to the DataSource.
     *
     * @returns {void}
     */
    saveCell(): void;
    private endEditing;
    private showDialog;
    getValueFromType(col: Column, value: string | Date | boolean): number | string | Date | boolean;
    private destroyToolTip;
    private createConfirmDlg;
    private createAlertDlg;
    private alertClick;
    private dlgWidget;
    private dlgCancel;
    private dlgOk;
    private destroyEditComponents;
    /**
     * @returns {void}
     * @hidden
     */
    addEventListener(): void;
    /**
     * @returns {void}
     * @hidden
     */
    removeEventListener(): void;
    private actionComplete;
    /**
     * @param {Element} form - specifies the element
     * @param {Object} editedData - specifies the edited data
     * @returns {Object} returns the object
     * @hidden
     */
    getCurrentEditedData(form: Element, editedData: Object): Object;
    private getValue;
    /**
     * @param {NotifyArgs} e - specifies the NotifyArgs
     * @returns {void}
     * @hidden
     */
    onActionBegin(e: NotifyArgs): void;
    /**
     * @param {Column[]} cols - specfies the column
     * @returns {void}
     * @hidden
     */
    destroyWidgets(cols?: Column[]): void;
    /**
     * @returns {void}
     * @hidden
     */
    destroyForm(): void;
    /**
     * To destroy the editing.
     *
     * @returns {void}
     * @hidden
     */
    destroy(): void;
    private keyPressHandler;
    private curretRowFocus;
    private preventBatch;
    private executeAction;
    /**
     * @param {Column[]} cols - specifies the column
     * @param {Object} newRule - specifies the new rule object
     * @returns {void}
     * @hidden
     */
    applyFormValidation(cols?: Column[], newRule?: Object): void;
    /**
     * @param {HTMLFormElement} form - Defined Form element
     * @param {Object} rules - Defines form rules
     * @returns {inputs.FormValidator} Returns formvalidator instance
     * @hidden
     */
    createFormObj(form: HTMLFormElement, rules: Object): inputs.FormValidator;
    private valErrorPlacement;
    private getElemTable;
    resetElemPosition(elem: HTMLElement, args: {
        status: string;
        inputName: string;
        element: HTMLElement;
        message: string;
    }): void;
    private validationComplete;
    private createTooltip;
    /**
     * @param {Column} col - specfies the column
     * @returns {boolean} returns the whether column is grouped
     * @hidden
     */
    checkColumnIsGrouped(col: Column): boolean;
    /**
     * @param {object} editors -specfies the editors
     * @returns {void}
     * @hidden
     */
    static AddEditors(editors: object): void;
}
//node_modules/@syncfusion/ej2-grids/src/grid/actions/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/detail-row.d.ts
/**
 * The `DetailRow` module is used to handle detail template and hierarchy Grid operations.
 */
export  class DetailRow {
    private aria;
    private parent;
    private focus;
    private lastrowcell;
    private l10n;
    private serviceLocator;
    private childRefs;
    /**
     * Constructor for the Grid detail template module
     *
     * @param {IGrid} parent - specifies the IGrid
     * @param {ServiceLocator} locator - specifes the serviceLocator
     * @hidden
     */
    constructor(parent?: IGrid, locator?: ServiceLocator);
    /**
     * @returns {void}
     * @hidden
     */
    addEventListener(): void;
    private clickHandler;
    private auxilaryclickHandler;
    private toogleExpandcollapse;
    /**
     * @hidden
     * @param {IGrid} gObj - specifies the grid Object
     * @param {Row<Column>}rowObj - specifies the row object
     * @param {string} printMode - specifies the printmode
     * @returns {Object} returns the object
     */
    getGridModel(gObj: IGrid, rowObj: Row<Column>, printMode: string): Object;
    private promiseResolve;
    private isDetailRow;
    private destroy;
    private getTDfromIndex;
    /**
     * Expands a detail row with the given target.
     *
     * @param  {Element} target - Defines the collapsed element to expand.
     * @returns {void}
     */
    expand(target: number | Element): void;
    /**
     * Collapses a detail row with the given target.
     *
     * @param  {Element} target - Defines the expanded element to collapse.
     * @returns {void}
     */
    collapse(target: number | Element): void;
    /**
     * Expands all the detail rows of the Grid.
     *
     * @returns {void}
     */
    expandAll(): void;
    /**
     * Collapses all the detail rows of the Grid.
     *
     * @returns {void}
     */
    collapseAll(): void;
    private expandCollapse;
    private keyPressHandler;
    private refreshColSpan;
    private destroyChildGrids;
    private detachDetailTemplate;
    /**
     * For internal use only - Get the module name.
     *
     * @returns {string} returns the module name
     * @private
     */
    protected getModuleName(): string;
}
//node_modules/@syncfusion/ej2-grids/src/grid/actions/data.d.ts
/**
 * Grid data module is used to generate query and data source.
 *
 * @hidden
 */
export  class Data implements IDataProcessor {
    dataManager: data.DataManager;
    /** @hidden */
    isQueryInvokedFromData: boolean;
    protected parent: IGrid;
    protected serviceLocator: ServiceLocator;
    protected dataState: PendingState;
    foreignKeyDataState: PendingState;
    /**
     * Constructor for data module.
     *
     * @param {IGrid} parent - specifies the IGrid
     * @param {ServiceLocator} serviceLocator - specifies the service locator
     * @hidden
     */
    constructor(parent?: IGrid, serviceLocator?: ServiceLocator);
    private reorderRows;
    protected getModuleName(): string;
    /**
     * The function used to initialize dataManager and external query
     *
     * @returns {void}
     */
    private initDataManager;
    /**
     * Generates a query based on the current grid configuration.
     *
     * @param {boolean} skipPage - If `true`, the query will exclude paging information.
     * @param {boolean} skipGroup - If `true`, the query will exclude grouping information.
     *
     * @returns {data.Query} A query object reflecting the current grid state.
     */
    generateQuery(skipPage?: boolean, skipGroup?: boolean): data.Query;
    /**
     * @param {data.Query} query - specifies the query
     * @returns {data.Query} - returns the query
     * @hidden
     */
    aggregateQuery(query: data.Query): data.Query;
    protected virtualGroupPageQuery(query: data.Query): data.Query;
    protected pageQuery(query: data.Query, skipPage?: boolean): data.Query;
    protected groupQuery(query: data.Query): data.Query;
    protected sortQuery(query: data.Query): data.Query;
    /**
     * @param {data.Query} query - specifies the query
     * @param {Column} fcolumn - specifies the forein key column model
     * @param {boolean} isForeignKey - Confirms whether the column is a foreign key or not
     * @returns {data.Query} - returns the query
     * @hidden
     */
    searchQuery(query: data.Query, fcolumn?: Column, isForeignKey?: boolean): data.Query;
    protected filterQuery(query: data.Query, column?: PredicateModel[], skipFoerign?: boolean): data.Query;
    private fGeneratePredicate;
    /**
     * The function is used to get dataManager promise by executing given data.Query.
     *
     * @param {object} args - specifies the object
     * @param {string} args.requestType - Defines the request type
     * @param {string[]} args.foreignKeyData - Defines the foreignKeyData.string
     * @param {Object} args.data - Defines the data.
     * @param {number} args.index - Defines the index .
     * @param {data.Query} query - Defines the query which will execute along with data processing.
     * @returns {Promise<Object>} - returns the object
     * @hidden
     */
    getData(args?: {
        requestType?: string;
        foreignKeyData?: string[];
        data?: Object;
        index?: number;
    }, query?: data.Query): Promise<Object>;
    private insert;
    private executeQuery;
    private formatGroupColumn;
    private crudActions;
    /**
     * @param {object} changes - specifies the changes
     * @param {string} key - specifies the key
     * @param {object} original - specifies the original data
     * @param {data.Query} query - specifies the query
     * @returns {Promise<Object>} returns the object
     * @hidden
     */
    saveChanges(changes: Object, key: string, original: Object, query?: data.Query): Promise<Object>;
    private getKey;
    /**
     * @returns {boolean} returns whether its remote data
     * @hidden
     */
    isRemote(): boolean;
    private addRows;
    private removeRows;
    private getColumnByField;
    protected destroy(): void;
    getState(): PendingState;
    setState(state: PendingState): Object;
    getForeignKeyDataState(): PendingState;
    setForeignKeyDataState(state: PendingState): void;
    getStateEventArgument(query: data.Query): PendingState;
    private eventPromise;
    /**
     * Gets the columns where searching needs to be performed from the Grid.
     *
     * @returns {string[]} returns the searched column field names
     */
    private getSearchColumnFieldNames;
    private refreshFilteredCols;
}
//node_modules/@syncfusion/ej2-grids/src/grid/actions/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;
    autofit: string;
    autofitall: string;
}
/**
 * The `ContextMenu` module is used to handle context menu actions.
 */
export  class ContextMenu implements IAction {
    private element;
    contextMenu: navigations.ContextMenu;
    private defaultItems;
    private disableItems;
    private hiddenItems;
    private gridID;
    private parent;
    private serviceLocator;
    private l10n;
    private localeText;
    private targetColumn;
    private eventArgs;
    isOpen: boolean;
    row: HTMLTableRowElement;
    cell: HTMLTableCellElement;
    private targetRowdata;
    constructor(parent?: IGrid, serviceLocator?: ServiceLocator);
    /**
     * @returns {void}
     * @hidden
     */
    addEventListener(): void;
    /**
     * @returns {void}
     * @hidden
     */
    removeEventListener(): void;
    private keyDownHandler;
    private render;
    private enableAfterRenderMenu;
    private getMenuItems;
    private getLastPage;
    private contextMenuOpen;
    /**
     * @param {ContextMenuClickEventArgs} args - specifies the ContextMenuClickEventArgs argument type
     * @returns {void}
     * @hidden
     */
    contextMenuItemClick(args: ContextMenuClickEventArgs): void;
    private contextMenuOnClose;
    private getLocaleText;
    private updateItemStatus;
    private contextMenuBeforeOpen;
    private ensureTarget;
    private ensureFrozenHeader;
    private ensureDisabledStatus;
    /**
     * Gets the context menu element from the Grid.
     *
     * @returns {Element} returns the element
     */
    getContextMenu(): Element;
    /**
     * Destroys the context menu component in the Grid.
     *
     * @function destroy
     * @returns {void}
     * @hidden
     */
    destroy(): void;
    private getModuleName;
    private generateID;
    private getKeyFromId;
    private buildDefaultItems;
    private getDefaultItems;
    private setLocaleKey;
    private getColumn;
    private selectRow;
}
//node_modules/@syncfusion/ej2-grids/src/grid/actions/command-column.d.ts
/**
 * `CommandColumn` used to handle the command column actions.
 *
 * @hidden
 */
export  class CommandColumn {
    private parent;
    private locator;
    constructor(parent: IGrid, locator?: ServiceLocator);
    private initiateRender;
    private commandClickHandler;
    /**
     * For internal use only - Get the module name.
     *
     * @returns {string} returns the module name
     */
    private getModuleName;
    /**
     * To destroy CommandColumn.
     *
     * @function destroy
     * @returns {void}
     */
    private destroy;
    private removeEventListener;
    private addEventListener;
    private keyPressHandler;
    private load;
}
//node_modules/@syncfusion/ej2-grids/src/grid/actions/column-menu.d.ts
/**
 * 'column menu module used to handle column menu actions'
 *
 * @hidden
 */
export  class ColumnMenu implements IAction {
    private element;
    private gridID;
    private columnMenu;
    private l10n;
    private defaultItems;
    private localeText;
    private targetColumn;
    private disableItems;
    private hiddenItems;
    private headerCell;
    private isOpen;
    private GROUP;
    private UNGROUP;
    private ASCENDING;
    private DESCENDING;
    private ROOT;
    private FILTER;
    private POP;
    private WRAP;
    private COL_POP;
    private CHOOSER;
    private AUTOFIT;
    private AUTOFITALL;
    private COLUMNCHOOSER;
    /** @hidden */
    parent: IGrid;
    /** @hidden */
    responsiveDialogRenderer: ResponsiveDialogRenderer;
    /** @hidden */
    serviceLocator: ServiceLocator;
    constructor(parent?: IGrid, serviceLocator?: ServiceLocator);
    private wireEvents;
    private unwireEvents;
    private setFullScreenDialog;
    /**
     * To destroy the resize
     *
     * @returns {void}
     * @hidden
     */
    destroy(): void;
    columnMenuHandlerClick(e: Event): void;
    /**
     * @param {string} field - specifies the field name
     * @returns {void}
     * @hidden
     */
    openColumnMenuByField(field: string): void;
    private afterFilterColumnMenuClose;
    private openColumnMenu;
    private columnMenuHandlerDown;
    private getColumnMenuHandlers;
    /**
     * @returns {void}
     * @hidden
     */
    addEventListener(): void;
    /**
     * @returns {void}
     * @hidden
     */
    removeEventListener(): void;
    private keyPressHandler;
    private enableAfterRenderMenu;
    private render;
    private wireFilterEvents;
    private unwireFilterEvents;
    private beforeMenuItemRender;
    private columnMenuBeforeClose;
    private isChooserItem;
    private columnMenuBeforeOpen;
    private columnMenuOnOpen;
    private ensureDisabledStatus;
    private columnMenuItemClick;
    private columnMenuOnClose;
    private getDefaultItems;
    private getItems;
    private getDefaultItem;
    private getLocaleText;
    private generateID;
    private getKeyFromId;
    /**
     * @returns {HTMLElement} returns the HTMLElement
     * @hidden
     */
    getColumnMenu(): HTMLElement;
    private getModuleName;
    private setLocaleKey;
    private getHeaderCell;
    private getColumn;
    private createChooserItems;
    private appendFilter;
    private getFilter;
    private setPosition;
    private filterPosition;
    private getDefault;
    private isFilterPopupOpen;
    private getFilterPop;
    private isFilterItemAdded;
    private renderResponsiveChangeAction;
}
//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 l10n;
    private dlgObj;
    private searchValue;
    private flag;
    private timer;
    getShowHideService: ShowHide;
    private filterColumns;
    private showColumn;
    private hideColumn;
    private changedColumns;
    private unchangedColumns;
    private mainDiv;
    private infiniteDiv;
    private infiniteLoadedElement;
    private innerDiv;
    private ulElement;
    private isDlgOpen;
    private isColumnChooserOpen;
    private initialOpenDlg;
    private stateChangeColumns;
    private changedStateColumns;
    private dlgDiv;
    private isInitialOpen;
    private isCustomizeOpenCC;
    private cBoxTrue;
    private cBoxFalse;
    private searchBoxObj;
    private searchOperator;
    private targetdlg;
    private itemsCount;
    private infiniteSkipCount;
    private infiniteColumns;
    private infiniteInitialLoad;
    private prevInfiniteScrollDirection;
    private infiniteScrollAppendDiff;
    private prevShowedCols;
    private hideDialogFunction;
    private infiniteRenderMode;
    /** @hidden */
    parent: IGrid;
    /** @hidden */
    responsiveDialogRenderer: ResponsiveDialogRenderer;
    /** @hidden */
    serviceLocator: ServiceLocator;
    /**
     * Constructor for the Grid ColumnChooser module
     *
     * @param {IGrid} parent - specifies the IGrid
     * @param {ServiceLocator} serviceLocator - specifies the serviceLocator
     * @hidden
     */
    constructor(parent?: IGrid, serviceLocator?: ServiceLocator);
    private destroy;
    private setFullScreenDialog;
    private rtlUpdate;
    /**
     * @returns {void}
     * @hidden
     */
    addEventListener(): void;
    /**
     * @returns {void}
     * @hidden
     */
    removeEventListener(): void;
    private render;
    private clickHandler;
    private hideDialog;
    /**
     * To render columnChooser when showColumnChooser enabled.
     *
     * @param {number} x - specifies the position x
     * @param {number} y - specifies the position y
     * @param {Element} target - specifies the target
     * @returns {void}
     * @hidden
     */
    renderColumnChooser(x?: number, y?: number, target?: Element): void;
    /**
     * Column chooser can be displayed on screen by given position(X and Y axis).
     *
     * @param  {number} X - Defines the X axis.
     * @param  {number} Y - Defines the Y axis.
     * @return {void}
     */
    openColumnChooser(X?: number, Y?: number): void;
    private enableAfterRenderEle;
    private keyUpHandler;
    private setFocus;
    private customDialogOpen;
    private customDialogClose;
    private getColumns;
    private renderDlgContent;
    /**
     * To render the header template for the column chooser.
     * @returns {HTMLElement | string} This method return HTMLElement or string.
     * @hidden
     */
    renderHeader(): HTMLElement | string;
    /**
     * To render the footer template for the column chooser.
     * @returns {HTMLElement | string} This method return HTMLElement or string.
     */
    private renderFooter;
    private renderChooserList;
    private confirmDlgBtnClick;
    /**
     * Toggles the visibility of specified columns in the grid.
     * @param {Object} columns - An object specifying the columns to show or hide.
     * @param {string[]} columns.visibleColumns - An array of column identifiers specifying the columns to show.
     * @param {string[]} columns.hiddenColumns - An array of column identifiers specifying the columns to hide.
     * @param {string} columnKey - Defines the column key as a UID, field name, or header text.
     * @returns {void}
     * The 'columns' object contains the properties 'visibleColumns' and 'hiddenColumns' as arrays of column identifiers.
     */
    changeColumnVisibility(columns: {
        visibleColumns: string[];
        hiddenColumns: string[];
    }, columnKey?: string): void;
    private onResetColumns;
    private renderResponsiveColumnChooserDiv;
    resetColumnState(): void;
    private changedColumnState;
    private columnStateChange;
    private clearActions;
    private clearBtnClick;
    private checkstatecolumn;
    private columnChooserSearch;
    private updateIfiniteSelectAll;
    private wireEvents;
    private unWireEvents;
    private checkBoxClickHandler;
    private updateIntermediateBtn;
    private updateSelectAll;
    private refreshCheckboxButton;
    private refreshCheckboxList;
    private infiniteScrollMouseKeyDownHandler;
    private infiniteScrollMouseKeyUpHandler;
    private infiniteScrollHandler;
    private refreshCheckboxState;
    private checkState;
    private createCheckBox;
    private renderCheckbox;
    private columnChooserManualSearch;
    private startTimer;
    private stopTimer;
    private addcancelIcon;
    private removeCancelIcon;
    private mOpenDlg;
    private getModuleName;
    private hideOpenedDialog;
    private beforeOpenColumnChooserEvent;
    private renderResponsiveChangeAction;
    /**
     * To show the responsive custom sort dialog
     *
     * @param {boolean} enable - specifes dialog open
     * @returns {void}
     * @hidden
     */
    showCustomColumnChooser(enable: boolean): void;
}
//node_modules/@syncfusion/ej2-grids/src/grid/actions/clipboard.d.ts
/**
 * The `Clipboard` module is used to handle clipboard copy action.
 */
export  class Clipboard implements IAction {
    private activeElement;
    protected clipBoardTextArea: HTMLInputElement;
    private copyContent;
    private isSelect;
    private l10n;
    protected serviceLocator: ServiceLocator;
    private parent;
    /**
     * Constructor for the Grid clipboard module
     *
     * @param {IGrid} parent - specifies the IGrid
     * @param {ServiceLocator} serviceLocator - specifies the serviceLocator
     * @hidden
     */
    constructor(parent?: IGrid, serviceLocator?: ServiceLocator);
    /**
     * @returns {void}
     * @hidden
     */
    addEventListener(): void;
    /**
     * @returns {void}
     * @hidden
     */
    removeEventListener(): void;
    private clickHandler;
    private pasteHandler;
    /**
     * Paste data from clipboard to selected cells.
     *
     * @param {boolean} data - Specifies the date for paste.
     * @param {boolean} rowIndex - Specifies the row index.
     * @param {boolean} colIndex - Specifies the column index.
     * @returns {void}
     */
    paste(data: string, rowIndex: number, colIndex: number): void;
    private initialEnd;
    private keyDownHandler;
    protected setCopyData(withHeader?: boolean): void;
    private getCopyData;
    /**
     * Copy selected rows or cells data into clipboard.
     *
     * @returns {void}
     * @param {boolean} withHeader - Specifies whether the column header data need to be copied or not.
     */
    copy(withHeader?: boolean): void;
    /**
     * For internal use only - Get the module name.
     *
     * @returns {string} returns the module name
     * @private
     */
    protected getModuleName(): string;
    /**
     * To destroy the clipboard
     *
     * @returns {void}
     * @hidden
     */
    destroy(): void;
    private checkBoxSelection;
}
//node_modules/@syncfusion/ej2-grids/src/grid/actions/checkbox-filter.d.ts
/**
 * @hidden
 * `CheckBoxFilter` module is used to handle filtering action.
 */
export  class CheckBoxFilter {
    protected parent: IGrid;
    checkBoxBase: CheckBoxFilterBase;
    isresetFocus: boolean;
    /**
     * Constructor for checkbox filtering module
     *
     * @param {IGrid} parent - specifies the IGrid
     * @param {FilterSettings} filterSettings - specifies the filtersettings
     * @param {ServiceLocator} serviceLocator - specifies the ServiceLocator
     * @hidden
     */
    constructor(parent?: IGrid, filterSettings?: FilterSettings, serviceLocator?: ServiceLocator);
    /**
     * To destroy the check box filter.
     *
     * @returns {void}
     * @hidden
     */
    destroy(): void;
    openDialog(options: IFilterArgs): void;
    closeDialog(): void;
    protected closeResponsiveDialog(): void;
    /**
     * For internal use only - Get the module name.
     *
     * @returns {string} - returns the module name
     * @private
     */
    protected getModuleName(): string;
    private actionBegin;
    private actionComplete;
    private actionPrevent;
    protected clearCustomFilter(col: Column): void;
    protected applyCustomFilter(): void;
    addEventListener(): void;
    removeEventListener(): void;
}
//node_modules/@syncfusion/ej2-grids/src/grid/actions/blazor-action.d.ts
export  const gridObserver: base.Observer;
/**
 * BlazorAction is used for performing Blazor related Grid Actions.
 *
 * @hidden
 */
export  class BlazorAction {
    private parent;
    private aria;
    private actionArgs;
    private dataSourceChanged;
    private virtualContentModule;
    private virtualHeight;
    constructor(parent?: IGrid);
    addEventListener(): void;
    removeEventListener(): void;
    getModuleName(): string;
    modelChanged(args: ActionArgs): void;
    addDeleteSuccess(args: NotifyArgs): void;
    editSuccess(args: ActionArgs): void;
    invokeServerDataBind(args: ActionArgs): void;
    onDetailRowClick(target: Element): void;
    setColumnVisibility(columns: Column[]): void;
    dataSuccess(args: ReturnType): void;
    removeDisplayNone(): void;
    setVirtualTrackHeight(args: {
        VisibleGroupedRowsCount: number;
    }): void;
    setColVTableWidthAndTranslate(args?: {
        refresh: boolean;
    }): void;
    private dataSourceModified;
    private setClientOffSet;
    private setServerOffSet;
    onGroupClick(args: object): void;
    setPersistData(args: Object): void;
    resetPersistData(args: string): void;
    private contentColGroup;
    dataFailure(args: {
        result: Object[];
    }): void;
    destroy(): void;
}
//node_modules/@syncfusion/ej2-grids/src/grid/actions/batch-edit.d.ts
/**
 * `BatchEdit` module is used to handle batch editing actions.
 *
 * @hidden
 */
export  class BatchEdit {
    private parent;
    private serviceLocator;
    private form;
    formObj: inputs.FormValidator;
    private renderer;
    private focus;
    private dataBoundFunction;
    private batchCancelFunction;
    private removeSelectedData;
    private cellDetails;
    private isColored;
    private isAdded;
    private originalCell;
    private cloneCell;
    private editNext;
    private preventSaveCell;
    private index;
    private crtRowIndex;
    private field;
    private initialRender;
    private validationColObj;
    private isAdd;
    private newReactTd;
    private evtHandlers;
    /** @hidden */
    addBatchRow: boolean;
    private prevEditedBatchCell;
    private mouseDownElement;
    constructor(parent?: IGrid, serviceLocator?: ServiceLocator, renderer?: EditRender);
    /**
     * @returns {void}
     * @hidden
     */
    addEventListener(): void;
    /**
     * @returns {void}
     * @hidden
     */
    removeEventListener(): void;
    private batchCancel;
    private dataBound;
    /**
     * @returns {void}
     * @hidden
     */
    destroy(): void;
    protected mouseDownHandler(e: MouseEvent): void;
    protected clickHandler(e: MouseEvent): void;
    protected dblClickHandler(e: MouseEvent): void;
    private onBeforeCellFocused;
    private onCellFocused;
    private isAddRow;
    private editCellFromIndex;
    closeEdit(): void;
    private removeBatchElementChanges;
    deleteRecord(fieldname?: string, data?: Object): void;
    addRecord(data?: Object): void;
    endEdit(): void;
    private validateFormObj;
    batchSave(): void;
    getBatchChanges(): Object;
    /**
     * @param {string} uid - specifes the uid
     * @returns {void}
     * @hidden
     */
    removeRowObjectFromUID(uid: string): void;
    /**
     * @param {Row<Column>} row - specifies the row object
     * @returns {void}
     * @hidden
     */
    addRowObject(row: Row<Column>): void;
    private bulkDelete;
    private refreshRowIdx;
    private bulkAddRow;
    private findNextEditableCell;
    private getDefaultData;
    private setCellIdx;
    editCell(index: number, field: string, isAdd?: boolean): void;
    editCellExtend(index: number, field: string, isAdd?: boolean): void;
    updateCell(rowIndex: number, field: string, value: string | number | boolean | Date): void;
    private setChanges;
    updateRow(index: number, data: Object): void;
    private getCellIdx;
    private refreshTD;
    private getColIndex;
    private editNextValCell;
    escapeCellEdit(): void;
    private generateCellArgs;
    saveCell(isForceSave?: boolean): void;
    private successCallBack;
    private prevEditedBatchCellMatrix;
    protected getDataByIndex(index: number): Object;
    private keyDownHandler;
    /**
     * @returns {void}
     * @hidden
     */
    addCancelWhilePaging(): void;
    private getBottomIndex;
}
//node_modules/@syncfusion/ej2-grids/src/grid/actions/aggregate.d.ts
/**
 * Summary Action controller.
 */
export  class Aggregate implements IAction {
    private parent;
    private locator;
    private footerRenderer;
    constructor(parent: IGrid, locator?: ServiceLocator);
    getModuleName(): string;
    private initiateRender;
    /**
     * @returns {void}
     * @hidden
     */
    prepareSummaryInfo(): void;
    onPropertyChanged(e: NotifyArgs): void;
    addEventListener(): void;
    removeEventListener(): void;
    destroy(): void;
    refresh(data: Object, element?: Element): void;
}
/**
 * @param {AggregateRowModel[]} aggregates - specifies the AggregateRowModel
 * @param {Function} callback - specifies the Function
 * @returns {void}
 * @private
 */
export  function summaryIterator(aggregates: AggregateRowModel[], callback: Function): void;
 }
export namespace heatmap { 

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

 }
export namespace imageEditor { 

//node_modules/@syncfusion/ej2-image-editor/src/image-editor/renderer/toolbar.d.ts
export  class ToolbarModule {
    private parent;
    private defaultLocale;
    private defToolbarItems;
    private toolbarHeight;
    private zoomBtnHold;
    private l10n;
    private currToolbar;
    private preventZoomBtn;
    private currentToolbar;
    private selFhdColor;
    private preventEnableDisableUr;
    private isAspectRatio;
    private isFrameToolbar;
    private presetColors;
    private lowerContext;
    private upperContext;
    private inMemoryCanvas;
    private inMemoryContext;
    imageWidth: number;
    imageHeight: number;
    private popupLeft;
    fileName: string;
    fileSize: number;
    private isSlider;
    private currentQuality;
    private initialSize;
    private fileType;
    private imageQuality;
    constructor(parent: ImageEditor);
    destroy(): void;
    private addEventListener;
    private removeEventListener;
    private initLocale;
    private toolbar;
    private updatePrivateVariables;
    private reset;
    private destroyTopToolbar;
    private destroyBottomToolbar;
    private isToolbar;
    private createToolbar;
    private createContextualToolbar;
    private createBottomToolbar;
    private createQuickAccessToolbar;
    private initMainToolbar;
    private initBottomToolbar;
    private getLeftToolbarItem;
    private getRightToolbarItem;
    private getMainToolbarItem;
    private getZoomToolbarItem;
    private updateContextualToolbar;
    private processToolbar;
    private processSubToolbar;
    private wireZoomBtnEvents;
    private widthPress;
    private heightPress;
    private widthAspectRatio;
    private heightAspectRatio;
    private getResizeToolbarItem;
    private initResizeToolbar;
    private wireResizeBtnEvents;
    private enableDisableTbrBtn;
    private createLeftToolbarControls;
    private fileSelect;
    private triggerTbarClickEvent;
    private renderAnnotationBtn;
    private enableDisableCloneBtn;
    private renderStraightenSlider;
    private renderCropBtn;
    private renderTransformBtn;
    private saveDialogPopup;
    private updateSavePreviewImage;
    private saveDialogClosed;
    private onBeforeopen;
    private qualityBtnClickHandler;
    private updateImageSize;
    private download;
    private getCropTransformToolbarItem;
    private getShapesToolbarItem;
    private initCropTransformToolbar;
    private getCropTextContent;
    private getCurrentShapeIcon;
    private initShapesToolbarItem;
    private createRectangleRadius;
    private beforeModeSwitch;
    private createShapeColor;
    private createShapeBtn;
    private createZOrderBtn;
    private createStartBtn;
    private createEndBtn;
    private getTextToolbarItem;
    private getFontFamilyItems;
    private initTextToolbarItem;
    private createTextColor;
    private createBackgroundColor;
    private createStrokeTextColor;
    private createTextBtn;
    private refreshToolbar;
    private updateRedactObj;
    private updateKBDNavigation;
    private performCropTransformClick;
    private getAdjustmentToolbarItem;
    private getFrameToolbarItem;
    private getFilterToolbarItem;
    private getPenToolbarItem;
    private initPenToolbarItem;
    private createPenColor;
    private createPenBtn;
    private getPenStroke;
    private initAdjustmentToolbarItem;
    private initFrameToolbarItem;
    private createFrameGradientColor;
    private createFrameColor;
    private createFrameSize;
    private createFrameInset;
    private createFrameOffset;
    private createFrameRadius;
    private createFrameAmount;
    private createFrameBorder;
    private initFilterToolbarItem;
    private drawDashedLine;
    private createCanvasFilter;
    private updateFilterCanvas;
    private getQuickAccessToolbarItem;
    private renderQAT;
    private refreshDropDownBtn;
    private cropSelect;
    private quickAccessToolbarClicked;
    private editText;
    private duplicateShape;
    private defToolbarClicked;
    private performDefTbrClick;
    private updateRedactType;
    private frameToolbarClick;
    private zoomToFrameRange;
    private resizeClick;
    private callFrameToolbar;
    private contextualToolbarClicked;
    private refreshShapeDrawing;
    private zoomInBtnClickHandler;
    private zoomOutBtnClickHandler;
    private zoomInBtnMouseDownHandler;
    private zoomOutBtnMouseDownHandler;
    private zoomBtnMouseUpHandler;
    private closeContextualToolbar;
    private destroyQuickAccessToolbar;
    private renderSlider;
    private createSlider;
    private updateFinetuneSpan;
    private applyPreviewFilter;
    private unselectBtn;
    private openSlider;
    private refreshSlider;
    private unselectFrameBtn;
    private updateToolbarItems;
    private getStrokeWidth;
    private getRectRadius;
    private cancelPan;
    private refreshMainToolbar;
    private destroySubComponents;
    private setInitialShapeSettings;
    private isToolbarString;
    private excludeItems;
    private isSameIndex;
    private getIndex;
    getModuleName(): string;
    private redactSlider;
}
//node_modules/@syncfusion/ej2-image-editor/src/image-editor/base/interface.d.ts
/**
 * This interface is used to specify settings for image finetuning operations, including minimum and maximum values, as well as default values.
 */
export interface ImageFinetuneValue {
    /**
     * Specifies the minimum value of finetune option.
     *
     * @default null
     */
    min: number;
    /**
     * Specifies the maximum value of finetune option.
     *
     * @default null
     */
    max: number;
    /**
     * Specifies the default value of finetune option.
     *
     * @default null
     */
    defaultValue: number;
}
/**
 * The Interface which contains the properties for zoom transition occur in the Image Editor.
 *
 * @remarks
 * The `cancel` and `previousZoomFactor` properties were used for `zooming` event.
 */
export interface ZoomEventArgs {
    /**
     * Returns the point in which the zooming action was performed.
     *
     * @remarks
     * The given value is a point object which has x and y coordinates.
     *
     */
    zoomPoint: Point;
    /**
     * Returns the previous zoom factor that already had before this current zooming action.
     *
     * @remarks
     * The previous and current zoom factor is used for finding whether the performed zooming is a zoom in or zoom out.
     *
     */
    previousZoomFactor: number;
    /**
     * Returns the current zoomed level, in which the loaded image is enlarged in the image editor.
     *
     * @remarks
     * The previous and current zoom factor is used for finding whether the performed zooming is a zoom in or zoom out.
     *
     */
    currentZoomFactor: number;
    /**
     * Specifies a value that indicates whether the zooming action can be canceled in image editor.
     */
    cancel?: boolean;
    /**
     * Returns the type of zooming performed in the image editor.
     *
     * @remarks
     * This property is used to get the type of zooming performed in the editor.
     * The possible values of this property are 'MouseWheel', 'Pinch', 'Commands', and 'Toolbar'.
     * The value of this property will be updated each time a zoom operation is performed.
     * MouseWheel - It indicates the zooming performed using mouse wheel.
     * Pinch - It indicates that zooming is performed using pinch gestures on touch-enabled devices.
     * Commands - It indicates that zooming is performed by clicking the CTRL key and either the plus (+) or minus (-) buttons on the keyboard.
     * Toolbar - It indicates that zooming is performed using toolbar buttons.
     * By default, this property is set to 'Toolbar'.
     *
     *
     */
    zoomTrigger: string;
}
/**
 * The Interface which contains the properties for pan transition occur in the Image Editor.
 */
export interface PanEventArgs {
    /**
     * Returns the (x, y) point of panning started
     */
    startPoint: Point;
    /**
     * Returns the (x, y) point to be panning ended.
     */
    endPoint: Point;
    /**
     * Defines whether to cancel the panning action of image editor.
     */
    cancel: boolean;
}
/**
 * The Interface which contains the properties for crop transition occurs in the Image Editor.
 *
 * @remarks
 * The `cancel` and `preventScaling` properties were used for `cropping` event.
 */
export interface CropEventArgs {
    /**
     * Returns the start point of the crop region.
     *
     * @remarks
     * The start and end point is used get the cropping region in an image editor.
     *
     */
    startPoint: Point;
    /**
     * Returns the end point of the crop region.
     *
     * @remarks
     * The start and end point is used get the cropping region in an image editor.
     *
     */
    endPoint: Point;
    /**
     * Specifies whether to prevent scale-based cropping in the image editor.
     */
    preventScaling?: boolean;
    /**
     * Defines whether to cancel the cropping action of image editor.
     */
    cancel?: boolean;
}
/**
 * The Interface which contains the properties for rotate transition in the Image Editor.
 *
 * @remarks
 * The `cancel` and `previousDegree` properties were used for `rotating` event.
 */
export interface RotateEventArgs {
    /**
     * Returns the current degree to be rotated.
     */
    currentDegree: number;
    /**
     * Returns the previous degree of rotated image.
     */
    previousDegree: number;
    /**
     * Defines whether to cancel the rotating action of image editor.
     */
    cancel?: boolean;
}
/**
 * The Interface which contains the properties for flip transition in the Image Editor.
 *
 * @remarks
 * The `cancel` and `previousDirection` properties were used for `flipping` event.
 */
export interface FlipEventArgs {
    /**
     * Returns the direction(Horizontal and vertical) to be flipped.
     */
    direction: string;
    /**
     * Defines the cancel option to cancel the flip action.
     */
    cancel?: boolean;
    /**
     * Returns the previous flipped direction of image.
     */
    previousDirection: string;
}
/**
 * The Interface which contains the properties for shape change in Image Editor.
 *
 * @remarks
 * The `cancel` and `previousShapeSettings` properties were used for `shapeChanging` event.
 */
export interface ShapeChangeEventArgs {
    /**
     * Defines the cancel option to cancel the shape change action.
     */
    cancel?: boolean;
    /**
     * Returns the name of the action.
     */
    action?: string;
    /**
     * Returns the object of shape before moved, resized, or customized the UI.
     */
    previousShapeSettings?: ShapeSettings;
    /**
     * Returns `the object of shape which is inserted or moved or deleted or resized or customized the UI.
     */
    currentShapeSettings?: ShapeSettings;
    /**
     * Prevents shapes from being dragged outside the image boundary.
     */
    allowShapeOverflow?: boolean;
}
/**
 * The Interface which contains the properties for selection change in Image Editor.
 */
export interface SelectionChangeEventArgs {
    /**
     * Returns the name of the action.
     */
    action?: string;
    /**
     * Returns the object of selection before resized, or customized the UI.
     */
    previousSelectionSettings?: CropSelectionSettings;
    /**
     * Returns the object of selection which is inserted or deleted or resized or customized the UI.
     */
    currentSelectionSettings?: CropSelectionSettings;
}
/**
 * The Interface which contains the properties for Toolbar events.
 */
export interface ToolbarEventArgs {
    /**
     * Defines whether the to cancel the toolbar updating/refreshing action in the image editor.
     */
    cancel?: boolean;
    /**
     * Returns the current toolbar type.
     */
    toolbarType?: string;
    /**
     * Returns the current toolbar item.
     */
    item?: navigations.ItemModel;
    /**
     * Specifies the toolbar item collection to be rendered as contextual toolbar.
     *
     * @remarks
     * This property collection contains string and navigations.ItemModel values.
     * The string values representing the names of the built-in toolbar items to be displayed.
     * The navigations.ItemModel values representing the object of custom toolbar items to be displayed.
     *
     */
    toolbarItems?: (string | navigations.ItemModel)[];
}
/**
 * The Interface which contains the properties for opening the image.
 */
export interface OpenEventArgs {
    /**
     * Returns the file name of an image.
     */
    fileName: string;
    /**
     * Returns the file type of an image.
     */
    fileType: FileType;
    /**
     * Returns whether the loaded file is valid in the image editor.
     */
    isValidImage: boolean;
}
/**
 * The Interface which contains the properties for saving the canvas as image.
 */
export interface SaveEventArgs {
    /**
     * Returns the file name of an image.
     */
    fileName: string;
    /**
     * Returns the file type of an image.
     */
    fileType: FileType;
}
/**
 * The Interface which contains the properties for before saving the canvas as image.
 */
export interface BeforeSaveEventArgs {
    /**
     * Defines whether the to cancel the saving action in the image editor.
     */
    cancel: boolean;
    /**
     * Specifies the file name for an image.
     */
    fileName: string;
    /**
     * Returns the file type for an image.
     */
    fileType: FileType;
    /**
     * Returns the Quality of an image.
     */
    imageQuality?: number;
}
/**
 * The Interface which contains the properties for Point Object in the image editor.
 *
 */
export interface Point {
    /**
     * Returns the x position in the canvas.
     */
    x: number;
    /**
     * Returns y position in the canvas.
     */
    y: number;
    /**
     * Returns the x ratio from in the image.
     *
     * @private
     */
    ratioX?: number;
    /**
     * Returns y ratio from the image.
     *
     * @private
     */
    ratioY?: number;
    /**
     * Specifies the time.
     *
     * @private
     */
    time?: number;
}
/**
 * Interface for CropSelectionSettings in the Image Editor.
 */
export interface CropSelectionSettings {
    /**
     * Returns the type of the selection.
     */
    type: string;
    /**
     * Returns the start x position of the selection.
     */
    startX: number;
    /**
     * Returns the start y position of the selection.
     */
    startY: number;
    /**
     * Returns the width of the selection.
     */
    width?: number;
    /**
     * Returns the height of the selection.
     */
    height?: number;
}
/**
 * Interface for ShapeSettings in the Image Editor.
 */
export interface ShapeSettings {
    /**
     * Returns the id of the shape.
     */
    id: string;
    /**
     * Returns the type of the shape.
     */
    type: ShapeType;
    /**
     * Returns the start x position of the shape.
     */
    startX: number;
    /**
     * Returns the start y position of the shape.
     */
    startY: number;
    /**
     * Returns the opacity value of the shape.
     */
    opacity?: number;
    /**
     * Returns the width of the shape.
     */
    width?: number;
    /**
     * Returns the height of the shape.
     */
    height?: number;
    /**
     * Returns the stroke color of the shape.
     */
    strokeColor?: string;
    /**
     * Returns the fill color of the shape.
     */
    fillColor?: string;
    /**
     * Returns the stroke width of the shape.
     */
    strokeWidth?: number;
    /**
     * Returns the radius of the ellipse shape.
     */
    radius?: number;
    /**
     * Returns the length of the line or arrow shape.
     */
    length?: number;
    /**
     * Returns the text content of the text.
     */
    text?: string;
    /**
     * Returns the font size of the text.
     */
    fontSize?: number;
    /**
     * Returns the font family of the text.
     */
    fontFamily?: string;
    /**
     * Returns the font style of the text.
     */
    fontStyle?: string[];
    /**
     * Returns the font color of the text.
     */
    color?: string;
    /**
     * Returns the points collection of freehand drawing and path annotation.
     */
    points?: Point[];
    /**
     * Returns the degree of rotated shape.
     */
    degree?: number;
    /**
     * Returns the imageData of the image annotation.
     */
    imageData?: string | ImageData;
    /**
     * Returns the width radius of the ellipse shape.
     */
    radiusX?: number;
    /**
     * Returns the height radius of the ellipse shape.
     */
    radiusY?: number;
    /**
     * Returns the end x position of line and arrow.
     */
    endX?: number;
    /**
     * Returns the end y position of line and arrow.
     */
    endY?: number;
    /**
     * Returns the head type of an arrow.
     */
    arrowHead?: ArrowheadType;
    /**
     * Returns the tail type of an arrow.
     */
    arrowTail?: ArrowheadType;
    /**
     * Returns the order of the annotation in which it is placed on the image.
     */
    index?: number;
    /**
     * Returns the border radius of the rectangle annotation.
     */
    borderRadius?: number;
    /**
     * Returns the transform collection of the annotations.
     */
    transformCollection?: TransformationCollection[];
}
/**
 * The interface which contains the properties for filter option for the image.
 *
 * @remarks
 * The `cancel` property is used for `imageFiltering` event.
 */
export interface ImageFilterEventArgs {
    /**
     * Specifies the when applying filter to an image.
     */
    filter: ImageFilterOption;
    /**
     * Defines the cancel option to cancel the filter action.
     */
    cancel?: boolean;
}
/**
 * The interface which contains the properties for fine tunes option for the image.
 *
 * @remarks
 * The `cancel` property is used for `finetuneValueChanging` event.
 */
export interface FinetuneEventArgs {
    /**
     * Specifies the type of fine tunes.
     */
    finetune: ImageFinetuneOption;
    /**
     * Specifies the value of the fine tunes.
     */
    value: number;
    /**
     * Defines the cancel option to cancel the fine tunes action.
     */
    cancel?: boolean;
}
/**
 * Interface for Dimension calculation in the imageEditor.
 *
 */
export interface Dimension {
    /**
     * Gets x position from the canvas.
     */
    x?: number;
    /**
     * Gets y position from the canvas.
     */
    y?: number;
    /**
     * Gets width of the image.
     */
    width: number;
    /**
     * Gets height of the image.
     */
    height: number;
}
/**
 * Interface that provides information to the click event in the Image Editor.
 */
export interface ImageEditorClickEventArgs {
    /**
     * Returns the x and y coordinates of the mouse or touch action which performed in the Image Editor.
     */
    point: Point;
}
/**
 * The Interface which contains the properties for resize action in the Image Editor.
 *
 * @remarks
 * The `cancel`, `previousWidth`, and `previousHeight` properties were used for `resizing` event.
 */
export interface ResizeEventArgs {
    /**
     * Defines whether to cancel the resizing action of image editor.
     */
    cancel?: boolean;
    /**
     * Returns the width of the image before resizing can be performed.
     */
    previousWidth: number;
    /**
     * Returns the height of the image before resizing can be performed.
     */
    previousHeight: number;
    /**
     * Returns the width of the image after resizing can be performed.
     */
    width: number;
    /**
     * Returns the height of the image after resizing can be performed.
     */
    height: number;
    /**
     * Returns whether the resizing action should be an aspect ratio resizing or not.
     */
    isAspectRatio: boolean;
}
/**
 * Interface for quick access toolbar for the image.
 *
 */
export interface QuickAccessToolbarEventArgs {
    /**
     * Specifies whether to cancel the quick access toolbar the opening action.
     *
     * @remarks
     * Set this property to `true` to cancel the quick access toolbar opening action.
     * By default, this property is set to `false`.
     *
     */
    cancel: boolean;
    /**
     * Specifies the collection of toolbar items to be rendered in a quick access toolbar.
     *
     * @remarks
     * This property collection contains string and navigations.ItemModel values.
     * The string values representing the names of the built-in toolbar items to display.
     * The navigations.ItemModel values representing the object of custom toolbar items to display.
     * The navigations.ItemModel will be used to enable/disable the toolbar items.
     *
     */
    toolbarItems: (string | navigations.ItemModel)[];
    /**
     * Returns the type of shape to be selected such as Rectangle, Text, Line, Ellipse, Arrow, Path, Image, or Freehand draw.
     */
    shape?: string;
}
/**
 * The Interface which contains the properties for frame action in the Image Editor.
 *
 * @remarks
 * The `cancel` and `previousFrameSetting` properties were used for `frameChange` event.
 */
export interface FrameChangeEventArgs {
    /**
     * Defines whether to cancel the frame changing action of image editor.
     */
    cancel?: boolean;
    /**
     * Returns the previous frame settings applied on the image.
     */
    previousFrameSetting: FrameSettings;
    /**
     * Defines the current frame settings to be applied on the image.
     */
    currentFrameSetting: FrameSettings;
}
/**
 * Interface for a class FrameSettings
 */
export interface FrameSettings {
    /**
     * Specifies the frame option such as None, Mat, Bevel, Line, Inset, and Hook.
     *
     * @type {FrameType}
     *
     */
    type: FrameType;
    /**
     * Specifies the color of a frame.
     * A string value specifying the color of the frame. The color can be provided in various formats, including named colors ("red", "blue") and hexadecimal notation.
     *
     * @type {string}
     *
     */
    color: string;
    /**
     * Specifies the color of a frame.
     * A string value specifying the gradient color of the frame. The color can be provided in various formats, including named colors ("red", "blue") and hexadecimal notation.
     *
     * @type {string}
     *
     */
    gradientColor: string;
    /**
     * Specifies the size of a frame.
     * A number value specifying the size of the frame as a percentage. The size value indicates how much of the image's dimensions the frame occupies.
     *
     * @type {number}
     *
     */
    size: number;
    /**
     * Specifies the inset value of a frame.
     * A number value specifying the inset of the frame as a percentage. The inset value determines how far the frame is drawn inside the image boundaries.
     *
     * @remarks
     * The Inset value only be available for Line, Inset, and Hook frames.
     *
     * @type {number}
     *
     */
    inset: number;
    /**
     * Specifies the offset value of a frame.
     * A number value specifying the inset of the frame as a percentage. The inset value determines how far the frame is drawn inside the image boundaries.
     *
     * @remarks
     * The Inset value only be available for Line, Inset, and Hook frames.
     *
     * @type {number}
     *
     */
    offset: number;
    /**
     *  Specifies the radius value for line-type frame.
     *  A number value that specifies the border radius of the frame as a percentage. The border radius controls the curvature of the frame's corners or edges.
     *
     * @remarks
     * The radius value only be available for Line and Bevel frames.
     *
     * @type {number}
     *
     */
    borderRadius: number;
    /**
     *  Specifies the type of line to be drawn for line-type frame.
     *  A FrameLineStyle enumeration value that specifies the type of line to be applied as a frame.
     *
     * @remarks
     * The FrameLineStyle value only be available for Line frames.
     *
     * @type {FrameLineStyle}
     *
     */
    frameLineStyle: FrameLineStyle;
    /**
     *  Specifies the number of lines to be drawn for line-type frame.
     *
     * @remarks
     * The lineCount value only be available for Line frame.
     *
     * @type {number}
     *
     */
    lineCount: number;
}
/**
 * The Interface which contains the properties for loading an image into Image Editor.
 */
export interface ImageSettings {
    /**
     * Returns the background color of an image.
     */
    backgroundColor: string;
}
/**
 * The Interface which contains the tranformation collection of annotation in Image Editor.
 */
export interface TransformationCollection {
    /**
     * Returns the transformed degree of annotation.
     */
    degree?: number;
    /**
     * Returns the transformed flip state of annotation.
     */
    flip?: Direction;
}
/**
 * Interface for active object in the imageEditor.
 *
 * @private
 */
export interface ActivePoint {
    /**
     * Gets mouse down x-point.
     */
    startX: number;
    /**
     * Gets mouse down y-point.
     */
    startY: number;
    /**
     * Gets mouse move x-point.
     */
    endX?: number;
    /**
     * Gets mouse move y-point.
     */
    endY?: number;
    /**
     * Gets width of the selection.
     */
    width?: number;
    /**
     * Gets height of the selection.
     */
    height?: number;
    /**
     * Gets radius of the circle dot.
     */
    radius?: number;
}
/**
 * Defines the cropped value of all Objects for Image Editor.
 *
 * @private
 */
export interface CurrentObject {
    /**
     * Specifies the stroke color for the object in Image Editor.
     */
    cropZoom: number;
    /**
     * Specifies the stroke color for the object in Image Editor.
     */
    defaultZoom: number;
    /**
     * Specifies the stroke color for the object in Image Editor.
     */
    zoomFactor: number;
    /**
     * Specifies the stroke color for the object in Image Editor.
     */
    previousZoomValue: number;
    /**
     * Specifies the stroke color for the object in Image Editor.
     */
    straightenZoom: number;
    /**
     * Specifies the stroke color for the object in Image Editor.
     */
    totalPannedPoint: Point;
    /**
     * Specifies the stroke color for the object in Image Editor.
     */
    totalPannedClientPoint: Point;
    /**
     * Specifies the stroke color for the object in Image Editor.
     */
    totalPannedInternalPoint: Point;
    /**
     * Specifies the stroke color for the object in Image Editor.
     */
    tempFlipPanPoint: Point;
    /**
     * Specifies the stroke color for the object in Image Editor.
     */
    activeObj: SelectionPoint;
    /**
     * Specifies the stroke color for the object in Image Editor.
     */
    rotateFlipColl: string[] | number[];
    /**
     * Specifies the stroke color for the object in Image Editor.
     */
    degree: number;
    /**
     * Specifies the stroke color for the object in Image Editor.
     */
    currFlipState: string;
    /**
     * Specifies the stroke color for the object in Image Editor.
     */
    straighten: number;
    /**
     * Specifies the stroke color for the object in Image Editor.
     */
    destPoints: ActivePoint;
    /**
     * Specifies the stroke color for the object in Image Editor.
     */
    srcPoints: ActivePoint;
    /**
     * Specifies the filter for the image in Image Editor.
     */
    filter: string;
    /**
     * Specifies the brightness finetune is adjusted or not for the image in Image Editor.
     */
    isBrightAdjust: boolean;
    /**
     * Specifies the width of image to be resized in Image Editor.
     */
    aspectWidth: number;
    /**
     * Specifies the height of image to be resized in Image Editor.
     */
    aspectHeight: number;
    /**
     * Specifies the frame to be drawn in the image in Image Editor.
     */
    frame: string;
    /**
     * Specifies the finetune value in Image Editor.
     */
    adjustmentLevel: Adjustment;
    /**
     * Specifies the selected filter value in Image Editor.
     */
    currentFilter: string;
    /**
     * Specifies the frame object to be drawn on the image in Image Editor.
     */
    frameObj?: FrameValue;
    /**
     * Specifies the object collection in Image Editor.
     */
    objColl?: SelectionPoint[];
    /**
     * Specifies the point collections for freehand drawing in Image Editor.
     */
    pointColl?: Point[];
    /**
     * Specifies the selection point collections for freehand drawing in Image Editor.
     */
    selPointColl?: Point[];
    /**
     * Specifies the action collections performed after cropping in Image Editor.
     */
    afterCropActions?: string[];
    /**
     * Specifies the action collections performed after cropping in Image Editor.
     */
    currSelectionPoint?: SelectionPoint;
    /**
     * Specifies the source of the loaded image in Image Editor.
     */
    imageSource?: string;
    /**
     * Specifies the background color of image in Image Editor.
     */
    bgColor?: string;
}
/**
 * Defines the stroke color, fillColor and strokeWidth properties for Image Editor.
 *
 * @private
 */
export interface StrokeSettings {
    /**
     * Specifies the stroke color for the object in Image Editor.
     */
    strokeColor: string;
    /**
     * Specifies the background color for the object in Image Editor.
     */
    fillColor: string;
    /**
     * Specifies the stroke width for the object in Image Editor.
     */
    strokeWidth: number;
    /**
     * Specifies the flip state for the object in Image Editor.
     */
    flipState?: string;
    /**
     * Specifies the flip state for the object in Image Editor.
     */
    radius?: number;
    /**
     * Specifies the stroke text color for Text Annotation.
     */
    outlineColor?: string;
    /**
     * Specifies the stroke width for the object in Image Editor.
     */
    outlineWidth?: number;
}
/**
 * Defines the destination and source points of image to draw in canvas.
 *
 * @private
 */
export interface ImageDimension {
    /**
     * Specifies the x coordinate where to place the image on the canvas.
     */
    destLeft: number;
    /**
     * Specifies the y coordinate where to place the image on the canvas.
     */
    destTop: number;
    /**
     * Specifies the width of the image to draw on the canvas.
     */
    destWidth: number;
    /**
     * Specifies the height of the image to draw on the canvas.
     */
    destHeight: number;
    /**
     * Specifies the x coordinate where to start clipping from the image.
     */
    srcLeft: number;
    /**
     * Specifies the y coordinate where to start clipping from the image.
     */
    srcTop: number;
    /**
     * Specifies the width of the clipped image.
     */
    srcWidth: number;
    /**
     * Specifies the height of the clipped image.
     */
    srcHeight: number;
}
/**
 * Defines the transformed values of image in canvas.
 *
 * @private
 */
export interface TransformValue {
    /**
     * Specifies the rotated degree of image on the canvas.
     */
    degree: number;
    /**
     * Specifies the flipped state of image on the canvas.
     */
    currFlipState: string;
    /**
     * Specifies the total zoomed value of image on the canvas.
     */
    zoomFactor: number;
    /**
     * Specifies the zoomed value of image in selection state on the canvas.
     */
    cropZoomFactor: number;
    /**
     * Specifies the zoomed value of image in non-selection state on the canvas.
     */
    defaultZoomFactor: number;
    /**
     * Specifies the straighten value of image on the canvas.
     */
    straighten: number;
}
/**
 * Defines the panned values of image in canvas.
 *
 * @private
 */
export interface PanPoint {
    /**
     * Specifies the temporary difference of old panned point and new panned point.
     */
    currentPannedPoint: Point;
    /**
     * Specifies the total panned point in non-rotated state from center of the image.
     */
    totalPannedPoint: Point;
    /**
     * Specifies the total temporary panned point in rotated state from center of the image.
     */
    totalPannedInternalPoint: Point;
    /**
     * Specifies the total panned point in rotated state from center of the image.
     */
    totalPannedClientPoint: Point;
}
/**
 * Defines the text, fontFamily, fontSize, bold, italic and underline properties for Image Editor.
 *
 * @private
 */
export interface TextSettings {
    /**
     * Specifies pre-defined text on canvas.
     */
    text: string;
    /**
     * Specifies the fontFamily for the text content.
     */
    fontFamily: string;
    /**
     * Specifies the fontSize for the text content.
     */
    fontSize: number;
    /**
     * Specifies the fontSize for the text content.
     */
    fontRatio: number;
    /**
     * Specifies the bold styles for the text content.
     */
    bold: boolean;
    /**
     * Specifies the italic styles for the text content.
     */
    italic: boolean;
    /**
     * Specifies the underline styles for the text content.
     */
    underline: boolean;
}
/**
 * Interface for Transition occur in the Image Editor.
 *
 * @private
 */
export interface Transition {
    /**
     * Specifies the operation name for undo / redo in Image Editor.
     */
    operation: string;
    /**
     * Specifies all previous object in Image Editor.
     */
    previousObj: CurrentObject;
    /**
     * Specifies all current object in Image Editor.
     */
    currentObj: CurrentObject;
    /**
     * Specifies the previous object collection in Image Editor.
     */
    previousObjColl: SelectionPoint[];
    /**
     * Specifies the current object collection in Image Editor.
     */
    currentObjColl: SelectionPoint[];
    /**
     * Specifies the previous point collection in Image Editor.
     */
    previousPointColl: Point[];
    /**
     * Specifies the current point collection in Image Editor.
     */
    currentPointColl: Point[];
    /**
     * Specifies the previous selection point collection in Image Editor.
     */
    previousSelPointColl: Point[];
    /**
     * Specifies the current selection point collection in Image Editor.
     */
    currentSelPointColl: Point[];
    /**
     * Specifies the previous crop object in Image Editor.
     */
    previousCropObj: CurrentObject;
    /**
     * Specifies the current crop object in Image Editor.
     */
    currentCropObj: CurrentObject;
    /**
     * Specifies the previous text from the text area in Image Editor.
     */
    previousText?: string;
    /**
     * Specifies the current text from the text area in Image Editor.
     */
    currentText?: string;
    /**
     * Specifies the current filter in Image Editor.
     */
    filter?: string;
    /**
     * Specifies the circle crop value in Image Editor.
     */
    isCircleCrop?: boolean;
    /**
     * Specifies the finetune slider value in Image Editor.
     */
    adjustmentLevel?: Adjustment;
    /**
     * Specifies the selected filter value in Image Editor.
     */
    currentFilter?: string;
}
/**
 * Interface for freehand drawing in the Image Editor.
 *
 * @private
 */
export interface FreehandDraw {
    /**
     * Specifies the last width of freehand draw points in Image Editor.
     */
    lastWidth: number;
    /**
     * Specifies the last velocity of freehand draw points in Image Editor.
     */
    lastVelocity: number;
    /**
     * Specifies the time of freehand draw points in Image Editor.
     */
    time: number;
    /**
     * Specifies the x point of freehand draw points in Image Editor.
     */
    pointX: number;
    /**
     * Specifies the y point of freehand draw points in Image Editor.
     */
    pointY: number;
}
/**
 * Interface for Transition occur in the Image Editor.
 *
 * @private
 */
export interface Adjustment {
    /**
     * Gets brightness level of image.
     */
    brightness: number;
    /**
     * Gets contrast level of image.
     */
    contrast: number;
    /**
     * Gets hue level of image.
     */
    hue: number;
    /**
     * Gets saturation level of image.
     */
    saturation: number;
    /**
     * Gets exposure level of image.
     */
    exposure: number;
    /**
     * Gets opacity level of image.
     */
    opacity: number;
    /**
     * Gets blur level of image.
     */
    blur: number;
    /**
     * Gets transparency level of image.
     */
    transparency: number;
    /**
     * Gets sharpness level of image.
     */
    sharpen: boolean;
    /**
     * Gets black and white level of image.
     */
    bw: boolean;
}
/**
 * Interface for interaction occur in the Image Editor.
 *
 * @private
 */
export interface Interaction {
    /**
     * Gets function name called from the canvas.
     */
    shape: string;
    /**
     * Gets function name called from the canvas.
     */
    isDragging: boolean;
    /**
     * Gets function name called from the canvas.
     */
    isActiveObj: boolean;
    /**
     * Gets function name called from the canvas.
     */
    isText: boolean;
    /**
     * Gets function name called from the canvas.
     */
    isInitialText: boolean;
    /**
     * Gets function name called from the canvas.
     */
    isLine: boolean;
    /**
     * Gets function name called from the canvas.
     */
    isInitialLine: boolean;
    /**
     * Gets function name called from the canvas.
     */
    isCustomCrop: boolean;
    /**
     * Gets function name called from the canvas.
     */
    isZoomed: boolean;
    /**
     * Gets function name called from the canvas.
     */
    isUndoZoom: boolean;
    /**
     * Gets function name called from the canvas.
     */
    isUndoAction: boolean;
    /**
     * Gets function name called from the canvas.
     */
    isFiltered: boolean;
    /**
     * Gets function name called from the canvas.
     */
    isSave: boolean;
    /**
     * Gets function name called from the canvas.
     */
    isResize: boolean;
    /**
     * Gets function name called from the canvas.
     */
    isRedact: boolean;
}
/**
 * Interface for frame support in the Image Editor.
 *
 * @private
 */
export interface FrameValue {
    /**
     * Gets type of the frame.
     */
    type: string;
    /**
     * Gets color of the frame.
     */
    color: string;
    /**
     * Gets size of the frame.
     */
    size: number;
    /**
     * Gets inset value of the frame.
     */
    inset: number;
    /**
     * Gets offset value of the frame.
     */
    offset: number;
    /**
     * Gets radius of the frame.
     */
    radius: number;
    /**
     * Gets amount of the frame.
     */
    amount: number;
    /**
     * Gets line type of the frame.
     */
    border: string;
    /**
     * Gets gradient color of the frame.
     */
    gradientColor: string;
}
/**
 * Interface for Selection Object in the Image Editor.
 *
 * @private
 */
export interface SelectionPoint {
    /**
     * Gets start and end x, y Point.
     */
    horTopLine: ActivePoint;
    /**
     * Gets start and end x, y Point.
     */
    horTopInnerLine: ActivePoint;
    /**
     * Gets start and end x, y Point.
     */
    horBottomInnerLine: ActivePoint;
    /**
     * Gets start and end x, y Point.
     */
    horBottomLine: ActivePoint;
    /**
     * Gets start and end x, y Point.
     */
    verLeftLine: ActivePoint;
    /**
     * Gets start and end x, y Point.
     */
    verLeftInnerLine: ActivePoint;
    /**
     * Gets start and end x, y Point.
     */
    verRightInnerLine: ActivePoint;
    /**
     * Gets start and end x, y Point.
     */
    verRightLine: ActivePoint;
    /**
     * Gets start and end x, y Point with radius.
     */
    topLeftCircle: ActivePoint;
    /**
     * Gets start and end x, y Point with radius.
     */
    topCenterCircle: ActivePoint;
    /**
     * Gets start and end x, y Point with radius.
     */
    topRightCircle: ActivePoint;
    /**
     * Gets start and end x, y Point with radius.
     */
    centerLeftCircle: ActivePoint;
    /**
     * Gets start and end x, y Point with radius.
     */
    centerRightCircle: ActivePoint;
    /**
     * Gets start and end x, y Point with radius.
     */
    bottomLeftCircle: ActivePoint;
    /**
     * Gets start and end x, y Point with radius.
     */
    bottomCenterCircle: ActivePoint;
    /**
     * Gets start and end x, y Point with radius.
     */
    bottomRightCircle: ActivePoint;
    /**
     * Gets start and end x, y Point with radius.
     */
    activePoint: ActivePoint;
    /**
     * Gets angle of rotated shape.
     */
    rotatedAngle: number;
    /**
     * Gets order of shape.
     */
    order: number;
    /**
     * Gets start and end x, y Point with radius.
     */
    imageRatio?: ActivePoint;
    /**
     * Gets the shape to be drawn.
     */
    shape?: string;
    /**
     * Gets the line direction to be drawn.
     */
    lineDraw?: string;
    /**
     * Gets the text to be drawn.
     */
    keyHistory?: string;
    /**
     * Gets the direction to be dragged.
     */
    dragDirection?: string;
    /**
     * Gets the degree of the inserted shape / text.
     */
    shapeDegree?: number;
    /**
     * Gets the flipped state of shape / text.
     */
    textFlip?: string;
    /**
     * Gets the flipped state of shape / text.
     */
    shapeFlip?: string;
    /**
     * Gets the properties to customize the text.
     */
    textSettings?: TextSettings;
    /**
     * Gets the properties to customize the stroke.
     */
    strokeSettings?: StrokeSettings;
    /**
     * Gets the current index of object from the array.
     */
    currIndex?: string;
    /**
     * Gets the flip object collection from the array.
     */
    flipObjColl?: string[];
    /**
     * Gets in between x, y points of line or arrow shape.
     */
    pointColl?: Point[];
    /**
     * Gets in between x, y points of horizontal top line of shape.
     */
    horTopLinePointColl?: Point[];
    /**
     * Gets in between x, y points of horizontal bottom line of shape.
     */
    horBottomLinePointColl?: Point[];
    /**
     * Gets in between x, y points of vertical left line of shape.
     */
    verLeftLinePointColl?: Point[];
    /**
     * Gets in between x, y points of vertical right line of shape.
     */
    verRightLinePointColl?: Point[];
    /**
     * Gets x, y points of rotation shape.
     */
    rotationCirclePoint?: Point;
    /**
     * Gets x, y points of rotation shape in each rotation.
     */
    rotationCirclePointColl?: Point;
    /**
     * Gets ratio of rotation line distance in each rotation.
     */
    rotationCircleLine: number;
    /**
     * Gets the triangle value from the object.
     */
    triangle?: Point[];
    /**
     * Gets the triangle ratio from the object.
     */
    triangleRatio?: Point[];
    /**
     * Gets the triangle direction from the object.
     */
    triangleDirection?: string;
    /**
     * Gets the start type of arrow shape.
     */
    start?: string;
    /**
     * Gets the end type of arrow shape.
     */
    end?: string;
    /**
     * Gets the canvas of image shape.
     */
    imageCanvas?: HTMLCanvasElement;
    /**
     * Gets the image element of image shape.
     */
    imageElement?: HTMLImageElement;
    /**
     * Gets the image element is flipped in horizontal or not.
     */
    isHorImageFlip?: boolean;
    /**
     * Gets the image element is flipped in vertical  or not.
     */
    isVerImageFlip?: boolean;
    /**
     * Gets the transform collection values.
     */
    rotateFlipColl?: any;
    /**
     * Gets the opacity value of image annotation.
     */
    opacity?: number;
    /**
     * Prevents shapes from being dragged outside the image boundary.
     */
    preventShapeDragOut?: boolean;
    /**
     * Gets redact type.
     */
    redactType?: string;
    /**
     * Gets blur value of redact.
     */
    redactBlur?: number;
    /**
     * Gets pixelate value of redact.
     */
    redactPixelate?: number;
    /**
     * Gets redact image.
     */
    redactImage?: HTMLCanvasElement;
}
/**
 *  Interface for RedactSettings in the Image Editor.
 */
export interface RedactSettings {
    /**
     * Returns the id of the shape.
     */
    type: RedactType;
    /**
     * Returns the type of the shape.
     */
    id: string;
    /**
     * Returns the start x position of the redaction.
     */
    startX: number;
    /**
     * Returns the start y position of the redaction.
     */
    startY: number;
    /**
     * Returns the width of the redaction.
     */
    width: number;
    /**
     * Returns the height of the redaction.
     */
    height: number;
    /**
     * Returns the intensity of the blur effect used in blur-type redactions within the image editor.
     *
     * @remarks
     * This property is specifically applicable for redactions that use the blur effect. For other redaction, the value should be null by default.
     * The default blur value is 20, with a permissible range from a minimum of 10 to maximum) of 50 to control the intensity of the redaction.
     *
     */
    blurIntensity?: number;
    /**
     * Returns the pixel size for the pixelate-type redaction within the image editor.
     *
     * @remarks
     * This property is specific to redaction using the pixelate effect. For other redaction the pixel size should default to null.
     * The default value is 5, with a permissible range from a minimum of 1 to a maximum of 20.
     *
     * @value
     * An integer value representing the size of the pixels used in the pixelate redaction. This determines the granularity of the pixelation effect.
     */
    pixelSize?: number;
}
/**
 * Defines the properties related to actions performed within the Image Editor.
 *
 * This interface encapsulates the details of various actions that can be performed on an image, such as cropping, drawing annotations, applying filters, and fine-tuning. It provides a structured way to access and manage the state and data associated with these actions.
 *
 */
export interface EditCompleteEventArgs {
    /**
     * Represents an action performed within the Image Editor.
     *
     * Specifies an editing action, such as cropping, drawing annotations, applying filters, undoing or redoing changes, or any other modification made to the image.
     *
     */
    action: string;
    /**
     * Represents the event arguments for actions performed in the image editor, such as applying a shape, redaction, frame, filter, fine-tuning adjustments, resizing, zooming, or cropping.
     *
     * This property provides detailed information about the specific action taken, including related details for shapes, redactions, frames, filters, fine-tuning, cropping, resizing, and zooming.
     *
     * @type {object | RotateEventArgs | FlipEventArgs | CropEventArgs | FinetuneEventArgs | FrameChangeEventArgs | ImageFilterEventArgs |
     * PanEventArgs | ResizeEventArgs | ShapeChangeEventArgs | ZoomEventArgs }
     * @default object
     *
     * @remarks
     * This property helps to identify and retrieve detailed information about the action performed in the image editor.
     *
     */
    actionEventArgs: object | RotateEventArgs | FlipEventArgs | CropEventArgs | FinetuneEventArgs | FrameChangeEventArgs | ImageFilterEventArgs | PanEventArgs | ResizeEventArgs | ShapeChangeEventArgs | ZoomEventArgs;
}
//node_modules/@syncfusion/ej2-image-editor/src/image-editor/base/image-editor.d.ts
/**
 * Defines the settings for restricting uploaded images.
 */
export  class UploadSettings extends base.ChildProperty<UploadSettings> {
    /**
     * Specifies the allowed file extensions for uploaded images.
     *
     * @type {string}
     * @default null
     * @remarks
     * Example: '.jpg, .png, .gif'
     * This property restricts the types of image files that can be uploaded based on their file extensions. Only files with the specified extensions will be allowed.
     */
    allowedExtensions: string;
    /**
     * Specifies the minimum size (in bytes) for the uploaded image.
     *
     * @type {number}
     * @default null
     * @remarks
     * The value represents the file size in bytes. Any file smaller than this size will be rejected during the upload process. Use this property to ensure that images meet a certain quality or resolution standard.
     */
    minFileSize: number;
    /**
     * Specifies the maximum size (in bytes) for the uploaded image.
     *
     * @type {number}
     * @default null
     * @remarks
     * The value represents the file size in bytes. Any file larger than this size will be rejected during the upload process. This property helps prevent the upload of excessively large files that may impact performance.
     */
    maxFileSize: number;
}
/**
 * This interface is used to specify settings for finetuning operations on images, including brightness, contrast, hue, saturation, exposure, opacity, and blur. It includes properties for setting minimum and maximum values for each of these options, as well as a default value.
 */
export  class FinetuneSettings extends base.ChildProperty<FinetuneSettings> {
    /**
     * Represents a finetune setting for adjusting the brightness of an image.
     *
     * @type {ImageFinetuneValue}
     *
     * @property {number} value - The brightness level of the image, from -100 to 100.
     * @property {number} min - The minimum brightness value allowed, typically -100.
     * @property {number} max - The maximum brightness value allowed, typically 100.
     * @default null
     */
    brightness: ImageFinetuneValue;
    /**
     * Represents a finetune setting for adjusting the contrast of an image.
     *
     * @type {ImageFinetuneValue}
     *
     * @property {number} value - The contrast level of the image, from -100 to 100.
     * @property {number} min - The minimum contrast value allowed, typically -100.
     * @property {number} max - The maximum contrast value allowed, typically 100.
     * @default null
     */
    contrast: ImageFinetuneValue;
    /**
     * Represents a finetune setting for adjusting the hue of an image.
     *
     * @type {ImageFinetuneValue}
     *
     * @property {number} value - The hue level of the image, from 0 to 100.
     * @property {number} min - The minimum hue value allowed, typically 0.
     * @property {number} max - The maximum hue value allowed, typically 100.
     * @default null
     */
    hue: ImageFinetuneValue;
    /**
     * Represents a finetune setting for adjusting the saturation of an image.
     *
     * @type {ImageFinetuneValue}
     *
     * @property {number} value - The saturation level of the image, from -100 to 100.
     * @property {number} min - The minimum saturation value allowed, typically -100.
     * @property {number} max - The maximum saturation value allowed, typically 100.
     * @default null
     */
    saturation: ImageFinetuneValue;
    /**
     * Represents a finetune setting for adjusting the exposure of an image.
     *
     * @type {ImageFinetuneValue}
     *
     * @property {number} value - The exposure level of the image, from -100 to 100.
     * @property {number} min - The minimum exposure value allowed, typically -100.
     * @property {number} max - The maximum exposure value allowed, typically 100.
     * @default null
     */
    exposure: ImageFinetuneValue;
    /**
     * Represents a finetune setting for adjusting the opacity of an image.
     *
     * @type {ImageFinetuneValue}
     *
     * @property {number} value - The opacity level of the image, from 0 to 100.
     * @property {number} min - The minimum opacity value allowed, typically 0.
     * @property {number} max - The maximum opacity value allowed, typically 100.
     * @default null
     */
    opacity: ImageFinetuneValue;
    /**
     * Represents a finetune setting for adjusting the blur of an image.
     *
     * @type {ImageFinetuneValue}
     *
     * @property {number} value - The blur level of the image, from 0 to 100.
     * @property {number} min - The minimum blur value allowed, typically 0.
     * @property {number} max - The maximum blur value allowed, typically 100.
     * @default null
     */
    blur: ImageFinetuneValue;
}
/**
 * An interface used to define the settings such as minimum, maximum, and default zoom factors, and the type of zooming which are available in the image editor control.
 */
export  class ZoomSettings extends base.ChildProperty<ZoomSettings> {
    /**
     * Specifies the available options for zooming in an image editor control.
     *
     * @remarks
     * Use this property to enable or disable specific types of zooming in the image editor. The following zooming options are available:
     * MouseWheel: Zooming is performed by scrolling the mouse wheel up and down.
     * Pinch: Zooming is performed using pinch gestures on touch-enabled devices.
     * Commands: Zooming is performed by clicking the CTRL key and either the plus (+) or minus (-) buttons on the keyboard.
     * Toolbar: Zooming is performed using toolbar buttons.
     *
     * By default, this property is set to `null`, which enables all types of zooming.
     *
     * @default null
     * @aspNumberEnum
     */
    zoomTrigger: ZoomTrigger;
    /**
     * Specifies the minimum zooming level to limit the zooming.
     * An integer value that specifies the minimum zooming level. And the default value is 1 (100%).
     *
     * @remarks
     * The given value is considered as percentage.
     *
     */
    minZoomFactor: number;
    /**
     * Specifies the maximum zooming level to limit the zooming.
     * An integer value that specifies the maximum zooming level. And the default value is 10 (1000 percent).
     *
     * @remarks
     * The given value is considered as percentage.
     *
     */
    maxZoomFactor: number;
    /**
     * Specifies the default zoom factor to be applied on initial loading of image.
     * An integer value that specifies the current zooming level. And the default value is 1 (100 percent).
     *
     * @remarks
     * The given value is considered as percentage.
     *
     */
    zoomFactor: number;
    /**
     * Specifies the point in which the zooming  has been performed in the image editor.
     * A point value that specifies the current zooming point.
     * And the default value is null, and it can be considered as center point of the image editor.
     *
     * @remarks
     * The given value is a point object which has x and y coordinates.
     *
     */
    zoomPoint: Point;
}
/**
 * This interface is used to specify settings for selection operations on images, including visibility, stroke color and fill color.
 */
export  class SelectionSettings extends base.ChildProperty<SelectionSettings> {
    /**
     * Specifies a boolean value whether to show circle on selection in the image editor.
     *
     * @type {boolean}
     *
     * @default true
     */
    showCircle: boolean;
    /**
     * Represents stroke color of circle selection in the image editor.
     *
     * @type {string}
     *
     * @default null
     */
    strokeColor: string;
    /**
     * Represents fill color of circle selection in the image editor.
     *
     * @type {string}
     *
     * @default null
     */
    fillColor: string;
}
/**
 * Predefine the font families that populate in font family dropdown list from the toolbar.
 */
export  class FontFamily extends base.ChildProperty<FontFamily> {
    /**
     * Specifies default font family selection
     *
     * @default 'Arial'
     */
    default: string;
    /**
     * Specifies default font family items
     *
     * @default null
     */
    items: splitbuttons.ItemModel[];
}
/**
 * The Image Editor is a graphical user interface for editing images.
 *
 * {% codeBlock src='image-editor/default/index.md' %}{% endcodeBlock %}
 *
 * @remarks
 * The Image Editor component provides various image editing features such as zooming, cropping, rotating, inserting text and shapes (rectangles, ellipses, and lines), drawing freehand on top of an image, undo/redo, and more.
 *
 */
export  class ImageEditor extends base.Component<HTMLDivElement> implements base.INotifyPropertyChanged {
    /**
     *
     * Image Editor Private Properties
     */
    /** @hidden */
    isImageLoaded: boolean;
    /** @hidden */
    baseImg: HTMLImageElement;
    /** @hidden */
    baseImgCanvas: HTMLCanvasElement;
    /** @hidden */
    lowerCanvas: HTMLCanvasElement;
    /** @hidden */
    upperCanvas: HTMLCanvasElement;
    /** @hidden */
    maskCanvas: HTMLCanvasElement;
    /** @hidden */
    inMemoryCanvas: HTMLCanvasElement;
    /** @hidden */
    textArea: HTMLInputElement;
    /** @hidden */
    activeObj: SelectionPoint;
    /** @hidden */
    currObjType: Interaction;
    /** @hidden */
    objColl: SelectionPoint[];
    /** @hidden */
    pointColl: any;
    /** @hidden */
    freehandCounter: number;
    /** @hidden */
    points: Point[];
    /** @hidden */
    togglePen: boolean;
    /** @hidden */
    togglePan: boolean;
    /** @hidden */
    img: ImageDimension;
    /** @hidden */
    themeColl: Object;
    /** @hidden */
    rotateFlipColl: any;
    /** @hidden */
    cropObj: CurrentObject;
    /** @hidden */
    afterCropActions: string[];
    /** @hidden */
    currSelectionPoint: SelectionPoint;
    /** @hidden */
    transform: TransformValue;
    /** @hidden */
    panPoint: PanPoint;
    /** @hidden */
    isUndoRedo: boolean;
    /** @hidden */
    isCropTab: boolean;
    /** @hidden */
    isCircleCrop: boolean;
    /** @hidden */
    fontSizeColl: splitbuttons.ItemModel[];
    /** @hidden */
    initialAdjustmentValue: string;
    /** @hidden */
    currentFilter: string;
    /** @hidden */
    canvasFilter: string;
    /** @hidden */
    toolbarHeight: number;
    /** @hidden */
    events: any;
    /** @hidden */
    isPublicMethod: boolean;
    /** @hidden */
    cancelCropSelection: Transition;
    /** @hidden */
    isCropToolbar: boolean;
    /** @hidden */
    prevCurrSelectionPoint: SelectionPoint;
    /** @hidden */
    cursor: string;
    /** @hidden */
    eventType: string;
    /** @hidden */
    panEventArgs: PanEventArgs;
    /** @hidden */
    resizeSrc: ActivePoint;
    /** @hidden */
    isResize: boolean;
    /** @hidden */
    aspectHeight: number;
    /** @hidden */
    aspectWidth: number;
    /** @hidden */
    isAspectRatio: boolean;
    /** @hidden */
    prevCropObj: CurrentObject;
    /** @hidden */
    prevObj: CurrentObject;
    /** @hidden */
    frameObj: FrameValue;
    /** @hidden */
    tempFrameObj: FrameValue;
    /** @hidden */
    allowDownScale: boolean;
    /** @hidden */
    frameType: FrameType;
    /** @hidden */
    gradientColor: string;
    /** @hidden */
    size: number;
    /** @hidden */
    inset: number;
    /** @hidden */
    offset: number;
    /** @hidden */
    borderRadius: number;
    /** @hidden */
    lineCount: number;
    /** @hidden */
    tempFrameZoomLevel: number;
    /** @hidden */
    frameDestPoints: ImageDimension;
    /** @hidden */
    cxtTbarHeight: number;
    /** @hidden */
    straightenPoint: Point;
    /** @hidden */
    prevStraightenedDegree: number;
    /** @hidden */
    tempStraighten: number;
    /** @hidden */
    isStraightening: boolean;
    /** @hidden */
    prevEventSelectionPoint: SelectionPoint;
    /** @hidden */
    prevEventObjPoint: CurrentObject;
    /** @hidden */
    isCroppedEvent: boolean;
    /** @hidden */
    isResizeOkBtn: boolean;
    /** @hidden */
    isFinetuning: boolean;
    /** @hidden */
    isZoomBtnClick: boolean;
    /** @hidden */
    isFinetuneBtnClick: boolean;
    /** @hidden */
    isFilterCanvasClick: boolean;
    /** @hidden */
    isFrameBtnClick: boolean;
    /** @hidden */
    curFilterObjEvent: object;
    /** @hidden */
    curFinetuneObjEvent: object;
    /** @hidden */
    curFrameObjEvent: object;
    /** @hidden */
    isChangesSaved: boolean;
    /** @hidden */
    drawingShape: string;
    /** @hidden */
    isShapeDrawing: boolean;
    /** @hidden */
    noPushUndo: boolean;
    /** @hidden */
    isUndoRedoStack: boolean;
    /** @hidden */
    shapeColl: any;
    /** @hidden */
    imgSrc: string;
    /** @hidden */
    isKBDNavigation: boolean;
    /** @hidden */
    isMaskImage: boolean;
    /** @hidden */
    tempObjColl: SelectionPoint[];
    /** @hidden */
    tempPointColl: Point[];
    /** @hidden */
    tempShapeColl: any;
    /** @hidden */
    isImageUpdated: boolean;
    /** @hidden */
    noRedact: boolean;
    /** @hidden */
    tempRedactBlur: number;
    /** @hidden */
    tempRedactPixel: number;
    /** @hidden */
    isSafari: boolean;
    /** @hidden */
    editCompleteArgs: object | RotateEventArgs | FlipEventArgs | CropEventArgs | FinetuneEventArgs | FrameChangeEventArgs | ImageFilterEventArgs | PanEventArgs | ResizeEventArgs | ShapeChangeEventArgs | ZoomEventArgs;
    private lowerContext;
    private upperContext;
    private inMemoryContext;
    private toolbarFn;
    private qatFn;
    private tempToolbarHeight;
    private tempToolbar;
    /**
     * Defines one or more CSS classes that can be used to customize the appearance of an Image Editor component.
     *
     * @remarks
     * One or more CSS classes to customize the appearance of the Image Editor component, such as by changing its toolbar appearance, borders, sizes, or other visual aspects.
     *
     * @default ''
     *
     */
    cssClass: string;
    /**
     * Defines whether an Image Editor component is enabled or disabled.
     *
     * @remarks
     * A disabled Image Editor component may have a different visual appearance than an enabled one. When set to “true”, the Image Editor component will be disabled, and the user will not be able to interact with it.
     *
     * @default false
     */
    disabled: boolean;
    /**
     * Specifies the height of the Image Editor.
     *
     * @remarks
     * The value of height is specified either as a percentage (e.g. '100%') or as a fixed pixel value (e.g. '100px').
     *
     * @default '100%'
     */
    height: string;
    /**
     * Specifies the theme of the Image Editor. The appearance of the shape selection in Image Editor is determined by this property.
     *
     * @remarks
     * The `theme` property supports all the built-in themes of Syncfusion, including:
     * - `Bootstrap5`
     * - `Fluent`
     * - `Tailwind`
     * - `Bootstrap4`
     * - `Material`
     * - `Fabric`
     * - `HighContrast`
     * - `Bootstrap5Dark`
     * - `Bootstrap4Dark`
     * - `MaterialDark`
     * - `FabricDark`
     * - `HighContrastDark`
     * - `Fluent2`
     *
     * The default value is set to `Theme.Bootstrap5`.
     *
     * @isenumeration true
     * @default Theme.Bootstrap5
     * @asptype Theme
     *
     */
    theme: string | Theme;
    /**
     * Specifies the toolbar items to perform UI interactions.
     * It accepts both string[] and navigations.ItemModel[] to configure its toolbar items. The default value is null.
     * If the property is not defined in the control, the default toolbar will be rendered with preconfigured toolbar commands.
     * If the property is defined as empty collection, the toolbar will not be rendered.
     * The preconfigured toolbar commands are
     * - Crop: helps to crop an image as ellipse, square, various ratio aspects, custom selection with resize, drag and drop.
     * - Straightening: helps to rotate an image by a specified angle.
     * - Annotate: help to insert a shape on image that supports rectangle, ellipse, line, arrow, path, text, image and freehand drawing with resize, drag and drop, and customize its appearance.
     * - Transform: helps to rotate and flip an image.
     * - Finetunes: helps to perform adjustments on an image.
     * - Filters: helps to perform predefined color filters.
     * - Frame: helps to add decorative borders or frames around images.
     * - Resize: helps to modify the dimensions of an image.
     * - ZoomIn: performs zoom-in an image.
     * - ZoomOut: performs zoom-out an image.
     * - Save: save the modified image.
     * - Open: open an image to perform editing.
     * - Undo: helps to revert the last action.
     * - Redo: helps to redo the last action.
     * - Reset: reset the modification and restore the original image.
     *
     * {% codeBlock src='image-editor/toolbar/index.md' %}{% endcodeBlock %}
     *
     * @remarks
     * If the toolbarTemplate property is defined in the control, the toolbar will be rendered based on the toolbarTemplate property.
     * @default null
     *
     */
    toolbar: (string | ImageEditorCommand | navigations.ItemModel)[];
    /**
     * Specifies a custom template for the toolbar of an image editor control.
     * A string that specifies a custom template for the toolbar of the image editor. If this property is defined, the 'toolbar' property will not have any effect.
     *
     * {% codeBlock src='image-editor/toolbarTemplate/index.md' %}{% endcodeBlock %}
     *
     * @remarks
     * Use this property if you want to customize the entire toolbar in your own way. The template should be a string that contains the HTML markup for the custom toolbar.
     *
     * @default null
     * @aspType string
     *
     *
     */
    toolbarTemplate: string | Function;
    /**
     * Specifies the width of an Image Editor.
     *
     * @remarks
     * The value of width is specified either as a percentage (e.g. '100%') or as a fixed pixel value (e.g. '100px').
     *
     * @default '100%'
     */
    width: string;
    /**
     * Specifies a boolean value whether enable undo/redo operations in the image editor.
     *
     * @remarks
     * If this property is true, the undo redo options will be enabled in toolbar and can also be accessed via keyboard shortcuts.
     * If set to false, both options will be disabled.
     * The undo redo history is limited to 16. Once the maximum limit is reached, the oldest history item will be removed to make space for the new item.
     *
     * @default true
     *
     */
    allowUndoRedo: boolean;
    /**
     * Specifies whether to show/hide the quick access toolbar.
     *
     * @default true
     *
     * @remarks
     * Set this property to true to show the quick access toolbar, and false to hide it.
     * ```html
     * <div id='imageeditor'></div>
     * ```
     * ```typescript
     * <script>
     * var imageObj = new ImageEditor({
     *     showQuickAccessToolbar : true
     * });
     * imageObj.appendTo("#imageeditor");
     * </script>
     * ```
     */
    showQuickAccessToolbar: boolean;
    /**
     * Specifies a template for the quick access toolbar.
     * Use this property to customize the quick access toolbar.
     *
     * @default null
     * @aspType string
     *
     * @remarks
     * This property only works if the "showQuickToolbar" property is set to true.
     * ```html
     * <div id='imageeditor'></div>
     * ```
     * ```typescript
     * <script>
     * var imageObj = new ImageEditor({
     *     showQuickAccessToolbar : true,
     *     quickAccessToolbarTemplate: '#toolbarTemplate'
     * });
     * imageObj.appendTo("#imageeditor");
     * </script>
     * <script id="toolbarTemplate" type="text/x-template">
     *    <div class = 'e-toolbar'>
     *      <button id= 'dltbtn'></button>
     *    </div>
     *  </script>
     * ```
     */
    quickAccessToolbarTemplate: string | Function;
    /**
     * Determines whether high-quality images should be smoothed when rendered.
     *
     * @default false
     *
     * @remarks
     *
     * When enabled (`true`), the image will be smoothed, reducing pixelation at the cost of sharpness.
     *
     * When disabled (`false`), the image will be rendered with crisp, unaltered pixels.
     *
     * ```html
     * <div id='imageeditor'></div>
     * ```
     * ```typescript
     * <script>
     * var imageObj = new ImageEditor({
     *     imageSmoothingEnabled: true
     * });
     * imageObj.appendTo("#imageeditor");
     * </script>
     * ```
     */
    imageSmoothingEnabled: boolean;
    /**
     * Specifies whether to prevent user interaction with the image editor control.
     * A boolean that specifies whether to prevent the interaction in image editor control. The default value is false.
     *
     * @remarks
     * If the property is true, the image editor control becomes read-only, and the user interaction will be prevented.
     *
     * @default false
     * @private
     */
    isReadOnly: boolean;
    /**
     * Specifies whether to enable RTL mode in image editor control that displays the content in the right-to-left direction.
     * A boolean that specifies whether to enable RTL mode in image editor control. The default value is false.
     *
     * @default false
     * @private
     */
    enableRtl: boolean;
    /**
     * Specifies a bool value whether enable or disable persist component's state between page reloads. The default value is false.
     *
     * @remarks
     * If this property is true, the controls's state persistence will be enabled.
     * Control's property will be stored in browser local storage to persist control's state when page reloads.
     *
     * @default false
     * @private
     */
    enablePersistence: boolean;
    /**
     * Specifies the finetune settings option which can be used to perform color adjustments in the image editor control.
     *
     * {% codeBlock src='image-editor/finetuneSettings/index.md' %}{% endcodeBlock %}
     *
     * @remarks
     * A 'FinetuneSettingsModel' value that specifies the the finetune options which are enabled in image editor control.
     * If the property is not specified, then the default values will be applied for minimum, maximum, and value properties for all finetune options.
     *
     * The possible values are:
     * - Brightness: The intensity of the primary colors grows with increased brightness, but the color itself does not change. It can be done by changing brightness and opacity property.
     * - Contrast: The contrast of an image refers to the difference between the light pixels and dark pixels. Low contrast images contain either a narrow range of colors while high contrast images have bright highlights and dark shadows. It can be done by changing contrast property.
     * - Hue: Hue distinguishes one color from another and is described using common color names such as green, blue, red, yellow, etc. Value refers to the lightness or darkness of a color. It can be controlled by hue-rotate property.
     * - Saturation: If saturation increases, colors appear sharper or purer. As saturation decreases, colors appear more washed-out or faded. It can be controlled by saturation and brightness property.
     * - Exposure: If exposure increases, intensity of light appears brighter. As exposure decreases, intensity of light decreases. Exposure can be controlled by brightness property.
     * - Opacity: The state or quality of being opaque or transparent, not allowing light to pass through the image. Opacity can be controlled by opacity property.
     * - Blur : Adjusting the blur can make an image unfocused or unclear. Blur can be controlled by blur property.
     *
     */
    finetuneSettings: FinetuneSettingsModel;
    /**
     * Specifies the zoom settings to perform zooming action.
     * A 'ZoomSettingsModel' value that specifies the the zoom related options which are enabled in image editor control. The default value is null.
     *
     * {% codeBlock src='image-editor/zoomSettings/index.md' %}{% endcodeBlock %}
     *
     * @remarks
     * If the property is not specified, then the default settings will be applied for all the properties available in zoom settings.
     *
     * The following options are available in `zoomSettings`.
     * - minZoomFactor: Specifies the minimum zoom factor level to control the zoom.
     * - maxZoomFactor: Specifies the maximum zoom factor level to control the zoom.
     * - zoomFactor: Specifies the zoom factor to be applied to the image.
     * - zoomTrigger: Specifies the types of zooming to be supported in the image editor.
     * - zoomPoint: Specifies the x and y coordinates in which the zooming performed on initial load.
     *
     */
    zoomSettings: ZoomSettingsModel;
    /**
     * Specifies the selection settings to customize selection.
     * A 'SelectionSettingsModel' value that specifies the the customization related options which are enabled in image editor control. The default value is null.
     *
     * @remarks
     * If the property is not specified, then the default settings will be applied for all the properties available in selection settings.
     *
     * The following options are available in `selectionSettings`.
     * - showCircle: Specifies whether to show / hide circles on selection.
     * - strokeColor: Specifies the stroke color of circle selection.
     * - fillColor: Specifies the fill color of circle selection.
     *
     */
    selectionSettings: SelectionSettingsModel;
    /**
     * Predefine the font families that populate in font family dropdown list from the toolbar.
     */
    fontFamily: FontFamilyModel;
    /**
     * Represents the settings for configuring image uploads.
     *
     * This object allows you to specify restrictions on the types and sizes of images that can be uploaded, ensuring that only valid files are accepted according to the defined criteria.
     *
     * The following options are available in `uploadSettings`.
     * - allowedExtensions: Specifies the allowed file extensions for uploaded images. The default value is null.
     * - minFileSize: Specifies the minimum size (in bytes) for the uploaded image. The default value is null.
     * - maxFileSize: Specifies the maximum size (in bytes) for the uploaded image. The default value is null.
     *
     */
    uploadSettings: UploadSettingsModel;
    /**
     * Event callback that is raised before an image is saved.
     *
     * @event beforeSave
     */
    beforeSave: base.EmitType<BeforeSaveEventArgs>;
    /**
     * Event callback that is raised after rendering the Image Editor component.
     *
     * @event created
     */
    created: base.EmitType<Event>;
    /**
     * Event callback that is raised once the component is destroyed with its elements and bound events.
     *
     * @event destroyed
     */
    destroyed: base.EmitType<Event>;
    /**
     * Event callback that is raised while zooming an image.
     *
     * @event zooming
     */
    zooming: base.EmitType<ZoomEventArgs>;
    /**
     * Event callback that is raised while panning an image.
     *
     * @event panning
     */
    panning: base.EmitType<PanEventArgs>;
    /**
     * Event callback that is raised while cropping an image.
     *
     * @event cropping
     */
    cropping: base.EmitType<CropEventArgs>;
    /**
     * Event callback that is raised while rotating an image.
     *
     * @event rotating
     */
    rotating: base.EmitType<RotateEventArgs>;
    /**
     * Event callback that is raised while flipping an image.
     *
     * @event flipping
     */
    flipping: base.EmitType<FlipEventArgs>;
    /**
     * Event callback that is raised while changing shapes in an Image Editor.
     *
     * @event shapeChanging
     */
    shapeChanging: base.EmitType<ShapeChangeEventArgs>;
    /**
     * Event callback that is raised while changing selection in an Image Editor.
     *
     * @event selectionChanging
     */
    selectionChanging: base.EmitType<SelectionChangeEventArgs>;
    /**
     * Event callback that is raised once an image is opened in an Image Editor.
     *
     * @event fileOpened
     */
    fileOpened: base.EmitType<OpenEventArgs>;
    /**
     * Event callback that is raised once an image is saved.
     *
     * @event saved
     */
    saved: base.EmitType<SaveEventArgs>;
    /**
     * Event callback that is raised once the toolbar is created.
     *
     * @event toolbarCreated
     */
    toolbarCreated: base.EmitType<ToolbarEventArgs>;
    /**
     * Event callback that is raised while updating/refreshing the toolbar
     *
     * {% codeBlock src='image-editor/toolbarUpdating/index.md' %}{% endcodeBlock %}
     *
     * @event toolbarUpdating
     *
     */
    toolbarUpdating: base.EmitType<ToolbarEventArgs>;
    /**
     * Event callback that is raised once the toolbar item is clicked.
     *
     * @event toolbarItemClicked
     */
    toolbarItemClicked: base.EmitType<navigations.ClickEventArgs>;
    /**
     * Event callback that is raised when applying filter to an image.
     *
     * @event imageFiltering
     */
    imageFiltering: base.EmitType<ImageFilterEventArgs>;
    /**
     * Event callback that is raised when applying fine tune to an image.
     *
     * @event finetuneValueChanging
     */
    finetuneValueChanging: base.EmitType<FinetuneEventArgs>;
    /**
     * Event callback that is raised while clicking on an image in the Image Editor.
     *
     * @event click
     */
    click: base.EmitType<ImageEditorClickEventArgs>;
    /**
     * Event callback that is raised after shape changing action is performed in an image editor.
     *
     * @remarks
     * This event is triggered after changing stroke color, fill Color, and stroke width property for the shapes and after the shape is applied to the canvas while clicking the OK button in toolbar.
     *
     * @event shapeChange
     */
    shapeChange: base.EmitType<ShapeChangeEventArgs>;
    /**
     * Event callback that is raised when opening the quick access toolbar.
     *
     * @event quickAccessToolbarOpen
     *
     * @remarks
     * Use this event to customize the toolbar items that appear in the quick access toolbar.
     * To customize the toolbar items, modify the "toolbarItems" collection property of the event arguments.
     * The "toolbarItems" collection contains string and navigations.ItemModel values.
     * The string values representing the names of the built-in toolbar items to display.
     * The navigations.ItemModel values representing the navigations.ItemModel of custom toolbar items to display.
     *
     * ```html
     * <div id='imageeditor'></div>
     * ```
     * ```typescript
     * <script>
     * var imageObj = new ImageEditor({
     *     showQuickAccessToolbar : true,
     *     quickAccessToolbarOpen: (args: QuickAccessToolbarEventArgs)=> {
     *         args.toolbarItems = [“Delete”, {text: “custom”}];
     *     }
     *
     * });
     * imageObj.appendTo("#imageeditor");
     * </script>
     */
    quickAccessToolbarOpen: base.EmitType<QuickAccessToolbarEventArgs>;
    /**
     * Event callback that is raised while resizing an image.
     *
     * @event resizing
     */
    resizing: base.EmitType<ResizeEventArgs>;
    /**
     * Event callback that is raised once the quick access toolbar item is clicked.
     *
     * @event quickAccessToolbarItemClick
     *
     */
    quickAccessToolbarItemClick: base.EmitType<navigations.ClickEventArgs>;
    /**
     *  Event callback that is raised while applying frames on an image.
     *
     * @event frameChange
     */
    frameChange: base.EmitType<FrameChangeEventArgs>;
    /**
     * Event callback that is triggered after the completion of an editing action in the image editor.
     *
     * This event occurs after the image editor canvas has been updated through following actions such as cropping, drawing annotations, applying filters, fine-tuning, or other customizations.
     *
     * It provides an opportunity to perform additional tasks, such as comparing the current image data with previous states or triggering further processing based on the changes.
     *
     * @event editComplete
     *
     */
    editComplete: base.EmitType<EditCompleteEventArgs>;
    /**
     *
     * Constructor for creating the widget
     *
     * @param  {ImageEditorModel} options - Specifies the image editor model
     * @param  {string|HTMLDivElement} element - Specifies the target element
     */
    constructor(options?: ImageEditorModel, element?: string | HTMLDivElement);
    /**
     * To provide the array of modules needed for component rendering.
     *
     * @returns {base.ModuleDeclaration[]} - To provide the array of modules needed for component rendering.
     * @hidden
     */
    requiredModules(): base.ModuleDeclaration[];
    protected preRender(): void;
    /**
     *
     * To Initialize the component rendering
     *
     * @private
     * @returns {void}
     */
    protected render(): void;
    /**
     * To get component name.
     *
     * @returns {string} - Module Name
     * @private
     */
    getModuleName(): string;
    /**
     *
     * To get the properties to be maintained in the persisted state.
     *
     * @returns {string} - Persist data
     * @private
     */
    getPersistData(): string;
    /**
     *
     * Called internally if any of the property value changed.
     *
     * @param {ImageEditorModel} newProperties - Specifies new properties
     * @param {ImageEditorModel} oldProperties - Specifies old properties
     * @returns {void}
     * @private
     */
    onPropertyChanged(newProperties: ImageEditorModel, oldProperties?: ImageEditorModel): void;
    destroy(): void;
    initialize(): void;
    private createDropUploader;
    private dlgCloseBtnClick;
    /**
     * Show dialog popup for unsupported files.
     *
     * @param { string } type - Specifies the type of error.
     * @param { boolean } fileTypeError - Specifies the error is due to file type.
     * @hidden
     * @returns {void}.
     */
    showDialogPopup(type?: string, fileTypeError?: boolean): void;
    /**
     * Returns bytes in string format.
     *
     * @param { number } bytes - Specifies the bytes.
     *
     * @hidden
     * @returns {string}.
     */
    formatSizeUnits(bytes: number): string;
    /**
     * Returns allowed file type extensions in string[].
     *
     * @hidden
     * @returns {string[]}.
     */
    getExtensionArray(): string[];
    /**
     * Returns allowed file type extensions in string.
     *
     * @hidden
     * @returns {string}.
     */
    getExtensionString(): string;
    /**
     *
     * This Method will add events to component (element, event, method, current reference)
     *
     * @returns {void}.
     */
    private wireEvent;
    /**
     *
     * This Method will remove events from component
     *
     * @returns {void}.
     */
    private unwireEvent;
    private createCanvas;
    private touchStartHandler;
    private mouseDownEventHandler;
    private mouseMoveEventHandler;
    private mouseUpEventHandler;
    private keyDownEventHandler;
    private keyUpEventHandler;
    private canvasMouseDownHandler;
    private canvasMouseMoveHandler;
    private canvasMouseUpHandler;
    private handleScroll;
    private adjustToScreen;
    private screenOrientation;
    private windowResizeHandler;
    private notifyResetForAllModules;
    private allowShape;
    private manageActiveAction;
    /**
     * Clears the current selection performed in the image editor.
     *
     * @param { boolean } resetCrop - Specifies to reset last cropped image.
     *
     * @returns {void}.
     */
    clearSelection(resetCrop?: boolean): void;
    /**
     * Crops an image based on the selection done in the image editor.
     *
     * {% codeBlock src='image-editor/crop/index.md' %}{% endcodeBlock %}
     *
     * @remarks
     * The selection can be done through programmatically using the 'select' method or through UI interactions.
     *
     * @returns {boolean}.
     *
     */
    crop(): boolean;
    /**
     * Flips an image by horizontally or vertically in the image editor.
     *
     * {% codeBlock src='image-editor/zoom/index.md' %}{% endcodeBlock %}
     *
     * @param { Direction } direction - Specifies the direction to flip the image.
     * A horizontal direction for horizontal flipping and vertical direction for vertical flipping.
     *
     * @remarks
     * It flips the shapes including rectangle, circle, line, text, image, and freehand drawings.
     *
     * @returns {void}.
     *
     */
    flip(direction: Direction): void;
    /**
     * Returns an image as ImageData to load it in to a canvas.
     *
     * @param {boolean} [includeAnnotations=true] - Optional. Specifies whether the returned image data should include annotations. The default value is true, meaning annotations are included.
     *
     * @remarks
     * The data returned from this method is directly drawn in a canvas using 'putImageData' method.
     * And then the user can get the base64 string from the canvas using toDataURL method.
     *
     * @returns {ImageData}.
     */
    getImageData(includeAnnotations?: boolean): ImageData;
    /**
     *  Opens an image as URL or ImageData for editing in an image editor.
     *
     * @param {string | ImageData } data - Specifies url of the image or image data.
     * @param {boolean} [resetChanges=true] - Optional. Determines whether to reset existing changes when opening the image. The default value is true, which resets all existing changes.
     * @param {ImageSettings} imageSettings - Optional. Specifies the image setting that contains background color to apply when opening a transparent image. The default value of background color is an empty string (''), meaning no background color is applied by default when a transparent image is opened.
     *
     * @remarks
     * The supported file types are JPG, JPEG, PNG, and SVG.
     *
     * @returns {void}.
     */
    open(data: string | ImageData, resetChanges?: boolean, imageSettings?: ImageSettings): void;
    /**
     * Reset all the changes done in an image editor and revert to original image.
     *
     * @remarks
     * The undo redo collection also cleared while resetting the image editor.
     *
     * @returns {void}.
     */
    reset(): void;
    /**
     * Rotate an image to clockwise and anti-clockwise.
     *
     * {% codeBlock src='image-editor/rotate/index.md' %}{% endcodeBlock %}
     *
     * @param {number} degree - Specifies a degree to rotate an image.
     * A positive integer value for clockwise and negative integer value for anti-clockwise rotation.
     *
     * @remarks
     * It rotated the shapes including rectangle, circle, line, text, image, and freehand drawings.
     *
     * @returns {boolean}.
     *
     */
    rotate(degree: number): boolean;
    /**
     * Export an image using the specified file name and the extension.
     *
     * @param {string} type - Specifies a format of image to be saved.
     * @param {string} fileName – Specifies a file name to be saved
     * @param {number} imageQuality – Specifies the quality of an image to be saved. The default value is “1” which represents the original size of the image if not specified.
     *
     * @remarks
     * The supported file types are JPG, JPEG, PNG, and SVG.
     *
     * @returns {void}.
     */
    export(type?: string, fileName?: string, imageQuality?: number): void;
    /**
     * Perform selection in an image editor. The selection helps to crop an image.
     *
     * {% codeBlock src='image-editor/select/index.md' %}{% endcodeBlock %}
     *
     * @param {string} type - Specifies the shape - circle / square / custom selection / pre-defined ratios.
     * @param {number} startX – Specifies the start x-coordinate point of the selection.
     * @param {number} startY – Specifies the start y-coordinate point of the selection.
     * @param {number} width - Specifies the width of the selection area.
     * @param {number} height - Specifies the height of the selection area.
     *
     * @remarks
     * The selection UI is based on the 'theme' property.
     *
     * @returns {void}.
     *
     */
    select(type: string, startX?: number, startY?: number, width?: number, height?: number): void;
    /**
     * Enable or disable a freehand drawing option in an Image Editor.
     *
     * @param {boolean} value - Specifies a value whether to enable or disable freehand drawing.
     *
     * @returns {void}.
     * @private
     */
    freeHandDraw(value: boolean): void;
    /**
     * Enable or disable a freehand drawing in an Image Editor.
     *
     * @param {boolean} value - Specifies a value whether to enable or disable freehand drawing.
     *
     * @remarks
     * User can directly drawing on a canvas after enabling this option.
     *
     * @returns {void}.
     */
    freehandDraw(value: boolean): void;
    /**
     * Enable or disable a panning on the Image Editor.
     *
     * @param {boolean} value - Specifies a value whether enable or disable panning.
     * @param {number} x - Optional, Specifies a value to pan the image horizontally.
     * @param {number} y - Optional, Specifies a value to pan the image vertically.
     *
     * @remarks
     * This option will take into effect once the image's visibility is hidden when zooming an image or selection has been performed.
     *
     * @returns {void}.
     */
    pan(value: boolean, x?: number, y?: number): void;
    /**
     * Zoom in or out on a point in the image editor.
     *
     * @param {number} zoomFactor - The percentage-based zoom factor to use (e.g. 20 for 2x zoom).
     * @param {Point} zoomPoint - The point in the image editor to zoom in/out on.
     *
     * @remarks
     * Zooming directly enables the panning option when the image's visibility is hidden.
     * User can disable it by using 'Pan' method.
     * @returns {void}
     *
     */
    zoom(zoomFactor: number, zoomPoint?: Point): void;
    /**
     * Draw ellipse on an image.
     *
     * {% codeBlock src='image-editor/ellipse/index.md' %}{% endcodeBlock %}
     *
     * @param {number} x - Specifies x-coordinate of ellipse.
     * @param {number} y - Specifies y-coordinate of ellipse.
     * @param {number} radiusX - Specifies the radius x point for the ellipse.
     * @param {number} radiusY - Specifies the radius y point for the ellipse.
     * @param {number} strokeWidth - Specifies the stroke width of ellipse.
     * @param {string} strokeColor - Specifies the stroke color of ellipse.
     * @param {string} fillColor - Specifies the fill color of the ellipse.
     * @param {number} degree - Specifies the degree to rotate the ellipse.
     * @param {boolean} isSelected - Specifies to show the ellipse in the selected state.
     * @returns {boolean}.
     *
     */
    drawEllipse(x?: number, y?: number, radiusX?: number, radiusY?: number, strokeWidth?: number, strokeColor?: string, fillColor?: string, degree?: number, isSelected?: boolean): boolean;
    /**
     * Draw line on an image.
     *
     * @param {number} startX – Specifies start point x-coordinate of line.
     * @param {number} startY – Specifies start point y-coordinate of line.
     * @param {number} endX - Specifies end point x-coordinates of line.
     * @param {number} endY - Specifies end point y-coordinates of the line.
     * @param {number} strokeWidth - Specifies the stroke width of line.
     * @param {string} strokeColor - Specifies the stroke color of line.
     * @param {boolean} isSelected - Specifies to show the line in the selected state.
     * @returns {boolean}.
     */
    drawLine(startX?: number, startY?: number, endX?: number, endY?: number, strokeWidth?: number, strokeColor?: string, isSelected?: boolean): boolean;
    /**
     * Draw arrow on an image.
     *
     * @param {number} startX – Specifies start point x-coordinate of arrow.
     * @param {number} startY – Specifies start point y-coordinate of arrow.
     * @param {number} endX - Specifies end point x-coordinates of arrow.
     * @param {number} endY - Specifies end point y-coordinates of the arrow.
     * @param {number} strokeWidth - Specifies the stroke width of arrow.
     * @param {string} strokeColor - Specifies the stroke color of arrow.
     * @param {ArrowheadType} arrowStart – Specifies the type of arrowhead for start position. The default value is ‘None’.
     * @param {ArrowheadType} arrowEnd – Specifies the type of arrowhead for end position. The default value is ‘SolidArrow’.
     * @param {boolean} isSelected - Specifies to show the arrow in the selected state.
     * @returns {boolean}.
     */
    drawArrow(startX?: number, startY?: number, endX?: number, endY?: number, strokeWidth?: number, strokeColor?: string, arrowStart?: ArrowheadType, arrowEnd?: ArrowheadType, isSelected?: boolean): boolean;
    /**
     * Draw path on an image.
     *
     * @param {Point[]} pointColl – Specifies collection of start and end x, y-coordinates of path.
     * @param {number} strokeWidth - Specifies the stroke width of path.
     * @param {string} strokeColor - Specifies the stroke color of path.
     * @param {boolean} isSelected - Specifies to show the path in the selected state.
     * @returns {boolean}.
     */
    drawPath(pointColl: Point[], strokeWidth?: number, strokeColor?: string, isSelected?: boolean): boolean;
    /**
     * Draw a rectangle on an image.
     *
     * @param {number} x - Specifies x-coordinate of rectangle.
     * @param {number} y - Specifies y-coordinate of rectangle.
     * @param {number} width - Specifies the width of the rectangle.
     * @param {number} height - Specifies the height of the rectangle.
     * @param {number} strokeWidth - Specifies the stroke width of rectangle.
     * @param {string} strokeColor - Specifies the stroke color of rectangle.
     * @param {string} fillColor - Specifies the fill color of the rectangle.
     * @param {number} degree - Specifies the degree to rotate the rectangle.
     * @param {boolean} isSelected - Specifies to show the rectangle in the selected state.
     * @param {number} borderRadius - Specifies the radius to apply border radius to rectangle.
     * @returns {boolean}.
     */
    drawRectangle(x?: number, y?: number, width?: number, height?: number, strokeWidth?: number, strokeColor?: string, fillColor?: string, degree?: number, isSelected?: boolean, borderRadius?: number): boolean;
    /**
     * Draw a text on an image.
     *
     * {% codeBlock src='image-editor/text/index.md' %}{% endcodeBlock %}
     *
     * @param {number} x - Specifies x-coordinate of text.
     * @param {number} y - Specifies y-coordinate of text.
     * @param {string} text - Specifies the text to add on an image.
     * @param {string} fontFamily - Specifies the font family of the text.
     * @param {number} fontSize - Specifies the font size of the text.
     * @param {boolean} bold - Specifies whether the text is bold or not.
     * @param {boolean} italic - Specifies whether the text is italic or not.
     * @param {string} color - Specifies font color of the text.
     * @param {boolean} isSelected - Specifies to show the text in the selected state.
     * @param {number} degree - Specifies the degree to rotate the text.
     * @param {fillColor} fillColor - Specifies the background Color of the text.
     * @param {string} strokeColor - Specifies the outline color of the text annotation.
     * @param {number} strokeWidth - Specifies the outline stroke width of the text annotation.
     * @param {TransformationCollection[]} transformCollection - Specifies the transform collection of the text annotation.
     * @returns {boolean}.
     *
     */
    drawText(x?: number, y?: number, text?: string, fontFamily?: string, fontSize?: number, bold?: boolean, italic?: boolean, color?: string, isSelected?: boolean, degree?: number, fillColor?: string, strokeColor?: string, strokeWidth?: number, transformCollection?: TransformationCollection[]): boolean;
    /**
     * Draw an image as annotation on an image.
     *
     *
     * @param {string | ImageData} data - Specifies url of the image or image data.
     * @param {number} x - Specifies x-coordinate of a starting point for an image.
     * @param {number} y - Specifies y-coordinate of a starting point for an image.
     * @param {number} width - Specifies the width of the image.
     * @param {number} height - Specifies the height of the image.
     * @param {boolean} isAspectRatio - Specifies whether to maintain aspect ratio or not.
     * @param {number} degree - Specifies the degree to rotate the image.
     * @param {number} opacity - Specifies the value for the image.
     * @param {boolean} isSelected - Specifies to show the image in the selected state.
     * @returns {boolean}.
     *
     */
    drawImage(data: string | ImageData, x?: number, y?: number, width?: number, height?: number, isAspectRatio?: boolean, degree?: number, opacity?: number, isSelected?: boolean): boolean;
    /**
     * This method is used to update the existing shapes by changing its height, width, color, and font styles in the component.
     * Use 'getShapeSettings' method to get the shape which is then passed to change the options of a shape.
     * {% codeBlock src='image-editor/updateShape/index.md' %}{% endcodeBlock %}
     *
     * @param {ShapeSettings} setting - Specifies the shape settings to be updated for the shape on an image.
     * @param {boolean} isSelected - Specifies to show the shape in the selected state.
     * @returns {boolean}.
     *
     */
    updateShape(setting: ShapeSettings, isSelected?: boolean): boolean;
    /**
     * Select a shape based on the given shape id.
     * Use 'getShapeSettings' method to get the shape id which is then passed to perform selection.
     *
     * {% codeBlock src='image-editor/selectShape/index.md' %}{% endcodeBlock %}
     *
     * @param {string} id - Specifies the shape id to select a shape on an image.
     * @returns {boolean}.
     *
     */
    selectShape(id: string): boolean;
    /**
     * Deletes a shape based on the given shape id.
     * Use 'getShapeSettings' method to get the shape id which is then passed to perform selection.
     *
     * {% codeBlock src='image-editor/deleteShape/index.md' %}{% endcodeBlock %}
     *
     * @param {string} id - Specifies the shape id to delete the shape on an image.
     * @returns {void}.
     *
     */
    deleteShape(id: string): void;
    /**
     * Get particular shapes details based on id of the shape which is drawn on an image editor.
     *
     * {% codeBlock src='image-editor/getShapeSetting/index.md' %}{% endcodeBlock %}
     *
     * @param {string} id - Specifies the shape id on an image.
     * @returns {ShapeSettings}.
     *
     */
    getShapeSetting(id: string): ShapeSettings;
    /**
     * Get all the shapes details which is drawn on an image editor.
     *
     * @returns {ShapeSettings[]}.
     */
    getShapeSettings(): ShapeSettings[];
    /**
     * Get all the shapes details which is drawn on an image editor.
     *
     * @returns {RedactSettings[]}.
     */
    getRedacts(): RedactSettings[];
    /**
     * Select a redaction based on the given redaction id.
     * Use 'getRedacts' method to get the shape id which is then passed to perform selection.
     *
     *
     * @param {string} id - Specifies the shape id to select a redact on an image.
     * @returns {boolean}.
     *
     */
    selectRedact(id: string): boolean;
    /**
     * Deletes a redaction based on the given shape id.
     * Use 'getRedacts' method to get the redaaction id which is then passed to perform deletion.
     *
     *
     * @param {string} id - Specifies the redaction id to delete the redaction on an image.
     * @returns {void}.
     *
     */
    deleteRedact(id: string): void;
    /**
     * This method is used to update the existing redacts by changing its height, width, blur, and pixel size in the component.
     * Use 'getRedacts' method to get the redacts which is then passed to change the options of a redacts.
     *
     * @param {RedactSettings} setting - Specifies the redact settings to be updated for the shape on an image.
     * @param {boolean} isSelected - Specifies to show the redacts in the selected state.
     * @returns {boolean}.
     *
     */
    updateRedact(setting: RedactSettings, isSelected?: boolean): boolean;
    /**
     * To refresh the Canvas Wrapper.
     *
     * @returns {void}.
     */
    update(): void;
    /**
     * Finetuning an image with the given type of finetune and its value in the image editor.
     *
     * @param {ImageFinetuneOption } finetuneOption - Specifies the finetune options to be performed in the image.
     * @param {number } value - Specifies the value for finetuning the image.
     *
     * @remarks
     * The finetuning will not affect the shapes background and border color.
     *
     * @returns {void}.
     *
     */
    finetuneImage(finetuneOption: ImageFinetuneOption, value: number): void;
    /**
     * Filtering an image with the given type of filters.
     *
     * @param {ImageFilterOption } filterOption - Specifies the filter options to the image.
     *
     * @remarks
     * The filtering will not affect the shape's background and border color.
     * @returns {void}.
     */
    applyImageFilter(filterOption: ImageFilterOption): void;
    /**
     * Reverse the last action which performed by the user in the Image Editor.
     *
     * @remarks
     * This method will take into effect once the 'allowUndoRedo' property is enabled.
     *
     * @returns {void}.
     */
    undo(): void;
    /**
     * Redo the last user action that was undone by the user or `undo` method.
     *
     * @remarks
     * This method will take into effect once the 'allowUndoRedo' property is enabled.
     * @returns {void}.
     */
    redo(): void;
    /**
     * Get the dimension of an image in the image editor such as x, y, width, and height.
     * The method helps to get dimension after cropped an image.
     *
     * @returns {Dimension}.
     * A Dimension object containing the x, y, width, and height of an image.
     */
    getImageDimension(): Dimension;
    /**
     * Resize an image by changing its width and height.
     *
     * @param {number} width - Specifies the width of an image.
     * @param {number} height - Specifies the height of an image.
     * @param {boolean} isAspectRatio - Specifies whether the scaling option is enabled or not.
     *
     * @returns {boolean} - A boolean value indicating the success of the resizing operation.
     */
    resize(width: number, height: number, isAspectRatio?: boolean): boolean;
    /**
     * Draw a frame on an image.
     *
     * @param { FrameType} frameType - Specifies the frame option to be drawn on an image.
     * @param {string} color - Specifies the color of a frame on an image. The default value is ‘#fff’.
     * @param {string} gradientColor - Specifies the gradient color of a frame on an image. The default value is ‘’.
     * @param {number} size - Specifies the size of the frame as a percentage. It can be provided as an integer percentage (e.g., 10). Defaults to 20 if not specified.
     * @param {number} inset - Specifies the inset value for line, hook, and inset type frames, as a percentage. It can be provided as an integer percentage (e.g., 10). Defaults to 0 if not specified.
     * @param {number} offset - Specifies the offset value for line and inset type frames, as a percentage. It can be provided as an integer percentage (e.g., 10). Defaults to 0 if not specified.
     * @param {number} borderRadius - Specifies the border radius for line-type frames, as a percentage. It can be provided as an integer percentage (e.g., 10). Defaults to 0 if not specified.
     * @param {FrameLineStyle} frameLineStyle - Specifies the type of line to be drawn for line-type frames. Default to Solid if not specified.
     * @param {number} lineCount - Specifies the number of lines for line-type frames. Defaults to 0 if not specified.
     *
     * @returns {boolean}.
     */
    drawFrame(frameType: FrameType, color?: string, gradientColor?: string, size?: number, inset?: number, offset?: number, borderRadius?: number, frameLineStyle?: FrameLineStyle, lineCount?: number): boolean;
    /**
     * Straightens an image by rotating it clockwise or counterclockwise.
     *
     * @param {number} degree - The degree value specifying the amount of rotation for straightening the image.
     * Positive values indicate clockwise rotation, while negative values indicate counterclockwise rotation.
     *
     * @remarks
     * The degree value should be within the range of -45 to +45 degrees for accurate straightening.
     *
     * @returns {boolean} - A boolean value indicating the success of the straightening operation.
     */
    straightenImage(degree: number): boolean;
    /**
     * Duplicates a shape based on the given shape ID in the ImageEditor.
     * Use 'getShapeSettings' method to get the shape and then pass a shapeId from the returned shape to clone a shape.
     *
     * @param {string} shapeId - Specifies the shape id to clone a shape on an image.
     * @returns {boolean}.
     *
     */
    cloneShape(shapeId: string): boolean;
    /**
     * Update filter to the canvas in the ImageEditor.
     *
     * @param {ImageFilterOption } filterOption - Specifies the filter options to the image.
     *
     * @returns {string}.
     *
     */
    getImageFilter(filterOption: ImageFilterOption): string;
    /**
     * Enable text area editing in the ImageEditor.
     *
     * @returns {void}.
     *
     */
    enableTextEditing(): void;
    /**
     * Specifies if it's possible to undo the last recent action made in an Image Editor.
     *
     * @returns {boolean}.
     *
     */
    canUndo(): boolean;
    /**
     * Specifies if it's possible to redo the last recent action made in an Image Editor.
     *
     * @returns {boolean}.
     *
     */
    canRedo(): boolean;
    /**
     * Applies the operations performed in the Image Editor, such as annotation drawings.
     *
     * @returns{void}
     * @remarks
     * This method applies the actions performed after enabling annotation drawings, ensuring that the drawn annotations are applied to the image.
     */
    apply(): void;
    /**
     * Discards the operations performed in the Image Editor, such as annotation drawings.
     *
     * @returns{void}
     * @remarks
     * This method discards the actions performed after enabling annotation drawings, ensuring that the drawn annotations are not applied to the image.
     */
    discard(): void;
    /**
     * Enable or disable a shape drawing option in an Image Editor.
     *
     * @param {ShapeType} shapeType - Specifies the type of shape to be enabled or disabled for drawing.
     * @param {boolean} isEnabled - Optional. Specifies a value to indicate whether to enable or disable shape drawing. The default value is true.
     *
     * @remarks This function allows the user to toggle the shape drawing feature in the Image Editor. When enabled, users can draw shapes on the image. When disabled, the shape drawing functionality is not available.
     *
     * @returns {void}.
     */
    enableShapeDrawing(shapeType: ShapeType, isEnabled: boolean): void;
    /**
     * Moves a shape to the front of all other shapes based on the given shape id.
     * Use 'getShapeSettings' method to get the shape id which is then passed to perform moving.
     *
     * @param {string} shapeId - Specifies the shape id to move the shape on an image.
     * @returns {void}.
     *
     */
    bringToFront(shapeId: string): void;
    /**
     * Moves a shape to ahead of one shape based on the given shape id.
     * Use 'getShapeSettings' method to get the shape id which is then passed to perform moving.
     *
     * @param {string} shapeId - Specifies the shape id to move the shape on an image.
     * @returns {void}.
     *
     */
    bringForward(shapeId: string): void;
    /**
     * Moves a shape to behind all other shapes based on the given shape id.
     * Use 'getShapeSettings' method to get the shape id which is then passed to perform moving.
     *
     * @param {string} shapeId - Specifies the shape id to move the shape on an image.
     * @returns {void}.
     *
     */
    sendToBack(shapeId: string): void;
    /**
     * Moves a shape to behind one shape based on the given shape id.
     * Use 'getShapeSettings' method to get the shape id which is then passed to perform moving.
     *
     * @param {string} shapeId - Specifies the shape id to move the shape on an image.
     * @returns {void}.
     *
     */
    sendBackward(shapeId: string): void;
    /**
     * Clears the loaded image in the Image Editor.
     *
     * @returns{void}
     * @remarks
     * This method clears the loaded image and updates the component's user interface to its initial state (the initial user interface without a loaded image).
     */
    clearImage(): void;
    /**
     * Enables overlay drawing to erase objects in an image editor. The eraser tool assists in selecting the mask image.
     *
     * @remarks
     * The selection UI is based on the 'theme' property.
     *
     * @param {number} strokeWidth - Specifies the stroke width of the drawing.
     * @param {string} color - Specifies the color of the drawing.
     * @hidden
     * @returns {void}.
     *
     */
    selectMaskImage(strokeWidth?: number, color?: string): void;
    private enableDisableToolbar;
    private updateImage;
    private editCompleted;
    private updateColl;
    private resetToolbar;
    private getData;
    private applyShapes;
    private closeOverlayTbar;
    private toolbarTemplateFn;
    private quickAccessToolbarTemplateFn;
    private templateParser;
    private getTextFromId;
    private getFinetuneOption;
    private setPenStroke;
    private updateFreehandDrawColorChange;
    private getUndoRedoColl;
    private updateImageTransformColl;
    private setInitialZoomState;
    /**
     * Set the old item Transform item state.
     *
     * @hidden
     * @returns {void}.
     */
    updateCropTransformItems(): void;
    /**
     * Get the pascal case.
     *
     * @param { string } str - Specifies the string to convert to pascal case.
     * @param { Object } obj - Specifies the string to convert to pascal case.
     * @hidden
     * @returns {string}.
     * A pascal case string.
     */
    toPascalCase(str: string, obj?: Object): string;
    /**
     * Get the font sizes.
     *
     * @hidden
     * @returns {splitbuttons.ItemModel[]}.
     * A font size collections.
     */
    getFontSizes(): splitbuttons.ItemModel[];
    /**
     * Updates drop area content dynamically.
     *
     * @param { HTMLElement } dropInfoElement - Specifies the drop area element.
     * @hidden
     * @returns {void}.
     */
    updateDropInfoContent(dropInfoElement: HTMLElement): void;
    /**
     * Handles the OK button operation
     *
     * @param { boolean } isMouseDown - Specifies whether it is a mouse down.
     * @param { boolean } isFinalApply - Specifies whether it is a final apply.
     * @param { boolean } isResize - Specifies whether it is called from resize public method.
     * @hidden
     * @returns {void}.
     */
    okBtn(isMouseDown?: boolean, isFinalApply?: boolean, isResize?: boolean): void;
    triggerEditCompleteEvent(args: EditCompleteEventArgs): void;
    /**
     * Handles the OK button operation
     *
     * @param { string } id - Specifies shape id to return.
     * @hidden
     * @returns {SelectionPoint | Object}.
     */
    getObjFromId(id: string): SelectionPoint | Object;
    /**
     * Set the temporary filter properties.
     *
     * @hidden
     * @returns {void}.
     */
    setTempFilterProperties(): void;
    /**
     * To crop the selection.
     *
     * @hidden
     * @returns {void}.
     */
    cropSelectedState(): void;
    /**
     * Get the current canvas data.
     *
     * @hidden
     * @returns {ImageData}.
     * An ImageData returns the current canvas image data object.
     */
    getCurrentCanvasData(): ImageData;
    /**
     * To set current adjustment value
     *
     * @param { string } type - Specifies the type of adjustment.
     * @param { number } value - Specifies the value to adjust.
     * @hidden
     * @returns {void}.
     */
    setCurrAdjustmentValue(type: string, value: number): void;
    /**
     * Get the square point for path.
     *
     * @param { SelectionPoint } obj - Specifies the points of path.
     * @hidden
     * @returns {ActivePoint}.
     * An ActivePoint object which returns the square point.
     */
    getSquarePointForPath(obj: SelectionPoint): ActivePoint;
    /**
     * Get the SelectionType.
     *
     * @param { string } type - Specifies the SelectionType.
     * @hidden
     * @returns {string}.
     * An string which returns the SelectionType.
     */
    getSelectionType(type: string): string;
    /** Clears the context.
     *
     * @param { CanvasRenderingContext2D } ctx - Specifies the canvas context.
     * @hidden
     * @returns {void}.
     */
    clearContext(ctx: CanvasRenderingContext2D): void;
    /**
     * Apply Arrow for start and end.
     *
     * @param { string } type - Specifies the start arrow or end arrow.
     * @param { string } id - Specifies the start arrow or end arrow item id.
     * @hidden
     * @returns {void}.
     */
    updateArrow(type: string, id: string): void;
    /**
     * Apply Font style for text.
     *
     * @param { string } id - Specifies the selected item id.
     * @hidden
     * @returns {void}.
     */
    updateFontFamily(id: string): void;
    /**
     * Apply Font size for text.
     *
     * @param { string } text - Specifies the selected item text.
     * @hidden
     * @returns {void}.
     */
    updateFontSize(text: string): void;
    /**
     * Apply Font color for text.
     *
     * @param { string } value - Specifies the selected color item value.
     * @param { string } color - Specifies the selected color type value.
     * @hidden
     * @returns {void}.
     */
    updateFontColor(value: string, color: string): void;
    /**
     * Apply Font color for text.
     *
     * @param { string } value - Specifies the selected color item value.
     * @hidden
     * @returns {void}.
     */
    updateStrokeTextColor(value: string): void;
    /**
     * Apply Pen stroke width.
     *
     * @param { string } id - Specifies the selected item id.
     * @hidden
     * @returns {void}.
     */
    updatePenStrokeWidth(id: string): void;
    /**
     * Apply Pen stroke color.
     *
     * @param { string } value - Specifies the selected color item value.
     * @hidden
     * @returns {void}.
     */
    updatePenStrokeColor(value: string): void;
    /**
     * Apply Shape stroke width.
     *
     * @param { string } id - Specifies the selected item id.
     * @param { string } type - Specifies the type of selected item.
     * @param { string } shapeType - Specifies the shape type of selected item.
     * @hidden
     * @returns {void}.
     */
    updateStrokeWidth(id: string, type: string, shapeType?: string): void;
    /**
     * Apply Shape stroke color.
     *
     * @param { string } value - Specifies the selected color item value.
     * @hidden
     * @returns {void}.
     */
    updateStrokeColor(value: string): void;
    /**
     * Apply Shape fill color.
     *
     * @param { string } value - Specifies the selected color item value.
     * @hidden
     * @returns {void}.
     */
    updateFillColor(value: string): void;
    /**
     * Apply horizontal flip.
     *
     * @param { CanvasRenderingContext2D } ctx - Specifies the canvas context 2D.
     * @param { boolean } isPreventURC - Specifies to update undo redo collection.
     * @hidden
     * @returns {void}.
     */
    horizontalFlip(ctx: CanvasRenderingContext2D, isPreventURC?: boolean): void;
    /**
     * Apply vertical flip.
     *
     * @param { CanvasRenderingContext2D } ctx - Specifies the canvas context 2D.
     * @param { boolean } isPreventURC - Specifies to update undo redo collection.
     * @hidden
     * @returns {void}.
     */
    verticalFlip(ctx: CanvasRenderingContext2D, isPreventURC?: boolean): void;
    /**
     * Apply rotate image.
     *
     * @param { string } rotate - Specifies the direction of rotation.
     * @hidden
     * @returns {void}.
     */
    rotateImage(rotate: string): void;
    /**
     * Get pascalToSplitWords from string.
     *
     * @param { string } str - Specifies the word.
     * @hidden
     * @returns {string}.
     */
    pascalToSplitWords(str: string): string;
    /**
     * Get Slider Value.
     *
     * @param { string } type - Finetune type.
     * @hidden
     * @returns {number}.
     */
    getCurrAdjustmentValue(type: string): number;
    /**
     * Apply transformSelect.
     *
     * @param { string } type - Specifies the selected item text.
     * @hidden
     * @returns {void}.
     */
    transformSelect(type: string): void;
    /**
     * Returns default filter.
     *
     * @hidden
     * @returns {string}.
     */
    getDefaultFilter(): string;
    /**
     * Performs Straightening action.
     *
     * @param { number } value - Specifies the degree of straightening.
     * @hidden
     * @returns {void} .
     */
    setStraighten(value: number): void;
    private duplicateImage;
    private performStraighten;
    /**
     * Straightens base image.
     *
     * @hidden
     * @returns {void}.
     */
    straightenBaseImageCanvas(): void;
    /**
     * Returns rotated canvas dimension.
     *
     * @param { number } width - Specifies the width of the canvas.
     * @param { number } height - Specifies the height of the canvas.
     * @param { number } angle - Specifies the angle of rotation in degrees.
     * @hidden
     * @returns {void} .
     */
    getRotatedCanvasDim(width: number, height: number, angle: number): Dimension;
    /**
     * Apply Shape order.
     *
     * @param { string } id - Specifies the id of the shape to change the order.
     * @param { string } value - Specifies the order of the shapes.
     * @hidden
     * @returns {void}.
     */
    updateShapeOrder(id: string, value: string): void;
    private getStraightenFlipState;
    private initializeZoomSettings;
    private initializeThemeColl;
    /**
     * Draw a redaction on an image.
     *
     * @param {RedactType} type – Optional. Specifies the type of redaction to be drawn on the image such as blur or pixelate. If not specified, the redaction drawing is initiated with the default blur value.
     * @param {number} x – Optional. Specifies x-coordinate of redaction. If not specified, the redaction drawing is initiated with the first parameter.
     * @param {number} y – Optional. Specifies y-coordinate of redaction. If not specified it draws redaction from the center point of the image.
     * @param {number} width – Optional. Specifies the width of the redaction. The default value is 100.
     * @param {number} height – Optional. Specifies the height of the redaction. The default value is 50.
     * @param {number} value – Optional. Specifies the blur value for blur-type redaction or the pixel size for pixelate-type redaction. Defaults to 20 since the default redaction is blur.
     * @returns {boolean}.
     */
    drawRedact(type?: RedactType, x?: number, y?: number, width?: number, height?: number, value?: number): boolean;
}
//node_modules/@syncfusion/ej2-image-editor/src/image-editor/base/image-editor-model.d.ts
/**
 * Interface for a class UploadSettings
 */
export interface UploadSettingsModel {
    /**
     * Specifies the allowed file extensions for uploaded images.
     *
     * @type {string}
     * @default null
     * @remarks
     * Example: '.jpg, .png, .gif'
     * This property restricts the types of image files that can be uploaded based on their file extensions. Only files with the specified extensions will be allowed.
     */
    allowedExtensions?: string;
    /**
     * Specifies the minimum size (in bytes) for the uploaded image.
     *
     * @type {number}
     * @default null
     * @remarks
     * The value represents the file size in bytes. Any file smaller than this size will be rejected during the upload process. Use this property to ensure that images meet a certain quality or resolution standard.
     */
    minFileSize?: number;
    /**
     * Specifies the maximum size (in bytes) for the uploaded image.
     *
     * @type {number}
     * @default null
     * @remarks
     * The value represents the file size in bytes. Any file larger than this size will be rejected during the upload process. This property helps prevent the upload of excessively large files that may impact performance.
     */
    maxFileSize?: number;
}
/**
 * Interface for a class FinetuneSettings
 */
export interface FinetuneSettingsModel {
    /**
     * Represents a finetune setting for adjusting the brightness of an image.
     *
     * @type {ImageFinetuneValue}
     *
     * @property {number} value - The brightness level of the image, from -100 to 100.
     * @property {number} min - The minimum brightness value allowed, typically -100.
     * @property {number} max - The maximum brightness value allowed, typically 100.
     * @default null
     */
    brightness?: ImageFinetuneValue;
    /**
     * Represents a finetune setting for adjusting the contrast of an image.
     *
     * @type {ImageFinetuneValue}
     *
     * @property {number} value - The contrast level of the image, from -100 to 100.
     * @property {number} min - The minimum contrast value allowed, typically -100.
     * @property {number} max - The maximum contrast value allowed, typically 100.
     * @default null
     */
    contrast?: ImageFinetuneValue;
    /**
     * Represents a finetune setting for adjusting the hue of an image.
     *
     * @type {ImageFinetuneValue}
     *
     * @property {number} value - The hue level of the image, from 0 to 100.
     * @property {number} min - The minimum hue value allowed, typically 0.
     * @property {number} max - The maximum hue value allowed, typically 100.
     * @default null
     */
    hue?: ImageFinetuneValue;
    /**
     * Represents a finetune setting for adjusting the saturation of an image.
     *
     * @type {ImageFinetuneValue}
     *
     * @property {number} value - The saturation level of the image, from -100 to 100.
     * @property {number} min - The minimum saturation value allowed, typically -100.
     * @property {number} max - The maximum saturation value allowed, typically 100.
     * @default null
     */
    saturation?: ImageFinetuneValue;
    /**
     * Represents a finetune setting for adjusting the exposure of an image.
     *
     * @type {ImageFinetuneValue}
     *
     * @property {number} value - The exposure level of the image, from -100 to 100.
     * @property {number} min - The minimum exposure value allowed, typically -100.
     * @property {number} max - The maximum exposure value allowed, typically 100.
     * @default null
     */
    exposure?: ImageFinetuneValue;
    /**
     * Represents a finetune setting for adjusting the opacity of an image.
     *
     * @type {ImageFinetuneValue}
     *
     * @property {number} value - The opacity level of the image, from 0 to 100.
     * @property {number} min - The minimum opacity value allowed, typically 0.
     * @property {number} max - The maximum opacity value allowed, typically 100.
     * @default null
     */
    opacity?: ImageFinetuneValue;
    /**
     * Represents a finetune setting for adjusting the blur of an image.
     *
     * @type {ImageFinetuneValue}
     *
     * @property {number} value - The blur level of the image, from 0 to 100.
     * @property {number} min - The minimum blur value allowed, typically 0.
     * @property {number} max - The maximum blur value allowed, typically 100.
     * @default null
     */
    blur?: ImageFinetuneValue;
}
/**
 * Interface for a class ZoomSettings
 */
export interface ZoomSettingsModel {
    /**
     * Specifies the available options for zooming in an image editor control.
     *
     * @remarks
     * Use this property to enable or disable specific types of zooming in the image editor. The following zooming options are available:
     * MouseWheel: Zooming is performed by scrolling the mouse wheel up and down.
     * Pinch: Zooming is performed using pinch gestures on touch-enabled devices.
     * Commands: Zooming is performed by clicking the CTRL key and either the plus (+) or minus (-) buttons on the keyboard.
     * navigations.Toolbar: Zooming is performed using toolbar buttons.
     *
     * By default, this property is set to `null`, which enables all types of zooming.
     *
     * @default null
     * @aspNumberEnum
     */
    zoomTrigger?: ZoomTrigger;
    /**
     * Specifies the minimum zooming level to limit the zooming.
     * An integer value that specifies the minimum zooming level. And the default value is 1 (100%).
     *
     * @remarks
     * The given value is considered as percentage.
     *
     */
    minZoomFactor?: number;
    /**
     * Specifies the maximum zooming level to limit the zooming.
     * An integer value that specifies the maximum zooming level. And the default value is 10 (1000 percent).
     *
     * @remarks
     * The given value is considered as percentage.
     *
     */
    maxZoomFactor?: number;
    /**
     * Specifies the default zoom factor to be applied on initial loading of image.
     * An integer value that specifies the current zooming level. And the default value is 1 (100 percent).
     *
     * @remarks
     * The given value is considered as percentage.
     *
     */
    zoomFactor?: number;
    /**
     * Specifies the point in which the zooming  has been performed in the image editor.
     * A point value that specifies the current zooming point.
     * And the default value is null, and it can be considered as center point of the image editor.
     *
     * @remarks
     * The given value is a point object which has x and y coordinates.
     *
     */
    zoomPoint?: Point;
}
/**
 * Interface for a class SelectionSettings
 */
export interface SelectionSettingsModel {
    /**
     * Specifies a boolean value whether to show circle on selection in the image editor.
     *
     * @type {boolean}
     *
     * @default true
     */
    showCircle?: boolean;
    /**
     * Represents stroke color of circle selection in the image editor.
     *
     * @type {string}
     *
     * @default null
     */
    strokeColor?: string;
    /**
     * Represents fill color of circle selection in the image editor.
     *
     * @type {string}
     *
     * @default null
     */
    fillColor?: string;
}
/**
 * Interface for a class FontFamily
 */
export interface FontFamilyModel {
    /**
     * Specifies default font family selection
     *
     * @default 'Arial'
     */
    default?: string;
    /**
     * Specifies default font family items
     *
     * @default null
     */
    items?: splitbuttons.ItemModel[];
}
/**
 * Interface for a class ImageEditor
 */
export interface ImageEditorModel extends base.ComponentModel{
    /**
     * Defines one or more CSS classes that can be used to customize the appearance of an Image Editor component.
     *
     * @remarks
     * One or more CSS classes to customize the appearance of the Image Editor component, such as by changing its toolbar appearance, borders, sizes, or other visual aspects.
     *
     * @default ''
     *
     */
    cssClass?: string;
    /**
     * Defines whether an Image Editor component is enabled or disabled.
     *
     * @remarks
     * A disabled Image Editor component may have a different visual appearance than an enabled one. When set to “true”, the Image Editor component will be disabled, and the user will not be able to interact with it.
     *
     * @default false
     */
    disabled?: boolean;
    /**
     * Specifies the height of the Image Editor.
     *
     * @remarks
     * The value of height is specified either as a percentage (e.g. '100%') or as a fixed pixel value (e.g. '100px').
     *
     * @default '100%'
     */
    height?: string;
    /**
     * Specifies the theme of the Image Editor. The appearance of the shape selection in Image Editor is determined by this property.
     *
     * @remarks
     * The `theme` property supports all the built-in themes of Syncfusion, including:
     * - `Bootstrap5`
     * - `Fluent`
     * - `Tailwind`
     * - `Bootstrap4`
     * - `Material`
     * - `Fabric`
     * - `HighContrast`
     * - `Bootstrap5Dark`
     * - `Bootstrap4Dark`
     * - `MaterialDark`
     * - `FabricDark`
     * - `HighContrastDark`
     * - `Fluent2`
     *
     * The default value is set to `Theme.Bootstrap5`.
     *
     * @isenumeration true
     * @default Theme.Bootstrap5
     * @asptype Theme
     *
     */
    theme?: string | Theme;
    /**
     * Specifies the toolbar items to perform UI interactions.
     * It accepts both string[] and navigations.ItemModel[] to configure its toolbar items. The default value is null.
     * If the property is not defined in the control, the default toolbar will be rendered with preconfigured toolbar commands.
     * If the property is defined as empty collection, the toolbar will not be rendered.
     * The preconfigured toolbar commands are
     * - Crop: helps to crop an image as ellipse, square, various ratio aspects, custom selection with resize, drag and drop.
     * - Straightening: helps to rotate an image by a specified angle.
     * - Annotate: help to insert a shape on image that supports rectangle, ellipse, line, arrow, path, text, image and freehand drawing with resize, drag and drop, and customize its appearance.
     * - Transform: helps to rotate and flip an image.
     * - Finetunes: helps to perform adjustments on an image.
     * - Filters: helps to perform predefined color filters.
     * - Frame: helps to add decorative borders or frames around images.
     * - Resize: helps to modify the dimensions of an image.
     * - ZoomIn: performs zoom-in an image.
     * - ZoomOut: performs zoom-out an image.
     * - Save: save the modified image.
     * - Open: open an image to perform editing.
     * - Undo: helps to revert the last action.
     * - Redo: helps to redo the last action.
     * - Reset: reset the modification and restore the original image.
     *
     * {% codeBlock src='image-editor/toolbar/index.md' %}{% endcodeBlock %}
     *
     * @remarks
     * If the toolbarTemplate property is defined in the control, the toolbar will be rendered based on the toolbarTemplate property.
     * @default null
     *
     */
    toolbar?: (string | ImageEditorCommand | navigations.ItemModel)[];
    /**
     * Specifies a custom template for the toolbar of an image editor control.
     * A string that specifies a custom template for the toolbar of the image editor. If this property is defined, the 'toolbar' property will not have any effect.
     *
     * {% codeBlock src='image-editor/toolbarTemplate/index.md' %}{% endcodeBlock %}
     *
     * @remarks
     * Use this property if you want to customize the entire toolbar in your own way. The template should be a string that contains the HTML markup for the custom toolbar.
     *
     * @default null
     * @aspType string
     *
     *
     */
    toolbarTemplate?: string | Function;
    /**
     * Specifies the width of an Image Editor.
     *
     * @remarks
     * The value of width is specified either as a percentage (e.g. '100%') or as a fixed pixel value (e.g. '100px').
     *
     * @default '100%'
     */
    width?: string;
    /**
     * Specifies a boolean value whether enable undo/redo operations in the image editor.
     *
     * @remarks
     * If this property is true, the undo redo options will be enabled in toolbar and can also be accessed via keyboard shortcuts.
     * If set to false, both options will be disabled.
     * The undo redo history is limited to 16. Once the maximum limit is reached, the oldest history item will be removed to make space for the new item.
     *
     * @default true
     *
     */
    allowUndoRedo?: boolean;
    /**
     * Specifies whether to show/hide the quick access toolbar.
     *
     * @default true
     *
     * @remarks
     * Set this property to true to show the quick access toolbar, and false to hide it.
     * ```html
     * <div id='imageeditor'></div>
     * ```
     * ```typescript
     * <script>
     * var imageObj = new ImageEditor({
     *     showQuickAccessToolbar : true
     * });
     * imageObj.appendTo("#imageeditor");
     * </script>
     * ```
     */
    showQuickAccessToolbar?: boolean;
    /**
     * Specifies a template for the quick access toolbar.
     * Use this property to customize the quick access toolbar.
     *
     * @default null
     * @aspType string
     *
     * @remarks
     * This property only works if the "showQuickToolbar" property is set to true.
     * ```html
     * <div id='imageeditor'></div>
     * ```
     * ```typescript
     * <script>
     * var imageObj = new ImageEditor({
     *     showQuickAccessToolbar : true,
     *     quickAccessToolbarTemplate: '#toolbarTemplate'
     * });
     * imageObj.appendTo("#imageeditor");
     * </script>
     * <script id="toolbarTemplate" type="text/x-template">
     *    <div class = 'e-toolbar'>
     *      <button id= 'dltbtn'></button>
     *    </div>
     *  </script>
     * ```
     */
    quickAccessToolbarTemplate?: string | Function;
    /**
     * Determines whether high-quality images should be smoothed when rendered.
     *
     * @default false
     *
     * @remarks
     *
     * When enabled (`true`), the image will be smoothed, reducing pixelation at the cost of sharpness.
     *
     * When disabled (`false`), the image will be rendered with crisp, unaltered pixels.
     *
     * ```html
     * <div id='imageeditor'></div>
     * ```
     * ```typescript
     * <script>
     * var imageObj = new ImageEditor({
     *     imageSmoothingEnabled: true
     * });
     * imageObj.appendTo("#imageeditor");
     * </script>
     * ```
     */
    imageSmoothingEnabled?: boolean;
    /**
     * Specifies whether to prevent user interaction with the image editor control.
     * A boolean that specifies whether to prevent the interaction in image editor control. The default value is false.
     *
     * @remarks
     * If the property is true, the image editor control becomes read-only, and the user interaction will be prevented.
     *
     * @default false
     * @private
     */
    isReadOnly?: boolean;
    /**
     * Specifies whether to enable RTL mode in image editor control that displays the content in the right-to-left direction.
     * A boolean that specifies whether to enable RTL mode in image editor control. The default value is false.
     *
     * @default false
     * @private
     */
    enableRtl?: boolean;
    /**
     * Specifies a bool value whether enable or disable persist component's state between page reloads. The default value is false.
     *
     * @remarks
     * If this property is true, the controls's state persistence will be enabled.
     * Control's property will be stored in browser local storage to persist control's state when page reloads.
     *
     * @default false
     * @private
     */
    enablePersistence?: boolean;
    /**
     * Specifies the finetune settings option which can be used to perform color adjustments in the image editor control.
     *
     * {% codeBlock src='image-editor/finetuneSettings/index.md' %}{% endcodeBlock %}
     *
     * @remarks
     * A 'FinetuneSettingsModel' value that specifies the the finetune options which are enabled in image editor control.
     * If the property is not specified, then the default values will be applied for minimum, maximum, and value properties for all finetune options.
     *
     * The possible values are:
     * - Brightness: The intensity of the primary colors grows with increased brightness, but the color itself does not change. It can be done by changing brightness and opacity property.
     * - Contrast: The contrast of an image refers to the difference between the light pixels and dark pixels. Low contrast images contain either a narrow range of colors while high contrast images have bright highlights and dark shadows. It can be done by changing contrast property.
     * - Hue: Hue distinguishes one color from another and is described using common color names such as green, blue, red, yellow, etc. Value refers to the lightness or darkness of a color. It can be controlled by hue-rotate property.
     * - Saturation: If saturation increases, colors appear sharper or purer. As saturation decreases, colors appear more washed-out or faded. It can be controlled by saturation and brightness property.
     * - Exposure: If exposure increases, intensity of light appears brighter. As exposure decreases, intensity of light decreases. Exposure can be controlled by brightness property.
     * - Opacity: The state or quality of being opaque or transparent, not allowing light to pass through the image. Opacity can be controlled by opacity property.
     * - Blur : Adjusting the blur can make an image unfocused or unclear. Blur can be controlled by blur property.
     *
     */
    finetuneSettings?: FinetuneSettingsModel;
    /**
     * Specifies the zoom settings to perform zooming action.
     * A 'ZoomSettingsModel' value that specifies the the zoom related options which are enabled in image editor control. The default value is null.
     *
     * {% codeBlock src='image-editor/zoomSettings/index.md' %}{% endcodeBlock %}
     *
     * @remarks
     * If the property is not specified, then the default settings will be applied for all the properties available in zoom settings.
     *
     * The following options are available in `zoomSettings`.
     * - minZoomFactor: Specifies the minimum zoom factor level to control the zoom.
     * - maxZoomFactor: Specifies the maximum zoom factor level to control the zoom.
     * - zoomFactor: Specifies the zoom factor to be applied to the image.
     * - zoomTrigger: Specifies the types of zooming to be supported in the image editor.
     * - zoomPoint: Specifies the x and y coordinates in which the zooming performed on initial load.
     *
     */
    zoomSettings?: ZoomSettingsModel;
    /**
     * Specifies the selection settings to customize selection.
     * A 'SelectionSettingsModel' value that specifies the the customization related options which are enabled in image editor control. The default value is null.
     *
     * @remarks
     * If the property is not specified, then the default settings will be applied for all the properties available in selection settings.
     *
     * The following options are available in `selectionSettings`.
     * - showCircle: Specifies whether to show / hide circles on selection.
     * - strokeColor: Specifies the stroke color of circle selection.
     * - fillColor: Specifies the fill color of circle selection.
     *
     */
    selectionSettings?: SelectionSettingsModel;
    /**
     * Predefine the font families that populate in font family dropdown list from the toolbar.
     */
    fontFamily?: FontFamilyModel;
    /**
     * Represents the settings for configuring image uploads.
     *
     * This object allows you to specify restrictions on the types and sizes of images that can be uploaded, ensuring that only valid files are accepted according to the defined criteria.
     *
     * The following options are available in `uploadSettings`.
     * - allowedExtensions: Specifies the allowed file extensions for uploaded images. The default value is null.
     * - minFileSize: Specifies the minimum size (in bytes) for the uploaded image. The default value is null.
     * - maxFileSize: Specifies the maximum size (in bytes) for the uploaded image. The default value is null.
     *
     */
    uploadSettings?: UploadSettingsModel;
    /**
     * base.Event callback that is raised before an image is saved.
     *
     * @event beforeSave
     */
    beforeSave?: base.EmitType<BeforeSaveEventArgs>;
    /**
     * base.Event callback that is raised after rendering the Image Editor component.
     *
     * @event created
     */
    created?: base.EmitType<Event>
    /**
     * base.Event callback that is raised once the component is destroyed with its elements and bound events.
     *
     * @event destroyed
     */
    destroyed?: base.EmitType<Event>
    /**
     * base.Event callback that is raised while zooming an image.
     *
     * @event zooming
     */
    zooming?: base.EmitType<ZoomEventArgs>
    /**
     * base.Event callback that is raised while panning an image.
     *
     * @event panning
     */
    panning?: base.EmitType<PanEventArgs>
    /**
     * base.Event callback that is raised while cropping an image.
     *
     * @event cropping
     */
    cropping?: base.EmitType<CropEventArgs>
    /**
     * base.Event callback that is raised while rotating an image.
     *
     * @event rotating
     */
    rotating?: base.EmitType<RotateEventArgs>
    /**
     * base.Event callback that is raised while flipping an image.
     *
     * @event flipping
     */
    flipping?: base.EmitType<FlipEventArgs>
    /**
     * base.Event callback that is raised while changing shapes in an Image Editor.
     *
     * @event shapeChanging
     */
    shapeChanging?: base.EmitType<ShapeChangeEventArgs>
    /**
     * base.Event callback that is raised while changing selection in an Image Editor.
     *
     * @event selectionChanging
     */
    selectionChanging?: base.EmitType<SelectionChangeEventArgs>
    /**
     * base.Event callback that is raised once an image is opened in an Image Editor.
     *
     * @event fileOpened
     */
    fileOpened?: base.EmitType<OpenEventArgs>
    /**
     * base.Event callback that is raised once an image is saved.
     *
     * @event saved
     */
    saved?: base.EmitType<SaveEventArgs>;
    /**
     * base.Event callback that is raised once the toolbar is created.
     *
     * @event toolbarCreated
     */
    toolbarCreated?: base.EmitType<ToolbarEventArgs>
    /**
     * base.Event callback that is raised while updating/refreshing the toolbar
     *
     * {% codeBlock src='image-editor/toolbarUpdating/index.md' %}{% endcodeBlock %}
     *
     * @event toolbarUpdating
     *
     */
    toolbarUpdating?: base.EmitType<ToolbarEventArgs>
    /**
     * base.Event callback that is raised once the toolbar item is clicked.
     *
     * @event toolbarItemClicked
     */
    toolbarItemClicked?: base.EmitType<navigations.ClickEventArgs>
    /**
     * base.Event callback that is raised when applying filter to an image.
     *
     * @event imageFiltering
     */
    imageFiltering?: base.EmitType<ImageFilterEventArgs>;
    /**
     * base.Event callback that is raised when applying fine tune to an image.
     *
     * @event finetuneValueChanging
     */
    finetuneValueChanging?: base.EmitType<FinetuneEventArgs>
    /**
     * base.Event callback that is raised while clicking on an image in the Image Editor.
     *
     * @event click
     */
    click?: base.EmitType<ImageEditorClickEventArgs>
    /**
     * base.Event callback that is raised after shape changing action is performed in an image editor.
     *
     * @remarks
     * This event is triggered after changing stroke color, fill Color, and stroke width property for the shapes and after the shape is applied to the canvas while clicking the OK button in toolbar.
     *
     * @event shapeChange
     */
    shapeChange?: base.EmitType<ShapeChangeEventArgs>
    /**
     * base.Event callback that is raised when opening the quick access toolbar.
     *
     * @event quickAccessToolbarOpen
     *
     * @remarks
     * Use this event to customize the toolbar items that appear in the quick access toolbar.
     * To customize the toolbar items, modify the "toolbarItems" collection property of the event arguments.
     * The "toolbarItems" collection contains string and navigations.ItemModel values.
     * The string values representing the names of the built-in toolbar items to display.
     * The navigations.ItemModel values representing the navigations.ItemModel of custom toolbar items to display.
     *
     * ```html
     * <div id='imageeditor'></div>
     * ```
     * ```typescript
     * <script>
     * var imageObj = new ImageEditor({
     *     showQuickAccessToolbar : true,
     *     quickAccessToolbarOpen: (args: QuickAccessToolbarEventArgs)=> {
     *         args.toolbarItems = [“Delete”, {text: “custom”}];
     *     }
     *
     * });
     * imageObj.appendTo("#imageeditor");
     * </script>
     */
    quickAccessToolbarOpen?: base.EmitType<QuickAccessToolbarEventArgs>
    /**
     * base.Event callback that is raised while resizing an image.
     *
     * @event resizing
     */
    resizing?: base.EmitType<ResizeEventArgs>
    /**
     * base.Event callback that is raised once the quick access toolbar item is clicked.
     *
     * @event quickAccessToolbarItemClick
     *
     */
    quickAccessToolbarItemClick?: base.EmitType<navigations.ClickEventArgs>
    /**
     *  base.Event callback that is raised while applying frames on an image.
     *
     * @event frameChange
     */
    frameChange?: base.EmitType<FrameChangeEventArgs>
    /**
     * base.Event callback that is triggered after the completion of an editing action in the image editor.
     *
     * This event occurs after the image editor canvas has been updated through following actions such as cropping, drawing annotations, applying filters, fine-tuning, or other customizations.
     *
     * It provides an opportunity to perform additional tasks, such as comparing the current image data with previous states or triggering further processing based on the changes.
     *
     * @event editComplete
     *
     */
    editComplete?: base.EmitType<EditCompleteEventArgs >
}
//node_modules/@syncfusion/ej2-image-editor/src/image-editor/base/enum.d.ts
/**
 * An enum representing the file types supported by the image editor.
 *
 * @enum {string}
 */
export  enum FileType {
    /** The PNG file type. */
    Png = "Png",
    /** The JPEG file type. */
    Jpeg = "Jpeg",
    /** The SVG file type. */
    Svg = "Svg",
    /** The WebP file type. */
    WebP = "WebP"
}
/**
 * An enumeration representing the direction of an image editor operation.
 *
 * @enum {string}
 */
export  enum Direction {
    /** The horizontal direction. */
    Horizontal = "Horizontal",
    /** The vertical direction. */
    Vertical = "Vertical"
}
/**
 * An enumeration representing the type of shape to be added in the image editor.
 *
 * @enum {string}
 */
export  enum ShapeType {
    /** A rectangle shape. */
    Rectangle = "Rectangle",
    /** An ellipse shape. */
    Ellipse = "Ellipse",
    /** A line shape. */
    Line = "Line",
    /** An arrow shape. */
    Arrow = "Arrow",
    /** A path shape. */
    Path = "Path",
    /** A text shape. */
    Text = "Text",
    /** A freehand drawing shape. */
    FreehandDraw = "FreehandDraw",
    /** An Image shape. */
    Image = "Image"
}
/**
 * An enumeration representing the different ways to trigger zooming in the image editor.
 *
 * @aspNumberEnum
 */
export  enum ZoomTrigger {
    /** Zooming triggered by mouse wheel. */
    MouseWheel = 1,
    /** Zooming triggered by pinch gesture. */
    Pinch = 2,
    /** Zooming triggered by command keys. */
    Commands = 4,
    /** Zooming triggered by toolbar button click. */
    Toolbar = 8
}
/**
 * * An enum representing the available themes in the image editor.
 */
export  enum Theme {
    /** The Bootstrap 5 theme. */
    Bootstrap5 = "Bootstrap5",
    /** The dark variant of the Bootstrap 5 theme. */
    Bootstrap5Dark = "Bootstrap5Dark",
    /** The Tailwind CSS theme. */
    Tailwind = "Tailwind",
    /** The dark variant of the Tailwind CSS theme. */
    TailwindDark = "TailwindDark",
    /** The Fluent UI theme. */
    Fluent = "Fluent",
    /** The dark variant of the Fluent UI theme. */
    FluentDark = "FluentDark",
    /** The Bootstrap 4 theme. */
    Bootstrap4 = "Bootstrap4",
    /** The Bootstrap theme. */
    Bootstrap = "Bootstrap",
    /** The dark variant of the Bootstrap theme. */
    BootstrapDark = "BootstrapDark",
    /** The Material Design theme. */
    Material = "Material",
    /** The dark variant of the Material Design theme. */
    MaterialDark = "MaterialDark",
    /** The Fabric theme. */
    Fabric = "Fabric",
    /** The dark variant of the Fabric theme. */
    FabricDark = "FabricDark",
    /** The high contrast theme. */
    Highcontrast = "Highcontrast",
    /** The Fluent 2.0 UI theme. */
    Fluent2 = "Fluent2",
    /** The dark variant of the Fluent 2.0 UI theme. */
    Fluent2Dark = "Fluent2Dark",
    /** The Tailwind 3 UI theme. */
    Tailwind3 = "Tailwind3",
    /** The dark variant of the Tailwind 3 UI theme. */
    Tailwind3Dark = "Tailwind3Dark"
}
/**
 * An enum representing the available toolbar commands in the image editor.
 */
export  enum ImageEditorCommand {
    Crop = "Crop",
    Transform = "Transform",
    Annotate = "Annotate",
    ZoomIn = "ZoomIn",
    ZoomOut = "ZoomOut",
    Open = "Open",
    Reset = "Reset",
    Save = "Save",
    Pan = "Pan",
    Move = "Move",
    Pen = "Pen",
    Line = "Line",
    Arrow = "Arrow",
    Path = "Path",
    Rectangle = "Rectangle",
    Image = "Image",
    Ellipse = "Ellipse",
    Text = "Text",
    CustomSelection = "CustomSelection",
    CircleSelection = "CircleSelection",
    SquareSelection = "SquareSelection",
    RatioSelection = "RatioSelection",
    RotateLeft = "RotateLeft",
    RotateRight = "RotateRight",
    FlipHorizontal = "FlipHorizontal",
    FlipVertical = "FlipVertical",
    Undo = "Undo",
    Redo = "Redo",
    None = "None",
    Mat = "Mat",
    Bevel = "Bevel",
    Inset = "Inset",
    Hook = "Hook",
    Finetune = "Finetune",
    Filter = "Filter",
    Frame = "Frame",
    Resize = "Resize",
    HorizontalFlip = "HorizontalFlip",
    VerticalFlip = "VerticalFlip",
    Brightness = "Brightness",
    Contrast = "Contrast",
    Hue = "Hue",
    Saturation = "Saturation",
    Opacity = "Opacity",
    Blur = "Blur",
    Exposure = "Exposure",
    Default = "Default",
    Chrome = "Chrome",
    Cold = "Cold",
    Warm = "Warm",
    Grayscale = "Grayscale",
    Sepia = "Sepia",
    Invert = "Invert",
    Straightening = "Straightening"
}
/**
 * An enumeration of available image filter options.
 *
 * @remarks
 * These options can be used with the `applyImageFilter` method of the image editor control to apply filters to an image.
 */
export  enum ImageFilterOption {
    /** Default filter */
    Default = "Default",
    /** Chrome filter */
    Chrome = "Chrome",
    /** Cold filter */
    Cold = "Cold",
    /** Warm filter */
    Warm = "Warm",
    /** Grayscale filter */
    Grayscale = "Grayscale",
    /** Sepia filter */
    Sepia = "Sepia",
    /** Invert filter */
    Invert = "Invert"
}
/**
 * An enumeration of available image finetune options.
 *
 * @remarks
 * These options can be used with the `finetuneImage` method of the image editor control to apply finetuning to an image.
 */
export  enum ImageFinetuneOption {
    /** Adjust the brightness of the image */
    Brightness = "Brightness",
    /** Adjust the contrast of the image */
    Contrast = "Contrast",
    /** Adjust the hue of the image */
    Hue = "Hue",
    /** Adjust the saturation of the image */
    Saturation = "Saturation",
    /** Adjust the exposure of the image */
    Exposure = "Exposure",
    /** Adjust the opacity of the image */
    Opacity = "Opacity",
    /** Adjust the blur of the image */
    Blur = "Blur"
}
/**
 * Specifies the type of arrowhead should be drawn.
 *
 */
export  enum ArrowheadType {
    /** Indicates no arrowhead should be drawn. */
    None = "None",
    /** Indicates a normal triangle-shaped arrowhead should be drawn. */
    Arrow = "Arrow",
    /** Indicates a solid triangle-shaped arrowhead should be drawn. */
    SolidArrow = "SolidArrow",
    /** Indicates a circular-shaped arrowhead should be drawn. */
    Circle = "Circle",
    /** Indicates a solid circular-shaped arrowhead should be drawn. */
    SolidCircle = "SolidCircle",
    /** Indicates a square-shaped arrowhead should be drawn. */
    Square = "Square",
    /** Indicates a solid square-shaped arrowhead should be drawn. */
    SolidSquare = "SolidSquare",
    /** Indicates a bar shaped arrowhead should be drawn. */
    Bar = "Bar"
}
/**
 * An enumeration of available frame options.
 *
 * @remarks
 * These options can be used with the `drawFrame` method of the image editor control to draw frames on an image.
 */
export  enum FrameType {
    /** Represents a no frame. */
    None = "None",
    /** Represents a mat frame. */
    Mat = "Mat",
    /** Represents a bevel frame. */
    Bevel = "Bevel",
    /** Represents a line frame. */
    Line = "Line",
    /** Represents an inset frame. */
    Inset = "Inset",
    /** Represents a hook frame. */
    Hook = "Hook"
}
/**
 * An enumeration of available line options.
 *
 * @remarks
 * These options can be used with the `drawFrame` method of the image editor control to draw frames on an image.
 */
export  enum FrameLineStyle {
    /** Represents a solid line. */
    Solid = "Solid",
    /** Represents a dashed line. */
    Dashed = "Dashed",
    /** Represents a dotted line. */
    Dotted = "Dotted"
}
/**
 * An enumeration representing the type of redaction to be added in the image editor.
 *
 * @enum {string}
 */
export  enum RedactType {
    /** Represents a blur redaction. */
    Blur = "Blur",
    /** Represents a pixelate redaction. */
    Pixelate = "Pixelate"
}
//node_modules/@syncfusion/ej2-image-editor/src/image-editor/action/undo-redo.d.ts
export  class UndoRedo {
    private parent;
    private lowerContext;
    private upperContext;
    private tempCurrSelPoint;
    private undoRedoStep;
    private undoRedoColl;
    private appliedUndoRedoColl;
    private tempUndoRedoColl;
    private tempUndoRedoStep;
    private tempActObj;
    private isPreventing;
    constructor(parent: ImageEditor);
    destroy(): void;
    private addEventListener;
    private removeEventListener;
    private initializeUrPvtProp;
    private undoRedo;
    getModuleName(): string;
    private reset;
    private refreshUrc;
    private updateCurrUrc;
    private triggerActionCompletedEvent;
    private getUndoRedoAction;
    private cancelCropSelection;
    private refreshToolbarActions;
    private applyCurrentChanges;
    private callUndo;
    private callRedo;
    private undo;
    private redo;
    private imageFlip;
    private shapeTransform;
    private updateFreehandDraw;
    private updateFreehandDrawCustomized;
    private updateDelete;
    private updateTextAreaCustomization;
    private updateText;
    private updateTextBox;
    private undoDefault;
    private endUndoRedo;
    private updateUrc;
    private updateUrObj;
    private updateUndoRedo;
    private getZeroZoomObjPointValue;
    private updateObjColl;
    private applyImgTranform;
    private updateUndoRedoStack;
}
//node_modules/@syncfusion/ej2-image-editor/src/image-editor/action/transform.d.ts
export  class Transform {
    private parent;
    private lowerContext;
    private upperContext;
    private zoomBtnHold;
    private tempPanMove;
    private panMove;
    private isReverseFlip;
    private disablePan;
    private currDestPoint;
    private isReverseRotate;
    private flipColl;
    private transCurrObj;
    private prevZoomValue;
    private tempActiveObj;
    private isShape;
    private cropDimension;
    private isPreventSelect;
    private prevResizeCurrObj;
    private preventDownScale;
    private resizedImgAngle;
    private resizeEventCancel;
    constructor(parent: ImageEditor);
    destroy(): void;
    private addEventListener;
    private removeEventListener;
    private transform;
    getModuleName(): string;
    private initTransformPvtVar;
    private reset;
    private rotateImage;
    private rotateEvent;
    private drawRotatedImage;
    private rotateDegree;
    private updateCurrSelectionPoint;
    private flipImage;
    private flipEvent;
    private updateFlipState;
    private horizontalFlip;
    private verticalFlip;
    private updateFlipColl;
    private setDestPointsForFlipState;
    private zoomAction;
    private zoomEvent;
    private disableZoomOutBtn;
    private drawZoomImgToCanvas;
    private rotatedFlip;
    private rotateZoom;
    private autoEnablePan;
    private cropZoom;
    private setZoomDimension;
    private drawPannedImage;
    private panEvent;
    private drawPannImage;
    private resetZoom;
    private performTransformation;
    private updateTransform;
    private rotatePan;
    private limitPan;
    private pan;
    private zoom;
    private getCurrentZoomFactor;
    private setCurrPanRegion;
    private rotate;
    private flip;
    private update;
    private calcMaxDimension;
    private updatePanPoints;
    private resizeImage;
    private resizeCrop;
    private resizeImg;
    private updateResize;
    private resize;
    private resizeEventHandler;
    private straightenImage;
}
//node_modules/@syncfusion/ej2-image-editor/src/image-editor/action/shape.d.ts
export  class Shape {
    private parent;
    private lowerContext;
    private upperContext;
    private textSettings;
    private strokeSettings;
    private keyHistory;
    private prevObj;
    private shapeImg;
    private preventFrameAnnotation;
    private redactType;
    constructor(parent: ImageEditor);
    destroy(): void;
    private addEventListener;
    private removeEventListener;
    private shape;
    getModuleName(): string;
    private initShapePvtProps;
    private reset;
    private drawEllipse;
    private drawLine;
    private drawPath;
    private drawArrow;
    private drawRectangle;
    private drawRedact;
    private drawText;
    private initializeShape;
    private updateWidthHeight;
    private setDimension;
    private getArrowType;
    private drawShape;
    private initShapeProps;
    private setPointCollForLineAndArrow;
    private prevObjColl;
    private drawShapeText;
    private drawShapeImageEvent;
    private setTransformColl;
    private drawShapeTextEvent;
    private initializeTextShape;
    private drawImage;
    private redrawActObj;
    private apply;
    private setCenterPoints;
    private updSelChangeEventArgs;
    private updateShapeChangeEventArgs;
    private addLetter;
    private redrawText;
    private updateTextFromTextArea;
    private iterateObjColl;
    private getSmallestIndex;
    private isIndexInObjColl;
    private updImgRatioForActObj;
    private zoomObjColl;
    private straightenPath;
    private straightenFHD;
    private straightenPoints;
    private straightenShapes;
    private straightenShapePoints;
    private redrawObj;
    private updateCurrentActiveObjPoint;
    private rotateObjColl;
    private rotateLineArrowObj;
    private flipLineArrowObj;
    private lineArrowHorizontalFlip;
    private lineArrowVerticalFlip;
    private getRotDegOfShape;
    private renderTextArea;
    private setTextBoxWidth;
    private setTextBoxHeight;
    private updatePathRatio;
    private stopPathDrawing;
    private findTextTarget;
    private getTextBoxPosition;
    private setFlipState;
    private fileChanged;
    private onLoadImgShape;
    private updateImgCanvas;
    private updateObj;
    private resizeImage;
    private setTextBoxPos;
    private setTextBoxPoints;
    private selectedText;
    private panObjColl;
    private updateFontStyles;
    private applyFontStyle;
    private updateFontStyle;
    private updateArrowRatio;
    private updateArrowSize;
    private updateFontRatio;
    private updateFontSize;
    private updateObjColl;
    private pushActItemIntoObj;
    private clearActObj;
    private refreshActiveObj;
    private applyActObj;
    private getNewShapeId;
    private getNewOrder;
    private getHighestOrder;
    private getLowestOrder;
    private alignTextAreaIntoCanvas;
    private transformTextArea;
    private getTextAreaWidth;
    private getRedactObjDetails;
    private getObjDetails;
    private getFreehandDrawDetails;
    private getShapeSetting;
    private getShapeSettings;
    private getRedactSettings;
    private isPointsInRange;
    private alignRotateFlipColl;
    private popForDefaultTransformedState;
    private popForDefaultFlipState;
    private popForDefaultRotateState;
    private selectShape;
    private deleteShape;
    private getMaxText;
    private getLinePoints;
    private getSlope;
    private getIntercept;
    private setPointCollForShapeRotation;
    private getSquarePointForRotatedShape;
    private updateZOrder;
    private reArrangeObjColl;
    private reorderRedact;
    private updateShapeColl;
    private reUpdateShapeColl;
    private drawAnnotations;
}
//node_modules/@syncfusion/ej2-image-editor/src/image-editor/action/selection.d.ts
export  class Selection {
    private parent;
    private lowerContext;
    private upperContext;
    private diffPoint;
    private oldPoint;
    private isTouch;
    private isObjSelected;
    private isFhdPoint;
    private dragPoint;
    private isShapeInserted;
    private tempActiveObj;
    private isFirstMove;
    private startTouches;
    private tempTouches;
    private currMousePoint;
    private cursorTargetId;
    private isPreventDragging;
    private timer;
    private tempObjColl;
    private dragElement;
    private textRow;
    private mouseDownPoint;
    private previousPoint;
    private zoomType;
    private isInitialTextEdited;
    private dragCanvas;
    private isFhdCustomized;
    private touchEndPoint;
    private panDown;
    private isFhdEditing;
    private currentDrawingShape;
    private initialPrevObj;
    private isCropSelection;
    private isPan;
    private pathAdjustedIndex;
    private touchTime;
    private resizedElement;
    private shapeResizingArgs;
    private shapeMovingArgs;
    private selectionResizingArgs;
    private isImageClarity;
    private isPinching;
    private isSliding;
    private mouseDown;
    private isSliderActive;
    private arrowShape;
    private isPreventShaping;
    private isGrabbing;
    private isTouchDblClick;
    private isMouseDown;
    private isMouseUp;
    private mouseWheel;
    private isTransformedShape;
    constructor(parent: ImageEditor);
    destroy(): void;
    private addEventListener;
    private removeEventListener;
    private selection;
    getModuleName(): string;
    private updatePrivateVariables;
    private reset;
    private performTabAction;
    private selMouseUpEvent;
    private getMouseCursor;
    private setCursor;
    private getHighestOrder;
    drawMaskCircle(x: number, y: number): void;
    private setCursorForActObj;
    private setCursorForPath;
    private setCursorForLineArrow;
    private setCursorForRotatedObject;
    private adjustCursorStylesForRotatedState;
    private getResizeElement;
    private setCursorForFreehandDrawing;
    private setCursorFromObj;
    private isInside;
    private preventResizing;
    private updateActivePoint;
    private isShapeDragOut;
    private isObjOutsideImg;
    private triggerShapeChange;
    private setDragWidth;
    private setDragHeight;
    private limitDrag;
    private isMouseOutsideImg;
    private preventDraggingInvertly;
    private preventTextDraggingInvertly;
    private preventInverseResize;
    private getScaleRatio;
    private findImageRatio;
    private revertResizing;
    private performSEResize;
    private performNWResize;
    private isCustomSelection;
    private revertCustomSelection;
    private revertPoints;
    private updateNWPoints;
    private updateNPoints;
    private updateNEPoints;
    private updateWPoints;
    private updateEPoints;
    private updateSWPoints;
    private updateSPoints;
    private updateSEPoints;
    private resizeImg;
    private adjustNWPoints;
    private adjustNEPoints;
    private adjustSWPoints;
    private adjustSEPoints;
    private adjustRotationPoints;
    private rotatePoints;
    private setResizedValue;
    private getResizeDirection;
    private getResizedElement;
    private updateCursorStyles;
    private updateCursorStylesForLineArrow;
    private updateCursorStylesForPath;
    private setTextSelection;
    private setActivePoint;
    private mouseDownEventHandler;
    private getImagePoints;
    private clickEvent;
    private mouseMoveEventHandler;
    private mouseUpEventHandler;
    private adjustActObjForLineArrow;
    private updPtCollForShpRot;
    private setXYPoints;
    private getCurrentIndex;
    private isShapeClick;
    private isShapeTouch;
    private isFreehandDrawTouch;
    private applyObj;
    private applyCurrShape;
    private canvasMouseDownHandler;
    private canvasMouseMoveHandler;
    private canvasMouseUpHandler;
    private touchStartHandler;
    private unwireEvent;
    private keyDownEventHandler;
    private performEnterAction;
    private focusRatioBtn;
    private isKeyBoardCrop;
    private beforeSaveEvent;
    private handleScroll;
    private textKeyDown;
    private clearSelection;
    private setDragDirection;
    private calcShapeRatio;
    private getScale;
    private findTarget;
    private findTargetObj;
    private shapeEvent;
    private upgradeImageQuality;
    private applyTransformToImg;
    private targetTouches;
    private calculateScale;
    private getDistance;
    private redrawShape;
    private setTimer;
    private applyCurrActObj;
    private getCurrentFlipState;
    private setTextBoxStylesToActObj;
    private rgbToHex;
    private padLeft;
    private deleteItem;
    private updateFreehandDrawColorChange;
    private updatePrevShapeSettings;
    private updateTransColl;
    private getArrowType;
    private getRectanglePoints;
    private getTransRotationPoint;
    private getNumTextValue;
    private isValueUpdated;
    private allowOutofBound;
}
//node_modules/@syncfusion/ej2-image-editor/src/image-editor/action/freehand-draw.d.ts
export  class FreehandDrawing {
    private parent;
    private lowerContext;
    private upperContext;
    private fhdObj;
    private isFreehandDrawing;
    private freehandDownPoint;
    private isFreehandPointMoved;
    private fhdHovIdx;
    private pointCounter;
    private selPointColl;
    private penStrokeWidth;
    private currFHDIdx;
    private selPoints;
    private dummyPoints;
    private fhdSelID;
    private tempFHDStyles;
    private fhdSelIdx;
    private straightenPoint;
    private prevStraightenObj;
    private straightenPointAngle;
    private isMasking;
    constructor(parent: ImageEditor);
    destroy(): void;
    private addEventListener;
    private removeEventListener;
    private draw;
    private updateFhdPvtVar;
    private reset;
    getModuleName(): string;
    private hoverFhd;
    private freehandDownHandler;
    private freehandUpHandler;
    private freehandMoveHandler;
    private processPoint;
    private calcCurveCP;
    private point;
    private startDraw;
    private pointVelocity;
    private distanceTo;
    private drawCurve;
    private bezierLength;
    private bezierPoint;
    private drawArc;
    private freehandRedraw;
    private getSqPtFD;
    private applyPenDraw;
    private applyFhd;
    private cancelFhd;
    private selectFhd;
    private deleteFhd;
    private zoomX;
    private zoomY;
    private zoomFHDColl;
    private updateFHDCurPts;
    private rotateFhdColl;
    private flipFHDColl;
    private pointsHorizontalFlip;
    private pointsVerticalFlip;
    private updateFHDColl;
    private panFHDColl;
    private freeHandDraw;
    private isFHDIdx;
    private updateCropPtsForSel;
    private triggerShapeChanging;
    private setCenterSelPoints;
}
//node_modules/@syncfusion/ej2-image-editor/src/image-editor/action/filter.d.ts
export  class Filter {
    private parent;
    private lowerContext;
    private adjustmentLevel;
    private tempAdjustmentLevel;
    private adjustmentValue;
    private isBrightnessAdjusted;
    private bevelFilter;
    private tempAdjVal;
    private tempFilVal;
    constructor(parent: ImageEditor);
    destroy(): void;
    private addEventListener;
    private removeEventListener;
    private filter;
    private updatePrivateVariables;
    getModuleName(): string;
    private reset;
    private updateFinetunes;
    private initFilter;
    private updateAdj;
    private setTempFilterValue;
    private getDefaultCurrentFilter;
    private getFilterValue;
    private getSaturationFilterValue;
    private setFilterAdj;
    private setFilter;
    private setAdjustment;
    private setFilterValue;
    private setSaturationFilterValue;
    private finetuneImage;
    private setCurrAdjValue;
    private getCurrentObj;
    private getValFromPercentage;
    private getValFromLength;
    private parseFilterString;
    private applyFilter;
    private blur;
    private brightness;
    private contrast;
    private grayscale;
    private hueRotate;
    private invert;
    private opacity;
    private saturate;
    private sepia;
}
//node_modules/@syncfusion/ej2-image-editor/src/image-editor/action/export.d.ts
export  class Export {
    private parent;
    private lowerContext;
    private imageQuality;
    constructor(parent: ImageEditor);
    destroy(): void;
    private addEventListener;
    private removeEventListener;
    private export;
    getModuleName(): string;
    private updatePvtVar;
    private exportImg;
    private beforeSaveEvent;
    private toSVGImg;
    private toBlobFn;
    private exportToCanvas;
    private drawAnnotation;
    private drawShape;
    private drawPen;
    private downScaleImgCanvas;
    private updateFrame;
    private downloadImg;
    private exportTransformedImage;
    private exportRotate;
    private exportFlip;
    private updateSaveContext;
    private setMaxDim;
}
//node_modules/@syncfusion/ej2-image-editor/src/image-editor/action/draw.d.ts
export  class Draw {
    private parent;
    private lowerContext;
    private upperContext;
    private isInitialLoading;
    private fileName;
    private fileType;
    private isErrorImage;
    private initZoomValue;
    private isShapeTextInserted;
    private currSelPoint;
    private isRotateZoom;
    private tempStrokeSettings;
    private tempTextSettings;
    private tempAdjValue;
    private tempFilter;
    private tempUndoRedoStep;
    private tempFreehandCounter;
    private tempCurrFhdIndex;
    private tempZoomFactor;
    private isCancelAction;
    private rotatedFlipCropSel;
    private prevActObj;
    private dx;
    private dy;
    private startCircleIntersectX1;
    private startCircleIntersectY1;
    private endCircleIntersectX1;
    private endCircleIntersectY1;
    private squareEndIntersectX1;
    private squareEndIntersectY1;
    private squareStartIntersectX1;
    private squareStartIntersectY1;
    private zoomCrop;
    private isImageEdited;
    private openURL;
    private inputElem;
    private isFileChanged;
    private isNewPath;
    private isResizeSelect;
    private arrowDimension;
    private origDim;
    private isImageApply;
    private straightenActObj;
    private straightenInitZoom;
    private imgCanvasPoints;
    private straightenDestPoints;
    private isCropSelect;
    private isDownScale;
    private tempStraightenDestPoints;
    private preventStraightening;
    private tempObjColl;
    private tempPointColl;
    private imageBackgroundColor;
    private tempStrokeWidth;
    private allowRedactStraighten;
    private isNullExtension;
    private isRedactStraighten;
    constructor(parent: ImageEditor);
    destroy(): void;
    private addEventListener;
    private removeEventListener;
    private draw;
    getModuleName(): string;
    private updatePrivateVariables;
    private reset;
    private redrawDownScale;
    private updateFinetune;
    private drawImage;
    private drawObject;
    private rotateContext;
    private setDragLimit;
    private drawCropRatio;
    private adjToCenter;
    private enlargeToImg;
    private updateActiveObject;
    private drawOuterSelection;
    private drawArrowHead;
    private drawShapeObj;
    private updatePoints;
    private updateWidthHeight;
    private drawCornerCircles;
    private drawCenterCircles;
    private drawRotationArcLine;
    private drawSquareLines;
    private drawRoundedRect;
    private drawSelection;
    private shapeCircle;
    private shapeLine;
    private manipulateSaveCtx;
    private arrow;
    private arrowSolid;
    private arrowSquareStart;
    private arrowSquareEnd;
    private arrowCircle;
    private arrowCircleSolid;
    private arrowBar;
    private shapeImage;
    private shapeText;
    private updateActPoint;
    private rotateImage;
    private rotateText;
    private textFlipDegree;
    private clearOuterCanvas;
    private setDestPoints;
    private updateCurrTransState;
    private currTransState;
    private setTransformColl;
    private setTransform;
    private drawImgToCanvas;
    private renderImage;
    private imageOnLoad;
    private errorLoading;
    private updateBaseImgCanvas;
    private updateCanvas;
    private resetFrameZoom;
    private performCancel;
    private cancelItems;
    private cancelPen;
    private cancelText;
    private cancelShape;
    private cancelSelection;
    private updateCropSelObj;
    private updateCropSelection;
    private updateFlipPan;
    private select;
    private drawNewSelection;
    private updateSelectionInsert;
    private drawCustomSelection;
    private adjToStraighten;
    private adjActObj;
    private callUpdateCurrTransState;
    private resetPanPoints;
    private setClientTransDim;
    private redrawImgWithObj;
    private setCurrentObj;
    private drawCropSelectionImage;
    private performPointZoom;
    private panToPoint;
    private adjustPanning;
    private panToSel;
    private drawZoomPanImage;
    private openNewImage;
    private getImageSizeFromURL;
    private dlgBtnClick;
    private dlgCloseBtnClick;
    private applyDialogOption;
    private showDialogPopup;
    private restoreOldImage;
    private handleFileSize;
    private openImageData;
    private getImageSize;
    private open;
    private getInitialLoaded;
    private getFileExtensionFromURL;
    private fileSelect;
    private checkToolbarTemplate;
    private moveToSelectionRange;
    private isSelectionBiggerThanCanvas;
    private isSelectionOutsideCanvas;
    private downScaleImgCanvas;
    private downScale;
    private drawImgToCtx;
    private getFrameColor;
    private applyFrame;
    private triggerFrameChange;
    private setFrameObj;
    private zoomToSel;
    private isDestPointSmall;
    private calcStraightenedPoints;
    private performDummyZoom;
    private setZoomPan;
    private updateImgCanvasPoints;
    private isLinesIntersect;
    private isSelOutsideImg;
    private calcTriangleArea;
    private checkPointPosition;
    private getImagePoints;
    private doIntersect;
    private initiation;
    private onSegment;
    private isInsideRect;
    private setDestForStraighten;
    private drawRedact;
}
//node_modules/@syncfusion/ej2-image-editor/src/image-editor/action/crop.d.ts
export  class Crop {
    private parent;
    private lowerContext;
    private upperContext;
    private prevCropCurrObj;
    private croppedDegree;
    private cropDestPoints;
    private tempFlipPanPoint;
    private isPreventScaling;
    private isInitCrop;
    private isTransformCrop;
    constructor(parent: ImageEditor);
    destroy(): void;
    private addEventListener;
    private removeEventListener;
    private cropping;
    getModuleName(): string;
    private updateCropPvtVar;
    private reset;
    private cropImg;
    private adjustStraightenForShapes;
    private updateCropObj;
    private rotateCrop;
    private revertTransform;
    private updateFlipState;
    private resetZoom;
    private flipCrop;
    private cropObjColl;
    private cropPointCollection;
    private cropFreehandDrawColl;
    private resetAnnotations;
    private setCurrSelPoints;
    private panToSelRangle;
    private cropCircle;
    private getCurrCropState;
    private updateRotatePan;
    private crop;
    private cropEvent;
    private updateUndoRedoColl;
    private resizeWrapper;
    private calcRatio;
    private getCurrFlipState;
}
 }
export namespace inplaceEditor { 

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

//node_modules/@syncfusion/ej2-inputs/src/uploader/uploader.d.ts
export  type DropEffect = 'Copy' | 'Move' | 'Link' | 'None' | 'Default';
export  class FilesProp extends base.ChildProperty<FilesProp> {
    /**
     * Specifies the name of the file
     *
     * @default ''
     */
    name: string;
    /**
     * Specifies the size of the file
     *
     * @default null
     */
    size: number;
    /**
     * Specifies the type of the file
     *
     * @default ''
     */
    type: string;
}
export  class ButtonsProps extends base.ChildProperty<ButtonsProps> {
    /**
     * Specifies the text or html content to browse button
     *
     * @default 'Browse...'
     */
    browse: string | HTMLElement;
    /**
     * Specifies the text or html content to upload button
     *
     * @default 'Upload'
     */
    upload: string | HTMLElement;
    /**
     * Specifies the text or html content to clear button
     *
     * @default 'Clear'
     */
    clear: string | HTMLElement;
}
export  class AsyncSettings extends base.ChildProperty<AsyncSettings> {
    /**
     * Specifies the URL of save action that will receive the upload files and save in the server.
     * The save action type must be POST request and define the argument as same input name used to render the component.
     * The upload operations could not perform without this property.
     *
     * @default ''
     */
    saveUrl: string;
    /**
     * Specifies the URL of remove action that receives the file information and handle the remove operation in server.
     * The remove action type must be POST request and define “removeFileNames” attribute to get file information that will be removed.
     * This property is optional.
     *
     * @default ''
     */
    removeUrl: string;
    /**
     * Specifies the chunk size to split the large file into chunks, and upload it to the server in a sequential order.
     * If the chunk size property has value, the uploader enables the chunk upload by default.
     * It must be specified in bytes value.
     *
     * > For more information, refer to the [chunk upload](../../uploader/chunk-upload/) section from the documentation.
     *
     * @default 0
     */
    chunkSize: number;
    /**
     * Specifies the number of retries that the uploader can perform on the file failed to upload.
     * By default, the uploader set 3 as maximum retries. This property must be specified to prevent infinity looping.
     *
     * @default 3
     */
    retryCount: number;
    /**
     * Specifies the delay time in milliseconds that the automatic retry happens after the delay.
     *
     * @default 500
     */
    retryAfterDelay: number;
}
export interface FileInfo {
    /**
     * Returns the upload file name.
     */
    name: string;
    /**
     * Returns the details about upload file.
     *
     */
    rawFile: string | Blob;
    /**
     * Returns the size of file in bytes.
     */
    size: number;
    /**
     * Returns the status of the file.
     */
    status: string;
    /**
     * Returns the MIME type of file as a string. Returns empty string if the file’s type is not determined.
     */
    type: string;
    /**
     * Returns the list of validation errors (if any).
     */
    validationMessages: ValidationMessages;
    /**
     * Returns the current state of the file such as Failed, Canceled, Selected, Uploaded, or Uploading.
     */
    statusCode: string;
    /**
     * Returns where the file selected from, to upload.
     */
    fileSource?: string;
    /**
     * Returns the respective file list item.
     */
    list?: HTMLElement;
    /**
     * Returns the input element mapped with file list item.
     */
    input?: HTMLInputElement;
    /**
     * Returns the unique upload file name ID.
     */
    id?: string;
}
export interface MetaData {
    chunkIndex: number;
    blob: Blob | string;
    file: FileInfo;
    start: number;
    end: number;
    retryCount: number;
    request: base.Ajax;
}
export interface ValidationMessages {
    /**
     * Returns the minimum file size validation message, if selected file size is less than specified minFileSize property.
     */
    minSize?: string;
    /**
     * Returns the maximum file size validation message, if selected file size is less than specified maxFileSize property.
     */
    maxSize?: string;
}
export interface SelectedEventArgs {
    /**
     * Returns the original event arguments.
     */
    event: MouseEvent | TouchEvent | DragEvent | ClipboardEvent;
    /**
     * Defines whether the current action can be prevented.
     */
    cancel: boolean;
    /**
     * Returns the list of selected files.
     */
    filesData: FileInfo[];
    /**
     * Determines whether the file list generates based on the modified data.
     */
    isModified: boolean;
    /**
     * Specifies the modified files data to generate the file items. The argument depends on `isModified` argument.
     */
    modifiedFilesData: FileInfo[];
    /**
     * Specifies the step value to the progress bar.
     */
    progressInterval: string;
    /**
     * Specifies whether the file selection has been canceled
     */
    isCanceled?: boolean;
    /**
     * Set the current request header to the XMLHttpRequest instance.
     *
     */
    currentRequest?: {
        [key: string]: string;
    }[];
    /**
     * Defines the additional data in key and value pair format that will be submitted to the upload action.
     */
    customFormData: {
        [key: string]: Object;
    }[];
}
export interface BeforeRemoveEventArgs {
    /**
     * Defines whether the current action can be prevented.
     */
    cancel: boolean;
    /**
     * Defines the additional data with key and value pair format that will be submitted to the remove action.
     *
     */
    customFormData: {
        [key: string]: Object;
    }[];
    /**
     * Returns the XMLHttpRequest instance that is associated with remove action.
     *
     */
    currentRequest?: {
        [key: string]: string;
    }[];
}
export interface RemovingEventArgs {
    /**
     * Defines whether the current action can be prevented.
     */
    cancel: boolean;
    /**
     * Defines the additional data with key and value pair format that will be submitted to the remove action.
     *
     */
    customFormData: {
        [key: string]: Object;
    }[];
    /**
     * Returns the original event arguments.
     */
    event: MouseEvent | TouchEvent | base.KeyboardEventArgs;
    /**
     * Returns the list of files’ details that will be removed.
     */
    filesData: FileInfo[];
    /**
     * Returns the XMLHttpRequest instance that is associated with remove action.
     *
     */
    currentRequest?: XMLHttpRequest;
    /**
     * Defines whether the selected raw file send to server remove action.
     * Set true to send raw file.
     * Set false to send file name only.
     */
    postRawFile?: boolean;
}
export interface ClearingEventArgs {
    /**
     * Defines whether the current action can be prevented.
     */
    cancel: boolean;
    /**
     * Returns the list of files that will be cleared from the FileList.
     */
    filesData: FileInfo[];
}
export interface BeforeUploadEventArgs {
    /**
     * Defines whether the current action can be prevented.
     */
    cancel: boolean;
    /**
     * Defines the additional data in key and value pair format that will be submitted to the upload action.
     *
     */
    customFormData: {
        [key: string]: Object;
    }[];
    /**
     * Returns the XMLHttpRequest instance that is associated with upload action.
     *
     */
    currentRequest?: {
        [key: string]: string;
    }[];
}
export interface UploadingEventArgs {
    /**
     * Returns the list of files that will be uploaded.
     */
    fileData: FileInfo;
    /**
     * Defines the additional data in key and value pair format that will be submitted to the upload action.
     *
     * @deprecated
     */
    customFormData: {
        [key: string]: Object;
    }[];
    /**
     * Defines whether the current action can be prevented.
     */
    cancel: boolean;
    /**
     * Returns the chunk size in bytes if the chunk upload is enabled.
     */
    chunkSize?: number;
    /**
     * Returns the index of current chunk if the chunk upload is enabled.
     */
    currentChunkIndex?: number;
    /**
     * Returns the XMLHttpRequest instance that is associated with upload action.
     *
     * @deprecated
     */
    currentRequest?: XMLHttpRequest;
}
export interface ProgressEventArgs {
    /**
     * Returns the original event arguments.
     */
    e?: object;
    /**
     * Returns the details about upload file.
     */
    file?: FileInfo;
    /**
     * Returns the upload event operation.
     */
    operation?: string;
}
export interface UploadChangeEventArgs {
    /**
     * Returns the list of files that will be cleared from the FileList.
     *
     */
    files?: FileInfo[];
}
export interface FailureEventArgs extends SuccessEventArgs {
}
export interface SuccessEventArgs {
    /**
     * Returns the original event arguments.
     */
    e?: object;
    /**
     * Returns the details about upload file.
     */
    file?: FileInfo;
    /**
     * Returns the upload status.
     */
    statusText?: string;
    /**
     * Returns the upload event operation.
     */
    operation: string;
    /**
     * Returns the upload event operation.
     */
    response?: ResponseEventArgs;
    /**
     * Returns the upload chunk index.
     */
    chunkIndex?: number;
    /**
     * Returns the upload chunk size.
     */
    chunkSize?: number;
    /**
     * Returns the total chunk size.
     */
    totalChunk?: number;
    /**
     * Returns the original event arguments.
     */
    event?: object;
}
export interface ResponseEventArgs {
    headers?: string;
    readyState?: object;
    statusCode?: object;
    statusText?: string;
    withCredentials?: boolean;
}
export interface CancelEventArgs {
    /**
     * Defines whether the current action can be prevented.
     */
    cancel: boolean;
    /**
     * Returns the original event arguments.
     */
    event: ProgressEventInit;
    /**
     * Returns the file details that will be canceled.
     */
    fileData: FileInfo;
    /**
     * Defines the additional data in key and value pair format that will be submitted when the upload action is canceled.
     *
     */
    customFormData: {
        [key: string]: Object;
    }[];
    /**
     * Defines the additional data in key and value pair format that will be submitted on the header when the upload action is canceled.
     *
     */
    currentRequest?: {
        [key: string]: string;
    }[];
}
export interface PauseResumeEventArgs {
    /**
     * Returns the original event arguments.
     */
    event: Event;
    /**
     * Returns the file data that is Paused or Resumed.
     */
    file: FileInfo;
    /**
     * Returns the total number of chunks.
     */
    chunkCount: number;
    /**
     * Returns the index of chunk that is Paused or Resumed.
     */
    chunkIndex: number;
    /**
     * Returns the chunk size value in bytes.
     */
    chunkSize: number;
}
export interface ActionCompleteEventArgs {
    /**
     * Return the selected file details.
     */
    fileData: FileInfo[];
}
export interface RenderingEventArgs {
    /**
     * Return the current file item element.
     */
    element: HTMLElement;
    /**
     * Return the current rendering file item data as File object.
     */
    fileInfo: FileInfo;
    /**
     * Return the index of the file item in the file list.
     */
    index: number;
    /**
     * Return whether the file is preloaded
     */
    isPreload: boolean;
}
export interface FileListRenderingEventArgs {
    /**
     * Return the current file item element.
     */
    element: HTMLElement;
    /**
     * Return the current rendering file item data as File object.
     */
    fileInfo: FileInfo;
    /**
     * Return the index of the file item in the file list.
     */
    index: number;
    /**
     * Return whether the file is preloaded
     */
    isPreload: boolean;
}
/**
 * The uploader component allows to upload images, documents, and other files from local to server.
 * ```html
 * <input type='file' name='images[]' id='upload'/>
 * ```
 * ```typescript
 * <script>
 *   var uploadObj = new Uploader();
 *   uploadObj.appendTo('#upload');
 * </script>
 * ```
 */
export  class Uploader extends base.Component<HTMLInputElement> implements base.INotifyPropertyChanged {
    private initialAttr;
    private uploadWrapper;
    private browseButton;
    private listParent;
    private sortFilesList;
    private actionButtons;
    private uploadButton;
    private clearButton;
    private pauseButton;
    private formElement;
    private dropAreaWrapper;
    private filesEntries;
    private uploadedFilesData;
    private base64String;
    private currentRequestHeader;
    private customFormDatas;
    private dropZoneElement;
    private l10n;
    private preLocaleObj;
    private uploadTemplateFn;
    private keyboardModule;
    private progressInterval;
    private progressAnimation;
    private isForm;
    private allTypes;
    private keyConfigs;
    private localeText;
    private pausedData;
    private uploadMetaData;
    private tabIndex;
    private btnTabIndex;
    private disableKeyboardNavigation;
    private count;
    private actionCompleteCount;
    private flag;
    private selectedFiles;
    private browserName;
    private uploaderOptions;
    private uploaderName;
    private fileStreams;
    private newFileRef;
    private isFirstFileOnSelection;
    private dragCounter;
    private isPreloadFiles;
    /**
     * Get the file item(li) which are shown in file list.
     *
     * @private
     */
    fileList: HTMLElement[];
    /**
     * Get the data of files which are shown in file list.
     *
     * @private
     */
    filesData: FileInfo[];
    /**
     * Configures the save and remove URL to perform the upload operations in the server asynchronously.
     *
     * @default { saveUrl: '', removeUrl: '' }
     */
    asyncSettings: AsyncSettingsModel;
    /**
     * By default, the file uploader component is processing the multiple files simultaneously.
     * If sequentialUpload property is enabled, the file upload component performs the upload one after the other.
     *
     * @default false
     */
    sequentialUpload: boolean;
    /**
     * You can add the additional html attributes such as disabled, value etc., to the element.
     * If you configured both property and equivalent html attribute then the component considers the property value.
     *
     * {% codeBlock src='uploader/htmlAttributes/index.md' %}{% endcodeBlock %}
     *
     * @default {}
     */
    htmlAttributes: {
        [key: string]: string;
    };
    /**
     * Specifies the CSS class name that can be appended with root element of the uploader.
     * One or more custom CSS classes can be added to a uploader.
     *
     * @default ''
     */
    cssClass: string;
    /**
     * Specifies Boolean value that indicates whether the component is enabled or disabled.
     * The uploader component does not allow to interact when this property is disabled.
     *
     * @default true
     */
    enabled: boolean;
    /**
     * Specifies the HTML string that used to customize the content of each file in the list.
     *
     * > For more information, refer to the [template](../../uploader/template/) section from the documentation.
     *
     * @default null
     * @aspType string
     */
    template: string | Function;
    /**
     * 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;
    /**
     * Specifies Boolean value that indicates whether to prevent the cross site scripting code in filename or not.
     * The uploader component removes the cross-site scripting code or functions from the filename and shows the validation error message to the user when enableHtmlSanitizer is true.
     *
     * @default true
     */
    enableHtmlSanitizer: boolean;
    /**
     * You can customize the default text of “browse, clear, and upload” buttons with plain text or HTML elements.
     * The buttons’ text can be customized from localization also. If you configured both locale and buttons property,
     * the uploader component considers the buttons property value.
     * {% codeBlock src='uploader/buttons/index.md' %}{% endcodeBlock %}
     *
     * @default { browse : 'Browse...', clear: 'Clear', upload: 'Upload' }
     */
    buttons: ButtonsPropsModel;
    /**
     * Specifies the extensions of the file types allowed in the uploader component and pass the extensions
     * with comma separators. For example,
     * if you want to upload specific image files,  pass allowedExtensions as “.jpg,.png”.
     *
     * @default ''
     */
    allowedExtensions: string;
    /**
     * Specifies the minimum file size to be uploaded in bytes.
     * The property used to make sure that you cannot upload empty files and small files.
     *
     * @default 0
     */
    minFileSize: number;
    /**
     * Specifies the maximum allowed file size to be uploaded in bytes.
     * The property used to make sure that you cannot upload too large files.
     *
     * @default 30000000
     */
    maxFileSize: number;
    /**
     * Specifies the drop target to handle the drag-and-drop upload.
     * By default, the component creates wrapper around file input that will act as drop target.
     *
     * > For more information, refer to the [drag-and-drop](../../uploader/file-source/#drag-and-drop) section from the documentation.
     *
     * @default null
     */
    dropArea: string | HTMLElement;
    /**
     * Specifies the list of files that will be preloaded on rendering of uploader component.
     * The property used to view and remove the uploaded files from server. By default, the files are configured with
     * uploaded successfully state. The following properties are mandatory to configure the preload files:
     * * Name
     * * Size
     * * Type
     *
     * {% codeBlock src='uploader/files/index.md' %}{% endcodeBlock %}
     *
     * @default { name: '', size: null, type: '' }
     */
    files: FilesPropModel[];
    /**
     * Specifies a Boolean value that indicates whether the default file list can be rendered.
     * The property used to prevent default file list and design own template for file list.
     *
     * @default true
     */
    showFileList: boolean;
    /**
     * Specifies a Boolean value that indicates whether the folder of files can be browsed in the uploader component.
     *
     * > When enabled this property, it allows only files of folder to select or drop to upload and
     * it cannot be allowed to select or drop files.
     *
     * @default false
     */
    directoryUpload: boolean;
    /**
     * Specifies the drag operation effect to the uploader component. Possible values are Copy , Move, Link and None.
     *
     * By default, the uploader component works based on the browser drag operation effect.
     *
     * @default 'Default'
     */
    dropEffect: DropEffect;
    /**
     * Triggers when the component is created.
     *
     * @event created
     */
    created: base.EmitType<Object>;
    /**
     * Triggers after all the selected files has processed to upload successfully or failed to server.
     *
     * @event actionComplete
     */
    actionComplete: base.EmitType<ActionCompleteEventArgs>;
    /**
     * DEPRECATED-Triggers before rendering each file item from the file list in a page.
     * It helps to customize specific file item structure.
     *
     * @event rendering
     */
    rendering: base.EmitType<RenderingEventArgs>;
    /**
     * Triggers when the upload process before. This event is used to add additional parameter with upload request.
     *
     * @event beforeUpload
     */
    beforeUpload: base.EmitType<BeforeUploadEventArgs>;
    /**
     * Triggers before rendering each file item from the file list in a page.
     * It helps to customize specific file item structure.
     *
     * @event fileListRendering
     */
    fileListRendering: base.EmitType<FileListRenderingEventArgs>;
    /**
     * Triggers after selecting or dropping the files by adding the files in upload queue.
     *
     * @event selected
     */
    selected: base.EmitType<SelectedEventArgs>;
    /**
     * Triggers when the upload process gets started. This event is used to add additional parameter with upload request.
     *
     * @event uploading
     */
    uploading: base.EmitType<UploadingEventArgs>;
    /**
     * Triggers when the AJAX request gets success on uploading files or removing files.
     *
     * <table>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * Event arguments<br/></td><td colSpan=1 rowSpan=1>
     * Description<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * event<br/></td><td colSpan=1 rowSpan=1>
     * base.Ajax progress event arguments.<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * file<br/></td><td colSpan=1 rowSpan=1>
     * File information which is uploaded/removed.<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * name<br/></td><td colSpan=1 rowSpan=1>
     * Name of the event<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * operation<br/></td><td colSpan=1 rowSpan=1>
     * It indicates the success of the operation whether its uploaded or removed<br/></td></tr>
     * </table>
     *
     * @event success
     */
    success: base.EmitType<Object>;
    /**
     * Triggers when the AJAX request fails on uploading or removing files.
     *
     * <table>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * Event arguments<br/></td><td colSpan=1 rowSpan=1>
     * Description<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * event<br/></td><td colSpan=1 rowSpan=1>
     * base.Ajax progress event arguments.<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * file<br/></td><td colSpan=1 rowSpan=1>
     * File information which is failed from upload/remove.<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * name<br/></td><td colSpan=1 rowSpan=1>
     * Name of the event<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * operation<br/></td><td colSpan=1 rowSpan=1>
     * It indicates the failure of the operation whether its upload or remove<br/></td></tr>
     * </table>
     *
     * @event failure
     */
    failure: base.EmitType<Object>;
    /**
     * Triggers on removing the uploaded file. The event used to get confirm before removing the file from server.
     *
     * @event removing
     */
    removing: base.EmitType<RemovingEventArgs>;
    /**
     * Triggers on remove the uploaded file. The event used to get confirm before remove the file from server.
     *
     * @event beforeRemove
     */
    beforeRemove: base.EmitType<BeforeRemoveEventArgs>;
    /**
     * Triggers before clearing the items in file list when clicking “clear”.
     *
     * @event clearing
     */
    clearing: base.EmitType<ClearingEventArgs>;
    /**
     * Triggers when uploading a file to the server using the AJAX request.
     *
     * <table>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * Event arguments<br/></td><td colSpan=1 rowSpan=1>
     * Description<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * event<br/></td><td colSpan=1 rowSpan=1>
     * base.Ajax progress event arguments.<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * file<br/></td><td colSpan=1 rowSpan=1>
     * File information which is uploading to server.<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * name<br/></td><td colSpan=1 rowSpan=1>
     * Name of the event<br/></td></tr>
     * </table>
     *
     * @event progress
     */
    progress: base.EmitType<Object>;
    /**
     * Triggers when changes occur in uploaded file list by selecting or dropping files.
     *
     * <table>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * Event arguments<br/></td><td colSpan=1 rowSpan=1>
     * Description<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * file<br/></td><td colSpan=1 rowSpan=1>
     * File information which is successfully uploaded to server or removed in server.<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * name<br/></td><td colSpan=1 rowSpan=1>
     * Name of the event<br/></td></tr>
     * </table>
     *
     * @event change
     */
    change: base.EmitType<Object>;
    /**
     * Fires when the chunk file uploaded successfully.
     *
     * <table>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * Event arguments<br/></td><td colSpan=1 rowSpan=1>
     * Description<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * chunkIndex<br/></td><td colSpan=1 rowSpan=1>
     * Returns current chunk index.<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * chunkSize<br/></td><td colSpan=1 rowSpan=1>
     * Returns the size of the chunk file.<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * file<br/></td><td colSpan=1 rowSpan=1>
     * File information which is uploading to server.<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * name<br/></td><td colSpan=1 rowSpan=1>
     * Name of the event<br/></td></tr>
     * </table>
     *
     * @event chunkSuccess
     */
    chunkSuccess: base.EmitType<Object>;
    /**
     * Fires if the chunk file failed to upload.
     *
     * <table>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * Event arguments<br/></td><td colSpan=1 rowSpan=1>
     * Description<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * chunkIndex<br/></td><td colSpan=1 rowSpan=1>
     * Returns current chunk index.<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * chunkSize<br/></td><td colSpan=1 rowSpan=1>
     * Returns the size of the chunk file.<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * file<br/></td><td colSpan=1 rowSpan=1>
     * File information which is uploading to server.<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * name<br/></td><td colSpan=1 rowSpan=1>
     * Name of the event<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * totalChunk<br/></td><td colSpan=1 rowSpan=1>
     * Returns the total chunk count<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * cancel<br/></td><td colSpan=1 rowSpan=1>
     * Prevent triggering of failure event when we pass true to this attribute<br/></td></tr>
     * </table>
     *
     * @event chunkFailure
     */
    chunkFailure: base.EmitType<Object>;
    /**
     * Fires when every chunk upload process gets started. This event is used to add additional parameter with upload request.
     *
     * @event chunkUploading
     */
    chunkUploading: base.EmitType<UploadingEventArgs>;
    /**
     * Fires if cancel the chunk file uploading.
     *
     * @event canceling
     */
    canceling: base.EmitType<CancelEventArgs>;
    /**
     * Fires if pause the chunk file uploading.
     *
     * @event pausing
     */
    pausing: base.EmitType<PauseResumeEventArgs>;
    /**
     * Fires if resume the paused chunk file upload.
     *
     * @event resuming
     */
    resuming: base.EmitType<PauseResumeEventArgs>;
    /**
     * Triggers when change the Uploader value.
     *
     * @param {UploaderModel} options - Specifies the Uploader model.
     * @param {string | HTMLInputElement} element - Specifies the element to render as component.
     * @private
     */
    constructor(options?: UploaderModel, element?: string | HTMLInputElement);
    /**
     * Calls internally if any of the property value is changed.
     *
     * @param {UploaderModel} newProp - Returns the dynamic property value of the component.
     * @param {UploaderModel} oldProp - Returns the previous property value of the component.
     * @returns {void}
     * @private
     */
    onPropertyChanged(newProp: UploaderModel, oldProp: UploaderModel): void;
    private setLocalizedTexts;
    private getKeyValue;
    private updateFileList;
    private reRenderFileList;
    protected preRender(): void;
    private formRendered;
    protected getPersistData(): string;
    /**
     * Return the module name of the component.
     *
     * @returns {string} Returns the component name.
     */
    getModuleName(): string;
    private updateDirectoryAttributes;
    /**
     * To Initialize the control rendering
     *
     * @private
     * @returns {void}
     */
    render(): void;
    private renderBrowseButton;
    private renderActionButtons;
    private serverActionButtonsEventBind;
    private wireActionButtonEvents;
    private unwireActionButtonEvents;
    private removeActionButtons;
    private renderButtonTemplates;
    private initializeUpload;
    private renderPreLoadFiles;
    private checkActionButtonStatus;
    private setDropArea;
    private updateDropArea;
    private createDropTextHint;
    private updateHTMLAttrToElement;
    private updateHTMLAttrToWrapper;
    private setMultipleSelection;
    private checkAutoUpload;
    private sequenceUpload;
    private setCSSClass;
    private wireEvents;
    private unWireEvents;
    private resetForm;
    private keyActionHandler;
    private getCurrentMetaData;
    private removeFocus;
    private browseButtonClick;
    private uploadButtonClick;
    private clearButtonClick;
    private bindDropEvents;
    private unBindDropEvents;
    private onDragEnter;
    private onDragLeave;
    private dragHover;
    private dropElement;
    private onPasteFile;
    private getSelectedFiles;
    private removeFiles;
    private removeFilesData;
    private removeUploadedFile;
    private removingEventCallback;
    private updateFormData;
    private updateCustomheader;
    private removeCompleted;
    private removeFailed;
    private getFilesFromFolder;
    private checkDirectoryUpload;
    traverseFileTree(item: any, event?: MouseEvent | TouchEvent | DragEvent | ClipboardEvent): void;
    private readFileFromDirectory;
    private pushFilesEntries;
    private onSelectFiles;
    private getBase64;
    private renderSelectedFiles;
    private updateInitialFileDetails;
    private _internalRenderSelect;
    private allowUpload;
    private isFormUpload;
    private clearData;
    private updateSortedFileList;
    private isBlank;
    private checkGenericExtension;
    private checkExtension;
    private validatedFileSize;
    private isPreLoadFile;
    private createCustomfileList;
    private createParentUL;
    private formFileList;
    private formValidateFileInfo;
    private addInvalidClass;
    private createFormInput;
    private getFileSize;
    private mergeFileInfo;
    private statusForFormUpload;
    private formCustomFileList;
    /**
     * Create the file list for specified files data.
     *
     * @param { FileInfo[] } fileData - Specifies the files data for file list creation.
     * @returns {void}
     */
    createFileList(fileData: FileInfo[]): void;
    private internalCreateFileList;
    private getSlicedName;
    private setListToFileInfo;
    private truncateName;
    private getFileType;
    private getFileNameOnly;
    private setInitialAttributes;
    private filterfileList;
    private updateStatus;
    private getLiElement;
    private createProgressBar;
    private updateProgressbar;
    private changeProgressValue;
    private uploadInProgress;
    private cancelUploadingFile;
    private removecanceledFile;
    private renderFailureState;
    private reloadcanceledFile;
    private uploadComplete;
    private getResponse;
    private raiseSuccessEvent;
    private uploadFailed;
    private uploadSequential;
    private checkActionComplete;
    private raiseActionComplete;
    private getSelectedFileStatus;
    private updateProgressBarClasses;
    private removeProgressbar;
    private animateProgressBar;
    private setExtensions;
    private templateComplier;
    private setRTL;
    private localizedTexts;
    private setControlStatus;
    private checkHTMLAttributes;
    private chunkUpload;
    private sendRequest;
    private uploadingEventCallback;
    private eventCancelByArgs;
    private checkChunkUpload;
    private chunkUploadComplete;
    private sendNextRequest;
    private removeChunkFile;
    private pauseUpload;
    private abortUpload;
    private resumeUpload;
    private updateMetaData;
    private removeChunkProgressBar;
    private chunkUploadFailed;
    private retryRequest;
    private checkPausePlayAction;
    private retryUpload;
    private chunkUploadInProgress;
    /**
     * It is used to convert bytes value into kilobytes or megabytes depending on the size based
     * on [binary prefix](https://en.wikipedia.org/wiki/Binary_prefix).
     *
     * @param { number } bytes - Specifies the file size in bytes.
     * @returns {string} - Returns the file size.
     */
    bytesToSize(bytes: number): string;
    /**
     * Allows you to sort the file data alphabetically based on its file name clearly.
     *
     * @param { FileList } filesData - specifies the files data for upload.
     * @returns {File[]}
     */
    sortFileList(filesData?: FileList): File[];
    /**
     * Removes the component from the DOM and detaches all its related event handlers. Also it removes the attributes and classes.
     *
     * @method destroy
     * @returns {void}
     */
    destroy(): void;
    /**
     * Allows you to call the upload process manually by calling save URL action.
     * To process the selected files (added in upload queue), pass an empty argument otherwise
     * upload the specific file based on its argument.
     *
     * @param { FileInfo | FileInfo[] } files - Specifies the files data for upload.
     * @param {boolean} custom - Specifies whether the uploader is rendered with custom file list.
     * @returns {void}
     */
    upload(files?: FileInfo | FileInfo[], custom?: boolean): void;
    private getFilesInArray;
    private serverReadFileBase64;
    private uploadFileCount;
    private getFileRead;
    private uploadFiles;
    private uploadFilesRequest;
    private spliceFiles;
    /**
     * Remove the uploaded file from server manually by calling the remove URL action.
     * If you pass an empty argument to this method, the complete file list can be cleared,
     * otherwise remove the specific file based on its argument (“file_data”).
     *
     * @param { FileInfo | FileInfo[] } fileData - specifies the files data to remove from file list/server.
     * @param { boolean } customTemplate - Set true if the component rendering with customize template.
     * @param { boolean } removeDirectly - Set true if files remove without removing event.
     * @param { boolean } postRawFile - Set false, to post file name only to the remove action.
     * @returns {void}
     */
    remove(fileData?: FileInfo | FileInfo[], customTemplate?: boolean, removeDirectly?: boolean, postRawFile?: boolean, args?: MouseEvent | TouchEvent | base.KeyboardEventArgs): void;
    /**
     * Clear all the file entries from list that can be uploaded files or added in upload queue.
     *
     * @returns {void}
     */
    clearAll(): void;
    /**
     * Get the data of files which are shown in file list.
     *
     * @param { number } index - specifies the file list item(li) index.
     * @returns {FileInfo[]}
     */
    getFilesData(index?: number): FileInfo[];
    /**
     * Pauses the in-progress chunked upload based on the file data.
     *
     * @param { FileInfo | FileInfo[] } fileData - specifies the files data to pause from uploading.
     * @param { boolean } custom - Set true if used custom UI.
     * @returns {void}
     */
    pause(fileData?: FileInfo | FileInfo[], custom?: boolean): void;
    private pauseUploading;
    private getFiles;
    /**
     * Resumes the chunked upload that is previously paused based on the file data.
     *
     * @param { FileInfo | FileInfo[] } fileData - specifies the files data to resume the paused file.
     * @param { boolean } custom - Set true if used custom UI.
     * @returns {void}
     */
    resume(fileData?: FileInfo | FileInfo[], custom?: boolean): void;
    private resumeFiles;
    /**
     * Retries the canceled or failed file upload based on the file data.
     *
     * @param { FileInfo | FileInfo[] } fileData - specifies the files data to retry the canceled or failed file.
     * @param { boolean } fromcanceledStage - Set true to retry from canceled stage and set false to retry from initial stage.
     * @param {boolean} custom -Specifies whether the uploader is rendered with custom file list.
     * @returns {void}
     */
    retry(fileData?: FileInfo | FileInfo[], fromcanceledStage?: boolean, custom?: boolean): void;
    private retryFailedFiles;
    /**
     * Stops the in-progress chunked upload based on the file data.
     * When the file upload is canceled, the partially uploaded file is removed from server.
     *
     * @param { FileInfo | FileInfo[] } fileData - specifies the files data to cancel the progressing file.
     * @returns {void}
     */
    cancel(fileData?: FileInfo[]): void;
    private cancelUpload;
    private showHideUploadSpinner;
}
//node_modules/@syncfusion/ej2-inputs/src/uploader/uploader-model.d.ts
/**
 * Interface for a class FilesProp
 */
export interface FilesPropModel {
    /**
     * Specifies the name of the file
     *
     * @default ''
     */
    name?: string;
    /**
     * Specifies the size of the file
     *
     * @default null
     */
    size?: number;
    /**
     * Specifies the type of the file
     *
     * @default ''
     */
    type?: string;
}
/**
 * Interface for a class ButtonsProps
 */
export interface ButtonsPropsModel {
    /**
     * Specifies the text or html content to browse button
     *
     * @default 'Browse...'
     */
    browse?: string | HTMLElement;
    /**
     * Specifies the text or html content to upload button
     *
     * @default 'Upload'
     */
    upload?: string | HTMLElement;
    /**
     * Specifies the text or html content to clear button
     *
     * @default 'Clear'
     */
    clear?: string | HTMLElement;
}
/**
 * Interface for a class AsyncSettings
 */
export interface AsyncSettingsModel {
    /**
     * Specifies the URL of save action that will receive the upload files and save in the server.
     * The save action type must be POST request and define the argument as same input name used to render the component.
     * The upload operations could not perform without this property.
     *
     * @default ''
     */
    saveUrl?: string;
    /**
     * Specifies the URL of base.remove action that receives the file information and handle the base.remove operation in server.
     * The base.remove action type must be POST request and define “removeFileNames” attribute to get file information that will be removed.
     * This property is optional.
     *
     * @default ''
     */
    removeUrl?: string;
    /**
     * Specifies the chunk size to split the large file into chunks, and upload it to the server in a sequential order.
     * If the chunk size property has value, the uploader enables the chunk upload by default.
     * It must be specified in bytes value.
     *
     * > For more information, refer to the [chunk upload](../../uploader/chunk-upload/) section from the documentation.
     *
     * @default 0
     */
    chunkSize?: number;
    /**
     * Specifies the number of retries that the uploader can perform on the file failed to upload.
     * By default, the uploader set 3 as maximum retries. This property must be specified to prevent infinity looping.
     *
     * @default 3
     */
    retryCount?: number;
    /**
     * Specifies the delay time in milliseconds that the automatic retry happens after the delay.
     *
     * @default 500
     */
    retryAfterDelay?: number;
}
/**
 * Interface for a class Uploader
 */
export interface UploaderModel extends base.ComponentModel{
    /**
     * Configures the save and base.remove URL to perform the upload operations in the server asynchronously.
     *
     * @default { saveUrl: '', removeUrl: '' }
     */
    asyncSettings?: AsyncSettingsModel;
    /**
     * By default, the file uploader component is processing the multiple files simultaneously.
     * If sequentialUpload property is enabled, the file upload component performs the upload one after the other.
     *
     * @default false
     */
    sequentialUpload?: boolean;
    /**
     * You can add the additional html attributes such as disabled, value etc., to the element.
     * If you configured both property and equivalent html attribute then the component considers the property value.
     *
     * {% codeBlock src='uploader/htmlAttributes/index.md' %}{% endcodeBlock %}
     *
     * @default {}
     */
    htmlAttributes?: { [key: string]: string };
    /**
     * Specifies the CSS class name that can be appended with root element of the uploader.
     * One or more custom CSS classes can be added to a uploader.
     *
     * @default ''
     */
    cssClass?: string;
    /**
     * Specifies Boolean value that indicates whether the component is enabled or disabled.
     * The uploader component does not allow to interact when this property is disabled.
     *
     * @default true
     */
    enabled?: boolean;
    /**
     * Specifies the HTML string that used to customize the content of each file in the list.
     *
     * > For more information, refer to the [template](../../uploader/template/) section from the documentation.
     *
     * @default null
     * @aspType string
     */
    template?: string | Function;
    /**
     * 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;
    /**
     * Specifies Boolean value that indicates whether to prevent the cross site scripting code in filename or not.
     * The uploader component removes the cross-site scripting code or functions from the filename and shows the validation error message to the user when enableHtmlSanitizer is true.
     *
     * @default true
     */
    enableHtmlSanitizer?: boolean;
    /**
     * You can customize the default text of “browse, clear, and upload” buttons with plain text or HTML elements.
     * The buttons’ text can be customized from localization also. If you configured both locale and buttons property,
     * the uploader component considers the buttons property value.
     * {% codeBlock src='uploader/buttons/index.md' %}{% endcodeBlock %}
     *
     * @default { browse : 'Browse...', clear: 'Clear', upload: 'Upload' }
     */
    buttons?: ButtonsPropsModel;
    /**
     * Specifies the extensions of the file types allowed in the uploader component and pass the extensions
     * with comma separators. For example,
     * if you want to upload specific image files,  pass allowedExtensions as “.jpg,.png”.
     *
     * @default ''
     */
    allowedExtensions?: string;
    /**
     * Specifies the minimum file size to be uploaded in bytes.
     * The property used to make sure that you cannot upload empty files and small files.
     *
     * @default 0
     */
    minFileSize?: number;
    /**
     * Specifies the maximum allowed file size to be uploaded in bytes.
     * The property used to make sure that you cannot upload too large files.
     *
     * @default 30000000
     */
    maxFileSize?: number;
    /**
     * Specifies the drop target to handle the drag-and-drop upload.
     * By default, the component creates wrapper around file input that will act as drop target.
     *
     * > For more information, refer to the [drag-and-drop](../../uploader/file-source/#drag-and-drop) section from the documentation.
     *
     * @default null
     */
    dropArea?: string | HTMLElement;
    /**
     * Specifies the list of files that will be preloaded on rendering of uploader component.
     * The property used to view and base.remove the uploaded files from server. By default, the files are configured with
     * uploaded successfully state. The following properties are mandatory to configure the preload files:
     * * Name
     * * Size
     * * Type
     *
     * {% codeBlock src='uploader/files/index.md' %}{% endcodeBlock %}
     *
     * @default { name: '', size: null, type: '' }
     */
    files?: FilesPropModel[];
    /**
     * Specifies a Boolean value that indicates whether the default file list can be rendered.
     * The property used to prevent default file list and design own template for file list.
     *
     * @default true
     */
    showFileList?: boolean;
    /**
     * Specifies a Boolean value that indicates whether the folder of files can be browsed in the uploader component.
     *
     * > When enabled this property, it allows only files of folder to base.select or drop to upload and
     * it cannot be allowed to base.select or drop files.
     *
     * @default false
     */
    directoryUpload?: boolean;
    /**
     * Specifies the drag operation effect to the uploader component. Possible values are Copy , Move, Link and None.
     *
     * By default, the uploader component works based on the browser drag operation effect.
     *
     * @default 'Default'
     */
    dropEffect?: DropEffect;
    /**
     * Triggers when the component is created.
     *
     * @event created
     */
    created?: base.EmitType<Object>;
    /**
     * Triggers after all the selected files has processed to upload successfully or failed to server.
     *
     * @event actionComplete
     */
    actionComplete?: base.EmitType<ActionCompleteEventArgs>;
    /**
     * DEPRECATED-Triggers before rendering each file item from the file list in a page.
     * It helps to customize specific file item structure.
     *
     * @event rendering
     */
    rendering?: base.EmitType<RenderingEventArgs>;
    /**
     * Triggers when the upload process before. This event is used to add additional parameter with upload request.
     *
     * @event beforeUpload
     */
    beforeUpload?: base.EmitType<BeforeUploadEventArgs>;
    /**
     * Triggers before rendering each file item from the file list in a page.
     * It helps to customize specific file item structure.
     *
     * @event fileListRendering
     */
    fileListRendering?: base.EmitType<FileListRenderingEventArgs>;
    /**
     * Triggers after selecting or dropping the files by adding the files in upload queue.
     *
     * @event selected
     */
    selected?: base.EmitType<SelectedEventArgs>;
    /**
     * Triggers when the upload process gets started. This event is used to add additional parameter with upload request.
     *
     * @event uploading
     */
    uploading?: base.EmitType<UploadingEventArgs>;
    /**
     * Triggers when the AJAX request gets success on uploading files or removing files.
     *
     * <table>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * base.Event arguments<br/></td><td colSpan=1 rowSpan=1>
     * Description<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * event<br/></td><td colSpan=1 rowSpan=1>
     * base.Ajax progress event arguments.<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * file<br/></td><td colSpan=1 rowSpan=1>
     * File information which is uploaded/removed.<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * name<br/></td><td colSpan=1 rowSpan=1>
     * Name of the event<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * operation<br/></td><td colSpan=1 rowSpan=1>
     * It indicates the success of the operation whether its uploaded or removed<br/></td></tr>
     * </table>
     *
     * @event success
     */
    success?: base.EmitType<Object>;
    /**
     * Triggers when the AJAX request fails on uploading or removing files.
     *
     * <table>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * base.Event arguments<br/></td><td colSpan=1 rowSpan=1>
     * Description<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * event<br/></td><td colSpan=1 rowSpan=1>
     * base.Ajax progress event arguments.<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * file<br/></td><td colSpan=1 rowSpan=1>
     * File information which is failed from upload/base.remove.<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * name<br/></td><td colSpan=1 rowSpan=1>
     * Name of the event<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * operation<br/></td><td colSpan=1 rowSpan=1>
     * It indicates the failure of the operation whether its upload or base.remove<br/></td></tr>
     * </table>
     *
     * @event failure
     */
    failure?: base.EmitType<Object>;
    /**
     * Triggers on removing the uploaded file. The event used to get confirm before removing the file from server.
     *
     * @event removing
     */
    removing?: base.EmitType<RemovingEventArgs>;
    /**
     * Triggers on base.remove the uploaded file. The event used to get confirm before base.remove the file from server.
     *
     * @event beforeRemove
     */
    beforeRemove?: base.EmitType<BeforeRemoveEventArgs>;
    /**
     * Triggers before clearing the items in file list when clicking “clear”.
     *
     * @event clearing
     */
    clearing?: base.EmitType<ClearingEventArgs>;
    /**
     * Triggers when uploading a file to the server using the AJAX request.
     *
     * <table>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * base.Event arguments<br/></td><td colSpan=1 rowSpan=1>
     * Description<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * event<br/></td><td colSpan=1 rowSpan=1>
     * base.Ajax progress event arguments.<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * file<br/></td><td colSpan=1 rowSpan=1>
     * File information which is uploading to server.<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * name<br/></td><td colSpan=1 rowSpan=1>
     * Name of the event<br/></td></tr>
     * </table>
     *
     * @event progress
     */
    progress?: base.EmitType<Object>;
    /**
     * Triggers when changes occur in uploaded file list by selecting or dropping files.
     *
     * <table>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * base.Event arguments<br/></td><td colSpan=1 rowSpan=1>
     * Description<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * file<br/></td><td colSpan=1 rowSpan=1>
     * File information which is successfully uploaded to server or removed in server.<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * name<br/></td><td colSpan=1 rowSpan=1>
     * Name of the event<br/></td></tr>
     * </table>
     *
     * @event change
     */
    change?: base.EmitType<Object>;
    /**
     * Fires when the chunk file uploaded successfully.
     *
     * <table>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * base.Event arguments<br/></td><td colSpan=1 rowSpan=1>
     * Description<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * chunkIndex<br/></td><td colSpan=1 rowSpan=1>
     * Returns current chunk index.<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * chunkSize<br/></td><td colSpan=1 rowSpan=1>
     * Returns the size of the chunk file.<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * file<br/></td><td colSpan=1 rowSpan=1>
     * File information which is uploading to server.<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * name<br/></td><td colSpan=1 rowSpan=1>
     * Name of the event<br/></td></tr>
     * </table>
     *
     * @event chunkSuccess
     */
    chunkSuccess?: base.EmitType<Object>;
    /**
     * Fires if the chunk file failed to upload.
     *
     * <table>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * base.Event arguments<br/></td><td colSpan=1 rowSpan=1>
     * Description<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * chunkIndex<br/></td><td colSpan=1 rowSpan=1>
     * Returns current chunk index.<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * chunkSize<br/></td><td colSpan=1 rowSpan=1>
     * Returns the size of the chunk file.<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * file<br/></td><td colSpan=1 rowSpan=1>
     * File information which is uploading to server.<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * name<br/></td><td colSpan=1 rowSpan=1>
     * Name of the event<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * totalChunk<br/></td><td colSpan=1 rowSpan=1>
     * Returns the total chunk count<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * cancel<br/></td><td colSpan=1 rowSpan=1>
     * Prevent triggering of failure event when we pass true to this attribute<br/></td></tr>
     * </table>
     *
     * @event chunkFailure
     */
    chunkFailure?: base.EmitType<Object>;
    /**
     * Fires when every chunk upload process gets started. This event is used to add additional parameter with upload request.
     *
     * @event chunkUploading
     */
    chunkUploading?: base.EmitType<UploadingEventArgs>;
    /**
     * Fires if cancel the chunk file uploading.
     *
     * @event canceling
     */
    canceling?: base.EmitType<CancelEventArgs>;
    /**
     * Fires if pause the chunk file uploading.
     *
     * @event pausing
     */
    pausing?: base.EmitType<PauseResumeEventArgs>;
    /**
     * Fires if resume the paused chunk file upload.
     *
     * @event resuming
     */
    resuming?: base.EmitType<PauseResumeEventArgs>;
}
//node_modules/@syncfusion/ej2-inputs/src/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 isHiddenInput;
    private textarea;
    private respectiveElement;
    private isForm;
    private formElement;
    private initialValue;
    private textboxOptions;
    private inputPreviousValue;
    private clearButton;
    /**
     * Specifies the behavior of the TextBox such as text, password, email, etc.
     *
     * @default 'text'
     */
    type: string;
    /**
     * Specifies the boolean value whether the TextBox allows user to change the text.
     *
     * @default false
     */
    readonly: boolean;
    /**
     * Sets the content of the TextBox.
     *
     * @default null
     */
    value: string;
    /**
     * Specifies the floating label behavior of the TextBox that the placeholder text floats above the TextBox based on the below values.
     * Possible values are:
     * * `Never` - The placeholder text should not be float ever.
     * * `Always` - The placeholder text floats above the TextBox always.
     * * `Auto` - The placeholder text floats above the TextBox while focusing or enter a value in Textbox.
     *
     * @default Never
     */
    floatLabelType: FloatLabelType;
    /**
     * Specifies the CSS class value that is appended to wrapper of Textbox.
     *
     * @default ''
     */
    cssClass: string;
    /**
     * Specifies the text that is shown as a hint/placeholder until the user focus or enter a value in Textbox.
     * The property is depending on the floatLabelType property.
     *
     * @default null
     */
    placeholder: string;
    /**
     * Specifies whether the browser is allow to automatically enter or select a value for the textbox.
     * By default, autocomplete is enabled for textbox.
     * Possible values are:
     * `on` - Specifies that autocomplete is enabled.
     * `off` - Specifies that autocomplete is disabled.
     *
     * @default 'on'
     */
    autocomplete: string;
    /**
     * You can add the additional html attributes such as disabled, value etc., to the element.
     * If you configured both property and equivalent html attribute then the component considers the property value.
     * {% codeBlock src='textbox/htmlAttributes/index.md' %}{% endcodeBlock %}
     *
     * @default {}
     */
    htmlAttributes: {
        [key: string]: string;
    };
    /**
     * Specifies a boolean value that enable or disable the multiline on the TextBox.
     * The TextBox changes from single line to multiline when enable this multiline mode.
     *
     * @default false
     */
    multiline: boolean;
    /**
     * Specifies a Boolean value that indicates whether the TextBox allow user to interact with it.
     *
     * @default true
     */
    enabled: boolean;
    /**
     * Specifies a Boolean value that indicates whether the clear button is displayed in Textbox.
     *
     * @default false
     */
    showClearButton: boolean;
    /**
     * Enable or disable persisting TextBox state between page reloads. If enabled, the `value` state will be persisted.
     *
     * @default false
     */
    enablePersistence: boolean;
    /**
     * Specifies the width of the Textbox component.
     *
     * @default null
     */
    width: number | string;
    /**
     * Triggers when the TextBox component is created.
     *
     * @event created
     */
    created: base.EmitType<Object>;
    /**
     * Triggers when the TextBox component is destroyed.
     *
     * @event destroyed
     */
    destroyed: base.EmitType<Object>;
    /**
     * Triggers when the content of TextBox has changed and gets focus-out.
     *
     * @event change
     */
    change: base.EmitType<ChangedEventArgs>;
    /**
     * Triggers when the TextBox has focus-out.
     *
     * @event blur
     */
    blur: base.EmitType<FocusOutEventArgs>;
    /**
     * Triggers when the TextBox gets focus.
     *
     * @event focus
     */
    focus: base.EmitType<FocusInEventArgs>;
    /**
     * Triggers each time when the value of TextBox has changed.
     *
     * @event input
     */
    input: base.EmitType<InputEventArgs>;
    /**
     *
     * @param {TextBoxModel} options - Specifies the TextBox model.
     * @param {string | HTMLInputElement | HTMLTextAreaElement} element - Specifies the element to render as component.
     * @private
     */
    constructor(options?: TextBoxModel, element?: string | HTMLInputElement | HTMLTextAreaElement);
    /**
     * Calls internally if any of the property value is changed.
     *
     * @param {TextBoxModel} newProp - Returns the dynamic property value of the component.
     * @param {TextBoxModel} oldProp - Returns the previous property value of the component.
     * @returns {void}
     * @private
     */
    onPropertyChanged(newProp: TextBoxModel, oldProp: TextBoxModel): void;
    /**
     * Gets the component name
     *
     * @returns {string} Returns the component name.
     * @private
     */
    getModuleName(): string;
    protected preRender(): void;
    private checkAttributes;
    /**
     * To Initialize the control rendering
     *
     * @returns {void}
     * @private
     */
    render(): void;
    private updateHTMLAttributesToWrapper;
    private updateHTMLAttributesToElement;
    private setInitialValue;
    private wireEvents;
    private animationHandler;
    private resetValue;
    private resetForm;
    private focusHandler;
    private focusOutHandler;
    private keydownHandler;
    private inputHandler;
    private changeHandler;
    private raiseChangeEvent;
    private bindClearEvent;
    private resetInputHandler;
    private unWireEvents;
    /**
     * Removes the component from the DOM and detaches all its related event handlers.
     * Also, it maintains the initial TextBox element from the DOM.
     *
     * @method destroy
     * @returns {void}
     */
    destroy(): void;
    /**
     * Adding the icons to the TextBox component.
     *
     * @param { string } position - Specify the icon placement on the TextBox. Possible values are append and prepend.
     * @param { string | string[] } icons - Icon classes which are need to add to the span element which is going to created.
     * Span element acts as icon or button element for TextBox.
     * @returns {void}
     */
    addIcon(position: string, icons: string | string[]): void;
    /**
     * Gets the properties to be maintained in the persisted state.
     *
     * @returns {string} Returns the persisted data.
     */
    getPersistData(): string;
    /**
     * Adding the multiple attributes as key-value pair to the TextBox element.
     *
     * @param {string} attributes - Specifies the attributes to be add to TextBox element.
     * @returns {void}
     */
    addAttributes(attributes: {
        [key: string]: string;
    }): void;
    /**
     * Removing the multiple attributes as key-value pair to the TextBox element.
     *
     * @param { string[] } attributes - Specifies the attributes name to be removed from TextBox element.
     * @returns {void}
     */
    removeAttributes(attributes: string[]): void;
    /**
     * Sets the focus to widget for interaction.
     *
     * @returns {void}
     */
    focusIn(): void;
    /**
     * Remove the focus from widget, if the widget is in focus state.
     *
     * @returns {void}
     */
    focusOut(): void;
}
//node_modules/@syncfusion/ej2-inputs/src/textbox/textbox-model.d.ts
/**
 * Interface for a class TextBox
 */
export interface TextBoxModel extends base.ComponentModel{
    /**
     * Specifies the behavior of the TextBox such as text, password, email, etc.
     *
     * @default 'text'
     */
    type?: string;
    /**
     * Specifies the boolean value whether the TextBox allows user to change the text.
     *
     * @default false
     */
    readonly?: boolean;
    /**
     * Sets the content of the TextBox.
     *
     * @default null
     */
    value?: string;
    /**
     * Specifies the floating label behavior of the TextBox that the placeholder text floats above the TextBox based on the below values.
     * Possible values are:
     * * `Never` - The placeholder text should not be float ever.
     * * `Always` - The placeholder text floats above the TextBox always.
     * * `Auto` - The placeholder text floats above the TextBox while focusing or enter a value in Textbox.
     *
     * @default Never
     */
    floatLabelType?: FloatLabelType;
    /**
     * Specifies the CSS class value that is appended to wrapper of Textbox.
     *
     * @default ''
     */
    cssClass?: string;
    /**
     * Specifies the text that is shown as a hint/placeholder until the user focus or enter a value in Textbox.
     * The property is depending on the floatLabelType property.
     *
     * @default null
     */
    placeholder?: string;
    /**
     * Specifies whether the browser is allow to automatically enter or select a value for the textbox.
     * By default, autocomplete is enabled for textbox.
     * Possible values are:
     * `on` - Specifies that autocomplete is enabled.
     * `off` - Specifies that autocomplete is disabled.
     *
     * @default 'on'
     */
    autocomplete?: string;
    /**
     * You can add the additional html attributes such as disabled, value etc., to the element.
     * If you configured both property and equivalent html attribute then the component considers the property value.
     * {% codeBlock src='textbox/htmlAttributes/index.md' %}{% endcodeBlock %}
     *
     * @default {}
     */
    htmlAttributes?: { [key: string]: string };
    /**
     * Specifies a boolean value that enable or disable the multiline on the TextBox.
     * The TextBox changes from single line to multiline when enable this multiline mode.
     *
     * @default false
     */
    multiline?: boolean;
    /**
     * Specifies a Boolean value that indicates whether the TextBox allow user to interact with it.
     *
     * @default true
     */
    enabled?: boolean;
    /**
     * Specifies a Boolean value that indicates whether the clear button is displayed in Textbox.
     *
     * @default false
     */
    showClearButton?: boolean;
    /**
     * Enable or disable persisting TextBox state between page reloads. If enabled, the `value` state will be persisted.
     *
     * @default false
     */
    enablePersistence?: boolean;
    /**
     * Specifies the width of the Textbox component.
     *
     * @default null
     */
    width?: number | string;
    /**
     * Triggers when the TextBox component is created.
     *
     * @event created
     */
    created?: base.EmitType<Object>;
    /**
     * Triggers when the TextBox component is destroyed.
     *
     * @event destroyed
     */
    destroyed?: base.EmitType<Object>;
    /**
     * Triggers when the content of TextBox has changed and gets focus-out.
     *
     * @event change
     */
    change?: base.EmitType<ChangedEventArgs>;
    /**
     * Triggers when the TextBox has focus-out.
     *
     * @event blur
     */
    blur?: base.EmitType<FocusOutEventArgs>;
    /**
     * Triggers when the TextBox gets focus.
     *
     * @event focus
     */
    focus?: base.EmitType<FocusInEventArgs>;
    /**
     * Triggers each time when the value of TextBox has changed.
     *
     * @event input
     */
    input?: base.EmitType<InputEventArgs>;
}
//node_modules/@syncfusion/ej2-inputs/src/textarea/textarea.d.ts
export  type Resize = 'Vertical' | 'Horizontal' | 'Both' | 'None';
export  class TextArea extends base.Component<HTMLTextAreaElement> implements base.INotifyPropertyChanged {
    private textareaWrapper;
    private textareaOptions;
    private globalize;
    private l10n;
    private previousValue;
    private formElement;
    private isForm;
    private initialValue;
    private inputPreviousValue;
    private preventChange;
    private clearButton;
    /**
     * Specifies the boolean value whether the TextArea allows user to change the text.
     *
     * @default false
     */
    readonly: boolean;
    /**
     * Sets the content of the TextArea.
     *
     * @default null
     */
    value: string;
    /**
     * Specifies the floating label behavior of the TextArea that the placeholder text floats above the TextArea based on the below values.
     * Possible values are:
     * * `Never` - The placeholder text should not be float ever.
     * * `Always` - The placeholder text floats above the TextArea always.
     * * `Auto` - The placeholder text floats above the TextArea while focusing or enter a value in TextArea.
     *
     * @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 TextArea.
     * The property is depending on the floatLabelType property.
     *
     * @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 a Boolean value that indicates whether the TextArea allow user to interact with it.
     *
     * @default true
     */
    enabled: boolean;
    /**
     * Specifies a Boolean value that indicates whether the clear button is displayed in TextArea.
     *
     * @default false
     */
    showClearButton: boolean;
    /**
     * Enable or disable persisting TextArea state between page reloads. If enabled, the `value` state will be persisted.
     *
     * @default false
     */
    enablePersistence: boolean;
    /**
     * Specifies the width of the TextArea component.
     *
     * @default null
     */
    width: number | string;
    /**
     * Specifies the resize mode of textarea.
     * possible values are:
     * * `Vertical` - The textarea element can be resized vertically.
     * * `Horizontal` - The textarea element can be resized horizontally.
     * * `Both` - The textarea element can be resized both vertically and horizontally.
     * * `None` - The textarea element cannot be resized.
     *
     * @default Both
     */
    resizeMode: Resize;
    /**
     * Specifies the maximum number of characters allowed in TextArea.
     *
     * @aspType int?
     */
    maxLength: number;
    /**
     * specifies the visible width of the textarea, measured in average character widths.
     *
     * @aspType int?
     */
    cols: number;
    /**
     * specifies the visible height of the textarea, measured in lines
     *
     * @aspType int?
     */
    rows: number;
    /**
     * Triggers when the TextArea component is created.
     *
     * @event created
     */
    created: base.EmitType<Object>;
    /**
     * Triggers when the TextArea component is destroyed.
     *
     * @event destroyed
     */
    destroyed: base.EmitType<Object>;
    /**
     * Triggers when the content of TextArea has changed and gets focus-out.
     *
     * @event change
     */
    change: base.EmitType<ChangedEventArgs>;
    /**
     * Triggers when the TextArea has focus-out.
     *
     * @event blur
     */
    blur: base.EmitType<FocusOutEventArgs>;
    /**
     * Triggers when the TextArea gets focus.
     *
     * @event focus
     */
    focus: base.EmitType<FocusInEventArgs>;
    /**
     * Triggers each time when the value of TextArea has changed.
     *
     * @event input
     */
    input: base.EmitType<InputEventArgs>;
    constructor(options?: TextAreaModel, element?: string | HTMLTextAreaElement);
    /**
     * Calls internally if any of the property value is changed.
     *
     * @param {TextAreaModel} newProp - Returns the dynamic property value of the component.
     * @param {TextAreaModel} oldProp - Returns the previous property value of the component.
     * @returns {void}
     * @private
     */
    onPropertyChanged(newProp: TextAreaModel, oldProp: TextAreaModel): void;
    protected preRender(): void;
    /**
     * To Initialize the control rendering
     *
     * @returns {void}
     * @private
     */
    render(): void;
    getModuleName(): string;
    /**
     * Gets the properties to be maintained in the persisted state.
     *
     * @returns {string} - Returns the string value.
     */
    getPersistData(): string;
    private checkAttributes;
    protected wireEvents(): void;
    protected unWireEvents(): void;
    /**
     * Removes the component from the DOM and detaches all its related event handlers.
     * Also, it maintains the initial TextArea element from the DOM.
     *
     * @method destroy
     * @returns {void}
     */
    destroy(): void;
    private focusHandler;
    private focusOutHandler;
    protected keydownHandler(args: KeyboardEvent): void;
    private inputHandler;
    private changeHandler;
    private raiseChangeEvent;
    private updateHTMLAttributesToWrapper;
    private updateHTMLAttributesToElement;
    private bindClearEvent;
    private resetInputHandler;
    /**
     * Adding the multiple attributes as key-value pair to the TextArea element.
     *
     * @param {string} attributes - Specifies the attributes to be add to TextArea element.
     * @returns {void}
     */
    addAttributes(attributes: {
        [key: string]: string;
    }): void;
    /**
     * Removing the multiple attributes as key-value pair to the TextArea element.
     *
     * @param { string[] } attributes - Specifies the attributes name to be removed from TextArea element.
     * @returns {void}
     */
    removeAttributes(attributes: string[]): void;
    /**
     * Sets the focus to widget for interaction.
     *
     * @returns {void}
     */
    focusIn(): void;
    /**
     * Remove the focus from widget, if the widget is in focus state.
     *
     * @returns {void}
     */
    focusOut(): void;
    /**
     * Sets up the width for the textarea wrapper.
     *
     * @returns {void}
     */
    private setWrapperWidth;
    private onMouseMove;
    private resetForm;
    private resetValue;
    private setElementWidth;
    private getCurrentResizeClass;
}
//node_modules/@syncfusion/ej2-inputs/src/textarea/textarea-model.d.ts
/**
 * Interface for a class TextArea
 */
export interface TextAreaModel extends base.ComponentModel{
    /**
     * Specifies the boolean value whether the TextArea allows user to change the text.
     *
     * @default false
     */
    readonly?: boolean;
    /**
     * Sets the content of the TextArea.
     *
     * @default null
     */
    value?: string;
    /**
     * Specifies the floating label behavior of the TextArea that the placeholder text floats above the TextArea based on the below values.
     * Possible values are:
     * * `Never` - The placeholder text should not be float ever.
     * * `Always` - The placeholder text floats above the TextArea always.
     * * `Auto` - The placeholder text floats above the TextArea while focusing or enter a value in TextArea.
     *
     * @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 TextArea.
     * The property is depending on the floatLabelType property.
     *
     * @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 a Boolean value that indicates whether the TextArea allow user to interact with it.
     *
     * @default true
     */
    enabled?: boolean;
    /**
     * Specifies a Boolean value that indicates whether the clear button is displayed in TextArea.
     *
     * @default false
     */
    showClearButton?: boolean;
    /**
     * Enable or disable persisting TextArea state between page reloads. If enabled, the `value` state will be persisted.
     *
     * @default false
     */
    enablePersistence?: boolean;
    /**
     * Specifies the width of the TextArea component.
     *
     * @default null
     */
    width?: number | string;
    /**
     * Specifies the resize mode of textarea.
     * possible values are:
     * * `Vertical` - The textarea element can be resized vertically.
     * * `Horizontal` - The textarea element can be resized horizontally.
     * * `Both` - The textarea element can be resized both vertically and horizontally.
     * * `None` - The textarea element cannot be resized.
     *
     * @default Both
     */
    resizeMode?: Resize;
    /**
     * Specifies the maximum number of characters allowed in TextArea.
     *
     * @aspType int?
     */
    maxLength?: number;
    /**
     * specifies the visible width of the textarea, measured in average character widths.
     *
     * @aspType int?
     */
    cols?: number;
    /**
     * specifies the visible height of the textarea, measured in lines
     *
     * @aspType int?
     */
    rows?: number;
    /**
     * Triggers when the TextArea component is created.
     *
     * @event created
     */
    created?: base.EmitType<Object>;
    /**
     * Triggers when the TextArea component is destroyed.
     *
     * @event destroyed
     */
    destroyed?: base.EmitType<Object>;
    /**
     * Triggers when the content of TextArea has changed and gets focus-out.
     *
     * @event change
     */
    change?: base.EmitType<ChangedEventArgs>;
    /**
     * Triggers when the TextArea has focus-out.
     *
     * @event blur
     */
    blur?: base.EmitType<FocusOutEventArgs>;
    /**
     * Triggers when the TextArea gets focus.
     *
     * @event focus
     */
    focus?: base.EmitType<FocusInEventArgs>;
    /**
     * Triggers each time when the value of TextArea has changed.
     *
     * @event input
     */
    input?: base.EmitType<InputEventArgs>;
}
//node_modules/@syncfusion/ej2-inputs/src/speech-to-text/speech-to-text.d.ts
/**
 * Applicable positions where the Tooltip can be displayed over SpeechToText button.
 * - TopLeft :- The tooltip appears at the top-left corner of the SpeechToText button.
 * - TopCenter :- The tooltip appears at the top-center of the SpeechToText button.
 * - TopRight :- The tooltip appears at the top-right corner of the SpeechToText button.
 * - BottomLeft :- The tooltip appears at the bottom-left corner of the SpeechToText button.
 * - BottomCenter :- The tooltip appears at the bottom-center of the SpeechToText button.
 * - BottomRight :- The tooltip appears at the bottom-right corner of the SpeechToText button.
 * - LeftTop :- The tooltip appears at the left-top corner of the SpeechToText button.
 * - LeftCenter :- The tooltip appears at the left-center of the SpeechToText button.
 * - LeftBottom :- The tooltip appears at the left-bottom corner of the SpeechToText button.
 * - RightTop :- The tooltip appears at the right-top corner of the SpeechToText button.
 * - RightCenter :- The tooltip appears at the right-center of the SpeechToText button.
 * - RightBottom :- The tooltip appears at the right-bottom corner of the SpeechToText button.
 */
export  type TooltipPosition = 'TopLeft' | 'TopCenter' | 'TopRight' | 'BottomLeft' | 'BottomCenter' | 'BottomRight' | 'LeftTop' | 'LeftCenter' | 'LeftBottom' | 'RightTop' | 'RightCenter' | 'RightBottom';
/**
 * Configuration settings for the toggle button used in the SpeechToText component.
 */
export  class ButtonSettings extends base.ChildProperty<ButtonSettings> {
    /**
     * Specifies the text content to be displayed when the SpeechToText button is in the "start" state.
     * This content appears alongside the icon or as standalone text based on the configuration.
     *
     * @type {string}
     * @default ""
     */
    content: string;
    /**
     * Specifies the text content to be displayed when the SpeechToText button is in the "stop" state.
     * This content appears alongside the icon or as standalone text based on the configuration.
     *
     * @type {string}
     * @default ""
     */
    stopContent: string;
    /**
     * Specifies the CSS classes for the icon displayed on the SpeechToText button.
     * This class determines the appearance of the button icon in "start" state.
     *
     * @type {string}
     * @default ""
     */
    iconCss: string;
    /**
     * Specifies the CSS classes for the icon displayed when the SpeechToText button is in the "stop" state.
     * This class determines the styling of the button icon in the stop state, allowing for clear visual feedback.
     *
     * @type {string}
     * @default ""
     */
    stopIconCss: string;
    /**
     * Specifies the position of the icon relative to the button text content in the SpeechToText component.
     * This property can accept either a string or an buttons.IconPosition enum to determine the position of the icon.
     *
     * @type {string | buttons.IconPosition}
     * @default "Left"
     */
    iconPosition: string | buttons.IconPosition;
    /**
     * Specifies whether the button should be styled as a primary action button in the SpeechToText component.
     * When set to `true`, the button applies primary styling.
     *
     * @type {boolean}
     * @default false
     */
    isPrimary: boolean;
}
/**
 * Configuration settings for tooltips in the SpeechToText component.
 * This allows customization of the tooltip content and its positioning.
 */
export  class TooltipSettings extends base.ChildProperty<TooltipSettings> {
    /**
     * The text displayed when the user hovers over the button while it is in the listening state,
     * showing the start listening option.
     * @type {string}
     * @default 'Start listening'
     */
    content: string;
    /**
     * The text displayed when the user hovers over the button while listening is in progress,
     * and the button shows the stop icon.
     * @type {string}
     * @default 'Stop listening'
     */
    stopContent: string;
    /**
     * Specifies the position of the tooltip in the UI, indicating where the tooltip should appear.
     *
     * @isenumeration true
     * @asptype TooltipPosition
     * @default 'TopCenter'
     */
    position: TooltipPosition;
}
/**
 * Enum representing the operational states of the SpeechToText component.
 */
export  enum SpeechToTextState {
    /**
     * Specifies the state where the SpeechToText component is inactive and not processing spoken input.
     */
    Inactive = "Inactive",
    /**
     * Specifies the state where the SpeechToText component is actively listening to spoken input.
     */
    Listening = "Listening",
    /**
     * Specifies the state where the SpeechToText component has stopped processing spoken input.
     */
    Stopped = "Stopped"
}
/**
 * Represents the event arguments when a listening is started in the Speech to text component.
 */
export interface StartListeningEventArgs extends base.BaseEventArgs {
    /**
     * Indicates whether the listening or speech action should be canceled.
     * Setting this to `true` prevents listening.
     *
     * @type {boolean}
     * @default false
     */
    cancel: boolean;
    /**
     * Specifies the event type associated with the start listening action.
     *
     * @type {Event}
     */
    event: Event;
    /**
     * Represents the current state of the component when listening starts.
     *
     * @isenumeration true
     * @asptype SpeechToTextState
     * @default 'Inactive'
     */
    listeningState: SpeechToTextState;
    /**
     * Indicates whether the listening event was triggered by user interaction (`true`)
     * or programmatically (`false`).
     *
     * @type {boolean}
     * @default false
     */
    isInteracted: boolean;
}
/**
 *  Represents the event arguments triggered when listening stops in the SpeechToText component.
 */
export interface StopListeningEventArgs extends base.BaseEventArgs {
    /**
     * Specifies the event type associated with the stop listening action.
     *
     * @type {Event}
     */
    event: Event;
    /**
     * Represents the current state of the component when listening stops.
     *
     * @isenumeration true
     * @asptype SpeechToTextState
     * @default 'Inactive'
     */
    listeningState: SpeechToTextState;
    /**
     * Indicates whether the listening event was triggered by user interaction (`true`)
     * or programmatically (`false`).
     * @type {boolean}
     * @default false
     */
    isInteracted: boolean;
}
/**
 * Represents the event arguments triggered when a transcript is updated in the SpeechToText component.
 */
export interface TranscriptChangedEventArgs extends base.BaseEventArgs {
    /**
     * Specifies the event type associated with the transcript been update in the SpeechToText component.
     * Represents the event arguments when a listening is processed in the speech to text component.
     *
     * @type {Event}
     */
    event: Event;
    /**
     * Specifies the transcribed text captured from the speech to text.
     * This property contains the text representation of recorded speech.
     *
     * @type {string}
     * @default ''
     */
    transcript: string;
    /**
     * Specifies whether the recognized speech result is interim or final.
     * Returns `true` when interim results are returned and `false` when it is a final result.
     * The value is determined based on the `allowInterimResults` property.
     *
     * @type {boolean}
     * @default true
     */
    isInterimResult: boolean;
}
/**
 * Represents the event arguments triggered when listening is disabled or exceptions are raised in the SpeechToText component.
 */
export interface ErrorEventArgs extends base.BaseEventArgs {
    /**
     * Specifies the data provided when an error event is triggered during speech-to-text actions.
     * This property helps identify the specific error event that occurred during listening or speaking,
     * allowing to differentiate between various issues such as microphone access failures,
     * unsupported language models, or network issues.
     *
     * @type {Event}
     */
    event?: Event;
    /**
     * Represents a string describing the error type that occurred during speech-to-text actions.
     * This value indicates what went wrong, such as 'audio-capture' or 'not-allowed', and helps to find
     * the cause of the failure for better troubleshooting.
     *
     * @type {string}
     * @default ''
     */
    error: string;
    /**
     * A message providing further details about the error.
     * This message gives more context or clarification on the error that occurred,
     * helping user to better understand the issue.
     * It could include user-facing messages or more technical error details.
     *
     * @type {string}
     * @default ''
     */
    errorMessage: string;
}
export  class SpeechToText extends base.Component<HTMLElement> implements base.INotifyPropertyChanged {
    /**
     * The transcribed text from the speech-to-text process.
     * This property updates dynamically during speech recognition, providing both interim and final results.
     * It can be used to display or process the transcribed speech.
     *
     * @type {string}
     * @default ''
     */
    transcript: string;
    /**
     * The language and locale used for speech recognition.
     * This ensures proper transcription by selecting the correct language model.
     * Common formats: 'en-US' (English, United States), 'es-ES' (Spanish, Spain), 'fr-FR' (French, France).
     *
     * @type {string}
     * @default ''
     */
    lang: string;
    /**
     * Determines whether interim results should be provided during speech recognition.
     * If true, partial results are delivered in real-time, allowing for a dynamic user experience.
     * If false, only final results will be provided after the recognition process is complete.
     *
     * @type {boolean}
     * @default true
     */
    allowInterimResults: boolean;
    /**
     * Determines whether the tooltip should be displayed on hover over the SpeechToText button.
     * If true, the tooltip will be shown to provide additional information about the current state or action.
     *
     * @type {boolean}
     * @default true
     */
    showTooltip: boolean;
    /**
     * Represents the current operational state of the component.
     * This state helps manage transitions and control the component's behavior.
     * Possible values:
     * - 'Inactive': base.Component is idle.
     * - 'Listening': The component is actively listening for speech input.
     * - 'Stopped': Listening has stopped.
     *
     * @isenumeration true
     * @asptype SpeechToTextState
     * @default 'Inactive'
     */
    listeningState: SpeechToTextState;
    /**
     * Customizes the appearance and functionality of the record button.
     * This allows for customization of button content, icons, and positions.
     * Use it to adjust the button's visual and functional properties according to your needs.
     *
     * @default null
     * @type {ButtonSettingsModel}
     */
    buttonSettings: ButtonSettingsModel;
    /**
     * Defines tooltip content and positioning for guiding user interactions.
     * Tooltips provide helpful instructions or descriptions for button actions, improving user experience.
     *
     * @default null
     * @type {TooltipSettingsModel}
     */
    tooltipSettings: TooltipSettingsModel;
    /**
     * Indicates whether the component is disabled.
     * When true, all interactions with the component (e.g., clicking, listening) are disabled.
     * Useful for preventing user interaction in specific states, such as during processing or error handling.
     *
     * @type {boolean}
     * @default false
     */
    disabled: boolean;
    /**
     * Specifies additional CSS classes for customizing the component's appearance.
     * Allows applying custom styles to match application requirements
     * This property can be used to extend the component's default style.
     *
     * @type {string}
     * @default ''
     */
    cssClass: string;
    /**
     * Allows additional HTML attributes to be added to the root element of the SpeechToText button.
     * This property accepts a key-value pair format for attributes such as name, aria-label, and others.
     * This helps to make the button more accessible and adaptable to specific requirements.
     *
     * @type {Object}
     * @default null
     */
    htmlAttributes: {
        [key: string]: string;
    };
    /**
     * Triggered when the SpeechToText component is initialized and ready for interaction.
     * This event indicates that the component is fully loaded and can start processing user input.
     * Use this event to execute initialization logic or show the component's ready state.
     *
     * @event created
     */
    created: base.EmitType<Event>;
    /**
     * Triggered when speech recognition begins listening for audio input.
     * This event fires when the user starts the speech-to-text process.
     * Use this event to execute logic or display feedback (e.g., a "Listening..." message).
     *
     * @param {StartListeningEventArgs} args - The event arguments containing the state and context information for the start of the listening process.
     * @event onStart
     */
    onStart: base.EmitType<StartListeningEventArgs>;
    /**
     * Triggered when speech recognition stops listening for audio input.
     * This event marks the end of the listening session, either due to user action or completion of recognition.
     * Use this event to trigger post-processing logic or indicate that listening has ended (e.g., show "Listening stopped").
     *
     * @param {StopListeningEventArgs} args - The event arguments containing the state and context information for the stop action.
     * @event onStop
     */
    onStop: base.EmitType<StopListeningEventArgs>;
    /**
     * Triggered when an error occurs during speech recognition or listening, this event provides details to handle exceptions, display messages, and troubleshoot issues like microphone failures, network errors, or unsupported browsers and language models.
     *
     * Common error strings may include:
     * - `no-speech`: No speech detected. Please speak into the microphone.
     * - `aborted`: Speech recognition was aborted.
     * - `audio-capture`: No microphone detected. Ensure your microphone is connected.
     * - `not-allowed`: Microphone access denied. Allow microphone permissions.
     * - `service-not-allowed`: Speech recognition service is not allowed in this context.
     * - `network`: Network error occurred. Check your internet connection.
     * - `unsupported-browser`: The browser does not support the SpeechRecognition API.
     *
     * In addition to handling common speech recognition errors, it is essential to handle unsupported browser errors. For example, if the browser does not support the `SpeechRecognition` API, the `unsupported-browser` error string will be triggered. This can help notify users to switch to a compatible browser.
     *
     * For more details on the error strings and how to handle them, refer to the documentation:
     * [SpeechRecognitionErrorEvent error](https://developer.mozilla.org/en-US/docs/Web/API/SpeechRecognitionErrorEvent/error)
     *
     * @param {ErrorEventArgs} args - The event arguments containing the error details:
     *    - `error`: The error string representing the specific issue that occurred.
     *    - `message`: A brief message describing the error.
     *    - `event`: The event object that triggered the error (contains details like the type of error event).
     *
     * @event onError
     */
    onError: base.EmitType<ErrorEventArgs>;
    /**
     * Triggered when the transcript is updated during the speech recognition process.
     * This event delivers updated text as the user speaks. It can be used to update the UI with real-time transcription.
     * The event provides both interim and final transcript results, depending on the configuration.
     *
     * @param {TranscriptChangedEventArgs} args - The event arguments containing the latest transcript text.
     * @event transcriptChanged
     */
    transcriptChanged: base.EmitType<TranscriptChangedEventArgs>;
    /**
     * Constructor for creating the component
     *
     * @param {SpeechToTextModel} options - Specifies the SpeechToTextModel model.
     * @param {string | HTMLElement} element - Specifies the element to render as component.
     * @private
     */
    constructor(options?: SpeechToTextModel, element?: string | HTMLElement);
    /**
     * Initialize the event handler
     *
     * @private
     * @returns {void}
     */
    protected preRender(): void;
    protected getDirective(): string;
    /**
     * To get component name.
     *
     * @returns {string} - It returns the current module name.
     * @private
     */
    getModuleName(): string;
    /**
     * Get the properties to be maintained in the persisted state.
     *
     * @private
     * @returns {string} - It returns the persisted data.
     */
    protected getPersistData(): string;
    protected render(): void;
    private recognition;
    private micOn;
    private buttonInst;
    private tooltipInst;
    private fullTranscript;
    private isClicked;
    private isUserInteracted;
    private hasStarted;
    private l10n;
    private initializeLocale;
    private renderSpeechToText;
    private updateAriaLabel;
    private updateCssClass;
    private updateButtonCssClass;
    private updateTooltip;
    private handleStateChange;
    private addHtmlAttributes;
    private removeHtmlAttributes;
    private wireEvents;
    private unWireEvents;
    private handleButtonClick;
    private triggerUnSupportedError;
    private initializeSpeechRecognition;
    private handleStartRecognition;
    private triggerUnSupportedStart;
    private startSpeechRecognition;
    private stopSpeechRecognition;
    private handleStopRecognition;
    private buttonSettingsChanges;
    private destroyAndNullify;
    /**
     * Destroy the SpeechToText.
     *
     * @returns {void}
     */
    destroy(): void;
    /**
     * Begins the audio capture process by listening to the user's microphone input.
     * This method initiates the speech-to-text process and continuously updates the `transcript` property with interim and final recognition results.
     *
     * @returns {void} No return value.
     */
    startListening(): void;
    /**
     * Stops the audio capture process and finalizes the speech recognition.
     * This method ends the ongoing speech-to-text operation and completes the recognition process, storing the final transcription.
     * It is typically called to stop listening when the user is finished speaking.
     *
     * @returns {void} No return value.
     */
    stopListening(): void;
    /**
     * Called if any of the property value is changed.
     *
     * @param  {SpeechToTextModel} newProp - Specifies new properties
     * @param  {SpeechToTextModel} oldProp - Specifies old properties
     * @returns {void}
     * @private
     */
    onPropertyChanged(newProp: SpeechToTextModel, oldProp?: SpeechToTextModel): void;
}
//node_modules/@syncfusion/ej2-inputs/src/speech-to-text/speech-to-text-model.d.ts
/**
 * Interface for a class ButtonSettings
 */
export interface ButtonSettingsModel {
    /**
     * Specifies the text content to be displayed when the SpeechToText button is in the "start" state.
     * This content appears alongside the icon or as standalone text based on the configuration.
     *
     * @type {string}
     * @default ""
     */
    content?: string;
    /**
     * Specifies the text content to be displayed when the SpeechToText button is in the "stop" state.
     * This content appears alongside the icon or as standalone text based on the configuration.
     *
     * @type {string}
     * @default ""
     */
    stopContent?: string;
    /**
     * Specifies the CSS classes for the icon displayed on the SpeechToText button.
     * This class determines the appearance of the button icon in "start" state.
     *
     * @type {string}
     * @default ""
     */
    iconCss?: string;
    /**
     * Specifies the CSS classes for the icon displayed when the SpeechToText button is in the "stop" state.
     * This class determines the styling of the button icon in the stop state, allowing for clear visual feedback.
     *
     * @type {string}
     * @default ""
     */
    stopIconCss?: string;
    /**
     * Specifies the position of the icon relative to the button text content in the SpeechToText component.
     * This property can accept either a string or an buttons.IconPosition enum to determine the position of the icon.
     *
     * @type {string | buttons.IconPosition}
     * @default "Left"
     */
    iconPosition?: string | buttons.IconPosition;
    /**
     * Specifies whether the button should be styled as a primary action button in the SpeechToText component.
     * When set to `true`, the button applies primary styling.
     *
     * @type {boolean}
     * @default false
     */
    isPrimary?: boolean;
}
/**
 * Interface for a class TooltipSettings
 */
export interface TooltipSettingsModel {
    /**
     * The text displayed when the user hovers over the button while it is in the listening state,
     * showing the start listening option.
     * @type {string}
     * @default 'Start listening'
     */
    content?: string;
    /**
     * The text displayed when the user hovers over the button while listening is in progress,
     * and the button shows the stop icon.
     * @type {string}
     * @default 'Stop listening'
     */
    stopContent?: string;
    /**
     * Specifies the position of the tooltip in the UI, indicating where the tooltip should appear.
     *
     * @isenumeration true
     * @asptype TooltipPosition
     * @default 'TopCenter'
     */
    position?: TooltipPosition;
}
/**
 * Interface for a class SpeechToText
 */
export interface SpeechToTextModel extends base.ComponentModel{
    /**
     * The transcribed text from the speech-to-text process.
     * This property updates dynamically during speech recognition, providing both interim and final results.
     * It can be used to display or process the transcribed speech.
     *
     * @type {string}
     * @default ''
     */
    transcript?: string;
    /**
     * The language and locale used for speech recognition.
     * This ensures proper transcription by selecting the correct language model.
     * Common formats: 'en-US' (English, United States), 'es-ES' (Spanish, Spain), 'fr-FR' (French, France).
     *
     * @type {string}
     * @default ''
     */
    lang?: string;
    /**
     * Determines whether interim results should be provided during speech recognition.
     * If true, partial results are delivered in real-time, allowing for a dynamic user experience.
     * If false, only final results will be provided after the recognition process is complete.
     *
     * @type {boolean}
     * @default true
     */
    allowInterimResults?: boolean;
    /**
     * Determines whether the tooltip should be displayed on hover over the SpeechToText button.
     * If true, the tooltip will be shown to provide additional information about the current state or action.
     *
     * @type {boolean}
     * @default true
     */
    showTooltip?: boolean;
    /**
     * Represents the current operational state of the component.
     * This state helps manage transitions and control the component's behavior.
     * Possible values:
     * - 'Inactive': base.Component is idle.
     * - 'Listening': The component is actively listening for speech input.
     * - 'Stopped': Listening has stopped.
     *
     * @isenumeration true
     * @asptype SpeechToTextState
     * @default 'Inactive'
     */
    listeningState?: SpeechToTextState;
    /**
     * Customizes the appearance and functionality of the record button.
     * This allows for customization of button content, icons, and positions.
     * Use it to adjust the button's visual and functional properties according to your needs.
     *
     * @default null
     * @type {ButtonSettingsModel}
     */
    buttonSettings?: ButtonSettingsModel;
    /**
     * Defines tooltip content and positioning for guiding user interactions.
     * Tooltips provide helpful instructions or descriptions for button actions, improving user experience.
     *
     * @default null
     * @type {TooltipSettingsModel}
     */
    tooltipSettings?: TooltipSettingsModel;
    /**
     * Indicates whether the component is disabled.
     * When true, all interactions with the component (e.g., clicking, listening) are disabled.
     * Useful for preventing user interaction in specific states, such as during processing or error handling.
     *
     * @type {boolean}
     * @default false
     */
    disabled?: boolean;
    /**
     * Specifies additional CSS classes for customizing the component's appearance.
     * Allows applying custom styles to match application requirements
     * This property can be used to extend the component's default style.
     *
     * @type {string}
     * @default ''
     */
    cssClass?: string;
    /**
     * Allows additional HTML attributes to be added to the root element of the SpeechToText button.
     * This property accepts a key-value pair format for attributes such as name, aria-label, and others.
     * This helps to make the button more accessible and adaptable to specific requirements.
     *
     * @type {Object}
     * @default null
     */
    htmlAttributes?: { [key: string]: string };
    /**
     * Triggered when the SpeechToText component is initialized and ready for interaction.
     * This event indicates that the component is fully loaded and can start processing user input.
     * Use this event to execute initialization logic or show the component's ready state.
     *
     * @event created
     */
    created?: base.EmitType<Event>;
    /**
     * Triggered when speech recognition begins listening for audio input.
     * This event fires when the user starts the speech-to-text process.
     * Use this event to execute logic or display feedback (e.g., a "Listening..." message).
     *
     * @param {StartListeningEventArgs} args - The event arguments containing the state and context information for the start of the listening process.
     * @event onStart
     */
    onStart?: base.EmitType<StartListeningEventArgs>;
    /**
     * Triggered when speech recognition stops listening for audio input.
     * This event marks the end of the listening session, either due to user action or completion of recognition.
     * Use this event to trigger post-processing logic or indicate that listening has ended (e.g., show "Listening stopped").
     *
     * @param {StopListeningEventArgs} args - The event arguments containing the state and context information for the stop action.
     * @event onStop
     */
    onStop?: base.EmitType<StopListeningEventArgs>;
    /**
     * Triggered when an error occurs during speech recognition or listening, this event provides details to handle exceptions, display messages, and troubleshoot issues like microphone failures, network errors, or unsupported browsers and language models.
     *
     * Common error strings may include:
     * - `no-speech`: No speech detected. Please speak into the microphone.
     * - `aborted`: Speech recognition was aborted.
     * - `audio-capture`: No microphone detected. Ensure your microphone is connected.
     * - `not-allowed`: Microphone access denied. Allow microphone permissions.
     * - `service-not-allowed`: Speech recognition service is not allowed in this context.
     * - `network`: Network error occurred. Check your internet connection.
     * - `unsupported-browser`: The browser does not support the SpeechRecognition API.
     *
     * In addition to handling common speech recognition errors, it is essential to handle unsupported browser errors. For example, if the browser does not support the `SpeechRecognition` API, the `unsupported-browser` error string will be triggered. This can help notify users to switch to a compatible browser.
     *
     * For more details on the error strings and how to handle them, refer to the documentation:
     * [SpeechRecognitionErrorEvent error](https://developer.mozilla.org/en-US/docs/Web/API/SpeechRecognitionErrorEvent/error)
     *
     * @param {ErrorEventArgs} args - The event arguments containing the error details:
     *    - `error`: The error string representing the specific issue that occurred.
     *    - `message`: A brief message describing the error.
     *    - `event`: The event object that triggered the error (contains details like the type of error event).
     *
     * @event onError
     */
    onError?: base.EmitType<ErrorEventArgs>;
    /**
     * Triggered when the transcript is updated during the speech recognition process.
     * This event delivers updated text as the user speaks. It can be used to update the UI with real-time transcription.
     * The event provides both interim and final transcript results, depending on the configuration.
     *
     * @param {TranscriptChangedEventArgs} args - The event arguments containing the latest transcript text.
     * @event transcriptChanged
     */
    transcriptChanged?: base.EmitType<TranscriptChangedEventArgs>;
}
//node_modules/@syncfusion/ej2-inputs/src/smart-textarea/smart-textarea.d.ts

export interface ChatParameters {
    messages: ChatMessage[];
    temperature?: number;
    maxTokens?: number;
    stopSequences: string[];
    frequencyPenalty?: number;
    presencePenalty?: number;
}
export  enum ChatMessageRole {
    System = "system",
    User = "user",
    Assistant = "assistant"
}
export interface ChatMessage {
    role: ChatMessageRole;
    content: string;
}
export  type SuggestionMode = 'Enable' | 'Disable' | 'None';
export  class SmartTextArea extends TextArea {
    private pendingSuggestionAbort;
    /**
     * Represents the user's role or designation, which can be used to provide role-specific suggestions or content within the smart textarea.
     * Provide a string that describes who is typing and for what reason, optionally giving other contextual information.
     *
     * @default ''
     */
    userRole: string;
    /**
     * Specifies a collection of phrases commonly used by the user, which can be leveraged for auto-completion and suggestions.
     * Provide an array of string phrases commonly used by the user to enhance auto-completion and suggestions. Include preferred tone, voice, and any relevant information such as policies, URLs, or keywords for improved suggestions.
     *
     * @default []
     */
    UserPhrases: string[];
    /**
     * Callback function to get suggestion text from server to display smart suggestion.
     *
     * @returns {string}
     */
    aiSuggestionHandler: Function;
    /**
     * Specifies whether suggestions should appear in a popup or inline within the text area.
     * possible values are:
     * * `Enable` - Suggestions are always shown as a floating overlay, which can be tapped or clicked.
     * * `Disable` - Suggestions are always shown inline and can be accepted by pressing `Tab` key.
     * * `None` - Touch devices display suggestions as an overlay, while non-touch devices use inline suggestions.
     *
     * @default None
     */
    showSuggestionOnPopup: SuggestionMode;
    /**
     * Constructor for creating the widget
     *
     * @private
     * @param {SmartTextArea} options - Specifies Smart text area model
     * @param {string | HTMLTextAreaElement} element - Specifies target element
     */
    constructor(options?: SmartTextAreaModel, element?: string | HTMLTextAreaElement);
    private textArea;
    private suggestionDisplay;
    private typingDebounceTimeout;
    render(): void;
    protected wireEvents(): void;
    protected unWireEvents(): void;
    protected keydownHandler(): void;
    private shouldShowInlineSuggestions;
    private handleKeyDown;
    private handleKeyUp;
    private handleTypingPaused;
    private removeExistingOrPendingSuggestion;
    private createSuggestionPrompt;
    private requestSuggestionAsync;
    private validateSuggestion;
    private indexOfAny;
    getModuleName(): string;
    destroy(): void;
}
//node_modules/@syncfusion/ej2-inputs/src/smart-textarea/smart-textarea-model.d.ts
/**
 * Interface for a class SmartTextArea
 */
export interface SmartTextAreaModel extends TextAreaModel{
    /**
     * Represents the user's role or designation, which can be used to provide role-specific suggestions or content within the smart textarea.
     * Provide a string that describes who is typing and for what reason, optionally giving other contextual information.
     *
     * @default ''
     */
    userRole?: string;
    /**
     * Specifies a collection of phrases commonly used by the user, which can be leveraged for auto-completion and suggestions.
     * Provide an array of string phrases commonly used by the user to enhance auto-completion and suggestions. Include preferred tone, voice, and any relevant information such as policies, URLs, or keywords for improved suggestions.
     *
     * @default []
     */
    UserPhrases?: string[];
    /**
     * Callback function to get suggestion text from server to display smart suggestion.
     *
     * @returns {string}
     */
    aiSuggestionHandler?: Function;
    /**
     * Specifies whether suggestions should appear in a popup or inline within the text area.
     * possible values are:
     * * `Enable` - Suggestions are always shown as a floating overlay, which can be tapped or clicked.
     * * `Disable` - Suggestions are always shown inline and can be accepted by pressing `Tab` key.
     * * `None` - Touch devices display suggestions as an overlay, while non-touch devices use inline suggestions.
     *
     * @default None
     */
    showSuggestionOnPopup?: SuggestionMode;
}
//node_modules/@syncfusion/ej2-inputs/src/smart-textarea/caret-helper.d.ts
export  type CaretPosition = {
    left: number;
    top: number;
    height: number;
    pos?: number;
    elemStyle?: CSSStyleDeclaration;
};
export  class CaretPositionHelper {
    private static properties;
    private static createStyledDiv;
    private static createCaretMarker;
    private static escapeHtml;
    static getCaretPosition(target: HTMLInputElement | HTMLTextAreaElement): CaretPosition;
    static adjustScrollToCaretPosition(element: HTMLInputElement | HTMLTextAreaElement): void;
    static getTextAreaPosition(element: HTMLInputElement | HTMLTextAreaElement): CaretPosition;
    static insertCharacter(element: HTMLInputElement | HTMLTextAreaElement, text: string): void;
}
//node_modules/@syncfusion/ej2-inputs/src/slider/slider.d.ts
/**
 * Configures the ticks data of the Slider.
 */
export  class TicksData extends base.ChildProperty<TicksData> {
    /**
     * It is used to denote the position of the ticks in the Slider. The available options are:
     *
     *  * before - Ticks are placed in the top of the horizontal slider bar or at the left of the vertical slider bar.
     *  * after - Ticks are placed in the bottom of the horizontal slider bar or at the right of the vertical slider bar.
     *  * both - Ticks are placed on the both side of the Slider bar.
     *  * none - Ticks are not shown.
     * {% codeBlock src='slider/placement/index.md' %}{% endcodeBlock %}
     *
     * @default 'None'
     */
    placement: Placement;
    /**
     * It is used to denote the distance between two major (large) ticks from the scale of the Slider.
     * {% codeBlock src='slider/largestep/index.md' %}{% endcodeBlock %}
     *
     * @default 10
     */
    largeStep: number;
    /**
     * It is used to denote the distance between two minor (small) ticks from the scale of the Slider.
     * {% codeBlock src='slider/smallstep/index.md' %}{% endcodeBlock %}
     *
     * @default 1
     */
    smallStep: number;
    /**
     * We can show or hide the small ticks in the Slider, which will be appeared in between the largeTicks.
     *
     * @default false
     */
    showSmallTicks: boolean;
    /**
     * It is used to customize the Slider scale value to the desired format using Internationalization or events(custom formatting).
     * {% codeBlock src='slider/format/index.md' %}{% endcodeBlock %}
     */
    format: string;
}
/**
 * It is used to denote the TooltipChange Event arguments.
 */
export interface SliderTooltipEventArgs {
    /**
     * It is used to get the value of the Slider.
     *
     * @isGenericType true
     */
    value: number | number[];
    /**
     * It is used to get the text shown in the Slider tooltip.
     */
    text: string;
}
/**
 * It is used to denote the Slider Change/Changed Event arguments.
 */
export interface SliderChangeEventArgs {
    /**
     * It is used to get the current value of the Slider.
     *
     * @isGenericType true
     */
    value: number | number[];
    /**
     * It is used to get the previous value of the Slider.
     *
     * @isGenericType true
     */
    previousValue: number | number[];
    /**
     * It is used to get the current text or formatted text of the Slider, which is placed in tooltip.
     */
    text?: string;
    /**
     * It is used to get the action applied on the Slider.
     */
    action: string;
    /**
     * It is used to check whether the event triggered is via user or programmatic way.
     */
    isInteracted: boolean;
}
/**
 * It is used to denote the TicksRender Event arguments.
 */
export interface SliderTickEventArgs {
    /**
     * It is used to get the value of the tick.
     */
    value: number;
    /**
     * It is used to get the label text of the tick.
     */
    text: string;
    /**
     * It is used to get the current tick element.
     */
    tickElement: Element;
}
/**
 * It is used t denote the ticks rendered Event arguments.
 */
export interface SliderTickRenderedEventArgs {
    /**
     * It returns the wrapper of the ticks element.
     */
    ticksWrapper: HTMLElement;
    /**
     * It returns the collection of tick elements.
     */
    tickElements: HTMLElement[];
}
/**
 * It illustrates the color track data in slider.
 * {% codeBlock src='slider/colorrange/index.md' %}{% endcodeBlock %}
 */
export  class ColorRangeData extends base.ChildProperty<ColorRangeData> {
    /**
     * It is used to set the color in the slider bar.
     *
     * @default ''
     */
    color: string;
    /**
     * It is used to get the starting value for applying color.
     *
     * @default null
     */
    start: number;
    /**
     * It is used to get the end value for applying color.
     *
     * @default null
     */
    end: number;
}
/**
 * It illustrates the limit data in slider.
 * {% codeBlock src='slider/limits/index.md' %}{% endcodeBlock %}
 */
export  class LimitData extends base.ChildProperty<LimitData> {
    /**
     * It is used to enable the limit in the slider.
     *
     * @default false
     */
    enabled: boolean;
    /**
     * It is used to set the minimum start limit value.
     *
     * @default null
     */
    minStart: number;
    /**
     * It is used to set the minimum end limit value.
     *
     * @default null
     */
    minEnd: number;
    /**
     * It is used to set the maximum start limit value.
     *
     * @default null
     */
    maxStart: number;
    /**
     * It is used to set the maximum end limit value.
     *
     * @default null
     */
    maxEnd: number;
    /**
     * It is used to lock the first handle.
     * {% codeBlock src='slider/limitStartHandleFixed/index.md' %}{% endcodeBlock %}
     *
     * @default false
     */
    startHandleFixed: boolean;
    /**
     * It is used to lock the second handle.
     * {% codeBlock src='slider/limitEndHandleFixed/index.md' %}{% endcodeBlock %}
     *
     * @default false
     */
    endHandleFixed: boolean;
}
/**
 * It illustrates the tooltip data in slider.
 */
export  class TooltipData extends base.ChildProperty<TooltipData> {
    /**
     * It is used to customize the Tooltip which accepts custom CSS class names that define
     *  specific user-defined styles and themes to be applied on the Tooltip element.
     *
     * @default ''
     */
    cssClass: string;
    /**
     * It is used to denote the position for the tooltip element in the Slider. The available options are:
     * {% codeBlock src='slider/tooltipplacement/index.md' %}{% endcodeBlock %}
     *  * Before - Tooltip is shown in the top of the horizontal slider bar or at the left of the vertical slider bar.
     *  * After - Tooltip is shown in the bottom of the horizontal slider bar or at the right of the vertical slider bar.
     */
    placement: TooltipPlacement;
    /**
     * It is used to determine the device mode to show the Tooltip.
     * If it is in desktop, it will show the Tooltip content when hovering on the target element.
     * If it is in touch device. It will show the Tooltip content when tap and holding on the target element.
     * {% codeBlock src='slider/tooltipShowOn/index.md' %}{% endcodeBlock %}
     *
     * @default 'Auto'
     */
    showOn: TooltipShowOn;
    /**
     * It is used to show or hide the Tooltip of Slider base.Component.
     * {% codeBlock src='slider/tooltipIsVisible/index.md' %}{% endcodeBlock %}
     */
    isVisible: boolean;
    /**
     * It is used to customize the Tooltip content to the desired format
     *  using internationalization or events (custom formatting).
     */
    format: string;
}
/**
 * Ticks Placement.
 * ```props
 * 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.
 * ```
 */
export  type Placement = 'Before' | 'After' | 'Both' | 'None';
/**
 * Tooltip Placement.
 * ```props
 * 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.
 * ```
 */
export  type TooltipPlacement = 'Before' | 'After';
/**
 * Tooltip ShowOn.
 * ```props
 * Focus :- Tooltip is shown while focusing the Slider handle.
 * Hover :- Tooltip is shown while hovering the Slider handle.
 * Always :- Tooltip is shown always.
 * Auto :- Tooltip is shown while hovering the Slider handle in desktop and tap and hold in touch devices.
 * ```
 */
export  type TooltipShowOn = 'Focus' | 'Hover' | 'Always' | 'Auto';
/**
 * Slider type.
 * ```props
 * Default :- Allows to select a single value in the Slider.
 * MinRange :- Allows to select a single value in the Slider, it display’s a shadow from the start to the current value.
 * Range :- Allows to select a range of values in the Slider.
 * ```
 */
export  type SliderType = 'Default' | 'MinRange' | 'Range';
/**
 * Slider orientation.
 * ```props
 * Horizontal :- Renders the slider in horizontal orientation.
 * Vertical :- Renders the slider in vertical 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 isMaterial3;
    private isBootstrap;
    private isBootstrap4;
    private isTailwind;
    private isTailwind3;
    private isBootstrap5;
    private isFluent;
    private isFluent2;
    private isBootstrap5Dot3;
    private zIndex;
    private l10n;
    private internationalization;
    private tooltipFormatInfo;
    private ticksFormatInfo;
    private customAriaText;
    private tickElementCollection;
    private limitBarFirst;
    private limitBarSecond;
    private firstPartRemain;
    private secondPartRemain;
    private minDiff;
    private drag;
    private isForm;
    private formElement;
    private formResetValue;
    private rangeBarDragged;
    private isDragComplete;
    initialTooltip: boolean;
    /**
     * It is used to denote the current value of the Slider.
     * The value should be specified in array of number when render Slider type as range.
     *
     * {% codeBlock src="slider/value-api/index.ts" %}{% endcodeBlock %}
     *
     * @default null
     * @isGenericType true
     */
    value: number | number[];
    /**
     * Specifies an array of slider values in number or string type.
     * The min and max step values are not considered.
     *
     * @default null
     */
    customValues: string[] | number[];
    /**
     * Specifies the step value for each value change when the increase / decrease
     *  button is clicked or on arrow keys press or on dragging the thumb.
     *  Refer the documentation [here](../../slider/ticks#step)
     *  to know more about this property.
     *
     * {% codeBlock src="slider/step-api/index.ts" %}{% endcodeBlock %}
     *
     * @default 1
     */
    step: number;
    /**
     * Specifies the width of the Slider.
     *
     * @default null
     */
    width: number | string;
    /**
     * Gets/Sets the minimum value of the slider.
     *
     * {% codeBlock src="slider/min-max-api/index.ts" %}{% endcodeBlock %}
     *
     * @default 0
     */
    min: number;
    /**
     * Gets/Sets the maximum value of the slider.
     *
     * {% codeBlock src="slider/min-max-api/index.ts" %}{% endcodeBlock %}
     *
     * @default 100
     */
    max: number;
    /**
     * Specifies whether the render the slider in read-only mode to restrict any user interaction.
     * The slider rendered with user defined values and can’t be interacted with user actions.
     *
     * @default false
     */
    readonly: boolean;
    /**
     * Defines the type of the Slider. The available options are:
     *  * default - Allows to a single value in the Slider.
     *  * minRange - Allows to select a single value in the Slider. It display’s a shadow from the start to the current value.
     *  * range - Allows to select a range of values in the Slider. It displays shadow in-between the selection range.
     * {% codeBlock src='slider/types/index.md' %}{% endcodeBlock %}
     *
     * @default 'Default'
     */
    type: SliderType;
    /**
     * Specifies the color to the slider based on given value.
     */
    colorRange: ColorRangeDataModel[];
    /**
     * It is used to render the slider ticks options such as placement and step values.
     * Refer the documentation [here](../../slider/ticks)
     *  to know more about this property with demo.
     * {% codeBlock src='slider/ticks/index.md' %}{% endcodeBlock %}
     * {% codeBlock src="slider/ticks-api/index.ts" %}{% endcodeBlock %}
     *
     * @default { placement: 'before' }
     */
    ticks: TicksDataModel;
    /**
     * Specified the limit within which the slider to be moved.
     * Refer the documentation [here](../../slider/limits)
     *  to know more about this property.
     *
     * {% codeBlock src="slider/limits-api/index.ts" %}{% endcodeBlock %}
     *
     * @default { enabled: false }
     */
    limits: LimitDataModel;
    /**
     * Enable or Disable the slider.
     *
     * @default true
     */
    enabled: boolean;
    /**
     * Specifies the visibility, position of the tooltip over the slider element.
     *
     * {% codeBlock src="slider/tooltip-api/index.ts" %}{% endcodeBlock %}
     *
     * @default { placement: 'Before', isVisible: false, showOn: 'Focus', format: null }
     */
    tooltip: TooltipDataModel;
    /**
     * Specifies whether to show or hide the increase/decrease buttons
     * of Slider to change the slider value.
     * Refer the documentation [here](../../slider/getting-started#buttons)
     *  to know more about this property.
     *
     * {% codeBlock src="slider/showButtons-api/index.ts" %}{% endcodeBlock %}
     *
     * @default false
     */
    showButtons: boolean;
    /**
     * Enable or Disable the animation for slider movement.
     *
     * @default true
     */
    enableAnimation: boolean;
    /**
     *  Specifies whether to render the slider in vertical or horizontal orientation.
     *  Refer the documentation [here](../../slider/orientation/)
     *  to know more about this property.
     *
     * @default 'Horizontal'
     */
    orientation: SliderOrientation;
    /**
     * Specifies the custom classes to be added to the element used to customize the slider.
     * {% codeBlock src='slider/cssClass/index.md' %}{% endcodeBlock %}
     *
     * @default ''
     */
    cssClass: string;
    /**
     * Specifies whether to display or remove the untrusted HTML values in the Slider component.
     * If 'enableHtmlSanitizer' set to true, the component will sanitize any suspected untrusted strings and scripts before rendering them.
     *
     * @default true
     */
    enableHtmlSanitizer: boolean;
    /**
     * Triggers when the Slider is successfully created.
     *
     * @event 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.
     * {% codeBlock src='slider/changeEvent/index.md' %}{% endcodeBlock %}
     *
     * @event change
     */
    change: base.EmitType<SliderChangeEventArgs>;
    /**
     * Fires whenever the Slider value is changed.
     * In other term, this event will be triggered, while drag the slider thumb completed.
     *
     * @event changed
     */
    changed: base.EmitType<SliderChangeEventArgs>;
    /**
     * Triggers on rendering the ticks element in the Slider,
     * which is used to customize the ticks labels dynamically.
     * {% codeBlock src='slider/renderingticksEvent/index.md' %}{% endcodeBlock %}
     *
     * @event renderingTicks
     */
    renderingTicks: base.EmitType<SliderTickEventArgs>;
    /**
     * Triggers when the ticks are rendered on the Slider.
     * {% codeBlock src='slider/renderedticksEvent/index.md' %}{% endcodeBlock %}
     *
     * @event renderedTicks
     */
    renderedTicks: base.EmitType<SliderTickRenderedEventArgs>;
    /**
     * Triggers when the Sider tooltip value is changed.
     * {% codeBlock src='slider/tooltipChangeEvent/index.md' %}{% endcodeBlock %}
     *
     * @event tooltipChange
     */
    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;
    /**
     * To Initialize the control rendering
     *
     * @returns {void}
     * @private
     */
    render(): void;
    private initialize;
    private setElementWidth;
    private setCSSClass;
    private setEnabled;
    private getTheme;
    /**
     * Initialize the rendering
     *
     * @returns {void}
     * @private
     */
    private initRender;
    private getThemeInitialization;
    private createRangeBar;
    private createLimitBar;
    private setOrientClass;
    private setAriaAttributes;
    private createSecondHandle;
    private createFirstHandle;
    private wireFirstHandleEvt;
    private wireSecondHandleEvt;
    private handleStart;
    private transitionEnd;
    private handleFocusOut;
    private handleFocus;
    private handleOver;
    private handleLeave;
    private setHandler;
    private setEnableRTL;
    private tooltipValue;
    private setTooltipContent;
    private formatContent;
    private addTooltipClass;
    private tooltipPlacement;
    private tooltipBeforeOpen;
    private tooltipCollision;
    private materialTooltipEventCallBack;
    private wireMaterialTooltipEvent;
    private tooltipPositionCalculation;
    private getTooltipTransformProperties;
    private openMaterialTooltip;
    private closeMaterialTooltip;
    private checkTooltipPosition;
    private setTooltipTransform;
    private renderTooltip;
    private initializeTooltipProps;
    private tooltipBeforeClose;
    private setButtons;
    private buttonTitle;
    private buttonFocusOut;
    private repeatButton;
    private repeatHandlerMouse;
    private materialChange;
    private focusHandle;
    private repeatHandlerUp;
    private customTickCounter;
    private renderScale;
    private ticksAlignment;
    private createTick;
    private formatTicksValue;
    private scaleAlignment;
    private tickValuePosition;
    private setAriaAttrValue;
    private handleValueUpdate;
    private getLimitCorrectedValues;
    private focusSliderElement;
    private buttonClick;
    private tooltipToggle;
    private buttonUp;
    private setRangeBar;
    private checkValidValueAndPos;
    private setLimitBarPositions;
    private setLimitBar;
    private getLimitValueAndPosition;
    private setValue;
    private rangeValueUpdate;
    private validateRangeValue;
    private modifyZindex;
    private setHandlePosition;
    private getHandle;
    private setRangeValue;
    private changeEvent;
    private changeEventArgs;
    private setPreviousVal;
    private updateRangeValue;
    private checkHandlePosition;
    private checkHandleValue;
    /**
     * It is used to reposition slider.
     *
     * @returns {void}
     */
    reposition(): void;
    private changeHandleValue;
    private tempStartEnd;
    private xyToPosition;
    private stepValueCalculation;
    private add;
    private positionToValue;
    private sliderBarClick;
    private handleValueAdjust;
    private dragRangeBarMove;
    private sliderBarUp;
    private sliderBarMove;
    private dragRangeBarUp;
    private checkRepeatedValue;
    private refreshTooltip;
    private openTooltip;
    private closeTooltip;
    private keyDown;
    private wireButtonEvt;
    private rangeBarMousedown;
    private elementClick;
    private wireEvents;
    private unwireEvents;
    private formResetHandler;
    private keyUp;
    private hover;
    private sliderFocusOut;
    private removeElement;
    private changeSliderType;
    private changeRtl;
    private changeOrientation;
    private updateConfig;
    private limitsPropertyChange;
    /**
     * Get the properties to be maintained in the persisted state.
     *
     * @returns {string} - Returns the string
     * @private
     */
    protected getPersistData(): string;
    /**
     * Removes the component from the DOM and detaches all its related event handlers.
     * Also it removes the attributes and classes.
     *
     * @method destroy
     * @returns {void}
     */
    destroy(): void;
    /**
     * Calls internally if any of the property value is changed.
     *
     * @param {SliderModel} newProp - Specifies the new properties
     * @param {SliderModel} oldProp - Specifies the old properties
     * @returns {void}
     * @private
     */
    onPropertyChanged(newProp: SliderModel, oldProp: SliderModel): void;
    private setReadOnly;
    private setMinMaxValue;
    private setZindex;
    setTooltip(args?: string): void;
    private setBarColor;
    /**
     * Gets the component name
     *
     * @returns {string} - Returns the string
     * @private
     */
    getModuleName(): string;
}
//node_modules/@syncfusion/ej2-inputs/src/slider/slider-model.d.ts
/**
 * Interface for a class TicksData
 */
export interface TicksDataModel {
    /**
     * It is used to denote the position of the ticks in the Slider. The available options are:
     *
     *  * before - Ticks are placed in the top of the horizontal slider bar or at the left of the vertical slider bar.
     *  * after - Ticks are placed in the bottom of the horizontal slider bar or at the right of the vertical slider bar.
     *  * both - Ticks are placed on the both side of the Slider bar.
     *  * none - Ticks are not shown.
     * {% codeBlock src='slider/placement/index.md' %}{% endcodeBlock %}
     *
     * @default 'None'
     */
    placement?: Placement;
    /**
     * It is used to denote the distance between two major (large) ticks from the scale of the Slider.
     * {% codeBlock src='slider/largestep/index.md' %}{% endcodeBlock %}
     *
     * @default 10
     */
    largeStep?: number;
    /**
     * It is used to denote the distance between two minor (small) ticks from the scale of the Slider.
     * {% codeBlock src='slider/smallstep/index.md' %}{% endcodeBlock %}
     *
     * @default 1
     */
    smallStep?: number;
    /**
     * We can show or hide the small ticks in the Slider, which will be appeared in between the largeTicks.
     *
     * @default false
     */
    showSmallTicks?: boolean;
    /**
     * It is used to customize the Slider scale value to the desired format using base.Internationalization or events(custom formatting).
     * {% codeBlock src='slider/format/index.md' %}{% endcodeBlock %}
     */
    format?: string;
}
/**
 * Interface for a class ColorRangeData
 */
export interface ColorRangeDataModel {
    /**
     * It is used to set the color in the slider bar.
     *
     * @default ''
     */
    color?: string;
    /**
     * It is used to get the starting value for applying color.
     *
     * @default null
     */
    start?: number;
    /**
     * It is used to get the end value for applying color.
     *
     * @default null
     */
    end?: number;
}
/**
 * Interface for a class LimitData
 */
export interface LimitDataModel {
    /**
     * It is used to enable the limit in the slider.
     *
     * @default false
     */
    enabled?: boolean;
    /**
     * It is used to set the minimum start limit value.
     *
     * @default null
     */
    minStart?: number;
    /**
     * It is used to set the minimum end limit value.
     *
     * @default null
     */
    minEnd?: number;
    /**
     * It is used to set the maximum start limit value.
     *
     * @default null
     */
    maxStart?: number;
    /**
     * It is used to set the maximum end limit value.
     *
     * @default null
     */
    maxEnd?: number;
    /**
     * It is used to lock the first handle.
     * {% codeBlock src='slider/limitStartHandleFixed/index.md' %}{% endcodeBlock %}
     *
     * @default false
     */
    startHandleFixed?: boolean;
    /**
     * It is used to lock the second handle.
     * {% codeBlock src='slider/limitEndHandleFixed/index.md' %}{% endcodeBlock %}
     *
     * @default false
     */
    endHandleFixed?: boolean;
}
/**
 * Interface for a class TooltipData
 */
export interface TooltipDataModel {
    /**
     * It is used to customize the popups.Tooltip which accepts custom CSS class names that define
     *  specific user-defined styles and themes to be applied on the popups.Tooltip element.
     *
     * @default ''
     */
    cssClass?: string;
    /**
     * It is used to denote the position for the tooltip element in the Slider. The available options are:
     * {% codeBlock src='slider/tooltipplacement/index.md' %}{% endcodeBlock %}
     *  * Before - popups.Tooltip is shown in the top of the horizontal slider bar or at the left of the vertical slider bar.
     *  * After - popups.Tooltip is shown in the bottom of the horizontal slider bar or at the right of the vertical slider bar.
     */
    placement?: TooltipPlacement;
    /**
     * It is used to determine the device mode to show the popups.Tooltip.
     * If it is in desktop, it will show the popups.Tooltip content when hovering on the target element.
     * If it is in touch device. It will show the popups.Tooltip content when tap and holding on the target element.
     * {% codeBlock src='slider/tooltipShowOn/index.md' %}{% endcodeBlock %}
     *
     * @default 'Auto'
     */
    showOn?: TooltipShowOn;
    /**
     * It is used to show or hide the popups.Tooltip of Slider base.Component.
     * {% codeBlock src='slider/tooltipIsVisible/index.md' %}{% endcodeBlock %}
     */
    isVisible?: boolean;
    /**
     * It is used to customize the popups.Tooltip content to the desired format
     *  using internationalization or events (custom formatting).
     */
    format?: string;
}
/**
 * Interface for a class Slider
 */
export interface SliderModel extends base.ComponentModel{
    /**
     * It is used to denote the current value of the Slider.
     * The value should be specified in array of number when render Slider type as range.
     *
     * {% codeBlock src="slider/value-api/index.ts" %}{% endcodeBlock %}
     *
     * @default null
     * @isGenericType true
     */
    value?: number | number[];
    /**
     * Specifies an array of slider values in number or string type.
     * The min and max step values are not considered.
     *
     * @default null
     */
    customValues?: string[] | number[];
    /**
     * Specifies the step value for each value change when the increase / decrease
     *  button is clicked or on arrow keys press or on dragging the thumb.
     *  Refer the documentation [here](../../slider/ticks#step)
     *  to know more about this property.
     *
     * {% codeBlock src="slider/step-api/index.ts" %}{% endcodeBlock %}
     *
     * @default 1
     */
    step?: number;
    /**
     * Specifies the width of the Slider.
     *
     * @default null
     */
    width?: number | string;
    /**
     * Gets/Sets the minimum value of the slider.
     *
     * {% codeBlock src="slider/min-max-api/index.ts" %}{% endcodeBlock %}
     *
     * @default 0
     */
    min?: number;
    /**
     * Gets/Sets the maximum value of the slider.
     *
     * {% codeBlock src="slider/min-max-api/index.ts" %}{% endcodeBlock %}
     *
     * @default 100
     */
    max?: number;
    /**
     * Specifies whether the render the slider in read-only mode to restrict any user interaction.
     * The slider rendered with user defined values and can’t be interacted with user actions.
     *
     * @default false
     */
    readonly?: boolean;
    /**
     * Defines the type of the Slider. The available options are:
     *  * default - Allows to a single value in the Slider.
     *  * minRange - Allows to select a single value in the Slider. It display’s a shadow from the start to the current value.
     *  * range - Allows to select a range of values in the Slider. It displays shadow in-between the selection range.
     * {% codeBlock src='slider/types/index.md' %}{% endcodeBlock %}
     *
     * @default 'Default'
     */
    type?: SliderType;
    /**
     * Specifies the color to the slider based on given value.
     */
    colorRange?: ColorRangeDataModel[];
    /**
     * It is used to render the slider ticks options such as placement and step values.
     * Refer the documentation [here](../../slider/ticks)
     *  to know more about this property with demo.
     * {% codeBlock src='slider/ticks/index.md' %}{% endcodeBlock %}
     * {% codeBlock src="slider/ticks-api/index.ts" %}{% endcodeBlock %}
     *
     * @default { placement: 'before' }
     */
    ticks?: TicksDataModel;
    /**
     * Specified the limit within which the slider to be moved.
     * Refer the documentation [here](../../slider/limits)
     *  to know more about this property.
     *
     * {% codeBlock src="slider/limits-api/index.ts" %}{% endcodeBlock %}
     *
     * @default { enabled: false }
     */
    limits?: LimitDataModel;
    /**
     * Enable or Disable the slider.
     *
     * @default true
     */
    enabled?: boolean;
    /**
     * Specifies the visibility, position of the tooltip over the slider element.
     *
     * {% codeBlock src="slider/tooltip-api/index.ts" %}{% endcodeBlock %}
     *
     * @default { placement: 'Before', isVisible: false, showOn: 'Focus', format: null }
     */
    tooltip?: TooltipDataModel;
    /**
     * Specifies whether to show or hide the increase/decrease buttons
     * of Slider to change the slider value.
     * Refer the documentation [here](../../slider/getting-started#buttons)
     *  to know more about this property.
     *
     * {% codeBlock src="slider/showButtons-api/index.ts" %}{% endcodeBlock %}
     *
     * @default false
     */
    showButtons?: boolean;
    /**
     * Enable or Disable the animation for slider movement.
     *
     * @default true
     */
    enableAnimation?: boolean;
    /**
     *  Specifies whether to render the slider in vertical or horizontal orientation.
     *  Refer the documentation [here](../../slider/orientation/)
     *  to know more about this property.
     *
     * @default 'Horizontal'
     */
    orientation?: SliderOrientation;
    /**
     * Specifies the custom classes to be added to the element used to customize the slider.
     * {% codeBlock src='slider/cssClass/index.md' %}{% endcodeBlock %}
     *
     * @default ''
     */
    cssClass?: string;
    /**
     * Specifies whether to display or remove the untrusted HTML values in the Slider component.
     * If 'enableHtmlSanitizer' set to true, the component will sanitize any suspected untrusted strings and scripts before rendering them.
     *
     * @default true
     */
    enableHtmlSanitizer?: boolean;
    /**
     * Triggers when the Slider is successfully created.
     *
     * @event 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.
     * {% codeBlock src='slider/changeEvent/index.md' %}{% endcodeBlock %}
     *
     * @event change
     */
    change?: base.EmitType<SliderChangeEventArgs>;
    /**
     * Fires whenever the Slider value is changed.
     * In other term, this event will be triggered, while drag the slider thumb completed.
     *
     * @event changed
     */
    changed?: base.EmitType<SliderChangeEventArgs>;
    /**
     * Triggers on rendering the ticks element in the Slider,
     * which is used to customize the ticks labels dynamically.
     * {% codeBlock src='slider/renderingticksEvent/index.md' %}{% endcodeBlock %}
     *
     * @event renderingTicks
     */
    renderingTicks?: base.EmitType<SliderTickEventArgs>;
    /**
     * Triggers when the ticks are rendered on the Slider.
     * {% codeBlock src='slider/renderedticksEvent/index.md' %}{% endcodeBlock %}
     *
     * @event renderedTicks
     */
    renderedTicks?: base.EmitType<SliderTickRenderedEventArgs>;
    /**
     * Triggers when the Sider tooltip value is changed.
     * {% codeBlock src='slider/tooltipChangeEvent/index.md' %}{% endcodeBlock %}
     *
     * @event tooltipChange
     */
    tooltipChange?: base.EmitType<SliderTooltipEventArgs>;
}
//node_modules/@syncfusion/ej2-inputs/src/signature/signature.d.ts
/**
 * The Signature component allows user to draw smooth signatures as vector outline of strokes using variable width bezier curve interpolation.
 * It allows to save signature as image.
 * You can use your finger, pen, or mouse on a tablet, touchscreen, etc., to draw your own signature on this Signature component.
 * Signature component is a user interface to draw the Signature or Text.
 * It provides supports for various Background color, Stroke color and Background Image.
 * ```html
 * <canvas id="signature"></canvas>
 * ```
 * ```typescript
 * <script>
 *   let signatureObj: Signature = new Signature(null , "#signature");
 * </script>
 * ```
 */
export  class Signature extends SignatureBase implements base.INotifyPropertyChanged {
    /**
     * Gets or sets the background color of the component.
     * The background color of the component that accepts hex value, rgb and text (like 'red'). The default value is ''.
     *
     * @default ''
     */
    backgroundColor: string;
    /**
     * Gets or sets the background image for the component.
     * An image that used to fill the background of the component. The default value is ''.
     *
     * @default ''
     */
    backgroundImage: string;
    /**
     * Gets or sets whether to disable the signature component where the opacity is set to show disabled state.
     * True, if the signature component is disabled for user interaction. The default value is false.
     *
     * @default false
     */
    disabled: boolean;
    /**
     * Gets or sets whether to prevent the interaction in signature component.
     * True, if the signature component is read only state where the user interaction is prevented. The default value is false.
     *
     * @default false
     */
    isReadOnly: boolean;
    /**
     * Gets or sets whether to save the signature along with Background Color and background Image while saving.
     * True, if signature component to save with background. The default value is true.
     *
     * @default true
     */
    saveWithBackground: boolean;
    /**
     * Gets or sets the stroke color of the signature.
     * The color of the signature stroke that accepts hex value, rgb and text (like 'red'). The default value is "#000000".
     *
     * @default '#000000'
     */
    strokeColor: string;
    /**
     * Gets or sets the minimum stroke width for signature.
     * The signature component calculates stroke width based on Velocity, MinStrokeWidth and MaxStrokeWidth.
     * The minimum width of stroke. The default value is 0.5.
     *
     * @default 0.5
     */
    minStrokeWidth: number;
    /**
     * Gets or sets the maximum stroke width for signature.
     * The signature component calculates stroke width based on Velocity, MinStrokeWidth and MaxStrokeWidth.
     * The maximum width of stroke. The default value is 2.0.
     *
     * @default 2
     */
    maxStrokeWidth: number;
    /**
     * Gets or sets the velocity to calculate the stroke thickness based on the pressure of the contact on the digitizer surface.
     * The Signature component calculates stroke thickness based on Velocity, MinStrokeWidth and MaxStrokeWidth.
     * The default value is 0.7.
     *
     * @default 0.7
     */
    velocity: number;
    /**
     * Overrides the global culture and localization value for this component. Default global culture is 'en-US'.
     *
     * @default 'en-US'
     * @private
     */
    locale: string;
    /**
     * Specifies the Signature in RTL mode that displays the content in the right-to-left direction.
     *
     * @default false
     * @private
     */
    enableRtl: boolean;
    /**
     * Gets or sets whether to persist component's state between page reloads.
     * True, if the component's state persistence is enabled. The default value is false.
     * Component's property will be stored in browser local storage to persist component's state when page reloads.
     *
     * @default false
     */
    enablePersistence: boolean;
    /**
     * Gets or sets an event callback that is raised while saving the signature.
     * The file name and the file type can be changed using SignatureBeforeSaveEventArgs and SignatureFileType.
     * The event callback is raised only for the keyboard action (Ctrl + S).
     *
     * @event beforeSave
     */
    beforeSave: base.EmitType<SignatureBeforeSaveEventArgs>;
    /**
     * Gets or sets an event callback that is raised for the actions like undo, redo, clear and while user complete signing on signature component.
     *
     * @event change
     */
    change: base.EmitType<SignatureChangeEventArgs>;
    /**
     * Triggers once the component rendering is completed.
     *
     * @event created
     */
    created: base.EmitType<Event>;
    /**
     * Constructor for creating the widget.
     *
     * @param {SignatureModel} options - Specifies the Signature model.
     * @param {string | HTMLCanvasElement} element - Specifies the element.
     * @private
     */
    constructor(options?: SignatureModel, element?: string | HTMLCanvasElement);
    protected preRender(): void;
    /**
     * To Initialize the component rendering
     *
     * @private
     * @returns {void}
     */
    protected render(): void;
    initialize(): void;
    /**
     * To get component name.
     *
     * @returns {string} - Module Name
     * @private
     */
    protected getModuleName(): string;
    /**
     * To get the properties to be maintained in the persisted state.
     *
     * @returns {string} - Persist data
     */
    protected getPersistData(): string;
    /**
     * Called internally if any of the property value changed.
     *
     * @param  {SignatureModel} newProp - Specifies new properties
     * @param  {SignatureModel} oldProp - Specifies old properties
     * @returns {void}
     * @private
     */
    onPropertyChanged(newProp: SignatureModel, oldProp: SignatureModel): void;
}
//node_modules/@syncfusion/ej2-inputs/src/signature/signature-model.d.ts
/**
 * Interface for a class Signature
 */
export interface SignatureModel {
    /**
     * Gets or sets the background color of the component.
     * The background color of the component that accepts hex value, rgb and text (like 'red'). The default value is ''.
     *
     * @default ''
     */
    backgroundColor?: string;
    /**
     * Gets or sets the background image for the component.
     * An image that used to fill the background of the component. The default value is ''.
     *
     * @default ''
     */
    backgroundImage?: string;
    /**
     * Gets or sets whether to disable the signature component where the opacity is set to show disabled state.
     * True, if the signature component is disabled for user interaction. The default value is false.
     *
     * @default false
     */
    disabled?: boolean;
    /**
     * Gets or sets whether to prevent the interaction in signature component.
     * True, if the signature component is read only state where the user interaction is prevented. The default value is false.
     *
     * @default false
     */
    isReadOnly?: boolean;
    /**
     * Gets or sets whether to save the signature along with Background Color and background Image while saving.
     * True, if signature component to save with background. The default value is true.
     *
     * @default true
     */
    saveWithBackground?: boolean;
    /**
     * Gets or sets the stroke color of the signature.
     * The color of the signature stroke that accepts hex value, rgb and text (like 'red'). The default value is "#000000".
     *
     * @default '#000000'
     */
    strokeColor?: string;
    /**
     * Gets or sets the minimum stroke width for signature.
     * The signature component calculates stroke width based on Velocity, MinStrokeWidth and MaxStrokeWidth.
     * The minimum width of stroke. The default value is 0.5.
     *
     * @default 0.5
     */
    minStrokeWidth?: number;
    /**
     * Gets or sets the maximum stroke width for signature.
     * The signature component calculates stroke width based on Velocity, MinStrokeWidth and MaxStrokeWidth.
     * The maximum width of stroke. The default value is 2.0.
     *
     * @default 2
     */
    maxStrokeWidth?: number;
    /**
     * Gets or sets the velocity to calculate the stroke thickness based on the pressure of the contact on the digitizer surface.
     * The Signature component calculates stroke thickness based on Velocity, MinStrokeWidth and MaxStrokeWidth.
     * The default value is 0.7.
     *
     * @default 0.7
     */
    velocity?: number;
    /**
     * Overrides the global culture and localization value for this component. Default global culture is 'en-US'.
     *
     * @default 'en-US'
     * @private
     */
    locale?: string;
    /**
     * Specifies the Signature in RTL mode that displays the content in the right-to-left direction.
     *
     * @default false
     * @private
     */
    enableRtl?: boolean;
    /**
     * Gets or sets whether to persist component's state between page reloads.
     * True, if the component's state persistence is enabled. The default value is false.
     * Component's property will be stored in browser local storage to persist component's state when page reloads.
     *
     * @default false
     */
    enablePersistence?: boolean;
    /**
     * Gets or sets an event callback that is raised while saving the signature.
     * The file name and the file type can be changed using SignatureBeforeSaveEventArgs and SignatureFileType.
     * The event callback is raised only for the keyboard action (Ctrl + S).
     *
     * @event beforeSave
     */
    beforeSave?: base.EmitType<SignatureBeforeSaveEventArgs>;
    /**
     * Gets or sets an event callback that is raised for the actions like undo, redo, clear and while user complete signing on signature component.
     *
     * @event change
     */
    change?: base.EmitType<SignatureChangeEventArgs>;
    /**
     * Triggers once the component rendering is completed.
     *
     * @event created
     */
    created?: base.EmitType<Event>;
}
//node_modules/@syncfusion/ej2-inputs/src/rating/rating.d.ts
/**
 * Defines where to position the label in rating
 */
export  enum LabelPosition {
    /**
     * The label is positioned at the top center of the rating component.
     */
    Top = "Top",
    /**
     * The label is positioned at the bottom center of the rating component.
     */
    Bottom = "Bottom",
    /**
     * The label is positioned at the left side of the rating component.
     */
    Left = "Left",
    /**
     * The label is positioned at the right side of the rating component.
     */
    Right = "Right"
}
/**
 * Defines the precision type of the rating.
 * It is used to component the granularity of the rating, allowing users to provide ratings with varying levels of precision.
 */
export  enum PrecisionType {
    /**
     * The rating is increased in whole number increments.
     */
    Full = "Full",
    /**
     * The rating is increased in increments of 0.5 (half).
     */
    Half = "Half",
    /**
     * The rating is increased in increments of 0.25 (quarter).
     */
    Quarter = "Quarter",
    /**
     * The rating is increased in increments of 0.1.
     */
    Exact = "Exact"
}
/**
 * Provides information about valueChanged event callback
 */
export interface RatingChangedEventArgs extends base.BaseEventArgs {
    /**
     * Provides the original event
     */
    event: Event;
    /**
     * Provides whether the change is triggered by user interaction.
     */
    isInteracted: boolean;
    /**
     * Provides the previous value.
     */
    previousValue: number;
    /**
     * Provides the current value.
     */
    value: number;
}
/**
 * Provides information about onItemHover event callback.
 */
export interface RatingHoverEventArgs extends base.BaseEventArgs {
    /**
     * Provides the rating item element reference.
     */
    element: HTMLElement;
    /**
     * Provides the original event.
     */
    event: Event;
    /**
     * Provides the hover value at hovered point of rating.
     */
    value: number;
}
/**
 * Provides information about beforeItemRender event callback.
 */
export interface RatingItemEventArgs extends base.BaseEventArgs {
    /**
     * Provides the rating item element reference.
     */
    element: HTMLElement;
    /**
     * Provides the place value of the item.
     */
    value: number;
}
/**
 * The Rating component allows the user to rate something by clicking on a set of symbols on a numeric scale.
 * This allows users to provide feedback or ratings for products, services, or content.
 *
 * ```html
 * <input id="rating">
 * ```
 * ```typescript
 * <script>
 *   let ratingObj: Rating = new Rating();
 *   ratingObj.appendTo('#rating');
 * </script>
 * ```
 */
export  class Rating extends base.Component<HTMLElement> implements base.INotifyPropertyChanged {
    /**
     * Defines whether to show or hide the reset button in a rating component.
     * When set to "true", the reset button will be visible to the user, and they will be able to click it to reset the rating value to its default value.
     *
     * {% codeBlock src='rating/allowReset/index.md' %}{% endcodeBlock %}
     *
     * @default false
     */
    allowReset: boolean;
    /**
     * Defines one or more CSS classes that can be used to customize the appearance of a rating component.
     * One or more CSS classes to customize the appearance of the rating component, such as by changing its colors, fonts, sizes, or other visual aspects.
     *
     * @default ''
     */
    cssClass: string;
    /**
     * Defines whether a rating component is enabled or disabled.
     * A disabled rating component may have a different visual appearance than an enabled one.
     * When set to "true", the rating component will be disabled, and the user will not be able to interact with it.
     *
     * @default false
     */
    disabled: boolean;
    /**
     * Defines the template that defines the appearance of each un-rated item in a rating component.
     *
     * @default ''
     * @angularType string | object
     * @reactType string | function | JSX.Element
     * @vueType string | function
     * @aspType string
     */
    emptyTemplate: string | Function;
    /**
     * Defines whether to add animation (to provide visual feedback to the user) when an item in a rating component is hovered.
     * When set to "true", an animation will be added when the user hovers their cursor over an item in the rating component.
     *
     * @default true
     */
    enableAnimation: boolean;
    /**
     * Defines whether to select all the items before the selected item should be in selected state in a rating component.
     * When set to "true", only the selected item will be in the selected state, and all other items will be un-selected.
     * When set to "false", all items before the selected one will be in the selected state.
     *
     * @default false
     */
    enableSingleSelection: boolean;
    /**
     * Defines the template that defines the appearance of each rated item in a rating component.
     *
     * {% codeBlock src='rating/fullTemplate/index.md' %}{% endcodeBlock %}
     *
     * @default ''
     * @angularType string | object
     * @reactType string | function | JSX.Element
     * @vueType string | function
     * @aspType string
     */
    fullTemplate: string | Function;
    /**
     * Defines the specific number of items (symbols) in rating component.
     * The rating component typically consists of a number of items, such as stars or other symbols, that represent the rating value.
     *
     * @default 5
     * @aspType int
     */
    itemsCount: number;
    /**
     * Defines the position of the label in rating component.
     *
     * The possible values are:
     * * Top
     * * Bottom
     * * Left
     * * Right
     *
     * {% codeBlock src='rating/labelPosition/index.md' %}{% endcodeBlock %}
     *
     * @isenumeration true
     * @default LabelPosition.Right
     * @asptype LabelPosition
     */
    labelPosition: string | LabelPosition;
    /**
     * Defines the template that used as label over default label of the rating. The current value of rating passed as context to build the content.
     *
     * {% codeBlock src='rating/labelTemplate/index.md' %}{% endcodeBlock %}
     *
     * @default ''
     * @angularType string | object
     * @reactType string | function | JSX.Element
     * @vueType string | function
     * @aspType string
     */
    labelTemplate: string | Function;
    /**
     * Defines the value that specifies minimum rating that a user can select.
     * The value is set to 0, which means that the minimum possible rating is 0.
     *
     * @default 0.0
     * @aspType double
     */
    min: number;
    /**
     * Defines the precision type of the rating which used to component the granularity of the rating,
     * allowing users to provide ratings with varying levels of precision.
     *
     * The possible values are:
     * * Full
     * * Half
     * * Quarter
     * * Exact
     *
     * {% codeBlock src='rating/precision/index.md' %}{% endcodeBlock %}
     *
     * @isenumeration true
     * @default PrecisionType.Full
     * @asptype PrecisionType
     */
    precision: string | PrecisionType;
    /**
     * Defines a boolean value that specifies whether the read-only mode is enabled for a rating component,
     * which prevents the user from modifying or interacting with the rating value but allows them to read it.
     *
     * @default false
     */
    readOnly: boolean;
    /**
     * Defines a value that specifies whether to display a label that shows the current value of a rating.
     * When set to "true", a label will be displayed that shows the current value of the rating;
 otherwise false.
     *
     * {% codeBlock src='rating/showLabel/index.md' %}{% endcodeBlock %}
     *
     * @default false
     */
    showLabel: boolean;
    /**
     * Defines a value that defines whether to show tooltip for the items.
     * When set to "true", show tooltip for the items.
     *
     * @default true
     */
    showTooltip: boolean;
    /**
     * Defines the template that used as tooltip content over default tooltip content of the rating.
     * The current value of rating passed as context to build the content.
     *
     * {% codeBlock src='rating/tooltipTemplate/index.md' %}{% endcodeBlock %}
     *
     * @default ''
     * @angularType string | object
     * @reactType string | function | JSX.Element
     * @vueType string | function
     * @aspType string
     */
    tooltipTemplate: string | Function;
    /**
     * Defines the current rating value which used to display and update the rating selected by the user.
     * Based on "PrecisionType", users can select ratings with varying levels of precision.
     * The "value" is a decimal value that ranges from the minimum value to the items count,
     * as specified by the "min" and "itemsCount" properties of the rating.
     *
     * {% codeBlock src='rating/value/index.md' %}{% endcodeBlock %}
     *
     * @default 0.0
     * @aspType double
     */
    value: number;
    /**
     * Defines a value that indicates whether the rating component is visible or hidden.
     * When set to "true", if the rating component is visible.
     *
     * @default true
     */
    visible: boolean;
    /**
     * Event callback that is raised before rendering each item.
     *
     * {% codeBlock src='rating/beforeItemRenderEvent/index.md' %}{% endcodeBlock %}
     *
     * @event beforeItemRender
     */
    beforeItemRender: base.EmitType<RatingItemEventArgs>;
    /**
     * Event callback that is raised after rendering the rating.
     *
     * @event created
     */
    created: base.EmitType<Event>;
    /**
     * Event callback that is raised when a user hovers over an item.
     *
     * {% codeBlock src='rating/onItemHoverEvent/index.md' %}{% endcodeBlock %}
     *
     * @event onItemHover
     */
    onItemHover: base.EmitType<RatingHoverEventArgs>;
    /**
     * Event callback that is raised when the value is changed.
     *
     * {% codeBlock src='rating/valueChangedEvent/index.md' %}{% endcodeBlock %}
     *
     * @event valueChanged
     */
    valueChanged: base.EmitType<RatingChangedEventArgs>;
    private wrapper;
    private ratingItemList;
    private spanLabel;
    private itemElements;
    private resetElement;
    private keyboardModuleRating;
    private keyConfigs;
    private tooltipObj;
    private currentValue;
    private emptyTemplateFunction;
    private fullTemplateFunction;
    private tooltipOpen;
    private isTouchSelected;
    /**
     * Constructor for creating the widget
     *
     * @param  {RatingModel} options - Specifies the rating model
     * @param  {string|HTMLButtonElement} element - Specifies the target element
     */
    constructor(options?: RatingModel, element?: string | HTMLInputElement);
    protected preRender(): void;
    render(): void;
    private initialize;
    private updateDisabled;
    private updateResetButton;
    private renderItemList;
    private touchMoveHandler;
    private touchEndHandler;
    private updateTemplateFunction;
    private renderItems;
    private renderItemContent;
    private removeItemContent;
    private updateTooltip;
    private updateMinValue;
    private validateValue;
    private getRatingValue;
    private updateItemValue;
    private updateItemContent;
    private updateTooltipContent;
    private getTemplateString;
    private displayLabel;
    private updateLabel;
    private updateReset;
    private updateLabelPosition;
    private clearLabelPosition;
    private wireItemsEvents;
    private clickHandler;
    private updateValueChange;
    private triggerChange;
    private mouseMoveHandler;
    private openRatingTooltip;
    private closeRatingTooltip;
    private updateCurrentValue;
    private mouseLeaveHandler;
    private calculateCurrentValue;
    /**
     * Reset’s the value to minimum.
     *
     * {% codeBlock src='rating/reset/index.md' %}{% endcodeBlock %}
     *
     * @returns {void}
     */
    reset(): void;
    private resetClicked;
    private wireKeyboardEvent;
    private keyActionHandler;
    private handleNavigation;
    private updateContent;
    /**
     * To get component name.
     *
     * @returns {string} - Module Name
     * @private
     */
    getModuleName(): string;
    /**
     * To get the properties to be maintained in the persisted state.
     *
     * @returns {string} - Persist data
     */
    protected getPersistData(): string;
    private removeItemElements;
    /**
     * Destroys the Rating instance.
     *
     * @returns {void}
     */
    destroy(): void;
    /**
     * Called internally if any of the property value changed.
     *
     * @param  {RatingModel} newProp - Specifies new properties
     * @param  {RatingModel} oldProp - Specifies old properties
     * @returns {void}
     * @private
     */
    onPropertyChanged(newProp: RatingModel, oldProp?: RatingModel): void;
}
//node_modules/@syncfusion/ej2-inputs/src/rating/rating-model.d.ts
/**
 * Interface for a class Rating
 */
export interface RatingModel extends base.ComponentModel{
    /**
     * Defines whether to show or hide the reset button in a rating component.
     * When set to "true", the reset button will be visible to the user, and they will be able to click it to reset the rating value to its default value.
     *
     * {% codeBlock src='rating/allowReset/index.md' %}{% endcodeBlock %}
     *
     * @default false
     */
    allowReset?: boolean;
    /**
     * Defines one or more CSS classes that can be used to customize the appearance of a rating component.
     * One or more CSS classes to customize the appearance of the rating component, such as by changing its colors, fonts, sizes, or other visual aspects.
     *
     * @default ''
     */
    cssClass?: string;
    /**
     * Defines whether a rating component is enabled or disabled.
     * A disabled rating component may have a different visual appearance than an enabled one.
     * When set to "true", the rating component will be disabled, and the user will not be able to interact with it.
     *
     * @default false
     */
    disabled?: boolean;
    /**
     * Defines the template that defines the appearance of each un-rated item in a rating component.
     *
     * @default ''
     * @angularType string | object
     * @reactType string | function | JSX.Element
     * @vueType string | function
     * @aspType string
     */
    emptyTemplate?: string | Function;
    /**
     * Defines whether to add animation (to provide visual feedback to the user) when an item in a rating component is hovered.
     * When set to "true", an animation will be added when the user hovers their cursor over an item in the rating component.
     *
     * @default true
     */
    enableAnimation?: boolean;
    /**
     * Defines whether to base.select all the items before the selected item should be in selected state in a rating component.
     * When set to "true", only the selected item will be in the selected state, and all other items will be un-selected.
     * When set to "false", all items before the selected one will be in the selected state.
     *
     * @default false
     */
    enableSingleSelection?: boolean;
    /**
     * Defines the template that defines the appearance of each rated item in a rating component.
     *
     * {% codeBlock src='rating/fullTemplate/index.md' %}{% endcodeBlock %}
     *
     * @default ''
     * @angularType string | object
     * @reactType string | function | JSX.Element
     * @vueType string | function
     * @aspType string
     */
    fullTemplate?: string | Function;
    /**
     * Defines the specific number of items (symbols) in rating component.
     * The rating component typically consists of a number of items, such as stars or other symbols, that represent the rating value.
     *
     * @default 5
     * @aspType int
     */
    itemsCount?: number;
    /**
     * Defines the position of the label in rating component.
     *
     * The possible values are:
     * * Top
     * * Bottom
     * * Left
     * * Right
     *
     * {% codeBlock src='rating/labelPosition/index.md' %}{% endcodeBlock %}
     *
     * @isenumeration true
     * @default LabelPosition.Right
     * @asptype LabelPosition
     */
    labelPosition?: string | LabelPosition;
    /**
     * Defines the template that used as label over default label of the rating. The current value of rating passed as context to build the content.
     *
     * {% codeBlock src='rating/labelTemplate/index.md' %}{% endcodeBlock %}
     *
     * @default ''
     * @angularType string | object
     * @reactType string | function | JSX.Element
     * @vueType string | function
     * @aspType string
     */
    labelTemplate?: string | Function;
    /**
     * Defines the value that specifies minimum rating that a user can base.select.
     * The value is set to 0, which means that the minimum possible rating is 0.
     *
     * @default 0.0
     * @aspType double
     */
    min?: number;
    /**
     * Defines the precision type of the rating which used to component the granularity of the rating,
     * allowing users to provide ratings with varying levels of precision.
     *
     * The possible values are:
     * * Full
     * * Half
     * * Quarter
     * * Exact
     *
     * {% codeBlock src='rating/precision/index.md' %}{% endcodeBlock %}
     *
     * @isenumeration true
     * @default PrecisionType.Full
     * @asptype PrecisionType
     */
    precision?: string | PrecisionType;
    /**
     * Defines a boolean value that specifies whether the read-only mode is enabled for a rating component,
     * which prevents the user from modifying or interacting with the rating value but allows them to read it.
     *
     * @default false
     */
    readOnly?: boolean;
    /**
     * Defines a value that specifies whether to display a label that shows the current value of a rating.
     * When set to "true", a label will be displayed that shows the current value of the rating;
 otherwise false.
     *
     * {% codeBlock src='rating/showLabel/index.md' %}{% endcodeBlock %}
     *
     * @default false
     */
    showLabel?: boolean;
    /**
     * Defines a value that defines whether to show tooltip for the items.
     * When set to "true", show tooltip for the items.
     *
     * @default true
     */
    showTooltip?: boolean;
    /**
     * Defines the template that used as tooltip content over default tooltip content of the rating.
     * The current value of rating passed as context to build the content.
     *
     * {% codeBlock src='rating/tooltipTemplate/index.md' %}{% endcodeBlock %}
     *
     * @default ''
     * @angularType string | object
     * @reactType string | function | JSX.Element
     * @vueType string | function
     * @aspType string
     */
    tooltipTemplate?: string | Function;
    /**
     * Defines the current rating value which used to display and update the rating selected by the user.
     * Based on "PrecisionType", users can base.select ratings with varying levels of precision.
     * The "value" is a decimal value that ranges from the minimum value to the items count,
     * as specified by the "min" and "itemsCount" properties of the rating.
     *
     * {% codeBlock src='rating/value/index.md' %}{% endcodeBlock %}
     *
     * @default 0.0
     * @aspType double
     */
    value?: number;
    /**
     * Defines a value that indicates whether the rating component is visible or hidden.
     * When set to "true", if the rating component is visible.
     *
     * @default true
     */
    visible?: boolean;
    /**
     * base.Event callback that is raised before rendering each item.
     *
     * {% codeBlock src='rating/beforeItemRenderEvent/index.md' %}{% endcodeBlock %}
     *
     * @event beforeItemRender
     */
    beforeItemRender?: base.EmitType<RatingItemEventArgs>;
    /**
     * base.Event callback that is raised after rendering the rating.
     *
     * @event created
     */
    created?: base.EmitType<Event>;
    /**
     * base.Event callback that is raised when a user hovers over an item.
     *
     * {% codeBlock src='rating/onItemHoverEvent/index.md' %}{% endcodeBlock %}
     *
     * @event onItemHover
     */
    onItemHover?: base.EmitType<RatingHoverEventArgs>;
    /**
     * base.Event callback that is raised when the value is changed.
     *
     * {% codeBlock src='rating/valueChangedEvent/index.md' %}{% endcodeBlock %}
     *
     * @event valueChanged
     */
    valueChanged?: base.EmitType<RatingChangedEventArgs>;
}
//node_modules/@syncfusion/ej2-inputs/src/otp-input/otp-input.d.ts
/**
 * Specifies the type of input for the Otp (One-Time Password) input component.
 */
export  enum OtpInputType {
    /**
     * Specifies the type of input to be number for the Otp input.
     */
    Number = "number",
    /**
     * Specifies the type of input to be text for the Otp input.
     */
    Text = "text",
    /**
     * Specifies the type of input to be password for the Otp input.
     */
    Password = "password"
}
/**
 * Specifies the style variant for the Otp (One-Time Password) input component.
 */
export  enum OtpInputStyle {
    /**
     * Specifies the style of the Otp input to be outlined.
     */
    Outlined = "outlined",
    /**
     * Specifies the style of the Otp input to be underlined.
     */
    Underlined = "underlined",
    /**
     * Specifies the style of the Otp input to be filled.
     */
    Filled = "filled"
}
/**
 * Enum for the case transformation options for OTP input text.
 *
 * @readonly
 * @enum {string}
 */
export  enum TextTransform {
    /**
     * No case transformation. The input text remains unchanged.
     */
    None = "none",
    /**
     * Convert the input text to uppercase.
     */
    Uppercase = "uppercase",
    /**
     * Convert the input text to lowercase.
     */
    Lowercase = "lowercase"
}
/**
 * Provides information about valueChanged event callback
 */
export interface OtpChangedEventArgs {
    /**
     * Provides the Otp input container element.
     */
    element: HTMLElement;
    /**
     * Provides the original event.
     */
    event: Event;
    /**
     * Provides whether the change is triggered by user interaction.
     */
    isInteracted: boolean;
    /**
     * Provides the previous value of the Otp input.
     */
    previousValue: string | number;
    /**
     * Provides the current value of the Otp input.
     */
    value: string | number;
}
/**
 * Provides information about focus event callback
 */
export interface OtpFocusEventArgs {
    /**
     * Provides the Otp input container element.
     */
    element: HTMLElement;
    /**
     * Provides the original event.
     */
    event: Event;
    /**
     * Provides whether the change is triggered by user interaction.
     */
    isInteracted: boolean;
    /**
     * Provides the current value of the Otp input.
     */
    value: string | number;
    /**
     * The index of the OTP input field that is currently focused.
     */
    index: number;
}
/**
 * Provides information about input event callback
 */
export interface OtpInputEventArgs {
    /**
     * Provides the Otp input container element.
     */
    element: HTMLElement;
    /**
     * Provides the original event.
     */
    event: Event;
    /**
     * Provides the previous value of the Otp input.
     */
    previousValue: string | number;
    /**
     * Provides the current value of the Otp input.
     */
    value: string | number;
    /**
     * The index of the OTP input field that is currently focused.
     */
    index: number;
}
/**
 * Represents the Otp component that allows the user to enter the otp values.
 * ```html
 * <div id='OTPInput'></div>
 * ```
 * ```typescript
 * <script>
 *   var OtpinputObj = new OtpInput();
 *   OtpinputObj.appendTo('#OTPInput');
 * </script>
 * ```
 */
export  class OtpInput extends base.Component<HTMLElement> implements base.INotifyPropertyChanged {
    /**
     * Specifies the length of the Otp (One-Time Password) to be entered by the user.
     * This determines the number of input fields in the Otp Input.
     *
     * {% codeBlock src='otp-input/length/index.md' %}{% endcodeBlock %}
     *
     * @default 4
     */
    length: number;
    /**
     * Specifies the value of the Otp (One-Time Password) input.
     * This can be a string or a number, representing the Otp value entered by the user.
     *
     * {% codeBlock src='otp-input/value/index.md' %}{% endcodeBlock %}
     *
     * @default ''
     * @aspType string
     */
    value: string | number;
    /**
     * Specifies the input type of the Otp.
     *
     * {% codeBlock src='otp-input/type/index.md' %}{% endcodeBlock %}
     *
     * @isenumeration true
     * @default OtpInputType.Number
     * @asptype OtpInputType
     */
    type: string | OtpInputType;
    /**
     * Specifies the separator used to separate each input field in the Otp Input component.
     * The separator is displayed between each input field.
     *
     * {% codeBlock src='otp-input/separator/index.md' %}{% endcodeBlock %}
     *
     * @default ''
     */
    separator: string;
    /**
     * Specifies the text that is shown as a hint/placeholder until the user focuses on or enters a value in the Otp Input.
     * If a single text is provided, it will be used for all input fields;
 otherwise, each text letter will be used for each field.
     *
     * {% codeBlock src='otp-input/placeholder/index.md' %}{% endcodeBlock %}
     *
     * @default ''
     */
    placeholder: string;
    /**
     * Specifies the style variant for the input fields in the Otp Input component.
     *
     * {% codeBlock src='otp-input/stylingMode/index.md' %}{% endcodeBlock %}
     *
     * @isenumeration true
     * @default OtpInputStyle.Outlined
     * @asptype OtpInputStyle
     */
    stylingMode: string | OtpInputStyle;
    /**
     * Specifies whether the Otp input component is disabled.
     * When set to true, the component is disabled and user input is not allowed.
     *
     * @default false
     */
    disabled: boolean;
    /**
     * Defines one or more CSS classes that can be used to customize the appearance of the Otp (One-Time Password) input component.
     *
     * @default ''
     */
    cssClass: string;
    /**
     * Specifies whether the OTP input field should automatically receive focus when the component is rendered.
     *
     * @type {boolean}
     * @default false
     */
    autoFocus: boolean;
    /**
     * Specifies the case transformation for the OTP input text.
     *
     * Valid values are:
     * - `TextTransform.Uppercase` for uppercase transformation.
     * - `TextTransform.Lowercase` for lowercase transformation.
     * - `TextTransform.None` for no transformation.
     *
     * @isenumeration true
     * @asptype TextTransform
     * @type {TextTransform}
     * @default TextTransform.None
     */
    textTransform: string | TextTransform;
    /**
     * Specifies additional HTML attributes to be applied to the Otp (One-Time Password) input component.
     *
     * {% codeBlock src='otp-input/htmlAttributes/index.md' %}{% endcodeBlock %}
     *
     * @default {}
     */
    htmlAttributes: {
        [key: string]: string;
    };
    /**
     * Defines the ARIA-label attribute for each input field in the Otp (One-Time Password) input component.
     * Each string in the array corresponds to the ARIA-label attribute for each input field.
     *
     * {% codeBlock src='otp-input/ariaLabels/index.md' %}{% endcodeBlock %}
     *
     * @default []
     */
    ariaLabels: string[];
    /**
     * Event triggers after the creation of the Otp Input.
     *
     * @event created
     */
    created: base.EmitType<Event>;
    /**
     * Event triggers after the value is changed and the Otp input is focused out.
     *
     * @event change
     */
    valueChanged: base.EmitType<OtpChangedEventArgs>;
    /**
     * Event triggers when the Otp input is focused.
     *
     * @event focus
     */
    focus: base.EmitType<OtpFocusEventArgs>;
    /**
     * Event triggers when the Otp input is focused out.
     *
     * @event blur
     */
    blur: base.EmitType<OtpFocusEventArgs>;
    /**
     * Event triggers each time when the value of each Otp input is changed.
     *
     * @event input
     */
    input: base.EmitType<OtpInputEventArgs>;
    private inputs;
    private previousValue;
    private hiddenInputEle;
    private separatorElements;
    private shouldFireFocus;
    private shouldFireBlur;
    private isFocusInCalled;
    private isFocusOutCalled;
    constructor(options?: OtpInputModel, element?: string | HTMLElement);
    protected preRender(): void;
    render(): void;
    private initialize;
    private renderInputs;
    private createOtpInput;
    private handleWheelEvent;
    private renderSeparator;
    private updateSeparatorValue;
    private addPlaceHolder;
    private updateInputType;
    private getDefaultValue;
    private getTransformedText;
    private handleInputChange;
    private handleKeyAction;
    private handleSelection;
    private handleFocus;
    private handleBlur;
    private handlePaste;
    private triggerInputEvent;
    private triggerValuechanged;
    private wireEvents;
    private unWireEvents;
    private updateValueProperty;
    private updateInputValue;
    private updateCssClass;
    private updateVariantClass;
    private updateAriaLabel;
    private updateDisabledState;
    private setElementAttributes;
    private setInputMode;
    private handleLengthChange;
    /**
     * To get component name.
     *
     * @returns {string} - Module Name
     * @private
     */
    getModuleName(): string;
    /**
     * To get the properties to be maintained in the persisted state.
     *
     * @returns {string} - Persist data
     */
    protected getPersistData(): string;
    /**
     * Destroy the Otp input.
     *
     * @returns {void}
     */
    destroy(): void;
    /**
     * Sets the focus to the Otp input for interaction.
     *
     * @returns {void}
     */
    focusIn(): void;
    /**
     * Remove the focus from Otp input, if it is in focus state.
     *
     * @returns {void}
     */
    focusOut(): void;
    /**
     * Called internally if any of the property value changed.
     *
     * @param  {OtpInputModel} newProp - Specifies new properties
     * @param  {OtpInputModel} oldProp - Specifies old properties
     * @returns {void}
     * @private
     */
    onPropertyChanged(newProp: OtpInputModel, oldProp?: OtpInputModel): void;
}
//node_modules/@syncfusion/ej2-inputs/src/otp-input/otp-input-model.d.ts
/**
 * Interface for a class OtpInput
 */
export interface OtpInputModel extends base.ComponentModel{
    /**
     * Specifies the length of the Otp (One-Time Password) to be entered by the user.
     * This determines the number of input fields in the Otp Input.
     *
     * {% codeBlock src='otp-input/length/index.md' %}{% endcodeBlock %}
     *
     * @default 4
     */
    length?: number;
    /**
     * Specifies the value of the Otp (One-Time Password) input.
     * This can be a string or a number, representing the Otp value entered by the user.
     *
     * {% codeBlock src='otp-input/value/index.md' %}{% endcodeBlock %}
     *
     * @default ''
     * @aspType string
     */
    value?: string | number;
    /**
     * Specifies the input type of the Otp.
     *
     * {% codeBlock src='otp-input/type/index.md' %}{% endcodeBlock %}
     *
     * @isenumeration true
     * @default OtpInputType.Number
     * @asptype OtpInputType
     */
    type?: string | OtpInputType;
    /**
     * Specifies the separator used to separate each input field in the Otp Input component.
     * The separator is displayed between each input field.
     *
     * {% codeBlock src='otp-input/separator/index.md' %}{% endcodeBlock %}
     *
     * @default ''
     */
    separator?: string;
    /**
     * Specifies the text that is shown as a hint/placeholder until the user focuses on or enters a value in the Otp Input.
     * If a single text is provided, it will be used for all input fields;
 otherwise, each text letter will be used for each field.
     *
     * {% codeBlock src='otp-input/placeholder/index.md' %}{% endcodeBlock %}
     *
     * @default ''
     */
    placeholder?: string;
    /**
     * Specifies the style variant for the input fields in the Otp Input component.
     *
     * {% codeBlock src='otp-input/stylingMode/index.md' %}{% endcodeBlock %}
     *
     * @isenumeration true
     * @default OtpInputStyle.Outlined
     * @asptype OtpInputStyle
     */
    stylingMode?: string | OtpInputStyle;
    /**
     * Specifies whether the Otp input component is disabled.
     * When set to true, the component is disabled and user input is not allowed.
     *
     * @default false
     */
    disabled?: boolean;
    /**
     * Defines one or more CSS classes that can be used to customize the appearance of the Otp (One-Time Password) input component.
     *
     * @default ''
     */
    cssClass?: string;
    /**
     * Specifies whether the OTP input field should automatically receive focus when the component is rendered.
     *
     * @type {boolean}
     * @default false
     */
    autoFocus?: boolean;
    /**
     * Specifies the case transformation for the OTP input text.
     *
     * Valid values are:
     * - `TextTransform.Uppercase` for uppercase transformation.
     * - `TextTransform.Lowercase` for lowercase transformation.
     * - `TextTransform.None` for no transformation.
     *
     * @isenumeration true
     * @asptype TextTransform
     * @type {TextTransform}
     * @default TextTransform.None
     */
    textTransform?: string | TextTransform;
    /**
     * Specifies additional HTML base.attributes to be applied to the Otp (One-Time Password) input component.
     *
     * {% codeBlock src='otp-input/htmlAttributes/index.md' %}{% endcodeBlock %}
     *
     * @default {}
     */
    htmlAttributes?: { [key: string]: string };
    /**
     * Defines the ARIA-label attribute for each input field in the Otp (One-Time Password) input component.
     * Each string in the array corresponds to the ARIA-label attribute for each input field.
     *
     * {% codeBlock src='otp-input/ariaLabels/index.md' %}{% endcodeBlock %}
     *
     * @default []
     */
    ariaLabels?: string[];
    /**
     * base.Event triggers after the creation of the Otp Input.
     *
     * @event created
     */
    created?: base.EmitType<Event>;
    /**
     * base.Event triggers after the value is changed and the Otp input is focused out.
     *
     * @event change
     */
    valueChanged?: base.EmitType<OtpChangedEventArgs>;
    /**
     * base.Event triggers when the Otp input is focused.
     *
     * @event focus
     */
    focus?: base.EmitType<OtpFocusEventArgs>;
    /**
     * base.Event triggers when the Otp input is focused out.
     *
     * @event blur
     */
    blur?: base.EmitType<OtpFocusEventArgs>;
    /**
     * base.Event triggers each time when the value of each Otp input is changed.
     *
     * @event input
     */
    input?: base.EmitType<OtpInputEventArgs>;
}
//node_modules/@syncfusion/ej2-inputs/src/numerictextbox/numerictextbox.d.ts
/**
 * Represents the NumericTextBox component that allows the user to enter only numeric values.
 * ```html
 * <input type='text' id="numeric"/>
 * ```
 * ```typescript
 * <script>
 *   var numericObj = new NumericTextBox({ value: 10 });
 *   numericObj.appendTo("#numeric");
 * </script>
 * ```
 */
export  class NumericTextBox extends base.Component<HTMLInputElement> implements base.INotifyPropertyChanged {
    private container;
    private inputWrapper;
    private cloneElement;
    private hiddenInput;
    private spinUp;
    private spinDown;
    private formEle;
    private inputEleValue;
    private timeOut;
    private prevValue;
    private isValidState;
    private isFocused;
    private isPrevFocused;
    private instance;
    private cultureInfo;
    private inputStyle;
    private inputName;
    private decimalSeparator;
    private angularTagName;
    private intRegExp;
    private l10n;
    private isCalled;
    private prevVal;
    private nextEle;
    private cursorPosChanged;
    private changeEventArgs;
    private focusEventArgs;
    private blurEventArgs;
    private numericOptions;
    private isInteract;
    private serverDecimalSeparator;
    private preventChange;
    private elementPrevValue;
    private isDynamicChange;
    private inputValue;
    private clearButton;
    /**
     * Gets or Sets the CSS classes to root element of the NumericTextBox which helps to customize the
     * complete UI styles for the NumericTextBox component.
     *
     * @default null
     */
    cssClass: string;
    /**
     * Sets the value of the NumericTextBox.
     *
     * @default null
     * @aspType object
     * @isGenericType true
     */
    value: number;
    /**
     * Specifies a minimum value that is allowed a user can enter.
     * For more information on min, refer to
     * [min](../../numerictextbox/getting-started/#range-validation).
     *
     * @default null
     * @aspType object
     * @isGenericType true
     * @deprecated
     */
    min: number;
    /**
     * Specifies a maximum value that is allowed a user can enter.
     * For more information on max, refer to
     * [max](../../numerictextbox/getting-started/#range-validation).
     *
     * @default null
     * @aspType object
     * @isGenericType true
     * @deprecated
     */
    max: number;
    /**
     * Specifies the incremental or decremental step size for the NumericTextBox.
     * For more information on step, refer to
     * [step](../../numerictextbox/getting-started/#range-validation).
     *
     * @default 1
     * @isGenericType true
     */
    step: number;
    /**
     * Specifies the width of the NumericTextBox.
     *
     * @default null
     */
    width: number | string;
    /**
     * Gets or sets the string shown as a hint/placeholder when the NumericTextBox is empty.
     * It acts as a label and floats above the NumericTextBox based on the
     * <b><a href="#floatlabeltype" target="_blank">floatLabelType.</a></b>
     *
     * @default null
     */
    placeholder: string;
    /**
     * You can add the additional html attributes such as disabled, value etc., to the element.
     * If you configured both property and equivalent html attribute then the component considers the property value.
     * {% codeBlock src='numerictextbox/htmlAttributes/index.md' %}{% endcodeBlock %}
     *
     * @default {}
     */
    htmlAttributes: {
        [key: string]: string;
    };
    /**
     * Specifies whether the up and down spin buttons should be displayed in NumericTextBox.
     *
     * @default true
     */
    showSpinButton: boolean;
    /**
     * Sets a value that enables or disables the readonly state on the NumericTextBox. If it is true,
     * NumericTextBox will not allow your input.
     *
     * @default false
     */
    readonly: boolean;
    /**
     * Sets a value that enables or disables the NumericTextBox control.
     *
     * @default true
     */
    enabled: boolean;
    /**
     * Specifies whether to show or hide the clear icon.
     *
     * @default false
     */
    showClearButton: boolean;
    /**
     * Enable or disable persisting NumericTextBox state between page reloads. If enabled, the `value` state will be persisted.
     *
     * @default false
     */
    enablePersistence: boolean;
    /**
     * Specifies the number format that indicates the display format for the value of the NumericTextBox.
     * For more information on formats, refer to
     * [formats](../../numerictextbox/formats/#standard-formats).
     *
     * @default 'n2'
     */
    format: string;
    /**
     * Specifies the number precision applied to the textbox value when the NumericTextBox is focused.
     * For more information on decimals, refer to
     * [decimals](../../numerictextbox/formats/#precision-of-numbers).
     *
     * @default null
     */
    decimals: number;
    /**
     * Specifies the currency code to use in currency formatting.
     * Possible values are the ISO 4217 currency codes, such as 'USD' for the US dollar,'EUR' for the euro.
     *
     * @default null
     */
    currency: string;
    /**
     * Specifies the currency code to use in currency formatting.
     * Possible values are the ISO 4217 currency codes, such as 'USD' for the US dollar,'EUR' for the euro.
     *
     * @default null
     * @private
     */
    private currencyCode;
    /**
     * Specifies a value that indicates whether the NumericTextBox control allows the value for the specified range.
     * If it is true, the input value will be restricted between the min and max range.
     * The typed value gets modified to fit the range on focused out state.
     * Else, it allows any value even out of range value,
     * At that time of wrong value entered, the error class will be added to the component to highlight the error.
     * {% codeBlock src='numerictextbox/strictMode/index.md' %}{% endcodeBlock %}
     *
     * @default true
     */
    strictMode: boolean;
    /**
     * Specifies whether the decimals length should be restricted during typing.
     *
     * @default false
     */
    validateDecimalOnType: boolean;
    /**
     * The <b><a href="#placeholder" target="_blank">placeholder</a></b> acts as a label
     * and floats above the NumericTextBox based on the below values.
     * Possible values are:
     * * `Never` - Never floats the label in the NumericTextBox when the placeholder is available.
     * * `Always` - The floating label always floats above the NumericTextBox.
     * * `Auto` - The floating label floats above the NumericTextBox after focusing it or when enters the value in it.
     *
     * @default Never
     */
    floatLabelType: FloatLabelType;
    /**
     * Triggers when the NumericTextBox component is created.
     *
     * @event created
     */
    created: base.EmitType<Object>;
    /**
     * Triggers when the NumericTextBox component is destroyed.
     *
     * @event destroyed
     */
    destroyed: base.EmitType<Object>;
    /**
     * Triggers when the value of the NumericTextBox changes.
     * The change event of the NumericTextBox component will be triggered in the following scenarios:
     * * Changing the previous value using keyboard interaction and then focusing out of the component.
     * * Focusing on the component and scrolling within the input.
     * * Changing the value using the spin buttons.
     * * Programmatically changing the value using the value property.
     *
     * @event change
     */
    change: base.EmitType<ChangeEventArgs>;
    /**
     * Triggers when the NumericTextBox got focus in.
     *
     * @event focus
     */
    focus: base.EmitType<NumericFocusEventArgs>;
    /**
     * Triggers when the NumericTextBox got focus out.
     *
     * @event blur
     */
    blur: base.EmitType<NumericBlurEventArgs>;
    /**
     *
     * @param {NumericTextBoxModel} options - Specifies the NumericTextBox model.
     * @param {string | HTMLInputElement} element - Specifies the element to render as component.
     * @private
     */
    constructor(options?: NumericTextBoxModel, element?: string | HTMLInputElement);
    protected preRender(): void;
    /**
     * To Initialize the control rendering
     *
     * @returns {void}
     * @private
     */
    render(): void;
    private checkAttributes;
    private updatePlaceholder;
    private initCultureFunc;
    private initCultureInfo;
    private createWrapper;
    private updateDataAttribute;
    private updateHTMLAttrToElement;
    private updateCssClass;
    private getNumericValidClassList;
    private updateHTMLAttrToWrapper;
    private setElementWidth;
    private spinBtnCreation;
    private validateMinMax;
    private formattedValue;
    private validateStep;
    private action;
    private checkErrorClass;
    private bindClearEvent;
    protected resetHandler(e?: MouseEvent): void;
    private clear;
    protected resetFormHandler(): void;
    private setSpinButton;
    private wireEvents;
    private wireSpinBtnEvents;
    private unwireEvents;
    private unwireSpinBtnEvents;
    private changeHandler;
    private raiseChangeEvent;
    private pasteHandler;
    private preventHandler;
    private keyUpHandler;
    private inputHandler;
    private keyDownHandler;
    private performAction;
    private correctRounding;
    private roundValue;
    private updateValue;
    private updateCurrency;
    private changeValue;
    private modifyText;
    private setElementValue;
    private validateState;
    private getNumberOfDecimals;
    private formatNumber;
    private trimValue;
    private roundNumber;
    private cancelEvent;
    private keyPressHandler;
    private numericRegex;
    private mouseWheel;
    private focusHandler;
    private focusOutHandler;
    private mouseDownOnSpinner;
    private touchMoveOnSpinner;
    private mouseUpOnSpinner;
    private getElementData;
    private floatLabelTypeUpdate;
    private mouseUpClick;
    /**
     * Increments the NumericTextBox value with the specified step value.
     *
     * @param {number} step - Specifies the value used to increment the NumericTextBox value.
     * if its not given then numeric value will be incremented based on the step property value.
     * @returns {void}
     */
    increment(step?: number): void;
    /**
     * Decrements the NumericTextBox value with specified step value.
     *
     * @param {number} step - Specifies the value used to decrement the NumericTextBox value.
     * if its not given then numeric value will be decremented based on the step property value.
     * @returns {void}
     */
    decrement(step?: number): void;
    /**
     * Removes the component from the DOM and detaches all its related event handlers.
     * Also it maintains the initial input element from the DOM.
     *
     * @method destroy
     * @returns {void}
     */
    destroy(): void;
    /**
     * Returns the value of NumericTextBox with the format applied to the NumericTextBox.
     *
     * @returns {string} - Returns the formatted value of the NumericTextBox.
     */
    getText(): string;
    /**
     * Sets the focus to widget for interaction.
     *
     * @returns {void}
     */
    focusIn(): void;
    /**
     * Remove the focus from widget, if the widget is in focus state.
     *
     * @returns {void}
     */
    focusOut(): void;
    /**
     * Gets the properties to be maintained in the persisted state.
     *
     * @returns {string} - Returns the persisted data.
     */
    getPersistData(): string;
    /**
     * Calls internally if any of the property value is changed.
     *
     * @param {NumericTextBoxModel} newProp - Returns the dynamic property value of the component.
     * @param {NumericTextBoxModel} oldProp - Returns the previous property value of the component.
     * @returns {void}
     * @private
     */
    onPropertyChanged(newProp: NumericTextBoxModel, oldProp: NumericTextBoxModel): void;
    private updateClearButton;
    private updateSpinButton;
    /**
     * Gets the component name
     *
     * @returns {string} Returns the component name.
     * @private
     */
    getModuleName(): string;
}
export interface ChangeEventArgs extends base.BaseEventArgs {
    /** Returns the entered value of the NumericTextBox.
     *
     * @isGenericType true
     */
    value?: number;
    /** Returns the previously entered value of the NumericTextBox.
     *
     * @isGenericType true
     */
    previousValue?: number;
    /** Returns the event parameters from NumericTextBox. */
    event?: Event;
    /** Returns true when the value of NumericTextBox is changed by user interaction. Otherwise, it returns false
     *
     * @private
     */
    isInteraction?: boolean;
    /** Returns true when the value of NumericTextBox is changed by user interaction. Otherwise, it returns false */
    isInteracted?: boolean;
}
export interface NumericFocusEventArgs extends base.BaseEventArgs {
    /** Returns the original event arguments. */
    event?: MouseEvent | FocusEvent | TouchEvent | KeyboardEvent;
    /** Returns the value of the NumericTextBox.
     *
     * @isGenericType true
     */
    value: number;
    /** Returns the NumericTextBox container element */
    container?: HTMLElement;
}
export interface NumericBlurEventArgs extends base.BaseEventArgs {
    /** Returns the original event arguments. */
    event?: MouseEvent | FocusEvent | TouchEvent | KeyboardEvent;
    /** Returns the value of the NumericTextBox.
     *
     * @isGenericType true
     */
    value: number;
    /** Returns the NumericTextBox container element */
    container?: HTMLElement;
}
//node_modules/@syncfusion/ej2-inputs/src/numerictextbox/numerictextbox-model.d.ts
/**
 * Interface for a class NumericTextBox
 */
export interface NumericTextBoxModel extends base.ComponentModel{
    /**
     * Gets or Sets the CSS classes to root element of the NumericTextBox which helps to customize the
     * complete UI styles for the NumericTextBox component.
     *
     * @default null
     */
    cssClass?: string;
    /**
     * Sets the value of the NumericTextBox.
     *
     * @default null
     * @aspType object
     * @isGenericType true
     */
    value?: number;
    /**
     * Specifies a minimum value that is allowed a user can enter.
     * For more information on min, refer to
     * [min](../../numerictextbox/getting-started/#range-validation).
     *
     * @default null
     * @aspType object
     * @isGenericType true
     * @deprecated
     */
    min?: number;
    /**
     * Specifies a maximum value that is allowed a user can enter.
     * For more information on max, refer to
     * [max](../../numerictextbox/getting-started/#range-validation).
     *
     * @default null
     * @aspType object
     * @isGenericType true
     * @deprecated
     */
    max?: number;
    /**
     * Specifies the incremental or decremental step size for the NumericTextBox.
     * For more information on step, refer to
     * [step](../../numerictextbox/getting-started/#range-validation).
     *
     * @default 1
     * @isGenericType true
     */
    step?: number;
    /**
     * Specifies the width of the NumericTextBox.
     *
     * @default null
     */
    width?: number | string;
    /**
     * Gets or sets the string shown as a hint/placeholder when the NumericTextBox is empty.
     * It acts as a label and floats above the NumericTextBox based on the
     * <b><a href="#floatlabeltype" target="_blank">floatLabelType.</a></b>
     *
     * @default null
     */
    placeholder?: string;
    /**
     * You can add the additional html base.attributes such as disabled, value etc., to the element.
     * If you configured both property and equivalent html attribute then the component considers the property value.
     * {% codeBlock src='numerictextbox/htmlAttributes/index.md' %}{% endcodeBlock %}
     *
     * @default {}
     */
    htmlAttributes?: { [key: string]: string };
    /**
     * Specifies whether the up and down spin buttons should be displayed in NumericTextBox.
     *
     * @default true
     */
    showSpinButton?: boolean;
    /**
     * Sets a value that enables or disables the readonly state on the NumericTextBox. If it is true,
     * NumericTextBox will not allow your input.
     *
     * @default false
     */
    readonly?: boolean;
    /**
     * Sets a value that enables or disables the NumericTextBox control.
     *
     * @default true
     */
    enabled?: boolean;
    /**
     * Specifies whether to show or hide the clear icon.
     *
     * @default false
     */
    showClearButton?: boolean;
    /**
     * Enable or disable persisting NumericTextBox state between page reloads. If enabled, the `value` state will be persisted.
     *
     * @default false
     */
    enablePersistence?: boolean;
    /**
     * Specifies the number format that indicates the display format for the value of the NumericTextBox.
     * For more information on formats, refer to
     * [formats](../../numerictextbox/formats/#standard-formats).
     *
     * @default 'n2'
     */
    format?: string;
    /**
     * Specifies the number precision applied to the textbox value when the NumericTextBox is focused.
     * For more information on decimals, refer to
     * [decimals](../../numerictextbox/formats/#precision-of-numbers).
     *
     * @default null
     */
    decimals?: number;
    /**
     * Specifies the currency code to use in currency formatting.
     * Possible values are the ISO 4217 currency codes, such as 'USD' for the US dollar,'EUR' for the euro.
     *
     * @default null
     */
    currency?: string;
    /**
     * Specifies the currency code to use in currency formatting.
     * Possible values are the ISO 4217 currency codes, such as 'USD' for the US dollar,'EUR' for the euro.
     *
     * @default null
     * @private
     */
    currencyCode?: string;
    /**
     * Specifies a value that indicates whether the NumericTextBox control allows the value for the specified range.
     * If it is true, the input value will be restricted between the min and max range.
     * The typed value gets modified to fit the range on focused out state.
     * Else, it allows any value even out of range value,
     * At that time of wrong value entered, the error class will be added to the component to highlight the error.
     * {% codeBlock src='numerictextbox/strictMode/index.md' %}{% endcodeBlock %}
     *
     * @default true
     */
    strictMode?: boolean;
    /**
     * Specifies whether the decimals length should be restricted during typing.
     *
     * @default false
     */
    validateDecimalOnType?: boolean;
    /**
     * The <b><a href="#placeholder" target="_blank">placeholder</a></b> acts as a label
     * and floats above the NumericTextBox based on the below values.
     * Possible values are:
     * * `Never` - Never floats the label in the NumericTextBox when the placeholder is available.
     * * `Always` - The floating label always floats above the NumericTextBox.
     * * `Auto` - The floating label floats above the NumericTextBox after focusing it or when enters the value in it.
     *
     * @default Never
     */
    floatLabelType?: FloatLabelType;
    /**
     * Triggers when the NumericTextBox component is created.
     *
     * @event created
     */
    created?: base.EmitType<Object>;
    /**
     * Triggers when the NumericTextBox component is destroyed.
     *
     * @event destroyed
     */
    destroyed?: base.EmitType<Object>;
    /**
     * Triggers when the value of the NumericTextBox changes.
     * The change event of the NumericTextBox component will be triggered in the following scenarios:
     * * Changing the previous value using keyboard interaction and then focusing out of the component.
     * * Focusing on the component and scrolling within the input.
     * * Changing the value using the spin buttons.
     * * Programmatically changing the value using the value property.
     *
     * @event change
     */
    change?: base.EmitType<ChangeEventArgs>;
    /**
     * Triggers when the NumericTextBox got focus in.
     *
     * @event focus
     */
    focus?: base.EmitType<NumericFocusEventArgs>;
    /**
     * Triggers when the NumericTextBox got focus out.
     *
     * @event blur
     */
    blur?: base.EmitType<NumericBlurEventArgs>;
}
//node_modules/@syncfusion/ej2-inputs/src/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 maskedRegExp;
    private inputObj;
    private undoCollec;
    private redoCollec;
    private changeEventArgs;
    private focusEventArgs;
    private blurEventArgs;
    private maskKeyPress;
    private angularTagName;
    private prevValue;
    private isFocus;
    private isInitial;
    private isIosInvalid;
    private preEleVal;
    private formElement;
    private initInputValue;
    private maskOptions;
    private preventChange;
    private isClicked;
    private clearButton;
    /**
     * Gets or sets the CSS classes to root element of the MaskedTextBox which helps to customize the
     * complete UI styles for the MaskedTextBox component.
     *
     * @default null
     */
    cssClass: string;
    /**
     * Sets the width of the MaskedTextBox.
     *
     * @default null
     */
    width: number | string;
    /**
     * Gets or sets the string shown as a hint/placeholder when the MaskedTextBox is empty.
     * It acts as a label and floats above the MaskedTextBox based on the
     * <b><a href="#floatlabeltype" target="_blank">floatLabelType.</a></b>
     *
     * @default null
     */
    placeholder: string;
    /**
     * The <b><a href="#placeholder" target="_blank">placeholder</a></b> acts as a label
     * and floats above the MaskedTextBox based on the below values.
     * Possible values are:
     * * Never - The floating label will not be enable when the placeholder is available.
     * * Always - The floating label always floats above the MaskedTextBox.
     * * Auto - The floating label floats above the MaskedTextBox after focusing it or when enters the value in it.
     *
     * @default Never
     */
    floatLabelType: FloatLabelType;
    /**
     * You can add the additional html attributes such as disabled, value etc., to the element.
     * If you configured both property and equivalent html attribute then the component considers the property value.
     * {% codeBlock src='maskedtextbox/htmlAttributes/index.md' %}{% endcodeBlock %}
     *
     * @default {}
     */
    htmlAttributes: {
        [key: string]: string;
    };
    /**
     * Sets a value that enables or disables the MaskedTextBox component.
     *
     * @default true
     */
    enabled: boolean;
    /**
     * Specifies the boolean value whether the Masked TextBox allows the user to change the text.
     *
     * @default false
     */
    readonly: boolean;
    /**
     * Specifies whether to show or hide the clear icon.
     *
     * @default false
     */
    showClearButton: boolean;
    /**
     * Sets a value that enables or disables the persisting state of the MaskedTextBox after reloading the page.
     * If enabled, the 'value' state will be persisted.
     *
     * @default false
     */
    enablePersistence: boolean;
    /**
     * Sets a value that masks the MaskedTextBox to allow/validate the user input.
     * * Mask allows [`standard mask elements`](../../maskedtextbox/mask-configuration/#standard-mask-elements)
     * </b>, <b>[`custom characters`](../../maskedtextbox/mask-configuration/#custom-characters)</b> and
     * <b>[`regular expression`](../../maskedtextbox/mask-configuration/#regular-expression)</b> as mask
     * elements.
     * For more information on mask, refer to
     * [mask](../../maskedtextbox/mask-configuration/#standard-mask-elements).
     * * If the mask value is empty, the MaskedTextBox will behave as an input element with text type.
     *
     * {% codeBlock src='maskedtextbox/mask/index.md' %}{% endcodeBlock %}
     *
     * @default null
     */
    mask: string;
    /**
     * Gets or sets a value that will be shown as a prompting symbol for the masked value.
     * The symbol used to show input positions in the MaskedTextBox.
     * For more information on prompt-character, refer to
     * [prompt-character](../../maskedtextbox/mask-configuration/#prompt-character).
     *
     * @default '_'
     */
    promptChar: string;
    /**
     * Gets or sets the value of the MaskedTextBox. It is a raw value of the MaskedTextBox excluding literals
     * and prompt characters. By using `getMaskedValue` property, you can get the value of MaskedTextBox with the masked format.
     * {% codeBlock src='maskedtextbox/value/index.md' %}{% endcodeBlock %}
     *
     * @default null
     */
    value: string;
    /**
     * Sets the collection of values to be mapped for non-mask elements(literals)
     * which have been set in the mask of MaskedTextBox.
     * In the below example, non-mask elements "P" accepts values
     * "P" , "A" , "p" , "a" and "M" accepts values "M", "m" mentioned in the custom characters collection.
     * > For more information on customCharacters, refer to
     * [customCharacters](../../maskedtextbox/mask-configuration/#custom-characters).
     * {% codeBlock src='maskedtextbox/customCharacters/index.md' %}{% endcodeBlock %}
     *
     * @default null
     */
    customCharacters: {
        [x: string]: Object;
    };
    /**
     * Triggers when the MaskedTextBox component is created.
     *
     * @event created
     */
    created: base.EmitType<Object>;
    /**
     * Triggers when the MaskedTextBox component is destroyed.
     *
     * @event destroyed
     */
    destroyed: base.EmitType<Object>;
    /**
     * Triggers when the value of the MaskedTextBox changes.
     *
     * @event change
     */
    change: base.EmitType<MaskChangeEventArgs>;
    /**
     * Triggers when the MaskedTextBox got focus in.
     *
     * @event focus
     */
    focus: base.EmitType<MaskFocusEventArgs>;
    /**
     * Triggers when the MaskedTextBox got focus out.
     *
     * @event blur
     */
    blur: base.EmitType<MaskBlurEventArgs>;
    /**
     *
     * @param {MaskedTextBoxModel} options - Specifies the MaskedTextBox model.
     * @param {string | HTMLElement | HTMLInputElement} element - Specifies the element to render as component.
     * @private
     */
    constructor(options?: MaskedTextBoxModel, element?: string | HTMLElement | HTMLInputElement);
    /**
     * Gets the component name.
     *
     * @returns {string} Returns the component name.
     * @private
     */
    protected getModuleName(): string;
    /**
     * Initializes the event handler
     *
     * @returns {void}
     * @private
     */
    protected preRender(): void;
    /**
     * Gets the properties to be maintained in the persisted state.
     *
     * @returns {string}
     */
    getPersistData(): string;
    /**
     * Initializes the component rendering.
     *
     * @returns {void}
     * @private
     */
    render(): void;
    private updateHTMLAttrToElement;
    private updateCssClass;
    private getValidClassList;
    private updateHTMLAttrToWrapper;
    private resetMaskedTextBox;
    private setMaskPlaceholder;
    private setWidth;
    private checkHtmlAttributes;
    private createWrapper;
    /**
     * Calls internally if any of the property value is changed.
     *
     * @param {MaskedTextBoxModel} newProp - Returns the dynamic property value of the component.
     * @param {MaskedTextBoxModel} oldProp - Returns the previous property value of the component.
     * @returns {void}
     * @hidden
     */
    onPropertyChanged(newProp: MaskedTextBoxModel, oldProp: MaskedTextBoxModel): void;
    private updateValue;
    /**
     * Gets the value of the MaskedTextBox with the masked format.
     * By using `value` property, you can get the raw value of maskedtextbox without literals and prompt characters.
     *
     * @returns {string} Returns the value with the masked format.
     */
    getMaskedValue(): string;
    /**
     * Sets the focus to widget for interaction.
     *
     * @returns {void}
     */
    focusIn(): void;
    /**
     * Remove the focus from widget, if the widget is in focus state.
     *
     * @returns {void}
     */
    focusOut(): void;
    /**
     * Removes the component from the DOM and detaches all its related event handlers.
     * Also it maintains the initial input element from the DOM.
     *
     * @method destroy
     * @returns {void}
     */
    destroy(): void;
}
export interface MaskChangeEventArgs extends base.BaseEventArgs {
    /** Returns the value of the MaskedTextBox with the masked format. */
    maskedValue?: string;
    /** Returns the raw value of MaskedTextBox by removing the prompt characters and literals(non-mask elements)
     * which have been set in the mask of MaskedTextBox.
     */
    value?: string;
    /** Returns true when the value of MaskedTextBox is changed by user interaction. Otherwise, it returns false.
     *
     * @private
     */
    isInteraction?: boolean;
    /** Returns true when the value of MaskedTextBox is changed by user interaction. Otherwise, it returns false */
    isInteracted?: boolean;
    /** Returns the original event arguments. */
    event?: Event;
}
export interface MaskFocusEventArgs extends base.BaseEventArgs {
    /** Returns selectionStart value as zero by default */
    selectionStart?: number;
    /** Returns selectionEnd value depends on mask length */
    selectionEnd?: number;
    /** Returns the original event arguments. */
    event?: MouseEvent | FocusEvent | TouchEvent | KeyboardEvent;
    /** Returns the value of MaskedTextBox. */
    value?: string;
    /** Returns the maskedValue of MaskedTextBox. */
    maskedValue?: string;
    /** Returns the MaskedTextBox container element */
    container?: HTMLElement;
}
export interface MaskBlurEventArgs extends base.BaseEventArgs {
    /** Returns the original event arguments. */
    event?: MouseEvent | FocusEvent | TouchEvent | KeyboardEvent;
    /** Returns the value of MaskedTextBox. */
    value?: string;
    /** Returns the maskedValue of MaskedTextBox. */
    maskedValue?: string;
    /** Returns the MaskedTextBox container element */
    container?: HTMLElement;
}
//node_modules/@syncfusion/ej2-inputs/src/maskedtextbox/maskedtextbox/maskedtextbox-model.d.ts
/**
 * Interface for a class MaskedTextBox
 */
export interface MaskedTextBoxModel extends base.ComponentModel{
    /**
     * Gets or sets the CSS classes to root element of the MaskedTextBox which helps to customize the
     * complete UI styles for the MaskedTextBox component.
     *
     * @default null
     */
    cssClass?: string;
    /**
     * Sets the width of the MaskedTextBox.
     *
     * @default null
     */
    width?: number | string;
    /**
     * Gets or sets the string shown as a hint/placeholder when the MaskedTextBox is empty.
     * It acts as a label and floats above the MaskedTextBox based on the
     * <b><a href="#floatlabeltype" target="_blank">floatLabelType.</a></b>
     *
     * @default null
     */
    placeholder?: string;
    /**
     * The <b><a href="#placeholder" target="_blank">placeholder</a></b> acts as a label
     * and floats above the MaskedTextBox based on the below values.
     * Possible values are:
     * * Never - The floating label will not be enable when the placeholder is available.
     * * Always - The floating label always floats above the MaskedTextBox.
     * * Auto - The floating label floats above the MaskedTextBox after focusing it or when enters the value in it.
     *
     * @default Never
     */
    floatLabelType?: FloatLabelType;
    /**
     * You can add the additional html attributes such as disabled, value etc., to the element.
     * If you configured both property and equivalent html attribute then the component considers the property value.
     * {% codeBlock src='maskedtextbox/htmlAttributes/index.md' %}{% endcodeBlock %}
     *
     * @default {}
     */
    htmlAttributes?: { [key: string]: string };
    /**
     * Sets a value that enables or disables the MaskedTextBox component.
     *
     * @default true
     */
    enabled?: boolean;
    /**
     * Specifies the boolean value whether the Masked TextBox allows the user to change the text.
     *
     * @default false
     */
    readonly?: boolean;
    /**
     * Specifies whether to show or hide the clear icon.
     *
     * @default false
     */
    showClearButton?: boolean;
    /**
     * Sets a value that enables or disables the persisting state of the MaskedTextBox after reloading the page.
     * If enabled, the 'value' state will be persisted.
     *
     * @default false
     */
    enablePersistence?: boolean;
    /**
     * Sets a value that masks the MaskedTextBox to allow/validate the user input.
     * * Mask allows [`standard mask elements`](../../maskedtextbox/mask-configuration/#standard-mask-elements)
     * </b>, <b>[`custom characters`](../../maskedtextbox/mask-configuration/#custom-characters)</b> and
     * <b>[`regular expression`](../../maskedtextbox/mask-configuration/#regular-expression)</b> as mask
     * elements.
     * For more information on mask, refer to
     * [mask](../../maskedtextbox/mask-configuration/#standard-mask-elements).
     * * If the mask value is empty, the MaskedTextBox will behave as an input element with text type.
     *
     * {% codeBlock src='maskedtextbox/mask/index.md' %}{% endcodeBlock %}
     *
     * @default null
     */
    mask?: string;
    /**
     * Gets or sets a value that will be shown as a prompting symbol for the masked value.
     * The symbol used to show input positions in the MaskedTextBox.
     * For more information on prompt-character, refer to
     * [prompt-character](../../maskedtextbox/mask-configuration/#prompt-character).
     *
     * @default '_'
     */
    promptChar?: string;
    /**
     * Gets or sets the value of the MaskedTextBox. It is a raw value of the MaskedTextBox excluding literals
     * and prompt characters. By using `getMaskedValue` property, you can get the value of MaskedTextBox with the masked format.
     * {% codeBlock src='maskedtextbox/value/index.md' %}{% endcodeBlock %}
     *
     * @default null
     */
    value?: string;
    /**
     * Sets the collection of values to be mapped for non-mask elements(literals)
     * which have been set in the mask of MaskedTextBox.
     * In the below example, non-mask elements "P" accepts values
     * "P" , "A" , "p" , "a" and "M" accepts values "M", "m" mentioned in the custom characters collection.
     * > For more information on customCharacters, refer to
     * [customCharacters](../../maskedtextbox/mask-configuration/#custom-characters).
     * {% codeBlock src='maskedtextbox/customCharacters/index.md' %}{% endcodeBlock %}
     *
     * @default null
     */
    customCharacters?: { [x: string]: Object };
    /**
     * Triggers when the MaskedTextBox component is created.
     *
     * @event created
     */
    created?: base.EmitType<Object>;
    /**
     * Triggers when the MaskedTextBox component is destroyed.
     *
     * @event destroyed
     */
    destroyed?: base.EmitType<Object>;
    /**
     * Triggers when the value of the MaskedTextBox changes.
     *
     * @event change
     */
    change?: base.EmitType <MaskChangeEventArgs>;
    /**
     * Triggers when the MaskedTextBox got focus in.
     *
     * @event focus
     */
    focus?: base.EmitType<MaskFocusEventArgs>;
    /**
     * Triggers when the MaskedTextBox got focus out.
     *
     * @event blur
     */
    blur?: base.EmitType<MaskBlurEventArgs>;
}
//node_modules/@syncfusion/ej2-inputs/src/maskedtextbox/base/mask-base.d.ts
/**
 * @hidden
 * Built-in masking elements collection.
 */
export  const regularExpressions: {
    [key: string]: string;
};
interface MaskFocusEventArgs extends base.BaseEventArgs {
    /** Returns selectionStart value as zero by default */
    selectionStart?: number;
    /** Returns selectionEnd value depends on mask length */
    selectionEnd?: number;
    /** Returns the original event arguments. */
    event?: MouseEvent | FocusEvent | TouchEvent | KeyboardEvent;
    /** Returns the value of MaskedTextBox. */
    value?: string;
    /** Returns the maskedValue of MaskedTextBox. */
    maskedValue?: string;
    /** Returns the MaskedTextBox container element */
    container?: HTMLElement;
}
/**
 * Generate required masking elements to the MaskedTextBox from user mask input.
 *
 * @hidden
 */
export  function createMask(): void;
/**
 * Apply mask ability with masking elements to the MaskedTextBox.
 *
 * @hidden
 */
export  function applyMask(): void;
/**
 * To wire required events to the MaskedTextBox.
 *
 * @hidden
 */
export  function wireEvents(): void;
/**
 * To unwire events attached to the MaskedTextBox.
 *
 * @hidden
 */
export  function unwireEvents(): void;
/**
 * To bind required events to the MaskedTextBox clearButton.
 *
 * @hidden
 */
export  function bindClearEvent(): void;
/**
 * To get masked value from the MaskedTextBox.
 *
 * @hidden
 */
export  function unstrippedValue(element: HTMLInputElement): string;
/**
 * To extract raw value from the MaskedTextBox.
 *
 * @hidden
 */
export  function strippedValue(element: HTMLInputElement, maskValues: string): string;
export  function maskInputMouseDownHandler(): void;
export  function maskInputMouseUpHandler(): void;
export  function maskInputFocusHandler(event: MouseEvent | FocusEvent | TouchEvent | KeyboardEvent): void;
export  function triggerFocus(eventArgs: MaskFocusEventArgs, inputElement: HTMLInputElement): void;
export  function escapeRegExp(text: string): string;
export  function maskInputBlurHandler(event: MouseEvent | FocusEvent | TouchEvent | KeyboardEvent): void;
export  function maskInputDropHandler(event: MouseEvent): void;
export  function mobileRemoveFunction(): void;
/**
 * To set updated values in the MaskedTextBox.
 *
 * @hidden
 */
export  function setMaskValue(val?: string): void;
/**
 * To set updated values in the input element.
 *
 * @hidden
 */
export  function setElementValue(val: string, element?: HTMLInputElement): void;
/**
 * Provide mask support to input textbox through utility method.
 *
 * @hidden
 */
export  function maskInput(args: MaskInputArgs): void;
/**
 * Gets raw value of the textbox which has been masked through utility method.
 *
 * @hidden
 */
export  function getVal(args: GetValueInputArgs): string;
/**
 * Gets masked value of the textbox which has been masked through utility method.
 *
 * @hidden
 */
export  function getMaskedVal(args: GetValueInputArgs): string;
/**
 * Arguments to get the raw and masked value of MaskedTextBox which has been masked through utility method.
 *
 * @hidden
 */
export interface GetValueInputArgs {
    element: HTMLInputElement;
    mask: string;
    promptChar?: string;
    customCharacters?: {
        [x: string]: Object;
    };
}
/**
 * Arguments to mask input textbox through utility method.
 *
 * @hidden
 */
export interface MaskInputArgs extends GetValueInputArgs {
    value?: string;
}
/**
 * Arguments to perform undo and redo functionalities.
 *
 * @hidden
 */
export  class MaskUndo {
    value: string;
    startIndex: number;
    endIndex: number;
}
//node_modules/@syncfusion/ej2-inputs/src/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';
/**
 * Defines the constant attributes for the input element container.
 */
export  const containerAttributes: string[];
/**
 * Defines the constant focus class for the input element.
 */
export  const TEXTBOX_FOCUS: string;
/**
 * Base for Input creation through util methods.
 */
export  namespace Input {
    /**
     * Create a wrapper to input element with multiple span elements and set the basic properties to input based components.
     * ```
     * E.g : Input.createInput({ element: element, floatLabelType : "Auto", properties: { placeholder: 'Search' } });
     * ```
     *
     */
    function createInput(args: InputArgs, internalCreateElement?: createElementParams): InputObject;
    function bindInitialEvent(args: InputArgs): void;
    function wireFloatingEvents(element: HTMLInputElement | HTMLTextAreaElement): void;
    function wireClearBtnEvents(element: HTMLInputElement | HTMLTextAreaElement, button: HTMLElement, container: HTMLElement): void;
    function destroy(args: InputArgs, button?: HTMLElement): void;
    /**
     * Sets the value to the input element.
     * ```
     * E.g : Input.setValue('content', element, "Auto", true );
     * ```
     *
     * @param {string} value - Specify the value of the input element.
     * @param {HTMLInputElement | HTMLTextAreaElement} element - The element on which the specified value is updated.
     * @param {string} floatLabelType - Specify the float label type of the input element.
     * @param {boolean} clearButton - Boolean value to specify whether the clear icon is enabled / disabled on the input.
     */
    function setValue(value: string, element: HTMLInputElement | HTMLTextAreaElement, floatLabelType?: string, clearButton?: boolean): void;
    /**
     * Sets the single or multiple cssClass to wrapper of input element.
     * ```
     * E.g : Input.setCssClass('e-custom-class', [element]);
     * ```
     *
     * @param {string} cssClass - Css class names which are needed to add.
     * @param {Element[] | NodeList} elements - The elements which are needed to add / remove classes.
     * @param {string} oldClass
     * - Css class names which are needed to remove. If old classes are need to remove, can give this optional parameter.
     */
    function setCssClass(cssClass: string, elements: Element[] | NodeList, oldClass?: string): void;
    /**
     * Set the width to the placeholder when it overflows on the button such as spinbutton, clearbutton, icon etc
     * ```
     * E.g : Input.calculateWidth(element, container);
     * ```
     *
     * @param {any} element - Input element which is need to add.
     * @param {HTMLElement} container - The parent element which is need to get the label span to calculate width
     */
    function calculateWidth(element: any, container: HTMLElement, moduleName?: string): void;
    /**
     * Set the width to the wrapper of input element.
     * ```
     * E.g : Input.setWidth('200px', container);
     * ```
     *
     * @param {number | string} width - Width value which is need to add.
     * @param {HTMLElement} container - The element on which the width is need to add.
     */
    function setWidth(width: number | string, container: HTMLElement): void;
    /**
     * Set the placeholder attribute to the input element.
     * ```
     * E.g : Input.setPlaceholder('Search here', element);
     * ```
     *
     * @param {string} placeholder - Placeholder value which is need to add.
     * @param {HTMLInputElement | HTMLTextAreaElement} element - The element on which the placeholder is need to add.
     */
    function setPlaceholder(placeholder: string, element: HTMLInputElement | HTMLTextAreaElement): void;
    /**
     * Set the read only attribute to the input element
     * ```
     * E.g : Input.setReadonly(true, element);
     * ```
     *
     * @param {boolean} isReadonly
     * - Boolean value to specify whether to set read only. Setting "True" value enables read only.
     * @param {HTMLInputElement | HTMLTextAreaElement} element
     * - The element which is need to enable read only.
     */
    function setReadonly(isReadonly: boolean, element: HTMLInputElement | HTMLTextAreaElement, floatLabelType?: string): void;
    /**
     * Displays the element direction from right to left when its enabled.
     * ```
     * E.g : Input.setEnableRtl(true, [inputObj.container]);
     * ```
     *
     * @param {boolean} isRtl
     * - Boolean value to specify whether to set RTL. Setting "True" value enables the RTL mode.
     * @param {Element[] | NodeList} elements
     * - The elements that are needed to enable/disable RTL.
     */
    function setEnableRtl(isRtl: boolean, elements: Element[] | NodeList): void;
    /**
     * Enables or disables the given input element.
     * ```
     * E.g : Input.setEnabled(false, element);
     * ```
     *
     * @param {boolean} isEnable
     * - Boolean value to specify whether to enable or disable.
     * @param {HTMLInputElement | HTMLTextAreaElement} element
     * - Element to be enabled or disabled.
     */
    function setEnabled(isEnable: boolean, element: HTMLInputElement | HTMLTextAreaElement, floatLabelType?: string, inputContainer?: HTMLElement): void;
    function setClearButton(isClear: boolean, element: HTMLInputElement | HTMLTextAreaElement, inputObject: InputObject, initial?: boolean, internalCreateElement?: createElementParams): void;
    /**
     * Removing the multiple attributes from the given element such as "disabled","id" , etc.
     * ```
     * E.g : Input.removeAttributes({ 'disabled': 'disabled', 'aria-disabled': 'true' }, element);
     * ```
     *
     * @param {string} attrs
     * - Array of attributes which are need to removed from the element.
     * @param {HTMLInputElement | HTMLElement} element
     * - Element on which the attributes are needed to be removed.
     */
    function removeAttributes(attrs: {
        [key: string]: string;
    }, element: HTMLInputElement | HTMLElement): void;
    /**
     * Adding the multiple attributes to the given element such as "disabled","id" , etc.
     * ```
     * E.g : Input.addAttributes({ 'id': 'inputpopup' }, element);
     * ```
     *
     * @param {string} attrs
     * - Array of attributes which is added to element.
     * @param {HTMLInputElement | HTMLElement} element
     * - Element on which the attributes are needed to be added.
     */
    function addAttributes(attrs: {
        [key: string]: string;
    }, element: HTMLInputElement | HTMLElement): void;
    function removeFloating(input: InputObject): void;
    function addFloating(input: HTMLInputElement | HTMLTextAreaElement, type: FloatLabelType | string, placeholder: string, internalCreateElement?: createElementParams): void;
    /**
     * Create the span inside the label and add the label text into the span textcontent
     * ```
     * E.g : Input.createSpanElement(inputObject, makeElement);
     * ```
     *
     * @param {Element} inputObject
     * - Element which is need to get the label
     * @param {createElementParams} makeElement
     * - Element which is need to create the span
     */
    function createSpanElement(inputObject: Element, makeElement: createElementParams): void;
    /**
     * Enable or Disable the ripple effect on the icons inside the Input. Ripple effect is only applicable for material theme.
     * ```
     * E.g : Input.setRipple(true, [inputObjects]);
     * ```
     *
     * @param {boolean} isRipple
     * - Boolean value to specify whether to enable the ripple effect.
     * @param {InputObject[]} inputObj
     * - Specify the collection of input objects.
     */
    function setRipple(isRipple: boolean, inputObj: InputObject[]): void;
    /**
     * Creates a new span element with the given icons added and append it in container element.
     * ```
     * E.g : Input.addIcon('append', 'e-icon-spin', inputObj.container, inputElement);
     * ```
     *
     * @param {string} position - Specify the icon placement on the input.Possible values are append and prepend.
     * @param {string | string[]} icons - Icon classes which are need to add to the span element which is going to created.
     * Span element acts as icon or button element for input.
     * @param {HTMLElement} container - The container on which created span element is going to append.
     * @param {HTMLElement} input - The inputElement on which created span element is going to prepend.
     */
    function addIcon(position: string, icons: string | string[], container: HTMLElement, input: HTMLElement, internalCreate?: createElementParams): void;
    /**
     * Creates a new span element with the given icons added and prepend it in input element.
     * ```
     * E.g : Input.prependSpan('e-icon-spin', inputObj.container, inputElement);
     * ```
     *
     * @param {string} iconClass - Icon classes which are need to add to the span element which is going to created.
     * Span element acts as icon or button element for input.
     * @param {HTMLElement} container - The container on which created span element is going to append.
     * @param {HTMLElement} inputElement - The inputElement on which created span element is going to prepend.
     */
    function prependSpan(iconClass: string, container: HTMLElement, inputElement: HTMLElement, internalCreateElement?: createElementParams): HTMLElement;
    /**
     * Creates a new span element with the given icons added and append it in container element.
     * ```
     * E.g : Input.appendSpan('e-icon-spin', inputObj.container);
     * ```
     *
     * @param {string} iconClass - Icon classes which are need to add to the span element which is going to created.
     * Span element acts as icon or button element for input.
     * @param {HTMLElement} container - The container on which created span element is going to append.
     */
    function appendSpan(iconClass: string, container: HTMLElement, internalCreateElement?: createElementParams): HTMLElement;
    function validateInputType(containerElement: HTMLElement, input: HTMLInputElement | HTMLTextAreaElement): void;
    function updateHTMLAttributesToElement(htmlAttributes: {
        [key: string]: string;
    }, element: HTMLInputElement | HTMLTextAreaElement): void;
    function updateCssClass(newClass: string, oldClass: string, container: HTMLElement): void;
    function getInputValidClassList(inputClassName: string): string;
    function updateHTMLAttributesToWrapper(htmlAttributes: {
        [key: string]: string;
    }, container: HTMLElement): void;
    function isBlank(inputString: string): boolean;
}
export interface InputObject {
    container?: HTMLElement;
    buttons?: HTMLElement[];
    clearButton?: HTMLElement;
}
/**
 * Arguments to create input element for input text boxes utility.These properties are optional.
 */
export interface InputArgs {
    /**
     * Element which is needed to add to the container.
     * ```
     * E.g : Input.createInput({ element: element });
     * ```
     */
    element: HTMLInputElement | HTMLTextAreaElement;
    /**
     * ```
     * E.g : Input.createInput({ element: element, buttons: ['e-icon-up', 'e-icon-down'] });
     * ```
     * Specifies the icon classes for span element which will be append to the container.
     */
    buttons?: string[];
    /**
     * ```
     * E.g : Input.createInput({ element: element, customTag: 'ej2-custom-input' });
     * ```
     * Specifies the custom tag which is acts as container to the input.
     */
    customTag?: string;
    /**
     * ```
     * E.g : Input.createInput({ element: element, floatLabelType : "Always" });
     * ```
     * Specifies how the floating label works.
     * Possible values are:
     * * Never - Never float the label in the input when the placeholder is available.
     * * Always - The floating label will always float above the input.
     * * Auto - The floating label will float above the input after focusing or entering a value in the input.
     */
    floatLabelType?: FloatLabelType | string;
    /**
     * ```
     * E.g : Input.createInput({ element: element, customTag: 'ej2-custom-input' ,bindClearAction: false });
     * ```
     * Specifies whether to bind the clear button action in input base or not.
     */
    bindClearAction?: boolean;
    /**
     * ```
     * E.g : Input.createInput({ element: element, properties: { readonly: true, placeholder: 'Search here' } });
     * ```
     * To specifies the properties such as readonly,enable rtl,etc.
     */
    properties?: {
        readonly?: boolean;
        placeholder?: string;
        cssClass?: string;
        enableRtl?: boolean;
        enabled?: boolean;
        showClearButton?: boolean;
    };
}
/**
 * Default required properties for input components.
 */
export interface IInput {
    /**
     * Sets the placeholder value to input.
     */
    placeholder: string;
    /**
     * Sets the css class value to input.
     */
    cssClass: string;
    /**
     * Sets the enabled value to input.
     */
    enabled?: boolean;
    /**
     * Sets the readonly value to input.
     */
    readonly: boolean;
    /**
     * Sets the enable rtl value to input.
     */
    enableRtl: boolean;
    /**
     * Specifies whether to display the Clear button in the input.
     */
    showClearButton?: boolean;
    /**
     * Specifies how the floating label works.
     * Possible values are:
     * * Never - Never float the label in the input when the placeholder is available.
     * * Always - The floating label will always float above the input.
     * * Auto - The floating label will float above the input after focusing or entering a value in the input.
     */
    floatLabelType?: FloatLabelType | string;
    /**
     * Sets the change event mapping function to input.
     */
    change: Function;
}
export  type createElementParams = (tag: string, prop?: {
    id?: string;
    className?: string;
    innerHTML?: string;
    styles?: string;
    attrs?: {
        [key: string]: string;
    };
}) => HTMLElement;
/**
 * Defines the argument for the focus event.
 */
export interface FocusEventArgs {
    model?: Object;
}
/**
 * Defines the argument for the blur event.
 */
export interface BlurEventArgs {
    model?: Object;
}
//node_modules/@syncfusion/ej2-inputs/src/form-validator/form-validator.d.ts
/**
 * global declarations
 */
export  const regex: {
    [key: string]: RegExp;
};
/**
 * ErrorOption values
 *
 * @private
 */
export  enum ErrorOption {
    /**
     * Defines the error message.
     */
    Message = 0,
    /**
     * Defines the error element type.
     */
    Label = 1
}
/**
 * FormValidator class enables you to validate the form fields based on your defined rules
 * ```html
 * <form id='formId'>
 *  <input type='text' name='Name' />
 *  <input type='text' name='Age' />
 * </form>
 * <script>
 *   let formObject = new FormValidator('#formId', {
 *      rules: { Name: { required: true }, Age: { range: [18, 30] } };
 *   });
 *   formObject.validate();
 * </script>
 * ```
 */
export  class FormValidator extends base.Base<HTMLFormElement> implements base.INotifyPropertyChanged {
    private validated;
    private errorRules;
    private allowSubmit;
    private required;
    private infoElement;
    private inputElement;
    private selectQuery;
    private inputElements;
    private l10n;
    private internationalization;
    private localyMessage;
    /**
     * default locale variable
     */
    locale: string;
    /**
     * Ignores input fields based on the class name
     *
     * @default 'e-hidden'
     */
    ignore: string;
    /**
     * Maps the input fields with validation rules
     *
     * @default {}
     */
    rules: {
        [name: string]: {
            [rule: string]: Object;
        };
    };
    /**
     * Sets the defined css class to error fields
     *
     * @default 'e-error'
     */
    errorClass: string;
    /**
     * Sets the defined css class to valid fields
     *
     * @default 'e-valid'
     */
    validClass: string;
    /**
     * Specify HTML element for error
     *
     * @default 'label'
     */
    errorElement: string;
    /**
     * Specify HTML element for error container
     *
     * @default 'div'
     */
    errorContainer: string;
    /**
     * Option to display the error
     *
     * @default ErrorOption.Label
     * @deprecated
     */
    errorOption: ErrorOption;
    /**
     * Triggers when a field's focused  out
     *
     * @event focusout
     */
    focusout: base.EmitType<Event>;
    /**
     * Trigger when keyup is triggered in any fields
     *
     * @event keyup
     */
    keyup: base.EmitType<KeyboardEvent>;
    /**
     * Triggers when a check box field is clicked
     *
     * @event click
     */
    click: base.EmitType<Event>;
    /**
     * Trigger when a select/drop-down field is changed
     *
     * @event change
     */
    change: base.EmitType<Event>;
    /**
     * Triggers before form is being submitted
     *
     * @event submit
     */
    submit: base.EmitType<Event>;
    /**
     * Triggers before validation starts
     *
     * @event validationBegin
     */
    validationBegin: base.EmitType<Object | ValidArgs>;
    /**
     * Triggers after validation is completed
     *
     * @event validationComplete
     */
    validationComplete: base.EmitType<Object | FormEventArgs>;
    /**
     * Assigns the custom function to place the error message in the page.
     *
     * @event customPlacement
     */
    customPlacement: base.EmitType<HTMLElement | any>;
    /**
     * Add validation rules to the corresponding input element based on `name` attribute.
     *
     * @param {string} name `name` of form field.
     * @param {Object} rules Validation rules for the corresponding element.
     * @returns {void}
     */
    addRules(name: string, rules: Object): void;
    /**
     * Remove validation to the corresponding field based on name attribute.
     * When no parameter is passed, remove all the validations in the form.
     *
     * @param {string} name Input name attribute value.
     * @param {string[]} rules List of validation rules need to be remove from the corresponding element.
     * @returns {void}
     */
    removeRules(name?: string, rules?: string[]): void;
    /**
     * Validate the current form values using defined rules.
     * Returns `true` when the form is valid otherwise `false`
     *
     * @param {string} selected - Optional parameter to validate specified element.
     * @returns {boolean} - Returns form validation status.
     */
    validate(selected?: string): boolean;
    /**
     * Reset the value of all the fields in form.
     *
     * @returns {void}
     */
    reset(): void;
    /**
     * Get input element by name.
     *
     * @param {string} name - Input element name attribute value.
     * @returns {HTMLInputElement} - Returns the input element.
     */
    getInputElement(name: string): HTMLInputElement;
    /**
     * Destroy the form validator object and error elements.
     *
     * @returns {void}
     */
    destroy(): void;
    /**
     * Specifies the default messages for validation rules.
     *
     * @default { List of validation message }
     */
    defaultMessages: {
        [rule: string]: string;
    };
    /**
     * @param {FormValidatorModel} newProp - Returns the dynamic property value of the component.
     * @param {FormValidatorModel} oldProp - Returns the previous property value of the component.
     * @returns {void}
     * @private
     */
    onPropertyChanged(newProp: FormValidatorModel, oldProp?: FormValidatorModel): void;
    /**
     * @private
     * @returns {void}
     */
    localeFunc(): void;
    /**
     * @private
     * @returns {string} - Returns the component name.
     */
    getModuleName(): string;
    /**
     * @param {any} args - Specifies the culture name.
     * @returns {void}
     * @private
     */
    afterLocalization(args: any): void;
    /**
     * Allows you to refresh the form validator base events to the elements inside the form.
     *
     * @returns {void}
     */
    refresh(): void;
    /**
     * Initializes the FormValidator.
     *
     * @param {string | HTMLFormElement} element - Specifies the element to render as component.
     * @param {FormValidatorModel} options - Specifies the FormValidator model.
     * @private
     */
    constructor(element: string | HTMLFormElement, options?: FormValidatorModel);
    private clearForm;
    private createHTML5Rules;
    private annotationRule;
    private defRule;
    private wireEvents;
    private unwireEvents;
    private focusOutHandler;
    private keyUpHandler;
    private clickHandler;
    private changeHandler;
    private submitHandler;
    private resetHandler;
    private validateRules;
    private optionalValidationStatus;
    private isValid;
    private getErrorMessage;
    private createErrorElement;
    private getErrorElement;
    private removeErrorRules;
    private showMessage;
    private hideMessage;
    private checkRequired;
    private static checkValidator;
    private static isCheckable;
}
export interface ValidArgs {
    /**
     * Returns the value in input element.
     */
    value: string;
    /**
     * Returns the rule mapped for the input.
     */
    param?: Object;
    /**
     * Returns the input element.
     */
    element?: HTMLElement;
    /**
     * Returns the current form element.
     */
    formElement?: HTMLFormElement;
    /**
     * Returns the date format mapped for the input.
     */
    format?: string;
    /**
     * Returns the culture for the input.
     */
    culture?: string;
}
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/form-validator-model.d.ts
/**
 * Interface for a class FormValidator
 */
export interface FormValidatorModel {
    /**
     * default locale variable
     */
    locale?: string;
    /**
     * Ignores input fields based on the class name
     *
     * @default 'e-hidden'
     */
    ignore?: string;
    /**
     * Maps the input fields with validation rules
     *
     * @default {}
     */
    rules?: { [name: string]: { [rule: string]: Object } };
    /**
     * Sets the defined css class to error fields
     *
     * @default 'e-error'
     */
    errorClass?: string;
    /**
     * Sets the defined css class to valid fields
     *
     * @default 'e-valid'
     */
    validClass?: string;
    /**
     * Specify HTML element for error
     *
     * @default 'label'
     */
    errorElement?: string;
    /**
     * Specify HTML element for error container
     *
     * @default 'div'
     */
    errorContainer?: string;
    /**
     * Option to display the error
     *
     * @default ErrorOption.Label
     * @deprecated
     */
    errorOption?: ErrorOption;
    /**
     * Triggers when a field's focused  out
     *
     * @event focusout
     */
    focusout?: base.EmitType<Event>;
    /**
     * Trigger when keyup is triggered in any fields
     *
     * @event keyup
     */
    keyup?: base.EmitType<KeyboardEvent>;
    /**
     * Triggers when a check box field is clicked
     *
     * @event click
     */
    click?: base.EmitType<Event>;
    /**
     * Trigger when a base.select/drop-down field is changed
     *
     * @event change
     */
    change?: base.EmitType<Event>;
    /**
     * Triggers before form is being submitted
     *
     * @event submit
     */
    submit?: base.EmitType<Event>;
    /**
     * Triggers before validation starts
     *
     * @event validationBegin
     */
    validationBegin?: base.EmitType<Object | ValidArgs>;
    /**
     * Triggers after validation is completed
     *
     * @event validationComplete
     */
    validationComplete?: base.EmitType<Object | FormEventArgs>;
    /**
     * Assigns the custom function to place the error message in the page.
     *
     * @event customPlacement
     */
    /* eslint-disable @typescript-eslint/no-explicit-any */
    customPlacement?: base.EmitType<HTMLElement | any>;
}
//node_modules/@syncfusion/ej2-inputs/src/common/signature-base.d.ts
export  abstract class SignatureBase extends base.Component<HTMLCanvasElement> {
    private pointX;
    private pointY;
    private time;
    private startPoint;
    private controlPoint1;
    private controlPoint2;
    private endPoint;
    private pointColl;
    private canvasContext;
    private lastVelocity;
    private lastWidth;
    private incStep;
    private snapColl;
    private minDistance;
    private previous;
    private interval;
    private timeout;
    private storedArgs;
    private isSignatureEmpty;
    private backgroundLoaded;
    private fileType;
    private fileName;
    private clearArray;
    private isBlazor;
    private isResponsive;
    private dotnetRef;
    private signPointsColl;
    private signRatioPointsColl;
    private tempCanvas;
    private tempContext;
    private canRedraw;
    /**
     * Gets or sets the background color of the component.
     *
     */
    backgroundColor: string;
    /**
     * Gets or sets the background image for the component.
     *
     */
    backgroundImage: string;
    /**
     * Gets or sets whether to disable the signature component where the opacity is set to show disabled state.
     *
     */
    disabled: boolean;
    /**
     * Gets or sets whether to prevent the interaction in signature component.
     *
     */
    isReadOnly: boolean;
    /**
     *  Gets or sets whether to save the signature along with Background Color and background Image while saving.
     *
     */
    saveWithBackground: boolean;
    /**
     * Gets or sets the stroke color of the signature.
     *
     */
    strokeColor: string;
    /**
     * Gets or sets the minimum stroke width for signature.
     *
     */
    minStrokeWidth: number;
    /**
     * Gets or sets the maximum stroke width for signature.
     *
     */
    maxStrokeWidth: number;
    /**
     * Gets or sets the velocity to calculate the stroke thickness based on the pressure of the contact on the digitizer surface.
     *
     */
    velocity: number;
    /**
     * Gets or sets the last signature url to maintain the persist state.
     *
     */
    signatureValue: string;
    /**
     * To Initialize the component rendering
     *
     * @private
     * @param {HTMLCanvasElement} element - Specifies the canvas element.
     * @param {base.BlazorDotnetObject} dotnetRef - Specifies for blazor client to server communication.
     * @returns {void}
     */
    initialize(element: HTMLCanvasElement, dotnetRef?: base.BlazorDotnetObject): void;
    private wireEvents;
    private unwireEvents;
    private setHTMLProperties;
    protected mouseDownHandler(e: MouseEvent & TouchEvent): void;
    private mouseMoveHandler;
    private mouseUpHandler;
    private keyboardHandler;
    private resizeHandler;
    private beginStroke;
    private updateStroke;
    private updateStrokeWithThrottle;
    private delay;
    private createPoint;
    private point;
    private addPoint;
    private startDraw;
    private endDraw;
    private curveDraw;
    private strokeDraw;
    private arcDraw;
    private calculateCurveControlPoints;
    private bezierLengthCalc;
    private bezierPointCalc;
    private pointVelocityCalc;
    private distanceTo;
    private isRead;
    private enableOrDisable;
    private updateSnapCollection;
    private setBackgroundImage;
    private setBackgroundColor;
    protected loadPersistedSignature(): void;
    /**
     * To get the signature as Blob.
     *
     * @param {string} url - specify the url/base 64 string to get blob of the signature.
     * @returns {Blob}.
     */
    getBlob(url: string): Blob;
    private download;
    private internalRefresh;
    /**
     * To refresh the signature.
     *
     * @returns {void}.
     */
    refresh(): void;
    /**
     * Erases all the signature strokes signed by user.
     *
     * @returns {void}.
     */
    clear(): void;
    /**
     * Undo the last user action.
     *
     * @returns {void}.
     */
    undo(): void;
    /**
     * Redo the last user action.
     *
     * @returns {void}.
     */
    redo(): void;
    private isClear;
    /**
     * To check whether the signature is empty or not.
     *
     * @returns {boolean}.
     */
    isEmpty(): boolean;
    /**
     * To check whether the undo collection is empty or not.
     *
     * @returns {boolean}.
     */
    canUndo(): boolean;
    /**
     * To check whether the redo collection is empty or not.
     *
     * @returns {boolean}.
     */
    canRedo(): boolean;
    /**
     * To draw the signature based on the given text, with the font family and font size.
     *
     * @param {string} text - specify text to be drawn as signature.
     * @param {string} fontFamily - specify font family of a signature.
     * @param {number} fontSize - specify font size of a signature.
     * @param {number} x- Specifies the x-coordinate to start the text of a signature. Default to the center point of the image if it not specified.
     * @param {number} y - Specifies the y-coordinate to start the text of a signature. Default to the center point of the image if it not specified.
     *
     * @returns {void}.
     */
    draw(text: string, fontFamily?: string, fontSize?: number, x?: number, y?: number): void;
    /**
     * To load the signature with the given base 64 string, height and width.
     *
     * @param {string} signature - specify the url/base 64 string to be drawn as signature.
     * @param {number} width - specify the width of the loaded signature image.
     * @param {number} height - specify the height of the loaded signature image.
     * @returns {void}.
     */
    load(signature: string, width?: number, height?: number): void;
    private saveBackground;
    /**
     * To save the signature with the given file type and file name.
     *
     * @param {SignatureFileType} type - specify type of the file to be saved a signature.
     * @param {string} fileName - specify name of the file to be saved a signature.
     *
     * @returns {void}.
     */
    save(type?: SignatureFileType, fileName?: string): void;
    private resetSnap;
    private toJPEG;
    private toSVG;
    /**
     * To save the signature as Blob.
     *
     * @returns {Blob}.
     */
    saveAsBlob(): Blob;
    /**
     * Gets the signature as a Base 64 string.
     *
     * This method is used to retrieve the current signature on the canvas as a Base 64-encoded string, in the specified image format.
     *
     * @param {SignatureFileType} [type] - Specifies the type of the image format.
     * Can be one of 'Png', 'Jpeg', or 'Svg'. If not specified, the default is 'Png'.
     * @returns {string} - Returns the Base 64 string of the signature in the specified format.
     */
    getSignature(type?: SignatureFileType): string;
    /**
     * Get component name.
     *
     * @returns {string} - Module Name
     * @private
     */
    protected getModuleName(): string;
    /**
     * To get the properties to be maintained in the persisted state.
     *
     * @returns {string} - Persist data
     */
    protected getPersistData(): string;
    /**
     * Removes the component from the DOM and detaches all its related event handlers.
     * Also it maintains the initial input element from the DOM.
     *
     * @method destroy
     * @returns {void}
     */
    destroy(): void;
    /**
     * Modified onPropertyChanged method for both blazor and EJ2 signature component.
     *
     * @private
     * @param {string} key - Specifies the property, which changed.
     * @param {string} value - Specifies the property value changed.
     * @returns {void}
     */
    propertyChanged(key: string, value: string | boolean | number): void;
}
/**
 * Defines the signature file type.
 */
export  type SignatureFileType = 'Png' | 'Jpeg' | 'Svg';
/**
 * Interface for before save the canvas as image.
 */
export interface SignatureBeforeSaveEventArgs {
    /**
     * Gets or sets whether to cancel the save action. You can cancel and perform save operation programmatically.
     */
    cancel?: boolean;
    /**
     * Gets or sets the file name to be saved.
     */
    fileName?: string;
    /**
     * Gets or sets the file type to be saved.
     */
    type?: SignatureFileType;
}
/**
 * Interface for changes occur in the signature.
 */
export interface SignatureChangeEventArgs {
    /**
     * Gets or sets the action name of the signature.
     */
    actionName: string;
}
/**
 * Interface for Dimension calculation in the imageEditor.
 */
export interface Dimension {
    /**
     * Gets x position from the canvas.
     */
    x?: number;
    /**
     * Gets y position from the canvas.
     */
    y?: number;
    /**
     * Gets width of the image.
     */
    width: number;
    /**
     * Gets height of the image.
     */
    height: number;
}
/**
 * Interface for active object in the imageEditor.
 */
export interface ActivePoint {
    /**
     * Gets mouse down x-point.
     */
    startX: number;
    /**
     * Gets mouse down y-point.
     */
    startY: number;
    /**
     * Gets mouse move x-point.
     */
    endX?: number;
    /**
     * Gets mouse move y-point.
     */
    endY?: number;
    /**
     * Gets width of the selection.
     */
    width?: number;
    /**
     * Gets height of the selection.
     */
    height?: number;
    /**
     * Gets radius of the circle dot.
     */
    radius?: number;
}
//node_modules/@syncfusion/ej2-inputs/src/color-picker/color-picker.d.ts
/**
 * Defines the ColorPicker Mode
 * ```props
 * Picker :- Specifies that the ColorPicker component should be rendered with the picker mode.
 * Palette :- Specifies that the ColorPicker component should be rendered with the palette 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;
    private recentColors;
    /**
     * It is used to set the color value for ColorPicker. It should be specified as Hex code.
     *
     * @default '#008000ff'
     */
    value: string;
    /**
     * This property sets the CSS classes to root element of the ColorPicker
     *  which helps to customize the UI styles.
     *
     * @default ''
     */
    cssClass: string;
    /**
     * It is used to enable / disable ColorPicker component. If it is disabled the ColorPicker popup won’t open.
     *
     * @default false
     */
    disabled: boolean;
    /**
     * It is used to render the ColorPicker with the specified mode.
     *
     * @default 'Picker'
     */
    mode: ColorPickerMode;
    /**
     * It is used to show / hide the mode switcher button of ColorPicker component.
     *
     * @default true
     */
    modeSwitcher: boolean;
    /**
     * It is used to load custom colors to palette.
     *
     * @default null
     */
    presetColors: {
        [key: string]: string[];
    };
    /**
     * It is used to show / hide the control buttons (apply / cancel) of  ColorPicker component.
     *
     * @default true
     */
    showButtons: boolean;
    /**
     * It is used to render the ColorPicker palette with specified columns.
     *
     * @default 10
     */
    columns: number;
    /**
     * It is used to render the ColorPicker component as inline.
     *
     * @default false
     */
    inline: boolean;
    /**
     * It is used to enable / disable the no color option of ColorPicker component.
     *
     * @default false
     */
    noColor: boolean;
    /**
     * To enable or disable persisting component's state between page reloads and it is extended from component class.
     *
     * @default false
     */
    enablePersistence: boolean;
    /**
     * It is used to enable / disable the opacity option of ColorPicker component.
     *
     * @default true
     */
    enableOpacity: boolean;
    /**
     * Specifies the popup element creation on open.
     *
     * @default false
     */
    createPopupOnClick: boolean;
    /**
     * Specifies to show the recent color options in the color picker in the palate mode.
     * It accepts boolean value to configure recent colors. The default value is false.
     * If this property value is false, then the recent color user interface is not rendered in color picker component.
     * This recent color option is rendered only in the palette mode.
     *
     * @default false
     */
    showRecentColors: boolean;
    /**
     * Triggers while selecting the color in picker / palette, when showButtons property is enabled.
     *
     * @event select
     * @blazorProperty 'Selected'
     */
    select: base.EmitType<ColorPickerEventArgs>;
    /**
     * Triggers while changing the colors. It will be triggered based on the showButtons property.
     * If the property is false, the event will be triggered while selecting the colors.
     * If the property is true, the event will be triggered while apply the selected color.
     *
     * @event change
     * @blazorProperty 'ValueChange'
     */
    change: base.EmitType<ColorPickerEventArgs>;
    /**
     * Trigger while rendering each palette tile.
     *
     * @event beforeTileRender
     * @blazorProperty 'OnTileRender'
     */
    beforeTileRender: base.EmitType<PaletteTileEventArgs>;
    /**
     * Triggers before opening the ColorPicker popup.
     *
     * @event beforeOpen
     * @blazorProperty 'OnOpen'
     */
    beforeOpen: base.EmitType<BeforeOpenCloseEventArgs>;
    /**
     * Triggers while opening the ColorPicker popup.
     *
     * @event open
     * @blazorProperty 'Opened'
     */
    open: base.EmitType<OpenEventArgs>;
    /**
     * Triggers before closing the ColorPicker popup.
     *
     * @event beforeClose
     * @blazorProperty 'OnClose'
     */
    beforeClose: base.EmitType<BeforeOpenCloseEventArgs>;
    /**
     * Triggers before Switching between ColorPicker mode.
     *
     * @event beforeModeSwitch
     * @blazorProperty 'OnModeSwitch'
     */
    beforeModeSwitch: base.EmitType<ModeSwitchEventArgs>;
    /**
     * Triggers after Switching between ColorPicker mode.
     *
     * @event onModeSwitch
     * @blazorProperty 'ModeSwitched'
     */
    onModeSwitch: base.EmitType<ModeSwitchEventArgs>;
    /**
     * Triggers once the component rendering is completed.
     *
     * @event created
     * @blazorProperty 'Created'
     */
    created: base.EmitType<Event>;
    constructor(options?: ColorPickerModel, element?: string | HTMLInputElement);
    protected preRender(): void;
    /**
     * To Initialize the component rendering
     *
     * @private
     * @returns {void}
     */
    render(): void;
    private initWrapper;
    private getWrapper;
    private createWidget;
    private createSplitBtn;
    private onOpen;
    private getPopupInst;
    private bindCallBackEvent;
    private onPopupClose;
    private createPalette;
    private renderRecentColor;
    private firstPaletteFocus;
    private appendPalette;
    private setNoColor;
    private appendElement;
    private addTileSelection;
    private createPicker;
    private setHsvContainerBg;
    private getHsvContainer;
    private setHandlerPosition;
    private createSlider;
    private createOpacitySlider;
    private updateOpacitySliderBg;
    private hueChange;
    private opacityChange;
    private updateOpacityInput;
    private createPreview;
    private isPicker;
    private getPopupEle;
    private createNumericInput;
    private createInput;
    private appendOpacityValue;
    private appendValueSwitchBtn;
    private createCtrlBtn;
    private appendModeSwitchBtn;
    private createDragTooltip;
    private getTooltipInst;
    private setTooltipOffset;
    private toggleDisabled;
    private convertToRgbString;
    private convertToHsvString;
    private updateHsv;
    private convertToOtherFormat;
    private updateInput;
    private updatePreview;
    private getDragHandler;
    private removeTileSelection;
    private convertRgbToNumberArray;
    /**
     * To get color value in specified type.
     *
     * @param {string} value - Specify the color value.
     * @param {string} type - Specify the type to which the specified color needs to be converted.
     * @method getValue
     * @returns {string} - Color value
     */
    getValue(value?: string, type?: string): string;
    /**
     * To show/hide ColorPicker popup based on current state of the SplitButton.
     *
     * @method toggle
     * @returns {void}
     */
    toggle(): void;
    /**
     * Get component name.
     *
     * @returns {string} - Module Name
     * @private
     */
    getModuleName(): string;
    /**
     * Gets the properties to be maintained in the persisted state.
     *
     * @returns {string} - Persist data
     */
    getPersistData(): string;
    protected wireEvents(): void;
    private formResetHandler;
    private addCtrlSwitchEvent;
    private ctrlBtnKeyDown;
    private pickerKeyDown;
    private enterKeyHandler;
    private closePopup;
    private triggerChangeEvent;
    private handlerDragPosition;
    private handlerDown;
    private handlerMove;
    private setHsv;
    private handlerEnd;
    private btnClickHandler;
    private switchToPalette;
    private refreshImageEditorPopupPos;
    private refreshPopupPos;
    private formatSwitchHandler;
    private updateValue;
    private previewHandler;
    private paletteClickHandler;
    private noColorTile;
    private switchToPicker;
    private ctrlBtnClick;
    private paletteKeyDown;
    private keySelectionChanges;
    private tilePosition;
    private inputHandler;
    private inputValueChange;
    private triggerEvent;
    /**
     * Removes the component from the DOM and detaches all its related event handlers.
     * Also it maintains the initial input element from the DOM.
     *
     * @method destroy
     * @returns {void}
     */
    destroy(): void;
    private destroyOtherComp;
    private isPopupOpen;
    protected unWireEvents(): void;
    private roundValue;
    private hexToRgb;
    private rgbToHsv;
    private hsvToRgb;
    private rgbToHex;
    private hex;
    private changeModeSwitcherProp;
    private changeShowBtnProps;
    private changeValueProp;
    private setInputEleProps;
    private changeDisabledProp;
    private changeCssClassProps;
    private changeRtlProps;
    private changePaletteProps;
    private changeOpacityProps;
    /**
     * Called internally if any of the property value changed.
     *
     * @param  {ColorPickerModel} newProp - Specifies new properties
     * @param  {ColorPickerModel} oldProp - Specifies old properties
     * @returns {void}
     * @private
     */
    onPropertyChanged(newProp: ColorPickerModel, oldProp: ColorPickerModel): void;
    /**
     * Sets the focus to Colorpicker
     * its native method
     *
     * @public
     * @returns {void}
     */
    focusIn(): void;
}
/**
 * Interface for change / select event.
 */
export interface ColorPickerEventArgs extends base.BaseEventArgs {
    currentValue: {
        hex: string;
        rgba: string;
    };
    previousValue: {
        hex: string;
        rgba: string;
    };
    value?: string;
    event?: Event;
}
/**
 * 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/color-picker-model.d.ts
/**
 * Interface for a class ColorPicker
 */
export interface ColorPickerModel extends base.ComponentModel{
    /**
     * It is used to set the color value for ColorPicker. It should be specified as Hex code.
     *
     * @default '#008000ff'
     */
    value?: string;
    /**
     * This property sets the CSS classes to root element of the ColorPicker
     *  which helps to customize the UI styles.
     *
     * @default ''
     */
    cssClass?: string;
    /**
     * It is used to enable / disable ColorPicker component. If it is disabled the ColorPicker popup won’t open.
     *
     * @default false
     */
    disabled?: boolean;
    /**
     * It is used to render the ColorPicker with the specified mode.
     *
     * @default 'Picker'
     */
    mode?: ColorPickerMode;
    /**
     * It is used to show / hide the mode switcher button of ColorPicker component.
     *
     * @default true
     */
    modeSwitcher?: boolean;
    /**
     * It is used to load custom colors to palette.
     *
     * @default null
     */
    presetColors?: { [key: string]: string[] };
    /**
     * It is used to show / hide the control buttons (apply / cancel) of  ColorPicker component.
     *
     * @default true
     */
    showButtons?: boolean;
    /**
     * It is used to render the ColorPicker palette with specified columns.
     *
     * @default 10
     */
    columns?: number;
    /**
     * It is used to render the ColorPicker component as inline.
     *
     * @default false
     */
    inline?: boolean;
    /**
     * It is used to enable / disable the no color option of ColorPicker component.
     *
     * @default false
     */
    noColor?: boolean;
    /**
     * To enable or disable persisting component's state between page reloads and it is extended from component class.
     *
     * @default false
     */
    enablePersistence?: boolean;
    /**
     * It is used to enable / disable the opacity option of ColorPicker component.
     *
     * @default true
     */
    enableOpacity?: boolean;
    /**
     * Specifies the popup element creation on open.
     *
     * @default false
     */
    createPopupOnClick?: boolean;
    /**
     * Specifies to show the recent color options in the color picker in the palate mode.
     * It accepts boolean value to configure recent colors. The default value is false.
     * If this property value is false, then the recent color user interface is not rendered in color picker component.
     * This recent color option is rendered only in the palette mode.
     *
     * @default false
     */
    showRecentColors?: boolean;
    /**
     * Triggers while selecting the color in picker / palette, when showButtons property is enabled.
     *
     * @event base.select
     * @blazorProperty 'Selected'
     */
    select?: base.EmitType<ColorPickerEventArgs>;
    /**
     * Triggers while changing the colors. It will be triggered based on the showButtons property.
     * If the property is false, the event will be triggered while selecting the colors.
     * If the property is true, the event will be triggered while apply the selected color.
     *
     * @event change
     * @blazorProperty 'ValueChange'
     */
    change?: base.EmitType<ColorPickerEventArgs>;
    /**
     * Trigger while rendering each palette tile.
     *
     * @event beforeTileRender
     * @blazorProperty 'OnTileRender'
     */
    beforeTileRender?: base.EmitType<PaletteTileEventArgs>;
    /**
     * Triggers before opening the ColorPicker popup.
     *
     * @event beforeOpen
     * @blazorProperty 'OnOpen'
     */
    beforeOpen?: base.EmitType<BeforeOpenCloseEventArgs>;
    /**
     * Triggers while opening the ColorPicker popup.
     *
     * @event open
     * @blazorProperty 'Opened'
     */
    open?: base.EmitType<OpenEventArgs>;
    /**
     * Triggers before closing the ColorPicker popup.
     *
     * @event beforeClose
     * @blazorProperty 'OnClose'
     */
    beforeClose?: base.EmitType<BeforeOpenCloseEventArgs>;
    /**
     * Triggers before Switching between ColorPicker mode.
     *
     * @event beforeModeSwitch
     * @blazorProperty 'OnModeSwitch'
     */
    beforeModeSwitch?: base.EmitType<ModeSwitchEventArgs>;
    /**
     * Triggers after Switching between ColorPicker mode.
     *
     * @event onModeSwitch
     * @blazorProperty 'ModeSwitched'
     */
    onModeSwitch?: base.EmitType<ModeSwitchEventArgs>;
    /**
     * Triggers once the component rendering is completed.
     *
     * @event created
     * @blazorProperty 'Created'
     */
    created?: base.EmitType<Event>;
}
 }
export namespace interactiveChat { 

//node_modules/@syncfusion/ej2-interactive-chat/src/interactive-chat-base/interactive-chat-base.d.ts
/**
 * Represents a toolbar item model in the component.
 */
export  class ToolbarItem extends base.ChildProperty<ToolbarItem> {
    /**
     * Specifies the CSS class for the icon of the toolbar item.
     * Represents the icon displayed for the toolbar item.
     *
     * @type {string}
     * @default ''
     */
    iconCss: string;
    /**
     * Specifies the text of the toolbar item.
     * Represents the display text of the toolbar item.
     *
     * @type {string}
     * @default null
     */
    text: string;
    /**
     * Specifies the type of the toolbar item.
     * Represents the item type of the toolbar item.
     *
     * @type {navigations.ItemType}
     * @default "Button"
     * @aspPopulateDefaultValue
     */
    type: navigations.ItemType;
    /**
     * Specifies the alignment of the toolbar item.
     *
     * @type {navigations.ItemAlign}
     * @default "Left"
     * @aspPopulateDefaultValue
     */
    align: navigations.ItemAlign;
    /**
     * Specifies whether the toolbar item is visible.
     * Indicates if the toolbar item should be displayed.
     *
     * @type {boolean}
     * @default true
     */
    visible: boolean;
    /**
     * Specifies whether the toolbar item is disabled.
     * Indicates if the toolbar item is interactive or not.
     *
     * @type {boolean}
     * @default false
     */
    disabled: boolean;
    /**
     * Specifies the tooltip text for the toolbar item.
     * Represents the text shown when hovering over the toolbar item.
     *
     * @type {string}
     * @default ''
     */
    tooltip: string;
    /**
     * Specifies the CSS class for styling the toolbar item.
     * Represents the additional CSS classes applied to the toolbar item.
     *
     * @type {string}
     * @default ''
     */
    cssClass: string;
    /**
     * Specifies the template that defines the appearance of the toolbar item.
     * Represents the custom template for rendering the toolbar item, which can be a string or a function.
     *
     * @default null
     * @angularType string | object
     * @reactType string | function | JSX.Element
     * @vueType string | function
     * @aspType string
     */
    template: string | Function;
    /**
     * Specifies the tab order of the toolbar items.
     * When assigned positive values, it allows switching focus to the next/previous toolbar items using the Tab/Shift+Tab keys.
     * If the value is set to 0 for all toolbar items, the tab order switches based on the element's order in the DOM.
     *
     * @type {number}
     * @default -1
     */
    tabIndex: number;
}
/**
 * Represents the settings for the toolbar in the component.
 */
export  class ToolbarSettings extends base.ChildProperty<ToolbarSettings> {
    /**
     * Specifies the collection of toolbar items in the component.
     * Represents the list of items to be displayed in the toolbar.
     *
     * @type {ToolbarItemModel[]}
     * @default []
     */
    items: ToolbarItemModel[];
    /**
     * Event raised when a toolbar item is clicked in the component.
     *
     * @event itemClicked
     */
    itemClicked: base.EmitType<ToolbarItemClickedEventArgs>;
}
/**
 * Represents the event arguments for a toolbar item click event in the component.
 */
export interface ToolbarItemClickedEventArgs extends base.BaseEventArgs {
    /**
     * Specifies the toolbar item that was clicked.
     * Represents the model of the toolbar item that triggered the click event.
     *
     * @type {ToolbarItemModel}
     * @default null
     *
     */
    item?: ToolbarItemModel;
    /**
     * Specifies the event object associated with the toolbar item click.
     * Represents the underlying event that triggered the click action, providing details about the event.
     *
     * @type {Event}
     * @default null
     *
     */
    event?: Event;
    /**
     * Specifies whether the click event should be cancelled.
     * Determines if the default action associated with the click event should be prevented.
     *
     * @type {boolean}
     * @default false
     *
     */
    cancel?: boolean;
    /**
     * Specifies the index of the message data associated with the toolbar item click event.
     * This property is not applicable for header toolbar item click.
     *
     * @type {number}
     * @default -1
     */
    dataIndex?: number;
}
/**
 * ChatBase component act as base class.
 */
export  class InterActiveChatBase extends base.Component<HTMLElement> implements base.INotifyPropertyChanged {
    /**
     * Event triggers when the component is created.
     *
     * @event 'created'
     */
    created: base.EmitType<Object>;
    protected suggestionsElement: HTMLElement;
    protected suggestionHeader: HTMLElement;
    protected content: HTMLElement;
    /**
     * * Constructor for Base class
     *
     * @param {InterActiveChatBaseModel} options - Specifies the Base model.
     * @param {string | HTMLElement} element - Specifies the element to render as component.
     * @private
     */
    constructor(options?: InterActiveChatBaseModel, element?: string | HTMLElement);
    /**
     * This method is abstract member of the base.Component<HTMLElement>.
     *
     * @private
     * @returns {void}
     */
    protected preRender(): void;
    /**
     * This method is abstract member of the base.Component<HTMLElement>.
     *
     * @private
     * @returns {string} - It returns the current module name.
     */
    getModuleName(): string;
    /**
     * This method is abstract member of the base.Component<HTMLElement>.
     *
     * @private
     * @returns {string} - It returns the persisted data.
     */
    protected getPersistData(): string;
    /**
     * This method is abstract member of the base.Component<HTMLElement>.
     *
     * @private
     * @returns {void}
     */
    protected render(): void;
    protected setDimension(element: HTMLElement, width: string | number, height: string | number): void;
    protected addCssClass(element: HTMLElement, cssClass: string): void;
    protected addRtlClass(element: HTMLElement, isRtl: boolean): void;
    protected updateCssClass(element: HTMLElement, newClass: string, oldClass: string): void;
    protected updateHeader(showHeader: boolean, headerElement: HTMLElement, viewWrapper: HTMLElement): void;
    protected renderViewSections(element: HTMLElement, headerClassName: string, viewClassName: string): void;
    protected createViewComponents(viewWrapper: HTMLElement): void;
    protected updateScroll(scrollElement: HTMLElement): void;
    protected getElement(element: string): HTMLElement;
    protected createSuggestionElement(suggestionHeader: string): {
        suggestionContainer: HTMLElement;
        suggestionHeaderElement: HTMLElement;
        suggestionListElement: HTMLElement;
    };
    protected renderSuggestions(suggestionsArray: string[], suggestionHeader: string, suggestionTemplate: string | Function, contextName: string, templateName: string, onSuggestionClick: (e: Event) => void): void;
    private renderSuggestionList;
    private suggestionItemHandler;
    protected renderBannerView(bannerTemplate: string | Function, parentElement: HTMLElement, templateName: string): void;
    protected updateContent(template: string | Function, contentElement: HTMLElement, context: object, templateName: string): void;
    protected renderFooterContent(footerTemplate: string | Function, footer: HTMLElement, prompt: string, promptPlaceholder: string, showClearButton: boolean, className: string): inputs.TextArea;
    private renderFooter;
    protected updateTextAreaObject(textareaObj: inputs.TextArea): void;
    protected renderSendIcon(sendIconClass: string, footer: HTMLElement): HTMLElement;
    protected appendChildren(target: HTMLElement, ...children: HTMLElement[]): void;
    protected insertBeforeChildren(target: HTMLElement, ...children: HTMLElement[]): void;
    protected wireFooterEvents(sendIcon: HTMLElement, footer: HTMLElement, footerTemplate: string | Function, textareaObj: inputs.TextArea): void;
    protected unWireFooterEvents(sendIcon: HTMLElement, footer: HTMLElement, footerTemplate: string | Function, textareaObj: inputs.TextArea): void;
    protected removeAndNullify(element: HTMLElement): void;
    protected destroyAndNullify(obj: any): void;
    /**
     * Gets template content based on the template property value.
     *
     * @param {string | Function} template - Template property value.
     * @param {boolean} notCompile - Compile property value.
     * @returns {Function} - Return template function.
     * @hidden
     */
    protected getTemplateFunction(template: string | Function, notCompile: boolean): string | Function;
    /**
     * This method is abstract member of the base.Component<HTMLElement>.
     *
     * @param  {InterActiveChatBaseModel} newProp - Specifies new properties
     * @param  {InterActiveChatBaseModel} oldProp - Specifies old properties
     * @private
     * @returns {void}
     */
    onPropertyChanged(newProp: InterActiveChatBaseModel, oldProp: InterActiveChatBaseModel): void;
}
//node_modules/@syncfusion/ej2-interactive-chat/src/interactive-chat-base/interactive-chat-base-model.d.ts
/**
 * Interface for a class ToolbarItem
 */
export interface ToolbarItemModel {
    /**
     * Specifies the CSS class for the icon of the toolbar item.
     * Represents the icon displayed for the toolbar item.
     *
     * @type {string}
     * @default ''
     */
    iconCss?: string;
    /**
     * Specifies the text of the toolbar item.
     * Represents the display text of the toolbar item.
     *
     * @type {string}
     * @default null
     */
    text?: string;
    /**
     * Specifies the type of the toolbar item.
     * Represents the item type of the toolbar item.
     *
     * @type {navigations.ItemType}
     * @default "Button"
     * @aspPopulateDefaultValue
     */
    type?: navigations.ItemType;
    /**
     * Specifies the alignment of the toolbar item.
     *
     * @type {navigations.ItemAlign}
     * @default "Left"
     * @aspPopulateDefaultValue
     */
    align?: navigations.ItemAlign;
    /**
     * Specifies whether the toolbar item is visible.
     * Indicates if the toolbar item should be displayed.
     *
     * @type {boolean}
     * @default true
     */
    visible?: boolean;
    /**
     * Specifies whether the toolbar item is disabled.
     * Indicates if the toolbar item is interactive or not.
     *
     * @type {boolean}
     * @default false
     */
    disabled?: boolean;
    /**
     * Specifies the tooltip text for the toolbar item.
     * Represents the text shown when hovering over the toolbar item.
     *
     * @type {string}
     * @default ''
     */
    tooltip?: string;
    /**
     * Specifies the CSS class for styling the toolbar item.
     * Represents the additional CSS classes applied to the toolbar item.
     *
     * @type {string}
     * @default ''
     */
    cssClass?: string;
    /**
     * Specifies the template that defines the appearance of the toolbar item.
     * Represents the custom template for rendering the toolbar item, which can be a string or a function.
     *
     * @default null
     * @angularType string | object
     * @reactType string | function | JSX.Element
     * @vueType string | function
     * @aspType string
     */
    template?: string | Function;
    /**
     * Specifies the tab order of the toolbar items.
     * When assigned positive values, it allows switching focus to the next/previous toolbar items using the Tab/Shift+Tab keys.
     * If the value is set to 0 for all toolbar items, the tab order switches based on the element's order in the DOM.
     *
     * @type {number}
     * @default -1
     */
    tabIndex?: number
}
/**
 * Interface for a class ToolbarSettings
 */
export interface ToolbarSettingsModel {
    /**
     * Specifies the collection of toolbar items in the component.
     * Represents the list of items to be displayed in the toolbar.
     *
     * @type {ToolbarItemModel[]}
     * @default []
     */
    items?: ToolbarItemModel[];
    /**
     * base.Event raised when a toolbar item is clicked in the component.
     *
     * @event itemClicked
     */
    itemClicked?: base.EmitType<ToolbarItemClickedEventArgs>;
}
/**
 * Interface for a class InterActiveChatBase
 */
export interface InterActiveChatBaseModel extends base.ComponentModel{
    /**
     * base.Event triggers when the component is created.
     *
     * @event 'created'
     */
    created?: base.EmitType<Object>;
}
//node_modules/@syncfusion/ej2-interactive-chat/src/chat-ui/chat-ui.d.ts

export  class MessageStatus extends base.ChildProperty<MessageStatus> {
    /**
     * Specifies the icon CSS class for the message status shown in messages.
     * This property represents the CSS class applied to the icons in the sent message, allowing for customization of the status icon's appearance.
     *
     * @type {string}
     * @default ''
     */
    iconCss: string;
    /**
     * Specifies the text associated with the message status.
     * This property holds the textual representation of the message status, such as "Sent", "Received", or "Read", providing users with clear status updates.
     *
     * @type {string}
     * @default ''
     */
    text: string;
    /**
     * Specifies the tooltip text for the message status icon.
     * This property provides additional information about the message status when the user hovers over the status icon, enhancing the user experience with context.
     *
     * @type {string}
     * @default ''
     */
    tooltip: string;
}
/**
 * Represents a user model for a messages in the chatUI component.
 */
export  class User extends base.ChildProperty<User> {
    /**
     * Specifies the unique identifier for each user in the Chat UI component.
     * Represents a string that uniquely identifies a user for tracking and managing individual users within the chat.
     *
     * @type {string}
     * @default '''
     */
    id: string;
    /**
     * Represents the display name of the user in the Chat UI component.
     *
     * @type {string}
     * @default 'Default'
     */
    user: string;
    /**
     * Specifies the URL of the user's avatar image.
     * If the URL is not provided, the user's first and last name initial letters will be used as the avatar.
     *
     * @type {string}
     * @default ''
     */
    avatarUrl: string;
    /**
     * Defines the background color for the user's avatar in the Chat UI component.
     * This property accepts a color in hexadecimal format (e.g., `#FFFFFF` for white), allowing for custom styling of the avatar's background.
     *
     * @type {string}
     * @default ''
     */
    avatarBgColor: string;
    /**
     * Represents additional CSS classes to style the user's messages in the Chat UI component.
     * This property allows for custom styling by accepting one or more class names as a string.
     *
     * @type {string}
     * @default ''
     */
    cssClass: string;
}
/**
 *  Represents a model for a messages in the chatUI component.
 */
export  class Message extends base.ChildProperty<Message> {
    /**
     * Specifies the unique identifier for each message sent in the Chat UI component.
     * Represents a string that uniquely identifies a message for tracking and managing individual messages within the chat.
     *
     * @type {string}
     * @default '''
     */
    id: string;
    /**
     * Represents the content of the message sent by a user in the Chat UI component.
     *
     * @type {string}
     * @default ''
     */
    text: string;
    /**
     * Specifies the author of the message in the Chat UI component.
     * This property references a `UserModel` object that contains details about the user who sent the message.
     *
     * @default null
     */
    author: UserModel;
    /**
     * Specifies the timestamp of when the message was sent.
     * This property holds a `Date` object that represents the exact time the message was created, providing context to the conversation flow.
     *
     * @type {Date}
     * @default ''
     */
    timeStamp: Date;
    /**
     * Specifies the format of the timestamp for displaying the message's sending time.
     * By default, the format is set based on the culture of the application.
     * You can customize the format using a specific pattern, such as "'dd/MM/yyyy hh:mm'" in string format.
     *
     * @type {string}
     * @default ''
     */
    timeStampFormat: string;
    /**
     * Specifies the status of the message in the Chat UI component.
     * Represents the current status of the message, such as sent, received, or read. It helps in tracking the messages within the chat component.
     *
     * @default null
     */
    status: MessageStatusModel;
}
export interface MessageSendEventArgs extends base.BaseEventArgs {
    /**
     * Indicates whether the message sending action should be canceled.
     * Setting this boolean property to `true` will prevent the message from being sent, allowing for validation or modification before the final send.
     *
     * @type {boolean}
     * @default false
     *
     */
    cancel?: boolean;
    /**
     * Represents the message that is intended to be sent.
     * This property holds a `MessageModel` object containing all relevant details of the message, including content, author, and timestamp. It can be modified before the message is sent.
     *
     * @type {MessageModel}
     * @default null
     *
     */
    message?: MessageModel;
}
export interface TypingEventArgs extends base.BaseEventArgs {
    /**
     * Represents the current user in the Chat UI component.
     * This property holds the user information, such as username and other relevant details.
     *
     * @type {UserModel}
     * @default null
     *
     */
    user?: UserModel;
    /**
     * Represents the content of the message sent by a user in the Chat UI component.
     *
     * @type {string}
     * @default ''
     */
    message?: string;
    /**
     * Specifies the event object associated with the input event args.
     * Represents the underlying event that triggered the action, providing details about the event.
     *
     * @type {Event}
     * @default null
     *
     */
    event?: Event;
    /**
     * Specifies the whether the user is typing in the chat UI component.
     * Returns `true`, when the user ends typing and `false` when the message is sent or user value is cleared.
     *
     * @type {boolean}
     * @default false
     *
     */
    isTyping?: boolean;
}
export  class ChatUI extends InterActiveChatBase implements base.INotifyPropertyChanged {
    /**
     * Specifies the width of the Chat UI component.
     *
     * @type {string | number}
     * @default '100%'
     * @aspType string
     */
    width: string | number;
    /**
     * Specifies the height of the Chat UI component.
     *
     * @type {string | number}
     * @default '100%'
     * @aspType string
     */
    height: string | number;
    /**
     * Represents the current user interacting with the Chat UI.
     * Uses the `UserModel` object, which contains current user information.
     * Messages from the current user are displayed on the right side of the Chat UI for differentiation from other participants.
     *
     * @default null
     */
    user: UserModel;
    /**
     * Specifies the header text to be displayed in the Chat UI component.
     * This property defines the text that appears in the header, which can indicate the current participant's username or the group name, providing context for the conversation.
     * @type {string}
     * @default 'Chat'
     */
    headerText: string;
    /**
     * Specifies the CSS class for the header icon in the Chat UI component.
     * This property allows for custom styling of the header icon.
     *
     * @type {string}
     * @default ''
     */
    headerIconCss: string;
    /**
     * Specifies the placeholder text for the message input textarea in the Chat UI component.
     *
     * @type {string}
     * @default 'Type your message…'
     */
    placeholder: string;
    /**
     * Specifies custom CSS classes for the Chat UI component.
     * This property enables the application of additional styling options to customize the visual appearance of the chat interface.
     *
     * @type {string}
     * @default ''
     */
    cssClass: string;
    /**
     * Specifies whether the header is displayed in the Chat UI component.
     * This property controls the visibility of the header, allowing users to show or hide it as needed.
     * When set to `false`, the header will be hidden from view.
     *
     * @type {boolean}
     * @default true
     */
    showHeader: boolean;
    /**
     * Specifies whether to show or hide footer in the Chat UI component.
     * When set to `true`, the footer will be visible in the Chat UI component. If `false`, the footer will be hidden.
     *
     * @type {boolean}
     * @default true
     */
    showFooter: boolean;
    /**
     * Specifies the header toolbar settings for the Chat UI component.
     * Represents the configuration for toolbar items and actions within the component.
     *
     * @default null
     */
    headerToolbar: ToolbarSettingsModel;
    /**
     * Specifies the list of message suggestions displayed above the input textarea in the Chat UI component.
     * This property represents an array of suggestions that can assist the user in composing messages, providing quick replies.
     *
     * @type {string[]}
     * @default null
     */
    suggestions: string[];
    /**
     * Specifies whether time breaks are enabled for grouping chat messages by date.
     * When set to `true`, messages will be grouped based on their timestamp, creating date-wise separators within the chat.
     *
     * @type {boolean}
     * @default false
     */
    showTimeBreak: boolean;
    /**
     * Specifies a collection of messages within the Chat UI component.
     * Each message is represented by a MessageModel object, containing properties such as text, author, timestamp, and status.
     *
     * @type {MessageModel[]}
     * @default null
     */
    messages: MessageModel[];
    /**
     * Specifies a list of users who are currently typing in the chat.
     * This property is updated to indicate active participants typing responses.
     *
     * @type {UserModel[]}
     * @default null
     * @aspType List<ChatUIUser>
     */
    typingUsers: UserModel[];
    /**
     * Specifies the format of the value that to be displayed in component.
     * By default, the format will be set based on the culture. You can set the format to "format:'dd/MM/yyyy hh:mm a'" in string.
     *
     * @type {string}
     * @default 'dd/MM/yyyy hh:mm a'
     */
    timeStampFormat: string;
    /**
     * Specifies whether timestamps are displayed alongside each message in the Chat UI component.
     * When set to true, timestamps will appear with each message, helping users track the timing of conversations.
     *
     * @type {boolean}
     * @default true
     */
    showTimeStamp: boolean;
    /**
     * Specifies whether the UI should automatically scroll to the bottom when a new message is added to the Chat UI component.
     * When set to `true`, the chat will automatically scroll to display the latest message, ensuring that users can see new messages without manual intervention.
     *
     * @type {boolean}
     * @default false
     */
    autoScrollToBottom: boolean;
    /**
     * Enables on-demand loading of messages, typically triggered as the user scrolls through the chat history.
     * When set to `true`, older messages will load progressively, improving performance for large message histories by avoiding initial loading of all messages.
     *
     * @type {boolean}
     * @default false
     */
    loadOnDemand: boolean;
    /**
     * Specifies the template for rendering suggestion items in the Chat UI component.
     * Defines the content or layout used to render suggestion items, and can be either a string or a function.
     * The template context includes the index and suggestion text.
     *
     * @type {string | Function}
     * @default ''
     * @angularType string | object
     * @reactType string | function | JSX.Element
     * @vueType string | function
     * @aspType string
     */
    suggestionTemplate: string | Function;
    /**
     * Specifies the template for the footer area in the Chat UI component.
     * Defines the content or layout used to render the footer, which can be provided as a string or a function.
     *
     * @default ''
     * @angularType string | object
     * @reactType string | function | JSX.Element
     * @vueType string | function
     * @aspType string
     */
    footerTemplate: string | Function;
    /**
     * Specifies the template for rendering the empty state of the Chat UI component.
     * This property can accept either a string or a function to customize the appearance when there are no messages to display in the chat.
     *
     * @default ''
     * @angularType string | object
     * @reactType string | function | JSX.Element
     * @vueType string | function
     * @aspType string
     */
    emptyChatTemplate: string | Function;
    /**
     * Specifies the template for rendering individual messages in the Chat UI component.
     * This property can accept either a string or a function to customize the appearance of messages. The template context includes message and index.
     *
     * @default ''
     * @angularType string | object
     * @reactType string | function | JSX.Element
     * @vueType string | function
     * @aspType string
     */
    messageTemplate: string | Function;
    /**
     * Defines a custom template for rendering time breaks in the Chat UI component.
     * Accepts a string or function that formats the appearance of date-based separators, allowing customization of how messages are visually grouped by date.
     *
     * @default ''
     * @angularType string | object
     * @reactType string | function | JSX.Element
     * @vueType string | function
     * @aspType string
     */
    timeBreakTemplate: string | Function;
    /**
     * Template for displaying users currently typing in the chat interface.
     * Accepts a string or function to customize the display format.
     *
     * @default ''
     * @angularType string | object
     * @reactType string | function | JSX.Element
     * @vueType string | function
     * @aspType string
     */
    typingUsersTemplate: string | Function;
    /**
     * Event triggered when a message is about to be sent in the Chat UI component.
     * This event allows for cancelling the send action if needed.
     *
     * @event messageSend
     */
    messageSend: base.EmitType<MessageSendEventArgs>;
    /**
     * Event triggered when the user is typing a message in the Chat UI component.
     * This event provides updates on the user's typing status.
     *
     * @event userTyping
     */
    userTyping: base.EmitType<TypingEventArgs>;
    private l10n;
    private footer;
    private sendIcon;
    private textareaObj;
    private viewWrapper;
    private chatHeader;
    private messageWrapper;
    private downArrowIcon;
    private intl;
    private indicatorWrapper;
    private isEmptyChatTemplateRendered;
    private startIndex;
    private multiplier;
    private toolbar;
    private isScrollAtBottom;
    /**
     * Constructor for creating the component
     *
     * @param {ChatUIModel} options - Specifies the ChatUIModel model.
     * @param {string | HTMLElement} element - Specifies the element to render as component.
     * @private
     */
    constructor(options?: ChatUIModel, element?: string | HTMLElement);
    /**
     * Initialize the event handler
     *
     * @private
     * @returns {void}
     */
    protected preRender(): void;
    protected getDirective(): string;
    /**
     * To get component name.
     *
     * @returns {string} - It returns the current module name.
     * @private
     */
    getModuleName(): string;
    /**
     * Get the properties to be maintained in the persisted state.
     *
     * @private
     * @returns {string} - It returns the persisted data.
     */
    protected getPersistData(): string;
    protected render(): void;
    private renderChatUIView;
    private updateScrollPosition;
    private renderChatHeader;
    private renderChatHeaderToolbar;
    private updateHeaderToolbar;
    private renderChatContentElement;
    private setChatMsgId;
    private renderScrollDown;
    private loadBatch;
    private renderMessageGroup;
    private isTimeBreakAdded;
    private getLastUser;
    private renderGroup;
    private isTimeVaries;
    private loadLeftGroupOnDemand;
    private createLeftGroupItems;
    private createAvatarIcon;
    private getTimeStampElement;
    private updateTimeFormats;
    private getFormattedTime;
    private getFormat;
    private addGroupItems;
    private manageChatContent;
    private createTimebreakElement;
    private handleTimeBreak;
    private renderNewMessage;
    private loadMoreMessages;
    private updateMessageTimeFormats;
    private getMessageDate;
    private renderChatSuggestionsElement;
    private handleSuggestionUpdate;
    private onSuggestionClick;
    private renderChatFooterContent;
    private renderChatFooter;
    private handleInput;
    private triggerUserTyping;
    private renderTypingIndicator;
    private updateUserText;
    private getTypingMessage;
    private updateTypingUsers;
    private activateSendIcon;
    private updateHeaderIcon;
    private updateHeaderText;
    private renderUpdatedMessage;
    private onSendIconClick;
    private getContextObject;
    private handleAutoScroll;
    private footerKeyHandler;
    private scrollBottomKeyHandler;
    private keyHandler;
    private updateFooter;
    private handleScroll;
    private checkScrollAtBottom;
    private toggleClassName;
    private toggleScrollIcon;
    private scrollBtnClick;
    private updateMessageItem;
    private wireEvents;
    private unwireEvents;
    private destroyChatUI;
    /**
     * Scrolls to the last message in the conversation area of the Chat UI component.
     * This method allows programmatic control to ensure the chat view is scrolled to the bottom, typically used when new messages are added or to refocus on the most recent conversation.
     *
     * @returns {void}
     */
    scrollToBottom(): void;
    /**
     * Appends a new message to the end of the Chat UI conversation area.
     * This method adds the specified message as the latest entry in the chat:
     *
     * @function addMessage
     * @param {string | MessageModel} message - The message to be added to the conversation. Accepts either a plain text string or a `MessageModel` object.
     * - If `message` is a string, a `MessageModel` will be automatically created with the current user’s details, and the message will be appended.
     * - If `message` is an instance of `MessageModel`, it can represent a message from either the current user or another participant and will be appended directly.
     * @returns {void} No return value.
     */
    addMessage(message: string | MessageModel): void;
    /**
     * Updates an existing message in the Chat UI component.
     * This method allows for modifying a message that has already been added to the conversation.
     * It requires the unique identifier of the message to be updated and the new message content as a `MessageModel`.
     *
     * @function updateMessage
     * @param {MessageModel} message - The updated message content represented as a `MessageModel`.
     * @param {string} msgId - The unique identifier of the message to be updated.
     * @returns {void} No return value.
     */
    updateMessage(message: MessageModel, msgId: string): void;
    /**
     * Scrolls to a specific message in the Chat UI component based on the provided message ID.
     * Locates the message with the specified ID and scrolls it to the view.
     *
     * @function scrollToMessage
     * @param {string} messageId - The unique identifier of the message to navigate to the corresponding message rendered in the chat UI.
     * @returns {void}.
     */
    scrollToMessage(messageId: string): void;
    /**
     * Sets focus for the input textarea in the Chat UI component.
     * Ensures that user input is directed to the chat input field.
     *
     * @function focus
     * @returns {void}.
     */
    focus(): void;
    destroy(): void;
    /**
     * Called if any of the property value is changed.
     *
     * @param  {ChatUIModel} newProp - Specifies new properties
     * @param  {ChatUIModel} oldProp - Specifies old properties
     * @returns {void}
     * @private
     */
    onPropertyChanged(newProp: ChatUIModel, oldProp?: ChatUIModel): void;
}
//node_modules/@syncfusion/ej2-interactive-chat/src/chat-ui/chat-ui-model.d.ts
/**
 * Interface for a class MessageStatus
 */
export interface MessageStatusModel {
    /**
     * Specifies the icon CSS class for the message status shown in messages.
     * This property represents the CSS class applied to the icons in the sent message, allowing for customization of the status icon's appearance.
     *
     * @type {string}
     * @default ''
     */
    iconCss?: string;
    /**
     * Specifies the text associated with the message status.
     * This property holds the textual representation of the message status, such as "Sent", "Received", or "Read", providing users with clear status updates.
     *
     * @type {string}
     * @default ''
     */
    text?: string;
    /**
     * Specifies the tooltip text for the message status icon.
     * This property provides additional information about the message status when the user hovers over the status icon, enhancing the user experience with context.
     *
     * @type {string}
     * @default ''
     */
    tooltip?: string;
}
/**
 * Interface for a class User
 */
export interface UserModel {
    /**
     * Specifies the unique identifier for each user in the Chat UI component.
     * Represents a string that uniquely identifies a user for tracking and managing individual users within the chat.
     *
     * @type {string}
     * @default '''
     */
    id?: string;
    /**
     * Represents the display name of the user in the Chat UI component.
     *
     * @type {string}
     * @default 'Default'
     */
    user?: string;
    /**
     * Specifies the URL of the user's avatar image.
     * If the URL is not provided, the user's first and last name initial letters will be used as the avatar.
     *
     * @type {string}
     * @default ''
     */
    avatarUrl?: string;
    /**
     * Defines the background color for the user's avatar in the Chat UI component.
     * This property accepts a color in hexadecimal format (e.g., `#FFFFFF` for white), allowing for custom styling of the avatar's background.
     *
     * @type {string}
     * @default ''
     */
    avatarBgColor?: string;
    /**
     * Represents additional CSS classes to style the user's messages in the Chat UI component.
     * This property allows for custom styling by accepting one or more class names as a string.
     *
     * @type {string}
     * @default ''
     */
    cssClass?: string;
}
/**
 * Interface for a class Message
 */
export interface MessageModel {
    /**
     * Specifies the unique identifier for each message sent in the Chat UI component.
     * Represents a string that uniquely identifies a message for tracking and managing individual messages within the chat.
     *
     * @type {string}
     * @default '''
     */
    id?: string;
    /**
     * Represents the content of the message sent by a user in the Chat UI component.
     *
     * @type {string}
     * @default ''
     */
    text?: string;
    /**
     * Specifies the author of the message in the Chat UI component.
     * This property references a `UserModel` object that contains details about the user who sent the message.
     *
     * @default null
     */
    author?: UserModel;
    /**
     * Specifies the timestamp of when the message was sent.
     * This property holds a `Date` object that represents the exact time the message was created, providing context to the conversation flow.
     *
     * @type {Date}
     * @default ''
     */
    timeStamp?: Date;
    /**
     * Specifies the format of the timestamp for displaying the message's sending time.
     * By default, the format is set based on the culture of the application.
     * You can customize the format using a specific pattern, such as "'dd/MM/yyyy hh:mm'" in string format.
     *
     * @type {string}
     * @default ''
     */
    timeStampFormat?: string;
    /**
     * Specifies the status of the message in the Chat UI component.
     * Represents the current status of the message, such as sent, received, or read. It helps in tracking the messages within the chat component.
     *
     * @default null
     */
    status?: MessageStatusModel;
}
/**
 * Interface for a class ChatUI
 */
export interface ChatUIModel extends InterActiveChatBaseModel{
    /**
     * Specifies the width of the Chat UI component.
     *
     * @type {string | number}
     * @default '100%'
     * @aspType string
     */
    width?: string | number;
    /**
     * Specifies the height of the Chat UI component.
     *
     * @type {string | number}
     * @default '100%'
     * @aspType string
     */
    height?: string | number;
    /**
     * Represents the current user interacting with the Chat UI.
     * Uses the `UserModel` object, which contains current user information.
     * Messages from the current user are displayed on the right side of the Chat UI for differentiation from other participants.
     *
     * @default null
     */
    user?: UserModel;
    /**
     * Specifies the header text to be displayed in the Chat UI component.
     * This property defines the text that appears in the header, which can indicate the current participant's username or the group name, providing context for the conversation.
     * @type {string}
     * @default 'Chat'
     */
    headerText?: string;
    /**
     * Specifies the CSS class for the header icon in the Chat UI component.
     * This property allows for custom styling of the header icon.
     *
     * @type {string}
     * @default ''
     */
    headerIconCss?: string;
    /**
     * Specifies the placeholder text for the message input textarea in the Chat UI component.
     *
     * @type {string}
     * @default 'Type your message…'
     */
    placeholder?: string;
    /**
     * Specifies custom CSS classes for the Chat UI component.
     * This property enables the application of additional styling options to customize the visual appearance of the chat interface.
     *
     * @type {string}
     * @default ''
     */
    cssClass?: string;
    /**
     * Specifies whether the header is displayed in the Chat UI component.
     * This property controls the visibility of the header, allowing users to show or hide it as needed.
     * When set to `false`, the header will be hidden from view.
     *
     * @type {boolean}
     * @default true
     */
    showHeader?: boolean;
    /**
     * Specifies whether to show or hide footer in the Chat UI component.
     * When set to `true`, the footer will be visible in the Chat UI component. If `false`, the footer will be hidden.
     *
     * @type {boolean}
     * @default true
     */
    showFooter?: boolean;
    /**
     * Specifies the header toolbar settings for the Chat UI component.
     * Represents the configuration for toolbar items and actions within the component.
     *
     * @default null
     */
    headerToolbar?: ToolbarSettingsModel;
    /**
     * Specifies the list of message suggestions displayed above the input textarea in the Chat UI component.
     * This property represents an array of suggestions that can assist the user in composing messages, providing quick replies.
     *
     * @type {string[]}
     * @default null
     */
    suggestions?: string[];
    /**
     * Specifies whether time breaks are enabled for grouping chat messages by date.
     * When set to `true`, messages will be grouped based on their timestamp, creating date-wise separators within the chat.
     *
     * @type {boolean}
     * @default false
     */
    showTimeBreak?: boolean;
    /**
     * Specifies a collection of messages within the Chat UI component.
     * Each message is represented by a MessageModel object, containing properties such as text, author, timestamp, and status.
     *
     * @type {MessageModel[]}
     * @default null
     */
    messages?: MessageModel[];
    /**
     * Specifies a list of users who are currently typing in the chat.
     * This property is updated to indicate active participants typing responses.
     *
     * @type {UserModel[]}
     * @default null
     * @aspType List<ChatUIUser>
     */
    typingUsers?: UserModel[];
    /**
     * Specifies the format of the value that to be displayed in component.
     * By default, the format will be set based on the culture. You can set the format to "format:'dd/MM/yyyy hh:mm a'" in string.
     *
     * @type {string}
     * @default 'dd/MM/yyyy hh:mm a'
     */
    timeStampFormat?: string;
    /**
     * Specifies whether timestamps are displayed alongside each message in the Chat UI component.
     * When set to true, timestamps will appear with each message, helping users track the timing of conversations.
     *
     * @type {boolean}
     * @default true
     */
    showTimeStamp?: boolean;
    /**
     * Specifies whether the UI should automatically scroll to the bottom when a new message is added to the Chat UI component.
     * When set to `true`, the chat will automatically scroll to display the latest message, ensuring that users can see new messages without manual intervention.
     *
     * @type {boolean}
     * @default false
     */
    autoScrollToBottom?: boolean;
    /**
     * Enables on-demand loading of messages, typically triggered as the user scrolls through the chat history.
     * When set to `true`, older messages will load progressively, improving performance for large message histories by avoiding initial loading of all messages.
     *
     * @type {boolean}
     * @default false
     */
    loadOnDemand?: boolean;
    /**
     * Specifies the template for rendering suggestion items in the Chat UI component.
     * Defines the content or layout used to render suggestion items, and can be either a string or a function.
     * The template context includes the index and suggestion text.
     *
     * @type {string | Function}
     * @default ''
     * @angularType string | object
     * @reactType string | function | JSX.Element
     * @vueType string | function
     * @aspType string
     */
    suggestionTemplate?: string | Function;
    /**
     * Specifies the template for the footer area in the Chat UI component.
     * Defines the content or layout used to render the footer, which can be provided as a string or a function.
     *
     * @default ''
     * @angularType string | object
     * @reactType string | function | JSX.Element
     * @vueType string | function
     * @aspType string
     */
    footerTemplate?: string | Function;
    /**
     * Specifies the template for rendering the empty state of the Chat UI component.
     * This property can accept either a string or a function to customize the appearance when there are no messages to display in the chat.
     *
     * @default ''
     * @angularType string | object
     * @reactType string | function | JSX.Element
     * @vueType string | function
     * @aspType string
     */
    emptyChatTemplate?: string | Function;
    /**
     * Specifies the template for rendering individual messages in the Chat UI component.
     * This property can accept either a string or a function to customize the appearance of messages. The template context includes message and index.
     *
     * @default ''
     * @angularType string | object
     * @reactType string | function | JSX.Element
     * @vueType string | function
     * @aspType string
     */
    messageTemplate?: string | Function;
    /**
     * Defines a custom template for rendering time breaks in the Chat UI component.
     * Accepts a string or function that formats the appearance of date-based separators, allowing customization of how messages are visually grouped by date.
     *
     * @default ''
     * @angularType string | object
     * @reactType string | function | JSX.Element
     * @vueType string | function
     * @aspType string
     */
    timeBreakTemplate?: string | Function;
    /**
     * Template for displaying users currently typing in the chat interface.
     * Accepts a string or function to customize the display format.
     *
     * @default ''
     * @angularType string | object
     * @reactType string | function | JSX.Element
     * @vueType string | function
     * @aspType string
     */
    typingUsersTemplate?: string | Function;
    /**
     * base.Event triggered when a message is about to be sent in the Chat UI component.
     * This event allows for cancelling the send action if needed.
     *
     * @event messageSend
     */
    messageSend?: base.EmitType<MessageSendEventArgs>;
    /**
     * base.Event triggered when the user is typing a message in the Chat UI component.
     * This event provides updates on the user's typing status.
     *
     * @event userTyping
     */
    userTyping?: base.EmitType<TypingEventArgs>;
}
//node_modules/@syncfusion/ej2-interactive-chat/src/ai-assistview/ai-assistview.d.ts

/**
 * The prompts property maps the list of the prompts and binds the data to the suggestions.
 */
export  class Prompt extends base.ChildProperty<Prompt> {
    /**
     * Specifies the prompt text.
     * Represents the text used for prompting user input.
     *
     * @type {string}
     * @default null
     */
    prompt: string;
    /**
     * Specifies the response associated with the prompt.
     * Represents the text that provides the response to the prompt.
     *
     * @type {string}
     * @default ''
     */
    response: string;
    /**
     * Indicates if the response is considered helpful.
     * Represents the state of whether the generated response is useful or not.
     *
     * @type {boolean | null}
     * @default null
     */
    isResponseHelpful: boolean;
}
/**
 * Specifies the type of assist view.
 */
export  enum AssistViewType {
    /**
     * Represents the default assist view type.
     */
    Assist = "Assist",
    /**
     * Represents a custom assist view type.
     */
    Custom = "Custom"
}
/**
 * The assistView property maps the customized AiAssistView.
 */
export  class AssistView extends base.ChildProperty<AssistView> {
    /**
     * Specifies the type of the assist view.
     *
     * @isenumeration true
     * @default AssistViewType.Assist
     * @asptype AssistViewType
     */
    type: string | AssistViewType;
    /**
     * Specifies the name of the assist view.
     * Represents the name displayed in the assist view.
     *
     * @type {string}
     * @default ''
     */
    name: string;
    /**
     * Specifies the icon CSS for the assist view.
     * Represents the CSS class for the icon of the assist view.
     *
     * @type {string}
     * @default null
     */
    iconCss: string;
    /**
     * Specifies the template for the view of the assist view.
     * Represents the template for rendering the view, which can be a string or a function.
     *
     * @default ''
     * @angularType string | object
     * @reactType string | function | JSX.Element
     * @vueType string | function
     * @aspType string
     */
    viewTemplate: string | Function;
}
/**
 * The promptToolbarSettings property maps the list of the promptToolbarSettings and binds the data to the prompt.
 */
export  class PromptToolbarSettings extends base.ChildProperty<PromptToolbarSettings> {
    /**
     * Specifies the width of the prompt toolbar in the AIAssistView component.
     * Represents the width of the toolbar, which can be set using a string value such as 'auto', '100%', or other CSS width values.
     *
     * @type {string}
     * @default '100%'
     * @aspType string
     */
    width: string | number;
    /**
     * Specifies the collection of toolbar items in the prompt toolbar of the AIAssistView component.
     * Represents the list of items to be displayed in the toolbar.
     *
     * @type {ToolbarItemModel[]}
     * @default null
     */
    items: ToolbarItemModel[];
    /**
     * Event raised when a toolbar item is clicked in the prompt toolbar of the AIAssistView component.
     *
     * @event itemClicked
     */
    itemClicked: base.EmitType<ToolbarItemClickedEventArgs>;
}
/**
 * The responseToolbarSettings property maps the list of the responseToolbarSettings and binds the data to the output items.
 */
export  class ResponseToolbarSettings extends base.ChildProperty<ResponseToolbarSettings> {
    /**
     * Specifies the width of the response toolbar in the AIAssistView component.
     * Represents the width of the toolbar, which can be defined using various CSS units and values such as 'auto', '100%', or pixel-based measurements.
     *
     * @type {string}
     * @default '100%'
     * @aspType string
     */
    width: string | number;
    /**
     * Specifies the collection of toolbar items in the response toolbar of the AIAssistView component.
     * Represents an array of items that are rendered in the toolbar, allowing for customization and interaction within the response section.
     *
     * @type {ToolbarItemModel[]}
     * @default null
     */
    items: ToolbarItemModel[];
    /**
     * Event raised when a toolbar item is clicked in the response toolbar of the AIAssistView component.
     *
     * @event itemClicked
     */
    itemClicked: base.EmitType<ToolbarItemClickedEventArgs>;
}
export interface PromptRequestEventArgs extends base.BaseEventArgs {
    /**
     * Specifies whether the prompt request should be cancelled.
     * Determines if the prompt request should be stopped, giving control over whether the prompt processing continues or is aborted.
     *
     * @type {boolean}
     * @default false
     *
     */
    cancel?: boolean;
    /**
     * Specifies the toolbar items for the output view in the AIAssistView component.
     * Represents the collection of toolbar items that are displayed alongside the output view, allowing for additional interactions.
     *
     * @type {ToolbarItemModel[]}
     * @default null
     *
     */
    responseToolbarItems?: ToolbarItemModel[];
    /**
     * Specifies the text of the prompt request.
     *
     * @type {string}
     * @default null
     *
     */
    prompt?: string;
    /**
     * Specifies the list of prompt suggestions.
     * Represents an array of suggested prompts that can assist the user.
     *
     * @type {string[]}
     * @default null
     *
     */
    promptSuggestions?: string[];
}
export interface PromptChangedEventArgs extends base.BaseEventArgs {
    /**
     * Specifies the current value of the prompt.
     * Represents the updated text or data of the prompt after the change has occurred.
     *
     * @type {string}
     * @default null
     *
     */
    value?: string;
    /**
     * Specifies the previous value of the prompt before the change.
     *
     * @type {string}
     * @default null
     *
     */
    previousValue?: string;
    /**
     * Specifies the event object associated with the prompt change.
     * Represents the underlying event that triggered the prompt change, useful for additional event details or handling.
     *
     * @type {Event}
     */
    event?: Event;
    /**
     * Specifies the HTML element of the text area container.
     * Represents the DOM element that contains the text area, allowing for direct manipulation or reference.
     *
     * @type {HTMLElement}
     */
    element?: HTMLElement;
}
export interface StopRespondingEventArgs extends base.BaseEventArgs {
    /**
     * Specifies the event object associated with the stop responding action.
     * Represents the underlying event that triggered the action.
     *
     * @type {Event}
     * @default null
     */
    event?: Event;
    /**
     * Specifies the prompt text associated with the request.
     * Represents the input prompt for which the response was being generated.
     *
     * @type {string}
     * @default ''
     *
     */
    prompt?: string;
    /**
     * Specifies the index of the prompt in the prompt list.
     * Represents the position of the prompt in the stored collection.
     *
     * @type {number}
     * @default -1
     */
    dataIndex?: number;
}
/**
 * The `AIAssistView` component is designed to enhance user interaction by integrating AI driven assistance features.
 * It provides a seamless interface for incorporating suggestions & AI responses.
 *
 * ```html
 *  <div id='defaultAIAssistView'></div>
 * ```
 * ```typescript
 *  let aiAssistObj: AIAssistView = new AIAssistView();
 *  aiAssistObj.appendTo('#defaultAIAssistView');
 * ```
 */
export  class AIAssistView extends InterActiveChatBase implements base.INotifyPropertyChanged {
    /**
     * Specifies the text input prompt for the AIAssistView component.
     *
     * @type {string}
     * @default ''
     */
    prompt: string;
    /**
     * Specifies the placeholder text for the prompt input text area in the AIAssistView component.
     *
     * @type {string}
     * @default 'Type prompt for assistance...'
     */
    promptPlaceholder: string;
    /**
     * Specifies the collection of prompts and their responses in the AIAssistView component.
     *
     * {% codeBlock src='ai-assistview/prompts/index.md' %}{% endcodeBlock %}
     *
     * @type {PromptModel[]}
     * @default []
     */
    prompts: PromptModel[];
    /**
     * Specifies the list of prompt suggestions in the AIAssistView component.
     * Contains suggestions that can be used as prompts.
     *
     * {% codeBlock src='ai-assistview/promptSuggestions/index.md' %}{% endcodeBlock %}
     *
     * @type {string[]}
     * @default null
     */
    promptSuggestions: string[];
    /**
     * Specifies the header text for the prompt suggestions in the AIAssistView component. Provides a header for the list of suggestions.
     *
     * @type {string}
     * @default ''
     */
    promptSuggestionsHeader: string;
    /**
     * Specifies whether the header is displayed in the AIAssistView component.
     *
     * @type {boolean}
     * @default true
     */
    showHeader: boolean;
    /**
     * Specifies the toolbar settings for the AIAssistView component.
     * Represents the configuration for toolbar items and actions within the component.
     *
     * {% codeBlock src='ai-assistview/toolbarSettings/index.md' %}{% endcodeBlock %}
     *
     * @default []
     */
    toolbarSettings: ToolbarSettingsModel;
    /**
     * Specifies the index of the active view in the AIAssistView component.
     * Determines the currently active and visible view.
     *
     * @type {number}
     * @default 0
     * @aspType int
     */
    activeView: number;
    /**
     * Specifies the CSS class for the prompter avatar in the AIAssistView component. Allows custom styling for the prompt avatar.
     *
     * @type {string}
     * @default null
     */
    promptIconCss: string;
    /**
     * Specifies the CSS class for the responder avatar in the AIAssistView component. Allows custom styling for the responder avatar.
     *
     * @type {string}
     * @default null
     */
    responseIconCss: string;
    /**
     * Specifies the width of the AIAssistView component.
     *
     * @type {string | number}
     * @default '100%'
     * @aspType string
     */
    width: string | number;
    /**
     * Specifies the height of the AIAssistView component.
     *
     * @type {string | number}
     * @default '100%'
     * @aspType string
     */
    height: string | number;
    /**
     * Specifies custom CSS classes for the AIAssistView component. Allows for additional custom styling.
     *
     * @type {string}
     * @default ''
     */
    cssClass: string;
    /**
     * Specifies the collection of assist view models in the AIAssistView component.
     * Represents the views available in the assist view.
     *
     * {% codeBlock src='ai-assistview/views/index.md' %}{% endcodeBlock %}
     *
     * @type {AssistViewModel[]}
     * @default null
     */
    views: AssistViewModel[];
    /**
     * Specifies the settings for the prompt toolbar in the AIAssistView component.
     * Represents the configuration for the toolbar associated with prompt items.
     *
     * {% codeBlock src='ai-assistview/promptToolbarSettings/index.md' %}{% endcodeBlock %}
     *
     * @default null
     */
    promptToolbarSettings: PromptToolbarSettingsModel;
    /**
     * Specifies the settings for the response toolbar in the AIAssistView component.
     * Represents the configuration for the toolbar associated with response items.
     *
     * {% codeBlock src='ai-assistview/responseToolbarSettings/index.md' %}{% endcodeBlock %}
     *
     * @default []
     */
    responseToolbarSettings: ResponseToolbarSettingsModel;
    /**
     * Specifies whether the clear button of text area is displayed in the AIAssistView component.
     * Determines if a button for clearing the prompt text area is shown or hidden.
     *
     * @type {boolean}
     * @default false
     */
    showClearButton: boolean;
    /**
     * Specifies the template for the footer in the AIAssistView component.
     * Defines the content or layout used to render the footer. Can be a string or a function.
     *
     * {% codeBlock src='ai-assistview/footerTemplate/index.md' %}{% endcodeBlock %}
     *
     * @default ''
     * @angularType string | object
     * @reactType string | function | JSX.Element
     * @vueType string | function
     * @aspType string
     */
    footerTemplate: string | Function;
    /**
     * Specifies the template for rendering prompt items in the AIAssistView component.
     * Defines the content or layout used to render prompt items, and can be either a string or a function.
     * The template context includes prompt text and toolbar items.
     *
     * {% codeBlock src='ai-assistview/promptItemTemplate/index.md' %}{% endcodeBlock %}
     *
     * @default ''
     * @angularType string | object
     * @reactType string | function | JSX.Element
     * @vueType string | function
     * @aspType string
     */
    promptItemTemplate: string | Function;
    /**
     * Specifies the template for rendering response items in the AIAssistView component.
     * Defines the content or layout used to render response items, and can be either a string or a function.
     * The template context includes the prompt text, response text, and toolbar items.
     *
     * {% codeBlock src='ai-assistview/responseItemTemplate/index.md' %}{% endcodeBlock %}
     *
     * @default ''
     * @angularType string | object
     * @reactType string | function | JSX.Element
     * @vueType string | function
     * @aspType string
     */
    responseItemTemplate: string | Function;
    /**
     * Specifies the template for rendering prompt suggestion items in the AIAssistView component.
     * Defines the content or layout used to render prompt suggestion items, and can be either a string or a function.
     * The template context includes the index and suggestion text.
     *
     * {% codeBlock src='ai-assistview/suggestionItemTemplate/index.md' %}{% endcodeBlock %}
     *
     * @default ''
     * @angularType string | object
     * @reactType string | function | JSX.Element
     * @vueType string | function
     * @aspType string
     */
    promptSuggestionItemTemplate: string | Function;
    /**
     * Specifies the template for the banner in the AIAssistView component.
     * Represents the content or layout used to render the banner. Can be a string or a function.
     *
     * {% codeBlock src='ai-assistview/bannerTemplate/index.md' %}{% endcodeBlock %}
     *
     * @default ''
     * @angularType string | object
     * @reactType string | function | JSX.Element
     * @vueType string | function
     * @aspType string
     */
    bannerTemplate: string | Function;
    /**
     * Event triggered when a prompt request is made in the AIAssistView component.
     * Provides details about the prompt request, including whether it should be cancelled, the prompt text, output, and toolbar items.
     *
     * @event promptRequest
     */
    promptRequest: base.EmitType<PromptRequestEventArgs>;
    /**
     * Event triggered when the prompt text changed in the AIAssistView component.
     *
     * @event 'promptChanged'
     */
    promptChanged: base.EmitType<PromptChangedEventArgs>;
    /**
     * Triggers when the 'Stop Responding' button is clicked while a prompt request is in progress.
     * This event allows users to handle stopping the response generation and update the UI accordingly.
     *
     * @event stopRespondingClick
     */
    stopRespondingClick: base.EmitType<StopRespondingEventArgs>;
    private l10n;
    private stopRespondingContent;
    private viewWrapper;
    private sendIcon;
    private textareaObj;
    private outputElement;
    private skeletonContainer;
    private aiAssistViewRendered;
    private outputSuggestionEle;
    private contentFooterEle;
    private contentWrapper;
    private footer;
    private responseToolbarEle;
    private assistViewTemplateIndex;
    private toolbarHeader;
    private assistCustomSection;
    private toolbarItems;
    private toolbar;
    private displayContents;
    private previousElement;
    private stopResponding;
    private isOutputRenderingStop;
    private promptToolbarEle;
    private isAssistView;
    private outputContentBodyEle;
    private preTagElements;
    private isResponseRequested;
    private lastStreamPrompt;
    /**
     * Constructor for creating the component
     *
     * @param {AIAssistViewModel} options - Specifies the AIAssistViewModel model.
     * @param {string | HTMLElement} element - Specifies the element to render as component.
     * @private
     */
    constructor(options?: AIAssistViewModel, element?: string | HTMLElement);
    /**
     * Initialize the event handler
     *
     * @private
     * @returns {void}
     */
    protected preRender(): void;
    protected getDirective(): string;
    /**
     * To get component name.
     *
     * @returns {string} - It returns the current module name.
     * @private
     */
    getModuleName(): string;
    /**
     * Get the properties to be maintained in the persisted state.
     *
     * @private
     * @returns {string} - It returns the persisted data.
     */
    protected getPersistData(): string;
    protected render(): void;
    private renderPromptView;
    private renderToolbar;
    private renderViews;
    private renderHeaderToolbar;
    private updateHeaderToolbar;
    private getIndex;
    private updateActiveView;
    private appendView;
    private removePreviousView;
    private renderDefaultView;
    private renderStopResponding;
    private updateStopRespondingTitle;
    private renderContent;
    private renderOutputContent;
    private renderAssistViewFooter;
    private handleInput;
    private activateSendIcon;
    private footerKeyHandler;
    private stopResponseKeyHandler;
    private wireEvents;
    private unWireEvents;
    private detachCodeCopyEventHandler;
    private keyHandler;
    private respondingStopper;
    private onSuggestionClick;
    private onSendIconClick;
    private addPrompt;
    private getContextObject;
    private createOutputElement;
    private renderOutputContainer;
    private renderOutput;
    private renderOutputTextContainer;
    private getCopyHandler;
    private renderOutputToolbarItems;
    private renderResponseToolbar;
    private getClipBoardContent;
    private handleItemClick;
    private renderPrompt;
    private renderPromptToolbar;
    private renderSkeleton;
    private onEditIconClick;
    private updateIcons;
    private updateToolbarSettings;
    private updateResponse;
    destroy(): void;
    private destroyAssistView;
    /**
     * Executes the specified prompt in the AIAssistView component. The method accepts a string representing the prompt.
     *
     * @param {string} prompt - The prompt text to be executed. It must be a non-empty string.
     *
     * @returns {void}
     */
    executePrompt(prompt: string): void;
    /**
     * Adds a response to the last prompt or appends a new prompt data in the AIAssistView component.
     *
     * @param {string | Object} outputResponse - The response to be added. Can be a string representing the response or an object containing both the prompt and the response.
     * - If `outputResponse` is a string, it updates the response for the last prompt in the prompts collection.
     * - If `outputResponse` is an object, it can either update the response of an existing prompt if the prompt matches or append a new prompt data.
     * @param {boolean} isFinalUpdate - Indicates whether this response is the final one, to hide the stop response button.
     * @returns {void}
     */
    addPromptResponse(outputResponse: string | Object, isFinalUpdate?: boolean): void;
    /**
     * Scrolls the view to the bottom to display the most recent response in the AIAssistView component.
     * This method programmatically scrolls the view to the bottom,
     * typically used when new responses are added or to refocus on the latest response.
     *
     * @returns {void}
     */
    scrollToBottom(): void;
    /**
     * Called if any of the property value is changed.
     *
     * @param  {AIAssistViewModel} newProp - Specifies new properties
     * @param  {AIAssistViewModel} oldProp - Specifies old properties
     * @returns {void}
     * @private
     */
    onPropertyChanged(newProp: AIAssistViewModel, oldProp?: AIAssistViewModel): void;
}
//node_modules/@syncfusion/ej2-interactive-chat/src/ai-assistview/ai-assistview-model.d.ts
/**
 * Interface for a class Prompt
 */
export interface PromptModel {
    /**
     * Specifies the prompt text.
     * Represents the text used for prompting user input.
     *
     * @type {string}
     * @default null
     */
    prompt?: string;
    /**
     * Specifies the response associated with the prompt.
     * Represents the text that provides the response to the prompt.
     *
     * @type {string}
     * @default ''
     */
    response?: string;
    /**
     * Indicates if the response is considered helpful.
     * Represents the state of whether the generated response is useful or not.
     *
     * @type {boolean | null}
     * @default null
     */
    isResponseHelpful?: boolean;
}
/**
 * Interface for a class AssistView
 */
export interface AssistViewModel {
    /**
     * Specifies the type of the assist view.
     *
     * @isenumeration true
     * @default AssistViewType.Assist
     * @asptype AssistViewType
     */
    type?: string | AssistViewType;
    /**
     * Specifies the name of the assist view.
     * Represents the name displayed in the assist view.
     *
     * @type {string}
     * @default ''
     */
    name?: string;
    /**
     * Specifies the icon CSS for the assist view.
     * Represents the CSS class for the icon of the assist view.
     *
     * @type {string}
     * @default null
     */
    iconCss?: string;
    /**
     * Specifies the template for the view of the assist view.
     * Represents the template for rendering the view, which can be a string or a function.
     *
     * @default ''
     * @angularType string | object
     * @reactType string | function | JSX.Element
     * @vueType string | function
     * @aspType string
     */
    viewTemplate?: string | Function;
}
/**
 * Interface for a class PromptToolbarSettings
 */
export interface PromptToolbarSettingsModel {
    /**
     * Specifies the width of the prompt toolbar in the AIAssistView component.
     * Represents the width of the toolbar, which can be set using a string value such as 'auto', '100%', or other CSS width values.
     *
     * @type {string}
     * @default '100%'
     * @aspType string
     */
    width?: string | number;
    /**
     * Specifies the collection of toolbar items in the prompt toolbar of the AIAssistView component.
     * Represents the list of items to be displayed in the toolbar.
     *
     * @type {ToolbarItemModel[]}
     * @default null
     */
    items?: ToolbarItemModel[];
    /**
     * base.Event raised when a toolbar item is clicked in the prompt toolbar of the AIAssistView component.
     *
     * @event itemClicked
     */
    itemClicked?: base.EmitType<ToolbarItemClickedEventArgs>;
}
/**
 * Interface for a class ResponseToolbarSettings
 */
export interface ResponseToolbarSettingsModel {
    /**
     * Specifies the width of the response toolbar in the AIAssistView component.
     * Represents the width of the toolbar, which can be defined using various CSS units and values such as 'auto', '100%', or pixel-based measurements.
     *
     * @type {string}
     * @default '100%'
     * @aspType string
     */
    width?: string | number;
    /**
     * Specifies the collection of toolbar items in the response toolbar of the AIAssistView component.
     * Represents an array of items that are rendered in the toolbar, allowing for customization and interaction within the response section.
     *
     * @type {ToolbarItemModel[]}
     * @default null
     */
    items?: ToolbarItemModel[];
    /**
     * base.Event raised when a toolbar item is clicked in the response toolbar of the AIAssistView component.
     *
     * @event itemClicked
     */
    itemClicked?: base.EmitType<ToolbarItemClickedEventArgs>;
}
/**
 * Interface for a class AIAssistView
 */
export interface AIAssistViewModel extends InterActiveChatBaseModel{
    /**
     * Specifies the text input prompt for the AIAssistView component.
     *
     * @type {string}
     * @default ''
     */
    prompt?: string;
    /**
     * Specifies the placeholder text for the prompt input text area in the AIAssistView component.
     *
     * @type {string}
     * @default 'Type prompt for assistance...'
     */
    promptPlaceholder?: string;
    /**
     * Specifies the collection of prompts and their responses in the AIAssistView component.
     *
     * {% codeBlock src='ai-assistview/prompts/index.md' %}{% endcodeBlock %}
     *
     * @type {PromptModel[]}
     * @default []
     */
    prompts?: PromptModel[];
    /**
     * Specifies the list of prompt suggestions in the AIAssistView component.
     * Contains suggestions that can be used as prompts.
     *
     * {% codeBlock src='ai-assistview/promptSuggestions/index.md' %}{% endcodeBlock %}
     *
     * @type {string[]}
     * @default null
     */
    promptSuggestions?: string[];
    /**
     * Specifies the header text for the prompt suggestions in the AIAssistView component. Provides a header for the list of suggestions.
     *
     * @type {string}
     * @default ''
     */
    promptSuggestionsHeader?: string;
    /**
     * Specifies whether the header is displayed in the AIAssistView component.
     *
     * @type {boolean}
     * @default true
     */
    showHeader?: boolean;
    /**
     * Specifies the toolbar settings for the AIAssistView component.
     * Represents the configuration for toolbar items and actions within the component.
     *
     * {% codeBlock src='ai-assistview/toolbarSettings/index.md' %}{% endcodeBlock %}
     *
     * @default []
     */
    toolbarSettings?: ToolbarSettingsModel;
    /**
     * Specifies the index of the active view in the AIAssistView component.
     * Determines the currently active and visible view.
     *
     * @type {number}
     * @default 0
     * @aspType int
     */
    activeView?: number;
    /**
     * Specifies the CSS class for the prompter avatar in the AIAssistView component. Allows custom styling for the prompt avatar.
     *
     * @type {string}
     * @default null
     */
    promptIconCss?: string;
    /**
     * Specifies the CSS class for the responder avatar in the AIAssistView component. Allows custom styling for the responder avatar.
     *
     * @type {string}
     * @default null
     */
    responseIconCss?: string;
    /**
     * Specifies the width of the AIAssistView component.
     *
     * @type {string | number}
     * @default '100%'
     * @aspType string
     */
    width?: string | number;
    /**
     * Specifies the height of the AIAssistView component.
     *
     * @type {string | number}
     * @default '100%'
     * @aspType string
     */
    height?: string | number;
    /**
     * Specifies custom CSS classes for the AIAssistView component. Allows for additional custom styling.
     *
     * @type {string}
     * @default ''
     */
    cssClass?: string;
    /**
     * Specifies the collection of assist view models in the AIAssistView component.
     * Represents the views available in the assist view.
     *
     * {% codeBlock src='ai-assistview/views/index.md' %}{% endcodeBlock %}
     *
     * @type {AssistViewModel[]}
     * @default null
     */
    views?: AssistViewModel[] ;
    /**
     * Specifies the settings for the prompt toolbar in the AIAssistView component.
     * Represents the configuration for the toolbar associated with prompt items.
     *
     * {% codeBlock src='ai-assistview/promptToolbarSettings/index.md' %}{% endcodeBlock %}
     *
     * @default null
     */
    promptToolbarSettings?: PromptToolbarSettingsModel;
    /**
     * Specifies the settings for the response toolbar in the AIAssistView component.
     * Represents the configuration for the toolbar associated with response items.
     *
     * {% codeBlock src='ai-assistview/responseToolbarSettings/index.md' %}{% endcodeBlock %}
     *
     * @default []
     */
    responseToolbarSettings?: ResponseToolbarSettingsModel;
    /**
     * Specifies whether the clear button of text area is displayed in the AIAssistView component.
     * Determines if a button for clearing the prompt text area is shown or hidden.
     *
     * @type {boolean}
     * @default false
     */
    showClearButton?: boolean;
    /**
     * Specifies the template for the footer in the AIAssistView component.
     * Defines the content or layout used to render the footer. Can be a string or a function.
     *
     * {% codeBlock src='ai-assistview/footerTemplate/index.md' %}{% endcodeBlock %}
     *
     * @default ''
     * @angularType string | object
     * @reactType string | function | JSX.Element
     * @vueType string | function
     * @aspType string
     */
    footerTemplate?: string | Function;
    /**
     * Specifies the template for rendering prompt items in the AIAssistView component.
     * Defines the content or layout used to render prompt items, and can be either a string or a function.
     * The template context includes prompt text and toolbar items.
     *
     * {% codeBlock src='ai-assistview/promptItemTemplate/index.md' %}{% endcodeBlock %}
     *
     * @default ''
     * @angularType string | object
     * @reactType string | function | JSX.Element
     * @vueType string | function
     * @aspType string
     */
    promptItemTemplate?: string | Function;
    /**
     * Specifies the template for rendering response items in the AIAssistView component.
     * Defines the content or layout used to render response items, and can be either a string or a function.
     * The template context includes the prompt text, response text, and toolbar items.
     *
     * {% codeBlock src='ai-assistview/responseItemTemplate/index.md' %}{% endcodeBlock %}
     *
     * @default ''
     * @angularType string | object
     * @reactType string | function | JSX.Element
     * @vueType string | function
     * @aspType string
     */
    responseItemTemplate?: string | Function;
    /**
     * Specifies the template for rendering prompt suggestion items in the AIAssistView component.
     * Defines the content or layout used to render prompt suggestion items, and can be either a string or a function.
     * The template context includes the index and suggestion text.
     *
     * {% codeBlock src='ai-assistview/suggestionItemTemplate/index.md' %}{% endcodeBlock %}
     *
     * @default ''
     * @angularType string | object
     * @reactType string | function | JSX.Element
     * @vueType string | function
     * @aspType string
     */
    promptSuggestionItemTemplate?: string | Function;
    /**
     * Specifies the template for the banner in the AIAssistView component.
     * Represents the content or layout used to render the banner. Can be a string or a function.
     *
     * {% codeBlock src='ai-assistview/bannerTemplate/index.md' %}{% endcodeBlock %}
     *
     * @default ''
     * @angularType string | object
     * @reactType string | function | JSX.Element
     * @vueType string | function
     * @aspType string
     */
    bannerTemplate?: string | Function;
    /**
     * base.Event triggered when a prompt request is made in the AIAssistView component.
     * Provides details about the prompt request, including whether it should be cancelled, the prompt text, output, and toolbar items.
     *
     * @event promptRequest
     */
    promptRequest?: base.EmitType<PromptRequestEventArgs>;
    /**
     * base.Event triggered when the prompt text changed in the AIAssistView component.
     *
     * @event 'promptChanged'
     */
    promptChanged?: base.EmitType<PromptChangedEventArgs>;
    /**
     * Triggers when the 'Stop Responding' button is clicked while a prompt request is in progress.
     * This event allows users to handle stopping the response generation and update the UI accordingly.
     *
     * @event stopRespondingClick
     */
    stopRespondingClick?: base.EmitType<StopRespondingEventArgs>;
}
 }
export namespace kanban { 

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

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

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

//node_modules/@syncfusion/ej2-lists/src/component.d.ts
/**
 * Export ListView
 */
//node_modules/@syncfusion/ej2-lists/src/sortable/sortable.d.ts
/**
 * Sortable Module provides support to enable sortable functionality in Dom Elements.
 * ```html
 * <div id="sortable">
 *   <div>Item 1</div>
 *   <div>Item 2</div>
 *   <div>Item 3</div>
 *   <div>Item 4</div>
 *   <div>Item 5</div>
 * </div>
 * ```
 * ```typescript
 *   let ele: HTMLElement = document.getElementById('sortable');
 *   let sortObj: Sortable = new Sortable(ele, {});
 * ```
 */
export  class Sortable extends base.Base<HTMLElement> implements base.INotifyPropertyChanged {
    private target;
    private curTarget;
    private placeHolderElement;
    /**
     * It is used to enable or disable the built-in animations. The default value is `false`
     *
     * @default false
     */
    enableAnimation: boolean;
    /**
     * Specifies the sortable item class.
     *
     * @default null
     */
    itemClass: string;
    /**
     * Defines the scope value to group sets of sortable libraries.
     * More than one Sortable with same scope allows to transfer elements between different sortable libraries which has same scope value.
     */
    scope: string;
    /**
     * Defines the callback function for customizing the cloned element.
     */
    helper: (Element: object) => HTMLElement;
    /**
     * Defines the callback function for customizing the placeHolder element.
     */
    placeHolder: (Element: object) => HTMLElement;
    /**
     * Specifies the callback function for drag event.
     *
     * @event 'object'
     */
    drag: (e: any) => void;
    /**
     * Specifies the callback function for beforeDragStart event.
     *
     *  @event 'object'
     */
    beforeDragStart: (e: any) => void;
    /**
     * Specifies the callback function for dragStart event.
     *
     *  @event 'object'
     */
    dragStart: (e: any) => void;
    /**
     * Specifies the callback function for beforeDrop event.
     *
     *  @event 'object'
     */
    beforeDrop: (e: any) => void;
    /**
     * Specifies the callback function for drop event.
     *
     *  @event 'object'
     */
    drop: (e: any) => void;
    constructor(element: HTMLElement, options?: SortableModel);
    protected bind(): void;
    private initializeDraggable;
    private wireEvents;
    private unwireEvents;
    private keyDownHandler;
    private getPlaceHolder;
    private getHelper;
    private isValidTarget;
    private onDrag;
    private removePlaceHolder;
    private updateItemClass;
    private getSortableInstance;
    private getIndex;
    private getSortableElement;
    private onDragStart;
    private queryPositionInfo;
    private isPlaceHolderPresent;
    private onDragStop;
    /**
     * It is used to sort array of elements from source element to destination element.
     *
     * @param destination - Defines the destination element to which the sortable elements needs to be appended.
     *
     * If it is null, then the Sortable library element will be considered as destination.
     * @param targetIndexes - Specifies the sortable elements indexes which needs to be sorted.
     * @param insertBefore - Specifies the index before which the sortable elements needs to be appended.
     * If it is null, elements will be appended as last child.
     * @function moveTo
     * @returns {void}
     */
    moveTo(destination?: HTMLElement, targetIndexes?: number[], insertBefore?: number): void;
    /**
     * It is used to destroy the Sortable library.
     */
    destroy(): void;
    getModuleName(): string;
    onPropertyChanged(newProp: SortableModel, oldProp: SortableModel): void;
}
/**
 * It is used to sort array of elements from source element to destination element.
 *
 * @param {HTMLElement} from - The source element from which to move elements.
 * @param {HTMLElement} [to=from] - The destination element to which to move elements. Defaults to the source element.
 * @param {number[]} [targetIndexes] - The indexes of elements to move. If not provided, all children of the source element will be moved.
 * @param {number} [insertBefore] - The index before which to insert the moved elements in the destination element. If not provided, elements will be appended to the end of the destination element.
 * @returns {void}
 * @private
 */
export  function moveTo(from: HTMLElement, to?: HTMLElement, targetIndexes?: number[], insertBefore?: number): void;
/**
 * An interface that holds item drop event arguments
 */
export interface DropEventArgs {
    previousIndex: number;
    currentIndex: number;
    droppedElement: Element;
    target: Element;
    helper: Element;
    cancel?: boolean;
    handled?: boolean;
}
/**
 * An interface that holds item before drag event arguments
 */
export interface BeforeDragEventArgs {
    cancel?: boolean;
    target: Element;
}
//node_modules/@syncfusion/ej2-lists/src/sortable/sortable-model.d.ts
/**
 * Interface for a class Sortable
 */
export interface SortableModel {
    /**
     * It is used to enable or disable the built-in animations. The default value is `false`
     *
     * @default false
     */
    enableAnimation?: boolean;
    /**
     * Specifies the sortable item class.
     *
     * @default null
     */
    itemClass?: string;
    /**
     * Defines the scope value to group sets of sortable libraries.
     * More than one Sortable with same scope allows to transfer elements between different sortable libraries which has same scope value.
     */
    scope?: string;
    /**
     * Defines the callback function for customizing the cloned element.
     */
    helper?: (Element: object) => HTMLElement;
    /**
     * Defines the callback function for customizing the placeHolder element.
     */
    placeHolder?: (Element: object) => HTMLElement;
    /**
     * Specifies the callback function for drag event.
     *
     * @event 'object'
     */
    drag?: (e: any) => void;
    /**
     * Specifies the callback function for beforeDragStart event.
     *
     *  @event 'object'
     */
    beforeDragStart?: (e: any) => void;
    /**
     * Specifies the callback function for dragStart event.
     *
     *  @event 'object'
     */
    dragStart?: (e: any) => void;
    /**
     * Specifies the callback function for beforeDrop event.
     *
     *  @event 'object'
     */
    beforeDrop?: (e: any) => void;
    /**
     * Specifies the callback function for drop event.
     *
     *  @event 'object'
     */
    drop?: (e: any) => void;
}
//node_modules/@syncfusion/ej2-lists/src/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 templateData;
    private topElementHeight;
    private bottomElementHeight;
    listItemHeight: number;
    private domItemCount;
    private expectedDomItemCount;
    private scrollPosition;
    private onVirtualScroll;
    private updateUl;
    private checkListWrapper;
    private iconCssWrapper;
    uiFirstIndex: number;
    private uiLastIndex;
    private totalHeight;
    private topElement;
    private bottomElement;
    private activeIndex;
    private uiIndices;
    private listDiff;
    private elementDifference;
    /**
     * For internal use only.
     *
     * @private
     */
    isNgTemplate(): boolean;
    /**
     * Checks if the platform is a Vue and its template property is a function type.
     *
     * @returns {boolean} indicating the result of the check
     */
    private isVueFunctionTemplate;
    /**
     * For internal use only.
     *
     * @private
     */
    uiVirtualization(): void;
    private wireScrollEvent;
    private ValidateItemCount;
    updateDOMItemCount(): void;
    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[], index: number): void;
    private createAndInjectNewItem;
    createUIItem(args: ItemCreatedArgs): void;
    reRenderUiVirtualization(): void;
    private updateUI;
    /**
     * Handles the UI change in vue for the list view.
     *
     * @param {DataSource} newData - The new data source for the list view.
     * @param {ElementContext} listElement - The HTML element context for the list view.
     * @param {Virtualization} virtualThis - The virtualization context for the list view.
     * @returns {void}
     */
    private onChange;
    private onNgChange;
    getModuleName(): string;
    destroy(): void;
}
interface DataSource {
    [key: string]: object;
}
//node_modules/@syncfusion/ej2-lists/src/list-view/list-view.d.ts
export  const classNames: ClassNames;
/**
 * An interface that holds options of fields.
 */
export interface Fields {
    /**
     * Specifies the id field mapped in dataSource.
     */
    id?: string | number;
    /**
     * The `text` property is used to map the text value from the data source for each list item.
     */
    text?: string | number;
    /**
     * It is used to map the custom field values of list item from the dataSource.
     */
    [key: string]: Object | string | number | undefined;
}
/**
 * Represents the field settings of the ListView.
 */
export  class FieldSettings extends base.ChildProperty<FieldSettings> {
    /**
     * Specifies the id field mapped in dataSource.
     */
    id: string;
    /**
     * The `text` property is used to map the text value from the data source for each list item.
     */
    text: string;
    /**
     * The `isChecked` property is used to check whether the list items are in checked state or not.
     */
    isChecked: string;
    /**
     * The `isVisible` property is used to check whether the list items are in visible state or not.
     */
    isVisible: string;
    /**
     * Specifies the enabled state of the ListView component.
     * And, we can disable the component using this property by setting its value as false.
     */
    enabled: string;
    /**
     * The `iconCss` is used to customize the icon to the list items dynamically.
     *  We can add a specific image to the icons using `iconCss` property.
     */
    iconCss: string;
    /**
     * The `child` property is used for nested navigation of listed items.
     */
    child: string;
    /**
     * The `tooltip` is used to display the information about the target element while hovering on list items.
     */
    tooltip: string;
    /**
     * The `groupBy` property is used to wraps the ListView elements into a group.
     */
    groupBy: string;
    /**
     * The `sortBy` property used to enable the sorting of list items to be ascending or descending order.
     */
    sortBy: string;
    /**
     * The `htmlAttributes` allows additional attributes such as id, class, etc., and
     *  accepts n number of attributes in a key-value pair format.
     */
    htmlAttributes: string;
    /**
     * Specifies the `tableName` used to fetch data from a specific table in the server.
     */
    tableName: string;
}
/**
 * An interface that holds animation settings.
 */
export interface AnimationSettings {
    /**
     * It is used to specify the effect which is shown in sub list transform.
     */
    effect?: ListViewEffect;
    /**
     * It is used to specify the time duration of transform object.
     */
    duration?: number;
    /**
     * It is used to specify the easing effect applied while transform
     */
    easing?: string;
}
/**
 * An enum type that denotes the effects of the ListView. Available options are as follows None, SlideLeft, SlideDown, Zoom, Fade;
 * ```props
 * None :- No animation is applied when items are added or removed from the ListView.
 * SlideLeft :- Items slide in from the left when added and slide out to the left when removed.
 * SlideDown :- Items slide in from the top when added and slide out to the top when removed.
 * Zoom :- Items zoom in or out when added or removed.
 * Fade :- Items fade in or out when added or removed.
 * ```
 */
export  type ListViewEffect = 'None' | 'SlideLeft' | 'SlideDown' | 'Zoom' | 'Fade';
/**
 * An enum type that denotes the position of checkbox of the ListView. Available options are as follows Left and Right;
 * ```props
 * Left :- The checkbox is positioned on the left side of the ListView item.
 * Right :- The checkbox is positioned on the right side of the ListView item.
 * ```
 */
export  type checkBoxPosition = 'Left' | 'Right';
/**
 * Represents the EJ2 ListView control.
 * ```html
 * <div id="listview">
 * <ul>
 * <li>Favorite</li>
 * <li>Documents</li>
 * <li>Downloads</li>
 * </ul>
 * </div>
 * ```
 * ```typescript
 *   var listviewObject = new ListView({});
 *   listviewObject.appendTo("#listview");
 * ```
 */
export  class ListView extends base.Component<HTMLElement> implements base.INotifyPropertyChanged {
    private ulElement;
    private selectedLI;
    private onUIScrolled;
    private curUL;
    private curDSLevel;
    private curViewDS;
    private curDSJSON;
    localData: DataSource[];
    private liCollection;
    private headerEle;
    private contentContainer;
    private touchModule;
    private listBaseOption;
    virtualizationModule: Virtualization;
    private animateOptions;
    private rippleFn;
    private isNestedList;
    private currentLiElements;
    private selectedData;
    private selectedId;
    private isWindow;
    private selectedItems;
    private aniObj;
    private LISTVIEW_TEMPLATE_ID;
    private LISTVIEW_GROUPTEMPLATE_ID;
    private LISTVIEW_HEADERTEMPLATE_ID;
    private liElement;
    private virtualCheckBox;
    private liElementHeight;
    private previousSelectedItems;
    private hiddenItems;
    private enabledItems;
    private disabledItems;
    private isOffline;
    private previousScrollTop;
    /**
     * The `cssClass` property is used to add a user-preferred class name in the root element of the ListView,
     *  using which we can customize the component (both CSS and functionality customization)
     *
     * {% codeBlock src='listview/cssClass/index.md' %}{% endcodeBlock %}
     *
     * @default ''
     */
    cssClass: string;
    /**
     * If `enableVirtualization` set to true, which will increase the ListView performance, while loading a large amount of data.
     *
     * {% codeBlock src='listview/enableVirtualization/index.md' %}{% endcodeBlock %}
     *
     * @default false
     */
    enableVirtualization: boolean;
    /**
     * The `htmlAttributes` allows additional attributes such as id, class, etc., and
     *  accepts n number of attributes in a key-value pair format.
     *
     * {% codeBlock src='listview/htmlAttributes/index.md' %}{% endcodeBlock %}
     *
     * @default {}
     */
    htmlAttributes: {
        [key: string]: string;
    };
    /**
     * If `enable` set to true, the list items are enabled.
     * And, we can disable the component using this property by setting its value as false.
     *
     * {% codeBlock src='listview/enable/index.md' %}{% endcodeBlock %}
     *
     * @default true
     */
    enable: boolean;
    /**
     * The `dataSource` provides the data to render the ListView component which is mapped with the fields of ListView.
     *
     * @isGenericType true
     *
     * {% codeBlock src='listview/dataSource/index.md' %}{% endcodeBlock %}
     *
     * @default []
     */
    dataSource: {
        [key: string]: Object;
    }[] | string[] | number[] | data.DataManager;
    /**
     * The `query` is used to fetch the specific data from dataSource by using where and select keywords.
     *
     * {% codeBlock src='listview/query/index.md' %}{% endcodeBlock %}
     *
     * @default null
     */
    query: data.Query;
    /**
     * The `fields` is used to map keys from the dataSource which extracts the appropriate data from the dataSource
     *  with specified mapped with the column fields to render the ListView.
     *
     * {% codeBlock src='listview/fields/index.md' %}{% endcodeBlock %}
     *
     * @default defaultMappedFields
     */
    fields: FieldSettingsModel;
    /**
     * The `animation` property provides an option to apply the different
     *  animations on the ListView component.
     *
     * {% codeBlock src='listview/animation/index.md' %}{% endcodeBlock %}
     *
     *
     * @default { effect: 'SlideLeft', duration: 400, easing: 'ease' }
     */
    animation: AnimationSettings;
    /**
     * The `sortOrder` is used to sort the data source. The available type of sort orders are,
     * * `None` - The data source is not sorting.
     * * `Ascending` - The data source is sorting with ascending order.
     * * `Descending` - The data source is sorting with descending order.
     *
     * {% codeBlock src='listview/sortOrder/index.md' %}{% endcodeBlock %}
     *
     * @default 'None'
     */
    sortOrder: SortOrder;
    /**
     * If `showIcon` set to true, which will show or hide the icon of the list item.
     *
     * {% codeBlock src='listview/showIcon/index.md' %}{% endcodeBlock %}
     *
     * @default false
     */
    showIcon: boolean;
    /**
     * If `showCheckBox` set to true, which will show or hide the checkbox.
     *
     * {% codeBlock src='listview/showCheckBox/index.md' %}{% endcodeBlock %}
     *
     *
     * @default false
     */
    showCheckBox: boolean;
    /**
     * The `checkBoxPosition` is used to set the position of check box in a list item.
     * By default, the `checkBoxPosition` is Left, which will appear before the text content in a list item.
     *
     * {% codeBlock src='listview/checkBoxPosition/index.md' %}{% endcodeBlock %}
     *
     * @default 'Left'
     */
    checkBoxPosition: checkBoxPosition;
    /**
     * The `headerTitle` is used to set the title of the ListView component.
     *
     * {% codeBlock src='listview/headerTitle/index.md' %}{% endcodeBlock %}
     *
     *
     * @default ""
     */
    headerTitle: string;
    /**
     * If `showHeader` set to true, which will show or hide the header of the ListView component.
     *
     * {% codeBlock src='listview/showHeader/index.md' %}{% endcodeBlock %}
     *
     * @default false
     */
    showHeader: boolean;
    /**
     * Specifies whether to display or remove the untrusted HTML values in the ListView component.
     * If 'enableHtmlSanitizer' set to true, the component will sanitize any suspected untrusted strings and scripts before rendering them.
     *
     * {% codeBlock src='listview/enableHtmlSanitizer/index.md' %}{% endcodeBlock %}
     *
     * @default true
     */
    enableHtmlSanitizer: boolean;
    /**
     * Defines the height of the ListView component which accepts both string and number values.
     *
     * {% codeBlock src='listview/height/index.md' %}{% endcodeBlock %}
     *
     * @default ''
     */
    height: number | string;
    /**
     * Defines the width of the ListView component which accepts both string and number values.
     *
     * {% codeBlock src='listview/width/index.md' %}{% endcodeBlock %}
     *
     * @default ''
     */
    width: number | string;
    /**
     * The ListView component supports to customize the content of each list items with the help of `template` property.
     *
     * {% codeBlock src='listview/template/index.md' %}{% endcodeBlock %}
     *
     * @default null
     * @angularType string | object
     * @reactType string | function | JSX.Element
     * @vueType string | function
     * @aspType string
     */
    template: string | Function;
    /**
     * The ListView has an option to custom design the ListView header title with the help of `headerTemplate` property.
     *
     * {% codeBlock src="listview/headerTemplate/index.md" %}{% endcodeBlock %}
     *
     * @default null
     * @angularType string | object
     * @reactType string | function | JSX.Element
     * @vueType string | function
     * @aspType string
     */
    headerTemplate: string | Function;
    /**
     * The ListView has an option to custom design the group header title with the help of `groupTemplate` property.
     *
     * {% codeBlock src="listview/groupTemplate/index.md" %}{% endcodeBlock %}
     *
     * @default null
     * @angularType string | object
     * @reactType string | function | JSX.Element
     * @vueType string | function
     * @aspType string
     */
    groupTemplate: string | Function;
    /**
     * Triggers when we select the list item in the component.
     *
     * @event 'object'
     */
    select: base.EmitType<SelectEventArgs>;
    /**
     * Triggers when every ListView action starts.
     *
     * @event 'object'
     */
    actionBegin: base.EmitType<object>;
    /**
     * Triggers when every ListView actions completed.
     *
     * @event 'object'
     */
    actionComplete: base.EmitType<MouseEvent>;
    /**
     * Triggers, when the data fetch request from the remote server, fails.
     *
     * @event 'object'
     *
     */
    actionFailure: base.EmitType<MouseEvent>;
    /**
     * Triggers when scrollbar of the ListView component reaches to the top or bottom.
     *
     * @event 'object'
     */
    scroll: base.EmitType<ScrolledEventArgs>;
    /**
     * Constructor for creating the widget
     *
     * @param options
     *
     * @param element
     */
    constructor(options?: ListViewModel, element?: string | HTMLElement);
    /**
     * @param newProp
     *
     * @param oldProp
     *
     * @private
     */
    onPropertyChanged(newProp: ListViewModel, oldProp: ListViewModel): void;
    private setHTMLAttribute;
    private setCSSClass;
    private setSize;
    private setEnable;
    private setEnableRTL;
    private enableElement;
    private header;
    private switchView;
    protected preRender(): void;
    private initialization;
    private renderCheckbox;
    private checkInternally;
    /**
     * Checks the specific list item by passing the unchecked fields as an argument to this method.
     *
     * @param  {Fields | HTMLElement | Element} item - It accepts Fields or HTML list element as an argument.
     */
    checkItem(item: Fields | HTMLElement | Element): void;
    private toggleCheckBase;
    /**
     * Uncheck the specific list item by passing the checked fields as an argument to this method.
     *
     * @param  {Fields | HTMLElement | Element} item - It accepts Fields or HTML list element as an argument.
     */
    uncheckItem(item: Fields | HTMLElement | Element): void;
    /**
     * Checks all the unchecked items in the ListView.
     */
    checkAllItems(): void;
    /**
     * Uncheck all the checked items in ListView.
     */
    uncheckAllItems(): void;
    private toggleAllCheckBase;
    private setCheckbox;
    /**
     * Refresh the height of the list item only on enabling the virtualization property.
     */
    refreshItemHeight(): void;
    private handleCheckboxState;
    targetElement: Element;
    private clickHandler;
    private removeElement;
    private hoverHandler;
    private leaveHandler;
    private homeKeyHandler;
    private onArrowKeyDown;
    private arrowKeyHandler;
    private enterKeyHandler;
    private spaceKeyHandler;
    private keyActionHandler;
    private swipeActionHandler;
    private focusout;
    private wireEvents;
    private unWireEvents;
    private removeFocus;
    private removeHover;
    private removeSelect;
    private isValidLI;
    private setCheckboxLI;
    private selectEventData;
    private setSelectedItemData;
    private setSelectLI;
    private setHoverLI;
    private getSubDS;
    private getItemData;
    private findItemFromDS;
    private getQuery;
    private setViewDataSource;
    private isInAnimation;
    private renderRemoteLists;
    private triggerActionFailure;
    private setLocalData;
    private reRender;
    private resetCurrentList;
    private setAttributes;
    private createList;
    private renderSubList;
    private renderIntoDom;
    private renderList;
    private getElementUID;
    /**
     * Initializes the ListView component rendering.
     */
    render(): void;
    /**
     * It is used to destroy the ListView component.
     */
    destroy(): void;
    /**
     * Switches back from the navigated sub list item.
     */
    back(): void;
    /**
     * Selects the list item from the ListView by passing the elements or field object.
     *
     * @param  {Fields | HTMLElement | Element} item - We can pass element Object or Fields as Object with ID and Text fields.
     */
    selectItem(item: Fields | HTMLElement | Element): void;
    /**
     * This method allows for deselecting a list item within the ListView. The item to be deselected can be specified by passing the element or field object.
     *
     * @param  {Fields | HTMLElement | Element} item - We can pass an element Object or Fields as an Object with ID and Text fields.
     */
    unselectItem(item?: Fields | HTMLElement | Element): void;
    private getLiFromObjOrElement;
    /**
     * Selects multiple list items from the ListView.
     *
     * @param  {Fields[] | HTMLElement[] | Element[]} item - We can pass array of
     *  elements or array of fields Object with ID and Text fields.
     */
    selectMultipleItems(item: Fields[] | HTMLElement[] | Element[]): void;
    private getParentId;
    private updateSelectedId;
    /**
     * Gets the details of the currently selected item from the list items.
     *
     */
    getSelectedItems(): SelectedItem | SelectedCollection | UISelectedItem | NestedListData;
    /**
     * Finds out an item details from the current list.
     *
     * @param  {Fields | HTMLElement | Element} item - We can pass element Object or Fields as Object with ID and Text fields.
     */
    findItem(item: Fields | HTMLElement | Element): SelectedItem;
    /**
     * Enables the disabled list items by passing the Id and text fields.
     *
     * @param  {Fields | HTMLElement | Element} item - We can pass element Object or Fields as Object with ID and Text fields.
     */
    enableItem(item: Fields | HTMLElement | Element): void;
    /**
     * Disables the list items by passing the Id and text fields.
     *
     * @param  {Fields | HTMLElement | Element} item - We can pass element Object or Fields as Object with ID and Text fields.
     */
    disableItem(item: Fields | HTMLElement | Element): void;
    private setItemState;
    /**
     * Shows the hide list item from the ListView.
     *
     * @param  {Fields | HTMLElement | Element} item - We can pass element Object or Fields as Object with ID and Text fields.
     */
    showItem(item: Fields | HTMLElement | Element): void;
    /**
     * Hides an list item from the ListView.
     *
     * @param  {Fields | HTMLElement | Element} item - We can pass element Object or Fields as Object with ID and Text fields.
     */
    hideItem(item: Fields | HTMLElement | Element): void;
    private showHideItem;
    /**
     * Adds the new list item(s) to the current ListView.
     * To add a new list item(s) in the ListView, we need to pass the `data` as an array of items that need
     * to be added and `fields` as the target item to which we need to add the given item(s) as its children.
     * For example fields: { text: 'Name', tooltip: 'Name', id:'id'}
     *
     * @param  {{Object}[]} data - JSON Array Data that need to add.
     *
     * @param  {Fields} fields - Target item to add the given data as its children (can be null).
     *
     * @param {number} index - Indicates the index where the data to be added.
     */
    addItem(data: {
        [key: string]: Object;
    }[], fields?: Fields, index?: number): void;
    private addItemInternally;
    private addItemAtIndex;
    private addItemInNestedList;
    private addItemIntoDom;
    private addListItem;
    /**
     * Removes the list item from the data source based on a passed
     *  element like fields: { text: 'Name', tooltip: 'Name', id:'id'}
     *
     * @param  {Fields | HTMLElement | Element} item - We can pass element Object or Fields as Object with ID and Text fields.
     */
    removeItem(item: Fields | HTMLElement | Element): void;
    private removeItemFromList;
    private validateNestedView;
    /**
     * Removes multiple items from the ListView by passing the array of elements or array of field objects.
     *
     * @param  {Fields[] | HTMLElement[] | Element[]} item - We can pass array of elements or array of field Object with ID and Text fields.
     */
    removeMultipleItems(item: HTMLElement[] | Element[] | Fields[]): void;
    private findParent;
    protected getModuleName(): string;
    requiredModules(): base.ModuleDeclaration[];
    private onListScroll;
    /**
     * Get the properties to be maintained in the persisted state.
     */
    protected getPersistData(): string;
}
/** @hidden */
export interface ClassNames {
    root: string;
    hover: string;
    focused: string;
    selected: string;
    parentItem: string;
    listItem: string;
    hasChild: string;
    view: string;
    header: string;
    text: string;
    headerText: string;
    headerTemplateText: string;
    listItemText: string;
    listIcon: string;
    textContent: string;
    groupListItem: string;
    disable: string;
    container: string;
    backIcon: string;
    backButton: string;
    icon: string;
    checkboxWrapper: string;
    checkbox: string;
    checked: string;
    checkboxIcon: string;
    checklist: string;
    checkboxRight: string;
    checkboxLeft: string;
    listviewCheckbox: string;
    itemCheckList: string;
    virtualElementContainer: string;
}
/**
 * An interface that holds list selected item.
 */
export interface ListSelectedItem {
    /**
     * Specifies the selected item dataSource collection.
     *
     * @isGenericType true
     */
    data?: object[];
    /**
     * Specifies the selected item text collection.
     */
    text?: string[];
    /**
     * Specifies index of the selected element.
     * Available only in virtualization.
     */
    index?: number[];
    /**
     * Specifies the hierarchical parent id collection of the current view.
     * Available only in nested list with checkbox enabled.
     */
    parentId?: string[];
}
/**
 * An enum type that denotes the ListView scroll direction when it reaches the end.
 * ```props
 * Top:- The scrollbar is moved upwards.
 * Bottom:- The scrollbar is moved downwards.
 * ```
 */
export  type direction = 'Top' | 'Bottom';
/**
 * An interface that holds selected item.
 */
export interface SelectedItem {
    /**
     * It denotes the selected item text.
     */
    text: string;
    /**
     * It denotes the selected item list element.
     *
     */
    item: HTMLElement | Element;
    /**
     * It denotes the selected item dataSource JSON object.
     *
     * @isGenericType true
     */
    data: {
        [key: string]: Object;
    } | string[] | number[];
}
/**
 * An interface that holds selected collection.
 */
export interface SelectedCollection {
    /**
     * It denotes the selected item text data or collection.
     */
    text: string | string[];
    /**
     * It denotes the selected item list element or element collection.
     */
    item: HTMLElement | Element[] | NodeList;
    /**
     * It denotes the selected item dataSource JSON object or object collection.
     *
     * @isGenericType true
     */
    data: {
        [key: string]: object;
    } | {
        [key: string]: object;
    }[] | string[] | number[];
}
/**
 * An interface that holds UI selected item.
 */
export interface UISelectedItem {
    /**
     * It denotes the selected item text data or collection.
     */
    text: string | number | string[] | number[];
    /**
     * It denotes the selected item list element or element collection.
     */
    item?: HTMLElement | Element[] | NodeList;
    /**
     * It denotes the selected item dataSource JSON object or object collection.
     *
     * @isGenericType true
     */
    data: {
        [key: string]: object;
    } | {
        [key: string]: object;
    }[] | string | number | string[] | number[];
    /**
     * It is used to denote the index of the selected element.
     */
    index?: number | number[];
    /**
     * It is used to check whether the element is checked or not.
     */
    isChecked?: boolean;
}
/**
 * An interface that holds details of data and parent.
 */
export interface DataAndParent {
    /**
     * It denotes the selected item dataSource JSON object or object collection.
     *
     * @isGenericType true
     */
    data: {
        [key: string]: object;
    } | {
        [key: string]: object;
    }[] | string[];
    /**
     * It denotes the selected item's parent id;
     */
    parentId: string[];
}
/**
 * An interface that holds nested list data.
 */
export interface NestedListData {
    /**
     * It denotes the selected item text data or collection.
     */
    text: string | string[];
    /**
     * It denotes the selected item list element or element collection.
     */
    item: HTMLElement | Element[] | NodeList;
    /**
     * It denotes the selected item dataSource JSON object with it's parent id.
     */
    data: DataAndParent[];
}
/**
 * An interface that holds selected event arguments
 */
export interface SelectEventArgs extends base.BaseEventArgs, SelectedItem {
    /**
     * Specifies that event has triggered by user interaction.
     */
    isInteracted: boolean;
    /**
     * Specifies that event argument when event raised by other event.
     */
    event: MouseEvent | KeyboardEvent;
    /**
     * It is used to denote the index of the selected element.
     */
    index: number;
    /**
     * It is used to check whether the element is checked or not.
     */
    isChecked?: boolean;
    /**
     * Cancels the item selection if the value is true
     */
    cancel: boolean;
}
/**
 * An interface that holds scrolled event arguments
 */
export interface ScrolledEventArgs {
    /**
     * Specifies the direction “Top” or “Bottom” in which the scrolling occurs.
     */
    scrollDirection: direction;
    /**
     * Specifies the default scroll event arguments.
     */
    originalEvent: Event;
    /**
     * Specifies the distance from the scrollbar to the top and bottom ends.
     */
    distanceY: number;
}
/**
 * An interface that holds item created event arguments
 */
export interface ItemCreatedArgs {
    curData: {
        [key: string]: object;
    };
    dataSource: {
        [key: string]: object;
    } | string[];
    fields: FieldsMapping;
    item: HTMLElement;
    options: ListBaseOptions;
    text: string;
}
//node_modules/@syncfusion/ej2-lists/src/list-view/list-view-model.d.ts
/**
 * Interface for a class FieldSettings
 */
export interface FieldSettingsModel {
    /**
     * Specifies the id field mapped in dataSource.
     */
    id?: string;
    /**
     * The `text` property is used to map the text value from the data source for each list item.
     */
    text?: string;
    /**
     * The `isChecked` property is used to check whether the list items are in checked state or not.
     */
    isChecked?: string;
    /**
     * The `isVisible` property is used to check whether the list items are in visible state or not.
     */
    isVisible?: string;
    /**
     * Specifies the enabled state of the ListView component.
     * And, we can disable the component using this property by setting its value as false.
     */
    enabled?: string;
    /**
     * The `iconCss` is used to customize the icon to the list items dynamically.
     *  We can add a specific image to the icons using `iconCss` property.
     */
    iconCss?: string;
    /**
     * The `child` property is used for nested navigation of listed items.
     */
    child?: string;
    /**
     * The `tooltip` is used to display the information about the target element while hovering on list items.
     */
    tooltip?: string;
    /**
     * The `groupBy` property is used to wraps the ListView elements into a group.
     */
    groupBy?: string;
    /**
     * The `sortBy` property used to enable the sorting of list items to be ascending or descending order.
     */
    sortBy?: string;
    /**
     * The `htmlAttributes` allows additional base.attributes such as id, class, etc., and
     *  accepts n number of base.attributes in a key-value pair format.
     */
    htmlAttributes?: string;
    /**
     * Specifies the `tableName` used to fetch data from a specific table in the server.
     */
    tableName?: string;
}
/**
 * Interface for a class ListView
 */
export interface ListViewModel extends base.ComponentModel{
    /**
     * The `cssClass` property is used to add a user-preferred class name in the root element of the ListView,
     *  using which we can customize the component (both CSS and functionality customization)
     *
     * {% codeBlock src='listview/cssClass/index.md' %}{% endcodeBlock %}
     *
     * @default ''
     */
    cssClass?: string;
    /**
     * If `enableVirtualization` set to true, which will increase the ListView performance, while loading a large amount of data.
     *
     * {% codeBlock src='listview/enableVirtualization/index.md' %}{% endcodeBlock %}
     *
     * @default false
     */
    enableVirtualization?: boolean;
    /**
     * The `htmlAttributes` allows additional base.attributes such as id, class, etc., and
     *  accepts n number of base.attributes in a key-value pair format.
     *
     * {% codeBlock src='listview/htmlAttributes/index.md' %}{% endcodeBlock %}
     *
     * @default {}
     */
    htmlAttributes?: { [key: string]: string;
 };
    /**
     * If `enable` set to true, the list items are enabled.
     * And, we can disable the component using this property by setting its value as false.
     *
     * {% codeBlock src='listview/enable/index.md' %}{% endcodeBlock %}
     *
     * @default true
     */
    enable?: boolean;
    /**
     * The `dataSource` provides the data to render the ListView component which is mapped with the fields of ListView.
     *
     * @isGenericType true
     *
     * {% codeBlock src='listview/dataSource/index.md' %}{% endcodeBlock %}
     *
     * @default []
     */
    dataSource?: { [key: string]: Object }[] | string[] | number[] | data.DataManager;
    /**
     * The `query` is used to fetch the specific data from dataSource by using where and select keywords.
     *
     * {% codeBlock src='listview/query/index.md' %}{% endcodeBlock %}
     *
     * @default null
     */
    query?: data.Query;
    /**
     * The `fields` is used to map keys from the dataSource which extracts the appropriate data from the dataSource
     *  with specified mapped with the column fields to render the ListView.
     *
     * {% codeBlock src='listview/fields/index.md' %}{% endcodeBlock %}
     *
     * @default defaultMappedFields
     */
    fields?: FieldSettingsModel;
    /**
     * The `animation` property provides an option to apply the different
     *  animations on the ListView component.
     *
     * {% codeBlock src='listview/animation/index.md' %}{% endcodeBlock %}
     *
     *
     * @default { effect: 'SlideLeft', duration: 400, easing: 'ease' }
     */
    animation?: AnimationSettings;
    /**
     * The `sortOrder` is used to sort the data source. The available type of sort orders are,
     * * `None` - The data source is not sorting.
     * * `Ascending` - The data source is sorting with ascending order.
     * * `Descending` - The data source is sorting with descending order.
     *
     * {% codeBlock src='listview/sortOrder/index.md' %}{% endcodeBlock %}
     *
     * @default 'None'
     */
    sortOrder?: SortOrder;
    /**
     * If `showIcon` set to true, which will show or hide the icon of the list item.
     *
     * {% codeBlock src='listview/showIcon/index.md' %}{% endcodeBlock %}
     *
     * @default false
     */
    showIcon?: boolean;
    /**
     * If `showCheckBox` set to true, which will show or hide the checkbox.
     *
     * {% codeBlock src='listview/showCheckBox/index.md' %}{% endcodeBlock %}
     *
     *
     * @default false
     */
    showCheckBox?: boolean;
    /**
     * The `checkBoxPosition` is used to set the position of check box in a list item.
     * By default, the `checkBoxPosition` is Left, which will appear before the text content in a list item.
     *
     * {% codeBlock src='listview/checkBoxPosition/index.md' %}{% endcodeBlock %}
     *
     * @default 'Left'
     */
    checkBoxPosition?: checkBoxPosition;
    /**
     * The `headerTitle` is used to set the title of the ListView component.
     *
     * {% codeBlock src='listview/headerTitle/index.md' %}{% endcodeBlock %}
     *
     *
     * @default ""
     */
    headerTitle?: string;
    /**
     * If `showHeader` set to true, which will show or hide the header of the ListView component.
     *
     * {% codeBlock src='listview/showHeader/index.md' %}{% endcodeBlock %}
     *
     * @default false
     */
    showHeader?: boolean;
    /**
     * Specifies whether to display or base.remove the untrusted HTML values in the ListView component.
     * If 'enableHtmlSanitizer' set to true, the component will sanitize any suspected untrusted strings and scripts before rendering them.
     *
     * {% codeBlock src='listview/enableHtmlSanitizer/index.md' %}{% endcodeBlock %}
     *
     * @default true
     */
    enableHtmlSanitizer?: boolean;
    /**
     * Defines the height of the ListView component which accepts both string and number values.
     *
     * {% codeBlock src='listview/height/index.md' %}{% endcodeBlock %}
     *
     * @default ''
     */
    height?: number | string;
    /**
     * Defines the width of the ListView component which accepts both string and number values.
     *
     * {% codeBlock src='listview/width/index.md' %}{% endcodeBlock %}
     *
     * @default ''
     */
    width?: number | string;
    /**
     * The ListView component supports to customize the content of each list items with the help of `template` property.
     *
     * {% codeBlock src='listview/template/index.md' %}{% endcodeBlock %}
     *
     * @default null
     * @angularType string | object
     * @reactType string | function | JSX.Element
     * @vueType string | function
     * @aspType string
     */
    template?: string | Function;
    /**
     * The ListView has an option to custom design the ListView header title with the help of `headerTemplate` property.
     *
     * {% codeBlock src="listview/headerTemplate/index.md" %}{% endcodeBlock %}
     *
     * @default null
     * @angularType string | object
     * @reactType string | function | JSX.Element
     * @vueType string | function
     * @aspType string
     */
    headerTemplate?: string | Function;
    /**
     * The ListView has an option to custom design the group header title with the help of `groupTemplate` property.
     *
     * {% codeBlock src="listview/groupTemplate/index.md" %}{% endcodeBlock %}
     *
     * @default null
     * @angularType string | object
     * @reactType string | function | JSX.Element
     * @vueType string | function
     * @aspType string
     */
    groupTemplate?: string | Function;
    /**
     * Triggers when we select the list item in the component.
     *
     * @event 'object'
     */
    select?: base.EmitType<SelectEventArgs>;
    /**
     * Triggers when every ListView action starts.
     *
     * @event 'object'
     */
    actionBegin?: base.EmitType<object>;
    /**
     * Triggers when every ListView actions completed.
     *
     * @event 'object'
     */
    /* es-lint disable */
    actionComplete?: base.EmitType<MouseEvent>;
    /**
     * Triggers, when the data fetch request from the remote server, fails.
     *
     * @event 'object'
     *
     */
    actionFailure?: base.EmitType<MouseEvent>;
    /**
     * Triggers when scrollbar of the ListView component reaches to the top or bottom.
     *
     * @event 'object'
     */
    scroll?: base.EmitType<ScrolledEventArgs>;
}
//node_modules/@syncfusion/ej2-lists/src/common/list-base.d.ts
export  let cssClass: ClassList;
/**
 * An interface that holds item class list
 */
export interface ClassList {
    li: string;
    ul: string;
    group: string;
    icon: string;
    text: string;
    check: string;
    checked: string;
    selected: string;
    expanded: string;
    textContent: string;
    hasChild: string;
    level: string;
    url: string;
    collapsible: string;
    disabled: string;
    image: string;
    iconWrapper: string;
    anchorWrap: string;
    navigable: string;
}
/**
 * Sorting Order
 */
export  type SortOrder = 'None' | 'Ascending' | 'Descending';
/**
 * Base List Generator
 */
export  namespace ListBase {
    /**
     *
     * Default mapped fields.
     */
    const defaultMappedFields: FieldsMapping;
    /**
     * Function helps to created and return the UL Li element based on your data.
     *
     * @param  {createElementParams} createElement - Specifies an array of JSON data.
     *
     * @param  {{Object}[]} dataSource - Specifies an array of JSON data.
     *
     * @param  {ListBaseOptions} [options] - Specifies the list options that need to provide.
     *
     * @param  {boolean} [isSingleLevel] - Specifies the list options that need to provide.
     *
     * @param  {any} [componentInstance] - Specifies the list options that need to provide.
     *
     * @returns  {createElement} createListFromJson - Specifies the list options that need to provide.
     */
    function createList(createElement: createElementParams, dataSource: {
        [key: string]: Object;
    }[] | string[] | number[], options?: ListBaseOptions, isSingleLevel?: boolean, componentInstance?: any): HTMLElement;
    /**
     * Function helps to created an element list based on string array input .
     *
     * @param  {createElementParams} createElement - Specifies an array of JSON data.
     *
     * @param  {{Object}[]} dataSource - Specifies an array of JSON data.
     *
     * @param  {boolean} [isSingleLevel] - Specifies the list options that need to provide.
     *
     * @param  {ListBaseOptions} [options] - Specifies the list options that need to provide.
     *
     * @param  {any} [componentInstance] - Specifies the list options that need to provide.
     *
     * @returns  {createElement} generateUL - returns the list options that need to provide.
     */
    function createListFromArray(createElement: createElementParams, dataSource: string[] | number[], isSingleLevel?: boolean, options?: ListBaseOptions, componentInstance?: any): HTMLElement;
    /**
     * Function helps to created an element list based on string array input .
     *
     * @param  {createElementParams} createElement - Specifies an array of JSON data.
     *
     * @param  {{Object}[]} dataSource - Specifies an array of JSON data.
     *
     * @param  {boolean} [isSingleLevel] - Specifies the list options that need to provide.
     *
     * @param  {ListBaseOptions} [options] - Specifies the list options that need to provide.
     *
     * @param  {any} [componentInstance] - Specifies the list options that need to provide.
     *
     * @returns  {HTMLElement[]} subChild - returns the list options that need to provide.
     */
    function createListItemFromArray(createElement: createElementParams, dataSource: string[] | number[], isSingleLevel?: boolean, options?: ListBaseOptions, componentInstance?: any): HTMLElement[];
    /**
     * Function helps to created an element list based on array of JSON input .
     *
     * @param  {createElementParams} createElement - Specifies an array of JSON data.
     *
     * @param  {{Object}[]} dataSource - Specifies an array of JSON data.
     *
     * @param  {ListBaseOptions} [options] - Specifies the list options that need to provide.
     *
     * @param  {number} [level] - Specifies the list options that need to provide.
     *
     * @param  {boolean} [isSingleLevel] - Specifies the list options that need to provide.
     *
     * @param  {any} [componentInstance] - Specifies the list options that need to provide.
     *
     * @returns  {HTMLElement[]} child - returns the list options that need to provide.
     */
    function createListItemFromJson(createElement: createElementParams, dataSource: {
        [key: string]: Object;
    }[], options?: ListBaseOptions, level?: number, isSingleLevel?: boolean, componentInstance?: any): HTMLElement[];
    /**
     * Function helps to created an element list based on array of JSON input .
     *
     * @param  {createElementParams} createElement - Specifies an array of JSON data.
     *
     * @param  {{Object}[]} dataSource - Specifies an array of JSON data.
     *
     * @param  {ListBaseOptions} [options] - Specifies the list options that need to provide.
     *
     * @param  {number} [level] - Specifies the list options that need to provide.
     *
     * @param  {boolean} [isSingleLevel] - Specifies the list options that need to provide.
     *
     * @param  {any} [componentInstance] - Specifies the list options that need to provide.
     *
     * @returns  {createElement} generateUL - Specifies the list options that need to provide.
     */
    function createListFromJson(createElement: createElementParams, dataSource: {
        [key: string]: Object;
    }[], options?: ListBaseOptions, level?: number, isSingleLevel?: boolean, componentInstance?: any): HTMLElement;
    /**
     * Return the next or previous visible element.
     *
     * @param  {Element[]|NodeList} elementArray - An element array to find next or previous element.
     * @param  {Element} element - An element to find next or previous after this element.
     * @param  {boolean} [isPrevious] - Specify when the need get previous element from array.
     * @returns {Element|undefined} The next or previous visible element, or undefined if the element array is empty.
     */
    function getSiblingLI(elementArray: Element[] | NodeList, element: Element, isPrevious?: boolean): Element;
    /**
     * Return the index of the li element
     *
     * @param  {Element} item - An element to find next or previous after this element.
     * @param  {Element[]} elementArray - An element array to find index of given li.
     * @returns {number} - The index of the item in the element array, or undefined if either parameter is false.
     */
    function indexOf(item: Element, elementArray: Element[] | NodeList): number;
    /**
     * Returns the grouped data from given dataSource.
     *
     * @param  {{Object}[]} dataSource - The JSON data which is necessary to process.
     * @param  {FieldsMapping} fields - Fields that are mapped from the data source.
     * @param  {SortOrder} [sortOrder='None'] - Specifies final result sort order. Defaults to 'None'.
     * @returns {Object[]} - The grouped data.
     */
    function groupDataSource(dataSource: {
        [key: string]: Object;
    }[], fields: FieldsMapping, sortOrder?: SortOrder): {
        [key: string]: Object;
    }[];
    /**
     * Returns a sorted query object.
     *
     * @param  {SortOrder} sortOrder - Specifies that sort order.
     * @param  {string} sortBy - Specifies sortBy fields.
     * @param  {data.Query} query - Pass if any existing query.
     * @returns {data.Query} - The updated query object with sorting applied.
     */
    function addSorting(sortOrder: SortOrder, sortBy: string, query?: data.Query): data.Query;
    /**
     * Return an array of JSON Data that processed based on queries.
     *
     * @param  {{Object}[]} dataSource - Specifies local JSON data source.
     *
     * @param  {data.Query} query - Specifies query that need to process.
     *
     * @returns {Object[]} - An array of objects representing the retrieved data.
     */
    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.
     * @returns {Object[]} - An array of objects representing the JSON data.
     */
    function createJsonFromElement(element: HTMLElement | Element, options?: ListBaseOptions): {
        [key: string]: Object;
    }[];
    /**
     * Created UL element from content template.
     *
     * @param  {createElementParams} createElement - Specifies an array of JSON data.
     * @param  {string} template - that need to convert and generate li element.
     * @param  {{Object}[]} dataSource - Specifies local JSON data source.
     * @param  {FieldsMapping} [fields] - Specifies fields for mapping the dataSource.
     * @param  {ListBaseOptions} [options] - Specifies ListBase option for fields.
     * @param  {any} [componentInstance] - Specifies component instance.
     * @returns {HTMLElement} - The generated LI element.
     */
    function renderContentTemplate(createElement: createElementParams, template: string | Function, dataSource: {
        [key: string]: Object;
    }[] | string[] | number[], fields?: FieldsMapping, options?: ListBaseOptions, componentInstance?: any): HTMLElement;
    /**
     * Created header items from group template.
     *
     * @param  {string | Function} groupTemplate - that need to convert and generate li element.
     *
     * @param {{Object}[]} groupDataSource - Specifies local JSON data source.
     *
     * @param  {FieldsMapping} fields - Specifies fields for mapping the dataSource.
     *
     * @param  {Element[]} headerItems - Specifies ListBase header items.
     *
     * @param {ListBaseOptions} [options] - Optional ListBase options.
     *
     * @param {*} [componentInstance] - Optional component instance.
     *
     * @returns {Element[]} - An array of header elements with the rendered group template content.
     */
    function renderGroupTemplate(groupTemplate: string | Function, groupDataSource: {
        [key: string]: Object;
    }[], fields: FieldsMapping, headerItems: Element[], options?: ListBaseOptions, componentInstance?: any): Element[];
    /**
     * Generates a random hexadecimal ID string.
     *
     * @returns {string} - The generated ID string.
     */
    function generateId(): string;
    /**
     * Returns UL element based on the given LI element.
     *
     * @param {Function} createElement - Function for creating elements.
     *
     * @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.
     *
     * @returns {HTMLElement} - The created UL element.
     */
    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 {Function} createElement - Function for creating elements.
     *
     * @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.
     *
     * @returns {HTMLElement} - The modified LI element.
     */
    function generateIcon(createElement: createElementParams, liElement: HTMLElement, className?: string, options?: ListBaseOptions): HTMLElement;
}
export  type createElementParams = (tag: string, prop?: {
    id?: string;
    className?: string;
    innerHTML?: string;
    styles?: string;
    attrs?: {
        [key: string]: string;
    };
}) => HTMLElement;
/**
 * An interface that holds the field mappings
 */
export interface FieldsMapping {
    id?: string;
    text?: string;
    value?: string;
    isChecked?: string;
    isVisible?: string;
    url?: string;
    enabled?: string;
    groupBy?: string;
    expanded?: string;
    selected?: string;
    iconCss?: string;
    child?: string;
    tooltip?: string;
    hasChildren?: string;
    htmlAttributes?: string;
    urlAttributes?: string;
    imageUrl?: string;
    imageAttributes?: string;
    sortBy?: string;
}
/**
 * An enum type that denotes the Expand Icon Position. Available options are as follows Right, Left;
 */
export  type Position = 'Right' | 'Left';
/**
 * An interface that holds item aria attributes mapping
 */
export interface AriaAttributesMapping {
    level?: number;
    listRole?: string;
    itemRole?: string;
    groupItemRole?: string;
    itemText?: string;
    wrapperRole?: string;
}
/**
 * Basic ListBase Options
 */
export interface ListBaseOptions {
    /**
     * Specifies that fields that mapped in dataSource
     */
    fields?: FieldsMapping;
    /**
     * Specifies the aria attributes
     */
    ariaAttributes?: AriaAttributesMapping;
    /**
     * Specifies to show checkBox
     */
    showCheckBox?: boolean;
    /**
     * Specifies to show icon
     */
    showIcon?: boolean;
    /**
     * Specifies to show collapsible icon
     */
    expandCollapse?: boolean;
    /**
     * Specifies when need to add additional UL list class
     */
    listClass?: string;
    /**
     * Specifies when need to add additional LI item class
     */
    itemClass?: string;
    /**
     * Enables when need process depth child processing.
     */
    processSubChild?: boolean;
    /**
     * Specifies the sort order
     */
    sortOrder?: SortOrder;
    /**
     * Specifies the item template
     */
    template?: string | Function;
    /**
     * Specifies the group header template
     */
    groupTemplate?: string | Function;
    /**
     * Specifies the ListView header template
     */
    headerTemplate?: string | Function;
    /**
     * Specifies the callback function that triggered before each list creation
     */
    itemCreating?: Function;
    /**
     * Specifies the callback function that triggered after each list creation
     */
    itemCreated?: Function;
    /**
     * Specifies the customizable expand icon class
     */
    expandIconClass?: string;
    /**
     * Specifies the customized class name based on their module name
     */
    moduleName?: string;
    /**
     * Specifies the expand/collapse icon position
     */
    expandIconPosition?: Position;
    /**
     * Specifies the template ID
     */
    templateID?: string;
    /**
     * Specifies the groupTemplate ID
     */
    groupTemplateID?: string;
    /**
     * Force template compiler to compile as string template
     */
    isStringTemplate?: string;
    /**
     * Defines whether to allow the cross scripting site or not.
     */
    enableHtmlSanitizer?: boolean;
    /**
     * If set true to this property then the entire list will be navigate-able instead of text element
     */
    itemNavigable?: boolean;
}
/**
 * Used to get dataSource item from complex data using fields.
 *
 * @param {Object} dataItem - Specifies an  JSON or String data.
 *
 * @param {FieldsMapping} fields - Fields that are mapped from the dataSource.
 * @returns {Object|string|number} - The retrieved field values.
 */
export  function getFieldValues(dataItem: {
    [key: string]: Object;
} | string | number, fields: FieldsMapping): {
    [key: string]: Object;
} | string | number;
 }
export namespace maps { 

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

//node_modules/@syncfusion/ej2-multicolumn-combobox/src/multicolumn-combobox/multi-column-combo-box.d.ts
export  class MultiColumnGrid {
    /**
     * Injecting required modules for component.
     *
     * @returns {void}
     * @private
     */
    InjectModules(): void;
}
/**
 * Defines alignments of text, they are
 * ```props
 * * Left :- Defines Left alignment
 * * Right :- Defines Right alignment
 * * Center :- Defines Center alignment
 * * Justify :- Defines Justify alignment
 * ```
 */
export  type TextAlign = 'Left' | 'Right' | 'Center' | 'Justify';
/**
 * Defines modes of GridLine, They are
 * ```props
 * * 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 = 'Both' | 'None' | 'Horizontal' | 'Vertical' | 'Default';
/**
 * Defines floating label type of the input and decides how the label should float on the input.
 */
export  type FloatLabelType = 'Never' | 'Always' | 'Auto';
/**
 * Defines the filter type.
 */
export  enum FilterType {
    /**
     * Checks whether a value begins with the specified value.
     */
    StartsWith = "StartsWith",
    /**
     * Checks whether a value ends with specified value.
     */
    EndsWith = "EndsWith",
    /**
     * Checks whether a value contains with specified value.
     */
    Contains = "Contains"
}
/**
 * Specifies the sortOrder to sort the data source.
 */
export  enum SortOrder {
    /**
     * The datasource is not sorting. Default value is None.
     */
    None = "None",
    /**
     * The datasource is sorting with ascending order.
     */
    Ascending = "Ascending",
    /**
     * The data source is sorting with descending order.
     */
    Descending = "Descending"
}
/**
 * Specifies the type of sorting to be applied for the columns.
 */
export  enum SortType {
    /**
     * Allow sorting only one column
     */
    OneColumn = "OneColumn",
    /**
     * Allow sorting multiple columns
     */
    MultipleColumns = "MultipleColumns"
}
/**
 * Specifies the type of wrap mode to be applied for the grid cells.
 */
export  enum WrapMode {
    /**
     * Specifies that both header and content text wrapping are enabled.
     */
    Both = "Both",
    /**
     * Specifies that only content text wrapping is enabled.
     */
    Content = "Content",
    /**
     * Specifies that only header text wrapping is enabled.
     */
    Header = "Header"
}
/**
 * The fields property maps the columns of the data table and binds the data to the component.
 */
export  class FieldSettings extends base.ChildProperty<FieldSettings> {
    /**
     * Specifies the display text of each list item.
     *
     * @default null
     */
    text: string;
    /**
     * Specifies the hidden data value mapped to each list item that should contain a unique value.
     *
     * @default null
     */
    value: string;
    /**
     * Specifies the category under which the list item has to be grouped.
     *
     * @default null
     */
    groupBy: string;
}
/**
 * Specifies the number of columns and its respective fields to be displayed in the dropdown popup.
 */
export  class Column extends base.ChildProperty<Column> {
    /**
     * Defines the name of the field whose data will be displayed in the column.
     *
     * @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 ''
     */
    header: string;
    /**
     * Defines the width of the column in pixels or percentage.
     *
     * @default ''
     */
    width: string | number;
    /**
     * Defines the alignment of the column in both header and content cells.
     *
     * @default Left
     */
    textAlign: TextAlign;
    /**
     * 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` and `date` formats.
     *
     * @default null
     * @aspType string
     */
    format: string | base.NumberFormatOptions | base.DateFormatOptions;
    /**
     * 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 template that renders customized element in each cell of the column.
     * It accepts either template or HTML element ID.
     *
     * @default null
     * @angularType string | object
     * @reactType string | function | JSX.Element
     * @vueType string | function
     * @aspType string
     */
    template: string | Function;
    /**
     * Defines the column template as string or HTML element ID which is used to add customized element in the column header.
     *
     * @default null
     * @angularType string | object
     * @reactType string | function | JSX.Element
     * @vueType string | function
     * @aspType string
     */
    headerTemplate: string | Function;
    /**
     * The CSS styles and attributes of the content cells of a particular column can be customized.
     *
     * @default null
     */
    customAttributes: {
        [x: string]: Object;
    };
}
/**
 * Specifies the configuration of the columns in the popup content.
 */
export  class GridSettings extends base.ChildProperty<GridSettings> {
    /**
     * If `enableAltRow` is set to true, the grid will render with `e-altrow` CSS class to the alternative row elements.
     *
     * @default false
     */
    enableAltRow: boolean;
    /**
     * Defines the height of rows in the popup content.
     *
     * @default null
     */
    rowHeight: 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;
    /**
     * Specifies whether to allow text wrapping of the popup grid content.
     *
     * @default false
     */
    allowTextWrap: boolean;
    /**
     * Specifies the mode for text wrapping in the popup grid content. Options include 'Both', 'Content', and 'Header'.
     *
     * @isenumeration true
     *
     * @default WrapMode.Both
     * @asptype WrapMode
     */
    textWrapMode: WrapMode | string;
    /**
     * Specifies whether resizing of columns is enabled in the popup grid content.
     *
     * @default false
     */
    allowResizing: boolean;
    /**
     * Triggers during the column resizing.
     *
     * @event resizing
     */
    resizing: base.EmitType<ResizeArgs>;
    /**
     * Triggers when the column resizing begins.
     *
     * @event resizeStart
     */
    resizeStart: base.EmitType<ResizeArgs>;
    /**
     * Triggers when the column resizing ends.
     *
     * @event resizeStop
     */
    resizeStop: base.EmitType<ResizeArgs>;
}
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 for the popup.
     */
    animation?: base.AnimationModel;
    /**
     * Specifies the original event arguments
     */
    event?: MouseEvent | KeyboardEvent | TouchEvent;
}
export interface FilteringEventArgs {
    /**
     * To prevent the internal filtering action.
     */
    preventDefaultAction: boolean;
    /**
     * Gets the `keyup` event arguments.
     */
    event: Object;
    /**
     * Illustrates whether the current action needs to be prevented or not.
     */
    cancel: boolean;
    /**
     * Returns the searched text value.
     */
    text: string;
    /**
     * Opens the popup that displays the list of items.
     *
     * @param  {Object[] | data.DataManager | DataResult } dataSource - Set the data source to filter.
     * @param  {data.Query} query - Specify the query to filter the data.
     * @param  {FieldSettingsModel} fields - Specify the fields to map the column in the data table.
     * @returns {void}
     */
    updateData(dataSource: {
        [key: string]: Object;
    }[] | data.DataManager | DataResult, query?: data.Query, fields?: FieldSettingsModel): void;
}
export interface SelectEventArgs {
    /**
     * Returns true if the event is triggered by interaction. Otherwise, it returns false.
     */
    isInteracted: boolean;
    /**
     * Returns the selected row data.
     */
    item: Object;
    /**
     * Returns the selected item as JSON Object from the data source.
     *
     */
    itemData: {
        text: string;
        value: string;
    };
    /**
     * Returns the selected row item.
     *
     */
    itemElement: HTMLElement;
    /**
     * Specifies the original event arguments.
     */
    event: MouseEvent | KeyboardEvent | TouchEvent;
    /**
     * Specifies whether the current action needs to be prevented or not.
     */
    cancel?: boolean;
}
export interface ChangeEventArgs {
    /**
     * Specifies the original event arguments.
     */
    event: MouseEvent | KeyboardEvent | TouchEvent;
    /**
     * Specifies whether the current action needs to be prevented or not.
     */
    cancel?: boolean;
    /**
     * Returns true if the event is triggered by interaction. Otherwise, it returns false.
     */
    isInteracted: boolean;
    /**
     * Returns the selected tr element.
     */
    itemElement: HTMLElement;
    /**
     * Returns the selected item as JSON Object from the data source.
     */
    itemData: {
        text: string;
        value: string;
    };
    /**
     * Returns the previous selected tr element.
     */
    previousItemElement: HTMLElement;
    /**
     * Returns the previous selected item as JSON Object from the data source.
     */
    previousItemData: {
        text: string;
        value: string;
    };
    /**
     * Returns the selected value
     *
     * @isGenericType true
     */
    value: number | string;
    /**
     * Returns the selected row data.
     */
    item: Object;
}
export interface ResizeArgs {
    /**
     * Defines the details about the column that is currently being resized.
     */
    column: ColumnModel;
    /**
     * Specifies whether to cancel the resizing operation of the columns.
     *
     * @default false
     */
    cancel: boolean;
}
/**
 * @hidden
 */
export interface DataResult {
    result: Object[] | data.Group[];
    count: number;
    aggregates?: object;
}
/**
 * The `MultiColumnComboBox` allows the user to search and select values from a list. It provides a list of options that can be selected using a filter input.
 * The selected value will be displayed in the input element.
 *
 * ```html
 *  <input type='text' id='multi-column'></input>
 * ```
 * ```typescript
 *  let multiColObj: MultiColumnComboBox = new MultiColumnComboBox();
 *  multiColObj.appendTo('#multi-column');
 * ```
 */
export  class MultiColumnComboBox extends base.Component<HTMLElement> implements base.INotifyPropertyChanged {
    /**
     * 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`.
     *
     * {% codeBlock src='multicolumn-combobox/value/index.md' %}{% endcodeBlock %}
     *
     * @default []
     * @isGenericType true
     */
    dataSource: Object | data.DataManager | DataResult;
    /**
     * Gets or sets the display text of the selected item.
     *
     * @default null
     */
    text: string;
    /**
     * Gets or sets the value of the selected item.
     *
     * {% codeBlock src='multicolumn-combobox/value/index.md' %}{% endcodeBlock %}
     *
     * @default null
     */
    value: string;
    /**
     * Gets or sets the index of the selected item in the component.
     *
     * @default null
     */
    index: number | null;
    /**
     * Specifies the width of the component. By default, the component width sets based on the width of its parent container.
     *
     * @default '100%'
     * @aspType string
     */
    width: string | number;
    /**
     * Specifies the height of the popup list.
     *
     * @default '300px'
     * @aspType string
     */
    popupHeight: string | number;
    /**
     * Specifies the width of the popup list. By default, the popup width sets based on the width of the component.
     *
     * @default '100%'
     * @aspType string
     */
    popupWidth: string | number;
    /**
     * Specifies a short hint that describes the expected value of the multicolumn combobox component.
     *
     * @default null
     */
    placeholder: string;
    /**
     * Specifies 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='multicolumn-combobox/allowFiltering/index.md' %}{% endcodeBlock %}
     *
     * @default true
     */
    allowFiltering: boolean;
    /**
     * Specifies whether sorting is allowed for the columns in the dropdown list.
     *
     * @default true
     */
    allowSorting: boolean;
    /**
     * Specifies whether to show or hide the clear icon in textbox.
     * When the clear button is clicked, `value`, `text` properties will be reset to null.
     *
     * @default false
     */
    showClearButton: boolean;
    /**
     * Sets CSS classes to the root element of the component that allows customization of appearance.
     *
     * @default ''
     */
    cssClass: 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.
     * * groupBy - data.Group the list items with it's related items by mapping groupBy field.
     *
     * {% codeBlock src='multicolumn-combobox/fields/index.md' %}{% endcodeBlock %}
     *
     * @default {text: null, value: null, groupBy: null}
     */
    fields: FieldSettingsModel;
    /**
     * Specifies the number of columns and its respective fields to be displayed in the dropdown popup.
     *
     * {% codeBlock src='multicolumn-combobox/fields/index.md' %}{% endcodeBlock %}
     *
     * @default []
     */
    columns: ColumnModel[];
    /**
     * Specifies the configuration of the columns in the popup content.
     *
     * {% codeBlock src='multicolumn-combobox/gridSettings/index.md' %}{% endcodeBlock %}
     *
     * @default {rowHeight: null, gridLines: Default, enableAltRow: false}
     */
    gridSettings: GridSettingsModel;
    /**
     * 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.
     *
     * {% codeBlock src='multicolumn-combobox/allowFiltering/index.md' %}{% endcodeBlock %}
     *
     * @isenumeration true
     * @default FilterType.StartsWith
     * @asptype FilterType
     */
    filterType: FilterType | 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='multicolumn-combobox/floatLabelType/index.md' %}{% endcodeBlock %}
     *
     * @default Never
     */
    floatLabelType: FloatLabelType;
    /**
     * Specifies the sortOrder to sort the data source.
     * The available type of sort orders are,
     * * `None` - The datasource is not sorting. Default value is None.
     * * `Ascending` - The datasource is sorting with ascending order.
     * * `Descending` - The data source is sorting with descending order.
     *
     * @isenumeration true
     * @default SortOrder.None
     * @asptype SortOrder
     */
    sortOrder: SortOrder | string;
    /**
     * Specifies the type of sorting to be applied for the columns.
     * * `OneColumn` - Allow sorting only one column.
     * * `MultipleColumns` - Allow sorting multiple columns.
     *
     * @isenumeration true
     * @default SortType.OneColumn
     * @asptype SortType
     */
    sortType: SortType | string;
    /**
     * Defines whether to enable virtual scrolling in the component.
     *
     * @default false
     */
    enableVirtualization: boolean;
    /**
     * Specifies a value that indicates whether the component is disabled or not.
     *
     * @default false
     */
    disabled: boolean;
    /**
     * Specifies the user interactions on the component are disabled.
     *
     * @default false
     */
    readonly: boolean;
    /**
     * Specifies the component’s state between page reloads. If enabled, the list of states for the value will be persisted.
     *
     * @default false
     */
    enablePersistence: boolean;
    /**
     * Accepts the external data.Query that execute along with data processing.
     *
     * {% codeBlock src='multicolumn-combobox/query/index.md' %}{% endcodeBlock %}
     *
     * @default null
     */
    query: data.Query;
    /**
     * Accepts the template design and assigns it to each items present in the popup.
     *
     * {% codeBlock src='multicolumn-combobox/itemTemplate/index.md' %}{% endcodeBlock %}
     *
     * @default null
     * @angularType string | object
     * @reactType string | function | JSX.Element
     * @vueType string | function
     * @aspType string
     */
    itemTemplate: string | Function;
    /**
     * Accepts the template design and assigns it to the footer container of the popup.
     *
     * @default null
     * @angularType string | object
     * @reactType string | function | JSX.Element
     * @vueType string | function
     * @aspType string
     */
    footerTemplate: string | Function;
    /**
     * Accepts the template design and assigns it to the group headers present in the popup list.
     *
     * @default null
     * @angularType string | object
     * @reactType string | function | JSX.Element
     * @vueType string | function
     * @aspType string
     */
    groupTemplate: string | Function;
    /**
     * Accepts the template and assigns it to the popup content when the data fetch request from the remote server fails.
     *
     * @default 'Request Failed'
     * @angularType string | object
     * @reactType string | function | JSX.Element
     * @vueType string | function
     * @aspType string
     */
    actionFailureTemplate: string | Function;
    /**
     * Accepts the template design and assigns it to popup list of component when no data is available on the component.
     *
     * @default 'No records found'
     * @angularType string | object
     * @reactType string | function | JSX.Element
     * @vueType string | function
     * @aspType string
     */
    noRecordsTemplate: string | Function;
    /**
     * Allows additional HTML attributes such as title, name, etc., and accepts n number of attributes in a key-value pair format.
     *
     * {% codeBlock src='multicolumn-combobox/htmlAttributes/index.md' %}{% endcodeBlock %}
     *
     * @default {}
     */
    htmlAttributes: {
        [key: string]: string;
    };
    /**
     * Event callback that is raised after rendering the control.
     *
     * @event created
     */
    created: base.EmitType<Event>;
    /**
     * Triggers when the popup opens.
     *
     * @event open
     */
    open: base.EmitType<PopupEventArgs>;
    /**
     * Triggers when the popup is closed.
     *
     * @event close
     */
    close: base.EmitType<PopupEventArgs>;
    /**
     * Triggers when the data fetch request from the remote server fails.
     *
     * @event actionFailure
     */
    actionFailure: base.EmitType<Object>;
    /**
     * Triggers before fetching data from the remote server.
     *
     * @event actionBegin
     */
    actionBegin: base.EmitType<Object>;
    /**
     * Triggers after data is fetched successfully from the remote server.
     *
     * @event actionComplete
     */
    actionComplete: base.EmitType<Object>;
    /**
     * Triggers on typing a character in the component.
     *
     * @event filtering
     */
    filtering: base.EmitType<FilteringEventArgs>;
    /**
     * Triggers when an item in the popup is selected by the user either with mouse/tap or with keyboard navigation.
     *
     * @event select
     */
    select: base.EmitType<SelectEventArgs>;
    /**
     * Triggers when an item in a popup is selected or when the model value is changed by the user.
     *
     * @event change
     */
    change: base.EmitType<ChangeEventArgs>;
    private dropdownElement;
    private inputEle;
    private inputObj;
    private inputWrapper;
    private popupDiv;
    private popupEle;
    private popupObj;
    private gridObj;
    private gridEle;
    private isPopupOpen;
    private footer;
    private l10n;
    private noRecord;
    private previousItemElement;
    private keyboardModule;
    private keyConfigs;
    private gridInject;
    private prevGridHeight;
    private popupRowHeight;
    private matchedRowEle;
    private matchedContent;
    private exactMatchedContent;
    private isDataFiltered;
    private isInitialRender;
    private remoteDataLength;
    private selectedRowIndex;
    private isShowSpinner;
    private hiddenElement;
    /**
     * *Constructor for creating the component
     *
     * @param {MultiColumnComboBoxModel} options - Specifies the MultiColumnComboBox model.
     * @param {string | HTMLElement} element - Specifies the element to render as component.
     * @private
     */
    constructor(options?: MultiColumnComboBoxModel, element?: string | HTMLElement);
    /**
     * Initialize the event handler
     *
     * @private
     * @returns {void}
     */
    protected preRender(): void;
    protected getDirective(): string;
    /**
     * To get component name.
     *
     * @returns {string} - It returns the current module name.
     * @private
     */
    getModuleName(): string;
    /**
     * Get the properties to be maintained in the persisted state.
     *
     * @private
     * @returns {string} - It returns the persisted data.
     */
    protected getPersistData(): string;
    private persistData;
    protected render(): void;
    private setHiddenValue;
    private renderGrid;
    private handleActionComplete;
    private handleKeyPressed;
    private isRowMatching;
    private updateRowSelection;
    private selectDataRow;
    private findIndex;
    private getGridColumns;
    private updateGroupByField;
    private onDataBound;
    private showHideSpinner;
    private onActionFailure;
    private renderInput;
    private setElementWidth;
    private setHTMLAttributes;
    private setEnable;
    private setAriaDisabled;
    private updateFieldValue;
    private initValue;
    private updateChangeEvent;
    private updateCurrentValues;
    private renderPopup;
    private updateGridHeight;
    private createPopup;
    private setFooterTemplate;
    private l10nUpdate;
    /**
     * Gets template content based on the template property value.
     *
     * @param {string | Function} template - Template property value.
     * @returns {Function} - Return template function.
     * @hidden
     */
    private getTemplateFunction;
    private getSize;
    private selectedGridRow;
    private updateValues;
    private triggerChangeEvent;
    private inputHandler;
    private updateInputValue;
    private filterDatas;
    private selectFilteredRows;
    private filterAction;
    private filteringHandler;
    private filterData;
    private updateGridDataSource;
    private wireEvents;
    private unWireEvents;
    private preventBlur;
    private dropDownClick;
    private onMouseClick;
    private onDocumentClick;
    private updateValuesOnInput;
    private clearText;
    private windowResize;
    private setCssClass;
    private keyActionHandler;
    private gridKeyActionHandler;
    private updateSelectedItem;
    private selectRow;
    private updateClearIconState;
    private updateDynamicDataSource;
    /**
     * Sets the focus to the component for interaction.component for interaction.
     *
     * @param {FocusEvent | MouseEvent | KeyboardEvent | TouchEvent} e - Specifies the event.
     * @returns {void}
     */
    focusIn(e?: FocusEvent | MouseEvent | KeyboardEvent | TouchEvent): void;
    /**
     * Moves the focus from the component if the component is already focused.
     *
     * @param {MouseEvent | KeyboardEvent} e - Specifies the event.
     * @returns {void}
     */
    focusOut(e?: MouseEvent | base.KeyboardEventArgs): void;
    /**
     * Opens the popup that displays the list of items.
     *
     * @param {MouseEvent | base.KeyboardEventArgs | TouchEvent} e - Specifies the event.
     * @param {boolean} isInputOpen - Specifies whether the input is open or not.
     * @returns {void}
     */
    showPopup(e?: MouseEvent | base.KeyboardEventArgs | TouchEvent, isInputOpen?: boolean): void;
    /**
     * Hides the popup if it is in open state.
     *
     * @param {MouseEvent | base.KeyboardEventArgs | TouchEvent} e - Specifies the event.
     * @returns {void}
     */
    hidePopup(e?: MouseEvent | base.KeyboardEventArgs | TouchEvent): void;
    /**
     * 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 } index - Specifies the index to place the newly added item in the popup list.
     * @returns {void}
     */
    addItems(items: {
        [key: string]: Object;
    }[] | {
        [key: string]: Object;
    }, index?: number): void;
    /**
     * Gets all the list items bound on this component.
     *
     * @returns {Element[]}
     */
    getItems(): Element[];
    /**
     * Gets the data Object that matches the given value.
     *
     * @param { string } value - Specifies the value of the list item.
     * @returns {Object}
     */
    getDataByValue(value: string): {
        [key: string]: Object;
    };
    destroy(): void;
    /**
     * Called internally if any of the property value changed.
     *
     * @param  {MultiColumnComboBoxModel} newProp - Specifies new properties
     * @param  {MultiColumnComboBoxModel} oldProp - Specifies old properties
     * @returns {void}
     * @private
     */
    onPropertyChanged(newProp: MultiColumnComboBoxModel, oldProp?: MultiColumnComboBoxModel): void;
}
//node_modules/@syncfusion/ej2-multicolumn-combobox/src/multicolumn-combobox/multi-column-combo-box-model.d.ts
/**
 * Interface for a class MultiColumnGrid
 */
export interface MultiColumnGridModel {
}
/**
 * Interface for a class FieldSettings
 */
export interface FieldSettingsModel {
    /**
     * Specifies the display text of each list item.
     *
     * @default null
     */
    text?: string;
    /**
     * Specifies the hidden data value mapped to each list item that should contain a unique value.
     *
     * @default null
     */
    value?: string;
    /**
     * Specifies the category under which the list item has to be grouped.
     *
     * @default null
     */
    groupBy?: string;
}
/**
 * Interface for a class Column
 */
export interface ColumnModel {
    /**
     * Defines the name of the field whose data will be displayed in the column.
     *
     * @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 ''
     */
    header?: string;
    /**
     * Defines the width of the column in pixels or percentage.
     *
     * @default ''
     */
    width?: string | number;
    /**
     * Defines the alignment of the column in both header and content cells.
     *
     * @default Left
     */
    textAlign?: TextAlign;
    /**
     * 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` and `date` formats.
     *
     * @default null
     * @aspType string
     */
    format?: string | base.NumberFormatOptions | base.DateFormatOptions;
    /**
     * 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 template that renders customized element in each cell of the column.
     * It accepts either template or HTML element ID.
     *
     * @default null
     * @angularType string | object
     * @reactType string | function | JSX.Element
     * @vueType string | function
     * @aspType string
     */
    template?: string | Function;
    /**
     * Defines the column template as string or HTML element ID which is used to add customized element in the column header.
     *
     * @default null
     * @angularType string | object
     * @reactType string | function | JSX.Element
     * @vueType string | function
     * @aspType string
     */
    headerTemplate?: string | Function;
    /**
     * The CSS styles and base.attributes of the content cells of a particular column can be customized.
     *
     * @default null
     */
    customAttributes?: { [x: string]: Object };
}
/**
 * Interface for a class GridSettings
 */
export interface GridSettingsModel {
    /**
     * If `enableAltRow` is set to true, the grid will render with `e-altrow` CSS class to the alternative row elements.
     *
     * @default false
     */
    enableAltRow?: boolean;
    /**
     * Defines the height of rows in the popup content.
     *
     * @default null
     */
    rowHeight?: 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;
    /**
     * Specifies whether to allow text wrapping of the popup grid content.
     *
     * @default false
     */
    allowTextWrap?: boolean;
    /**
     * Specifies the mode for text wrapping in the popup grid content. Options include 'Both', 'Content', and 'Header'.
     *
     * @isenumeration true
     *
     * @default WrapMode.Both
     * @asptype WrapMode
     */
    textWrapMode?: WrapMode | string;
    /**
     * Specifies whether resizing of columns is enabled in the popup grid content.
     *
     * @default false
     */
    allowResizing?: boolean;
    /**
     * Triggers during the column resizing.
     *
     * @event resizing
     */
    resizing?: base.EmitType<ResizeArgs>;
    /**
     * Triggers when the column resizing begins.
     *
     * @event resizeStart
     */
    resizeStart?: base.EmitType<ResizeArgs>;
    /**
     * Triggers when the column resizing ends.
     *
     * @event resizeStop
     */
    resizeStop?: base.EmitType<ResizeArgs>;
}
/**
 * Interface for a class MultiColumnComboBox
 */
export interface MultiColumnComboBoxModel extends base.ComponentModel{
    /**
     * 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`.
     *
     * {% codeBlock src='multicolumn-combobox/value/index.md' %}{% endcodeBlock %}
     *
     * @default []
     * @isGenericType true
     */
    dataSource?: Object | data.DataManager | DataResult;
    /**
     * Gets or sets the display text of the selected item.
     *
     * @default null
     */
    text?: string;
    /**
     * Gets or sets the value of the selected item.
     *
     * {% codeBlock src='multicolumn-combobox/value/index.md' %}{% endcodeBlock %}
     *
     * @default null
     */
    value?: string;
    /**
     * Gets or sets the index of the selected item in the component.
     *
     * @default null
     */
    index?: number | null;
    /**
     * Specifies the width of the component. By default, the component width sets based on the width of its parent container.
     *
     * @default '100%'
     * @aspType string
     */
    width?: string | number;
    /**
     * Specifies the height of the popup list.
     *
     * @default '300px'
     * @aspType string
     */
    popupHeight?: string | number;
    /**
     * Specifies the width of the popup list. By default, the popup width sets based on the width of the component.
     *
     * @default '100%'
     * @aspType string
     */
    popupWidth?: string | number;
    /**
     * Specifies a short hint that describes the expected value of the multicolumn combobox component.
     *
     * @default null
     */
    placeholder?: string;
    /**
     * Specifies 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='multicolumn-combobox/allowFiltering/index.md' %}{% endcodeBlock %}
     *
     * @default true
     */
    allowFiltering?: boolean;
    /**
     * Specifies whether sorting is allowed for the columns in the dropdown list.
     *
     * @default true
     */
    allowSorting?: boolean;
    /**
     * Specifies whether to show or hide the clear icon in textbox.
     * When the clear button is clicked, `value`, `text` properties will be reset to null.
     *
     * @default false
     */
    showClearButton?: boolean;
    /**
     * Sets CSS classes to the root element of the component that allows customization of appearance.
     *
     * @default ''
     */
    cssClass?: 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.
     * * groupBy - data.Group the list items with it's related items by mapping groupBy field.
     *
     * {% codeBlock src='multicolumn-combobox/fields/index.md' %}{% endcodeBlock %}
     *
     * @default {text: null, value: null, groupBy: null}
     */
    fields?: FieldSettingsModel;
    /**
     * Specifies the number of columns and its respective fields to be displayed in the dropdown popup.
     *
     * {% codeBlock src='multicolumn-combobox/fields/index.md' %}{% endcodeBlock %}
     *
     * @default []
     */
    columns?: ColumnModel[];
    /**
     * Specifies the configuration of the columns in the popup content.
     *
     * {% codeBlock src='multicolumn-combobox/gridSettings/index.md' %}{% endcodeBlock %}
     *
     * @default {rowHeight: null, gridLines: Default, enableAltRow: false}
     */
    gridSettings?: GridSettingsModel;
    /**
     * 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.
     *
     * {% codeBlock src='multicolumn-combobox/allowFiltering/index.md' %}{% endcodeBlock %}
     *
     * @isenumeration true
     * @default FilterType.StartsWith
     * @asptype FilterType
     */
    filterType?: FilterType | 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='multicolumn-combobox/floatLabelType/index.md' %}{% endcodeBlock %}
     *
     * @default Never
     */
    floatLabelType?: FloatLabelType;
    /**
     * Specifies the sortOrder to sort the data source.
     * The available type of sort orders are,
     * * `None` - The datasource is not sorting. Default value is None.
     * * `Ascending` - The datasource is sorting with ascending order.
     * * `Descending` - The data source is sorting with descending order.
     *
     * @isenumeration true
     * @default SortOrder.None
     * @asptype SortOrder
     */
    sortOrder?: SortOrder | string;
    /**
     * Specifies the type of sorting to be applied for the columns.
     * * `OneColumn` - Allow sorting only one column.
     * * `MultipleColumns` - Allow sorting multiple columns.
     *
     * @isenumeration true
     * @default SortType.OneColumn
     * @asptype SortType
     */
    sortType?: SortType | string;
    /**
     * Defines whether to enable virtual scrolling in the component.
     *
     * @default false
     */
    enableVirtualization?: boolean;
    /**
     * Specifies a value that indicates whether the component is disabled or not.
     *
     * @default false
     */
    disabled?: boolean;
    /**
     * Specifies the user interactions on the component are disabled.
     *
     * @default false
     */
    readonly?: boolean;
    /**
     * Specifies the component’s state between page reloads. If enabled, the list of states for the value will be persisted.
     *
     * @default false
     */
    enablePersistence?: boolean;
    /**
     * Accepts the external data.Query that execute along with data processing.
     *
     * {% codeBlock src='multicolumn-combobox/query/index.md' %}{% endcodeBlock %}
     *
     * @default null
     */
    query?: data.Query;
    /**
     * Accepts the template design and assigns it to each items present in the popup.
     *
     * {% codeBlock src='multicolumn-combobox/itemTemplate/index.md' %}{% endcodeBlock %}
     *
     * @default null
     * @angularType string | object
     * @reactType string | function | JSX.Element
     * @vueType string | function
     * @aspType string
     */
    itemTemplate?: string | Function;
    /**
     * Accepts the template design and assigns it to the footer container of the popup.
     *
     * @default null
     * @angularType string | object
     * @reactType string | function | JSX.Element
     * @vueType string | function
     * @aspType string
     */
    footerTemplate?: string | Function;
    /**
     * Accepts the template design and assigns it to the group headers present in the popup list.
     *
     * @default null
     * @angularType string | object
     * @reactType string | function | JSX.Element
     * @vueType string | function
     * @aspType string
     */
    groupTemplate?: string | Function;
    /**
     * Accepts the template and assigns it to the popup content when the data fetch request from the remote server fails.
     *
     * @default 'Request Failed'
     * @angularType string | object
     * @reactType string | function | JSX.Element
     * @vueType string | function
     * @aspType string
     */
    actionFailureTemplate?: string | Function;
    /**
     * Accepts the template design and assigns it to popup list of component when no data is available on the component.
     *
     * @default 'No records found'
     * @angularType string | object
     * @reactType string | function | JSX.Element
     * @vueType string | function
     * @aspType string
     */
    noRecordsTemplate?: string | Function;
    /**
     * 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='multicolumn-combobox/htmlAttributes/index.md' %}{% endcodeBlock %}
     *
     * @default {}
     */
    htmlAttributes?: { [key: string]: string;
 };
    /**
     * base.Event callback that is raised after rendering the control.
     *
     * @event created
     */
    created?: base.EmitType<Event>;
    /**
     * Triggers when the popup opens.
     *
     * @event open
     */
    open?: base.EmitType<PopupEventArgs>;
    /**
     * Triggers when the popup is closed.
     *
     * @event close
     */
    close?: base.EmitType<PopupEventArgs>;
    /**
     * Triggers when the data fetch request from the remote server fails.
     *
     * @event actionFailure
     */
    actionFailure?: base.EmitType<Object>;
    /**
     * Triggers before fetching data from the remote server.
     *
     * @event actionBegin
     */
    actionBegin?: base.EmitType<Object>;
    /**
     * Triggers after data is fetched successfully from the remote server.
     *
     * @event actionComplete
     */
    actionComplete?: base.EmitType<Object>;
    /**
     * Triggers on typing a character in the component.
     *
     * @event filtering
     */
    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 base.select
     */
    select?: base.EmitType<SelectEventArgs>;
    /**
     * Triggers when an item in a popup is selected or when the model value is changed by the user.
     *
     * @event change
     */
    change?: base.EmitType<ChangeEventArgs>;
}
 }
export namespace navigations { 

//node_modules/@syncfusion/ej2-navigations/src/treeview/treeview.d.ts
/**
 * Interface for NodeExpand event arguments.
 */
export interface NodeExpandEventArgs {
    /**
     * If you want to cancel this event then, set cancel as true. Otherwise, false.
     */
    cancel: boolean;
    /**
     * If the event is triggered by interaction, it returns true. Otherwise, it returns false.
     */
    isInteracted: boolean;
    /**
     * Return the expanded/collapsed TreeView node.
     */
    node: HTMLLIElement;
    /**
     *
     * Return the expanded/collapsed node as JSON object from data source.
     *
     *
     */
    nodeData: {
        [key: string]: Object;
    };
    event: MouseEvent | base.KeyboardEventArgs | base.TapEventArgs;
}
/**
 * Interface for NodeSelect event arguments.
 */
export interface NodeSelectEventArgs {
    /**
     * Return the name of action like select or un-select.
     */
    action: string;
    /**
     * If you want to cancel this event then, set cancel as true. Otherwise, false.
     */
    cancel: boolean;
    /**
     * If the event is triggered by interaction, it returns true. Otherwise, it returns false.
     */
    isInteracted: boolean;
    /**
     * Return the currently selected TreeView node.
     */
    node: HTMLLIElement;
    /**
     * Return the currently selected node as JSON object from data source.
     *
     */
    nodeData: {
        [key: string]: Object;
    };
}
/**
 * Interface for NodeCheck event arguments.
 */
export interface NodeCheckEventArgs {
    /**
     * Return the name of action like check or un-check.
     */
    action: string;
    /**
     * If you want to cancel this event then, set cancel as true. Otherwise, false.
     */
    cancel: boolean;
    /**
     * If the event is triggered by interaction, it returns true. Otherwise, it returns false.
     */
    isInteracted: boolean;
    /**
     * Return the currently checked TreeView node.
     */
    node: HTMLLIElement;
    /**
     * Return the currently checked node as JSON object from data source.
     *
     */
    data: {
        [key: string]: Object;
    }[];
}
/**
 * Interface for NodeEdit event arguments.
 */
export interface NodeEditEventArgs {
    /**
     * If you want to cancel this event then, set cancel as true. Otherwise, false.
     */
    cancel: boolean;
    /**
     * Return the current TreeView node new text.
     */
    newText: string;
    /**
     * Return the current TreeView node.
     */
    node: HTMLLIElement;
    /**
     * Return the current node as JSON object from data source.
     *
     */
    nodeData: {
        [key: string]: Object;
    };
    /**
     * Return the current TreeView node old text.
     */
    oldText: string;
    /**
     * Gets or sets the inner HTML of TreeView node while editing.
     */
    innerHtml: string;
}
/**
 * Interface for DragAndDrop event arguments.
 */
export interface DragAndDropEventArgs {
    /**
     * If you want to cancel this event then, set cancel as true. Otherwise, false.
     */
    cancel: boolean;
    /**
     * Return the cloned element
     */
    clonedNode: HTMLElement;
    /**
     * Return the actual event.
     */
    event: MouseEvent & TouchEvent;
    /**
     * Return the currently dragged TreeView node.
     */
    draggedNode: HTMLLIElement;
    /**
     * Return the currently dragged node as array of JSON object from data source.
     *
     */
    draggedNodeData: {
        [key: string]: Object;
    };
    /**
     * Returns the dragged/dropped element's target index position
     *
     */
    dropIndex: number;
    /**
     * Returns the dragged/dropped element's target level
     *
     */
    dropLevel: number;
    /**
     * Return the dragged element's source parent
     */
    draggedParentNode: Element;
    /**
     * Return the dragged element's destination parent
     */
    dropTarget: Element;
    /**
     * Return the cloned element's drop status icon while dragging
     */
    dropIndicator: string;
    /**
     * Return the dropped TreeView node.
     */
    droppedNode: HTMLLIElement;
    /**
     * Return the dropped node as array of JSON object from data source.
     *
     */
    droppedNodeData: {
        [key: string]: Object;
    };
    /**
     * Return the target element from which drag starts/end.
     */
    target: HTMLElement;
    /**
     * Return boolean value for preventing auto-expanding of parent node.
     */
    preventTargetExpand?: boolean;
    /**
     * Denotes the cloned element's drop position relative to the dropped node while dragging. The available values are,
     *   1. Inside – Denotes that the cloned element will be appended as the child node of the dropped node.
     *   2. Before - Denotes that the cloned element will be appended before the dropped node.
     *   3. After - Denotes that the cloned element will be appended after the dropped node.
     */
    position: string;
}
/**
 * Interface for DrawNode event arguments.
 */
export interface DrawNodeEventArgs {
    /**
     * Return the current rendering node.
     */
    node: HTMLLIElement;
    /**
     * Return the current rendering node as JSON object.
     *
     * @isGenericType true
     */
    nodeData: {
        [key: string]: Object;
    };
    /**
     * Return the current rendering node text.
     */
    text: string;
}
/**
 * Interface for NodeClick event arguments.
 */
export interface NodeClickEventArgs {
    /**
     * Return the actual event.
     */
    event: MouseEvent;
    /**
     * Return the current clicked TreeView node.
     */
    node: HTMLLIElement;
}
/**
 * Interface for NodeKeyPress event arguments.
 */
export interface NodeKeyPressEventArgs {
    /**
     * If you want to cancel this event then, set cancel as true. Otherwise, false.
     */
    cancel: boolean;
    /**
     * Return the actual event.
     *
     */
    event: base.KeyboardEventArgs;
    /**
     * Return the current active TreeView node.
     */
    node: HTMLLIElement;
}
/**
 * Interface for DataBound event arguments.
 */
export interface DataBoundEventArgs {
    /**
     * Return the TreeView data.
     *
     * @isGenericType true
     */
    data: {
        [key: string]: Object;
    }[];
}
/**
 * Interface for DataSourceChanged event arguments.
 */
export interface DataSourceChangedEventArgs {
    /**
     * Return the updated TreeView data. The data source will be updated after performing some operation like
     * drag and drop, node editing, adding and removing node. If you want to get updated data source after performing operation like
     * selecting/unSelecting, checking/unChecking, expanding/collapsing the node, then you can use getTreeData method.
     *
     * @isGenericType true
     */
    data: {
        [key: string]: Object;
    }[];
    /**
     * Return the action which triggers the event
     *
     */
    action: string;
    /**
     * Return the new node data of updated data source
     *
     */
    nodeData: {
        [key: string]: Object;
    }[];
}
/**
 * Interface that holds the node details.
 */
export interface NodeData {
    /**
     * Specifies the ID field mapped in dataSource.
     */
    id: string;
    /**
     * Specifies the mapping field for text displayed as TreeView node's display text.
     */
    text: string;
    /**
     * Specifies the parent ID field mapped in dataSource.
     */
    parentID: string;
    /**
     * Specifies the mapping field for selected state of the TreeView node.
     */
    selected: boolean;
    /**
     * Specifies the mapping field for expand state of the TreeView node.
     */
    expanded: boolean;
    /**
     * Specifies the field for checked state of the TreeView node.
     */
    isChecked: string;
    /**
     * Specifies the mapping field for hasChildren to check whether a node has child nodes or not.
     */
    hasChildren: boolean;
}
/**
 * Interface for Failure event arguments
 */
export interface FailureEventArgs {
    /** Defines the error information. */
    error?: Error;
}
/**
 * Configures the fields to bind to the properties of node in the TreeView component.
 */
export  class FieldsSettings extends base.ChildProperty<FieldsSettings> {
    /**
     * Binds the field settings for child nodes or mapping field for nested nodes objects that contain array of JSON objects.
     */
    child: string | FieldsSettingsModel;
    /**
     * Specifies the array of JavaScript objects or instance of data.DataManager to populate the nodes.
     *
     * @default []
     * @aspDatasourceNullIgnore
     * @isGenericType true
     */
    dataSource: data.DataManager | {
        [key: string]: Object;
    }[];
    /**
     * Specifies the mapping field for expand state of the TreeView node.
     */
    expanded: string;
    /**
     * Specifies the mapping field for hasChildren to check whether a node has child nodes or not.
     */
    hasChildren: string;
    /**
     * Specifies the mapping field for htmlAttributes to be added to the TreeView node.
     */
    htmlAttributes: string;
    /**
     * Specifies the mapping field for icon class of each TreeView node that will be added before the text.
     */
    iconCss: string;
    /**
     * Specifies the ID field mapped in dataSource.
     */
    id: string;
    /**
     * Specifies the mapping field for image URL of each TreeView node where image will be added before the text.
     */
    imageUrl: string;
    /**
     * Specifies the field for checked state of the TreeView node.
     */
    isChecked: string;
    /**
     * Specifies the parent ID field mapped in dataSource.
     */
    parentID: string;
    /**
     * Defines the external [`data.Query`](https://ej2.syncfusion.com/documentation/api/data/query/)
     * that will execute along with data processing.
     *
     * @default null
     */
    query: data.Query;
    /**
     * Specifies whether the node can be selected by users or not
     * When set to false, the user interaction is prevented for the corresponding node.
     */
    selectable: string;
    /**
     * Specifies the mapping field for selected state of the TreeView node.
     */
    selected: string;
    /**
     * Specifies the table name used to fetch data from a specific table in the server.
     */
    tableName: string;
    /**
     * Specifies the mapping field for text displayed as TreeView node's display text.
     */
    text: string;
    /**
     * Specifies the mapping field for tooltip that will be displayed as hovering text of the TreeView node.
     */
    tooltip: string;
    /**
     * Specifies the mapping field for navigateUrl to be added as hyper-link of the TreeView node.
     */
    navigateUrl: string;
}
/**
 * Defines the expand type of the TreeView node.
 * ```props
 * Auto :- The expand/collapse operation happens when you double-click on the node in desktop.
 * Click :- The expand/collapse operation happens when you single-click on the node in desktop.
 * DblClick :- The expand/collapse operation happens when you double-click on the node in desktop.
 * None :- The expand/collapse operation will not happen.
 * ```
 */
export  type ExpandOnSettings = 'Auto' | 'Click' | 'DblClick' | 'None';
/**
 * Defines the sorting order type for TreeView.
 * ```props
 * None :- Indicates that the nodes are not sorted.
 * Ascending :- Indicates that the nodes are sorted in the ascending order.
 * Descending :- Indicates that the nodes are sorted in the descending order
 * ```
 */
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 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 touchClass;
    private editData;
    private editFields;
    private refreshData;
    private isRefreshed;
    private keyConfigs;
    private isInitalExpand;
    private index;
    private preventExpand;
    private hasPid;
    private dragParent;
    private checkedElement;
    private ele;
    private disableNode;
    private onLoaded;
    private parentNodeCheck;
    private parentCheckData;
    private validArr;
    private validNodes;
    private expandChildren;
    private isFieldChange;
    private changeDataSource;
    private isOffline;
    private firstTap;
    private hasTemplate;
    private isFirstRender;
    private isNodeDropped;
    private isInteracted;
    private isRightClick;
    private mouseDownStatus;
    private isDropIn;
    private DDTTreeData;
    private OldCheckedData;
    private isHiddenItem;
    /**
     * Indicates whether the TreeView allows drag and drop of nodes. To drag and drop a node in
     * desktop, hold the mouse on the node, drag it to the target node and drop the node by releasing
     * the mouse. For touch devices, drag and drop operation is performed by touch, touch move
     * and touch end. For more information on drag and drop nodes concept, refer to
     * [Drag and Drop](../../treeview/drag-and-drop/).
     *
     * @default false
     */
    allowDragAndDrop: boolean;
    /**
     * Enables or disables editing of the text in the TreeView node. When `allowEditing` property is set
     * to true, the TreeView allows you to edit the node by double clicking the node or by navigating to
     * the node and pressing **F2** key. For more information on node editing, refer
     * to [Node Editing](../../treeview/node-editing/).
     *
     * @default false
     */
    allowEditing: boolean;
    /**
     * Enables or disables multi-selection of nodes. To select multiple nodes:
     * * Select the nodes by holding down the **Ctrl** key while clicking on the nodes.
     * * Select consecutive nodes by clicking the first node to select and hold down the **Shift** key
     * and click the last node to select.
     *
     * For more information on multi-selection, refer to
     * [Multi-Selection](../../treeview/multiple-selection/).
     *
     * @default false
     */
    allowMultiSelection: boolean;
    /**
     * Enables or disables text wrapping when text exceeds the bounds in the TreeView node.
     * When the allowTextWrap property is set to true, the TreeView node text content will wrap to the next line
     * when it exceeds the width of the TreeView node.
     * The TreeView node height will be adjusted automatically based on the TreeView node content.
     *
     * @default false
     */
    allowTextWrap: boolean;
    /**
     * Specifies the type of animation applied on expanding and collapsing the nodes along with duration.
     *
     * @default {expand: { effect: 'SlideDown', duration: 400, easing: 'linear' },
     * collapse: { effect: 'SlideUp', duration: 400, easing: 'linear' }}
     */
    animation: NodeAnimationSettingsModel;
    /**
     * The `checkedNodes` property is used to set the nodes that need to be checked.
     * This property returns the checked nodes ID 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).
     * ```html
     * <div id="tree"></div>
     * ```
     * ```typescript
     * let treeObj: TreeView = new TreeView({
     * fields: { dataSource: hierarchicalData, id: 'id', text: 'name', child: 'subChild' },
     * showCheckBox: true,
     * checkedNodes: ['01-01','02']
     * });
     * treeObj.appendTo('#tree');
     * ```
     *
     * @default []
     */
    checkedNodes: string[];
    /**
     * Determines whether the disabled children will be checked or not if their parent is checked.
     *
     * @default true
     */
    checkDisabledChildren: boolean;
    /**
     * Specifies one or more than one CSS classes to be added with root element of the TreeView to help customize the appearance of the component.
     * ```html
     * <div id="tree"></div>
     * ```
     * ```typescript
     * let treeObj: TreeView = new TreeView({
     * fields: { dataSource: hierarchicalData, id: 'id', text: 'name', child: 'subChild' },
     * cssClass: 'e-custom e-tree'
     * });
     * treeObj.appendTo('#tree');
     * ```
     * ```css
     * .e-custom .e-tree {
     * max-width: 600px;
     * }
     * .e-custom .e-list-item {
     * padding: 10px 0;
     * }
     * ```
     *
     * @default ''
     */
    cssClass: string;
    /**
     * Specifies a value that indicates whether the TreeView component is disabled or not.
     * When set to true, user interaction will not be occurred in TreeView.
     *
     * @default false
     */
    disabled: boolean;
    /**
     * Specifies the target in which the draggable element can be moved and dropped.
     * By default, the draggable element movement occurs in the page.
     * ```html
     * <div id="tree"></div>
     * ```
     * ```typescript
     * let treeObj: TreeView = new TreeView({
     * fields: { dataSource: hierarchicalData, id: 'id', text: 'name', child: 'subChild' },
     * dragArea: '.control_wrapper'
     * });
     * treeObj.appendTo('#tree');
     * ```
     * ```css
     * .control_wrapper {
     * width: 500px;
     * margin-left: 100px;
     * }
     * ```
     *
     * @default null
     */
    dragArea: HTMLElement | string;
    /**
     * Specifies whether to display or remove the untrusted HTML values in the TreeView component.
     * If 'enableHtmlSanitizer' set to true, the component will sanitize any suspected untrusted strings and scripts before rendering them.
     * ```html
     * <div id="tree"></div>
     * ```
     * ```typescript
     * let treeObj: TreeView = new TreeView({
     * fields: { dataSource: hierarchicalData, id: 'id', text: 'name', child: 'subChild' },
     * enableHtmlSanitizer: true
     * });
     * treeObj.appendTo('#tree');
     * ```
     *
     * @default true
     */
    enableHtmlSanitizer: boolean;
    /**
     * Enables or disables persisting TreeView state between page reloads. If enabled, following APIs will persist.
     * 1. `selectedNodes` - Represents the nodes that are selected in the TreeView component.
     * 2. `checkedNodes`  - Represents the nodes that are checked in the TreeView component.
     * 3. `expandedNodes` - Represents the nodes that are expanded in the TreeView component.
     *
     * @default false
     */
    enablePersistence: boolean;
    /**
     * Represents the expanded nodes in the TreeView component. We can set the nodes that need to be
     * expanded or get the ID of the nodes that are currently expanded by using this property.
     * ```html
     * <div id='tree'></div>
     * ```
     * ```typescript
     * <script>
     * var treeObj =  new TreeView({
     * fields: { dataSource: hierarchicalData, id: 'id', text: 'name', child: 'subChild' },
     * expandedNodes: ['01','01-01','02']
     * });
     * treeObj.appendTo('#tree');
     * </script>
     * ```
     *
     * @default []
     */
    expandedNodes: string[];
    /**
     * Specifies the action on which the node expands or collapses.
     * The available actions :
     * `Click` - The expand/collapse operation happens when you single-click on the node in desktop.
     * `DblClick` - The expand/collapse operation happens when you double-click on the node in desktop.
     * `None` - The expand/collapse operation will not happen.
     * In mobile devices, the node expand/collapse action happens on single tap.
     * Here ExpandOn attribute is set to single click property also can use double click and none property.
     * ```html
     * <div id="tree"></div>
     * ```
     * ```typescript
     * let treeObj: TreeView = new TreeView({
     * fields: { dataSource: hierarchicalData, id: 'id', text: 'name', child: 'subChild' },
     * expandOn: 'Click'
     * });
     * treeObj.appendTo('#tree');
     * ```
     *
     * @default 'Auto'
     */
    expandOn: ExpandOnSettings;
    /**
     * Specifies the data source and mapping fields to render TreeView nodes.
     *
     * @default {id: 'id', text: 'text', dataSource: [], child: 'child', parentID: 'parentID', hasChildren: 'hasChildren',
     *  expanded: 'expanded', htmlAttributes: 'htmlAttributes', iconCss: 'iconCss', imageUrl: 'imageUrl', isChecked: 'isChecked',
     *  query: null, selected: 'selected', tableName: null, tooltip: 'tooltip', navigateUrl: 'navigateUrl'}
     */
    fields: FieldsSettingsModel;
    /**
     * On enabling this property, the entire row of the TreeView node gets selected by clicking a node.
     * When disabled only the corresponding node's text gets selected.
     * For more information on Fields concept, refer to
     * [Fields](../../treeview/data-binding#local-data).
     *
     * @default true
     */
    fullRowSelect: boolean;
    /**
     * By default, the load on demand (Lazy load) is set to true. By disabling this property, all the tree nodes are rendered at the
     * beginning itself.
     *
     * @default true
     */
    loadOnDemand: boolean;
    /**
     * Overrides the global culture and localization value for this component. Default global culture is 'en-US'.
     *
     * @private
     */
    locale: string;
    /**
     * Specifies a template to render customized content for all the nodes. If the `nodeTemplate` property
     * is set, the template content overrides the displayed node text. The property accepts template string
     * [template string](https://ej2.syncfusion.com/documentation/common/template-engine/)
     * or HTML element ID holding the content. For more information on template concept, refer to
     * [Template](../../treeview/template/).
     *
     * @default null
     * @angularType string | object
     * @reactType string | function | JSX.Element
     * @vueType string | function
     * @aspType string
     */
    nodeTemplate: string | Function;
    /**
     * 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).
     * ```html
     * <div id="tree"></div>
     * ```
     * ```typescript
     * let treeObj: TreeView = new TreeView({
     * fields: { dataSource: hierarchicalData, id: 'id', text: 'name', child: 'subChild' },
     * allowMultiSelection: true,
     * selectedNodes: ['01','02']
     * });
     * treeObj.appendTo('#tree');
     * ```
     *
     * @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;
    /**
     * Specifies whether the item should be checked or unchecked when the node is clicked.
     *
     * @default false
     */
    checkOnClick: boolean;
    /**
     * Allow us to specify the parent and child nodes to get auto check while we check or uncheck a node.
     *
     * @default true
     */
    autoCheck: boolean;
    /**
     * If this property is set to true, then the entire TreeView node will be navigate-able instead of text element.
     *
     * @default false
     */
    fullRowNavigable: boolean;
    /**
     * Event callback that is raised while any TreeView action failed to fetch the desired results.
     *
     * @event actionFailure
     */
    actionFailure: base.EmitType<FailureEventArgs>;
    /**
     * Event callback that is raised when the TreeView component is created successfully.
     *
     * @event created
     */
    created: base.EmitType<Object>;
    /**
     * Event callback that is raised when data source is populated in the TreeView.
     *
     * @event dataBound
     */
    dataBound: base.EmitType<DataBoundEventArgs>;
    /**
     * Event callback that is raised when data source is changed in the TreeView. The data source will be changed after performing some operation like
     * drag and drop, node editing, adding and removing node.
     *
     * @event dataSourceChanged
     */
    dataSourceChanged: base.EmitType<DataSourceChangedEventArgs>;
    /**
     * Event callback that is raised before the TreeView node is appended to the TreeView element. It helps to customize specific nodes.
     *
     * @event drawNode
     */
    drawNode: base.EmitType<DrawNodeEventArgs>;
    /**
     * Event callback that is raised when the TreeView control is destroyed successfully.
     *
     * @event destroyed
     */
    destroyed: base.EmitType<Object>;
    /**
     * Event callback that is raised when key press is successful. It helps to customize the operations at key press.
     *
     * @event keyPress
     */
    keyPress: base.EmitType<NodeKeyPressEventArgs>;
    /**
     * Event callback that is raised when the TreeView node is checked/unchecked successfully.
     *
     * @event nodeChecked
     */
    nodeChecked: base.EmitType<NodeCheckEventArgs>;
    /**
     * Event callback that is raised before the TreeView node is to be checked/unchecked.
     *
     * @event nodeChecking
     */
    nodeChecking: base.EmitType<NodeCheckEventArgs>;
    /**
     * Event callback that is raised when the TreeView node is clicked successfully.
     *
     * @event nodeClicked
     */
    nodeClicked: base.EmitType<NodeClickEventArgs>;
    /**
     * Event callback that is raised when the TreeView node collapses successfully.
     *
     * @event nodeCollapsed
     */
    nodeCollapsed: base.EmitType<NodeExpandEventArgs>;
    /**
     * Event callback that is raised before the TreeView node collapses.
     *
     * @event nodeCollapsing
     */
    nodeCollapsing: base.EmitType<NodeExpandEventArgs>;
    /**
     * Event callback that is raised when the TreeView node is dragged (moved) continuously.
     *
     * @deprecated
     * @event nodeDragging
     */
    nodeDragging: base.EmitType<DragAndDropEventArgs>;
    /**
     * Event callback that is raised when the TreeView node drag (move) starts.
     *
     * @event nodeDragStart
     */
    nodeDragStart: base.EmitType<DragAndDropEventArgs>;
    /**
     * Event callback that is raised when the TreeView node drag (move) is stopped.
     *
     * @event nodeDragStop
     */
    nodeDragStop: base.EmitType<DragAndDropEventArgs>;
    /**
     * Event callback that is raised when the TreeView node is dropped on target element successfully.
     *
     * @event nodeDropped
     */
    nodeDropped: base.EmitType<DragAndDropEventArgs>;
    /**
     * Event callback that is raised when the TreeView node is renamed successfully.
     *
     * @event nodeEdited
     */
    nodeEdited: base.EmitType<NodeEditEventArgs>;
    /**
     * Event callback that is raised before the TreeView node is renamed.
     *
     * @event nodeEditing
     */
    nodeEditing: base.EmitType<NodeEditEventArgs>;
    /**
     * Event callback that is raised when the TreeView node expands successfully.
     *
     * @event nodeExpanded
     */
    nodeExpanded: base.EmitType<NodeExpandEventArgs>;
    /**
     * Event callback that is raised before the TreeView node is to be expanded.
     *
     * @event nodeExpanding
     */
    nodeExpanding: base.EmitType<NodeExpandEventArgs>;
    /**
     * Event callback that is raised when the TreeView node is selected/unselected successfully.
     *
     * @event nodeSelected
     */
    nodeSelected: base.EmitType<NodeSelectEventArgs>;
    /**
     * Event callback that is raised before the TreeView node is selected/unselected.
     *
     * @event nodeSelecting
     */
    nodeSelecting: base.EmitType<NodeSelectEventArgs>;
    isFilter: boolean;
    constructor(options?: TreeViewModel, element?: string | HTMLElement);
    /**
     * Get component name.
     *
     * @returns {string} - returns module name.
     * @private
     */
    getModuleName(): string;
    /**
     * Initialize the event handler
     *
     * @returns {void}
     */
    protected preRender(): void;
    /**
     * Get the properties to be maintained in the persisted state.
     *
     * @returns {string} - returns the persisted data
     * @hidden
     */
    getPersistData(): string;
    /**
     * To Initialize the control rendering
     *
     * @private
     * @returns {void}
     */
    protected render(): void;
    private initialize;
    private setDisabledMode;
    private setEnableRtl;
    private setRipple;
    private setFullRow;
    private setMultiSelect;
    private templateComplier;
    private setDataBinding;
    private getQuery;
    private getType;
    private setRootData;
    private isChildObject;
    private renderItems;
    /**
     * Update the checkedNodes from datasource at initial rendering
     *
     * @returns {void}
     */
    private updateCheckedStateFromDS;
    /**
     * To check whether the list data has sub child and to change the parent check state accordingly
     *
     * @param {FieldsSettingsModel} mapper - The mapper object containing field settings.
     * @param {Object[]} checkNodes - The array of checked nodes.
     * @returns {void}
     * @private
     */
    private getCheckedNodeDetails;
    /**
     * Update the checkedNodes and parent state when all the child Nodes are in checkedstate at initial rendering
     *
     * @returns {void}
     * @private
     */
    private updateParentCheckState;
    /**
     * Change the parent to indeterminate state whenever the child is in checked state which is not rendered in DOM
     *
     * @param {Object} data - The data object to check for indeterminate state.
     * @returns {void}
     * @private
     */
    private checkIndeterminateState;
    /**
     * Update the checkedNodes for child and subchild from datasource (hierarchical datasource) at initial rendering
     *
     * @param {Object[]} childItems - The array of child items to update the checked state.
     * @param {Object} treeData - The tree data object containing field values.
     * @returns {void}
     * @private
     */
    private updateChildCheckState;
    private beforeNodeCreate;
    private frameMouseHandler;
    private addActionClass;
    private getDataType;
    private getGroupedData;
    private getSortedData;
    private finalizeNode;
    private updateAttributes;
    private updateCheckedProp;
    private ensureIndeterminate;
    private ensureParentCheckState;
    private getSelectedChildNodeDetails;
    private ensureChildCheckState;
    private doCheckBoxAction;
    private updateFieldChecked;
    /**
     * Changes the parent and child  check state while changing the checkedNodes via setmodel
     *
     * @param {string} node - The unique identifier of the node.
     * @param {boolean} doCheck - A boolean value indicating whether to check or uncheck the node.
     * @returns {void}
     * @private
     */
    private dynamicCheckState;
    /**
     * updates the parent and child  check state while changing the checkedNodes via setmodel for listData
     *
     * @param {string} node - The unique identifier of the node.
     * @param {boolean} doCheck - A boolean value indicating whether to check or uncheck the node.
     * @returns {void}
     * @private
     */
    private updateIndeterminate;
    /**
     * updates the parent and child  check state while changing the checkedNodes via setmodel for hierarchical data
     *
     * @param {Object[]} subChild - Array of child nodes
     * @param {string} parent - Parent identifier
     * @param {string} node - Current node identifier
     * @param {boolean} doCheck - Boolean indicating whether to perform a check
     * @param {string} [child] - Optional child identifier
     * @returns {void}
     * @private
     */
    private updateChildIndeterminate;
    private changeState;
    private nodeCheckAction;
    private addCheck;
    private removeCheck;
    private getCheckEvent;
    private finalize;
    private setTextWrap;
    private updateWrap;
    private calculateWrap;
    private doExpandAction;
    private expandGivenNodes;
    private expandCallback;
    private afterFinalized;
    private doSelectionAction;
    private selectGivenNodes;
    private clickHandler;
    private nodeCheckedEvent;
    private updateOldCheckedData;
    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
     *
     * @param {Object[]} nodes - Array of nodes
     * @returns {void}
     */
    private setSelectionForChildNodes;
    private ensureCheckNode;
    private getFields;
    private getChildFields;
    private getChildMapper;
    private getChildNodes;
    private findChildNodes;
    private findNestedChildNodes;
    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;
    private updateActiveClass;
    /**
     * Update checkedNodes when UI interaction happens before the child node renders in DOM
     *
     * @param {Element} li - The list item element
     * @param {boolean} [doCheck] - Optional parameter to specify whether to perform a check
     * @returns {void}
     */
    private ensureStateChange;
    private checkDisabledState;
    private getChildItems;
    /**
     * Update checkedNodes when UI interaction happens before the child node renders in DOM for hierarchical DS
     *
     * @param {Object[]} childItems - Array of child items
     * @param {string} parent - Parent identifier
     * @param {Element} childElement - Child DOM element
     * @param {boolean} [doCheck] - Optional parameter to specify whether to perform a check
     * @returns {void}
     */
    private childStateChange;
    private allCheckNode;
    private openNode;
    private navigateNode;
    private navigateRootNode;
    private getFocusedNode;
    private focusNextNode;
    private getNextNode;
    private getPrevNode;
    private getRootNode;
    private getEndNode;
    private setFocus;
    private updateIdAttr;
    private focusIn;
    private focusOut;
    private onMouseOver;
    private setHover;
    private onMouseLeave;
    private removeHover;
    private getNodeData;
    private getText;
    private getExpandEvent;
    private renderNodeTemplate;
    private destroyTemplate;
    private reRenderNodes;
    private setCssClass;
    private editingHandler;
    private createTextbox;
    private renderTextBox;
    private updateOldText;
    private inputFocusOut;
    private appendNewText;
    private updateText;
    private getElement;
    private getId;
    private getEditEvent;
    private getNodeObject;
    private getChildNodeObject;
    private setDragAndDrop;
    private initializeDrag;
    private dragCancelAction;
    private getOffsetX;
    private getOffsetY;
    private dragAction;
    private appendIndicator;
    private dropAction;
    private appendNode;
    private dropAsSiblingNode;
    private dropAsChildNode;
    private moveData;
    private expandParent;
    private updateElement;
    private updateAriaLevel;
    private updateChildAriaLevel;
    private renderVirtualEle;
    private removeVirtualEle;
    private destroyDrag;
    private getDragEvent;
    private addFullRow;
    private createFullRow;
    private addMultiSelect;
    private collapseByLevel;
    private collapseAllNodes;
    private expandByLevel;
    private expandAllNodes;
    private getVisibleNodes;
    private removeNode;
    private updateInstance;
    private updateList;
    private updateSelectedNodes;
    private updateExpandedNodes;
    private removeData;
    private removeChildNodes;
    private doGivenAction;
    private addGivenNodes;
    private updateMapper;
    private updateListProp;
    private getDataPos;
    private addChildData;
    private doDisableAction;
    private doEnableAction;
    private nodeType;
    private checkValidId;
    private filterNestedChild;
    private setTouchClass;
    private updatePersistProp;
    private removeField;
    private getMapperProp;
    private updateField;
    private updateChildField;
    private triggerEvent;
    private wireInputEvents;
    private wireEditingEvents;
    private wireClickEvent;
    private wireExpandOnEvent;
    private mouseDownHandler;
    private preventContextMenu;
    private wireEvents;
    private unWireEvents;
    private parents;
    private isDoubleTapped;
    private isDescendant;
    protected showSpinner(element: HTMLElement): void;
    protected hideSpinner(element: HTMLElement): void;
    private setCheckedNodes;
    /**
     * Checks whether the checkedNodes entered are valid and sets the valid checkedNodes while changing via setmodel
     *
     * @param {string} node - The unique identifier of the node.
     * @param {string[]} [nodes=[]] - The list of node IDs to check.
     * @returns {void}
     * @private
     */
    private setValidCheckedNode;
    /**
     * Checks whether the checkedNodes entered are valid and sets the valid checkedNodes while changing via setmodel(for hierarchical DS)
     *
     * @param {Object[]} childItems - The child items to check.
     * @param {string} node - The node to set the check state for.
     * @param {Object} [treeData] - The optional tree data.
     * @param {string[]} [nodes=[]] - The list of node IDs to check.
     * @returns {void}
     * @private
     */
    private setChildCheckState;
    private setIndeterminate;
    private updatePosition;
    private updateChildPosition;
    private dynamicState;
    private crudOperation;
    private deleteSuccess;
    private editSucess;
    private addSuccess;
    private dmFailure;
    private updatePreviousText;
    private getHierarchicalParentId;
    /**
     * Called internally if any of the property value changed.
     *
     * @param {TreeViewModel} newProp - The new property value.
     * @param {TreeViewModel} oldProp - The old property value.
     * @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.
     *
     * @returns {void}
     */
    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  { 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.
     * @returns {void}
     */
    addNodes(nodes: {
        [key: string]: Object;
    }[], target?: string | Element, index?: number, preventTargetExpand?: boolean): void;
    /**
     * Editing can also be enabled by using the `beginEdit` property, instead of clicking on the
     * TreeView node. 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.
     * @returns {void}
     */
    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.
     * @returns {void}
     */
    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.
     * @returns {void}
     */
    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.
     * @returns {void}
     */
    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.
     * @returns {void}
     */
    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.
     * @returns {void}
     */
    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.
     * @param  {boolean} preventAnimation - Prevent the expand animation when expanding all nodes.
     * @returns {void}
     */
    expandAll(nodes?: string[] | Element[], level?: number, excludeHiddenNodes?: boolean, preventAnimation?: boolean): void;
    /**
     * Gets all the checked nodes including child, whether it is loaded or not.
     *
     * @returns {string[]} - An array of strings representing the unique identifiers of checked nodes.
     */
    getAllCheckedNodes(): string[];
    /**
     * Gets all the disabled nodes including child, whether it is loaded or not.
     *
     * @returns {string[]} An array of strings representing the unique identifiers of disabled nodes.
     */
    getDisabledNodes(): string[];
    /**
     * Gets 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.
     * @returns {Object} - The data associated with the specified node.
     */
    getNode(node: string | Element): {
        [key: string]: Object;
    };
    /**
     * To get the updated data source of TreeView after performing some operation like drag and drop, node editing,
     * node selecting/unSelecting, node expanding/collapsing, node checking/unChecking, adding and removing node.
     * * If you pass the ID of TreeView node as arguments for this method then it will return the updated data source
     * of the corresponding node otherwise it will return the entire updated data source of TreeView.
     * * The updated data source also contains custom attributes if you specified in data source.
     *
     * @param  {string | Element} node - Specifies ID of TreeView node/TreeView node.
     * @isGenericType true
     * @returns {Object} - The tree data associated with the specified node or element.
     */
    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.
     * @returns {void}
     */
    moveNodes(sourceNodes: string[] | Element[], target: string | Element, index: number, preventTargetExpand?: boolean): void;
    /**
     * Refreshes a particular node of the TreeView.
     *
     * @param  {string | Element} target - Specifies the ID of TreeView node or TreeView node as target element.
     * @param  {Object[]} newData - Specifies the new data of TreeView node.
     * @returns {void}
     * ```typescript
     * var treeObj = document.getElementById("treeview").ej2_instances[0];
     * var data = treeObj.getTreeData("01");
     * var newData = {
     *   id: data[0].id,
     *   name: "new Text",
     * };
     * treeObj.refreshNode("01", [newData]);
     * ```
     */
    refreshNode(target: string | Element, newData: {
        [key: string]: Object;
    }[]): void;
    /**
     * Removes the collection of TreeView nodes by passing the array of node details as argument to this method.
     *
     * @param  {string[] | Element[]} nodes - Specifies the array of TreeView nodes ID/array of TreeView node.
     * @returns {void}
     */
    removeNodes(nodes: string[] | Element[]): void;
    /**
     * Replaces the text of the TreeView node with the given text only when the `allowEditing` property is enabled.
     *
     * @param  {string | Element} target - Specifies ID of TreeView node/TreeView node as target element.
     * @param  {string} newText - Specifies the new text of TreeView node.
     * @returns {void}
     */
    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.
     * @returns {void}
     */
    uncheckAll(nodes?: string[] | Element[]): void;
    private setNodeFocusable;
}
//node_modules/@syncfusion/ej2-navigations/src/treeview/treeview-model.d.ts
/**
 * Interface for a class FieldsSettings
 */
export interface FieldsSettingsModel {
    /**
     * Binds the field settings for child nodes or mapping field for nested nodes objects that contain array of JSON objects.
     */
    child?: string | FieldsSettingsModel;
    /**
     * Specifies the array of JavaScript objects or instance of data.DataManager to populate the nodes.
     *
     * @default []
     * @aspDatasourceNullIgnore
     * @isGenericType true
     */
    dataSource?: data.DataManager | { [key: string]: Object }[];
    /**
     * Specifies the mapping field for expand state of the TreeView node.
     */
    expanded?: string;
    /**
     * Specifies the mapping field for hasChildren to check whether a node has child nodes or not.
     */
    hasChildren?: string;
    /**
     * Specifies the mapping field for htmlAttributes to be added to the TreeView node.
     */
    htmlAttributes?: string;
    /**
     * Specifies the mapping field for icon class of each TreeView node that will be added before the text.
     */
    iconCss?: string;
    /**
     * Specifies the ID field mapped in dataSource.
     */
    id?: string;
    /**
     * Specifies the mapping field for image URL of each TreeView node where image will be added before the text.
     */
    imageUrl?: string;
    /**
     * Specifies the field for checked state of the TreeView node.
     */
    isChecked?: string;
    /**
     * Specifies the parent ID field mapped in dataSource.
     */
    parentID?: string;
    /**
     * Defines the external [`data.Query`](https://ej2.syncfusion.com/documentation/api/data/query/)
     * that will execute along with data processing.
     *
     * @default null
     */
    query?: data.Query;
    /**
     * Specifies whether the node can be selected by users or not
     * When set to false, the user interaction is prevented for the corresponding node.
     */
    selectable?: string;
    /**
     * Specifies the mapping field for selected state of the TreeView node.
     */
    selected?: string;
    /**
     * Specifies the table name used to fetch data from a specific table in the server.
     */
    tableName?: string;
    /**
     * Specifies the mapping field for text displayed as TreeView node's display text.
     */
    text?: string;
    /**
     * Specifies the mapping field for tooltip that will be displayed as hovering text of the TreeView node.
     */
    tooltip?: string;
    /**
     * Specifies the mapping field for navigateUrl to be added as hyper-link of the TreeView node.
     */
    navigateUrl?: string;
}
/**
 * Interface for a class ActionSettings
 */
export interface ActionSettingsModel {
    /**
     * Specifies the type of animation.
     *
     * @default 'SlideDown'
     */
    effect?: base.Effect;
    /**
     * Specifies the duration to animate.
     *
     * @default 400
     */
    duration?: number;
    /**
     * Specifies the animation timing function.
     *
     * @default 'linear'
     */
    easing?: string;
}
/**
 * Interface for a class NodeAnimationSettings
 */
export interface NodeAnimationSettingsModel {
    /**
     * Specifies the animation that applies on collapsing the nodes.
     *
     * @default { effect: 'SlideUp', duration: 400, easing: 'linear' }
     */
    collapse?: ActionSettingsModel;
    /**
     * Specifies the animation that applies on expanding the nodes.
     *
     * @default { effect: 'SlideDown', duration: 400, easing: 'linear' }
     */
    expand?: ActionSettingsModel;
}
/**
 * Interface for a class TreeView
 */
export interface TreeViewModel extends base.ComponentModel{
    /**
     * Indicates whether the TreeView allows drag and drop of nodes. To drag and drop a node in
     * desktop, hold the mouse on the node, drag it to the target node and drop the node by releasing
     * the mouse. For touch devices, drag and drop operation is performed by touch, touch move
     * and touch end. For more information on drag and drop nodes concept, refer to
     * [Drag and Drop](../../treeview/drag-and-drop/).
     *
     * @default false
     */
    allowDragAndDrop?: boolean;
    /**
     * Enables or disables editing of the text in the TreeView node. When `allowEditing` property is set
     * to true, the TreeView allows you to edit the node by double clicking the node or by navigating to
     * the node and pressing **F2** key. For more information on node editing, refer
     * to [Node Editing](../../treeview/node-editing/).
     *
     * @default false
     */
    allowEditing?: boolean;
    /**
     * Enables or disables multi-selection of nodes. To base.select multiple nodes:
     * * Select the nodes by holding down the **Ctrl** key while clicking on the nodes.
     * * Select consecutive nodes by clicking the first node to base.select and hold down the **Shift** key
     * and click the last node to base.select.
     *
     * For more information on multi-selection, refer to
     * [Multi-Selection](../../treeview/multiple-selection/).
     *
     * @default false
     */
    allowMultiSelection?: boolean;
    /**
     * Enables or disables text wrapping when text exceeds the bounds in the TreeView node.
     * When the allowTextWrap property is set to true, the TreeView node text content will wrap to the next line
     * when it exceeds the width of the TreeView node.
     * The TreeView node height will be adjusted automatically based on the TreeView node content.
     *
     * @default false
     */
    allowTextWrap?: boolean;
    /**
     * Specifies the type of animation applied on expanding and collapsing the nodes along with duration.
     *
     * @default {expand: { effect: 'SlideDown', duration: 400, easing: 'linear' },
     * collapse: { effect: 'SlideUp', duration: 400, easing: 'linear' }}
     */
    animation?: NodeAnimationSettingsModel;
    /**
     * The `checkedNodes` property is used to set the nodes that need to be checked.
     * This property returns the checked nodes ID 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).
     * ```html
     * <div id="tree"></div>
     * ```
     * ```typescript
     * let treeObj$: TreeView = new TreeView({
     * fields: { dataSource: hierarchicalData, id: 'id', text: 'name', child: 'subChild' },
     * showCheckBox: true,
     * checkedNodes: ['01-01','02']
     * });
     * treeObj.appendTo('#tree');
     * ```
     *
     * @default []
     */
    checkedNodes?: string[];
    /**
     * Determines whether the disabled children will be checked or not if their parent is checked.
     *
     * @default true
     */
    checkDisabledChildren?: boolean;
    /**
     * Specifies one or more than one CSS classes to be added with root element of the TreeView to help customize the appearance of the component.
     * ```html
     * <div id="tree"></div>
     * ```
     * ```typescript
     * let treeObj$: TreeView = new TreeView({
     * fields: { dataSource: hierarchicalData, id: 'id', text: 'name', child: 'subChild' },
     * cssClass: 'e-custom e-tree'
     * });
     * treeObj.appendTo('#tree');
     * ```
     * ```css
     * .e-custom .e-tree {
     * max-width: 600px;
     * }
     * .e-custom .e-list-item {
     * padding: 10px 0;
     * }
     * ```
     *
     * @default ''
     */
    cssClass?: string;
    /**
     * Specifies a value that indicates whether the TreeView component is disabled or not.
     * When set to true, user interaction will not be occurred in TreeView.
     *
     * @default false
     */
    disabled?: boolean;
    /**
     * Specifies the target in which the draggable element can be moved and dropped.
     * By default, the draggable element movement occurs in the page.
     * ```html
     * <div id="tree"></div>
     * ```
     * ```typescript
     * let treeObj$: TreeView = new TreeView({
     * fields: { dataSource: hierarchicalData, id: 'id', text: 'name', child: 'subChild' },
     * dragArea: '.control_wrapper'
     * });
     * treeObj.appendTo('#tree');
     * ```
     * ```css
     * .control_wrapper {
     * width: 500px;
     * margin-left: 100px;
     * }
     * ```
     *
     * @default null
     */
    dragArea?: HTMLElement | string;
    /**
     * Specifies whether to display or base.remove the untrusted HTML values in the TreeView component.
     * If 'enableHtmlSanitizer' set to true, the component will sanitize any suspected untrusted strings and scripts before rendering them.
     * ```html
     * <div id="tree"></div>
     * ```
     * ```typescript
     * let treeObj$: TreeView = new TreeView({
     * fields: { dataSource: hierarchicalData, id: 'id', text: 'name', child: 'subChild' },
     * enableHtmlSanitizer: true
     * });
     * treeObj.appendTo('#tree');
     * ```
     *
     * @default true
     */
    enableHtmlSanitizer?: boolean;
    /**
     * Enables or disables persisting TreeView state between page reloads. If enabled, following APIs will persist.
     * 1. `selectedNodes` - Represents the nodes that are selected in the TreeView component.
     * 2. `checkedNodes`  - Represents the nodes that are checked in the TreeView component.
     * 3. `expandedNodes` - Represents the nodes that are expanded in the TreeView component.
     *
     * @default false
     */
    enablePersistence?: boolean;
    /**
     * Represents the expanded nodes in the TreeView component. We can set the nodes that need to be
     * expanded or get the ID of the nodes that are currently expanded by using this property.
     * ```html
     * <div id='tree'></div>
     * ```
     * ```typescript
     * <script>
     * var treeObj =  new TreeView({
     * fields: { dataSource: hierarchicalData, id: 'id', text: 'name', child: 'subChild' },
     * expandedNodes: ['01','01-01','02']
     * });
     * treeObj.appendTo('#tree');
     * </script>
     * ```
     *
     * @default []
     */
    expandedNodes?: string[];
    /**
     * Specifies the action on which the node expands or collapses.
     * The available actions :
     * `Click` - The expand/collapse operation happens when you single-click on the node in desktop.
     * `DblClick` - The expand/collapse operation happens when you double-click on the node in desktop.
     * `None` - The expand/collapse operation will not happen.
     * In mobile devices, the node expand/collapse action happens on single tap.
     * Here ExpandOn attribute is set to single click property also can use double click and none property.
     * ```html
     * <div id="tree"></div>
     * ```
     * ```typescript
     * let treeObj$: TreeView = new TreeView({
     * fields: { dataSource: hierarchicalData, id: 'id', text: 'name', child: 'subChild' },
     * expandOn: 'Click'
     * });
     * treeObj.appendTo('#tree');
     * ```
     *
     * @default 'Auto'
     */
    expandOn?: ExpandOnSettings;
    /**
     * Specifies the data source and mapping fields to render TreeView nodes.
     *
     * @default {id: 'id', text: 'text', dataSource: [], child: 'child', parentID: 'parentID', hasChildren: 'hasChildren',
     *  expanded: 'expanded', htmlAttributes: 'htmlAttributes', iconCss: 'iconCss', imageUrl: 'imageUrl', isChecked: 'isChecked',
     *  query: null, selected: 'selected', tableName: null, tooltip: 'tooltip', navigateUrl: 'navigateUrl'}
     */
    fields?: FieldsSettingsModel;
    /**
     * On enabling this property, the entire row of the TreeView node gets selected by clicking a node.
     * When disabled only the corresponding node's text gets selected.
     * For more information on Fields concept, refer to
     * [Fields](../../treeview/data-binding#local-data).
     *
     * @default true
     */
    fullRowSelect?: boolean;
    /**
     * By default, the load on demand (Lazy load) is set to true. By disabling this property, all the tree nodes are rendered at the
     * beginning itself.
     *
     * @default true
     */
    loadOnDemand?: boolean;
    /**
     * Overrides the global culture and localization value for this component. Default global culture is 'en-US'.
     *
     * @private
     */
    locale?: string;
    /**
     * Specifies a template to render customized content for all the nodes. If the `nodeTemplate` property
     * is set, the template content overrides the displayed node text. The property accepts template string
     * [template string](https://ej2.syncfusion.com/documentation/common/template-engine/)
     * or HTML element ID holding the content. For more information on template concept, refer to
     * [Template](../../treeview/template/).
     *
     * @default null
     * @angularType string | object
     * @reactType string | function | JSX.Element
     * @vueType string | function
     * @aspType string
     */
    nodeTemplate?: string | Function;
    /**
     * 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).
     * ```html
     * <div id="tree"></div>
     * ```
     * ```typescript
     * let treeObj$: TreeView = new TreeView({
     * fields: { dataSource: hierarchicalData, id: 'id', text: 'name', child: 'subChild' },
     * allowMultiSelection: true,
     * selectedNodes: ['01','02']
     * });
     * treeObj.appendTo('#tree');
     * ```
     *
     * @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;
    /**
     * Specifies whether the item should be checked or unchecked when the node is clicked.
     *
     * @default false
     */
    checkOnClick?: boolean;
    /**
     * Allow us to specify the parent and child nodes to get auto check while we check or uncheck a node.
     *
     * @default true
     */
    autoCheck?: boolean;
    /**
     * If this property is set to true, then the entire TreeView node will be navigate-able instead of text element.
     *
     * @default false
     */
    fullRowNavigable?: boolean;
    /**
     * base.Event callback that is raised while any TreeView action failed to fetch the desired results.
     *
     * @event actionFailure
     */
    actionFailure?: base.EmitType<FailureEventArgs>;
    /**
     * base.Event callback that is raised when the TreeView component is created successfully.
     *
     * @event created
     */
    created?: base.EmitType<Object>;
    /**
     * base.Event callback that is raised when data source is populated in the TreeView.
     *
     * @event dataBound
     */
    dataBound?: base.EmitType<DataBoundEventArgs>;
    /**
     * base.Event callback that is raised when data source is changed in the TreeView. The data source will be changed after performing some operation like
     * drag and drop, node editing, adding and removing node.
     *
     * @event dataSourceChanged
     */
    dataSourceChanged?: base.EmitType<DataSourceChangedEventArgs>;
    /**
     * base.Event callback that is raised before the TreeView node is appended to the TreeView element. It helps to customize specific nodes.
     *
     * @event drawNode
     */
    drawNode?: base.EmitType<DrawNodeEventArgs>;
    /**
     * base.Event callback that is raised when the TreeView control is destroyed successfully.
     *
     * @event destroyed
     */
    destroyed?: base.EmitType<Object>;
    /**
     * base.Event callback that is raised when key press is successful. It helps to customize the operations at key press.
     *
     * @event keyPress
     */
    keyPress?: base.EmitType<NodeKeyPressEventArgs>;
    /**
     * base.Event callback that is raised when the TreeView node is checked/unchecked successfully.
     *
     * @event nodeChecked
     */
    nodeChecked?: base.EmitType<NodeCheckEventArgs>;
    /**
     * base.Event callback that is raised before the TreeView node is to be checked/unchecked.
     *
     * @event nodeChecking
     */
    nodeChecking?: base.EmitType<NodeCheckEventArgs>;
    /**
     * base.Event callback that is raised when the TreeView node is clicked successfully.
     *
     * @event nodeClicked
     */
    nodeClicked?: base.EmitType<NodeClickEventArgs>;
    /**
     * base.Event callback that is raised when the TreeView node collapses successfully.
     *
     * @event nodeCollapsed
     */
    nodeCollapsed?: base.EmitType<NodeExpandEventArgs>;
    /**
     * base.Event callback that is raised before the TreeView node collapses.
     *
     * @event nodeCollapsing
     */
    nodeCollapsing?: base.EmitType<NodeExpandEventArgs>;
    /**
     * base.Event callback that is raised when the TreeView node is dragged (moved) continuously.
     *
     * @deprecated
     * @event nodeDragging
     */
    nodeDragging?: base.EmitType<DragAndDropEventArgs>;
    /**
     * base.Event callback that is raised when the TreeView node drag (move) starts.
     *
     * @event nodeDragStart
     */
    nodeDragStart?: base.EmitType<DragAndDropEventArgs>;
    /**
     * base.Event callback that is raised when the TreeView node drag (move) is stopped.
     *
     * @event nodeDragStop
     */
    nodeDragStop?: base.EmitType<DragAndDropEventArgs>;
    /**
     * base.Event callback that is raised when the TreeView node is dropped on target element successfully.
     *
     * @event nodeDropped
     */
    nodeDropped?: base.EmitType<DragAndDropEventArgs>;
    /**
     * base.Event callback that is raised when the TreeView node is renamed successfully.
     *
     * @event nodeEdited
     */
    nodeEdited?: base.EmitType<NodeEditEventArgs>;
    /**
     * base.Event callback that is raised before the TreeView node is renamed.
     *
     * @event nodeEditing
     */
    nodeEditing?: base.EmitType<NodeEditEventArgs>;
    /**
     * base.Event callback that is raised when the TreeView node expands successfully.
     *
     * @event nodeExpanded
     */
    nodeExpanded?: base.EmitType<NodeExpandEventArgs>;
    /**
     * base.Event callback that is raised before the TreeView node is to be expanded.
     *
     * @event nodeExpanding
     */
    nodeExpanding?: base.EmitType<NodeExpandEventArgs>;
    /**
     * base.Event callback that is raised when the TreeView node is selected/unselected successfully.
     *
     * @event nodeSelected
     */
    nodeSelected?: base.EmitType<NodeSelectEventArgs>;
    /**
     * base.Event callback that is raised before the TreeView node is selected/unselected.
     *
     * @event nodeSelecting
     */
    nodeSelecting?: base.EmitType<NodeSelectEventArgs>;
}
//node_modules/@syncfusion/ej2-navigations/src/toolbar/toolbar.d.ts
/**
 * Specifies the options for supporting element types of Toolbar command.
 * ```props
 * 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.
 * ```
 */
export  type ItemType = 'Button' | 'Separator' | 'Input';
/**
 * Specifies the options of where the text will be displayed in popup mode of the Toolbar.
 * ```props
 * 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.
 * ```
 */
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.
 * ```props
 * 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.
 * ```
 */
export  type OverflowOption = 'None' | 'Show' | 'Hide';
/**
 * Specifies the options of Toolbar display mode. Display option is considered when Toolbar content exceeds the available space.
 * ```props
 * 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.
 * ```
 */
export  type OverflowMode = 'Scrollable' | 'Popup' | 'MultiRow' | 'Extended';
/**
 * Specifies the options for aligning the Toolbar items.
 * ```props
 * 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.
 * ```
 */
export  type ItemAlign = 'Left' | 'Center' | 'Right';
/** An interface that holds options to control the toolbar clicked action. */
export interface ClickEventArgs extends base.BaseEventArgs {
    /** Defines the current Toolbar Item Object. */
    item: ItemModel;
    /**
     * Defines the current Event arguments.
     */
    originalEvent: Event;
    /** Defines the prevent action. */
    cancel?: boolean;
}
/** An interface that holds options to control before the toolbar create. */
export interface BeforeCreateArgs extends base.BaseEventArgs {
    /** Enable or disable the popup collision. */
    enableCollision: boolean;
    /** Specifies the scrolling distance in scroller. */
    scrollStep: number;
}
/**
 * An item object that is used to configure Toolbar commands.
 */
export  class Item extends base.ChildProperty<Item> {
    /**
     * Specifies the unique ID to be used with button or input element of Toolbar items.
     *
     * @default ""
     */
    id: string;
    /**
     * Specifies the text to be displayed on the Toolbar button.
     *
     * @default ""
     */
    text: string;
    /**
     * Specifies the width of the Toolbar button commands.
     *
     * @default 'auto'
     */
    width: number | string;
    /**
     * Defines single/multiple classes (separated by space) to be used for customization of commands.
     *
     * @default ""
     */
    cssClass: string;
    /**
     * Defines the priority of items to display it in popup always.
     * It allows to maintain toolbar item on popup always but it does not work for toolbar priority items.
     *
     * @default false
     */
    showAlwaysInPopup: boolean;
    /**
     * Specifies whether an item should be disabled or not.
     *
     * @default false
     */
    disabled: boolean;
    /**
     * Defines single/multiple classes separated by space used to specify an icon for the button.
     * The icon will be positioned before the text content if text is available, otherwise the icon alone will be rendered.
     *
     * @default ""
     */
    prefixIcon: string;
    /**
     * Defines single/multiple classes separated by space used to specify an icon for the button.
     * The icon will be positioned after the text content if text is available.
     *
     * @default ""
     */
    suffixIcon: string;
    /**
     * Specifies whether an item should be hidden or not.
     *
     * @default true
     */
    visible: boolean;
    /**
     * Specifies the Toolbar command display area when an element's content is too large to fit available space.
     * This is applicable only to `popup` mode. The possible values for this property as follows
     * * `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 ""
     * @angularType string | object
     * @reactType string | function | JSX.Element
     * @vueType string | function
     * @aspType string
     */
    template: string | Object | Function;
    /**
     * 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.
     * The possible values for this property as follows
     * * `Toolbar`:  Text will be displayed on *Toolbar* only.
     * * `Overflow`: Text will be displayed only when content overflows to *popup*.
     * * `Both`: Text will be displayed on *popup* and *Toolbar*.
     *
     * @default 'Both'
     */
    showTextOn: DisplayMode;
    /**
     * Defines htmlAttributes used to add custom attributes to Toolbar command.
     * Supports HTML attributes such as style, class, etc.
     *
     * @default null
     */
    htmlAttributes: {
        [key: string]: string;
    };
    /**
     * Specifies the text to be displayed on hovering the Toolbar button.
     *
     * @default ""
     */
    tooltipText: string;
    /**
     * Specifies the location for aligning Toolbar items on the Toolbar. Each command will be aligned according to the `align` property.
     * The possible values for this property as follows
     * * `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"
     * @aspPopulateDefaultValue
     */
    align: ItemAlign;
    /**
     * Event triggers when `click` the toolbar item.
     *
     * @event click
     */
    click: base.EmitType<ClickEventArgs>;
    /**
     * Specifies the tab order of the Toolbar items. When positive values assigned, it allows to switch focus to the next/previous toolbar items with Tab/ShiftTab keys.
     * By default, user can able to switch between items only via arrow keys.
     * If the value is set to 0 for all tool bar items, then tab switches based on element order.
     *
     * @default -1
     */
    tabIndex: number;
}
/**
 * The Toolbar control contains a group of commands that are aligned horizontally.
 * ```html
 * <div id="toolbar"/>
 * <script>
 *   var toolbarObj = new Toolbar();
 *   toolbarObj.appendTo("#toolbar");
 * </script>
 * ```
 */
export  class Toolbar extends base.Component<HTMLElement> implements base.INotifyPropertyChanged {
    private trgtEle;
    private ctrlTem;
    private popObj;
    private tbarEle;
    private tbarAlgEle;
    private tbarAlign;
    private tbarEleMrgn;
    private tbResize;
    private offsetWid;
    private keyModule;
    private scrollModule;
    private activeEle;
    private popupPriCount;
    private tbarItemsCol;
    private isVertical;
    private tempId;
    private isExtendedOpen;
    private clickEvent;
    private scrollEvent;
    private resizeContext;
    private orientationChangeContext;
    /**
     * Contains the keyboard configuration of the Toolbar.
     */
    private keyConfigs;
    /**
     * An array of items that is used to configure Toolbar commands.
     *
     * @default []
     */
    items: ItemModel[];
    /**
     * Specifies the width of the Toolbar in pixels/numbers/percentage. Number value is considered as pixels.
     *
     * @default 'auto'
     */
    width: string | number;
    /**
     * Specifies the height of the Toolbar in pixels/number/percentage. Number value is considered as pixels.
     *
     * @default 'auto'
     */
    height: string | number;
    /**
     * Sets the CSS classes to root element of the Tab that helps to customize component styles.
     *
     * @default ''
     */
    cssClass: string;
    /**
     * Specifies the Toolbar display mode when Toolbar content exceeds the viewing area.
     * The possible values for this property as follows
     * - 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.
     *
     * {% codeBlock src='toolbar/scrollStep/index.md' %}{% endcodeBlock %}
     *
     * @default null
     */
    scrollStep: number;
    /**
     * Enable or disable the popup collision.
     *
     * @default true
     */
    enableCollision: boolean;
    /**
     * Defines whether to allow the cross-scripting site or not.
     *
     * @default true
     */
    enableHtmlSanitizer: boolean;
    /**
     * When this property is set to true, it allows the keyboard interaction in toolbar.
     *
     * @default true
     */
    allowKeyboard: boolean;
    /**
     * The event will be fired on clicking the Toolbar elements.
     *
     * @event clicked
     */
    clicked: base.EmitType<ClickEventArgs>;
    /**
     * The event will be fired when the control is rendered.
     *
     * @event created
     */
    created: base.EmitType<Event>;
    /**
     * The event will be fired when the control gets destroyed.
     *
     * @event destroyed
     */
    destroyed: base.EmitType<Event>;
    /**
     * The event will be fired before the control is rendered on a page.
     *
     * @event beforeCreate
     */
    beforeCreate: base.EmitType<BeforeCreateArgs>;
    /**
     * Removes the control from the DOM and also removes all its related events.
     *
     * @returns {void}.
     */
    destroy(): void;
    /**
     * Initialize the event handler
     *
     * @private
     * @returns {void}
     */
    protected preRender(): void;
    /**
     * Initializes a new instance of the Toolbar class.
     *
     * @param {ToolbarModel} options  - Specifies Toolbar model properties as options.
     * @param { string | HTMLElement} element  - Specifies the element that is rendered as a Toolbar.
     */
    constructor(options?: ToolbarModel, element?: string | HTMLElement);
    private wireEvents;
    private wireKeyboardEvent;
    private updateTabIndex;
    private unwireKeyboardEvent;
    private docKeyDown;
    private unwireEvents;
    private clearProperty;
    private docEvent;
    private destroyScroll;
    private destroyItems;
    private destroyMode;
    private add;
    private remove;
    private elementFocus;
    private clstElement;
    private keyHandling;
    private keyActionHandler;
    /**
     * Specifies the value to disable/enable the Toolbar component.
     * When set to `true`, the component will be disabled.
     *
     * @param  {boolean} value - Based on this Boolean value, Toolbar will be enabled (false) or disabled (true).
     * @returns {void}.
     */
    disable(value: boolean): void;
    private eleContains;
    private focusFirstVisibleEle;
    private focusLastVisibleEle;
    private eleFocus;
    private clickHandler;
    private popupClickHandler;
    private getToolbarPopupWidth;
    /**
     * To Initialize the control rendering
     *
     * @private
     * @returns {void}
     */
    protected render(): void;
    private initialize;
    private renderControl;
    private renderLayout;
    private itemsAlign;
    /**
     * @hidden
     * @returns {void}
     */
    changeOrientation(): void;
    private initScroll;
    private itemWidthCal;
    private getScrollCntEle;
    private checkOverflow;
    /**
     * Refresh the whole Toolbar component without re-rendering.
     * - It is used to manually refresh the Toolbar overflow modes such as scrollable, popup, multi row, and extended.
     * - It will refresh the Toolbar component after loading items dynamically.
     *
     * @returns {void}.
     */
    refreshOverflow(): void;
    private toolbarAlign;
    private renderOverflowMode;
    private setOverflowAttributes;
    private separator;
    private createPopupEle;
    private pushingPoppedEle;
    private createPopup;
    private getElementOffsetY;
    private popupInit;
    private tbarPopupHandler;
    private popupOpen;
    private popupClose;
    private checkPriority;
    private createPopupIcon;
    private tbarPriRef;
    private popupRefresh;
    private ignoreEleFetch;
    private checkPopupRefresh;
    private popupEleWidth;
    private popupEleRefresh;
    private removePositioning;
    private refreshPositioning;
    private itemPositioning;
    private tbarItemAlign;
    private ctrlTemplate;
    private renderItems;
    private setAttr;
    /**
     * Enables or disables the specified Toolbar item.
     *
     * @param  {number|HTMLElement|NodeList} items - DOM element or an array of items to be enabled or disabled.
     * @param  {boolean} isEnable  - Boolean value that determines whether the command should be enabled or disabled.
     * By default, `isEnable` is set to true.
     * @returns {void}.
     */
    enableItems(items: number | HTMLElement | NodeList, isEnable?: boolean): void;
    private getElementByIndex;
    /**
     * Adds new items to the Toolbar that accepts an array as Toolbar items.
     *
     * @param  {ItemModel[]} items - DOM element or an array of items to be added to the Toolbar.
     * @param  {number} index - Number value that determines where the command is to be added. By default, index is 0.
     * @returns {void}.
     */
    addItems(items: ItemModel[], index?: number): void;
    /**
     * Removes the items from the Toolbar. Acceptable arguments are index of item/HTMLElement/node list.
     *
     * @param  {number|HTMLElement|NodeList|HTMLElement[]} args
     * Index or DOM element or an Array of item which is to be removed from the Toolbar.
     * @returns {void}.
     */
    removeItems(args: number | HTMLElement | NodeList | Element | HTMLElement[]): void;
    private removeItemByIndex;
    private templateRender;
    private buttonRendering;
    private renderSubComponent;
    private getDataTabindex;
    private itemClick;
    private activeEleSwitch;
    private activeEleRemove;
    protected getPersistData(): string;
    /**
     * Returns the current module name.
     *
     * @returns {string} - Returns the module name as string.
     * @private
     */
    protected getModuleName(): string;
    private itemsRerender;
    private resize;
    private orientationChange;
    private extendedOpen;
    private updateHideEleTabIndex;
    private clearToolbarTemplate;
    /**
     * Gets called when the model property changes.The data that describes the old and new values of the property that changed.
     *
     * @param  {ToolbarModel} newProp - It contains new value of the data.
     * @param  {ToolbarModel} oldProp - It contains old value of the data.
     * @returns {void}
     * @private
     */
    onPropertyChanged(newProp: ToolbarModel, oldProp: ToolbarModel): void;
    /**
     * Shows or hides the Toolbar item that is in the specified index.
     *
     * @param  {number | HTMLElement} index - Index value of target item or DOM element  of items to be hidden or shown.
     * @param  {boolean} value - Based on this Boolean value, item will be hide (true) or show (false). By default, value is false.
     * @returns {void}.
     */
    hideItem(index: number | HTMLElement | Element, value?: boolean): void;
}
//node_modules/@syncfusion/ej2-navigations/src/toolbar/toolbar-model.d.ts
/**
 * Interface for a class Item
 */
export interface ItemModel {
    /**
     * Specifies the unique ID to be used with button or input element of Toolbar items.
     *
     * @default ""
     */
    id?: string;
    /**
     * Specifies the text to be displayed on the Toolbar button.
     *
     * @default ""
     */
    text?: string;
    /**
     * Specifies the width of the Toolbar button commands.
     *
     * @default 'auto'
     */
    width?: number | string;
    /**
     * Defines single/multiple classes (separated by space) to be used for customization of commands.
     *
     * @default ""
     */
    cssClass?: string;
    /**
     * Defines the priority of items to display it in popup always.
     * It allows to maintain toolbar item on popup always but it does not work for toolbar priority items.
     *
     * @default false
     */
    showAlwaysInPopup?: boolean;
    /**
     * Specifies whether an item should be disabled or not.
     *
     * @default false
     */
    disabled?: boolean;
    /**
     * Defines single/multiple classes separated by space used to specify an icon for the button.
     * The icon will be positioned before the text content if text is available, otherwise the icon alone will be rendered.
     *
     * @default ""
     */
    prefixIcon?: string;
    /**
     * Defines single/multiple classes separated by space used to specify an icon for the button.
     * The icon will be positioned after the text content if text is available.
     *
     * @default ""
     */
    suffixIcon?: string;
    /**
     * Specifies whether an item should be hidden or not.
     *
     * @default true
     */
    visible?: boolean;
    /**
     * Specifies the Toolbar command display area when an element's content is too large to fit available space.
     * This is applicable only to `popup` mode. The possible values for this property as follows
     * * `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 ""
     * @angularType string | object
     * @reactType string | function | JSX.Element
     * @vueType string | function
     * @aspType string
     */
    template?: string | Object | Function;
    /**
     * 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.
     * The possible values for this property as follows
     * * `Toolbar`:  Text will be displayed on *Toolbar* only.
     * * `Overflow`: Text will be displayed only when content overflows to *popup*.
     * * `Both`: Text will be displayed on *popup* and *Toolbar*.
     *
     * @default 'Both'
     */
    showTextOn?: DisplayMode;
    /**
     * Defines htmlAttributes used to add custom base.attributes to Toolbar command.
     * Supports HTML base.attributes such as style, class, etc.
     *
     * @default null
     */
    htmlAttributes?: { [key: string]: string };
    /**
     * Specifies the text to be displayed on hovering the Toolbar button.
     *
     * @default ""
     */
    tooltipText?: string;
    /**
     * Specifies the location for aligning Toolbar items on the Toolbar. Each command will be aligned according to the `align` property.
     * The possible values for this property as follows
     * * `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"
     * @aspPopulateDefaultValue
     */
    align?: ItemAlign;
    /**
     * base.Event triggers when `click` the toolbar item.
     *
     * @event click
     */
    click?: base.EmitType<ClickEventArgs>;
    /**
     * Specifies the tab order of the Toolbar items. When positive values assigned, it allows to switch focus to the next/previous toolbar items with Tab/ShiftTab keys.
     * By default, user can able to switch between items only via arrow keys.
     * If the value is set to 0 for all tool bar items, then tab switches based on element order.
     *
     * @default -1
     */
    tabIndex?: number;
}
/**
 * Interface for a class Toolbar
 */
export interface ToolbarModel extends base.ComponentModel{
    /**
     * An array of items that is used to configure Toolbar commands.
     *
     * @default []
     */
    items?: ItemModel[];
    /**
     * Specifies the width of the Toolbar in pixels/numbers/percentage. Number value is considered as pixels.
     *
     * @default 'auto'
     */
    width?: string | number;
    /**
     * Specifies the height of the Toolbar in pixels/number/percentage. Number value is considered as pixels.
     *
     * @default 'auto'
     */
    height?: string | number;
    /**
     * Sets the CSS classes to root element of the Tab that helps to customize component styles.
     *
     * @default ''
     */
    cssClass?: string;
    /**
     * Specifies the Toolbar display mode when Toolbar content exceeds the viewing area.
     * The possible values for this property as follows
     * - 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.
     *
     * {% codeBlock src='toolbar/scrollStep/index.md' %}{% endcodeBlock %}
     *
     * @default null
     */
    scrollStep?: number;
    /**
     * Enable or disable the popup collision.
     *
     * @default true
     */
    enableCollision?: boolean;
    /**
     * Defines whether to allow the cross-scripting site or not.
     *
     * @default true
     */
    enableHtmlSanitizer?: boolean;
    /**
     * When this property is set to true, it allows the keyboard interaction in toolbar.
     *
     * @default true
     */
    allowKeyboard?: boolean;
    /**
     * The event will be fired on clicking the Toolbar elements.
     *
     * @event clicked
     */
    clicked?: base.EmitType<ClickEventArgs>;
    /**
     * The event will be fired when the control is rendered.
     *
     * @event created
     */
    created?: base.EmitType<Event>;
    /**
     * The event will be fired when the control gets destroyed.
     *
     * @event destroyed
     */
    destroyed?: base.EmitType<Event>;
    /**
     * The event will be fired before the control is rendered on a page.
     *
     * @event beforeCreate
     */
    beforeCreate?: base.EmitType<BeforeCreateArgs>;
}
//node_modules/@syncfusion/ej2-navigations/src/tab/tab.d.ts
 type HTEle = HTMLElement;
/**
 * Specifies the orientation of the Tab header.
 * ```props
 * Top :- Places the Tab header on the top.
 * Bottom :- Places the Tab header on the bottom.
 * Left :- Places the Tab header on the left.
 * Right :- Places the Tab header on the right.
 * ```
 */
export  type HeaderPosition = 'Top' | 'Bottom' | 'Left' | 'Right';
/**
 * Options to set the content element height adjust modes.
 * ```props
 * 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 :- Content element take height based on the parent height.
 * ```
 */
export  type HeightStyles = 'None' | 'Auto' | 'Content' | 'Fill';
/**
 * Enables or disables the tab swiping action through Touch and Mouse.
 * - `Both`: Enables swiping for both touch and mouse input.
 * - `Touch`: Enables swiping only for touch input.
 * - `Mouse`: Enables swiping only for mouse input.
 * - `None`: Disables swiping for both touch and mouse input.
 */
export  type TabSwipeMode = 'Both' | 'Touch' | 'Mouse' | 'None';
/**
 * Specifies the options of Tab content display mode.
 * ```props
 * Demand :- The content of the selected tab alone is loaded initially. The content of the tabs which were loaded once will be maintained in the DOM.
 * Dynamic :- Only the content of the selected tab is loaded and available in the DOM, and it will be replaced with the corresponding content if the tab is selected dynamically.
 * Init :- The content of all the tabs are rendered on the initial load and maintained in the DOM.
 * ```
 */
export  type ContentLoad = 'Dynamic' | 'Init' | 'Demand';
/** An interface that holds options to control the selected item action. */
export interface SelectEventArgs extends base.BaseEventArgs {
    /** Defines the previous Tab item element. */
    previousItem: HTMLElement;
    /** Defines the previous Tab item index. */
    previousIndex: number;
    /** Defines the selected Tab item element. */
    selectedItem: HTMLElement;
    /** Defines the selected Tab item index. */
    selectedIndex: number;
    /** Defines the content selection done through swiping. */
    isSwiped: boolean;
    /** Defines the prevent action. */
    cancel?: boolean;
    /** Defines the selected content. */
    selectedContent: HTMLElement;
    /** Determines whether the event is triggered via user interaction or programmatic way. True, if the event is triggered by user interaction. */
    isInteracted?: boolean;
    /** Determines whether the Tab item needs to focus or not after it is selected */
    preventFocus?: boolean;
}
/** An interface that holds options to control the selecting item action. */
export interface SelectingEventArgs extends SelectEventArgs {
    /** Defines the selecting Tab item element. */
    selectingItem: HTMLElement;
    /** Defines the selecting Tab item index. */
    selectingIndex: number;
    /** Defines the selecting Tab item content. */
    selectingContent: HTMLElement;
    /** Defines the type of the event. */
    event?: Event;
}
/** An interface that holds options to control the removing and removed item action. */
export interface RemoveEventArgs extends base.BaseEventArgs {
    /** Defines the removed Tab item element. */
    removedItem: HTMLElement;
    /** Defines the removed Tab item index. */
    removedIndex: number;
    /** Defines the prevent action. */
    cancel?: boolean;
}
/** An interface that holds options to control the adding and added item action. */
export interface AddEventArgs extends base.BaseEventArgs {
    /** Defines the added Tab item element */
    addedItems: TabItemModel[];
    /** Defines the prevent action. */
    cancel?: boolean;
}
/** An interface that holds option to control the dragging and dragged item action. */
export interface DragEventArgs extends base.BaseEventArgs {
    /** Defines the current dragged Tab item. */
    draggedItem: HTMLElement;
    /** Defines the dropped Tab item. */
    droppedItem: HTMLElement;
    /** defines the Dragged Tab item index. */
    index: number;
    /** Return the actual event. */
    event: MouseEvent;
    /** Return the target element */
    target: HTMLElement;
    /** Return the clone element */
    clonedElement: HTMLElement;
    /** Defines the prevent action. */
    cancel?: boolean;
}
/**
 * Objects used for configuring the Tab selecting item action properties.
 */
export  class TabActionSettings extends base.ChildProperty<TabActionSettings> {
    /**
     * Specifies the animation effect for displaying Tab content.
     *
     * @default 'SlideLeftIn'
     * @aspType string
     */
    effect: 'None' | base.Effect;
    /**
     * Specifies the time duration to transform content.
     *
     * @default 600
     */
    duration: number;
    /**
     * Specifies easing effect applied while transforming content.
     *
     * @default 'ease'
     */
    easing: string;
}
/**
 * Objects used for configuring the Tab animation properties.
 */
export  class TabAnimationSettings extends base.ChildProperty<TabAnimationSettings> {
    /**
     * Specifies the animation to appear while moving to previous Tab content.
     *
     * @default { effect: 'SlideLeftIn', duration: 600, easing: 'ease' }
     */
    previous: TabActionSettingsModel;
    /**
     * Specifies the animation to appear while moving to next Tab content.
     *
     * @default { effect: 'SlideRightIn', duration: 600, easing: 'ease' }
     */
    next: TabActionSettingsModel;
}
/**
 * Objects used for configuring the Tab item header properties.
 */
export  class Header extends base.ChildProperty<Header> {
    /**
     * Specifies the display text of the Tab item header.
     *
     * @default ''
     */
    text: string | HTMLElement;
    /**
     * Specifies the icon class that is used to render an icon in the Tab header.
     *
     * @default ''
     */
    iconCss: string;
    /**
     * Options for positioning the icon in the Tab item header. This property depends on `iconCss` property.
     * The possible values for this property as follows
     * * `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
     * @angularType string | object
     * @reactType string | function | JSX.Element
     * @vueType string | function
     * @aspType string
     */
    headerTemplate: string | Function;
    /**
     * Specifies the content of Tab item, that is displayed when concern item header is selected.
     *
     * @default ''
     * @angularType string | object
     * @reactType string | function | JSX.Element
     * @vueType string | function
     * @aspType string
     */
    content: string | HTMLElement | Function;
    /**
     * Sets the CSS classes to the Tab item to customize its styles.
     *
     * @default ''
     */
    cssClass: string;
    /**
     * Sets true to disable user interactions of the Tab item.
     *
     * @default false
     */
    disabled: boolean;
    /**
     * Sets false to hide the Tab item.
     *
     * @default true
     */
    visible: boolean;
    /**
     * Sets unique ID to Tab item.
     *
     * @default null
     */
    id: string;
    /**
     * Specifies the tab order of the Tabs items. When positive values assigned, it allows to switch focus to the next/previous tabs items with Tab/ShiftTab keys.
     * By default, user can able to switch between items only via arrow keys.
     * If the value is set to 0 for all tabs items, then tab switches based on element order.
     *
     * @default -1
     */
    tabIndex: number;
}
/**
 * Tab is a content panel to show multiple contents in a single space, one at a time.
 * Each Tab item has an associated content, that will be displayed based on the active Tab header item.
 * ```html
 * <div id="tab"></div>
 * <script>
 *   var tabObj = new Tab();
 *   tab.appendTo("#tab");
 * </script>
 * ```
 */
export  class Tab extends base.Component<HTMLElement> implements base.INotifyPropertyChanged {
    private hdrEle;
    private cntEle;
    private tbObj;
    tabId: string;
    private tbItems;
    private tbItem;
    private tbPop;
    private isTemplate;
    private isPopup;
    private isReplace;
    private prevIndex;
    private prevItem;
    private popEle;
    private actEleId;
    private bdrLine;
    private popObj;
    private btnCls;
    private cnt;
    private show;
    private hide;
    private enableAnimation;
    private keyModule;
    private tabKeyModule;
    private touchModule;
    private maxHeight;
    private title;
    private initRender;
    private isInteracted;
    private prevActiveEle;
    private lastIndex;
    private isSwiped;
    private isNested;
    private itemIndexArray;
    private templateEle;
    private scrCntClass;
    private isAdd;
    private content;
    private selectedID;
    private selectingID;
    private isIconAlone;
    private dragItem;
    private cloneElement;
    private droppedIndex;
    private draggingItems;
    private draggableItems;
    private tbId;
    private resizeContext;
    /**
     * Contains the keyboard configuration of the Tab.
     */
    private keyConfigs;
    /**
     * An array of object that is used to configure the Tab component.
     *
     * {% codeBlock src='tab/items/index.md' %}{% endcodeBlock %}
     *
     * @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;
    /**
     * Defines whether the tab transition should occur or not when performing Touch/Mouse swipe action.
     *
     * @remarks
     * - `Both`: Enables swiping for both touch and mouse input.
     * - `Touch`: Enables swiping only for touch input.
     * - `Mouse`: Enables swiping only for mouse input.
     * - `None`: Disables swiping for both touch and mouse input.
     *
     * @default "Both"
     */
    swipeMode: TabSwipeMode;
    /**
     * 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.
     *
     * {% codeBlock src='tab/selectedItem/index.md' %}{% endcodeBlock %}
     *
     * @default 0
     */
    selectedItem: number;
    /**
     * Specifies the orientation of Tab header.
     * The possible values for this property as follows
     * * `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 for this property as follows
     * * `None`: Based on the given height property, the content panel height is set.
     * * `Auto`: Tallest panel height of a given Tab content is set to all the other panels.
     * * `Content`: Based on the corresponding content height, the content panel height is set.
     * * `Fill`: Based on the parent height, the content panel height is set.
     *
     * @default 'Content'
     */
    heightAdjustMode: HeightStyles;
    /**
     * Specifies the Tab display mode when Tab content exceeds the viewing area.
     * The possible modes are:
     * * `Scrollable`: All the elements are displayed in a single line with horizontal scrolling enabled.
     * * `Popup`: Tab container holds the items that can be placed within the available space and rest of the items are moved to the popup.
     * If the popup content overflows the height of the page, the rest of the elements can be viewed by scrolling the popup.
     *
     * @default 'Scrollable'
     */
    overflowMode: OverflowMode;
    /**
     * Specifies the modes for Tab content.
     * The possible modes are:
     * * `Demand` - The content of the selected tab alone is loaded initially. The content of the tabs which were loaded once will be maintained in the DOM.
     * * `Dynamic` - Only the content of the selected tab is loaded and available in the DOM, and it will be replaced with the corresponding content if the tab is selected dynamically.
     * * `Init` - The content of all the tabs are rendered on the initial load and maintained in the DOM.
     *
     * @default 'Demand'
     */
    loadOn: ContentLoad;
    /**
     * Enable or disable persisting component's state between page reloads.
     * If enabled, following list of states will be persisted.
     * 1. selectedItem
     *
     * @default false
     */
    enablePersistence: boolean;
    /**
     * Specifies whether to enable the rendering of untrusted HTML values in the Tab component.
     * When this property is enabled, the component will sanitize any suspected untrusted strings and scripts before rendering them.
     *
     * @default true
     */
    enableHtmlSanitizer: boolean;
    /**
     * Specifies whether to show the close button for header items to remove the item from the Tab.
     *
     * @default false
     */
    showCloseButton: boolean;
    /**
     * Determines whether to re-order tab items to show active tab item in the header area or popup when OverflowMode is Popup.
     *  True, if active tab item should be visible in header area instead of pop-up. The default value is true.
     *
     * @default true
     */
    reorderActiveTab: boolean;
    /**
     * Specifies the scrolling distance in scroller.
     *
     * @default null
     */
    scrollStep: number;
    /**
     * Defines the area in which the draggable element movement will be occurring. Outside that area will be restricted
     * for the draggable element movement. By default, the draggable element movement occurs in the toolbar.
     *
     * @default null
     */
    dragArea: string;
    /**
     * Sets true to allow drag and drop the Tab items
     *
     * @default false
     */
    allowDragAndDrop: boolean;
    /**
     * Specifies whether the templates need to be cleared or not while changing the Tab items dynamically.
     * @default true
     */
    clearTemplates: boolean;
    /**
     * Specifies the animation configuration settings while showing the content of the Tab.
     *
     * @default
     * { previous: { effect: 'SlideLeftIn', duration: 600, easing: 'ease' },
     * next: { effect: 'SlideRightIn', duration: 600, easing: 'ease' } }
     */
    animation: TabAnimationSettingsModel;
    /**
     * The event will be fired once the component rendering is completed.
     *
     * @event
     */
    created: base.EmitType<Event>;
    /**
     * The event will be fired before adding the item to the Tab.
     *
     * @event
     */
    adding: base.EmitType<AddEventArgs>;
    /**
     * The event will be fired after adding the item to the Tab.
     *
     * @event
     */
    added: base.EmitType<AddEventArgs>;
    /**
     * The event will be fired before the item gets selected.
     *
     * @event
     */
    selecting: base.EmitType<SelectingEventArgs>;
    /**
     * The event will be fired after the item gets selected.
     *
     * @event
     */
    selected: base.EmitType<SelectEventArgs>;
    /**
     * The event will be fired before removing the item from the Tab.
     *
     * @event
     */
    removing: base.EmitType<RemoveEventArgs>;
    /**
     * The event will be fired after removing the item from the Tab.
     *
     * @event
     */
    removed: base.EmitType<RemoveEventArgs>;
    /**
     * The event will be fired before dragging the item from Tab
     * @event
     */
    onDragStart: base.EmitType<DragEventArgs>;
    /**
     * The event will be fired while dragging the Tab item
     * @event
     */
    dragging: base.EmitType<DragEventArgs>;
    /**
     * The event will be fired after dropping the Tab item
     * @event
     */
    dragged: base.EmitType<DragEventArgs>;
    /**
     * The event will be fired when the component gets destroyed.
     *
     * @event
     */
    destroyed: base.EmitType<Event>;
    /**
     * Removes the component from the DOM and detaches all its related event handlers, attributes and classes.
     *
     * @returns {void}
     */
    destroy(): void;
    /**
     * Refresh the tab component
     *
     * @returns {void}
     */
    refresh(): void;
    /**
     * Reorganizes and adjusts the Tab headers to fit the available width without re-rendering the entire Tab component.
     *
     * This method is useful for optimizing the layout when:
     * - A hidden tab item becomes visible.
     * - The number of tab items changes dynamically.
     *
     * @returns {void} This method does not return a value.
     */
    refreshOverflow(): void;
    /**
     * Initialize component
     *
     * @private
     * @returns {void}
     */
    protected preRender(): void;
    /**
     * Initializes a new instance of the Tab class.
     *
     * @param {TabModel} options  - Specifies Tab model properties as options.
     * @param {string | HTMLElement} element  - Specifies the element that is rendered as a Tab.
     */
    constructor(options?: TabModel, element?: string | HTMLElement);
    /**
     * Initialize the component rendering
     *
     * @private
     * @returns {void}
     */
    protected render(): void;
    private renderContainer;
    private renderHeader;
    private createContentElement;
    private renderContent;
    private reRenderItems;
    private parseObject;
    private removeActiveClass;
    private checkPopupOverflow;
    private popupHandler;
    private setCloseButton;
    private prevCtnAnimation;
    private triggerPrevAnimation;
    private triggerAnimation;
    private keyPressed;
    private getTabHeader;
    private getEleIndex;
    private extIndex;
    private getMaxIndicesFromItems;
    private expTemplateContent;
    private templateCompile;
    private compileElement;
    private headerTextCompile;
    private getContent;
    private getTrgContent;
    private findEle;
    private isVertical;
    private addVerticalClass;
    private updatePopAnimationConfig;
    private changeOrientation;
    private focusItem;
    private changeToolbarOrientation;
    private setOrientation;
    private setCssClass;
    private loadContentInitMode;
    private loadContentElement;
    private setContentHeight;
    private getHeight;
    private setActiveBorder;
    private setActive;
    private setItems;
    private setRTL;
    private refreshActiveBorder;
    private showPopup;
    private bindDraggable;
    private bindSwipeEvents;
    private wireEvents;
    private unWireEvents;
    private clickHandler;
    private swipeHandler;
    private spaceKeyDown;
    private keyHandler;
    private refreshItemVisibility;
    private getIndexFromEle;
    private hoverHandler;
    private evalOnPropertyChangeItems;
    private clearTabTemplate;
    private initializeDrag;
    private helper;
    private itemDragStart;
    private dragAction;
    private itemDragStop;
    /**
     * Enables or disables the specified Tab item. On passing value as `false`, the item will be disabled.
     *
     * @param {number} index - Index value of target Tab item.
     * @param {boolean} value - Boolean value that determines whether the command should be enabled or disabled.
     * By default, isEnable is true.
     * @returns {void}.
     */
    enableTab(index: number, value: boolean): void;
    /**
     * Adds new items to the Tab that accepts an array as Tab items.
     *
     * @param {TabItemModel[]} items - An array of item that is added to the Tab.
     * @param {number} index - Number value that determines where the items to be added. By default, index is 0.
     * @returns {void}.
     */
    addTab(items: TabItemModel[], index?: number): void;
    private addingTabContent;
    /**
     * Removes the items in the Tab from the specified index.
     *
     * @param {number} index - Index of target item that is going to be removed.
     * @returns {void}.
     */
    removeTab(index: number): void;
    /**
     * Shows or hides the Tab that is in the specified index.
     *
     * @param {number} index - Index value of target item.
     * @param {boolean} value - Based on this Boolean value, item will be hide (true) or show (false). By default, value is true.
     * @returns {void}.
     */
    hideTab(index: number, value?: boolean): void;
    private selectTab;
    /**
     * Specifies the index or HTMLElement to select an item from the Tab.
     *
     * @param {number | HTMLElement} args - Index or DOM element is used for selecting an item from the Tab.
     * @param {Event} event - An event which takes place in DOM.
     * @returns {void}
     */
    select(args: number | HTEle, event?: Event): void;
    private getSelectingTabIndex;
    private selectingContent;
    /**
     * Gets the item index from the Tab.
     *
     * @param  {string} tabItemId - Item ID is used for getting index from the Tab.
     * @returns {number} - It returns item index.
     */
    getItemIndex(tabItemId: string): number;
    /**
     * Specifies the value to disable/enable the Tab component.
     * When set to `true`, the component will be disabled.
     *
     * @param  {boolean} value - Based on this Boolean value, Tab will be enabled (false) or disabled (true).
     * @returns {void}.
     */
    disable(value: boolean): void;
    /**
     * Get the properties to be maintained in the persisted state.
     *
     * @returns {string} - It returns the persisted state.
     */
    protected getPersistData(): string;
    /**
     * Returns the current module name.
     *
     * @returns {string} - It returns the current module name.
     * @private
     */
    protected getModuleName(): string;
    /**
     * Gets called when the model property changes.The data that describes the old and new values of the property that changed.
     *
     * @param  {TabModel} newProp - It contains the new value of data.
     * @param  {TabModel} oldProp - It contains the old value of data.
     * @returns {void}
     * @private
     */
    onPropertyChanged(newProp: TabModel, oldProp: TabModel): void;
    /**
     * To refresh the active tab contents.
     *
     * @returns {void}
     */
    refreshActiveTab(): void;
    /**
     * To refresh the active tab indicator.
     *
     * @returns {void}
     */
    refreshActiveTabBorder(): void;
}
//node_modules/@syncfusion/ej2-navigations/src/tab/tab-model.d.ts
/**
 * Interface for a class TabActionSettings
 */
export interface TabActionSettingsModel {
    /**
     * Specifies the animation effect for displaying Tab content.
     *
     * @default 'SlideLeftIn'
     * @aspType string
     */
    effect?: 'None' | base.Effect;
    /**
     * Specifies the time duration to transform content.
     *
     * @default 600
     */
    duration?: number;
    /**
     * Specifies easing effect applied while transforming content.
     *
     * @default 'ease'
     */
    easing?: string;
}
/**
 * Interface for a class TabAnimationSettings
 */
export interface TabAnimationSettingsModel {
    /**
     * Specifies the animation to appear while moving to previous Tab content.
     *
     * @default { effect: 'SlideLeftIn', duration: 600, easing: 'ease' }
     */
    previous?: TabActionSettingsModel;
    /**
     * Specifies the animation to appear while moving to next Tab content.
     *
     * @default { effect: 'SlideRightIn', duration: 600, easing: 'ease' }
     */
    next?: TabActionSettingsModel;
}
/**
 * Interface for a class Header
 */
export interface HeaderModel {
    /**
     * Specifies the display text of the Tab item header.
     *
     * @default ''
     */
    text?: string | HTMLElement;
    /**
     * Specifies the icon class that is used to render an icon in the Tab header.
     *
     * @default ''
     */
    iconCss?: string;
    /**
     * Options for positioning the icon in the Tab item header. This property depends on `iconCss` property.
     * The possible values for this property as follows
     * * `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
     * @angularType string | object
     * @reactType string | function | JSX.Element
     * @vueType string | function
     * @aspType string
     */
    headerTemplate?: string | Function;
    /**
     * Specifies the content of Tab item, that is displayed when concern item header is selected.
     *
     * @default ''
     * @angularType string | object
     * @reactType string | function | JSX.Element
     * @vueType string | function
     * @aspType string
     */
    content?: string | HTMLElement | Function;
    /**
     * Sets the CSS classes to the Tab item to customize its styles.
     *
     * @default ''
     */
    cssClass?: string;
    /**
     * Sets true to disable user interactions of the Tab item.
     *
     * @default false
     */
    disabled?: boolean;
    /**
     * Sets false to hide the Tab item.
     *
     * @default true
     */
    visible?: boolean;
    /**
     * Sets unique ID to Tab item.
     *
     * @default null
     */
    id?: string;
    /**
     * Specifies the tab order of the Tabs items. When positive values assigned, it allows to switch focus to the next/previous tabs items with Tab/ShiftTab keys.
     * By default, user can able to switch between items only via arrow keys.
     * If the value is set to 0 for all tabs items, then tab switches based on element order.
     *
     * @default -1
     */
    tabIndex?: number;
}
/**
 * Interface for a class Tab
 */
export interface TabModel extends base.ComponentModel{
    /**
     * An array of object that is used to configure the Tab component.
     * 
     * {% codeBlock src='tab/items/index.md' %}{% endcodeBlock %}
     *
     * @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;
    /**
     * Defines whether the tab transition should occur or not when performing base.Touch/Mouse swipe action. 
     *  
     * @remarks 
     * - `Both`: Enables swiping for both touch and mouse input. 
     * - `base.Touch`: Enables swiping only for touch input. 
     * - `Mouse`: Enables swiping only for mouse input. 
     * - `None`: Disables swiping for both touch and mouse input. 
     * 
     * @default "Both"
     */ 
    swipeMode?: TabSwipeMode;
    /**
     * 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.
     * 
     * {% codeBlock src='tab/selectedItem/index.md' %}{% endcodeBlock %}   
     *
     * @default 0
     */
    selectedItem?: number;
    /**
     * Specifies the orientation of Tab header.
     * The possible values for this property as follows
     * * `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 for this property as follows
     * * `None`: Based on the given height property, the content panel height is set.
     * * `Auto`: Tallest panel height of a given Tab content is set to all the other panels.
     * * `Content`: Based on the corresponding content height, the content panel height is set.
     * * `Fill`: Based on the parent height, the content panel height is set.
     *
     * @default 'Content'
     */
    heightAdjustMode?: HeightStyles;
    /**
     * Specifies the Tab display mode when Tab content exceeds the viewing area.
     * The possible modes are:
     * * `Scrollable`: All the elements are displayed in a single line with horizontal scrolling enabled.
     * * `popups.Popup`: Tab container holds the items that can be placed within the available space and rest of the items are moved to the popup.
     * If the popup content overflows the height of the page, the rest of the elements can be viewed by scrolling the popup.
     *
     * @default 'Scrollable'
     */
    overflowMode?: OverflowMode;
    /**
     * Specifies the modes for Tab content.
     * The possible modes are:
     * * `Demand` - The content of the selected tab alone is loaded initially. The content of the tabs which were loaded once will be maintained in the DOM.
     * * `Dynamic` - Only the content of the selected tab is loaded and available in the DOM, and it will be replaced with the corresponding content if the tab is selected dynamically.
     * * `Init` - The content of all the tabs are rendered on the initial load and maintained in the DOM.
     *
     * @default 'Demand'
     */
    loadOn?: ContentLoad;
    /**
     * Enable or disable persisting component's state between page reloads.
     * If enabled, following list of states will be persisted.
     * 1. selectedItem
     *
     * @default false
     */
    enablePersistence?: boolean;
    /**
     * Specifies whether to enable the rendering of untrusted HTML values in the Tab component.
     * When this property is enabled, the component will sanitize any suspected untrusted strings and scripts before rendering them.
     *
     * @default true
     */
    enableHtmlSanitizer?: boolean;
    /**
     * Specifies whether to show the close button for header items to base.remove the item from the Tab.
     *
     * @default false
     */
    showCloseButton?: boolean;
    /**
     * Determines whether to re-order tab items to show active tab item in the header area or popup when OverflowMode is popups.Popup.
     *  True, if active tab item should be visible in header area instead of pop-up. The default value is true.
     *
     * @default true
     */
    reorderActiveTab?: boolean;
    /**
     * Specifies the scrolling distance in scroller.
     *
     * @default null
     */
    scrollStep?: number;
    /**
     * Defines the area in which the draggable element movement will be occurring. Outside that area will be restricted
     * for the draggable element movement. By default, the draggable element movement occurs in the toolbar.
     * 
     * @default null
     */
    dragArea?: string;
    /**
     * Sets true to allow drag and drop the Tab items
     * 
     * @default false
     */
    allowDragAndDrop?: boolean;
    /**
     * Specifies whether the templates need to be cleared or not while changing the Tab items dynamically.
     * @default true
     */
    clearTemplates?: boolean;
    /**
     * Specifies the animation configuration settings while showing the content of the Tab.
     *
     * @default
     * { previous: { effect: 'SlideLeftIn', duration: 600, easing: 'ease' },
     * next: { effect: 'SlideRightIn', duration: 600, easing: 'ease' } }
     */
    animation?: TabAnimationSettingsModel;
    /**
     * The event will be fired once the component rendering is completed.
     *
     * @event
     */
    created?: base.EmitType<Event>;
    /**
     * The event will be fired before adding the item to the Tab.
     *
     * @event
     */
    adding?: base.EmitType<AddEventArgs>;
    /**
     * The event will be fired after adding the item to the Tab.
     *
     * @event
     */
    added?: base.EmitType<AddEventArgs>;
    /**
     * The event will be fired before the item gets selected.
     *
     * @event
     */
    selecting?: base.EmitType<SelectingEventArgs>;
    /**
     * The event will be fired after the item gets selected.
     *
     * @event
     */
    selected?: base.EmitType<SelectEventArgs>;
    /**
     * The event will be fired before removing the item from the Tab.
     *
     * @event
     */
    removing?: base.EmitType<RemoveEventArgs>;
    /**
     * The event will be fired after removing the item from the Tab.
     *
     * @event
     */
    removed?: base.EmitType<RemoveEventArgs>;
    /**
     * The event will be fired before dragging the item from Tab
     * @event
     */
    onDragStart?: base.EmitType<DragEventArgs>;
    /**
     * The event will be fired while dragging the Tab item
     * @event
     */
    dragging?: base.EmitType<DragEventArgs>;
    /**
     * The event will be fired after dropping the Tab item
     * @event
     */
    dragged?: base.EmitType<DragEventArgs>;
    /**
     * The event will be fired when the component gets destroyed.
     *
     * @event
     */
    destroyed?: base.EmitType<Event>;
}
//node_modules/@syncfusion/ej2-navigations/src/stepper-base/stepper-base.d.ts
/**
 * Defines the status of the step.
 */
export  enum StepStatus {
    /**
     * Shows the status of the step is not started.
     */
    NotStarted = "NotStarted",
    /**
     * Shows the step is in progress.
     */
    InProgress = "InProgress",
    /**
     * Shows the status of the step is completed.
     */
    Completed = "Completed"
}
/**
 * Specifies the steps of the Stepper.
 */
export  class Step extends base.ChildProperty<Step> {
    /**
     * Defines the CSS class to customize the step appearance.
     *
     * @default ''
     */
    cssClass: string;
    /**
     * Defines whether a step is enabled or disabled.
     *
     * @default false
     */
    disabled: boolean;
    /**
     * Defines the icon content of the step.
     *
     * @default ''
     */
    iconCss: string;
    /**
     * Defines the state whether it is valid completion or not.
     *
     * @aspType bool?
     * @default null
     */
    isValid: boolean;
    /**
     * Defines the label content of the step.
     *
     * @default ''
     */
    label: string;
    /**
     * Defines whether the step is optionally to skip completion or not.
     *
     * @default false
     */
    optional: boolean;
    /**
     * Defines the status of the step.
     * The possible values are
     * * NotStarted
     * * InProgress
     * * Completed
     *
     * @isenumeration true
     * @default StepStatus.NotStarted
     * @asptype StepStatus
     */
    status: string | StepStatus;
    /**
     * Defines the text content of the step.
     *
     * @default ''
     */
    text: string;
}
/**
 * Defines the orientation type of the Stepper.
 */
export  enum StepperOrientation {
    /**
     * Steps are displayed horizontally.
     */
    Horizontal = "Horizontal",
    /**
     * Steps are displayed vertically.
     */
    Vertical = "Vertical"
}
/**
 * StepperBase component act as base class to the stepper component.
 */
export  class StepperBase extends base.Component<HTMLElement> implements base.INotifyPropertyChanged {
    /**
     * Defines the list of steps.
     *
     * @default []
     */
    steps: StepModel[];
    /**
     * Defines the CSS class to customize the Stepper appearance.
     *
     * @default ''
     */
    cssClass: string;
    /**
     * Defines whether the read-only mode is enabled for a Stepper control, which means that the user will not be able to interact with it.
     *
     * @default false
     */
    readOnly: boolean;
    /**
     * Defines the orientation type of the Stepper.
     *
     * The possible values are:
     * * Horizontal
     * * vertical
     *
     * @isenumeration true
     * @default StepperOrientation.Horizontal
     * @asptype StepperOrientation
     */
    orientation: string | StepperOrientation;
    /**
     * Event callback that is raised after rendering the stepper.
     *
     * @event created
     */
    created: base.EmitType<Event>;
    protected progressStep: HTMLElement;
    protected progressbar: HTMLElement;
    protected progressBarPosition: number;
    /**
     * * Constructor for Base class
     *
     * @param {StepperBaseModel} options - Specifies the Base model.
     * @param {string | HTMLElement} element - Specifies the element to render as component.
     * @private
     */
    constructor(options?: StepperBaseModel, element?: string | HTMLElement);
    /**
     * This method is abstract member of the base.Component<HTMLElement>.
     *
     * @private
     * @returns {void}
     */
    protected preRender(): void;
    /**
     * This method is abstract member of the base.Component<HTMLElement>.
     *
     * @private
     * @returns {string} - It returns the current module name.
     */
    getModuleName(): string;
    /**
     * This method is abstract member of the base.Component<HTMLElement>.
     *
     * @private
     * @returns {string} - It returns the persisted data.
     */
    protected getPersistData(): string;
    /**
     * This method is abstract member of the base.Component<HTMLElement>.
     *
     * @private
     * @returns {void}
     */
    protected render(): void;
    protected updateOrientaion(wrapper: HTMLElement): void;
    protected renderProgressBar(wrapper: HTMLElement): void;
    protected setProgressPosition(wrapper: HTMLElement, isResize?: boolean): void;
    /**
     * This method is abstract member of the base.Component<HTMLElement>.
     *
     * @param  {StepperBaseModel} newProp - Specifies new properties
     * @param  {StepperBaseModel} oldProp - Specifies old properties
     * @private
     * @returns {void}
     */
    onPropertyChanged(newProp: StepperBaseModel, oldProp: StepperBaseModel): void;
}
//node_modules/@syncfusion/ej2-navigations/src/stepper-base/stepper-base-model.d.ts
/**
 * Interface for a class Step
 */
export interface StepModel {
    /**
     * Defines the CSS class to customize the step appearance.
     *
     * @default ''
     */
    cssClass?: string;
    /**
     * Defines whether a step is enabled or disabled.
     *
     * @default false
     */
    disabled?: boolean;
    /**
     * Defines the icon content of the step.
     *
     * @default ''
     */
    iconCss?: string;
    /**
     * Defines the state whether it is valid completion or not.
     *
     * @aspType bool?
     * @default null
     */
    isValid?: boolean;
    /**
     * Defines the label content of the step.
     *
     * @default ''
     */
    label?: string;
    /**
     * Defines whether the step is optionally to skip completion or not.
     *
     * @default false
     */
    optional?: boolean;
    /**
     * Defines the status of the step.
     * The possible values are
     * * NotStarted
     * * InProgress
     * * Completed
     *
     * @isenumeration true
     * @default StepStatus.NotStarted
     * @asptype StepStatus
     */
    status?: string | StepStatus;
    /**
     * Defines the text content of the step.
     *
     * @default ''
     */
    text?: string;
}
/**
 * Interface for a class StepperBase
 */
export interface StepperBaseModel extends base.ComponentModel{
    /**
     * Defines the list of steps.
     *
     * @default []
     */
    steps?: StepModel[];
    /**
     * Defines the CSS class to customize the Stepper appearance.
     *
     * @default ''
     */
    cssClass?: string;
    /**
     * Defines whether the read-only mode is enabled for a Stepper control, which means that the user will not be able to interact with it.
     *
     * @default false
     */
    readOnly?: boolean;
    /**
     * Defines the orientation type of the Stepper.
     *
     * The possible values are:
     * * Horizontal
     * * vertical
     *
     * @isenumeration true
     * @default StepperOrientation.Horizontal
     * @asptype StepperOrientation
     */
    orientation?: string | StepperOrientation;
    /**
     * base.Event callback that is raised after rendering the stepper.
     *
     * @event created
     */
    created?: base.EmitType<Event>;
}
//node_modules/@syncfusion/ej2-navigations/src/stepper/stepper.d.ts

/**
 * Defines the step progress animation of the Stepper.
 */
export  class StepperAnimationSettings extends base.ChildProperty<StepperAnimationSettings> {
    /**
     * Defines whether a animation is enabled or disabled.
     *
     * @default true
     */
    enable: boolean;
    /**
     * duration in milliseconds
     *
     * @default 2000
     * @aspType int
     */
    duration: number;
    /**
     * delay in milliseconds
     *
     * @default 0
     * @aspType int
     */
    delay: number;
}
/**
 * Defines the label position in the Stepper.
 */
export  enum StepLabelPosition {
    /**
     * Displays the label on top position regardless of the Stepper's orientation.
     */
    Top = "Top",
    /**
     * Displays the label on bottom position regardless of the Stepper's orientation.
     */
    Bottom = "Bottom",
    /**
     * Displays the label on left side regardless of the Stepper's orientation.
     */
    Start = "Start",
    /**
     * Displays the label on right side regardless of the Stepper's orientation.
     */
    End = "End"
}
/**
 * Defines whether steps are display with only indicator, only labels or combination of both.
 */
export  enum StepType {
    /**
     * Steps are shown indicator with label defined.
     */
    Default = "Default",
    /**
     * Steps are shown with only label.
     */
    Label = "Label",
    /**
     * Steps are shown with only indicator.
     */
    Indicator = "Indicator"
}
/**
 * Provides information about stepChanged event callback.
 */
export interface StepperChangedEventArgs extends base.BaseEventArgs {
    /**
     * Provides the original event.
     */
    event: Event;
    /**
     * Provides whether the change is triggered by user interaction.
     */
    isInteracted: boolean;
    /**
     * Provides the index of the previous step.
     */
    previousStep: number;
    /**
     * Provides the index of the current step.
     */
    activeStep: number;
    /**
     * Provides the stepper element.
     */
    element: HTMLElement;
}
/**
 * Provides information about stepChanging event callback.
 */
export interface StepperChangingEventArgs extends StepperChangedEventArgs {
    /**
     * Provides whether the change has been prevented or not. Default value is false.
     */
    cancel: boolean;
}
/**
 * Provides information about stepClick event callback.
 */
export interface StepperClickEventArgs extends base.BaseEventArgs {
    /**
     * Provides the original event.
     */
    event: Event;
    /**
     * Provides the index of the previous step.
     */
    previousStep: number;
    /**
     * Provides the index of the current step.
     */
    activeStep: number;
    /**
     * Provides the stepper element.
     */
    element: HTMLElement;
}
/**
 * Provides information about beforeStepRender event callback.
 */
export interface StepperRenderingEventArgs extends base.BaseEventArgs {
    /**
     * Provides the stepper element.
     */
    element: HTMLElement;
    /**
     * Provides the index of the current step.
     */
    index: number;
}
/**
 * The Stepper component visualizes several steps and indicates the current progress by highlighting already completed steps.
 *
 * ```html
 * <nav id="stepper"></nav>
 * ```
 * ```typescript
 * <script>
 *   let stepperObj: Stepper = new Stepper({steps : [{}, {}, {}, {}, {}]});
 *   stepperObj.appendTo('#stepper');
 * </script>
 * ```
 */
export  class Stepper extends StepperBase implements base.INotifyPropertyChanged {
    /**
     * Defines the current step index of the Stepper.
     *
     * {% codeBlock src='stepper/activeStep/index.md' %}{% endcodeBlock %}
     *
     * @default 0
     * @aspType int
     */
    activeStep: number;
    /**
     * Defines the step progress animation of the Stepper.
     *
     * {% codeBlock src='stepper/animation/index.md' %}{% endcodeBlock %}
     *
     */
    animation: StepperAnimationSettingsModel;
    /**
     * Defines whether allows to complete one step in order to move to the next or not.
     *
     * {% codeBlock src='stepper/linear/index.md' %}{% endcodeBlock %}
     *
     * @default false
     */
    linear: boolean;
    /**
     * Defines a value that defines whether to show tooltip or not on each step.
     *
     * @default false
     */
    showTooltip: boolean;
    /**
     * Defines the template content for each step.
     *
     * {% codeBlock src='stepper/template/index.md' %}{% endcodeBlock %}
     *
     * @default ''
     * @angularType string | object
     * @reactType string | function | JSX.Element
     * @vueType string | function
     * @aspType string
     */
    template: string | Function;
    /**
     * Defines the template content for the tooltip.
     *
     * @default ''
     * @angularType string | object
     * @reactType string | function | JSX.Element
     * @vueType string | function
     * @aspType string
     */
    tooltipTemplate: string | Function;
    /**
     * Defines the label position in the Stepper.
     *
     * The possible values are:
     * * Top
     * * Bottom
     * * Start
     * * End
     *
     * {% codeBlock src='stepper/labelPosition/index.md' %}{% endcodeBlock %}
     *
     * @isenumeration true
     * @default StepLabelPosition.Bottom
     * @asptype StepLabelPosition
     */
    labelPosition: string | StepLabelPosition;
    /**
     * Defines whether steps are display with only indicator, only labels or combination of both.
     *
     * The possible values are:
     * * Default
     * * Label
     * * Indicator
     *
     * {% codeBlock src='stepper/stepType/index.md' %}{% endcodeBlock %}
     *
     * @isenumeration true
     * @default StepType.Default
     * @asptype StepType
     */
    stepType: string | StepType;
    /**
     * Event triggers after active step changed.
     *
     * @event stepChanged
     */
    stepChanged: base.EmitType<StepperChangedEventArgs>;
    /**
     * Event triggers before active step change.
     *
     * @event stepChanging
     */
    stepChanging: base.EmitType<StepperChangingEventArgs>;
    /**
     * Event triggers when clicked on step.
     *
     * @event stepClick
     */
    stepClick: base.EmitType<StepperClickEventArgs>;
    /**
     * Event triggers before rendering each step.
     *
     * @event beforeStepRender
     */
    beforeStepRender: base.EmitType<StepperRenderingEventArgs>;
    private stepperItemList;
    private stepperItemContainer;
    private labelContainer;
    private textContainer;
    private stepperItemElements;
    private beforeLabelWidth;
    private textEleWidth;
    private tooltipObj;
    private tooltipOpen;
    private templateFunction;
    private keyboardModuleStepper;
    private keyConfigs;
    private l10n;
    private isKeyNavFocus;
    /**
     * * Constructor for creating the Stepper component.
     *
     * @param {StepperModel} options - Specifies the Stepper model.
     * @param {string | HTMLElement} element - Specifies the element to render as component.
     * @private
     */
    constructor(options?: StepperModel, element?: string | HTMLElement);
    protected preRender(): void;
    /**
     * To get component name.
     *
     * @returns {string} - It returns the current module name.
     * @private
     */
    getModuleName(): string;
    protected render(): void;
    private initialize;
    private initiateProgressBar;
    private updatePosition;
    private renderDefault;
    private updateAnimation;
    private updateStepType;
    private wireEvents;
    private unWireEvents;
    private updateResize;
    private updateStepFocus;
    private updateStepperStatus;
    private updateStatusClass;
    private renderItems;
    private createTextLabelElement;
    private calculateProgressBarPosition;
    private checkValidState;
    private updateCurrentLabel;
    private updateLabelPosition;
    private clearLabelPosition;
    private checkValidStep;
    private updateTooltip;
    private wireItemsEvents;
    private unWireItemsEvents;
    private linearModeHandler;
    private openStepperTooltip;
    private closeStepperTooltip;
    private updateTooltipContent;
    private stepClickHandler;
    private updateTemplateFunction;
    private renderItemContent;
    private removeItemContent;
    private updateContent;
    /**
     * Gets template content based on the template property value.
     *
     * @param {string | Function} template - Template property value.
     * @returns {Function} - Return template function.
     * @hidden
     */
    private getTemplateFunction;
    private navigateToStep;
    private navigationHandler;
    private calculateProgressbarPos;
    private updateIndicatorStatus;
    private updateStepInteractions;
    private removeItemElements;
    /**
     * Move to next step from current step in Stepper.
     *
     * @returns {void}
     */
    nextStep(): void;
    /**
     * Move to previous step from current step in Stepper.
     *
     * @returns {void}
     */
    previousStep(): void;
    /**
     * Reset the state of the Stepper and move to the first step.
     *
     * @returns {void}
     */
    reset(): void;
    /**
     * Refreshes the position of the progress bar programmatically when the dimensions of the parent container are changed.
     *
     * @returns {void}
     */
    refreshProgressbar(): void;
    private updateElementClassArray;
    /**
     * Destroy the stepper control.
     *
     * @returns {void}
     */
    destroy(): void;
    private wireKeyboardEvent;
    private keyActionHandler;
    private handleNavigation;
    private renderStepperItems;
    private updateDynamicSteps;
    private updateDynamicActiveStep;
    private updateDynamicCssClass;
    /**
     * Called internally if any of the property value changed.
     *
     * @param  {StepperModel} newProp - Specifies new properties
     * @param  {StepperModel} oldProp - Specifies old properties
     * @returns {void}
     * @private
     */
    onPropertyChanged(newProp: StepperModel, oldProp?: StepperModel): void;
}
//node_modules/@syncfusion/ej2-navigations/src/stepper/stepper-model.d.ts
/**
 * Interface for a class StepperAnimationSettings
 */
export interface StepperAnimationSettingsModel {
    /**
     * Defines whether a animation is enabled or disabled.
     *
     * @default true
     */
    enable?: boolean;
    /**
     * duration in milliseconds
     *
     * @default 2000
     * @aspType int
     */
    duration?: number;
    /**
     * delay in milliseconds
     *
     * @default 0
     * @aspType int
     */
    delay?: number;
}
/**
 * Interface for a class Stepper
 */
export interface StepperModel extends StepperBaseModel{
    /**
     * Defines the current step index of the Stepper.
     *
     * {% codeBlock src='stepper/activeStep/index.md' %}{% endcodeBlock %}
     *
     * @default 0
     * @aspType int
     */
    activeStep?: number;
    /**
     * Defines the step progress animation of the Stepper.
     *
     * {% codeBlock src='stepper/animation/index.md' %}{% endcodeBlock %}
     *
     */
    animation?: StepperAnimationSettingsModel;
    /**
     * Defines whether allows to complete one step in order to move to the next or not.
     *
     * {% codeBlock src='stepper/linear/index.md' %}{% endcodeBlock %}
     *
     * @default false
     */
    linear?: boolean;
    /**
     * Defines a value that defines whether to show tooltip or not on each step.
     *
     * @default false
     */
    showTooltip?: boolean;
    /**
     * Defines the template content for each step.
     *
     * {% codeBlock src='stepper/template/index.md' %}{% endcodeBlock %}
     *
     * @default ''
     * @angularType string | object
     * @reactType string | function | JSX.Element
     * @vueType string | function
     * @aspType string
     */
    template?: string | Function;
    /**
     * Defines the template content for the tooltip.
     *
     * @default ''
     * @angularType string | object
     * @reactType string | function | JSX.Element
     * @vueType string | function
     * @aspType string
     */
    tooltipTemplate?: string | Function;
    /**
     * Defines the label position in the Stepper.
     *
     * The possible values are:
     * * Top
     * * Bottom
     * * Start
     * * End
     *
     * {% codeBlock src='stepper/labelPosition/index.md' %}{% endcodeBlock %}
     *
     * @isenumeration true
     * @default StepLabelPosition.Bottom
     * @asptype StepLabelPosition
     */
    labelPosition?: string | StepLabelPosition;
    /**
     * Defines whether steps are display with only indicator, only labels or combination of both.
     *
     * The possible values are:
     * * Default
     * * Label
     * * Indicator
     *
     * {% codeBlock src='stepper/stepType/index.md' %}{% endcodeBlock %}
     *
     * @isenumeration true
     * @default StepType.Default
     * @asptype StepType
     */
    stepType?: string | StepType;
    /**
     * base.Event triggers after active step changed.
     *
     * @event stepChanged
     */
    stepChanged?: base.EmitType<StepperChangedEventArgs>;
    /**
     * base.Event triggers before active step change.
     *
     * @event stepChanging
     */
    stepChanging?: base.EmitType<StepperChangingEventArgs>;
    /**
     * base.Event triggers when clicked on step.
     *
     * @event stepClick
     */
    stepClick?: base.EmitType<StepperClickEventArgs>;
    /**
     * base.Event triggers before rendering each step.
     *
     * @event beforeStepRender
     */
    beforeStepRender?: base.EmitType<StepperRenderingEventArgs>;
}
//node_modules/@syncfusion/ej2-navigations/src/sidebar/sidebar.d.ts
/**
 * Specifies the Sidebar types.
 * ```props
 * Slide :- Specifies the animation sliding while opening the sidebar.
 * Over :- Specifies the sidebar appearing over the main content.
 * Push :- Specifies the sidebar pushing the main content.
 * Auto :- Specifies that the sidebar opens automatically.
 * ```
 */
export  type SidebarType = 'Slide' | 'Over' | 'Push' | 'Auto';
/**
 * Specifies the Sidebar positions.
 * ```props
 * Left :- Sidebar positions to the Left in relation to the main content.
 * Right :- Sidebar positions to the Right in relation to the main content.
 * ```
 */
export  type SidebarPosition = 'Left' | 'Right';
/**
 * Sidebar is an expandable or collapsible
 * component that typically act as a side container to place the primary or secondary content alongside of the main content.
 * ```html
 * <aside id="sidebar">
 * </aside>
 * ```
 * ```typescript
 * <script>
 *   let sidebarObject: Sidebar = new Sidebar();
 *   sidebarObject.appendTo("#sidebar");
 * </script>
 * ```
 */
export  class Sidebar extends base.Component<HTMLElement> implements base.INotifyPropertyChanged {
    private modal;
    private mainContentEle;
    private sidebarEle;
    private sidebarEleCopy;
    protected tabIndex: string;
    private windowWidth;
    private targetEle;
    private firstRender;
    private documentClickContext;
    /**
     * Specifies the size of the Sidebar in dock state.
     * > For more details about dockSize refer to
     * [`Dock`](https://ej2.syncfusion.com/documentation/sidebar/docking-sidebar/) documentation.
     *
     * @default 'auto'
     */
    dockSize: string | number;
    /**
     * Specifies the media query string for resolution, which when met opens the Sidebar.
     * ```typescript
     *   let defaultSidebar: Sidebar = new Sidebar({
     *       mediaQuery:'(min-width: 600px)'
     *   });
     * ```
     * > For more details about mediaQuery refer to
     * [`Auto Close`](https://ej2.syncfusion.com/documentation/sidebar/auto-close/) documentation.
     *
     * @default null
     * @aspType string
     */
    mediaQuery: string | MediaQueryList;
    /**
     * Specifies the docking state of the component.
     * > For more details about enableDock refer to
     * [`Dock`](https://ej2.syncfusion.com/documentation/sidebar/docking-sidebar/) documentation.
     *
     * @default false
     */
    enableDock: boolean;
    /**
     * Enables the expand or collapse while swiping in touch devices.
     * This is not a sidebar property.
     *
     * @default 'en-US'
     * @private
     */
    locale: string;
    /**
     * Enable or disable persisting component's state between page reloads. If enabled, following list of states will be persisted.
     * 1. Position
     * 2. Type
     *
     * @default false
     */
    enablePersistence: boolean;
    /**
     * Enables the expand or collapse while swiping in touch devices.
     *
     * @default true
     */
    enableGestures: boolean;
    /**
     * Gets or sets the Sidebar component is open or close.
     * > When the Sidebar type is set to `Auto`,
     * the component will be expanded in the desktop and collapsed in the mobile mode regardless of the isOpen property.
     *
     * @default false
     */
    isOpen: boolean;
    /**
     * Specifies the Sidebar in RTL mode that displays the content in the right-to-left direction.
     *
     * @default false
     */
    enableRtl: boolean;
    /**
     * Enable or disable the animation transitions on expanding or collapsing the Sidebar.
     *
     * @default true
     */
    animate: boolean;
    /**
     * Specifies the height of the Sidebar.
     *
     * @default 'auto'
     * @private
     */
    height: string | number;
    /**
     * Specifies whether the Sidebar need to be closed or not when document area is clicked.
     *
     * @default false
     */
    closeOnDocumentClick: boolean;
    /**
     * Specifies the position of the Sidebar (Left/Right) corresponding to the main content.
     * > For more details about SidebarPosition refer to
     * [`position`](https://ej2.syncfusion.com/documentation/sidebar/getting-started/#position) documentation.
     *
     * @default 'Left'
     */
    position: SidebarPosition;
    /**
     * Allows to place the sidebar inside the target element.
     * > For more details about target refer to
     * [`Custom Context`](https://ej2.syncfusion.com/documentation/sidebar/custom-context/) documentation.
     *
     * @default null
     */
    target: HTMLElement | string;
    /**
     * Specifies the whether to apply overlay options to main content when the Sidebar is in an open state.
     * > For more details about showBackdrop refer to
     * [`Backdrop`](https://ej2.syncfusion.com/documentation/sidebar/getting-started/#enable-backdrop) documentation.
     *
     * @default false
     */
    showBackdrop: boolean;
    /**
     * Specifies the expanding types of the Sidebar.
     * * `Over` - The sidebar floats over the main content area.
     * * `Push` - The sidebar pushes the main content area to appear side-by-side, and shrinks the main content within the screen width.
     * * `Slide` - The sidebar translates the x and y positions of main content area based on the sidebar width.
     * The main content area will not be adjusted within the screen width.
     * * `Auto` - Sidebar with `Over` type in mobile resolution and `Push` type in other higher resolutions.
     * > For more details about SidebarType refer to
     * [`SidebarType`](../../sidebar/variations/) documentation.
     *
     * @default 'Auto'
     */
    type: SidebarType;
    /**
     * Specifies the width of the Sidebar. By default, the width of the Sidebar sets based on the size of its content.
     * Width can also be set in pixel values.
     *
     * @default 'auto'
     */
    width: string | number;
    /**
     * Specifies the z-index of the Sidebar. It is applicable only when sidebar act as overlay type.
     *
     * @default 1000
     * @aspType double
     */
    zIndex: string | number;
    /**
     * Triggers when component is created.
     *
     * @event created
     *
     *
     */
    created: base.EmitType<Object>;
    /**
     * Triggers when component is closed.
     *
     * @event close
     */
    close: base.EmitType<EventArgs>;
    /**
     * Triggers when component is opened.
     *
     * @event open
     */
    open: base.EmitType<EventArgs>;
    /**
     * Triggers when the state(expand/collapse) of the component is changed.
     *
     * @event change
     */
    change: base.EmitType<ChangeEventArgs>;
    /**
     * Triggers when component gets destroyed.
     *
     * @event destroyed
     */
    destroyed: base.EmitType<Object>;
    defaultBackdropDiv: HTMLElement;
    constructor(options?: SidebarModel, element?: string | HTMLElement);
    protected preRender(): void;
    protected render(): void;
    protected initialize(): void;
    private setEnableRTL;
    private setTarget;
    private getTargetElement;
    private setCloseOnDocumentClick;
    private setWidth;
    private setDimension;
    private setZindex;
    private addClass;
    private checkType;
    private transitionEnd;
    private destroyBackDrop;
    /**
     * Hide the Sidebar component, if it is in an open state.
     *
     * @param {Event} e - The event triggering the hide action.
     * @returns {void}
     *
     */
    hide(e?: Event): void;
    private setTimeOut;
    /**
     * Shows the Sidebar component, if it is in closed state.
     *
     * @param {Event} e - The optional event triggering the show action.
     * @returns {void}
     */
    show(e?: Event): void;
    private setAnimation;
    private triggerChange;
    private setDock;
    private createBackDrop;
    protected getPersistData(): string;
    /**
     * Returns the current module name.
     *
     * @returns {string} - returns module name.
     * @private
     *
     */
    protected getModuleName(): string;
    /**
     * Shows or hides the Sidebar based on the current state.
     *
     * @returns {void}
     */
    toggle(): void;
    protected getState(): boolean;
    private setMediaQuery;
    private checkMediaQuery;
    protected resize(): void;
    private documentclickHandler;
    private enableGestureHandler;
    private setEnableGestures;
    private wireEvents;
    private unWireEvents;
    /**
     * Called internally if any of the property value changed.
     *
     * @param {SidebarModel} newProp - specifies newProp value.
     * @param {SidebarModel} oldProp - specifies oldProp value.
     * @returns {void}
     * @private
     *
     */
    onPropertyChanged(newProp: SidebarModel, oldProp: SidebarModel): void;
    protected setType(type?: string): void;
    /**
     * Removes the control from the DOM and detaches all its related event handlers. Also it removes the attributes and classes.
     *
     * @returns {void}
     *
     */
    destroy(): void;
}
/**
 *
 * Defines the event arguments for the event.
 *
 * @returns void
 */
export interface ChangeEventArgs {
    /**
     * Returns event name
     */
    name: string;
    /**
     * Defines the element.
     */
    element: HTMLElement;
}
export interface TransitionEvent extends Event {
    /**
     * Returns event name
     */
    propertyName: string;
}
export interface EventArgs {
    /**
     * Illustrates whether the current action needs to be prevented or not.
     */
    cancel?: boolean;
    /**
     *  Defines the Sidebar model.
     */
    model?: SidebarModel;
    /**
     * Defines the element.
     */
    element: HTMLElement;
    /**
     * Defines the boolean that returns true when the Sidebar is closed by user interaction, otherwise returns false.
     */
    isInteracted?: boolean;
    /**
     * Defines the original event arguments.
     */
    event?: MouseEvent | Event;
}
//node_modules/@syncfusion/ej2-navigations/src/sidebar/sidebar-model.d.ts
/**
 * Interface for a class Sidebar
 */
export interface SidebarModel extends base.ComponentModel{
    /**
     * Specifies the size of the Sidebar in dock state.
     * > For more details about dockSize refer to
     * [`Dock`](https://ej2.syncfusion.com/documentation/sidebar/docking-sidebar/) documentation.
     *
     * @default 'auto'
     */
    dockSize?: string | number;
    /**
     * Specifies the media query string for resolution, which when met opens the Sidebar.
     * ```typescript
     *   let defaultSidebar$: Sidebar = new Sidebar({
     *       mediaQuery:'(min-width: 600px)'
     *   });
     * ```
     * > For more details about mediaQuery refer to
     * [`Auto Close`](https://ej2.syncfusion.com/documentation/sidebar/auto-close/) documentation.
     *
     * @default null
     * @aspType string
     */
    mediaQuery?: string | MediaQueryList;
    /**
     * Specifies the docking state of the component.
     * > For more details about enableDock refer to
     * [`Dock`](https://ej2.syncfusion.com/documentation/sidebar/docking-sidebar/) documentation.
     *
     * @default false
     */
    enableDock?: boolean;
    /**
     * Enables the expand or collapse while swiping in touch devices.
     * This is not a sidebar property.
     *
     * @default 'en-US'
     * @private
     */
    locale?: string;
    /**
     * Enable or disable persisting component's state between page reloads. If enabled, following list of states will be persisted.
     * 1. Position
     * 2. Type
     *
     * @default false
     */
    enablePersistence?: boolean;
    /**
     * Enables the expand or collapse while swiping in touch devices.
     *
     * @default true
     */
    enableGestures?: boolean;
    /**
     * Gets or sets the Sidebar component is open or close.
     * > When the Sidebar type is set to `Auto`,
     * the component will be expanded in the desktop and collapsed in the mobile mode regardless of the isOpen property.
     *
     * @default false
     */
    isOpen?: boolean;
    /**
     * Specifies the Sidebar in RTL mode that displays the content in the right-to-left direction.
     *
     * @default false
     */
    enableRtl?: boolean;
    /**
     * Enable or disable the animation transitions on expanding or collapsing the Sidebar.
     *
     * @default true
     */
    animate?: boolean;
    /**
     * Specifies the height of the Sidebar.
     *
     * @default 'auto'
     * @private
     */
    height?: string | number;
    /**
     * Specifies whether the Sidebar need to be closed or not when document area is clicked.
     *
     * @default false
     */
    closeOnDocumentClick?: boolean;
    /**
     * Specifies the position of the Sidebar (Left/Right) corresponding to the main content.
     * > For more details about SidebarPosition refer to
     * [`position`](https://ej2.syncfusion.com/documentation/sidebar/getting-started/#position) documentation.
     *
     * @default 'Left'
     */
    position?: SidebarPosition;
    /**
     * Allows to place the sidebar inside the target element.
     * > For more details about target refer to
     * [`Custom Context`](https://ej2.syncfusion.com/documentation/sidebar/custom-context/) documentation.
     *
     * @default null
     */
    target?: HTMLElement | string;
    /**
     * Specifies the whether to apply overlay options to main content when the Sidebar is in an open state.
     * > For more details about showBackdrop refer to
     * [`Backdrop`](https://ej2.syncfusion.com/documentation/sidebar/getting-started/#enable-backdrop) documentation.
     *
     * @default false
     */
    showBackdrop?: boolean;
    /**
     * Specifies the expanding types of the Sidebar.
     * * `Over` - The sidebar floats over the main content area.
     * * `Push` - The sidebar pushes the main content area to appear side-by-side, and shrinks the main content within the screen width.
     * * `Slide` - The sidebar translates the x and y positions of main content area based on the sidebar width.
     * The main content area will not be adjusted within the screen width.
     * * `Auto` - Sidebar with `Over` type in mobile resolution and `Push` type in other higher resolutions.
     * > For more details about SidebarType refer to
     * [`SidebarType`](../../sidebar/variations/) documentation.
     *
     * @default 'Auto'
     */
    type?: SidebarType;
    /**
     * Specifies the width of the Sidebar. By default, the width of the Sidebar sets based on the size of its content.
     * Width can also be set in pixel values.
     *
     * @default 'auto'
     */
    width?: string | number;
    /**
     * Specifies the z-index of the Sidebar. It is applicable only when sidebar act as overlay type.
     *
     * @default 1000
     * @aspType double
     */
    zIndex?: string | number;
    /**
     * Triggers when component is created.
     *
     * @event created
     *
     *
     */
    created?: base.EmitType<Object>;
    /**
     * Triggers when component is closed.
     *
     * @event close
     */
    close?: base.EmitType<EventArgs>;
    /**
     * Triggers when component is opened.
     *
     * @event open
     */
    open?: base.EmitType<EventArgs>;
    /**
     * Triggers when the state(expand/collapse) of the component is changed.
     *
     * @event change
     */
    change?: base.EmitType<ChangeEventArgs>;
    /**
     * Triggers when component gets destroyed.
     *
     * @event destroyed
     */
    destroyed?: base.EmitType<Object>;
}
//node_modules/@syncfusion/ej2-navigations/src/menu/menu.d.ts

/**
 * Defines the different types of orientation option available in the Menu.
 * ```props
 * Horizontal - It renders the menu in a horizontal orientation mode.
 * Vertical - It renders the menu in a vertical 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
     * @aspType string
     */
    template: string | Function;
    /**
     * 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 whether to enable the rendering of untrusted HTML values in the Menu component.
     * If 'enableHtmlSanitizer' set to true, the component will sanitize any suspected untrusted strings and scripts before rendering them.
     *
     * @default true
     */
    enableHtmlSanitizer: boolean;
    /**
     * Specifies mapping fields from the dataSource.
     *
     * @default { itemId: "id", text: "text", parentId: "parentId", iconCss: "iconCss", url: "url", separator: "separator",
     * children: "items" }
     */
    fields: FieldSettingsModel;
    /**
     * Constructor for creating the component.
     *
     * @private
     * @param {MenuModel} options - Specifies the menu model
     * @param {string} element - Specifies the element
     */
    constructor(options?: MenuModel, element?: string | HTMLUListElement);
    /**
     * Get module name.
     *
     * @private
     * @returns {string} - Module Name
     */
    protected getModuleName(): string;
    /**
     * For internal use only - prerender processing.
     *
     * @private
     * @returns {void}
     */
    protected preRender(): void;
    protected initialize(): void;
    private updateMenuItems;
    /**
     * Called internally if any of the property value changed.
     *
     * @private
     * @param {MenuModel} newProp - Specifies the new properties.
     * @param {MenuModel} oldProp - Specifies the old properties.
     * @returns {void}
     */
    onPropertyChanged(newProp: MenuModel, oldProp: MenuModel): void;
    private createMenuItems;
    /**
     * This method is used to open the Menu in hamburger mode.
     *
     * @function open
     * @returns {void}
     */
    open(): void;
    /**
     * Closes the Menu if it is opened in hamburger mode.
     *
     * @function close
     * @returns {void}
     */
    close(): void;
}
//node_modules/@syncfusion/ej2-navigations/src/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
     * @aspType string
     */
    template?: string | Function;
    /**
     * 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 whether to enable the rendering of untrusted HTML values in the Menu component.
     * If 'enableHtmlSanitizer' set to true, the component will sanitize any suspected untrusted strings and scripts before rendering them.
     *
     * @default true
     */
    enableHtmlSanitizer?: boolean;
    /**
     * Specifies mapping fields from the dataSource.
     *
     * @default { itemId: "id", text: "text", parentId: "parentId", iconCss: "iconCss", url: "url", separator: "separator",
     * children: "items" }
     */
    // eslint:disable-next-line
    fields?: FieldSettingsModel;
}
//node_modules/@syncfusion/ej2-navigations/src/context-menu/context-menu.d.ts

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

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

//node_modules/@syncfusion/ej2-office-chart/src/office-chart/keywords.d.ts
export  const widthProperty: string[];
export  const heightProperty: string[];
export  const chartDataProperty: string[];
export  const chartCategoryProperty: string[];
export  const chartSeriesProperty: string[];
export  const chartLegendProperty: string[];
export  const chartPrimaryCategoryAxisProperty: string[];
export  const chartPrimaryValueAxisProperty: string[];
export  const chartTitleProperty: string[];
export  const chartTypeProperty: string[];
export  const trendLinesProperty: string[];
export  const dataPointsProperty: string[];
export  const seriesNameProperty: string[];
export  const dataLabelProperty: string[];
export  const errorBarProperty: string[];
export  const fillProperty: string[];
export  const lineProperty: string[];
export  const rgbProperty: string[];
export  const idProperty: string[];
export  const foreColorProperty: string[];
export  const positionProperty: string[];
export  const typeProperty: string[];
export  const nameProperty: string[];
export  const directionProperty: string[];
export  const endStyleProperty: string[];
export  const forwardProperty: string[];
export  const backwardProperty: string[];
export  const interceptProperty: string[];
export  const categoryTypeProperty: string[];
export  const hasMajorGridLinesProperty: string[];
export  const hasMinorGridLinesProperty: string[];
export  const majorUnitProperty: string[];
export  const isAutoMajorProperty: string[];
export  const maximumValueProperty: string[];
export  const minimumValueProperty: string[];
export  const categoryXNameProperty: string[];
export  const numberFormatProperty: string[];
export  const yValueProperty: string[];
export  const sizeProperty: string[];
export  const seriesFormatProperty: string[];
//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
     */
    private keywordIndex;
    /**
     * @private
     */
    private chartYValues;
    /**
     * @private
     */
    chartRender(chart: any, keywordIndex?: number): void;
    /**
     * @private
     */
    convertChartToImage(chart: charts.Chart | charts.AccumulationChart, elementWidth: number, elementHeight: number): Promise<string>;
    private getControlsValue;
    private officeChartType;
    private chartSeries;
    private writeChartSeries;
    private parseDataLabels;
    private parseErrorBars;
    private parseTrendLines;
    private dataLabelPosition;
    private chartFormat;
    private chartPrimaryXAxis;
    private chartCategoryType;
    private chartPrimaryYAxis;
    private checkAndSetAxisValue;
    private calculateMajorUnit;
    private roundToNiceNumber;
    private chartData;
    private chartPlotData;
    getColor(color: string): string;
    private parseChartLegend;
    private parseBoolValue;
    /**
     * Destroys the internal objects which is maintained.
     */
    destroy(): void;
}
 }
export namespace pdf { 

//node_modules/@syncfusion/ej2-pdf/src/pdf/core/utils.d.ts
/**
 * Represents a bounding rectangle with an origin (x, y) and size (width, height).
 *
 * @property {number} x - The horizontal coordinate of the rectangle's origin.
 * @property {number} y - The vertical coordinate of the rectangle's origin.
 * @property {number} width - The width of the rectangle.
 * @property {number} height - The height of the rectangle.
 */
export  type Rectangle = {
    x: number;
    y: number;
    width: number;
    height: number;
};
/**
 * Represents the size.
 *
 * @property {number} width - The width.
 * @property {number} height - The height.
 */
export  type Size = {
    width: number;
    height: number;
};
/**
 * Gets the unsigned value.
 *
 * @param {number} value input value.
 * @param {number} bits bits to process.
 * @returns {number} unsigned value.
 */
export  function _toUnsigned(value: number, bits: number): number;
/**
 * Gets the signed 16 bit value.
 *
 * @param {number} value input value.
 * @returns {number} unsigned value.
 */
export  function _toSigned16(value: number): number;
/**
 * Gets the signed 32 bit value.
 *
 * @param {number} value input value.
 * @returns {number} unsigned value.
 */
export  function _toSigned32(value: number): number;
/**
 * Copy values from one array to another.
 *
 * @param {number[]} target destination array.
 * @param {number} at target index.
 * @param {number[]} source source array.
 * @param {number} start start index.
 * @param {number} end end index.
 * @returns {void} Returns nothing.
 */
export  function _copyRange(target: number[], at: number, source: number[], start?: number, end?: number): void;
/**
 * Checks the type of the image using header bytes.
 *
 * @param {Uint8Array} imageData image data.
 * @param {number[]} header header bytes.
 * @returns {boolean} Header matched or not.
 */
export  function _checkType(imageData: Uint8Array, header: number[]): boolean;
/**
 * Gets the image decoder.
 *
 * @param {Uint8Array} imageData image data.
 * @returns {_ImageDecoder} Image decoder.
 */
export  function _getDecoder(imageData: Uint8Array): _ImageDecoder;
/**
 * Gets the page rotation.
 *
 * @param {PdfPage} page Page.
 * @param {number} height Height.
 * @param {number} left Left.
 * @returns {number} Page rotation.
 */
export  function _checkRotation(page: PdfPage, height: number, left: number): number;
/**
 * Gets the page index.
 *
 * @param {PdfDocument} loadedDocument Loaded document.
 * @param {_PdfDictionary} pageDictionary Page dictionary.
 * @returns {number} Page index.
 */
export  function _getPageIndex(loadedDocument: PdfDocument, pageDictionary: _PdfDictionary): number;
/**
 * Convert string value from annotation flag
 *
 * @private
 * @param {PdfAnnotationFlag} flag Annotation flag.
 * @returns {string} Valid string to write into XML.
 */
export  function _annotationFlagsToString(flag: PdfAnnotationFlag): string;
/**
 * Convert string value to annotation flag
 *
 * @private
 * @param {string} flag String value to map
 * @returns {PdfAnnotationFlag} Annotation flag
 */
export  function _stringToAnnotationFlags(flag: string): PdfAnnotationFlag;
/**
 * Convert string value to byte array
 *
 * @private
 * @param {string} value string value.
 * @returns {string} Valid string to write into PDF.
 */
export  function _stringToPdfString(value: string): string;
/**
 * Convert string value to byte array
 *
 * @private
 * @param {string} value string value.
 * @param {boolean} isDirect Whether to return a number[] or Uint8Array.
 * @param {boolean} isPassword Whether the string is a password.
 * @param {number[]} destination Destination array.
 * @returns {number[] | Uint8Array} Byte array
 */
export  function _stringToBytes(value: string, isDirect?: boolean, isPassword?: boolean, destination?: number[]): number[] | Uint8Array;
/**
 * Check equal or not.
 *
 * @private
 * @param {number[]} first byte array.
 * @param {number[]} second byte array.
 * @returns {boolean} Equal or not
 */
export  function _areArrayEqual(first: Uint8Array | number[], second: Uint8Array | number[]): boolean;
/**
 * Convert number to string as round value with fixed decimal points 2.
 *
 * @private
 * @param {number[]} value number value.
 * @returns {boolean} Equal string.
 */
export  function _numberToString(value: number): string;
/**
 * Check whether entries in two array are equal or not.
 *
 * @private
 * @param {number[]} value first array.
 * @param {number[]} current second array.
 * @returns {boolean} Return true if for each elements are equal in both array.
 */
export  function _areNotEqual(value: number[], current: number[]): boolean;
/**
 * Process bytes and convert as string.
 *
 * @private
 * @param {Uint8Array} bytes Input data.
 * @param {boolean} isJson Whether is json or xfdf.
 * @returns {string} String value processed from input bytes.
 */
export  function _bytesToString(bytes: Uint8Array, isJson?: boolean): string;
/**
 * Decode unicode string.
 *
 * @private
 * @param {Uint8Array} bytes Input data.
 * @returns {string} String value processed from input bytes.
 */
export  function _decodeUnicodeBytes(bytes: Uint8Array): string;
/**
 * Convert string to unicode array.
 *
 * @private
 * @param {string} value string value.
 * @returns {Uint8Array} unicode array
 */
export  function _stringToUnicodeArray(value: string): Uint8Array;
/**
 * Convert byte array to hex string.
 *
 * @private
 * @param {Uint8Array} byteArray Byte array.
 * @returns {string} Hex string.
 */
export  function _byteArrayToHexString(byteArray: Uint8Array): string;
/**
 * Convert hex string to byte array.
 *
 * @private
 * @param {string} hexString Hex string.
 * @param {boolean} isDirect Whether to return object or number[]. Default is false.
 * @returns {Uint8Array | number[]} Byte array.
 */
export  function _hexStringToByteArray(hexString: string, isDirect?: boolean): Uint8Array | number[];
/**
 * Convert hex string to normal string.
 *
 * @private
 * @param {string} hexString Hex string.
 * @returns {string} Normal string.
 */
export  function _hexStringToString(hexString: string): string;
/**
 * Check whether the character code is white space.
 *
 * @private
 * @param {number} ch The character code to check.
 * @returns {boolean} True if the character is space, otherwise false.
 */
export  function _isWhiteSpace(ch: number): boolean;
/**
 * Decode bytes from base64 string.
 *
 * @private
 * @param {string} input The base64 string to decode.
 * @param {boolean} isDirect Whether to return object or number[]. Default is false.
 * @returns {Uint8Array | number[]} Decoded bytes.
 */
export  function _decode(input: string, isDirect?: boolean): Uint8Array | number[];
/**
 * Encode bytes to base64 string.
 *
 * @private
 * @param {Uint8Array} bytes Bytes to encode.
 * @returns {string} Decoded string.
 */
export  function _encode(bytes: Uint8Array): string;
/**
 * Get property value in inheritable mode.
 *
 * @private
 * @param {_PdfDictionary} dictionary Input dictionary.
 * @param {string} key Input dictionary.
 * @param {boolean} isArray Search array.
 * @param {boolean} stopWhenFound Stop when found.
 * @param {string[]} parentKey Key string for parent node.
 * @returns {any} Property value.
 */
export  function _getInheritableProperty(dictionary: _PdfDictionary, key: string, isArray?: boolean, stopWhenFound?: boolean, ...parentKey: string[]): any;
/**
 * Calculate bounds of annotation or field.
 *
 * @private
 * @param {_PdfDictionary} dictionary Input dictionary.
 * @param {boolean} isWidget Input page.
 * @returns {any} Bounds value.
 */
export  function _parseRectangle(dictionary: _PdfDictionary, isWidget?: boolean): {
    x: number;
    y: number;
    width: number;
    height: number;
};
/**
 * Calculate bounds of annotation or field.
 *
 * @private
 * @param {_PdfDictionary} dictionary Input dictionary.
 * @param {string} page Input page.
 * @returns {any} Bounds value.
 */
export  function _calculateBounds(dictionary: _PdfDictionary, page: PdfPage): {
    x: number;
    y: number;
    width: number;
    height: number;
};
/**
 * Calculate bounds of annotation or field.
 *
 * @private
 * @param {number[]} value array value.
 * @returns {any} Rectangle value.
 */
export  function _toRectangle(value: number[]): {
    x: number;
    y: number;
    width: number;
    height: number;
};
/**
 * Calculate bounds of annotation or field.
 *
 * @private
 * @param {any} value Rectangle value.
 * @param {any} value.x X value.
 * @param {any} value.y Y value.
 * @param {any} value.width Width value.
 * @param {any} value.height Height value.
 * @returns {number[]} Bounds value.
 */
export  function _fromRectangle(value: {
    x: number;
    y: number;
    width: number;
    height: number;
}): number[];
/**
 * Calculate bounds of annotation or field.
 *
 * @private
 * @param {number[]} value Input dictionary.
 * @param {string} page Input page.
 * @returns {number[]} Bounds value.
 */
export  function _getUpdatedBounds(value: number[], page?: PdfPage): number[];
/**
 * Parse RGB color.
 *
 * @private
 * @param {string} colorString Color value in string format.
 * @returns {number[]} RGB color value.
 */
export  function _convertToColor(colorString: string): number[];
/**
 * Parse RGB color.
 *
 * @private
 * @param {number[]} array Color array in dictionary.
 * @returns {number[]} RGB color value.
 */
export  function _parseColor(array: number[]): number[];
/**
 * Get the border style in _PdfName.
 *
 * @private
 * @param {PdfBorderStyle} style border style in enum.
 * @returns {_PdfName} border style in _PdfName.
 */
export  function _mapBorderStyle(style: PdfBorderStyle): _PdfName;
/**
 * Get the border effect style in _PdfName.
 *
 * @private
 * @param {string} style border effect style as string.
 * @returns {PdfBorderEffectStyle} border effect style.
 */
export  function _mapBorderEffectStyle(style: string): PdfBorderEffectStyle;
/**
 * Get the string value for line ending style.
 *
 * @private
 * @param {PdfLineEndingStyle} style style in enum.
 * @returns {string} value default None.
 */
export  function _reverseMapEndingStyle(style: PdfLineEndingStyle): string;
/**
 * Get the enum value for line ending style.
 *
 * @private
 * @param {string} style Style value in string.
 * @returns {PdfLineEndingStyle} enum value default 0.
 */
export  function _mapLineEndingStyle(style: string): PdfLineEndingStyle;
/**
 * Get highlight mode.
 *
 * @private
 * @param {string} mode Mode entry in dictionary.
 * @returns {PdfHighlightMode} Highlight mode.
 */
export  function _mapHighlightMode(mode: string): PdfHighlightMode;
/**
 * Get highlight mode as string.
 *
 * @private
 * @param {PdfHighlightMode} mode Mode entry.
 * @returns {_PdfName} Highlight mode as PDF name.
 */
export  function _reverseMapHighlightMode(mode: PdfHighlightMode): _PdfName;
/**
 * Reverse map blend mode.
 *
 * @private
 * @param {PdfBlendMode} mode Mode entry.
 * @returns {_PdfName} Blend mode as name.
 */
export  function _reverseMapBlendMode(mode: PdfBlendMode): _PdfName;
/**
 * Map blend mode.
 *
 * @private
 * @param {_PdfName} token Blend mode as name.
 * @returns {PdfBlendMode} Mode value;
 */
export  function _mapBlendMode(token: _PdfName): PdfBlendMode;
/**
 * Convert float to string.
 *
 * @private
 * @param {number} value number value.
 * @returns {string} equal fixed length string value;
 */
export  function _floatToString(value: number): string;
/**
 * Check and add proc set value.
 *
 * @private
 * @param {string} value entry.
 * @param {_PdfDictionary} dictionary source dictionary.
 * @returns {void} Nothing;
 */
export  function _addProcSet(value: string, dictionary: _PdfDictionary): void;
/**
 * Get new GUID string.
 *
 * @private
 * @returns {string} A new GUID string;
 */
export  function _getNewGuidString(): string;
/**
 * Escape PDF name.
 *
 * @private
 * @param {string} value name value.
 * @returns {string} equal and processed name value;
 */
export  function _escapePdfName(value: string): string;
/**
 * Calculate bezier arc points.
 *
 * @private
 * @param {number} x1 value.
 * @param {number} y1 value.
 * @param {number} x2 value.
 * @param {number} y2 value.
 * @param {number} start value.
 * @param {number} extent value.
 * @returns {number[]} bezier arc points;
 */
export  function _getBezierArc(x1: number, y1: number, x2: number, y2: number, start: number, extent: number): number[];
/**
 * Find page of the annotation.
 *
 * @private
 * @param {PdfDocument} document PDF document.
 * @param {_PdfReference} reference Annotation reference.
 * @returns {PdfPage} Page of the annotation;
 */
export  function _findPage(document: PdfDocument, reference: _PdfReference): PdfPage;
/**
 * Check the field is checked or not.
 *
 * @private
 * @param {_PdfDictionary} dictionary PDF dictionary.
 * @returns {boolean} True if the field is checked, otherwise false;
 */
export  function _checkField(dictionary: _PdfDictionary): boolean;
/**
 * Get item value from state item field.
 *
 * @private
 * @param {_PdfDictionary} itemDictionary PDF document.
 * @returns {string} value of item;
 */
export  function _getItemValue(itemDictionary: _PdfDictionary): string;
/**
 * Get state item template.
 *
 * @private
 * @param {_PdfCheckFieldState} state Check field state.
 * @param {PdfStateItem | PdfField} item source to check.
 * @returns {PdfTemplate} Appearance template;
 */
export  function _getStateTemplate(state: _PdfCheckFieldState, item: PdfStateItem | PdfField): PdfTemplate;
/**
 * Get color value
 *
 * @private
 * @param {string} colorName name of the color.
 * @returns {number[]} return color value as number array.
 */
export  function _getColorValue(colorName: string): number[];
/**
 * Update box value in template bounds.
 *
 * @private
 * @param {PdfTemplate} template Template object.
 * @param {number} angle Angle value.
 * @returns {void} Nothing.
 */
export  function _setMatrix(template: PdfTemplate, angle?: number): void;
/**
 * Get the state item style to string
 *
 * @private
 * @param {PdfCheckBoxStyle} style State item style.
 * @returns {string} return as string value.
 */
export  function _styleToString(style: PdfCheckBoxStyle): string;
/**
 * Get the string to state item style
 *
 * @private
 * @param {string} style State item style as string.
 * @returns {PdfCheckBoxStyle} return as state item style.
 */
export  function _stringToStyle(style: string): PdfCheckBoxStyle;
/**
 * Map measurement unit type.
 *
 * @private
 * @param {string} unitString measurement unit as string.
 * @returns {PdfMeasurementUnit} measurement unit.
 */
export  function _mapMeasurementUnit(unitString: string): PdfMeasurementUnit;
/**
 * Map markup annotation type.
 *
 * @private
 * @param {string} text markup type as string.
 * @returns {PdfTextMarkupAnnotationType} markup type as name.
 */
export  function _mapMarkupAnnotationType(text: string): PdfTextMarkupAnnotationType;
/**
 * Reverse text markup annotation type.
 *
 * @private
 * @param {PdfTextMarkupAnnotationType} type markup type.
 * @returns {string} markup type as name.
 */
export  function _reverseMarkupAnnotationType(type: PdfTextMarkupAnnotationType): string;
/**
 * Map graphics unit.
 *
 * @private
 * @param {string} unitString String value.
 * @returns {_PdfGraphicsUnit} PDF graphics unit.
 */
export  function _mapGraphicsUnit(unitString: string): _PdfGraphicsUnit;
/**
 * Map rubber stamp icon.
 *
 * @param {string} iconString String value.
 * @returns {PdfRubberStampAnnotationIcon} Rubber stamp icon.
 */
export  function _mapRubberStampIcon(iconString: string): PdfRubberStampAnnotationIcon;
/**
 * Map popup icon.
 *
 * @private
 * @param {string} iconString String value.
 * @returns {PdfRubberStampAnnotationIcon} Popup icon.
 */
export  function _mapPopupIcon(iconString: string): PdfPopupIcon;
/**
 * Convert annotation state to string value.
 *
 * @private
 * @param {PdfAnnotationState} type Annotation state.
 * @returns {string} String value.
 */
export  function _reverseMapAnnotationState(type: PdfAnnotationState): string;
/**
 * Convert string value to annotation state.
 *
 * @private
 * @param {string} type String value.
 * @returns {PdfAnnotationState} Annotation state.
 */
export  function _mapAnnotationState(type: string): PdfAnnotationState;
/**
 * Convert annotation state model to string value.
 *
 * @private
 * @param {PdfAnnotationStateModel} type Annotation state model.
 * @returns {string} String value.
 */
export  function _reverseMapAnnotationStateModel(type: PdfAnnotationStateModel): string;
/**
 * Convert string value to annotation state model.
 *
 * @private
 * @param {string} type String value.
 * @returns {PdfAnnotationStateModel} Annotation state model.
 */
export  function _mapAnnotationStateModel(type: string): PdfAnnotationStateModel;
/**
 * Map attachment icon.
 *
 * @private
 * @param {string} iconString String value.
 * @returns {PdfAttachmentIcon} Icon.
 */
export  function _mapAttachmentIcon(iconString: string): PdfAttachmentIcon;
/**
 * Map attachment intent.
 *
 * @private
 * @param {string} intentString String value.
 * @returns {PdfAnnotationIntent} intent.
 */
export  function _mapAnnotationIntent(intentString: string): PdfAnnotationIntent;
/**
 * Convert PDF font style to string value.
 *
 * @private
 * @param {PdfFontStyle} style Font style.
 * @returns {string} String value.
 */
export  function _reverseMapPdfFontStyle(style: PdfFontStyle): string;
/**
 * Get special character.
 *
 * @private
 * @param {string} input Input string.
 * @returns {string} String value.
 */
export  function _getSpecialCharacter(input: string): string;
/**
 * Get latin character.
 *
 * @private
 * @param {string} input Input string.
 * @returns {string} String value.
 */
export  function _getLatinCharacter(input: string): string;
/**
 * Encode value to string.
 *
 * @private
 * @param {string} value Input string.
 * @returns {string} result.
 */
export  function _encodeValue(value: string): string;
/**
 * Parse and retrieve comments and review history from the annotation.
 *
 * @private
 * @param {PdfComment} annotation Input annotation.
 * @param {boolean} isReview Input is review or not.
 * @returns {PdfPopupAnnotationCollection} result.
 */
export  function _getCommentsOrReview(annotation: PdfComment, isReview: boolean): PdfPopupAnnotationCollection;
/**
 * Returns true if input dictionary is belongs to the review history.
 *
 * @private
 * @param {_PdfDictionary} dictionary Input dictionary.
 * @returns {boolean} Input is review or not.
 */
export  function _checkReview(dictionary: _PdfDictionary): boolean;
/**
 * Returns true if input dictionary is belongs to the comments.
 *
 * @private
 * @param {_PdfDictionary} dictionary Input dictionary.
 * @returns {boolean} Input is comments or not.
 */
export  function _checkComment(dictionary: _PdfDictionary): boolean;
/**
 * Update visibility.
 *
 * @private
 * @param {_PdfDictionary} dictionary Input dictionary.
 * @param {PdfFormFieldVisibility} value Visibility.
 * @returns {void} Nothing.
 */
export  function _updateVisibility(dictionary: _PdfDictionary, value: PdfFormFieldVisibility): void;
/**
 * Remove duplicate reference.
 *
 * @private
 * @param {_PdfDictionary} dictionary Input dictionary.
 * @param {_PdfCrossReference} crossTable Cross reference table.
 * @param {string} key Key string for appearance type.
 * @returns {void} Nothing.
 */
export  function _removeDuplicateReference(dictionary: _PdfDictionary, crossTable: _PdfCrossReference, key: string): void;
/**
 * Remove duplicate reference from resources.
 *
 * @private
 * @param {_PdfDictionary} resources Input resources.
 * @param {_PdfCrossReference} crossTable Cross reference table.
 * @returns {void} Nothing.
 */
export  function _removeDuplicateFromResources(resources: _PdfDictionary, crossTable: _PdfCrossReference): void;
/**
 * Remove duplicate reference.
 *
 * @private
 * @param {any} normal Input.
 * @param {_PdfCrossReference} crossReference Cross reference table.
 * @param {string} firstKey Key string for appearance type.
 * @param {string} secondKey Key string for appearance type.
 * @returns {void} Nothing.
 */
export  function _removeReferences(normal: any, crossReference: _PdfCrossReference, firstKey: string, secondKey: string): void;
export  class BaseException {
    message: string;
    name: string;
    constructor(message: string, name: string);
}
export  class FormatError extends BaseException {
    constructor(message: string);
}
export  class ParserEndOfFileException extends BaseException {
    constructor(message: string);
}
/**
 * Gets the default string.
 *
 * @param {string} item Input string.
 * @returns {string} result.
 */
export  function _defaultToString(item: string | number | string[] | number[] | Object | Object[] | boolean): string;
/**
 * Gets the form field font.
 *
 * @param {PdfForm} form form.
 * @param {PdfWidgetAnnotation} widget widget annotation.
 * @param {PdfField} field field.
 * @returns {PdfFont} font.
 */
export  function _obtainFontDetails(form: PdfForm, widget: PdfWidgetAnnotation, field: PdfField): PdfFont;
/**
 * Gets the font style.
 *
 * @param {string} fontFamilyString Font family string.
 * @returns {PdfFontStyle} result.
 */
export  function _getFontStyle(fontFamilyString: string): PdfFontStyle;
/**
 * Map the font.
 *
 * @param {string} name Font name.
 * @param {number} size Font size.
 * @param {PdfFontStyle} style Font style.
 * @param {PdfAnnotation} annotation Annotation or Field.
 * @param {_PdfDictionary} fontDictionary Font dictionary.
 * @returns {PdfFont} result.
 */
export  function _mapFont(name: string, size: number, style: PdfFontStyle, annotation: PdfAnnotation | PdfField, fontDictionary?: _PdfDictionary): PdfFont;
/**
 * Gets the font stream.
 *
 * @param {_PdfDictionary} widgetDictionary Widget dictionary.
 * @param {_PdfCrossReference} crossReference Cross reference.
 * @param {PdfAnnotation} annotation Annotation.
 * @param {string} fontResourceName Font resource name.
 * @returns {Uint8Array} result.
 */
export  function _tryParseFontStream(widgetDictionary: _PdfDictionary, crossReference: _PdfCrossReference, annotation: PdfAnnotation | PdfField, fontResourceName?: string): Uint8Array;
/**
 * Gets the font data.
 *
 * @param {_PdfDictionary} dictionary font dictionary.
 * @returns {Uint8Array} result.
 */
export  function _getFontFromDescriptor(dictionary: _PdfDictionary): Uint8Array;
/**
 * Gets the boolean if two arrays are equal.
 *
 * @param {Array<number[]>} inkPointsCollection Ink points collection.
 * @param {Array<number[]>} previousCollection Previous collection.
 * @returns {boolean} result.
 */
export  function _checkInkPoints(inkPointsCollection: Array<number[]>, previousCollection: Array<number[]>): boolean;
/**
 * Update the annotation bounds.
 *
 * @param {PdfAnnotation} annotation annotation.
 * @param {number[]} bounds annotation bounds.
 * @returns {number[]} bounds.
 */
export  function _updateBounds(annotation: PdfAnnotation, bounds?: number[]): number[];
/**
 * Decode text.
 *
 * @param {string} text Text to decode.
 * @param {boolean} isColorSpace Color space or not
 * @param {boolean} isPassword Password or not
 * @returns {string} Decoded text.
 */
export  function _decodeText(text: string, isColorSpace: boolean, isPassword: boolean): string;
/**
 * Number of bytes required to save the number.
 *
 * @param {number} input number.
 * @returns {number} number of bytes.
 */
export  function _getSize(input: number): number;
/**
 * Convert the string to big endian bytes.
 *
 * @param {string} input string.
 * @returns {number[]} bytes.
 */
export  function _stringToBigEndianBytes(input: string): number[];
/**
 * Convert number respect to ordered list number style.
 *
 * @param {number} intArabic Input value.
 * @param {PdfNumberStyle} numberStyle Number style.
 * @returns {string} String value.
 */
export  function _convertNumber(intArabic: number, numberStyle: PdfNumberStyle): string;
/**
 * Convert arabic numbers to roman style.
 *
 * @param {number} intArabic Input value.
 * @returns {string} String value.
 */
export  function _arabicToRoman(intArabic: number): string;
/**
 * Convert arabic numbers to alphabet.
 *
 * @param {number} arabic Input value.
 * @returns {string} String value.
 */
export  function _arabicToLetter(arabic: number): string;
/**
 * Convert character code to string.
 *
 * @param {number} value Input value.
 * @returns {string} String value.
 */
export  function _appendChar(value: number): string;
/**
 * Check whether the value is null or undefined.
 *
 * @param {any} value Input value.
 * @returns {boolean} Return true if the value is null or undefined;
 otherwise, return false
 */
export  function _isNullOrUndefined(value: any): boolean;
/**
 * Defines a property on an object with specific attributes.
 *
 * @param {Object} obj - The target object on which the property will be defined.
 * @param {string} prop - The name of the property to define.
 * @param {any} value - The value to assign to the property.
 * @param {boolean} [serializable = false] - If true, the property will not be enumerable.
 * @returns {any} The value of the property that was defined.
 *
 */
export  function _defineProperty(obj: any, prop: string, value: any, serializable?: boolean): any;
/**
 * Compresses the content of a PDFBaseStream
 *
 * @param {_PdfBaseStream} stream - Base stream to compress.
 * @param {boolean} isExport - Denotes compress the stream as a hex-encoded string.
 * @returns {boolean} compressed string.
 */
export  function _compressStream(stream: _PdfBaseStream, isExport?: boolean): string;
/**
 * Check whether the input string contains any right-to-left (RTL) characters.
 *
 * @param {string} input The input string.
 * @returns {boolean} Returns true if the string contains any RTL characters;
 otherwise, returns false.
 */
export  function _isRightToLeftCharacters(input: string): boolean;
/**
 * Updates the page count value in the dictionary
 *
 * @param {_PdfDictionary} dictionary - Dictionary to update page count.
 * @param {number} valueToIncrement - Page count.
 * @returns {void} Nothing.
 */
export  function _updatePageCount(dictionary: _PdfDictionary, valueToIncrement: number): void;
/**
 * Updates the page settings in the dictionary
 *
 * @param {_PdfDictionary} dictionary - Dictionary to update page settings.
 * @param {PdfPageSettings} settings - PDF page settings.
 * @returns {void} Nothing.
 */
export  function _updatePageSettings(dictionary: _PdfDictionary, settings: PdfPageSettings): void;
/**
 * Base64 encoded string representing an empty PDF document.
 */
export  const _emptyPdfData: string;
/**
 * Checks if the given string contains any Unicode (non-ASCII) characters.
 *
 * @param {string} value - The string to check for Unicode characters.
 * @returns {boolean} `true` if the string contains at least one Unicode character;
 otherwise, `false`.
 */
export  function _hasUnicodeCharacters(value: string): boolean;
/**
 * Creates a font stream for the given font and form, extracting the font data from font descriptors.
 *
 * @param {PdfForm} form - The target PDF form containing cross-references to the font data.
 * @param {_PdfDictionary} font - The dictionary that defines the font, containing references to font descriptors.
 * @returns {Uint8Array} The font data extracted from the font file.
 */
export  function _createFontStream(form: PdfForm, font: _PdfDictionary): Uint8Array;
/**
 * Determines whether a given string contains Unicode characters.
 *
 * @param {string} value - The string to be checked.
 * @returns {boolean} True if the string contains Unicode characters;
 otherwise, false.
 * @throws {Error} If the input value is null or undefined.
 */
export  function _isUnicode(value: string): boolean;
/**
 * Converts a single hexadecimal character to its numeric value.
 *
 * @param {string} char - A single character string representing a hexadecimal digit ('0'-'9', 'A'-'F', 'a'-'f').
 * @returns {number} The numeric value corresponding to the hexadecimal character.
 * @throws {Error} Throws an error if the input character is not a valid hexadecimal character.
 */
export  function _convertToHex(char: string): number;
/**
 * Decodes a font family string that contains hexadecimal encoded characters.
 *
 * @param {string} fontFamily - The font family string to be decoded. May contain hex encoded characters prefixed by '#'.
 * @returns {string} The decoded font family string with hex characters replaced by their ASCII equivalents.
 * @throws {Error} Throws an error if the input contains invalid hexadecimal sequences.
 */
export  function _decodeFontFamily(fontFamily: string): string;
//node_modules/@syncfusion/ej2-pdf/src/pdf/core/predictor-stream.d.ts
export  class PdfPredictorStream extends _PdfDecodeStream {
    predictor: number;
    dictionary: _PdfDictionary;
    pixBytes: number;
    rowBytes: number;
    colors: number;
    bits: number;
    columns: number;
    readBlock: any;
    constructor(stream: any, maybeLength: number, params: _PdfDictionary);
    readBlockTiff(): void;
    readBlockPng(): void;
}
//node_modules/@syncfusion/ej2-pdf/src/pdf/core/pdf-section.d.ts
/**
 * Represents a PDF section, a set of pages with similar page settings.
 * ```typescript
 * // Create a new PDF document
 * let document: PdfDocument = new PdfDocument();
 * // Add a new section to the document
 * let section: PdfSection = document.addSection();
 * // Add a page to the section
 * let page: PdfPage = section.addPage();
 * // Save the document
 * document.save('output.pdf');
 * // Destroy the document
 * document.destroy();
 * ```
 */
export  class PdfSection {
    _document: PdfDocument;
    _crossReference: _PdfCrossReference;
    _dictionary: _PdfDictionary;
    _reference: _PdfReference;
    _pageCount: number;
    _pageSettings: PdfPageSettings;
    /**
     * Initializes a new instance of the `PdfSection` class.
     *
     * @param {PdfDocument} document PDF document.
     * @param {PdfPageSettings} settings Page settings.
     *
     * @private
     */
    constructor(document: PdfDocument, settings: PdfPageSettings);
    /**
     * Creates a new page and adds it to the collection.
     *
     * @returns {PdfPage} PDF page.
     *
     * ```typescript
     * // Create a new PDF document
     * let document: PdfDocument = new PdfDocument();
     * // Add a new section to the document
     * let section: PdfSection = document.addSection();
     * // Add a page to the section
     * let page: PdfPage = section.addPage();
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    addPage(): PdfPage;
}
//node_modules/@syncfusion/ej2-pdf/src/pdf/core/pdf-primitives.d.ts
export  class _PdfName {
    constructor(name: string);
    name: string;
    static get(name: string): _PdfName;
}
export  class _PdfCommand {
    constructor(command: string);
    command: string;
    static get(command: string): _PdfCommand;
}
export  class _PdfReference {
    constructor(objectNumber: number, gen: number);
    objectNumber: number;
    generationNumber: number;
    _isNew: boolean;
    toString(): string;
    static get(objectNumber: number, generationNumber: number): _PdfReference;
}
export  class _PdfReferenceSet {
    constructor(parent?: any);
    _set: Set<_PdfReference>;
    has(ref: any): boolean;
    put(ref: any): void;
    remove(ref: any): void;
    clear(): void;
}
export  class _PdfReferenceSetCache {
    constructor();
    _map: any;
    readonly size: number;
    get(ref: _PdfReference): any;
    has(ref: _PdfReference): boolean;
    put(ref: _PdfReference, obj: any): void;
    set(objId: string, obj: any): void;
    clear(): void;
}
export interface IDictionaryPair<K, V> {
    key: K;
    value: V;
}
export  class Dictionary<K, V> {
    protected table: {
        [key: string]: IDictionaryPair<K, V>;
    };
    protected nElements: number;
    protected toStr: (key: K) => string;
    constructor(toStringFunction?: (key: K) => string);
    getValue(key: K): V;
    setValue(key: K, value: V): V;
    keys(): K[];
    containsKey(key: K): boolean;
    _size(): number;
}
export  class _PdfDictionary {
    constructor(xref?: _PdfCrossReference);
    _map: any;
    _crossReference: _PdfCrossReference;
    objId: any;
    _isNew: boolean;
    suppressEncryption: boolean;
    _updated: boolean;
    isCatalog: boolean;
    _currentObj: any;
    _isFont: boolean;
    _reference: _PdfReference;
    _isProcessed: boolean;
    readonly size: number;
    assignXref(xref: any): void;
    getRaw(key: string): any;
    getRawValues(): any;
    get(key1: string, key2?: string, key3?: string): any;
    getArray(key1: string, key2?: string, key3?: string): any[] | undefined;
    set(key: string, value: any): void;
    has(key: string): boolean;
    forEach(callback: any): void;
    update(key: string, value: any): void;
    static getEmpty(xref: _PdfCrossReference): _PdfDictionary;
    static merge(xref: _PdfCrossReference, dictionaryArray: Array<any>, mergeSubDictionary?: boolean): _PdfDictionary;
    _initialize(xref?: _PdfCrossReference): void;
    _get(key1: string, key2?: string, key3?: string): any;
}
export  class _PdfNull {
    constructor(value?: any);
    value: any;
}
export  function _clearPrimitiveCaches(): void;
export  function _isName(value: any, name: string): boolean;
export  function _isCommand(value: any, command: string): boolean;
//node_modules/@syncfusion/ej2-pdf/src/pdf/core/pdf-parser.d.ts
export  class _PdfLexicalOperator {
    stream: any;
    stringBuffer: Array<string>;
    _hexStringNumber: number;
    beginInlineImagePosition: number;
    currentChar: number;
    _isFormsDataFormat: boolean;
    constructor(stream: any, isFormDataFormat?: boolean);
    nextChar(): number;
    peekChar(): number;
    getNumber(): number;
    getString(): string;
    getName(): _PdfName;
    getHexString(): string;
    getObject(): any;
    peekObj(): any;
    skipToNextLine(): void;
    _toHexDigit(ch: number): number;
}
export  class _PdfParser {
    lexicalOperator: _PdfLexicalOperator;
    xref: _PdfCrossReference;
    allowStreams: boolean;
    recoveryMode: boolean;
    imageCache: Map<string, _PdfBaseStream>;
    first: any;
    second: any;
    private _isColorSpace;
    private _isPassword;
    _encryptor: _PdfEncryptor;
    constructor(lexicalOperator: _PdfLexicalOperator, xref: _PdfCrossReference, allowStreams?: boolean, recoveryMode?: boolean, encryptor?: _PdfEncryptor);
    refill(): void;
    shift(): void;
    tryShift(): boolean;
    getObject(cipherTransform?: _CipherTransform): any;
    getObject(objectNumber?: number, generationNumber?: number | boolean, isCipherTransform?: boolean): any;
    findDiscreteDecodeInlineStreamEnd(stream: any): number;
    findDecodeInlineStreamEnd(stream: any): number;
    findHexDecodeInlineStreamEnd(stream: any): number;
    inlineStreamSkipEI(stream: any): void;
    makeInlineImage(cipher?: _CipherTransform): any;
    makeInlineImage(objectNumber?: number, generationNumber?: number, isCipherTransform?: boolean): any;
    _computeMaxNumber(bytes: Uint8Array): number;
    makeStream(dictionary: _PdfDictionary, cipherTransform?: _CipherTransform, makeFilter?: boolean): any;
    filter(stream: any, dictionary: _PdfDictionary, length: number): any;
    makeFilter(stream: any, name: string, maybeLength: number, params: any): any;
    _findStreamLength(startPosition: number, signature: Uint8Array): number;
    findDefaultInlineStreamEnd(stream: any): number;
    _checkEnd(): boolean;
}
export  class _Linearization {
    length: number;
    xref: _PdfCrossReference;
    hints: number[];
    objectNumberFirst: number;
    endFirst: number;
    pageCount: number;
    mainXRefEntriesOffset: number;
    pageFirst: number;
    isValid: boolean;
    constructor(stream: _PdfStream);
    getInt(dictionary: _PdfDictionary, name: string, allowZeroValue?: boolean): number;
    getHints(dictionary: _PdfDictionary): number[];
}
//node_modules/@syncfusion/ej2-pdf/src/pdf/core/pdf-page.d.ts
/**
 * Represents a page loaded from the PDF document.
 * ```typescript
 * // Load an existing PDF document
 * let document$: PdfDocument = new PdfDocument(data);
 * // Access first page
 * let page$: PdfPage = document.getPage(0);
 * // Save the document
 * document.save('output.pdf');
 * // Destroy the document
 * document.destroy();
 * ```
 */
export  class PdfPage {
    _crossReference: _PdfCrossReference;
    _pageIndex: number;
    _pageDictionary: _PdfDictionary;
    _ref: _PdfReference;
    _annotations: PdfAnnotationCollection;
    _isAnnotationParsed: boolean;
    _size: number[];
    _mBox: number[];
    _cBox: number[];
    _orientation: PdfPageOrientation;
    _o: number[];
    _g: PdfGraphics;
    _graphicsState: PdfGraphicsState;
    _contents: Array<_PdfReference>;
    _rotation: PdfRotationAngle;
    _needInitializeGraphics: boolean;
    _hasResourceReference: boolean;
    _resourceObject: _PdfDictionary;
    _tabOrder: PdfFormFieldsTabOrder;
    _pageSettings: PdfPageSettings;
    _isNew: boolean;
    _isDuplicate: boolean;
    _isLineAnnotation: boolean;
    /**
     * Represents a loaded page of the PDF document.
     *
     * @private
     * @param {_PdfCrossReference} crossReference Cross reference object.
     * @param {number} pageIndex page index.
     * @param {_PdfDictionary} dictionary page Dictionary.
     * @param {_PdfReference} reference page reference.
     */
    constructor(crossReference: _PdfCrossReference, pageIndex: number, dictionary: _PdfDictionary, reference: _PdfReference);
    /**
     * Gets the collection of the page's annotations (Read only).
     *
     * @returns {PdfAnnotationCollection} Annotation collection.
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data);
     * // Access first page
     * let page$: PdfPage = document.getPage(0);
     * // Gets the annotation collection
     * let annotations: PdfAnnotationCollection = page.annotations;
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    readonly annotations: PdfAnnotationCollection;
    /**
     * Gets the size of the page (Read only).
     *
     * @returns {number[]} Page width and height as number array.
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data);
     * // Access first page
     * let page$: PdfPage = document.getPage(0);
     * // Gets the width and height of the PDF page as number array
     * let size: number[] = page.size;
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    readonly size: number[];
    /**
     * Gets the rotation angle of the page (Read only).
     *
     * @returns {PdfRotationAngle} Page rotation angle.
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data);
     * // Access first page
     * let page$: PdfPage = document.getPage(0);
     * // Gets the rotation angle of the page
     * let rotation: PdfRotationAngle = page.rotation;
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Sets the rotation angle of the PDF page
    *
    * @param {PdfRotationAngle} value rotation angle.
    *
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data);
    * // Access first page
    * let page$: PdfPage = document.getPage(0);
    * // Sets the rotation angle of the PDF page
    * page.rotate = PdfRotationAngle.angle90;
    * // Save the document
    * document.save('output.pdf');
    * // Destroy the document
    * document.destroy();
    * ```
    */
    rotation: PdfRotationAngle;
    /**
     * Gets the tab order of a PDF form field.
     *
     * @returns {PdfFormFieldsTabOrder} tab order.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data);
     * // Access first page
     * let page$: PdfPage = document.getPage(0);
     * // Gets the tab order of a PDF form field.
     * let tabOrder: PdfFormFieldsTabOrder = page.tabOrder;
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Sets the tab order of a PDF form field.
    *
    * @param {PdfFormFieldsTabOrder} value tab order.
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data);
    * // Access first page
    * let page$: PdfPage = document.getPage(0);
    * // Sets the tab order of a PDF form field.
    * page.tabOrder = PdfFormFieldsTabOrder.row;
    * // Save the document
    * document.save('output.pdf');
    * // Destroy the document
    * document.destroy();
    * ```
    */
    tabOrder: PdfFormFieldsTabOrder;
    /**
     * Gets the bounds that define the area intended for display or printing in the PDF viewer application (Read only).
     *
     * @returns {number[]} Page size as number array.
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data);
     * // Access first page
     * let page$: PdfPage = document.getPage(0);
     * // Gets the cropBox of the PDF page as number array
     * let cropBox: number[] = page.cropBox;
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    readonly cropBox: number[];
    /**
     * Gets the size that specify the width and height of the page (Read only).
     *
     * @returns {number[]} Page size as number array.
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data);
     * // Access first page
     * let page$: PdfPage = document.getPage(0);
     * // Gets the mediaBox of the PDF page as number array
     * let mediaBox: number[] = page.mediaBox;
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    readonly mediaBox: number[];
    /**
     * Gets the orientation of the page (Read only).
     *
     * @returns {PdfPageOrientation} Page orientation.
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data);
     * // Access first page
     * let page$: PdfPage = document.getPage(0);
     * // Gets the orientation of the PDF page
     * let orientation: number[] = page.orientation;
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    readonly orientation: PdfPageOrientation;
    readonly _origin: number[];
    /**
     * Gets the graphics of the page (Read only).
     *
     * @returns {PdfGraphics} Page graphics.
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Access first page
     * let page$: PdfPage = document.getPage(0);
     * // Gets the graphics of the PDF page
     * let graphics: PdfGraphics = page.graphics;
     * //Create a new pen.
     * let pen: PdfPen = new PdfPen([0, 0, 0], 1);
     * //Draw line on the page graphics.
     * graphics.drawLine(pen, 10, 10, 100, 100);
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    readonly graphics: PdfGraphics;
    _addWidget(reference: _PdfReference): void;
    _getProperty(key: string, getArray?: boolean): any;
    _parseGraphics(): void;
    _loadContents(): void;
    _initializeGraphics(stream: _PdfContentStream): void;
    _getActualBounds(pageSettings: PdfPageSettings): number[];
    _fetchResources(): _PdfDictionary;
    _getCropOrMediaBox(): number[];
    _beginSave(): void;
    _destroy(): void;
    _obtainTabOrder(): PdfFormFieldsTabOrder;
    _removeAnnotation(reference: _PdfReference): void;
    readonly _contentTemplate: PdfTemplate;
    _combineIntoSingleArray(arrays: Uint8Array[]): Uint8Array;
    _combineContent(): Uint8Array;
}
/**
 * `PdfDestination` class represents the PDF destination.
 * ```typescript
 * // Load an existing PDF document
 * let document$: PdfDocument = new PdfDocument(data, password);
 * // Access the annotation at index 0
 * let annotation: PdfDocumentLinkAnnotation = document.getPage(0).annotations.at(0) as PdfDocumentLinkAnnotation;
 * // Initializes a new instance of the `PdfDestination` class.
 * let destination: PdfDestination = new PdfDestination();
 * // Sets the zoom factor.
 * destination.zoom = 20;
 * // Sets the page where the destination is situated.
 * destination.page = page;
 * // Sets the mode of the destination.
 * destination.mode = PdfDestinationMode.fitToPage;
 * // Sets the location of the destination.
 * destination.location = [20, 20];
 * // Sets the bounds of the destination.
 * destination.destinationBounds = [20, 20, 100, 50];
 * // Sets destination to  document link annotation.
 * annotation.destination = destination;
 * // Save the document
 * document.save('output.pdf');
 * // Destroy the document
 * document.destroy();
 * ```
 */
export  class PdfDestination {
    _page: PdfPage;
    _location: number[];
    _destinationMode: PdfDestinationMode;
    _zoom: number;
    _isValid: boolean;
    _index: number;
    _destinationBounds: number[];
    _array: Array<any>;
    _parent: any;
    /**
     * Initializes a new instance of the `PdfDestination` class.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Access the annotation at index 0
     * let annotation: PdfDocumentLinkAnnotation = document.getPage(0).annotations.at(0) as PdfDocumentLinkAnnotation;
     * // Initializes a new instance of the `PdfDestination` class.
     * let destination: PdfDestination = new PdfDestination();
     * // Sets the zoom factor.
     * destination.zoom = 20;
     * // Sets the page where the destination is situated.
     * destination.page = page;
     * // Sets the mode of the destination.
     * destination.mode = PdfDestinationMode.fitToPage;
     * // Sets the location of the destination.
     * destination.location = [20, 20];
     * // Sets the bounds of the destination.
     * destination.destinationBounds = [20, 20, 100, 50];
     * // Sets destination to  document link annotation.
     * annotation.destination = destination;
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    constructor();
    /**
     * Initializes a new instance of the `PdfDestination` class.
     *
     * @private
     * @param {PdfPage} page PdfPage.
     */
    constructor(page: PdfPage);
    /**
     * Initializes a new instance of the `PdfDestination` class.
     *
     * @private
     * @param {PdfPage} page PdfPage.
     * @param {number[]} location Location.
     */
    constructor(page: PdfPage, location: number[]);
    /**
     * Gets the zoom factor.
     *
     * @returns {number} zoom.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * //Access the annotation at index 0
     * let annot: PdfDocumentLinkAnnotation = page.annotations.at(0) as PdfDocumentLinkAnnotation;
     * // Gets the zoom factor of the destination.
     * let zoom: number = annot.destination.zoom;
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Sets the zoom factor.
    *
    * @param {number} value zoom.
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data, password);
    * // Access the annotation at index 0
    * let annotation: PdfDocumentLinkAnnotation = document.getPage(0).annotations.at(0) as PdfDocumentLinkAnnotation;
    * // Initializes a new instance of the `PdfDestination` class.
    * let destination: PdfDestination = new PdfDestination();
    * // Sets the zoom factor.
    * destination.zoom = 20;
    * // Sets the page where the destination is situated.
    * destination.page = page;
    * // Sets the mode of the destination.
    * destination.mode = PdfDestinationMode.fitToPage;
    * // Sets the location of the destination.
    * destination.location = [20, 20];
    * // Sets the bounds of the destination.
    * destination.destinationBounds = [20, 20, 100, 50];
    * // Sets destination to  document link annotation.
    * annotation.destination = destination;
    * // Save the document
    * document.save('output.pdf');
    * // Destroy the document
    * document.destroy();
    * ```
    */
    zoom: number;
    /**
     * Gets the page where the destination is situated.
     *
     * @returns {PdfPage} page.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * //Access the annotation at index 0
     * let annot: PdfDocumentLinkAnnotation = document.getPage(0).annotations.at(0) as PdfDocumentLinkAnnotation;
     * // Gets the page of the destination.
     * let page$: PdfPage = annot.destination.page;
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Sets the page where the destination is situated.
    *
    * @param {PdfPage} value page.
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data, password);
    * // Access the annotation at index 0
    * let annotation: PdfDocumentLinkAnnotation = document.getPage(0).annotations.at(0) as PdfDocumentLinkAnnotation;
    * // Initializes a new instance of the `PdfDestination` class.
    * let destination: PdfDestination = new PdfDestination();
    * // Sets the zoom factor.
    * destination.zoom = 20;
    * // Sets the page where the destination is situated.
    * destination.page = page;
    * // Sets the mode of the destination.
    * destination.mode = PdfDestinationMode.fitToPage;
    * // Sets the location of the destination.
    * destination.location = [20, 20];
    * // Sets the bounds of the destination.
    * destination.destinationBounds = [20, 20, 100, 50];
    * // Sets destination to  document link annotation.
    * annotation.destination = destination;
    * // Save the document
    * document.save('output.pdf');
    * // Destroy the document
    * document.destroy();
    * ```
    */
    page: PdfPage;
    /**
     * Gets the page index of bookmark destination (Read only).
     *
     * @returns {number} index.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * //Access the annotation at index 0
     * let annot: PdfDocumentLinkAnnotation = document.getPage(0).annotations.at(0) as PdfDocumentLinkAnnotation;
     * // Gets the page index of the destination.
     * let pageIndex: number = annot.destination.pageIndex;
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    readonly pageIndex: number;
    /**
     * Gets the mode of the destination.
     *
     * @returns {PdfDestinationMode} page.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * //Access the annotation at index 0
     * let annot: PdfDocumentLinkAnnotation = document.getPage(0).annotations.at(0) as PdfDocumentLinkAnnotation;
     * // Gets the mode of the destination.
     * let mode: PdfDestinationMode = annot.destination.mode;
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Sets the mode of the destination.
    *
    * @param {PdfDestinationMode} value page.
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data, password);
    * // Access the annotation at index 0
    * let annotation: PdfDocumentLinkAnnotation = document.getPage(0).annotations.at(0) as PdfDocumentLinkAnnotation;
    * // Initializes a new instance of the `PdfDestination` class.
    * let destination: PdfDestination = new PdfDestination();
    * // Sets the zoom factor.
    * destination.zoom = 20;
    * // Sets the page where the destination is situated.
    * destination.page = page;
    * // Sets the mode of the destination.
    * destination.mode = PdfDestinationMode.fitToPage;
    * // Sets the location of the destination.
    * destination.location = [20, 20];
    * // Sets the bounds of the destination.
    * destination.destinationBounds = [20, 20, 100, 50];
    * // Sets destination to document link annotation.
    * annotation.destination = destination;
    * // Save the document
    * document.save('output.pdf');
    * // Destroy the document
    * document.destroy();
    * ```
    */
    mode: PdfDestinationMode;
    /**
     * Gets the location of the destination.
     *
     * @returns {number[]} page.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Access the annotation at index 0
     * let annot: PdfDocumentLinkAnnotation = document.getPage(0).annotations.at(0) as PdfDocumentLinkAnnotation;
     * // Gets the location of the destination.
     * let location: number[] = annot.destination.location;
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Sets the location of the destination.
    *
    * @param {number[]} value page.
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data, password);
    * // Access the annotation at index 0
    * let annotation: PdfDocumentLinkAnnotation = document.getPage(0).annotations.at(0) as PdfDocumentLinkAnnotation;
    * // Initializes a new instance of the `PdfDestination` class.
    * let destination: PdfDestination = new PdfDestination();
    * // Sets the zoom factor.
    * destination.zoom = 20;
    * // Sets the page where the destination is situated.
    * destination.page = page;
    * // Sets the mode of the destination.
    * destination.mode = PdfDestinationMode.fitToPage;
    * // Sets the location of the destination.
    * destination.location = [20, 20];
    * // Sets the bounds of the destination.
    * destination.destinationBounds = [20, 20, 100, 50];
    * // Sets destination to  document link annotation.
    * annotation.destination = destination;
    * // Save the document
    * document.save('output.pdf');
    * // Destroy the document
    * document.destroy();
    * ```
    */
    location: number[];
    /**
     * Gets the bounds of the destination.
     *
     * @returns {number[]} bounds.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Access the annotation at index 0
     * let annot: PdfDocumentLinkAnnotation = document.getPage(0).annotations.at(0) as PdfDocumentLinkAnnotation;
     * // Gets the bounds of the destination.
     * let destinationBounds: number[] = annot.destination.destinationBounds;
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Sets the bounds of the destination.
    *
    * @param {number[]} value bounds.
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data, password);
    * // Access the annotation at index 0
    * let annotation: PdfDocumentLinkAnnotation = document.getPage(0).annotations.at(0) as PdfDocumentLinkAnnotation;
    * // Initializes a new instance of the `PdfDestination` class.
    * let destination: PdfDestination = new PdfDestination();
    * // Sets the zoom factor.
    * destination.zoom = 20;
    * // Sets the page where the destination is situated.
    * destination.page = page;
    * // Sets the mode of the destination.
    * destination.mode = PdfDestinationMode.fitToPage;
    * // Sets the location of the destination.
    * destination.location = [20, 20];
    * // Sets the bounds of the destination.
    * destination.destinationBounds = [20, 20, 100, 50];
    * // Sets destination to  document link annotation.
    * annotation.destination = destination;
    * // Save the document
    * document.save('output.pdf');
    * // Destroy the document
    * document.destroy();
    * ```
    */
    destinationBounds: number[];
    /**
     * Gets a value indicating whether this instance is valid (Read only).
     *
     * @returns {boolean} value indicating whether this instance is valid.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Access the annotation at index 0
     * let annot: PdfDocumentLinkAnnotation = document.getPage(0).annotations.at(0) as PdfDocumentLinkAnnotation;
     * // Gets a value indicating whether this instance is valid.
     * let isValid: boolean = annot.destination.isValid;
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    readonly isValid: boolean;
    _setValidation(value: boolean): void;
    _initializePrimitive(): void;
}
export  class _PdfDestinationHelper {
    _dictionary: _PdfDictionary;
    _key: string;
    constructor(dictionary: _PdfDictionary, value: string);
    _obtainDestination(): PdfDestination;
    _getDestination(name: _PdfName | string, document: PdfDocument): any[];
    _getNamedDestination(document: PdfDocument, result: _PdfName | string): any[];
    _extractDestination(ref: any, document: PdfDocument): any[];
    _getNamedObjectFromTree(kids: _PdfDictionary, name: string): _PdfReference;
    _findName(current: _PdfDictionary, name: string): _PdfReference;
    _getProperKid(kids: _PdfDictionary, name: string): _PdfDictionary;
    _checkLimits(kid: _PdfDictionary, result: string): boolean;
    _stringCompare(limits: string, result: string): number;
}
/**
 *
 * ```typescript
 * // Load an existing PDF document
 * let document$: PdfDocument = new PdfDocument(data);
 * let options: PdfPageImportOptions = new PdfPageImportOptions();
 * options.targetIndex = 1;
 * options.rotation = PdfRotationAngle.angle180;
 * options.optimizeResources = true;
 * // Copy the first page and add it as second page with page rotation
 * // Save the document
 * document.save('output.pdf');
 * // Destroy the document
 * document.destroy();
 * ```
 */
export  class PdfPageImportOptions {
    _targetIndex: number;
    _rotation: PdfRotationAngle;
    _optimizeResources: boolean;
    _groupFormFields: boolean;
    /**
     *
     * @returns {PdfRotationAngle} Page rotation angle.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data);
     * let options: PdfPageImportOptions = new PdfPageImportOptions();
     * let targetIndex: number = options.targetIndex;
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    *
    *
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data);
    * let options: PdfPageImportOptions = new PdfPageImportOptions();
    * options.targetIndex = 1;
    * // Copy the first page and add it as second page with page rotation
    * // Save the document
    * document.save('output.pdf');
    * // Destroy the document
    * document.destroy();
    * ```
    */
    targetIndex: number;
    /**
     *
     * @returns {PdfRotationAngle} Page rotation angle.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data);
     * let options: PdfPageImportOptions = new PdfPageImportOptions();
     * let rotation$: PdfRotationAngle = options.rotation;
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    *
    * @param {PdfRotationAngle} value Page rotation angle.
    *
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data);
    * let options: PdfPageImportOptions = new PdfPageImportOptions();
    * options.rotation = PdfRotationAngle.angle270;
    * // Copy the first page and add it as second page with page rotation
    * // Save the document
    * document.save('output.pdf');
    * // Destroy the document
    * document.destroy();
    * ```
    */
    rotation: PdfRotationAngle;
    /**
     *
     * @returns {boolean} Indicates resource optimization.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data);
     * let options: PdfPageImportOptions = new PdfPageImportOptions();
     * let resource: optimizeResources = options.optimizeResources;
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    *
    * @param {boolean} value Indicates resource optimization.
    *
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data);
    * let options: PdfPageImportOptions = new PdfPageImportOptions();
    * options.optimizeResources = true;
    * // Copy the first page and add it as second page with page rotation
    * // Save the document
    * document.save('output.pdf');
    * // Destroy the document
    * document.destroy();
    * ```
    */
    optimizeResources: boolean;
    /**
     *
     * @returns {boolean} value Indicates form fields grouping.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data);
     * let options: PdfPageImportOptions = new PdfPageImportOptions();
     * let groupFormfields: number = options.groupFormFields;
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    *
    * @param {boolean} value Indicates form fields grouping
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data);
    * let options: PdfPageImportOptions = new PdfPageImportOptions();
    * options.groupFormFields = true;
    * // Copy the first page and add it as second page.
    * // Save the document
    * document.save('output.pdf');
    * // Destroy the document
    * document.destroy();
    * ```
    */
    groupFormFields: boolean;
}
//node_modules/@syncfusion/ej2-pdf/src/pdf/core/pdf-outline.d.ts
/**
 * Represents a base class for all bookmark objects.
 * ```typescript
 * // Load an existing PDF document
 * let document$: PdfDocument = new PdfDocument(data, password);
 * // Get bookmarks
 * let bookmarks: PdfBookmarkBase = document.bookmarks;
 * // Destroy the document
 * document.destroy();
 * ```
 */
export  class PdfBookmarkBase {
    _dictionary: _PdfDictionary;
    _crossReference: _PdfCrossReference;
    _bookMarkList: PdfBookmark[];
    _destination: PdfDestination;
    _color: number[];
    _isExpanded: boolean;
    _namedDestination: PdfNamedDestination;
    _title: string;
    _textStyle: PdfTextStyle;
    _isLoadedBookmark: boolean;
    _reference: _PdfReference;
    /**
     * Initializes a new instance of the `PdfBookmarkBase` class.
     *
     * @private
     * @param {_PdfDictionary} dictionary Outline dictionary.
     * @param {_PdfCrossReference} crossReference Cross reference.
     *
     */
    constructor(dictionary: _PdfDictionary, crossReference: _PdfCrossReference);
    /**
     * Gets the bookmark count (Read only).
     *
     * @returns {number} Number of bookmarks.
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Get bookmarks
     * let bookmarks: PdfBookmarkBase = document.bookmarks;
     * // Get bookmark count
     * let bookmarkCount: number = bookmarks.count;
     * // Destroy the document
     * document.destroy();
     * ```
     */
    readonly count: number;
    /**
     * Gets the boolean flag indicating whether the bookmark is expanded or not.
     *
     * @returns {boolean} whether the bookmark is expanded or not.
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Get the bookmarks
     * let bookmarks: PdfBookmarkBase = document.bookmarks;
     * // Gets bookmark at the specified index
     * let bookmark: PdfBookmark = bookmarks.at(0) as PdfBookmark;
     * // Gets the boolean flag indicating whether the bookmark is expanded or not
     * let isExpanded: boolean = bookmark.isExpanded;
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Sets the boolean flag indicating whether the bookmark is expanded or not.
    *
    * @param {boolean} value whether the bookmark is expanded or not.
    *
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data, password);
    * // Get the bookmarks
    * let bookmarks: PdfBookmarkBase = document.bookmarks;
    * // Gets bookmark at the specified index
    * let bookmark: PdfBookmark = bookmarks.at(0) as PdfBookmark;
    * // Sets the boolean flag indicating whether the bookmark is expanded or not
    * bookmark.isExpanded = true;
    * // Destroy the document
    * document.destroy();
    * ```
    */
    isExpanded: boolean;
    /**
     * Gets the `PdfBookmark` at the specified index.
     *
     * @param {number} index Bookmark index.
     * @returns {PdfBookmark} Bookmark at the specified index.
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Get bookmarks
     * let bookmarks: PdfBookmarkBase = document.bookmarks;
     * // Get bookmark at the specified index
     * let bookmark: PdfBookmark = bookmarks.at(0) as PdfBookmark;
     * // Destroy the document
     * document.destroy();
     * ```
     */
    at(index: number): PdfBookmark;
    /**
     * Gets the boolean flag indicating whether `PdfBookmark` is present or not.
     *
     * @param {PdfBookmark} outline Bookmark.
     * @returns {boolean} whether the bookmark is present or not.
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Get the bookmarks
     * let bookmarks: PdfBookmarkBase = document.bookmarks;
     * // Get the bookmark at the specified index
     * let bookmark: PdfBookmark = bookmarks.at(0) as PdfBookmark;
     * // Gets the boolean flag indicating whether `PdfBookmark` is present or not.
     * let isPresent: boolean = bookmarks.contains(bookmark);
     * // Destroy the document
     * document.destroy();
     * ```
     */
    contains(outline: PdfBookmark): boolean;
    /**
     * Creates and adds a new outline to the PDF document.
     *
     * @param {string} title The title of the outline.
     * @returns {PdfBookmark} PDF bookmark.
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Access the first page of the PDF
     * let page$: PdfPage = document.getPage(0);
     * // Get the bookmarks
     * let bookmarks: PdfBookmarkBase = document.bookmarks;
     * // Add a new outline to the PDF document
     * let bookmark: PdfBookmark = bookmarks.add('Introduction');
     * // Sets destination to the bookmark
     * bookmark.destination = new PdfDestination(page, [10, 10]);
     * // Destroy the document
     * document.destroy();
     * ```
     */
    add(title: string): PdfBookmark;
    /**
     * Insert a new outline to the PDF document at specified index.
     *
     * @param {string} title The title of the outline.
     * @param {index} index The index to insert.
     * @returns {PdfBookmark} PDF bookmark.
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Access the first page of the PDF
     * let page$: PdfPage = document.getPage(0);
     * // Get the bookmarks
     * let bookmarks: PdfBookmarkBase = document.bookmarks;
     * // Add a new outline to the PDF document
     * let bookmark: PdfBookmark = bookmarks.add('Introduction');
     * // Sets destination to the bookmark
     * bookmark.destination = new PdfDestination(page, [10, 10]);
     * // Destroy the document
     * document.destroy();
     * ```
     */
    add(title: string, index: number): PdfBookmark;
    /**
     * Remove specified bookmark from the document.
     *
     * @param {string} title The title of the outline.
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Access the first page of the PDF
     * let page$: PdfPage = document.getPage(0);
     * // Get the bookmarks
     * let bookmarks: PdfBookmarkBase = document.bookmarks;
     * // Remove specified bookmark from the document.
     * bookmarks.remove('Introduction');
     * // Sets destination to the bookmark
     * bookmark.destination = new PdfDestination(page, [10, 10]);
     * // Destroy the document
     * document.destroy();
     * ```
     */
    remove(title: string): void;
    /**
     * Remove the bookmark from the document at the specified index.
     *
     * @param {number} index The index.
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Access the first page of the PDF
     * let page$: PdfPage = document.getPage(0);
     * // Get the bookmarks
     * let bookmarks: PdfBookmarkBase = document.bookmarks;
     * // Remove the bookmark from the document at the index 1.
     * bookmarks.remove(1);
     * // Sets destination to the bookmark
     * bookmark.destination = new PdfDestination(page, [10, 10]);
     * // Destroy the document
     * document.destroy();
     * ```
     */
    remove(index: number): void;
    /**
     * Removes all the bookmark from the collection.
     *
     * @returns {void} Nothing.
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Get the bookmarks
     * let bookmarks: PdfBookmarkBase = document.bookmarks;
     * // Remove all the bookmark from the collection.
     * bookmarks.clear();
     * // Get count after removal of all outlines.
     * let count: number = bookmarks.count;
     * // Destroy the document
     * document.destroy();
     * ```
     */
    clear(): void;
    _removeFirst(dictionary: _PdfDictionary): void;
    _removeLast(dictionary: _PdfDictionary): void;
    _removeNext(dictionary: _PdfDictionary): void;
    _removePrevious(dictionary: _PdfDictionary): void;
    _removeCount(dictionary: _PdfDictionary): void;
    _updateBookmarkList(index: number, bookmark?: PdfBookmark): void;
    _updateCount(): void;
    _reproduceTree(): void;
    _getBookmark(bookmarkBase: PdfBookmarkBase, isFirst?: boolean): PdfBookmark;
}
/**
 * Represents a bookmark in a PDF document
 *
 * ```typescript
 * // Load an existing PDF document
 * let document$: PdfDocument = new PdfDocument(data, password);
 * // Get the bookmarks
 * let bookmarks: PdfBookmarkBase = document.bookmarks;
 * // Gets the bookmark at the specified index
 * let bookmark: PdfBookmark = bookmarks.at(0) as PdfBookmark;
 * // Destroy the document
 * document.destroy();
 * ```
 */
export  class PdfBookmark extends PdfBookmarkBase {
    /**
     * Initializes a new instance of the `PdfBookmark` class.
     *
     * @private
     * @param {_PdfDictionary} dictionary Bookmark dictionary.
     * @param {_PdfCrossReference} crossReference Cross reference.
     *
     */
    constructor(dictionary: _PdfDictionary, crossReference: _PdfCrossReference);
    /**
     * Gets the destination.
     *
     * @returns {PdfDestination} Page destination.
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Get the bookmarks
     * let bookmarks: PdfBookmarkBase = document.bookmarks;
     * // Gets the bookmark at the specified index
     * let bookmark: PdfBookmark = bookmarks.at(0) as PdfBookmark;
     * // Gets the destination
     * let destination$: PdfDestination = bookmark.destination;
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Sets the destination.
    *
    * @param {PdfDestination} value destination.
    *
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data, password);
    * // Get the bookmarks
    * let bookmarks: PdfBookmarkBase = document.bookmarks;
    * // Gets the bookmark at the specified index
    * let bookmark: PdfBookmark = bookmarks.at(0) as PdfBookmark;
    * // Set the destination
    * bookmark.destination = new PdfDestination(page, [100, 200]);
    * // Save the document
    * document.save('output.pdf');
    * // Destroy the document
    * document.destroy();
    * ```
    */
    destination: PdfDestination;
    /**
     * Gets the named destination.
     *
     * @returns {PdfNamedDestination} Named destination.
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Get the bookmarks
     * let bookmarks: PdfBookmarkBase = document.bookmarks;
     * // Gets bookmark at the specified index
     * let bookmark: PdfBookmark = bookmarks.at(0) as PdfBookmark;
     * // Gets the named destination
     * let namedDestination: PdfNamedDestination = bookmark.namedDestination;
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Sets the named destination.
    *
    * @param {PdfNamedDestination} value Named destination.
    *
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data, password);
    * // Get the bookmarks
    * let bookmarks: PdfBookmarkBase = document.bookmarks;
    * // Gets bookmark at the specified index
    * let bookmark: PdfBookmark = bookmarks.at(0) as PdfBookmark;
    * // Gets the named destination
    * let namedDestination: PdfNamedDestination = bookmark.namedDestination;
    * // Destroy the document
    * document.destroy();
    * ```
    */
    namedDestination: PdfNamedDestination;
    /**
     * Gets the bookmark title.
     *
     * @returns {string} Bookmark title.
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Get the bookmarks
     * let bookmarks: PdfBookmarkBase = document.bookmarks;
     * // Gets bookmark at the specified index
     * let bookmark: PdfBookmark = bookmarks.at(0) as PdfBookmark;
     * // Gets the bookmark title
     * let bookmarkTitle: string = bookmark.title;
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Sets the bookmark title.
    *
    * @param {string} value Bookmark title.
    *
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data, password);
    * // Get the bookmarks
    * let bookmarks: PdfBookmarkBase = document.bookmarks;
    * // Gets bookmark at the specified index
    * let bookmark: PdfBookmark = bookmarks.at(0) as PdfBookmark;
    * // Sets the bookmark title
    * bookmark.title = 'Syncfusion';
    * // Destroy the document
    * document.destroy();
    * ```
    */
    title: string;
    /**
     * Gets the bookmark color.
     *
     * @returns {number[]} Bookmark color.
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Get the bookmarks
     * let bookmarks: PdfBookmarkBase = document.bookmarks;
     * // Gets bookmark at the specified index
     * let bookmark: PdfBookmark = bookmarks.at(0) as PdfBookmark;
     * // Gets the bookmark color
     * let color: number[] = bookmark.color;
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Sets the bookmark color.
    *
    * @param {number[]} value Bookmark color.
    *
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data, password);
    * // Get the bookmarks
    * let bookmarks: PdfBookmarkBase = document.bookmarks;
    * // Gets bookmark at the specified index
    * let bookmark: PdfBookmark = bookmarks.at(0) as PdfBookmark;
    * // Sets the bookmark color
    * bookmark.color = [255, 0, 0];
    * // Destroy the document
    * document.destroy();
    * ```
    */
    color: number[];
    /**
     * Gets the text style.
     *
     * @returns {PdfTextStyle} Text style.
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Get the bookmarks
     * let bookmarks: PdfBookmarkBase = document.bookmarks;
     * // Gets bookmark at the specified index
     * let bookmark: PdfBookmark = bookmarks.at(0) as PdfBookmark;
     * // Gets the textStyle
     * let textStyle: PdfTextStyle = bookmark.textStyle;
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Sets the text style.
    *
    * @param {PdfTextStyle} value Text style.
    *
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data, password);
    * // Get the bookmarks
    * let bookmarks: PdfBookmarkBase = document.bookmarks;
    * // Gets bookmark at the specified index
    * let bookmark: PdfBookmark = bookmarks.at(0) as PdfBookmark;
    * // Sets the textStyle
    * bookmark.textStyle = PdfTextStyle.italic;
    * // Destroy the document
    * document.destroy();
    * ```
    */
    textStyle: PdfTextStyle;
    readonly _next: PdfBookmark;
    _updateTextStyle(value: PdfTextStyle): void;
    _obtainTextStyle(): PdfTextStyle;
    _obtainNamedDestination(): PdfNamedDestination;
}
/**
 * Represents a named destination in a PDF document.
 * ```typescript
 * // Load an existing PDF document
 * let document$: PdfDocument = new PdfDocument(data, password);
 * // Get the bookmarks
 * let bookmarks: PdfBookmarkBase = document.bookmarks;
 * // Gets the bookmark at the specified index
 * let bookmark: PdfBookmark = bookmarks.at(0) as PdfBookmark;
 * // Gets the named destination
 * let namedDestination: PdfNamedDestination = bookmark.namedDestination;
 * // Destroy the document
 * document.destroy();
 * ```
 */
export  class PdfNamedDestination {
    _destination: PdfDestination;
    _title: string;
    _dictionary: _PdfDictionary;
    _crossReference: _PdfCrossReference;
    /**
     * Initializes a new instance of the `PdfNamedDestination` class.
     *
     * @param {string} title The title.
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Get the bookmarks
     * let bookmarks: PdfBookmarkBase = document.bookmarks;
     * // Gets the bookmark at the specified index
     * let bookmark: PdfBookmark = bookmarks.at(0) as PdfBookmark;
     * // Sets the named destination
     * bookmark.namedDestination = new PdfNamedDestination('Chapter 1');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    constructor(title: string);
    /**
     * Initializes a new instance of the `PdfNamedDestination` class.
     *
     * @private
     * @param {_PdfDictionary} dictionary Destination dictionary.
     * @param {_PdfCrossReference} crossReference Cross reference.
     *
     */
    constructor(dictionary: _PdfDictionary, crossReference: _PdfCrossReference);
    /**
     * Gets the destination.
     *
     * @returns {PdfDestination} Page destination.
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Get the bookmarks
     * let bookmarks: PdfBookmarkBase = document.bookmarks;
     * // Gets the bookmark at the specified index
     * let bookmark: PdfBookmark = bookmarks.at(0) as PdfBookmark;
     * // Gets the named destination
     * let namedDestination: PdfNamedDestination = bookmark.namedDestination;
     * // Gets the destination
     * let destination$: PdfDestination = namedDestination.destination;
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Sets the destination.
    *
    * @param {PdfDestination} value destination.
    *
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data, password);
    * // Get the bookmarks
    * let bookmarks: PdfBookmarkBase = document.bookmarks;
    * // Gets the bookmark at the specified index
    * let bookmark: PdfBookmark = bookmarks.at(0) as PdfBookmark;
    * // Gets the named destination
    * let namedDestination: PdfNamedDestination = bookmark.namedDestination;
    * // Set the destination
    * namedDestination.destination = new PdfDestination(page, [100, 200]);
    * // Save the document
    * document.save('output.pdf');
    * // Destroy the document
    * document.destroy();
    * ```
    */
    destination: PdfDestination;
    /**
     * Gets the title.
     *
     * @returns {string} title.
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Get the bookmarks
     * let bookmarks: PdfBookmarkBase = document.bookmarks;
     * // Gets the bookmark at the specified index
     * let bookmark: PdfBookmark = bookmarks.at(0) as PdfBookmark;
     * // Gets the named destination
     * let namedDestination: PdfNamedDestination = bookmark.namedDestination;
     * // Gets the title
     * let title: string = namedDestination.title;
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Sets the title.
    *
    * @param {string} value title.
    *
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data, password);
    * // Get the bookmarks
    * let bookmarks: PdfBookmarkBase = document.bookmarks;
    * // Gets the bookmark at the specified index
    * let bookmark: PdfBookmark = bookmarks.at(0) as PdfBookmark;
    * // Gets the named destination
    * let namedDestination: PdfNamedDestination = bookmark.namedDestination;
    * // Set the title
    * namedDestination.title = 'Syncfusion';
    * // Save the document
    * document.save('output.pdf');
    * // Destroy the document
    * document.destroy();
    * ```
    */
    title: string;
    _updateNamedDestinationTitle(value: string, previousTitle: string): void;
    _initialize(): void;
}
export  class _PdfNamedDestinationCollection {
    _dictionary: _PdfDictionary;
    _crossReference: _PdfCrossReference;
    _namedDestinations: PdfNamedDestination[];
    constructor();
    constructor(dictionary: _PdfDictionary, crossReference: _PdfCrossReference);
    private _findDestination;
    _addCollection(destination: _PdfDictionary): void;
}
//node_modules/@syncfusion/ej2-pdf/src/pdf/core/pdf-merge.d.ts
export  class _PdfMergeHelper {
    _bookmarkHashTable: Map<PdfPage, PdfBookmarkBase[]>;
    _namedDestinations: any[];
    _bookmarks: any[];
    _fields: any[];
    _pageReference: Map<_PdfDictionary, PdfPage>;
    _bookmarksPageLinkReference: Map<_PdfReference, number>;
    _destination: any[];
    _newList: Map<_PdfReference, _PdfReference>;
    _annotationLayer: Map<number, _PdfReference>;
    _isLayersPresent: boolean;
    _fieldNames: string[];
    _crossReference: _PdfCrossReference;
    _destinationDocument: PdfDocument;
    _sourceDocument: PdfDocument;
    _options: PdfPageImportOptions;
    _kidsReference: any[];
    _formFieldsCollection: Map<number, _PdfReference>;
    _formFields: _PdfReference[];
    _isDuplicatePage: boolean;
    _fieldCount: number;
    _copier: _PdfCopier;
    constructor(crossReference: _PdfCrossReference, destination: PdfDocument, source: PdfDocument, pageReference: Map<_PdfDictionary, PdfPage>, options: PdfPageImportOptions);
    _formFieldsGroupingSupport(form: PdfForm, oldPage: PdfPage, newPage: PdfPage): void;
    _groupFormFieldsKids(destinationField: PdfField, field: PdfField, kidsArray: _PdfReference[], destKids: _PdfReference[], oldKids: _PdfReference[], ref: _PdfReference, array: _PdfReference[], index?: number, fieldIndex?: number, drEntry?: _PdfDictionary, widget?: any): _PdfReference[];
    _updateFieldsWithKids(destinationField: PdfField, field: PdfField, fieldDictionary: _PdfDictionary, index: number, fieldIndex: number, ref: _PdfReference, oldKids: _PdfReference[], array: _PdfReference[], drEntry: _PdfDictionary, formFieldDictionary?: _PdfDictionary): void;
    _removeFieldDictionary(dictionary: _PdfDictionary, keys: string[]): _PdfDictionary;
    _updateFieldDictionary(dictionary: _PdfDictionary, pageRef: _PdfReference, parentRef: _PdfReference): void;
    _createNewFieldDictionary(fieldDictionary: _PdfDictionary, destDictionary: _PdfDictionary): _PdfDictionary;
    _getItemStyle(item: any, field: PdfField): void;
    _createAppearance(destinationField: PdfField, field: PdfField, oldDictionary: _PdfDictionary, dictionary: _PdfDictionary, drEntry: _PdfDictionary, widget?: any): void;
    _obtainFont(item: _PdfDictionary, formDictionary: _PdfDictionary): PdfFont;
    _getFontStyle(fontStyle: string): PdfFontStyle;
    _insertFormFields(index: number, crossReference: _PdfCrossReference, pdfField: PdfField, form: PdfForm, ref: _PdfReference, array: _PdfReference[], kidsArray: _PdfReference[]): _PdfReference[];
    _mergeFormFieldsWithDocument(): void;
    _mergeLayer(newPageDictionary: _PdfDictionary, oldPageDictionary: _PdfDictionary, crossReference: _PdfCrossReference): void;
    _exportBookmarks(document: PdfDocument, pageCount: number): void;
    _getNamedDestination(nDest: PdfNamedDestination, page: PdfPage): PdfNamedDestination;
    _getDestination(page: PdfPage, dest: PdfDestination): PdfDestination;
    _writeObject(document: PdfDocument, table?: _PdfDictionary, value?: any, dictionary?: _PdfDictionary, key?: string, array?: any[], ref?: _PdfReference): void;
    _writeDictionary(value: any, table: _PdfDictionary, key: string, array: any[], ref: _PdfReference, list: any[] | // eslint-disable-line
    _PdfDictionary): void;
    _writeArray(document: PdfDocument, array: any[], value: any[], dictionary: _PdfDictionary): void;
    _writePropertiesDictionary(document: PdfDocument, table: _PdfDictionary, dictionary: _PdfDictionary): void;
    _fixDestinations(document: PdfDocument): void;
    _insertNewPage(page: PdfPage, index?: number): PdfPage;
    _objectDispose(): void;
}
export  class _PdfCopier {
    _traversedObjects: Map<_PdfReference, _PdfReference>;
    _targetCrossReference: _PdfCrossReference;
    _sourceCrossReference: _PdfCrossReference;
    _isGroupingSupport: boolean;
    constructor(targetCrossReference: _PdfCrossReference, sourceCrossReference: _PdfCrossReference);
    _copy(object: any): any;
    _copyDictionary(element: _PdfDictionary, copiedPage?: boolean): _PdfDictionary;
    _copyArray(originalArray: any[]): any[];
    _copyStream(originalStream: _PdfBaseStream): _PdfBaseStream;
    _copyReference(element: _PdfReference): any;
    _addToDestination(element: any): _PdfReference;
}
//node_modules/@syncfusion/ej2-pdf/src/pdf/core/pdf-file-structure.d.ts
/**
 * `PdfFileStructure` class represents the internal structure of the PDF file.
 * ```typescript
 * // Load an existing PDF document
 * let document$: PdfDocument = new PdfDocument(data, password);
 * // Access the internal file structure of the PDF document
 * let fileStructure: PdfFileStructure = document.fileStructure;
 * // Set the cross reference type
 * fileStructure.crossReferenceType = PdfCrossReferenceType.stream;
 * // Save the document
 * document.save('output.pdf');
 * // Destroy the document
 * document.destroy();
 * ```
 */
export  class PdfFileStructure {
    _crossReferenceType: PdfCrossReferenceType;
    _incrementalUpdate: boolean;
    /**
     * Gets the cross reference type of the PDF document.
     *
     * @returns {PdfCrossReferenceType} - Returns the cross reference type of the PDF document.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Access the internal file structure of the PDF document
     * let fileStructure: PdfFileStructure = document.fileStructure;
     * // Get the cross reference type
     * let type: PdfCrossReferenceType = fileStructure.crossReferenceType;
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Sets the cross reference type of the PDF document.
    *
    * @param {PdfCrossReferenceType} value - Specifies the cross reference type of the PDF document.
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data, password);
    * // Access the internal file structure of the PDF document
    * let fileStructure: PdfFileStructure = document.fileStructure;
    * // Set the cross reference type
    * fileStructure.crossReferenceType = PdfCrossReferenceType.stream;
    * // Save the document
    * document.save('output.pdf');
    * // Destroy the document
    * document.destroy();
    * ```
    */
    crossReferenceType: PdfCrossReferenceType;
    /**
     * Gets the boolean flag indicating whether the update is incremental.
     *
     * @returns { boolean } - Returns true if the PDF document supports incremental updates, otherwise false
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Access the internal file structure of the PDF document
     * let fileStructure: PdfFileStructure = document.fileStructure;
     * // Get the incremental update
     * let incrementalUpdate: boolean = fileStructure.isIncrementalUpdate;
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Sets the boolean flag indicating whether the update is incremental.
    *
    * @param {boolean} value - If `true`, enables incremental updates for the PDF document;
 otherwise, disables it.
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data, password);
    * // Access the internal file structure of the PDF document
    * let fileStructure: PdfFileStructure = document.fileStructure;
    * // Set the incremental updates
    * fileStructure.isIncrementalUpdate = false;
    * // Save the document
    * document.save('output.pdf');
    * // Destroy the document
    * document.destroy();
    * ```
    */
    isIncrementalUpdate: boolean;
}
//node_modules/@syncfusion/ej2-pdf/src/pdf/core/pdf-document.d.ts
/**
 * Represents a PDF document and can be used to parse an existing PDF document.
 * ```typescript
 * // Load an existing PDF document
 * let document$: PdfDocument = new PdfDocument(data);
 * // Access first page
 * let page$: PdfPage = document.getPage(0);
 * // Flatten annotations and form fields
 * document.flatten = true;
 * // Save the document
 * document.save('output.pdf');
 * // Destroy the document
 * document.destroy();
 * ```
 */
export  class PdfDocument {
    _stream: _PdfStream;
    _crossReference: _PdfCrossReference;
    _catalog: _PdfCatalog;
    _fileStructure: PdfFileStructure;
    private _headerSignature;
    private _startXrefSignature;
    private _endObjSignature;
    private _version;
    _pages: Map<number, PdfPage>;
    private _linear;
    _pageCount: number;
    private _flatten;
    _permissions: PdfPermissionFlag;
    _form: PdfForm;
    _bookmarkBase: PdfBookmarkBase;
    _namedDestinationCollection: _PdfNamedDestinationCollection;
    _isEncrypted: boolean;
    _isUserPassword: boolean;
    _hasUserPasswordOnly: boolean;
    _encryptOnlyAttachment: boolean;
    _encryptMetaData: boolean;
    _isExport: boolean;
    private _allowCustomData;
    _bookmarkHashTable: Map<PdfPage, PdfBookmarkBase[]>;
    _targetIndex: number;
    _isDuplicatePage: boolean;
    _mergeHelperCache: Map<string, _PdfMergeHelper>;
    _uniqueID: string;
    _isSplitDocument: boolean;
    private _layers;
    _optionalContentDictionaries: _PdfReference[];
    _order: (_PdfReference | _PdfReference[])[];
    _on: _PdfReference[];
    _off: _PdfReference[];
    _as: _PdfReference[];
    _printLayer: _PdfReference[];
    _isLoaded: boolean;
    splitEvent: Function;
    /**
     * Creates a new PDF document
     *
     * ```typescript
     * // Create a new PDF document
     * let document$: PdfDocument = new PdfDocument();
     * // Add a new page
     * let page$: PdfPage = document.addPage();
     * // Gets the graphics of the PDF page
     * let graphics$: PdfGraphics = page.graphics;
     * // Create a new pen.
     * let pen$: PdfPen = new PdfPen([0, 0, 0], 1);
     * // Draw line on the page graphics.
     * graphics.drawLine(pen, 10, 10, 100, 100);
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    constructor();
    /**
     * Initializes a new instance of the `PdfDocument` class.
     *
     * @param {string} data PDF data as Base64 string.
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data);
     * // Access first page
     * let page$: PdfPage = document.getPage(0);
     * // Flatten annotations and form fields
     * document.flatten = true;
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    constructor(data: string);
    /**
     * Initializes a new instance of the `PdfDocument` class with password.
     *
     * @param {string} data PDF data as Base64 string.
     * @param {string} password Password to decrypt PDF.
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Access first page
     * let page$: PdfPage = document.getPage(0);
     * // Flatten annotations and form fields
     * document.flatten = true;
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    constructor(data: string, password: string);
    /**
     * Initializes a new instance of the `PdfDocument` class.
     *
     * @param {Uint8Array} data PDF data as byte array.
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data);
     * // Access first page
     * let page$: PdfPage = document.getPage(0);
     * // Flatten annotations and form fields
     * document.flatten = true;
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    constructor(data: Uint8Array);
    /**
     * Initializes a new instance of the `PdfDocument` class with password.
     *
     * @param {Uint8Array} data PDF data as byte array.
     * @param {string} password Password to decrypt PDF.
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Access first page
     * let page$: PdfPage = document.getPage(0);
     * // Flatten annotations and form fields
     * document.flatten = true;
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    constructor(data: Uint8Array, password: string);
    _allowImportCustomData: boolean;
    readonly _linearization: _Linearization;
    readonly _startXRef: number;
    /**
     * Gets a value indicating whether the document is encrypted. (Read Only).
     *
     * @returns {boolean} A boolean value indicates whether the document is encrypted.
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Gets a value indicating whether the document is encrypted.
     * let isEncrypted: boolean = document.isEncrypted;
     * // Destroy the document
     * document.destroy();
     * ```
     */
    readonly isEncrypted: boolean;
    /**
     * Gets a value indicating whether the document is decrypted using the user password. (Read only).
     *
     * @returns {boolean} A boolean value indicates whether the document is decrypted using the user password.
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Gets a value indicating whether the document is decrypted using the user password
     * let isUserPassword: boolean = document.isUserPassword;
     * // Destroy the document
     * document.destroy();
     * ```
     */
    readonly isUserPassword: boolean;
    /**
     * Gets the page count (Read only).
     *
     * @returns {number} Number of pages
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Gets the page count
     * let count$: number = document.pageCount;
     * // Destroy the document
     * document.destroy();
     * ```
     */
    readonly pageCount: number;
    /**
     * Gets the PDF form fields included in the document (Read only).
     *
     * @returns {PdfForm} Form object
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Access loaded form
     * let form: PdfForm = document.form;
     * // Destroy the document
     * document.destroy();
     * ```
     */
    readonly form: PdfForm;
    /**
     * Gets the boolean flag to flatten the annotations and form fields.
     *
     * @returns {boolean} Flag to flatten
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Gets the flatten value applied
     * let flatten: boolean = document.flatten;
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Sets the boolean flag to flatten the annotations and form fields.
    *
    * @param {boolean} value to flatten
    *
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data, password);
    * // Flatten PDF annotations and form fields
    * document.flatten = true;
    * // Destroy the document
    * document.destroy();
    * ```
    */
    flatten: boolean;
    /**
     * Gets the permission flag of the PDF document (Read only).
     *
     * @returns {PdfPermissionFlag} permission flag. Default value is PdfPermissionFlag.default.
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Gets the permission flag
     * let permission: PdfPermissionFlag = document.permissions;
     * // Destroy the document
     * document.destroy();
     * ```
     */
    readonly permissions: PdfPermissionFlag;
    /**
     * Gets the bookmarks (Read only).
     *
     * @returns {PdfBookmarkBase} Bookmarks.
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Get bookmarks
     * let bookmarks$: PdfBookmarkBase = document.bookmarks;
     * // Destroy the document
     * document.destroy();
     * ```
     */
    readonly bookmarks: PdfBookmarkBase;
    /**
     * Gets the internal structure of the PDF document.
     *
     * @returns {PdfFileStructure} The internal structure of the PDF document.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Access the internal file structure of the PDF document
     * let fileStructure$: PdfFileStructure = document.fileStructure;
     * // Get the cross reference type
     * let type$: PdfCrossReferenceType = fileStructure.crossReferenceType;
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    readonly fileStructure: PdfFileStructure;
    /**
     * Gets the collection of `PdfLayer` from the document.
     *
     * @returns {PdfLayerCollection} Layer collection.
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data);
     * // Access the collection of layers in the document
     * let layers: PdfLayerCollection = document.layers;
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    readonly layers: PdfLayerCollection;
    /**
     * Gets the `PdfPage` at the specified index.
     *
     * @param {number} pageIndex Page index.
     * @returns {PdfPage} PDF page at the specified index.
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Access first page
     * let page$: PdfPage = document.getPage(0);
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    getPage(pageIndex: number): PdfPage;
    /**
     * Creates a new page with default page settings and adds it to the collection.
     *
     * @returns {PdfPage} PDF page at the specified index.
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Add a new PDF page
     * let page$: PdfPage = document.addPage();
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    addPage(): PdfPage;
    /**
     * Creates a new page with default settings and inserts it into the collection at the specified page index.
     *
     * @param {number} index Page index.
     * @returns {PdfPage} PDF page at the specified index.
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Create and insert a new PDF page at 5th index
     * let page$: PdfPage = document.addPage(5);
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    addPage(index: number): PdfPage;
    /**
     * Creates a new page with specified page settings and adds it to the collection.
     *
     * @param {PdfPageSettings} pageSettings Page settings.
     * @returns {PdfPage} PDF page at the specified index.
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Create a new PDF page settings instance
     * let pageSettings: PdfPageSettings = new PdfPageSettings();
     * // Sets the margins
     * pageSettings.margins = new PdfMargins(40);
     * // Sets the page size
     * pageSettings.size = [595, 842];
     * // Sets the page orientation
     * pageSettings.orientation = PdfPageOrientation.landscape;
     * // Add a new PDF page with page settings
     * page = document.addPage(pageSettings);
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    addPage(pageSettings: PdfPageSettings): PdfPage;
    /**
     * Creates a new page with specified page settings and inserts it into the collection at the specified page index.
     *
     * @param {number} index Page index.
     * @param {PdfPageSettings} pageSettings Page settings.
     * @returns {PdfPage} PDF page at the specified index.
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Create a new PDF page settings instance
     * let pageSettings: PdfPageSettings = new PdfPageSettings();
     * // Sets the margins
     * pageSettings.margins = new PdfMargins(40);
     * // Sets the page size
     * pageSettings.size = [595, 842];
     * // Sets the page orientation
     * pageSettings.orientation = PdfPageOrientation.landscape;
     * // Create and insert a new PDF page at 5th index with specified page settings
     * page = document.addPage(5, pageSettings);
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    addPage(index: number, pageSettings: PdfPageSettings): PdfPage;
    /**
     * Creates a new section with default page settings.
     *
     * @returns {PdfSection} section of document
     *
     * ```typescript
     * // Create a new PDF document
     * let document$: PdfDocument = new PdfDocument();
     * // Add a new section to the document
     * let section$: PdfSection = document.addSection();
     * // Add a new page to the section
     * let page$: PdfPage = section.addPage();
     * // Gets the graphics of the PDF page
     * let graphics$: PdfGraphics = page.graphics;
     * // Create a new pen.
     * let pen$: PdfPen = new PdfPen([0, 0, 0], 1);
     * // Draw line on the page graphics.
     * graphics.drawLine(pen, 10, 10, 100, 100);
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    addSection(): PdfSection;
    /**
     * Creates a new section with custom page settings.
     *
     * @param {PdfPageSettings} settings Settings of the section.
     * @returns {PdfSection} section of document
     *
     * ```typescript
     * // Create an new PDF document
     * let document$: PdfDocument = new PdfDocument();
     * // Create a new PDF page settings instance
     * let pageSettings: PdfPageSettings = new PdfPageSettings();
     * // Sets the margins
     * pageSettings.margins = new PdfMargins(40);
     * // Sets the page size
     * pageSettings.size = [595, 842];
     * // Sets the page orientation
     * pageSettings.orientation = PdfPageOrientation.landscape;
     * // Add a new section to the document with page settings
     * let section$: PdfSection = document.addSection(pageSettings);
     * // Add a new page to the section
     * let page$: PdfPage = section.addPage();
     * // Gets the graphics of the PDF page
     * let graphics$: PdfGraphics = page.graphics;
     * // Create a new pen.
     * let pen$: PdfPen = new PdfPen([0, 0, 0], 1);
     * // Draw line on the page graphics.
     * graphics.drawLine(pen, 10, 10, 100, 100);
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    addSection(settings: PdfPageSettings): PdfSection;
    /**
     * Removes the specified page.
     *
     * @param {PdfPage} page The page to remove.
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Access the first page
     * let page$: PdfPage = document.getPage(0);
     * // Removes the specified page
     * document.removePage(page);
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    removePage(page: PdfPage): void;
    /**
     * Removes the page from the specified index.
     *
     * @param {number} index The page index to remove.
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Removes the first page
     * document.removePage(0);
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    removePage(index: number): void;
    _checkPageNumber(index: number): void;
    _updatePageCache(index: number, isIncrement?: boolean): void;
    _removePage(pageToRemove: PdfPage): void;
    _removeParent(referenceToRemove: _PdfReference, dictionary: _PdfDictionary): void;
    _parseBookmarkDestination(): Map<PdfPage, PdfBookmarkBase[]>;
    _removePageTemplates(page: PdfPage): void;
    _removeInternalTemplates(dictionary: _PdfDictionary, key: string, page: PdfPage): void;
    _getUpdatedPageTemplates(namedPages: _PdfDictionary[], page: PdfPage): _PdfDictionary[];
    /**
     * Reorders the pages in the PDF document.
     *
     * @param {number[]} orderArray The page sequence to arrange the pages.
     * @returns {void} Nothing.
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Reorders the pages in the PDF document
     * document.reorderPages([3, 2, 1]);
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    reorderPages(orderArray: number[]): void;
    _sortedArray(order: number[]): number[];
    _cloneResources(source: _PdfDictionary, target: _PdfDictionary): void;
    _cloneInnerResources(key: string, value: any, resourceDictionary: _PdfDictionary): void;
    /**
     * Saves the modified document.
     *
     * @returns {Uint8Array} Saved PDF data as byte array.
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Save the document
     * let data: Uint8Array = document.save();
     * // Destroy the document
     * document.destroy();
     * ```
     */
    save(): Uint8Array;
    /**
     * Saves the modified document to the specified filename.
     *
     * @param {string} filename Specifies the filename to save the output pdf document.
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Save the document
     * document.save('Output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    save(filename: string): void;
    /**
     * Saves the document to the specified output stream and return the stream as Blob.
     *
     * @returns {Promise<{ blobData: Blob }>} Saved PDF data as `Blob`.
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data);
     * // Save the document
     * let data: Promise<{ blobData: Blob }> = document.saveAsBlob();
     * // Destroy the document
     * document.destroy();
     * ```
     */
    saveAsBlob(): Promise<{
        blobData: Blob;
    }>;
    /**
     * Exports the annotations from the PDF document.
     *
     * @returns {Uint8Array} Exported annotation data as byte array.
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data);
     * // Exports the annotations from the PDF document.
     * let data: Uint8Array = document.exportAnnotations();
     * // Destroy the document
     * document.destroy();
     * ```
     */
    exportAnnotations(): Uint8Array;
    /**
     * Exports the annotations from the PDF document.
     *
     * @param {PdfAnnotationExportSettings} settings Annotation export settings.
     * @returns {Uint8Array} Exported annotation data as byte array.
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Sets export data format as JSON type to annotation export settings
     * let settings: PdfAnnotationExportSettings = new PdfAnnotationExportSettings();
     * settings.dataFormat = DataFormat.json;
     * // Export annotations to JSON format
     * let json: Uint8Array = document.exportAnnotations(settings);
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    exportAnnotations(settings: PdfAnnotationExportSettings): Uint8Array;
    /**
     * Exports the annotations from the PDF document.
     *
     * @param {string} filename Output file name.
     * @returns {void} Exports the annotations from the PDF document.
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data);
     * // Exports the annotations from the PDF document.
     * document.exportAnnotations('annotations.xfdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    exportAnnotations(filename: string): void;
    /**
     * Exports the annotations from the PDF document.
     *
     * @param {string} filename Output file name.
     * @param {PdfAnnotationExportSettings} settings Annotation export settings.
     * @returns {void} Exports the annotations from the PDF document.
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Sets export data format as JSON type to annotation export settings
     * let settings: PdfAnnotationExportSettings = new PdfAnnotationExportSettings();
     * settings.dataFormat = DataFormat.json;
     * // Export annotations to JSON format
     * let json: Uint8Array = document.exportAnnotations('annotations.json', settings);
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    exportAnnotations(filename: string, settings: PdfAnnotationExportSettings): void;
    /**
     * Exports the form data from the PDF document.
     *
     * @returns {Uint8Array} Exported form data as byte array.
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data);
     * // Exports the form data from the PDF document.
     * let data: Uint8Array = document.exportFormData();
     * // Destroy the document
     * document.destroy();
     * ```
     */
    exportFormData(): Uint8Array;
    /**
     * Exports the form data from the PDF document.
     *
     * @param {PdfFormFieldExportSettings} settings Form field export settings.
     * @returns {Uint8Array} Exported form data as byte array.
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data);
     * // Sets the form field data export settings with output data format.
     * let settings: PdfFormFieldExportSettings = new PdfFormFieldExportSettings();
     * settings.dataFormat = DataFormat.json;
     * // Export form field to JSON format
     * let json: Uint8Array = document.exportFormData(settings);
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    exportFormData(settings: PdfFormFieldExportSettings): Uint8Array;
    /**
     * Exports the form data from the PDF document.
     *
     * @param {string} filename Output file name.
     * @returns {void} Exports the form data from the PDF document.
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data);
     * // Export form field to XFDF format
     * let xfdf: Uint8Array = document.exportFormData(‘formData.xfdf’);
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    exportFormData(filename: string): void;
    /**
     * Exports the form data from the PDF document.
     *
     * @param {string} filename Output file name.
     * @param {PdfFormFieldExportSettings} settings Form field export settings.
     * @returns {void} Exports the form data from the PDF document.
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data);
     * // Sets the form field data export settings with output data format.
     * let settings: PdfFormFieldExportSettings = new PdfFormFieldExportSettings();
     * settings.dataFormat = DataFormat.json;
     * // Export form field to JSON format
     * let json: Uint8Array = document.exportFormData('formData.json', settings);
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    exportFormData(filename: string, settings: PdfFormFieldExportSettings): void;
    /**
     * Imports the annotations from the PDF document.
     *
     * @param {string} data annotations data as base64 string.
     * @param {DataFormat} dataFormat Data format of the input data.
     * @returns {void} Imports the annotations to the PDF document.
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data);
     * // Imports annotations from to the PDF document.
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
     * Imports the annotations from the PDF document.
     *
     * @param {Uint8Array} data annotations data as byte array.
     * @param {DataFormat} dataFormat Data format of the input data.
     * @returns {void} Imports the annotations to the PDF document.
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data);
     * // Imports annotations from to the PDF document.
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
     * Imports the form data from the PDF document.
     *
     * @param {string} data Form data as base64 string.
     * @param {DataFormat} dataFormat Data format of the input data.
     * @returns {void} Imports the form data to the PDF document.
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data);
     * // Imports form data from to the PDF document.
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
     * Imports the form data from the PDF document.
     *
     * @param {Uint8Array} data Form data as byte array.
     * @param {DataFormat} dataFormat Data format of the input data.
     * @returns {void} Imports the form data to the PDF document.
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data);
     * // Imports form data from to the PDF document.
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
     * Disposes the current instance of `PdfDocument` class.
     *
     * @returns {void} Nothing.
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data);
     * // Destroy the document
     * document.destroy();
     * ```
     */
    destroy(): void;
    readonly _destinationCollection: _PdfNamedDestinationCollection;
    _getLinearizationPage(pageIndex: number): {
        dictionary: _PdfDictionary;
        reference: _PdfReference;
    };
    _checkHeader(): void;
    _parse(recoveryMode: boolean): void;
    _find(stream: _PdfStream, signature: Uint8Array, limit?: number, backwards?: boolean): boolean;
    _doPostProcess(isFlatten?: boolean): void;
    _doPostProcessOnFormFields(isFlatten?: boolean): void;
    _doPostProcessOnAnnotations(isFlatten?: boolean): void;
    _addWatermarkText(): void;
    /**
     * Import the pages specified by the start and end index into the current document's pages collection.
     *
     * @param {number} startIndex Start page index. The default value is 0.
     * @param {number} endIndex End page index. The default value is the index of the last page in the source document.
     *
     * ```typescript
     * // Load an existing PDF document
     * let destination$: PdfDocument = new PdfDocument(data1);
     * // Load another existing PDF document
     * let sourceDocument: PdfDocument = new PdfDocument(data2);
     * // Import 5 pages from page index 2 to 6 into the destination document.
     * // Save the output PDF
     * destination.save(‘Output.pdf’);
     * // Destroy the documents
     * destination.destroy();
     * sourceDocument.destroy();
     * ```
     */
    /**
     * Import the pages specified by start and end index into the current document's pages collection.
     *
     * @param {number} startIndex Start page index. The default value is 0.
     * @param {number} endIndex End page index. The default value is the index of the last page in the source document.
     *
     * ```typescript
     * // Load an existing PDF document
     * let destination$: PdfDocument = new PdfDocument(data1);
     * // Load another existing PDF document
     * let sourceDocument: PdfDocument = new PdfDocument(data2);
     * let options$: PdfPageImportOptions = new PdfPageImportOptions();
     * options.targetIndex = 3;
     * // Import 5 pages from page index 2 to 6 into the destination document and insert them at index 3.
     * // Save the output PDF
     * destination.save(‘Output.pdf’);
     * // Destroy the documents
     * destination.destroy();
     * sourceDocument.destroy();
     * ```
     */
    /**
     * Copy the specific page and insert it as the next page
     *
     *
     * ```typescript
     * // Load an existing PDF document
     * let sourceDocument: PdfDocument = new PdfDocument(data1);
     * // Copy the second page and add it as third page
     * // Save the output PDF
     * sourceDocument.save(‘Output.pdf’);
     * // Destroy the documents
     * sourceDocument.destroy();
     * ```
     */
    /**
     * Copy the specific page and insert it at the specified target page index and page rotation.
     *
     *
     * ```typescript
     * // Load an existing PDF document
     * let sourceDocument: PdfDocument = new PdfDocument(readFromResources('PDF_Succinctly.pdf'));
     * let options$: PdfPageImportOptions = new PdfPageImportOptions();
     * options.targetIndex = 1;
     * options.rotation = PdfRotationAngle.angle180;
     * // Copy the first page and add it as second page with page rotation
     * // Save the output PDF
     * let output = sourceDocument.save();
     * write('863764-86.pdf', output);
     * // Destroy the documents
     * sourceDocument.destroy();
     * ```
     */
    /**
     * Import the specified page into the current document pages collection as the last page
     *
     *
     * ```typescript
     * // Load an existing PDF document
     * let destination$: PdfDocument = new PdfDocument(data1);
     * // Load another existing PDF document
     * let sourceDocument: PdfDocument = new PdfDocument(data2);
     * // Access first page of the source document
     * let pageToImport: PdfPage = sourceDocument.getPage(0);
     * // Import the page into the destination document as the last page.
     * // Save the output PDF
     * destination.save(‘Output.pdf’);
     * // Destroy the documents
     * destination.destroy();
     * sourceDocument.destroy();
     * ```
     */
    /**
     * Create a new page with default settings and insert it into the collection at the specified page index.
     *
     *
     * ```typescript
     * // Load an existing PDF document
     * let destination$: PdfDocument = new PdfDocument(data1);
     * // Load another existing PDF document
     * let sourceDocument: PdfDocument = new PdfDocument(data2);
     * // Access first page of the source document
     * let pageToImport: PdfPage = sourceDocument.getPage(0);
     * let options$: PdfPageImportOptions = new PdfPageImportOptions();
     * options.targetIndex = 5;
     * // Imports the page into destination document as 5th page
     * // Save the output PDF
     * destination.save(‘Output.pdf’);
     * // Destroy the documents
     * destination.destroy();
     * sourceDocument.destroy();
     * ```
     */
    /**
     * Splitting a PDF file into individual pages.
     *
     * @returns {void} Nothing
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data);
     * document.splitEvent = documentSplitEvent;
     * // Split PDF document into individual pages
     * document.split();
     * // Event to invoke while splitting PDF document data
     * function documentSplitEvent(sender: PdfDocument, args: PdfDocumentSplitEventArgs): void {
     *   Save.save(‘output_’ + args.splitIndex + ‘.pdf’, new Blob([args.pdfData], { type: 'application/pdf' }));
     * }
     * // Destroy the document
     * document.destroy();
     */
    split(): void;
    /**
     * Splits the PDF document into parts, each containing a maximum number of pages specified.
     *
     * @param {number} fixedNumber specifies the maximum number of pages in each split PDF. The default value is 1.
     * @returns {void} Nothing
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data);
     * document.splitEvent = documentSplitEvent;
     * // Split PDF document by fixed number of pages
     * document.splitByFixedNumber(1);
     * // Event to invoke while splitting PDF document data
     * function documentSplitEvent(sender: PdfDocument, args: PdfDocumentSplitEventArgs): void {
     *   Save.save(‘output_’ + args.splitIndex + ‘.pdf’, new Blob([args.pdfData], { type: 'application/pdf' }));
     * }
     * // Destroy the document
     * document.destroy();
     */
    splitByFixedNumber(fixedNumber: number): void;
    /**
     * Splits the PDF document into multiple parts based on the specified page ranges.
     *
     * @param {Array<number[]>} ranges The two dimensional number array specified for start and end page indexes to split PDF documents.
     * @returns {void} Nothing
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data);
     * document.splitEvent = documentSplitEvent;
     * // Split PDF document by page ranges specified
     * document.splitByPageRanges([[0, 4], [5, 9]]);
     * // Event to invoke while splitting PDF document data
     * function documentSplitEvent(sender: PdfDocument, args: PdfDocumentSplitEventArgs): void {
     *   Save.save(‘output_’ + args.splitIndex + ‘.pdf’, new Blob([args.pdfData], { type: 'application/pdf' }));
     * }
     * // Destroy the document
     * document.destroy();
     */
    splitByPageRanges(ranges: number[][]): void;
    private _invokeSplitEvent;
}
/**
 * Represents annotation export settings.
 * ```typescript
 * // Load an existing PDF document
 * let document$: PdfDocument = new PdfDocument(data, password);
 * // Sets export data format as JSON type to annotation export settings
 * let settings: PdfAnnotationExportSettings = new PdfAnnotationExportSettings();
 * // Set the data format defined in annotation export settings
 * settings.dataFormat = DataFormat.json;
 * // Export annotations to JSON format
 * let json: Uint8Array = document.exportAnnotations(settings);
 * // Save the document
 * document.save('output.pdf');
 * // Destroy the document
 * document.destroy();
 * ```
 */
export  class PdfAnnotationExportSettings {
    _format: DataFormat;
    _exportAppearance: boolean;
    /**
     * Gets the data format defined in annotation export settings.
     *
     * @returns {DataFormat} - Returns the data format.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Sets export data format as JSON type to annotation export settings
     * let settings: PdfAnnotationExportSettings = new PdfAnnotationExportSettings();
     * // Export annotations to JSON format
     * let json: Uint8Array = document.exportAnnotations(settings);
     * // Get the data format defined in annotation export settings
     * let dataFormat: DataFormat = settings.dataFormat;
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Sets the data format defined in annotation export settings.
    *
    * @param {DataFormat} format - Specifies the data format.
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data, password);
    * // Sets export data format as JSON type to annotation export settings
    * let settings: PdfAnnotationExportSettings = new PdfAnnotationExportSettings();
    * // Set the data format defined in annotation export settings
    * settings.dataFormat = DataFormat.json;
    * // Export annotations to JSON format
    * let json: Uint8Array = document.exportAnnotations(settings);
    * // Save the document
    * document.save('output.pdf');
    * // Destroy the document
    * document.destroy();
    * ```
    */
    dataFormat: DataFormat;
    /**
     * Gets the boolean value indicating whether the appearance of a particular object can be exported or not.
     *
     * @returns {boolean} - Returns the boolean value.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Sets the annotation export settings with enabled export appearance.
     * let settings: PdfAnnotationExportSettings = new PdfAnnotationExportSettings();
     * // Export annotations to XFDF format
     * let xfdf: Uint8Array = document.exportAnnotations(settings);
     * // Get the boolean value indicating whether the appearance of a particular object can be exported or not
     * let appearance: boolean = settings.exportAppearance;
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Sets the boolean value indicating whether the appearance of a particular object can be exported or not.
    *
    * @param {boolean} value - The boolean value.
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data, password);
    * // Sets the annotation export settings with enabled export appearance.
    * let settings: PdfAnnotationExportSettings = new PdfAnnotationExportSettings();
    * // Set the boolean value indicating whether the appearance of a particular object can be exported or not
    * settings.exportAppearance = true;
    * // Export annotations to XFDF format
    * let xfdf: Uint8Array = document.exportAnnotations(settings);
    * // Save the document
    * document.save('output.pdf');
    * // Destroy the document
    * document.destroy();
    * ```
    */
    exportAppearance: boolean;
}
/**
 * Represents form fields export settings.
 * ```typescript
 * // Load an existing PDF document
 * let document$: PdfDocument = new PdfDocument(data);
 * // Sets the form field data export settings with output data format.
 * let settings: PdfFormFieldExportSettings = new PdfFormFieldExportSettings();
 * // Set the data format defined in form field export settings.
 * settings.dataFormat = DataFormat.json;
 * // Export form field to JSON format
 * let json: Uint8Array = document.exportFormData(settings);
 * // Save the document
 * document.save('output.pdf');
 * // Destroy the document
 * document.destroy();
 * ```
 */
export  class PdfFormFieldExportSettings {
    _format: DataFormat;
    _exportName: string;
    _asPerSpecification: boolean;
    /**
     * Gets the data format defined in form field export settings.
     *
     * @returns {DataFormat} - Returns the data format.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data);
     * // Sets the form field data export settings with output data format.
     * let settings: PdfFormFieldExportSettings = new PdfFormFieldExportSettings();
     * // Export form field to JSON format
     * let json: Uint8Array = document.exportFormData(settings);
     * // Get the data format defined in form field export settings
     * let dataFormat: DataFormat = settings.dataFormat;
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Sets the data format defined in form field export settings.
    *
    * @param {DataFormat} format - Specifies the data format.
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data);
    * // Sets the form field data export settings with output data format.
    * let settings: PdfFormFieldExportSettings = new PdfFormFieldExportSettings();
    * // Set the data format defined in form field export settings.
    * settings.dataFormat = DataFormat.json;
    * // Export form field to JSON format
    * let json: Uint8Array = document.exportFormData(settings);
    * // Save the document
    * document.save('output.pdf');
    * // Destroy the document
    * document.destroy();
    * ```
    */
    dataFormat: DataFormat;
    /**
     * Gets the export name defined in form field export settings.
     *
     * @returns {string} - Returns the string value.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data);
     * // Sets the form field data export settings with export name.
     * let settings: PdfFormFieldExportSettings = new PdfFormFieldExportSettings();
     * // Export form field to JSON format
     * let json: Uint8Array = document.exportFormData(settings);
     * // Get the export name defined in form field export settings
     * let name: boolean = settings.exportName;
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Sets the export name defined in form field export settings.
    *
    * @param {string} name - Specifies the export name of the form.
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data);
    * // Sets the form field data export settings with export name.
    * let settings: PdfFormFieldExportSettings = new PdfFormFieldExportSettings();
    * // Set the export name defined in form field export settings.
    * settings.exportName = ‘JobApplication’.
    * // Export form field to JSON format
    * let json: Uint8Array = document.exportFormData(settings);
    * // Save the document
    * document.save('output.pdf');
    * // Destroy the document
    * document.destroy();
    * ```
    */
    exportName: string;
    /**
     * Gets the boolean value indicating whether the data in a form field can be exported based on a certain specification.
     *
     * @returns {boolean} - Returns the boolean value.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data);
     * // Sets the boolean value indicating whether the data in a form field can be exported based on a certain specification.
     * let settings: PdfFormFieldExportSettings = new PdfFormFieldExportSettings();
     * // Export form field to JSON format
     * let json: Uint8Array = document.exportFormData(settings);
     * // Get the boolean value indicating whether the data in a form field can be exported based on a certain specification.
     * let asPerSpecification: boolean = settings.asPerSpecification;
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Sets the boolean value indicating whether the data in a form field can be exported based on a certain specification.
    *
    * @param {boolean} value - The boolean value.
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data);
    * // Sets the boolean value indicating whether the data in a form field can be exported based on a certain specification.
    * let settings: PdfFormFieldExportSettings = new PdfFormFieldExportSettings();
    * // Set the boolean value indicating whether the data in a form field can be exported based on a certain specification.
    * settings.asPerSpecification = true;
    * // Export form field to JSON format
    * let json: Uint8Array = document.exportFormData(settings);
    * // Save the document
    * document.save('output.pdf');
    * // Destroy the document
    * document.destroy();
    * ```
    */
    asPerSpecification: boolean;
}
/**
 * The class provides various settings related to PDF pages.
 * ```typescript
 * // Load an existing PDF document
 * let document$: PdfDocument = new PdfDocument(data, password);
 * // Create a new PDF page settings instance
 * let pageSettings: PdfPageSettings = new PdfPageSettings();
 * // Sets the margins
 * pageSettings.margins = new PdfMargins(40);
 * // Sets the page size
 * pageSettings.size = [595, 842];
 * // Sets the page orientation
 * pageSettings.orientation = PdfPageOrientation.landscape;
 * // Add a new PDF page with page settings
 * page = document.addPage(pageSettings);
 * // Save the document
 * document.save('output.pdf');
 * // Destroy the document
 * document.destroy();
 * ```
 */
export  class PdfPageSettings {
    _orientation: PdfPageOrientation;
    _size: number[];
    _isOrientation: boolean;
    _margins: PdfMargins;
    _rotation: PdfRotationAngle;
    /**
     * Initializes a new instance of the `PdfPageSettings` class
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Create a new PDF page settings instance
     * let pageSettings: PdfPageSettings = new PdfPageSettings();
     * // Sets the margins
     * pageSettings.margins = new PdfMargins(40);
     * // Sets the page size
     * pageSettings.size = [595, 842];
     * // Sets the page orientation
     * pageSettings.orientation = PdfPageOrientation.landscape;
     * // Add a new PDF page with page settings
     * page = document.addPage(pageSettings);
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    constructor();
    /**
     * Gets the orientation of the page.
     *
     * @returns {PdfPageOrientation} The orientation.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Create a new PDF page settings instance
     * let pageSettings: PdfPageSettings = new PdfPageSettings();
     * // Sets the page size
     * pageSettings.size = [842, 595];
     * // Gets the page orientation
     * let orientation$: PdfPageOrientation = pageSettings.orientation;
     * // Add a new PDF page with page settings
     * page = document.addPage(pageSettings);
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Sets the orientation of the page.
    *
    * @param {PdfPageOrientation} value The orientation.
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data, password);
    * // Create a new PDF page settings instance
    * let pageSettings: PdfPageSettings = new PdfPageSettings();
    * // Sets the page orientation
    * pageSettings.orientation = PdfPageOrientation.landscape;
    * // Add a new PDF page with page settings
    * page = document.addPage(pageSettings);
    * // Save the document
    * document.save('output.pdf');
    * // Destroy the document
    * document.destroy();
    * ```
    */
    orientation: PdfPageOrientation;
    /**
     * Gets the size of the page.
     *
     * @returns {number[]} The width and height of the page as number array.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Access the first page
     * let page$: PdfPage = document.getPage(0);
     * // Gets the width and height of the PDF page as number array
     * let size$: number[] = page.size;
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Sets the width and height of the page.
    *
    * @param {number[]} value The width and height of the page as number array.
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data, password);
    * // Create a new PDF page settings instance
    * let pageSettings: PdfPageSettings = new PdfPageSettings();
    * // Sets the page size
    * pageSettings.size = [595, 842];
    * // Sets the page orientation
    * pageSettings.orientation = PdfPageOrientation.landscape;
    * // Add a new PDF page with page settings
    * page = document.addPage(pageSettings);
    * // Save the document
    * document.save('output.pdf');
    * // Destroy the document
    * document.destroy();
    * ```
    */
    size: number[];
    /**
     * Gets the margin value of the page.
     *
     * @returns {PdfMargins} PDF margins
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Create a new PDF page settings instance
     * let pageSettings: PdfPageSettings = new PdfPageSettings();
     * // Gets the margins
     * let margins: PdfMargins = pageSettings.margins;
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Sets the margin value of the page.
    *
    * @param {PdfMargins} value PDF margins
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data, password);
    * // Create a new PDF page settings instance
    * let pageSettings: PdfPageSettings = new PdfPageSettings();
    * // Sets the margins
    * pageSettings.margins = new PdfMargins(40);
    * // Add a new PDF page with page settings
    * page = document.addPage(pageSettings);
    * // Save the document
    * document.save('output.pdf');
    * // Destroy the document
    * document.destroy();
    * ```
    */
    margins: PdfMargins;
    /**
     * Gets the rotation angle of the PDF page.
     *
     * @returns {PdfRotationAngle} PDF rotation angle
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Create a new PDF page settings instance
     * let pageSettings: PdfPageSettings = new PdfPageSettings();
     * // Gets the rotation angle
     * let rotation$: PdfRotationAngle = pageSettings.rotation;
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Sets the rotation angle of the PDF page.
    *
    * @param {PdfRotationAngle} value PDF rotation angle
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data, password);
    * // Create a new PDF page settings instance
    * let pageSettings: PdfPageSettings = new PdfPageSettings();
    * // Sets the rotation angle
    * pageSettings.rotation = PdfRotationAngle.angle90;
    * // Add a new PDF page with page settings
    * page = document.addPage(pageSettings);
    * // Save the document
    * document.save('output.pdf');
    * // Destroy the document
    * document.destroy();
    * ```
    */
    rotation: PdfRotationAngle;
    _updateSize(size: number[]): void;
    _updateSize(orientation: PdfPageOrientation): void;
    _updateOrientation(): void;
    _getActualSize(): number[];
}
/**
 * A class representing PDF page margins.
 * ```typescript
 * // Load an existing PDF document
 * let document$: PdfDocument = new PdfDocument(data, password);
 * // Create a new PDF page settings instance
 * let pageSettings: PdfPageSettings = new PdfPageSettings();
 * // Sets the margins
 * pageSettings.margins = new PdfMargins(40);
 * // Sets the page size
 * pageSettings.size = [595, 842];
 * // Sets the page orientation
 * pageSettings.orientation = PdfPageOrientation.landscape;
 * // Add a new PDF page with page settings
 * page = document.addPage(pageSettings);
 * // Save the document
 * document.save('output.pdf');
 * // Destroy the document
 * document.destroy();
 * ```
 */
export  class PdfMargins {
    _left: number;
    _right: number;
    _top: number;
    _bottom: number;
    /**
     * Initializes a new instance of the `PdfMargins` class.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Create a new PDF page settings instance
     * let pageSettings: PdfPageSettings = new PdfPageSettings();
     * // Sets the margins
     * pageSettings.margins = new PdfMargins(40);
     * // Sets the page size
     * pageSettings.size = [595, 842];
     * // Sets the page orientation
     * pageSettings.orientation = PdfPageOrientation.landscape;
     * // Add a new PDF page with page settings
     * page = document.addPage(pageSettings);
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    constructor();
    /**
     * Initializes a new instance with specified margin values for each page side.
     *
     * @param {number} all The margin value for each side of the page.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Create a new PDF page settings instance
     * let pageSettings: PdfPageSettings = new PdfPageSettings();
     * // Sets the margins
     * pageSettings.margins = new PdfMargins(40);
     * // Sets the page size
     * pageSettings.size = [595, 842];
     * // Sets the page orientation
     * pageSettings.orientation = PdfPageOrientation.landscape;
     * // Add a new PDF page with page settings
     * page = document.addPage(pageSettings);
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    constructor(all: number);
    /**
     * Gets the left margin value of the page.
     *
     * @returns {number} Left margin.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Create a new PDF page settings instance
     * let pageSettings: PdfPageSettings = new PdfPageSettings();
     * // Gets the left margin
     * let left: number = pageSettings.margins.left;
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Sets the left margin value of the page.
    *
    * @param {number} value Left margin.
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data, password);
    * // Create a new PDF page settings instance
    * let pageSettings: PdfPageSettings = new PdfPageSettings();
    * // Sets the margins
    * let margins: PdfMargins = new PdfMargins();
    * margins.left = 40;
    * margins.right = 40;
    * margins.top = 20;
    * margins.bottom = 20;
    * pageSettings.margins = margins;
    * // Sets the page size
    * pageSettings.size = [595, 842];
    * // Sets the page orientation
    * pageSettings.orientation = PdfPageOrientation.landscape;
    * // Add a new PDF page with page settings
    * page = document.addPage(pageSettings);
    * // Save the document
    * document.save('output.pdf');
    * // Destroy the document
    * document.destroy();
    * ```
    */
    left: number;
    /**
     * Gets the right margin value of the page.
     *
     * @returns {number} Right margin.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Create a new PDF page settings instance
     * let pageSettings: PdfPageSettings = new PdfPageSettings();
     * // Gets the right margin
     * let right: number = pageSettings.margins.right;
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Sets the right margin value of the page.
    *
    * @param {number} value - Right margin.
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data, password);
    * // Create a new PDF page settings instance
    * let pageSettings: PdfPageSettings = new PdfPageSettings();
    * // Sets the margins
    * let margins: PdfMargins = new PdfMargins();
    * margins.left = 40;
    * margins.right = 40;
    * margins.top = 20;
    * margins.bottom = 20;
    * pageSettings.margins = margins;
    * // Sets the page size
    * pageSettings.size = [595, 842];
    * // Sets the page orientation
    * pageSettings.orientation = PdfPageOrientation.landscape;
    * // Add a new PDF page with page settings
    * page = document.addPage(pageSettings);
    * // Save the document
    * document.save('output.pdf');
    * // Destroy the document
    * document.destroy();
    * ```
    */
    right: number;
    /**
     * Gets the top margin value of the page.
     *
     * @returns {number} Top margin.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Create a new PDF page settings instance
     * let pageSettings: PdfPageSettings = new PdfPageSettings();
     * // Gets the top margin
     * let top: number = pageSettings.margins.top;
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    *Sets the top margin value of the page.
    *
    * @param {number} value Top margin.
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data, password);
    * // Create a new PDF page settings instance
    * let pageSettings: PdfPageSettings = new PdfPageSettings();
    * // Sets the margins
    * let margins: PdfMargins = new PdfMargins();
    * margins.left = 40;
    * margins.right = 40;
    * margins.top = 20;
    * margins.bottom = 20;
    * pageSettings.margins = margins;
    * // Sets the page size
    * pageSettings.size = [595, 842];
    * // Sets the page orientation
    * pageSettings.orientation = PdfPageOrientation.landscape;
    * // Add a new PDF page with page settings
    * page = document.addPage(pageSettings);
    * // Save the document
    * document.save('output.pdf');
    * // Destroy the document
    * document.destroy();
    * ```
    */
    top: number;
    /**
     * Get the bottom margin value of the page.
     *
     * @returns {number} Bottom margin.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Create a new PDF page settings instance
     * let pageSettings: PdfPageSettings = new PdfPageSettings();
     * // Gets the bottom margin
     * let bottom: number = pageSettings.margins.bottom;
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Sets the bottom margin value of the page.
    *
    * @param {number} value Bottom margin.
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data, password);
    * // Create a new PDF page settings instance
    * let pageSettings: PdfPageSettings = new PdfPageSettings();
    * // Sets the margins
    * let margins: PdfMargins = new PdfMargins();
    * margins.left = 40;
    * margins.right = 40;
    * margins.top = 20;
    * margins.bottom = 20;
    * pageSettings.margins = margins;
    * // Sets the page size
    * pageSettings.size = [595, 842];
    * // Sets the page orientation
    * pageSettings.orientation = PdfPageOrientation.landscape;
    * // Add a new PDF page with page settings
    * page = document.addPage(pageSettings);
    * // Save the document
    * document.save('output.pdf');
    * // Destroy the document
    * document.destroy();
    * ```
    */
    bottom: number;
}
/**
 * Public class to provide data for the document split event, including the split index and PDF data.
 *
 * ```typescript
 * // Load an existing PDF document
 * let document$: PdfDocument = new PdfDocument(data);
 * document.splitEvent = documentSplitEvent;
 * // Split PDF document by fixed number of pages
 * document.splitByFixedNumber(1);
 * // Event to invoke while splitting PDF document data
 * function documentSplitEvent(sender: PdfDocument, args: PdfDocumentSplitEventArgs): void {
 *  Save.save(‘output_’ + args.splitIndex + ‘.pdf’, new Blob([args.pdfData], { type: 'application/pdf' }));
 * }
 * // Destroy the document
 * document.destroy();
 */
export  class PdfDocumentSplitEventArgs {
    private _index;
    private _pdfData;
    constructor(splitIndex: number, pdfData: Uint8Array);
    readonly pdfData: Uint8Array;
    readonly index: number;
}
//node_modules/@syncfusion/ej2-pdf/src/pdf/core/pdf-cross-reference.d.ts
export  class _PdfCrossReference {
    _stream: _PdfStream;
    _pendingRefs: _PdfReferenceSet;
    _entries: _PdfObjectInformation[];
    _crossReferencePosition: any;
    _cacheMap: Map<_PdfReference, any>;
    _startXRefQueue: number[];
    _trailer: _PdfDictionary;
    _root: _PdfDictionary;
    _topDictionary: _PdfDictionary;
    _tableState: _PdfCrossTableState;
    _streamState: _PdfStreamState;
    _prevStartXref: number;
    _version: string;
    _nextReferenceNumber: number;
    _newLine: string;
    _document: PdfDocument;
    _allowCatalog: boolean;
    _password: string;
    _encrypt: _PdfEncryptor;
    _ids: string[];
    _permissionFlags: number;
    _prevXRefOffset: number;
    _indexes: Array<number>;
    _objectStreamCollection: Map<_PdfReference, _PdfArchievedStream>;
    _offsets: Array<number>;
    _offsetReference: Map<_PdfReference, any>;
    _objectStream: _PdfArchievedStream;
    _currentLength: number;
    constructor(document: PdfDocument, password?: string);
    _setStartXRef(startXRef: number): void;
    _parse(recoveryMode: boolean): void;
    _getEntry(i: number): _PdfObjectInformation;
    _fetch(ref: _PdfReference, suppressEncryption?: boolean): any;
    _fetchUncompressed(reference: _PdfReference, xrefEntry: _PdfObjectInformation, makeFilter?: boolean): any;
    _fetchCompressed(ref: _PdfReference, xrefEntry: _PdfObjectInformation): any;
    _readXRef(recoveryMode?: boolean): _PdfDictionary;
    _readToken(data: Uint8Array, offset: number): string;
    _skipUntil(data: Uint8Array, offset: number, what: Uint8Array): number;
    _indexObjects(): _PdfDictionary;
    _processXRefTable(parser: _PdfParser): _PdfDictionary;
    _readXRefTable(parser: _PdfParser): _PdfCommand;
    _processXRefStream(stream: _PdfStream): _PdfDictionary;
    _readXRefStream(stream: _PdfStream): void;
    _getCatalogObj(): _PdfDictionary;
    _save(): Uint8Array;
    _saveAsStream(currentLength: number, buffer: number[]): void;
    _updatedDictionary(currentLength: number, key: _PdfReference, buffer: number[], value: any, // eslint-disable-line
    cipher?: _CipherTransform): void;
    _writeXrefStream(buffer: number[]): void;
    _saveAsTable(currentLength: number, buffer: number[]): void;
    _writeXref(buffer: number[], tempBuffer: string, newStartXref: number): void;
    _writeXrefTable(buffer: number[]): void;
    _processString(value: string, length: number): string;
    _copyTrailer(newXref: _PdfDictionary): void;
    _computeMessageDigest(size: number): string;
    _getNextReference(): _PdfReference;
    _writeObject(obj: _PdfDictionary | _PdfBaseStream | any, // eslint-disable-line
    buffer: Array<number>, reference?: _PdfReference, transform?: _CipherTransform, isCrossReference?: boolean): void;
    _writeDictionary(dictionary: _PdfDictionary, buffer: Array<number>, spaceChar: string, transform?: _CipherTransform, isCrossReference?: boolean): void;
    _writeFontDictionary(dictionary: _PdfDictionary): void;
    _writeStream(stream: _PdfBaseStream, buffer: Array<number>, transform?: _CipherTransform, isCrossReference?: boolean): void;
    _writeValue(value: any, buffer: Array<number>, transform?: _CipherTransform, isCrossReference?: boolean): void;
    _writeUnicodeString(value: string, buffer: Array<number>): void;
    _writeString(value: string, buffer: Array<number>): void;
    _writeBytes(data: number[], buffer: Array<number>): void;
    _writeLong(value: number, count: number, buffer: Array<number>): void;
    _escapeString(value: string): string;
    _destroy(): void;
    _writeObjectCollection(objectCollection: Map<_PdfReference, any>, buffer: number[]): void;
    _writeArchiveStream(objectStreamCollection: Map<_PdfReference, _PdfArchievedStream>, key: _PdfReference, value: any): void;
    _writeObjectToBuffer(key: _PdfReference, value: any, buffer: number[], // eslint-disable-line
    objectStreamCollection: Map<_PdfReference, _PdfArchievedStream>): void;
    _writeToBuffer(buffer: number[], key: any, value: any, cipher?: _CipherTransform): void;
    _getSortedReferences(collection: Map<_PdfReference, any>): Map<_PdfReference, any>;
}
 class _PdfObjectInformation {
    offset: number;
    gen: number;
    uncompressed: boolean;
    free: boolean;
}
 class _PdfCrossTableState {
    entryNum: number;
    streamPos: number;
    parserBuf1: any;
    parserBuf2: any;
    firstEntryNum: number;
    entryCount: number;
}
 class _PdfStreamState {
    entryRanges: number[];
    byteWidths: number[];
    entryNum: number;
    streamPos: number;
}
 class _PdfArchievedStream {
    _indexes: string;
    _length: number;
    _updatedStream: number[];
    _crossReference: _PdfCrossReference;
    _reference: _PdfReference;
    _archiveXRef: string;
    _collection: number[];
    _archiveOffset: number;
    constructor(crossReference: _PdfCrossReference);
    _writeObject(key: _PdfReference, value: _PdfDictionary): void;
    _save(buffer: number[], currentLength: number): void;
}
//node_modules/@syncfusion/ej2-pdf/src/pdf/core/pdf-catalog.d.ts
export  class _PdfCatalog {
    private _crossReference;
    _catalogDictionary: _PdfDictionary;
    pageIndexCache: _PdfReferenceSetCache;
    pageKidsCountCache: _PdfReferenceSetCache;
    _topPagesDictionary: _PdfDictionary;
    constructor(xref: _PdfCrossReference);
    readonly version: string;
    readonly pageCount: number;
    readonly acroForm: _PdfDictionary;
    _createForm(): _PdfDictionary;
    getPageDictionary(pageIndex: number): {
        dictionary: _PdfDictionary;
        reference: _PdfReference;
    };
    _destroy(): void;
}
//node_modules/@syncfusion/ej2-pdf/src/pdf/core/pdf-action.d.ts
/**
 * Represents base class for all action types.
 * ```typescript
 * // Load an existing PDF document
 * let document$: PdfDocument = new PdfDocument(data);
 * // Access button field
 * let field: PdfButtonField = document.form.fieldAt(0) as PdfButtonField;
 * // Access the second page
 * let secondPage: PdfPage = document.getPage(2);
 * // Create a PdfDestination for the specified page
 * let destination$: PdfDestination = new PdfDestination(secondPage)
 * // Create a new PdfGoToAction with the specified destination
 * let gotoAction: PdfGoToAction = new PdfGoToAction(destination);
 * // Get the GoTo action to the mouse enter property of the button field
 * let pdfAction: PdfAction = field.actions.mouseEnter;
 * // Save the document
 * document.save('output.pdf');
 * // Destroy the document
 * document.destroy();
 */
export  class PdfAction {
    _dictionary: _PdfDictionary;
    _page: PdfPage;
    _next: PdfAction;
    /**
     * Get the next action to be performed after the action represented by this instance.
     *
     * @returns {PdfAction} The next action to be executed.
     *
     * Represents an action which goes to a destination in the current document.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data);
     * // Access button field
     * let field: PdfButtonField = document.form.fieldAt(0) as PdfButtonField;
     * // Access the page1
     * let Page1: PdfPage = document.getPage(1);
     * // Create a PdfGoToAction for navigating to the specified page.
     * let action: PdfGoToAction = new PdfGoToAction(page1);
     * // Set the destination page for the action
     * action.destination = new PdfDestination(secondPage);
     * // Set the GoTo action to the mouse enter property of the button field
     * field1.actions.mouseEnter = action1;
     * // Access the page
     * let page$: PdfPage = document.getPage(2);
     * // Access button field
     * let field1: PdfButtonField = document.form.fieldAt(1) as PdfButtonField;
     * // Create a new GoTo action with the specified page
     * let gotoAction: PdfGoToAction = new PdfGoToAction(page);
     * // Set the next property
     * gotoAction.next = action;
     * // Set the GoTo action to the mouse enter property of the button field
     * field1.actions.mouseEnter = gotoAction;
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     */
    /**
    * Set the next action to be performed after the action represented by this instance.
    *
    * @param {PdfAction} value The next action to be executed.
    *
    * Represents an action which goes to a destination in the current document.
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data);
    * // Access button field
    * let field: PdfButtonField = document.form.fieldAt(0) as PdfButtonField;
    * // Access the page1
    * let Page1: PdfPage = document.getPage(1);
    * let action: PdfGoToAction = new PdfGoToAction(page1);
    * // Set the destination page for the action
    * action.destination = new PdfDestination(secondPage);
    * // Set the GoTo action to the mouse enter property of the button field
    * field1.actions.mouseEnter = action1;
    * // Access the third page
    * let page$: PdfPage = document.getPage(2);
    * // Access button field
    * let field1: PdfButtonField = document.form.fieldAt(1) as PdfButtonField;
    * // Create a new GoTo action with the specified page
    * let gotoAction: PdfGoToAction = new PdfGoToAction(page);
    * // Set the next property
    * gotoAction.next = action;
    * // Set the GoTo action to the mouse enter property of the button field
    * field1.actions.mouseEnter = gotoAction;
    * // Save the document
    * document.save('output.pdf');
    * // Destroy the document
    * document.destroy();
    */
    next: PdfAction;
}
/**
 * Represents an action which goes to a destination in the current document.
 *
 * ```typescript
 * // Load an existing PDF document
 * let document$: PdfDocument = new PdfDocument(data);
 * // Access button field
 * let field: PdfButtonField = document.form.fieldAt(0) as PdfButtonField;
 * // Access the second page
 * let secondPage: PdfPage = document.getPage(2);
 * // Create a PdfDestination for the specified page
 * let destination$: PdfDestination = new PdfDestination(secondPage)
 * // Create a new PdfGoToAction with the specified destination
 * let gotoAction: PdfGoToAction = new PdfGoToAction(destination);
 * // Set the goto action to the button
 * field.actions.mouseEnter = gotoAction;
 * // Save the document
 * document.save('output.pdf');
 * // Destroy the document
 * document.destroy();
 */
export  class PdfGoToAction extends PdfAction {
    _destination: PdfDestination;
    /**
     * Initializes a new instance of the `PdfGoToAction` class.
     *
     * @param {PdfDestination} destination Destination to navigate.
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data);
     * // Access button field
     * let field: PdfButtonField = document.form.fieldAt(0) as PdfButtonField;
     * // Access the second page
     * let secondPage: PdfPage = document.getPage(2);
     * // Create a PdfDestination for the specified page
     * let destination$: PdfDestination = new PdfDestination(secondPage)
     * // Create a new PdfGoToAction with the specified destination
     * let gotoAction: PdfGoToAction = new PdfGoToAction(destination);
     * // Set the GoTo action to the mouse enter property of the button field
     * field.actions.mouseEnter = gotoAction;
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     */
    constructor(destination: PdfDestination);
    /**
     * Initializes a new instance of the `PdfGoToAction` class.
     *
     * @param {PdfPage} page page to navigate.
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data);
     * // Access button field
     * let field: PdfButtonField = document.form.fieldAt(0) as PdfButtonField;
     * // Access the page
     * let page$: PdfPage = document.getPage(2);
     * // Create a new GoTo action with the specified page
     * let gotoAction: PdfGoToAction = new PdfGoToAction(page);
     * // Set the destination for specified page
     * gotoAction.destination = new PdfDestination(page);
     * // Set the goto action to the button
     * field.actions.mouseEnter = gotoAction;
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     */
    constructor(page: PdfPage);
    /**
     * Get the destination to be navigated.
     *
     * @returns {PdfDestination} The destination to be navigated.
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data);
     * // Access button field
     * let field: PdfButtonField = document.form.fieldAt(0) as PdfButtonField;
     * // Get the action value from button field
     * let action: PdfAction = field.actions.mouseEnter.destination;
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Set the destination to be navigated.
    *
    * @param {PdfDestination} value The destination to be navigated.
    *
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data);
    * // Access button field
    * let field: PdfButtonField = document.form.fieldAt(0) as PdfButtonField;
    * // Access the second page
    * let secondPage: PdfPage = document.getPage(2);
    * // Create a new GoTo action with the specified page
    * let gotoAction: PdfGoToAction = new PdfGoToAction(secondPage);
    * // Set the destination location within the specified page for the PdfGoToAction
    * gotoAction.Destination = new PdfDestination(secondPage, [0, 100]);
    * // Set the goto action to the button
    * field.actions.mouseEnter = gotoAction;
    * // Save the document
    * document.save('output.pdf');
    * // Destroy the document
    * document.destroy();
    */
    destination: PdfDestination;
}
/**
 * Represents actions to be performed as response to field events.
 *
 * ```typescript
 * // Load an existing PDF document
 * let document$: PdfDocument = new PdfDocument(data);
 * // Access button field
 * let field: PdfButtonField = document.form.fieldAt(0) as PdfButtonField;
 * // Access the second page
 * let secondPage: PdfPage = document.getPage(2);
 * // Create a PdfDestination for the specified page
 * let destination$: PdfDestination = new PdfDestination(secondPage)
 * // Create a new PdfGoToAction with the specified destination
 * let gotoAction: PdfGoToAction = new PdfGoToAction(destination);
 * // Get the pdf field actions
 * let fieldActions: PdfFieldActions = field.actions;
 * // Save the document
 * document.save('output.pdf');
 * // Destroy the document
 * document.destroy();
 */
export  class PdfFieldActions {
    _mouseEnter: PdfAction;
    _mouseLeave: PdfAction;
    _mouseUp: PdfAction;
    _mouseDown: PdfAction;
    _gotFocus: PdfAction;
    _lostFocus: PdfAction;
    _field: PdfField;
    _actions: PdfFieldActions;
    /**
     * Initializes a new instance of the `PdfFieldActions` class.
     *
     * @private
     * @param {PdfField} field field items.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data);
     * // Access button field
     * let field: PdfButtonField = document.form.fieldAt(0) as PdfButtonField;
     * // Access the second page
     * let secondPage: PdfPage = document.getPage(2);
     * // Create a PdfDestination for the specified page
     * let destination$: PdfDestination = new PdfDestination(secondPage)
     * // Creates a new PdfGoToAction with the specified destination
     * let gotoAction: PdfGoToAction = new PdfGoToAction(destination);
     * // Set the goto action to the button
     * field.actions.mouseEnter = gotoAction;
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     */
    constructor(field: PdfField);
    /**
     * Get the action to be performed when the mouse cursor enters the field area.
     *
     * @returns {PdfAction} The action to be executed when the mouse enters the field area.
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data);
     * // Access button field
     * let field: PdfButtonField = document.form.fieldAt(0) as PdfButtonField;
     * // Get the action to be executed when the mouse enters the field area
     * let action: PdfAction = field.actions.mouseEnter;
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Set the action to be performed when the mouse cursor enters the field area.
    *
    * @param {PdfAction} value The action to be executed when the mouse enters the field area.
    *
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data);
    * // Access button field
    * let field: PdfButtonField = document.form.fieldAt(0) as PdfButtonField;
    * // Access the second page
    * let secondPage: PdfPage = document.getPage(2);
    * // Create a new GoTo action with the specified page
    * let gotoAction: PdfGoToAction = new PdfGoToAction(secondPage);
    * // Set the destination location within the specified page for the PdfGoToAction
    * gotoAction.Destination = new PdfDestination(secondPage, [0, 100]);
    * // Set the GoTo action to the mouse enter property of the button field
    * field.actions.mouseEnter = gotoAction;
    * // Save the document
    * document.save('output.pdf');
    * // Destroy the document
    * document.destroy();
    */
    mouseEnter: PdfAction;
    /**
     * Get the action to be performed when the cursor exits the fields area.
     *
     * @returns {PdfAction} The action to be executed when the mouse exists the field area.
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data);
     * // Access button field
     * let field: PdfButtonField = document.form.fieldAt(0) as PdfButtonField;
     * // Get the action to be executed when the mouse leave the field area.
     * let action: PdfAction = field.actions.mouseLeave;
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Set the action to be performed when the cursor exits the fields area.
    *
    * @param {PdfAction} value The action to be executed when the mouse exists the field area.
    *
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data);
    * // Access button field
    * let field: PdfButtonField = document.form.fieldAt(0) as PdfButtonField;
    * // Access the second page
    * let secondPage: PdfPage = document.getPage(2);
    * // Create a new GoTo action with the specified page
    * let gotoAction: PdfGoToAction = new PdfGoToAction(secondPage);
    * // Set the destination location within the specified page for the PdfGoToAction
    * gotoAction.Destination = new PdfDestination(secondPage, [0, 100]);
    * // Set the GoTo action to the mouse leave property of the button field
    * field.actions.mouseLeave = gotoAction;
    * // Save the document
    * document.save('output.pdf');
    * // Destroy the document
    * document.destroy();
    */
    mouseLeave: PdfAction;
    /**
     * Get the action to be performed when the mouse button is released inside the field area.
     *
     * @returns {PdfAction} The action to be executed when the mouse released inside the field area.
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data);
     * // Access button field
     * let field: PdfButtonField = document.form.fieldAt(0) as PdfButtonField;
     * // Get the action to be executed when the mouse up the field area.
     * let action: PdfAction = field.actions.mouseUp;
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Set the action to be performed when the mouse button is released inside the field area.
    *
    * @param {PdfAction} value The action to be executed when the mouse released inside the field area.
    *
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data);
    * // Access button field
    * let field: PdfButtonField = document.form.fieldAt(0) as PdfButtonField;
    * // Access the second page
    * let secondPage: PdfPage = document.getPage(2);
    * // Create a new GoTo action with the specified page
    * let gotoAction: PdfGoToAction = new PdfGoToAction(secondPage);
    * // Set the destination location within the specified page for the PdfGoToAction
    * gotoAction.Destination = new PdfDestination(secondPage, [0, 100]);
    * // Set the GoTo action to the mouse up property of the button field
    * field.actions.mouseUp = gotoAction;
    * // Save the document
    * document.save('output.pdf');
    * // Destroy the document
    * document.destroy();
    */
    mouseUp: PdfAction;
    /**
     * Get the action to be performed when the mouse button is pressed inside the field’s area.
     *
     * @returns {PdfAction} The action to be executed when the mouse button is pressed inside the field area.
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data);
     * // Access button field
     * let field: PdfButtonField = document.form.fieldAt(0) as PdfButtonField;
     * // Get the action to be executed when the mouse down the field area.
     * let action: PdfAction = field.actions.mouseDown;
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Set the action to be performed when the mouse button is pressed inside the field’s area.
    *
    * @param {PdfAction} value The action to be executed when the mouse button is pressed inside the field area.
    *
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data);
    * // Access button field
    * let field: PdfButtonField = document.form.fieldAt(0) as PdfButtonField;
    * // Access the second page
    * let secondPage: PdfPage = document.getPage(2);
    * // Create a new GoTo action with the specified page
    * let gotoAction: PdfGoToAction = new PdfGoToAction(secondPage);
    * // Set the destination location within the specified page for the PdfGoToAction
    * gotoAction.Destination = new PdfDestination(secondPage, [0, 100]);
    * // Set the GoTo action to the mouse down property of the button field
    * field.actions.mouseDown = gotoAction;
    * // Save the document
    * document.save('output.pdf');
    * // Destroy the document
    * document.destroy();
    */
    mouseDown: PdfAction;
    /**
     * Get the action to be performed when the field receives the input focus.
     *
     * @returns {PdfAction} The action to be executed when the field receives the input focus.
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data);
     * // Access button field
     * let field: PdfButtonField = document.form.fieldAt(0) as PdfButtonField;
     * // Get the action to be executed when the got focus the field area.
     * let action: PdfAction = field.actions.gotFocus;
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Set the action to be performed when the field receives the input focus.
    *
    * @param {PdfAction} value The action to be executed when the field receives the input focus.
    *
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data);
    * // Access button field
    * let field: PdfButtonField = document.form.fieldAt(0) as PdfButtonField;
    * // Access the second page
    * let secondPage: PdfPage = document.getPage(2);
    * // Create a new GoTo action with the specified page
    * let gotoAction: PdfGoToAction = new PdfGoToAction(secondPage);
    * // Set the destination location within the specified page for the PdfGoToAction
    * gotoAction.Destination = new PdfDestination(secondPage, [0, 100]);
    * // Set the GoTo action to the got focus property of the button field
    * field.actions.gotFocus = gotoAction;
    * // Save the document
    * document.save('output.pdf');
    * // Destroy the document
    * document.destroy();
    */
    gotFocus: PdfAction;
    /**
     * Get the action to be performed when the field loses the input focus.
     *
     * @returns {PdfAction} The action to be executed when the field loses the input focus.
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data);
     * // Access button field
     * let field: PdfButtonField = document.form.fieldAt(0) as PdfButtonField;
     * // Get the action to be executed when the lost focus the field area.
     * let action: PdfAction = field.actions.lostFocus;
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Set the action to be performed when the field loses the input focus.
    *
    * @param {PdfAction} value The action to be executed when the field loses the input focus.
    *
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data);
    * // Access button field
    * let field: PdfButtonField = document.form.fieldAt(0) as PdfButtonField;
    * // Access the second page
    * let secondPage: PdfPage = document.getPage(2);
    * // Create a new GoTo action with the specified page
    * let gotoAction: PdfGoToAction = new PdfGoToAction(secondPage);
    * // Set the destination location within the specified page for the PdfGoToAction
    * gotoAction.Destination = new PdfDestination(secondPage, [0, 100]);
    * // Set the GoTo action to the lost focus property of the button field
    * field.actions.lostFocus = gotoAction;
    * // Save the document
    * document.save('output.pdf');
    * // Destroy the document
    * document.destroy();
    */
    lostFocus: PdfAction;
    _updateAction(action: PdfAction, key: string): void;
    _getPdfAction(key: string): PdfAction;
}
//node_modules/@syncfusion/ej2-pdf/src/pdf/core/flate-stream.d.ts
export  class _PdfFlateStream extends _PdfDecodeStream {
    constructor(stream: _PdfBaseStream, maybeLength: number);
    dictionary: _PdfDictionary;
    codeSize: number;
    codeBuffer: number;
    getBits(bits: number): number;
    getCode(table: Array<number | Int32Array>): number;
    generateHuffmanTable(lengths: Uint8Array): (number | Int32Array)[];
    readBlock(): void;
}
//node_modules/@syncfusion/ej2-pdf/src/pdf/core/enumerator.d.ts
/**
 * Public Enum to define annotation flag types.
 * ```typescript
 * // Load an existing PDF document
 * let document$: PdfDocument = new PdfDocument(data, password);
 * // Access first page
 * let page$: PdfPage = document.getPage(0);
 * // Access the annotation at index 0
 * let annotation$: PdfAnnotation = page.annotations.at(0);
 * // Sets the annotation flag to enable print
 * annotation.flags = PdfAnnotationFlag.print;
 * // Save the document
 * document.save('output.pdf');
 * // Destroy the document
 * document.destroy();
 * ```
 */
export  enum PdfAnnotationFlag {
    /**
     * Specifies the type of `default`.
     */
    default = 0,
    /**
     * Specifies the type of `invisible`.
     */
    invisible = 1,
    /**
     * Specifies the type of `hidden`.
     */
    hidden = 2,
    /**
     * Specifies the type of `print`.
     */
    print = 4,
    /**
     * Specifies the type of `noZoom`.
     */
    noZoom = 8,
    /**
     * Specifies the type of `noRotate`.
     */
    noRotate = 16,
    /**
     * Specifies the type of `noView`.
     */
    noView = 32,
    /**
     * Specifies the type of `readOnly`.
     */
    readOnly = 64,
    /**
     * Specifies the type of `locked`.
     */
    locked = 128,
    /**
     * Specifies the type of `toggleNoView`.
     */
    toggleNoView = 256
}
/**
 * Public Enum to define line ending style.
 * ```typescript
 * // Load an existing PDF document
 * let document$: PdfDocument = new PdfDocument(data, password);
 * // Access first page
 * let page$: PdfPage = document.getPage(0);
 * // Access the annotation at index 0
 * let annotation$: PdfPolyLineAnnotation = page.annotations.at(0) as PdfPolyLineAnnotation;
 * // Sets the begin line end style as openArrow
 * annotation.beginLineStyle = PdfLineEndingStyle.openArrow;
 * // Save the document
 * document.save('output.pdf');
 * // Destroy the document
 * document.destroy();
 * ```
 */
export  enum PdfLineEndingStyle {
    /**
     * Specifies the type of `none`.
     */
    none = 0,
    /**
     * Specifies the type of `openArrow`.
     */
    openArrow = 1,
    /**
     * Specifies the type of `closedArrow`.
     */
    closedArrow = 2,
    /**
     * Specifies the type of `rOpenArrow`.
     */
    rOpenArrow = 3,
    /**
     * Specifies the type of `rClosedArrow`.
     */
    rClosedArrow = 4,
    /**
     * Specifies the type of `butt`.
     */
    butt = 5,
    /**
     * Specifies the type of `diamond`.
     */
    diamond = 6,
    /**
     * Specifies the type of `circle`.
     */
    circle = 7,
    /**
     * Specifies the type of `square`.
     */
    square = 8,
    /**
     * Specifies the type of `slash`.
     */
    slash = 9
}
/**
 * Public Enum to define line indent.
 * ```typescript
 * // Load an existing PDF document
 * let document$: PdfDocument = new PdfDocument(data, password);
 * // Access first page
 * let page$: PdfPage = document.getPage(0);
 * // Access the annotation at index 0
 * let annotation$: PdfLineAnnotation = page.annotations.at(0) as PdfLineAnnotation;
 * // Sets the line intent as lineArrow
 * annotation.lineIntent = PdfLineIntent.lineArrow;
 * // Save the document
 * document.save('output.pdf');
 * // Destroy the document
 * document.destroy();
 * ```
 */
export  enum PdfLineIntent {
    /**
     * Specifies the type of `lineArrow`.
     */
    lineArrow = 0,
    /**
     * Specifies the type of `lineDimension`.
     */
    lineDimension = 1
}
/**
 * Public Enum to define the types of points and segments in a path.
 *
 * ```typescript
 * // Load an existing PDF document
 * let document$: PdfDocument = new PdfDocument(data, password);
 * // Access the first page
 * let page$: PdfPage = document.getPage(0);
 * // Create a new pen
 * let pen$: PdfPen = new PdfPen([0, 0, 0], 1);
 * // Create a new brush
 * let brush: PdfBrush = new PdfBrush([0, 255, 255]);
 * // Add path points
 * let pathPoints: Array<number[]> = [[50, 50], [100, 50], [100, 100], [50, 100], [50, 50]];
 * // Add path types
 * let pathTypes: PathPointType[] = [0, 1, 1, 1, 1];
 * // Create a new PDF path
 * let path: PdfPath = new PdfPath(pathPoints, pathTypes);
 * // Draw the path to the PDF page
 * page.graphics.drawPath(path, pen, brush);
 * // Save the document
 * document.save('output.pdf');
 * // Destroy the document
 * document.destroy();
 * ```
 */
export  enum PathPointType {
    /**
     * The starting point of a path.
     */
    start = 0,
    /**
     * A straight line segment.
     */
    line = 1,
    /**
     * A Bezier curve segment.
     */
    bezier = 3,
    /**
     * A mask for extracting the type of a point.
     */
    pathTypeMask = 7,
    /**
     * Indicates that the segment has dashed line style.
     */
    dashMode = 16,
    /**
     * Indicates a marker point in the path.
     */
    pathMarker = 32,
    /**
     * Closes the current path.
     */
    closePath = 128
}
/**
 * Public Enum to define line caption type.
 * ```typescript
 * // Load an existing PDF document
 * let document$: PdfDocument = new PdfDocument(data, password);
 * // Access first page
 * let page$: PdfPage = document.getPage(0);
 * // Access the annotation at index 0
 * let annotation$: PdfAnnotation = page.annotations.at(0);
 * // Sets the line caption type as inline
 * annotation.caption.type = PdfLineCaptionType.inline;
 * // Save the document
 * document.save('output.pdf');
 * // Destroy the document
 * document.destroy();
 * ```
 */
export  enum PdfLineCaptionType {
    /**
     * Specifies the type of `inline`.
     */
    inline = 0,
    /**
     * Specifies the type of `top`.
     */
    top = 1
}
/**
 * Public Enum to define border style.
 * ```typescript
 * // Load an existing PDF document
 * let document$: PdfDocument = new PdfDocument(data, password);
 * // Access first page
 * let page$: PdfPage = document.getPage(0);
 * // Access the annotation at index 0
 * let annotation$: PdfAnnotation = page.annotations.at(0);
 * // Sets the border style as underline
 * annotation.border.style = PdfBorderStyle.underline;
 * // Save the document
 * document.save('output.pdf');
 * // Destroy the document
 * document.destroy();
 * ```
 */
export  enum PdfBorderStyle {
    /**
     * Specifies the type of `solid`.
     */
    solid = 0,
    /**
     * Specifies the type of `dashed`.
     */
    dashed = 1,
    /**
     * Specifies the type of `beveled`.
     */
    beveled = 2,
    /**
     * Specifies the type of `inset`.
     */
    inset = 3,
    /**
     * Specifies the type of `underline`.
     */
    underline = 4,
    /**
     * Specifies the type of `dot`.
     */
    dot = 5
}
/**
 * Public Enum to define border effect style.
 * ```typescript
 * // Load an existing PDF document
 * let document$: PdfDocument = new PdfDocument(data, password);
 * // Access first page
 * let page$: PdfPage = document.getPage(0);
 * // Access the annotation at index 0
 * let annotation$: PdfAnnotation = page.annotations.at(0);
 * // Sets the border effect as underline
 * annotation.borderEffect.style = PdfBorderEffectStyle.cloudy;
 * // Save the document
 * document.save('output.pdf');
 * // Destroy the document
 * document.destroy();
 * ```
 */
export  enum PdfBorderEffectStyle {
    /**
     * Specifies the type of `solid`.
     */
    solid = 0,
    /**
     * Specifies the type of `cloudy`.
     */
    cloudy = 1
}
/**
 * Public Enum to define rotation of the interactive elements.
 * ```typescript
 * // Load an existing PDF document
 * let document$: PdfDocument = new PdfDocument(data, password);
 * // Access text box field
 * let field$: PdfTextBoxField = document.form.fieldAt(0) as PdfTextBoxField;
 * // Gets the rotation of the field
 * let rotation$: PdfRotationAngle = field.rotationAngle;
 * // Save the document
 * document.save('output.pdf');
 * // Destroy the document
 * document.destroy();
 * ```
 */
export  enum PdfRotationAngle {
    /**
     * Specifies the type of `angle0`.
     */
    angle0 = 0,
    /**
     * Specifies the type of `angle90`.
     */
    angle90 = 1,
    /**
     * Specifies the type of `angle180`.
     */
    angle180 = 2,
    /**
     * Specifies the type of `angle270`.
     */
    angle270 = 3
}
/**
 * Public Enum to define cross reference type.
 * ```typescript
 * // Load an existing PDF document
 * let document$: PdfDocument = new PdfDocument(data, password);
 * // Save the document with cross reference type as stream
 * document.save('output.pdf', PdfCrossReferenceType.stream);
 * // Destroy the document
 * document.destroy();
 * ```
 */
export  enum PdfCrossReferenceType {
    /**
     * Specifies the type of `table`.
     */
    table = 0,
    /**
     * Specifies the type of `stream`.
     */
    stream = 1
}
/**
 * Public Enum to define highlight mode of text box field.
 * ```typescript
 * // Load an existing PDF document
 * let document$: PdfDocument = new PdfDocument(data, password);
 * // Access text box field
 * let field$: PdfTextBoxField = document.form.fieldAt(0) as PdfTextBoxField;
 * // Sets the highlight mode of text box field as outline
 * field.highlightMode = PdfHighlightMode.outline;
 * // Save the document
 * document.save('output.pdf');
 * // Destroy the document
 * document.destroy();
 * ```
 */
export  enum PdfHighlightMode {
    /**
     * Specifies the type of `noHighlighting`.
     */
    noHighlighting = 0,
    /**
     * Specifies the type of `invert`.
     */
    invert = 1,
    /**
     * Specifies the type of `outline`.
     */
    outline = 2,
    /**
     * Specifies the type of `push`.
     */
    push = 3
}
/**
 * Public Enum to define text alignment of text box field.
 * ```typescript
 * // Load an existing PDF document
 * let document$: PdfDocument = new PdfDocument(data, password);
 * // Access text box field
 * let field$: PdfTextBoxField = document.form.fieldAt(0) as PdfTextBoxField;
 * // Sets the text alignment of form field as center
 * field.textAlignment = PdfTextAlignment.center;
 * // Save the document
 * document.save('output.pdf');
 * // Destroy the document
 * document.destroy();
 * ```
 */
export  enum PdfTextAlignment {
    /**
     * Specifies the type of `left`.
     */
    left = 0,
    /**
     * Specifies the type of `center`.
     */
    center = 1,
    /**
     * Specifies the type of `right`.
     */
    right = 2,
    /**
     * Specifies the type of `justify`.
     */
    justify = 3
}
/**
 * Public Enum to define visibility of form field.
 * ```typescript
 * // Load an existing PDF document
 * let document$: PdfDocument = new PdfDocument(data, password);
 * // Access PDF form field
 * let field$: PdfField = document.form.fieldAt(0);
 * // Sets the visibility of form field as hidden
 * field.visibility = PdfFormFieldVisibility.hidden;
 * // Save the document
 * document.save('output.pdf');
 * // Destroy the document
 * document.destroy();
 * ```
 */
export  enum PdfFormFieldVisibility {
    /**
     * Specifies the type of `visible`.
     */
    visible = 0,
    /**
     * Specifies the type of `hidden`.
     */
    hidden = 1,
    /**
     * Specifies the type of `visibleNotPrintable`.
     */
    visibleNotPrintable = 2,
    /**
     * Specifies the type of `hiddenPrintable`.
     */
    hiddenPrintable = 3
}
/**
 * Public Enum to define measurement unit of line measurement annotation.
 * ```typescript
 * // Load an existing PDF document
 * let document$: PdfDocument = new PdfDocument(data, password);
 * // Access first page
 * let page$: PdfPage = document.getPage(0);
 * // Access the annotation at index 0
 * let annotation$: PdfLineAnnotation = page.annotations.at(0) PdfLineAnnotation;
 * // Sets the measurement unit of line measurement annoation as centimeter
 * annotation.unit = PdfMeasurementUnit.centimeter;
 * // Save the document
 * document.save('output.pdf');
 * // Destroy the document
 * document.destroy();
 * ```
 */
export  enum PdfMeasurementUnit {
    /**
     * Specifies the type of `inch`.
     */
    inch = 0,
    /**
     * Specifies the type of `pica`.
     */
    pica = 1,
    /**
     * Specifies the type of `point`.
     */
    point = 3,
    /**
     * Specifies the type of `centimeter`.
     */
    centimeter = 4,
    /**
     * Specifies the type of `millimeter`.
     */
    millimeter = 6
}
/**
 * Public Enum to define measurement type of circle annotation.
 * ```typescript
 * // Load an existing PDF document
 * let document$: PdfDocument = new PdfDocument(data, password);
 * // Access first page
 * let page$: PdfPage = document.getPage(0);
 * // Access the annotation at index 0
 * let annotation$: PdfCircleAnnotation = page.annotations.at(0) PdfCircleAnnotation;
 * // Sets the measurement type of circle annotation as diameter
 * annotation.measureType = PdfCircleMeasurementType.diameter;
 * // Save the document
 * document.save('output.pdf');
 * // Destroy the document
 * document.destroy();
 * ```
 */
export  enum PdfCircleMeasurementType {
    /**
     * Specifies the type of `diameter`.
     */
    diameter = 0,
    /**
     * Specifies the type of `radius`.
     */
    radius = 1
}
/**
 * Public Enum to define icon type of rubber stamp annotation.
 * ```typescript
 * // Load an existing PDF document
 * let document$: PdfDocument = new PdfDocument(data, password);
 * // Access first page
 * let page$: PdfPage = document.getPage(0);
 * // Access the annotation at index 0
 * let annotation$: PdfRubberStampAnnotation = page.annotations.at(0) PdfRubberStampAnnotation;
 * // Sets the rubber stamp annotation icon type as confidential
 * annotation.icon = PdfRubberStampAnnotationIcon.confidential;
 * // Save the document
 * document.save('output.pdf');
 * // Destroy the document
 * document.destroy();
 * ```
 */
export  enum PdfRubberStampAnnotationIcon {
    /**
     * Specifies the type of `approved`.
     */
    approved = 0,
    /**
     * Specifies the type of `asIs`.
     */
    asIs = 1,
    /**
     * Specifies the type of `confidential`.
     */
    confidential = 2,
    /**
     * Specifies the type of `departmental`.
     */
    departmental = 3,
    /**
     * Specifies the type of `draft`.
     */
    draft = 4,
    /**
     * Specifies the type of `experimental`.
     */
    experimental = 5,
    /**
     * Specifies the type of `expired`.
     */
    expired = 6,
    /**
     * Specifies the type of `final`.
     */
    final = 7,
    /**
     * Specifies the type of `forComment`.
     */
    forComment = 8,
    /**
     * Specifies the type of `forPublicRelease`.
     */
    forPublicRelease = 9,
    /**
     * Specifies the type of `notApproved`.
     */
    notApproved = 10,
    /**
     * Specifies the type of `notForPublicRelease`.
     */
    notForPublicRelease = 11,
    /**
     * Specifies the type of `sold`.
     */
    sold = 12,
    /**
     * Specifies the type of `topSecret`.
     */
    topSecret = 13,
    /**
     * Specifies the type of `completed`.
     */
    completed = 14,
    /**
     * Specifies the type of `void`.
     */
    void = 15,
    /**
     * Specifies the type of `informationOnly`.
     */
    informationOnly = 16,
    /**
     * Specifies the type of `preliminaryResults`.
     */
    preliminaryResults = 17
}
/**
 * Public Enum to define check box style.
 * ```typescript
 * // Load an existing PDF document
 * let document$: PdfDocument = new PdfDocument(data, password);
 * // Access check box field
 * let field$: PdfCheckBoxField = document.form.fieldAt(0) as PdfCheckBoxField;
 * // Access first item of check box field
 * let item: PdfStateItem = field.itemAt(0) as PdfStateItem;
 * // Sets the check box style as check
 * item.style = PdfCheckBoxStyle.check;
 * // Save the document
 * document.save('output.pdf');
 * // Destroy the document
 * document.destroy();
 * ```
 */
export  enum PdfCheckBoxStyle {
    /**
     * Specifies the type of `check`.
     */
    check = 0,
    /**
     * Specifies the type of `circle`.
     */
    circle = 1,
    /**
     * Specifies the type of `cross`.
     */
    cross = 2,
    /**
     * Specifies the type of `diamond`.
     */
    diamond = 3,
    /**
     * Specifies the type of `square`.
     */
    square = 4,
    /**
     * Specifies the type of `star`.
     */
    star = 5
}
/**
 * Public Enum to define type of text markup annotation.
 * ```typescript
 * // Load an existing PDF document
 * let document$: PdfDocument = new PdfDocument(data, password);
 * // Access first page
 * let page$: PdfPage = document.getPage(0);
 * // Access the annotation at index 0
 * let annotation$: PdfTextMarkupAnnotation = page.annotations.at(0) PdfTextMarkupAnnotation;
 * // Sets the type of the text markup annotation as underline
 * annotation.textMarkupType = PdfTextMarkupAnnotationType.underline;
 * // Save the document
 * document.save('output.pdf');
 * // Destroy the document
 * document.destroy();
 * ```
 */
export  enum PdfTextMarkupAnnotationType {
    /**
     * Specifies the type of `highlight`.
     */
    highlight = 0,
    /**
     * Specifies the type of `underline`.
     */
    underline = 1,
    /**
     * Specifies the type of `squiggly`.
     */
    squiggly = 2,
    /**
     * Specifies the type of `strikeOut`.
     */
    strikeOut = 3
}
/**
 * Public Enum to define icon type of popup annotation.
 * ```typescript
 * // Load an existing PDF document
 * let document$: PdfDocument = new PdfDocument(data, password);
 * // Access first page
 * let page$: PdfPage = document.getPage(0);
 * // Access the annotation at index 0
 * let annotation$: PdfPopupAnnotation = page.annotations.at(0) PdfPopupAnnotation;
 * // Sets the icon type of the popup annotation as comment
 * annotation.icon = PdfPopupIcon.comment;
 * // Save the document
 * document.save('output.pdf');
 * // Destroy the document
 * document.destroy();
 * ```
 */
export  enum PdfPopupIcon {
    /**
     * Specifies the type of `note`.
     */
    note = 0,
    /**
     * Specifies the type of `comment`.
     */
    comment = 1,
    /**
     * Specifies the type of `help`.
     */
    help = 2,
    /**
     * Specifies the type of `insert`.
     */
    insert = 3,
    /**
     * Specifies the type of `key`.
     */
    key = 4,
    /**
     * Specifies the type of `new paragraph`.
     */
    newParagraph = 5,
    /**
     * Specifies the type of `paragraph`.
     */
    paragraph = 6
}
/**
 * Public Enum to define annotation state.
 * ```typescript
 * // Load an existing PDF document
 * let document$: PdfDocument = new PdfDocument(data, password);
 * // Access first page
 * let page$: PdfPage = document.getPage(0);
 * // Access the annotation at index 0
 * let annotation$: PdfPopupAnnotation = page.annotations.at(0) PdfPopupAnnotation;
 * // Sets the state of the popup annotation as accepted
 * annotation.state = PdfAnnotationState.accepted;
 * // Save the document
 * document.save('output.pdf');
 * // Destroy the document
 * document.destroy();
 * ```
 */
export  enum PdfAnnotationState {
    /**
     * Specifies the default state of `none`.
     */
    none = 0,
    /**
     * Specifies the state of `accepted`.
     */
    accepted = 1,
    /**
     * Specifies the state of `rejected`.
     */
    rejected = 2,
    /**
     * Specifies the state of `cancel`.
     */
    cancel = 3,
    /**
     * Specifies the state of `completed`.
     */
    completed = 4,
    /**
     * Specifies the state of `marked`.
     */
    marked = 5,
    /**
     * Specifies the state of `unmarked`.
     */
    unmarked = 6,
    /**
     * Specifies the state of `unknown`.
     */
    unknown = 7
}
/**
 * Public Enum to define annotation state model.
 * ```typescript
 * // Load an existing PDF document
 * let document$: PdfDocument = new PdfDocument(data, password);
 * // Access first page
 * let page$: PdfPage = document.getPage(0);
 * // Access the annotation at index 0
 * let annotation$: PdfPopupAnnotation = page.annotations.at(0) PdfPopupAnnotation;
 * // Sets the state model of the popup annotation as marked
 * annotation.stateModel = PdfAnnotationStateModel.marked;
 * // Save the document
 * document.save('output.pdf');
 * // Destroy the document
 * document.destroy();
 * ```
 */
export  enum PdfAnnotationStateModel {
    /**
     * Specifies the default model of `none`.
     */
    none = 0,
    /**
     * Specifies the model of `marked`.
     */
    marked = 1,
    /**
     * Specifies the model of `review`.
     */
    review = 2
}
/**
 * Public Enum to define icon type of attachment annotation.
 * ```typescript
 * // Load an existing PDF document
 * let document$: PdfDocument = new PdfDocument(data, password);
 * // Access first page
 * let page$: PdfPage = document.getPage(0);
 * // Access the annotation at index 0
 * let annotation$: PdfAttachmentAnnotation = page.annotations.at(0) PdfAttachmentAnnotation;
 * // Sets the icon type of attachment annotation to pushPin
 * annotation.icon = PdfAttachmentIcon.pushPin;
 * // Save the document
 * document.save('output.pdf');
 * // Destroy the document
 * document.destroy();
 * ```
 */
export  enum PdfAttachmentIcon {
    /**
     * Specifies the default icon of `pushPin`.
     */
    pushPin = 0,
    /**
     * Specifies the icon of `tag`.
     */
    tag = 1,
    /**
     * Specifies the icon of `graph`.
     */
    graph = 2,
    /**
     * Specifies the icon of `paperClip`.
     */
    paperClip = 3
}
/**
 * Public Enum to define annotation intent of free text annotation.
 * ```typescript
 * // Load an existing PDF document
 * let document$: PdfDocument = new PdfDocument(data, password);
 * // Access first page
 * let page$: PdfPage = document.getPage(0);
 * // Access the annotation at index 0
 * let annotation$: PdfFreeTextAnnotation = page.annotations.at(0) PdfFreeTextAnnotation;
 * // Sets the free text annotation intent to freeTextCallout
 * annotation.annotationIntent = PdfAnnotationIntent.freeTextCallout;
 * // Save the document
 * document.save('output.pdf');
 * // Destroy the document
 * document.destroy();
 * ```
 */
export  enum PdfAnnotationIntent {
    /**
     * Specifies the default intent of `none`.
     */
    none = 0,
    /**
     * Specifies the intent of `freeTextCallout`.
     */
    freeTextCallout = 1,
    /**
     * Specifies the intent of `freeTextTypeWriter`.
     */
    freeTextTypeWriter = 2
}
/**
 * Public Enum to define destination mode of document link annotation.
 * ```typescript
 * // Load an existing PDF document
 * let document$: PdfDocument = new PdfDocument(data, password);
 * // Access first page
 * let page$: PdfPage = document.getPage(0);
 * // Access the annotation at index 0
 * let annotation$: PdfDocumentLinkAnnotation = page.annotations.at(0) PdfDocumentLinkAnnotation;
 * // Sets the destination mode as fitToPage
 * annotation.destination.mode = PdfDestinationMode.fitToPage;
 * // Save the document
 * document.save('output.pdf');
 * // Destroy the document
 * document.destroy();
 * ```
 */
export  enum PdfDestinationMode {
    /**
     * Specifies the default intent of `location`.
     */
    location = 0,
    /**
     * Specifies the intent of `FitToPage`.
     */
    fitToPage = 1,
    /**
     * Specifies the intent of `fitR`.
     */
    fitR = 2,
    /**
     * Specifies the intent of `fitH`.
     */
    fitH = 3
}
/**
 * ```typescript
 * // Load an existing PDF document
 * let document$: PdfDocument = new PdfDocument(data, password);
 * // Sets1 export data format as JSON type to annotation export settings
 * let settings$: PdfAnnotationExportSettings = new PdfAnnotationExportSettings();
 * settings.dataFormat = DataFormat.json;
 * // Export annotations to JSON format
 * let json$: Uint8Array = document.exportAnnotations(settings);
 * // Save the document
 * document.save('output.pdf');
 * // Destroy the document
 * document.destroy();
 * ```
 */
export  enum DataFormat {
    /**
     * Specifies the intent of `FDF`.
     */
    fdf = 0,
    /**
     * Specifies the intent of `XFDF`.
     */
    xfdf = 1,
    /**
     * Specifies the intent of `JSON`.
     */
    json = 2,
    /**
     * Specifies the intent of `XML`.
     */
    xml = 3
}
/**
 * Public enum to define form fields tab order.
 * ```typescript
 * // Load an existing PDF document
 * let document$: PdfDocument = new PdfDocument(data, password);
 * // Set a PDF form's tab order.
 * document.form.orderFormFields(PdfFormFieldsTabOrder.row);
 * // Save the document
 * document.save('output.pdf');
 * // Destroy the document
 * document.destroy();
 * ```
 */
export  enum PdfFormFieldsTabOrder {
    /**
     * Specifies that no tab order is defined.
     */
    none = 0,
    /**
     * Specifies the tab order is defined by the document's rows.
     */
    row = 1,
    /**
     * Specifies the tab order is defined by the document's columns.
     */
    column = 2,
    /**
     * Specifies the tab order is defined by the document's structure tree.
     */
    structure = 3,
    /**
     * Specifies the tab order is defined manually.
     */
    manual = 4,
    /**
     * Specifies the tab order is defined by the widget annotations in the document.
     */
    widget = 5
}
/**
 * Enum for PDF loaded annotation type.
 */
export  enum _PdfAnnotationType {
    /**
     * Specifies the intent of `highlight`.
     */
    highlight = 0,
    /**
     * Specifies the intent of `underline`.
     */
    underline = 1,
    /**
     * Specifies the intent of `strikeOut`.
     */
    strikeOut = 2,
    /**
     * Specifies the intent of `squiggly`.
     */
    squiggly = 3,
    /**
     * Specifies the intent of `redactionAnnotation`.
     */
    redactionAnnotation = 4,
    /**
     * Specifies the intent of `textAnnotation`.
     */
    textAnnotation = 5,
    /**
     * Specifies the intent of `linkAnnotation`.
     */
    linkAnnotation = 6,
    /**
     * Specifies the intent of `documentLinkAnnotation`.
     */
    documentLinkAnnotation = 7,
    /**
     * Specifies the intent of `uriAnnotation`.
     */
    uriAnnotation = 8,
    /**
     * Specifies the intent of `fileLinkAnnotation`.
     */
    fileLinkAnnotation = 9,
    /**
     * Specifies the intent of `freeTextAnnotation`.
     */
    freeTextAnnotation = 10,
    /**
     * Specifies the intent of `lineAnnotation`.
     */
    lineAnnotation = 11,
    /**
     * Specifies the intent of `circleAnnotation`.
     */
    circleAnnotation = 12,
    /**
     * Specifies the intent of `ellipseAnnotation`.
     */
    ellipseAnnotation = 13,
    /**
     * Specifies the intent of `squareAnnotation`.
     */
    squareAnnotation = 14,
    /**
     * Specifies the intent of `rectangleAnnotation`.
     */
    rectangleAnnotation = 15,
    /**
     * Specifies the intent of `polygonAnnotation`.
     */
    polygonAnnotation = 16,
    /**
     * Specifies the intent of `polyLineAnnotation`.
     */
    polyLineAnnotation = 17,
    /**
     * Specifies the intent of `textMarkupAnnotation`.
     */
    textMarkupAnnotation = 18,
    /**
     * Specifies the intent of `caretAnnotation`.
     */
    caretAnnotation = 19,
    /**
     * Specifies the intent of `rubberStampAnnotation`.
     */
    rubberStampAnnotation = 20,
    /**
     * Specifies the intent of `popupAnnotation`.
     */
    popupAnnotation = 21,
    /**
     * Specifies the intent of `fileAttachmentAnnotation`.
     */
    fileAttachmentAnnotation = 22,
    /**
     * Specifies the intent of `soundAnnotation`.
     */
    soundAnnotation = 23,
    /**
     * Specifies the intent of `movieAnnotation`.
     */
    movieAnnotation = 24,
    /**
     * Specifies the intent of `screenAnnotation`.
     */
    screenAnnotation = 25,
    /**
     * Specifies the intent of `widgetAnnotation`.
     */
    widgetAnnotation = 26,
    /**
     * Specifies the intent of `printerMarkAnnotation`.
     */
    printerMarkAnnotation = 27,
    /**
     * Specifies the intent of `trapNetworkAnnotation`.
     */
    trapNetworkAnnotation = 28,
    /**
     * Specifies the intent of `watermarkAnnotation`.
     */
    watermarkAnnotation = 29,
    /**
     * Specifies the intent of `textWebLinkAnnotation`.
     */
    textWebLinkAnnotation = 30,
    /**
     * Specifies the intent of `inkAnnotation`.
     */
    inkAnnotation = 31,
    /**
     * Specifies the intent of `richMediaAnnotation`.
     */
    richMediaAnnotation = 32,
    /**
     * Specifies the intent of `angleMeasurementAnnotation`.
     */
    angleMeasurementAnnotation = 33,
    /**
     * Specifies the intent of `null`.
     */
    null = 34
}
/**
 * Enum for PDF graphics unit.
 */
export  enum _PdfGraphicsUnit {
    /**
     * Specifies the type of `centimeter`.
     */
    centimeter = 0,
    /**
     * Specifies the type of `pica`.
     */
    pica = 1,
    /**
     * Specifies the type of `pixel`.
     */
    pixel = 2,
    /**
     * Specifies the type of `point`.
     */
    point = 3,
    /**
     * Specifies the type of `inch`.
     */
    inch = 4,
    /**
     * Specifies the type of `document`.
     */
    document = 5,
    /**
     * Specifies the type of `millimeter`.
     */
    millimeter = 6
}
export  enum _FieldFlag {
    default = 0,
    readOnly = 1,
    required = 2,
    noExport = 4,
    multiLine = 4096,
    password = 8192,
    fileSelect = 1048576,
    doNotSpellCheck = 4194304,
    doNotScroll = 8388608,
    comb = 16777216,
    richText = 33554432,
    noToggleToOff = 16384,
    radio = 32768,
    pushButton = 65536,
    radiosInUnison = 33554432,
    combo = 131072,
    edit = 262144,
    sort = 524288,
    multiSelect = 2097152,
    commitOnSelectChange = 67108864
}
export  enum _SignatureFlag {
    none = 0,
    signatureExists = 1,
    appendOnly = 2
}
export  enum _PdfCheckFieldState {
    unchecked = 0,
    checked = 1,
    pressedUnchecked = 2,
    pressedChecked = 3
}
/**
 * Public enum to define the PDF document permission flags.
 * ```typescript
 * // Load an existing PDF document
 * let document$: PdfDocument = new PdfDocument(data, password);
 * // Get the permission flag
 * let permission$: PdfPermissionFlag = document.permissions;
 * // Destroy the document
 * document.destroy();
 * ```
 */
export  enum PdfPermissionFlag {
    /**
     * Specifies the default permission flag.
     */
    default = 0,
    /**
     * Specifies the print permission flag.
     */
    print = 4,
    /**
     * Specifies the edit content permission flag.
     */
    editContent = 8,
    /**
     * Specifies the copy content permission flag.
     */
    copyContent = 16,
    /**
     * Specifies the edit annotations permission flag.
     */
    editAnnotations = 32,
    /**
     * Specifies the fill fields permission flag.
     */
    fillFields = 256,
    /**
     * Specifies the accessibility copy content permission flag.
     */
    accessibilityCopyContent = 512,
    /**
     * Specifies the assemble document permission flag.
     */
    assembleDocument = 1024,
    /**
     * Specifies the full quality print permission flag.
     */
    fullQualityPrint = 2048
}
/**
 * Public enum to define the PDF page orientation.
 * ```typescript
 * // Load an existing PDF document
 * let document$: PdfDocument = new PdfDocument(data, password);
 * // Access first page
 * let page$: PdfPage = document.getPage(0);
 * // Get the page orientation
 * let orientation$: PdfPageOrientation = page.orientation;
 * // Destroy the document
 * document.destroy();
 * ```
 */
export  enum PdfPageOrientation {
    /**
     * Specifies the type of `portrait`.
     */
    portrait = 0,
    /**
     * Specifies the type of `landscape`.
     */
    landscape = 1
}
/**
 * Public enum to define the text direction.
 * ```typescript
 * // Load an existing PDF document
 * let document$: PdfDocument = new PdfDocument(data, password);
 * // Load the font file
 * let font: PdfTrueTypeFont = new PdfTrueTypeFont(read('./resources/Fonts/', 'Arial.ttf'), 10);
 * // Add a string format
 * let format: PdfStringFormat = new PdfStringFormat();
 * format.alignment = PdfTextAlignment.right;
 * format.textDirection = PdfTextDirection.rightToLeft;
 * // Draw a text with right to left direction
 * page.graphics.drawString('Hello World مرحبا بالعالم', font, [10, 20, 300, 200], undefined, new PdfBrush([0, 0, 255]), format);
 * // Save the document
 * document.save('output.pdf');
 * // Destroy the document
 * document.destroy();
 * ```
 */
export  enum PdfTextDirection {
    /**
     * Specifies the type of `none`.
     */
    none = 0,
    /**
     * Specifies the type of `leftToRight`.
     */
    leftToRight = 1,
    /**
     * Specifies the type of `rightToLeft`.
     */
    rightToLeft = 2
}
/**
 * Public enum to define the subscript or superscript mode.
 * ```typescript
 * // Load an existing PDF document
 * let document$: PdfDocument = new PdfDocument(data, password);
 * // Gets the first page
 * let page$: PdfPage = document.getPage(0) as PdfPage;
 * // Create a new PDF standard font
 * let font: PdfStandardFont = new PdfStandardFont(PdfFontFamily.Helvetica, 10);
 * // Create a new PDF string format
 * let format: PdfStringFormat = new PdfStringFormat(PdfTextAlignment.right);
 * // Set a new paragraph indent
 * format.paragraphIndent = 20;
 * // Set the subscript or superscript mode
 * format.subSuperScript = PdfSubSuperScript.subScript;
 * // Draw the text
 * page.graphics.drawString('Helvetica', font, [0, 180, page.size[0], 40], undefined, new PdfBrush([0, 0, 255]), format);
 * // Save the document
 * document.save('output.pdf');
 * // Destroy the document
 * document.destroy();
 * ```
 */
export  enum PdfSubSuperScript {
    /**
     * Specifies the type of `none`.
     */
    none = 0,
    /**
     * Specifies the type of `superScript`.
     */
    superScript = 1,
    /**
     * Specifies the type of `subScript`.
     */
    subScript = 2
}
/**
 * Public enum to define blend mode of the PDF page.
 * ```typescript
 * // Load an existing PDF document
 * let document$: PdfDocument = new PdfDocument(data, password);
 * // Access first page
 * let page$: PdfPage = document.getPage(0);
 * // Gets the graphics of the PDF page
 * let graphics$: PdfGraphics = page.graphics;
 * // Create a new font
 * let font: PdfStandardFont = new PdfStandardFont(PdfFontFamily.symbol, 10);
 * // Set the blend mode
 * graphics.setTransparency(0.5, 0.5, PdfBlendMode.hardLight);
 * // Draw the text
 * graphics.drawString('Hello World', font, null, new PointF(10, 10));
 * // Save the document
 * document.save('output.pdf');
 * // Destroy the document
 * document.destroy();
 * ```
 */
export  enum PdfBlendMode {
    /**
     * Specifies the type of `normal`.
     */
    normal = 0,
    /**
     * Specifies the type of `multiply`.
     */
    multiply = 1,
    /**
     * Specifies the type of `screen`.
     */
    screen = 2,
    /**
     * Specifies the type of `overlay`.
     */
    overlay = 3,
    /**
     * Specifies the type of `darken`.
     */
    darken = 4,
    /**
     * Specifies the type of `lighten`.
     */
    lighten = 5,
    /**
     * Specifies the type of `colorDodge`.
     */
    colorDodge = 6,
    /**
     * Specifies the type of `colorBurn`.
     */
    colorBurn = 7,
    /**
     * Specifies the type of `hardLight`.
     */
    hardLight = 8,
    /**
     * Specifies the type of `softLight`.
     */
    softLight = 9,
    /**
     * Specifies the type of `difference`.
     */
    difference = 10,
    /**
     * Specifies the type of `exclusion`.
     */
    exclusion = 11,
    /**
     * Specifies the type of `hue`.
     */
    hue = 12,
    /**
     * Specifies the type of `saturation`.
     */
    saturation = 13,
    /**
     * Specifies the type of `color`.
     */
    color = 14,
    /**
     * Specifies the type of `luminosity`.
     */
    luminosity = 15
}
/**
 * Public enum to define fill mode of the PDF page.
 * ```typescript
 * // Load an existing PDF document
 * let document$: PdfDocument = new PdfDocument(data, password);
 * // Access first page
 * let page$: PdfPage = document.getPage(0);
 * // Gets the graphics of the PDF page
 * let graphics$: PdfGraphics = page.graphics;
 * // Create a new font
 * let font: PdfStandardFont = new PdfStandardFont(PdfFontFamily.symbol, 10);
 * // Set the fill mode
 * graphics.setClip([0, 0, 100, 100], PdfFillMode.winding);
 * // Draw the text
 * graphics.drawString('Hello World', font, null, new PointF(10, 10));
 * // Save the document
 * document.save('output.pdf');
 * // Destroy the document
 * document.destroy();
 * ```
 */
export  enum PdfFillMode {
    /**
     * Specifies the type of `winding`.
     */
    winding = 0,
    /**
     * Specifies the type of `alternate`.
     */
    alternate = 1
}
/**
 * Public enum to define the dash style.
 * ```typescript
 * // Load an existing PDF document
 * let document$: PdfDocument = new PdfDocument(data, password);
 * // Access first page
 * let page$: PdfPage = document.getPage(0);
 * // Gets the graphics of the PDF page
 * let graphics$: PdfGraphics = page.graphics;
 * // Create a new pen
 * let pen$: PdfPen = new PdfPen([0, 0, 0], 1);
 * // Set the dash style
 * pen._dashStyle = PdfDashStyle.dashDot;
 * // Draw a rectangle using pen
 * graphics.drawRectangle(150, 50, 50, 50, pen);
 * // Save the document
 * document.save('output.pdf');
 * // Destroy the document
 * document.destroy();
 * ```
 */
export  enum PdfDashStyle {
    /**
     * Specifies the type of `solid`.
     */
    solid = 0,
    /**
     * Specifies the type of `dash`.
     */
    dash = 1,
    /**
     * Specifies the type of `dot`.
     */
    dot = 2,
    /**
     * Specifies the type of `dashDot`.
     */
    dashDot = 3,
    /**
     * Specifies the type of `dashDotDot`.
     */
    dashDotDot = 4,
    /**
     * Specifies the type of `custom`.
     */
    custom = 5
}
/**
 * Public enum to define the line cap.
 * ```typescript
 * // Load an existing PDF document
 * let document$: PdfDocument = new PdfDocument(data, password);
 * // Access first page
 * let page$: PdfPage = document.getPage(0);
 * // Gets the graphics of the PDF page
 * let graphics$: PdfGraphics = page.graphics;
 * // Create a new pen
 * let pen$: PdfPen = new PdfPen([0, 0, 0], 1);
 * // Set the dash style
 * pen._dashStyle = PdfDashStyle.dashDot;
 * // Set the line cap
 * pen._lineCap = PdfLineCap.round;
 * // Draw a rectangle using pen
 * graphics.drawRectangle(150, 50, 50, 50, pen);
 * // Save the document
 * document.save('output.pdf');
 * // Destroy the document
 * document.destroy();
 * ```
 */
export  enum PdfLineCap {
    /**
     * Specifies the type of `flat`.
     */
    flat = 0,
    /**
     * Specifies the type of `round`.
     */
    round = 1,
    /**
     * Specifies the type of `square`.
     */
    square = 2
}
/**
 * Public enum to define the line join.
 * ```typescript
 * // Load an existing PDF document
 * let document$: PdfDocument = new PdfDocument(data, password);
 * // Access first page
 * let page$: PdfPage = document.getPage(0);
 * // Gets the graphics of the PDF page
 * let graphics$: PdfGraphics = page.graphics;
 * // Create a new pen
 * let pen$: PdfPen = new PdfPen([0, 0, 0], 1);
 * // Set the dash style
 * pen._dashStyle = PdfDashStyle.dashDot;
 * // Set the line join
 * pen._lineJoin = PdfLineJoin.bevel;
 * // Draw a rectangle using pen
 * graphics.drawRectangle(150, 50, 50, 50, pen);
 * // Save the document
 * document.save('output.pdf');
 * // Destroy the document
 * document.destroy();
 * ```
 */
export  enum PdfLineJoin {
    /**
     * Specifies the type of `miter`.
     */
    miter = 0,
    /**
     * Specifies the type of `round`.
     */
    round = 1,
    /**
     * Specifies the type of `bevel`.
     */
    bevel = 2
}
export  enum _PdfWordWrapType {
    /**
     * Specifies the type of `none`.
     */
    none = 0,
    /**
     * Specifies the type of `word`.
     */
    word = 1,
    /**
     * Specifies the type of `wordOnly`.
     */
    wordOnly = 2,
    /**
     * Specifies the type of `character`.
     */
    character = 3
}
export  enum _FontDescriptorFlag {
    fixedPitch = 1,
    serif = 2,
    symbolic = 4,
    script = 8,
    nonSymbolic = 32,
    italic = 64,
    forceBold = 262144
}
export  enum _TrueTypeCmapFormat {
    apple = 0,
    microsoft = 4,
    trimmed = 6
}
export  enum _TrueTypeCmapEncoding {
    unknown = 0,
    symbol = 1,
    unicode = 2,
    macintosh = 3
}
export  enum _TrueTypePlatformID {
    appleUnicode = 0,
    macintosh = 1,
    iSO = 2,
    microsoft = 3
}
export  enum _TrueTypeMicrosoftEncodingID {
    undefined = 0,
    unicode = 1
}
export  enum _TrueTypeMacintoshEncodingID {
    roman = 0,
    japanese = 1,
    chinese = 2
}
export  enum _TrueTypeCompositeGlyphFlag {
    Arg1And2AreWords = 1,
    ArgsAreXyValues = 2,
    RoundXyToGrid = 4,
    WeHaveScale = 8,
    Reserved = 16,
    MoreComponents = 32,
    WeHaveAnXyScale = 64,
    WeHaveTwoByTwo = 128,
    WeHaveInstructions = 256,
    UseMyMetrics = 512
}
export  enum _ImageFormat {
    /**
     * Specifies the type of `unknown`.
     */
    unknown = 0,
    /**
     * Specifies the type of `bmp`.
     */
    bmp = 1,
    /**
     * Specifies the type of `emf`.
     */
    emf = 2,
    /**
     * Specifies the type of `gif`.
     */
    gif = 3,
    /**
     * Specifies the type of `jpeg`.
     */
    jpeg = 4,
    /**
     * Specifies the type of `png`.
     */
    png = 5,
    /**
     * Specifies the type of `wmf`.
     */
    wmf = 6,
    /**
     * Specifies the type of `icon`.
     */
    icon = 7
}
export  enum _TokenType {
    none = 0,
    comment = 1,
    number = 2,
    real = 3,
    string = 4,
    hexString = 5,
    unicodeString = 6,
    unicodeHexString = 7,
    name = 8,
    operator = 9,
    beginArray = 10,
    endArray = 11,
    eof = 12
}
/**
 * Public enum to define text style.
 * ```typescript
 * // Load an existing PDF document
 * let document$: PdfDocument = new PdfDocument(data);
 * // Get the bookmarks
 * let bookmarks$: PdfBookmarkBase = document.bookmarks;
 * // Gets bookmark at the specified index
 * let bookmark$ : PdfBookMark = bookmarks.at(0) as PdfBookMark;
 * // Gets the textStyle
 * let textStyle$: PdfTextStyle = bookmark.textStyle;
 * // Destroy the document
 * document.destroy();
 * ```
 */
export  enum PdfTextStyle {
    /**
     * Specifies the `regular` text style.
     */
    regular = 0,
    /**
     * Specifies the `italic` text style.
     */
    italic = 1,
    /**
     * Specifies the `bold` text style.
     */
    bold = 2
}
export  enum _PdfColorSpace {
    rgb = 0,
    cmyk = 1,
    grayScale = 2,
    indexed = 3
}
/**
 * Public enum type to represent the ordered list style
 * ````typescript
 * // Load an existing document
 * let document$: PdfDocument = new PdfDocument(data);
 * // Access the first page
 * let page$: PdfPage = document.getPage(0);
 * // Add each item to the item collection by passing the string array
 * let items: PdfListitemCollection = new PdfListitemCollection(['Excel', 'Power', 'Point', 'Word', 'PDF']);
 * // Create a new ordered list and passing the list item collection
 * let list: PdfOrderedList = new PdfOrderedList(items);
 * // Set the ordered list number style for the list items
 * list.style = PdfNumberStyle.lowerLatin;
 * // Draw the ordered list
 * list.draw(page, 0, 20, 500, 700);
 * // Save the document
 * document.save('output.pdf');
 * // Destroy the document
 * document.destroy();
 * ```
 */
export  enum PdfNumberStyle {
    /**
     * No numbering at all.
     */
    none = 0,
    /**
     * Specifies the type '1'.
     */
    numeric = 1,
    /**
     * Specifies the style 'a'.
     */
    lowerLatin = 2,
    /**
     * Specifies the style 'i'.
     */
    lowerRoman = 3,
    /**
     * Specifies the style 'A'.
     */
    upperLatin = 4,
    /**
     * Specifies the style 'I'.
     */
    upperRoman = 5
}
/**
 * Public enum to define the style used for unordered list.
 * ```typescript
 * // Load an existing document
 * let document$: PdfDocument = new PdfDocument(data);
 * // Access the first page
 * let page$: PdfPage = document.getPage(0);
 * // Add each item to the collection by passing the string array
 * let items: PdfListitemCollection = new PdfListitemCollection(['Excel', 'Power', 'Point', 'Word', 'PDF']);
 * // Create a unordered list and pass the list item collection
 * let list: PdfUnorderedList = new PdfUnorderedList(items);
 * // Set the unordered list style for the list items
 * list.style = PdfUnorderedListStyle.circle;
 * // Draw the unordered list associated with items
 * list.draw(page, 0, 20, 500, 700);
 * // Save the document
 * document.save('output.pdf');
 * // Destroy the document
 * document.destroy();
 * ```
 */
export  enum PdfUnorderedListStyle {
    /**
     * No bulleting at all.
     */
    none = 0,
    /**
     * Specifies disk style.
     */
    disk = 1,
    /**
     * Specifies square style.
     */
    square = 2,
    /**
     * Specifies asterisk style.
     */
    asterisk = 3,
    /**
     * Specifies circle style.
     */
    circle = 4
}
/**
 * Public enum to define a layout type for drawing
 * ```typescript
 * // Load an existing document
 * let document$: PdfDocument = new PdfDocument(data);
 * // Access the first page
 * let page$: PdfPage = document.getPage(0);
 * // Assign the array of string for items
 * let products: string[] = ['Excel', 'Power', 'Point', 'Word', 'PDF'];
 * // Add the items to the list item collection by passing the array
 * let items: PdfListItemCollection = new PdfListItemCollection(products);
 * // Create a new ordered list
 * let list: PdfOrderedList = new PdfOrderedList(items);
 * // Create a layout format for drawing
 * let pageLayout: PdfLayoutFormat = new PdfLayoutFormat();
 * // Initialize layout type for drawing
 * pageLayout.layout = PdfLayoutType.paginate;
 * // Draw the list on the page along with the specified layout
 * list.draw(page, 0, 20, 500, 700, pageLayout);
 * // Get the layout type used to draw the list
 * let layoutType: PdfLayoutType = pageLayout.layout;
 * // Save the document
 * document.save('output.pdf');
 * // Destroy the document
 * document.destroy();
 * ````
 */
export  enum PdfLayoutType {
    /**
     * Specifies pagination across multiple pages based on the specified dimensions and layout options
     */
    paginate = 0,
    /**
     * Specifies content to be laid out to fit within a single page, without pagination
     */
    onePage = 1
}
/**
 * Public enum to define a layout Break type for drawing
 * ```typescript
 * // Load an existing document
 * let document$: PdfDocument = new PdfDocument(data);
 * // Access the first page
 * let page$: PdfPage = document.getPage(0);
 * // Assign the array of string for items
 * let products: string[] = ['Excel', 'Power', 'Point', 'Word', 'PDF'];
 * // Add the item to list item collection by passing the string array
 * let items: PdfListItemCollection = new PdfListItemCollection(products);
 * // Create a new ordered list
 * let list: PdfOrderedList = new PdfOrderedList(items);
 * // Create a layout for drawing
 * let pageLayout: PdfLayoutFormat = new PdfLayoutFormat();
 * // Set  the layout break type for drawing
 * pageLayout.break = PdfLayoutBreakType.fitPage;
 * // Draw the list associated with items along with layout
 * list.draw(page, 0, 20, 500, 700, pageLayout);
 * // Save the document
 * document.save('output.pdf');
 * // Destroy the document
 * document.destroy();
 * ````
 */
export  enum PdfLayoutBreakType {
    /**
     * Specifies that content should break to a new page to fit within specified dimensions.
     */
    fitPage = 0,
    /**
     * Specifies that content should break to a new page or element to fit within specified dimensions.
     */
    fitElement = 1
}
/**
 * Public enum to define a list marker alignment
 * ````typescript
 * // Load an existing document
 * let document$: PdfDocument = new PdfDocument(data);
 * // Access the first page
 * let page$: PdfPage = document.getPage(0);
 * // Add each item to the item collection by passing the string array
 * let items: PdfListitemCollection = new PdfListitemCollection(['Excel', 'Power', 'Point', 'Word', 'PDF']);
 * // Create a new ordered list and passing the list item collection
 * let list: PdfOrderedList = new PdfOrderedList(items);
 * // Set the marker alignment
 * list.alignment = PdfListMarkerAlignment.left;
 * // Draw the ordered list
 * list.draw(page, 0, 20, 500, 700);
 * // Save the document
 * document.save('output.pdf');
 * // Destroy the document
 * document.destroy();
 * ```
 */
export  enum PdfListMarkerAlignment {
    /**
     * Left alignment for marker.
     */
    left = 0,
    /**
     * Right alignment for marker.
     */
    right = 1
}
/**
 * Public enum to define a print state of layer
 * ```typescript
 * // Load an existing PDF document
 * let document$: PdfDocument = new PdfDocument(data);
 * // Access the collection of layers in the document
 * let layers$: PdfLayerCollection = document.layers;
 * // Retrieve the first layer from the layers collection
 * let layer: PdfLayer = layers.at(0);
 * // Retrieve the print state of the layer
 * let printState: PdfPrintState = layer.printState;
 * // Save the document
 * document.save('output.pdf');
 * // Destroy the document
 * document.destroy();
 * ````
 */
export  enum PdfPrintState {
    /**
     * The PDF layers always get print
     */
    alwaysPrint = 0,
    /**
     * The PDF layers never get print
     */
    neverPrint = 1,
    /**
     * The visible PDF layers get print
     */
    printWhenVisible = 2
}
//node_modules/@syncfusion/ej2-pdf/src/pdf/core/decrypt-stream.d.ts
export  class _PdfDecryptStream extends _PdfDecodeStream {
    readonly _chunkSize: number;
    _initialized: boolean;
    _nextChunk: Uint8Array;
    _cipher: _Cipher;
    constructor(stream: _PdfBaseStream, maybeLength: number, cipher: _Cipher);
    readBlock(): void;
}
//node_modules/@syncfusion/ej2-pdf/src/pdf/core/decode-stream.d.ts
export  class _PdfDecodeStream extends _PdfBaseStream {
    constructor(maybeMinBufferLength: number);
    _rawMinBufferLength: number;
    bufferLength: number;
    eof: boolean;
    buffer: Uint8Array;
    minBufferLength: number;
    stream: _PdfBaseStream;
    readonly isEmpty: boolean;
    ensureBuffer(requested: number): Uint8Array;
    getByte(): number;
    getBytes(length: number): Uint8Array;
    reset(): void;
    makeSubStream(start: number, length: number, dictionary: _PdfDictionary): _PdfBaseStream;
    getBaseStreams(): _PdfBaseStream[];
    moveStart(): void;
    getByteRange(begin: number, end: number): Uint8Array;
    readBlock(): void;
}
//node_modules/@syncfusion/ej2-pdf/src/pdf/core/content-parser.d.ts
export  class _ContentParser {
    _lexer: _ContentLexer;
    _recordCollection: _PdfRecord[];
    _operands: string[];
    _inlineImageBytes: number[];
    _isByteOperand: boolean;
    constructor(contentStream: number[]);
    constructor(contentStream: Uint8Array);
    _readContent(): _PdfRecord[];
    _parseObject(tokenType: _TokenType): void;
    _consumeValue(): void;
    _createRecord(): void;
    _getNextToken(): _TokenType;
}
export  class _ContentLexer {
    _data: Uint8Array;
    _tokenType: _TokenType;
    _operatorParams: string;
    _currentCharacter: string;
    _nextCharacter: string;
    _offset: number;
    _text: string[];
    constructor(data: Uint8Array | number[]);
    _getNextToken(): _TokenType;
    _getComment(): _TokenType;
    _getName(): _TokenType;
    _getNumber(): _TokenType;
    _getOperator(): _TokenType;
    _isOperator(value: string): boolean;
    _getLiteralString(): _TokenType;
    _getEncodedDecimalString(): _TokenType;
    _getLiteralStringValue(value: string): string;
    _consumeValue(): string;
    _moveToNextChar(): string;
    _resetContentPointer(count: number): void;
    _getNextInlineChar(): string;
    _getNextCharForInlineStream(): string;
    _getNextChar(): string;
}
export  class _PdfRecord {
    _operator: string;
    _operands: string[];
    _splitText: string[];
    _inlineImageBytes: Uint8Array;
    constructor(name: string, operands: string[]);
    constructor(name: string, imageData: Uint8Array);
}
//node_modules/@syncfusion/ej2-pdf/src/pdf/core/base-stream.d.ts
export  abstract class _PdfBaseStream {
    offset: number;
    dictionary: _PdfDictionary;
    reference: _PdfReference;
    _isCompress: boolean;
    _isImage: boolean;
    getByte(): number;
    getBytes(length?: number): Uint8Array;
    readonly length: number;
    readonly isEmpty: boolean;
    readonly isDataLoaded: boolean;
    peekByte(): number;
    peekBytes(length: number): Uint8Array;
    getUnsignedInteger16(): number;
    getInt32(): number;
    getByteRange(begin: number, end: number): Uint8Array;
    makeSubStream(start: number, length: number, dictionary: _PdfDictionary): _PdfBaseStream;
    readBlock(): void;
    reset(): void;
    moveStart(): void;
    getString(isHex?: boolean, bytes?: Uint8Array): string;
    skip(n?: number): void;
    getBaseStreams(): _PdfBaseStream[];
}
export  class _PdfStream extends _PdfBaseStream {
    constructor(arrayBuffer: number[] | Uint8Array | ArrayBuffer, dictionary?: _PdfDictionary, start?: number, length?: number);
    bytes: Uint8Array;
    start: number;
    isImageStream: boolean;
    end: number;
    /**
     * Gets the position of the stream.
     *
     * @returns {number} offset position.
     */
    /**
    * Sets the position of the stream.
    *
    * @param {number} value offset position.
    */
    position: number;
    /**
     * Gets the length of the stream (Read only).
     *
     * @returns {number} length.
     */
    readonly length: number;
    /**
     * Gets a value indicating whether the stream is empty (Read only).
     *
     * @returns {boolean} stream empty or not.
     */
    readonly isEmpty: boolean;
    getByte(): number;
    getBytes(length?: number): Uint8Array;
    getByteRange(begin: number, end: number): Uint8Array;
    reset(): void;
    moveStart(): void;
    makeSubStream(start: number, length: number, dictionary?: _PdfDictionary): _PdfStream;
    readBlock(): void;
    _clearStream(): void;
    _write(text: string): void;
    _writeBytes(data: number[]): void;
}
export  class _PdfContentStream extends _PdfBaseStream {
    _bytes: number[];
    _pendingResources: string;
    readonly length: number;
    constructor(bytes: number[]);
    write(data: string | number[]): void;
    getString(isHex?: boolean): string;
}
export  class _PdfNullStream extends _PdfStream {
    constructor();
}
//node_modules/@syncfusion/ej2-pdf/src/pdf/core/security/encryptor.d.ts
export  class _PdfEncryptor {
    _filterName: string;
    _dictionary: _PdfDictionary;
    _algorithm: number;
    _messageDigest: _MD5;
    _encryptionKey: Uint8Array;
    _cipherDictionary: _PdfDictionary;
    _string: _PdfName;
    _stream: _PdfName;
    _eff: _PdfName;
    _isUserPassword: boolean;
    _hasUserPasswordOnly: boolean;
    _encryptOnlyAttachment: boolean;
    _encryptMetaData: boolean;
    _defaultPasswordBytes: Uint8Array;
    readonly _md5: _MD5;
    constructor(dictionary: _PdfDictionary, id: string, password?: string);
    _createEncryptionKey(isUserKey: boolean, password: Uint8Array, ownerKeySalt: Uint8Array, uBytes: Uint8Array, userKeySalt: Uint8Array, ownerEncryption: Uint8Array, userEncryption: Uint8Array, algorithm: _AdvancedEncryption | _BasicEncryption): Uint8Array;
    _prepareKeyData(id: Uint8Array, password: Uint8Array, ownerPassword: Uint8Array, userPassword: Uint8Array, flags: number, revision: number, keyLength: number, encryptMetaData: boolean): Uint8Array;
    _decodeUserPassword(password: Uint8Array, ownerPassword: Uint8Array, revision: number, keyLength: number): Uint8Array;
    _createCipherTransform(objectNumber: number, generationNumber: number): _CipherTransform;
    _buildCipherConstructor(cipherDictionary: _PdfDictionary, name: _PdfName, objectNumber: number, generationNumber: number, key: Uint8Array): _Cipher;
    _buildObjectKey(objectNumber: number, generationNumber: number, encryptionKey: Uint8Array, isAdvancedEncryption?: boolean): Uint8Array;
}
export  class _MD5 {
    _r: Uint8Array;
    _k: Int32Array;
    hash(data: Uint8Array, offset?: number, length?: number): Uint8Array;
}
export  class _Sha256 {
    _rotateRight(x: number, n: number): number;
    _sigma(x: number): number;
    _sigmaPrime(x: number): number;
    _littleSigma(x: number): number;
    _littleSigmaPrime(x: number): number;
    _hash(data: Uint8Array, offset: number, length: number): Uint8Array;
}
export  class _Sha512 {
    _k: Array<_Word64>;
    _sigma(result: _Word64, x: _Word64, buffer: _Word64): void;
    _sigmaPrime(result: _Word64, x: _Word64, buffer: _Word64): void;
    _littleSigma(result: _Word64, x: _Word64, buffer: _Word64): void;
    _littleSigmaPrime(result: _Word64, x: _Word64, buffer: _Word64): void;
    _hash(data: Uint8Array, offset: number, length: number, isMode384?: boolean): Uint8Array;
}
export  class _Word64 {
    high: number;
    low: number;
    constructor(high: number, low: number);
    and(word: _Word64): void;
    or(word: _Word64): void;
    not(): void;
    xor(word: _Word64): void;
    shiftRight(places: number): void;
    shiftLeft(places: number): void;
    rotateRight(places: number): void;
    add(word: _Word64): void;
    copyTo(bytes: Uint8Array, offset: number): void;
    assign(word: _Word64): void;
}
export  abstract class _EncryptionKey {
    _sha256Obj: _Sha256;
    readonly _sha256: _Sha256;
    _sha512Obj: _Sha512;
    readonly _sha512: _Sha512;
    abstract _checkOwnerPassword(password: Uint8Array, ownerValidationSalt: Uint8Array, userBytes: Uint8Array, ownerPassword: Uint8Array): boolean;
    abstract _checkUserPassword(password: Uint8Array, userValidationSalt: Uint8Array, userPassword: Uint8Array): boolean;
    abstract _getOwnerKey(password: Uint8Array, ownerKeySalt: Uint8Array, userBytes: Uint8Array, ownerEncryption: Uint8Array): Uint8Array;
    abstract _getUserKey(password: Uint8Array, userKeySalt: Uint8Array, userEncryption: Uint8Array): Uint8Array;
}
export  class _BasicEncryption extends _EncryptionKey {
    _checkOwnerPassword(password: Uint8Array, ownerValidationSalt: Uint8Array, userBytes: Uint8Array, ownerPassword: Uint8Array): boolean;
    _checkUserPassword(password: Uint8Array, userValidationSalt: Uint8Array, userPassword: Uint8Array): boolean;
    _getOwnerKey(password: Uint8Array, ownerKeySalt: Uint8Array, userBytes: Uint8Array, ownerEncryption: Uint8Array): Uint8Array;
    _getUserKey(password: Uint8Array, userKeySalt: Uint8Array, userEncryption: Uint8Array): Uint8Array;
}
export  class _AdvancedEncryption extends _EncryptionKey {
    _checkOwnerPassword(password: Uint8Array, ownerValidationSalt: Uint8Array, userBytes: Uint8Array, ownerPassword: Uint8Array): boolean;
    _checkUserPassword(password: Uint8Array, userValidationSalt: Uint8Array, userPassword: Uint8Array): boolean;
    _getOwnerKey(password: Uint8Array, ownerKeySalt: Uint8Array, userBytes: Uint8Array, ownerEncryption: Uint8Array): Uint8Array;
    _getUserKey(password: Uint8Array, userKeySalt: Uint8Array, userEncryption: Uint8Array): Uint8Array;
    _hash(password: Uint8Array, input: Uint8Array, userBytes: Uint8Array): Uint8Array;
}
export  abstract class _Cipher {
    abstract _decryptBlock(data: Uint8Array, finalize?: boolean, iv?: Uint8Array): Uint8Array;
    abstract _encrypt(data: Uint8Array): Uint8Array;
}
export  class _NormalCipherFour extends _Cipher {
    _a: number;
    _b: number;
    _s: Uint8Array;
    constructor(key: Uint8Array);
    _encryptBlock(data: Uint8Array): Uint8Array;
    _decryptBlock(data: Uint8Array): Uint8Array;
    _encrypt(data: Uint8Array): Uint8Array;
}
export  abstract class _AdvancedEncryptionBaseCipher extends _Cipher {
    _mixC: Uint8Array;
    _buffer: Uint8Array;
    _position: number;
    _keySize: number;
    _cyclesOfRepetition: number;
    _iv: Uint8Array;
    _key: Uint8Array;
    _bufferLength: number;
    _s: Uint8Array;
    _inverseS: Uint8Array;
    _mix: Uint32Array;
    readonly _mixCol: Uint8Array;
    abstract _expandKey(cipherKey: Uint8Array): Uint8Array;
    _decrypt(input: Uint8Array, key: Uint8Array): Uint8Array;
    _encryptBlock(input: Uint8Array, key: Uint8Array): Uint8Array;
    _decryptBlockHelper(data: Uint8Array, finalize: boolean): Uint8Array;
    _decryptBlock(data: Uint8Array, finalize: boolean, iv?: Uint8Array): Uint8Array;
    _encrypt(data: Uint8Array, iv?: Uint8Array): Uint8Array;
}
export  class _AdvancedEncryption128Cipher extends _AdvancedEncryptionBaseCipher {
    _key: Uint8Array;
    constructor(key: Uint8Array);
    _expandKey(cipherKey: Uint8Array): Uint8Array;
}
export  class _AdvancedEncryption256Cipher extends _AdvancedEncryptionBaseCipher {
    constructor(key: Uint8Array);
    _expandKey(cipherKey: Uint8Array): Uint8Array;
}
export  class _NullCipher extends _Cipher {
    _decryptBlock(data: Uint8Array): Uint8Array;
    _encrypt(data: Uint8Array): Uint8Array;
}
export  class _CipherTransform {
    _stringCipher: _Cipher;
    _streamCipher: _Cipher;
    constructor(stringCipher: _Cipher, streamCipher: _Cipher);
    createStream(stream: _PdfBaseStream, length: number): _PdfDecryptStream;
    decryptString(s: string): string;
    encryptString(s: string): string;
}
//node_modules/@syncfusion/ej2-pdf/src/pdf/core/list/pdf-list.d.ts
/**
 * Represents base class for lists.
 * ```typescript
 * // Load an existing PDF document
 * let document$: PdfDocument = new PdfDocument(data);
 * // Access the first page
 * let page$: PdfPage = document.getPage(0);
 * // Assign the array of string items
 * let products$: string[] = ['Excel', 'Power', 'Point', 'Word', 'PDF'];
 * // Initialize a new brush
 * let brush$: PdfBrush =  new PdfBrush([0, 255, 255])
 * // Add an item to item collection by passing the string array
 * let items$: PdfListItemCollection = new PdfListItemCollection(products);
 * // Create a new instance of ordered list
 * let list$: PdfList = new PdfOrderedList(items);
 * // Draw the ordered list with specified items
 * list.draw(page, 0, 20, 500, 700);
 * // Get the brush associated with the ordered list
 * let listBrush: PdfBrush = list.brush;
 * // Save the document
 * document.save('output.pdf');
 * // Destroy the document
 * document.destroy();
 * ```
 */
export  abstract class PdfList {
    _brush: PdfBrush;
    _pen: PdfPen;
    _font: PdfFont;
    _stringFormat: PdfStringFormat;
    _textIndent: number;
    _indent: number;
    _alignment: PdfListMarkerAlignment;
    _delimiter: string;
    _suffix: string;
    _enableHierarchy: boolean;
    _graphics: PdfGraphics;
    _bounds: number[];
    _itemCollection: PdfListItemCollection;
    _currentIndex: number;
    _size: number[];
    _unicodeFont: PdfStandardFont;
    _defaultFont: PdfFont;
    /**
     * Gets the `PdfBrush` object associated with the list.
     *
     * @returns {PdfBrush} The `PdfBrush` object to specify fill text rendering mode.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data);
     * // Access the first page
     * let page$: PdfPage = document.getPage(0);
     * // Assign the array of string items
     * let products$: string[] = ['Excel', 'Power', 'Point', 'Word', 'PDF'];
     * // Initialize a new brush
     * let brush$: PdfBrush =  new PdfBrush([0, 255, 255]);
     * // Add an item to item collection by passing the string array
     * let items$: PdfListItemCollection = new PdfListItemCollection(products);
     * // Create a new instance of ordered list
     * let list$: PdfOrderedList = new PdfOrderedList(items);
     * // Draw the ordered list with specified items
     * list.draw(page, 0, 20, 500, 700);
     * // Get the brush associated with the ordered list
     * let listBrush: PdfBrush = list.brush;
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Sets the `PdfBrush` object associated with the list.
    *
    * @param {PdfBrush} value The `PdfBrush` object to specify fill text rendering mode.
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data);
    * // Access the first page
    * let page$: PdfPage = document.getPage(0);
    * // Assign the array of string items
    * let products$: string[] = ['Excel', 'Power', 'Point', 'Word', 'PDF'];
    * // Add an item to item collection by passing the string array
    * let items$: PdfListItemCollection = new PdfListItemCollection(products);
    * // Create a new Ordered list and set the brush
    * let list$: PdfOrderedList = new PdfOrderedList(items, {brush: new PdfBrush([255, 0, 0])});
    * // Set fill color to the list
    * list.brush = brush;
    * // Draw the ordered list with specified items
    * list.draw(page, 0, 20, 500, 700);
    * // Save the document
    * document.save('output.pdf');
    * // Destroy the document
    * document.destroy();
    * ```
    */
    brush: PdfBrush;
    /**
     * Gets the `PdfPen` object associated with the list.
     *
     * @returns {PdfPen} The `PdfPen` object to specify stroke properties for text rendering.
     * ```typescript
     * // Load an existing document
     * let document$: PdfDocument = new PdfDocument(data);
     * // Access the first page
     * let page$: PdfPage = document.getPage(0);
     * // Assign the array of string items
     * let products$: string[] = ['Excel', 'Power', 'Point', 'Word', 'PDF'];
     * // Create an instance of item collection and add the list item
     * let items$: PdfListItemCollection = new PdfListItemCollection(products);
     * // create a new ordered list and draw the list
     * let list$: PdfOrderedList = new PdfOrderedList(items, {pen: new PdfPen([0, 255, 255], 1)});
     * list.draw(page, 0, 20, 500, 700);
     * // Retrieve the pen associated with the ordered list
     * let itemPen: PdfPen = list.pen;
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Sets the `PdfPen` object associated with the list.
    *
    * @param {PdfPen} value The `PdfPen` object to specify fill text rendering mode.
    * // Load an existing document
    * let document$: PdfDocument = new PdfDocument(data);
    * // Access the first page
    * let page$: PdfPage = document.getPage(0);
    * // Assign the array of string items
    * let products$: string[] = ['Excel', 'Power', 'Point', 'Word', 'PDF'];
    * // Create an instance of item collection and add the list item
    * let items$: PdfListItemCollection = new PdfListItemCollection(products);
    * // Create a new pen
    * let pen$: PdfPen =  new PdfPen([0, 255, 255], 1);
    * // Create a new ordered list
    * let list$: PdfOrderedList = new PdfOrderedList(items);
    * // Set the pen for the ordered list
    * list.pen = pen;
    * // Draw the list associated with items
    * list.draw(page, 0, 20, 500, 700);
    * // Save the document
    * document.save('output.pdf');
    * // Destroy the document
    * document.destroy();
    * ```
    */
    pen: PdfPen;
    /**
     * Gets the font of the list item.
     *
     * @returns {PdfFont} The font used for the list items.
     * ```typescript
     * // Load the existing document
     * let document$: PdfDocument = new PdfDocument(data);
     * // Access the first page
     * let page$: PdfPage = document.getPage(0);
     * // Assign the array of string items
     * let products$: string[] = ['Excel', 'Power', 'Point', 'Word', 'PDF'];
     * // Add an item to list item collection by passing the string array
     * let items$: PdfListItemCollection = new PdfListItemCollection(products);
     * // Create a new ordered list
     * let list$: PdfOrderedList = new PdfOrderedList(items);
     * // Draw the items on the page
     * list.draw(page, 0, 20, 500, 700);
     * /// Retrieve the font used for the list items
     * let itemPen: PdfFont = list.font;
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ````
     */
    /**
    * Sets the `PdfFont` object associated with the list.
    *
    * @param {PdfFont} value The `PdfPen` object to to set for the list items.
    * ```typescript
    * // Load an existing document
    * let document$: PdfDocument = new PdfDocument(data);
    * // Access the first page
    * let page$: PdfPage = document.getPage(0);
    * // Assign the array of string items
    * let products$: string[] = ['Excel', 'Power', 'Point', 'Word', 'PDF'];
    * // Create an instance of item collection and add the list item
    * let items$: PdfListItemCollection = new PdfListItemCollection(products);
    * // Create a new font for list
    * let font$: PdfStandardFont = new PdfStandardFont(PdfFontFamily.timesRoman, 12);
    * // Create a new ordered list with items and font
    * let list$: PdfOrderedList = new PdfOrderedList(items);
    * list.font = font;
    * // Draw the items on the page
    * list.draw(page, 0, 20, 500, 700);
    * // Save the document
    * document.save('output.pdf');
    * // Destroy the document
    * document.destroy();
    * ```
    */
    font: PdfFont;
    /**
     * Gets the text layout format associated with the list item.
     *
     * @returns {PdfStringFormat} The `PdfStringFormat` object that specifies the text layout information.
     * ```typescript
     * // Load the existing document
     * let document$: PdfDocument = new PdfDocument(data);
     * // Access the first page
     * let page$: PdfPage = document.getPage(0);
     * // Assign the array of string items
     * let products$: string[] = ['Excel', 'Power', 'Point', 'Word', 'PDF'];
     * // Add an items to  listitem collection by passing the string array
     * let items$: PdfListItemCollection = new PdfListItemCollection(products);
     * // Create a new ordered list with items
     * let list$: PdfOrderedList = new PdfOrderedList(items);
     * // Draw the items on the page
     * list.draw(page, 0, 20, 500, 700);
     * // Getting the text layout format used by the list items
     * let itemFormat: PdfStringFormat = list.stringFormat;
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ````
     */
    /**
    * Sets the text layout format of the list item.
    *
    * @param {PdfStringFormat} value The `PdfStringFormat` object that specifies the text layout information.
    * ```typescript
    * // Load an existing document
    * let document$: PdfDocument = new PdfDocument(data);
    * // Access the first page
    * let page$: PdfPage = document.getPage(0);
    * // Assign the array of string items
    * let products$: string[] = ['Excel', 'Power', 'Point', 'Word', 'PDF'];
    * // Create an instance of item collection and add the list item
    * let items$: PdfListItemCollection = new PdfListItemCollection(products);
    * // Create a new  format with alignment settings for list
    * let itemFormat: PdfStringFormat =  new PdfStringFormat(PdfTextAlignment.right, PdfVerticalAlignment.bottom);
    * // Add an item to list item collection by passing the string array
    * let items$: PdfListItemCollection = new PdfListItemCollection(items);
    * // Create a ordered list with the item collection
    * let list$: PdfOrderedList = new PdfOrderedList();
    * // Set the text layout format for the list
    * list.stringFormat = itemFormat;
    * // Draw the items on the page with the updated format
    * list.draw(page, 0, 20, 500, 700);
    * // Save the document
    * document.save('output.pdf');
    * // Destroy the document
    * document.destroy();
    * ````
    */
    stringFormat: PdfStringFormat;
    /**
     * Gets the indent of the list.
     *
     * @returns {number} The indent value of the list.
     * ```typescript
     * // Load an existing document
     * let document$: PdfDocument = new PdfDocument(data);
     * // Access the first page
     * let page$: PdfPage = document.getPage(0);
     * // Assign the array of string items
     * let products$: string[] = ['Excel', 'Power', 'Point', 'Word', 'PDF'];
     * // Add an item to list item collection by passing the string array
     * let items$: PdfListItemCollection = new PdfListItemCollection(products);
     * // Create a of ordered list
     * let list$: PdfOrderedList = new PdfOrderedList(items);
     * // Draw the list on the page associated with items
     * list.draw(page, 0, 20, 500, 700);
     * // Get the current indent value used by the list
     * let itemIndent: number = list.indent;
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ````
     */
    /**
    * Sets the indent of the list.
    *
    * @param {number} value The indent value to set for the list.
    * ```typescript
    * //Load an existing document
    * let document$: PdfDocument = new PdfDocument(data);
    * // Access the first page
    * let page$: PdfPage = document.getPage(0);
    * // Assign the array of string items
    * let products$: string[] = ['Excel', 'Power', 'Point', 'Word', 'PDF'];
    * // Add an items to list item collection by passing the string array
    * let items$: PdfListItemCollection = new PdfListItemCollection(products);
    * // Create a of ordered list
    * let list$: PdfOrderedList = new PdfOrderedList(items);
    * // Set the indent value for the list
    * list.indent = 40;
    * // Draw the items on the page with the specified indent
    * list.draw(page, 0, 20, 500, 700);
    * // Save the document
    * document.save('output.pdf');
    * // Destroy the document
    * document.destroy();
    * ````
    */
    indent: number;
    /**
     * Gets the text indent of the list.
     *
     * @returns {number} The text indent of the list.
     * ```typescript
     * // Load the existing document
     * let document$: PdfDocument = new PdfDocument(data);
     * // Access the first page
     * let page$: PdfPage = document.getPage(0);
     * // Assign the array of string items
     * let products$: string[] = ['Excel', 'Power', 'Point', 'Word', 'PDF'];
     * // Add an items to list item collection by passing the string array
     * let items$: PdfListItemCollection = new PdfListItemCollection(products);
     * // Create an new ordered list
     * let list$: PdfOrderedList = new PdfOrderedList(items);
     * // Draw the list on the page associated with items
     * list.draw(page, 0, 20, 500, 700);
     * // Get the current text indent value of the list
     * let textIndent: number = list.textIndent;
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ````
     */
    /**
    * Sets the text indent of the list.
    *
    * @param {number} value The text indent value to set for the list.
    * ```typescript
    * // Load an existing document
    * let document$: PdfDocument = new PdfDocument(data);
    * // Access the first page
    * let page$: PdfPage = document.getPage(0);
    * // Assign the array of string items
    * let products$: string[] = ['Excel', 'Power', 'Point', 'Word', 'PDF'];
    * // Add an item to list item collection by passing the string array
    * let items$: PdfListItemCollection = new PdfListItemCollection(products);
    * // Create a new ordered list
    * let list$: PdfOrderedList = new PdfOrderedList(items);
    * // Set the text indent value for the list
    * list.textIndent = 40;
    * // Draw the items on the page with the updated text indent
    * list.draw(page, 0, 20, 500, 700);
    * // Save the document
    * document.save('output.pdf');
    * // Destroy the document
    * document.destroy();
    * ````
    */
    textIndent: number;
    /**
     * Gets the delimiter string used to separate items in the list.
     *
     * @returns {string} The delimiter string used in the list.
     * ```typescript
     * // Load an existing document
     * let document$: PdfDocument = new PdfDocument(data);
     * // Access the first page
     * let page$: PdfPage = document.getPage(0);
     * // Assign the array of string items
     * let products$: string[] = ['Excel', 'Power', 'Point', 'Word', 'PDF'];
     * // Create an instance of PdfListItemCollection by passing the string array
     * let items$: PdfListItemCollection = new PdfListItemCollection(products);
     * // Create a new ordered list
     * let list$: PdfOrderedList = new PdfOrderedList(items);
     * // Draw the list on the page associated with items
     * list.draw(page, 0, 20, 500, 700);
     * // Get the delimiter used in the list
     * let delimiter: string = list.delimiter;
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ````
     */
    /**
    * Sets the delimiter string used to separate items in the list.
    *
    * @param {string} value The delimiter string to be set.
    * ```typescript
    * // Load an existing document
    * let document$: PdfDocument = new PdfDocument(data);
    * // Access the first page
    * let page$: PdfPage = document.getPage(0);
    * // Assign the array of string items
    * let products$: string[] = ['Excel', 'Power', 'Point', 'Word', 'PDF'];
    * // Add an item to list item collection by passing the string array
    * let items$: PdfListItemCollection = new PdfListItemCollection(products);
    * // Create a new ordered list
    * let list$: PdfOrderedList = new PdfOrderedList(items);
    * // Set the delimiter for the list
    * list.delimiter = ')';
    * // Draw the list on the page associated with items
    * list.draw(page, 0, 20, 500, 700);
    * // Save the document
    * document.save('output.pdf');
    * // Destroy the document
    * document.destroy();
    * ````
    */
    delimiter: string;
    suffix: string;
    /**
     * Gets a value indicating whether hierarchical structure is enabled for the list.
     *
     * @returns {boolean} `true` if hierarchical structure is enabled;
 otherwise, `false`.
     * // Load an existing document
     * let document$: PdfDocument = new PdfDocument(data);
     * // Access the first page
     * let page$: PdfPage = document.getPage(0);
     * // Assign the array of string items
     * let products$: string[] = ['Excel', 'Power', 'Point', 'Word', 'PDF'];
     * // Add an item to list item collection by passing the string array
     * let items$: PdfListItemCollection = new PdfListItemCollection(products);
     * // Create a new ordered list
     * let list$: PdfOrderedList = new PdfOrderedList(items);
     * // Draw the items associated with the items
     * list.draw(page, 0, 20, 500, 700);
     * // Get the hierarchical structure status
     * let enableHierarchy: boolean = list.enableHierarchy;
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ````
     */
    /**
    * Sets a value indicating whether hierarchical structure is enabled for the list.
    *
    * @param {boolean} value The boolean flag to enable or disable hierarchical structure.
    * ```typescript
    * // Load an existing document
    * let document$: PdfDocument = new PdfDocument(data);
    * // Access the first page
    * let page$: PdfPage = document.getPage(0);
    * // Assign the array of string items
    * let products$: string[] = ['Excel', 'Power', 'Point', 'Word', 'PDF'];
    * // Add an item to list item collection by passing the string array
    * let items$: PdfListItemCollection = new PdfListItemCollection(products);
    * // Create a new ordered list
    * let list$: PdfOrderedList = new PdfOrderedList(items);
    * // Set the hierarchical structure status
    * list.enableHierarchy = true;
    * / Draw the list on the page associated with items
    * list.draw(page, 0, 20, 500, 700);
    * // Save the document
    * document.save('output.pdf');
    * // Destroy the document
    * document.destroy();
    * ````
    */
    enableHierarchy: boolean;
    /**
     * Gets the text alignment of the list.
     *
     * @returns {PdfTextAlignment} The text alignment.
     * // Load an existing document
     * let document$: PdfDocument = new PdfDocument(data);
     * // Access the first page
     * let page$: PdfPage = document.getPage(0);
     * // Assign the array of string items
     * let products$: string[] = ['Excel', 'Power', 'Point', 'Word', 'PDF'];
     * // Add an item to list item collection by passing the string array
     * let items$: PdfListItemCollection = new PdfListItemCollection(products);
     * // Create a new ordered list
     * let list$: PdfOrderedList = new PdfOrderedList(items);
     * // Draw the list on the page associated with items
     * list.draw(page, 0, 20, 500, 700);
     * // Get the alignment of the list
     * let listAlignment: PdfTextAlignment = list.alignment;
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ````
     */
    /**
    * Sets the text alignment of the list.
    *
    * @param {PdfTextAlignment} value The text alignment to set for the list.
    * ```typescript
    * // Load an existing document
    * let document$: PdfDocument = new PdfDocument(data);
    * // Access the first page
    * let page$: PdfPage = document.getPage(0);
    * // Assign the array of string items
    * let products$: string[] = ['Excel', 'Power', 'Point', 'Word', 'PDF'];
    * // Add an items to list item collection by passing the string array
    * let items$: PdfListItemCollection = new PdfListItemCollection(products);
    * // Create a new ordered list
    * let list$: PdfOrderedList = new PdfOrderedList(items);
    * // Set the alignment for the list
    * list.alignment = PdfTextAlignment.left;
    * // Draw the items on the page
    * list.draw(page, 0, 20, 500, 700);
    * // Save the document
    * document.save('output.pdf');
    * // Destroy the document
    * document.destroy();
    * ````
    */
    alignment: PdfListMarkerAlignment;
    /**
     * Gets the item collection of the list.
     *
     * @returns {PdfListItemCollection} The list item collection.
     * ```typescript
     * // Load an existing document
     * let document$: PdfDocument = new PdfDocument(data);
     * // Access the first page
     * let page$: PdfPage = document.getPage(0);
     * // Assign the array of string items
     * let products$: string[] = ['Excel', 'Power', 'Point', 'Word', 'PDF'];
     * // Add an items to list item collection by passing the string array
     * let items$: PdfListItemCollection = new PdfListItemCollection(products);
     * // Create a new ordered list
     * let list$: PdfOrderedList = new PdfOrderedList(items);
     * // Get the item collection
     * let collection: PdfListItemCollection = list.items;
     * // Draw the list on the page associated with item collection
     * list.draw(page, 0, 20, 500, 700);
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ````
     */
    /**
    * Sets the item collection of the list.
    *
    * @param {PdfListItemCollection} value The list item collection.
    * ```typescript
    * // Load an existing document
    * let document$: PdfDocument = new PdfDocument(data);
    * // Access the first page
    * let page$: PdfPage = document.getPage(0);
    * // Create a new ordered list
    * let list$: PdfOrderedList = new PdfOrderedList();
    * // Sets the item collection
    * list.items = new PdfListItemCollection(['Excel', 'Power', 'Point', 'Word', 'PDF']);
    * // Draw the list on the page associated with item collection
    * list.draw(page, 0, 20, 500, 700);
    * // Save the document
    * document.save('output.pdf');
    * // Destroy the document
    * document.destroy();
    * ````
    */
    items: PdfListItemCollection;
    readonly _markerRightToLeft: boolean;
    /**
     * Draws the content on the specified `PdfPage` at the given coordinates.
     *
     * @param {PdfPage} page The PDF page on which to draw the content.
     * @param {number} x The x-coordinate where the list will be drawn.
     * @param {number} y The y-coordinate where the list will be drawn.
     * @returns {PdfLayoutResult} A layout result object indicating the outcome of the drawing operation.
     * ```typescript
     * // Load an existing document
     * let document$: PdfDocument = new PdfDocument(data);
     * // Access the first page
     * let page$: PdfPage = document.getPage(0);
     * // Create a new item collection
     * let items$: PdfListItemCollection = new PdfListItemCollection(['Excel', 'Power', 'Point', 'Word', 'PDF']);
     * // Create a new ordered list
     * let list$: PdfOrderedList = new PdfOrderedList(items);
     * // Draw the list on the page associated with item collection
     * list.draw(page, 0, 20);
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ````
     */
    draw(page: PdfPage, x: number, y: number): PdfLayoutResult;
    /**
     * Draws the `PdfList` at the specified coordinates on the `PdfGraphics` context.
     *
     * @param {PdfGraphics} graphics The graphics context on which to draw the list.
     * @param {number} x The x-coordinate where the list will be drawn.
     * @param {number} y The y-coordinate where the list will be drawn.
     * @returns Nothing.
     * ```typescript
     * // Load an existing document
     * let document$: PdfDocument = new PdfDocument(data);
     * // Access the first page
     * let page$: PdfPage = document.getPage(0);
     * // Create a new item collection
     * let items$: PdfListItemCollection = new PdfListItemCollection(['Excel', 'Power', 'Point', 'Word', 'PDF']);
     * // Create a new ordered list
     * let list$: PdfOrderedList = new PdfOrderedList(items);
     * // Draw the list on the graphics of the page
     * list.draw(page.graphics, 0, 20);
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ````
     */
    draw(graphics: PdfGraphics, x: number, y: number): void;
    /**
     * Draws the content on the specified `PdfPage` at the given coordinates with the specified layout format.
     *
     * @param {PdfPage} page The PDF page on which to draw the content.
     * @param {number} x The x-coordinate where the list will be drawn.
     * @param {number} y The y-coordinate where the list will be drawn.
     * @param {PdfLayoutFormat} format The layout format options for drawing.
     * @returns {PdfLayoutResult} A layout result object indicating the outcome of the drawing operation.
     * ```typescript
     * // Load an existing document
     * let document$: PdfDocument = new PdfDocument(data);
     * // Access the first page
     * let page$: PdfPage = document.getPage(0);
     * // Create a new item collection
     * let items$: PdfListItemCollection = new PdfListItemCollection(['Excel', 'Power', 'Point', 'Word', 'PDF']);
     * // Create a new ordered list
     * let list$: PdfOrderedList = new PdfOrderedList(items);
     * // Create an instance for PDF layout format
     * let layout: PdfLayoutFormat = new PdfLayoutFormat();
     * // Set the layout format
     * layout.break = PdfLayoutBreakType.fitPage;
     * layout.layout = pdfLayoutType.paginate;
     * // Draw the list on the page associated with item collection
     * list.draw(page, 0, 20, layout);
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ````
     */
    draw(page: PdfPage, x: number, y: number, format: PdfLayoutFormat): PdfLayoutResult;
    /**
     * Draws the content on the specified `PdfPage` within the specified bounds.
     *
     * @param {PdfPage} page The PDF page on which to draw the content.
     * @param {number} x The x-coordinate where the list will be drawn.
     * @param {number} y The y-coordinate where the list will be drawn.
     * @param {number} width The width of the area to draw within.
     * @param {number} height The height of the area to draw within.
     * @returns {PdfLayoutResult} A layout result object indicating the outcome of the drawing operation.
     * ```typescript
     * // Load an existing document
     * let document$: PdfDocument = new PdfDocument(data);
     * // Access the first page
     * let page$: PdfPage = document.getPage(0);
     * // Create a new item collection
     * let items$: PdfListItemCollection = new PdfListItemCollection(['Excel', 'Power', 'Point', 'Word', 'PDF']);
     * // Create a new ordered list
     * let list$: PdfOrderedList = new PdfOrderedList(items);
     * // Draw the list on the page associated with item collection
     * list.draw(page, 0, 20, 400, 100);
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ````
     */
    draw(page: PdfPage, x: number, y: number, width: number, height: number): PdfLayoutResult;
    /**
     * Draws the content on the specified `PdfPage` at the given bounds with the specified layout format.
     *
     * @param {PdfPage} page The PDF page on which to draw the content.
     * @param {number} x The x-coordinate where the list will be drawn.
     * @param {number} y The y-coordinate where the list will be drawn.
     * @param {number} width The width of the area to draw within.
     * @param {number} height The height of the area to draw within.
     * @param {PdfLayoutFormat} format The layout format options for drawing.
     * @returns {PdfLayoutResult} A layout result object indicating the outcome of the drawing operation.
     * ```typescript
     * // Load an existing document
     * let document$: PdfDocument = new PdfDocument(data);
     * // Access the first page
     * let page$: PdfPage = document.getPage(0);
     * // Create a new item collection
     * let items$: PdfListItemCollection = new PdfListItemCollection(['Excel', 'Power', 'Point', 'Word', 'PDF']);
     * // Create a new ordered list
     * let list$: PdfOrderedList = new PdfOrderedList(items);
     * // Create an instance for PDF layout format
     * let layout: PdfLayoutFormat = new PdfLayoutFormat();
     * // Set the layout format
     * layout.break = PdfLayoutBreakType.fitPage;
     * layout.layout = pdfLayoutType.paginate;
     * // Draw the list on the page associated with item collection
     * list.draw(page, 0, 20, 400, 100, format);
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ````
     */
    draw(page: PdfPage, x: number, y: number, width: number, height: number, format: PdfLayoutFormat): PdfLayoutResult;
    _drawInternal(arg1: PdfPage, arg2: number, arg3: number, arg4?: number | PdfLayoutFormat, arg5?: number, arg6?: PdfLayoutFormat): PdfLayoutResult;
    _layout(parameter: _PdfLayoutParameters): PdfLayoutResult;
}
/**
 * Represents an ordered list in a PDF document.
 * ```typescript
 * // Load an existing document
 * let document$: PdfDocument = new PdfDocument(data);
 * // Access the first page
 * let page$: PdfPage = document.getPage(0);
 * // Define an array of strings representing items to be added
 * let products$: string[] = ['Excel', 'Power', 'Point', 'Word', 'PDF'];
 * // Add the items to list item collection by passing the array of products
 * let items$: PdfListItemCollection = new PdfListItemCollection(products);
 * // Create an instance of ordered list
 * let list$: PdfOrderedList = new PdfOrderedList(items);
 * // Draw the ordered list on the page
 * list.draw(page, 0, 20, layout);
 * // Save the document
 * document.save('output.pdf');
 * // Destroy the document
 * document.destroy();
 * ````
 */
export  class PdfOrderedList extends PdfList {
    _style: PdfNumberStyle;
    _startNumber: number;
    /**
     * Initialize a new `PdfOrderedlist` instance with item collection.
     *
     * ```typescript
     * // Load an existing document
     * let document$: PdfDocument = new PdfDocument(data);
     * // Access the first page
     * let page$: PdfPage = document.getPage(0);
     * // Define an array of strings representing items to be added
     * let products$: string[] = ['Excel', 'Power', 'Point', 'Word', 'PDF'];
     * // Add the items to list item collection by passing the array of products
     * let items$: PdfListItemCollection = new PdfListItemCollection(products);
     * // Initialize the instance of ordered list
     * let list$: PdfOrderedList = new PdfOrderedList(items);
     * // Set the item collection
     * list.items = items;
     * // Draw the ordered list on the page
     * list.draw(page, 0, 20, 500, 700);
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    constructor();
    /**
     * Initialize a new `PdfOrderedlist` instance with item collection.
     *
     * @param {PdfListItemCollection} items The collection of items to be
     * included in the ordered list.
     * ```typescript
     * // Load an existing document
     * let document$: PdfDocument = new PdfDocument(data);
     * // Access the first page
     * let page$: PdfPage = document.getPage(0);
     * // Define an array of strings representing items to be added
     * let products$: string[] = ['Excel', 'Power', 'Point', 'Word', 'PDF'];
     * // Add the items to list item collection by passing the array of products
     * let items$: PdfListItemCollection = new PdfListItemCollection(products);
     * // Initialize the instance of ordered list and pass the item collection
     * let list$: PdfOrderedList = new PdfOrderedList(items);
     * // Draw the ordered list on the page
     * list.draw(page, 0, 20, 500, 700);
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    constructor(items: PdfListItemCollection);
    /**
     * Creates a new `PdfOrderedList` instance with the specified array of string
     * items and optional settings for font, format, pen, brush, intent, style, and
     * delimiter.
     *
     * @param {PdfListItemCollection} items An array of strings representing the
     * items in the ordered list.
     * @param {object} settings Optional settings for the list item.
     * ```typescript
     * // Load an existing document
     * let document$: PdfDocument = new PdfDocument(data);
     * // Access the first page
     * let page$: PdfPage = document.getPage(0);
     * // Assign the array of string items
     * let products$: string[] = ['Excel', 'Power', 'Point', 'Word', 'PDF'];
     * // Create a new font for list
     * let itemFont: PdfStandardFont = new PdfStandardFont(PdfFontFamily.Helvetica, 10);
     * // Create a new brush for list
     * let itemBrush: PdfBrush = new PdfBrush([0, 255, 255]);
     * // Create a new format for list
     * let itemFormat: PdfStringFormat = new PdfStringFormat(PdfTextAlignment.center);
     * // Create a new pen for list
     * let itemPen: PdfPen = new PdfPen([0, 255, 0], 1);
     * // Initialize a PdfNumberStyle for items
     * let itemStyle: PdfNumberStyle = PdfNumberStyle.numeric.
     * // Initialize a delimiter for the items
     * let itemDelimiter: string = ')';
     * // Add the items to list item collection by passing the array of products
     * let items$: PdfListItemCollection = new PdfListItemCollection(products);
     * // Initialize the instance of ordered list and pass the item collection
     * and optional settings
     * let list$: PdfOrderedList = new PdfOrderedList(items, {
     *     font: itemFont,
     *     format: itemFormat,
     *     pen: itemPen,
     *     brush: itemBrush,
     *     indent: 30,
     *     textIndent: 50,
     *     style: itemStyle,
     *     delimiter: itemDelimiter
     * });
     * // Draw the ordered list on the page
     * list.draw(page, 0, 20, 500, 700);
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    constructor(items: PdfListItemCollection, settings: {
        font?: PdfFont;
        format?: PdfStringFormat;
        pen?: PdfPen;
        brush?: PdfBrush;
        indent?: number;
        textIndent?: number;
        style?: PdfNumberStyle;
        delimiter?: string;
        suffix?: string;
        alignment?: PdfListMarkerAlignment;
    });
    /**
     * Gets the numbering style used for the ordered list.
     *
     * @returns {PdfNumberStyle} The numbering style used for the ordered list.
     *  ```typescript
     * // Load an existing document
     * let document$: PdfDocument = new PdfDocument(data);
     * // Access the first page
     * let page$: PdfPage = document.getPage(0);
     * // Assign the array of string items
     * let products$: string[] = ['Excel', 'Power', 'Point', 'Word', 'PDF'];
     * // Add the items to list item collection by passing the array of products
     * let items$: PdfListItemCollection = new PdfListItemCollection(products);
     * // Initialize the instance of ordered list and pass the item collection
     * let list$: PdfOrderedList = new PdfOrderedList(items);
     * // Get the numbering style used for the ordered list
     * let style: PdfNumberStyle = list.style;
     * // Draw the ordered list on the page
     * list.draw(page, 0, 20, 500, 700);
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Sets the numbering style used for the ordered list.
    *
    * @param {PdfNumberStyle} value The numbering style used for the ordered list.
    * ```typescript
    * // Load an existing document
    * let document$: PdfDocument = new PdfDocument(data);
    * // Access the first page
    * let page$: PdfPage = document.getPage(0);
    *  // Assign the array of string items
    * let products$: string[] = ['Excel', 'Power', 'Point', 'Word', 'PDF'];
    * // Add the items to list item collection by passing the array of products
    * let items$: PdfListItemCollection = new PdfListItemCollection(products);
    * // Initialize the instance of ordered list and pass the item collection
    * let list$: PdfOrderedList = new PdfOrderedList(items);
    * // Define a style for the list
    * let style: PdfNumberStyle = PdfNumberStyle.lowerLatin;
    * // Set the numbering style for the list items
    * list.style = style;
    * // Draw the ordered list on the page
    * list.draw(page, 0, 20, 500, 700);
    * // Save the document
    * document.save('output.pdf');
    * // Destroy the document
    * document.destroy();
    * ```
    */
    style: PdfNumberStyle;
    /**
     * Gets the starting number used for the ordered list.
     *
     * @returns {number} The starting number of the ordered list.
     * ```typescript
     * // Load an existing document
     * let document$: PdfDocument = new PdfDocument(data);
     * // Access the first page
     * let page$: PdfPage = document.getPage(0);
     * // Assign the array of string items
     * let products$: string[] = ['Excel', 'Power', 'Point', 'Word', 'PDF'];
     * // Add the items to list item collection by passing the array of products
     * let items$: PdfListItemCollection = new PdfListItemCollection(products);
     * // Initialize the instance of ordered list and pass the item collection
     * let list$: PdfOrderedList = new PdfOrderedList(items);
     * // Get the starting number used for the ordered list
     * let startnumber: number = list.startNumber;
     * // Draw the ordered list on the page
     * list.draw(page, 0, 20, 500, 700);
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Sets the starting number to be used for the ordered list.
    *
    * @param {number} value The starting number to set.
    * ```typescript
    * // Load an existing document
    * let document$: PdfDocument = new PdfDocument(data);
    * // Access the first page
    * let page$: PdfPage = document.getPage(0);
    * // Assign the array of string items
    * let products$: string[] = ['Excel', 'Power', 'Point', 'Word', 'PDF'];
    * // Add the items to list item collection by passing the array of products
    * let items$: PdfListItemCollection = new PdfListItemCollection(products);
    * // Initialize the instance of ordered list and pass the item collection
    * let list$: PdfOrderedList = new PdfOrderedList(items);
    * // Set the starting number for the ordered list
    * list.startNumber = 5;
    * // Draw the ordered list on the page
    * list.draw(page, 0, 20, 500, 700);
    * // Save the document
    * document.save('output.pdf');
    * // Destroy the document
    * document.destroy();
    * ```
    */
    startNumber: number;
    _getNumber(): string;
}
/**
 * Represents the Unordered lists.
 * ```typescript
 * // Load an existing PDF document
 * let document$: PdfDocument = new PdfDocument(data);
 * // Access the first page
 * let page$: PdfPage = document.getPage(0);
 * // Define the items in the unordered list
 * let products$: string[] = ['Excel', 'Power', 'Point', 'Word', 'PDF'];
 * // Create an instance of PdfListItemCollection by passing the string array
 * let items$: PdfListItemCollection = new PdfListItemCollection(products);
 * // Create an instance of PdfUnorderedList
 * let list$: PdfUnorderedList = new PdfUnorderedList();
 * // Draw the unordered list on the page
 * list.draw(page, 0, 20, layout);
 * // Save the document
 * document.save('output.pdf');
 * // Destroy the document
 * document.destroy();
 * ````
 */
export  class PdfUnorderedList extends PdfList {
    _style: PdfUnorderedListStyle;
    constructor();
    /** Initialize a new `PdfUnorderedList` instance with item collection.
     *
     * @param {PdfListItemCollection} items that are added in the item collection.
     * ```typescript
     * // Load the existing document
     * let document$: PdfDocument = new PdfDocument(data);
     * // Access the first page
     * let page$: PdfPage = document.getPage(0);
     * // Define the items in the unordered list
     * let products$: string[] = ['Excel', 'Power', 'Point', 'Word', 'PDF'];
     * // Add the items to list item collection by passing the array of products
     * let items$: PdfListItemCollection = new PdfListItemCollection(products);
     * // Create a unordered list
     * let list$: PdfUnorderedList = new PdfUnorderedList(items);
     * // Draw the unordered list on the page
     * list.draw(page, 0, 20, 500, 700);
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    constructor(items: PdfListItemCollection);
    /**
     * Initialize a new `PdfUnorderedList` instance with the specified array of string items and optional settings
     * for font, format, pen, brush, intent, style, and delimiter.
     *
     * @param {PdfListItemCollection} items An array of strings representing the items in the Unordered list.
     * @param {object} settings Optional settings for the list item.
     * ```typescript
     * // Load the existing document
     * let document$: PdfDocument = new PdfDocument(data);
     * // Access the first page
     * let page$: PdfPage = document.getPage(0);
     * // Define the items in the unordered list
     * let products$: string[] = ['Excel', 'Power', 'Point', 'Word', 'PDF'];
     * // Create a new font for list
     * let itemFont: PdfStandardFont = new PdfStandardFont(PdfFontFamily.Helvetica, 10);
     * // Create a new brush for list
     * let itemBrush: PdfBrush = new PdfBrush([0, 255, 255]);
     * // Create a new format for list
     * let itemFormat: PdfStringFormat = new PdfStringFormat(PdfTextAlignment.center);
     * // Create a new pen for list
     * let itemPen: PdfPen = new PdfPen([0, 255, 0],1);
     * // Initialise a PdfUnorderedListStyle
     * let itemStyle: PdfNumberStyle = PdfUnorderedListStyle.square.
     * // Initialize a delimiter for the items
     * let itemDelimiter: string = ')';
     * // Add the items to list item collection by passing the array of products
     * let items$: PdfListItemCollection = new PdfListItemCollection(products);
     * // Initialize the instance of the unordered list and pass the list item collection and settings
     * let list$: PdfUnorderedList = new PdfUnorderedList(items, {
     *     font: itemFont,
     *     format: itemFormat,
     *     pen: itemPen,
     *     brush: itemBrush,
     *     indent: 30,
     *     textIndent: 50,
     *     style: itemStyle,
     *     delimiter: itemDelimiter
     * });
     * // Draw the unordered list on the page
     * list.draw(page, 0, 20, 500, 700);
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    constructor(items?: PdfListItemCollection, settings?: {
        font?: PdfFont;
        format?: PdfStringFormat;
        pen?: PdfPen;
        brush?: PdfBrush;
        indent?: number;
        textIndent?: number;
        style?: PdfUnorderedListStyle;
        delimiter?: string;
        suffix?: string;
        alignment?: PdfListMarkerAlignment;
    });
    /**
     * Gets the style used for the unordered list.
     *
     * @returns {PdfUnorderedListStyle} The style used for the unordered list.
     * ```typescript
     * // Load an existing document
     * let document$: PdfDocument = new PdfDocument(data);
     * // Access the first page
     * let page$: PdfPage = document.getPage(0);
     * // Define the items in the unordered list
     * let products$: string[] = ['Excel', 'Power', 'Point', 'Word', 'PDF'];
     * // Add the items to list item collection by passing the array of products
     * let items$: PdfListItemCollection = new PdfListItemCollection(products);
     * // Initialize an instance of the unordered list and pass the list item collection
     * let list$: PdfUnorderedList = new PdfUnorderedList(items);
     * // Get the style used for the unordered list
     * let style: PdfUnorderedListStyle = list.style;
     * // Draw the unordered list on the page
     * list.draw(page, 0, 20, 500, 700);
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Sets the style used for the unordered list.
    *
    * @param {PdfUnorderedListStyle} value The style to set for the unordered list.
    * ```typescript
    * // Load the existing document
    * let document$: PdfDocument = new PdfDocument(data);
    * // Access the first page
    * let page$: PdfPage = document.getPage(0);
    * // Define the items in the unordered list
    * let products$: string[] = ['Excel', 'Power', 'Point', 'Word', 'PDF'];
    * // Add the items to list item collection by passing the array of products
    * let items$: PdfListItemCollection = new PdfListItemCollection(products);
    * // Initialize an instance of the unordered list and pass the list item collection
    * let list$: PdfUnorderedList = new PdfUnorderedList(items);
    * // Initialize a style for the unordered list
    * let style: PdfUnorderedListStyle = PdfUnorderedListStyle.circle;
    * // Set the style for the unordered list items
    * list.style = style;
    * // Draw the unordered list on the page
    * list.draw(page, 0, 20, 500, 700);
    * // Save the document
    * document.save('output.pdf');
    * // Destroy the document
    * document.destroy();
    * ```
    */
    style: PdfUnorderedListStyle;
    _getStyledText(): string;
    _draw(graphics: PdfGraphics, x: number, y: number, brush: PdfBrush, pen: PdfPen): void;
}
export  class _PdfListInfo {
    _index: number;
    _list: PdfList;
    _number: string;
    _brush: PdfBrush;
    _pen: PdfPen;
    _font: PdfFont;
    _format: PdfStringFormat;
    _markerWidth: number;
    constructor(list: PdfList, index?: number, number?: string);
}
export  class _PdfListLayouter {
    _element: PdfList;
    _graphics: PdfGraphics;
    _currentFormat: PdfStringFormat;
    _currentPage: PdfPage;
    _bounds: number[];
    _curList: PdfList;
    _indent: number;
    _currentBrush: PdfBrush;
    _currentPen: PdfPen;
    _currentFont: PdfFont;
    _information: _PdfListInfo[];
    _markerMaxWidth: number;
    _finish: boolean;
    _usePaginateBounds: boolean;
    _resultHeight: number;
    _size: number[];
    _index: number;
    constructor(element: PdfList);
    layout(graphics: PdfGraphics, bounds: number[]): void;
    layoutInternal(parameter: _PdfLayoutParameters): PdfLayoutResult;
    private _layoutOnPage;
    private _drawItem;
    private _createMarkerResult;
    private _drawMarker;
    private _drawUnorderedMarker;
    private _drawOrderedMarker;
    private _setCurrentParameters;
    private _getMarkerMaxWidth;
    private _createUnorderedMarkerResult;
    private _createOrderedMarkerResult;
    private _setMarkerStringFormat;
    private _getMarkerFont;
    private _getMarkerFormat;
    private _getMarkerPen;
    private _getMarkerBrush;
    private _getNextPage;
}
//node_modules/@syncfusion/ej2-pdf/src/pdf/core/list/pdf-list-item.d.ts
/**
 * Represents the items of the list.
 * ```typescript
 * // Load an existing PDF document
 * let document$: PdfDocument = new PdfDocument(data);
 * // Access the first page
 * let page$: PdfPage = document.getPage(0);
 * // Create an instance of list item collection by passing the string array
 * let items$: PdfListItemCollection = new PdfListItemCollection(['Excel', 'Power', 'Point', 'Word']);
 * // Create a new list item and add into the collection
 * items.add(new PdfListItem('PDF'));
 * // Create a new PDF ordered list
 * let list$: PdfOrderedList = new PdfOrderedList(items);
 * // Draw the list items
 * list.draw(page, 0, 20);
 * // Save the document
 * document.save('output.pdf');
 * // Destroy the document
 * document.destroy();
 * ````
 */
export  class PdfListItem {
    _brush: PdfBrush;
    _pen: PdfPen;
    _font: PdfFont;
    _stringFormat: PdfStringFormat;
    _text: string;
    _textIndent: number;
    _subList: PdfList;
    /**
     * Creates a new `PdfListItem` instance with the specified text and optional settings for font, format, pen, and brush.
     *
     * @param {string} text The text content for the list item.
     * @param {object} [settings] Optional settings for the list item.
     * @param {PdfFont} [settings.font] The font used for rendering the text.
     * @param {PdfStringFormat} [settings.format] The string format used for text layout.
     * @param {PdfBrush} [settings.brush] The brush used for filling shapes or text.
     * @param {PdfPen} [settings.pen] The pen used for drawing outlines.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data);
     * // Access the first page
     * let page$: PdfPage = document.getPage(0);
     * // Create an instance of list item collection by passing the string array
     * let items$: PdfListItemCollection = new PdfListItemCollection(['Excel', 'Power', 'Point', 'Word']);
     * // Create a new list item
     * let item$: PdfListItem = new PdfListItem('PDF', {brush: new PdfBrush([255, 0, 0])});
     * // Add the list item into the collection
     * items.add(item);
     * // Create a new PDF ordered list
     * let list$: PdfOrderedList = new PdfOrderedList(items);
     * // Draw the list items
     * list.draw(page, 0, 20);
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ````
     */
    constructor(text: string, settings?: {
        font?: PdfFont;
        format?: PdfStringFormat;
        brush?: PdfBrush;
        pen?: PdfPen;
    });
    /**
     * Gets the brush associated with the list item.
     *
     * @returns {PdfBrush} The brush to specify the fill color of the list item.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data);
     * // Access the first page
     * let page$: PdfPage = document.getPage(0);
     * // Create an instance of list item collection by passing the string array
     * let items$: PdfListItemCollection = new PdfListItemCollection(['Excel', 'Power', 'Point', 'Word']);
     * // Create a new list item
     * let item$: PdfListItem = new PdfListItem('PDF', {brush: new PdfBrush([255, 0, 0])});
     * // Add the list item into the collection
     * items.add(item);
     * // Create a new PDF ordered list
     * let list$: PdfOrderedList = new PdfOrderedList(items);
     * // Access the brush from the list item
     * let brush$: PdfBrush = item.brush;
     * // Draw the list items
     * list.draw(page, 0, 20);
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ````
     */
    /**
    * Sets the brush associated with the list item.
    *
    * @param {PdfBrush} value The brush to specify the fill color of the list item.
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data);
    * // Access the first page
    * let page$: PdfPage = document.getPage(0);
    * // Create an instance of list item collection by passing the string array
    * let items$: PdfListItemCollection = new PdfListItemCollection(['Excel', 'Power', 'Point', 'Word']);
    * // Create a new list item
    * let item$: PdfListItem = new PdfListItem('PDF');
    * // Add the list item into the collection
    * items.add(item);
    * // Create a new PDF ordered list
    * let list$: PdfOrderedList = new PdfOrderedList(items);
    * // Set the fill color
    * item.brush = new PdfBrush([255, 0, 0]);
    * // Draw the list items
    * list.draw(page, 0, 20);
    * // Save the document
    * document.save('output.pdf');
    * // Destroy the document
    * document.destroy();
    * ````
    */
    brush: PdfBrush;
    /**
     * Gets the `PdfPen` object associated with the list item.
     *
     * @returns {PdfPen} The `PdfPen` object to specify specify stroke properties.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data);
     * // Access the first page
     * let page$: PdfPage = document.getPage(0);
     * // Create an instance of list item collection by passing the string array
     * let items$: PdfListItemCollection = new PdfListItemCollection(['Excel', 'Power', 'Point', 'Word']);
     * // Create a new list item
     * let item$: PdfListItem = new PdfListItem('PDF', {pen: new PdfPen([255, 0, 0], 1)});
     * // Add the list item into the collection
     * items.add(item);
     * // Create a new PDF ordered list
     * let list$: PdfOrderedList = new PdfOrderedList(items);
     * // Access the pen from the list item
     * let pen$: PdfPen = item.pen;
     * // Draw the list items
     * list.draw(page, 0, 20);
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ````
     */
    /**
    * Sets the `Pdfpen` object associated with the list item.
    *
    * @param {PdfPen} value `PdfPen` object used to specify stroke properties.
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data);
    * // Access the first page
    * let page$: PdfPage = document.getPage(0);
    * // Create an instance of list item collection by passing the string array
    * let items$: PdfListItemCollection = new PdfListItemCollection(['Excel', 'Power', 'Point', 'Word']);
    * // Create a new list item
    * let item$: PdfListItem = new PdfListItem('PDF');
    * // Add the list item into the collection
    * items.add(item);
    * // Create a new PDF ordered list
    * let list$: PdfOrderedList = new PdfOrderedList(items);
    * // Set the stroke color
    * item.pen = new PdfPen([255, 0, 0], 1);
    * // Draw the list items
    * list.draw(page, 0, 20);
    * // Save the document
    * document.save('output.pdf');
    * // Destroy the document
    * document.destroy();
    * ````
    */
    pen: PdfPen;
    /**
     * Get the `PdfFont` object associated with the list item.
     *
     * @returns {PdfFont} The `PdfFont` object used for text rendering.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data);
     * // Access the first page
     * let page$: PdfPage = document.getPage(0);
     * // Create an instance of list item collection by passing the string array
     * let items$: PdfListItemCollection = new PdfListItemCollection(['Excel', 'Power', 'Point', 'Word']);
     * // Create a new list item
     * let item$: PdfListItem = new PdfListItem('PDF', {pen: new PdfStandardFont(PdfFontFamily.timesRoman, 12)});
     * // Add the list item into the collection
     * items.add(item);
     * // Create a new PDF ordered list
     * let list$: PdfOrderedList = new PdfOrderedList(items);
     * // Access the font from the list item
     * let font$: PdfFont = item.font;
     * // Draw the list items
     * list.draw(page, 0, 20);
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ````
     */
    /**
    * Sets the `PdfFont` object associated with the list item.
    *
    * @param {PdfFont} value The `PdfFont` object to be set for text rendering.
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data);
    * // Access the first page
    * let page$: PdfPage = document.getPage(0);
    * // Create an instance of list item collection by passing the string array
    * let items$: PdfListItemCollection = new PdfListItemCollection(['Excel', 'Power', 'Point', 'Word']);
    * // Create a new list item
    * let item$: PdfListItem = new PdfListItem('PDF');
    * // Add the list item into the collection
    * items.add(item);
    * // Create a new PDF ordered list
    * let list$: PdfOrderedList = new PdfOrderedList(items);
    * // Set the font
    * item.font = new PdfStandardFont(PdfFontFamily.timesRoman, 12);
    * // Draw the list items
    * list.draw(page, 0, 20);
    * // Save the document
    * document.save('output.pdf');
    * // Destroy the document
    * document.destroy();
    * ````
    */
    font: PdfFont;
    /**
     * Gets the `PdfStringFormat` object associated with the list item.
     *
     * @returns {PdfStringFormat} The `PdfStringFormat` object used to specify text formatting.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data);
     * // Access the first page
     * let page$: PdfPage = document.getPage(0);
     * // Create an instance of list item collection by passing the string array
     * let items$: PdfListItemCollection = new PdfListItemCollection(['Excel', 'Power', 'Point', 'Word']);
     * // Create a new list item
     * let item$: PdfListItem = new PdfListItem('PDF', {format: new PdfStringFormat(PdfTextAlignment.right, PdfVerticalAlignment.bottom)});
     * // Add the list item into the collection
     * items.add(item);
     * // Create a new PDF ordered list
     * let list$: PdfOrderedList = new PdfOrderedList(items);
     * // Access the string format from the list item
     * let format$: PdfStringFormat = item.stringFormat;
     * // Draw the list items
     * list.draw(page, 0, 20);
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ````
     */
    /**
    * Sets the `PdfStringFormat` object associated with the list item.
    *
    * @param {PdfStringFormat} value The`PdfStringFormat` object to be set for text formatting.
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data);
    * // Access the first page
    * let page$: PdfPage = document.getPage(0);
    * // Create an instance of list item collection by passing the string array
    * let items$: PdfListItemCollection = new PdfListItemCollection(['Excel', 'Power', 'Point', 'Word']);
    * // Create a new list item
    * let item$: PdfListItem = new PdfListItem('PDF');
    * // Add the list item into the collection
    * items.add(item);
    * // Create a new PDF ordered list
    * let list$: PdfOrderedList = new PdfOrderedList(items);
    * // Set the font
    * item.font = new PdfStandardFont(PdfFontFamily.timesRoman, 12);
    * // Draw the list items
    * list.draw(page, 0, 20);
    * // Save the document
    * document.save('output.pdf');
    * // Destroy the document
    * document.destroy();
    * ````
    */
    stringFormat: PdfStringFormat;
    /**
     * Gets the text content of the list item.
     *
     * @returns {string} The text content of the list item.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Access the first Page of the document
     * let page$: PdfPage = document.getPage(0);
     * // Create an instance of an ordered list
     * let list$: OrderedList =  new OrderedList();
     * // Create a list item with text 'Products'
     * let item$: PdfListItem = new PdfListItem('Products');
     * // Add the item to the list collection
     * list.items.add(item1);
     * // Get the text content of the item
     * let text: string = item.text;
     * // Draw the list items on the specified page
     * list.draw(page, 10, 50. 500, 700);
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Sets string format of the list item.
    *
    * @param {string} value The text content to be set.
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data);
    * // Access the first page
    * let page$: PdfPage = document.getPage(0);
    * // Create an instance of list item collection by passing the string array
    * let items$: PdfListItemCollection = new PdfListItemCollection(['Excel', 'Power', 'Point']);
    * // Create a new list item
    * let item$: PdfListItem = new PdfListItem('Word');
    * // Add the list item into the collection
    * items.add(item);
    * // Create a new PDF ordered list
    * let list$: PdfOrderedList = new PdfOrderedList(items);
    * // Set the text of the list item
    * item.text = 'PDF';
    * // Draw the list items
    * list.draw(page, 0, 20);
    * // Save the document
    * document.save('output.pdf');
    * // Destroy the document
    * document.destroy();
    * ````
    */
    text: string;
    /**
     * Gets the text indent of the list.
     *
     * @returns {number} The text indent of the list item.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Access the first page of the document
     * let page$: PdfPage = document.getPage(0);
     * // Create an instance of an ordered list
     * let list$: OrderedList =  new OrderedList();
     * // Create a list item with text 'Products'
     * let item$: PdfListItem = new PdfListItem('Products');
     * // Add the item to the list collection
     * list.items.add(item);
     * // Get the text indent of the item
     * let textIndent$: number = item.textIndent;
     * // Draw the list items on the specified page
     * list.draw(page, 10, 50. 500, 700);
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Sets the text indent of the list item.
    *
    * @param {number} value he text indent value to be set.
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data, password);
    * // Access the first Page of the document
    * let page$: PdfPage = document.getPage(0);
    * // Create an instance of an ordered list
    * let list$: OrderedList =  new OrderedList();
    * // Create a list item with text 'Products'
    * let item$: PdfListItem = new PdfListItem('Products');
    * // Set the text indent for the item
    * item.textIndent = 30;
    * // Add the item to the list collection
    * list.items.add(item);
    * // Draw the list items on the specified page at position (10, 50)
    * list.draw(page, 10, 50. 500, 700);
    * // Save the document
    * document.save('output.pdf');
    * // Destroy the document
    * document.destroy();
    * ```
    */
    textIndent: number;
    /**
     * Get the sub-list associated with the current list item.
     *
     * @returns {PdfList} The `PdfList` object representing the sub-list.
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Access the first Page of the document
     * let page$: PdfPage = document.getPage(0);
     * // Create an instance of an ordered list
     * let list$: OrderedList =  new OrderedList();
     * // Create a list item with text 'Products'
     * let item$: PdfListItem = new PdfListItem('Products');
     * // Add the item to the list collection
     * list.items.add(item);
     * // create a sublist for the item
     * let sublist: OrderedList = new PdfOrderedList();
     * // Adding items to the sublist
     * subList.items.add(new PdfListItem('Sub Item 1'));
     * subList.items.add(new PdfListItem('Sub Item 2'));
     * // Set the sublist for the main list item
     * list.items._listItem[0].subList = subList;
     * // Get the sublist
     * let sublist: PdfList = list.items._listitem[0].sublist;
     * // Draw the list items on the specified page
     * list.draw(page, 10, 50. 500, 700);
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Sets the sub-list associated with the current list item.
    *
    * @param {PdfList} value The `PdfList` object to be set as the sub-list.
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data, password);
    * // Access the first Page of the document
    * let page$: PdfPage = document.getPage(0);
    * // Create an instance of an ordered list
    * let list$: OrderedList =  new OrderedList();
    * // Create a list item with text 'Products'
    * let item$: PdfListItem = new PdfListItem('Products');
    * // Add the item to the list collection
    * list.items.add(item);
    * // Create a sublist for the item
    * let sublist: OrderedList = new PdfOrderedList();
    * // Adding items to the sublist
    * subList.items.add(new PdfListItem('PDF'));
    * subList.items.add(new PdfListItem('Word'));
    * subList.items.add(new PdfListItem('PPT'));
    * // Set the sublist for the main list item
    * list.items._listItem[0].subList = subList;
    * // Draw the list items on the specified page
    * list.draw(page, 10, 50. 500, 700);
    * // Save the document
    * document.save('output.pdf');
    * // Destroy the document
    * document.destroy();
    * ```
    */
    subList: PdfList;
}
/**
 * Represents a collection of list items that can be drawn on a PDF page.
 * ```typescript
 * // Load an existing PDF document
 * let document$: PdfDocument = new PdfDocument(data);
 * // Access the first page
 * let page$: PdfPage = document.getPage(0);
 * // Create an instance of list item collection by passing the string array
 * let items$: PdfListItemCollection = new PdfListItemCollection(['Excel', 'Power', 'Point', 'Word']);
 * // Create a new PDF ordered list
 * let list$: PdfOrderedList = new PdfOrderedList(items);
 * // Draw the list items
 * list.draw(page, 0, 20);
 * // Save the document
 * document.save('output.pdf');
 * // Destroy the document
 * document.destroy();
 * ````
 */
export  class PdfListItemCollection {
    _listItems: PdfListItem[];
    _count: number;
    /**
     * Initializes a new instance of the ` PdfListItemCollection ` class.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data);
     * // Access the first page
     * let page$: PdfPage = document.getPage(0);
     * // Create an instance of list item collection by passing the string array
     * let items$: PdfListItemCollection = new PdfListItemCollection();
     * // Create and add list items to the collection
     * items.add(new PdfListItem('PDF'));
     * items.add(new PdfListItem('Word'));
     * items.add(new PdfListItem('PPT'));
     * // Create a new PDF ordered list
     * let list$: PdfOrderedList = new PdfOrderedList(items);
     * // Draw the list items
     * list.draw(page, 0, 20);
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ````
     */
    constructor();
    /**
     * Initializes a new instance of the ` PdfListItemCollection ` class.
     *
     * @param {string[]} items Array of strings representing the items in the list.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Access the first page of the document
     * let page$: PdfPage = document.getPage(0);
     * // Initialize an array of string items
     * let products$: string[] = ['Word', 'Excel', 'PDF', 'Power Point'];
     * // Add the items to list item collection by passing the array of products
     * let itemCollection: PdfListCollection = new PdfListCollection(products);
     * // Create an instance of ordered list
     * let list$: PdfOrderedList = new PdfOrderedList(items);
     * // Draw the list on the page at specified coordinates and dimensions
     * list.draw(page,0, 10, 500, 700);
     * // Get the count of items in the list
     * let count$: number = list.itemCollection.count;
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    constructor(items: string[]);
    /**
     * Gets the count of the list item collection.
     *
     * @returns {number} The count of the list items.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Access the first page of the document
     * let page$: PdfPage = document.getPage(0);
     * // Create an instance of ordered list
     * let list$: PdfOrderedList = new PdfOrderedList();
     * // Initialize an array of string items
     * let products$: string[] = ['Word', 'Excel', 'PDF', 'Power Point'];
     * // Add the items to list item collection by passing the array of products
     * list.items = new PdfListCollection(products);
     * / Draw the list on the page at specified bounds
     * list.draw(page,0, 10, 500, 700);
     * // Get the count of items from the list
     * let count$: number = list.items.count;
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    readonly count: number;
    /**
     * Adds a `PdfListItem` to the collection.
     *
     * @param {PdfListItem} item The list item to be added to the collection.
     * ``` typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Access the first page of the document
     * let page$: PdfPage = document.getPage(0);
     * // Create an instance of ordered list
     * let list$: PdfOrderedList = new PdfOrderedList();
     * // Add the items to list item collection by passing the array of products
     * let item$: PdfListItem = new PdfListItem('Hello World');
     * // Add the item to the list
     * list.items.add(item);
     * // Draw the list on the page at specified coordinates and dimensions
     * list.draw(page, 20, 50, 500, 700);
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    add(item: PdfListItem): void;
    /**
     * Adds a `PdfListItem` to the collection.
     *
     * @param {PdfListItem} item The list item to be added to the collection.
     * @param {number} itemIndent The indent of the list item
     * ``` typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Access the first page of the document
     * let page$: PdfPage = document.getPage(0);
     * // Create an instance of PdfOrderedList
     * let list$: PdfOrderedList = new PdfOrderedList();
     * // Create a new item by passing a string value
     * let item$: PdfListItem = new PdfListItem('Hello World');
     * // Add the item to the list with a specified text indent
     * list.items.add(item, 40);
     * // Draw the list on the page at specified coordinates and dimensions
     * list.draw(page, 20, 50, 500, 700);
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    add(item: PdfListItem, itemIndent: number): void;
    /**
     * Retrieves the `PdfListItem` at the specified index in the collection.
     *
     * @param {number} index The zero-based index of the item to retrieve.
     * @returns {PdfListItem} The `PdfListItem` at the specified index.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Accessing the first page of the document
     * let page$: PdfPage = document.getpage(0);
     * // Create a ordered list
     * let list$: PdfOrderedList = new PdfOrderedList();
     * // Initialize an array of strings
     * let products$: string[] = ['Excel', 'Power Point', 'Word', 'Windows', 'MAUI'];
     * // Add the items to list item collection by passing the array of products
     * let itemCollection: PdfListItemCollection = new PdfListItemCollection(products);
     * // Retrieve a specific item from the list collection at a particular index
     * let item$: PdflistItem = list.itemCollection.itemAt(1);
     * // Draw the list items on the page at specified coordinates and dimensions
     * list.draw(page, 10, 50, 500, 700);
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    at(index: number): PdfListItem;
    /**
     * Removes a `PdfListItem` from the collection.
     *
     * @param {PdfListItem} item The list item to be removed from the collection.
     * @returns {void}
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(readFromResources('CircleAnnotation-Acrobat.pdf'));
     * // Access the first page of the document
     * let page$: PdfPage = document.getPage(0);
     * // Create a ordered list
     * let list$: PdfOrderedList = new PdfOrderedList();
     * // Initialize an array of strings
     * let products$: string[] = [
     *   'PDF is a file format designed to present documents consistently across devices and platforms.',
     *   'Excel is a widely used spreadsheet application developed by Microsoft.',
     *   'PDF stands for Portable Document Format.',
     *   'PowerPoint is a presentation program developed by Microsoft for creating slideshows.',
     *   'PowerPoint is widely used in business settings for creating presentations.'
     * ];
     * // Add the items to list item collection by passing the array of products
     * let item$: PdfListItemCollection = new PdfListItemCollection(products);
     * // Remove a specific item from the collection
     * let itemToRemove: PdfListItem = list.items.at(0);
     * list.items.remove(itemToRemove);
     * // Draw the list on the page at specified coordinates and dimensions
     * list.draw(page, 10, 40, 300, 500);
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    remove(item: PdfListItem): void;
    /**
     * Removes a `PdfListItem` at the specified index from the collection.
     *
     * @param {number} index The zero-based index of the item to remove.
     * @returns {void}
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(readFromResources('CircleAnnotation-Acrobat.pdf'));
     * // Access the first page of the document
     * let page$: PdfPage = document.getPage(0);
     * // Create a ordered list
     * let list$: PdfOrderedList = new PdfOrderedList();
     * // Initialize an array of strings
     * let products$: string[] = [
     *   'PDF is a file format designed to present documents consistently across devices and platforms.',
     *   'Excel is a widely used spreadsheet application developed by Microsoft.',
     *   'PDF stands for Portable Document Format.',
     *   'PowerPoint is a presentation program developed by Microsoft for creating slideshows.',
     *   'PowerPoint is widely used in business settings for creating presentations.'
     * ];
     * // Add the items to list item collection by passing the array of products
     * let item$: PdfListItemCollection = new PdfListItemCollection(products);
     * // Remove a specific item from the collection by its index
     * list.items.removeAt(1);
     * // Draw the modified list on the page at specified bounds
     * list.draw(page, 10, 40, 300, 500);
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    removeAt(index: number): void;
    /**
     * Clear the list item collection.
     *
     * @returns {void}
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(readFromResources('CircleAnnotation-Acrobat.pdf'));
     * // Access the first page of the document
     * let page$: PdfPage = document.getPage(0);
     * // Create a ordered list
     * let list$: PdfOrderedList = new PdfOrderedList();
     * // Initialize an array of strings
     * let products$: string[] = [
     *   'PDF is a file format designed to present documents consistently across devices and platforms.',
     *   'Excel is a widely used spreadsheet application developed by Microsoft.',
     *   'PDF stands for Portable Document Format.',
     *   'PowerPoint is a presentation program developed by Microsoft for creating slideshows.',
     *   'PowerPoint is widely used in business settings for creating presentations.'
     * ];
     * // Add the items to list item collection by passing the array of products
     * let item$: PdfListItemCollection = new PdfListItemCollection(products);
     * // Draw the initial list on the page at specified coordinates and dimensions
     * list.draw(page, 10, 40, 300, 500);
     * // Clear the list item collection
     * list.items.clear();
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    clear(): void;
    /**
     * Inserts a `PdfListItem` into the collection at the specified index.
     *
     * @param {number} index The zero-based index at which the item should be inserted.
     * @param {PdfListItem} item The list item to be inserted into the collection.
     * @param {number} itemIndent The indent of the list item.
     * @returns {void}
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(readFromResources('CircleAnnotation-Acrobat.pdf'));
     * // Access the first page of the document
     * let page$: PdfPage = document.getPage(0);
     * // Create a ordered list
     * let list$: PdfOrderedList = new PdfOrderedList();
     * // Initialize an array of strings
     * let products$: string[] = [
     *   'PDF is a file format designed to present documents consistently across devices and platforms.',
     *   'Excel is a widely used spreadsheet application developed by Microsoft.',
     *   'PDF stands for Portable Document Format.',
     *   'PowerPoint is a presentation program developed by Microsoft for creating slideshows.',
     *   'PowerPoint is widely used in business settings for creating presentations.'
     * ];
     * // Add the items to list item collection by passing the array of products
     * list.items = new PdfListItemCollection(products);
     * // Create a new PdfListItem instance with some text
     * let item$: PdfListItem = new PdfListItem('text');
     * // Insert the new item into the list at index 1 with an indent of 40
     * list.items.insert(1, item, 40);
     * // Draw the updated list on the page at specified coordinates and dimensions
     * list.draw(page, 10, 40, 300, 500);
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    insert(index: number, item: PdfListItem, itemIndent: number): void;
    /**
     * Finds the index of a `PdfListItem` in the collection.
     *
     * @param {PdfListItem} item The list item to find in the collection.
     * @returns {number} The zero-based index of the item in the collection, or -1 if not found.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(readFromResources('CircleAnnotation-Acrobat.pdf'));
     * // Access the first page of the document
     * let page$: PdfPage = document.getPage(0);
     * // Create a ordered list
     * let list$: PdfOrderedList = new PdfOrderedList();
     * // Initialize an array of strings
     * let products$: string[] = [
     *   'PDF is a file format designed to present documents consistently across devices and platforms.',
     *   'Excel is a widely used spreadsheet application developed by Microsoft.',
     *   'PDF stands for Portable Document Format.',
     *   'PowerPoint is a presentation program developed by Microsoft for creating slideshows.',
     *   'PowerPoint is widely used in business settings for creating presentations.'
     * ];
     * // Add the items to list item collection by passing the array of products
     * list.items = new PdfListItemCollection(products);
     * // Retrieve the first item from the collection
     * let item$: PdfListItem = item._listItems[0];
     * // Find the index of the first item in the collection
     * let index: number = list.items.indexOf(item);
     * // Draw the list on the page at specified bounds
     * list.draw(page, 10, 40, 300, 500);
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    indexOf(item: PdfListItem): number;
}
//node_modules/@syncfusion/ej2-pdf/src/pdf/core/layers/layer.d.ts
/**
 * Represents the base class for layer objects.
 * ```typescript
 * // Load an existing PDF document
 * let document$: PdfDocument = new PdfDocument(data);
 * // Access the collection of layers in the document
 * let layers$: PdfLayerCollection = document.layers;
 * // Retrieve the first layer from the layers collection
 * let layer$: PdfLayer = layers.at(0);
 * // Save the document
 * document.save('output.pdf');
 * // Destroy the document
 * document.destroy();
 * ```
 */
export  class PdfLayer {
    private _page;
    private _graphics;
    private _content;
    private _graphicsState;
    private _needInitializeGraphics;
    private _id;
    private _name;
    private _visible;
    _printOption: _PdfDictionary;
    _usage: _PdfDictionary;
    private _printState;
    _isEndState: boolean;
    _dictionary: _PdfDictionary;
    _referenceHolder: _PdfReference;
    _layer: PdfLayer;
    _document: PdfDocument;
    _pages: Array<PdfPage>;
    private _layers;
    _subLayerPosition: number;
    _subLayer: (_PdfReference | _PdfReference[])[];
    private _locked;
    private _lock;
    _parentLayer: Array<PdfLayer>;
    _child: Array<PdfLayer>;
    _parent: PdfLayer;
    private _graphicsCollection;
    private _pageGraphics;
    private _pageParsed;
    _crossReference: _PdfCrossReference;
    _xObject: string[];
    /**
     * Initializes a new instance of the `PdfLayer` class.
     *
     * @private
     */
    constructor();
    readonly _layerPage: PdfPage;
    _layerId: string;
    /**
     * Gets the name of the layer.
     *
     * @returns {string} Name of the layer.
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data);
     * // Access the collection of layers in the document
     * let layers$: PdfLayerCollection = document.layers;
     * // Retrieve the first layer from the layers collection
     * let layer$: PdfLayer = layers.at(0);
     * // Retrieve the name of the layer
     * let name$: string = layer.name;
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Sets the name of the layer.
    *
    * @param {string} name Name of the layer.
    *
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data);
    * // Access the collection of layers in the document
    * let layers$: PdfLayerCollection = document.layers;
    * // Retrieve the first layer from the layers collection
    * let layer$: PdfLayer = layers.at(0);
    * // Change the name of the layer
    * layer.name = 'Layer2';
    * // Save the document
    * document.save('output.pdf');
    * // Destroy the document
    * document.destroy();
    * ```
    */
    name: string;
    /**
     * Gets the visibility of the layer.
     *
     * @returns {boolean} Boolean indicating whether the specified layer is visible or not.
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data);
     * // Access the collection of layers in the document
     * let layers$: PdfLayerCollection = document.layers;
     * // Retrieve the first layer from the layers collection
     * let layer$: PdfLayer = layers.at(0);
     * // Get the visibility state of the layer
     * let isVisible: boolean = layer.visible;
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Sets the visibility of the layer.
    *
    * @param {boolean} isVisible Boolean indicating whether the specified layer is visible or not.
    *
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data);
    * // Access the collection of layers in the document
    * let layers$: PdfLayerCollection = document.layers;
    * // Retrieve the first layer from the layers collection
    * let layer$: PdfLayer = layers.at(0);
    * // Set the layer visibility to true
    * layer.visible = true;
    * // Save the document
    * document.save('output.pdf');
    * // Destroy the document
    * document.destroy();
    * ```
    */
    visible: boolean;
    /**
     * Gets the boolean indicating whether the layer is locked or not.
     *
     * @returns {boolean} Boolean indicating whether the layer is locked or not.
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data);
     * // Access the collection of layers in the document
     * let layers$: PdfLayerCollection = document.layers;
     * // Retrieve the first layer from the layers collection
     * let layer$: PdfLayer = layers.at(0);
     * // Retrieve the lock status of the layer
     * let isLocked: boolean = layer.locked;
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Sets the boolean indicating whether the layer is locked or not.
    *
    * @param {boolean} isLocked Boolean indicating whether the layer is locked or not.
    *
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data);
    * // Access the collection of layers in the document
    * let layers$: PdfLayerCollection = document.layers;
    * // Retrieve the first layer from the layers collection
    * let layer$: PdfLayer = layers.at(0);
    * // Lock the layer to prevent modifications
    * layer.locked = true;
    * // Save the document
    * document.save('output.pdf');
    * // Destroy the document
    * document.destroy();
    * ```
    */
    locked: boolean;
    /**
     * Gets the print state of the layer.
     *
     * @returns {PdfPrintState} Print state.
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data);
     * // Access the collection of layers in the document
     * let layers$: PdfLayerCollection = document.layers;
     * // Retrieve the first layer from the layers collection
     * let layer$: PdfLayer = layers.at(0);
     * // Retrieve the printState of the layer
     * let printState$: PdfPrintState = layer.printState;
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Sets the print state of the layer.
    *
    * @param {PdfPrintState} printState Print state.
    *
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data);
    * // Access the collection of layers in the document
    * let layers$: PdfLayerCollection = document.layers;
    * // Retrieve the first layer from the layers collection
    * let layer$: PdfLayer = layers.at(0);
    * // Set the print state to 'alwaysPrint' to ensure this layer is printed
    * layer.printState = PdfPrintState.alwaysPrint;
    * // Save the document
    * document.save('output.pdf');
    * // Destroy the document
    * document.destroy();
    * ```
    */
    printState: PdfPrintState;
    /**
     * Gets the collection of `PdfLayer` from the layer.
     *
     * @returns {PdfLayerCollection} Layer collection.
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data);
     * // Access the collection of layers in the document
     * let layers$: PdfLayerCollection = document.layers;
     * // Retrieve the first layer from the layers collection
     * let layer$: PdfLayer = layers.at(0);
     * // Access the collection of layers in the layer (parent layer)
     * let childLayers: PdfLayerCollection = layer.layers;
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    readonly layers: PdfLayerCollection;
    /**
     * Initializes graphics context of the layer.
     *
     * @param {PdfPage} page The PDF page.
     * @returns {PdfGraphics} Graphics of the layer content.
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data);
     * // Access the collection of layers in the document
     * let layers$: PdfLayerCollection = document.layers;
     * // Add a new layer to the document with the name 'Layer1'
     * let layer$: PdfLayer = layers.add('Layer1');
     * // Create graphics for the newly added layer on the specified page
     * let graphics$: PdfGraphics = layer.createGraphics(page);
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    createGraphics(page: PdfPage): PdfGraphics;
    private _parseGraphics;
    private _initializeProperties;
    private _loadContents;
    private _initializeGraphics;
    _beginLayer(currentGraphics: PdfGraphics): void;
    private _setVisibility;
    private _setLock;
    private _parseLayerPage;
    private _parseDictionary;
    private _setLayerPage;
    private _setPrintState;
}
//node_modules/@syncfusion/ej2-pdf/src/pdf/core/layers/layer-collection.d.ts
/**
 * The class provides methods and properties to handle the collection of `PdfLayer`.
 * ```typescript
 * // Load an existing PDF document
 * let document$: PdfDocument = new PdfDocument(data);
 * // Access the collection of layers in the document
 * let layers$: PdfLayerCollection = document.layers;
 * // Save the document
 * document.save('output.pdf');
 * // Destroy the document
 * document.destroy();
 * ```
 */
export  class PdfLayerCollection {
    _subLayer: boolean;
    private _isLayerContainsResource;
    private _document;
    private _parent;
    private _layerDictionary;
    private _bdcCount;
    private _list;
    private _crossReference;
    private _catalog;
    /**
     * Initializes a new instance of the `PdfLayerCollection` class with document.
     *
     * @private
     * @param {PdfDocument} document Document.
     */
    constructor(document: PdfDocument);
    /**
     * Initializes a new instance of the `PdfLayerCollection` class with document and layer.
     *
     * @private
     * @param {PdfDocument} document Document.
     * @param {PdfLayer} layer PDF layer.
     */
    constructor(document: PdfDocument, layer: PdfLayer);
    readonly _isSkip: boolean;
    /**
     * Gets the layer count.
     *
     * @returns {number} Number of layers.
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data);
     * // Access the collection of layers in the document
     * let layers$: PdfLayerCollection = document.layers;
     * // Retrieve layer counts from the layers collection
     * let count$: number = layers.count;
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    readonly count: number;
    /**
     * Gets the `PdfLayer` at the specified index.
     *
     * @param {number} index Layer index.
     * @returns {PdfLayer} Layer at the specified index.
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data);
     * // Access the collection of layers in the document
     * let layers$: PdfLayerCollection = document.layers;
     * // Retrieve the first layer from the layers collection
     * let layer$: PdfLayer = layers.at(0);
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    at(index: number): PdfLayer;
    /**
     * Create a new `PdfLayer` with name
     * add it to the end of the collection.
     *
     * @param {string} name Name of the layer.
     * @returns {PdfLayer} Layer with the name specified.
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data);
     * // Access the collection of layers in the document
     * let layers$: PdfLayerCollection = document.layers;
     * // Add a new layer to the document with the name 'Layer1'
     * let layer$: PdfLayer = layers.add('Layer1');
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    add(name: string): PdfLayer;
    /**
     * Create a new `PdfLayer` with name and Boolean flag to set the visibility of layer
     * add it to the end of the collection.
     *
     * @param {string} name Name of the layer.
     * @param {boolean} visible Visibility of the layer.
     * @returns {PdfLayer} Layer with the name specified.
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data);
     * // Access the collection of layers in the document
     * let layers$: PdfLayerCollection = document.layers;
     * // Add a new layer to the document with the name 'Layer1' and set visibility to be true
     * let layer$: PdfLayer = layers.add('Layer1', true);
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    add(name: string, visible: boolean): PdfLayer;
    /**
     * Boolean indicating whether the specified layer exists or not.
     *
     * @param {PdfLayer} layer The layer to be checked.
     * @returns {boolean} Returns true, if the layer exists. Otherwise, false
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data);
     * // Access the collection of layers in the document
     * let layers$: PdfLayerCollection = document.layers;
     * // Add a new layer to the document with the name 'Layer1'
     * let layer$: PdfLayer = layers.add('Layer1');
     * // Check if the layer is present in the layers collection
     * let isPresent$: boolean = layers.contains(layer);
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    contains(layer: PdfLayer): boolean;
    /**
     * Boolean indicating whether the specified layer name exists or not.
     *
     * @param {string} name The layer name to be checked.
     * @returns {boolean} Returns true, if the layer exists. Otherwise, false
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data);
     * // Access the collection of layers in the document
     * let layers$: PdfLayerCollection = document.layers;
     * // Add a new layer to the document with the name 'Layer1'
     * let layer$: PdfLayer = layers.add('Layer1');
     * // Check if the layer is present in the layers collection
     * let isPresent$: boolean = layers.contains('Layer1');
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    contains(name: string): boolean;
    /**
     * Remove all the layers.
     *
     * @returns {void} Returns nothing.
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data);
     * // Access the collection of layers in the document
     * let layers$: PdfLayerCollection = document.layers;
     * // Removes all layers from the collection
     * layers.clear();
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    clear(): void;
    /**
     * Index of the specified layer.
     *
     * @param {PdfLayer} layer The layer to be checked.
     * @returns {number} Index of the layer.
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data);
     * // Access the collection of layers in the document
     * let layers$: PdfLayerCollection = document.layers;
     * // Add a new layer to the document with the name 'Layer1'
     * let layer$: PdfLayer = layers.add('Layer1');
     * // Find the index of the layer in the layers collection
     * let index$: number = layers.indexOf(layer);
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    indexOf(layer: PdfLayer): number;
    /**
     * Move the `PdfLayer` into the collection at specified index.
     *
     * @param {number} index Index of the layer.
     * @param {PdfLayer} layer Layer to move.
     * @returns {void} Returns nothing.
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data);
     * // Access the collection of layers in the document
     * let layers$: PdfLayerCollection = document.layers;
     * // Add a new layer to the document with the name 'Layer1'
     * let layer$: PdfLayer = layers.add('Layer1');
     * // Add a new layer to the document with the name 'Layer2'
     * let layer1: PdfLayer = layers.add('Layer2');
     * // Move 'layer2' to the first position (index 0)
     * layers.move(0, layer2);
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    move(index: number, layer: PdfLayer): void;
    /**
     * Remove the `PdfLayer` at the specified index from the collection.
     *
     * @param {number} index The index of the layer to be removed.
     * @returns {void} Returns nothing.
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data);
     * // Access the collection of layers in the document
     * let layers$: PdfLayerCollection = document.layers;
     * // Remove the layer at index 0 (the first layer)
     * layers.removeAt(0);
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    removeAt(index: number): void;
    /**
     * Remove the `PdfLayer` at the specified index from the collection.
     *
     * @param {number} index The index of the layer to be removed.
     * @param {boolean} removeGraphicalContent Remove graphical content, if true.
     * @returns {void} Returns nothing.
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data);
     * // Access the collection of layers in the document
     * let layers$: PdfLayerCollection = document.layers;
     * // Remove the layer at index 0 (the first layer) with graphics on page
     * layers.removeAt(0, true);
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    removeAt(index: number, removeGraphicalContent: boolean): void;
    /**
     * Remove the `PdfLayer` with layer instance from the collection.
     *
     * @param {PdfLayer} layer Layer to remove.
     * @returns {void} Returns nothing.
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data);
     * // Access the collection of layers in the document
     * let layers$: PdfLayerCollection = document.layers;
     * // Add a new layer to the document with the name 'Layer1'
     * let layer$: PdfLayer = layers.add('Layer1');
     * // Remove the layer from layer collection with instance
     * layers.remove(layer);
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    remove(layer: PdfLayer): void;
    /**
     * Remove the `PdfLayer` with layer instance from the collection.
     *
     * @param {PdfLayer} layer Layer to remove.
     * @param {boolean} removeGraphicalContent Remove graphical content, if true.
     * @returns {void} Returns nothing.
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data);
     * // Access the collection of layers in the document
     * let layers$: PdfLayerCollection = document.layers;
     * // Add a new layer to the document with the name 'Layer1'
     * let layer$: PdfLayer = layers.add('Layer1');
     * // Remove the layer from layer collection with instance and graphics on page
     * layers.remove(layer, true);
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    remove(layer: PdfLayer, removeGraphicalContent: boolean): void;
    /**
     * Remove the `PdfLayer` at the layer name from the collection.
     *
     * @param {string} name Layer name to remove.
     * @returns {void} Returns nothing.
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data);
     * // Access the collection of layers in the document
     * let layers$: PdfLayerCollection = document.layers;
     * // Add a new layer to the document with the name 'Layer1'
     * let layer$: PdfLayer = layers.add('Layer1');
     * // Remove the layer with name
     * layers.remove('Layer1');
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    remove(name: string): void;
    /**
     * Remove the `PdfLayer` at the layer name from the collection.
     *
     * @param {string} name Layer name to remove.
     * @param {boolean} removeGraphicalContent Remove graphical content, if true.
     * @returns {void} Returns nothing.
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data);
     * // Access the collection of layers in the document
     * let layers$: PdfLayerCollection = document.layers;
     * // Add a new layer to the document with the name 'Layer1'
     * let layer$: PdfLayer = layers.add('Layer1');
     * // Remove the layer with name and graphics on page
     * layers.remove('Layer1', true);
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    remove(name: string, removeGraphicalContent: boolean): void;
    private _setPrintState;
    private _addLayer;
    private _createLayer;
    private _createOptionalContentDictionary;
    private _createOptionalContentViews;
    private _setPrintOption;
    private _createSublayer;
    private _checkLayerLock;
    private _checkLayerVisible;
    private _checkParentLayer;
    private _parsingLayerOrder;
    private _createLayerHierarchical;
    private _addChildLayer;
    private _addNestedLayer;
    private _removeLayer;
    private _removeOCG;
    private _removeUsage;
    private _removeOrder;
    private _removeVisible;
    private _removeLocked;
    private _removeLayerContent;
    private _processBeginMarkContent;
    private _streamWrite;
    private _insertLayer;
}
export  type _XmlWriteState = 'Initial' | 'StartDocument' | 'EndDocument' | 'StartElement' | 'EndElement' | 'ElementContent';
export  type _NamespaceKind = 'Written' | 'NeedToWrite' | 'Implied' | 'Special';
export  class _XmlWriter {
    _bufferText: string;
    _buffer: Uint8Array;
    _currentState: _XmlWriteState;
    _namespaceStack: _Namespace[];
    _elementStack: _XmlElement[];
    _position: number;
    _attributeStack: _XmlAttribute[];
    _skipNamespace: boolean;
    readonly buffer: Uint8Array;
    constructor(isAppearance?: boolean);
    _writeStartDocument(standalone?: boolean): void;
    _writeStartElement(localName: string, prefix?: string, namespace?: string): void;
    _writeEndElement(): void;
    _writeElementString(localName: string, value: string, prefix?: string, namespace?: string): void;
    _writeAttributeString(localName: string, value: string, prefix?: string, namespace?: string): void;
    _writeString(text: string): void;
    _writeRaw(text: string): void;
    _writeInternal(text: string, isRawString: boolean): void;
    _save(): Uint8Array;
    _destroy(): void;
    _flush(): void;
    _writeStartAttribute(localName: string, value: string, prefix: string, namespace: string): void;
    _writeStartAttributePrefixAndNameSpace(localName: string, value: string, prefix?: string, namespace?: string): void;
    _writeStartAttributeSpecialAttribute(prefix: string, localName: string, namespace: string, value: string): void;
    _writeEndAttribute(): void;
    _writeStartElementInternal(prefix: string, localName: string, namespace: string): void;
    _writeEndElementInternal(prefix: string, localName: string): void;
    _writeStartAttributeInternal(prefix: string, localName: string): void;
    _writeNamespaceDeclaration(prefix: string, namespaceUri: string): void;
    _writeStartNamespaceDeclaration(prefix: string): void;
    _writeStringInternal(text: string, inAttributeValue: boolean): void;
    _startElementContent(): void;
    _rawText(text: string): void;
    _addNamespace(prefix: string, ns: string, kind: _NamespaceKind): void;
    _lookupPrefix(namespace: string): string;
    _lookupNamespace(prefix: string): string;
    _lookupNamespaceIndex(prefix: string): number;
    _pushNamespaceImplicit(prefix: string, ns: string): void;
    _pushNamespaceExplicit(prefix: string, ns: string): void;
    _addAttribute(prefix: string, localName: string, namespaceName: string): void;
    _skipPushAndWrite(prefix: string, localName: string, namespace: string): void;
    _checkName(text: string): void;
}
export  class _Namespace {
    _prefix: string;
    _namespaceUri: string;
    _kind: _NamespaceKind;
    _set(prefix: string, namespaceUri: string, kind: _NamespaceKind): void;
    _destroy(): void;
}
export  class _XmlElement {
    _previousTop: number;
    _prefix: string;
    _localName: string;
    _namespaceUri: string;
    _set(prefix: string, localName: string, namespaceUri: string, previousTop: number): void;
    _destroy(): void;
}
export  class _XmlAttribute {
    _prefix: string;
    _namespaceUri: string;
    _localName: string;
    _set(prefix: string, localName: string, namespaceUri: string): void;
    _isDuplicate(prefix: string, localName: string, namespaceUri: string): boolean;
    _destroy(): void;
}
export  class _XmlDocument extends _ExportHelper {
    constructor(fileName?: string);
    _exportAnnotations(): Uint8Array;
    _exportFormFields(document: PdfDocument): Uint8Array;
    _save(): Uint8Array;
    _writeFormFieldData(writer: _XmlWriter, isAcrobat?: boolean): void;
    _parseFormData(root: HTMLElement): void;
    _checkXml(xmlDocument: Document): void;
}
export  abstract class _ExportHelper {
    exportAppearance: boolean;
    _asPerSpecification: boolean;
    _skipBorderStyle: boolean;
    _fileName: string;
    _document: PdfDocument;
    _crossReference: _PdfCrossReference;
    _isAnnotationExport: boolean;
    _isAnnotationImport: boolean;
    _key: string;
    _formKey: string;
    _exportEmptyFields: boolean;
    _groupReferences: Map<string, _PdfReference>;
    _groupHolders: Array<_PdfDictionary>;
    _encodeDictionary: _PdfDictionary;
    _annotationTypes: Array<_PdfAnnotationType>;
    _annotationAttributes: Array<string>;
    _xmlDocument: Document;
    _richTextPrefix: string;
    _parser: DOMParser;
    _table: Map<any, any>;
    _fields: Map<string, string[]>;
    _richTextValues: Map<string, string>;
    _jsonData: number[];
    _openingBrace: number;
    _openingBracket: number;
    _closingBrace: number;
    _closingBracket: number;
    _colon: number;
    _doubleQuotes: number;
    _comma: number;
    _space: number;
    _format: string;
    _annotationID: string;
    fdfString: string;
    _xmlImport: boolean;
    abstract _exportAnnotations(document?: PdfDocument): Uint8Array;
    abstract _exportFormFields(document: PdfDocument): Uint8Array;
    abstract _save(): Uint8Array;
    _exportFormFieldsData(field: PdfField): string | string[];
    _exportFormFieldData(field: PdfField): void;
    _getAnnotationType(dictionary: _PdfDictionary): string;
    _getValue(primitive: any, isJson?: boolean): string;
    _getColor(primitive: any): string;
    _getValidString(value: string): string;
    _getEncodedFontDictionary(source: _PdfDictionary): _PdfDictionary;
    _getEncodedValue(value: string, dictionary?: _PdfDictionary): string;
    _replaceNotUsedCharacters(input: string, structure: _FontStructure): string;
    _getExportValue(primitive: any, field?: PdfField): string | string[];
    _addReferenceToGroup(reference: _PdfReference, dictionary: _PdfDictionary): void;
    _handlePopup(annotations: PdfAnnotationCollection, reference: _PdfReference, annotationDictionary: _PdfDictionary, pageDictionary: _PdfDictionary): void;
    _containsExportValue(value: string, field: PdfCheckBoxField): boolean;
    _checkSelected(dictionary: _PdfDictionary, value: string): boolean;
    _dispose(): void;
}
export  class _XfdfDocument extends _ExportHelper {
    constructor(fileName?: string);
    _exportAnnotations(document: PdfDocument): Uint8Array;
    _exportFormFields(document: PdfDocument): Uint8Array;
    _save(): Uint8Array;
    _writeFormFieldData(writer: _XmlWriter, isAcrobat?: boolean): void;
    _writeFieldName(value: Map<any, any>, writer: _XmlWriter): void;
    _getElements(table: Map<any, any>): Map<any, any>;
    _checkAnnotationType(annotation: PdfAnnotation): boolean;
    _exportAnnotationData(annotation: PdfAnnotation, writer: _XmlWriter, pageIndex: number): void;
    _writeAnnotationData(writer: _XmlWriter, pageIndex: number, annotation: PdfAnnotation): void;
    _writeAnnotationData(writer: _XmlWriter, pageIndex: number, dictionary: _PdfDictionary): void;
    _writeDictionary(dictionary: _PdfDictionary, pageIndex: number, writer: _XmlWriter, hasAppearance: boolean): void;
    _getAppearanceString(appearance: _PdfDictionary): Uint8Array;
    _writeAppearanceDictionary(writer: _XmlWriter, dictionary: _PdfDictionary): void;
    _writeObject(writer: _XmlWriter, primitive: any, dictionary: _PdfDictionary, key?: string, isNewReference?: boolean): void;
    _writePrefix(writer: _XmlWriter, name: string, key?: string): void;
    _writeArray(writer: _XmlWriter, array: any[], dictionary: _PdfDictionary): void;
    _getFormatedString(value: string, isParsing?: boolean): string;
    _writeAttribute(writer: _XmlWriter, key: string, primitive: any): void;
    _writeAttributeString(writer: _XmlWriter, attribute: string, primitive: any, isLowerCase?: boolean): void;
    _writeRawData(writer: _XmlWriter, name: string, value: string): void;
    _writeColor(writer: _XmlWriter, primitive: any, attribute: string, tag?: string): void;
    _exportMeasureDictionary(dictionary: _PdfDictionary, writer: _XmlWriter): void;
    _exportMeasureFormatDetails(measurementDetails: _PdfDictionary, writer: _XmlWriter): void;
    _readXmlData(root: HTMLElement): void;
    _checkXfdf(element: HTMLElement): void;
    _parseFormData(root: HTMLElement): void;
    _parseAnnotationData(element: Element): void;
    _getAnnotationDictionary(page: PdfPage, element: Element): _PdfDictionary;
    _addAnnotationData(dictionary: _PdfDictionary, element: Element, page: PdfPage): void;
    _addBorderStyle(dictionary: _PdfDictionary, element: Element): void;
    _applyAttributeValues(dictionary: _PdfDictionary, attributes: NamedNodeMap): void;
    _obtainPoints(value: string): number[];
    _parseInnerElements(dictionary: _PdfDictionary, element: Element, page: PdfPage): void;
    _addStreamData(child: Node, dictionary: _PdfDictionary, parent: Element): void;
    _addSound(dictionary: _PdfDictionary, element: Element, raw: number[]): void;
    _addFileAttachment(dictionary: _PdfDictionary, element: Element, raw: number[]): void;
    _addAppearanceData(element: Node, dictionary: _PdfDictionary): void;
    _getAppearance(source: _PdfDictionary | _PdfContentStream, child: Node): void;
    _getStream(element: Element): _PdfContentStream;
    _getDictionary(element: Element): _PdfDictionary;
    _getArray(element: Element): any;
    _getData(element: Element): number[];
    _addArrayElements(array: any, child: Node): void;
    _getFixed(element: Element): number;
    _getInt(element: Element): number;
    _getString(element: Element): string;
    _getName(element: Element): _PdfName;
    _getBoolean(element: Element): boolean;
    _addMeasureDictionary(dictionary: _PdfDictionary, element: Element): void;
    _addElements(element: Element, dictionary: _PdfDictionary): void;
    _addString(dictionary: _PdfDictionary, key: string, value: string): void;
    _addInt(dictionary: _PdfDictionary, key: string, value: string): void;
    _addFloat(dictionary: _PdfDictionary, key: string, value: string): void;
    _addFloatPoints(dictionary: _PdfDictionary, points: number[], key: string): void;
    _addKey(primitive: any, dictionary: _PdfDictionary, element: Element): void;
    _addLineEndStyle(dictionary: _PdfDictionary, element: Element): void;
}
export  class _FontStructure {
    _dictionary: _PdfDictionary;
    _differencesDictionary: Map<string, string>;
    _fontType: string;
    _baseFontEncoding: string;
    _fontEncoding: string;
    _fontName: string;
    constructor(dictionary: _PdfDictionary);
    readonly differencesDictionary: Map<string, string>;
    readonly baseFontEncoding: string;
    readonly fontEncoding: string;
    readonly fontName: string;
    _getFontEncoding(): string;
    _getDifferencesDictionary(): Map<string, string>;
    _getFontName(): string;
    _decodeHexFontName(fontName: string): string;
}
export  class _JsonDocument extends _ExportHelper {
    _isImport: boolean;
    _isColorSpace: boolean;
    _isDuplicate: boolean;
    _isGroupingSupport: boolean;
    constructor(fileName?: string);
    _exportAnnotations(document: PdfDocument): Uint8Array;
    _exportFormFields(document: PdfDocument): Uint8Array;
    _save(): Uint8Array;
    _writeFormFieldData(): void;
    _exportAnnotationData(document: PdfDocument, pageCount: number): void;
    _exportAnnotation(annotation: PdfAnnotation, index: number): void;
    _writeDictionary(dictionary: _PdfDictionary, pageIndex: number, hasAppearance: boolean): void;
    _writeColor(primitive: any, attribute: string, tag?: string): void;
    _writeAttributeString(attribute: string, primitive: any, isLowerCase?: boolean): void;
    _writeAttribute(key: string, primitive: any, dictionary: _PdfDictionary): void;
    _writeVertices(dictionary: _PdfDictionary): void;
    _writeInkList(dictionary: _PdfDictionary): void;
    _exportMeasureDictionary(dictionary: _PdfDictionary): void;
    _exportMeasureFormatDetails(key: string, measurementDetails: _PdfDictionary): void;
    _getAppearanceString(appearance: _PdfDictionary): Uint8Array;
    _writeAppearanceDictionary(table: Map<string, string>, dictionary: _PdfDictionary): void;
    _writeObject(table?: Map<string, string>, value?: any, dictionary?: _PdfDictionary, key?: string, array?: Map<string, string>[], isColorSpace?: boolean, isNewReference?: boolean): void;
    _writeTable(tableKey: string, value: string, table: Map<string, string>, key: string, array: Map<string, string>[]): void;
    _writeArray(array: Map<string, string>[], value: any[], dictionary: _PdfDictionary, isColorSpace?: boolean): void;
    _convertToJson(table: Map<string, string>): string;
    _convertToJsonArray(array: Map<string, string>[]): string;
    _parseJson(document: PdfDocument, data: Uint8Array): any;
    _addAnnotationData(dictionary: _PdfDictionary, annotation: any, annotationKeys: string[]): void;
    _addLinePoints(value: string, linePoints: number[]): void;
    _addString(dictionary: _PdfDictionary, key: string, value: string): void;
    _addBoolean(dictionary: _PdfDictionary, key: string, value: string): void;
    _addBorderStyle(key: string, value: any, borderEffectDictionary: _PdfDictionary, borderStyleDictionary: _PdfDictionary): void;
    _parseFloatPoints(value: string): number[];
    _addFloatPoints(dictionary: _PdfDictionary, key: string, value: number[]): void;
    _addMeasureDictionary(dictionary: _PdfDictionary, annotation: any, annotationKeys: string[]): void;
    _readDictionaryElements(elements: any): _PdfDictionary;
    _addStreamData(dictionary: _PdfDictionary, data: Map<string, string>, values: string): void;
    _addAppearanceData(dictionary: _PdfDictionary, data: string): void;
    _parseAppearance(element: any): any;
    _parseDictionary(element: any): _PdfDictionary;
    _parseStream(element: any): _PdfContentStream;
    _parseStreamElements(stream: _PdfContentStream, element?: any): void;
    _getValidString(value: string): string;
}
export  class _FdfDocument extends _ExportHelper {
    _annotationObjects: Map<any, any>;
    _specialCharacters: string;
    constructor(fileName?: string);
    _exportAnnotations(document: PdfDocument): Uint8Array;
    _exportFormFields(document: PdfDocument): Uint8Array;
    _save(): Uint8Array;
    _readFdfData(parser: any): void;
    _parseDictionary(dictionary: _PdfDictionary): void;
    _parseDictionaryData(dictionary: _PdfDictionary, key: string): void;
    _parseArray(array: Array<any>): void;
    _parseAnnotationData(): Map<any, any>;
    _exportAnnotationData(document: PdfDocument, pageCount: number): void;
    _exportAnnotation(annotation: PdfAnnotation, fdfString: string, index: number, annot: string[], pageIndex: number, appearance: boolean): _FdfHelper;
    _appendStream(value: any, fdfString: string): void;
    _getEntries(list: Map<any, any>, // eslint-disable-line
    streamReference: number[], index: number, dictionary: _PdfDictionary, fdfString: string, hasAppearance: boolean): _FdfHelper;
    _appendArray(array: any[], // eslint-disable-line
    fdfString: string, index: number, flag: boolean, list: Map<any, any>, // eslint-disable-line
    streamReference: number[]): _FdfHelper;
    _appendElement(element: any, // eslint-disable-line
    fdfString: string, index: number, flag: boolean, list: Map<any, any>, // eslint-disable-line
    streamReference: number[]): _FdfHelper;
    _getFormattedString(value: string): string;
    _checkFdf(element: string): void;
    _stringToHexString(text: string): string;
}
export  class _FdfHelper {
    list: Map<any, any>;
    streamReference: number[];
    index: number;
    annot: string[];
}
//node_modules/@syncfusion/ej2-pdf/src/pdf/core/graphics/pdf-template.d.ts
/**
 * `PdfTemplate` class represents the template of the PDF.
 * ```typescript
 * // Load an existing PDF document
 * let document$: PdfDocument = new PdfDocument(data, password);
 * // Get the first page
 * let page$: PdfPage = document.getPage(0) as PdfPage;
 * // Create a new rubber stamp annotation
 * const annotation: PdfRubberStampAnnotation = new PdfRubberStampAnnotation(50, 100, 100, 50);
 * // Get the normal appearance of the annotation
 * let normalAppearance: PdfTemplate = annotation.appearance.normal;
 * // Create new image object by using JPEG image data as Base64 string format
 * let image: PdfImage = new PdfBitmap('/9j/4AAQSkZJRgABAQEAkACQAAD/4....QB//Z');
 * // Draw the image as the custom appearance for the annotation
 * normalAppearance.graphics.drawImage(image, 0, 0, 100, 50);
 * // Add annotation to the page
 * page.annotations.add(annotation);
 * // Save the document
 * document.save('output.pdf');
 * // Destroy the document
 * document.destroy();
 * ```
 */
export  class PdfTemplate {
    _content: any;
    _size: number[];
    _writeTransformation: boolean;
    _isReadOnly: boolean;
    _isAnnotationTemplate: boolean;
    _needScale: boolean;
    _g: PdfGraphics;
    _crossReference: _PdfCrossReference;
    _isExported: boolean;
    _isResourceExport: boolean;
    _appearance: string;
    _pendingResources: string;
    _templateOriginalSize: number[];
    _isSignature: boolean;
    _isNew: boolean;
    _key: string;
    /**
     * Initializes a new instance of the `PdfTemplate` class.
     *
     * @private
     */
    constructor();
    /**
     * Initializes a new instance of the `PdfTemplate` class.
     *
     * @param {_PdfBaseStream} appearance - The appearance stream.
     * @param {_PdfCrossReference} crossReference - The cross reference object.
     * @private
     */
    constructor(appearance: _PdfBaseStream, crossReference: _PdfCrossReference);
    /**
     * Initializes a new instance of the `PdfTemplate` class.
     *
     * @param {number[]} bounds - The bounds.
     * @param {_PdfCrossReference} crossReference - The cross reference object.
     * @private
     */
    constructor(bounds: number[], crossReference: _PdfCrossReference);
    /**
     * Initializes a new instance of the `PdfTemplate` class.
     *
     * @param {Size} size - The size of the template.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Get the first page
     * let page$: PdfPage = document.getPage(0) as PdfPage;
     * // Create a template
     * const template: PdfTemplate = new PdfTemplate({ width: 400, height: 200 });
     * // Create new image object by using JPEG image data as Base64 string format
     * let image: PdfImage = new PdfBitmap('/9j/4AAQSkZJRgABAQEAkACQAAD/4....QB//Z');
     * // Draw the image into the template graphics
     * template.graphics.drawImage(image, 0, 0, 100, 50);
     * // Draw template to the page
     * page.graphics.drawTemplate(template, {x: 0, y: 0, width: 100, height: 50});
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    constructor(size: Size);
    /**
     * Initializes a new instance of the `PdfTemplate` class.
     *
     * @param {Rectangle} bounds - The bounding rectangle of the template.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Get the first page
     * let page$: PdfPage = document.getPage(0) as PdfPage;
     * // Create a template
     * const template: PdfTemplate = new PdfTemplate({ x: 100, y: 100, width: 400, height: 200 });
     * // Create new image object by using JPEG image data as Base64 string format
     * let image: PdfImage = new PdfBitmap('/9j/4AAQSkZJRgABAQEAkACQAAD/4....QB//Z');
     * // Draw the image into the template graphics
     * template.graphics.drawImage(image, 0, 0, 100, 50);
     * // Draw template to the page
     * page.graphics.drawTemplate(template, {x: 0, y: 0, width: 100, height: 50});
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    constructor(bounds: Rectangle);
    constructor(bounds: Rectangle, crossReference: _PdfCrossReference);
    /**
     * Get the graphics of the PDF template. (Read only)
     *
     * @returns {PdfGraphics} The graphics object of the PDF template.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Get the first page
     * let page$: PdfPage = document.getPage(0) as PdfPage;
     * // Create a new rubber stamp annotation
     * const annotation: PdfRubberStampAnnotation = new PdfRubberStampAnnotation(50, 100, 100, 50);
     * // Access the graphics of the normal appearance
     * let graphics$: PdfGraphics = annotation.appearance.normal.graphics;
     * // Create new image object by using JPEG image data as Base64 string format
     * let image: PdfImage = new PdfBitmap('/9j/4AAQSkZJRgABAQEAkACQAAD/4....QB//Z');
     * // Draw the image as the custom appearance for the annotation
     * graphics.drawImage(image, 0, 0, 100, 50);
     * // Add annotation to the page
     * page.annotations.add(annotation);
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    readonly graphics: PdfGraphics;
    /**
     * Get the size of the PDF template. (Read only)
     *
     * @returns {number[]} Template width and height as number array.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Get the first page
     * let page$: PdfPage = document.getPage(0) as PdfPage;
     * // Create a new rubber stamp annotation
     * const annotation: PdfRubberStampAnnotation = new PdfRubberStampAnnotation(50, 100, 100, 50);
     * // Access the normal template of the appearance
     * let template: PdfTemplate = appearance.normal;
     * // Get the width and height of the PDF template as number array.
     * let size$: number[] = template.size;
     * // Create new image object by using JPEG image data as Base64 string format
     * let image: PdfImage = new PdfBitmap('/9j/4AAQSkZJRgABAQEAkACQAAD/4....QB//Z');
     * // Draw the image as the custom appearance for the annotation
     * template.graphics.drawImage(image, 0, 0, size[0], size[1]);
     * // Add annotation to the page
     * page.annotations.add(annotation);
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    readonly size: number[];
    /**
     * Get the original size of the PDF template. (Read only)
     *
     * Remarks: The `_originalSize` property is internal and provides access to the original dimensions of the PDF template.
     *
     * @returns {number[]} Template original width and height as number array.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Get the first page
     * let page$: PdfPage = document.getPage(0) as PdfPage;
     * // Create a new rubber stamp annotation
     * const annotation: PdfRubberStampAnnotation = new PdfRubberStampAnnotation(50, 100, 100, 50);
     * // Access the normal template of the appearance
     * let template: PdfTemplate = appearance.normal;
     * // Get the width and height of the PDF template as number array
     * let size$: number[] = template._originalSize;
     * // Create new image object by using JPEG image data as Base64 string format
     * let image: PdfImage = new PdfBitmap('/9j/4AAQSkZJRgABAQEAkACQAAD/4....QB//Z');
     * // Draw the image as the custom appearance for the annotation
     * template.graphics.drawImage(image, 0, 0, size[0], size[1]);
     * // Add annotation to the page
     * page.annotations.add(annotation);
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    readonly _originalSize: number[];
    _initialize(): void;
    _exportStream(dictionary: _PdfDictionary, crossReference: _PdfCrossReference): void;
    _updatePendingResource(crossReference: _PdfCrossReference): void;
}
//node_modules/@syncfusion/ej2-pdf/src/pdf/core/graphics/pdf-stream-writer.d.ts
export  class _PdfStreamWriter {
    _stream: _PdfContentStream;
    _newLine: string;
    _whiteSpace: string;
    constructor(stream: _PdfContentStream);
    _writeOperator(value: string): void;
    _saveGraphicsState(): void;
    _restoreGraphicsState(): void;
    _writeComment(comment: string): void;
    _setGraphicsState(value: _PdfName): void;
    _modifyCtm(matrix: _PdfTransformationMatrix): void;
    _modifyTM(matrix: _PdfTransformationMatrix): void;
    _setColorSpace(value: string, forStroking: boolean): void;
    _setColorSpace(value: number[], colorSpace: _PdfColorSpace, forStroking: boolean): void;
    _setColor(color: number[], forStroking: boolean): void;
    _appendRectangle(x: number, y: number, width: number, height: number): void;
    _writePoint(x: number, y: number): void;
    _clipPath(isEvenOdd: boolean): void;
    _fillPath(isEvenOdd: boolean): void;
    _closeFillPath(isEvenOdd: boolean): void;
    _strokePath(): void;
    _closeStrokePath(): void;
    _fillStrokePath(isEvenOdd: boolean): void;
    _closeFillStrokePath(isEvenOdd: boolean): void;
    _endPath(): void;
    _setFont(name: string, size: number): void;
    _setTextScaling(textScaling: number): void;
    _closePath(): void;
    _startNextLine(): void;
    _startNextLine(x: number, y: number): void;
    _setLeading(leading: number): void;
    _showText(text: string): void;
    _write(string: string): void;
    _writeText(text: string): void;
    _beginText(): void;
    _endText(): void;
    _beginPath(x: number, y: number): void;
    _appendLineSegment(x: number, y: number): void;
    _appendBezierSegment(x1: number, y1: number, x2: number, y2: number, x3: number, y3: number): void;
    _setTextRenderingMode(renderingMode: number): void;
    _setCharacterSpacing(charSpacing: number): void;
    _setWordSpacing(wordSpacing: number): void;
    _showNextLineText(text: string): void;
    _showNextLineText(text: string, unicode: boolean): void;
    _setLineDashPattern(pattern: number[], patternOffset: number): void;
    _setMiterLimit(miterLimit: number): void;
    _setLineWidth(width: number): void;
    _setLineCap(lineCapStyle: number): void;
    _setLineJoin(lineJoinStyle: number): void;
    _executeObject(name: _PdfName): void;
    _beginMarkupSequence(name: string): void;
    _endMarkupSequence(): void;
    _clear(): void;
    _escapeSymbols(value: string): number[];
}
//node_modules/@syncfusion/ej2-pdf/src/pdf/core/graphics/pdf-path.d.ts
/**
 * Implements graphics path, which is a sequence of primitive graphics elements.
 *
 * ```typescript
 * // Load an existing PDF document
 * let document$: PdfDocument = new PdfDocument(data, password);
 * // Access the first page
 * let page$: PdfPage = document.getPage(0);
 * // Gets the graphics object of the PDF page
 * let graphics$: PdfGraphics = page.graphics;
 * // Create a new pen
 * let pen$: PdfPen = new PdfPen([0, 0, 0], 1);
 * // Create a new PDF path
 * let path$: PdfPath = new PdfPath();
 * // Add a line to the Graphics path
 * path.addLine(10, 250, 200, 250);
 * // Draw the path on the PDF page
 * graphics.drawPath(path, pen);
 * // Save the document
 * document.save('output.pdf');
 * // Destroy the document
 * document.destroy();
 * ```
 */
export  class PdfPath {
    _points: Array<number[]>;
    _pathTypes: PathPointType[];
    _pen: PdfPen;
    _brush: PdfBrush;
    _fillMode: PdfFillMode;
    _isStart: boolean;
    _isXps: boolean;
    _isRoundedRectangle: boolean;
    /**
     * Initializes a new instance of the `PdfPath` class.
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Access the first page
     * let page$: PdfPage = document.getPage(0);
     * // Gets the graphics object of the PDF page
     * let graphics$: PdfGraphics = page.graphics;
     * // Create a new pen
     * let pen$: PdfPen = new PdfPen([0, 0, 0], 1);
     * // Create a new brush
     * let brush$: PdfBrush = new PdfBrush([0, 255, 255]);
     * // Create a new PDF path
     * let path$: PdfPath = new PdfPath();
     * // Add a line to the Graphics path
     * path.addLine(10, 250, 200, 250);
     * // Draw the path on the PDF page
     * graphics.drawPath(path, pen);
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    constructor();
    /**
     * Initializes a new instance of the `PdfPath` class using a series of points and path types.
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Access the first page
     * let page$: PdfPage = document.getPage(0);
     * // Gets the graphics object of the PDF page
     * let graphics$: PdfGraphics = page.graphics;
     * // Create a new pen
     * let pen$: PdfPen = new PdfPen([0, 0, 0], 1);
     * // Create a new brush
     * let brush$: PdfBrush = new PdfBrush([0, 255, 255]);
     * // Create a new PDF path
     * let path$: PdfPath = new PdfPath([[50, 50], [100, 50], [100, 100], [50, 100], [50, 50]], [0, 1, 1, 1, 1]);
     * // Draw the path on the PDF page
     * page.graphics.drawPath(path, pen, brush);
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    constructor(points: Array<number[]>, pathTypes: PathPointType[]);
    /**
     * Gets the last point of the path.
     *
     * @returns {number[]} The value of the last point.
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Access the first page
     * let page$: PdfPage = document.getPage(0);
     * // Gets the graphics object of the PDF page
     * let graphics$: PdfGraphics = page.graphics;
     * // Create a new pen
     * let pen$: PdfPen = new PdfPen([0, 0, 0], 1);
     * // Create a new brush
     * let brush$: PdfBrush = new PdfBrush([0, 255, 255]);
     * // Create a new PDF path
     * let path$: PdfPath = new PdfPath([[50, 50], [100, 50], [100, 100], [50, 100], [50, 50]], [0, 1, 1, 1, 1]);
     * // Get the last point of the path.
     * let lastPoint: number[] = path.lastPoint;
     * // Draw the path on the PDF page.
     * page.graphics.drawPath(path, pen, brush);
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    readonly lastPoint: number[];
    /**
     * Gets the array of points that represent the x and y coordinates defining the path.
     *
     * @returns {Array<number[]>} An array of arrays of numbers, where each inner array represents a set of points.
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Access the first page
     * let page$: PdfPage = document.getPage(0);
     * // Gets the graphics object of the PDF page
     * let graphics$: PdfGraphics = page.graphics;
     * // Create a new pen
     * let pen$: PdfPen = new PdfPen([0, 0, 0], 1);
     * // Create a new brush
     * let brush$: PdfBrush = new PdfBrush([0, 255, 255]);
     * // Create a new PDF path
     * let path$: PdfPath = new PdfPath([[50, 50], [100, 50], [100, 100], [50, 100], [50, 50]], [0, 1, 1, 1, 1]);
     * // Get the path points of the path
     * let pathPoints$: Array<number[]> = path.pathPoints;
     * // Draw the path on the PDF page
     * page.graphics.drawPath(path, pen, brush);
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    readonly pathPoints: Array<number[]>;
    /**
     * Gets the types of the corresponding points in the path.
     *
     * @returns {PathPointType[]} An array of `PathPointType` objects representing the types of each path point.
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Access the first page
     * let page$: PdfPage = document.getPage(0);
     * // Gets the graphics object of the PDF page
     * let graphics$: PdfGraphics = page.graphics;
     * // Create a new pen
     * let pen$: PdfPen = new PdfPen([0, 0, 0], 1);
     * // Create a new brush
     * let brush$: PdfBrush = new PdfBrush([0, 255, 255]);
     * // Create a new PDF path
     * let path$: PdfPath = new PdfPath([[50, 50], [100, 50], [100, 100], [50, 100], [50, 50]], [0, 1, 1, 1, 1]);
     * // Get the path types of the path
     * let pathTypes$: PathPointType[] = path.pathTypes;
     * // Draw the path on the PDF page
     * page.graphics.drawPath(path, pen, brush);
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    readonly pathTypes: PathPointType[];
    /**
     * Gets the fill mode.
     *
     * @returns {PdfFillMode} The fill mode of the PDF path.
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Access the first page
     * let page$: PdfPage = document.getPage(0);
     * // Gets the graphics object of the PDF page
     * let graphics$: PdfGraphics = page.graphics;
     * // Create a new pen
     * let pen$: PdfPen = new PdfPen([0, 0, 0], 1);
     * // Create a new brush
     * let brush$: PdfBrush = new PdfBrush([0, 255, 255]);
     * // Create a new PDF path
     * let path$: PdfPath = new PdfPath([[50, 50], [100, 50], [100, 100], [50, 100], [50, 50]], [0, 1, 1, 1, 1]);
     * // Get the fill mode of the path
     * let fillMode: PdfFillMode = path.fillMode;
     * // Draw the path on the PDF page
     * page.graphics.drawPath(path, pen, brush);
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Sets the fill mode.
    *
    * @param {PdfFillMode} mode The fill mode of the path.
    *
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data, password);
    * // Access the first page
    * let page$: PdfPage = document.getPage(0);
    * // Gets the graphics object of the PDF page
    * let graphics$: PdfGraphics = page.graphics;
    * // Create a new pen
    * let pen$: PdfPen = new PdfPen([0, 0, 0], 1);
    * // Create a new brush
    * let brush$: PdfBrush = new PdfBrush([0, 255, 255]);
    * // Create a new PDF path
    * let path$: PdfPath = new PdfPath([[50, 50], [100, 50], [100, 100], [50, 100], [50, 50]], [0, 1, 1, 1, 1]);
    * // Set the fill mode of the path
    * path.fillMode = PdfFillMode.alternate;
    * // Draw the path on the PDF page
    * page.graphics.drawPath(path, pen, brush);
    * // Save the document
    * document.save('output.pdf');
    * // Destroy the document
    * document.destroy();
    * ```
    */
    fillMode: PdfFillMode;
    /**
     * Appends the specified path to this one.
     *
     * @param {PdfPath} path The path to append.
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Access the first page
     * let page$: PdfPage = document.getPage(0);
     * // Get the graphics object of the PDF page
     * let graphics$: PdfGraphics = page.graphics;
     * // Create a new pen
     * let pen$: PdfPen = new PdfPen([0, 0, 0], 1);
     * // Create a new PDF path
     * let path1: PdfPath = new PdfPath();
     * // Add path points and path type
     * let path2: PdfPath = new PdfPath([[50, 50], [100, 50], [100, 100], [50, 100], [50, 50]], [0, 1, 1, 1, 1]);
     * path1.addPath(path2);
     * // Draw the path on the PDF page
     * graphics.drawPath(path1, pen);
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    addPath(path: PdfPath): void;
    /**
     * Appends the specified path points and their types to this path.
     *
     * @param {Array<number[]>} pathPoints The path points to append.
     * @param {PathPointType[]} pathPointTypes The types of the path points.
     * @returns {void} Nothing
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Access the first page
     * let page$: PdfPage = document.getPage(0);
     * // Gets the graphics object of the PDF page
     * let graphics$: PdfGraphics = page.graphics;
     * // Create a new pen
     * let pen$: PdfPen = new PdfPen([0, 0, 0], 1);
     * // Create a new PDF path
     * let path1: PdfPath = new PdfPath();
     * // Add path points and their types
     * path1.addPath([[50, 50], [100, 100]], [PathPointType.start, PathPointType.line]);
     * // Draw the path on the PDF page
     * graphics.drawPath(path1, pen);
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    addPath(pathPoints: Array<number[]>, pathPointTypes: PathPointType[]): void;
    _addPath(pathPoints: Array<number[]>, pathTypes: PathPointType[]): void;
    /**
     * Adds a line segment to the path.
     *
     * @param {number} x1 The x-coordinate of the starting point of the line.
     * @param {number} y1 The y-coordinate of the starting point of the line.
     * @param {number} x2 The x-coordinate of the ending point of the line.
     * @param {number} y2 The y-coordinate of the ending point of the line.
     * @returns {void} Nothing
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Access the first page
     * let page$: PdfPage = document.getPage(0);
     * // Gets the graphics object of the PDF page
     * let graphics$: PdfGraphics = page.graphics;
     * // Create a new pen
     * let pen$: PdfPen = new PdfPen([0, 0, 0], 1);
     * // Create a new PDF path
     * let path$: PdfPath = new PdfPath();
     * // Add a line segment to the path
     * path.addLine(10, 250, 200, 250);
     * // Draw the path on the PDF page
     * graphics.drawPath(path, pen);
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    addLine(x1: number, y1: number, x2: number, y2: number): void;
    _addLines(linePoints: Array<number[]>): void;
    _addPoints(points: number[], type: PathPointType, start?: number, end?: number): void;
    _addPoint(point: number[], type: PathPointType): void;
    /**
     * Adds an arc within a bounding rectangle using the angles that define the start and sweep of the arc.
     *
     * @param {number} x The x-coordinate of the upper-left corner of the rectangular region.
     * @param {number} y The y-coordinate of the upper-left corner of the rectangular region.
     * @param {number} width The width of the rectangular region.
     * @param {number} height The height of the rectangular region.
     * @param {number} startAngle The start angle of the arc.
     * @param {number} sweepAngle The angle between start angle and the end of the arc.
     * @returns {void} Nothing
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(readFromResources('Empty.pdf'));
     * // Access the first page
     * let page$: PdfPage = document.getPage(0);
     * // Gets the graphics object of the PDF page
     * let graphics$: PdfGraphics = page.graphics;
     * // Create a new pen
     * let pen$: PdfPen = new PdfPen([0, 0, 0], 1);
     * // Create a new PDF path
     * let path$: PdfPath = new PdfPath();
     * // Add a Bezier curve to the path
     * path.addBezier(10, 100, 50, 150, 150, 150, 200, 100);
     * // Draw the path on the PDF page
     * graphics.drawPath(path, pen);
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    addArc(x: number, y: number, width: number, height: number, startAngle: number, sweepAngle: number): void;
    /**
     * Adds a rectangle to the path.
     *
     * @param {number} x The x-coordinate of the upper-left corner of the rectangle.
     * @param {number} y The y-coordinate of the upper-left corner of the rectangle.
     * @param {number} width The width of the rectangle.
     * @param {number} height The height of the rectangle.
     * @returns {void} Nothing
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Access the first page
     * let page$: PdfPage = document.getPage(0);
     * // Gets the graphics object of the PDF page
     * let graphics$: PdfGraphics = page.graphics;
     * // Create a new pen
     * let pen$: PdfPen = new PdfPen([0, 0, 0], 1);
     * // Create a new brush
     * let brush$: PdfBrush = new PdfBrush([0, 255, 255]);
     * // Create a new PDF path
     * let path$: PdfPath = new PdfPath();
     * // Add a rectangle to the path
     * path.addRectangle(10, 20, 50, 100);
     * // Draw the path on the PDF page
     * graphics.drawPath(path, pen, brush);
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    addRectangle(x: number, y: number, width: number, height: number): void;
    /**
     * Adds a polygon to the path.
     *
     * @param {Array<number[]>} points The points of the polygon, where each point is an array of two numbers representing the x and y coordinates.
     * @returns {void} Nothing
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Access the first page
     * let page$: PdfPage = document.getPage(0);
     * // Gets the graphics object of the PDF page
     * let graphics$: PdfGraphics = page.graphics;
     * // Create a new pen
     * let pen$: PdfPen = new PdfPen([0, 0, 0], 1);
     * // Create a new brush
     * let brush$: PdfBrush = new PdfBrush([0, 255, 255]);
     * // Create a new PDF path
     * let path$: PdfPath = new PdfPath();
     * // Add a polygon to the path
     * path.addPolygon([[200, 10], [300, 100], [150, 100], [200, 10]]);
     * // Draw the path on the PDF page
     * graphics.drawPath(path, pen, brush);
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    addPolygon(points: Array<number[]>): void;
    /**
     * Adds an ellipse to the path.
     *
     * @param {number} x The x-coordinate of the upper-left corner of the rectangular region that bounds the ellipse.
     * @param {number} y The y-coordinate of the upper-left corner of the rectangular region that bounds the ellipse.
     * @param {number} width The width of the bounding rectangle for the ellipse.
     * @param {number} height The height of the bounding rectangle for the ellipse.
     * @returns {void} Nothing
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Access the first page
     * let page$: PdfPage = document.getPage(0);
     * // Gets the graphics object of the PDF page
     * let graphics$: PdfGraphics = page.graphics;
     * // Create a new pen
     * let pen$: PdfPen = new PdfPen([0, 0, 0], 1);
     * // Create a new brush
     * let brush$: PdfBrush = new PdfBrush([0, 255, 255]);
     * // Create a new PDF path
     * let path$: PdfPath = new PdfPath();
     * // Add an ellipse to the path
     * path.addEllipse(200, 200, 100, 50);
     * // Draw the path on the PDF page
     * graphics.drawPath(path, pen, brush);
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    addEllipse(x: number, y: number, width: number, height: number): void;
    /**
     * Adds a Bezier curve to the path using specified coordinates for the start point, two control points, and the end point.
     *
     * @param {number} startX The x-coordinate of the starting point of the Bezier curve.
     * @param {number} startY The y-coordinate of the starting point of the Bezier curve.
     * @param {number} firstX The x-coordinate of the first control point of the Bezier curve.
     * @param {number} firstY The y-coordinate of the first control point of the Bezier curve.
     * @param {number} secondX The x-coordinate of the second control point of the Bezier curve.
     * @param {number} secondY The y-coordinate of the second control point of the Bezier curve.
     * @param {number} endX The x-coordinate of the ending point of the Bezier curve.
     * @param {number} endY The y-coordinate of the ending point of the Bezier curve.
     * @returns {void} Nothing
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Access the first page
     * let page$: PdfPage = document.getPage(0);
     * // Gets the graphics object of the PDF page
     * let graphics$: PdfGraphics = page.graphics;
     * // Create a new pen
     * let pen$: PdfPen = new PdfPen([0, 0, 0], 1);
     * // Create a new brush
     * let brush$: PdfBrush = new PdfBrush([0, 255, 255]);
     * // Create a new PDF path
     * let path$: PdfPath = new PdfPath();
     * // Add a Bezier curve to the path
     * path.addBezier(100, 100, 150, 150, 50, 250, 100, 300);
     * // Draw the path on the PDF page
     * graphics.drawPath(path, pen, brush);
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    addBezier(startX: number, startY: number, firstX: number, firstY: number, secondX: number, secondY: number, endX: number, endY: number): void;
    _addBezierPoints(pointsCollection: number[][]): void;
    /**
     * Adds a pie slice to the path.
     *
     * @param {number} x The x-coordinate of the upper-left corner of the bounding rectangle.
     * @param {number} y The y-coordinate of the upper-left corner of the bounding rectangle.
     * @param {number} width The width of the bounding rectangle.
     * @param {number} height The height of the bounding rectangle.
     * @param {number} startAngle The angle in degrees measured clockwise from the x-axis to the start of the pie slice.
     * @param {number} sweepAngle The angle in degrees measured clockwise from the startAngle parameter to the end of the pie slice.
     * @returns {void} Nothing
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Access the first page
     * let page$: PdfPage = document.getPage(0);
     * // Gets the graphics object of the PDF page
     * let graphics$: PdfGraphics = page.graphics;
     * // Create a new pen
     * let pen$: PdfPen = new PdfPen([0, 0, 0], 1);
     * // Create a new brush
     * let brush$: PdfBrush = new PdfBrush([0, 255, 255]);
     * // Create a new PDF path
     * let path$: PdfPath = new PdfPath();
     * // Add a pie slice to the path
     * path.addPie(0, 20, 100, 100, 270, 45);
     * // Draw the path on the PDF page
     * graphics.drawPath(path, pen, brush);
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    addPie(x: number, y: number, width: number, height: number, startAngle: number, sweepAngle: number): void;
    /**
     * Starts a new figure in the path.
     *
     * @returns {void} Nothing
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Access the first page
     * let page$: PdfPage = document.getPage(0);
     * // Gets the graphics object of the PDF page
     * let graphics$: PdfGraphics = page.graphics;
     * // Create a new pen
     * let pen$: PdfPen = new PdfPen([0, 0, 0], 1);
     * // Create a new brush
     * let brush$: PdfBrush = new PdfBrush([0, 255, 255]);
     * // Create a new PDF path
     * let path$: PdfPath = new PdfPath();
     * // Start a new figure in the path
     * path.startFigure();
     * // Add some path points (optional)
     * path.addLine(50, 50, 100, 50);
     * // Draw the path on the PDF page
     * graphics.drawPath(path, pen, brush);
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    startFigure(): void;
    /**
     * Closes all open figures in the path.
     *
     * @returns {void} Nothing
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Access the first page
     * let page$: PdfPage = document.getPage(0);
     * // Gets the graphics object of the PDF page
     * let graphics$: PdfGraphics = page.graphics;
     * // Create a new pen
     * let pen$: PdfPen = new PdfPen([0, 0, 0], 1);
     * // Create a new brush
     * let brush$: PdfBrush = new PdfBrush([0, 255, 255]);
     * // Create a new PDF path
     * let path$: PdfPath = new PdfPath([[50, 50], [100, 50], [100, 100], [50, 100], [50, 50]], [0, 1, 1, 1, 1]);
     * // Close all open figures
     * path.closeFigure();
     * // Draw the path on the PDF page
     * page.graphics.drawPath(path, pen, brush);
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    closeFigure(): void;
    /**
     * Closes all non-closed figures in the path.
     *
     * @param {number} index The optional index of the figure to close. If not provided, the last figure is closed.
     * @returns {void} Nothing
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Access the first page
     * let page$: PdfPage = document.getPage(0);
     * // Gets the graphics object of the PDF page
     * let graphics$: PdfGraphics = page.graphics;
     * // Create a new pen
     * let pen$: PdfPen = new PdfPen([0, 0, 0], 1);
     * // Create a new brush
     * let brush$: PdfBrush = new PdfBrush([0, 255, 255]);
     * // Create a new PDF path
     * let path$: PdfPath = new PdfPath([[50, 50], [100, 50], [100, 100], [50, 100], [50, 50]], [0, 1, 1, 1, 1]);
     * // Close the figure at index 1
     * path.closeFigure(1);
     * // Draw the path on the PDF page
     * page.graphics.drawPath(path, pen, brush);
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    closeFigure(index: number): void;
    /**
     * Closes all non-closed figures in the path.
     *
     * @returns {void} Nothing
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Access the first page
     * let page$: PdfPage = document.getPage(0);
     * // Gets the graphics object of the PDF page
     * let graphics$: PdfGraphics = page.graphics;
     * // Create a new pen
     * let pen$: PdfPen = new PdfPen([0, 0, 0], 1);
     * // Create a new brush
     * let brush$: PdfBrush = new PdfBrush([0, 255, 255]);
     * // Create a new PDF path
     * let path$: PdfPath = new PdfPath([[50, 50], [100, 50], [100, 100], [50, 100], [50, 50]], [0, 1, 1, 1, 1]);
     * // Close all non-closed figures
     * path.closeAllFigures();
     * // Draw the path on the PDF page
     * page.graphics.drawPath(path, pen, brush);
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    closeAllFigures(): void;
    _getBounds(): number[];
}
//node_modules/@syncfusion/ej2-pdf/src/pdf/core/graphics/pdf-layouter.d.ts
/**
 * Represent the layout format class for pagination
 * // Load an existing PDF document
 * let document$: PdfDocument = new PdfDocument(data);
 * // Access the first page
 * let page$: PdfPage = document.getPage(0);
 * // Create an instance of list item collection by passing the string array
 * let items$: PdfListItemCollection = new PdfListItemCollection(['Excel', 'Power', 'Point', 'Word', 'PDF']);
 * // Create a new PDF ordered list
 * let list$: PdfOrderedList = new PdfOrderedList(items);
 * // Create an instance for PDF layout format
 * let layout$: PdfLayoutFormat = new PdfLayoutFormat();
 * // Set the layout format
 * layout.break = PdfLayoutBreakType.fitPage;
 * layout.layout = pdfLayoutType.paginate;
 * // Draw the items using specified bounds and layout format
 * list.draw(page, 0, 20, layout);
 * // Save the document
 * document.save('output.pdf');
 * // Destroy the document
 * document.destroy();
 * ````
 */
export  class PdfLayoutFormat {
    _boundSet: boolean;
    _paginateBounds: number[];
    _layout: PdfLayoutType;
    _break: PdfLayoutBreakType;
    /**
     * Initializes a new instance of the `PdfLayoutFormat` class.
     *
     * @param {PdfLayoutFormat}  format Format for pagination.
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data);
     * // Access the first page of document
     * let page$: PdfPage = document.getPage(0);
     * // Add the items to list item collection by passing the array of products
     * let items$: PdfListItemCollection = new PdfListItemCollection(['Excel', 'Power', 'Point', 'Word', 'PDF']);
     * // Create an instance of ordered list
     * let list$: PdfOrderedList = new PdfOrderedList(items);
     * // Create an instance for layout format for drawing
     * let layout$: PdfLayoutFormat = new PdfLayoutFormat();
     * // Set the layout format
     * layout.break = PdfLayoutBreakType.fitPage;
     * layout.layout = pdfLayoutType.paginate;
     * // Draw the items using specified bounds and layout format
     * list.draw(page, 0, 20, layout);
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ````
     */
    constructor(format?: PdfLayoutFormat);
    /**
     * Gets the layout type of the page.
     *
     * @returns {PdfLayoutType} The layout type of the page.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data);
     * // Access the first page of the document
     * let page$: PdfPage = document.getPage(0);
     * // Add the items to list item collection by passing the array of products
     * let items$: PdfListItemCollection = new PdfListItemCollection(['Excel', 'Power', 'Point', 'Word', 'PDF']);
     * // Create a ordered list
     * let list$: PdfOrderedList = new PdfOrderedList(items);
     * // Create a layout format for drawing
     * let pageLayout$: PdfLayoutFormat = new PdfLayoutFormat();
     * // Draw the items on the page with specified bounds and layout format
     * list.draw(page, 0, 20, 500, 700, pageLayout);
     * // Retrieve the layout type applied to the page layout format
     * let layoutType$: PdfLayoutType = pageLayout.layout;
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ````
     */
    /**
    * Sets the layout type of the page.
    *
    * @param {PdfLayoutType} value the  layout type of the page.
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data);
    * // Access the first page of the document
    * let page$: PdfPage = document.getPage(0);
    * // Initialize an array of string items
    * // Add the items to list item collection by passing the array of products
    * let items$: PdfListItemCollection = new PdfListItemCollection(['Excel', 'Power', 'Point', 'Word', 'PDF']);
    * // Create a new ordered list
    * let list$: PdfOrderedList = new PdfOrderedList(items);
    * // Create a layout format for drawing
    * let pageLayout$: PdfLayoutFormat = new PdfLayoutFormat();
    * // Set the layout type to paginate for the page layout format
    * pageLayout.layout = PdfLayoutType.paginate;
    * // Draw the items on the page with specified bounds and layout format
    * list.draw(page, 0, 20, 500, 700, pageLayout);
    * // Save the document
    * document.save('output.pdf');
    * // Destroy the document
    * document.destroy();
    * ````
    */
    layout: PdfLayoutType;
    /**
     * Gets the layout break type of the page.
     *
     * @returns {PdfLayoutBreakType} The layout break type of the page.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data);
     * // Access the first page
     * let page$: PdfPage = document.getPage(0);
     * // Define an array of products
     * let products$: string[] = ['Excel', 'Power', 'Point', 'Word', 'PDF'];
     * // Add the items to list item collection by passing the array of products
     * let items$: PdfListItemCollection = new PdfListItemCollection(products);
     * // Create an instance of ordered list
     * let list$: PdfOrderedList = new PdfOrderedList(items);
     * // Create an layout format for drawing
     * let pageLayout$: PdfLayoutFormat = new PdfLayoutFormat();
     * // Draw the items on the page
     * list.draw(page, 0, 20, 500, 700, pageLayout);
     * // Get the layout break type of the list
     * let layoutType$: PdfLayoutBreakType = pageLayout.break;
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ````
     */
    /**
    * Sets the layout break type for the page.
    *
    * @param {PdfLayoutBreakType} value The layout break type to set for the page.
    * ```typescript
    * //Load an existing document
    * let document$: PdfDocument = new PdfDocument(data);
    * // Access the first page
    * let page$: PdfPage = document.getPage(0);
    * // Add the items to list item collection by passing the array of products
    * let items$: PdfListItemCollection = new PdfListItemCollection(['Excel', 'Power', 'Point', 'Word', 'PDF']);
    * // Create a ordered list
    * let list$: PdfOrderedList = new PdfOrderedList(items);
    * // Create an layout format for drawing
    * let pageLayout$: PdfLayoutFormat = new PdfLayoutFormat();
    * // Set the layout break type for the page
    * pageLayout.break = PdfLayoutBreakType.fitPage;
    * // Draw the items on the page
    * list.draw(page, 0, 20, 500, 700, pageLayout);
    * // Save the document
    * document.save('output.pdf');
    * // Destroy the document
    * document.destroy();
    * ````
    */
    break: PdfLayoutBreakType;
    /**
     * Gets the paginate bounds of the page.
     *
     * @returns {number[]} Array containing the paginate bounds.
     * ```typescript
     * // Load the existing document
     * let document$: PdfDocument = new PdfDocument(data);
     * // Access the first page
     * let page$: PdfPage = document.getPage(0);
     * // Add the items to list item collection by passing the array of products
     * let items$: PdfListItemCollection = new PdfListItemCollection(['Excel', 'Power', 'Point', 'Word', 'PDF']);
     * // Create an ordered list
     * let list$: PdfOrderedList = new PdfOrderedList(items);
     * // Create an layout format for drawing
     * let pageLayout$: PdfLayoutFormat = new PdfLayoutFormat();
     * // Draw the items on the page
     * list.draw(page, 0, 20, 500, 700, pageLayout);
     * // Get the paginate bounds
     * let layoutType$: paginateBounds = pageLayout.paginateBounds;
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ````
     */
    /**
    * Sets the paginate bounds for the page.
    *
    * @param {number[]} value Array representing the paginate bounds to set for the page.
    * ```typescript
    * // Load the existing document
    * let document$: PdfDocument = new PdfDocument(data);
    * // Access the first page
    * let page$: PdfPage = document.getPage(0);
    * // Add the items to list item collection by passing the array of products
    * let items$: PdfListItemCollection = new PdfListItemCollection(['Excel', 'Power', 'Point', 'Word', 'PDF']);
    * // Create a ordered list
    * let list$: PdfOrderedList = new PdfOrderedList(items);
    * // Create an layout format for page layout settings
    * let pageLayout$: PdfLayoutFormat = new PdfLayoutFormat();
    * // Set the paginate bounds for the page
    * pageLayout.paginateBounds = [0, 0, 500, 700];
    * // Draw the items on the page
    * list.draw(page, 0, 20, 500, 700, pageLayout);
    * // Save the document
    * document.save('output.pdf');
    * // Destroy the document
    * document.destroy();
    * ````
    */
    paginateBounds: number[];
    /**
     * Gets whether to use paginate bounds for pagination.
     *
     * @returns {boolean} Whether pagination bounds are used.
     * ```typescript
     * // Load the existing document
     * let document$: PdfDocument = new PdfDocument(data);
     * // Access the first page
     * let page$: PdfPage = document.getPage(0);
     * // Add the items to list item collection by passing the array of products
     * let items$: PdfListItemCollection = new PdfListItemCollection(['Excel', 'Power', 'Point', 'Word', 'PDF']);
     * // Create an instance of ordered list
     * let list$: PdfOrderedList = new PdfOrderedList(items);
     * // Create an layout format for drawing
     * let pageLayout$: PdfLayoutFormat = new PdfLayoutFormat();
     * // Draw the items on the page
     * list.draw(page, 0, 20, 500, 700, pageLayout);
     * // Get whether paginate bounds are used
     * let usePaginate:  boolean = pageLayout.usePaginateBounds;
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ````
     */
    readonly usePaginateBounds: boolean;
}
/**
 * Represents a class for layout result in PDF generation.
 * ```typescript
 * // Load an existing document
 * let document$: PdfDocument = new PdfDocument(data);
 * // Access the first page
 * let page$: PdfPage = document.getPage(0);
 * // Add the items to list item collection by passing the array of products
 * let items$: PdfListItemCollection = new PdfListItemCollection(['Excel', 'Power', 'Point', 'Word', 'PDF']);
 * // Create a new ordered list
 * let list$: PdfOrderedList = new PdfOrderedList(items);
 * // Draw the list and access the layout result
 * let result: PdfLayoutResult = list.draw(result.page, result.bounds[0], result.bounds[1], result.bounds[2], result.bounds[3]);
 * // Save the document
 * document.save('output.pdf');
 * // Destroy the document
 * document.destroy();
 * ```
 */
export  class PdfLayoutResult {
    _page: PdfPage;
    _bounds: number[];
    /**
     * Initializes a new instance of the `PdfLayoutResult` class.
     * Remarks: Internal constructor used to create a new instance of a PDF layout result.
     *
     * @param {PdfPage} page The page where the circle annotation is to be placed.
     * @param {number[]} bounds The bounds within which the list has been drawn.
     * ```typescript
     * // Load an existing document
     * let document$: PdfDocument = new PdfDocument(data);
     * // Access the first page
     * let page$: PdfPage = document.getPage(0);
     * // Add the items to list item collection by passing the array of products
     * let items$: PdfListItemCollection = new PdfListItemCollection(['Excel', 'Power', 'Point', 'Word', 'PDF']);
     * // Create a new ordered list
     * let list$: PdfOrderedList = new PdfOrderedList(items);
     * // Draw the list and access the layout result
     * let result: PdfLayoutResult = list.draw(result.page, result.bounds[0], result.bounds[1], result.bounds[2], result.bounds[3]);
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    constructor(page: PdfPage, bounds: number[]);
    /**
     * Gets the page associated with the layout result.
     *
     * @returns {PdfPage} value of the layout result.
     * ```typescript
     * // Load an existing document
     * let document$: PdfDocument = new PdfDocument(data);
     * // Access the first page
     * let page$: PdfPage = document.getPage(0);
     * // Add the items to list item collection by passing the array of products
     * let items$: PdfListItemCollection = new PdfListItemCollection(['Excel', 'Power', 'Point', 'Word', 'PDF']);
     * // Create a new ordered list
     * let list$: PdfOrderedList = new PdfOrderedList(items);
     * // Draw the list and access the layout result
     * let result: PdfLayoutResult = list.draw(result.page, result.bounds[0], result.bounds[1], result.bounds[2], result.bounds[3]);
     * // Access the page from the layout result
     * let resultPage: PdfPage = result.page;
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    readonly Page: PdfPage;
    /**
     * Gets the bounds associated with the layout result.
     *
     * @returns {number[]} The bounds of the layout result.
     * ```typescript
     * // Load an existing document
     * let document$: PdfDocument = new PdfDocument(data);
     * // Access the first page
     * let page$: PdfPage = document.getPage(0);
     * // Add the items to list item collection by passing the array of products
     * let items$: PdfListItemCollection = new PdfListItemCollection(['Excel', 'Power', 'Point', 'Word', 'PDF']);
     * // Create a new ordered list
     * let list$: PdfOrderedList = new PdfOrderedList(items);
     * // Draw the list and access the layout result
     * let result: PdfLayoutResult = list.draw(result.page, result.bounds[0], result.bounds[1], result.bounds[2], result.bounds[3]);
     * // Access the bounds associated with layout result
     * let bounds: number[] = result.bounds;
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    readonly bounds: number[];
}
export  class _PageLayoutResult {
    broken: boolean;
    y: number;
    itemText: string;
    markerText: string;
    markerWrote: boolean;
    markerWidth: number;
    markerX: number;
}
export  class _PdfLayoutParameters {
    _page: PdfPage;
    _bounds: number[];
    _format: PdfLayoutFormat;
    _graphics: PdfGraphics;
}
//node_modules/@syncfusion/ej2-pdf/src/pdf/core/graphics/pdf-graphics.d.ts
/**
 * Represents a graphics from a PDF page.
 * ```typescript
 * // Load an existing PDF document
 * let document$: PdfDocument = new PdfDocument(data, password);
 * // Access first page
 * let page$: PdfPage = document.getPage(0);
 * // Gets the graphics of the PDF page
 * let graphics$: PdfGraphics = page.graphics;
 * //Create a new pen.
 * let pen$: PdfPen = new PdfPen([0, 0, 0], 1);
 * //Draw line on the page graphics.
 * graphics.drawLine(pen, 10, 10, 100, 100);
 * // Save the document
 * document.save('output.pdf');
 * // Destroy the document
 * document.destroy();
 * ```
 */
export  class PdfGraphics {
    _source: _PdfDictionary;
    _sw: _PdfStreamWriter;
    _cropBox: Array<number>;
    _mediaBoxUpperRightBound: number;
    _m: _PdfTransformationMatrix;
    _characterSpacing: number;
    _wordSpacing: number;
    _textScaling: number;
    _textRenderingMode: _TextRenderingMode;
    _graphicsState: PdfGraphicsState[];
    _size: number[];
    _clipBounds: number[];
    _resourceObject: _PdfDictionary;
    _resourceMap: Map<_PdfReference, _PdfName>;
    _crossReference: _PdfCrossReference;
    _transparencies: Map<_TransparencyData, string>;
    _hasResourceReference: boolean;
    _currentPen: PdfPen;
    _currentBrush: PdfBrush;
    _currentFont: any;
    _colorSpaceInitialized: boolean;
    _startCutIndex: number;
    _page: PdfPage;
    _template: PdfTemplate;
    _isTemplateGraphics: boolean;
    _state: PdfGraphicsState;
    _pendingResource: any[];
    _isItalic: boolean;
    _isEmptyLayer: boolean;
    _layer: PdfLayer;
    /**
     * Initializes a new instance of the `PdfGraphics` class.
     *
     * @param {number[]} size The graphics client size.
     * @param {_PdfContentStream} content Content stream.
     * @param {_PdfCrossReference} xref Cross reference.
     * @param {PdfPage | PdfTemplate} source Source object of the graphics.
     * @private
     */
    constructor(size: number[], content: _PdfContentStream, xref: _PdfCrossReference, source: PdfPage | PdfTemplate);
    /**
     * Gets the size of the canvas reduced by margins and page templates (Read only).
     *
     * @returns {number[]} The width and height of the client area as number array.
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data);
     * // Access first page
     * let page$: PdfPage = document.getPage(0);
     * // Gets the graphics client size.
     * let size$: number[] = page.graphics.clientSize;
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    readonly clientSize: number[];
    readonly _matrix: _PdfTransformationMatrix;
    readonly _resources: Map<_PdfReference, _PdfName>;
    /**
     * Save the current graphics state.
     *
     * @returns {PdfGraphicsState} graphics state.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Access first page
     * let page$: PdfPage = document.getPage(0);
     * // Gets the graphics of the PDF page
     * let graphics$: PdfGraphics = page.graphics;
     * // Create a new font
     * let font$: PdfFont = new PdfStandardFont(PdfFontFamily.Helvetica, 20);
     * // Save the graphics
     * let state: PdfGraphicsState = graphics.save();
     * //Set graphics translate transform.
     * graphics.translateTransform(100, 100);
     * //Draws the String.
     * graphics.drawString("Hello world!", font, [10, 20, 100, 200], undefined, new PdfBrush([0, 0, 255]));
     * //Restore the graphics.
     * graphics.restore(state);
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    save(): PdfGraphicsState;
    /**
     * Restore the graphics state.
     *
     * @param {PdfGraphicsState} state graphics state.
     * @returns {void} restore of the graphics state.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Access first page
     * let page$: PdfPage = document.getPage(0);
     * // Gets the graphics of the PDF page
     * let graphics$: PdfGraphics = page.graphics;
     * // Create a new font
     * let font$: PdfFont = new PdfStandardFont(PdfFontFamily.Helvetica, 20);
     * // Save the graphics
     * let state: PdfGraphicsState = graphics.save();
     * //Set graphics translate transform.
     * graphics.translateTransform(100, 100);
     * //Draws the String.
     * graphics.drawString("Hello world!", font, [10, 20, 100, 200], undefined, new PdfBrush([0, 0, 255]));
     * //Restore the graphics.
     * graphics.restore(state);
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    restore(state?: PdfGraphicsState): void;
    _doRestore(): PdfGraphicsState;
    /**
     * Draw a rectangle on the page graphics.
     *
     * @param {number} x The x-coordinate of the upper-left corner of the rectangular region.
     * @param {number} y The y-coordinate of the upper-left corner of the rectangular region.
     * @param {number} width The width of the rectangular region.
     * @param {number} height The height of the rectangular region.
     * @param {PdfPen} pen Pen that determines the stroke color, width, and style of the rectangle.
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Access first page
     * let page$: PdfPage = document.getPage(0);
     * // Gets the graphics of the PDF page
     * let graphics$: PdfGraphics = page.graphics;
     * // Create a new pen.
     * let pen$: PdfPen = new PdfPen([0, 0, 0], 1);
     * // Draw a rectangle on the page graphics.
     * graphics.drawRectangle(10, 20, 100, 200, pen);
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    drawRectangle(x: number, y: number, width: number, height: number, pen: PdfPen): void;
    /**
     * Draw a rectangle on the page graphics.
     *
     * @param {number} x The x-coordinate of the upper-left corner of the rectangular region.
     * @param {number} y The y-coordinate of the upper-left corner of the rectangular region.
     * @param {number} width The width of the rectangular region.
     * @param {number} height The height of the rectangular region.
     * @param {PdfBrush} brush Brush that determines the fill color and texture of the rectangle.
     * @returns {void} Nothing
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Access the first page
     * let page$: PdfPage = document.getPage(0);
     * // Gets the graphics of the PDF page
     * let graphics$: PdfGraphics = page.graphics;
     * // Create a new brush.
     * let brush$: PdfBrush = new PdfBrush([0, 0, 255]);
     * // Draw a filled rectangle on the page graphics.
     * graphics.drawRectangle(10, 20, 100, 200, brush);
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    drawRectangle(x: number, y: number, width: number, height: number, brush: PdfBrush): void;
    /**
     * Draw a rectangle on the page graphics.
     *
     * @param {number} x The x-coordinate of the upper-left corner of the rectangular region.
     * @param {number} y The y-coordinate of the upper-left corner of the rectangular region.
     * @param {number} width The width of the rectangular region.
     * @param {number} height The height of the rectangular region.
     * @param {PdfPen} pen Pen that determines the stroke color, width, and style of the rectangle.
     * @param {PdfBrush} brush Brush that determines the fill color and texture of the rectangle.
     * @returns {void} Nothing
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Access the first page
     * let page$: PdfPage = document.getPage(0);
     * // Gets the graphics of the PDF page
     * let graphics$: PdfGraphics = page.graphics;
     * // Create a new pen.
     * let pen$: PdfPen = new PdfPen([0, 0, 0], 1);
     * // Create a new brush.
     * let brush$: PdfBrush = new PdfBrush([0, 0, 255]);
     * // Draw a rectangle with both stroke and fill on the page graphics.
     * graphics.drawRectangle(10, 20, 100, 200, pen, brush);
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    drawRectangle(x: number, y: number, width: number, height: number, pen: PdfPen, brush: PdfBrush): void;
    /**
     * Draws a Bezier curve using a specified pen and coordinates for the start point, two control points, and end point.
     *
     * @param {number} startX The x-coordinate of the starting point of the Bezier curve.
     * @param {number} startY The y-coordinate of the starting point of the Bezier curve.
     * @param {number} firstX The x-coordinate of the first control point of the Bezier curve.
     * @param {number} firstY The y-coordinate of the first control point of the Bezier curve.
     * @param {number} secondX The x-coordinate of the second control point of the Bezier curve.
     * @param {number} secondY The y-coordinate of the second control point of the Bezier curve.
     * @param {number} endX The x-coordinate of the ending point of the Bezier curve.
     * @param {number} endY The y-coordinate of the ending point of the Bezier curve.
     * @param {PdfPen} pen The pen that determines the stroke color, width, and style of the Bezier curve.
     * @returns {void} Nothing
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Access the first page
     * let page$: PdfPage = document.getPage(0);
     * // Gets the graphics of the PDF page
     * let graphics$: PdfGraphics = page.graphics;
     * // Create a new pen
     * let pen$: PdfPen = new PdfPen([0, 0, 0], 1);
     * // Draw a Bezier curve on the page graphics
     * graphics.drawBezier(50, 100, 200, 50, 100, 150, 150, 100, pen);
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    drawBezier(startX: number, startY: number, firstX: number, firstY: number, secondX: number, secondY: number, endX: number, endY: number, pen: PdfPen): void;
    /**
     * Draws a pie slice on a PDF graphics.
     *
     * @param {number} x The x-coordinate of the upper-left corner of the bounding rectangle.
     * @param {number} y The y-coordinate of the upper-left corner of the bounding rectangle.
     * @param {number} width The width of the bounding rectangle.
     * @param {number} height The height of the bounding rectangle.
     * @param {number} startAngle The angle in degrees measured clockwise from the x-axis to the start of the pie slice.
     * @param {number} sweepAngle The angle in degrees measured clockwise from the startAngle to the end of the pie slice.
     * @param {PdfPen} pen The pen that determines the stroke color, width, and style of the pie slice.
     * @returns {void} Nothing
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Access the first page
     * let page$: PdfPage = document.getPage(0);
     * // Gets the graphics of the PDF page
     * let graphics$: PdfGraphics = page.graphics;
     * // Create a new pen
     * let pen$: PdfPen = new PdfPen([0, 0, 0], 1);
     * // Draw a pie slice on the page graphics
     * graphics.drawPie(10, 50, 200, 200, 180, 60, pen);
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    drawPie(x: number, y: number, width: number, height: number, startAngle: number, sweepAngle: number, pen: PdfPen): void;
    /**
     * Draws a pie slice on PDF graphics.
     *
     * @param {number} x The x-coordinate of the upper-left corner of the bounding rectangle.
     * @param {number} y The y-coordinate of the upper-left corner of the bounding rectangle.
     * @param {number} width The width of the bounding rectangle.
     * @param {number} height The height of the bounding rectangle.
     * @param {number} startAngle The angle in degrees, measured clockwise from the x-axis to the start of the pie slice.
     * @param {number} sweepAngle The angle in degrees, measured clockwise from the startAngle to the end of the pie slice.
     * @param {PdfBrush} brush The brush that determines the fill color and texture of the pie slice.
     * @returns {void} Nothing
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Access the first page
     * let page$: PdfPage = document.getPage(0);
     * // Gets the graphics of the PDF page
     * let graphics$: PdfGraphics = page.graphics;
     * // Create a new brush
     * let brush$: PdfBrush = new PdfBrush([0, 255, 255]);
     * // Draw a pie slice on the page graphics
     * graphics.drawPie(10, 50, 200, 200, 180, 60, brush);
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    drawPie(x: number, y: number, width: number, height: number, startAngle: number, sweepAngle: number, brush: PdfBrush): void;
    /**
     * Draws a pie slice on PDF graphics.
     *
     * @param {number} x The x-coordinate of the upper-left corner of the bounding rectangle.
     * @param {number} y The y-coordinate of the upper-left corner of the bounding rectangle.
     * @param {number} width The width of the bounding rectangle.
     * @param {number} height The height of the bounding rectangle.
     * @param {number} startAngle The angle in degrees, measured clockwise from the x-axis to the start of the pie slice.
     * @param {number} sweepAngle The angle in degrees, measured clockwise from the startAngle to the end of the pie slice.
     * @param {PdfPen} pen The pen that determines the stroke color, width, and style of the pie slice.
     * @param {PdfBrush} brush The brush that determines the fill color and texture of the pie slice.
     * @returns {void} Nothing
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Access the first page
     * let page$: PdfPage = document.getPage(0);
     * // Gets the graphics of the PDF page
     * let graphics$: PdfGraphics = page.graphics;
     * // Create a new brush
     * let brush$: PdfBrush = new PdfBrush([0, 255, 255]);
     * // Create a new pen
     * let pen$: PdfPen = new PdfPen([0, 0, 0], 1);
     * // Draw a pie slice on the page graphics
     * graphics.drawPie(10, 50, 200, 200, 180, 60, pen, brush);
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    drawPie(x: number, y: number, width: number, height: number, startAngle: number, sweepAngle: number, pen: PdfPen, brush: PdfBrush): void;
    /**
     * Draw polygon on the page graphics.
     *
     * @param {Array<number[]>} points The points of the polygon.
     * @param {PdfPen} pen Pen that determines the stroke color, width, and style of the polygon.
     * @returns {void} Nothing.
     *
     *  ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Access the first page
     * let page$: PdfPage = document.getPage(0);
     * // Get the graphics of the PDF page
     * let graphics$: PdfGraphics = page.graphics;
     * // Create a new pen
     * let pen$: PdfPen = new PdfPen([0, 0, 0], 1);
     * // Define the polygon points
     * let points: number[][] = [[10, 100], [10, 200], [100, 100], [100, 200], [55, 150]];
     * // Draw the polygon on the page graphics
     * graphics.drawPolygon(points, pen);
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    drawPolygon(points: Array<number[]>, pen: PdfPen): void;
    /**
     * Draw polygon on the page graphics.
     *
     * @param {Array<number[]>} points The points of the polygon.
     * @param {PdfBrush} brush Brush that determines the fill color and texture of the polygon.
     * @returns {void} Nothing
     *
     *```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Access the first page
     * let page$: PdfPage = document.getPage(0);
     * // Gets the graphics of the PDF page
     * let graphics$: PdfGraphics = page.graphics;
     * // Create a new brush
     * let brush$: PdfBrush = new PdfBrush([0, 255, 255]);
     * // Define the polygon points
     * let points: number[][] = [[10, 100], [10, 200], [100, 100], [100, 200], [55, 150]];
     * // Draw the polygon on the page graphics
     * graphics.drawPolygon(points, brush);
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    drawPolygon(points: Array<number[]>, brush: PdfBrush): void;
    /**
     * Draw polygon on the page graphics.
     *
     * @param {Array<number[]>} points The points of the polygon.
     * @param {PdfPen} pen Pen that determines the stroke color, width, and style of the polygon.
     * @param {PdfBrush} brush Brush that determines the fill color and texture of the polygon.
     * @returns {void} Nothing.
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Access the first page
     * let page$: PdfPage = document.getPage(0);
     * // Gets the graphics of the PDF page
     * let graphics$: PdfGraphics = page.graphics;
     * // Create a new pen
     * let pen$: PdfPen = new PdfPen([0, 0, 0], 1);
     * // Create a new brush
     * let brush$: PdfBrush = new PdfBrush([0, 255, 255]);
     * // Define the polygon points
     * let points: number[][] = [[10, 100], [10, 200], [100, 100], [100, 200], [55, 150]];
     * // Draw the polygon on the page graphics
     * graphics.drawPolygon(points, pen, brush);
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    drawPolygon(points: Array<number[]>, pen: PdfPen, brush: PdfBrush): void;
    /**
     * Draw ellipse on the page graphics.
     *
     * @param {number} x The x-coordinate of the upper-left corner of the bounding rectangle that defines the ellipse.
     * @param {number} y The y-coordinate of the upper-left corner of the bounding rectangle that defines ellipse.
     * @param {number} width The width of the bounding rectangle that defines ellipse.
     * @param {number} height The height of the bounding rectangle that defines ellipse.
     * @param {PdfPen} pen Pen that determines the stroke color, width, and style of the ellipse.
     * @returns {void} Nothing.
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Access the first page
     * let page$: PdfPage = document.getPage(0);
     * // Gets the graphics of the PDF page
     * let graphics$: PdfGraphics = page.graphics;
     * // Create a new pen
     * let pen$: PdfPen = new PdfPen([0, 0, 0], 1);
     * // Draw an ellipse on the page graphics
     * graphics.drawEllipse(10, 20, 100, 200, pen);
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    drawEllipse(x: number, y: number, width: number, height: number, pen: PdfPen): void;
    /**
     * Draw ellipse on the page graphics.
     *
     * @param {number} x The x-coordinate of the upper-left corner of the bounding rectangle that defines the ellipse.
     * @param {number} y The y-coordinate of the upper-left corner of the bounding rectangle that defines the ellipse.
     * @param {number} width The width of the bounding rectangle that defines ellipse.
     * @param {number} height The height of the bounding rectangle that defines ellipse.
     * @param {PdfBrush} brush Brush that determines the fill color and texture of the ellipse.
     * @returns {void} Nothing.
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Access the first page
     * let page$: PdfPage = document.getPage(0);
     * // Gets the graphics of the PDF page
     * let graphics$: PdfGraphics = page.graphics;
     * // Create a new brush
     * let brush$: PdfBrush = new PdfBrush([0, 255, 255]);
     * // Draw an ellipse on the page graphics
     * graphics.drawEllipse(10, 20, 100, 200, brush);
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    drawEllipse(x: number, y: number, width: number, height: number, brush: PdfBrush): void;
    /**
     * Draw ellipse on the page graphics.
     *
     * @param {number} x The x-coordinate of the upper-left corner of the bounding rectangle that defines the ellipse.
     * @param {number} y The y-coordinate of the upper-left corner of the bounding rectangle that defines the ellipse.
     * @param {number} width The width of the bounding rectangle that defines ellipse.
     * @param {number} height The height of the bounding rectangle that defines ellipse.
     * @param {PdfPen} pen Pen that determines the stroke color, width, and style of the ellipse.
     * @param {PdfBrush} brush Brush that determines the fill color and texture of the ellipse.
     * @returns {void} Nothing.
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Access the first page
     * let page$: PdfPage = document.getPage(0);
     * // Gets the graphics of the PDF page
     * let graphics$: PdfGraphics = page.graphics;
     * // Create a new pen
     * let pen$: PdfPen = new PdfPen([0, 0, 0], 1);
     * // Create a new brush
     * let brush$: PdfBrush = new PdfBrush([0, 255, 255]);
     * // Draw an ellipse on the page graphics
     * graphics.drawEllipse(10, 20, 100, 200, pen, brush);
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    drawEllipse(x: number, y: number, width: number, height: number, pen: PdfPen, brush: PdfBrush): void;
    /**
     * Draw arc on the page graphics.
     *
     * @param {number} x The x-coordinate of the upper-left corner of the bounding rectangle that defines the ellipse from which the arc shape comes.
     * @param {number} y The y-coordinate of the upper-left corner of the bounding rectangle that defines the ellipse from which the arc shape comes.
     * @param {number} width Width of the bounding rectangle that defines the ellipse from which the arc shape comes.
     * @param {number} height Height of the bounding rectangle that defines the ellipse from which the arc shape comes.
     * @param {number} startAngle Angle measured in degrees clockwise from the x-axis to the first side of the arc shape.
     * @param {number} sweepAngle Angle measured in degrees clockwise from the startAngle parameter to the second side of the arc shape.
     * @param {PdfPen} pen Pen that determines the stroke color, width, and style of the arc.
     * @returns {void} Nothing.
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Access the first page
     * let page$: PdfPage = document.getPage(0);
     * // Gets the graphics of the PDF page
     * let graphics$: PdfGraphics = page.graphics;
     * // Create a new pen
     * let pen$: PdfPen = new PdfPen([0, 0, 0], 1);
     * // Draw an arc on the page graphics
     * graphics.drawArc(10, 20, 100, 200, 20, 30, pen);
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    drawArc(x: number, y: number, width: number, height: number, startAngle: number, sweepAngle: number, pen: PdfPen): void;
    private _beginMarkContent;
    private _endMarkContent;
    /**
     * Draws an image on the page graphics.
     *
     * @param {PdfImage} image The image to be drawn on the page.
     * @param {number} x The x-coordinate of the upper-left corner where the image will be drawn.
     * @param {number} y The y-coordinate of the upper-left corner where the image will be drawn.
     * @returns {void} Nothing.
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Access the first page
     * let page$: PdfPage = document.getPage(0);
     * // Gets the graphics of the PDF page
     * let graphics$: PdfGraphics = page.graphics;
     * // Create a new image object using JPEG image data as a Base64 string
     * let image$: PdfImage = new PdfBitmap('/9j/4AAQSkZJRgABAQEAkACQAAD/4....QB//Z');
     * // Draw the image on the page graphics
     * graphics.drawImage(image, 10, 20);
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    drawImage(image: PdfImage, x: number, y: number): void;
    /**
     * Draws an image on the page graphics.
     *
     * @param {PdfImage} image The image to be drawn on the page.
     * @param {number} x The x-coordinate of the upper-left corner where the image will be drawn.
     * @param {number} y The y-coordinate of the upper-left corner where the image will be drawn.
     * @param {number} width The width of the image to be drawn.
     * @param {number} height The height of the image to be drawn.
     * @returns {void} Nothing.
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Access the first page
     * let page$: PdfPage = document.getPage(0);
     * // Gets the graphics of the PDF page
     * let graphics$: PdfGraphics = page.graphics;
     * // Create a new image object using JPEG image data as a Base64 string
     * let image$: PdfImage = new PdfBitmap('/9j/4AAQSkZJRgABAQEAkACQAAD/4....QB//Z');
     * // Draw the image on the page graphics with specified width and height
     * graphics.drawImage(image, 10, 20, 400, 400);
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    drawImage(image: PdfImage, x: number, y: number, width: number, height: number): void;
    /**
     * Draws a PDF template onto the page graphics.
     *
     * @param {PdfTemplate} template The PDF template to be drawn.
     * @param {{x: number, y: number, width: number, height: number}} bounds The bounds of the template.
     * @param {number} bounds.x The x-coordinate of the upper-left corner where the template will be drawn.
     * @param {number} bounds.y The y-coordinate of the upper-left corner where the template will be drawn.
     * @param {number} bounds.width The width of the area where the template will be drawn.
     * @param {number} bounds.height The height of the area where the template will be drawn.
     * @returns {void} Nothing.
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Access the first page
     * let page$: PdfPage = document.getPage(0);
     * // Get the first annotation of the page
     * let annotation$: PdfRubberStampAnnotation = page.annotations.at(0) as PdfRubberStampAnnotation;
     * // Get the appearance template of the annotation
     * let template$: PdfTemplate = annotation.createTemplate();
     * // Get the graphics of the PDF page
     * let graphics$: PdfGraphics = page.graphics;
     * // Draw the template on the page graphics within the specified bounds
     * graphics.drawTemplate(template, { x: 10, y: 20, width: template.size[0], height: template.size[1] });
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    drawTemplate(template: PdfTemplate, bounds: {
        x: number;
        y: number;
        width: number;
        height: number;
    }): void;
    _processResources(crossReference: _PdfCrossReference): void;
    _updateImageResource(image: PdfImage, keyName: _PdfName, source: _PdfDictionary, crossReference: _PdfCrossReference): void;
    _updateFontResource(font: PdfFont, keyName: _PdfName, source: _PdfDictionary, crossReference: _PdfCrossReference): void;
    /**
     * Draws a graphics path defined by a pen and path.
     *
     * @param {PdfPath} path The path to be drawn.
     * @param {PdfPen} pen The pen that determines the stroke color, width, and style of the path.
     * @returns {void} Nothing.
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Access the first page
     * let page$: PdfPage = document.getPage(0);
     * // Create a new path
     * let path$: PdfPath = new PdfPath();
     * // Gets the graphics of the PDF page
     * let graphics$: PdfGraphics = page.graphics;
     * // Create a new pen
     * let pen$: PdfPen = new PdfPen([0, 0, 0], 1);
     * // Add lines to the path
     * path.addLine(10, 100, 50, 100);
     * path.addLine(50, 100, 50, 150);
     * path.addLine(50, 150, 10, 100);
     * // Draw the path on the page graphics
     * graphics.drawPath(path, pen);
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    drawPath(path: PdfPath, pen: PdfPen): void;
    /**
     * Draws a graphics path defined by a brush and path.
     *
     * @param {PdfPath} path The path to be drawn.
     * @param {PdfBrush} brush The brush that determines the fill color and texture of the path.
     * @returns {void} Nothing.
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Access the first page
     * let page$: PdfPage = document.getPage(0);
     * // Create a new path
     * let path$: PdfPath = new PdfPath();
     * // Gets the graphics of the PDF page
     * let graphics$: PdfGraphics = page.graphics;
     * // Create a new brush
     * let brush$: PdfBrush = new PdfBrush([0, 255, 255]);
     * // Add an ellipse to the path
     * path.addEllipse(200, 200, 100, 50);
     * // Draw the path on the page graphics
     * graphics.drawPath(path, brush);
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    drawPath(path: PdfPath, brush: PdfBrush): void;
    /**
     * Draws a graphics path defined by a pen, brush, and path.
     *
     * @param {PdfPath} path The path to be drawn.
     * @param {PdfPen} pen The pen that determines the stroke color, width, and style of the path.
     * @param {PdfBrush} brush The brush that determines the fill color and texture of the path.
     * @returns {void} Nothing.
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Access the first page
     * let page$: PdfPage = document.getPage(0);
     * // Create a new path
     * let path$: PdfPath = new PdfPath();
     * // Gets the graphics of the PDF page
     * let graphics$: PdfGraphics = page.graphics;
     * // Create a new pen
     * let pen$: PdfPen = new PdfPen([0, 0, 0], 1);
     * // Create a new brush
     * let brush$: PdfBrush = new PdfBrush([0, 255, 255]);
     * // Add an ellipse to the path
     * path.addEllipse(200, 200, 100, 50);
     * // Draw the path on the page graphics with both pen and brush
     * graphics.drawPath(path, pen, brush);
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    drawPath(path: PdfPath, pen: PdfPen, brush: PdfBrush): void;
    /**
     * Draws a rounded rectangle on the page graphics.
     *
     * @param {number} x The x-coordinate of the upper-left corner of the rounded rectangle.
     * @param {number} y The y-coordinate of the upper-left corner of the rounded rectangle.
     * @param {number} width The width of the rounded rectangle.
     * @param {number} height The height of the rounded rectangle.
     * @param {number} radius The radius of the rounded corners of the rectangle.
     * @param {PdfPen} pen The pen that determines the stroke color, width, and style of the rectangle.
     * @param {PdfBrush} brush The brush that determines the fill color and texture of the rectangle.
     * @returns {void} Nothing.
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Access the first page
     * let page$: PdfPage = document.getPage(0);
     * // Gets the graphics of the PDF page
     * let graphics$: PdfGraphics = page.graphics;
     * // Create a new pen
     * let pen$: PdfPen = new PdfPen([0, 0, 0], 1);
     * // Create a new brush
     * let brush$: PdfBrush = new PdfBrush([0, 0, 255]);
     * // Draw a rounded rectangle on the page graphics
     * graphics.drawRoundedRectangle(10, 20, 100, 200, 5, pen, brush);
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    drawRoundedRectangle(x: number, y: number, width: number, height: number, radius: number, pen: PdfPen, brush: PdfBrush): void;
    _constructArcPath(x1: number, y1: number, x2: number, y2: number, start: number, sweep: number): void;
    _constructPiePath(x1: number, y1: number, x2: number, y2: number, start: number, sweep: number): void;
    _writePen(pen: PdfPen): void;
    /**
     * Draw text on the page graphics.
     *
     * @param {string} value The string to be drawn.
     * @param {PdfFont} font The font used to draw the string.
     * @param {number[]} bounds An array specifying the bounds [x, y, width, height] where the string will be drawn.
     * @param {PdfPen} pen The pen that determines the stroke color, width, and style of the string.
     * @param {PdfBrush} brush The brush that determines the fill color and texture of the string.
     * @param {PdfStringFormat} format The format that specifies text layout information such as alignment, line spacing, and trimming.
     * @returns {void} Nothing.
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Access the first page
     * let page$: PdfPage = document.getPage(0);
     * // Gets the graphics of the PDF page
     * let graphics$: PdfGraphics = page.graphics;
     * // Create a new pen
     * let pen$: PdfPen = new PdfPen([0, 0, 0], 1);
     * // Create a new font
     * let font$: PdfStandardFont = new PdfStandardFont(PdfFontFamily.helvetica, 12);
     * // Create a new string format
     * let format$: PdfStringFormat = new PdfStringFormat();
     * format.alignment = PdfTextAlignment.center;
     * // Draw text on the page graphics
     * graphics.drawString('Hello World', font, [10, 20, 100, 200], pen, new PdfBrush([0, 0, 255]), format);
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    drawString(value: string, font: PdfFont, bounds: number[], pen?: PdfPen, brush?: PdfBrush, format?: PdfStringFormat): void;
    _normalizeText(font: PdfFont, value: string): string;
    _buildUpPath(points: Array<number[]>, types: PathPointType[]): void;
    _getBezierPoint(points: Array<number[]>, types: PathPointType[], index: number): {
        index: number;
        point: number[];
    };
    _initialize(): void;
    _initializeCurrentColorSpace(): void;
    _brushControl(brush: PdfBrush): void;
    _penControl(pen: PdfPen): void;
    _fontControl(font: PdfFont, format: PdfStringFormat): void;
    _setPenBrush(first?: PdfPen | PdfBrush, second?: PdfBrush): {
        pen: PdfPen;
        brush: PdfBrush;
    };
    _stateControl(pen?: PdfPen, brush?: PdfBrush, font?: PdfFont, format?: PdfStringFormat): void;
    _drawStringLayoutResult(result: _PdfStringLayoutResult, font: PdfFont, pen: PdfPen, brush: PdfBrush, layoutRectangle: number[], format: PdfStringFormat): void;
    _getNextPage(): PdfPage;
    _applyStringSettings(font: PdfFont, pen: PdfPen, brush: PdfBrush, format: PdfStringFormat): void;
    _drawLayoutResult(result: _PdfStringLayoutResult, font: PdfFont, format: PdfStringFormat, layoutRectangle: number[]): void;
    _drawUnicodeLine(lineInfo: _LineInfo, width: number, font: PdfFont, format: PdfStringFormat): void;
    _drawUnicodeBlocks(blocks: string[], words: string[], font: PdfTrueTypeFont, format: PdfStringFormat, wordSpacing: number): void;
    _breakUnicodeLine(line: string, ttfFont: PdfTrueTypeFont, words: string[]): {
        tokens: string[];
        words: string[];
    };
    _convertToUnicode(text: string, ttfFont: PdfTrueTypeFont): string;
    _getTextVerticalAlignShift(textHeight: number, boundsHeight: number, format: PdfStringFormat): number;
    _getHorizontalAlignShift(lineWidth: number, boundsWidth: number, format: PdfStringFormat): number;
    _getLineIndent(lineInfo: _LineInfo, format: PdfStringFormat, width: number, firstLine: boolean): number;
    _drawAsciiLine(lineInfo: _LineInfo, width: number, format: PdfStringFormat, font: PdfFont): void;
    _justifyLine(lineInfo: _LineInfo, boundsWidth: number, format: PdfStringFormat, font: PdfFont): number;
    _shouldJustify(lineInfo: _LineInfo, boundsWidth: number, format: PdfStringFormat, font: PdfFont): boolean;
    _underlineStrikeoutText(brush: PdfBrush, result: _PdfStringLayoutResult, font: PdfFont, layoutRectangle: number[], format: PdfStringFormat): void;
    /**
     * Draws a line on the page graphics.
     *
     * @param {PdfPen} pen The pen that determines the stroke color, width, and style of the line.
     * @param {number} x1 The x-coordinate of the starting point of the line.
     * @param {number} y1 The y-coordinate of the starting point of the line.
     * @param {number} x2 The x-coordinate of the ending point of the line.
     * @param {number} y2 The y-coordinate of the ending point of the line.
     * @returns {void} Nothing.
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Access the first page
     * let page$: PdfPage = document.getPage(0);
     * // Gets the graphics of the PDF page
     * let graphics$: PdfGraphics = page.graphics;
     * // Create a new pen
     * let pen$: PdfPen = new PdfPen([0, 0, 0], 1);
     * // Draw a line on the page graphics
     * graphics.drawLine(pen, 10, 10, 100, 100);
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    drawLine(pen: PdfPen, x1: number, y1: number, x2: number, y2: number): void;
    _createUnderlineStrikeoutPen(brush: PdfBrush, font: PdfFont): PdfPen;
    _checkCorrectLayoutRectangle(textSize: number[], x: number, y: number, format: PdfStringFormat): number[];
    _drawGraphicsPath(pen?: PdfPen, brush?: PdfBrush, fillMode?: PdfFillMode, needClosing?: boolean): void;
    _initializeCoordinates(page?: PdfPage): void;
    /**
     * Represents a scale transform of the graphics.
     *
     * @param {number} scaleX Scale factor in the x direction.
     * @param {number} scaleY Scale factor in the y direction.
     * @returns {void} Nothing.
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Access the first page
     * let page$: PdfPage = document.getPage(0);
     * // Gets the graphics of the PDF page
     * let graphics$: PdfGraphics = page.graphics;
     * // Create a new font
     * let font$: PdfFont = new PdfStandardFont(PdfFontFamily.Helvetica, 20);
     * // Save the current graphics state
     * let state: PdfGraphicsState = graphics.save();
     * // Apply scale transform
     * graphics.scaleTransform(0.5, 0.5);
     * // Draw a string with the scaled transformation
     * graphics.drawString("Hello world!", font, [10, 20, 100, 200], undefined, new PdfBrush([0, 0, 255]));
     * // Restore the graphics to its previous state
     * graphics.restore(state);
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    scaleTransform(scaleX: number, scaleY: number): void;
    /**
     * Represents a translate transform of the graphics.
     *
     * @param {number} x x-coordinate of the translation.
     * @param {number} y y-coordinate of the translation.
     * @returns {void} Nothing.
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Access the first page
     * let page$: PdfPage = document.getPage(0);
     * // Gets the graphics of the PDF page
     * let graphics$: PdfGraphics = page.graphics;
     * // Create a new font
     * let font$: PdfFont = new PdfStandardFont(PdfFontFamily.Helvetica, 20);
     * // Save the current graphics state
     * let state: PdfGraphicsState = graphics.save();
     * // Apply translate transform
     * graphics.translateTransform(100, 100);
     * // Draw a string with the translation applied
     * graphics.drawString("Hello world!", font, [10, 20, 100, 200], undefined, new PdfBrush([0, 0, 255]));
     * // Restore the graphics to its previous state
     * graphics.restore(state);
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    translateTransform(x: number, y: number): void;
    /**
     * Represents a rotate transform of the graphics.
     *
     * @param {number} angle Angle of rotation in degrees.
     * @returns {void} Nothing.
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Access the first page
     * let page$: PdfPage = document.getPage(0);
     * // Gets the graphics of the PDF page
     * let graphics$: PdfGraphics = page.graphics;
     * // Create a new font
     * let font$: PdfFont = new PdfStandardFont(PdfFontFamily.Helvetica, 20);
     * // Save the current graphics state
     * let state: PdfGraphicsState = graphics.save();
     * // Apply rotate transform
     * graphics.rotateTransform(-90);
     * // Draw a string with the rotation applied
     * graphics.drawString("Hello world!", font, [10, 20, 100, 200], undefined, new PdfBrush([0, 0, 255]));
     * // Restore the graphics to its previous state
     * graphics.restore(state);
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    rotateTransform(angle: number): void;
    /**
     * Represents a clipping region of this graphics.
     *
     * @param {number[]} bounds Rectangle structure that represents the new clip region, specified as [x, y, width, height].
     * @param {PdfFillMode} mode Member of the PdfFillMode enumeration that specifies the filling operation to use.
     * @returns {void} Nothing.
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Access the first page
     * let page$: PdfPage = document.getPage(0);
     * // Gets the graphics of the PDF page
     * let graphics$: PdfGraphics = page.graphics;
     * // Create a new font
     * let font$: PdfFont = new PdfStandardFont(PdfFontFamily.Helvetica, 20);
     * // Set clipping region
     * graphics.setClip([0, 0, 50, 12], PdfFillMode.alternate);
     * // Draw a string within the clipping region
     * graphics.drawString("Hello world!", font, [0, 0, 100, 200], undefined, new PdfBrush([0, 0, 255]));
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    setClip(bounds: number[], mode?: PdfFillMode): void;
    /**
     * Represents a transparency of this graphics.
     *
     * @param {number} stroke The transparency value for the stroke.
     * @returns {void} Nothing.
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Access the first page
     * let page$: PdfPage = document.getPage(0);
     * // Gets the graphics of the PDF page
     * let graphics$: PdfGraphics = page.graphics;
     * // Create a new font
     * let font$: PdfFont = new PdfStandardFont(PdfFontFamily.Helvetica, 20);
     * // Set transparency
     * graphics.setTransparency(0.5);
     * // Draw a string with transparency
     * graphics.drawString("Hello world!", font, [0, 0, 100, 200], undefined, new PdfBrush([0, 0, 255]));
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    setTransparency(stroke: number): void;
    /**
     * Represents a transparency setting for the graphics.
     *
     * @param {number} stroke The transparency value for strokes.
     * @param {number} fill The transparency value for fills.
     * @param {PdfBlendMode} mode The blend mode to use.
     * @returns {void} Nothing.
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Access the first page
     * let page$: PdfPage = document.getPage(0);
     * // Gets the graphics of the PDF page
     * let graphics$: PdfGraphics = page.graphics;
     * // Create a new font
     * let font$: PdfFont = new PdfStandardFont(PdfFontFamily.Helvetica, 20);
     * // Set transparency
     * graphics.setTransparency(0.5, 0.5, PdfBlendMode.multiply);
     * // Draw the string
     * graphics.drawString("Hello world!", font, [0, 0, 100, 200], undefined, new PdfBrush([0, 0, 255]));
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    setTransparency(stroke: number, fill: number, mode: PdfBlendMode): void;
    _setTransparencyData(ref: _PdfReference, name: _PdfName): void;
    _getTranslateTransform(x: number, y: number, input: _PdfTransformationMatrix): _PdfTransformationMatrix;
    _getScaleTransform(x: number, y: number, input: _PdfTransformationMatrix): _PdfTransformationMatrix;
    _clipTranslateMargins(clipBounds: number[]): void;
    _skewTransform(angleX: number, angleY: number): void;
    _getSkewTransform(angleX: number, angleY: number, input: _PdfTransformationMatrix): _PdfTransformationMatrix;
}
export  class _PdfTransformationMatrix {
    _matrix: _Matrix;
    constructor();
    _translate(x: number, y: number): void;
    _scale(x: number, y: number): void;
    _rotate(angle: number): void;
    _multiply(matrix: _PdfTransformationMatrix): void;
    _toString(): string;
    _skew(angleX: number, angleY: number): void;
    _degreeToRadians(degreesX: number): number;
}
export  class _Matrix {
    _elements: number[];
    constructor();
    constructor(elements: number[]);
    constructor(m11: number, m12: number, m21: number, m22: number, dx: number, dy: number);
    readonly _offsetX: number;
    readonly _offsetY: number;
    _clone(): _Matrix;
    _translate(x: number, y: number): void;
    _transform(points: number[]): number[];
    _multiply(matrix: _Matrix): void;
}
/**
 * Represents a state of the graphics from a PDF page.
 *
 * ```typescript
 * // Load an existing PDF document
 * let document$: PdfDocument = new PdfDocument(data, password);
 * // Access first page
 * let page$: PdfPage = document.getPage(0);
 * // Gets the graphics of the PDF page
 * let graphics$: PdfGraphics = page.graphics;
 * // Create a new font
 * let font$: PdfFont = new PdfStandardFont(PdfFontFamily.Helvetica, 20);
 * // Save the graphics state
 * let state: PdfGraphicsState = graphics.save();
 * // Set graphics translate transform
 * graphics.translateTransform(100, 100);
 * // Draw the string
 * graphics.drawString("Hello world!", font, [10, 20, 100, 200], undefined, new PdfBrush([0, 0, 255]));
 * // Restore the graphics state
 * graphics.restore(state);
 * // Save the document
 * document.save('output.pdf');
 * // Destroy the document
 * document.destroy();
 * ```
 */
export  class PdfGraphicsState {
    _g: PdfGraphics;
    _transformationMatrix: _PdfTransformationMatrix;
    _textRenderingMode: _TextRenderingMode;
    _charSpacing: number;
    _wordSpacing: number;
    _textScaling: number;
    _currentPen: PdfPen;
    _currentBrush: PdfBrush;
    _currentFont: any;
    /**
     * Initializes a new instance of the `PdfGraphicsState` class.
     *
     * @private
     * @param {PdfGraphics} graphics Graphics.
     * @param {_PdfTransformationMatrix} matrix Matrix.
     *
     */
    constructor(graphics: PdfGraphics, matrix: _PdfTransformationMatrix);
}
 class _TransparencyData {
    _key: string;
    _reference: _PdfReference;
    _dictionary: _PdfDictionary;
    _name: _PdfName;
}
export  enum _TextRenderingMode {
    fill = 0,
    stroke = 1,
    fillStroke = 2,
    none = 3,
    clipFlag = 4,
    clipFill = 4,
    clipStroke = 5,
    clipFillStroke = 6,
    clip = 7
}
/**
 * Represents a brush for the PDF page.
 *
 * ```typescript
 * // Load an existing PDF document
 * let document$: PdfDocument = new PdfDocument(data, password);
 * // Access first page
 * let page$: PdfPage = document.getPage(0);
 * // Gets the graphics of the PDF page
 * let graphics$: PdfGraphics = page.graphics;
 * // Create a new brush
 * let brush$: PdfBrush = new PdfBrush([0, 255, 255]);
 * // Draw a rectangle using brush
 * graphics.drawRectangle(10, 10, 100, 100, brush);
 * // Save the document
 * document.save('output.pdf');
 * // Destroy the document
 * document.destroy();
 * ```
 */
export  class PdfBrush {
    _color: number[];
    /**
     * Initializes a new instance of the `PdfBrush` class.
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Access first page
     * let page$: PdfPage = document.getPage(0);
     * // Gets the graphics of the PDF page
     * let graphics$: PdfGraphics = page.graphics;
     * // Create a new brush
     * let brush$: PdfBrush = new PdfBrush();
     * // Draw a rectangle using brush
     * graphics.drawRectangle(10, 10, 100, 100, brush);
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    constructor();
    /**
     * Initializes a new instance of the `PdfBrush` class.
     *
     * @param {number[]} color Color.
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Access first page
     * let page$: PdfPage = document.getPage(0);
     * // Gets the graphics of the PDF page
     * let graphics$: PdfGraphics = page.graphics;
     * // Create a new brush
     * let brush$: PdfBrush = new PdfBrush([0, 255, 255]);
     * // Draw a rectangle using brush
     * graphics.drawRectangle(10, 10, 100, 100, brush);
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    constructor(color: number[]);
}
/**
 * Represents a pen for the PDF page.
 *
 * ```typescript
 * // Load an existing PDF document
 * let document$: PdfDocument = new PdfDocument(data, password);
 * // Access first page
 * let page$: PdfPage = document.getPage(0);
 * // Gets the graphics of the PDF page
 * let graphics$: PdfGraphics = page.graphics;
 * // Create a new pen
 * let pen$: PdfPen = new PdfPen([0, 0, 0], 1);
 * // Draw a rectangle using pen
 * graphics.drawRectangle(150, 50, 50, 50, pen);
 * // Save the document
 * document.save('output.pdf');
 * // Destroy the document
 * document.destroy();
 * ```
 */
export  class PdfPen {
    _color: number[];
    _width: number;
    _dashOffset: number;
    _dashPattern: number[];
    _dashStyle: PdfDashStyle;
    _lineCap: PdfLineCap;
    _lineJoin: PdfLineJoin;
    _miterLimit: number;
    /**
     * Initializes a new instance of the `PdfPen` class.
     *
     * @param {number[]} color Color.
     * @param {number} width Width.
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Access first page
     * let page$: PdfPage = document.getPage(0);
     * // Gets the graphics of the PDF page
     * let graphics$: PdfGraphics = page.graphics;
     * // Create a new pen
     * let pen$: PdfPen = new PdfPen([0, 0, 0], 1);
     * // Draw a rectangle using pen
     * graphics.drawRectangle(150, 50, 50, 50, pen);
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    constructor(color: number[], width: number);
}
export  class _PdfUnitConvertor {
    _horizontalResolution: number;
    _proportions: number[];
    constructor();
    _updateProportions(pixel: number): number[];
    _convertUnits(value: number, from: _PdfGraphicsUnit, to: _PdfGraphicsUnit): number;
    _convertFromPixels(value: number, to: _PdfGraphicsUnit): number;
    _convertToPixels(value: number, from: _PdfGraphicsUnit): number;
}
//node_modules/@syncfusion/ej2-pdf/src/pdf/core/graphics/rightToLeft/text-shape.d.ts
export  class _ArabicShapeRenderer {
    _arabicCharTable: string[][];
    _alef: string;
    _alefHamza: string;
    _alefHamzaBelow: string;
    _alefMadda: string;
    _lam: string;
    _hamza: string;
    _zeroWidthJoiner: string;
    _hamzaAbove: string;
    _hamzaBelow: string;
    _wawHamza: string;
    _yehHamza: string;
    _waw: string;
    _alefsura: string;
    _yeh: string;
    _farsiYeh: string;
    _shadda: string;
    _madda: string;
    _lwa: string;
    _lwawh: string;
    _lwawhb: string;
    _lwawm: string;
    _bwhb: string;
    _fathatan: string;
    _superalef: string;
    _vowel: number;
    _arabicMapTable: Map<string, string[]>;
    /**
     * Creates an instance of the 'ArabicShapeRenderer' class.
     *
     * @private
     */
    constructor();
    _getCharacterShape(input: string, index: number): string;
    _shape(text: string): string;
    _doShape(input: string, level: number): string;
    _append(builder: string, shape: _ArabicShape, level: number): string;
    _ligature(value: string, shape: _ArabicShape): number;
    _getShapeCount(shape: string): number;
}
export  class _ArabicShape {
    _shapeValue: string;
    _shapeType: string;
    _shapeVowel: string;
    _shapeLigature: number;
    _shapes: number;
}
//node_modules/@syncfusion/ej2-pdf/src/pdf/core/graphics/rightToLeft/text-renderer.d.ts
export  class _RtlRenderer {
    _openBracket: string;
    _closeBracket: string;
    _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, glyphs: number[]): _UnicodeLine;
    _customLayout(line: string, rtl: boolean, format: PdfStringFormat): string;
    _customLayout(line: string, rtl: boolean, format: PdfStringFormat, font: PdfTrueTypeFont, wordSpace: boolean): string[];
    _addCharacter(font: PdfTrueTypeFont, glyphs: string): string;
    _customSplitLayout(line: string, font: PdfTrueTypeFont, rtl: boolean, wordSpace: boolean, format: PdfStringFormat): string[];
}
//node_modules/@syncfusion/ej2-pdf/src/pdf/core/graphics/rightToLeft/bidirectional.d.ts
export  class _Bidirectional {
    _indexes: number[];
    _indexLevels: number[];
    _mirroringShape: Dictionary<number, number>;
    /**
     * Creates a new instance of the `_Bidirectional` class.
     *
     * @private
     */
    constructor();
    _doMirrorShaping(text: string): string;
    _getLogicalToVisualString(inputText: string, isRtl: boolean): string;
    _setDefaultIndexLevel(): void;
    _doOrder(sIndex: number, eIndex: number): void;
    _reArrange(i: number, j: number): void;
    _update(): void;
}
export  class _RtlCharacters {
    _type: number[];
    _textOrder: number;
    _length: number;
    _result: number[];
    _levels: number[];
    _rtlCharacterTypes: number[];
    L: number;
    lre: number;
    lro: number;
    R: number;
    AL: number;
    rle: number;
    rlo: number;
    pdf: number;
    EN: number;
    ES: number;
    ET: number;
    AN: number;
    CS: number;
    nsm: number;
    BN: number;
    B: number;
    S: number;
    WS: number;
    ON: number;
    _charTypes: number[];
    /**
     * Creates an instance of the 'RtlCharacters' class.
     *
     * @private
     */
    constructor();
    _getVisualOrder(inputText: string, isRtl: boolean): number[];
    _getCharacterCode(text: string): number[];
    _setDefaultLevels(): void;
    _setLevels(): void;
    _updateLevels(index: number, level: number, length: number): void;
    _doVisualOrder(): void;
    _getEmbeddedCharactersLength(): number;
    _checkEmbeddedCharacters(length: number): void;
    _check(index: number, length: number, level: number, startType: number, endType: number): void;
    _checkEuropeanDigits(index: number, length: number, level: number, startType: number, endType: number): void;
    _checkArabicCharacters(index: number, length: number, level: number, startType: number, endType: number): void;
    _checkEuropeanNumberSeparator(index: number, length: number, level: number, startType: number, endType: number): void;
    _checkEuropeanNumberTerminator(index: number, length: number, level: number, startType: number, endType: number): void;
    _checkOtherNeutrals(index: number, length: number, level: number, startType: number, endType: number): void;
    _checkOtherCharacters(index: number, length: number, level: number, startType: number, endType: number): void;
    _getLength(index: number, length: number, validSet: number[]): number;
    _checkCharacters(index: number, length: number, level: number, startType: number, endType: number): void;
}
//node_modules/@syncfusion/ej2-pdf/src/pdf/core/graphics/images/png-decoder.d.ts
export  class _PngDecoder extends _ImageDecoder {
    _isRedGreenBlue: boolean;
    _shades: boolean;
    _ideateDecode: boolean;
    _colors: number;
    _bitsPerPixel: number;
    _idatLength: number;
    _inputBands: number;
    _isDecode: boolean;
    _currentChunkLength: number;
    _header: _PngHeader;
    _encodedStream: number[];
    _maskData: number[];
    _colorSpace: any[];
    _alpha: number[];
    _dataStream: number[];
    _decodedImageData: number[];
    _dataStreamOffset: number;
    /**
     * Initializes a new instance of the `_PngDecoder` class.
     *
     * @private
     * @param {Uint8Array} stream byte array.
     */
    constructor(stream: Uint8Array);
    _initialize(): void;
    _hasValidChunkType(type: _PngChunkTypes): {
        type: _PngChunkTypes;
        hasValidChunk: boolean;
    };
    _ignoreChunk(): void;
    _readHeader(): void;
    _setBitsPerPixel(): void;
    _readImageData(): void;
    _readPhotoPlate(): void;
    _readTransparency(): void;
    _getPngColorSpace(): any;
    _decodeImageData(): void;
    _getDeflatedData(data: number[]): number[];
    _readDecodeData(): void;
    _decodeData(xOffset: number, yOffset: number, xStep: number, yStep: number, width: number, height: number): void;
    _readStream(stream: number[], streamOffset: number, data: number[], count: number): number;
    _decompressSub(data: number[], count: number, bitsPerPixel: number): void;
    _decompressUp(data: number[], pData: number[], count: number): void;
    _decompressAverage(data: number[], pData: number[], count: number, bitsPerPixel: number): void;
    _decompressPaeth(data: number[], pData: number[], count: number, bitsPerPixel: number): void;
    _paethPredictor(a: number, b: number, c: number): number;
    _processPixels(data: number[], x: number, step: number, y: number, width: number): void;
    _getPixel(data: number[]): number[];
    _setPixel(imageData: number[], data: number[], offset: number, size: number, x: number, y: number, bitDepth: number, bpr: number): number[];
    _getImageDictionary(): _PdfStream;
    _setMask(): void;
    _getDecodeParams(): _PdfDictionary;
    _getChunkType(chunk: string): _PngChunkTypes;
    _getFilterType(type: number): _PngFilterTypes;
}
 class _PngHeader {
    constructor();
    _width: number;
    _height: number;
    _colorType: number;
    _compression: number;
    _bitDepth: number;
    _filter: _PngFilterTypes;
    _interlace: number;
}
 enum _PngChunkTypes {
    iHDR = 0,
    pLTE = 1,
    iDAT = 2,
    iEND = 3,
    bKGD = 4,
    cHRM = 5,
    gAMA = 6,
    hIST = 7,
    pHYs = 8,
    sBIT = 9,
    tEXt = 10,
    tIME = 11,
    tRNS = 12,
    zTXt = 13,
    sRGB = 14,
    iCCP = 15,
    iTXt = 16,
    unknown = 17
}
 enum _PngFilterTypes {
    none = 0,
    sub = 1,
    up = 2,
    average = 3,
    paeth = 4
}
//node_modules/@syncfusion/ej2-pdf/src/pdf/core/graphics/images/pdf-image.d.ts
/**
 * The 'PdfImage' contains methods and properties to handle the images.
 * ```typescript
 * // Load an existing PDF document
 * let document$: PdfDocument = new PdfDocument(data, password);
 * // Access first page
 * let page$: PdfPage = document.getPage(0);
 * // Gets the graphics of the PDF page
 * let graphics$: PdfGraphics = page.graphics;
 * // Create new image object by using JPEG image data as Base64 string format
 * let image$: PdfImage = new PdfBitmap('/9j/4AAQSkZJRgABAQEAkACQAAD/4....QB//Z');
 * //Draw the image.
 * graphics.drawImage(image, 10, 20, 400, 400);
 * // Save the document
 * document.save('output.pdf');
 * // Destroy the document
 * document.destroy();
 * ```
 */
export  abstract class PdfImage {
    _imageWidth: number;
    _imageHeight: number;
    _bitsPerComponent: number;
    _horizontalResolution: number;
    _verticalResolution: number;
    _imagePhysicalDimension: number[];
    _imageStream: _PdfStream;
    _maskStream: _PdfStream;
    _reference: _PdfReference;
    _maskReference: _PdfReference;
    _key: string;
    /**
     * Gets the width of the PDF image.
     *
     * @returns {number} image width.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Access first page
     * let page$: PdfPage = document.getPage(0);
     * // Gets the graphics of the PDF page
     * let graphics$: PdfGraphics = page.graphics;
     * // Create new image object by using JPEG image data as Base64 string format
     * let image$: PdfImage = new PdfBitmap('/9j/4AAQSkZJRgABAQEAkACQAAD/4....QB//Z');
     * // Gets the width of the image.
     * let width: number = image.width;
     * //Draw the image.
     * image.draw(graphics);
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Sets the width of the PDF image.
    *
    * @param {number} value value.
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data, password);
    * // Access first page
    * let page$: PdfPage = document.getPage(0);
    * // Gets the graphics of the PDF page
    * let graphics$: PdfGraphics = page.graphics;
    * // Create new image object by using JPEG image data as Base64 string format
    * let image$: PdfImage = new PdfBitmap('/9j/4AAQSkZJRgABAQEAkACQAAD/4....QB//Z');
    * // Sets the width of the image.
    * image.width = 100;
    * //Draw the image.
    * image.draw(graphics);
    * // Save the document
    * document.save('output.pdf');
    * // Destroy the document
    * document.destroy();
    * ```
    */
    width: number;
    /**
     * Gets the height of the PDF image.
     *
     * @returns {number} image height.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Access first page
     * let page$: PdfPage = document.getPage(0);
     * // Gets the graphics of the PDF page
     * let graphics$: PdfGraphics = page.graphics;
     * // Create new image object by using JPEG image data as Base64 string format
     * let image$: PdfImage = new PdfBitmap('/9j/4AAQSkZJRgABAQEAkACQAAD/4....QB//Z');
     * // Gets the height of the image.
     * let height: number = image.height;
     * //Draw the image.
     * image.draw(graphics);
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Sets the height of the PDF image.
    *
    * @param {number} value value.
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data, password);
    * // Access first page
    * let page$: PdfPage = document.getPage(0);
    * // Gets the graphics of the PDF page
    * let graphics$: PdfGraphics = page.graphics;
    * // Create new image object by using JPEG image data as Base64 string format
    * let image$: PdfImage = new PdfBitmap('/9j/4AAQSkZJRgABAQEAkACQAAD/4....QB//Z');
    * // Sets the height of the image.
    * image.height = 100;
    * //Draw the image.
    * image.draw(graphics);
    * // Save the document
    * document.save('output.pdf');
    * // Destroy the document
    * document.destroy();
    * ```
    */
    height: number;
    /**
     * Gets the physical dimension of the PDF image (Read only).
     *
     * @returns {number[]} image physical dimension.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Access first page
     * let page$: PdfPage = document.getPage(0);
     * // Gets the graphics of the PDF page
     * let graphics$: PdfGraphics = page.graphics;
     * // Create new image object by using JPEG image data as Base64 string format
     * let image$: PdfImage = new PdfBitmap('/9j/4AAQSkZJRgABAQEAkACQAAD/4....QB//Z');
     * // Gets the physical dimension of the image.
     * let dimension: number[] = image.physicalDimension;
     * //Draw the image.
     * image.draw(graphics);
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    readonly physicalDimension: number[];
    /**
     * Represents a method to draw a image on the PDF graphics.
     *
     * @param {PdfGraphics} graphics value.
     * @returns {void} Draws a image on the page graphics.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Access first page
     * let page$: PdfPage = document.getPage(0);
     * // Gets the graphics of the PDF page
     * let graphics$: PdfGraphics = page.graphics;
     * // Create new image object by using JPEG image data as Base64 string format
     * let image$: PdfImage = new PdfBitmap('/9j/4AAQSkZJRgABAQEAkACQAAD/4....QB//Z');
     * //Draw the image.
     * image.draw(graphics);
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    draw(graphics: PdfGraphics): void;
    /**
     * Represents a method to draw a image on the PDF graphics.
     *
     * @param {PdfGraphics} graphics value.
     * @param {number} x The x-coordinate of the image
     * @param {number} y The y-coordinate of the image.
     * @returns {void} Draws a image on the page graphics.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Access first page
     * let page$: PdfPage = document.getPage(0);
     * // Gets the graphics of the PDF page
     * let graphics$: PdfGraphics = page.graphics;
     * // Create new image object by using JPEG image data as Base64 string format
     * let image$: PdfImage = new PdfBitmap('/9j/4AAQSkZJRgABAQEAkACQAAD/4....QB//Z');
     * //Draw the image.
     * image.draw(graphics, 10, 10);
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    draw(graphics: PdfGraphics, x: number, y: number): void;
    abstract _save(): void;
    _getPointSize(width: number, height: number): number[];
    _getPointSize(width: number, height: number, horizontalResolution: number): number[];
}
//node_modules/@syncfusion/ej2-pdf/src/pdf/core/graphics/images/pdf-bitmap.d.ts
/**
 * The 'PdfBitmap' contains methods and properties to handle the Bitmap images.
 * ```typescript
 * // Load an existing PDF document
 * let document$: PdfDocument = new PdfDocument(data, password);
 * // Access first page
 * let page$: PdfPage = document.getPage(0);
 * // Gets the graphics of the PDF page
 * let graphics$: PdfGraphics = page.graphics;
 * // Create new image object by using JPEG image data as Base64 string format
 * let image$: PdfImage = new PdfBitmap('/9j/4AAQSkZJRgABAQEAkACQAAD/4....QB//Z');
 * //Draw the image.
 * graphics.drawImage(image, 10, 20, 400, 400);
 * // Save the document
 * document.save('output.pdf');
 * // Destroy the document
 * document.destroy();
 * ```
 */
export  class PdfBitmap extends PdfImage {
    _imageStatus: boolean;
    _checkImageType: number;
    _decoder: _ImageDecoder;
    /**
     * Create an instance for `PdfBitmap` class.
     *
     * @param {string} encodedString Image as Base64 string.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Access first page
     * let page$: PdfPage = document.getPage(0);
     * // Gets the graphics of the PDF page
     * let graphics$: PdfGraphics = page.graphics;
     * // Create new image object by using JPEG image data as Base64 string format
     * let image$: PdfImage = new PdfBitmap('/9j/4AAQSkZJRgABAQEAkACQAAD/4....QB//Z');
     * //Draw the image.
     * graphics.drawImage(image, 10, 20, 400, 400);
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    constructor(encodedString: string);
    /**
     * Create an instance for `PdfBitmap` class.
     *
     * @param {Uint8Array} encodedString Image data as byte array.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Access first page
     * let page$: PdfPage = document.getPage(0);
     * // Gets the graphics of the PDF page
     * let graphics$: PdfGraphics = page.graphics;
     * // Create new image object by using JPEG image data as array of bytes
     * let image$: PdfImage = new PdfBitmap(array);
     * //Draw the image.
     * graphics.drawImage(image, 10, 20, 400, 400);
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    constructor(encodedString: Uint8Array);
    _initializeAsync(encodedString: string): void;
    _initializeAsync(encodedString: Uint8Array): void;
    _save(): void;
    _setColorSpace(): void;
}
//node_modules/@syncfusion/ej2-pdf/src/pdf/core/graphics/images/jpeg-decoder.d.ts
export  class _JpegDecoder extends _ImageDecoder {
    /**
     * Initializes a new instance of the `_JpegDecoder` class.
     *
     * @private
     * @param {Uint8Array} stream byte array.
     */
    constructor(stream: Uint8Array);
    readonly _imageDataAsNumberArray: ArrayBuffer;
    _initialize(): void;
    _readHeader(): void;
    _getImageDictionary(): _PdfStream;
    _getColorSpace(): string;
    _getDecodeParams(): _PdfDictionary;
    _skipStream(): void;
    _readExceededJpegImage(): void;
    _getMarker(): number;
}
//node_modules/@syncfusion/ej2-pdf/src/pdf/core/graphics/images/image-decoder.d.ts
export  abstract class _ImageDecoder {
    _stream: Uint8Array;
    _format: _ImageFormat;
    _height: number;
    _width: number;
    _bitsPerComponent: number;
    _imageData: Uint8Array;
    _imageStream: _PdfStream;
    _maskStream: _PdfStream;
    _position: number;
    _noOfComponents: number;
    _reset(): void;
    _getBuffer(index: number): number;
    _read(buffer: Uint8Array, offset: number, count: number): void;
    _read(buffer: number[], offset: number, count: number, stream: number[]): {
        outputBuffer: number[];
        offset: number;
        length: number;
    };
    _readString(length: number): string;
    _seek(length: number): void;
    _readByte(): number;
    _toUnsigned16(value: number): number;
    _readUnsigned32(offset: number): number;
    abstract _getImageDictionary(): _PdfStream;
    abstract _initialize(): void;
    abstract _readHeader(): void;
}
//node_modules/@syncfusion/ej2-pdf/src/pdf/core/form/form.d.ts
/**
 * Represents a PDF form.
 * ```typescript
 * // Load an existing PDF document
 * let document$: PdfDocument = new PdfDocument(data, password);
 * // Access the form of the PDF document
 * let form$: PdfForm = document.form;
 * // Save the document
 * document.save('output.pdf');
 * // Destroy the document
 * document.destroy();
 * ```
 */
export  class PdfForm {
    _crossReference: _PdfCrossReference;
    _dictionary: _PdfDictionary;
    _fields: Array<_PdfReference>;
    _widgetReferences: Array<_PdfReference>;
    _parsedFields: Map<number, PdfField>;
    _needAppearances: boolean;
    _isDefaultAppearance: boolean;
    _hasKids: boolean;
    _setAppearance: boolean;
    _exportEmptyFields: boolean;
    _fieldNames: Array<string>;
    _indexedFieldNames: Array<string>;
    _actualFieldNames: Array<string>;
    _indexedActualFieldNames: Array<string>;
    _tabOrder: PdfFormFieldsTabOrder;
    _fieldCollection: PdfField[];
    _tabCollection: Map<number, PdfFormFieldsTabOrder>;
    _signFlag: _SignatureFlag;
    _isNeedAppearances: boolean;
    /**
     * Represents a loaded from the PDF document.
     *
     * @private
     * @param {_PdfDictionary} dictionary Form dictionary.
     * @param {_PdfCrossReference} crossReference Cross reference object.
     */
    constructor(dictionary: _PdfDictionary, crossReference: _PdfCrossReference);
    /**
     * Gets the fields count (Read only).
     *
     * @returns {number} Fields count.
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Access loaded form
     * let form$: PdfForm = document.form;
     * // Gets the fields count
     * let count$: number = form.count;
     * // Destroy the document
     * document.destroy();
     * ```
     */
    readonly count: number;
    /**
     *  Gets a value indicating whether need appearances (Read only).
     *
     * @returns {boolean} Need appearances.
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Access loaded form
     * let form$: PdfForm = document.form;
     * // Gets the boolean flag indicating need appearances
     * let needAppearances: number = form.needAppearances;
     * // Destroy the document
     * document.destroy();
     * ```
     */
    readonly needAppearances: boolean;
    /**
     *  Gets a value indicating whether allow to export empty fields or not.
     *
     * @returns {boolean} Export empty fields.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Access loaded form
     * let form$: PdfForm = document.form;
     * // Gets a value indicating whether allow to export empty fields or not.
     * let exportEmptyFields: boolean = form.exportEmptyFields;
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    *  Sets a value indicating whether allow to export empty fields or not.
    *
    * @param {boolean} value Export empty fields.
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data, password);
    * // Access loaded form
    * let form$: PdfForm = document.form;
    * // Sets11 a value indicating whether allow to export empty fields or not.
    * form.exportEmptyFields = false;
    * // Save the document
    * document.save('output.pdf');
    * // Destroy the document
    * document.destroy();
    * ```
    */
    exportEmptyFields: boolean;
    _signatureFlag: _SignatureFlag;
    /**
     * Gets the `PdfField` at the specified index.
     *
     * @param {number} index Field index.
     * @returns {PdfField} Loaded PDF form field at the specified index.
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Access the loaded form field
     * let field$: PdfField = document.form.fieldAt(0);
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    fieldAt(index: number): PdfField;
    _parseFields(dictionary: _PdfDictionary, reference: _PdfReference): PdfField;
    /**
     * Add a new `PdfField`.
     *
     * @param {PdfField} field Field object to add.
     * @returns {number} Field index.
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Add a new form field
     * let index$: number = document.form.add(field);
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    add(field: PdfField): number;
    /**
     * Remove the specified PDF form field.
     *
     * @param {PdfField} field Field object to remove.
     * @returns {void} Nothing.
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Access the loaded form field
     * let field$: PdfField = document.form.fieldAt(3);
     * // Remove the form field
     * document.form.removeField(field);
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    removeField(field: PdfField): void;
    /**
     * Remove the PDF form field from specified index.
     *
     * @param {number} index Field index to remove.
     * @returns {void} Nothing.
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Remove the form field from the specified index
     * document.form.removeFieldAt(3);
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    removeFieldAt(index: number): void;
    _reorderParsedAnnotations(index: number): void;
    /**
     * Sets the flag to indicate the new appearance creation
     * If true, appearance will not be created. Default appearance has been considered.
     * If false, new appearance stream has been created from field values and updated as normal appearance.
     *
     * @param {boolean} value Set default appearance.
     * @returns {void} Nothing.
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Set boolean flag to create a new appearance stream for form fields.
     * document.form.setDefaultAppearance(false);
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    setDefaultAppearance(value: boolean): void;
    /**
     * Order the form fields.
     *
     * @returns {void}
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Order the form fields.
     * document.form.orderFormFields();
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    orderFormFields(): void;
    /**
     * Order the form fields based on page tab order.
     *
     * @param {PdfFormFieldsTabOrder} tabOrder tab order types for form fields.
     * @returns {void}
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Order the form fields based on page tab order.
     * document.form.orderFormFields(PdfFormFieldsTabOrder.row);
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    orderFormFields(tabOrder: PdfFormFieldsTabOrder): void;
    /**
     * Order the form fields based on tab collection.
     *
     * @param {Map<number, PdfFormFieldsTabOrder>} tabCollection collection of tab order with page index.
     * @returns {void}
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * //Set the tab collection to order the form fields.
     * let values: Map<number, PdfFormFieldsTabOrder> = new Map<number, PdfFormFieldsTabOrder>();
     * // Set the tab order for the page index 1.
     * values.set(1, PdfFormFieldsTabOrder.column);
     * // Set the tab order for the page index 2.
     * values.set(2, PdfFormFieldsTabOrder.row);
     * // Order the form fields based on tab collection.
     * document.form.orderFormFields(values);
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    orderFormFields(tabCollection: Map<number, PdfFormFieldsTabOrder>): void;
    _createFields(): void;
    _isNode(kids: Array<any>): boolean;
    _parseWidgetReferences(): Array<_PdfReference>;
    _doPostProcess(isFlatten: boolean, pageToImport?: PdfPage): void;
    _getFieldIndex(name: string): number;
    _getFields(): PdfField[];
    _getOrder(tabOrder: PdfFormFieldsTabOrder): _PdfName;
    _compareFields(field1: any, field2: any): number;
    _getRectangle(dictionary: _PdfDictionary): number[];
    _getItemRectangle(field: PdfField): number[];
    _compare(x: number, y: number): number;
    _compareKidsElement(x: _PdfReference, y: _PdfReference): number;
    _sortItemByPageIndex(field: PdfField, hasPageTabOrder: boolean): PdfPage;
    _sortFieldItems(field: PdfField): void;
    _compareFieldItem(item1: any, item2: any): number;
    _clear(): void;
}
//node_modules/@syncfusion/ej2-pdf/src/pdf/core/form/field.d.ts
/**
 * `PdfField` class represents the base class for form field objects.
 * ```typescript
 * // Load an existing PDF document
 * let document$: PdfDocument = new PdfDocument(data, password);
 * // Access the form field at index 0
 * let field$: PdfField = document.form.fieldAt(0);
 * // Gets the count of the loaded field items
 * let count$: number = field.itemsCount;
 * // Save the document
 * document.save('output.pdf');
 * // Destroy the document
 * document.destroy();
 * ```
 */
export  abstract class PdfField {
    _ref: _PdfReference;
    _dictionary: _PdfDictionary;
    _crossReference: _PdfCrossReference;
    _enableGrouping: boolean;
    _isDuplicatePage: boolean;
    _form: PdfForm;
    _kids: _PdfReference[];
    _defaultIndex: number;
    _parsedItems: Map<number, PdfWidgetAnnotation>;
    _name: string;
    _actualName: string;
    _mappingName: string;
    _alternateName: string;
    _maxLength: number;
    _visibility: PdfFormFieldVisibility;
    _visible: boolean;
    _page: PdfPage;
    _da: _PdfDefaultAppearance;
    _flags: _FieldFlag;
    _isLoaded: boolean;
    _setAppearance: boolean;
    _stringFormat: PdfStringFormat;
    _font: PdfFont;
    _fontName: string;
    _gray: PdfBrush;
    _silver: PdfBrush;
    _white: PdfBrush;
    _black: PdfBrush;
    _isTransparentBackColor: boolean;
    _isTransparentBorderColor: boolean;
    _tabIndex: number;
    _annotationIndex: number;
    _defaultFont: PdfStandardFont;
    _appearanceFont: PdfStandardFont;
    _defaultItemFont: PdfStandardFont;
    _flatten: boolean;
    _circleCaptionFont: PdfStandardFont;
    _textAlignment: PdfTextAlignment;
    _isUpdating: boolean;
    _isImport: boolean;
    /**
     * Gets the count of the loaded field items (Read only).
     *
     * @returns {number} Items count.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Access the form field at index 0
     * let field$: PdfField = document.form.fieldAt(0);
     * // Gets the count of the loaded field items
     * let count$: number = field.itemsCount;
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    readonly itemsCount: number;
    /**
     * Gets the form object of the field (Read only).
     *
     * @returns {PdfForm} Form.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Access the form field at index 0
     * let field$: PdfField = document.form.fieldAt(0);
     * // Gets the form object of the field
     * let form$: PdfForm = field.form;
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    readonly form: PdfForm;
    /**
     * Gets the name of the field (Read only).
     *
     * @returns {string} Field name.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Access the form field at index 0
     * let field$: PdfField = document.form.fieldAt(0);
     * // Gets the name of the field
     * let name$: string = field.name;
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    readonly name: string;
    /**
     * Gets the actual name of the field (Read only).
     *
     * @private
     * @returns {string} Actual name.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Access the form field at index 0
     * let field$: PdfField = document.form.fieldAt(0);
     * // Gets the actual name of the field
     * let name$: string = field.actualName;
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    readonly actualName: string;
    /**
     * Gets the mapping name to be used when exporting interactive form field data from the document.
     *
     * @returns {string} Mapping name.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Access the form field at index 0
     * let field$: PdfField = document.form.fieldAt(0);
     * // Gets the mapping name of the field
     * let name$: string = field.mappingName;
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Sets the mapping name to be used when exporting interactive form field data from the document.
    *
    * @param {string} value Mapping name.
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data, password);
    * // Access the form field at index 0
    * let field$: PdfField = document.form.fieldAt(0);
    * // Sets the mapping name of the field
    * field.mappingName = ‘Author’;
    * // Save the document
    * document.save('output.pdf');
    * // Destroy the document
    * document.destroy();
    * ```
    */
    mappingName: string;
    /**
     * Gets the tool tip of the form field.
     *
     * @returns {string} Tooltip.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Access the form field at index 0
     * let field$: PdfField = document.form.fieldAt(0);
     * // Gets the tool tip value of the field
     * let toolTip: string = field.toolTip;
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Sets the tool tip of the form field.
    *
    * @param {string} value Tooltip.
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data, password);
    * // Access the form field at index 0
    * let field$: PdfField = document.form.fieldAt(0);
    * // Sets the tool tip value of the field
    * field.toolTip = ‘Author of the document’;
    * // Save the document
    * document.save('output.pdf');
    * // Destroy the document
    * document.destroy();
    * ```
    */
    toolTip: string;
    /**
     * Gets the form field visibility.
     *
     * @returns {PdfFormFieldVisibility} Field visibility option.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Access the form field at index 0
     * let field$: PdfField = document.form.fieldAt(0);
     * // Gets the form field visibility.
     * let visibility: PdfFormFieldVisibility = field.visibility;
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Sets the form field visibility.
    *
    * @param {PdfFormFieldVisibility} value visibility.
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data, password);
    * // Access the form field at index 0
    * let field$: PdfField = document.form.fieldAt(0);
    * // Sets the form field visibility.
    * field.visibility = PdfFormFieldVisibility.visible;
    * // Save the document
    * document.save('output.pdf');
    * // Destroy the document
    * document.destroy();
    * ```
    */
    visibility: PdfFormFieldVisibility;
    /**
     * Gets the bounds.
     *
     * @returns {{ x: number, y: number, width: number, height: number }} Bounds.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Access the form field at index 0
     * let field$: PdfField = document.form.fieldAt(0);
     * // Gets the bounds of list box field.
     * let bounds$: {x: number, y: number, width: number, height: number} = field.bounds;
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Sets the bounds.
    *
    * @param {{ x: number, y: number, width: number, height: number }} value bounds.
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data, password);
    * // Access the form field at index 0
    * let field$: PdfField = document.form.fieldAt(0);
    * // Sets the bounds.
    * field.bounds = {x: 10, y: 10, width: 100, height: 20};
    * // Save the document
    * document.save('output.pdf');
    * // Destroy the document
    * document.destroy();
    * ```
    */
    bounds: {
        x: number;
        y: number;
        width: number;
        height: number;
    };
    /**
     * Gets the rotation angle of the field.
     *
     * @returns {number} angle.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Access the form field at index 0
     * let field$: PdfField = document.form.fieldAt(0);
     * // Gets the rotation angle of the form field.
     * let rotate: number = field.rotate;
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Sets the rotation angle of the field.
    *
    * @param {number} value rotation angle.
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data, password);
    * // Access the form field at index 0
    * let field$: PdfField = document.form.fieldAt(0);
    * // Sets the rotation angle.
    * field.rotate = 90;
    * // Save the document
    * document.save('output.pdf');
    * // Destroy the document
    * document.destroy();
    * ```
    */
    rotate: number;
    /**
     * Gets the fore color of the field.
     *
     * @returns {number[]} R, G, B color values in between 0 to 255.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Access the form field at index 0
     * let field$: PdfField = document.form.fieldAt(0);
     * // Gets the fore color of the field.
     * let color$: number[] = field.color;
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Sets the fore color of the field.
    *
    * @param {number[]} value R, G, B color values in between 0 to 255.
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data, password);
    * // Access the form field at index 0
    * let field$: PdfField = document.form.fieldAt(0);
    * // Sets the fore color of the field.
    * field.color = [255, 0, 0];
    * // Save the document
    * document.save('output.pdf');
    * // Destroy the document
    * document.destroy();
    * ```
    */
    color: number[];
    /**
     * Gets the background color of the field.
     *
     * @returns {number[]} R, G, B color values in between 0 to 255.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Access the form field at index 0
     * let field$: PdfField = document.form.fieldAt(0);
     * // Gets the background color of the field.
     * let backColor: number[] = field.backColor;
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Sets the background color of the field.
    *
    * @param {number[]} value R, G, B color values in between 0 to 255.
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data, password);
    * // Access the form field at index 0
    * let field$: PdfField = document.form.fieldAt(0);
    * // Sets the background color of the field.
    * field.backColor = [255, 0, 0];
    * // Save the document
    * document.save('output.pdf');
    * // Destroy the document
    * document.destroy();
    * ```
    */
    backColor: number[];
    /**
     * Gets the border color of the field.
     *
     * @returns {number[]} R, G, B color values in between 0 to 255.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Access the form field at index 0
     * let field$: PdfField = document.form.fieldAt(0);
     * // Gets the border color of the field.
     * let borderColor: number[] = field.borderColor;
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Sets the border color of the field.
    *
    * @param {number[]} value Array with R, G, B, A color values in between 0 to 255. For optional A (0-254), it signifies transparency.
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data, password);
    * // Access the form field at index 0
    * let field$: PdfField = document.form.fieldAt(0);
    * // Sets the border color of the field.
    * field.borderColor = [255, 0, 0];
    * // Save the document
    * document.save('output.pdf');
    * // Destroy the document
    * document.destroy();
    * ```
    */
    borderColor: number[];
    /**
     * Gets a value indicating whether read only.
     *
     * @returns {boolean} read only or not.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Access the form field at index 0
     * let field$: PdfField = document.form.fieldAt(0);
     * // Gets a value indicating whether read only.
     * let readOnly: boolean = field.readOnly;
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Sets a value indicating whether read only.
    *
    * @param {boolean} value read only or not.
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data, password);
    * // Access the form field at index 0
    * let field$: PdfField = document.form.fieldAt(0);
    * // Sets a value indicating whether read only.
    * field.readOnly = true;
    * // Save the document
    * document.save('output.pdf');
    * // Destroy the document
    * document.destroy();
    * ```
    */
    readOnly: boolean;
    /**
     * Gets a value indicating whether the field is required.
     *
     * @returns {boolean} required or not.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Access the form field at index 0
     * let field$: PdfField = document.form.fieldAt(0);
     * // Gets a value indicating whether the field is required.
     * let required: boolean = field.required;
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Sets a value indicating whether the field is required.
    *
    * @param {boolean} value required or not.
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data, password);
    * // Access the form field at index 0
    * let field$: PdfField = document.form.fieldAt(0);
    * // Sets a value indicating whether the field is required.
    * field.required = true;
    * // Save the document
    * document.save('output.pdf');
    * // Destroy the document
    * document.destroy();
    * ```
    */
    required: boolean;
    /**
     * Gets a value indicating the visibility of the field (Read only).
     *
     * @returns {boolean} visible or not.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Access the form field at index 0
     * let field$: PdfField = document.form.fieldAt(0);
     * // Gets a value indicating the visibility of the field.
     * let visible: boolean = field.visible;
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Sets a value indicating the visibility of the field.
    * Only applicable for newly created PDF form fields.
    *
    * @param {boolean} value or not.
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data, password);
    * // Access the form field at index 0
    * let field$: PdfField = document.form.fieldAt(0);
    * // Sets a value indicating the visibility of the field
    * field.visible = true;
    * // Save the document
    * document.save('output.pdf');
    * // Destroy the document
    * document.destroy();
    * ```
    */
    visible: boolean;
    /**
     * Gets the width, style and dash of the border of the field.
     *
     * @returns {PdfInteractiveBorder} Border properties.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Access the form field at index 0
     * let field$: PdfField = document.form.fieldAt(0);
     * // Gets the width, style and dash of the border of the field.
     * let border: PdfInteractiveBorder = field.border;
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Sets the width, style and dash of the border of the field.
    *
    * @param {PdfInteractiveBorder} value Border properties.
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data, password);
    * // Access the form field at index 0
    * let field$: PdfField = document.form.fieldAt(0);
    * // Sets the width, style and dash of the border of the field.
    * field.border = new PdfInteractiveBorder(2, PdfBorderStyle.solid);
    * // Save the document
    * document.save('output.pdf');
    * // Destroy the document
    * document.destroy();
    * ```
    */
    border: PdfInteractiveBorder;
    /**
     * Gets the rotation of the field (Read only).
     *
     * @returns {PdfRotationAngle} Rotation angle.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Access the form field at index 0
     * let field$: PdfField = document.form.fieldAt(0);
     * // Gets the rotation of the field.
     * let rotate: PdfRotationAngle = field.rotationAngle;
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    readonly rotationAngle: PdfRotationAngle;
    /**
     * Gets a1 value indicating whether the field is allow to export data or not.
     *
     * @returns {boolean} Allow to export data or not.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Access the form field at index 0
     * let field$: PdfField = document.form.fieldAt(0);
     * // Gets1 a value indicating whether the field is allow to export data or not.
     * let export: boolean = field.export;
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Sets a1 value indicating whether the field is allow to export data or not.
    *
    * @param {boolean} value Allow to export data or not.
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data, password);
    * // Access the form field at index 0
    * let field$: PdfField = document.form.fieldAt(0);
    * // Sets111 a value indicating whether the field is allow to export data or not.
    * field.export = true;
    * // Save the document
    * document.save('output.pdf');
    * // Destroy the document
    * document.destroy();
    * ```
    */
    export: boolean;
    /**
     * Gets the tab index of annotation in current page.
     *
     * @returns {number} tab index.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Access the form field at index 0
     * let field$: PdfField = document.form.fieldAt(0);
     * // Gets the tab index of annotation in current page.
     * let tabIndex: number = field.tabIndex;
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Sets the tab index of a annotation in the current page.
    *
    * @param {number} value index.
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data, password);
    * // Access the form field at index 0
    * let field$: PdfField = document.form.fieldAt(0);
    * // Sets the tab index of annotation in current page.
    * field.tabIndex = 5;
    * // Save the document
    * document.save('output.pdf');
    * // Destroy the document
    * document.destroy();
    * ```
    */
    tabIndex: number;
    /**
     * Gets the page object of the form field (Read only).
     *
     * @returns {PdfPage} Page object.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Access the form field at index 0
     * let field$: PdfField = document.form.fieldAt(0);
     * // Gets the page object of the form field.
     * let page$: PdfPage = field.page;
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    readonly page: PdfPage;
    /**
     * Gets the boolean flag indicating whether the form field have been flattened or not.
     *
     * @returns {boolean} Flatten.
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Get the first field
     * let field$: PdfField = document.form.fieldAt(0);
     * // Gets the boolean flag indicating whether the form field have been flattened or not.
     * let flatten$: boolean = field.flatten;
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Sets the boolean flag indicating whether the form field have been flattened or not.
    *
    * @param {boolean} value Flatten.
    *
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data, password);
    * // Get the first field
    * let field$: PdfField = document.form.fieldAt(0);
    * // Sets the boolean flag indicating whether the form field have been flattened or not.
    * field.flatten = true;
    * // Destroy the document
    * document.destroy();
    * ```
    */
    flatten: boolean;
    readonly _grayBrush: PdfBrush;
    readonly _silverBrush: PdfBrush;
    readonly _whiteBrush: PdfBrush;
    readonly _blackBrush: PdfBrush;
    readonly _kidsCount: number;
    readonly _hasBackColor: boolean;
    readonly _hasBorderColor: boolean;
    _parseBackColor(hasTransparency: boolean): number[];
    _parseBorderColor(hasTransparency: boolean): number[];
    _updateBackColor(value: number[], hasTransparency?: boolean): void;
    _updateBorderColor(value: number[], hasTransparency?: boolean): void;
    /**
     * Gets the field item as `PdfWidgetAnnotation` at the specified index.
     *
     * @param {number} index Item index.
     * @returns {PdfWidgetAnnotation} Loaded PDF form field item at the specified index.
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Access the loaded form field
     * let field$: PdfField = document.form.fieldAt(0);
     * // Access the count of the field items.
     * let count$: number = field.count;
     * // Access the first item
     * let item$: PdfWidgetAnnotation = field.itemAt(0);
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    itemAt(index: number): PdfWidgetAnnotation;
    /**
     * Sets the flag to indicate the new appearance creation.
     *
     * @param {boolean} value Set appearance.
     * @returns {void} Nothing.
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Set boolean flag to create a new appearance stream for form fields.
     * document.form.fieldAt(0).setAppearance(true);
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    setAppearance(value: boolean): void;
    /**
     * Gets the value associated with the specified key.
     *
     * @param {string} name Key.
     * @returns {string} Value associated with the key.
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Gets the value associated with the key 'Author'.
     * let value: string = document.form.fieldAt(0).getValue('Author');
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    getValue(name: string): string;
    /**
     * Sets the value associated with the specified key.
     *
     * @param {string} name Key.
     * @param {string} value Value associated with the key..
     * @returns {void} Nothing.
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Access the form field at index 0
     * let field$: PdfField = document.form.fieldAt(0);
     * // Set custom value
     * field.setValue('Author', 'John');
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    setValue(name: string, value: string): void;
    /**
     * Remove the form field item from the specified index.
     *
     * @param {number} index Item index to remove.
     * @returns {void} Nothing.
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Access the form field at index 0
     * let field$: PdfField = document.form.fieldAt(0);
     * // Remove the first item of the form field
     * field.removeItemAt(0);
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    removeItemAt(index: number): void;
    /**
     * Remove the specified form field item.
     *
     * @param {PdfWidgetAnnotation} item Item to remove.
     * @returns {void} Nothing.
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Access the form field at index 0
     * let field$: PdfField = document.form.fieldAt(0);
     * // Remove the first item of the form field
     * field.removeItem(field.itemAt(0));
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    removeItem(item: PdfWidgetAnnotation): void;
    _fieldFlags: _FieldFlag;
    readonly _defaultAppearance: _PdfDefaultAppearance;
    readonly _mkDictionary: _PdfDictionary;
    _updateBorder(dictionary: _PdfDictionary, value: PdfInteractiveBorder): void;
    abstract _doPostProcess(isFlatten?: boolean): void;
    _checkFieldFlag(dictionary: _PdfDictionary): boolean;
    _initializeFont(font: PdfFont): void;
    _drawRectangularControl(g: PdfGraphics, parameter: _PaintParameter): void;
    _drawBorder(g: PdfGraphics, bounds: number[], borderPen: PdfPen, style: PdfBorderStyle, borderWidth: number): void;
    _drawLeftTopShadow(g: PdfGraphics, bounds: number[], width: number, brush: PdfBrush): void;
    _drawRightBottomShadow(g: PdfGraphics, bounds: number[], width: number, brush: PdfBrush): void;
    _drawRadioButton(graphics: PdfGraphics, parameter: _PaintParameter, checkSymbol: string, state: _PdfCheckFieldState): void;
    _drawRoundBorder(graphics: PdfGraphics, bounds: number[], borderPen: PdfPen, borderWidth: number): void;
    _drawRoundShadow(graphics: PdfGraphics, parameter: _PaintParameter, state: _PdfCheckFieldState): void;
    _drawCheckBox(graphics: PdfGraphics, parameter: _PaintParameter, checkSymbol: string, state: _PdfCheckFieldState, font?: PdfFont): void;
    _addToKid(item: PdfWidgetAnnotation): void;
    _drawTemplate(template: PdfTemplate, page: PdfPage, bounds: {
        x: number;
        y: number;
        width: number;
        height: number;
    }): void;
    _addToOptions(item: PdfListFieldItem, field: PdfListField): void;
    _addAppearance(dictionary: _PdfDictionary, template: PdfTemplate, key: string): void;
    _rotateTextBox(rect: number[], size: number[], angle: PdfRotationAngle): number[];
    _checkIndex(value: number, length: number): void;
    _getAppearanceStateValue(): string;
    _getTextAlignment(): PdfTextAlignment;
    _setTextAlignment(value: PdfTextAlignment): void;
    _parseItems(): PdfWidgetAnnotation[];
}
/**
 * `PdfTextBoxField` class represents the text box field objects.
 * ```typescript
 * // Load an existing PDF document
 * let document$: PdfDocument = new PdfDocument(data);
 * // Access text box field
 * let field$: PdfTextBoxField = document.form.fieldAt(0) as PdfTextBoxField;
 * // Save the document
 * document.save('output.pdf');
 * // Destroy the document
 * document.destroy();
 * ```
 */
export  class PdfTextBoxField extends PdfField {
    _text: string;
    _defaultValue: string;
    _spellCheck: boolean;
    _insertSpaces: boolean;
    _multiline: boolean;
    _password: boolean;
    _scrollable: boolean;
    _autoResizeText: boolean;
    /**
     * Represents a text box field of the PDF document.
     *
     * @private
     */
    constructor();
    /**
     * Represents a text box field of the PDF document.
     *
     * @param {PdfPage} page The page where the field is drawn.
     * @param {string} name The name of the field.
     * @param {{x: number, y: number, width: number, height: number}} bounds The bounds of the field.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data);
     * // Gets the first page of the document
     * let page$: PdfPage = document.getPage(0);
     * // Access the PDF form
     * let form$: PdfForm = document.form;
     * // Create a new text box field
     * let field$: PdfTextBoxField = new PdfTextBoxField(page, 'FirstName', {x: 10, y: 10, width: 100, height: 50});
     * // Add the field into PDF form
     * form.add(field);
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    constructor(page: PdfPage, name: string, bounds: {
        x: number;
        y: number;
        width: number;
        height: number;
    });
    /**
     * Parse an existing text box field.
     *
     * @private
     * @param {PdfForm} form Form object.
     * @param {_PdfDictionary} dictionary Field dictionary.
     * @param {_PdfCrossReference} crossReference Cross reference object.
     * @param {_PdfReference} reference Field reference.
     * @returns {PdfTextBoxField} Text box field.
     */
    static _load(form: PdfForm, dictionary: _PdfDictionary, crossReference: _PdfCrossReference, reference: _PdfReference): PdfTextBoxField;
    /**
     * Gets the value of the text box field.
     *
     * @returns {string} Text.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data);
     * // Access text box field
     * let field$: PdfTextBoxField = document.form.fieldAt(0) as PdfTextBoxField;
     * // Gets the text value from text box field
     * let text$: string = field.text;
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Sets the value of the text box field.
    *
    * @param {string} value Text.
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data);
    * // Access text box field
    * let field$: PdfTextBoxField = document.form.fieldAt(0) as PdfTextBoxField;
    * // Sets the text value to text box field
    * field.text = ‘Syncfusion’;
    * // Save the document
    * document.save('output.pdf');
    * // Destroy the document
    * document.destroy();
    * ```
    */
    text: string;
    /**
     * Gets the text alignment in a text box.
     *
     * @returns {PdfTextAlignment} Text alignment.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data);
     * // Access text box field
     * let field$: PdfTextBoxField = document.form.fieldAt(0) as PdfTextBoxField;
     * // Gets the text alignment from text box field
     * let alignment: PdfTextAlignment = field.textAlignment;
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Sets the text alignment in a text box.
    *
    * @param {PdfTextAlignment} value Text alignment.
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data);
    * // Access text box field
    * let field$: PdfTextBoxField = document.form.fieldAt(0) as PdfTextBoxField;
    * // Sets the text alignment of form field as center
    * field.textAlignment = PdfTextAlignment.center;
    * // Save the document
    * document.save('output.pdf');
    * // Destroy the document
    * document.destroy();
    * ```
    */
    textAlignment: PdfTextAlignment;
    /**
     * Gets the default value of the field.
     *
     * @returns {string} Default value.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data);
     * // Access text box field
     * let field$: PdfTextBoxField = document.form.fieldAt(0) as PdfTextBoxField;
     * // Gets the default value from the text box field
     * let value: string = field.defaultValue;
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Sets the default value of the field.
    *
    * @param {string} value Default value.
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data);
    * // Access text box field
    * let field$: PdfTextBoxField = document.form.fieldAt(0) as PdfTextBoxField;
    * // Sets the default value of the text box field
    * field.defaultValue = 'Syncfusion';
    * // Save the document
    * document.save('output.pdf');
    * // Destroy the document
    * document.destroy();
    * ```
    */
    defaultValue: string;
    /**
     * Gets a value indicating whether this `PdfTextBoxField` is multiline.
     *
     * @returns {boolean} multiline.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data);
     * // Access text box field
     * let field$: PdfTextBoxField = document.form.fieldAt(0) as PdfTextBoxField;
     * // Gets a value indicating whether this `PdfTextBoxField` is multiline.
     * let multiLine: boolean = field.multiLine;
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Sets a value indicating whether this `PdfTextBoxField` is multiline.
    *
    * @param {boolean} value multiLine or not.
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data);
    * // Access text box field
    * let field$: PdfTextBoxField = document.form.fieldAt(0) as PdfTextBoxField;
    * // Sets a value indicating whether this `PdfTextBoxField` is multiline.
    * field.multiLine = false;
    * // Save the document
    * document.save('output.pdf');
    * // Destroy the document
    * document.destroy();
    * ```
    */
    multiLine: boolean;
    /**
     * Gets a value indicating whether this `PdfTextBoxField` is password.
     *
     * @returns {boolean} password.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data);
     * // Access text box field
     * let field$: PdfTextBoxField = document.form.fieldAt(0) as PdfTextBoxField;
     * // Gets a value indicating whether this `PdfTextBoxField` is password.
     * let password: boolean = field.password;
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Sets a value indicating whether this `PdfTextBoxField` is password.
    *
    * @param {boolean} value password or not.
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data);
    * // Access text box field
    * let field$: PdfTextBoxField = document.form.fieldAt(0) as PdfTextBoxField;
    * // Sets a value indicating whether this `PdfTextBoxField` is password.
    * field.password = false;
    * // Save the document
    * document.save('output.pdf');
    * // Destroy the document
    * document.destroy();
    * ```
    */
    password: boolean;
    /**
     * Gets a value indicating whether this `PdfTextBoxField` is scrollable.
     *
     * @returns {boolean} scrollable.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data);
     * // Access text box field
     * let field$: PdfTextBoxField = document.form.fieldAt(0) as PdfTextBoxField;
     * // Gets a value indicating whether this `PdfTextBoxField` is scrollable.
     * let scrollable: boolean = field.scrollable;
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Sets a value indicating whether this `PdfTextBoxField` is scrollable.
    *
    * @param {boolean} value scrollable or not.
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data);
    * // Access text box field
    * let field$: PdfTextBoxField = document.form.fieldAt(0) as PdfTextBoxField;
    * // Sets a value indicating whether this `PdfTextBoxField` is scrollable.
    * field.scrollable = false;
    * // Save the document
    * document.save('output.pdf');
    * // Destroy the document
    * document.destroy();
    * ```
    */
    scrollable: boolean;
    /**
     * Gets a value indicating whether to check spelling.
     *
     * @returns {boolean} spellCheck.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data);
     * // Access text box field
     * let field$: PdfTextBoxField = document.form.fieldAt(0) as PdfTextBoxField;
     * // Gets a value indicating whether to check spelling
     * let spellCheck: boolean = field.spellCheck;
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Sets a value indicating whether to check spelling.
    *
    * @param {boolean} value spellCheck or not.
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data);
    * // Access text box field
    * let field$: PdfTextBoxField = document.form.fieldAt(0) as PdfTextBoxField;
    * // Sets a value indicating whether to check spelling
    * field.spellCheck = false;
    * // Save the document
    * document.save('output.pdf');
    * // Destroy the document
    * document.destroy();
    * ```
    */
    spellCheck: boolean;
    /**
     * Meaningful only if the MaxLength property is set and the Multiline, Password properties are false.
     * If set, the field is automatically divided into as many equally spaced positions, or combs,
     * as the value of MaxLength, and the text is laid out into those combs.
     *
     * @returns {boolean} insertSpaces.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data);
     * // Access text box field
     * let field$: PdfTextBoxField = document.form.fieldAt(0) as PdfTextBoxField;
     * // Gets a value indicating whether this `PdfTextBoxField` is insertSpaces.
     * let insertSpaces: boolean = field.insertSpaces;
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Meaningful only if the MaxLength property is set and the Multiline, Password properties are false.
    * If set, the field is automatically divided into as many equally spaced positions, or combs,
    * as the value of MaxLength, and the text is laid out into those combs.
    *
    * @param {boolean} value insertSpaces.
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data);
    * // Access text box field
    * let field$: PdfTextBoxField = document.form.fieldAt(0) as PdfTextBoxField;
    * // Sets a value indicating whether this `PdfTextBoxField` is insertSpaces.
    * field.insertSpaces = false;
    * // Save the document
    * document.save('output.pdf');
    * // Destroy the document
    * document.destroy();
    * ```
    */
    insertSpaces: boolean;
    /**
     * Gets the highlight mode of the field.
     *
     * @returns {PdfHighlightMode} highlight mode.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data);
     * // Access text box field
     * let field$: PdfTextBoxField = document.form.fieldAt(0) as PdfTextBoxField;
     * // Gets the highlight mode of text box field
     * let mode$: PdfHighlightMode = field.highlightMode;
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Sets the highlight mode of the field.
    *
    * @param {PdfHighlightMode} value highlight mode.
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data);
    * // Access text box field
    * let field$: PdfTextBoxField = document.form.fieldAt(0) as PdfTextBoxField;
    * // Sets the highlight mode of text box field as outline
    * field.highlightMode = PdfHighlightMode.outline;
    * // Save the document
    * document.save('output.pdf');
    * // Destroy the document
    * document.destroy();
    * ```
    */
    highlightMode: PdfHighlightMode;
    /**
     * Gets the maximum length of the field, in characters.
     *
     * @returns {number} maximum length.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data);
     * // Access text box field
     * let field$: PdfTextBoxField = document.form.fieldAt(0) as PdfTextBoxField;
     * // Gets the maximum length of the field, in characters.
     * let maxLength: number = field.maxLength;
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Sets the maximum length of the field, in characters.
    *
    * @param {number} value maximum length.
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data);
    * // Access text box field
    * let field$: PdfTextBoxField = document.form.fieldAt(0) as PdfTextBoxField;
    * // Sets the maximum length of the field, in characters.
    * field.maxLength = 20;
    * // Save the document
    * document.save('output.pdf');
    * // Destroy the document
    * document.destroy();
    * ```
    */
    maxLength: number;
    /**
     * Gets the flag indicating whether the auto resize text enabled or not.
     * Note: Applicable only for newly created PDF fields.
     *
     * @returns {boolean} Enable or disable auto resize text.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data);
     * // Access text box field
     * let field$: PdfTextBoxField = document.form.fieldAt(0) as PdfTextBoxField;
     * // Gets the flag indicating whether the auto resize text enabled or not.
     * let isAutoResize: boolean = field.isAutoResizeText;
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Sets the flag indicating whether the auto resize text enabled or not.
    * Note: Applicable only for newly created PDF fields.
    *
    * @param {boolean} value Enable or disable auto resize text.
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data);
    * // Access text box field
    * let field$: PdfTextBoxField = document.form.fieldAt(0) as PdfTextBoxField;
    * // Sets the flag indicating whether the auto resize text enabled or not.
    * field.isAutoResizeText = false;
    * // Save the document
    * document.save('output.pdf');
    * // Destroy the document
    * document.destroy();
    * ```
    */
    isAutoResizeText: boolean;
    /**
     * Gets the font of the field.
     *
     * @returns {PdfFont} font.
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Access the form field at index 0
     * let field$: PdfTextBoxField = document.form.fieldAt(0) as PdfTextBoxField;
     * // Gets the font of the field.
     * let font$: PdfFont = field.font;
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Sets the font of the field.
    *
    * @param {PdfFont} value font.
    *
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data, password);
    * // Access the form field at index 0
    * let field$: PdfTextBoxField = document.form.fieldAt(0) as PdfTextBoxField;
    * // Sets the font of the field
    * field.font = new PdfStandardFont(PdfFontFamily.helvetica, 12, PdfFontStyle.bold);
    * // Save the document
    * document.save('output.pdf');
    * // Destroy the document
    * document.destroy();
    * ```
    */
    font: PdfFont;
    /**
     * Gets the background color of the field.
     *
     * @returns {number[]} R, G, B color values in between 0 to 255.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Access the form field at index 0
     * let field$: PdfField = document.form.fieldAt(0);
     * // Gets the background color of the field.
     * let backColor: number[] = field.backColor;
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Sets the background color of the field.
    *
    * @param {number[]} value Array with R, G, B, A color values in between 0 to 255. For optional A (0-254), it signifies transparency.
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data, password);
    * // Access the text box field at index 0
    * let firstName: PdfField = document.form.fieldAt(0);
    * // Sets the background color of the field.
    * firstName.backColor = [255, 0, 0];
    * // Access the text box field at index 1
    * let secondName: PdfField = document.form.fieldAt(1);
    * // Sets the background color of the field to transparent.
    * secondName.backColor = [0, 0, 0, 0];
    * // Save the document
    * document.save('output.pdf');
    * // Destroy the document
    * document.destroy();
    * ```
    */
    backColor: number[];
    _initialize(page: PdfPage, name: string, bounds: {
        x: number;
        y: number;
        width: number;
        height: number;
    }): void;
    _createItem(bounds: {
        x: number;
        y: number;
        width: number;
        height: number;
    }): void;
    _doPostProcess(isFlatten?: boolean): void;
    _postProcess(isFlatten: boolean, widget?: PdfWidgetAnnotation): void;
    _createAppearance(isFlatten: boolean, widget: PdfWidgetAnnotation | PdfTextBoxField): PdfTemplate;
    _drawTextBox(g: PdfGraphics, parameter: _PaintParameter, text: string, font: PdfFont, format: PdfStringFormat, multiline: boolean, scroll: boolean, maxLength?: number): void;
}
/**
 * `PdfButtonField` class represents the button field objects.
 * ```typescript
 * // Load an existing PDF document
 * let document$: PdfDocument = new PdfDocument(data);
 * // Gets the first page of the document
 * let page$: PdfPage = document.getPage(0);
 * // Access the PDF form
 * let form$: PdfForm = document.form;
 * // Create a new button field
 * let field$: PdfButtonField = new PdfButtonField(page , 'Button1', {x: 100, y: 40, width: 100, height: 20});
 * // Add the field into PDF form
 * form.add(field);
 * // Save the document
 * document.save('output.pdf');
 * // Destroy the document
 * document.destroy();
 * ```
 */
export  class PdfButtonField extends PdfField {
    _text: string;
    _appearance: PdfAppearance;
    _actions: PdfFieldActions;
    /**
     * Represents a button field of the PDF document.
     *
     * @private
     */
    constructor();
    /**
     * Represents a button box field of the PDF document.
     *
     * @param {PdfPage} page The page where the field is drawn.
     * @param {string} name The name of the field.
     * @param {{x: number, y: number, width: number, height: number}} bounds The bounds of the field.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data);
     * // Get the first page of the document
     * let page$: PdfPage = document.getPage(0);
     * // Access the PDF form
     * let form$: PdfForm = document.form;
     * // Create a new button field
     * let field$: PdfButtonField = new PdfButtonField(page , 'Button1', {x: 100, y: 40, width: 100, height: 20});
     * // Add the field into PDF form
     * form.add(field);
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    constructor(page: PdfPage, name: string, bounds: {
        x: number;
        y: number;
        width: number;
        height: number;
    });
    /**
     * Gets the actions of the field. [Read-Only]
     *
     * @returns {PdfFieldActions} The actions.
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data);
     * // Access button field
     * let field$: PdfButtonField = document.form.fieldAt(0) as PdfButtonField;
     * // Get the action value from button field
     * let action$: PdfAction = field.actions.mouseEnter;
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    readonly actions: PdfFieldActions;
    /**
     * Gets value of the text box field.
     *
     * @returns {string} Text.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data);
     * // Access text box field
     * let field$: PdfButtonField = document.form.fieldAt(0) as PdfButtonField;
     * // Gets the text value from button field
     * let text$: string = field.text;
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Sets value of the text box field.
    *
    * @param {string} value Text.
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data);
    * // Access button field
    * let field$: PdfButtonField = document.form.fieldAt(0) as PdfButtonField;
    * // Sets the text value of form field
    * field.text = ’Click to submit’;
    * // Save the document
    * document.save('output.pdf');
    * // Destroy the document
    * document.destroy();
    * ```
    */
    text: string;
    /**
     * Gets the text alignment in a button field.
     *
     * @returns {PdfTextAlignment} Text alignment.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data);
     * // Access button field
     * let field$: PdfButtonField = document.form.fieldAt(0) as PdfButtonField;
     * // Gets the text alignment from button field
     * let alignment: PdfTextAlignment = field.textAlignment;
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Sets the text alignment in a button field.
    *
    * @param {PdfTextAlignment} value Text alignment.
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data);
    * // Access button field
    * let field$: PdfButtonField = document.form.fieldAt(0) as PdfButtonField;
    * // Sets the text alignment of form field as center
    * field.textAlignment = PdfTextAlignment.center;
    * // Save the document
    * document.save('output.pdf');
    * // Destroy the document
    * document.destroy();
    * ```
    */
    textAlignment: PdfTextAlignment;
    /**
     * Gets the highlight mode of the field.
     *
     * @returns {PdfHighlightMode} highlight mode.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data);
     * // Access button field
     * let field$: PdfButtonField = document.form.fieldAt(0) as PdfButtonField;
     * // Gets the highlight mode from button field
     * let highlightMode: PdfHighlightMode = field. highlightMode;
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Sets the highlight mode of the field.
    *
    * @param {PdfHighlightMode} value highlight mode.
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data);
    * // Access button field
    * let field$: PdfButtonField = document.form.fieldAt(0) as PdfButtonField;
    * // Sets the highlight mode of button field as outline
    * field.highlightMode = PdfHighlightMode.outline;
    * // Save the document
    * document.save('output.pdf');
    * // Destroy the document
    * document.destroy();
    * ```
    */
    highlightMode: PdfHighlightMode;
    /**
     * Gets the font of the field.
     *
     * @returns {PdfFont} font.
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Access the form field at index 0
     * let field$: PdfButtonField = document.form.fieldAt(0) as PdfButtonField;
     * // Gets the font of the field.
     * let font$: PdfFont = field.font;
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Sets the font of the field.
    *
    * @param {PdfFont} value font.
    *
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data, password);
    * // Access the form field at index 0
    * let field$: PdfButtonField = document.form.fieldAt(0) as PdfButtonField;
    * // Sets the font of the field
    * field.font = new PdfStandardFont(PdfFontFamily.helvetica, 12, PdfFontStyle.bold);
    * // Save the document
    * document.save('output.pdf');
    * // Destroy the document
    * document.destroy();
    * ```
    */
    font: PdfFont;
    /**
     * Gets the background color of the field.
     *
     * @returns {number[]} R, G, B color values in between 0 to 255.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Access the form field at index 0
     * let field$: PdfField = document.form.fieldAt(0);
     * // Gets the background color of the field.
     * let backColor: number[] = field.backColor;
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Sets the background color of the field.
    *
    * @param {number[]} value Array with R, G, B, A color values in between 0 to 255. For optional A (0-254), it signifies transparency.
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data, password);
    * // Access the button field at index 0
    * let submitButton: PdfField = document.form.fieldAt(0);
    * // Sets the background color of the field.
    * submitButton.backColor = [255, 0, 0];
    * // Access the button field at index 1
    * let cancelButton: PdfField = document.form.fieldAt(1);
    * // Sets the background color of the field to transparent.
    * cancelButton.backColor = [0, 0, 0, 0];
    * // Save the document
    * document.save('output.pdf');
    * // Destroy the document
    * document.destroy();
    * ```
    */
    backColor: number[];
    _assignText(fieldDictionary: _PdfDictionary, value: string): void;
    /**
     * Parse an existing button field.
     *
     * @private
     * @param {PdfForm} form Form object.
     * @param {_PdfDictionary} dictionary Field dictionary.
     * @param {_PdfCrossReference} crossReference Cross reference object.
     * @param {_PdfReference} reference Field reference.
     * @returns {PdfButtonField} Button field.
     */
    static _load(form: PdfForm, dictionary: _PdfDictionary, crossReference: _PdfCrossReference, reference: _PdfReference): PdfButtonField;
    _initialize(page: PdfPage, name: string, bounds: {
        x: number;
        y: number;
        width: number;
        height: number;
    }): void;
    _createItem(bounds: {
        x: number;
        y: number;
        width: number;
        height: number;
    }): void;
    _doPostProcess(isFlatten?: boolean): void;
    _postProcess(isFlatten: boolean, widget?: PdfWidgetAnnotation): void;
    _createAppearance(widget: PdfWidgetAnnotation | PdfButtonField, isPressed?: boolean): PdfTemplate;
    _drawButton(g: PdfGraphics, parameter: _PaintParameter, text: string, font: PdfFont, format: PdfStringFormat): void;
    _drawPressedButton(g: PdfGraphics, parameter: _PaintParameter, text: string, font: PdfFont, format: PdfStringFormat): void;
}
/**
 * `PdfCheckBoxField` class represents the check box field objects.
 * ```typescript
 * // Load an existing PDF document
 * let document$: PdfDocument = new PdfDocument(data);
 * // Gets the first page of the document
 * let page$: PdfPage = document.getPage(0);
 * // Access the PDF form
 * let form$: PdfForm = document.form;
 * // Create a new check box field
 * let field$: PdfCheckBoxField = new PdfCheckBoxField('CheckBox1', {x: 100, y: 40, width: 20, height: 20}, page);
 * // Sets the checked flag as true.
 * field.checked = true;
 * // Sets the tool tip value
 * field.toolTip = 'Checked';
 * // Add the field into PDF form
 * form.add(field);
 * // Save the document
 * document.save('output.pdf');
 * // Destroy the document
 * document.destroy();
 * ```
 */
export  class PdfCheckBoxField extends PdfField {
    _parsedItems: Map<number, PdfStateItem>;
    /**
     * Represents a check box field of the PDF document.
     *
     * @private
     */
    constructor();
    /**
     * Represents a check box field of the PDF document.
     *
     * @param {string} name The name of the field.
     * @param {{x: number, y: number, width: number, height: number}} bounds The bounds of the field.
     * @param {PdfPage} page The page where the field is drawn.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data);
     * // Gets the first page of the document
     * let page$: PdfPage = document.getPage(0);
     * // Access the PDF form
     * let form$: PdfForm = document.form;
     * // Create a new check box field
     * let field$: PdfCheckBoxField = new PdfCheckBoxField('CheckBox1', {x: 100, y: 40, width: 20, height: 20}, page);
     * // Sets the checked flag as true.
     * field.checked = true;
     * // Sets the tool tip value
     * field.toolTip = 'Checked';
     * // Add the field into PDF form
     * form.add(field);
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    constructor(name: string, bounds: {
        x: number;
        y: number;
        width: number;
        height: number;
    }, page: PdfPage);
    /**
     * Parse an existing check box field.
     *
     * @private
     * @param {PdfForm} form Form object.
     * @param {_PdfDictionary} dictionary Field dictionary.
     * @param {_PdfCrossReference} crossReference Cross reference object.
     * @param {_PdfReference} reference Field reference.
     * @returns {PdfCheckBoxField} Check box field.
     */
    static _load(form: PdfForm, dictionary: _PdfDictionary, crossReference: _PdfCrossReference, reference: _PdfReference): PdfCheckBoxField;
    /**
     * Gets the item at the specified index.
     *
     * @param {number} index Index of the field item.
     * @returns {PdfStateItem} Field item at the index.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data);
     * // Gets the first page of the document
     * let page$: PdfPage = document.getPage(0);
     * // Access the PDF form
     * let form$: PdfForm = document.form;
     * // Access the check box field
     * let field$: PdfCheckBoxField = form.fieldAt(0) as PdfCheckBoxField;
     * // Gets the first list item.
     * let item$: PdfStateItem = field.itemAt(0);
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    itemAt(index: number): PdfStateItem;
    /**
     * Gets the font of the field.
     *
     * @returns {PdfFont} font.
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Access the form field at index 0
     * let field$: PdfCheckBoxField = document.form.fieldAt(0) as PdfCheckBoxField;
     * // Gets the font of the field.
     * let font$: PdfFont = field.font;
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Sets the font of the field.
    *
    * @param {PdfFont} value font.
    *
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data, password);
    * // Access the form field at index 0
    * let field$: PdfCheckBoxField = document.form.fieldAt(0) as PdfCheckBoxField;
    * // Sets the font of the field
    * field.font = new PdfStandardFont(PdfFontFamily.helvetica, 12, PdfFontStyle.bold);
    * // Save the document
    * document.save('output.pdf');
    * // Destroy the document
    * document.destroy();
    * ```
    */
    font: PdfFont;
    /**
     * Gets the flag indicating whether the field is checked or not.
     *
     * @returns {boolean} Checked.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data);
     * // Gets the first page of the document
     * let page$: PdfPage = document.getPage(0);
     * // Access the PDF form
     * let form$: PdfForm = document.form;
     * // Access the check box field
     * let field$: PdfCheckBoxField = form.fieldAt(0) as PdfCheckBoxField;
     * // Gets the flag indicating whether the field is checked or not.
     * let checked: Boolean = field.checked;
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Sets the flag indicating whether the field is checked or not.
    *
    * @param {boolean} value Checked.
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data);
    * // Gets the first page of the document
    * let page$: PdfPage = document.getPage(0);
    * // Access the PDF form
    * let form$: PdfForm = document.form;
    * // Access the check box field
    * let field$: PdfCheckBoxField = form.fieldAt(0) as PdfCheckBoxField;
    * // Sets the flag indicating whether the field is checked or not.
    * field.checked = true;
    * // Save the document
    * document.save('output.pdf');
    * // Destroy the document
    * document.destroy();
    * ```
    */
    checked: boolean;
    /**
     * Gets the text alignment in a check box field.
     *
     * @returns {PdfTextAlignment} Text alignment.
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data);
     * // Access check box field
     * let field$: PdfCheckBoxField = document.form.fieldAt(0) as PdfCheckBoxField;
     * // Gets the text alignment from check box field
     * let alignment: PdfTextAlignment = field.textAlignment;
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Sets the text alignment in a check box field.
    *
    * @param {PdfTextAlignment} value Text alignment.
    *
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data);
    * // Access check box field
    * let field$: PdfCheckBoxField = document.form.fieldAt(0) as PdfCheckBoxField;
    * // Sets the text alignment of form field as center
    * field.textAlignment = PdfTextAlignment.center;
    * // Save the document
    * document.save('output.pdf');
    * // Destroy the document
    * document.destroy();
    * ```
    */
    textAlignment: PdfTextAlignment;
    /**
     * Gets the background color of the field.
     *
     * @returns {number[]} R, G, B color values in between 0 to 255.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Access the form field at index 0
     * let field$: PdfField = document.form.fieldAt(0);
     * // Gets the background color of the field.
     * let backColor: number[] = field.backColor;
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Sets the background color of the field.
    *
    * @param {number[]} value Array with R, G, B, A color values in between 0 to 255. For optional A (0-254), it signifies transparency.
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data, password);
    * // Access the check box field at index 0
    * let checkBox1: PdfField = document.form.fieldAt(0);
    * // Sets the background color of the field.
    * checkBox1.backColor = [255, 0, 0];
    * // Access the check box field at index 1
    * let checkBox2: PdfField = document.form.fieldAt(1);
    * // Sets the background color of the field to transparent.
    * checkBox2.backColor = [0, 0, 0, 0];
    * // Save the document
    * document.save('output.pdf');
    * // Destroy the document
    * document.destroy();
    * ```
    */
    backColor: number[];
    /**
     * Gets the border color of the field.
     *
     * @returns {number[]} R, G, B color values in between 0 to 255.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Access the form field at index 0
     * let field$: PdfField = document.form.fieldAt(0);
     * // Gets the border color of the field.
     * let borderColor: number[] = field.borderColor;
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Sets the border color of the field.
    *
    * @param {number[]} value Array with R, G, B, A color values in between 0 to 255. For optional A (0-254), it signifies transparency.
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data, password);
    * // Access the form field at index 0
    * let field$: PdfField = document.form.fieldAt(0);
    * // Sets the border color of the field.
    * field.borderColor = [255, 0, 0];
    * // Save the document
    * document.save('output.pdf');
    * // Destroy the document
    * document.destroy();
    * ```
    */
    borderColor: number[];
    _initialize(page: PdfPage, name: string, bounds: {
        x: number;
        y: number;
        width: number;
        height: number;
    }): void;
    _createItem(bounds: {
        x: number;
        y: number;
        width: number;
        height: number;
    }): void;
    _doPostProcess(isFlatten?: boolean): void;
    _createAppearance(widget: PdfStateItem, state: _PdfCheckFieldState): PdfTemplate;
    _drawAppearance(item: PdfStateItem, itemValue?: string): void;
}
/**
 * `PdfRadioButtonListField` class represents the radio button field objects.
 * ```typescript
 * // Load an existing PDF document
 * let document$: PdfDocument = new PdfDocument(data);
 * // Gets the first page of the document
 * let page$: PdfPage = document.getPage(0);
 * // Access the PDF form
 * let form$: PdfForm = document.form;
 * // Create a new radio button list field
 * let field$: PdfRadioButtonListField = new PdfRadioButtonListField(page, 'Age');
 * // Create and add first item
 * let first: PdfRadioButtonListItem = field.add('1-9', {x: 100, y: 140, width: 20, height: 20});
 * // Create and add second item
 * let second: PdfRadioButtonListItem = new PdfRadioButtonListItem('10-49', {x: 100, y: 170, width: 20, height: 20}, page);
 * field.add(second);
 * // Sets selected index of the radio button list field
 * field.selectedIndex = 0;
 * // Add the field into PDF form
 * form.add(field);
 * // Save the document
 * document.save('output.pdf');
 * // Destroy the document
 * document.destroy();
 * ```
 */
export  class PdfRadioButtonListField extends PdfField {
    _parsedItems: Map<number, PdfRadioButtonListItem>;
    _selectedIndex: number;
    /**
     * Represents a radio button list field of the PDF document.
     *
     * @private
     */
    constructor();
    /**
     * Represents a radio button list field of the PDF document.
     *
     * @param {PdfPage} page The page where the field is drawn.
     * @param {string} name The name of the field.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data);
     * // Gets the first page of the document
     * let page$: PdfPage = document.getPage(0);
     * // Access the PDF form
     * let form$: PdfForm = document.form;
     * // Create a new radio button list field
     * let field$: PdfRadioButtonListField = new PdfRadioButtonListField(page, 'Age');
     * // Create and add first item
     * let first: PdfRadioButtonListItem = field.add('1-9', {x: 100, y: 140, width: 20, height: 20});
     * // Create and add second item
     * let second: PdfRadioButtonListItem = new PdfRadioButtonListItem('10-49', {x: 100, y: 170, width: 20, height: 20}, page);
     * field.add(second);
     * // Sets selected index of the radio button list field
     * field.selectedIndex = 0;
     * // Add the field into PDF form
     * form.add(field);
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    constructor(page: PdfPage, name: string);
    /**
     * Parse an existing radio button list field.
     *
     * @private
     * @param {PdfForm} form Form object.
     * @param {_PdfDictionary} dictionary Field dictionary.
     * @param {_PdfCrossReference} crossReference Cross reference object.
     * @param {_PdfReference} reference Field reference.
     * @returns {PdfRadioButtonListField} Radio button list field.
     */
    static _load(form: PdfForm, dictionary: _PdfDictionary, crossReference: _PdfCrossReference, reference: _PdfReference): PdfRadioButtonListField;
    /**
     * Gets the flag indicating whether the field is checked or not (Read only).
     *
     * @returns {boolean} Checked.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data);
     * // Gets the first page of the document
     * let page$: PdfPage = document.getPage(0);
     * // Access the PDF form
     * let form$: PdfForm = document.form;
     * // Access the radio button list field
     * let field$: PdfRadioButtonListField = form.fieldAt(0) as PdfRadioButtonListField;
     * // Gets the flag indicating whether the field is checked or not.
     * let checked: boolean = field.checked;
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    readonly checked: boolean;
    /**
     * Gets the selected item index.
     *
     * @returns {number} Index.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data);
     * // Gets the first page of the document
     * let page$: PdfPage = document.getPage(0);
     * // Access the PDF form
     * let form$: PdfForm = document.form;
     * // Access the radio button list field
     * let field$: PdfRadioButtonListField = form.fieldAt(0) as PdfRadioButtonListField;
     * // Gets the selected index.
     * let index$: number = field.selectedIndex;
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Sets the selected item index.
    *
    * @param {number} value Selected index.
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data);
    * // Gets the first page of the document
    * let page$: PdfPage = document.getPage(0);
    * // Access the PDF form
    * let form$: PdfForm = document.form;
    * // Create a new radio button list field
    * let field$: PdfRadioButtonListField = new PdfRadioButtonListField(page, 'Age');
    * // Create and add first item
    * let first: PdfRadioButtonListItem = field.add('1-9', {x: 100, y: 140, width: 20, height: 20});
    * // Create and add second item
    * let second: PdfRadioButtonListItem = new PdfRadioButtonListItem('10-49', {x: 100, y: 170, width: 20, height: 20}, page);
    * field.add(second);
    * // Sets selected index of the radio button list field
    * field.selectedIndex = 0;
    * // Add the field into PDF form
    * form.add(field);
    * // Save the document
    * document.save('output.pdf');
    * // Destroy the document
    * document.destroy();
    * ```
    */
    selectedIndex: number;
    /**
     * Gets the border color of the field.
     *
     * @returns {number[]} R, G, B color values in between 0 to 255.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Access the form field at index 0
     * let field$: PdfField = document.form.fieldAt(0);
     * // Gets the border color of the field.
     * let borderColor: number[] = field.borderColor;
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Sets the border color of the field.
    *
    * @param {number[]} value Array with R, G, B, A color values in between 0 to 255. For optional A (0-254), it signifies transparency.
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data, password);
    * // Access the form field at index 0
    * let field$: PdfField = document.form.fieldAt(0);
    * // Sets the border color of the field.
    * field.borderColor = [255, 0, 0];
    * // Save the document
    * document.save('output.pdf');
    * // Destroy the document
    * document.destroy();
    * ```
    */
    borderColor: number[];
    /**
     * Gets the item at the specified index.
     *
     * @param {number} index Index of the field item.
     * @returns {PdfRadioButtonListItem} Field item at the index.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data);
     * // Gets the first page of the document
     * let page$: PdfPage = document.getPage(0);
     * // Access the PDF form
     * let form$: PdfForm = document.form;
     * // Access the radio button list field
     * let field$: PdfRadioButtonListField = form.fieldAt(0) as PdfRadioButtonListField;
     * // Gets the first list item.
     * let item$: PdfRadioButtonListField = field.itemAt(0);
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    itemAt(index: number): PdfRadioButtonListItem;
    /**
     * Add list item to the field.
     *
     * @param {PdfRadioButtonListItem} item List item.
     * @returns {number} Index of the added item.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data);
     * // Gets the first page of the document
     * let page$: PdfPage = document.getPage(0);
     * // Access the PDF form
     * let form$: PdfForm = document.form;
     * // Create a new radio button list field
     * let field$: PdfRadioButtonListField = new PdfRadioButtonListField(page, 'Age');
     * // Create and add first item
     * let first: PdfRadioButtonListItem = field.add('1-9', {x: 100, y: 140, width: 20, height: 20});
     * // Create and add second item
     * let second: PdfRadioButtonListItem = new PdfRadioButtonListItem('10-49', {x: 100, y: 170, width: 20, height: 20}, page);
     * Add list item to the field
     * field.add(second);
     * // Sets selected index of the radio button list field
     * field.selectedIndex = 0;
     * // Add the field into PDF form
     * form.add(field);
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    add(item: PdfRadioButtonListItem): number;
    /**
     * Add list item to the field.
     *
     * @param {string} value Name of the list item.
     * @param {{x: number, y: number, width: number, height: number}} bounds Bounds of the list item.
     * @returns {PdfRadioButtonListItem} Added item.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data);
     * // Gets the first page of the document
     * let page$: PdfPage = document.getPage(0);
     * // Access the PDF form
     * let form$: PdfForm = document.form;
     * // Create a new radio button list field
     * let field$: PdfRadioButtonListField = new PdfRadioButtonListField(page, 'Age');
     * // Create and add first item
     * let first: PdfRadioButtonListItem = field.add('1-9', {x: 100, y: 140, width: 20, height: 20});
     * // Create and add second item
     * let second: PdfRadioButtonListItem = new PdfRadioButtonListItem('10-49', {x: 100, y: 170, width: 20, height: 20}, page);
     * Add list item to the field
     * field.add(second);
     * // Sets selected index of the radio button list field
     * field.selectedIndex = 0;
     * // Add the field into PDF form
     * form.add(field);
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    add(value: string, bounds: {
        x: number;
        y: number;
        width: number;
        height: number;
    }): PdfRadioButtonListItem;
    /**
     * Remove the radio button list item from the specified index.
     *
     * @param {number} index Item index to remove.
     * @returns {void} Nothing.
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Access the form field at index 0
     * let field$: PdfField = document.form.fieldAt(0);
     * // Remove the first item of the form field
     * field.removeItemAt(0);
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    removeItemAt(index: number): void;
    /**
     * Remove the specified radio button list field item.
     *
     * @param {PdfRadioButtonListItem} item Item to remove.
     * @returns {void} Nothing.
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Access the form field at index 0
     * let field$: PdfField = document.form.fieldAt(0);
     * // Remove the first item of the form field
     * field.removeItem(field.itemAt(0));
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    removeItem(item: PdfRadioButtonListItem): void;
    _initialize(page: PdfPage, name: string): void;
    _retrieveOptionValue(): void;
    _obtainSelectedIndex(): number;
    _doPostProcess(isFlatten?: boolean): void;
    _createAppearance(widget: PdfRadioButtonListItem, state: _PdfCheckFieldState): PdfTemplate;
    _drawAppearance(item: PdfRadioButtonListItem): void;
}
/**
 * Represents the base class for list box and combo box fields.
 *
 * ```typescript
 * // Load an existing PDF document
 * let document$: PdfDocument = new PdfDocument(data);
 * // Gets the first page of the document
 * let page$: PdfPage = document.getPage(0);
 * // Access the PDF form
 * let form$: PdfForm = document.form;
 * // Access the combo box field
 * let comboBoxField: PdfListField = form.fieldAt(0) as PdfListField;
 * // Gets the count of the loaded combo box field items.
 * let comboItemsCount: number = comboBoxField.itemsCount;
 * // Access the list box field
 * let listBoxField: PdfListField = form.fieldAt(1) as PdfListField;
 * // Gets the count of the loaded list box field items.
 * let ListItemsCount: number = listBoxField.itemsCount;
 * // Save the document
 * document.save('output.pdf');
 * // Destroy the document
 * document.destroy();
 * ```
 */
export  abstract class PdfListField extends PdfField {
    _optionArray: Array<string[]>;
    _parsedItems: Map<number, PdfListFieldItem>;
    _listValues: string[];
    _selectedIndex: number;
    _multiSelect: boolean;
    _editable: boolean;
    _widgetAnnot: PdfWidgetAnnotation;
    _bounds: {
        x: number;
        y: number;
        width: number;
        height: number;
    };
    /**
     * Gets the count of the loaded field items (Read only).
     *
     * @returns {number} Items count.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data);
     * // Gets the first page of the document
     * let page$: PdfPage = document.getPage(0);
     * // Access the PDF form
     * let form$: PdfForm = document.form;
     * // Access the combo box field
     * let comboBoxField: PdfComboBoxField = form.fieldAt(0) as PdfComboBoxField;
     * // Gets the count of the loaded combo box field items.
     * let comboItemsCount: number = comboBoxField.itemsCount;
     * // Access the list box field
     * let listBoxField: PdfListBoxField = form.fieldAt(1) as PdfListBoxField;
     * // Gets the count of the loaded list box field items.
     * let ListItemsCount: number = listBoxField.itemsCount;
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    readonly itemsCount: number;
    /**
     * Gets the bounds.
     *
     * @returns {{ x: number, y: number, width: number, height: number }} Bounds.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data);
     * // Gets the first page of the document
     * let page$: PdfPage = document.getPage(0);
     * // Access the PDF form
     * let form$: PdfForm = document.form;
     * // Access the combo box field
     * let comboBoxField: PdfComboBoxField = form.fieldAt(0) as PdfComboBoxField;
     * // Gets the bounds of combo box field.
     * let comboBoxBounds: {x: number, y: number, width: number, height: number} = comboBoxField.bounds;
     * // Access the combo box field
     * let listBoxField: PdfListBoxField = form.fieldAt(1) as PdfListBoxField;
     * // Gets the bounds of list box field.
     * let listBoxBounds: {x: number, y: number, width: number, height: number} = listBoxField.bounds;
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Sets the bounds.
    *
    * @param {{ x: number, y: number, width: number, height: number }} value bounds.
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data);
    * // Gets the first page of the document
    * let page$: PdfPage = document.getPage(0);
    * // Access the PDF form
    * let form$: PdfForm = document.form;
    * // Access the combo box field
    * let comboBoxField: PdfComboBoxField = form.fieldAt(0) as PdfComboBoxField;
    * // Sets the bounds of combo box field.
    * comboBoxField.bounds = {x: 10, y: 10, width: 100, height: 30};
    * // Access the list box field
    * let listBoxField: PdfListBoxField = form.fieldAt(1) as PdfListBoxField;
    * // Sets the bounds of list box field.
    * listBoxField.bounds = {x: 10, y: 50, width: 100, height: 30};
    * // Save the document
    * document.save('output.pdf');
    * // Destroy the document
    * document.destroy();
    * ```
    */
    bounds: {
        x: number;
        y: number;
        width: number;
        height: number;
    };
    /**
     * Gets the selected item index or indexes.
     *
     * @returns {number | number[]} Index.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data);
     * // Gets the first page of the document
     * let page$: PdfPage = document.getPage(0);
     * // Access the PDF form
     * let form$: PdfForm = document.form;
     * // Access the combo box field
     * let comboBoxfield: PdfComboBoxField = form.fieldAt(0) as PdfComboBoxField;
     * // Gets the selected item index or indexes from combo box field.
     * let comboBoxIndex: number = comboBoxfield.selectedIndex;
     * // Access the list box field
     * let listBoxField: PdfListBoxField = form.fieldAt(1) as PdfListBoxField;
     * // Gets the selected item index or indexes from list box field.
     * let listBoxIndex: number = listBoxField.selectedIndex;
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Sets the selected item index or indexes.
    *
    * @param {number | number[]} value Selected index.
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data);
    * // Gets the first page of the document
    * let page$: PdfPage = document.getPage(0);
    * // Access the PDF form
    * let form$: PdfForm = document.form;
    * // Create a new list box field
    * let listField: PdfListField = new PdfListBoxField(page, 'list1', {x: 100, y: 60, width: 100, height: 50});
    * // Add list items to the field.
    * listField.addItem(new PdfListFieldItem('English', 'English'));
    * listField.addItem(new PdfListFieldItem('French', 'French'));
    * listField.addItem(new PdfListFieldItem('German', 'German'));
    * // Sets the selected index
    * listField.selectedIndex = 2;
    * // Sets the flag indicates whether the list box allows multiple selections.
    * listField.multiSelect = true;
    * // Add the field into PDF form
    * form.add(listField);
    * // Create a new combo box field
    * let comboField: PdfComboBoxField = new PdfComboBoxField(page, 'list1', {x: 100, y: 160, width: 100, height: 50});
    * // Add list items to the field.
    * comboField.addItem(new PdfListFieldItem('English', 'English'));
    * comboField.addItem(new PdfListFieldItem('French', 'French'));
    * comboField.addItem(new PdfListFieldItem('German', 'German'));
    * // Sets the selected index
    * comboField.selectedIndex = 2;
    * // Sets the flag indicates whether the combo box allows multiple selections.
    * comboField.multiSelect = true;
    * // Add the field into PDF form
    * form.add(comboField);
    * // Save the document
    * document.save('output.pdf');
    * // Destroy the document
    * document.destroy();
    * ```
    */
    selectedIndex: number | number[];
    /**
     * Gets the selected item value or values.
     *
     * @returns {string | string[]} Selected values.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data);
     * // Gets the first page of the document
     * let page$: PdfPage = document.getPage(0);
     * // Access the PDF form
     * let form$: PdfForm = document.form;
     * // Access the list box field
     * let listBoxField: PdfListBoxField = form.fieldAt(0) as PdfListBoxField;
     * // Gets the selected item value or values from list box field.
     * if (listBoxField.multiSelect) {
     *     let listBoxValues: string[];
 = listBoxField.selectedValue;
     * } else {
     *    let listBoxValues: string = listBoxField.selectedValue;
     * }
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Sets the selected item value or values.
    *
    * @param {string | string[]} value Selected values.
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data);
    * // Gets the first page of the document
    * let page$: PdfPage = document.getPage(0);
    * // Access the PDF form
    * let form$: PdfForm = document.form;
    * // Create a new list box field
    * let listField: PdfListField = new PdfListBoxField(page, 'list1', {x: 100, y: 60, width: 100, height: 50});
    * // Add list items to the field.
    * listField.addItem(new PdfListFieldItem('English', 'English'));
    * listField.addItem(new PdfListFieldItem('French', 'French'));
    * listField.addItem(new PdfListFieldItem('German', 'German'));
    * // Sets the flag indicates whether the list box allows multiple selections.
    * listField.multiSelect = true;
    * // Sets the selected values
    * listField.selectedValue = ['English', 'German'];
    * // Add the field into PDF form
    * form.add(listField);
    * // Create a new combo box field
    * let comboField: PdfComboBoxField = new PdfComboBoxField(page, 'list1', {x: 100, y: 160, width: 100, height: 50});
    * // Add list items to the field.
    * comboField.addItem(new PdfListFieldItem('English', 'English'));
    * comboField.addItem(new PdfListFieldItem('French', 'French'));
    * comboField.addItem(new PdfListFieldItem('German', 'German'));
    * // Sets the selected value
    * comboField.selectedValue = ['French'];
    * // Add the field into PDF form
    * form.add(comboField);
    * // Save the document
    * document.save('output.pdf');
    * // Destroy the document
    * document.destroy();
    * ```
    */
    selectedValue: string | string[];
    /**
     * Gets the flag indicates whether the list field allows multiple selections.
     *
     * @returns {boolean} Value indicates whether the list field allows multiple selections.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data);
     * // Gets the first page of the document
     * let page$: PdfPage = document.getPage(0);
     * // Access the PDF form
     * let form$: PdfForm = document.form;
     * // Access the combo box field
     * let comboBoxField: PdfComboBoxField = form.fieldAt(0) as PdfComboBoxField;
     * // Gets the flag indicates whether the combo box allows multiple selections.
     * let comboBoxFlag: Boolean = comboBoxField.multiSelect;
     * // Access the list box field
     * let listBoxField: PdfListBoxField = form.fieldAt(1) as PdfListBoxField;
     * // Gets the flag indicates whether the list box allows multiple selections.
     * let listBoxFlag: boolean = listBoxField.multiSelect;
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Sets the flag indicates whether the list field allows multiple selections.
    *
    * @param {boolean} value Indicates whether the list field allows multiple selections.
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data);
    * // Gets the first page of the document
    * let page$: PdfPage = document.getPage(0);
    * // Access the PDF form
    * let form$: PdfForm = document.form;
    * // Create a new list box field
    * let listField: PdfListField = new PdfListBoxField(page, 'list1', {x: 100, y: 60, width: 100, height: 50});
    * // Add list items to the field.
    * listField.addItem(new PdfListFieldItem('English', 'English'));
    * listField.addItem(new PdfListFieldItem('French', 'French'));
    * listField.addItem(new PdfListFieldItem('German', 'German'));
    * // Sets the selected index
    * listField.selectedIndex = 2;
    * // Sets the flag indicates whether the list box allows multiple selections.
    * listField.multiSelect = true;
    * // Add the field into PDF form
    * form.add(listField);
    * // Create a new combo box field
    * let comboField: PdfComboBoxField = new PdfComboBoxField(page, 'list1', {x: 100, y: 160, width: 100, height: 50});
    * // Add list items to the field.
    * comboField.addItem(new PdfListFieldItem('English', 'English'));
    * comboField.addItem(new PdfListFieldItem('French', 'French'));
    * comboField.addItem(new PdfListFieldItem('German', 'German'));
    * // Sets the selected index
    * comboField.selectedIndex = 2;
    * // Sets the flag indicates whether the combo box allows multiple selections.
    * comboField.multiSelect = true;
    * // Add the field into PDF form
    * form.add(comboField);
    * // Save the document
    * document.save('output.pdf');
    * // Destroy the document
    * document.destroy();
    * ```
    */
    multiSelect: boolean;
    /**
     * Gets the flag indicates whether the list field is editable.
     *
     * @returns {boolean} Value indicates whether the list field is editable.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data);
     * // Gets the first page of the document
     * let page$: PdfPage = document.getPage(0);
     * // Access the PDF form
     * let form$: PdfForm = document.form;
     * // Access the combo box field
     * let comboBoxField: PdfComboBoxField = form.fieldAt(0) as PdfComboBoxField;
     * // Gets the flag indicates whether the combo box is editable.
     * let comboBoxFlag: Boolean = comboBoxField.editable;
     * // Access the list box field
     * let listBoxField: PdfListBoxField = form.fieldAt(1) as PdfListBoxField;
     * // Gets the flag indicates whether the list box is editable.
     * let listBoxFlag: boolean = listBoxField.editable;
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Sets the flag indicates whether the list field is editable.
    *
    * @param {boolean} value Indicates whether the list field is editable.
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data);
    * // Gets the first page of the document
    * let page$: PdfPage = document.getPage(0);
    * // Access the PDF form
    * let form$: PdfForm = document.form;
    * // Create a new list box field
    * let listField: PdfListField = new PdfListBoxField(page, 'list1', {x: 100, y: 60, width: 100, height: 50});
    * // Add list items to the field.
    * listField.addItem(new PdfListFieldItem('English', 'English'));
    * listField.addItem(new PdfListFieldItem('French', 'French'));
    * listField.addItem(new PdfListFieldItem('German', 'German'));
    * // Sets the selected index
    * listField.selectedIndex = 2;
    * // Sets the flag indicates whether the list box is editable.
    * listField.editable = true;
    * // Add the field into PDF form
    * form.add(listField);
    * // Create a new combo box field
    * let comboField: PdfComboBoxField = new PdfComboBoxField(page, 'list1', {x: 100, y: 160, width: 100, height: 50});
    * // Add list items to the field.
    * comboField.addItem(new PdfListFieldItem('English', 'English'));
    * comboField.addItem(new PdfListFieldItem('French', 'French'));
    * comboField.addItem(new PdfListFieldItem('German', 'German'));
    * // Sets the selected index
    * comboField.selectedIndex = 2;
    * // Sets the flag indicates whether the combo box is editable.
    * comboField.editable = true;
    * // Add the field into PDF form
    * form.add(comboField);
    * // Save the document
    * document.save('output.pdf');
    * // Destroy the document
    * document.destroy();
    * ```
    */
    editable: boolean;
    /**
     * Gets the font of the field.
     *
     * @returns {PdfFont} font.
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Access the form field at index 0
     * let field$: PdfListBoxField = document.form.fieldAt(0) as PdfListBoxField;
     * // Gets the font of the field.
     * let font$: PdfFont = field.font;
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Sets the font of the field.
    *
    * @param {PdfFont} value font.
    *
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data, password);
    * // Access the form field at index 0
    * let field$: PdfListBoxField = document.form.fieldAt(0) as PdfListBoxField;
    * // Sets the font of the field
    * field.font = new PdfStandardFont(PdfFontFamily.helvetica, 12, PdfFontStyle.bold);
    * // Save the document
    * document.save('output.pdf');
    * // Destroy the document
    * document.destroy();
    * ```
    */
    font: PdfFont;
    /**
     * Gets the text alignment in a combo box field.
     *
     * @returns {PdfTextAlignment} Text alignment.
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data);
     * // Access combo box field
     * let field$: PdfComboBoxField = document.form.fieldAt(0) as PdfComboBoxField;
     * // Gets the text alignment from combo box field
     * let alignment: PdfTextAlignment = field.textAlignment;
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Sets the text alignment in a combo box field.
    *
    * @param {PdfTextAlignment} value Text alignment.
    *
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data);
    * // Access combo box field
    * let field$: PdfComboBoxField = document.form.fieldAt(0) as PdfComboBoxField;
    * // Sets the text alignment of form field as center
    * field.textAlignment = PdfTextAlignment.center;
    * // Save the document
    * document.save('output.pdf');
    * // Destroy the document
    * document.destroy();
    * ```
    */
    textAlignment: PdfTextAlignment;
    /**
     * Gets the background color of the field.
     *
     * @returns {number[]} R, G, B color values in between 0 to 255.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Access the form field at index 0
     * let field$: PdfField = document.form.fieldAt(0);
     * // Gets the background color of the field.
     * let backColor: number[] = field.backColor;
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Sets the background color of the field.
    *
    * @param {number[]} value Array with R, G, B, A color values in between 0 to 255. For optional A (0-254), it signifies transparency.
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data, password);
    * // Access the list field at index 0
    * let list1: PdfField = document.form.fieldAt(0);
    * // Sets the background color of the field.
    * list1.backColor = [255, 0, 0];
    * // Access the list field at index 1
    * let list2: PdfField = document.form.fieldAt(1);
    * // Sets the background color of the field to transparent.
    * list2.backColor = [0, 0, 0, 0];
    * // Save the document
    * document.save('output.pdf');
    * // Destroy the document
    * document.destroy();
    * ```
    */
    backColor: number[];
    readonly _options: Array<string[]>;
    /**
     * Gets the item at the specified index.
     *
     * @param {number} index Index of the field item.
     * @returns {PdfListFieldItem} Field item at the index.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data);
     * // Gets the first page of the document
     * let page$: PdfPage = document.getPage(0);
     * // Access the PDF form
     * let form$: PdfForm = document.form;
     * // Access the list box field
     * let listBox: PdfListBoxField = form.fieldAt(0) as PdfListBoxField;
     * // Gets the first list item.
     * let listBoxItem: PdfListFieldItem = listBox.itemAt(0);
     * // Access the combo box field
     * let comboBox: PdfComboBoxField = form.fieldAt(1) as PdfComboBoxField;
     * // Gets the first list item.
     * let comboBoxItem: PdfListFieldItem = comboBox.itemAt(0);
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    itemAt(index: number): PdfListFieldItem;
    /**
     * Add list item.
     *
     * @param {PdfListFieldItem} item Item to add.
     * @returns {number} Index of the field item.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data);
     * // Gets the first page of the document
     * let page$: PdfPage = document.getPage(0);
     * // Access the PDF form
     * let form$: PdfForm = document.form;
     * // Create a new list box field
     * let listField: PdfListField = new PdfListBoxField(page, 'list1', {x: 100, y: 60, width: 100, height: 50});
     * // Add list items to the field.
     * listField.addItem(new PdfListFieldItem('English', 'English'));
     * listField.addItem(new PdfListFieldItem('French', 'French'));
     * listField.addItem(new PdfListFieldItem('German', 'German'));
     * // Sets the selected index
     * listField.selectedIndex = 2;
     * // Sets the flag indicates whether the list box allows multiple selections.
     * listField.multiSelect = true;
     * // Add the field into PDF form
     * form.add(listField);
     * // Create a new combo box field
     * let comboField: PdfComboBoxField = new PdfComboBoxField(page, 'list1', {x: 100, y: 160, width: 100, height: 50});
     * // Add list items to the field.
     * comboField.addItem(new PdfListFieldItem('English', 'English'));
     * comboField.addItem(new PdfListFieldItem('French', 'French'));
     * comboField.addItem(new PdfListFieldItem('German', 'German'));
     * // Sets the selected index
     * comboField.selectedIndex = 2;
     * // Sets the flag indicates whether the combo box allows multiple selections.
     * comboField.multiSelect = true;
     * // Add the field into PDF form
     * form.add(comboField);
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    addItem(item: PdfListFieldItem): number;
    /**
     * Remove the list item from the specified index.
     *
     * @param {number} index Item index to remove.
     * @returns {void} Nothing.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data);
     * // Gets the first page of the document
     * let page$: PdfPage = document.getPage(0);
     * // Access the PDF form
     * let form$: PdfForm = document.form;
     * // Access the list box field
     * let listBoxField: PdfListBoxField = form.fieldAt(0) as PdfListBoxField;
     * // Remove the list item from the list box field
     * listBoxField.removeItemAt(1);
     * // Access the combo box field
     * let comboBoxField: PdfComboBoxField = form.fieldAt(1) as PdfComboBoxField;
     * // Remove the list item from the combo box field
     * comboBoxField.removeItemAt(0);
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    removeItemAt(index: number): void;
    /**
     * Remove the list item.
     *
     * @param {PdfListFieldItem} item Item to remove.
     * @returns {void} Nothing.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data);
     * // Gets the first page of the document
     * let page$: PdfPage = document.getPage(0);
     * // Access the PDF form
     * let form$: PdfForm = document.form;
     * // Access the list box field
     * let listBoxField: PdfListBoxField = form.fieldAt(0) as PdfListBoxField;
     * // Remove the list item from the list box field
     * listBoxField.removeItem(listBoxField.itemAt(1));
     * // Access the combo box field
     * let comboBoxField: PdfComboBoxField = form.fieldAt(1) as PdfComboBoxField;
     * // Remove the list item from the combo box field
     * comboBoxField.removeItem(comboBoxField.itemAt(0));
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    removeItem(item: PdfListFieldItem): void;
    _initialize(page: PdfPage, name: string, bounds: {
        x: number;
        y: number;
        width: number;
        height: number;
    }): void;
    abstract _getFontHeight(font: PdfFontFamily): number;
    abstract _createAppearance(item?: PdfListFieldItem): PdfTemplate;
    _obtainFont(item?: PdfListFieldItem): PdfFont;
    _obtainSelectedValue(): string[];
    _doPostProcess(isFlatten?: boolean): void;
    _tryGetIndex(value: string): number;
    _addEmptyWidget(): void;
}
/**
 * `PdfComboBoxField` class represents the combo box field objects.
 * ```typescript
 * // Load an existing PDF document
 * let document$: PdfDocument = new PdfDocument(data);
 * // Gets the first page of the document
 * let page$: PdfPage = document.getPage(0);
 * // Access the PDF form
 * let form$: PdfForm = document.form;
 * // Create a new combo box field
 * let field$: PdfComboBoxField = new PdfComboBoxField(page, 'list1', {x: 100, y: 60, width: 100, height: 50});
 * // Add list items to the field.
 * field.addItem(new PdfListFieldItem('English', 'English'));
 * field.addItem(new PdfListFieldItem('French', 'French'));
 * field.addItem(new PdfListFieldItem('German', 'German'));
 * // Sets the selected index
 * field.selectedIndex = 2;
 * // Sets the flag indicates whether the combo box allows multiple selections.
 * field.multiSelect = true;
 * // Add the field into PDF form
 * form.add(field);
 * // Save the document
 * document.save('output.pdf');
 * // Destroy the document
 * document.destroy();
 * ```
 */
export  class PdfComboBoxField extends PdfListField {
    /**
     * Represents a combo box field of the PDF document.
     *
     * @private
     */
    constructor();
    /**
     * Represents a combo box field of the PDF document.
     *
     * @param {PdfPage} page The page where the field is drawn.
     * @param {string} name The name of the field.
     * @param {{x: number, y: number, width: number, height: number}} bounds The bounds of the field.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data);
     * // Gets the first page of the document
     * let page$: PdfPage = document.getPage(0);
     * // Access the PDF form
     * let form$: PdfForm = document.form;
     * // Create a new combo box field
     * let field$: PdfComboBoxField = new PdfComboBoxField(page, 'list1', {x: 100, y: 60, width: 100, height: 50});
     * // Add list items to the field.
     * field.addItem(new PdfListFieldItem('English', 'English'));
     * field.addItem(new PdfListFieldItem('French', 'French'));
     * field.addItem(new PdfListFieldItem('German', 'German'));
     * // Sets the selected index
     * field.selectedIndex = 2;
     * // Sets the flag indicates whether the combo box allows multiple selections.
     * field.multiSelect = true;
     * // Add the field into PDF form
     * form.add(field);
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    constructor(page: PdfPage, name: string, bounds: {
        x: number;
        y: number;
        width: number;
        height: number;
    });
    /**
     * Gets the boolean flag indicates whether the combo box field is auto size.
     *
     * @private
     * @returns {boolean} Returns the boolean value to check auto size.
     */
    readonly _isAutoFontSize: boolean;
    /**
     * Parse an existing combo box field.
     *
     * @private
     * @param {PdfForm} form Form object.
     * @param {_PdfDictionary} dictionary Field dictionary.
     * @param {_PdfCrossReference} crossReference Cross reference object.
     * @param {_PdfReference} reference Field reference.
     * @returns {PdfComboBoxField} Combo box field.
     */
    static _load(form: PdfForm, dictionary: _PdfDictionary, crossReference: _PdfCrossReference, reference: _PdfReference): PdfComboBoxField;
    _retrieveOptionValue(): void;
    _createAppearance(item?: PdfListFieldItem): PdfTemplate;
    _drawComboBox(graphics: PdfGraphics, parameter?: _PaintParameter, font?: PdfFont, stringFormat?: PdfStringFormat): void;
    _getFontHeight(fontFamily: PdfFontFamily): number;
}
/**
 * `PdfListBoxField` class represents the list box field objects.
 * ```typescript
 * // Load an existing PDF document
 * let document$: PdfDocument = new PdfDocument(data);
 * // Gets the first page of the document
 * let page$: PdfPage = document.getPage(0);
 * // Access the PDF form
 * let form$: PdfForm = document.form;
 * // Create a new list box field
 * let field$: PdfListBoxField = new PdfListBoxField(page, 'list1', {x: 100, y: 60, width: 100, height: 50});
 * // Add list items to the field.
 * field.addItem(new PdfListFieldItem('English', 'English'));
 * field.addItem(new PdfListFieldItem('French', 'French'));
 * field.addItem(new PdfListFieldItem('German', 'German'));
 * // Sets the selected index
 * field.selectedIndex = 2;
 * // Sets the flag indicates whether the list box allows multiple selections.
 * field.multiSelect = true;
 * // Add the field into PDF form
 * form.add(field);
 * // Save the document
 * document.save('output.pdf');
 * // Destroy the document
 * document.destroy();
 * ```
 */
export  class PdfListBoxField extends PdfListField {
    /**
     * Represents a list box field of the PDF document.
     *
     * @private
     */
    constructor();
    /**
     * Represents a list box field of the PDF document.
     *
     * @param {PdfPage} page The page where the field is drawn.
     * @param {string} name The name of the field.
     * @param {{x: number, y: number, width: number, height: number}} bounds The bounds of the field.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data);
     * // Gets the first page of the document
     * let page$: PdfPage = document.getPage(0);
     * // Access the PDF form
     * let form$: PdfForm = document.form;
     * // Create a new list box field
     * let field$: PdfListBoxField = new PdfListBoxField(page, 'list1', {x: 100, y: 60, width: 100, height: 50});
     * // Add list items to the field.
     * field.addItem(new PdfListFieldItem('English', 'English'));
     * field.addItem(new PdfListFieldItem('French', 'French'));
     * field.addItem(new PdfListFieldItem('German', 'German'));
     * // Sets the selected index
     * field.selectedIndex = 2;
     * // Sets the flag indicates whether the list box allows multiple selections.
     * field.multiSelect = true;
     * // Add the field into PDF form
     * form.add(field);
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    constructor(page: PdfPage, name: string, bounds: {
        x: number;
        y: number;
        width: number;
        height: number;
    });
    /**
     * Parse an existing list box field of the PDF document.
     *
     * @private
     * @param {number} form maximum length.
     * @param {_PdfDictionary} dictionary maximum length.
     * @param {_PdfCrossReference} crossReference maximum length.
     * @param {_PdfReference} reference maximum length.
     * @returns {PdfListBoxField} List box field.
     */
    static _load(form: PdfForm, dictionary: _PdfDictionary, crossReference: _PdfCrossReference, reference: _PdfReference): PdfListBoxField;
    _retrieveOptionValue(): void;
    _createAppearance(item?: PdfListFieldItem): PdfTemplate;
    _drawListBox(graphics: PdfGraphics, parameter?: _PaintParameter, font?: PdfFont, stringFormat?: PdfStringFormat): void;
    _getFontHeight(fontFamily: PdfFontFamily): number;
}
/**
 * `PdfSignatureField` class represents the signature field objects.
 * ```typescript
 * // Load an existing PDF document
 * let document$: PdfDocument = new PdfDocument(data);
 * // Gets the first page of the document
 * let page$: PdfPage = document.getPage(0);
 * // Access the PDF form
 * let form$: PdfForm = document.form;
 * // Create a new signature field
 * let field$: PdfSignatureField = new PdfSignatureField(page, 'Signature', {x: 10, y: 10, width: 100, height: 50});
 * // Add the field into PDF form
 * form.add(field);
 * // Save the document
 * document.save('output.pdf');
 * // Destroy the document
 * document.destroy();
 * ```
 */
export  class PdfSignatureField extends PdfField {
    _isSigned: boolean;
    /**
     * Represents a signature field of the PDF document.
     *
     * @private
     */
    constructor();
    /**
     * Represents a signature field of the PDF document.
     *
     * @private
     * @param {PdfPage} page The page to which the signature field is added.
     * @param {string} name The name of the signature field.
     * @param {{x: number, y: number, width: number, height: number}} bounds The bounds of the signature field.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data);
     * // Gets the first page of the document
     * let page$: PdfPage = document.getPage(0);
     * // Access the PDF form
     * let form$: PdfForm = document.form;
     * // Create a new signature field
     * let field$: PdfSignatureField = new PdfSignatureField(page, 'Signature', {x: 10, y: 10, width: 100, height: 50});
     * // Add the field into PDF form
     * form.add(field);
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    constructor(page: PdfPage, name: string, bounds: {
        x: number;
        y: number;
        width: number;
        height: number;
    });
    /**
     * Gets the flag to indicate whether the field is signed or not.
     *
     * @returns {boolean} Returns true if the field is signed;
 otherwise, false.
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Access the loaded signature field
     * let field$: PdfSignatureField = document.form.fieldAt(0) as PdfSignatureField;
     * // Get the signed status of the field
     * let isSigned: boolean = field.isSigned;
     * // Destroy the document
     * document.destroy();
     * ```
     */
    readonly isSigned: boolean;
    /**
     * Gets the background color of the field.
     *
     * @returns {number[]} R, G, B color values in between 0 to 255.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Access the form field at index 0
     * let field$: PdfField = document.form.fieldAt(0);
     * // Gets the background color of the field.
     * let backColor: number[] = field.backColor;
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Sets the background color of the field.
    *
    * @param {number[]} value Array with R, G, B, A color values in between 0 to 255. For optional A (0-254), it signifies transparency.
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data, password);
    * // Access the signature field at index 0
    * let field1$: PdfField = document.form.fieldAt(0);
    * // Sets the background color of the field.
    * field1.backColor = [255, 0, 0];
    * // Access the signature field at index 1
    * let field2: PdfField = document.form.fieldAt(1);
    * // Sets the background color of the field to transparent.
    * field2.backColor = [0, 0, 0, 0];
    * // Save the document
    * document.save('output.pdf');
    * // Destroy the document
    * document.destroy();
    * ```
    */
    backColor: number[];
    static _load(form: PdfForm, dictionary: _PdfDictionary, crossReference: _PdfCrossReference, reference: _PdfReference): PdfSignatureField;
    _initialize(page: PdfPage, name: string, bounds: {
        x: number;
        y: number;
        width: number;
        height: number;
    }): void;
    _createItem(bounds: {
        x: number;
        y: number;
        width: number;
        height: number;
    }): void;
    _doPostProcess(isFlatten?: boolean): void;
    _createAppearance(widget: PdfWidgetAnnotation, isFlatten: boolean): PdfTemplate;
    _flattenSignature(dictionary: _PdfDictionary, page: PdfPage, bounds: {
        x: number;
        y: number;
        width: number;
        height: number;
    }, signatureTemplate?: PdfTemplate): void;
    _calculateTemplateBounds(bounds: {
        x: number;
        y: number;
        width: number;
        height: number;
    }, page: PdfPage, template: PdfTemplate, graphics: PdfGraphics): {
        x: number;
        y: number;
        width: number;
        height: number;
    };
    _obtainGraphicsRotation(matrix: _PdfTransformationMatrix): number;
    _getItemTemplate(dictionary: _PdfDictionary): PdfTemplate;
    _checkSigned(): void;
}
export  class _PdfDefaultAppearance {
    fontName: string;
    fontSize: number;
    color: number[];
    constructor(da?: string);
    toString(): string;
}
//node_modules/@syncfusion/ej2-pdf/src/pdf/core/fonts/unicode-true-type-font.d.ts
export  class _UnicodeTrueTypeFont {
    readonly _nameString: string;
    _subsetName: string;
    _fontSize: number;
    _fontData: Uint8Array;
    _ttfReader: _TrueTypeReader;
    _ttfMetrics: _TrueTypeMetrics;
    _isEmbed: boolean;
    _fontDictionary: _PdfDictionary;
    _descendantFont: _PdfDictionary;
    _fontDescriptor: _PdfDictionary;
    _metrics: _PdfFontMetrics;
    _usedChars: Dictionary<string, string>;
    _isEmbedFont: boolean;
    _cmap: _PdfStream;
    _fontProgram: _PdfStream;
    _cmapPrefix: string;
    _cmapEndCodeSpaceRange: string;
    _cmapBeginRange: string;
    _cmapEndRange: string;
    _cmapSuffix: string;
    constructor(data: string | Uint8Array, size: number);
    _beginSave(): void;
    _descendantFontBeginSave(): void;
    _fontDictionaryBeginSave(): void;
    _createInternals(): void;
    _getInternals(): _PdfDictionary;
    _initializeMetrics(): void;
    _getFontName(): string;
    _createDescendantFont(): void;
    _createFontDescriptor(): _PdfDictionary;
    _generateFontProgram(): void;
    _getBoundBox(): number[];
    _cmapBeginSave(): void;
    _fontProgramBeginSave(): void;
    _toHexString(n: number, isCaseChange: boolean): string;
    _generateCmap(): void;
    _createFontDictionary(): void;
    _createSystemInfo(): _PdfDictionary;
    _getDescriptorFlags(): number;
    _getCharacterWidth(charCode: string): number;
    _setSymbols(text: string): void;
    _getDescendantWidth(): Array<any>;
}
//node_modules/@syncfusion/ej2-pdf/src/pdf/core/fonts/ttf-table.d.ts
export  class _TrueTypeTableInfo {
    _offset: number;
    _length: number;
    _checksum: number;
    readonly _empty: boolean;
}
export  class _TrueTypeOS2Table {
    _version: number;
    _xAvgCharWidth: number;
    _usWeightClass: number;
    _usWidthClass: number;
    _fsType: number;
    _ySubscriptXSize: number;
    _ySubscriptYSize: number;
    _ySubscriptXOffset: number;
    _ySubscriptYOffset: number;
    _ySuperscriptXSize: number;
    _ySuperscriptYSize: number;
    _ySuperscriptXOffset: number;
    _ySuperscriptYOffset: number;
    _yStrikeoutSize: number;
    _yStrikeoutPosition: number;
    _sFamilyClass: number;
    _panose: number[];
    _ulUnicodeRange1: number;
    _ulUnicodeRange2: number;
    _ulUnicodeRange3: number;
    _ulUnicodeRange4: number;
    _vendorIdentifier: number[];
    _fsSelection: number;
    _usFirstCharIndex: number;
    _usLastCharIndex: number;
    _sTypoAscender: number;
    _sTypoDescender: number;
    _sTypoLineGap: number;
    _usWinAscent: number;
    _usWinDescent: number;
    _ulCodePageRange1: number;
    _ulCodePageRange2: number;
    _sxHeight: number;
    _sCapHeight: number;
    _usDefaultChar: number;
    _usBreakChar: number;
    _usMaxContext: number;
}
export  class _TrueTypePostTable {
    _formatType: number;
    _italicAngle: number;
    _underlinePosition: number;
    _underlineThickness: number;
    _isFixedPitch: number;
    _minType42: number;
    _maxType42: number;
    _minType1: number;
    _maxType1: number;
}
export  class _TrueTypeNameTable {
    _formatSelector: number;
    _recordsCount: number;
    _offset: number;
    _nameRecords: _TrueTypeNameRecord[];
}
export  class _TrueTypeMicrosoftCmapSubTable {
    _format: number;
    _length: number;
    _version: number;
    _segCountX2: number;
    _searchRange: number;
    _entrySelector: number;
    _rangeShift: number;
    _endCount: number[];
    _reservedPad: number;
    _startCount: number[];
    _idDelta: number[];
    _idRangeOffset: number[];
    _glyphID: number[];
}
export  class _TrueTypeHorizontalHeaderTable {
    _version: number;
    _ascender: number;
    _advanceWidthMax: number;
    _descender: number;
    _numberOfHMetrics: number;
    _lineGap: number;
    _minLeftSideBearing: number;
    _minRightSideBearing: number;
    _xMaxExtent: number;
    _caretSlopeRise: number;
    _caretSlopeRun: number;
    _metricDataFormat: number;
}
export  class _TrueTypeHeadTable {
    _modified: number;
    _created: number;
    _magicNumber: number;
    _checkSumAdjustment: number;
    _fontRevision: number;
    _version: number;
    _xMin: number;
    _yMin: number;
    _unitsPerEm: number;
    _yMax: number;
    _xMax: number;
    _macStyle: number;
    _flags: number;
    _lowestReadableSize: number;
    _fontDirectionHint: number;
    _indexToLocalFormat: number;
    _glyphDataFormat: number;
}
export  class _TrueTypeCmapTable {
    _version: number;
    _tablesCount: number;
}
export  class _TrueTypeCmapSubTable {
    _platformID: number;
    _encodingID: number;
    _offset: number;
}
export  class _TrueTypeAppleCmapSubTable {
    _format: number;
    _length: number;
    _version: number;
}
export  class _TrueTypeTrimmedCmapSubTable {
    _format: number;
    _length: number;
    _version: number;
    _firstCode: number;
    _entryCount: number;
}
//node_modules/@syncfusion/ej2-pdf/src/pdf/core/fonts/ttf-reader.d.ts
export  class _TrueTypeReader {
    _fontData: Uint8Array;
    readonly _int32Size: number;
    _offset: number;
    _tableDirectory: Dictionary<string, _TrueTypeTableInfo>;
    _isFont: boolean;
    _isMacTtf: boolean;
    _lowestPosition: number;
    _metrics: _TrueTypeMetrics;
    _maxMacIndex: number;
    _isFontPresent: boolean;
    _isMacFont: boolean;
    _missedGlyphs: number;
    _tableNames: string[];
    _entrySelectors: number[];
    _width: number[];
    _bIsLocaShort: boolean;
    _macintoshDictionary: Dictionary<number, _TrueTypeGlyph>;
    _microsoftDictionary: Dictionary<number, _TrueTypeGlyph>;
    _internalMacintoshGlyphs: Dictionary<number, _TrueTypeGlyph>;
    _internalMicrosoftGlyphs: Dictionary<number, _TrueTypeGlyph>;
    readonly macintosh: Dictionary<number, _TrueTypeGlyph>;
    readonly _microsoft: Dictionary<number, _TrueTypeGlyph>;
    readonly _macintoshGlyphs: Dictionary<number, _TrueTypeGlyph>;
    readonly _microsoftGlyphs: Dictionary<number, _TrueTypeGlyph>;
    constructor(fontData: Uint8Array);
    _initialize(): void;
    _readFontDictionary(): void;
    _fixOffsets(): void;
    _check(): number;
    _readNameTable(): _TrueTypeNameTable;
    _readHeadTable(): _TrueTypeHeadTable;
    _readHorizontalHeaderTable(): _TrueTypeHorizontalHeaderTable;
    _readOS2Table(): _TrueTypeOS2Table;
    _readPostTable(): _TrueTypePostTable;
    _readWidthTable(glyphCount: number, unitsPerEm: number): number[];
    _readCmapTable(): _TrueTypeCmapSubTable[];
    _readCmapSubTable(subTable: _TrueTypeCmapSubTable): void;
    _readAppleCmapTable(subTable: _TrueTypeCmapSubTable, encoding: _TrueTypeCmapEncoding): void;
    _readMicrosoftCmapTable(subTable: _TrueTypeCmapSubTable, encoding: _TrueTypeCmapEncoding): void;
    _readTrimmedCmapTable(subTable: _TrueTypeCmapSubTable, encoding: _TrueTypeCmapEncoding): void;
    _initializeFontName(nameTable: _TrueTypeNameTable): void;
    _getTable(name: string): _TrueTypeTableInfo;
    _getWidth(glyphCode: number): number;
    _getCmapEncoding(platformID: number, encodingID: number): _TrueTypeCmapEncoding;
    _addGlyph(glyph: _TrueTypeGlyph, encoding: _TrueTypeCmapEncoding): void;
    _initializeMetrics(nameTable: _TrueTypeNameTable, headTable: _TrueTypeHeadTable, horizontalHeadTable: _TrueTypeHorizontalHeaderTable, os2Table: _TrueTypeOS2Table, postTable: _TrueTypePostTable, cmapTables: _TrueTypeCmapSubTable[]): void;
    _updateWidth(): number[];
    _getDefaultGlyph(): _TrueTypeGlyph;
    _getString(byteToProcess: number[], start: number, length: number): string;
    _setOffset(offset: number): void;
    _readFontProgram(chars: Dictionary<string, string>): number[];
    _generateGlyphTable(glyphChars: Dictionary<number, number>, locaTable: _TrueTypeLocaTable, newLocaTable: number[], newGlyphTable: number[]): {
        glyphTableSize: number;
        newLocaTable: number[];
        newGlyphTable: number[];
    };
    _readLocaTable(bShort: boolean): _TrueTypeLocaTable;
    _updateGlyphChars(glyphChars: Dictionary<number, number>, locaTable: _TrueTypeLocaTable): void;
    _processCompositeGlyph(glyphChars: Dictionary<number, number>, glyph: number, locaTable: _TrueTypeLocaTable): void;
    _updateLocaTable(newLocaTable: number[], bLocaIsShort: boolean): {
        newLocaUpdated: number[];
        newLocaSize: number;
    };
    _align(value: number): number;
    _getFontProgram(newLocaTableOut: number[], newGlyphTable: number[], glyphTableSize: number, locaTableSize: number): number[];
    _getFontProgramLength(newLocaTableOut: number[], newGlyphTable: number[], table: number): {
        fontProgramLength: number;
        table: number;
    };
    _getGlyphChars(chars: Dictionary<string, string>): Dictionary<number, number>;
    _writeCheckSums(writer: _BigEndianWriter, table: number, newLocaTableOut: number[], newGlyphTable: number[], glyphTableSize: number, locaTableSize: number): void;
    _calculateCheckSum(bytes: number[]): number;
    _writeGlyphs(writer: _BigEndianWriter, newLocaTable: number[], newGlyphTable: number[]): void;
    _read(buffer: number[], index: number, count: number): {
        buffer: number[];
        written: number;
    };
    _createInternals(): void;
    _getGlyph(charCode: string): _TrueTypeGlyph;
    _getGlyph(charCode: number): _TrueTypeGlyph;
    _readString(length: number): string;
    _readString(length: number, isUnicode: boolean): string;
    _readFixed(offset: number): number;
    _readInt32(offset: number): number;
    _readUInt32(offset: number): number;
    _readInt16(offset: number): number;
    _readInt64(offset: number): number;
    _readUInt16(offset: number): number;
    _readUShortArray(length: number): number[];
    _readBytes(length: number): number[];
    _readByte(offset: number): number;
    _getCharacterWidth(code: string): number;
    _convertString(text: string): string;
}
export  class _TrueTypeNameRecord {
    _platformID: number;
    _encodingID: number;
    _languageID: number;
    _nameID: number;
    _length: number;
    _offset: number;
    _name: string;
}
export  class _TrueTypeMetrics {
    _lineGap: number;
    _contains: boolean;
    _isSymbol: boolean;
    _isFixedPitch: boolean;
    _italicAngle: number;
    _postScriptName: string;
    _fontFamily: string;
    _capHeight: number;
    _leading: number;
    _macAscent: number;
    _macDescent: number;
    _winDescent: number;
    _winAscent: number;
    _stemV: number;
    _widthTable: number[];
    _macStyle: number;
    _subScriptSizeFactor: number;
    _superscriptSizeFactor: number;
    _fontBox: number[];
    readonly _isItalic: boolean;
    readonly _isBold: boolean;
}
export  class _TrueTypeLongHorMetric {
    _advanceWidth: number;
    _lsb: number;
}
export  class _TrueTypeGlyph {
    _index: number;
    _width: number;
    _charCode: number;
    readonly _empty: boolean;
}
export  class _TrueTypeLocaTable {
    _offsets: number[];
}
export  class _TrueTypeGlyphHeader {
    numberOfContours: number;
    xMin: number;
    yMin: number;
    xMax: number;
    yMax: number;
}
export  class _BigEndianWriter {
    readonly int32Size: number;
    readonly int16Size: number;
    readonly int64Size: number;
    _buffer: number[];
    _bufferLength: number;
    _internalPosition: number;
    readonly _data: number[];
    readonly _position: number;
    constructor(capacity: number);
    _writeShort(value: number): void;
    _writeInt(value: number): void;
    _writeUInt(value: number): void;
    _writeString(value: string): void;
    _writeBytes(value: number[]): void;
    _flush(buff: number[]): void;
}
//node_modules/@syncfusion/ej2-pdf/src/pdf/core/fonts/string-layouter.d.ts
export  class _PdfStringLayouter {
    _font: PdfFont;
    _format: PdfStringFormat;
    _size: number[];
    _rectangle: number[];
    _pageHeight: number;
    _reader: _StringTokenizer;
    _layout(text: string, font: PdfFont, format: PdfStringFormat, size: number[]): _PdfStringLayoutResult;
    _initialize(text: string, font: PdfFont, format: PdfStringFormat, size: number[]): void;
    _clear(): void;
    _doLayout(): _PdfStringLayoutResult;
    _getLineIndent(firstLine: boolean): number;
    _getLineHeight(): number;
    _getLineWidth(line: string): number;
    _layoutLine(line: string, lineIndent: number): _PdfStringLayoutResult;
    _addToLineResult(lineResult: _PdfStringLayoutResult, lines: _LineInfo[], line: string, lineWidth: number, breakType: _LineType): void;
    _copyToResult(result: _PdfStringLayoutResult, lineResult: _PdfStringLayoutResult, lines: _LineInfo[], flag: number): {
        success: boolean;
        flag: number;
    };
    _finalizeResult(result: _PdfStringLayoutResult, lines: _LineInfo[]): void;
    _trimLine(info: _LineInfo, firstLine: boolean): _LineInfo;
    _getWrapType(): _PdfWordWrapType;
}
export  class _PdfStringLayoutResult {
    _layoutLines: _LineInfo[];
    _remainder: string;
    _size: number[];
    _lineHeight: number;
    readonly _actualSize: number[];
    readonly _lines: _LineInfo[];
    readonly _empty: boolean;
    readonly _lineCount: number;
}
export  class _LineInfo {
    _text: string;
    _width: number;
    _lineType: _LineType;
}
export  enum _LineType {
    none = 0,
    newLineBreak = 1,
    layoutBreak = 2,
    firstParagraphLine = 4,
    lastParagraphLine = 8
}
export  class _StringTokenizer {
    _text: string;
    _position: number;
    static readonly _whiteSpace: string;
    static readonly _tab: string;
    static readonly _spaces: string[];
    constructor(textValue: string);
    readonly _length: number;
    readonly _end: boolean;
    _readLine(): string;
    _peekLine(): string;
    _readWord(): string;
    _peekWord(): string;
    _read(): string;
    _read(count: number): string;
    _peek(): string;
    _close(): void;
    _readToEnd(): string;
}
//node_modules/@syncfusion/ej2-pdf/src/pdf/core/fonts/pdf-string-format.d.ts
/**
 * Represents the text layout information.
 * ```typescript
 * // Load an existing PDF document
 * let document$: PdfDocument = new PdfDocument(data, password);
 * // Gets the first page
 * let page$: PdfPage = document.getPage(0) as PdfPage;
 * // Create a new PDF standard font
 * let font$: PdfStandardFont = new PdfStandardFont(PdfFontFamily.Helvetica, 10);
 * // Create a new PDF string format
 * let format$: PdfStringFormat = new PdfStringFormat(PdfTextAlignment.right, PdfVerticalAlignment.bottom);
 * // Draw the text
 * page.graphics.drawString('Helvetica', font, [0, 180, page.size[0], 40], undefined, new PdfBrush([0, 0, 255]), format);
 * // Save the document
 * document.save('output.pdf');
 * // Destroy the document
 * document.destroy();
 * ```
 */
export  class PdfStringFormat {
    alignment: PdfTextAlignment;
    lineLimit: boolean;
    lineAlignment: PdfVerticalAlignment;
    characterSpacing: number;
    wordSpacing: number;
    lineSpacing: number;
    clipPath: boolean;
    horizontalScalingFactor: number;
    firstLineIndent: number;
    measureTrailingSpaces: boolean;
    noClip: boolean;
    _internalParagraphIndent: number;
    textDirection: PdfTextDirection;
    rightToLeft: boolean;
    _pdfSubSuperScript: PdfSubSuperScript;
    _wordWrapType: _PdfWordWrapType;
    _isList: boolean;
    /**
     * Initializes a new instance of the `PdfStringFormat` class.
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Gets the first page
     * let page$: PdfPage = document.getPage(0) as PdfPage;
     * // Create a new PDF standard font
     * let font$: PdfStandardFont = new PdfStandardFont(PdfFontFamily.Helvetica, 10);
     * // Create a new PDF string format
     * let format$: PdfStringFormat = new PdfStringFormat();
     * // Draw the text
     * page.graphics.drawString('Helvetica', font, [0, 180, page.size[0], 40], undefined, new PdfBrush([0, 0, 255]), format);
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    constructor();
    /**
     * Initializes a new instance of the `PdfStringFormat` class.
     *
     * @param {PdfTextAlignment} alignment PdfTextAlignment.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Gets the first page
     * let page$: PdfPage = document.getPage(0) as PdfPage;
     * // Create a new PDF standard font
     * let font$: PdfStandardFont = new PdfStandardFont(PdfFontFamily.Helvetica, 10);
     * // Create a new PDF string format
     * let format$: PdfStringFormat = new PdfStringFormat(PdfTextAlignment.right);
     * // Draw the text
     * page.graphics.drawString('Helvetica', font, [0, 180, page.size[0], 40], undefined, new PdfBrush([0, 0, 255]), format);
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    constructor(alignment: PdfTextAlignment);
    /**
     * Initializes a new instance of the `PdfStringFormat` class.
     *
     * @param {PdfTextAlignment} alignment PdfTextAlignment.
     * @param {PdfVerticalAlignment} lineAlignment PdfVerticalAlignment.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Gets the first page
     * let page$: PdfPage = document.getPage(0) as PdfPage;
     * // Create a new PDF standard font
     * let font$: PdfStandardFont = new PdfStandardFont(PdfFontFamily.Helvetica, 10);
     * // Create a new PDF string format
     * let format$: PdfStringFormat = new PdfStringFormat(PdfTextAlignment.right, PdfVerticalAlignment.bottom);
     * // Draw the text
     * page.graphics.drawString('Helvetica', font, [0, 180, page.size[0], 40], undefined, new PdfBrush([0, 0, 255]), format);
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    constructor(alignment: PdfTextAlignment, lineAlignment: PdfVerticalAlignment);
    /**
     * Gets the paragraph indent from string format.
     *
     * @returns {number} Returns the paragraph indent.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Gets the first page
     * let page$: PdfPage = document.getPage(0) as PdfPage;
     * // Create a new PDF standard font
     * let font$: PdfStandardFont = new PdfStandardFont(PdfFontFamily.Helvetica, 10);
     * // Create a new PDF string format
     * let format$: PdfStringFormat = new PdfStringFormat(PdfTextAlignment.right);
     * // Get the default paragraph indent
     * let paragraph: number = format.paragraphIndent;
     * // Draw the text
     * page.graphics.drawString('Helvetica', font, [0, 180, page.size[0], 40], undefined, new PdfBrush([0, 0, 255]), format);
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Sets the paragraph indent to string format.
    *
    * @param {number} value paragraph indent.
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data, password);
    * // Gets the first page
    * let page$: PdfPage = document.getPage(0) as PdfPage;
    * // Create a new PDF standard font
    * let font$: PdfStandardFont = new PdfStandardFont(PdfFontFamily.Helvetica, 10);
    * // Create a new PDF string format
    * let format$: PdfStringFormat = new PdfStringFormat(PdfTextAlignment.right);
    * // Set a new paragraph indent
    * format.paragraphIndent = 20;
    * // Draw the text
    * page.graphics.drawString('Helvetica', font, [0, 180, page.size[0], 40], undefined, new PdfBrush([0, 0, 255]), format);
    * // Save the document
    * document.save('output.pdf');
    * // Destroy the document
    * document.destroy();
    * ```
    */
    paragraphIndent: number;
    /**
     * Gets the subscript or superscript mode from string format.
     *
     * @returns {PdfSubSuperScript} Returns the subscript or superscript mode.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Gets the first page
     * let page$: PdfPage = document.getPage(0) as PdfPage;
     * // Create a new PDF standard font
     * let font$: PdfStandardFont = new PdfStandardFont(PdfFontFamily.Helvetica, 10);
     * // Create a new PDF string format
     * let format$: PdfStringFormat = new PdfStringFormat(PdfTextAlignment.right);
     * // Set a new paragraph indent
     * format.paragraphIndent = 20;
     * // Get the subscript or superscript mode
     * let script: PdfSubSuperScript = format.subSuperScript;
     * // Draw the text
     * page.graphics.drawString('Helvetica', font, [0, 180, page.size[0], 40], undefined, new PdfBrush([0, 0, 255]), format);
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Sets the subscript or superscript mode to string format.
    *
    * @param {PdfSubSuperScript} value subscript or superscript mode.
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data, password);
    * // Gets the first page
    * let page$: PdfPage = document.getPage(0) as PdfPage;
    * // Create a new PDF standard font
    * let font$: PdfStandardFont = new PdfStandardFont(PdfFontFamily.Helvetica, 10);
    * // Create a new PDF string format
    * let format$: PdfStringFormat = new PdfStringFormat(PdfTextAlignment.right);
    * // Set a new paragraph indent
    * format.paragraphIndent = 20;
    * // Set the subscript or superscript mode
    * format.subSuperScript = PdfSubSuperScript.subScript;
    * // Draw the text
    * page.graphics.drawString('Helvetica', font, [0, 180, page.size[0], 40], undefined, new PdfBrush([0, 0, 255]), format);
    * // Save the document
    * document.save('output.pdf');
    * // Destroy the document
    * document.destroy();
    * ```
    */
    subSuperScript: PdfSubSuperScript;
    _wordWrap: _PdfWordWrapType;
}
/**
 * Public enum to define vertical alignment.
 * ```typescript
 * // Load an existing PDF document
 * let document$: PdfDocument = new PdfDocument(data, password);
 * // Gets the first page
 * let page$: PdfPage = document.getPage(0) as PdfPage;
 * // Create a new PDF standard font
 * let font$: PdfStandardFont = new PdfStandardFont(PdfFontFamily.Helvetica, 10, PdfFontStyle.regular);
 * // Create a new PDF string format
 * let format$: PdfStringFormat = new PdfStringFormat(PdfTextAlignment.right, PdfVerticalAlignment.top);
 * // Draw the text
 * page.graphics.drawString('Helvetica', font, [0, 180, page.size[0], 40], undefined, new PdfBrush([0, 0, 255]), format);
 * // Save the document
 * document.save('output.pdf');
 * // Destroy the document
 * document.destroy();
 * ```
 */
export  enum PdfVerticalAlignment {
    /**
     * Specifies the type of `top`.
     */
    top = 0,
    /**
     * Specifies the type of `middle`.
     */
    middle = 1,
    /**
     * Specifies the type of `bottom`.
     */
    bottom = 2
}
//node_modules/@syncfusion/ej2-pdf/src/pdf/core/fonts/pdf-standard-font.d.ts
/**
 * Represents the base class for font objects.`
 * ```typescript
 * // Load an existing PDF document
 * let document$: PdfDocument = new PdfDocument(data, password);
 * // Gets the first page
 * let page$: PdfPage = document.getPage(0) as PdfPage;
 * // Create a new PDF standard font
 * let font$: PdfStandardFont = new PdfStandardFont(PdfFontFamily.Helvetica, 10);
 * // Create a new PDF string format
 * let format$: PdfStringFormat = new PdfStringFormat(PdfTextAlignment.right, PdfVerticalAlignment.bottom);
 * // Draw the text
 * page.graphics.drawString('Helvetica', font, [0, 180, page.size[0], 40], undefined, new PdfBrush([0, 0, 255]), format);
 * // Save the document
 * document.save('output.pdf');
 * // Destroy the document
 * document.destroy();
 * ```
 */
export  abstract class PdfFont {
    _style: PdfFontStyle;
    _size: number;
    _dictionary: _PdfDictionary;
    _pdfFontInternals: _PdfDictionary;
    _fontMetrics: _PdfFontMetrics;
    _reference: _PdfReference;
    _key: string;
    /**
     * Gets the size of the PDF font.
     *
     * @returns {number} size.
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Gets the first page
     * let page$: PdfPage = document.getPage(0) as PdfPage;
     * // Create a new PDF standard font
     * let font$: PdfStandardFont = new PdfStandardFont(PdfFontFamily.Helvetica, 10);
     * // Gets the font size
     * let size$: number = font.size;
     * // Destroy the document
     * document.destroy();
     * ```
     */
    readonly size: number;
    /**
     * Gets the style of the PDF font.
     *
     * @returns {PdfFontStyle} size.
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Gets the first page
     * let page$: PdfPage = document.getPage(0) as PdfPage;
     * // Create a new PDF standard font
     * let font$: PdfStandardFont = new PdfStandardFont(PdfFontFamily.Helvetica, 10, PdfFontStyle.italic);
     * // Gets the font style
     * let style$: PdfFontStyle = font.style;
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Sets the style of the PDF font.
    *
    * @param {PdfFontStyle} value to font style.
    *
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data, password);
    * // Gets the first page
    * let page$: PdfPage = document.getPage(0) as PdfPage;
    * // Create a new PDF standard font
    * let font$: PdfStandardFont = new PdfStandardFont(PdfFontFamily.Helvetica, 10);
    * // Sets the font style
    * font.style = PdfFontStyle.italic;
    * // Destroy the document
    * document.destroy();
    * ```
    */
    style: PdfFontStyle;
    /**
     * Gets the boolean flag indicating whether the font has underline style or not.
     *
     * @returns {boolean} isUnderline.
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Gets the first page
     * let page$: PdfPage = document.getPage(0) as PdfPage;
     * // Create a new PDF standard font
     * let font$: PdfStandardFont = new PdfStandardFont(PdfFontFamily.Helvetica, 10, PdfFontStyle.underline);
     * // Gets the boolean flag indicating whether the font has underline style or not.
     * let underline: boolean = font.isUnderline;
     * // Destroy the document
     * document.destroy();
     * ```
     */
    readonly isUnderline: boolean;
    /**
     * Gets the boolean flag indicating whether the font has strike out style or not.
     *
     * @returns {boolean} isStrikeout.
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Gets the first page
     * let page$: PdfPage = document.getPage(0) as PdfPage;
     * // Create a new PDF standard font
     * let font$: PdfStandardFont = new PdfStandardFont(PdfFontFamily.Helvetica, 10, PdfFontStyle.strikeout);
     * // Gets the boolean flag indicating whether the font has strike out style or not.
     * let strikeout: boolean = font.isStrikeout;
     * // Destroy the document
     * document.destroy();
     * ```
     */
    readonly isStrikeout: boolean;
    _metrics: _PdfFontMetrics;
    /**
     * Gets the boolean flag indicating whether the font has bold style or not.
     *
     * @returns {boolean} isBold.
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Gets the first page
     * let page$: PdfPage = document.getPage(0) as PdfPage;
     * // Create a new PDF standard font
     * let font$: PdfStandardFont = new PdfStandardFont(PdfFontFamily.Helvetica, 10, PdfFontStyle.bold);
     * // Gets the boolean flag indicating whether the font has bold style or not.
     * let bold: boolean = font.isBold;
     * // Destroy the document
     * document.destroy();
     * ```
     */
    readonly isBold: boolean;
    /**
     * Gets the boolean flag indicating whether the font has italic style or not.
     *
     * @returns {boolean} isItalic.
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Gets the first page
     * let page$: PdfPage = document.getPage(0) as PdfPage;
     * // Create a new PDF standard font
     * let font$: PdfStandardFont = new PdfStandardFont(PdfFontFamily.Helvetica, 10, PdfFontStyle.italic);
     * // Gets the boolean flag indicating whether the font has italic style or not.
     * let italic: boolean = font.isItalic;
     * // Destroy the document
     * document.destroy();
     * ```
     */
    readonly isItalic: boolean;
    /**
     * Gets the font height.
     *
     * @returns {number} height.
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Gets the first page
     * let page$: PdfPage = document.getPage(0) as PdfPage;
     * // Create a new PDF standard font
     * let font$: PdfStandardFont = new PdfStandardFont(PdfFontFamily.Helvetica, 10, PdfFontStyle.italic);
     * // Gets the font height
     * let height$: number = font.height;
     * // Destroy the document
     * document.destroy();
     * ```
     */
    readonly height: number;
    constructor(size: number);
    constructor(size: number, style: PdfFontStyle);
    _setInternals(internals: _PdfDictionary): void;
    _getCharacterCount(text: string, symbols: string[] | string): number;
    /**
     * Measures the size of a given text string when rendered using this PDF font.
     *
     * @param {string} text Text.
     * @returns {number[]} actualSize.
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Gets the first page
     * let page$: PdfPage = document.getPage(0) as PdfPage;
     * // Create a new PDF standard font
     * let font$: PdfStandardFont = new PdfStandardFont(PdfFontFamily.Helvetica, 10, PdfFontStyle.regular);
     * // Create a new PDF string format
     * let format$: PdfStringFormat = new PdfStringFormat(PdfTextAlignment.right, PdfVerticalAlignment.bottom);
     * // Measure the size of the text
     * let size$: number[] = font.measureString('Syncfusion');
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    measureString(text: string): number[];
    /**
     * Measures the size of a given text string when rendered using this PDF font with respect to the string format.
     *
     * @param {string} text Text.
     * @param {PdfStringFormat} format String format.
     * @returns {number[]} actualSize.
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Gets the first page
     * let page$: PdfPage = document.getPage(0) as PdfPage;
     * // Create a new PDF standard font
     * let font$: PdfStandardFont = new PdfStandardFont(PdfFontFamily.Helvetica, 10, PdfFontStyle.regular);
     * // Create a new PDF string format
     * let format$: PdfStringFormat = new PdfStringFormat(PdfTextAlignment.right, PdfVerticalAlignment.bottom);
     * // Measure the size of the text
     * let size$: number[] = font.measureString('Syncfusion', format);
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    measureString(text: string, format: PdfStringFormat): number[];
    /**
     * Measures the size of a given text string when rendered using this PDF font.
     *
     * @param {string} text Text.
     * @param {PdfStringFormat} format String format.
     * @param {number} charactersFitted Characters fitted.
     * @param {number} linesFilled Lines filled.
     * @returns {number[]} actualSize.
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Gets the first page
     * let page$: PdfPage = document.getPage(0) as PdfPage;
     * // Create a new PDF standard font
     * let font$: PdfStandardFont = new PdfStandardFont(PdfFontFamily.Helvetica, 10, PdfFontStyle.regular);
     * // Create a new PDF string format
     * let format$: PdfStringFormat = new PdfStringFormat(PdfTextAlignment.right, PdfVerticalAlignment.bottom);
     * // Measure the size of the text
     * let size$: number[] = font.measureString('Syncfusion', format, 10, 10);
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    measureString(text: string, format: PdfStringFormat, charactersFitted: number, linesFilled: number): number[];
    /**
     * Measures the size of a given text string when rendered using this PDF font with respect to the maximum line width.
     *
     * @param {string} text Text.
     * @param {number} width width.
     * @returns {number[]} actualSize.
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Gets the first page
     * let page$: PdfPage = document.getPage(0) as PdfPage;
     * // Create a new PDF standard font
     * let font$: PdfStandardFont = new PdfStandardFont(PdfFontFamily.Helvetica, 10, PdfFontStyle.regular);
     * // Create a new PDF string format
     * let format$: PdfStringFormat = new PdfStringFormat(PdfTextAlignment.right, PdfVerticalAlignment.bottom);
     * // Measure the size of the text
     * let size$: number[] = font.measureString('Syncfusion', 50);
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    measureString(text: string, width: number): number[];
    /**
     * Measures the size of a given text string when rendered using this PDF font  with respect to the string format and maximum line width.
     *
     * @param {string} text Text.
     * @param {number} width width.
     * @param {PdfStringFormat} format String format.
     * @returns {number[]} actualSize.
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Gets the first page
     * let page$: PdfPage = document.getPage(0) as PdfPage;
     * // Create a new PDF standard font
     * let font$: PdfStandardFont = new PdfStandardFont(PdfFontFamily.Helvetica, 10, PdfFontStyle.regular);
     * // Create a new PDF string format
     * let format$: PdfStringFormat = new PdfStringFormat(PdfTextAlignment.right, PdfVerticalAlignment.bottom);
     * // Measure the size of the text
     * let size$: number[] = font.measureString('Syncfusion', 50, format);
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    measureString(text: string, width: number, format: PdfStringFormat): number[];
    /**
     * Measures the size of a given text string when rendered using this PDF font.
     *
     * @param {string} text Text.
     * @param {number} width width.
     * @param {PdfStringFormat} format String format.
     * @param {number} charactersFitted Characters fitted.
     * @param {number} linesFilled Lines filled.
     * @returns {number[]} actualSize.
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Gets the first page
     * let page$: PdfPage = document.getPage(0) as PdfPage;
     * // Create a new PDF standard font
     * let font$: PdfStandardFont = new PdfStandardFont(PdfFontFamily.Helvetica, 10, PdfFontStyle.regular);
     * // Create a new PDF string format
     * let format$: PdfStringFormat = new PdfStringFormat(PdfTextAlignment.right, PdfVerticalAlignment.bottom);
     * // Measure the size of the text
     * let size$: number[] = font.measureString('Syncfusion', 50, format, 10, 10);
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    measureString(text: string, width: number, format: PdfStringFormat, charactersFitted: number, linesFilled: number): number[];
    /**
     * Measures the size of a given text string when rendered using this PDF font with respect to the layout area.
     *
     * @param {string} text Text.
     * @param {number []} layoutArea Layout area.
     * @returns {number[]} actualSize.
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Gets the first page
     * let page$: PdfPage = document.getPage(0) as PdfPage;
     * // Create a new PDF standard font
     * let font$: PdfStandardFont = new PdfStandardFont(PdfFontFamily.Helvetica, 10, PdfFontStyle.regular);
     * // Create a new PDF string format
     * let format$: PdfStringFormat = new PdfStringFormat(PdfTextAlignment.right, PdfVerticalAlignment.bottom);
     * // Measure the size of the text
     * let size$: number[] = font.measureString('Syncfusion', [100, 100]);
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    measureString(text: string, layoutArea: number[]): number[];
    /**
     * Measures the size of a given text string when rendered using this PDF font with respect to the layout area and string format.
     *
     * @param {string} text Text.
     * @param {PdfStringFormat} format String format.
     * @param {number []} layoutArea Layout area.
     * @returns {number[]} actualSize.
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Gets the first page
     * let page$: PdfPage = document.getPage(0) as PdfPage;
     * // Create a new PDF standard font
     * let font$: PdfStandardFont = new PdfStandardFont(PdfFontFamily.Helvetica, 10, PdfFontStyle.regular);
     * // Create a new PDF string format
     * let format$: PdfStringFormat = new PdfStringFormat(PdfTextAlignment.right, PdfVerticalAlignment.bottom);
     * // Measure the size of the text
     * let size$: number[] = font.measureString('Syncfusion', [100, 100], format);
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    measureString(text: string, layoutArea: number[], format: PdfStringFormat): number[];
    /**
     * Measures the size of a given text string when rendered using this PDF font.
     *
     * @param {string} text Text.
     * @param {PdfStringFormat} format String format.
     * @param {number []} layoutArea Layout area.
     * @param {number} charactersFitted Characters fitted.
     * @param {number} linesFilled Lines filled.
     * @returns {number[]} actualSize.
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Gets the first page
     * let page$: PdfPage = document.getPage(0) as PdfPage;
     * // Create a new PDF standard font
     * let font$: PdfStandardFont = new PdfStandardFont(PdfFontFamily.Helvetica, 10, PdfFontStyle.regular);
     * // Create a new PDF string format
     * let format$: PdfStringFormat = new PdfStringFormat(PdfTextAlignment.right, PdfVerticalAlignment.bottom);
     * // Measure the size of the text
     * let size$: number[] = font.measureString('Syncfusion', format, [0, 0], 0, 0);
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    measureString(text: string, layoutArea: number[], format: PdfStringFormat, charactersFitted: number, linesFilled: number): number[];
    _applyFormatSettings(line: string, format: PdfStringFormat, width: number): number;
    abstract getLineWidth(line: string, format: PdfStringFormat): number;
    abstract _initializeInternals(): void;
}
/**
 * Represents one of the 14 standard fonts.
 * ```typescript
 * // Load an existing PDF document
 * let document$: PdfDocument = new PdfDocument(data, password);
 * // Gets the first page
 * let page$: PdfPage = document.getPage(0) as PdfPage;
 * // Create a new PDF standard font
 * let font$: PdfStandardFont = new PdfStandardFont(PdfFontFamily.Helvetica, 10);
 * // Create a new PDF string format
 * let format$: PdfStringFormat = new PdfStringFormat(PdfTextAlignment.right, PdfVerticalAlignment.bottom);
 * // Draw the text
 * page.graphics.drawString('Helvetica', font, [0, 180, page.size[0], 40], undefined, new PdfBrush([0, 0, 255]), format);
 * // Save the document
 * document.save('output.pdf');
 * // Destroy the document
 * document.destroy();
 * ```
 */
export  class PdfStandardFont extends PdfFont {
    _fontFamily: PdfFontFamily;
    /**
     * Gets the font family of the PDF standard font.
     *
     * @returns {PdfFontFamily} fontFamily.
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Gets the first page
     * let page$: PdfPage = document.getPage(0) as PdfPage;
     * // Create a new PDF standard font
     * let font$: PdfStandardFont = new PdfStandardFont(PdfFontFamily.Helvetica, 10, PdfFontStyle.strikeout);
     * // Gets the font family
     * let fontFamily: PdfFontFamily = font.fontFamily;
     * // Destroy the document
     * document.destroy();
     * ```
     */
    readonly fontFamily: PdfFontFamily;
    /**
     * Initializes a new instance of the `PdfStandardFont` class.
     *
     * @param {PdfFontFamily} fontFamily PdfFontFamily.
     * @param {number} size Size.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Gets the first page
     * let page$: PdfPage = document.getPage(0) as PdfPage;
     * // Create a new PDF standard font
     * let font$: PdfStandardFont = new PdfStandardFont(PdfFontFamily.Helvetica, 10);
     * // Create a new PDF string format
     * let format$: PdfStringFormat = new PdfStringFormat(PdfTextAlignment.right, PdfVerticalAlignment.bottom);
     * // Draw the text
     * page.graphics.drawString('Helvetica', font, [0, 180, page.size[0], 40], undefined, new PdfBrush([0, 0, 255]), format);
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    constructor(fontFamily: PdfFontFamily, size: number);
    /**
     * Initializes a new instance of the `PdfStandardFont` class.
     *
     * @param {PdfFontFamily} fontFamily PdfFontFamily.
     * @param {PdfFontStyle} style PdfFontStyle.
     * @param {number} size Size.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Gets the first page
     * let page$: PdfPage = document.getPage(0) as PdfPage;
     * // Create a new PDF standard font
     * let font$: PdfStandardFont = new PdfStandardFont(PdfFontFamily.Helvetica, 10, PdfFontStyle.regular);
     * // Create a new PDF string format
     * let format$: PdfStringFormat = new PdfStringFormat(PdfTextAlignment.right, PdfVerticalAlignment.bottom);
     * // Draw the text
     * page.graphics.drawString('Helvetica', font, [0, 180, page.size[0], 40], undefined, new PdfBrush([0, 0, 255]), format);
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    constructor(fontFamily: PdfFontFamily, size: number, style: PdfFontStyle);
    _checkStyle(): void;
    /**
     * Gets the line width.
     *
     * @param {string} line Line.
     * @param {PdfStringFormat} format String format.
     * @returns {number} width.
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Gets the first page
     * let page$: PdfPage = document.getPage(0) as PdfPage;
     * // Create a new PDF standard font
     * let font$: PdfStandardFont = new PdfStandardFont(PdfFontFamily.Helvetica, 10, PdfFontStyle.regular);
     * // Create a new PDF string format
     * let format$: PdfStringFormat = new PdfStringFormat(PdfTextAlignment.right, PdfVerticalAlignment.bottom);
     * // Get the text width
     * let width$: number = font.getLineWidth('Syncfusion', format);
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    getLineWidth(line: string, format: PdfStringFormat): number;
    _initializeInternals(): void;
    _createInternals(): _PdfDictionary;
    _getCharacterWidthInternal(charCode: string): number;
}
/**
 * Represents one of the 7 CJK standard fonts.
 * ```typescript
 * // Load an existing PDF document
 * let document$: PdfDocument = new PdfDocument(data, password);
 * // Gets the first page
 * let page$: PdfPage = document.getPage(0) as PdfPage;
 * // Create a new PDF CJK standard font
 * let font$: PdfCjkStandardFont = new PdfCjkStandardFont(PdfCjkFontFamily.heiseiMinchoW3, 20);
 * // Create a new PDF string format
 * let format$: PdfStringFormat = new PdfStringFormat(PdfTextAlignment.right, PdfVerticalAlignment.bottom);
 * // Draw the text
 * page.graphics.drawString('こんにちは世界', font, [0, 180, page.size[0], 40], undefined, new PdfBrush([0, 0, 255]), format);
 * // Save the document
 * document.save('output.pdf');
 * // Destroy the document
 * document.destroy();
 * ```
 */
export  class PdfCjkStandardFont extends PdfFont {
    _fontFamily: PdfCjkFontFamily;
    /**
     * Gets the font family of the PDF CJK font.
     *
     * @returns {PdfCjkFontFamily} fontFamily.
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Gets the first page
     * let page$: PdfPage = document.getPage(0) as PdfPage;
     * // Create a new PDF CJK standard font
     * let font$: PdfCjkStandardFont = new PdfCjkStandardFont(PdfCjkFontFamily.heiseiMinchoW3, 20);
     * // Gets the font family
     * let fontFamily: PdfCjkFontFamily = font.fontFamily;
     * // Destroy the document
     * document.destroy();
     * ```
     */
    readonly fontFamily: PdfCjkFontFamily;
    /**
     * Initializes a new instance of the `PdfCjkStandardFont` class.
     *
     * @param {PdfCjkFontFamily} fontFamily PdfFontFamily.
     * @param {number} size Size.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Gets the first page
     * let page$: PdfPage = document.getPage(0) as PdfPage;
     * // Create a new PDF CJK standard font
     * let font$: PdfCjkStandardFont = new PdfCjkStandardFont(PdfCjkFontFamily.heiseiMinchoW3, 20);
     * // Create a new PDF string format
     * let format$: PdfStringFormat = new PdfStringFormat(PdfTextAlignment.right, PdfVerticalAlignment.bottom);
     * // Draw the text
     * page.graphics.drawString('こんにちは世界', font, [0, 180, page.size[0], 40], undefined, new PdfBrush([0, 0, 255]), format);
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    constructor(fontFamily: PdfCjkFontFamily, size: number);
    /**
     * Initializes a new instance of the `PdfCjkStandardFont` class.
     *
     * @param {PdfCjkFontFamily} fontFamily PdfFontFamily.
     * @param {PdfFontStyle} style PdfFontStyle.
     * @param {number} size Size.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Gets the first page
     * let page$: PdfPage = document.getPage(0) as PdfPage;
     * // Create a new PDF CJK standard font
     * let font$: PdfCjkStandardFont = new PdfCjkStandardFont(PdfCjkFontFamily.heiseiMinchoW3, 20, PdfFontStyle.bold);
     * // Create a new PDF string format
     * let format$: PdfStringFormat = new PdfStringFormat(PdfTextAlignment.right, PdfVerticalAlignment.bottom);
     * // Draw the text
     * page.graphics.drawString('こんにちは世界', font, [0, 180, page.size[0], 40], undefined, new PdfBrush([0, 0, 255]), format);
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    constructor(fontFamily: PdfCjkFontFamily, size: number, style: PdfFontStyle);
    _initializeInternals(): void;
    _createInternals(): _PdfDictionary;
    _getEncoding(fontFamily: PdfCjkFontFamily): _PdfName;
    _getDescendantFont(): _PdfDictionary[];
    _getSystemInformation(): _PdfDictionary;
    /**
     * Gets the line width.
     *
     * @param {string} line Line.
     * @param {PdfStringFormat} format String format.
     * @returns {number} width.
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Gets the first page
     * let page$: PdfPage = document.getPage(0) as PdfPage;
     * // Create a new PDF CJK standard font
     * let font$: PdfCjkStandardFont = new PdfCjkStandardFont(PdfCjkFontFamily.heiseiMinchoW3, 20, PdfFontStyle.bold);
     * // Create a new PDF string format
     * let format$: PdfStringFormat = new PdfStringFormat(PdfTextAlignment.right, PdfVerticalAlignment.bottom);
     * // Get the text width
     * let width$: number = font.getLineWidth('Syncfusion', format);
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    getLineWidth(line: string, format: PdfStringFormat): number;
    _getCharacterWidthInternal(charCode: number): number;
}
/**
 * Represents TrueType font.
 * ```typescript
 * // Load an existing PDF document
 * let document$: PdfDocument = new PdfDocument(data, password);
 * // Gets the first page
 * let page$: PdfPage = document.getPage(0) as PdfPage;
 * // Create a new PDF truetype font
 * let font$: PdfTrueTypeFont = new PdfTrueTypeFont(base64String, 10);
 * // Create a new PDF string format
 * let format$: PdfStringFormat = new PdfStringFormat(PdfTextAlignment.right, PdfVerticalAlignment.bottom);
 * // Draw the text
 * page.graphics.drawString('Helvetica', font, [0, 180, page.size[0], 40], undefined, new PdfBrush([0, 0, 255]), format);
 * // Save the document
 * document.save('output.pdf');
 * // Destroy the document
 * document.destroy();
 * ```
 */
export  class PdfTrueTypeFont extends PdfFont {
    _fontInternal: _UnicodeTrueTypeFont;
    _isEmbedFont: boolean;
    _isUnicode: boolean;
    /**
     * Gets the boolean flag indicating whether the font has unicode or not.
     *
     * @returns {boolean} unicode.
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Gets the first page
     * let page$: PdfPage = document.getPage(0) as PdfPage;
     * // Create a new PDF truetype font
     * let font$: PdfTrueTypeFont = new PdfTrueTypeFont(base64String, 10);
     * // Gets the boolean flag indicating whether the font has or not.
     * let isUnicode: boolean = font.isUnicode;
     * // Destroy the document
     * document.destroy();
     * ```
     */
    readonly isUnicode: boolean;
    /**
     * Gets the boolean flag indicating whether the font is embedded or not.
     *
     * @returns {boolean} isEmbed.
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Gets the first page
     * let page$: PdfPage = document.getPage(0) as PdfPage;
     * // Create a new PDF truetype font
     * let font$: PdfTrueTypeFont = new PdfTrueTypeFont(base64String, 10);
     * // Gets the boolean flag indicating whether the font is embedded or not.
     * let isEmbed: boolean = font.isEmbed;
     * // Destroy the document
     * document.destroy();
     * ```
     */
    readonly isEmbed: boolean;
    /**
     * Initializes a new instance of the `PdfTrueTypeFont` class.
     *
     * @param {Uint8Array} data Font data as byte array.
     * @param {number} size Size.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Gets the first page
     * let page$: PdfPage = document.getPage(0) as PdfPage;
     * // Create a new PDF truetype font
     * let font$: PdfTrueTypeFont = new PdfTrueTypeFont(data, 10);
     * // Create a new PDF string format
     * let format$: PdfStringFormat = new PdfStringFormat(PdfTextAlignment.right, PdfVerticalAlignment.bottom);
     * // Draw the text
     * page.graphics.drawString('Syncfusion', font, [0, 180, page.size[0], 40], undefined, new PdfBrush([0, 0, 255]), format);
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    constructor(data: Uint8Array, size: number);
    /**
     * Initializes a new instance of the `PdfTrueTypeFont` class.
     *
     * @param {string} base64String Base64String.
     * @param {number} size Size.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Gets the first page
     * let page$: PdfPage = document.getPage(0) as PdfPage;
     * // Create a new PDF truetype font
     * let font$: PdfTrueTypeFont = new PdfTrueTypeFont(base64String, 10);
     * // Create a new PDF string format
     * let format$: PdfStringFormat = new PdfStringFormat(PdfTextAlignment.right, PdfVerticalAlignment.bottom);
     * // Draw the text
     * page.graphics.drawString('Syncfusion', font, [0, 180, page.size[0], 40], undefined, new PdfBrush([0, 0, 255]), format);
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    constructor(base64String: string, size: number);
    /**
     * Initializes a new instance of the `PdfTrueTypeFont` class.
     *
     * @param {string} base64String Base64String.
     * @param {number} size Font size.
     * @param {style} style Font style.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Gets the first page
     * let page$: PdfPage = document.getPage(0) as PdfPage;
     * // Create a new PDF truetype font
     * let font$: PdfTrueTypeFont = new PdfTrueTypeFont(base64String, 10, PdfFontStyle.regular);
     * // Create a new PDF string format
     * let format$: PdfStringFormat = new PdfStringFormat(PdfTextAlignment.right, PdfVerticalAlignment.bottom);
     * // Draw the text
     * page.graphics.drawString('Syncfusion', font, [0, 180, page.size[0], 40], undefined, new PdfBrush([0, 0, 255]), format);
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    constructor(base64String: string, size: number, style: PdfFontStyle);
    /**
     * Initializes a new instance of the `PdfTrueTypeFont` class.
     *
     * @param {Uint8Array} data Font data as byte array.
     * @param {number} size Font size.
     * @param {style} style Font style.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Gets the first page
     * let page$: PdfPage = document.getPage(0) as PdfPage;
     * // Create a new PDF truetype font
     * let font$: PdfTrueTypeFont = new PdfTrueTypeFont(data, 10, PdfFontStyle.regular);
     * // Create a new PDF string format
     * let format$: PdfStringFormat = new PdfStringFormat(PdfTextAlignment.right, PdfVerticalAlignment.bottom);
     * // Draw the text
     * page.graphics.drawString('Syncfusion', font, [0, 180, page.size[0], 40], undefined, new PdfBrush([0, 0, 255]), format);
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    constructor(data: Uint8Array, size: number, style: PdfFontStyle);
    _createFontInternal(data: string | Uint8Array, style: PdfFontStyle): void;
    _initializeInternals(): void;
    /**
     * Gets the line width.
     *
     * @param {string} line Line.
     * @param {PdfStringFormat} format String format.
     * @returns {number} width.
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Gets the first page
     * let page$: PdfPage = document.getPage(0) as PdfPage;
     * // Create a new PDF truetype font
     * let font$: PdfTrueTypeFont = new PdfTrueTypeFont(base64String, 10, PdfFontStyle.regular);
     * // Create a new PDF string format
     * let format$: PdfStringFormat = new PdfStringFormat(PdfTextAlignment.right, PdfVerticalAlignment.bottom);
     * // Get the text width
     * let width$: number = font.getLineWidth('Syncfusion', format);
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    getLineWidth(line: string, format: PdfStringFormat): number;
    _getUnicodeLineWidth(line: string, width: number): number;
    _getCharacterWidth(charCode: string, format: PdfStringFormat): number;
    _setSymbols(text: string): void;
    _getCharacterWidthInternal(charCode: string): number;
}
export  class _PdfStandardFontMetricsFactory {
    static readonly _subSuperScriptFactor: number;
    static readonly _helveticaAscent: number;
    static readonly _helveticaDescent: number;
    static readonly _helveticaName: string;
    static readonly _helveticaBoldAscent: number;
    static readonly _helveticaBoldDescent: number;
    static readonly _helveticaBoldName: string;
    static readonly _helveticaItalicAscent: number;
    static readonly _helveticaItalicDescent: number;
    static readonly _helveticaItalicName: string;
    static readonly _helveticaBoldItalicAscent: number;
    static readonly _helveticaBoldItalicDescent: number;
    static readonly _helveticaBoldItalicName: string;
    static readonly _courierAscent: number;
    static readonly _courierDescent: number;
    static readonly _courierName: string;
    static readonly _courierBoldAscent: number;
    static readonly _courierBoldDescent: number;
    static readonly _courierBoldName: string;
    static readonly _courierItalicAscent: number;
    static readonly _courierItalicDescent: number;
    static readonly _courierItalicName: string;
    static readonly _courierBoldItalicAscent: number;
    static readonly _courierBoldItalicDescent: number;
    static readonly _courierBoldItalicName: string;
    static readonly _timesAscent: number;
    static readonly _timesDescent: number;
    static readonly _timesName: string;
    static readonly _timesBoldAscent: number;
    static readonly _timesBoldDescent: number;
    static readonly _timesBoldName: string;
    static readonly _timesItalicAscent: number;
    static readonly _timesItalicDescent: number;
    static readonly _timesItalicName: string;
    static readonly _timesBoldItalicAscent: number;
    static readonly _timesBoldItalicDescent: number;
    static readonly _timesBoldItalicName: string;
    static readonly _symbolAscent: number;
    static readonly _symbolDescent: number;
    static readonly _symbolName: string;
    static readonly _zapfDingbatsAscent: number;
    static readonly _zapfDingbatsDescent: number;
    static readonly _zapfDingbatsName: string;
    static _arialWidth: number[];
    static _arialBoldWidth: number[];
    static _fixedWidth: number[];
    static _timesRomanWidth: number[];
    static _timesRomanBoldWidth: number[];
    static _timesRomanItalicWidth: number[];
    static _timesRomanBoldItalicWidths: number[];
    static _symbolWidth: number[];
    static _zapfDingbatsWidth: number[];
    static _getMetrics(fontFamily: PdfFontFamily, fontStyle: PdfFontStyle, size: number): _PdfFontMetrics;
    static _getHelveticaMetrics(fontStyle: PdfFontStyle, size: number): _PdfFontMetrics;
    static _getCourierMetrics(fontStyle: PdfFontStyle, size: number): _PdfFontMetrics;
    static _getTimesMetrics(fontStyle: PdfFontStyle, size: number): _PdfFontMetrics;
    static _getSymbolMetrics(size: number): _PdfFontMetrics;
    static _getZapfDingbatsMetrics(size: number): _PdfFontMetrics;
}
export  class _PdfCjkStandardFontMetricsFactory {
    static readonly _subSuperScriptFactor: number;
    static _getHanyangSystemsGothicMedium(fontStyle: PdfFontStyle, size: number): _PdfFontMetrics;
    static _getHanyangSystemsShinMyeongJoMedium(fontStyle: PdfFontStyle, size: number): _PdfFontMetrics;
    static _getHeiseiKakuGothicW5(fontStyle: PdfFontStyle, size: number): _PdfFontMetrics;
    static _getHeiseiMinchoW3(fontStyle: PdfFontStyle, size: number): _PdfFontMetrics;
    static _getMonotypeHeiMedium(fontStyle: PdfFontStyle, size: number): _PdfFontMetrics;
    static _getMonotypeSungLight(fontStyle: PdfFontStyle, size: number): _PdfFontMetrics;
    static _getSinoTypeSongLight(fontStyle: PdfFontStyle, size: number): _PdfFontMetrics;
    static _getMetrics(fontFamily: PdfCjkFontFamily, fontStyle: PdfFontStyle, size: number): _PdfFontMetrics;
}
export  class _PdfCjkFontDescriptorFactory {
    static _fillMonotypeSungLight(fontDescriptor: _PdfDictionary, fontFamily: PdfCjkFontFamily, fontMetrics: _PdfFontMetrics): void;
    static _fillHeiseiKakuGothicW5(fontDescriptor: _PdfDictionary, fontStyle: PdfFontStyle, fontFamily: PdfCjkFontFamily, fontMetrics: _PdfFontMetrics): void;
    static _fillHanyangSystemsShinMyeongJoMedium(fontDescriptor: _PdfDictionary, fontFamily: PdfCjkFontFamily, fontMetrics: _PdfFontMetrics): void;
    static _fillHeiseiMinchoW3(fontDescriptor: _PdfDictionary, fontFamily: PdfCjkFontFamily, fontMetrics: _PdfFontMetrics): void;
    static _fillSinoTypeSongLight(fontDescriptor: _PdfDictionary, fontFamily: PdfCjkFontFamily, fontMetrics: _PdfFontMetrics): void;
    static _fillMonotypeHeiMedium(fontDescriptor: _PdfDictionary, fontFamily: PdfCjkFontFamily, fontMetrics: _PdfFontMetrics): void;
    static _fillHanyangSystemsGothicMedium(fontDescriptor: _PdfDictionary, fontFamily: PdfCjkFontFamily, fontMetrics: _PdfFontMetrics): void;
    static _fillFontBox(fontDescriptor: _PdfDictionary, fontBox: {
        x: number;
        y: number;
        width: number;
        height: number;
    }): void;
    static _fillKnownInformation(fontDescriptor: _PdfDictionary, fontFamily: PdfCjkFontFamily, fontMetrics: _PdfFontMetrics): void;
    static _getFontDescriptor(fontFamily: PdfCjkFontFamily, fontStyle: PdfFontStyle, fontMetrics: _PdfFontMetrics): _PdfDictionary;
}
/**
 * Public enum to define font style.
 * ```typescript
 * // Load an existing PDF document
 * let document$: PdfDocument = new PdfDocument(data, password);
 * // Gets the first page
 * let page$: PdfPage = document.getPage(0) as PdfPage;
 * // Create a new PDF standard font
 * let font$: PdfStandardFont = new PdfStandardFont(PdfFontFamily.Helvetica, 10, PdfFontStyle.regular);
 * // Create a new PDF string format
 * let format$: PdfStringFormat = new PdfStringFormat(PdfTextAlignment.right, PdfVerticalAlignment.bottom);
 * // Draw the text
 * page.graphics.drawString('Helvetica', font, [0, 180, page.size[0], 40], undefined, new PdfBrush([0, 0, 255]), format);
 * // Save the document
 * document.save('output.pdf');
 * // Destroy the document
 * document.destroy();
 * ```
 */
export  enum PdfFontStyle {
    /**
     * Specifies the font style `regular`.
     */
    regular = 0,
    /**
     * Specifies the font style `bold`.
     */
    bold = 1,
    /**
     * Specifies the font style `italic`.
     */
    italic = 2,
    /**
     * Specifies the font style `underline`.
     */
    underline = 4,
    /**
     * Specifies the font style `strikeout`.
     */
    strikeout = 8
}
/**
 * Public enum to define font family.
 * ```typescript
 * // Load an existing PDF document
 * let document$: PdfDocument = new PdfDocument(data, password);
 * // Gets the first page
 * let page$: PdfPage = document.getPage(0) as PdfPage;
 * // Create a new PDF standard font
 * let font$: PdfStandardFont = new PdfStandardFont(PdfFontFamily.Helvetica, 10, PdfFontStyle.regular);
 * // Create a new PDF string format
 * let format$: PdfStringFormat = new PdfStringFormat(PdfTextAlignment.right, PdfVerticalAlignment.bottom);
 * // Draw the text
 * page.graphics.drawString('Helvetica', font, [0, 180, page.size[0], 40], undefined, new PdfBrush([0, 0, 255]), format);
 * // Save the document
 * document.save('output.pdf');
 * // Destroy the document
 * document.destroy();
 * ```
 */
export  enum PdfFontFamily {
    /**
     * Specifies the `helvetica` font family.
     */
    helvetica = 0,
    /**
     * Specifies the `courier` font family.
     */
    courier = 1,
    /**
     * Specifies the `timesRoman` font family.
     */
    timesRoman = 2,
    /**
     * Specifies the `symbol` font family.
     */
    symbol = 3,
    /**
     * Specifies the `zapfDingbats` font family.
     */
    zapfDingbats = 4
}
/**
 * Public enum to define CJK font family.
 * ```typescript
 * // Load an existing PDF document
 * let document$: PdfDocument = new PdfDocument(data, password);
 * // Gets the first page
 * let page$: PdfPage = document.getPage(0) as PdfPage;
 * // Create a new PDF CJK standard font
 * let font$: PdfCjkStandardFont = new PdfCjkStandardFont(PdfCjkFontFamily.heiseiMinchoW3, 20);
 * // Create a new PDF string format
 * let format$: PdfStringFormat = new PdfStringFormat(PdfTextAlignment.right, PdfVerticalAlignment.bottom);
 * // Draw the text
 * page.graphics.drawString('こんにちは世界', font, [0, 180, page.size[0], 40], undefined, new PdfBrush([0, 0, 255]), format);
 * // Save the document
 * document.save('output.pdf');
 * // Destroy the document
 * document.destroy();
 * ```
 */
export  enum PdfCjkFontFamily {
    /**
     * Specifies the `heiseiKakuGothicW5` CJK font family.
     */
    heiseiKakuGothicW5 = 0,
    /**
     * Specifies the `heiseiMinchoW3` CJK font family.
     */
    heiseiMinchoW3 = 1,
    /**
     * Specifies the `hanyangSystemsGothicMedium` CJK font family.
     */
    hanyangSystemsGothicMedium = 2,
    /**
     * Specifies the `hanyangSystemsShinMyeongJoMedium` CJK font family.
     */
    hanyangSystemsShinMyeongJoMedium = 3,
    /**
     * Specifies the `monotypeHeiMedium` CJK font family.
     */
    monotypeHeiMedium = 4,
    /**
     * Specifies the `monotypeSungLight` CJK font family.
     */
    monotypeSungLight = 5,
    /**
     * Specifies the `sinoTypeSongLight` CJK font family.
     */
    sinoTypeSongLight = 6
}
export  class _UnicodeLine {
    _result: boolean;
    _glyphIndex: number[];
}
//node_modules/@syncfusion/ej2-pdf/src/pdf/core/fonts/pdf-font-metrics.d.ts
export  class _PdfFontMetrics {
    _ascent: number;
    _descent: number;
    _name: string;
    _postScriptName: string;
    _size: number;
    _height: number;
    _firstChar: number;
    _lastChar: number;
    _lineGap: number;
    _subScriptSizeFactor: number;
    _superscriptSizeFactor: number;
    _widthTable: _WidthTable;
    _isUnicodeFont: boolean;
    _isBold: boolean;
    _getAscent(format: PdfStringFormat): number;
    _getDescent(format: PdfStringFormat): number;
    _getLineGap(format: PdfStringFormat): number;
    _getHeight(): number;
    _getHeight(format: PdfStringFormat): number;
    _getSize(format: PdfStringFormat): number;
}
export  abstract class _WidthTable {
    abstract _itemAt(index: number): number;
    abstract _toArray(): number[];
}
export  class _StandardWidthTable extends _WidthTable {
    widths: number[];
    constructor(widths: number[]);
    _itemAt(index: number): number;
    _toArray(): number[];
}
export  class _CjkWidthTable extends _WidthTable {
    widths: _CjkWidth[];
    _defaultWidth: number;
    constructor(defaultWidth: number);
    _itemAt(index: number): number;
    _toArray(): number[];
    _add(width: _CjkWidth): void;
}
export  abstract class _CjkWidth {
    abstract readonly _from: number;
    abstract readonly _to: number;
    abstract _itemAt(index: number): number;
    abstract _appendToArray(array: number[]): void;
}
export  class _CjkSameWidth extends _CjkWidth {
    _widthFrom: number;
    _widthTo: number;
    _width: number;
    constructor(from: number, to: number, width: number);
    readonly _from: number;
    readonly _to: number;
    _itemAt(index: number): number;
    _appendToArray(array: number[]): void;
}
export  class _CjkDifferentWidth extends _CjkWidth {
    _widthFrom: number;
    _widths: number[];
    constructor(from: number, widths: number[]);
    readonly _from: number;
    readonly _to: number;
    _itemAt(index: number): number;
    _appendToArray(array: number[]): void;
}
//node_modules/@syncfusion/ej2-pdf/src/pdf/core/compression/inflater.d.ts
export  class _Inflater {
    constructor();
    _output: _DecompressedOutput;
    _input: _InBuffer;
    _llTree: _HuffmanTree;
    _distanceTree: _HuffmanTree;
    _inflaterState: _InflaterState;
    _bfinal: number;
    _blockType: _BlockType;
    _blBuffer: number[];
    _bLength: number;
    _length: number;
    _distanceCode: number;
    _extraBits: number;
    _loopCounter: number;
    _llCodeCount: number;
    _dCodeCount: number;
    _clCodeCount: number;
    _caSize: number;
    _lengthCode: number;
    _codeList: number[];
    _cltcl: number[];
    _clTree: _HuffmanTree;
    _extraLengthBits: number[];
    _staticDistanceTreeTable: number[];
    _lengthBase: number[];
    _distanceBasePosition: number[];
    _codeOrder: number[];
    readonly _finished: boolean;
    _setInput(inputBytes: number[], offset: number, length: number): void;
    _inflate(bytes: number[], offset: number, length: number): {
        count: number;
        data: number[];
    };
    _decode(): boolean;
    _decodeUncompressedBlock(endBlock: boolean): {
        result: boolean;
        eob: boolean;
        output: _DecompressedOutput;
    };
    _unCompressedByte(): boolean;
    _decodeBlock(endBlock: boolean): {
        result: boolean;
        eob: boolean;
        output: _DecompressedOutput;
    };
    _inLength(fb: number): {
        value: boolean;
        fb: number;
    };
    _fLength(fb: number): {
        value: boolean;
        fb: number;
    };
    _dcode(fb: number): {
        value: boolean;
        fb: number;
    };
    _decodeDynamicBlockHeader(): boolean;
    _readingNDCodes(): boolean;
    _readingCodes(): boolean;
    _readingCLCodes(): boolean;
    _readingTCBefore(): boolean;
    _getBlockType(type: number): _BlockType;
    _getInflaterState(value: number): _InflaterState;
    _getInflaterStateValue(state: _InflaterState): number;
}
//node_modules/@syncfusion/ej2-pdf/src/pdf/core/compression/in-buffer.d.ts
export  class _InBuffer {
    _buffer: number[];
    _begin: number;
    _end: number;
    _bBuffer: number;
    _bInBuffer: number;
    constructor();
    readonly _bytes: number;
    _needsInput(): boolean;
    _availableBits(count: number): boolean;
    _load16Bits(): number;
    _getBitMask(count: number): number;
    _getBits(count: number): number;
    _copyTo(output: number[], offset: number, length: number): number;
    _setInput(buffer: number[], offset: number, length: number): void;
    _skipBits(n: number): void;
    _skipByteBoundary(): void;
}
//node_modules/@syncfusion/ej2-pdf/src/pdf/core/compression/huffman-tree.d.ts
export  class _HuffmanTree {
    static _maxLengthTree: number;
    static _maxDepthTree: number;
    static _nCLength: number;
    _tBits: number;
    _table: number[];
    _left: number[];
    _right: number[];
    _clArray: number[];
    _tMask: number;
    _load(code: number[]): void;
    _loadTree(isLengthTree: boolean): void;
    _initialize(): void;
    _getLengthTree(): number[];
    _getDepthTree(): number[];
    _calculateHashCode(): number[];
    _bitReverse(code: number, length: number): number;
    _createTable(): void;
    _getNextSymbol(input: _InBuffer): number;
}
//node_modules/@syncfusion/ej2-pdf/src/pdf/core/compression/enum.d.ts
export  enum _InflaterState {
    readingHeader = 0,
    readingBFinal = 1,
    readingBType = 2,
    readingNlCodes = 3,
    readingNdCodes = 4,
    readingCodes = 5,
    readingClCodes = 6,
    readingTcBefore = 7,
    readingTcAfter = 8,
    decodeTop = 9,
    iLength = 10,
    fLength = 11,
    dCode = 12,
    unCompressedAligning = 13,
    unCompressedByte1 = 14,
    unCompressedByte2 = 15,
    unCompressedByte3 = 16,
    unCompressedByte4 = 17,
    decodeUnCompressedBytes = 18,
    srFooter = 19,
    rFooter = 20,
    vFooter = 21,
    done = 22
}
export  enum _BlockType {
    unCompressedType = 0,
    staticType = 1,
    dynamicType = 2
}
//node_modules/@syncfusion/ej2-pdf/src/pdf/core/compression/deflate-stream.d.ts
export  class _DeflateStream {
    _data: number[];
    _leaveOpen: boolean;
    _offset: number;
    _buffer: number[];
    _inflater: _Inflater;
    constructor(data: number[], offset: number, leaveOpen: boolean);
    _read(array: number[], offset: number, count: number): {
        count: number;
        data: number[];
    };
    _readBytes(): {
        buffer: number[];
        count: number;
    };
}
//node_modules/@syncfusion/ej2-pdf/src/pdf/core/compression/decompressed-output.d.ts
export  class _DecompressedOutput {
    constructor();
    static _dOutSize: number;
    static _dOutMask: number;
    _dOutput: number[];
    _end: number;
    _usedBytes: number;
    readonly _unusedBytes: number;
    _write(b: number): void;
    _writeLD(length: number, distance: number): void;
    _copyFrom(input: _InBuffer, length: number): number;
    _copyTo(output: number[], offset: number, length: number): {
        count: number;
        data: number[];
    };
}
//node_modules/@syncfusion/ej2-pdf/src/pdf/core/annotations/pdf-paddings.d.ts
export  class _PdfPaddings {
    _left: number;
    _right: number;
    _top: number;
    _bottom: number;
    constructor();
    constructor(left: number, top: number, right: number, bottom: number);
}
//node_modules/@syncfusion/ej2-pdf/src/pdf/core/annotations/pdf-appearance.d.ts
/**
 * `PdfAppearance` class represents the appearance of the annotation.
 * ```typescript
 * // Load an existing PDF document
 * let document$: PdfDocument = new PdfDocument(data, password);
 * // Get the first page
 * let page$: PdfPage = document.getPage(0) as PdfPage;
 * // Create a new rubber stamp annotation
 * const annotation: PdfRubberStampAnnotation = new PdfRubberStampAnnotation(50, 100, 100, 50);
 * // Get the appearance of the annotation
 * let appearance$: PdfAppearance = annotation.appearance;
 * // Create new image object by using JPEG image data as Base64 string format
 * let image$: PdfImage = new PdfBitmap('/9j/4AAQSkZJRgABAQEAkACQAAD/4....QB//Z');
 * // Draw the image as the custom appearance for the annotation
 * appearance.normal.graphics.drawImage(image, 0, 0, 100, 50);
 * // Add annotation to the page
 * page.annotations.add(annotation);
 * // Save the document
 * document.save('output.pdf');
 * // Destroy the document
 * document.destroy();
 * ```
 */
export  class PdfAppearance {
    _annotations: PdfAnnotation;
    _bounds: Rectangle;
    _isNormalKey: boolean;
    private _crossReference;
    private _templateNormal;
    private _dictionary;
    /**
     * Initializes a new instance of the `PdfAppearance` class.
     *
     * @param {Rectangle} bounds - The bounds.
     * @param {PdfAnnotation} annot - The annotation.
     * @private
     */
    constructor(bounds: Rectangle, annot?: PdfAnnotation);
    /**
     * Get the normal appearance of the annotation.
     *
     * @returns {PdfTemplate} Returns the normal appearance of the annotation.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Get the first page
     * let page$: PdfPage = document.getPage(0) as PdfPage;
     * // Create a new rubber stamp annotation
     * const annotation: PdfRubberStampAnnotation = new PdfRubberStampAnnotation(50, 100, 100, 50);
     * // Get the appearance of the annotation
     * let appearance$: PdfAppearance = annotation.appearance;
     * // Access the normal template of the appearance
     * let template$: PdfTemplate = appearance.normal;
     * // Create new image object by using JPEG image data as Base64 string format
     * let image$: PdfImage = new PdfBitmap('/9j/4AAQSkZJRgABAQEAkACQAAD/4....QB//Z');
     * // Draw the image as the custom appearance for the annotation
     * template.graphics.drawImage(image, 0, 0, 100, 50);
     * // Add annotation to the page
     * page.annotations.add(annotation);
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Set the normal appearance of the annotation.
    *
    * @param {PdfTemplate} value The normal appearance of the annotation.
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data, password);
    * // Get the first page
    * let page$: PdfPage = document.getPage(0) as PdfPage;
    * // Create a new rubber stamp annotation
    * const annotation: PdfRubberStampAnnotation = new PdfRubberStampAnnotation(50, 100, 100, 50);
    * // Get the appearance of the annotation
    * let appearance$: PdfAppearance = annotation.appearance;
    * // Access the normal template of the appearance
    * let template$: PdfTemplate = appearance.normal;
    * // Create new image object by using JPEG image data as Base64 string format
    * let image$: PdfImage = new PdfBitmap('/9j/4AAQSkZJRgABAQEAkACQAAD/4....QB//Z');
    * // Draw the image as the custom appearance for the annotation
    * template.graphics.drawImage(image, 0, 0, 100, 50);
    * // Add annotation to the page
    * page.annotations.add(annotation);
    * // Add a new rubber stamp annotation to the page
    * const annotation2: PdfRubberStampAnnotation = new PdfRubberStampAnnotation(50, 200, 100, 50);
    * // Set the normal appearance of the annotation
    * annotation2.appearance.normal = annotation.appearance.normal;
    * // Add annotation to the page
    * page.annotations.add(annotation2);
    * // Save the document
    * document.save('output.pdf');
    * // Destroy the document
    * document.destroy();
    * ```
    */
    normal: PdfTemplate;
    _initialize(): void;
}
//node_modules/@syncfusion/ej2-pdf/src/pdf/core/annotations/annotation.d.ts
/**
 * Represents the base class for annotation objects.
 * ```typescript
 * // Load an existing PDF document
 * let document$: PdfDocument = new PdfDocument(data, password);
 * // Access first page
 * let page$: PdfPage = document.getPage(0);
 * // Access the annotation at index 0
 * let annotation$: PdfAnnotation = page.annotations.at(0);
 * // Save the document
 * document.save('output.pdf');
 * // Destroy the document
 * document.destroy();
 * ```
 */
export  abstract class PdfAnnotation {
    _isImported: boolean;
    _dictionary: _PdfDictionary;
    _crossReference: _PdfCrossReference;
    _ref: _PdfReference;
    _page: PdfPage;
    _isLoaded: boolean;
    _setAppearance: boolean;
    _isExport: boolean;
    _color: number[];
    _annotFlags: PdfAnnotationFlag;
    _bounds: {
        x: number;
        y: number;
        width: number;
        height: number;
    };
    _innerColor: number[];
    _opacity: number;
    _text: string;
    _value: string;
    _locationDisplaced: boolean;
    _isBounds: boolean;
    _borderEffect: PdfBorderEffect;
    _da: _PdfDefaultAppearance;
    _rotate: PdfRotationAngle;
    _isAllRotation: boolean;
    _pdfFont: PdfFont;
    _appearanceTemplate: PdfTemplate;
    _flatten: boolean;
    private _ratio;
    private _author;
    private _border;
    private _caption;
    private _creationDate;
    private _modifiedDate;
    private _name;
    private _subject;
    _isWidget: boolean;
    _type: _PdfAnnotationType;
    _isFlattenPopups: boolean;
    _comments: PdfPopupAnnotationCollection;
    _reviewHistory: PdfPopupAnnotationCollection;
    _popUpFont: PdfStandardFont;
    _authorBoldFont: PdfStandardFont;
    _lineCaptionFont: PdfStandardFont;
    _circleCaptionFont: PdfStandardFont;
    _isTransparentColor: boolean;
    _isRotated: boolean;
    _isChanged: boolean;
    private _layer;
    /**
     * Gets the author of the annotation.
     *
     * @returns {string} Author.
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Get the first page
     * let page$: PdfPage = document.getPage(0) as PdfPage;
     * // Get the first annotation of the page
     * let annotation$: PdfLineAnnotation = page.annotations.at(0) as PdfLineAnnotation;
     * //Get the author of the annotation.
     * let author: string = annotation.author;
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Sets the author of the annotation.
    *
    * @param {string} value Author.
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data, password);
    * // Get the first page
    * let page$: PdfPage = document.getPage(0) as PdfPage;
    * // Get the first annotation of the page
    * let annotation$: PdfLineAnnotation = page.annotations.at(0) as PdfLineAnnotation;
    * // Sets the author of the annotation.
    * annotation.author = ‘Syncfusion’;
    * // Destroy the document
    * document.destroy();
    * ```
    */
    author: string;
    /**
     * Gets the border of the annotation.
     *
     * @returns {PdfAnnotationBorder} Annotation border.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Get the first page
     * let page$: PdfPage = document.getPage(0) as PdfPage;
     * // Get the first annotation of the page
     * let annotation$: PdfLineAnnotation = page.annotations.at(0) as PdfLineAnnotation;
     * // Gets the border of the annotation.
     * let border$: PdfAnnotationBorder = annotation.border;
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Sets the border of the annotation.
    *
    * @param {PdfAnnotationBorder} value Border.
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data, password);
    * // Get the first page
    * let page$: PdfPage = document.getPage(0) as PdfPage;
    * // Get the first annotation of the page
    * let annotation$: PdfLineAnnotation = page.annotations.at(0) as PdfLineAnnotation;
    * // Initializes a new instance of the ` PdfAnnotationBorder ` class.
    * let border$: PdfAnnotationBorder = new PdfAnnotationBorder ();
    * //Sets the width of the annotation border.
    * border.width = 10;
    * //Sets the style of the annotation border.
    * border.style = PdfBorderStyle.dashed;
    * //Sets the dash pattern of the annotation border.
    * border.dash = [1, 2, 1];
    * // Sets the border to the PDF annotation
    * annotation.border = border;
    * // Destroy the document
    * document.destroy();
    * ```
    */
    border: PdfAnnotationBorder;
    /**
     * Gets the flags of the annotation.
     *
     * @returns {PdfAnnotationFlag} Annotation flag.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Get the first page
     * let page$: PdfPage = document.getPage(0) as PdfPage;
     * // Get the first annotation of the page
     * let annotation$: PdfLineAnnotation = page.annotations.at(0) as PdfLineAnnotation;
     * // Gets the flags of the annotation.
     * let flag: PdfAnnotationFlag = annotation.flags;
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Sets the flags of the annotation.
    *
    * @param {PdfAnnotationFlag} value flag value.
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data, password);
    * // Get the first page
    * let page$: PdfPage = document.getPage(0) as PdfPage;
    * // Get the first annotation of the page
    * let annotation$: PdfLineAnnotation = page.annotations.at(0) as PdfLineAnnotation;
    * // Sets the flags of the annotation.
    * annotation.flags = PdfAnnotationFlag.print;
    * // Destroy the document
    * document.destroy();
    * ```
    */
    flags: PdfAnnotationFlag;
    /**
     * Gets the fore color of the annotation.
     *
     * @returns {number[]} R, G, B color values in between 0 to 255.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Get the first page
     * let page$: PdfPage = document.getPage(0) as PdfPage;
     * // Get the first annotation of the page
     * let annotation$: PdfLineAnnotation = page.annotations.at(0) as PdfLineAnnotation;
     * // Gets the color of the annotation.
     * let color$: number[] = annotation.color;
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Sets the fore color of the annotation.
    *
    * @param {number[]} value R, G, B color values in between 0 to 255.
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data, password);
    * // Get the first page
    * let page$: PdfPage = document.getPage(0) as PdfPage;
    * // Get the first annotation of the page
    * let annotation$: PdfLineAnnotation = page.annotations.at(0) as PdfLineAnnotation;
    * // Sets the color of the annotation.
    * annotation.color = [255, 0, 0];
    * // Destroy the document
    * document.destroy();
    * ```
    */
    color: number[];
    /**
     * Gets the inner color of the annotation.
     *
     * @returns {number[]} R, G, B color values in between 0 to 255.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Get the first page
     * let page$: PdfPage = document.getPage(0) as PdfPage;
     * // Get the first annotation of the page
     * let annotation$: PdfLineAnnotation = page.annotations.at(0) as PdfLineAnnotation;
     * // Gets the inner color of the annotation.
     * let innerColor: number[] = annotation.innerColor;
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Sets the inner color of the annotation.
    *
    * @param {number[]} value R, G, B color values in between 0 to 255.
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data, password);
    * // Get the first page
    * let page$: PdfPage = document.getPage(0) as PdfPage;
    * // Get the first annotation of the page
    * let annotation$: PdfLineAnnotation = page.annotations.at(0) as PdfLineAnnotation;
    * // Sets the inner color of the annotation.
    * annotation.innerColor = [255, 0, 0];
    * // Destroy the document
    * document.destroy();
    * ```
    */
    innerColor: number[];
    /**
     * Gets the creation date of the annotation.
     *
     * @returns {Date} Creation date.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Get the first page
     * let page$: PdfPage = document.getPage(0) as PdfPage;
     * // Get the first annotation of the page
     * let annotation$: PdfLineAnnotation = page.annotations.at(0) as PdfLineAnnotation;
     * //Get the creation date of the annotation.
     * let creationDate: Date = annotation.creationDate;
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Sets the creation date of the annotation.
    *
    * @param {Date} value Creation date.
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data, password);
    * // Get the first page
    * let page$: PdfPage = document.getPage(0) as PdfPage;
    * // Get the first annotation of the page
    * let annotation$: PdfLineAnnotation = page.annotations.at(0) as PdfLineAnnotation;
    * //Set the creation date of the annotation.
    * annotation.creationDate = new Date();
    * // Destroy the document
    * document.destroy();
    * ```
    */
    creationDate: Date;
    /**
     * Gets the modification date of the annotation.
     *
     * @returns {Date} Modified date.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Get the first page
     * let page$: PdfPage = document.getPage(0) as PdfPage;
     * // Get the first annotation of the page
     * let annotation$: PdfLineAnnotation = page.annotations.at(0) as PdfLineAnnotation;
     * //Get the modified date of the annotation.
     * let modifiedDate: Date = annotation.modifiedDate;
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Sets the modification date of the annotation.
    *
    * @param {Date} value Modified date.
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data, password);
    * // Get the first page
    * let page$: PdfPage = document.getPage(0) as PdfPage;
    * // Get the first annotation of the page
    * let annotation$: PdfLineAnnotation = page.annotations.at(0) as PdfLineAnnotation;
    * //Set the modified date of the annotation.
    * annotation.modifiedDate = new Date();
    * // Destroy the document
    * document.destroy();
    * ```
    */
    modifiedDate: Date;
    /**
     * Gets the bounds of the annotation.
     *
     * @returns {{x: number, y: number, width: number, height: number}} Bounds.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Get the first page
     * let page$: PdfPage = document.getPage(0) as PdfPage;
     * // Get the first annotation of the page
     * let annotation$: PdfLineAnnotation = page.annotations.at(0) as PdfLineAnnotation;
     * // Gets the bounds of the annotation.
     * let bounds$: {x: number, y: number, width: number, height: number} = annotation.bounds;
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Sets the bounds of the annotation.
    *
    * @param {{x: number, y: number, width: number, height: number}} value bounds.
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data, password);
    * // Get the first page
    * let page$: PdfPage = document.getPage(0) as PdfPage;
    * // Get the first annotation of the page
    * let annotation$: PdfLineAnnotation = page.annotations.at(0) as PdfLineAnnotation;
    * // Sets the bounds of the annotation.
    * annotation.bounds = {x: 10, y: 10, width: 150, height: 5};
    * // Destroy the document
    * document.destroy();
    * ```
    */
    bounds: {
        x: number;
        y: number;
        width: number;
        height: number;
    };
    /**
     * Gets the caption of the annotation.
     *
     * @returns {PdfAnnotationCaption} Annotation caption.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Get the first page
     * let page$: PdfPage = document.getPage(0) as PdfPage;
     * // Get the first annotation of the page
     * let annotation$: PdfLineAnnotation = page.annotations.at(0) as PdfLineAnnotation;
     * // Gets the caption of the annotation.
     * let caption: PdfAnnotationCaption = annotation.caption;
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Sets the caption of the annotation.
    *
    * @param {PdfAnnotationCaption} value Annottion caption.
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data, password);
    * // Get the first page
    * let page$: PdfPage = document.getPage(0) as PdfPage;
    * // Get the first annotation of the page
    * let annotation$: PdfLineAnnotation = page.annotations.at(0) as PdfLineAnnotation;
    * // Create and set annotation caption values
    * annotation.caption = new PdfAnnotationCaption(true, PdfLineCaptionType.inline, [10, 10]);
    * // Destroy the document
    * document.destroy();
    * ```
    */
    caption: PdfAnnotationCaption;
    /**
     * Gets the opacity of the annotation.
     *
     * @returns {number} Opacity in between 0 t0 1.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Get the first page
     * let page$: PdfPage = document.getPage(0) as PdfPage;
     * // Get the first annotation of the page
     * let annotation$: PdfLineAnnotation = page.annotations.at(0) as PdfLineAnnotation;
     * //Get the opacity of the annotation.
     * let opacity: number = annotation.opacity;
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Sets the opacity of the annotation.
    *
    * @param {number} value opacity in between 0 t0 1.
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data, password);
    * // Get the first page
    * let page$: PdfPage = document.getPage(0) as PdfPage;
    * // Get the first annotation of the page
    * let annotation$: PdfLineAnnotation = page.annotations.at(0) as PdfLineAnnotation;
    * // Sets the opacity of the annotation.
    * annotation.opacity = 0.5;
    * // Destroy the document
    * document.destroy();
    * ```
    */
    opacity: number;
    /**
     * Gets the subject of the annotation.
     *
     * @returns {string} Subject.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Get the first page
     * let page$: PdfPage = document.getPage(0) as PdfPage;
     * // Get the first annotation of the page
     * let annotation$: PdfLineAnnotation = page.annotations.at(0) as PdfLineAnnotation;
     * //Get the subject of the annotation.
     * let subject: string = annotation.subject;
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Sets the subject of the annotation.
    *
    * @param {string} value Subject.
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data, password);
    * // Get the first page
    * let page$: PdfPage = document.getPage(0) as PdfPage;
    * // Get the first annotation of the page
    * let annotation$: PdfLineAnnotation = page.annotations.at(0) as PdfLineAnnotation;
    * // Sets the subject of the annotation.
    * annotation.subject = 'Line Annotation';
    * // Destroy the document
    * document.destroy();
    * ```
    */
    subject: string;
    /**
     * Gets the name of the annotation.
     *
     * @returns {string} Name.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Get the first page
     * let page$: PdfPage = document.getPage(0) as PdfPage;
     * // Get the first annotation of the page
     * let annotation$: PdfLineAnnotation = page.annotations.at(0) as PdfLineAnnotation;
     * //Get the name of the annotation.
     * let name$: string = annotation.name;
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Sets the name of the annotation.
    *
    * @param {string} value Name.
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data, password);
    * // Get the first page
    * let page$: PdfPage = document.getPage(0) as PdfPage;
    * // Get the first annotation of the page
    * let annotation$: PdfLineAnnotation = page.annotations.at(0) as PdfLineAnnotation;
    * // Sets the name of the annotation.
    * annotation.name = 'LineAnnotation';
    * // Destroy the document
    * document.destroy();
    * ```
    */
    name: string;
    /**
     * Gets the text of the annotation.
     *
     * @returns {string} Text.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Get the first page
     * let page$: PdfPage = document.getPage(0) as PdfPage;
     * // Get the first annotation of the page
     * let annotation$: PdfLineAnnotation = page.annotations.at(0) as PdfLineAnnotation;
     * //Get the text of the annotation.
     * let text$: string = annotation.text;
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Sets the text of the annotation.
    *
    * @param {string} value Text.
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data, password);
    * // Get the first page
    * let page$: PdfPage = document.getPage(0) as PdfPage;
    * // Get the first annotation of the page
    * let annotation$: PdfLineAnnotation = page.annotations.at(0) as PdfLineAnnotation;
    * // Sets the text of the annotation.
    * annotation.text = ‘LineAnnotation’;
    * // Destroy the document
    * document.destroy();
    * ```
    */
    text: string;
    /**
     * Gets the rotation of the annotation.
     *
     * @returns {PdfRotationAngle} Rotation angle.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Get the first page
     * let page$: PdfPage = document.getPage(0) as PdfPage;
     * // Get the first annotation of the page
     * let annotation$: PdfLineAnnotation = page.annotations.at(0) as PdfLineAnnotation;
     * //Get the rotation angle of the annotation.
     * let rotationAngle: PdfRotationAngle = annotation.rotationAngle;
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Sets the rotation of the annotation.
    *
    * @param {PdfRotationAngle} value rotation angle.
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data, password);
    * // Get the first page
    * let page$: PdfPage = document.getPage(0) as PdfPage;
    * // Get the first annotation of the page
    * let annotation$: PdfLineAnnotation = page.annotations.at(0) as PdfLineAnnotation;
    * // Sets the rotation angle of the annotation.
    * annotation.rotationAngle = PdfRotationAngle.angle180;
    * // Destroy the document
    * document.destroy();
    * ```
    */
    rotationAngle: PdfRotationAngle;
    /**
     * Gets the rotation angle of the annotation (Read only).
     *
     * @returns {number} Rotation angle.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Get the first page
     * let page$: PdfPage = document.getPage(0) as PdfPage;
     * // Get the first annotation of the page
     * let annotation$: PdfLineAnnotation = page.annotations.at(0) as PdfLineAnnotation;
     * //Get the rotation angle of the annotation.
     * let rotate$: number = annotation.rotate;
     * // Destroy the document
     * document.destroy();
     * ```
     */
    readonly rotate: number;
    /**
     * Gets the boolean flag indicating whether annotation's popup have been flattened or not.
     *
     * @returns {boolean} Flatten Popup.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Get the first page
     * let page$: PdfPage = document.getPage(0) as PdfPage;
     * // Get the first annotation of the page
     * let annotation$: PdfLineAnnotation = page.annotations.at(0) as PdfLineAnnotation;
     * // Gets the boolean flag indicating whether annotation's popup have been flattened or not.
     * let flattenPopups: boolean = annotation.flattenPopups;
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Sets the boolean flag indicating whether the annotation’s popup have been flattened or not.
    *
    * @param {boolean} value Flatten Popup.
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data, password);
    * // Get the first page
    * let page$: PdfPage = document.getPage(0) as PdfPage;
    * // Get the first annotation of the page
    * let annotation$: PdfLineAnnotation = page.annotations.at(0) as PdfLineAnnotation;
    * // Sets the boolean flag indicating whether the annotation’s popup have been flattened or not.
    * annotation.flattenPopups = false;
    * // Destroy the document
    * document.destroy();
    * ```
    */
    flattenPopups: boolean;
    /**
     * Gets the boolean flag indicating whether the annotation have been flattened or not.
     *
     * @returns {boolean} Flatten.
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Get the first page
     * let page$: PdfPage = document.getPage(0) as PdfPage;
     * // Get the first annotation of the page
     * let annotation$: PdfLineAnnotation = page.annotations.at(0) as PdfLineAnnotation;
     * // Gets the boolean flag indicating whether the annotation have been flattened or not.
     * let flatten$: boolean = annotation.flatten;
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Sets the boolean flag indicating whether the annotation have been flattened or not.
    *
    * @param {boolean} value Flatten.
    *
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data, password);
    * // Get the first page
    * let page$: PdfPage = document.getPage(0) as PdfPage;
    * // Get the first annotation of the page
    * let annotation$: PdfLineAnnotation = page.annotations.at(0) as PdfLineAnnotation;
    * // Sets the boolean flag indicating whether the annotation have been flattened or not.
    * annotation.flatten = true;
    * // Destroy the document
    * document.destroy();
    * ```
    */
    flatten: boolean;
    readonly _hasFlags: boolean;
    readonly _degreeToRadian: number;
    /**
     * Gets the `PdfLayer` of the annotation.
     *
     * @returns {PdfLayer} PDF layer to the annotation.
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data);
     * // Get the first page of the document
     * let page$: PdfPage = document.getPage(0);
     * // Access the first annotation on the page
     * let annotation$: PdfAnnotation = page.annotations.at(0);
     * // Get the layer of the annotation
     * let layer$: PdfLayer = annotation.layer;
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Set the `PdfLayer` to the annotation.
    *
    * @param {PdfLayer} value PDF layer to the annotation.
    *
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data);
    * // Get the first page of the document
    * let page$: PdfPage = document.getPage(0);
    * // Access the collection of layers in the document
    * let layers$: PdfLayerCollection = document.layers;
    * // Add a new layer to the document with the name 'Layer1'
    * let layer$: PdfLayer = layers.add('Layer1');
    * // Access the first annotation on the page
    * let annotation$: PdfAnnotation = page.annotations.at(0);
    * // Assign the layer to the annotation
    * annotation.layer = layer;
    * // Save the document
    * document.save('output.pdf');
    * // Destroy the document
    * document.destroy();
    * ```
    */
    layer: PdfLayer;
    /**
     * Set the boolean flag to create a new appearance stream for annotations.
     *
     * @param {boolean} value Set appearance.
     * @returns {void} Nothing.
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Set the boolean flag to create a new appearance stream for annotations.
     * document.getPage(0).annotations.at(0).setAppearance(true);
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    setAppearance(value: boolean): void;
    /**
     * Gets the values associated with the specified key.
     *
     * @param {string} name Key.
     * @returns {string[]} Values associated with the key.
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Gets the values associated with the key 'Author'.
     * let values$: string[] = document.getPage(0).annotations.at(0).getValues('Author');
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    getValues(name: string): string[];
    /**
     * Sets the values associated with the specified key.
     *
     * @param {string} name Key.
     * @param {string} value Value associated with the key..
     * @returns {void} Nothing.
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Access the annotation at index 0
     * let annotation$: PdfAnnotation = document.getPage(0).annotations.at(0);
     * // Set Unknown state and model
     * annotation.setValues('State', 'StateModel');
     * annotation.setValues('StateModel', 'CustomState');
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    setValues(name: string, value: string): void;
    _initialize(page: PdfPage, dictionary?: _PdfDictionary): void;
    _getRotationAngle(): number;
    _getMediaOrCropBox(page: PdfPage): number[];
    _getBoundsValue(linePoints: number[], borderWidth?: number): {
        x: number;
        y: number;
        width: number;
        height: number;
    };
    abstract _doPostProcess(isFlatten?: boolean): void;
    _validateTemplateMatrix(dictionary: _PdfDictionary): boolean;
    _validateTemplateMatrix(dictionary: _PdfDictionary, template: PdfTemplate): boolean;
    _flattenAnnotationTemplate(template: PdfTemplate, isNormalMatrix: boolean, isLineAnnotation?: boolean): void;
    _calculateTemplateBounds(bounds: {
        x: number;
        y: number;
        width: number;
        height: number;
    }, page: PdfPage, template: PdfTemplate, isNormalMatrix: boolean, graphics: PdfGraphics): {
        x: number;
        y: number;
        width: number;
        height: number;
    };
    _obtainGraphicsRotation(matrix: _PdfTransformationMatrix): number;
    _removeAnnotation(page: PdfPage, annotation: PdfAnnotation): void;
    _drawCloudStyle(graphics: PdfGraphics, brush: PdfBrush, pen: PdfPen, radius: number, overlap: number, points: Array<number[]>, isAppearance: boolean): void;
    _isClockWise(points: Array<number[]>): boolean;
    _getIntersectionDegrees(first: number[], second: number[], radius: number): number[];
    _obtainStyle(borderPen: PdfPen, rectangle: number[], borderWidth: number, parameter?: PdfBorderEffect | _PaintParameter): number[];
    _createRectangleAppearance(borderEffect: PdfBorderEffect): PdfTemplate;
    _drawRectangleAppearance(rectangle: number[], graphics: PdfGraphics, parameter: _PaintParameter, intensity: number): void;
    _createCircleAppearance(): PdfTemplate;
    _drawCircleAppearance(rectangle: number[], borderWidth: number, graphics: PdfGraphics, parameter: _PaintParameter): void;
    _createBezier(first: number[], second: number[], third: number[], bezierPoints: Array<number[]>): void;
    _populateBezierPoints(first: number[], second: number[], third: number[], currentIteration: number, bezierPoints: Array<number[]>): void;
    _midPoint(first: number[], second: number[]): number[];
    _getAngle(linePoints: number[]): number;
    _getAxisValue(value: number[], angle: number, length?: number): number[];
    _prepareOpenArrow(isBegin: boolean, axisPoint: number[], angle: number, length: number): {
        startPoint: number[];
        first: number[];
        second: number[];
    };
    _prepareReverseOpenArrow(isBegin: boolean, axisPoint: number[], angle: number, length: number): {
        startPoint: number[];
        first: number[];
        second: number[];
    };
    _prepareClosedArrow(isBegin: boolean, axisPoint: number[], angle: number, length: number): {
        startPoint: number[];
        first: number[];
        second: number[];
    };
    _prepareReverseCloseArrow(isBegin: boolean, axisPoint: number[], angle: number, length: number): {
        startPoint: number[];
        first: number[];
        second: number[];
    };
    _prepareSlash(axisPoint: number[], angle: number, length: number): {
        first: number[];
        second: number[];
    };
    _prepareDiamond(axisPoint: number[], length: number): {
        first: number[];
        second: number[];
        third: number[];
        fourth: number[];
    };
    _prepareButt(axisPoint: number[], angle: number, length: number): {
        first: number[];
        second: number[];
    };
    _getBoundsFromLineEndStyle(axisPoint: number[], angle: number, pen: PdfPen, style: PdfLineEndingStyle, length: number, isBegin: boolean): {
        x: number;
        y: number;
        width: number;
        height: number;
    };
    _drawLineEndStyle(axisPoint: number[], graphics: PdfGraphics, angle: number, pen: PdfPen, brush: PdfBrush, style: PdfLineEndingStyle, length: number, isBegin: boolean): void;
    _getCombinedRectangleBounds(rect1: {
        x: number;
        y: number;
        width: number;
        height: number;
    }, rect2: {
        x: number;
        y: number;
        width: number;
        height: number;
    }): {
        x: number;
        y: number;
        width: number;
        height: number;
    };
    _drawLineStyle(start: number[], end: number[], graphics: PdfGraphics, angle: number, pen: PdfPen, brush: PdfBrush, lineStyle: PdfAnnotationLineEndingStyle, length: number): void;
    _obtainFontDetails(): {
        name: string;
        size: number;
        style: PdfFontStyle;
    };
    _obtainFont(): PdfFont;
    _getEqualPdfGraphicsUnit(measurementUnit: PdfMeasurementUnit, unitString: string): {
        graphicsUnit: _PdfGraphicsUnit;
        unitString: string;
    };
    _createMeasureDictionary(unitString: string): _PdfDictionary;
    _colorToHex(col: number[]): string;
    _componentToHex(c: number): string;
    _getRotatedBounds(bounds: {
        x: number;
        y: number;
        width: number;
        height: number;
    }, rotateAngle: number): {
        x: number;
        y: number;
        width: number;
        height: number;
    };
    _flattenPopUp(): void;
    _flattenPop(_page: PdfPage, color: number[], boundsValue: {
        x: number;
        y: number;
        width: number;
        height: number;
    }, border: PdfAnnotationBorder, author: string, subject: string, text: string): void;
    _flattenLoadedPopUp(): void;
    _getRectangleBoundsValue(): number[];
    _getForeColor(color: number[]): number[];
    _drawAuthor(author: string, subject: string, bounds: number[], backBrush: PdfBrush, aBrush: PdfBrush, _page: PdfPage, trackingHeight: number, border: PdfAnnotationBorder): number;
    _drawSubject(subject: string, contentRect: number[], _page: PdfPage): void;
    _saveGraphics(_page: PdfPage, blendMode: PdfBlendMode): void;
    _getBorderColorString(color: number[]): string;
    _stringToDate(date: string): Date;
    _dateToString(dateTime: Date): string;
    _obtainNativeRectangle(): number[];
    _getPoints(polygonPoints: number[]): number[];
    _getCropOrMediaBox(): number[];
    private _getDocumentLayer;
    private _isMatched;
}
/**
 * Represents the annotations which have comments and review history.
 * ```typescript
 * // Load an existing PDF document
 * let document$: PdfDocument = new PdfDocument(data, password);
 * // Get the first page
 * let page$: PdfPage = document.getPage(0);
 * // Access the annotation at index 0
 * let annotation$: PdfComment = page.annotations.at(0) as PdfComment;
 * // Gets the comments of annotation
 * let comment : PdfPopupAnnotationCollection = annotation.comments;
 * // Save the document
 * document.save('output.pdf');
 * // Destroy the document
 * document.destroy();
 * ```
 */
export  abstract class PdfComment extends PdfAnnotation {
    /**
     * Gets the comments of the PDF annotation (Read only).
     *
     * @returns {PdfPopupAnnotationCollection} Annotation comments
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data);
     * // Access first page
     * let page$: PdfPage = document.getPage(0);
     * // Access the annotation at index 0
     * let annotation$: PdfRectangleAnnotation = page.annotations.at(0) as PdfRectangleAnnotation;
     * // Gets the comments of the PDF annotation
     * let comments: PdfPopupAnnotationCollection = annotation.comments;
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    readonly comments: PdfPopupAnnotationCollection;
    /**
     * Gets the review history of the PDF annotation (Read only).
     *
     * @returns {PdfPopupAnnotationCollection} Annotation review history.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data);
     * // Access first page
     * let page$: PdfPage = document.getPage(0);
     * // Access the annotation at index 0
     * let annotation$: PdfRectangleAnnotation = page.annotations.at(0) as PdfRectangleAnnotation;
     * // Gets the comments of the PDF annotation
     * let comments: PdfPopupAnnotationCollection = annotation.reviewHistory;
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    readonly reviewHistory: PdfPopupAnnotationCollection;
}
/**
 * `PdfLineAnnotation` class represents the line annotation objects.
 * ```typescript
 * // Load an existing PDF document
 * let document$: PdfDocument = new PdfDocument(data);
 * // Get the first page
 * let page$: PdfPage = document.getPage(0) as PdfPage;
 * // Create a new line annotation with line points
 * const annotation: PdfLineAnnotation = new PdfLineAnnotation([10, 50, 250, 50]);
 * // Add annotation to the page
 * page.annotations.add(annotation);
 * // Destroy the document
 * document.destroy();
 * ```
 */
export  class PdfLineAnnotation extends PdfComment {
    _unit: PdfMeasurementUnit;
    private _linePoints;
    private _leaderExt;
    private _leaderLine;
    private _leaderOffset;
    private _lineIntent;
    private _lineEndingStyle;
    private _unitString;
    private _measure;
    /**
     * Initializes a new instance of the `PdfLineAnnotation` class.
     *
     * @private
     */
    constructor();
    /**
     * Initializes a new instance of the `PdfLineAnnotation` class with line points.
     *
     * @param {number[]} linePoints Line points.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Get the first page
     * let page$: PdfPage = document.getPage(0) as PdfPage;
     * // Create a new line annotation with line points
     * const annotation: PdfLineAnnotation = new PdfLineAnnotation([10, 50, 250, 50]);
     * // Add annotation to the page
     * page.annotations.add(annotation);
     * // Destroy the document
     * document.destroy();
     * ```
     */
    constructor(linePoints: number[]);
    /**
     * Gets the line points of the line annotation.
     *
     * @returns {number[]} Line points.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Get the first page
     * let page$: PdfPage = document.getPage(0) as PdfPage;
     * // Get the first annotation of the page
     * let annotation$: PdfLineAnnotation = page.annotations.at(0) as PdfLineAnnotation;
     * // Gets the line points of the line annotation.
     * let linePoints : number[] = annotation.linePoints;
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Sets the line points of the line annotation.
    *
    * @param {number[]} value Line points.
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data, password);
    * // Get the first page
    * let page$: PdfPage = document.getPage(0) as PdfPage;
    * // Get the first annotation of the page
    * let annotation$: PdfLineAnnotation = page.annotations.at(0) as PdfLineAnnotation;
    * // Sets the line points of the line annotation.
    * annotation.linePoints = [10, 50, 250, 50];
    * // Destroy the document
    * document.destroy();
    * ```
    */
    linePoints: number[];
    /**
     * Gets the line extension of the line annotation.
     *
     * @returns {number} Leader line extension.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Get the first page
     * let page$: PdfPage = document.getPage(0) as PdfPage;
     * // Get the first annotation of the page
     * let annotation$: PdfLineAnnotation = page.annotations.at(0) as PdfLineAnnotation;
     * // Gets the line extension of the line annotation.
     * let leaderExt: number = annotation.leaderExt;
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Sets the line extension of the line annotation.
    *
    * @param {number} value Line extension.
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data, password);
    * // Get the first page
    * let page$: PdfPage = document.getPage(0) as PdfPage;
    * // Get the first annotation of the page
    * let annotation$: PdfLineAnnotation = page.annotations.at(0) as PdfLineAnnotation;
    * // Sets the line extension of the line annotation.
    * annotation.leaderExt = 4;
    * // Destroy the document
    * document.destroy();
    * ```
    */
    leaderExt: number;
    /**
     * Gets the leader line of the line annotation.
     *
     * @returns {number} Leader line.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Get the first page
     * let page$: PdfPage = document.getPage(0) as PdfPage;
     * // Get the first annotation of the page
     * let annotation$: PdfLineAnnotation = page.annotations.at(0) as PdfLineAnnotation;
     * // Gets the leader line of the line annotation.
     * let leaderLine: number = annotation.leaderLine;
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Sets the leader line of the line annotation.
    *
    * @param {number} value Leader line.
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data, password);
    * // Get the first page
    * let page$: PdfPage = document.getPage(0) as PdfPage;
    * // Get the first annotation of the page
    * let annotation$: PdfLineAnnotation = page.annotations.at(0) as PdfLineAnnotation;
    * // Sets the leader line of the line annotation.
    * annotation.leaderLine = 5;
    * // Destroy the document
    * document.destroy();
    * ```
    */
    leaderLine: number;
    /**
     * Gets the line ending style of the line annotation.
     *
     * @returns {PdfAnnotationLineEndingStyle} Line ending style.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Get the first page
     * let page$: PdfPage = document.getPage(0) as PdfPage;
     * // Get the first annotation of the page
     * let annotation$: PdfLineAnnotation = page.annotations.at(0) as PdfLineAnnotation;
     * // Gets the line ending style of the line annotation.
     * let lineEndingStyle: PdfAnnotationLineEndingStyle = annotation.lineEndingStyle;
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Sets the line ending style of the line annotation.
    *
    * @param {PdfAnnotationLineEndingStyle} value Line ending style.
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data, password);
    * // Get the first page
    * let page$: PdfPage = document.getPage(0) as PdfPage;
    * // Get the first annotation of the page
    * let annotation$: PdfLineAnnotation = page.annotations.at(0) as PdfLineAnnotation;
    * // Sets the line ending style of the line annotation.
    * annotation.lineEndingStyle = new PdfAnnotationLineEndingStyle(PdfLineEndingStyle.openArrow, PdfLineEndingStyle.closeArrow);
    * // Destroy the document
    * document.destroy();
    * ```
    */
    lineEndingStyle: PdfAnnotationLineEndingStyle;
    /**
     * Gets the leader offset of the line annotation.
     *
     * @returns {number} Leader offset.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Get the first page
     * let page$: PdfPage = document.getPage(0) as PdfPage;
     * // Get the first annotation of the page
     * let annotation$: PdfLineAnnotation = page.annotations.at(0) as PdfLineAnnotation;
     * // Gets the leader offset value of the line annotation
     * let leaderOffset: number = annotation.leaderOffset;
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Sets the leader offset of the line annotation.
    *
    * @param {number} value Leader line offset.
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data, password);
    * // Get the first page
    * let page$: PdfPage = document.getPage(0) as PdfPage;
    * // Get the first annotation of the page
    * let annotation$: PdfLineAnnotation = page.annotations.at(0) as PdfLineAnnotation;
    * // Sets the leader offset of the line annotation.
    * annotation.leaderOffset = 1;
    * // Destroy the document
    * document.destroy();
    * ```
    */
    leaderOffset: number;
    /**
     * Gets the line intent of the line annotation.
     *
     * @returns {PdfLineIntent} Line intent.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Get the first page
     * let page$: PdfPage = document.getPage(0) as PdfPage;
     * // Get the first annotation of the page
     * let annotation$: PdfLineAnnotation = page.annotations.at(0) as PdfLineAnnotation;
     * // Gets the line intent value of the line annotation
     * let lineIntent: PdfLineIntent = annotation.lineIntent;
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Sets the line intent of the line annotation.
    *
    * @param {PdfLineIntent} value Line intent.
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data, password);
    * // Get the first page
    * let page$: PdfPage = document.getPage(0) as PdfPage;
    * // Get the first annotation of the page
    * let annotation$: PdfLineAnnotation = page.annotations.at(0) as PdfLineAnnotation;
    * // Sets the line intent of the line annotation.
    * annotation.lineIntent = PdfLineIntent.lineDimension;
    * // Destroy the document
    * document.destroy();
    * ```
    */
    lineIntent: PdfLineIntent;
    /**
     * Gets the flag to have measurement dictionary of the line annotation.
     *
     * @returns {boolean} measure.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Get the first page
     * let page$: PdfPage = document.getPage(0) as PdfPage;
     * // Get the first annotation of the page
     * let annotation$: PdfLineAnnotation = page.annotations.at(0) as PdfLineAnnotation;
     * // Gets the flag to have measurement dictionary of the line annotation.
     * let measure: boolean = annotation.measure;
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Sets the flag to add measurement dictionary to the line annotation.
    *
    * @param {boolean} value Measure.
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data, password);
    * // Get the first page
    * let page$: PdfPage = document.getPage(0) as PdfPage;
    * // Get the first annotation of the page
    * let annotation$: PdfLineAnnotation = page.annotations.at(0) as PdfLineAnnotation;
    * // Sets the flag to have measurement dictionary of the line annotation.
    * annotation.measure = true;
    * // Destroy the document
    * document.destroy();
    * ```
    */
    measure: boolean;
    /**
     * Gets the measurement unit of the annotation.
     *
     * @returns {PdfMeasurementUnit} Measurement unit.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Get the first page
     * let page$: PdfPage = document.getPage(0) as PdfPage;
     * // Get the first annotation of the page
     * let annotation$: PdfLineAnnotation = page.annotations.at(0) as PdfLineAnnotation;
     * // Gets the measurement unit of the annotation.
     * let unit: PdfMeasurementUnit = annotation.unit;
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Sets the measurement unit of the line annotation.
    *
    * @param {PdfMeasurementUnit} value Measurement unit.
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data, password);
    * // Get the first page
    * let page$: PdfPage = document.getPage(0) as PdfPage;
    * // Get the first annotation of the page
    * let annotation$: PdfLineAnnotation = page.annotations.at(0) as PdfLineAnnotation;
    * // Sets the measurement unit of the annotation.
    * annotation.unit = PdfMeasurementUnit.centimeter;
    * // Destroy the document
    * document.destroy();
    * ```
    */
    unit: PdfMeasurementUnit;
    static _load(page: PdfPage, dictionary: _PdfDictionary): PdfLineAnnotation;
    _initialize(page: PdfPage, dictionary?: _PdfDictionary): void;
    _postProcess(flatten: boolean): void;
    _doPostProcess(isFlatten?: boolean): void;
    _createLineMeasureAppearance(_isFlatten: boolean): PdfTemplate;
    _calculateAngle(startPointX: number, startPointY: number, endPointX: number, endPointY: number): number;
    _calculateLineBounds(linePoints: number[], leaderLineExt: number, leaderLine: number, leaderOffset: number, lineStyle: PdfAnnotationLineEndingStyle, borderWidth: number): {
        x: number;
        y: number;
        width: number;
        height: number;
    };
    _getLinePoint(style: PdfLineEndingStyle, borderWidth: number): {
        x: number;
        y: number;
    };
    _getBounds(points: Array<{
        x: number;
        y: number;
    }>): {
        x: number;
        y: number;
        width: number;
        height: number;
    };
    _obtainLineBounds(): number[];
    _createAppearance(): PdfTemplate;
    _drawLine(graphics: PdfGraphics, pen: PdfPen, start: number[], end: number[], first: number[], second: number[]): void;
    _convertToUnit(): number;
    _obtainLinePoints(): number[];
}
/**
 * `PdfCircleAnnotation` class represents the circle annotation objects.
 * ```typescript
 * // Load an existing PDF document
 * let document$: PdfDocument = new PdfDocument(data, password);
 * // Get the first page
 * let page$: PdfPage = document.getPage(0) as PdfPage;
 * // Create a new circle annotation with circle bounds
 * const annotation: PdfCircleAnnotation = new PdfCircleAnnotation(10, 10, 100, 100);
 * // Add annotation to the page
 * page.annotations.add(annotation);
 * // Destroy the document
 * document.destroy();
 * ```
 */
export  class PdfCircleAnnotation extends PdfComment {
    _unit: PdfMeasurementUnit;
    _measureType: PdfCircleMeasurementType;
    private _unitString;
    private _measure;
    /**
     * Initializes a new instance of the `PdfCircleAnnotation` class.
     *
     * @private
     */
    constructor();
    /**
     * Initializes a new instance of the `PdfCircleAnnotation` class.
     *
     * @param {number} x X.
     * @param {number} y Y.
     * @param {number} width Width.
     * @param {number} height Height.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Get the first page
     * let page$: PdfPage = document.getPage(0) as PdfPage;
     * // Create a new circle annotation with circle bounds
     * const annotation: PdfCircleAnnotation = new PdfCircleAnnotation(10, 10, 100, 100);
     * // Add annotation to the page
     * page.annotations.add(annotation);
     * // Destroy the document
     * document.destroy();
     * ```
     */
    constructor(x: number, y: number, width: number, height: number);
    /**
     * Gets the flag to have measurement dictionary of the circle annotation.
     *
     * @returns {boolean} measure.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Get the first page
     * let page$: PdfPage = document.getPage(0) as PdfPage;
     * // Get the first annotation of the page
     * let annotation$: PdfCircleAnnotation = page.annotations.at(0) as PdfCircleAnnotation;
     * // Gets the flag to have measurement dictionary of the circle annotation.
     * let measure: boolean = annotation.measure;
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Sets the flag to add measurement dictionary to the annotation.
    *
    * @param {boolean} value Measure.
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data, password);
    * // Get the first page
    * let page$: PdfPage = document.getPage(0) as PdfPage;
    * // Get the first annotation of the page
    * let annotation$: PdfCircleAnnotation = page.annotations.at(0) as PdfCircleAnnotation;
    * // Sets the flag to have measurement dictionary of the circle annotation.
    * annotation.measure = true;
    * // Destroy the document
    * document.destroy();
    * ```
    */
    measure: boolean;
    /**
     * Gets the measurement unit of the annotation.
     *
     * @returns {PdfMeasurementUnit} Measurement unit.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Get the first page
     * let page$: PdfPage = document.getPage(0) as PdfPage;
     * // Get the first annotation of the page
     * let annotation$: PdfCircleAnnotation = page.annotations.at(0) as PdfCircleAnnotation;
     * // Gets the measurement unit of the annotation.
     * let unit: PdfMeasurementUnit = annotation.unit;
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Sets the measurement unit of the annotation.
    *
    * @param {PdfMeasurementUnit} value Measurement unit.
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data, password);
    * // Get the first page
    * let page$: PdfPage = document.getPage(0) as PdfPage;
    * // Get the first annotation of the page
    * let annotation$: PdfCircleAnnotation = page.annotations.at(0) as PdfCircleAnnotation;
    * // Sets the measurement unit of the annotation.
    * annotation.unit = PdfMeasurementUnit.centimeter;
    * // Destroy the document
    * document.destroy();
    * ```
    */
    unit: PdfMeasurementUnit;
    /**
     * Gets the measurement type of the annotation.
     *
     * @returns {PdfCircleMeasurementType} Measurement type.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Get the first page
     * let page$: PdfPage = document.getPage(0) as PdfPage;
     * // Get the first annotation of the page
     * let annotation$: PdfCircleAnnotation = page.annotations.at(0) as PdfCircleAnnotation;
     * // Gets the measurement type of the annotation.
     * let type$: PdfCircleMeasurementType = annotation.type;
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Sets the measurement type of the annotation.
    *
    * @param {PdfCircleMeasurementType} value Measurement type.
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data, password);
    * // Get the first page
    * let page$: PdfPage = document.getPage(0) as PdfPage;
    * // Get the first annotation of the page
    * let annotation$: PdfCircleAnnotation = page.annotations.at(0) as PdfCircleAnnotation;
    * // Sets the measurement type of the annotation.
    * annotation.type = PdfCircleMeasurementType.diameter;
    * // Destroy the document
    * document.destroy();
    * ```
    */
    measureType: PdfCircleMeasurementType;
    static _load(page: PdfPage, dictionary: _PdfDictionary): PdfCircleAnnotation;
    _initialize(page: PdfPage, dictionary?: _PdfDictionary): void;
    _postProcess(isFlatten: boolean): void;
    _doPostProcess(isFlatten?: boolean): void;
    _createCircleMeasureAppearance(_isFlatten: boolean): PdfTemplate;
    _convertToUnit(): number;
}
/**
 * `PdfEllipseAnnotation` class represents the ellipse annotation objects.
 * ```typescript
 * // Load an existing PDF document
 * let document$: PdfDocument = new PdfDocument(data, password);
 * // Get the first page
 * let page$: PdfPage = document.getPage(0) as PdfPage;
 * // Create a new ellipse annotation with bounds
 * const annotation: PdfEllipseAnnotation = new PdfEllipseAnnotation(10, 10, 100, 100);
 * // Add annotation to the page
 * page.annotations.add(annotation);
 * // Destroy the document
 * document.destroy();
 * ```
 */
export  class PdfEllipseAnnotation extends PdfComment {
    /**
     * Initializes a new instance of the `PdfEllipseAnnotation` class.
     *
     * @private
     */
    constructor();
    /**
     * Initializes a new instance of the `PdfEllipseAnnotation` class with ellipse bounds.
     *
     * @param {number} x X.
     * @param {number} y Y.
     * @param {number} width Width.
     * @param {number} height Height.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Get the first page
     * let page$: PdfPage = document.getPage(0) as PdfPage;
     * // Create a new ellipse annotation with bounds
     * const annotation: PdfEllipseAnnotation = new PdfEllipseAnnotation(10, 10, 100, 100);
     * // Add annotation to the page
     * page.annotations.add(annotation);
     * // Destroy the document
     * document.destroy();
     * ```
     */
    constructor(x: number, y: number, width: number, height: number);
    static _load(page: PdfPage, dictionary: _PdfDictionary): PdfEllipseAnnotation;
    _initialize(page: PdfPage, dictionary?: _PdfDictionary): void;
    _postProcess(isFlatten: boolean): void;
    _doPostProcess(isFlatten?: boolean): void;
}
/**
 * `PdfSquareAnnotation` class represents the square annotation objects.
 * ```typescript
 * // Load an existing PDF document
 * let document$: PdfDocument = new PdfDocument(data, password);
 * // Get the first page
 * let page$: PdfPage = document.getPage(0) as PdfPage;
 * // Create a new square annotation with bounds
 * const annotation: PdfSquareAnnotation = new PdfSquareAnnotation(10, 10, 100, 100);
 * // Add annotation to the page
 * page.annotations.add(annotation);
 * // Destroy the document
 * document.destroy();
 * ```
 */
export  class PdfSquareAnnotation extends PdfComment {
    _unit: PdfMeasurementUnit;
    private _unitString;
    private _measure;
    private _intensity;
    /**
     * Initializes a new instance of the `PdfSquareAnnotation` class.
     *
     * @private
     */
    constructor();
    /**
     * Initializes a new instance of the `PdfSquareAnnotation` class with square bounds.
     *
     * @param {number} x X.
     * @param {number} y Y.
     * @param {number} width Width.
     * @param {number} height Height.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Get the first page
     * let page$: PdfPage = document.getPage(0) as PdfPage;
     * * // Create a new square annotation with bounds
     * const annotation: PdfSquareAnnotation = new PdfSquareAnnotation(10, 10, 100, 100);
     * // Add annotation to the page
     * page.annotations.add(annotation);
     * // Destroy the document
     * document.destroy();
     * ```
     */
    constructor(x: number, y: number, width: number, height: number);
    /**
     * Gets the border effect of the square annotation.
     *
     * @returns {PdfBorderEffect} Border effect.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data);
     * // Get the first page
     * let page$: PdfPage = document.getPage(0) as PdfPage;
     * // Get the first annotation of the page
     * let annotation$: PdfSquareAnnotation = page.annotations.at(0) as PdfSquareAnnotation;
     * // Gets the border effect of the square annotation.
     * let borderEffect : PdfBorderEffect = annotation.borderEffect;
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Sets the border effect of the square annotation.
    *
    * @param {PdfBorderEffect} value Border effect.
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data);
    * // Get the first page
    * let page$: PdfPage = document.getPage(0) as PdfPage;
    * // Get the first annotation of the page
    * let annotation$: PdfSquareAnnotation = page.annotations.at(0) as PdfSquareAnnotation;
    * // Sets the border effect of the square annotation.
    * annotation.borderEffect.intensity = 1;
    * // Save the document
    * document.save('output.pdf');
    * // Destroy the document
    * document.destroy();
    * ```
    */
    borderEffect: PdfBorderEffect;
    /**
     * Gets the flag to have measurement dictionary of the Square annotation.
     *
     * @returns {boolean} measure.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Get the first page
     * let page$: PdfPage = document.getPage(0) as PdfPage;
     * // Get the first annotation of the page
     * let annotation$: PdfSquareAnnotation = page.annotations.at(0) as PdfSquareAnnotation;
     * // Gets the flag to have measurement dictionary of the square annotation.
     * let measure: boolean = annotation.measure;
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Sets the flag to add measurement dictionary to the annotation.
    *
    * @param {boolean} value Measure.
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data, password);
    * // Get the first page
    * let page$: PdfPage = document.getPage(0) as PdfPage;
    * // Get the first annotation of the page
    * let annotation$: PdfSquareAnnotation = page.annotations.at(0) as PdfSquareAnnotation;
    * // Sets the flag to have measurement dictionary of the square annotation.
    * annotation.measure = true;
    * // Destroy the document
    * document.destroy();
    * ```
    */
    measure: boolean;
    /**
     * Gets the measurement unit of the annotation.
     *
     * @returns {PdfMeasurementUnit} Measurement unit.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Get the first page
     * let page$: PdfPage = document.getPage(0) as PdfPage;
     * // Get the first annotation of the page
     * let annotation$: PdfSquareAnnotation = page.annotations.at(0) as PdfSquareAnnotation;
     * // Gets the measurement unit of the annotation.
     * let unit: PdfMeasurementUnit = annotation.unit;
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Sets the measurement unit of the annotation.
    *
    * @param {PdfMeasurementUnit} value Measurement unit.
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data, password);
    * // Get the first page
    * let page$: PdfPage = document.getPage(0) as PdfPage;
    * // Get the first annotation of the page
    * let annotation$: PdfSquareAnnotation = page.annotations.at(0) as PdfSquareAnnotation;
    * // Sets the measurement unit of the annotation.
    * annotation.unit = PdfMeasurementUnit.centimeter;
    * // Destroy the document
    * document.destroy();
    * ```
    */
    unit: PdfMeasurementUnit;
    static _load(page: PdfPage, dictionary: _PdfDictionary): PdfSquareAnnotation;
    _initialize(page: PdfPage, dictionary?: _PdfDictionary): void;
    _postProcess(isFlatten: boolean): void;
    _doPostProcess(isFlatten?: boolean): void;
    _createSquareMeasureAppearance(_isFlatten: boolean): PdfTemplate;
    _calculateAreaOfSquare(): number;
}
/**
 * `PdfRectangleAnnotation` class represents the rectangle annotation objects.
 * ```typescript
 * // Load an existing PDF document
 * let document$: PdfDocument = new PdfDocument(data, password);
 * // Get the first page
 * let page$: PdfPage = document.getPage(0) as PdfPage;
 * // Create a new square annotation with bounds
 * const annotation: PdfRectangleAnnotation = new PdfRectangleAnnotation(10, 10, 200, 100);
 * // Add annotation to the page
 * page.annotations.add(annotation);
 * // Destroy the document
 * document.destroy();
 * ```
 */
export  class PdfRectangleAnnotation extends PdfComment {
    private _intensity;
    /**
     * Initializes a new instance of the `PdfRectangleAnnotation` class.
     *
     * @private
     */
    constructor();
    /**
     * Initializes a new instance of the `PdfRectangleAnnotation` class with rectangle bounds.
     *
     * @param {number} x X.
     * @param {number} y Y.
     * @param {number} width Width.
     * @param {number} height Height.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Get the first page
     * let page$: PdfPage = document.getPage(0) as PdfPage;
     * // Create a new rectangle annotation with bounds
     * const annotation: PdfRectangleAnnotation = new PdfRectangleAnnotation(10, 10, 200, 100);
     * // Add annotation to the page
     * page.annotations.add(annotation);
     * // Destroy the document
     * document.destroy();
     * ```
     */
    constructor(x: number, y: number, width: number, height: number);
    /**
     * Gets the border effect of the rectangle annotation.
     *
     * @returns {PdfBorderEffect} Border effect.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Get the first page
     * let page$: PdfPage = document.getPage(0) as PdfPage;
     * // Get the first annotation of the page
     * let annotation$: PdfRectangleAnnotation = page.annotations.at(0) as PdfRectangleAnnotation;
     * // Gets the border effect of the rectangle annotation.
     * let borderEffect: PdfBorderEffect = annotation.borderEffect;
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Sets the border effect of the rectangle annotation.
    *
    * @param {PdfBorderEffect} value Border effect.
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data, password);
    * // Get the first page
    * let page$: PdfPage = document.getPage(0) as PdfPage;
    * // Get the first annotation of the page
    * let annotation$: PdfRectangleAnnotation = page.annotations.at(0) as PdfRectangleAnnotation;
    * // Sets the border effect of rectangle annotation.
    * annotation. borderEffect.style = PdfBorderEffectStyle.cloudy;
    * // Save the document
    * document.save('output.pdf');
    * // Destroy the document
    * document.destroy();
    * ```
    */
    borderEffect: PdfBorderEffect;
    static _load(page: PdfPage, dictionary: _PdfDictionary): PdfRectangleAnnotation;
    _initialize(page: PdfPage, dictionary?: _PdfDictionary): void;
    _postProcess(isFlatten: boolean): void;
    _doPostProcess(isFlatten?: boolean): void;
    _isValidTemplateMatrix(dictionary: _PdfDictionary, bounds: {
        x: number;
        y: number;
        width: number;
        height: number;
    }, appearanceTemplate: PdfTemplate): boolean;
}
/**
 * `PdfPolygonAnnotation` class represents the polygon annotation objects.
 * ```typescript
 * // Load an existing PDF document
 * let document$: PdfDocument = new PdfDocument(data, password);
 * // Get the first page
 * let page$: PdfPage = document.getPage(0) as PdfPage;
 * // Create a new polygon annotation with bounds
 * const annotation: PdfPolygonAnnotation = new PdfPolygonAnnotation([100, 300, 150, 200, 300, 200, 350, 300, 300, 400, 150, 400]);
 * // Add annotation to the page
 * page.annotations.add(annotation);
 * // Destroy the document
 * document.destroy();
 * ```
 */
export  class PdfPolygonAnnotation extends PdfComment {
    private _points;
    private _lineExtension;
    private _intensity;
    /**
     * Initializes a new instance of the `PdfPolygonAnnotation` class.
     *
     * @private
     */
    constructor();
    /**
     * Initializes a new instance of the `PdfPolygonAnnotation` class.
     *
     * @param {number[]} points Line points.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Get the first page
     * let page$: PdfPage = document.getPage(0) as PdfPage;
     * // Create a new polygon annotation with bounds
     * const annotation: PdfPolygonAnnotation = new PdfPolygonAnnotation([100, 300, 150, 200, 300, 200, 350, 300, 300, 400, 150, 400]);
     * // Add annotation to the page
     * page.annotations.add(annotation);
     * // Destroy the document
     * document.destroy();
     * ```
     */
    constructor(points: number[]);
    /**
     * Gets the border effect of the polygon annotation.
     *
     * @returns {PdfBorderEffect} Border effect.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Get the first page
     * let page$: PdfPage = document.getPage(0) as PdfPage;
     * // Get the first annotation of the page
     * let annotation$: PdfPolygonAnnotation = page.annotations.at(0) as PdfPolygonAnnotation;
     * // Gets the border effect of the polygon annotation.
     * let borderEffect: PdfBorderEffect = annotation.borderEffect;
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Sets the border effect of the polygon annotation.
    *
    * @param {PdfBorderEffect} value Border effect.
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data, password);
    * // Get the first page
    * let page$: PdfPage = document.getPage(0) as PdfPage;
    * // Get the first annotation of the page
    * let annotation$: PdfPolygonAnnotation = page.annotations.at(0) as PdfPolygonAnnotation;
    * // Sets the border effect of the polygon annotation
    * annotation.borderEffect.style = PdfBorderEffectStyle.cloudy ;
    * // Save the document
    * document.save('output.pdf');
    * // Destroy the document
    * document.destroy();
    * ```
    */
    borderEffect: PdfBorderEffect;
    /**
     * Gets the line extension of the polygon annotation.
     *
     * @returns {number} Line extension.
     *  ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Get the first page
     * let page$: PdfPage = document.getPage(0) as PdfPage;
     * // Get the first annotation of the page
     * let annotation$: PdfPolygonAnnotation = page.annotations.at(0) as PdfPolygonAnnotation;
     * // Gets the line extension of the polygon annotation
     * let lineExtension: number = annotation.lineExtension;
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Sets the line extension of the polygon annotation.
    *
    * @param {number} value Line extension.
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data, password);
    * // Get the first page
    * let page$: PdfPage = document.getPage(0) as PdfPage;
    * // Get the first annotation of the page
    * let annotation$: PdfPolygonAnnotation = page.annotations.at(0) as PdfPolygonAnnotation;
    * // Sets the line extension of the polygon annotation
    * annotation.lineExtension = 5;
    * // Save the document
    * document.save('output.pdf');
    * // Destroy the document
    * document.destroy();
    * ```
    */
    lineExtension: number;
    static _load(page: PdfPage, dictionary: _PdfDictionary): PdfPolygonAnnotation;
    _initialize(page: PdfPage, dictionary?: _PdfDictionary): void;
    _postProcess(isFlatten: boolean): void;
    _doPostProcess(isFlatten?: boolean): void;
    _createPolygonAppearance(flatten: boolean): PdfTemplate;
    _getLinePoints(): Array<number[]>;
}
/**
 * `PdfPolyLineAnnotation` class represents the polyline annotation objects.
 * ```typescript
 * // Load an existing PDF document
 * let document$: PdfDocument = new PdfDocument(data, password);
 * // Get the first page
 * let page$: PdfPage = document.getPage(0) as PdfPage;
 * // Create a new poly line annotation with bounds
 * const annotation: PdfPolyLineAnnotation = new PdfPolyLineAnnotation ([100, 300, 150, 200, 300, 200, 350, 300, 300, 400, 150, 400]);
 * // Add annotation to the page
 * page.annotations.add(annotation);
 * // Destroy the document
 * document.destroy();
 * ```
 */
export  class PdfPolyLineAnnotation extends PdfComment {
    private _points;
    private _lineExtension;
    private _beginLine;
    private _endLine;
    private _pathTypes;
    private _polylinePoints;
    /**
     * Initializes a new instance of the `PdfPolyLineAnnotation` class.
     *
     * @private
     */
    constructor();
    /**
     * Initializes a new instance of the `PdfPolyLineAnnotation` class.
     *
     * @param {number[]} points Line points.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Get the first page
     * let page$: PdfPage = document.getPage(0) as PdfPage;
     * // Create a new poly line annotation with bounds
     * const annotation: PdfPolyLineAnnotation = new PdfPolyLineAnnotation ([100, 300, 150, 200, 300, 200, 350, 300, 300, 400, 150, 400]);
     * // Add annotation to the page
     * page.annotations.add(annotation);
     * // Destroy the document
     * document.destroy();
     * ```
     */
    constructor(points: number[]);
    /**
     * Gets the begin line ending style of the annotation.
     *
     * @returns {PdfLineEndingStyle} Begin line ending style.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Get the first page
     * let page$: PdfPage = document.getPage(0) as PdfPage;
     * // Get the first annotation of the page
     * let annotation$: PdfPolyLineAnnotation = page.annotations.at(0) as PdfPolyLineAnnotation;
     * // Gets the begin line ending style of the annotation.
     * let beginLineStyle: PdfLineEndingStyle = annotation.beginLineStyle;
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Sets the begin line ending style of the annotation.
    *
    * @param {PdfLineEndingStyle} value Begin line ending style.
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data, password);
    * // Get the first page
    * let page$: PdfPage = document.getPage(0) as PdfPage;
    * // Get the first annotation of the page
    * let annotation$: PdfPolyLineAnnotation = page.annotations.at(0) as PdfPolyLineAnnotation;
    * // Sets the begin line ending style of the annotation.
    * annotation.beginLineStyle = PdfLineEndingStyle.slash;
    * // Save the document
    * document.save('output.pdf');
    * // Destroy the document
    * document.destroy();
    * ```
    */
    beginLineStyle: PdfLineEndingStyle;
    /**
     * Gets the end line ending style of the annotation.
     *
     * @returns {PdfLineEndingStyle} End line ending style.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Get the first page
     * let page$: PdfPage = document.getPage(0) as PdfPage;
     * // Get the first annotation of the page
     * let annotation$: PdfPolyLineAnnotation = page.annotations.at(0) as PdfPolyLineAnnotation;
     * // Gets the end line ending style of the annotation.
     * let endLineStyle: PdfLineEndingStyle = annotation.endLineStyle;
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Sets the end line ending style of the annotation.
    *
    * @param {PdfLineEndingStyle} value End line ending style.
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data, password);
    * // Get the first page
    * let page$: PdfPage = document.getPage(0) as PdfPage;
    * // Get the first annotation of the page
    * let annotation$: PdfPolyLineAnnotation = page.annotations.at(0) as PdfPolyLineAnnotation;
    * // Sets the end line ending style of the annotation.
    * annotation.endLineStyle = PdfLineEndingStyle.square;
    * // Save the document
    * document.save('output.pdf');
    * // Destroy the document
    * document.destroy();
    * ```
    */
    endLineStyle: PdfLineEndingStyle;
    /**
     * Gets the line extension of the square annotation.
     *
     * @returns {number} Line extension.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Get the first page
     * let page$: PdfPage = document.getPage(0) as PdfPage;
     * // Get the first annotation of the page
     * let annotation$: PdfPolyLineAnnotation = page.annotations.at(0) as PdfPolyLineAnnotation;
     * // Gets the line extension of annotation.
     * let lineExtension: number = annotation.lineExtension;
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Sets the line extension of the square annotation.
    *
    * @param {number} value Line extension.
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data, password);
    * // Get the first page
    * let page$: PdfPage = document.getPage(0) as PdfPage;
    * // Get the first annotation of the page
    * let annotation$: PdfPolyLineAnnotation = page.annotations.at(0) as PdfPolyLineAnnotation;
    * // Sets the line extension of the annotation.
    * annotation.lineExtension = 3;
    * // Save the document
    * document.save('output.pdf');
    * // Destroy the document
    * document.destroy();
    * ```
    */
    lineExtension: number;
    static _load(page: PdfPage, dictionary: _PdfDictionary): PdfPolyLineAnnotation;
    _initialize(page: PdfPage, dictionary?: _PdfDictionary): void;
    _postProcess(isFlatten: boolean): void;
    _doPostProcess(isFlatten?: boolean): void;
    _transformToPdfCoordinates(points: number[]): number[];
    _updateBorder(boundsValue: {
        x: number;
        y: number;
        width: number;
        height: number;
    }, borderWidth: number): {
        x: number;
        y: number;
        width: number;
        height: number;
    };
    _prepareStartEndAngle(path: PdfPath): {
        startAngle: number;
        endAngle: number;
        transformedStart: number[];
        transformedEnd: number[];
    };
    _createPolyLineAppearance(flatten: boolean): PdfTemplate;
    _getLinePoints(): Array<number[]>;
}
/**
 * `PdfAngleMeasurementAnnotation` class represents the angle measurement annotation objects.
 * ```typescript
 * // Load an existing PDF document
 * let document$: PdfDocument = new PdfDocument(data, password);
 * // Get the first page
 * let page$: PdfPage = document.getPage(0) as PdfPage;
 * // Create a new angle measurement annotation
 * const annotation: PdfAngleMeasurementAnnotation = new PdfAngleMeasurementAnnotation([[100, 700], [150, 650], [100, 600]]);
 * // Add annotation to the page
 * page.annotations.add(annotation);
 * // Destroy the document
 * document.destroy();
 * ```
 */
export  class PdfAngleMeasurementAnnotation extends PdfComment {
    _linePoints: number[];
    private _measure;
    private _firstIntersectionPoint;
    private _secondIntersectionPoint;
    private _pointArray;
    private _startAngle;
    private _sweepAngle;
    private _radius;
    /**
     * Initializes a new instance of the `PdfAngleMeasurementAnnotation` class.
     *
     * @private
     */
    constructor();
    /**
     * Initializes a new instance of the `PdfAngleMeasurementAnnotation` class.
     *
     * @param {Array<number[]>} points Line points.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Get the first page
     * let page$: PdfPage = document.getPage(0) as PdfPage;
     * // Create a new angle measurement annotation
     * const annotation: PdfAngleMeasurementAnnotation = new PdfAngleMeasurementAnnotation([[100, 700], [150, 650], [100, 600]]);
     * // Add annotation to the page
     * page.annotations.add(annotation);
     * // Destroy the document
     * document.destroy();
     * ```
     */
    constructor(points: Array<number[]>);
    /**
     * Gets the flag to have measurement dictionary of the angle measurement annotation.
     *
     * @returns {boolean} measure.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Get the first page
     * let page$: PdfPage = document.getPage(0) as PdfPage;
     * // Get the first annotation of the page
     * let annotation$: PdfAngleMeasurementAnnotation = page.annotations.at(0) as PdfAngleMeasurementAnnotation;
     * // Gets the flag to have measurement dictionary of the angle annotation.
     * let measure: boolean = annotation.measure;
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Sets the flag to add measurement dictionary to the annotation.
    *
    * @param {boolean} value Measure.
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data, password);
    * // Get the first page
    * let page$: PdfPage = document.getPage(0) as PdfPage;
    * // Get the first annotation of the page
    * let annotation$: PdfAngleMeasurementAnnotation = page.annotations.at(0) as PdfAngleMeasurementAnnotation;
    * // Sets the flag to add measurement dictionary to the annotation.
    * annotation.measure = true;
    * // Save the document
    * document.save('output.pdf');
    * // Destroy the document
    * document.destroy();
    * ```
    */
    measure: boolean;
    static _load(page: PdfPage, dictionary: _PdfDictionary): PdfAngleMeasurementAnnotation;
    _initialize(page: PdfPage, dictionary?: _PdfDictionary): void;
    _postProcess(): void;
    _doPostProcess(isFlatten?: boolean): void;
    _createAngleMeasureAppearance(): PdfTemplate;
    _getAngleBoundsValue(): number[];
    _obtainLinePoints(): Array<number[]>;
    _calculateAngle(): number;
    _findLineCircleIntersectionPoints(centerX: number, centerY: number, radius: number, point1: number[], point2: number[], intersection1: number[], intersection2: number[]): {
        first: number[];
        second: number[];
    };
}
/**
 * `PdfInkAnnotation` class represents the ink annotation objects.
 * ```typescript
 * // Load an existing PDF document
 * let document$: PdfDocument = new PdfDocument(data, password);
 * // Get the first page
 * let page$: PdfPage = document.getPage(0) as PdfPage;
 * // Create a new ink annotation with the bounds and ink points
 * const annotation: PdfInkAnnotation = new PdfInkAnnotation([0, 0, 300, 400], [40, 300, 60, 100, 40, 50, 40, 300]);
 * // Add annotation to the page
 * page.annotations.add(annotation);
 * // Destroy the document
 * document.destroy();
 * ```
 */
export  class PdfInkAnnotation extends PdfComment {
    private _points;
    private _linePoints;
    private _inkPointsCollection;
    private _previousCollection;
    private _isFlatten;
    _isModified: boolean;
    _isEnableControlPoints: boolean;
    /**
     * Initializes a new instance of the `PdfInkAnnotation` class.
     *
     * @private
     */
    constructor();
    /**
     * Initializes a new instance of the `PdfInkAnnotation` class.
     *
     * @param {number[]} points Ink points.
     * @param {number[]} points Line points.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Get the first page
     * let page$: PdfPage = document.getPage(0) as PdfPage;
     * // Create a new ink annotation with the bounds and ink points
     * const annotation: PdfInkAnnotation = new PdfInkAnnotation([0, 0, 300, 400], [40, 300, 60, 100, 40, 50, 40, 300]);
     * // Add annotation to the page
     * page.annotations.add(annotation);
     * // Destroy the document
     * document.destroy();
     * ```
     */
    constructor(points: number[], linePoints: number[]);
    /**
     * Gets the ink points collection of the annotation.
     *
     * @returns {Array<number[]>} Ink points collection.
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Get the first page
     * let page$: PdfPage = document.getPage(0) as PdfPage;
     * // Get the first annotation of the page
     * let annotation$: PdfInkAnnotation = page.annotations.at(0) as PdfInkAnnotation;
     * // Get the ink points collection of the annotation
     * let inkPointsCollection: Array<number[]> = annotation.inkPointsCollection;
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Sets the ink points collection of the annotation.
    *
    * @param {Array<number[]>} value Ink points collection.
    *
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data, password);
    * // Get the first page
    * let page$: PdfPage = document.getPage(0) as PdfPage;
    * // Get the first annotation of the page
    * // Create a new ink annotation
    * const annotation: PdfInkAnnotation = new PdfInkAnnotation([0, 0, 300, 400], [40, 300, 60, 100, 40, 50, 40, 300]);
    * // Set the ink points collection of the annotation
    * annotation.inkPointsCollection = [[422, 690, 412, 708, 408, 715, 403, 720, 400, 725], [420, 725, 420, 715, 415, 705, 400, 690, 405, 695]];
    * // Add annotation to the page
    * page.annotations.add(annotation);
    * // Destroy the document
    * document.destroy();
    * ```
    */
    inkPointsCollection: Array<number[]>;
    static _load(page: PdfPage, dictionary: _PdfDictionary): PdfInkAnnotation;
    _initialize(page: PdfPage, dictionary?: _PdfDictionary): void;
    _postProcess(): void;
    _doPostProcess(isFlatten?: boolean): void;
    _createInkAppearance(template: PdfTemplate): PdfTemplate;
    _getControlPoints(point: number[][], p1: number[][], p2: number[][]): {
        controlP1: Array<number[]>;
        controlP2: Array<number[]>;
    };
    _getSingleControlPoint(rightVector: number[]): number[];
    _addInkPoints(): Rectangle;
    _updateInkListCollection(inkCollection: Array<number[]>): void;
    _getInkBoundsValue(inkCollection?: Array<number[]>): number[];
    private _calculateInkBounds;
    _obtainInkListCollection(): Array<number[]>;
}
/**
 * `PdfPopupAnnotation` class represents the popup annotation objects.
 * ```typescript
 * // Load an existing PDF document
 * let document$: PdfDocument = new PdfDocument(data, password);
 * // Get the first page
 * let page$: PdfPage = document.getPage(0) as PdfPage;
 * // Create a new popup annotation
 * const annotation: PdfPopupAnnotation = new PdfPopupAnnotation('Test popup annotation', 10, 40, 30, 30);
 * // Add annotation to the page
 * page.annotations.add(annotation);
 * // Destroy the document
 * document.destroy();
 * ```
 */
export  class PdfPopupAnnotation extends PdfComment {
    _icon: PdfPopupIcon;
    private _iconString;
    _stateModel: PdfAnnotationStateModel;
    _state: PdfAnnotationState;
    _open: boolean;
    _ref: _PdfReference;
    _isReview: boolean;
    _isComment: boolean;
    _comment: string;
    _commentSecondHalf: string;
    _note: string;
    _help: string;
    _helpSecondHalf: string;
    _insert: string;
    _key: string;
    _keySecondHalf: string;
    _newParagraph: string;
    _newParagraphSecondHalf: string;
    _paragraph: string;
    _paragraphSecondHalf: string;
    /**
     * Initializes a new instance of the `PdfPopupAnnotation` class.
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Get the first page
     * let page$: PdfPage = document.getPage(0) as PdfPage;
     * // Create a new line annotation
     * let lineAnnotation: PdfLineAnnotation = new PdfLineAnnotation([10, 50, 250, 50]);
     * // Create a new popup annotation
     * let popup: PdfPopupAnnotation = new PdfPopupAnnotation();
     * // Set the author name
     * popup.author = 'Syncfusion';
     * // Set the text
     * popup.text = 'This is first comment';
     * // Add comments to the annotation
     * lineAnnotation.comments.add(popup);
     * // Add annotation to the page
     * page.annotations.add(lineAnnotation);
     * // Destroy the document
     * document.destroy();
     * ```
     */
    constructor();
    /**
     * Initializes a new instance of the `PdfPopupAnnotation` class.
     *
     * @param {string} text Text
     * @param {number} x X.
     * @param {number} y Y.
     * @param {number} width Width.
     * @param {number} height Height.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Get the first page
     * let page$: PdfPage = document.getPage(0) as PdfPage;
     * // Create a new popup annotation
     * const annotation: PdfPopupAnnotation = new PdfPopupAnnotation('Test popup annotation', 10, 40, 30, 30);
     * // Add annotation to the page
     * page.annotations.add(annotation);
     * // Destroy the document
     * document.destroy();
     * ```
     */
    constructor(text: string, x: number, y: number, width: number, height: number);
    /**
     * Gets the boolean flag indicating whether annotation has open or not.
     *
     * @returns {boolean} Caption.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Get the first page
     * let page$: PdfPage = document.getPage(0) as PdfPage;
     * // Get the first annotation of the page
     * let annotation$: PdfPopupAnnotation = page.annotations.at(0) as PdfPopupAnnotation;
     * // Gets the boolean flag indicating whether annotation has open or not.
     * let open: boolean =  annotation.open;
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Sets the boolean flag indicating whether annotation has open or not.
    *
    * @param {boolean} value Open.
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data, password);
    * // Get the first page
    * let page$: PdfPage = document.getPage(0) as PdfPage;
    * // Get the first annotation of the page
    * let annotation$: PdfPopupAnnotation = page.annotations.at(0) as PdfPopupAnnotation;
    * // Sets the boolean flag indicating whether annotation has open or not.
    * annotation.open = true;
    * // Save the document
    * document.save('output.pdf');
    * // Destroy the document
    * document.destroy();
    * ```
    */
    open: boolean;
    /**
     * Gets the icon type of the popup annotation.
     *
     * @returns {PdfPopupIcon} Annotation icon.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Get the first page
     * let page$: PdfPage = document.getPage(0) as PdfPage;
     * // Get the first annotation of the page
     * let annotation$: PdfPopupAnnotation = page.annotations.at(0) as PdfPopupAnnotation;
     * // Gets the icon type of the popup annotation.
     * let icon: PdfPopupIcon = annotation.icon;
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Sets the icon type of the popup annotation.
    *
    * @param {PdfPopupIcon} value Annotation icon.
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data, password);
    * // Get the first page
    * let page$: PdfPage = document.getPage(0) as PdfPage;
    * // Get the first annotation of the page
    * let annotation$: PdfPopupAnnotation = page.annotations.at(0) as PdfPopupAnnotation;
    * // Sets the icon type of the popup annotation.
    * annotation.icon = PdfPopupIcon.newParagraph;
    * // Save the document
    * document.save('output.pdf');
    * // Destroy the document
    * document.destroy();
    * ```
    */
    icon: PdfPopupIcon;
    /**
     * Gets the state model of the popup annotation.
     *
     * @returns {PdfAnnotationStateModel} Annotation State Model.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Get the first page
     * let page$: PdfPage = document.getPage(0) as PdfPage;
     * // Get the first annotation of the page
     * let annotation$: PdfPopupAnnotation = page.annotations.at(0) as PdfPopupAnnotation;
     * // Gets the state model of the popup annotation.
     * let stateModel: PdfAnnotationStateModel = annotation.stateModel;
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Sets the state model of the popup annotation.
    *
    * @param {PdfAnnotationStateModel} value Annotation State Model.
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data, password);
    * // Get the first page
    * let page$: PdfPage = document.getPage(0) as PdfPage;
    * // Get the first annotation of the page
    * let annotation$: PdfPopupAnnotation = page.annotations.at(0) as PdfPopupAnnotation;
    * // Sets the state model of the popup annotation.
    * annotation.stateModel = PdfAnnotationStateModel.marked;
    * // Save the document
    * document.save('output.pdf');
    * // Destroy the document
    * document.destroy();
    * ```
    */
    stateModel: PdfAnnotationStateModel;
    /**
     * Gets the state of the popup annotation.
     *
     * @returns {PdfAnnotationState} Annotation State.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Get the first page
     * let page$: PdfPage = document.getPage(0) as PdfPage;
     * // Get the first annotation of the page
     * let annotation$: PdfPopupAnnotation = page.annotations.at(0) as PdfPopupAnnotation;
     * // Gets the state of the popup annotation.
     * let state$: PdfAnnotationState = annotation.state;
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Sets the state of the popup annotation.
    *
    * @param {PdfAnnotationState} value Annotation State.
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data, password);
    * // Get the first page
    * let page$: PdfPage = document.getPage(0) as PdfPage;
    * // Get the first annotation of the page
    * let annotation$: PdfPopupAnnotation = page.annotations.at(0) as PdfPopupAnnotation;
    * // Sets the state of the popup annotation.
    * annotation.state = PdfAnnotationState.completed;
    * // Save the document
    * document.save('output.pdf');
    * // Destroy the document
    * document.destroy();
    * ```
    */
    state: PdfAnnotationState;
    static _load(page: PdfPage, dictionary: _PdfDictionary): PdfPopupAnnotation;
    _initialize(page: PdfPage, dictionary?: _PdfDictionary): void;
    _postProcess(): void;
    _doPostProcess(isFlatten?: boolean): void;
    _createPopupAppearance(): PdfTemplate;
    _obtainIconName(icon: PdfPopupIcon): string;
}
/**
 * `PdfFileLinkAnnotation` class represents the link annotation objects.
 * ```typescript
 * // Load an existing PDF document
 * let document$: PdfDocument = new PdfDocument(data, password);
 * // Get the first page
 * let page$: PdfPage = document.getPage(0) as PdfPage;
 * // Create a new file link annotation
 * let annotation$: PdfFileLinkAnnotation = new PdfFileLinkAnnotation(10, 40, 30, 30, "image.png");
 * // Add annotation to the page
 * page.annotations.add(annotation);
 * // Destroy the document
 * document.destroy();
 * ```
 */
export  class PdfFileLinkAnnotation extends PdfAnnotation {
    _action: string;
    private _fileName;
    /**
     * Initializes a new instance of the `PdfFileLinkAnnotation` class.
     *
     * @private
     */
    constructor();
    /**
     * Initializes a new instance of the `PdfFileLinkAnnotation` class.
     *
     * @param {number} x X.
     * @param {number} y Y.
     * @param {number} width Width.
     * @param {number} height Height.
     * @param {string} fileName fileName
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Get the first page
     * let page$: PdfPage = document.getPage(0) as PdfPage;
     * // Create a new file link annotation
     * let annotation$: PdfFileLinkAnnotation = new PdfFileLinkAnnotation(10, 40, 30, 30, "image.png");
     * // Add annotation to the page
     * page.annotations.add(annotation);
     * // Destroy the document
     * document.destroy();
     * ```
     */
    constructor(x: number, y: number, width: number, height: number, fileName: string);
    /**
     * Gets the action of the annotation.
     *
     * @returns {string} Action.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Get the first page
     * let page$: PdfPage = document.getPage(0) as PdfPage;
     * // Get the first annotation of the page
     * let annotation$: PdfFileLinkAnnotation = page.annotations.at(0) as PdfFileLinkAnnotation;
     * // Gets the action of the annotation.
     * let action$: string = annotation.action;
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Sets the action of the annotation.
    *
    * @param {string} value Action.
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data, password);
    * // Get the first page
    * let page$: PdfPage = document.getPage(0) as PdfPage;
    * // Get the first annotation of the page
    * let annotation$: PdfFileLinkAnnotation = page.annotations.at(0) as PdfFileLinkAnnotation;
    * // Sets the action of the annotation.
    * annotation.action = ‘syncfusion’;
    * // Save the document
    * document.save('output.pdf');
    * // Destroy the document
    * document.destroy();
    * ```
    */
    action: string;
    static _load(page: PdfPage, dictionary: _PdfDictionary): PdfFileLinkAnnotation;
    _initialize(page: PdfPage, dictionary?: _PdfDictionary): void;
    _postProcess(): void;
    _addAction(): void;
    _doPostProcess(isFlatten?: boolean): void;
}
/**
 * `PdfUriAnnotation` class represents the URI annotation objects.
 * ```typescript
 * // Load an existing PDF document
 * let document$: PdfDocument = new PdfDocument(data, password);
 * // Get the first page
 * let page$: PdfPage = document.getPage(0) as PdfPage;
 * // Create a new URI annotation
 * let annotation$: PdfUriAnnotation = new PdfUriAnnotation(100, 150, 200, 100, ‘http://www.google.com’);
 * // Add annotation to the page
 * page.annotations.add(annotation);
 * // Destroy the document
 * document.destroy();
 * ```
 */
export  class PdfUriAnnotation extends PdfAnnotation {
    private _uri;
    /**
     * Initializes a new instance of the `PdfUriAnnotation` class.
     *
     * @private
     */
    constructor();
    /**
     * Initializes a new instance of the `PdfUriAnnotation` class.
     *
     * @param {number} x X.
     * @param {number} y Y.
     * @param {number} width Width.
     * @param {number} height Height.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Get the first page
     * let page$: PdfPage = document.getPage(0) as PdfPage;
     * // Create a new URI annotation
     * let annotation$: PdfUriAnnotation = new PdfUriAnnotation(100, 150, 200, 100);
     * // Sets the uri of the annotation
     * annotation.uri = ‘http://www.google.com’;
     * // Add annotation to the page
     * page.annotations.add(annotation);
     * // Destroy the document
     * document.destroy();
     * ```
     */
    constructor(x: number, y: number, width: number, height: number);
    /**
     * Initializes a new instance of the `PdfUriAnnotation` class.
     *
     * @param {number} x X.
     * @param {number} y Y.
     * @param {number} width Width.
     * @param {number} height Height.
     * @param {string} uri Uri
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Get the first page
     * let page$: PdfPage = document.getPage(0) as PdfPage;
     * // Create a new uri annotation
     * let annotation$: PdfUriAnnotation = new PdfUriAnnotation(100, 150, 200, 100, ‘http://www.google.com’);
     * // Add annotation to the page
     * page.annotations.add(annotation);
     * // Destroy the document
     * document.destroy();
     * ```
     */
    constructor(x: number, y: number, width: number, height: number, uri: string);
    /**
     * Gets the uri of the annotation.
     *
     * @returns {string} Uri.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Get the first page
     * let page$: PdfPage = document.getPage(0) as PdfPage;
     * // Get the first annotation of the page
     * let annotation$: PdfUriAnnotation = page.annotations.at(0) as PdfUriAnnotation;
     * // Gets the uri of the annotation.
     * let uri: string = annotation.uri;
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Sets the uri of the annotation.
    *
    * @param {string} value Uri.
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data, password);
    * // Get the first page
    * let page$: PdfPage = document.getPage(0) as PdfPage;
    * // Create a new URI annotation
    * let annotation$: PdfUriAnnotation = new PdfUriAnnotation(100, 150, 200, 100);
    * // Sets the uri of the annotation
    * annotation.uri = ‘http://www.google.com’;
    * // Add annotation to the page
    * page.annotations.add(annotation);
    * // Destroy the document
    * document.destroy();
    * ```
    */
    uri: string;
    static _load(page: PdfPage, dictionary: _PdfDictionary): PdfUriAnnotation;
    _initialize(page: PdfPage, dictionary?: _PdfDictionary): void;
    _postProcess(): void;
    _addAction(): void;
    _doPostProcess(isFlatten?: boolean): void;
}
/**
 * `PdfDocumentLinkAnnotation` class represents the document link annotation objects.
 * ```typescript
 * // Load an existing PDF document
 * let document$: PdfDocument = new PdfDocument(data, password);
 * // Get the first page
 * let page$: PdfPage = document.getPage(0) as PdfPage;
 * // Create a new document link annotation
 * let annotation$: PdfDocumentLinkAnnotation = new PdfDocumentLinkAnnotation(100, 150, 40, 60);
 * // Add annotation to the page
 * page.annotations.add(annotation);
 * // Destroy the document
 * document.destroy();
 * ```
 */
export  class PdfDocumentLinkAnnotation extends PdfAnnotation {
    _destination: PdfDestination;
    /**
     * Initializes a new instance of the `PdfDocumentLinkAnnotation` class.
     *
     * @private
     */
    constructor();
    /**
     * Initializes a new instance of the `PdfDocumentLinkAnnotation` class.
     *
     * @param {number} x X.
     * @param {number} y Y.
     * @param {number} width Width.
     * @param {number} height Height.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Get the first page
     * let page$: PdfPage = document.getPage(0) as PdfPage;
     * // Create a new document link annotation
     * let annotation$: PdfDocumentLinkAnnotation = new PdfDocumentLinkAnnotation(100, 150, 40, 60);
     * // Add annotation to the page
     * page.annotations.add(annotation);
     * // Destroy the document
     * document.destroy();
     * ```
     */
    constructor(x: number, y: number, width: number, height: number);
    /**
     * Gets the destination of the annotation.
     *
     * @returns {PdfDestination} Destination.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Get the first page
     * let page$: PdfPage = document.getPage(0) as PdfPage;
     * // Get the first annotation of the page
     * let annotation$: PdfDocumentLinkAnnotation = page.annotations.at(0) as PdfDocumentLinkAnnotation;
     * // Gets the destination of the annotation.
     * let destination$: PdfDestination =annotation.destination;
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Sets the destination of the annotation.
    *
    * @param {PdfDestination} value Destination.
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data, password);
    * // Access first page
    * let page$: PdfPage = document.getPage(0);
    * // Access the annotation at index 0
    * let annotation$: PdfDocumentLinkAnnotation = page.annotations.at(0) as PdfDocumentLinkAnnotation;
    * // Initializes a new instance of the `PdfDestination` class.
    * let destination$: PdfDestination = new PdfDestination();
    * // Sets the zoom factor.
    * destination.zoom = 20;
    * // Sets the page where the destination is situated.
    * destination.page = page;
    * // Sets the mode of the destination.
    * destination.mode = PdfDestinationMode.fitToPage;
    * // Sets the location of the destination.
    * destination.location = [20, 20];
    * // Sets the bounds of the destination.
    * destination.destinationBounds = [20, 20, 100, 50];
    * // Sets destination to document link annotation.
    * annotation.destination = destination;
    * // Save the document
    * document.save('output.pdf');
    * // Destroy the document
    * document.destroy();
    * ```
    */
    destination: PdfDestination;
    static _load(page: PdfPage, dictionary: _PdfDictionary): PdfDocumentLinkAnnotation;
    _initialize(page: PdfPage, dictionary?: _PdfDictionary): void;
    _postProcess(): void;
    _addDocument(): void;
    _doPostProcess(isFlatten?: boolean): void;
}
/**
 * `PdfTextWebLinkAnnotation` class represents the link annotation objects.
 * ```typescript
 * // Load an existing PDF document
 * let document$: PdfDocument = new PdfDocument(data, password);
 * // Get the first page
 * let page$: PdfPage = document.getPage(0) as PdfPage;
 * // Create a new PDF string format
 * const format: PdfStringFormat = new PdfStringFormat(PdfTextAlignment.left, PdfVerticalAlignment.top);
 * // Create a new standard font
 * const font: PdfStandardFont = new PdfStandardFont(PdfFontFamily.helvetica, 10, PdfFontStyle.regular);
 * // Get the text size
 * let size$: number[] = font.measureString("Syncfusion Site", format, [0, 0], 0, 0);
 * // Create a new text web link annotation
 * let annot$: PdfTextWebLinkAnnotation = new PdfTextWebLinkAnnotation(50, 40, size[0], size[1], [0, 0, 0], [165, 42, 42], 1);
 * // Add annotation to the page
 * page.annotations.add(annotation);
 * // Save the document
 * document.save('output.pdf');
 * // Destroy the document
 * document.destroy();
 * ```
 */
export  class PdfTextWebLinkAnnotation extends PdfAnnotation {
    private _url;
    private _font;
    private _pen;
    private _textWebLink;
    private _brush;
    private _isActionAdded;
    /**
     * Initializes a new instance of the `PdfTextWebLinkAnnotation` class.
     *
     * @private
     */
    constructor();
    /**
     * Initializes a new instance of the `PdfTextWebLinkAnnotation` class.
     *
     * @param {number} x X.
     * @param {number} y Y.
     * @param {number} width Width.
     * @param {number} height Height.
     * @param {number[]} brushColor Brush color.
     * @param {number[]} penColor Pen color.
     * @param {number} penWidth Pen width.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Get the first page
     * let page$: PdfPage = document.getPage(0) as PdfPage;
     * // Create a new PDF string format
     * const format: PdfStringFormat = new PdfStringFormat(PdfTextAlignment.left, PdfVerticalAlignment.top);
     * // Create a new standard font
     * const font: PdfStandardFont = new PdfStandardFont(PdfFontFamily.helvetica, 10, PdfFontStyle.regular);
     * // Get the text size
     * let size$: number[] = font.measureString("Syncfusion Site", format, [0, 0], 0, 0);
     * // Create a new text web link annotation
     * let annot$: PdfTextWebLinkAnnotation = new PdfTextWebLinkAnnotation(50, 40, size[0], size[1], [0, 0, 0], [165, 42, 42], 1);
     * // Add annotation to the page
     * page.annotations.add(annotation);
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    constructor(x: number, y: number, width: number, height: number, brushColor: number[], penColor: number[], penWidth: number);
    /**
     * Initializes a new instance of the `PdfTextWebLinkAnnotation` class.
     *
     * @param {number} x X.
     * @param {number} y Y.
     * @param {number} width Width.
     * @param {number} height Height.
     * @param {number[]} brushColor Brush color.
     * @param {number[]} penColor Pen color.
     * @param {number} penWidth Pen width.
     * @param {string} text Text.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Get the first page
     * let page$: PdfPage = document.getPage(0) as PdfPage;
     * // Create a new PDF string format
     * const format: PdfStringFormat = new PdfStringFormat(PdfTextAlignment.left, PdfVerticalAlignment.top);
     * // Create a new standard font
     * const font: PdfStandardFont = new PdfStandardFont(PdfFontFamily.helvetica, 10, PdfFontStyle.regular);
     * // Get the text size
     * let size$: number[] = font.measureString("Syncfusion Site", format, [0, 0], 0, 0);
     * // Create a new text web link annotation
     * let annot$: PdfTextWebLinkAnnotation = new PdfTextWebLinkAnnotation(50, 40, size[0], size[1], [0, 0, 0], [165, 42, 42], 1, 'Google');
     * // Add annotation to the page
     * page.annotations.add(annotation);
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    constructor(x: number, y: number, width: number, height: number, brushColor: number[], penColor: number[], penWidth: number, text: string);
    /**
     * Gets the font of the annotation.
     *
     * @returns {PdfFont} font.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Get the first page
     * let page$: PdfPage = document.getPage(0) as PdfPage;
     * // Get the first annotation of the page
     * let annotation$: PdfTextWebLinkAnnotation = page.annotations.at(0) as PdfTextWebLinkAnnotation;
     * // Gets the font of the annotation.
     * let font$: PdfFont = annotation.font;
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Sets the font of the annotation.
    *
    * @param {PdfFont} value font.
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data, password);
    * // Get the first page
    * let page$: PdfPage = document.getPage(0) as PdfPage;
    * // Get the first annotation of the page
    * let annotation$: PdfTextWebLinkAnnotation = page.annotations.at(0) as PdfTextWebLinkAnnotation;
    * // Sets the font of the annotation.
    * annotation.font = new PdfStandardFont(PdfFontFamily.helvetica, 10, PdfFontStyle.regular);
    * // Save the document
    * document.save('output.pdf');
    * // Destroy the document
    * document.destroy();
    * ```
    */
    font: PdfFont;
    /**
     * Gets the url of the annotation.
     *
     * @returns {string} Url.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Get the first page
     * let page$: PdfPage = document.getPage(0) as PdfPage;
     * // Get the first annotation of the page
     * let annotation$: PdfTextWebLinkAnnotation = page.annotations.at(0) as PdfTextWebLinkAnnotation;
     * // Gets the URL of the annotation.
     * let url: string = annotation.url;
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Sets the url of the annotation.
    *
    * @param {string} value Url.
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data, password);
    * // Get the first page
    * let page$: PdfPage = document.getPage(0) as PdfPage;
    * // Get the first annotation of the page
    * let annotation$: PdfTextWebLinkAnnotation = page.annotations.at(0) as PdfTextWebLinkAnnotation;
    * // Sets the URL of the annotation.
    * annotation.url = ‘http://www.syncfusion.com’;
    * // Save the document
    * document.save('output.pdf');
    * // Destroy the document
    * document.destroy();
    * ```
    */
    url: string;
    static _load(page: PdfPage, dictionary: _PdfDictionary): PdfTextWebLinkAnnotation;
    _initialize(page: PdfPage, dictionary?: _PdfDictionary): void;
    _postProcess(): void;
    _addAction(): void;
    _doPostProcess(isFlatten?: boolean): void;
}
/**
 * `PdfAttachmentAnnotation` class represents the attachment annotation objects.
 * ```typescript
 * // Load an existing PDF document
 * let document$: PdfDocument = new PdfDocument(data, password);
 * // Get the first page
 * let page$: PdfPage = document.getPage(0) as PdfPage;
 * // Create a new attachment annotation
 * const annotation: PdfAttachmentAnnotation = new PdfAttachmentAnnotation(300, 200, 30, 30, "Nature.jpg", imageData);
 * // Add annotation to the page
 * page.annotations.add(annotation);
 * // Save the document
 * document.save('output.pdf');
 * // Destroy the document
 * document.destroy();
 * ```
 */
export  class PdfAttachmentAnnotation extends PdfComment {
    _icon: PdfAttachmentIcon;
    private _stream;
    private _fileName;
    private _iconString;
    /**
     * Initializes a new instance of the `PdfAttachmentAnnotation` class.
     *
     * @private
     */
    constructor();
    /**
     * Initializes a new instance of the `PdfAttachmentAnnotation` class.
     *
     * @param {number} x X.
     * @param {number} y Y.
     * @param {number} width Width.
     * @param {number} height Height.
     * @param {string} fileName FileName.
     * @param {string} data Data as base64 string.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Get the first page
     * let page$: PdfPage = document.getPage(0) as PdfPage;
     * // Create a new attachment annotation
     * const annotation: PdfAttachmentAnnotation =  new PdfAttachmentAnnotation(300, 200, 30, 30, "Nature.jpg", ‘imageData’);
     * // Add annotation to the page
     * page.annotations.add(annotation);
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    constructor(x: number, y: number, width: number, height: number, fileName: string, data: string);
    /**
     * Initializes a new instance of the `PdfAttachmentAnnotation` class.
     *
     * @param {number} x X.
     * @param {number} y Y.
     * @param {number} width Width.
     * @param {number} height Height.
     * @param {string} fileName FileName
     * @param {Uint8Array} data Data as byte array
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Get the first page
     * let page$: PdfPage = document.getPage(0) as PdfPage;
     * // Create a new attachment annotation
     * const annotation: PdfAttachmentAnnotation =  new PdfAttachmentAnnotation(300, 200, 30, 30, "Nature.jpg", ‘imageData’);
     * // Add annotation to the page
     * page.annotations.add(annotation);
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    constructor(x: number, y: number, width: number, height: number, fileName: string, data: Uint8Array);
    /**
     * Gets the icon type of the attachment annotation.
     *
     * @returns {PdfAttachmentIcon} Annotation icon.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Get the first page
     * let page$: PdfPage = document.getPage(0) as PdfPage;
     * // Get the first annotation of the page
     * let annotation$: PdfAttachmentAnnotation = page.annotations.at(0) as PdfAttachmentAnnotation;
     * // Gets the icon type of the attachment annotation.
     * let icon: PdfAttachmentIcon = annotation.icon;
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Sets the icon type of the attachment annotation.
    *
    * @param {PdfAttachmentIcon} value Annotation icon.
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data, password);
    * // Get the first page
    * let page$: PdfPage = document.getPage(0) as  PdfPage;
    * // Get the first annotation of the page
    * let annotation$: PdfAttachmentAnnotation = page.annotations.at(0) as PdfAttachmentAnnotation;
    * // Sets the icon type of the attachment annotation.
    * annotation.icon = PdfAttachmentIcon.pushPin;
    * // Save the document
    * document.save('output.pdf');
    * // Destroy the document
    * document.destroy();
    * ```
    */
    icon: PdfAttachmentIcon;
    static _load(page: PdfPage, dictionary: _PdfDictionary): PdfAttachmentAnnotation;
    _initialize(page: PdfPage, dictionary?: _PdfDictionary): void;
    _postProcess(): void;
    _addAttachment(): void;
    _doPostProcess(isFlatten?: boolean): void;
    _obtainIconName(icon: PdfAttachmentIcon): string;
}
/**
 * `Pdf3DAnnotation` class represents the 3D annotation objects.
 * ```typescript
 * // Load an existing PDF document
 * let document$: PdfDocument = new PdfDocument(data, password);
 * // Access first page
 * let page$: PdfPage = document.getPage(0);
 * // Access the annotation at index 0
 * let annotation$: Pdf3DAnnotation = page.annotations.at(0) as Pdf3DAnnotation;
 * // Save the document
 * document.save('output.pdf');
 * // Destroy the document
 * document.destroy();
 * ```
 */
export  class Pdf3DAnnotation extends PdfAnnotation {
    /**
     * Initializes a new instance of the `Pdf3DAnnotation` class.
     *
     * @private
     */
    constructor();
    static _load(page: PdfPage, dictionary: _PdfDictionary): Pdf3DAnnotation;
    _initialize(page: PdfPage, dictionary?: _PdfDictionary): void;
    _doPostProcess(isFlatten?: boolean): void;
}
/**
 * `PdfTextMarkupAnnotation` class represents the text markup annotation objects.
 * ```typescript
 * // Load an existing PDF document
 * let document$: PdfDocument = new PdfDocument(data, password);
 * // Get the first page
 * let page$: PdfPage = document.getPage(0) as PdfPage;
 * // Create a new text markup annotation
 * let annotation$: PdfTextMarkupAnnotation = new PdfTextMarkupAnnotation('Text markup', 50, 100, 100, 50);
 * // Add annotation to the page
 * page.annotations.add(annotation);
 * // Save the document
 * document.save('output.pdf');
 * // Destroy the document
 * document.destroy();
 * ```
 */
export  class PdfTextMarkupAnnotation extends PdfComment {
    _textMarkupType: PdfTextMarkupAnnotationType;
    private _quadPoints;
    private _points;
    private _textMarkUpColor;
    private _boundsCollection;
    /**
     * Initializes a new instance of the `PdfTextMarkupAnnotation` class.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Get the first page
     * let page$: PdfPage = document.getPage(0) as PdfPage;
     * // Create a new text markup annotation
     * const annotation: PdfTextMarkupAnnotation = new PdfTextMarkupAnnotation();
     * // Sets the bounds of the annotation.
     * annotation.bounds = {x: 50, y: 100, width: 100, height: 100};
     * // Add annotation to the page
     * page.annotations.add(annotation);
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    constructor();
    /**
     * Initializes a new instance of the `PdfTextMarkupAnnotation` class.
     *
     * @param {string} text Text.
     * @param {number} x X.
     * @param {number} y Y.
     * @param {number} width Width.
     * @param {number} height Height.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Get the first page
     * let page$: PdfPage = document.getPage(0) as PdfPage;
     * // Create a new text markup annotation
     * const annotation: PdfTextMarkupAnnotation = new PdfTextMarkupAnnotation('Water Mark', 50, 100, 100, 50);
     * // Add annotation to the page
     * page.annotations.add(annotation);
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    constructor(text: string, x: number, y: number, width: number, height: number);
    /**
     * Gets the bounds of the text markup annotation.
     *
     * @returns {{x: number, y: number, width: number, height: number}} Bounds.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Get the first page
     * let page$: PdfPage = document.getPage(0) as PdfPage;
     * // Get the first annotation of the page
     * let annotation$: PdfTextMarkupAnnotation = page.annotations.at(0) as PdfTextMarkupAnnotation;
     * // Gets the bounds of the annotation.
     * let bounds$: {x: number, y: number, width: number, height: number} = annotation.bounds;
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Sets the bounds of the text markup annotation.
    *
    * @param {{x: number, y: number, width: number, height: number}} value bounds.
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data, password);
    * // Get the first page
    * let page$: PdfPage = document.getPage(0) as PdfPage;
    * // Get the first annotation of the page
    * let annotation$: PdfTextMarkupAnnotation = page.annotations.at(0) as PdfTextMarkupAnnotation;
    * // Sets the bounds of the annotation.
    * annotation.bounds = {x: 10, y: 10, width: 150, height: 5};
    * // Destroy the document
    * document.destroy();
    * ```
    */
    bounds: {
        x: number;
        y: number;
        width: number;
        height: number;
    };
    /**
     * Gets the text markup color of the annotation.
     *
     * @returns {number[]} Text markup color as R, G, B color array in between 0 to 255.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Get the first page
     * let page$: PdfPage = document.getPage(0) as PdfPage;
     * // Get the first annotation of the page
     * let annotation$: PdfTextMarkupAnnotation = page.annotations.at(0) as PdfTextMarkupAnnotation;
     * // Gets the textMarkUp Color type of the attachment annotation.
     * let textMarkUpColor: number[] = annotation.textMarkUpColor;
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Sets the text markup color of the annotation.
    *
    * @param {number[]} value R, G, B color values in between 0 to 255.
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data, password);
    * // Get the first page
    * let page$: PdfPage = document.getPage(0) as PdfPage;
    * // Get the first annotation of the page
    * let annotation$: PdfTextMarkupAnnotation = page.annotations.at(0) as PdfTextMarkupAnnotation;
    * // Sets the textMarkUp Color type of the attachment annotation.
    * annotation.textMarkUpColor = [255, 255, 255];
    * // Save the document
    * document.save('output.pdf');
    * // Destroy the document
    * document.destroy();
    * ```
    */
    textMarkUpColor: number[];
    /**
     * Gets the markup type of the annotation.
     *
     * @returns {PdfTextMarkupAnnotationType} Markup type.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Get the first page
     * let page$: PdfPage = document.getPage(0) as PdfPage;
     * // Get the first annotation of the page
     * let annotation$: PdfTextMarkupAnnotation = page.annotations.at(0) as PdfTextMarkupAnnotation;
     * // Gets the markup type of the annotation.
     * let textMarkupType: PdfTextMarkupAnnotationType = annotation.textMarkupType;
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Sets the markup type of the annotation.
    *
    * @param {PdfTextMarkupAnnotationType} value Markup type.
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data, password);
    * // Get the first page
    * let page$: PdfPage = document.getPage(0) as PdfPage;
    * // Get the first annotation of the page
    * let annotation$: PdfTextMarkupAnnotation = page.annotations.at(0) as PdfTextMarkupAnnotation;
    * // Sets the markup type of the annotation.
    * annotation.textMarkupType = PdfTextMarkupAnnotationType.squiggly;
    * // Save the document
    * document.save('output.pdf');
    * // Destroy the document
    * document.destroy();
    * ```
    */
    textMarkupType: PdfTextMarkupAnnotationType;
    /**
     * Gets the markup bounds collection of the annotation.
     *
     * @returns {Array<number[]>} Markup bounds.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Get the first page
     * let page$: PdfPage = document.getPage(0) as  PdfPage;
     * // Get the first annotation of the page
     * let annotation$: PdfTextMarkupAnnotation =  page.annotations.at(0) as PdfTextMarkupAnnotation;
     * // Gets the markup bounds collection of the annotation.
     * let boundsCollection : Array<number[]> = annotation.boundsCollection;
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Sets the markup bounds collection of the annotation.
    *
    * @param {Array<number[]>} value Markup bounds.
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data, password);
    * // Get the first page
    * let page$: PdfPage = document.getPage(0) as PdfPage;
    * // Get the first annotation of the page
    * let annotation$: PdfTextMarkupAnnotation = page.annotations.at(0) as PdfTextMarkupAnnotation;
    * // Sets the markup bounds collection of the  annotation.
    * annotation.boundsCollection = [[50, 50, 100, 100], [201, 101, 61, 31], [101, 401, 61, 31]];
    * // Save the document
    * document.save('output.pdf');
    * // Destroy the document
    * document.destroy();
    * ```
    */
    boundsCollection: Array<number[]>;
    static _load(page: PdfPage, dictionary: _PdfDictionary): PdfTextMarkupAnnotation;
    _obtainNativeRectangle(): number[];
    _initialize(page: PdfPage, dictionary?: _PdfDictionary): void;
    _postProcess(): void;
    _doPostProcess(isFlatten?: boolean): void;
    _createMarkupAppearance(): PdfTemplate;
    _drawSquiggly(width: number, height: number): PdfPath;
    _setQuadPoints(pageSize: number[]): void;
}
/**
 * `PdfWatermarkAnnotation` class represents the watermark annotation objects.
 * ```typescript
 * // Load an existing PDF document
 * let document$: PdfDocument = new PdfDocument(data, password);
 * // Get the first page
 * let page$: PdfPage = document.getPage(0) as PdfPage;
 * // Create a new water mark annotation
 * const annotation: PdfWatermarkAnnotation = new PdfWatermarkAnnotation('Water Mark', 50, 100, 100, 50);
 * // Set the color of the annotation
 * annotation.color = [0, 0, 0];
 * // Add annotation to the page
 * page.annotations.add(annotation);
 * // Save the document
 * document.save('output.pdf');
 * // Destroy the document
 * document.destroy();
 * ```
 */
export  class PdfWatermarkAnnotation extends PdfAnnotation {
    _rotateAngle: number;
    _watermarkText: string;
    /**
     * Initializes a new instance of the `PdfWatermarkAnnotation` class.
     *
     * @private
     */
    constructor();
    /**
     * Initializes a new instance of the `PdfWatermarkAnnotation` class.
     *
     * @param {string} text Text
     * @param {number} x X.
     * @param {number} y Y.
     * @param {number} width Width.
     * @param {number} height Height.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Get the first page
     * let page$: PdfPage = document.getPage(0) as PdfPage;
     * // Create a new watermark annotation
     * const annotation: PdfWatermarkAnnotation = new PdfWatermarkAnnotation('Water Mark', 50, 100, 100, 50);
     * // Set the color of the annotation
     * annotation.color = [0, 0, 0];
     * // Add annotation to the page
     * page.annotations.add(annotation);
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    constructor(text: string, x: number, y: number, width: number, height: number);
    static _load(page: PdfPage, dictionary: _PdfDictionary): PdfWatermarkAnnotation;
    _initialize(page: PdfPage, dictionary?: _PdfDictionary): void;
    _postProcess(): void;
    private _createWatermarkAppearance;
    _doPostProcess(isFlatten?: boolean): void;
}
/**
 * `PdfRubberStampAnnotation` class represents the rubber stamp annotation objects.
 * ```typescript
 * // Load an existing PDF document
 * let document$: PdfDocument = new PdfDocument(data, password);
 * // Get the first page
 * let page$: PdfPage = document.getPage(0) as PdfPage;
 * // Create a new rubber stamp annotation
 * const annotation: PdfRubberStampAnnotation = new PdfRubberStampAnnotation (50, 100, 100, 50);
 * // Add annotation to the page
 * page.annotations.add(annotation);
 * // Save the document
 * document.save('output.pdf');
 * // Destroy the document
 * document.destroy();
 * ```
 */
export  class PdfRubberStampAnnotation extends PdfComment {
    _icon: PdfRubberStampAnnotationIcon;
    private _stampWidth;
    private _iconString;
    private rotateAngle;
    _alterRotateBounds: boolean;
    _stampAppearanceFont: PdfStandardFont;
    _appearance: PdfAppearance;
    /**
     * Initializes a new instance of the `PdfRubberStampAnnotation` class.
     *
     * @private
     */
    constructor();
    /**
     * Initializes a new instance of the `PdfRubberStampAnnotation` class.
     *
     * @param {number} x X.
     * @param {number} y Y.
     * @param {number} width Width.
     * @param {number} height Height.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Get the first page
     * let page$: PdfPage = document.getPage(0) as PdfPage;
     * // Create a new rubber stamp annotation
     * const annotation: PdfRubberStampAnnotation = new PdfRubberStampAnnotation (50, 100, 100, 50);
     * // Add annotation to the page
     * page.annotations.add(annotation);
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    constructor(x: number, y: number, width: number, height: number);
    /**
     * Gets the icon type of the rubber stamp annotation.
     *
     * @returns {PdfRubberStampAnnotationIcon} Annotation icon.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Get the first page
     * let page$: PdfPage = document.getPage(0) as PdfPage;
     * // Get the first annotation of the page
     * let annotation$: PdfRubberStampAnnotation = page.annotations.at(0) as PdfRubberStampAnnotation;
     * // Gets the icon type of the rubber stamp annotation.
     * let icon: PdfRubberStampAnnotationIcon = annotation.icon;
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Sets the icon type of the rubber stamp annotation.
    *
    * @param {PdfRubberStampAnnotationIcon} value Annotation icon.
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data, password);
    * // Get the first page
    * let page$: PdfPage = document.getPage(0) as PdfPage;
    * // Get the first annotation of the page
    * let annotation$: PdfRubberStampAnnotation = page.annotations.at(0) as PdfRubberStampAnnotation;
    * // Sets the icon type of the rubber stamp annotation.
    * annotation.icon = PdfRubberStampAnnotationIcon.completed;
    * // Save the document
    * document.save('output.pdf');
    * // Destroy the document
    * document.destroy();
    * ```
    */
    icon: PdfRubberStampAnnotationIcon;
    /**
     * Get the appearance of the rubber stamp annotation. (Read only)
     *
     * @returns {PdfAppearance} Returns the appearance of the annotation.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Get the first page
     * let page$: PdfPage = document.getPage(0) as PdfPage;
     * // Create a new rubber stamp annotation
     * const annotation: PdfRubberStampAnnotation = new PdfRubberStampAnnotation(50, 100, 100, 50);
     * // Get the appearance of the annotation
     * let appearance$: PdfAppearance = annotation.appearance;
     * // Access the normal template of the appearance
     * let template$: PdfTemplate = appearance.normal;
     * // Create new image object by using JPEG image data as Base64 string format
     * let image$: PdfImage = new PdfBitmap('/9j/4AAQSkZJRgABAQEAkACQAAD/4....QB//Z');
     * // Draw the image as the custom appearance for the annotation
     * template.graphics.drawImage(image, 0, 0, 100, 50);
     * // Add annotation to the page
     * page.annotations.add(annotation);
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    readonly appearance: PdfAppearance;
    /**
     * Create an appearance template for a rubber stamp annotation.
     *
     * @returns {PdfTemplate} Returns the appearance template of the annotation.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Get the first page
     * let page$: PdfPage = document.getPage(0) as PdfPage;
     * // Get the first annotation of the page
     * let annotation$: PdfRubberStampAnnotation = page.annotations.at(0) as PdfRubberStampAnnotation;
     * // Gets the appearance template of the annotation.
     * let template$: PdfTemplate = annotation.createTemplate();
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    createTemplate(): PdfTemplate;
    readonly _innerTemplateBounds: {
        x: number;
        y: number;
        width: number;
        height: number;
    };
    static _load(page: PdfPage, dictionary: _PdfDictionary): PdfRubberStampAnnotation;
    _initialize(page: PdfPage, dictionary?: _PdfDictionary): void;
    _postProcess(): void;
    _transformBBox(bBoxValue: {
        x: number;
        y: number;
        width: number;
        height: number;
    }, matrix: number[]): number[];
    _transformPoint(x: number, y: number, matrix: number[]): number[];
    _minValue(values: number[]): number;
    _maxValue(values: number[]): number;
    _doPostProcess(isFlatten?: boolean): void;
    _parseStampAppearance(): boolean;
    _createRubberStampAppearance(): PdfTemplate;
    _drawStampAppearance(template: PdfTemplate): void;
    _obtainIconName(icon: PdfRubberStampAnnotationIcon): string;
    _obtainBackGroundColor(): number[];
    _obtainBorderColor(): number[];
    _drawRubberStamp(graphics: PdfGraphics, pen: PdfPen, brush: PdfBrush, font: PdfStandardFont, format: PdfStringFormat): void;
    _obtainInnerBounds(): {
        x: number;
        y: number;
        width: number;
        height: number;
    };
}
/**
 * `PdfSoundAnnotation` class represents the sound annotation objects.
 * ```typescript
 * // Load an existing PDF document
 * let document$: PdfDocument = new PdfDocument(data, password);
 * // Access first page
 * let page$: PdfPage = document.getPage(0);
 * // Access the annotation at index 0
 * let annotation$: PdfSoundAnnotation = page.annotations.at(0) as PdfSoundAnnotation;
 * // Save the document
 * document.save('output.pdf');
 * // Destroy the document
 * document.destroy();
 * ```
 */
export  class PdfSoundAnnotation extends PdfComment {
    /**
     * Initializes a new instance of the `PdfSoundAnnotation` class.
     *
     * @private
     */
    constructor();
    static _load(page: PdfPage, dictionary: _PdfDictionary): PdfSoundAnnotation;
    _initialize(page: PdfPage, dictionary?: _PdfDictionary): void;
    _doPostProcess(isFlatten?: boolean): void;
}
/**
 * `PdfFreeTextAnnotation` class represents the free text annotation objects.
 * ```typescript
 * // Load an existing PDF document
 * let document$: PdfDocument = new PdfDocument(data, password);
 * // Get the first page
 * let page$: PdfPage = document.getPage(0) as PdfPage;
 * // Create a new free text annotation
 * const annotation: PdfFreeTextAnnotation = new PdfFreeTextAnnotation(50, 100, 100, 50);
 * // Add annotation to the page
 * page.annotations.add(annotation);
 * // Destroy the document
 * document.destroy();
 * ```
 */
export  class PdfFreeTextAnnotation extends PdfComment {
    _calloutLines: Array<number[]>;
    _calloutsClone: Array<number[]>;
    _rcText: string;
    _textMarkUpColor: number[];
    _font: PdfFont;
    _textColor: number[];
    _borderColor: number[];
    _intentString: string;
    _isContentUpdated: boolean;
    _markUpFont: PdfStandardFont;
    private _annotationIntent;
    private _lineEndingStyle;
    private _textAlignment;
    private _cropBoxValueX;
    private _cropBoxValueY;
    private _paddings;
    private _parsedXMLData;
    private _innerTextBoxBounds;
    /**
     * Initializes a new instance of the `PdfFreeTextAnnotation` class.
     *
     * @private
     */
    constructor();
    /**
     * Initializes a new instance of the `PdfFreeTextAnnotation` class.
     *
     * @param {number} x X.
     * @param {number} y Y.
     * @param {number} width Width.
     * @param {number} height Height.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Get the first page
     * let page$: PdfPage = document.getPage(0) as PdfPage;
     * // Create a new free text annotation
     * const annotation: PdfFreeTextAnnotation = new PdfFreeTextAnnotation(50, 100, 100, 50);
     * // Add annotation to the page
     * page.annotations.add(annotation);
     * // Destroy the document
     * document.destroy();
     * ```
     */
    constructor(x: number, y: number, width: number, height: number);
    /**
     * Gets the callout lines of the free text annotation.
     *
     * @returns {Array<number[]>} Callout lines.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Get the first page
     * let page$: PdfPage = document.getPage(0) as PdfPage;
     * // Get the first annotation of the page
     * let annotation$: PdfFreeTextAnnotation= page.annotations.at(0) as PdfFreeTextAnnotation;
     * // Gets the callout lines of the free text annotation.
     * let calloutLines: Array<number[]> = annotation.calloutLines;
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Sets the callout lines of the free text annotation.
    *
    * @param {Array<number[]>} value Callout lines.
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data, password);
    * // Get the first page
    * let page$: PdfPage = document.getPage(0) as PdfPage;
    * // Get the first annotation of the page
    * let annotation$: PdfFreeTextAnnotation = page.annotations.at(0) as PdfFreeTextAnnotation;
    * // Sets the callout lines of the free text annotation.
    * annotation.calloutLines = [[100, 450], [100, 200], [100, 150]];
    * // Save the document
    * document.save('output.pdf');
    * // Destroy the document
    * document.destroy();
    * ```
    */
    calloutLines: Array<number[]>;
    /**
     * Gets the line ending style of the annotation.
     *
     * @returns {PdfLineEndingStyle} Line ending style.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Get the first page
     * let page$: PdfPage = document.getPage(0) as PdfPage;
     * // Get the first annotation of the page
     * let annotation$: PdfFreeTextAnnotation = page.annotations.at(0) as PdfFreeTextAnnotation;
     * // Gets the Line ending style of the annotation.
     * let lineEndingStyle: PdfLineEndingStyle = annotation.lineEndingStyle;
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Sets the line ending style of the line annotation.
    *
    * @param {PdfLineEndingStyle} value Line ending style.
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data, password);
    * // Get the first page
    * let page$: PdfPage = document.getPage(0) as PdfPage;
    * // Get the first annotation of the page
    * let annotation$: PdfFreeTextAnnotation = page.annotations.at(0) as PdfFreeTextAnnotation;
    * // Sets the line ending style of the line annotation.
    * annotation.lineEndingStyle = PdfLineEndingStyle.closedArrow;
    * // Save the document
    * document.save('output.pdf');
    * // Destroy the document
    * document.destroy();
    * ```
    */
    lineEndingStyle: PdfLineEndingStyle;
    /**
     * Gets the text markup color of the annotation.
     *
     * @returns {number[]} Text markup color as R, G, B color array in between 0 to 255.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Get the first page
     * let page$: PdfPage = document.getPage(0) as PdfPage;
     * // Get the first annotation of the page
     * let annotation$: PdfFreeTextAnnotation = page.annotations.at(0) as PdfFreeTextAnnotation;
     * // Gets the text markup color of the annotation.
     * let textMarkUpColor: number[] = annotation.textMarkUpColor;
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Sets the text markup color of the annotation.
    *
    * @param {number[]} value R, G, B color values in between 0 to 255.
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data, password);
    * // Get the first page
    * let page$: PdfPage = document.getPage(0) as PdfPage;
    * // Get the first annotation of the page
    * let annotation$: PdfFreeTextAnnotation = page.annotations.at(0) as PdfFreeTextAnnotation;
    * // Sets the text markup color of the annotation.
    * annotation.textMarkUpColor = [200, 200, 200];
    * // Save the document
    * document.save('output.pdf');
    * // Destroy the document
    * document.destroy();
    * ```
    */
    textMarkUpColor: number[];
    /**
     * Gets the text alignment of the annotation.
     *
     * @returns {PdfTextAlignment} Text alignment.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Get the first page
     * let page$: PdfPage = document.getPage(0) as PdfPage;
     * // Get the first annotation of the page
     * let annotation$: PdfFreeTextAnnotation = page.annotations.at(0) as PdfFreeTextAnnotation;
     * // Gets the text alignment of the annotation.
     * let textAlignment: PdfTextAlignment = annotation.textAlignment;
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Sets the text alignment of the annotation.
    *
    * @param {PdfTextAlignment} value Text alignment.
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data, password);
    * // Get the first page
    * let page$: PdfPage = document.getPage(0) as PdfPage;
    * // Get the first annotation of the page
    * let annotation$: PdfFreeTextAnnotation = page.annotations.at(0) as PdfFreeTextAnnotation;
    * // Sets the text alignment of the annotation.
    * annotation.textAlignment = PdfTextAlignment.justify;
    * // Save the document
    * document.save('output.pdf');
    * // Destroy the document
    * document.destroy();
    * ```
    */
    textAlignment: PdfTextAlignment;
    /**
     * Gets the font of the annotation.
     *
     * @returns {PdfFont} font.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Get the first page
     * let page$: PdfPage = document.getPage(0) as PdfPage;
     * // Get the first annotation of the page
     * let annotation$: PdfFreeTextAnnotation = page.annotations.at(0) as PdfFreeTextAnnotation;
     * // Gets the font of the annotation.
     * let font$: PdfFont = annotation.font;
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Sets the font of the annotation.
    *
    * @param {PdfFont} value font.
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data, password);
    * // Get the first page
    * let page$: PdfPage = document.getPage(0) as PdfPage;
    * // Get the first annotation of the page
    * let annotation$: PdfFreeTextAnnotation = page.annotations.at(0) as PdfFreeTextAnnotation;
    * // Sets the font of the annotation.
    * annotation.font = new PdfStandardFont(PdfFontFamily.helvetica, 10, PdfFontStyle.regular);
    * // Save the document
    * document.save('output.pdf');
    * // Destroy the document
    * document.destroy();
    * ```
    */
    font: PdfFont;
    /**
     * Gets the border color of the annotation.
     *
     * @returns {number[]} R, G, B color values in between 0 to 255.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Get the first page
     * let page$: PdfPage = document.getPage(0) as PdfPage;
     * // Get the first annotation of the page
     * let annotation$: PdfFreeTextAnnotation = page.annotations.at(0) as PdfFreeTextAnnotation;
     * // Gets the border color of the annotation.
     * let borderColor$: number[] = annotation.borderColor;
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Sets the border color of the annotation.
    *
    * @param {number[]} value R, G, B color values in between 0 to 255.
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data, password);
    * // Get the first page
    * let page$: PdfPage = document.getPage(0) as PdfPage;
    * // Get the first annotation of the page
    * let annotation$: PdfFreeTextAnnotation = page.annotations.at(0) as PdfFreeTextAnnotation;
    * // Sets the border color of the annotation.
    * annotation.borderColor = [150, 150, 150];
    * // Save the document
    * document.save('output.pdf');
    * // Destroy the document
    * document.destroy();
    * ```
    */
    borderColor: number[];
    /**
     * Gets the intent of the annotation.
     *
     * @returns {PdfAnnotationIntent} Annotation intent.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Get the first page
     * let page$: PdfPage = document.getPage(0) as PdfPage;
     * // Get the first annotation of the page
     * let annotation$: PdfFreeTextAnnotation = page.annotations.at(0) as PdfFreeTextAnnotation;
     * // Gets the intent of the annotation.
     * let annotationIntent: PdfAnnotationIntent = annotation.annotationIntent;
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Sets the intent of the annotation.
    *
    * @param {PdfAnnotationIntent} value Annotation intent.
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data, password);
    * // Get the first page
    * let page$: PdfPage = document.getPage(0) as PdfPage;
    * // Get the first annotation of the page
    * let annotation$: PdfFreeTextAnnotation = page.annotations.at(0) as PdfFreeTextAnnotation;
    * // Sets the intent of the annotation.
    * annotation.annotationIntent = PdfAnnotationIntent.freeTextTypeWriter;
    * // Save the document
    * document.save('output.pdf');
    * // Destroy the document
    * document.destroy();
    * ```
    */
    annotationIntent: PdfAnnotationIntent;
    readonly _mkDictionary: _PdfDictionary;
    readonly _innerBounds: Rectangle;
    static _load(page: PdfPage, dictionary: _PdfDictionary): PdfFreeTextAnnotation;
    _setPaddings(paddings: _PdfPaddings): void;
    _initialize(page: PdfPage, dictionary?: _PdfDictionary): void;
    _postProcess(isFlatten: boolean): void;
    _doPostProcess(isFlatten?: boolean): void;
    _isValidTemplateMatrix(dictionary: _PdfDictionary, bounds: {
        x: number;
        y: number;
        width: number;
        height: number;
    }, appearanceTemplate: PdfTemplate): boolean;
    _createAppearance(): PdfTemplate;
    _calculateRectangle(innerRectangle: number[]): void;
    _obtainAnnotationIntent(_annotationIntent: PdfAnnotationIntent): string;
    _obtainFont(): PdfFont;
    _updateStyle(font: PdfFont, color: number[], alignment: PdfTextAlignment): void;
    _drawFreeMarkUpText(graphics: PdfGraphics, parameter: _PaintParameter, rectangle: number[], text: string, alignment: PdfTextAlignment): void;
    _drawFreeTextRectangle(graphics: PdfGraphics, parameter: _PaintParameter, rectangle: number[], alignment: PdfTextAlignment): void;
    _drawAppearance(graphics: PdfGraphics, parameter: _PaintParameter, rectangle: number[]): void;
    _drawFreeTextAnnotation(g: PdfGraphics, parameter: _PaintParameter, text: string, font: PdfFont, rectangle: number[], isSkipDrawRectangle: boolean, alignment: PdfTextAlignment, isRotation: boolean): void;
    _getCalloutLinePoints(): Array<number[]>;
    _obtainAppearanceBounds(): number[];
    _obtainCallOutsNative(): void;
    _obtainLinePoints(): number[];
    _obtainLineEndingStyle(): PdfLineEndingStyle;
    _obtainText(): string;
    _obtainTextAlignment(): PdfTextAlignment;
    _obtainColor(): number[];
    _expandAppearance(pointArray: Array<number[]>): void;
    _drawCallOuts(graphics: PdfGraphics, borderPen: PdfPen): void;
    _saveFreeTextDictionary(): void;
    _getXmlFormattedString(markupText: string): string;
    _parseMarkupLanguageData(rcContent: string): any[];
    _collectStyles(root: HTMLElement, styleMap?: Map<string, string[]>): Map<string, string[]>;
    _extractStylesToInput(styleMap: Map<string, string[]>): string[];
    _isSymbol(char: string): boolean;
    _updateFontProperties(fontDetails: Map<string, any>, fontName: string, fontStyle: PdfFontStyle, brush: PdfBrush): {
        fontName: string;
        fontStyle: PdfFontStyle;
        brush: PdfBrush;
    };
    _obtainFontStyle(value: string, property: string): PdfFontStyle;
    _parseTextAlignment(value: string): PdfTextAlignment;
    _getFontDetails(input: string[], fontSize: number, textAlignment: PdfTextAlignment, fontStyle: PdfFontStyle, brush: PdfBrush): Map<string, any>;
    _parseFont(value: string, fontDetails: Map<string, any>): void;
    _parseFontSize(value: string): number;
    _parseFontWeight(value: string, fontStyle: PdfFontStyle): PdfFontStyle;
    _parseFontFamily(value: string): string;
    _parseFontStyle(value: string, fontStyle: PdfFontStyle): PdfFontStyle;
    _parseTextDecoration(value: string, fontStyle: PdfFontStyle): PdfFontStyle;
    _parseTextAlign(value: string): PdfTextAlignment;
    _rgbStringToArray(rgbString: string): number[];
    _fontCollection(fontCollection: any[], font: PdfFont, nameSpaceUri: string, alignment: PdfTextAlignment, brush: PdfBrush): any[];
}
/**
 * `PdfRedactionAnnotation` class represents the redaction annotation objects.
 * ```typescript
 * // Load an existing PDF document
 * let document$: PdfDocument = new PdfDocument(data, password);
 * // Get the first page
 * let page$: PdfPage = document.getPage(0) as PdfPage;
 * // Create a new redaction annotation
 * const annotation: PdfRedactionAnnotation = new PdfRedactionAnnotation (50, 100, 100, 50);
 * // Add annotation to the page
 * page.annotations.add(annotation);
 * // Destroy the document
 * document.destroy();
 * ```
 */
export  class PdfRedactionAnnotation extends PdfAnnotation {
    private _overlayText;
    private _repeat;
    private _font;
    private _textColor;
    private _borderColor;
    private _textAlignment;
    /**
     * Initializes a new instance of the `PdfRedactionAnnotation` class.
     *
     * @private
     */
    constructor();
    /**
     * Initializes a new instance of the `PdfRedactionAnnotation` class.
     *
     * @param {number} x X.
     * @param {number} y Y.
     * @param {number} width Width.
     * @param {number} height Height.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Get the first page
     * let page$: PdfPage = document.getPage(0) as PdfPage;
     * // Create a new redaction annotation
     * const annotation: PdfRedactionAnnotation = new PdfRedactionAnnotation ([10, 50, 250, 50]);
     * // Add annotation to the page
     * page.annotations.add(annotation);
     * // Destroy the document
     * document.destroy();
     * ```
     */
    constructor(x: number, y: number, width: number, height: number);
    /**
     * Gets the boolean flag indicating whether annotation has repeat text or not.
     *
     * @returns {boolean} repeat text.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Get the first page
     * let page$: PdfPage = document.getPage(0) as PdfPage;
     * // Get the first annotation of the page
     * let annotation$: PdfRedactionAnnotation = page.annotations.at(0) as PdfRedactionAnnotation;
     * // Gets the boolean flag indicating whether annotation has repeat text or not.
     * let repeatText: boolean = annotation. repeatText;
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Sets the boolean flag indicating whether annotation has repeat text or not.
    *
    * @param {boolean} value repeat text.
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data, password);
    * // Get the first page
    * let page$: PdfPage = document.getPage(0) as PdfPage;
    * // Get the first annotation of the page
    * let annotation$: PdfRedactionAnnotation = page.annotations.at(0) as PdfRedactionAnnotation;
    * // Sets the boolean flag indicating whether annotation has repeat text or not.
    * annotation.repeatText = false;
    * // Save the document
    * document.save('output.pdf');
    * // Destroy the document
    * document.destroy();
    * ```
    */
    repeatText: boolean;
    /**
     * Gets the text alignment of the annotation.
     *
     * @returns {PdfTextAlignment} Text alignment.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Get the first page
     * let page$: PdfPage = document.getPage(0) as PdfPage;
     * // Get the first annotation of the page
     * let annotation$: PdfRedactionAnnotation = page.annotations.at(0) as PdfRedactionAnnotation;
     * // Gets the text alignment of the annotation.
     * let textAlignment: PdfTextAlignment = annotation.textAlignment;
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Sets the text alignment of the annotation.
    *
    * @param {PdfTextAlignment} value Text alignment.
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data, password);
    * // Get the first page
    * let page$: PdfPage = document.getPage(0) as PdfPage;
    * // Get the first annotation of the page
    * let annotation$: PdfRedactionAnnotation = page.annotations.at(0) as PdfRedactionAnnotation;
    * // Sets the text alignment of the annotation.
    * annotation.textAlignment = PdfTextAlignment.justify;
    * // Save the document
    * document.save('output.pdf');
    * // Destroy the document
    * document.destroy();
    * ```
    */
    textAlignment: PdfTextAlignment;
    /**
     * Gets the text color of the annotation.
     *
     * @returns {number[]} R, G, B color values in between 0 to 255.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Get the first page
     * let page$: PdfPage = document.getPage(0) as PdfPage;
     * // Get the first annotation of the page
     * let annotation$: PdfRedactionAnnotation = page.annotations.at(0) as PdfRedactionAnnotation;
     * // Gets the text color of the annotation.
     * let textColor : number[] = annotation.textColor;
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Sets the text color of the annotation.
    *
    * @param {number[]} value R, G, B color values in between 0 to 255.
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data, password);
    * // Get the first page
    * let page$: PdfPage = document.getPage(0) as PdfPage;
    * // Get the first annotation of the page
    * let annotation$: PdfRedactionAnnotation = page.annotations.at(0) as PdfRedactionAnnotation;
    * // Sets the text color of the annotation.
    * annotation.textColor = [255, 255, 255];
    * // Save the document
    * document.save('output.pdf');
    * // Destroy the document
    * document.destroy();
    * ```
    */
    textColor: number[];
    /**
     * Gets the border color of the annotation.
     *
     * @returns {number[]} R, G, B color values in between 0 to 255.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Get the first page
     * let page$: PdfPage = document.getPage(0) as PdfPage;
     * // Get the first annotation of the page
     * let annotation$: PdfRedactionAnnotation = page.annotations.at(0) as PdfRedactionAnnotation;
     * // Gets the border color of the annotation.
     * let borderColor$: number[] = annotation.borderColor;
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Sets the border color of the annotation.
    *
    * @param {number[]} value R, G, B color values in between 0 to 255.
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data, password);
    * // Get the first page
    * let page$: PdfPage = document.getPage(0) as PdfPage;
    * // Get the first annotation of the page
    * let annotation$: PdfRedactionAnnotation = page.annotations.at(0) as PdfRedactionAnnotation;
    * // Sets the border color of the annotation.
    * annotation.borderColor = [255, 255, 255];
    * // Save the document
    * document.save('output.pdf');
    * // Destroy the document
    * document.destroy();
    * ```
    */
    borderColor: number[];
    /**
     * Gets the overlay text of the annotation.
     *
     * @returns {string} overlay text.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Get the first page
     * let page$: PdfPage = document.getPage(0) as PdfPage;
     * // Get the first annotation of the page
     * let annotation$: PdfRedactionAnnotation = page.annotations.at(0) as PdfRedactionAnnotation;
     * // Gets the overlay text of the annotation.
     * let overlayText: string =annotation.overlayText;
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Sets the overlay text of the annotation.
    *
    * @param {string} value overlay text.
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data, password);
    * // Get the first page
    * let page$: PdfPage = document.getPage(0) as PdfPage;
    * // Get the first annotation of the page
    * let annotation$: PdfRedactionAnnotation = page.annotations.at(0) as PdfRedactionAnnotation;
    * // Sets the overlay text of the annotation.
    * annotation.overlayText = ‘syncfusion’;
    * // Save the document
    * document.save('output.pdf');
    * // Destroy the document
    * document.destroy();
    * ```
    */
    overlayText: string;
    /**
     * Gets the font of the annotation.
     *
     * @returns {PdfFont} font.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Get the first page
     * let page$: PdfPage = document.getPage(0) as PdfPage;
     * // Get the first annotation of the page
     * let annotation$: PdfRedactionAnnotation = page.annotations.at(0) as PdfRedactionAnnotation;
     * // Gets the font of the annotation.
     * let font$: PdfFont = annotation.font;
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Sets the font of the annotation.
    *
    * @param {PdfFont} value font.
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data, password);
    * // Get the first page
    * let page$: PdfPage = document.getPage(0) as PdfPage;
    * // Get the first annotation of the page
    * let annotation$: PdfRedactionAnnotation = page.annotations.at(0) as PdfRedactionAnnotation;
    * // Sets the font of the annotation.
    * annotation.font = new PdfStandardFont(PdfFontFamily.helvetica, 10, PdfFontStyle.regular);
    * // Save the document
    * document.save('output.pdf');
    * // Destroy the document
    * document.destroy();
    * ```
    */
    font: PdfFont;
    static _load(page: PdfPage, dictionary: _PdfDictionary): PdfRedactionAnnotation;
    _initialize(page: PdfPage, dictionary?: _PdfDictionary): void;
    _postProcess(isFlatten: boolean): void;
    _doPostProcess(isFlatten?: boolean): void;
    _createRedactionAppearance(isFlatten: boolean): PdfTemplate;
    _createBorderAppearance(): PdfTemplate;
    _createNormalAppearance(): PdfTemplate;
}
/**
 * `PdfRichMediaAnnotation` class represents the rich media annotation objects.
 * ```typescript
 * // Load an existing PDF document
 * let document$: PdfDocument = new PdfDocument(data, password);
 * // Access first page
 * let page$: PdfPage = document.getPage(0);
 * // Access the annotation at index 0
 * let annotation$: PdfRichMediaAnnotation = page.annotations.at(0) as PdfRichMediaAnnotation;
 * // Save the document
 * document.save('output.pdf');
 * // Destroy the document
 * document.destroy();
 * ```
 */
export  class PdfRichMediaAnnotation extends PdfAnnotation {
    /**
     * Initializes a new instance of the `PdfRichMediaAnnotation` class.
     *
     * @private
     */
    constructor();
    static _load(page: PdfPage, dictionary: _PdfDictionary): PdfRichMediaAnnotation;
    _initialize(page: PdfPage, dictionary?: _PdfDictionary): void;
    _doPostProcess(isFlatten?: boolean): void;
}
/**
 * `PdfWidgetAnnotation` class represents the widget annotation objects.
 * ```typescript
 * // Load an existing PDF document
 * let document$: PdfDocument = new PdfDocument(data, password);
 * // Access first page
 * let page$: PdfPage = document.getPage(0);
 * // Access the annotation at index 0
 * let annotation$: PdfWidgetAnnotation = page.annotations.at(0) as PdfWidgetAnnotation;
 * // Save the document
 * document.save('output.pdf');
 * // Destroy the document
 * document.destroy();
 * ```
 */
export  class PdfWidgetAnnotation extends PdfAnnotation {
    private _backColor;
    private _borderColor;
    _rotationAngle: number;
    _highlightMode: PdfHighlightMode;
    _da: _PdfDefaultAppearance;
    _field: PdfField;
    _enableGrouping: boolean;
    _needActualName: boolean;
    _textAlignment: PdfTextAlignment;
    _isAutoResize: boolean;
    _index: number;
    _visibility: PdfFormFieldVisibility;
    _fontName: string;
    _isFont: boolean;
    _isTransparentBackColor: boolean;
    _isTransparentBorderColor: boolean;
    /**
     * Initializes a new instance of the `PdfWidgetAnnotation` class.
     *
     * @private
     */
    constructor();
    /**
     * Parse an existing widget annotation.
     *
     * @private
     * @param {_PdfDictionary} dictionary Widget dictionary.
     * @param {_PdfCrossReference} crossReference PDF cross reference.
     * @returns {PdfWidgetAnnotation} Widget.
     */
    static _load(dictionary: _PdfDictionary, crossReference: _PdfCrossReference): PdfWidgetAnnotation;
    /**
     * Gets the page object (Read only).
     *
     * @returns {PdfPage} page object.
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Access check box field
     * let field$: PdfCheckBoxField = document.form.fieldAt(0) as PdfCheckBoxField;
     * // Access first item of check box field
     * let item$: PdfWidgetAnnotation = field.itemAt(0);
     * // Gets the page object.
     * let page$: PdfPage = item.page;
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    readonly page: PdfPage;
    /**
     * Gets the fore color of the annotation.
     *
     * @returns {number[]} Color as R, G, B color array in between 0 to 255.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Get the first page
     * let page$: PdfPage = document.getPage(0) as PdfPage;
     * // Get the first annotation of the page
     * let annotation$: PdfWidgetAnnotation = page.annotations.at(0) as PdfWidgetAnnotation;
     * // Gets the fore color of the annotation.
     * let color$: number[] = annotation.color;
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Sets the fore color of the annotation.
    *
    * @param {number[]} value Color as R, G, B color array in between 0 to 255.
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data, password);
    * // Get the first page
    * let page$: PdfPage = document.getPage(0) as PdfPage;
    * // Get the first annotation of the page
    * let annotation$: PdfWidgetAnnotation = page.annotations.at(0) as PdfWidgetAnnotation;
    * // Sets the fore color of the annotation.
    * annotation.color = [255,255,255];
    * // Save the document
    * document.save('output.pdf');
    * // Destroy the document
    * document.destroy();
    * ```
    */
    color: number[];
    /**
     * Gets the back color of the annotation.
     *
     * @returns {number[]} Color as R, G, B color array in between 0 to 255.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Access the text box field at index 0
     * let field$: PdfField = document.form.fieldAt(0);
     * // Gets the back color of the annotation
     * let backColor$: number[] = field.itemAt(0).backColor;
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Sets the back color of the annotation.
    *
    * @param {number[]} value Array with R, G, B, A color values in between 0 to 255. For optional A (0-254), it signifies transparency.
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data, password);
    * // Access the text box field at index 0
    * let field$: PdfField = document.form.fieldAt(0);
    * // Sets the background color of the field item
    * field.itemAt(0).backColor = [255, 0, 0];
    * // Sets the background color of the field item to transparent
    * field.itemAt(1).backColor = [0, 0, 0, 0];
    * // Save the document
    * document.save('output.pdf');
    * // Destroy the document
    * document.destroy();
    * ```
    */
    backColor: number[];
    readonly _hasBackColor: boolean;
    readonly _hasBorderColor: boolean;
    /**
     * Gets the border color of the annotation.
     *
     * @returns {number[]} Color as R, G, B color array in between 0 to 255.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Get the first page
     * let page$: PdfPage = document.getPage(0) as PdfPage;
     * // Get the first annotation of the page
     * let annotation$: PdfWidgetAnnotation = page.annotations.at(0) as PdfWidgetAnnotation;
     * // Gets the border color of the annotation.
     * let borderColor$: number[] = annotation.borderColor;
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Sets the border color of the annotation.
    *
    * @param {number[]} value Array with R, G, B, A color values in between 0 to 255. For optional A (0-254), it signifies transparency.
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data, password);
    * // Get the first page
    * let page$: PdfPage = document.getPage(0) as PdfPage;
    * // Get the first annotation of the page
    * let annotation$: PdfWidgetAnnotation = page.annotations.at(0) as PdfWidgetAnnotation;
    * // Sets the border color of the annotation.
    * annotation.borderColor = [255,255,255];
    * // Save the document
    * document.save('output.pdf');
    * // Destroy the document
    * document.destroy();
    * ```
    */
    borderColor: number[];
    /**
     * Gets the rotation angle of the annotation.
     *
     * @returns {number} Rotation angle as number.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Get the first page
     * let page$: PdfPage = document.getPage(0) as PdfPage;
     * // Get the first annotation of the page
     * let annotation$: PdfWidgetAnnotation = page.annotations.at(0) as PdfWidgetAnnotation;
     * // Gets the rotation angle of the annotation.
     * let rotate$: number = annotation.rotate;
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Sets the rotation angle of the annotation.
    *
    * @param {number} value Rotation angle as number.
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data, password);
    * // Get the first page
    * let page$: PdfPage = document.getPage(0) as PdfPage;
    * // Get the first annotation of the page
    * let annotation$: PdfWidgetAnnotation = page.annotations.at(0) as PdfWidgetAnnotation;
    * // Sets the rotation angle of the annotation.
    * annotation.rotate = 90;
    * // Save the document
    * document.save('output.pdf');
    * // Destroy the document
    * document.destroy();
    * ```
    */
    rotate: number;
    /**
     * Gets the highlight mode of the annotation.
     *
     * @returns {PdfHighlightMode} Highlight mode.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Get the first page
     * let page$: PdfPage = document.getPage(0) as PdfPage;
     * // Get the first annotation of the page
     * let annotation$: PdfWidgetAnnotation = page.annotations.at(0) as PdfWidgetAnnotation;
     * // Gets the highlight mode of the annotation.
     * let highlightMode$: PdfHighlightMode = annotation.highlightMode;
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Sets the highlight mode of the annotation.
    *
    * @param {PdfHighlightMode} value Highlight mode.
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data, password);
    * // Get the first page
    * let page$: PdfPage = document.getPage(0) as PdfPage;
    * // Get the first annotation of the page
    * let annotation$: PdfWidgetAnnotation = page.annotations.at(0) as PdfWidgetAnnotation;
    * // Sets the highlight mode of the annotation.
    * annotation.highlightMode = PdfHighlightMode.noHighlighting;
    * // Save the document
    * document.save('output.pdf');
    * // Destroy the document
    * document.destroy();
    * ```
    */
    highlightMode: PdfHighlightMode;
    /**
     * Gets the bounds of the annotation.
     *
     * @returns {{x: number, y: number, width: number, height: number}} Bounds.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Get the first page
     * let page$: PdfPage = document.getPage(0) as PdfPage;
     * // Get the first annotation of the page
     * let annotation$: PdfWidgetAnnotation = page.annotations.at(0) as PdfWidgetAnnotation;
     * // Gets the bounds of the annotation.
     * let bounds$ : {x: number, y: number, width: number, height: number} = annotation.bounds;
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Sets the bounds of the annotation.
    *
    * @param {{x: number, y: number, width: number, height: number}} value Bounds
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data, password);
    * // Get the first page
    * let page$: PdfPage = document.getPage(0) as PdfPage;
    * // Get the first annotation of the page
    * let annotation$: PdfWidgetAnnotation = page.annotations.at(0) as PdfWidgetAnnotation;
    * // Sets the bounds of the annotation.
    * annotation.bounds = {0, 0, 50, 50};
    * // Save the document
    * document.save('output.pdf');
    * // Destroy the document
    * document.destroy();
    * ```
    */
    bounds: {
        x: number;
        y: number;
        width: number;
        height: number;
    };
    /**
     * Gets the text alignment of the annotation.
     *
     * @returns {PdfTextAlignment} Text alignment.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Get the first page
     * let page$: PdfPage = document.getPage(0) as PdfPage;
     * // Get the first annotation of the page
     * let annotation$: PdfWidgetAnnotation = page.annotations.at(0) as PdfWidgetAnnotation;
     * // Gets the text alignment of the annotation.
     * let textAlignment: PdfTextAlignment = annotation.textAlignment;
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Sets the text alignment of the annotation.
    *
    * @param {PdfTextAlignment} value Text alignment.
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data, password);
    * // Get the first page
    * let page$: PdfPage = document.getPage(0) as PdfPage;
    * // Get the first annotation of the page
    * let annotation$: PdfWidgetAnnotation = page.annotations.at(0) as PdfWidgetAnnotation;
    * // Sets the text alignment of the annotation.
    * annotation.textAlignment = PdfTextAlignment.left;
    * // Save the document
    * document.save('output.pdf');
    * // Destroy the document
    * document.destroy();
    * ```
    */
    textAlignment: PdfTextAlignment;
    /**
     * Gets the visibility.
     *
     * @returns {PdfFormFieldVisibility} Field visibility option.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Access the form field at index 0
     * let field$: PdfField = document.form.fieldAt(0);
     * // Gets the visibility.
     * let visibility$: PdfFormFieldVisibility = field.itemAt(0).visibility;
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Sets the visibility.
    *
    * @param {PdfFormFieldVisibility} value Visibility option.
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data, password);
    * // Access the form field at index 0
    * let field$: PdfField = document.form.fieldAt(0);
    * // Sets the visibility.
    * let field.itemAt(0).visibility = PdfFormFieldVisibility.hiddenPrintable;
    * // Save the document
    * document.save('output.pdf');
    * // Destroy the document
    * document.destroy();
    * ```
    */
    visibility: PdfFormFieldVisibility;
    /**
     * Gets the font of the item.
     *
     * @returns {PdfFont} font.
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Get the first page
     * let page$: PdfPage = document.getPage(0) as PdfPage;
     * // Access the form field at index 0
     * let field$: PdfTextBoxField = document.form.fieldAt(0) as PdfTextBoxField;
     * // Get the first item of the field
     * let item$: PdfWidgetAnnotation = field.itemAt(0);
     * // Gets the font of the item.
     * let font$: PdfFont = item.font;
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Sets the font of the item.
    *
    * @param {PdfFont} value font.
    *
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data, password);
    * // Get the first page
    * let page$: PdfPage = document.getPage(0) as PdfPage;
    * // Access the form field at index 0
    * let field$: PdfTextBoxField = document.form.fieldAt(0) as PdfTextBoxField;
    * // Get the first item of the field
    * let item$: PdfWidgetAnnotation = field.itemAt(0);
    * // Set the font of the item.
    * item.font = new PdfStandardFont(PdfFontFamily.helvetica, 12, PdfFontStyle.bold);
    * // Save the document
    * document.save('output.pdf');
    * // Destroy the document
    * document.destroy();
    * ```
    */
    font: PdfFont;
    readonly _defaultAppearance: _PdfDefaultAppearance;
    readonly _mkDictionary: _PdfDictionary;
    _create(page: PdfPage, bounds: {
        x: number;
        y: number;
        width: number;
        height: number;
    }, field?: PdfField): _PdfDictionary;
    _doPostProcess(isFlatten?: boolean, recreateAppearance?: boolean): void;
    _initializeFont(font: PdfFont): void;
    _getPage(): PdfPage;
    _beginSave(): void;
    _parseBackColor(): number[];
    _parseBorderColor(): number[];
    _updateBackColor(value: number[], setAppearance?: boolean): void;
    _updateBorderColor(value: number[]): void;
}
/**
 * `PdfStateItem` class represents the check box field item objects.
 * ```typescript
 * // Load an existing PDF document
 * let document$: PdfDocument = new PdfDocument(data, password);
 * // Access check box field
 * let field$: PdfCheckBoxField = document.form.fieldAt(0) as PdfCheckBoxField;
 * // Access first item of check box field
 * let item$: PdfStateItem = field.itemAt(0) as PdfStateItem;
 * // Sets the check box style as check
 * item.style = PdfCheckBoxStyle.check;
 * // Save the document
 * document.save('output.pdf');
 * // Destroy the document
 * document.destroy();
 * ```
 */
export  class PdfStateItem extends PdfWidgetAnnotation {
    _style: PdfCheckBoxStyle;
    _styleText: string;
    /**
     * Initializes a new instance of the `PdfStateItem` class.
     *
     * @private
     */
    constructor();
    /**
     * Parse an existing item of the field.
     *
     * @private
     * @param {_PdfDictionary} dictionary Widget dictionary.
     * @param {_PdfCrossReference} crossReference PDF cross reference.
     * @param {PdfField} field Field object.
     * @returns {PdfStateItem} Widget.
     */
    static _load(dictionary: _PdfDictionary, crossReference: _PdfCrossReference, field?: PdfField): PdfStateItem;
    /**
     * Gets the flag to indicate whether the field item is checked or not.
     *
     * @returns {boolean} Checked or not.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Access check box field
     * let field$: PdfCheckBoxField = document.form.fieldAt(0) as PdfCheckBoxField;
     * // Access first item of check box field
     * let item$: PdfStateItem = field.itemAt(0) as PdfStateItem;
     * // Gets the flag to indicate whether the field item is checked or not.
     * let checked$: boolean = item.checked;
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Sets the flag to indicate whether the field item is checked or not.
    *
    * @param {boolean} value Checked or not.
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data, password);
    * // Access check box field
    * let field$: PdfCheckBoxField = document.form.fieldAt(0) as PdfCheckBoxField;
    * // Access first item of check box field
    * let item$: PdfStateItem = field.itemAt(0) as PdfStateItem;
    * // Sets the style of the annotation
    * item.checked = true;
    * // Save the document
    * document.save('output.pdf');
    * // Destroy the document
    * document.destroy();
    * ```
    */
    checked: boolean;
    /**
     * Gets the style of annotation.
     *
     * @returns {PdfCheckBoxStyle} Style of annotation.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Access check box field
     * let field$: PdfCheckBoxField = document.form.fieldAt(0) as PdfCheckBoxField;
     * // Access first item of check box field
     * let item$: PdfStateItem = field.itemAt(0) as PdfStateItem;
     * // Gets the style of the annotation
     * let style$: PdfCheckBoxStyle = item.style;
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Sets the style of annotation.
    *
    * @param {PdfCheckBoxStyle} value Style of annotation.
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data, password);
    * // Access check box field
    * let field$: PdfCheckBoxField = document.form.fieldAt(0) as PdfCheckBoxField;
    * // Access first item of check box field
    * let item$: PdfStateItem = field.itemAt(0) as PdfStateItem;
    * // Sets the style of the annotation
    * item.style = PdfCheckBoxStyle.check;
    * // Save the document
    * document.save('output.pdf');
    * // Destroy the document
    * document.destroy();
    * ```
    */
    style: PdfCheckBoxStyle;
    _setCheckedStatus(value: boolean): void;
    _unCheckOthers(child: PdfStateItem, value: string, isChecked: boolean): void;
    _getItemValue(dictionary: _PdfDictionary): string;
    _doPostProcess(): void;
    _postProcess(value?: string): void;
    _setField(field: PdfField): void;
}
/**
 * `PdfRadioButtonListItem` class represents the radio button field item objects.
 * ```typescript
 * // Load an existing PDF document
 * let document$: PdfDocument = new PdfDocument(data);
 * // Gets the first page of the document
 * let page$: PdfPage = document.getPage(0) as PdfPage;
 * // Access the PDF form
 * let form$: PdfForm = document.form;
 * // Create a new radio button list field
 * let field$: PdfRadioButtonListField = new PdfRadioButtonListField(page, 'Age');
 * // Create and add first item
 * let first$: PdfRadioButtonListItem = field.add('1-9', {x: 100, y: 140, width: 20, height: 20});
 * // Create and add second item
 * let second$: PdfRadioButtonListItem = new PdfRadioButtonListItem('10-49', {x: 100, y: 170, width: 20, height: 20}, page);
 * field.add(second);
 * // Create and add third item
 * let third: PdfRadioButtonListItem = new PdfRadioButtonListItem('50-59', {x: 100, y: 200, width: 20, height: 20}, field);
 * field.add(third);
 * // Sets selected index of the radio button list field
 * field.selectedIndex = 0;
 * // Add the field into PDF form
 * form.add(field);
 * // Save the document
 * document.save('output.pdf');
 * // Destroy the document
 * document.destroy();
 * ```
 */
export  class PdfRadioButtonListItem extends PdfStateItem {
    _optionValue: string;
    /**
     * Initializes a new instance of the `PdfRadioButtonListItem` class.
     *
     * @private
     */
    constructor();
    /**
     * Initializes a new instance of the `PdfRadioButtonListItem` class.
     *
     * @param {string} value Item value.
     * @param {{x: number, y: number, width: number, height: number}} bounds Item bounds.
     * @param {PdfField} field Field object.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data);
     * // Gets the first page of the document
     * let page$: PdfPage = document.getPage(0) as PdfPage;
     * // Access the PDF form
     * let form$: PdfForm = document.form;
     * // Create a new radio button list field
     * let field$: PdfRadioButtonListField = new PdfRadioButtonListField(page, 'Age');
     * // Create and add first item
     * let first$: PdfRadioButtonListItem = field.add('1-9', {x: 100, y: 140, width: 20, height: 20});
     * // Create and add second item
     * let second$: PdfRadioButtonListItem = new PdfRadioButtonListItem('10-49', {x: 100, y: 170, width: 20, height: 20}, page);
     * field.add(second);
     * // Create and add third item
     * let third: PdfRadioButtonListItem = new PdfRadioButtonListItem('50-59', {x: 100, y: 200, width: 20, height: 20}, field);
     * field.add(third);
     * // Sets selected index of the radio button list field
     * field.selectedIndex = 0;
     * // Add the field into PDF form
     * form.add(field);
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    constructor(value: string, bounds: {
        x: number;
        y: number;
        width: number;
        height: number;
    }, field: PdfField);
    /**
     * Initializes a new instance of the `PdfRadioButtonListItem` class.
     *
     * @param {string} value Item value.
     * @param {{x: number, y: number, width: number, height: number}} bounds Item bounds.
     * @param {PdfPage} page Page object.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data);
     * // Gets the first page of the document
     * let page$: PdfPage = document.getPage(0) as PdfPage;
     * // Access the PDF form
     * let form$: PdfForm = document.form;
     * // Create a new radio button list field
     * let field$: PdfRadioButtonListField = new PdfRadioButtonListField(page, 'Age');
     * // Create and add first item
     * let first$: PdfRadioButtonListItem = field.add('1-9', {x: 100, y: 140, width: 20, height: 20});
     * // Create and add second item
     * let second$: PdfRadioButtonListItem = new PdfRadioButtonListItem('10-49', {x: 100, y: 170, width: 20, height: 20}, page);
     * field.add(second);
     * // Create and add third item
     * let third: PdfRadioButtonListItem = new PdfRadioButtonListItem('50-59', {x: 100, y: 200, width: 20, height: 20}, field);
     * field.add(third);
     * // Sets selected index of the radio button list field
     * field.selectedIndex = 0;
     * // Add the field into PDF form
     * form.add(field);
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    constructor(value: string, bounds: {
        x: number;
        y: number;
        width: number;
        height: number;
    }, page: PdfPage);
    /**
     * Parse an existing item of the field.
     *
     * @private
     * @param {_PdfDictionary} dictionary Widget dictionary.
     * @param {_PdfCrossReference} crossReference PDF cross reference.
     * @param {PdfField} field Field object.
     * @returns {PdfRadioButtonListItem} Widget.
     */
    static _load(dictionary: _PdfDictionary, crossReference: _PdfCrossReference, field?: PdfField): PdfRadioButtonListItem;
    /**
     * Gets the flag to indicate whether the field item is selected or not.
     *
     * @returns {boolean} Selected or not.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data);
     * // Gets the first page of the document
     * let page$: PdfPage = document.getPage(0) as PdfPage;
     * // Access the PDF form
     * let form$: PdfForm = document.form;
     * // Create a new radio button list field
     * let field$: PdfRadioButtonListField = new PdfRadioButtonListField(page, 'Age');
     * // Access first list field item
     * let item$: PdfRadioButtonListItem = field.itemAt(0);
     * // Gets the flag to indicate whether the field item is selected or not.
     * let selected: boolean = item.selected;
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    readonly selected: boolean;
    /**
     * Gets the value of the radio button list field item
     *
     * @returns {string} Value of the radio button list field item.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data);
     * // Gets the first page of the document
     * let page$: PdfPage = document.getPage(0) as PdfPage;
     * // Access the PDF form
     * let form$: PdfForm = document.form;
     * // Create a new radio button list field
     * let field$: PdfRadioButtonListField = new PdfRadioButtonListField(page, 'Age');
     * // Access first list field item
     * let item$: PdfRadioButtonListItem = field.itemAt(0);
     * // Gets the value of the radio button list field item
     * let value$: string = item.value;
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Sets the value of the radio button list field item
    *
    * @param {string} option Value of the radio button list field item.
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data);
    * // Gets the first page of the document
    * let page$: PdfPage = document.getPage(0) as PdfPage;
    * // Access the PDF form
    * let form$: PdfForm = document.form;
    * // Create a new radio button list field
    * let field$: PdfRadioButtonListField = new PdfRadioButtonListField(page, 'Age');
    * // Access first list field item
    * let item$: PdfRadioButtonListItem = field.itemAt(0);
    * // Sets the value of the radio button list field item
    * item.value = '1-9';
    * // Save the document
    * document.save('output.pdf');
    * // Destroy the document
    * document.destroy();
    * ```
    */
    value: string;
    /**
     * Gets the back color of the annotation.
     *
     * @returns {number[]} Color as R, G, B color array in between 0 to 255.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Get the first page
     * let page$: PdfPage = document.getPage(0) as PdfPage;
     * // Get the first annotation of the page
     * let annotation$: PdfWidgetAnnotation = page.annotations.at(0) as PdfWidgetAnnotation;
     * // Gets the back color of the annotation
     * let backColor$: number[] = annotation.backColor;
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Sets the back color of the annotation.
    *
    * @param {number[]} value Array with R, G, B, A color values in between 0 to 255. For optional A (0-254), it signifies transparency.
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data);
    * // Gets the first page of the document
    * let page$: PdfPage = document.getPage(0);
    * // Access the PDF form
    * let form$: PdfForm = document.form;
    * // Access the radio button list field
    * let field$: PdfRadioButtonListField = form.fieldAt(0) as PdfRadioButtonListField;
    * // Sets the back color of the radio button list item
    * field.itemAt(0).backColor = [255, 255, 255];
    * // Sets the background color of the field item to transparent
    * field.itemAt(1).backColor = [0, 0, 0, 0];
    * // Save the document
    * document.save('output.pdf');
    * // Destroy the document
    * document.destroy();
    * ```
    */
    backColor: number[];
    _initializeItem(value: string, bounds: {
        x: number;
        y: number;
        width: number;
        height: number;
    }, page: PdfPage, field?: PdfField): void;
    _postProcess(value?: string): void;
}
/**
 * `PdfListBoxItem` class represents the list and combo box field item objects.
 * ```typescript
 * // Load an existing PDF document
 * let document$: PdfDocument = new PdfDocument(data);
 * // Gets the first page of the document
 * let page$: PdfPage = document.getPage(0) as PdfPage;
 * // Access the PDF form
 * let form$: PdfForm = document.form;
 * // Create a new list box field
 * let field$: PdfListBoxField = new PdfListBoxField(page, 'list1', {x: 100, y: 60, width: 100, height: 50});
 * // Add list items to the field.
 * field.addItem(new PdfListFieldItem('English', 'English'));
 * field.addItem(new PdfListFieldItem('French', 'French'));
 * field.addItem(new PdfListFieldItem('German', 'German'));
 * // Sets the selected index
 * field.selectedIndex = 2;
 * // Sets the flag indicates whether the list box allows multiple selections.
 * field.multiSelect = true;
 * // Add the field into PDF form
 * form.add(field);
 * // Save the document
 * document.save('output.pdf');
 * // Destroy the document
 * document.destroy();
 * ```
 */
export  class PdfListFieldItem extends PdfStateItem {
    /**
     * Initializes a new instance of the `PdfListFieldItem` class.
     *
     * @private
     */
    constructor();
    /**
     * Initializes a new instance of the `PdfListFieldItem` class.
     *
     * @param {string} text The text to be displayed.
     * @param {string} value The value of the item.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data);
     * // Gets the first page of the document
     * let page$: PdfPage = document.getPage(0) as PdfPage;
     * // Access the PDF form
     * let form$: PdfForm = document.form;
     * // Create a new list box field
     * let field$: PdfListBoxField = new PdfListBoxField(page, 'list1', {x: 100, y: 60, width: 100, height: 50});
     * // Add list items to the field.
     * field.addItem(new PdfListFieldItem('English', 'English'));
     * field.addItem(new PdfListFieldItem('French', 'French'));
     * field.addItem(new PdfListFieldItem('German', 'German'));
     * // Sets the selected index
     * field.selectedIndex = 2;
     * // Sets the flag indicates whether the list box allows multiple selections.
     * field.multiSelect = true;
     * // Add the field into PDF form
     * form.add(field);
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    constructor(text: string, value: string);
    /**
     * Initializes a new instance of the `PdfListFieldItem` class.
     *
     * @param {string} text The text to be displayed.
     * @param {string} value The value of the item.
     * @param {PdfListBoxField} field The field.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data);
     * // Gets the first page of the document
     * let page$: PdfPage = document.getPage(0) as PdfPage;
     * // Access the PDF form
     * let form$: PdfForm = document.form;
     * // Create a new list box field
     * let field$: PdfListBoxField = new PdfListBoxField(page, 'list1', {x: 100, y: 60, width: 100, height: 50});
     * // Create and add list items to the field.
     * let item$: PdfListFieldItem = new PdfListFieldItem('English', 'English', field);
     * // Add list items to the field.
     * field.addItem(new PdfListFieldItem('French', 'French'));
     * field.addItem(new PdfListFieldItem('German', 'German'));
     * // Sets the selected index
     * field.selectedIndex = 2;
     * // Sets the flag indicates whether the list box allows multiple selections.
     * field.multiSelect = true;
     * // Add the field into PDF form
     * form.add(field);
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    constructor(text: string, value: string, field: PdfListBoxField);
    /**
     * Parse an existing item of the field.
     *
     * @private
     * @param {_PdfDictionary} dictionary Widget dictionary.
     * @param {_PdfCrossReference} crossReference PDF cross reference.
     * @param {PdfField} field Field object.
     * @returns {PdfListFieldItem} Widget.
     */
    static _load(dictionary: _PdfDictionary, crossReference: _PdfCrossReference, field?: PdfField): PdfListFieldItem;
    /**
     * Gets the text of the annotation.
     *
     * @returns {string} Text.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data);
     * // Gets the first page of the document
     * let page$: PdfPage = document.getPage(0) as PdfPage;
     * // Access the PDF form
     * let form$: PdfForm = document.form;
     * // Create a new radio button list field
     * let field$: PdfListBoxField = form.fieldAt(0) as PdfListBoxField;
     * // Access first list field item
     * let item$: PdfListFieldItem = field.itemAt(0);
     * // Gets the text of the list field item
     * let text$: string = item.text;
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Sets the text of the annotation.
    *
    * @param {string} value Text.
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data);
    * // Gets the first page of the document
    * let page$: PdfPage = document.getPage(0) as PdfPage;
    * // Access the PDF form
    * let form$: PdfForm = document.form;
    * // Create a new radio button list field
    * let field$: PdfListBoxField = form.fieldAt(0) as PdfListBoxField;
    * // Access first list field item
    * let item$: PdfListFieldItem = field.itemAt(0);
    * // Sets the text of the list field item
    * item.text = '1-9';
    * // Save the document
    * document.save('output.pdf');
    * // Destroy the document
    * document.destroy();
    * ```
    */
    text: string;
    /**
     * Gets the flag to indicate whether the field item is selected or not (Read only).
     *
     * @returns {boolean} Selected or not.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data);
     * // Gets the first page of the document
     * let page$: PdfPage = document.getPage(0) as PdfPage;
     * // Access the PDF form
     * let form$: PdfForm = document.form;
     * // Create a new radio button list field
     * let field$: PdfListBoxField = form.fieldAt(0) as PdfListBoxField;
     * // Access first list field item
     * let item$: PdfListFieldItem = field.itemAt(0);
     * // Gets the flag to indicate whether the field item is selected or not.
     * let selected: boolean = item.selected;
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    readonly selected: boolean;
    _initializeItem(text: string, value: string, field?: PdfField): void;
}
/**
 * `PdfAnnotationCaption` class represents the caption text and properties of annotations.
 * ```typescript
 * // Load an existing PDF document
 * let document$: PdfDocument = new PdfDocument(data, password);
 * // Get the first page
 * let page$: PdfPage = document.getPage(0) as PdfPage;
 * // Get the first annotation of the page
 * let annotation$: PdfLineAnnotation = page.annotations.at(0) as PdfLineAnnotation;
 * // Create and set annotation caption values
 * annotation.caption = new PdfAnnotationCaption(true, PdfLineCaptionType.inline, [10, 10]);
 * // Destroy the document
 * document.destroy();
 * ```
 */
export  class PdfAnnotationCaption {
    _dictionary: _PdfDictionary;
    _cap: boolean;
    _type: PdfLineCaptionType;
    _offset: Array<number>;
    /**
     * Initializes a new instance of the `PdfAnnotationCaption` class.
     */
    constructor();
    /**
     * Initializes a new instance of the `PdfAnnotationCaption` class.
     *
     * @param {boolean} cap Boolean flag to set caption.
     * @param {PdfLineCaptionType} type Caption type.
     * @param {Array<number>} offset Caption offset.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Get the first page
     * let page$: PdfPage = document.getPage(0) as PdfPage;
     * // Get the first annotation of the page
     * let annotation$: PdfLineAnnotation = page.annotations.at(0) as PdfLineAnnotation;
     * // Create and set annotation caption values
     * annotation.caption = new PdfAnnotationCaption(true, PdfLineCaptionType.inline, [10, 10]);
     * // Destroy the document
     * document.destroy();
     * ```
     */
    constructor(cap: boolean, type: PdfLineCaptionType, offset: Array<number>);
    /**
     * Gets the boolean flag indicating whether annotation has caption or not.
     *
     * @returns {boolean} Caption.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Get the first page
     * let page$: PdfPage = document.getPage(0) as PdfPage;
     * // Get the first annotation of the page
     * let annotation$: PdfLineAnnotation = page.annotations.at(0) as PdfLineAnnotation;
     * // Gets the boolean flag indicating whether annotation has caption or not.
     * let cap: boolean = annotation.caption.cap;
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Sets the boolean flag indicating whether annotation has caption or not.
    *
    * @param {boolean} value Caption.
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data, password);
    * // Get the first page
    * let page$: PdfPage = document.getPage(0) as PdfPage;
    * // Get the first annotation of the page
    * let annotation$: PdfLineAnnotation = page.annotations.at(0) as PdfLineAnnotation;
    * // Sets the boolean flag indicating whether annotation has caption or not.
    * annotation.caption.cap = true;
    * // Destroy the document
    * document.destroy();
    * ```
    */
    cap: boolean;
    /**
     * Gets the caption type of the annotation.
     *
     * @returns {PdfLineCaptionType} Caption type.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Get the first page
     * let page$: PdfPage = document.getPage(0) as PdfPage;
     * // Get the first annotation of the page
     * let annotation$: PdfLineAnnotation = page.annotations.at(0) as PdfLineAnnotation;
     * // Gets the caption type of the annotation.
     * let type$: PdfLineCaptionType = annotation.caption.type;
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Sets the caption type of the annotation.
    *
    * @param {PdfLineCaptionType} value Caption type.
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data, password);
    * // Get the first page
    * let page$: PdfPage = document.getPage(0) as PdfPage;
    * // Get the first annotation of the page
    * let annotation$: PdfLineAnnotation = page.annotations.at(0) as PdfLineAnnotation;
    * // Sets the caption type of the annotation.
    * annotation.caption.type = PdfLineCaptionType.inline;
    * // Destroy the document
    * document.destroy();
    * ```
    */
    type: PdfLineCaptionType;
    /**
     * Gets the offset position of the annotation.
     *
     * @returns {Array<number>} Caption offset.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Get the first page
     * let page$: PdfPage = document.getPage(0) as PdfPage;
     * // Get the first annotation of the page
     * let annotation$: PdfLineAnnotation = page.annotations.at(0) as PdfLineAnnotation;
     * // Gets the offset position of the annotation.
     * let offset: Array<number>= annotation.caption.offset;
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Sets the offset position of the annotation.
    *
    * @param {Array<number>} value Caption offset.
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data, password);
    * // Get the first page
    * let page$: PdfPage = document.getPage(0) as PdfPage;
    * // Get the first annotation of the page
    * let annotation$: PdfLineAnnotation = page.annotations.at(0) as PdfLineAnnotation;
    * // Sets the offset position of the annotation.
    * annotation.caption.offset = [10, 10];
    * // Destroy the document
    * document.destroy();
    * ```
    */
    offset: Array<number>;
}
/**
 * `PdfAnnotationLineEndingStyle` class represents the line ending styles of annotations.
 * ```typescript
 * // Load an existing PDF document
 * let document$: PdfDocument = new PdfDocument(data, password);
 * // Get the first page
 * let page$: PdfPage = document.getPage(0) as PdfPage;
 * // Get the first annotation of the page
 * let annotation$: PdfLineAnnotation = page.annotations.at(0) as PdfLineAnnotation;
 * // Initializes a new instance of the `PdfAnnotationLineEndingStyle` class.
 * annotation.lineEndingStyle = new PdfAnnotationLineEndingStyle(PdfLineEndingStyle.openArrow, PdfLineEndingStyle.closeArrow);
 * // Destroy the document
 * document.destroy();
 * ```
 */
export  class PdfAnnotationLineEndingStyle {
    _dictionary: _PdfDictionary;
    _begin: PdfLineEndingStyle;
    _end: PdfLineEndingStyle;
    _crossReference: _PdfCrossReference;
    /**
     * Initializes a new instance of the `PdfAnnotationLineEndingStyle` class.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Get the first page
     * let page$: PdfPage = document.getPage(0) as PdfPage;
     * // Get the first annotation of the page
     * let annotation$: PdfLineAnnotation = page.annotations.at(0) as PdfLineAnnotation;
     * // Initializes a new instance of the `PdfAnnotationLineEndingStyle` class.
     * let lineEndingStyle = new PdfAnnotationLineEndingStyle();
     * // Sets the begin line ending style of the annotation.
     * lineEndingStyle.begin = PdfLineEndingStyle.openArrow;
     * // Sets the end line ending style of the annotation.
     * lineEndingStyle.end = PdfLineEndingStyle.closeArrow;
     * // Sets the line ending style to the annotation
     * annotation.lineEndingStyle = lineEndingStyle;
     * // Destroy the document
     * document.destroy();
     * ```
     */
    constructor();
    /**
     * Initializes a new instance of the `PdfAnnotationLineEndingStyle` class.
     *
     * @param {PdfLineEndingStyle} begin Begin line ending style.
     * @param {PdfLineEndingStyle} end End line ending style.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Get the first page
     * let page$: PdfPage = document.getPage(0) as PdfPage;
     * // Get the first annotation of the page
     * let annotation$: PdfLineAnnotation = page.annotations.at(0) as PdfLineAnnotation;
     * // Initializes a new instance of the `PdfAnnotationLineEndingStyle` class.
     * annotation.lineEndingStyle = new PdfAnnotationLineEndingStyle(PdfLineEndingStyle.openArrow, PdfLineEndingStyle.closeArrow);
     * // Destroy the document
     * document.destroy();
     * ```
     */
    constructor(begin: PdfLineEndingStyle, end: PdfLineEndingStyle);
    /**
     * Gets the begin line ending style of the annotation.
     *
     * @returns {PdfLineEndingStyle} Begin line ending style.
     * `PdfAnnotationLineEndingStyle` class represents the line ending styles of annotations.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Get the first page
     * let page$: PdfPage = document.getPage(0) as PdfPage;
     * // Get the first annotation of the page
     * let annotation$: PdfLineAnnotation = page.annotations.at(0) as PdfLineAnnotation;
     * // Gets the begin line ending style of the annotation.
     * let begin: PdfLineEndingStyle = annotation.lineEndingStyle.begin;
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Sets the begin line ending style of the annotation.
    *
    * @param {PdfLineEndingStyle} value Begin line ending style.
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data, password);
    * // Get the first page
    * let page$: PdfPage = document.getPage(0) as PdfPage;
    * // Get the first annotation of the page
    * let annotation$: PdfLineAnnotation = page.annotations.at(0) as PdfLineAnnotation;
    * // Initializes a new instance of the `PdfAnnotationLineEndingStyle` class.
    * let lineEndingStyle = new PdfAnnotationLineEndingStyle();
    * // Sets the begin line ending style of the annotation.
    * lineEndingStyle.begin = PdfLineEndingStyle.openArrow;
    * // Sets the end line ending style of the annotation.
    * lineEndingStyle.end = PdfLineEndingStyle.closeArrow;
    * // Sets the line ending style to the annotation
    * annotation.lineEndingStyle = lineEndingStyle;
    * // Destroy the document
    * document.destroy();
    * ```
    */
    begin: PdfLineEndingStyle;
    /**
     * Gets the begin line ending style of the annotation.
     *
     * @returns {PdfLineEndingStyle} End line ending style.
     * `PdfAnnotationLineEndingStyle` class represents the line ending styles of annotations.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Get the first page
     * let page$: PdfPage = document.getPage(0) as PdfPage;
     * // Get the first annotation of the page
     * let annotation$: PdfLineAnnotation = page.annotations.at(0) as PdfLineAnnotation;
     * // Gets the end line ending style of the annotation.
     * let end: PdfLineEndingStyle = annotation.lineEndingStyle.end;
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Sets the begin line ending style of the annotation.
    *
    * @param {PdfLineEndingStyle} value End line ending style.
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data, password);
    * // Get the first page
    * let page$: PdfPage = document.getPage(0) as PdfPage;
    * // Get the first annotation of the page
    * let annotation$: PdfLineAnnotation = page.annotations.at(0) as PdfLineAnnotation;
    * // Initializes a new instance of the `PdfAnnotationLineEndingStyle` class.
    * let lineEndingStyle = new PdfAnnotationLineEndingStyle();
    * // Sets the begin line ending style of the annotation.
    * lineEndingStyle.begin = PdfLineEndingStyle.openArrow;
    * // Sets the end line ending style of the annotation.
    * lineEndingStyle.end = PdfLineEndingStyle.closeArrow;
    * // Sets the line ending style to the annotation
    * annotation.lineEndingStyle = lineEndingStyle;
    * // Destroy the document
    * document.destroy();
    * ```
    */
    end: PdfLineEndingStyle;
}
/**
 * `PdfInteractiveBorder` class represents the border of the field.
 * ```typescript
 * // Load an existing PDF document
 * let document$: PdfDocument = new PdfDocument(data, password);
 * // Get the PDF form field
 * let field$: PdfField = document.form.fieldAt(0);
 * // Gets the width of the field border.
 * let width$: number = field.border.width;
 * // Destroy the document
 * document.destroy();
 * ```
 */
export  class PdfInteractiveBorder {
    _dictionary: _PdfDictionary;
    _width: number;
    _style: PdfBorderStyle;
    _dash: Array<number>;
    _crossReference: _PdfCrossReference;
    /**
     * Initializes a new instance of the `PdfInteractiveBorder` class.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Get the PDF form field
     * let field$: PdfField = document.form.fieldAt(0);
     * // Initializes a new instance of the `PdfInteractiveBorder` class.
     * let border$: PdfInteractiveBorder = new PdfInteractiveBorder();
     * //Sets the width of the annotation border.
     * border.width = 10;
     * //Sets the style of the annotation border.
     * border.style = PdfBorderStyle.dashed;
     * //Sets the dash pattern of the annotation border.
     * border.dash = [1, 2, 1];
     * // Sets the border to the PDF form field
     * field.border = border;
     * // Destroy the document
     * document.destroy();
     * ```
     */
    constructor();
    /**
     * Initializes a new instance of the `PdfInteractiveBorder` class.
     *
     * @param {number} width Border width.
     * @param {PdfBorderStyle} style Border style.
     * @param {Array<number>} dash Dash pattern.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Get the PDF form field
     * let field$: PdfField = document.form.fieldAt(0);
     * // Initializes a new instance of the `PdfInteractiveBorder` class.
     * field.border = new PdfInteractiveBorder(2, PdfBorderStyle.dashed, [1, 2, 1]);
     * // Destroy the document
     * document.destroy();
     * ```
     */
    constructor(width: number, style: PdfBorderStyle, dash: Array<number>);
    /**
     * Gets the width of the field border.
     *
     * @returns {number} border width.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Get the PDF form field
     * let field$: PdfField = document.form.fieldAt(0);
     * // Gets the width of the annotation border.
     * let width$: number = field.border.width;
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Sets the width of the field border.
    *
    * @param {number} value width.
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data, password);
    * // Get the PDF form field
    * let field$: PdfField = document.form.fieldAt(0);
    * // Initializes a new instance of the `PdfInteractiveBorder` class.
    * let border$: PdfInteractiveBorder = new PdfInteractiveBorder();
    * //Sets the width of the annotation border.
    * border.width = 10;
    * //Sets the style of the annotation border.
    * border.style = PdfBorderStyle.dashed;
    * //Sets the dash pattern of the annotation border.
    * border.dash = [1, 2, 1];
    * // Sets the border to the PDF form field
    * field.border = border;
    * // Destroy the document
    * document.destroy();
    * ```
    */
    width: number;
    /**
     * Gets the border line style of the field border.
     *
     * @returns {PdfBorderStyle} Border style.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Get the PDF form field
     * let field$: PdfField = document.form.fieldAt(0);
     * // Gets the border line style of the annotation border.
     * let style$: PdfBorderStyle = field.border.style;
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Sets the border line style of the field border.
    *
    * @param {PdfBorderStyle} value Border style.
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data, password);
    * // Get the PDF form field
    * let field$: PdfField = document.form.fieldAt(0);
    * // Initializes a new instance of the `PdfInteractiveBorder` class.
    * let border$: PdfInteractiveBorder = new PdfInteractiveBorder();
    * //Sets the width of the annotation border.
    * border.width = 10;
    * //Sets the style of the annotation border.
    * border.style = PdfBorderStyle.dashed;
    * //Sets the dash pattern of the annotation border.
    * border.dash = [1, 2, 1];
    * // Sets the border to the PDF form field
    * field.border = border;
    * // Destroy the document
    * document.destroy();
    * ```
    */
    style: PdfBorderStyle;
    /**
     * Gets the dash pattern of the field border.
     *
     * @returns {Array<number>} Dash pattern.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Get the PDF form field
     * let field$: PdfField = document.form.fieldAt(0);
     * // Gets the dash pattern of the field border.
     * let dash: Array<number>= field.border.dash;
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Sets the dash pattern of the field border.
    *
    * @param {Array<number>} value Dash pattern.
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data, password);
    * // Get the PDF form field
    * let field$: PdfField = document.form.fieldAt(0);
    * // Initializes a new instance of the `PdfInteractiveBorder` class.
    * let border$: PdfInteractiveBorder = new PdfInteractiveBorder();
    * //Sets the width of the annotation border.
    * border.width = 10;
    * //Sets the style of the annotation border.
    * border.style = PdfBorderStyle.dashed;
    * //Sets the dash pattern of the annotation border.
    * border.dash = [1, 2, 1];
    * // Sets the border to the PDF form field
    * field.border = border;
    * // Destroy the document
    * document.destroy();
    * ```
    */
    dash: Array<number>;
}
/**
 * `PdfAnnotationBorder` class represents the border properties of annotations.
 * ```typescript
 * // Load an existing PDF document
 * let document$: PdfDocument = new PdfDocument(data, password);
 * // Get the first page
 * let page$: PdfPage = document.getPage(0) as PdfPage;
 * // Get the first annotation of the page
 * let annotation$: PdfLineAnnotation = page.annotations.at(0) as PdfLineAnnotation;
 * // Initializes a new instance of the ` PdfAnnotationBorder ` class.
 * let border$: PdfAnnotationBorder = new PdfAnnotationBorder ();
 * //Sets the width of the annotation border.
 * border.width = 10;
 * //Sets the style of the annotation border.
 * border.style = PdfBorderStyle.dashed;
 * //Sets the dash pattern of the annotation border.
 * border.dash = [1, 2, 1];
 * // Sets the border to the PDF form field
 * annotation.border = border;
 * // Destroy the document
 * document.destroy();
 * ```
 */
export  class PdfAnnotationBorder extends PdfInteractiveBorder {
    _hRadius: number;
    _vRadius: number;
    /**
     * Initializes a new instance of the `PdfAnnotationBorder` class.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Get the first page
     * let page$: PdfPage = document.getPage(0) as PdfPage;
     * // Get the first annotation of the page
     * let annotation$: PdfLineAnnotation = page.annotations.at(0) as PdfLineAnnotation;
     * // Initializes a new instance of the ` PdfAnnotationBorder ` class.
     * let border$: PdfAnnotationBorder = new PdfAnnotationBorder ();
     * //Sets the width of the annotation border.
     * border.width = 10;
     * //Sets the style of the annotation border.
     * border.style = PdfBorderStyle.dashed;
     * //Sets the dash pattern of the annotation border.
     * border.dash = [1, 2, 1];
     * // Sets the border to the PDF form field
     * annotation.border = border;
     * // Destroy the document
     * document.destroy();
     * ```
     */
    constructor();
    /**
     * Initializes a new instance of the `PdfAnnotationBorder` class.
     *
     * @param {number} width Border width.
     * @param {number} hRadius Border horizontal radius.
     * @param {number} vRadius Border vertical radius.
     * @param {PdfBorderStyle} style Border style.
     * @param {Array<number>} dash Dash pattern.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Get the first page
     * let page$: PdfPage = document.getPage(0) as PdfPage;
     * // Get the first annotation of the page
     * let annotation$: PdfLineAnnotation = page.annotations.at(0) as PdfLineAnnotation;
     * // Initializes a new instance of the `PdfAnnotationBorder` class and sets into PDF annotation.
     * annotation.border = new PdfAnnotationBorder(10, 2, 3, PdfBorderStyle.dashed, [1, 2, 1]);
     * // Destroy the document
     * document.destroy();
     * ```
     */
    constructor(width: number, hRadius: number, vRadius: number, style: PdfBorderStyle, dash: Array<number>);
    /**
     * Gets the width of the annotation border.
     *
     * @returns {number} border width.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Get the first page
     * let page$: PdfPage = document.getPage(0) as PdfPage;
     * // Get the first annotation of the page
     * let annotation$: PdfLineAnnotation = page.annotations.at(0) as PdfLineAnnotation;
     * // Gets the width of the annotation border.
     * let width$: number = annotation.border.width;
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Sets the width of the annotation border.
    *
    * @param {number} value width.
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data, password);
    * // Get the first page
    * let page$: PdfPage = document.getPage(0) as PdfPage;
    * // Get the first annotation of the page
    * let annotation$: PdfLineAnnotation = page.annotations.at(0) as PdfLineAnnotation;
    * // Initializes a new instance of the ` PdfAnnotationBorder ` class.
    * let border$: PdfAnnotationBorder = new PdfAnnotationBorder ();
    * //Sets the width of the annotation border.
    * border.width = 10;
    * //Sets the style of the annotation border.
    * border.style = PdfBorderStyle.dashed;
    * //Sets the dash pattern of the annotation border.
    * border.dash = [1, 2, 1];
    * // Sets the border to the PDF form field
    * annotation.border = border;
    * // Destroy the document
    * document.destroy();
    * ```
    */
    width: number;
    /**
     * Gets the horizontal radius of the annotation border.
     *
     * @returns {number} horizontal radius.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Get the first page
     * let page$: PdfPage = document.getPage(0) as PdfPage;
     * // Get the first annotation of the page
     * let annotation$: PdfLineAnnotation = page.annotations.at(0) as PdfLineAnnotation;
     * // Gets the horizontal radius of the annotation border.
     * let hRadius: number = annotation.border.hRadius;
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Sets the horizontal radius of the annotation border.
    *
    * @param {number} value horizontal radius.
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data, password);
    * // Get the first page
    * let page$: PdfPage = document.getPage(0) as PdfPage;
    * // Get the first annotation of the page
    * let annotation$: PdfLineAnnotation = page.annotations.at(0) as PdfLineAnnotation;
    * // Initializes a new instance of the ` PdfAnnotationBorder ` class.
    * let border$: PdfAnnotationBorder = new PdfAnnotationBorder ();
    * //Sets the width of the annotation border.
    * border.width = 10;
    * // Sets the horizontal radius of the annotation border.
    * border.hRadius = 2;
    * //Sets the style of the annotation border.
    * border.style = PdfBorderStyle.dashed;
    * //Sets the dash pattern of the annotation border.
    * border.dash = [1, 2, 1];
    * // Sets the border to the PDF form field
    * annotation.border = border;
    * // Destroy the document
    * document.destroy();
    * ```
    */
    hRadius: number;
    /**
     * Gets the vertical radius of the annotation border.
     *
     * @returns {number} vertical radius.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Get the first page
     * let page$: PdfPage = document.getPage(0) as PdfPage;
     * // Get the first annotation of the page
     * let annotation$: PdfLineAnnotation = page.annotations.at(0) as PdfLineAnnotation;
     * // Gets the vertical radius of the annotation border.
     * let vRadius: number = annotation.border.vRadius;
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Sets the vertical radius of the annotation border.
    *
    * @param {number} value vertical radius.
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data, password);
    * // Get the first page
    * let page$: PdfPage = document.getPage(0) as PdfPage;
    * // Get the first annotation of the page
    * let annotation$: PdfLineAnnotation = page.annotations.at(0) as PdfLineAnnotation;
    * // Initializes a new instance of the ` PdfAnnotationBorder ` class.
    * let border$: PdfAnnotationBorder = new PdfAnnotationBorder ();
    * //Sets the width of the annotation border.
    * border.width = 10;
    * // Sets the vertical radius of the annotation border.
    * border.vRadius = 2;
    * //Sets the style of the annotation border.
    * border.style = PdfBorderStyle.dashed;
    * //Sets the dash pattern of the annotation border.
    * border.dash = [1, 2, 1];
    * // Sets the border to the PDF form field
    * annotation.border = border;
    * // Destroy the document
    * document.destroy();
    * ```
    */
    vRadius: number;
}
/**
 * `PdfBorderEffect` class represents the border effects of annotations.
 * ```typescript
 * // Load an existing PDF document
 * let document$: PdfDocument = new PdfDocument(data, password);
 * // Get the first page
 * let page$: PdfPage = document.getPage(0) as PdfPage;
 * // Get the first annotation of the page
 * let annotation$: PdfSquareAnnotation = page.annotations.at(0) as PdfSquareAnnotation;
 * // Initializes a new instance of the `PdfBorderEffect` class.
 * let borderEffect: PdfBorderEffect = new PdfBorderEffect();
 * // Sets the intensity of the annotation border.
 * borderEffect.intensity = 2;
 * // Sets the effect style of the annotation border.
 * borderEffect.style = PdfBorderEffectStyle.cloudy;
 * // Sets border effect to the annotation.
 * annotation.borderEffect = borderEffect;
 * // Destroy the document
 * document.destroy();
 * ```
 */
export  class PdfBorderEffect {
    _dictionary: _PdfDictionary;
    _intensity: number;
    _style: PdfBorderEffectStyle;
    _crossReference: _PdfCrossReference;
    /**
     * Initializes a new instance of the `PdfBorderEffect` class.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Get the first page
     * let page$: PdfPage = document.getPage(0) as PdfPage;
     * // Get the first annotation of the page
     * let annotation$: PdfSquareAnnotation = page.annotations.at(0) as PdfSquareAnnotation;
     * // Initializes a new instance of the `PdfBorderEffect` class.
     * let borderEffect: PdfBorderEffect = new PdfBorderEffect();
     * // Sets the intensity of the annotation border.
     * borderEffect.intensity = 2;
     * // Sets the effect style of the annotation border.
     * borderEffect.style = PdfBorderEffectStyle.cloudy;
     * // Sets border effect to the annotation.
     * annotation.borderEffect = borderEffect;
     * // Destroy the document
     * document.destroy();
     * ```
     */
    constructor();
    /**
     * Initializes a new instance of the `PdfBorderEffect` class.
     *
     * @private
     * @param {_PdfDictionary} dictionary Border effect dictionary.
     */
    constructor(dictionary: _PdfDictionary);
    /**
     * Gets the intensity of the annotation border.
     *
     * @returns {number} intensity.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Get the first page
     * let page$: PdfPage = document.getPage(0) as PdfPage;
     * // Get the first annotation of the page
     * let annotation$: PdfSquareAnnotation = page.annotations.at(0) as PdfSquareAnnotation;
     * // Gets the intensity of the annotation border.
     * let intensity: number = annotation.borderEffect.intensity;
     * // Gets the effect style of the annotation border.
     * let style$: PdfBorderEffectStyle = annotation.borderEffect.style;
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Sets the intensity of the annotation border.
    *
    * @param {number} value intensity.
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data, password);
    * // Get the first page
    * let page$: PdfPage = document.getPage(0) as PdfPage;
    * // Get the first annotation of the page
    * let annotation$: PdfSquareAnnotation = page.annotations.at(0) as PdfSquareAnnotation;
    * // Initializes a new instance of the `PdfBorderEffect` class.
    * let borderEffect: PdfBorderEffect = new PdfBorderEffect();
    * // Sets the intensity of the annotation border.
    * borderEffect.intensity = 2;
    * // Sets the effect style of the annotation border.
    * borderEffect.style = PdfBorderEffectStyle.cloudy;
    * // Sets border effect to the annotation.
    * annotation.borderEffect = borderEffect;
    * // Destroy the document
    * document.destroy();
    * ```
    */
    intensity: number;
    /**
     * Gets the effect style of the annotation border.
     *
     * @returns {PdfBorderEffectStyle} effect style.
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Get the first page
     * let page$: PdfPage = document.getPage(0) as PdfPage;
     * // Get the first annotation of the page
     * let annotation$: PdfSquareAnnotation = page.annotations.at(0) as PdfSquareAnnotation;
     * // Gets the intensity of the annotation border.
     * let intensity: number = annotation.borderEffect.intensity;
     * // Gets the effect style of the annotation border.
     * let style$: PdfBorderEffectStyle = annotation.borderEffect.style;
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Sets the effect style of the annotation border.
    *
    * @param {PdfBorderEffectStyle} value effect style.
    * ```typescript
    * // Load an existing PDF document
    * let document$: PdfDocument = new PdfDocument(data, password);
    * // Get the first page
    * let page$: PdfPage = document.getPage(0) as PdfPage;
    * // Get the first annotation of the page
    * let annotation$: PdfSquareAnnotation = page.annotations.at(0) as PdfSquareAnnotation;
    * // Initializes a new instance of the `PdfBorderEffect` class.
    * let borderEffect: PdfBorderEffect = new PdfBorderEffect();
    * // Sets the intensity of the annotation border.
    * borderEffect.intensity = 2;
    * // Sets the effect style of the annotation border.
    * borderEffect.style = PdfBorderEffectStyle.cloudy;
    * // Sets border effect to the annotation.
    * annotation.borderEffect = borderEffect;
    * // Destroy the document
    * document.destroy();
    * ```
    */
    style: PdfBorderEffectStyle;
    _getBorderEffect(value: string): PdfBorderEffectStyle;
    _styleToEffect(value: PdfBorderEffectStyle): string;
}
export  class _PaintParameter {
    borderPen: PdfPen;
    backBrush: PdfBrush;
    foreBrush: PdfBrush;
    shadowBrush: PdfBrush;
    borderWidth: number;
    bounds: number[];
    borderStyle: PdfBorderStyle;
    rotationAngle: number;
    pageRotationAngle: PdfRotationAngle;
    insertSpaces: boolean;
    required: boolean;
    isAutoFontSize: boolean;
    stringFormat: PdfStringFormat;
    constructor();
}
//node_modules/@syncfusion/ej2-pdf/src/pdf/core/annotations/annotation-collection.d.ts
/**
 * The class provides methods and properties to handle the collection of `PdfAnnotation`.
 * ```typescript
 * // Load an existing PDF document
 * let document$: PdfDocument = new PdfDocument(data);
 * // Access annotation coolection from first page
 * let annotations$: PdfAnnotationCollection = document.getPage(0).annotations;
 * // Save the document
 * document.save('output.pdf');
 * // Destroy the document
 * document.destroy();
 * ```
 */
export  class PdfAnnotationCollection {
    _annotations: Array<_PdfReference>;
    _comments: Array<PdfPopupAnnotation>;
    _parsedAnnotations: Map<number, PdfAnnotation>;
    _isExport: boolean;
    private _page;
    private _crossReference;
    /**
     * Represents a annotation collection.
     *
     * @private
     * @param {Array<_PdfReference>} array Annotation references.
     * @param {_PdfCrossReference} xref Cross reference object.
     * @param {PdfPage} page PDF page object.
     */
    constructor(array: Array<_PdfReference>, xref: _PdfCrossReference, page: PdfPage);
    /**
     * Gets the annotation count (Read only).
     *
     * @returns {number} Number of annotations.
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Access first page
     * let page$: PdfPage = document.getPage(0);
     * // Gets the annotation count
     * let count$: number = page.annotations.count;
     * // Destroy the document
     * document.destroy();
     * ```
     */
    readonly count: number;
    /**
     * Gets the `PdfAnnotation` at the specified index.
     *
     * @param {number} index Field index.
     * @returns {PdfAnnotation} Annotation at the specified index.
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Access first page
     * let page$: PdfPage = document.getPage(0);
     * // Access the annotation at index 0
     * let annotation$: PdfAnnotation = page.annotations.at(0);
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    at(index: number): PdfAnnotation;
    /**
     * Add a new `PdfAnnotation` into the collection.
     *
     * @param {PdfAnnotation} annotation Annotation to add.
     * @returns {number} Annotation index.
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Access first page
     * let page$: PdfPage = document.getPage(0);
     * // Add a new annotation into the collection
     * page.annotations.add(annotation);
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    add(annotation: PdfAnnotation): number;
    /**
     * Remove an annotation from the collection.
     *
     * @param {PdfAnnotation} annotation Annotation to remove.
     * @returns {void} Nothing.
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data);
     * // Access first page
     * let page$: PdfPage = document.getPage(0);
     * // Access first annotation from the PDF page
     * let annotation$: PdfAnnotation = page.annotations.at(0);
     * // Remove an annotation from the collection
     * page.annotations.remove(annotation);
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    remove(annotation: PdfAnnotation): void;
    /**
     * Remove an annotation from the collection at the specified index.
     *
     * @param {number} index Annotation index.
     * @returns {void} Nothing.
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data);
     * // Access first page
     * let page$: PdfPage = document.getPage(0);
     * // Remove an annotation from the collection
     * page.annotations.removeAt(0);
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    removeAt(index: number): void;
    _reorderParsedAnnotations(index: number): void;
    _updateCustomAppearanceResource(annotation: PdfAnnotation): void;
    _addCommentsAndReview(annotation: PdfComment, flag: number): void;
    _updateChildReference(annotation: PdfComment, collection: PdfPopupAnnotationCollection, flag: number): void;
    _getAnnotations(): void;
    _isPopupWithExternalParent(dictionary: _PdfDictionary): boolean;
    _parseAnnotation(dictionary: _PdfDictionary, index?: number): PdfAnnotation;
    _getLinkAnnotation(dictionary: _PdfDictionary): PdfFileLinkAnnotation | PdfUriAnnotation;
    _hasValidBorder(border: number[]): boolean;
    _doPostProcess(isFlatten: boolean): void;
    _reArrange(ref: _PdfReference, tabIndex: number, index: number): _PdfReference[];
    _clear(): void;
}
/**
 * Represents the collection of `PdfPopupAnnotation`
 * ```typescript
 * // Load an existing PDF document
 * let document$: PdfDocument = new PdfDocument(data);
 * // Access annotation collection from first page
 * let annotations$: PdfRectangleAnnotation = document.getPage(0).annotations;
 * // Gets the comments of annotation
 * let comments$: PdfPopupAnnotationCollection = annotation.comments;
 * // Save the document
 * document.save('output.pdf');
 * // Destroy the document
 * document.destroy();
 * ```
 */
export  class PdfPopupAnnotationCollection {
    _isReview: boolean;
    _annotation: PdfAnnotation;
    _parentDictionary: _PdfDictionary;
    _collection: PdfPopupAnnotation[];
    _page: PdfPage;
    _lastParentReference: _PdfReference;
    /**
     * Initializes a new instance of the `PdfPopupAnnotationCollection` class
     *
     * @private
     * @param {PdfAnnotation} annotation Annotation reference
     * @param {boolean} isReview Boolean flag to set review
     */
    constructor(annotation: PdfAnnotation, isReview: boolean);
    /**
     * Gets the annotation count (Read only).
     *
     * @private
     * @returns {number} Number of annotations
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data);
     * // Access annotation collection from first page
     * let annotations$: PdfRectangleAnnotation = document.getPage(0).annotations;
     * // Gets the comments of annotation
     * let comments$: PdfPopupAnnotationCollection = annotation.comments;
     * // Gets the count of comments
     * let count$: number = comments.count;
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    readonly count: number;
    /**
     * Gets the popup annotation at the specified index.
     *
     * @private
     * @param {number} index Index of the annotation
     * @returns {number} Annotation at the specified index
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data);
     * // Access annotation collection from first page
     * let annotations$: PdfRectangleAnnotation = document.getPage(0).annotations;
     * // Gets the comments of annotation
     * let comments$: PdfPopupAnnotationCollection = annotation.comments;
     * // Gets the first comment
     * let comment$: PdfPopupAnnotation = comments.at(0);
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    at(index: number): PdfPopupAnnotation;
    /**
     * Add a new popup annotation into the collection
     *
     * @param {PdfPopupAnnotation} annotation Annotation to add
     * @returns {void} Nothing
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data, password);
     * // Access first page
     * let page$: PdfPage = document.getPage(0);
     * // Create a new popup annotation
     * const popupAnnotation: PdfPopupAnnotation = new PdfPopupAnnotation('Test popup annotation', 10, 40, 30, 30);
     * popupAnnotation.author = 'Syncfusion';
     * // Add a new popup annotation into the collection
     * annotation.comments.add(popupAnnotation);
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    add(annotation: PdfPopupAnnotation): void;
    /**
     * Remove an annotation from the collection
     *
     * @param {PdfPopupAnnotation} annotation Annotation to remove
     * @returns {void} Nothing
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data);
     * // Access annotation collection from first page
     * let annotations$: PdfRectangleAnnotation = document.getPage(0).annotations;
     * // Gets the comments of annotation
     * let comments$: PdfPopupAnnotationCollection = annotation.comments;
     * // Gets the first comment
     * let comment$: PdfPopupAnnotation = comments.at(0);
     * // Remove the comment
     * comments.remove(comment);
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    remove(annotation: PdfPopupAnnotation): void;
    /**
     * Remove an annotation from the collection at the specified index
     *
     * @param {number} index Annotation index to remove
     * @returns {void} Nothing
     *
     * ```typescript
     * // Load an existing PDF document
     * let document$: PdfDocument = new PdfDocument(data);
     * // Access annotation collection from first page
     * let annotations$: PdfRectangleAnnotation = document.getPage(0).annotations;
     * // Gets the comments of annotation
     * let comments$: PdfPopupAnnotationCollection = annotation.comments;
     * // Remove the first comment
     * comments.removeAt(0);
     * // Save the document
     * document.save('output.pdf');
     * // Destroy the document
     * document.destroy();
     * ```
     */
    removeAt(index: number): void;
    _parseCommentsOrReview(): void;
    _parseReview(): void;
    _parseComments(): void;
}
 }
export namespace pdfExport { 

//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/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-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-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-clonable.d.ts
/**
 * `ICloneable.ts` interface for EJ2-PDF
 * Defines the basic interace of the various Cloneable.
 * @private
 */
export interface ICloneable {
    /**
     * Creates a `deep copy` of the IPdfPrimitive object.
     * @private
     */
    clone(): ICloneable;
}
//node_modules/@syncfusion/ej2-pdf-export/src/interfaces/i-pdf-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-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/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/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
     */
    _gridLocation: RectangleF;
    /**
     * @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/pdf-grid-row.d.ts
/**
 * PdfGridRow.ts class for EJ2-PDF
 */
/**
 * `PdfGridRow` class provides customization of the settings for the particular row.
 */
export  class PdfGridRow {
    /**
     * `Cell collecton` of the current row..
     * @private
     */
    private gridCells;
    /**
     * Stores the current `grid`.
     * @private
     */
    private pdfGrid;
    /**
     * The grid row `style`.
     * @private
     */
    private rowStyle;
    /**
     * Stores the row `break height`.
     * @private
     */
    private gridRowBreakHeight;
    /**
     * Stores the index of the overflowing row.
     * @private
     */
    private gridRowOverflowIndex;
    /**
     * The `height` of the row.
     * @private
     */
    private rowHeight;
    /**
     * The `width` of the row.
     * @private
     */
    private rowWidth;
    /**
     * The `isFinish` of the row.
     * @private
     */
    isrowFinish: boolean;
    /**
     * Check whether the Row span row height `is set explicitly`.
     * @default false
     * @public
     */
    isRowSpanRowHeightSet: boolean;
    /**
     * The grid row `Layout Result`.
     * @private
     */
    private gridResult;
    /**
     * The `Maximum span` of the row.
     * @public
     */
    maximumRowSpan: number;
    /**
     * The `page count` of the row.
     * @public
     */
    noOfPageCount: number;
    /**
     * Check whether the row height `is set explicitly`.
     * @default false
     * @private
     */
    isRowHeightSet: boolean;
    isRowBreaksNextPage: boolean;
    rowBreakHeightValue: number;
    isPageBreakRowSpanApplied: boolean;
    /**
     * Checks whether the `columns span is exist or not`.
     * @private
     */
    private bColumnSpanExists;
    /**
     * Check weather the row merge `is completed` or not.
     * @default true
     * @private
     */
    private isRowMergeComplete;
    /**
     * Checks whether the `row span is exist or not`.
     * @private
     */
    private bRowSpanExists;
    repeatFlag: boolean;
    repeatRowNumber: number;
    rowFontSplit: boolean;
    isHeaderRow: boolean;
    /**
     * Initializes a new instance of the `PdfGridRow` class with the parent grid.
     * @private
     */
    constructor(grid: PdfGrid);
    /**
     * Gets or sets a value indicating [`row span exists`].
     * @private
     */
    rowSpanExists: boolean;
    /**
     * Gets the `cells` from the selected row.[Read-Only].
     * @private
     */
    readonly cells: PdfGridCellCollection;
    /**
     * Gets or sets the parent `grid`.
     * @private
     */
    grid: PdfGrid;
    /**
     * Gets or sets the row `style`.
     * @private
     */
    style: PdfGridRowStyle;
    /**
     * `Height` of the row yet to be drawn after split.
     * @private
     */
    rowBreakHeight: number;
    /**
     * `over flow index` of the row.
     * @private
     */
    rowOverflowIndex: number;
    /**
     * Gets or sets the `height` of the row.
     * @private
     */
    height: number;
    /**
     * Gets or sets the `width` of the row.
     * @private
     */
    readonly width: number;
    /**
     * Gets or sets the row `Nested grid Layout Result`.
     * @private
     */
    NestedGridLayoutResult: PdfLayoutResult;
    /**
     * Gets or sets a value indicating [`column span exists`].
     * @private
     */
    columnSpanExists: boolean;
    /**
     * Check whether the Row `has row span or row merge continue`.
     * @private
     */
    rowMergeComplete: boolean;
    /**
     * Returns `index` of the row.
     * @private
     */
    readonly rowIndex: number;
    /**
     * `Calculates the height`.
     * @private
     */
    private measureHeight;
    private measureWidth;
}
/**
 * `PdfGridRowCollection` class provides access to an ordered, strongly typed collection of 'PdfGridRow' objects.
 * @private
 */
export  class PdfGridRowCollection {
    /**
     * @hidden
     * @private
     */
    private grid;
    /**
     * The row collection of the `grid`.
     * @private
     */
    private rows;
    /**
     * Initializes a new instance of the `PdfGridRowCollection` class with the parent grid.
     * @private
     */
    constructor(grid: PdfGrid);
    /**
     * Gets the number of header in the `PdfGrid`.[Read-Only].
     * @private
     */
    readonly count: number;
    /**
     * Return the row collection of the `grid`.
     * @private
     */
    readonly rowCollection: PdfGridRow[];
    /**
     * `Adds` the specified row.
     * @private
     */
    addRow(): PdfGridRow;
    /**
     * `Adds` the specified row.
     * @private
     */
    addRow(row: PdfGridRow): void;
    /**
     * Return the row by index.
     * @private
     */
    getRow(index: number): PdfGridRow;
}
/**
 * `PdfGridHeaderCollection` class provides customization of the settings for the header.
 * @private
 */
export  class PdfGridHeaderCollection {
    /**
     * The `grid`.
     * @private
     */
    private grid;
    /**
     * The array to store the `rows` of the grid header.
     * @private
     */
    private rows;
    /**
     * Initializes a new instance of the `PdfGridHeaderCollection` class with the parent grid.
     * @private
     */
    constructor(grid: PdfGrid);
    /**
     * Gets a 'PdfGridRow' object that represents the `header` row in a 'PdfGridHeaderCollection' control.[Read-Only].
     * @private
     */
    getHeader(index: number): PdfGridRow;
    /**
     * Gets the `number of header` in the 'PdfGrid'.[Read-Only]
     * @private
     */
    readonly count: number;
    /**
     * `Adds` the specified row.
     * @private
     */
    add(row: PdfGridRow): void;
    /**
     * `Adds` the specified row.
     * @private
     */
    add(count: number): PdfGridRow[];
    indexOf(row: PdfGridRow): number;
}
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/structured-elements/grid/pdf-grid-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-cell.d.ts
/**
 * `PdfGridCell.ts` class for EJ2-PDF
 */
/**
 * `PdfGridCell` class represents the schema of a cell in a 'PdfGrid'.
 */
export  class PdfGridCell {
    _rowHeight: number;
    /**
     * 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/styles/style.d.ts
/**
 * PdfGridStyleBase.ts class for EJ2-PDF
 */
/**
 * Base class for the `grid style`,
 */
export  abstract class PdfGridStyleBase {
    /**
     * @hidden
     * @private
     */
    private gridBackgroundBrush;
    /**
     * @hidden
     * @private
     */
    private gridTextBrush;
    /**
     * @hidden
     * @private
     */
    private gridTextPen;
    /**
     * @hidden
     * @private
     */
    private gridFont;
    /**
     * @hidden
     * @private
     */
    private gridBackgroundImage;
    /**
     * Gets or sets the `background brush`.
     * @private
     */
    backgroundBrush: PdfBrush;
    /**
     * Gets or sets the `text brush`.
     * @private
     */
    textBrush: PdfBrush;
    /**
     * Gets or sets the `text pen`.
     * @private
     */
    textPen: PdfPen;
    /**
     * Gets or sets the `font`.
     * @private
     */
    font: PdfFont;
    /**
     * Gets or sets the `background Image`.
     * @private
     */
    backgroundImage: PdfImage;
}
/**
 * `PdfGridStyle` class provides customization of the appearance for the 'PdfGrid'.
 */
export  class PdfGridStyle extends PdfGridStyleBase {
    /**
     * @hidden
     * @private
     */
    private gridBorderOverlapStyle;
    /**
     * @hidden
     * @private
     */
    private gridHorizontalOverflowType;
    /**
     * @hidden
     * @private
     */
    private bAllowHorizontalOverflow;
    /**
     * @hidden
     * @private
     */
    private gridCellPadding;
    /**
     * @hidden
     * @private
     */
    private gridCellSpacing;
    /**
     * Initialize a new instance for `PdfGridStyle` class.
     * @private
     */
    constructor();
    /**
     * Gets or sets the `cell spacing` of the 'PdfGrid'.
     * @private
     */
    cellSpacing: number;
    /**
     * Gets or sets the type of the `horizontal overflow` of the 'PdfGrid'.
     * @private
     */
    horizontalOverflowType: PdfHorizontalOverflowType;
    /**
     * Gets or sets a value indicating whether to `allow horizontal overflow`.
     * @private
     */
    allowHorizontalOverflow: boolean;
    /**
     * Gets or sets the `cell padding`.
     * @private
     */
    cellPadding: PdfPaddings;
    /**
     * Gets or sets the `border overlap style` of the 'PdfGrid'.
     * @private
     */
    borderOverlapStyle: PdfBorderOverlapStyle;
}
/**
 * `PdfGridCellStyle` class provides customization of the appearance for the 'PdfGridCell'.
 */
export  class PdfGridCellStyle extends PdfGridStyleBase {
    /**
     * @hidden
     * @private
     */
    private gridCellBorders;
    /**
     * @hidden
     * @private
     */
    private gridCellPadding;
    /**
     * @hidden
     * @private
     */
    private format;
    /**
     * Gets the `string format` of the 'PdfGridCell'.
     * @private
     */
    stringFormat: PdfStringFormat;
    /**
     * Gets or sets the `border` of the 'PdfGridCell'.
     * @private
     */
    borders: PdfBorders;
    /**
     * Gets or sets the `cell padding`.
     * @private
     */
    cellPadding: PdfPaddings;
    /**
     * Initializes a new instance of the `PdfGridCellStyle` class.
     * @private
     */
    constructor();
}
/**
 * `PdfGridRowStyle` class provides customization of the appearance for the `PdfGridRow`.
 */
export  class PdfGridRowStyle {
    /**
     * @hidden
     * @private
     */
    private gridRowBackgroundBrush;
    /**
     * @hidden
     * @private
     */
    private gridRowTextBrush;
    /**
     * @hidden
     * @private
     */
    private gridRowTextPen;
    /**
     * @hidden
     * @private
     */
    private gridRowFont;
    /**
     * Specifies the `border` value of the current row.
     * @private
     */
    private gridRowBorder;
    /**
     * Specifies the `parent row` of the current object.
     * @private
     */
    private parent;
    /**
     * @hidden
     * @private
     */
    private gridRowBackgroundImage;
    /**
     * Gets or sets the `background brush`.
     * @private
     */
    readonly backgroundBrush: PdfBrush;
    setBackgroundBrush(value: PdfBrush): void;
    /**
     * Gets or sets the `text brush`.
     * @private
     */
    readonly textBrush: PdfBrush;
    setTextBrush(value: PdfBrush): void;
    /**
     * Gets or sets the `text pen`.
     * @private
     */
    readonly textPen: PdfPen;
    setTextPen(value: PdfPen): void;
    /**
     * Gets or sets the `font`.
     * @private
     */
    readonly font: PdfFont;
    setFont(value: PdfFont): void;
    /**
     * Gets or sets the `border` of the current row.
     * @private
     */
    readonly border: PdfBorders;
    setBorder(value: PdfBorders): void;
    /**
     * sets the `parent row` of the current object.
     * @private
     */
    setParent(parent: PdfGridRow): void;
    /**
     * Gets or sets the `backgroundImage` of the 'PdfGridCell'.
     * @private
     */
    readonly backgroundImage: PdfImage;
    /**
     * sets the `backgroundImage` of the 'PdfGridCell'.
     * @private
     */
    setBackgroundImage(value: PdfImage): void;
    /**
     * Initializes a new instance of the `PdfGridRowStyle` class.
     * @private
     */
    constructor();
}
/**
 * public Enum for `PdfHorizontalOverflowType`.
 * @private
 */
export  enum PdfHorizontalOverflowType {
    /**
     * Specifies the type of `NextPage`.
     * @private
     */
    NextPage = 0,
    /**
     * Specifies the type of `LastPage`.
     * @private
     */
    LastPage = 1
}
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/structured-elements/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/layout/grid-layouter.d.ts
/**
 * Class `lay outing the text`.
 *
 */
export  class PdfGridLayouter extends ElementLayouter {
    /**
     * `Text` data.
     * @private
     */
    private text;
    /**
     * Pdf `font`.
     * @private
     */
    private font;
    /**
     * String `format`.
     * @private
     */
    private format;
    /**
     * `Size` of the text.
     * @private
     */
    private gridColumns;
    /**
     * @hidden
     * @private
     */
    private gridRows;
    /**
     * @hidden
     * @private
     */
    private gridHeaders;
    /**
     * @hidden
     * @private
     */
    private gridInitialWidth;
    /**
     * @hidden
     * @private
     */
    isComplete: boolean;
    /**
     * @hidden
     * @private
     */
    private gridSize;
    private parentCell;
    private parentCellIndex;
    tempWidth: number;
    private childheight;
    /**
     * The event raised on `starting cell drawing`.
     * @event
     * @private
     */
    beginCellDraw: Function;
    /**
     * The event raised on `ending cell drawing`.
     * @event
     * @private
     */
    endCellDraw: Function;
    /**
     * The event raised on `begin cell lay outing`.
     * @event
     * @private
     */
    beginPageLayout: Function;
    /**
     * The event raised on `end cell lay outing`.
     * @event
     * @private
     */
    endPageLayout: Function;
    /**
     * @hidden
     * @private
     */
    /**
     * @hidden
     * @private
     */
    private gridLocation;
    /**
     * @hidden
     * @private
     */
    private gridStyle;
    /**
     * @hidden
     * @private
     */
    private pageWidth;
    /**
     * Check weather it is `child grid or not`.
     * @private
     */
    private isChildGrid;
    /**
     * @hidden
     * @private
     */
    rowLayoutBoundsWidth: number;
    /**
     * @hidden
     * @private
     */
    hasRowSpanSpan: boolean;
    /**
     * @hidden
     * @private
     */
    isRearranged: boolean;
    /**
     * @hidden
     * @private
     */
    private bRepeatHeader;
    /**
     * @hidden
     * @private
     */
    private pageBounds;
    /**
     * @hidden
     * @private
     */
    private currentPage;
    /**
     * @hidden
     * @private
     */
    private currentPageBounds;
    /**
     * @hidden
     * @private
     */
    private currentBounds;
    /**
     * @hidden
     * @private
     */
    private listOfNavigatePages;
    /**
     * @hidden
     * @private
     */
    private startLocation;
    /**
     * @hidden
     * @private
     */
    private hType;
    /**
     * @hidden
     * @private
     */
    private flag;
    /**
     * @hidden
     * @private
     */
    private columnRanges;
    /**
     * @hidden
     * @private
     */
    private cellStartIndex;
    /**
     * @hidden
     * @private
     */
    private cellEndIndex;
    /**
     * @hidden
     * @private
     */
    private currentRowIndex;
    /**
     * @hidden
     * @private
     */
    static repeatRowIndex: number;
    /**
     * @hidden
     * @private
     */
    private isChanged;
    /**
     * @hidden
     * @private
     */
    private currentLocation;
    /**
     * @hidden
     * @private
     */
    private breakRow;
    /**
     * @hidden
     * @private
     */
    private rowBreakPageHeightCellIndex;
    private slr;
    private remainderText;
    private isPaginate;
    /**
     * Initialize a new instance for `PdfGrid` class.
     * @private
     */
    constructor(baseFormat: PdfGrid);
    readonly Grid: PdfGrid;
    /**
     * `Bounds` of the text.
     * @private
     */
    private rectangle;
    /**
     * Pdf page `height`.
     * @private
     */
    private gridHeight;
    /**
     * Specifies if [`isTabReplaced`].
     * @private
     */
    private isTabReplaced;
    /**
     * `currentGraphics` of the text.
     * @private
     */
    private currentGraphics;
    /**
     * Count of tab `occurance`.
     * @private
     */
    private tabOccuranceCount;
    /**
     * Checks whether the x co-ordinate is need to set as client size or not.
     * @hidden
     * @private
     */
    private isOverloadWithPosition;
    /**
     * Stores client size of the page if the layout method invoked with `PointF` overload.
     * @hidden
     * @private
     */
    private clientSize;
    private gridLayoutFormat;
    private isHeader;
    /**
     * Initializes a new instance of the `StringLayouter` class.
     * @private
     */
    /**
     * `Layouts` the text.
     * @private
     */
    /**
     * `Layouts` the specified graphics.
     * @private
     */
    /**
     * `Layouts` the specified graphics.
     * @private
     */
    /**
     * Gets the `format`.
     * @private
     */
    private getFormat;
    /**
     * `Layouts` the element.
     * @private
     */
    protected layoutInternal(param: PdfLayoutParams): PdfLayoutResult;
    /**
     * `Determines the column draw ranges`.
     * @private
     */
    private determineColumnDrawRanges;
    /**
     * `Layouts the on page`.
     * @private
     */
    private layoutOnPage;
    private checkIsFisished;
    /**
     * Gets the `next page`.
     * @private
     */
    getNextPageformat(format: PdfLayoutFormat): PdfPage;
    private CheckIfDefaultFormat;
    /**
     * `Raises BeforeCellDraw event`.
     * @private
     */
    private RaiseBeforeCellDraw;
    /**
     * `Raises AfterCellDraw event`.
     * @private
     */
    private raiseAfterCellDraw;
    private reArrangePages;
    /**
     * Gets the `layout result`.
     * @private
     */
    private getLayoutResult;
    /**
     * `Recalculate row height` for the split cell to be drawn.
     * @private
     */
    ReCalculateHeight(row: PdfGridRow, height: number): number;
    /**
     * `Raises BeforePageLayout event`.
     * @private
     */
    private raiseBeforePageLayout;
    /**
     * `Raises PageLayout event` if needed.
     * @private
     */
    private raisePageLayouted;
    private drawRow;
    private isFitToCell;
    /**
     * `Draws row`
     * @private
     */
    private drawRowWithBreak;
}
/**
 * `Initializes` internal data.
 * @private
 */
export  class PdfGridLayoutResult extends PdfLayoutResult {
    /**
     * Constructor
     * @private
     */
    constructor(page: PdfPage, bounds: RectangleF);
}
/**
 * `PdfGridLayoutFormat` class represents a flexible grid that consists of columns and rows.
 */
export  class PdfGridLayoutFormat extends PdfLayoutFormat {
    /**
     * Initializes a new instance of the `PdfGridLayoutFormat` class.
     * @private
     */
    constructor();
    /**
     * Initializes a new instance of the `PdfGridLayoutFormat` class.
     * @private
     */
    constructor(baseFormat: PdfLayoutFormat);
}
export  abstract class GridCellEventArgs {
    /**
     * @hidden
     * @private
     */
    private gridRowIndex;
    /**
     * @hidden
     * @private
     */
    private gridCellIndex;
    /**
     * @hidden
     * @private
     */
    private internalValue;
    /**
     * @hidden
     * @private
     */
    private gridBounds;
    /**
     * @hidden
     * @private
     */
    private pdfGraphics;
    /**
     * Gets the value of current `row index`.
     * @private
     */
    readonly rowIndex: number;
    /**
     * Gets the value of current `cell index`.
     * @private
     */
    readonly cellIndex: number;
    /**
     * Gets the actual `value` of current cell.
     * @private
     */
    readonly value: string;
    /**
     * Gets the `bounds` of current cell.
     * @private
     */
    readonly bounds: RectangleF;
    /**
     * Gets the instance of `current graphics`.
     * @private
     */
    readonly graphics: PdfGraphics;
    /**
     * Initialize a new instance for `GridCellEventArgs` class.
     * @private
     */
    constructor(graphics: PdfGraphics, rowIndex: number, cellIndex: number, bounds: RectangleF, value: string);
}
export  class PdfGridBeginCellDrawEventArgs extends GridCellEventArgs {
    /**
     * @hidden
     * @private
     */
    private bSkip;
    /**
     * @hidden
     * @private
     */
    private cellStyle;
    /**
     * Gets or sets a value indicating whether the value of this cell should be `skipped`.
     * @private
     */
    skip: boolean;
    /**
     * Gets or sets a `style` value of the cell.
     * @private
     */
    style: PdfGridCellStyle;
    /**
     * Initializes a new instance of the `StartCellLayoutEventArgs` class.
     * @private
     */
    constructor(graphics: PdfGraphics, rowIndex: number, cellIndex: number, bounds: RectangleF, value: string, style: PdfGridCellStyle);
}
export  class PdfGridEndCellDrawEventArgs extends GridCellEventArgs {
    /**
     * @hidden
     * @private
     */
    private cellStyle;
    /**
     * Get the `PdfGridCellStyle`.
     * @private
     */
    readonly style: PdfGridCellStyle;
    /**
     * Initializes a new instance of the `PdfGridEndCellLayoutEventArgs` class.
     * @private
     */
    constructor(graphics: PdfGraphics, rowIndex: number, cellIndex: number, bounds: RectangleF, value: string, style: PdfGridCellStyle);
}
export  class PdfCancelEventArgs {
    /**
     * @hidden
     * @private
     */
    private isCancel;
    /**
     * Gets and Sets the value of `cancel`.
     * @private
     */
    cancel: boolean;
}
export  class BeginPageLayoutEventArgs extends PdfCancelEventArgs {
    /**
     * The `bounds` of the lay outing on the page.
     * @private
     */
    private cellBounds;
    /**
     * `Page` where the lay outing should start.
     * @private
     */
    private pdfPage;
    /**
     * Gets or sets value that indicates the lay outing `bounds` on the page.
     * @private
     */
    bounds: RectangleF;
    /**
     * Gets the `page` where the lay outing should start.
     * @private
     */
    readonly page: PdfPage;
    /**
     * Initializes a new instance of the `BeginPageLayoutEventArgs` class with the specified rectangle and page.
     * @private
     */
    constructor(bounds: RectangleF, page: PdfPage);
}
/**
 * `EndPageLayoutEventArgs` class is alternate for end page layout events.
 */
export  class EndPageLayoutEventArgs extends PdfCancelEventArgs {
    /**
     * `Layout result`.
     * @private
     */
    private layoutResult;
    /**
     * The `next page` for lay outing.
     * @private
     */
    private nextPdfPage;
    /**
     * Gets the lay outing `result` of the page.
     * @private
     */
    readonly result: PdfLayoutResult;
    /**
     * Gets or sets a value indicating the `next page` where the element should be layout.
     * @private
     */
    nextPage: PdfPage;
    /**
     * Initializes a new instance of the `EndPageLayoutEventArgs` class. with the specified 'PdfLayoutResult'.
     * @private
     */
    constructor(result: PdfLayoutResult);
}
/**
 * `PdfGridBeginPageLayoutEventArgs` class is alternate for begin page layout events.
 */
export  class PdfGridBeginPageLayoutEventArgs extends BeginPageLayoutEventArgs {
    /**
     * @hidden
     * @private
     */
    private startRow;
    /**
     * Gets the `start row index`.
     * @private
     */
    readonly startRowIndex: number;
    /**
     * Initialize a new instance of `PdfGridBeginPageLayoutEventArgs` class.
     * @private
     */
    constructor(bounds: RectangleF, page: PdfPage, startRow: number);
}
/**
 * `PdfGridEndPageLayoutEventArgs` class is alternate for begin page layout events.
 */
export  class PdfGridEndPageLayoutEventArgs extends EndPageLayoutEventArgs {
    /**
     * Initialize a new instance of `PdfGridEndPageLayoutEventArgs` class.
     * @private
     */
    constructor(result: PdfLayoutResult);
}
export  class RowLayoutResult {
    /**
     * @hidden
     * @private
     */
    private bIsFinished;
    /**
     * @hidden
     * @private
     */
    private layoutedBounds;
    /**
     * Gets or sets a value indicating whether this instance `is finish`.
     * @private
     */
    isFinish: boolean;
    /**
     * Gets or sets the `bounds`.
     * @private
     */
    bounds: RectangleF;
    /**
     * Initializes a new instance of the `RowLayoutResult` class.
     * @private
     */
    constructor();
}
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/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/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;
    /**
     * 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 `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-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-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-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-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
     */
    isResource: 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-boolean.d.ts
/**
 * PdfBoolean.ts class for EJ2-PDF
 */
/**
 * `PdfBoolean` class is used to perform boolean related primitive operations.
 * @private
 */
export  class PdfBoolean implements IPdfPrimitive {
    /**
     * Shows the type of object `status` whether it is object registered or other status;
     * @private
     */
    private objectStatus;
    /**
     * Indicates if the object `is currently in saving state` or not.
     * @private
     */
    private saving;
    /**
     * Holds the `index` number of the object.
     * @private
     */
    private index;
    /**
     * The `value` of the PDF boolean.
     * @private
     */
    value: boolean;
    /**
     * Internal variable to store the `position`.
     * @default -1
     * @private
     */
    private currentPosition;
    /**
     * Initializes a new instance of the `PdfBoolean` class.
     * @private
     */
    constructor(value: boolean);
    /**
     * Gets or sets the `Status` of the specified object.
     * @private
     */
    status: ObjectStatus;
    /**
     * Gets or sets a value indicating whether this document `is saving` or not.
     * @private
     */
    isSaving: boolean;
    /**
     * Gets or sets the `index` value of the specified object.
     * @private
     */
    objectCollectionIndex: number;
    /**
     * Gets or sets the `position` of the object.
     * @private
     */
    position: number;
    /**
     * Returns `cloned object`.
     * @private
     */
    readonly clonedObject: IPdfPrimitive;
    /**
     * `Saves` the object using the specified writer.
     * @private
     */
    save(writer: IPdfWriter): void;
    /**
     * Creates a `copy of PdfBoolean`.
     * @private
     */
    clone(crossTable: PdfCrossTable): IPdfPrimitive;
    /**
     * Converts `boolean to string` - 0/1 'true'/'false'.
     * @private
     */
    private boolToStr;
}
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/primitives/pdf-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/pages/pdf-section.d.ts
/**
 * PdfSection.ts class for EJ2-PDF
 */
/**
 * Represents a `section` entity. A section it's a set of the pages with similar page settings.
 */
export  class PdfSection implements IPdfWrapper {
    /**
     * @hidden
     * @private
     */
    private pageAdded;
    /**
     * the parent `document`.
     * @private
     */
    private pdfDocument;
    /**
     * Page `settings` of the pages in the section.
     * @private
     */
    private settings;
    /**
     * Internal variable to store `initial page settings`.
     * @private
     */
    initialSettings: PdfPageSettings;
    /**
     * @hidden
     * @private
     */
    pagesReferences: PdfArray;
    /**
     * @hidden
     * @private
     */
    private section;
    /**
     * @hidden
     * @private
     */
    private pageCount;
    /**
     * @hidden
     * @private
     */
    private sectionCollection;
    /**
     * @hidden
     * @private
     */
    private pdfPages;
    /**
     * Indicates if the `progress is turned on`.
     * @private
     */
    private isProgressOn;
    /**
     * Page `template` for the section.
     * @private
     */
    private pageTemplate;
    /**
     * @hidden
     * @private
     */
    private dictionaryProperties;
    /**
     * A virtual `collection of pages`.
     * @private
     */
    private pagesCollection;
    /**
     * Stores the information about the page settings of the current section.
     * @private
     */
    private state;
    /**
     * Initializes a new instance of the `PdfSection` class.
     * @private
     */
    constructor(document: PdfDocument);
    /**
     * Initializes a new instance of the `PdfSection` class.
     * @private
     */
    constructor(document: PdfDocument, pageSettings: PdfPageSettings);
    /**
     * Gets or sets the `parent`.
     * @private
     */
    parent: PdfSectionCollection;
    /**
     * Gets the `parent document`.
     * @private
     */
    readonly parentDocument: PdfDocumentBase;
    /**
     * Gets or sets the `page settings` of the section.
     * @private
     */
    pageSettings: PdfPageSettings;
    /**
     * Gets the wrapped `element`.
     * @private
     */
    readonly element: IPdfPrimitive;
    /**
     * Gets the `count` of the pages in the section.
     * @private
     */
    readonly count: number;
    /**
     * Gets or sets a `template` for the pages in the section.
     * @private
     */
    template: PdfSectionTemplate;
    /**
     * Gets the `document`.
     * @private
     */
    readonly document: PdfDocument;
    /**
     * Gets the collection of `pages` in a section (Read only)
     * @private
     */
    readonly pages: PdfSectionPageCollection;
    /**
     * `Return the page collection` of current section.
     * @private
     */
    getPages(): PdfPageBase[];
    /**
     * `Translates` point into native coordinates of the page.
     * @private
     */
    pointToNativePdf(page: PdfPage, point: PointF): PointF;
    /**
     * Sets the page setting of the current section.
     * @public
     * @param settings Instance of `PdfPageSettings`
     */
    setPageSettings(settings: PdfPageSettings): void;
    /**
     * `Initializes` the object.
     * @private
     */
    private initialize;
    /**
     * Checks whether any template should be printed on this layer.
     * @private
     * @param document The parent document.
     * @param page The parent page.
     * @param foreground Layer z-order.
     * @returns True - if some content should be printed on the layer, False otherwise.
     */
    containsTemplates(document: PdfDocument, page: PdfPage, foreground: boolean): boolean;
    /**
     * Returns array of the document templates.
     * @private
     * @param document The parent document.
     * @param page The parent page.
     * @param headers If true - return headers/footers, if false - return simple templates.
     * @param foreground If true - return foreground templates, if false - return background templates.
     * @returns Returns array of the document templates.
     */
    private getDocumentTemplates;
    /**
     * Returns array of the section templates.
     * @private
     * @param page The parent page.
     * @param foreground If true - return foreground templates, if false - return background templates.
     * @returns Returns array of the section templates.
     */
    private getSectionTemplates;
    /**
     * `Adds` the specified page.
     * @private
     */
    add(page?: PdfPage): void | PdfPage;
    /**
     * `Checks the presence`.
     * @private
     */
    private checkPresence;
    /**
     * `Determines` whether the page in within the section.
     * @private
     */
    contains(page: PdfPage): boolean;
    /**
     * Get the `index of` the page.
     * @private
     */
    indexOf(page: PdfPage): number;
    /**
     * Call two event's methods.
     * @hidden
     * @private
     */
    private pageAddedMethod;
    /**
     * Called when the page has been added.
     * @hidden
     * @private
     */
    protected onPageAdded(args: PageAddedEventArgs): void;
    /**
     * Calculates actual `bounds` of the page.
     * @private
     */
    getActualBounds(page: PdfPage, includeMargins: boolean): RectangleF;
    /**
     * Calculates actual `bounds` of the page.
     * @private
     */
    getActualBounds(document: PdfDocument, page: PdfPage, includeMargins: boolean): RectangleF;
    /**
     * Calculates width of the `left indent`.
     * @private
     */
    getLeftIndentWidth(document: PdfDocument, page: PdfPage, includeMargins: boolean): number;
    /**
     * Calculates `Height` of the top indent.
     * @private
     */
    getTopIndentHeight(document: PdfDocument, page: PdfPage, includeMargins: boolean): number;
    /**
     * Calculates `width` of the right indent.
     * @private
     */
    getRightIndentWidth(document: PdfDocument, page: PdfPage, includeMargins: boolean): number;
    /**
     * Calculates `Height` of the bottom indent.
     * @private
     */
    getBottomIndentHeight(document: PdfDocument, page: PdfPage, includeMargins: boolean): number;
    /**
     * `Removes` the page from the section.
     * @private
     */
    remove(page: PdfPage): void;
    /**
     * In fills dictionary by the data from `Page settings`.
     * @private
     */
    private applyPageSettings;
    /**
     * Catches the Save event of the dictionary.
     * @hidden
     * @private
     */
    beginSave(state: PageSettingsState, writer: IPdfWriter): void;
    /**
     * Draws page templates on the page.
     * @private
     */
    drawTemplates(page: PdfPage, layer: PdfPageLayer, document: PdfDocument, foreground: boolean): void;
    /**
     * Draws page templates on the page.
     * @private
     */
    private drawTemplatesHelper;
}
export  class PageSettingsState {
    /**
     * @hidden
     * @private
     */
    private pageOrientation;
    /**
     * @hidden
     * @private
     */
    private pageRotate;
    /**
     * @hidden
     * @private
     */
    private pageSize;
    /**
     * @hidden
     * @private
     */
    private pageOrigin;
    /**
     * @hidden
     * @private
     */
    orientation: PdfPageOrientation;
    /**
     * @hidden
     * @private
     */
    rotate: PdfPageRotateAngle;
    /**
     * @hidden
     * @private
     */
    size: SizeF;
    /**
     * @hidden
     * @private
     */
    origin: PointF;
    /**
     * New instance to store the `PageSettings`.
     * @private
     */
    constructor(document: PdfDocument);
}
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/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-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-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-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-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;
    /**
     * Ignore value zero, otherwise convert sign.
     * @private
     */
    private convertSign;
}
//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-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-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-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-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-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/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/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/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);
    /**
     * Initialize an instance of `PdfWriter` class.
     * @private
     */
    constructor(stream: PdfWriterHelper);
    /**
     * 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 | PdfWriterHelper;
    /**
     * `Writes the specified data`.
     * @private
     */
    write(overload: IPdfPrimitive | number | string | number[]): void;
}
/**
 * Helper class for PDF writer.
 * @private
 */
export  class PdfWriterHelper {
    buffer: PdfArrayBuffer;
    /**
     * Initialize an instance of `PdfWriterHelper` class.
     * @private
     */
    constructor();
    /**
     * Writes the specified data.
     * @private
     */
    write(data: string): void;
    /**
     * Destroy the array buffer.
     * @private
     */
    destroy(): void;
}
/**
 * Helper class for PDF writer.
 * @private
 */
export  class PdfArrayBuffer {
    buffer: number[];
    /**
     * Initialize an instance of `PdfArrayBuffer` class.
     * @private
     */
    constructor();
    /**
     * Gets the `size`.
     * @private
     */
    readonly size: number;
    /**
     * Writes the specified data.
     * @private
     */
    write(value: string): void;
    /**
     * Destroy the array buffer.
     * @private
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/input-output/pdf-stream-writer.d.ts
/**
 * PdfStreamWriter.ts class for EJ2-PDF
 */
/**
 * Helper class to `write PDF graphic streams` easily.
 * @private
 */
export  class PdfStreamWriter implements IPdfWriter {
    /**
     * The PDF `stream` where the data should be write into.
     * @private
     */
    private stream;
    /**
     * Initialize an instance of `PdfStreamWriter` class.
     * @private
     */
    constructor(stream: PdfStream);
    /**
     * `Clear` the stream.
     * @public
     */
    clear(): void;
    /**
     * Sets the `graphics state`.
     * @private
     */
    setGraphicsState(dictionaryName: PdfName): void;
    /**
     * Sets the `graphics state`.
     * @private
     */
    setGraphicsState(dictionaryName: string): void;
    /**
     * `Executes the XObject`.
     * @private
     */
    executeObject(name: PdfName): void;
    /**
     * `Closes path object`.
     * @private
     */
    closePath(): void;
    /**
     * `Clips the path`.
     * @private
     */
    clipPath(useEvenOddRule: boolean): void;
    /**
     * `Closes, then fills and strokes the path`.
     * @private
     */
    closeFillStrokePath(useEvenOddRule: boolean): void;
    /**
     * `Fills and strokes path`.
     * @private
     */
    fillStrokePath(useEvenOddRule: boolean): void;
    /**
     * `Fills path`.
     * @private
     */
    fillPath(useEvenOddRule: boolean): void;
    /**
     * `Ends the path`.
     * @private
     */
    endPath(): void;
    /**
     * `Closes and fills the path`.
     * @private
     */
    closeFillPath(useEvenOddRule: boolean): void;
    /**
     * `Closes and strokes the path`.
     * @private
     */
    closeStrokePath(): void;
    /**
     * `Sets the text scaling`.
     * @private
     */
    setTextScaling(textScaling: number): void;
    /**
     * `Strokes path`.
     * @private
     */
    strokePath(): void;
    /**
     * `Restores` the graphics state.
     * @private
     */
    restoreGraphicsState(): void;
    /**
     * `Saves` the graphics state.
     * @private
     */
    saveGraphicsState(): void;
    /**
     * `Shifts the text to the point`.
     * @private
     */
    startNextLine(): void;
    /**
     * `Shifts the text to the point`.
     * @private
     */
    startNextLine(point: PointF): void;
    /**
     * `Shifts the text to the point`.
     * @private
     */
    startNextLine(x: number, y: number): void;
    /**
     * Shows the `text`.
     * @private
     */
    showText(text: PdfString): void;
    /**
     * Sets `text leading`.
     * @private
     */
    setLeading(leading: number): void;
    /**
     * `Begins the path`.
     * @private
     */
    beginPath(x: number, y: number): void;
    /**
     * `Begins text`.
     * @private
     */
    beginText(): void;
    /**
     * `Ends text`.
     * @private
     */
    endText(): void;
    /**
     * `Appends the rectangle`.
     * @private
     */
    appendRectangle(rectangle: RectangleF): void;
    /**
     * `Appends the rectangle`.
     * @private
     */
    appendRectangle(x: number, y: number, width: number, height: number): void;
    /**
     * `Appends a line segment`.
     * @private
     */
    appendLineSegment(point: PointF): void;
    /**
     * `Appends a line segment`.
     * @private
     */
    appendLineSegment(x: number, y: number): void;
    /**
     * Sets the `text rendering mode`.
     * @private
     */
    setTextRenderingMode(renderingMode: TextRenderingMode): void;
    /**
     * Sets the `character spacing`.
     * @private
     */
    setCharacterSpacing(charSpacing: number): void;
    /**
     * Sets the `word spacing`.
     * @private
     */
    setWordSpacing(wordSpacing: number): void;
    /**
     * Shows the `next line text`.
     * @private
     */
    showNextLineText(text: string, hex: boolean): void;
    /**
     * Shows the `next line text`.
     * @private
     */
    showNextLineText(text: PdfString): void;
    /**
     * Set the `color space`.
     * @private
     */
    setColorSpace(name: string, forStroking: boolean): void;
    /**
     * Set the `color space`.
     * @private
     */
    setColorSpace(name: PdfName, forStroking: boolean): void;
    /**
     * Modifies current `transformation matrix`.
     * @private
     */
    modifyCtm(matrix: PdfTransformationMatrix): void;
    /**
     * Sets `font`.
     * @private
     */
    setFont(font: PdfFont, name: string, size: number): void;
    /**
     * Sets `font`.
     * @private
     */
    setFont(font: PdfFont, name: PdfName, size: number): void;
    /**
     * `Writes the operator`.
     * @private
     */
    private writeOperator;
    /**
     * Checks the `text param`.
     * @private
     */
    private checkTextParam;
    /**
     * `Writes the text`.
     * @private
     */
    private writeText;
    /**
     * `Writes the point`.
     * @private
     */
    private writePoint;
    /**
     * `Updates y` co-ordinate.
     * @private
     */
    updateY(arg: number): number;
    /**
     * `Writes string` to the file.
     * @private
     */
    write(string: string): void;
    /**
     * `Writes comment` to the file.
     * @private
     */
    writeComment(comment: string): void;
    /**
     * Sets the `color and space`.
     * @private
     */
    setColorAndSpace(color: PdfColor, colorSpace: PdfColorSpace, forStroking: boolean): void;
    /**
     * Sets the `line dash pattern`.
     * @private
     */
    setLineDashPattern(pattern: number[], patternOffset: number): void;
    /**
     * Sets the `line dash pattern`.
     * @private
     */
    private setLineDashPatternHelper;
    /**
     * Sets the `miter limit`.
     * @private
     */
    setMiterLimit(miterLimit: number): void;
    /**
     * Sets the `width of the line`.
     * @private
     */
    setLineWidth(width: number): void;
    /**
     * Sets the `line cap`.
     * @private
     */
    setLineCap(lineCapStyle: PdfLineCap): void;
    /**
     * Sets the `line join`.
     * @private
     */
    setLineJoin(lineJoinStyle: PdfLineJoin): void;
    /**
     * Gets or sets the current `position` within the stream.
     * @private
     */
    readonly position: number;
    /**
     * Gets `stream length`.
     * @private
     */
    readonly length: number;
    /**
     * Gets and Sets the `current document`.
     * @private
     */
    readonly document: PdfDocument;
    /**
     * `Appends a line segment`.
     * @public
     */
    appendBezierSegment(arg1: PointF, arg2: PointF, arg3: PointF): void;
    appendBezierSegment(x1: number, y1: number, x2: number, y2: number, x3: number, y3: number): void;
    setColourWithPattern(colours: number[], patternName: PdfName, forStroking: boolean): void;
}
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/input-output/pdf-operators.d.ts
/**
 * PdfOperators.ts class for EJ2-PDF
 * Class of string PDF common operators.
 * @private
 */
export  class Operators {
    /**
     * Specifies the value of `obj`.
     * @private
     */
    static readonly obj: string;
    /**
     * Specifies the value of `endObj`.
     * @private
     */
    static readonly endObj: string;
    /**
     * Specifies the value of `R`.
     * @private
     */
    static readonly r: string;
    /**
     * Specifies the value of ` `.
     * @private
     */
    static readonly whiteSpace: string;
    /**
     * Specifies the value of `/`.
     * @private
     */
    static readonly slash: string;
    /**
     * Specifies the value of `\r\n`.
     * @private
     */
    static readonly newLine: string;
    /**
     * Specifies the value of `stream`.
     * @private
     */
    static readonly stream: string;
    /**
     * Specifies the value of `endStream`.
     * @private
     */
    static readonly endStream: string;
    /**
     * Specifies the value of `xref`.
     * @private
     */
    static readonly xref: string;
    /**
     * Specifies the value of `f`.
     * @private
     */
    static readonly f: string;
    /**
     * Specifies the value of `n`.
     * @private
     */
    static readonly n: string;
    /**
     * Specifies the value of `trailer`.
     * @private
     */
    static readonly trailer: string;
    /**
     * Specifies the value of `startxref`.
     * @private
     */
    static readonly startxref: string;
    /**
     * Specifies the value of `eof`.
     * @private
     */
    static readonly eof: string;
    /**
     * Specifies the value of `header`.
     * @private
     */
    static readonly header: string;
    /**
     * Specifies the value of `beginText`.
     * @private
     */
    static readonly beginText: string;
    /**
     * Specifies the value of `endText`.
     * @private
     */
    static readonly endText: string;
    /**
     * Specifies the value of `m`.
     * @private
     */
    static readonly beginPath: string;
    /**
     * Specifies the value of `l`.
     * @private
     */
    static readonly appendLineSegment: string;
    /**
     * Specifies the value of `S`.
     * @private
     */
    static readonly stroke: string;
    /**
     * Specifies the value of `f`.
     * @private
     */
    static readonly fill: string;
    /**
     * Specifies the value of `f*`.
     * @private
     */
    static readonly fillEvenOdd: string;
    /**
     * Specifies the value of `B`.
     * @private
     */
    static readonly fillStroke: string;
    /**
     * Specifies the value of `B*`.
     * @private
     */
    static readonly fillStrokeEvenOdd: string;
    /**
     * Specifies the value of `c`.
     * @private
     */
    static readonly appendbeziercurve: string;
    /**
     * Specifies the value of `re`.
     * @private
     */
    static readonly appendRectangle: string;
    /**
     * Specifies the value of `q`.
     * @private
     */
    static readonly saveState: string;
    /**
     * Specifies the value of `Q`.
     * @private
     */
    static readonly restoreState: string;
    /**
     * Specifies the value of `Do`.
     * @private
     */
    static readonly paintXObject: string;
    /**
     * Specifies the value of `cm`.
     * @private
     */
    static readonly modifyCtm: string;
    /**
     * Specifies the value of `Tm`.
     * @private
     */
    static readonly modifyTM: string;
    /**
     * Specifies the value of `w`.
     * @private
     */
    static readonly setLineWidth: string;
    /**
     * Specifies the value of `J`.
     * @private
     */
    static readonly setLineCapStyle: string;
    /**
     * Specifies the value of `j`.
     * @private
     */
    static readonly setLineJoinStyle: string;
    /**
     * Specifies the value of `d`.
     * @private
     */
    static readonly setDashPattern: string;
    /**
     * Specifies the value of `i`.
     * @private
     */
    static readonly setFlatnessTolerance: string;
    /**
     * Specifies the value of `h`.
     * @private
     */
    static readonly closePath: string;
    /**
     * Specifies the value of `s`.
     * @private
     */
    static readonly closeStrokePath: string;
    /**
     * Specifies the value of `b`.
     * @private
     */
    static readonly closeFillStrokePath: string;
    /**
     * Specifies the value of `setCharacterSpace`.
     * @private
     */
    static readonly setCharacterSpace: string;
    /**
     * Specifies the value of `setWordSpace`.
     * @private
     */
    static readonly setWordSpace: string;
    /**
     * Specifies the value of `setHorizontalScaling`.
     * @private
     */
    static readonly setHorizontalScaling: string;
    /**
     * Specifies the value of `setTextLeading`.
     * @private
     */
    static readonly setTextLeading: string;
    /**
     * Specifies the value of `setFont`.
     * @private
     */
    static readonly setFont: string;
    /**
     * Specifies the value of `setRenderingMode`.
     * @private
     */
    static readonly setRenderingMode: string;
    /**
     * Specifies the value of `setTextRise`.
     * @private
     */
    static readonly setTextRise: string;
    /**
     * Specifies the value of `setTextScaling`.
     * @private
     */
    static readonly setTextScaling: string;
    /**
     * Specifies the value of `setCoords`.
     * @private
     */
    static readonly setCoords: string;
    /**
     * Specifies the value of `goToNextLine`.
     * @private
     */
    static readonly goToNextLine: string;
    /**
     * Specifies the value of `setText`.
     * @private
     */
    static readonly setText: string;
    /**
     * Specifies the value of `setTextWithFormatting`.
     * @private
     */
    static readonly setTextWithFormatting: string;
    /**
     * Specifies the value of `setTextOnNewLine`.
     * @private
     */
    static readonly setTextOnNewLine: string;
    /**
     * Specifies the value of `selectcolorspaceforstroking`.
     * @private
     */
    static readonly selectcolorspaceforstroking: string;
    /**
     * Specifies the value of `selectcolorspacefornonstroking`.
     * @private
     */
    static readonly selectcolorspacefornonstroking: string;
    /**
     * Specifies the value of `setrbgcolorforstroking`.
     * @private
     */
    static readonly setrbgcolorforstroking: string;
    /**
     * Specifies the value of `setrbgcolorfornonstroking`.
     * @private
     */
    static readonly setrbgcolorfornonstroking: string;
    /**
     * Specifies the value of `K`.
     * @private
     */
    static readonly setcmykcolorforstroking: string;
    /**
     * Specifies the value of `k`.
     * @private
     */
    static readonly setcmykcolorfornonstroking: string;
    /**
     * Specifies the value of `G`.
     * @private
     */
    static readonly setgraycolorforstroking: string;
    /**
     * Specifies the value of `g`.
     * @private
     */
    static readonly setgraycolorfornonstroking: string;
    /**
     * Specifies the value of `W`.
     * @private
     */
    static readonly clipPath: string;
    /**
     * Specifies the value of `clipPathEvenOdd`.
     * @private
     */
    static readonly clipPathEvenOdd: string;
    /**
     * Specifies the value of `n`.
     * @private
     */
    static readonly endPath: string;
    /**
     * Specifies the value of `setGraphicsState`.
     * @private
     */
    static readonly setGraphicsState: string;
    /**
     * Specifies the value of `%`.
     * @private
     */
    static readonly comment: string;
    /**
     * Specifies the value of `*`.
     * @private
     */
    static readonly evenOdd: string;
    /**
     * Specifies the value of `M`.
     * @private
     */
    static readonly setMiterLimit: string;
    /**
     * Specifies the value of `test`.
     * @private
     */
    private forTest;
    /**
     * Same as SC, but also supports Pattern, Separation, DeviceN, and ICCBased color spaces. For non-stroking operations.
     * @public
     */
    static readonly setColorAndPattern: string;
    /**
     * Same as SC, but also supports Pattern, Separation, DeviceN, and ICCBased color spaces. For stroking.
     */
    static readonly setColorAndPatternStroking: string;
    /**
     * Create an instance of `PdfOperator` class.
     * @private
     */
    constructor();
}
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/input-output/pdf-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-dictionary-properties.d.ts
/**
 * dictionaryProperties.ts class for EJ2-PDF
 * PDF dictionary properties.
 * @private
 */
export  class DictionaryProperties {
    /**
     * Specifies the value of `Pages`.
     * @private
     */
    readonly pages: string;
    /**
     * Specifies the value of `Kids`.
     * @private
     */
    readonly kids: string;
    /**
     * Specifies the value of `Count`.
     * @private
     */
    readonly count: string;
    /**
     * Specifies the value of `Resources`.
     * @private
     */
    readonly resources: string;
    /**
     * Specifies the value of `Type`.
     * @private
     */
    readonly type: string;
    /**
     * Specifies the value of `Size`.
     * @private
     */
    readonly size: string;
    /**
     * Specifies the value of `MediaBox`.
     * @private
     */
    readonly mediaBox: string;
    /**
     * Specifies the value of `Parent`.
     * @private
     */
    readonly parent: string;
    /**
     * Specifies the value of `Root`.
     * @private
     */
    readonly root: string;
    /**
     * Specifies the value of `DecodeParms`.
     * @private
     */
    readonly decodeParms: string;
    /**
     * Specifies the value of `Filter`.
     * @private
     */
    readonly filter: string;
    /**
     * Specifies the value of `Font`.
     * @private
     */
    readonly font: string;
    /**
     * Specifies the value of `Type1`.
     * @private
     */
    readonly type1: string;
    /**
     * Specifies the value of `BaseFont`.
     * @private
     */
    readonly baseFont: string;
    /**
     * Specifies the value of `Encoding`.
     * @private
     */
    readonly encoding: string;
    /**
     * Specifies the value of `Subtype`.
     * @private
     */
    readonly subtype: string;
    /**
     * Specifies the value of `Contents`.
     * @private
     */
    readonly contents: string;
    /**
     * Specifies the value of `ProcSet`.
     * @private
     */
    readonly procset: string;
    /**
     * Specifies the value of `ColorSpace`.
     * @private
     */
    readonly colorSpace: string;
    /**
     * Specifies the value of `ExtGState`.
     * @private
     */
    readonly extGState: string;
    /**
     * Specifies the value of `Pattern`.
     * @private
     */
    readonly pattern: string;
    /**
     * Specifies the value of `XObject`.
     * @private
     */
    readonly xObject: string;
    /**
     * Specifies the value of `Length`.
     * @private
     */
    readonly length: string;
    /**
     * Specifies the value of `Width`.
     * @private
     */
    readonly width: string;
    /**
     * Specifies the value of `Height`.
     * @private
     */
    readonly height: string;
    /**
     * Specifies the value of `BitsPerComponent`.
     * @private
     */
    readonly bitsPerComponent: string;
    /**
     * Specifies the value of `Image`.
     * @private
     */
    readonly image: string;
    /**
     * Specifies the value of `dctdecode`.
     * @private
     */
    readonly dctdecode: string;
    /**
     * Specifies the value of `Columns`.
     * @private
     */
    readonly columns: string;
    /**
     * Specifies the value of `BlackIs1`.
     * @private
     */
    readonly blackIs1: string;
    /**
     * Specifies the value of `K`.
     * @private
     */
    readonly k: string;
    /**
     * Specifies the value of `S`.
     * @private
     */
    readonly s: string;
    /**
     * Specifies the value of `Predictor`.
     * @private
     */
    readonly predictor: string;
    /**
     * Specifies the value of `DeviceRGB`.
     * @private
     */
    readonly deviceRgb: string;
    /**
     * Specifies the value of `Next`.
     * @private
     */
    readonly next: string;
    /**
     * Specifies the value of `Action`.
     * @private
     */
    readonly action: string;
    /**
     * Specifies the value of `Link`.
     * @private
     */
    readonly link: string;
    /**
     *
     * Specifies the value of `A`.
     * @private
     */
    readonly a: string;
    /**
     * Specifies the value of `Annot`.
     * @private
     */
    readonly annot: string;
    /**
     * Specifies the value of `P`.
     * @private
     */
    readonly p: string;
    /**
     * Specifies the value of `C`.
     * @private
     */
    readonly c: string;
    /**
     * Specifies the value of `Rect`.
     * @private
     */
    readonly rect: string;
    /**
     * Specifies the value of `URI`.
     * @private
     */
    readonly uri: string;
    /**
     * Specifies the value of `Annots`.
     * @private
     */
    readonly annots: string;
    /**
     * Specifies the value of `ca`.
     * @private
     */
    readonly ca: string;
    /**
     * Specifies the value of `CA`.
     * @private
     */
    readonly CA: string;
    /**
     * Specifies the value of `XYZ`.
     * @private
     */
    readonly xyz: string;
    /**
     * Specifies the value of `Fit`.
     * @private
     */
    readonly fit: string;
    /**
     * Specifies the value of `Dest`.
     * @private
     */
    readonly dest: string;
    /**
     * Specifies the value of `BM`.
     * @private
     */
    readonly BM: string;
    /**
     * Specifies the value of `flatedecode`.
     * @private
     */
    readonly flatedecode: string;
    /**
     * Specifies the value of `Rotate`.
     * @private
     */
    readonly rotate: string;
    /**
     * Specifies the value of 'bBox'.
     * @private
     */
    readonly bBox: string;
    /**
     * Specifies the value of 'form'.
     * @private
     */
    readonly form: string;
    /**
     * Specifies the value of 'w'.
     * @private
     */
    readonly w: string;
    /**
     * Specifies the value of 'cIDFontType2'.
     * @private
     */
    readonly cIDFontType2: string;
    /**
     * Specifies the value of 'cIDToGIDMap'.
     * @private
     */
    readonly cIDToGIDMap: string;
    /**
     * Specifies the value of 'identity'.
     * @private
     */
    readonly identity: string;
    /**
     * Specifies the value of 'dw'.
     * @private
     */
    readonly dw: string;
    /**
     * Specifies the value of 'fontDescriptor'.
     * @private
     */
    readonly fontDescriptor: string;
    /**
     * Specifies the value of 'cIDSystemInfo'.
     * @private
     */
    readonly cIDSystemInfo: string;
    /**
     * Specifies the value of 'fontName'.
     * @private
     */
    readonly fontName: string;
    /**
     * Specifies the value of 'flags'.
     * @private
     */
    readonly flags: string;
    /**
     * Specifies the value of 'fontBBox'.
     * @private
     */
    readonly fontBBox: string;
    /**
     * Specifies the value of 'missingWidth'.
     * @private
     */
    readonly missingWidth: string;
    /**
     * Specifies the value of 'stemV'.
     * @private
     */
    readonly stemV: string;
    /**
     * Specifies the value of 'italicAngle'.
     * @private
     */
    readonly italicAngle: string;
    /**
     * Specifies the value of 'capHeight'.
     * @private
     */
    readonly capHeight: string;
    /**
     * Specifies the value of 'ascent'.
     * @private
     */
    readonly ascent: string;
    /**
     * Specifies the value of 'descent'.
     * @private
     */
    readonly descent: string;
    /**
     * Specifies the value of 'leading'.
     * @private
     */
    readonly leading: string;
    /**
     * Specifies the value of 'avgWidth'.
     * @private
     */
    readonly avgWidth: string;
    /**
     * Specifies the value of 'fontFile2'.
     * @private
     */
    readonly fontFile2: string;
    /**
     * Specifies the value of 'maxWidth'.
     * @private
     */
    readonly maxWidth: string;
    /**
     * Specifies the value of 'xHeight'.
     * @private
     */
    readonly xHeight: string;
    /**
     * Specifies the value of 'stemH'.
     * @private
     */
    readonly stemH: string;
    /**
     * Specifies the value of 'registry'.
     * @private
     */
    readonly registry: string;
    /**
     * Specifies the value of 'ordering'.
     * @private
     */
    readonly ordering: string;
    /**
     * Specifies the value of 'supplement'.
     * @private
     */
    readonly supplement: string;
    /**
     * Specifies the value of 'type0'.
     * @private
     */
    readonly type0: string;
    /**
     * Specifies the value of 'identityH'.
     * @private
     */
    readonly identityH: string;
    /**
     * Specifies the value of 'toUnicode'.
     * @private
     */
    readonly toUnicode: string;
    /**
     * Specifies the value of 'descendantFonts'.
     * @private
     */
    readonly descendantFonts: string;
    /**
     * Specifies the value of 'background'.
     * @private
     */
    readonly background: string;
    /**
     * Specifies the value of 'shading'.
     * @private
     */
    readonly shading: string;
    /**
     * Specifies the value of 'matrix'.
     * @private
     */
    readonly matrix: string;
    /**
     * Specifies the value of 'antiAlias'.
     * @private
     */
    readonly antiAlias: string;
    /**
     * Specifies the value of 'function'.
     * @private
     */
    readonly function: string;
    /**
     * Specifies the value of 'extend'.
     * @private
     */
    readonly extend: string;
    /**
     * Specifies the value of 'shadingType'.
     * @private
     */
    readonly shadingType: string;
    /**
     * Specifies the value of 'coords'.
     * @private
     */
    readonly coords: string;
    /**
     * Specifies the value of 'domain'.
     * @private
     */
    readonly domain: string;
    /**
     * Specifies the value of 'range'.
     * @private
     */
    readonly range: string;
    /**
     * Specifies the value of 'functionType'.
     * @private
     */
    readonly functionType: string;
    /**
     * Specifies the value of 'bitsPerSample'.
     * @private
     */
    readonly bitsPerSample: string;
    /**
     * Specifies the value of 'patternType'.
     * @private
     */
    readonly patternType: string;
    /**
     * Specifies the value of 'paintType'.
     * @private
     */
    readonly paintType: string;
    /**
     * Specifies the value of 'tilingType'.
     * @private
     */
    readonly tilingType: string;
    /**
     * Specifies the value of 'xStep'.
     * @private
     */
    readonly xStep: string;
    /**
     * Specifies the value of 'yStep'.
     * @private
     */
    readonly yStep: string;
    /**
     * Specifies the value of viewer preferences.
     * @private
     */
    readonly viewerPreferences: string;
    /**
     * Specifies the value of center window.
     * @private
     */
    readonly centerWindow: string;
    /**
     * Specifies the value of display title.
     * @private
     */
    readonly displayTitle: string;
    /**
     * Specifies the value of fit window.
     * @private
     */
    readonly fitWindow: string;
    /**
     * Specifies the value of hide menu bar.
     * @private
     */
    readonly hideMenuBar: string;
    /**
     * Specifies the value of hide tool bar.
     * @private
     */
    readonly hideToolBar: string;
    /**
     * Specifies the value of hide window UI.
     * @private
     */
    readonly hideWindowUI: string;
    /**
     * Specifies the value of page mode.
     * @private
     */
    readonly pageMode: string;
    /**
     * Specifies the value of page layout.
     * @private
     */
    readonly pageLayout: string;
    /**
     * Specifies the value of duplex.
     * @private
     */
    readonly duplex: string;
    /**
     * Specifies the value of print scaling.
     * @private
     */
    readonly printScaling: string;
    /**
     * Initialize an instance for `PdfDictionaryProperties` class.
     * @private
     */
    constructor();
}
//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 cross-reference table into the stream.
     * @private
     */
    _saveProcess(writer: PdfWriter): void;
    /**
     * Saves the cross-reference table into the stream.
     * @private
     */
    _save(writer: PdfWriter): Uint8Array;
    /**
     * `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/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/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/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/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/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/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(): Matrix;
}
//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-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-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-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;
    private _pathPoints;
    private _pathTypes;
    /**
     * 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;
    /**
     * Draw rounded rectangle specified by a brush, pen, coordinate pair, a width, a height and a radius.
     * ```typescript
     * // Create a new PDF document.
     * let document$ : PdfDocument = new PdfDocument();
     * // Create a new page
     * let page : PdfPage = document.pages.add();
     * // Create brush for draw rectangle
     * let brush : PdfSolidBrush = new PdfSolidBrush(new PdfColor(238, 130, 238));
     * // Create a new PDF pen
     * let pen$: PdfPen = new PdfPen(new PdfColor(255, 0, 0), 1);
     * // Draw rounded rectangle
     * page.graphics.drawRoundedRectangle(pen, brush, 20, 20, 100, 50, 5);
     * // save the document
     * document.save('output.pdf');
     * // destroy the document
     * document.destroy();
     * ```
     * @param pen Stoke color of the rectangle.
     * @param brush Fill 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.
     * @param radius Radius of the arcs to draw.
     */
    drawRoundedRectangle(pen: PdfPen, brush: PdfBrush, x: number, y: number, width: number, height: number, radius: number): void;
    private _addArc;
    private _addArcPoints;
    private _getLastPoint;
    private _addPoint;
    private _getBezierArcPoints;
    /**
     * `Draws the path`.
     * @private
     */
    private drawPathHelper;
    /**
     * `Draws the specified image`, using its original physical size, at the location specified by a coordinate pair.
     * ```typescript
     * // create a new PDF document.
     * let document$ : PdfDocument = new PdfDocument();
     * // add a page to the document.
     * let page1$ : PdfPage = document.pages.add();
     * // base64 string of an image
     * let imageString : string = '/9j/3+2w7em7HzY/KiijFw … 1OEYRUYrQ45yc5OUtz/9k=';
     * // load the image from the base64 string of original image.
     * let image : PdfBitmap = new PdfBitmap(imageString);
     * //
     * // draw the image
     * page1.graphics.drawImage(image, 10, 10);
     * //
     * // save the document.
     * document.save('output.pdf');
     * // destroy the document
     * document.destroy();
     * ```
     * @param image PdfImage to draw.
     * @param x The x-coordinate of the upper-left corner of the drawn image.
     * @param y The y-coordinate of the upper-left corner of the drawn image.
     */
    drawImage(image: PdfImage, x: number, y: number): void;
    /**
     * `Draws the specified image`, using its original physical size, at the location specified by a coordinate pair.
     * ```typescript
     * // create a new PDF document.
     * let document$ : PdfDocument = new PdfDocument();
     * // add a page to the document.
     * let page1$ : PdfPage = document.pages.add();
     * // base64 string of an image
     * let imageString : string = '/9j/3+2w7em7HzY/KiijFw … 1OEYRUYrQ45yc5OUtz/9k=';
     * // load the image from the base64 string of original image.
     * let image : PdfBitmap = new PdfBitmap(imageString);
     * //
     * // draw the image
     * page1.graphics.drawImage(image, 0, 0, 100, 100);
     * //
     * // save the document.
     * document.save('output.pdf');
     * // destroy the document
     * document.destroy();
     * ```
     * @param image PdfImage to draw.
     * @param x The x-coordinate of the upper-left corner of the drawn image.
     * @param y The y-coordinate of the upper-left corner of the drawn image.
     * @param width Width of the drawn image.
     * @param height Height of the drawn image.
     */
    drawImage(image: PdfImage, x: number, y: number, width: number, height: number): void;
    /**
     * Returns `bounds` of the line info.
     * @private
     */
    getLineBounds(lineIndex: number, result: PdfStringLayoutResult, font: PdfFont, layoutRectangle: RectangleF, format: PdfStringFormat): RectangleF;
    /**
     * Creates `lay outed rectangle` depending on the text settings.
     * @private
     */
    checkCorrectLayoutRectangle(textSize: SizeF, x: number, y: number, format: PdfStringFormat): RectangleF;
    /**
     * Sets the `layer` for the graphics.
     * @private
     */
    setLayer(layer: PdfPageLayer): void;
    /**
     * Adding page number field before page saving.
     * @private
     */
    pageSave(page: PdfPage): void;
    /**
     * `Draws a layout result`.
     * @private
     */
    drawStringLayoutResult(result: PdfStringLayoutResult, font: PdfFont, pen: PdfPen, brush: PdfBrush, layoutRectangle: RectangleF, format: PdfStringFormat): void;
    /**
     * Gets the `next page`.
     * @private
     */
    getNextPage(): PdfPage;
    /**
     * `Sets the clipping` region of this Graphics to the rectangle specified by a RectangleF structure.
     * ```typescript
     * // create a new PDF document
     * let document$ : PdfDocument = new PdfDocument();
     * // create a new page
     * let page1$ : PdfPage = document.pages.add();
     * // create PDF graphics for the page
     * let graphics$ : PdfGraphics = page1.graphics;
     * // set the font
     * let font$ : PdfFont = new PdfStandardFont(PdfFontFamily.TimesRoman, 20);
     * // create black brush
     * let blackBrush$ : PdfSolidBrush = new PdfSolidBrush(new PdfColor(0, 0, 0));
     * //
     * // set clipping with rectangle bounds
     * graphics.setClip(new RectangleF({x : 10, y : 80}, {width : 150 , height : 15}));
     * //
     * // draw the text after clipping
     * graphics.drawString('Text after clipping', font, blackBrush, new PointF(10, 80));
     * // save the document.
     * document.save('output.pdf');
     * // destroy the document
     * document.destroy();
     * ```
     * @param rectangle RectangleF structure that represents the new clip region.
     */
    setClip(rectangle: RectangleF): void;
    /**
     * `Sets the clipping` region of this Graphics to the result of the specified operation combining the current clip region and the rectangle specified by a RectangleF structure.
     * @private
     */
    setClip(rectangle: RectangleF, mode: PdfFillMode): void;
    /**
     * Applies all the `text settings`.
     * @private
     */
    private applyStringSettings;
    /**
     * Calculates `shift value` if the text is vertically aligned.
     * @private
     */
    getTextVerticalAlignShift(textHeight: number, boundsHeight: number, format: PdfStringFormat): number;
    /**
     * `Draws layout result`.
     * @private
     */
    private drawLayoutResult;
    /**
     * `Draws Ascii line`.
     * @private
     */
    private drawAsciiLine;
    /**
     * Draws unicode line.
     * @private
     */
    private drawUnicodeLine;
    /**
     * Draws array of unicode tokens.
     */
    private drawUnicodeBlocks;
    /**
     * Breakes the unicode line to the words and converts symbols to glyphs.
     */
    private breakUnicodeLine;
    /**
     * Creates PdfString from the unicode text.
     */
    private getUnicodeString;
    /**
     * Converts to unicode format.
     */
    private convertToUnicode;
    /**
     * `Justifies` the line if needed.
     * @private
     */
    private justifyLine;
    /**
     * `Reset` or reinitialize the current graphic value.
     * @private
     */
    reset(size: SizeF): void;
    /**
     * Checks whether the line should be `justified`.
     * @private
     */
    private shouldJustify;
    /**
     * Emulates `Underline, Strikeout` of the text if needed.
     * @private
     */
    private underlineStrikeoutText;
    /**
     * `Creates a pen` for drawing lines in the text.
     * @private
     */
    private createUnderlineStikeoutPen;
    /**
     * Return `text rendering mode`.
     * @private
     */
    private getTextRenderingMode;
    /**
     * Returns `line indent` for the line.
     * @private
     */
    private getLineIndent;
    /**
     * Calculates shift value if the line is `horizontaly aligned`.
     * @private
     */
    private getHorizontalAlignShift;
    /**
     * Gets or sets the value that indicates `text direction` mode.
     * @private
     */
    private rightToLeft;
    /**
     * Controls all `state modifications` and react repectively.
     * @private
     */
    private stateControl;
    /**
     * Initializes the `current color space`.
     * @private
     */
    private initCurrentColorSpace;
    /**
     * Controls the `pen state`.
     * @private
     */
    private penControl;
    /**
     * Controls the `brush state`.
     * @private
     */
    private brushControl;
    /**
     * Saves the font and other `font settings`.
     * @private
     */
    private fontControl;
    /**
     * `Sets the transparency` of this Graphics with the specified value for pen.
     * ```typescript
     * // create a new PDF document
     * let document$ : PdfDocument = new PdfDocument();
     * // create a new page
     * let page1$ : PdfPage = document.pages.add();
     * // create pen
     * let pen$ : PdfPen = new PdfPen(new PdfColor(0, 0, 0));
     * //
     * // set transparency
     * page1.graphics.setTransparency(0.5);
     * //
     * // draw the rectangle after applying transparency
     * page1.graphics.drawRectangle(pen, new RectangleF({x : 0, y : 0}, {width : 100, height : 50}));
     * // save the document.
     * document.save('output.pdf');
     * // destroy the document
     * document.destroy();
     * ```
     * @param alpha The alpha value for both pen and brush.
     */
    setTransparency(alpha: number): void;
    /**
     * `Sets the transparency` of this Graphics with the specified value for pen and brush.
     * ```typescript
     * // create a new PDF document
     * let document$ : PdfDocument = new PdfDocument();
     * // create a new page
     * let page1$ : PdfPage = document.pages.add();
     * // create pen
     * let pen$ : PdfPen = new PdfPen(new PdfColor(0, 0, 0));
     * // set brush
     * let brush : PdfSolidBrush = new PdfSolidBrush(new PdfColor(0, 0, 0));
     * //
     * // set transparency
     * page1.graphics.setTransparency(0.8, 0.2);
     * //
     * // draw the rectangle after applying transparency
     * page1.graphics.drawRectangle(pen, brush, new RectangleF({x : 0, y : 0}, {width : 100, height : 50}));
     * // save the document.
     * document.save('output.pdf');
     * // destroy the document
     * document.destroy();
     * ```
     * @param alphaPen The alpha value for pen.
     * @param alphaBrush The alpha value for brush.
     */
    setTransparency(alphaPen: number, alphaBrush: number): void;
    /**
     * `Sets the transparency` of this Graphics with the specified PdfBlendMode.
     * @private
     */
    setTransparency(alphaPen: number, alphaBrush: number, blendMode: PdfBlendMode): void;
    /**
     * Sets the `drawing area and translates origin`.
     * @private
     */
    clipTranslateMargins(clipBounds: RectangleF): void;
    clipTranslateMargins(x: number, y: number, left: number, top: number, right: number, bottom: number): void;
    /**
     * `Updates y` co-ordinate.
     * @private
     */
    updateY(y: number): number;
    /**
     * Used to `translate the transformation`.
     * ```typescript
     * // create a new PDF document
     * let document$ : PdfDocument = new PdfDocument();
     * // create a new page
     * let page1$ : PdfPage = document.pages.add();
     * // set pen
     * let pen$ : PdfPen = new PdfPen(new PdfColor(0, 0, 0));
     * //
     * // set translate transform
     * page1.graphics.translateTransform(100, 100);
     * //
     * // draw the rectangle after applying translate transform
     * page1.graphics.drawRectangle(pen, new RectangleF({x : 0, y : 0}, {width : 100, height : 50}));
     * // save the document.
     * document.save('output.pdf');
     * // destroy the document
     * document.destroy();
     * ```
     * @param offsetX The x-coordinate of the translation.
     * @param offsetY The y-coordinate of the translation.
     */
    translateTransform(offsetX: number, offsetY: number): void;
    /**
     * `Translates` coordinates of the input matrix.
     * @private
     */
    private getTranslateTransform;
    /**
     * Applies the specified `scaling operation` to the transformation matrix of this Graphics by prepending it to the object's transformation matrix.
     * ```typescript
     * // create a new PDF document
     * let document$ : PdfDocument = new PdfDocument();
     * // create a new page
     * let page1$ : PdfPage = document.pages.add();
     * // create pen
     * let pen$ : PdfPen = new PdfPen(new PdfColor(0, 0, 0));
     * //
     * // apply scaling trasformation
     * page1.graphics.scaleTransform(1.5, 2);
     * //
     * // draw the rectangle after applying scaling transform
     * page1.graphics.drawRectangle(pen, new RectangleF({x : 100, y : 100}, {width : 100, height : 50}));
     * // save the document.
     * document.save('output.pdf');
     * // destroy the document
     * document.destroy();
     * ```
     * @param scaleX Scale factor in the x direction.
     * @param scaleY Scale factor in the y direction.
     */
    scaleTransform(scaleX: number, scaleY: number): void;
    /**
     * `Scales` coordinates of the input matrix.
     * @private
     */
    private getScaleTransform;
    /**
     * Applies the specified `rotation` to the transformation matrix of this Graphics.
     * ```typescript
     * // create a new PDF document
     * let document$ : PdfDocument = new PdfDocument();
     * // create a new page
     * let page1$ : PdfPage = document.pages.add();
     * // create pen
     * let pen$ : PdfPen = new PdfPen(new PdfColor(0, 0, 0));
     * //
     * // set RotateTransform with 25 degree of angle
     * page1.graphics.rotateTransform(25);
     * //
     * // draw the rectangle after RotateTransformation
     * page1.graphics.drawRectangle(pen, new RectangleF({x : 100, y : 100}, {width : 100, height : 50}));
     * // save the document.
     * document.save('output.pdf');
     * // destroy the document
     * document.destroy();
     * ```
     * @param angle Angle of rotation in degrees.
     */
    rotateTransform(angle: number): void;
    /**
     * `Initializes coordinate system`.
     * @private
     */
    initializeCoordinates(): void;
    /**
     * `Rotates` coordinates of the input matrix.
     * @private
     */
    private getRotateTransform;
    /**
     * `Saves` the current state of this Graphics and identifies the saved state with a GraphicsState.
     * ```typescript
     * // create a new PDF document
     * let document$ : PdfDocument = new PdfDocument();
     * // create a new page
     * let page1$ : PdfPage = document.pages.add();
     * // create pen
     * let pen$ : PdfPen = new PdfPen(new PdfColor(0, 0, 0));
     * //
     * // save the graphics state
     * let state1 : PdfGraphicsState = page1.graphics.save();
     * //
     * page1.graphics.scaleTransform(1.5, 2);
     * // draw the rectangle
     * page1.graphics.drawRectangle(pen, new RectangleF({x : 100, y : 100}, {width : 100, height : 50}));
     * // restore the graphics state
     * page1.graphics.restore(state1);
     * // save the document.
     * document.save('output.pdf');
     * // destroy the document
     * document.destroy();
     * ```
     */
    save(): PdfGraphicsState;
    /**
     * `Restores the state` of this Graphics to the state represented by a GraphicsState.
     * @private
     */
    restore(): void;
    /**
     * `Restores the state` of this Graphics to the state represented by a GraphicsState.
     * @private
     */
    restore(state: PdfGraphicsState): void;
    /**
     * `Restores graphics state`.
     * @private
     */
    private doRestoreState;
    /**
     * `Draws the specified path`, using its original physical size, at the location specified by a coordinate pair.
     * ```typescript
     * // create a new PDF document.
     * let document$ : PdfDocument = new PdfDocument();
     * // add a page to the document.
     * let page1$ : PdfPage = document.pages.add();
     * //Create new PDF path.
     * let path : PdfPath = new PdfPath();
     * //Add line path points.
     * path.addLine(new PointF(10, 100), new PointF(10, 200));
     * path.addLine(new PointF(100, 100), new PointF(100, 200));
     * path.addLine(new PointF(100, 200), new PointF(55, 150));
     * // set pen
     * let pen$ : PdfPen = new PdfPen(new PdfColor(255, 0, 0));
     * // set brush
     * let brush : PdfSolidBrush = new PdfSolidBrush(new PdfColor(0, 0, 0));
     * // draw the path
     * page1.graphics.drawPath(pen, brush, path);
     * //
     * // save the document.
     * document.save('output.pdf');
     * // destroy the document
     * document.destroy();
     * ```
     * @param pen Color of the text.
     * @param brush Color of the text.
     * @param path Draw path.
     */
    drawPath(pen: PdfPen, brush: PdfBrush, path: PdfPath): void;
    private _drawPath;
    /**
     * `Draws the specified arc`, using its original physical size, at the location specified by a coordinate pair.
     * ```typescript
     * // create a new PDF document.
     * let document$ : PdfDocument = new PdfDocument();
     * // add a page to the document.
     * let page1$ : PdfPage = document.pages.add();
     * let pen$ : PdfPen = new PdfPen(new PdfColor(255, 0, 0));
     * // draw the path
     * page1.graphics.drawArc(pen, 10, 10, 100, 200, 90, 270);
     * // save the document.
     * document.save('output.pdf');
     * // destroy the document
     * document.destroy();
     * ```
     * @param name Pen that determines the color, width, and style of the arc.
     * @param rectangle RectangleF structure that defines the boundaries of the ellipse.
     * @param startAngle Angle in degrees measured clockwise from the x-axis to the starting point of the arc.
     * @param sweepAngle Angle in degrees measured clockwise from the startAngle parameter to ending point of the arc.
     */
    drawArc(pen: PdfPen, rectangle: RectangleF, startAngle: number, sweepAngle: number): void;
    drawArc(pen: PdfPen, x: number, y: number, width: number, height: number, startAngle: number, sweepAngle: number): void;
    /**
     * Builds up the path.
     * @private
     */
    private buildUpPath;
    /**
     * Gets the bezier points from respective arrays.
     * @private
     */
    private getBezierPoints;
    /**
     * Checks path point type flags.
     * @private
     */
    private checkFlags;
    /**
     * Constructs the arc path using Bezier curves.
     * @private
     */
    private constructArcPath;
    /**
     * Gets the bezier points for arc constructing.
     * @private
     */
    private getBezierArc;
}
/**
 * `GetResourceEventHandler` class is alternate for event handlers and delegates.
 * @private
 * @hidden
 */
export  class GetResourceEventHandler {
    /**
     * Return the instance of `PdfResources` class.
     * @private
     */
    getResources(): PdfResources;
    /**
     * Variable to store instance of `PdfPageBase as sender`.
     * @hidden
     * @private
     */
    sender: PdfPageBase | PdfTemplate | PdfTilingBrush;
    /**
     * Initialize instance of `GetResourceEventHandler` class.
     * Alternate for event handlers and delegates.
     * @private
     */
    constructor(sender: PdfPageBase | PdfTemplate | PdfTilingBrush);
}
export  class PdfGraphicsState {
    /**
     * `Parent graphics` object.
     * @private
     */
    private pdfGraphics;
    /**
     * The current `transformation matrix`.
     * @private
     */
    private transformationMatrix;
    /**
     * Stores `previous rendering mode`.
     * @default TextRenderingMode.Fill
     * @private
     */
    private internalTextRenderingMode;
    /**
     * `Previous character spacing` value or 0.
     * @default 0.0
     * @private
     */
    private internalCharacterSpacing;
    /**
     * `Previous word spacing` value or 0.
     * @default 0.0
     * @private
     */
    private internalWordSpacing;
    /**
     * The previously used `text scaling value`.
     * @default 100.0
     * @private
     */
    private internalTextScaling;
    /**
     * `Current pen`.
     * @private
     */
    private pdfPen;
    /**
     * `Current brush`.
     * @private
     */
    private pdfBrush;
    /**
     * `Current font`.
     * @private
     */
    private pdfFont;
    /**
     * `Current color space`.
     * @default PdfColorSpace.Rgb
     * @private
     */
    private pdfColorSpace;
    /**
     * Gets the parent `graphics object`.
     * @private
     */
    readonly graphics: PdfGraphics;
    /**
     * Gets the `current matrix`.
     * @private
     */
    readonly matrix: PdfTransformationMatrix;
    /**
     * Gets or sets the `current character spacing`.
     * @private
     */
    characterSpacing: number;
    /**
     * Gets or sets the `word spacing` value.
     * @private
     */
    wordSpacing: number;
    /**
     * Gets or sets the `text scaling` value.
     * @private
     */
    textScaling: number;
    /**
     * Gets or sets the `current pen` object.
     * @private
     */
    pen: PdfPen;
    /**
     * Gets or sets the `brush`.
     * @private
     */
    brush: PdfBrush;
    /**
     * Gets or sets the `current font` object.
     * @private
     */
    font: PdfFont;
    /**
     * Gets or sets the `current color space` value.
     * @private
     */
    colorSpace: PdfColorSpace;
    /**
     * Gets or sets the `text rendering mode`.
     * @private
     */
    textRenderingMode: TextRenderingMode;
    /**
     * `default constructor`.
     * @private
     */
    constructor();
    /**
     * Creates new object for `PdfGraphicsState`.
     * @private
     */
    constructor(graphics: PdfGraphics, matrix: PdfTransformationMatrix);
}
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/pdf-color.d.ts
/**
 * Implements structures and routines working with `color`.
 * ```typescript
 * // create a new PDF document
 * let document$ : PdfDocument = new PdfDocument();
 * // add a new page to the document
 * let page1$ : PdfPage = document.pages.add();
 * // set the font
 * let font$ : PdfStandardFont = new PdfStandardFont(PdfFontFamily.Helvetica, 20);
 * //
 * // set color
 * let brushColor : PdfColor = new PdfColor(0, 0, 0);
 * //
 * // create black brush
 * let blackBrush$ : PdfSolidBrush = new PdfSolidBrush(brushColor);
 * // draw the text
 * page1.graphics.drawString('Hello World', font, blackBrush, new PointF(0, 0));
 * // save the document
 * document.save('output.pdf');
 * // destroy the document
 * document.destroy();
 * ```
 * @default black color
 */
export  class PdfColor {
    /**
     * Holds `RGB colors` converted into strings.
     * @private
     */
    private static rgbStrings;
    /**
     * Holds Gray scale colors converted into strings for `stroking`.
     * @private
     */
    private static grayStringsSroke;
    /**
     * Holds Gray scale colors converted into strings for `filling`.
     * @private
     */
    private static grayStringsFill;
    /**
     * Value of `Red` channel.
     * @private
     */
    private redColor;
    /**
     * Value of `Cyan` channel.
     * @private
     */
    private cyanColor;
    /**
     * Value of `Green` channel.
     * @private
     */
    private greenColor;
    /**
     * Value of `Magenta` channel.
     * @private
     */
    private magentaColor;
    /**
     * Value of `Blue` channel.
     * @private
     */
    private blueColor;
    /**
     * Value of `Yellow` channel.
     * @private
     */
    private yellowColor;
    /**
     * Value of `Black` channel.
     * @private
     */
    private blackColor;
    /**
     * Value of `Gray` channel.
     * @private
     */
    private grayColor;
    /**
     * `Alpha` channel.
     * @private
     */
    private alpha;
    /**
     * Shows if the color `is empty`.
     * @private
     */
    private filled;
    /**
     * `Max value` of color channel.
     * @private
     */
    static readonly maxColourChannelValue: number;
    /**
     * Initialize a new instance for `PdfColor` class.
     */
    constructor();
    constructor(color1: PdfColor);
    constructor(color1: number);
    constructor(color1: number, color2: number, color3: number);
    constructor(color1: number, color2: number, color3: number, color4: number);
    /**
     * `Assign` red, green, blue colors with alpha value..
     * @private
     */
    private assignRGB;
    /**
     * `Calculate and assign` cyan, megenta, yellow colors from rgb values..
     * @private
     */
    private assignCMYK;
    /**
     * Gets or sets `Red` channel value.
     * @private
     */
    r: number;
    /**
     * Gets the `Red` color
     * @private
     */
    readonly red: number;
    /**
     * Gets or sets `Blue` channel value.
     * @private
     */
    b: number;
    /**
     * Gets the `blue` color.
     * @private
     */
    readonly blue: number;
    /**
     * Gets or sets `Cyan` channel value.
     * @private
     */
    c: number;
    /**
     * Gets or sets `Black` channel value.
     * @private
     */
    k: number;
    /**
     * Gets or sets `Magenta` channel value.
     * @private
     */
    m: number;
    /**
     * Gets or sets `Yellow` channel value.
     * @private
     */
    y: number;
    /**
     *  Gets or sets `Green` channel value.
     * @private
     */
    g: number;
    /**
     * Gets the `Green` color.
     * @private
     */
    readonly green: number;
    /**
     * Gets or sets `Gray` channel value.
     * @private
     */
    gray: number;
    /**
     * Gets whether the PDFColor `is Empty` or not.
     * @private
     */
    readonly isEmpty: boolean;
    /**
     * Gets or sets `Alpha` channel value.
     * @private
     */
    a: number;
    /**
     * Converts `PDFColor to PDF string` representation.
     * @private
     */
    toString(colorSpace: PdfColorSpace, stroke: boolean): string;
    /**
     * Sets `GrayScale` color.
     * @private
     */
    private grayScaleToString;
    /**
     * Sets `RGB` color.
     * @private
     */
    private rgbToString;
    /***
     * Sets `CMYK` color.
     * @private
     */
    private cmykToString;
    /**
     * Converts `colour to a PDF array`.
     * @private
     */
    toArray(colorSpace: PdfColorSpace): PdfArray;
}
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/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/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/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/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/image-decoder.d.ts
/**
 * ImageDecoder class
 */
/**
 * Specifies the image `format`.
 * @private
 */
export  enum ImageFormat {
    /**
     * Specifies the type of `Unknown`.
     * @hidden
     * @private
     */
    Unknown = 0,
    /**
     * Specifies the type of `Bmp`.
     * @hidden
     * @private
     */
    Bmp = 1,
    /**
     * Specifies the type of `Emf`.
     * @hidden
     * @private
     */
    Emf = 2,
    /**
     * Specifies the type of `Gif`.
     * @hidden
     * @private
     */
    Gif = 3,
    /**
     * Specifies the type of `Jpeg`.
     * @hidden
     * @private
     */
    Jpeg = 4,
    /**
     * Specifies the type of `Png`.
     * @hidden
     * @private
     */
    Png = 5,
    /**
     * Specifies the type of `Wmf`.
     * @hidden
     * @private
     */
    Wmf = 6,
    /**
     * Specifies the type of `Icon`.
     * @hidden
     * @private
     */
    Icon = 7
}
/**
 * `Decode the image stream`.
 * @private
 */
export  class ImageDecoder {
    /**
     * Start of file markers.
     * @hidden
     * @private
     */
    private sof1Marker;
    private sof2Marker;
    private sof3Marker;
    private sof5Marker;
    private sof6Marker;
    private sof7Marker;
    private sof9Marker;
    private sof10Marker;
    private sof11Marker;
    private sof13Marker;
    private sof14Marker;
    private sof15Marker;
    /**
     * Number array for `png header`.
     * @hidden
     * @private
     */
    private static mPngHeader;
    /**
     * Number Array for `jpeg header`.
     * @hidden
     * @private
     */
    private static mJpegHeader;
    /**
     * Number array for `gif header`.
     * @hidden
     * @private
     */
    private static GIF_HEADER;
    /**
     * Number array for `bmp header.`
     * @hidden
     * @private
     */
    private static BMP_HEADER;
    /**
     * `memory stream` to store image data.
     * @hidden
     * @private
     */
    private mStream;
    /**
     * Specifies `format` of image.
     * @hidden
     * @private
     */
    private mFormat;
    /**
     * `height` of image.
     * @hidden
     * @private
     */
    private mHeight;
    /**
     * `width` of image.
     * @hidden
     * @private
     */
    private mWidth;
    /**
     * `Bits per component`.
     * @default 8
     * @hidden
     * @private
     */
    private mbitsPerComponent;
    /**
     * ByteArray to store `image data`.
     * @hidden
     * @private
     */
    private mImageData;
    /**
     * Store an instance of `PdfStream` for an image.
     * @hidden
     * @private
     */
    private imageStream;
    /**
     * 'offset' of image.
     * @hidden
     * @private
     */
    private offset;
    /**
     * Internal variable for accessing fields from `DictionryProperties` class.
     * @hidden
     * @private
     */
    private dictionaryProperties;
    /**
     * Initialize the new instance for `image-decoder` class.
     * @private
     */
    constructor(stream: ByteArray);
    /**
     * Gets the `height` of image.
     * @hidden
     * @private
     */
    readonly height: number;
    /**
     * Gets the `width` of image.
     * @hidden
     * @private
     */
    readonly width: number;
    /**
     * Gets `bits per component`.
     * @hidden
     * @private
     */
    readonly bitsPerComponent: number;
    /**
     * Gets the `size` of an image data.
     * @hidden
     * @private
     */
    readonly size: number;
    /**
     * Gets the value of an `image data`.
     * @hidden
     * @private
     */
    readonly imageData: ByteArray;
    /**
     * Gets the value of an `image data as number array`.
     * @hidden
     * @private
     */
    readonly imageDataAsNumberArray: ArrayBuffer;
    /**
     * `Initialize` image data and image stream.
     * @hidden
     * @private
     */
    private initialize;
    /**
     * `Reset` stream position into 0.
     * @hidden
     * @private
     */
    private reset;
    /**
     * `Parse` Jpeg image.
     * @hidden
     * @private
     */
    private parseJpegImage;
    /**
     * Gets the image `format`.
     * @private
     * @hidden
     */
    readonly format: ImageFormat;
    /**
     * `Checks if JPG`.
     * @private
     * @hidden
     */
    private checkIfJpeg;
    /**
     * Return image `dictionary`.
     * @hidden
     * @private
     */
    getImageDictionary(): PdfStream;
    /**
     * Return `colorSpace` of an image.
     * @hidden
     * @private
     */
    private getColorSpace;
    /**
     * Return `decode parameters` of an image.
     * @hidden
     * @private
     */
    private getDecodeParams;
    /**
     * 'readExceededJPGImage' stream
     * @hidden
     * @private
     */
    private readExceededJPGImage;
    /**
     * 'skip' stream
     * @hidden
     * @private
     */
    private skip;
    /**
     * 'getMarker' stream
     * @hidden
     * @private
     */
    private getMarker;
    /**
     * 'skipStream' stream
     * @hidden
     * @private
     */
    private skipStream;
}
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/images/byte-array.d.ts
/**
 * ByteArray class
 * Used to keep information about image stream as byte array.
 * @private
 */
export  class ByteArray {
    /**
     * Current stream `position`.
     * @default 0
     * @private
     */
    private mPosition;
    /**
     * Uint8Array for returing `buffer`.
     * @hidden
     * @private
     */
    private buffer;
    /**
     * Specifies the `data view`.
     * @hidden
     * @private
     */
    private dataView;
    /**
     * Initialize the new instance for `byte-array` class
     * @hidden
     * @private
     */
    constructor(length: number);
    /**
     * Gets and Sets a current `position` of byte array.
     * @hidden
     * @private
     */
    position: number;
    /**
     * `Read` from current stream position.
     * @default 0
     * @hidden
     * @private
     */
    read(buffer: ByteArray, offset: number, count: number): void;
    /**
     * @hidden
     */
    getBuffer(index: number): number;
    /**
     * @hidden
     */
    writeFromBase64String(base64: string): void;
    /**
     * @hidden
     */
    encodedString(input: string): Uint8Array;
    /**
     * @hidden
     */
    readByte(offset: number): number;
    /**
     * @hidden
     */
    readonly internalBuffer: Uint8Array;
    /**
     * @hidden
     */
    readonly count: number;
    /**
     * 'readNextTwoBytes' stream
     * @hidden
     * @private
     */
    readNextTwoBytes(stream: ByteArray): number;
}
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/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/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/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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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/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/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/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/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/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-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-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-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-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/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/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/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/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;
    _isLastElement: boolean;
    /**
     * 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/figures/rectangle-area.d.ts
/**
 * RectangleArea.ts class for EJ2-PDF
 */
/**
 * `PdfRectangleArea` class Implements graphics rectangle area, which is a sequence of primitive graphics elements.
 * @private
 */
export  abstract class PdfRectangleArea extends PdfFillElement {
    /**
     * public variable to store the rectangle.
     * @public
     */
    bounds: RectangleF;
    /**
     * Initializes a new instance of the `PdfRectangleArea` class.
     * @protected
     */
    protected constructor();
    /**
     * Initializes a new instance of the `PdfRectangleArea` class.
     * @protected
     */
    protected constructor(rectangle: RectangleF);
    /**
     * Initializes a new instance of the `PdfRectangleArea` class.
     * @protected
     */
    protected constructor(pen: PdfPen, brush: PdfBrush, rectangle: RectangleF);
    /**
     * Initializes a new instance of the `PdfRectangleArea` class.
     * @protected
     */
    protected constructor(x: number, y: number, width: number, height: number);
    /**
     * Initializes a new instance of the `PdfRectangleArea` class.
     * @protected
     */
    protected constructor(pen: PdfPen, brush: PdfBrush, x: number, y: number, width: number, height: number);
    /**
     * Gets or sets the X co-ordinate of the upper-left corner of this the element.
     * @public
     */
    x: number;
    /**
     * Gets or sets the Y co-ordinate of the upper-left corner of this the element.
     * @public
     */
    y: number;
    /**
     * Gets or sets the width of this element.
     * @public
     */
    width: number;
    /**
     * Gets or sets the height of this element.
     * @public
     */
    height: number;
    protected getBoundsInternal(): RectangleF;
}
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/figures/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/path.d.ts
/**
 * Path.ts class for EJ2-PDF
 */
/**
 * `PdfPath` class Implements graphics path, which is a sequence of primitive graphics elements.
 * @private
 */
export  class PdfPath extends PdfFillElement {
    /**
     * Local variable to store the points.
     * @private
     */
    private mpoints;
    /**
     * Local variable to store the path Types.
     * @private
     */
    private mpathTypes;
    /**
     * Local variable to store the Start Figure.
     * @private
     */
    private mStartFigure;
    /**
     * Local variable to store the fill Mode.
     * @private
     */
    private mfillMode;
    /**
     * Local variable to store the Beziers.
     * @private
     */
    private isBeziers3;
    /**
     * Local variable to store the xps.
     * @private
     */
    private isXps;
    /**
     * Initializes a new instance of the `PdfPath` class.
     * @public
     */
    constructor();
    /**
     * Initializes a new instance of the `PdfPath` class.
     * @public
     */
    constructor(pen: PdfPen);
    /**
     * Initializes a new instance of the `PdfPath` class.
     * @public
     */
    constructor(brush: PdfBrush);
    /**
     * Initializes a new instance of the `PdfPath` class.
     * @public
     */
    constructor(points: PointF[], pathTypes: number[]);
    /**
     * Initializes a new instance of the `PdfPath` class.
     * @public
     */
    constructor(brush: PdfBrush, fillMode: PdfFillMode);
    /**
     * Initializes a new instance of the `PdfPath` class.
     * @public
     */
    constructor(pen: PdfPen, points: PointF[], pathTypes: number[]);
    /**
     * Initializes a new instance of the `PdfPath` class.
     * @public
     */
    constructor(pen: PdfPen, brush: PdfBrush, fillMode: PdfFillMode);
    /**
     * Initializes a new instance of the `PdfPath` class.
     * @public
     */
    constructor(brush: PdfBrush, fillMode: PdfFillMode, points: PointF[], pathTypes: number[]);
    /**
     * Gets or sets the fill mode.
     * @public
     */
    fillMode: PdfFillMode;
    /**
     * Gets the path points.
     * @public
     */
    readonly pathPoints: PointF[];
    /**
     * Gets the path point types.
     * @public
     */
    readonly pathTypes: number[];
    /**
     * Gets the point count.
     * @public
     */
    readonly pointCount: number;
    /**
     * Gets the last points.
     * @public
     */
    readonly lastPoint: PointF;
    /**
     * Gets the points list.
     * @private
     */
    private readonly points;
    /**
     * Gets the types.
     * @private
     */
    private readonly types;
    /**
     * `draw` the element on the page with the specified page and 'PointF' class
     * @param page Current page where the element should be drawn.
     * @param location Start location on the page.
     */
    draw(page: PdfPage, location: PointF): PdfLayoutResult;
    /**
     * `draw` the element on the page with the specified page and pair of coordinates
     * @private
     */
    draw(page: PdfPage, x: number, y: number): PdfLayoutResult;
    /**
     * `draw` the element on the page with the specified page and 'RectangleF' class
     * @private
     */
    draw(page: PdfPage, layoutRectangle: RectangleF): PdfLayoutResult;
    /**
     * `draw` the element on the page with the specified page, 'PointF' class and layout format
     * @private
     */
    draw(page: PdfPage, location: PointF, format: PdfLayoutFormat): PdfLayoutResult;
    /**
     * `draw` the element on the page with the specified page, pair of coordinates and layout format
     * @private
     */
    draw(page: PdfPage, x: number, y: number, format: PdfLayoutFormat): PdfLayoutResult;
    /**
     * `draw` the element on the page.
     * @private
     */
    draw(page: PdfPage, layoutRect: RectangleF, format: PdfLayoutFormat): PdfLayoutResult;
    /**
     * `add a arc` specified by a rectangle, a coordinate start angle and sweepangle.
     * @param rectangle The boundaries of the arc.
     * @param startAngle The start angle of the arc.
     * @param sweepAngle The angle between startAngle and the end of the arc.
     */
    addArc(rectangle: RectangleF, startAngle: number, sweepAngle: number): void;
    /**
     * `add a arc` specified by a x , y coordinate points, a width, a height and coordinate start angle and sweepangle.
     * @param x The x-coordinate of the upper-left corner of the rectangular region.
     * @param y The y-coordinate of the upper-left corner of the rectangular region
     * @param width The width of the rectangular region.
     * @param height The height of the rectangular region.
     * @param startAngle The start angle of the arc.
     * @param sweepAngle The angle between startAngle and the end of the arc.
     */
    addArc(x: number, y: number, width: number, height: number, startAngle: number, sweepAngle: number): void;
    /**
     * `add a bezier curve` specified by region points.
     * @param startPoint The start point - represents the starting point of the curve.
     * @param firstControlPoint The first control point - represents the second control point of the curve.
     * @param secondControlPoint The second control point - represents the second control point of the curve.
     * @param endPoint The end point - represents the end point of the curve.
     */
    addBezier(startPoint: PointF, firstControlPoint: PointF, secondControlPoint: PointF, endPoint: PointF): void;
    /**
     * `add a bezier curve` specified by region points.
     * @param startPointX The start point X.
     * @param startPointY The start point Y.
     * @param firstControlPointX The first control point X.
     * @param firstControlPointY The first control point Y.
     * @param secondControlPointX The second control point X.
     * @param secondControlPointY The second control point Y.
     * @param endPointX The end point X.
     * @param endPointY The end point Y.
     */
    addBezier(startPointX: number, startPointY: number, firstControlPointX: number, firstControlPointY: number, secondControlPointX: number, secondControlPointY: number, endPointX: number, endPointY: number): void;
    /**
     * `add a ellipse` specified by a rectangle.
     * @param rectangle The boundaries of the ellipse.
     */
    addEllipse(rectangle: RectangleF): void;
    /**
     * `add a ellipse` specified by a rectangle bounds .
     * @param x The x-coordinate of the upper-left corner of the rectangular region.
     * @param y The y-coordinate of the upper-left corner of the rectangular region.
     * @param width The width of the rectangular region.
     * @param height The height of the rectangular region.
     */
    addEllipse(x: number, y: number, width: number, height: number): void;
    /**
     * `add a line` specified by points .
     * @param point1 The start point of the line.
     * @param point2 The end point of the line.
     */
    addLine(point1: PointF, point2: PointF): void;
    /**
     * `add a line` specified by a rectangle bounds.
     * @param x1 The x-coordinate of the starting point of the line.
     * @param y1 The y-coordinate of the starting point of the line.
     * @param x2 The x-coordinate of the end point of the line.
     * @param y2 The y-coordinate of the end point of the line.
     */
    addLine(x1: number, y1: number, x2: number, y2: number): void;
    /**
     * `add a path` specified by a path, appends the path specified to this one.
     * @param path The path, which should be appended.
     */
    addPath(path: PdfPath): void;
    /**
     * `add a path` specified by a path points and path types.
     * @param pathPoints The array of points that represents the points to define the path
     * @param pathTypes The path types specifies the types of the corresponding points in the path.
     */
    addPath(pathPoints: PointF[], pathTypes: number[]): void;
    /**
     * `add a pie` specified by a rectangle, a coordinate start angle and sweepangle.
     * @param rectangle The bounding rectangle of the pie.
     * @param startAngle The start angle of the pie.
     * @param sweepAngle The sweep angle of the pie.
     */
    addPie(rectangle: RectangleF, startAngle: number, sweepAngle: number): void;
    /**
     * `add a pie` specified by x , y coordinate points, a width, a height and start angle and sweepangle.
     * @param x The x-coordinate of the upper-left corner of the bounding rectangle.
     * @param y The y-coordinate of the upper-left corner of the bounding rectangle.
     * @param width The width of the bounding rectangle.
     * @param height The height of the bounding rectangle
     * @param startAngle The start angle of the pie.
     * @param sweepAngle The sweep angle of the pie.
     */
    addPie(x: number, y: number, width: number, height: number, startAngle: number, sweepAngle: number): void;
    /**
     * `add a polygon` specified by points.
     * @param points The points of the polygon
     */
    addPolygon(points: PointF[]): void;
    /**
     * `add a rectangle` specified by a rectangle.
     * @param rectangle The rectangle.
     */
    addRectangle(rectangle: RectangleF): void;
    /**
     * `add a rectangle` specified by a rectangle.
     * @param x The x-coordinate of the upper-left corner of the rectangular region.
     * @param y The y-coordinate of the upper-left corner of the rectangular region
     * @param width The width of the rectangular region.
     * @param height The height of the rectangular region.
     */
    addRectangle(x: number, y: number, width: number, height: number): void;
    /**
     * Starts a new figure.
     * @public
     */
    startFigure(): void;
    /**
     * Closed all non-closed figures.
     * @public
     */
    closeAllFigures(): void;
    /**
     * Gets the last point.
     * @public
     */
    getLastPoint(): PointF;
    /**
     * Gets the bezier points for arc constructing.
     * @public
     */
    getBezierArcPoints(x1: number, y1: number, x2: number, y2: number, s1: number, e1: number): number[];
    /**
     * `getBoundsInternal` Returns a rectangle that bounds this element.
     * @public
     */
    getBoundsInternal(): RectangleF;
    /**
     * `drawInternal` Draws an element on the Graphics.
     * @param graphics Graphics context where the element should be printed.
     * @public
     */
    drawInternal(graphics: PdfGraphics): void;
    /**
     * `add a points` Adds the points along with their type to the path.
     * @param points The points.
     * @param pointType Type of the points.
     * @private
     */
    private addPoints;
    /**
     * `add a point` Adds the point and its type
     * @param points The points.
     * @param pointType Type of the points.
     * @private
     */
    private addPoint;
    /**
     * Closes the figure.
     * @public
     */
    closeFigure(): void;
    /**
     * Closes the figure.
     * @param index The index of the last figure point.
     * @public
     */
    closeFigure(index: number): void;
}
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/figures/layout-element.d.ts
/**
 * PdfLayoutElement.ts class for EJ2-PDF
 */
/**
 * `PdfLayoutElement` class represents the base class for all elements that can be layout on the pages.
 * @private
 */
export  abstract class PdfLayoutElement {
    /**
     * Indicating whether [`embed fonts`]
     * @private
     */
    private bEmbedFonts;
    endPageLayout: Function;
    beginPageLayout: Function;
    /**
     * Gets a value indicating whether the `start page layout event` should be raised.
     * @private
     */
    readonly raiseBeginPageLayout: boolean;
    /**
     * Gets a value indicating whether the `ending page layout event` should be raised.
     * @private
     */
    readonly raiseEndPageLayout: boolean;
    onBeginPageLayout(args: PdfGridBeginPageLayoutEventArgs | BeginPageLayoutEventArgs): void;
    onEndPageLayout(args: PdfGridEndPageLayoutEventArgs | EndPageLayoutEventArgs): void;
    /**
     * `Draws` the element on the page with the specified page and "PointF" class
     * @private
     */
    drawHelper(page: PdfPage, location: PointF): PdfLayoutResult;
    /**
     * `Draws` the element on the page with the specified page and pair of coordinates
     * @private
     */
    drawHelper(page: PdfPage, x: number, y: number): PdfLayoutResult;
    /**
     * `Draws` the element on the page with the specified page and "RectangleF" class
     * @private
     */
    drawHelper(page: PdfPage, layoutRectangle: RectangleF): PdfLayoutResult;
    /**
     * `Draws` the element on the page with the specified page, "PointF" class and layout format
     * @private
     */
    drawHelper(page: PdfPage, location: PointF, format: PdfLayoutFormat): PdfLayoutResult;
    /**
     * `Draws` the element on the page with the specified page, pair of coordinates and layout format
     * @private
     */
    drawHelper(page: PdfPage, x: number, y: number, format: PdfLayoutFormat): PdfLayoutResult;
    /**
     * `Draws` the element on the page.
     * @private
     */
    drawHelper(page: PdfPage, layoutRectangle: RectangleF, embedFonts: boolean): PdfLayoutResult;
    /**
     * `Draws` the element on the page with the specified page, "RectangleF" class and layout format
     * @private
     */
    drawHelper(page: PdfPage, layoutRectangle: RectangleF, format: PdfLayoutFormat): PdfLayoutResult;
    /**
     * `Layouts` the specified param.
     * @private
     */
    protected abstract layout(param: PdfLayoutParams): PdfLayoutResult;
}
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/figures/enum.d.ts
/**
 * public Enum for `PdfLayoutType`.
 * @private
 */
export  enum PdfLayoutType {
    /**
     * Specifies the type of `Paginate`.
     * @private
     */
    Paginate = 0,
    /**
     * Specifies the type of `OnePage`.
     * @private
     */
    OnePage = 1
}
/**
 * public Enum for `PdfLayoutBreakType`.
 * @private
 */
export  enum PdfLayoutBreakType {
    /**
     * Specifies the type of `FitPage`.
     * @private
     */
    FitPage = 0,
    /**
     * Specifies the type of `FitElement`.
     * @private
     */
    FitElement = 1,
    /**
     * Specifies the type of `FitColumnsToPage`.
     * @private
     */
    FitColumnsToPage = 2
}
export  enum PathPointType {
    /**
     * Specifies the path point type of `Start`.
     * @private
     */
    Start = 0,
    /**
     * Specifies the path point type of `Line`.
     * @private
     */
    Line = 1,
    /**
     * Specifies the path point type of `Bezier3`.
     * @private
     */
    Bezier3 = 3,
    /**
     * Specifies the path point type of `Bezier`.
     * @private
     */
    Bezier = 3,
    /**
     * Specifies the path point type of `PathTypeMask`.
     * @private
     */
    PathTypeMask = 7,
    /**
     * Specifies the path point type of `DashMode`.
     * @private
     */
    DashMode = 16,
    /**
     * Specifies the path point type of `PathMarker`.
     * @private
     */
    PathMarker = 32,
    /**
     * Specifies the path point type of `CloseSubpath`.
     * @private
     */
    CloseSubpath = 128
}
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/figures/ellipse-part.d.ts
/**
 * ellipse-part.ts class for EJ2-PDF
 */
/**
 * `PdfEllipsePart` class Implements graphics ellipse part, which is a sequence of primitive graphics elements.
 * @private
 */
export  abstract class PdfEllipsePart extends PdfRectangleArea {
    /**
     * public variable to store the start angle.
     * @public
     */
    startAngle: number;
    /**
     * public variable to store the sweep angle.
     * @public
     */
    sweepAngle: number;
    /**
     * Initializes a new instance of the `PdfEllipsePart` class.
     * @protected
     */
    protected constructor();
    /**
     * Initializes a new instance of the `PdfEllipsePart` class.
     * @protected
     */
    protected constructor(x: number, y: number, width: number, height: number, startAngle: number, sweepAngle: number);
    /**
     * Initializes a new instance of the `PdfEllipsePart` class.
     * @protected
     */
    protected constructor(rectangle: RectangleF, startAngle: number, sweepAngle: number);
    /**
     * Initializes a new instance of the `PdfEllipsePart` class.
     * @protected
     */
    protected constructor(pen: PdfPen, brush: PdfBrush, x: number, y: number, width: number, height: number, startAngle: number, sweepAngle: number);
    /**
     * Initializes a new instance of the `PdfEllipsePart` class.
     * @protected
     */
    protected constructor(pen: PdfPen, brush: PdfBrush, rectangle: RectangleF, startAngle: number, sweepAngle: number);
}
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/figures/arc.d.ts
/**
 * arc.ts class for EJ2-PDF
 */
/**
 * `PdfArc` class Implements graphics arc, which is a sequence of primitive graphics elements.
 * @private
 */
export  class PdfArc extends PdfEllipsePart {
    /**
     * Initializes a new instance of the `PdfArc` class.
     * @public
     */
    constructor();
    /**
     * Initializes a new instance of the `PdfArc` class.
     * @public
     */
    constructor(width: number, height: number, startAngle: number, sweepAngle: number);
    /**
     * Initializes a new instance of the `PdfArc` class.
     * @public
     */
    constructor(pen: PdfPen, rectangle: RectangleF, startAngle: number, sweepAngle: number);
    /**
     * Initializes a new instance of the `PdfArc` class.
     * @public
     */
    constructor(pen: PdfPen, x: number, y: number, width: number, height: number, startAngle: number, sweepAngle: number);
    /**
     * Initializes a new instance of the `PdfArc` class.
     * @public
     */
    constructor(pen: PdfPen, width: number, height: number, startAngle: number, sweepAngle: number);
    /**
     * Initializes a new instance of the `PdfArc` class.
     * @public
     */
    constructor(x: number, y: number, width: number, height: number, startAngle: number, sweepAngle: number);
    /**
     * Initializes a new instance of the `PdfArc` class.
     * @public
     */
    constructor(rectangle: RectangleF, startAngle: number, sweepAngle: number);
    /**
     * `draw` the element on the page with the specified page and 'PointF' class
     * @param page Current page where the element should be drawn.
     * @param location Start location on the page.
     */
    draw(page: PdfPage, location: PointF): PdfLayoutResult;
    /**
     * `draw` the element on the page with the specified page and pair of coordinates
     * @private
     */
    draw(page: PdfPage, x: number, y: number): PdfLayoutResult;
    /**
     * `draw` the element on the page with the specified page and 'RectangleF' class
     * @private
     */
    draw(page: PdfPage, layoutRectangle: RectangleF): PdfLayoutResult;
    /**
     * `draw` the element on the page with the specified page, 'PointF' class and layout format
     * @private
     */
    draw(page: PdfPage, location: PointF, format: PdfLayoutFormat): PdfLayoutResult;
    /**
     * `draw` the element on the page with the specified page, pair of coordinates and layout format
     * @private
     */
    draw(page: PdfPage, x: number, y: number, format: PdfLayoutFormat): PdfLayoutResult;
    /**
     * `draw` the element on the page.
     * @private
     */
    draw(page: PdfPage, layoutRect: RectangleF, format: PdfLayoutFormat): PdfLayoutResult;
    /**
     * `drawInternal` Draws an element on the Graphics.
     * @param graphics Graphics context where the element should be printed.
     *
     */
    drawInternal(graphics: PdfGraphics): void;
}
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/figures/base/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/base/shape-layouter.d.ts
/**
 * ShapeLayouter.ts class for EJ2-PDF
 * @private
 */
/**
 * ShapeLayouter class.
 * @private
 */
export  class ShapeLayouter extends ElementLayouter {
    /**
     * Initializes the object to store `older form elements` of previous page.
     * @default 0
     * @private
     */
    olderPdfForm: number;
    /**
     * Initializes the offset `index`.
     * * @default 0
     * @private
     */
    private static index;
    /**
     * Initializes the `difference in page height`.
     * * @default 0
     * @private
     */
    private static splitDiff;
    /**
     * Determines the `end of Vertical offset` values.
     * * @default false
     * @private
     */
    private static last;
    /**
     * Determines the document link annotation `border width`.
     * * @default 0
     * @private
     */
    private static readonly borderWidth;
    /**
     * Checks weather `is pdf grid` or not.
     * @private
     */
    isPdfGrid: boolean;
    /**
     * The `bounds` of the shape element.
     * * @default new RectangleF()
     * @private
     */
    shapeBounds: RectangleF;
    /**
     * The `bottom cell padding`.
     * @private
     */
    bottomCellPadding: number;
    /**
     * Total Page size of the web page.
     * * @default 0
     * @private
     */
    private totalPageSize;
    /**
     * Initializes a new instance of the `ShapeLayouter` class.
     * @private
     */
    constructor(element: PdfShapeElement);
    /**
     * Gets shape element.
     * @private
     */
    readonly element: PdfShapeElement;
    /**
     * Layouts the element.
     * @private
     */
    protected layoutInternal(param: PdfLayoutParams): PdfLayoutResult;
    /**
     * Raises BeforePageLayout event.
     * @private
     */
    private raiseBeforePageLayout;
    /**
     * Raises PageLayout event if needed.
     * @private
     */
    private raiseEndPageLayout;
    /**
     * Creates layout result.
     * @private
     */
    private getLayoutResult;
    /**
     * Calculates the next active shape bounds.
     * @private
     */
    private getNextShapeBounds;
    /**
     * Layouts the element on the current page.
     * @private
     */
    private layoutOnPage;
    /**
     * Returns Rectangle for element drawing on the page.
     * @private
     */
    private getDrawBounds;
    /**
     * Draws the shape.
     * @private
     */
    private drawShape;
    /**
     * Corrects current bounds on the page.
     * @protected
     */
    protected checkCorrectCurrentBounds(currentPage: PdfPage, curBounds: RectangleF, param: PdfLayoutParams): RectangleF;
    /**
     * Calculates bounds where the shape was layout on the page.
     * @private
     */
    private getPageResultBounds;
    /**
     * Checks whether shape rectangle fits to the lay outing bounds.
     * @private
     */
    private fitsToBounds;
}
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/figures/base/pdf-shape-element.d.ts
/**
 * PdfShapeElement.ts class for EJ2-PDF
 * @private
 */
/**
 * Base class for the main shapes.
 * @private
 */
export  abstract class PdfShapeElement extends PdfLayoutElement {
    /**
     * Gets the bounds.
     * @private
     */
    getBounds(): RectangleF;
    /**
     * `drawGraphicsHelper` the graphics.
     * @public
     */
    drawGraphicsHelper(graphics: PdfGraphics, location: PointF): void;
    /**
     * `drawShapeHelper` the graphics.
     * @private
     */
    private drawShapeHelper;
    protected abstract drawInternal(graphics: PdfGraphics): void;
    /**
     * Returns a rectangle that bounds this element.
     * @private
     */
    protected abstract getBoundsInternal(): RectangleF;
    /**
     * Layouts the element.
     * @private
     */
    protected layout(param: PdfLayoutParams): PdfLayoutResult;
}
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/figures/base/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/fill-element.d.ts
/**
 * PdfFillElement.ts class for EJ2-PDF
 */
/**
 * Represents a base class for all page graphics elements.
 */
export  abstract class PdfFillElement extends PdfDrawElement {
    /**
     * Internal variable to store pen.
     * @private
     */
    private mbrush;
    /**
     * Initializes a new instance of the `PdfFillElement` class.
     * @protected
     */
    protected constructor();
    /**
     * Initializes a new instance of the `PdfFillElement` class.
     * @protected
     */
    protected constructor(pen: PdfPen);
    /**
     * Initializes a new instance of the `PdfFillElement` class.
     * @protected
     */
    protected constructor(brush: PdfBrush);
    /**
     * Initializes a new instance of the `PdfFillElement` class.
     * @protected
     */
    protected constructor(pen: PdfPen, brush: PdfBrush);
    /**
     * Gets or sets a brush of the element.
     * @public
     */
    brush: PdfBrush;
    /**
     * Gets the pen. If both pen and brush are not explicitly defined, default pen will be used.
     * @protected
     */
    protected obtainPen(): PdfPen;
}
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/figures/base/element-layouter.d.ts
/**
 * ElementLayouter.ts class for EJ2-PDF
 */
/**
 * Base class for `elements lay outing`.
 * @private
 */
export  abstract class ElementLayouter {
    /**
     * Layout the `element`.
     * @private
     */
    private layoutElement;
    /**
     * Initializes a new instance of the `ElementLayouter` class.
     * @private
     */
    constructor(element: PdfLayoutElement);
    /**
     * Gets the `element`.
     * @private
     */
    readonly elements: PdfLayoutElement;
    /**
     * Gets the `element`.
     * @private
     */
    getElement(): PdfLayoutElement;
    /**
     * `Layouts` the element.
     * @private
     */
    layout(param: PdfLayoutParams): PdfLayoutResult;
    Layouter(param: PdfLayoutParams): PdfLayoutResult;
    /**
     * Returns the `next page`.
     * @private
     */
    getNextPage(currentPage: PdfPage): PdfPage;
    protected getPaginateBounds(param: PdfLayoutParams): RectangleF;
    /**
     * `Layouts` the element.
     * @private
     */
    protected abstract layoutInternal(param: PdfLayoutParams): PdfLayoutResult;
}
export  class PdfLayoutFormat {
    /**
     * Indicates whether `PaginateBounds` were set and should be used or not.
     * @private
     */
    private boundsSet;
    /**
     * `Bounds` for the paginating.
     * @private
     */
    private layoutPaginateBounds;
    /**
     * `Layout` type of the element.
     * @private
     */
    private layoutType;
    /**
     * `Break` type of the element.
     * @private
     */
    private breakType;
    /**
     * Gets or sets `layout` type of the element.
     * @private
     */
    layout: PdfLayoutType;
    /**
     * Gets or sets `break` type of the element.
     * @private
     */
    break: PdfLayoutBreakType;
    /**
     * Gets or sets the `bounds` on the next page.
     * @private
     */
    paginateBounds: RectangleF;
    /**
     * Gets a value indicating whether [`use paginate bounds`].
     * @private
     */
    readonly usePaginateBounds: boolean;
    /**
     * Initializes a new instance of the `PdfLayoutFormat` class.
     * @private
     */
    constructor();
    /**
     * Initializes a new instance of the `PdfLayoutFormat` class.
     * @private
     */
    constructor(baseFormat: PdfLayoutFormat);
}
export  class PdfLayoutParams {
    /**
     * The last `page` where the element was drawn.
     * @private
     */
    private pdfPage;
    /**
     * The `bounds` of the element on the last page where it was drawn.
     * @private
     */
    private layoutBounds;
    /**
     * Layout settings as `format`.
     * @private
     */
    private layoutFormat;
    /**
     * Gets or sets the layout `page` for the element.
     * @private
     */
    page: PdfPage;
    /**
     * Gets or sets layout `bounds` for the element.
     * @private
     */
    bounds: RectangleF;
    /**
     * Gets or sets `layout settings` for the element.
     * @private
     */
    format: PdfLayoutFormat;
}
export  class PdfLayoutResult {
    /**
     * The last `page` where the element was drawn.
     * @private
     */
    private pdfPage;
    /**
     * The `bounds` of the element on the last page where it was drawn.
     * @private
     */
    private layoutBounds;
    /**
     * Gets the last `page` where the element was drawn.
     * @private
     */
    readonly page: PdfPage;
    /**
     * Gets the `bounds` of the element on the last page where it was drawn.
     * @private
     */
    readonly bounds: RectangleF;
    /**
     * Initializes the new instance of `PdfLayoutResult` class.
     * @private
     */
    constructor(page: PdfPage, bounds: RectangleF);
}
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/figures/base/draw-element.d.ts
/**
 * PdfDrawElement.ts class for EJ2-PDF
 */
/**
 * Represents a base class for all page graphics elements.
 */
export  abstract class PdfDrawElement extends PdfShapeElement {
    /**
     * Internal variable to store pen.
     * @private
     */
    private mpen;
    /**
     * Initializes a new instance of the `PdfDrawElement` class.
     * @protected
     */
    protected constructor();
    /**
     * Initializes a new instance of the `PdfDrawElement` class.
     * @protected
     */
    protected constructor(pen: PdfPen);
    /**
     * Gets or sets a pen that will be used to draw the element.
     * @public
     */
    pen: PdfPen;
}
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/brushes/pdf-tiling-brush.d.ts
/**
 * PdfTilingBrush.ts class for EJ2-PDF
 */
/**
 * `PdfTilingBrush` Implements a colored tiling brush.
 */
export  class PdfTilingBrush extends PdfBrush implements IPdfWrapper {
    /**
     * Local variable to store rectanble box.
     * @private
     */
    private mBox;
    /**
     * Local variable to store graphics.
     * @private
     */
    private mGraphics;
    /**
     * Local variable to store brush Stream.
     * @private
     */
    private brushStream;
    /**
     * Local variable to store brush Stream.
     * @private
     */
    private tempBrushStream;
    /**
     * Local variable to store resources.
     * @private
     */
    private mResources;
    /**
     * Local variable to store Stroking.
     * @private
     */
    private mStroking;
    /**
     * Local variable to store the page.
     * @private
     */
    private mPage;
    /**
     * Local variable to store the tile start location.
     * @private
     */
    private mLocation;
    /**
     * Local variable to store the Matrix.
     * @private
     */
    private mTransformationMatrix;
    /**
     * Local variable to store the dictionary properties.
     * @private
     */
    private mDictionaryProperties;
    /**
     * Initializes a new instance of the `PdfTilingBrush` class.
     * @public
     */
    constructor(rectangle: Rectangle);
    /**
     * Initializes a new instance of the `PdfTilingBrush` class.
     * @public
     */
    constructor(size: SizeF);
    /**
     * Initializes a new instance of the `PdfTilingBrush` class.
     * @public
     */
    constructor(size: SizeF, page: PdfPage);
    /**
     * Initializes a new instance of the `PdfTilingBrush` class.
     * @public
     */
    constructor(rectangle: Rectangle, page: PdfPage);
    /**
     * Initializes a new instance of the `PdfTilingBrush` class.
     * @private
     * @param rectangle The size of the smallest brush cell.
     * @param page The Current Page Object.
     * @param location The Tile start location.
     * @param matrix The matrix.
     */
    private initialize;
    /**
     * Location representing the start position of the tiles.
     * @public
     */
    location: PointF;
    /**
     * Sets the obligatory fields.
     * @private
     */
    private setObligatoryFields;
    /**
     * Sets the BBox coordinates.
     * @private
     */
    private setBox;
    /**
     * Gets the boundary box of the smallest brush cell.
     * @public
     */
    readonly rectangle: Rectangle;
    /**
     * Gets the size of the smallest brush cell.
     * @public
     */
    readonly size: SizeF;
    /**
     * Gets Graphics context of the brush.
     */
    readonly graphics: PdfGraphics;
    /**
     * Gets the resources and modifies the template dictionary.
     * @public
     */
    getResources(): PdfResources;
    /**
     * Gets or sets a value indicating whether this PdfTilingBrush
     * is used for stroking operations.
     */
    stroking: boolean;
    /**
     * Creates a new copy of a brush.
     * @public
     */
    clone(): PdfBrush;
    /**
     * Monitors the changes of the brush and modify PDF state respectfully.
     * @param brush The brush
     * @param streamWriter The stream writer
     * @param getResources The get resources delegate.
     * @param saveChanges if set to true the changes should be saved anyway.
     * @param currentColorSpace The current color space.
     */
    monitorChanges(brush: PdfBrush, streamWriter: PdfStreamWriter, getResources: GetResourceEventHandler, saveChanges: boolean, currentColorSpace: PdfColorSpace): boolean;
    /**
     * Resets the changes, which were made by the brush.
     * In other words resets the state to the initial one.
     * @param streamWriter The stream writer.
     */
    resetChanges(streamWriter: PdfStreamWriter): void;
    /**
     * Gets the `element`.
     * @public
     */
    readonly element: IPdfPrimitive;
}
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/brushes/pdf-solid-brush.d.ts
/**
 * Represents a brush that fills any object with a solid color.
 * ```typescript
 * // create a new PDF document
 * let document$ : PdfDocument = new PdfDocument();
 * // add a pages to the document
 * let page1$ : PdfPage = document.pages.add();
 * // set font
 * let font$ : PdfStandardFont = new PdfStandardFont(PdfFontFamily.Helvetica, 20);
 * // set brush
 * let blackBrush$ : PdfSolidBrush = new PdfSolidBrush(new PdfColor(0, 0, 0));
 * // draw the text
 * page1.graphics.drawString('Hello World', font, blackBrush, new PointF(10, 10));
 * // save the document
 * document.save('output.pdf');
 * // destroy the document
 * document.destroy();
 * ```
 */
export  class PdfSolidBrush extends PdfBrush {
    /**
     * The `colour` of the brush.
     * @private
     */
    pdfColor: PdfColor;
    /**
     * Indicates if the brush is `immutable`.
     * @private
     */
    private bImmutable;
    /**
     * The `color space` of the brush.
     * @private
     */
    private colorSpace;
    /**
     * Initializes a new instance of the `PdfSolidBrush` class.
     * ```typescript
     * // create a new PDF document
     * let document$ : PdfDocument = new PdfDocument();
     * // add a pages to the document
     * let page1$ : PdfPage = document.pages.add();
     * // set font
     * let font$ : PdfStandardFont = new PdfStandardFont(PdfFontFamily.Helvetica, 20);
     * // set brush
     * let blackBrush$ : PdfSolidBrush = new PdfSolidBrush(new PdfColor(0, 0, 0));
     * // draw the text
     * page1.graphics.drawString('Hello World', font, blackBrush, new PointF(10, 10));
     * // save the document
     * document.save('output.pdf');
     * // destroy the document
     * document.destroy();
     * ```
     * @param color color of the brush
     */
    constructor(color: PdfColor);
    /**
     * Gets or sets the `color` of the brush.
     * @private
     */
    color: PdfColor;
    /**
     * `Monitors` the changes of the brush and modify PDF state respectively.
     * @private
     */
    monitorChanges(brush: PdfBrush, streamWriter: PdfStreamWriter, getResources: GetResourceEventHandler, saveChanges: boolean, currentColorSpace: PdfColorSpace): boolean;
    /**
     * `Resets` the changes, which were made by the brush.
     * @private
     */
    resetChanges(streamWriter: PdfStreamWriter): void;
}
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/brushes/pdf-radial-gradient-brush.d.ts
/**
 * `PdfRadialGradientBrush` Represent radial gradient brush.
 * @private
 */
export  class PdfRadialGradientBrush extends PdfGradientBrush {
    /**
     * Local varaible to store the point start.
     * @private
     */
    private mPointStart;
    /**
     * Local varaible to store the radius start.
     * @private
     */
    private mRadiusStart;
    /**
     * Local varaible to store the point End.
     * @private
     */
    private mPointEnd;
    /**
     * Local varaible to store the radius End.
     * @private
     */
    private mRadiusEnd;
    /**
     * Local varaible to store the colours.
     * @private
     */
    private mColour;
    /**
     * Local varaible to store the colour blend.
     * @private
     */
    private mColourBlends;
    /**
     * Local varaible to store the blend.
     * @private
     */
    private mBlend;
    /**
     * Local varaible to store the boundaries.
     * @private
     */
    private mBoundaries;
    /**
     * Local varaible to store the dictionary properties.
     */
    private mDictionaryProperties;
    /**
     * Initializes a new instance of the `PdfRadialGradientBrush` class.
     * @public
     */
    constructor(centerStart: PointF, radiusStart: number, centerEnd: PointF, radiusEnd: number, colorStart: PdfColor, colorEnd: PdfColor);
    /**
     * Initializes a new instance of the `PdfRadialGradientBrush` class.
     * @param color1 The color1.
     * @param color2 The color2.
     */
    private initialize;
    /**
     * Gets or sets a PdfBlend that specifies positions and factors that define a custom falloff for the gradient.
     * @public
     */
    blend: PdfBlend;
    /**
     * Gets or sets a ColorBlend that defines a multicolor radial gradient.
     * @public
     */
    interpolationColors: PdfColorBlend;
    /**
     * Gets or sets the starting and ending colors of the radial gradient.
     * @public
     */
    linearColors: PdfColor[];
    /**
     * Gets or sets the rectangle.
     * @public
     */
    rectangle: RectangleF;
    /**
     * Gets or sets the value indicating whether the gradient
     *  should extend starting and ending points.
     * @public
     */
    extend: PdfExtend;
    /**
     * Sets the points.
     * @param pointStart The point start.
     * @param pointEnd The point end.
     * @param radiusStart The radius start.
     * @param radiusEnd The radius end.
     */
    private setPoints;
    /**
     * Update y co-ordinate.
     * @param y Y co-ordinate.
     */
    private updateY;
    /**
     * Initializess the shading dictionary.
     * @private
     */
    private initShading;
    /**
     * Creates a new copy of a brush.
     * @public
     */
    clone(): PdfBrush;
    /**
     * Resets the function.
     * @public
     */
    resetFunction(): void;
}
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/brushes/pdf-linear-gradient-brush.d.ts
/**
 * `PdfLinearGradientBrush` Implements linear gradient brush by using PDF axial shading pattern.
 * @private
 */
export  class PdfLinearGradientBrush extends PdfGradientBrush {
    /**
     * Local variable to store the point start.
     * @private
     */
    private mPointStart;
    /**
     * Local variable to store the point end.
     */
    private mPointEnd;
    /**
     * Local variable to store the colours.
     */
    private mColours;
    /**
     * Local variable to store the colour Blend.
     */
    private mColourBlend;
    /**
     * Local variable to store the blend.
     * @private
     */
    private mBlend;
    /**
     * Local variable to store the boundaries.
     * @private
     */
    private mBoundaries;
    /**
     * Local variable to store the dictionary properties.
     * @private
     */
    private mDictionaryProperties;
    /**
     * Initializes a new instance of the `PdfLinearGradientBrush` class.
     * @public
     */
    constructor(point1: PointF, point2: PointF, color1: PdfColor, color2: PdfColor);
    /**
     * Initializes a new instance of the `PdfLinearGradientBrush` class.
     * @public
     */
    constructor(rect: Rectangle, color1: PdfColor, color2: PdfColor, mode: PdfLinearGradientMode);
    /**
     * Initializes a new instance of the `PdfLinearGradientBrush` class.
     * @public
     */
    constructor(rect: Rectangle, color1: PdfColor, color2: PdfColor, angle: number);
    /**
     * Initializes a new instance of the `PdfLinearGradientBrush` class.
     * @param color1 The starting color of the gradient.
     * @param color2 The end color of the gradient.
     */
    private initialize;
    /**
     * Gets or sets a PdfBlend that specifies positions
     * and factors that define a custom falloff for the gradient.
     * @public
     */
    blend: PdfBlend;
    /**
     * Gets or sets a ColorBlend that defines a multicolor linear gradient.
     * @public
     */
    interpolationColors: PdfColorBlend;
    /**
     * Gets or sets the starting and ending colors of the gradient.
     * @public
     */
    linearColors: PdfColor[];
    /**
     * Gets a rectangular region that defines the boundaries of the gradient.
     * @public
     */
    readonly rectangle: Rectangle;
    /**
     * Gets or sets the value indicating whether the gradient should extend starting and ending points.
     * @public
     */
    extend: PdfExtend;
    /**
     * Adds two points to each other.
     * @param point1 The point1.
     * @param point2 The point2.
     */
    private addPoints;
    /**
     * Subs the second point from the first one.
     * @param point1 The point1.
     * @param point2 The point2.
     */
    private subPoints;
    /**
     * Makes scalar multiplication of two points.
     * @param point1 The point1.
     * @param point2 The point2.
     */
    private mulPoints;
    /**
     * Multiplies the point by the value specified.
     * @param point The point1.
     * @param value The value.
     */
    private mulPoint;
    /**
     * Choose the point according to the angle.
     * @param angle The angle.
     */
    private choosePoint;
    /**
     * Sets the start and end points.
     * @param point1 The point1.
     * @param point2 The point2.
     */
    private setPoints;
    /**
     * Updates y co-ordinate.
     * @param y Y co-ordinate..
     */
    private updateY;
    /**
     * Initializes the shading dictionary.
     * @private
     */
    private initShading;
    /**
     * Creates a new copy of a brush.
     * @public
     */
    clone(): PdfBrush;
    /**
     * Resets the function.
     * @public
     */
    resetFunction(): void;
}
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/brushes/pdf-gradient-brush.d.ts
/**
 * PdfGradientBrush.ts class for EJ2-PDF
 */
/**
 * `PdfGradientBrush` class provides objects used to fill the interiors of graphical shapes such as rectangles,
 * ellipses, pies, polygons, and paths.
 * @private
 */
export  abstract class PdfGradientBrush extends PdfBrush implements IPdfWrapper {
    /**
     * Local variable to store the background color.
     * @private
     */
    private mbackground;
    /**
     * Local variable to store the stroking color.
     * @private
     */
    private mbStroking;
    /**
     * Local variable to store the dictionary.
     * @private
     */
    private mpatternDictionary;
    /**
     * Local variable to store the shading.
     * @private
     */
    private mshading;
    /**
     * Local variable to store the Transformation Matrix.
     * @private
     */
    private mmatrix;
    /**
     * Local variable to store the colorSpace.
     * @private
     */
    private mcolorSpace;
    /**
     * Local variable to store the function.
     * @private
     */
    private mfunction;
    /**
     * Local variable to store the DictionaryProperties.
     * @private
     */
    private dictionaryProperties;
    /**
     * Initializes a new instance of the `PdfGradientBrush` class.
     * @public
     */
    constructor(shading: PdfDictionary);
    /**
     * Gets or sets the background color of the brush.
     * @public
     */
    background: PdfColor;
    /**
     * Gets or sets a value indicating whether use anti aliasing algorithm.
     * @public
     */
    antiAlias: boolean;
    /**
     * Gets or sets the function of the brush.
     * @protected
     */
    protected function: PdfFunction;
    /**
     * Gets or sets the boundary box of the brush.
     * @protected
     */
    protected bBox: PdfArray;
    /**
     * Gets or sets the color space of the brush.
     * @public
     */
    colorSpace: PdfColorSpace;
    /**
     * Gets or sets a value indicating whether this PdfGradientBrush is stroking.
     * @public
     */
    stroking: boolean;
    /**
     * Gets the pattern dictionary.
     * @protected
     */
    protected readonly patternDictionary: PdfDictionary;
    /**
     * Gets or sets the shading dictionary.
     * @protected
     */
    protected shading: PdfDictionary;
    /**
     * Gets or sets the transformation matrix.
     * @public
     */
    matrix: PdfTransformationMatrix;
    /**
     * Monitors the changes of the brush and modify PDF state respectfully.
     * @param brush The brush.
     * @param streamWriter The stream writer.
     * @param getResources The get resources delegate.
     * @param saveChanges if set to true the changes should be saved anyway.
     * @param currentColorSpace The current color space.
     */
    monitorChanges(brush: PdfBrush, streamWriter: PdfStreamWriter, getResources: GetResourceEventHandler, saveChanges: boolean, currentColorSpace: PdfColorSpace): boolean;
    /**
     * Resets the changes, which were made by the brush.
     * In other words resets the state to the initial one.
     * @param streamWriter The stream writer.
     */
    resetChanges(streamWriter: PdfStreamWriter): void;
    /**
     * Converts colorspace enum to a PDF name.
     * @param colorSpace The color space enum value.
     */
    private colorSpaceToDeviceName;
    /**
     * Resets the pattern dictionary.
     * @param dictionary A new pattern dictionary.
     */
    protected resetPatternDictionary(dictionary: PdfDictionary): void;
    /**
     * Resets the function.
     */
    abstract resetFunction(): void;
    /**
     * Clones the anti aliasing value.
     * @param brush The brush.
     */
    protected cloneAntiAliasingValue(brush: PdfGradientBrush): void;
    /**
     * Clones the background value.
     * @param brush The brush.
     */
    protected cloneBackgroundValue(brush: PdfGradientBrush): void;
    /**
     * Gets the `element`.
     * @private
     */
    readonly element: IPdfPrimitive;
}
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/brushes/pdf-color-blend.d.ts
/**
 * PdfColorBlend.ts class for EJ2-PDF
 */
/**
 * `PdfColorBlend` Represents the arrays of colors and positions used for
 *  interpolating color blending in a multicolor gradient.
 * @private
 */
export  class PdfColorBlend extends PdfBlend {
    /**
     * Array of colors.
     * @private
     */
    private mcolors;
    /**
     * Local variable to store the brush.
     */
    private mbrush;
    /**
     * Initializes a new instance of the `PdfColorBlend` class.
     * @public
     */
    constructor();
    /**
     * Initializes a new instance of the `PdfColorBlend` class.
     * @public
     */
    constructor(count: number);
    /**
     * Gets or sets the array of colors.
     * @public
     */
    colors: PdfColor[];
    /**
     * Gets the function.
     * @param colorSpace The color space.
     * @public
     */
    getFunction(colorSpace: PdfColorSpace): PdfFunction;
    /**
     * 'cloneColorBlend' Clones this instance.
     * @public
     */
    cloneColorBlend(): PdfColorBlend;
    /**
     * Sets the range.
     * @param colourComponents The colour components.
     * @param maxValue The max value.
     */
    private setRange;
    /**
     * Calculates the color components count according to colour space.
     * @param colorSpace The color space.
     */
    private getColorComponentsCount;
    /**
     * Gets samples values for specified colour space.
     * @param colorSpace The color space.
     * @param sampleCount The sample count.
     * @param maxComponentValue The max component value.
     * @param step The step.
     */
    private getSamplesValues;
    /**
     * Gets the grayscale samples.
     * @param sampleCount The sample count.
     * @param maxComponentValue The max component value.
     * @param step The step.
     */
    private getGrayscaleSamples;
    /**
     * Gets the RGB samples.
     * @param sampleCount The sample count.
     * @param maxComponentValue The max component value.
     * @param step The step.
     */
    private getRgbSamples;
    /**
     * Gets the CMYK samples.
     * @param sampleCount The sample count.
     * @param maxComponentValue The max component value.
     * @param step The step.
     */
    private getCmykSamples;
    /**
     * Calculates the color that should be at the specified index.
     * @param index The index.
     * @param step The step.
     * @param colorSpace The color space.
     */
    private getNextColor;
    /**
     * Gets the indices.
     * @param position The position.
     * @param indexLow The index low.
     * @param indexHi The index hi.
     */
    private getIndices;
    /**
     * Calculates the max component value.
     * @param colorSpace The color space.
     */
    private getMaxComponentValue;
    /**
     * Gets an intervals array from the positions array.
     * @param positions The positions array.
     */
    private getIntervals;
}
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/brushes/pdf-brushes.d.ts
/**
 * `PdfBrushes` class provides objects used to fill the interiors of graphical shapes such as rectangles,
 * ellipses, pies, polygons, and paths.
 * @private
 */
export  class PdfBrushes {
    /**
     * Local variable to store the brushes.
     */
    private static sBrushes;
    /**
     * Gets the AliceBlue brush.
     * @public
     */
    static readonly AliceBlue: PdfBrush;
    /**
     * Gets the antique white brush.
     * @public
     */
    static readonly AntiqueWhite: PdfBrush;
    /**
     * Gets the Aqua default brush.
     * @public
     */
    static readonly Aqua: PdfBrush;
    /**
     * Gets the Aquamarine default brush.
     * @public
     */
    static readonly Aquamarine: PdfBrush;
    /**
     * Gets the Azure default brush.
     * @public
     */
    static readonly Azure: PdfBrush;
    /**
     * Gets the Beige default brush.
     * @public
     */
    static readonly Beige: PdfBrush;
    /**
     * Gets the Bisque default brush.
     * @public
     */
    static readonly Bisque: PdfBrush;
    /**
     * Gets the Black default brush.
     * @public
     */
    static readonly Black: PdfBrush;
    /**
     * Gets the BlanchedAlmond default brush.
     * @public
     */
    static readonly BlanchedAlmond: PdfBrush;
    /**
     * Gets the Blue default brush.
     * @public
     */
    static readonly Blue: PdfBrush;
    /**
     * Gets the BlueViolet default brush.
     * @public
     */
    static readonly BlueViolet: PdfBrush;
    /**
     * Gets the Brown default brush.
     * @public
     */
    static readonly Brown: PdfBrush;
    /**
     * Gets the BurlyWood default brush.
     * @public
     */
    static readonly BurlyWood: PdfBrush;
    /**
     * Gets the CadetBlue default brush.
     * @public
     */
    static readonly CadetBlue: PdfBrush;
    /**
     * Gets the Chartreuse default brush.
     * @public
     */
    static readonly Chartreuse: PdfBrush;
    /**
     * Gets the Chocolate default brush.
     * @public
     */
    static readonly Chocolate: PdfBrush;
    /**
     * Gets the Coral default brush.
     * @public
     */
    static readonly Coral: PdfBrush;
    /**
     * Gets the CornflowerBlue default brush.
     * @public
     */
    static readonly CornflowerBlue: PdfBrush;
    /**
     * Gets the Corn silk default brush.
     * @public
     */
    static readonly Cornsilk: PdfBrush;
    /**
     *  Gets the Crimson default brush.
     * @public
     */
    static readonly Crimson: PdfBrush;
    /**
     * Gets the Cyan default brush.
     * @public
     */
    static readonly Cyan: PdfBrush;
    /**
     * Gets the DarkBlue default brush.
     * @public
     */
    static readonly DarkBlue: PdfBrush;
    /**
     * Gets the DarkCyan default brush.
     * @public
     */
    static readonly DarkCyan: PdfBrush;
    /**
     * Gets the DarkGoldenrod default brush.
     * @public
     */
    static readonly DarkGoldenrod: PdfBrush;
    /**
     * Gets the DarkGray default brush.
     * @public
     */
    static readonly DarkGray: PdfBrush;
    /**
     * Gets the DarkGreen default brush.
     * @public
     */
    static readonly DarkGreen: PdfBrush;
    /**
     * Gets the DarkKhaki default brush.
     * @public
     */
    static readonly DarkKhaki: PdfBrush;
    /**
     * Gets the DarkMagenta default brush.
     * @public
     */
    static readonly DarkMagenta: PdfBrush;
    /**
     * Gets the DarkOliveGreen default brush.
     * @public
     */
    static readonly DarkOliveGreen: PdfBrush;
    /**
     * Gets the DarkOrange default brush.
     * @public
     */
    static readonly DarkOrange: PdfBrush;
    /**
     * Gets the DarkOrchid default brush.
     * @public
     */
    static readonly DarkOrchid: PdfBrush;
    /**
     * Gets the DarkRed default brush.
     * @public
     */
    static readonly DarkRed: PdfBrush;
    /**
     * Gets the DarkSalmon default brush.
     * @public
     */
    static readonly DarkSalmon: PdfBrush;
    /**
     * Gets the DarkSeaGreen default brush.
     * @public
     */
    static readonly DarkSeaGreen: PdfBrush;
    /**
     * Gets the DarkSlateBlue default brush.
     * @public
     */
    static readonly DarkSlateBlue: PdfBrush;
    /**
     * Gets the DarkSlateGray default brush.
     * @public
     */
    static readonly DarkSlateGray: PdfBrush;
    /**
     * Gets the DarkTurquoise default brush.
     * @public
     */
    static readonly DarkTurquoise: PdfBrush;
    /**
     * Gets the DarkViolet default brush.
     * @public
     */
    static readonly DarkViolet: PdfBrush;
    /**
     * Gets the DeepPink default brush.
     * @public
     */
    static readonly DeepPink: PdfBrush;
    /**
     * Gets the DeepSkyBlue default brush.
     * @public
     */
    static readonly DeepSkyBlue: PdfBrush;
    /**
     * Gets the DimGray default brush.
     * @public
     */
    static readonly DimGray: PdfBrush;
    /**
     * Gets the DodgerBlue default brush.
     * @public
     */
    static readonly DodgerBlue: PdfBrush;
    /**
     * Gets the Firebrick default brush.
     * @public
     */
    static readonly Firebrick: PdfBrush;
    /**
     * Gets the FloralWhite default brush.
     * @public
     */
    static readonly FloralWhite: PdfBrush;
    /**
     * Gets the ForestGreen default brush.
     * @public
     */
    static readonly ForestGreen: PdfBrush;
    /**
     * Gets the Fuchsia default brush.
     * @public
     */
    static readonly Fuchsia: PdfBrush;
    /**
     * Gets the Gainsborough default brush.
     * @public
     */
    static readonly Gainsboro: PdfBrush;
    /**
     * Gets the GhostWhite default brush.
     * @public
     */
    static readonly GhostWhite: PdfBrush;
    /**
     * Gets the Gold default brush.
     * @public
     */
    static readonly Gold: PdfBrush;
    /**
     * Gets the Goldenrod default brush.
     * @public
     */
    static readonly Goldenrod: PdfBrush;
    /**
     * Gets the Gray default brush.
     * @public
     */
    static readonly Gray: PdfBrush;
    /**
     * Gets the Green default brush.
     * @public
     */
    static readonly Green: PdfBrush;
    /**
     * Gets the GreenYellow default brush.
     * @public
     */
    static readonly GreenYellow: PdfBrush;
    /**
     * Gets the Honeydew default brush.
     * @public
     */
    static readonly Honeydew: PdfBrush;
    /**
     * Gets the HotPink default brush.
     * @public
     */
    static readonly HotPink: PdfBrush;
    /**
     * Gets the IndianRed default brush.
     * @public
     */
    static readonly IndianRed: PdfBrush;
    /**
     * Gets the Indigo default brush.
     * @public
     */
    static readonly Indigo: PdfBrush;
    /**
     * Gets the Ivory default brush.
     * @public
     */
    static readonly Ivory: PdfBrush;
    /**
     * Gets the Khaki default brush.
     * @public
     */
    static readonly Khaki: PdfBrush;
    /**
     * Gets the Lavender default brush.
     * @public
     */
    static readonly Lavender: PdfBrush;
    /**
     * Gets the LavenderBlush default brush.
     * @public
     */
    static readonly LavenderBlush: PdfBrush;
    /**
     * Gets the LawnGreen default brush.
     * @public
     */
    static readonly LawnGreen: PdfBrush;
    /**
     * Gets the LemonChiffon default brush.
     * @public
     */
    static readonly LemonChiffon: PdfBrush;
    /**
     * Gets the LightBlue default brush.
     * @public
     */
    static readonly LightBlue: PdfBrush;
    /**
     * Gets the LightCoral default brush.
     * @public
     */
    static readonly LightCoral: PdfBrush;
    /**
     * Gets the LightCyan default brush.
     * @public
     */
    static readonly LightCyan: PdfBrush;
    /**
     * Gets the LightGoldenrodYellow default brush.
     * @public
     */
    static readonly LightGoldenrodYellow: PdfBrush;
    /**
     * Gets the LightGray default brush.
     * @public
     */
    static readonly LightGray: PdfBrush;
    /**
     * Gets the LightGreen default brush.
     * @public
     */
    static readonly LightGreen: PdfBrush;
    /**
     * Gets the LightPink default brush.
     * @public
     */
    static readonly LightPink: PdfBrush;
    /**
     * Gets the LightSalmon default brush.
     * @public
     */
    static readonly LightSalmon: PdfBrush;
    /**
     * Gets the LightSeaGreen default brush.
     * @public
     */
    static readonly LightSeaGreen: PdfBrush;
    /**
     * Gets the LightSkyBlue default brush.
     * @public
     */
    static readonly LightSkyBlue: PdfBrush;
    /**
     * Gets the LightSlateGray default brush.
     * @public
     */
    static readonly LightSlateGray: PdfBrush;
    /**
     * Gets the LightSteelBlue default brush.
     * @public
     */
    static readonly LightSteelBlue: PdfBrush;
    /**
     * Gets the LightYellow default brush.
     * @public
     */
    static readonly LightYellow: PdfBrush;
    /**
     * Gets the Lime default brush.
     * @public
     */
    static readonly Lime: PdfBrush;
    /**
     * Gets the LimeGreen default brush.
     * @public
     */
    static readonly LimeGreen: PdfBrush;
    /**
     * Gets the Linen default brush.
     * @public
     */
    static readonly Linen: PdfBrush;
    /**
     * Gets the Magenta default brush.
     * @public
     */
    static readonly Magenta: PdfBrush;
    /**
     * Gets the Maroon default brush.
     * @public
     */
    static readonly Maroon: PdfBrush;
    /**
     * Gets the MediumAquamarine default brush.
     * @public
     */
    static readonly MediumAquamarine: PdfBrush;
    /**
     * Gets the MediumBlue default brush.
     * @public
     */
    static readonly MediumBlue: PdfBrush;
    /**
     * Gets the MediumOrchid default brush.
     * @public
     */
    static readonly MediumOrchid: PdfBrush;
    /**
     * Gets the MediumPurple default brush.
     * @public
     */
    static readonly MediumPurple: PdfBrush;
    /**
     * Gets the MediumSeaGreen default brush.
     * @public
     */
    static readonly MediumSeaGreen: PdfBrush;
    /**
     * Gets the MediumSlateBlue default brush.
     * @public
     */
    static readonly MediumSlateBlue: PdfBrush;
    /**
     * Gets the MediumSpringGreen default brush.
     * @public
     */
    static readonly MediumSpringGreen: PdfBrush;
    /**
     * Gets the MediumTurquoise default brush.
     * @public
     */
    static readonly MediumTurquoise: PdfBrush;
    /**
     * Gets the MediumVioletRed default brush.
     * @public
     */
    static readonly MediumVioletRed: PdfBrush;
    /**
     * Gets the MidnightBlue default brush.
     * @public
     */
    static readonly MidnightBlue: PdfBrush;
    /**
     * Gets the MintCream default brush.
     * @public
     */
    static readonly MintCream: PdfBrush;
    /**
     * Gets the MistyRose default brush.
     * @public
     */
    static readonly MistyRose: PdfBrush;
    /**
     * Gets the Moccasin default brush.
     * @public
     */
    static readonly Moccasin: PdfBrush;
    /**
     * Gets the NavajoWhite default brush.
     * @public
     */
    static readonly NavajoWhite: PdfBrush;
    /**
     * Gets the Navy default brush.
     * @public
     */
    static readonly Navy: PdfBrush;
    /**
     * Gets the OldLace default brush.
     * @public
     */
    static readonly OldLace: PdfBrush;
    /**
     * Gets the Olive default brush.
     * @public
     */
    static readonly Olive: PdfBrush;
    /**
     * Gets the OliveDrab default brush.
     * @public
     */
    static readonly OliveDrab: PdfBrush;
    /**
     * Gets the Orange default brush.
     * @public
     */
    static readonly Orange: PdfBrush;
    /**
     * Gets the OrangeRed default brush.
     * @public
     */
    static readonly OrangeRed: PdfBrush;
    /**
     * Gets the Orchid default brush.
     * @public
     */
    static readonly Orchid: PdfBrush;
    /**
     * Gets the PaleGoldenrod default brush.
     * @public
     */
    static readonly PaleGoldenrod: PdfBrush;
    /**
     * Gets the PaleGreen default brush.
     * @public
     */
    static readonly PaleGreen: PdfBrush;
    /**
     * Gets the PaleTurquoise default brush.
     * @public
     */
    static readonly PaleTurquoise: PdfBrush;
    /**
     * Gets the PaleVioletRed default brush.
     * @public
     */
    static readonly PaleVioletRed: PdfBrush;
    /**
     * Gets the PapayaWhip default brush.
     * @public
     */
    static readonly PapayaWhip: PdfBrush;
    /**
     * Gets the PeachPuff default brush.
     * @public
     */
    static readonly PeachPuff: PdfBrush;
    /**
     * Gets the Peru default brush.
     * @public
     */
    static readonly Peru: PdfBrush;
    /**
     * Gets the Pink default brush.
     * @public
     */
    static readonly Pink: PdfBrush;
    /**
     * Gets the Plum default brush.
     * @public
     */
    static readonly Plum: PdfBrush;
    /**
     * Gets the PowderBlue default brush.
     * @public
     */
    static readonly PowderBlue: PdfBrush;
    /**
     * Gets the Purple default brush.
     * @public
     */
    static readonly Purple: PdfBrush;
    /**
     * Gets the Red default brush.
     * @public
     */
    static readonly Red: PdfBrush;
    /**
     * Gets the RosyBrown default brush.
     * @public
     */
    static readonly RosyBrown: PdfBrush;
    /**
     * Gets the RoyalBlue default brush.
     * @public
     */
    static readonly RoyalBlue: PdfBrush;
    /**
     * Gets the SaddleBrown default brush.
     * @public
     */
    static readonly SaddleBrown: PdfBrush;
    /**
     * Gets the Salmon default brush.
     * @public
     */
    static readonly Salmon: PdfBrush;
    /**
     * Gets the SandyBrown default brush.
     * @public
     */
    static readonly SandyBrown: PdfBrush;
    /**
     * Gets the SeaGreen default brush.
     * @public
     */
    static readonly SeaGreen: PdfBrush;
    /**
     * Gets the SeaShell default brush.
     * @public
     */
    static readonly SeaShell: PdfBrush;
    /**
     * Gets the Sienna default brush.
     * @public
     */
    static readonly Sienna: PdfBrush;
    /**
     * Gets the Silver default brush.
     * @public
     */
    static readonly Silver: PdfBrush;
    /**
     * Gets the SkyBlue default brush.
     * @public
     */
    static readonly SkyBlue: PdfBrush;
    /**
     * Gets the SlateBlue default brush.
     * @public
     */
    static readonly SlateBlue: PdfBrush;
    /**
     * Gets the SlateGray default brush.
     * @public
     */
    static readonly SlateGray: PdfBrush;
    /**
     * Gets the Snow default brush.
     * @public
     */
    static readonly Snow: PdfBrush;
    /**
     * Gets the SpringGreen default brush.
     * @public
     */
    static readonly SpringGreen: PdfBrush;
    /**
     * Gets the SteelBlue default brush.
     * @public
     */
    static readonly SteelBlue: PdfBrush;
    /**
     * Gets the Tan default brush.
     * @public
     */
    static readonly Tan: PdfBrush;
    /**
     * Gets the Teal default brush.
     * @public
     */
    static readonly Teal: PdfBrush;
    /**
     * Gets the Thistle default brush.
     * @public
     */
    static readonly Thistle: PdfBrush;
    /**
     * Gets the Tomato default brush.
     * @public
     */
    static readonly Tomato: PdfBrush;
    /**
     * Gets the Transparent default brush.
     * @public
     */
    static readonly Transparent: PdfBrush;
    /**
     * Gets the Turquoise default brush.
     * @public
     */
    static readonly Turquoise: PdfBrush;
    /**
     * Gets the Violet default brush.
     * @public
     */
    static readonly Violet: PdfBrush;
    /**
     * Gets the Wheat default brush.
     * @public
     */
    static readonly Wheat: PdfBrush;
    /**
     * Gets the White default brush.
     * @public
     */
    static readonly White: PdfBrush;
    /**
     * Gets the WhiteSmoke default brush.
     * @public
     */
    static readonly WhiteSmoke: PdfBrush;
    /**
     * Gets the Yellow default brush.
     * @public
     */
    static readonly Yellow: PdfBrush;
    /**
     * Gets the YellowGreen default brush.
     * @public
     */
    static readonly YellowGreen: PdfBrush;
    /**
     * Get the brush.
     */
    private static getBrush;
    /**
     * Get the color value.
     * @param colorName The KnownColor name.
     */
    private static getColorValue;
}
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/brushes/pdf-brush.d.ts
/**
 * PdfBrush.ts class for EJ2-PDF
 */
/**
 * `PdfBrush` class provides objects used to fill the interiors of graphical shapes such as rectangles,
 * ellipses, pies, polygons, and paths.
 * @private
 */
export  abstract class PdfBrush implements ICloneable {
    /**
     * Creates instanceof `PdfBrush` class.
     * @hidden
     * @private
     */
    constructor();
    /**
     * `MonitorChanges` abstract method overload.
     * @hidden
     * @private
     */
    abstract monitorChanges(brush: PdfBrush, streamWriter: PdfStreamWriter, getResources: GetResourceEventHandler, saveChanges: boolean, currentColorSpace: PdfColorSpace): boolean;
    /**
     * `MonitorChanges` abstract method overload.
     * @hidden
     * @private
     */
    abstract monitorChanges(brush: PdfBrush, streamWriter: PdfStreamWriter, getResources: GetResourceEventHandler, saveChanges: boolean, currentColorSpace: PdfColorSpace, check: boolean): boolean;
    /**
     * `MonitorChanges` abstract method overload.
     * @hidden
     * @private
     */
    abstract monitorChanges(brush: PdfBrush, streamWriter: PdfStreamWriter, getResources: GetResourceEventHandler, saveChanges: boolean, currentColorSpace: PdfColorSpace, check: boolean, iccBased: boolean): boolean;
    /**
     * `MonitorChanges` abstract method overload.
     * @hidden
     * @private
     */
    abstract monitorChanges(brush: PdfBrush, streamWriter: PdfStreamWriter, getResources: GetResourceEventHandler, saveChanges: boolean, currentColorSpace: PdfColorSpace, check: boolean, iccBased: boolean, indexed: boolean): boolean;
    /**
     * `MonitorChanges` abstract method overload.
     * @hidden
     * @private
     */
    abstract resetChanges(streamWriter: PdfStreamWriter): void;
    clone(): PdfBrush;
}
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/brushes/pdf-blend.d.ts
/**
 * PdfBlend.ts class for EJ2-PDF
 */
/**
 * `PdfBlend` Represents the blend color space
 * @private
 */
export  class PdfBlend {
    /**
     * precision of the GCD calculations.
     * @private
     */
    private precision;
    /**
     * Local variable to store the count.
     * @private
     */
    private mCount;
    /**
     * Local variable to store the positions.
     * @private
     */
    private mPositions;
    /**
     * Local variable to store the factors
     * @private.
     */
    private mFactors;
    /**
     * Initializes a new instance of the `PdfBlend` class.
     * @public
     */
    constructor();
    /**
     * Initializes a new instance of the `PdfBlend` class.
     * @public
     */
    constructor(count: number);
    /**
     * Gets or sets the array of factor to the blend.
     * @public
     */
    factors: number[];
    /**
     * 'positions' Gets or sets the array of positions
     * @public
     */
    positions: number[];
    /**
     * Gets the number of elements that specify the blend.
     * @protected
     */
    protected readonly count: number;
    /**
     * Generates a correct color blend.
     * @param colours The colours.
     * @param colorSpace The color space.
     */
    generateColorBlend(colours: PdfColor[], colorSpace: PdfColorSpace): PdfColorBlend;
    /**
     * 'clonePdfBlend' Clones this instance.
     * @public
     */
    clonePdfBlend(): PdfBlend;
    /**
     * Calculate the GCD of the specified values.
     * @param u The values.
     */
    protected gcd(u: number[]): number;
    /**
     * Determines greatest common divisor of the specified u and v.
     * @param u The u.
     * @param v The v.
     */
    protected gcd(u: number, v: number): number;
    /**
     * Calculate the GCD int of the specified values.
     * @param u The u.
     * @param v The v.
     */
    protected gcdInt(u: number, v: number): number;
    /**
     * Determines if the u value is even.
     * @param u The u value.
     */
    private isEven;
    /**
     * Interpolates the specified colours according to the t value.
     * @param t The t value, which show the imagine position on a line from 0 to 1.
     * @param v1 The minimal value.
     * @param v2 The maximal value.
     */
    protected interpolate(t: number, v1: number, v2: number): number;
    /**
     * Interpolates the specified colours according to the t value.
     * @param t The t value, which show the imagine position on a line from 0 to 1.
     * @param color1 The minimal colour.
     * @param color2 The maximal colour.
     * @param colorSpace The color space.
     */
    protected interpolate(t: number, color1: PdfColor, color2: PdfColor, colorSpace: PdfColorSpace): PdfColor;
}
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/brushes/enum.d.ts
/**
 * Specifies the constant values specifying whether to extend the shading
 * beyond the starting and ending points of the axis.
 */
export  enum PdfExtend {
    /**
     * Do not extend any point.
     */
    None = 0,
    /**
     * Extend start point.
     */
    Start = 1,
    /**
     * Extend end point.
     */
    End = 2,
    /**
     * Extend both start and end points.
     */
    Both = 3
}
/**
 * Specifies the gradient direction of the linear gradient brush.
 */
export  enum PdfLinearGradientMode {
    /**
     * Specifies a gradient from upper right to lower left.
     */
    BackwardDiagonal = 0,
    /**
     * Specifies a gradient from upper left to lower right.
     */
    ForwardDiagonal = 1,
    /**
     * Specifies a gradient from left to right.
     */
    Horizontal = 2,
    /**
     * Specifies a gradient from top to bottom.
     */
    Vertical = 3
}
/**
 * Shading type constants.
 */
export  enum ShadingType {
    /**
     * Function-based shading.
     */
    Function = 1,
    /**
     * Axial shading.
     */
    Axial = 2,
    /**
     * Radial shading.
     */
    Radial = 3
}
export  enum KnownColor {
    ActiveBorder = 1,
    ActiveCaption = 2,
    ActiveCaptionText = 3,
    AppWorkspace = 4,
    Control = 5,
    ControlDark = 6,
    ControlDarkDark = 7,
    ControlLight = 8,
    ControlLightLight = 9,
    ControlText = 10,
    Desktop = 11,
    GrayText = 12,
    Highlight = 13,
    HighlightText = 14,
    HotTrack = 15,
    InactiveBorder = 16,
    InactiveCaption = 17,
    InactiveCaptionText = 18,
    Info = 19,
    InfoText = 20,
    Menu = 21,
    MenuText = 22,
    ScrollBar = 23,
    Window = 24,
    WindowFrame = 25,
    WindowText = 26,
    Transparent = 27,
    AliceBlue = 28,
    AntiqueWhite = 29,
    Aqua = 30,
    Aquamarine = 31,
    Azure = 32,
    Beige = 33,
    Bisque = 34,
    Black = 35,
    BlanchedAlmond = 36,
    Blue = 37,
    BlueViolet = 38,
    Brown = 39,
    BurlyWood = 40,
    CadetBlue = 41,
    Chartreuse = 42,
    Chocolate = 43,
    Coral = 44,
    CornflowerBlue = 45,
    Cornsilk = 46,
    Crimson = 47,
    Cyan = 48,
    DarkBlue = 49,
    DarkCyan = 50,
    DarkGoldenrod = 51,
    DarkGray = 52,
    DarkGreen = 53,
    DarkKhaki = 54,
    DarkMagenta = 55,
    DarkOliveGreen = 56,
    DarkOrange = 57,
    DarkOrchid = 58,
    DarkRed = 59,
    DarkSalmon = 60,
    DarkSeaGreen = 61,
    DarkSlateBlue = 62,
    DarkSlateGray = 63,
    DarkTurquoise = 64,
    DarkViolet = 65,
    DeepPink = 66,
    DeepSkyBlue = 67,
    DimGray = 68,
    DodgerBlue = 69,
    Firebrick = 70,
    FloralWhite = 71,
    ForestGreen = 72,
    Fuchsia = 73,
    Gainsboro = 74,
    GhostWhite = 75,
    Gold = 76,
    Goldenrod = 77,
    Gray = 78,
    Green = 79,
    GreenYellow = 80,
    Honeydew = 81,
    HotPink = 82,
    IndianRed = 83,
    Indigo = 84,
    Ivory = 85,
    Khaki = 86,
    Lavender = 87,
    LavenderBlush = 88,
    LawnGreen = 89,
    LemonChiffon = 90,
    LightBlue = 91,
    LightCoral = 92,
    LightCyan = 93,
    LightGoldenrodYellow = 94,
    LightGray = 95,
    LightGreen = 96,
    LightPink = 97,
    LightSalmon = 98,
    LightSeaGreen = 99,
    LightSkyBlue = 100,
    LightSlateGray = 101,
    LightSteelBlue = 102,
    LightYellow = 103,
    Lime = 104,
    LimeGreen = 105,
    Linen = 106,
    Magenta = 107,
    Maroon = 108,
    MediumAquamarine = 109,
    MediumBlue = 110,
    MediumOrchid = 111,
    MediumPurple = 112,
    MediumSeaGreen = 113,
    MediumSlateBlue = 114,
    MediumSpringGreen = 115,
    MediumTurquoise = 116,
    MediumVioletRed = 117,
    MidnightBlue = 118,
    MintCream = 119,
    MistyRose = 120,
    Moccasin = 121,
    NavajoWhite = 122,
    Navy = 123,
    OldLace = 124,
    Olive = 125,
    OliveDrab = 126,
    Orange = 127,
    OrangeRed = 128,
    Orchid = 129,
    PaleGoldenrod = 130,
    PaleGreen = 131,
    PaleTurquoise = 132,
    PaleVioletRed = 133,
    PapayaWhip = 134,
    PeachPuff = 135,
    Peru = 136,
    Pink = 137,
    Plum = 138,
    PowderBlue = 139,
    Purple = 140,
    Red = 141,
    RosyBrown = 142,
    RoyalBlue = 143,
    SaddleBrown = 144,
    Salmon = 145,
    SandyBrown = 146,
    SeaGreen = 147,
    SeaShell = 148,
    Sienna = 149,
    Silver = 150,
    SkyBlue = 151,
    SlateBlue = 152,
    SlateGray = 153,
    Snow = 154,
    SpringGreen = 155,
    SteelBlue = 156,
    Tan = 157,
    Teal = 158,
    Thistle = 159,
    Tomato = 160,
    Turquoise = 161,
    Violet = 162,
    Wheat = 163,
    White = 164,
    WhiteSmoke = 165,
    Yellow = 166,
    YellowGreen = 167,
    ButtonFace = 168,
    ButtonHighlight = 169,
    ButtonShadow = 170,
    GradientActiveCaption = 171,
    GradientInactiveCaption = 172,
    MenuBar = 173,
    MenuHighlight = 174
}
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/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/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-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/enum.d.ts
/**
 * public Enum for `PdfDestinationMode`.
 * @private
 */
export  enum PdfDestinationMode {
    /**
     * Specifies the type of `Location`.
     * @private
     */
    Location = 0,
    /**
     * Specifies the type of `FitToPage`.
     * @private
     */
    FitToPage = 1,
    /**
     * Specifies the type of `FitR`.
     * @private
     */
    FitR = 2
}
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/general/functions/pdf-sampled-function.d.ts
export  class PdfSampledFunction extends PdfFunction {
    /**
     * Initializes a new instance of the `PdfSampledFunction` class.
     * @public
     */
    constructor();
    /**
     * Initializes a new instance of the `PdfSampledFunction` class.
     * @public
     */
    constructor(domain: number[], range: number[], sizes: number[], samples: number[]);
    /**
     * Checks the input parameters.
     */
    private checkParams;
    /**
     * Sets the domain and range.
     */
    private setDomainAndRange;
    /**
     * Sets the size and values.
     */
    private setSizeAndValues;
}
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/general/functions/pdf-function.d.ts
/**
 * PdfFunction.ts class for EJ2-PDF
 * Implements the base class for all functions.
 */
export  abstract class PdfFunction implements IPdfWrapper {
    /**
     * Internal variable to store dictionary.
     * @private
     */
    private mDictionary;
    /**
     * Local variable to store the dictionary properties.
     * @private
     */
    protected mDictionaryProperties: DictionaryProperties;
    /**
     * Initializes a new instance of the `PdfFunction` class.
     * @public
     */
    constructor(dictionary: PdfDictionary);
    /**
     * Gets or sets the domain of the function.
     * @public
     */
    protected domain: PdfArray;
    /**
     * Gets or sets the range.
     * @public
     */
    protected range: PdfArray;
    /**
     * Gets the dictionary.
     */
    protected readonly dictionary: PdfDictionary;
    /**
     * Gets the element.
     */
    readonly element: IPdfPrimitive;
}
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/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/document/pdf-viewer-preferences.d.ts
/**
 * Defines the way the document is to be presented on the screen or in print.
 * ```typescript
 * // Create a new PDF document
 * let document$ : PdfDocument = new PdfDocument();
 * // Gets viewer preferences
 * let viewerPreferences : PdfViewerPreferences = document.viewerPreferences;
 * // Destroy the document
 * document.destroy();
 * ```
 */
export  class PdfViewerPreferences implements IPdfWrapper {
    /**
     * Initialize a new instance of `PdfViewerPreferences` class.
     *
     * @private
     * ```
    */
    constructor(catalog: PdfCatalog);
    _dictionaryProperties: DictionaryProperties;
    _catalog: PdfCatalog;
    _centerWindow: boolean;
    _fitWindow: boolean;
    _displayTitle: boolean;
    _splitWindow: boolean;
    _hideMenuBar: boolean;
    _hideToolBar: boolean;
    _hideWindowUI: boolean;
    _pageMode: PdfPageMode;
    _pageLayout: PdfPageLayout;
    _dictionary: PdfDictionary;
    _pageScaling: PageScalingMode;
    _duplex: DuplexMode;
    /**
     * A flag specifying whether to position the document’s window in the center of the screen.
     * ```typescript
     * // Create a new PDF document
     * let document$ : PdfDocument = new PdfDocument();
     * // Gets the viewer preferences of the document
     * let viewerPreferences : PdfViewerPreferences = document.viewerPreferences;
     * // Gets the center window
     * let centerWindow : boolean = viewerPreferences.centerWindow;
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * A flag specifying whether to position the document’s window in the center of the screen.
    * ```typescript
    * // Create a new PDF document
    * let document$ : PdfDocument = new PdfDocument();
    * // Gets the viewer preferences of the document
    * let viewerPreferences : PdfViewerPreferences = document.viewerPreferences;
    * // Sets the center window
    * viewerPreferences.centerWindow = true;
    * // Destroy the document
    * document.destroy();
    * ```
    */
    centerWindow: boolean;
    /**
     * A flag specifying whether the window’s title bar should display the document title taken
     * from the Title entry of the document information dictionary. If false, the title bar
     * should instead display the name of the PDF file containing the document.
     * ```typescript
     * // Create a new PDF document
     * let document$ : PdfDocument = new PdfDocument();
     * // Gets the viewer preferences of the document
     * let viewerPreferences : PdfViewerPreferences = document.viewerPreferences;
     * // Gets the display title
     * let displayTitle : boolean = viewerPreferences.displayTitle;
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * A flag specifying whether the window’s title bar should display the document title taken
    * from the Title entry of the document information dictionary. If false, the title bar
    * should instead display the name of the PDF file containing the document.
    * ```typescript
    * // Create a new PDF document
    * let document$ : PdfDocument = new PdfDocument();
    * // Gets the viewer preferences of the document
    * let viewerPreferences : PdfViewerPreferences = document.viewerPreferences;
    * // Sets the display title
    * viewerPreferences.displayTitle = true;
    * // Destroy the document
    * document.destroy();
    * ```
    */
    displayTitle: boolean;
    /**
     * A flag specifying whether to resize the document’s window to fit the size of the first
     * displayed page.
     * ```typescript
     * // Create a new PDF document
     * let document$ : PdfDocument = new PdfDocument();
     * // Gets the viewer preferences of the document
     * let viewerPreferences : PdfViewerPreferences = document.viewerPreferences;
     * // Gets the fit window
     * let fitWindow : boolean = viewerPreferences.fitWindow;
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * A flag specifying whether to resize the document’s window to fit the size of the first
    * displayed page.
    * ```typescript
    * // Create a new PDF document
    * let document$ : PdfDocument = new PdfDocument();
    * // Gets the viewer preferences of the document
    * let viewerPreferences : PdfViewerPreferences = document.viewerPreferences;
    * // Sets the fit window
    * viewerPreferences.fitWindow = true;
    * // Destroy the document
    * document.destroy();
    * ```
    */
    fitWindow: boolean;
    /**
     * A flag specifying whether to hide the viewer application’s menu bar when the
     * document is active.
     * ```typescript
     * // Create a new PDF document
     * let document$ : PdfDocument = new PdfDocument();
     * // Gets the viewer preferences of the document
     * let viewerPreferences : PdfViewerPreferences = document.viewerPreferences;
     * // Gets the hide menu bar
     * let hideMenuBar: boolean = viewerPreferences.hideMenuBar;
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * A flag specifying whether to hide the viewer application’s menu bar when the
    * document is active.
    * ```typescript
    * // Create a new PDF document
    * let document$ : PdfDocument = new PdfDocument();
    * // Gets the viewer preferences of the document
    * let viewerPreferences : PdfViewerPreferences = document.viewerPreferences;
    * // Sets the hide menu bar
    * viewerPreferences.hideMenuBar = true;
    * // Destroy the document
    * document.destroy();
    * ```
    */
    hideMenuBar: boolean;
    /**
     * A flag specifying whether to hide the viewer application’s tool bar when the
     * document is active.
     * ```typescript
     * // Create a new PDF document
     * let document$ : PdfDocument = new PdfDocument();
     * // Gets the viewer preferences of the document
     * let viewerPreferences : PdfViewerPreferences = document.viewerPreferences;
     * // Gets the hide tool bar
     * let hideToolBar: boolean = viewerPreferences.hideToolBar;
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * A flag specifying whether to hide the viewer application’s tool bar when the
    * document is active.
    * ```typescript
    * // Create a new PDF document
    * let document$ : PdfDocument = new PdfDocument();
    * // Gets the viewer preferences of the document
    * let viewerPreferences : PdfViewerPreferences = document.viewerPreferences;
    * // Sets the hide tool bar
    * viewerPreferences.hideToolbar = true;
    * // Destroy the document
    * document.destroy();
    * ```
    */
    hideToolBar: boolean;
    /**
     * A flag specifying whether to hide user interface elements in the document’s window
     * (such as scroll bars and navigation controls), leaving only the document’s contents displayed.
     * ```typescript
     * // Create a new PDF document
     * let document$ : PdfDocument = new PdfDocument();
     * // Gets the viewer preferences of the document
     * let viewerPreferences : PdfViewerPreferences = document.viewerPreferences;
     * // Gets the hide window UI
     * let hideWindowUI: boolean = viewerPreferences.hideWindowUI;
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * A flag specifying whether to hide user interface elements in the document’s window
    * (such as scroll bars and navigation controls), leaving only the document’s contents displayed.
    * ```typescript
    * // Create a new PDF document
    * let document$ : PdfDocument = new PdfDocument();
    * // Gets the viewer preferences of the document
    * let viewerPreferences : PdfViewerPreferences = document.viewerPreferences;
    * // Sets the hide window UI
    * viewerPreferences.hideWindowUI = true;
    * // Destroy the document
    * document.destroy();
    * ```
    */
    hideWindowUI: boolean;
    /**
     * A name object specifying how the document should be displayed when opened.
     * ```typescript
     * // Create a new PDF document
     * let document$ : PdfDocument = new PdfDocument();
     * // Gets the viewer preferences of the document
     * let viewerPreferences : PdfViewerPreferences = document.viewerPreferences;
     * // Gets the page mode
     * let pageMode: PdfPageMode = viewerPreferences.pageMode;
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * A name object specifying how the document should be displayed when opened.
    * ```typescript
    * // Create a new PDF document
    * let document$ : PdfDocument = new PdfDocument();
    * // Gets the viewer preferences of the document
    * let viewerPreferences : PdfViewerPreferences = document.viewerPreferences;
    * // Sets the page mode
    * viewerPreferences.pageMode = PdfPageMode.UseOutlines;
    * // Destroy the document
    * document.destroy();
    * ```
    */
    pageMode: PdfPageMode;
    /**
     * Gets print duplex mode handling option to use when printing the file from the print dialog.
     * ```typescript
     * // Create a new PDF document
     * let document$ : PdfDocument = new PdfDocument();
     * // Gets the viewer preferences of the document
     * let viewerPreferences : PdfViewerPreferences = document.viewerPreferences;
     * // Gets the duplex
     * let duplex : DuplexMode = viewerPreferences.duplex;
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Sets print duplex mode handling option to use when printing the file from the print dialog.
    * ```typescript
    * // Create a new PDF document
    * let document$ : PdfDocument = new PdfDocument();
    * // Gets the viewer preferences of the document
    * let viewerPreferences : PdfViewerPreferences = document.viewerPreferences;
    * // Sets the duplex
    * viewerPreferences.duplex = DuplexMode.DuplexFlipLongEdge;
    * // Destroy the document
    * document.destroy();
    * ```
    */
    duplex: DuplexMode;
    /**
     * A name object specifying the page layout to be used when the document is opened.
     * ```typescript
     * // Create a new PDF document
     * let document$ : PdfDocument = new PdfDocument();
     * // Gets the viewer preferences of the document
     * let viewerPreferences : PdfViewerPreferences = document.viewerPreferences;
     * // Gets the page layout
     * let pageLayout : PdfPageLayout = viewerPreferences.pageLayout;
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * A name object specifying the page layout to be used when the document is opened.
    * ```typescript
    * // Create a new PDF document
    * let document$ : PdfDocument = new PdfDocument();
    * // Gets the viewer preferences of the document
    * let viewerPreferences : PdfViewerPreferences = document.viewerPreferences;
    * // Sets the page layout
    * viewerPreferences.pageLayout = PdfPageLayout.TwoColumnLeft;
    * // Destroy the document
    * document.destroy();
    * ```
    */
    pageLayout: PdfPageLayout;
    /**
     * Gets the page scaling option to be selected
     * when a print dialog is displayed for this document.
     * ```typescript
     * // Create a new PDF document
     * let document$ : PdfDocument = new PdfDocument();
     * // Gets the viewer preferences of the document
     * let viewerPreferences : PdfViewerPreferences = document.viewerPreferences;
     * // Gets the page scaling
     * let pageScaling : PageScalingMode = viewerPreferences.pageScaling;
     * // Destroy the document
     * document.destroy();
     * ```
     */
    /**
    * Sets the page scaling option to be selected
    * when a print dialog is displayed for this document.
    * ```typescript
    * // Create a new PDF document
    * let document$ : PdfDocument = new PdfDocument();
    * // Gets the viewer preferences of the document
    * let viewerPreferences : PdfViewerPreferences = document.viewerPreferences;
    * // Sets the page scaling
    * viewerPreferences.pageScaling = PageScalingMode.None;
    * // Destroy the document
    * document.destroy();
    * ```
    */
    pageScaling: PageScalingMode;
    /**
     * Primivie element
     *
     * @private
     */
    readonly element: IPdfPrimitive;
    _mapDuplexMode(mode: DuplexMode): string;
    _mapPageMode(mode: PdfPageMode): string;
    _mapPageLayout(layout: PdfPageLayout): string;
}
/**
 * Represents mode of document displaying.
 * ```typescript
 * // Create a new PDF document
 * let document$ : PdfDocument = new PdfDocument();
 * // Gets the viewer preferences of the document
 * let viewerPreferences : PdfViewerPreferences = document.viewerPreferences;
 * // Sets the page mode
 * viewerPreferences.pageMode = PdfPageMode.UseOutlines;
 * // Destroy the document
 * document.destroy();
 * ```
 */
export  enum PdfPageMode {
    /**
     * Default value. Neither document outline nor thumbnail images visible.
     */
    UseNone = 0,
    /**
     * Document outline visible.
     */
    UseOutlines = 1,
    /**
     * Thumbnail images visible.
     */
    UseThumbs = 2,
    /**
     * Full-screen mode, with no menu bar, window controls, or any other window visible.
     */
    FullScreen = 3,
    /**
     * Optional content group panel visible.
     */
    UseOC = 4,
    /**
     * Attachments are visible.
     */
    UseAttachments = 5
}
/**
 * A name object specifying the page layout to be used when the document is opened.
 * ```typescript
 * // Create a new PDF document
 * let document$ : PdfDocument = new PdfDocument();
 * // Gets the viewer preferences of the document
 * let viewerPreferences : PdfViewerPreferences = document.viewerPreferences;
 * // Sets the page layout
 * viewerPreferences.pageLayout = PdfPageLayout.TwoColumnLeft;
 * // Destroy the document
 * document.destroy();
 * ```
 */
export  enum PdfPageLayout {
    /**
     * Default Value. Display one page at a time.
     */
    SinglePage = 0,
    /**
     * Display the pages in one column.
     */
    OneColumn = 1,
    /**
     * Display the pages in two columns, with odd numbered
     * pages on the left.
     */
    TwoColumnLeft = 2,
    /**
     * Display the pages in two columns, with odd numbered
     * pages on the right.
     */
    TwoColumnRight = 3,
    /**
     * Display the pages two at a time, with odd-numbered pages on the left.
     */
    TwoPageLeft = 4,
    /**
     * Display the pages two at a time, with odd-numbered pages on the right.
     */
    TwoPageRight = 5
}
/**
 * The paper handling option to use when printing the file from the print dialog.
 * ```typescript
 * // Create a new PDF document
 * let document$ : PdfDocument = new PdfDocument();
 * // Gets the viewer preferences of the document
 * let viewerPreferences : PdfViewerPreferences = document.viewerPreferences;
 * // Sets the duplex
 * viewerPreferences.duplex = DuplexMode.DuplexFlipLongEdge;
 * // Destroy the document
 * document.destroy();
 * ```
 */
export  enum DuplexMode {
    /**
     * Print single-sided.
     */
    Simplex = 0,
    /**
     * Duplex and flip on the short edge of the sheet.
     */
    DuplexFlipShortEdge = 1,
    /**
     * Duplex and flip on the long edge of the sheet.
     */
    DuplexFlipLongEdge = 2,
    /**
     * Default value.
     */
    None = 3
}
/**
 * Specifies the different page scaling option that shall be selected
 * when a print dialog is displayed for this document.
 * ```typescript
 * // Create a new PDF document
 * let document$ : PdfDocument = new PdfDocument();
 * // Gets the viewer preferences of the document
 * let viewerPreferences : PdfViewerPreferences = document.viewerPreferences;
 * // Sets the page scaling
 * viewerPreferences.pageScaling = PageScalingMode.None;
 * // Destroy the document
 * document.destroy();
 * ```
 */
export  enum PageScalingMode {
    /**
     * Indicates the conforming reader’s default print scaling.
     */
    AppDefault = 0,
    /**
     * Indicates no page scaling.
     */
    None = 1
}
//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 | PdfWriterHelper;
    /**
     * 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;
    /**
     * Saves the document to the specified output stream and return the stream as byte array.
     * @private
     */
    _docSave(): Uint8Array;
    /**
     * 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/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-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;
    /**
     * Gets viewer preferences for presenting the PDF document in a viewer.
     * ```typescript
     * // Create a new PDF document
     * let document$ : PdfDocument = new PdfDocument();
     * // Gets viewer preferences
     * let viewerPreferences$ : PdfViewerPreferences = document.viewerPreferences;
     * // Destroy the document
     * document.destroy();
     * ```
     */
    readonly viewerPreferences: PdfViewerPreferences;
    /**
     * 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;
    /**
     * Save PDF document.
     * @private
     */
    _save(): Uint8Array;
}
//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;
    private _viewerPreferences;
    /**
     * Initializes a new instance of the `PdfCatalog` class.
     * @private
     */
    constructor();
    /**
     * Gets or sets the sections, which contain `pages`.
     * @private
     */
    pages: PdfSectionCollection;
    /**
     * Gets the viewer preferences of the PDF document.
     * @private
     */
    readonly viewerPreferences: PdfViewerPreferences;
}
//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/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/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-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/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/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/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/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/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-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/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/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/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/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/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/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/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/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/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/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/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/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;
}
 }
export namespace pdfviewer { 

//node_modules/@syncfusion/ej2-pdfviewer/src/pdfviewer/pdfviewer.d.ts
/**
 * The `ToolbarSettings` module is used to provide the toolbar settings of PDF viewer.
 *
 * ```html
 * <div id="pdfViewer" style="height: 100%;
width: 100%;
"></div>
 * ```
 * ```ts
 *  let viewer: PdfViewer = new PdfViewer();
 *  // Change the tool bar settings.
 *  viewer.toolbarSettings = {
 *      showTooltip: false,
 *      toolbarItems: [
 *          "OpenOption",
 *          "UndoRedoTool",
 *          "PageNavigationTool",
 *          "MagnificationTool",
 *          "PanTool",
 *          "SelectionTool",
 *          "CommentTool",
 *          "SubmitForm",
 *          "AnnotationEditTool",
 *          "FormDesignerEditTool",
 *          "FreeTextAnnotationOption",
 *          "InkAnnotationOption",
 *          "ShapeAnnotationOption",
 *          "StampAnnotation",
 *          "SignatureOption",
 *          "SearchOption",
 *          "PrintOption",
 *          "DownloadOption"
 *      ],
 *      annotationToolbarItems: [
 *          "HighlightTool",
 *          "UnderlineTool",
 *          "StrikethroughTool",
 *          "ColorEditTool",
 *          "OpacityEditTool",
 *          "AnnotationDeleteTool",
 *          "StampAnnotationTool",
 *          "HandWrittenSignatureTool",
 *          "InkAnnotationTool",
 *          "ShapeTool",
 *          "CalibrateTool",
 *          "StrokeColorEditTool",
 *          "ThicknessEditTool",
 *          "FreeTextAnnotationTool",
 *          "FontFamilyAnnotationTool",
 *          "FontSizeAnnotationTool",
 *          "FontStylesAnnotationTool",
 *          "FontAlignAnnotationTool",
 *          "FontColorAnnotationTool",
 *          "CommentPanelTool"
 *      ],
 *      formDesignerToolbarItems: [
 *          "TextboxTool",
 *          "PasswordTool",
 *          "CheckBoxTool",
 *          "RadioButtonTool",
 *          "DropdownTool",
 *          "ListboxTool",
 *          "DrawSignatureTool",
 *          "DeleteTool"
 *      ]
 *  };
 *  viewer.appendTo("#pdfViewer");
 * ```
 *
 */
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: (CustomToolbarItemModel | ToolbarItem)[];
    /**
     * Provide option to customize the annotation toolbar of the PDF Viewer.
     */
    annotationToolbarItems: AnnotationToolbarItem[];
    /**
     * Customize the tools to be exposed in the form designer toolbar.
     */
    formDesignerToolbarItems: FormDesignerToolbarItem[];
}
/**
 * Defines customized toolbar items.
 */
export  class CustomToolbarItem extends base.ChildProperty<CustomToolbarItem> {
    /**
     * 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.
     */
    prefixIcon: string;
    /**
     * Specifies the text to be displayed on the Toolbar button.
     */
    tooltipText: string;
    /**
     * Specifies the unique ID to be used with button or input element of Toolbar items.
     */
    id: string;
    /**
     * Specifies the text to be displayed on the Toolbar button.
     */
    text: string;
    /**
     * Defines single/multiple classes (separated by space) to be used for customization of commands.
     */
    cssClass: string;
    /**
     * Define which side(right/left) to use for customizing the icon.
     */
    align: string;
    /**
     * Specifies the HTML element/element ID as a string that can be added as a Toolbar command.
     */
    template: string | object | Function;
    /**
     * Specify the type or category of the Toolbar item.
     */
    type: string;
}
/**
 * The `AjaxRequestSettings` module is used to set the ajax Request Headers of PDF viewer.
 *
 * ```html
 * <div id="pdfViewer" style="height: 100%;
width: 100%;
"></div>
 * ```
 * ```ts
 *  let viewer: PdfViewer = new PdfViewer();
 *  // HTTP header "X-Custom-Header": "Custom header value" // Custom HTTP header
 *  viewer.ajaxRequestSettings = {
 *      ajaxHeaders: [
 *          {
 *              headerName : "Authorization",
 *              headerValue : "Bearer"
 *          }
 *      ],
 *      withCredentials: false
 *  };
 *  viewer.appendTo("#pdfViewer");
 * ```
 *
 */
export  class AjaxRequestSettings extends base.ChildProperty<AjaxRequestSettings> {
    /**
     * set the ajax Header values in the PdfViewer.
     */
    ajaxHeaders: IAjaxHeaders[];
    /**
     * set the ajax credentials for the pdfviewer.
     */
    withCredentials: boolean;
}
export interface IAjaxHeaders {
    /**
     * specifies the ajax Header Name of the PdfViewer.
     */
    headerName: string;
    /**
     * specifies the ajax Header Value of the PdfViewer.
     */
    headerValue: string;
}
/**
 * The `CustomStamp` module is used to provide the custom stamp added in stamp menu of the PDF Viewer toolbar.
 *
 * ```html
 * <div id="pdfViewer" style="height: 100%;
width: 100%;
"></div>
 * ```
 * ```ts
 *  let viewer: PdfViewer = new PdfViewer();
 *  // Add your custom stamp image source as base64 image.
 *  viewer.customStamp = [
 *       {
 *          customStampName: 'Sample',
 *          customStampImageSource: "data:image/png;
base64, Syncfusion pdf viewer"
 *      }
 *  ];
 *  viewer.appendTo("#pdfViewer");
 * ```
 *
 */
export  class CustomStamp extends base.ChildProperty<CustomStamp> {
    /**
     * Defines the custom stamp name to be added in stamp menu of the PDF Viewer toolbar.
     */
    customStampName: string;
    /**
     * Defines the custom stamp images source to be added in stamp menu of the PDF Viewer toolbar.
     */
    customStampImageSource: string;
}
/**
 * The `AnnotationToolbarSettings` module is used to provide the annotation toolbar settings of the PDF viewer.
 *
 * ```html
 * <div id="pdfViewer" style="height: 100%;
width: 100%;
"></div>
 * ```
 * ```ts
 *  let viewer: PdfViewer = new PdfViewer();
 *  // Change the annotation tool bar settings.
 *  viewer.toolbarSettings = {
 *      showTooltip: false,
 *      annotationToolbarItems: [
 *          "HighlightTool",
 *          "UnderlineTool",
 *          "StrikethroughTool",
 *          "ColorEditTool",
 *          "OpacityEditTool",
 *          "AnnotationDeleteTool",
 *          "StampAnnotationTool",
 *          "HandWrittenSignatureTool",
 *          "InkAnnotationTool",
 *          "ShapeTool",
 *          "CalibrateTool",
 *          "StrokeColorEditTool",
 *          "ThicknessEditTool",
 *          "FreeTextAnnotationTool",
 *          "FontFamilyAnnotationTool",
 *          "FontSizeAnnotationTool",
 *          "FontStylesAnnotationTool",
 *          "FontAlignAnnotationTool",
 *          "FontColorAnnotationTool",
 *          "CommentPanelTool"
 *      ],
 *  };
 * viewer.appendTo("#pdfViewer");
 * ```
 *
 */
export  class AnnotationToolbarSettings extends base.ChildProperty<AnnotationToolbarSettings> {
    /**
     * Enable or disables the tooltip of the toolbar.
     */
    showTooltip: boolean;
    /**
     * shows only the defined options in the PdfViewer.
     */
    annotationToolbarItem: AnnotationToolbarItem[];
}
/**
 * The `FormDesignerToolbarSettings` module is used to provide the Form designer toolbar settings of the PDF viewer.
 *
 * ```html
 * <div id="pdfViewer" style="height: 100%;
width: 100%;
"></div>
 * ```
 * ```ts
 *  let viewer: PdfViewer = new PdfViewer();
 *  // Change the form field tool bar settings.
 *  viewer.toolbarSettings = {
 *      showTooltip: false,
 *      formDesignerToolbarItems: [
 *          "TextboxTool",
 *          "PasswordTool",
 *          "CheckBoxTool",
 *          "RadioButtonTool",
 *          "DropdownTool",
 *          "ListboxTool",
 *          "DrawSignatureTool",
 *          "DeleteTool"
 *      ]
 *  };
 * viewer.appendTo("#pdfViewer");
 * ```
 *
 */
export  class FormDesignerToolbarSettings extends base.ChildProperty<FormDesignerToolbarSettings> {
    /**
     * Enable or disables the tooltip of the toolbar.
     */
    showTooltip: boolean;
    /**
     * shows only the defined options in the PdfViewer.
     */
    formDesignerToolbarItem: FormDesignerToolbarItem[];
}
/**
 * The `SignatureFieldSettings` module is used to set the properties of signature field in PDF Viewer
 *
 * ```html
 * <div id="pdfViewer" style="height: 100%;
width: 100%;
"></div>
 * ```
 * ```ts
 *  let viewer: PdfViewer = new PdfViewer();
 *  // Change the signature field settings.
 *  viewer.signatureFieldSettings = {
 *      name: "",
 *      isReadOnly: true,
 *      visibility: "visible",
 *      isRequired: true,
 *      isPrint: false,
 *      tooltip: "",
 *      thickness: 1,
 *      signatureIndicatorSettings: {
 *          opacity: 1,
 *          backgroundColor: "orange",
 *          width: 19,
 *          height: 10,
 *          fontSize: 10,
 *          text: null,
 *          color: "black"
 *      },
 *      signatureDialogSettings: {
 *          displayMode: DisplayMode.Draw | DisplayMode.Text | DisplayMode.Upload,
 *          hideSaveSignature: false
 *      }
 *  };
 *  viewer.appendTo("#pdfViewer");
 * ```
 *
 */
export  class SignatureFieldSettings extends base.ChildProperty<SignatureFieldSettings> {
    /**
     * Get or set the form field bounds.
     */
    bounds: IFormFieldBound;
    /**
     * Get or set the name of the form field element.
     */
    name: string;
    /**
     * Specifies whether the signature field is in read-only or read-write mode. FALSE by default.
     */
    isReadOnly: boolean;
    /**
     * Gets or set the visibility of the form field.
     */
    visibility: Visibility;
    /**
     * If it is set as true, consider as mandatory field in the PDF document. By default it is false.
     */
    isRequired: boolean;
    /**
     * Get or set the boolean value to print the signature field. TRUE by default.
     */
    isPrint: boolean;
    /**
     * Get or set the text to be displayed as tooltip. By default it is empty.
     */
    tooltip: string;
    /**
     * Get or set the thickness of the Signature field. Default value is 1. To hide the borders, set the value to 0 (zero).
     */
    thickness: number;
    /**
     * specifies the page number of the form field.
     */
    pageNumber: number;
    /**
     * Specifies the properties of the signature Dialog Settings in the signature field.
     */
    signatureDialogSettings: SignatureDialogSettingsModel;
    /**
     * Specifies the properties of the signature indicator in the signature field.
     */
    signatureIndicatorSettings: SignatureIndicatorSettingsModel;
    /**
     * specifies the custom data of the form fields.
     */
    customData: object;
    /**
     * Allows setting the font name for typed signatures at specific indices. The maximum number of font names is limited to 4, so the key values should range from 0 to 3.
     */
    typeSignatureFonts: {
        [key: number]: string;
    };
}
/**
 * The `InitialFieldSettings` module is used to set the properties of initial field in PDF Viewer
 *
 * ```html
 * <div id="pdfViewer" style="height: 100%;
width: 100%;
"></div>
 * ```
 * ```ts
 *  let viewer: PdfViewer = new PdfViewer();
 *  // Changes the initial field settings.
 *  viewer.initialFieldSettings = {
 *      name: "",
 *      isReadOnly: true,
 *      visibility: "visible",
 *      isRequired: true,
 *      isPrint: true,
 *      tooltip: "",
 *      thickness: 1,
 *      initialIndicatorSettings: {
 *          opacity: 1,
 *          backgroundColor: "orange",
 *          width: 19,
 *          height: 10,
 *          fontSize: 10,
 *          text: null,
 *          color: "black"
 *      },
 *      initialDialogSettings: {
 *         displayMode: DisplayMode.Draw | DisplayMode.Text | DisplayMode.Upload,
 *          hideSaveSignature: false
 *      }
 *  };
 *  viewer.appendTo("#pdfViewer");
 * ```
 *
 */
export  class InitialFieldSettings extends base.ChildProperty<InitialFieldSettings> {
    /**
     * Get or set the form field bounds.
     */
    bounds: IFormFieldBound;
    /**
     * Get or set the name of the form field element.
     */
    name: string;
    /**
     * Specifies whether the initial field is in read-only or read-write mode. FALSE by default.
     */
    isReadOnly: boolean;
    /**
     * Gets or set the visibility of the form field.
     */
    visibility: Visibility;
    /**
     * If it is set as true, consider as mandatory field in the PDF document. By default it is false.
     */
    isRequired: boolean;
    /**
     * Get or set the boolean value to print the initial field. TRUE by default.
     */
    isPrint: boolean;
    /**
     * Get or set the text to be displayed as tooltip. By default it is empty.
     */
    tooltip: string;
    /**
     * Get or set the thickness of the Initial field. Default value is 1. To hide the borders, set the value to 0 (zero).
     */
    thickness: number;
    /**
     * specifies the page number of the form field.
     */
    pageNumber: number;
    /**
     * Gets or sets the initial field type of the signature field.
     */
    isInitialField: boolean;
    /**
     * Get or set the signature dialog settings for initial field.
     */
    initialDialogSettings: SignatureDialogSettingsModel;
    /**
     * Specifies the properties of the signature indicator in the initial field.
     */
    initialIndicatorSettings: SignatureIndicatorSettingsModel;
    /**
     * specifies the custom data of the form fields.
     */
    customData: object;
    /**
     * Allows setting the font name for typed initials at specific indices. The maximum number of font names is limited to 4, so the key values should range from 0 to 3.
     */
    typeInitialFonts: {
        [key: number]: string;
    };
}
/**
 * The `SignatureIndicatorSettings` module is used to provide the properties of signature Indicator in the signature field.
 *
 * ```html
 * <div id="pdfViewer" style="height: 100%;
width: 100%;
"></div>
 * ```
 * ```ts
 *  let viewer: PdfViewer = new PdfViewer();
 *  // Change the signature indicator settings.
 *  viewer.signatureFieldSettings = {
 *      signatureIndicatorSettings: {
 *          opacity: 1,
 *          backgroundColor: 'orange',
 *          width: 19,
 *          height: 10,
 *          fontSize: 10,
 *          text: null,
 *          color: 'black'
 *      }
 *  };
 *  viewer.appendTo("#pdfViewer");
 * ```
 *
 */
export  class SignatureIndicatorSettings extends base.ChildProperty<SignatureIndicatorSettings> {
    /**
     * Specifies the opacity of the signature indicator.
     */
    opacity: number;
    /**
     * Specifies the color of the signature indicator.
     */
    backgroundColor: string;
    /**
     * Specifies the width of the signature indicator. Maximum width is half the width of the signature field.
     * Minimum width is the default value.
     */
    width: number;
    /**
     * Specifies the height of the signature indicator. Maximum height is half the height of the signature field.
     * Minimum height is the default value.
     */
    height: number;
    /**
     * Specifies the signature Indicator's font size. The maximum size of the font is half the height of the signature field.
     */
    fontSize: number;
    /**
     * Specifies the text of the signature Indicator.
     */
    text: string;
    /**
     * Specifies the color of the text of signature indicator.
     */
    color: string;
}
/**
 * The `SignatureDialogSettings` module is used to customize the signature dialog box.
 *
 *
 * ```html
 * <div id="pdfViewer" style="height: 100%;
width: 100%;
"></div>
 * ```
 * ```ts
 *  let viewer: PdfViewer = new PdfViewer();
 *  // Change the signature dialog settings.
 *  viewer.signatureDialogSettings = {
 *      displayMode: DisplayMode.Draw | DisplayMode.Text | DisplayMode.Upload,
 *      hideSaveSignature: true
 *  };
 *  viewer.appendTo("#pdfViewer");
 * ```
 *
 */
export  class SignatureDialogSettings extends base.ChildProperty<SignatureDialogSettings> {
    /**
     * Get or set the required signature options will be enabled in the signature dialog.
     */
    displayMode: DisplayMode;
    /**
     * Get or set a boolean value to show or hide the save signature check box option in the signature dialog. FALSE by default.
     */
    hideSaveSignature: boolean;
}
/**
 * The `ServerActionSettings` module is used to provide the server action methods of PDF viewer.
 *
 * ```html
 * <div id="pdfViewer" style="height: 100%;
width: 100%;
"></div>
 * ```
 * ```ts
 *  let viewer: PdfViewer = new PdfViewer();
 *  // Change the server action settings.
 *  viewer.serverActionSettings = {
 *      load: "Load",
 *      renderPages: "RenderPdfPages",
 *      unload: "Unload",
 *      download: "Download",
 *      renderThumbnail: "RenderThumbnailImages",
 *      print: "PrintImages",
 *      renderComments: "RenderAnnotationComments",
 *      exportAnnotations: "ExportAnnotations",
 *      exportFormFields: "ExportFormFields",
 *      renderTexts: "RenderPdfTexts",
 *      validatePassword: "ValidatePassword"
 *  };
 *  viewer.appendTo("#pdfViewer");
 * ```
 *
 */
export  class ServerActionSettings extends base.ChildProperty<ServerActionSettings> {
    /**
     * specifies the load action of PdfViewer.
     */
    load: string;
    /**
     * specifies the unload action of PdfViewer.
     */
    unload: string;
    /**
     * specifies the render action of PdfViewer.
     */
    renderPages: string;
    /**
     * specifies the print action of PdfViewer.
     */
    print: string;
    /**
     * specifies the download action of PdfViewer.
     */
    download: string;
    /**
     * specifies the download action of PdfViewer.
     */
    renderThumbnail: string;
    /**
     * specifies the annotation comments action of PdfViewer.
     */
    renderComments: string;
    /**
     */
    /**
     * specifies the export annotations action of PdfViewer.
     */
    exportAnnotations: string;
    /**
     */
    /**
     * specifies the export action of PdfViewer.
     */
    exportFormFields: string;
    /**
     * specifies the export action of PdfViewer.
     */
    renderTexts: string;
    /**
     * Specifies the password validation action of PDF Viewer.
     */
    validatePassword: string;
}
/**
 * The `StrikethroughSettings` module is used to provide the properties to Strikethrough annotation.
 *
 * ```html
 * <div id="pdfViewer" style="height: 100%;
width: 100%;
"></div>
 * ```
 * ```ts
 *  let viewer: PdfViewer = new PdfViewer();
 *  // Change the strike through annotation settings.
 *  viewer.strikethroughSettings = {
 *      opacity: 1,
 *      color: '#ff0000',
 *      author: 'Guest',
 *      annotationSelectorSettings: {
 *          selectionBorderColor: '',
 *          resizerBorderColor: 'black',
 *          resizerFillColor: '#FF4081',
 *          resizerSize: 8,
 *          selectionBorderThickness: 1,
 *          resizerShape: 'Square',
 *          selectorLineDashArray: [],
 *          resizerLocation: AnnotationResizerLocation.Corners | AnnotationResizerLocation.Edges
 *      },
 *      isLock: false,
 *      enableMultiPageAnnotation: false,
 *      enableTextMarkupResizer: false,
 *      allowedInteractions: ['None'],
 *      isPrint: true
 *  };
 *  viewer.appendTo("#pdfViewer");
 * ```
 *
 */
export  class StrikethroughSettings extends base.ChildProperty<StrikethroughSettings> {
    /**
     * Get or set page number of the annotation.
     */
    pageNumber: number;
    /**
     * Get or set bounds of the annotation.
     *
     * @default []
     */
    bounds: IAnnotationPoint[];
    /**
     * specifies the opacity of the annotation.
     */
    opacity: number;
    /**
     * specifies the color of the annotation.
     */
    color: string;
    /**
     * specifies the author of the annotation.
     */
    author: string;
    /**
     * specifies the annotation selector settings of the annotation.
     */
    annotationSelectorSettings: AnnotationSelectorSettingsModel;
    /**
     * specifies the custom data of the annotation.
     */
    customData: object;
    /**
     * specifies the locked action of the annotation.
     */
    isLock: boolean;
    /**
     * Enables or disables the multi-page text markup annotation selection in UI.
     *
     * @default false
     */
    enableMultiPageAnnotation: boolean;
    /**
     * Enable or disable the text markup resizer to modify the bounds in UI.
     *
     * @default false
     */
    enableTextMarkupResizer: boolean;
    /**
     * Gets or sets the allowed interactions for the locked strikethrough annotations.
     * IsLock can be configured using strikethrough settings.
     *
     * @default ['None']
     */
    allowedInteractions: AllowedInteraction[];
    /**
     * specifies whether the individual annotations are included or not in print actions.
     */
    isPrint: boolean;
    /**
     * specifies the subject of the annotation.
     */
    subject: string;
}
/**
 * The `UnderlineSettings` module is used to provide the properties to Underline annotation.
 *
 * ```html
 * <div id="pdfViewer" style="height: 100%;
width: 100%;
"></div>
 * ```
 * ```ts
 *  let viewer: PdfViewer = new PdfViewer();
 *  // Change the underline annotation settings.
 *  viewer.underlineSettings = {
 *      opacity: 1,
 *      color: '#9c2592',
 *      author: 'Guest',
 *      annotationSelectorSettings: {
 *          selectionBorderColor: '',
 *          resizerBorderColor: 'black',
 *          resizerFillColor: '#FF4081',
 *          resizerSize: 8,
 *          selectionBorderThickness: 1,
 *          resizerShape: 'Square',
 *          selectorLineDashArray: [],
 *          resizerLocation: AnnotationResizerLocation.Corners | AnnotationResizerLocation.Edges
 *      },
 *      isLock: false,
 *      enableMultiPageAnnotation: false,
 *      enableTextMarkupResizer: false,
 *      allowedInteractions: ['None'],
 *      isPrint: true
 *  };
 *  viewer.appendTo("#pdfViewer");
 * ```
 *
 */
export  class UnderlineSettings extends base.ChildProperty<UnderlineSettings> {
    /**
     * Get or set page number of the annotation.
     */
    pageNumber: number;
    /**
     * Get or set bounds of the annotation.
     *
     * @default []
     */
    bounds: IAnnotationPoint[];
    /**
     * specifies the opacity of the annotation.
     */
    opacity: number;
    /**
     * specifies the color of the annotation.
     */
    color: string;
    /**
     * specifies the author of the annotation.
     */
    author: string;
    /**
     * specifies the annotation selector settings of the annotation.
     */
    annotationSelectorSettings: AnnotationSelectorSettingsModel;
    /**
     * specifies the custom data of the annotation.
     */
    customData: object;
    /**
     * specifies the locked action of the annotation.
     */
    isLock: boolean;
    /**
     * Enables or disables the multi-page text markup annotation selection in UI.
     *
     * @default false
     */
    enableMultiPageAnnotation: boolean;
    /**
     * Enable or disable the text markup resizer to modify the bounds in UI.
     *
     * @default false
     */
    enableTextMarkupResizer: boolean;
    /**
     * Gets or sets the allowed interactions for the locked underline annotations.
     * IsLock can be configured using underline settings.
     *
     * @default ['None']
     */
    allowedInteractions: AllowedInteraction[];
    /**
     * specifies whether the individual annotations are included or not in print actions.
     */
    isPrint: boolean;
    /**
     * specifies the subject of the annotation.
     */
    subject: string;
}
/**
 * The `HighlightSettings` module is used to provide the properties to Highlight annotation.
 *
 * ```html
 * <div id="pdfViewer" style="height: 100%;
width: 100%;
"></div>
 * ```
 * ```ts
 *  let viewer: PdfViewer = new PdfViewer();
 *  // Change the highlight annotation settings.
 *  viewer.highlightSettings = {
 *      opacity: 1,
 *      color: '#ff0000',
 *      author: 'Guest',
 *      annotationSelectorSettings: {
 *          selectionBorderColor: '',
 *          resizerBorderColor: 'black',
 *          resizerFillColor: '#FF4081',
 *          resizerSize: 8,
 *          selectionBorderThickness: 1,
 *          resizerShape: 'Square',
 *          selectorLineDashArray: [],
 *          resizerLocation: AnnotationResizerLocation.Corners | AnnotationResizerLocation.Edges
 *      },
 *      isLock: false,
 *      enableMultiPageAnnotation: false,
 *      enableTextMarkupResizer: false,
 *      allowedInteractions: ['None'],
 *      isPrint: true
 *  };
 *  viewer.appendTo("#pdfViewer");
 * ```
 *
 */
export  class HighlightSettings extends base.ChildProperty<HighlightSettings> {
    /**
     * Get or set page number of the annotation.
     */
    pageNumber: number;
    /**
     * Get or set bounds of the annotation.
     *
     * @default []
     */
    bounds: IAnnotationPoint[];
    /**
     * specifies the opacity of the annotation.
     */
    opacity: number;
    /**
     * specifies the color of the annotation.
     */
    color: string;
    /**
     * specifies the author of the annotation.
     */
    author: string;
    /**
     * specifies the annotation selector settings of the annotation.
     */
    annotationSelectorSettings: AnnotationSelectorSettingsModel;
    /**
     * specifies the custom data of the annotation.
     */
    customData: object;
    /**
     * specifies the locked action of the annotation.
     */
    isLock: boolean;
    /**
     * Enables or disables the multi-page text markup annotation selection in UI.
     *
     * @default false
     */
    enableMultiPageAnnotation: boolean;
    /**
     * Enable or disable the text markup resizer to modify the bounds in UI.
     *
     * @default false
     */
    enableTextMarkupResizer: boolean;
    /**
     * Gets or sets the allowed interactions for the locked highlight annotations.
     * IsLock can be configured using highlight settings.
     *
     * @default ['None']
     */
    allowedInteractions: AllowedInteraction[];
    /**
     * specifies whether the individual annotations are included or not in print actions.
     */
    isPrint: boolean;
    /**
     * specifies the subject of the annotation.
     */
    subject: string;
}
/**
 * The `LineSettings` module is used to provide the properties to line annotation.
 *
 * ```html
 * <div id="pdfViewer" style="height: 100%;
width: 100%;
"></div>
 * ```
 * ```ts
 *  let viewer: PdfViewer = new PdfViewer();
 *  // Change the line annotation settings.
 *  viewer.lineSettings = {
 *      opacity: 1,
 *      color: '#9c2592',
 *      author: 'Guest',
 *      annotationSelectorSettings: {
 *          selectionBorderColor: '',
 *          resizerBorderColor: 'black',
 *          resizerFillColor: '#FF4081',
 *          resizerSize: 8,
 *          selectionBorderThickness: 1,
 *          resizerShape: 'Square',
 *          selectorLineDashArray: [],
 *          resizerLocation: AnnotationResizerLocation.Corners | AnnotationResizerLocation.Edges
 *      },
 *      isLock: false,
 *      enableMultiPageAnnotation: false,
 *      enableTextMarkupResizer: false,
 *      allowedInteractions: ['None'],
 *      isPrint: true
 *  };
 *  viewer.appendTo("#pdfViewer");
 * ```
 *
 */
export  class LineSettings extends base.ChildProperty<LineSettings> {
    /**
     * Get or set offset of the annotation.
     */
    offset: IPoint;
    /**
     * Get or set page number of the annotation.
     */
    pageNumber: number;
    /**
     * Get or set vertex points of the annotation.
     *
     * @default []
     */
    vertexPoints?: drawings.PointModel[];
    /**
     * specifies the opacity of the annotation.
     */
    opacity: number;
    /**
     * specifies the fill color of the annotation.
     */
    fillColor: string;
    /**
     * specifies the stroke color of the annotation.
     */
    strokeColor: string;
    /**
     * specifies the author of the annotation.
     */
    author: string;
    /**
     * specified the thickness of the annotation.
     */
    thickness: number;
    /**
     * specifies the line head start style of the annotation.
     */
    lineHeadStartStyle: LineHeadStyle;
    /**
     * specifies the line head end style of the annotation.
     */
    lineHeadEndStyle: LineHeadStyle;
    /**
     * specifies the border dash array  of the annotation.
     */
    borderDashArray: number;
    /**
     * specifies the annotation selector settings of the annotation.
     */
    annotationSelectorSettings: AnnotationSelectorSettingsModel;
    /**
     * specifies the minHeight of the annotation.
     */
    minHeight: number;
    /**
     * specifies the minWidth of the annotation.
     */
    minWidth: number;
    /**
     * specifies the minHeight of the annotation.
     */
    maxHeight: number;
    /**
     * specifies the maxWidth of the annotation.
     */
    maxWidth: number;
    /**
     * specifies the locked action of the annotation.
     */
    isLock: boolean;
    /**
     * specifies the custom data of the annotation.
     */
    customData: object;
    /**
     * Gets or sets the allowed interactions for the locked highlight annotations.
     * IsLock can be configured using line settings.
     *
     * @default ['None']
     */
    allowedInteractions: AllowedInteraction[];
    /**
     * specifies whether the individual annotations are included or not in print actions.
     */
    isPrint: boolean;
    /**
     * specifies the subject of the annotation.
     */
    subject: string;
}
/**
 * The `ArrowSettings` module is used to provide the properties to arrow annotation.
 *
 * ```html
 * <div id="pdfViewer" style="height: 100%;
width: 100%;
"></div>
 * ```
 * ```ts
 *  let viewer: PdfViewer = new PdfViewer();
 *  // Change the arrow annotation settings.
 *  viewer.arrowSettings = {
 *      opacity: 1,
 *      fillColor: '#9c2592',
 *      strokeColor: '#ff0000',
 *      author: 'Guest',
 *      thickness: 1,
 *      borderDashArray: 0,
 *      lineHeadStartStyle: 'Closed',
 *      lineHeadEndStyle: 'Closed',
 *      annotationSelectorSettings: {
 *          selectionBorderColor: '',
 *          resizerBorderColor: 'black',
 *          resizerFillColor: '#FF4081',
 *          resizerSize: 8,
 *          selectionBorderThickness: 1,
 *          resizerShape: 'Square',
 *          selectorLineDashArray: [],
 *          resizerLocation: AnnotationResizerLocation.Corners | AnnotationResizerLocation.Edges,
 *          resizerCursorType: null
 *      },
 *      minHeight: 0,
 *      minWidth: 0,
 *      maxWidth: 0,
 *      maxHeight: 0,
 *      isLock: false,
 *      allowedInteractions: ['None'],
 *      isPrint: true
 *  };
 *  viewer.appendTo("#pdfViewer");
 * ```
 *
 */
export  class ArrowSettings extends base.ChildProperty<ArrowSettings> {
    /**
     * Get or set offset of the annotation.
     */
    offset: IPoint;
    /**
     * Get or set page number of the annotation.
     */
    pageNumber: number;
    /**
     * Get or set vertex points of the annotation.
     *
     * @default []
     */
    vertexPoints?: drawings.PointModel[];
    /**
     * specifies the opacity of the annotation.
     */
    opacity: number;
    /**
     * specifies the fill color of the annotation.
     */
    fillColor: string;
    /**
     * specifies the stroke color of the annotation.
     */
    strokeColor: string;
    /**
     * specifies the author of the annotation.
     */
    author: string;
    /**
     * specified the thickness of the annotation.
     */
    thickness: number;
    /**
     * specifies the line head start style of the annotation.
     */
    lineHeadStartStyle: LineHeadStyle;
    /**
     * specifies the line head start style of the annotation.
     */
    lineHeadEndStyle: LineHeadStyle;
    /**
     * specifies the border dash array  of the annotation.
     */
    borderDashArray: number;
    /**
     * specifies the annotation selector settings of the annotation.
     */
    annotationSelectorSettings: AnnotationSelectorSettingsModel;
    /**
     * specifies the minHeight of the annotation.
     */
    minHeight: number;
    /**
     * specifies the minWidth of the annotation.
     */
    minWidth: number;
    /**
     * specifies the minHeight of the annotation.
     */
    maxHeight: number;
    /**
     * specifies the maxWidth of the annotation.
     */
    maxWidth: number;
    /**
     * specifies the locked action of the annotation.
     */
    isLock: boolean;
    /**
     * specifies the custom data of the annotation.
     */
    customData: object;
    /**
     * Gets or sets the allowed interactions for the locked arrow annotations.
     * IsLock can be configured using arrow settings.
     *
     * @default ['None']
     */
    allowedInteractions: AllowedInteraction[];
    /**
     * specifies whether the individual annotations are included or not in print actions.
     */
    isPrint: boolean;
    /**
     * specifies the subject of the annotation.
     */
    subject: string;
}
/**
 * The `RectangleSettings` module is used to provide the properties to rectangle annotation.
 *
 * ```html
 * <div id="pdfViewer" style="height: 100%;
width: 100%;
"></div>
 * ```
 * ```ts
 *  let viewer: PdfViewer = new PdfViewer();
 *  // Change the rectangle annotation settings.
 *  viewer.rectangleSettings = {
 *      opacity: 1,
 *      fillColor: '#9c2592',
 *      strokeColor: '#ff0000',
 *      author: 'Guest',
 *      thickness: 1,
 *      annotationSelectorSettings: {
 *          selectionBorderColor: '',
 *          resizerBorderColor: 'black',
 *          resizerFillColor: '#FF4081',
 *          resizerSize: 8,
 *          selectionBorderThickness: 1,
 *          resizerShape: 'Square',
 *          selectorLineDashArray: [],
 *          resizerLocation: AnnotationResizerLocation.Corners | AnnotationResizerLocation.Edges,
 *          resizerCursorType: null
 *      },
 *      minHeight: 0,
 *      minWidth: 0,
 *      maxWidth: 0,
 *      maxHeight: 0,
 *      isLock: false,
 *      allowedInteractions: ['None'],
 *      isPrint: true
 *  };
 *  viewer.appendTo("#pdfViewer");
 * ```
 *
 */
export  class RectangleSettings extends base.ChildProperty<RectangleSettings> {
    /**
     * Get or set offset of the annotation.
     */
    offset: IPoint;
    /**
     * Get or set page number of the annotation.
     */
    pageNumber: number;
    /**
     * specifies the width of the annotation.
     */
    width: number;
    /**
     * specifies the height of the annotation.
     */
    height: number;
    /**
     * specifies the opacity of the annotation.
     */
    opacity: number;
    /**
     * specifies the fill color of the annotation.
     */
    fillColor: string;
    /**
     * specifies the stroke color of the annotation.
     */
    strokeColor: string;
    /**
     * specifies the author of the annotation.
     */
    author: string;
    /**
     * specified the thickness of the annotation.
     */
    thickness: number;
    /**
     * specifies the annotation selector settings of the annotation.
     */
    annotationSelectorSettings: AnnotationSelectorSettingsModel;
    /**
     * specifies the minHeight of the annotation.
     */
    minHeight: number;
    /**
     * specifies the minWidth of the annotation.
     */
    minWidth: number;
    /**
     * specifies the minHeight of the annotation.
     */
    maxHeight: number;
    /**
     * specifies the maxWidth of the annotation.
     */
    maxWidth: number;
    /**
     * specifies the locked action of the annotation.
     */
    isLock: boolean;
    /**
     * specifies the custom data of the annotation.
     */
    customData: object;
    /**
     * Gets or sets the allowed interactions for the locked rectangle annotations.
     * IsLock can be configured using rectangle settings.
     *
     * @default ['None']
     */
    allowedInteractions: AllowedInteraction[];
    /**
     * specifies whether the individual annotations are included or not in print actions.
     */
    isPrint: boolean;
    /**
     * specifies the subject of the annotation.
     */
    subject: string;
}
/**
 * The `CircleSettings` module is used to provide the properties to circle annotation.
 *
 * ```html
 * <div id="pdfViewer" style="height: 100%;
width: 100%;
"></div>
 * ```
 * ```ts
 *  let viewer: PdfViewer = new PdfViewer();
 *  // Change the circle annotation settings.
 *  viewer.circleSettings = {
 *      opacity: 1,
 *      fillColor: '#9c2592',
 *      strokeColor: '#ff0000',
 *      author: 'Guest',
 *      thickness: 1,
 *      annotationSelectorSettings: {
 *          selectionBorderColor: '',
 *          resizerBorderColor: 'black',
 *          resizerFillColor: '#FF4081',
 *          resizerSize: 8,
 *          selectionBorderThickness: 1,
 *          resizerShape: 'Square',
 *          selectorLineDashArray: [],
 *          resizerLocation: AnnotationResizerLocation.Corners | AnnotationResizerLocation.Edges,
 *          resizerCursorType: null
 *      },
 *      minHeight: 0,
 *      minWidth: 0,
 *      maxWidth: 0,
 *      maxHeight: 0,
 *      isLock: false,
 *      allowedInteractions: ['None'],
 *      isPrint: true
 *  };
 *  viewer.appendTo("#pdfViewer");
 * ```
 *
 */
export  class CircleSettings extends base.ChildProperty<CircleSettings> {
    /**
     * Get or set offset of the annotation.
     */
    offset: IPoint;
    /**
     * Get or set page number of the annotation.
     */
    pageNumber: number;
    /**
     * specifies the width of the annotation.
     */
    width: number;
    /**
     * specifies the height of the annotation.
     */
    height: number;
    /**
     * specifies the opacity of the annotation.
     */
    opacity: number;
    /**
     * specifies the fill color of the annotation.
     */
    fillColor: string;
    /**
     * specifies the stroke color of the annotation.
     */
    strokeColor: string;
    /**
     * specifies the author of the annotation.
     */
    author: string;
    /**
     * specified the thickness of the annotation.
     */
    thickness: number;
    /**
     * specifies the annotation selector settings of the annotation.
     */
    annotationSelectorSettings: AnnotationSelectorSettingsModel;
    /**
     * specifies the minHeight of the annotation.
     */
    minHeight: number;
    /**
     * specifies the minWidth of the annotation.
     */
    minWidth: number;
    /**
     * specifies the minHeight of the annotation.
     */
    maxHeight: number;
    /**
     * specifies the maxWidth of the annotation.
     */
    maxWidth: number;
    /**
     * specifies the locked action of the annotation.
     */
    isLock: boolean;
    /**
     * specifies the custom data of the annotation.
     */
    customData: object;
    /**
     * Gets or sets the allowed interactions for the locked circle annotations.
     * IsLock can be configured using circle settings.
     *
     * @default ['None']
     */
    allowedInteractions: AllowedInteraction[];
    /**
     * specifies whether the individual annotations are included or not in print actions.
     */
    isPrint: boolean;
    /**
     * specifies the subject of the annotation.
     */
    subject: string;
}
/**
 * The `ShapeLabelSettings` module is used to provide the properties to rectangle annotation.
 *
 * ```html
 * <div id="pdfViewer" style="height: 100%;
width: 100%;
"></div>
 * ```
 * ```ts
 *  let viewer: PdfViewer = new PdfViewer();
 *  // Change the shape label settings.
 *  viewer.shapeLabelSettings = {
 *      opacity: 1,
 *      fillColor: '#9c2592',
 *      borderColor: '#ff0000',
 *      fontColor: '#000',
 *      fontSize: 16,
 *      labelHeight: 24.6,
 *      labelMaxWidth: 151,
 *      labelContent: 'Label'
 *  };
 *  viewer.appendTo("#pdfViewer");
 * ```
 *
 */
export  class ShapeLabelSettings extends base.ChildProperty<ShapeLabelSettings> {
    /**
     * specifies the opacity of the label.
     */
    opacity: number;
    /**
     * specifies the fill color of the label.
     */
    fillColor: string;
    /**
     * specifies the border color of the label.
     */
    fontColor: string;
    /**
     * specifies the font size of the label.
     */
    fontSize: number;
    /**
     * specifies the max-width of the label.
     */
    fontFamily: string;
    /**
     * specifies the default content of the label.
     */
    labelContent: string;
    /**
     * specifies the default content of the label.
     */
    notes: string;
}
/**
 * The `PolygonSettings` module is used to provide the properties to polygon annotation.
 *
 * ```html
 * <div id="pdfViewer" style="height: 100%;
width: 100%;
"></div>
 * ```
 * ```ts
 *  let viewer: PdfViewer = new PdfViewer();
 *  // Change the polygon annotation settings.
 *  viewer.polygonSettings = {
 *      opacity: 1,
 *      fillColor: '#4070FF',
 *      strokeColor: '#ff0000',
 *      author: 'Guest',
 *      thickness: 1,
 *      annotationSelectorSettings: {
 *          selectionBorderColor: '',
 *          resizerBorderColor: 'black',
 *          resizerFillColor: '#FF4081',
 *          resizerSize: 8,
 *          selectionBorderThickness: 1,
 *          resizerShape: 'Square',
 *          selectorLineDashArray: [],
 *          resizerLocation: AnnotationResizerLocation.Corners | AnnotationResizerLocation.Edges,
 *          resizerCursorType: null
 *      },
 *      minHeight: 0,
 *      minWidth: 0,
 *      maxWidth: 0,
 *      maxHeight: 0,
 *      isLock: false,
 *      allowedInteractions: ['None'],
 *      isPrint: true
 *  };
 *  viewer.appendTo("#pdfViewer");
 * ```
 *
 */
export  class PolygonSettings extends base.ChildProperty<PolygonSettings> {
    /**
     * Get or set offset of the annotation.
     */
    offset: IPoint;
    /**
     * Get or set page number of the annotation.
     */
    pageNumber: number;
    /**
     * Get or set vertex points of the annotation.
     *
     * @default []
     */
    vertexPoints?: drawings.PointModel[];
    /**
     * specifies the opacity of the annotation.
     */
    opacity: number;
    /**
     * specifies the fill color of the annotation.
     */
    fillColor: string;
    /**
     * specifies the stroke color of the annotation.
     */
    strokeColor: string;
    /**
     * specifies the author of the annotation.
     */
    author: string;
    /**
     * specified the thickness of the annotation.
     */
    thickness: number;
    /**
     * specifies the annotation selector settings of the annotation.
     */
    annotationSelectorSettings: AnnotationSelectorSettingsModel;
    /**
     * specifies the minHeight of the annotation.
     */
    minHeight: number;
    /**
     * specifies the minWidth of the annotation.
     */
    minWidth: number;
    /**
     * specifies the minHeight of the annotation.
     */
    maxHeight: number;
    /**
     * specifies the maxWidth of the annotation.
     */
    maxWidth: number;
    /**
     * specifies the locked action of the annotation.
     */
    isLock: boolean;
    /**
     * specifies the custom data of the annotation.
     */
    customData: object;
    /**
     * Gets or sets the allowed interactions for the locked polygon annotations.
     * IsLock can be configured using polygon settings.
     *
     * @default ['None']
     */
    allowedInteractions: AllowedInteraction[];
    /**
     * specifies whether the individual annotations are included or not in print actions.
     */
    isPrint: boolean;
    /**
     * specifies the subject of the annotation.
     */
    subject: string;
}
/**
 * The `stampSettings` module is used to provide the properties to stamp annotation.
 *
 * ```html
 * <div id="pdfViewer" style="height: 100%;
width: 100%;
"></div>
 * ```
 * ```ts
 *  let viewer: PdfViewer = new PdfViewer();
 *  // Change the stamp annotation settings.
 *  viewer.stampSettings = {
 *      opacity: 1,
 *      author: 'Guest',
 *      annotationSelectorSettings: {
 *          selectionBorderColor: '',
 *          resizerBorderColor: 'red',
 *          resizerFillColor: '#FF4081',
 *          resizerSize: 8,
 *          selectionBorderThickness: 5,
 *          resizerShape: 'Circle',
 *          selectorLineDashArray: [],
 *          resizerLocation: AnnotationResizerLocation.Corners | AnnotationResizerLocation.Edges,
 *          resizerCursorType: null
 *      },
 *      minHeight: 0,
 *      minWidth: 0,
 *      maxWidth: 0,
 *      maxHeight: 0,
 *      isLock: false,
 *      dynamicStamps: [
 *          DynamicStampItem.Revised,
 *          DynamicStampItem.Reviewed,
 *          DynamicStampItem.Received,
 *          DynamicStampItem.Confidential,
 *          DynamicStampItem.Approved,
 *          DynamicStampItem.NotApproved
 *      ],
 *      signStamps: [
 *          SignStampItem.Witness,
 *          SignStampItem.InitialHere,
 *          SignStampItem.SignHere,
 *          SignStampItem.Accepted,
 *          SignStampItem.Rejected
 *      ],
 *      standardBusinessStamps: [
 *          StandardBusinessStampItem.Approved,
 *          StandardBusinessStampItem.NotApproved,
 *          StandardBusinessStampItem.Draft,
 *          StandardBusinessStampItem.Final,
 *          StandardBusinessStampItem.Completed,
 *          StandardBusinessStampItem.Confidential,
 *          StandardBusinessStampItem.ForPublicRelease,
 *          StandardBusinessStampItem.NotForPublicRelease,
 *          StandardBusinessStampItem.ForComment,
 *          StandardBusinessStampItem.Void,
 *          StandardBusinessStampItem.PreliminaryResults,
 *          StandardBusinessStampItem.InformationOnly
 *      ],
 *      allowedInteractions: ['None'],
 *      isPrint: true
 *  };
 *  viewer.appendTo("#pdfViewer");
 * ```
 *
 */
export  class StampSettings extends base.ChildProperty<StampSettings> {
    /**
     * Get or set offset of the annotation.
     */
    offset: IPoint;
    /**
     * Get or set page number of the annotation.
     */
    pageNumber: number;
    /**
     * specifies the width of the annotation.
     */
    width: number;
    /**
     * specifies the height of the annotation.
     */
    height: number;
    /**
     * specifies the opacity of the annotation.
     */
    opacity: number;
    /**
     * specifies the author of the annotation.
     */
    author: string;
    /**
     * specifies the annotation selector settings of the annotation.
     */
    annotationSelectorSettings: AnnotationSelectorSettingsModel;
    /**
     * specifies the minHeight of the annotation.
     */
    minHeight: number;
    /**
     * specifies the minWidth of the annotation.
     */
    minWidth: number;
    /**
     * specifies the minHeight of the annotation.
     */
    maxHeight: number;
    /**
     * specifies the maxWidth of the annotation.
     */
    maxWidth: number;
    /**
     * specifies the locked action of the annotation.
     */
    isLock: boolean;
    /**
     * specifies the custom data of the annotation.
     */
    customData: object;
    /**
     * Provide option to define the required dynamic stamp items to be displayed in annotation toolbar menu.
     */
    dynamicStamps: DynamicStampItem[];
    /**
     * Provide option to define the required sign stamp items to be displayed in annotation toolbar menu.
     */
    signStamps: SignStampItem[];
    /**
     * Provide option to define the required standard business stamp items to be displayed in annotation toolbar menu.
     */
    standardBusinessStamps: StandardBusinessStampItem[];
    /**
     * Gets or sets the allowed interactions for the locked stamp annotations.
     * IsLock can be configured using stamp settings.
     *
     * @default ['None']
     */
    allowedInteractions: AllowedInteraction[];
    /**
     * specifies whether the individual annotations are included or not in print actions.
     */
    isPrint: boolean;
    /**
     * specifies the subject of the annotation.
     */
    subject: string;
}
/**
 * The `CustomStampSettings` module is used to provide the properties to customstamp annotation.
 *
 * ```html
 * <div id="pdfViewer" style="height: 100%;
width: 100%;
"></div>
 * ```
 * ```ts
 *
 *  let viewer: PdfViewer = new PdfViewer();
 *  // Change the custom stamp annotation settings.
 *  viewer.customStampSettings = {
 *      opacity: 1,
 *      author: 'Guest',
 *      width: 0,
 *      height: 0,
 *      left: 0,
 *      top: 0,
 *      minHeight: 0,
 *      minWidth: 0,
 *      maxWidth: 0,
 *      maxHeight: 0,
 *      isLock: false,
 *      enableCustomStamp: true,
 *      allowedInteractions: ['None'],
 *      isPrint: true
 *  };
 *  viewer.appendTo("#pdfViewer");
 * ```
 *
 */
export  class CustomStampSettings extends base.ChildProperty<CustomStampSettings> {
    /**
     * Get or set offset of the annotation.
     */
    offset: IPoint;
    /**
     * Get or set page number of the annotation.
     */
    pageNumber: number;
    /**
     * specifies the opacity of the annotation.
     */
    opacity: number;
    /**
     * specifies the author of the annotation.
     */
    author: string;
    /**
     * specifies the width of the annotation.
     */
    width: number;
    /**
     * specifies the height of the annotation.
     */
    height: number;
    /**
     * specifies the left position of the annotation.
     */
    left: number;
    /**
     * specifies the top position of the annotation.
     */
    top: number;
    /**
     * Specifies to maintain the newly added custom stamp element in the menu items.
     */
    isAddToMenu: boolean;
    /**
     * specifies the minHeight of the annotation.
     */
    minHeight: number;
    /**
     * specifies the minWidth of the annotation.
     */
    minWidth: number;
    /**
     * specifies the minHeight of the annotation.
     */
    maxHeight: number;
    /**
     * specifies the maxWidth of the annotation.
     */
    maxWidth: number;
    /**
     * specifies the locked action of the annotation.
     */
    isLock: boolean;
    /**
     * Define the custom image path and it's name to be displayed in the menu items.
     */
    customStamps: CustomStampModel[];
    /**
     * If it is set as false. then the custom stamp items won't be visible in the annotation toolbar stamp menu items.
     */
    enableCustomStamp: boolean;
    /**
     * Gets or sets the allowed interactions for the locked custom stamp annotations.
     * IsLock can be configured using custom stamp settings.
     *
     * @default ['None']
     */
    allowedInteractions: AllowedInteraction[];
    /**
     * specifies whether the individual annotations are included or not in print actions.
     */
    isPrint: boolean;
    /**
     * specifies the subject of the annotation.
     */
    subject: string;
}
/**
 * The `DistanceSettings` module is used to provide the properties to distance calibrate annotation.
 *
 * ```html
 * <div id="pdfViewer" style="height: 100%;
width: 100%;
"></div>
 * ```
 * ```ts
 *
 *  let viewer: PdfViewer = new PdfViewer();
 *  // Change the distance annotation settings.
 *  viewer.distanceSettings = {
 *      opacity: 1,
 *      fillColor: '#4070FF',
 *      strokeColor: '#ff0000',
 *      author: 'Guest',
 *      thickness: 1,
 *      borderDashArray: 0,
 *      lineHeadStartStyle: 'Closed',
 *      lineHeadEndStyle: 'Closed',
 *      annotationSelectorSettings: {
 *          selectionBorderColor: '',
 *          resizerBorderColor: 'black',
 *          resizerFillColor: '#FF4081',
 *          resizerSize: 8,
 *          selectionBorderThickness: 1,
 *          resizerShape: 'Square',
 *          selectorLineDashArray: [],
 *          resizerLocation: AnnotationResizerLocation.Corners | AnnotationResizerLocation.Edges,
 *          resizerCursorType: null
 *      },
 *      minHeight: 0,
 *      minWidth: 0,
 *      maxWidth: 0,
 *      maxHeight: 0,
 *      isLock: false,
 *      leaderLength: 40,
 *      resizeCursorType: CursorType.move,
 *      allowedInteractions: ['None'],
 *      isPrint: true
 *  };
 *  viewer.appendTo("#pdfViewer");
 * ```
 *
 */
export  class DistanceSettings extends base.ChildProperty<DistanceSettings> {
    /**
     * Get or set offset of the annotation.
     */
    offset: IPoint;
    /**
     * Get or set page number of the annotation.
     */
    pageNumber: number;
    /**
     * Get or set vertex points of the annotation.
     *
     * @default []
     */
    vertexPoints?: drawings.PointModel[];
    /**
     * specifies the opacity of the annotation.
     */
    opacity: number;
    /**
     * specifies the fill color of the annotation.
     */
    fillColor: string;
    /**
     * specifies the stroke color of the annotation.
     */
    strokeColor: string;
    /**
     * specifies the author of the annotation.
     */
    author: string;
    /**
     * specified the thickness of the annotation.
     */
    thickness: number;
    /**
     * specifies the line head start style of the annotation.
     */
    lineHeadStartStyle: LineHeadStyle;
    /**
     * specifies the line head start style of the annotation.
     */
    lineHeadEndStyle: LineHeadStyle;
    /**
     * specifies the border dash array  of the annotation.
     */
    borderDashArray: number;
    /**
     * specifies the annotation selector settings of the annotation.
     */
    annotationSelectorSettings: AnnotationSelectorSettingsModel;
    /**
     * specifies the minHeight of the annotation.
     */
    minHeight: number;
    /**
     * specifies the minWidth of the annotation.
     */
    minWidth: number;
    /**
     * specifies the minHeight of the annotation.
     */
    maxHeight: number;
    /**
     * specifies the maxWidth of the annotation.
     */
    maxWidth: number;
    /**
     * specifies the locked action of the annotation.
     */
    isLock: boolean;
    /**
     * specifies the custom data of the annotation.
     */
    customData: object;
    /**
     * specifies the leader length of the annotation.
     */
    leaderLength: number;
    /**
     * Defines the cursor type for distance annotation.
     */
    resizeCursorType: CursorType;
    /**
     * Gets or sets the allowed interactions for the locked distance annotations.
     * IsLock can be configured using distance settings.
     *
     * @default ['None']
     */
    allowedInteractions: AllowedInteraction[];
    /**
     * specifies whether the individual annotations are included or not in print actions.
     */
    isPrint: boolean;
    /**
     * specifies the subject of the annotation.
     */
    subject: string;
}
/**
 * The `PerimeterSettings` module is used to provide the properties to perimeter calibrate annotation.
 *
 * ```html
 * <div id="pdfViewer" style="height: 100%;
width: 100%;
"></div>
 * ```
 * ```ts
 *  let viewer: PdfViewer = new PdfViewer();
 *  // Change the perimeter annotation settings.
 *  viewer.perimeterSettings = {
 *      opacity: 1,
 *      fillColor: '#4070FF',
 *      strokeColor: '#ff0000',
 *      author: 'Guest',
 *      thickness: 1,
 *      borderDashArray: 0,
 *      lineHeadStartStyle: 'Open',
 *      lineHeadEndStyle: 'Open',
 *      minHeight: 0, minWidth: 0,
 *      maxWidth: 0,
 *      maxHeight: 0,
 *      isLock: false,
 *      annotationSelectorSettings: {
 *          selectionBorderColor: '',
 *          resizerBorderColor: 'black',
 *          resizerFillColor: '#4070FF',
 *          resizerSize: 8,
 *          selectionBorderThickness: 1,
 *          resizerShape: 'Circle',
 *          selectorLineDashArray: [],
 *          resizerLocation: AnnotationResizerLocation.Corners | AnnotationResizerLocation.Edges,
 *          resizerCursorType: null
 *      },
 *      allowedInteractions: ['None'],
 *      isPrint: true
 *  };
 *  viewer.appendTo("#pdfViewer");
 * ```
 *
 */
export  class PerimeterSettings extends base.ChildProperty<PerimeterSettings> {
    /**
     * Get or set offset of the annotation.
     */
    offset: IPoint;
    /**
     * Get or set page number of the annotation.
     */
    pageNumber: number;
    /**
     * Get or set vertex points of the annotation.
     *
     * @default []
     */
    vertexPoints?: drawings.PointModel[];
    /**
     * specifies the opacity of the annotation.
     */
    opacity: number;
    /**
     * specifies the fill color of the annotation.
     */
    fillColor: string;
    /**
     * specifies the stroke color of the annotation.
     */
    strokeColor: string;
    /**
     * specifies the author of the annotation.
     */
    author: string;
    /**
     * specified the thickness of the annotation.
     */
    thickness: number;
    /**
     * specifies the line head start style of the annotation.
     */
    lineHeadStartStyle: LineHeadStyle;
    /**
     * specifies the line head start style of the annotation.
     */
    lineHeadEndStyle: LineHeadStyle;
    /**
     * specifies the border dash array  of the annotation.
     */
    borderDashArray: number;
    /**
     * specifies the minHeight of the annotation.
     */
    minHeight: number;
    /**
     * specifies the minWidth of the annotation.
     */
    minWidth: number;
    /**
     * specifies the minHeight of the annotation.
     */
    maxHeight: number;
    /**
     * specifies the maxWidth of the annotation.
     */
    maxWidth: number;
    /**
     * specifies the locked action of the annotation.
     */
    isLock: boolean;
    /**
     * specifies the annotation selector settings of the annotation.
     */
    annotationSelectorSettings: AnnotationSelectorSettingsModel;
    /**
     * Gets or sets the allowed interactions for the locked perimeter annotations.
     * IsLock can be configured using perimeter settings.
     *
     * @default ['None']
     */
    allowedInteractions: AllowedInteraction[];
    /**
     * specifies whether the individual annotations are included or not in print actions.
     */
    isPrint: boolean;
    /**
     * specifies the subject of the annotation.
     */
    subject: string;
}
/**
 * The `AreaSettings` module is used to provide the properties to area calibrate annotation.
 *
 * ```html
 * <div id="pdfViewer" style="height: 100%;
width: 100%;
"></div>
 * ```
 * ```ts
 *  let viewer: PdfViewer = new PdfViewer();
 *  // Change the area annotation settings.
 *  viewer.areaSettings = {
 *      opacity: 1,
 *      fillColor: '#4070FF',
 *      strokeColor: '#ff0000',
 *      author: 'Guest',
 *      thickness: 1,
 *      minHeight: 0,
 *      minWidth: 0,
 *      maxWidth: 0,
 *      maxHeight: 0,
 *      isLock: false,
 *      annotationSelectorSettings: {
 *          selectionBorderColor: '',
 *          resizerBorderColor: 'black',
 *          resizerFillColor: '#4070FF',
 *          resizerSize: 8,
 *          selectionBorderThickness: 1,
 *          resizerShape: 'Circle',
 *          selectorLineDashArray: [],
 *          resizerLocation: AnnotationResizerLocation.Corners | AnnotationResizerLocation.Edges,
 *          resizerCursorType: null
 *      },
 *      allowedInteractions: ['None'],
 *      isPrint: true
 *  };
 *  viewer.appendTo("#pdfViewer");
 * ```
 *
 */
export  class AreaSettings extends base.ChildProperty<AreaSettings> {
    /**
     * Get or set offset of the annotation.
     */
    offset: IPoint;
    /**
     * Get or set page number of the annotation.
     */
    pageNumber: number;
    /**
     * Get or set vertex points of the annotation.
     *
     * @default []
     */
    vertexPoints?: drawings.PointModel[];
    /**
     * specifies the opacity of the annotation.
     */
    opacity: number;
    /**
     * specifies the fill color of the annotation.
     */
    fillColor: string;
    /**
     * specifies the stroke color of the annotation.
     */
    strokeColor: string;
    /**
     * specifies the author of the annotation.
     */
    author: string;
    /**
     * specified the thickness of the annotation.
     */
    thickness: number;
    /**
     * specifies the minHeight of the annotation.
     */
    minHeight: number;
    /**
     * specifies the minWidth of the annotation.
     */
    minWidth: number;
    /**
     * specifies the minHeight of the annotation.
     */
    maxHeight: number;
    /**
     * specifies the maxWidth of the annotation.
     */
    maxWidth: number;
    /**
     * specifies the locked action of the annotation.
     */
    isLock: boolean;
    /**
     * specifies the annotation selector settings of the annotation.
     */
    annotationSelectorSettings: AnnotationSelectorSettingsModel;
    /**
     * Gets or sets the allowed interactions for the locked area annotations.
     * IsLock can be configured using area settings.
     *
     * @default ['None']
     */
    allowedInteractions: AllowedInteraction[];
    /**
     * specifies whether the individual annotations are included or not in print actions.
     */
    isPrint: boolean;
    /**
     * specifies the subject of the annotation.
     */
    subject: string;
}
/**
 * The `RadiusSettings` module is used to provide the properties to radius calibrate annotation.
 *
 * ```html
 * <div id="pdfViewer" style="height: 100%;
width: 100%;
"></div>
 * ```
 * ```ts
 *  let viewer: PdfViewer = new PdfViewer();
 *  // Change the radius annotation settings.
 *  viewer.radiusSettings = {
 *      opacity: 1,
 *      fillColor: '#4070FF',
 *      strokeColor: '#ff0000',
 *      author: 'Guest',
 *      thickness: 1,
 *      annotationSelectorSettings: {
 *          selectionBorderColor: '',
 *          resizerBorderColor: 'red',
 *          resizerFillColor: '#4070FF',
 *          resizerSize: 8,
 *          selectionBorderThickness: 1,
 *          resizerShape: 'Circle',
 *          selectorLineDashArray: [],
 *          resizerLocation: AnnotationResizerLocation.Corners | AnnotationResizerLocation.Edges,
 *          resizerCursorType: null
 *      },
 *      minHeight: 0,
 *      minWidth: 0,
 *      maxWidth: 0,
 *      maxHeight: 0,
 *      isLock: false,
 *      allowedInteractions: ['None'],
 *      isPrint: true
 *  };
 *  viewer.appendTo("#pdfViewer");
 * ```
 *
 */
export  class RadiusSettings extends base.ChildProperty<RadiusSettings> {
    /**
     * Get or set offset of the annotation.
     */
    offset: IPoint;
    /**
     * Get or set page number of the annotation.
     */
    pageNumber: number;
    /**
     * specifies the width of the annotation.
     */
    width: number;
    /**
     * specifies the height of the annotation.
     */
    height: number;
    /**
     * specifies the opacity of the annotation.
     */
    opacity: number;
    /**
     * specifies the fill color of the annotation.
     */
    fillColor: string;
    /**
     * specifies the stroke color of the annotation.
     */
    strokeColor: string;
    /**
     * specifies the author of the annotation.
     */
    author: string;
    /**
     * specified the thickness of the annotation.
     */
    thickness: number;
    /**
     * specifies the annotation selector settings of the annotation.
     */
    annotationSelectorSettings: AnnotationSelectorSettingsModel;
    /**
     * specifies the minHeight of the annotation.
     */
    minHeight: number;
    /**
     * specifies the minWidth of the annotation.
     */
    minWidth: number;
    /**
     * specifies the minHeight of the annotation.
     */
    maxHeight: number;
    /**
     * specifies the maxWidth of the annotation.
     */
    maxWidth: number;
    /**
     * specifies the locked action of the annotation.
     */
    isLock: boolean;
    /**
     * specifies the custom data of the annotation.
     */
    customData: object;
    /**
     * Gets or sets the allowed interactions for the locked radius annotations.
     * IsLock can be configured using area settings.
     *
     * @default ['None']
     */
    allowedInteractions: AllowedInteraction[];
    /**
     * specifies whether the individual annotations are included or not in print actions.
     */
    isPrint: boolean;
    /**
     * specifies the subject of the annotation.
     */
    subject: string;
}
/**
 * The `VolumeSettings` module is used to provide the properties to volume calibrate annotation.
 *
 * ```html
 * <div id="pdfViewer" style="height: 100%;
width: 100%;
"></div>
 * ```
 * ```ts
 *  let viewer: PdfViewer = new PdfViewer();
 *  // Change the volume annotation settings.
 *  viewer.volumeSettings = {
 *      opacity: 1,
 *      fillColor: '#4070FF',
 *      strokeColor: '#ff0000',
 *      author: 'Guest',
 *      thickness: 1,
 *      minHeight: 0,
 *      minWidth: 0,
 *      maxWidth: 0,
 *      maxHeight: 0,
 *      isLock: false,
 *      annotationSelectorSettings: {
 *          selectionBorderColor: '',
 *          resizerBorderColor: 'black',
 *          resizerFillColor: '#4070FF',
 *          resizerSize: 8,
 *          selectionBorderThickness: 1,
 *          resizerShape: 'Circle',
 *          selectorLineDashArray: [],
 *          resizerLocation: AnnotationResizerLocation.Corners | AnnotationResizerLocation.Edges,
 *          resizerCursorType: null
 *      },
 *      allowedInteractions: ['None'],
 *      isPrint: true
 *  };
 *  viewer.appendTo("#pdfViewer");
 * ```
 *
 */
export  class VolumeSettings extends base.ChildProperty<VolumeSettings> {
    /**
     * Get or set offset of the annotation.
     */
    offset: IPoint;
    /**
     * Get or set page number of the annotation.
     */
    pageNumber: number;
    /**
     * Get or set vertex points of the annotation.
     *
     * @default []
     */
    vertexPoints?: drawings.PointModel[];
    /**
     * specifies the opacity of the annotation.
     */
    opacity: number;
    /**
     * specifies the fill color of the annotation.
     */
    fillColor: string;
    /**
     * specifies the stroke color of the annotation.
     */
    strokeColor: string;
    /**
     * specifies the author of the annotation.
     */
    author: string;
    /**
     * specified the thickness of the annotation.
     */
    thickness: number;
    /**
     * specifies the minHeight of the annotation.
     */
    minHeight: number;
    /**
     * specifies the minWidth of the annotation.
     */
    minWidth: number;
    /**
     * specifies the minHeight of the annotation.
     */
    maxHeight: number;
    /**
     * specifies the maxWidth of the annotation.
     */
    maxWidth: number;
    /**
     * specifies the locked action of the annotation.
     */
    isLock: boolean;
    /**
     * specifies the annotation selector settings of the annotation.
     */
    annotationSelectorSettings: AnnotationSelectorSettingsModel;
    /**
     * Gets or sets the allowed interactions for the locked volume annotations.
     * IsLock can be configured using volume settings.
     *
     * @default ['None']
     */
    allowedInteractions: AllowedInteraction[];
    /**
     * specifies whether the individual annotations are included or not in print actions.
     */
    isPrint: boolean;
    /**
     * specifies the subject of the annotation.
     */
    subject: string;
}
/**
 * The `Ink` module is used to provide the properties to Ink annotation.
 *
 * ```html
 * <div id="pdfViewer" style="height: 100%;
width: 100%;
"></div>
 * ```
 * ```ts
 *  let viewer: PdfViewer = new PdfViewer();
 *  // Change the ink annotation settings.
 *  viewer.inkAnnotationSettings = {
 *      author: 'Guest',
 *      opacity: 1,
 *      strokeColor: '#ff0000',
 *      thickness: 1,
 *      annotationSelectorSettings: {
 *          selectionBorderColor: '',
 *          resizerBorderColor: 'black',
 *          resizerFillColor: '#FF4081',
 *          resizerSize: 8,
 *          selectionBorderThickness: 1,
 *          resizerShape: 'Circle',
 *          selectorLineDashArray: [],
 *          resizerLocation: AnnotationResizerLocation.Corners | AnnotationResizerLocation.Edges,
 *          resizerCursorType: null
 *      },
 *      isLock: false,
 *      allowedInteractions: ['None'],
 *      isPrint: true
 *  };
 *  viewer.appendTo("#pdfViewer");
 * ```
 *
 */
export  class InkAnnotationSettings extends base.ChildProperty<InkAnnotationSettings> {
    /**
     * Get or set offset of the annotation.
     */
    offset: IPoint;
    /**
     * Get or set page number of the annotation.
     */
    pageNumber: number;
    /**
     * specifies the width of the annotation.
     */
    width: number;
    /**
     * specifies the height of the annotation.
     */
    height: number;
    /**
     * Gets or sets the path of the ink annotation.
     */
    path: string;
    /**
     * Sets the opacity value for ink annotation.By default value is 1. It range varies from 0 to 1.
     */
    opacity: number;
    /**
     * Sets the stroke color for ink annotation.By default values is #FF0000.
     */
    strokeColor: string;
    /**
     * Sets the thickness for the ink annotation. By default value is 1. It range varies from 1 to 10.
     */
    thickness: number;
    /**
     * Define the default option to customize the selector for ink annotation.
     */
    annotationSelectorSettings: AnnotationSelectorSettingsModel;
    /**
     * If it is set as true, can't interact with annotation. Otherwise can interact the annotations. By default it is false.
     */
    isLock: boolean;
    /**
     * specifies the author of the annotation.
     */
    author: string;
    /**
     * Gets or sets the allowed interactions for the locked ink annotations.
     * IsLock can be configured using ink settings.
     *
     * @default ['None']
     */
    allowedInteractions: AllowedInteraction[];
    /**
     * specifies the custom data of the annotation
     */
    customData: object;
    /**
     * specifies whether the individual annotations are included or not in print actions.
     */
    isPrint: boolean;
    /**
     * specifies the subject of the annotation.
     */
    subject: string;
}
/**
 * The `stickyNotesSettings` module is used to provide the properties to sticky notes annotation.
 *
 * ```html
 * <div id="pdfViewer" style="height: 100%;
width: 100%;
"></div>
 * ```
 * ```ts
 *  let viewer: PdfViewer = new PdfViewer();
 *  // Change the sticky notes annotation settings.
 *  viewer.stickyNotesSettings = {
 *      author: 'Guest',
 *      opacity: 1,
 *      annotationSelectorSettings: {
 *          selectionBorderColor: '',
 *          resizerBorderColor: 'red',
 *          resizerFillColor: '#4070FF',
 *          resizerSize: 8,
 *          selectionBorderThickness: 1,
 *          resizerShape: 'Circle',
 *          selectorLineDashArray: [],
 *          resizerLocation: AnnotationResizerLocation.Corners | AnnotationResizerLocation.Edges,
 *          resizerCursorType: null
 *      },
 *      isLock: false,
 *      allowedInteractions: ['None'],
 *      isPrint: true
 *  };
 *  viewer.appendTo("#pdfViewer");
 * ```
 *
 */
export  class StickyNotesSettings extends base.ChildProperty<StickyNotesSettings> {
    /**
     * Get or set offset of the annotation.
     */
    offset: IPoint;
    /**
     * Get or set page number of the annotation.
     */
    pageNumber: number;
    /**
     * specifies the author of the annotation.
     */
    author: string;
    /**
     * specifies the opacity of the annotation.
     */
    opacity: number;
    /**
     * specifies the annotation selector settings of the annotation.
     */
    annotationSelectorSettings: AnnotationSelectorSettingsModel;
    /**
     * specifies the custom data of the annotation.
     */
    customData: object;
    /**
     * specifies the lock action of the annotation.
     */
    isLock: boolean;
    /**
     * Gets or sets the allowed interactions for the locked sticky notes annotations.
     * IsLock can be configured using sticky notes settings.
     *
     * @default ['None']
     */
    allowedInteractions: AllowedInteraction[];
    /**
     * specifies whether the individual annotations are included or not in print actions.
     */
    isPrint: boolean;
    /**
     * specifies the subject of the annotation.
     */
    subject: string;
}
/**
 * The `MeasurementSettings` module is used to provide the settings to measurement annotations.
 *
 * ```html
 * <div id="pdfViewer" style="height: 100%;
width: 100%;
"></div>
 * ```
 * ```ts
 *  let viewer: PdfViewer = new PdfViewer();
 *  // Change the measurement annotation settings.
 *  viewer.measurementSettings = {
 *      conversionUnit: 'cm',
 *      displayUnit: 'cm',
 *      scaleRatio: 1,
 *      depth: 96
 *  };
 *  viewer.appendTo("#pdfViewer");
 * ```
 *
 */
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.
 *
 * ```html
 * <div id="pdfViewer" style="height: 100%;
width: 100%;
"></div>
 * ```
 * ```ts
 *  let viewer: PdfViewer = new PdfViewer();
 *  // Change the free text annotation settings.
 *  viewer.freeTextSettings = {
 *      opacity: 1,
 *      fillColor: '#4070FF',
 *      borderColor: '#4070FF',
 *      author: 'Guest',
 *      borderWidth: 1,
 *      width: 151,
 *      fontSize: 16,
 *      height: 24.6,
 *      fontColor: '#000',
 *      fontFamily: 'Courier',
 *      defaultText: 'Type Here',
 *      textAlignment: 'Right',
 *      fontStyle: FontStyle.Italic,
 *      allowTextOnly: false,
 *      annotationSelectorSettings: {
 *          selectionBorderColor: '',
 *          resizerBorderColor: 'black',
 *          resizerFillColor: '#FF4081',
 *          resizerSize: 8,
 *          selectionBorderThickness: 1,
 *          resizerShape: 'Circle',
 *          selectorLineDashArray: [],
 *          resizerLocation: AnnotationResizerLocation.Corners | AnnotationResizerLocation.Edges,
 *          resizerCursorType: null
 *      },
 *      minHeight: 0,
 *      minWidth: 0,
 *      maxWidth: 0,
 *      maxHeight: 0,
 *      isLock: false,
 *      allowedInteractions: ['None'],
 *      isPrint: true,
 *      isReadonly: false,
 *      enableAutoFit: false
 *  };
 *  viewer.appendTo("#pdfViewer");
 * ```
 *
 */
export  class FreeTextSettings extends base.ChildProperty<FreeTextSettings> {
    /**
     * Get or set offset of the annotation.
     */
    offset: IPoint;
    /**
     * Get or set page number of the annotation.
     */
    pageNumber: number;
    /**
     * specifies the opacity of the annotation.
     */
    opacity: number;
    /**
     * specifies the border color of the annotation.
     */
    borderColor: string;
    /**
     * specifies the border with of the annotation.
     */
    borderWidth: number;
    /**
     * specifies the border style of the annotation.
     */
    borderStyle: string;
    /**
     * specifies the author of the annotation.
     */
    author: string;
    /**
     * specifies the background fill color of the annotation.
     */
    fillColor: string;
    /**
     * specifies the text box font size of the annotation.
     */
    fontSize: number;
    /**
     * specifies the width of the annotation.
     */
    width: number;
    /**
     * specifies the height of the annotation.
     */
    height: number;
    /**
     * specifies the text box font color of the annotation.
     */
    fontColor: string;
    /**
     * specifies the text box font family of the annotation.
     */
    fontFamily: string;
    /**
     * setting the default text for annotation.
     */
    defaultText: string;
    /**
     * applying the font styles for the text.
     */
    fontStyle: FontStyle;
    /**
     * Aligning the text in the annotation.
     */
    textAlignment: TextAlignment;
    /**
     * specifies the allow text only action of the free text annotation.
     */
    allowEditTextOnly: boolean;
    /**
     * specifies the annotation selector settings of the annotation.
     */
    annotationSelectorSettings: AnnotationSelectorSettingsModel;
    /**
     * specifies the minHeight of the annotation.
     */
    minHeight: number;
    /**
     * specifies the minWidth of the annotation.
     */
    minWidth: number;
    /**
     * specifies the minHeight of the annotation.
     */
    maxHeight: number;
    /**
     * specifies the maxWidth of the annotation.
     */
    maxWidth: number;
    /**
     * specifies the locked action of the annotation.
     */
    isLock: boolean;
    /**
     * specifies the custom data of the annotation.
     */
    customData: object;
    /**
     * Gets or sets the allowed interactions for the locked free text annotations.
     * IsLock can be configured using free text settings.
     *
     * @default ['None']
     */
    allowedInteractions: AllowedInteraction[];
    /**
     * specifies whether the individual annotations are included or not in print actions.
     */
    isPrint: boolean;
    /**
     * Allow to edit the FreeText annotation. FALSE, by default.
     */
    isReadonly: boolean;
    /**
     * Enable or disable auto fit mode for FreeText annotation in the Pdfviewer. FALSE by default.
     */
    enableAutoFit: boolean;
    /**
     * specifies the subject of the annotation.
     */
    subject: string;
}
/**
 * The `AnnotationSelectorSettings` module is used to provide the properties to annotation selectors.
 *
 * ```html
 * <div id="pdfViewer" style="height: 100%;
width: 100%;
"></div>
 * ```
 * ```ts
 *  let viewer: PdfViewer = new PdfViewer();
 *  // Change the annotation selector settings.
 *  viewer.annotationSelectorSettings = {
 *      selectionBorderColor: '',
 *      resizerBorderColor: 'Circle',
 *      resizerFillColor: '#4070FF',
 *      resizerSize: 8,
 *      selectionBorderThickness: 1,
 *      resizerShape: 'Square',
 *      selectorLineDashArray: [],
 *      resizerLocation: AnnotationResizerLocation.Corners | AnnotationResizerLocation.Edges,
 *      resizerCursorType: null
 *  };
 *  viewer.appendTo("#pdfViewer");
 * ```
 *
 */
export  class AnnotationSelectorSettings extends base.ChildProperty<AnnotationSelectorSettings> {
    /**
     * Specifies the selection border color.
     */
    selectionBorderColor: string;
    /**
     * Specifies the border color of the resizer.
     *
     * @ignore
     */
    resizerBorderColor: string;
    /**
     * Specifies the fill color of the resizer.
     *
     * @ignore
     */
    resizerFillColor: string;
    /**
     * Specifies the size of the resizer.
     *
     * @ignore
     */
    resizerSize: number;
    /**
     * Specifies the thickness of the border of selection.
     */
    selectionBorderThickness: number;
    /**
     * Specifies the shape of the resizer.
     */
    resizerShape: AnnotationResizerShape;
    /**
     * Specifies the border dash array of the selection.
     */
    selectorLineDashArray: number[];
    /**
     * Specifies the location of the resizer.
     */
    resizerLocation: AnnotationResizerLocation;
    /**
     * specifies the cursor type of resizer
     */
    resizerCursorType: CursorType;
}
/**
 * The `TextSearchColorSettings` module is used to set the settings for the color of the text search highlight.
 *
 * ```html
 * <div id="pdfViewer" style="height: 100%;
width: 100%;
"></div>
 * ```
 * ```ts
 *  let viewer: PdfViewer = new PdfViewer();
 *  // Change the text search color settings.
 *  viewer.textSearchColorSettings = {
 *      searchHighlightColor: '#4070FF',
 *      searchColor: '#FF4081'
 *  };
 *  viewer.appendTo("#pdfViewer");
 * ```
 *
 */
export  class TextSearchColorSettings extends base.ChildProperty<TextSearchColorSettings> {
    /**
     * Gets or Sets the color of the current occurrence of the text searched string.
     */
    searchHighlightColor: string;
    /**
     * Gets or Sets the color of the other occurrence of the text searched string.
     */
    searchColor: string;
}
/**
 * Represents the information of a specific page within the viewer.
 * This class provides essential information such as the page index, dimensions, and rotation.
 *
 * ```html
 * <div id="pdfViewer" style="height: 100%;
width: 100%;
"></div>
 * ```
 * ```ts
 *  let viewer: PdfViewer = new PdfViewer();
 *  viewer.appendTo("#pdfViewer");
 *  let pageInfo = viewer.getPageInfo(pageIndex);
 *  console.log(pageInfo);
 * ```
 *
 */
export  class PageInfo extends base.ChildProperty<PageInfo> {
    /**
     * The 0-based index of the page.
     */
    pageIndex: number;
    /**
     * The width of the page in points.
     */
    width: number;
    /**
     * The height of the page in points.
     */
    height: number;
    /**
     * The rotation angle of the page in degrees.
     */
    rotation: number;
}
/**
 * The `HandWrittenSignatureSettings` module is used to provide the properties to handwritten signature.
 *
 * ```html
 * <div id="pdfViewer" style="height: 100%;
width: 100%;
"></div>
 * ```
 * ```ts
 *  let viewer: PdfViewer = new PdfViewer();
 *  // Change the hand written signature settings.
 *  viewer.handWrittenSignatureSettings = {
 *      signatureItem: [
 *          'Signature',
 *          'Initial'
 *      ],
 *      saveSignatureLimit: 1,
 *      saveInitialLimit: 1,
 *      opacity: 1,
 *      strokeColor: '#000000',
 *      width: 150,
 *      height: 100,
 *      thickness: 1,
 *      annotationSelectorSettings: {
 *          selectionBorderColor: '',
 *          resizerBorderColor: 'black',
 *          resizerFillColor: '#FF4081',
 *          resizerSize: 8,
 *          selectionBorderThickness: 1,
 *          resizerShape: 'Circle',
 *          selectorLineDashArray: [],
 *          resizerLocation: AnnotationResizerLocation.Corners | AnnotationResizerLocation.Edges,
 *          resizerCursorType: null
 *      },
 *      allowedInteractions: ['None'],
 *      signatureDialogSettings: {
 *          displayMode: DisplayMode.Draw | DisplayMode.Text | DisplayMode.Upload, hideSaveSignature: false
 *      },
 *      initialDialogSettings: {
 *          displayMode: DisplayMode.Draw | DisplayMode.Text | DisplayMode.Upload,
 *      hideSaveSignature: false
 *      }
 *  };
 *  viewer.appendTo("#pdfViewer");
 * ```
 *
 */
export  class HandWrittenSignatureSettings extends base.ChildProperty<HandWrittenSignatureSettings> {
    /**
     * specifies the opacity of the annotation.
     */
    opacity: number;
    /**
     * specifies the stroke color of the annotation.
     */
    strokeColor: string;
    /**
     * specified the thickness of the annotation.
     */
    thickness: number;
    /**
     * specified the width of the annotation.
     */
    width: number;
    /**
     * specified the height of the annotation.
     */
    height: number;
    /**
     * Gets or sets the save signature limit of the signature. By default value is 1 and maximum limit is 5.
     */
    saveSignatureLimit: number;
    /**
     * Gets or sets the save initial limit of the initial. By default value is 1 and maximum limit is 5.
     */
    saveInitialLimit: number;
    /**
     * Provide option to define the required signature items to be displayed in signature menu.
     */
    signatureItem: SignatureItem[];
    /**
     * Options to set the type signature font name with respective index and maximum font name limit is 4 so key value should be 0 to 3.
     */
    typeSignatureFonts: {
        [key: number]: string;
    };
    /**
     * specifies the annotation selector settings of the annotation.
     */
    annotationSelectorSettings: AnnotationSelectorSettingsModel;
    /**
     * Get or set the Signature DialogSettings for Handwritten signature.
     */
    signatureDialogSettings: SignatureDialogSettingsModel;
    /**
     * Get or set the initialDialogSettings for Handwritten initial.
     */
    initialDialogSettings: SignatureDialogSettingsModel;
    /**
     * Gets or sets the signature offset.
     *
     * @default {x:0,y:0}
     */
    offset: IPoint;
    /**
     * Gets or sets the signature page number.
     *
     * @default 1
     */
    pageNumber: number;
    /**
     * Gets or sets the path of the signature.
     *
     * @default ''
     */
    path: string;
    /**
     * Gets or sets the font family for text signature.
     *
     * @default 'Helvetica'
     */
    fontFamily: string;
    /**
     * Allows saving of programmatically added signatures.
     *
     * @default false
     */
    canSave: boolean;
}
/**
 * The `AnnotationSettings` module is used to provide the properties to annotations.
 *
 * ```html
 * <div id="pdfViewer" style="height: 100%;
width: 100%;
"></div>
 * ```
 * ```ts
 *  let viewer: PdfViewer = new PdfViewer();
 *  // Change the annotation settings.
 *  viewer.annotationSettings = {
 *      author: 'Guest',
 *      minHeight: 0,
 *      minWidth: 0,
 *      maxWidth: 0,
 *      maxHeight: 0,
 *      isLock: false,
 *      skipPrint: false,
 *      skipDownload: false,
 *      allowedInteractions: ['None']
 *  };
 *  viewer.appendTo("#pdfViewer");
 * ```
 *
 */
export  class AnnotationSettings extends base.ChildProperty<AnnotationSettings> {
    /**
     * specifies the author of the annotation.
     */
    author: string;
    /**
     * specifies the minHeight of the annotation.
     */
    minHeight: number;
    /**
     * specifies the minWidth of the annotation.
     */
    minWidth: number;
    /**
     * specifies the minHeight of the annotation.
     */
    maxHeight: number;
    /**
     * specifies the maxWidth of the annotation.
     */
    maxWidth: number;
    /**
     * specifies the locked action of the annotation.
     */
    isLock: boolean;
    /**
     * specifies whether the annotations are included or not in print actions.
     */
    skipPrint: boolean;
    /**
     * specifies whether the annotations are included or not in download actions.
     */
    skipDownload: boolean;
    /**
     * specifies the custom data of the annotation.
     */
    customData: object;
    /**
     * Gets or sets the allowed interactions for the locked annotations.
     * IsLock can be configured using annotation settings.
     *
     * @default ['None']
     */
    allowedInteractions: AllowedInteraction[];
    /**
     * specifies the subject of the annotation.
     */
    subject: string;
}
/**
 * The `DocumentTextCollectionSettings` module is used to provide the properties to DocumentTextCollection.
 */
export  class DocumentTextCollectionSettings extends base.ChildProperty<DocumentTextCollectionSettings> {
    /**
     * specifies the text data of the document.
     */
    textData: TextDataSettingsModel[];
    /**
     * specifies the page text of the document.
     */
    pageText: string;
    /**
     * specifies the page size of the document.
     */
    pageSize: number;
}
/**
 * The `TextDataSettings` module is used to provide the properties of text data.
 */
export  class TextDataSettings extends base.ChildProperty<TextDataSettings> {
    /**
     * specifies the bounds of the rectangle.
     */
    bounds: RectangleBoundsModel;
    /**
     * specifies the text of the document.
     */
    text: string;
}
/**
 * The `RectangleBounds` module is used to provide the properties of rectangle bounds.
 */
export  class RectangleBounds extends base.ChildProperty<RectangleBounds> {
    /**
     * specifies the size of the rectangle.
     */
    size: number;
    /**
     * specifies the x co-ordinate of the upper-left corner of the rectangle.
     */
    x: number;
    /**
     * specifies the y co-ordinate of the upper-left corner of the rectangle.
     */
    y: number;
    /**
     * specifies the width of the rectangle.
     */
    width: number;
    /**
     * specifies the height of the rectangle.
     */
    height: number;
    /**
     * specifies the left value of the rectangle.
     */
    left: number;
    /**
     * specifies the top value of the rectangle.
     */
    top: number;
    /**
     * specifies the right of the rectangle.
     */
    right: number;
    /**
     * specifies the bottom value of the rectangle.
     */
    bottom: number;
    /**
     * Returns true if height and width of the rectangle is zero.
     *
     * @default 'false'
     */
    isEmpty: boolean;
}
/**
 * The `TileRenderingSettings` module is used to provide the tile rendering settings of the PDF viewer.
 *
 * ```html
 * <div id="pdfViewer" style="height: 100%;
width: 100%;
"></div>
 * ```
 * ```ts
 *  let viewer: PdfViewer = new PdfViewer();
 *  // Change the tile rendering settings.
 *  viewer.tileRenderingSettings = {
 *      enableTileRendering: false,
 *      x: 0,
 *      y: 0
 *  };
 *  viewer.appendTo("#pdfViewer");
 * ```
 *
 */
export  class TileRenderingSettings extends base.ChildProperty<TileRenderingSettings> {
    /**
     * Enable or disables tile rendering mode in the PDF Viewer.
     */
    enableTileRendering: boolean;
    /**
     * specifies the tileX count of the render Page.
     */
    x: number;
    /**
     * specifies the tileY count of the render Page.
     */
    y: number;
}
/**
 * The `ScrollSettings` module is used to provide the settings of the scroll of the PDF viewer.
 *
 * ```html
 * <div id="pdfViewer" style="height: 100%;
width: 100%;
"></div>
 * ```
 * ```ts
 *  let viewer: PdfViewer = new PdfViewer();
 *  // Change the scroll settings.
 *  viewer.scrollSettings = {
 *      delayPageRequestTimeOnScroll: 150
 *  };
 *  viewer.appendTo("#pdfViewer");
 * ```
 *
 */
export  class ScrollSettings extends base.ChildProperty<ScrollSettings> {
    /**
     * Increase or decrease the delay time.
     */
    delayPageRequestTimeOnScroll: number;
}
/**
 * The `FormField` is used to store the form fields of PDF document.
 */
export  class FormField extends base.ChildProperty<FormField> {
    /**
     * Gets the name of the form field.
     */
    name: string;
    /**
     * Specifies whether the check box is in checked state or not.
     */
    isChecked: boolean;
    /**
     * Specifies whether the radio button is in checked state or not.
     */
    isSelected: boolean;
    /**
     * Gets the id of the form field.
     */
    id: string;
    /**
     * Gets or sets the value of the form field.
     */
    value: string;
    /**
     * Gets the type of the form field.
     */
    type: FormFieldType;
    /**
     * If it is set as true, can't edit the form field in the PDF document. By default it is false.
     */
    isReadOnly: boolean;
    /**
     * specifies the type of the signature.
     */
    signatureType: SignatureType[];
    /**
     * specifies the fontName of the signature.
     */
    fontName: string;
    /**
     * Get or set the form field bounds.
     */
    bounds: IFormFieldBound;
    /**
     * Get or set the font family of the form field.
     */
    fontFamily: string;
    /**
     * Get or set the font size of the form field.
     */
    fontSize: number;
    /**
     * Get or set the font Style of form field.
     */
    fontStyle: FontStyle;
    /**
     * Get or set the font color of the form field in hexadecimal string format.
     */
    color: string;
    /**
     * Get or set the background color of the form field in hexadecimal string format.
     */
    backgroundColor: string;
    /**
     * Get or set the text alignment of the form field.
     */
    alignment: TextAlignment;
    /**
     * Gets or set the visibility of the form field.
     */
    visibility: Visibility;
    /**
     * Get or set the maximum character length.
     */
    maxLength: number;
    /**
     * Gets or set the is Required of form field.
     */
    isRequired: boolean;
    /**
     * Get or set the boolean value to print the form field. TRUE by default.
     */
    isPrint: boolean;
    /**
     * Get or set the text to be displayed as tooltip. By default it is empty.
     */
    tooltip: string;
    /**
     * Get or set the form field items. This can be Dropdown items or Listbox items.
     */
    options: ItemModel[];
    /**
     * Specifies the properties of the signature indicator in the signature field.
     */
    signatureIndicatorSettings: SignatureIndicatorSettingsModel;
    /**
     * Get or set the thickness of the form field.
     */
    thickness: number;
    /**
     * Get or set the border color of the form field.
     */
    borderColor: string;
    /**
     * Allows multiline input in the text field. FALSE, by default.
     */
    isMultiline: boolean;
    /**
     * Meaningful only if the MaxLength property is set and the Multiline, Password properties are false.
     * If set, the field is automatically divided into as many equally spaced position, or  combs, as the value of MaxLength, and the text is laid out into the combs.
     *
     * @default false
     */
    private insertSpaces;
    /**
     * Get the pageIndex of the form field. Default value is -1.
     */
    pageIndex: number;
    /**
     * Get the pageNumber of the form field. Default value is 1.
     */
    pageNumber: number;
    /**
     * Get the isTransparent of the form field. Default value is false.
     */
    isTransparent: boolean;
    /**
     * Get the rotateAngle of the form field. Default value is 0.
     */
    rotateAngle: number;
    /**
     * Get the selectedIndex of the form field. Default value is null.
     */
    selectedIndex: number[];
    /**
     * Get the zIndex of the form field. Default value is 0.
     */
    zIndex: number;
    /**
     * specifies the custom data of the form field.
     */
    customData: object;
}
/**
 * The `ContextMenuSettings` is used to show the context menu of PDF document.
 *
 * ```html
 * <div id="pdfViewer" style="height: 100%;
width: 100%;
"></div>
 * ```
 * ```ts
 *  let viewer: PdfViewer = new PdfViewer();
 *  // Change the settings of the context menu option.
 *  viewer.contextMenuSettings = {
 *      contextMenuAction: 'RightClick',
 *      contextMenuItems: [
 *          ContextMenuItem.Comment,
 *          ContextMenuItem.Copy,
 *          ContextMenuItem.Cut,
 *          ContextMenuItem.Delete,
 *          ContextMenuItem.Highlight,
 *          ContextMenuItem.Paste,
 *          ContextMenuItem.Properties,
 *          ContextMenuItem.ScaleRatio,
 *          ContextMenuItem.Strikethrough,
 *          ContextMenuItem.Underline
 *         ]
 *  };
 *  viewer.appendTo("#pdfViewer");
 * ```
 *
 */
export  class ContextMenuSettings extends base.ChildProperty<ContextMenuSettings> {
    /**
     * Defines the context menu action.
     *
     * @default RightClick
     */
    contextMenuAction: ContextMenuAction;
    /**
     * Defines the context menu items should be visible in the PDF Viewer.
     *
     *  @default []
     */
    contextMenuItems: ContextMenuItem[];
}
/**
 * The `TextFieldSettings` is used to to show and customize the appearance of text box HTML element.
 *
 * ```html
 * <div id="pdfViewer" style="height: 100%;
width: 100%;
"></div>
 * ```
 * ```ts
 *  let viewer: PdfViewer = new PdfViewer();
 *  // Change the text field settings.
 *  viewer.textFieldSettings = {
 *      name: '',
 *      value: '',
 *      fontFamily: 'Courier',
 *      fontSize: 10,
 *      fontStyle: 'None',
 *      color: 'black',
 *      borderColor: 'black',
 *      backgroundColor: 'white',
 *      alignment: 'Right',
 *      isReadOnly: false,
 *      visibility: 'visible',
 *      maxLength: 0,
 *      isRequired: false,
 *      isPrint: true,
 *      tooltip: '',
 *      thickness: 1,
 *      isMultiline: false
 *  };
 *  viewer.appendTo("#pdfViewer");
 * ```
 *
 */
export  class TextFieldSettings extends base.ChildProperty<TextFieldSettings> {
    /**
     * Get or set the form field bounds.
     */
    bounds: IFormFieldBound;
    /**
     * Get or set the name of the form field element.
     */
    name: string;
    /**
     * Get or set the value of the form field.
     */
    value: string;
    /**
     * Get or set the font family of the textbox field.
     */
    fontFamily: string;
    /**
     * Get or set the font size of the textbox field.
     */
    fontSize: number;
    /**
     * specifies the page number of the form field.
     */
    pageNumber: number;
    /**
     * Get or set the font Style of textbox field.
     */
    fontStyle: FontStyle;
    /**
     * Get or set the font color of the textbox in hexadecimal string format.
     */
    color: string;
    /**
     * Get or set the background color of the textbox in hexadecimal string format.
     */
    backgroundColor: string;
    /**
     * Get or set the alignment of the text.
     */
    alignment: TextAlignment;
    /**
     * Specifies whether the textbox field is in read-only or read-write mode. FALSE by default.
     */
    isReadOnly: boolean;
    /**
     * Gets or set the visibility of the form field.
     */
    visibility: Visibility;
    /**
     * Get or set the maximum character length.
     */
    maxLength: number;
    /**
     * If it is set as true, consider as mandatory field in the PDF document. By default it is false.
     */
    isRequired: boolean;
    /**
     * Get or set the boolean value to print the textbox field. TRUE by default.
     */
    isPrint: boolean;
    /**
     * Get or set the text to be displayed as tooltip. By default it is empty.
     */
    tooltip: string;
    /**
     * Get or set the thickness of the textbox field.
     */
    thickness: number;
    /**
     * Get or set the border color of the textbox field.
     */
    borderColor: string;
    /**
     * Allows multiline input in the text field. FALSE, by default.
     */
    isMultiline: boolean;
    /**
     * specifies the custom data of the form fields.
     */
    customData: object;
}
/**
 * The `PasswordFieldSettings` is used to to show and customize the appearance of password input HTML element.
 *
 * ```html
 * <div id="pdfViewer" style="height: 100%;
width: 100%;
"></div>
 * ```
 * ```ts
 *  let viewer: PdfViewer = new PdfViewer();
 *  // Change the password field settings.
 *  viewer.passwordFieldSettings = {
 *      name: '',
 *      value: '',
 *      fontFamily: 'Courier',
 *      fontSize: 10,
 *      fontStyle: 'None',
 *      color: 'black',
 *      borderColor: 'black',
 *      backgroundColor: 'white',
 *      alignment: 'Right',
 *      isReadOnly: false,
 *      visibility: 'visible',
 *      maxLength: 0,
 *      isRequired: false,
 *      isPrint: true,
 *      tooltip: '',
 *      thickness: 1
 *  };
 *  viewer.appendTo("#pdfViewer");
 * ```
 *
 */
export  class PasswordFieldSettings extends base.ChildProperty<PasswordFieldSettings> {
    /**
     * Get or set the form field bounds.
     */
    bounds: IFormFieldBound;
    /**
     * Get or set the name of the form field element.
     */
    name: string;
    /**
     * Get or set the value of the form field.
     */
    value: string;
    /**
     * specifies the page number of the form field.
     */
    pageNumber: number;
    /**
     * Get or set the font family of the password field.
     */
    fontFamily: string;
    /**
     * Get or set the font size of the password field.
     */
    fontSize: number;
    /**
     * Get or set the font Style of password field.
     */
    fontStyle: FontStyle;
    /**
     * Get or set the font color of the password field in hexadecimal string format.
     */
    color: string;
    /**
     * Get or set the background color of the password field in hexadecimal string format.
     */
    backgroundColor: string;
    /**
     * Get or set the alignment of the text.
     */
    alignment: TextAlignment;
    /**
     * Specifies whether the password field is in read-only or read-write mode. FALSE by default.
     */
    isReadOnly: boolean;
    /**
     * Gets or set the visibility of the form field.
     */
    visibility: Visibility;
    /**
     * Get or set the maximum character length.
     */
    maxLength: number;
    /**
     * If it is set as true, consider as mandatory field in the PDF document. By default it is false.
     */
    isRequired: boolean;
    /**
     * Get or set the boolean value to print the password field. TRUE by default.
     */
    isPrint: boolean;
    /**
     * Get or set the text to be displayed as tooltip. By default it is empty.
     */
    tooltip: string;
    /**
     * Get or set the thickness of the password field.
     */
    thickness: number;
    /**
     * Get or set the border color of the password field.
     */
    borderColor: string;
    /**
     * specifies the custom data of the form fields.
     */
    customData: object;
}
/**
 * The `CheckBoxFieldSettings` is used to to show and customize the appearance of check box element.
 *
 * ```html
 * <div id="pdfViewer" style="height: 100%;
width: 100%;
"></div>
 * ```
 * ```ts
 *  let viewer: PdfViewer = new PdfViewer();
 *  // Change the check box field settings.
 *  viewer.checkBoxFieldSettings = {
 *      name: '',
 *      isChecked: true,
 *      backgroundColor: 'white',
 *      isReadOnly: false,
 *      visibility: 'visible',
 *      isPrint: true,
 *      tooltip: '',
 *      isRequired: false,
 *      thickness: 5,
 *      borderColor: 'black'
 *  };
 *  viewer.appendTo("#pdfViewer");
 * ```
 *
 */
export  class CheckBoxFieldSettings extends base.ChildProperty<CheckBoxFieldSettings> {
    /**
     * Get or set the form field bounds.
     */
    bounds: IFormFieldBound;
    /**
     * Get or set the name of the check box.
     */
    name: string;
    /**
     * Get or set the value of the check box.
     */
    value: string;
    /**
     * Specifies whether the check box is in checked state or not.
     */
    isChecked: boolean;
    /**
     * Get or set the background color of the check box in hexadecimal string format.
     */
    backgroundColor: string;
    /**
     * Specifies whether the check box field is in read-only or read-write mode. FALSE by default.
     */
    isReadOnly: boolean;
    /**
     * Gets or set the visibility of the form field.
     */
    visibility: Visibility;
    /**
     * Get or set the boolean value to print the check box field. TRUE by default.
     */
    isPrint: boolean;
    /**
     * specifies the page number of the form field.
     */
    pageNumber: number;
    /**
     * Get or set the text to be displayed as tooltip. By default it is empty.
     */
    tooltip: string;
    /**
     * If it is set as true, consider as mandatory field in the PDF document. By default it is false.
     */
    isRequired: boolean;
    /**
     * Get or set the thickness of the check box field.
     */
    thickness: number;
    /**
     * Get or set the border color of the check box field.
     */
    borderColor: string;
    /**
     * specifies the custom data of the form fields.
     */
    customData: object;
}
/**
 * The `RadioButtonFieldSettings` is used to to show and customize the appearance of radio button element.
 *
 * ```html
 * <div id="pdfViewer" style="height: 100%;
width: 100%;
"></div>
 * ```
 * ```ts
 *  let viewer: PdfViewer = new PdfViewer();
 *  // Change the radio button field settings.
 *  viewer.radioButtonFieldSettings = {
 *      name: '',
 *      isSelected: false,
 *      backgroundColor: 'white',
 *      isReadOnly: false,
 *      visibility: 'visible',
 *      isPrint: true,
 *      tooltip: '',
 *      isRequired: false,
 *      thickness: 1,
 *      borderColor: 'black'
 *  };
 *  viewer.appendTo("#pdfViewer");
 * ```
 *
 */
export  class RadioButtonFieldSettings extends base.ChildProperty<RadioButtonFieldSettings> {
    /**
     * Get or set the form field bounds.
     */
    bounds: IFormFieldBound;
    /**
     * Get or set the name of the form field element.
     */
    name: string;
    /**
     * Get or set the value of the form field element.
     */
    value: string;
    /**
     * Specifies whether the radio button is in checked state or not.
     */
    isSelected: boolean;
    /**
     * Get or set the background color of the radio button in hexadecimal string format.
     */
    backgroundColor: string;
    /**
     * Specifies whether the radio button field is in read-only or read-write mode. FALSE by default.
     */
    isReadOnly: boolean;
    /**
     * If it is set as true, consider as mandatory field in the PDF document. By default it is false.
     */
    isRequired: boolean;
    /**
     * specifies the page number of the form field.
     */
    pageNumber: number;
    /**
     * Gets or set the visibility of the form field.
     */
    visibility: Visibility;
    /**
     * Get or set the boolean value to print the radio button field. TRUE by default.
     */
    isPrint: boolean;
    /**
     * Get or set the text to be displayed as tooltip. By default it is empty.
     */
    tooltip: string;
    /**
     * Get or set the thickness of the radio button field.
     */
    thickness: number;
    /**
     * Get or set the border color of the radio button field.
     */
    borderColor: string;
    /**
     * specifies the custom data of the form fields.
     */
    customData: object;
}
/**
 * The `DropdownFieldSettings` is used to to show and customize the appearance of drop down element.
 *
 * ```html
 * <div id="pdfViewer" style="height: 100%;
width: 100%;
"></div>
 * ```
 * ```ts
 *  let viewer: PdfViewer = new PdfViewer();
 *  // Change the drop down field settings.
 *  viewer.DropdownFieldSettings = {
 *      name: '',
 *      isSelected: false,
 *      backgroundColor: 'white',
 *      isReadOnly: true,
 *      visibility: 'visible',
 *      isPrint: true,
 *      tooltip: '',
 *      isRequired: false,
 *      thickness: 5,
 *      borderColor: 'blue'
 *  };
 *  viewer.appendTo("#pdfViewer");
 * ```
 *
 */
export  class DropdownFieldSettings extends base.ChildProperty<DropdownFieldSettings> {
    /**
     * Get or set the form field bounds.
     */
    bounds: IFormFieldBound;
    /**
     * Get or set the name of the dropdown.
     */
    name: string;
    /**
     * Get or set the value of the form field.
     */
    value: string;
    /**
     * Get or set the font family of the dropdown field.
     */
    fontFamily: string;
    /**
     * Get or set the font size of the dropdown field.
     */
    fontSize: number;
    /**
     * specifies the page number of the form field.
     */
    pageNumber: number;
    /**
     * Get or set the font style of dropdown field.
     */
    fontStyle: FontStyle;
    /**
     * Get or set the font color of the dropdown in hexadecimal string format..
     */
    color: string;
    /**
     * Get or set the background color of the dropdown in hexadecimal string format.
     */
    backgroundColor: string;
    /**
     * Get or set the alignment of the text.
     */
    alignment: TextAlignment;
    /**
     * Specifies whether the dropdown field is in read-only or read-write mode. FALSE by default.
     */
    isReadOnly: boolean;
    /**
     * Gets or set the visibility of the form field.
     */
    visibility: Visibility;
    /**
     * If it is set as true, consider as mandatory field in the PDF document. By default it is false.
     */
    isRequired: boolean;
    /**
     * Get or set the boolean value to print the dropdown field. TRUE by default.
     */
    isPrint: boolean;
    /**
     * Get or set the text to be displayed as tooltip. By default it is empty.
     */
    tooltip: string;
    /**
     * Get or set the dropdown items.
     */
    options: ItemModel[];
    /**
     * Get or set the thickness of the drop down field.
     */
    thickness: number;
    /**
     * Get or set the border color of the drop down field.
     */
    borderColor: string;
    /**
     * specifies the custom data of the form fields.
     */
    customData: object;
}
/**
 * The `ListBoxFieldSettings` is used to to show and customize the appearance of list box element.
 *
 * ```html
 * <div id="pdfViewer" style="height: 100%;
width: 100%;
"></div>
 * ```
 * ```ts
 *  let viewer: PdfViewer = new PdfViewer();
 *  // Change the list box field settings.
 *  viewer.listBoxFieldSettings = {
 *      name: '',
 *      fontFamily: 'Courier',
 *      fontSize: 5,
 *      fontStyle: 'None',
 *      color: 'black',
 *      backgroundColor: 'white',
 *      alignment: 'Right',
 *      isReadOnly: false,
 *      visibility: 'visible',
 *      isRequired: false,
 *      isPrint: false,
 *      tooltip: '',
 *      options: [],
 *      thickness: 1,
 *      borderColor: 'black'
 *  };
 *  viewer.appendTo("#pdfViewer");
 * ```
 *
 */
export  class ListBoxFieldSettings extends base.ChildProperty<ListBoxFieldSettings> {
    /**
     * Get or set the form field bounds.
     */
    bounds: IFormFieldBound;
    /**
     * Get or set the name of the form field element.
     */
    name: string;
    /**
     * Get or set the value of the form field.
     */
    value: string;
    /**
     * Get or set the font family of the listbox field.
     */
    fontFamily: string;
    /**
     * Get or set the font size of the listbox field.
     */
    fontSize: number;
    /**
     * specifies the page number of the form field.
     */
    pageNumber: number;
    /**
     * Get or set the font Style of listbox field.
     */
    fontStyle: FontStyle;
    /**
     * Get or set the font color of the listbox in hexadecimal string format.
     */
    color: string;
    /**
     * Get or set the background color of the listbox in hexadecimal string format.
     */
    backgroundColor: string;
    /**
     * Get or set the alignment of the text.
     */
    alignment: TextAlignment;
    /**
     * Specifies whether the listbox field is in read-only or read-write mode. FALSE by default.
     */
    isReadOnly: boolean;
    /**
     * Gets or set the visibility of the form field.
     */
    visibility: Visibility;
    /**
     * If it is set as true, consider as mandatory field in the PDF document. By default it is false.
     */
    isRequired: boolean;
    /**
     * Get or set the boolean value to print the listbox field. TRUE by default.
     */
    isPrint: boolean;
    /**
     * Get or set the text to be displayed as tool tip. By default it is empty.
     */
    tooltip: string;
    /**
     * Get or set the listbox items.
     */
    options: ItemModel[];
    /**
     * Get or set the thickness of the list box field.
     */
    thickness: number;
    /**
     * Get or set the border color of the list box field.
     */
    borderColor: string;
}
export  class Item extends base.ChildProperty<Item> {
    /**
     * Get or set the name.
     */
    itemName: string;
    /**
     * Get or set the value.
     */
    itemValue: string;
}
/**
 * Defines the combination of keys and modifier keys.
 */
export  class KeyGesture extends base.ChildProperty<KeyGesture> {
    /**
     * Defines a collection of keys commonly used in Pdf-related operations.
     * * none - no key
     * * N0 = The 0 key
     * * N1 = The 1 key
     * * N2 = The 2 key
     * * N3 = The 3 key
     * * N4 = The 4 key
     * * N5 = The 5 key
     * * N6 = The 6 key
     * * N7 = The 7 key
     * * N8 = The 8 key
     * * N9 = The 9 key
     * * Number0 = The 0 in number pad key
     * * Number1 = The 1 in number pad key
     * * Number2 = The 2 in number pad key
     * * Number3 = The 3 in number pad key
     * * Number4 = The 4 in number pad key
     * * Number5 = The 5 in number pad key
     * * Number6 = The 6 in number pad key
     * * Number7 = The 7 in number pad key
     * * Number8 = The 8 in number pad key
     * * Number9 = The 9 in number pad 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 key
     * * The Plus key
     * * The Star key
     *
     * @aspDefaultValueIgnore
     * @aspNumberEnum
     * @default undefined
     */
    pdfKeys: PdfKeys;
    /**
     * Specifies a combination of key modifiers, on recognition of which the command will be executed.
     * * None - no modifiers are pressed
     * * Control - ctrl key
     * * Meta - meta key im mac
     * * Alt - alt key
     * * Shift - shift key
     *
     * @aspDefaultValueIgnore
     * @aspNumberEnum
     * @default undefined
     */
    modifierKeys: ModifierKeys;
}
/**
 * Defines a command and a key gesture to define when the command should be executed.
 */
export  class KeyboardCommand extends base.ChildProperty<KeyboardCommand> {
    /**
     * Defines the name of the command.
     *
     * @default ''
     */
    name: string;
    /**
     * Defines a combination of keys and key modifiers, on recognition of which the command will be executed.
     *
     * ```html
     * <div id='pdfViewer'></div>
     * ```
     * ```typescript
     * let pdfViewer: PdfViewer = new PdfViewer({
     * ...
     * commandManager:{
     * commands:[{
     * name:'customCopy',
     * gesture:{
     * key:Keys.G, keyModifiers:KeyModifiers.Shift | KeyModifiers.Alt
     * }
     * }]
     * },
     * ...
     * });
     * pdfViewer.appendTo('#pdfViewer');
     * ```
     *
     * @default {}
     */
    gesture: KeyGestureModel;
}
/**
 * Defines the collection of commands and the corresponding key gestures.
 *```html
 * <div id="pdfViewer" style="height: 100%;
width: 100%;
"></div>
 * ```
 * ```ts
 * let viewer: PdfViewer = new PdfViewer();
 * viewer.commandManager = {
 *      keyboardCommand: [{
 *          name: 'customCopy',
 *          gesture: {
 *              pdfKeys: PdfKeys.G,
 *              modifierKeys: ModifierKeys.Shift | ModifierKeys.Alt
 *          }
 *       },
 *       {
 *          name: 'customPaste',
 *          gesture: {
 *              pdfKeys: PdfKeys.H,
 *              modifierKeys: ModifierKeys.Shift | ModifierKeys.Alt
 *          }
 *      }]
 * };
 * viewer.appendTo("#pdfViewer");
 * ```
 */
export  class CommandManager extends base.ChildProperty<CommandManager> {
    /**
     * Defines the multiple command names with the corresponding command objects.
     *
     * @default []
     */
    keyboardCommand: KeyboardCommandModel[];
}
/**
 * The `PageOrganizerSettings` is allows pages to be deleted, inserted and rotated in the PDF viewer.
 *
 * ```html
 * <div id="pdfViewer" style="height: 100%;
width: 100%;
"></div>
 * ```
 * ```ts
 *  let viewer: PdfViewer = new PdfViewer();
 *  // Change the page organizer settings.
 *  viewer.pageOrganizerSettings = {
 *           canDelete: true,
 *           canInsert: true,
 *           canRotate: true,
 *           canCopy: true,
 *           canRearrange: true,
 *           canImport: true;
 *   };
 *  viewer.appendTo("#pdfViewer");
 * ```
 *
 */
export  class PageOrganizerSettings extends base.ChildProperty<PageOrganizerSettings> {
    /**
     * Specifies whether the pages can be deleted.
     */
    canDelete: boolean;
    /**
     * Specifies whether the pages can be inserted.
     */
    canInsert: boolean;
    /**
     * Specifies whether the pages can be rotated.
     */
    canRotate: boolean;
    /**
     * Specifies whether the pages can be copied.
     */
    canCopy: boolean;
    /**
     * Specifies whether the pages can be rearranged.
     */
    canRearrange: boolean;
    /**
     */
    canImport: boolean;
}
/**
 * Specifies the properties of the text search result bounds.
 */
export interface IPdfRectBounds {
    /**
     * Returns the x position of the rectangle.
     */
    x: number;
    /**
     * Returns the y position of the rectangle.
     */
    y: number;
    /**
     * Returns the rectangle width.
     */
    width: number;
    /**
     * Returns the rectangle height.
     */
    height: number;
}
/**
 * The `SearchResult` provides the page index along with an array of bounds that indicate the locations of the search text identified on that page.
 */
export  class SearchResult extends base.ChildProperty<SearchResult> {
    /**
     * Returns the page index of the search text.
     */
    pageIndex: number;
    /**
     * Returns the bounds of the search text.
     */
    bounds: IPdfRectBounds[];
}
/**
 * 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.
     *
     * {% codeBlock src='pdfviewer/serviceUrl/index.md' %}{% endcodeBlock %}
     *
     */
    serviceUrl: string;
    /**
     * gets the page count of the document loaded in the PdfViewer control.
     *
     * {% codeBlock src='pdfviewer/pageCount/index.md' %}{% endcodeBlock %}
     *
     * @default 0
     */
    pageCount: number;
    /**
     *Specifies the document printing quality. The default printing quality is set to 1.0. This limit varies from 0.5 to 5.0. If an invalid value is specified, the default value of 1.0 will be used. For documents with smaller page dimensions, a higher print quality is recommended.
     *
     *{% codeBlock src='pdfviewer/printScaleFactor/index.md' %}{% endBlock %}
     *
     * @default 1.0
     */
    printScaleFactor: number;
    /**
     * Get File byte array of the PDF document.
     *
     * @private
     */
    fileByteArray: Uint8Array;
    /**
     * @private
     * Uploaded File byte array of the PDF document.
     */
    uploadedFileByteArray: Uint8Array;
    /**
     * Checks whether the PDF document is edited.
     *
     * {% codeBlock src='pdfviewer/isDocumentEdited/index.md' %}{% endcodeBlock %}
     *
     * @asptype bool
     * @blazorType bool
     */
    isDocumentEdited: boolean;
    /**
     * Returns the current page number of the document displayed in the PdfViewer control.
     *
     * {% codeBlock src='pdfviewer/currentPageNumber/index.md' %}{% endcodeBlock %}
     *
     * @default 0
     */
    currentPageNumber: number;
    /**
     * Sets the PDF document path for initial loading.
     *
     * {% codeBlock src='pdfviewer/documentPath/index.md' %}{% endcodeBlock %}
     *
     */
    documentPath: string;
    /**
     * Returns the current zoom percentage of the PdfViewer control.
     *
     * @asptype int
     * @blazorType int
     * @returns {number} - number
     */
    readonly zoomPercentage: number;
    /**
     * Get the Loaded document annotation Collections in the PdfViewer control.
     *
     * {% codeBlock src='pdfviewer/annotationCollection/index.md' %}{% endcodeBlock %}
     *
     */
    annotationCollection: any[];
    /**
     * Get the Loaded document formField Collections in the PdfViewer control.
     *
     * @private
     */
    formFieldCollection: any[];
    /**
     * Checks if the form fields are loaded for the document in the PdfViewer control.
     *
     * @private
     */
    isFormFieldsLoaded: boolean;
    /**
     * Get the Loaded document signature Collections in the PdfViewer control.
     *
     * {% codeBlock src='pdfviewer/signatureCollection/index.md' %}{% endcodeBlock %}
     *
     */
    signatureCollection: any[];
    /**
     * Gets or sets the document name loaded in the PdfViewer control.
     *
     * {% codeBlock src='pdfviewer/fileName/index.md' %}{% endcodeBlock %}
     *
     */
    fileName: string;
    /**
     * Gets or sets the export annotations JSON file name in the PdfViewer control.
     *
     * {% codeBlock src='pdfviewer/exportAnnotationFileName/index.md' %}{% endcodeBlock %}
     *
     */
    exportAnnotationFileName: string;
    /**
     * Gets or sets the download file name in the PdfViewer control.
     *
     * {% codeBlock src='pdfviewer/downloadFileName/index.md' %}{% endcodeBlock %}
     *
     */
    downloadFileName: string;
    /**
     * Defines the scrollable height of the PdfViewer control.
     *
     * {% codeBlock src='pdfviewer/height/index.md' %}{% endcodeBlock %}
     *
     * @default 'auto'
     */
    height: string | number;
    /**
     * Defines the scrollable width of the PdfViewer control.
     *
     * {% codeBlock src='pdfviewer/width/index.md' %}{% endcodeBlock %}
     *
     * @default 'auto'
     */
    width: string | number;
    /**
     * Enable or disables the toolbar of PdfViewer.
     *
     * {% codeBlock src='pdfviewer/enableToolbar/index.md' %}{% endcodeBlock %}
     *
     * @default true
     */
    enableToolbar: boolean;
    /**
     * Specifies the retry count for the failed requests.
     *
     * {% codeBlock src='pdfviewer/retryCount/index.md' %}{% endcodeBlock %}
     *
     * @default 1
     */
    retryCount: number;
    /**
     * Specifies the response status codes for retrying a failed request with a "3xx", "4xx", or "5xx" response status code.
     * The value can have multiple values, such as [500, 401, 400], and the default value is 500.
     *
     * {% codeBlock src='pdfviewer/retryStatusCodes/index.md' %}{% endcodeBlock %}
     *
     * @default [500]
     */
    retryStatusCodes: number[];
    /**
     * Gets or sets the timeout for retries in seconds.
     *
     * {% codeBlock src='pdfviewer/retryTimeout/index.md' %}{% endcodeBlock %}
     *
     * @default 0
     */
    retryTimeout: number;
    /**
     * Initially renders the first N pages of the PDF document when the document is loaded.
     *
     * {% codeBlock src='pdfviewer/initialRenderPages/index.md' %}{% endcodeBlock %}
     *
     * @default 2
     */
    initialRenderPages: number;
    /**
     * If it is set as false then error message box is not displayed in PDF viewer control.
     *
     * {% codeBlock src='pdfviewer/showNotificationDialog/index.md' %}{% endcodeBlock %}
     *
     * @default true
     */
    showNotificationDialog: boolean;
    /**
     * Enable or disables the Navigation toolbar of PdfViewer.
     *
     * {% codeBlock src='pdfviewer/enableNavigationToolbar/index.md' %}{% endcodeBlock %}
     *
     * @default true
     */
    enableNavigationToolbar: boolean;
    /**
     * Enable or disables the Comment Panel of PdfViewer.
     *
     * {% codeBlock src='pdfviewer/enableCommentPanel/index.md' %}{% endcodeBlock %}
     *
     * @default true
     */
    enableCommentPanel: boolean;
    /**
     * If it set as true, then the command panel show at initial document loading in the PDF viewer
     *
     * {% codeBlock src='pdfviewer/isCommandPanelOpen/index.md' %}{% endcodeBlock %}
     *
     * @default false
     */
    isCommandPanelOpen: boolean;
    /**
     * Enable or disable the text markup resizer to modify the bounds in UI.
     *
     * {% codeBlock src='pdfviewer/enableTextMarkupResizer/index.md' %}{% endcodeBlock %}
     *
     * @default false
     */
    enableTextMarkupResizer: boolean;
    /**
     * Enable or disable the multi line text markup annotations in overlapping collections.
     *
     * {% codeBlock src='pdfviewer/enableMultiLineOverlap/index.md' %}{% endcodeBlock %}
     *
     * @default false
     */
    enableMultiLineOverlap: boolean;
    /**
     * Checks if the freeText value is valid or not.
     *
     * {% codeBlock src='pdfviewer/isValidFreeText/index.md' %}{% endcodeBlock %}
     *
     * @default false
     */
    isValidFreeText: boolean;
    /**
     * Opens the annotation toolbar when the PDF document is loaded in the PDF Viewer control initially.
     *
     * @deprecated This property renamed into "isAnnotationToolbarVisible"
     * @default false
     */
    isAnnotationToolbarOpen: boolean;
    /**
     * Opens the annotation toolbar when the PDF document is loaded in the PDF Viewer control initially
     * and get the annotation Toolbar Visible status.
     *
     * {% codeBlock src='pdfviewer/isAnnotationToolbarVisible/index.md' %}{% endcodeBlock %}
     *
     * @default false
     */
    isAnnotationToolbarVisible: boolean;
    /**
     * Opens the annotation toolbar when the PDF document is loaded in the PDF Viewer control initially
     * and get the annotation Toolbar Visible status.
     *
     * {% codeBlock src='pdfviewer/isFormDesignerToolbarVisible/index.md' %}{% endcodeBlock %}
     *
     * @public
     * @default false
     */
    isFormDesignerToolbarVisible: boolean;
    /**
     * Enables or disables the multi-page text markup annotation selection in UI.
     *
     * {% codeBlock src='pdfviewer/enableMultiPageAnnotation/index.md' %}{% endcodeBlock %}
     *
     * @default false
     */
    enableMultiPageAnnotation: boolean;
    /**
     * Enable or disables the download option of PdfViewer.
     *
     * {% codeBlock src='pdfviewer/enableDownload/index.md' %}{% endcodeBlock %}
     *
     * @default true
     */
    enableDownload: boolean;
    /**
     * Enable or disables the print option of PdfViewer.
     *
     * {% codeBlock src='pdfviewer/enablePrint/index.md' %}{% endcodeBlock %}
     *
     * @default true
     */
    enablePrint: boolean;
    /**
     * If it is set as FALSE, will suppress the page rotation of Landscape document on print action. By default it is TRUE.
     *
     * {% codeBlock src='pdfviewer/enablePrintRotation/index.md' %}{% endcodeBlock %}
     *
     * @default true
     */
    enablePrintRotation: boolean;
    /**
     * Specifies a collection of font names as strings. These fonts must be located in the resourceUrl folder.
     *
     * @default []
     */
    customFonts: string[];
    /**
     * Enables or disables the thumbnail view in the PDF viewer
     *
     * {% codeBlock src='pdfviewer/enableThumbnail/index.md' %}{% endcodeBlock %}
     *
     * @default true
     */
    enableThumbnail: boolean;
    /**
     * Enable or disable the page organizer in the PDF Viewer.
     *
     * {% codeBlock src='pdfviewer/enablePageOrganizer/index.md' %}{% endcodeBlock %}
     *
     * @default true
     */
    enablePageOrganizer: boolean;
    /**
     * Specifies whether the page organizer dialog will be displayed upon the initial document loading in the PDF Viewer.
     *
     * {% codeBlock src='pdfviewer/isPageOrganizerOpen/index.md' %}{% endcodeBlock %}
     *
     * @default false
     */
    isPageOrganizerOpen: boolean;
    /**
     * This property allows for control over various page management functionalities within the PDF Viewer. By setting it to `true`, users will be able to delete, insert, rotate pages, rearrange pages. Conversely, setting it to `false` will disable these actions.
     *
     * {% codeBlock src='pdfviewer/pageOrganizerSettings/index.md' %}{% endcodeBlock %}
     *
     */
    pageOrganizerSettings: PageOrganizerSettingsModel;
    /**
     * If it set as true, then the thumbnail view show at initial document loading in the PDF Viewer
     *
     * {% codeBlock src='pdfviewer/isThumbnailViewOpen/index.md' %}{% endcodeBlock %}
     *
     * @default false
     */
    isThumbnailViewOpen: boolean;
    /**
     * Enables or disable saving Hand Written signature as editable in the PDF.
     *
     * {% codeBlock src='pdfviewer/isSignatureEditable/index.md' %}{% endcodeBlock %}
     *
     * @default false
     */
    isSignatureEditable: boolean;
    /**
     * Enables or disables the bookmark view in the PDF viewer
     *
     * {% codeBlock src='pdfviewer/enableBookmark/index.md' %}{% endcodeBlock %}
     *
     * @default true
     */
    enableBookmark: boolean;
    /**
     * Enables different levels of extract text for the Standalone PDF Viewer.
     * The choice of `extractTextCompleted` determines the content of the `textData`.
     *
     * **Options:**
     * - `ExtractTextOption.TextAndBounds`: Indicates that both plain text and text with bounds (layout information) are returned.
     * This is the default behavior, providing both the extracted text and its positional data.
     * Use this option when you need both the textual content and its layout information for further processing or analysis.
     * - `ExtractTextOption.TextOnly`: Indicates that only plain text is extracted and returned.
     * This option does not include any additional bounds  information.
     * - `ExtractTextOption.BoundsOnly`: Indicates that text is returned along with layout information, such as bounds or coordinates.
     * This option does not include plain text and is useful when only positional data is required.
     * - `ExtractTextOption.None`: Indicates that no text information is returned. This option is not applicable for the ExtractText method and is only used in the extractTextCompleted event when no text data is available.
     *
     * This property is used to determine how `textData` should be managed during the `extractTextCompleted` event.
     *
     * @default 'TextAndBounds'
     */
    extractTextOption: ExtractTextOption;
    /**
     * Enable or disable session storage for PDF Viewer data.
     * When true, the PDF Viewer stores data in an internal collection instead of session storage.
     * When false, the default session storage mechanism is used.
     *
     * **Remarks:**
     * - Setting `enableLocalStorage` to `true` stores all session-specific data (e.g., form fields, annotations, signatures) in memory, increasing memory usage based on the document size and content complexity.
     * - Larger documents or those with more interactive elements will consume more memory.
     * - Ensure proper cleanup by destroying the PDF Viewer instance when no longer needed to avoid memory leaks.
     *
     * @default false
     */
    enableLocalStorage: boolean;
    /**
     * Enables or disables the bookmark styles in the PDF viewer
     *
     * {% codeBlock src='pdfviewer/enableBookmarkStyles/index.md' %}{% endcodeBlock %}
     *
     * @default false
     */
    enableBookmarkStyles: boolean;
    /**
     * Enables or disables the hyperlinks in PDF document.
     *
     * {% codeBlock src='pdfviewer/enableHyperlink/index.md' %}{% endcodeBlock %}
     *
     * @default true
     */
    enableHyperlink: boolean;
    /**
     * Enables or disables the handwritten signature in PDF document.
     *
     * {% codeBlock src='pdfviewer/enableHandwrittenSignature/index.md' %}{% endcodeBlock %}
     *
     * @default true
     */
    enableHandwrittenSignature: boolean;
    /**
     * If it is set as false, then the ink annotation support in the PDF Viewer will be disabled. By default it is true.
     *
     * {% codeBlock src='pdfviewer/enableInkAnnotation/index.md' %}{% endcodeBlock %}
     *
     * @default true
     */
    enableInkAnnotation: boolean;
    /**
     * restrict zoom request.
     *
     * {% codeBlock src='pdfviewer/restrictZoomRequest/index.md' %}{% endcodeBlock %}
     *
     * @default false
     */
    restrictZoomRequest: boolean;
    /**
     * Specifies the open state of the hyperlink in the PDF document.
     *
     * {% codeBlock src='pdfviewer/hyperlinkOpenState/index.md' %}{% endcodeBlock %}
     *
     * @default CurrentTab
     */
    hyperlinkOpenState: LinkTarget;
    /**
     * Specifies the state of the ContextMenu in the PDF document.
     *
     * {% codeBlock src='pdfviewer/contextMenuOption/index.md' %}{% endcodeBlock %}
     *
     * @default RightClick
     */
    contextMenuOption: ContextMenuAction;
    /**
     * Disables the menu items in the context menu.
     *
     * {% codeBlock src='pdfviewer/disableContextMenuItems/index.md' %}{% endcodeBlock %}
     *
     * @default []
     */
    disableContextMenuItems: ContextMenuItem[];
    /**
     * Gets the form fields present in the loaded PDF document. It used to get the form fields id, name, type and it's values.
     *
     * {% codeBlock src='pdfviewer/formFieldCollections/index.md' %}{% endcodeBlock %}
     *
     */
    formFieldCollections: FormFieldModel[];
    /**
     * Enable or disable the Navigation module of PDF Viewer.
     *
     * {% codeBlock src='pdfviewer/enableNavigation/index.md' %}{% endcodeBlock %}
     *
     * @default true
     */
    enableNavigation: boolean;
    /**
     * Enable or disables the auto complete option in form documents.
     *
     * {% codeBlock src='pdfviewer/enableAutoComplete/index.md' %}{% endcodeBlock %}
     *
     * @default true
     */
    enableAutoComplete: boolean;
    /**
     * Enable or disable the Magnification module of PDF Viewer.
     *
     * {% codeBlock src='pdfviewer/enableMagnification/index.md' %}{% endcodeBlock %}
     *
     * @default true
     */
    enableMagnification: boolean;
    /**
     * Enable or disable the Label for shapeAnnotations of PDF Viewer.
     *
     * {% codeBlock src='pdfviewer/enableShapeLabel/index.md' %}{% endcodeBlock %}
     *
     * @default false
     */
    enableShapeLabel: boolean;
    /**
     * Enable or disable the customization of measure values in PDF Viewer.
     *
     * {% codeBlock src='pdfviewer/enableImportAnnotationMeasurement/index.md' %}{% endcodeBlock %}
     *
     * @default true
     */
    enableImportAnnotationMeasurement: boolean;
    /**
     * Enable or disable the pinch zoom option in the PDF Viewer.
     *
     * {% codeBlock src='pdfviewer/enablePinchZoom/index.md' %}{% endcodeBlock %}
     *
     * @default true
     */
    enablePinchZoom: boolean;
    /**
     * Enable or disable the text selection in the PDF Viewer.
     *
     * {% codeBlock src='pdfviewer/enableTextSelection/index.md' %}{% endcodeBlock %}
     *
     * @default true
     */
    enableTextSelection: boolean;
    /**
     * Enable or disable the text search in the PDF Viewer.
     *
     * {% codeBlock src='pdfviewer/enableTextSearch/index.md' %}{% endcodeBlock %}
     *
     * @default true
     */
    enableTextSearch: boolean;
    /**
     * Enable or disable the annotation in the PDF Viewer.
     *
     * {% codeBlock src='pdfviewer/enableAnnotation/index.md' %}{% endcodeBlock %}
     *
     * @default true
     */
    enableAnnotation: boolean;
    /**
     * Enable or disable the form fields in the PDF Viewer.
     *
     * {% codeBlock src='pdfviewer/enableFormFields/index.md' %}{% endcodeBlock %}
     *
     * @default true
     */
    enableFormFields: boolean;
    /**
     * Show or hide the form designer tool in the main toolbar of the PDF Viewer.
     *
     * {% codeBlock src='pdfviewer/enableFormDesigner/index.md' %}{% endcodeBlock %}
     *
     * @default true
     */
    enableFormDesigner: boolean;
    /**
     * Enable or disable the interaction of form fields in the PDF Viewer.
     *
     * {% codeBlock src='pdfviewer/designerMode/index.md' %}{% endcodeBlock %}
     *
     * @default false
     */
    designerMode: boolean;
    /**
     * Enable or disable the form fields validation.
     *
     * {% codeBlock src='pdfviewer/enableFormFieldsValidation/index.md' %}{% endcodeBlock %}
     *
     * @default false
     */
    enableFormFieldsValidation: boolean;
    /**
     * Enable if the PDF document contains form fields.
     *
     * {% codeBlock src='pdfviewer/isFormFieldDocument/index.md' %}{% endcodeBlock %}
     *
     * @default false
     */
    isFormFieldDocument: boolean;
    /**
     * Gets or sets a boolean value to show or hide desktop toolbar in mobile devices.
     *
     * {% codeBlock src='pdfviewer/enableDesktopMode/index.md' %}{% endcodeBlock %}
     *
     * @default false
     */
    enableDesktopMode: boolean;
    /**
     * Gets or sets a boolean value to show or hide the save signature check box option in the signature dialog.
     * FALSE by default
     *
     * @default false
     * @deprecated
     */
    hideSaveSignature: boolean;
    /**
     * Enable or disable the free text annotation in the PDF Viewer.
     *
     * {% codeBlock src='pdfviewer/enableFreeText/index.md' %}{% endcodeBlock %}
     *
     * @default true
     */
    enableFreeText: boolean;
    /**
     * Enable or disable the text markup annotation in the PDF Viewer.
     *
     * {% codeBlock src='pdfviewer/enableTextMarkupAnnotation/index.md' %}{% endcodeBlock %}
     *
     * @default true
     */
    enableTextMarkupAnnotation: boolean;
    /**
     * Enable or disable the shape annotation in the PDF Viewer.
     *
     * {% codeBlock src='pdfviewer/enableShapeAnnotation/index.md' %}{% endcodeBlock %}
     *
     * @default true
     */
    enableShapeAnnotation: boolean;
    /**
     * Enable or disable the calibrate annotation in the PDF Viewer.
     *
     * {% codeBlock src='pdfviewer/enableMeasureAnnotation/index.md' %}{% endcodeBlock %}
     *
     * @default true
     */
    enableMeasureAnnotation: boolean;
    /**
     * Enables and disable the stamp annotations when the PDF viewer control is loaded initially.
     *
     * {% codeBlock src='pdfviewer/enableStampAnnotations/index.md' %}{% endcodeBlock %}
     *
     * @default true
     */
    enableStampAnnotations: boolean;
    /**
     * Enables and disable the stickyNotes annotations when the PDF viewer control is loaded initially.
     *
     * {% codeBlock src='pdfviewer/enableStickyNotesAnnotation/index.md' %}{% endcodeBlock %}
     *
     * @default true
     */
    enableStickyNotesAnnotation: boolean;
    /**
     * Opens the annotation toolbar when the PDF document is loaded in the PDF Viewer control initially.
     *
     * {% codeBlock src='pdfviewer/enableAnnotationToolbar/index.md' %}{% endcodeBlock %}
     *
     * @default true
     */
    enableAnnotationToolbar: boolean;
    /**
     * Opens the form designer toolbar when the PDF document is loaded in the PDF Viewer control initially.
     *
     * {% codeBlock src='pdfviewer/enableFormDesignerToolbar/index.md' %}{% endcodeBlock %}
     *
     * @default true
     */
    enableFormDesignerToolbar: boolean;
    /**
     * Gets or sets a boolean value to show or hide the bookmark panel while loading a document.
     *
     * {% codeBlock src='pdfviewer/isBookmarkPanelOpen/index.md' %}{% endcodeBlock %}
     *
     * @default false
     */
    isBookmarkPanelOpen: boolean;
    /**
     * Gets or sets a boolean value if initial field selected in form designer toolbar.
     *
     * @private
     * @default false
     */
    isInitialFieldToolbarSelection: boolean;
    /**
     * Sets the interaction mode of the PDF Viewer.
     *
     * {% codeBlock src='pdfviewer/interactionMode/index.md' %}{% endcodeBlock %}
     *
     * @default TextSelection
     */
    interactionMode: InteractionMode;
    /**
     * Specifies the rendering mode in the PDF Viewer.
     *
     * {% codeBlock src='pdfviewer/zoomMode/index.md' %}{% endcodeBlock %}
     *
     * @default Default
     */
    zoomMode: ZoomMode;
    /**
     * Specifies the signature mode in the PDF Viewer.
     *
     * {% codeBlock src='pdfviewer/signatureFitMode/index.md' %}{% endcodeBlock %}
     *
     * @default Default
     */
    signatureFitMode: SignatureFitMode;
    /**
     * Specifies the print mode in the PDF Viewer.
     *
     * {% codeBlock src='pdfviewer/printMode/index.md' %}{% endcodeBlock %}
     *
     * @default Default
     */
    printMode: PrintMode;
    /**
     * Sets the initial loading zoom value from 10 to 400 in the PDF Viewer Control.
     *
     * {% codeBlock src='pdfviewer/zoomValue/index.md' %}{% endcodeBlock %}
     *
     * @default 0
     */
    zoomValue: number;
    /**
     * Specifies the minimum acceptable zoom level for the control, with a default value of 10.
     *
     * {% codeBlock src='pdfviewer/minZoom/index.md' %}{% endcodeBlock %}
     *
     * @default 10
     */
    minZoom: number;
    /**
     * Specifies the maximum allowable zoom level for the control, with a default value of 400.
     *
     * {% codeBlock src='pdfviewer/maxZoom/index.md' %}{% endcodeBlock %}
     *
     * @default 400
     */
    maxZoom: number;
    /**
     *  Enable or disable the zoom optimization mode in PDF Viewer.
     *
     * {% codeBlock src='pdfviewer/enableZoomOptimization/index.md' %}{% endcodeBlock %}
     *
     * @default true
     */
    enableZoomOptimization: boolean;
    /**
     * Enable or disable the text extract from the PDF viewer.
     *
     * {% codeBlock src='pdfviewer/isExtractText/index.md' %}{% endcodeBlock %}
     *
     * @default false
     */
    isExtractText: boolean;
    /**
     * Maintain the selection of text markup annotation.
     *
     * {% codeBlock src='pdfviewer/isMaintainSelection/index.md' %}{% endcodeBlock %}
     *
     * @default false
     */
    isMaintainSelection: boolean;
    /**
     *  Get or set the flag to hide the digitally signed field on document loading.
     *
     * @private
     * @default false
     */
    hideEmptyDigitalSignatureFields: boolean;
    /**
     *  Show or hide the digital signature appearance in the document.
     *
     * {% codeBlock src='pdfviewer/showDigitalSignatureAppearance/index.md' %}{% endcodeBlock %}
     *
     * @default true
     */
    showDigitalSignatureAppearance: boolean;
    /**
     *  Determines whether accessibility tags are enabled or disabled.
     *  Accessibility tags can help make web content more accessible to users with disabilities.
     *
     * {% codeBlock src='pdfviewer/enableAccessibilityTags/index.md' %}{% endcodeBlock %}
     *
     * @default true
     */
    enableAccessibilityTags: boolean;
    /**
     * Specifies whether to display or remove the untrusted HTML values in the PDF Viewer component.
     *
     * If 'enableHtmlSanitizer' set to true, the component will sanitize any suspected untrusted strings and scripts before rendering them.
     *
     * @private
     * @default true
     */
    enableHtmlSanitizer: boolean;
    /**
     * Customize desired date and time format
     *
     * {% codeBlock src='pdfviewer/dateTimeFormat/index.md' %}{% endcodeBlock %}
     *
     */
    dateTimeFormat: string;
    /**
     * Set the resource URL for assets or the public directory. The standalone PDF Viewer will load its custom resources from this URL.
     *
     * {% codeBlock src='pdfviewer/resourceUrl/index.md' %}{% endcodeBlock %}
     *
     * @remarks
     *
     * Users incorporating custom assets, public directories, or routing setups into their
     * Standalone PDF Viewer applications may face challenges when loading the PDF Viewer
     * libraries from the default assets location. This property addresses these issues by allowing
     * resource URL customization, guaranteeing a smooth integration process for loading libraries
     * in the Standalone PDF Viewer.
     *
     * @default ''
     */
    resourceUrl: string;
    /**
     * Defines the settings of the PDF Viewer toolbar.
     *
     * {% codeBlock src='pdfviewer/toolbarSettings/index.md' %}{% endcodeBlock %}
     *
     */
    toolbarSettings: ToolbarSettingsModel;
    /**
     * Defines the ajax Request settings of the PDF Viewer.
     *
     * {% codeBlock src='pdfviewer/ajaxRequestSettings/index.md' %}{% endcodeBlock %}
     *
     */
    ajaxRequestSettings: AjaxRequestSettingsModel;
    /**
     * Defines the stamp items of the PDF Viewer.
     *
     * {% codeBlock src='pdfviewer/customStamp/index.md' %}{% endcodeBlock %}
     *
     */
    customStamp: CustomStampModel[];
    /**
     * Defines the settings of the PDF Viewer service.
     *
     * {% codeBlock src='pdfviewer/serverActionSettings/index.md' %}{% endcodeBlock %}
     *
     */
    serverActionSettings: ServerActionSettingsModel;
    /**
     * Get or set the signature field settings.
     *
     * {% codeBlock src='pdfviewer/signatureFieldSettings/index.md' %}{% endcodeBlock %}
     *
     */
    signatureFieldSettings: SignatureFieldSettingsModel;
    /**
     * Get or set the initial field settings.
     *
     * {% codeBlock src='pdfviewer/initialFieldSettings/index.md' %}{% endcodeBlock %}
     *
     */
    initialFieldSettings: InitialFieldSettingsModel;
    /**
     * Defines the settings of highlight annotation.
     *
     * {% codeBlock src='pdfviewer/highlightSettings/index.md' %}{% endcodeBlock %}
     *
     */
    highlightSettings: HighlightSettingsModel;
    /**
     * Defines the settings of strikethrough annotation.
     *
     * {% codeBlock src='pdfviewer/strikethroughSettings/index.md' %}{% endcodeBlock %}
     *
     */
    strikethroughSettings: StrikethroughSettingsModel;
    /**
     * Defines the settings of underline annotation.
     *
     * {% codeBlock src='pdfviewer/underlineSettings/index.md' %}{% endcodeBlock %}
     *
     */
    underlineSettings: UnderlineSettingsModel;
    /**
     * Defines the settings of line annotation.
     *
     * {% codeBlock src='pdfviewer/lineSettings/index.md' %}{% endcodeBlock %}
     *
     */
    lineSettings: LineSettingsModel;
    /**
     * Defines the settings of arrow annotation.
     *
     * {% codeBlock src='pdfviewer/arrowSettings/index.md' %}{% endcodeBlock %}
     *
     */
    arrowSettings: ArrowSettingsModel;
    /**
     * Defines the settings of rectangle annotation.
     *
     * {% codeBlock src='pdfviewer/rectangleSettings/index.md' %}{% endcodeBlock %}
     *
     */
    rectangleSettings: RectangleSettingsModel;
    /**
     * Defines the settings of shape label.
     *
     * {% codeBlock src='pdfviewer/shapeLabelSettings/index.md' %}{% endcodeBlock %}
     *
     */
    shapeLabelSettings: ShapeLabelSettingsModel;
    /**
     * Defines the settings of circle annotation.
     *
     * {% codeBlock src='pdfviewer/circleSettings/index.md' %}{% endcodeBlock %}
     *
     */
    circleSettings: CircleSettingsModel;
    /**
     * Defines the settings of polygon annotation.
     *
     * {% codeBlock src='pdfviewer/polygonSettings/index.md' %}{% endcodeBlock %}
     *
     */
    polygonSettings: PolygonSettingsModel;
    /**
     * Defines the settings of stamp annotation.
     *
     * {% codeBlock src='pdfviewer/stampSettings/index.md' %}{% endcodeBlock %}
     *
     */
    stampSettings: StampSettingsModel;
    /**
     * Defines the settings of customStamp annotation.
     *
     * {% codeBlock src='pdfviewer/customStampSettings/index.md' %}{% endcodeBlock %}
     *
     */
    customStampSettings: CustomStampSettingsModel;
    /**
     * Defines the settings of distance annotation.
     *
     * {% codeBlock src='pdfviewer/distanceSettings/index.md' %}{% endcodeBlock %}
     *
     */
    distanceSettings: DistanceSettingsModel;
    /**
     * Defines the settings of perimeter annotation.
     *
     * {% codeBlock src='pdfviewer/perimeterSettings/index.md' %}{% endcodeBlock %}
     *
     */
    perimeterSettings: PerimeterSettingsModel;
    /**
     * Defines the settings of area annotation.
     *
     * {% codeBlock src='pdfviewer/areaSettings/index.md' %}{% endcodeBlock %}
     *
     */
    areaSettings: AreaSettingsModel;
    /**
     * Defines the settings of radius annotation.
     *
     * {% codeBlock src='pdfviewer/radiusSettings/index.md' %}{% endcodeBlock %}
     *
     */
    radiusSettings: RadiusSettingsModel;
    /**
     * Defines the settings of volume annotation.
     *
     * {% codeBlock src='pdfviewer/volumeSettings/index.md' %}{% endcodeBlock %}
     *
     */
    volumeSettings: VolumeSettingsModel;
    /**
     * Defines the settings of stickyNotes annotation.
     *
     * {% codeBlock src='pdfviewer/stickyNotesSettings/index.md' %}{% endcodeBlock %}
     *
     */
    stickyNotesSettings: StickyNotesSettingsModel;
    /**
     * Defines the settings of free text annotation.
     *
     * {% codeBlock src='pdfviewer/freeTextSettings/index.md' %}{% endcodeBlock %}
     *
     */
    freeTextSettings: FreeTextSettingsModel;
    /**
     * Defines the settings of measurement annotation.
     *
     * {% codeBlock src='pdfviewer/measurementSettings/index.md' %}{% endcodeBlock %}
     *
     */
    measurementSettings: MeasurementSettingsModel;
    /**
     * Defines the settings of annotation selector.
     *
     * {% codeBlock src='pdfviewer/annotationSelectorSettings/index.md' %}{% endcodeBlock %}
     *
     */
    annotationSelectorSettings: AnnotationSelectorSettingsModel;
    /**
     * Sets the settings for the color of the text search highlight.
     *
     * {% codeBlock src='pdfviewer/textSearchColorSettings/index.md' %}{% endcodeBlock %}
     *
     */
    textSearchColorSettings: TextSearchColorSettingsModel;
    /**
     * Get or set the signature dialog settings for signature field.
     *
     * {% codeBlock src='pdfviewer/signatureDialogSettings/index.md' %}{% endcodeBlock %}
     *
     */
    signatureDialogSettings: SignatureDialogSettingsModel;
    /**
     * Get or set the signature dialog settings for initial field.
     *
     * {% codeBlock src='pdfviewer/initialDialogSettings/index.md' %}{% endcodeBlock %}
     *
     */
    initialDialogSettings: SignatureDialogSettingsModel;
    /**
     * Defines the settings of handWrittenSignature.
     *
     * {% codeBlock src='pdfviewer/handWrittenSignatureSettings/index.md' %}{% endcodeBlock %}
     *
     */
    handWrittenSignatureSettings: HandWrittenSignatureSettingsModel;
    /**
     * Defines the ink annotation settings for PDF Viewer.It used to customize the strokeColor, thickness, opacity of the ink annotation.
     *
     * {% codeBlock src='pdfviewer/inkAnnotationSettings/index.md' %}{% endcodeBlock %}
     *
     */
    inkAnnotationSettings: InkAnnotationSettingsModel;
    /**
     * Defines the settings of the annotations.
     *
     * {% codeBlock src='pdfviewer/annotationSettings/index.md' %}{% endcodeBlock %}
     *
     */
    annotationSettings: AnnotationSettingsModel;
    /**
     * Defines the tile rendering settings.
     *
     * {% codeBlock src='pdfviewer/tileRenderingSettings/index.md' %}{% endcodeBlock %}
     *
     */
    tileRenderingSettings: TileRenderingSettingsModel;
    /**
     * Defines the scroll settings.
     *
     * {% codeBlock src='pdfviewer/scrollSettings/index.md' %}{% endcodeBlock %}
     *
     */
    scrollSettings: ScrollSettingsModel;
    /**
     * Get or set the text field settings.
     *
     * {% codeBlock src='pdfviewer/textFieldSettings/index.md' %}{% endcodeBlock %}
     *
     */
    textFieldSettings: TextFieldSettingsModel;
    /**
     * Get or set the password field settings.
     *
     * {% codeBlock src='pdfviewer/passwordFieldSettings/index.md' %}{% endcodeBlock %}
     *
     */
    passwordFieldSettings: PasswordFieldSettingsModel;
    /**
     * Get or set the check box field settings.
     *
     * {% codeBlock src='pdfviewer/checkBoxFieldSettings/index.md' %}{% endcodeBlock %}
     *
     */
    checkBoxFieldSettings: CheckBoxFieldSettingsModel;
    /**
     * Get or set the radio button field settings.
     *
     * {% codeBlock src='pdfviewer/radioButtonFieldSettings/index.md' %}{% endcodeBlock %}
     *
     */
    radioButtonFieldSettings: RadioButtonFieldSettingsModel;
    /**
     * Get or set the dropdown field settings.
     *
     * {% codeBlock src='pdfviewer/DropdownFieldSettings/index.md' %}{% endcodeBlock %}
     *
     */
    DropdownFieldSettings: DropdownFieldSettingsModel;
    /**
     * Get or set the listbox field settings.
     *
     * {% codeBlock src='pdfviewer/listBoxFieldSettings/index.md' %}{% endcodeBlock %}
     *
     */
    listBoxFieldSettings: ListBoxFieldSettingsModel;
    /**
     * Defines the context menu settings.
     *
     * {% codeBlock src='pdfviewer/contextMenuSettings/index.md' %}{% endcodeBlock %}
     *
     */
    contextMenuSettings: ContextMenuSettingsModel;
    /**
     * Defines the custom context menu items.
     *
     * @private
     */
    customContextMenuItems: navigations.MenuItemModel[];
    /**
     * Defines the custom context menu items.
     *
     * @private
     */
    disableDefaultContextMenu: boolean;
    /**
     * Defines the custom context menu items.
     *
     * @private
     */
    showCustomContextMenuBottom: boolean;
    /**
     * Defines a set of custom commands and binds them with a set of desired key gestures.
     *
     * {% codeBlock src='pdfviewer/commandManager/index.md' %}{% endcodeBlock %}
     *
     * @default {}
     */
    commandManager: CommandManagerModel;
    /**
     * @private
     */
    viewerBase: PdfViewerBase;
    /**
     * @private
     */
    drawing: Drawing;
    /**
     * @private
     */
    /**
     * Defines the collection of selected items, size and position of the selector
     *
     * @default {}
     */
    selectedItems: SelectorModel;
    /**
     * @private
     */
    adornerSvgLayer: SVGSVGElement;
    /**
     * @private
     */
    zIndex: number;
    /**
     * @private
     */
    nameTable: {};
    /**   @private  */
    clipboardData: ClipBoardObject;
    /**
     * @private
     */
    zIndexTable: ZOrderPageTable[];
    /**
     * @private
     */
    navigationModule: Navigation;
    /**
     * @private
     */
    toolbarModule: Toolbar;
    /**
     * @private
     */
    magnificationModule: Magnification;
    /**
     * @private
     */
    linkAnnotationModule: LinkAnnotation;
    /** @hidden */
    localeObj: base.L10n;
    /**
     * @private
     */
    thumbnailViewModule: ThumbnailView;
    /**
     * @private
     */
    bookmarkViewModule: BookmarkView;
    /**
     * @private
     */
    textSelectionModule: TextSelection;
    /**
     * @private
     */
    textSearchModule: TextSearch;
    /**
     * @private
     */
    printModule: Print;
    /**
     * @private
     */
    annotationModule: Annotation;
    /**
     * @private
     */
    formFieldsModule: FormFields;
    /**
     * @private
     */
    formDesignerModule: FormDesigner;
    /**
     * @private
     */
    accessibilityTagsModule: AccessibilityTags;
    /**
     * @private
     */
    pdfRendererModule: PdfRenderer;
    /**
     * @private
     */
    pageOrganizerModule: PageOrganizer;
    private isTextSelectionStarted;
    /**
     * @private
     */
    _dotnetInstance: any;
    /**
     * Gets the bookmark view object of the pdf viewer.
     *
     * @asptype BookmarkView
     * @blazorType BookmarkView
     * @returns { BookmarkView } - Bookmark view module
     */
    readonly bookmark: BookmarkView;
    /**
     * Gets the print object of the pdf viewer.
     *
     * @asptype Print
     * @blazorType Print
     * @returns { Print } - Print module
     */
    readonly print: Print;
    /**
     * Gets the magnification object of the pdf viewer.
     *
     * @asptype Magnification
     * @blazorType Magnification
     * @returns { Magnification } - Magnification module
     */
    readonly magnification: Magnification;
    /**
     * Gets the navigation object of the pdf viewer.
     *
     * @asptype Navigation
     * @blazorType Navigation
     * @returns { Navigation } - Navigation module
     */
    readonly navigation: Navigation;
    /**
     * Gets the text search object of the pdf viewer.
     *
     * @asptype TextSearch
     * @blazorType TextSearch
     * @returns { TextSearch } - Text search module
     */
    readonly textSearch: TextSearch;
    /**
     * Gets the toolbar object of the pdf viewer.
     *
     * @asptype Toolbar
     * @blazorType Toolbar
     * @returns { Toolbar } - Toolbar module
     */
    readonly toolbar: Toolbar;
    /**
     * Gets the thumbnail-view object of the pdf viewer.
     *
     * @asptype ThumbnailView
     * @blazorType ThumbnailView
     * @returns { ThumbnailView } - Thumbnail view module
     */
    readonly thumbnailView: ThumbnailView;
    /**
     * Gets the annotation object of the pdf viewer.
     *
     * @asptype Annotation
     * @blazorType Annotation
     * @returns { Annotation } - Annotation module
     */
    readonly annotation: Annotation;
    /**
     * Gets the FormDesigner object of the pdf viewer.
     *
     * @asptype FormDesigner
     * @blazorType FormDesigner
     * @returns { FormDesigner } - Form designer module
     */
    readonly formDesigner: FormDesigner;
    /**
     * Gets the TextSelection object of the pdf viewer.
     *
     * @asptype TextSelection
     * @blazorType TextSelection
     * @returns { TextSelection } - Text selection module
     */
    readonly textSelection: TextSelection;
    /**
     * Gets the Accessibility Tags object of the pdf viewer.
     *
     * @asptype AccessibilityTags
     * @blazorType AccessibilityTags
     * @returns { AccessibilityTags } - Accessibility tags module
     */
    readonly accessibilityTags: AccessibilityTags;
    /**
     * Gets the Pdf renderer object of the pdf renderer.
     *
     * @asptype PdfRenderer
     * @blazorType PdfRenderer
     * @returns { PdfRenderer } - Pdf renderer module
     * @private
     */
    readonly pdfRenderer: PdfRenderer;
    /**
     * Gets the page organizer object of the PDF Viewer.
     *
     * @asptype PageOrganizer
     * @blazorType PageOrganizer
     * @returns { PageOrganizer } - Page organizer module
     */
    readonly pageOrganizer: PageOrganizer;
    /**
     * Triggers during the creation of the PDF viewer component.
     *
     * @event created
     * @blazorProperty 'Created'
     */
    created: base.EmitType<void>;
    /**
     * Triggers after loading the Pdfium resources.
     *
     * @event resourcesLoaded
     */
    resourcesLoaded: base.EmitType<void>;
    /**
     * Triggers while loading document into PDF viewer.
     *
     * @event documentLoad
     * @blazorProperty 'DocumentLoaded'
     */
    documentLoad: base.EmitType<LoadEventArgs>;
    /**
     * Triggers while closing the document.
     *
     * @event documentUnload
     * @blazorProperty 'DocumentUnloaded'
     */
    documentUnload: base.EmitType<UnloadEventArgs>;
    /**
     * Triggers while document loading failed in PdfViewer.
     *
     * @event documentLoadFailed
     * @blazorProperty 'DocumentLoadFailed'
     */
    documentLoadFailed: base.EmitType<LoadFailedEventArgs>;
    /**
     * Triggers when the AJAX request is failed.
     *
     * @event ajaxRequestFailed
     * @blazorProperty 'AjaxRequestFailed'
     */
    ajaxRequestFailed: base.EmitType<AjaxRequestFailureEventArgs>;
    /**
     * Triggers on successful AJAX request.
     *
     * @event ajaxRequestSuccess
     */
    ajaxRequestSuccess: base.EmitType<AjaxRequestSuccessEventArgs>;
    /**
     * Triggers upon completion of page rendering.
     *
     * @event pageRenderComplete
     */
    pageRenderComplete: base.EmitType<PageRenderCompleteEventArgs>;
    /**
     * Triggers when validation is failed.
     *
     * @event validateFormFields
     * @blazorProperty 'validateFormFields'
     */
    validateFormFields: base.EmitType<ValidateFormFieldsArgs>;
    /**
     * Triggers when the mouse click is performed over the page of the PDF document.
     *
     * @event pageClick
     * @blazorProperty 'OnPageClick'
     */
    pageClick: base.EmitType<PageClickEventArgs>;
    /**
     * Triggers when there is change in current page number.
     *
     * @event pageChange
     * @blazorProperty 'PageChanged'
     */
    pageChange: base.EmitType<PageChangeEventArgs>;
    /**
     * Triggers when a hyperlink in a PDF document is clicked.
     *
     * @event hyperlinkClick
     * @blazorProperty 'OnHyperlinkClick'
     */
    hyperlinkClick: base.EmitType<HyperlinkClickEventArgs>;
    /**
     * Triggers when hyperlink in a PDF document is hovered.
     *
     * @event hyperlinkMouseOver
     * @blazorProperty 'OnHyperlinkMouseOver'
     */
    hyperlinkMouseOver: base.EmitType<HyperlinkMouseOverArgs>;
    /**
     * Triggers When the magnification value changes.
     *
     * @event zoomChange
     * @blazorProperty 'ZoomChanged'
     */
    zoomChange: base.EmitType<ZoomChangeEventArgs>;
    /**
     * Triggers when an annotation is added to a PDF document's page.
     *
     * @event annotationAdd
     * @blazorProperty 'AnnotationAdded'
     */
    annotationAdd: base.EmitType<AnnotationAddEventArgs>;
    /**
     * Triggers when an annotation is removed from a PDF document's page.
     *
     * @event annotationRemove
     * @blazorProperty 'AnnotationRemoved'
     */
    annotationRemove: base.EmitType<AnnotationRemoveEventArgs>;
    /**
     * Triggers when the annotation's property is modified on a PDF document page.
     *
     * @event annotationPropertiesChange
     * @blazorProperty 'AnnotationPropertiesChanged'
     */
    annotationPropertiesChange: base.EmitType<AnnotationPropertiesChangeEventArgs>;
    /**
     * Triggers when an annotation is resized over the page of a PDF document.
     *
     * @event annotationResize
     * @blazorProperty 'AnnotationResized'
     */
    annotationResize: base.EmitType<AnnotationResizeEventArgs>;
    /**
     * Triggers when a signature is added to a page of a PDF document.
     *
     * @event addSignature
     */
    addSignature: base.EmitType<AddSignatureEventArgs>;
    /**
     * Triggers when the signature is removed from the page of a PDF document.
     *
     * @event removeSignature
     */
    removeSignature: base.EmitType<RemoveSignatureEventArgs>;
    /**
     * Triggers when a signature is moved across the page of a PDF document.
     *
     * @event moveSignature
     */
    moveSignature: base.EmitType<MoveSignatureEventArgs>;
    /**
     * Triggers when the property of the signature is changed in the page of the PDF document.
     *
     * @event signaturePropertiesChange
     */
    signaturePropertiesChange: base.EmitType<SignaturePropertiesChangeEventArgs>;
    /**
     * Triggers when the signature is resized and placed on a page of a PDF document.
     *
     * @event resizeSignature
     */
    resizeSignature: base.EmitType<ResizeSignatureEventArgs>;
    /**
     * Triggers when signature is selected over the page of the PDF document.
     *
     * @event signatureSelect
     */
    signatureSelect: base.EmitType<SignatureSelectEventArgs>;
    /**
     * Triggers when signature is unselected over the page of the PDF document.
     *
     * @event signatureUnselect
     */
    signatureUnselect: base.EmitType<SignatureUnselectEventArgs>;
    /**
     * Triggers when an annotation is selected over the page of the PDF document.
     *
     * @event annotationSelect
     * @blazorProperty 'AnnotationSelected'
     */
    annotationSelect: base.EmitType<AnnotationSelectEventArgs>;
    /**
     * Triggers when an annotation is unselected over the page of the PDF document.
     *
     * @event annotationUnSelect
     * @blazorProperty 'AnnotationUnSelect'
     */
    annotationUnSelect: base.EmitType<AnnotationUnSelectEventArgs>;
    /**
     * Triggers when the annotation is double clicked.
     *
     * @event annotationDoubleClick
     * @blazorProperty 'OnAnnotationDoubleClick'
     */
    annotationDoubleClick: base.EmitType<AnnotationDoubleClickEventArgs>;
    /**
     * Triggers when an annotation is moved over the page of the PDF document.
     *
     * @event annotationMove
     * @blazorProperty 'AnnotationMoved'
     */
    annotationMove: base.EmitType<AnnotationMoveEventArgs>;
    /**
     * Triggers while moving an annotation.
     *
     * @event annotationMoving
     * @blazorProperty 'AnnotationMoving'
     */
    annotationMoving: base.EmitType<AnnotationMovingEventArgs>;
    /**
     * Triggers when the mouse is moved over the annotation object.
     *
     * @event annotationMouseover
     */
    annotationMouseover: base.EmitType<AnnotationMouseoverEventArgs>;
    /**
     * Triggers when the user mouse moves away from the annotation object.
     *
     * @event annotationMouseLeave
     */
    annotationMouseLeave: base.EmitType<AnnotationMouseLeaveEventArgs>;
    /**
     * Triggers when moving the mouse over the page.
     *
     * @event pageMouseover
     */
    pageMouseover: base.EmitType<PageMouseoverEventArgs>;
    /**
     *
     * @blazorProperty 'ImportStarted'
     */
    /**
     * Triggers when an exported annotation started in the PDF Viewer.
     *
     * @event exportStart
     * @blazorProperty 'ExportStarted'
     */
    exportStart: base.EmitType<ExportStartEventArgs>;
    /**
     *
     * @blazorProperty 'ImportSucceed'
     */
    /**
     * Triggers when the annotations in a PDF document are successfully exported.
     *
     * @event exportSuccess
     * @blazorProperty 'ExportSucceed'
     */
    exportSuccess: base.EmitType<ExportSuccessEventArgs>;
    /**
     *
     * @blazorProperty 'ImportFailed'
     */
    /**
     * Triggers when the annotations export in a PDF document fails.
     *
     * @event exportFailed
     * @blazorProperty 'ExportFailed'
     */
    exportFailed: base.EmitType<ExportFailureEventArgs>;
    /**
     * Triggers when an text extraction is completed in the PDF Viewer.
     *
     * @event extractTextCompleted
     * @blazorProperty 'ExtractTextCompleted'
     */
    extractTextCompleted: base.EmitType<ExtractTextCompletedEventArgs>;
    /**
     * Triggers when the thumbnail in the PDF Viewer's thumbnail panel is clicked.
     *
     * @event thumbnailClick
     * @blazorProperty 'OnThumbnailClick'
     */
    thumbnailClick: base.EmitType<ThumbnailClickEventArgs>;
    /**
     * Triggers when the bookmark is clicked in the PDF Viewer's bookmark panel.
     *
     * @event bookmarkClick
     * @blazorProperty 'BookmarkClick'
     */
    bookmarkClick: base.EmitType<BookmarkClickEventArgs>;
    /**
     * Triggers when custom toolbar item is clicked.
     *
     * @event toolbarClick
     * @blazorProperty 'ToolbarClick'
     */
    toolbarClick: base.EmitType<navigations.ClickEventArgs>;
    /**
     * Triggers when the text selection is initiated.
     *
     * @event textSelectionStart
     * @blazorProperty 'OnTextSelectionStart'
     */
    textSelectionStart: base.EmitType<TextSelectionStartEventArgs>;
    /**
     * Triggers when the text selection is complete.
     *
     * @event textSelectionEnd
     * @blazorProperty 'OnTextSelectionEnd'
     */
    textSelectionEnd: base.EmitType<TextSelectionEndEventArgs>;
    /**
     * Triggers when the download action is initiated.
     *
     * @event downloadStart
     * @blazorProperty 'DownloadStart'
     */
    downloadStart: base.EmitType<DownloadStartEventArgs>;
    /**
     * Triggers when the button is clicked.
     *
     * @deprecated This property renamed into "formFieldClick"
     * @event buttonFieldClick
     * @blazorProperty 'ButtonFieldClick'
     */
    buttonFieldClick: base.EmitType<ButtonFieldClickEventArgs>;
    /**
     * Triggers when the form field is selected.
     *
     * @event formFieldClick
     * @blazorProperty 'FormFieldClick'
     */
    formFieldClick: base.EmitType<FormFieldClickArgs>;
    /**
     * Triggers when the download actions are completed.
     *
     * @event downloadEnd
     * @blazorProperty 'DownloadEnd'
     */
    downloadEnd: base.EmitType<DownloadEndEventArgs>;
    /**
     * Triggers when the print action is initiated.
     *
     * @event printStart
     * @blazorProperty 'PrintStart'
     */
    printStart: base.EmitType<PrintStartEventArgs>;
    /**
     * Triggers when the print actions are completed.
     *
     * @event printEnd
     * @blazorProperty 'PrintEnd'
     */
    printEnd: base.EmitType<PrintEndEventArgs>;
    /**
     * Triggers when the text search is initiated.
     *
     * @event textSearchStart
     * @blazorProperty 'OnTextSearchStart'
     */
    textSearchStart: base.EmitType<TextSearchStartEventArgs>;
    /**
     * Triggers when the text search is completed.
     *
     * @event textSearchComplete
     * @blazorProperty 'OnTextSearchComplete'
     */
    textSearchComplete: base.EmitType<TextSearchCompleteEventArgs>;
    /**
     * Triggers when the text search text is highlighted.
     *
     * @event textSearchHighlight
     * @blazorProperty 'OnTextSearchHighlight'
     */
    textSearchHighlight: base.EmitType<TextSearchHighlightEventArgs>;
    /**
     * Triggers before the data is sent to the server.
     *
     * @event ajaxRequestInitiate
     */
    ajaxRequestInitiate: base.EmitType<AjaxRequestInitiateEventArgs>;
    /**
     * Triggers upon the initiation of page rendering.
     *
     * @event pageRenderInitiate
     */
    pageRenderInitiate: base.EmitType<PageRenderInitiateEventArgs>;
    /**
     * Triggers when a comment for the annotation is added to the comment panel.
     *
     * @event commentAdd
     * @blazorProperty 'commentAdd'
     */
    commentAdd: base.EmitType<CommentEventArgs>;
    /**
     * Triggers when the comment for the annotation in the comment panel is edited.
     *
     * @event commentEdit
     * @blazorProperty 'commentEdit'
     */
    commentEdit: base.EmitType<CommentEventArgs>;
    /**
     * Triggers when the comment for the annotation in the comment panel is deleted.
     *
     * @event commentDelete
     * @blazorProperty 'commentDelete'
     */
    commentDelete: base.EmitType<CommentEventArgs>;
    /**
     * Triggers when the comment for the annotation in the comment panel is selected.
     *
     * @event commentSelect
     * @blazorProperty 'commentSelect
     */
    commentSelect: base.EmitType<CommentEventArgs>;
    /**
     * Triggers when the annotation's comment for status is changed in the comment panel.
     *
     * @event commentStatusChanged
     * @blazorProperty 'commentStatusChanged'
     */
    commentStatusChanged: base.EmitType<CommentEventArgs>;
    /**
     * Triggers before adding a text in the freeText annotation.
     *
     * @event beforeAddFreeText
     * @blazorProperty 'beforeAddFreeText'
     */
    beforeAddFreeText: base.EmitType<BeforeAddFreeTextEventArgs>;
    /**
     * Triggers when focus out from the form fields.
     *
     * @event formFieldFocusOut
     * @blazorProperty 'formFieldFocusOut'
     */
    formFieldFocusOut: base.EmitType<FormFieldFocusOutEventArgs>;
    /**
     * Triggers when a form field is added.
     *
     * @event formFieldAdd
     * @blazorProperty 'formFieldAdd'
     */
    formFieldAdd: base.EmitType<FormFieldAddArgs>;
    /**
     * Triggers when a form field is removed.
     *
     * @event formFieldRemove
     * @blazorProperty 'formFieldRemove'
     */
    formFieldRemove: base.EmitType<FormFieldRemoveArgs>;
    /**
     * Triggers when a property of form field is changed.
     *
     * @event formFieldPropertiesChange
     * @blazorProperty 'formFieldPropertiesChange'
     */
    formFieldPropertiesChange: base.EmitType<FormFieldPropertiesChangeArgs>;
    /**
     * Triggers when the mouse cursor leaves the form field.
     *
     * @event formFieldMouseLeave
     * @blazorProperty 'formFieldMouseLeave'
     */
    formFieldMouseLeave: base.EmitType<FormFieldMouseLeaveArgs>;
    /**
     * Triggers when the mouse cursor is over a form field.
     *
     * @event formFieldMouseover
     * @blazorProperty 'formFieldMouseover'
     */
    formFieldMouseover: base.EmitType<FormFieldMouseoverArgs>;
    /**
     * Triggers when a form field is moved.
     *
     * @event formFieldMove
     * @blazorProperty 'formFieldMove'
     */
    formFieldMove: base.EmitType<FormFieldMoveArgs>;
    /**
     * Triggers when a form field is resized.
     *
     * @event formFieldResize
     * @blazorProperty 'formFieldResize'
     */
    formFieldResize: base.EmitType<FormFieldResizeArgs>;
    /**
     * Triggers when a form field is selected.
     *
     * @event formFieldSelect
     * @blazorProperty 'formFieldSelect'
     */
    formFieldSelect: base.EmitType<FormFieldSelectArgs>;
    /**
     * Triggers when a form field is unselected.
     *
     * @event formFieldUnselect
     * @blazorProperty 'formFieldUnselect'
     */
    formFieldUnselect: base.EmitType<FormFieldUnselectArgs>;
    /**
     * Triggers when the form field is double-clicked.
     *
     * @event formFieldDoubleClick
     * @blazorProperty 'formFieldDoubleClick'
     */
    formFieldDoubleClick: base.EmitType<FormFieldDoubleClickArgs>;
    /**
     * Fires when a custom context menu option is selected.
     *
     * @event customContextMenuSelect
     */
    customContextMenuSelect: base.EmitType<CustomContextMenuSelectEventArgs>;
    /**
     * Fires before the custom context menu option is opened.
     *
     * @event customContextMenuBeforeOpen
     */
    customContextMenuBeforeOpen: base.EmitType<CustomContextMenuBeforeOpenEventArgs>;
    /**
     * Triggers when the customized keyboard command keys are pressed.
     *
     * @event keyboardCustomCommands
     */
    keyboardCustomCommands: base.EmitType<KeyboardCustomCommandsEventArgs>;
    /**
     * Triggers when the page organizer save as triggered.
     *
     * @event pageOrganizerSaveAs
     */
    pageOrganizerSaveAs: base.EmitType<PageOrganizerSaveAsEventArgs>;
    /**
     * PDF document annotation collection.
     *
     * @private
     * @deprecated
     */
    annotations: PdfAnnotationBaseModel[];
    /**
     * PDF document form fields collection.
     *
     * @private
     * @deprecated
     */
    formFields: PdfFormFieldBaseModel[];
    /**
     * @private
     * @deprecated
     */
    tool: string;
    /**
     * @private
     */
    touchPadding: number;
    /**
     * @private
     */
    paddingDifferenceValue: number;
    /**
     * store the drawing objects.
     *
     * @private
     * @deprecated
     */
    drawingObject: PdfAnnotationBaseModel;
    constructor(options?: PdfViewerModel, element?: string | HTMLElement);
    protected preRender(): void;
    private getUniqueElementId;
    private initializePdfiumModule;
    protected render(): void;
    /**
     * Exports the specified page as a Base64-encoded image string.
     *
     * @param {number} pageIndex -  The index of the page to export.
     * @param {drawings.Size} [size] - Specifies the width and height of the image. If not specified, the default size will be used.
     * @param {number} [size.width] - The width of the image.
     * @param {number} [size.height] - The height of the image.
     * @returns { Promise<string> } - Returns the Base64-encoded string representing the image of the specified page.
     * @private
     */
    exportAsImage(pageIndex: number, size?: drawings.Size): Promise<string>;
    /**
     * Exports the range of pages as Base64-encoded image strings.
     *
     * @param {number} startIndex - The index of the first page to export.
     * @param {number} endIndex - The index of the last page to export.
     * @param {drawings.Size} [size] - Specifies the width and height of the image. If not specified, the default size will be used.
     * @param {number} [size.width] - The width of the image.
     * @param {number} [size.height] - The height of the image.
     * @returns { Promise<string[]> } - An array of Base64-encoded strings, each representing the image of a page within the specified range.
     * @private
     */
    exportAsImages(startIndex: number, endIndex: number, size?: drawings.Size): Promise<string[]>;
    /**
     * Extracts text from a specific page of the PDF document based on the supplied options.
     *
     * @param {number} pageIndex - The index of the page from which text will be extracted. The first page is indexed as 0.
     * @param {ExtractTextOption} options - A configuration option specifying the type of text extraction, such as layout preferences.
     *
     * @returns {Promise<{ textData: TextDataSettingsModel[], pageText: string }>} - A promise that resolves with an object containing:
     * - textData: An array of TextDataSettingsModel, detailing the structure and positioning of the extracted text.
     * - pageText: A concatenated string of the extracted text content from the specified page.
     */
    extractText(pageIndex: number, options: ExtractTextOption): Promise<{
        textData: TextDataSettingsModel[];
        pageText: string;
    }>;
    /**
     * Extracts text from a specified range of pages in the PDF document.
     *
     * @param {number} startIndex - The starting page index for text extraction. The first page is indexed as 0.
     * @param {number} endIndex - The ending page index for text extraction. The page at this index is also included.
     * @param {ExtractTextOption} options - The options to specify additional extraction configurations, such as layout preferences.
     *
     * @returns {Promise<{ textData: TextDataSettingsModel[], pageText: string }>} - A promise that resolves with an object containing:
     * - textData: An array of TextDataSettingsModel representing the structure and bounds of the extracted text.
     * - pageText: A concatenated string of the extracted text from the specified range of pages.
     */
    extractText(startIndex: number, endIndex: number, options: ExtractTextOption): Promise<{
        textData: TextDataSettingsModel[];
        pageText: string;
    }>;
    private getScriptPathForPlatform;
    private renderComponent;
    getModuleName(): string;
    /**
     * @private
     * @returns {Object} - Object
     */
    getLocaleConstants(): Object;
    /**
     * To modify the Json Data in ajax request.
     *
     * @param jsonData
     * @returns void
     */
    setJsonData(jsonData: any): void;
    private updateLocalStorage;
    onPropertyChanged(newProp: PdfViewerModel, oldProp: PdfViewerModel): void;
    private renderCustomerStamp;
    getPersistData(): string;
    requiredModules(): base.ModuleDeclaration[];
    /** @hidden */
    defaultLocale: Object;
    /**
     * Loads the given PDF document in the PDF viewer control
     *
     * @param  {string} document - Specifies the document name for load
     * @param  {string} password - Specifies the Given document password
     * @returns {void}
     */
    load(document: string | Uint8Array, password: string): void;
    /**
     * Loads the given PDF document internally in the PDF viewer control
     *
     * @param  {string} document - Specifies the document name for load
     * @param  {string} password - Specifies the Given document password
     * @param  {boolean} isSkipDocumentId - It indicates whether we need to skip removing the jsonDocumentId
     * @private
     * @returns {void}
     */
    loadDocInternally(document: string | Uint8Array, password: string, isSkipDocumentId?: boolean): void;
    private convertByteArrayToBase64;
    /**
     * Loads the given PDF document in the PDF viewer control
     *
     * @param {string} documentId - It describes about the document Id value
     * @param {boolean} isFileName - It ensures whether the file name is true or not
     * @param {string} fileName - It describes about the file name
     * @private
     * @returns {void}
     */
    loadDocument(documentId: string, isFileName: boolean, fileName: string): void;
    /**
     * Loads the PDF document with the document details in the PDF viewer control
     *
     * @param {any} documentDetails - It describes about the document details
     * @param {string} password - It describes about the password value
     * @private
     * @returns {void}
     */
    loadSuccess(documentDetails: any, password?: string): void;
    /**
     * Set the focus of the given element
     *
     * @param {string} elementId - It describes about the element id value
     * @private
     * @returns {void}
     */
    focusElement(elementId: string): void;
    /**
     * Downloads the PDF document being loaded in the ejPdfViewer control.
     *
     * @returns {void}
     */
    download(): void;
    /**
     * Saves the PDF document being loaded in the PDF Viewer control as blob.
     *
     * @returns {Promise<Blob>} - Promise
     */
    saveAsBlob(): Promise<Blob>;
    /**
     * updates the PDF Viewer container width and height from externally.
     *
     * @returns {void}
     */
    updateViewerContainer(): void;
    /**
     * Retrieves the information of a specified page in the viewer.
     * @param {number} pageIndex - The page index to get the details. The first page is 0.
     * @returns {PageInfo} - An instance of the PageInfo model containing the page information.
     */
    getPageInfo(pageIndex: number): PageInfoModel;
    /**
     * Specifies the message to be displayed  in the popup.
     *
     * @param {string} errorString - It describes about the error string value
     * @returns {void}
     */
    showNotificationPopup(errorString: string): void;
    /**
     * Focus a form field in a document by its field name or the field object.
     *
     * @param {any} field - It describes about the field value
     * @returns {void}
     */
    focusFormField(field: any): void;
    /**
     * Update the form field values from externally.
     *
     * @param {any} fieldValue - It describes about the field value
     * @returns {void}
     */
    updateFormFieldsValue(fieldValue: any): void;
    private getFormFieldByID;
    /**
     * @param {any} number - Gets the number value
     * @returns {number} - number
     */
    private ConvertPointToPixel;
    /**
     * @param {any} currentData - Current form field data.
     * @param {any} fieldValue - Form Field.
     * @param {any} signBounds - It contains a signatureBounds.
     * @returns {any} - Returns the updated the current Data.
     */
    private updateSignatureValue;
    private imageOnLoad;
    /**
     * 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.
     *
     * @returns {void}
     */
    destroy(): void;
    /**
     *
     * @param {AnnotationDataFormat} annotationDataFormat - Specifies the annotation data format
     * @returns {void}
     */
    /**
     * Perform export annotations action in the PDF Viewer
     *
     * @param {AnnotationDataFormat} annotationDataFormat -Gets the annotation data format
     * @returns {void}
     */
    exportAnnotation(annotationDataFormat?: AnnotationDataFormat): void;
    /**
     * Perform export annotations action in the PDF Viewer
     *
     *@param {AnnotationDataFormat} annotationDataFormat - Export the annotation based on the format.
     * @returns {Promise<object>} - promise
     */
    exportAnnotationsAsObject(annotationDataFormat?: AnnotationDataFormat): Promise<object>;
    /**
     * Export annotations and returns a base64 string for both Json and XFDF formats
     *
     * @param {AnnotationDataFormat} annotationDataFormat - Gets the annotation data format
     * @returns {Promise<string>} - promise
     */
    exportAnnotationsAsBase64String(annotationDataFormat: AnnotationDataFormat): Promise<string>;
    /**
     * Perform to add annotations in the PDF Viewer
     *
     * @param {any} annotation - Specifies the annotation
     * @returns {void}
     */
    addAnnotation(annotation: any): void;
    /**
     * Imports the form fields data into the current PDF document.
     *
     * @param {FormFieldDataFormat} formFieldDataFormat - Gets the form field data format
     * @returns {void}
     */
    /**
     * Exports the form field data in the specified data format.
     *
     * @param {string} data - The path for exporting the fields.
     * @param {FormFieldDataFormat} formFieldDataFormat - Form field data format
     * @returns {void}
     */
    exportFormFields(data?: string, formFieldDataFormat?: FormFieldDataFormat): void;
    /**
     * Returns an object which represents the form field data in the specified data format.
     *
     * @param {FormFieldDataFormat} formFieldDataFormat - Form field data format
     * @returns {Promise<object>} - promise
     */
    exportFormFieldsAsObject(formFieldDataFormat?: FormFieldDataFormat): Promise<object>;
    /**
     * reset all form fields data
     *
     * @returns {void}
     */
    resetFormFields(): void;
    /**
     * Clears data from the form fields.
     * Parameter - Specifies the form field object.
     *
     * @param {any} formField - It describes about the form field
     * @returns {void}
     */
    clearFormFields(formField?: any): void;
    /**
     * To delete the annotation Collections in the PDF Document.
     *
     * @returns {void}
     */
    deleteAnnotations(): void;
    /**
     * To retrieve the form fields in the PDF Document.
     *
     * @returns {void}
     */
    retrieveFormFields(): FormFieldModel[];
    /**
     * To update the form fields within a PDF document, but only when the FormDesigner module is either not injected or has been disabled.
     *
     * @param {any} formFields - It describes about the form field
     * @returns {void}
     */
    updateFormFields(formFields: any): void;
    /**
     * @returns {void}
     */
    private fireResourcesLoaded;
    /**
     * @param {any} JsonData - It gives the json data values
     * @private
     * @returns {void}
     */
    fireAjaxRequestInitiate(JsonData: any): void;
    /**
     * @param {any} jsonData - It gives the json data values
     * @private
     * @returns {void}
     */
    firePageRenderInitiate(jsonData: any): void;
    /**
     * @param {string} value - The button field value
     * @param {string} fieldName - It describes about the button field name
     * @param {string} id - It describes about the id value
     * @private
     * @returns {void}
     */
    fireButtonFieldClickEvent(value: string, fieldName: string, id: string): void;
    /**
     * @param {string} name - Form field name
     * @param {FormFieldModel} field - It describes about the form field model
     * @param {boolean} cancel - checks whether the cancel is true or not
     * @param {boolean} isLeftClick - becomes true on signature panel left click.
     * @private
     * @returns {Promise<void>} - returns promise
     */
    fireFormFieldClickEvent(name: string, field: FormFieldModel, cancel?: boolean, isLeftClick?: boolean): Promise<void>;
    /**
     * @param { srting} name - Get the name of the event.
     * @param {IFormField} field - Event arguments for the form field add event.
     * @param {number} pageIndex - Get the page number.
     * @private
     * @returns {void}
     */
    fireFormFieldAddEvent(name: string, field: IFormField, pageIndex: number): void;
    /**
     * @param {string} name - Get the name of the event.
     * @param {IFormField} field - Event arguments for the form field remove event.
     * @param {number} pageIndex - Get the page number.
     * @private
     * @returns {void}
     */
    fireFormFieldRemoveEvent(name: string, field: IFormField, pageIndex: number): void;
    /**
     * @param {FormFieldDoubleClickArgs} eventArgs - Returns the event args
     * @private
     * @returns {FormFieldDoubleClickArgs} - FormFieldDoubleClickArgs
     */
    fireFormFieldDoubleClickEvent(eventArgs: FormFieldDoubleClickArgs): FormFieldDoubleClickArgs;
    /**
     * @param {string} name - Get the name of the event.
     * @param {IFormField} field - Event arguments for the form field properties change event.
     * @param {number} pageIndex - Get the page number.
     * @param {boolean} isValueChanged - Specifies whether the form field value is changed or not.
     * @param {boolean} isFontFamilyChanged - Specifies whether the font family of the form field is changed or not.
     * @param {boolean} isFontSizeChanged - Specifies whether the font size of the form field is changed or not.
     * @param {boolean} isFontStyleChanged - Specifies whether the font style of the form field is changed or not.
     * @param {boolean} isColorChanged - Specifies whether the font color of the form field is changed or not.
     * @param {boolean} isBackgroundColorChanged - Specifies whether the background color of the form field is changed or not.
     * @param {boolean} isBorderColorChanged - Specifies whether the border color of the form field is changed or not.
     * @param {boolean} isBorderWidthChanged - Specifies whether the border width of the form field is changed or not.
     * @param {boolean} isAlignmentChanged - Specifies whether the text alignment of the form field is changed or not.
     * @param {boolean} isReadOnlyChanged - Specifies the Read Only of Form field is changed or not.
     * @param {boolean} isVisibilityChanged - Specifies whether the form field visibility is changed or not.
     * @param {boolean} isMaxLengthChanged - Specifies whether the max length of the form field is changed or not.
     * @param {boolean} isRequiredChanged - Specifies whether the is required option of the form field is changed or not.
     * @param {boolean} isPrintChanged - Specifies whether the print option of the form field is changed or not.
     * @param {boolean} isToolTipChanged - Specifies whether the tool tip property is changed or not.
     * @param {boolean} isCustomDataChanged - Specifies isCustomDataChanged
     * @param {any} oldValue - Specifies the old value of the form field.
     * @param {any} newValue - Specifies the new value of the form field.
     * @param {any} isNamechanged - Specifies whether the name changed property is changed or not.
     * @private
     * @returns {void}
     */
    fireFormFieldPropertiesChangeEvent(name: string, field: IFormField, pageIndex: number, isValueChanged: boolean, isFontFamilyChanged: boolean, isFontSizeChanged: boolean, isFontStyleChanged: boolean, isColorChanged: boolean, isBackgroundColorChanged: boolean, isBorderColorChanged: boolean, isBorderWidthChanged: boolean, isAlignmentChanged: boolean, isReadOnlyChanged: boolean, isVisibilityChanged: boolean, isMaxLengthChanged: boolean, isRequiredChanged: boolean, isPrintChanged: boolean, isToolTipChanged: boolean, isCustomDataChanged: boolean, oldValue?: any, newValue?: any, isNamechanged?: any): void;
    /**
     * @param {string} name - Get the name of the event.
     * @param {IFormField} field - Event arguments for the form field mouse leave event.
     * @param {number} pageIndex - Get the page number.
     * @private
     * @returns {void}
     */
    fireFormFieldMouseLeaveEvent(name: string, field: IFormField, pageIndex: number): void;
    /**
     * @param {string} name - Get the name of the event.
     * @param {IFormField} field - Event arguments for the form field mouse over event.
     * @param {number} pageIndex - Get the page number.
     * @param {number} pageX - Get the mouse over x position with respect to the page container.
     * @param {number} pageY - Get the mouse over y position with respect to the page container.
     * @param {number} X - Specifies the mouse over x position with respect to the viewer container.
     * @param {number} Y - Specifies the mouse over y position with respect to the viewer container.
     * @private
     * @returns {void}
     */
    fireFormFieldMouseoverEvent(name: string, field: IFormField, pageIndex: number, pageX: number, pageY: number, X: number, Y: number): void;
    /**
     * @param {string} name - Get the name of the event.
     * @param {IFormField} field - Event arguments for the form field move event.
     * @param {number} pageIndex - Get the page number.
     * @param {IFormFieldBound} previousPosition - Get the previous position of the form field in the page.
     * @param {IFormFieldBound} currentPosition - Current position of form field in the page.
     * @private
     * @returns {void}
     */
    fireFormFieldMoveEvent(name: string, field: IFormField, pageIndex: number, previousPosition: IFormFieldBound, currentPosition: IFormFieldBound): void;
    /**
     * @param {string} name - Get the name of the event.
     * @param {IFormField} field - Event arguments for the form field move event.
     * @param {number} pageIndex - Get the page number.
     * @param {IFormFieldBound} previousPosition - Get the previous position of the form field in the page.
     * @param {IFormFieldBound} currentPosition - Current position of form field in the page.
     * @private
     * @returns {void}
     */
    fireFormFieldResizeEvent(name: string, field: IFormField, pageIndex: number, previousPosition: IFormFieldBound, currentPosition: IFormFieldBound): void;
    /**
     * @param {string} name - Get the name of the event.
     * @param {IFormField} field - Event arguments for the form field select event.
     * @param {number} pageIndex - Get the page number.
     * @param {boolean} isProgrammaticSelection - Specifies whether the the form field is selected programmatically or by UI.
     * @private
     * @returns {void}
     */
    fireFormFieldSelectEvent(name: string, field: IFormField, pageIndex: number, isProgrammaticSelection: boolean): void;
    /**
     * @param {string} name - Get the name of the event.
     * @param {IFormField} field - Event arguments for the form field unselect event.
     * @param {number} pageIndex - Get the page number.
     * @private
     * @returns {void}
     */
    fireFormFieldUnselectEvent(name: string, field: IFormField, pageIndex: number): void;
    /**
     * @param {any} pageData - It contains the page data
     * @private
     * @returns {void}
     */
    fireDocumentLoad(pageData: any): void;
    /**
     * @param {string} fileName - Get the file name
     * @private
     * @returns {void}
     */
    fireDocumentUnload(fileName: string): void;
    /**
     * @param {boolean} isPasswordRequired - Checks whether the password required is true or not
     * @param {string} password - Get the password value
     * @private
     * @returns {void}
     */
    fireDocumentLoadFailed(isPasswordRequired: boolean, password: string): void;
    /**
     * @param {number} errorStatusCode - It Gets the error status code
     * @param {string} errorMessage - It Gets the error message
     * @param {string} action - It describes the action
     * @param {boolean} retryCount - checks whether retry count ie true or not
     * @private
     * @returns {void}
     */
    fireAjaxRequestFailed(errorStatusCode: number, errorMessage: string, action: string, retryCount?: boolean): void;
    /**
     * @param {string} action - It describes the action
     * @param {any} data - It describes the data
     * @private
     * @returns {boolean} - boolean
     */
    fireAjaxRequestSuccess(action: string, data: any): boolean;
    /**
     * @param {any} data - It describes the data
     * @private
     * @returns {any} - any
     */
    firePageRenderComplete(data: any): any;
    /**
     * @param {string} action - It describes the action
     * @private
     * @returns {void}
     */
    fireValidatedFailed(action: string): void;
    /**
     * @param {number} x - It Gets the x value
     * @param {number} y - It Gets the y value
     * @param {number} pageNumber - It Gets the page number value
     * @private
     * @returns {void}
     */
    firePageClick(x: number, y: number, pageNumber: number): void;
    /**
     * @param {number} previousPageNumber - It Gets the previous page number
     * @private
     * @returns {void}
     */
    firePageChange(previousPageNumber: number): void;
    /**
     * @private
     * @returns {void}
     */
    fireZoomChange(): void;
    /**
     * @param {string} hyperlink - Get the hyper link
     * @param  {HTMLAnchorElement} hyperlinkElement - Get the hyper link element
     * @private
     * @returns {Promise<boolean>} - Promise<boolean>
     */
    fireHyperlinkClick(hyperlink: string, hyperlinkElement: HTMLAnchorElement): Promise<boolean>;
    /**
     * @param {HTMLAnchorElement} hyperlinkElement - Gets the hyper link element
     * @private
     * @returns {void}
     */
    fireHyperlinkHover(hyperlinkElement: HTMLAnchorElement): void;
    /**
     * @param {string} fieldName - Gets the field name
     * @param {string} value - Gets the field value
     * @private
     * @returns {void}
     */
    fireFocusOutFormField(fieldName: string, value: string): void;
    /**
     * @param {number} pageNumber -- It Gets the page number value
     * @param {string} index - It Gets the index value
     * @param {AnnotationType} type - It Gets the annotation type
     * @param {any} bounds - Gets the annotation bounds
     * @param {any} settings - Gets the annotation settings
     * @param {string} textMarkupContent - Gets the text markup content
     * @param {number} tmStartIndex - Gets the text markup start index
     * @param {number} tmEndIndex - Gets the text markup end index
     * @param {ShapeLabelSettingsModel} labelSettings - Gets the label settings
     * @param {any} multiPageCollection - Gets the multi page collection
     * @param {string} customStampName - Gets the name of the custom stamp
     * @private
     * @returns {void}
     */
    fireAnnotationAdd(pageNumber: number, index: string, type: AnnotationType, bounds: any, settings: any, textMarkupContent?: string, tmStartIndex?: number, tmEndIndex?: number, labelSettings?: ShapeLabelSettingsModel, multiPageCollection?: any, customStampName?: string): void;
    /**
     * @param {number} pageNumber -- It Gets the page number value
     * @param {string} index - It Gets the index value
     * @param {AnnotationType} type - It Gets the annotation type
     * @param {any} bounds - Gets the annotation bounds
     * @param {string} textMarkupContent - Gets the text markup content
     * @param {number} tmStartIndex - Gets the text markup start index
     * @param {number} tmEndIndex - Gets the text markup end index
     * @param {any} multiPageCollection - Gets the multi page collection
     * @private
     * @returns {void}
     */
    fireAnnotationRemove(pageNumber: number, index: string, type: AnnotationType, bounds: any, textMarkupContent?: string, tmStartIndex?: number, tmEndIndex?: number, multiPageCollection?: any): void;
    /**
     * @param {string} value - Gets the value of the free text annotation
     * @private
     * @returns {void}
     */
    fireBeforeAddFreeTextAnnotation(value: string): void;
    /**
     * @param {string} id - Gets the id of the comment
     * @param {string} text - Gets the text value
     * @param {any} annotation - Gets the annotation value
     * @private
     * @returns {void}
     */
    fireCommentAdd(id: string, text: string, annotation: any): void;
    /**
     * @param {string} id - Gets the id of the comment
     * @param {string} text - Gets the text value
     * @param {any} annotation - Gets the annotation value
     * @private
     * @returns {void}
     */
    fireCommentEdit(id: string, text: string, annotation: any): void;
    /**
     * @param {string} id - Gets the id of the comment
     * @param {string} text - Gets the text value
     * @param {any} annotation - Gets the annotation value
     * @private
     * @returns {void}
     */
    fireCommentDelete(id: string, text: string, annotation: any): void;
    /**
     * @param {string} id - Gets the id of the comment
     * @param {string} text - Gets the text value
     * @param {any} annotation - Gets the annotation value
     * @private
     * @returns {void}
     */
    fireCommentSelect(id: string, text: string, annotation: any): void;
    /**
     * @param {string} id - Gets the id of the comment
     * @param {string} text - Gets the text value
     * @param {any} annotation - Gets the annotation value
     * @param {CommentStatus} statusChange - Get the value of status change
     * @private
     * @returns {void}
     */
    fireCommentStatusChanged(id: string, text: string, annotation: any, statusChange: CommentStatus): void;
    /**
     * @param {number} pageNumber -- It Gets the page number value
     * @param {string} index - It Gets the index value
     * @param {AnnotationType} type - It Gets the annotation type
     * @param {boolean} isColorChanged - check whetehr the color changed is true or not
     * @param {boolean} isOpacityChanged - check's whether the opacity changed is true or not
     * @param {boolean} isTextChanged - check's whether the text changed is true or not
     * @param {boolean} isCommentsChanged - check's whether the comments changed is true or not
     * @param {string} textMarkupContent - Gets the text markup content
     * @param {number} tmStartIndex - Gets the text markup start index
     * @param {number} tmEndIndex - Gets the text markup end index
     * @param {any} multiPageCollection - Gets the multi page collection
     * @private
     * @returns {void}
     */
    fireAnnotationPropertiesChange(pageNumber: number, index: string, type: AnnotationType, isColorChanged: boolean, isOpacityChanged: boolean, isTextChanged: boolean, isCommentsChanged: boolean, textMarkupContent?: string, tmStartIndex?: number, tmEndIndex?: number, multiPageCollection?: any): void;
    /**
     * @param {number} pageNumber - Gets the page number value
     * @param {string} index - Gets the index value
     * @param {any} type - Gets the type of the signature
     * @param {any} bounds - Gets the annotation bounda
     * @param {number} opacity - Gets the opacity value
     * @param {string} strokeColor - Gets the stroke color value
     * @param {number} thickness - Gets the thickness value
     * @param {string} data - Gets the data of the annotation
     * @private
     * @returns {void}
     */
    fireSignatureAdd(pageNumber: number, index: string, type: any, bounds: any, opacity: number, strokeColor?: string, thickness?: number, data?: string): void;
    /**
     * @param {number} pageNumber - Gets the page number value
     * @param {string} index - Gets the index value of the signature
     * @param {AnnotationType} type - Gets the annotation type
     * @param {any} bounds - Gets the bounds value of the annotation
     * @private
     * @returns {void}
     */
    fireSignatureRemove(pageNumber: number, index: string, type: AnnotationType, bounds: any): void;
    /**
     * @param {number} pageNumber - Gets the page number value
     * @param {string} id - Gets the id value of the signature
     * @param {AnnotationType} type - Gets the annotation type
     * @param {number} opacity - Gets the opacity value of the annotation
     * @param {string} strokeColor - Gets the stroke color value
     * @param {number} thickness - Gets the thickness value
     * @param {object} previousPosition - Gets the previous position values
     * @param {object} currentPosition - Gets the current position values
     * @private
     * @returns {void}
     */
    fireSignatureMove(pageNumber: number, id: string, type: AnnotationType, opacity: number, strokeColor: string, thickness: number, previousPosition: object, currentPosition: object): void;
    /**
     * @param {number} pageNumber - Gets the current page number value
     * @param {string} index - Gets the index value
     * @param {AnnotationType} type - Gets the annotation type
     * @param {boolean} isStrokeColorChanged - Check's whether the stroke color changes is true or not
     * @param {boolean} isOpacityChanged - Check's whether the opacity change is true or not
     * @param {boolean} isThicknessChanged - Check's whether the thickness change is true or not
     * @param {any} oldProp - Gets the old prop value
     * @param {any} newProp - Gets the new prop value
     * @private
     * @returns {void}
     */
    fireSignaturePropertiesChange(pageNumber: number, index: string, type: AnnotationType, isStrokeColorChanged: boolean, isOpacityChanged: boolean, isThicknessChanged: boolean, oldProp: any, newProp: any): void;
    /**
     * @param {number} pageNumber - Gets the page number value
     * @param {string} index - Gets the index value
     * @param {AnnotationType} type - Gets the annotation type
     * @param {number} opacity - Gets the opacity value
     * @param {string} strokeColor - Gets the stroke color value
     * @param {number} thickness - Gets the thickness value
     * @param {any} currentPosition - Gets the current position of the signature
     * @param {any} previousPosition - Gets the previous position of the signature
     * @private
     * @returns {void}
     */
    fireSignatureResize(pageNumber: number, index: string, type: AnnotationType, opacity: number, strokeColor: string, thickness: number, currentPosition: any, previousPosition: any): void;
    /**
     * @param {string} id - Gets the id value
     * @param {number} pageNumber - Gets the page number value
     * @param {object} signature - Gets the signature object
     * @private
     * @returns {void}
     */
    fireSignatureSelect(id: string, pageNumber: number, signature: object): void;
    /**
     * @param {string} id - Gets the id value
     * @param {number} pageNumber - Gets the page number value
     * @param {object} signature - Gets the signature object
     * @private
     * @returns {void}
     */
    fireSignatureUnselect(id: string, pageNumber: number, signature: object): void;
    /**
     * @param {string} id - Gets the annotation id value
     * @param {number} pageNumber - Gets the page number value
     * @param {any} annotation - Gets the annotation
     * @param {any} annotationCollection - Gets the annotation collection
     * @param {any} multiPageCollection - Gets the multi page collection
     * @param {boolean} isSelected - checks whether the selected is true or not
     * @param {string} annotationAddMode - Gets the annotation add mode value
     * @private
     * @returns {void}
     */
    fireAnnotationSelect(id: string, pageNumber: number, annotation: any, annotationCollection?: any, multiPageCollection?: any, isSelected?: boolean, annotationAddMode?: string): void;
    /**
     * @param {string} id - Gets the annottion id value
     * @param {number} pageNumber - Gets the page number value
     * @param {any} annotation - Gets the annotation details
     * @private
     * @returns {void}
     */
    fireAnnotationUnSelect(id: string, pageNumber: number, annotation: any): void;
    /**
     * @param {string} id - Gets the annottion id value
     * @param {number} pageNumber - Gets the page number value
     * @param {any} annotation - Gets the annotation details
     * @private
     * @returns {void}
     */
    fireAnnotationDoubleClick(id: string, pageNumber: number, annotation: any): void;
    /**
     * @param {number} pageNumber - Gets the page number value
     * @private
     * @returns {void}
     */
    fireTextSelectionStart(pageNumber: number): void;
    /**
     * @param {number} pageNumber - Gets the page number value
     * @param {string} text - Gets the selected text value
     * @param {any[]} bound - Gets the annotation bounds
     * @private
     * @returns {void}
     */
    fireTextSelectionEnd(pageNumber: number, text: string, bound: any[]): void;
    /**
     * @param {HTMLCanvasElement} canvas - Gets the canvas element
     * @param {number} index - Gets the index value
     * @private
     * @returns {void}
     */
    renderDrawing(canvas?: HTMLCanvasElement, index?: number): void;
    /**
     * @param {number} pageNumber -- It Gets the page number value
     * @param {string} index - It Gets the index value
     * @param {AnnotationType} type - It Gets the annotation type
     * @param {any} bounds - Gets the annotation bounds
     * @param {any} settings - Gets the settings of the annotation
     * @param {string} textMarkupContent - Gets the text markup content
     * @param {number} tmStartIndex - Gets the text markup start index
     * @param {number} tmEndIndex - Gets the text markup end index
     * @param {ShapeLabelSettingsModel} labelSettings - Gets the label settings
     * @param {any} multiPageCollection - Gets the multi page collection
     * @private
     * @returns {void}
     */
    fireAnnotationResize(pageNumber: number, index: string, type: AnnotationType, bounds: any, settings: any, textMarkupContent?: string, tmStartIndex?: number, tmEndIndex?: number, labelSettings?: ShapeLabelSettingsModel, multiPageCollection?: any): void;
    /**
     * @param {number} pageNumber - Gets the page number value
     * @param {string} id - Gets the id value of the annotation
     * @param {AnnotationType} type - Gets the annotation type
     * @param {any} annotationSettings - Gets the annotation settings
     * @param {object} previousPosition - Gets the previous position of the annotation
     * @param {object} currentPosition - Gets the current position of the annotation
     * @private
     * @returns {void}
     */
    fireAnnotationMoving(pageNumber: number, id: string, type: AnnotationType, annotationSettings: any, previousPosition: object, currentPosition: object): void;
    /**
     * @param {number} pageNumber - Gets the page number value
     * @param {string} id - Gets the id value of the annotation
     * @param {AnnotationType} type - Gets the annotation type
     * @param {any} annotationSettings - Gets the annotation settings
     * @param {object} previousPosition - Gets the previous position of the annotation
     * @param {object} currentPosition - Gets the current position of the annotation
     * @private
     * @returns {void}
     */
    fireAnnotationMove(pageNumber: number, id: string, type: AnnotationType, annotationSettings: any, previousPosition: object, currentPosition: object): void;
    /**
     * @param {string} id -Gets the id value of the annotation
     * @param {number} pageNumber - Gets the page number value
     * @param {AnnotationType} annotationType - Gets the annotation type
     * @param {any} bounds - Gets the bounds values of the annotation
     * @param {any} annotation - Gets the annotation
     * @param {any} currentPosition - Gets the current position of the annotation
     * @param {any} mousePosition - Gets the mouse position of the annotation
     * @private
     * @returns {void}
     */
    fireAnnotationMouseover(id: string, pageNumber: number, annotationType: AnnotationType, bounds: any, annotation: any, currentPosition: any, mousePosition: any): void;
    /**
     * @param {number} pageNumber - Gets the page number value
     * @private
     * @returns {void}
     */
    fireAnnotationMouseLeave(pageNumber: number): void;
    /**
     * @param {number} pageX - Gets the page X value
     * @param {number} pageY - Gets the page Y value
     * @private
     * @returns {void}
     */
    firePageMouseover(pageX: number, pageY: number): void;
    /**
     * @param {string} fileName - Gets the file name
     * @private
     * @returns {void}
     */
    fireDownloadStart(fileName: string): boolean;
    /**
     * @param {string} fileName - Gets the file name value
     * @param {string} downloadData - Gets the download data
     * @private
     * @returns {void}
     */
    fireDownloadEnd(fileName: string, downloadData: string): void;
    /**
     * @private
     * @returns {Promise<void>} - Promise<void>
     */
    firePrintStart(): Promise<void>;
    /**
     * @param {string} eventName - Gets the name of the event
     * @param {object} args - Gets the args object value
     * @private
     * @returns {Promise<void | object>} - Returns a promise
     */
    triggerEvent(eventName: string, args: object): Promise<void | object>;
    /**
     * @param {string} fileName - Gets the name of the file
     * @private
     * @returns {void}
     */
    firePrintEnd(fileName: string): void;
    /**
     * @param {number} pageNumber - Gets the page number value
     * @private
     * @returns {void}
     */
    fireThumbnailClick(pageNumber: number): void;
    /**
     * Custom toolbar click event.
     *
     * @param {navigations.ClickEventArgs} target - Gets the click event args value
     * @private
     * @returns {void}
     */
    fireCustomToolbarClickEvent(target: navigations.ClickEventArgs): Promise<void>;
    /**
     * @param {number} pageNumber - Gets the page number value
     * @param {number} position - Gets the position of the book mark
     * @param {string} text - Gets the text value
     * @param {string} fileName - Gets the name of the file
     * @private
     * @returns {void}
     */
    fireBookmarkClick(pageNumber: number, position: number, text: string, fileName: string): void;
    /**
     * @private
     * @returns {void}
     */
    /**
     * @param {any} exportData - Gets the exported data
     * @private
     * @returns {boolean} - Returns boolean value
     */
    fireExportStart(exportData: any): boolean;
    /**
     * @private
     * @returns {void}
     */
    /**
     * @param {any} exportData - Gets the exported data
     * @param {string} fileName - Gets the name of the file
     * @private
     * @returns {void}
     */
    fireExportSuccess(exportData: any, fileName: string): void;
    /**
     * @param {string} errorDetails - Gets the error details
     * @private
     * @returns {void}
     */
    fireImportFailed(data: any, errorDetails: string): void;
    /**
     * @param {any} data - Gets the exported data
     * @param {string} errorDetails - Gets the error details
     * @private
     * @returns {void}
     */
    fireExportFailed(data: any, errorDetails: string): void;
    /**
     * @private
     * @returns {void}
     */
    fireFormImportStarted(data: any): void;
    /**
     * @param {any} data - Gets the exported data
     * @private
     * @returns {boolean} - boolean
     */
    fireFormExportStarted(data: any): boolean;
    /**
     * @private
     * @returns {void}
     */
    fireFormImportSuccess(data: any): void;
    /**
     * @param {any} data - Gets the exported data
     * @param {string} fileName - Gets the name of the file
     * @private
     * @returns {void}
     */
    fireFormExportSuccess(data: any, fileName: string): void;
    /**
     * @param {string} errorDetails - Gets the error details
     * @private
     * @returns {void}
     */
    fireFormImportFailed(data: any, errorDetails: string): void;
    /**
     * @param {any} data - Gets the exported data
     * @param {string} errorDetails - Gets the error details
     * @private
     * @returns {void}
     */
    fireFormExportFailed(data: any, errorDetails: string): void;
    /**
     * @param {DocumentTextCollectionSettingsModel} documentCollection - Gets the document collection values
     * @private
     * @returns {void}
     */
    fireTextExtractionCompleted(documentCollection: DocumentTextCollectionSettingsModel[][]): void;
    /**
     * @param {string} searchText - Gets the search text values
     * @param {boolean} isMatchcase - Gets whether the match case is true or not
     * @private
     * @returns {void}
     */
    fireTextSearchStart(searchText: string, isMatchcase: boolean): void;
    /**
     * @param {string} searchText - Gets the search text values
     * @param {boolean} isMatchcase - Gets whether the match case is true or not
     * @private
     * @returns {void}
     */
    fireTextSearchComplete(searchText: string, isMatchcase: boolean): void;
    /**
     * @param {string} searchText - Gets the search text values
     * @param {boolean} isMatchcase - Gets whether the match case is true or not
     * @param {RectangleBoundsModel} bounds - Gets the bounds values
     * @param {number} pageNumber - Gets the page number value
     * @private
     * @returns {void}
     */
    fireTextSearchHighlight(searchText: string, isMatchcase: boolean, bounds: RectangleBoundsModel, pageNumber: number): void;
    /**
     * @param  {string} id - Gets the id value
     * @private
     * @returns {void}
     */
    firecustomContextMenuSelect(id: string): void;
    /**
     * @param  {string[]} ids - Gets the id value
     * @private
     * @returns {void}
     */
    firecustomContextMenuBeforeOpen(ids: string[]): void;
    /**
     * @param {KeyboardCommandModel} gesture - Gets the keyboard command value
     * @private
     * @returns {void}
     */
    fireKeyboardCustomCommands(gesture: KeyboardCommandModel): void;
    /**
     * @param {string} fileName - Gets the name of the file
     * @param {string} downloadData - Gets the downloaded data values
     * @private
     * @returns {boolean} - boolean
     */
    firePageOrganizerSaveAsEventArgs(fileName: string, downloadData: string): boolean;
    /**
     * @param {ClientRect} bounds - Gets the bounds values
     * @param {string} commonStyle - Gets the common style value
     * @param {HTMLElement} cavas - Gets the canvas value
     * @param {number} index - Gets the index values
     * @private
     * @returns {void}
     */
    renderAdornerLayer(bounds: ClientRect, commonStyle: string, cavas: HTMLElement, index: number): void;
    /**
     * @param {number} index - Gets the index value
     * @param {AnnotationSelectorSettingsModel} currentSelector - Gets the current selector
     * @private
     * @returns {void}
     */
    renderSelector(index: number, currentSelector?: AnnotationSelectorSettingsModel): void;
    /**
     * @param {string[]} objArray - Gets the object array values
     * @param {AnnotationSelectorSettingsModel} currentSelector - Gets the current selector
     * @param {boolean} multipleSelection - Checks whether the multiple selection is true or not
     * @param {boolean} preventUpdate - Checks whether the prevent update is true or not
     * @private
     * @returns {void}
     */
    select(objArray: string[], currentSelector?: AnnotationSelectorSettingsModel, multipleSelection?: boolean, preventUpdate?: boolean): void;
    /**
     * @param {number} pageId - Gets the page id value
     * @private
     * @returns {ZOrderPageTable} - return
     */
    getPageTable(pageId: number): ZOrderPageTable;
    /**
     * @param {number} diffX - Gets the diffX value
     * @param {number} diffY - Gets the diffY value
     * @param {number} pageIndex - Gets the page index value
     * @param {AnnotationSelectorSettingsModel} currentSelector - Gets the current selector
     * @param {PdfAnnotationBaseModel} helper - Gets the helper value
     * @private
     * @returns {boolean} - returns boolean
     */
    dragSelectedObjects(diffX: number, diffY: number, pageIndex: number, currentSelector?: AnnotationSelectorSettingsModel, helper?: PdfAnnotationBaseModel): boolean;
    /**
     * @param {number} sx - Gets the sx value
     * @param {number} sy - Gets the sy value
     * @param {drawings.PointModel} pivot - Gets the pivot value
     * @private
     * @returns {boolean} - return boolean
     */
    scaleSelectedItems(sx: number, sy: number, pivot: drawings.PointModel): boolean;
    /**
     * @param {string} endPoint - Gets the end point value
     * @param {drawings.IElement} obj - Gets the object value
     * @param {drawings.PointModel} point - Gets the point value
     * @param {drawings.PointModel} segment - Gets the segment
     * @param {drawings.IElement} target - Gets the target value
     * @param {string} targetPortId - Gets the target port id value
     * @param {AnnotationSelectorSettingsModel} currentSelector - Gets the current selector
     * @private
     * @returns {boolean} -returns boolean value
     */
    dragConnectorEnds(endPoint: string, obj: drawings.IElement, point: drawings.PointModel, segment: drawings.PointModel, target?: drawings.IElement, targetPortId?: string, currentSelector?: AnnotationSelectorSettingsModel): boolean;
    /**
     * @param {number} pageId - Gets the page id value
     * @private
     * @returns {void}
     */
    clearSelection(pageId: number): void;
    /**
     * Get page number from the user coordinates x and y.
     *
     * @param {drawings.Point} clientPoint - The user will provide a x, y coordinates.
     * @returns {number} - number
     */
    getPageNumberFromClientPoint(clientPoint: drawings.Point): number;
    /**
     * Convert user coordinates to the PDF page coordinates.
     *
     * @param {drawings.Point} clientPoint - The user should provide a x, y coordinates.
     * @param {number} pageNumber - We need to pass pageNumber.
     * @returns {drawings.Point} - point
     */
    convertClientPointToPagePoint(clientPoint: drawings.Point, pageNumber: number): drawings.Point;
    /**
     * Convert page coordinates to the user coordinates.
     *
     * @param {drawings.Point} pagePoint - The user should provide a page x, y coordinates.
     * @param {number} pageNumber - We need to pass pageNumber.
     * @returns {drawings.Point} - point
     */
    convertPagePointToClientPoint(pagePoint: drawings.Point, pageNumber: number): drawings.Point;
    /**
     * Convert page coordinates to the scrolling coordinates.
     *
     * @param {drawings.Point} pagePoint - The user should provide a page x, y coordinates.
     * @param {number} pageNumber - We need to pass pageNumber.
     * @returns {drawings.Point} - point
     */
    convertPagePointToScrollingPoint(pagePoint: drawings.Point, pageNumber: number): drawings.Point;
    /**
     * Brings the given rectangular region to view and zooms in the document to fit the region in client area (view port).
     *
     * @param {drawings.Rect} rectangle - Specifies the region in client coordinates that is to be brought to view.
     * @returns {void}
     */
    zoomToRect(rectangle: drawings.Rect): void;
    /**
     * @param {PdfAnnotationBase} obj - It describes about the object
     * @private
     * @returns {PdfAnnotationBaseModel} - Pdf annotation base model
     */
    add(obj: PdfAnnotationBase): PdfAnnotationBaseModel;
    /**
     * @param {PdfAnnotationBaseModel} obj - It describes about the object
     * @private
     * @returns {void}
     */
    remove(obj: PdfAnnotationBaseModel): void;
    /**
     * @private
     * @returns {Object} - returns object
     */
    copy(): Object;
    /**
     * @param {number} angle - It describes about the angle value
     * @param {AnnotationSelectorSettingsModel} currentSelector  - It describes about the current selector
     * @private
     * @returns {boolean} - returns boolean value
     */
    rotate(angle: number, currentSelector?: AnnotationSelectorSettingsModel): boolean;
    /**
     * @param {PdfAnnotationBaseModel[]} obj - It describes about the object
     * @private
     * @returns {void}
     */
    paste(obj?: PdfAnnotationBaseModel[]): void;
    /**
     * @private
     * @returns {void}
     */
    refresh(): void;
    /**
     * @private
     * @returns {void}
     */
    cut(): void;
    /**
     * @param {PdfAnnotationBaseModel} actualObject - It describes about the actual object value
     * @param {PdfAnnotationBaseModel} node - It describes about the node value
     * @param {boolean} isNeedToRender - It describes about the isNeedToRender value
     * @private
     * @returns {void}
     */
    nodePropertyChange(actualObject: PdfAnnotationBaseModel, node: PdfAnnotationBaseModel, isNeedToRender?: boolean): void;
    /**
     * enableServerDataBinding method
     *
     * @returns { void }  enableServerDataBinding method.
     * @param {boolean} enable - provide the node value.
     * @param {boolean} clearBulkChanges - checks whether the clear bulk changes true or not
     * @private
     */
    enableServerDataBinding(enable: boolean, clearBulkChanges?: boolean): void;
    /**
     * @param {number} tx - It describes about the tx value
     * @param {number} ty - It describes about the ty value
     * @param {number} pageIndex - It describes about the page index value
     * @param {drawings.Rect} nodeBounds - It describes about the node bounds value
     * @param {boolean} isStamp - It describes about the isStamp value
     * @param {boolean} isSkip - It describes about the isSkip value
     * @private
     * @returns {boolean} - boolean
     */
    checkBoundaryConstraints(tx: number, ty: number, pageIndex: number, nodeBounds?: drawings.Rect, isStamp?: boolean, isSkip?: boolean): boolean;
    /**
     * Adds a custom menu item to the existing menu, with optional configurations.
     *
     * @param {navigations.MenuItemModel[]} menuItems - The custom menu item to be added.
     * @param {boolean} disableDefaultItems - Optional. When set to true, this parameter disables the inclusion of default items in the menu. Defaults to false, meaning default items will be included.
     * @param {boolean} appendToEnd - Optional. When set to true, the custom menu item will be added at the bottom of the existing menu list. If false or not provided, the item will be added at the default position.
     * @returns {void}
     */
    addCustomMenu(menuItems: navigations.MenuItemModel[], disableDefaultItems?: boolean, appendToEnd?: boolean): void;
}
//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?: (CustomToolbarItemModel | ToolbarItem)[];
    /**
     * Provide option to customize the annotation toolbar of the PDF Viewer.
     */
    annotationToolbarItems?: AnnotationToolbarItem[];
    /**
     * Customize the tools to be exposed in the form designer toolbar.
     */
    formDesignerToolbarItems?: FormDesignerToolbarItem[];
}
/**
 * Interface for a class CustomToolbarItem
 */
export interface CustomToolbarItemModel {
    /**
     * Defines single/multiple classes separated by space used to specify an icon for the button.
     * The icon will be positioned before the text content if text is available, otherwise the icon alone will be rendered.
     */
    prefixIcon?: string;
    /**
     * Specifies the text to be displayed on the Toolbar button.
     */
    tooltipText?: string;
    /**
     * Specifies the unique ID to be used with button or input element of Toolbar items.
     */
    id?: string;
    /**
     * Specifies the text to be displayed on the Toolbar button.
     */
    text?: string;
    /**
     * Defines single/multiple classes (separated by space) to be used for customization of commands.
     */
    cssClass?: string;
    /**
     * Define which side(right/left) to use for customizing the icon.
     */
    align?: string;
    /**
     * Specifies the HTML element/element ID as a string that can be added as a Toolbar command.
     */
    template?: string | object | Function;
    /**
     * Specify the type or category of the Toolbar item.
     */
    type?: string;
}
/**
 * Interface for a class AjaxRequestSettings
 */
export interface AjaxRequestSettingsModel {
    /**
     * set the ajax Header values in the PdfViewer.
     */
    ajaxHeaders?: IAjaxHeaders[];
    /**
     * set the ajax credentials for the pdfviewer.
     */
    withCredentials?: boolean;
}
/**
 * Interface for a class CustomStamp
 */
export interface CustomStampModel {
    /**
     * Defines the custom stamp name to be added in stamp menu of the PDF Viewer toolbar.
     */
    customStampName?: string;
    /**
     * Defines the custom stamp images source to be added in stamp menu of the PDF Viewer toolbar.
     */
    customStampImageSource?: string;
}
/**
 * Interface for a class AnnotationToolbarSettings
 */
export interface AnnotationToolbarSettingsModel {
    /**
     * Enable or disables the tooltip of the toolbar.
     */
    showTooltip?: boolean;
    /**
     * shows only the defined options in the PdfViewer.
     */
    annotationToolbarItem?: AnnotationToolbarItem[];
}
/**
 * Interface for a class FormDesignerToolbarSettings
 */
export interface FormDesignerToolbarSettingsModel {
    /**
     * Enable or disables the tooltip of the toolbar.
     */
    showTooltip?: boolean;
    /**
     * shows only the defined options in the PdfViewer.
     */
    formDesignerToolbarItem?: FormDesignerToolbarItem[];
}
/**
 * Interface for a class SignatureFieldSettings
 */
export interface SignatureFieldSettingsModel {
    /**
     * Get or set the form field bounds.
     */
    bounds?: IFormFieldBound;
    /**
     * Get or set the name of the form field element.
     */
    name?: string;
    /**
     * Specifies whether the signature field is in read-only or read-write mode. FALSE by default.
     */
    isReadOnly?: boolean;
    /**
     * Gets or set the visibility of the form field.
     */
    visibility?: Visibility;
    /**
     * If it is set as true, consider as mandatory field in the PDF document. By default it is false.
     */
    isRequired?: boolean;
    /**
     * Get or set the boolean value to print the signature field. TRUE by default.
     */
    isPrint?: boolean;
    /**
     * Get or set the text to be displayed as tooltip. By default it is empty.
     */
    tooltip?: string;
    /**
     * Get or set the thickness of the Signature field. Default value is 1. To hide the borders, set the value to 0 (zero).
     */
    thickness?: number;
    /**
     * specifies the page number of the form field.
     */
    pageNumber?: number;
    /**
     * Specifies the properties of the signature Dialog Settings in the signature field.
     */
    signatureDialogSettings?: SignatureDialogSettingsModel;
    /**
     * Specifies the properties of the signature indicator in the signature field.
     */
    signatureIndicatorSettings?: SignatureIndicatorSettingsModel;
    /**
     * specifies the custom data of the form fields.
     */
    customData?: object;
    /**
     * Allows setting the font name for typed signatures at specific indices. The maximum number of font names is limited to 4, so the key values should range from 0 to 3.
     */
    typeSignatureFonts?: { [key: number]: string };
}
/**
 * Interface for a class InitialFieldSettings
 */
export interface InitialFieldSettingsModel {
    /**
     * Get or set the form field bounds.
     */
    bounds?: IFormFieldBound;
    /**
     * Get or set the name of the form field element.
     */
    name?: string;
    /**
     * Specifies whether the initial field is in read-only or read-write mode. FALSE by default.
     */
    isReadOnly?: boolean;
    /**
     * Gets or set the visibility of the form field.
     */
    visibility?: Visibility;
    /**
     * If it is set as true, consider as mandatory field in the PDF document. By default it is false.
     */
    isRequired?: boolean;
    /**
     * Get or set the boolean value to print the initial field. TRUE by default.
     */
    isPrint?: boolean;
    /**
     * Get or set the text to be displayed as tooltip. By default it is empty.
     */
    tooltip?: string;
    /**
     * Get or set the thickness of the Initial field. Default value is 1. To hide the borders, set the value to 0 (zero).
     */
    thickness?: number;
    /**
     * specifies the page number of the form field.
     */
    pageNumber?: number;
    /**
     * Gets or sets the initial field type of the signature field.
     */
    isInitialField?: boolean;
    /**
     * Get or set the signature dialog settings for initial field.
     */
    initialDialogSettings?: SignatureDialogSettingsModel;
    /**
     * Specifies the properties of the signature indicator in the initial field.
     */
    initialIndicatorSettings?: SignatureIndicatorSettingsModel;
    /**
     * specifies the custom data of the form fields.
     */
    customData?: object;
    /**
     * Allows setting the font name for typed initials at specific indices. The maximum number of font names is limited to 4, so the key values should range from 0 to 3.
     */
    typeInitialFonts?: { [key: number]: string };
}
/**
 * Interface for a class SignatureIndicatorSettings
 */
export interface SignatureIndicatorSettingsModel {
    /**
     * Specifies the opacity of the signature indicator.
     */
    opacity?: number;
    /**
     * Specifies the color of the signature indicator.
     */
    backgroundColor?: string;
    /**
     * Specifies the width of the signature indicator. Maximum width is half the width of the signature field.
     * Minimum width is the default value.
     */
    width?: number;
    /**
     * Specifies the height of the signature indicator. Maximum height is half the height of the signature field.
     * Minimum height is the default value.
     */
    height?: number;
    /**
     * Specifies the signature Indicator's font size. The maximum size of the font is half the height of the signature field.
     */
    fontSize?: number;
    /**
     * Specifies the text of the signature Indicator.
     */
    text?: string;
    /**
     * Specifies the color of the text of signature indicator.
     */
    color?: string;
}
/**
 * Interface for a class SignatureDialogSettings
 */
export interface SignatureDialogSettingsModel {
    /**
     * Get or set the required signature options will be enabled in the signature dialog.
     */
    displayMode?: DisplayMode;
    /**
     * Get or set a boolean value to show or hide the save signature check box option in the signature dialog. FALSE by default.
     */
    hideSaveSignature?: boolean;
}
/**
 * Interface for a class ServerActionSettings
 */
export interface ServerActionSettingsModel {
    /**
     * specifies the load action of PdfViewer.
     */
    load?: string;
    /**
     * specifies the unload action of PdfViewer.
     */
    unload?: string;
    /**
     * specifies the render action of PdfViewer.
     */
    renderPages?: string;
    /**
     * specifies the print action of PdfViewer.
     */
    print?: string;
    /**
     * specifies the download action of PdfViewer.
     */
    download?: string;
    /**
     * specifies the download action of PdfViewer.
     */
    renderThumbnail?: string;
    /**
     * specifies the annotation comments action of PdfViewer.
     */
    renderComments?: string;
    /**
     */
    /**
     * specifies the export annotations action of PdfViewer.
     */
    exportAnnotations?: string;
    /**
     */
    /**
     * specifies the export action of PdfViewer.
     */
    exportFormFields?: string;
    /**
     * specifies the export action of PdfViewer.
     */
    renderTexts?: string;
    /**
     * Specifies the password validation action of PDF Viewer.
     */
    validatePassword?: string;
}
/**
 * Interface for a class StrikethroughSettings
 */
export interface StrikethroughSettingsModel {
    /**
     * Get or set page number of the annotation.
     */
    pageNumber?: number;
    /**
     * specifies the opacity of the annotation.
     */
    opacity?: number;
    /**
     * specifies the color of the annotation.
     */
    color?: string;
    /**
     * specifies the author of the annotation.
     */
    author?: string;
    /**
     * specifies the annotation selector settings of the annotation.
     */
    annotationSelectorSettings?: AnnotationSelectorSettingsModel;
    /**
     * specifies the custom data of the annotation.
     */
    customData?: object;
    /**
     * specifies the locked action of the annotation.
     */
    isLock?: boolean;
    /**
     * Enables or disables the multi-page text markup annotation selection in UI.
     *
     * @default false
     */
    enableMultiPageAnnotation?: boolean;
    /**
     * Enable or disable the text markup resizer to modify the bounds in UI.
     *
     * @default false
     */
    enableTextMarkupResizer?: boolean;
    /**
     * Gets or sets the allowed interactions for the locked strikethrough annotations.
     * IsLock can be configured using strikethrough settings.
     *
     * @default ['None']
     */
    allowedInteractions?: AllowedInteraction[];
    /**
     * specifies whether the individual annotations are included or not in print actions.
     */
    isPrint?: boolean;
    /**
     * specifies the subject of the annotation.
     */
    subject?: string;
}
/**
 * Interface for a class UnderlineSettings
 */
export interface UnderlineSettingsModel {
    /**
     * Get or set page number of the annotation.
     */
    pageNumber?: number;
    /**
     * specifies the opacity of the annotation.
     */
    opacity?: number;
    /**
     * specifies the color of the annotation.
     */
    color?: string;
    /**
     * specifies the author of the annotation.
     */
    author?: string;
    /**
     * specifies the annotation selector settings of the annotation.
     */
    annotationSelectorSettings?: AnnotationSelectorSettingsModel;
    /**
     * specifies the custom data of the annotation.
     */
    customData?: object;
    /**
     * specifies the locked action of the annotation.
     */
    isLock?: boolean;
    /**
     * Enables or disables the multi-page text markup annotation selection in UI.
     *
     * @default false
     */
    enableMultiPageAnnotation?: boolean;
    /**
     * Enable or disable the text markup resizer to modify the bounds in UI.
     *
     * @default false
     */
    enableTextMarkupResizer?: boolean;
    /**
     * Gets or sets the allowed interactions for the locked underline annotations.
     * IsLock can be configured using underline settings.
     *
     * @default ['None']
     */
    allowedInteractions?: AllowedInteraction[];
    /**
     * specifies whether the individual annotations are included or not in print actions.
     */
    isPrint?: boolean;
    /**
     * specifies the subject of the annotation.
     */
    subject?: string;
}
/**
 * Interface for a class HighlightSettings
 */
export interface HighlightSettingsModel {
    /**
     * Get or set page number of the annotation.
     */
    pageNumber?: number;
    /**
     * specifies the opacity of the annotation.
     */
    opacity?: number;
    /**
     * specifies the color of the annotation.
     */
    color?: string;
    /**
     * specifies the author of the annotation.
     */
    author?: string;
    /**
     * specifies the annotation selector settings of the annotation.
     */
    annotationSelectorSettings?: AnnotationSelectorSettingsModel;
    /**
     * specifies the custom data of the annotation.
     */
    customData?: object;
    /**
     * specifies the locked action of the annotation.
     */
    isLock?: boolean;
    /**
     * Enables or disables the multi-page text markup annotation selection in UI.
     *
     * @default false
     */
    enableMultiPageAnnotation?: boolean;
    /**
     * Enable or disable the text markup resizer to modify the bounds in UI.
     *
     * @default false
     */
    enableTextMarkupResizer?: boolean;
    /**
     * Gets or sets the allowed interactions for the locked highlight annotations.
     * IsLock can be configured using highlight settings.
     *
     * @default ['None']
     */
    allowedInteractions?: AllowedInteraction[];
    /**
     * specifies whether the individual annotations are included or not in print actions.
     */
    isPrint?: boolean;
    /**
     * specifies the subject of the annotation.
     */
    subject?: string;
}
/**
 * Interface for a class LineSettings
 */
export interface LineSettingsModel {
    /**
     * Get or set offset of the annotation.
     */
    offset?: IPoint;
    /**
     * Get or set page number of the annotation.
     */
    pageNumber?: number;
    /**
     * specifies the opacity of the annotation.
     */
    opacity?: number;
    /**
     * specifies the fill color of the annotation.
     */
    fillColor?: string;
    /**
     * specifies the stroke color of the annotation.
     */
    strokeColor?: string;
    /**
     * specifies the author of the annotation.
     */
    author?: string;
    /**
     * specified the thickness of the annotation.
     */
    thickness?: number;
    /**
     * specifies the line head start style of the annotation.
     */
    lineHeadStartStyle?: LineHeadStyle;
    /**
     * specifies the line head end style of the annotation.
     */
    lineHeadEndStyle?: LineHeadStyle;
    /**
     * specifies the border dash array  of the annotation.
     */
    borderDashArray?: number;
    /**
     * specifies the annotation selector settings of the annotation.
     */
    annotationSelectorSettings?: AnnotationSelectorSettingsModel;
    /**
     * specifies the minHeight of the annotation.
     */
    minHeight?: number;
    /**
     * specifies the minWidth of the annotation.
     */
    minWidth?: number;
    /**
     * specifies the minHeight of the annotation.
     */
    maxHeight?: number;
    /**
     * specifies the maxWidth of the annotation.
     */
    maxWidth?: number;
    /**
     * specifies the locked action of the annotation.
     */
    isLock?: boolean;
    /**
     * specifies the custom data of the annotation.
     */
    customData?: object;
    /**
     * Gets or sets the allowed interactions for the locked highlight annotations.
     * IsLock can be configured using line settings.
     *
     * @default ['None']
     */
    allowedInteractions?: AllowedInteraction[];
    /**
     * specifies whether the individual annotations are included or not in print actions.
     */
    isPrint?: boolean;
    /**
     * specifies the subject of the annotation.
     */
    subject?: string;
}
/**
 * Interface for a class ArrowSettings
 */
export interface ArrowSettingsModel {
    /**
     * Get or set offset of the annotation.
     */
    offset?: IPoint;
    /**
     * Get or set page number of the annotation.
     */
    pageNumber?: number;
    /**
     * specifies the opacity of the annotation.
     */
    opacity?: number;
    /**
     * specifies the fill color of the annotation.
     */
    fillColor?: string;
    /**
     * specifies the stroke color of the annotation.
     */
    strokeColor?: string;
    /**
     * specifies the author of the annotation.
     */
    author?: string;
    /**
     * specified the thickness of the annotation.
     */
    thickness?: number;
    /**
     * specifies the line head start style of the annotation.
     */
    lineHeadStartStyle?: LineHeadStyle;
    /**
     * specifies the line head start style of the annotation.
     */
    lineHeadEndStyle?: LineHeadStyle;
    /**
     * specifies the border dash array  of the annotation.
     */
    borderDashArray?: number;
    /**
     * specifies the annotation selector settings of the annotation.
     */
    annotationSelectorSettings?: AnnotationSelectorSettingsModel;
    /**
     * specifies the minHeight of the annotation.
     */
    minHeight?: number;
    /**
     * specifies the minWidth of the annotation.
     */
    minWidth?: number;
    /**
     * specifies the minHeight of the annotation.
     */
    maxHeight?: number;
    /**
     * specifies the maxWidth of the annotation.
     */
    maxWidth?: number;
    /**
     * specifies the locked action of the annotation.
     */
    isLock?: boolean;
    /**
     * specifies the custom data of the annotation.
     */
    customData?: object;
    /**
     * Gets or sets the allowed interactions for the locked arrow annotations.
     * IsLock can be configured using arrow settings.
     *
     * @default ['None']
     */
    allowedInteractions?: AllowedInteraction[];
    /**
     * specifies whether the individual annotations are included or not in print actions.
     */
    isPrint?: boolean;
    /**
     * specifies the subject of the annotation.
     */
    subject?: string;
}
/**
 * Interface for a class RectangleSettings
 */
export interface RectangleSettingsModel {
    /**
     * Get or set offset of the annotation.
     */
    offset?: IPoint;
    /**
     * Get or set page number of the annotation.
     */
    pageNumber?: number;
    /**
     * specifies the width of the annotation.
     */
    width?: number;
    /**
     * specifies the height of the annotation.
     */
    height?: number;
    /**
     * specifies the opacity of the annotation.
     */
    opacity?: number;
    /**
     * specifies the fill color of the annotation.
     */
    fillColor?: string;
    /**
     * specifies the stroke color of the annotation.
     */
    strokeColor?: string;
    /**
     * specifies the author of the annotation.
     */
    author?: string;
    /**
     * specified the thickness of the annotation.
     */
    thickness?: number;
    /**
     * specifies the annotation selector settings of the annotation.
     */
    annotationSelectorSettings?: AnnotationSelectorSettingsModel;
    /**
     * specifies the minHeight of the annotation.
     */
    minHeight?: number;
    /**
     * specifies the minWidth of the annotation.
     */
    minWidth?: number;
    /**
     * specifies the minHeight of the annotation.
     */
    maxHeight?: number;
    /**
     * specifies the maxWidth of the annotation.
     */
    maxWidth?: number;
    /**
     * specifies the locked action of the annotation.
     */
    isLock?: boolean;
    /**
     * specifies the custom data of the annotation.
     */
    customData?: object;
    /**
     * Gets or sets the allowed interactions for the locked rectangle annotations.
     * IsLock can be configured using rectangle settings.
     *
     * @default ['None']
     */
    allowedInteractions?: AllowedInteraction[];
    /**
     * specifies whether the individual annotations are included or not in print actions.
     */
    isPrint?: boolean;
    /**
     * specifies the subject of the annotation.
     */
    subject?: string;
}
/**
 * Interface for a class CircleSettings
 */
export interface CircleSettingsModel {
    /**
     * Get or set offset of the annotation.
     */
    offset?: IPoint;
    /**
     * Get or set page number of the annotation.
     */
    pageNumber?: number;
    /**
     * specifies the width of the annotation.
     */
    width?: number;
    /**
     * specifies the height of the annotation.
     */
    height?: number;
    /**
     * specifies the opacity of the annotation.
     */
    opacity?: number;
    /**
     * specifies the fill color of the annotation.
     */
    fillColor?: string;
    /**
     * specifies the stroke color of the annotation.
     */
    strokeColor?: string;
    /**
     * specifies the author of the annotation.
     */
    author?: string;
    /**
     * specified the thickness of the annotation.
     */
    thickness?: number;
    /**
     * specifies the annotation selector settings of the annotation.
     */
    annotationSelectorSettings?: AnnotationSelectorSettingsModel;
    /**
     * specifies the minHeight of the annotation.
     */
    minHeight?: number;
    /**
     * specifies the minWidth of the annotation.
     */
    minWidth?: number;
    /**
     * specifies the minHeight of the annotation.
     */
    maxHeight?: number;
    /**
     * specifies the maxWidth of the annotation.
     */
    maxWidth?: number;
    /**
     * specifies the locked action of the annotation.
     */
    isLock?: boolean;
    /**
     * specifies the custom data of the annotation.
     */
    customData?: object;
    /**
     * Gets or sets the allowed interactions for the locked circle annotations.
     * IsLock can be configured using circle settings.
     *
     * @default ['None']
     */
    allowedInteractions?: AllowedInteraction[];
    /**
     * specifies whether the individual annotations are included or not in print actions.
     */
    isPrint?: boolean;
    /**
     * specifies the subject of the annotation.
     */
    subject?: string;
}
/**
 * Interface for a class ShapeLabelSettings
 */
export interface ShapeLabelSettingsModel {
    /**
     * specifies the opacity of the label.
     */
    opacity?: number;
    /**
     * specifies the fill color of the label.
     */
    fillColor?: string;
    /**
     * specifies the border color of the label.
     */
    fontColor?: string;
    /**
     * specifies the font size of the label.
     */
    fontSize?: number;
    /**
     * specifies the max-width of the label.
     */
    fontFamily?: string;
    /**
     * specifies the default content of the label.
     */
    labelContent?: string;
    /**
     * specifies the default content of the label.
     */
    notes?: string;
}
/**
 * Interface for a class PolygonSettings
 */
export interface PolygonSettingsModel {
    /**
     * Get or set offset of the annotation.
     */
    offset?: IPoint;
    /**
     * Get or set page number of the annotation.
     */
    pageNumber?: number;
    /**
     * specifies the opacity of the annotation.
     */
    opacity?: number;
    /**
     * specifies the fill color of the annotation.
     */
    fillColor?: string;
    /**
     * specifies the stroke color of the annotation.
     */
    strokeColor?: string;
    /**
     * specifies the author of the annotation.
     */
    author?: string;
    /**
     * specified the thickness of the annotation.
     */
    thickness?: number;
    /**
     * specifies the annotation selector settings of the annotation.
     */
    annotationSelectorSettings?: AnnotationSelectorSettingsModel;
    /**
     * specifies the minHeight of the annotation.
     */
    minHeight?: number;
    /**
     * specifies the minWidth of the annotation.
     */
    minWidth?: number;
    /**
     * specifies the minHeight of the annotation.
     */
    maxHeight?: number;
    /**
     * specifies the maxWidth of the annotation.
     */
    maxWidth?: number;
    /**
     * specifies the locked action of the annotation.
     */
    isLock?: boolean;
    /**
     * specifies the custom data of the annotation.
     */
    customData?: object;
    /**
     * Gets or sets the allowed interactions for the locked polygon annotations.
     * IsLock can be configured using polygon settings.
     *
     * @default ['None']
     */
    allowedInteractions?: AllowedInteraction[];
    /**
     * specifies whether the individual annotations are included or not in print actions.
     */
    isPrint?: boolean;
    /**
     * specifies the subject of the annotation.
     */
    subject?: string;
}
/**
 * Interface for a class StampSettings
 */
export interface StampSettingsModel {
    /**
     * Get or set offset of the annotation.
     */
    offset?: IPoint;
    /**
     * Get or set page number of the annotation.
     */
    pageNumber?: number;
    /**
     * specifies the width of the annotation.
     */
    width?: number;
    /**
     * specifies the height of the annotation.
     */
    height?: number;
    /**
     * specifies the opacity of the annotation.
     */
    opacity?: number;
    /**
     * specifies the author of the annotation.
     */
    author?: string;
    /**
     * specifies the annotation selector settings of the annotation.
     */
    annotationSelectorSettings?: AnnotationSelectorSettingsModel;
    /**
     * specifies the minHeight of the annotation.
     */
    minHeight?: number;
    /**
     * specifies the minWidth of the annotation.
     */
    minWidth?: number;
    /**
     * specifies the minHeight of the annotation.
     */
    maxHeight?: number;
    /**
     * specifies the maxWidth of the annotation.
     */
    maxWidth?: number;
    /**
     * specifies the locked action of the annotation.
     */
    isLock?: boolean;
    /**
     * specifies the custom data of the annotation.
     */
    customData?: object;
    /**
     * Provide option to define the required dynamic stamp items to be displayed in annotation toolbar menu.
     */
    dynamicStamps?: DynamicStampItem[];
    /**
     * Provide option to define the required sign stamp items to be displayed in annotation toolbar menu.
     */
    signStamps?: SignStampItem[];
    /**
     * Provide option to define the required standard business stamp items to be displayed in annotation toolbar menu.
     */
    standardBusinessStamps?: StandardBusinessStampItem[];
    /**
     * Gets or sets the allowed interactions for the locked stamp annotations.
     * IsLock can be configured using stamp settings.
     *
     * @default ['None']
     */
    allowedInteractions?: AllowedInteraction[];
    /**
     * specifies whether the individual annotations are included or not in print actions.
     */
    isPrint?: boolean;
    /**
     * specifies the subject of the annotation.
     */
    subject?: string;
}
/**
 * Interface for a class CustomStampSettings
 */
export interface CustomStampSettingsModel {
    /**
     * Get or set offset of the annotation.
     */
    offset?: IPoint;
    /**
     * Get or set page number of the annotation.
     */
    pageNumber?: number;
    /**
     * specifies the opacity of the annotation.
     */
    opacity?: number;
    /**
     * specifies the author of the annotation.
     */
    author?: string;
    /**
     * specifies the width of the annotation.
     */
    width?: number;
    /**
     * specifies the height of the annotation.
     */
    height?: number;
    /**
     * specifies the left position of the annotation.
     */
    left?: number;
    /**
     * specifies the top position of the annotation.
     */
    top?: number;
    /**
     * Specifies to maintain the newly added custom stamp element in the menu items.
     */
    isAddToMenu?: boolean;
    /**
     * specifies the minHeight of the annotation.
     */
    minHeight?: number;
    /**
     * specifies the minWidth of the annotation.
     */
    minWidth?: number;
    /**
     * specifies the minHeight of the annotation.
     */
    maxHeight?: number;
    /**
     * specifies the maxWidth of the annotation.
     */
    maxWidth?: number;
    /**
     * specifies the locked action of the annotation.
     */
    isLock?: boolean;
    /**
     * Define the custom image path and it's name to be displayed in the menu items.
     */
    customStamps?: CustomStampModel[];
    /**
     * If it is set as false. then the custom stamp items won't be visible in the annotation toolbar stamp menu items.
     */
    enableCustomStamp?: boolean;
    /**
     * Gets or sets the allowed interactions for the locked custom stamp annotations.
     * IsLock can be configured using custom stamp settings.
     *
     * @default ['None']
     */
    allowedInteractions?: AllowedInteraction[];
    /**
     * specifies whether the individual annotations are included or not in print actions.
     */
    isPrint?: boolean;
    /**
     * specifies the subject of the annotation.
     */
    subject?: string;
}
/**
 * Interface for a class DistanceSettings
 */
export interface DistanceSettingsModel {
    /**
     * Get or set offset of the annotation.
     */
    offset?: IPoint;
    /**
     * Get or set page number of the annotation.
     */
    pageNumber?: number;
    /**
     * specifies the opacity of the annotation.
     */
    opacity?: number;
    /**
     * specifies the fill color of the annotation.
     */
    fillColor?: string;
    /**
     * specifies the stroke color of the annotation.
     */
    strokeColor?: string;
    /**
     * specifies the author of the annotation.
     */
    author?: string;
    /**
     * specified the thickness of the annotation.
     */
    thickness?: number;
    /**
     * specifies the line head start style of the annotation.
     */
    lineHeadStartStyle?: LineHeadStyle;
    /**
     * specifies the line head start style of the annotation.
     */
    lineHeadEndStyle?: LineHeadStyle;
    /**
     * specifies the border dash array  of the annotation.
     */
    borderDashArray?: number;
    /**
     * specifies the annotation selector settings of the annotation.
     */
    annotationSelectorSettings?: AnnotationSelectorSettingsModel;
    /**
     * specifies the minHeight of the annotation.
     */
    minHeight?: number;
    /**
     * specifies the minWidth of the annotation.
     */
    minWidth?: number;
    /**
     * specifies the minHeight of the annotation.
     */
    maxHeight?: number;
    /**
     * specifies the maxWidth of the annotation.
     */
    maxWidth?: number;
    /**
     * specifies the locked action of the annotation.
     */
    isLock?: boolean;
    /**
     * specifies the custom data of the annotation.
     */
    customData?: object;
    /**
     * specifies the leader length of the annotation.
     */
    leaderLength?: number;
    /**
     * Defines the cursor type for distance annotation.
     */
    resizeCursorType?: CursorType;
    /**
     * Gets or sets the allowed interactions for the locked distance annotations.
     * IsLock can be configured using distance settings.
     *
     * @default ['None']
     */
    allowedInteractions?: AllowedInteraction[];
    /**
     * specifies whether the individual annotations are included or not in print actions.
     */
    isPrint?: boolean;
    /**
     * specifies the subject of the annotation.
     */
    subject?: string;
}
/**
 * Interface for a class PerimeterSettings
 */
export interface PerimeterSettingsModel {
    /**
     * Get or set offset of the annotation.
     */
    offset?: IPoint;
    /**
     * Get or set page number of the annotation.
     */
    pageNumber?: number;
    /**
     * specifies the opacity of the annotation.
     */
    opacity?: number;
    /**
     * specifies the fill color of the annotation.
     */
    fillColor?: string;
    /**
     * specifies the stroke color of the annotation.
     */
    strokeColor?: string;
    /**
     * specifies the author of the annotation.
     */
    author?: string;
    /**
     * specified the thickness of the annotation.
     */
    thickness?: number;
    /**
     * specifies the line head start style of the annotation.
     */
    lineHeadStartStyle?: LineHeadStyle;
    /**
     * specifies the line head start style of the annotation.
     */
    lineHeadEndStyle?: LineHeadStyle;
    /**
     * specifies the border dash array  of the annotation.
     */
    borderDashArray?: number;
    /**
     * specifies the minHeight of the annotation.
     */
    minHeight?: number;
    /**
     * specifies the minWidth of the annotation.
     */
    minWidth?: number;
    /**
     * specifies the minHeight of the annotation.
     */
    maxHeight?: number;
    /**
     * specifies the maxWidth of the annotation.
     */
    maxWidth?: number;
    /**
     * specifies the locked action of the annotation.
     */
    isLock?: boolean;
    /**
     * specifies the annotation selector settings of the annotation.
     */
    annotationSelectorSettings?: AnnotationSelectorSettingsModel;
    /**
     * Gets or sets the allowed interactions for the locked perimeter annotations.
     * IsLock can be configured using perimeter settings.
     *
     * @default ['None']
     */
    allowedInteractions?: AllowedInteraction[];
    /**
     * specifies whether the individual annotations are included or not in print actions.
     */
    isPrint?: boolean;
    /**
     * specifies the subject of the annotation.
     */
    subject?: string;
}
/**
 * Interface for a class AreaSettings
 */
export interface AreaSettingsModel {
    /**
     * Get or set offset of the annotation.
     */
    offset?: IPoint;
    /**
     * Get or set page number of the annotation.
     */
    pageNumber?: number;
    /**
     * specifies the opacity of the annotation.
     */
    opacity?: number;
    /**
     * specifies the fill color of the annotation.
     */
    fillColor?: string;
    /**
     * specifies the stroke color of the annotation.
     */
    strokeColor?: string;
    /**
     * specifies the author of the annotation.
     */
    author?: string;
    /**
     * specified the thickness of the annotation.
     */
    thickness?: number;
    /**
     * specifies the minHeight of the annotation.
     */
    minHeight?: number;
    /**
     * specifies the minWidth of the annotation.
     */
    minWidth?: number;
    /**
     * specifies the minHeight of the annotation.
     */
    maxHeight?: number;
    /**
     * specifies the maxWidth of the annotation.
     */
    maxWidth?: number;
    /**
     * specifies the locked action of the annotation.
     */
    isLock?: boolean;
    /**
     * specifies the annotation selector settings of the annotation.
     */
    annotationSelectorSettings?: AnnotationSelectorSettingsModel;
    /**
     * Gets or sets the allowed interactions for the locked area annotations.
     * IsLock can be configured using area settings.
     *
     * @default ['None']
     */
    allowedInteractions?: AllowedInteraction[];
    /**
     * specifies whether the individual annotations are included or not in print actions.
     */
    isPrint?: boolean;
    /**
     * specifies the subject of the annotation.
     */
    subject?: string;
}
/**
 * Interface for a class RadiusSettings
 */
export interface RadiusSettingsModel {
    /**
     * Get or set offset of the annotation.
     */
    offset?: IPoint;
    /**
     * Get or set page number of the annotation.
     */
    pageNumber?: number;
    /**
     * specifies the width of the annotation.
     */
    width?: number;
    /**
     * specifies the height of the annotation.
     */
    height?: number;
    /**
     * specifies the opacity of the annotation.
     */
    opacity?: number;
    /**
     * specifies the fill color of the annotation.
     */
    fillColor?: string;
    /**
     * specifies the stroke color of the annotation.
     */
    strokeColor?: string;
    /**
     * specifies the author of the annotation.
     */
    author?: string;
    /**
     * specified the thickness of the annotation.
     */
    thickness?: number;
    /**
     * specifies the annotation selector settings of the annotation.
     */
    annotationSelectorSettings?: AnnotationSelectorSettingsModel;
    /**
     * specifies the minHeight of the annotation.
     */
    minHeight?: number;
    /**
     * specifies the minWidth of the annotation.
     */
    minWidth?: number;
    /**
     * specifies the minHeight of the annotation.
     */
    maxHeight?: number;
    /**
     * specifies the maxWidth of the annotation.
     */
    maxWidth?: number;
    /**
     * specifies the locked action of the annotation.
     */
    isLock?: boolean;
    /**
     * specifies the custom data of the annotation.
     */
    customData?: object;
    /**
     * Gets or sets the allowed interactions for the locked radius annotations.
     * IsLock can be configured using area settings.
     *
     * @default ['None']
     */
    allowedInteractions?: AllowedInteraction[];
    /**
     * specifies whether the individual annotations are included or not in print actions.
     */
    isPrint?: boolean;
    /**
     * specifies the subject of the annotation.
     */
    subject?: string;
}
/**
 * Interface for a class VolumeSettings
 */
export interface VolumeSettingsModel {
    /**
     * Get or set offset of the annotation.
     */
    offset?: IPoint;
    /**
     * Get or set page number of the annotation.
     */
    pageNumber?: number;
    /**
     * specifies the opacity of the annotation.
     */
    opacity?: number;
    /**
     * specifies the fill color of the annotation.
     */
    fillColor?: string;
    /**
     * specifies the stroke color of the annotation.
     */
    strokeColor?: string;
    /**
     * specifies the author of the annotation.
     */
    author?: string;
    /**
     * specified the thickness of the annotation.
     */
    thickness?: number;
    /**
     * specifies the minHeight of the annotation.
     */
    minHeight?: number;
    /**
     * specifies the minWidth of the annotation.
     */
    minWidth?: number;
    /**
     * specifies the minHeight of the annotation.
     */
    maxHeight?: number;
    /**
     * specifies the maxWidth of the annotation.
     */
    maxWidth?: number;
    /**
     * specifies the locked action of the annotation.
     */
    isLock?: boolean;
    /**
     * specifies the annotation selector settings of the annotation.
     */
    annotationSelectorSettings?: AnnotationSelectorSettingsModel;
    /**
     * Gets or sets the allowed interactions for the locked volume annotations.
     * IsLock can be configured using volume settings.
     *
     * @default ['None']
     */
    allowedInteractions?: AllowedInteraction[];
    /**
     * specifies whether the individual annotations are included or not in print actions.
     */
    isPrint?: boolean;
    /**
     * specifies the subject of the annotation.
     */
    subject?: string;
}
/**
 * Interface for a class InkAnnotationSettings
 */
export interface InkAnnotationSettingsModel {
    /**
     * Get or set offset of the annotation.
     */
    offset?: IPoint;
    /**
     * Get or set page number of the annotation.
     */
    pageNumber?: number;
    /**
     * specifies the width of the annotation.
     */
    width?: number;
    /**
     * specifies the height of the annotation.
     */
    height?: number;
    /**
     * Gets or sets the path of the ink annotation.
     */
    path?: string;
    /**
     * Sets the opacity value for ink annotation.By default value is 1. It range varies from 0 to 1.
     */
    opacity?: number;
    /**
     * Sets the stroke color for ink annotation.By default values is #FF0000.
     */
    strokeColor?: string;
    /**
     * Sets the thickness for the ink annotation. By default value is 1. It range varies from 1 to 10.
     */
    thickness?: number;
    /**
     * Define the default option to customize the selector for ink annotation.
     */
    annotationSelectorSettings?: AnnotationSelectorSettingsModel;
    /**
     * If it is set as true, can't interact with annotation. Otherwise can interact the annotations. By default it is false.
     */
    isLock?: boolean;
    /**
     * specifies the author of the annotation.
     */
    author?: string;
    /**
     * Gets or sets the allowed interactions for the locked ink annotations.
     * IsLock can be configured using ink settings.
     *
     * @default ['None']
     */
    allowedInteractions?: AllowedInteraction[];
    /**
     * specifies the custom data of the annotation
     */
    customData?: object;
    /**
     * specifies whether the individual annotations are included or not in print actions.
     */
    isPrint?: boolean;
    /**
     * specifies the subject of the annotation.
     */
    subject?: string;
}
/**
 * Interface for a class StickyNotesSettings
 */
export interface StickyNotesSettingsModel {
    /**
     * Get or set offset of the annotation.
     */
    offset?: IPoint;
    /**
     * Get or set page number of the annotation.
     */
    pageNumber?: number;
    /**
     * specifies the author of the annotation.
     */
    author?: string;
    /**
     * specifies the opacity of the annotation.
     */
    opacity?: number;
    /**
     * specifies the annotation selector settings of the annotation.
     */
    annotationSelectorSettings?: AnnotationSelectorSettingsModel;
    /**
     * specifies the custom data of the annotation.
     */
    customData?: object;
    /**
     * specifies the lock action of the annotation.
     */
    isLock?: boolean;
    /**
     * Gets or sets the allowed interactions for the locked sticky notes annotations.
     * IsLock can be configured using sticky notes settings.
     *
     * @default ['None']
     */
    allowedInteractions?: AllowedInteraction[];
    /**
     * specifies whether the individual annotations are included or not in print actions.
     */
    isPrint?: boolean;
    /**
     * specifies the subject of the annotation.
     */
    subject?: string;
}
/**
 * Interface for a class MeasurementSettings
 */
export interface MeasurementSettingsModel {
    /**
     * specifies the scale ratio of the annotation.
     */
    scaleRatio?: number;
    /**
     * specifies the unit of the annotation.
     */
    conversionUnit?: CalibrationUnit;
    /**
     * specifies the unit of the annotation.
     */
    displayUnit?: CalibrationUnit;
    /**
     * specifies the depth of the volume annotation.
     */
    depth?: number;
}
/**
 * Interface for a class FreeTextSettings
 */
export interface FreeTextSettingsModel {
    /**
     * Get or set offset of the annotation.
     */
    offset?: IPoint;
    /**
     * Get or set page number of the annotation.
     */
    pageNumber?: number;
    /**
     * specifies the opacity of the annotation.
     */
    opacity?: number;
    /**
     * specifies the border color of the annotation.
     */
    borderColor?: string;
    /**
     * specifies the border with of the annotation.
     */
    borderWidth?: number;
    /**
     * specifies the border style of the annotation.
     */
    borderStyle?: string;
    /**
     * specifies the author of the annotation.
     */
    author?: string;
    /**
     * specifies the background fill color of the annotation.
     */
    fillColor?: string;
    /**
     * specifies the text box font size of the annotation.
     */
    fontSize?: number;
    /**
     * specifies the width of the annotation.
     */
    width?: number;
    /**
     * specifies the height of the annotation.
     */
    height?: number;
    /**
     * specifies the text box font color of the annotation.
     */
    fontColor?: string;
    /**
     * specifies the text box font family of the annotation.
     */
    fontFamily?: string;
    /**
     * setting the default text for annotation.
     */
    defaultText?: string;
    /**
     * applying the font styles for the text.
     */
    fontStyle?: FontStyle;
    /**
     * Aligning the text in the annotation.
     */
    textAlignment?: TextAlignment;
    /**
     * specifies the allow text only action of the free text annotation.
     */
    allowEditTextOnly?: boolean;
    /**
     * specifies the annotation selector settings of the annotation.
     */
    annotationSelectorSettings?: AnnotationSelectorSettingsModel;
    /**
     * specifies the minHeight of the annotation.
     */
    minHeight?: number;
    /**
     * specifies the minWidth of the annotation.
     */
    minWidth?: number;
    /**
     * specifies the minHeight of the annotation.
     */
    maxHeight?: number;
    /**
     * specifies the maxWidth of the annotation.
     */
    maxWidth?: number;
    /**
     * specifies the locked action of the annotation.
     */
    isLock?: boolean;
    /**
     * specifies the custom data of the annotation.
     */
    customData?: object;
    /**
     * Gets or sets the allowed interactions for the locked free text annotations.
     * IsLock can be configured using free text settings.
     *
     * @default ['None']
     */
    allowedInteractions?: AllowedInteraction[];
    /**
     * specifies whether the individual annotations are included or not in print actions.
     */
    isPrint?: boolean;
    /**
     * Allow to edit the FreeText annotation. FALSE, by default.
     */
    isReadonly?: boolean;
    /**
     * Enable or disable auto fit mode for FreeText annotation in the Pdfviewer. FALSE by default.
     */
    enableAutoFit?: boolean;
    /**
     * specifies the subject of the annotation.
     */
    subject?: string;
}
/**
 * Interface for a class AnnotationSelectorSettings
 */
export interface AnnotationSelectorSettingsModel {
    /**
     * Specifies the selection border color.
     */
    selectionBorderColor?: string;
    /**
     * Specifies the border color of the resizer.
     *
     * @ignore
     */
    resizerBorderColor?: string;
    /**
     * Specifies the fill color of the resizer.
     *
     * @ignore
     */
    resizerFillColor?: string;
    /**
     * Specifies the size of the resizer.
     *
     * @ignore
     */
    resizerSize?: number;
    /**
     * Specifies the thickness of the border of selection.
     */
    selectionBorderThickness?: number;
    /**
     * Specifies the shape of the resizer.
     */
    resizerShape?: AnnotationResizerShape;
    /**
     * Specifies the border dash array of the selection.
     */
    selectorLineDashArray?: number[];
    /**
     * Specifies the location of the resizer.
     */
    resizerLocation?: AnnotationResizerLocation;
    /**
     * specifies the cursor type of resizer
     */
    resizerCursorType?: CursorType;
}
/**
 * Interface for a class TextSearchColorSettings
 */
export interface TextSearchColorSettingsModel {
    /**
     * Gets or Sets the color of the current occurrence of the text searched string.
     */
    searchHighlightColor?: string;
    /**
     * Gets or Sets the color of the other occurrence of the text searched string.
     */
    searchColor?: string;
}
/**
 * Interface for a class PageInfo
 */
export interface PageInfoModel {
    /**
     * The 0-based index of the page.
     */
    pageIndex?: number;
    /**
     * The width of the page in points.
     */
    width?: number;
    /**
     * The height of the page in points.
     */
    height?: number;
    /**
     * The rotation angle of the page in degrees.
     */
    rotation?: number;
}
/**
 * Interface for a class HandWrittenSignatureSettings
 */
export interface HandWrittenSignatureSettingsModel {
    /**
     * specifies the opacity of the annotation.
     */
    opacity?: number;
    /**
     * specifies the stroke color of the annotation.
     */
    strokeColor?: string;
    /**
     * specified the thickness of the annotation.
     */
    thickness?: number;
    /**
     * specified the width of the annotation.
     */
    width?: number;
    /**
     * specified the height of the annotation.
     */
    height?: number;
    /**
     * Gets or sets the save signature limit of the signature. By default value is 1 and maximum limit is 5.
     */
    saveSignatureLimit?: number;
    /**
     * Gets or sets the save initial limit of the initial. By default value is 1 and maximum limit is 5.
     */
    saveInitialLimit?: number;
    /**
     * Provide option to define the required signature items to be displayed in signature menu.
     */
    signatureItem?: SignatureItem[];
    /**
     * Options to set the type signature font name with respective index and maximum font name limit is 4 so key value should be 0 to 3.
     */
    typeSignatureFonts?: { [key: number]: string };
    /**
     * specifies the annotation selector settings of the annotation.
     */
    annotationSelectorSettings?: AnnotationSelectorSettingsModel;
    /**
     * Get or set the Signature DialogSettings for Handwritten signature.
     */
    signatureDialogSettings?: SignatureDialogSettingsModel;
    /**
     * Get or set the initialDialogSettings for Handwritten initial.
     */
    initialDialogSettings?: SignatureDialogSettingsModel;
    /**
     * Gets or sets the signature offset.
     *
     * @default {x:0,y:0}
     */
    offset?: IPoint;
    /**
     * Gets or sets the signature page number.
     *
     * @default 1
     */
    pageNumber?: number;
    /**
     * Gets or sets the path of the signature.
     *
     * @default ''
     */
    path?: string;
    /**
     * Gets or sets the font family for text signature.
     *
     * @default 'Helvetica'
     */
    fontFamily?: string;
    /**
     * Allows saving of programmatically added signatures.
     *
     * @default false
     */
    canSave?: boolean;
}
/**
 * Interface for a class AnnotationSettings
 */
export interface AnnotationSettingsModel {
    /**
     * specifies the author of the annotation.
     */
    author?: string;
    /**
     * specifies the minHeight of the annotation.
     */
    minHeight?: number;
    /**
     * specifies the minWidth of the annotation.
     */
    minWidth?: number;
    /**
     * specifies the minHeight of the annotation.
     */
    maxHeight?: number;
    /**
     * specifies the maxWidth of the annotation.
     */
    maxWidth?: number;
    /**
     * specifies the locked action of the annotation.
     */
    isLock?: boolean;
    /**
     * specifies whether the annotations are included or not in print actions.
     */
    skipPrint?: boolean;
    /**
     * specifies whether the annotations are included or not in download actions.
     */
    skipDownload?: boolean;
    /**
     * specifies the custom data of the annotation.
     */
    customData?: object;
    /**
     * Gets or sets the allowed interactions for the locked annotations.
     * IsLock can be configured using annotation settings.
     *
     * @default ['None']
     */
    allowedInteractions?: AllowedInteraction[];
    /**
     * specifies the subject of the annotation.
     */
    subject?: string;
}
/**
 * Interface for a class DocumentTextCollectionSettings
 */
export interface DocumentTextCollectionSettingsModel {
    /**
     * specifies the text data of the document.
     */
    textData?: TextDataSettingsModel[];
    /**
     * specifies the page text of the document.
     */
    pageText?: string;
    /**
     * specifies the page size of the document.
     */
    pageSize?: number;
}
/**
 * Interface for a class TextDataSettings
 */
export interface TextDataSettingsModel {
    /**
     * specifies the bounds of the rectangle.
     */
    bounds?: RectangleBoundsModel;
    /**
     * specifies the text of the document.
     */
    text?: string;
}
/**
 * Interface for a class RectangleBounds
 */
export interface RectangleBoundsModel {
    /**
     * specifies the size of the rectangle.
     */
    size?: number;
    /**
     * specifies the x co-ordinate of the upper-left corner of the rectangle.
     */
    x?: number;
    /**
     * specifies the y co-ordinate of the upper-left corner of the rectangle.
     */
    y?: number;
    /**
     * specifies the width of the rectangle.
     */
    width?: number;
    /**
     * specifies the height of the rectangle.
     */
    height?: number;
    /**
     * specifies the left value of the rectangle.
     */
    left?: number;
    /**
     * specifies the top value of the rectangle.
     */
    top?: number;
    /**
     * specifies the right of the rectangle.
     */
    right?: number;
    /**
     * specifies the bottom value of the rectangle.
     */
    bottom?: number;
    /**
     * Returns true if height and width of the rectangle is zero.
     *
     * @default 'false'
     */
    isEmpty?: boolean;
}
/**
 * Interface for a class TileRenderingSettings
 */
export interface TileRenderingSettingsModel {
    /**
     * Enable or disables tile rendering mode in the PDF Viewer.
     */
    enableTileRendering?: boolean;
    /**
     * specifies the tileX count of the render Page.
     */
    x?: number;
    /**
     * specifies the tileY count of the render Page.
     */
    y?: number;
}
/**
 * Interface for a class ScrollSettings
 */
export interface ScrollSettingsModel {
    /**
     * Increase or decrease the delay time.
     */
    delayPageRequestTimeOnScroll?: number;
}
/**
 * Interface for a class FormField
 */
export interface FormFieldModel {
    /**
     * Gets the name of the form field.
     */
    name?: string;
    /**
     * Specifies whether the check box is in checked state or not.
     */
    isChecked?: boolean;
    /**
     * Specifies whether the radio button is in checked state or not.
     */
    isSelected?: boolean;
    /**
     * Gets the id of the form field.
     */
    id?: string;
    /**
     * Gets or sets the value of the form field.
     */
    value?: string;
    /**
     * Gets the type of the form field.
     */
    type?: FormFieldType;
    /**
     * If it is set as true, can't edit the form field in the PDF document. By default it is false.
     */
    isReadOnly?: boolean;
    /**
     * specifies the type of the signature.
     */
    signatureType?: SignatureType[];
    /**
     * specifies the fontName of the signature.
     */
    fontName?: string;
    /**
     * Get or set the form field bounds.
     */
    bounds?: IFormFieldBound;
    /**
     * Get or set the font family of the form field.
     */
    fontFamily?: string;
    /**
     * Get or set the font size of the form field.
     */
    fontSize?: number;
    /**
     * Get or set the font Style of form field.
     */
    fontStyle?: FontStyle;
    /**
     * Get or set the font color of the form field in hexadecimal string format.
     */
    color?: string;
    /**
     * Get or set the background color of the form field in hexadecimal string format.
     */
    backgroundColor?: string;
    /**
     * Get or set the text alignment of the form field.
     */
    alignment?: TextAlignment;
    /**
     * Gets or set the visibility of the form field.
     */
    visibility?: Visibility;
    /**
     * Get or set the maximum character length.
     */
    maxLength?: number;
    /**
     * Gets or set the is Required of form field.
     */
    isRequired?: boolean;
    /**
     * Get or set the boolean value to print the form field. TRUE by default.
     */
    isPrint?: boolean;
    /**
     * Get or set the text to be displayed as tooltip. By default it is empty.
     */
    tooltip?: string;
    /**
     * Get or set the form field items. This can be Dropdown items or Listbox items.
     */
    options?: ItemModel[];
    /**
     * Specifies the properties of the signature indicator in the signature field.
     */
    signatureIndicatorSettings?: SignatureIndicatorSettingsModel;
    /**
     * Get or set the thickness of the form field.
     */
    thickness?: number;
    /**
     * Get or set the border color of the form field.
     */
    borderColor?: string;
    /**
     * Allows multiline input in the text field. FALSE, by default.
     */
    isMultiline?: boolean;
    /**
     * Meaningful only if the MaxLength property is set and the Multiline, Password properties are false.
     * If set, the field is automatically divided into as many equally spaced position, or  combs, as the value of MaxLength, and the text is laid out into the combs.
     *
     * @default false
     */
    insertSpaces?: boolean;
    /**
     * Get the pageIndex of the form field. Default value is -1.
     */
    pageIndex?: number;
    /**
     * Get the pageNumber of the form field. Default value is 1.
     */
    pageNumber?: number;
    /**
     * Get the isTransparent of the form field. Default value is false.
     */
    isTransparent?: boolean;
    /**
     * Get the rotateAngle of the form field. Default value is 0.
     */
    rotateAngle?: number;
    /**
     * Get the selectedIndex of the form field. Default value is null.
     */
    selectedIndex?: number[];
    /**
     * Get the zIndex of the form field. Default value is 0.
     */
    zIndex?: number;
    /**
     * specifies the custom data of the form field.
     */
    customData?: object;
}
/**
 * Interface for a class ContextMenuSettings
 */
export interface ContextMenuSettingsModel {
    /**
     * Defines the context menu action.
     *
     * @default RightClick
     */
    contextMenuAction?: ContextMenuAction;
    /**
     * Defines the context menu items should be visible in the PDF Viewer.
     *
     *  @default []
     */
    contextMenuItems?: ContextMenuItem[];
}
/**
 * Interface for a class TextFieldSettings
 */
export interface TextFieldSettingsModel {
    /**
     * Get or set the form field bounds.
     */
    bounds?: IFormFieldBound;
    /**
     * Get or set the name of the form field element.
     */
    name?: string;
    /**
     * Get or set the value of the form field.
     */
    value?: string;
    /**
     * Get or set the font family of the textbox field.
     */
    fontFamily?: string;
    /**
     * Get or set the font size of the textbox field.
     */
    fontSize?: number;
    /**
     * specifies the page number of the form field.
     */
    pageNumber?: number;
    /**
     * Get or set the font Style of textbox field.
     */
    fontStyle?: FontStyle;
    /**
     * Get or set the font color of the textbox in hexadecimal string format.
     */
    color?: string;
    /**
     * Get or set the background color of the textbox in hexadecimal string format.
     */
    backgroundColor?: string;
    /**
     * Get or set the alignment of the text.
     */
    alignment?: TextAlignment;
    /**
     * Specifies whether the textbox field is in read-only or read-write mode. FALSE by default.
     */
    isReadOnly?: boolean;
    /**
     * Gets or set the visibility of the form field.
     */
    visibility?: Visibility;
    /**
     * Get or set the maximum character length.
     */
    maxLength?: number;
    /**
     * If it is set as true, consider as mandatory field in the PDF document. By default it is false.
     */
    isRequired?: boolean;
    /**
     * Get or set the boolean value to print the textbox field. TRUE by default.
     */
    isPrint?: boolean;
    /**
     * Get or set the text to be displayed as tooltip. By default it is empty.
     */
    tooltip?: string;
    /**
     * Get or set the thickness of the textbox field.
     */
    thickness?: number;
    /**
     * Get or set the border color of the textbox field.
     */
    borderColor?: string;
    /**
     * Allows multiline input in the text field. FALSE, by default.
     */
    isMultiline?: boolean;
    /**
     * specifies the custom data of the form fields.
     */
    customData?: object;
}
/**
 * Interface for a class PasswordFieldSettings
 */
export interface PasswordFieldSettingsModel {
    /**
     * Get or set the form field bounds.
     */
    bounds?: IFormFieldBound;
    /**
     * Get or set the name of the form field element.
     */
    name?: string;
    /**
     * Get or set the value of the form field.
     */
    value?: string;
    /**
     * specifies the page number of the form field.
     */
    pageNumber?: number;
    /**
     * Get or set the font family of the password field.
     */
    fontFamily?: string;
    /**
     * Get or set the font size of the password field.
     */
    fontSize?: number;
    /**
     * Get or set the font Style of password field.
     */
    fontStyle?: FontStyle;
    /**
     * Get or set the font color of the password field in hexadecimal string format.
     */
    color?: string;
    /**
     * Get or set the background color of the password field in hexadecimal string format.
     */
    backgroundColor?: string;
    /**
     * Get or set the alignment of the text.
     */
    alignment?: TextAlignment;
    /**
     * Specifies whether the password field is in read-only or read-write mode. FALSE by default.
     */
    isReadOnly?: boolean;
    /**
     * Gets or set the visibility of the form field.
     */
    visibility?: Visibility;
    /**
     * Get or set the maximum character length.
     */
    maxLength?: number;
    /**
     * If it is set as true, consider as mandatory field in the PDF document. By default it is false.
     */
    isRequired?: boolean;
    /**
     * Get or set the boolean value to print the password field. TRUE by default.
     */
    isPrint?: boolean;
    /**
     * Get or set the text to be displayed as tooltip. By default it is empty.
     */
    tooltip?: string;
    /**
     * Get or set the thickness of the password field.
     */
    thickness?: number;
    /**
     * Get or set the border color of the password field.
     */
    borderColor?: string;
    /**
     * specifies the custom data of the form fields.
     */
    customData?: object;
}
/**
 * Interface for a class CheckBoxFieldSettings
 */
export interface CheckBoxFieldSettingsModel {
    /**
     * Get or set the form field bounds.
     */
    bounds?: IFormFieldBound;
    /**
     * Get or set the name of the check box.
     */
    name?: string;
    /**
     * Get or set the value of the check box.
     */
    value?: string;
    /**
     * Specifies whether the check box is in checked state or not.
     */
    isChecked?: boolean;
    /**
     * Get or set the background color of the check box in hexadecimal string format.
     */
    backgroundColor?: string;
    /**
     * Specifies whether the check box field is in read-only or read-write mode. FALSE by default.
     */
    isReadOnly?: boolean;
    /**
     * Gets or set the visibility of the form field.
     */
    visibility?: Visibility;
    /**
     * Get or set the boolean value to print the check box field. TRUE by default.
     */
    isPrint?: boolean;
    /**
     * specifies the page number of the form field.
     */
    pageNumber?: number;
    /**
     * Get or set the text to be displayed as tooltip. By default it is empty.
     */
    tooltip?: string;
    /**
     * If it is set as true, consider as mandatory field in the PDF document. By default it is false.
     */
    isRequired?: boolean;
    /**
     * Get or set the thickness of the check box field.
     */
    thickness?: number;
    /**
     * Get or set the border color of the check box field.
     */
    borderColor?: string;
    /**
     * specifies the custom data of the form fields.
     */
    customData?: object;
}
/**
 * Interface for a class RadioButtonFieldSettings
 */
export interface RadioButtonFieldSettingsModel {
    /**
     * Get or set the form field bounds.
     */
    bounds?: IFormFieldBound;
    /**
     * Get or set the name of the form field element.
     */
    name?: string;
    /**
     * Get or set the value of the form field element.
     */
    value?: string;
    /**
     * Specifies whether the radio button is in checked state or not.
     */
    isSelected?: boolean;
    /**
     * Get or set the background color of the radio button in hexadecimal string format.
     */
    backgroundColor?: string;
    /**
     * Specifies whether the radio button field is in read-only or read-write mode. FALSE by default.
     */
    isReadOnly?: boolean;
    /**
     * If it is set as true, consider as mandatory field in the PDF document. By default it is false.
     */
    isRequired?: boolean;
    /**
     * specifies the page number of the form field.
     */
    pageNumber?: number;
    /**
     * Gets or set the visibility of the form field.
     */
    visibility?: Visibility;
    /**
     * Get or set the boolean value to print the radio button field. TRUE by default.
     */
    isPrint?: boolean;
    /**
     * Get or set the text to be displayed as tooltip. By default it is empty.
     */
    tooltip?: string;
    /**
     * Get or set the thickness of the radio button field.
     */
    thickness?: number;
    /**
     * Get or set the border color of the radio button field.
     */
    borderColor?: string;
    /**
     * specifies the custom data of the form fields.
     */
    customData?: object;
}
/**
 * Interface for a class DropdownFieldSettings
 */
export interface DropdownFieldSettingsModel {
    /**
     * Get or set the form field bounds.
     */
    bounds?: IFormFieldBound;
    /**
     * Get or set the name of the dropdown.
     */
    name?: string;
    /**
     * Get or set the value of the form field.
     */
    value?: string;
    /**
     * Get or set the font family of the dropdown field.
     */
    fontFamily?: string;
    /**
     * Get or set the font size of the dropdown field.
     */
    fontSize?: number;
    /**
     * specifies the page number of the form field.
     */
    pageNumber?: number;
    /**
     * Get or set the font style of dropdown field.
     */
    fontStyle?: FontStyle;
    /**
     * Get or set the font color of the dropdown in hexadecimal string format..
     */
    color?: string;
    /**
     * Get or set the background color of the dropdown in hexadecimal string format.
     */
    backgroundColor?: string;
    /**
     * Get or set the alignment of the text.
     */
    alignment?: TextAlignment;
    /**
     * Specifies whether the dropdown field is in read-only or read-write mode. FALSE by default.
     */
    isReadOnly?: boolean;
    /**
     * Gets or set the visibility of the form field.
     */
    visibility?: Visibility;
    /**
     * If it is set as true, consider as mandatory field in the PDF document. By default it is false.
     */
    isRequired?: boolean;
    /**
     * Get or set the boolean value to print the dropdown field. TRUE by default.
     */
    isPrint?: boolean;
    /**
     * Get or set the text to be displayed as tooltip. By default it is empty.
     */
    tooltip?: string;
    /**
     * Get or set the dropdown items.
     */
    options?: ItemModel[];
    /**
     * Get or set the thickness of the drop down field.
     */
    thickness?: number;
    /**
     * Get or set the border color of the drop down field.
     */
    borderColor?: string;
    /**
     * specifies the custom data of the form fields.
     */
    customData?: object;
}
/**
 * Interface for a class ListBoxFieldSettings
 */
export interface ListBoxFieldSettingsModel {
    /**
     * Get or set the form field bounds.
     */
    bounds?: IFormFieldBound;
    /**
     * Get or set the name of the form field element.
     */
    name?: string;
    /**
     * Get or set the value of the form field.
     */
    value?: string;
    /**
     * Get or set the font family of the listbox field.
     */
    fontFamily?: string;
    /**
     * Get or set the font size of the listbox field.
     */
    fontSize?: number;
    /**
     * specifies the page number of the form field.
     */
    pageNumber?: number;
    /**
     * Get or set the font Style of listbox field.
     */
    fontStyle?: FontStyle;
    /**
     * Get or set the font color of the listbox in hexadecimal string format.
     */
    color?: string;
    /**
     * Get or set the background color of the listbox in hexadecimal string format.
     */
    backgroundColor?: string;
    /**
     * Get or set the alignment of the text.
     */
    alignment?: TextAlignment;
    /**
     * Specifies whether the listbox field is in read-only or read-write mode. FALSE by default.
     */
    isReadOnly?: boolean;
    /**
     * Gets or set the visibility of the form field.
     */
    visibility?: Visibility;
    /**
     * If it is set as true, consider as mandatory field in the PDF document. By default it is false.
     */
    isRequired?: boolean;
    /**
     * Get or set the boolean value to print the listbox field. TRUE by default.
     */
    isPrint?: boolean;
    /**
     * Get or set the text to be displayed as tool tip. By default it is empty.
     */
    tooltip?: string;
    /**
     * Get or set the listbox items.
     */
    options?: ItemModel[];
    /**
     * Get or set the thickness of the list box field.
     */
    thickness?: number;
    /**
     * Get or set the border color of the list box field.
     */
    borderColor?: string;
}
/**
 * Interface for a class Item
 */
export interface ItemModel {
    /**
     * Get or set the name.
     */
    itemName?: string;
    /**
     * Get or set the value.
     */
    itemValue?: string;
}
/**
 * Interface for a class KeyGesture
 */
export interface KeyGestureModel {
    /**
     * Defines a collection of keys commonly used in Pdf-related operations.
     * * none - no key
     * * N0 = The 0 key
     * * N1 = The 1 key
     * * N2 = The 2 key
     * * N3 = The 3 key
     * * N4 = The 4 key
     * * N5 = The 5 key
     * * N6 = The 6 key
     * * N7 = The 7 key
     * * N8 = The 8 key
     * * N9 = The 9 key
     * * Number0 = The 0 in number pad key
     * * Number1 = The 1 in number pad key
     * * Number2 = The 2 in number pad key
     * * Number3 = The 3 in number pad key
     * * Number4 = The 4 in number pad key
     * * Number5 = The 5 in number pad key
     * * Number6 = The 6 in number pad key
     * * Number7 = The 7 in number pad key
     * * Number8 = The 8 in number pad key
     * * Number9 = The 9 in number pad 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 key
     * * The Plus key
     * * The Star key
     *
     * @aspDefaultValueIgnore
     * @aspNumberEnum
     * @default undefined
     */
    pdfKeys?: PdfKeys;
    /**
     * Specifies a combination of key modifiers, on recognition of which the command will be executed.
     * * None - no modifiers are pressed
     * * Control - ctrl key
     * * Meta - meta key im mac
     * * Alt - alt key
     * * Shift - shift key
     *
     * @aspDefaultValueIgnore
     * @aspNumberEnum
     * @default undefined
     */
    modifierKeys?: ModifierKeys;
}
/**
 * Interface for a class KeyboardCommand
 */
export interface KeyboardCommandModel {
    /**
     * Defines the name of the command.
     *
     * @default ''
     */
    name?: string;
    /**
     * Defines a combination of keys and key modifiers, on recognition of which the command will be executed.
     *
     * ```html
     * <div id='pdfViewer'></div>
     * ```
     * ```typescript
     * let pdfViewer$: PdfViewer = new PdfViewer({
     * ...
     * commandManager:{
     * commands:[{
     * name:'customCopy',
     * gesture:{
     * key:Keys.G, keyModifiers:KeyModifiers.Shift | KeyModifiers.Alt
     * }
     * }]
     * },
     * ...
     * });
     * pdfViewer.appendTo('#pdfViewer');
     * ```
     *
     * @default {}
     */
    gesture?: KeyGestureModel;
}
/**
 * Interface for a class CommandManager
 */
export interface CommandManagerModel {
    /**
     * Defines the multiple command names with the corresponding command objects.
     *
     * @default []
     */
    keyboardCommand?: KeyboardCommandModel[];
}
/**
 * Interface for a class PageOrganizerSettings
 */
export interface PageOrganizerSettingsModel {
    /**
     * Specifies whether the pages can be deleted.
     */
    canDelete?: boolean;
    /**
     * Specifies whether the pages can be inserted.
     */
    canInsert?: boolean;
    /**
     * Specifies whether the pages can be rotated.
     */
    canRotate?: boolean;
    /**
     * Specifies whether the pages can be copied.
     */
    canCopy?: boolean;
    /**
     * Specifies whether the pages can be rearranged.
     */
    canRearrange?: boolean;
    /**
     */
    canImport?: boolean;
}
/**
 * Interface for a class SearchResult
 */
export interface SearchResultModel {
    /**
     * Returns the page index of the search text.
     */
    pageIndex?: number;
    /**
     * Returns the bounds of the search text.
     */
    bounds?: IPdfRectBounds[];
}
/**
 * Interface for a class PdfViewer
 */
export interface PdfViewerModel extends base.ComponentModel{
    /**
     * Defines the service url of the PdfViewer control.
     *
     * {% codeBlock src='pdfviewer/serviceUrl/index.md' %}{% endcodeBlock %}
     *
     */
    serviceUrl?: string;
    /**
     * gets the page count of the document loaded in the PdfViewer control.
     *
     * {% codeBlock src='pdfviewer/pageCount/index.md' %}{% endcodeBlock %}
     *
     * @default 0
     */
    pageCount?: number;
    /**
     *Specifies the document printing quality. The default printing quality is set to 1.0. This limit varies from 0.5 to 5.0. If an invalid value is specified, the default value of 1.0 will be used. For documents with smaller page dimensions, a higher print quality is recommended.
     *
     *{% codeBlock src='pdfviewer/printScaleFactor/index.md' %}{% endBlock %}
     *
     * @default 1.0
     */
    printScaleFactor?: number;
    /**
     * Checks whether the PDF document is edited.
     *
     * {% codeBlock src='pdfviewer/isDocumentEdited/index.md' %}{% endcodeBlock %}
     *
     * @asptype bool
     * @blazorType bool
     */
    isDocumentEdited?: boolean;
    /**
     * Returns the current page number of the document displayed in the PdfViewer control.
     *
     * {% codeBlock src='pdfviewer/currentPageNumber/index.md' %}{% endcodeBlock %}
     *
     * @default 0
     */
    currentPageNumber?: number;
    /**
     * Sets the PDF document path for initial loading.
     *
     * {% codeBlock src='pdfviewer/documentPath/index.md' %}{% endcodeBlock %}
     *
     */
    documentPath?: string;
    /**
     * Gets or sets the export annotations JSON file name in the PdfViewer control.
     *
     * {% codeBlock src='pdfviewer/exportAnnotationFileName/index.md' %}{% endcodeBlock %}
     *
     */
    exportAnnotationFileName?: string;
    /**
     * Gets or sets the download file name in the PdfViewer control.
     *
     * {% codeBlock src='pdfviewer/downloadFileName/index.md' %}{% endcodeBlock %}
     *
     */
    downloadFileName?: string;
    /**
     * Defines the scrollable height of the PdfViewer control.
     *
     * {% codeBlock src='pdfviewer/height/index.md' %}{% endcodeBlock %}
     *
     * @default 'auto'
     */
    height?: string | number;
    /**
     * Defines the scrollable width of the PdfViewer control.
     *
     * {% codeBlock src='pdfviewer/width/index.md' %}{% endcodeBlock %}
     *
     * @default 'auto'
     */
    width?: string | number;
    /**
     * Enable or disables the toolbar of PdfViewer.
     *
     * {% codeBlock src='pdfviewer/enableToolbar/index.md' %}{% endcodeBlock %}
     *
     * @default true
     */
    enableToolbar?: boolean;
    /**
     * Specifies the retry count for the failed requests.
     *
     * {% codeBlock src='pdfviewer/retryCount/index.md' %}{% endcodeBlock %}
     *
     * @default 1
     */
    retryCount?: number;
    /**
     * Specifies the response status codes for retrying a failed request with a "3xx", "4xx", or "5xx" response status code.
     * The value can have multiple values, such as [500, 401, 400], and the default value is 500.
     *
     * {% codeBlock src='pdfviewer/retryStatusCodes/index.md' %}{% endcodeBlock %}
     *
     * @default [500]
     */
    retryStatusCodes?: number[];
    /**
     * Gets or sets the timeout for retries in seconds.
     *
     * {% codeBlock src='pdfviewer/retryTimeout/index.md' %}{% endcodeBlock %}
     *
     * @default 0
     */
    retryTimeout?: number;
    /**
     * Initially renders the first N pages of the PDF document when the document is loaded.
     *
     * {% codeBlock src='pdfviewer/initialRenderPages/index.md' %}{% endcodeBlock %}
     *
     * @default 2
     */
    initialRenderPages?: number;
    /**
     * If it is set as false then error message box is not displayed in PDF viewer control.
     *
     * {% codeBlock src='pdfviewer/showNotificationDialog/index.md' %}{% endcodeBlock %}
     *
     * @default true
     */
    showNotificationDialog?: boolean;
    /**
     * Enable or disables the Navigation toolbar of PdfViewer.
     *
     * {% codeBlock src='pdfviewer/enableNavigationToolbar/index.md' %}{% endcodeBlock %}
     *
     * @default true
     */
    enableNavigationToolbar?: boolean;
    /**
     * Enable or disables the Comment Panel of PdfViewer.
     *
     * {% codeBlock src='pdfviewer/enableCommentPanel/index.md' %}{% endcodeBlock %}
     *
     * @default true
     */
    enableCommentPanel?: boolean;
    /**
     * If it set as true, then the command panel show at initial document loading in the PDF viewer
     *
     * {% codeBlock src='pdfviewer/isCommandPanelOpen/index.md' %}{% endcodeBlock %}
     *
     * @default false
     */
    isCommandPanelOpen?: boolean;
    /**
     * Enable or disable the text markup resizer to modify the bounds in UI.
     *
     * {% codeBlock src='pdfviewer/enableTextMarkupResizer/index.md' %}{% endcodeBlock %}
     *
     * @default false
     */
    enableTextMarkupResizer?: boolean;
    /**
     * Enable or disable the multi line text markup annotations in overlapping collections.
     *
     * {% codeBlock src='pdfviewer/enableMultiLineOverlap/index.md' %}{% endcodeBlock %}
     *
     * @default false
     */
    enableMultiLineOverlap?: boolean;
    /**
     * Checks if the freeText value is valid or not.
     *
     * {% codeBlock src='pdfviewer/isValidFreeText/index.md' %}{% endcodeBlock %}
     *
     * @default false
     */
    isValidFreeText?: boolean;
    /**
     * Opens the annotation toolbar when the PDF document is loaded in the PDF Viewer control initially.
     *
     * @deprecated This property renamed into "isAnnotationToolbarVisible"
     * @default false
     */
    isAnnotationToolbarOpen?: boolean;
    /**
     * Opens the annotation toolbar when the PDF document is loaded in the PDF Viewer control initially
     * and get the annotation Toolbar Visible status.
     *
     * {% codeBlock src='pdfviewer/isAnnotationToolbarVisible/index.md' %}{% endcodeBlock %}
     *
     * @default false
     */
    isAnnotationToolbarVisible?: boolean;
    /**
     * Opens the annotation toolbar when the PDF document is loaded in the PDF Viewer control initially
     * and get the annotation Toolbar Visible status.
     *
     * {% codeBlock src='pdfviewer/isFormDesignerToolbarVisible/index.md' %}{% endcodeBlock %}
     *
     * @public
     * @default false
     */
    isFormDesignerToolbarVisible?: boolean;
    /**
     * Enables or disables the multi-page text markup annotation selection in UI.
     *
     * {% codeBlock src='pdfviewer/enableMultiPageAnnotation/index.md' %}{% endcodeBlock %}
     *
     * @default false
     */
    enableMultiPageAnnotation?: boolean;
    /**
     * Enable or disables the download option of PdfViewer.
     *
     * {% codeBlock src='pdfviewer/enableDownload/index.md' %}{% endcodeBlock %}
     *
     * @default true
     */
    enableDownload?: boolean;
    /**
     * Enable or disables the print option of PdfViewer.
     *
     * {% codeBlock src='pdfviewer/enablePrint/index.md' %}{% endcodeBlock %}
     *
     * @default true
     */
    enablePrint?: boolean;
    /**
     * If it is set as FALSE, will suppress the page rotation of Landscape document on print action. By default it is TRUE.
     *
     * {% codeBlock src='pdfviewer/enablePrintRotation/index.md' %}{% endcodeBlock %}
     *
     * @default true
     */
    enablePrintRotation?: boolean;
    /**
     * Specifies a collection of font names as strings. These fonts must be located in the resourceUrl folder.
     *
     * @default []
     */
    customFonts?: string[];
    /**
     * Enables or disables the thumbnail view in the PDF viewer
     *
     * {% codeBlock src='pdfviewer/enableThumbnail/index.md' %}{% endcodeBlock %}
     *
     * @default true
     */
    enableThumbnail?: boolean;
    /**
     * Enable or disable the page organizer in the PDF Viewer.
     *
     * {% codeBlock src='pdfviewer/enablePageOrganizer/index.md' %}{% endcodeBlock %}
     *
     * @default true
     */
    enablePageOrganizer?: boolean;
    /**
     * Specifies whether the page organizer dialog will be displayed upon the initial document loading in the PDF Viewer.
     *
     * {% codeBlock src='pdfviewer/isPageOrganizerOpen/index.md' %}{% endcodeBlock %}
     *
     * @default false
     */
    isPageOrganizerOpen?: boolean;
    /**
     * This property allows for control over various page management functionalities within the PDF Viewer. By setting it to `true`, users will be able to delete, insert, rotate pages, rearrange pages. Conversely, setting it to `false` will disable these actions.
     *
     * {% codeBlock src='pdfviewer/pageOrganizerSettings/index.md' %}{% endcodeBlock %}
     *
     */
    pageOrganizerSettings?: PageOrganizerSettingsModel;
    /**
     * If it set as true, then the thumbnail view show at initial document loading in the PDF Viewer
     *
     * {% codeBlock src='pdfviewer/isThumbnailViewOpen/index.md' %}{% endcodeBlock %}
     *
     * @default false
     */
    isThumbnailViewOpen?: boolean;
    /**
     * Enables or disable saving Hand Written signature as editable in the PDF.
     *
     * {% codeBlock src='pdfviewer/isSignatureEditable/index.md' %}{% endcodeBlock %}
     *
     * @default false
     */
    isSignatureEditable?: boolean;
    /**
     * Enables or disables the bookmark view in the PDF viewer
     *
     * {% codeBlock src='pdfviewer/enableBookmark/index.md' %}{% endcodeBlock %}
     *
     * @default true
     */
    enableBookmark?: boolean;
    /**
     * Enables different levels of extract text for the Standalone PDF Viewer.
     * The choice of `extractTextCompleted` determines the content of the `textData`.
     *
     * **Options:**
     * - `ExtractTextOption.TextAndBounds`: Indicates that both plain text and text with bounds (layout information) are returned.
     * This is the default behavior, providing both the extracted text and its positional data.
     * Use this option when you need both the textual content and its layout information for further processing or analysis.
     * - `ExtractTextOption.TextOnly`: Indicates that only plain text is extracted and returned.
     * This option does not include any additional bounds  information.
     * - `ExtractTextOption.BoundsOnly`: Indicates that text is returned along with layout information, such as bounds or coordinates.
     * This option does not include plain text and is useful when only positional data is required.
     * - `ExtractTextOption.None`: Indicates that no text information is returned. This option is not applicable for the ExtractText method and is only used in the extractTextCompleted event when no text data is available.
     *
     * This property is used to determine how `textData` should be managed during the `extractTextCompleted` event.
     *
     * @default 'TextAndBounds'
     */
    extractTextOption?: ExtractTextOption;
    /**
     * Enable or disable session storage for PDF Viewer data.
     * When true, the PDF Viewer stores data in an internal collection instead of session storage.
     * When false, the default session storage mechanism is used.
     *
     * **Remarks:**
     * - Setting `enableLocalStorage` to `true` stores all session-specific data (e.g., form fields, annotations, signatures) in memory, increasing memory usage based on the document size and content complexity.
     * - Larger documents or those with more interactive elements will consume more memory.
     * - Ensure proper cleanup by destroying the PDF Viewer instance when no longer needed to avoid memory leaks.
     *
     * @default false
     */
    enableLocalStorage?: boolean;
    /**
     * Enables or disables the bookmark styles in the PDF viewer
     *
     * {% codeBlock src='pdfviewer/enableBookmarkStyles/index.md' %}{% endcodeBlock %}
     *
     * @default false
     */
    enableBookmarkStyles?: boolean;
    /**
     * Enables or disables the hyperlinks in PDF document.
     *
     * {% codeBlock src='pdfviewer/enableHyperlink/index.md' %}{% endcodeBlock %}
     *
     * @default true
     */
    enableHyperlink?: boolean;
    /**
     * Enables or disables the handwritten signature in PDF document.
     *
     * {% codeBlock src='pdfviewer/enableHandwrittenSignature/index.md' %}{% endcodeBlock %}
     *
     * @default true
     */
    enableHandwrittenSignature?: boolean;
    /**
     * If it is set as false, then the ink annotation support in the PDF Viewer will be disabled. By default it is true.
     *
     * {% codeBlock src='pdfviewer/enableInkAnnotation/index.md' %}{% endcodeBlock %}
     *
     * @default true
     */
    enableInkAnnotation?: boolean;
    /**
     * restrict zoom request.
     *
     * {% codeBlock src='pdfviewer/restrictZoomRequest/index.md' %}{% endcodeBlock %}
     *
     * @default false
     */
    restrictZoomRequest?: boolean;
    /**
     * Specifies the open state of the hyperlink in the PDF document.
     *
     * {% codeBlock src='pdfviewer/hyperlinkOpenState/index.md' %}{% endcodeBlock %}
     *
     * @default CurrentTab
     */
    hyperlinkOpenState?: LinkTarget;
    /**
     * Specifies the state of the ContextMenu in the PDF document.
     *
     * {% codeBlock src='pdfviewer/contextMenuOption/index.md' %}{% endcodeBlock %}
     *
     * @default RightClick
     */
    contextMenuOption?: ContextMenuAction;
    /**
     * Disables the menu items in the context menu.
     *
     * {% codeBlock src='pdfviewer/disableContextMenuItems/index.md' %}{% endcodeBlock %}
     *
     * @default []
     */
    disableContextMenuItems?: ContextMenuItem[];
    /**
     * Gets the form fields present in the loaded PDF document. It used to get the form fields id, name, type and it's values.
     *
     * {% codeBlock src='pdfviewer/formFieldCollections/index.md' %}{% endcodeBlock %}
     *
     */
    formFieldCollections?: FormFieldModel[];
    /**
     * Enable or disable the Navigation module of PDF Viewer.
     *
     * {% codeBlock src='pdfviewer/enableNavigation/index.md' %}{% endcodeBlock %}
     *
     * @default true
     */
    enableNavigation?: boolean;
    /**
     * Enable or disables the auto complete option in form documents.
     *
     * {% codeBlock src='pdfviewer/enableAutoComplete/index.md' %}{% endcodeBlock %}
     *
     * @default true
     */
    enableAutoComplete?: boolean;
    /**
     * Enable or disable the Magnification module of PDF Viewer.
     *
     * {% codeBlock src='pdfviewer/enableMagnification/index.md' %}{% endcodeBlock %}
     *
     * @default true
     */
    enableMagnification?: boolean;
    /**
     * Enable or disable the Label for shapeAnnotations of PDF Viewer.
     *
     * {% codeBlock src='pdfviewer/enableShapeLabel/index.md' %}{% endcodeBlock %}
     *
     * @default false
     */
    enableShapeLabel?: boolean;
    /**
     * Enable or disable the customization of measure values in PDF Viewer.
     *
     * {% codeBlock src='pdfviewer/enableImportAnnotationMeasurement/index.md' %}{% endcodeBlock %}
     *
     * @default true
     */
    enableImportAnnotationMeasurement?: boolean;
    /**
     * Enable or disable the pinch zoom option in the PDF Viewer.
     *
     * {% codeBlock src='pdfviewer/enablePinchZoom/index.md' %}{% endcodeBlock %}
     *
     * @default true
     */
    enablePinchZoom?: boolean;
    /**
     * Enable or disable the text selection in the PDF Viewer.
     *
     * {% codeBlock src='pdfviewer/enableTextSelection/index.md' %}{% endcodeBlock %}
     *
     * @default true
     */
    enableTextSelection?: boolean;
    /**
     * Enable or disable the text search in the PDF Viewer.
     *
     * {% codeBlock src='pdfviewer/enableTextSearch/index.md' %}{% endcodeBlock %}
     *
     * @default true
     */
    enableTextSearch?: boolean;
    /**
     * Enable or disable the annotation in the PDF Viewer.
     *
     * {% codeBlock src='pdfviewer/enableAnnotation/index.md' %}{% endcodeBlock %}
     *
     * @default true
     */
    enableAnnotation?: boolean;
    /**
     * Enable or disable the form fields in the PDF Viewer.
     *
     * {% codeBlock src='pdfviewer/enableFormFields/index.md' %}{% endcodeBlock %}
     *
     * @default true
     */
    enableFormFields?: boolean;
    /**
     * Show or hide the form designer tool in the main toolbar of the PDF Viewer.
     *
     * {% codeBlock src='pdfviewer/enableFormDesigner/index.md' %}{% endcodeBlock %}
     *
     * @default true
     */
    enableFormDesigner?: boolean;
    /**
     * Enable or disable the interaction of form fields in the PDF Viewer.
     *
     * {% codeBlock src='pdfviewer/designerMode/index.md' %}{% endcodeBlock %}
     *
     * @default false
     */
    designerMode?: boolean;
    /**
     * Enable or disable the form fields validation.
     *
     * {% codeBlock src='pdfviewer/enableFormFieldsValidation/index.md' %}{% endcodeBlock %}
     *
     * @default false
     */
    enableFormFieldsValidation?: boolean;
    /**
     * Enable if the PDF document contains form fields.
     *
     * {% codeBlock src='pdfviewer/isFormFieldDocument/index.md' %}{% endcodeBlock %}
     *
     * @default false
     */
    isFormFieldDocument?: boolean;
    /**
     * Gets or sets a boolean value to show or hide desktop toolbar in mobile devices.
     *
     * {% codeBlock src='pdfviewer/enableDesktopMode/index.md' %}{% endcodeBlock %}
     *
     * @default false
     */
    enableDesktopMode?: boolean;
    /**
     * Gets or sets a boolean value to show or hide the save signature check box option in the signature dialog.
     * FALSE by default
     *
     * @default false
     * @deprecated
     */
    hideSaveSignature?: boolean;
    /**
     * Enable or disable the free text annotation in the PDF Viewer.
     *
     * {% codeBlock src='pdfviewer/enableFreeText/index.md' %}{% endcodeBlock %}
     *
     * @default true
     */
    enableFreeText?: boolean;
    /**
     * Enable or disable the text markup annotation in the PDF Viewer.
     *
     * {% codeBlock src='pdfviewer/enableTextMarkupAnnotation/index.md' %}{% endcodeBlock %}
     *
     * @default true
     */
    enableTextMarkupAnnotation?: boolean;
    /**
     * Enable or disable the shape annotation in the PDF Viewer.
     *
     * {% codeBlock src='pdfviewer/enableShapeAnnotation/index.md' %}{% endcodeBlock %}
     *
     * @default true
     */
    enableShapeAnnotation?: boolean;
    /**
     * Enable or disable the calibrate annotation in the PDF Viewer.
     *
     * {% codeBlock src='pdfviewer/enableMeasureAnnotation/index.md' %}{% endcodeBlock %}
     *
     * @default true
     */
    enableMeasureAnnotation?: boolean;
    /**
     * Enables and disable the stamp annotations when the PDF viewer control is loaded initially.
     *
     * {% codeBlock src='pdfviewer/enableStampAnnotations/index.md' %}{% endcodeBlock %}
     *
     * @default true
     */
    enableStampAnnotations?: boolean;
    /**
     * Enables and disable the stickyNotes annotations when the PDF viewer control is loaded initially.
     *
     * {% codeBlock src='pdfviewer/enableStickyNotesAnnotation/index.md' %}{% endcodeBlock %}
     *
     * @default true
     */
    enableStickyNotesAnnotation?: boolean;
    /**
     * Opens the annotation toolbar when the PDF document is loaded in the PDF Viewer control initially.
     *
     * {% codeBlock src='pdfviewer/enableAnnotationToolbar/index.md' %}{% endcodeBlock %}
     *
     * @default true
     */
    enableAnnotationToolbar?: boolean;
    /**
     * Opens the form designer toolbar when the PDF document is loaded in the PDF Viewer control initially.
     *
     * {% codeBlock src='pdfviewer/enableFormDesignerToolbar/index.md' %}{% endcodeBlock %}
     *
     * @default true
     */
    enableFormDesignerToolbar?: boolean;
    /**
     * Gets or sets a boolean value to show or hide the bookmark panel while loading a document.
     *
     * {% codeBlock src='pdfviewer/isBookmarkPanelOpen/index.md' %}{% endcodeBlock %}
     *
     * @default false
     */
    isBookmarkPanelOpen?: boolean;
    /**
     * Gets or sets a boolean value if initial field selected in form designer toolbar.
     *
     * @private
     * @default false
     */
    isInitialFieldToolbarSelection?: boolean;
    /**
     * Sets the interaction mode of the PDF Viewer.
     *
     * {% codeBlock src='pdfviewer/interactionMode/index.md' %}{% endcodeBlock %}
     *
     * @default TextSelection
     */
    interactionMode?: InteractionMode;
    /**
     * Specifies the rendering mode in the PDF Viewer.
     *
     * {% codeBlock src='pdfviewer/zoomMode/index.md' %}{% endcodeBlock %}
     *
     * @default Default
     */
    zoomMode?: ZoomMode;
    /**
     * Specifies the signature mode in the PDF Viewer.
     *
     * {% codeBlock src='pdfviewer/signatureFitMode/index.md' %}{% endcodeBlock %}
     *
     * @default Default
     */
    signatureFitMode?: SignatureFitMode;
    /**
     * Specifies the print mode in the PDF Viewer.
     *
     * {% codeBlock src='pdfviewer/printMode/index.md' %}{% endcodeBlock %}
     *
     * @default Default
     */
    printMode?: PrintMode;
    /**
     * Sets the initial loading zoom value from 10 to 400 in the PDF Viewer Control.
     *
     * {% codeBlock src='pdfviewer/zoomValue/index.md' %}{% endcodeBlock %}
     *
     * @default 0
     */
    zoomValue?: number;
    /**
     * Specifies the minimum acceptable zoom level for the control, with a default value of 10.
     *
     * {% codeBlock src='pdfviewer/minZoom/index.md' %}{% endcodeBlock %}
     *
     * @default 10
     */
    minZoom?: number;
    /**
     * Specifies the maximum allowable zoom level for the control, with a default value of 400.
     *
     * {% codeBlock src='pdfviewer/maxZoom/index.md' %}{% endcodeBlock %}
     *
     * @default 400
     */
    maxZoom?: number;
    /**
     *  Enable or disable the zoom optimization mode in PDF Viewer.
     *
     * {% codeBlock src='pdfviewer/enableZoomOptimization/index.md' %}{% endcodeBlock %}
     *
     * @default true
     */
    enableZoomOptimization?: boolean;
    /**
     * Enable or disable the text extract from the PDF viewer.
     *
     * {% codeBlock src='pdfviewer/isExtractText/index.md' %}{% endcodeBlock %}
     *
     * @default false
     */
    isExtractText?: boolean;
    /**
     * Maintain the selection of text markup annotation.
     *
     * {% codeBlock src='pdfviewer/isMaintainSelection/index.md' %}{% endcodeBlock %}
     *
     * @default false
     */
    isMaintainSelection?: boolean;
    /**
     *  Get or set the flag to hide the digitally signed field on document loading.
     *
     * @private
     * @default false
     */
    hideEmptyDigitalSignatureFields?: boolean;
    /**
     *  Show or hide the digital signature appearance in the document.
     *
     * {% codeBlock src='pdfviewer/showDigitalSignatureAppearance/index.md' %}{% endcodeBlock %}
     *
     * @default true
     */
    showDigitalSignatureAppearance?: boolean;
    /**
     *  Determines whether accessibility tags are enabled or disabled.
     *  Accessibility tags can help make web content more accessible to users with disabilities.
     *
     * {% codeBlock src='pdfviewer/enableAccessibilityTags/index.md' %}{% endcodeBlock %}
     *
     * @default true
     */
    enableAccessibilityTags?: boolean;
    /**
     * Specifies whether to display or remove the untrusted HTML values in the PDF Viewer component.
     *
     * If 'enableHtmlSanitizer' set to true, the component will sanitize any suspected untrusted strings and scripts before rendering them.
     *
     * @private
     * @default true
     */
    enableHtmlSanitizer?: boolean;
    /**
     * Customize desired date and time format
     *
     * {% codeBlock src='pdfviewer/dateTimeFormat/index.md' %}{% endcodeBlock %}
     *
     */
    dateTimeFormat?: string;
    /**
     * Set the resource URL for assets or the public directory. The standalone PDF Viewer will load its custom resources from this URL.
     *
     * {% codeBlock src='pdfviewer/resourceUrl/index.md' %}{% endcodeBlock %}
     *
     * @remarks
     *
     * Users incorporating custom assets, public directories, or routing setups into their
     * Standalone PDF Viewer applications may face challenges when loading the PDF Viewer
     * libraries from the default assets location. This property addresses these issues by allowing
     * resource URL customization, guaranteeing a smooth integration process for loading libraries
     * in the Standalone PDF Viewer.
     *
     * @default ''
     */
    resourceUrl?: string;
    /**
     * Defines the settings of the PDF Viewer toolbar.
     *
     * {% codeBlock src='pdfviewer/toolbarSettings/index.md' %}{% endcodeBlock %}
     *
     */
    toolbarSettings?: ToolbarSettingsModel;
    /**
     * Defines the ajax Request settings of the PDF Viewer.
     *
     * {% codeBlock src='pdfviewer/ajaxRequestSettings/index.md' %}{% endcodeBlock %}
     *
     */
    ajaxRequestSettings?: AjaxRequestSettingsModel;
    /**
     * Defines the stamp items of the PDF Viewer.
     *
     * {% codeBlock src='pdfviewer/customStamp/index.md' %}{% endcodeBlock %}
     *
     */
    customStamp?: CustomStampModel[];
    /**
     * Defines the settings of the PDF Viewer service.
     *
     * {% codeBlock src='pdfviewer/serverActionSettings/index.md' %}{% endcodeBlock %}
     *
     */
    serverActionSettings?: ServerActionSettingsModel;
    /**
     * Get or set the signature field settings.
     *
     * {% codeBlock src='pdfviewer/signatureFieldSettings/index.md' %}{% endcodeBlock %}
     *
     */
    signatureFieldSettings?: SignatureFieldSettingsModel;
    /**
     * Get or set the initial field settings.
     *
     * {% codeBlock src='pdfviewer/initialFieldSettings/index.md' %}{% endcodeBlock %}
     *
     */
    initialFieldSettings?: InitialFieldSettingsModel;
    /**
     * Defines the settings of highlight annotation.
     *
     * {% codeBlock src='pdfviewer/highlightSettings/index.md' %}{% endcodeBlock %}
     *
     */
    highlightSettings?: HighlightSettingsModel;
    /**
     * Defines the settings of strikethrough annotation.
     *
     * {% codeBlock src='pdfviewer/strikethroughSettings/index.md' %}{% endcodeBlock %}
     *
     */
    strikethroughSettings?: StrikethroughSettingsModel;
    /**
     * Defines the settings of underline annotation.
     *
     * {% codeBlock src='pdfviewer/underlineSettings/index.md' %}{% endcodeBlock %}
     *
     */
    underlineSettings?: UnderlineSettingsModel;
    /**
     * Defines the settings of line annotation.
     *
     * {% codeBlock src='pdfviewer/lineSettings/index.md' %}{% endcodeBlock %}
     *
     */
    lineSettings?: LineSettingsModel;
    /**
     * Defines the settings of arrow annotation.
     *
     * {% codeBlock src='pdfviewer/arrowSettings/index.md' %}{% endcodeBlock %}
     *
     */
    arrowSettings?: ArrowSettingsModel;
    /**
     * Defines the settings of rectangle annotation.
     *
     * {% codeBlock src='pdfviewer/rectangleSettings/index.md' %}{% endcodeBlock %}
     *
     */
    rectangleSettings?: RectangleSettingsModel;
    /**
     * Defines the settings of shape label.
     *
     * {% codeBlock src='pdfviewer/shapeLabelSettings/index.md' %}{% endcodeBlock %}
     *
     */
    shapeLabelSettings?: ShapeLabelSettingsModel;
    /**
     * Defines the settings of circle annotation.
     *
     * {% codeBlock src='pdfviewer/circleSettings/index.md' %}{% endcodeBlock %}
     *
     */
    circleSettings?: CircleSettingsModel;
    /**
     * Defines the settings of polygon annotation.
     *
     * {% codeBlock src='pdfviewer/polygonSettings/index.md' %}{% endcodeBlock %}
     *
     */
    polygonSettings?: PolygonSettingsModel;
    /**
     * Defines the settings of stamp annotation.
     *
     * {% codeBlock src='pdfviewer/stampSettings/index.md' %}{% endcodeBlock %}
     *
     */
    stampSettings?: StampSettingsModel;
    /**
     * Defines the settings of customStamp annotation.
     *
     * {% codeBlock src='pdfviewer/customStampSettings/index.md' %}{% endcodeBlock %}
     *
     */
    customStampSettings?: CustomStampSettingsModel;
    /**
     * Defines the settings of distance annotation.
     *
     * {% codeBlock src='pdfviewer/distanceSettings/index.md' %}{% endcodeBlock %}
     *
     */
    distanceSettings?: DistanceSettingsModel;
    /**
     * Defines the settings of perimeter annotation.
     *
     * {% codeBlock src='pdfviewer/perimeterSettings/index.md' %}{% endcodeBlock %}
     *
     */
    perimeterSettings?: PerimeterSettingsModel;
    /**
     * Defines the settings of area annotation.
     *
     * {% codeBlock src='pdfviewer/areaSettings/index.md' %}{% endcodeBlock %}
     *
     */
    areaSettings?: AreaSettingsModel;
    /**
     * Defines the settings of radius annotation.
     *
     * {% codeBlock src='pdfviewer/radiusSettings/index.md' %}{% endcodeBlock %}
     *
     */
    radiusSettings?: RadiusSettingsModel;
    /**
     * Defines the settings of volume annotation.
     *
     * {% codeBlock src='pdfviewer/volumeSettings/index.md' %}{% endcodeBlock %}
     *
     */
    volumeSettings?: VolumeSettingsModel;
    /**
     * Defines the settings of stickyNotes annotation.
     *
     * {% codeBlock src='pdfviewer/stickyNotesSettings/index.md' %}{% endcodeBlock %}
     *
     */
    stickyNotesSettings?: StickyNotesSettingsModel;
    /**
     * Defines the settings of free text annotation.
     *
     * {% codeBlock src='pdfviewer/freeTextSettings/index.md' %}{% endcodeBlock %}
     *
     */
    freeTextSettings?: FreeTextSettingsModel;
    /**
     * Defines the settings of measurement annotation.
     *
     * {% codeBlock src='pdfviewer/measurementSettings/index.md' %}{% endcodeBlock %}
     *
     */
    measurementSettings?: MeasurementSettingsModel;
    /**
     * Defines the settings of annotation selector.
     *
     * {% codeBlock src='pdfviewer/annotationSelectorSettings/index.md' %}{% endcodeBlock %}
     *
     */
    annotationSelectorSettings?: AnnotationSelectorSettingsModel;
    /**
     * Sets the settings for the color of the text search highlight.
     *
     * {% codeBlock src='pdfviewer/textSearchColorSettings/index.md' %}{% endcodeBlock %}
     *
     */
    textSearchColorSettings?: TextSearchColorSettingsModel;
    /**
     * Get or set the signature dialog settings for signature field.
     *
     * {% codeBlock src='pdfviewer/signatureDialogSettings/index.md' %}{% endcodeBlock %}
     *
     */
    signatureDialogSettings?: SignatureDialogSettingsModel;
    /**
     * Get or set the signature dialog settings for initial field.
     *
     * {% codeBlock src='pdfviewer/initialDialogSettings/index.md' %}{% endcodeBlock %}
     *
     */
    initialDialogSettings?: SignatureDialogSettingsModel;
    /**
     * Defines the settings of handWrittenSignature.
     *
     * {% codeBlock src='pdfviewer/handWrittenSignatureSettings/index.md' %}{% endcodeBlock %}
     *
     */
    handWrittenSignatureSettings?: HandWrittenSignatureSettingsModel;
    /**
     * Defines the ink annotation settings for PDF Viewer.It used to customize the strokeColor, thickness, opacity of the ink annotation.
     *
     * {% codeBlock src='pdfviewer/inkAnnotationSettings/index.md' %}{% endcodeBlock %}
     *
     */
    inkAnnotationSettings?: InkAnnotationSettingsModel;
    /**
     * Defines the settings of the annotations.
     *
     * {% codeBlock src='pdfviewer/annotationSettings/index.md' %}{% endcodeBlock %}
     *
     */
    annotationSettings?: AnnotationSettingsModel;
    /**
     * Defines the tile rendering settings.
     *
     * {% codeBlock src='pdfviewer/tileRenderingSettings/index.md' %}{% endcodeBlock %}
     *
     */
    tileRenderingSettings?: TileRenderingSettingsModel;
    /**
     * Defines the scroll settings.
     *
     * {% codeBlock src='pdfviewer/scrollSettings/index.md' %}{% endcodeBlock %}
     *
     */
    scrollSettings?: ScrollSettingsModel;
    /**
     * Get or set the text field settings.
     *
     * {% codeBlock src='pdfviewer/textFieldSettings/index.md' %}{% endcodeBlock %}
     *
     */
    textFieldSettings?: TextFieldSettingsModel;
    /**
     * Get or set the password field settings.
     *
     * {% codeBlock src='pdfviewer/passwordFieldSettings/index.md' %}{% endcodeBlock %}
     *
     */
    passwordFieldSettings?: PasswordFieldSettingsModel;
    /**
     * Get or set the check box field settings.
     *
     * {% codeBlock src='pdfviewer/checkBoxFieldSettings/index.md' %}{% endcodeBlock %}
     *
     */
    checkBoxFieldSettings?: CheckBoxFieldSettingsModel;
    /**
     * Get or set the radio button field settings.
     *
     * {% codeBlock src='pdfviewer/radioButtonFieldSettings/index.md' %}{% endcodeBlock %}
     *
     */
    radioButtonFieldSettings?: RadioButtonFieldSettingsModel;
    /**
     * Get or set the dropdown field settings.
     *
     * {% codeBlock src='pdfviewer/DropdownFieldSettings/index.md' %}{% endcodeBlock %}
     *
     */
    DropdownFieldSettings?: DropdownFieldSettingsModel;
    /**
     * Get or set the listbox field settings.
     *
     * {% codeBlock src='pdfviewer/listBoxFieldSettings/index.md' %}{% endcodeBlock %}
     *
     */
    listBoxFieldSettings?: ListBoxFieldSettingsModel;
    /**
     * Defines the context menu settings.
     *
     * {% codeBlock src='pdfviewer/contextMenuSettings/index.md' %}{% endcodeBlock %}
     *
     */
    contextMenuSettings?: ContextMenuSettingsModel;
    /**
     * Defines the custom context menu items.
     *
     * @private
     */
    customContextMenuItems?: navigations.MenuItemModel[];
    /**
     * Defines the custom context menu items.
     *
     * @private
     */
    disableDefaultContextMenu?: boolean;
    /**
     * Defines the custom context menu items.
     *
     * @private
     */
    showCustomContextMenuBottom?: boolean;
    /**
     * Defines a set of custom commands and binds them with a set of desired key gestures.
     *
     * {% codeBlock src='pdfviewer/commandManager/index.md' %}{% endcodeBlock %}
     *
     * @default {}
     */
    commandManager?: CommandManagerModel;
    /**
     * Defines the collection of selected items, size and position of the selector
     *
     * @default {}
     */
    selectedItems?: SelectorModel;
    /**
     * Triggers during the creation of the PDF viewer component.
     *
     * @event created
     * @blazorProperty 'Created'
     */
    created?: base.EmitType<void>;
    /**
     * Triggers after loading the Pdfium resources.
     *
     * @event resourcesLoaded
     */
    resourcesLoaded?: base.EmitType<void>;
    /**
     * Triggers while loading document into PDF viewer.
     *
     * @event documentLoad
     * @blazorProperty 'DocumentLoaded'
     */
    documentLoad?: base.EmitType<LoadEventArgs>;
    /**
     * Triggers while closing the document.
     *
     * @event documentUnload
     * @blazorProperty 'DocumentUnloaded'
     */
    documentUnload?: base.EmitType<UnloadEventArgs>;
    /**
     * Triggers while document loading failed in PdfViewer.
     *
     * @event documentLoadFailed
     * @blazorProperty 'DocumentLoadFailed'
     */
    documentLoadFailed?: base.EmitType<LoadFailedEventArgs>;
    /**
     * Triggers when the AJAX request is failed.
     *
     * @event ajaxRequestFailed
     * @blazorProperty 'AjaxRequestFailed'
     */
    ajaxRequestFailed?: base.EmitType<AjaxRequestFailureEventArgs>;
    /**
     * Triggers on successful AJAX request.
     *
     * @event ajaxRequestSuccess
     */
    ajaxRequestSuccess?: base.EmitType<AjaxRequestSuccessEventArgs>;
    /**
     * Triggers upon completion of page rendering.
     *
     * @event pageRenderComplete
     */
    pageRenderComplete?: base.EmitType<PageRenderCompleteEventArgs>;
    /**
     * Triggers when validation is failed.
     *
     * @event validateFormFields
     * @blazorProperty 'validateFormFields'
     */
    validateFormFields?: base.EmitType<ValidateFormFieldsArgs>;
    /**
     * Triggers when the mouse click is performed over the page of the PDF document.
     *
     * @event pageClick
     * @blazorProperty 'OnPageClick'
     */
    pageClick?: base.EmitType<PageClickEventArgs>;
    /**
     * Triggers when there is change in current page number.
     *
     * @event pageChange
     * @blazorProperty 'PageChanged'
     */
    pageChange?: base.EmitType<PageChangeEventArgs>;
    /**
     * Triggers when a hyperlink in a PDF document is clicked.
     *
     * @event hyperlinkClick
     * @blazorProperty 'OnHyperlinkClick'
     */
    hyperlinkClick?: base.EmitType<HyperlinkClickEventArgs>;
    /**
     * Triggers when hyperlink in a PDF document is hovered.
     *
     * @event hyperlinkMouseOver
     * @blazorProperty 'OnHyperlinkMouseOver'
     */
    hyperlinkMouseOver?: base.EmitType<HyperlinkMouseOverArgs>;
    /**
     * Triggers When the magnification value changes.
     *
     * @event zoomChange
     * @blazorProperty 'ZoomChanged'
     */
    zoomChange?: base.EmitType<ZoomChangeEventArgs>;
    /**
     * Triggers when an annotation is added to a PDF document's page.
     *
     * @event annotationAdd
     * @blazorProperty 'AnnotationAdded'
     */
    annotationAdd?: base.EmitType<AnnotationAddEventArgs>;
    /**
     * Triggers when an annotation is removed from a PDF document's page.
     *
     * @event annotationRemove
     * @blazorProperty 'AnnotationRemoved'
     */
    annotationRemove?: base.EmitType<AnnotationRemoveEventArgs>;
    /**
     * Triggers when the annotation's property is modified on a PDF document page.
     *
     * @event annotationPropertiesChange
     * @blazorProperty 'AnnotationPropertiesChanged'
     */
    annotationPropertiesChange?: base.EmitType<AnnotationPropertiesChangeEventArgs>;
    /**
     * Triggers when an annotation is resized over the page of a PDF document.
     *
     * @event annotationResize
     * @blazorProperty 'AnnotationResized'
     */
    annotationResize?: base.EmitType<AnnotationResizeEventArgs>;
    /**
     * Triggers when a signature is added to a page of a PDF document.
     *
     * @event addSignature
     */
    addSignature?: base.EmitType<AddSignatureEventArgs>;
    /**
     * Triggers when the signature is removed from the page of a PDF document.
     *
     * @event removeSignature
     */
    removeSignature?: base.EmitType<RemoveSignatureEventArgs>;
    /**
     * Triggers when a signature is moved across the page of a PDF document.
     *
     * @event moveSignature
     */
    moveSignature?: base.EmitType<MoveSignatureEventArgs>;
    /**
     * Triggers when the property of the signature is changed in the page of the PDF document.
     *
     * @event signaturePropertiesChange
     */
    signaturePropertiesChange?: base.EmitType<SignaturePropertiesChangeEventArgs>;
    /**
     * Triggers when the signature is resized and placed on a page of a PDF document.
     *
     * @event resizeSignature
     */
    resizeSignature?: base.EmitType<ResizeSignatureEventArgs>;
    /**
     * Triggers when signature is selected over the page of the PDF document.
     *
     * @event signatureSelect
     */
    signatureSelect?: base.EmitType<SignatureSelectEventArgs>;
    /**
     * Triggers when signature is unselected over the page of the PDF document.
     *
     * @event signatureUnselect
     */
    signatureUnselect?: base.EmitType<SignatureUnselectEventArgs>;
    /**
     * Triggers when an annotation is selected over the page of the PDF document.
     *
     * @event annotationSelect
     * @blazorProperty 'AnnotationSelected'
     */
    annotationSelect?: base.EmitType<AnnotationSelectEventArgs>;
    /**
     * Triggers when an annotation is unselected over the page of the PDF document.
     *
     * @event annotationUnSelect
     * @blazorProperty 'AnnotationUnSelect'
     */
    annotationUnSelect?: base.EmitType<AnnotationUnSelectEventArgs>;
    /**
     * Triggers when the annotation is double clicked.
     *
     * @event annotationDoubleClick
     * @blazorProperty 'OnAnnotationDoubleClick'
     */
    annotationDoubleClick?: base.EmitType<AnnotationDoubleClickEventArgs>;
    /**
     * Triggers when an annotation is moved over the page of the PDF document.
     *
     * @event annotationMove
     * @blazorProperty 'AnnotationMoved'
     */
    annotationMove?: base.EmitType<AnnotationMoveEventArgs>;
    /**
     * Triggers while moving an annotation.
     *
     * @event annotationMoving
     * @blazorProperty 'AnnotationMoving'
     */
    annotationMoving?: base.EmitType<AnnotationMovingEventArgs>;
    /**
     * Triggers when the mouse is moved over the annotation object.
     *
     * @event annotationMouseover
     */
    annotationMouseover?: base.EmitType<AnnotationMouseoverEventArgs>;
    /**
     * Triggers when the user mouse moves away from the annotation object.
     *
     * @event annotationMouseLeave
     */
    annotationMouseLeave?: base.EmitType<AnnotationMouseLeaveEventArgs>;
    /**
     * Triggers when moving the mouse over the page.
     *
     * @event pageMouseover
     */
    pageMouseover?: base.EmitType<PageMouseoverEventArgs>;
    /**
     *
     * @blazorProperty 'ImportStarted'
     */
    /**
     * Triggers when an exported annotation started in the PDF Viewer.
     *
     * @event exportStart
     * @blazorProperty 'ExportStarted'
     */
    exportStart?: base.EmitType<ExportStartEventArgs>;
    /**
     *
     * @blazorProperty 'ImportSucceed'
     */
    /**
     * Triggers when the annotations in a PDF document are successfully exported.
     *
     * @event exportSuccess
     * @blazorProperty 'ExportSucceed'
     */
    exportSuccess?: base.EmitType<ExportSuccessEventArgs>;
    /**
     *
     * @blazorProperty 'ImportFailed'
     */
    /**
     * Triggers when1 the annotations export in a PDF document fails.
     *
     * @event exportFailed
     * @blazorProperty 'ExportFailed'
     */
    exportFailed?: base.EmitType<ExportFailureEventArgs>;
    /**
     * Triggers when an text extraction is completed in the PDF Viewer.
     *
     * @event extractTextCompleted
     * @blazorProperty 'ExtractTextCompleted'
     */
    extractTextCompleted?: base.EmitType<ExtractTextCompletedEventArgs>;
    /**
     * Triggers when the thumbnail in the PDF Viewer's thumbnail panel is clicked.
     *
     * @event thumbnailClick
     * @blazorProperty 'OnThumbnailClick'
     */
    thumbnailClick?: base.EmitType<ThumbnailClickEventArgs>;
    /**
     * Triggers when the bookmark is clicked in the PDF Viewer's bookmark panel.
     *
     * @event bookmarkClick
     * @blazorProperty 'BookmarkClick'
     */
    bookmarkClick?: base.EmitType<BookmarkClickEventArgs>;
    /**
     * Triggers when custom toolbar item is clicked.
     *
     * @event toolbarClick
     * @blazorProperty 'ToolbarClick'
     */
    toolbarClick?: base.EmitType<navigations.ClickEventArgs>;
    /**
     * Triggers when the text selection is initiated.
     *
     * @event textSelectionStart
     * @blazorProperty 'OnTextSelectionStart'
     */
    textSelectionStart?: base.EmitType<TextSelectionStartEventArgs>;
    /**
     * Triggers when the text selection is complete.
     *
     * @event textSelectionEnd
     * @blazorProperty 'OnTextSelectionEnd'
     */
    textSelectionEnd?: base.EmitType<TextSelectionEndEventArgs>;
    /**
     * Triggers when the download action is initiated.
     *
     * @event downloadStart
     * @blazorProperty 'DownloadStart'
     */
    downloadStart?: base.EmitType<DownloadStartEventArgs>;
    /**
     * Triggers when the button is clicked.
     *
     * @deprecated This property renamed into "formFieldClick"
     * @event buttonFieldClick
     * @blazorProperty 'ButtonFieldClick'
     */
    buttonFieldClick?: base.EmitType<ButtonFieldClickEventArgs>;
    /**
     * Triggers when the form field is selected.
     *
     * @event formFieldClick
     * @blazorProperty 'FormFieldClick'
     */
    formFieldClick?: base.EmitType<FormFieldClickArgs>;
    /**
     * Triggers when the download actions are completed.
     *
     * @event downloadEnd
     * @blazorProperty 'DownloadEnd'
     */
    downloadEnd?: base.EmitType<DownloadEndEventArgs>;
    /**
     * Triggers when the print action is initiated.
     *
     * @event printStart
     * @blazorProperty 'PrintStart'
     */
    printStart?: base.EmitType<PrintStartEventArgs>;
    /**
     * Triggers when the print actions are completed.
     *
     * @event printEnd
     * @blazorProperty 'PrintEnd'
     */
    printEnd?: base.EmitType<PrintEndEventArgs>;
    /**
     * Triggers when the text search is initiated.
     *
     * @event textSearchStart
     * @blazorProperty 'OnTextSearchStart'
     */
    textSearchStart?: base.EmitType<TextSearchStartEventArgs>;
    /**
     * Triggers when the text search is completed.
     *
     * @event textSearchComplete
     * @blazorProperty 'OnTextSearchComplete'
     */
    textSearchComplete?: base.EmitType<TextSearchCompleteEventArgs>;
    /**
     * Triggers when the text search text is highlighted.
     *
     * @event textSearchHighlight
     * @blazorProperty 'OnTextSearchHighlight'
     */
    textSearchHighlight?: base.EmitType<TextSearchHighlightEventArgs>;
    /**
     * Triggers before the data is sent to the server.
     *
     * @event ajaxRequestInitiate
     */
    ajaxRequestInitiate?: base.EmitType<AjaxRequestInitiateEventArgs>;
    /**
     * Triggers upon the initiation of page rendering.
     *
     * @event pageRenderInitiate
     */
    pageRenderInitiate?: base.EmitType<PageRenderInitiateEventArgs>;
    /**
     * Triggers when a comment for the annotation is added to the comment panel.
     *
     * @event commentAdd
     * @blazorProperty 'commentAdd'
     */
    commentAdd?: base.EmitType<CommentEventArgs>;
    /**
     * Triggers when the comment for the annotation in the comment panel is edited.
     *
     * @event commentEdit
     * @blazorProperty 'commentEdit'
     */
    commentEdit?: base.EmitType<CommentEventArgs>;
    /**
     * Triggers when the comment for the annotation in the comment panel is deleted.
     *
     * @event commentDelete
     * @blazorProperty 'commentDelete'
     */
    commentDelete?: base.EmitType<CommentEventArgs>;
    /**
     * Triggers when the comment for the annotation in the comment panel is selected.
     *
     * @event commentSelect
     * @blazorProperty 'commentSelect
     */
    commentSelect?: base.EmitType<CommentEventArgs>;
    /**
     * Triggers when the annotation's comment for status is changed in the comment panel.
     *
     * @event commentStatusChanged
     * @blazorProperty 'commentStatusChanged'
     */
    commentStatusChanged?: base.EmitType<CommentEventArgs>;
    /**
     * Triggers before adding a text in the freeText annotation.
     *
     * @event beforeAddFreeText
     * @blazorProperty 'beforeAddFreeText'
     */
    beforeAddFreeText?: base.EmitType<BeforeAddFreeTextEventArgs>;
    /**
     * Triggers when focus out from the form fields.
     *
     * @event formFieldFocusOut
     * @blazorProperty 'formFieldFocusOut'
     */
    formFieldFocusOut?: base.EmitType<FormFieldFocusOutEventArgs>;
    /**
     * Triggers when a form field is added.
     *
     * @event formFieldAdd
     * @blazorProperty 'formFieldAdd'
     */
    formFieldAdd?: base.EmitType<FormFieldAddArgs>;
    /**
     * Triggers when a form field is removed.
     *
     * @event formFieldRemove
     * @blazorProperty 'formFieldRemove'
     */
    formFieldRemove?: base.EmitType<FormFieldRemoveArgs>;
    /**
     * Triggers when a property of form field is changed.
     *
     * @event formFieldPropertiesChange
     * @blazorProperty 'formFieldPropertiesChange'
     */
    formFieldPropertiesChange?: base.EmitType<FormFieldPropertiesChangeArgs>;
    /**
     * Triggers when the mouse cursor leaves the form field.
     *
     * @event formFieldMouseLeave
     * @blazorProperty 'formFieldMouseLeave'
     */
    formFieldMouseLeave?: base.EmitType<FormFieldMouseLeaveArgs>;
    /**
     * Triggers when the mouse cursor is over a form field.
     *
     * @event formFieldMouseover
     * @blazorProperty 'formFieldMouseover'
     */
    formFieldMouseover?: base.EmitType<FormFieldMouseoverArgs>;
    /**
     * Triggers when a form field is moved.
     *
     * @event formFieldMove
     * @blazorProperty 'formFieldMove'
     */
    formFieldMove?: base.EmitType<FormFieldMoveArgs>;
    /**
     * Triggers when a form field is resized.
     *
     * @event formFieldResize
     * @blazorProperty 'formFieldResize'
     */
    formFieldResize?: base.EmitType<FormFieldResizeArgs>;
    /**
     * Triggers when a form field is selected.
     *
     * @event formFieldSelect
     * @blazorProperty 'formFieldSelect'
     */
    formFieldSelect?: base.EmitType<FormFieldSelectArgs>;
    /**
     * Triggers when a form field is unselected.
     *
     * @event formFieldUnselect
     * @blazorProperty 'formFieldUnselect'
     */
    formFieldUnselect?: base.EmitType<FormFieldUnselectArgs>;
    /**
     * Triggers when the form field is double-clicked.
     *
     * @event formFieldDoubleClick
     * @blazorProperty 'formFieldDoubleClick'
     */
    formFieldDoubleClick?: base.EmitType<FormFieldDoubleClickArgs>;
    /**
     * Fires when a custom context menu option is selected.
     *
     * @event customContextMenuSelect
     */
    customContextMenuSelect?: base.EmitType<CustomContextMenuSelectEventArgs>
    /**
     * Fires before the custom context menu option is opened.
     *
     * @event customContextMenuBeforeOpen
     */
    customContextMenuBeforeOpen?: base.EmitType<CustomContextMenuBeforeOpenEventArgs>
    /**
     * Triggers when the customized keyboard command keys are pressed.
     *
     * @event keyboardCustomCommands
     */
    keyboardCustomCommands?: base.EmitType<KeyboardCustomCommandsEventArgs>;
    /**
     * Triggers when the page organizer save as triggered.
     *
     * @event pageOrganizerSaveAs
     */
    pageOrganizerSaveAs?: base.EmitType<PageOrganizerSaveAsEventArgs>;
    /**
     * PDF document annotation collection.
     *
     * @private
     * @deprecated
     */
    annotations?: PdfAnnotationBaseModel[];
    /**
     * PDF document form fields collection.
     *
     * @private
     * @deprecated
     */
    formFields?: PdfFormFieldBaseModel[];
    /**
     * store the drawing objects.
     *
     * @private
     * @deprecated
     */
    drawingObject?: PdfAnnotationBaseModel;
}
//node_modules/@syncfusion/ej2-pdfviewer/src/pdfviewer/toolbar/toolbar.d.ts
/**
 * Toolbar module
 *
 * @param {string} args - args
 * @param {Event} event - args
 * @returns {void}
 */
export  class Toolbar {
    /**
     * @private
     */
    toolbar: navigations.Toolbar;
    private pdfViewer;
    private pdfViewerBase;
    private currentPageBox;
    private zoomDropDown;
    private currentPageBoxElement;
    /**
     * @private
     */
    uploadedFile: string | Uint8Array;
    /**
     * @private
     */
    uploadedDocumentName: string;
    /**
     * @private
     */
    toolbarElement: HTMLElement;
    private itemsContainer;
    private openDocumentItem;
    private firstPageItem;
    private previousPageItem;
    private nextPageItem;
    private lastPageItem;
    private zoomInItem;
    private zoomOutItem;
    private totalPageItem;
    private downloadItem;
    private zoomDropdownItem;
    /**
     * @private
     */
    submitItem: HTMLElement;
    private fileInputElement;
    private textSelectItem;
    private panItem;
    private printItem;
    private textSearchItem;
    private undoItem;
    private redoItem;
    private commentItem;
    /**
     * @private
     */
    annotationItem: HTMLElement;
    /**
     * @private
     */
    formDesignerItem: HTMLElement;
    private moreOptionItem;
    private organizePageItem;
    /**
     * @private
     */
    annotationToolbarModule: AnnotationToolbar;
    /**
     * @private
     */
    formDesignerToolbarModule: FormDesignerToolbar;
    /**
     * @private
     */
    moreDropDown: splitbuttons.DropDownButton;
    private isPageNavigationToolDisabled;
    private isMagnificationToolDisabled;
    /**
     * @private
     */
    isSelectionToolDisabled: boolean;
    private isScrollingToolDisabled;
    private isOpenBtnVisible;
    private isNavigationToolVisible;
    private isMagnificationToolVisible;
    private isSelectionBtnVisible;
    private isScrollingBtnVisible;
    private isDownloadBtnVisible;
    private isPrintBtnVisible;
    private isSearchBtnVisible;
    /**
     * @private
     */
    isTextSearchBoxDisplayed: boolean;
    private isUndoRedoBtnsVisible;
    private isAnnotationEditBtnVisible;
    private isFormDesignerEditBtnVisible;
    private isCommentBtnVisible;
    private isSubmitbtnvisible;
    private toolItems;
    private itemsIndexArray;
    /**
     * @private
     */
    PanElement: any;
    /**
     * @private
     */
    SelectToolElement: HTMLElement;
    /**
     * @private
     */
    CommentElement: HTMLElement;
    /**
     * @param {PdfViewer} viewer - It describes about the viewer
     * @param {PdfViewerBase} viewerBase - It describes about the viewer base
     * @private
     * @returns {void}
     */
    constructor(viewer: PdfViewer, viewerBase: PdfViewerBase);
    /**
     * @param {string} width - It describes about the width
     * @private
     * @returns {HTMLElement} - html element
     */
    intializeToolbar(width: string): HTMLElement;
    private bindOpenIconEvent;
    private InitializeMobileToolbarInBlazor;
    /**
     * Shows /hides the toolbar in the PdfViewer
     *
     * @param  {boolean} enableToolbar - If set true , its show the Toolbar
     * @returns {void}
     */
    showToolbar(enableToolbar: boolean): void;
    /**
     * Shows/hides the Navigation toolbar in the PdfViewer
     *
     * @param  {boolean} enableNavigationToolbar - If set true , its show the Navigation Toolbar
     * @returns {void}
     */
    showNavigationToolbar(enableNavigationToolbar: boolean): void;
    /**
     * Shows /hides the annotation toolbar in the PdfViewer
     *
     * @param  {boolean} enableAnnotationToolbar - If set true , its show the annotation Toolbar
     * @returns {void}
     */
    showAnnotationToolbar(enableAnnotationToolbar: boolean): void;
    /**
     * Shows /hides the the toolbar items in the PdfViewer
     *
     * @param  {string[]} items - Defines the toolbar items in the toolbar
     * @param  {boolean} isVisible - If set true, then its show the toolbar Items
     * @returns {void}
     */
    showToolbarItem(items: (CustomToolbarItemModel | 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: (CustomToolbarItemModel | ToolbarItem)[], isEnable: boolean): void;
    /**
     * @param {any} restrictionSummary - It describes about the restriction summary
     * @param {boolean} isEnable - It describes about the isEnable boolean value
     * @private
     * @returns {void}
     */
    DisableToolbarItems(restrictionSummary: any, isEnable: boolean): void;
    private showOpenOption;
    private showPageNavigationTool;
    private showMagnificationTool;
    private showSelectionTool;
    private showScrollingTool;
    private showDownloadOption;
    private showPageOrganizerToolbar;
    private showPrintOption;
    private showSearchOption;
    private showUndoRedoTool;
    private showCommentOption;
    private showAnnotationEditTool;
    private showFormDesignerEditTool;
    private showSubmitForm;
    private enableOpenOption;
    private enablePageNavigationTool;
    private enableMagnificationTool;
    private enableSelectionTool;
    private enableScrollingTool;
    private enableDownloadOption;
    private enablePrintOption;
    private enableSearchOption;
    private enableUndoRedoTool;
    private enableAnnotationEditTool;
    private enableFormDesignerEditTool;
    private enableCommentsTool;
    private enableOrganizePagesButton;
    /**
     * @private
     * @returns {void}
     */
    resetToolbar(): void;
    /**
     * @private
     * @returns {void}
     */
    updateToolbarItems(): void;
    /**
     * @private
     * @returns {void}
     */
    updateNavigationButtons(): void;
    /**
     * @private
     * @returns {void}
     */
    updateZoomButtons(): void;
    /**
     * @private
     * @returns {void}
     */
    updateUndoRedoButtons(): void;
    private enableCollectionAvailable;
    private enableCollectionAvailableInBlazor;
    private disableUndoRedoButtons;
    /**
     * @private
     * @returns {void}
     */
    destroy(): void;
    private destroyComponent;
    private destroyDependentComponent;
    /**
     * @param {number} pageIndex - It describes about the page index
     * @private
     * @returns {void}
     */
    updateCurrentPage(pageIndex: number): void;
    /**
     * @private
     * @returns {void}
     */
    updateTotalPage(): void;
    /**
     * @param {event} event - It describes about the event
     * @private
     * @returns {void}
     */
    openFileDialogBox(event: Event): void;
    private createToolbar;
    /**
     * Create a custom toolbar item in the PdfViewer
     *
     * @param  {number} startIndex - It describes about the start index
     * @returns {void}
     */
    private createCustomItem;
    private createToolbarItems;
    private afterToolbarCreationInMobile;
    private afterToolbarCreation;
    /**
     * @param {string} idString - It describes about the idString value
     * @param {string} className - It describes about the class name
     * @param {string} tooltipText - It describes about the tooltip text
     * @private
     * @returns {HTMLElement} - html element
     */
    addClassToolbarItem(idString: string, className: string, tooltipText: string): HTMLElement;
    private addPropertiesToolItemContainer;
    private createZoomDropdownElement;
    private createZoomDropdown;
    private createCurrentPageInputTemplate;
    private createTotalPageTemplate;
    private createNumericTextBox;
    private onToolbarKeydown;
    private createToolbarItemsForMobile;
    private createMoreOption;
    private createToolbarItem;
    /**
     * @param {HTMLElement} toolbarItem - It describes about the toolbar item
     * @param {string} tooltipText - It describes about the tooltip text
     * @private
     * @returns {void}
     */
    createTooltip(toolbarItem: HTMLElement, tooltipText: string): void;
    private onTooltipBeforeOpen;
    private createFileElement;
    private wireEvent;
    private unWireEvent;
    /**
     * @param {number} viewerWidth - It describes about the viewer width
     * @private
     * @returns {void}
     */
    onToolbarResize(viewerWidth: number): void;
    private toolbarOnMouseup;
    private applyHideToToolbar;
    private toolbarClickHandler;
    private handleOpenIconClick;
    private handleToolbarBtnClick;
    addInkAnnotation(): void;
    deSelectCommentAnnotation(): void;
    /**
     * @param {any} targetElement - It describes about the target element
     * @private
     * @returns {void}
     */
    addComments(targetElement: any): void;
    openZoomDropdown(): void;
    private loadDocument;
    private navigateToPage;
    private textBoxFocusOut;
    private onZoomDropDownInput;
    private onZoomDropDownInputClick;
    private zoomPercentSelect;
    private zoomDropDownChange;
    /**
     * @param {number} zoomFactor - It describes about the zoom factor
     * @private
     * @returns {void}
     */
    updateZoomPercentage(zoomFactor: number): void;
    private updateInteractionItems;
    /**
     * @param {boolean} iskeyboardClick - It describes about the iskeyboardclick boolean value
     * @private
     * @returns {void}
     */
    textSearchButtonHandler(iskeyboardClick?: boolean): void;
    /**
     * @param {string} id - It describes about the id value
     * @param {boolean} isKeyBoardEvent - It describes about the whether isKeyBoardEvent true or not
     * @private
     * @returns {void}
     */
    initiateAnnotationMode(id?: string, isKeyBoardEvent?: boolean): void;
    private initiateFormDesignerMode;
    /**
     * @private
     * @returns {void}
     */
    DisableInteractionTools(): void;
    /**
     * @param {HTMLElement} element - It describes about the element value
     * @private
     * @returns {void}
     */
    selectItem(element: HTMLElement): void;
    /**
     * @param {HTMLElement} element - It describes about the element value
     * @private
     * @returns {void}
     */
    deSelectItem(element: HTMLElement): void;
    /**
     * @param {boolean} isTextSelect - It describes about the isTextSelect boolean value
     * @private
     * @returns {void}
     */
    updateInteractionTools(isTextSelect: boolean): void;
    private initialEnableItems;
    private showSeparator;
    /**
     * @private
     * @returns {void}
     */
    applyToolbarSettings(): void;
    /**
     * @private
     * @returns {void}
     */
    applyToolbarSettingsForMobile(): void;
    private getStampMode;
    private stampBeforeOpen;
    private stampBeforeClose;
    /**
     * @private
     * @returns {void}
     */
    updateStampItems(): void;
    private stampSelect;
    private enableItems;
    /**
     * @private
     * @returns {string} - string
     */
    getModuleName(): string;
}
//node_modules/@syncfusion/ej2-pdfviewer/src/pdfviewer/toolbar/formdesigner-toolbar.d.ts
/**
 * @hidden
 */
export  class FormDesignerToolbar {
    private pdfViewer;
    private pdfViewerBase;
    /**
     * @private
     */
    primaryToolbar: Toolbar;
    toolbarElement: HTMLElement;
    private textboxItem;
    private passwordItem;
    private checkboxItem;
    private radioButtonItem;
    private dropdownItem;
    private listboxItem;
    private signatureItem;
    private deleteItem;
    private closeItem;
    /**
     * @private
     */
    toolbar: navigations.Toolbar;
    /**
     * @private
     */
    isToolbarHidden: boolean;
    private isTextboxBtnVisible;
    private isPasswordBtnVisible;
    private isCheckboxBtnVisible;
    private isRadiobuttonBtnVisible;
    private isDropdownBtnVisible;
    private isListboxBtnVisible;
    private isSignatureBtnVisible;
    private isDeleteBtnVisible;
    private toolbarBorderHeight;
    /**
     * @private
     */
    handWrittenSignatureItem: HTMLElement;
    constructor(viewer: PdfViewer, viewerBase: PdfViewerBase, toolbar: Toolbar);
    initializeFormDesignerToolbar(): void;
    /**
     * @private
     * @returns {void}
     */
    resetFormDesignerToolbar(): void;
    /**
     * @param {HTMLElement} element - It describes about the element value
     * @param {boolean} isInitialLoading - It describes about the isInitialLoading boolean value
     * @private
     * @returns {void}
     */
    showFormDesignerToolbar(element?: HTMLElement, isInitialLoading?: boolean): void;
    /**
     * @param {boolean} isAdjust - It describes about the isAdjust boolean value
     * @private
     * @returns {void}
     */
    adjustViewer(isAdjust: boolean): void;
    private getElementHeight;
    private updateViewerHeight;
    private resetViewerHeight;
    private getNavigationToolbarHeight;
    private updateContentContainerHeight;
    private getToolbarHeight;
    private createToolbarItems;
    private createSignContainer;
    private hoverInitialBtn;
    private getTemplate;
    private onToolbarClicked;
    private clickSignature;
    private clickInitial;
    private afterToolbarCreation;
    showHideDeleteIcon(isEnable: boolean): void;
    /**
     * @private
     * @returns {void}
     */
    applyFormDesignerToolbarSettings(): void;
    private showTextboxTool;
    private showPasswordTool;
    private showCheckboxTool;
    private showRadioButtonTool;
    private showDropdownTool;
    private showListboxTool;
    private showDrawSignatureTool;
    private showDeleteTool;
    private showSeparator;
    private applyHideToToolbar;
    /**
     * @private
     * @returns {void}
     */
    destroy(): void;
    private destroyDependentComponent;
}
//node_modules/@syncfusion/ej2-pdfviewer/src/pdfviewer/toolbar/annotation-toolbar.d.ts
/**
 * @param {string} args - args
 * @param {any} buttonElement - button element
 * @param {any} colorElement - color element
 * @returns {void}
 * @hidden
 */
export  class AnnotationToolbar {
    private pdfViewer;
    private pdfViewerBase;
    /**
     * @private
     */
    primaryToolbar: Toolbar;
    /**
     * @private
     */
    toolbarElement: HTMLElement;
    private highlightItem;
    private underlineItem;
    private strikethroughItem;
    private fontStyleStrikethroughItem;
    private fontStyleUnderlineItem;
    private deleteItem;
    private isSignatureIteam;
    /**
     * @private
     */
    freeTextEditItem: HTMLElement;
    /**
     * @private
     */
    colorDropDownElement: HTMLElement;
    /**
     * @private
     */
    colorDropDownElementInBlazor: HTMLElement;
    /**
     * @private
     */
    strokeDropDownElementInBlazor: HTMLElement;
    /**
     * @private
     */
    fontColorElementInBlazor: HTMLElement;
    private strokeDropDownElement;
    private thicknessElement;
    private shapeElement;
    private calibrateElement;
    private stampElement;
    private opacityDropDownElement;
    private colorDropDown;
    private opacityDropDown;
    private strokeDropDown;
    private thicknessDropDown;
    private shapeDropDown;
    private calibrateDropDown;
    private commentItem;
    private closeItem;
    private opacityIndicator;
    private thicknessIndicator;
    private HighlightElement;
    private UnderlineElement;
    private StrikethroughElement;
    private InkAnnotationElement;
    private FreeTextElement;
    /**
     * @private
     */
    toolbar: navigations.Toolbar;
    /**
     * @private
     */
    /**
     * @private
     */
    propertyToolbar: navigations.Toolbar;
    /**
     * @private
     */
    freeTextPropertyToolbar: navigations.Toolbar;
    /**
     * @private
     */
    stampPropertyToolbar: navigations.Toolbar;
    colorPalette: inputs.ColorPicker;
    private strokeColorPicker;
    private opacitySlider;
    private thicknessSlider;
    private toolbarBorderHeight;
    /**
     * @private
     */
    isToolbarHidden: boolean;
    /**
     * @private
     */
    isMobileAnnotEnabled: boolean;
    private isHighlightEnabled;
    private isMobileHighlightEnabled;
    private isUnderlineEnabled;
    private isMobileUnderlineEnabled;
    private isStrikethroughEnabled;
    private isMobileStrikethroughEnabled;
    private isHighlightBtnVisible;
    private isCommentBtnVisible;
    private isUnderlineBtnVisible;
    private isStrikethroughBtnVisible;
    private isColorToolVisible;
    private isOpacityToolVisible;
    private isDeleteAnnotationToolVisible;
    private isCurrentAnnotationOpacitySet;
    private isStampBtnVisible;
    private isShapeBtnVisible;
    private isSignatureBtnVisible;
    private isInkBtnVisible;
    private isFontFamilyToolVisible;
    private isFontSizeToolVisible;
    private isFontAlignToolVisible;
    private isFontColorToolVisible;
    private isFontStylesToolVisible;
    private isCommentPanelBtnVisible;
    private isFreeTextBtnVisible;
    private isCalibrateBtnVisible;
    private isStrokeColorToolVisible;
    private isThicknessToolVisible;
    private menuItems;
    private fontSize;
    private fontFamily;
    private stampMenu;
    private stampParentID;
    private fontColorPalette;
    private fontFamilyElement;
    private fontSizeElement;
    private fontColorElement;
    private textAlignElement;
    private textPropElement;
    private lineElement;
    private arrowElement;
    private rectangleElement;
    private circleElement;
    private polygonElement;
    private calibrateDistance;
    private calibratePerimeter;
    private calibrateArea;
    private calibrateRadius;
    private calibrateVolume;
    private alignLeftElement;
    private alignRightElement;
    private alignCenterElement;
    private alignJustifyElement;
    private boldElement;
    private italicElement;
    private alignmentToolbar;
    private propertiesToolbar;
    private fontColorDropDown;
    private textAlignDropDown;
    private textPropertiesDropDown;
    /**
     * @private
     */
    handWrittenSignatureItem: HTMLElement;
    /**
     * @private
     */
    inkAnnotationItem: HTMLElement;
    /**
     * @private
     */
    inkAnnotationSelected: boolean;
    /**
     * @private
     */
    openSignaturePopup: boolean;
    private isSavedSignatureClicked;
    private saveSignatureCount;
    private saveInitialCount;
    private shapesItem;
    private calibrateItem;
    /**
     * @private
     */
    toolbarCreated: boolean;
    /**
     * @private
     */
    isToolbarCreated: boolean;
    /**
     * @private
     */
    textMarkupToolbarElement: HTMLElement;
    /**
     * @private
     */
    shapeToolbarElement: HTMLElement;
    private stampToolbarElement;
    private calibrateToolbarElement;
    private freetextToolbarElement;
    private signatureInkToolbarElement;
    constructor(viewer: PdfViewer, viewerBase: PdfViewerBase, toolbar: Toolbar);
    /**
     * @private
     * @returns {void}
     */
    initializeAnnotationToolbar(): void;
    createMobileAnnotationToolbar(isEnable: boolean, isPath?: boolean): void;
    hideMobileAnnotationToolbar(): void;
    private FreeTextForMobile;
    /**
     * @param {string} shapeType - It describes about the shape type
     * @private
     * @returns {void}
     */
    createPropertyTools(shapeType: string): void;
    private showPropertyTool;
    private stampToolMobileForMobile;
    private shapeToolMobile;
    private calibrateToolMobile;
    private textMarkupForMobile;
    private showShapeTool;
    private signatureInkForMobile;
    private hideExistingTool;
    private applyProperiesToolSettings;
    private showImagePropertyTool;
    private showFreeTextPropertiesTool;
    private shapePropertiesTool;
    private showStampPropertiesTool;
    private showTextMarkupPropertiesTool;
    private showInkPropertiesTool;
    /**
     * @param {string} id - It describes about the id value
     * @private
     * @returns {any} - any
     */
    createAnnotationToolbarForMobile(id?: string): any[];
    /**
     * @private
     * @returns {void}
     */
    adjustMobileViewer(): void;
    /**
     * Shows /hides the toolbar in the PdfViewer
     *
     * @param {boolean} enable - If set true , its show the Toolbar
     * @returns {void}
     */
    showToolbar(enable: boolean): void;
    private createMobileToolbarItems;
    private goBackToToolbar;
    private createToolbarItems;
    private createSignContainer;
    private updateSignatureCount;
    private openSignature;
    private hoverSignatureDelete;
    private hoverInitialBtn;
    private hoverSignatureImage;
    private leaveSignatureDelete;
    private clickSignature;
    private clickInitial;
    private leaveSignatureImage;
    private addSignature;
    renderAddedSignature(): void;
    deleteSavedSign(event: any): void;
    private getTemplate;
    private createStampContainer;
    /**
     * @private
     * @returns {void}
     */
    createCustomStampElement(): void;
    addStampImage: (args: any) => void;
    checkStampAnnotations(): void;
    private createDropDowns;
    private mobileColorpicker;
    private opacityDropDownOpen;
    private onColorPickerCancelClick;
    private onStrokePickerCancelClick;
    private colorDropDownBeforeOpen;
    /**
     * @private
     * @returns {void}
     */
    setCurrentColorInPicker(): void;
    private colorDropDownOpen;
    private strokeDropDownBeforeOpen;
    private setCurrentStrokeColorInPicker;
    private strokeDropDownOpen;
    private popupPosition;
    private onFontColorChange;
    private onFontFamilyChange;
    private onFontSizeChange;
    private textAlignDropDownBeforeOpen;
    private textPropertiesDropDownBeforeOpen;
    private onClickTextAlignment;
    private onClickTextProperties;
    private opacityChange;
    private opacityDropDownBeforeOpen;
    private thicknessDropDownBeforeOpen;
    private thicknessDropDownOpen;
    private calculateToolbarPosition;
    private thicknessChangeInBlazor;
    private thicknessChange;
    private ShapeThickness;
    private createDropDownButton;
    private createShapeOptions;
    private createPropertyToolbarForMobile;
    private createStampToolbarItemsForMobile;
    private createShapeToolbarItemsForMobile;
    private createCalibrateToolbarItemsForMobile;
    private handleShapeTool;
    private createPropDropDownButton;
    private textAlignmentToolbarItems;
    private afterAlignmentToolbarCreation;
    private afterPropertiesToolbarCreation;
    private createDropDownListForSize;
    private createDropDownListForFamily;
    private textPropertiesToolbarItems;
    private createShapeToolbarItems;
    private createCalibrateToolbarItems;
    private onShapeToolbarClicked;
    private onCalibrateToolbarClicked;
    private onShapeDrawSelection;
    private afterCalibrateToolbarCreationForMobile;
    private afterShapeToolbarCreationForMobile;
    private afterShapeToolbarCreation;
    private afterCalibrateToolbarCreation;
    private afterMobileToolbarCreation;
    private createColorPicker;
    private onColorPickerChange;
    private onStrokePickerChange;
    /**
     * @param {HTMLElement} element - It describes about the element
     * @param {string} color - It describes about the color
     * @private
     * @returns {void}
     */
    updateColorInIcon(element: HTMLElement, color: string): void;
    /**
     * @param {string} currentOption - It describes about the current option
     * @private
     * @returns {void}
     */
    updateTextPropertySelection(currentOption: string): void;
    /**
     * @param {string} family - It describes about the family value
     * @private
     * @returns {void}
     */
    updateFontFamilyInIcon(family: string): void;
    /**
     * @param {string} align - It describes about the align
     * @private
     * @returns {void}
     */
    updateTextAlignInIcon(align: string): void;
    /**
     * @param {number} size - It describes about the size value
     * @private
     * @returns {void}
     */
    updateFontSizeInIcon(size: number): void;
    private updateOpacityIndicator;
    private updateThicknessIndicator;
    private createSlider;
    private createThicknessSlider;
    private afterToolbarCreation;
    private onToolbarClicked;
    private addInkAnnotation;
    /**
     * @private
     * @returns {void}
     */
    deselectInkAnnotation(): void;
    private drawInkAnnotation;
    resetFreeTextAnnot(): void;
    private updateInkannotationItems;
    private showSignaturepanel;
    private handleFreeTextEditor;
    private updateFontFamily;
    private updateFontFamilyIcon;
    /**
     * @param {HTMLElement} element - It describes about the element value
     * @param {boolean} isInitialLoading - It describes about the isInitialLoading boolean value
     * @private
     * @returns {void}
     */
    showAnnotationToolbar(element?: HTMLElement, isInitialLoading?: boolean, isShow?: boolean): void;
    private enablePropertiesTool;
    /**
     * @private
     * @returns {void}
     */
    applyAnnotationToolbarSettings(): void;
    /**
     * @private
     * @returns {void}
     */
    applyMobileAnnotationToolbarSettings(): void;
    private showStickyNoteToolInMobile;
    private showSeparatorInMobile;
    private showInkAnnotationTool;
    private showSeparator;
    private showHighlightTool;
    private showUnderlineTool;
    private showStrikethroughTool;
    private showShapeAnnotationTool;
    private showCalibrateAnnotationTool;
    private showFreeTextAnnotationTool;
    private showStampAnnotationTool;
    private showSignatureTool;
    private showInkTool;
    private showFontFamilyAnnotationTool;
    private showFontSizeAnnotationTool;
    private showFontAlignAnnotationTool;
    private showFontColorAnnotationTool;
    private showFontStylesAnnotationTool;
    private showColorEditTool;
    private showStrokeColorEditTool;
    private showThicknessEditTool;
    private showOpacityEditTool;
    private showAnnotationDeleteTool;
    private showCommentPanelTool;
    private applyHideToToolbar;
    /**
     * @param {boolean} isAdjust - It describes about the isAdjust boolean value
     * @private
     * @returns {void}
     */
    adjustViewer(isAdjust: boolean): void;
    private updateContentContainerHeight;
    private getToolbarHeight;
    private getNavigationToolbarHeight;
    private handleHighlight;
    private handleUnderline;
    private handleStrikethrough;
    /**
     * @private
     * @returns {void}
     */
    deselectAllItemsInBlazor(): void;
    /**
     * @private
     * @returns {void}
     */
    deselectAllItemsForMobile(): void;
    /**
     * @private
     * @returns {void}
     */
    deselectAllItems(): void;
    private updateInteractionTools;
    /**
     * @param {boolean} isEnable - It describes about the isEnable boolean value
     * @param {boolean} deleteIconCicked - It describes about the delete icon clicked boolean value
     * @private
     * @returns {void}
     */
    selectAnnotationDeleteItem(isEnable: boolean, deleteIconCicked?: boolean): void;
    /**
     * @param {boolean} isEnable - It describes about the isEnable boolean value
     * @private
     * @returns {void}
     */
    enableTextMarkupAnnotationPropertiesTools(isEnable: boolean): void;
    private checkAnnotationPropertiesChange;
    /**
     * @param {boolean} isEnable - It describes about the isEnable boolean value
     * @private
     * @returns {void}
     */
    enableAnnotationPropertiesTools(isEnable: boolean): void;
    /**
     * @param {boolean} isEnable - It describes about the isEnable boolean value
     * @private
     * @returns {void}
     */
    enableSignaturePropertiesTools(isEnable: boolean): void;
    /**
     * @param {boolean} isEnable - It describes about the isEnable boolean value
     * @private
     * @returns {void}
     */
    enableStampAnnotationPropertiesTools(isEnable: boolean): void;
    /**
     * @param {boolean} isEnable - It describes about the isEnable boolean value
     * @private
     * @returns {void}
     */
    enableFreeTextAnnotationPropertiesTools(isEnable: boolean): void;
    /**
     * @param {boolean} isEnable - It describes about the isEnable boolean value
     * @private
     * @returns {void}
     */
    enableAnnotationAddTools(isEnable: boolean): void;
    /**
     * @private
     * @returns {boolean} - boolean
     */
    isAnnotationButtonsEnabled(): boolean;
    /**
     * @param {boolean} isEnable - It describes about the isEnable boolean value
     * @private
     * @returns {void}
     */
    enableCommentPanelTool(isEnable: boolean): void;
    private updateToolbarItems;
    private enableTextMarkupAddTools;
    /**
     * @private
     * @returns {void}
     */
    updateAnnnotationPropertyItems(): void;
    private getColorHexValue;
    private setColorInPicker;
    /**
     * @private
     * @returns {void}
     */
    resetToolbar(): void;
    /**
     * @private
     * @returns {void}
     */
    clearTextMarkupMode(): void;
    /**
     * @private
     * @returns {void}
     */
    clearShapeMode(): void;
    /**
     * @private
     * @returns {void}
     */
    clearMeasureMode(): void;
    /**
     * @private
     * @returns {void}
     */
    clear(): void;
    /**
     * @private
     * @returns {void}
     */
    destroy(): void;
    private destroyComponent;
    private destroyDependentComponent;
    private getElementHeight;
    private updateViewerHeight;
    private resetViewerHeight;
    /**
     * @private
     * @returns {void}
     */
    afterAnnotationToolbarCreationInBlazor(): void;
    private addClassToToolbarInBlazor;
    private handleHighlightInBlazor;
    private handleUnderlineInBlazor;
    private handleStrikethroughInBlazor;
    private AnnotationSliderOpened;
    private DropDownOpened;
    private enableItems;
}
//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.
 *
 * @param {Event} event - args
 * @returns {void}
 */
export  class ThumbnailView {
    private pdfViewer;
    private pdfViewerBase;
    private previousElement;
    private thumbnailSelectionRing;
    private thumbnailImage;
    private startIndex;
    private thumbnailLimit;
    private thumbnailThreshold;
    private thumbnailRequestsBatch;
    private thumbnailTopMargin;
    private thumbnailTop;
    private isRendered;
    private list;
    /**
     * @private
     */
    thumbnailPageSize: any[];
    private thumbnailRequestHandler;
    /**
     * @private
     */
    isThubmnailOpen: boolean;
    /**
     * @private
     */
    isThumbnailClicked: boolean;
    /**
     * @private
     */
    thumbnailView: HTMLElement;
    /**
     * @param {PdfViewer} pdfViewer - It describes about the pdfviewer
     * @param {PdfViewerBase} pdfViewerBase - It describes about the pdfviewer base
     * @private
     * @returns {void}
     */
    constructor(pdfViewer: PdfViewer, pdfViewerBase: PdfViewerBase);
    /**
     * @private
     * @returns {void}
     */
    createThumbnailContainer(): void;
    private thumbnailOnScroll;
    /**
     * Open the thumbnail pane of the PdfViewer.
     *
     * @returns {void}
     */
    openThumbnailPane(): void;
    /**
     * Close the thumbnail pane of the PdfViewer.
     *
     * @returns {void}
     */
    closeThumbnailPane(): void;
    /**
     * @private
     * @returns {void}
     */
    createRequestForThumbnails(): void;
    private isThumbnailViewOpen;
    /**
     * Checks if thumbnails have been requested for the given page number.
     *
     * @param {number} pageNumber The page number to check.
     * @returns {boolean} True if thumbnails have been requested, otherwise false.
     */
    private thumbnailsRequestedForPage;
    /**
     * @param {number} pageNumber - Specify the pageNumber.
     * @returns {void}
     * @private
     */
    updateScrollTopForThumbnail(pageNumber: number): void;
    /**
     * @param {number} pageIndex - It describes about the page index
     * @private
     * @returns {void}
     */
    private renderThumbnailEmptyPage;
    /**
     * @param {ThumbnailView} prox - It describes about the prox
     * @private
     * @returns {void}
     */
    renderViewPortThumbnailImage(prox?: ThumbnailView): void;
    /**
     * @param {any} event - It describes about the event
     * @private
     * @returns {void}
     */
    thumbnailOnMessage(event: any): void;
    /**
     * @param {any} data - It describes about the data
     * @private
     * @returns {void}
     */
    updateThumbnailCollection(data: any): void;
    private renderDiv;
    /**
     * @param {number} pageNumber - It describes about the page number
     * @private
     * @returns {void}
     */
    gotoThumbnailImage(pageNumber: number): void;
    /**
     * Determines if there is a need to request thumbnails based on the current page number.
     *
     * @param {number} currentPageNumber The current page number.
     * @returns {number} The page number to request thumbnails for.
     */
    private determineThumbnailsRequest;
    private checkThumbnailScroll;
    private getPageNumberFromID;
    private setFocusStyle;
    private renderThumbnailImage;
    private createRequestForThumbnailImages;
    private renderServerThumbnailImage;
    private renderClientThumbnailImage;
    private thumbnailImageRender;
    private wireUpEvents;
    private unwireUpEvents;
    /**
     * @param {MouseEvent} event - It describes about the event
     * @param {boolean} isKeyboard - It describes about the isKeyboard value
     * @private
     * @returns {void}
     */
    thumbnailClick: (event: MouseEvent, isKeyboard?: boolean) => void;
    /**
     * @param {KeyboardEvent} event - It describes about the event
     * @private
     * @returns {void}
     */
    private thumbnailKeydown;
    private goToThumbnailPage;
    private setSelectionStyle;
    /**
     * @param {MouseEvent} event - It describes about the event
     * @private
     * @returns {void}
     */
    thumbnailMouseOver: (event: MouseEvent) => void;
    private setMouseOverStyle;
    /**
     * @param {MouseEvent} event - It describes about the event
     * @private
     * @returns {void}
     */
    thumbnailMouseLeave: (event: MouseEvent) => void;
    private setMouseLeaveStyle;
    private setMouseFocusStyle;
    private setMouseFocusToFirstPage;
    /**
     * @private
     * @returns {void}
     */
    clear(): void;
    private getVisibleThumbs;
    private getVisibleElements;
    private binarySearchFirstItem;
    private backtrackBeforeAllVisibleElements;
    /**
     * @param {number} index - It describes about the index value
     * @private
     * @returns {HTMLElement} - html element
     */
    private getThumbnailElement;
    /**
     * @param {number} index - It describes about the index value
     * @private
     * @returns {HTMLElement} - html element
     */
    private getThumbnailLinkElement;
    /**
     * @param {number} index - It describes about the index value
     * @private
     * @returns {HTMLImageElement} - html image element
     */
    private getThumbnailImageElement;
    /**
     * @private
     * @returns {void}
     */
    destroy(): void;
    /**
     * @private
     * @returns {string} - string
     */
    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/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;
    rotation?: 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.
 *
 * @param {Event} event - event
 * @returns {void}
 */
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 backwardStart;
    /**
     * @private
     */
    selectionRangeArray: ISelection[];
    private selectionAnchorTouch;
    private selectionFocusTouch;
    private scrollMoveTimer;
    private isMouseLeaveSelection;
    /**
     * @private
     */
    isTouchSelection: boolean;
    private previousScrollDifference;
    private topStoreLeft;
    private topStoreRight;
    private isTextSearched;
    private isSelectionStartTriggered;
    private allTextContent;
    /**
     * @param {PdfViewer} pdfViewer - It describes about the pdfviewer
     * @param {PdfViewerBase} pdfViewerBase - It describes about the pdfviewer base
     * @private
     * @returns {void}
     */
    constructor(pdfViewer: PdfViewer, pdfViewerBase: PdfViewerBase);
    /**
     * @param {EventTarget} target - It describes about the target
     * @param {number} x - It describes about the X value
     * @param {number} y - It describes about the Y value
     * @param {boolean} isExtended - It describes about the isExtended boolean value
     * @private
     * @returns {void}
     */
    textSelectionOnMouseMove(target: EventTarget, x: number, y: number, isExtended?: boolean): void;
    /**
     * @param {EventTarget} target - It describes about the target
     * @param {number} x - It describes about the X value
     * @param {number} y - It describes about the Y value
     * @param {boolean} isforward - It describes about the isforward boolean value
     * @private
     * @returns {boolean} - boolean
     */
    textSelectionOnDrag(target: EventTarget, x: number, y: number, isforward: boolean): boolean;
    /**
     * Select the target text region in the PDF document of the given bounds.
     *
     * @param  {number} pageNumbers - Specifies the page number
     * @param  {IRectangle[]} bounds -  Specifies the bounds of the texts.
     * @returns {void}
     */
    selectTextRegion(pageNumbers: number, bounds: IRectangle[]): void;
    /**
     * @param {number} left - It describes about the left value
     * @param {number} textDiVLeft - It describes about the text div left value
     * @param {number} totalLeft - It describes about the total left value
     * @param {number} x - It describes about the x value
     * @private
     * @returns {boolean} - boolean
     */
    checkLeftBounds(left: number, textDiVLeft: number, totalLeft: number, x: number): boolean;
    /**
     * @param {number} top - It describes about the top value
     * @param {number} currentTop - It describes about the current top value
     * @param {number} y - It describes about the Y value
     * @private
     * @returns {boolean} - boolean
     */
    checkTopBounds(top: number, currentTop: number, y: number): boolean;
    /**
     * @param {MouseEvent} event - It describes about the event
     * @private
     * @returns {void}
     */
    textSelectionOnMouseLeave(event: MouseEvent): void;
    private scrollForwardOnSelection;
    private scrollBackwardOnSelection;
    /**
     * @private
     * @returns {void}
     */
    clear(): void;
    /**
     * @param {any} element - It describes about the element
     * @param {number} x - It describes about the X value
     * @param {number} y - It describes about the Y value
     * @param {boolean} isStoreSelection - It describes about the isStoreSelection value
     * @private
     * @returns {void}
     */
    selectAWord(element: any, x: number, y: number, isStoreSelection: boolean): void;
    private getSelectionRange;
    /**
     * @param {MouseEvent} event - It describes about the event
     * @private
     * @returns {void}
     */
    selectEntireLine(event: MouseEvent): void;
    /**
     * @private
     * @returns {void}
     */
    enableTextSelectionMode(): void;
    clearTextSelection(): void;
    /**
     * @private
     * @returns {void}
     */
    removeTouchElements(): void;
    /**
     * @private
     * @returns {void}
     */
    resizeTouchElements(): void;
    /**
     * @param {MouseEvent} event - It describes about the event
     * @private
     * @returns {void}
     */
    textSelectionOnMouseup(event: MouseEvent): void;
    /**
     * @private
     * @returns {void}
     */
    fireTextSelectEnd(): void;
    /**
     * @param {boolean}  isMaintainSelection - It describes about the isMaintainSelection value
     * @param {boolean} isStich - It describes about the isStich value
     * @private
     * @returns {void}
     */
    maintainSelectionOnZoom(isMaintainSelection: boolean, isStich: boolean): void;
    /**
     * @param {number} pageNumber - It describes about the page number value
     * @private
     * @returns {boolean} - boolean
     */
    isSelectionAvailableOnScroll(pageNumber: number): boolean;
    /**
     * @param {number} pageNumber - It describes about the page number
     * @private
     * @returns {void}
     */
    applySelectionRangeOnScroll(pageNumber: number): void;
    private getSelectionRangeFromArray;
    private applySelectionRange;
    private applySelectionMouseScroll;
    /**
     * @param {number} pageNumber - It describes about the page number
     * @param {boolean} isStich - It describes about the isStich value
     * @private
     * @returns {void}
     */
    maintainSelectionOnScroll(pageNumber: number, isStich: boolean): void;
    /**
     * @param {number} pageNumber - It describes about the page number
     * @param {boolean} isStich - It describes about the isStich value
     * @private
     * @returns {void}
     */
    maintainSelection(pageNumber: number, isStich: boolean): void;
    private getCorrectOffset;
    private pushSelectionRangeObject;
    private extendCurrentSelection;
    private stichSelection;
    /**
     * @param {number} currentPageNumber - It describes about the current page number
     * @private
     * @returns {void}
     */
    textSelectionOnMouseWheel(currentPageNumber: number): void;
    /**
     * @param {number} currentPageNumber - It describes about the current page number
     * @private
     * @returns {void}
     */
    stichSelectionOnScroll(currentPageNumber: number): void;
    private extendSelectionStich;
    /**
     * @param {number} pageNumber - It describes about the page number
     * @param {number} anchorPageId - It describes about the anchor page id
     * @param {number} focusPageId - It describes about the focus page id
     * @private
     * @returns {ISelection} - ISelection
     */
    createRangeObjectOnScroll(pageNumber: number, anchorPageId: number, focusPageId: number): ISelection;
    private getSelectionRangeObject;
    private getSelectionBounds;
    private getSelectionRectangleBounds;
    private getAngle;
    private getTextId;
    private normalizeBounds;
    private getMagnifiedValue;
    /**
     * @param {number} pageNumber - It describes about the page number
     * @private
     * @returns {IRectangle} - IRectangle
     */
    getCurrentSelectionBounds(pageNumber: number): IRectangle;
    private createRangeForSelection;
    private maintainSelectionArray;
    /**
     * @private
     * @returns {void}
     */
    applySpanForSelection(): void;
    /**
     * @param {TouchEvent} event - It describes about the event
     * @param {number} x - It describes about the X value
     * @param {number} y - It describes about the Y value
     * @private
     * @returns {void}
     */
    initiateTouchSelection(event: TouchEvent, x: number, y: number): void;
    private selectTextByTouch;
    private setTouchSelectionStartPosition;
    private getTouchAnchorElement;
    private getTouchFocusElement;
    private createTouchSelectElement;
    /**
     * @param {any} top - It describes about the top value
     * @param {any} left - It describes about the left value
     * @private
     * @returns {void}
     */
    calculateContextMenuPosition(top: any, left: any): void;
    private onLeftTouchSelectElementTouchStart;
    private onRightTouchSelectElementTouchStart;
    private onLeftTouchSelectElementTouchEnd;
    private onRightTouchSelectElementTouchEnd;
    /**
     * @private
     * @returns {void}
     */
    initiateSelectionByTouch(): void;
    private terminateSelectionByTouch;
    private getSpanBounds;
    private onLeftTouchSelectElementTouchMove;
    private onRightTouchSelectElementTouchMove;
    private getNodeElement;
    private isTouchedWithinContainer;
    private onTouchElementScroll;
    private isCloserTouchScroll;
    private getClientValueTop;
    private isScrolledOnScrollBar;
    private getTextLastLength;
    private getNodeElementFromNode;
    /**
     * Copy the selected text in the PDF Document.
     *
     * @returns {void}
     */
    copyText(): void;
    /**
     * @private
     * @returns {void}
     */
    destroy(): void;
    /**
     * @private
     * @returns {string} - string
     */
    getModuleName(): string;
}
//node_modules/@syncfusion/ej2-pdfviewer/src/pdfviewer/text-search/text-search.d.ts
/**
 * TextSearch module
 *
 * @param {Event} event - event
 * @returns {void}
 */
export  class TextSearch {
    /**
     * @private
     */
    isTextSearch: boolean;
    /**
     * @private
     */
    searchBtn: HTMLElement;
    /**
     * @private
     */
    searchInput: HTMLElement;
    /**
     * @private
     */
    searchCountEle: HTMLElement;
    /**
     * @private
     */
    searchInputContainer: HTMLElement;
    /**
     * @private
     */
    searchCount: number;
    /**
     * @private
     */
    currentOccurrence: number;
    private pdfViewer;
    private pdfViewerBase;
    private searchBox;
    private nextSearchBtn;
    private prevSearchBtn;
    private searchIndex;
    private currentSearchIndex;
    private startIndex;
    /**
     * @private
     */
    searchPageIndex: number;
    private startSearchPageIndex;
    private searchString;
    private isMatchCase;
    private isMultiSearch;
    private isSingleSearch;
    private findTextDocumentCollection;
    private searchAutocompleteObj;
    private searchRequestHandler;
    private textSearchHandleRequest;
    /**
     * @private
     */
    isTextSearchHandled: boolean;
    /**
     * @private
     */
    textSearchOpen: boolean;
    /**
     * @private
     */
    programaticalSearch: boolean;
    /**
     * @private
     */
    isFiltering: boolean;
    private textContents;
    /**
     * @private
     */
    searchMatches: Array<any[]>;
    private multiSearchCounts;
    private getSearchTextDetails;
    private searchedPages;
    private isPrevSearch;
    private isExactMatch;
    private autompleteDataSource;
    private matchAnyWordCheckBox;
    private searchedOccurrences;
    private isSelectedFromPopup;
    /**
     * @private
     */
    isDocumentTextCollectionReady: boolean;
    private intervalId;
    /**
     * @private
     */
    searchTextDivzIndex: string;
    private tempElementStorage;
    /**
     * @private
     */
    isMessagePopupOpened: boolean;
    /**
     * @private
     */
    documentTextCollection: DocumentTextCollectionSettingsModel[][];
    /**
     * @private
     */
    isTextRetrieved: boolean;
    private isTextSearched;
    private isTextSearchEventTriggered;
    private isSearchText;
    private isLastOccurrenceCompleted;
    private isInitialSearch;
    /**
     * @param {PdfViewer} pdfViewer - It describes about the pdf viewer
     * @param {PdfViewerBase} pdfViewerBase - It describes about the pdfviewer base
     * @private
     * @returns {void}
     */
    constructor(pdfViewer: PdfViewer, pdfViewerBase: PdfViewerBase);
    /**
     * @private
     * @returns {void}
     */
    createTextSearchBox(): void;
    private setLoaderProperties;
    private showLoadingIndicator;
    private textSearchWhileLoading;
    /**
     * @param {any} resultPages - Result of the text search word
     * @param {number} totalSearchCount - Search count of the word
     * @param {string} searchWord - Word that given for the text search
     * @param {boolean} matchCase - It gives about the match case
     * @param {boolean} isFirstResult - It gives first result from the request
     * @param {boolean} isCompleted - It gives the search complete indication
     * @param {number} endIndex - It describes end pageindex of the result
     * @private
     * @returns {void}
     */
    searchTextAfteresult(resultPages: any, totalSearchCount: any, searchWord: string, matchCase: boolean, isFirstResult?: boolean, isCompleted?: boolean, endIndex?: number): void;
    private updateLoadingIndicator;
    /**
     * @param {number} pageNumber - It decribes the search pageIndex value
     * @param {boolean} isPageChange - It describes the first result highlight
     * @param {boolean} isSearchCompleted - It describes the text search has been completed or not.
     * @private
     * @returns {void}
     */
    hightlightSearchedTexts(pageNumber?: number, isPageChange?: boolean, isSearchCompleted?: boolean): void;
    /**
     * @private
     * @returns {void}
     */
    textSearchBoxOnResize(): void;
    /**
     * @param {boolean} isShow - It describes about the isShow
     * @private
     * @returns {void}
     */
    showSearchBox(isShow: boolean): void;
    /**
     * @private
     * @returns {void}
     */
    searchAfterSelection(): void;
    private calculateSearchCount;
    private getSearchCountText;
    private adjustInputContainerWidth;
    private initiateTextSearch;
    private handleSearchAfterTextCollectionReady;
    /**
     * @param {string} inputString - It describes about the input string
     * @param {boolean} isMobileSearch - Indicates is mobile search or not
     * @private
     * @returns {void}
     */
    initiateSearch(inputString: string, isMobileSearch?: boolean): void;
    private textSearch;
    private nextSearch;
    private findNextPageWithText;
    private findFirstNonEmptyPage;
    private prevSearch;
    private scrollToSearch;
    private isScrollPages;
    private findPreviousPageWithText;
    private initSearch;
    private getPossibleMatches;
    private correctLinetext;
    private getSearchTextContent;
    private getSearchPage;
    private areAllNonEmptyPagesSearched;
    private areAllOccurencesSearched;
    private highlightSearchedTexts;
    private addDivForSearch;
    private addDivElement;
    private createSearchTextDiv;
    private calculateBounds;
    private isClassAvailable;
    private getScrollElement;
    private scrollToSearchStr;
    /**
     * @param {number} pageIndex - It describes about the page index
     * @private
     * @returns {void}
     */
    resizeSearchElements(pageIndex: number): void;
    /**
     * @param {number} pageNumber - It describes about the page number
     * @private
     * @returns {void}
     */
    highlightOtherOccurrences(pageNumber: number): void;
    private highlightOthers;
    /**
     * @private
     * @returns {void}
     */
    clearAllOccurrences(): void;
    /**
     * @private
     * @returns {any} - any
     */
    getIndexes(): any;
    private applyTextSelection;
    /**
     * @private
     * @param {boolean} [cleardocumentCollection=false] - If true, clears the document text collection.
     * @returns {void}
     */
    resetTextSearch(cleardocumentCollection?: boolean): void;
    private onTextSearchClose;
    private createRequestForSearch;
    private searchRequestOnSuccess;
    /**
     * @private
     * @returns {void}
     */
    getPDFDocumentTexts(): void;
    /**
     * @param {number} startIndex - It describes about the start index
     * @param {number} endIndex - It describes about the end index
     * @private
     * @returns {void}
     */
    createRequestForGetPdfTexts(startIndex: number, endIndex: number): void;
    /**
     * @private
     * @param {any} data - It gets the data
     * @param {number} startIndex - It gets the starting index
     * @param {number} endIndex - It gets the ending index
     * @returns {void}
     */
    pdfTextSearchRequestSuccess(data: any, startIndex: number, endIndex: number): void;
    private pdfTextSearchRequestOnSuccess;
    private updateDocumentCollection;
    private orderPdfTextCollections;
    private createSearchBoxButtons;
    private enablePrevButton;
    private enableNextButton;
    private checkBoxOnChange;
    /**
     * @private
     * @returns {void}
     */
    resetVariables(): void;
    resetVariablesTextSearch(): void;
    private searchKeypressHandler;
    private searchClickHandler;
    /**
     * @param {HTMLElement} element - It describes about the element
     * @param {HTMLElement} inputElement - It describes about the input element
     * @param {boolean} isMobileSearch - It indicates is mobile search or not
     * @private
     * @returns {void}
     */
    searchButtonClick(element: HTMLElement, inputElement: dropdowns.AutoComplete | HTMLElement, isMobileSearch?: boolean): void;
    private updateSearchInputIcon;
    private nextButtonOnClick;
    private prevButtonOnClick;
    private onMessageBoxOpen;
    /**
     * @private
     * @returns {void}
     */
    highlightAfterComplete(): void;
    /**
     * 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
     * @returns {void}
     */
    destroy(): void;
    /**
     * Searches for the specified text within the document and returns the bounding rectangles of the matched text. The search can be case-sensitive based on the provided parameters. If a specific page index is provided, it returns the bounding rectangles for that page;
 otherwise, it returns the bounding rectangles for all pages in the document where the text was found.
     *
     * @param {string} searchText - The text string to search for.
     * @param {boolean} isMatchCase - If true, performs a case-sensitive search;
 otherwise, performs a case-insensitive search.
     * @param {number} [pageIndex] - Optional page index to limit the search to a specific page.
     * @returns {SearchResultModel[]} - An array of `SearchResult` objects, where each object contains the page index and an array of bounds representing the locations of the search text found on that page.
     */
    findText(searchText: string, isMatchCase: boolean, pageIndex?: number): SearchResultModel[];
    /**
     * Searches for an array of strings within the document and returns the bounding rectangles for each occurrence. The search can be case-sensitive based on the provided parameters. If a specific page index is provided, it returns the bounding rectangles for these search strings on that page;
 otherwise, it returns the bounding rectangles for all pages in the document where the strings were found.
     *
     * @param {string[]} searchText - An array of text strings to search for.
     * @param {boolean} isMatchCase - If true, performs a case-sensitive search;
 otherwise, performs a case-insensitive search.
     * @param {number} [pageIndex] - Optional page index to limit the search to a specific page.
     * @returns {Record<string, SearchResultModel[]>} - An object where each key is a search text string, and each value is an array of `SearchResult` objects. Each `SearchResult` object contains the page index and an array of bounds representing the locations of that search text on the corresponding page.
     */
    findText(searchText: string[], isMatchCase: boolean, pageIndex?: number): Record<string, SearchResultModel[]>;
    /**
     * Searches for the specified text within the document and returns the bounding rectangles of the matched text. The search can be case-sensitive based on the provided parameters. If a specific page index is provided, it returns the bounding rectangles for that page;
 otherwise, it returns the bounding rectangles for all pages in the document where the text was found.
     *
     * @param {string} searchText - The text string to search for.
     * @param {boolean} isMatchCase - If true, performs a case-sensitive search;
 otherwise, performs a case-insensitive search.
     * @param {number} [pageIndex] - Optional page index to limit the search to a specific page.
     * @returns {Promise<SearchResultModel[]>} -  A Promise that resolves to an array of `SearchResult` objects. Each object contains the page index and an array of bounds representing the locations of the search text found on that page.
     */
    findTextAsync(searchText: string, isMatchCase: boolean, pageIndex?: number): Promise<SearchResultModel[]>;
    /**
     * Searches for an array of strings within the document and returns the bounding rectangles for each occurrence. The search can be case-sensitive based on the provided parameters. If a specific page index is provided, it returns the bounding rectangles for these search strings on that page;
 otherwise, it returns the bounding rectangles for all pages in the document where the strings were found.
     *
     * @param {string[]} searchText - An array of text strings to search for.
     * @param {boolean} isMatchCase - If true, performs a case-sensitive search;
 otherwise, performs a case-insensitive search.
     * @param {number} [pageIndex] - Optional page index to limit the search to a specific page.
     * @returns {Promise<Record<string, SearchResultModel[]>>} -  A Promise that resolves to an object where each key is a search text string, and each value is an array of `SearchResult` objects. Each `SearchResult` object contains the page index and an array of bounds representing the locations of that search text on the corresponding page.
     */
    findTextAsync(searchText: string[], isMatchCase: boolean, pageIndex?: number): Promise<Record<string, SearchResultModel[]>>;
    private getSearchResults;
    /**
     * Calculates the bounding rectangle for a given search text within the PDF based on character bounds.
     *
     * @param {string} searchText - The text string for which to calculate the bounding rectangle.
     * @param {any} matchIndex - The starting index of the match within the character bounds array.
     * @param {any} characterBounds - An array containing the bounds of each character on the page.
     * @private
     * @returns {IPdfRectBounds} - The calculated bounding rectangle, specifying the position and dimensions
     *                             (x, y, width, height) of the highlighted text area on the PDF page.
     */
    calculateTextBounds(searchText: string, matchIndex: any, characterBounds: any): IPdfRectBounds;
    /**
     * @private
     * @returns {void}
     */
    getModuleName(): string;
}
//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 printHeight;
    private printWidth;
    private maximumPixels;
    /**
     * @private
     */
    printRequestHandler: AjaxHandler;
    private frameDoc;
    private iframe;
    private printWindow;
    /**
     * @param {PdfViewer} viewer - It describes about the viewer
     * @param {PdfViewerBase} base - It describes about the base
     * @private
     * @returns {void}
     */
    constructor(viewer: PdfViewer, base: PdfViewerBase);
    /**
     * Print the PDF document being loaded in the ejPdfViewer control.
     *
     * @returns {void}
     */
    print(): void;
    private createRequestForPrint;
    /**
     * @param {any} event - It describes about the event
     * @private
     * @returns {void}
     */
    printOnMessage(event: any): void;
    private printSuccess;
    private limitSize;
    private renderFieldsForPrint;
    private createSignatureField;
    private createFormDesignerFields;
    /**
     * @param {any} inputField - It describes about the input field
     * @param {any} bounds - It describes about the bounds
     * @param {any} font - It describes about the font
     * @param {number} heightRatio - It describes about the height ratio
     * @param {number} widthRatio - It describes about the width ratio
     * @param {boolean} isFormDesignerField - It describes about the isFormDesignerField
     * @param {number} zoomValue - It describes about the zoom value
     * @param {number} pageIndex - It describes about the page index value
     * @private
     * @returns {void}
     */
    applyPosition(inputField: any, bounds: any, font: any, heightRatio: number, widthRatio: number, isFormDesignerField?: boolean, zoomValue?: number, pageIndex?: number): void;
    /**
     * @param {any} printDocument - It describes printdocument element
     * @param {string} styleContent - It describes styles text content
     * @private
     * @returns {void}
     */
    private createStyleSheet;
    private printWindowOpen;
    private createPrintLoadingIndicator;
    /**
     * @private
     * @returns {void}
     */
    destroy(): void;
    /**
     * @private
     * @returns {string} - string
     */
    getModuleName(): string;
}
//node_modules/@syncfusion/ej2-pdfviewer/src/pdfviewer/pdfium/pdfium-runner.d.ts
/**
 *@returns {void}
 */
export  function PdfiumRunner(): void;
//node_modules/@syncfusion/ej2-pdfviewer/src/pdfviewer/pdf-base/signature-base.d.ts
/**
 * SignatureBase
 *
 * @hidden
 */
export  class SignatureBase {
    m_formFields: FormFieldsBase;
    private pdfViewer;
    private pdfViewerBase;
    constructor(pdfViewer: PdfViewer, pdfViewerBase: PdfViewerBase);
    /**
     * @private
     * @param {string} jsonObject - jsonObject
     * @param {any} loadedDocument - loadedDocument
     * @returns {void}
     */
    saveSignatureData(jsonObject: {
        [key: string]: string;
    }, loadedDocument: any): void;
    /**
     * getSignatureBounds
     *
     * @param {drawings.Rect} bounds - bounds
     * @param {number} pageHeight - pageHeight
     * @param {number} pageWidth - pageWidth
     * @param {number} rotateAngle - rotateAngle
     * @returns {void}
     */
    getSignatureBounds(bounds: drawings.Rect, pageHeight: number, pageWidth: number, rotateAngle: number): any;
    /**
     * @private
     * @param {string} jsonObject - jsonObject
     * @param {any} loadedDocument - loadedDocument
     * @returns {void}
     */
    saveSignatureAsAnnotatation(jsonObject: {
        [key: string]: string;
    }, loadedDocument: any): void;
    private convertPointToPixel;
    private convertPixelToPoint;
    private getRotateAngle;
}
//node_modules/@syncfusion/ej2-pdfviewer/src/pdfviewer/pdf-base/pdf-renderer.d.ts
/**
 * PdfRenderer
 *
 * @hidden
 */
export  class PdfRenderer {
    /**
     * @private
     */
    loadedDocument: pdf.PdfDocument;
    /**
     * @private
     */
    loadImportedDocument: pdf.PdfDocument;
    private pageCount;
    /**
     * @private
     */
    bookmarkStyles: BookmarkStyles[];
    /**
     * @private
     */
    bookmarkCollection: BookmarkBase[];
    /**
     * @private
     */
    pageRotationCollection: number[];
    /**
     * @private
     */
    bookmarkDictionary: {
        [key: string]: BookmarkDestination;
    };
    renderer: PageRenderer;
    formFieldsBase: FormFieldsBase;
    signatureBase: SignatureBase;
    annotationRenderer: AnnotationRenderer;
    private annotationDetailCollection;
    /**
     * @private
     */
    documentTextCollection: {
        [key: number]: PageTextData;
    }[];
    pageSizes: {
        [key: string]: drawings.Size;
    };
    private isCompletePageSizeNotReceieved;
    hashID: string;
    private x;
    private y;
    private zoom;
    private id;
    private pageIndex;
    private textCollections;
    private scaleFactor;
    private static IsLinuxOS;
    private static IsWindowsOS;
    private restrictionList;
    private securityList;
    private _fallbackFontCollection;
    private document;
    /**
     * @private
     */
    searchResults: any;
    /**
     * @private
     * @returns {void}
     */
    readonly PageCount: number;
    private mReferencePath;
    /**
     * @private
     * @returns {void}
     */
    readonly ReferencePath: string;
    /**
     * @private
     * @param {string} v - v
     * @returns {void}
     */
    referencePath: string;
    /**
     * @private
     * @returns {void}
     */
    /**
    * @private
    * @param {string} v - v
    */
    ScaleFactor: number;
    /**
     * @private
     * @returns {void}
     */
    /**
    * @private
    * @param {string} v - v
    */
    FallbackFontCollection: {
        [key: string]: any;
    };
    private pdfViewer;
    private pdfViewerBase;
    /**
     * @private
     */
    digitialByteArray: Uint8Array;
    private loadedByteArray;
    private loadImportedBase64String;
    private password;
    private isDummyInserted;
    /**
     * @param {PdfViewer} pdfViewer - The PdfViewer.
     * @param {PdfViewerBase} pdfViewerBase - The PdfViewerBase.
     * @private
     */
    constructor(pdfViewer: PdfViewer, pdfViewerBase: PdfViewerBase);
    /**
     * @param {string} documentData - documentData
     * @param {string} documentId - documentId
     * @param {string} password - password
     * @param {any} jsonObject - jsonObject
     * @private
     * @returns {void}
     */
    load(documentData: any, documentId: string, password: string, jsonObject: any): string;
    /**
     * @param {string} documentData - documentData
     * @param {string} documentId - documentId
     * @param {string} password - password
     * @param {any} jsonObject - jsonObject
     * @private
     * @returns {void}
     */
    loadImportDocument(documentData: any, documentId: string, password: string, jsonObject: any): string;
    /**
     * @param {string} documentData - documentData
     * @param {string} documentId - documentId
     * @param {string} password - password
     * @param {any} jsonObject - jsonObject
     * @private
     * @returns {void}
     */
    loadDocument(documentData: string, documentId: string, password: string, jsonObject: any): object;
    private documentSecurity;
    private restrictionSummary;
    private getPermissionArray;
    private getPageSizes;
    /**
     * @param {number} pageNumber - pageNumber
     * @private
     * @returns {void}
     */
    getPageSize(pageNumber: number): drawings.Size;
    private convertPointToPixel;
    private convertPixelToPoint;
    /**
     * @param {string} jsonObject - jsonObject
     * @private
     * @returns {void}
     */
    getDocumentAsBase64(jsonObject: {
        [key: string]: string;
    }): Uint8Array;
    private rearrangePages;
    private rotatePages;
    private insertPdfPages;
    private copyPages;
    private deletePdfPages;
    private getPdfRotationAngle;
    /**
     * @param {any} jsonObject - jsonObject
     * @private
     * @returns {any} - any
     */
    private removeAnnotationsFromCollection;
    /**
     * @param {string} jsonObject - jsonObject
     * @param {boolean} isObject - isObject
     * @private
     * @returns {void}
     */
    exportAnnotation(jsonObject: {
        [key: string]: string;
    }, isObject: boolean): Uint8Array;
    private changeFileExtension;
    private orderAnnotations;
    /**
     * @param {any} jsonObject - jsonObject
     * @private
     * @returns {void}
     */
    getAnnotationComments(jsonObject: any): any;
    /**
     * @param {any} jsonObject - jsonObject
     * @private
     * @returns {void}
     */
    getBookmarks(jsonObject: any): any;
    private retrieveFontStyles;
    private getPdfTextStyleString;
    private getChildrenStyles;
    private getChildrenBookmark;
    /**
     * @param {number} pageIndex - pageIndex
     * @private
     * @returns {void}
     */
    getHyperlinks(pageIndex: number): any;
    private exportHyperlinks;
    private getHyperlinkBounds;
    /**
     * @param {any} jsonObject - jsonObject
     * @param {boolean} isObjects - isObjects
     * @private
     * @returns {void}
     */
    exportFormFields(jsonObject: any, isObjects: boolean): Uint8Array;
    /**
     * @param {any} jsonObject - jsonObject
     * @private
     * @returns {any} - any
     */
    private isUint8Array;
    private isBase64;
    private exportDataFormat;
    private fileFormat;
    /**
     * @param {number} pageIndex - It sets the page index
     * @private
     * @returns {Promise<string>} - promise
     */
    exportAsImage(pageIndex: number): Promise<string>;
    /**
     * @param {number} startIndex - It gets the start index value
     * @param {number} endIndex - It gets the end index value
     * @private
     * @returns { Promise<string[]>} - Promise
     */
    exportAsImages(startIndex: number, endIndex: number): Promise<string[]>;
    /**
     * @param {number} pageIndex - It gets the start index value
     * @param {drawings.Size} size - It gets the size value
     * @private
     * @returns { Promise<string[]>} - Promise
     */
    exportAsImagewithSize(pageIndex: number, size: drawings.Size): Promise<string>;
    /**
     * @param {number} startIndex - It gets the start index value
     * @param {number} endIndex - It gets the end index value
     * @param {drawings.Size} size - It gets the size value
     * @private
     * @returns { Promise<string[]>} - Promise
     */
    exportAsImagesWithSize(startIndex: number, endIndex: number, size: drawings.Size): Promise<string[]>;
    private pdfiumExportAsImage;
    private pdfiumExportAsImages;
    /**
     * @param {any} event - event
     * @param {Function} [resolve] - An optional resolve function to complete a Promise when extraction is complete.
     * @param {number} [count] - An optional count of total expected results used for resolving multiple extractions.
     * @param {any[]} [textCollections] - An optional array for accumulating text data results when processing in bulk.
     * @private
     * @returns {any} - any
     */
    textExtractionOnmessage(event: any, resolve?: Function, count?: number): any;
    /**
     * Extracts text data and additional details from a range of pages in the PDF document.
     *
     * This method performs text extraction on multiple pages defined by the start and end indices,
     * and returns a promise that resolves to an object containing the extracted text data and page text.
     *
     * @param {number} startIndex - The index of the first page from which to start text extraction.
     * @param {number} endIndex - The index of the last page up to which text extraction should be performed.
     * @param {ExtractTextOption} options - Specifies options for text extraction, which may include bounds, text only, etc.
     * @param {boolean} isLayout - Get the isLayout value.
     * @private
     * @returns {Promise<{ textData: TextDataSettingsModel[], pageText: string }>} - A promise that resolves with an object containing
     * an array of text data models representing extracted content and the combined page text of the specified page range.
     */
    extractsText(startIndex: number, endIndex: number, options: ExtractTextOption, isLayout: boolean): Promise<{
        textData: TextDataSettingsModel[];
        pageText: string;
    }>;
    private extractTextFromCharacterDetails;
    private textExtraction;
    private getCharacterBounds;
    /**
     * @param {any} textData - It describes about the text data
     * @private
     * @returns {any} - any
     */
    getPageTextDataCollection(textData: any): any;
    /**
     * @param {any} value - It describes about the value
     * @private
     * @returns {any} - any
     */
    getDocumentTextCollection(value: any): any;
    /**
     * @param {number} pageIndex - It describes about the page index value
     * @private
     * @returns {Promise} - Promise
     */
    extractTextWithPageSize(pageIndex: number): Promise<{
        [key: number]: PageTextData;
    }>;
    private extractTextDetailsWithPageSize;
    /**
     * @param {any} jsonObject - jsonObject
     * @param {string} requestType - It describes about the request type
     * @param {any} annotationObject - It describes about the annotation object
     * @private
     * @returns {void}
     */
    getDocumentText(jsonObject: any, requestType?: string, annotationObject?: any): void;
}
 class TextData {
    Text: string;
    Bounds: AnnotBounds;
    constructor(text: string, bounds: AnnotBounds);
}
 class PageTextData {
    PageSize: SizeBase;
    TextData: TextData[];
    PageText: string;
    constructor(pageSize: SizeBase, textData: TextData[], pageText: string);
}
/**
 *
 * @hidden
 */
export  class SizeBase {
    Width: number;
    Height: number;
    IsEmpty: boolean;
    constructor(_Width: number, _Height: number);
}
/**
 *
 * @hidden
 */
export  class Annotations {
    textMarkupAnnotation: any;
    shapeAnnotation: any;
    measureShapeAnnotation: any;
    stampAnnotations: any;
    stickyNotesAnnotation: any;
    freeTextAnnotation: any;
    signatureAnnotation: any;
    signatureInkAnnotation: any;
    annotationOrder: any;
}
//node_modules/@syncfusion/ej2-pdfviewer/src/pdfviewer/pdf-base/page-renderer.d.ts
/**
 * PageRenderer
 *
 * @hidden
 */
export  class PageRenderer {
    private pdfViewer;
    private pdfViewerBase;
    /**
     * @private
     */
    shapeAnnotationList: ShapeAnnotationBase[];
    /**
     * @private
     */
    textMarkupAnnotationList: TextMarkupAnnotationBase[];
    /**
     * @private
     */
    measureAnnotationList: MeasureShapeAnnotationBase[];
    /**
     * @private
     */
    stickyAnnotationList: PopupAnnotationBase[];
    /**
     * @private
     */
    rubberStampAnnotationList: StampAnnotationBase[];
    /**
     * @private
     */
    freeTextAnnotationList: FreeTextAnnotationBase[];
    /**
     * @private
     */
    signatureAnnotationList: any[];
    /**
     * @private
     */
    signatureInkAnnotationList: InkSignatureAnnotation[];
    /**
     * @private
     */
    annotationOrder: any[];
    /**
     * @private
     */
    hyperlinks: any[];
    /**
     * @private
     */
    imageData: string;
    /**
     * @private
     */
    isMaskedImage: boolean;
    /**
     * @private
     */
    hyperlinkBounds: any[];
    /**
     * @private
     */
    annotationDestPage: any[];
    /**
     * @private
     */
    annotationList: any[];
    /**
     * @private
     */
    annotationYPosition: any[];
    /**
     * @private
     */
    digitalSignaturePresent: boolean;
    private annotationCount;
    /**
     * @private
     */
    isAnnotationPresent: boolean;
    /**
     *
     * @private
     */
    htmldata: any[];
    /**
     *
     * @private
     */
    renderingMode: number;
    private textString;
    private currentFont;
    private baseFont;
    private fontSize;
    /**
     *
     * @private
     */
    Imagedata: string;
    private IsMaskedImage;
    /**
     * @param {PdfViewer} pdfViewer - The PdfViewer.
     * @param {PdfViewerBase} pdfViewerBase - The PdfViewerBase.
     * @private
     */
    constructor(pdfViewer: PdfViewer, pdfViewerBase: PdfViewerBase);
    /**
     * @param {number} pageNumber - pageNumber
     * @param {drawings.Size} pageSize - pageSize
     * @private
     * @returns {void}
     */
    exportAnnotationComments(pageNumber: number, pageSize: drawings.Size): any;
    private IsStampExist;
    private getAnnotationFromPDF;
    private formatDate;
    private datePadding;
    /**
     * @private
     * @param {pdf.PdfAnnotation} annotation - annotation
     * @returns {void}
     */
    findStampImage(annotation: pdf.PdfAnnotation): void;
    /**
     * @private
     * @param {pdf.PdfRubberStampAnnotation} annotation - annotation
     * @param {any} rubberStampAnnotation - rubberStampAnnotation
     * @param {number} pageRotation - pageRotation
     * @param {number} collectionOrder - Gets the collection order
     * @param {boolean} isFormField - Optional flag indicating whether the annotation is for a form field.
     * @param {string} formFieldName - Optional name of the form field, if applicable.
     * @param {Array<any>} formFieldList - Optional list of form fields, if applicable.
     * @param {number} PageIndex - Optional page index, if applicable.
     * @returns {void}
     */
    findStampTemplate(annotation: pdf.PdfRubberStampAnnotation, rubberStampAnnotation: any, pageRotation: number, collectionOrder: number, isFormField?: boolean, formFieldName?: any, formFieldList?: any, PageIndex?: number): void;
    /**
     * @private
     * @param {any} data - data
     * @returns {void}
     */
    initialPagesRendered(data: any): void;
    /**
     * @private
     * @returns {void}
     */
    readFromResources(): string;
    /**
     * @private
     * @param {pdf.PdfRubberStampAnnotation} annotation - annotation
     * @returns {void}
     */
    getPageRotation(annotation: pdf.PdfRubberStampAnnotation): number;
    private stampAnnoattionRender;
    private getStateModelString;
    private getStateString;
    private getBounds;
    private getRubberStampBounds;
    private convertPixelToPoint;
    private convertPointToPixel;
    private getRotateAngleString;
    private checkName;
    private getAllFreeTextAnnotations;
    private getShapeFreeText;
    private setAnnotationName;
    private isFreeTextAnnotationType;
}
/**
 *
 * @hidden
 */
export  class StampAnnotationBase {
    StampAnnotationtype: string;
    Author: string;
    pageNumber: number;
    AnnotationSelectorSettings: any;
    Matrix: drawings.Matrix;
    ModifiedDate: string;
    CreationDate: string;
    ExistingCustomData: string;
    IsCommentLock: boolean;
    IsLocked: boolean;
    Subject: string;
    Note: string;
    StrokeColor: string;
    FillColor: string;
    Opacity: number;
    Apperarance: any[];
    Rect: drawings.Rect;
    RotateAngle: number;
    Name: string;
    IsDynamic: boolean;
    AnnotName: string;
    AnnotationSettings: any;
    AllowedInteractions: string[];
    CustomData: {
        [key: string]: any;
    };
    IsPrint: boolean;
    IsMaskedImage: boolean;
    AnnotType: string;
    Icon: pdf.PdfRubberStampAnnotationIcon;
    IconName: string;
    State: string;
    StateModel: any;
    Comments: PopupAnnotationBase[];
}
//node_modules/@syncfusion/ej2-pdfviewer/src/pdfviewer/pdf-base/image-structure.d.ts
/**
 * ImageStructureBase
 *
 * @hidden
 */
export  class ImageStructureBase {
    private pdfViewer;
    private pdfViewerBase;
    private mImageDictionary;
    private mIsImageStreamParsed;
    private mIsImageInterpolated;
    private mImageFilter;
    private isDualFilter;
    private mColorspace;
    private numberOfComponents;
    private internalColorSpace;
    private mImageStream;
    constructor(stream: pdf._PdfBaseStream, fontDictionary: pdf._PdfDictionary);
    /**
     * @private
     *@returns {void}
     */
    getImageStream(): Uint8Array;
    private setColorSpace;
    private getColorSpace;
    private setImageFilter;
    private getImageFilter;
    private getImageInterpolation;
    private imageStream;
}
//node_modules/@syncfusion/ej2-pdfviewer/src/pdfviewer/pdf-base/form-fields-base.d.ts
/**
 * FormFieldsBase
 *
 * @hidden
 */
export  class FormFieldsBase {
    private pdfViewer;
    private pdfViewerBase;
    private formFieldLoadedDocument;
    private defaultAppearanceFields;
    private pageRenderer;
    /**
     * @private
     */
    mIsDigitalSignaturePresent: boolean;
    /**
     * @private
     */
    showDigitalSignatureAppearance: boolean;
    /**
     * @private
     */
    hideEmptyDigitalSignatureFields: boolean;
    /**
     * @private
     */
    PdfRenderedFormFields: PdfRenderedFields[];
    /**
     * @param {PdfViewer} pdfViewer - The PdfViewer.
     * @param {PdfViewerBase} pdfViewerBase - The PdfViewerBase.
     * @param {boolean} digitalSignatruePresent - The digitalSignatruePresent
     * @private
     * @returns {void}
     */
    constructor(pdfViewer: PdfViewer, pdfViewerBase: PdfViewerBase, digitalSignatruePresent?: boolean);
    /**
     * @private
     * @param {any} textSignature - This is textSignature
     * @param {any} loadedDocument - loadedDocument
     * @param {boolean} isAnnotationFlattern - isAnnotationFlattern
     * @returns {void}
     */
    drawFreeTextAnnotations(textSignature: any, loadedDocument: any, isAnnotationFlattern: boolean): void;
    private getRotateAngle;
    /**
     * @private
     * @param {any} signatureImage - signatureImage
     * @param {any} loadedDocument - loadedDocument
     * @param {boolean} isAnnotationFlattern - isAnnotationFlattern
     * @returns {void}
     */
    drawImage(signatureImage: any, loadedDocument: any, isAnnotationFlattern: boolean): void;
    /**
     * @private
     * @param {any} jsonObject - jsonObject
     * @returns {void}
     */
    saveFormFieldsDesignerData(jsonObject: any): void;
    private setFont;
    /**
     * @private
     * @param {any} jsonObject - jsonObject
     * @returns {void}
     */
    saveFormFieldsData(jsonObject: any): void;
    private addFormFieldsToDocument;
    private setFontFromKeys;
    private setFontAppearance;
    private disableFieldAppearance;
    private saveTextBoxField;
    private saveDropDownField;
    private SaveCheckBoxField;
    private saveListBoxField;
    private saveRadioButtonField;
    private saveSignatureField;
    private drawDesignerFieldFreeTextAnnotations;
    private drawDesignerFieldImage;
    private drawDesignerFieldPath;
    private setFontSize;
    private getTrueFont;
    private convertFieldBounds;
    private getFontFamily;
    private getBounds;
    private getFormfieldRotation;
    private getTextAlignment;
    private getFormFieldsVisibility;
    private getFontStyle;
    private convertPixelToPoint;
    private convertPointtoPixel;
    private fontConvert;
    private parseFontStyle;
    /**
     * @private
     * @returns {void}
     */
    GetFormFields(): void;
    private addTextBoxFieldItems;
    private addTextBoxField;
    private addComboBoxField;
    private addCheckBoxFieldItems;
    private addCheckBoxField;
    private addListBoxField;
    private addRadioButtonField;
    private checkTransparent;
    private GetRotateAngle;
    private drawFieldFreeTextAnnotations;
    private drawFieldImage;
    private drawFieldPath;
    private addSigntureFieldItems;
    private addSignatureField;
    private retrieveInkAnnotation;
    private getFontFamilyString;
}
/**
 * @private
 */
export  class PdfRenderedFields {
    LineBounds: any;
    Name: string;
    FieldName: string;
    CheckBoxIndex: string;
    ComboBoxList: object[];
    ActualFieldName: string;
    CheckBoxGroupName: string;
    GroupName: string;
    Text: string;
    IsTransparent: boolean;
    ToolTip: string;
    Multiline: boolean;
    MultiSelect: boolean;
    Selected: boolean;
    PageIndex: number;
    Visible: number;
    Alignment: number;
    Value: string;
    FontStyle: pdf.PdfFontStyle;
    selectedIndex: number;
    IsSignatureField: boolean;
    IsInitialField: boolean;
    TextList: string[];
    SelectedList: number[];
    SelectedValue: string;
    BackColor: any;
    BorderColor: any;
    Foreground: number[];
    Font: any;
    FontColor: any;
    BorderStyle: any;
    BorderWidth: number;
    MaxLength: number;
    FontSize: number;
    InsertSpaces: boolean;
    IsRequired: boolean;
    Rotation: number;
    IsReadonly: boolean;
    RotationAngle: number;
    IsAutoSize: boolean;
    TabIndex: number;
    FontFamily: string;
    CustomData: object;
    constructor();
}
//node_modules/@syncfusion/ej2-pdfviewer/src/pdfviewer/pdf-base/fontData.d.ts
/**
 * @private
 * @hidden
 * @returns {string} - Returns the arial font data value.
 */
export  function getArialFontData(): string;
//node_modules/@syncfusion/ej2-pdfviewer/src/pdfviewer/pdf-base/bookmark-base.d.ts
/**
 * @hidden
 */
export  class BookmarkBase {
    Title: string;
    Id: number;
    HasChild: boolean;
    Child: BookmarkBase[];
    FileName: string;
    constructor();
}
/**
 * @hidden
 */
export  class BookmarkDestination {
    X: number;
    Y: number;
    Zoom: number;
    PageIndex: number;
    constructor();
}
/**
 * @hidden
 */
export  class BookmarkStyles {
    Color: string;
    FontStyle: string;
    Text: string;
    IsChild: boolean;
    constructor();
}
//node_modules/@syncfusion/ej2-pdfviewer/src/pdfviewer/pdf-base/annotation-renderer.d.ts
/**
 * AnnotationRenderer
 *
 * @hidden
 */
export  class AnnotationRenderer {
    private formats;
    private pdfViewer;
    private pdfViewerBase;
    private defaultWidth;
    private defaultHeight;
    m_renderer: PageRenderer;
    /**
     * @param {PdfViewer} pdfViewer - The PdfViewer.
     * @param {PdfViewerBase} pdfViewerBase - The PdfViewerBase.
     * @private
     */
    constructor(pdfViewer: PdfViewer, pdfViewerBase: PdfViewerBase);
    /**
     * @param {any} details - details
     * @param {pdf.PdfPage} page - page
     * @private
     * @returns {void}
     */
    addShape(details: any, page: pdf.PdfPage): void;
    /**
     * @private
     * @param {any} details - details
     * @param {pdf.PdfPage} page - page
     * @returns {void}
     */
    saveInkSignature(details: any, page: pdf.PdfPage): pdf.PdfInkAnnotation;
    /**
     * @private
     * @param {number[]} linePoints - points
     * @param {number} rotationAngle - rotateAngle
     * @returns {pdf.PdfPath} - graphicsPath
     */
    getRotatedPath(linePoints: number[], rotationAngle: number): pdf.PdfPath;
    private getRotationMatrix;
    private getRotatedPoints;
    /**
     * Rotates a path based on the provided points collection and rotation angle.
     * @param {number[]} pointsCollection - The collection of points to be rotated.
     * @param {number} rotationAngle - The angle to rotate the points, in degrees.
     * @returns {Path} - The rotated graphics path.
     * @private
     */
    getRotatedPathForMinMax(pointsCollection: number[][], rotationAngle: number): Path;
    /**
     * @param {any} details -details
     * @param {pdf.PdfDocument} loadedDocument - loadedDocument
     * @private
     * @returns {void}
     */
    addTextMarkup(details: any, loadedDocument: pdf.PdfDocument): void;
    /**
     * @private
     * @param {pdf.PdfPage} page - page
     * @param {boolean} isPath - path
     * @returns {PointBase} - points
     */
    getCropBoxValue(page: pdf.PdfPage, isPath: boolean): PointBase;
    private getBothCropBoxValue;
    private preserveIsLockProperty;
    /**
     * @private
     * @param {any} details - details
     * @param {pdf.PdfPage} page - page
     * @returns {void}
     */
    addCustomStampAnnotation(details: any, page: pdf.PdfPage): void;
    /**
     * @param {any} details - details
     * @param {pdf.PdfPage} page - page
     * @private
     * @returns {void}
     */
    addMeasure(details: any, page: pdf.PdfPage): void;
    /**
     * @param {any} details - details
     * @param {pdf.PdfPage} page - page
     * @private
     * @returns {void}
     */
    addStickyNotes(details: any, page: pdf.PdfPage): void;
    private static hasDynamicText;
    private static setFontFromKeys;
    /**
     * @param {any} details - details
     * @param {pdf.PdfPage} page - page
     * @param {string} textFont - textFont
     * @private
     * @returns {void}
     */
    addFreeText(details: any, page: pdf.PdfPage, textFont?: {
        [key: string]: any;
    }): void;
    private renderSignHereStamp;
    private retriveDefaultWidth;
    private renderDynamicStamp;
    private calculateBoundsXY;
    private setMeasurementUnit;
    private getRubberStampRotateAngle;
    private getFontFamily;
    private getFontStyle;
    private getPdfTextAlignment;
    private drawStampAsPath;
    private transformPoints;
    private transform;
    private getIconName;
    private addCircleMeasurementAnnotation;
    private setMeasureDictionary;
    private createNumberFormat;
    private checkAnnotationLock;
    private getSaveVertexPoints;
    private getLineEndingStyle;
    private getCaptionType;
    private addReviewCollections;
    private addCommentsCollection;
    private getReviewState;
    private convertPixelToPoint;
    private convertPointToPixel;
    private isTransparentColor;
    private getRDValues;
    private getRotateAngle;
    /**
     * @private
     * @param {string} angleString - height
     * @returns {number} - angle
     */
    getInkRotateAngle(angleString: string): number;
    /**
     * @private
     * @param {pdf.PdfInkAnnotation} inkAnnot - inkAnnot
     * @param {number} height - height
     * @param {number} width - width
     * @param {number} pageRotation - pageRotation
     * @param {number} pageNumber - pageNumber
     * @param {pdf.PdfPage} loadedPage - loadedPage
     * @returns {void}
     */
    loadSignature(inkAnnot: pdf.PdfInkAnnotation, height: number, width: number, pageRotation: number, pageNumber: number, loadedPage: pdf.PdfPage): SignatureAnnotationBase;
    /**
     * @private
     * @param {pdf.PdfInkAnnotation} inkAnnot - inkAnnot
     * @param {number} height - height
     * @param {number} width - width
     * @param {number} pageRotation - PageRotation
     * @param {number} pageNumber - number
     * @param {pdf.PdfPage} loadedPage - loadedPage
     * @returns {void}
     */
    loadInkAnnotation(inkAnnot: pdf.PdfInkAnnotation, height: number, width: number, pageRotation: number, pageNumber: number, loadedPage: pdf.PdfPage): InkSignatureAnnotation;
    /**
     * @param {pdf.PdfSquareAnnotation} squareAnnot - squareAnnot
     * @param {number} height - height
     * @param {number} width - width
     * @param {number} pageRotation - pageRotation
     * @param {pdf.PdfFreeTextAnnotation} shapeFreeText - shapeFreeText
     * @private
     * @returns {void}
     */
    loadSquareAnnotation(squareAnnot: pdf.PdfSquareAnnotation, height: number, width: number, pageRotation: number, shapeFreeText: pdf.PdfFreeTextAnnotation): ShapeAnnotationBase;
    /**
     * @param {pdf.PdfLineAnnotation} lineAnnot - lineAnnot
     * @param {number} height - height
     * @param {number} width - width
     * @param {number} pageRotation - pageRotation
     * @param {pdf.PdfFreeTextAnnotation} shapeFreeText - shapeFreeText
     * @private
     * @returns {void}
     */
    loadLineAnnotation(lineAnnot: pdf.PdfLineAnnotation, height: number, width: number, pageRotation: number, shapeFreeText: pdf.PdfFreeTextAnnotation): ShapeAnnotationBase;
    private getLinePoints;
    /**
     * @param {pdf.PdfEllipseAnnotation} ellipseAnnot - ellipseAnnot
     * @param {number} height - height
     * @param {number} width - width
     * @param {number} pageRotation - pageRotation
     * @param {pdf.PdfFreeTextAnnotation} shapeFreeText - shapeFreeTezt
     * @private
     * @returns {void}
     */
    loadEllipseAnnotation(ellipseAnnot: pdf.PdfEllipseAnnotation, height: number, width: number, pageRotation: number, shapeFreeText: pdf.PdfFreeTextAnnotation): ShapeAnnotationBase;
    /**
     * @param {pdf.PdfPolygonAnnotation} polygonAnnot - polygonAnnot
     * @param {number} height - height
     * @param {number} width - width
     * @param {number} pageRotation - pageRotation
     * @param {pdf.PdfFreeTextAnnotation} shapeFreeText - shapeFreeText
     * @private
     * @returns {void}
     */
    loadPolygonAnnotation(polygonAnnot: pdf.PdfPolygonAnnotation, height: number, width: number, pageRotation: number, shapeFreeText: pdf.PdfFreeTextAnnotation): ShapeAnnotationBase;
    /**
     * @param {pdf.PdfPolyLineAnnotation} polyLineAnnot - polyLineAnnot
     * @param {number} height -height
     * @param {number} width - width
     * @param {number} pageRotation - pageRotation
     * @param {pdf.PdfFreeTextAnnotation} shapeFreeText - shapeFreeText
     * @private
     * @returns {void}
     */
    loadPolylineAnnotation(polyLineAnnot: pdf.PdfPolyLineAnnotation, height: number, width: number, pageRotation: number, shapeFreeText: pdf.PdfFreeTextAnnotation): ShapeAnnotationBase;
    /**
     * @private
     * @param {pdf.PdfRubberStampAnnotation} annotation - annotation
     * @param {number} pageNumber - pageNumber
     * @returns {void}
     */
    loadSignatureImage(annotation: pdf.PdfRubberStampAnnotation, pageNumber: number): SignatureAnnotationBase;
    private getMeasureObject;
    private getMeasureValues;
    private getVertexPoints;
    private getLineIndentString;
    private getLineEndingStyleString;
    private getBorderStylesString;
    private getBorderStyle;
    private getRotateAngleString;
    private getValidNoteContent;
    private getBounds;
    /**
     * @private
     * @param {pdf.PdfPopupAnnotation} popupAnnot - popupAnnot
     * @param {number} height - height
     * @param {number} width - width
     * @param {number} pageRotation - pageRotation
     * @returns {void}
     */
    loadPopupAnnotation(popupAnnot: pdf.PdfPopupAnnotation, height: number, width: number, pageRotation: number): PopupAnnotationBase;
    /**
     * @param {pdf.PdfFreeTextAnnotation} freeTextAnnot - freeTextAnnot
     * @param {number} height - height
     * @param {number} width - width
     * @param {number} pageRotation - pageRotation
     * @param {pdf.PdfPage} page - page
     * @private
     * @returns {void}
     */
    loadFreeTextAnnotation(freeTextAnnot: pdf.PdfFreeTextAnnotation, height: number, width: number, pageRotation: number, page: pdf.PdfPage): FreeTextAnnotationBase;
    private getTextAlignmentString;
    /**
     * @param {pdf.PdfFreeTextAnnotation} inkAnnot - inkAnnot
     * @param {number} pageNumber - pageNumber
     * @param {number} height - height
     * @param {number} width - width
     * @param {number} pageRotation - pageRotation
     * @private
     * @returns {void}
     */
    loadSignatureText(inkAnnot: pdf.PdfFreeTextAnnotation, pageNumber: number, height: number, width: number, pageRotation: number): SignatureAnnotationBase;
    private getFontFamilyString;
    private getAnnotationFlagsString;
    private getAnnotationIntentString;
    private getStateString;
    private getStateModelString;
    private getPopupIconString;
    private formatDate;
    private datePadding;
    /**
     * @param {string} jsonObject - jsonObject
     * @param {pdf.PdfDocument} loadedDocument - loadedDocument
     * @private
     * @returns {void}
     */
    removeSignatureTypeAnnot(jsonObject: {
        [key: string]: string;
    }, loadedDocument: pdf.PdfDocument): void;
    /**
     * @private
     * @param {any} annotation - annotation
     * @param {any} AnnotFromPDF - AnnotFromPDF
     * @returns {void}
     */
    updateIsLockProperty(annotation: any, AnnotFromPDF: any): void;
    /**
     * @param {pdf.PdfTextMarkupAnnotation} textMarkup - textMarkup
     * @param {number} height - height
     * @param {number} width - width
     * @param {number} pageRotation - pageRotation
     * @param {pdf.PdfPage} page - page
     * @private
     * @returns {void}
     */
    loadTextMarkupAnnotation(textMarkup: pdf.PdfTextMarkupAnnotation, height: number, width: number, pageRotation: number, page: pdf.PdfPage): TextMarkupAnnotationBase;
    private getTextMarkupBounds;
    private getMarkupAnnotTypeString;
}
/**
 *
 * @hidden
 */
export  class PointBase {
    x: number;
    y: number;
    constructor(x: number, y: number);
}
/**
 *
 * @hidden
 */
export  class FreeTextAnnotationBase {
    Author: string;
    AnnotationSelectorSettings: any;
    MarkupText: string;
    TextMarkupColor: string;
    Color: AnnotColor;
    Font: FontBase;
    BorderColor: AnnotColor;
    Border: pdf.PdfAnnotationBorder;
    LineEndingStyle: string;
    AnnotationFlags: string;
    IsCommentLock: boolean;
    IsLocked: boolean;
    Text: string;
    Opacity: number;
    CalloutLines: AnnotPoint[];
    ModifiedDate: string;
    AnnotName: string;
    AnnotType: string;
    Name: string;
    Comments: PopupAnnotationBase[];
    AnnotationIntent: string;
    CreatedDate: string;
    Flatten: boolean;
    FlattenPopups: boolean;
    InnerColor: string;
    Layer: PdfLayer;
    Location: string;
    Page: pdf.PdfPage;
    PageTags: string;
    ReviewHistory: string;
    Rotate: number;
    Size: SizeBase;
    Subject: string;
    State: string;
    StateModel: string;
    StrokeColor: string;
    FillColor: string;
    Thickness: number;
    FontColor: string;
    FontSize: number;
    FontFamily: string;
    FreeTextAnnotationType: string;
    TextAlign: string;
    Note: string;
    CustomData: {
        [key: string]: any;
    };
    AnnotationSettings: any;
    AllowedInteractions: string[];
    IsPrint: boolean;
    IsReadonly: boolean;
    ExistingCustomData: string;
    Bounds: AnnotBounds;
    PageRotation: number;
    IsTransparentSet: boolean;
}
/**
 *
 * @hidden
 */
export  class InkSignatureAnnotation {
    Bounds: any;
    AnnotationType: string;
    CustomData: {
        [key: string]: any;
    };
    Opacity: number;
    StrokeColor: string;
    Thickness: number;
    PathData: string;
    IsLocked: boolean;
    IsCommentLock: boolean;
    PageNumber: number;
    AnnotName: string;
    Author: string;
    ModifiedDate: string;
    Subject: string;
    Note: string;
    State: string;
    StateModel: string;
    AnnotationSelectorSettings: any;
    AnnotationSettings: any;
    AllowedInteractions: string[];
    Comments: PopupAnnotationBase[];
    AnnotType: string;
    IsPrint: boolean;
    ExistingCustomData: string;
    constructor();
}
/**
 *
 * @hidden
 */
export  class ShapeAnnotationBase {
    ShapeAnnotationType: string;
    Author: string;
    AnnotationSelectorSettings: any;
    ModifiedDate: string;
    Subject: string;
    Note: string;
    IsCommentLock: boolean;
    StrokeColor: string;
    FillColor: string;
    Opacity: number;
    Bounds: any;
    Thickness: number;
    BorderStyle: string;
    BorderDashArray: number;
    RotateAngle: string;
    IsCloudShape: boolean;
    CloudIntensity: number;
    RectangleDifference: string[];
    VertexPoints: AnnotPoint[];
    LineHeadStart: string;
    LineHeadEnd: string;
    IsLocked: boolean;
    AnnotName: string;
    Comments: PopupAnnotationBase[];
    State: string;
    StateModel: string;
    AnnotType: string;
    EnableShapeLabel: boolean;
    LabelContent: string;
    LabelFillColor: string;
    LabelBorderColor: string;
    FontColor: string;
    FontSize: number;
    CustomData: {
        [key: string]: any;
    };
    LabelBounds: AnnotBounds;
    LabelSettings: any;
    AnnotationSettings: any;
    AllowedInteractions: string[];
    IsPrint: boolean;
    ExistingCustomData: string;
    AnnotationRotation: number;
    constructor();
}
/**
 *
 * @hidden
 */
export  class MeasureShapeAnnotationBase {
    /**
     * MeasureShapeAnnotation
     */
    ShapeAnnotationType: string;
    Author: string;
    AnnotationSelectorSettings: any;
    ModifiedDate: string;
    Subject: string;
    Note: string;
    IsCommentLock: boolean;
    StrokeColor: string;
    FillColor: string;
    Opacity: number;
    Bounds: any;
    Thickness: number;
    BorderStyle: string;
    BorderDashArray: number;
    RotateAngle: string;
    IsCloudShape: boolean;
    CloudIntensity: number;
    RectangleDifference: string[];
    VertexPoints: AnnotPoint[];
    LineHeadStart: string;
    LineHeadEnd: string;
    IsLocked: boolean;
    AnnotName: string;
    Comments: PopupAnnotationBase[];
    State: string;
    StateModel: string;
    AnnotType: string;
    EnableShapeLabel: boolean;
    LabelContent: string;
    LabelFillColor: string;
    LabelBorderColor: string;
    FontColor: string;
    FontSize: number;
    CustomData: {
        [key: string]: any;
    };
    LabelBounds: AnnotBounds;
    LabelSettings: any;
    AnnotationSettings: any;
    AllowedInteractions: string[];
    IsPrint: boolean;
    ExistingCustomData: string;
    AnnotationRotation: number;
    constructor(shapeAnnotation: ShapeAnnotationBase);
    Indent: string;
    Caption: boolean;
    CaptionPosition: string;
    LeaderLineExtension: number;
    LeaderLength: number;
    LeaderLineOffset: number;
    Calibrate: Measure;
}
/**
 *
 * @hidden
 */
export  class SignatureAnnotationBase {
    AnnotationType: string;
    Bounds: any;
    Opacity: number;
    StrokeColor: string;
    Thickness: number;
    PathData: string;
    PageNumber: number;
    SignatureName: string;
    ExistingCustomData: string;
    FontFamily: string;
    FontSize: number;
}
 class Measure {
    Ratio: string;
    X: NumberFormat[];
    Distance: NumberFormat[];
    Area: NumberFormat[];
    Angle: NumberFormat[];
    Volume: NumberFormat[];
    TargetUnitConversion: number;
    Depth: number;
}
 class NumberFormat {
    Unit: string;
    ConversionFactor: number;
    FractionalType: string;
    Denominator: number;
    FormatDenominator: boolean;
    constructor();
}
/**
 *
 * @hidden
 */
export  class PopupAnnotationBase {
    Author: string;
    AnnotationSelectorSettings: any;
    ModifiedDate: string;
    Subject: string;
    IsLock: boolean;
    IsCommentLock: boolean;
    AnnotationFlags: string;
    Note: string;
    Type: string;
    SubType: string;
    AnnotName: string;
    Icon: string;
    Comments: PopupAnnotationBase[];
    State: string;
    StateModel: string;
    Opacity: number;
    StrokeColor: string;
    Color: AnnotColor;
    Reference: any;
    AnnotType: string;
    CustomData: {
        [key: string]: any;
    };
    AnnotationSettings: any;
    IsPrint: boolean;
    ExistingCustomData: string;
    Bounds: AnnotBounds;
    Size: SizeBase;
    IsLocked: boolean;
    constructor();
}
/**
 *
 * @hidden
 */
export  class TextMarkupAnnotationBase {
    TextMarkupAnnotationType: string;
    AnnotationSelectorSettings: any;
    Author: string;
    ModifiedDate: string;
    Subject: string;
    Note: string;
    IsCommentLock: boolean;
    Bounds: AnnotBounds[];
    Color: string;
    Opacity: number;
    Rect: RectangleBase;
    AnnotName: string;
    Comments: PopupAnnotationBase[];
    State: string;
    StateModel: string;
    AnnotType: string;
    CustomData: any;
    ExistingCustomData: string;
    IsMultiSelect: boolean;
    AnnotNameCollection: string[];
    AnnotpageNumbers: number[];
    AnnotationSettings: any;
    AllowedInteractions: string[];
    IsPrint: boolean;
    IsLocked: boolean;
    TextMarkupContent: string;
    AnnotationRotation: number;
    constructor();
}
/**
 *
 * @hidden
 */
export  class PdfLayer {
}
/**
 *
 * @hidden
 */
export  class AnnotPoint {
    X: number;
    Y: number;
    constructor(_X: number, _Y: number);
}
/**
 *
 * @hidden
 */
export  class AnnotBounds {
    X: number;
    Y: number;
    Width: number;
    Height: number;
    Location: {
        X: number;
        Y: number;
    };
    Size: SizeBase;
    Left: number;
    Top: number;
    Right: number;
    Bottom: number;
    constructor(_X: number, _Y: number, _Width: number, _Height: number);
}
/**
 *
 * @hidden
 */
export  class AnnotColor {
    R: number;
    G: number;
    B: number;
    IsEmpty: boolean;
    constructor(_R: number, _G: number, _B: number);
}
/**
 *
 * @hidden
 */
export  class FontBase {
    Bold: boolean;
    FontFamily: pdf.PdfFontFamily;
    Height: number;
    Italic: boolean;
    Name: string;
    Size: number;
    Strikeout: boolean;
    Style: pdf.PdfFontStyle;
    Underline: boolean;
    constructor(pdfFont: pdf.PdfFont, fontFamilyString: string);
}
/**
 *
 * @hidden
 */
export  class Path {
    points: [number, number][];
    constructor();
    moveTo(x: number, y: number): void;
    lineTo(x: number, y: number): void;
    transform(matrix: [number, number, number][]): void;
}
/**
 *
 * @hidden
 */
export  class RectangleBase {
    /**
     * Value of `left`.
     *
     * @private
     */
    left: number;
    /**
     * Value of `top`.
     *
     * @private
     */
    top: number;
    /**
     * Value of `right`.
     *
     * @private
     */
    right: number;
    /**
     * Value of `bottom`.
     *
     * @private
     */
    bottom: number;
    /**
     * @param {number} left - left
     * @param {number} top - top
     * @param {number} right - right
     * @param {number} bottom - bottom
     * @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;
}
//node_modules/@syncfusion/ej2-pdfviewer/src/pdfviewer/organize-pdf/organize-pdf.d.ts
interface IActionOrganizeElements {
    action: string;
    UndoRedoTileActions: OrganizeDetails[];
    toolbarActions: OrganizeDetails[];
    selectedPagesIndexes: number[];
    dropIndex: number;
    isRightInsertion: boolean;
}
/**
 * The `PageOrganizer` module is used to handle page organize operations of PDF viewer.
 *
 * @param {Event} event - The event triggering the page organization.
 * @param {Object} args - Additional arguments for the page organization.
 * @returns {void}
 */
export  class PageOrganizer {
    private pdfViewer;
    private pdfViewerBase;
    private rotateRightButton;
    private rotateLeftButton;
    private insertRightButton;
    private insertLeftButton;
    private deleteButton;
    private copyButton;
    private toolbar;
    /**
     * @private
     */
    /**
     * @private
     */
    dataDetails: any[];
    /**
     * @private
     */
    dialogDivElement: HTMLElement;
    /**
     * @private
     */
    waitingPopup: HTMLElement;
    private thumbnail;
    private imageContainer;
    private organizeDialog;
    private tileAreaWrapper;
    private tileAreaDiv;
    private thumbnailImage;
    private pageLink;
    private previewRequestHandler;
    private contextMenuObj;
    private mobileContextMenu;
    /**
     * @private
     */
    organizePagesCollection: OrganizeDetails[];
    private tempOrganizePagesCollection;
    private isSkipRevert;
    private isAllImagesReceived;
    private selectAllCheckBox;
    private totalCheckedCount;
    private selectedPageIndexes;
    private dragEndIndex;
    private dragHoveredIndex;
    private dragObj;
    private dropObj;
    private virtualEle;
    private previousClientY;
    private autoScrollInterval;
    private isRightInsertion;
    private gapBetweenDivs;
    /**
     * @private
     */
    isDocumentModified: boolean;
    /**
     * @private
     */
    undoOrganizeCollection: IActionOrganizeElements[];
    /**
     * @private
     */
    redoOrganizeCollection: IActionOrganizeElements[];
    /**
     * @private
     */
    toolbarUndoRedoCollection: OrganizeDetails[];
    private startTile;
    private ctrlKey;
    private shiftKey;
    private isClickedOnCheckBox;
    private isTouchEvent;
    private boundOnTileAreaMouseDown;
    private boundOnTileAreaKeyDown;
    private boundOnTileAreaKeyUp;
    /**
     * @private
     */
    isOrganizeWindowOpen: boolean;
    /**
     * @param {PdfViewer} pdfViewer - It describes about the pdfviewer
     * @param {PdfViewerBase} pdfViewerBase - It describes about the pdfviewer base
     * @private
     */
    constructor(pdfViewer: PdfViewer, pdfViewerBase: PdfViewerBase);
    /**
     * @param {boolean} isReConstruct - It describes about the isReConstruct
     * @private
     * @returns {void}
     */
    createOrganizeWindow(isReConstruct?: boolean): void;
    /**
     * @private
     * @returns {void}
     */
    createOrganizeWindowForMobile(): void;
    private initEventListeners;
    private removeEventListeners;
    private onTileAreaMouseDown;
    private onTileAreaKeyDown;
    private onTileAreaKeyUp;
    private onSelectAllClick;
    private selectRange;
    private selectTile;
    private deselectTile;
    private clearSelection;
    private selectAllTiles;
    private updateOrganizeDialogSize;
    private createContentArea;
    private createMobileContextMenu;
    private contextMenuBeforeOpen;
    private getCopiedItems;
    private getImportedItems;
    private contextMenuItemSelect;
    /**
     * @private
     * @returns {void}
     */
    createRequestForPreview(): any;
    private requestPreviewCreation;
    /**
     * @param {any} data - It describes about the data
     * @private
     * @returns {void}
     */
    updatePreviewCollection(data: any): void;
    /**
     * @param {any} event - It describes about the event
     * @private
     * @returns {void}
     */
    previewOnMessage(event: any): void;
    /**
     * @param {any} data - It describes about the data
     * @param {boolean} isClientRender - It describes about the isClientRender
     * @private
     * @returns {void}
     */
    getData(data: any, isClientRender: boolean): void;
    private createImportDocElement;
    private pageDragDrop;
    private movePDFpages;
    private rearrangePages;
    private updateCollection;
    /**
     * @private
     * @param {any} a - a value
     * @param {any} b - b value
     * @returns {number} - number
     */
    sorting(a: any, b: any): number;
    private containsPageDetails;
    private renderThumbnailImage;
    private bindImportDocEvent;
    /**
     * @param {number} pageIndex - It describes about the page index
     * @param {number} subIndex - It describes about the sub index
     * @param {number} pageOrder - It describes about the page order
     * @param {HTMLElement} targetElement - It describes about the target element
     * @param {boolean} isNewPage - It describes about the isNewPage
     * @param {boolean} isBefore - It describes about the isBefore
     * @param {boolean} isEmptyPage - It describes about the isEmptyPage
     * @param {boolean} isImportedPage - It describes about the isImportedPage
     * @param {string} documentName - It describes about the documentName
     * @private
     * @returns {void}
     */
    tileImageRender(pageIndex: number, subIndex?: number, pageOrder?: number, targetElement?: HTMLElement, isNewPage?: boolean, isBefore?: boolean, isEmptyPage?: boolean, isImportedPage?: boolean, documentName?: string): void;
    private handleImageContainerClick;
    private movePages;
    private autoScroll;
    private handlePageMove;
    private isTileRightInsertion;
    private addSelectionRingStyle;
    private removeSelectionRingStyle;
    private isHoveredOnSelectedPages;
    /**
     * @param {MouseEvent} event - It describes about the event
     * @private
     * @returns {void}
     */
    thumbnailMouseOver: (event: MouseEvent) => void;
    /**
     * @param {MouseEvent} event - It describes about the event
     * @private
     * @returns {void}
     */
    thumbnailMouseLeave: (event: MouseEvent) => void;
    /**
     * @param {OrganizeDetails[]} UndoRedoTileActions - Specifies the details of the action occured page
     * @param {string} actionString - Specifies the Name of the action
     * @param {OrganizeDetails[]} toolbarActions - Collection to store multiple action as single action
     * @param {number[]} selectedPageIndexes - Collection to store selected page index
     * @param {number} dropIndex - Specifies where the page should be dropped
     * @param {boolean} isRightInsertion - Used to check whether the page should be dropped at right
     * @returns {void}
     * @private
     */
    addOrganizeAction(UndoRedoTileActions: OrganizeDetails[], actionString: string, toolbarActions: OrganizeDetails[], selectedPageIndexes: number[], dropIndex: number, isRightInsertion: boolean): void;
    private updateUndoRedoButtons;
    private enableDisableToolbarItems;
    private enableToolbarItem;
    private disableTileDeleteButton;
    private disableTileCopyRotateButton;
    private disableTileCopyButton;
    private onSelectClick;
    private updateSelectAllCheckbox;
    private setSelectionRingStyle;
    private onTooltipBeforeOpen;
    private rotateButtonClick;
    private openContextMenu;
    private rotateLeftButtonClick;
    private onToolbarRightButtonClick;
    private onToolbarLeftButtonClick;
    private onToolbarCopyButtonClick;
    private onToolbarDeleteButtonClick;
    private updateTempRotationDetail;
    private organizeWindowFocus;
    private getRotatedAngle;
    private getRotation;
    private updateRotationDetailCollection;
    private updatePageSize;
    private onSaveClicked;
    private blobToByteArray;
    private blobToBase64;
    /**
     * @param {boolean} isShow - specifies the isShow boolean.
     * @returns {void}
     * @private
     */
    showOrganizeLoadingIndicator(isShow: boolean): void;
    private updateOrganizePageDetailsInViewer;
    private getNextSubIndex;
    /**
     * @private
     * @returns {void}
     */
    undo: () => void;
    /**
     * @private
     * @returns {void}
     */
    redo: () => void;
    private removePage;
    private rotateImages;
    private rotateImage;
    private updatePageDetail;
    private insertRightButtonClick;
    private insertLeftButtonClick;
    private copyButtonClick;
    private deleteButtonClick;
    private deletePageElement;
    private deleteTempPage;
    private undoDeletedPage;
    private insertRemovedPages;
    private clonedCollection;
    private updateTotalPageCount;
    private updatePageNumber;
    private insertTempPage;
    private copyPage;
    private organizeWireEvent;
    private organizeUnWireEvent;
    /**
     * @param {string} documentData - specifies the documentData.
     * @param {string} password - specifies the password.
     * @param {boolean} isPasswordCorrect - specifies the isPasswordCorrect.
     * @returns {void}
     * @private
     */
    loadImportDoc(documentData: string, password: string, isPasswordCorrect: boolean): void;
    private updateOrganizePageCollection;
    /**
     *
     * @param {any} pageCanvas - It describes about the page canvas
     * @param {number} pageNumber - It describes about the page number
     * @private
     * @returns {void}
     */
    applyElementStyles(pageCanvas: any, pageNumber: number): void;
    private onSaveasClicked;
    /**
     *
     * Rotates all pages in the PDF Viewer by the specified angle.
     *
     * @param {PdfPageRotateAngle} pageRotateAngle - The angle by which to rotate the pages (PdfPageRotateAngle).
     *                          The rotation can be 0, 90, 180, or 270 degrees.
     * @returns {void}
     * @private
     */
    rotateAllPages(pageRotateAngle: PdfPageRotateAngle): void;
    /**
     * Rotates the specified pages in the PDF Viewer by the specified angle.
     *
     * @param {number} pageIndexes - The array of page indexes to rotate.
     * @param {PdfPageRotateAngle} pageRotateAngle - The angle by which to rotate the pages (PdfPageRotateAngle).
     *                          The rotation can be 0, 90, 180, or 270 degrees.
     * @returns {void}
     * @private
     */
    rotatePages(pageIndexes: number[], pageRotateAngle: PdfPageRotateAngle): void;
    /**
     * @private
     * @returns {void}
     */
    rotatePages(pageStartIndex: number, pageEndIndex: number, pageRotateAngle: PdfPageRotateAngle): void;
    /**
     * @private
     * @returns {void}
     */
    rotatePages(pageRotations: PageRotation[]): void;
    private processRotation;
    private generateRange;
    private pdfRotateAngle;
    private createTooltip;
    /**
     * Rotates the specified pages clockwise by 90 degrees.
     *
     * @param {number} pageNumbers - Array of page numbers to rotate.
     * @private
     * @returns {void}
     */
    rotateClockwise(pageNumbers: number[]): void;
    /**
     * Rotates the specified pages counterclockwise by 90 degrees.
     *
     * @param {number} pageNumbers - Array of page numbers to rotate.
     * @private
     * @returns {void}
     */
    rotateCounterclockwise(pageNumbers: number[]): void;
    /**
     * Opens the page organizer dialog within the Pdf Viewer, allowing for management of PDF pages.
     *
     * ```html
     * <div id="pdfViewer" style="height: 100%;
width: 100%;
"></div>
     * ```
     * ```ts
     * let viewer$: PdfViewer = new PdfViewer();
     * viewer.appendTo("#pdfViewer");
     * viewer.documentLoad = () => {
     *      viewer.pageOrganizer.openPageOrganizer();
     * }
     * ```
     *
     * @returns {void}
     */
    openPageOrganizer(): void;
    /**
     * Closes the currently open page organizer dialog within the PDF Viewer, if present.
     *
     * ```html
     * <div id="pdfViewer" style="height: 100%;
width: 100%;
"></div>
     * ```
     * ```ts
     * let viewer$: PdfViewer = new PdfViewer();
     * viewer.appendTo("#pdfViewer");
     * viewer.documentLoad = () => {
     *      viewer.pageOrganizer.closePageOrganizer();
     * }
     * ```
     *
     * @returns {void}
     */
    closePageOrganizer(): void;
    /**
     * @private
     * @returns {void}
     */
    switchPageOrganizer(): void;
    /**
     * @private
     * @returns {void}
     */
    getModuleName(): string;
    private destroyDialogWindow;
    /**
     * @private
     * @returns {void}
     */
    clear(): void;
    /**
     * @private
     * @returns {void}
     */
    destroy(): boolean;
}
/**
 * Enum for PdfPageRotateAngle
 */
export  enum PdfPageRotateAngle {
    RotateAngle0 = 1,
    RotateAngle90 = 2,
    RotateAngle180 = 3,
    RotateAngle270 = 4,
    RotateAngle360 = 1
}
export  class PageRotation {
    pageIndex: number;
    rotationAngle: PdfPageRotateAngle;
    constructor(pageIndex: number, rotationAngle: PdfPageRotateAngle);
}
/**
 * Interface representing details about a page, including rotation angle and page index.
 *
 * @hidden
 */
export interface PageDetails {
    rotateAngle: number;
    pageIndex: number;
}
/**
 * Interface representing details about organizing pages, including page ID, current page index, rotate angle, and status of insertion and deletion.
 */
export  class OrganizeDetails {
    currentPageIndex: number;
    pageIndex: number;
    copiedPageIndex: number;
    isInserted: boolean;
    isDeleted: boolean;
    isCopied: boolean;
    istargetCopied: boolean;
    hasEmptyPageAfter: boolean;
    hasEmptyPageBefore: boolean;
    rotateAngle: number;
    pageSize: ISize;
    isImportedDoc: boolean;
    documentName: string;
    password: string;
    documentData: string;
    constructor(currentPageIndex: number, pageIndex: number, copiedPageIndex: number, isInserted: boolean, isDeleted: boolean, isCopied: boolean, istargetCopied: boolean, hasEmptyPageAfter: boolean, hasEmptyPageBefore: boolean, rotateAngle: number, pageSize: ISize, isImportedDoc: boolean, documentName: string, password: string, documentData: string);
}
//node_modules/@syncfusion/ej2-pdfviewer/src/pdfviewer/navigation/page-navigation.d.ts
/**
 * Navigation module
 */
export  class Navigation {
    private pdfViewer;
    private pdfViewerBase;
    private pageNumber;
    /**
     * @param {PdfViewer} viewer - It describes about the viewer
     * @param {PdfViewerBase} viewerBase - It describes about the viewer base
     * @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
     * @returns {void}
     */
    destroy(): void;
    /**
     * @private
     * @returns {string} - string
     */
    getModuleName(): string;
}
//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 mouseCenterX;
    private mouseCenterY;
    private pageRerenderCount;
    private imageObjects;
    private topValue;
    private isTapToFitZoom;
    private isCanvasCreated;
    /**
     * @private
     */
    isWaitingPopupUpdated: boolean;
    /**
     * @private
     */
    isInitialCustomZoomValues: boolean;
    /**
     * @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
     */
    isDoubleTapZoom: boolean;
    /**
     * @private
     */
    isFormFieldPageZoomed: boolean;
    private isWebkitMobile;
    private isFitToPageMode;
    /**
     * @param {PdfViewer} pdfViewer - It describes about the pdf viewer
     * @param {PdfViewerBase} viewerBase - It describes about the viewer base
     * @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
     * @returns {void}
     */
    fitToAuto(): void;
    /**
     * Scales the page to fit the page in the container in the control.
     *
     * @returns {void}
     */
    fitToPage(): void;
    /**
     * Returns zoom factor for the fit zooms.
     *
     * @param {string} type -It describes about the type
     * @returns {number} - number
     */
    private calculateFitZoomFactor;
    /**
     * Initiating cursor based zoom.
     *
     * @param {number} pointX - It describes about the pointX
     * @param {number} pointY - It describes about the pointY
     * @param {number} zoomValue - It describes about the zoom value
     * @private
     * @returns {void}
     */
    initiateMouseZoom(pointX: number, pointY: number, zoomValue: number): void;
    /**
     * Performs pinch in operation
     *
     * @returns {void}
     */
    private pinchIn;
    /**
     * Performs pinch out operation
     *
     * @returns {void}
     */
    private pinchOut;
    /**
     * returns zoom level for the zoom factor.
     *
     * @param {number} zoomFactor - It describes about the zoom factor
     * @returns {number} - number
     */
    private getZoomLevel;
    /**
     * @private
     * @returns {boolean} - boolean
     */
    checkZoomFactor(): boolean;
    /**
     * Executes when the zoom or pinch operation is performed
     *
     * @param {number} zoomValue - It describes about the zoom value
     * @returns {void}
     */
    private onZoomChanged;
    /**
     * @param {number} clientX - It describes about the clientX
     * @param {number} clientY - It describes about the clientY
     * @private
     * @returns {void}
     */
    setTouchPoints(clientX: number, clientY: number): void;
    /**
     * @param {number} pointX1 - It describes about the pointX1
     * @param {number} pointY1 - It describes about the pointY1
     * @param {number} pointX2 - It describes about the pointX2
     * @param {number} pointY2 - It describes about the pointY2
     * @private
     * @returns {void}
     */
    initiatePinchMove(pointX1: number, pointY1: number, pointX2: number, pointY2: number): void;
    private magnifyPages;
    private updatePageLocation;
    private updatePageContainer;
    private clearRerenderTimer;
    /**
     * @private
     * @returns {void}
     */
    clearIntervalTimer(): void;
    /**
     * @param {HTMLImageElement} image - It describes about the image
     * @private
     * @returns {void}
     */
    pushImageObjects(image: HTMLImageElement): void;
    private clearRendering;
    private rerenderMagnifiedPages;
    private renderInSeparateThread;
    private responsivePages;
    private calculateScrollValues;
    private calculateScrollValuesOnMouse;
    private rerenderOnScroll;
    /**
     * @private
     * @returns {void}
     */
    pinchMoveScroll(): void;
    private initiateRerender;
    private reRenderAfterPinch;
    /**
     * @param {number} pageNumber - It describes about the page number
     * @private
     * @returns {void}
     */
    rerenderAnnotations(pageNumber: number): void;
    private designNewCanvas;
    /**
     * @private
     * @returns {void}
     */
    pageRerenderOnMouseWheel(): void;
    /**
     * @private
     * @returns {void}
     */
    renderCountIncrement(): void;
    /**
     * @private
     * @returns {void}
     */
    rerenderCountIncrement(): void;
    /**
     * @param {number} pageNumber - It describes about the page number
     * @private
     * @returns {void}
     */
    resizeCanvas(pageNumber: number): void;
    private zoomOverPages;
    /**
     * @private
     * @returns {void}
     */
    pinchMoveEnd(): void;
    /**
     * @param {WheelEvent} event - It describes about the event
     * @private
     * @returns {void}
     */
    fitPageScrollMouseWheel(event: WheelEvent): void;
    /**
     * @param {KeyboardEvent} event - It describes about the event
     * @private
     * @returns {void}
     */
    magnifyBehaviorKeyDown(event: KeyboardEvent): void;
    private formElementcheck;
    private focusOnViewerContainer;
    private upwardScrollFitPage;
    /**
     * @param {number} currentPageIndex - It describes about the current page index
     * @private
     * @returns {void}
     */
    updatePagesForFitPage(currentPageIndex: number): void;
    /**
     * @private
     * @returns {void}
     */
    onDoubleTapMagnification(): void;
    private downwardScrollFitPage;
    private getMagnifiedValue;
    /**
     * @private
     * @returns {void}
     */
    destroy(): void;
    /**
     * returns zoom factor when the zoom percent is passed.
     *
     * @param {number} zoomValue - It describes about the zoom value
     * @returns {number} - number
     */
    private getZoomFactor;
    /**
     * @private
     * @returns {string} - string
     */
    getModuleName(): string;
    /**
     * Returns the pinch step value.
     *
     * @param {number} higherValue - It describes about the higher value
     * @param {number} lowerValue - It describes about the lower value
     * @returns {number} - number
     */
    private getPinchStep;
    /**
     * @private
     * @param {drawings.Rect} zoomRect - Specifies the region in client coordinates that is to be brought to view.
     * @returns {void}
     */
    zoomToRect(zoomRect: drawings.Rect): void;
    /**
     * Returns Point value respect to Main container.
     *
     * @param {number} pointX - It describes about the pointX
     * @param {number} pointY - It describes about the pointY
     * @returns {any} - any
     */
    private positionInViewer;
}
//node_modules/@syncfusion/ej2-pdfviewer/src/pdfviewer/form-fields/form-fields.d.ts
/**
 * The `FormFields` module is to render formfields in the PDF document.
 *
 * @hidden
 */
export  class FormFields {
    private pdfViewer;
    private pdfViewerBase;
    private maxTabIndex;
    private minTabIndex;
    private maintainTabIndex;
    private maintanMinTabindex;
    private isSignatureField;
    /**
     * @private
     */
    paddingDifferenceValue: number;
    private indicatorPaddingValue;
    private isKeyDownCheck;
    /**
     * @private
     */
    signatureFontSizeConstent: number;
    /**
     * @private
     */
    readOnlyCollection: any;
    /**
     * @private
     */
    currentTarget: any;
    private isSignatureRendered;
    /**
     * @private
     */
    signatureFieldCollection: any;
    private data;
    private formFieldsData;
    private rotateAngle;
    private selectedIndex;
    /**
     * @private
     */
    renderedPageList: number[];
    /**
     * @param {PdfViewer} viewer - It describes about the viewer
     * @param {PdfViewerBase} base - It describes about the base
     * @private
     * @returns {void}
     */
    constructor(viewer: PdfViewer, base: PdfViewerBase);
    /**
     * @param {number} pageIndex - It describes about the page index
     * @param {boolean} isImportFormField - It describes about the isImportFormField
     * @private
     * @returns {void}
     */
    renderFormFields(pageIndex: number, isImportFormField: boolean): void;
    private setToolTip;
    private trim;
    private rgbaToHex;
    private getListValues;
    private createParentElement;
    /**
     * @param {number} pageIndex -  It describes about the page index
     * @param {any} data - It gets the page data
     * @private
     * @returns {number} - number
     */
    getAngle(pageIndex: number, data?: any): number;
    nextField(): void;
    previousField(): void;
    private signatureFieldNavigate;
    private getSignatureIndex;
    private renderSignatureField;
    /**
     * @param {any} pageData - It gets the page data
     * @private
     * @returns {void}
     */
    formFieldCollections(pageData: any): void;
    private retreiveFormFieldsData;
    private updateBoundsValue;
    /**
     * @param {any} formField - It describes about the form field
     * @private
     * @returns {void}
     */
    updateFormFieldsCollection(formField: any): void;
    updateFormFieldValues(formFields: any): void;
    /**
     * @param {any} currentData - It describes about the current data
     * @private
     * @returns {string} - string
     */
    retriveFieldName(currentData: any): string;
    private retriveCurrentValue;
    private getSignatureBounds;
    /**
     * @private
     * @returns {any} - any
     */
    downloadFormFieldsData(): any;
    private focusFormFields;
    private blurFormFields;
    updateFormFields(event: MouseEvent): void;
    /**
     * @param {string} signatureType - It describes about the signature type
     * @param {string} value - It describes about the value
     * @param {any} target - It describes about the target
     * @param {string} fontname - It describes about the font name
     * @param {any} signBounds - It contains a signatureBounds
     * @private
     * @returns {void}
     */
    drawSignature(signatureType?: string, value?: string, target?: any, fontname?: string, signBounds?: any): void;
    private imageOnLoad;
    private updateSignatureDataInSession;
    /**
     * @param {any} bounds - It describes about the bounds
     * @private
     * @returns {any} - any
     */
    getDefaultBoundsforSign(bounds: any): any;
    /**
     * @param {number} currentIndex - It describes about the current index
     * @param {number} rotateAngle - It describes about the rorate angle
     * @param {number} currentPage - It describes about the current page
     * @param {number} zoomvalue - It describes about the zoom value
     * @param {number} currentLeft - It describes about the current left
     * @param {number} currentTop - It describes about the current top
     * @param {number} currentWidth - It describes about the current width
     * @param {number} currentHeight - It describes about the current height
     * @param {boolean} isDraw - It describes about the isDraw
     * @private
     * @returns {any} - any
     */
    getSignBounds(currentIndex: number, rotateAngle: number, currentPage: number, zoomvalue: number, currentLeft: number, currentTop: number, currentWidth: number, currentHeight: number, isDraw?: boolean): any;
    private updateSameFieldsValue;
    private updateFormFieldsValue;
    private changeFormFields;
    /**
     * @param {any} target - It describes about the target
     * @param {any} signaturePath - It describes about the signature path
     * @param {any} signatureBounds - It describes about the signature bounds
     * @param {string} signatureFontFamily - It describes about the signature font family
     * @param {number} signatureFontSize   - It describes about the signature font size
     * @param {boolean} isUpdateSameField - It describes about the isUpdateSameField
     * @private
     * @returns {void}
     */
    updateDataInSession(target: any, signaturePath?: any, signatureBounds?: any, signatureFontFamily?: string, signatureFontSize?: number, isUpdateSameField?: boolean): void;
    /**
     * @private
     * @returns {void}
     */
    removeExistingFormFields(): void;
    private applyCommonProperties;
    /**
     * @param {any} currentData - It describes about the current data
     * @param {number} pageIndex - It describes about the page index
     * @param {number} index - It describes about the index
     * @param {any} printContainer - It describes about the print container
     * @param {number} count - It describes about the count
     * @private
     * @returns {any} - any
     */
    createFormFields(currentData: any, pageIndex: number, index?: number, printContainer?: any, count?: number): any;
    private getFormFieldType;
    private createButtonField;
    /**
     * Returns the boolean value based on the imgae source base64
     *
     * @param {string} imageSrc - Passing the image source.
     * @returns {boolean} - boolean
     */
    private isBase64;
    /**
     * Returns the boolean value based on the imgae source URL
     *
     * @param {string} imageSrc - Passing the image source.
     * @returns {boolean} - boolean
     */
    private isURL;
    private createTextBoxField;
    private checkIsReadonly;
    /**
     * @param {boolean} isReadonly - It describes about the isReadOnly value
     * @private
     * @returns {void}
     */
    formFieldsReadOnly(isReadonly: boolean): void;
    private makeformFieldsReadonly;
    private applyTabIndex;
    private checkIsRequiredField;
    private applyDefaultColor;
    private addAlignmentPropety;
    private addBorderStylePropety;
    private createRadioBoxField;
    private createDropDownField;
    private createListBoxField;
    private createSignatureField;
    private addSignaturePath;
    private getBounds;
    private getBoundsPosition;
    private applyPosition;
    private renderExistingAnnnot;
    /**
     * @param {any} bound - It describes about the bound
     * @param {number} pageIndex - It describes about the page index
     * @param {boolean} isFieldRotated - It describes about the isFieldRotated
     * @private
     * @returns {any} - any
     */
    updateSignatureBounds(bound: any, pageIndex: number, isFieldRotated: boolean): any;
    resetFormFields(): void;
    /**
     * @private
     * @returns {void}
     */
    clearFormFieldStorage(): void;
    clearFormFields(formField?: any): void;
    /**
     * @param {any} number - It describes about the number
     * @private
     * @returns {number} - number
     */
    ConvertPointToPixel(number: number): number;
    /**
     * @private
     * @returns {void}
     */
    destroy(): void;
    /**
     * @private
     * @returns {string} - string
     */
    getModuleName(): string;
    /**
     * @private
     * @param {any} text - It describes about the text
     * @param {any} font - It describes about the font
     * @param {any} fontFamily - It describes about the font family
     * @returns {number} - number
     */
    getTextWidth(text: any, font: any, fontFamily: any): number;
    /**
     * @private
     * @param {number} fontSize - Font size.
     * @returns {number} - Returns the font size.
     */
    getFontSize(fontSize: number): number;
}
//node_modules/@syncfusion/ej2-pdfviewer/src/pdfviewer/form-designer/form-designer.d.ts
/**
 * The `FormDesigner` module is used to handle form designer actions of PDF viewer.
 */
export  class FormDesigner {
    private formFieldTooltips;
    private data;
    private previousBackgroundColor;
    private formFieldsData;
    private pdfViewer;
    private pdfViewerBase;
    private isFormFieldExistingInCollection;
    private propertiesDialog;
    private tabControl;
    private formFieldName;
    private formFieldTooltip;
    private formFieldValue;
    private formFieldVisibility;
    private formFieldReadOnly;
    private formFieldChecked;
    private formFieldRequired;
    private formFieldPrinting;
    private formFieldMultiline;
    private formFieldFontFamily;
    private formFieldFontSize;
    private maxLengthItem;
    private fontColorDropDown;
    private fontColorPalette;
    private fontColorElement;
    private colorDropDownElement;
    private colorPalette;
    private colorDropDown;
    private strokeDropDownElement;
    private strokeColorPicker;
    private strokeDropDown;
    private thicknessElement;
    private thicknessDropDown;
    private thicknessSlider;
    private thicknessIndicator;
    private formFieldListItem;
    private formFieldAddButton;
    private formFieldDeleteButton;
    private formFieldUpButton;
    private formFieldDownButton;
    private isBold;
    private isItalic;
    private isUnderline;
    private isStrikeThrough;
    private formFieldBold;
    private formFieldItalic;
    private formFieldUnderline;
    private formFieldStrikeOut;
    private formFieldAlign;
    private fontColorValue;
    private backgroundColorValue;
    private borderColorValue;
    private formFieldBorderWidth;
    private checkboxCheckedState;
    private multilineCheckboxCheckedState;
    private formFieldListItemCollection;
    private formFieldListItemDataSource;
    private isInitialField;
    private isSetFormFieldMode;
    private isAddFormFieldProgrammatically;
    private isAddFormFieldUi;
    private increasedSize;
    private defaultZoomValue;
    private defaultFontSize;
    private signIndicatorPadding;
    private signIndicatorMinimunFontSize;
    private signatureFieldPropertyChanged;
    private initialFieldPropertyChanged;
    private textFieldPropertyChanged;
    private passwordFieldPropertyChanged;
    private checkBoxFieldPropertyChanged;
    private radioButtonFieldPropertyChanged;
    private dropdownFieldPropertyChanged;
    private listBoxFieldPropertyChanged;
    /**
     * @private
     */
    disableSignatureClickEvent: boolean;
    /**
     * @private
     */
    formFieldIndex: number;
    /**
     * @private
     */
    formFieldIdIndex: number;
    /**
     * @private
     */
    isProgrammaticSelection: boolean;
    /**
     * @private
     */
    isShapeCopied: boolean;
    /**
     * @private
     */
    isFormFieldSizeUpdated: boolean;
    private isDrawHelper;
    private isFormFieldUpdated;
    /**
     * @param {PdfViewer} viewer - It describes about the viewer
     * @param {PdfViewerBase} base - It describes about the base
     * @private
     */
    constructor(viewer: PdfViewer, base: PdfViewerBase);
    /**
     * @private
     */
    isPropertyDialogOpen: boolean;
    /**
     * @param {string} formFieldAnnotationType - It describes about the form field annotation type
     * @param {PdfFormFieldBaseModel} obj - It describes about the object
     * @param {Event} event - It describes about the event
     * @private
     * @returns {void}
     */
    drawHelper(formFieldAnnotationType: string, obj: PdfFormFieldBaseModel, event: Event): void;
    /**
     * @param {string} formFieldAnnotationType - It describes about the form field annotation type
     * @param {DiagramHtmlElement} element - It describes about the diagram html element
     * @param {PdfFormFieldBaseModel} drawingObject - It describes about the drawing object
     * @param {number} pageIndex - It describes about the page index
     * @param {PdfViewer} commandHandler - It describes about the command handler
     * @param {string} fieldId - It describes about the field id
     * @param {boolean} isAddedProgrammatically - It describes about the isAddedProgrammatically
     * @param {boolean} action - It describes about the action
     * @private
     * @returns {HTMLElement} - html element
     */
    drawHTMLContent(formFieldAnnotationType: string, element: DiagramHtmlElement, drawingObject: PdfFormFieldBaseModel, pageIndex?: number, commandHandler?: PdfViewer, fieldId?: string, isAddedProgrammatically?: boolean, action?: string): HTMLElement;
    private getFormFieldAddEventArgs;
    /**
     * @param {drawings.PointModel} point - It describes about the point
     * @param {DiagramHtmlElement} element - It describes about the element
     * @param {string} formFieldType - It describes about the form field type
     * @param {PdfFormFieldBaseModel} drawingObject - It describes about the drawing object
     * @private
     * @returns {void}
     */
    updateFormDesignerFieldInSessionStorage(point: drawings.PointModel, element: DiagramHtmlElement, formFieldType: string, drawingObject?: PdfFormFieldBaseModel): void;
    private getRadioButtonItem;
    private getRgbCode;
    /**
     * @param {string} colour -It describes about the color
     * @private
     * @returns {string} - string
     */
    nameToHash(colour: string): string;
    /**
     * @param {string} value - It describes about the value
     * @param {string} type - It describes about the type
     * @private
     * @returns {string} - string
     */
    getValue(value?: string, type?: string): string;
    private convertRgbToNumberArray;
    private convertToRgbString;
    private convertToHsvString;
    private roundValue;
    private hexToRgb;
    private rgbToHsv;
    private hsvToRgb;
    private rgbToHex;
    /**
     * @param {number} pageNumber - It describes about the page number
     * @param {HTMLElement} canvas - It describes about the html element
     * @private
     * @returns {void}
     */
    updateCanvas(pageNumber: number, canvas?: HTMLElement): void;
    /**
     * @param {number} pageIndex - It describes about the page index
     * @private
     * @returns {void}
     */
    rerenderFormFields(pageIndex: number): void;
    private renderFormFieldsInZooming;
    /**
     * @param {drawings.DrawingElement} obj - It describes about the object
     * @param {string} formFieldAnnotationType - It describes about the form field annotation type
     * @private
     * @returns {any} - any
     */
    updateFormFieldInitialSize(obj: drawings.DrawingElement, formFieldAnnotationType: string): any;
    /**
     * @param {PdfAnnotationBaseModel} actualObject - It describes about the actual object
     * @private
     * @returns {void}
     */
    updateHTMLElement(actualObject: PdfAnnotationBaseModel): void;
    private getCheckboxRadioButtonBounds;
    private updateSessionFormFieldProperties;
    /**
     * @param {any} commandHandler - It describes about the command handler
     * @param {any} signatureField - It describes about the signature field
     * @param {any} bounds - It describes about the bounds
     * @param {boolean} isPrint - It describes about the isPrint
     * @private
     * @returns {HTMLElement} - html element
     */
    createSignatureDialog(commandHandler: any, signatureField: any, bounds?: any, isPrint?: boolean): HTMLElement;
    private setIndicatorText;
    private getBounds;
    private updateSignatureandInitialIndicator;
    private setHeightWidth;
    /**
     * @param {DiagramHtmlElement} dropdownElement -  It describes about the dropdown element
     * @param {PdfFormFieldBaseModel} drawingObject - It describes about the drawing object
     * @param {boolean} isPrint - It describes about the isPrint
     * @private
     * @returns {HTMLElement} - html element
     */
    createDropDownList(dropdownElement: DiagramHtmlElement, drawingObject: PdfFormFieldBaseModel, isPrint?: boolean): HTMLElement;
    /**
     * @param {DiagramHtmlElement} listBoxElement - It describes about the list box element
     * @param {PdfFormFieldBaseModel} drawingObject - It describes about the drawing object
     * @param {boolean} isPrint - It describes about the isPrint
     * @private
     * @returns {HTMLElement} - html element
     */
    createListBox(listBoxElement: DiagramHtmlElement, drawingObject: PdfFormFieldBaseModel, isPrint?: boolean): HTMLElement;
    /**
     * @param {string} formFieldAnnotationType - It describes about the form field annotation type
     * @param {PdfFormFieldBaseModel} drawingObject - It describes about the drawing object
     * @param {any} formFieldBounds - It describes about the form field bounds
     * @param {boolean} isPrint - It describes about the isPrint
     * @private
     * @returns {HTMLElement} - html element
     */
    createInputElement(formFieldAnnotationType: string, drawingObject: PdfFormFieldBaseModel, formFieldBounds?: any, isPrint?: boolean): HTMLElement;
    private listBoxChange;
    private dropdownChange;
    setCheckBoxState(event: Event): void;
    private setCheckedValue;
    private setRadioButtonState;
    private getTextboxValue;
    private inputElementClick;
    private updateFormFieldSessions;
    focusFormFields(event: any): void;
    blurFormFields(event: any): void;
    private setTextBoxFontStyle;
    /**
     * Adds form field to the PDF page.
     *
     * @param {FormFieldType} formFieldType - It describes about the form field type
     * @param {TextFieldSettings} options - It describes about the options
     * @param {boolean} isCollection - It describes about the isCollection
     * @param {string} id - It describes about the id
     * @returns {HTMLElement} - html element
     */
    addFormField(formFieldType: FormFieldType, options?: TextFieldSettings | PasswordFieldSettings | CheckBoxFieldSettings | DropdownFieldSettings | RadioButtonFieldSettings | ListBoxFieldSettings | SignatureFieldSettings | InitialFieldSettings, isCollection?: boolean, id?: string): HTMLElement;
    /**
     * Adds form field to the PDF page.
     *
     * @param {FormFieldType} formFieldType - It describes about the form field type
     * @param {TextFieldSettings} options - It describes about the options
     * @param {boolean} isCollection - It describes about the isCollection
     * @param {string} id - It describes about the id
     * @param {boolean} isAddedProgrammatically - It describes about the isAddedProgrammatically
     * @private
     * @returns {HTMLElement} - html element
     */
    addField(formFieldType: FormFieldType, options?: TextFieldSettings | PasswordFieldSettings | CheckBoxFieldSettings | DropdownFieldSettings | RadioButtonFieldSettings | ListBoxFieldSettings | SignatureFieldSettings | InitialFieldSettings, isCollection?: boolean, id?: string, isAddedProgrammatically?: boolean): HTMLElement;
    addFieldCollection(node: any): void;
    /**
     * @param {PdfFormFieldBaseModel} obj - It describes about the pdf formfield base model
     * @param {boolean} isAddedProgrammatically - It describes about the isAddedProgrammatically
     * @param {boolean} action - It describes about the action
     * @private
     * @returns {void}
     */
    drawFormField(obj: PdfFormFieldBaseModel, isAddedProgrammatically?: boolean, action?: string): HTMLElement;
    /**
     * Update the node value based on the collections
     *
     * @param {PdfFormFieldBaseModel} node - It describes about the node
     * @param {any} data - It describes about the data
     * @returns {void}
     */
    private updateNodeBasedOnCollections;
    /**
     * Set the form field mode to add the form field on user interaction.
     *
     * @param {FormFieldType} formFieldType - It describes about the form field Id
     * @param {Item} options - It describes about the options
     * @returns {void}
     */
    setFormFieldMode(formFieldType: FormFieldType, options?: Item[]): void;
    /**
     * Reset the form fields into its original state.
     *
     * @param {string} formFieldId - It describes about the form field id
     * @returns {void}
     */
    resetFormField(formFieldId: string | object): void;
    /**
     * Select the form field in the PDF Viewer.
     *
     * @param {string} formFieldId - It describes about the form field id
     * @returns {void}
     */
    selectFormField(formFieldId: string | object): void;
    /**
     * Update the form field with the given properties and value.
     *
     * @param {string} formFieldId - It describes about the form field Id
     * @param {TextFieldSettings} options - It describes about the options
     * @returns {void}
     */
    updateFormField(formFieldId: string | object, options: TextFieldSettings | PasswordFieldSettings | CheckBoxFieldSettings | DropdownFieldSettings | RadioButtonFieldSettings | SignatureFieldSettings | InitialFieldSettings): void;
    /**
     * Update the form field in the form designer session.
     *
     * @param {any} formFieldId - It describes about the form field id
     * @param {any} options - It describes about the options
     * @returns {void}
     */
    private updateDesignerSession;
    /**
     * Update the form field in the form field session.
     *
     * @param {any} formFieldId - It describes about the form field id
     * @param {any} options - It describes about the options
     * @returns {void}
     */
    private updateFormFieldsInFieldsSession;
    /**
     * Update the form field in the form field collections.
     *
     * @param {any} formFieldId - It describes about the form field id
     * @param {any} options - It describes about the options
     * @returns {void}
     */
    private updateFormFieldsInCollections;
    /**
     * Update the form field data based on the value
     *
     * @param {any} currentData - It describes about the current data
     * @param {any} options - It describes about the options
     * @returns {void}
     */
    private updateFormFieldData;
    private formFieldPropertyChange;
    private colorNametoHashValue;
    /**
     * @param {string} formFieldId - It describes about the form field id
     * @private
     * @returns {PdfFormFieldBaseModel} - pdf formfiels base model
     */
    getFormField(formFieldId: string | object): PdfFormFieldBaseModel;
    private resetTextboxProperties;
    private resetPasswordProperties;
    private resetCheckboxProperties;
    private resetRadioButtonProperties;
    private resetDropdownListProperties;
    private resetListBoxProperties;
    private resetSignatureTextboxProperties;
    /**
     * Deletes the form field from the PDF page.
     *
     * @param {string} formFieldId - It describes about the form field id
     * @param {boolean} addAction - It describes about the addAction
     * @returns {void}
     */
    deleteFormField(formFieldId: string | object, addAction?: boolean): void;
    /**
     * Clears the selection of the form field in the PDF page.
     *
     * @param {string} formFieldId - It describes about the form field id
     * @returns {void}
     */
    clearSelection(formFieldId: string | object): void;
    /**
     * @param {string} mode - It describes about the mode
     * @private
     * @returns {void}
     */
    setMode(mode: string): void;
    private enableDisableFormFieldsInteraction;
    private getAnnotationsFromAnnotationCollections;
    /**
     * @param {string} formFieldId - It describes about the form field id
     * @private
     * @returns {void}
     */
    updateSignatureValue(formFieldId: string): void;
    /**
     * @param {string} annotationId - It describes about the annotation id
     * @param {string} fieldName - It describes about the field name
     * @private
     * @returns {void}
     */
    removeFieldsFromAnnotationCollections(annotationId: string, fieldName: string): void;
    /**
     * @private
     * @returns {number} - number
     */
    setFormFieldIndex(): number;
    private setFormFieldIdIndex;
    private activateTextboxElement;
    private activatePasswordField;
    private activateCheckboxElement;
    private activateRadioButtonElement;
    private activateDropDownListElement;
    private activateListboxElement;
    private activateSignatureBoxElement;
    /**
     * @param {PdfFormFieldBaseModel} obj - It describes about the object
     * @param {HTMLElement} inputElement - It describes about the input element
     * @param {boolean} isPrint - It describes about the isPrint
     * @private
     * @returns {void}
     */
    updateTextboxProperties(obj: PdfFormFieldBaseModel, inputElement: HTMLElement, isPrint?: boolean): void;
    /**
     * @param {PdfFormFieldBaseModel} obj - It describes about the object
     * @param {HTMLElement} inputElement - It describes about the input element
     * @param {boolean} isPrint - It describes about the isPrint
     * @private
     * @returns {void}
     */
    updatePasswordFieldProperties(obj: PdfFormFieldBaseModel, inputElement: HTMLElement, isPrint?: boolean): void;
    /**
     * @param {PdfFormFieldBaseModel} obj - It describes about the object
     * @param {HTMLElement} inputElement - It describes about the input element
     * @private
     * @returns {void}
     */
    updateCheckboxProperties(obj: PdfFormFieldBaseModel, inputElement: HTMLElement): void;
    /**
     * @param {PdfFormFieldBaseModel} obj - It describes about the object
     * @param {HTMLElement} inputElement - It describes about the input element
     * @param {HTMLElement} labelElement - It describes about the label element
     * @private
     * @returns {void}
     */
    updateRadioButtonProperties(obj: PdfFormFieldBaseModel, inputElement: HTMLElement, labelElement?: HTMLElement): void;
    /**
     * @param {PdfFormFieldBaseModel} obj - It describes about the object
     * @param {HTMLElement} inputElement - It describes about the input element
     * @param {boolean} isPrint - It describes about the isPrint
     * @private
     * @returns {void}
     */
    updateDropdownListProperties(obj: PdfFormFieldBaseModel, inputElement: HTMLElement, isPrint?: boolean): void;
    /**
     * @param {PdfFormFieldBaseModel} obj - It describes about the object
     * @param {HTMLElement} inputElement - It describes about the input element
     * @param {boolean} isPrint - It describes about the isPrint
     * @private
     * @returns {void}
     */
    updateListBoxProperties(obj: PdfFormFieldBaseModel, inputElement: HTMLElement, isPrint?: boolean): void;
    /**
     * @param {PdfFormFieldBaseModel} obj - It describes about the object
     * @param {HTMLElement} inputElement - It describes about the input element
     * @param {boolean} isPrint - It describes about the isPrint
     * @private
     * @returns {void}
     */
    updateSignatureFieldProperties(obj: PdfFormFieldBaseModel, inputElement: HTMLElement, isPrint?: boolean): void;
    /**
     * @param {string} elementType - It describes about the elementt type
     * @param {object} attribute - It describes about the attribut
     * @private
     * @returns {HTMLElement} - html element
     */
    createHtmlElement(elementType: string, attribute: Object): HTMLElement;
    private setAttributeHtml;
    private applyStyleAgainstCsp;
    private getFieldBounds;
    /**
     * @private
     * @returns {string} - string
     */
    downloadFormDesigner(): string;
    /**
     * @private
     * @param {any} formFieldsData - It describes about the fields in session
     * @returns {void}
     */
    updateMissingFormFields(formFieldsData: {
        Key: string;
        FormField: any;
    }[]): void;
    private getTextToImage;
    /**
     * @param {any} currentData - It describes about the current data
     * @private
     * @returns {any} - any
     */
    loadedFormFieldValue(currentData: any): any;
    /**
     * @param {HTMLElement} pageDiv - It describes about the pageDiv
     * @param {number} pageWidth - It describes about the pageWidth
     * @param {number} pageHeight - It describes about the pageHeight
     * @param {number} pageNumber - It describes about the pageNumber
     * @param {string} displayMode - It describes about the displayMode
     * @private
     * @returns {HTMLElement} - html element
     */
    createAnnotationLayer(pageDiv: HTMLElement, pageWidth: number, pageHeight: number, pageNumber: number, displayMode: string): HTMLElement;
    /**
     * @param {number} width - It describes about the width
     * @param {number} height - It describes about the height
     * @param {number} pageNumber - It describes about the page number
     * @private
     * @returns {void}
     */
    resizeAnnotations(width: number, height: number, pageNumber: number): void;
    /**
     * @param {Event} event - It describes about the event
     * @private
     * @returns {number} - number
     */
    getEventPageNumber(event: Event): number;
    private getPropertyPanelHeaderContent;
    /**
     * @private
     * @returns {void}
     */
    createPropertiesWindow(): void;
    private onOkClicked;
    /**
     * Update the form fields properties to the collection while rendering the page
     *
     * @param {any} item - It describes about the item
     * @returns {void}
     */
    private updateFormFieldPropertiesInCollections;
    private checkTextboxName;
    renderMultilineText(selectedItem: PdfFormFieldBaseModel, isUndoRedo?: boolean): void;
    renderTextbox(selectedItem: PdfFormFieldBaseModel, isUndoRedo?: boolean): void;
    private addMultilineTextbox;
    private reRenderMultilineTextbox;
    private createTextAreaElement;
    private createTextboxElement;
    /**
     * @param {PdfFormFieldBaseModel} formFieldObject - It describes about the form field object
     * @private
     * @returns {void}
     */
    updateFormFieldCollections(formFieldObject: PdfFormFieldBaseModel): void;
    /**
     * Get the Hex value from the RGB value.
     *
     * @param {string} color - It describes about the color
     * @returns {void}
     */
    getRgbToHex(color: any): string;
    /**
     * @param {PdfFormFieldBaseModel} selectedItem - It describes about the selected item
     * @param {boolean} isUndoRedo - It describes about the isUndoRedo
     * @private
     * @returns {void}
     */
    updateDropdownFormDesignerProperties(selectedItem: PdfFormFieldBaseModel, isUndoRedo?: boolean): void;
    /**
     * @param {PdfFormFieldBaseModel} selectedItem - It describes about the selected item
     * @param {boolean} isUndoRedo - It describes about the isUndoRedo
     * @private
     * @returns {void}
     */
    updateListBoxFormDesignerProperties(selectedItem: PdfFormFieldBaseModel, isUndoRedo?: boolean): void;
    private updateDropDownListDataSource;
    private createDropdownDataSource;
    /**
     * @param {PdfFormFieldBaseModel} selectedItem - It describes about the selected Item
     * @param {boolean} isUndoRedo - It describes about the isUndoRedo
     * @private
     * @returns {void}
     */
    updateSignatureTextboxProperties(selectedItem: PdfFormFieldBaseModel, isUndoRedo?: boolean): void;
    /**
     * @param {PdfFormFieldBaseModel} selectedItem - It describes about the selected item
     * @param {boolean} updateValue - It describes about the update value
     * @param {boolean} isUndoRedo - isUndoRedo
     * @private
     * @returns {void}
     */
    updateCheckboxFormDesignerProperties(selectedItem: PdfFormFieldBaseModel, updateValue?: boolean, isUndoRedo?: boolean): void;
    /**
     * @param {PdfFormFieldBaseModel} selectedItem - It describes about the selected item
     * @param {boolean} updateValue - It describes about the update value
     * @param {boolean} isUndoRedo - It describes about the isUndoRedo
     * @private
     * @returns {void}
     */
    updateRadioButtonDesignerProperties(selectedItem: PdfFormFieldBaseModel, updateValue?: boolean, isUndoRedo?: boolean): void;
    /**
     * @param {PdfFormFieldBaseModel} selectedItem - It describes about the selected item
     * @param {boolean} isUndoRedo - It describes about the isUndoRedo
     * @private
     * @returns {void}
     */
    updateTextboxFormDesignerProperties(selectedItem: PdfFormFieldBaseModel, isUndoRedo?: boolean): void;
    /**
     * @param {any} selectedItem - It describes about the selected item
     * @param {any} element - It describes about the element
     * @param {boolean} isUndoRedo - It describes about the isUndoRedo
     * @param {number} index - It describes about the index
     * @param {any} formFieldsData - It describes about the form fields data
     * @private
     * @returns {void}
     */
    updateIsCheckedPropertyChange(selectedItem: any, element: any, isUndoRedo: boolean, index: number, formFieldsData: any): void;
    /**
     * @param {any} selectedItem - It describes about the selected item
     * @param {any} element - It describes about the element
     * @param {boolean} isUndoRedo - It describes about the isUndoRedo
     * @param {number} index - It describes about the index
     * @param {any} formFieldsData - It describes about the form fields data
     * @private
     * @returns {void}
     */
    updateIsSelectedPropertyChange(selectedItem: any, element: any, isUndoRedo: boolean, index: number, formFieldsData: any): void;
    /**
     * @param {any} selectedItem - It describes about the selected item
     * @param {any} element - It describes about the element
     * @param {boolean} isUndoRedo - It describes about the isUndoRedo
     * @param {number} index - It describes about the index
     * @param {any} formFieldsData - It describes about the form fields data
     * @param {boolean} updateValue - It describes about the update value
     * @private
     * @returns {void}
     */
    updateValuePropertyChange(selectedItem: any, element: any, isUndoRedo: boolean, index: number, formFieldsData: any, updateValue?: boolean): void;
    private updateFontStylePropertyChange;
    private updateBorderThicknessPropertyChange;
    private updateBorderColorPropertyChange;
    private updateBackgroundColorPropertyChange;
    private updateColorPropertyChange;
    private updateAlignmentPropertyChange;
    private updateFontSizePropertyChange;
    private updateFontFamilyPropertyChange;
    private updateVisibilityPropertyChange;
    private hideSignatureValue;
    private showSignatureValue;
    private updateTooltipPropertyChange;
    private updateNamePropertyChange;
    private setReadOnlyProperty;
    private updateIsReadOnlyPropertyChange;
    private updateIsRequiredPropertyChange;
    private updateIsPrintPropertyChange;
    /**
     * @param {number} id - It describes about the id
     * @private
     * @returns {number} - number
     */
    getFormFiledIndex(id: any): number;
    private updateFontStyle;
    private setFontStyleValues;
    private setDropdownFontStyleValue;
    /**
     * @param {string} name - It describes about the name
     * @param {PdfFormFieldBaseModel} selectedItem - It describes about the selected item
     * @param {boolean} isValueChanged - It describes about the isValueChanged
     * @param {boolean} isFontFamilyChanged - It describes about the isFontFamilyChanged
     * @param {boolean} isFontSizeChanged - It describes about the isFontSizeChanged
     * @param {boolean} isFontStyleChanged - It describes about the isFontStyleChanged
     * @param {boolean} isColorChanged - It describes about the isColorChanged
     * @param {boolean} isBackgroundColorChanged - It describes about the isBackgroundColorChanged
     * @param {boolean} isBorderColorChanged - It describes about the isBorderColorChanged
     * @param {boolean} isBorderWidthChanged - It describes about the isBorderWidthChanged
     * @param {boolean} isAlignmentChanged - It describes about the isAlignmentChanged
     * @param {boolean} isReadOnlyChanged - It describes about the isReadOnlyChanged
     * @param {boolean} isVisibilityChanged - It describes about the isVisibilityChanged
     * @param {boolean} isMaxLengthChanged - It describes about the isMaxLengthChanged
     * @param {boolean} isRequiredChanged - It describes about the isRequiredChanged
     * @param {boolean} isPrintChanged - It describes about the isPrintChanged
     * @param {boolean} isToolTipChanged - It describes about the isToolTipChanged
     * @param {boolean} isCustomDataChanged - It describes about the isCustomDataChanged
     * @param {any} oldValue - It describes about the old value
     * @param {any} newValue - It describes about the new value
     * @param {boolean} isNamechanged - It describes about the isNameChanged
     * @param {string} previousName - It describes about the previous name
     * @private
     * @returns {void}
     */
    updateFormFieldPropertiesChanges(name: string, selectedItem: PdfFormFieldBaseModel, isValueChanged: boolean, isFontFamilyChanged: boolean, isFontSizeChanged: boolean, isFontStyleChanged: boolean, isColorChanged: boolean, isBackgroundColorChanged: boolean, isBorderColorChanged: boolean, isBorderWidthChanged: boolean, isAlignmentChanged: boolean, isReadOnlyChanged: boolean, isVisibilityChanged: boolean, isMaxLengthChanged: boolean, isRequiredChanged: boolean, isPrintChanged: boolean, isToolTipChanged: boolean, isCustomDataChanged: boolean, oldValue: any, newValue: any, isNamechanged?: boolean, previousName?: string): void;
    private onCancelClicked;
    private select;
    private createAppearanceTab;
    private createGeneralProperties;
    private checkBoxChange;
    private multilineCheckboxChange;
    private setToolTip;
    private tooltipBeforeOpen;
    private createAppearanceProperties;
    private thicknessChange;
    private thicknessDropDownBeforeOpen;
    private updateThicknessIndicator;
    private createOptionProperties;
    private addListItemOnClick;
    private listItemOnClick;
    private deleteListItem;
    private moveUpListItem;
    private moveDownListItem;
    private createListElement;
    private createThicknessSlider;
    private createColorPicker;
    private fontStyleClicked;
    private clearFontAlignIconSelection;
    private fontAlignClicked;
    private onFontColorChange;
    private onColorPickerChange;
    /**
     * @param {HTMLElement} element - It describes about the element
     * @param {string} color - It describes about the color
     * @private
     * @returns {void}
     */
    updateColorInIcon(element: HTMLElement, color: string): void;
    private onStrokePickerChange;
    private createDropDownButton;
    /**
     * @param {string} idString - It describes about the id string
     * @param {string} className - It describes about the class name
     * @param {boolean} isSelectedStyle - It describes about the isSelectedStyle
     * @private
     * @returns {HTMLElement} - html element
     */
    addClassFontItem(idString: string, className: string, isSelectedStyle?: boolean): HTMLElement;
    private createLabelElement;
    private setReadOnlyToFormField;
    /**
     * @param {any} signatureFieldCollection - It describes about the signature field collection
     * @private
     * @returns {any} - any
     */
    getFormDesignerSignField(signatureFieldCollection: any): any[];
    private setRequiredToFormField;
    private isTransparentBackground;
    private setReadOnlyToElement;
    private setRequiredToElement;
    /**
     * @private
     * @returns {void}
     */
    destroyPropertiesWindow(): void;
    /**
     * @private
     * @returns {void}
     */
    destroy(): void;
    private hex;
    /**
     * @private
     * @returns {string} - string
     */
    getModuleName(): string;
    private updateAnnotationCanvas;
    private getFontFamily;
    private updateTextFieldSettingProperties;
    private updatePasswordFieldSettingProperties;
    private updateCheckBoxFieldSettingsProperties;
    private updateRadioButtonFieldSettingProperties;
    private updateDropdownFieldSettingsProperties;
    private updatelistBoxFieldSettingsProperties;
    private updateSignInitialFieldProperties;
    /**
     * @param {any} newSignatureFieldSettings - It describes about the new signature field settings
     * @param {boolean} isInitialField - It describes about the isInitialField
     * @private
     * @returns {void}
     */
    updateSignatureSettings(newSignatureFieldSettings: any, isInitialField: boolean): void;
    /**
     * @param {any} textFieldSettings - It describes about the text field settings
     * @private
     * @returns {void}
     */
    updateTextFieldSettings(textFieldSettings: any): void;
    /**
     * @param {any} passwordFieldSettings - It describes about the password field settings
     * @private
     * @returns {void}
     */
    updatePasswordFieldSettings(passwordFieldSettings: any): void;
    /**
     * @param {any} checkBoxFieldSettings - It describes about the checkbox field settings
     * @private
     * @returns {void}
     */
    updateCheckBoxFieldSettings(checkBoxFieldSettings: any): void;
    /**
     * @param {any} radioButtonFieldSettings - It describes about the radio button field settings
     * @private
     * @returns {void}
     */
    updateRadioButtonFieldSettings(radioButtonFieldSettings: any): void;
    /**
     * @param {any} dropdownFieldSettings - It describes about the dropdown field settings
     * @private
     * @returns {void}
     */
    updateDropDownFieldSettings(dropdownFieldSettings: any): void;
    /**
     * @param {any} listBoxFieldSettings - It describes about the listBoxField settings
     * @private
     * @returns {void}
     */
    updateListBoxFieldSettings(listBoxFieldSettings: any): void;
    private getFontStyleName;
    private getAlignment;
    private getFontStyle;
}
/**
 * Defines the common properties of Radiobutton Item
 *
 * @hidden
 */
export interface IRadiobuttonItem {
    id: string;
    lineBound: IFormFieldBound;
    pageNumber: number;
    formFieldAnnotationType: string;
    name: string;
    value: string;
    fontFamily: string;
    fontSize: number;
    fontStyle: string;
    fontColor: any;
    backgroundColor: any;
    textAlign: string;
    isReadonly: boolean;
    visibility: string;
    maxLength: number;
    isRequired: boolean;
    isPrint: boolean;
    rotation: number;
    tooltip: string;
    isChecked: boolean;
    isSelected: boolean;
    zoomValue: number;
    borderColor?: any;
    thickness?: number;
    isMultiline?: boolean;
    isTransparent?: boolean;
    zIndex?: number;
    insertSpaces?: boolean;
    customData?: object;
}
/**
 * Defines the common properties of Form Fields Item
 *
 * @hidden
 */
export interface IFormField {
    id?: string;
    lineBound?: IFormFieldBound;
    pageNumber?: number;
    zoomValue?: number;
    formFieldAnnotationType?: string;
    name?: string;
    value?: string;
    option?: ItemModel[];
    fontFamily?: string;
    fontSize?: number;
    fontStyle?: string;
    fontColor?: any;
    color?: any;
    backgroundColor: any;
    textAlign?: string;
    alignment?: string;
    isReadonly?: boolean;
    visibility?: string;
    maxLength?: number;
    isRequired?: boolean;
    isMultiline?: boolean;
    isPrint?: boolean;
    rotation?: number;
    tooltip?: string;
    isChecked?: boolean;
    isSelected?: boolean;
    radiobuttonItem?: IRadiobuttonItem[];
    selectedIndex?: number[];
    options?: ItemModel[];
    borderColor?: any;
    thickness?: number;
    font?: PdfFontModel;
    signatureBound?: any;
    signatureType?: string;
    type?: string;
    currentName?: string;
    previousName?: string;
    insertSpaces?: boolean;
    isTransparent?: boolean;
    zIndex?: number;
    customData?: object;
}
/**
 * Defines the FormFields Bound properties
 *
 * @hidden
 */
export interface IFormFieldBound {
    X: number;
    Y: number;
    Width: number;
    Height: number;
}
/**
 * Defines the FormFields element attributes
 *
 * @hidden
 */
export interface IElement extends HTMLElement {
    options: any;
    name: string;
    value: string;
    checked: boolean;
    selectedIndex: number;
    selectedOptions: any;
    autocomplete: string;
    type: string;
}
//node_modules/@syncfusion/ej2-pdfviewer/src/pdfviewer/drawing/tools.d.ts
/**
 * Defines the interactive tools
 *
 * @hidden
 */
export  class ToolBase {
    /**
     * Initializes the tool
     *
     * @param {PdfViewer} pdfViewer - Specified the pdfviewer component.
     * @param {PdfViewerBase} pdfViewerBase - Specified the pdfViewer base component.
     * @param {boolean} protectChange - Set the default value as false.
     */
    constructor(pdfViewer: PdfViewer, pdfViewerBase: PdfViewerBase, protectChange?: boolean);
    /**   @private  */
    prevPageId: number;
    /**
     * Command that is corresponding to the current action
     */
    protected commandHandler: PdfViewer;
    /**
     * Sets/Gets whether the interaction is being done
     */
    protected inAction: boolean;
    /**
     * Sets/Gets the protect change
     */
    protected pdfViewerBase: PdfViewerBase;
    /**
     * Sets/Gets the current mouse position
     */
    protected currentPosition: drawings.PointModel;
    /**
     * Sets/Gets the previous mouse position
     */
    /**   @private  */
    prevPosition: drawings.PointModel;
    /**
     * Sets/Gets the initial mouse position
     */
    protected startPosition: drawings.PointModel;
    /**
     * Sets/Gets the current element that is under mouse
     */
    /**   @private  */
    currentElement: drawings.IElement;
    /**   @private  */
    blocked: boolean;
    protected isTooltipVisible: boolean;
    /** @private */
    childTable: {};
    /** @private */
    helper: PdfAnnotationBaseModel;
    /**
     * Sets/Gets the previous object when mouse down
     */
    protected undoElement: SelectorModel;
    protected undoParentElement: SelectorModel;
    /**
     * @param {drawings.IElement} currentElement - Specified the current element.
     * @returns {void}
     */
    protected startAction(currentElement: drawings.IElement): void;
    /**
     * @private
     * @param {MouseEventArgs} args - Mouse up event arguments.
     * @returns {void}
     */
    mouseDown(args: MouseEventArgs): void;
    /**
     * @private
     * @param {MouseEventArgs} args - Mouse up event arguments.
     * @returns {boolean} - Returns true or false.
     */
    mouseMove(args: MouseEventArgs): boolean;
    /**
     * @private
     * @param {MouseEventArgs} args - Mouse up event arguments.
     * @returns {void}
     */
    mouseUp(args: MouseEventArgs): void;
    protected endAction(): void;
    /**
     * @private
     * @param {MouseEventArgs} args - Mouse wheel event arguments.
     * @returns {void}
     */
    mouseWheel(args: MouseEventArgs): void;
    /**
     * @private
     * @param {MouseEventArgs} args - Mouse leave event arguments.
     * @returns {void}
     */
    mouseLeave(args: MouseEventArgs): void;
    protected updateSize(shape: any, startPoint: drawings.PointModel, endPoint: drawings.PointModel, corner: string, initialBounds: drawings.Rect, angle?: number, isMouseUp?: boolean): drawings.Rect;
    protected getPivot(corner: string): drawings.PointModel;
    protected getPositions(corner: string, x: number, y: number): drawings.PointModel;
}
/**
 * Helps to select the objects
 *
 * @hidden
 */
export  class SelectTool extends ToolBase {
    private action;
    constructor(commandHandler: PdfViewer, base: PdfViewerBase);
    /**
     * @private
     * @param {MouseEventArgs} args - Mouse down event arguments.
     * @returns {void}
     */
    mouseDown(args: MouseEventArgs): void;
    private mouseEventHelper;
    /**
     * @private
     * @param {MouseEventArgs} args - Mouse move event arguments.
     * @returns {boolean} - Returns true or false.
     */
    mouseMove(args: MouseEventArgs): boolean;
    /**
     * @private
     * @param {MouseEventArgs} args - Mouse up event arguments.
     * @returns {void}
     */
    mouseUp(args: MouseEventArgs): void;
    /**
     * @private
     * @param {MouseEventArgs} args - Mouse leave event arguments.
     * @returns {void}
     */
    mouseLeave(args: MouseEventArgs): void;
}
/** @private */
export  type Actions = 'None' | 'Select' | 'Drag' | 'ResizeWest' | 'ConnectorSourceEnd' | 'ConnectorTargetEnd' | 'ResizeEast' | 'ResizeSouth' | 'ResizeNorth' | 'ResizeSouthEast' | 'ConnectorSegmentPoint' | 'ResizeSouthWest' | 'ResizeNorthEast' | 'ResizeNorthWest' | 'Rotate' | 'ConnectorEnd' | 'Custom' | 'Draw' | 'Pan' | 'BezierSourceThumb' | 'BezierTargetThumb' | 'LayoutAnimation' | 'PinchZoom' | 'Hyperlink' | 'SegmentEnd' | 'OrthoThumb' | 'PortDrag' | 'PortDraw' | 'LabelSelect' | 'LabelDrag' | 'LabelResizeSouthEast' | 'LabelResizeSouthWest' | 'LabelResizeNorthEast' | 'LabelResizeNorthWest' | 'LabelResizeSouth' | 'LabelResizeNorth' | 'LabelResizeWest' | 'LabelResizeEast' | 'LabelRotate';
/** @hidden */
export  class MoveTool extends ToolBase {
    /**
     * Sets/Gets the previous mouse position
     */
    /**   @private  */
    prevPosition: drawings.PointModel;
    /**   @private  */
    startPosition: drawings.PointModel;
    private offset;
    /**   @private  */
    currentTarget: drawings.IElement;
    /**   @private  */
    redoElement: PdfAnnotationBaseModel;
    /**   @private  */
    prevNode: PdfAnnotationBaseModel;
    constructor(commandHandler: PdfViewer, base: PdfViewerBase);
    /**
     * @private
     * @param {MouseEventArgs} args - Mouse down event arguments.
     * @returns {void}
     */
    mouseDown(args: MouseEventArgs): void;
    /**
     * @private
     * @param {any} args - Specified the mouse event arguments.
     * @returns {void}
     */
    mouseUp(args: any): void;
    private calculateMouseXDiff;
    private calculateMouseYDiff;
    private calculateMouseActionXDiff;
    private calculateMouseActionYDiff;
    /**
     * @private
     * @param {MouseEventArgs} args - Specified the mouse event arguments.
     * @param {boolean} isStamp - Specified the stamp annotation or not.
     * @param {boolean} isSkip - Specified the annotation skip or not.
     * @returns {boolean} - Returns the true or false.
     */
    mouseMove(args: MouseEventArgs, isStamp?: boolean, isSkip?: boolean): boolean;
    /**
     * @private
     * @param {MouseEventArgs} args - Specified the mouse event arguments.
     * @returns {void}
     */
    mouseLeave(args: MouseEventArgs): void;
    /**
     * @private
     * @returns {void}
     */
    endAction(): void;
    private checkisAnnotationMove;
}
/** @hidden */
export  class StampTool extends MoveTool {
    /**
     * @private
     * @param {MouseEventArgs} args - Specified the mouse event arguments.
     * @returns {void}
     */
    mouseDown(args: MouseEventArgs): void;
    /**
     * @private
     * @param {MouseEventArgs} args - Specified the mouse event arguments.
     * @returns {boolean} - Returns the true or false.
     */
    mouseMove(args: MouseEventArgs): boolean;
    private getTextWidth;
    /**
     * @param {number} fontSize - Font size.
     * @returns {number} - Returns the font size.
     */
    private getFontSize;
}
/**
 * Draws a node that is defined by the user
 *
 * @hidden
 */
export  class InkDrawingTool extends ToolBase {
    /** @private */
    drawingObject: PdfAnnotationBaseModel;
    /** @private */
    sourceObject: PdfAnnotationBaseModel;
    /** @private */
    dragging: boolean;
    constructor(commandHandler: PdfViewer, base: PdfViewerBase, sourceObject: PdfAnnotationBaseModel);
    /**
     * @private
     * @param {MouseEventArgs} args - Specified the mouse event arguments.
     * @returns {void}
     */
    mouseDown(args: MouseEventArgs): void;
    /**
     * @private
     * @param {MouseEventArgs} args - Specified the mouse event arguments.
     * @returns {boolean} - Returns true or false.
     */
    mouseMove(args: MouseEventArgs): boolean;
    /**
     * @private
     * @param {MouseEventArgs} args - Specified the mouse event arguments.
     * @returns {boolean} - Returns true.
     */
    mouseUp(args: MouseEventArgs): boolean;
    /**
     * @private
     * @param {MouseEventArgs} args - Specified the mouse event arguments.
     * @returns {void}
     */
    mouseLeave(args: MouseEventArgs): void;
    /**
     * @private
     * @returns {void}
     */
    endAction(): void;
}
/**
 * Helps to edit the selected connectors
 *
 * @hidden
 */
export  class ConnectTool extends ToolBase {
    /**   @private  */
    endPoint: string;
    /**   @private  */
    selectedSegment: drawings.PointModel;
    /**   @private  */
    initialPosition: drawings.PointModel;
    /**   @private  */
    prevSource: PdfAnnotationBaseModel;
    /**   @private  */
    redoElement: PdfAnnotationBaseModel;
    constructor(commandHandler: PdfViewer, base: PdfViewerBase, endPoint: string);
    /**
     * @private
     * @param {MouseEventArgs} args - Specified the mouse event arguments.
     * @returns {void}
     */
    mouseDown(args: MouseEventArgs): void;
    /**
     * @private
     * @param {MouseEventArgs} args - Specified the mouse event arguments.
     * @returns {void}
     */
    mouseUp(args: MouseEventArgs): void;
    /**
     * @private
     * @param {MouseEventArgs} args - Specified the mouse event arguments.
     * @returns {boolean} - Returns true or false.
     */
    mouseMove(args: MouseEventArgs): boolean;
    /**
     * @private
     * @param {MouseEventArgs} args - Specified the mouse event arguments.
     * @returns {void}
     */
    mouseLeave(args: MouseEventArgs): void;
    /**
     * @private
     * @returns {void}
     */
    endAction(): void;
}
/**
 * Scales the selected objects
 *
 * @hidden
 */
export  class ResizeTool extends ToolBase {
    /**
     * Sets/Gets the previous mouse position
     */
    /**   @private  */
    prevPosition: drawings.PointModel;
    /**   @private  */
    corner: string;
    possibleRect: drawings.Rect;
    /**   @private  */
    initialOffset: drawings.PointModel;
    /**   @private  */
    initialBounds: drawings.Rect;
    /**   @private  */
    initialPosition: drawings.PointModel;
    /**   @private  */
    redoElement: PdfAnnotationBaseModel;
    /**   @private  */
    prevSource: PdfAnnotationBaseModel;
    constructor(commandHandler: PdfViewer, base: PdfViewerBase, corner: string);
    /**
     * @private
     * @param {MouseEventArgs} args - Specified the mouse event arguments.
     * @returns {void} - Returns true or false.
     */
    mouseDown(args: MouseEventArgs): void;
    /**
     * @private
     * @param {MouseEventArgs} args - Specified the mouse event arguments.
     * @param {boolean} isPreventHistory - Specified the prevent history value.
     * @returns {boolean} - Returns true or false.
     */
    mouseUp(args: MouseEventArgs, isPreventHistory?: boolean): boolean;
    /**
     * @private
     * @param {MouseEventArgs} args - Specified the mouse event arguments.
     * @returns {boolean} - Returns true or false.
     */
    mouseMove(args: MouseEventArgs): boolean;
    /**
     * @private
     * @param {MouseEventArgs} args - Specified the mouse event arguments.
     * @returns {void}
     */
    mouseLeave(args: MouseEventArgs): void;
    private getTooltipContent;
    private getChanges;
    private getPoints;
    /**
     * Updates the size with delta width and delta height using scaling.
     * Aspect ratio used to resize the width or height based on resizing the height or width.
     *
     * @param {number} deltaWidth - Specified the delta width.
     * @param {number} deltaHeight - Specified the delta height.
     * @param {string} corner - Specified the corner value.
     * @param {drawings.PointModel} startPoint - Specified the start point of the annotation.
     * @param {drawings.PointModel} endPoint - Specified the end point of the annotation.
     * @param {SelectorModel | PdfAnnotationBaseModel} source - Specified the annotation object.
     * @param {boolean} isCtrlKeyPressed - becomes true when ctrl Key is pressed.
     * @returns {boolean} - Returns true or false.
     */
    private scaleObjects;
}
/**
 * Draws a node that is defined by the user
 *
 * @hidden
 */
export  class NodeDrawingTool extends ToolBase {
    /** @private */
    drawingObject: PdfAnnotationBaseModel;
    /** @private */
    sourceObject: PdfAnnotationBaseModel;
    /** @private */
    dragging: boolean;
    /** @private */
    isFormDesign: boolean;
    constructor(commandHandler: PdfViewer, base: PdfViewerBase, sourceObject: PdfAnnotationBaseModel);
    /**
     * @private
     * @param {MouseEventArgs} args - Specified the mouse event arguments.
     * @returns {void}
     */
    mouseDown(args: MouseEventArgs): void;
    /**
     * @private
     * @param {MouseEventArgs} args - Specified the mouse event arguments.
     * @returns {boolean} - Returns true or false.
     */
    mouseMove(args: MouseEventArgs): boolean;
    /**
     * @private
     * @param {MouseEventArgs} args - Specified the mouse event arguments.
     * @returns {void}
     */
    mouseUp(args: MouseEventArgs): void;
    /**
     * @private
     * @returns {void}
     */
    endAction(): void;
    /**
     * @private
     * @param {PdfAnnotationBaseModel} obj - Specified the annotation object.
     * @param {drawings.Rect} rect - Specified the annotation rect element.
     * @returns {void}
     */
    updateNodeDimension(obj: PdfAnnotationBaseModel, rect?: drawings.Rect): void;
    /**
     * @private
     * @param {drawings.DrawingElement} obj - Specified the drawing element.
     * @param {PdfAnnotationBaseModel} node - Specified the annotation object.
     * @returns {void}
     */
    updateRadiusLinePosition(obj: drawings.DrawingElement, node: PdfAnnotationBaseModel): void;
}
/**
 * Draws a Polygon shape node dynamically using polygon Tool
 *
 * @hidden
 */
export  class PolygonDrawingTool extends ToolBase {
    /** @private */
    drawingObject: PdfAnnotationBaseModel;
    /** @private */
    startPoint: drawings.PointModel;
    /** @private */
    dragging: boolean;
    /** @private */
    action: string;
    constructor(commandHandler: PdfViewer, base: PdfViewerBase, action: string);
    /**
     * @private
     * @param {MouseEventArgs} args - Specified the mouse event arguments.
     * @returns {void}
     */
    mouseDown(args: MouseEventArgs): void;
    /**
     * @private
     * @param {MouseEventArgs} args - Specified the mouse event arguments.
     * @returns {boolean} - Returns true or false.
     */
    mouseMove(args: MouseEventArgs): boolean;
    /**
     * @private
     * @param {MouseEventArgs} args - Specified the mouse event arguments.
     * @param {boolean} isDoubleClineck - Specified the double click event or not.
     * @param {boolean} isMouseLeave - Specified the mouse leave event or not.
     * @returns {void}
     */
    mouseUp(args: MouseEventArgs, isDoubleClineck?: boolean, isMouseLeave?: boolean): void;
    /**
     * @private
     * @param {MouseEventArgs} args - Specified the mouse event arguments.
     * @returns {void}
     */
    mouseLeave(args: MouseEventArgs): void;
    /**
     * @private
     * @param {MouseEventArgs} args - Specified the mouse event arguments.
     * @returns {void}
     */
    mouseWheel(args: MouseEventArgs): void;
    /**
     * @private
     * @returns {void}
     */
    endAction(): void;
}
/**
 * Helps to edit the selected connectors
 *
 * @hidden
 */
export  class LineTool extends ToolBase {
    protected endPoint: string;
    /**   @private  */
    selectedSegment: drawings.PointModel;
    /**   @private  */
    startPoint: drawings.PointModel;
    /** @private */
    dragging: boolean;
    /**   @private  */
    initialPosition: drawings.PointModel;
    /** @private */
    drawingObject: PdfAnnotationBaseModel;
    /**   @private  */
    prevSource: PdfAnnotationBaseModel;
    constructor(commandHandler: PdfViewer, base: PdfViewerBase, endPoint: string, drawingObject: PdfAnnotationBaseModel);
    /**
     * @private
     * @param {MouseEventArgs} args - Specified the mouse event arguments.
     * @returns {void}
     */
    mouseDown(args: MouseEventArgs): void;
    /**
     * @private
     * @param {MouseEventArgs} args - Specified the mouse event arguments.
     * @returns {void}
     */
    mouseUp(args: MouseEventArgs): void;
    /**
     * @private
     * @param {MouseEventArgs} args - Specified the mouse event arguments.
     * @returns {boolean} - Returns true or false.
     */
    mouseMove(args: MouseEventArgs): boolean;
    /**
     * @private
     * @param {MouseEventArgs} args - Specified the mouse event arguments.
     * @returns {void}
     */
    mouseLeave(args: MouseEventArgs): void;
    /**
     * @private
     * @returns {void}
     */
    endAction(): void;
}
/**
 * Rotates the selected objects
 *
 * @hidden
 */
export  class RotateTool extends ToolBase {
    constructor(commandHandler: PdfViewer, base: PdfViewerBase);
    /**
     * @private
     * @param {MouseEventArgs} args - Specified the mouse event arguments.
     * @returns {void}
     */
    mouseDown(args: MouseEventArgs): void;
    /**
     * @private
     * @param {MouseEventArgs} args - Specified the mouse event arguments.
     * @returns {void}
     */
    mouseUp(args: MouseEventArgs): void;
    /**
     * @private
     * @param {MouseEventArgs} args - Specified the mouse event arguments.
     * @returns {boolean} - Returns true or false.
     */
    mouseMove(args: MouseEventArgs): boolean;
    private getTooltipContent;
    /**
     * @private
     * @param {MouseEventArgs} args - Specified the mouse event arguments.
     * @returns {void}
     */
    mouseLeave(args: MouseEventArgs): void;
    /**
     * @private
     * @returns {void}
     */
    endAction(): void;
}
/**
 * @hidden
 */
export interface Info {
    ctrlKey?: boolean;
    shiftKey?: boolean;
}
/**
 * @hidden
 */
export interface ITouches {
    pageX?: number;
    pageY?: number;
    pointerId?: number;
}
/**
 * @hidden
 */
export interface MouseEventArgs {
    position?: drawings.PointModel;
    source?: drawings.IElement;
    sourceWrapper?: drawings.DrawingElement;
    target?: drawings.IElement;
    targetWrapper?: drawings.DrawingElement;
    info?: Info;
    startTouches?: TouchList | ITouches[];
    moveTouches?: TouchList | ITouches[];
    clickCount?: number;
    actualObject?: drawings.IElement;
    isTouchMode?: boolean;
}
//node_modules/@syncfusion/ej2-pdfviewer/src/pdfviewer/drawing/selector.d.ts
/**
 * Defines the size and position of selected items and defines the appearance of selector
 *
 * @hidden
 */
export  class Selector extends base.ChildProperty<Selector> implements drawings.IElement {
    /**
     * Defines the size and position of the container
     *
     * @default null
     */
    wrapper: drawings.Container;
    /**
     * Defines the collection of selected nodes
     */
    annotations: PdfAnnotationBaseModel[];
    /**
     * Defines the collection of selected form Fields
     */
    formFields: PdfFormFieldBaseModel[];
    /**
     * Sets/Gets the width of the container
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    width: number;
    /**
     * Sets/Gets the height of the container
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    height: number;
    /**
     * Sets the rotate angle of the container
     *
     * @default 0
     */
    rotateAngle: number;
    /**
     * Sets the positionX of the container
     *
     * @default 0
     */
    offsetX: number;
    /**
     * Sets the positionY of the container
     *
     * @default 0
     */
    offsetY: number;
    /**
     * Sets the pivot of the selector
     *
     * @default { x: 0.5, y: 0.5 }
     */
    pivot: drawings.PointModel;
    /**
     * set the constraint of the container
     * * Rotate - Enable Rotate Thumb
     * * ConnectorSource - Enable Connector source point
     * * ConnectorTarget - Enable Connector target point
     * * ResizeNorthEast - Enable ResizeNorthEast Resize
     * * ResizeEast - Enable ResizeEast Resize
     * * ResizeSouthEast - Enable ResizeSouthEast Resize
     * * ResizeSouth - Enable ResizeSouth Resize
     * * ResizeSouthWest - Enable ResizeSouthWest Resize
     * * ResizeWest - Enable ResizeWest Resize
     * * ResizeNorthWest - Enable ResizeNorthWest Resize
     * * ResizeNorth - Enable ResizeNorth Resize
     *
     * @private
     * @aspNumberEnum
     */
    thumbsConstraints: drawings.ThumbsConstraints;
    /**
     * Initializes the UI of the container
     *
     * @param  {any} diagram - diagram element.
     * @returns {drawings.Container} - Returns the container element.
     */
    init(diagram: any): drawings.Container;
}
//node_modules/@syncfusion/ej2-pdfviewer/src/pdfviewer/drawing/selector-model.d.ts
/**
 * Interface for a class Selector
 */
export interface SelectorModel {
    /**
     * Defines the size and position of the container
     *
     * @default null
     */
    wrapper?: drawings.Container;
    /**
     * Defines the collection of selected nodes
     */
    annotations?: PdfAnnotationBaseModel[];
    /**
     * Defines the collection of selected form Fields
     */
    formFields?: PdfFormFieldBaseModel[];
    /**
     * Sets/Gets the width of the container
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    width?: number;
    /**
     * Sets/Gets the height of the container
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    height?: number;
    /**
     * Sets the rotate angle of the container
     *
     * @default 0
     */
    rotateAngle?: number;
    /**
     * Sets the positionX of the container
     *
     * @default 0
     */
    offsetX?: number;
    /**
     * Sets the positionY of the container
     *
     * @default 0
     */
    offsetY?: number;
    /**
     * Sets the pivot of the selector
     *
     * @default { x: 0.5, y: 0.5 }
     */
    pivot?: drawings.PointModel;
}
//node_modules/@syncfusion/ej2-pdfviewer/src/pdfviewer/drawing/pdf-annotation.d.ts
/**
 * The `PdfBounds` is base for annotation bounds.
 *
 * @hidden
 */
export  abstract class PdfBounds extends base.ChildProperty<PdfBounds> {
    /**
     * Represents the the x value of the annotation.
     *
     * @default 0
     */
    x: number;
    /**
     * Represents the the y value of the annotation.
     *
     * @default 0
     */
    y: number;
    /**
     * Represents the the width value of the annotation.
     *
     * @default 0
     */
    width: number;
    /**
     * Represents the the height value of the annotation.
     *
     * @default 0
     */
    height: number;
    /**
     * Represents the the left value of the annotation.
     *
     * @default 0
     */
    left: number;
    /**
     * Represents the the top value of the annotation.
     *
     * @default 0
     */
    top: number;
    /**
     * Represents the the right value of the annotation.
     *
     * @default 0
     */
    right: number;
    /**
     * Represents the the bottom value of the annotation.
     *
     * @default 0
     */
    bottom: number;
    /**
     * Sets the reference point, that will act as the offset values(offsetX, offsetY) of a node
     *
     * @default new Point(0,0)
     */
    location: drawings.PointModel;
    /**
     * Sets the size of the annotation
     *
     * @default new drawings.Size(0, 0)
     */
    size: drawings.Size;
}
/**
 * The `PdfFont` is base for annotation Text styles.
 *
 * @hidden
 */
export  abstract class PdfFont extends base.ChildProperty<PdfFont> {
    /**
     * Represents the the font Bold style of annotation text content.
     *
     * @default 'false'
     */
    isBold: boolean;
    /**
     * Represents the the font Italic style of annotation text content.
     *
     * @default 'false'
     */
    isItalic: boolean;
    /**
     * Represents the the font Underline style of annotation text content.
     *
     * @default 'false'
     */
    isUnderline: boolean;
    /**
     * Represents the the font Strikeout style of annotation text content.
     *
     * @default 'false'
     */
    isStrikeout: boolean;
}
/**
 * Defines the common behavior of PdfAnnotationBase
 *
 * @hidden
 */
export  class PdfAnnotationBase extends base.ChildProperty<PdfAnnotationBase> {
    /**
     * Represents the unique id of annotation
     *
     * @default ''
     */
    id: string;
    /**
     * Represents the annotation type of the pdf
     *
     * @default 'Rectangle'
     */
    shapeAnnotationType: PdfAnnotationType;
    /**
     * Represents the annotation type of the form field
     *
     * @default ''
     */
    formFieldAnnotationType: FormFieldAnnotationType;
    /**
     * Represents the measure type of the annotation
     *
     * @default ''
     */
    measureType: string;
    /**
     * Represents the auther value of the annotation
     *
     * @default ''
     */
    author: string;
    /**
     * Represents the modified date of the annotation
     *
     * @default ''
     */
    modifiedDate: string;
    /**
     * Represents the subject of the annotation
     *
     * @default ''
     */
    subject: string;
    /**
     * Represents the notes of the annotation
     *
     * @default ''
     */
    notes: string;
    /**
     * specifies the locked action of the comment
     *
     * @default 'false'
     */
    isCommentLock: boolean;
    /**
     * Represents the stroke color of the annotation
     *
     * @default 'black'
     */
    strokeColor: string;
    /**
     * Represents the fill color of the annotation
     *
     * @default 'tranparent'
     */
    fillColor: string;
    /**
     * Represents the fill color of the annotation
     *
     * @default 'tranparent'
     */
    stampFillColor: string;
    /**
     * Represents the stroke color of the annotation
     *
     * @default 'black'
     */
    stampStrokeColor: string;
    /**
     * Represents the path data of the annotation
     *
     * @default ''
     */
    data: string;
    /**
     * Represents the opecity value of the annotation
     *
     * @default 1
     */
    opacity: number;
    /**
     * Represents the thickness value of annotation
     *
     * @default 1
     */
    thickness: number;
    /**
     * Represents the border style of annotation
     *
     * @default ''
     */
    borderStyle: string;
    /**
     * Represents the border dash array of annotation
     *
     * @default ''
     */
    borderDashArray: string;
    /**
     * Represents the rotate angle of annotation
     *
     * @default 0
     */
    rotateAngle: number;
    /**
     * Represents the annotation as cloud shape
     *
     * @default false
     */
    isCloudShape: boolean;
    /**
     * Represents the cloud intensity
     *
     * @default 0
     */
    cloudIntensity: number;
    /**
     * Represents the height of the leader of distance shapes
     *
     * @default 40
     */
    leaderHeight: number;
    /**
     * Represents the line start shape style
     *
     * @default null
     */
    lineHeadStart: string;
    /**
     * Represents the line end shape style
     *
     * @default null
     */
    lineHeadEnd: string;
    /**
     * Represents vertex points in the line annotation or shape annotation.
     *
     * @default []
     */
    vertexPoints: drawings.PointModel[];
    /**
     * Represents vertex points in the line annotation or shape annotation.
     *
     * @default null
     */
    sourcePoint: drawings.PointModel;
    /**
     * Represents vertex points in the line annotation or shape annotation.
     *
     * @default None
     */
    sourceDecoraterShapes: drawings.DecoratorShapes;
    /**
     * Represents vertex points in the line annotation or shape annotation.
     *
     * @default None
     */
    taregetDecoraterShapes: drawings.DecoratorShapes;
    /**
     * Represents vertex points in the line annotation or shape annotation.
     *
     * @default null
     */
    targetPoint: drawings.PointModel;
    /**
     * Represents vertex points in the line annotation or shape annotation.
     *
     * @default []
     */
    segments: drawings.PointModel[];
    /**
     * Represents bounds of the annotation
     *
     * @default new Point(0,0)
     */
    bounds: PdfBoundsModel;
    /**
     * Represents the cloud intensity
     *
     * @default 0
     */
    pageIndex: number;
    /**
     * Represents the cloud intensity
     *
     * @default -1
     */
    zIndex: number;
    /**
     * Represents the cloud intensity
     *
     * @default null
     */
    wrapper: drawings.Container;
    /**
     * Represents the dynamic stamp
     *
     * @default false
     */
    isDynamicStamp: boolean;
    /**
     * Represents the dynamic text.
     *
     * @default ''
     */
    dynamicText: string;
    /**
     * Represents the unique annotName of the annotation
     *
     * @default ''
     */
    annotName: string;
    /**
     * Represents the review collection of the annotation
     *
     * @default ''
     */
    review: IReviewCollection;
    /**
     * Represents the comments collection of the annotation
     *
     * @default []
     */
    comments: ICommentsCollection[];
    /**
     * Represents the comments collection of the annotation
     *
     * @default '#000'
     */
    fontColor: string;
    /**
     * Represents the font size of the annotation content
     *
     * @default '16'
     */
    fontSize: number;
    /**
     * Represents the font family of the annotation content
     *
     * @default 'Helvetica'
     */
    fontFamily: string;
    /**
     * Represents the font style of the annotation content
     *
     * @default 'None'
     */
    fontStyle: string;
    /**
     * Represents the shape annotation label add flag
     *
     * @default 'false'
     */
    enableShapeLabel: boolean;
    /**
     * Represents the shape annotation label content
     *
     * @default 'label'
     */
    labelContent: string;
    /**
     * Represents the shape annotation label content fill color
     *
     * @default '#ffffff00'
     */
    labelFillColor: string;
    /**
     * Represents the shape annotation label content max-length
     *
     * @default '15'
     */
    labelMaxLength: number;
    /**
     * specifies the custom stamp template of the annotation.
     */
    template: any;
    /**
     * specifies the custom stamp template size of the annotation.
     */
    templateSize: any;
    /**
     * Represents the opecity value of the annotation
     *
     * @default 1
     */
    labelOpacity: number;
    /**
     * Represents the selection settings of the annotation
     *
     * @default ''
     */
    annotationSelectorSettings: AnnotationSelectorSettingsModel;
    /**
     * Represents the shape annotation label content border color
     *
     * @default '#ffffff00'
     */
    labelBorderColor: string;
    /**
     * Represents the text anlignment style of annotation
     *
     * @default 'left'
     */
    textAlign: string;
    /**
     * Represents the unique Name of the annotation
     *
     * @default ''
     */
    signatureName: string;
    /**
     * specifies the minHeight of the annotation.
     *
     * @default 0
     */
    minHeight: number;
    /**
     * specifies the minWidth of the annotation.
     *
     * @default 0
     */
    minWidth: number;
    /**
     * specifies the minHeight of the annotation.
     *
     * @default 0
     */
    maxHeight: number;
    /**
     * specifies the maxWidth of the annotation.
     *
     * @default 0
     */
    maxWidth: number;
    /**
     * specifies the locked action of the annotation.
     *
     * @default 'false'
     */
    isLock: boolean;
    /**
     * specifies the particular annotation mode.
     *
     * @default 'UI Drawn Annotation'
     */
    annotationAddMode: string;
    /**
     * specifies the default settings of the annotation.
     *
     * @default ''
     */
    annotationSettings: object;
    /**
     * specifies the previous font size  of the annotation.
     *
     * @default '16'
     */
    previousFontSize: number;
    /**
     * Represents the text style of annotation
     *
     * @default ''
     */
    font: PdfFontModel;
    /**
     * Represents the shape annotation label content bounds
     *
     * @default ''
     */
    labelBounds: PdfBoundsModel;
    /**
     * specifies the custom data of the annotation.
     */
    customData: object;
    /**
     * specifies the allowed interactions of the locked annotation.
     */
    allowedInteractions: AllowedInteraction[];
    /**
     * specifies whether the annotations are included or not in print actions.
     */
    isPrint: boolean;
    /**
     * Allows to edit the free text annotation
     */
    isReadonly: boolean;
    /**
     * Represents the page rotation angle
     *
     * @private
     *
     */
    pageRotation: number;
    /**
     * Represents the stamp icon name
     *
     * @private
     *
     */
    icon: string;
    /**
     * Represents the annotation is added programmatically.
     *
     * @private
     *
     */
    isAddAnnotationProgrammatically: boolean;
    /**
     * Represents the annotation is transparent.
     *
     * @private
     *
     */
    isTransparentSet: boolean;
    constructor(parent: any, propName: string, defaultValue: Object, isArray?: boolean);
}
/**
 * Defines the common behavior of PdfFormFieldBase
 *
 * @hidden
 */
export  class PdfFormFieldBase extends base.ChildProperty<PdfFormFieldBase> {
    /**
     * Represents the unique id of formField
     *
     * @default ''
     */
    id: string;
    /**
     * specifies the type of the signature.
     */
    signatureType: string;
    /**
     * Represents the name of the formField
     *
     * @default ''
     */
    name: string;
    /**
     * Represents the value of the formField
     *
     * @default ''
     */
    value: string;
    /**
     * Represents the annotation type of the form field
     *
     * @default ''
     */
    formFieldAnnotationType: FormFieldAnnotationType;
    /**
     * Represents the fill color of the form field
     *
     * @default '#daeaf7ff'
     */
    backgroundColor: string;
    /**
     * Represents the text color of the form field
     *
     * @default 'black'
     */
    color: string;
    /**
     * Represents the border color of the form field
     *
     * @default '#303030'
     */
    borderColor: string;
    /**
     * Represents the tooltip of the form field
     *
     * @default ''
     */
    tooltip: string;
    /**
     * Represents the opecity value of the formField
     *
     * @default 1
     */
    opacity: number;
    /**
     * Represents the thickness value of FormField
     *
     * @default 1
     */
    thickness: number;
    /**
     * Represents the rotate angle of formField
     *
     * @default 0
     */
    rotateAngle: number;
    /**
     * Represents bounds of the formField
     *
     * @default new Point(0,0)
     */
    bounds: PdfBoundsModel;
    /**
     * Represents the cloud intensity
     *
     * @default 0
     */
    pageIndex: number;
    /**
     * Represents the page number
     *
     * @default 1
     */
    pageNumber: number;
    /**
     * Represents the cloud intensity
     *
     * @default -1
     */
    zIndex: number;
    /**
     * Represents the cloud intensity
     *
     * @default null
     */
    wrapper: drawings.Container;
    /**
     * Represents the font size of the formField content
     *
     * @default 16
     */
    fontSize: number;
    /**
     * Represents the font family of the formField content
     *
     * @default 'Helvetica'
     */
    fontFamily: string;
    /**
     * Represents the font style of the formField content
     *
     * @default 'None'
     */
    fontStyle: string;
    /**
     * Represents the text anlignment style of formField
     *
     * @default 'left'
     */
    alignment: string;
    /**
     * specifies the minHeight of the formField.
     *
     * @default 0
     */
    minHeight: number;
    /**
     * specifies the minWidth of the formField.
     *
     * @default 0
     */
    minWidth: number;
    /**
     * specifies the minHeight of the formField.
     *
     * @default 0
     */
    maxHeight: number;
    /**
     * specifies the maxWidth of the formField.
     *
     * @default 0
     */
    maxWidth: number;
    /**
     * specifies the maxLength of the textbox/password.
     *
     * @default 0
     */
    maxLength: number;
    /**
     * If it is set as Hidden, Html element will be hide in the UI. By default it is visible.
     */
    visibility: Visibility;
    /**
     * specifies whether the form field are included or not in print actions.
     */
    isPrint: boolean;
    /**
     * Allows to edit the form Field text.
     */
    isReadonly: boolean;
    /**
     * Enable or disable the checkbox state.
     */
    isChecked: boolean;
    /**
     * Enable or disable the RadioButton state.
     */
    isSelected: boolean;
    /**
     * Specified whether an form field element is mandatory.
     */
    isRequired: boolean;
    /**
     * Enable or disable the Multiline Textbox.
     */
    isMultiline: boolean;
    /**
     * Enable or disable the isTransparent state.
     */
    private isTransparent;
    /**
     * Meaningful only if the MaxLength property is set and the Multiline, Password properties are false.
     * If set, the field is automatically divided into as many equally spaced position, or  combs, as the value of MaxLength, and the text is laid out into the combs.
     *
     * @default false
     */
    private insertSpaces;
    /**
     * Gets or sets the items to be displayed for drop down/ listbox.
     */
    options: ItemModel[];
    /**
     * Specifies the properties of the signature indicator in the signature field.
     */
    signatureIndicatorSettings: SignatureIndicatorSettingsModel;
    /**
     * Represents the text style of annotation
     *
     * @default ''
     */
    font: PdfFontModel;
    /**
     * Gets or sets the items selected in the drop down/ listbox.
     */
    selectedIndex: number[];
    /**
     * specifies the custom data of the form field.
     */
    customData: object;
    constructor(parent: any, propName: string, defaultValue: Object, isArray?: boolean);
}
/**
 * @hidden
 */
export  class ZOrderPageTable {
    private pageIdTemp;
    /**
     * @private
     * @returns {number} - Returns the page Id.
     */
    /**
    * @private
    * @param {number} offset - The page offset value.
    */
    pageId: number;
    private zIndexTemp;
    /**
     * @private
     * @returns {number} - Returns the z-index value.
     */
    /**
    * @private
    * @param {number} offset - The page offset value.
    */
    zIndex: number;
    private childNodesTemp;
    /**
     * @private
     * @returns {PdfAnnotationBaseModel[]} - Returns the annotation childNodes.
     */
    /**
    * @private
    * @param {PdfAnnotationBaseModel[]} childNodes - Specified the annotation child nodes.
    */
    objects: PdfAnnotationBaseModel[];
    constructor();
}
//node_modules/@syncfusion/ej2-pdfviewer/src/pdfviewer/drawing/pdf-annotation-model.d.ts
/**
 * Interface for a class PdfBounds
 */
export interface PdfBoundsModel {
    /**
     * Represents the the x value of the annotation.
     *
     * @default 0
     */
    x?: number;
    /**
     * Represents the the y value of the annotation.
     *
     * @default 0
     */
    y?: number;
    /**
     * Represents the the width value of the annotation.
     *
     * @default 0
     */
    width?: number;
    /**
     * Represents the the height value of the annotation.
     *
     * @default 0
     */
    height?: number;
    /**
     * Represents the the left value of the annotation.
     *
     * @default 0
     */
    left?: number;
    /**
     * Represents the the top value of the annotation.
     *
     * @default 0
     */
    top?: number;
    /**
     * Represents the the right value of the annotation.
     *
     * @default 0
     */
    right?: number;
    /**
     * Represents the the bottom value of the annotation.
     *
     * @default 0
     */
    bottom?: number;
    /**
     * Sets the reference point, that will act as the offset values(offsetX, offsetY) of a node
     *
     * @default new drawings.Point(0,0)
     */
    location?: drawings.PointModel;
    /**
     * Sets the size of the annotation
     *
     * @default new drawings.Size(0, 0)
     */
    size?: drawings.Size;
}
/**
 * Interface for a class PdfFont
 */
export interface PdfFontModel {
    /**
     * Represents the the font Bold style of annotation text content.
     *
     * @default 'false'
     */
    isBold?: boolean;
    /**
     * Represents the the font Italic style of annotation text content.
     *
     * @default 'false'
     */
    isItalic?: boolean;
    /**
     * Represents the the font Underline style of annotation text content.
     *
     * @default 'false'
     */
    isUnderline?: boolean;
    /**
     * Represents the the font Strikeout style of annotation text content.
     *
     * @default 'false'
     */
    isStrikeout?: boolean;
}
/**
 * Interface for a class PdfAnnotationBase
 */
export interface PdfAnnotationBaseModel {
    /**
     * Represents the unique id of annotation
     *
     * @default ''
     */
    id?: string;
    /**
     * Represents the annotation type of the pdf
     *
     * @default 'Rectangle'
     */
    shapeAnnotationType?: PdfAnnotationType;
    /**
     * Represents the annotation type of the form field
     *
     * @default ''
     */
    formFieldAnnotationType?: FormFieldAnnotationType;
    /**
     * Represents the measure type of the annotation
     *
     * @default ''
     */
    measureType?: string;
    /**
     * Represents the auther value of the annotation
     *
     * @default ''
     */
    author?: string;
    /**
     * Represents the modified date of the annotation
     *
     * @default ''
     */
    modifiedDate?: string;
    /**
     * Represents the subject of the annotation
     *
     * @default ''
     */
    subject?: string;
    /**
     * Represents the notes of the annotation
     *
     * @default ''
     */
    notes?: string;
    /**
     * specifies the locked action of the comment
     *
     * @default 'false'
     */
    isCommentLock?: boolean;
    /**
     * Represents the stroke color of the annotation
     *
     * @default 'black'
     */
    strokeColor?: string;
    /**
     * Represents the fill color of the annotation
     *
     * @default 'tranparent'
     */
    fillColor?: string;
    /**
     * Represents the fill color of the annotation
     *
     * @default 'tranparent'
     */
    stampFillColor?: string;
    /**
     * Represents the stroke color of the annotation
     *
     * @default 'black'
     */
    stampStrokeColor?: string;
    /**
     * Represents the path data of the annotation
     *
     * @default ''
     */
    data?: string;
    /**
     * Represents the opecity value of the annotation
     *
     * @default 1
     */
    opacity?: number;
    /**
     * Represents the thickness value of annotation
     *
     * @default 1
     */
    thickness?: number;
    /**
     * Represents the border style of annotation
     *
     * @default ''
     */
    borderStyle?: string;
    /**
     * Represents the border dash array of annotation
     *
     * @default ''
     */
    borderDashArray?: string;
    /**
     * Represents the rotate angle of annotation
     *
     * @default 0
     */
    rotateAngle?: number;
    /**
     * Represents the annotation as cloud shape
     *
     * @default false
     */
    isCloudShape?: boolean;
    /**
     * Represents the cloud intensity
     *
     * @default 0
     */
    cloudIntensity?: number;
    /**
     * Represents the height of the leader of distance shapes
     *
     * @default 40
     */
    leaderHeight?: number;
    /**
     * Represents the line start shape style
     *
     * @default null
     */
    lineHeadStart?: string;
    /**
     * Represents the line end shape style
     *
     * @default null
     */
    lineHeadEnd?: string;
    /**
     * Represents vertex points in the line annotation or shape annotation.
     *
     * @default []
     */
    vertexPoints?: drawings.PointModel[];
    /**
     * Represents vertex points in the line annotation or shape annotation.
     *
     * @default null
     */
    sourcePoint?: drawings.PointModel;
    /**
     * Represents vertex points in the line annotation or shape annotation.
     *
     * @default None
     */
    sourceDecoraterShapes?: drawings.DecoratorShapes;
    /**
     * Represents vertex points in the line annotation or shape annotation.
     *
     * @default None
     */
    taregetDecoraterShapes?: drawings.DecoratorShapes;
    /**
     * Represents vertex points in the line annotation or shape annotation.
     *
     * @default null
     */
    targetPoint?: drawings.PointModel;
    /**
     * Represents vertex points in the line annotation or shape annotation.
     *
     * @default []
     */
    segments?: drawings.PointModel[];
    /**
     * Represents bounds of the annotation
     *
     * @default new drawings.Point(0,0)
     */
    bounds?: PdfBoundsModel;
    /**
     * Represents the cloud intensity
     *
     * @default 0
     */
    pageIndex?: number;
    /**
     * Represents the cloud intensity
     *
     * @default -1
     */
    zIndex?: number;
    /**
     * Represents the cloud intensity
     *
     * @default null
     */
    wrapper?: drawings.Container;
    /**
     * Represents the dynamic stamp
     *
     * @default false
     */
    isDynamicStamp?: boolean;
    /**
     * Represents the dynamic text.
     *
     * @default ''
     */
    dynamicText?: string;
    /**
     * Represents the unique annotName of the annotation
     *
     * @default ''
     */
    annotName?: string;
    /**
     * Represents the review collection of the annotation
     *
     * @default ''
     */
    review?: IReviewCollection;
    /**
     * Represents the comments collection of the annotation
     *
     * @default []
     */
    comments?: ICommentsCollection[];
    /**
     * Represents the comments collection of the annotation
     *
     * @default '#000'
     */
    fontColor?: string;
    /**
     * Represents the font size of the annotation content
     *
     * @default '16'
     */
    fontSize?: number;
    /**
     * Represents the font family of the annotation content
     *
     * @default 'Helvetica'
     */
    fontFamily?: string;
    /**
     * Represents the font style of the annotation content
     *
     * @default 'None'
     */
    fontStyle?: string;
    /**
     * Represents the shape annotation label add flag
     *
     * @default 'false'
     */
    enableShapeLabel?: boolean;
    /**
     * Represents the shape annotation label content
     *
     * @default 'label'
     */
    labelContent?: string;
    /**
     * Represents the shape annotation label content fill color
     *
     * @default '#ffffff00'
     */
    labelFillColor?: string;
    /**
     * Represents the shape annotation label content max-length
     *
     * @default '15'
     */
    labelMaxLength?: number;
    /**
     * specifies the custom stamp template of the annotation.
     */
    template?: any;
    /**
     * specifies the custom stamp template size of the annotation.
     */
    templateSize?: any;
    /**
     * Represents the opecity value of the annotation
     *
     * @default 1
     */
    labelOpacity?: number;
    /**
     * Represents the selection settings of the annotation
     *
     * @default ''
     */
    annotationSelectorSettings?: AnnotationSelectorSettingsModel;
    /**
     * Represents the shape annotation label content border color
     *
     * @default '#ffffff00'
     */
    labelBorderColor?: string;
    /**
     * Represents the text anlignment style of annotation
     *
     * @default 'left'
     */
    textAlign?: string;
    /**
     * Represents the unique Name of the annotation
     *
     * @default ''
     */
    signatureName?: string;
    /**
     * specifies the minHeight of the annotation.
     *
     * @default 0
     */
    minHeight?: number;
    /**
     * specifies the minWidth of the annotation.
     *
     * @default 0
     */
    minWidth?: number;
    /**
     * specifies the minHeight of the annotation.
     *
     * @default 0
     */
    maxHeight?: number;
    /**
     * specifies the maxWidth of the annotation.
     *
     * @default 0
     */
    maxWidth?: number;
    /**
     * specifies the locked action of the annotation.
     *
     * @default 'false'
     */
    isLock?: boolean;
    /**
     * specifies the particular annotation mode.
     *
     * @default 'UI Drawn Annotation'
     */
    annotationAddMode?: string;
    /**
     * specifies the default settings of the annotation.
     *
     * @default ''
     */
    annotationSettings?: object;
    /**
     * specifies the previous font size  of the annotation.
     *
     * @default '16'
     */
    previousFontSize?: number;
    /**
     * Represents the text style of annotation
     *
     * @default ''
     */
    font?: PdfFontModel;
    /**
     * Represents the shape annotation label content bounds
     *
     * @default ''
     */
    labelBounds?: PdfBoundsModel;
    /**
     * specifies the custom data of the annotation.
     */
    customData?: object;
    /**
     * specifies the allowed interactions of the locked annotation.
     */
    allowedInteractions?: AllowedInteraction[];
    /**
     * specifies whether the annotations are included or not in print actions.
     */
    isPrint?: boolean;
    /**
     * Allows to edit the free text annotation
     */
    isReadonly?: boolean;
    /**
     * Represents the page rotation angle
     *
     * @private
     *
     */
    pageRotation?: number;
    /**
     * Represents the stamp icon name
     *
     * @private
     *
     */
    icon?: string;
    /**
     * Represents the annotation is added programmatically.
     *
     * @private
     *
     */
    isAddAnnotationProgrammatically?: boolean;
    /**
     * Represents the annotation is transparent.
     *
     * @private
     *
     */
    isTransparentSet?: boolean;
}
/**
 * Interface for a class PdfFormFieldBase
 */
export interface PdfFormFieldBaseModel {
    /**
     * Represents the unique id of formField
     *
     * @default ''
     */
    id?: string;
    /**
     * specifies the type of the signature.
     */
    signatureType?: string;
    /**
     * Represents the name of the formField
     *
     * @default ''
     */
    name?: string;
    /**
     * Represents the value of the formField
     *
     * @default ''
     */
    value?: string;
    /**
     * Represents the annotation type of the form field
     *
     * @default ''
     */
    formFieldAnnotationType?: FormFieldAnnotationType;
    /**
     * Represents the fill color of the form field
     *
     * @default '#daeaf7ff'
     */
    backgroundColor?: string;
    /**
     * Represents the text color of the form field
     *
     * @default 'black'
     */
    color?: string;
    /**
     * Represents the border color of the form field
     *
     * @default '#303030'
     */
    borderColor?: string;
    /**
     * Represents the tooltip of the form field
     *
     * @default ''
     */
    tooltip?: string;
    /**
     * Represents the opecity value of the formField
     *
     * @default 1
     */
    opacity?: number;
    /**
     * Represents the thickness value of FormField
     *
     * @default 1
     */
    thickness?: number;
    /**
     * Represents the rotate angle of formField
     *
     * @default 0
     */
    rotateAngle?: number;
    /**
     * Represents bounds of the formField
     *
     * @default new drawings.Point(0,0)
     */
    bounds?: PdfBoundsModel;
    /**
     * Represents the cloud intensity
     *
     * @default 0
     */
    pageIndex?: number;
    /**
     * Represents the page number
     *
     * @default 1
     */
    pageNumber?: number;
    /**
     * Represents the cloud intensity
     *
     * @default -1
     */
    zIndex?: number;
    /**
     * Represents the cloud intensity
     *
     * @default null
     */
    wrapper?: drawings.Container;
    /**
     * Represents the font size of the formField content
     *
     * @default 16
     */
    fontSize?: number;
    /**
     * Represents the font family of the formField content
     *
     * @default 'Helvetica'
     */
    fontFamily?: string;
    /**
     * Represents the font style of the formField content
     *
     * @default 'None'
     */
    fontStyle?: string;
    /**
     * Represents the text anlignment style of formField
     *
     * @default 'left'
     */
    alignment?: string;
    /**
     * specifies the minHeight of the formField.
     *
     * @default 0
     */
    minHeight?: number;
    /**
     * specifies the minWidth of the formField.
     *
     * @default 0
     */
    minWidth?: number;
    /**
     * specifies the minHeight of the formField.
     *
     * @default 0
     */
    maxHeight?: number;
    /**
     * specifies the maxWidth of the formField.
     *
     * @default 0
     */
    maxWidth?: number;
    /**
     * specifies the maxLength of the textbox/password.
     *
     * @default 0
     */
    maxLength?: number;
    /**
     * If it is set as Hidden, Html element will be hide in the UI. By default it is visible.
     */
    visibility?: Visibility;
    /**
     * specifies whether the form field are included or not in print actions.
     */
    isPrint?: boolean;
    /**
     * Allows to edit the form Field text.
     */
    isReadonly?: boolean;
    /**
     * Enable or disable the checkbox state.
     */
    isChecked?: boolean;
    /**
     * Enable or disable the RadioButton state.
     */
    isSelected?: boolean;
    /**
     * Specified whether an form field element is mandatory.
     */
    isRequired?: boolean;
    /**
     * Enable or disable the Multiline Textbox.
     */
    isMultiline?: boolean;
    /**
     * Enable or disable the isTransparent state.
     */
    isTransparent?: boolean;
    /**
     * Meaningful only if the MaxLength property is set and the Multiline, Password properties are false.
     * If set, the field is automatically divided into as many equally spaced position, or  combs, as the value of MaxLength, and the text is laid out into the combs.
     *
     * @default false
     */
    insertSpaces?: boolean;
    /**
     * Gets or sets the items to be displayed for drop down/ listbox.
     */
    options?: ItemModel[];
    /**
     * Specifies the properties of the signature indicator in the signature field.
     */
    signatureIndicatorSettings?: SignatureIndicatorSettingsModel;
    /**
     * Represents the text style of annotation
     *
     * @default ''
     */
    font?: PdfFontModel;
    /**
     * Gets or sets the items selected in the drop down/ listbox.
     */
    selectedIndex?: number[];
    /**
     * specifies the custom data of the form field.
     */
    customData?: object;
}
/**
 * Interface for a class ZOrderPageTable
 */
export interface ZOrderPageTableModel {
}
//node_modules/@syncfusion/ej2-pdfviewer/src/pdfviewer/drawing/html-element.d.ts
/**
 * HTMLElement defines the basic html elements
 */
export  class DiagramHtmlElement extends drawings.DrawingElement {
    /**
     * set the id for each element
     *
     * @param {string} nodeTemplate - Set the id for each element.
     * @returns {void}
     *
     * @private
     */
    constructor(nodeTemplate?: string | Function);
    templateCompiler(template: string | Function): Function;
    /**
     * getNodeTemplate method \
     *
     * @returns { Function } getNodeTemplate method .\
     *
     * @private
     */
    getNodeTemplate(): Function;
    private templateFn;
    /**
     * check whether it is html element or not
     *
     * @private
     */
    isTemplate: boolean;
    /**
     * defines geometry of the html element
     *
     * @private
     */
    template: HTMLElement;
}
//node_modules/@syncfusion/ej2-pdfviewer/src/pdfviewer/drawing/enum.d.ts
/**
 * @hidden
 */
export  type PdfAnnotationType = 
/**
 * Rectangle - Represents the annotation type as Rectangle.
 */
'Rectangle' | 
/**
 * Ellipse -  Represents the annotation type as Ellipse.
 */
'Ellipse' | 
/**
 * Line - Represents the annotation type as Line annotation with out decorator.
 */
'Line' | 
/**
 * LineWidthArrowHead - Represents the annotation type as Line annotation with Arrow decorator.
 */
'LineWidthArrowHead' | 
/**
 * Distance - Represents the annotation type Distance shape.
 */
'Distance' | 
/**
 * Perimeter - Represents the annotation type Perimeter shape.
 */
'Perimeter' | 
/**
 * Radius - Represents the annotation type Radius shape.
 */
'Radius' | 
/**
 * Path - Represents the annotation type as path.
 */
'Path' | 
/**
 * Stamp - Represents the annotation type as Stamp.
 */
'Stamp' | 
/**
 * Image - Represents the annotation type as Image.
 */
'Image' | 
/**
 * Polygon - Represents the annotation type as Polygon.
 */
'Polygon' | 
/**
 * Sticky - Represents the annotation type as StickyNotes.
 */
'StickyNotes' | 
/**
 * FreeText - Represents the annotation type as Free Text Box.
 */
'FreeText' | 
/**
 * HandWrittenSignature - Represents the type as Signature.
 */
'HandWrittenSignature' | 
/**
 * Ink - Represents the type as Ink.
 */
'Ink' | 
/**
 * SignatureText - Represents the signature as Text.
 */
'SignatureText' | 
/**
 * SignatureImage - Represents the signature as Image.
 */
'SignatureImage';
/**
 * @hidden
 */
export  type FormFieldAnnotationType = 
/**
 * Textbox - Represents the form field type as Textbox.
 */
'Textbox' | 
/**
 * Textbox - Represents the form field type as Textbox.
 */
'PasswordField' | 
/**
 * Checkbox - Represents the form field type as Checkbox.
 */
'Checkbox' | 
/**
 * RadioButton - Represents the form field type as RadioButton.
 */
'RadioButton' | 
/**
 * DropdownList - Represents the form field type as DropdownList.
 */
'DropdownList' | 
/**
 * Listbox - Represents the form field type as Listbox.
 */
'ListBox' | 
/**
 * SignatureField - Represents the form field type as SignatureField.
 */
'SignatureField' | 
/**
 * InitialField - Represents the form field type as InitialField.
 */
'InitialField';
/**
 * Defines the decorator shape of the connector
 * None - Sets the decorator shape as None
 * Arrow - Sets the decorator shape as Arrow
 * Diamond - Sets the decorator shape as Diamond
 * Butt - Sets the decorator shape as Butt
 * Path - Sets the decorator shape as Path
 * OpenArrow - Sets the decorator shape as OpenArrow
 * Circle - Sets the decorator shape as Circle
 * Square - Sets the decorator shape as Square
 * Fletch - Sets the decorator shape as Fletch
 * OpenFetch - Sets the decorator shape as OpenFetch
 * IndentedArrow - Sets the decorator shape as Indented Arrow
 * OutdentedArrow - Sets the decorator shape as Outdented Arrow
 * DoubleArrow - Sets the decorator shape as DoubleArrow
 *
 * @hidden
 */
export  type DecoratorShapes = 
/** None - Sets the decorator shape as None */
'None' | 
/** Arrow - Sets the decorator shape as Arrow */
'Arrow' | 
/** Diamond - Sets the decorator shape as Diamond */
'Diamond' | 
/** Butt - Sets the decorator shape as Butt */
'Butt' | 
/** OpenArrow - Sets the decorator shape as OpenArrow */
'OpenArrow' | 
/** Circle - Sets the decorator shape as Circle */
'Circle' | 
/** Square - Sets the decorator shape as Square */
'Square' | 
/** Fletch - Sets the decorator shape as Fletch */
'Fletch' | 
/** OpenFetch - Sets the decorator shape as OpenFetch */
'OpenFetch' | 
/** IndentedArrow - Sets the decorator shape as Indented Arrow */
'IndentedArrow' | 
/** OutdentedArrow - Sets the decorator shape as Outdented Arrow */
'OutdentedArrow' | 
/** DoubleArrow - Sets the decorator shape as DoubleArrow */
'DoubleArrow' | 
/** Custom - Sets the decorator shape as Custom */
'Custom';
//node_modules/@syncfusion/ej2-pdfviewer/src/pdfviewer/drawing/drawing.d.ts
/**
 * Renderer module is used to render basic diagram elements
 *
 * @hidden
 */
export  class Drawing {
    private pdfViewer;
    private renderer;
    private svgRenderer;
    private isDynamicStamps;
    /**
     * @private
     */
    copiedElementID: string;
    /**
     * @private
     */
    isPasted: boolean;
    constructor(viewer: PdfViewer);
    /**
     * @private
     * @param {PdfViewer} viewer - Specified the pdfViewer element.
     * @returns {void}
     */
    renderLabels(viewer: PdfViewer): void;
    private createNewZindexTable;
    /**
     * @private
     * @param {number} pageId - Specified the page Id.
     * @returns {ZOrderPageTable} - Returns the ZOrder page table.
     */
    getPageTable(pageId: number): ZOrderPageTable;
    /**
     * @private
     * @param {number} index - Specified the page index value.
     * @param {PdfAnnotationBaseModel} obj - Specified the annotation object.
     * @returns {void}
     */
    setZIndex(index: number, obj: PdfAnnotationBaseModel): void;
    /**
     * @private
     * @param {PdfAnnotationBaseModel | PdfFormFieldBaseModel} obj - Specified the annotation object.
     * @returns {PdfAnnotationBaseModel | PdfFormFieldBaseModel} - Returns the annotaion or form fields model.
     */
    initObject(obj: PdfAnnotationBaseModel | PdfFormFieldBaseModel): PdfAnnotationBaseModel | PdfFormFieldBaseModel;
    /**
     * @private
     * @param {PdfAnnotationBaseModel} obj - Specified the annotation object.
     * @returns {void}
     */
    initNode(obj: PdfAnnotationBaseModel | PdfFormFieldBaseModel): void;
    /**
     * Allows to initialize the UI of a node
     */
    /**
     * @private
     * @param {PdfAnnotationBaseModel | PdfFormFieldBaseModel} obj - Specified the annotation object.
     * @param {drawings.Container} canvas - Specified the canvas element.
     * @returns {drawings.DrawingElement} - Returns the drawing element.
     */
    init(obj: PdfAnnotationBaseModel | PdfFormFieldBaseModel, canvas: drawings.Container): drawings.DrawingElement;
    private initFormFields;
    private initAnnotationObject;
    private textElement;
    /**
     * @private
     * @param {drawings.DrawingElement} obj - Specified the drawing element.
     * @param {PdfAnnotationBaseModel} node - Specified the node element.
     * @returns {void}
     */
    setNodePosition(obj: drawings.DrawingElement, node: PdfAnnotationBaseModel): void;
    /**
     * @private
     * @param {PdfAnnotationBaseModel} obj - Specified the annotation object.
     * @returns {drawings.Container} - Returns the container element.
     */
    initContainer(obj: PdfAnnotationBaseModel): drawings.Container;
    /**
     * @private
     * @param {PdfAnnotationBaseModel} obj - Specified the annotation object.
     * @returns {drawings.Canvas} - Returns the canvas element.
     */
    initLine(obj: PdfAnnotationBaseModel): drawings.Canvas;
    /**
     * @private
     * @param {PdfAnnotationBaseModel} obj - Specified the annotation object.
     * @returns {PdfAnnotationBaseModel} - Returns the added annotaion object.
     */
    add(obj: PdfAnnotationBaseModel): PdfAnnotationBaseModel;
    /**
     * @private
     * @param {PdfAnnotationBaseModel} obj - Specified the annotation object.
     * @returns {void}
     */
    remove(obj: PdfAnnotationBaseModel): void;
    /**
     * @private
     * @param {number} pageIndex - Specified the page index.
     * @returns {PdfAnnotationBaseModel[]} - Returns the annotation base model collections.
     */
    getPageObjects(pageIndex: number): (PdfAnnotationBaseModel)[];
    /**
     * @private
     * @param {HTMLCanvasElement} diagramLayer - Specified the diagram layer element.
     * @param {number} pageIndex - Specified the page index.
     * @param {string} objectId - Specified the object id.
     * @returns {void}
     */
    refreshCanvasDiagramLayer(diagramLayer?: HTMLCanvasElement, pageIndex?: number, objectId?: string): void;
    private shouldRefreshElement;
    /**
     * @private
     * @param {number} index - Specified the page index.
     * @returns {void}
     */
    clearHighlighter(index?: number): void;
    /**
     * @private
     * @param {string} diagramId - Specified the diagram id.
     * @param {number} index - Specified the page index.
     * @returns {SVGSVGElement} Return the svg element.
     */
    getSelectorElement(diagramId: string, index?: number): SVGElement;
    /**
     * @private
     * @param {string} diagramId - Specified the diagram id.
     * @param {number} index - Specified the page index.
     * @returns {SVGSVGElement} Return the svg element.
     */
    getAdornerLayerSvg(diagramId: string, index?: number): SVGSVGElement;
    /**
     * @private
     * @param {number} index - Specified the page index.
     * @returns {void}
     */
    clearSelectorLayer(index?: number): void;
    /**
     * @private
     * @param {number} select - Specified the select value.
     * @param {AnnotationSelectorSettingsModel} currentSelector - Specified the annotation selector element.
     * @param {PdfAnnotationBaseModel} helper - Specified the annotation helper element.
     * @param {boolean} isSelect - Specified the is select or not.
     * @returns {void}
     */
    renderSelector(select?: number, currentSelector?: AnnotationSelectorSettingsModel, helper?: PdfAnnotationBaseModel, isSelect?: boolean): void;
    /**
     * Rotates the given nodes/connectors by the given angle
     *
     * @private
     * @param {PdfAnnotationBaseModel | SelectorModel} obj - Specified the objects to be rotated.
     * @param {number} angle - Specified the angle by which the objects have to be rotated.
     * @param {drawings.PointModel} pivot - Specified the reference point with reference to which the objects have to be rotated.
     * @param {AnnotationSelectorSettingsModel} currentSelector - Specified the current selector value.
     * @returns {void}
     */
    rotate(obj: PdfAnnotationBaseModel | SelectorModel, angle: number, pivot?: drawings.PointModel, currentSelector?: AnnotationSelectorSettingsModel): boolean;
    /**
     * @private
     * @param {PdfAnnotationBaseModel | SelectorModel} parent - Specified the annotation object.
     * @param {PdfAnnotationBaseModel[]} objects - Specified the annotation objects.
     * @param {number} angle - Specified the annotation angle.
     * @param {drawings.PointModel} pivot - Specified the pivot value.
     * @param {boolean} includeParent - Specified the include parent value.
     * @param {AnnotationSelectorSettingsModel} currentSelector - Specified the current selector value.
     * @returns {void}
     */
    rotateObjects(parent: PdfAnnotationBaseModel | SelectorModel, objects: PdfAnnotationBaseModel[], angle: number, pivot?: drawings.PointModel, includeParent?: boolean, currentSelector?: AnnotationSelectorSettingsModel): void;
    private getParentSvg;
    private shownBorder;
    /**
     * @private
     * @param {drawings.DrawingElement} selector - Specified the annotation selector object.
     * @param {HTMLCanvasElement | SVGElement} canvas - Specified the canvas element.
     * @param {any} currentSelector - Specified the current selector value.
     * @param {Transforms} transform - Specfied the transform value.
     * @param {number} enableNode - Specified the node number.
     * @param {boolean} isBorderTickness - Specified is thickness or not.
     * @param {boolean} isSwimlane - Specified is swimlane annotation or not.
     * @param {boolean} isSticky - Specified is sticky annotation or not.
     * @returns {void}
     */
    renderBorder(selector: drawings.DrawingElement, canvas: HTMLCanvasElement | SVGElement, currentSelector?: any, transform?: Transforms, enableNode?: number, isBorderTickness?: boolean, isSwimlane?: boolean, isSticky?: boolean): void;
    /**
     * @private
     * @param {PdfAnnotationBaseModel} type - Specified the annotation object.
     * @param {drawings.BaseAttributes} options - Specified the options value.
     * @param {boolean} isFormFieldSign - Specified is form field sign or not.
     * @returns {void}
     */
    getSignBorder(type: any, options: drawings.BaseAttributes, isFormFieldSign?: boolean): void;
    /**
     * @private
     * @param {PdfAnnotationBaseModel} type - Specified the annotation object.
     * @param {drawings.BaseAttributes} options - Specified the base attributes.
     * @returns {void}
     */
    getBorderSelector(type: PdfAnnotationBaseModel, options: drawings.BaseAttributes): void;
    /**
     * @private
     * @param {string} id - Specified the annotaion id.
     * @param {drawings.DrawingElement} selector - Specified the drawing element.
     * @param {number} cx - Specified the cx number.
     * @param {number} cy - Specified the cy number.
     * @param {HTMLCanvasElement | SVGElement} canvas - Specified the html canvas element.
     * @param {boolean} visible - Specified the annotation visible or not.
     * @param {number} enableSelector - Specified the enable selector value.
     * @param {Transforms} t - Specified the transforms value.
     * @param {boolean} connected - Specified is connected or not.
     * @param {boolean} canMask - Specified is mask or not.
     * @param {object} ariaLabel - Specified the aria label object.
     * @param {number} count - Specified the count value.
     * @param {string} className - Specified the class name.
     * @param {AnnotationSelectorSettingsModel} currentSelector - Specified the annotation selector settings.
     * @returns {void}
     */
    renderCircularHandle(id: string, selector: drawings.DrawingElement, cx: number, cy: number, canvas: HTMLCanvasElement | SVGElement, visible: boolean, enableSelector?: number, t?: Transforms, connected?: boolean, canMask?: boolean, ariaLabel?: Object, count?: number, className?: string, currentSelector?: AnnotationSelectorSettingsModel): void;
    /**
     * @private
     * @param {PdfAnnotationBaseModel} type - Specified the annotaion object.
     * @param {drawings.CircleAttributes} options - Specified the circle attributes value.
     * @param {any} currentSelector - Specified the current selector value.
     * @param {Transforms} t - Specified the transforms value.
     * @returns {void}
     */
    getShapeSize(type: PdfAnnotationBaseModel, options: drawings.CircleAttributes, currentSelector: any, t?: Transforms): void;
    /**
     * @private
     * @param {PdfAnnotationBaseModel} type - Specified the annotation object.
     * @param {any} currentSelector - Specified the current selector value.
     * @returns {AnnotationSelectorSettingsModel} - Specified the annotation selector settings model.
     */
    getShape(type: PdfAnnotationBaseModel, currentSelector?: any): AnnotationSelectorSettingsModel;
    /**
     * @private
     * @param {PdfAnnotationBaseModel} type - Specified the annotaion object.
     * @param {drawings.CircleAttributes} options - Specified the circle attributes value.
     * @param {any} currentSelector - Specified the current selector value.
     * @param {Transforms} t - Specified the transforms value.
     * @returns {void}
     */
    getResizerColors(type: PdfAnnotationBaseModel, options: drawings.CircleAttributes, currentSelector?: any, t?: Transforms): void;
    /**
     * @private
     * @param {drawings.DrawingElement} wrapper - Specified the drawing element.
     * @param {HTMLCanvasElement | SVGElement} canvas - Specified the canvas element.
     * @param {Transforms} transform - Specified the transform value.
     * @param {drawings.SelectorConstraints} selectorConstraints - Specified the selector constraints value.
     * @param {boolean} canMask - Specified the is mask or not.
     * @returns {void}
     */
    renderRotateThumb(wrapper: drawings.DrawingElement, canvas: HTMLCanvasElement | SVGElement, transform?: Transforms, selectorConstraints?: drawings.SelectorConstraints, canMask?: boolean): void;
    /**
     * @private
     * @param {drawings.DrawingElement} element - Specified the drawing element.
     * @param {HTMLCanvasElement | SVGElement} canvas - Specified the canvas element.
     * @param {drawings.ThumbsConstraints} constraints - Specified the thumbs constraints element.
     * @param {number} currentZoom - Specified the current zoom value.
     * @param {boolean} canMask - Specified the is mask or not.
     * @param {number} enableNode - Specified the node number.
     * @param {boolean} nodeConstraints - Specified the node constraints or not.
     * @param {boolean} isStamp - Specified is stamp or not.
     * @param {boolean} isSticky - Specified is sticky or not.
     * @param {boolean} isPath - Specified is path or not.
     * @param {boolean} isFreeText - Specified is free text or not.
     * @param {AnnotationSelectorSettingsModel} currentSelector - Specified the current selector settings value.
     * @returns {void}
     */
    renderResizeHandle(element: drawings.DrawingElement, canvas: HTMLCanvasElement | SVGElement, constraints: drawings.ThumbsConstraints, currentZoom: number, canMask?: boolean, enableNode?: number, nodeConstraints?: boolean, isStamp?: boolean, isSticky?: boolean, isPath?: boolean, isFreeText?: boolean, currentSelector?: AnnotationSelectorSettingsModel): void;
    private getAllowedInteractions;
    /**
     * @private
     * @param {PdfAnnotationBaseModel} type - Specified the annotation base model.
     * @param {any} currentSelector - Specified the current selector value
     * @returns {AnnotationResizerLocation} - Returns the annotation resizer location value.
     */
    getResizerLocation(type: PdfAnnotationBaseModel, currentSelector?: any): AnnotationResizerLocation;
    /**
     * @private
     * @param {drawings.DrawingElement} element - Specified the drawing element.
     * @param {HTMLCanvasElement | SVGAElement} canvas - Specified the canvas element.
     * @param {Transforms} transform - Specified the transform values.
     * @param {drawings.SelectorConstraints} selectorConstraints - Specified the selector constraints value.
     * @param {boolean} canMask - Specified is mask value or not.
     * @returns {void}
     */
    renderPivotLine(element: drawings.DrawingElement, canvas: HTMLCanvasElement | SVGElement, transform?: Transforms, selectorConstraints?: drawings.SelectorConstraints, canMask?: boolean): void;
    /**
     * @private
     * @param {PdfAnnotationBaseModel} selector - Specified the annotation element.
     * @param {HTMLCanvasElement | SVGAElement} canvas - Specified the canvas element.
     * @param {drawings.SelectorConstraints} constraints - Specified the selector constraints value.
     * @param {Transforms} transform - Specified the transform values.
     * @param {boolean} connectedSource - Specified is connected source or not.
     * @param {boolean} connectedTarget - Specified is connected target or not.
     * @param {boolean} isSegmentEditing - Specified is segment editing or not.
     * @param {AnnotationSelectorSettingsModel} currentSelector - Specified the current selector value.
     * @returns {void}
     */
    renderEndPointHandle(selector: PdfAnnotationBaseModel, canvas: HTMLCanvasElement | SVGElement, constraints: drawings.ThumbsConstraints, transform: Transforms, connectedSource: boolean, connectedTarget?: boolean, isSegmentEditing?: boolean, currentSelector?: AnnotationSelectorSettingsModel): void;
    /**
     * @private
     * @returns {void}
     */
    initSelectorWrapper(): void;
    /**
     * @private
     * @param {string[]} objArray - Specified the annotation object array.
     * @param {any} currentSelector - Specified the current selector value.
     * @param {boolean} multipleSelection - Specified the multiple selection or not.
     * @param {boolean} preventUpdate - Specified the prevent update or not.
     * @returns {void}
     */
    select(objArray: string[], currentSelector?: any, multipleSelection?: boolean, preventUpdate?: boolean): void;
    /**
     * @private
     * @param {number} tx - Specified the tx value.
     * @param {number} ty - Specified the ty value.
     * @param {number} pageIndex - Specified the page index value.
     * @param {any} currentSelector - Specified the current selector value.
     * @param {PdfAnnotationBaseModel} helper - Specified the helper object.
     * @returns {boolean} - boolean value
     */
    dragSelectedObjects(tx: number, ty: number, pageIndex: number, currentSelector: any, helper: PdfAnnotationBaseModel): boolean;
    /**
     * @private
     * @param {PdfAnnotationBaseModel} obj - Specified the annotaion object.
     * @param {number} tx - Specified the tx value.
     * @param {number} ty - Specified the ty value.
     * @param {any} currentSelector - Specified the current selector value.
     * @param {PdfAnnotationBaseModel} helper - Specified the helper object.
     * @returns {void}
     */
    drag(obj: PdfAnnotationBaseModel | SelectorModel, tx: number, ty: number, currentSelector: any, helper: PdfAnnotationBaseModel): void;
    /**
     * @private
     * @param {PdfAnnotationBaseModel} obj - Specified the annotaion object.
     * @param {number} tx - Specified the tx value.
     * @param {number} ty - Specified the ty value.
     * @returns {void}
     */
    dragAnnotation(obj: PdfAnnotationBaseModel, tx: number, ty: number): void;
    /**
     * @private
     * @param {PdfAnnotationBaseModel} obj - Specified the annotaion object.
     * @param {number} tx - Specified the tx value.
     * @param {number} ty - Specified the ty value.
     * @param {boolean} preventUpdate - Specified the prevent update or not.
     * @param {number} segmentNumber - Specified the segment value.
     * @returns {boolean} - Returns true or false.
     */
    dragControlPoint(obj: PdfAnnotationBaseModel, tx: number, ty: number, preventUpdate?: boolean, segmentNumber?: number): boolean;
    /**
     * @private
     * @param {PdfAnnotationBaseModel} connector - Specified the connector object.
     * @returns {void}
     */
    updateEndPoint(connector: PdfAnnotationBaseModel): void;
    /**
     * @private
     * @param {PdfAnnotationBaseModel} actualObject - Specified the actual annotaion object.
     * @param {PdfAnnotationBaseModel} node - Specified the node annotation object.
     * @param {boolean} isNeedToRender - Specified to render drawing.
     * @returns {void}
     */
    nodePropertyChange(actualObject: PdfAnnotationBaseModel, node: PdfAnnotationBaseModel, isNeedToRender?: boolean): void;
    private fontSizeCalculation;
    private setLineDistance;
    /**
     * @private
     * @param {number} sx - Specified the sx value.
     * @param {number} sy - Specified the sy value.
     * @param {drawings.PointModel} pivot - Specified the pivot value.
     * @returns {boolean} - Returns true or false.
     */
    scaleSelectedItems(sx: number, sy: number, pivot: drawings.PointModel): boolean;
    /**
     * @private
     * @param {PdfAnnotationBaseModel | SelectorModel} obj - Specified the annotaion object.
     * @param {number} sx - Specified the sx value.
     * @param {number} sy - Specified the sy value.
     * @param {drawings.PointModel} pivot - Specified the pivot value.
     * @returns {boolean} - Returns true or false.
     */
    scale(obj: PdfAnnotationBaseModel | SelectorModel, sx: number, sy: number, pivot: drawings.PointModel): boolean;
    /**
     * @private
     * @param {number} sw - Specified the sw value.
     * @param {number} sh - Specified the sh value.
     * @param {drawings.PointModel} pivot - Specified the pivot value.
     * @param {drawings.IElement} obj - Specified the annotation object.
     * @param {drawings.DrawingElement} element - Specified the annotation element.
     * @param {drawings.IElement} refObject - Specified the annotation reference object.
     * @returns {void}
     */
    scaleObject(sw: number, sh: number, pivot: drawings.PointModel, obj: drawings.IElement, element: drawings.DrawingElement, refObject: drawings.IElement): void;
    /**
     * @private
     * @param {PdfAnnotationBaseModel} obj - Specified the annotaion object.
     * @param {number} sw - Specified the sw value.
     * @param {number} sh - Specified the sh value.
     * @param {drawings.PointModel} pivot - Specified the pivot value.
     * @param {drawings.IElement} refObject - Specified the reference object.
     * @returns {boolean} - Returns true or false.
     */
    scaleAnnotation(obj: PdfAnnotationBaseModel, sw: number, sh: number, pivot: drawings.PointModel, refObject?: drawings.IElement): boolean;
    private moveInsideViewer;
    /**
     * @private
     * @param {number} tx - Specified the tx value.
     * @param {number} ty - Specified the ty value.
     * @param {number} pageIndex - Specified the page index value.
     * @param {drawings.Rect} nodeBounds - Specified the node bounds value.
     * @param {boolean} isStamp - Specified the annotation is stamp or not.
     * @param {boolean} isSkip - Specified the annotaion is skip or not.
     * @returns {boolean} - Returns true or false.
     */
    checkBoundaryConstraints(tx: number, ty: number, pageIndex: number, nodeBounds?: drawings.Rect, isStamp?: boolean, isSkip?: boolean): boolean;
    private RestrictStamp;
    /**
     * @private
     * @param {drawings.DrawingElement} shapeElement - Specified the shape element.
     * @returns {drawings.Rect} - Returns the rectangle object.
     */
    getShapeBounds(shapeElement: drawings.DrawingElement): drawings.Rect;
    /**
     * @private
     * @param {number} x - Specified the x value.
     * @param {number} y - Specified the y value.
     * @param {number} w - Specified the w value.
     * @param {number} h - Specified the h value.
     * @param {number} angle - Specified the angle value.
     * @param {number} offsetX - Specified the offset x value.
     * @param {number} offsetY - Specified the offset y value.
     * @param {drawings.PointModel} cornerPoint - Specified the corner point value.
     * @returns {drawings.PointModel} - Returns the point model.
     */
    getShapePoint(x: number, y: number, w: number, h: number, angle: number, offsetX: number, offsetY: number, cornerPoint: drawings.PointModel): drawings.PointModel;
    /**
     * @private
     * @param {string} endPoint - Specified the end point value.
     * @param {drawings.IElement} obj - Specified the annotaion object.
     * @param {drawings.PointModel} point - Specified the annotation points.
     * @param {drawings.PointModel} segment - Specified the annotaion segment.
     * @param {drawings.IElement} target - Specified the target element.
     * @param {string} targetPortId - Specified the target port id.
     * @param {any} currentSelector - Specified the current selector value.
     * @returns {boolean} - Returns true or false.
     */
    dragConnectorEnds(endPoint: string, obj: drawings.IElement, point: drawings.PointModel, segment: drawings.PointModel, target?: drawings.IElement, targetPortId?: string, currentSelector?: any): boolean;
    /**
     * @private
     * @param {PdfAnnotationBaseModel} obj - Specified the annotation object.
     * @param {number} tx - Specified the tx value.
     * @param {number} ty - Specified the y value.
     * @param {number} i - Specified the index value.
     * @returns {boolean} - Returns true or false.
     */
    dragSourceEnd(obj: PdfAnnotationBaseModel, tx: number, ty: number, i: number): boolean;
    /**
     * @private
     * @param {PdfAnnotationBaseModel} connector - Specified the connector object.
     * @param {drawings.PointModel[]} points - Specified the points value.
     * @returns {void}
     */
    updateConnector(connector: PdfAnnotationBaseModel, points: drawings.PointModel[]): void;
    /**
     * @private
     * @returns {object} - Returns the object.
     */
    copy(): Object;
    /**
     * @private
     * @returns {object[]} - Returns the object array.
     */
    copyObjects(): Object[];
    private getNewObject;
    private isWithinBounds;
    /**
     * @private
     * @param {PdfAnnotationBaseModel[]} obj - Specified the annotation object.
     * @param {number} index - Specified the annotation index.
     * @returns {void}
     */
    paste(obj: PdfAnnotationBaseModel[], index: number): void;
    private splitFormFieldName;
    private calculateCopyPosition;
    /**
     * @private
     * @param {number} index - Specified the annotaion index.
     * @returns {void}
     */
    cut(index: number): void;
    /**
     * @private
     * @param {object[]} nodeArray - Specified the node array.
     * @param {string} sortID - Specified the sort id.
     * @returns {object[]} - Returns the node array.
     */
    sortByZIndex(nodeArray: Object[], sortID?: string): Object[];
}
/**
 * @hidden
 */
export interface Transforms {
    tx: number;
    ty: number;
    scale: number;
}
/**
 * @hidden
 */
export interface ClipBoardObject {
    pasteIndex?: number;
    clipObject?: Object;
    childTable?: {};
}
//node_modules/@syncfusion/ej2-pdfviewer/src/pdfviewer/drawing/drawing-util.d.ts
/**
 * @param {PdfAnnotationBaseModel} obj - Specified the shape annotation object.
 * @hidden
 * @returns {void}
 */
export  function isLineShapes(obj: PdfAnnotationBaseModel): boolean;
/**
 * @param {PdfAnnotationBaseModel | PdfFormFieldBaseModel} obj - Specified the annotation or form fields object.
 * @param {drawings.DrawingElement} element - Specified the annotation drawing element.
 * @returns {void}
 * @hidden
 */
export  function setElementStype(obj: PdfAnnotationBaseModel | PdfFormFieldBaseModel, element: drawings.DrawingElement): void;
/**
 * @param {drawings.PointModel[]} points - Specified the annotation points value.
 * @hidden
 * @returns {number} - Returns the points length.
 */
export  function findPointsLength(points: drawings.PointModel[]): number;
/**
 * @param {drawings.PointModel[]} points - Specified the annotation points value.
 * @hidden
 * @returns {number} - Returns the points length.
 */
export  function findPerimeterLength(points: drawings.PointModel[]): number;
/**
 * @private
 * @param {drawings.DrawingElement} element - Specified the drawing element.
 * @param {Transforms} transform - Specified the transform value.
 * @returns {drawings.BaseAttributes} - Returns the base attributes value.
 */
export  function getBaseShapeAttributes(element: drawings.DrawingElement, transform?: Transforms): drawings.BaseAttributes;
/**
 * Get function
 *
 * @private
 * @param {Function | string} value - Type of the function.
 * @returns {Function} - Returns the function.
 */
export  function getFunction(value: Function | string): Function;
/**
 * @private
 * @param {any} obj - Specified the annotation object.
 * @param {Function | string} additionalProp - Specified the annotation additional properties.
 * @param {string} key - Specified the annotation key value.
 * @returns {object} - Returns the cloned object.
 */
export  function cloneObject(obj: any, additionalProp?: Function | string, key?: string): Object;
/**
 * @private
 * @param {object[]} sourceArray - Specified the annotation source collections.
 * @param {Function | string} additionalProp - Specified the annotation additional properties.
 * @param {string} key - Specified the annotation key value.
 * @returns {object[]} - Returns the cloned object array.
 */
export  function cloneArray(sourceArray: Object[], additionalProp?: Function | string, key?: string): Object[];
/**
 * @private
 * @param {string} propName - Specified the annotation property name.
 * @returns {string[]} - Returns the internal properties.
 */
export  function getInternalProperties(propName: string): string[];
/**
 * @param {PdfAnnotationBaseModel} obj - Specified the annotation object.
 * @param {string} position - Specified the annotation position.
 * @hidden
 * @returns {Leader} - Returns the leader value.
 */
export  function isLeader(obj: PdfAnnotationBaseModel, position: string): Leader;
/**
 * @hidden
 */
export interface Leader {
    leader: string;
    point: drawings.PointModel;
}
//node_modules/@syncfusion/ej2-pdfviewer/src/pdfviewer/drawing/dom-util.d.ts
/**
 * @param {ClientRect} bounds - Specified the bounds of the annotation.
 * @param {string} commonStyle  - Specified the annotation styles.
 * @param {HTMLElement} cavas  - Specified the annotation canvas element.
 * @param {number} index - Specified the page index value.
 * @param {PdfViewer} pdfViewer - Specified the pdfviewer element.
 * @hidden
 * @returns {void}
 */
export  function renderAdornerLayer(bounds: ClientRect, commonStyle: string, cavas: HTMLElement, index: number, pdfViewer: PdfViewer): void;
/**
 * @param {string} id - Specified the Id of the svg element.
 * @param {string | number} width - Specified the width of the svg element.
 * @param {string | number} height - Specified the height of the svg element.
 * @hidden
 * @returns {SVGElement} - Returns the svg element.
 */
export  function createSvg(id: string, width: string | number, height: string | number): SVGElement;
//node_modules/@syncfusion/ej2-pdfviewer/src/pdfviewer/drawing/connector-util.d.ts
/**
 * @private
 * @param {PdfAnnotationBaseModel} obj - Specified the annotation object.
 * @param {drawings.PointModel[]} points - Specified the annotation points.
 * @returns {drawings.PointModel[]} - Returns the annotation points model array.
 */
export  function getConnectorPoints(obj: PdfAnnotationBaseModel, points?: drawings.PointModel[]): drawings.PointModel[];
/**
 * @private
 * @param {PdfAnnotationBaseModel} connector - Specified the annotation connector model.
 * @param {drawings.PointModel[]} points - Specified the annotation points.
 * @returns {string} - Returns the annotation path value.
 */
export  function getSegmentPath(connector: PdfAnnotationBaseModel, points: drawings.PointModel[]): string;
/**
 * @private
 * @param {PdfAnnotationBaseModel} connector - Specified the annotation connector model.
 * @param {drawings.PointModel[]} points - Specified the annotation points.
 * @param {drawings.PathElement} element - Specified the annotation element.
 * @returns {drawings.PathElement} - Returns the annotation path element.
 */
export  function updateSegmentElement(connector: PdfAnnotationBaseModel, points: drawings.PointModel[], element: drawings.PathElement): drawings.PathElement;
/**
 * @private
 * @param {PdfAnnotationBaseModel} connector - Specified the annotation connector model.
 * @param {drawings.PathElement} segmentElement - Specified the annotation segment element.
 * @returns {drawings.PathElement} - Returns the annotation path element.
 */
export  function getSegmentElement(connector: PdfAnnotationBaseModel, segmentElement: drawings.PathElement): drawings.PathElement;
/**
 * @private
 * @param {PdfAnnotationBaseModel} obj - Specified the annotation object.
 * @param {drawings.DrawingElement} element - Specified the annotation drawing element.
 * @param {drawings.PointModel} pt - Specified the annotation point.
 * @param {drawings.PointModel} adjacentPoint - Specified the annotation adjacent point.
 * @param {boolean} isSource - Specified the is source value or not.
 * @returns {void}
 */
export  function updateDecoratorElement(obj: PdfAnnotationBaseModel, element: drawings.DrawingElement, pt: drawings.PointModel, adjacentPoint: drawings.PointModel, isSource: boolean): void;
/**
 * @private
 * @param {PdfAnnotationBaseModel} obj - Specified the annotation object.
 * @param {drawings.PointModel} offsetPoint - Specified the annotation offset point.
 * @param {drawings.PointModel} adjacentPoint - Specified the annotation adjacent point.
 * @param {boolean} isSource - Specified the is source value or not.
 * @returns {drawings.PathElement} - Returns the annotation path element.
 */
export  function getDecoratorElement(obj: PdfAnnotationBaseModel, offsetPoint: drawings.PointModel, adjacentPoint: drawings.PointModel, isSource: boolean): drawings.PathElement;
/**
 * @private
 * @param {PdfAnnotationBaseModel} connector - Specified the annotation object.
 * @param {drawings.PointModel[]} pts - Specified the annotation point model array.
 * @returns {drawings.PointModel[]} - Returns the annotation point model array.
 */
export  function clipDecorators(connector: PdfAnnotationBaseModel, pts: drawings.PointModel[]): drawings.PointModel[];
/**
 * @private
 * @param {PdfAnnotationBaseModel} connector - Specified the annotation connector object.
 * @param {drawings.PointModel[]} points - Specified the annotation offset point.
 * @param {boolean} isSource - Specified the is source value or not.
 * @returns {drawings.PointModel} - Returns the annotation point model.
 */
export  function clipDecorator(connector: PdfAnnotationBaseModel, points: drawings.PointModel[], isSource: boolean): drawings.PointModel;
/**
 * @param {PdfAnnotationBaseModel} obj - Specified the annotation object.
 * @param {drawings.PointModel[]} points - Specified the annotation point model array.
 * @param {MeasureAnnotation} measure - Specified the measure annotation object.
 * @param {PdfViewer} pdfviewer - Specified the pdfviewer element.
 * @hidden
 * @returns {drawings.TextElement[]} - Returns the text element collections.
 */
export  function initDistanceLabel(obj: PdfAnnotationBaseModel, points: drawings.PointModel[], measure: MeasureAnnotation, pdfviewer: PdfViewer): drawings.TextElement[];
/**
 * @param {PdfAnnotationBaseModel} obj - Specified the annotation object.
 * @param {drawings.PointModel[]} points - Specified the annotation point model array.
 * @param {MeasureAnnotation} measure - Specified the measure annotation object.
 * @hidden
 * @returns {string} - Returns the distance value.
 */
export  function updateDistanceLabel(obj: PdfAnnotationBaseModel, points: drawings.PointModel[], measure: MeasureAnnotation): string;
/**
 * @param {PdfAnnotationBaseModel} obj - Specified the annotation object.
 * @param {MeasureAnnotation} measure - Specified the measure annotation object.
 * @hidden
 * @returns {string} - Returns the radius label value.
 */
export  function updateRadiusLabel(obj: PdfAnnotationBaseModel, measure: MeasureAnnotation): string;
/**
 * @param {PdfAnnotationBaseModel} obj - Specified the annotation object.
 * @param {drawings.PointModel[]} points - Specified the annotation point model array.
 * @param {MeasureAnnotation} measure - Specified the measure annotation object.
 * @param {PdfViewer} pdfviewer - Specified the pdfviewer element.
 * @hidden
 * @returns {drawings.TextElement[]} - Returns the text element collections.
 */
export  function initPerimeterLabel(obj: PdfAnnotationBaseModel, points: drawings.PointModel[], measure: MeasureAnnotation, pdfviewer: PdfViewer): drawings.TextElement[];
/**
 * @param {PdfAnnotationBaseModel} obj - Specified the annotation object.
 * @param {drawings.PointModel[]} points - Specified the annotation point model array.
 * @param {MeasureAnnotation} measure - Specified the measure annotation object.
 * @hidden
 * @returns {string} - Returns the perimeter label value.
 */
export  function updatePerimeterLabel(obj: PdfAnnotationBaseModel, points: drawings.PointModel[], measure: MeasureAnnotation): string;
/**
 * @param {PdfAnnotationBaseModel} obj - Specified the annotation object.
 * @hidden
 * @returns {void}
 */
export  function removePerimeterLabel(obj: PdfAnnotationBaseModel): void;
/**
 * @param {PdfAnnotationBaseModel} obj - Specified the annotation object.
 * @hidden
 * @returns {void}
 */
export  function updateCalibrateLabel(obj: PdfAnnotationBaseModel): void;
/**
 * Used to find the path for polygon shapes
 *
 * @param {drawings.PointModel[]} collection - Specified the polygon annotaion points collection.
 * @hidden
 * @returns {string} - Returns the polygon annotation path.
 */
export  function getPolygonPath(collection: drawings.PointModel[]): string;
/**
 * @param {PdfAnnotationBaseModel} obj - Specified the annotation object.
 * @param {number} angle - Specified the annotaion rotation angle.
 * @hidden
 * @returns {drawings.TextElement} - Returns the annotation text element.
 */
export  function textElement(obj: PdfAnnotationBaseModel, angle: number): drawings.TextElement;
/**
 * @param {PdfAnnotationBaseModel} obj - Specified the annotation object.
 * @param {drawings.PointModel[]} points - Specified the annotaion leader points.
 * @hidden
 * @returns {drawings.PathElement[]} - Returns the annotation path elements.
 */
export  function initLeaders(obj: PdfAnnotationBaseModel, points: drawings.PointModel[]): drawings.PathElement[];
/**
 * @param {PdfAnnotationBaseModel} obj - Specified the annotation object.
 * @param {drawings.PointModel} point1 - Specified the annotaion leader point1.
 * @param {drawings.PointModel} point2 - Specified the annotaion leader point2.
 * @param {boolean} isSecondLeader - Specified the is second leader or not.
 * @hidden
 * @returns {drawings.PathElement} - Returns the annotation path element.
 */
export  function initLeader(obj: PdfAnnotationBaseModel, point1: drawings.PointModel, point2: drawings.PointModel, isSecondLeader?: boolean): drawings.PathElement;
/**
 * @private
 * @param {PdfAnnotationBaseModel} connector - Specified the annotation connector object.
 * @param {drawings.PointModel} reference - Specified the pointer reference value.
 * @returns {boolean} - Returns true or false.
 */
export  function isPointOverConnector(connector: PdfAnnotationBaseModel, reference: drawings.PointModel): boolean;
/**
 * @param {drawings.PointModel} reference - Specified the pointer reference value.
 * @param {drawings.PointModel} start - Specified the pointer start value.
 * @param {drawings.PointModel} end - Specified the pointer end value.
 * @private
 * @returns {drawings.PointModel} - Returns annotation point model.
 */
export  function findNearestPoint(reference: drawings.PointModel, start: drawings.PointModel, end: drawings.PointModel): drawings.PointModel;
/**
 * @param {drawings.DecoratorShapes} shape - Specified the annotation decorator shapes.
 * @hidden
 * @returns {string} - Returns the annotation decorator shape value.
 */
export  function getDecoratorShape(shape: drawings.DecoratorShapes): string;
//node_modules/@syncfusion/ej2-pdfviewer/src/pdfviewer/drawing/action.d.ts
/**
 * @private
 * @param {MouseEvent | TouchEvent} event - Specified the annotaion event.
 * @param {PdfViewerBase} pdfBase - Specified the pdfviewer base element.
 * @param {PdfViewer} pdfViewer - Specified the pdfviewer element.
 * @param {boolean} isOverlapped - Specified the overlapped element or not.
 * @returns {any} - Returns the active element.
 */
export  function findActiveElement(event: MouseEvent | TouchEvent, pdfBase: PdfViewerBase, pdfViewer: PdfViewer, isOverlapped?: boolean): any;
/**
 * @private
 * @param {PdfViewerBase} pdfBase - Specified the pdfviewer base element.
 * @param {PdfViewer} pdfViewer - Specified the pdfviewer element.
 * @param {MouseEvent} event - Specified the annotaion event.
 * @returns {drawings.IElement[]} - Returns the annotaion elements.
 */
export  function findObjectsUnderMouse(pdfBase: PdfViewerBase, pdfViewer: PdfViewer, event: MouseEvent): drawings.IElement[];
/**
 * @private
 * @param {PdfAnnotationBaseModel[]} objects - Specified the annotaion object model.
 * @param {any} event - Specified the annotaion event.
 * @param {PdfViewerBase} pdfBase - Specified the pdfviewer base element.
 * @param {PdfViewer} pdfViewer - Specified the pdfviewer element.
 * @returns {drawings.IElement} - Returns the annotaion element.
 */
export  function findObjectUnderMouse(objects: (PdfAnnotationBaseModel)[], event: any, pdfBase: PdfViewerBase, pdfViewer: PdfViewer): drawings.IElement;
/**
 * @private
 * @param {any} selector - Specified the annotaion selctor.
 * @param {any} currentobject - Specified the current annotaion object.
 * @returns {any} - Returns the leader points.
 */
export  function CalculateLeaderPoints(selector: any, currentobject: any): any;
/**
 * @private
 * @param {drawings.IElement} obj - Specified the annotation element.
 * @param {drawings.PointModel} position - Specified the annotation position value.
 * @param {number} padding - Specified the annotation padding.
 * @returns {drawings.DrawingElement} - Returns the annotation drawing element.
 */
export  function findElementUnderMouse(obj: drawings.IElement, position: drawings.PointModel, padding?: number): drawings.DrawingElement;
/**
 * @private
 * @param {PdfAnnotationBaseModel} obj - Specified the annotation object model.
 * @param {string} key - Specified the annotation key value.
 * @param {object[]} collection - Specified the annotation collection.
 * @returns {void}
 */
export  function insertObject(obj: PdfAnnotationBaseModel, key: string, collection: Object[]): void;
/**
 * @private
 * @param {drawings.Container} container - Specified the annotaion container.
 * @param {drawings.PointModel} position - Specified the annotation position.
 * @param {number} padding - Specified the annotaion padding value.
 * @returns {drawings.DrawingElement} - Returns the annotation drawing element.
 */
export  function findTargetShapeElement(container: drawings.Container, position: drawings.PointModel, padding?: number): drawings.DrawingElement;
/**
 * @private
 * @param {drawings.PointModel} region - Specified the annotation region point model.
 * @param {PdfAnnotationBaseModel[]} objCollection - Specified the annotation object collections.
 * @param {number} touchPadding - touchPadding
 * @returns {PdfAnnotationBaseModel[]} - Returns the annotation object collections.
 */
export  function findObjects(region: drawings.PointModel, objCollection: (PdfAnnotationBaseModel)[], touchPadding: number): (PdfAnnotationBaseModel)[];
/**
 * @private
 * @param {MouseEvent} event - Specified the annotaion mouse event.
 * @returns {number} - Returns the active page Id.
 */
export  function findActivePage(event: MouseEvent): number;
/**
 * @hidden
 */
export  class ActiveElements {
    private activePage;
    /**
     * @private
     * @returns {number} - Returns the active page Id.
     */
    /**
    * @private
    * @param {number} offset - The page offset value.
    */
    activePageID: number;
    constructor();
}
//node_modules/@syncfusion/ej2-pdfviewer/src/pdfviewer/bookmark-view/bookmark-view.d.ts
/**
 * The `BookmarkView` module is used to handle bookmark view navigation of PDF viewer.
 *
 * @param {EventArgs} args - args
 * @returns {void}
 */
export  class BookmarkView {
    private pdfViewer;
    private pdfViewerBase;
    private bookmarkView;
    private isBookmarkViewDiv;
    private treeObj;
    private bookmarkRequestHandler;
    private isKeyboardNavigation;
    bookmarks: any;
    private bookmarkStyles;
    bookmarksDestination: any;
    /**
     * @private
     */
    childNavigateCount: number;
    /**
     * @private
     */
    bookmarkList: lists.ListView;
    /**
     * @param {PdfViewer} pdfViewer - It describes about the pdfViewer
     * @param {PdfViewerBase} pdfViewerBase - It describes about the pdfViewerBase
     * @private
     */
    constructor(pdfViewer: PdfViewer, pdfViewerBase: PdfViewerBase);
    /**
     * Open the bookmark pane of the PDF Viewer.
     *
     * @returns {void}
     */
    openBookmarkPane(): void;
    /**
     * Close the bookmark pane of the PDF Viewer.
     *
     * @returns {void}
     */
    closeBookmarkPane(): void;
    /**
     * @private
     * @returns {void}
     */
    createRequestForBookmarks(): void;
    private renderBookmarksOnSuccess;
    /**
     * @private
     * @returns {void}
     */
    renderBookmarkcontent(): void;
    /**
     * @private
     * @returns {void}
     */
    renderBookmarkContentMobile(): void;
    private bookmarkClick;
    private nodeClick;
    private bookmarkKeypress;
    private bookmarkPanelBeforeOpen;
    private setHeight;
    /**
     * @private
     * @returns {void}
     */
    setBookmarkContentHeight(): void;
    private navigateToBookmark;
    /**
     * Get Bookmarks of the PDF document being loaded in the ejPdfViewer control
     *
     * @returns {any} - 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
     * @returns {void}
     */
    clear(): void;
    /**
     * @private
     * @returns {void}
     */
    destroy(): void;
    /**
     * @private
     * @returns {string} - string
     */
    getModuleName(): string;
}
//node_modules/@syncfusion/ej2-pdfviewer/src/pdfviewer/base/types.d.ts
/**
 * Enum toolbarItem for toolbar settings
 */
export  type ToolbarItem = 'OpenOption' | 'PageNavigationTool' | 'MagnificationTool' | 'PanTool' | 'SelectionTool' | 'SearchOption' | 'PrintOption' | 'DownloadOption' | 'UndoRedoTool' | 'AnnotationEditTool' | 'FormDesignerEditTool' | 'CommentTool' | 'SubmitForm' | 'OrganizePagesTool';
/**
 * Enum AnnotationToolbarItem for annotation toolbar settings
 */
export  type AnnotationToolbarItem = 'HighlightTool' | 'UnderlineTool' | 'StrikethroughTool' | 'ShapeTool' | 'CalibrateTool' | 'ColorEditTool' | 'StrokeColorEditTool' | 'ThicknessEditTool' | 'OpacityEditTool' | 'AnnotationDeleteTool' | 'StampAnnotationTool' | 'HandWrittenSignatureTool' | 'InkAnnotationTool' | 'FreeTextAnnotationTool' | 'FontFamilyAnnotationTool' | 'FontSizeAnnotationTool' | 'FontStylesAnnotationTool' | 'FontAlignAnnotationTool' | 'FontColorAnnotationTool' | 'CommentPanelTool';
/**
 * Enum value of form designer toolbar item.
 */
export  type FormDesignerToolbarItem = 'TextboxTool' | 'PasswordTool' | 'CheckBoxTool' | 'RadioButtonTool' | 'DropdownTool' | 'ListboxTool' | 'DrawSignatureTool' | 'DeleteTool';
/**
 * Enum LinkTarget for hyperlink navigation
 */
export  type LinkTarget = 'CurrentTab' | 'NewTab' | 'NewWindow';
/**
 * Enum InteractionMode for interaction mode
 */
export  type InteractionMode = 'TextSelection' | 'Pan';
/**
 * Enum type for Signature Items
 */
export  type SignatureItem = 'Signature' | 'Initial';
/**
 * Enum AnnotationType for specifying Annotations
 */
export  type AnnotationType = 'None' | 'Highlight' | 'Underline' | 'Strikethrough' | 'Line' | 'Arrow' | 'Rectangle' | 'Circle' | 'Polygon' | 'Distance' | 'Perimeter' | 'Area' | 'Radius' | 'Volume' | 'FreeText' | 'HandWrittenSignature' | 'Initial' | 'Ink' | 'Stamp' | 'Image' | 'StickyNotes';
/**
 * Enum LineHeadStyle for line and arrow annotation
 */
export  type LineHeadStyle = 'None' | 'Closed' | 'Open' | 'Square' | 'Round' | 'Diamond' | 'Butt';
/**
 * Enum unit for calibration annotation
 */
export  type CalibrationUnit = 'pt' | 'in' | 'mm' | 'cm' | 'p' | 'ft' | 'ft_in' | 'm';
/**
 * Enum for comment status of the annotation
 */
export  enum CommentStatus {
    None = 1,
    Accepted = 2,
    Canceled = 3,
    Completed = 4,
    Rejected = 5
}
/**
 * Enum unit for ContextMenu Actions
 */
export  type ContextMenuAction = 'None' | 'MouseUp' | 'RightClick';
/**
 * Enum unit for FormFieldType
 */
export  type FormFieldType = 'Textbox' | 'Password' | 'CheckBox' | 'RadioButton' | 'DropDown' | 'ListBox' | 'SignatureField' | 'InitialField';
/**
 * Enum for font styles
 */
export  enum FontStyle {
    None = 0,
    Bold = 1,
    Italic = 2,
    Underline = 4,
    Strikethrough = 8
}
/**
 * Enum for context menu items
 */
export  enum ContextMenuItem {
    Copy = 0,
    Highlight = 1,
    Cut = 2,
    Underline = 4,
    Paste = 8,
    Delete = 16,
    ScaleRatio = 32,
    Strikethrough = 64,
    Properties = 128,
    Comment = 256
}
/**
 * Enum for signature type
 */
export  enum SignatureType {
    Draw = "Draw",
    Type = "Type",
    Image = "Image"
}
/**
 * Enum unit for text alignment
 */
export  type TextAlignment = 'Left' | 'Right' | 'Center' | 'Justify';
/**
 * Enum unit for Visibility
 */
export  type Visibility = 'visible' | 'hidden';
/**
 * Enum for annotation selector shapes
 */
export  type AnnotationResizerShape = 'Square' | 'Circle';
/**
 * Enum for annotation resizer location
 */
export  enum AnnotationResizerLocation {
    Corners = 1,
    Edges = 2
}
/**
 * Specifies the type of text extraction result to be returned.
 * This enum is used to customize the output of text extraction methods and events,
 * allowing developers to choose whether to retrieve plain text, text with layout information (bounds),
 * or both. It also includes an option for cases where no text information is applicable.
 */
export  enum ExtractTextOption {
    /**
     * Indicates that no text information is returned.
     * This option is not applicable for the ExtractText method and is only used
     * in the extractTextCompleted event when no text data is available.
     * Use this option when text extraction is not relevant or supported for the given context.
     */
    None = "None",
    /**
     * Indicates that only plain text is extracted and returned.
     * This option does not include any additional bounds  information.
     * Use this option when only the textual content is needed, without any positional or layout details.
     */
    TextOnly = "TextOnly",
    /**
     * Indicates that text is returned along with layout information, such as bounds or coordinates.
     * This option does not include plain text and is useful when only positional data is required.
     * Use this option when you need to know the location or layout of the extracted text but not the text itself.
     */
    BoundsOnly = "BoundsOnly",
    /**
     * Indicates that both plain text and text with bounds (layout information) are returned.
     * This is the default behavior, providing both the extracted text and its positional data.
     * Use this option when you need both the textual content and its layout information for further processing or analysis.
     */
    TextAndBounds = "TextAndBounds"
}
/**
 * Enum for displaying the signature dialog
 */
export  enum DisplayMode {
    /** Draw - Display only the draw option in the signature dialog. */
    Draw = 1,
    /** Text - Display only the type option in the signature dialog. */
    Text = 2,
    /** Upload - Display only the upload option in the signature dialog. */
    Upload = 4
}
/**
 * set the ZoomMode on rendering
 */
export  type ZoomMode = 'Default' | 'FitToWidth' | 'FitToPage';
/**
 * Enum for Print Mode
 */
export  type PrintMode = 'Default' | 'NewWindow';
/**
 * Enum for cursor type
 */
export  enum CursorType {
    auto = "auto",
    crossHair = "crosshair",
    e_resize = "e-resize",
    ew_resize = "ew-resize",
    grab = "grab",
    grabbing = "grabbing",
    move = "move",
    n_resize = "n-resize",
    ne_resize = "ne-resize",
    ns_resize = "ns-resize",
    nw_resize = "nw-resize",
    pointer = "pointer",
    s_resize = "s-resize",
    se_resize = "se-resize",
    sw_resize = "sw-resize",
    text = "text",
    w_resize = "w-resize"
}
/**
 * Enum type for Dynamic Stamp Items
 */
export  enum DynamicStampItem {
    Revised = "Revised",
    Reviewed = "Reviewed",
    Received = "Received",
    Approved = "Approved",
    Confidential = "Confidential",
    NotApproved = "NotApproved"
}
/**
 * Enum type for Sign Stamp Items
 */
export  enum SignStampItem {
    Witness = "Witness",
    InitialHere = "InitialHere",
    SignHere = "SignHere",
    Accepted = "Accepted",
    Rejected = "Rejected"
}
/**
 * Enum type for Standard Business Stamp Items
 */
export  enum StandardBusinessStampItem {
    Approved = "Approved",
    NotApproved = "NotApproved",
    Draft = "Draft",
    Final = "Final",
    Completed = "Completed",
    Confidential = "Confidential",
    ForPublicRelease = "ForPublicRelease",
    NotForPublicRelease = "NotForPublicRelease",
    ForComment = "ForComment",
    Void = "Void",
    PreliminaryResults = "PreliminaryResults",
    InformationOnly = "InformationOnly"
}
/**
 * Enum type for allowed interactions for locked annotations
 */
export  enum AllowedInteraction {
    Select = "Select",
    Move = "Move",
    Resize = "Resize",
    Delete = "Delete",
    None = "None",
    PropertyChange = "PropertyChange"
}
/**
 * Enum type for signature mode for signature fields
 */
export  type SignatureFitMode = 'Default' | 'Stretch';
/**
 * Enum type for export annotation file types
 */
export  enum AnnotationDataFormat {
    Json = "Json",
    Xfdf = "Xfdf"
}
/**
 * Represents the format type of form data.
 */
export  enum FormFieldDataFormat {
    Xml = "Xml",
    Fdf = "Fdf",
    Xfdf = "Xfdf",
    Json = "Json"
}
/**
 * Specifies a combination of key modifiers, on recognition of which the command will be executed.They are
 * None - no modifiers are pressed
 * Control - ctrl key
 * Meta - meta key im mac
 * Alt - alt key
 * Shift - shift key
 *
 * @aspNumberEnum
 * @IgnoreSingular
 */
export  enum ModifierKeys {
    /** Specifies when no modifiers are pressed. */
    None = 0,
    /** Specifies the Ctrl key as a key modifier. */
    Control = 1,
    /** Specifies the meta key in Mac. */
    Meta = 1,
    /** Specifies the alt key as a key modifier. */
    Alt = 2,
    /** Specifies the shift key as a key modifier. */
    Shift = 4
}
/**
 * Defines a collection of keys commonly used in Pdf-related operations. They are
 * none - no key
 * N0 = The 0 key
 * N1 = The 1 key
 * N2 = The 2 key
 * N3 = The 3 key
 * N4 = The 4 key
 * N5 = The 5 key
 * N6 = The 6 key
 * N7 = The 7 key
 * N8 = The 8 key
 * * N9 = The 9 key
 * * Number0 = The 0 in number pad key
 * * Number1 = The 1 in number pad key
 * * Number2 = The 2 in number pad key
 * * Number3 = The 3 in number pad key
 * * Number4 = The 4 in number pad key
 * * Number5 = The 5 in number pad key
 * * Number6 = The 6 in number pad key
 * * Number7 = The 7 in number pad key
 * * Number8 = The 8 in number pad key
 * * Number9 = The 9 in number pad 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 key
 * * The Plus key
 * * The Star key
 * * The Open Square Bracket key
 * * The close Square Bracket key
 *
 * @aspNumberEnum
 * @IgnoreSingular
 */
export  enum PdfKeys {
    /** No key pressed */
    None,
    /** The 0 key */
    N0 = 48,
    /** The 1 key */
    N1 = 49,
    /** The 2 key */
    N2 = 50,
    /** The 3 key */
    N3 = 51,
    /** The 4 key */
    N4 = 52,
    /** The 5 key */
    N5 = 53,
    /** The 6 key */
    N6 = 54,
    /** The 7 key */
    N7 = 55,
    /** The 8 key */
    N8 = 56,
    /** The 9 key */
    N9 = 57,
    /** The 0 in number pad key */
    Number0 = 96,
    /** The 1 in number pad key */
    Number1 = 97,
    /** The 2 in number pad key */
    Number2 = 98,
    /** The 3 in number pad key */
    Number3 = 99,
    /** The 4 in number pad key */
    Number4 = 100,
    /** The 5 in number pad key */
    Number5 = 101,
    /** The 6 in number pad key */
    Number6 = 102,
    /** The 7 in number pad key */
    Number7 = 103,
    /** The 8 in number pad key */
    Number8 = 104,
    /** The 9 in number pad key */
    Number9 = 105,
    /** 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 */
    ArrowLeft = 37,
    /** The up arrow key */
    ArrowUp = 38,
    /** The right arrow key */
    ArrowRight = 39,
    /** The down arrow key */
    ArrowDown = 40,
    /** The Escape key */
    Escape = 27,
    /** The Space key */
    Space = 32,
    /** The page up key */
    PageUp = 33,
    /** The Page down key */
    PageDown = 34,
    /** The End key */
    End = 35,
    /** The Home 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 key */
    Star = 56,
    /** The Plus key */
    Plus = 187,
    /** The Minus key */
    Minus = 189,
    /** The Open Square bracket key */
    BracketLeft = 219,
    /** The close Square bracket key */
    BracketRight = 221
}
//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 textBoundsArray;
    /**
     * @private
     */
    characterBound: any[];
    /**
     * @param {PdfViewer} pdfViewer - The PdfViewer.
     * @param {PdfViewerBase} pdfViewerBase - The PdfViewerBase.
     * @private
     */
    constructor(pdfViewer: PdfViewer, pdfViewerBase: PdfViewerBase);
    /**
     * @param {number} pageNumber - The pageNumber.
     * @param {number} pageWidth - The pageWidth.
     * @param {number} pageHeight - The pageHeight.
     * @param {HTMLElement} pageDiv - The pageDiv.
     * @returns {HTMLElement} - The HTMLElement.
     * @private
     */
    addTextLayer(pageNumber: number, pageWidth: number, pageHeight: number, pageDiv: HTMLElement): HTMLElement;
    /**
     * @param {number} pageNumber - The pageNumber.
     * @param {any} textContents - The textContents.
     * @param {any} textBounds - The textBounds.
     * @param {any} rotation - The rotation.
     * @param {any} rtldoc - The rtldoc
     * @returns {void}
     * @private
     */
    renderTextContents(pageNumber: number, textContents: any, textBounds: any, rotation: any, rtldoc: any): void;
    /**
     * @param {number} pageNumber -This is pageNumber
     * @param {any} textContents - This is textContents
     * @param {any} textBounds - This is textBounds
     * @param {any} rotation - This is rotation
     * @param {boolean} isTextSearch - This is isTextSearch
     * @private
     * @returns {void}
     */
    resizeTextContents(pageNumber: number, textContents: any, textBounds: any, rotation: any, isTextSearch?: boolean): void;
    private applyTextRotation;
    private setTextElementProperties;
    /**
     * @param {number} pageNumber - The pageNumber.
     * @returns {void}
     * @private
     */
    resizeTextContentsOnZoom(pageNumber: number): void;
    /**
     * EJ2-855106- Optimize performance by eliminating unnecessary getBoundingClientRect usage in this method.
     *
     * @param {HTMLElement} textLayer - This is textLayer
     * @param {HTMLElement} textDiv - This is textDiv
     * @returns {void}
     */
    private resizeExcessDiv;
    /**
     * @private
     * @param {boolean} isPinchZoomed - The isPinchZoomed.
     * @returns {void}
     */
    clearTextLayers(isPinchZoomed?: boolean): void;
    private removeElement;
    private removeForeignObjects;
    /**
     * @param {number} pageNumber - This is pageNumber
     * @param {number} divId - This is divId
     * @param {number} fromOffset - This is fromoffset
     * @param {number} toOffset - This is toOffset
     * @param {string} textString - This is textString
     * @param {string} className - This is className
     * @param {boolean} isRTLText - This is isRTLText
     * @private
     * @returns {void}
     */
    convertToSpan(pageNumber: number, divId: number, fromOffset: number, toOffset: number, textString: string, className: string, isRTLText?: boolean): void;
    /**
     * @param {number} startPage - This is startPage
     * @param {number} endPage - This is endPage
     * @param {number} anchorOffsetDiv - This is anchorOffsetDiv
     * @param {number} focusOffsetDiv - This is focusOffsetDiv
     * @param {number} anchorOffset - This is anchorOffset
     * @param {number} focusOffset - This is focusOffset
     * @private
     * @returns {void}
     */
    applySpanForSelection(startPage: number, endPage: number, anchorOffsetDiv: number, focusOffsetDiv: number, anchorOffset: number, focusOffset: number): void;
    /**
     * @private
     * @returns {void}
     */
    clearDivSelection(): void;
    private setStyleToTextDiv;
    private getTextSelectionStatus;
    /**
     * @param {boolean} isAdd - The isAdd.
     * @returns {void}
     * @private
     */
    modifyTextCursor(isAdd: boolean): void;
    /**
     * @param {Selection} selection - The Selection.
     * @returns {boolean} - Returns true or false.
     * @private
     */
    isBackWardSelection(selection: Selection): boolean;
    /**
     * @param {Node} element - The element.
     * @returns {number} - Returns number.
     * @private
     */
    getPageIndex(element: Node): number;
    /**
     * @param {Node} element - The element.
     * @param {number} pageIndex - The pageIndex.
     * @returns {number} - Returns number.
     * @private
     */
    getTextIndex(element: Node, pageIndex: number): number;
    private getPreviousZoomFactor;
    /**
     * @private
     * @returns {boolean} - Returns true or false.
     */
    getTextSearchStatus(): boolean;
}
//node_modules/@syncfusion/ej2-pdfviewer/src/pdfviewer/base/spinner.d.ts
export  type createElementParams = (tag: string, prop?: {
    id?: string;
    className?: string;
    innerHTML?: string;
    styles?: string;
    attrs?: {
        [key: string]: string;
    };
}) => HTMLElement;
/**
 * Defines the type of spinner.
 */
export  type SpinnerType = 'Material' | 'Material3' | 'Fabric' | 'Bootstrap' | 'HighContrast' | 'Bootstrap4' | 'Fluent2' | 'Tailwind3';
/**
 * Function to change the Spinners in a page globally from application end.
 * ```
 * E.g : blazorSpinner({ action: "Create", options: {target: targetElement}, type: "" });
 * ```
 *
 * @private
 * @param {string} action - The action.
 * @param {CreateArgs} options - The options
 * @param {string} target - The target
 * @param {string} type - the type
 * @returns {void}
 */
export  function Spinner(action: string, options: CreateArgs, target: string, type: string): void;
/**
 * Create a spinner for the specified target element.
 * ```
 * E.g : createSpinner({ target: targetElement, width: '34px', label: 'Loading..' });
 * ```
 *
 * @private
 * @param  {SpinnerArgs} args - The SpinnerArgs.
 * @param {createElementParams} internalCreateElement - The internalCreateElement
 * @returns {void}
 */
export  function createSpinner(args: SpinnerArgs, internalCreateElement?: createElementParams): void;
/**
 * Function to show the Spinner.
 *
 * @private
 * @param {HTMLElement} container - The container.
 * @returns {void}
 */
export  function showSpinner(container: HTMLElement): void;
/**
 * Function to hide the Spinner.
 *
 * @private
 * @param {HTMLElement} container - Specify the target of the Spinner.
 * @returns {void}
 */
export  function hideSpinner(container: HTMLElement): void;
/**
 * Function to change the Spinners in a page globally from application end.
 * ```
 * E.g : setSpinner({ cssClass: 'custom-css';
 type: 'Material' });
 * ```
 *
 * @private
 * @param {SetSpinnerArgs} args - The args.
 * @param {createElementParams} internalCreateElement - The internalCreateElement.
 * @returns {void}
 */
export  function setSpinner(args: SetSpinnerArgs, internalCreateElement?: createElementParams): void;
/**
 * Arguments to create a spinner for the target.These properties are optional.
 */
export interface SpinnerArgs {
    /**
     * Target element to the Spinner.
     * ```
     * E.g : createSpinner({ target: element });
     * ```
     */
    target: HTMLElement;
    /**
     *  To set the width of the Spinner.
     */
    width?: string | number;
    /**
     *  To set the label to the Spinner element.
     */
    label?: string;
    /**
     *  Sets the CSS classes to root element of the Spinner which helps to customize the complete UI styles.
     */
    cssClass?: string;
    /**
     *  Specify the template content to be displayed in the Spinner.
     */
    template?: string;
    /**
     *  Specify the type of the Spinner.
     */
    type?: SpinnerType;
}
/**
 * Arguments to change the Spinners in a page globally from application end.
 */
export interface SetSpinnerArgs {
    /**
     *  Specify the template content to be displayed in the Spinner.
     */
    template?: string;
    /**
     *  Sets the CSS classes to root element of the Spinner which helps to customize the complete UI styles.
     */
    cssClass?: string;
    /**
     *  Specify the type of the Spinner.
     */
    type?: SpinnerType;
}
/**
 * Arguments to change the `Blazor` Spinners in a page globally from application end.
 */
export interface SetArgs {
    /**
     *  Sets the CSS classes to root element of the Spinner which helps to customize the complete UI styles.
     */
    cssClass?: string;
    /**
     *  Specify the type of the Spinner.
     */
    type?: SpinnerType;
}
/**
 * Arguments to create a `Blazor` spinner for the target.
 */
export interface CreateArgs {
    /**
     * Target element to the Spinner.
     * ```
     * E.g : createSpinner({ target: element });
     * ```
     */
    target: string;
    /**
     *  To set the width of the Spinner.
     */
    width?: string | number;
    /**
     *  To set the label to the Spinner element.
     */
    label?: string;
    /**
     *  Sets the CSS classes to root element of the Spinner which helps to customize the complete UI styles.
     */
    cssClass?: string;
    /**
     *  Specify the type of the Spinner.
     */
    type?: SpinnerType;
}
//node_modules/@syncfusion/ej2-pdfviewer/src/pdfviewer/base/signature.d.ts
/**
 * @hidden
 */
export interface ISignAnnotation {
    strokeColor: string;
    opacity: number;
    bounds: IRectCollection;
    pageIndex: number;
    shapeAnnotationType: string;
    thickness: number;
    id: string;
    data: string;
    signatureName: string;
    fontFamily?: string;
    fontSize?: string;
}
/**
 * @hidden
 */
interface IRectCollection {
    left: number;
    top: number;
    width: number;
    height: number;
}
/**
 *
 * @param {Event} e - The event object.
 * @param {any} args - Additional arguments passed to the event handler.
 * @hidden
 * @returns {void}
 */
export  class Signature {
    private pdfViewer;
    private pdfViewerBase;
    private mouseDetection;
    private mouseMoving;
    private canvasTouched;
    private signatureImageWidth;
    private signatureImageHeight;
    private oldX;
    private mouseX;
    private oldY;
    private mouseY;
    private imageSignatureDataUrl;
    private drawSignatureDataUrl;
    private newObject;
    /**
     * @private
     */
    outputString: string;
    /**
     * @private
     */
    drawOutputString: string;
    /**
     * @private
     */
    imageOutputString: string;
    /**
     * @private
     */
    signatureDialog: popups.Dialog;
    /**
     * @private
     */
    signaturecollection: any;
    /**
     * @private
     */
    outputcollection: any;
    /**
     * @private
     */
    signAnnotationIndex: any;
    /**
     * @private
     */
    fontName: string;
    private fontsign;
    private signfontStyle;
    private signtypevalue;
    private signfont;
    private signHeight;
    private signWidth;
    /**
     * @private
     */
    signaturetype: string;
    private tabObj;
    private isSaveSignature;
    private isSaveInitial;
    private isInitialFiledSaveSignature;
    private isSignatureFieldsSaveSignature;
    private issaveTypeSignature;
    private issaveImageSignature;
    private issaveTypeInitial;
    private issaveImageInitial;
    private saveSignatureTypeString;
    private saveInitialTypeString;
    private saveTypeString;
    private signatureTypeString;
    private initialTypeString;
    private saveUploadString;
    private saveSignatureUploadString;
    private saveInitialUploadString;
    private signatureUploadString;
    private initialUploadString;
    private clearUploadString;
    private textValue;
    private signatureDrawString;
    private initialDrawString;
    private signatureTextContentTop;
    private signatureTextContentLeft;
    private saveSignatureString;
    private saveInitialString;
    /**
     * @private
     */
    saveImageString: string;
    currentTarget: any;
    signatureFieldCollection: any;
    private signatureImageString;
    private initialImageString;
    /**
     * @private
     */
    maxSaveLimit: number;
    /**
     * @private
     */
    isAddAnnotationProgramatically: boolean;
    /**
     * Initialize the constructor of blazorUIadapater.
     *
     * @private
     * @param { PdfViewer } pdfViewer - Specified PdfViewer class.
     * @param { PdfViewerBase } pdfViewerBase - The pdfViewerBase.
     */
    constructor(pdfViewer: PdfViewer, pdfViewerBase: PdfViewerBase);
    /**
     * @private
     * @returns {void}
     */
    createSignaturePanel(): void;
    private setSignatureCanvasWidth;
    private drawSavedSignature;
    private drawSavedTypeSignature;
    private drawSavedImageSignature;
    private hideSignatureCheckbox;
    private saveSignatureCheckbox;
    private hideCheckboxParent;
    private saveSignatureImage;
    /**
     * @param {any} type - It describes about the type
     * @private
     * @returns {void}
     */
    addSignature(type?: any): void;
    /**
     * @param {any} data - It describes about the data
     * @param {boolean} isSignature - It describes about the whether the isSignature is true or not
     * @param {any} currentField - It describes about the current field
     * @param {any} currentData - It describes about the current data
     * @private
     * @returns {any} - any
     */
    updateSignatureAspectRatio(data: any, isSignature?: boolean, currentField?: any, currentData?: any): any;
    private calculateSignatureBounds;
    /**
     * @param {string} id - It describes about the id value
     * @private
     * @returns {void}
     */
    setFocus(id?: string): void;
    /**
     * @private
     * @returns {void}
     */
    removeFocus(): void;
    getSignField(): any[];
    getFormFieldSignField(): any[];
    private checkSaveFiledSign;
    private addSignatureInPage;
    private typeAddSignature;
    private imageAddSignature;
    private saveDrawSignature;
    private saveTypeSignature;
    private saveUploadSignature;
    private updateSignatureTypeValue;
    /**
     * @private
     * @returns {void}
     */
    hideSignaturePanel(): void;
    private bindTypeSignatureClickEvent;
    private bindDrawSignatureClickEvent;
    private typeSignatureclicked;
    private createSignatureCanvas;
    setCustomFonts(): void;
    private select;
    private handleSelectEvent;
    private enableCreateSignatureButton;
    private showHideSignatureTab;
    /**
     * @private
     * @returns {void}
     */
    createSignatureFileElement(): void;
    private uploadSignatureImage;
    private addStampImage;
    private renderSignatureText;
    private typeSignatureclick;
    /**
     * @param {any} bounds - It describes about the bounds value
     * @param {any} position - It describes about the position
     * @private
     * @returns {void}
     */
    addSignatureCollection(bounds?: any, position?: any): void;
    /**
     * @private]
     * @param {number} limit - The limit.
     * @returns {number} - Returns number.
     */
    getSaveLimit(limit: number): number;
    /**
     * @private
     * @returns {void}
     */
    RenderSavedSignature(): void;
    /**
     * @private
     * @returns {void}
     */
    updateCanvasSize(): void;
    private setTabItemWidth;
    private drawSignOnTabSwitch;
    private imageSignOnTabSwitch;
    private signaturePanelMouseDown;
    private enableCreateButton;
    private enableClearbutton;
    private signaturePanelMouseMove;
    private findMousePosition;
    private drawMousePosition;
    private drawSignatureInCanvas;
    private signaturePanelMouseUp;
    private signaturePanelMouseLeave;
    private convertToPath;
    private linePath;
    private movePath;
    /**
     * @param {any} type - It describes about the type
     * @private
     * @returns {void}
     */
    clearSignatureCanvas(type?: any): void;
    /**
     * @private
     * @returns {void}
     */
    closeSignaturePanel(): void;
    /**
     * @private
     * @returns {string} - Returns the string.
     */
    saveSignature(): string;
    /**
     *
     * @private
     * @returns {boolean}
     */
    checkDefaultFont(fontName: string): boolean;
    /**
     * @param {string} colorString - It describes about the color string value
     * @private
     * @returns {any} - any
     */
    getRgbCode(colorString: string): any;
    /**
     * @private
     * @param {number} left - The left.
     * @param {number} top - The top.
     * @returns {void}
     */
    renderSignature(left: number, top: number): void;
    /**
     * @param {any} annotationCollection - It describes about the annotation collection
     * @param {number} pageIndex - It describes about the page index
     * @param {boolean} isImport - It describes about the whether the isImport is true or not
     * @param {boolean} isLastAnnot - It describes about the whether the isLastAnnot is true or not
     * @private
     * @returns {void}
     */
    renderExistingSignature(annotationCollection: any, pageIndex: number, isImport: boolean, isLastAnnot?: boolean): void;
    /**
     * @param {number} pageNumber -It describes about the page number value
     * @param {any} annotations - It describes about the annotations
     * @private
     * @returns {void}
     */
    storeSignatureData(pageNumber: number, annotations: any): void;
    /**
     * @param {string} property - It describes about the property value
     * @param {number} pageNumber - It describes about the page number
     * @param {any} annotationBase - It describes about the annotation base
     * @param {boolean} isSignatureEdited - It describes about the whether the isSignatureEdited is true or not
     * @private
     * @returns {ISignAnnotation} - Isignannotation
     */
    modifySignatureCollection(property: string, pageNumber: number, annotationBase: any, isSignatureEdited?: boolean): ISignAnnotation;
    /**
     * @param {any} annotation - It describes about the annotation
     * @param {number} pageNumber - It describes about the page number
     * @private
     * @returns {void}
     */
    storeSignatureCollections(annotation: any, pageNumber: number): void;
    private checkSignatureCollection;
    /**
     * @param {any} signature - It describes about the signature
     * @private
     * @returns {void}
     */
    updateSignatureCollection(signature: any): void;
    /**
     * @param {number} pageNumber - It describes about the page number
     * @param {any} signature - It describes about the signature
     * @private
     * @returns {void}
     */
    addInCollection(pageNumber: number, signature: any): void;
    /**
     * @param {number} pageIndex - This is current page number
     * @param {any[]}  shapeAnnotations - This is annotations
     * @private
     * @returns {any[]}
     */
    getAnnotations(pageIndex: number, shapeAnnotations: any[]): any[];
    /**
     * @param {ISignAnnotation[]} pageAnnotations - This is annotation
     * @param {number}  pageNumber - This is current page number
     * @private
     * @returns {void}
     */
    manageAnnotations(pageAnnotations: ISignAnnotation[], pageNumber: number): void;
    /**
     * @private
     * @param {boolean} isShow - Returns the true or false.
     * @returns {void}
     */
    showSignatureDialog(isShow: boolean): void;
    /**
     * @private
     * @returns {void}
     */
    setAnnotationMode(): void;
    /**
     * @private
     * @returns {void}
     */
    setInitialMode(): void;
    /**
     * @param {any} number - Number value
     * @private
     * @returns {number} - number
     */
    ConvertPointToPixel(number: any): number;
    /**
     * @param {any} signature - It describes about the signature
     * @param {number} pageIndex - It describes about the page index
     * @param {boolean} isImport - It describes about the whether the isImport is true or not
     * @private
     * @returns {PdfAnnotationBaseModel} - PdfAnnotationBaseModel
     */
    updateSignatureCollections(signature: any, pageIndex: number, isImport?: boolean): any;
    /**
     * @private
     * @returns {void}
     */
    destroy(): void;
    /**
     * This method was used to add signature programmatically
     *
     * @param {HandWrittenSignatureSettings} annotationObject - It describes type of annotation object
     * @param {IPoint} offset - It describes about the signature bounds or location
     * @param {number} pageNumber - It describes about the signature page number
     * @returns {object} - object
     * @private
     */
    updateSignatureDetails(annotationObject: HandWrittenSignatureSettings, offset: IPoint, pageNumber: number): Object;
}
//node_modules/@syncfusion/ej2-pdfviewer/src/pdfviewer/base/pdfviewer-utlis.d.ts
/**
 *
 * @hidden
 */
export  class PdfViewerUtils {
    /**
     * It returns a boolean value.
     *
     * @param {string} text - It get the fontcollection.
     * @param {pdf.PdfTrueTypeFont} font - Get the font.
     * @private
     * @returns {boolean} - Return the boolean.
     */
    static isSupportedFont(text: string, font: pdf.PdfTrueTypeFont): boolean;
    /**
     * Checks if the given character is an escape sequence.
     *
     * @param {string} char - The character to be checked.
     * @private
     * @returns {boolean} - Returns true if the character is an escape sequence, otherwise false.
     */
    private static hasEscapeSequences;
    /**
     * It convert byte array to base64 string.
     *
     * @param {any} fontStream - It get the byte array.
     * @private
     * @returns {any} - Return the base64 string.
     */
    static processFontStream(fontStream: any): any;
    /**
     * @param {string} customFonts - Get the custom fonts.
     * @param {string} url - Get the url.
     * @returns {any} - It's return fontCollection
     * @private
     */
    static fetchCustomFonts(customFonts: string[], url: string): Promise<{
        [key: string]: Uint8Array;
    }>;
    /**
     * @param {any} fontCollection - Get the custom fonts collection.
     * @param {string} text - Get the font family.
     * @param {number} fontSize - Get the font size.
     * @param {pdf.PdfFontStyle} fontStyle - Get the font style.
     * @returns {any} - It's return fontCollection
     * @private
     */
    static tryGetFontFromKeys(fontCollection: {
        [key: string]: any;
    }, text: string, fontSize: number, fontStyle?: pdf.PdfFontStyle): (pdf.PdfTrueTypeFont | null);
    /**
     * @param {any} fallbackFontCollection - Get the custom fonts collection.
     * @param {string} fontFamily - Get the font family.
     * @returns {any} - It's return fontCollection
     * @private
     */
    static getFontKey(fallbackFontCollection: {
        [key: string]: any;
    }, fontFamily: string): string | undefined;
    /**
     * @param {string} color - Gets the color in hex RGBA pattern.
     * @returns {boolean} - It's return boolean
     * @private
     */
    static isHexRGBAAndTransparent(color: string): boolean;
    /**
     * @param {string} color - Gets the background color with transparency.
     * @returns {string} - It's return background color with transparency.
     * @private
     */
    static setTransparencyToHex(color: string): string;
    /**
     * @param {string} color - Gets the background color without transparency.
     * @returns {string} - It's return background color without transparency.
     * @private
     */
    static removeAlphaValueFromHex(color: string): string;
    private static fetchData;
    private static convertByteArrayToBase64;
    /**
     * @private
     * @param {number} value - It describes about the value
     * @returns {number} - number
     */
    static convertPixelToPoint(value: number): number;
    /**
     * Method to deep-shallow copy an object, only if it is a Proxy
     *
     * @private
     * @param {any} obj - Get the data of the next queued task.
     * @returns {any} - The copied object if it was a Proxy;
 otherwise, returns the original object.
     */
    static cloneProxy(obj: any): any;
    /**
     * Method to check if a value is a plain object (Proxy detection)
     *
     * @private
     * @param {any} value - Get the data of the next queued task.
     * @returns {boolean} - Returns true if the value is a Proxy;
 otherwise, false.
     */
    static isProxy(value: any): boolean;
    /**
     * @private
     * @returns {string} - string
     */
    static createGUID(): string;
    private static getRandomNumber;
}
/**
 *
 * @hidden
 */
export  class PdfViewerSessionStorage {
    private localStorage;
    /**
     * @private
     */
    enableLocalStorage: boolean;
    /**
     * @private
     */
    documentId: string;
    constructor(enableLocalStorage: boolean);
    /**
     * Method to set an item in either session or local storage
     *
     * @param {string} key - Get the key.
     * @param {string} value - Get the value.
     * @private
     * @returns {void}
     */
    setItem(key: string, value: string): void;
    /**
     * Method to get an item from either session or local storage
     *
     * @param {string} key - Get the key.
     * @private
     * @returns {any} - It's return the value.
     */
    getItem(key: string): string | null;
    /**
     * Method to remove an item from either session or local storage
     *
     * @param {string} key - Get the key.
     * @private
     * @returns {void}
     */
    removeItem(key: string): void;
    /**
     * Method to return the length of the storage
     *
     * @private
     * @returns {number} - return the length of the session.
     */
    getSessionLength(): number;
    /**
     * Method to return the key at the specified index
     *
     * @param {number} index - Get the index.
     * @private
     * @returns {any} - It's return the key value.
     */
    getKey(index: number): string | null;
    /**
     * Method to return the window session storage size.
     *
     * @private
     * @returns {any} - It's return the key value.
     */
    getWindowSessionStorageSize(): any;
    /**
     * Method to move all items from sessionStorage to localStorage
     *
     * @param {boolean} enableLocalStorage - Get the enableLocalStorage value.
     * @private
     * @returns {void}
     */
    migrateToLocalStorage(enableLocalStorage: boolean): void;
    /**
     * Method to clear all viewer items from sessionStorage and localStorage.
     *
     * @private
     * @returns {void}
     */
    clear(): void;
    private getRemovingItems;
}
/**
 *
 * @hidden
 */
export  enum TaskPriorityLevel {
    High = 1,
    Medium = 2,
    Low = 3
}
/**
 *
 * @hidden
 */
export  class PdfiumTaskScheduler {
    private worker;
    private taskQueue;
    private isProcessing;
    private pdfViewer;
    private functionManager;
    constructor(workerScript: any, pdfViewer: PdfViewer);
    /**
     * Method to add the given task into request for the worker
     *
     * @param {any} taskData - Get the task data.
     * @param {TaskPriorityLevel} priority - Get the priority level for the task.
     * @private
     * @returns {void}
     */
    addTask(taskData: any, priority: TaskPriorityLevel): void;
    /**
     * Method to request posted for the queue task
     *
     * @returns {void}
     */
    private processQueue;
    /**
     * Method to call on message for the worker
     *
     * @param {string} key - Get the key value for the method function.
     * @param {any} method - Get the method for the onmessage.
     * @private
     * @returns {void}
     */
    onMessage(key: string, method: (event: any) => void): void;
    /**
     * Method to terminate the worker
     *
     * @private
     * @returns {void}
     */
    terminate(): void;
}
//node_modules/@syncfusion/ej2-pdfviewer/src/pdfviewer/base/pdfviewer-base.d.ts
/**
 * The `ISize` module is used to handle page size property of PDF viewer.
 *
 * @hidden
 */
export interface ISize {
    width: number;
    height: number;
    top: number;
    rotation?: number;
}
/**
 * The `IPinchZoomStorage` module is used to handle pinch zoom storage of PDF viewer.
 *
 * @hidden
 */
export interface IPinchZoomStorage {
    index: number;
    pinchZoomStorage: object;
}
/**
 * The `IAnnotationCollection` module is used to handle page size property of PDF viewer.
 *
 * @hidden
 */
export interface IAnnotationCollection {
    textMarkupAnnotation: object;
    shapeAnnotation: object;
    measureShapeAnnotation: object;
    stampAnnotations: object;
    stickyNotesAnnotation: object;
    freeTextAnnotation: object;
    signatureAnnotation?: object;
    signatureInkAnnotation?: object;
}
/**
 * @hidden
 */
interface ICustomStampItems {
    customStampName: string;
    customStampImageSource: string;
}
export  class PdfViewerBase {
    /**
     * @private
     */
    hyperlinkAndLinkAnnotation: any;
    /**
     * @private
     */
    pageTextDetails: any;
    /**
     * @private
     */
    pageImageDetails: any;
    /**
     * @private
     */
    viewerContainer: HTMLElement;
    /**
     * @private
     */
    contextMenuModule: IContextMenu;
    /**
     * @private
     */
    documentPathByteArray: string | Uint8Array;
    /**
     * @private
     */
    pageSize: ISize[];
    /**
     * @private
     */
    existingFieldImport: boolean;
    /**
     * @private
     */
    pageCount: number;
    /**
     * @private
     */
    customZoomValues: any[];
    /**
     * @private
     */
    isReRenderRequired: boolean;
    /**
     * @private
     */
    currentPageNumber: number;
    private previousZoomValue;
    private initialZoomValue;
    /**
     * @private
     */
    activeElements: ActiveElements;
    /**
     * @private
     */
    mouseDownEvent: Event;
    /**
     * @private
     */
    accessibilityTags: AccessibilityTags;
    /**
     * @private
     */
    textLayer: TextLayer;
    /**
     * @private
     */
    pdfViewer: PdfViewer;
    /**
     *
     * @private
     */
    pngData: any[];
    /**
     * @private
     */
    blazorUIAdaptor: BlazorUiAdaptor;
    private unload;
    /**
     * @private
     */
    isDocumentLoaded: boolean;
    /**
     * @private
     */
    documentId: string;
    /**
     * @private
     */
    jsonDocumentId: string;
    /**
     * @private
     */
    renderedPagesList: number[];
    /**
     * @private
     */
    pageGap: number;
    /**
     * @private
     */
    signatureAdded: boolean;
    /**
     * @private
     */
    isSignInitialClick: boolean;
    /**
     * @private
     */
    loadedData: string;
    /**
     * @private
     */
    isFreeTextSelected: boolean;
    /**
     * @private
     */
    formfieldvalue: any;
    private pageLeft;
    private sessionLimit;
    private pageStopValue;
    /**
     * @private
     */
    toolbarHeight: number;
    private pageLimit;
    private previousPage;
    private isViewerMouseDown;
    private isViewerMouseWheel;
    private scrollPosition;
    private sessionStorage;
    /**
     * @private
     */
    static sessionStorageManager: PdfViewerSessionStorage;
    /**
     * @private
     */
    pageContainer: HTMLElement;
    /**
     * @private
     */
    isLoadedFormFieldAdded: boolean;
    private scrollHoldTimer;
    private isFileName;
    private isInkAnnot;
    private modifiedPageIndex;
    private pointerCount;
    private pointersForTouch;
    private corruptPopup;
    /**
     * @private
     */
    passwordPopup: popups.Dialog;
    private goToPagePopup;
    /**
     * @private
     */
    isPasswordAvailable: boolean;
    /**
     * @private
     */
    isBounds: boolean;
    /**
     * @private
     */
    isImportDoc: boolean;
    private document;
    /**
     * @private
     */
    passwordData: string;
    /**
     * @private
     */
    reRenderedCount: number;
    private passwordInput;
    private promptElement;
    /**
     * @private
     */
    navigationPane: NavigationPane;
    private mouseX;
    private mouseY;
    /**
     * @private
     */
    mouseLeft: number;
    /**
     * @private
     */
    mouseTop: number;
    /**
     * @private
     */
    hashId: string;
    private documentLiveCount;
    /**
     * @private
     */
    mainContainer: HTMLElement;
    /**
     * @private
     */
    viewerMainContainer: HTMLElement;
    private printMainContainer;
    /**
     * @private
     */
    mobileScrollerContainer: HTMLElement;
    /**
     * @private
     */
    mobilePageNoContainer: HTMLElement;
    /**
     * @private
     */
    mobileSpanContainer: HTMLElement;
    /**
     * @private
     */
    mobilecurrentPageContainer: HTMLElement;
    private mobilenumberContainer;
    private mobiletotalPageContainer;
    private touchClientX;
    private touchClientY;
    private previousTime;
    private currentTime;
    private isTouchScrolled;
    private isgetFocused;
    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: AjaxHandler;
    private unloadRequestHandler;
    private dowonloadRequestHandler;
    private pageRequestHandler;
    private textRequestHandler;
    private virtualLoadRequestHandler;
    private exportAnnotationRequestHandler;
    private exportFormFieldsRequestHandler;
    private annotationPageList;
    /**
     * @private
     */
    /**
     * @private
     */
    isImportAction: boolean;
    private isImportedAnnotation;
    /**
     * @private
     */
    isAnnotationCollectionRemoved: boolean;
    /**
     * @private
     */
    tool: ToolBase;
    action: any;
    /**
     * @private
     */
    eventArgs: MouseEventArgs;
    /**
     * @private
     */
    inAction: boolean;
    /**
     * @private
     */
    isMouseDown: boolean;
    /**
     * @private
     */
    isStampMouseDown: boolean;
    /**
     * @private
     */
    currentPosition: drawings.PointModel;
    /**
     * @private
     */
    prevPosition: drawings.PointModel;
    private initialEventArgs;
    /**
     * @private
     */
    stampAdded: boolean;
    /**
     * @private
     */
    customStampCount: number;
    /**
     * @private
     */
    isDynamicStamp: boolean;
    /**
     * @private
     */
    isMixedSizeDocument: boolean;
    /**
     * @private
     */
    highestWidth: number;
    /**
     * @private
     */
    highestHeight: number;
    /**
     * @private
     */
    customStampCollection: ICustomStampItems[];
    /**
     * @private
     */
    isAlreadyAdded: boolean;
    /**
     * @private
     */
    isWebkitMobile: boolean;
    /**
     * @private
     */
    isFreeTextContextMenu: boolean;
    /**
     * @private
     */
    signatureModule: Signature;
    /**
     * @private
     */
    isSelection: boolean;
    /**
     * @private
     */
    isAddAnnotation: boolean;
    /**
     * @private
     */
    annotationComments: any;
    /**
     * @private
     */
    isToolbarSignClicked: boolean;
    /**
     * @private
     */
    signatureCount: number;
    /**
     * @private
     */
    isSignatureAdded: boolean;
    /**
     * @private
     */
    isNewSignatureAdded: boolean;
    /**
     * @private
     */
    currentSignatureAnnot: any;
    /**
     * @private
     */
    isInitialPageMode: boolean;
    /**
     * @private
     */
    ajaxData: any;
    /**
     * @private
     */
    documentAnnotationCollections: any;
    /**
     * @private
     */
    annotationRenderredList: number[];
    /**
     * @private
     */
    annotationStorage: any;
    /**
     * @private
     */
    formFieldStorage: any;
    /**
     * @private
     */
    isStorageExceed: boolean;
    /**
     * @private
     */
    isFormStorageExceed: boolean;
    /**
     * @private
     */
    isNewStamp: boolean;
    /**
     * @private
     */
    downloadCollections: any;
    /**
     * @private
     */
    isAnnotationAdded: boolean;
    /**
     * @private
     */
    annotationEvent: any;
    /**
     * @private
     */
    isAnnotationDrawn: boolean;
    /**
     * @private
     */
    isAnnotationSelect: boolean;
    /**
     * @private
     */
    isAnnotationMouseDown: boolean;
    /**
     * @private
     */
    isAnnotationMouseMove: boolean;
    /**
     * @private
     */
    validateForm: boolean;
    /**
     * @private
     */
    isMinimumZoom: boolean;
    /**
     * @private
     */
    documentLoaded: boolean;
    private tileRenderCount;
    private tileRequestCount;
    /**
     * @private
     */
    isTileImageRendered: boolean;
    private isDataExits;
    private requestLists;
    private tilerequestLists;
    private textrequestLists;
    private renderThumbnailImages;
    /**
     * @private
     */
    pageRenderCount: number;
    /**
     * @private
     */
    isToolbarInkClicked: boolean;
    /**
     * @private
     */
    isInkAdded: boolean;
    /**
     * @private
     */
    inkCount: number;
    /**
     * @private
     */
    isAddedSignClicked: boolean;
    /**
     * @private
     */
    imageCount: number;
    /**
     * @private
     */
    isMousedOver: boolean;
    /**
     * @private
     */
    isFormFieldSelect: boolean;
    /**
     * @private
     */
    isFormFieldMouseDown: boolean;
    /**
     * @private
     */
    isFormFieldMouseMove: boolean;
    /**
     * @private
     */
    isFormFieldMousedOver: boolean;
    /**
     * @private
     */
    isPassword: boolean;
    /**
     * @private
     */
    digitalSignaturePages: number[];
    private isDigitalSignaturePresent;
    /**
     * @private
     */
    restrictionList: any;
    private isDrawnCompletely;
    /**
     * @private
     */
    isAddComment: boolean;
    /**
     * @private
     */
    isCommentIconAdded: boolean;
    /**
     * @private
     */
    currentTarget: any;
    /**
     * @private
     */
    private fromTarget;
    /**
     * @private
     */
    drawSignatureWithTool: boolean;
    /**
     * @private
     */
    formFieldCollection: any[];
    /**
     * @private
     */
    requestCollection: any[];
    /**
     * @private
     */
    nonFillableFields: any;
    /**
     * @private
     */
    pdfViewerRunner: PdfiumTaskScheduler;
    /**
     * @private
     */
    isInitialField: boolean;
    /**
     * @private
     */
    isTouchDesignerMode: boolean;
    /**
     * @private
     */
    designerModetarget: any;
    /**
     * @private
     */
    isPrint: boolean;
    /**
     * @private
     */
    isPDFViewerJson: boolean;
    /**
     * @private
     */
    isJsonImported: boolean;
    /**
     * @private
     */
    isJsonExported: boolean;
    /**
     * @private
     */
    isPageRotated: boolean;
    preventContextmenu: boolean;
    private downloadFileName;
    /**
     * @private
     */
    isFocusField: boolean;
    /**
     * @private
     */
    isTouchPad: boolean;
    /**
     * @private
     */
    isMacGestureActive: boolean;
    /**
     * @private
     */
    macGestureStartScale: number;
    /**
     * @private
     */
    zoomInterval: number;
    /**
     * @private
     */
    isTaggedPdf: boolean;
    private accessibilityTagsHandler;
    private accessibilityTagsCollection;
    private pageRequestListForAccessibilityTags;
    private enableAccessibilityMultiPageRequest;
    /**
     * @private
     */
    clientSideRendering: boolean;
    /**
     * @private
     */
    focusField: any;
    /**
     * @private
     */
    isPasswordProtected: boolean;
    private isMoving;
    /**
     * EJ2CORE-813 - This flag is represent current device is 'iPad' or 'iPhone' or'iPod' device.
     *
     * @private
     */
    isDeviceiOS: boolean;
    /**
     * @private
     */
    isMacSafari: boolean;
    private globalize;
    /**
     * @private
     */
    isSkipDocumentPath: boolean;
    private isScrollerMoving;
    private isScrollerMovingTimer;
    /**
     * @private
     */
    isMessageBoxOpen: boolean;
    private notifyDialog;
    /**
     * @private
     */
    previousScrollbarWidth: number;
    /**
     * Initialize the constructor of PDFViewerBase
     *
     * @param { PdfViewer } viewer - Specified PdfViewer class.
     */
    constructor(viewer: PdfViewer);
    /**
     * @private
     * @returns {void}
     */
    initializeComponent(): void;
    private createMobilePageNumberContainer;
    /**
     * @private
     * @param  {string} documentData - file name or base64 string.
     * @param {string} password - password of the PDF document.
     * @param  {boolean} isSkipDocumentId - It indicates whether we need to skip removing the jsonDocumentId
     * @returns {void}
     */
    initiatePageRender(documentData: any, password: string, isSkipDocumentId?: boolean): void;
    /**
     * @param {string} documentId - It describes about the document id
     * @param {boolean} isFileName - It describes about the whether isFileName is true or not
     * @param {string} fileName - It describes about the file name
     * @private
     * @returns {void}
     */
    initiateLoadDocument(documentId: string, isFileName: boolean, fileName: string): void;
    /**
     * @param {string} base64 - It describes about the base64
     * @private
     * @returns {Uint8Array} - Uint8Array
     */
    convertBase64(base64: string): Uint8Array;
    /**
     * @param {any} documentDetails - It describes about the document details
     * @param {string} password - It describes about the password
     * @private
     * @returns {void}
     */
    loadSuccess(documentDetails: any, password?: string): void;
    private mobileScrollContainerDown;
    /**
     * @private
     * @param {MouseEvent} e - default mouse event.
     * @returns {drawings.PointModel} - retuns the bounds.
     */
    relativePosition(e: MouseEvent): drawings.PointModel;
    /**
     * Gets the annotation canvas for a given annotation ID and page index.
     *
     * @param {string} id - The unique identifier of the annotation.
     * @param {number} pageIndex - The index of the page containing the annotation.
     * @private
     * @returns {HTMLElement} - The HTML canvas element for the annotation. If the canvas is not found, a new annotation layer is created and returned.
     */
    getAnnotationCanvas(id: string, pageIndex: number): HTMLElement;
    /**
     * @param {HTMLElement} pageDiv - pageDiv
     * @param {number} pageWidth - pageWidth
     * @param {number} pageHeight - pageHeight
     * @param {number} pageNumber - pageNumber
     * @param {string} displayMode - displayMode
     * @private
     * @returns {HTMLElement} - htmlelement
     */
    createAnnotationLayer(pageDiv: HTMLElement, pageWidth: number, pageHeight: number, pageNumber: number, displayMode?: string): HTMLElement;
    private setMaximumHeight;
    private applyViewerHeight;
    /**
     * @param {HTMLElement} canvas - canvas
     * @param {number} pageWidth - pageWidth
     * @param {number} pageHeight - pageHeight
     * @param {number} pageNumber - pageNumber
     * @private
     * @returns {void}
     */
    updateCanvas(canvas: HTMLCanvasElement, pageWidth: number, pageHeight: number, pageNumber: number): void;
    /**
     * @private
     * @returns {void}
     */
    updateWidth(): void;
    /**
     * @private
     * @returns {void}
     */
    updateHeight(): void;
    /**
     * @private
     * @returns {void}
     */
    updateViewerContainer(): void;
    private updateViewerContainerSize;
    private mobileScrollContainerEnd;
    /**
     * @private
     * @param {any} data - data.
     * @returns {boolean} - boolean
     */
    checkRedirection(data: any): boolean;
    /**
     * @param {string} input - Gets the input
     * @private
     * @returns {Promise<string | null>} - promise
     */
    getPdfByteArray(input: string): Promise<any | null>;
    /**
     * @param {string} input - Gets the input
     * @private
     * @returns {Promise<string | null>} - promise
     */
    getPdfBase64(input: string): Promise<string | null>;
    private isValidPDFBase64;
    private isUrl;
    private isBase64;
    private identifyDataType;
    private createAjaxRequest;
    private invalidFilePopup;
    private updateFormFieldName;
    /**
     * @param {string} text - The text.
     * @returns {void}
     * @private
     */
    createNotificationPopup(text: string): void;
    /**
     * @returns {void}
     */
    private closeNotification;
    /**
     * @private
     * @param {string} errorString - The message to be displayed.
     * @returns {void}
     */
    openNotificationPopup(errorString?: string): void;
    /**
     * @private
     * @param {string} errorString - The message to be shown.
     * @returns {void}
     */
    showNotificationPopup(errorString: string): void;
    private requestSuccess;
    private RestrictionEnabled;
    private EnableRestriction;
    private pageRender;
    private loadPage;
    private initialPagesRenderedForSign;
    private removeTrailingNumber;
    private initialPagesRendered;
    /**
     * @private
     * @param {string} documentData - It gets the document data
     * @param {string} password - It gets the password
     * @param {boolean} isImportDoc - It gets whether the isImportDoc is true or false
     * @returns {void}
     */
    renderPasswordPopup(documentData: string | Uint8Array, password: string, isImportDoc: boolean): void;
    /**
     * @private
     * @returns {void}
     */
    renderCorruptPopup(isImportDoc: boolean): void;
    /**
     * @param {string} documentData - It gets the document data
     * @param {string} password - It gets the password
     * @param {boolean} isBase64String - It gets whether the isBase64String is true or not
     * @private
     * @returns {Object} - Object
     */
    constructJsonObject(documentData: string | Uint8Array, password: string, isBase64String?: boolean): object;
    /**
     * @private
     * @param {string} documentData - It describes about the document data
     * @param  {boolean} isSkipDocumentId - It indicates whether we need to skip removing the jsonDocumentId
     * @returns {string} - string
     */
    checkDocumentData(documentData: string, isSkipDocumentId?: boolean): string;
    private setDocumentName;
    private setFileName;
    private saveDocumentInfo;
    private saveDocumentHashData;
    /**
     * @private
     * @param {any} input - It is the value of the signature
     * @returns {any} - any
     */
    signatureValue(input: any): any;
    private saveFormfieldsData;
    /**
     * @param {boolean} isEnable - Enable or disable the toolbar itema.
     * @returns {void}
     * @private
     */
    enableFormFieldButton(isEnable: boolean): void;
    private updateWaitingPopup;
    /**
     * @param {boolean} isPageNumber - It describes about the whether isPageNumber true or not
     * @private
     * @returns {number} - returned the page value.
     */
    getActivePage(isPageNumber?: boolean): number;
    private createWaitingPopup;
    private showLoadingIndicator;
    private spinnerPosition;
    /**
     * @param {number} pageIndex - It describes about the page index
     * @param {boolean} isShow - Show or hide page loading indicator.
     * @returns {void}
     * @private
     */
    showPageLoadingIndicator(pageIndex: number, isShow: boolean): void;
    /**
     * @param {boolean} isShow - Show or hide print loading indicator.
     * @returns {void}
     * @private
     */
    showPrintLoadingIndicator(isShow: boolean): void;
    /**
     * @param {HTMLElement} element - specifies the element.
     * @returns {void}
     * @private
     */
    setLoaderProperties(element: HTMLElement): void;
    /**
     * @param {number} pageNumber - Specify the pageNumber.
     * @param {boolean} needToScroll - Ensure need to scroll or not
     * @returns {void}
     * @private
     */
    updateScrollTop(pageNumber: number, needToScroll?: boolean): void;
    /**
     * @private
     * @returns {number} - Returns the zoom factor value.
     */
    getZoomFactor(): number;
    /**
     * @private
     * @returns {number} - Get the custom zoom values
     */
    getCustomZoomValues(): void;
    /**
     * @private
     * @returns {boolean} - Returns whether the pinch zoom is performed or not.
     */
    getPinchZoomed(): boolean;
    /**
     * @private
     * @returns {boolean} -Returns whether the zoom is performed or not.
     */
    getMagnified(): boolean;
    private getPinchScrolled;
    private getPagesPinchZoomed;
    private getPagesZoomed;
    private getRerenderCanvasCreated;
    /**
     * @private
     * @returns {string} - retrun the docuumentid.
     */
    getDocumentId(): string;
    /**
     * @private
     * @returns {void}
     */
    download(): void;
    /**
     * @private
     * @returns {promise<Blob>} - Returns the blob object.
     */
    saveAsBlob(): Promise<Blob>;
    private fireCustomCommands;
    private getModifiers;
    private saveAsBlobRequest;
    private saveAsBlobFile;
    /**
     * @param {boolean} isTriggerEvent - check to trigger the event.
     * @returns {void}
     * @private
     */
    clear(isTriggerEvent: boolean): void;
    /**
     * @private
     * @returns {void}
     */
    destroy(): void;
    /**
     * @param {PdfViewerBase} proxy - PdfviewerBase class.
     * @returns {void}
     * @private
     */
    unloadDocument(proxy: PdfViewerBase): void;
    private clearCache;
    private setUnloadRequestHeaders;
    private windowSessionStorageClear;
    private updateCommentPanel;
    /**
     * @param {boolean} isMouseDown - check whether the mouse down is triggered.
     * @returns {void}
     * @private
     */
    focusViewerContainer(isMouseDown?: boolean): void;
    private getScrollParent;
    private createCorruptedPopup;
    /**
     * @private
     * @returns {void}
     */
    hideLoadingIndicator(): void;
    private closeCorruptPopup;
    private createPrintPopup;
    private createGoToPagePopup;
    private closeGoToPagePopUp;
    private EnableApplyButton;
    private DisableApplyButton;
    private GoToPageCancelClick;
    private GoToPageApplyClick;
    /**
     * @private
     * @returns {void}
     */
    updateMobileScrollerPosition(): void;
    private createPasswordPopup;
    private passwordCancel;
    private passwordCancelClick;
    /**
     * @private
     * @returns {void}
     */
    passwordDialogReset(): void;
    /**
     * @private
     * @returns {void}
     */
    applyPassword(): void;
    private createFileInputElement;
    private wireEvents;
    private unWireEvents;
    /**
     * @returns {void}
     */
    private clearSessionStorage;
    /**
     * @private
     * @param {MouseEvent} event - Mouse event.
     * @returns {void}
     */
    onWindowResize: (event?: MouseEvent) => void;
    /**
     * @private
     * @returns {void}
     */
    updateZoomValue(): void;
    /**
     * @private
     * @param {any} annotation - The annotation type of any.
     * @returns {void}
     */
    updateFreeTextProperties(annotation: any): void;
    /**
     * @param {MouseEvent} event - The MouseEvent.
     * @returns {void}
     */
    private viewerContainerOnMousedown;
    /**
     * @private
     * @param {MouseEvent} event - The mouse event.
     * @returns {void}
     */
    mouseDownHandler(event: MouseEvent): void;
    /**
     * @private
     * @param {string} selectedMenu - The selected menu.
     * @returns {void}
     */
    OnItemSelected(selectedMenu: string): void;
    private CommentItemSelected;
    private ScaleRatioSelected;
    private DeleteItemSelected;
    private pasteItemSelected;
    private CutItemSelected;
    private CopyItemSelected;
    private PropertiesItemSelected;
    private TextMarkUpSelected;
    private shapeMenuItems;
    /**
     * @param {string} text - It describes about the text
     * @private
     * @returns {boolean} - boolean
     */
    checkIsRtlText(text: string): boolean;
    /**
     * @private
     * @param {any} event - Specifies the event.
     * @returns {boolean} - retruned the beolean value.
     */
    isClickWithinSelectionBounds(event: any): boolean;
    private getHorizontalClientValue;
    private getVerticalClientValue;
    private getHorizontalValue;
    private getVerticalValue;
    /**
     * @private
     * @returns {boolean} - retruned the beolean value.
     */
    checkIsNormalText(): boolean;
    /**
     * @param {MouseEvent} event - The MouseEvent.
     * @returns {void}
     */
    private viewerContainerOnMouseup;
    /**
     * @param {any} event - The Wheel event.
     * @returns {void}
     */
    private detectTouchPad;
    /**
     * @param {any} event - The Wheel event.
     * @returns {void}
     */
    private handleMacGestureStart;
    /**
     * @param {any} event - The Wheel event.
     * @returns {void}
     */
    private handleMacGestureChange;
    /**
     * @param {any} event - The Wheel event.
     * @returns {void}
     */
    private handleMacGestureEnd;
    /**
     * @param {WheelEvent} event - The MouseEvent.
     * @returns {void}
     */
    private viewerContainerOnMouseWheel;
    /**
     * @param {KeyboardEvent} event - The KeyboardEvent.
     * @returns {void}
     */
    private onWindowKeyDown;
    /**
     * @param {KeyboardEvent} event - The KeyboardEvent.
     * @returns {void}
     */
    private viewerContainerOnKeyDown;
    private isTextSearchBoxOpen;
    private isTargetClassNameValid;
    private DeleteKeyPressed;
    /**
     * @param {MouseEvent} event - The MouseEvent.
     * @returns {void}
     */
    private viewerContainerOnMousemove;
    /**
     * @param {MouseEvent} event - The MouseEvent.
     * @returns {void}
     */
    private panOnMouseMove;
    /**
     * @private
     * @returns {void}
     */
    initiatePanning(): void;
    /**
     * @private
     * @returns {void}
     */
    initiateTextSelectMode(): void;
    /**
     * @private
     * @returns {void}
     */
    initiateTextSelection(): void;
    private enableAnnotationAddTools;
    /**
     * @param {MouseEvent} event - The MouseEvent.
     * @returns {void}
     */
    private viewerContainerOnMouseLeave;
    /**
     * @param {MouseEvent} event - The MouseEvent.
     * @returns {void}
     */
    private viewerContainerOnMouseEnter;
    /**
     * @param {MouseEvent} event - The MouseEvent.
     * @returns {void}
     */
    private viewerContainerOnMouseOver;
    /**
     * @param {MouseEvent} event - The MouseEvent.
     * @returns {void}
     */
    private viewerContainerOnClick;
    private applySelection;
    /**
     * @param {DragEvent} event - The DragEvent.
     * @returns {void}
     */
    private viewerContainerOnDragStart;
    private viewerContainerOnContextMenuClick;
    private onWindowMouseUp;
    /**
     * @param {TouchEvent} event - The DragEvent.
     * @returns {void}
     */
    private onWindowTouchEnd;
    /**
     * @param {TouchEvent} event - The TouchEvent.
     * @returns {void}
     */
    private viewerContainerOnTouchStart;
    private isDesignerMode;
    private handleTaps;
    private handleTextBoxTaps;
    private onTextBoxDoubleTap;
    private onSingleTap;
    private onDoubleTap;
    /**
     * @param {TouchEvent} event - The TouchEvent.
     * @returns {void}
     */
    private viewerContainerOnLongTouch;
    /**
     * @param {PointerEvent} event - The PointerEvent.
     * @returns {void}
     */
    private viewerContainerOnPointerDown;
    private preventTouchEvent;
    /**
     * @param {TouchEvent} event - The TouchEvent.
     * @returns {void}
     */
    private viewerContainerOnTouchMove;
    /**
     * @param {PointerEvent} event - The TouchEvent.
     * @returns {void}
     */
    private viewerContainerOnPointerMove;
    /**
     * @param {TouchEvent} event - The TouchEvent.
     * @returns {void}
     */
    private viewerContainerOnTouchEnd;
    private renderStampAnnotation;
    /**
     * @param {PointerEvent} event - The PointerEvent.
     * @returns {void}
     */
    private viewerContainerOnPointerEnd;
    private focusOnViewerContainer;
    private initPageDiv;
    private renderPageContainerLimit;
    private pageSizeCollection;
    private getPageLimit;
    private renderElementsVirtualScroll;
    private renderPageElement;
    private renderPagesVirtually;
    private initiateRenderPagesVirtually;
    private viritualload;
    private tileRenderPage;
    private renderTileCanvas;
    private calculateImageWidth;
    private renderPage;
    private updateAnnotationsAndState;
    private isNeedToRenderAnnotations;
    private isFormFieldsNeedtoRender;
    private onPageRender;
    private removeInkFromAnnotCollection;
    private canReduse;
    private isBoundsAreEqual;
    private removeAnnotFromDoc;
    private isGroupedSignatureFields;
    /**
     * @private
     * @param {any} fieldArray - The form field bounds.
     * @param {any} signArray - The annotation bounds.
     * @returns {boolean} - Returns true or false.
     */
    isSignatureWithInRect(fieldArray: any, signArray: any): boolean;
    /**
     * @private
     * @param {any} bounds - The form field or annotation bounds.
     * @returns {any} - Returns bounds.
     */
    canvasRectArray(bounds: any): any;
    private isFormFieldSignature;
    private canUpdateSignCollection;
    /**
     * @private
     * @param {number} pageIndex - page index for rendering the annotation.
     * @param {any} annotationsCollection -It describes about the annotations collection
     * @param {boolean} isAddedProgrammatically - It describes about the whether the isAddedProgrammatically true or not
     * @returns {Promise<void>} - any
     */
    renderAnnotations(pageIndex: number, annotationsCollection: any, isAddedProgrammatically?: boolean): Promise<void>;
    private renderTextContent;
    private renderAccessibilityTags;
    private returnPageListForAccessibilityTags;
    private createRequestForAccessibilityTags;
    private renderPageContainer;
    private renderPDFInformations;
    private orderPageDivElements;
    /**
     * @param {HTMLElement} pageDiv - It describes about the page div
     * @param {number} pageWidth - It describes about the page width
     * @param {number} pageHeight - It describes about the page heigght
     * @param {number} pageNumber - It describes about the page number
     * @param {string} displayMode - It describes about the display mode
     * @private
     * @returns {any} - any
     */
    renderPageCanvas(pageDiv: HTMLElement, pageWidth: number, pageHeight: number, pageNumber: number, displayMode: string): any;
    /**
     * @private
     * @param {any} pageCanvas - The canvas for rendering the page.
     * @param {any} pageNumber - The page number for adding styles.
     * @returns {void}
     */
    applyElementStyles(pageCanvas: any, pageNumber: number): void;
    /**
     * @private
     * @param  {number} pageIndex - page index for updating positon.
     * @returns {void}
     */
    updateLeftPosition(pageIndex: number): number;
    /**
     * @private
     * @param {number} pageIndex - The page index for positon.
     * @returns {void}
     */
    applyLeftPosition(pageIndex: number): void;
    private updatePageHeight;
    private viewerContainerOnScroll;
    /**
     * @private
     * @param {drawings.Point} clientPoint - The user should provide a x, y coordinates.
     * @returns {number} - number
     */
    getPageNumberFromClientPoint(clientPoint: drawings.Point): number;
    /**
     * @private
     * @param {drawings.Point} clientPoint - The user should provide a x, y coordinates.
     * @param {number} pageNumber - We need to pass pageNumber.
     * @returns {drawings.Point} - point
     */
    convertClientPointToPagePoint(clientPoint: drawings.Point, pageNumber: number): drawings.Point;
    /**
     * @private
     * @param {drawings.Point} pagePoint - The user needs to provide a page x, y position.
     * @param {number} pageNumber - We need to pass pageNumber.
     * @returns {drawings.Point} - point
     */
    convertPagePointToClientPoint(pagePoint: any, pageNumber: number): drawings.Point;
    /**
     * @private
     * @param {drawings.Point} pagePoint - The user needs to provide a page x, y position.
     * @param {number} pageNumber - We need to pass pageNumber.
     * @returns {drawings.Point} - point
     */
    convertPagePointToScrollingPoint(pagePoint: any, pageNumber: number): drawings.Point;
    private initiatePageViewScrollChanged;
    private renderCountIncrement;
    /**
     * @private
     * @param {number} currentPageNumber - The current pagenumber.
     * @returns {void}
     */
    pageViewScrollChanged(currentPageNumber: number): void;
    private renderPreviousPagesInScroll;
    private downloadDocument;
    private downloadExportFormat;
    /**
     * @private
     * @param {string} data - The data for exporting the fields.
     * @param {FormFieldDataFormat} formFieldDataFormat - It describes about the form fiels data format
     * @returns {void}
     */
    exportFormFields(data?: string, formFieldDataFormat?: FormFieldDataFormat): void;
    /**
     * @param {string} data - It describes about the data value
     * @param {FormFieldDataFormat} formFieldDataFormat - It describes about the form field data format
     * @private
     * @returns {void}
     */
    /**
     * @param {boolean} isObject - It ensures whether the isObject is true or not
     * @param {FormFieldDataFormat} formFieldDataFormat - This describes about the form field data format
     * @param {string} data - The data for exporting the fields.
     * @private
     * @returns {any} - any
     */
    createRequestForExportFormfields(isObject?: boolean, formFieldDataFormat?: FormFieldDataFormat, data?: string): any;
    private exportFileDownload;
    /**
     * @param {string} fileName - Gets the name of the file name for slicing the last index
     * @param {string} sliceBy - A type to slice the file name;
 example (".", "_")
     * @private
     * @returns {string} - string
     */
    getLastIndexValue(fileName: string, sliceBy: string): string;
    /**
     * @param {any} source - It describes about the source
     * @param {FormFieldDataFormat} formFieldDataFormat - It describes about the form field data format
     * @private
     * @returns {void}
     */
    createRequestForImportingFormfields(source: any, formFieldDataFormat: FormFieldDataFormat): void;
    /**
     * @public
     * @returns {any} - Returns the Json data.
     */
    createFormfieldsJsonData(): any;
    private constructJsonDownload;
    /**
     * @param {string} annotationInfo - It describes about the annotation info
     * @private
     * @returns {boolean} - Returns whether annotation is present.
     */
    private isAnnotationsExist;
    /**
     * @param {string} fieldsData - It describes about the fields data
     * @private
     * @returns {boolean} - Returns whether fields data is present.
     */
    private isFieldsDataExist;
    /**
     * @private
     * @returns {boolean} - Returns annotations page number list.
     */
    private getAnnotationsPageList;
    /**
     * @param {string} formDesignerData - It describes about the form designer data
     * @private
     * @returns {boolean} - Returns form fields page number list.
     */
    private getFormFieldsPageList;
    /**
     * @private
     * @param {string} annotationID - The annotationID.
     * @returns {any} - Returns collection of type.
     */
    checkFormFieldCollection(annotationID: string): boolean;
    /**
     * @private
     * @returns {boolean} - Returns whether freetext module is enabled.
     */
    isFreeTextAnnotationModule(): boolean;
    private createRequestForDownload;
    /**
     * @param {string} data - It describes about the download file data
     * @param {PdfViewerBase} proxy - It describes about the current instance
     * @param {boolean} isOrganizeSaveAsRequest - It describes about the request is from Organize PDF window
     * @private
     * @returns {void}
     */
    fileDownload(data: any, proxy: PdfViewerBase, isOrganizeSaveAsRequest?: boolean): void;
    /**
     * @param {any} pageWidth - It describes about the page width
     * @param {any} pageHeight - It describes about the page height
     * @private
     * @returns {number} - number
     */
    getTileCount(pageWidth: any, pageHeight: any): number;
    private createRequestForRender;
    private pageRequestOnSuccess;
    /**
     * @param {any} data - It gets the data
     * @param {number} pageIndex - It describes about the page index
     * @private
     * @returns {void}
     */
    pageTextRequestSuccess(data: any, pageIndex: number): void;
    private pageTextRequestOnSuccess;
    /**
     * @param {number} pageIndex - It describes about the page index
     * @param {any} annotationObject - It describes about the annotation object
     * @private
     * @returns {void}
     */
    requestForTextExtraction(pageIndex: number, annotationObject?: any): void;
    /**
     * @private
     * @param {any} data - It gets the data
     * @param { number} pageIndex - It gets the page index value
     * @param {any} annotationObject - It gets the annotation object
     * @returns {void}
     */
    textRequestSuccess(data: any, pageIndex: number, annotationObject: any): void;
    private textRequestOnSuccess;
    /**
     * @param {any} markedBounds - It describes about the marked bounds
     * @param {any} pageCharText - It describes about the page character text
     * @param {any} characterBounds - It describes about the character bounds
     * @private
     * @returns {void}
     */
    textMarkUpContent(markedBounds: any, pageCharText: any, characterBounds: any): string;
    /**
     * @param {number} pageIndex - It describes about the page index
     * @private
     * @returns {boolean} - boolean
     */
    digitalSignaturePresent(pageIndex: number): boolean;
    private pageRequestSent;
    /**
     * @private
     * @param {string} status - The status message.
     * @param {string} errorMessage - The error message.
     * @param {string} action - The action.
     * @returns {void}
     */
    onControlError(status: number, errorMessage: string, action: string): void;
    /**
     * @param {number} pageIndex - It describes about the page index
     * @param {boolean} isTextSearch - It ensures whether the isTextSearch is true or not
     * @private
     * @returns {any} - any
     */
    getStoredData(pageIndex: number, isTextSearch?: boolean): any;
    /**
     * @private
     * @param  {any} data - The data.
     * @param {number} pageIndex - The pageIndex.
     * @param {number} tileX - The tileX.
     * @param {number} tileY - The tileY.
     * @returns {void}
     */
    storeWinData(data: any, pageIndex: number, tileX?: number, tileY?: number): void;
    /**
     * @private
     * @param {XMLHttpRequest} request - The Xml request.
     * @returns {void}
     */
    setCustomAjaxHeaders(request: XMLHttpRequest): void;
    /**
     * @private
     * @param {number} pageIndex - Page index.
     * @returns {object} - object
     */
    getPinchZoomPage(pageIndex: number): object;
    /**
     * @private
     * @param {number} pageIndex - current page index.
     * @param {number} zoomFactor - cuurent zoom factor
     * @returns {string} - string
     */
    getWindowSessionStorage(pageIndex: number, zoomFactor: number): string;
    /**
     * @private
     * @param {number} pageIndex - current page index.
     * @param {number} tileX - cuurent tile x
     * @param {number} tileY - cuurent tile y
     * @param {number} zoomFactor - cuurent zoom factor
     * @returns {string} - string
     */
    getWindowSessionStorageTile(pageIndex: number, tileX: number, tileY: number, zoomFactor: number): string;
    /**
     * @param {number} pageIndex - It describes about the page index
     * @param {number} tileX - It describes about the tile X
     * @param {number} tileY - It describes about the tile Y
     * @param {number} zoomFactor - It describes about the zoom factor
     * @private
     * @returns {string} - string
     */
    getStoredTileImageDetails(pageIndex: number, tileX: number, tileY: number, zoomFactor: number): string;
    /**
     * @private
     * @returns {number} - number
     */
    retrieveCurrentZoomFactor(): number;
    /**
     * @param {number} pageNumber - It describes about the page number
     * @param {any} textBounds - It describes about the text bounds
     * @param {any} textContent - It describes about the text content
     * @param {string} pageText - It describes about the page text
     * @param {number} rotation - It describes about the rotation
     * @param {any} characterBounds - It describes about the character bounds
     * @private
     * @returns {void}
     */
    storeTextDetails(pageNumber: number, textBounds: any, textContent: any, pageText: string, rotation: number, characterBounds: any): void;
    /**
     * @param {number} pageNumber - It describes about the page number
     * @param {any} storeObject - It describes about the store object
     * @param {number} tileX - It describes about the tile X value
     * @param {number} tileY - It describes about the tile Y
     * @private
     * @returns {void}
     */
    storeImageData(pageNumber: number, storeObject: any, tileX?: number, tileY?: number): void;
    private manageSessionStorage;
    /**
     * @param {string} base64String - It describes about the base64 string
     * @param {string} contentType - It describes about the content type
     * @private
     * @returns {string} - string
     */
    createBlobUrl(base64String: string, contentType: string): string;
    private getRandomNumber;
    /**
     * @private
     * @returns {string} - string
     */
    createGUID(): string;
    /**
     * @private
     * @param {MouseEvent} event - The mouse event.
     * @param {boolean} isNeedToSet - Is need to test.
     * @returns {boolean} - Returns true or false.
     */
    isClickedOnScrollBar(event: MouseEvent, isNeedToSet?: boolean): boolean;
    private setScrollDownValue;
    /**
     * @private
     * @returns {void}
     */
    disableTextSelectionMode(): void;
    /**
     * @private
     * @param {string} idString - The Id string.
     * @returns {HTMLElement} - The html element.
     */
    getElement(idString: string): HTMLElement;
    /**
     * @private
     * @param {number} pageIndex - The pageIndex
     * @returns {number} - Returns number
     */
    getPageWidth(pageIndex: number): number;
    /**
     * @private
     * @param {number} pageIndex - The pageIndex
     * @returns {number} - Returns number
     */
    getPageHeight(pageIndex: number): number;
    /**
     * @private
     * @param {number} pageIndex - The pageIndex.
     * @returns {number} - Returns number
     */
    getPageTop(pageIndex: number): number;
    private isAnnotationToolbarHidden;
    private isFormDesignerToolbarHidded;
    /**
     * @private
     * @returns {boolean} - Returns true or false.
     */
    getTextMarkupAnnotationMode(): boolean;
    private isNewFreeTextAnnotation;
    private getCurrentTextMarkupAnnotation;
    /**
     * @private
     * @returns {number} - Returns page number.
     */
    getSelectTextMarkupCurrentPage(): number;
    /**
     * @private
     * @returns {boolean} - Retunrs true or false.
     */
    getAnnotationToolStatus(): boolean;
    /**
     * @private
     * @returns {boolean} - Retunrs true or false.
     */
    getPopupNoteVisibleStatus(): boolean;
    /**
     * @private
     * @returns {TextMarkupAnnotation} - TextMarkupAnnotation.
     */
    isTextMarkupAnnotationModule(): TextMarkupAnnotation;
    /**
     * @private
     * @returns {boolean} - Returns true or false.
     */
    isShapeAnnotationModule(): boolean;
    /**
     * @private
     * @returns {boolean} - Retunrs true or false.
     */
    isFormDesignerModule(): boolean;
    /**
     * @private
     * @returns {boolean} - Retunrs true or false.
     */
    isFormFieldsModule(): boolean;
    /**
     * @private
     * @returns {boolean} - Retunrs true or false.
     */
    isCalibrateAnnotationModule(): boolean;
    /**
     * @private
     * @returns {boolean} - Retunrs true or false.
     */
    isStampAnnotationModule(): boolean;
    /**
     * @private
     * @returns {boolean} - Retunrs true or false.
     */
    isInkAnnotationModule(): boolean;
    /**
     * @private
     * @returns {boolean} - Retunrs true or false.
     */
    isCommentAnnotationModule(): boolean;
    /**
     * @private
     * @returns {boolean} - Retunrs true or false.
     */
    isShapeBasedAnnotationsEnabled(): boolean;
    /**
     * @private
     * @param {MouseEvent | PointerEvent | TouchEvent} e - Returns event.
     * @returns {drawings.PointModel} - Returns points.
     */
    getMousePosition(e: MouseEvent | PointerEvent | TouchEvent): drawings.PointModel;
    private getMouseEventArgs;
    /**
     * @private
     * @param {PdfAnnotationBaseModel} obj - The object.
     * @param {drawings.PointModel} position - The position.
     * @returns {Actions | string} - Returns the string.
     */
    findToolToActivate(obj: PdfAnnotationBaseModel, position: drawings.PointModel): Actions | string;
    private inflate;
    checkResizeHandles(diagram: PdfViewer, element: drawings.DrawingElement, position: drawings.PointModel, matrix: drawings.Matrix, x: number, y: number): Actions;
    checkForResizeHandles(diagram: PdfViewer, element: drawings.DrawingElement, position: drawings.PointModel, matrix: drawings.Matrix, x: number, y: number): Actions;
    /**
     * @private
     * @param {string} fieldID - The fieldID
     * @returns {boolean} - Returns true or false.
     */
    checkSignatureFormField(fieldID: string): boolean;
    /**
     * @private
     * @param {MouseEvent | TouchEvent} evt - The event.
     * @returns {void}
     */
    diagramMouseMove(evt: MouseEvent | TouchEvent): void;
    private updateDefaultCursor;
    /**
     * @private
     * @param {MouseEvent | TouchEvent} evt - The event.
     * @returns {void}
     */
    diagramMouseLeave(evt: MouseEvent | TouchEvent): void;
    private diagramMouseActionHelper;
    private setCursor;
    private setResizerCursorType;
    /**
     * @private
     * @param {Actions | string} action - The actions.
     * @returns {ToolBase} - Returns tools.
     */
    getTool(action: Actions | string): ToolBase;
    /**
     * @private
     * @param {MouseEvent | TouchEvent} evt - The events.
     * @returns {void}
     */
    diagramMouseUp(evt: MouseEvent | TouchEvent): void;
    /**
     * @private
     * @param {HTMLElement} target - The target.
     * @returns {boolean} - Returns true or false.
     */
    skipPreventDefault(target: HTMLElement): boolean;
    private isMetaKey;
    /**
     * @private
     * @param {MouseEvent | TouchEvent} evt - The events.
     * @returns {void}
     */
    diagramMouseDown(evt: MouseEvent | TouchEvent): void;
    /**
     * @param {AnnotationDataFormat} annotationDataFormat - It describes about the annotaiton data format
     * @private
     * @returns {any} - any
     */
    exportAnnotationsAsObject(annotationDataFormat?: AnnotationDataFormat): any;
    /**
     * @private
     * @param {string} type - The type.
     * @returns {any} - any
     */
    getItemFromSessionStorage(type: string): string;
    /**
     * @param {HTMLElement} textDiv - It describes about the whether the text div element
     * @param {number} left - It describes about the left value
     * @param {number} top - It describes about the top value
     * @param {number} fontHeight - It describes about the font height
     * @param {number} width - It describes about the width
     * @param {number} height - It describes about the height
     * @param {boolean} isPrint - It describes about the isPrint is true or not
     * @private
     * @returns {void}
     */
    setStyleToTextDiv(textDiv: HTMLElement, left: number, top: number, fontHeight: number, width: number, height: number, isPrint: boolean): void;
    /**
     * @param {any} number - It describes about the number
     * @private
     * @returns {number} - number
     */
    ConvertPointToPixel(number: any): number;
    /**
     * @param {number} rotation - It describes about the number
     * @private
     * @returns {number} - number
     */
    getAngle(rotation: number): number;
    /**
     * @param {any} formFieldsData - It describes about the form fields data
     * @param {string} type - It describes about the type
     * @private
     * @returns {void}
     */
    setItemInSessionStorage(formFieldsData: any, type: string): void;
    /**
     * @param {FormFieldDataFormat} formFieldDataFormat - It describes about the form field data format
     * @private
     * @returns {any} - any
     */
    exportFormFieldsAsObject(formFieldDataFormat?: FormFieldDataFormat): any;
    /**
     * @param {AnnotationDataFormat} annotationDataFormat -It describes about the annotaiton data format
     * @param {boolean} isXfdf - It describes about the whether the isXfdf is true or not
     * @private
     * @returns {void}
     */
    /**
     * @private
     * @param {AnnotationDataFormat} annotationDataFormat - The annotationDataFormat.
     * @returns {void}
     */
    exportAnnotations(annotationDataFormat?: AnnotationDataFormat): void;
    /**
     * @param {boolean} isObject - It describes about the whether the isObject is true or not
     * @param {AnnotationDataFormat} annotationDataFormat - It describes about the annotation data format
     * @param {boolean} isBase64String - It describes about the whether the isBase64String is true or not
     * @private
     * @returns {any} - any
     */
    createRequestForExportAnnotations(isObject?: boolean, annotationDataFormat?: AnnotationDataFormat, isBase64String?: boolean): any;
    private handleServerSideExport;
    private handleClientSideExport;
    private exportAnnotationFileDownload;
    private getDataOnSuccess;
    /**
     * @param {any} newData - It describes about the new data
     * @param {any} annotationType - It describes about the annotation type
     * @private
     * @returns {void}
     */
    updateModifiedDateToLocalDate(newData: any, annotationType: any): void;
    /**
     * @param {any} date - It describes about the date
     * @private
     * @returns {void}
     */
    convertUTCDateTimeToLocalDateTime(date: any): string;
    private createRequestForImportAnnotations;
    private addAnnotationOnImport;
    /**
     * @private
     * @param {string} errorDetails - The error details.
     * @returns {void}
     */
    openImportExportNotificationPopup(errorDetails: string): void;
    private reRenderAnnotations;
    /**
     * @param {number} pageNumber - It describes about the page number
     * @private
     * @returns {void}
     */
    private updateImportedAnnotationsInDocumentCollections;
    /**
     * @param {number} pageIndex - It describes about the page index
     * @param {any} pageCollections - It describes about the page collections
     * @private
     * @returns {any} - any
     */
    checkDocumentCollectionData(pageIndex: number, pageCollections?: any): any;
    private findImportedAnnotations;
    private setAnnotationSettings;
    private drawPageAnnotations;
    private checkSignatureCollections;
    private checkAnnotationCollections;
    private checkAnnotationCommentsCollections;
    private selectAnnotationCollections;
    private saveImportedAnnotations;
    private savePageAnnotations;
    private updateDocumentAnnotationCollections;
    /**
     * @private
     * @returns {string} - string
     */
    createAnnotationJsonData(): string;
    private combineImportedData;
    /**
     * @private
     * @returns {boolean} - Returns true or false.
     */
    updateExportItem(): boolean;
    private checkExportAnnotations;
    private isFreeTextAnnotation;
    private checkImportedData;
    private updateAnnotationsInSessionStorage;
    /**
     * @param {any} points - It describes about the points
     * @private
     * @returns {object} - object
     */
    checkAnnotationWidth(points: any): object;
    deleteAnnotations(): void;
    private updateAnnotationsUndoRedo;
    private updateSignatureUndoRedo;
    /**
     * @param {number} pageNumber - It describes about the page number
     * @param {boolean} isObject - It describes about the whether the isObject is true or not
     * @private
     * @returns {any} - any
     */
    createAnnotationsCollection(pageNumber?: number, isObject?: boolean): any;
    /**
     * @private
     * @returns {void}
     */
    /**
     * @param {any} bounds - It describes about the bounds
     * @param {boolean} isRect - It describes about the whether the isRect is true or not
     * @param {boolean} isStamp - It describes about the whether the isStamp is true or not
     * @private
     * @returns {any} - any
     */
    convertBounds(bounds: any, isRect?: boolean, isStamp?: boolean): IRectangleBounds | IRectBounds;
    /**
     * @private
     * @param {any} number - It describes about the number
     * @returns {number} - number
     */
    ConvertPixelToPoint(number: any): number;
    private convertVertexPoints;
    private updateComments;
    /**
     * @private
     * @returns {void}
     */
    removeFocus(): void;
    /**
     * @param {boolean} isEdited - It describes about the whether isEdited is true or not
     * @private
     * @returns {void}
     */
    updateDocumentEditedProperty(isEdited: boolean): void;
    /**
     * @private
     * @returns {number} - number
     */
    getWindowDevicePixelRatio(): number;
    /**
     * @param {any} zoom - It describes about the zoom value
     * @private
     * @returns {number} - number
     */
    getZoomRatio(zoom?: any): number;
    /**
     * @param {number} Rotate - It describes about the rotate
     * @param {number} pageNumber - It describes about the page number
     * @param {any} bounds - It describes about the bounds
     * @param {number} originalRotation - It describes about the original rotation
     * @private
     * @returns {any} - any
     */
    getRotationAngle(originalRotation: number, pageNumber: number): any;
    /**
     * @param {number} Rotate - It describes about the rotate
     * @param {number} pageNumber - It describes about the page number
     * @param {any} vertexPoints - It describes about the vertex points
     * @param {number} originalRotation - It describes about the original rotation
     * @private
     * @returns {IPoint[]} - IPoint[]
     */
    calculateVertexPoints(Rotate: number, pageNumber: number, vertexPoints: any, originalRotation?: number): IPoint[];
    /**
     * @param {any} data - It describes about the data
     * @private
     * @returns {boolean} - boolean
     */
    isSignaturePathData(data: any): boolean;
    /**
     * @param {any} data - It describes about the data
     * @private
     * @returns {boolean} - boolean
     */
    isSignatureImageData(data: any): boolean;
    /**
     * @param {any} annotationData - It describes about the annotation data
     * @private
     * @returns {string} - string
     */
    getSanitizedString(annotationData: any): string;
    /**
     * @param {number} pageIndex - It describes about the page index
     * @param {boolean} isTextSearch - It describes about the whether isTextSearch is true or not
     * @private
     * @returns {object} - object
     */
    getLinkInformation(pageIndex: number, isTextSearch?: boolean): object;
    /**
     * @param canvas
     * @private
     */
    releaseCanvas(canvas: HTMLCanvasElement): void;
    /**
     * @param {string} moduleName - It describes about the module name
     * @private
     * @returns {void}
     */
    getModuleWarningMessage(moduleName: string): void;
    /**
     * @param {any} annotationSelectorSettings - Gets annotationSelectorSettings
     * @private
     * @returns {void}
     */
    updateSelectorSettings(annotationSelectorSettings: any): void;
    /**
     * @param {any} annotation - Gets the annotation
     * @private
     * @returns {void}
     */
    annotationSelectorSettingLoad(annotation: any): void;
    /**
     * @param {any} pageAnotationBounds - Gets pageAnotationBounds
     * @param {any} baseAnnotationBounds - Gets baseAnnotationBounds
     * @private
     * @returns {boolean} - boolean
     */
    boundsCalculation(pageAnotationBounds: any, baseAnnotationBounds: any): boolean;
}
export interface IRectangleBounds {
    left: number;
    right: number;
    bottom: number;
    top: number;
}
export interface IRectBounds {
    X: number;
    Y: number;
    Left: number;
    Top: number;
    Height: number;
    Width: number;
}
//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.
 *
 * @param {args} args - args
 * @returns {void}
 * @hidden
 */
export  class NavigationPane {
    private pdfViewer;
    private pdfViewerBase;
    private sideBarResizer;
    private sideBarContentSplitter;
    private sideBarTitleContainer;
    private thumbnailWidthMin;
    private thumbnailButton;
    private bookmarkButton;
    private mainContainerWidth;
    private closeDiv;
    private resizeIcon;
    private isDown;
    private offset;
    private contentContainerScrollWidth;
    private closeButtonLeft;
    private previousX;
    private toolbarElement;
    private toolbar;
    private searchInput;
    private toastObject;
    private isTooltipCreated;
    private annotationInputElement;
    private annotationXFdfInputElement;
    private annotationContextMenu;
    private isCommentPanelShow;
    private commentPanelWidthMin;
    private commentPanelResizeIcon;
    /**
     * @private
     */
    isThumbnail: boolean;
    /**
     * @private
     */
    isThumbnailAddedProgrammatically: boolean;
    /**
     * @private
     */
    isBookmarkOpenProgrammatically: boolean;
    /**
     * @private
     */
    sideBarTitle: HTMLElement;
    /**
     * @private
     */
    annotationMenuObj: navigations.ContextMenu;
    /**
     * @private
     */
    isNavigationToolbarVisible: boolean;
    /**
     * @private
     */
    isBookmarkListOpen: boolean;
    /**
     * @private
     */
    isNavigationPaneResized: boolean;
    /**
     * @private
     */
    sideBarToolbar: HTMLElement;
    /**
     * @private
     */
    sideBarContent: HTMLElement;
    /**
     * @private
     */
    sideBarContentContainer: HTMLElement;
    /**
     * @private
     */
    sideBarToolbarSplitter: HTMLElement;
    /**
     * @private
     */
    isBookmarkOpen: boolean;
    /**
     * @private
     */
    isThumbnailOpen: boolean;
    /**
     * @private
     */
    commentPanelContainer: HTMLElement;
    /**
     * @private
     */
    commentsContentContainer: HTMLElement;
    /**
     * @private
     */
    accordionContentContainer: HTMLElement;
    /**
     * @private
     */
    commentPanelResizer: HTMLElement;
    /**
     * @private
     */
    restrictUpdateZoomValue: boolean;
    /**
     * @private
     */
    organizePageButton: HTMLElement;
    /**
     * Initialize the constructor of navigationPane.
     *
     * @param { PdfViewer } viewer - Specified PdfViewer class.
     * @param { PdfViewerBase } base - The pdfViewerBase.
     */
    constructor(viewer: PdfViewer, base: PdfViewerBase);
    /**
     * @private
     * @returns {void}
     */
    initializeNavigationPane(): void;
    private createNavigationPane;
    /**
     * @private
     * @returns {void}
     */
    adjustPane(): void;
    private getSideToolbarHeight;
    private createCommentPanel;
    private createCommentPanelTitleContainer;
    private createCommentPanelResizeIcon;
    private openAnnotationContextMenu;
    /**
     * @private
     * @returns {void}
     */
    createAnnotationContextMenu(): void;
    private annotationMenuItemSelect;
    private createFileElement;
    private createXFdfFileElement;
    private loadImportAnnotation;
    /**
     * @private
     * @returns {void}
     */
    closeCommentPanelContainer(): void;
    /**
     * @private
     * @param {string} option - The option.
     * @returns {void}
     */
    createNavigationPaneMobile(option: string): void;
    private initiateSearchBox;
    private enableSearchItems;
    private initiateBookmarks;
    private initiateTextSearch;
    /**
     * @private
     * @returns {void}
     */
    goBackToToolbar(): void;
    /**
     * @private
     * @returns {void}
     */
    setSearchInputWidth(): void;
    private getParentElementSearchBox;
    /**
     * @private
     * @param {string} text - The text.
     * @returns {void}
     */
    createTooltipMobile(text: string): void;
    private createMobileTooltip;
    private onTooltipClose;
    /**
     * @private
     * @returns {void}
     */
    toolbarResize(): void;
    private createSidebarToolBar;
    private onTooltipBeforeOpen;
    /**
     * @param {boolean} isEnable - This is isEnable
     * @private
     * @returns {void}
     */
    enableOrganizeButton(isEnable: boolean): void;
    /**
     * @private
     * @returns {void}
     */
    enableThumbnailButton(): void;
    /**
     * @private
     * @returns {void}
     */
    enableBookmarkButton(): void;
    private createSidebarTitleCloseButton;
    private createResizeIcon;
    /**
     * @private
     * @returns {void}
     */
    setResizeIconTop(): void;
    /**
     * @private
     * @returns {void}
     */
    setCommentPanelResizeIconTop(): void;
    /**
     * @param {MouseEvent} event - The event.
     * @returns {void}
     */
    private resizeIconMouseOver;
    /**
     * @param {MouseEvent} event - The event.
     * @returns {void}
     */
    private resizePanelMouseDown;
    /**
     * @param {MouseEvent} event - The event.
     * @returns {void}
     */
    private resizeViewerMouseLeave;
    /**
     * @private
     * @returns {number} - Returns the number.
     */
    readonly outerContainerWidth: number;
    /**
     * @private
     * @returns {number} - Returns the number.
     */
    getViewerContainerScrollbarWidth(): number;
    /**
     * @private
     * @returns {number} - Returns the number.
     */
    readonly sideToolbarWidth: number;
    /**
     * @private
     * @returns {number} - Returns the number.
     */
    readonly sideBarContentContainerWidth: number;
    /**
     * @private
     * @returns {number} - Returns the number.
     */
    readonly commentPanelContainerWidth: number;
    /**
     * @param {MouseEvent} event - The event.
     * @returns {void}
     */
    private resizePanelMouseMove;
    /**
     * @param {MouseEvent} event - The event.
     * @returns {void}
     */
    private sideToolbarOnClose;
    /**
     * @private
     * @returns {void}
     */
    updateViewerContainerOnClose(): void;
    /**
     * @private
     * @returns {void}
     */
    updateViewerContainerOnExpand(): void;
    /**
     * @private
     * @returns {number} - Returns the number.
     */
    getViewerContainerLeft(): number;
    /**
     * @private
     * @returns {number} - Returns the number.
     */
    getViewerContainerRight(): number;
    /**
     * @private
     * @returns {number} - Returns the number.
     */
    getViewerMainContainerWidth(): number;
    /**
     * Private method to handle the click event of the "organize" button.
     *
     * @param {MouseEvent} event - The MouseEvent object representing the click event.
     * @returns {void}
     */
    private organizeButtonOnClick;
    /**
     * @param {MouseEvent} event - The event.
     * @private
     * @returns {void}
     */
    sideToolbarOnClick: (event: MouseEvent | KeyboardEvent) => void;
    /**
     * @private
     * @returns {void}
     */
    openThumbnailPane: () => void;
    /**
     * @private
     * @returns {void}
     */
    closeThumbnailPane: () => void;
    /**
     * @private
     * @returns {void}
     */
    setThumbnailSelectionIconTheme(): void;
    private removeThumbnailSelectionIconTheme;
    private resetThumbnailIcon;
    /**
     * @private
     * @returns {void}
     */
    resetThumbnailView(): void;
    /**
     * @param {MouseEvent} event - The event.
     * @private
     * @returns {void}
     */
    bookmarkButtonOnClick: (event: MouseEvent | KeyboardEvent) => void;
    private setBookmarkSelectionIconTheme;
    /**
     * @private
     * @returns {void}
     */
    removeBookmarkSelectionIconTheme(): void;
    private sideToolbarOnMouseup;
    private sideBarTitleOnMouseup;
    /**
     * @param {boolean} isSideToolbarOnClick - This is isSideToolbarOnClick
     * @private
     * @returns {void}
     */
    openBookmarkcontentInitially(isSideToolbarOnClick?: boolean): void;
    /**
     * @private
     * @returns {void}
     */
    closeBookmarkPane: () => void;
    /**
     * @private
     * @returns {void}
     */
    disableBookmarkButton(): void;
    /**
     * @param {MouseEvent} event - The event.
     * @returns {void}
     */
    private commentPanelMouseDown;
    /**
     * @param {MouseEvent} event - The event.
     * @returns {void}
     */
    private updateCommentPanelContainer;
    /**
     * @private
     * @returns {void}
     */
    calculateCommentPanelWidth(): void;
    /**
     * @param {MouseEvent} event - The event.
     * @returns {void}
     */
    private commentPanelMouseLeave;
    /**
     * @private
     * @returns {void}
     */
    clear(): void;
    /**
     * @private
     * @returns {void}
     */
    destroy(): void;
    /**
     * @returns {string} - Returns the string.
     */
    getModuleName(): string;
}
//node_modules/@syncfusion/ej2-pdfviewer/src/pdfviewer/base/interfaces.d.ts
/**
 * ContextMenu module is used to handle the context menus used in the control.
 *
 * @hidden
 */
export interface IContextMenu {
    contextMenuElement: HTMLElement;
    currentTarget: HTMLElement;
    previousAction: string;
    createContextMenu(): void;
    open(top: number, left: number, target: HTMLElement): void;
    close(): void;
    destroy(): void;
    OnItemSelected(selectedMenu: string): void;
}
/**
 * This event arguments to send the disabled or hidden contextmenu items details to the C# for blazor alone.
 *
 * @hidden
 */
export interface MouseDownEventArgs {
    /**
     * Specified the hidden contextmenu items to server.
     */
    hidenItems: string[];
    /**
     * Specified the disabled contextmenu items to server.
     */
    disabledItems: string[];
    /**
     * Specified the cancel the event.
     */
    isCancel: boolean;
}
//node_modules/@syncfusion/ej2-pdfviewer/src/pdfviewer/base/events-helper.d.ts
/**
 * Exports types used by PDF viewer.
 */
/**
 * This event arguments provides the necessary information about document load event.
 */
export interface LoadEventArgs extends base.BaseEventArgs {
    /**
     * Document name to be loaded into PdfViewer.
     */
    documentName: string;
    /**
     * Defines the page details and page count of the PDF document.
     */
    pageData: any;
}
/**
 * This event arguments provides the necessary information about formField event.
 */
export interface FormFieldFocusOutEventArgs extends base.BaseEventArgs {
    /**
     * specifies the name of field.
     */
    fieldName: string;
    /**
     * specifies the value from formField.
     */
    value: string;
}
/**
 * This event arguments provides the necessary information about document unload event.
 */
export interface UnloadEventArgs extends base.BaseEventArgs {
    /**
     * Document name to be loaded into PdfViewer.
     */
    documentName: string;
}
/**
 * This event arguments provides the necessary information about freeText event.
 */
export interface BeforeAddFreeTextEventArgs extends base.BaseEventArgs {
    /**
     * value of free text annotation.
     */
    value: string;
}
/**
 * This event provide necessary information about button field.
 */
export interface ButtonFieldClickEventArgs extends base.BaseEventArgs {
    /**
     * specifies the form field value.
     */
    buttonFieldValue: string;
    /**
     * specifies the form field name.
     */
    buttonFieldName: string;
    /**
     * specifies the form field id.
     */
    id: string;
}
/**
 * This event provide necessary information about form fields.
 */
export interface FormFieldClickArgs extends base.BaseEventArgs {
    /**
     * Gets the name of the event.
     */
    name: string;
    /**
     * Gets the form field object.
     */
    field: FormFieldModel;
    /**
     * If TRUE, signature panel does not open for the signature field. FALSE by default.
     */
    cancel: boolean;
}
/**
 * This event arguments provides the necessary information about document load failed event.
 */
export interface LoadFailedEventArgs extends base.BaseEventArgs {
    /**
     * Document name to be loaded into PdfViewer.
     */
    documentName: string;
    /**
     * Defines the document password protected state.
     */
    isPasswordRequired: boolean;
    /**
     * In case of document load failed with incorrect password, this contain the incorrect password.
     */
    password: string;
}
/**
 * This event arguments provides the necessary information about ajax request failure event.
 */
export interface AjaxRequestFailureEventArgs extends base.BaseEventArgs {
    /**
     * Document name to be loaded into PdfViewer
     */
    documentName: string;
    /**
     * Document name to be loaded into PdfViewer
     */
    errorStatusCode: number;
    /**
     * Document name to be loaded into PdfViewer
     */
    errorMessage: string;
    /**
     * Action name in which the failure is thrown.
     */
    action: string;
    /**
     * Specifies the retry request for the failed requests.
     */
    retryCount?: boolean;
}
/**
 * This class describes ajaxRequestSuccess event arguments.
 */
export interface AjaxRequestSuccessEventArgs extends base.BaseEventArgs {
    /**
     * Get the name of the Event.
     */
    name: string;
    /**
     * Get the loaded PDF document name in the PDF viewer
     */
    documentName: string;
    /**
     * Get the action name of the request.
     */
    action: string;
    /**
     * Get the data as a JSON object from the request.
     */
    data: any;
    /**
     * If TRUE, the exportAnnotation methods returns base64 string. False by default.
     */
    cancel: boolean;
}
/**
 * The event arguments furnish essential details about the completion of the page rendering event.
 */
export interface PageRenderCompleteEventArgs extends base.BaseEventArgs {
    /**
     * Get the name of the Event.
     */
    name: string;
    /**
     * Get the loaded PDF document name in the PDF viewer.
     */
    documentName: string;
    /**
     * Specifies the data related to the completion of page rendering.
     */
    data: any;
}
/**
 * This event arguments provides the necessary information about form validation.
 */
export interface ValidateFormFieldsArgs extends base.BaseEventArgs {
    /**
     * The form fields object from PDF document being loaded.
     */
    formField: any;
    /**
     * Document name to be loaded into PdfViewer
     */
    documentName: string;
    /**
     * Defines the non-fillable form fields.
     */
    nonFillableFields: any;
}
/**
 * This event arguments provides the necessary information about page click event.
 */
export interface PageClickEventArgs extends base.BaseEventArgs {
    /**
     * Document name to be loaded into PdfViewer
     */
    documentName: string;
    /**
     * Page number of the document in which click action is performed
     */
    pageNumber: number;
    /**
     * x co-ordinate of the click action location
     */
    x: number;
    /**
     * y co-ordinate of the click action location
     */
    y: number;
}
/**
 * This event arguments provides the necessary information about page change event.
 */
export interface PageChangeEventArgs extends base.BaseEventArgs {
    /**
     * Document name to be loaded into PdfViewer.
     */
    documentName: string;
    /**
     * Current Page number of the document.
     */
    currentPageNumber: number;
    /**
     * Previous Page number of the document.
     */
    previousPageNumber: number;
}
/**
 * This event arguments provides the necessary information about zoom change event.
 */
export interface ZoomChangeEventArgs extends base.BaseEventArgs {
    /**
     * Defines the current zoom percentage value
     */
    zoomValue: number;
    /**
     * Defines the zoom value before change
     */
    previousZoomValue: number;
}
/**
 * This event arguments provides the necessary information about hyperlink click event.
 */
export interface HyperlinkClickEventArgs extends base.BaseEventArgs {
    /**
     * Get or set the URL to navigate.
     */
    hyperlink: string;
    /**
     * Defines the current hyperlink element.
     */
    hyperlinkElement: HTMLAnchorElement;
    /**
     * Hyperlink navigation will not work if it is set to TRUE. The value is set to FALSE by default.
     */
    cancel: boolean;
}
/**
 * This event arguments provides the necessary information about hyperlink hover event.
 */
export interface HyperlinkMouseOverArgs extends base.BaseEventArgs {
    /**
     * Defines the current hyperlink element.
     */
    hyperlinkElement: HTMLAnchorElement;
}
/**
 * This event arguments provides the necessary information about annotation add event.
 */
export interface AnnotationAddEventArgs extends base.BaseEventArgs {
    /**
     * Defines the settings of the annotation added to the PDF document.
     */
    annotationSettings: any;
    /**
     * Defines the bounds of the annotation added in the page of the PDF document.
     */
    annotationBound: any;
    /**
     * Defines the id of the annotation added in the page of the PDF document.
     */
    annotationId: string;
    /**
     * Defines the page number in which the annotation is added.
     */
    pageIndex: number;
    /**
     * Define the type of the annotation added in the page of the PDF document.
     */
    annotationType: AnnotationType;
    /**
     * Defines the selected text content in the text markup annotation.
     */
    textMarkupContent?: string;
    /**
     * Starting index of text markup annotation in the page text content.
     */
    textMarkupStartIndex?: number;
    /**
     * End index of text markup annotation in the page text content.
     */
    textMarkupEndIndex?: number;
    /**
     * End index of text markup annotation in the page text content.
     */
    labelSettings?: ShapeLabelSettingsModel;
    /**
     * Defines the multi page annotation collections.
     */
    multiplePageCollection?: any;
    /**
     * Defines the name of the custom stamp added to the PDF page.
     */
    customStampName?: string;
}
/**
 * This event arguments provides the necessary information about annotation remove event.
 */
export interface AnnotationRemoveEventArgs extends base.BaseEventArgs {
    /**
     * Defines the id of the annotation removed from the page of the PDF document.
     */
    annotationId: string;
    /**
     * Defines the page number in which the annotation is removed.
     */
    pageIndex: number;
    /**
     * Defines the type of the annotation removed from the page of the PDF document.
     */
    annotationType: AnnotationType;
    /**
     * Defines the bounds of the annotation removed from the page of the PDF document.
     */
    annotationBounds: any;
    /**
     * Defines the selected text content in the text markup annotation.
     */
    textMarkupContent?: string;
    /**
     * Starting index of text markup annotation in the page text content.
     */
    textMarkupStartIndex?: number;
    /**
     * End index of text markup annotation in the page text content.
     */
    textMarkupEndIndex?: number;
    /**
     * Defines the multi page annotation collections.
     */
    multiplePageCollection?: any;
}
/**
 * This event arguments provides the necessary information about comment event.
 */
export interface CommentEventArgs extends base.BaseEventArgs {
    /**
     * Specifies the id for the annotation comments
     */
    id: string;
    /**
     * Gets the text
     */
    text: string;
    /**
     * specifies the annotation for the comment.
     */
    annotation: string;
    /**
     * specifies the status of the annotation
     */
    status?: CommentStatus;
}
/**
 * This event arguments provides the necessary information about annotation properties change event.
 */
export interface AnnotationPropertiesChangeEventArgs extends base.BaseEventArgs {
    /**
     * Defines the id of the annotation property is changed in the page of the PDF document.
     */
    annotationId: string;
    /**
     * Defines the page number in which the annotation property is changed.
     */
    pageIndex: number;
    /**
     * Defines the type of the annotation property is changed in the page of the PDF document.
     */
    annotationType: AnnotationType;
    /**
     * Specifies that the color of the annotation is changed.
     */
    isColorChanged?: boolean;
    /**
     * Specifies that the opacity of the annotation is changed.
     */
    isOpacityChanged: boolean;
    /**
     * Specifies that the stroke color of the annotation is changed.
     */
    isStrokeColorChanged?: boolean;
    /**
     * Specifies that the thickness of the annotation is changed.
     */
    isThicknessChanged?: boolean;
    /**
     * Specifies that the line head start style of the annotation is changed.
     */
    isLineHeadStartStyleChanged?: boolean;
    /**
     * Specifies that the line head end style of the annotation is changed.
     */
    isLineHeadEndStyleChanged?: boolean;
    /**
     * Specifies that the border dash array of the annotation is changed.
     */
    isBorderDashArrayChanged?: boolean;
    /**
     * Specifies that the Text of the annotation is changed.
     */
    isTextChanged?: boolean;
    /**
     * Specifies that the comments of the annotation is changed.
     */
    isCommentsChanged?: boolean;
    /**
     * Defines the selected text content in the text markup annotation.
     */
    textMarkupContent?: string;
    /**
     * Starting index of text markup annotation in the page text content.
     */
    textMarkupStartIndex?: number;
    /**
     * End index of text markup annotation in the page text content.
     */
    textMarkupEndIndex?: number;
    /**
     * Defines the multi page annotation collections.
     */
    multiplePageCollection?: any;
    /**
     * Specifies whether the text of the FreeText annotation is changed or not.
     */
    isFreeTextChanged?: boolean;
    /**
     * Specifies the previous text of the freeText annotation.
     */
    previousText?: string;
    /**
     * Specifies the current text of the freeText annotation.
     */
    currentText?: string;
}
/**
 * This event arguments provides the necessary information about annotation resize event.
 */
export interface AnnotationResizeEventArgs extends base.BaseEventArgs {
    /**
     * Defines the id of the annotation resized in the page of the PDF document.
     */
    annotationId: string;
    /**
     * Defines the page number in which the annotation is resized.
     */
    pageIndex: number;
    /**
     * Defines the settings of the annotation resized in the PDF document.
     */
    annotationSettings: any;
    /**
     * Defines the bounds of the annotation resized in the page of the PDF document.
     */
    annotationBound: any;
    /**
     * Defines the type of the annotation resized in the page of the PDF document.
     */
    annotationType: AnnotationType;
    /**
     * Defines the selected text content in the text markup annotation.
     */
    textMarkupContent?: string;
    /**
     * Starting index of text markup annotation in the page text content.
     */
    textMarkupStartIndex?: number;
    /**
     * End index of text markup annotation in the page text content.
     */
    textMarkupEndIndex?: number;
    /**
     * End index of text markup annotation in the page text content.
     */
    labelSettings?: ShapeLabelSettingsModel;
    /**
     * Defines the multiple page annotation collections.
     */
    multiplePageCollection?: any;
}
/**
 * This event arguments provides the necessary information about annotation move event.
 */
export interface AnnotationMoveEventArgs extends base.BaseEventArgs {
    /**
     * Defines the id of the annotation moved in the page of the PDF document.
     */
    annotationId: string;
    /**
     * Defines the page number in which the annotation is moved.
     */
    pageIndex: number;
    /**
     * Defines the type of the annotation moved in the page of the PDF document.
     */
    annotationType: AnnotationType;
    /**
     * Defines the settings of the annotation moved in the PDF document.
     */
    annotationSettings: any;
    /**
     * Previous position of annotations in the page text content.
     */
    previousPosition: object;
    /**
     * Current position of annotations in the page text content.
     */
    currentPosition: object;
}
/**
 * Describes the event arguments of AnnotationMovingEventArgs.
 */
export interface AnnotationMovingEventArgs extends base.BaseEventArgs {
    /**
     * Defines the annotation id moving in the PDF page.
     */
    annotationId: string;
    /**
     * Defines the page number in which the annotation is moving.
     */
    pageIndex: number;
    /**
     * Defines the annotation type moving in the PDF page.
     */
    annotationType: AnnotationType;
    /**
     * Defines the annotation setting moving in the PDF page.
     */
    annotationSettings: any;
    /**
     * Previous position of annotations in the page text content.
     */
    previousPosition: object;
    /**
     * Current position of annotations in the page text content.
     */
    currentPosition: object;
}
/**
 * This event arguments provides the necessary information about signature add event.
 */
export interface AddSignatureEventArgs extends base.BaseEventArgs {
    /**
     * Defines the bounds of the signature added in the page of the PDF document.
     */
    bounds: any;
    /**
     * Defines the id of the signature added in the page of the PDF document.
     */
    id: string;
    /**
     * Defines the page number in which the signature is added.
     */
    pageIndex: number;
    /**
     * Define the type of the signature added in the page of the PDF document.
     */
    type: any;
    /**
     * Define the opacity of the signature added in the page of the PDF document.
     */
    opacity: number;
    /**
     * Define the stroke color of the signature added in the page of the PDF document.
     */
    strokeColor?: string;
    /**
     * Define the thickness of the signature added in the page of the PDF document.
     */
    thickness?: number;
    /**
     * Gets the base64 string of the signature path
     */
    data?: string;
}
/**
 * This event arguments provides the necessary information about signature remove event.
 */
export interface RemoveSignatureEventArgs extends base.BaseEventArgs {
    /**
     * Defines the bounds of the signature removed in the page of the PDF document.
     */
    bounds: any;
    /**
     * Defines the id of the signature removed in the page of the PDF document.
     */
    id: string;
    /**
     * Defines the page number in which the signature is removed.
     */
    pageIndex: number;
    /**
     * Define the type of the signature removed in the page of the PDF document.
     */
    type: AnnotationType;
}
/**
 * This event arguments provides the necessary information about signature move event.
 */
export interface MoveSignatureEventArgs extends base.BaseEventArgs {
    /**
     * Defines the id of the annotation moved in the page of the PDF document.
     */
    id: string;
    /**
     * Defines the page number in which the annotation is moved.
     */
    pageIndex: number;
    /**
     * Defines the type of the signature moved in the page of the PDF document.
     */
    type: AnnotationType;
    /**
     * Define the opacity of the signature added in the page of the PDF document.
     */
    opacity: number;
    /**
     * Define the stroke color of the signature added in the page of the PDF document.
     */
    strokeColor: string;
    /**
     * Define the thickness of the signature added in the page of the PDF document.
     */
    thickness: number;
    /**
     * Previous position of signature in the page text content.
     */
    previousPosition: object;
    /**
     * Current position of signature in the page text content.
     */
    currentPosition: object;
}
/**
 * This event arguments provides the necessary information about signature properties change event.
 */
export interface SignaturePropertiesChangeEventArgs extends base.BaseEventArgs {
    /**
     * Defines the id of the signature property is changed in the page of the PDF document.
     */
    id: string;
    /**
     * Defines the page number in which the signature property is changed.
     */
    pageIndex: number;
    /**
     * Defines the type of the signature property is changed in the page of the PDF document.
     */
    type: AnnotationType;
    /**
     * Specifies that the stroke color of the signature is changed.
     */
    isStrokeColorChanged?: boolean;
    /**
     * Specifies that the opacity of the signature is changed.
     */
    isOpacityChanged: boolean;
    /**
     * Specifies that the thickness of the signature is changed.
     */
    isThicknessChanged?: boolean;
    /**
     * Defines the old property value of the signature.
     */
    oldValue: any;
    /**
     * Defines the new property value of the signature.
     */
    newValue: any;
}
/**
 * This event arguments provides the necessary information about signature resize event.
 */
export interface ResizeSignatureEventArgs extends base.BaseEventArgs {
    /**
     * Defines the id of the signature added in the page of the PDF document.
     */
    id: string;
    /**
     * Defines the page number in which the signature is added.
     */
    pageIndex: number;
    /**
     * Define the type of the signature added in the page of the PDF document.
     */
    type: AnnotationType;
    /**
     * Define the opacity of the signature added in the page of the PDF document.
     */
    opacity: number;
    /**
     * Define the stroke color of the signature added in the page of the PDF document.
     */
    strokeColor: string;
    /**
     * Define the thickness of the signature added in the page of the PDF document.
     */
    thickness: number;
    /**
     * Defines the current Position of the signature added in the page of the PDF document.
     */
    currentPosition: any;
    /**
     * Defines the previous position of the signature added in the page of the PDF document.
     */
    previousPosition: any;
}
/**
 * This event arguments provides the necessary information about signature select event.
 */
export interface SignatureSelectEventArgs extends base.BaseEventArgs {
    /**
     * Defines the id of the signature selected in the page of the PDF document.
     */
    id: string;
    /**
     * Defines the page number in which the signature is selected.
     */
    pageIndex: number;
    /**
     * Defines the properties of the selected signature.
     */
    signature: object;
}
/**
 * This event arguments provides the necessary information about signature unselect event.
 */
export interface SignatureUnselectEventArgs extends base.BaseEventArgs {
    /**
     * Defines the id of the signature unselected in the page of the PDF document.
     */
    id: string;
    /**
     * Defines the page number in which the signature is unselected.
     */
    pageIndex: number;
    /**
     * Defines the properties of the unselected signature.
     */
    signature: object;
}
/**
 * This event arguments provides the necessary information about mouse leave event.
 */
export interface AnnotationMouseLeaveEventArgs extends base.BaseEventArgs {
    /**
     * Defines the page number in which the mouse over annotation object is rendered.
     */
    pageIndex: number;
}
/**
 * This event arguments provides the necessary information about annotation mouseover event.
 */
export interface AnnotationMouseoverEventArgs extends base.BaseEventArgs {
    /**
     * Defines the id of the mouse over annotation object in the page of the PDF document
     */
    annotationId: string;
    /**
     * Defines the page number in which the mouse over annotation object is rendered.
     */
    pageIndex: number;
    /**
     * Defines the type of the annotation during the mouse hover in the PDF document.
     */
    annotationType: AnnotationType;
    /**
     * Defines the annotation object mouse hover in the PDF document.
     */
    annotation: any;
    /**
     * Defines the bounds of the annotation resized in the page of the PDF document.
     */
    annotationBounds: any;
    /**
     * Defines the mouseover x position with respect to page container.
     */
    pageX: number;
    /**
     * Defines the mouseover y position with respect to page container.
     */
    pageY: number;
    /**
     * Defines the mouseover x position with respect to viewer container.
     */
    X: number;
    /**
     * Defines the mouseover y position with respect to viewer container.
     */
    Y: number;
}
/**
 * This event arguments provides the necessary information about page mouseovers event.
 */
export interface PageMouseoverEventArgs extends base.BaseEventArgs {
    /**
     * Mouseover x position with respect to page container.
     */
    pageX: number;
    /**
     * Mouseover y position with respect to page container.
     */
    pageY: number;
}
/**
 * This event arguments provides the necessary information about annotation select event.
 */
export interface AnnotationSelectEventArgs extends base.BaseEventArgs {
    /**
     * Defines the id of the annotation selected in the page of the PDF document.
     */
    annotationId: string;
    /**
     * Defines the page number in which the annotation is selected.
     */
    pageIndex: number;
    /**
     * Defines the annotation selected in the PDF document.
     */
    annotation: any;
    /**
     * Defines the overlapped annotations of the selected annotation.
     */
    annotationCollection?: any;
    /**
     * Defines the multi page annotation collections.
     */
    multiplePageCollection?: any;
    /**
     * Defines the annotation selection by mouse.
     */
    isProgrammaticSelection?: boolean;
    /**
     * Defines the annotation add mode.
     */
    annotationAddMode?: string;
}
/**
 * This event arguments provides the necessary information about annotation UnSelect event.
 */
export interface AnnotationUnSelectEventArgs extends base.BaseEventArgs {
    /**
     * Defines the id of the annotation unselected in the page of the PDF document.
     */
    annotationId: string;
    /**
     * Defines the page number in which the annotation is unselected.
     */
    pageIndex: number;
    /**
     * Defines the annotation unselected in the PDF document.
     */
    annotation: any;
}
/**
 * This event arguments provides the necessary information about annotation double click event.
 */
export interface AnnotationDoubleClickEventArgs extends base.BaseEventArgs {
    /**
     * Defines the id of the annotation double clicked in the page of the PDF document.
     */
    annotationId: string;
    /**
     * Defines the page number in which the annotation is double clicked.
     */
    pageIndex: number;
    /**
     * Defines the annotation double clicked in the PDF document.
     */
    annotation: any;
}
/**
 * This event arguments provides the necessary information about thumbnail click event.
 */
export interface ThumbnailClickEventArgs extends base.BaseEventArgs {
    /**
     * Page number of the thumbnail in which click action is performed
     */
    pageNumber: number;
}
/**
 * This event arguments provides the necessary information about bookmark click event.
 */
export interface BookmarkClickEventArgs extends base.BaseEventArgs {
    /**
     * Page number of the bookmark in which click action is performed
     */
    pageNumber: number;
    /**
     * Position of the bookmark content
     */
    position: number;
    /**
     * Title of the bookmark
     */
    text: string;
    /**
     * Get the fileName from Launch action
     */
    fileName: string;
}
/**
 * This event arguments provide the necessary information about text selection start event.
 */
export interface TextSelectionStartEventArgs extends base.BaseEventArgs {
    /**
     * Defines the page number in which the text selection is started.
     */
    pageIndex: number;
}
/**
 * This event arguments provide the necessary information about text selection end event.
 */
export interface TextSelectionEndEventArgs extends base.BaseEventArgs {
    /**
     * Defines the page number in which the text selection is finished.
     */
    pageIndex: number;
    /**
     * Defines the text content selected in the page.
     */
    textContent: string;
    /**
     * Defines the bounds of the selected text in the page.
     */
    textBounds: any;
}
/**
 */
export interface ImportStartEventArgs extends base.BaseEventArgs {
    /**
     */
    /**
     */
    formFieldData: any;
}
/**
 * This event arguments provides the necessary information about export annotations start event.
 */
export interface ExportStartEventArgs extends base.BaseEventArgs {
    /**
     * specifies the annotation data exported from the loaded document.
     */
    exportData: any;
    /**
     * Specifies the form field data exported from the loaded document..
     */
    formFieldData: any;
    /**
     * It allows you to control the execution of an exporting event. When set to true, it prevents further processing of the event, effectively stopping the exporting operation.
     *
     * @default false
     */
    cancel: boolean;
}
/**
 */
export interface ImportSuccessEventArgs extends base.BaseEventArgs {
    /**
     */
    /**
     */
    formFieldData: any;
}
/**
 * This event arguments provides the necessary information about export annotations success event.
 */
export interface ExportSuccessEventArgs extends base.BaseEventArgs {
    /**
     * Specifies the annotation data exported from the loaded documents.
     */
    exportData: any;
    /**
     * Specifies the exported annotations json file name.
     */
    fileName: string;
    /**
     * Specifies the form field data exported from the loaded documents.
     */
    formFieldData: any;
}
/**
 */
export interface ImportFailureEventArgs extends base.BaseEventArgs {
    /**
     */
    /**
     */
    errorDetails: string;
    /**
     */
    formFieldData: any;
}
/**
 * This event arguments provides the necessary information about export annotations failure event.
 */
export interface ExportFailureEventArgs extends base.BaseEventArgs {
    /**
     * specifies the annotation data to be exported from the loaded document.
     */
    exportData: any;
    /**
     * Error details for export annotations.
     */
    errorDetails: string;
    /**
     * specifies the form field data to be exported from the loaded document.
     */
    formFieldData: any;
}
/**
 * This event arguments provides the necessary information about text extraction completed in the PDF Viewer.
 */
export interface ExtractTextCompletedEventArgs extends base.BaseEventArgs {
    /**
     * Returns the extracted text collection
     */
    documentTextCollection: DocumentTextCollectionSettingsModel[][];
}
/**
 * This event arguments provides the necessary information about data.
 */
export interface AjaxRequestInitiateEventArgs extends base.BaseEventArgs {
    /**
     * Specified the data to be sent in to server.
     */
    JsonData: any;
}
/**
 * The event arguments furnish essential details about the initiation of the page rendering.
 */
export interface PageRenderInitiateEventArgs extends base.BaseEventArgs {
    /**
     * Specifies the data requesting page rendering.
     */
    jsonData: any;
}
/**
 * This event arguments provide the necessary information about download start event.
 */
export interface DownloadStartEventArgs extends base.BaseEventArgs {
    /**
     * File name of the currently loaded PDF document in the PDF Viewer.
     */
    fileName: string;
    /**
     * It allows you to control the execution of an download event. When set to true, it prevents further processing of the event, effectively stopping the downloading operation.
     *
     * @default false
     */
    cancel: boolean;
}
/**
 * This event arguments provide the necessary information about download end event.
 */
export interface DownloadEndEventArgs extends base.BaseEventArgs {
    /**
     * File name of the currently loaded PDF document in the PDF Viewer.
     */
    fileName: string;
    /**
     * Defines the base 64 string of the loaded PDF document data.
     */
    downloadDocument: string;
}
/**
 * This event arguments provide the necessary information about print start event.
 */
export interface PrintStartEventArgs extends base.BaseEventArgs {
    /**
     * File name of the currently loaded PDF document in the PDF Viewer.
     */
    fileName: string;
    /**
     * If it is true then the print operation will not work.
     */
    cancel: boolean;
}
/**
 * This event arguments provide the necessary information about print end event.
 */
export interface PrintEndEventArgs extends base.BaseEventArgs {
    /**
     * File name of the currently loaded PDF document in the PDF Viewer.
     */
    fileName: string;
}
/**
 * This event arguments provides the necessary information about text search start event.
 */
export interface TextSearchStartEventArgs extends base.BaseEventArgs {
    /**
     * Specifies the searchText content in the PDF Viewer.
     */
    searchText: string;
    /**
     * Specifies the match case of the searched text.
     */
    matchCase: boolean;
}
/**
 * This event arguments provides the necessary information about text search highlight event.
 */
export interface TextSearchHighlightEventArgs extends base.BaseEventArgs {
    /**
     * Specifies the searchText content in the PDF Viewer.
     */
    searchText: string;
    /**
     * Specifies the match case of the searched text.
     */
    matchCase: boolean;
    /**
     * Specifies the bounds of the highlighted searched text.
     */
    bounds: RectangleBoundsModel;
    /**
     * Specifies the page number of the highlighted search text.
     */
    pageNumber: number;
}
/**
 * This event arguments provides the necessary information about text search end event.
 */
export interface TextSearchCompleteEventArgs extends base.BaseEventArgs {
    /**
     * Specifies the searchText content in the PDF Viewer.
     */
    searchText: string;
    /**
     * Specifies the match case of the searched text.
     */
    matchCase: boolean;
}
/**
 * This event arguments provides the necessary information about form field add event.
 */
export interface FormFieldAddArgs extends base.BaseEventArgs {
    /**
     * Get the name of the event.
     */
    name: string;
    /**
     * Event arguments for the form field add event.
     */
    field: IFormField;
    /**
     * Get the page number.
     */
    pageIndex: number;
}
/**
 * This event arguments provides the necessary information about form field remove event.
 */
export interface FormFieldRemoveArgs extends base.BaseEventArgs {
    /**
     * Get the name of the event.
     */
    name: string;
    /**
     * Event arguments for the form field remove event.
     */
    field: IFormField;
    /**
     * Get the page number.
     */
    pageIndex: number;
}
/**
 * Triggers an event when the form field is double-clicked.
 */
export interface FormFieldDoubleClickArgs extends base.BaseEventArgs {
    /**
     * Returns the event name.
     */
    name: string;
    /**
     * If TRUE, property panel of the form field does not open. FALSE by default.
     */
    cancel: boolean;
    /**
     * Returns the double-clicked form field object.
     */
    field: IFormField;
}
/**
 * This event arguments provides the necessary information about form field properties change event.
 */
export interface FormFieldPropertiesChangeArgs extends base.BaseEventArgs {
    /**
     * Get the name of the event.
     */
    name: string;
    /**
     * Event arguments for the form field properties change event.
     */
    field: IFormField;
    /**
     * Get the page number.
     */
    pageIndex: number;
    /**
     * Specifies whether the form field value is changed or not.
     */
    isValueChanged?: boolean;
    /**
     * Specifies whether the font family of the form field is changed or not.
     */
    isFontFamilyChanged?: boolean;
    /**
     * Specifies whether the font size of the form field is changed or not.
     */
    isFontSizeChanged?: boolean;
    /**
     * Specifies whether the font style of the form field is changed or not.
     */
    isFontStyleChanged?: boolean;
    /**
     * Specifies whether the font color of the form field is changed or not.
     */
    isColorChanged?: boolean;
    /**
     * Specifies whether the background color of the form field is changed or not.
     */
    isBackgroundColorChanged?: boolean;
    /**
     * Specifies whether the border color of the form field is changed or not.
     */
    isBorderColorChanged?: boolean;
    /**
     * Specifies whether the border width of the form field is changed or not.
     */
    isBorderWidthChanged?: boolean;
    /**
     * Specifies whether the text alignment of the form field is changed or not.
     */
    isAlignmentChanged?: boolean;
    /**
     * Specifies the Read Only of Form field is changed or not.
     */
    isReadOnlyChanged?: boolean;
    /**
     * Specifies whether the form field visibility is changed or not.
     */
    isVisibilityChanged?: boolean;
    /**
     * Specifies whether the max length of the form field is changed or not.
     */
    isMaxLengthChanged?: boolean;
    /**
     * Specifies whether the is required option of the form field is changed or not.
     */
    isRequiredChanged?: boolean;
    /**
     * Specifies whether the print option of the form field is changed or not.
     */
    isPrintChanged?: boolean;
    /**
     * Specifies whether the tool tip property is changed or not.
     */
    isToolTipChanged?: boolean;
    /**
     * Specifies the old value of the form field.
     */
    oldValue?: any;
    /**
     * Specifies the new value of the form field.
     */
    newValue?: any;
    /**
     * Specifies whether the field name is changed or not.
     */
    isNameChanged?: boolean;
    /**
     * Specifies whether the custom data is changed or not.
     */
    isCustomDataChanged?: boolean;
}
/**
 * This event arguments provides the necessary information about form field mouse leave event.
 */
export interface FormFieldMouseLeaveArgs extends base.BaseEventArgs {
    /**
     * Get the name of the event.
     */
    name: string;
    /**
     * Event arguments for the form field mouse leave event.
     */
    field: IFormField;
    /**
     * Get the page number.
     */
    pageIndex: number;
}
/**
 * This event arguments provides the necessary information about form field mouse over event.
 */
export interface FormFieldMouseoverArgs extends base.BaseEventArgs {
    /**
     * Get the name of the event.
     */
    name: string;
    /**
     * Event arguments for the form field mouse over event.
     */
    field: IFormField;
    /**
     * Get the page number.
     */
    pageIndex: number;
    /**
     * Get the mouse over x position with respect to the page container.
     */
    pageX: number;
    /**
     * Get the mouse over y position with respect to the page container.
     */
    pageY: number;
    /**
     * Specifies the mouse over x position with respect to the viewer container.
     */
    X: number;
    /**
     * Specifies the mouse over y position with respect to the viewer container.
     */
    Y: number;
}
/**
 * This event arguments provides the necessary information about form field move event.
 */
export interface FormFieldMoveArgs extends base.BaseEventArgs {
    /**
     * Get the name of the event.
     */
    name: string;
    /**
     * Event arguments for the form field move event.
     */
    field: IFormField;
    /**
     * Get the page number.
     */
    pageIndex: number;
    /**
     * Get the previous position of the form field in the page.
     */
    previousPosition: IFormFieldBound;
    /**
     * Current position of form field in the page.
     */
    currentPosition: IFormFieldBound;
}
/**
 * This event arguments provides the necessary information about form field resize event.
 */
export interface FormFieldResizeArgs extends base.BaseEventArgs {
    /**
     * Get the name of the event.
     */
    name: string;
    /**
     * Event arguments for the form field resize event.
     */
    field: IFormField;
    /**
     * Get the page number.
     */
    pageIndex: number;
    /**
     * Get the previous position of the form field in the page.
     */
    previousPosition: IFormFieldBound;
    /**
     * Current position of form field in the page.
     */
    currentPosition: IFormFieldBound;
}
/**
 * This event arguments provides the necessary information about form field select event.
 */
export interface FormFieldSelectArgs extends base.BaseEventArgs {
    /**
     * Get the name of the event.
     */
    name: string;
    /**
     * Event arguments for the form field select event.
     */
    field: IFormField;
    /**
     * Get the page number.
     */
    pageIndex: number;
    /**
     * Specifies whether the the form field is selected programmatically or by UI.
     */
    isProgrammaticSelection: boolean;
}
/**
 * This event arguments provides the necessary information about form field un select event.
 */
export interface FormFieldUnselectArgs extends base.BaseEventArgs {
    /**
     * Get the name of the event.
     */
    name: string;
    /**
     * Event arguments for the form field unselect event.
     */
    field: IFormField;
    /**
     * Get the page number.
     */
    pageIndex: number;
}
/**
 * Defines the event arguments for the 'customContentMenu' event, providing essential information about the selection.
 */
export interface CustomContextMenuSelectEventArgs extends base.BaseEventArgs {
    /**
     * id - Represents the identifier of the currently selected custom context menu item.
     */
    id: string;
}
/**
 * This event provides essential information about the 'CustomContextMenuBeforeOpen' event through its arguments.
 */
export interface CustomContextMenuBeforeOpenEventArgs extends base.BaseEventArgs {
    /**
     * ids -Defines an array containing the identifiers of the added custom context menu items.
     */
    ids: string[];
}
/**
 * Specifies the custom command and the keystroke gesture that triggers its execution.
 */
export interface KeyboardCustomCommandsEventArgs extends base.BaseEventArgs {
    /**
     * keyboardCommand -Defines a command and a key gesture to define when the command should be executed.
     */
    keyboardCommand: KeyboardCommandModel;
}
/**
 * This event arguments provide the necessary information about page organizer save as event.
 */
export interface PageOrganizerSaveAsEventArgs extends base.BaseEventArgs {
    /**
     * File name of the currently loaded PDF document in the Page Organizer.
     */
    fileName: string;
    /**
     * Defines the base 64 string of the loaded PDF document data.
     */
    downloadDocument: string;
    /**
     * It allows you to control the execution of an save as event. When set to true, it prevents further processing of the event, effectively stopping the save as operation.
     *
     * @default false
     */
    cancel: boolean;
}
//node_modules/@syncfusion/ej2-pdfviewer/src/pdfviewer/base/context-menu.d.ts
/**
 * ContextMenu module is used to handle the context menus used in the control.
 *
 * @hidden
 */
export  class ContextMenu implements IContextMenu {
    /**
     * @private
     */
    contextMenuObj: navigations.ContextMenu;
    /**
     * @private
     */
    contextMenuElement: HTMLElement;
    private pdfViewer;
    private pdfViewerBase;
    private copyContextMenu;
    private contextMenuList;
    private customMenuItems;
    private defaultLength;
    private filteredCustomItemsIds;
    private defaultContextMenuItems;
    private defaultCopyId;
    private defaultCutId;
    private defaultPasteId;
    private defaultDeleteId;
    private defaultCommentId;
    private defaultUnderlineId;
    private defaultHighlightId;
    private defaultStrikethroughId;
    private defaultScaleratioId;
    private defaultPropertiesId;
    private copyShowCustomContextMenuBottom;
    currentTarget: any;
    /**
     * @private
     */
    previousAction: string;
    /**
     * Initialize the constructor of ontextmenu
     *
     * @param { PdfViewer } pdfViewer - Specified PdfViewer class.
     * @param { PdfViewerBase } pdfViewerBase - The pdfViewerBase.
     */
    constructor(pdfViewer: PdfViewer, pdfViewerBase: PdfViewerBase);
    /**
     * @private
     * @returns {void}
     */
    createContextMenu(): void;
    private contextMenuOnCreated;
    private setTarget;
    private contextMenuOnBeforeOpen;
    private contextMenuItems;
    private processLocaleContent;
    private contextMenuCollection;
    private getEnabledItemCount;
    private hideContextItems;
    private enableCommentPanelItem;
    private onOpeningForShape;
    OnItemSelected(selectedMenu: string): void;
    private onMenuItemSelect;
    /**
     * @private
     * @returns {void}
     */
    destroy(): void;
    /**
     * @private
     * @returns {void}
     */
    close(): void;
    /**
     * open the context menu.
     *
     * @param {number} top - The top.
     * @param {number} left - The left.
     * @param {HTMLElement} target - The target.
     * @returns {void}
     */
    open(top: number, left: number, target: HTMLElement): void;
    private addCustomContextMenuItems;
    private hideDefaultContextMenu;
}
//node_modules/@syncfusion/ej2-pdfviewer/src/pdfviewer/base/blazor-ui-adaptor.d.ts
/**
 * The `BlazorUIAdaptor` module is used to handle the UI update of native components.
 *
 * @hidden
 */
export  class BlazorUiAdaptor {
    private pdfViewer;
    private pdfViewerBase;
    /**
     * @private
     */
    totalPageElement: HTMLElement;
    private currentPageBoxElementContainer;
    private currentPageBoxElement;
    private firstPageElement;
    private previousPageElement;
    private nextPageElement;
    private lastPageElement;
    private zommOutElement;
    private zoomInElement;
    private zoomDropDownElement;
    private selectToolElement;
    private handToolElement;
    private undoElement;
    private redoElement;
    private commentElement;
    private submitFormButton;
    private searchElement;
    private annotationElement;
    private printElement;
    private downloadElement;
    private highlightElement;
    private underlineElement;
    private strikeThroughElement;
    private shapeElement;
    private calibrateElement;
    private stampElement;
    private freeTextElement;
    private signatureElement;
    private inkElement;
    private annotationFontSizeInputElement;
    private annotationFontFamilyInputElement;
    private annotationColorElement;
    private annotationStrokeColorElement;
    private annotationThicknessElement;
    private annotationOpacityElement;
    private annotationFontColorElement;
    private annotationFontFamilyElement;
    private annotationFontSizeElement;
    private annotationTextAlignElement;
    private annotationTextColorElement;
    private annotationTextPropertiesElement;
    private annotationDeleteElement;
    private annotationCloseElement;
    private annotationCommentPanelElement;
    private mobileToolbarContainerElement;
    private mobileSearchPreviousOccurenceElement;
    private mobileSearchNextOccurenceElement;
    private cssClass;
    private disableClass;
    private editAnnotationButtonElement;
    /**
     * Initialize the constructor of blazorUIadapater.
     *
     * @param { PdfViewer } pdfviewer - Specified PdfViewer class.
     * @param { PdfViewerBase } pdfViewerBase - The pdfViewerBase.
     */
    constructor(pdfviewer: PdfViewer, pdfViewerBase: PdfViewerBase);
    private findToolbarElements;
    /**
     * Update the total page.
     *
     * @returns {void}
     */
    updateTotalPage(): void;
    /**
     * Update current page.
     *
     * @param {number} pageNumber - The pageNumber.
     * @returns {void}
     */
    updateCurrentPage(pageNumber: number): void;
    /**
     * Load the PDF document.
     *
     * @returns {void}
     */
    loadDocument(): void;
    selectItem(element: HTMLElement): void;
    deselectItem(element: HTMLElement): void;
    showAnnotationToolbar(isToolbarVisible: any): void;
    closeAnnotationToolbar(): void;
    /**
     * Reset the toolbar.
     *
     * @returns {void}
     */
    resetToolbar(): void;
    /**
     * When annotation selection changed.
     *
     * @param {boolean} isEnable - isEnable
     * @returns {void}
     */
    EnableDeleteOption(isEnable: boolean): void;
    /**
     * when the page changes.
     *
     * @param {number} currentPageNumber - The current page number.
     * @returns {void}
     */
    pageChanged(currentPageNumber: number): void;
    /**
     * @param {string} item - The current item.
     * @param {boolean} enable - To enable the item or not.
     * @returns {void}
     */
    updateUndoRedoButton(item: string, enable: boolean): void;
    /**
     * @returns {void}
     */
    disableUndoRedoButton(): void;
    /**
     * @param {boolean} isEnable - isEnable
     * @returns {void}
     */
    enableTextMarkupAnnotationPropertiesTools(isEnable: boolean): void;
    /**
     * @param {boolean} isEnable - To enable the item or not.
     * @param {boolean} isProperitiesChange - To enable the item or not.
     * @returns {void}
     */
    enableAnnotationPropertiesTool(isEnable: boolean, isProperitiesChange: boolean): void;
    /**
     * @param {boolean} isEnable - To enable the item or not.
     * @param {boolean} isProperitiesChange - To enable the item or not.
     * @returns {void}
     */
    enableFreeTextAnnotationPropertiesTools(isEnable: boolean, isProperitiesChange: boolean): void;
    /**
     * @param {boolean} isEnable - To enable the item or not.
     * @param {boolean} isPropertiesChange - To enable the item or not.
     * @returns {void}
     */
    enableStampAnnotationPropertiesTools(isEnable: boolean, isPropertiesChange: boolean): void;
    /**
     * @param {boolean} isEnable - To enable the item or not.
     * @param {boolean} isProperitiesChange - To enable the item or not.
     * @returns {void}
     */
    enableSignaturePropertiesTools(isEnable: boolean, isProperitiesChange: boolean): void;
    /**
     * @returns {void}
     */
    annotationAdd(): void;
    /**
     * @returns {void}
     */
    annotationUnSelect(): void;
    /**
     * @param {string} annotationType - The annotationType.
     * @returns {void}
     */
    annotationSelect(annotationType: string): void;
    /**
     * @param {string} fontFamily - The fontFamily.
     * @returns {void}
     */
    updateFontFamilyInIcon(fontFamily: string): void;
    /**
     * @param {number} fontSize - The fontSize.
     * @returns {void}
     */
    updateFontSizeInIcon(fontSize: number): void;
    /**
     * @param {boolean} isEnable - To enable or disable.
     * @returns {void}
     */
    enableSearchItems(isEnable: boolean): void;
    /**
     * @param {boolean} isTapHidden - To enable or disable.
     * @returns {void}
     */
    tapOnMobileDevice(isTapHidden: boolean): void;
    /**
     * @param {HTMLElement} element - The HTMLElement.
     * @returns {boolean} - Returns trur or false.
     */
    isEnabled(element: HTMLElement): boolean;
}
//node_modules/@syncfusion/ej2-pdfviewer/src/pdfviewer/base/blazor-context-menu.d.ts
/**
 * ContextMenu module is used to handle the context menus used in the control.
 *
 * @hidden
 */
export  class BlazorContextMenu implements IContextMenu {
    /**
     * @private
     */
    contextMenuElement: HTMLElement;
    private pdfViewer;
    private pdfViewerBase;
    currentTarget: any;
    /**
     * @private
     */
    previousAction: string;
    /**
     * Initialize the constructor of blazorcontext
     *
     * @param { PdfViewer } pdfViewer - Specified PdfViewer class.
     * @param { PdfViewerBase } pdfViewerBase - The pdfViewerBase.
     */
    constructor(pdfViewer: PdfViewer, pdfViewerBase: PdfViewerBase);
    /**
     * Create the context menu.
     *
     * @returns {void}
     */
    createContextMenu(): void;
    /**
     * open the context menu.
     *
     * @param {number} top - The top.
     * @param {number} left - The left.
     * @param {HTMLElement} target - The target.
     * @returns {void}
     */
    open(top: number, left: number, target: HTMLElement): void;
    /**
     * close the context menu.
     *
     * @returns {void}
     */
    close(): void;
    /**
     * destroy the context menu.
     *
     * @returns {void}
     */
    destroy(): void;
    OnItemSelected(selectedMenu: any): void;
}
//node_modules/@syncfusion/ej2-pdfviewer/src/pdfviewer/base/ajax-handler.d.ts
/**
 * @hidden
 */
export  class AjaxHandler {
    /**
     * Specifies the URL to which request to be sent.
     *
     * @default null
     */
    url: string;
    /**
     * Specifies the URL to which request to be sent.
     *
     * @default 'POST'
     */
    type: string;
    /**
     * Specifies the responseType to which request response.
     *
     * @default null
     */
    responseType: XMLHttpRequestResponseType;
    /**
     * A boolean value indicating whether the request should be sent asynchronous or not.
     *
     * @default true
     * @private
     */
    mode: boolean;
    /**
     * Specifies the ContentType to which request to be sent
     *
     * @default null
     * @private
     */
    contentType: string;
    private httpRequest;
    private pdfViewer;
    private retryCount;
    private retryStatusCodes;
    private retryTimeout;
    /**
     * Constructor for Ajax class
     *
     * @param  {PdfViewer} pdfviewer - The pdfviewer.
     * @private
     */
    constructor(pdfviewer: PdfViewer);
    /**
     * Send the request to server
     *
     * @param  {object} jsonObj - To send to service
     * @returns {void}
     * @private
     */
    send(jsonObj: object): void;
    /**
     * Clear the http request
     *
     * @returns {void}
     * @private
     */
    clear(): void;
    private resendRequest;
    private sendRequest;
    private addExtraData;
    private stateChange;
    private error;
    /**
     * Specifies callback function to be triggered after XmlHttpRequest is succeeded.
     * The callback will contain server response as the parameter.
     *
     * @event onSuccess
     * @private
     */
    onSuccess: Function;
    /**
     * Specifies callback function to be triggered after XmlHttpRequest is got failed.
     * The callback will contain server response as the parameter.
     *
     * @event onFailure
     * @private
     */
    onFailure: Function;
    /**
     * Specifies callback function to be triggered after XmlHttpRequest is got error.
     * The callback will contain server response as the parameter.
     *
     * @event onError
     * @private
     */
    onError: Function;
    private successHandler;
    private failureHandler;
    private errorHandler;
    private setCustomAjaxHeaders;
}
//node_modules/@syncfusion/ej2-pdfviewer/src/pdfviewer/annotation/text-markup-annotation.d.ts
/**
 * @hidden
 */
export interface ITextMarkupAnnotation {
    textMarkupAnnotationType: string;
    author: string;
    subject: string;
    modifiedDate: string;
    note: string;
    bounds: any;
    color: any;
    opacity: number;
    rect: any;
    comments: ICommentsCollection[];
    review: IReviewCollection;
    annotName: string;
    shapeAnnotationType: string;
    position?: string;
    pageNumber: number;
    textMarkupContent: string;
    textMarkupStartIndex: number;
    textMarkupEndIndex: number;
    annotationSelectorSettings: AnnotationSelectorSettingsModel;
    customData: object;
    isMultiSelect?: boolean;
    annotNameCollection?: any[];
    annotpageNumbers?: any[];
    annotationAddMode: string;
    annotationSettings?: any;
    allowedInteractions?: AllowedInteraction;
    isLocked: boolean;
    isPrint: boolean;
    isCommentLock: boolean;
    isAnnotationRotated: boolean;
    annotationRotation?: number;
}
/**
 * @hidden
 */
export interface IPageAnnotationBounds {
    pageIndex: number;
    bounds: IRectangle[];
    rect: any;
    startIndex?: number;
    endIndex?: number;
    textContent?: string;
}
/**
 * The `TextMarkupAnnotation` module is used to handle text markup annotation actions of PDF viewer.
 *
 * @hidden
 * @param {Event} event - It describes about the event
 * @returns {void}
 */
export  class TextMarkupAnnotation {
    private pdfViewer;
    private pdfViewerBase;
    /**
     * @private
     */
    isTextMarkupAnnotationMode: boolean;
    /**
     * @private
     */
    currentTextMarkupAddMode: string;
    /**
     * @private
     */
    highlightColor: string;
    /**
     * @private
     */
    underlineColor: string;
    /**
     * @private
     */
    strikethroughColor: string;
    /**
     * @private
     */
    highlightOpacity: number;
    /**
     * @private
     */
    underlineOpacity: number;
    /**
     * @private
     */
    annotationAddMode: string;
    /**
     * @private
     */
    strikethroughOpacity: number;
    /**
     * @private
     */
    selectTextMarkupCurrentPage: number;
    /**
     * @private
     */
    currentTextMarkupAnnotation: AnnotationsInternal;
    /**
     * @private
     */
    isAddAnnotationProgramatically: boolean;
    private currentAnnotationIndex;
    private isAnnotationSelect;
    private dropDivAnnotationLeft;
    private dropDivAnnotationRight;
    private dropElementLeft;
    private dropElementRight;
    /**
     * @private
     */
    isDropletClicked: boolean;
    /**
     * @private
     */
    isRightDropletClicked: boolean;
    /**
     * @private
     */
    isLeftDropletClicked: boolean;
    /**
     * @private
     */
    isSelectionMaintained: boolean;
    private isExtended;
    private isNewAnnotation;
    private selectedTextMarkup;
    private multiPageCollection;
    private triggerAddEvent;
    /**
     * @private
     */
    isSelectedAnnotation: boolean;
    private dropletHeight;
    private strikeoutDifference;
    private underlineDifference;
    /**
     * @private
     */
    annotationClickPosition: object;
    /**
     * @param {PdfViewer} pdfViewer - It describes about the pdfViewer
     * @param {PdfViewerBase} viewerBase - It describes about the viewerBase
     * @private
     * @returns {void}
     */
    constructor(pdfViewer: PdfViewer, viewerBase: PdfViewerBase);
    /**
     * @private
     * @returns {void}
     */
    createAnnotationSelectElement(): void;
    private maintainSelection;
    private selectionEnd;
    private annotationLeftMove;
    private annotationRightMove;
    /**
     * @param {any} target - It describes about the target
     * @param {any} x - It describes about the X
     * @param {any} y - It describes about the Y
     * @private
     * @returns {void}
     */
    textSelect(target: any, x: any, y: any): void;
    /**
     * @param {boolean} hide - It describes about the hide
     * @private
     * @returns {void}
     */
    showHideDropletDiv(hide: boolean): void;
    /**
     * @param {string} type - It describes about the type
     * @private
     * @returns {boolean} - boolean
     */
    isEnableTextMarkupResizer(type: string): boolean;
    private updateDropletStyles;
    private updateAnnotationBounds;
    private updateMultiAnnotBounds;
    private retreieveSelection;
    /**
     * @param {number} x - It describes about the X
     * @param {number} y - It describes about the Y
     * @param {boolean} isSelected - It describes about the isSelected
     * @private
     * @returns {void}
     */
    updatePosition(x: number, y: number, isSelected?: boolean): void;
    /**
     * @param {number} x - It describes about the X
     * @param {number} y - It describes about the Y
     * @param {boolean} isSelected - It describes about the isSelected
     * @private
     * @returns {void}
     */
    updateLeftposition(x: number, y: number, isSelected?: boolean): void;
    private getClientValueTop;
    /**
     * @param {any} textMarkupAnnotations - It describes about the text markup annotations
     * @param {number} pageNumber - It describes about the page number
     * @param {boolean} isImportTextMarkup - It describes about the isImportTextMarkup
     * @param {boolean} isAnnotOrderAction - It describes about the isAnnotOrderAction
     * @private
     * @returns {void}
     */
    renderTextMarkupAnnotationsInPage(textMarkupAnnotations: any, pageNumber: number, isImportTextMarkup?: boolean, isAnnotOrderAction?: boolean): void;
    private renderTextMarkupAnnotations;
    private getHighlightCanvasContext;
    private isPrintCanvas;
    /**
     * @param {any} annotation - It describes about the annotation
     * @private
     * @returns {any} - any
     */
    getSettings(annotation: any): AnnotationSelectorSettingsModel;
    /**
     * @param {string} type - It describes about the type
     * @private
     * @returns {void}
     */
    drawTextMarkupAnnotations(type: string): void;
    private isMultiPageAnnotations;
    private isMultiAnnotation;
    private modifyCurrentAnnotation;
    private drawAnnotationSelector;
    private selectMultiPageAnnotations;
    private deletMultiPageAnnotation;
    private modifyMultiPageAnnotations;
    private convertSelectionToTextMarkup;
    private updateTextMarkupAnnotationBounds;
    /**
     * @param {any} annotation - It describes about the annotation
     * @private
     * @returns {any} - any
     */
    multiPageCollectionList(annotation: any): ITextMarkupAnnotation[];
    private updateAnnotationNames;
    private updateAnnotationContent;
    private drawTextMarkups;
    private retreiveTextIndex;
    private renderHighlightAnnotation;
    private renderStrikeoutAnnotation;
    private renderUnderlineAnnotation;
    private getProperBounds;
    private isChineseLanguage;
    private drawLine;
    /**
     * @param {any} textMarkupAnnotations - It describes about the text markup annotations
     * @param {number} pageIndex - It describes about the page number
     * @param {any} stampData - It describes about the stamp data
     * @param {any} shapeData - It describes about the shape data
     * @param {any} measureShapeData - It describes about the measure shape data
     * @param {any} stickyData - It describes about the sticky data
     * @param {any} freeTextData - It describes about the free text data
     * @param {any} inkData - It describes about the ink data
     * @private
     * @returns {string} - string
     */
    printAnnotationsInCanvas(textMarkupAnnotations: any, pageIndex: number, stampData: any, shapeData: any, measureShapeData: any, stickyData: any, freeTextData: any, inkData: any): string[];
    /**
     * @private
     * @returns {string} - string
     */
    saveTextMarkupAnnotations(): string;
    /**
     * @private
     * @returns {void}
     */
    deleteTextMarkupAnnotation(): void;
    /**
     * @param {any} bounds - bounds
     * @returns {void}
     * @private
     */
    modifyBoundsProperty(bounds: any): void;
    /**
     * @param {string} color - It describes about the color
     * @private
     * @returns {void}
     */
    modifyColorProperty(color: string): void;
    /**
     * @param {inputs.ChangeEventArgs} args - It describes about the args
     * @param {number} isOpacity - It describes about the isOpacity
     * @private
     * @returns {void}
     */
    modifyOpacityProperty(args: inputs.ChangeEventArgs, isOpacity?: number): void;
    /**
     * @param {string} property -It describes about the property
     * @param {any} value - It describes about the value
     * @param {string} status - It describes about the status
     * @param {string} annotName - It describes about the annotation name
     * @private
     * @returns {ITextMarkupAnnotation} - ITextMarkuoAnnotation
     */
    modifyAnnotationProperty(property: string, value: any, status: string, annotName?: string): ITextMarkupAnnotation[];
    /**
     * @param {ITextMarkupAnnotation} annotation - It describes about the annotation
     * @param {number} pageNumber - It describes about the page number
     * @param {number} index - It describes about the index
     * @param {string} action - It describes about the action
     * @private
     * @returns {void}
     */
    undoTextMarkupAction(annotation: ITextMarkupAnnotation, pageNumber: number, index: number, action: string): void;
    /**
     * @param {ITextMarkupAnnotation} annotation - It describes about the annotation
     * @param {number} pageNumber - It describes about the page number
     * @param {number} index - It describes about the index
     * @param {string} property - It describes about the proeperty
     * @param {boolean} isUndoAction - It describes about the isUndoAction
     * @private
     * @returns {ITextMarkupAnnotation} - Itextmarkupannotation
     */
    undoRedoPropertyChange(annotation: ITextMarkupAnnotation, pageNumber: number, index: number, property: string, isUndoAction?: boolean): ITextMarkupAnnotation;
    /**
     * @param {ITextMarkupAnnotation} annotation - It describes about the annotation
     * @param {number} pageNumber - It describes about the page number
     * @param {number} index - It describes about the index
     * @param {string} action - It describes about the action
     * @private
     * @returns {void}
     */
    redoTextMarkupAction(annotation: ITextMarkupAnnotation, pageNumber: number, index: number, action: string): void;
    /**
     * @param {number} pageNumber - It describes about the page number
     * @param {string} note -  It describes about the note
     * @private
     * @returns {void}
     */
    saveNoteContent(pageNumber: number, note: string): void;
    private clearCurrentAnnotation;
    /**
     * @param {number} pageNumber - It describes about the pageNumber
     * @param {boolean} isSelect - It describes about the isSelect
     * @private
     * @returns {void}
     */
    clearCurrentAnnotationSelection(pageNumber: number, isSelect?: boolean): void;
    private getBoundsForSave;
    private getAnnotationBounds;
    private getRgbCode;
    private getDrawnBounds;
    private getIndexNumbers;
    /**
     * @param {number} pageNumber - It describes about the page number
     * @private
     * @returns {void}
     */
    rerenderAnnotationsPinch(pageNumber: number): void;
    /**
     * @param {number} pageNumber - It describes about the page number
     * @private
     * @returns {void}
     */
    rerenderAnnotations(pageNumber: number): void;
    /**
     * @param {MouseEvent} event - It describes about the event
     * @private
     * @returns {void}
     */
    onTextMarkupAnnotationMouseUp(event: MouseEvent): void;
    private onTextMarkupMouseUp;
    /**
     * @param {TouchEvent} event - It describes about the event
     * @private
     * @returns {void}
     */
    onTextMarkupAnnotationTouchEnd(event: TouchEvent): void;
    private onTextMarkupTouchEnd;
    /**
     * @private
     * @returns {void}
     */
    clearCurrentSelectedAnnotation(): void;
    /**
     * @param {MouseEvent} event - It describes about the event
     * @private
     * @returns {void}
     */
    onTextMarkupAnnotationMouseMove(event: MouseEvent): void;
    private showPopupNote;
    private getCurrentMarkupAnnotation;
    private compareCurrentAnnotations;
    /**
     * @param {number} pageNumber - It describes about the pageNumber
     * @private
     * @returns {void}
     */
    clearAnnotationSelection(pageNumber: number): void;
    /**
     * @param {ITextMarkupAnnotation} annotation - It describes about the annotation
     * @param {HTMLElement} canvas - It describes about the canvas
     * @param {number} pageNumber - It describes about the page number
     * @param {MouseEvent} event - It describes about the event
     * @param {boolean} isProgrammaticSelection - It describes about the programmactic selection
     * @private
     * @returns {void}
     */
    selectAnnotation(annotation: ITextMarkupAnnotation, canvas: HTMLElement, pageNumber?: number, event?: MouseEvent | TouchEvent, isProgrammaticSelection?: boolean): void;
    /**
     * @param {any} annotation - annotation
     * @private
     * @returns {void}
     */
    updateCurrentResizerPosition(annotation?: any): void;
    private drawAnnotationSelectRect;
    /**
     * @param {boolean} isEnable - It describes about the isEnable
     * @private
     * @returns {void}
     */
    enableAnnotationPropertiesTool(isEnable: boolean): void;
    /**
     * @private
     * @returns {void}
     */
    maintainAnnotationSelection(): void;
    /**
     * @param {ITextMarkupAnnotation} pageAnnotations - It describes about the page annotations
     * @param {number} pageNumber - It describes about the page number
     * @private
     * @returns {void}
     */
    manageAnnotations(pageAnnotations: ITextMarkupAnnotation[], pageNumber: number): void;
    /**
     * @param {number} pageIndex - It describes about the pageIndex
     * @param {any} textMarkupAnnotations - It describes about the text markup annotations
     * @param {string} id -It describes about the id
     * @private
     * @returns {any} - any
     */
    getAnnotations(pageIndex: number, textMarkupAnnotations: any[], id?: string): any[];
    private getAddedAnnotation;
    private getSelector;
    private getIsPrintValue;
    private annotationDivSelect;
    private getPageContext;
    private getDefaultValue;
    private getMagnifiedValue;
    /**
     * @param {any} annotation - It describes about the annotation
     * @param {number} pageNumber - It describes about the page number
     * @private
     * @returns {void}
     */
    saveImportedTextMarkupAnnotations(annotation: any, pageNumber: number): void;
    /**
     * @param {any} annotation - It describes about the annotation
     * @param {number} pageNumber - It describes about the page number
     * @private
     * @returns {any} - any
     */
    updateTextMarkupAnnotationCollections(annotation: any, pageNumber: number): any;
    /**
     * @param {string} textMarkUpSettings - It describes about the textmarkup settings
     * @private
     * @returns {void}
     */
    updateTextMarkupSettings(textMarkUpSettings: string): void;
    /**
     * @private
     * @returns {void}
     */
    clear(): void;
    /**
     * Get vertex points properties
     *
     * @param {any} points - It describes about the points
     * @private
     * @returns {any} - any
     */
    private getOffsetPoints;
    /**
     * This method used to add annotations with using program.
     *
     * @param {AnnotationType} annotationType - It describes the annotation type
     * @param {any} annotationObject - It describes type of annotation object
     * @returns {object} - object
     * @private
     */
    updateAddAnnotationDetails(annotationType: AnnotationType, annotationObject: any): Object;
}
//node_modules/@syncfusion/ej2-pdfviewer/src/pdfviewer/annotation/sticky-notes-annotation.d.ts
/**
 * @hidden
 */
export interface IPopupAnnotation {
    shapeAnnotationType: string;
    pathData: string;
    author: string;
    subject: string;
    modifiedDate: string;
    note: string;
    bounds: any;
    color: any;
    opacity: number;
    state: string;
    stateModel: string;
    comments: ICommentsCollection[];
    review: IReviewCollection;
    annotName: string;
    pageNumber: number;
    annotationSelectorSettings: AnnotationSelectorSettingsModel;
    customData: object;
    annotationSettings: any;
    allowedInteractions: AllowedInteraction;
    isPrint: boolean;
    isCommentLock: boolean;
}
/**
 * @hidden
 */
export interface ICommentsCollection {
    author: string;
    modifiedDate: string;
    annotName: string;
    subject: string;
    parentId: string;
    note: string;
    state: string;
    stateModel: string;
    comments: ICommentsCollection[];
    review: IReviewCollection;
    shapeAnnotationType: string;
    position?: number;
    isLock: boolean;
}
/**
 * @hidden
 */
export interface IReviewCollection {
    author: string;
    state: string;
    stateModel: string;
    modifiedDate: string;
    annotId?: string;
}
/**
 * StickyNotes module
 */
export  class StickyNotesAnnotation {
    private pdfViewer;
    private pdfViewerBase;
    private accordionContent;
    private accordionPageContainer;
    private accordionContentContainer;
    private commentsContainer;
    private commentMenuObj;
    private moreButtonId;
    private commentsCount;
    private commentsreplyCount;
    private commentContextMenu;
    private isAccordionContainer;
    private isSetAnnotationType;
    private isNewcommentAdded;
    private isCreateContextMenu;
    private commentsRequestHandler;
    private selectAnnotationObj;
    private isCommentsSelected;
    /**
     * @private
     */
    isAddAnnotationProgramatically: boolean;
    /**
     * @private
     */
    isEditableElement: boolean;
    /**
     * @private
     */
    accordionContainer: HTMLElement;
    /**
     * @private
     */
    mainContainer: HTMLElement;
    /**
     * @private
     */
    opacity: number;
    private isPageCommentsRendered;
    private isCommentsRendered;
    /**
     * @private
     */
    isAnnotationRendered: boolean;
    private globalize;
    /**
     * @private
     */
    textFromCommentPanel: boolean;
    /**
     * @param {PdfViewer} pdfViewer - It describes about the pdfviewer
     * @param {PdfViewerBase} pdfViewerBase - It describes about the pdfviewer base
     * @private
     */
    constructor(pdfViewer: PdfViewer, pdfViewerBase: PdfViewerBase);
    /**
     * @param {any} stickyAnnotations - It describes about the sticky annotations
     * @param {number} pageNumber - It describes about the page number
     * @param {any} canvas - It describes about the canvas
     * @param {boolean} isImport - It describes about the isImport
     * @param {boolean} isLastAnnot - It describes about the isLastAnnot
     * @private
     * @returns {void}
     */
    renderStickyNotesAnnotations(stickyAnnotations: any, pageNumber: number, canvas?: any, isImport?: boolean, isLastAnnot?: boolean): void;
    /**
     * @param {any} annotation - It describes about the annotation
     * @private
     * @returns {any} - any
     */
    getSettings(annotation: any): any;
    /**
     * @param {number} X - It describes about the X
     * @param {number} Y - It describes about the Y
     * @param {number} width - It describes about the width
     * @param {number} height - It describes about the height
     * @param {number} pageIndex - It describes about the page index
     * @param {any} annotation - It describes about the annotation
     * @param {any} canvas - It describes about the canvas
     * @param {any} isNeedToRender - It describes about the isNeedToRender
     * @private
     * @returns {void}
     */
    drawStickyNotes(X: number, Y: number, width: number, height: number, pageIndex: number, annotation: any, canvas?: any, isNeedToRender?: boolean): void;
    private setImageSource;
    /**
     * @private
     * @returns {void}
     */
    createRequestForComments(): void;
    private renderCommentsOnSuccess;
    /**
     * @param {any} excistingAnnotation - It describes about the existing annotation
     * @param {any} newAnnotation - It describes about the new annotation
     * @private
     * @returns {any} - any
     */
    updateAnnotationsInDocumentCollections(excistingAnnotation: any, newAnnotation: any): any;
    private updateDocumentAnnotationCollections;
    private renderAnnotationCollections;
    /**
     * @param {any} annotation - It describes about the annotation
     * @param {boolean} isSignature - It describes about the issignature
     * @private
     * @returns {void}
     */
    updateCollections(annotation: any, isSignature?: boolean): void;
    /**
     * @param {any} data - It describes about the data
     * @param {number} pageIndex - It describes about the page index
     * @private
     * @returns {void}
     */
    renderAnnotationComments(data: any, pageIndex: number): void;
    /**
     * @private
     * @returns {void}
     */
    initializeAcccordionContainer(): void;
    /**
     * @private
     * @returns {void}
     */
    updateCommentPanelTextTop(): void;
    /**
     * @param {number} pageIndex - It describes about the page index
     * @private
     * @returns {any} - any
     */
    createPageAccordion(pageIndex: number): any;
    private alignAccordionContainer;
    /**
     * @param {number} pageNumber - It describes about the page number
     * @private
     * @returns {void}
     */
    updateCommentPanelScrollTop(pageNumber: number): void;
    private getButtonState;
    /**
     * @param {any} data - It describes about the data
     * @param {number} pageIndex - It describes about the page index
     * @param {string} type - It describes about the type
     * @param {string} annotationSubType - It describes about the annotation sub type
     * @param {boolean} isReRender - It describes about the isRenderer
     * @private
     * @returns {string} - string
     */
    createCommentControlPanel(data: any, pageIndex: number, type?: string, annotationSubType?: string, isReRender?: boolean): string;
    private commentDivFocus;
    private updateScrollPosition;
    private updateCommentsScrollTop;
    /**
     * @param {any} args - It describes about the args
     * @private
     * @returns {void}
     */
    createCommentDiv(args: any): void;
    /**
     * @param {any} args - It describes about the args
     * @param {any} comment - It describes about the comment
     * @private
     * @returns {void}
     */
    saveCommentDiv(args: any, comment: any): void;
    private renderComments;
    /**
     * @param {any} data - It describes about the data
     * @param {number} pageIndex - It describes about the page index
     * @param {boolean} isCopy - It describes about the isCopy
     * @private
     * @returns {string} - string
     */
    createCommentsContainer(data: any, pageIndex: number, isCopy?: boolean): string;
    private modifyProperty;
    private createTitleContainer;
    private createReplyDivTitleContainer;
    private updateCommentIcon;
    private updateStatusContainer;
    /**
     * @param {HTMLElement} removeDiv -  It describes about the removeDiv
     * @private
     * @returns {void}
     */
    updateAccordionContainer(removeDiv: HTMLElement): void;
    /**
     * @private
     * @returns {void}
     */
    createCommentContextMenu(): void;
    private contextMenuBeforeOpen;
    private commentMenuItemSelect;
    private handleCommentDeletion;
    private getAnnotationById;
    private moreOptionsClick;
    private openTextEditor;
    /**
     * @param {any} commentEvent - It describes about the selected reply
     * @private
     * @returns {boolean} - boolean
     */
    checkIslockProperty(commentEvent: any): boolean;
    private openEditorElement;
    private commentsDivClickEvent;
    private commentsDivDoubleClickEvent;
    private commentDivOnSelect;
    private commentDivMouseOver;
    private commentDivMouseLeave;
    /**
     * @param {any} event -  It describes about the event
     * @private
     * @returns {void}
     */
    drawIcons(event: any): void;
    /**
     * @param {string} annotationType - It describes about the annotation type
     * @param {number} pageNumber - It describes about the page number
     * @param {string} annotationSubType - It describes about the annotation sub type
     * @private
     * @returns {string} - string
     */
    addComments(annotationType: string, pageNumber: number, annotationSubType?: string): string;
    private commentsAnnotationSelect;
    private findAnnotationObject;
    private checkAnnotationSettings;
    private updateCommentsContainerWidth;
    /**
     * @param {number} pageIndex - It describes about the page index
     * @private
     * @returns {void}
     */
    selectCommentsAnnotation(pageIndex: number): void;
    private setAnnotationType;
    private modifyTextProperty;
    /**
     * @param {any} date - It describes about the date
     * @private
     * @returns {string} - string
     */
    getDateAndTime(date?: any): string;
    getDateAndTimeFormat(date?: any): string;
    private modifyCommentsProperty;
    private modifyStatusProperty;
    /**
     * @param {any} commentsElement - It describes about the comments element
     * @param {any} replyElement - It describes about the reply element
     * @private
     * @returns {void}
     */
    modifyCommentDeleteProperty(commentsElement: any, replyElement: any): void;
    /**
     * @param {any} annotation - It describes about the annotation
     * @private
     * @returns {void}
     */
    updateOpacityValue(annotation: any): void;
    /**
     * @param {any} annotation - It describes about the annotation
     * @param {string} isAction - It describes about the isAction
     * @param {any} undoAnnotation - It describes about the undo annotation
     * @private
     * @returns {any} - any
     */
    undoAction(annotation: any, isAction: string, undoAnnotation?: any): any;
    /**
     * @param {any} annotation - It describes about the annotation
     * @param {string} isAction - It describes about the isAction
     * @param {any} undoAnnotation - It describes about the undo annotation
     * @private
     * @returns {any} - any
     */
    redoAction(annotation: any, isAction: string, undoAnnotation?: any): any;
    private updateUndoRedoCollections;
    /**
     * @param {any} pageIndex - It describes about the page index
     * @param {string} type - It describes about the type
     * @param {boolean} action - It describes about the action
     * @private
     * @returns {void}
     */
    addAnnotationComments(pageIndex: any, type: string, action?: boolean): void;
    /**
     * @param {any} annotation - It describes about the annotation
     * @param {string} type - It describes about the type
     * @param {string} action - It describes about the action
     * @param {boolean} isUndoAction - Ensures whether undo action is true or not
     * @private
     * @returns {void}
     */
    findPosition(annotation: any, type: string, action?: string, isUndoAction?: boolean): any;
    private getAnnotations;
    private manageAnnotations;
    updateStickyNotes(annotation: any, id: any): void;
    saveStickyAnnotations(): string;
    private deleteStickyNotesAnnotations;
    addStickyNotesAnnotations(pageNumber: number, annotationBase: any): void;
    /**
     * @param {string} annotName - It describes about the annotName
     * @param {string} text - It describes about the text
     * @private
     * @returns {void}
     */
    addTextToComments(annotName: string, text: string): void;
    /**
     * @param {any} newAnnotation - It describes about the new annotation
     * @param {any} annotation - It describes about the annotation
     * @param {boolean} isCut - It describes about the isCut
     * @private
     * @returns {void}
     */
    updateAnnotationCollection(newAnnotation: any, annotation: any, isCut: boolean): void;
    private findAnnotationType;
    private setExistingAnnotationModifiedDate;
    private updateModifiedTime;
    private setModifiedDate;
    private convertUTCDateToLocalDate;
    private updateModifiedDate;
    /**
     * @param {any} annotation - It describes about the annotation
     * @param {boolean} isBounds - It describes about the isBoolean
     * @param {boolean} isUndoRedoAction - It describes about the isUndoRedoAction
     * @private
     * @returns {void}
     */
    updateAnnotationModifiedDate(annotation: any, isBounds?: boolean, isUndoRedoAction?: boolean): void;
    /**
     * @param {any} annotation - It describes about the annotation
     * @param {number} pageNumber - It describes about the page number
     * @private
     * @returns {void}
     */
    saveImportedStickyNotesAnnotations(annotation: any, pageNumber: number): void;
    /**
     * @param {any} annotation - It describes about the annotation
     * @param {number} pageNumber - It describes about the page number
     * @private
     * @returns {any} - any
     */
    updateStickyNotesAnnotationCollections(annotation: any, pageNumber: number): any;
    /**
     * @private
     * @returns {void}
     */
    clear(): void;
    /**
     * @private
     * @returns {string} - string
     */
    getModuleName(): string;
    /**
     * This method used to add annotations with using program.
     *
     * @param {StickyNotesSettings} annotationObject - It describes type of annotation object
     * @param {IPoint} offset - It describes about the annotation bounds or location
     * @returns {object} - object
     * @private
     */
    updateAddAnnotationDetails(annotationObject: StickyNotesSettings, offset: IPoint): Object;
    /**
     * @param {any} type - It describes about the type
     * @private
     * @returns {any} - any
     */
    private getAnnotationType;
    /**
     * @param {any} annotation - It describes about the annotation
     * @param {any} commonDiv - It describes about the commonDiv
     * @private
     * @returns {string} - string
     */
    private getAuthorName;
}
//node_modules/@syncfusion/ej2-pdfviewer/src/pdfviewer/annotation/stamp-annotation.d.ts
/**
 * @hidden
 */
export interface IStampAnnotation {
    stampAnnotationPath: string;
    author: string;
    creationDate: string;
    modifiedDate: string;
    subject: string;
    note: string;
    strokeColor: string;
    fillColor: string;
    opacity: number;
    bounds: IRectangles;
    icon: string;
    pageNumber: number;
    rotateAngle: string;
    randomId: string;
    stampAnnotationType: string;
    stampFillcolor: string;
    isDynamicStamp: boolean;
    dynamicText?: string;
    shapeAnnotationType: string;
    comments: ICommentsCollection[];
    review: IReviewCollection;
    annotName: string;
    position?: string;
    annotationSelectorSettings: AnnotationSelectorSettingsModel;
    annotationSettings?: any;
    customData: object;
    allowedInteractions?: AllowedInteraction;
    isPrint: boolean;
    isCommentLock: boolean;
    isMaskedImage: boolean;
    customStampName: string;
    template: any;
    templateSize: any;
}
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: PdfViewerBase;
    private author;
    /**
     * @private
     */
    currentStampAnnotation: any;
    /**
     * @private
     */
    isStampAnnotSelected: boolean;
    /**
     * @private
     */
    isStampAddMode: boolean;
    /**
     * @private
     */
    isNewStampAnnot: boolean;
    private isExistingStamp;
    /**
     * @private
     */
    stampPageNumber: any;
    /**
     * @private
     */
    isAddAnnotationProgramatically: boolean;
    /**
     * @private
     */
    customStampName: string;
    private dynamicText;
    constructor(pdfviewer: PdfViewer, pdfViewerBase: PdfViewerBase);
    /**
     * @param {any} stampAnnotations - It describes about the stamp annotations
     * @param {number} pageNumber - It describes about the page number
     * @param {any} canvass - It describes about the canvas
     * @param {boolean} isImport - It describes about the isImport
     * @param {boolean} isAnnotOrderAction - It describes about the isAnnotOrderAction
     * @param {boolean} isLastAnnot - It describes about the isLastAnnot
     * @private
     * @returns {Promise<void>} - any
     */
    renderStampAnnotations(stampAnnotations: any, pageNumber: number, canvass?: any, isImport?: boolean, isAnnotOrderAction?: boolean, isLastAnnot?: boolean): Promise<void>;
    /**
     * @param {any} stampAnnotations - It describes about the stamp annotations
     * @param {number} pageNumber - It describes about the page number
     * @param {any} canvass - It describes about the canvas
     * @param {boolean} isImport - It describes about the isImport
     * @param {boolean} isAnnotOrderAction - It describes about the isAnnotOrderAction
     * @param {boolean} isNeedToReorderCollection - It ensures whether the need to reorder the collection or not
     * @param {number} orderNumber - It gets the order number
     * @private
     * @returns {void}
     */
    renderStampAnnotImage(stampAnnotations: any, pageNumber: number, canvass?: any, isImport?: boolean, isAnnotOrderAction?: boolean, isNeedToReorderCollection?: boolean, orderNumber?: number): void;
    /**
     * @param {number} X - It describes about the X
     * @param {number} Y -  It describes about the Y
     * @param {number} pageIndex -  It describes about the page index
     * @private
     * @returns {PdfAnnotationBase} - pdf annotation base
     */
    moveStampElement(X: number, Y: number, pageIndex: number): PdfAnnotationBase;
    private ConvertPointToPixel;
    private calculateImagePosition;
    /**
     * @param {any} imageSource - It describes about the image source
     * @param {string} annotName - It describes about the annotation name
     * @private
     * @returns {void}
     */
    createCustomStampAnnotation(imageSource: any, annotName?: string): void;
    /**
     * @param {number} X - It describes about the X
     * @param {number} Y - It describes about the Y
     * @param {number} width - It describes about the width
     * @param {number} height - It describes about the height
     * @param {number} pageIndex - It describes about the page index
     * @param {number} opacity - It describes about the opacity
     * @param {any} rotation - It describes about the rotation
     * @param {any} canvass - It describes about the canvas
     * @param {any} existingAnnotation - It describes about the existing annatation
     * @param {any} isDynamic - It describes about the isDynamic
     * @private
     * @returns {void}
     */
    renderStamp(X: number, Y: number, width: number, height: number, pageIndex: number, opacity: number, rotation: any, canvass: any, existingAnnotation: any, isDynamic?: any): any;
    /**
     * @param {any} annotation - It describes about the annotation
     * @private
     * @returns {any} - any
     */
    getSettings(annotation: any): AnnotationSelectorSettingsModel;
    /**
     * @private
     * @returns {void}
     */
    resetAnnotation(): void;
    /**
     * @param {number} pageNumber - It describes about the page number
     * @param {any} annotation - It describes about the annotation
     * @param {number} opacity - It describes about the opacity
     * @private
     * @returns {void}
     */
    updateDeleteItems(pageNumber: number, annotation: any, opacity?: number): void;
    /**
     * @param {any} position - It describes about the position
     * @param {any} pageIndex - It describes about the page index
     * @param {any} image - It describes about the image
     * @param {any} currentDate - It describes about the current date
     * @param {any} modifiedDate - It describes about the modified date
     * @param {any} RotationAngle - It describes about the rotation angle
     * @param {any} opacity - It describes about the opacity
     * @param {any} canvas - It describes about the canvas
     * @param {boolean} isExistingStamp - It describes about the whether isExistingStamp is true or not
     * @param {any} annotation - It describes about the annotation
     * @param {string} annotName - It describes about the annotation name
     * @param {boolean} isNeedToReorderCollection - It ensures whether the need to reorder the collection or not
     * @param {number} orderNumber - It gets the order number
     * @param {number} isNeedToRender - It gets isNeedToRender value
     * @private
     * @returns {void}
     */
    renderCustomImage(position: any, pageIndex: any, image: any, currentDate: any, modifiedDate: any, RotationAngle: any, opacity: any, canvas?: any, isExistingStamp?: boolean, annotation?: any, annotName?: string, isNeedToReorderCollection?: boolean, orderNumber?: number, isNeedToRender?: boolean): void;
    /**
     * @param {any} annot  It describes about the annotation
     * @param {any} orderNumber  It describes about the annotation order number
     * @private
     * @returns {void} - any
     */
    private adjustZIndexOrder;
    /**
     * @param {any} icontype  It describes about the icon type
     * @private
     * @returns {any} - any
     */
    retrieveDynamicStampAnnotation(icontype: any): any;
    /**
     * @param {any} icontype - It describes about the icon type
     * @private
     * @returns {any} - any
     */
    retrievestampAnnotation(icontype: any): any;
    /**
     * @private
     * @returns {any} - any
     */
    saveStampAnnotations(): string;
    /**
     * @param {number} pageNumber - It describes about the page number
     * @param {IStampAnnotation} annotation - It describes about the annotation
     * @param {boolean} isNeedToReorderCollection - It ensures whether the need to reorder the collection or not
     * @param {number} orderNumber - It gets the order number
     * @private
     * @returns {any} - any
     */
    storeStampInSession(pageNumber: number, annotation: IStampAnnotation, isNeedToReorderCollection?: boolean, orderNumber?: number): any;
    /**
     * @param {any} annotation - It describes about the annotation
     * @param {any} id - It describes about the id
     * @param {string} type - It describes about the type
     * @private
     * @returns {void}
     */
    updateSessionStorage(annotation: any, id: any, type: string): void;
    /**
     * @param {any} annotation - It describes about the annotation
     * @param {number} pageNumber - It describes about the page number
     * @private
     * @returns {void}
     */
    saveImportedStampAnnotations(annotation: any, pageNumber: number): void;
    /**
     * @param {any} annotation - It describes about the annotation
     * @param {number} pageNumber - It describes about the page number
     * @private
     * @returns {any} - any
     */
    updateStampAnnotationCollections(annotation: any, pageNumber: number): any;
    stampImageData(annot: any): boolean;
    private findImageData;
    private findDynamicText;
    private getAnnotations;
    /**
     * @param {string} property - It describes about the property
     * @param {number} pageNumber - It describes about the page number
     * @param {any} annotationBase - It describes about the annotation base
     * @param {any} toolMoved - It describes about the tool moved
     * @private
     * @returns {IStampAnnotation} - IStampAnnotation
     */
    modifyInCollection(property: string, pageNumber: number, annotationBase: any, toolMoved?: any): IStampAnnotation;
    private manageAnnotations;
    /**
     * This method used to add annotations with using programmatically.
     *
     * @param {any} annotationObject - It describes type of annotation object
     * @param {IPoint} offset - It describes about the annotation bounds or location
     * @param {number} pageNumber - It describes about the annotation page number
     * @param {DynamicStampItem} dynamicStampItem - It describe which type of dynamic stamp
     * @param {SignStampItem} signStampItem - It describe which type of sign stamp
     * @param {StandardBusinessStampItem} standardBusinessStampItem - It describe which type of standard business stamp
     * @returns {object} - onject
     * @private
     */
    updateAddAnnotationDetails(annotationObject: any, offset: IPoint, pageNumber: number, dynamicStampItem?: DynamicStampItem, signStampItem?: SignStampItem, standardBusinessStampItem?: StandardBusinessStampItem): Object;
    /**
     * @param {any} annot - It describes about the annotaion properties
     * @param {any} annotation - It describes about the annotation
     * @private
     * @returns {void}
     */
    triggerAnnotationAdd(annot: any, annotation: any): void;
}
//node_modules/@syncfusion/ej2-pdfviewer/src/pdfviewer/annotation/shape-annotation.d.ts
/**
 * @hidden
 */
export interface IShapeAnnotation {
    shapeAnnotationType: string;
    author: string;
    modifiedDate: string;
    subject: string;
    note: string;
    strokeColor: string;
    fillColor: string;
    opacity: number;
    bounds: IRectangle;
    thickness: number;
    borderStyle: string;
    borderDashArray: number;
    rotateAngle: string;
    isCloudShape: boolean;
    cloudIntensity: number;
    vertexPoints: drawings.PointModel[];
    lineHeadStart: string;
    lineHeadEnd: string;
    rectangleDifference: string[];
    isLocked: boolean;
    id: string;
    comments: ICommentsCollection[];
    review: IReviewCollection;
    annotName: string;
    position?: string;
    pageNumber: number;
    enableShapeLabel: boolean;
    labelContent: string;
    labelFillColor: string;
    labelBorderColor: string;
    fontColor: string;
    fontSize: number;
    labelBounds: IRectangle;
    annotationSelectorSettings: AnnotationSelectorSettingsModel;
    labelSettings?: ShapeLabelSettingsModel;
    annotationSettings?: any;
    customData: object;
    allowedInteractions?: AllowedInteraction[];
    isPrint: boolean;
    isCommentLock: boolean;
    isAnnotationRotated: boolean;
}
/**
 * @hidden
 */
export  class ShapeAnnotation {
    private pdfViewer;
    private pdfViewerBase;
    /**
     * @private
     */
    currentAnnotationMode: string;
    /**
     * @private
     */
    lineOpacity: number;
    /**
     * @private
     */
    arrowOpacity: number;
    /**
     * @private
     */
    rectangleOpacity: number;
    /**
     * @private
     */
    circleOpacity: number;
    /**
     * @private
     */
    polygonOpacity: number;
    /**
     * @private
     */
    lineFillColor: string;
    /**
     * @private
     */
    arrowFillColor: string;
    /**
     * @private
     */
    rectangleFillColor: string;
    /**
     * @private
     */
    circleFillColor: string;
    /**
     * @private
     */
    polygonFillColor: string;
    /**
     * @private
     */
    lineStrokeColor: string;
    /**
     * @private
     */
    arrowStrokeColor: string;
    /**
     * @private
     */
    rectangleStrokeColor: string;
    /**
     * @private
     */
    circleStrokeColor: string;
    /**
     * @private
     */
    polygonStrokeColor: string;
    /**
     * @private
     */
    lineThickness: number;
    /**
     * @private
     */
    arrowThickness: number;
    /**
     * @private
     */
    rectangleThickness: number;
    /**
     * @private
     */
    circleThickness: number;
    /**
     * @private
     */
    polygonThickness: number;
    /**
     * @private
     */
    lineDashArray: number;
    /**
     * @private
     */
    lineStartHead: LineHeadStyle;
    /**
     * @private
     */
    lineEndHead: LineHeadStyle;
    /**
     * @private
     */
    arrowDashArray: number;
    /**
     * @private
     */
    arrowStartHead: LineHeadStyle;
    /**
     * @private
     */
    arrowEndHead: LineHeadStyle;
    /**
     * @private
     */
    shapeCount: number;
    /**
     * @private
     */
    isAddAnnotationProgramatically: boolean;
    constructor(pdfviewer: PdfViewer, pdfViewerBase: PdfViewerBase);
    /**
     * @param {any} shapeAnnotations - It describes about the shape annotations
     * @param {number} pageNumber - It describes about the page number
     * @param {boolean} isAnnotOrderAction - It describes about the whether the annotation order action is true or not
     * @private
     * @returns {void}
     */
    renderShapeAnnotations(shapeAnnotations: any, pageNumber: number, isImportAcion?: boolean, isAnnotOrderAction?: boolean): void;
    /**
     * @param {any} annotation - It describes about the annotation
     * @private
     * @returns {any} - any
     */
    getSettings(annotation: any): AnnotationSelectorSettingsModel;
    /**
     * @param {AnnotationType} type - It describes about the annotation type
     * @private
     * @returns {void}
     */
    setAnnotationType(type: AnnotationType): void;
    private updateShapeProperties;
    private setShapeType;
    private getShapeType;
    private getShapeAnnotType;
    /**
     * @param {string} property - It describes about the property
     * @param {number} pageNumber - It describes about the page number
     * @param {any} annotationBase - It describes about the annotation base
     * @param {any} toolMoved - It describes about the tool moved
     * @private
     * @returns {IShapeAnnotation} - Ishapeannotation
     */
    modifyInCollection(property: string, pageNumber: number, annotationBase: any, toolMoved?: any): IShapeAnnotation;
    /**
     * @param {number} pageNumber - It describes about the page number
     * @param {IShapeAnnotation} annotationBase - It describes about the annotation base
     * @private
     * @returns {void}
     */
    addInCollection(pageNumber: number, annotationBase: IShapeAnnotation): void;
    /**
     * @private
     * @returns {string} - string
     */
    saveShapeAnnotations(): string;
    private manageAnnotations;
    private createAnnotationObject;
    private getSelector;
    private getAnnotations;
    private getRgbCode;
    /**
     * @param {any} annotation - It describes about the annotation
     * @param {number} pageNumber - It describes about the page number
     * @private
     * @returns {any} - any
     */
    saveImportedShapeAnnotations(annotation: any, pageNumber: number): any;
    /**
     * @param {any} annotation - It describes about the annotation
     * @param {number} pageNumber - It describes about the page number
     * @private
     * @returns {any} - any
     */
    updateShapeAnnotationCollections(annotation: any, pageNumber: number): any;
    /**
     * This method is used to get the labelSettings values
     *
     * @param {any} annotationObject  - It describes type of annotation object
     * @returns {any} - any
     */
    private getLabelSettingsValues;
    /**
     * This method used to add annotations with using program.
     *
     * @param {AnnotationType} annotationType - It describes the annotation type
     * @param {any} annotationObject - It describes type of annotation object
     * @param {IPoint} offset - It describes about the annotation bounds or location
     * @returns {object} - object
     * @private
     */
    updateAddAnnotationDetails(annotationType: AnnotationType, annotationObject: any, offset: IPoint): Object;
}
//node_modules/@syncfusion/ej2-pdfviewer/src/pdfviewer/annotation/measure-annotation.d.ts
/**
 * @hidden
 */
export interface IMeasureShapeAnnotation {
    shapeAnnotationType: string;
    author: string;
    modifiedDate: string;
    subject: string;
    note: string;
    strokeColor: string;
    fillColor: string;
    opacity: number;
    bounds: IRectangle;
    thickness: number;
    borderStyle: string;
    borderDashArray: number;
    rotateAngle: string;
    isCloudShape: boolean;
    cloudIntensity: number;
    vertexPoints: drawings.PointModel[];
    lineHeadStart: string;
    lineHeadEnd: string;
    rectangleDifference: string[];
    isLocked: boolean;
    caption: boolean;
    captionPosition: string;
    leaderLineExtension: number;
    leaderLength: number;
    leaderLineOffset: number;
    indent: string;
    calibrate: any;
    id: string;
    annotName: string;
    comments: ICommentsCollection[];
    review: IReviewCollection;
    enableShapeLabel: boolean;
    labelContent: string;
    labelFillColor: string;
    labelBorderColor: string;
    fontColor: string;
    fontSize: number;
    labelBounds: IRectangle;
    annotationSelectorSettings: AnnotationSelectorSettingsModel;
    labelSettings?: ShapeLabelSettingsModel;
    annotationSettings?: any;
    customData: object;
    allowedInteractions?: AllowedInteraction;
    isPrint: boolean;
    isCommentLock: boolean;
    isAnnotationRotated: boolean;
    pageNumber?: number;
}
/**
 * @hidden
 */
export interface IMeasure {
    ratio: string;
    x?: INumberFormat[];
    distance?: INumberFormat[];
    area?: INumberFormat[];
    angle?: INumberFormat[];
    volume?: INumberFormat[];
    targetUnitConversion?: number;
    depth?: number;
}
/**
 * @hidden
 */
export  class MeasurementScaleRatio {
    id?: string;
    annotName?: string;
    displayUnit: CalibrationUnit;
    unit: CalibrationUnit;
    ratio: number;
    destValue: number;
    srcValue: number;
    volumeDepth: number;
    depthValue: number;
    ratioString?: string;
}
/**
 * @hidden
 */
export interface INumberFormat {
    unit: string;
    conversionFactor: number;
    fractionalType: string;
    denominator: number;
    formatDenominator: boolean;
}
/**
 * @hidden
 */
export  class MeasureAnnotation {
    private pdfViewer;
    private pdfViewerBase;
    /**
     * @private
     */
    currentAnnotationMode: string;
    /**
     * @private
     */
    distanceOpacity: number;
    /**
     * @private
     */
    perimeterOpacity: number;
    /**
     * @private
     */
    areaOpacity: number;
    /**
     * @private
     */
    radiusOpacity: number;
    /**
     * @private
     */
    volumeOpacity: number;
    /**
     * @private
     */
    distanceFillColor: string;
    /**
     * @private
     */
    perimeterFillColor: string;
    /**
     * @private
     */
    areaFillColor: string;
    /**
     * @private
     */
    radiusFillColor: string;
    /**
     * @private
     */
    volumeFillColor: string;
    /**
     * @private
     */
    distanceStrokeColor: string;
    /**
     * @private
     */
    perimeterStrokeColor: string;
    /**
     * @private
     */
    areaStrokeColor: string;
    /**
     * @private
     */
    radiusStrokeColor: string;
    /**
     * @private
     */
    volumeStrokeColor: string;
    /**
     * @private
     */
    distanceThickness: number;
    /**
     * @private
     */
    leaderLength: number;
    /**
     * @private
     */
    perimeterThickness: number;
    /**
     * @private
     */
    areaThickness: number;
    /**
     * @private
     */
    radiusThickness: number;
    /**
     * @private
     */
    volumeThickness: number;
    /**
     * @private
     */
    distanceDashArray: number;
    /**
     * @private
     */
    distanceStartHead: LineHeadStyle;
    /**
     * @private
     */
    distanceEndHead: LineHeadStyle;
    /**
     * @private
     */
    perimeterDashArray: number;
    /**
     * @private
     */
    perimeterStartHead: LineHeadStyle;
    /**
     * @private
     */
    perimeterEndHead: LineHeadStyle;
    private unit;
    /**
     * @private
     */
    displayUnit: CalibrationUnit;
    /**
     * @private
     */
    measureShapeCount: number;
    /**
     * @private
     */
    volumeDepth: number;
    private measureRatioObject;
    /**
     * @private
     */
    isAddAnnotationProgramatically: boolean;
    private ratio;
    private srcValue;
    private destValue;
    private depthValue;
    private currentScaleRatio;
    private scaleRatioString;
    private scaleRatioDialog;
    private sourceTextBox;
    private convertUnit;
    private destTextBox;
    private dispUnit;
    private depthTextBox;
    private depthUnit;
    /**
     * @private
     */
    scaleRatioCollection: any;
    private scaleRatioAddCollection;
    constructor(pdfviewer: PdfViewer, pdfViewerBase: PdfViewerBase);
    /**
     * @private
     * @returns {number} - number
     */
    readonly pixelToPointFactor: number;
    /**
     * @param {any} shapeAnnotations - It describes about the shape annotations
     * @param {number} pageNumber - It describes about the page number
     * @param {boolean} isImportAction - It describes about whether the isImportAction is true or not
     * @param {boolean} isAnnotOrderAction - It describes about whether the isAnnotOrderAction is true or not
     * @private
     * @returns {void}
     */
    renderMeasureShapeAnnotations(shapeAnnotations: any, pageNumber: number, isImportAction?: boolean, isAnnotOrderAction?: boolean): void;
    /**
     * @param {any} annotation - It describes about the annotation
     * @private
     * @returns {any} - any
     */
    getSettings(annotation: any): any;
    /**
     * @param {AnnotationType} type - It describes about the annotation type
     * @private
     * @returns {void}
     */
    setAnnotationType(type: AnnotationType): void;
    private updateMeasureproperties;
    private createAnnotationObject;
    private getSelector;
    private getShapeAnnotType;
    private getShapeType;
    private getMeasureType;
    private getIndent;
    private getNumberFormatArray;
    private createNumberFormat;
    /**
     * @private
     * @returns {string} - string
     */
    saveMeasureShapeAnnotations(): string;
    /**
     * @private
     * @returns {void}
     */
    destroy(): void;
    /**
     * @private
     * @returns {void}
     */
    createScaleRatioWindow(): void;
    private updateScaleRatioCollection;
    private createRatioUI;
    private convertUnitSelect;
    private dispUnitSelect;
    private depthUnitSelect;
    private createContent;
    private createInputElement;
    /**
     * @private
     * @returns {void}
     */
    onOkClicked(): void;
    private updateRatioValues;
    private restoreUnit;
    /**
     * @param {string} ratio - It describes about the ratio
     * @param {CalibrationUnit} displayUnit - It describes about the display unit
     * @param {CalibrationUnit} conversionUnit - It describes about the conversion unit
     * @param {number} depth - It describes about the depth
     * @private
     * @returns {void}
     */
    updateMeasureValues(ratio: string, displayUnit: CalibrationUnit, conversionUnit: CalibrationUnit, depth: number): void;
    private getAnnotationBaseModel;
    private getContent;
    /**
     * @param value
     * @param currentAnnot
     * @private
     */
    setConversion(value: number, currentAnnot: any): string;
    private onCancelClicked;
    /**
     * @param {string} property - It describes about the property
     * @param {number} pageNumber - It describes about the page number
     * @param {any} annotationBase - It describes about the annotation base
     * @param {boolean} isNewlyAdded - It describes about whether the isNewlyAdded is true or not
     * @private
     * @returns {IMeasureShapeAnnotation} - IMeasureShapeAnnotation
     */
    modifyInCollection(property: string, pageNumber: number, annotationBase: any, isNewlyAdded?: boolean): IMeasureShapeAnnotation;
    /**
     * @param {number} pageNumber -It describes about the page number
     * @param {IMeasureShapeAnnotation} annotationBase - It describes about the annotation base
     * @private
     * @returns {void}
     */
    addInCollection(pageNumber: number, annotationBase: IMeasureShapeAnnotation): void;
    private manageAnnotations;
    private getAnnotations;
    private getCurrentObject;
    private getCurrentValues;
    private getCurrentRatio;
    /**
     * @param {drawings.PointModel} points - It describes about the points
     * @param {string} id - It describes about the id
     * @param {number} pageNumber - It describes about the page number
     * @private
     * @returns {string} - string
     */
    calculateArea(points: drawings.PointModel[], id?: string, pageNumber?: number): string;
    private getArea;
    /**
     * @param {drawings.PointModel} points - It describes about the points
     * @param {string} id - It describes about the id
     * @param {number} pageNumber - It describes about the page number
     * @private
     * @returns {string} - string
     */
    calculateVolume(points: drawings.PointModel[], id?: string, pageNumber?: number): string;
    /**
     * @param {PdfAnnotationBaseModel} pdfAnnotationBase - It describes about the pdf annotation base
     * @private
     * @returns {string} - string
     */
    calculatePerimeter(pdfAnnotationBase: PdfAnnotationBaseModel): string;
    private getFactor;
    private convertPointToUnits;
    private convertUnitToPoint;
    private getStringifiedMeasure;
    private getRgbCode;
    /**
     * @param {any} annotation - It describes about the annotation
     * @param {number} pageNumber - It describes about the page number
     * @private
     * @returns {any} - any
     */
    saveImportedMeasureAnnotations(annotation: any, pageNumber: number): any;
    /**
     * @param {any} annotation - It describes about the annotation
     * @param {number} pageNumber - It describes about the page number value
     * @private
     * @returns {any} - any
     */
    updateMeasureAnnotationCollections(annotation: any, pageNumber: number): any;
    /**
     * This method used to add annotations with using program.
     *
     * @param {AnnotationType} annotationType - It describes the annotation type
     * @param {any} annotationObject - It describes type of annotation object
     * @param {IPoint} offset - It describes about the annotation bounds or location
     * @returns {object} - object
     * @private
     */
    updateAddAnnotationDetails(annotationType: AnnotationType, annotationObject: any, offset: IPoint): Object;
}
//node_modules/@syncfusion/ej2-pdfviewer/src/pdfviewer/annotation/link-annotation.d.ts
/**
 * The `LinkAnnotation` module is used to handle link annotation actions of PDF viewer.
 *
 * @hidden
 */
export  class LinkAnnotation {
    private pdfViewer;
    private pdfViewerBase;
    /**
     * @private
     */
    linkAnnotation: number[];
    /**
     * @private
     */
    linkPage: number[];
    /**
     * @private
     */
    annotationY: number[];
    /**
     * @param {PdfViewer} pdfViewer -It describes about the PdfViewer
     * @param {PdfViewerBase} viewerBase - It describes about the viewerbase
     * @private
     */
    constructor(pdfViewer: PdfViewer, viewerBase: PdfViewerBase);
    /**
     * @param {any} data - It describes about the data
     * @param {number} pageIndex - It describes about the number
     * @private
     * @returns {void}
     */
    renderHyperlinkContent(data: any, pageIndex: number): void;
    /**
     * @param {HTMLElement} eventTarget - It describes about the event target
     * @param {MouseEvent} evt - It describes about the event
     * @param {any} element - It describes about the element
     * @private
     * @returns {void}
     */
    disableHyperlinkNavigationUnderObjects(eventTarget: HTMLElement, evt: MouseEvent | TouchEvent, element: any): void;
    private renderWebLink;
    private triggerHyperlinkEvent;
    private renderDocumentLink;
    private setHyperlinkProperties;
    /**
     * @param {number} pageNumber - It describes about the page number
     * @param {boolean} isAdd - It describes about the isAdd
     * @private
     * @returns {void}
     */
    modifyZindexForTextSelection(pageNumber: number, isAdd: boolean): void;
    /**
     * @param {HTMLElement} element - It describes about the element
     * @param {boolean} isAdd - It describes about the isAdd
     * @private
     * @returns {void}
     */
    modifyZindexForHyperlink(element: HTMLElement, isAdd: boolean): void;
    /**
     * @private
     * @returns {void}
     */
    destroy(): void;
    /**
     * @private
     * @returns {string} - string
     */
    getModuleName(): string;
}
//node_modules/@syncfusion/ej2-pdfviewer/src/pdfviewer/annotation/input-element.d.ts
/**
 * @hidden
 */
export  class InputElement {
    private pdfViewer;
    private pdfViewerBase;
    /**
     * @private
     */
    inputBoxElement: any;
    /**
     * @private
     */
    isInFocus: boolean;
    /**
     * @private
     */
    maxHeight: number;
    /**
     * @private
     */
    maxWidth: number;
    /**
     * @private
     */
    fontSize: number;
    constructor(pdfviewer: PdfViewer, pdfViewerBase: PdfViewerBase);
    /**
     * @param {drawings.PointModel} currentPosition - It describes about the current position
     * @param {PdfAnnotationBaseModel} annotation - It describes about the annotation
     * @private
     * @returns {void}
     */
    editLabel(currentPosition: drawings.PointModel, annotation: PdfAnnotationBaseModel): void;
    /**
     * @private
     * @returns {void}
     */
    onFocusOutInputBox(): void;
    /**
     * @param {any} bounds - It describes about the bounds value
     * @param {number} pageIndex - It describes about the page index value
     * @private
     * @returns {any} - any
     */
    calculateLabelBounds(bounds: any, pageIndex?: number): any;
    /**
     * @param bounds
     * @private
     */
    calculateLabelBoundsFromLoadedDocument(bounds: any): any;
}
//node_modules/@syncfusion/ej2-pdfviewer/src/pdfviewer/annotation/ink-annotation.d.ts
export  class InkAnnotation {
    private pdfViewer;
    private pdfViewerBase;
    newObject: any;
    /**
     * @private
     */
    outputString: string;
    /**
     * @private
     */
    mouseX: number;
    /**
     * @private
     */
    mouseY: number;
    /**
     * @private
     */
    inkAnnotationindex: any;
    /**
     * @private
     */
    isAddAnnotationProgramatically: boolean;
    /**
     * @private
     */
    currentPageNumber: string;
    /**
     * @private
     */
    inkAnnotationInitialZoom: number;
    /**
     * @private
     */
    inkPathDataCollection: IInkPathDataCollection[];
    constructor(pdfViewer: PdfViewer, pdfViewerBase: PdfViewerBase);
    /**
     * @private
     * @returns {void}
     */
    drawInk(): void;
    drawInkAnnotation(pageNumber?: number): void;
    /**
     * @private
     * @returns {any} - any
     */
    updateInkDataWithZoom(): string;
    private updatePathDataWithZoom;
    /**
     * @private
     * @returns {void}
     */
    storePathData(): void;
    /**
     * @param {any} position - It describes about the position of the annotation
     * @param {number} pageIndex - It describes about the page index value
     * @private
     * @returns {void}
     */
    drawInkInCanvas(position: any, pageIndex: number): void;
    private convertToPath;
    private linePath;
    private movePath;
    /**
     * @param {number} pageNumber - It describes about the page number
     * @private
     * @returns {any} - any
     */
    addInk(pageNumber?: number): any;
    /**
     * @private
     * @returns {void}
     */
    setAnnotationMode(): void;
    saveInkSignature(): string;
    /**
     * @param {number} pageNumber - It describes about the page number value
     * @param {any} annotationBase - It describes about the annotation base
     * @private
     * @returns {void}
     */
    addInCollection(pageNumber: number, annotationBase: any): void;
    /**
     * @private
     * @param {string} data - data
     * @returns {any} - points
     */
    calculateInkSize(data: string): any;
    /**
     * @param {any} annotationCollection - It describes about the annotation collection
     * @param {number} pageIndex - page index value
     * @param {boolean} isImport - It ensures whether the isImport is true or not
     * @param {boolean} isAnnotOrderAction - It ensures whether the isAnnotOrderAction is true or not
     * @param {boolean} isLastAnnot - It ensures whether the isLastAnnot is true or not
     * @private
     * @returns {void}
     */
    renderExistingInkSignature(annotationCollection: any, pageIndex: number, isImport: boolean, isAnnotOrderAction?: boolean, isLastAnnot?: boolean): void;
    /**
     * @param {any} annotation - This is annotation
     * @param {number} pageNumber - This is page number
     * @private
     * @returns {void}
     */
    saveImportedInkAnnotation(annotation: any, pageNumber: number): void;
    private getSettings;
    /**
     * @param {number} pageNumber - It describes about the page number value
     * @param {any} annotations - It describes about the annotations
     * @private
     * @returns {void}
     */
    storeInkSignatureData(pageNumber: number, annotations: any): void;
    getSelector(type: string, subject: string): AnnotationSelectorSettingsModel;
    private getAnnotations;
    /**
     * @param {string} property - It describes about the property
     * @param {number} pageNumber - It describes about the page number
     * @param {any} annotationBase - It is about the annotation base
     * @private
     * @returns {any} - any
     */
    modifySignatureInkCollection(property: string, pageNumber: number, annotationBase: any): any;
    private manageInkAnnotations;
    /**
     * @param {any} currentAnnotation - It describes about the current annotation
     * @param {number} pageIndex - It describes about the page index value
     * @param {boolean} isImport - It ensures whether the isImport is true or not
     * @private
     * @returns {any} - any
     */
    updateInkCollections(currentAnnotation: any, pageIndex: number, isImport?: boolean): any;
    /**
     * This method used to add annotations with using program.
     *
     * @param {InkAnnotationSettings} annotationObject - It describes type of annotation object
     * @param {IPoint} offset - It describes about the annotation bounds or location
     * @param {number} pageNumber - It describes about the annotation page number
     * @returns {object} - onject
     * @private
     */
    updateAddAnnotationDetails(annotationObject: InkAnnotationSettings, offset: IPoint, pageNumber: number): Object;
}
/**
 * Defines the FormFields Bound properties
 *
 * @hidden
 */
export interface IInkPathDataCollection {
    pathData: any;
    zoomFactor: number;
}
//node_modules/@syncfusion/ej2-pdfviewer/src/pdfviewer/annotation/free-text-annotation.d.ts
/**
 * @hidden
 */
export interface IFreeTextAnnotation {
    shapeAnnotationType: string;
    author: string;
    modifiedDate: string;
    subject: string;
    note: string;
    opacity: number;
    bounds: any;
    thickness: number;
    borderStyle: string;
    borderDashArray: number;
    rotateAngle: string;
    isLocked: boolean;
    id: string;
    annotName: string;
    position?: string;
    fillColor: string;
    strokeColor: string;
    dynamicText: string;
    fontColor: string;
    fontSize: number;
    fontFamily: string;
    textAlign: string;
    font: any;
    comments: ICommentsCollection[];
    review: IReviewCollection;
    annotationSelectorSettings: AnnotationSelectorSettingsModel;
    annotationSettings?: any;
    allowedInteractions?: AllowedInteraction;
    isCommentLock: boolean;
    isReadonly: boolean;
}
/**
 * @hidden
 */
export  class FreeTextAnnotation {
    private pdfViewer;
    private pdfViewerBase;
    /**
     * @private
     */
    currentAnnotationMode: string;
    /**
     * @private
     */
    opacity: number;
    /**
     * @private
     */
    borderColor: string;
    /**
     * @private
     */
    borderWidth: number;
    /**
     * @private
     */
    defautWidth: number;
    /**
     * @private
     */
    defaultHeight: number;
    /**
     * @private
     */
    inputBoxElement: any;
    /**
     * @private
     */
    borderStyle: string;
    /**
     * @private
     */
    author: string;
    /**
     * @private
     */
    subject: string;
    /**
     * @private
     */
    isNewFreeTextAnnot: boolean;
    /**
     * @private
     */
    isNewAddedAnnot: boolean;
    /**
     * @private
     */
    inputBoxCount: number;
    /**
     * @private
     */
    selectedAnnotation: PdfAnnotationBaseModel;
    /**
     * @private
     */
    isFreeTextValueChange: boolean;
    /**
     * @private
     */
    isAddAnnotationProgramatically: boolean;
    /**
     * @private
     */
    isInuptBoxInFocus: boolean;
    /**
     * @private
     */
    fontSize: number;
    /**
     * @private
     */
    annodationIntent: string;
    /**
     * @private
     */
    annotationFlags: string;
    /**
     * @private
     */
    fillColor: string;
    /**
     * @private
     */
    fontColor: string;
    /**
     * @private
     */
    fontFamily: string;
    /**
     * @private
     */
    freeTextPageNumbers: any;
    /**
     * @private
     */
    selectedText: string;
    /**
     * @private
     */
    isTextSelected: boolean;
    private selectionStart;
    private selectionEnd;
    /**
     * @private
     */
    isBold: boolean;
    /**
     * @private
     */
    isItalic: boolean;
    /**
     * @private
     */
    isUnderline: boolean;
    /**
     * @private
     */
    isStrikethrough: boolean;
    /**
     * @private
     */
    textAlign: string;
    private defaultText;
    private isReadonly;
    private isMaximumWidthReached;
    private padding;
    private wordBreak;
    private freeTextPaddingLeft;
    private freeTextPaddingTop;
    private defaultFontSize;
    private lineGap;
    /**
     * @private
     */
    previousText: string;
    /**
     * @private
     */
    currentPosition: any;
    constructor(pdfviewer: PdfViewer, pdfViewerBase: PdfViewerBase);
    /**
     * @private
     * @returns {void}
     */
    updateTextProperties(): void;
    /**
     * @param {any} shapeAnnotations - It describes about the shape annotations
     * @param {number} pageNumber - It describes about the page number value
     * @param {boolean} isImportAction - It ensures whether the isImportAction is true or not
     * @param {boolean} isAnnotOrderAction - It ensures whether the isAnnotOrderAction is true or not
     * @param {boolean} isLastAnnot - It ensures whether the isLastAnnot is true or not
     * @private
     * @returns {void}
     */
    renderFreeTextAnnotations(shapeAnnotations: any, pageNumber: number, isImportAction?: boolean, isAnnotOrderAction?: boolean, isLastAnnot?: boolean): void;
    /**
     * @param {any} annotation - It describes about the annotation
     * @private
     * @returns {AnnotationSelectorSettingsModel} - AnnotationSelectorSettingsModel
     */
    getSettings(annotation: AnnotationsBase): AnnotationSelectorSettingsModel;
    /**
     * @param {AnnotationType} type - Annotation type
     * @private
     * @returns {void}
     */
    setAnnotationType(type: AnnotationType): void;
    /**
     * @param {string} property - It describes about the property name
     * @param {number} pageNumber - It describes about the page number value
     * @param {any} annotationBase - It describes about the annotation base
     * @param {boolean} isNewAdded - It describes about whether the isNewAdded is true or not
     * @private
     * @returns {IFreeTextAnnotation} - Ifreetextannotation
     */
    modifyInCollection(property: string, pageNumber: number, annotationBase: any, isNewAdded?: boolean): IFreeTextAnnotation;
    /**
     * @param {number} pageNumber - This is pageNumber
     * @param {IFreeTextAnnotation} annotationBase - This is annotationBase
     * @private
     * @returns {void}
     */
    addInCollection(pageNumber: number, annotationBase: IFreeTextAnnotation): void;
    /**
     * @private
     * @returns {string} - string
     */
    saveFreeTextAnnotations(): string;
    private getRotationValue;
    private getBoundsBasedOnRotation;
    private manageAnnotations;
    private getAnnotations;
    private getRgbCode;
    /**
     * @private
     * @returns {void}
     */
    onFocusOutInputBox(): void;
    /**
     * @param {KeyboardEvent} event - event
     * @private
     * @returns {void}
     */
    onKeyDownInputBox(event: KeyboardEvent): void;
    private updateFreeTextAnnotationSize;
    /**
     * @param {number} xPosition - This is xPosition
     * @param {number} yPosition - This is yPosition
     * @private
     * @returns {void}
     */
    autoFitFreeText(xPosition?: number, yPosition?: number): void;
    /**
     * @param {MouseEvent} event - This is Mouse event
     * @private
     * @returns {void}
     */
    onMouseUpInputBox(event: MouseEvent): void;
    /**
     * @param {drawings.PointModel} currentPosition - This is current position
     * @param {PdfAnnotationBaseModel} annotation - This is annotation
     * @param {number} pageIndex - This is pageIndex
     * @private
     * @returns {void}
     */
    addInuptElemet(currentPosition: drawings.PointModel, annotation?: PdfAnnotationBaseModel, pageIndex?: number): void;
    private applyFreetextStyles;
    /**
     * @private
     * @returns {void}
     */
    copySelectedText(): void;
    /**
     * @param {any} target - It describes about the target text
     * @private
     * @returns {void}
     */
    pasteSelectedText(target: any): void;
    /**
     * @param {any} target - It describes the targeted selected text
     * @private
     * @returns {void}
     */
    cutSelectedText(target: any): void;
    /**
     * @param {any} shapeAnnotations - It describes about the shape annotations
     * @param {number} pageNumber - It describes about the page number value
     * @private
     * @returns {void}
     */
    saveImportedFreeTextAnnotations(shapeAnnotations: any, pageNumber: number): void;
    /**
     * @param {any} shapeAnnotations - It describes about the shape annotations
     * @param {number} pageNumber - It describes about the page number value
     * @private
     * @returns {void}
     */
    updateFreeTextAnnotationCollections(shapeAnnotations: any, pageNumber: number): any;
    /**
     * This method used to add annotations with using program.
     *
     * @param {FreeTextSettings} annotationObject - This is annotation object
     * @param {IPoint} offset - It describes about the annotation bounds
     * @returns {object} - object
     * @private
     */
    updateAddAnnotationDetails(annotationObject: FreeTextSettings, offset: IPoint): Object;
    /**
     * This method used to get the padding.
     *
     * @param {number} fontSize - This is font size
     * @returns {any} - any
     */
    private getPaddingValues;
    /**
     * @param {any} currentPosition - currentPosition
     * @private
     * @returns {void}
     */
    addInputInZoom(currentPosition: any): void;
}
//node_modules/@syncfusion/ej2-pdfviewer/src/pdfviewer/annotation/annotation.d.ts
/**
 * @hidden
 */
export interface IActionElements {
    pageIndex: number;
    index: number;
    annotation: any;
    action: string;
    undoElement: any;
    redoElement: any;
    duplicate?: any;
    modifiedProperty: string;
}
/**
 * @hidden
 */
export interface IPoint {
    x: number;
    y: number;
}
/**
 * Interface for a class Point
 *
 *  @hidden
 */
export interface IAnnotationPoint {
    /**
     * Sets the x-coordinate of a position
     *
     * @default 0
     */
    x: number;
    /**
     * Sets the y-coordinate of a position
     *
     * @default 0
     */
    y: number;
    /**
     * Sets the x-coordinate of a position
     *
     * @default 0
     */
    width: number;
    /**
     * Sets the y-coordinate of a position
     *
     * @default 0
     */
    height: number;
}
/**
 * @hidden
 */
export interface IPageAnnotations {
    pageIndex: number;
    annotations: any[];
}
/**
 * The `Annotation` module is used to handle annotation actions of PDF viewer.
 */
export  class Annotation {
    private pdfViewer;
    private pdfViewerBase;
    /**
     * @private
     */
    textMarkupAnnotationModule: TextMarkupAnnotation;
    /**
     * @private
     */
    shapeAnnotationModule: ShapeAnnotation;
    /**
     * @private
     */
    measureAnnotationModule: MeasureAnnotation;
    /**
     * @private
     */
    stampAnnotationModule: StampAnnotation;
    /**
     * @private
     */
    freeTextAnnotationModule: FreeTextAnnotation;
    /**
     * @private
     */
    inputElementModule: InputElement;
    /**
     * @private
     */
    inkAnnotationModule: InkAnnotation;
    /**
     * @private
     */
    isUndoActionImageLoad: boolean;
    /**
     * @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: boolean;
    private isFreeTextFontsizeChanged;
    /**
     * @private
     */
    isUndoAction: boolean;
    private annotationSelected;
    private isAnnotDeletionApiCall;
    private removedDocumentAnnotationCollection;
    /**
     * @private
     * It is used to store the non render page selected annotation.
     */
    private nonRenderSelectedAnnotation;
    /**
     * @private
     */
    isShapeCopied: boolean;
    /**
     * @private
     */
    actionCollection: IActionElements[];
    /**
     * @private
     */
    redoCollection: IActionElements[];
    /**
     * @private
     */
    isPopupNoteVisible: boolean;
    /**
     * @private
     */
    undoCommentsElement: IPopupAnnotation[];
    /**
     * @private
     */
    redoCommentsElement: IPopupAnnotation[];
    /**
     * @private
     */
    selectAnnotationId: string;
    /**
     * @private
     */
    isAnnotationSelected: boolean;
    /**
     * @private
     */
    annotationPageIndex: number;
    private previousIndex;
    /**
     * @private
     */
    annotationType: string;
    private overlappedAnnotations;
    /**
     * @private
     */
    overlappedCollections: any;
    /**
     * @private
     */
    isFormFieldShape: boolean;
    /**
     * @private
     */
    removedAnnotationCollection: any;
    private isEdited;
    /**
     * @param {PdfViewer} pdfViewer - pdfViewer
     * @param {PdfViewerBase} viewerBase - viewerBase
     * @private
     */
    constructor(pdfViewer: PdfViewer, viewerBase: PdfViewerBase);
    /**
     * Set annotation type to be added in next user interaction in PDF Document.
     *
     * @param {AnnotationType} type - type
     * @param {DynamicStampItem} dynamicStampItem - dynamicStampItem
     * @param {SignStampItem} signStampItem - signStampItem
     * @param {StandardBusinessStampItem} standardBusinessStampItem - standardBusinessStampItem.
     * @returns {void}
     */
    setAnnotationMode(type: AnnotationType, dynamicStampItem?: DynamicStampItem, signStampItem?: SignStampItem, standardBusinessStampItem?: StandardBusinessStampItem): void;
    deleteAnnotationById(annotationId: string | object): void;
    private clearAnnotationMode;
    deleteAnnotation(): void;
    /**
     * @param {string} annotationId - annotationId
     * @returns {void}
     */
    private getAnnotationsFromCollections;
    /**
     * @param {any} annotation - annotation
     * @returns {void}
     */
    private updateInputFieldDivElement;
    /**
     * @param {any} annotation - annotation
     * @param {number} pageNumber - pageNumber
     * @param {boolean} isNeedToReorderCollection - Ensures whether need to reorder the collection or not
     * @param {number} orderNumber - Gets the order number
     * @private
     * @returns {void}
     */
    storeAnnotationCollections(annotation: any, pageNumber: number, isNeedToReorderCollection?: boolean, orderNumber?: number): void;
    checkFormDesignCollection(annotation: any): any;
    updateFormFieldCollection(annotation: any): void;
    /**
     * @param {any} annotation - annotation
     * @private
     * @returns {void}
     */
    getCustomData(annotation: any): object;
    /**
     * @param {string} type - type
     * @param {string} subject - subject
     * @private
     * @returns {void}
     */
    getShapeData(type: string, subject: string): object;
    /**
     * @param {string} type - type
     * @private
     * @returns {void}
     */
    getMeasureData(type: string): object;
    /**
     * @param {string} type - type
     * @private
     * @returns {void}
     */
    getTextMarkupData(type: string): object;
    /**
     * @param {string} type - type
     * @private
     * @returns {void}
     */
    getData(type: string): object;
    /**
     * @private
     * @returns {void}
     */
    clearAnnotationStorage(): void;
    /**
     * @param {any} annotation - annotation
     * @private
     * @returns {Object} - Object
     */
    checkAnnotationCollection(annotation: any): Object;
    /**
     * @param {any} annotation - annotation
     * @private
     * @returns {void}
     */
    updateAnnotationCollection(annotation: any): void;
    /**
     * @param {any} annotation - annotation
     * @param {number} pageNumber - pageNumber
     * @param {string} annotationType - annotationType
     * @private
     * @returns {void}
     */
    updateImportAnnotationCollection(annotation: any, pageNumber: number, annotationType: string): void;
    /**
     * Select the annotations using annotation object or annotation Id.
     *
     * @param {string | object} annotationId - annptationId
     * @returns {void}
     */
    selectAnnotation(annotationId: string | object): void;
    private updateCollectionForNonRenderedPages;
    private getTypeOfAnnotation;
    private removeCommentPanelDiv;
    /**
     * Clear the annotation selection.
     *
     * @returns {void}
     */
    clearSelection(): void;
    /**
     * @param {any} annotation - annotation
     * @private
     * @returns {number} - number
     */
    getAnnotationTop(annotation: any): number;
    /**
     * @param {any} annotation - annotation
     * @returns {number} - number
     */
    private getAnnotationLeft;
    /**
     * @private
     * @returns {void}
     */
    selectAnnotationFromCodeBehind(): void;
    /**
     * @param {number} pageIndex - pageIndex
     * @private
     * @returns {boolean} - boolean
     */
    findRenderPageList(pageIndex: number): boolean;
    private getAnnotationsFromAnnotationCollections;
    private getTextMarkupAnnotations;
    /**
     * @param {string} type -string
     * @param {string} measureType - measureType
     * @private
     * @returns {AnnotationType} - type
     */
    getAnnotationType(type: string, measureType: string): AnnotationType;
    /**
     * @param {number} pageNumber - pageNumber
     * @param {string} annotationId - annotationId
     * @private
     * @returns {number} - number
     */
    getAnnotationIndex(pageNumber: number, annotationId: string): number;
    /**
     * @private
     * @returns {void}
     */
    initializeCollection(): void;
    /**
     * @private
     * @returns {void}
     */
    showCommentsPanel(): void;
    /**
     * @param {number} pageNumber - This is pageNumber
     * @param {number} index - index
     * @param {any} annotation - annotation
     * @param {string} actionString - actionString
     * @param {string} property - property
     * @param {any} node - node
     * @param {any} redo - redo
     * @private
     * @returns {void}
     */
    addAction(pageNumber: number, index: number, annotation: any, actionString: string, property: string, node?: any, redo?: any): void;
    /**
     * @private
     * @returns {void}
     */
    undo(): void;
    /**
     * @private
     * @returns {void}
     */
    redo(): void;
    private undoRedoMultiline;
    private updateFormFieldValueChange;
    private updateFormFieldPropertiesChanges;
    private updateCollectionForLineProperty;
    private updateToolbar;
    private createNote;
    /**
     * @param {any} event - event
     * @param {string} color - color
     * @param {string} author - author
     * @param {string} note - note
     * @param {string} type - type
     * @private
     * @returns {void}
     */
    showPopupNote(event: any, color: string, author: string, note: string, type: string): void;
    /**
     * @private
     * @returns {void}
     */
    hidePopupNote(): void;
    private createTextMarkupPopup;
    private onPopupElementMoveStart;
    private onPopupElementMove;
    private onPopupElementMoveEnd;
    private saveClosePopupMenu;
    /**
     * @private
     * @returns {void}
     */
    closePopupMenu(): void;
    /**
     * @param {any} event - event
     * @private
     * @returns {void}
     */
    showAnnotationPopup(event: any): void;
    /**
     * @param {any} args - args
     * @param {boolean} isOpacity - isOpacity
     * @private
     * @returns {void}
     */
    modifyOpacity(args: any, isOpacity?: boolean): void;
    /**
     * @param {string} currentColor - currentColor
     * @private
     * @returns {void}
     */
    modifyFontColor(currentColor: string): void;
    /**
     * @param {string} currentValue - currentValue
     * @private
     * @returns {void}
     */
    modifyFontFamily(currentValue: string): void;
    /**
     * @param {number} currentValue - currentValue
     * @param {boolean} isInteracted - isInteracted
     * @private
     * @returns {void}
     */
    modifyFontSize(currentValue: number, isInteracted: boolean): void;
    /**
     * @param {number} fontSize - font size
     * @private
     * @returns {void}
     */
    handleFontSizeUpdate(fontSize: number): void;
    /**
     * @param {string} currentValue - currentValue
     * @private
     * @returns {void}
     */
    modifyTextAlignment(currentValue: string): void;
    /**
     * @param {PdfFontModel} fontInfo - fontInfo
     * @param {string} action - action
     * @private
     * @returns {void}
     */
    modifyTextProperties(fontInfo: PdfFontModel, action: string): void;
    /**
     * @param {number} thicknessValue - thicknessValue
     * @private
     * @returns {void}
     */
    modifyThickness(thicknessValue: number): void;
    /**
     * @param {string} color - color
     * @private
     * @returns {void}
     */
    modifyStrokeColor(color: string): void;
    /**
     * @param {string} color -color
     * @private
     * @returns {void}
     */
    modifyFillColor(color: string): void;
    /**
     * @param {string} dynamicText - dynamicText
     * @param {string} annotName - annotName
     * @private
     * @returns {void}
     */
    modifyDynamicTextValue(dynamicText: string, annotName: string): void;
    /**
     * @param {PdfAnnotationBaseModel} annotationBase - annotationBase
     * @param {string} property - property
     * @private
     * @returns {any} - any
     */
    modifyInCollections(annotationBase: PdfAnnotationBaseModel, property: string): any;
    /**
     * @private
     * @returns {void}
     */
    createPropertiesWindow(): void;
    private destroyPropertiesWindow;
    private refreshColorPicker;
    private createAppearanceTab;
    private createContent;
    private onStrokeDropDownBeforeOpen;
    private onFillDropDownBeforeOpen;
    private createStyleList;
    private createColorPicker;
    private createDropDownButton;
    private updateColorInIcon;
    /**
     * @param {string} color - color
     * @private
     * @returns {void}
     */
    onFillColorChange(color: string): void;
    /**
     * @param {string} color - color
     * @private
     * @returns {void}
     */
    onStrokeColorChange(color: string): void;
    private setThickness;
    private createDropDownContent;
    private createListForStyle;
    private onStartArrowHeadStyleSelect;
    private onEndArrowHeadStyleSelect;
    private createInputElement;
    private updateOpacityIndicator;
    /**
     * @param {number} opacityValue - opacityValue
     * @private
     * @returns {void}
     */
    onOkClicked(opacityValue?: number): void;
    private onCancelClicked;
    private getArrowTypeFromDropDown;
    /**
     * @param {drawings.DecoratorShapes} arrow - arrow
     * @private
     * @returns {string}- string
     */
    getArrowString(arrow: drawings.DecoratorShapes): string;
    /**
     * @private
     * @returns {void}
     */
    onAnnotationMouseUp(): void;
    /**
     * @param {PdfAnnotationBaseModel} pdfAnnotationBase - pdfAnnotationBase
     * @param {any} event - event
     * @private
     * @returns {void}
     */
    onShapesMouseup(pdfAnnotationBase: PdfAnnotationBaseModel, event: any): void;
    /**
     * @param {PdfAnnotationBaseModel} pdfAnnotationBase - pdfAnnotationBase
     * @param {boolean} isNewlyAdded - isNewlyAdded
     * @private
     * @returns {void}
     */
    updateCalibrateValues(pdfAnnotationBase: PdfAnnotationBaseModel, isNewlyAdded?: boolean): void;
    /**
     * @private
     * @returns {void}
     */
    onAnnotationMouseDown(): void;
    private enableBasedOnType;
    private getProperDate;
    /**
     * @param {IPageAnnotations} pageAnnotations - pageAnnotations
     * @param {number} pageNumber - pageNumber
     * @private
     * @returns {number} - number
     */
    getPageCollection(pageAnnotations: IPageAnnotations[], pageNumber: number): number;
    /**
     * @param {any} annotations - annotations
     * @param {string} id - id
     * @private
     * @returns {any} - any
     */
    getAnnotationWithId(annotations: any[], id: string): any;
    /**
     * @param {any} event - event
     * @private
     * @returns {number} - number
     */
    getEventPageNumber(event: any): number;
    /**
     * @param {any} commentsAnnotations - commentsAnnotations
     * @param {any} parentAnnotation - parentAnnotation
     * @param {string} author - author
     * @private
     * @returns {any} - any
     */
    getAnnotationComments(commentsAnnotations: any, parentAnnotation: any, author: string): ICommentsCollection[];
    private getRandomNumber;
    /**
     * @private
     * @returns {string} - string
     */
    createGUID(): string;
    /**
     * Generates a canvas element with mix-blend mode to highlight annotations.
     * @param {HTMLElement} pageDiv - pageDiv
     * @param {number} pageWidth - pageWidth
     * @param {number} pageHeight - pageHeight
     * @param {number} pageNumber - pageNumber
     * @param {string} displayMode - displayMode
     * @private
     * @returns {HTMLElement} - htmlelement
     */
    createBlendAnnotationsIntoCanvas(pageDiv: HTMLElement, pageWidth: number, pageHeight: number, pageNumber: number, displayMode?: string): HTMLElement;
    /**
     * @param {number} width - width
     * @param {number} height - height
     * @param {number} pageNumber - pageNumber
     * @private
     * @returns {void}
     */
    resizeAnnotations(width: number, height: number, pageNumber: number): void;
    /**
     * @param {number} pageNumber - pageNumber
     * @private
     * @returns {void}
     */
    clearAnnotationCanvas(pageNumber: number): void;
    /**
     * @param {number} pageNumber - pageNumber
     * @param {any} shapeAnnotation - shapeAnnotation
     * @param {any} measureShapeAnnotation - measureShapeAnnotation
     * @param {any} textMarkupAnnotation - textMarkupAnnotation
     * @param {any} canvas - canvas
     * @param {boolean} isImportAnnotations - isImportAnnotations
     * @param {boolean} isAnnotOrderAction - isAnnotOrderAction
     * @param {any} freeTextAnnotation - freeTextAnnotation
     * @param {any} inkAnnotation - inkAnnotation
     * @param {boolean} isLastAnnot - last annotation in document
     * @private
     * @returns {void}
     */
    renderAnnotations(pageNumber: number, shapeAnnotation: any, measureShapeAnnotation: any, textMarkupAnnotation: any, canvas?: any, isImportAnnotations?: boolean, isAnnotOrderAction?: boolean, freeTextAnnotation?: any, inkAnnotation?: any, isLastAnnot?: boolean): void;
    /**
     * @param {number} pageNumber - pageNumber
     * @param {any} annotation - annotation
     * @param {string} annotationId - annotationId
     * @private
     * @returns {number} - number
     */
    storeAnnotations(pageNumber: number, annotation: any, annotationId: string): number;
    /**
     * @param {string} type - type
     * @private
     * @returns {drawings.DecoratorShapes}- decorateshapes
     */
    getArrowType(type: string): drawings.DecoratorShapes;
    /**
     * @param {drawings.DecoratorShapes} arrow - arrow
     * @private
     * @returns {string}- string
     */
    getArrowTypeForCollection(arrow: drawings.DecoratorShapes): string;
    /**
     * @param {any} bound - bound
     * @param {number} pageIndex - pageIndex
     * @private
     * @returns {any} - any
     */
    getBounds(bound: any, pageIndex: number): any;
    /**
     * @param {any} bound - bound
     * @param {number} pageIndex - pageIndex
     * @private
     * @returns {any} - any
     */
    getInkBounds(bound: any, pageIndex: number): any;
    /**
     * @param {any} points - points
     * @param {number} pageIndex - pageIndex
     * @private
     * @returns {any} - any
     */
    getVertexPoints(points: any[], pageIndex: number): any;
    /**
     * @param {number} pageIndex - pageIndex
     * @param {any} shapeAnnotations - shapeAnnotations
     * @param {string} idString - idString
     * @private
     * @returns {any} - any
     */
    getStoredAnnotations(pageIndex: number, shapeAnnotations: any[], idString: string): any[];
    /**
     * @param {PdfAnnotationBaseModel} pdfAnnotationBase - pdfAnnotationBase
     * @param {boolean} isColor - isColor
     * @param {boolean} isStroke - isStroke
     * @param {boolean} isThickness - isThickness
     * @param {boolean} isOpacity - isOpacity
     * @param {boolean} isLineStart - isLineStart
     * @param {boolean} isLineEnd - isLineEnd
     * @param {boolean} isDashArray - isDashArray
     * @param {boolean} isFreeText - isFreeText
     * @param {string} previousText - previousText
     * @param {string} currentText - currentText
     * @private
     * @returns {void}
     */
    triggerAnnotationPropChange(pdfAnnotationBase: PdfAnnotationBaseModel, isColor: boolean, isStroke: boolean, isThickness: boolean, isOpacity: boolean, isLineStart?: boolean, isLineEnd?: boolean, isDashArray?: boolean, isFreeText?: boolean, previousText?: string, currentText?: string): void;
    /**
     * @param {PdfAnnotationBaseModel} pdfAnnotationBase - It describes about the pdf annotation base
     * @private
     * @returns {void}
     */
    triggerAnnotationAdd(pdfAnnotationBase: PdfAnnotationBaseModel): void;
    /**
     * @param {PdfAnnotationBaseModel} pdfAnnotationBase - pdfAnnotationBase
     * @private
     * @returns {void}
     */
    triggerAnnotationResize(pdfAnnotationBase: PdfAnnotationBaseModel): void;
    /**
     * @param {PdfAnnotationBaseModel} pdfAnnotationBase - pdfAnnotationBase
     * @param {boolean} isMoving - isMoving
     * @private
     * @returns {void}
     */
    triggerAnnotationMove(pdfAnnotationBase: PdfAnnotationBaseModel, isMoving?: boolean): void;
    /**
     * @param {any} annotationId - annotationId
     * @param {number} pageNumber - pageNumber
     * @param {any} annotation - annotation
     * @param {any} annotationCollection - annotationCollection
     * @param {boolean} isDblClick - isDblClick
     * @param {boolean} isSelected - isSelected
     * @private
     * @returns {void}
     */
    annotationSelect(annotationId: any, pageNumber: number, annotation: any, annotationCollection?: any, isDblClick?: boolean, isSelected?: boolean): void;
    selectSignature(signatureId: string, pageNumber: number, signatureModule: PdfAnnotationBaseModel): void;
    /**
     *
     * @param {string} signatureId - Gets the id of the signature
     * @param {number} pageNumber - Gets the page number value
     * @param {any} signatureModule - It describes about the signature module
     * @private
     * @returns {void}
     */
    unselectSignature(signatureId: string, pageNumber: number, signatureModule: any): void;
    editSignature(signature: any): void;
    private deletComment;
    private addReplyComments;
    private editComments;
    /**
     * Updates the existing properties of the specified annotation object.
     *
     * @param {any} annotation - The annotation object that contains the properties to be updated.
     * The object should include valid annotation properties such as type, bounds, color, opacity, etc.
     * Modifying these properties will update the annotation in the PDF Viewer accordingly.
     *
     * @remarks
     * This method will apply the changes to the annotation and refresh the viewer to reflect the updated properties.
     */
    editAnnotation(annotation: any): void;
    private annotationPropertyChange;
    private calculateAnnotationBounds;
    /**
     * @param {any} annotation - annotation
     * @private
     * @returns {void}
     */
    updateFreeTextProperties(annotation: any): void;
    private updateAnnotationComments;
    /**
     * @param {any} annotation - annotation
     * @param {any} currentAnnotation - currentAnnotation
     * @private
     * @returns {void}
     */
    addFreeTextProperties(annotation: any, currentAnnotation: any): void;
    updateMeasurementSettings(): void;
    private updateCollection;
    private modifyAnnotationProperties;
    /**
     * @param {string} annotationType - annotationType
     * @param {string} annotationSubType - annotationSubType
     * @private
     * @returns {string} - string
     */
    updateAnnotationAuthor(annotationType: string, annotationSubType?: string): string;
    /**
     * @param {string} colour - colour
     * @private
     * @returns {string} - string
     */
    nameToHash(colour: string): string;
    private updateFreeTextFontStyle;
    private setFreeTextFontStyle;
    /**
     * @param {any} annotation - annotation
     * @param {boolean} isSettings - isSettings
     * @private
     * @returns {any} - any
     */
    findAnnotationSettings(annotation: any, isSettings?: boolean): AnnotationSettingsModel;
    /**
     * @param {any} annotation - annotation
     * @private
     * @returns {any} - any
     */
    updateAnnotationSettings(annotation: any): any;
    /**
     * @param {any} annotationSettings - annotationSettings
     * @private
     * @returns {any} - any
     */
    updateSettings(annotationSettings: any): any;
    private getOverlappedAnnotations;
    private getPageShapeAnnotations;
    private findOverlappedAnnotations;
    private calculateOverlappedAnnotationBounds;
    /**
     * @param {any} annotation - annotation
     * @param {number} pageNumber - pageNumber
     * @param {string} type - type
     * @private
     * @returns {string} - string
     */
    findAnnotationMode(annotation: any, pageNumber: number, type: string): string;
    private checkOverlappedCollections;
    private orderTextMarkupBounds;
    /**
     * @param {any} annotation - annotation
     * @private
     * @returns {void}
     */
    updateModifiedDate(annotation: any): void;
    private setAnnotationModifiedDate;
    /**
     * @private
     * @returns {void}
     */
    clear(): void;
    retrieveAnnotationCollection(): any[];
    /**
     * @param {string} interaction - interaction
     * @param {any} annotation - annotation
     * @private
     * @returns {boolean} - boolean
     */
    checkAllowedInteractions(interaction: string, annotation: any): boolean;
    /**
     * @param {any} menuObj - menuObj
     * @private
     * @returns {void}
     */
    checkContextMenuDeleteItem(menuObj: any): void;
    /**
     * @private
     * @returns {boolean} - boolean
     */
    isEnableDelete(): boolean;
    /**
     * @private
     * @returns {ITextMarkupAnnotation | PdfAnnotationBaseModel} - ITextMarkupAnnotation | PdfAnnotationBaseModel
     */
    findCurrentAnnotation(): AnnotationsInternal | PdfAnnotationBaseModel;
    /**
     * @param {any} annotation - annotation
     * @private
     * @returns {string[]} - return string array
     */
    updateAnnotationAllowedInteractions(annotation: any): string[];
    /**
     * @param {any} annotation - annotation
     * @private
     * @returns {boolean} -boolean
     */
    checkIsLockSettings(annotation: any): boolean;
    private checkLockSettings;
    /**
     * @private
     * @returns {boolean} - boolean
     */
    restrictContextMenu(): boolean;
    private checkAllowedInteractionSettings;
    /**
     * @param {string} value - value
     * @param {string} type - type
     * @private
     * @returns {string} - string
     */
    getValue(value?: string, type?: string): string;
    private convertRgbToNumberArray;
    private convertToRgbString;
    private convertToHsvString;
    private roundValue;
    private hexToRgb;
    private rgbToHsv;
    private hsvToRgb;
    private rgbToHex;
    /**
     * @param {AnnotationDataFormat} dataFormat - dataFormat
     * @private
     * @returns {Promise} - promise
     */
    exportAnnotationsAsStream(dataFormat: AnnotationDataFormat): Promise<object>;
    private hex;
    /**
     * @param {any} obj - obj
     * @private
     * @returns {Object} - Object
     */
    cloneObject(obj: Object): Object;
    /**
     * @private
     * @returns {void}
     */
    destroy(): void;
    /**
     * @private
     * @returns {string} - string
     */
    getModuleName(): string;
    /**
     * Get vertex points properties
     *
     * @param {IPoint[]} points - points
     * @private
     * @returns {IPointBase[]} - IPointBase[]
     */
    getVertexPointsXY(points: IPoint[]): IPointBase[];
    /**
     * Method used to add annotations using program.
     *
     * @param {AnnotationType} annotationType - It describes type of annotation object.
     * @param {FreeTextSettings} options -  It describes about the annotation objects and it's property.
     * @param {DynamicStampItem} dynamicStampItem - It describe which type of dynamic stamp.
     * @param {SignStampItem} signStampItem - It describe which type of sign stamp.
     * @param {StandardBusinessStampItem} standardBusinessStampItem - It describe which type of standard business stamp.
     * @returns {void}
     */
    addAnnotation(annotationType: AnnotationType, options?: FreeTextSettings | StickyNotesSettings | HighlightSettings | UnderlineSettings | LineSettings | StrikethroughSettings | RectangleSettings | CircleSettings | ArrowSettings | PolygonSettings | DistanceSettings | PerimeterSettings | AreaSettings | RadiusSettings | VolumeSettings | InkAnnotationSettings | HandWrittenSignatureSettings | StampSettings | CustomStampSettings, dynamicStampItem?: DynamicStampItem, signStampItem?: SignStampItem, standardBusinessStampItem?: StandardBusinessStampItem): void;
    /**
     * @param {PdfAnnotationBaseModel} annotation - annotation
     * @private
     * @returns {void}
     */
    triggerAnnotationAddEvent(annotation: PdfAnnotationBaseModel): void;
    /**
     * @private
     * @returns {void}
     */
    triggerAnnotationUnselectEvent(): void;
    /**
     * @private
     * @returns {void}
     */
    triggerSignatureUnselectEvent(): void;
    /**
     * @param {PdfAnnotationBaseModel} currentAnnotation - currentAnnotation
     * @param {any} currentValue - currentValue
     * @private
     * @returns {void}
     */
    updateFontFamilyRenderSize(currentAnnotation: PdfAnnotationBaseModel, currentValue: string): void;
    /**
     * @param {string} text - text
     * @param {number} rectangle - rectangle
     * @param {number} width - width
     * @private
     * @returns {number} - fontSize
     */
    calculateFontSize(text: string, rectangle: {
        width: number;
        height: number;
    }): number;
}
/**
 *
 * @hidden
 */
export interface IPointBase {
    X: number;
    Y: number;
}
/**
 *
 * @hidden
 */
export interface IRect {
    x: number;
    y: number;
    width: number;
    height: number;
}
/**
 *
 * @hidden
 */
export  class AnnotationBaseSettings {
    opacity?: number;
    fillColor?: string;
    strokeColor?: string;
    thickness?: number;
    author?: string;
    subject?: string;
    modifiedDate?: string;
    lineHeadStartStyle?: string;
    lineHeadEndStyle?: string;
    borderDashArray?: string;
    borderColor?: string;
    borderWidth?: number;
    fontSize?: number;
    bounds?: AnnotBoundsRect;
    width?: number;
    height?: number;
    fontColor?: string;
    fontFamily?: string;
    defaultText?: string;
    fontStyle?: PdfFontModel;
    textAlignment?: string;
}
/**
 *
 * @hidden
 */
export  class AnnotBoundsRect {
    left: number;
    top: number;
    width: number;
    height: number;
}
/**
 *
 * @hidden
 */
export  class AnnotBoundsBase {
    X: number;
    Y: number;
    Width: number;
    Height: number;
}
/**
 *
 * @hidden
 */
export  class AnnotRectBase {
    X: number;
    Y: number;
    Width: number;
    Height: number;
    x: number;
    y: number;
    width: number;
    height: number;
}
/**
 *
 * @hidden
 */
export  class AnnotFontBase {
    Bold?: boolean;
    Italic?: boolean;
    Strikeout?: boolean;
    Underline?: boolean;
}
/**
 *
 * @hidden
 */
export  class IBounds {
    Right: number;
    Bottom: number;
}
/**
 *
 * @hidden
 */
export  class AnnotationsInternal {
    annotationId?: string;
    pageNumber?: number;
    pageIndex?: number;
    shapeAnnotationType?: string;
    bounds?: AnnotBoundsRect | IRect | IBounds;
    uniqueKey?: string;
    id?: string;
    textMarkupAnnotationType: string;
    author: string;
    subject: string;
    modifiedDate: string;
    note: string;
    color: any;
    rect?: any;
    opacity: number;
    comments: ICommentsCollection[];
    review: IReviewCollection;
    annotName: string;
    position?: string;
    textMarkupContent: string;
    textMarkupStartIndex: number;
    textMarkupEndIndex: number;
    annotationSelectorSettings: AnnotationSelectorSettingsModel;
    customData: object;
    isMultiSelect?: boolean;
    annotNameCollection?: any[];
    annotpageNumbers?: any[];
    annotationSettings?: any;
    allowedInteractions?: AllowedInteraction;
    isLocked: boolean;
    isPrint: boolean;
    isCommentLock: boolean;
    isAnnotationRotated: boolean;
    annotationRotation?: number;
    ShapeAnnotationType?: string;
    annotationAddMode?: string;
    rotateAngle?: number;
    pageRotation?: number;
}
/**
 *
 * @hidden
 */
export  class AnnotationsBase {
    isMultiSelect?: boolean;
    isAddAnnotationProgramatically?: boolean;
    annotationAddMode?: string;
    AllowedInteractions?: AllowedInteraction[];
    allowedInteractions?: AllowedInteraction[];
    Bounds?: AnnotBoundsBase | IRect | IBounds;
    AnnotType?: string;
    VertexPoints?: IPointBase[];
    AnnotationSettings?: AnnotationSettingsModel;
    IsLocked?: boolean;
    PageRotation?: number;
    author?: string;
    subject?: string;
    modifiedDate?: string;
    Rotate?: number;
    Author?: string;
    ModifiedDate?: string;
    Subject?: string;
    Thickness?: number;
    MarkupText?: string;
    StrokeColor?: string;
    FillColor?: string;
    FontSize?: number;
    Font?: AnnotFontBase;
    AnnotName?: string;
    Opacity?: number;
    FontColor?: string;
    IsPrint?: boolean;
    IsCommentLock?: boolean;
    AnnotationSelectorSettings?: AnnotationSelectorSettingsModel;
    rotateAngle?: number;
    pageRotation?: number;
    IsReadonly?: boolean;
    IsTransparentSet?: boolean;
    rect?: any;
    ShapeAnnotationType?: string;
    FontFamily?: string;
    TextAlign?: string;
    Comments?: ICommentsCollection[];
    State?: string;
    StateModel?: string;
    annotationId?: string;
    pageNumber?: number;
    pageIndex?: number;
    shapeAnnotationType?: string;
    bounds?: AnnotBoundsRect | IRect;
    uniqueKey?: string;
    id?: string;
}
//node_modules/@syncfusion/ej2-pdfviewer/src/pdfviewer/accessibility-tags/accessibility-tags.d.ts
/**
 * The 'AccessibilityTags' module helps to access the tagged layers in a PDF document for the users with disabilities.
 *
 * @param {TaggedElements[]} taggedTextResponse - taggedTextResponse
 * @returns {AccessibilityTags} - AccessibilityTags
 */
export  class AccessibilityTags {
    private pdfViewer;
    private pdfViewerBase;
    /**
     * @param {PdfViewer} pdfViewer - The PdfViewer.
     * @param {PdfViewerBase} pdfViewerBase - The PdfViewerBase.
     * @private
     */
    constructor(pdfViewer: PdfViewer, pdfViewerBase: PdfViewerBase);
    private addTaggedLayer;
    /**
     * @param {number} pageIndex - It describes about the page index value
     * @param {TaggedElements[]} taggedTextResponse - It describes about the tagged text response
     * @private
     * @returns {void}
     */
    renderAccessibilityTags(pageIndex: number, taggedTextResponse: TaggedElements[]): void;
    private createTag;
    private getTag;
    private setStyleToTaggedTextDiv;
    private setTextElementProperties;
    /**
     * @private
     * @returns {string} - string
     */
    getModuleName(): string;
    /**
     * @private
     * @returns {string} - string
     */
    destroy(): boolean;
}
/**
 *
 * @hidden
 * @private
 */
 class TaggedElements {
    Order: number;
    TagType: string;
    ParentTagType: string;
    Text: string;
    AltText: string;
    FontSize: number;
    FontName: string;
    FontStyle: string;
    PageNumber: number;
    ChildElements: TaggedElements[];
    Bounds: RectBounds;
}
/**
 *
 * @hidden
 * @private
 */
export  class RectBounds {
    X: number;
    Y: number;
    Width: number;
    Height: number;
    Location: {
        X: number;
        Y: number;
    };
    Size: SizeBase;
    Left: number;
    Top: number;
    Right: number;
    Bottom: number;
    constructor(_X: number, _Y: number, _Width: number, _Height: number);
}
 }
export namespace pivotview { 

//node_modules/@syncfusion/ej2-pivotview/src/pivotview/renderer.d.ts
/**
 * Renderer Export
 */
//node_modules/@syncfusion/ej2-pivotview/src/pivotview/base.d.ts
/**
 * Base export
 */
//node_modules/@syncfusion/ej2-pivotview/src/pivotview/actions.d.ts
/**
 * Action export
 */
//node_modules/@syncfusion/ej2-pivotview/src/pivotview/renderer/render.d.ts
/**
 * Module to render PivotGrid control
 */
/** @hidden */
export  class Render {
    /** @hidden */
    parent: PivotView;
    /** @hidden */
    engine: PivotEngine | OlapEngine;
    /** @hidden */
    gridSettings: GridSettingsModel;
    /** @hidden */
    rowStartPos: number;
    /** @hidden */
    maxIndent: number;
    /** @hidden */
    resColWidth: number;
    /** @hidden */
    isOverflows: boolean;
    /** @hidden */
    isAutoFitEnabled: boolean;
    /** @hidden */
    pivotColumns: grids.ColumnModel1[];
    /** @hidden */
    lastColumn: grids.ColumnModel1;
    /** @hidden */
    indentCollection: {
        [key: number]: number;
    };
    private formatList;
    private colPos;
    private colGrandPos;
    private rowGrandPos;
    private lastSpan;
    private aggMenu;
    private field;
    private fieldCaption;
    private lvlCollection;
    private hierarchyCollection;
    private lvlPosCollection;
    private hierarchyPosCollection;
    private position;
    private measurePos;
    private maxMeasurePos;
    private hierarchyCount;
    private actualText;
    private drilledLevelInfo;
    private timeOutObj;
    /** Constructor for render module
     *
     * @param {PivotView} parent - Instance of pivot table.
     */
    constructor(parent: PivotView);
    /** @hidden */
    render(refreshRequired?: boolean): void;
    private initProperties;
    private refreshHeader;
    /** @hidden */
    bindGrid(parent: PivotView, isEmpty: boolean): void;
    private actionComplete;
    /**
     * It is used to add the pivot autofit class
     *
     * @returns {void}
     * @hidden
     */
    addPivotAutoFitClass(): void;
    /**
     * It is used to remove the pivot autofit class
     *
     * @returns {void}
     * @hidden
     */
    removePivotAutoFitClass(): void;
    private headerRefreshed;
    private beforeExcelExport;
    private rowSelected;
    private rowDeselected;
    private cellSelected;
    private cellSelecting;
    private cellDeselected;
    private queryCellInfo;
    private headerCellInfo;
    private excelHeaderQueryCellInfo;
    private pdfQueryCellInfo;
    private excelQueryCellInfo;
    private pdfHeaderQueryCellInfo;
    private pdfExportComplete;
    private excelExportComplete;
    private dataBound;
    private setFocusOnLastCell;
    private getCellElement;
    private contextMenuOpen;
    private getMenuItem;
    private contextMenuClick;
    private validateColumnTotalcell;
    private validateField;
    private updateAggregate;
    private injectGridModules;
    /** @hidden */
    updateGridSettings(): void;
    private updatePivotColumns;
    private clearColumnSelection;
    private appendValueSortIcon;
    private onResizeStop;
    private getChildColumnWidth;
    private setGroupWidth;
    /** @hidden */
    selected(): void;
    private onSelect;
    private rowCellBoundEvent;
    private appendTemplate;
    private onOlapRowCellBoundEvent;
    private columnCellBoundEvent;
    private updateWrapper;
    private onOlapColumnCellBoundEvent;
    private isSpannedCell;
    private onHyperCellClick;
    private getRowStartPos;
    private frameDataSource;
    /** @hidden */
    frameEmptyData(): IGridValues;
    /** @hidden */
    calculateColWidth(colCount: number): number;
    /** @hidden */
    resizeColWidth(colCount: number): number;
    /** @hidden */
    calculateGridWidth(): number | string;
    /** @hidden */
    calculateGridHeight(elementCreated?: boolean): number | string;
    /**
     * It used to frame stacked headers.
     *
     * @returns {grids.ColumnModel[]} - Returns grid columns.
     * @hidden
     */
    frameStackedHeaders(): grids.ColumnModel1[];
    /** @hidden */
    setSavedWidth(column: string, width: number): number;
    /** @hidden */
    frameEmptyColumns(): grids.ColumnModel1[];
    /** @hidden */
    getFormatList(): {
        [key: string]: string;
    };
    private getValidHeader;
    private excelColumnEvent;
    private pdfColumnEvent;
    private excelRowEvent;
    private pdfRowEvent;
    private excelDataBound;
    private exportHeaderEvent;
    /**
     *
     * @param {IGridValues} actualData - It contains the data source.
     * @returns {IGridValues} - It frames the data source without index and indexObject properties.
     * @hidden */
    frameGridDataSource(actualData: IGridValues): IGridValues;
    /** @hidden */
    cloneDataWithoutIndex(data: Record<string, unknown>): IAxisSet;
    private exportContentEvent;
    private unWireEvents;
    private wireEvents;
    private setSpanAttributes;
    private updatePivotColumn;
    private getTotalColumnWidth;
}
//node_modules/@syncfusion/ej2-pivotview/src/pivotview/model/gridsettings.d.ts
/**
 * Interface for a class SelectionSettings
 */
export  class PivotSelectionSettings extends base.ChildProperty<PivotSelectionSettings> {
    /**
     * Allow options to highlight either row wise or column wise or specific cells in the pivot table.
     * For example, to highlight the columns, set the property `mode` to **Column**. The modes available are:
     * * `Cell`: Allows specific cells to be highlighted in the pivot table.
     * * `Row`: Allows the rows to be highlighted in the pivot table.
     * * `Column`: Allows the columns to be highlighted in the pivot table.
     * * `Both`: Allows both rows, columns and cells to be highlighted in the pivot table.
     *
     * @default Row
     */
    mode: SelectionMode;
    /**
     * Allow options to customize the mode of selection to highlight either row wise or column wise or specific cell in the pivot table.
     * For example, to apply the selection that includes in between cells of rows within the range, set the property `cellSelectionMode` to **Box**.
     * The modes available are:
     * * `Flow`: Allows the range of cells to be selected between the start index and the end index, which also includes the other cells of the selected rows in the pivot table.
     * * `Box`: Allows you to select a range of cells within the starting and ending column indexes that are included in the range between row cells in the pivot table.
     * * `BoxWithBorder`: Allows the range of cells to be selected as the box mode, but along with the borders in the pivot table.
     *
     * @default Flow
     */
    cellSelectionMode: PivotCellSelectionMode;
    /**
     * Allow options to customize the selection type to highlight either row wise or column wise or specific cell in the pivot table.
     * For example, to highlight multiple rows or columns or cells, set the property `type` to **Multiple**.
     * The types available are:
     * * `Single`: Allows the user to select a row or cell on their own in the pivot table.
     * * `Multiple`: Allows the user to select multiple rows or columns or cells in the pivot table.
     *
     * @default Single
     */
    type: grids.SelectionType;
    /**
     * Allows the selection options to highlight the rows in the pivot table using checkbox selection on their own.
     * > To enable checkboxOnly selection, should specify the column `type` as **checkbox**.
     *
     * @default false
     */
    checkboxOnly: boolean;
    /**
     * Allows you to keep selections in rows or columns or cells while performing all operations in the pivot table.
     * > For persisting selection, any one of the column should be enabled as a primary key using the `columns.isPrimaryKey` property in the grid instance.
     *
     * @default false
     */
    persistSelection: boolean;
    /**
     * Allow options to customize the checkbox selection mode in the pivot table.
     * For example, to select multiple rows one by one through simple clicking on rows, set the property `checkboxMode` to **Default**.
     * The modes available are:
     * * `Default`: Allows multiple rows to be selected by clicking rows one by one.
     * * `ResetOnRowClick`: Allows you to reset the previously selected row while clicking on a specific row.
     * You can also select multiple rows by clicking on rows along with the **CTRL** or **SHIFT** key in the pivot table.
     *
     * @default Default
     */
    checkboxMode: grids.CheckboxSelectionType;
    /**
     * Allows to perform multiple selection in rows with single clicks without using **SHIFT** or **CTRL** keys.
     *
     * @default false
     */
    enableSimpleMultiRowSelection: boolean;
}
/**
 *  Represents Pivot widget model class.
 */
export  class GridSettings extends base.ChildProperty<GridSettings> {
    /**
     * Allow the height of the pivot table content to be set, meaning that the height given should be applied without considering the column headers in the pivot table.
     *
     * @default 'auto'
     */
    height: number | string;
    /**
     * Allow to set width of the pivot table.
     * > The pivot table will not display less than 400px, as it is the minimum width to the component.
     *
     * @default 'auto'
     */
    width: number | string;
    /**
     * Allow the options for customizing the cell borders of each cell to be displayed in the pivot table.
     * For example, to display a pivot table without cell borders, set the property gridLines to None. The modes available are,
     * * `Both`: Allows the cell border to be displayed both horizontally and vertically in the pivot table.
     * * `None`: Allows no cell borders to be displayed in the pivot table.
     * * `Horizontal`: Allows the cell border to be shown horizontally in the pivot table.
     * * `Vertical`: Allows the cell border to be shown vertically in the pivot table.
     * * `Default`: Allows the display of the cell borders based on the theme used in the pivot table.
     *
     * @default Both
     */
    gridLines: grids.GridLine;
    /**
     * Allow to enable the content of the cells to be wrapped when they exceed the width of the cells in the pivot table.
     *
     * @default false
     */
    allowTextWrap: boolean;
    /**
     * Allows to reorder a specific column header from one index to another index in the pivot table by drag-and-drop.
     * > Reordering allows only at the same level as the column headers in the pivot table.
     *
     * @default false
     */
    allowReordering: boolean;
    /**
     * Allows the columns to be resized by clicking and dragging the right edge of the column headers.
     * > In RTL mode, user can click and drag the left edge of the header cell to resize the column.
     *
     * @default true
     */
    allowResizing: boolean;
    /**
     * Allows the component to be fit based on the width of its columns.
     *
     * @default true
     */
    allowAutoResizing: boolean;
    /**
     * Allow to set height to the pivot table rows commonly.
     * > By default, the rowHeight property is set as 36 pixels for desktop layout and 48 pixels for mobile layout.
     * The height of the column headers alone may vary when grouping bar feature is enabled.
     *
     * @default null
     */
    rowHeight: number;
    /**
     * Allow to set width to the pivot table columns commonly.
     * > By default, the columnWidth property is set as 110 pixels to each column except the first column.
     * The first column always defined as row headers in the pivot table. For first column,
     * 250 pixels and 200 pixels are set respectively with and without grouping bar.
     *
     * @default 110
     */
    columnWidth: number;
    /**
     * Specifies the layout options for displaying the pivot table in either a compact or tabular format.
     * The available options are:
     * * `Compact`: Displays the pivot table in a compact format, merging row headers into a single column.
     * * `Tabular`: Displays the pivot table in a traditional format with separate columns for row headers, creating a more detailed table format.
     *
     * @default Compact
     */
    layout: GridLayout;
    /**
     * Allows the contents of the cell overflow to be displayed in the pivot table.
     * For example, to truncate the cell content of a cell when it overflows with respect to its cell width, set the property `clipMode` to **Clip**.
     * The modes available are:
     * * `Clip`: Allow the content of a cell to truncate when it overflows its content area.
     * * `Ellipsis`: Allows the content of a cell to be displayed as an ellipse when it overflows its content area.
     * * `EllipsisWithTooltip`: Allows the cell content to be displayed as an ellipse when its content area is overflowing.
     * And the tooltip will also be displayed while hovering on the ellipsis applied cell.
     *
     * @default Ellipsis
     */
    clipMode: grids.ClipMode;
    /**
     * Allows a row or column or cell to be highlighted by simply clicking or arrow key in the pivot table.
     *
     * @default false
     */
    allowSelection: boolean;
    /**
     * Allows to highlight specific row in the pivot table during initial rendering.
     * For example, to highlight the pivot table's first row, set the property `selectedRowIndex` to **0**.
     * > You can get the currently selected row index of the pivot table from the `selectedRowIndex` property using pivot table instance at run-time.
     *
     * @default -1
     * @aspType int
     */
    selectedRowIndex: number;
    /**
     * Allows set of options to customize the selection of a row or column or cell by simply clicking on the arrow key in the pivot table.
     * The options available are:
     * * `mode - Allow options to highlight either row wise or column wise or specific cells in the pivot table.
     * For example, to highlight the columns, set the property `mode` to **Column**.
     * * `cellSelectionMode`: Allow options to customize the mode of selection to highlight either row wise or column wise or specific cell in the pivot table.
     * For example, to apply the selection that includes in between cells of rows within the range, set the property `cellSelectionMode` to **Box**.
     * * `type`: Allow options to customize the selection type to highlight either row wise or column wise or specific cell in the pivot table.
     * For example, to highlight multiple rows or columns or cells, set the property `type` to **Multiple**.
     * * `checkboxOnly`: Allows the selection options to highlight the rows in the pivot table using checkbox selection on their own.
     * * `persistSelection`: Allows you to keep selections in rows or columns or cells while performing all operations in the pivot table.
     * * `checkboxMode`: Allow options to customize the checkbox selection mode in the pivot table.
     * For example, to select multiple rows one by one through simple clicking on rows, set the property `checkboxMode` to **Default**.
     * * `enableSimpleMultiRowSelection`: Allows to perform multiple selection in rows with single clicks without using **SHIFT** or **CTRL** keys.
     *
     * @default {mode: 'Row', cellSelectionMode: 'Flow', type: 'Single'}
     */
    selectionSettings: grids.SelectionSettingsModel | SelectionSettings;
    /**
     * Allows the options for customizing the content of the cells to be wrapped in either rows and column headers or values or both headers and values in the pivot table.
     * For example, to wrap the contents of the value cells in the pivot table, then set the property `wrapMode` to **Content** in the `textWrapSettings` class.
     * The options available are:
     * * `Both`: Allows the content of the cells to be wrapped in both headers and values.
     * * `Header`: Allows the content of the cells to be wrapped in rows and column headers alone.
     * * `Content`: Allows the content of the cells to be packed for the value cells alone.
     *
     * @default { wrapMode: 'Both'}
     */
    textWrapSettings: grids.TextWrapSettings;
    /**
     * Allow options to print either the current page shown in the pivot table on its own or the entire pivot table.
     * The options available are:
     * * `AllPages`: Prints the entire pivot table.
     * * `CurrentPage`: Prints the current page shown in the pivot table on its own.
     *
     * @default AllPages
     */
    printMode: grids.PrintMode;
    /**
     * Allows to show built-in context with pre-defined menu option or custom menu options by simply right clicking on the pivot table cell.
     * The options available are:
     * * `Drillthrough`: Allows to show the drill-through dialog over the pivot table to perform drill-through operations.
     * * `Expand`: Allows to expand the collapsed row or column headers in the pivot table.
     * * `Collapse`: Allows to collapse the expanded row or column headers in the pivot table.
     * * `CalculatedField`: Allows to show the calculated field dialog over the pivot table to perform calculated field operations.
     * * `Pdf Export`: Allows to export the pivot table as PDF format.
     * * `Excel Export`: Allows to export the pivot table as Excel format.
     * * `Csv Export`: Allows to export the pivot table as CSV format.
     * * `Sort Ascending`: Allows to perform ascending order with respect to the values on selected cell contained row or column in the pivot table.
     * * `Sort Descending`: Allows to perform descending order with respect to the values on selected cell contained row or column in the pivot table.
     * * `Aggregate`: Allow options to perform calculations over a group of values (exclusively for value fields bound in value axis) using the aggregation option in the pivot table.
     *
     * @default null
     */
    contextMenuItems: PivotTableContextMenuItem[] | grids.ContextMenuItemModel[];
    /**
     * It triggers before copy information from the pivot table.
     *
     * @event beforeCopy
     * @deprecated
     */
    beforeCopy: base.EmitType<grids.BeforeCopyEventArgs>;
    /**
     * It triggers after print action is completed.
     *
     * @event printComplete
     * @deprecated
     */
    printComplete: base.EmitType<grids.PrintEventArgs>;
    /**
     * It triggers before the print action starts.
     *
     * @event beforePrint
     * @deprecated
     */
    beforePrint: base.EmitType<grids.PrintEventArgs>;
    /**
     * It triggers before the PDF export starts.
     *
     * @event beforePdfExport
     * @deprecated
     */
    beforePdfExport: base.EmitType<Object>;
    /**
     * It triggers before the Excel export starts.
     *
     * @event beforeExcelExport
     * @deprecated
     */
    beforeExcelExport: base.EmitType<Object>;
    /**
     * It triggers before context menu opens.
     *
     * @event contextMenuOpen
     * @deprecated
     */
    contextMenuOpen: base.EmitType<navigations.BeforeOpenCloseMenuEventArgs>;
    /**
     * It triggers when click on context menu.
     *
     * @event contextMenuClick
     * @deprecated
     */
    contextMenuClick: base.EmitType<navigations.MenuEventArgs>;
    /**
     * Triggered every time a request is made to access cell information, element, or data.
     * It will get triggered before the cell element is appended to the Grid element.
     *
     * @event queryCellInfo
     * @deprecated
     */
    queryCellInfo: base.EmitType<grids.QueryCellInfoEventArgs>;
    /**
     * Triggered for column header.
     * It will get triggered before the cell element is appended to the Grid element.
     *
     * @event headerCellInfo
     * @deprecated
     */
    headerCellInfo: base.EmitType<grids.HeaderCellInfoEventArgs>;
    /**
     * It triggers before row selection occurs in the pivot table.
     *
     * @event rowSelecting
     * @deprecated
     */
    rowSelecting: base.EmitType<grids.RowSelectEventArgs>;
    /**
     * It triggers after a row is selected in the pivot table.
     *
     * @event rowSelected
     * @deprecated
     */
    rowSelected: base.EmitType<grids.RowSelectEventArgs>;
    /**
     * It triggers before deselecting the selected row from the pivot table.
     *
     * @event rowDeselecting
     * @deprecated
     */
    rowDeselecting: base.EmitType<grids.RowDeselectEventArgs>;
    /**
     * It triggers when a selected row is deselected from the pivot table.
     *
     * @event rowDeselected
     * @deprecated
     */
    rowDeselected: base.EmitType<grids.RowDeselectEventArgs>;
    /**
     * It triggers before any cell selection occurs in the pivot table.
     *
     * @event cellSelecting
     * @deprecated
     */
    cellSelecting: base.EmitType<grids.CellSelectingEventArgs>;
    /**
     * It triggers after a cell is selected in the pivot table.\
     *
     * @event cellSelected
     * @deprecated
     */
    cellSelected: base.EmitType<grids.CellSelectEventArgs>;
    /**
     * It triggers before the selected cell is deselecting from the pivot table.
     *
     * @event cellDeselecting
     * @deprecated
     */
    cellDeselecting: base.EmitType<grids.CellDeselectEventArgs>;
    /**
     * It triggers when a particular selected cell is deselected from the pivot table.
     *
     * @event cellDeselected
     * @deprecated
     */
    cellDeselected: base.EmitType<grids.CellDeselectEventArgs>;
    /**
     * It triggers when column resize starts in the pivot table.
     *
     * @event resizeStart
     * @deprecated
     */
    resizeStart: base.EmitType<grids.ResizeArgs>;
    /**
     * It triggers on column resizing in the pivot table.
     *
     * @event resizing
     * @deprecated
     */
    resizing: base.EmitType<grids.ResizeArgs>;
    /**
     * It triggers when column resize ends in the pivot table.
     *
     * @event resizeStop
     * @deprecated
     */
    resizeStop: base.EmitType<grids.ResizeArgs>;
    /**
     * It triggers before exporting each header cell to PDF document. You can also customize the PDF cells.
     *
     * @event pdfHeaderQueryCellInfo
     * @deprecated
     */
    pdfHeaderQueryCellInfo: base.EmitType<grids.PdfHeaderQueryCellInfoEventArgs>;
    /**
     * It triggers before exporting each cell to PDF document. You can also customize the PDF cells.
     *
     * @event pdfQueryCellInfo
     * @deprecated
     */
    pdfQueryCellInfo: base.EmitType<grids.PdfQueryCellInfoEventArgs>;
    /**
     * It triggers before exporting each header cell to Excel file.
     * You can also customize the Excel cells.
     *
     * @event excelHeaderQueryCellInfo
     * @deprecated
     */
    excelHeaderQueryCellInfo: base.EmitType<grids.ExcelHeaderQueryCellInfoEventArgs>;
    /**
     * It triggers before exporting each cell to Excel file.
     * You can also customize the Excel cells.
     *
     * @event excelQueryCellInfo
     * @deprecated
     */
    excelQueryCellInfo: base.EmitType<grids.ExcelQueryCellInfoEventArgs>;
    /**
     * It triggers when column header element drag (move) starts.
     *
     * @event columnDragStart
     * @deprecated
     */
    columnDragStart: base.EmitType<grids.ColumnDragEventArgs>;
    /**
     * It triggers when column header element is dragged (moved) continuously.
     *
     * @event columnDrag
     * @deprecated
     */
    columnDrag: base.EmitType<grids.ColumnDragEventArgs>;
    /**
     * It triggers when a column header element is dropped on the target column.
     *
     * @event columnDrop
     * @deprecated
     */
    columnDrop: base.EmitType<grids.ColumnDragEventArgs>;
    /**
     * It allows to configure the column before it renders.
     *
     * @event columnRender
     * @deprecated
     */
    columnRender: base.EmitType<ColumnRenderEventArgs>;
}
//node_modules/@syncfusion/ej2-pivotview/src/pivotview/model/gridsettings-model.d.ts
/**
 * Interface for a class PivotSelectionSettings
 */
export interface PivotSelectionSettingsModel {
    /**
     * Allow options to highlight either row wise or column wise or specific cells in the pivot table.
     * For example, to highlight the columns, set the property `mode` to **Column**. The modes available are:
     * * `Cell`: Allows specific cells to be highlighted in the pivot table.
     * * `Row`: Allows the rows to be highlighted in the pivot table.
     * * `Column`: Allows the columns to be highlighted in the pivot table.
     * * `Both`: Allows both rows, columns and cells to be highlighted in the pivot table.
     *
     * @default Row
     */
    mode?: SelectionMode;
    /**
     * Allow options to customize the mode of selection to highlight either row wise or column wise or specific cell in the pivot table.
     * For example, to apply the selection that includes in between cells of rows within the range, set the property `cellSelectionMode` to **Box**.
     * The modes available are:
     * * `Flow`: Allows the range of cells to be selected between the start index and the end index, which also includes the other cells of the selected rows in the pivot table.
     * * `Box`: Allows you to select a range of cells within the starting and ending column indexes that are included in the range between row cells in the pivot table.
     * * `BoxWithBorder`: Allows the range of cells to be selected as the box mode, but along with the borders in the pivot table.
     *
     * @default Flow
     */
    cellSelectionMode?: PivotCellSelectionMode;
    /**
     * Allow options to customize the selection type to highlight either row wise or column wise or specific cell in the pivot table.
     * For example, to highlight multiple rows or columns or cells, set the property `type` to **Multiple**.
     * The types available are:
     * * `Single`: Allows the user to select a row or cell on their own in the pivot table.
     * * `Multiple`: Allows the user to select multiple rows or columns or cells in the pivot table.
     *
     * @default Single
     */
    type?: grids.SelectionType;
    /**
     * Allows the selection options to highlight the rows in the pivot table using checkbox selection on their own.
     * > To enable checkboxOnly selection, should specify the column `type` as **checkbox**.
     *
     * @default false
     */
    checkboxOnly?: boolean;
    /**
     * Allows you to keep selections in rows or columns or cells while performing all operations in the pivot table.
     * > For persisting selection, any one of the column should be enabled as a primary key using the `columns.isPrimaryKey` property in the grid instance.
     *
     * @default false
     */
    persistSelection?: boolean;
    /**
     * Allow options to customize the checkbox selection mode in the pivot table.
     * For example, to select multiple rows one by one through simple clicking on rows, set the property `checkboxMode` to **Default**.
     * The modes available are:
     * * `Default`: Allows multiple rows to be selected by clicking rows one by one.
     * * `ResetOnRowClick`: Allows you to reset the previously selected row while clicking on a specific row.
     * You can also select multiple rows by clicking on rows along with the **CTRL** or **SHIFT** key in the pivot table.
     *
     * @default Default
     */
    checkboxMode?: grids.CheckboxSelectionType;
    /**
     * Allows to perform multiple selection in rows with single clicks without using **SHIFT** or **CTRL** keys.
     *
     * @default false
     */
    enableSimpleMultiRowSelection?: boolean;
}
/**
 * Interface for a class GridSettings
 */
export interface GridSettingsModel {
    /**
     * Allow the height of the pivot table content to be set, meaning that the height given should be applied without considering the column headers in the pivot table.
     *
     * @default 'auto'
     */
    height?: number | string;
    /**
     * Allow to set width of the pivot table.
     * > The pivot table will not display less than 400px, as it is the minimum width to the component.
     *
     * @default 'auto'
     */
    width?: number | string;
    /**
     * Allow the options for customizing the cell borders of each cell to be displayed in the pivot table.
     * For example, to display a pivot table without cell borders, set the property gridLines to None. The modes available are,
     * * `Both`: Allows the cell border to be displayed both horizontally and vertically in the pivot table.
     * * `None`: Allows no cell borders to be displayed in the pivot table.
     * * `Horizontal`: Allows the cell border to be shown horizontally in the pivot table.
     * * `Vertical`: Allows the cell border to be shown vertically in the pivot table.
     * * `Default`: Allows the display of the cell borders based on the theme used in the pivot table.
     *
     * @default Both
     */
    gridLines?: grids.GridLine;
    /**
     * Allow to enable the content of the cells to be wrapped when they exceed the width of the cells in the pivot table.
     *
     * @default false
     */
    allowTextWrap?: boolean;
    /**
     * Allows to reorder a specific column header from one index to another index in the pivot table by drag-and-drop.
     * > Reordering allows only at the same level as the column headers in the pivot table.
     *
     * @default false
     */
    allowReordering?: boolean;
    /**
     * Allows the columns to be resized by clicking and dragging the right edge of the column headers.
     * > In RTL mode, user can click and drag the left edge of the header cell to resize the column.
     *
     * @default true
     */
    allowResizing?: boolean;
    /**
     * Allows the component to be fit based on the width of its columns.
     *
     * @default true
     */
    allowAutoResizing?: boolean;
    /**
     * Allow to set height to the pivot table rows commonly.
     * > By default, the rowHeight property is set as 36 pixels for desktop layout and 48 pixels for mobile layout.
     * The height of the column headers alone may vary when grouping bar feature is enabled.
     *
     * @default null
     */
    rowHeight?: number;
    /**
     * Allow to set width to the pivot table columns commonly.
     * > By default, the columnWidth property is set as 110 pixels to each column except the first column.
     * The first column always defined as row headers in the pivot table. For first column,
     * 250 pixels and 200 pixels are set respectively with and without grouping bar.
     *
     * @default 110
     */
    columnWidth?: number;
    /**
     * Specifies the layout options for displaying the pivot table in either a compact or tabular format.
     * The available options are:
     * * `Compact`: Displays the pivot table in a compact format, merging row headers into a single column.
     * * `Tabular`: Displays the pivot table in a traditional format with separate columns for row headers, creating a more detailed table format.
     *
     * @default Compact
     */
    layout?: GridLayout;
    /**
     * Allows the contents of the cell overflow to be displayed in the pivot table.
     * For example, to truncate the cell content of a cell when it overflows with respect to its cell width, set the property `clipMode` to **Clip**.
     * The modes available are:
     * * `Clip`: Allow the content of a cell to truncate when it overflows its content area.
     * * `Ellipsis`: Allows the content of a cell to be displayed as an ellipse when it overflows its content area.
     * * `EllipsisWithTooltip`: Allows the cell content to be displayed as an ellipse when its content area is overflowing.
     * And the tooltip will also be displayed while hovering on the ellipsis applied cell.
     *
     * @default Ellipsis
     */
    clipMode?: grids.ClipMode;
    /**
     * Allows a row or column or cell to be highlighted by simply clicking or arrow key in the pivot table.
     *
     * @default false
     */
    allowSelection?: boolean;
    /**
     * Allows to highlight specific row in the pivot table during initial rendering.
     * For example, to highlight the pivot table's first row, set the property `selectedRowIndex` to **0**.
     * > You can get the currently selected row index of the pivot table from the `selectedRowIndex` property using pivot table instance at run-time.
     *
     * @default -1
     * @aspType int
     */
    selectedRowIndex?: number;
    /**
     * Allows set of options to customize the selection of a row or column or cell by simply clicking on the arrow key in the pivot table.
     * The options available are:
     * * `mode - Allow options to highlight either row wise or column wise or specific cells in the pivot table.
     * For example, to highlight the columns, set the property `mode` to **Column**.
     * * `cellSelectionMode`: Allow options to customize the mode of selection to highlight either row wise or column wise or specific cell in the pivot table.
     * For example, to apply the selection that includes in between cells of rows within the range, set the property `cellSelectionMode` to **Box**.
     * * `type`: Allow options to customize the selection type to highlight either row wise or column wise or specific cell in the pivot table.
     * For example, to highlight multiple rows or columns or cells, set the property `type` to **Multiple**.
     * * `checkboxOnly`: Allows the selection options to highlight the rows in the pivot table using checkbox selection on their own.
     * * `persistSelection`: Allows you to keep selections in rows or columns or cells while performing all operations in the pivot table.
     * * `checkboxMode`: Allow options to customize the checkbox selection mode in the pivot table.
     * For example, to select multiple rows one by one through simple clicking on rows, set the property `checkboxMode` to **Default**.
     * * `enableSimpleMultiRowSelection`: Allows to perform multiple selection in rows with single clicks without using **SHIFT** or **CTRL** keys.
     *
     * @default {mode: 'Row', cellSelectionMode: 'Flow', type: 'Single'}
     */
    selectionSettings?: grids.SelectionSettingsModel | SelectionSettings;
    /**
     * Allows the options for customizing the content of the cells to be wrapped in either rows and column headers or values or both headers and values in the pivot table.
     * For example, to wrap the contents of the value cells in the pivot table, then set the property `wrapMode` to **Content** in the `textWrapSettings` class.
     * The options available are:
     * * `Both`: Allows the content of the cells to be wrapped in both headers and values.
     * * `Header`: Allows the content of the cells to be wrapped in rows and column headers alone.
     * * `Content`: Allows the content of the cells to be packed for the value cells alone.
     *
     * @default { wrapMode: 'Both'}
     */
    textWrapSettings?: grids.TextWrapSettings;
    /**
     * Allow options to print either the current page shown in the pivot table on its own or the entire pivot table.
     * The options available are:
     * * `AllPages`: Prints the entire pivot table.
     * * `CurrentPage`: Prints the current page shown in the pivot table on its own.
     *
     * @default AllPages
     */
    printMode?: grids.PrintMode;
    /**
     * Allows to show built-in context with pre-defined menu option or custom menu options by simply right clicking on the pivot table cell.
     * The options available are:
     * * `Drillthrough`: Allows to show the drill-through dialog over the pivot table to perform drill-through operations.
     * * `Expand`: Allows to expand the collapsed row or column headers in the pivot table.
     * * `Collapse`: Allows to collapse the expanded row or column headers in the pivot table.
     * * `CalculatedField`: Allows to show the calculated field dialog over the pivot table to perform calculated field operations.
     * * `Pdf1 Export`: Allows to export the pivot table as PDF format.
     * * `Excel1 Export`: Allows to export the pivot table as Excel format.
     * * `Csv1 Export`: Allows to export the pivot table as CSV format.
     * * `Sort Ascending`: Allows to perform ascending order with respect to the values on selected cell contained row or column in the pivot table.
     * * `Sort Descending`: Allows to perform descending order with respect to the values on selected cell contained row or column in the pivot table.
     * * `Aggregate`: Allow options to perform calculations over a group of values (exclusively for value fields bound in value axis) using the aggregation option in the pivot table.
     *
     * @default null
     */
    contextMenuItems?: PivotTableContextMenuItem[] | grids.ContextMenuItemModel[];
    /**
     * It triggers before copy information from the pivot table.
     *
     * @event beforeCopy
     * @deprecated
     */
    beforeCopy?: base.EmitType<grids.BeforeCopyEventArgs>;
    /**
     * It triggers after print action is completed.
     *
     * @event printComplete
     * @deprecated
     */
    printComplete?: base.EmitType<grids.PrintEventArgs>;
    /**
     * It triggers before the print action starts.
     *
     * @event beforePrint
     * @deprecated
     */
    beforePrint?: base.EmitType<grids.PrintEventArgs>;
    /**
     * It triggers1 before the PDF export starts.
     *
     * @event beforePdfExport
     * @deprecated
     */
    beforePdfExport?: base.EmitType<Object>;
    /**
     * It triggers1 before the Excel export starts.
     *
     * @event beforeExcelExport
     * @deprecated
     */
    beforeExcelExport?: base.EmitType<Object>;
    /**
     * It triggers before context menu opens.
     *
     * @event contextMenuOpen
     * @deprecated
     */
    contextMenuOpen?: base.EmitType<navigations.BeforeOpenCloseMenuEventArgs>;
    /**
     * It triggers when click on context menu.
     *
     * @event contextMenuClick
     * @deprecated
     */
    contextMenuClick?: base.EmitType<navigations.MenuEventArgs>;
    /**
     * Triggered every time a request is made to access cell information, element, or data.
     * It will get triggered before the cell element is appended to the Grid element.
     *
     * @event queryCellInfo
     * @deprecated
     */
    queryCellInfo?: base.EmitType<grids.QueryCellInfoEventArgs>;
    /**
     * Triggered for column header.
     * It will get triggered before the cell element is appended to the Grid element.
     *
     * @event headerCellInfo
     * @deprecated
     */
    headerCellInfo?: base.EmitType<grids.HeaderCellInfoEventArgs>;
    /**
     * It triggers before row selection occurs in the pivot table.
     *
     * @event rowSelecting
     * @deprecated
     */
    rowSelecting?: base.EmitType<grids.RowSelectEventArgs>;
    /**
     * It triggers after a row is selected in the pivot table.
     *
     * @event rowSelected
     * @deprecated
     */
    rowSelected?: base.EmitType<grids.RowSelectEventArgs>;
    /**
     * It triggers before deselecting the selected row from the pivot table.
     *
     * @event rowDeselecting
     * @deprecated
     */
    rowDeselecting?: base.EmitType<grids.RowDeselectEventArgs>;
    /**
     * It triggers when a selected row is deselected from the pivot table.
     *
     * @event rowDeselected
     * @deprecated
     */
    rowDeselected?: base.EmitType<grids.RowDeselectEventArgs>;
    /**
     * It triggers before any cell selection occurs in the pivot table.
     *
     * @event cellSelecting
     * @deprecated
     */
    cellSelecting?: base.EmitType<grids.CellSelectingEventArgs>;
    /**
     * It triggers after a cell is selected in the pivot table.\
     *
     * @event cellSelected
     * @deprecated
     */
    cellSelected?: base.EmitType<grids.CellSelectEventArgs>;
    /**
     * It triggers before the selected cell is deselecting from the pivot table.
     *
     * @event cellDeselecting
     * @deprecated
     */
    cellDeselecting?: base.EmitType<grids.CellDeselectEventArgs>;
    /**
     * It triggers when a particular selected cell is deselected from the pivot table.
     *
     * @event cellDeselected
     * @deprecated
     */
    cellDeselected?: base.EmitType<grids.CellDeselectEventArgs>;
    /**
     * It triggers when column resize starts in the pivot table.
     *
     * @event resizeStart
     * @deprecated
     */
    resizeStart?: base.EmitType<grids.ResizeArgs>;
    /**
     * It triggers on column resizing in the pivot table.
     *
     * @event resizing
     * @deprecated
     */
    resizing?: base.EmitType<grids.ResizeArgs>;
    /**
     * It triggers when column resize ends in the pivot table.
     *
     * @event resizeStop
     * @deprecated
     */
    resizeStop?: base.EmitType<grids.ResizeArgs>;
    /**
     * It triggers before exporting each header cell to PDF document. You can also customize the PDF cells.
     *
     * @event pdfHeaderQueryCellInfo
     * @deprecated
     */
    pdfHeaderQueryCellInfo?: base.EmitType<grids.PdfHeaderQueryCellInfoEventArgs>;
    /**
     * It triggers before exporting each cell to PDF document. You can also customize the PDF cells.
     *
     * @event pdfQueryCellInfo
     * @deprecated
     */
    pdfQueryCellInfo?: base.EmitType<grids.PdfQueryCellInfoEventArgs>;
    /**
     * It triggers before exporting each header cell to Excel file.
     * You can also customize the Excel cells.
     *
     * @event excelHeaderQueryCellInfo
     * @deprecated
     */
    excelHeaderQueryCellInfo?: base.EmitType<grids.ExcelHeaderQueryCellInfoEventArgs>;
    /**
     * It triggers before exporting each cell to Excel file.
     * You can also customize the Excel cells.
     *
     * @event excelQueryCellInfo
     * @deprecated
     */
    excelQueryCellInfo?: base.EmitType<grids.ExcelQueryCellInfoEventArgs>;
    /**
     * It triggers when column header element drag (move) starts.
     *
     * @event columnDragStart
     * @deprecated
     */
    columnDragStart?: base.EmitType<grids.ColumnDragEventArgs>;
    /**
     * It triggers when column header element is dragged (moved) continuously.
     *
     * @event columnDrag
     * @deprecated
     */
    columnDrag?: base.EmitType<grids.ColumnDragEventArgs>;
    /**
     * It triggers when a column header element is dropped on the target column.
     *
     * @event columnDrop
     * @deprecated
     */
    columnDrop?: base.EmitType<grids.ColumnDragEventArgs>;
    /**
     * It allows to configure the column before it renders.
     *
     * @event columnRender
     * @deprecated
     */
    columnRender?: base.EmitType<ColumnRenderEventArgs>;
}
//node_modules/@syncfusion/ej2-pivotview/src/pivotview/model/chartsettings.d.ts
/**
 * Allows to configure the animation behavior for chart series such as animation duration and delay.
 */
export  class Animation extends base.ChildProperty<Animation> {
    /**
     * Allow the chart series gets animated on initial loading.
     *
     * @default true
     */
    enable: boolean;
    /**
     * Allows to set the duration of animation in milliseconds.
     *
     * @default 1000
     */
    duration: number;
    /**
     * Allows to delay the animation of the chart series.
     *
     * @default 0
     */
    delay: number;
}
/**
 * Allows to customize specific region for line type series with a variety of means such as value, color, pattern of dashes.
 */
export  class ChartSegment extends base.ChildProperty<ChartSegment> {
    /**
     * Allows to set the starting point of region.
     *
     * @default null
     */
    value: object;
    /**
     * Allows to set the color of a region.
     *
     * @default null
     */
    color: string;
    /**
     * Allows to set the pattern of dashes and gaps to stroke.
     *
     * @default '0'
     */
    dashArray: string;
    /** @private */
    startValue: number;
    /** @private */
    endValue: number;
}
/**
 * Allows to customize the appearance of the text in the chart such as font style, font size, font weight, font color, font family, text alignment, opacity, text overflow.
 */
export  class Font extends base.ChildProperty<Font> {
    /**
     * Allows to set the font style to the text in the chart.
     *
     * @default 'Normal'
     */
    fontStyle: string;
    /**
     * Allows to set the font size to the text in the chart.
     *
     * @default '16px'
     */
    size: string;
    /**
     * Allows to set the font weight to the text in the chart.
     *
     * @default 'Normal'
     */
    fontWeight: string;
    /**
     * Allows to set color to the text in the chart.
     *
     * @default ''
     */
    color: string;
    /**
     * Allows to set text alignment in the chart
     *
     * @default 'Center'
     */
    textAlignment: charts.Alignment;
    /**
     * Allows to set font family to the text in the chart.
     *
     * @default 'Segoe UI'
     */
    fontFamily: string;
    /**
     * Allows to set opacity to the text in the chart.
     *
     * @default 1
     */
    opacity: number;
    /**
     * Allows to specify the chart title text overflow
     *
     * @default 'Trim'
     */
    textOverflow: charts.TextOverflow;
}
/**
 * Allow options to customize the left, right, top and bottom margins of the pivot chart.
 */
export  class Margin extends base.ChildProperty<Margin> {
    /**
     * Allows to set the left margin in pixels.
     *
     * @default 10
     */
    left: number;
    /**
     * Allows to set the right margin in pixels.
     *
     * @default 10
     */
    right: number;
    /**
     * Allows to set the top margin in pixels.
     *
     * @default 10
     */
    top: number;
    /**
     * Allows to set the bottom margin in pixels.
     *
     * @default 10
     */
    bottom: number;
}
/**
 * Allow options to customize the border of the chart such as color and border size in the pivot chart.
 * For example, to display the chart border color as red, set the properties `color` to either **"red"**
 * or **"#FF0000"** or **"rgba(255,0,0,1.0)"** and `width` to **0.5**.
 */
export  class Border extends base.ChildProperty<Border> {
    /**
     * Allows to set the color of the border that accepts value in hex and rgba as a valid CSS color string.
     *
     * @default ''
     */
    color: string;
    /**
     * Allows to set the width of the border in pixels.
     *
     * @default 1
     */
    width: number;
}
/**
 * Allows to configure the position of the marker such as top and left in the chart.
 */
export  class Offset extends base.ChildProperty<Offset> {
    /**
     * Allows to set the x(left) value of the marker position
     *
     * @default 0
     */
    x: number;
    /**
     * Allows to set the y(top) value of the marker position
     *
     * @default 0
     */
    y: number;
}
/**
 * Allows you to highlight a specific point of the series while rendering the pivot chart.
 * For example, to highlight first point in the first series, set the properties series to 0 and points to 1. To use this option, it requires the property `selectionMode` to be **Point** or **Series**.
 *
 * @public
 */
export  class Indexes extends base.ChildProperty<Indexes> {
    /**
     * Allows to specify the series index
     *
     * @default 0
     * @aspType int
     */
    series: number;
    /**
     * Allows to specify the point index
     *
     * @default 0
     * @aspType int
     */
    point: number;
}
/**
 * Allow options to customize the chart area with a variety of settings such as background color, border, opacity and background image in the pivot chart.
 * For example, to change the of the pivot chart's background, set the property `opacity` to **0.5**.
 */
export  class ChartArea extends base.ChildProperty<ChartArea> {
    /**
     * Allows options to customize the border of the chart area.
     */
    border: charts.BorderModel;
    /**
     * Allows to set the background of the chart area that accepts value in hex and rgba as a valid CSS color string.
     *
     * @default 'transparent'
     */
    background: string;
    /**
     * Allows to set the opacity to the background of the chart area.
     *
     * @default 1
     */
    opacity: number;
    /**
     * Allows to set the background image of the chart area that accepts value in string as url link or location of an image.
     *
     * @default null
     */
    backgroundImage: string;
}
/**
 * Allow options to customize the crosshair line with different settings such as color and width of the line,
 * line types that are shown horizontally and vertically to indicate the value of the axis at the mouse hover or touch position in the pivot chart.
 */
export  class CrosshairSettings extends base.ChildProperty<CrosshairSettings> {
    /**
     * Allows to show the crosshair lines in the chart.
     *
     * @default false
     */
    enable: boolean;
    /**
     * Allows to set the pattern of dashes and gaps to crosshair.
     *
     * @default ''
     */
    dashArray: string;
    /**
     * Allow options to customize the border of the crosshair line such as color and border size in the pivot chart.
     */
    line: charts.BorderModel;
    /**
     * Allows to specify the line type of the crosshair. Horizontal mode enables the horizontal line and Vertical mode enables the vertical line. They are,
     * * None: Hides both vertical and horizontal crosshair lines.
     * * Both: Shows both vertical and horizontal crosshair lines.
     * * Vertical: Shows the vertical line.
     * * Horizontal: Shows the horizontal line.
     *
     * @default Both
     */
    lineType: charts.LineType;
}
/**
 * Allows to configure the data label with different settings such as name, fill color, opacity, rotation angle, border, margins, etc in the chart.
 */
export  class DataLabelSettings extends base.ChildProperty<DataLabelSettings> {
    /**
     * Allows to set the visibility of data label to the series renders.
     *
     * @default false
     */
    visible: boolean;
    /**
     * Allows to set the data source field that contains the data label value.
     *
     * @default null
     */
    name: string;
    /**
     * Allows to set the background color of the data label accepts value in hex and rgba as a valid CSS color string.
     *
     * @default 'transparent'
     */
    fill: string;
    /**
     * Allows to set the opacity to the background.
     *
     * @default 1
     */
    opacity: number;
    /**
     * Allows to specify the rotation angle to data label.
     *
     * @default 0
     */
    angle: number;
    /**
     * Allows to set whether rotation to data label is enable or not.
     *
     * @default false
     */
    enableRotation: boolean;
    /**
     * Allows to specify the position of the data label. They are,
     * * Outer: Positions the label outside the point.
     * * top: Positions the label on top of the point.
     * * Bottom: Positions the label at the bottom of the point.
     * * Middle: Positions the label to the middle of the point.
     * * Auto: Positions the label based on series.
     *
     * @default 'Auto'
     */
    position: LabelPosition;
    /**
     * Allows to set the roundedCornerX for the data label. It requires `border` values not to be null.
     *
     * @default 5
     */
    rx: number;
    /**
     * Allows to set the roundedCornerY for the data label. It requires `border` values not to be null.
     *
     * @default 5
     */
    ry: number;
    /**
     * Allows to set the alignment for data Label. They are,
     * * Near: Aligns the label to the left of the point.
     * * Center: Aligns the label to the center of the point.
     * * Far: Aligns the label to the right of the point.
     *
     * @default 'Center'
     */
    alignment: charts.Alignment;
    /**
     * Allows option for customizing the border lines.
     */
    border: charts.BorderModel;
    /**
     * Allows customize the margin to the data label.
     */
    margin: charts.MarginModel;
    /**
     * Allows option for customizing the data label text.
     */
    font: charts.FontModel;
    /**
     * Allows custom template to show the data label. Use ${point.x} and ${point.y} as a placeholder
     * text to display the corresponding data point.
     *
     * @default null
     * @aspType string
     */
    template: string | Function;
}
/**
 * Allow options to customize the pie, funnel, doughnut and pyramid chart data label connector.
 */
export  class PivotChartConnectorStyle extends base.ChildProperty<PivotChartConnectorStyle> {
    /**
     * specifies the type of the connector line for pie, funnel, doughnut and pyramid chart. They are
     * * curve
     * * Line
     *
     * @default 'Line'
     */
    type: charts.ConnectorType;
    /**
     * Specifies the color of the connector line for pie, funnel, doughnut and pyramid chart.
     *
     * @default null
     */
    color: string;
    /**
     * Width of the connector line in pixels for pie, funnel, doughnut and pyramid chart.
     *
     * @default 1
     */
    width: number;
    /**
     * Length of the connector line in pixels for pie, funnel, doughnut and pyramid chart.
     *
     * @default 'null'
     */
    length: string;
    /**
     * dashArray of the connector line for pie, funnel, doughnut and pyramid chart.
     *
     * @default ''
     */
    dashArray: string;
}
/**
 * Allow options to customize the pie, funnel, doughnut and pyramid chart data label connector.
 */
export  class PivotChartDataLabel extends base.ChildProperty<PivotChartDataLabel> {
    /**
     * Allows to set the visibility of data label to the series renders.
     *
     * @default true
     */
    visible: boolean;
    /**
     * Allows to set the border to data labels.
     */
    border: charts.BorderModel;
    /**
     * Allows to customize the font of data labels.
     */
    font: charts.FontModel;
    /**
     * Allows to set the background color of the data label accepts value in hex and rgba as a valid CSS color string.
     *
     * @default 'transparent'
     */
    fill: string;
    /**
     * Allows to specify the rotation angle to data label.
     *
     * @default 0
     */
    angle: number;
    /**
     * Allows to set whether rotation to data label is enable or not.
     *
     * @default false
     */
    enableRotation: boolean;
    /**
     * Allows to specify the position of the data label. They are,
     * * Outside: Positions the label outside the point.
     * * Inside: Positions the label on top of the point.
     *
     * @default 'Outside'
     */
    position: charts.AccumulationLabelPosition;
    /**
     * Allows to set the roundedCornerX for the data label. It requires `border` values not to be null.
     *
     * @default 5
     */
    rx: number;
    /**
     * Allows to set the roundedCornerY for the data label. It requires `border` values not to be null.
     *
     * @default 5
     */
    ry: number;
    /**
     * Allows custom template to show the data label. Use ${point.x} and ${point.y} as a placeholder
     * text to display the corresponding data point.
     *
     * @default null
     * @aspType string
     */
    template: string | Function;
    /**
     * Allows custom connector of the pie, funnel, pyramid and doughnut chart data label.
     *
     * @default null
     */
    connectorStyle: PivotChartConnectorStyleModel;
}
/**
 *  Allows to configure the marker of the series such as shape, width, height, border, position, fill color, opacity, data label etc in the chart
 */
export  class MarkerSettings extends base.ChildProperty<MarkerSettings> {
    /**
     * Allows the visibility of the marker for chart series.
     * > This is applicable only for line and area type series.
     *
     * @default false
     */
    visible: boolean;
    /**
     * Allows to specify the shape of a marker.They are
     * * Circle - Renders a circle.
     * * Rectangle - Renders a rectangle.
     * * Triangle - Renders a triangle.
     * * Diamond - Renders a diamond.
     * * Cross - Renders a cross.
     * * HorizontalLine - Renders a horizontalLine.
     * * VerticalLine - Renders a verticalLine.
     * * Pentagon- Renders a pentagon.
     * * InvertedTriangle - Renders a invertedTriangle.
     * * Image - Renders a image.
     *
     * @default 'Circle'
     */
    shape: charts.ChartShape;
    /**
     * Allows to set the URL for the Image that is to be displayed as a marker.  It requires marker `shape` value to be an `Image`.
     *
     * @default ''
     */
    imageUrl: string;
    /**
     * Allows to set the width of the marker in pixels.
     *
     * @default 5
     */
    width: number;
    /**
     * Allows to set the height of the marker in pixels.
     *
     * @default 5
     */
    height: number;
    /**
     * Allows options for customizing the border of a marker.
     */
    border: charts.BorderModel;
    /**
     * Allows options for customizing the marker position.
     */
    offset: OffsetModel;
    /**
     *  Allows to set the fill color of the marker that accepts value in hex and rgba as a valid CSS color string.
     *  By default, it will take series' color.
     *
     * @default null
     */
    fill: string;
    /**
     * Allows to set the opacity of the marker.
     *
     * @default 1
     */
    opacity: number;
    /**
     * Allows to set the data label for the series.
     */
    dataLabel: charts.DataLabelSettingsModel;
}
/**
 * Allows to configure the error bar cap settings such as cap width, length, color, opacity.
 */
export  class ErrorBarCapSettings extends base.ChildProperty<ErrorBarCapSettings> {
    /**
     * Allows to set the width of the error bar in pixels.
     *
     * @default 1
     */
    width: number;
    /**
     * Allows to set the length of the error bar in pixels.
     *
     * @default 10
     */
    length: number;
    /**
     *  Allows to set the stroke color of the cap, which accepts value in hex, rgba as a valid CSS color string.
     *
     * @default null
     */
    color: string;
    /**
     * Allows to set the opacity of the cap.
     *
     * @default 1
     */
    opacity: number;
}
/**
 * Allows options for customize the error bar chart with different settings such as type, direction, mode, color, width, etc.
 *
 * @public
 */
export  class ErrorBarSettings extends base.ChildProperty<ErrorBarSettings> {
    /**
     * Allows to set the visibility of the error bar gets rendered.
     *
     * @default false
     */
    visible: boolean;
    /**
     * Allows to set the type of the error bar . They are
     * * Fixed -  Renders a fixed type error bar.
     * * Percentage - Renders a percentage type error bar.
     * * StandardDeviation - Renders a standard deviation type error bar.
     * * StandardError -Renders a standard error type error bar.
     * * Custom -Renders a custom type error bar.
     *
     * @default 'Fixed'
     */
    type: charts.ErrorBarType;
    /**
     * Allows to set the direction of the error bar . They are
     * * both -  Renders both direction of error bar.
     * * minus - Renders minus direction of error bar.
     * * plus - Renders plus direction error bar.
     *
     * @default 'Both'
     */
    direction: charts.ErrorBarDirection;
    /**
     * Allows to set the mode of the error bar . They are
     * * Vertical -  Renders a vertical error bar.
     * * Horizontal - Renders a horizontal error bar.
     * * Both - Renders both side error bar.
     *
     * @default 'Vertical'
     */
    mode: charts.ErrorBarMode;
    /**
     * Allows to set the vertical error of the error bar.
     *
     * @default 1
     */
    verticalError: number;
    /**
     *  Allows to set the color for stroke of the error bar, which accepts value in hex, rgba as a valid CSS color string.
     *
     * @default null
     */
    color: string;
    /**
     * Allows to set the stroke width of the error bar.
     *
     * @default 1
     */
    width: number;
    /**
     * Allows to set the horizontal error of the error bar.
     *
     * @default 1
     */
    horizontalError: number;
    /**
     * Allows to set the vertical negative error of the error bar.
     *
     * @default 3
     */
    verticalNegativeError: number;
    /**
     * Allows to set the vertical positive error of the error bar.
     *
     * @default 3
     */
    verticalPositiveError: number;
    /**
     * Allows to set the horizontal negative error of the error bar.
     *
     * @default 1
     */
    horizontalNegativeError: number;
    /**
     * Allows to set the horizontal positive error of the error bar.
     *
     * @default 1
     */
    horizontalPositiveError: number;
    /**
     * Allows options for customizing the cap of the error bar.
     */
    errorBarCap: charts.ErrorBarCapSettingsModel;
}
/**
 * Allows to configure the trendlines of the chart such as name, period, type, tooltip, marker, animation, color, legend shape, etc.
 */
export  class Trendline extends base.ChildProperty<Trendline> {
    /**
     * Allows to set the name of trendline
     *
     * @default ''
     */
    name: string;
    /**
     * Allows to set the pattern of dashes and gaps to stroke.
     *
     * @default '0'
     */
    dashArray: string;
    /**
     * Allows to specify the visibility of trendline.
     *
     * @default true
     */
    visible: boolean;
    /**
     * Allows to set the period, the price changes over which will be considered to predict moving average trend line
     *
     * @default 2
     */
    period: number;
    /**
     * Allows to set the type of the trendline
     *
     * @default 'Linear'
     */
    type: charts.TrendlineTypes;
    /**
     * Allows to set the period, by which the trend has to backward forecast
     *
     * @default 0
     */
    backwardForecast: number;
    /**
     * Allows to set the period, by which the trend has to forward forecast
     *
     * @default 0
     */
    forwardForecast: number;
    /**
     * Allows to set the polynomial order of the polynomial trendline
     *
     * @default 2
     */
    polynomialOrder: number;
    /**
     * Allows options to customize the marker for trendlines
     *
     * @deprecated
     */
    marker: charts.MarkerSettingsModel;
    /**
     * Allows to set the visibility of the tooltip for trendlines
     *
     * @default true
     */
    enableTooltip: boolean;
    /**
     * Allows options to customize the animation for trendlines
     */
    animation: charts.AnimationModel;
    /**
     * Allows to set the fill color of trendline
     *
     * @default ''
     */
    fill: string;
    /**
     * Allows to set the width of the trendline
     *
     * @default 1
     */
    width: number;
    /**
     * Allows to set the intercept of the trendline
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    intercept: number;
    /**
     * Allows to set the legend shape of the trendline
     *
     * @default 'SeriesType'
     */
    legendShape: charts.LegendShape;
}
/**
 * Allows to configure the empty points with a variety of means such as fill color, border and mode in the chart.
 */
export  class EmptyPointSettings extends base.ChildProperty<EmptyPointSettings> {
    /**
     * Allows you to customize the fill color of empty points.
     *
     * @default null
     */
    fill: string;
    /**
     * Allows options to customize the border of empty points.
     *
     * @default "{color: 'transparent', width: 0}"
     */
    border: charts.BorderModel;
    /**
     * Allows you To customize the mode of empty points.
     *
     * @default Zero
     */
    mode: charts.EmptyPointMode | charts.AccEmptyPointMode;
}
/**
 * Allows to customize the rounded corners of the column series in the chart.
 */
export  class CornerRadius extends base.ChildProperty<CornerRadius> {
    /**
     * Allows to set the top left corner radius value
     *
     * @default 0
     */
    topLeft: number;
    /**
     * Allows to set the top right corner radius value
     *
     * @default 0
     */
    topRight: number;
    /**
     * Allows to set the bottom left corner radius value
     *
     * @default 0
     */
    bottomLeft: number;
    /**
     * Allows to set the bottom right corner radius value
     *
     * @default 0
     */
    bottomRight: number;
}
/**
 * Allows to configure the crosshair tooltip with text style and fill color in the chart.
 */
export  class CrosshairTooltip extends base.ChildProperty<CrosshairTooltip> {
    /**
     * Allows to set the visibility of the crosshair tooltip.
     *
     *  @default false
     */
    enable: boolean;
    /**
     * Allows to set the fill color of the ToolTip accepts value in hex and rgba as a valid CSS color string.
     *
     * @default null
     */
    fill: string;
    /**
     * Allows options to customize the crosshair ToolTip text.
     */
    textStyle: charts.FontModel;
}
/**
 * Allows to configure the strip line properties such as line position, size, color, size type, border, text and opacity in the chart.
 */
export  class StripLineSettings extends base.ChildProperty<StripLineSettings> {
    /**
     * Allows to set the visibility of the strip line for axis to be rendered.
     *
     * @default true
     */
    visible: boolean;
    /**
     *  Allows the strip line to be rendered from axis origin.
     *
     *  @default false
     */
    startFromAxis: boolean;
    /**
     * Allows to set the start value of the strip line.
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    start: number | Date;
    /**
     * Allows to set the end value of the strip line.
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    end: number | Date;
    /**
     * Allows to set the size of the strip line, when it starts from the origin.
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    size: number;
    /**
     * Allows to set the color of the strip line.
     *
     * @default '#808080'
     */
    color: string;
    /**
     * Allows to set the dash array of the strip line.
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    dashArray: string;
    /**
     * Allows to set the size type of the strip line
     *
     * @default Auto
     */
    sizeType: charts.SizeType;
    /**
     * Allows to set repeated value of the strip line.
     *
     * @default false
     * @aspDefaultValueIgnore
     */
    isRepeat: boolean;
    /**
     * Allows to set the repeatEvery value of the strip line.
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    repeatEvery: number | Date;
    /**
     * Allows to set the repeatUntil value of the strip line.
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    repeatUntil: number | Date;
    /**
     * Allows to set the isSegmented value of the strip line
     *
     * @default false
     * @aspDefaultValueIgnore
     */
    isSegmented: boolean;
    /**
     * Allows to set the segmentStart value of the strip line.
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    segmentStart: number | Date;
    /**
     * Allows to set the segmentEnd value of the strip line.
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    segmentEnd: number | Date;
    /**
     * Allows to set the segmentAxisName of the strip line.
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    segmentAxisName: string;
    /**
     * Allows to customize the border of the strip line with different settings such as text, rotation, line alignment, text style and opacity in the chart.
     */
    border: charts.BorderModel;
    /**
     * Allows to set the strip line text.
     *
     * @default ''
     */
    text: string;
    /**
     * Allows to set the angle to which the strip line text gets rotated.
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    rotation: number;
    /**
     * Allows to set the position of the strip line text horizontally. They are,
     * * Start: Places the strip line text at the start.
     * * Middle: Places the strip line text in the middle.
     * * End: Places the strip line text at the end.
     *
     * @default 'Middle'
     */
    horizontalAlignment: charts.Anchor;
    /**
     * Allows to set the position of the strip line text vertically. They are,
     * * Start: Places the strip line text at the start.
     * * Middle: Places the strip line text in the middle.
     * * End: Places the strip line text at the end.
     *
     * @default 'Middle'
     */
    verticalAlignment: charts.Anchor;
    /**
     * Allows options to customize the strip line text.
     */
    textStyle: charts.FontModel;
    /**
     * Allows to set the order of the strip line. They are,
     * * Behind: Places the strip line behind the series elements.
     * * Over: Places the strip line over the series elements.
     *
     * @default 'Behind'
     */
    zIndex: charts.ZIndex;
    /**
     * Allows to set the opacity of the strip line
     *
     * @default 1
     */
    opacity: number;
}
/**
 * Allows to customize the label border with a variety of means such as label color, width and label type in the chart.
 */
export  class LabelBorder extends base.ChildProperty<LabelBorder> {
    /**
     * Allows to set the color of the border that accepts value in hex and rgba as a valid CSS color string.
     *
     * @default ''
     */
    color: string;
    /**
     * Allows to set the width of the border in pixels.
     *
     * @default 1
     */
    width: number;
    /**
     * Allows to set the border type for labels
     * * Rectangle
     * * Without Top Border
     * * Without Top and BottomBorder
     * * Without Border
     * * Brace
     * * CurlyBrace
     *
     * @default 'Rectangle'
     */
    type: charts.BorderType;
}
/**
 * Allows to configure the major grid lines such as line width, color and dashArray in the `axis`.
 */
export  class MajorGridLines extends base.ChildProperty<MajorGridLines> {
    /**
     * Allows to set the width of the line in pixels.
     *
     * @default 1
     */
    width: number;
    /**
     * Allows to set the dash array of the grid lines.
     *
     * @default ''
     */
    dashArray: string;
    /**
     * Allows to set the color of the major grid line that accepts value in hex and rgba as a valid CSS color string.
     *
     * @default null
     */
    color: string;
}
/**
 * Allows to configure the minor grid lines such as line width, dashArray and color in the `axis`.
 */
export  class MinorGridLines extends base.ChildProperty<MinorGridLines> {
    /**
     * Allows to set the width of the line in pixels.
     *
     * @default 0.7
     */
    width: number;
    /**
     * Allows to set the dash array of grid lines.
     *
     * @default ''
     */
    dashArray: string;
    /**
     * Allows to set the color of the minor grid line that accepts value in hex and rgba as a valid CSS color string.
     *
     * @default null
     */
    color: string;
}
/**
 * Allows to configure the axis line such as line width, dashArray and color in a chart.
 */
export  class AxisLine extends base.ChildProperty<AxisLine> {
    /**
     * Allows to set the width of the line in pixels.
     *
     * @default 1
     */
    width: number;
    /**
     * Allows to set the dash array of the axis line.
     *
     * @default ''
     */
    dashArray: string;
    /**
     * Allows to set the color of the axis line that accepts value in hex and rgba as a valid CSS color string.
     *
     * @default null
     */
    color: string;
}
/**
 * Allows to configure the major tick lines such as width, height and color in the chart.
 */
export  class MajorTickLines extends base.ChildProperty<MajorTickLines> {
    /**
     * Allows to set the width of the tick lines in pixels.
     *
     * @default 1
     */
    width: number;
    /**
     * Allows to set the height of the ticks in pixels.
     *
     * @default 5
     */
    height: number;
    /**
     * Allows to set the color of the major tick line that accepts value in hex and rgba as a valid CSS color string.
     *
     * @default null
     */
    color: string;
}
/**
 * Allows to configure the minor tick lines such as width, height and color in the chart.
 */
export  class MinorTickLines extends base.ChildProperty<MinorTickLines> {
    /**
     * Allows to set the width of the tick line in pixels.
     *
     * @default 0.7
     */
    width: number;
    /**
     * Allows to set the height of the ticks in pixels.
     *
     * @default 5
     */
    height: number;
    /**
     * Allows to set the color of the minor tick line that accepts value in hex and rgba as a valid CSS color string.
     *
     * @default null
     */
    color: string;
}
/**
 * Allows to configure the position of the legend such as top and left in the chart.
 */
export  class ChartLocation extends base.ChildProperty<ChartLocation> {
    /**
     * Allows to set the x(left) value of the legend position
     *
     * @default 0
     */
    x: number;
    /**
     * Allows to set the y(top) value of the legend position
     *
     * @default 0
     */
    y: number;
}
/**
 * Allow options to customize the border of the chart series such as color and border size in the pivot chart.
 * For example, to display the chart series border color as red, set the properties `color` to either **"red"** or **"#FF0000"** or **"rgba(255,0,0,1.0)"** and `width` to **0.5**.
 */
export  class PivotChartSeriesBorder {
    /**
     * Allows to set the color of the border that accepts value in hex and rgba as a valid CSS color string.
     *
     * @default ''
     */
    color: string;
    /**
     * Allows to set the width of the border in pixels.
     *
     * @default 1
     */
    width: number;
}
/**
 * Allows to configure the animation behavior for chart series such as animation duration and delay.
 */
export  class PivotChartSeriesAnimation {
    /**
     * Allows to set the visibility of the series to be animated on initial loading.
     *
     * @default true
     */
    enable: boolean;
    /**
     * Allows to set the duration of animation in milliseconds.
     *
     * @default 1000
     */
    duration: number;
    /**
     * Allows to set the option to delay animation of the series.
     *
     * @default 0
     */
    delay: number;
}
/**
 * Allows to customize specific region for line type series with a variety of means such as value, color, pattern of dashes.
 */
export  class PivotChartSeriesSegment {
    /**
     * Allows to set the starting point of region.
     *
     * @default null
     */
    value: object;
    /**
     * Allows to set the color of a region.
     *
     * @default null
     */
    color: string;
    /**
     * Allows to set the pattern of dashes and gaps to stroke.
     *
     * @default '0'
     */
    dashArray: string;
    /** @private */
    startValue: number;
    /** @private */
    endValue: number;
}
/**
 *  Allows to configure the marker of the series such as shape, width, height, border, position, fill color, opacity, data label etc in the chart
 */
export  class PivotChartSeriesMarkerSettings {
    /**
     * If set to true the marker for series is rendered. This is applicable only for line and area type series.
     *
     * @default false
     */
    visible: boolean;
    /**
     * Allows to set the different shape of a marker:
     * * circle - Renders the marker shaper as circle.
     * * rectangle - Renders the marker shaper as rectangle.
     * * triangle - Renders the marker shaper as triangle.
     * * diamond - Renders the marker shaper as diamond.
     * * cross - Renders the marker shaper as cross.
     * * horizontalLine - Renders the marker shaper as horizontalLine.
     * * verticalLine - Renders the marker shaper as verticalLine.
     * * pentagon- Renders the marker shaper as pentagon.
     * * invertedTriangle - Renders the marker shaper as invertedTriangle.
     * * image - Renders the marker shaper as image.
     *
     * @default 'Circle'
     */
    shape: charts.ChartShape;
    /**
     * Allows to set the URL for the Image that is to be displayed as a marker.  It requires marker `shape` value to be an `Image`.
     *
     * @default ''
     */
    imageUrl: string;
    /**
     * Allows to set the height of the marker in pixels.
     *
     * @default 5
     */
    height: number;
    /**
     * Allows to set the width of the marker in pixels.
     *
     * @default 5
     */
    width: number;
    /**
     * Allows options for customizing the border of a marker.
     */
    border: charts.BorderModel;
    /**
     * Allows to set the fill color of the marker that accepts value in hex and rgba as a valid CSS color string.
     * By default, it will take series' color.
     *
     * @default null
     */
    fill: string;
    /**
     * Allows to set the opacity of the marker.
     *
     * @default 1
     */
    opacity: number;
    /**
     * Allows to set the data label for the series.
     */
    dataLabel: charts.DataLabelSettingsModel;
}
/**
 * Allows options for customize the error bar chart series with different settings such as type, direction, mode, color, width, etc.
 */
export  class PivotChartSeriesErrorSettings {
    /**
     * If set true, error bar for data gets rendered.
     *
     * @default false
     */
    visible: boolean;
    /**
     * Allows to set the type of the error bar . They are
     * * Fixed -  Renders a fixed type error bar.
     * * Percentage - Renders a percentage type error bar.
     * * StandardDeviation - Renders a standard deviation type error bar.
     * * StandardError -Renders a standard error type error bar.
     * * Custom -Renders a custom type error bar.
     *
     * @default 'Fixed'
     */
    type: charts.ErrorBarType;
    /**
     * Allows to set the direction of the error bar . They are
     * * both -  Renders both direction of error bar.
     * * minus - Renders minus direction of error bar.
     * * plus - Renders plus direction error bar.
     *
     * @default 'Both'
     */
    direction: charts.ErrorBarDirection;
    /**
     * Allows to set the mode of the error bar . They are
     * * Vertical -  Renders a vertical error bar.
     * * Horizontal - Renders a horizontal error bar.
     * * Both - Renders both side error bar.
     *
     * @default 'Vertical'
     */
    mode: charts.ErrorBarMode;
    /**
     *  Allows to set the color for stroke of the error bar, which accepts value in hex, rgba as a valid CSS color string.
     *
     * @default null
     */
    color: string;
    /**
     * Allows to set the vertical error of the error bar.
     *
     * @default 1
     */
    verticalError: number;
    /**
     * Allows to set the stroke width of the error bar.
     *
     * @default 1
     */
    width: number;
    /**
     * Allows to set the horizontal error of the error bar.
     *
     * @default 1
     */
    horizontalError: number;
    /**
     * Allows to set the vertical positive error of the error bar.
     *
     * @default 3
     */
    verticalPositiveError: number;
    /**
     * Allows to set the vertical negative error of the error bar.
     *
     * @default 3
     */
    verticalNegativeError: number;
    /**
     * Allows to set the horizontal positive error of the error bar.
     *
     * @default 1
     */
    horizontalPositiveError: number;
    /**
     * Allows to set the horizontal negative error of the error bar.
     *
     * @default 1
     */
    horizontalNegativeError: number;
    /**
     * Allows options for customizing the cap of the error bar.
     */
    errorBarCap: charts.ErrorBarCapSettingsModel;
}
/**
 * Allows to configure the trendlines of the chart series such as name, period, type, tooltip, marker, animation, color, legend shape, etc.
 */
export  class PivotChartSeriesTrendline {
    /**
     * Allows to set the name of trendline
     *
     * @default ''
     */
    name: string;
    /**
     * Allows to set the type of the trendline
     *
     * @default 'Linear'
     */
    type: charts.TrendlineTypes;
    /**
     * Allows to set the period, the price changes over which will be considered to predict moving average trend line
     *
     * @default 2
     */
    period: number;
    /**
     * Allows to set the polynomial order of the polynomial trendline
     *
     * @default 2
     */
    polynomialOrder: number;
    /**
     * Allows to set the period, by which the trend has to backward forecast
     *
     * @default 0
     */
    backwardForecast: number;
    /**
     * Allows to set the period, by which the trend has to forward forecast
     *
     * @default 0
     */
    forwardForecast: number;
    /**
     * Allows options to customize the animation for trendlines
     */
    animation: charts.AnimationModel;
    /**
     * Allows options to customize the marker for trendlines
     */
    marker: charts.MarkerSettingsModel;
    /**
     * Enables/disables tooltip for trendlines
     *
     * @default true
     */
    enableTooltip: boolean;
    /**
     * Allows to set the intercept of the trendline
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    intercept: number;
    /**
     * Allows to set the fill color of trendline
     *
     * @default ''
     */
    fill: string;
    /**
     * Allows to set the width of the trendline
     *
     * @default 1
     */
    width: number;
    /**
     * Allows to set the legend shape of the trendline
     *
     * @default 'SeriesType'
     */
    legendShape: charts.LegendShape;
}
/**
 * Allows to configure the empty points with a variety of means such as fill color, border and mode in the chart.
 */
export  class PivotChartSeriesEmptyPointSettings {
    /**
     * Allows to customize the fill color of empty points.
     *
     * @default null
     */
    fill: string;
    /**
     * Allows options to customize the border of empty points.
     *
     * @default "{color: 'transparent', width: 0}"
     */
    border: charts.BorderModel;
    /**
     * To customize the mode of empty points.
     *
     * @default Zero
     */
    mode: charts.EmptyPointMode | charts.AccEmptyPointMode;
}
/**
 * Allows to customize the rounded corners of the column series in the chart.
 */
export  class PivotChartSeriesCornerRadius {
    /**
     * Allows to set the top left corner radius value
     *
     * @default 0
     */
    topLeft: number;
    /**
     * Allows to set the top right corner radius value
     *
     * @default 0
     */
    topRight: number;
    /**
     * Allows to set the bottom left corner radius value
     *
     * @default 0
     */
    bottomLeft: number;
    /**
     * Allows to set the bottom right corner radius value
     *
     * @default 0
     */
    bottomRight: number;
}
/**
 * Allows to customize the appearance of the text in the chart such as font style, font size, font weight, font color, font family, text alignment, opacity, text overflow.
 */
export  class PivotChartAxisFont {
    /**
     * Allows to set the font style for the text.
     *
     * @default 'Normal'
     */
    fontStyle: string;
    /**
     * Allows to set the font size for the text.
     *
     * @default '16px'
     */
    size: string;
    /**
     * Allows to set the font weight for the text.
     *
     * @default 'Normal'
     */
    fontWeight: string;
    /**
     * Allows to set the color for the text.
     *
     * @default ''
     */
    color: string;
    /**
     * Allows to set the text alignment
     *
     * @default 'Center'
     */
    textAlignment: charts.Alignment;
    /**
     * Allows to set the font family for the text.
     */
    fontFamily: string;
    /**
     * Allows to set the opacity for the text.
     *
     * @default 1
     */
    opacity: number;
    /**
     * Allows to set the chart title text overflow
     *
     * @default 'Trim'
     */
    textOverflow: charts.TextOverflow;
}
/**
 * Allows to configure the crosshair tooltip with text style and fill color in the chart.
 */
export  class PivotChartAxisCrosshairTooltip {
    /**
     * If set to true, crosshair ToolTip will be visible.
     *
     *  @default false
     */
    enable: boolean;
    /**
     * Allows to set the fill color of the ToolTip accepts value in hex and rgba as a valid CSS color string.
     *
     * @default null
     */
    fill: string;
    /**
     * Allows options to customize the crosshair ToolTip text.
     */
    textStyle: charts.FontModel;
}
/**
 * Allows to configure the major tick lines such as width, height and color in the chart.
 */
export  class PivotChartAxisMajorTickLines {
    /**
     * Allows to set the width of the tick lines in pixels.
     *
     * @default 1
     */
    width: number;
    /**
     * Allows to set the height of the ticks in pixels.
     *
     * @default 5
     */
    height: number;
    /**
     * Allows to set the color of the major tick line that accepts value in hex and rgba as a valid CSS color string.
     *
     * @default null
     */
    color: string;
}
/**
 * Allows to configure the major grid lines such as line width, color and dashArray in the `axis`.
 */
export  class PivotChartAxisMajorGridLines {
    /**
     * Allows to set the width of the line in pixels.
     *
     * @default 1
     */
    width: number;
    /**
     * Allows to set the dash array of the grid lines.
     *
     * @default ''
     */
    dashArray: string;
    /**
     * Allows to set the color of the major grid line that accepts value in hex and rgba as a valid CSS color string.
     *
     * @default null
     */
    color: string;
}
/**
 * Allows to configure the minor tick lines such as width, height and color in the chart.
 */
export  class PivotChartAxisMinorTickLines {
    /**
     * Allows to set the width of the tick line in pixels.
     *
     * @default 0.7
     */
    width: number;
    /**
     * Allows to set the height of the ticks in pixels.
     *
     * @default 5
     */
    height: number;
    /**
     * Allows to set the color of the minor tick line that accepts value in hex and rgba as a valid CSS color string.
     *
     * @default null
     */
    color: string;
}
/**
 * Allows to configure the minor grid lines such as line width, dashArray and color in the `axis`.
 */
export  class PivotChartAxisMinorGridLines {
    /**
     * Allows to set the width of the line in pixels.
     *
     * @default 0.7
     */
    width: number;
    /**
     * Allows to set the dash array of grid lines.
     *
     * @default ''
     */
    dashArray: string;
    /**
     * Allows to set the color of the minor grid line that accepts value in hex and rgba as a valid CSS color string.
     *
     * @default null
     */
    color: string;
}
/**
 * Allows to configure the axis line such as line width, dashArray and color in a chart.
 */
export  class PivotChartAxisAxisLine {
    /**
     * Allows to set the width of the line in pixels.
     *
     * @default 1
     */
    width: number;
    /**
     * Allows to set the dash array of the axis line.
     *
     * @default ''
     */
    dashArray: string;
    /**
     * Allows to set the color of the axis line that accepts value in hex and rgba as a valid CSS color string.
     *
     * @default null
     */
    color: string;
}
/**
 * Allows to configure the strip line properties such as line position, size, color, size type, border, text and opacity in the chart.
 */
export  class PivotChartAxisStripLineSettings {
    /**
     * If set true, strip line for pivot chart axis renders.
     *
     * @default true
     */
    visible: boolean;
    /**
     *  If set true, strip line get render from  pivot chart axis origin.
     *
     *  @default false
     */
    startFromAxis: boolean;
    /**
     * Allows to set the start value of the pivot chart strip line.
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    start: number | Date;
    /**
     * Allows to set the end value of the pivot chart strip line.
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    end: number | Date;
    /**
     * Allows to set the size of the pivot chart strip line, when it starts from the origin.
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    size: number;
    /**
     * Allows to set the color of the pivot chart strip line.
     *
     * @default '#808080'
     */
    color: string;
    /**
     * Allows to set the dash Array of the pivot chart strip line.
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    dashArray: string;
    /**
     * Allows to set the size type of the pivot chart strip line
     *
     * @default Auto
     */
    sizeType: charts.SizeType;
    /**
     * Allows to set the isRepeat value of the pivot chart strip line.
     *
     * @default false
     * @aspDefaultValueIgnore
     */
    isRepeat: boolean;
    /**
     * Allows to set the repeatEvery value of the pivot chart strip line.
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    repeatEvery: number | Date;
    /**
     * Allows to set the repeatUntil value of the pivot chart strip line.
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    repeatUntil: number | Date;
    /**
     * Allows to set the isSegmented value of the pivot chart strip line
     *
     * @default false
     * @aspDefaultValueIgnore
     */
    isSegmented: boolean;
    /**
     * Allows to set the segmentStart value of the pivot chart strip line.
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    segmentStart: number | Date;
    /**
     * Allows to set the segmentEnd value of the pivot chart strip line.
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    segmentEnd: number | Date;
    /**
     * Allows to set the segmentAxisName of the pivot chart strip line.
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    segmentAxisName: string;
    /**
     * Allows to set the border of the pivot chart strip line.
     */
    border: charts.BorderModel;
    /**
     * Allows to set the strip line text.
     *
     * @default ''
     */
    text: string;
    /**
     * Allows to set the angle to which the strip line text gets rotated.
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    rotation: number;
    /**
     * Allows to set the position of the strip line text horizontally. They are,
     * * Start: Places the strip line text at the start.
     * * Middle: Places the strip line text in the middle.
     * * End: Places the strip line text at the end.
     *
     * @default 'Middle'
     */
    horizontalAlignment: charts.Anchor;
    /**
     * Allows to set the position of the strip line text vertically. They are,
     * * Start: Places the strip line text at the start.
     * * Middle: Places the strip line text in the middle.
     * * End: Places the strip line text at the end.
     *
     * @default 'Middle'
     */
    verticalAlignment: charts.Anchor;
    /**
     * Allows options to customize the strip line text.
     */
    textStyle: charts.FontModel;
    /**
     * Allows to set the order of the strip line. They are,
     * * Behind: Places the strip line behind the series elements.
     * * Over: Places the strip line over the series elements.
     *
     * @default 'Behind'
     */
    zIndex: charts.ZIndex;
    /**
     * Strip line Opacity
     *
     * @default 1
     */
    opacity: number;
}
/**
 * Allows to customize the label border with a variety of means such as label color, width and label type in the chart.
 */
export  class PivotChartAxisLabelBorder {
    /**
     * Allows to set the color of the border that accepts value in hex and rgba as a valid CSS color string.
     *
     * @default ''
     */
    color: string;
    /**
     * Allows to set the width of the border in pixels.
     *
     * @default 1
     */
    width: number;
    /**
     * Allows to set the border type for labels
     * * Rectangle
     * * Without Top Border
     * * Without Top and BottomBorder
     * * Without Border
     * * Brace
     * * CurlyBrace
     *
     * @default 'Rectangle'
     */
    type: charts.BorderType;
}
/**
 * Allow options to customize the chart area with a variety of settings such as background color, border, opacity and background image in the pivot chart.
 * For example, to change the of the pivot chart's background, set the property `opacity` to **0.5**.
 */
export  class PivotChartSettingsChartArea {
    /**
     * Allows options to customize the border of the chart area.
     */
    border: charts.BorderModel;
    /**
     * Allows to set the background of the chart area that accepts value in hex and rgba as a valid CSS color string.
     *
     * @default 'transparent'
     */
    background: string;
    /**
     * Allows to set the opacity for background.
     *
     * @default 1
     */
    opacity: number;
}
/**
 * Allow options to customize the crosshair line with different settings such as color and width of the line,
 * line types that are shown horizontally and vertically to indicate the value of the axis at the mouse hover or touch position in the pivot chart.
 */
export  class PivotChartSettingsCrosshairSettings {
    /**
     * If set to true, crosshair line becomes visible.
     *
     * @default false
     */
    enable: boolean;
    /**
     * Allows to set the DashArray for crosshair.
     *
     * @default ''
     */
    dashArray: string;
    /**
     * Allows options to customize the crosshair line.
     */
    line: charts.BorderModel;
    /**
     * Allows to set the line type. Horizontal mode enables the horizontal line and Vertical mode enables the vertical line. They are,
     * * None: Hides both vertical and horizontal crosshair lines.
     * * Both: Shows both vertical and horizontal crosshair lines.
     * * Vertical: Shows the vertical line.
     * * Horizontal: Shows the horizontal line.
     *
     * @default Both
     */
    lineType: charts.LineType;
}
/**
 * Allow options for customizing legends with different properties such as legend visibility,
 * height, width, position, legend padding, alignment, textStyle, border, margin, background, opacity, description, tabIndex in the pivot chart.
 */
export  class PivotChartSettingsLegendSettings {
    /**
     * If set to true, legend will be visible.
     *
     * @default true
     */
    visible: boolean;
    /**
     * Allows to set the height of the legend in pixels.
     *
     * @default null
     */
    height: string;
    /**
     * Allows to set the width of the legend in pixels.
     *
     * @default null
     */
    width: string;
    /**
     * Allows to set the location of the legend, relative to the chart.
     * If x is 20, legend moves by 20 pixels to the right of the chart. It requires the `position` to be `Custom`.
     *
     * ```typescript
     * ...
     *   legendSettings: {
     *     visible: true,
     *     position: 'Custom',
     *     location: { x: 100, y: 150 },
     *   },
     * ...
     * ```
     */
    location: charts.LocationModel;
    /**
     * Allows to set the position of the legend in the chart are,
     * * Auto: Places the legend based on area type.
     * * Top: Displays the legend at the top of the chart.
     * * Left: Displays the legend at the left of the chart.
     * * Bottom: Displays the legend at the bottom of the chart.
     * * Right: Displays the legend at the right of the chart.
     * * Custom: Displays the legend  based on the given x and y values.
     *
     * @default 'Auto'
     */
    position: charts.LegendPosition;
    /**
     * Allows option to customize the padding between legend items.
     *
     * @default 8
     */
    padding: number;
    /**
     * Allows to set the legend in chart can be aligned as follows:
     * * Near: Aligns the legend to the left of the chart.
     * * Center: Aligns the legend to the center of the chart.
     * * Far: Aligns the legend to the right of the chart.
     *
     * @default 'Center'
     */
    alignment: charts.Alignment;
    /**
     * Allows options to customize the legend text.
     */
    textStyle: charts.FontModel;
    /**
     * Allows to set the shape height of the legend in pixels.
     *
     * @default 10
     */
    shapeHeight: number;
    /**
     * Allows to set the shape width of the legend in pixels.
     *
     * @default 10
     */
    shapeWidth: number;
    /**
     * Allows options to customize the border of the legend.
     */
    border: charts.BorderModel;
    /**
     * Allows options to customize left, right, top and bottom margins of the chart.
     */
    margin: charts.MarginModel;
    /**
     * Allows to set the padding between the legend shape and text.
     *
     * @default 5
     */
    shapePadding: number;
    /**
     * Allows to set the background color of the legend that accepts value in hex and rgba as a valid CSS color string.
     *
     * @default 'transparent'
     */
    background: string;
    /**
     * Allows to set the opacity of the legend.
     *
     * @default 1
     */
    opacity: number;
    /**
     * If set to true, series' visibility collapses based on the legend visibility.
     *
     * @default true
     */
    toggleVisibility: boolean;
    /**
     * Allows to set the description for legends.
     *
     * @default null
     */
    description: string;
    /**
     * Allows to set the tabindex value for the legend.
     *
     * @default 3
     */
    tabIndex: number;
}
/**
 * Allows you to highlight a specific point of the series while rendering the pivot chart.
 * For example, to highlight first point in the first series, set the properties series to 0 and points to 1. To use this option, it requires the property `selectionMode` to be **Point** or **Series**.
 */
export  class PivotChartSettingsIndexes {
    /**
     * Allows to set the series index
     *
     * @default 0
     * @aspType int
     */
    series: number;
    /**
     * Allows to set the point index
     *
     * @default 0
     * @aspType int
     */
    point: number;
}
/**
 * Allow options to customize the left, right, top and bottom margins of the pivot chart.
 */
export  class PivotChartSettingsMargin {
    /**
     * Allows to set the left margin in pixels.
     *
     * @default 10
     */
    left: number;
    /**
     * Allows to set the right margin in pixels.
     *
     * @default 10
     */
    right: number;
    /**
     * Allows to set the top margin in pixels.
     *
     * @default 10
     */
    top: number;
    /**
     * Allows to set the bottom margin in pixels.
     *
     * @default 10
     */
    bottom: number;
}
/**
 * Allow options to customize the chart series with different settings such as fill color, animation of the series,
 * series width, border, visibility of the series, opacity, chart series types, marker, tooltip, trendlines, etc., in the pivot chart.
 * For example, to display the line type pivot chart, set the property `type` to **Line**.
 */
export  class PivotSeries extends base.ChildProperty<PivotSeries> {
    /**
     * Allows to set the fill color for the series that accepts value in hex and rgba as a valid CSS color string.
     *
     * @default null
     */
    fill: string;
    /**
     * Allows to set the end angle for the pie and doughnut chart series.
     *
     * @default null
     */
    endAngle: number;
    /**
     * Allows to enable or disable series point explode on mouse click or touch for pie, funnel, doughnut and pyramid chart.
     *
     * @default false
     */
    explode: boolean;
    /**
     * Allows to enable or disable all series point explode on mouse click or touch for  pie, funnel, doughnut and pyramid chart.
     *
     * @default false
     */
    explodeAll: boolean;
    /**
     * Allows to set Index of the point to be exploded on load for pie, funnel, doughnut and pyramid chart.
     *
     * @default null
     */
    explodeIndex: number;
    /**
     * Allows to set inner radius for pie and doughnut series chart.
     *
     * @default null
     */
    innerRadius: string;
    /**
     * Allows to set distance of the point from the center, which takes values in both pixels and
     * percentage for pie, funnel, doughnut and pyramid chart.
     *
     * @default "30%"
     */
    explodeOffset: string;
    /**
     * Allows to set the distance between the segments of a funnel/pyramid series. The range will be from 0 to 1.
     *
     * @default 0
     */
    gapRatio: number;
    /**
     * Allows to define the mode of grouping for pie, funnel, doughnut and pyramid chart series.
     *
     * @default "Value"
     */
    groupMode: charts.GroupModes;
    /**
     * Allows to combine the y values into slice named other for  pie, funnel, doughnut and pyramid chart Series.
     *
     * @default null
     */
    groupTo: string;
    /**
     * Allows to defines the height of the funnel chart neck with respect to the chart area.
     *
     * @default "20%"
     */
    neckHeight: string;
    /**
     * Allows to defines the width of the funnel chart neck with respect to the chart area.
     *
     * @default "20%"
     */
    neckWidth: string;
    /**
     * Defines how the values have to be reflected, whether through height/surface of the segments in pyramid series.
     *
     * @default 'Linear'
     */
    pyramidMode: charts.PyramidModes;
    /**
     * Allows you to draw the chart series points with custom color for the pie, funnel, doughnut and pyramid chart types.
     *
     * @default []
     */
    palettes: string[];
    /**
     * Allows to defines start angle for the pie, funnel, doughnut and pyramid chart series.
     *
     * @default 0
     */
    startAngle: number;
    /**
     * Allows options to customizing animation for the series.
     *
     * @default null
     */
    animation: charts.AnimationModel;
    /**
     * Allows options to customize data label for the pie, funnel, pyramid, doughnut chart series.
     *
     * @default null
     */
    dataLabel: PivotChartDataLabelModel;
    /**
     * Allows to set the pattern of dashes and gaps to stroke the lines in `Line` type series.
     *
     * @default '0'
     */
    dashArray: string;
    /**
     * Allows to set the stroke width for the series that is applicable only for `Line` type series.
     *
     * @default 1
     */
    width: number;
    /**
     * Allows to set the axis, based on which the line series will be split.
     */
    segmentAxis: charts.Segment;
    /**
     * Allows to set the type of series to be drawn in radar or polar series. They are
     *  'Line'
     *  'Column'
     *  'Area'
     *  'Scatter'
     *  'Spline'
     *  'StackingColumn'
     *  'StackingArea'
     *  'RangeColumn'
     *  'SplineArea'
     *
     * @default 'Line'
     */
    drawType: charts.ChartDrawType;
    /**
     * Specifies whether to join start and end point of a line/area series used in polar/radar chart to form a closed path.
     *
     * @default true
     */
    isClosed: boolean;
    /**
     * Allows to set the collection of regions that helps to differentiate a line series.
     */
    segments: charts.ChartSegmentModel[];
    /**
     * This allows grouping the chart series in `stacked column / bar` charts.
     * Any string value can be provided to the stackingGroup property.
     * If any two or above series have the same value, those series will be grouped together.
     *
     * @default ''
     */
    stackingGroup: string;
    /**
     * Allows options to customizing the border of the series. This is applicable only for `Column` and `Bar` type series.
     */
    border: charts.BorderModel;
    /**
     * Allows to set the visibility of series.
     *
     * @default true
     */
    visible: boolean;
    /**
     * Allows to set the opacity of the series.
     *
     * @default 1
     */
    opacity: number;
    /**
     * Allows to set the type of the series are
     * * Line - Allows to display the pivot chart with line series.
     * * Column - Allows to display the pivot chart with column series.
     * * Area - Allows to display the pivot chart with area series.
     * * Bar - Allows to display the pivot chart with bar series.
     * * StackingColumn - Allows to display the pivot chart with stacked column series.
     * * StackingArea - Allows to display the pivot chart with stacked area series.
     * * StackingBar - Allows to display the pivot chart with stacked bar series.
     * * StepLine - Allows to display the pivot chart with step line series.
     * * StepArea - Allows to display the pivot chart with step area series.
     * * SplineArea - Allows to display the pivot chart with spline area series.
     * * Scatter - Allows to display the pivot chart with scatter series.
     * * Spline - Allows to display the pivot chart with spline series.
     * * StackingColumn100 - Allows to display the pivot chart with 100% stacked column series.
     * * StackingBar100 - Allows to display the pivot chart with 100% stacked bar series.
     * * StackingArea100 - Allows to display the pivot chart with 100% stacked area series.
     * * Bubble - Allows to display the pivot chart with bubble series.
     * * Pareto - Allows to display the pivot chart with pareto series.
     * * Polar - Allows to display the pivot chart with polar series.
     * * Radar - Allows to display the pivot chart with radar series.
     *
     * @default 'Line'
     */
    type: ChartSeriesType;
    /**
     * Allows options for displaying and customizing markers for individual points in a series.
     */
    marker: charts.MarkerSettingsModel;
    /**
     * Allows options for displaying and customizing error bar for individual point in a series.
     */
    errorBar: charts.ErrorBarSettingsModel;
    /**
     * If set true, the Tooltip for series will be visible.
     *
     * @default true
     */
    enableTooltip: boolean;
    /**
     * Allows to set the collection of trendlines that are used to predict the trend
     */
    trendlines: charts.TrendlineModel[];
    /**
     * Allows to set the provided value will be considered as a Tooltip name
     *
     * @default ''
     */
    tooltipMappingName: string;
    /**
     * Allows to set the shape of the legend. Each series has its own legend shape. They are,
     * * Circle - Renders a circle.
     * * Rectangle - Renders a rectangle.
     * * VerticalLine - Renders a verticalLine.
     * * Pentagon - Renders a pentagon.
     * * InvertedTriangle - Renders a invertedTriangle.
     * * SeriesType - Render a legend shape based on series type.
     * * Triangle - Renders a triangle.
     * * Diamond - Renders a diamond.
     * * Cross - Renders a cross.
     * * HorizontalLine - Renders a horizontalLine.
     * * Image - Renders a image.
     *
     * @default 'SeriesType'
     */
    legendShape: charts.LegendShape;
    /**
     * Allows to set the minimum radius.
     *
     * @default 1
     */
    minRadius: number;
    /**
     * Allows to set the custom style for the selected series or points.
     *
     * @default null
     */
    selectionStyle: string;
    /**
     * Allows to set the type of spline to be rendered.
     *
     * @default 'Natural'
     */
    splineType: charts.SplineType;
    /**
     * Allows to set the maximum radius.
     *
     * @default 3
     */
    maxRadius: number;
    /**
     * Allows to set the tension of cardinal spline types
     *
     * @default 0.5
     */
    cardinalSplineTension: number;
    /**
     * Allows to render the column series points with particular column width.
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    columnWidth: number;
    /**
     * Allows options to customize the empty points in series
     */
    emptyPointSettings: charts.EmptyPointSettingsModel;
    /**
     * Allows to render the column series points with particular rounded corner.
     */
    cornerRadius: charts.CornerRadiusModel;
    /**
     * Allows to render the column series points with particular column spacing. It takes value from 0 - 1.
     *
     * @default 0
     */
    columnSpacing: number;
}
/**
 * Allow options to customize the axis with different properties such as labelIntersectAction, labelStyle, title,
 * description, crosshairTooltip, labelFormat, titleStyle, plotOffset, edgeLabelPlacement, labelPlacement, tickPosition, opposedPosition, minor and
 * major grid lines, minor and major tick lines, border, etc. in the pivot chart.
 */
export  class PivotAxis extends base.ChildProperty<PivotAxis> {
    /**
     * Allows to set the actions like `Hide`, `Rotate45`, and `Rotate90` when the axis labels intersect with each other.They are,
     * * Rotate45: Rotates the label to 45 degree when it intersects.
     * * Rotate90: Rotates the label to 90 degree when it intersects.
     * * None: Shows all the labels.
     * * Hide: Hides the label when it intersects.
     *
     * @default Rotate45
     */
    labelIntersectAction: charts.LabelIntersectAction;
    /**
     * Allows options to customize the axis label.
     */
    labelStyle: charts.FontModel;
    /**
     * Allows to set the title of an axis.
     *
     * @default ''
     */
    title: string;
    /**
     * Allows to scale the axis by this value. When zoomFactor is 0.5, the chart is scaled by 200% along this axis. Value ranges from 0 to 1.
     *
     * @default null
     */
    zoomFactor: number;
    /**
     * Allows options to customize the crosshair ToolTip.
     */
    crosshairTooltip: charts.CrosshairTooltipModel;
    /**
     * It used to format the axis label that accepts any global string format like 'C', 'n1', 'P' etc.
     * It also accepts placeholder like '{value}°C' in which value represent the axis label, e.g, 20°C.
     *
     * @default ''
     */
    labelFormat: string;
    /**
     * Allows options for customizing the axis title.
     */
    titleStyle: charts.FontModel;
    /**
     * Allows to specify the indexed category to the axis.
     *
     * @default false
     */
    isIndexed: boolean;
    /**
     * Allows to set the left and right padding for the plot area in pixels.
     *
     * @default 0
     */
    plotOffset: number;
    /**
     * Allows to set the position of labels at the edge of the axis.They are,
     * * Shift: Shifts the edge labels.
     * * None: No action will be performed.
     * * Hide: Edge label will be hidden.
     *
     * @default 'Shift'
     */
    edgeLabelPlacement: charts.EdgeLabelPlacement;
    /**
     * Allows to set the placement of a label for category axis. They are,
     * * onTicks: Renders the label on the ticks.
     * * betweenTicks: Renders the label between the ticks.
     *
     * @default 'BetweenTicks'
     */
    labelPlacement: charts.LabelPlacement;
    /**
     * Allows to set the placement of a ticks to the axis line. They are,
     * * outside: Renders the ticks outside to the axis line.
     * * inside: Renders the ticks inside to the axis line.
     *
     * @default 'Outside'
     */
    tickPosition: charts.AxisPosition;
    /**
     * If set to true, the axis will render at the opposite side of its default position.
     *
     * @default false
     */
    opposedPosition: boolean;
    /**
     * If set to true, axis label will be visible.
     *
     * @default true
     */
    visible: boolean;
    /**
     * Allows to set the placement of a labels to the axis line. They are,
     * * outside: Renders the labels outside to the axis line.
     * * inside: Renders the labels inside to the axis line.
     *
     * @default 'Outside'
     */
    labelPosition: charts.AxisPosition;
    /**
     * Allows to set the angle to which the axis label gets rotated.
     *
     * @default 0
     */
    labelRotation: number;
    /**
     * Allows to set the number of minor ticks per interval.
     *
     * @default 0
     */
    minorTicksPerInterval: number;
    /**
     * Allows to set the maximum range of an axis.
     *
     * @default null
     */
    maximum: object;
    /**
     * Allows to set the minimum range of an axis.
     *
     * @default null
     */
    minimum: object;
    /**
     * Allows to set the maximum width of an axis label.
     *
     * @default 34.
     */
    maximumLabelWidth: number;
    /**
     * Allows to set the interval for an axis.
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    interval: number;
    /**
     * Allows options for customizing major tick lines.
     */
    majorTickLines: charts.MajorTickLinesModel;
    /**
     * Allows to set the Trim property for an axis.
     *
     * @default false
     */
    enableTrim: boolean;
    /**
     * Allows options for customizing major grid lines.
     */
    majorGridLines: charts.MajorGridLinesModel;
    /**
     * Allows options for customizing minor tick lines.
     */
    minorTickLines: charts.MinorTickLinesModel;
    /**
     * Allows options for customizing axis lines.
     */
    lineStyle: charts.AxisLineModel;
    /**
     * Allows options for customizing minor grid lines.
     */
    minorGridLines: charts.MinorGridLinesModel;
    /**
     * Allows to specify whether the axis to be rendered in inversed manner or not.
     *
     * @default false
     */
    isInversed: boolean;
    /**
     * Allows to set the description for axis and its element.
     *
     * @default null
     */
    description: string;
    /**
     * Allows to set the start angle for the series.
     *
     * @default 0
     */
    startAngle: number;
    /**
     * Allows to set the polar radar radius position.
     *
     * @default 100
     */
    coefficient: number;
    /**
     * Allows to set the stripLine collection for the axis
     */
    stripLines: charts.StripLineSettingsModel[];
    /**
     * Allows to set the tabindex value for the axis.
     *
     * @default 2
     */
    tabIndex: number;
    /**
     * Allows to set the border of the multi level labels.
     */
    border: charts.LabelBorderModel;
}
/**
 * Allow options to customize the tooltip of the pivot chart with different properties such as visibility of the tooltip, enableMarker, fill color, opacity, header for tooltip,
 * format, textStyle, template, border, enableAnimation.
 */
export  class PivotTooltipSettings extends base.ChildProperty<PivotTooltipSettings> {
    /**
     * Allows to set the visibility of the marker.
     *
     * @default false.
     */
    enableMarker: boolean;
    /**
     * Allows to set the visibility of the tooltip.
     *
     * @default true.
     */
    enable: boolean;
    /**
     * Allows to set the fill color of the tooltip that accepts value in hex and rgba as a valid CSS color string.
     *
     * @default null
     */
    fill: string;
    /**
     * If set to true, a single ToolTip will be displayed for every index.
     *
     * @default false.
     */
    shared: boolean;
    /**
     * Allows to set the fill color of the tooltip that accepts value in hex and rgba as a valid CSS color string.
     *
     * @default 0.75
     */
    opacity: number;
    /**
     * Allows to set the header for tooltip.
     *
     * @default null
     */
    header: string;
    /**
     * Allows to set the format the ToolTip content.
     *
     * @default null.
     */
    format: string;
    /**
     * Allows options to customize the ToolTip text.
     */
    textStyle: charts.FontModel;
    /**
     * Allows to set the custom template to format the ToolTip content. Use ${x} and ${y} as the placeholder text to display the corresponding data point.
     *
     * @default null.
     * @aspType string
     */
    template: string | Function;
    /**
     * Allows options to customize tooltip borders.
     */
    border: charts.BorderModel;
    /**
     * If set to true, ToolTip will animate while moving from one point to another.
     *
     * @default true.
     */
    enableAnimation: boolean;
}
/**
 * Allow options to customize the center of the pivot pie series chart.
 */
export  class PivotPieChartCenter extends base.ChildProperty<PivotPieChartCenter> {
    /**
     * X value of the center.
     *
     * @default "50%"
     */
    x: string;
    /**
     * Y value of the center.
     *
     * @default "50%"
     */
    y: string;
}
/**
 * Allow options to customize the pivot chart zooming with different properties such as enablePinchZooming, enableSelectionZooming,
 * enableDeferredZooming, enableMouseWheelZooming, zoom modes, toolbarItems, enableScrollbar and enablePan.
 */
export  class PivotZoomSettings extends base.ChildProperty<PivotZoomSettings> {
    /**
     * If to true, chart can be pinched to zoom in / zoom out.
     *
     * @default false
     */
    enablePinchZooming: boolean;
    /**
     * If set to true, chart can be zoomed by a rectangular selecting region on the plot area.
     *
     * @default true
     */
    enableSelectionZooming: boolean;
    /**
     * If set to true, zooming will be performed on mouse up. It requires `enableSelectionZooming` to be true.
     *
     * ```typescript
     * ...
     *    zoomSettings: {
     *      enableSelectionZooming: true,
     *      enableDeferredZooming: false
     *    }
     * ...
     * ```
     *
     * @default false
     */
    enableDeferredZooming: boolean;
    /**
     * If set to true, chart can be zoomed by using mouse wheel.
     *
     * @default false
     */
    enableMouseWheelZooming: boolean;
    /**
     * Allows to specify whether to allow zooming vertically or horizontally or in both ways. They are,
     * * x: Chart can be zoomed horizontally.
     * * y: Chart can be zoomed  vertically.
     * * x,y: Chart can be zoomed both vertically and horizontally.
     *  It requires `enableSelectionZooming` to be true.
     *
     * ```typescript
     * ...
     *   zoomSettings: {
     *      enableSelectionZooming: true,
     *      mode: 'XY'
     *    },
     * ...
     * ```
     *
     * @default 'XY'
     */
    mode: charts.ZoomMode;
    /**
     * Allows to set the toolkit options for the zooming as follows:
     * * 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.
     *
     * @default '["Zoom", "ZoomIn", "ZoomOut", "Pan", "Reset"]'
     */
    toolbarItems: charts.ToolbarItems[];
    /**
     * Specifies whether axis needs to have scrollbar.
     *
     * @default true.
     */
    enableScrollbar: boolean;
    /**
     * Specifies whether chart needs to be panned by default.
     *
     * @default false.
     */
    enablePan: boolean;
}
/**
 * Allows a set of options to customize a pivot chart with a variety of settings, such as chart series, chart area, axis labels, legends, border, crosshairs, theme, title, tooltip, zooming, etc.
 * The following options are available to customize the pivot chart.
 * * `background`: Allows you to change the background color of the chart series in the pivot chart.
 * For example, to display the chart series with background color as red, set the property `background` to either **"red"** or **"#FF0000"** or **"rgba(255,0,0,1.0)"**.
 * * `border`: Allow options to customize the border of the chart series such as color and border size in the pivot chart.
 * For example, to display the chart series border color as red, set the properties `color` to either **"red"** or **"#FF0000"** or **"rgba(255,0,0,1.0)"** and `width` to **0.5**.
 * * `chartArea`: Allow options to customize the chart area with a variety of settings such as background color, border, opacity and background image in the pivot chart.
 * For example, to change the of the pivot chart's background, set the property `opacity` to **0.5**.
 * * `chartSeries`: Allow options to customize the chart series with different settings such as fill color, animation of the series,
 * series width, border, visibility of the series, opacity, chart series types, marker, tooltip, trendlines, etc., in the pivot chart.
 * For example, to display the line type pivot chart, set the property `type` to **Line**.
 * * `crosshair`: Allow options to customize the crosshair line with different settings such as color and width of the line,
 * line types that are shown horizontally and vertically to indicate the value of the axis at the mouse hover or touch position in the pivot chart.
 * * `description`: Allows you to add a description of the pivot chart.
 * * `enableAnimation`: Allows you to enable/disable the tooltip animation while performing the mouse move from one point to another in the pivot chart.
 * * `enableCanvas`: Allows you to render the pivot chart in canvas mode.
 * * `enableExport`: Allows the pivot chart to be exported to either **PDF** or **PNG** or **JPEG** or **SVG** filter formats.
 * * `enableMultipleAxis`: Allows you to draw the pivot chart with multiple value fields as separate chart area.
 * * `enableSideBySidePlacement`: Allows you to draw points of the column type pivot chart series as side by side.
 * * `isMultiSelect`: Allows you to perform multiple selection in the pivot chart. To enable this option, it requires the property `selectionMode` to be **Point** or **Series** or **Cluster**.
 * * `isTransposed`: Allows you to render the pivot chart in a transposed manner or not.
 * * `legendSettings`: Allow options for customizing legends with different properties such as legend visibility,
 * height, width, position, legend padding, alignment, textStyle, border, margin, background, opacity, description, tabIndex in the pivot chart.
 * * `margin`: Allow options to customize the left, right, top and bottom margins of the pivot chart.
 * * `palettes`: Allows you to draw the chart series points with custom color in the pivot chart.
 * * `primaryXAxis`: Allow options to customize the horizontal(row) axis with different properties such as labelIntersectAction, labelStyle, title,
 * description, crosshairTooltip, labelFormat, titleStyle, plotOffset, edgeLabelPlacement, labelPlacement, tickPosition, opposedPosition, minor and
 * major grid lines, minor and major tick lines, border, etc. in the pivot chart.
 * * `primaryYAxis`: Allow options to customize the vertical(value) axis with different properties such as labelIntersectAction, labelStyle,
 * title, description, crosshairTooltip, labelFormat, titleStyle, plotOffset, edgeLabelPlacement, labelPlacement, tickPosition, opposedPosition, minor and
 * major grid lines, minor and major tick lines, border, etc. in the pivot chart.
 * * `selectedDataIndexes`: Allows you to highlight a specific point of the series while rendering the pivot chart.
 * For example, to highlight first point in the first series, set the properties series to 0 and points to 1. To use this option, it requires the property `selectionMode` to be **Point** or **Series**.
 * * `selectionMode`: Allow options for customizing the selection mode to be done either by a specific series or point or cluster or by dragging it to the pivot chart.
 * For example, to highlight a specific point in a specific series of the pivot chart, set the property `selectionMode` to **Point**.
 * * `showMultiLevelLabels`: Allows you to display the multi-level label feature in the pivot chart. This multi-level labels used to perform drill operation in the pivot chart.
 * * `subTitle`: Allows you to add the subtitle to the pivot chart.
 * * `subTitleStyle`: Allow options to customize the subtitle in the pivot chart with different properties such as fontStyle, font size, fontWeight, font color, testAlignment, fontFamily, opacity, textOverflow.
 * * `tabIndex`: Allows you to highlight specific legends by clicking the mouse or by interacting with the keyboard in the pivot chart.
 * * `theme`: Allows you to draw a pivot chart with either material, fabric, bootstrap, highcontrast light, material dark, fabric dark, highcontrast, bootstrap dark, bootstrap4 theme.
 * * `title`: Allows you to add title to the pivot chart.
 * * `titleStyle`: Allow options to customize the title in the pivot chart with different properties such as fontStyle, font size, fontWeight, font color, testAlignment, fontFamily, opacity, textOverflow.
 * * `tooltip`: Allow options to customize the tooltip of the pivot chart with different properties such as visibility of the tooltip, enableMarker, fill color, opacity, header for tooltip,
 * format, textStyle, template, border, enableAnimation.
 * * `useGroupingSeparator`: Allows the group separator to be shown to the values in the pivot chart.
 * * `value`: Allows you to draw a pivot chart with a specific value field during initial loading.
 * * `zoomSettings`: Allow options to customize the pivot chart zooming with different properties such as enablePinchZooming, enableSelectionZooming,
 * enableDeferredZooming, enableMouseWheelZooming, zoom modes, toolbarItems, enableScrollbar and enablePan.
 */
export  class ChartSettings extends base.ChildProperty<ChartSettings> {
    /**
     * Allow options to customize the chart series with different settings such as fill color, animation of the series,
     * series width, border, visibility of the series, opacity, chart series types, marker, tooltip, trendlines, etc., in the pivot chart.
     * For example, to display the line type pivot chart, set the property `type` to **Line**.
     */
    chartSeries: PivotSeriesModel;
    /**
     * Allow options to customize the horizontal(row) axis with different properties such as labelIntersectAction, labelStyle, title,
     * description, crosshairTooltip, labelFormat, titleStyle, plotOffset, edgeLabelPlacement, labelPlacement, tickPosition, opposedPosition, minor and
     * major grid lines, minor and major tick lines, border, etc. in the pivot chart.
     */
    primaryXAxis: PivotAxisModel;
    /**
     * Allow options to customize the vertical(value) axis with different properties such as labelIntersectAction, labelStyle,
     * title, description, crosshairTooltip, labelFormat, titleStyle, plotOffset, edgeLabelPlacement, labelPlacement, tickPosition, opposedPosition, minor and
     * major grid lines, minor and major tick lines, border, etc. in the pivot chart.
     */
    primaryYAxis: PivotAxisModel;
    /**
     * Allows you to draw a pivot chart with a specific value field during initial loading.
     *
     * @default ''
     */
    value: string;
    /**
     * Allows to specify the column whose values will be considered to draw the pivot chart. The is applicable
     * for pie, doughnut, funnel and pyramid chart types.
     *
     * @default ''
     */
    columnHeader: string;
    /**
     * Allows to specify the delimiter to split the column headers. The is applicable for pie, doughnut,
     * funnel and pyramid chart types.
     *
     * @default '-'
     */
    columnDelimiter: string;
    /**
     * It allows you to draw a pivot chart with multiple value fields as a single or stacked chart area.
     * Use the `multipleAxisMode` enum options, either **Stacked** or **Single**, to show the chart area as either stacked or single based on value fields.
     *
     * @default false
     */
    enableMultipleAxis: boolean;
    /**
     * Allows the chart series to be displayed, depending on the value fields specified, in either a stacked or single chart area.
     * The options available are:
     * * Stacked: Allows the chart series to be displayed in a separate chart area depending on the value fields specified.
     * * Single: Allows the chart series to be displayed in a single chart area for different value fields.
     *
     * @default 'Stacked'
     */
    multipleAxisMode: MultipleAxisMode;
    /**
     * Enable or disable scroll bar while multiple axis.
     *
     * @default false
     */
    enableScrollOnMultiAxis: boolean;
    /**
     * Allows to display chart series in accordance with member name in all chart area.
     * > It is applicable only when `enableMultipleAxis` property is set to **true**.
     * > The `showMemberSeries` property is deprecated and will no longer be used. Use `showPointColorByMembers` with  to achieve the same.
     *
     * @default false
     * @deprecated
     */
    showMemberSeries: boolean;
    /**
     * Allows to display data points in different colors in multiple charts. The multiple charts are actually drawn as a result of the "n" of measures bound in the datasource.
     * > It is only applicable when the `enableMultipleAxis` property is enabled and the `multipleAxisMode` property is set to **Stacked**.
     *
     * @default false
     */
    showPointColorByMembers: boolean;
    /**
     * Allow options to customize the title in the pivot chart with different properties such as fontStyle, font size, fontWeight, font color, testAlignment, fontFamily, opacity, textOverflow.
     */
    titleStyle: charts.titleSettingsModel;
    /**
     * Allows you to add title to the pivot chart.
     *
     * @default ''
     */
    title: string;
    /**
     * Allow options to customize the subtitle in the pivot chart with different properties such as fontStyle, font size, fontWeight, font color, testAlignment, fontFamily, opacity, textOverflow.
     */
    subTitleStyle: charts.titleSettingsModel;
    /**
     * Allows you to add the subtitle to the pivot chart.
     *
     * @default ''
     */
    subTitle: string;
    /**
     * Allow options to customize the border of the chart series such as color and border size in the pivot chart.
     * For example, to display the chart series border color as red, set the properties `color` to either **"red"** or **"#FF0000"** or **"rgba(255,0,0,1.0)"** and `width` to **0.5**.
     */
    border: charts.BorderModel;
    /**
     *  Allow options to customize the left, right, top and bottom margins of the pivot chart.
     */
    margin: charts.MarginModel;
    /**
     * Allow options to customize the chart area with a variety of settings such as background color, border, opacity and background image in the pivot chart.
     * For example, to change the of the pivot chart's background, set the property `opacity` to **0.5**.
     */
    chartArea: charts.ChartAreaModel;
    /**
     * Allows you to change the background color of the chart series in the pivot chart.
     * For example, to display the chart series with background color as red, set the property `background` to either **"red"** or **"#FF0000"** or **"rgba(255,0,0,1.0)"**.
     *
     * @default null
     */
    background: string;
    /**
     * Allows you to draw a pivot chart with either material, fabric, bootstrap, highcontrast light, material dark, fabric dark, highcontrast, bootstrap dark, bootstrap4 theme.
     *
     * @default 'Material'
     */
    theme: charts.ChartTheme;
    /**
     * Allows you to draw the chart series points with custom color in the pivot chart.
     *
     * @default []
     */
    palettes: string[];
    /**
     * Allow options to customize the crosshair line with different settings such as color and width of the line,
     * line types that are shown horizontally and vertically to indicate the value of the axis at the mouse hover or touch position in the pivot chart.
     */
    crosshair: charts.CrosshairSettingsModel;
    /**
     * Allow options to customize the tooltip of the pivot chart with different properties such as visibility of the tooltip, enableMarker, fill color, opacity, header for tooltip,
     * format, textStyle, template, border, enableAnimation.
     */
    tooltip: PivotTooltipSettingsModel;
    /**
     * Allow options to customize the center of pie series chart with properties x and y.
     */
    pieCenter: PivotPieChartCenterModel;
    /**
     * Allow options to customize the pivot chart zooming with different properties such as enablePinchZooming, enableSelectionZooming,
     * enableDeferredZooming, enableMouseWheelZooming, zoom modes, toolbarItems, enableScrollbar and enablePan.
     */
    zoomSettings: PivotZoomSettingsModel;
    /**
     * Allow options for customizing legends with different properties such as legend visibility,
     * height, width, position, legend padding, alignment, textStyle, border, margin, background, opacity, description, tabIndex in the pivot chart.
     */
    legendSettings: charts.LegendSettingsModel;
    /**
     * Allow options for customizing the selection mode to be done either by a specific series or point or cluster or by dragging it to the pivot chart.
     * For example, to highlight a specific point in a specific series of the pivot chart, set the property `selectionMode` to **Point**. The available modes are,
     * * none: Disables the selection.
     * * series: selects a series.
     * * dragXY: selects points by dragging with respect to both horizontal and vertical axes
     * * dragX: selects points by dragging with respect to horizontal axis.
     * * dragY: selects points by dragging with respect to vertical axis.
     * * point: selects a point.
     * * cluster: selects a cluster of point
     *
     * @default 'None'
     */
    selectionMode: ChartSelectionMode;
    /**
     * Allow options for customizing the selection mode to be done either by a specific series or point or cluster
     * or by dragging it to the pivot chart. For example, to highlight a specific point in a specific series of the
     * pivot chart, set the property `accumulationSelectionMode` to **Point**. It is applicable for chart types pie,
     * funnel, doughnut and pyramid. The available modes are,
     * * none: Disables the selection.
     * * point: selects a point.
     *
     * @default 'None'
     */
    accumulationSelectionMode: charts.AccumulationSelectionMode;
    /**
     * Allows to set the labels placed smartly without overlapping. It is applicable for chart types pie,
     * funnel, doughnut and pyramid.
     *
     * @default true
     */
    enableSmartLabels: boolean;
    /**
     * Allows to Enable or disable the border in pie and doughnut chart while mouse moving.
     *
     * @default true
     */
    enableBorderOnMouseMove: boolean;
    /**
     * Specifies whether point has to get highlighted or not. It is applicable for chart types pie,
     * funnel, doughnut and pyramid. Takes value either 'None 'or 'Point'.
     *
     * @default None
     */
    highlightMode: charts.AccumulationSelectionMode;
    /**
     * Specifies whether series or data point for accumulation chart has to be selected. They are,
     * * none: sets none as selecting pattern to accumulation chart .
     * * chessboard: sets chess board as selecting pattern accumulation chart .
     * * dots: sets dots as  selecting pattern accumulation chart .
     * * diagonalForward: sets diagonal forward as selecting pattern to accumulation chart .
     * * crosshatch: sets crosshatch as selecting pattern to accumulation chart.
     * * pacman: sets pacman selecting pattern to accumulation chart.
     * * diagonalbackward: sets diagonal backward as selecting pattern to accumulation chart.
     * * grid: sets grid as selecting pattern to accumulation chart.
     * * turquoise: sets turquoise as selecting pattern to accumulation chart.
     * * star: sets star as selecting pattern to accumulation chart.
     * * triangle: sets triangle as selecting pattern to accumulation chart.
     * * circle: sets circle as selecting pattern to accumulation chart.
     * * tile: sets tile as selecting pattern to accumulation chart.
     * * horizontaldash: sets horizontal dash as selecting pattern to accumulation chart.
     * * verticaldash: sets vertical dash as selecting pattern to accumulation chart.
     * * rectangle: sets rectangle as selecting pattern.
     * * box: sets box as selecting pattern to accumulation chart.
     * * verticalstripe: sets vertical stripe as  selecting pattern to accumulation chart.
     * * horizontalstripe: sets horizontal stripe as selecting pattern to accumulation chart.
     * * bubble: sets bubble as selecting pattern to accumulation chart.
     * It is applicable for chart types pie, funnel, doughnut and pyramid.
     *
     * @default None
     */
    highlightPattern: charts.SelectionPattern;
    /**
     * Allows the pivot chart to be exported to either **PDF** or **PNG** or **JPEG** or **SVG** filter formats.
     *
     * @default true
     */
    enableExport: boolean;
    /**
     * Allows you to perform multiple selection in the pivot chart. To enable this option, it requires the property `selectionMode` to be **Point** or **Series** or **Cluster**.
     *
     * @default false
     */
    isMultiSelect: boolean;
    /**
     * Allows you to highlight a specific point of the series while rendering the pivot chart.
     * For example, to highlight first point in the first series, set the properties series to 0 and points to 1. To use this option, it requires the property `selectionMode` to be **Point** or **Series**.
     *
     * @default []
     */
    selectedDataIndexes: charts.IndexesModel[];
    /**
     * Allows you to enable/disable the tooltip animation while performing the mouse move from one point to another in the pivot chart.
     *
     * @default true
     */
    enableAnimation: boolean;
    /**
     * Allows you to render the pivot chart in canvas mode.
     *
     * @default false
     */
    enableCanvas: boolean;
    /**
     * Allows the group separator to be shown to the values in the pivot chart.
     *
     * @default true
     */
    useGroupingSeparator: boolean;
    /**
     * Allows you to render the pivot chart in a transposed manner or not.
     *
     * @default false
     */
    isTransposed: boolean;
    /**
     * Allows you to highlight specific legends by clicking the mouse or by interacting with the keyboard in the pivot chart.
     *
     * @default 1
     */
    tabIndex: number;
    /**
     * Allows you to add a description of the pivot chart.
     *
     * @default null
     */
    description: string;
    /**
     * It triggers after the pivot chart resized.
     *
     * @event resized
     * @deprecated
     */
    resized: base.EmitType<charts.IResizeEventArgs>;
    /**
     * Allows you to draw points of the column type pivot chart series as side by side.
     *
     * @default true
     */
    enableSideBySidePlacement: boolean;
    /**
     * It triggers after the pivot chart loaded.
     *
     * @event loaded
     * @deprecated
     */
    loaded: base.EmitType<charts.ILoadedEventArgs>;
    /**
     * It triggers before the pivot chart prints.
     *
     * @event beforePrint
     * @deprecated
     */
    beforePrint: base.EmitType<charts.IPrintEventArgs>;
    /**
     * It triggers after the pivot chart series animation is completed.
     *
     * @event animationComplete
     * @deprecated
     */
    animationComplete: base.EmitType<charts.IAnimationCompleteEventArgs>;
    /**
     * It triggers before chart loads.
     *
     * @event load
     * @deprecated
     */
    load: base.EmitType<charts.ILoadedEventArgs>;
    /**
     * It triggers before the data label for series renders in the pivot chart.
     *
     * @event textRender
     * @deprecated
     */
    textRender: base.EmitType<charts.ITextRenderEventArgs>;
    /**
     * It triggers before the legend renders in the pivot chart.
     *
     * @event legendRender
     * @deprecated
     */
    legendRender: base.EmitType<charts.ILegendRenderEventArgs>;
    /**
     * It triggers before the series is rendered in the pivot chart.
     *
     * @event seriesRender
     * @deprecated
     */
    seriesRender: base.EmitType<charts.ISeriesRenderEventArgs>;
    /**
     * Event to customize the multi-level labels of the pivot chart. This triggers while rendering the multi-level labels
     *
     * @event multiLevelLabelRender
     */
    multiLevelLabelRender: base.EmitType<MultiLevelLabelRenderEventArgs>;
    /**
     * It triggers before each points for the series is rendered.
     *
     * @event pointRender
     * @deprecated
     */
    pointRender: base.EmitType<charts.IPointRenderEventArgs>;
    /**
     * It triggers before the tooltip for series is rendered.
     *
     * @event tooltipRender
     * @deprecated
     */
    tooltipRender: base.EmitType<charts.ITooltipRenderEventArgs>;
    /**
     * Triggers when the chart legend of a specific series is clicked.
     *
     * @event legendClick
     */
    legendClick: base.EmitType<charts.ILegendClickEventArgs>;
    /**
     * It triggers before each axis label is rendered.
     *
     * @event axisLabelRender
     * @deprecated
     */
    axisLabelRender: base.EmitType<charts.IAxisLabelRenderEventArgs>;
    /**
     * It triggers when clicked multi-level label.
     *
     * @event multiLevelLabelClick
     * @deprecated
     */
    multiLevelLabelClick: base.EmitType<MultiLevelLabelClickEventArgs>;
    /**
     * It triggers on clicking the pivot chart.
     *
     * @event chartMouseClick
     * @deprecated
     */
    chartMouseClick: base.EmitType<charts.IMouseEventArgs>;
    /**
     * It triggers on hovering the pivot chart.
     *
     * @event chartMouseMove
     * @deprecated
     */
    chartMouseMove: base.EmitType<charts.IMouseEventArgs>;
    /**
     * It triggers on series point move.
     *
     * @event pointMove
     * @deprecated
     */
    pointMove: base.EmitType<charts.IPointEventArgs>;
    /**
     * It triggers on series point click.
     *
     * @event pointClick
     * @deprecated
     */
    pointClick: base.EmitType<charts.IPointEventArgs>;
    /**
     * It triggers when mouse down on chart series.
     *
     * @event chartMouseDown
     * @deprecated
     */
    chartMouseDown: base.EmitType<charts.IMouseEventArgs>;
    /**
     * It triggers when cursor leaves the chart.
     *
     * @event chartMouseLeave
     * @deprecated
     */
    chartMouseLeave: base.EmitType<charts.IMouseEventArgs>;
    /**
     * It triggers after the drag selection is completed on chart series.
     *
     * @event dragComplete
     * @deprecated
     */
    dragComplete: base.EmitType<charts.IDragCompleteEventArgs>;
    /**
     * It triggers when mouse up on chart series.
     *
     * @event chartMouseUp
     * @deprecated
     */
    chartMouseUp: base.EmitType<charts.IMouseEventArgs>;
    /**
     * It triggers when start scroll the chart series.
     *
     * @event scrollStart
     * @deprecated
     */
    scrollStart: base.EmitType<charts.IScrollEventArgs>;
    /**
     * It triggers after the zoom selection is completed.
     *
     * @event zoomComplete
     * @deprecated
     */
    zoomComplete: base.EmitType<charts.IZoomCompleteEventArgs>;
    /**
     * It triggers when change the scroll of the chart series.
     *
     * @event scrollChanged
     * @deprecated
     */
    scrollChanged: base.EmitType<charts.IScrollEventArgs>;
    /**
     * It triggers after the scroll end.
     *
     * @event scrollEnd
     * @deprecated
     */
    scrollEnd: base.EmitType<charts.IScrollEventArgs>;
    /**
     * Allows you to display the multi-level label feature in the pivot chart. This multi-level labels used to perform drill operation in the pivot chart.
     *
     * @default true
     */
    showMultiLevelLabels: boolean;
}
//node_modules/@syncfusion/ej2-pivotview/src/pivotview/model/chartsettings-model.d.ts
/**
 * Interface for a class Animation
 */
export interface AnimationModel {
    /**
     * Allow the chart series gets animated on initial loading.
     *
     * @default true
     */
    enable?: boolean;
    /**
     * Allows to set the duration of animation in milliseconds.
     *
     * @default 1000
     */
    duration?: number;
    /**
     * Allows to delay the animation of the chart series.
     *
     * @default 0
     */
    delay?: number;
}
/**
 * Interface for a class ChartSegment
 */
export interface ChartSegmentModel {
    /**
     * Allows to set the starting point of region.
     *
     * @default null
     */
    value?: object;
    /**
     * Allows to set the color of a region.
     *
     * @default null
     */
    color?: string;
    /**
     * Allows to set the pattern of dashes and gaps to stroke.
     *
     * @default '0'
     */
    dashArray?: string;
}
/**
 * Interface for a class Font
 */
export interface FontModel {
    /**
     * Allows to set the font style to the text in the chart.
     *
     * @default 'Normal'
     */
    fontStyle?: string;
    /**
     * Allows to set the font size to the text in the chart.
     *
     * @default '16px'
     */
    size?: string;
    /**
     * Allows to set the font weight to the text in the chart.
     *
     * @default 'Normal'
     */
    fontWeight?: string;
    /**
     * Allows to set color to the text in the chart.
     *
     * @default ''
     */
    color?: string;
    /**
     * Allows to set text alignment in the chart
     *
     * @default 'Center'
     */
    textAlignment?: charts.Alignment;
    /**
     * Allows to set font family to the text in the chart.
     *
     * @default 'Segoe UI'
     */
    fontFamily?: string;
    /**
     * Allows to set opacity to the text in the chart.
     *
     * @default 1
     */
    opacity?: number;
    /**
     * Allows to specify the chart title text overflow
     *
     * @default 'Trim'
     */
    textOverflow?: charts.TextOverflow;
}
/**
 * Interface for a class Margin
 */
export interface MarginModel {
    /**
     * Allows to set the left margin in pixels.
     *
     * @default 10
     */
    left?: number;
    /**
     * Allows to set the right margin in pixels.
     *
     * @default 10
     */
    right?: number;
    /**
     * Allows to set the top margin in pixels.
     *
     * @default 10
     */
    top?: number;
    /**
     * Allows to set the bottom margin in pixels.
     *
     * @default 10
     */
    bottom?: number;
}
/**
 * Interface for a class Border
 */
export interface BorderModel {
    /**
     * Allows to set the color of the border that accepts value in hex and rgba as a valid CSS color string.
     *
     * @default ''
     */
    color?: string;
    /**
     * Allows to set the width of the border in pixels.
     *
     * @default 1
     */
    width?: number;
}
/**
 * Interface for a class Offset
 */
export interface OffsetModel {
    /**
     * Allows to set the x(left) value of the marker position
     *
     * @default 0
     */
    x?: number;
    /**
     * Allows to set the y(top) value of the marker position
     *
     * @default 0
     */
    y?: number;
}
/**
 * Interface for a class Indexes
 */
export interface IndexesModel {
    /**
     * Allows to specify the series index
     *
     * @default 0
     * @aspType int
     */
    series?: number;
    /**
     * Allows to specify the point index
     *
     * @default 0
     * @aspType int
     */
    point?: number;
}
/**
 * Interface for a class ChartArea
 */
export interface ChartAreaModel {
    /**
     * Allows options to customize the border of the chart area.
     */
    border?: charts.BorderModel;
    /**
     * Allows to set the background of the chart area that accepts value in hex and rgba as a valid CSS color string.
     *
     * @default 'transparent'
     */
    background?: string;
    /**
     * Allows to set the opacity to the background of the chart area.
     *
     * @default 1
     */
    opacity?: number;
    /**
     * Allows to set the background image of the chart area that accepts value in string as url link or location of an image.
     *
     * @default null
     */
    backgroundImage?: string;
}
/**
 * Interface for a class CrosshairSettings
 */
export interface CrosshairSettingsModel {
    /**
     * Allows to show the crosshair lines in the chart.
     *
     * @default false
     */
    enable?: boolean;
    /**
     * Allows to set the pattern of dashes and gaps to crosshair.
     *
     * @default ''
     */
    dashArray?: string;
    /**
     * Allow options to customize the border of the crosshair line such as color and border size in the pivot chart.
     */
    line?: charts.BorderModel;
    /**
     * Allows to specify the line type of the crosshair. Horizontal mode enables the horizontal line and Vertical mode enables the vertical line. They are,
     * * None: Hides both vertical and horizontal crosshair lines.
     * * Both: Shows both vertical and horizontal crosshair lines.
     * * Vertical: Shows the vertical line.
     * * Horizontal: Shows the horizontal line.
     *
     * @default Both
     */
    lineType?: charts.LineType;
}
/**
 * Interface for a class DataLabelSettings
 */
export interface DataLabelSettingsModel {
    /**
     * Allows to set the visibility of data label to the series renders.
     *
     * @default false
     */
    visible?: boolean;
    /**
     * Allows to set the data source field that contains the data label value.
     *
     * @default null
     */
    name?: string;
    /**
     * Allows to set the background color of the data label accepts value in hex and rgba as a valid CSS color string.
     *
     * @default 'transparent'
     */
    fill?: string;
    /**
     * Allows to set the opacity to the background.
     *
     * @default 1
     */
    opacity?: number;
    /**
     * Allows to specify the rotation angle to data label.
     *
     * @default 0
     */
    angle?: number;
    /**
     * Allows to set whether rotation to data label is enable or not.
     *
     * @default false
     */
    enableRotation?: boolean;
    /**
     * Allows to specify the position of the data label. They are,
     * * Outer: Positions the label outside the point.
     * * top: Positions the label on top of the point.
     * * Bottom: Positions the label at the bottom of the point.
     * * Middle: Positions the label to the middle of the point.
     * * Auto: Positions the label based on series.
     *
     * @default 'Auto'
     */
    position?: LabelPosition;
    /**
     * Allows to set the roundedCornerX for the data label. It requires `border` values not to be null.
     *
     * @default 5
     */
    rx?: number;
    /**
     * Allows to set the roundedCornerY for the data label. It requires `border` values not to be null.
     *
     * @default 5
     */
    ry?: number;
    /**
     * Allows to set the alignment for data Label. They are,
     * * Near: Aligns the label to the left of the point.
     * * Center: Aligns the label to the center of the point.
     * * Far: Aligns the label to the right of the point.
     *
     * @default 'Center'
     */
    alignment?: charts.Alignment;
    /**
     * Allows option for customizing the border lines.
     */
    border?: charts.BorderModel;
    /**
     * Allows customize the margin to the data label.
     */
    margin?: charts.MarginModel;
    /**
     * Allows option for customizing the data label text.
     */
    font?: charts.FontModel;
    /**
     * Allows custom template to show the data label. Use ${point.x} and ${point.y} as a placeholder
     * text to display the corresponding data point.
     *
     * @default null
     * @aspType string
     */
    template?: string | Function;
}
/**
 * Interface for a class PivotChartConnectorStyle
 */
export interface PivotChartConnectorStyleModel {
    /**
     * specifies the type of the connector line for pie, funnel, doughnut and pyramid chart. They are
     * * curve
     * * Line
     *
     * @default 'Line'
     */
    type?: charts.ConnectorType;
    /**
     * Specifies the color of the connector line for pie, funnel, doughnut and pyramid chart.
     *
     * @default null
     */
    color?: string;
    /**
     * Width of the connector line in pixels for pie, funnel, doughnut and pyramid chart.
     *
     * @default 1
     */
    width?: number;
    /**
     * Length of the connector line in pixels for pie, funnel, doughnut and pyramid chart.
     *
     * @default 'null'
     */
    length?: string;
    /**
     * dashArray of the connector line for pie, funnel, doughnut and pyramid chart.
     *
     * @default ''
     */
    dashArray?: string;
}
/**
 * Interface for a class PivotChartDataLabel
 */
export interface PivotChartDataLabelModel {
    /**
     * Allows to set the visibility of data label to the series renders.
     *
     * @default true
     */
    visible?: boolean;
    /**
     * Allows to set the border to data labels.
     */
    border?: charts.BorderModel;
    /**
     * Allows to customize the font of data labels.
     */
    font?: charts.FontModel;
    /**
     * Allows to set the background color of the data label accepts value in hex and rgba as a valid CSS color string.
     *
     * @default 'transparent'
     */
    fill?: string;
    /**
     * Allows to specify the rotation angle to data label.
     *
     * @default 0
     */
    angle?: number;
    /**
     * Allows to set whether rotation to data label is enable or not.
     *
     * @default false
     */
    enableRotation?: boolean;
    /**
     * Allows to specify the position of the data label. They are,
     * * Outside: Positions the label outside the point.
     * * Inside: Positions the label on top of the point.
     *
     * @default 'Outside'
     */
    position?: charts.AccumulationLabelPosition;
    /**
     * Allows to set the roundedCornerX for the data label. It requires `border` values not to be null.
     *
     * @default 5
     */
    rx?: number;
    /**
     * Allows to set the roundedCornerY for the data label. It requires `border` values not to be null.
     *
     * @default 5
     */
    ry?: number;
    /**
     * Allows custom template to show the data label. Use ${point.x} and ${point.y} as a placeholder
     * text to display the corresponding data point.
     *
     * @default null
     * @aspType string
     */
    template?: string | Function;
    /**
     * Allows custom connector of the pie, funnel, pyramid and doughnut chart data label.
     *
     * @default null
     */
    connectorStyle?: PivotChartConnectorStyleModel;
}
/**
 * Interface for a class MarkerSettings
 */
export interface MarkerSettingsModel {
    /**
     * Allows the visibility of the marker for chart series.
     * > This is applicable only for line and area type series.
     *
     * @default false
     */
    visible?: boolean;
    /**
     * Allows to specify the shape of a marker.They are
     * * Circle - Renders a circle.
     * * Rectangle - Renders a rectangle.
     * * Triangle - Renders a triangle.
     * * Diamond - Renders a diamond.
     * * Cross - Renders a cross.
     * * HorizontalLine - Renders a horizontalLine.
     * * VerticalLine - Renders a verticalLine.
     * * Pentagon- Renders a pentagon.
     * * InvertedTriangle - Renders a invertedTriangle.
     * * Image - Renders a image.
     *
     * @default 'Circle'
     */
    shape?: charts.ChartShape;
    /**
     * Allows to set the URL for the Image that is to be displayed as a marker.  It requires marker `shape` value to be an `Image`.
     *
     * @default ''
     */
    imageUrl?: string;
    /**
     * Allows to set the width of the marker in pixels.
     *
     * @default 5
     */
    width?: number;
    /**
     * Allows to set the height of the marker in pixels.
     *
     * @default 5
     */
    height?: number;
    /**
     * Allows options for customizing the border of a marker.
     */
    border?: charts.BorderModel;
    /**
     * Allows options for customizing the marker position.
     */
    offset?: OffsetModel;
    /**
     *  Allows to set the fill color of the marker that accepts value in hex and rgba as a valid CSS color string.
     *  By default, it will take series' color.
     *
     * @default null
     */
    fill?: string;
    /**
     * Allows to set the opacity of the marker.
     *
     * @default 1
     */
    opacity?: number;
    /**
     * Allows to set the data label for the series.
     */
    dataLabel?: charts.DataLabelSettingsModel;
}
/**
 * Interface for a class ErrorBarCapSettings
 */
export interface ErrorBarCapSettingsModel {
    /**
     * Allows to set the width of the error bar in pixels.
     *
     * @default 1
     */
    width?: number;
    /**
     * Allows to set the length of the error bar in pixels.
     *
     * @default 10
     */
    length?: number;
    /**
     *  Allows to set the stroke color of the cap, which accepts value in hex, rgba as a valid CSS color string.
     *
     * @default null
     */
    color?: string;
    /**
     * Allows to set the opacity of the cap.
     *
     * @default 1
     */
    opacity?: number;
}
/**
 * Interface for a class ErrorBarSettings
 */
export interface ErrorBarSettingsModel {
    /**
     * Allows to set the visibility of the error bar gets rendered.
     *
     * @default false
     */
    visible?: boolean;
    /**
     * Allows to set the type of the error bar . They are
     * * Fixed -  Renders a fixed type error bar.
     * * Percentage - Renders a percentage type error bar.
     * * StandardDeviation - Renders a standard deviation type error bar.
     * * StandardError -Renders a standard error type error bar.
     * * Custom -Renders a custom type error bar.
     *
     * @default 'Fixed'
     */
    type?: charts.ErrorBarType;
    /**
     * Allows to set the direction of the error bar . They are
     * * both -  Renders both direction of error bar.
     * * minus - Renders minus direction of error bar.
     * * plus - Renders plus direction error bar.
     *
     * @default 'Both'
     */
    direction?: charts.ErrorBarDirection;
    /**
     * Allows to set the mode of the error bar . They are
     * * Vertical -  Renders a vertical error bar.
     * * Horizontal - Renders a horizontal error bar.
     * * Both - Renders both side error bar.
     *
     * @default 'Vertical'
     */
    mode?: charts.ErrorBarMode;
    /**
     * Allows to set the vertical error of the error bar.
     *
     * @default 1
     */
    verticalError?: number;
    /**
     *  Allows to set the color for stroke of the error bar, which accepts value in hex, rgba as a valid CSS color string.
     *
     * @default null
     */
    color?: string;
    /**
     * Allows to set the stroke width of the error bar.
     *
     * @default 1
     */
    width?: number;
    /**
     * Allows to set the horizontal error of the error bar.
     *
     * @default 1
     */
    horizontalError?: number;
    /**
     * Allows to set the vertical negative error of the error bar.
     *
     * @default 3
     */
    verticalNegativeError?: number;
    /**
     * Allows to set the vertical positive error of the error bar.
     *
     * @default 3
     */
    verticalPositiveError?: number;
    /**
     * Allows to set the horizontal negative error of the error bar.
     *
     * @default 1
     */
    horizontalNegativeError?: number;
    /**
     * Allows to set the horizontal positive error of the error bar.
     *
     * @default 1
     */
    horizontalPositiveError?: number;
    /**
     * Allows options for customizing the cap of the error bar.
     */
    errorBarCap?: charts.ErrorBarCapSettingsModel;
}
/**
 * Interface for a class Trendline
 */
export interface TrendlineModel {
    /**
     * Allows to set the name of trendline
     *
     * @default ''
     */
    name?: string;
    /**
     * Allows to set the pattern of dashes and gaps to stroke.
     *
     * @default '0'
     */
    dashArray?: string;
    /**
     * Allows to specify the visibility of trendline.
     *
     * @default true
     */
    visible?: boolean;
    /**
     * Allows to set the period, the price changes over which will be considered to predict moving average trend line
     *
     * @default 2
     */
    period?: number;
    /**
     * Allows to set the type of the trendline
     *
     * @default 'Linear'
     */
    type?: charts.TrendlineTypes;
    /**
     * Allows to set the period, by which the trend has to backward forecast
     *
     * @default 0
     */
    backwardForecast?: number;
    /**
     * Allows to set the period, by which the trend has to forward forecast
     *
     * @default 0
     */
    forwardForecast?: number;
    /**
     * Allows to set the polynomial order of the polynomial trendline
     *
     * @default 2
     */
    polynomialOrder?: number;
    /**
     * Allows options to customize the marker for trendlines
     *
     * @deprecated
     */
    marker?: charts.MarkerSettingsModel;
    /**
     * Allows to set the visibility of the tooltip for trendlines
     *
     * @default true
     */
    enableTooltip?: boolean;
    /**
     * Allows options to customize the animation for trendlines
     */
    animation?: charts.AnimationModel;
    /**
     * Allows to set the fill color of trendline
     *
     * @default ''
     */
    fill?: string;
    /**
     * Allows to set the width of the trendline
     *
     * @default 1
     */
    width?: number;
    /**
     * Allows to set the intercept of the trendline
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    intercept?: number;
    /**
     * Allows to set the legend shape of the trendline
     *
     * @default 'SeriesType'
     */
    legendShape?: charts.LegendShape;
}
/**
 * Interface for a class EmptyPointSettings
 */
export interface EmptyPointSettingsModel {
    /**
     * Allows you to customize the fill color of empty points.
     *
     * @default null
     */
    fill?: string;
    /**
     * Allows options to customize the border of empty points.
     *
     * @default "{color: 'transparent', width: 0}"
     */
    border?: charts.BorderModel;
    /**
     * Allows you To customize the mode of empty points.
     *
     * @default Zero
     */
    mode?: charts.EmptyPointMode | charts.AccEmptyPointMode;
}
/**
 * Interface for a class CornerRadius
 */
export interface CornerRadiusModel {
    /**
     * Allows to set the top left corner radius value
     *
     * @default 0
     */
    topLeft?: number;
    /**
     * Allows to set the top right corner radius value
     *
     * @default 0
     */
    topRight?: number;
    /**
     * Allows to set the bottom left corner radius value
     *
     * @default 0
     */
    bottomLeft?: number;
    /**
     * Allows to set the bottom right corner radius value
     *
     * @default 0
     */
    bottomRight?: number;
}
/**
 * Interface for a class CrosshairTooltip
 */
export interface CrosshairTooltipModel {
    /**
     * Allows to set the visibility of the crosshair tooltip.
     *
     *  @default false
     */
    enable?: boolean;
    /**
     * Allows to set the fill color of the ToolTip accepts value in hex and rgba as a valid CSS color string.
     *
     * @default null
     */
    fill?: string;
    /**
     * Allows options to customize the crosshair ToolTip text.
     */
    textStyle?: charts.FontModel;
}
/**
 * Interface for a class StripLineSettings
 */
export interface StripLineSettingsModel {
    /**
     * Allows to set the visibility of the strip line for axis to be rendered.
     *
     * @default true
     */
    visible?: boolean;
    /**
     *  Allows the strip line to be rendered from axis origin.
     *
     *  @default false
     */
    startFromAxis?: boolean;
    /**
     * Allows to set the start value of the strip line.
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    start?: number | Date;
    /**
     * Allows to set the end value of the strip line.
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    end?: number | Date;
    /**
     * Allows to set the size of the strip line, when it starts from the origin.
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    size?: number;
    /**
     * Allows to set the color of the strip line.
     *
     * @default '#808080'
     */
    color?: string;
    /**
     * Allows to set the dash array of the strip line.
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    dashArray?: string;
    /**
     * Allows to set the size type of the strip line
     *
     * @default Auto
     */
    sizeType?: charts.SizeType;
    /**
     * Allows to set repeated value of the strip line.
     *
     * @default false
     * @aspDefaultValueIgnore
     */
    isRepeat?: boolean;
    /**
     * Allows to set the repeatEvery value of the strip line.
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    repeatEvery?: number | Date;
    /**
     * Allows to set the repeatUntil value of the strip line.
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    repeatUntil?: number | Date;
    /**
     * Allows to set the isSegmented value of the strip line
     *
     * @default false
     * @aspDefaultValueIgnore
     */
    isSegmented?: boolean;
    /**
     * Allows to set the segmentStart value of the strip line.
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    segmentStart?: number | Date;
    /**
     * Allows to set the segmentEnd value of the strip line.
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    segmentEnd?: number | Date;
    /**
     * Allows to set the segmentAxisName of the strip line.
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    segmentAxisName?: string;
    /**
     * Allows to customize the border of the strip line with different settings such as text, rotation, line alignment, text style and opacity in the chart.
     */
    border?: charts.BorderModel;
    /**
     * Allows to set the strip line text.
     *
     * @default ''
     */
    text?: string;
    /**
     * Allows to set the angle to which the strip line text gets rotated.
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    rotation?: number;
    /**
     * Allows to set the position of the strip line text horizontally. They are,
     * * Start: Places the strip line text at the start.
     * * Middle: Places the strip line text in the middle.
     * * End: Places the strip line text at the end.
     *
     * @default 'Middle'
     */
    horizontalAlignment?: charts.Anchor;
    /**
     * Allows to set the position of the strip line text vertically. They are,
     * * Start: Places the strip line text at the start.
     * * Middle: Places the strip line text in the middle.
     * * End: Places the strip line text at the end.
     *
     * @default 'Middle'
     */
    verticalAlignment?: charts.Anchor;
    /**
     * Allows options to customize the strip line text.
     */
    textStyle?: charts.FontModel;
    /**
     * Allows to set the order of the strip line. They are,
     * * Behind: Places the strip line behind the series elements.
     * * Over: Places the strip line over the series elements.
     *
     * @default 'Behind'
     */
    zIndex?: charts.ZIndex;
    /**
     * Allows to set the opacity of the strip line
     *
     * @default 1
     */
    opacity?: number;
}
/**
 * Interface for a class LabelBorder
 */
export interface LabelBorderModel {
    /**
     * Allows to set the color of the border that accepts value in hex and rgba as a valid CSS color string.
     *
     * @default ''
     */
    color?: string;
    /**
     * Allows to set the width of the border in pixels.
     *
     * @default 1
     */
    width?: number;
    /**
     * Allows to set the border type for labels
     * * Rectangle
     * * Without Top Border
     * * Without Top and BottomBorder
     * * Without Border
     * * Brace
     * * CurlyBrace
     *
     * @default 'Rectangle'
     */
    type?: charts.BorderType;
}
/**
 * Interface for a class MajorGridLines
 */
export interface MajorGridLinesModel {
    /**
     * Allows to set the width of the line in pixels.
     *
     * @default 1
     */
    width?: number;
    /**
     * Allows to set the dash array of the grid lines.
     *
     * @default ''
     */
    dashArray?: string;
    /**
     * Allows to set the color of the major grid line that accepts value in hex and rgba as a valid CSS color string.
     *
     * @default null
     */
    color?: string;
}
/**
 * Interface for a class MinorGridLines
 */
export interface MinorGridLinesModel {
    /**
     * Allows to set the width of the line in pixels.
     *
     * @default 0.7
     */
    width?: number;
    /**
     * Allows to set the dash array of grid lines.
     *
     * @default ''
     */
    dashArray?: string;
    /**
     * Allows to set the color of the minor grid line that accepts value in hex and rgba as a valid CSS color string.
     *
     * @default null
     */
    color?: string;
}
/**
 * Interface for a class AxisLine
 */
export interface AxisLineModel {
    /**
     * Allows to set the width of the line in pixels.
     *
     * @default 1
     */
    width?: number;
    /**
     * Allows to set the dash array of the axis line.
     *
     * @default ''
     */
    dashArray?: string;
    /**
     * Allows to set the color of the axis line that accepts value in hex and rgba as a valid CSS color string.
     *
     * @default null
     */
    color?: string;
}
/**
 * Interface for a class MajorTickLines
 */
export interface MajorTickLinesModel {
    /**
     * Allows to set the width of the tick lines in pixels.
     *
     * @default 1
     */
    width?: number;
    /**
     * Allows to set the height of the ticks in pixels.
     *
     * @default 5
     */
    height?: number;
    /**
     * Allows to set the color of the major tick line that accepts value in hex and rgba as a valid CSS color string.
     *
     * @default null
     */
    color?: string;
}
/**
 * Interface for a class MinorTickLines
 */
export interface MinorTickLinesModel {
    /**
     * Allows to set the width of the tick line in pixels.
     *
     * @default 0.7
     */
    width?: number;
    /**
     * Allows to set the height of the ticks in pixels.
     *
     * @default 5
     */
    height?: number;
    /**
     * Allows to set the color of the minor tick line that accepts value in hex and rgba as a valid CSS color string.
     *
     * @default null
     */
    color?: string;
}
/**
 * Interface for a class ChartLocation
 */
export interface ChartLocationModel {
    /**
     * Allows to set the x(left) value of the legend position
     *
     * @default 0
     */
    x?: number;
    /**
     * Allows to set the y(top) value of the legend position
     *
     * @default 0
     */
    y?: number;
}
/**
 * Interface for a class PivotChartSeriesBorder
 */
export interface PivotChartSeriesBorderModel {
    /**
     * Allows to set the color of the border that accepts value in hex and rgba as a valid CSS color string.
     *
     * @default ''
     */
    color?: string;
    /**
     * Allows to set the width of the border in pixels.
     *
     * @default 1
     */
    width?: number;
}
/**
 * Interface for a class PivotChartSeriesAnimation
 */
export interface PivotChartSeriesAnimationModel {
    /**
     * Allows to set the visibility of the series to be animated on initial loading.
     *
     * @default true
     */
    enable?: boolean;
    /**
     * Allows to set the duration of animation in milliseconds.
     *
     * @default 1000
     */
    duration?: number;
    /**
     * Allows to set the option to delay animation of the series.
     *
     * @default 0
     */
    delay?: number;
}
/**
 * Interface for a class PivotChartSeriesSegment
 */
export interface PivotChartSeriesSegmentModel {
    /**
     * Allows to set the starting point of region.
     *
     * @default null
     */
    value?: object;
    /**
     * Allows to set the color of a region.
     *
     * @default null
     */
    color?: string;
    /**
     * Allows to set the pattern of dashes and gaps to stroke.
     *
     * @default '0'
     */
    dashArray?: string;
}
/**
 * Interface for a class PivotChartSeriesMarkerSettings
 */
export interface PivotChartSeriesMarkerSettingsModel {
    /**
     * If set to true the marker for series is rendered. This is applicable only for line and area type series.
     *
     * @default false
     */
    visible?: boolean;
    /**
     * Allows to set the different shape of a marker:
     * * circle - Renders the marker shaper as circle.
     * * rectangle - Renders the marker shaper as rectangle.
     * * triangle - Renders the marker shaper as triangle.
     * * diamond - Renders the marker shaper as diamond.
     * * cross - Renders the marker shaper as cross.
     * * horizontalLine - Renders the marker shaper as horizontalLine.
     * * verticalLine - Renders the marker shaper as verticalLine.
     * * pentagon- Renders the marker shaper as pentagon.
     * * invertedTriangle - Renders the marker shaper as invertedTriangle.
     * * image - Renders the marker shaper as image.
     *
     * @default 'Circle'
     */
    shape?: charts.ChartShape;
    /**
     * Allows to set the URL for the Image that is to be displayed as a marker.  It requires marker `shape` value to be an `Image`.
     *
     * @default ''
     */
    imageUrl?: string;
    /**
     * Allows to set the height of the marker in pixels.
     *
     * @default 5
     */
    height?: number;
    /**
     * Allows to set the width of the marker in pixels.
     *
     * @default 5
     */
    width?: number;
    /**
     * Allows options for customizing the border of a marker.
     */
    border?: charts.BorderModel;
    /**
     * Allows to set the fill color of the marker that accepts value in hex and rgba as a valid CSS color string.
     * By default, it will take series' color.
     *
     * @default null
     */
    fill?: string;
    /**
     * Allows to set the opacity of the marker.
     *
     * @default 1
     */
    opacity?: number;
    /**
     * Allows to set the data label for the series.
     */
    dataLabel?: charts.DataLabelSettingsModel;
}
/**
 * Interface for a class PivotChartSeriesErrorSettings
 */
export interface PivotChartSeriesErrorSettingsModel {
    /**
     * If set true, error bar for data gets rendered.
     *
     * @default false
     */
    visible?: boolean;
    /**
     * Allows to set the type of the error bar . They are
     * * Fixed -  Renders a fixed type error bar.
     * * Percentage - Renders a percentage type error bar.
     * * StandardDeviation - Renders a standard deviation type error bar.
     * * StandardError -Renders a standard error type error bar.
     * * Custom -Renders a custom type error bar.
     *
     * @default 'Fixed'
     */
    type?: charts.ErrorBarType;
    /**
     * Allows to set the direction of the error bar . They are
     * * both -  Renders both direction of error bar.
     * * minus - Renders minus direction of error bar.
     * * plus - Renders plus direction error bar.
     *
     * @default 'Both'
     */
    direction?: charts.ErrorBarDirection;
    /**
     * Allows to set the mode of the error bar . They are
     * * Vertical -  Renders a vertical error bar.
     * * Horizontal - Renders a horizontal error bar.
     * * Both - Renders both side error bar.
     *
     * @default 'Vertical'
     */
    mode?: charts.ErrorBarMode;
    /**
     *  Allows to set the color for stroke of the error bar, which accepts value in hex, rgba as a valid CSS color string.
     *
     * @default null
     */
    color?: string;
    /**
     * Allows to set the vertical error of the error bar.
     *
     * @default 1
     */
    verticalError?: number;
    /**
     * Allows to set the stroke width of the error bar.
     *
     * @default 1
     */
    width?: number;
    /**
     * Allows to set the horizontal error of the error bar.
     *
     * @default 1
     */
    horizontalError?: number;
    /**
     * Allows to set the vertical positive error of the error bar.
     *
     * @default 3
     */
    verticalPositiveError?: number;
    /**
     * Allows to set the vertical negative error of the error bar.
     *
     * @default 3
     */
    verticalNegativeError?: number;
    /**
     * Allows to set the horizontal positive error of the error bar.
     *
     * @default 1
     */
    horizontalPositiveError?: number;
    /**
     * Allows to set the horizontal negative error of the error bar.
     *
     * @default 1
     */
    horizontalNegativeError?: number;
    /**
     * Allows options for customizing the cap of the error bar.
     */
    errorBarCap?: charts.ErrorBarCapSettingsModel;
}
/**
 * Interface for a class PivotChartSeriesTrendline
 */
export interface PivotChartSeriesTrendlineModel {
    /**
     * Allows to set the name of trendline
     *
     * @default ''
     */
    name?: string;
    /**
     * Allows to set the type of the trendline
     *
     * @default 'Linear'
     */
    type?: charts.TrendlineTypes;
    /**
     * Allows to set the period, the price changes over which will be considered to predict moving average trend line
     *
     * @default 2
     */
    period?: number;
    /**
     * Allows to set the polynomial order of the polynomial trendline
     *
     * @default 2
     */
    polynomialOrder?: number;
    /**
     * Allows to set the period, by which the trend has to backward forecast
     *
     * @default 0
     */
    backwardForecast?: number;
    /**
     * Allows to set the period, by which the trend has to forward forecast
     *
     * @default 0
     */
    forwardForecast?: number;
    /**
     * Allows options to customize the animation for trendlines
     */
    animation?: charts.AnimationModel;
    /**
     * Allows options to customize the marker for trendlines
     */
    marker?: charts.MarkerSettingsModel;
    /**
     * Enables/disables tooltip for trendlines
     *
     * @default true
     */
    enableTooltip?: boolean;
    /**
     * Allows to set the intercept of the trendline
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    intercept?: number;
    /**
     * Allows to set the fill color of trendline
     *
     * @default ''
     */
    fill?: string;
    /**
     * Allows to set the width of the trendline
     *
     * @default 1
     */
    width?: number;
    /**
     * Allows to set the legend shape of the trendline
     *
     * @default 'SeriesType'
     */
    legendShape?: charts.LegendShape;
}
/**
 * Interface for a class PivotChartSeriesEmptyPointSettings
 */
export interface PivotChartSeriesEmptyPointSettingsModel {
    /**
     * Allows to customize the fill color of empty points.
     *
     * @default null
     */
    fill?: string;
    /**
     * Allows options to customize the border of empty points.
     *
     * @default "{color: 'transparent', width: 0}"
     */
    border?: charts.BorderModel;
    /**
     * To customize the mode of empty points.
     *
     * @default Zero
     */
    mode?: charts.EmptyPointMode | charts.AccEmptyPointMode;
}
/**
 * Interface for a class PivotChartSeriesCornerRadius
 */
export interface PivotChartSeriesCornerRadiusModel {
    /**
     * Allows to set the top left corner radius value
     *
     * @default 0
     */
    topLeft?: number;
    /**
     * Allows to set the top right corner radius value
     *
     * @default 0
     */
    topRight?: number;
    /**
     * Allows to set the bottom left corner radius value
     *
     * @default 0
     */
    bottomLeft?: number;
    /**
     * Allows to set the bottom right corner radius value
     *
     * @default 0
     */
    bottomRight?: number;
}
/**
 * Interface for a class PivotChartAxisFont
 */
export interface PivotChartAxisFontModel {
    /**
     * Allows to set the font style for the text.
     *
     * @default 'Normal'
     */
    fontStyle?: string;
    /**
     * Allows to set the font size for the text.
     *
     * @default '16px'
     */
    size?: string;
    /**
     * Allows to set the font weight for the text.
     *
     * @default 'Normal'
     */
    fontWeight?: string;
    /**
     * Allows to set the color for the text.
     *
     * @default ''
     */
    color?: string;
    /**
     * Allows to set the text alignment
     *
     * @default 'Center'
     */
    textAlignment?: charts.Alignment;
    /**
     * Allows to set the font family for the text.
     */
    fontFamily?: string;
    /**
     * Allows to set the opacity for the text.
     *
     * @default 1
     */
    opacity?: number;
    /**
     * Allows to set the chart title text overflow
     *
     * @default 'Trim'
     */
    textOverflow?: charts.TextOverflow;
}
/**
 * Interface for a class PivotChartAxisCrosshairTooltip
 */
export interface PivotChartAxisCrosshairTooltipModel {
    /**
     * If set to true, crosshair ToolTip will be visible.
     *
     *  @default false
     */
    enable?: boolean;
    /**
     * Allows to set the fill color of the ToolTip accepts value in hex and rgba as a valid CSS color string.
     *
     * @default null
     */
    fill?: string;
    /**
     * Allows options to customize the crosshair ToolTip text.
     */
    textStyle?: charts.FontModel;
}
/**
 * Interface for a class PivotChartAxisMajorTickLines
 */
export interface PivotChartAxisMajorTickLinesModel {
    /**
     * Allows to set the width of the tick lines in pixels.
     *
     * @default 1
     */
    width?: number;
    /**
     * Allows to set the height of the ticks in pixels.
     *
     * @default 5
     */
    height?: number;
    /**
     * Allows to set the color of the major tick line that accepts value in hex and rgba as a valid CSS color string.
     *
     * @default null
     */
    color?: string;
}
/**
 * Interface for a class PivotChartAxisMajorGridLines
 */
export interface PivotChartAxisMajorGridLinesModel {
    /**
     * Allows to set the width of the line in pixels.
     *
     * @default 1
     */
    width?: number;
    /**
     * Allows to set the dash array of the grid lines.
     *
     * @default ''
     */
    dashArray?: string;
    /**
     * Allows to set the color of the major grid line that accepts value in hex and rgba as a valid CSS color string.
     *
     * @default null
     */
    color?: string;
}
/**
 * Interface for a class PivotChartAxisMinorTickLines
 */
export interface PivotChartAxisMinorTickLinesModel {
    /**
     * Allows to set the width of the tick line in pixels.
     *
     * @default 0.7
     */
    width?: number;
    /**
     * Allows to set the height of the ticks in pixels.
     *
     * @default 5
     */
    height?: number;
    /**
     * Allows to set the color of the minor tick line that accepts value in hex and rgba as a valid CSS color string.
     *
     * @default null
     */
    color?: string;
}
/**
 * Interface for a class PivotChartAxisMinorGridLines
 */
export interface PivotChartAxisMinorGridLinesModel {
    /**
     * Allows to set the width of the line in pixels.
     *
     * @default 0.7
     */
    width?: number;
    /**
     * Allows to set the dash array of grid lines.
     *
     * @default ''
     */
    dashArray?: string;
    /**
     * Allows to set the color of the minor grid line that accepts value in hex and rgba as a valid CSS color string.
     *
     * @default null
     */
    color?: string;
}
/**
 * Interface for a class PivotChartAxisAxisLine
 */
export interface PivotChartAxisAxisLineModel {
    /**
     * Allows to set the width of the line in pixels.
     *
     * @default 1
     */
    width?: number;
    /**
     * Allows to set the dash array of the axis line.
     *
     * @default ''
     */
    dashArray?: string;
    /**
     * Allows to set the color of the axis line that accepts value in hex and rgba as a valid CSS color string.
     *
     * @default null
     */
    color?: string;
}
/**
 * Interface for a class PivotChartAxisStripLineSettings
 */
export interface PivotChartAxisStripLineSettingsModel {
    /**
     * If set true, strip line for pivot chart axis renders.
     *
     * @default true
     */
    visible?: boolean;
    /**
     *  If set true, strip line get render from  pivot chart axis origin.
     *
     *  @default false
     */
    startFromAxis?: boolean;
    /**
     * Allows to set the start value of the pivot chart strip line.
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    start?: number | Date;
    /**
     * Allows to set the end value of the pivot chart strip line.
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    end?: number | Date;
    /**
     * Allows to set the size of the pivot chart strip line, when it starts from the origin.
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    size?: number;
    /**
     * Allows to set the color of the pivot chart strip line.
     *
     * @default '#808080'
     */
    color?: string;
    /**
     * Allows to set the dash Array of the pivot chart strip line.
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    dashArray?: string;
    /**
     * Allows to set the size type of the pivot chart strip line
     *
     * @default Auto
     */
    sizeType?: charts.SizeType;
    /**
     * Allows to set the isRepeat value of the pivot chart strip line.
     *
     * @default false
     * @aspDefaultValueIgnore
     */
    isRepeat?: boolean;
    /**
     * Allows to set the repeatEvery value of the pivot chart strip line.
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    repeatEvery?: number | Date;
    /**
     * Allows to set the repeatUntil value of the pivot chart strip line.
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    repeatUntil?: number | Date;
    /**
     * Allows to set the isSegmented value of the pivot chart strip line
     *
     * @default false
     * @aspDefaultValueIgnore
     */
    isSegmented?: boolean;
    /**
     * Allows to set the segmentStart value of the pivot chart strip line.
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    segmentStart?: number | Date;
    /**
     * Allows to set the segmentEnd value of the pivot chart strip line.
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    segmentEnd?: number | Date;
    /**
     * Allows to set the segmentAxisName of the pivot chart strip line.
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    segmentAxisName?: string;
    /**
     * Allows to set the border of the pivot chart strip line.
     */
    border?: charts.BorderModel;
    /**
     * Allows to set the strip line text.
     *
     * @default ''
     */
    text?: string;
    /**
     * Allows to set the angle to which the strip line text gets rotated.
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    rotation?: number;
    /**
     * Allows to set the position of the strip line text horizontally. They are,
     * * Start: Places the strip line text at the start.
     * * Middle: Places the strip line text in the middle.
     * * End: Places the strip line text at the end.
     *
     * @default 'Middle'
     */
    horizontalAlignment?: charts.Anchor;
    /**
     * Allows to set the position of the strip line text vertically. They are,
     * * Start: Places the strip line text at the start.
     * * Middle: Places the strip line text in the middle.
     * * End: Places the strip line text at the end.
     *
     * @default 'Middle'
     */
    verticalAlignment?: charts.Anchor;
    /**
     * Allows options to customize the strip line text.
     */
    textStyle?: charts.FontModel;
    /**
     * Allows to set the order of the strip line. They are,
     * * Behind: Places the strip line behind the series elements.
     * * Over: Places the strip line over the series elements.
     *
     * @default 'Behind'
     */
    zIndex?: charts.ZIndex;
    /**
     * Strip line Opacity
     *
     * @default 1
     */
    opacity?: number;
}
/**
 * Interface for a class PivotChartAxisLabelBorder
 */
export interface PivotChartAxisLabelBorderModel {
    /**
     * Allows to set the color of the border that accepts value in hex and rgba as a valid CSS color string.
     *
     * @default ''
     */
    color?: string;
    /**
     * Allows to set the width of the border in pixels.
     *
     * @default 1
     */
    width?: number;
    /**
     * Allows to set the border type for labels
     * * Rectangle
     * * Without Top Border
     * * Without Top and BottomBorder
     * * Without Border
     * * Brace
     * * CurlyBrace
     *
     * @default 'Rectangle'
     */
    type?: charts.BorderType;
}
/**
 * Interface for a class PivotChartSettingsChartArea
 */
export interface PivotChartSettingsChartAreaModel {
    /**
     * Allows options to customize the border of the chart area.
     */
    border?: charts.BorderModel;
    /**
     * Allows to set the background of the chart area that accepts value in hex and rgba as a valid CSS color string.
     *
     * @default 'transparent'
     */
    background?: string;
    /**
     * Allows to set the opacity for background.
     *
     * @default 1
     */
    opacity?: number;
}
/**
 * Interface for a class PivotChartSettingsCrosshairSettings
 */
export interface PivotChartSettingsCrosshairSettingsModel {
    /**
     * If set to true, crosshair line becomes visible.
     *
     * @default false
     */
    enable?: boolean;
    /**
     * Allows to set the DashArray for crosshair.
     *
     * @default ''
     */
    dashArray?: string;
    /**
     * Allows options to customize the crosshair line.
     */
    line?: charts.BorderModel;
    /**
     * Allows to set the line type. Horizontal mode enables the horizontal line and Vertical mode enables the vertical line. They are,
     * * None: Hides both vertical and horizontal crosshair lines.
     * * Both: Shows both vertical and horizontal crosshair lines.
     * * Vertical: Shows the vertical line.
     * * Horizontal: Shows the horizontal line.
     *
     * @default Both
     */
    lineType?: charts.LineType;
}
/**
 * Interface for a class PivotChartSettingsLegendSettings
 */
export interface PivotChartSettingsLegendSettingsModel {
    /**
     * If set to true, legend will be visible.
     *
     * @default true
     */
    visible?: boolean;
    /**
     * Allows to set the height of the legend in pixels.
     *
     * @default null
     */
    height?: string;
    /**
     * Allows to set the width of the legend in pixels.
     *
     * @default null
     */
    width?: string;
    /**
     * Allows to set the location of the legend, relative to the chart.
     * If x is 20, legend moves by 20 pixels to the right of the chart. It requires the `position` to be `Custom`.
     *
     * ```typescript
     * ...
     *   legendSettings: {
     *     visible: true,
     *     position: 'Custom',
     *     location: { x: 100, y: 150 },
     *   },
     * ...
     * ```
     */
    location?: charts.LocationModel;
    /**
     * Allows to set the position of the legend in the chart are,
     * * Auto: Places the legend based on area type.
     * * Top: Displays the legend at the top of the chart.
     * * Left: Displays the legend at the left of the chart.
     * * Bottom: Displays the legend at the bottom of the chart.
     * * Right: Displays the legend at the right of the chart.
     * * Custom: Displays the legend  based on the given x and y values.
     *
     * @default 'Auto'
     */
    position?: charts.LegendPosition;
    /**
     * Allows option to customize the padding between legend items.
     *
     * @default 8
     */
    padding?: number;
    /**
     * Allows to set the legend in chart can be aligned as follows:
     * * Near: Aligns the legend to the left of the chart.
     * * Center: Aligns the legend to the center of the chart.
     * * Far: Aligns the legend to the right of the chart.
     *
     * @default 'Center'
     */
    alignment?: charts.Alignment;
    /**
     * Allows options to customize the legend text.
     */
    textStyle?: charts.FontModel;
    /**
     * Allows to set the shape height of the legend in pixels.
     *
     * @default 10
     */
    shapeHeight?: number;
    /**
     * Allows to set the shape width of the legend in pixels.
     *
     * @default 10
     */
    shapeWidth?: number;
    /**
     * Allows options to customize the border of the legend.
     */
    border?: charts.BorderModel;
    /**
     * Allows options to customize left, right, top and bottom margins of the chart.
     */
    margin?: charts.MarginModel;
    /**
     * Allows to set the padding between the legend shape and text.
     *
     * @default 5
     */
    shapePadding?: number;
    /**
     * Allows to set the background color of the legend that accepts value in hex and rgba as a valid CSS color string.
     *
     * @default 'transparent'
     */
    background?: string;
    /**
     * Allows to set the opacity of the legend.
     *
     * @default 1
     */
    opacity?: number;
    /**
     * If set to true, series' visibility collapses based on the legend visibility.
     *
     * @default true
     */
    toggleVisibility?: boolean;
    /**
     * Allows to set the description for legends.
     *
     * @default null
     */
    description?: string;
    /**
     * Allows to set the tabindex value for the legend.
     *
     * @default 3
     */
    tabIndex?: number;
}
/**
 * Interface for a class PivotChartSettingsIndexes
 */
export interface PivotChartSettingsIndexesModel {
    /**
     * Allows to set the series index
     *
     * @default 0
     * @aspType int
     */
    series?: number;
    /**
     * Allows to set the point index
     *
     * @default 0
     * @aspType int
     */
    point?: number;
}
/**
 * Interface for a class PivotChartSettingsMargin
 */
export interface PivotChartSettingsMarginModel {
    /**
     * Allows to set the left margin in pixels.
     *
     * @default 10
     */
    left?: number;
    /**
     * Allows to set the right margin in pixels.
     *
     * @default 10
     */
    right?: number;
    /**
     * Allows to set the top margin in pixels.
     *
     * @default 10
     */
    top?: number;
    /**
     * Allows to set the bottom margin in pixels.
     *
     * @default 10
     */
    bottom?: number;
}
/**
 * Interface for a class PivotSeries
 */
export interface PivotSeriesModel {
    /**
     * Allows to set the fill color for the series that accepts value in hex and rgba as a valid CSS color string.
     *
     * @default null
     */
    fill?: string;
    /**
     * Allows to set the end angle for the pie and doughnut chart series.
     *
     * @default null
     */
    endAngle?: number;
    /**
     * Allows to enable or disable series point explode on mouse click or touch for pie, funnel, doughnut and pyramid chart.
     *
     * @default false
     */
    explode?: boolean;
    /**
     * Allows to enable or disable all series point explode on mouse click or touch for  pie, funnel, doughnut and pyramid chart.
     *
     * @default false
     */
    explodeAll?: boolean;
    /**
     * Allows to set Index of the point to be exploded on load for pie, funnel, doughnut and pyramid chart.
     *
     * @default null
     */
    explodeIndex?: number;
    /**
     * Allows to set inner radius for pie and doughnut series chart.
     *
     * @default null
     */
    innerRadius?: string;
    /**
     * Allows to set distance of the point from the center, which takes values in both pixels and
     * percentage for pie, funnel, doughnut and pyramid chart.
     *
     * @default "30%"
     */
    explodeOffset?: string;
    /**
     * Allows to set the distance between the segments of a funnel/pyramid series. The range will be from 0 to 1.
     *
     * @default 0
     */
    gapRatio?: number;
    /**
     * Allows to define the mode of grouping for pie, funnel, doughnut and pyramid chart series.
     *
     * @default "Value"
     */
    groupMode?: charts.GroupModes;
    /**
     * Allows to combine the y values into slice named other for  pie, funnel, doughnut and pyramid chart Series.
     *
     * @default null
     */
    groupTo?: string;
    /**
     * Allows to defines the height of the funnel chart neck with respect to the chart area.
     *
     * @default "20%"
     */
    neckHeight?: string;
    /**
     * Allows to defines the width of the funnel chart neck with respect to the chart area.
     *
     * @default "20%"
     */
    neckWidth?: string;
    /**
     * Defines how the values have to be reflected, whether through height/surface of the segments in pyramid series.
     *
     * @default 'Linear'
     */
    pyramidMode?: charts.PyramidModes;
    /**
     * Allows you to draw the chart series points with custom color for the pie, funnel, doughnut and pyramid chart types.
     *
     * @default []
     */
    palettes?: string[];
    /**
     * Allows to defines start angle for the pie, funnel, doughnut and pyramid chart series.
     *
     * @default 0
     */
    startAngle?: number;
    /**
     * Allows options to customizing animation for the series.
     *
     * @default null
     */
    animation?: charts.AnimationModel;
    /**
     * Allows options to customize data label for the pie, funnel, pyramid, doughnut chart series.
     *
     * @default null
     */
    dataLabel?: PivotChartDataLabelModel;
    /**
     * Allows to set the pattern of dashes and gaps to stroke the lines in `Line` type series.
     *
     * @default '0'
     */
    dashArray?: string;
    /**
     * Allows to set the stroke width for the series that is applicable only for `Line` type series.
     *
     * @default 1
     */
    width?: number;
    /**
     * Allows to set the axis, based on which the line series will be split.
     */
    segmentAxis?: charts.Segment;
    /**
     * Allows to set the type of series to be drawn in radar or polar series. They are
     *  'Line'
     *  'Column'
     *  'Area'
     *  'Scatter'
     *  'Spline'
     *  'StackingColumn'
     *  'StackingArea'
     *  'RangeColumn'
     *  'SplineArea'
     *
     * @default 'Line'
     */
    drawType?: charts.ChartDrawType;
    /**
     * Specifies whether to join start and end point of a line/area series used in polar/radar chart to form a closed path.
     *
     * @default true
     */
    isClosed?: boolean;
    /**
     * Allows to set the collection of regions that helps to differentiate a line series.
     */
    segments?: charts.ChartSegmentModel[];
    /**
     * This allows grouping the chart series in `stacked column / bar` charts.
     * Any string value can be provided to the stackingGroup property.
     * If any two or above series have the same value, those series will be grouped together.
     *
     * @default ''
     */
    stackingGroup?: string;
    /**
     * Allows options to customizing the border of the series. This is applicable only for `Column` and `Bar` type series.
     */
    border?: charts.BorderModel;
    /**
     * Allows to set the visibility of series.
     *
     * @default true
     */
    visible?: boolean;
    /**
     * Allows to set the opacity of the series.
     *
     * @default 1
     */
    opacity?: number;
    /**
     * Allows to set the type of the series are
     * * Line - Allows to display the pivot chart with line series.
     * * Column - Allows to display the pivot chart with column series.
     * * Area - Allows to display the pivot chart with area series.
     * * Bar - Allows to display the pivot chart with bar series.
     * * StackingColumn - Allows to display the pivot chart with stacked column series.
     * * StackingArea - Allows to display the pivot chart with stacked area series.
     * * StackingBar - Allows to display the pivot chart with stacked bar series.
     * * StepLine - Allows to display the pivot chart with step line series.
     * * StepArea - Allows to display the pivot chart with step area series.
     * * SplineArea - Allows to display the pivot chart with spline area series.
     * * Scatter - Allows to display the pivot chart with scatter series.
     * * Spline - Allows to display the pivot chart with spline series.
     * * StackingColumn100 - Allows to display the pivot chart with 100% stacked column series.
     * * StackingBar100 - Allows to display the pivot chart with 100% stacked bar series.
     * * StackingArea100 - Allows to display the pivot chart with 100% stacked area series.
     * * Bubble - Allows to display the pivot chart with bubble series.
     * * Pareto - Allows to display the pivot chart with pareto series.
     * * Polar - Allows to display the pivot chart with polar series.
     * * Radar - Allows to display the pivot chart with radar series.
     *
     * @default 'Line'
     */
    type?: ChartSeriesType;
    /**
     * Allows options for displaying and customizing markers for individual points in a series.
     */
    marker?: charts.MarkerSettingsModel;
    /**
     * Allows options for displaying and customizing error bar for individual point in a series.
     */
    errorBar?: charts.ErrorBarSettingsModel;
    /**
     * If set true, the Tooltip for series will be visible.
     *
     * @default true
     */
    enableTooltip?: boolean;
    /**
     * Allows to set the collection of trendlines that are used to predict the trend
     */
    trendlines?: charts.TrendlineModel[];
    /**
     * Allows to set the provided value will be considered as a Tooltip name
     *
     * @default ''
     */
    tooltipMappingName?: string;
    /**
     * Allows to set the shape of the legend. Each series has its own legend shape. They are,
     * * Circle - Renders a circle.
     * * Rectangle - Renders a rectangle.
     * * VerticalLine - Renders a verticalLine.
     * * Pentagon - Renders a pentagon.
     * * InvertedTriangle - Renders a invertedTriangle.
     * * SeriesType - Render a legend shape based on series type.
     * * Triangle - Renders a triangle.
     * * Diamond - Renders a diamond.
     * * Cross - Renders a cross.
     * * HorizontalLine - Renders a horizontalLine.
     * * Image - Renders a image.
     *
     * @default 'SeriesType'
     */
    legendShape?: charts.LegendShape;
    /**
     * Allows to set the minimum radius.
     *
     * @default 1
     */
    minRadius?: number;
    /**
     * Allows to set the custom style for the selected series or points.
     *
     * @default null
     */
    selectionStyle?: string;
    /**
     * Allows to set the type of spline to be rendered.
     *
     * @default 'Natural'
     */
    splineType?: charts.SplineType;
    /**
     * Allows to set the maximum radius.
     *
     * @default 3
     */
    maxRadius?: number;
    /**
     * Allows to set the tension of cardinal spline types
     *
     * @default 0.5
     */
    cardinalSplineTension?: number;
    /**
     * Allows to render the column series points with particular column width.
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    columnWidth?: number;
    /**
     * Allows options to customize the empty points in series
     */
    emptyPointSettings?: charts.EmptyPointSettingsModel;
    /**
     * Allows to render the column series points with particular rounded corner.
     */
    cornerRadius?: charts.CornerRadiusModel;
    /**
     * Allows to render the column series points with particular column spacing. It takes value from 0 - 1.
     *
     * @default 0
     */
    columnSpacing?: number;
}
/**
 * Interface for a class PivotAxis
 */
export interface PivotAxisModel {
    /**
     * Allows to set the actions like `Hide`, `Rotate45`, and `Rotate90` when the axis labels intersect with each other.They are,
     * * Rotate45: Rotates the label to 45 degree when it intersects.
     * * Rotate90: Rotates the label to 90 degree when it intersects.
     * * None: Shows all the labels.
     * * Hide: Hides the label when it intersects.
     *
     * @default Rotate45
     */
    labelIntersectAction?: charts.LabelIntersectAction;
    /**
     * Allows options to customize the axis label.
     */
    labelStyle?: charts.FontModel;
    /**
     * Allows to set the title of an axis.
     *
     * @default ''
     */
    title?: string;
    /**
     * Allows to scale the axis by this value. When zoomFactor is 0.5, the chart is scaled by 200% along this axis. Value ranges from 0 to 1.
     *
     * @default null
     */
    zoomFactor?: number;
    /**
     * Allows options to customize the crosshair ToolTip.
     */
    crosshairTooltip?: charts.CrosshairTooltipModel;
    /**
     * It used to format the axis label that accepts any global string format like 'C', 'n1', 'P' etc.
     * It also accepts placeholder like '{value}°C' in which value represent the axis label, e.g, 20°C.
     *
     * @default ''
     */
    labelFormat?: string;
    /**
     * Allows options for customizing the axis title.
     */
    titleStyle?: charts.FontModel;
    /**
     * Allows to specify the indexed category to the axis.
     *
     * @default false
     */
    isIndexed?: boolean;
    /**
     * Allows to set the left and right padding for the plot area in pixels.
     *
     * @default 0
     */
    plotOffset?: number;
    /**
     * Allows to set the position of labels at the edge of the axis.They are,
     * * Shift: Shifts the edge labels.
     * * None: No action will be performed.
     * * Hide: Edge label will be hidden.
     *
     * @default 'Shift'
     */
    edgeLabelPlacement?: charts.EdgeLabelPlacement;
    /**
     * Allows to set the placement of a label for category axis. They are,
     * * onTicks: Renders the label on the ticks.
     * * betweenTicks: Renders the label between the ticks.
     *
     * @default 'BetweenTicks'
     */
    labelPlacement?: charts.LabelPlacement;
    /**
     * Allows to set the placement of a ticks to the axis line. They are,
     * * outside: Renders the ticks outside to the axis line.
     * * inside: Renders the ticks inside to the axis line.
     *
     * @default 'Outside'
     */
    tickPosition?: charts.AxisPosition;
    /**
     * If set to true, the axis will render at the opposite side of its default position.
     *
     * @default false
     */
    opposedPosition?: boolean;
    /**
     * If set to true, axis label will be visible.
     *
     * @default true
     */
    visible?: boolean;
    /**
     * Allows to set the placement of a labels to the axis line. They are,
     * * outside: Renders the labels outside to the axis line.
     * * inside: Renders the labels inside to the axis line.
     *
     * @default 'Outside'
     */
    labelPosition?: charts.AxisPosition;
    /**
     * Allows to set the angle to which the axis label gets rotated.
     *
     * @default 0
     */
    labelRotation?: number;
    /**
     * Allows to set the number of minor ticks per interval.
     *
     * @default 0
     */
    minorTicksPerInterval?: number;
    /**
     * Allows to set the maximum range of an axis.
     *
     * @default null
     */
    maximum?: object;
    /**
     * Allows to set the minimum range of an axis.
     *
     * @default null
     */
    minimum?: object;
    /**
     * Allows to set the maximum width of an axis label.
     *
     * @default 34.
     */
    maximumLabelWidth?: number;
    /**
     * Allows to set the interval for an axis.
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    interval?: number;
    /**
     * Allows options for customizing major tick lines.
     */
    majorTickLines?: charts.MajorTickLinesModel;
    /**
     * Allows to set the Trim property for an axis.
     *
     * @default false
     */
    enableTrim?: boolean;
    /**
     * Allows options for customizing major grid lines.
     */
    majorGridLines?: charts.MajorGridLinesModel;
    /**
     * Allows options for customizing minor tick lines.
     */
    minorTickLines?: charts.MinorTickLinesModel;
    /**
     * Allows options for customizing axis lines.
     */
    lineStyle?: charts.AxisLineModel;
    /**
     * Allows options for customizing minor grid lines.
     */
    minorGridLines?: charts.MinorGridLinesModel;
    /**
     * Allows to specify whether the axis to be rendered in inversed manner or not.
     *
     * @default false
     */
    isInversed?: boolean;
    /**
     * Allows to set the description for axis and its element.
     *
     * @default null
     */
    description?: string;
    /**
     * Allows to set the start angle for the series.
     *
     * @default 0
     */
    startAngle?: number;
    /**
     * Allows to set the polar radar radius position.
     *
     * @default 100
     */
    coefficient?: number;
    /**
     * Allows to set the stripLine collection for the axis
     */
    stripLines?: charts.StripLineSettingsModel[];
    /**
     * Allows to set the tabindex value for the axis.
     *
     * @default 2
     */
    tabIndex?: number;
    /**
     * Allows to set the border of the multi level labels.
     */
    border?: charts.LabelBorderModel;
}
/**
 * Interface for a class PivotTooltipSettings
 */
export interface PivotTooltipSettingsModel {
    /**
     * Allows to set the visibility of the marker.
     *
     * @default false.
     */
    enableMarker?: boolean;
    /**
     * Allows to set the visibility of the tooltip.
     *
     * @default true.
     */
    enable?: boolean;
    /**
     * Allows to set the fill color of the tooltip that accepts value in hex and rgba as a valid CSS color string.
     *
     * @default null
     */
    fill?: string;
    /**
     * If set to true, a single ToolTip will be displayed for every index.
     *
     * @default false.
     */
    shared?: boolean;
    /**
     * Allows to set the fill color of the tooltip that accepts value in hex and rgba as a valid CSS color string.
     *
     * @default 0.75
     */
    opacity?: number;
    /**
     * Allows to set the header for tooltip.
     *
     * @default null
     */
    header?: string;
    /**
     * Allows to set the format the ToolTip content.
     *
     * @default null.
     */
    format?: string;
    /**
     * Allows options to customize the ToolTip text.
     */
    textStyle?: charts.FontModel;
    /**
     * Allows to set the custom template to format the ToolTip content. Use ${x} and ${y} as the placeholder text to display the corresponding data point.
     *
     * @default null.
     * @aspType string
     */
    template?: string | Function;
    /**
     * Allows options to customize tooltip borders.
     */
    border?: charts.BorderModel;
    /**
     * If set to true, ToolTip will animate while moving from one point to another.
     *
     * @default true.
     */
    enableAnimation?: boolean;
}
/**
 * Interface for a class PivotPieChartCenter
 */
export interface PivotPieChartCenterModel {
    /**
     * X value of the center.
     *
     * @default "50%"
     */
    x?: string;
    /**
     * Y value of the center.
     *
     * @default "50%"
     */
    y?: string;
}
/**
 * Interface for a class PivotZoomSettings
 */
export interface PivotZoomSettingsModel {
    /**
     * If to true, chart can be pinched to zoom in / zoom out.
     *
     * @default false
     */
    enablePinchZooming?: boolean;
    /**
     * If set to true, chart can be zoomed by a rectangular selecting region on the plot area.
     *
     * @default true
     */
    enableSelectionZooming?: boolean;
    /**
     * If set to true, zooming will be performed on mouse up. It requires `enableSelectionZooming` to be true.
     *
     * ```typescript
     * ...
     *    zoomSettings: {
     *      enableSelectionZooming: true,
     *      enableDeferredZooming: false
     *    }
     * ...
     * ```
     *
     * @default false
     */
    enableDeferredZooming?: boolean;
    /**
     * If set to true, chart can be zoomed by using mouse wheel.
     *
     * @default false
     */
    enableMouseWheelZooming?: boolean;
    /**
     * Allows to specify whether to allow zooming vertically or horizontally or in both ways. They are,
     * * x: Chart can be zoomed horizontally.
     * * y: Chart can be zoomed  vertically.
     * * x,y: Chart can be zoomed both vertically and horizontally.
     *  It requires `enableSelectionZooming` to be true.
     *
     * ```typescript
     * ...
     *   zoomSettings: {
     *      enableSelectionZooming: true,
     *      mode: 'XY'
     *    },
     * ...
     * ```
     *
     * @default 'XY'
     */
    mode?: charts.ZoomMode;
    /**
     * Allows to set the toolkit options for the zooming as follows:
     * * 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.
     *
     * @default '["Zoom", "ZoomIn", "ZoomOut", "Pan", "Reset"]'
     */
    toolbarItems?: charts.ToolbarItems[];
    /**
     * Specifies whether axis needs to have scrollbar.
     *
     * @default true.
     */
    enableScrollbar?: boolean;
    /**
     * Specifies whether chart needs to be panned by default.
     *
     * @default false.
     */
    enablePan?: boolean;
}
/**
 * Interface for a class ChartSettings
 */
export interface ChartSettingsModel {
    /**
     * Allow options to customize the chart series with different settings such as fill color, animation of the series,
     * series width, border, visibility of the series, opacity, chart series types, marker, tooltip, trendlines, etc., in the pivot chart.
     * For example, to display the line type pivot chart, set the property `type` to **Line**.
     */
    chartSeries?: PivotSeriesModel;
    /**
     * Allow options to customize the horizontal(row) axis with different properties such as labelIntersectAction, labelStyle, title,
     * description, crosshairTooltip, labelFormat, titleStyle, plotOffset, edgeLabelPlacement, labelPlacement, tickPosition, opposedPosition, minor and
     * major grid lines, minor and major tick lines, border, etc. in the pivot chart.
     */
    primaryXAxis?: PivotAxisModel;
    /**
     * Allow options to customize the vertical(value) axis with different properties such as labelIntersectAction, labelStyle,
     * title, description, crosshairTooltip, labelFormat, titleStyle, plotOffset, edgeLabelPlacement, labelPlacement, tickPosition, opposedPosition, minor and
     * major grid lines, minor and major tick lines, border, etc. in the pivot chart.
     */
    primaryYAxis?: PivotAxisModel;
    /**
     * Allows you to draw a pivot chart with a specific value field during initial loading.
     *
     * @default ''
     */
    value?: string;
    /**
     * Allows to specify the column whose values will be considered to draw the pivot chart. The is applicable
     * for pie, doughnut, funnel and pyramid chart types.
     *
     * @default ''
     */
    columnHeader?: string;
    /**
     * Allows to specify the delimiter to split the column headers. The is applicable for pie, doughnut,
     * funnel and pyramid chart types.
     *
     * @default '-'
     */
    columnDelimiter?: string;
    /**
     * It allows you to draw a pivot chart with multiple value fields as a single or stacked chart area.
     * Use the `multipleAxisMode` enum options, either **Stacked** or **Single**, to show the chart area as either stacked or single based on value fields.
     *
     * @default false
     */
    enableMultipleAxis?: boolean;
    /**
     * Allows the chart series to be displayed, depending on the value fields specified, in either a stacked or single chart area.
     * The options available are:
     * * Stacked: Allows the chart series to be displayed in a separate chart area depending on the value fields specified.
     * * Single: Allows the chart series to be displayed in a single chart area for different value fields.
     *
     * @default 'Stacked'
     */
    multipleAxisMode?: MultipleAxisMode;
    /**
     * Enable or disable scroll bar while multiple axis.
     *
     * @default false
     */
    enableScrollOnMultiAxis?: boolean;
    /**
     * Allows to display chart series in accordance with member name in all chart area.
     * > It is applicable only when `enableMultipleAxis` property is set to **true**.
     * > The `showMemberSeries` property is deprecated and will no longer be used. Use `showPointColorByMembers` with  to achieve the same.
     *
     * @default false
     * @deprecated
     */
    showMemberSeries?: boolean;
    /**
     * Allows to display data points in different colors in multiple charts. The multiple charts are actually drawn as a result of the "n" of measures bound in the datasource.
     * > It is only applicable when the `enableMultipleAxis` property is enabled and the `multipleAxisMode` property is set to **Stacked**.
     *
     * @default false
     */
    showPointColorByMembers?: boolean;
    /**
     * Allow options to customize the title in the pivot chart with different properties such as fontStyle, font size, fontWeight, font color, testAlignment, fontFamily, opacity, textOverflow.
     */
    titleStyle?: charts.titleSettingsModel;
    /**
     * Allows you to add title to the pivot chart.
     *
     * @default ''
     */
    title?: string;
    /**
     * Allow options to customize the subtitle in the pivot chart with different properties such as fontStyle, font size, fontWeight, font color, testAlignment, fontFamily, opacity, textOverflow.
     */
    subTitleStyle?: charts.titleSettingsModel;
    /**
     * Allows you to add the subtitle to the pivot chart.
     *
     * @default ''
     */
    subTitle?: string;
    /**
     * Allow options to customize the border of the chart series such as color and border size in the pivot chart.
     * For example, to display the chart series border color as red, set the properties `color` to either **"red"** or **"#FF0000"** or **"rgba(255,0,0,1.0)"** and `width` to **0.5**.
     */
    border?: charts.BorderModel;
    /**
     *  Allow options to customize the left, right, top and bottom margins of the pivot chart.
     */
    margin?: charts.MarginModel;
    /**
     * Allow options to customize the chart area with a variety of settings such as background color, border, opacity and background image in the pivot chart.
     * For example, to change the of the pivot chart's background, set the property `opacity` to **0.5**.
     */
    chartArea?: charts.ChartAreaModel;
    /**
     * Allows you to change the background color of the chart series in the pivot chart.
     * For example, to display the chart series with background color as red, set the property `background` to either **"red"** or **"#FF0000"** or **"rgba(255,0,0,1.0)"**.
     *
     * @default null
     */
    background?: string;
    /**
     * Allows you to draw a pivot chart with either material, fabric, bootstrap, highcontrast light, material dark, fabric dark, highcontrast, bootstrap dark, bootstrap4 theme.
     *
     * @default 'Material'
     */
    theme?: charts.ChartTheme;
    /**
     * Allows you to draw the chart series points with custom color in the pivot chart.
     *
     * @default []
     */
    palettes?: string[];
    /**
     * Allow options to customize the crosshair line with different settings such as color and width of the line,
     * line types that are shown horizontally and vertically to indicate the value of the axis at the mouse hover or touch position in the pivot chart.
     */
    crosshair?: charts.CrosshairSettingsModel;
    /**
     * Allow options to customize the tooltip of the pivot chart with different properties such as visibility of the tooltip, enableMarker, fill color, opacity, header for tooltip,
     * format, textStyle, template, border, enableAnimation.
     */
    tooltip?: PivotTooltipSettingsModel;
    /**
     * Allow options to customize the center of pie series chart with properties x and y.
     */
    pieCenter?: PivotPieChartCenterModel;
    /**
     * Allow options to customize the pivot chart zooming with different properties such as enablePinchZooming, enableSelectionZooming,
     * enableDeferredZooming, enableMouseWheelZooming, zoom modes, toolbarItems, enableScrollbar and enablePan.
     */
    zoomSettings?: PivotZoomSettingsModel;
    /**
     * Allow options for customizing legends with different properties such as legend visibility,
     * height, width, position, legend padding, alignment, textStyle, border, margin, background, opacity, description, tabIndex in the pivot chart.
     */
    legendSettings?: charts.LegendSettingsModel;
    /**
     * Allow options for customizing the selection mode to be done either by a specific series or point or cluster or by dragging it to the pivot chart.
     * For example, to highlight a specific point in a specific series of the pivot chart, set the property `selectionMode` to **Point**. The available modes are,
     * * none: Disables the selection.
     * * series: selects a series.
     * * dragXY: selects points by dragging with respect to both horizontal and vertical axes
     * * dragX: selects points by dragging with respect to horizontal axis.
     * * dragY: selects points by dragging with respect to vertical axis.
     * * point: selects a point.
     * * cluster: selects a cluster of point
     *
     * @default 'None'
     */
    selectionMode?: ChartSelectionMode;
    /**
     * Allow options for customizing the selection mode to be done either by a specific series or point or cluster
     * or by dragging it to the pivot chart. For example, to highlight a specific point in a specific series of the
     * pivot chart, set the property `accumulationSelectionMode` to **Point**. It is applicable for chart types pie,
     * funnel, doughnut and pyramid. The available modes are,
     * * none: Disables the selection.
     * * point: selects a point.
     *
     * @default 'None'
     */
    accumulationSelectionMode?: charts.AccumulationSelectionMode;
    /**
     * Allows to set the labels placed smartly without overlapping. It is applicable for chart types pie,
     * funnel, doughnut and pyramid.
     *
     * @default true
     */
    enableSmartLabels?: boolean;
    /**
     * Allows to Enable or disable the border in pie and doughnut chart while mouse moving.
     *
     * @default true
     */
    enableBorderOnMouseMove?: boolean;
    /**
     * Specifies whether point has to get highlighted or not. It is applicable for chart types pie,
     * funnel, doughnut and pyramid. Takes value either 'None 'or 'Point'.
     *
     * @default None
     */
    highlightMode?: charts.AccumulationSelectionMode;
    /**
     * Specifies whether series or data point for accumulation chart has to be selected. They are,
     * * none: sets none as selecting pattern to accumulation chart .
     * * chessboard: sets chess board as selecting pattern accumulation chart .
     * * dots: sets dots as  selecting pattern accumulation chart .
     * * diagonalForward: sets diagonal forward as selecting pattern to accumulation chart .
     * * crosshatch: sets crosshatch as selecting pattern to accumulation chart.
     * * pacman: sets pacman selecting pattern to accumulation chart.
     * * diagonalbackward: sets diagonal backward as selecting pattern to accumulation chart.
     * * grid: sets grid as selecting pattern to accumulation chart.
     * * turquoise: sets turquoise as selecting pattern to accumulation chart.
     * * star: sets star as selecting pattern to accumulation chart.
     * * triangle: sets triangle as selecting pattern to accumulation chart.
     * * circle: sets circle as selecting pattern to accumulation chart.
     * * tile: sets tile as selecting pattern to accumulation chart.
     * * horizontaldash: sets horizontal dash as selecting pattern to accumulation chart.
     * * verticaldash: sets vertical dash as selecting pattern to accumulation chart.
     * * rectangle: sets rectangle as selecting pattern.
     * * box: sets box as selecting pattern to accumulation chart.
     * * verticalstripe: sets vertical stripe as  selecting pattern to accumulation chart.
     * * horizontalstripe: sets horizontal stripe as selecting pattern to accumulation chart.
     * * bubble: sets bubble as selecting pattern to accumulation chart.
     * It is applicable for chart types pie, funnel, doughnut and pyramid.
     *
     * @default None
     */
    highlightPattern?: charts.SelectionPattern;
    /**
     * Allows the pivot chart to be exported to either **PDF** or **PNG** or **JPEG** or **SVG** filter formats.
     *
     * @default true
     */
    enableExport?: boolean;
    /**
     * Allows you to perform multiple selection in the pivot chart. To enable this option, it requires the property `selectionMode` to be **Point** or **Series** or **Cluster**.
     *
     * @default false
     */
    isMultiSelect?: boolean;
    /**
     * Allows you to highlight a specific point of the series while rendering the pivot chart.
     * For example, to highlight first point in the first series, set the properties series to 0 and points to 1. To use this option, it requires the property `selectionMode` to be **Point** or **Series**.
     *
     * @default []
     */
    selectedDataIndexes?: charts.IndexesModel[];
    /**
     * Allows you to enable/disable the tooltip animation while performing the mouse move from one point to another in the pivot chart.
     *
     * @default true
     */
    enableAnimation?: boolean;
    /**
     * Allows you to render the pivot chart in canvas mode.
     *
     * @default false
     */
    enableCanvas?: boolean;
    /**
     * Allows the group separator to be shown to the values in the pivot chart.
     *
     * @default true
     */
    useGroupingSeparator?: boolean;
    /**
     * Allows you to render the pivot chart in a transposed manner or not.
     *
     * @default false
     */
    isTransposed?: boolean;
    /**
     * Allows you to highlight specific legends by clicking the mouse or by interacting with the keyboard in the pivot chart.
     *
     * @default 1
     */
    tabIndex?: number;
    /**
     * Allows you to add a description of the pivot chart.
     *
     * @default null
     */
    description?: string;
    /**
     * It triggers after the pivot chart resized.
     *
     * @event resized
     * @deprecated
     */
    resized?: base.EmitType<charts.IResizeEventArgs>;
    /**
     * Allows you to draw points of the column type pivot chart series as side by side.
     *
     * @default true
     */
    enableSideBySidePlacement?: boolean;
    /**
     * It triggers after the pivot chart loaded.
     *
     * @event loaded
     * @deprecated
     */
    loaded?: base.EmitType<charts.ILoadedEventArgs>;
    /**
     * It triggers before the pivot chart prints.
     *
     * @event beforePrint
     * @deprecated
     */
    beforePrint?: base.EmitType<charts.IPrintEventArgs>;
    /**
     * It triggers after the pivot chart series animation is completed.
     *
     * @event animationComplete
     * @deprecated
     */
    animationComplete?: base.EmitType<charts.IAnimationCompleteEventArgs>;
    /**
     * It triggers before chart loads.
     *
     * @event load
     * @deprecated
     */
    load?: base.EmitType<charts.ILoadedEventArgs>;
    /**
     * It triggers before the data label for series renders in the pivot chart.
     *
     * @event textRender
     * @deprecated
     */
    textRender?: base.EmitType<charts.ITextRenderEventArgs>;
    /**
     * It triggers before the legend renders in the pivot chart.
     *
     * @event legendRender
     * @deprecated
     */
    legendRender?: base.EmitType<charts.ILegendRenderEventArgs>;
    /**
     * It triggers before the series is rendered in the pivot chart.
     *
     * @event seriesRender
     * @deprecated
     */
    seriesRender?: base.EmitType<charts.ISeriesRenderEventArgs>;
    /**
     * base.Event to customize the multi-level labels of the pivot chart. This triggers while rendering the multi-level labels
     *
     * @event multiLevelLabelRender
     */
    multiLevelLabelRender?: base.EmitType<MultiLevelLabelRenderEventArgs>;
    /**
     * It triggers before each points for the series is rendered.
     *
     * @event pointRender
     * @deprecated
     */
    pointRender?: base.EmitType<charts.IPointRenderEventArgs>;
    /**
     * It triggers before the tooltip for series is rendered.
     *
     * @event tooltipRender
     * @deprecated
     */
    tooltipRender?: base.EmitType<charts.ITooltipRenderEventArgs>;
    /**
     * Triggers when the chart legend of a specific series is clicked.
     *
     * @event legendClick
     */
    legendClick?: base.EmitType<charts.ILegendClickEventArgs>;
    /**
     * It triggers before each axis label is rendered.
     *
     * @event axisLabelRender
     * @deprecated
     */
    axisLabelRender?: base.EmitType<charts.IAxisLabelRenderEventArgs>;
    /**
     * It triggers when clicked multi-level label.
     *
     * @event multiLevelLabelClick
     * @deprecated
     */
    multiLevelLabelClick?: base.EmitType<MultiLevelLabelClickEventArgs>;
    /**
     * It triggers on clicking the pivot chart.
     *
     * @event chartMouseClick
     * @deprecated
     */
    chartMouseClick?: base.EmitType<charts.IMouseEventArgs>;
    /**
     * It triggers on hovering the pivot chart.
     *
     * @event chartMouseMove
     * @deprecated
     */
    chartMouseMove?: base.EmitType<charts.IMouseEventArgs>;
    /**
     * It triggers on series point move.
     *
     * @event pointMove
     * @deprecated
     */
    pointMove?: base.EmitType<charts.IPointEventArgs>;
    /**
     * It triggers on series point click.
     *
     * @event pointClick
     * @deprecated
     */
    pointClick?: base.EmitType<charts.IPointEventArgs>;
    /**
     * It triggers when mouse down on chart series.
     *
     * @event chartMouseDown
     * @deprecated
     */
    chartMouseDown?: base.EmitType<charts.IMouseEventArgs>;
    /**
     * It triggers when cursor leaves the chart.
     *
     * @event chartMouseLeave
     * @deprecated
     */
    chartMouseLeave?: base.EmitType<charts.IMouseEventArgs>;
    /**
     * It triggers after the drag selection is completed on chart series.
     *
     * @event dragComplete
     * @deprecated
     */
    dragComplete?: base.EmitType<charts.IDragCompleteEventArgs>;
    /**
     * It triggers when mouse up on chart series.
     *
     * @event chartMouseUp
     * @deprecated
     */
    chartMouseUp?: base.EmitType<charts.IMouseEventArgs>;
    /**
     * It triggers when start scroll the chart series.
     *
     * @event scrollStart
     * @deprecated
     */
    scrollStart?: base.EmitType<charts.IScrollEventArgs>;
    /**
     * It triggers after the zoom selection is completed.
     *
     * @event zoomComplete
     * @deprecated
     */
    zoomComplete?: base.EmitType<charts.IZoomCompleteEventArgs>;
    /**
     * It triggers when change the scroll of the chart series.
     *
     * @event scrollChanged
     * @deprecated
     */
    scrollChanged?: base.EmitType<charts.IScrollEventArgs>;
    /**
     * It triggers after the scroll end.
     *
     * @event scrollEnd
     * @deprecated
     */
    scrollEnd?: base.EmitType<charts.IScrollEventArgs>;
    /**
     * Allows you to display the multi-level label feature in the pivot chart. This multi-level labels used to perform drill operation in the pivot chart.
     *
     * @default true
     */
    showMultiLevelLabels?: boolean;
}
//node_modules/@syncfusion/ej2-pivotview/src/pivotview/base/pivotview.d.ts
/**
 * Allows a set of options for customizing the grouping bar UI with a variety of settings such as UI visibility to a specific view port,
 * customizing the pivot button features such as filtering, sorting, changing aggregate types, removing any fields.
 * The options available to customize the grouping bar UI are:
 * * `showFilterIcon`: Allows you to show or hide the filter icon that used to be displayed on the pivot button of the grouping bar UI.
 * This filter icon is used to filter the members of a particular field at runtime in the pivot table.
 * * `showSortIcon`: Allows you to show or hide the sort icon that used to be displayed in the pivot button of the grouping bar UI.
 * This sort icon is used to order members of a particular fields either in ascending or descending at runtime.
 * * `showRemoveIcon`: Allows you to show or hide the remove icon that used to be displayed in the pivot button of the grouping bar UI.
 * This remove icon is used to remove any field during runtime.
 * * `showValueTypeIcon`: Allows you to show or hide the value type icon that used to be displayed in the pivot button of the grouping bar UI.
 * This value type icon helps to select the appropriate aggregation type to value fields at runtime.
 * * `displayMode`: Allow options to show the grouping bar UI to specific view port such as either pivot table or pivot chart or both table and chart.
 * For example, to show the grouping bar UI to pivot table on its own, set the property `displayMode` to **Table**.
 * * `allowDragAndDrop`: Allows you to restrict the pivot buttons that were used to drag on runtime in the grouping bar UI. This will prevent you from modifying the current report.
 */
export  class GroupingBarSettings extends base.ChildProperty<GroupingBarSettings> {
    /**
     * Allows you to show or hide the filter icon that used to be displayed on the pivot button of the grouping bar UI.
     * This filter icon is used to filter the members of a particular field at runtime in the pivot table.
     * > By default, the filter icon is enabled in the grouping bar.
     *
     * @default true
     */
    showFilterIcon: boolean;
    /**
     * Allows you to show or hide the sort icon that used to be displayed in the pivot button of the grouping bar UI.
     * This sort icon is used to order members of a particular fields either in ascending or descending at runtime.
     * > By default, the sort icon is enabled in the grouping bar.
     *
     * @default true
     */
    showSortIcon: boolean;
    /**
     * Allows you to show or hide the remove icon that used to be displayed in the pivot button of the grouping bar UI. This remove icon is used to remove any field during runtime.
     * > By default, the remove icon is enabled in the grouping bar.
     *
     * @default true
     */
    showRemoveIcon: boolean;
    /**
     * Allows you to show or hide the value type icon that used to be displayed in the pivot button of the grouping bar UI.
     * This value type icon helps to select the appropriate aggregation type to value fields at runtime.
     * > By default, the icon to set aggregate types is enabled in the grouping bar.
     *
     * @default true
     */
    showValueTypeIcon: boolean;
    /**
     * Allow options to show the grouping bar UI to specific view port such as either pivot table or pivot chart or both table and chart.
     * For example, to show the grouping bar UI to pivot table on its own, set the property `displayMode` to **Table**.
     * > By default, the grouping bar UI will be shown to both pivot table as well as pivot chart.
     *
     * @default Both
     */
    displayMode: View;
    /**
     * Allows you to restrict the pivot buttons that were used to drag on runtime in the grouping bar UI.
     * This will prevent you from modifying the current report.
     * > By default, all fields are available for drag-and-drop operation in the grouping bar.
     *
     * @default true
     */
    allowDragAndDrop: boolean;
    /**
     * Allows you to show an additional UI along with the grouping bar UI, which contains the fields that aren't bound in the current report.
     * It allows you to modify the report by re-arranging the pivot buttons through drag-and-drop operation between axes (row, column, value and filter)
     * that are used to update the pivot table during runtime.
     * > This property is applicable only for relational data source.
     *
     * @default false
     */
    showFieldsPanel: boolean;
}
/**
 * Allow options for performing CRUD operations, such as add, edit, delete, and update the raw items of any cell from the pivot table.
 * The raw items can be viewed in a data grid that used to be displayed as a dialog by double-clicking the appropriate value cell in the pivot table.
 * CRUD operations can be performed in this data grid either by double-clicking the cells or using toolbar options.
 * The options available are as follows:
 * * `allowAdding`: Allows you to add a new record to the data grid used to update the appropriate cells in the pivot table.
 * * `allowEditing`: Allows you to edit the existing record in the data grid that used to update the appropriate cells in the pivot table.
 * * `allowDeleting`: Allows you to delete the existing record from the data grid that used to  update the appropriate cells in the pivot table.
 * * `allowCommandColumns`: Allows an additional column appended in the data grid layout holds the command buttons to perform the CRUD operations to edit,
 * delete, and update the raw items to the data grid that used to update the appropriate cells in the pivot table.
 * * `mode`: Allow options for performing CRUD operations with different modes in the data grid that used to update the appropriate cells in the pivot table.
 * The available modes are normal, batch and dialog. **Normal** mode is enabled for CRUD operations in the data grid by default.
 * * `allowEditOnDblClick`: Allows you to restrict CRUD operations by double-clicking the appropriate value cell in the pivot table.
 * * `showConfirmDialog`: Allows you to show the confirmation dialog to save and discard CRUD operations performed in the data grid that used to update the appropriate cells in the pivot table.
 * * `showDeleteConfirmDialog`: Allows you to show the confirmation dialog to delete any records from the data grid.
 *
 * > This feature is applicable only for the relational data source.
 */
export  class CellEditSettings extends base.ChildProperty<CellEditSettings> implements grids.EditSettingsModel {
    /**
     * Allows you to add a new record to the data grid used to update the appropriate cells in the pivot table.
     *
     * @default false
     */
    allowAdding: boolean;
    /**
     * Allows you to edit the existing record in the data grid that used to update the appropriate cells in the pivot table.
     *
     * @default false
     */
    allowEditing: boolean;
    /**
     * Allows you to delete the existing record from the data grid that used to  update the appropriate cells in the pivot table.
     *
     * @default false
     */
    allowDeleting: boolean;
    /**
     * Allows an additional column appended in the data grid layout holds the command buttons to perform the CRUD operations to
     * edit, delete, and update the raw items to the data grid that used to update the appropriate cells in the pivot table.
     *
     * @default false
     */
    allowCommandColumns: boolean;
    /**
     * Allows direct editing of a value cell without opening the edit dialog. NOTE: It is applicable only if the value cell is made by a single raw data. Otherwise editing dialog will be shown.
     * > The `allowInlineEditing` property supports all modes of editing.
     *
     * @default false
     */
    allowInlineEditing: boolean;
    /**
     * Allow options for performing CRUD operations with different modes in the data grid that used to update the appropriate cells in the pivot table.
     * The available modes are as follows:
     * * `Normal`: Allows the currently selected row alone will be completely changed to edit state. You can change the cell values and save it to the data source by clicking “Update” toolbar button.
     * * `Dialog`: Allows the currently selected row data will be shown in an exclusive dialog. You can change the cell values and save it to the data source by clicking “Save” button in the dialog.
     * * `Batch`: Allows you to perform double-click on any data specific cell in the data grid, the state of that selected cell will be changed to edit state.
     * You can perform bulk changes like add, edit and delete data of the cells and finally save to the data source by clicking “Update” toolbar button.
     *
     * > Normal mode is enabled for CRUD operations in the data grid by default.
     *
     * @default Normal
     */
    mode: EditMode;
    /**
     * Allows you to restrict CRUD operations by double-clicking the appropriate value cell in the pivot table.
     *
     * @default true
     */
    allowEditOnDblClick: boolean;
    /**
     * Allows you to show a confirmation dialog to save and discard CRUD operations performed in the data grid that used to update the appropriate cells in the pivot table.
     * > To use this option, it requires the property `mode` to be **Batch**, meaning, the `showConfirmDialog` option is only applicable for batch edit mode.
     *
     * @default true
     */
    showConfirmDialog: boolean;
    /**
     * Allows you to show the confirmation dialog to delete any records from the data grid.
     * > The `showDeleteConfirmDialog` property supports all modes of editing.
     *
     * @default false
     */
    showDeleteConfirmDialog: boolean;
}
/**
 * Allow options for setting the visibility of hyperlink based on specific condition. The options available here are as follows:
 * * `measure`: Allows you to specify the value field caption to get visibility of hyperlink option for specific measure.
 * * `condition`: Allows you to choose the operator type such as equals, greater than, less than, etc.
 * * `value1`: Allows you to set the start value.
 * * `value2`: Allows you to set the end value. This option will be used by default when the operator **Between** and **NotBetween** is chosen to apply.
 */
export  class ConditionalSettings extends base.ChildProperty<ConditionalSettings> {
    /**
     * Allows you to specify the value field caption to get visibility of hyperlink option for specific measure.
     */
    measure: string;
    /**
     * Allows you to specify the row or column header to get visibility of hyperlink option for specific row or column header.
     */
    label: string;
    /**
     * Allows you to choose the operator type such as equals, greater than, less than, etc. The available operators are as follows:
     * * `LessThan`: Allows you to get the cells that have a value that is less than the start value.
     * * `GreaterThan`: Allows you to get the cells that have a value that is greater than the start value.
     * * `LessThanOrEqualTo`: Allows you to get the cells that have a value that is lesser than or equal to the start value.
     * * `GreaterThanOrEqualTo`: Allows you to get the cells that have a value that is greater than or equal to the start value.
     * * `Equals`:  Allows you to get the cells that have a value that matches with the start value.
     * * `NotEquals`: Allows you to get the cells that have a value that does not match with the start value.
     * * `Between`: Allows you to get the cells that have a value that between the start and end value.
     * * NotBetween: Allows you to get the cells that have a value that is not between the start and end value.
     *
     * @default NotEquals
     */
    conditions: Condition;
    /**
     * Allows you to set the start value to get visibility of hyperlink option based on the condition applied.
     * For example, if the start value is 500 and the condition Equals is used, the hyperlink should be enabled to the cells that hold the value of 500 alone.
     */
    value1: number;
    /**
     * Allows you to set the end value to get visibility of hyperlink option based on the condition applied.
     * For example, if the start value is 500, the end value is 1500 and the condition Between is used, the hyperlink should be enabled to the cells that holds the value between 500 to 1500.
     * > This option will be used by default when the operator **Between** and **NotBetween** is chosen to apply.
     */
    value2: number;
}
/**
 * Allow a set of options to display a hyperlink to link data for individual cells that are shown in the pivot table.
 * These options allow you to enable a separate hyperlink for row headers, column headers, value cells, and summary cells in the `hyperlinkSettings` class.
 * The options available are:
 * * `showHyperlink`: Allows you to set the visibility of hyperlink in all cells.
 * * `showRowHeaderHyperlink`: Allows you to set the visibility of hyperlink in row headers.
 * * `showColumnHeaderHyperlink`: Allows you to set the visibility of hyperlink in column headers.
 * * `showValueCellHyperlink`: Allows you to set the visibility of hyperlink in value cells.
 * * `showSummaryCellHyperlink`: Allows you to set the visibility of hyperlink in summary cells.
 * * `headerText`: Allows you to set the visibility of hyperlink based on header text.
 * * `conditionalSettings`: Allows you to set the visibility of hyperlink based on specific condition.
 * * `cssClass`: Allows you to add CSS class name to the hyperlink options.
 *
 * > By default, the hyperlink options are disabled for all cells in the pivot table.
 */
export  class HyperlinkSettings extends base.ChildProperty<HyperlinkSettings> {
    /**
     * Allows you to set the visibility of hyperlink in all cells that are currently shown in the pivot table.
     *
     * @default false
     */
    showHyperlink: boolean;
    /**
     * Allows you to set the visibility of hyperlink in row headers that are currently shown in the pivot table.
     *
     * @default false
     */
    showRowHeaderHyperlink: boolean;
    /**
     * Allows you to set the visibility of hyperlink in column headers that are currently shown in the pivot table.
     *
     * @default false
     */
    showColumnHeaderHyperlink: boolean;
    /**
     * Allows you to set the visibility of hyperlink in value cells that are currently shown in the pivot table.
     *
     * @default false
     */
    showValueCellHyperlink: boolean;
    /**
     * Allows you to set the visibility of hyperlink in summary cells that are currently shown in the pivot table.
     *
     * @default false
     */
    showSummaryCellHyperlink: boolean;
    /**
     * Allow options for setting the visibility of hyperlink based on specific condition. The options available here are as follows:
     * * `measure`: Allows you to specify the value field caption to get visibility of hyperlink option for specific measure.
     * * `condition`: Allows you to choose the operator type such as equals, greater than, less than, etc.
     * * `value1`: Allows you to set the start value.
     * * `value2`: Allows you to set the end value. This option will be used by default when the operator **Between** and **NotBetween** is chosen to apply.
     *
     * @default []
     */
    conditionalSettings: ConditionalSettingsModel[];
    /**
     * Allows you to set the visibility of hyperlink in the cells based on specific row or column header.
     */
    headerText: string;
    /**
     * Allows you to add the CSS class name to the hyperlink options. Use this class name you can apply styles to a hyperlink easily at your end.
     *
     * @default ''
     */
    cssClass: string;
}
/**
 * Allows you to configure page information such as page size and current page details for each axis in order to display the pivot table with a specific page when paging.
 */
export  class PageSettings extends base.ChildProperty<PageSettings> {
    /**
     * It allows to set the total column count of the pivot table.
     *
     * @default 5
     */
    columnPageSize: number;
    /**
     * It allows to set the total row count of the pivot table.
     *
     * @default 5
     */
    rowPageSize: number;
    /**
     * It allows to set the current column page count displayed in the pivot table.
     *
     * @default 1
     */
    currentColumnPage: number;
    /**
     * It allows to set the current row page count displayed in the pivot table.
     *
     * @default 1
     */
    currentRowPage: number;
}
/**
 * Allows a set of options for customizing the paging UI with a variety of settings such as UI position, template and visibility to a specific axis info such as page size, paging data.
 * > To use this option, it requires the property `enablePaging` to be true.
 */
export  class PagerSettings extends base.ChildProperty<PagerSettings> {
    /**
     * Allows to display the pager UI either at top or bottom of the Pivot Table UI.
     *
     * @default Bottom
     */
    position: PagerPosition;
    /**
     * When the property is set to “true”, it allows to display the row and column paging options as vice versa.
     * > In pager UI, paging options for column axis will be shown at left-side and for row will be shown at right-side.
     *
     * @default false
     */
    isInversed: boolean;
    /**
     * Allows to show or hide row paging options in the pager UI.
     *
     * @default true
     */
    showRowPager: boolean;
    /**
     * Allows to show or hide column paging options in the pager UI.
     *
     * @default true
     */
    showColumnPager: boolean;
    /**
     * Allows to show row page size information in the pager UI.
     *
     * @default true
     */
    showRowPageSize: boolean;
    /**
     * Allows to show column page size information in the pager UI.
     *
     * @default true
     */
    showColumnPageSize: boolean;
    /**
     * Allows you to choose from a variety of page sizes in the paging UI that can be used to display the pivot table's rows.
     *
     * @default [10, 50, 100, 200]
     */
    rowPageSizes: number[];
    /**
     * Allows you to choose from a variety of page sizes in the paging UI that can be used to display the pivot table's columns.
     *
     * @default [5, 10, 20, 50, 100]
     */
    columnPageSizes: number[];
    /**
     * Allows the paging UI to be displayed with the absolute minimum of information by hiding all paging data except for the navigation options.
     *
     * @default false
     */
    enableCompactView: boolean;
    /**
     * Allows the pager UI to be customized by using an HTML string or the element's ID to display custom elements instead of the standard ones.
     *
     * @default null
     * @aspType string
     */
    template: string | Function;
}
/**
 * Allow options to configure the view port as either pivot table or pivot chart or both table and chart. The options available are:
 * * `view`: Allows you to choose the view port as either pivot table or pivot chart or both table and chart.
 * * `primary`: Allows you to set the primary view to be either pivot table or pivot chart. To use this option, it requires the property `view` to be **Both**.
 */
export  class DisplayOption extends base.ChildProperty<DisplayOption> {
    /**
     * Allows you to choose the view port as either table or chart or both table and chart. The available options are:
     * * `Table`: Allows you to render the component as tabular form.
     * * `charts.Chart`: Allows you to render the component as graphical format.
     * * `Both`: Allows you to render the component as both table and chart.
     * > By default, **Table** is used as a default view in the component.
     *
     * @default Table
     */
    view: View;
    /**
     * Allows you to set the primary view to be either table or chart.The available options are:
     * * `Table`: Allows you to display the pivot table as primary view.
     * * `charts.Chart`: Allows you to display the pivot chart as primary view.
     * > To use this option, it requires the property `view` to be **Both**.
     *
     * @default Table
     */
    primary: Primary;
}
/**
 * Represents a class that allows defining values for options relating to the virtual scrolling experience in the pivot table.
 */
export  class VirtualScrollSettings extends base.ChildProperty<VirtualScrollSettings> {
    /**
     * Allows to show only the current view page while performing virtual scrolling,
     * or also show the previous and next page in the pivot table. By rendering only the rows and columns relevant to the current view port for display
     * in the pivot table, it improves the pivot table's performance.
     *
     * @default false
     */
    allowSinglePage: boolean;
}
/**
 * Represents the PivotView component.
 * ```html
 * <div id="PivotView"></div>
 * <script>
 *  var pivotviewObj = new PivotView({ enableGroupingBar: true });
 *  pivotviewObj.appendTo("#pivotview");
 * </script>
 * ```
 */
export  class PivotView extends base.Component<HTMLElement> implements base.INotifyPropertyChanged {
    /** @hidden */
    globalize: base.Internationalization;
    /** @hidden */
    localeObj: base.L10n;
    /** @hidden */
    dataType: string;
    /** @hidden */
    tooltip: popups.Tooltip;
    /** @hidden */
    grid: grids.Grid;
    /** @hidden */
    chart: charts.Chart | charts.AccumulationChart;
    /** @hidden */
    currentView: Primary;
    /** @hidden */
    isChartLoaded: boolean;
    /** @hidden */
    isDragging: boolean;
    /** @hidden */
    isAdaptive: boolean;
    /** @hidden */
    isTouchMode: boolean;
    /** @hidden */
    fieldListSpinnerElement: HTMLElement;
    /** @hidden */
    isRowCellHyperlink: boolean;
    /** @hidden */
    isColumnCellHyperlink: boolean;
    /** @hidden */
    isValueCellHyperlink: boolean;
    /** @hidden */
    isSummaryCellHyperlink: boolean;
    /** @hidden */
    clonedDataSet: IDataSet[] | string[][];
    /** @hidden */
    clonedReport: DataSourceSettingsModel;
    /** @hidden */
    verticalScrollScale: number;
    /** @hidden */
    resizedValue: number;
    /** @hidden */
    horizontalScrollScale: number;
    /** @hidden */
    scrollerBrowserLimit: number;
    /** @hidden */
    minWidth: number;
    /** @hidden */
    lastSortInfo: ISort;
    /** @hidden */
    lastFilterInfo: IFilter;
    /** @hidden */
    lastAggregationInfo: IFieldOptions;
    /** @hidden */
    lastCalcFieldInfo: ICalculatedFields;
    /** @hidden */
    lastCellClicked: Element;
    /** @hidden */
    isScrolling: boolean;
    /** @hidden */
    lastColumn: object;
    /** @hidden */
    minHeight: number;
    /** @hidden */
    allowEngineExport: boolean;
    /** @hidden */
    exportSpecifiedPages: ExportPageSize;
    /** @hidden */
    isTabular: 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 */
    pagerModule: Pager;
    /** @hidden */
    pivotChartModule: PivotChart;
    /** @hidden */
    numberFormattingModule: NumberFormatting;
    /** @hidden */
    groupingModule: Grouping;
    /** @hidden */
    exportType: string;
    /** @hidden */
    notEmpty: boolean;
    /** @hidden */
    currentAction: string;
    /** @hidden */
    scrollDirection: string;
    /** @hidden */
    isInitial: boolean;
    /** @hidden */
    chartExportModule: ChartExport;
    private defaultLocale;
    private timeOutObj;
    private savedDataSourceSettings;
    /** @hidden */
    isEmptyGrid: boolean;
    private shiftLockedPos;
    private savedSelectedCellsPos;
    private cellSelectionPos;
    private isPopupClicked;
    private isMouseDown;
    private isMouseUp;
    private lastSelectedElement;
    private fieldsType;
    private remoteData;
    private defaultItems;
    private isCellBoxMultiSelection;
    private virtualTableDiv;
    private virtualScrollDiv;
    /** @hidden */
    gridCellCollection: {
        [key: string]: HTMLElement;
    };
    /** @hidden */
    rowRangeSelection: {
        enable: boolean;
        startIndex: number;
        endIndex: number;
    };
    /** @hidden */
    isStaticRefresh: boolean;
    /** @hidden */
    isStaticFieldList: boolean;
    /** @hidden */
    virtualDiv: HTMLElement;
    /** @hidden */
    virtualHeaderDiv: HTMLElement;
    /** @hidden */
    resizeInfo: ResizeInfo;
    /** @hidden */
    scrollPosObject: ScrollInfo;
    /** @hidden */
    pivotColumns: PivotColumn[];
    /** @hidden */
    firstColWidth: number | string;
    /** @hidden */
    totColWidth: number;
    /** @hidden */
    posCount: number;
    /** @hidden */
    isModified: boolean;
    /** @hidden */
    private isInitialRendering;
    /** @hidden */
    drillThroughElement: Element;
    /** @hidden */
    drillThroughValue: IAxisSet;
    /** @hidden */
    lastGridSettings: GridSettingsModel;
    /** @hidden */
    mouseEventArgs: base.MouseEventArgs;
    /** @hidden */
    filterTargetID: HTMLElement;
    protected needsID: boolean;
    private cellTemplateFn;
    private tooltipTemplateFn;
    private pivotRefresh;
    private selectedRowIndex;
    private request;
    /** @hidden */
    guid: string;
    /** @hidden */
    isServerWaitingPopup: boolean;
    /** @hidden */
    actionObj: PivotActionCompleteEventArgs;
    /** @hidden */
    defaultFieldListOrder: Sorting;
    /** @hidden */
    pivotDeferLayoutUpdate: boolean;
    /**
     * Allows values with a specific country currency format to be displayed in the pivot table.
     * Standard currency codes referred to as ISO 4217 can be used for the formatting of currency values.
     * For example, to display "US Dollar($)" currency values, set the `currencyCode` to **USD**.
     * > It is applicable only for Relational data.
     *
     * @default 'USD'
     * @hidden
     */
    currencyCode: string;
    /**
     * Allows built-in popup field list to be enabled in the pivot table UI.
     * The popup field list will be displayed over the pivot table UI without affecting any form of UI shrink,
     * and allows to manipulate the pivot report through different ways such as add or remove fields and
     * also rearrange them between different axes, including column, row, value, and filter along with sort and
     * filter options dynamically at runtime to update the pivot table.
     * > By default, the icon used to display the field list will be positioned at the top left corner of the pivot table UI.
     * When groupingBar is enabled, the icon will be placed at the top right corner of the pivot table.
     *
     * @default false
     */
    showFieldList: boolean;
    /**
     * Allows the set of options to customize rows, columns, values cell and its content in the pivot table. The following options to customize the pivot table are:
     * * `height`: Allow the height of the pivot table content to be set,
     * meaning that the height given should be applied without considering the column headers in the pivot table.
     * * `width`: Allow to set width of the pivot table. **Note: The pivot table will not display less than 400px,
     * as it is the minimum width to the component.**
     * * `gridLines`: Allow the options for customizing the cell borders of each cell to be displayed in the pivot table.
     * For example, to display a pivot table without cell borders, set the property `gridLines` to **None**.
     * * `allowTextWrap`: Allow the contents of the cells to be wrapped when they exceed the width of the cells in the pivot table.
     * * `textWrapSettings`: Allows options to wrap either column and row header or value or both header and cell content.
     * For example, to allow the wrap option to value cells alone, then set the property `wrapMode` to **Content** in the `textWrapSettings` class.
     * * `allowReordering`: Allows to reorder a specific column header from one index to another index in the pivot table by drag-and-drop.
     * * `allowResizing`: Allows the columns to be resized by clicking and dragging the right edge of the column headers.
     * * `rowHeight`: Allow to set height to the pivot table rows commonly.
     * * `columnWidth`: Allow to set width to the pivot table columns commonly.
     * * `clipMode`: Allows the contents of the cell overflow to be displayed in the pivot table.
     * For example, to truncate the cell content of a cell when it overflows with respect to its cell width, set the property `clipMode` to **Clip**.
     * * `allowSelection`: Allows a row or column or cell to be highlighted by simply clicking or arrow key in the pivot table.
     * * `selectionSettings`: Allow set of options to customize the selection of a row or column or cell by simply clicking on the arrow key in the pivot table.
     * For example, to highlight both rows and columns with multiple selection, set the properties `mode` to **Both** and `type` to **Multiple** in `selectionSettings` class.
     * * `selectedRowIndex`: Allows to highlight specific row in the pivot table during initial rendering. For example, to highlight the pivot table's first row, set the property `selectedRowIndex` to **0**.
     * * `contextMenuItems`: Allows to show built-in context with pre-defined menu option or custom menu options by simply right clicking on the pivot table cell.
     */
    gridSettings: GridSettingsModel;
    /**
     * Allows a set of options to customize a pivot chart with a variety of settings, such as chart series, chart area, axis labels, legends, border, crosshairs, theme, title, tooltip, zooming, etc.
     * The following options are available to customize the pivot chart.
     * * `background`: Allows you to change the background color of the chart series in the pivot chart.
     * For example, to display the chart series with background color as red, set the property `background` to either **"red"** or **"#FF0000"** or **"rgba(255,0,0,1.0)"**.
     * * `border`: Allow options to customize the border of the chart series such as color and border size in the pivot chart.
     * For example, to display the chart series border color as red, set the properties `color` to either **"red"** or **"#FF0000"** or **"rgba(255,0,0,1.0)"** and `width` to **0.5**.
     * * `chartArea`: Allow options to customize the chart area with a variety of settings such as background color, border, opacity and background image in the pivot chart.
     * For example, to change the of the pivot chart's background, set the property `opacity` to **0.5**.
     * * `chartSeries`: Allow options to customize the chart series with different settings such as fill color, animation of the series,
     * series width, border, visibility of the series, opacity, chart series types, marker, tooltip, trendlines, etc., in the pivot chart.
     * For example, to display the line type pivot chart, set the property `type` to **Line**.
     * * `crosshair`: Allow options to customize the crosshair line with different settings such as color and width of the line,
     * line types that are shown horizontally and vertically to indicate the value of the axis at the mouse hover or touch position in the pivot chart.
     * * `description`: Allows you to add a description of the pivot chart.
     * * `enableAnimation`: Allows you to enable/disable the tooltip animation while performing the mouse move from one point to another in the pivot chart.
     * * `enableCanvas`: Allows you to render the pivot chart in canvas mode.
     * * `enableExport`: Allows the pivot chart to be exported to either **PDF** or **PNG** or **JPEG** or **SVG** filter formats.
     * * `enableMultipleAxis`: Allows you to draw the pivot chart with multiple value fields as separate chart area.
     * * `enableSideBySidePlacement`: Allows you to draw points of the column type pivot chart series as side by side.
     * * `isMultiSelect`: Allows you to perform multiple selection in the pivot chart. To enable this option, it requires the property `selectionMode` to be **Point** or **Series** or **Cluster**.
     * * `isTransposed`: Allows you to render the pivot chart in a transposed manner or not.
     * * `legendSettings`: Allow options for customizing legends with different properties such as legend visibility,
     * height, width, position, legend padding, alignment, textStyle, border, margin, background, opacity, description, tabIndex in the pivot chart.
     * * `margin`: Allow options to customize the left, right, top and bottom margins of the pivot chart.
     * * `palettes`: Allows you to draw the chart series points with custom color in the pivot chart.
     * * `primaryXAxis`: Allow options to customize the horizontal(row) axis with different properties such as labelIntersectAction, labelStyle, title,
     * description, crosshairTooltip, labelFormat, titleStyle, plotOffset, edgeLabelPlacement, labelPlacement, tickPosition, opposedPosition, minor and
     * major grid lines, minor and major tick lines, border, etc. in the pivot chart.
     * * `primaryYAxis`: Allow options to customize the vertical(value) axis with different properties such as labelIntersectAction, labelStyle,
     * title, description, crosshairTooltip, labelFormat, titleStyle, plotOffset, edgeLabelPlacement, labelPlacement, tickPosition, opposedPosition, minor and
     * major grid lines, minor and major tick lines, border, etc. in the pivot chart.
     * * `selectedDataIndexes`: Allows you to highlight a specific point of the series while rendering the pivot chart.
     * For example, to highlight first point in the first series, set the properties series to 0 and points to 1. To use this option, it requires the property `selectionMode` to be **Point** or **Series**.
     * * `selectionMode`: Allow options for customizing the selection mode to be done either by a specific series or point or cluster or by dragging it to the pivot chart.
     * For example, to highlight a specific point in a specific series of the pivot chart, set the property `selectionMode` to **Point**.
     * * `showMultiLevelLabels`: Allows you to display the multi-level label feature in the pivot chart. This multi-level labels used to perform drill operation in the pivot chart.
     * * `subTitle`: Allows you to add the subtitle to the pivot chart.
     * * `subTitleStyle`: Allow options to customize the subtitle in the pivot chart with different properties such as fontStyle, font size, fontWeight, font color, testAlignment, fontFamily, opacity, textOverflow.
     * * `tabIndex`: Allows you to highlight specific legends by clicking the mouse or by interacting with the keyboard in the pivot chart.
     * * `theme`: Allows you to draw a pivot chart with either material, fabric, bootstrap, highcontrast light, material dark, fabric dark, highcontrast, bootstrap dark, bootstrap4 theme.
     * * `title`: Allows you to add title to the pivot chart.
     * * `titleStyle`: Allow options to customize the title in the pivot chart with different properties such as fontStyle, font size, fontWeight, font color, testAlignment, fontFamily, opacity, textOverflow.
     * * `tooltip`: Allow options to customize the tooltip of the pivot chart with different properties such as visibility of the tooltip, enableMarker, fill color, opacity, header for tooltip,
     * format, textStyle, template, border, enableAnimation.
     * * `useGroupingSeparator`: Allows the group separator to be shown to the values in the pivot chart.
     * * `value`: Allows you to draw a pivot chart with a specific value field during initial loading.
     * * `zoomSettings`: Allow options to customize the pivot chart zooming with different properties such as enablePinchZooming, enableSelectionZooming,
     * enableDeferredZooming, enableMouseWheelZooming, zoom modes, toolbarItems, enableScrollbar and enablePan.
     */
    chartSettings: ChartSettingsModel;
    /**
     * Allows a set of options for customizing the grouping bar UI with a variety of settings such as UI visibility to a specific view port,
     * customizing the pivot button features such as filtering, sorting, changing aggregate types, removing any fields.
     * The options available to customize the grouping bar UI are:
     * * `showFilterIcon`: Allows you to show or hide the filter icon that used to be displayed on the pivot button of the grouping bar UI.
     * This filter icon is used to filter the members of a particular field at runtime in the pivot table.
     * * `showSortIcon`: Allows you to show or hide the sort icon that used to be displayed in the pivot button of the grouping bar UI.
     * This sort icon is used to order members of a particular fields either in ascending or descending at runtime.
     * * `showRemoveIcon`: Allows you to show or hide the remove icon that used to be displayed in the pivot button of the grouping bar UI.
     * This remove icon is used to remove any field during runtime.
     * * `showValueTypeIcon`: Allows you to show or hide the value type icon that used to be displayed in the pivot button of the grouping bar UI.
     * This value type icon helps to select the appropriate aggregation type to value fields at runtime.
     * * `displayMode`: Allow options to show the grouping bar UI to specific view port such as either pivot table or pivot chart or both table and chart.
     * For example, to show the grouping bar UI to pivot table on its own, set the property `displayMode` to **Table**.
     * * `allowDragAndDrop`: Allows you to restrict the pivot buttons that were used to drag on runtime in the grouping bar UI. This will prevent you from modifying the current report.
     */
    groupingBarSettings: GroupingBarSettingsModel;
    /**
     * Allow a set of options to display a hyperlink to link data for individual cells that are shown in the pivot table.
     * These options allow you to enable a separate hyperlink for row headers, column headers, value cells, and summary cells in the `hyperlinkSettings` class.
     * The options available are:
     * * `showHyperlink`: Allows you to set the visibility of hyperlink in all cells.
     * * `showRowHeaderHyperlink`: Allows you to set the visibility of hyperlink in row headers.
     * * `showColumnHeaderHyperlink`: Allows you to set the visibility of hyperlink in column headers.
     * * `showValueCellHyperlink`: Allows you to set the visibility of hyperlink in value cells.
     * * `showSummaryCellHyperlink`: Allows you to set the visibility of hyperlink in summary cells.
     * * `headerText`: Allows you to set the visibility of hyperlink based on header text.
     * * `conditionalSettings`: Allows you to set the visibility of hyperlink based on specific condition.
     * * `cssClass`: Allows you to add CSS class name to the hyperlink options.
     *
     * > By default, the hyperlink options are disabled for all cells in the pivot table.
     */
    hyperlinkSettings: HyperlinkSettingsModel;
    /**
     * Allows to set the page information to display the pivot table with specific page during paging and virtual scrolling.
     */
    pageSettings: PageSettingsModel;
    /**
     * Allows a set of options for customizing the paging UI with a variety of settings such as UI position, template and visibility to a specific axis info such as page size, paging data.
     * > To use this option, it requires the property `enablePaging` to be true.
     */
    pagerSettings: PagerSettingsModel;
    /**
     * Allows the following pivot report information such as rows, columns, values, filters, etc., that are used to render the pivot table and field list.
     * * `catalog`: Allows to set the database name of SSAS cube as string type that used to retrieve the data from the specified connection string. **Note: It is applicable only for OLAP data source.**
     * * `cube`: Allows you to set the SSAS cube name as string type that used to retrieve data for pivot table rendering. **Note: It is applicable only for OLAP data source.**
     * * `providerType`: Allows to set the provider type to identify the given connection is either Relational or SSAS to render the pivot table and field list.
     * * `url`: Allows to set the URL as string type, which helps to identify the service endpoint where the data are processed and retrieved to render the pivot table and field list. **Note: It is applicable only for OLAP data source.**
     * * `localeIdentifier`: Allows you to set the specific culture code as number type to render pivot table with desired localization.
     * By default, the pivot table displays with culture code **1033**, which indicates "en-US" locale. **Note: It is applicable only for OLAP data source.**
     * * `dataSource`: Allows you to set the data source as JSON collection to the pivot report either from local or from remote server to the render the pivot that and field list.
     * You can fetch JSON data from remote server by using DataManager. **Note: It is applicable only for relational data source.**
     * * `rows`: Allows specific fields associated with field information that needs to be displayed in row axis of pivot table.
     * * `columns`: Allows specific fields associated with field information that needs to be displayed in column axis of pivot table.
     * * `values`: Allows specific fields associated with field information that needs to be displayed as aggregated numeric values in pivot table.
     * * `filters`: Allows to filter the values in other axis based on the collection of filter fields in pivot table.
     * * `excludeFields`: Allows you to restrict the specific field(s) from displaying it in the field list UI.
     * You may also be unable to render the pivot table with this field(s) by doing so. **Note: It is applicable only for relational data source.**
     * * `expandAll`: Allows you to either expand or collapse all the headers that are displayed in the pivot table.
     * By default, all the headers are collapsed in the pivot table. **Note: It is applicable only for Relational data.**
     * * `valueAxis`: Allows you to set the value fields that to be plotted either in row or column axis in the pivot table.
     * * `filterSettings`: Allows specific fields associated with either selective or conditional-based filter members that used to be displayed in the pivot table.
     * * `sortSettings`: Allows specific fields associated with sort settings to order their members either in ascending or descending that used to be displayed in the pivot table.
     * By default, the data source containing fields are display with Ascending order alone. To use this option, it requires the `enableSorting` property to be **true**.
     * * `enableSorting`: Allows to perform sort operation to order members of a specific fields either in ascending or descending that used to be displayed in the pivot table.
     * * `formatSettings`: Allows specific fields used to display the values with specific format that used to be displayed in the pivot table.
     * For example, to display a specific field with currency formatted values in the pivot table, the set the `format` property to be **C**.
     * * `drilledMembers`: Allows specific fields used to display their the headers to be either expanded or collapsed in the pivot table.
     * * `valueSortSettings`: Allows to sort individual value field and its aggregated values either in row or column axis to ascending or descending order.
     * * `calculatedFieldSettings`: Allows to create new calculated fields from the bound data source or using simple formula with basic arithmetic operators in the pivot table.
     * * `allowMemberFilter`: Allows to perform filter operation based on the selective filter members of the specific fields used to be displayed in the pivot table.
     * * `allowLabelFilter`: Allows to perform filter operation based on the selective headers used to be displayed in the pivot table.
     * * `allowValueFilter`: Allows to perform filter operation based only on value fields and its resultant aggregated values over other fields defined in row and column axes that used to be displayed in the pivot table.
     * * `showSubTotals`: Allows to show or hide sub-totals in both rows and columns axis of the pivot table.
     * * `showRowSubTotals`: Allows to show or hide sub-totals in row axis of the pivot table.
     * * `showColumnSubTotals`: Allows to show or hide sub-totals in column axis of the pivot table.
     * * `showGrandTotals`: Allows to show or hide grand totals in both rows and columns axis of the pivot table.
     * * `showRowGrandTotals`: Allows to show or hide grand totals in row axis of the pivot table.
     * * `showColumnGrandTotals`: Allows to show or hide grand totals in column axis of the pivot table.
     * * `showHeaderWhenEmpty`: Allows the undefined headers to be displayed in the pivot table, when the specific field(s) are not defined in the raw data.
     * For example, if the raw data for the field ‘Country’ is defined as “United Kingdom” and “State” is not defined means, it will be shown as “United Kingdom >> Undefined” in the header section.
     * * `alwaysShowValueHeader`: Allows to show the value field header always in pivot table, even if it holds a single field in the value field axis.
     * * `conditionalFormatSettings`: Allows a collection of values fields to change the appearance of the pivot table value cells with different style properties such as background color, font color, font family, and font size based on specific conditions.
     * * `emptyCellsTextContent`: Allows to show custom string to the empty value cells that used to display in the pivot table. You can fill empty value cells with any value like “0”, ”-”, ”*”, “(blank)”, etc.
     * * `groupSettings`: Allows specific fields to group their data on the basis of their type.
     * For example, the date type fields can be formatted and displayed based on year, quarter, month, and more. Likewise, the number type fields can be grouped range-wise, such as 1-5, 6-10, etc.
     * You can perform custom group to the string type fields that used to displayed in the pivot table.
     * * `showAggregationOnValueField`: Allows the pivot button with specific value field caption along with the aggregation type, to be displayed in the grouping bar and field list UI.
     * For example, if the value field "Sold Amount" is aggregated with Sum, it will be displayed with caption "Sum of Sold Amount" in its pivot button.
     * * `authentication`: Allows you to set the credential information to access the specified SSAS cube. **Note: It is applicable only for OLAP data source**.
     */
    dataSourceSettings: DataSourceSettingsModel;
    /**
     * Allow options for performing CRUD operations, such as add, edit, delete, and update the raw items of any cell from the pivot table.
     * The raw items can be viewed in a data grid that used to be displayed as a dialog by double-clicking the appropriate value cell in the pivot table.
     * CRUD operations can be performed in this data grid either by double-clicking the cells or using toolbar options.
     * The options available are as follows:
     * * `allowAdding`: Allows you to add a new record to the data grid used to update the appropriate cells in the pivot table.
     * * `allowEditing`: Allows you to edit the existing record in the data grid that used to update the appropriate cells in the pivot table.
     * * `allowDeleting`: Allows you to delete the existing record from the data grid that used to  update the appropriate cells in the pivot table.
     * * `allowCommandColumns`: Allows an additional column appended in the data grid layout holds the command buttons to perform the CRUD operations to edit,
     * delete, and update the raw items to the data grid that used to update the appropriate cells in the pivot table.
     * * `mode`: Allow options for performing CRUD operations with different modes in the data grid that used to update the appropriate cells in the pivot table.
     * The available modes are normal, batch and dialog. **Normal** mode is enabled for CRUD operations in the data grid by default.
     * * `allowEditOnDblClick`: Allows you to restrict CRUD operations by double-clicking the appropriate value cell in the pivot table.
     * * `showConfirmDialog`: Allows you to show the confirmation dialog to save and discard CRUD operations performed in the data grid that used to update the appropriate cells in the pivot table.
     * * `showDeleteConfirmDialog`: Allows you to show the confirmation dialog to delete any records from the data grid.
     * * `allowInlineEditing`: Allows direct editing of a value cell without opening the edit dialog. NOTE: It is applicable only if the value cell is made by a single raw data. Otherwise editing dialog will be shown.
     *
     * > This feature is applicable only for the relational data source.
     *
     * @default { allowAdding: false, allowEditing: false, allowDeleting: false, allowCommandColumns: false,
     * mode:'Normal', allowEditOnDblClick: true, showConfirmDialog: true, showDeleteConfirmDialog: false, allowInlineEditing: false }
     */
    editSettings: CellEditSettingsModel;
    /**
     * Allow options to configure the view port as either pivot table or pivot chart or both table and chart. The options available are:
     * * `view`: Allows you to choose the view port as either pivot table or pivot chart or both table and chart.
     * * `primary`: Allows you to set the primary view to be either pivot table or pivot chart. To use this option, it requires the property `view` to be **Both**.
     */
    displayOption: DisplayOptionModel;
    /**
     * Allow options for customizing the virtual scrolling experience in the pivot table.
     *  > This feature is applicable only for the relational data source.
     */
    virtualScrollSettings: VirtualScrollSettingsModel;
    /**
     * It holds the collection of cell information that has been populated from the engine on the basis of the given pivot report to render the component as table and chart.
     */
    pivotValues: IAxisSet[][];
    /**
     * Allows you to show the grouping bar UI in the pivot table that automatically populates fields from the bound report.
     * It also allows you to modify the report with a variety of actions using the pivot buttons to update the pivot table during runtime.
     * The following are:
     * * Re-arranging fields through drag-and-drop operation between row, column, value and filter axes.
     * * Remove fields from the existing report using remove icon.
     * * Filtering members of specific fields using filter icon.
     * * Sorting members of specific fields using sort icon.
     * * Editing the calculated fields using edit icon.
     * * Selecting required aggregate types to value field using dropdown icon.
     *
     * @default false
     */
    showGroupingBar: boolean;
    /**
     * Allows you to display the tooltip to the value cells either by mouse hovering or by touch in the pivot table.
     * The information used to be displayed in the tooltip is:
     * * Row: Holds the row header information of a specific value cell.
     * * Column: Holds the column header information of a specific value cell.
     * * Value: Holds the value field caption along with its value of a specific value cell.
     *
     * @default true
     */
    showTooltip: boolean;
    /**
     * Allows you to show the toolbar UI that holds built-in toolbar options to accessing frequently used features like
     * switching between pivot table and pivot chart, changing chart types, conditional formatting, number formatting, exporting, etc… with ease at runtime.
     *
     * @default false
     */
    showToolbar: boolean;
    /**
     * Allows the built-in toolbar options that used to access features like switching between pivot table and pivot chart, changing chart types, conditional formatting, number formatting, exporting, etc… with ease at runtime.
     * The available toolbar options are:
     * * `New`: Allows to create a new report.
     * * `Save`: Allows to save the current report.
     * * `Save As`: Allows to perform save as the current report.
     * * `Rename`: Allows to rename the current report.
     * * `Remove`: Allows to delete the current report.
     * * `Load`: Allows to load any report from the report list.
     * * `grids.Grid`: Allows to show the pivot table.
     * * `charts.Chart`: Allows to show the pivot chart with specific type from the built-in list.
     * It also has the option to show the chart with multiple axes based on the value fields bound to the report.
     * You can do this by selecting the checkbox at the bottom of the list.
     * * `Exporting`: Allow set of options to export the pivot table as PDF/Excel/CSV and the pivot chart as PDF and image format such as PNG, JPEG, SVG.
     * * `Sub-total`: Allow set of options to show or hide the sub totals in the pivot table. The subtotals will not be displayed in the pivot chart by default.
     * * `Grand Total`: Allow set of options to show or hides the grand totals in the pivot table. By default, the grand totals will not be displayed in the pivot chart.
     * * `Conditional Formatting`: Allows to show the conditional formatting pop-up to apply formatting to the values.
     * * `Number Formatting`: Allows to show the number formatting pop-up to apply number formatting to the values.
     * * `Formatting`: Allow options to show the conditional formatting and the number formatting pop-up that used to apply formatting to the values in the component.
     * * `Field List`: Allows you to show the field list pop-up. It allows you to modify the report with a variety of actions such as re-arrange the fields between axes by drag-and-drop,
     * add new fields to report, remove any fields from report, filtering and sorting a specific field members, etc., that are used to update the pivot table during runtime.
     * * `MDX`: Allows ro show the MDX query that was run to retrieve data from the OLAP data source. **Note: It is applicable only for OLAP data source.**
     * > The toolbar option can be displayed based on the order you provided in the toolbar collection.
     *
     * @default null
     */
    toolbar: ToolbarItems[] | navigations.ItemModel[];
    /**
     * Allows you to create a pivot button with "Values" as a caption used to display in the grouping bar and field list UI.
     * It helps you to plot the value fields to either column or row axis during runtime.
     * > The showValuesButton property is enabled by default for the OLAP data source.
     * And the pivot button can be displayed with "Measures" as a caption used to display in the grouping bar and field list UI.
     *
     * @default false
     */
    showValuesButton: boolean;
    /**
     * Allows the built-in calculated field dialog to be displayed in the component.
     * You can view the calculated field dialog by clicking the "Calculated Field" button in the field list UI.
     * This dialog will helps you to create a new calculated field in the pivot table, based on available fields from the bound data source or using simple formula with basic arithmetic operators at runtime.
     *
     * @default false
     */
    allowCalculatedField: boolean;
    /**
     * It enables the search option in the field list UI, which can be used to search specific fields at runtime.
     * > This option is only available when the pivot table's built-in popup field list is enabled using the `showFieldList` property.
     *
     * @default false
     */
    enableFieldSearching: boolean;
    /**
     * Allows you to sort individual value field and its aggregated values either in row or column axis to ascending or descending order.
     * You can sort the values by clicking directly on the value field header positioned either in row or column axis of the pivot table.
     *
     * @default false
     */
    enableValueSorting: boolean;
    /**
     * Allows you to change the appearance of the pivot table value cells with different style properties such as background color, font color, font family, and font size based on specific conditions.
     * You can apply the conditional formatting at runtime through the built-in dialog, invoked from the toolbar.
     * To do so, set `allowConditionalFormatting` and `showToolbar` properties to **true** to the component.
     * Also, include the toolbar option **ConditionalFormatting** in the `toolbar` property.
     * > You can also view the conditional formatting dialog by clicking an external button using the `showConditionalFormattingDialog` method.
     *
     * @default false
     */
    allowConditionalFormatting: boolean;
    /**
     * Allows you to apply required number formatting to the pivot table values such as number, currency, percentage or other custom formats at runtime through a built-in dialog, invoked from the toolbar.
     * To do so, set allowNumberFormatting and showToolbar properties to true to the component.
     * Also, include the toolbar option NumberFormatting in the toolbar property.
     * > You can also view the number formatting dialog by clicking an external button using the `showNumberFormattingDialog` method.
     *
     * @default false
     */
    allowNumberFormatting: boolean;
    /**
     * Allow the height of the pivot table to be set.
     *
     * @default 'auto'
     */
    height: string | number;
    /**
     * Allow the width of the pivot table to be set.
     * > The pivot table will not display less than 400px, as it is the minimum width to the component.
     *
     * @default 'auto'
     */
    width: string | number;
    /**
     * Allows the pivot table data to be exported as an Excel document. Export can be done in two different file formats such as  XLSX and CSV formats.
     * You can export pivot table using the build-in toolbar option. To do so, set `allowExcelExport` and `showToolbar` properties to true to the component.
     * Also, include the toolbar option **Exporting** in the `toolbar` property.
     * > You can also export the pivot table data by clicking an external button using the `excelExport` method. Use `csvExport` method to export the pivot table data to CSV format.
     *
     * @default false
     */
    allowExcelExport: boolean;
    /**
     * Allows to load the large amounts of data without any performance degradation by rendering rows and columns only in the current content view port.
     * Rest of the aggregated data will be brought into view port dynamically based on vertical or horizontal scroll position.
     *
     * @default false
     */
    enableVirtualization: boolean;
    /**
     * Allows large amounts of data to be displayed page-by-page.
     * It helps to display the rows and columns by configuring the page size and current page using `pageSettings` option in the pivot table.
     *
     * @default false
     */
    enablePaging: boolean;
    /**
     * Allows to view the underlying raw data of a summarized cell in the pivot table.
     * By double-clicking on any value cell, you can view the detailed raw data in a data grid inside a new window.
     * In the new window, row header, column header and measure name of the clicked cell will be shown at the top.
     * You can also include or exclude fields available in the data grid using column chooser option.
     *
     * @default false
     */
    allowDrillThrough: boolean;
    /**
     * Allows the pivot table data to be exported as an PDF document. You can export pivot table using the build-in toolbar option.
     * To do so, set `allowPdfExport` and `showToolbar` properties to true to the component.
     * Also, include the toolbar option **Exporting** in the `toolbar` property.
     * > You can also export the pivot table data by clicking an external button using the `pdfExport` method.
     *
     * @default false
     */
    allowPdfExport: boolean;
    /**
     * Allows the pivot table component to be updated only on demand, meaning,
     * you can perform a variety of operations such as drag-and-drop fields between row, column, value and filter axes,
     * apply sorting and filtering inside the Field List, resulting the field list UI would be updated on its own, but not the pivot table.
     * On clicking the “Apply” button in the Field List, the pivot table will updates the last modified report.
     * This helps to improve the performance of the pivot table component rendering.
     *
     * @default false
     */
    allowDeferLayoutUpdate: boolean;
    /**
     * Allows large amounts of data to be loaded without any degradation of performance by compressing raw data on the basis of its uniqueness.
     * These unique records will be provided as input to render the pivot table.
     *
     * For example, if the pivot table is connected to a million raw data with a combination of 1,000 unique data, it will be compressed to 1,000 unique data.
     * By doing so, the time taken to render the pivot table will be drastically reduced, i.e. the pivot table will takes a maximum of 3 seconds instead of 10 seconds to complete its rendering.
     * These compressed data will also be used for further operations at all times to reduce the looping complexity and improves pivot table's performance while updating during runtime.
     *
     * To use this option, it requires the property `enableVirtualization` to be **true**.
     * > This property is applicable only for relational data source.
     *
     * @default false
     */
    allowDataCompression: boolean;
    /**
     * Allows you to set the limit for displaying members while loading large data in the member filter dialog.
     * Based on this limit, initial loading will be completed quickly without any performance constraint.
     * A message with remaining member count, that are not currently shown in the member filter dialog UI, will be displayed in the member editor.
     * > This property is not applicable to user-defined hierarchies in the OLAP data source.
     *
     * @default 1000
     */
    maxNodeLimitInMemberEditor: number;
    /**
     * Allows you to set the maximum number of raw data that used to view it in a data grid inside a new window while performing drill through on summarized cells in the pivot table.
     * For example, if the value cell has a combination of more than 50,000 records, it allows only 10,000 records fetch from the cube and displayed in the data grid.
     * > This property is applicable only for the OLAP data source.
     *
     * @default 10000
     */
    maxRowsInDrillThrough: number;
    /**
     * Allows to load members inside the member filter dialog on-demand.
     * The first level members will be loaded from the OLAP cube to display the member editor by default.
     * As a result, the member editor will be opened quickly, without any performance constraints.
     * You can use either of the following actions to load  your next level members. The actions are:
     * * By clicking on the respective member's expander button. By doing so, only the child members of the respective member will be loaded.
     * * Choose the level from the drop-down button. By doing so, all the members up to the level chosen will be loaded from the cube.
     *
     * Also, searching members will only be considered for the level members that are loaded.
     * > This property is applicable only for OLAP data source.
     *
     * @default true
     */
    loadOnDemandInMemberEditor: boolean;
    /**
     * Allows to restrict the cross-site scripting while using cell template, meaning it will remove the unwanted scripts,styles or HTML in your cell template.
     * > In general, the cross-site scripting known as XSS is a type of computer security vulnerability typically found in web applications.
     * It attacks enable attackers to inject client-side scripts into web pages viewed by other users.
     *
     * @default false
     */
    enableHtmlSanitizer: boolean;
    /**
     * Allows the table cell elements to be customized with either an HTML string or the element’s ID,
     * that can be used to add additional HTML elements with custom formats to the cell elements that are displayed in the pivot table.
     *
     * @default null
     * @aspType string
     */
    cellTemplate: string | Function;
    /**
     * It allows to define the "ID" of div which is used as template in toolbar panel.
     *
     * @default null
     * @aspType string
     */
    toolbarTemplate: string | Function;
    /**
     * Allows the tooltip element to be customized with either an HTML string or the element’s ID,
     * can be used to displayed with custom formats either by mouse hovering or by touch in the pivot table.
     *
     * @default null
     * @aspType string
     */
    tooltipTemplate: string | Function;
    /**
     * Allows the appearance of the loading indicator to be customized with either an HTML string or the element’s ID,
     * that can be used to displayed with custom formats in the pivot table.
     *
     * @default null
     * @aspType string
     */
    spinnerTemplate: string | Function;
    /**
     * Allows you to show the grouping UI in the pivot table that automatically groups date, time, number and string at runtime.
     * by right clicking on the pivot table’s row or column header, select **Group**. This will shows a dialog in which you can perform grouping with appropriate options to group the data.
     * To ungroup, right click on the pivot table’s row or column header, select **Ungroup**.
     * > This property is applicable only for relational data source.
     *
     * @default false
     */
    allowGrouping: boolean;
    /**
     * Allows you to export the pivot table data of all pages, i.e. the data that holds all the records given to render the pivot table will be exported as either an Excel or a PDF document.
     *
     * To use this option, it requires the property `enableVirtualization` to be **true**.
     *
     * @default true
     */
    exportAllPages: boolean;
    /**
     * Allows you to show a menu with built-in aggregate options displayed in the pivot button's dropdown icon of field list and groupingBar UI.
     * These aggregate options helps to display the values in the pivot table with appropriate aggregations such as sum, product, count, average, etc… easily at runtime.
     * The available aggregate options are:
     * * `Sum`: Allows to display the pivot table values with sum.
     * * `Product`: Allows to display the pivot table values with product.
     * * `Count`: Allows to display the pivot table values with count.
     * * `DistinctCount`: Allows to display the pivot table values with distinct count.
     * * `Min`: Allows to display the pivot table with minimum value.
     * * `Max`: Allows to display the pivot table with maximum value.
     * * `Avg`: Allows to display the pivot table values with average.
     * * `Median`: Allows to display the pivot table values with median.
     * * `Index`: Allows to display the pivot table values with index.
     * * `PopulationStDev`: Allows to display the pivot table values with population standard deviation.
     * * `SampleStDev`: Allows to display the pivot table values with sample standard deviation.
     * * `PopulationVar`: Allows to display the pivot table values with population variance.
     * * `SampleVar`: Allows to display the pivot table values with sample variance.
     * * `RunningTotals`: Allows to display the pivot table values with running totals.
     * * `DifferenceFrom`: Allows to display the pivot table values with difference from the value of the base item in the base field.
     * * `PercentageOfDifferenceFrom`: Allows to display the pivot table values with percentage difference from the value of the base item in the base field.
     * * `PercentageOfGrandTotal`: Allows to display the pivot table values with percentage of grand total of all values.
     * * `PercentageOfColumnTotal`: Allows to display the pivot table values in each column with percentage of total values for the column.
     * * `PercentageOfRowTotal`: Allows to display the pivot table values in each row with percentage of total values for the row.
     * * `PercentageOfParentTotal`: Allows to display the pivot table values with percentage of total of all values based on selected field.
     * * `PercentageOfParentColumnTotal`: Allows to display the pivot table values with percentage of its parent total in each column.
     * * `PercentageOfParentRowTotal`: Allows to display the pivot table values with percentage of its parent total in each row.
     *
     * > It is applicable only for Relational data.
     *
     * @default ['Sum', 'Count', 'DistinctCount', 'Product', 'Min', 'Max', 'Avg', 'Median', 'Index', 'PopulationVar', 'SampleVar',
     * 'PopulationStDev', 'SampleStDev', 'RunningTotals', 'PercentageOfGrandTotal', 'PercentageOfColumnTotal', 'PercentageOfRowTotal',
     * 'PercentageOfParentColumnTotal', 'PercentageOfParentRowTotal', 'DifferenceFrom', 'PercentageOfDifferenceFrom',
     * 'PercentageOfParentTotal']
     */
    aggregateTypes: AggregateTypes[];
    /**
     * Allows you to display the pivot chart with specific chart types from built-in chart options, invoked from the toolbar.
     * The available chart types are:
     * * `Line`: Allows to display the pivot chart with line series.
     * * `Column`: Allows to display the pivot chart with column series.
     * * `Area`: Allows to display the pivot chart with area series.
     * * `Bar`: Allows to display the pivot chart with bar series.
     * * `StackingColumn`: Allows to display the pivot chart with stacked column series.
     * * `StackingArea`: Allows to display the pivot chart with stacked area series.
     * * `StackingBar`: Allows to display the pivot chart with stacked bar series.
     * * `StackingLine`: Allows to display the pivot chart with stacked line series.
     * * `StepLine`: Allows to display the pivot chart with step line series.
     * * `StepArea`: Allows to display the pivot chart with step area series.
     * * `SplineArea`: Allows to display the pivot chart with spline area series.
     * * `Scatter`: Allows to display the pivot chart with scatter series.
     * * `Spline`: Allows to display the pivot chart with spline series.
     * * `StackingColumn100`: Allows to display the pivot chart with 100% stacked column series.
     * * `StackingBar100`: Allows to display the pivot chart with 100% stacked bar series.
     * * `StackingArea100`: Allows to display the pivot chart with 100% stacked area series.
     * * `StackingLine100`: Allows to display the pivot chart with 100% stacked line series.
     * * `Bubble`: Allows to display the pivot chart with bubble series.
     * * `Pareto`: Allows to display the pivot chart with pareto series.
     * * `Polar`: Allows to display the pivot chart with polar series.
     * * `Radar`: Allows to display the pivot chart with radar series.
     * * `Pie`: Allows to display the pivot chart with pie series.
     * * `Doughnut`: Allows to display the pivot chart with doughnut series.
     * * `Funnel`: Allows to display the pivot chart with funnel series.
     * * `Pyramid`: Allows to display the pivot chart with pyramid series.
     *
     * To use this option, the `showToolbar` property must be **true** along with toolbar option **charts.Chart**
     * to be set to the `toolbar` property.
     *
     * @default ['Line', 'Column', 'Area', 'Bar', 'StackingColumn', 'StackingArea', 'StackingBar', 'StepLine', 'StepArea',
     * 'SplineArea','StackingLine', 'Scatter', 'Spline', 'StackingColumn100', 'StackingBar100', 'StackingArea100', 'StackingLine100', 'Bubble', 'Pareto', 'Polar',
     * 'Radar', 'Pie', 'Doughnut', 'Funnel', 'Pyramid' ]
     */
    chartTypes: ChartSeriesType[];
    /**
     * Allows you to add the CSS class name to the pivot table element.
     * Use this class name, you can customize the pivot table and its inner elements easily at your end.
     *
     * @default ''
     */
    cssClass: string;
    /**
     * @event queryCellInfo
     * @hidden
     */
    protected queryCellInfo: base.EmitType<grids.QueryCellInfoEventArgs>;
    /**
     * @event headerCellInfo
     * @hidden
     */
    protected headerCellInfo: base.EmitType<grids.HeaderCellInfoEventArgs>;
    /**
     * @event resizing
     * @hidden
     */
    protected resizing: base.EmitType<grids.ResizeArgs>;
    /**
     * @event resizeStop
     * @hidden
     */
    protected resizeStop: base.EmitType<grids.ResizeArgs>;
    /**
     * @event pdfHeaderQueryCellInfo
     * @hidden
     */
    protected pdfHeaderQueryCellInfo: base.EmitType<grids.PdfHeaderQueryCellInfoEventArgs>;
    /**
     * @event pdfQueryCellInfo
     * @hidden
     */
    protected pdfQueryCellInfo: base.EmitType<grids.PdfQueryCellInfoEventArgs>;
    /**
     * @event excelHeaderQueryCellInfo
     * @hidden
     */
    protected excelHeaderQueryCellInfo: base.EmitType<grids.ExcelHeaderQueryCellInfoEventArgs>;
    /**
     * @event excelQueryCellInfo
     * @hidden
     */
    protected excelQueryCellInfo: base.EmitType<grids.ExcelQueryCellInfoEventArgs>;
    /**
     * @event columnDragStart
     * @hidden
     */
    protected columnDragStart: base.EmitType<grids.ColumnDragEventArgs>;
    /**
     * @event columnDrag
     * @hidden
     */
    protected columnDrag: base.EmitType<grids.ColumnDragEventArgs>;
    /**
     * @event columnDrop
     * @hidden
     */
    protected columnDrop: base.EmitType<grids.ColumnDragEventArgs>;
    /**
     * @event beforePdfExport
     * @hidden
     */
    protected beforePdfExport: base.EmitType<Object>;
    /**
     * @event beforeExcelExport
     * @hidden
     */
    protected beforeExcelExport: base.EmitType<Object>;
    /**
     * @event beforeColumnsRender
     * @hidden
     */
    beforeColumnsRender: base.EmitType<ColumnRenderEventArgs>;
    /**
     * @event selected
     * @hidden
     */
    selected: base.EmitType<grids.CellSelectEventArgs>;
    /**
     * @event selecting
     * @hidden
     */
    private selecting;
    /**
     * @event cellDeselected
     * @hidden
     */
    cellDeselected: base.EmitType<grids.CellDeselectEventArgs>;
    /**
     * @event rowSelected
     * @hidden
     */
    rowSelected: base.EmitType<grids.RowSelectEventArgs>;
    /**
     * @event rowDeselected
     * @hidden
     */
    rowDeselected: base.EmitType<grids.RowDeselectEventArgs>;
    /**
     * @event chartTooltipRender
     * @hidden
     */
    protected chartTooltipRender: base.EmitType<charts.ITooltipRenderEventArgs>;
    /**
     * @event chartLegendClick
     * @hidden
     */
    protected chartLegendClick: base.EmitType<charts.ILegendClickEventArgs>;
    /**
     * @event beforePrint
     * @hidden
     */
    protected beforePrint: base.EmitType<charts.IPrintEventArgs>;
    /**
     * @event animationComplete
     * @hidden
     */
    protected animationComplete: base.EmitType<charts.IAnimationCompleteEventArgs>;
    /**
     * @event legendRender
     * @hidden
     */
    protected legendRender: base.EmitType<charts.ILegendRenderEventArgs>;
    /**
     * @event textRender
     * @hidden
     */
    protected textRender: base.EmitType<charts.ITextRenderEventArgs>;
    /**
     * @event pointRender
     * @hidden
     */
    protected pointRender: base.EmitType<charts.IPointRenderEventArgs>;
    /**
     * @event seriesRender
     * @hidden
     */
    protected seriesRender: base.EmitType<charts.ISeriesRenderEventArgs>;
    /**
     * @event chartMouseMove
     * @hidden
     */
    protected chartMouseMove: base.EmitType<charts.IMouseEventArgs>;
    /**
     * @event chartMouseMove
     * @hidden
     */
    protected chartMouseClick: base.EmitType<charts.IMouseEventArgs>;
    /**
     * @event pointMove
     * @hidden
     */
    protected pointMove: base.EmitType<charts.IPointEventArgs>;
    /**
     * @event chartMouseLeave
     * @hidden
     */
    protected chartMouseLeave: base.EmitType<charts.IMouseEventArgs>;
    /**
     * @event chartMouseDown
     * @hidden
     */
    protected chartMouseDown: base.EmitType<charts.IMouseEventArgs>;
    /**
     * @event chartMouseUp
     * @hidden
     */
    protected chartMouseUp: base.EmitType<charts.IMouseEventArgs>;
    /**
     * @event dragComplete
     * @hidden
     */
    protected dragComplete: base.EmitType<charts.IDragCompleteEventArgs>;
    /**
     * @event zoomComplete
     * @hidden
     */
    protected zoomComplete: base.EmitType<charts.IZoomCompleteEventArgs>;
    /**
     * @event scrollStart
     * @hidden
     */
    protected scrollStart: base.EmitType<charts.IScrollEventArgs>;
    /**
     * @event scrollEnd
     * @hidden
     */
    protected scrollEnd: base.EmitType<charts.IScrollEventArgs>;
    /**
     * @event scrollChanged
     * @hidden
     */
    protected scrollChanged: base.EmitType<charts.IScrollEventArgs>;
    /**
     * @event multiLevelLabelRender
     * @hidden
     */
    protected multiLevelLabelRender: base.EmitType<MultiLevelLabelRenderEventArgs>;
    /**
     * @event chartLoaded
     * @hidden
     */
    protected chartLoaded: base.EmitType<charts.ILoadedEventArgs>;
    /**
     * @event chartLoad
     * @hidden */
    protected chartLoad: base.EmitType<charts.ILoadedEventArgs>;
    /**
     * @event chartResized
     * @hidden
     */
    protected chartResized: base.EmitType<charts.IResizeEventArgs>;
    /**
     * @event chartAxisLabelRender
     * @hidden
     * @deprecated
     */
    protected chartAxisLabelRender: base.EmitType<charts.IAxisLabelRenderEventArgs>;
    /**
     * @event multiLevelLabelClick
     * @hidden
     * @deprecated
     */
    protected multiLevelLabelClick: base.EmitType<MultiLevelLabelClickEventArgs>;
    /**
     * @event chartPointClick
     * @hidden
     */
    protected chartPointClick: base.EmitType<charts.IPointEventArgs>;
    /**
     * @event contentMenuClick
     * @hidden
     * @deprecated
     */
    contextMenuClick: base.EmitType<grids.ContextMenuClickEventArgs>;
    /**
     * @event contextMenuOpen
     * @hidden
     * @deprecated
     */
    contextMenuOpen: base.EmitType<navigations.BeforeOpenCloseMenuEventArgs>;
    /**
     * It allows any customization of Pivot cell style while PDF exporting.
     *
     * @event onPdfCellRender
     */
    onPdfCellRender: base.EmitType<PdfCellRenderArgs>;
    /**
     * It allows you to save the report to the specified storage.
     *
     * @event saveReport
     */
    saveReport: base.EmitType<SaveReportArgs>;
    /**
     * It allows you to fetch the report names from specified storage.
     *
     * @event fetchReport
     */
    fetchReport: base.EmitType<FetchReportArgs>;
    /**
     * It allows to load the report from specified storage.
     *
     * @event loadReport
     */
    loadReport: base.EmitType<LoadReportArgs>;
    /**
     * It allows you to rename the current report.
     *
     * @event renameReport
     */
    renameReport: base.EmitType<RenameReportArgs>;
    /**
     * It allows you to remove the current report from the specified storage.
     *
     * @event removeReport
     */
    removeReport: base.EmitType<RemoveReportArgs>;
    /**
     * It allows to set the new report.
     *
     * @event newReport
     */
    newReport: base.EmitType<NewReportArgs>;
    /**
     * It allows to change the toolbar items.
     *
     * @event toolbarRender
     */
    toolbarRender: base.EmitType<ToolbarArgs>;
    /**
     * It allows to change the toolbar items.
     *
     * @event toolbarClick
     */
    toolbarClick: base.EmitType<navigations.ClickEventArgs>;
    /**
     * It allows any customization on the pivot table component properties on initial rendering.
     * Based on the changes, pivot table will be rendered.
     *
     * @event load
     */
    load: base.EmitType<LoadEventArgs>;
    /**
     * It triggers before the pivot engine starts to populate and allows to customize the pivot datasource settings.
     *
     * @event enginePopulating
     */
    enginePopulating: base.EmitType<EnginePopulatingEventArgs>;
    /**
     * It triggers after the pivot engine populated and allows to customize the pivot datasource settings.
     *
     * @event enginePopulated
     */
    enginePopulated: base.EmitType<EnginePopulatedEventArgs>;
    /**
     * It triggers after a field dropped into the axis.
     *
     * @event onFieldDropped
     */
    onFieldDropped: base.EmitType<FieldDroppedEventArgs>;
    /**
     * It triggers before a field drops into any axis.
     *
     * @event fieldDrop
     */
    fieldDrop: base.EmitType<FieldDropEventArgs>;
    /**
     * It triggers when a field drag (move) starts.
     *
     * @event fieldDragStart
     */
    fieldDragStart: base.EmitType<FieldDragStartEventArgs>;
    /**
     * It triggers when the pivot table rendered.
     *
     * @event dataBound
     */
    dataBound: base.EmitType<Object>;
    /**
     * It triggers when the pivot table component is created.
     *
     * @event created
     */
    created: base.EmitType<Object>;
    /**
     * It triggers when pivot table component getting destroyed.
     *
     * @event destroyed
     */
    destroyed: base.EmitType<Object>;
    /**
     * It allows to set properties for exporting.
     *
     * @event beforeExport
     */
    beforeExport: base.EmitType<BeforeExportEventArgs>;
    /**
     * It triggers when exporting to PDF, Excel, or CSV is complete
     *
     * @event exportComplete
     */
    exportComplete: base.EmitType<ExportCompleteEventArgs>;
    /**
     * It allows to do changes before applying the conditional formatting.
     *
     * @event conditionalFormatting
     */
    conditionalFormatting: base.EmitType<IConditionalFormatSettings>;
    /**
     * It triggers before the filtering applied.
     *
     * @event memberFiltering
     */
    memberFiltering: base.EmitType<MemberFilteringEventArgs>;
    /**
     * It triggers when a cell is clicked in the pivot table.
     *
     * @event cellClick
     */
    cellClick: base.EmitType<CellClickEventArgs>;
    /**
     * It triggers when a value cell is clicked in the pivot table for Drill-Through.
     *
     * @event drillThrough
     */
    drillThrough: base.EmitType<DrillThroughEventArgs>;
    /**
     * It triggers when editing is made in the raw data of pivot table.
     *
     * @event editCompleted
     */
    editCompleted: base.EmitType<EditCompletedEventArgs>;
    /**
     * It triggers when a value cell is clicked in the pivot table for Editing.
     *
     * @event beginDrillThrough
     */
    beginDrillThrough: base.EmitType<BeginDrillThroughEventArgs>;
    /**
     * It triggers when a hyperlink cell is clicked in the pivot table.
     *
     * @event hyperlinkCellClick
     */
    hyperlinkCellClick: base.EmitType<HyperCellClickEventArgs>;
    /**
     * It triggers before a cell selected in pivot table.
     *
     * @event cellSelecting
     */
    cellSelecting: base.EmitType<PivotCellSelectedEventArgs>;
    /**
     * It triggers before the header to be either expanded or collapsed in the pivot table.
     *
     * @event drill
     */
    drill: base.EmitType<DrillArgs>;
    /**
     * It triggers when a cell got selected in the pivot table.
     *
     * @event cellSelected
     */
    cellSelected: base.EmitType<PivotCellSelectedEventArgs>;
    /**
     * It triggers when the pivot chart series are created.
     *
     * @event chartSeriesCreated
     */
    chartSeriesCreated: base.EmitType<ChartSeriesCreatedEventArgs>;
    /**
     * It allows to change the each cell value during engine populating.
     *
     * @event aggregateCellInfo
     * @deprecated
     */
    aggregateCellInfo: base.EmitType<AggregateEventArgs>;
    /**
     * It allows to identify whether the field list updated or not.
     *
     * @event fieldListRefreshed
     */
    fieldListRefreshed: base.EmitType<FieldListRefreshedEventArgs>;
    /**
     * It triggers before member editor dialog opens.
     *
     * @event memberEditorOpen
     */
    memberEditorOpen: base.EmitType<MemberEditorOpenEventArgs>;
    /**
     * It triggers before a calculated field created/edited during runtime.
     *
     * @event calculatedFieldCreate
     */
    calculatedFieldCreate: base.EmitType<CalculatedFieldCreateEventArgs>;
    /**
     * It triggers before number format is applied to specific field during runtime.
     *
     * @event numberFormatting
     */
    numberFormatting: base.EmitType<NumberFormattingEventArgs>;
    /**
     * It triggers before aggregate type context menu opens.
     *
     * @event aggregateMenuOpen
     */
    aggregateMenuOpen: base.EmitType<AggregateMenuOpenEventArgs>;
    /**
     * It triggers before removing the field from any axis during runtime.
     *
     * @event fieldRemove
     */
    fieldRemove: base.EmitType<FieldRemoveEventArgs>;
    /**
     * It triggers before service get invoked from client.
     *
     * @event beforeServiceInvoke
     */
    beforeServiceInvoke: base.EmitType<BeforeServiceInvokeEventArgs>;
    /**
     * It triggers after the response is returned from the service.
     *
     * @event afterServiceInvoke
     */
    afterServiceInvoke: base.EmitType<AfterServiceInvokeEventArgs>;
    /**
     * It triggers when UI action begins in the Pivot Table. The UI actions used to trigger this event such as
     * [`drill down/up`](../../pivotview/drill-down/#drill-down-and-drill-up),
     * [`value sorting`](../../pivotview/sorting/#value-sorting),
     * built-in [`toolbar`](../../pivotview/tool-bar/#built-in-toolbar-options) options,
     * [`grouping bar`](../../pivotview/grouping-bar/) and
     * [`field list`](../../pivotview/field-list/) buttons actions such as
     * [`sorting`](../../pivotview/sorting/), [`filtering`](../../pivotview/filtering/),
     * [`editing`](../../pivotview/calculated-field/#editing-through-the-field-list-and-the-groupingbar),
     * [`aggregate type`](../../pivotview/aggregation/#modifying-aggregation-type-for-value-fields-at-runtime) change and so on,
     * CRUD operation in [`editing`](../../pivotview/editing/).
     *
     * @event actionBegin
     */
    actionBegin: base.EmitType<PivotActionBeginEventArgs>;
    /**
     * It triggers when UI action in the Pivot Table completed. The UI actions used to trigger this event such as
     * [`drill down/up`](../../pivotview/drill-down/#drill-down-and-drill-up),
     * [`value sorting`](../../pivotview/sorting/#value-sorting),
     * built-in [`toolbar`](../../pivotview/tool-bar/#built-in-toolbar-options) options,
     * [`grouping bar`](../../pivotview/grouping-bar/) and
     * [`field list`](../../pivotview/field-list/) buttons actions such as
     * [`sorting`](../../pivotview/sorting/), [`filtering`](../../pivotview/filtering/),
     * [`editing`](../../pivotview/calculated-field/#editing-through-the-field-list-and-the-groupingbar),
     * [`aggregate type`](../../pivotview/aggregation/#modifying-aggregation-type-for-value-fields-at-runtime) change and so on,
     * CRUD operation in [`editing`](../../pivotview/editing/).
     *
     * @event actionComplete
     */
    actionComplete: base.EmitType<PivotActionCompleteEventArgs>;
    /**
     * It triggers when UI action failed to achieve the desired results in the Pivot Table. The UI actions used to trigger this event such as
     * [`drill down/up`](../../pivotview/drill-down/#drill-down-and-drill-up),
     * [`value sorting`](../../pivotview/sorting/#value-sorting),
     * built-in [`toolbar`](../../pivotview/tool-bar/#built-in-toolbar-options) options,
     * [`grouping bar`](../../pivotview/grouping-bar/) and
     * [`field list`](../../pivotview/field-list/) buttons actions such as
     * [`sorting`](../../pivotview/sorting/), [`filtering`](../../pivotview/filtering/),
     * [`editing`](../../pivotview/calculated-field/#editing-through-the-field-list-and-the-groupingbar),
     * [`aggregate type`](../../pivotview/aggregation/#modifying-aggregation-type-for-value-fields-at-runtime) change and so on,
     * CRUD operation in [`editing`](../../pivotview/editing/).
     *
     * @event actionFailure
     */
    actionFailure: base.EmitType<PivotActionFailureEventArgs>;
    /** @hidden */
    destroyEngine: boolean;
    /**
     * It triggers before the sorting performed.
     *
     * @event onHeadersSort
     */
    onHeadersSort: base.EmitType<HeadersSortEventArgs>;
    /**
     * Constructor for creating the widget
     *
     * @param  {PivotViewModel} options - options.
     * @param  {string|HTMLElement} element - element.
     */
    constructor(options?: PivotViewModel, element?: string | HTMLElement);
    /**
     * To provide the array of modules needed for control rendering
     *
     * @returns {base.ModuleDeclaration[]} - return.
     * @hidden
     */
    requiredModules(): base.ModuleDeclaration[];
    /**
     *
     * For internal use only - Initializing internal properties;
     *
     * @private
     */
    protected preRender(): void;
    private onBeforeTooltipOpen;
    private renderToolTip;
    /** @hidden */
    renderContextMenu(): void;
    private getFieldByID;
    /**
     *
     * @hidden
     *
     */
    getAllSummaryType(): AggregateTypes[];
    private getDefaultItems;
    private buildDefaultItems;
    private initProperties;
    /**
     *
     * @hidden
     *
     */
    updatePageSettings(isInit: boolean): void;
    /**
     * Initialize the control rendering
     *
     * @returns {void}
     * @hidden
     */
    render(): void;
    private loadData;
    private onSuccess;
    /** @hidden */
    getEngine(action: string, drillItem?: IDrilledItem, sortItem?: ISort, aggField?: IFieldOptions, cField?: ICalculatedFields, filterItem?: IFilter, memberName?: string, rawDataArgs?: FetchRawDataArgs, editArgs?: UpdateRawDataArgs, excelExportProperties?: grids.ExcelExportProperties): void;
    /**
     * It returns chart settings.
     *
     * @returns {string} - string.
     * @hidden
     */
    getChartSettings(): string;
    /**
     * It returns page settings.
     *
     * @returns {string} - string.
     * @hidden
     */
    getPageSettings(): string;
    private onReadyStateChange;
    private initialLoad;
    /**
     * Register the internal events.
     *
     * @returns {void}
     * @hidden
     */
    addInternalEvents(): void;
    /**
     * De-Register the internal events.
     *
     * @returns {void}
     * @hidden
     */
    removeInternalEvents(): void;
    /**
     * Get the Pivot widget properties to be maintained in the persisted state.
     *
     * @returns {string} - string.
     */
    getPersistData(isRemoveDatasource?: boolean): string;
    /**
     * Loads pivot Layout
     *
     * @param {string} persistData - Specifies the persist data to be loaded to pivot.
     * @returns {void}
     */
    loadPersistData(persistData: string): void;
    private mergePersistPivotData;
    /**
     * Method to open conditional formatting dialog.
     *
     * @returns {void}
     */
    showConditionalFormattingDialog(): void;
    /**
     * Method to open calculated field dialog.
     *
     * @returns {void}
     */
    createCalculatedFieldDialog(): void;
    /**
     * It returns the Module name.
     *
     * @returns {string} - string.
     * @hidden
     */
    getModuleName(): string;
    /**
     * Copy the selected rows or cells data into clipboard.
     *
     * @param {boolean} withHeader - Specifies whether the column header text needs to be copied along with rows or cells.
     * @returns {void}
     * @hidden
     */
    copy(withHeader?: boolean): void;
    /**
     * By default, prints all the pages of the grids.Grid and hides the pager.
     * > You can customize print options using the
     * [`printMode`](./api-pivotgrid.html#printmode-string).
     *
     * @returns {void}
     * @hidden
     */
    /**
     *
     * Called internally if any of the property value changed.
     *
     * @returns {void}
     * @hidden
     */
    onPropertyChanged(newProp: PivotViewModel, oldProp: PivotViewModel): void;
    private toggleButtonState;
    /**
     * Method to parse the template string.
     *
     * @private
     */
    templateParser(template: string | Function): Function;
    /**
     * Method to get the cell template.
     *
     * @private
     */
    getCellTemplate(): Function;
    /**
     * @hidden
     */
    appendHtml(node: Element, innerHtml: string | Element): Element;
    /**
     * Render the UI section of PivotView.
     *
     * @returns {void}
     * @hidden
     */
    renderPivotGrid(): void;
    /**
     * Appends the chart element to the DOM, based on the component's display options and settings.
     *
     * @returns {void}
     * @hidden
     */
    appendChartElement(): void;
    /**
     * @hidden
     */
    showWaitingPopup(): void;
    /**
     * @hidden
     */
    hideWaitingPopup(): void;
    /**
     * Updates the PivotEngine using dataSource from Pivot View component.
     *
     * @function updateDataSource
     * @returns {void}
     * @hidden
     */
    updateDataSource(): void;
    private refreshPageData;
    /**
     * Export the Pivot table data to an Excel file (.xlsx).
     *
     * @param  {grids.ExcelExportProperties} excelExportProperties - Defines the export properties for customizing the table, such as custom columns, data source, and theme.
     * @param  {boolean} isMultipleExport - Specifies whether multiple exports are enabled.
     * @param  {workbook} workbook - Defines the excelExport.Workbook if multiple exports are enabled.
     * @param  {boolean} isBlob - If set to true, the exported file will be returned as blob data.
     * @returns {void}
     */
    excelExport(excelExportProperties?: grids.ExcelExportProperties, isMultipleExport?: boolean, workbook?: excelExport.Workbook, isBlob?: boolean): void;
    /**
     * Export the Pivot table data to a CSV file (.csv).
     *
     * @param  {grids.ExcelExportProperties} excelExportProperties - Defines the export properties for customizing the table, such as custom columns, data source, and theme.
     * @param  {boolean} isMultipleExport - Specifies whether multiple exports are enabled.
     * @param  {workbook} workbook - Defines the excelExport.Workbook if multiple exports are enabled.
     * @param  {boolean} isBlob - If set to true, the export will be returned as blob data.
     * @returns {void}
     */
    csvExport(excelExportProperties?: grids.ExcelExportProperties, isMultipleExport?: boolean, workbook?: excelExport.Workbook, isBlob?: boolean): void;
    /**
     *
     * Export pivot table data to PDF document.
     *
     * @param  {grids.PdfExportProperties} pdfExportProperties - Defines the export properties of the grids.Grid.
     * @param  {boolean} isMultipleExport - Define to enable multiple export.
     * @param  {Object} pdfDoc - Defined the PDF document if multiple export is enabled.
     * @param  {boolean} isBlob - If 'isBlob' set to true, then it will be returned as blob data.
     * @returns {Promise<Object>} - Returns the pivot table data to PDF document
     */
    private gridPdfExport;
    /**
     * Method allow to export the pivot chart as PDF and image formats like PNG, JPEG, and SVG.
     *
     * @param {charts.ExportType} type - Defines the export type.
     * @param {grids.PdfExportProperties} pdfExportProperties - Allows to define the export properties for the chart.
     * @param {boolean} isMultipleExport - Allows to export multiple tables and charts into a single PDF document.
     * @param {Object} pdfDoc - Allows the export of an external PDF document along with current PDF document.
     * @param {boolean} isBlob - Allows the PDF document to be saved as blob data.
     * @returns {Promise<Object>} - Method returns the pivot chart as PDF and image formats like PNG, JPEG, and SVG.
     */
    chartExport(type: charts.ExportType, pdfExportProperties?: grids.PdfExportProperties, isMultipleExport?: boolean, pdfDoc?: Object, isBlob?: boolean): Promise<Object>;
    /**
     * Method allow to export both pivot table and pivot chart in a same PDF document.
     *
     * @param {grids.PdfExportProperties} pdfExportProperties - Allows to define the export properties for the table and chart.
     * @param {boolean} isMultipleExport - Allows to export multiple tables and charts into a single PDF document.
     * @param {Object} pdfDoc - Allows the export of an external PDF document along with current PDF document.
     * @param {boolean} isBlob - Allows the PDF document to be saved as blob data.
     * @param {boolean} exportBothTableAndChart - When the `view` property inside the `displayOption` is set to **Both**, both table and chart data can be exported into a single PDF document.
     * @returns {Promise<Object>} - Method returns the both pivot table and pivot chart in a same PDF document.
     */
    pdfExport(pdfExportProperties?: grids.PdfExportProperties, isMultipleExport?: boolean, pdfDoc?: Object, isBlob?: boolean, exportBothTableAndChart?: boolean): Promise<Object>;
    /**
     * Print method for the chart.
     *
     * @returns {void}
     */
    printChart(): void;
    /** @hidden */
    onDrill(target: Element, chartDrillInfo?: ChartLabelInfo): void;
    private onOlapDrill;
    /**
     *
     * @returns {void}
     * @hidden
     */
    onContentReady(): void;
    private setToolTip;
    /** @hidden */
    getTooltipTemplate(): Function;
    /** @hidden */
    getHeaderField(rowIndex: number, colIndex: number, axis: string): string;
    private getLevel;
    /**
     * It used to get row text
     *
     * @param {number} rowIndex - Specifies row Index.
     * @param {number} colIndex - Specifies column Index.
     * @returns {string} - Returns row text.
     * @hidden
     */
    getRowText(rowIndex: number, colIndex: number): string;
    private getColText;
    private updateClass;
    private mouseRclickHandler;
    private mouseDownHandler;
    private mouseMoveHandler;
    private mouseUpHandler;
    private parentAt;
    private mouseClickHandler;
    private updateTotColWidth;
    private framePivotColumns;
    /** @hidden */
    setGridColumns(gridcolumns: grids.ColumnModel1[]): void;
    /** @hidden */
    fillGridColumns(gridcolumns: grids.ColumnModel1[]): void;
    /** @hidden */
    triggerColumnRenderEvent(gridcolumns: grids.ColumnModel1[]): void;
    /** @hidden */
    setCommonColumnsWidth(columns: grids.ColumnModel1[], width: number): void;
    /** @hidden */
    getHeightAsNumber(): number;
    /** @hidden */
    getWidthAsNumber(): number;
    /** @hidden */
    getGridWidthAsNumber(): number;
    /** @hidden */
    onWindowResize(): void;
    /**
     * Refreshes the Pivot Table for blazor layoutRefresh is called for other base refresh is called.
     *
     * @returns {void}
     */
    refresh(): void;
    /** @hidden */
    layoutRefresh(): void;
    private cellClicked;
    private rowDeselect;
    /** @hidden */
    clearSelection(ele: Element, e: MouseEvent | base.KeyboardEventArgs): void;
    /** @hidden */
    applyRowSelection(colIndex: number, rowIndex: number, e: MouseEvent | KeyboardEvent): void;
    /** @hidden */
    applyColumnSelection(e: MouseEvent | base.KeyboardEventArgs, target: Element, colStart: number, colEnd: number, rowStart: number): void;
    private getSelectedCellsPos;
    private setSavedSelectedCells;
    private renderEmptyGrid;
    /** @hidden */
    initEngine(): void;
    private enginePopulatedEventMethod;
    private generateData;
    /** @hidden */
    refreshData(): void;
    private getValueCellInfo;
    /**
     *
     * @param {HeadersSortEventArgs} sortingObj - args.
     * @returns {HeadersSortEventArgs}
     * @hidden
     */
    getHeaderSortInfo(sortingObj: HeadersSortEventArgs): HeadersSortEventArgs;
    /**
     * De-Register the internal events.
     *
     * @param {Object} args - args.
     * @returns {void}
     * @hidden
     */
    bindTriggerEvents(args?: Object): void;
    private getData;
    private executeQuery;
    /** @hidden */
    applyFormatting(pivotValues: IAxisSet[][]): void;
    private createStyleSheet;
    private applyHyperlinkSettings;
    private checkCondition;
    /** @hidden */
    updateGroupingReport(newGroupSettings: IGroupSettings[], updateGroupType: GroupType): void;
    private removeButtonFocus;
    private wireEvents;
    private headerScrollUpdate;
    private unwireEvents;
    /** @hidden */
    actionBeginMethod(): boolean;
    /** @hidden */
    actionCompleteMethod(): void;
    /** @hidden */
    actionFailureMethod(error: Error): void;
    /** @hidden */
    getActionCompleteName(): string;
    /** @hidden */
    getStackedColumns(gridcolumns: grids.ColumnModel1[], stackedColumns: grids.ColumnModel1[]): grids.ColumnModel1[];
    /**
     * To destroy the PivotView elements.
     *
     * @returns {void}
     */
    destroy(): void;
    /**
     * Method to open the number formatting dialog to set the format dynamically.
     *
     * @returns {void}
     */
    showNumberFormattingDialog(): void;
    /** @hidden */
    getValuesHeader(pivotCell: IAxisSet, type: string): string;
    private setColumnWidth;
}
//node_modules/@syncfusion/ej2-pivotview/src/pivotview/base/pivotview-model.d.ts
/**
 * Interface for a class GroupingBarSettings
 */
export interface GroupingBarSettingsModel {
    /**
     * Allows you to show or hide the filter icon that used to be displayed on the pivot button of the grouping bar UI.
     * This filter icon is used to filter the members of a particular field at runtime in the pivot table.
     * > By default, the filter icon is enabled in the grouping bar.
     *
     * @default true
     */
    showFilterIcon?: boolean;
    /**
     * Allows you to show or hide the sort icon that used to be displayed in the pivot button of the grouping bar UI.
     * This sort icon is used to order members of a particular fields either in ascending or descending at runtime.
     * > By default, the sort icon is enabled in the grouping bar.
     *
     * @default true
     */
    showSortIcon?: boolean;
    /**
     * Allows you to show or hide the base.remove icon that used to be displayed in the pivot button of the grouping bar UI. This base.remove icon is used to base.remove any field during runtime.
     * > By default, the base.remove icon is enabled in the grouping bar.
     *
     * @default true
     */
    showRemoveIcon?: boolean;
    /**
     * Allows you to show or hide the value type icon that used to be displayed in the pivot button of the grouping bar UI.
     * This value type icon helps to base.select the appropriate aggregation type to value fields at runtime.
     * > By default, the icon to set aggregate types is enabled in the grouping bar.
     *
     * @default true
     */
    showValueTypeIcon?: boolean;
    /**
     * Allow options to show the grouping bar UI to specific view port such as either pivot table or pivot chart or both table and chart.
     * For example, to show the grouping bar UI to pivot table on its own, set the property `displayMode` to **Table**.
     * > By default, the grouping bar UI will be shown to both pivot table as well as pivot chart.
     *
     * @default Both
     */
    displayMode?: View;
    /**
     * Allows you to restrict the pivot buttons that were used to drag on runtime in the grouping bar UI.
     * This will prevent you from modifying the current report.
     * > By default, all fields are available for drag-and-drop operation in the grouping bar.
     *
     * @default true
     */
    allowDragAndDrop?: boolean;
    /**
     * Allows you to show an additional UI along with the grouping bar UI, which contains the fields that aren't bound in the current report.
     * It allows you to modify the report by re-arranging the pivot buttons through drag-and-drop operation between axes (row, column, value and filter)
     * that are used to update the pivot table during runtime.
     * > This property is applicable only for relational data source.
     *
     * @default false
     */
    showFieldsPanel?: boolean;
}
/**
 * Interface for a class CellEditSettings
 */
export interface CellEditSettingsModel {
    /**
     * Allows you to add a new record to the data grid used to update the appropriate cells in the pivot table.
     *
     * @default false
     */
    allowAdding?: boolean;
    /**
     * Allows you to edit the existing record in the data grid that used to update the appropriate cells in the pivot table.
     *
     * @default false
     */
    allowEditing?: boolean;
    /**
     * Allows you to delete the existing record from the data grid that used to  update the appropriate cells in the pivot table.
     *
     * @default false
     */
    allowDeleting?: boolean;
    /**
     * Allows an additional column appended in the data grid layout holds the command buttons to perform the CRUD operations to
     * edit, delete, and update the raw items to the data grid that used to update the appropriate cells in the pivot table.
     *
     * @default false
     */
    allowCommandColumns?: boolean;
    /**
     * Allows direct editing of a value cell without opening the edit dialog. NOTE: It is applicable only if the value cell is made by a single raw data. Otherwise editing dialog will be shown.
     * > The `allowInlineEditing` property supports all modes of editing.
     *
     * @default false
     */
    allowInlineEditing?: boolean;
    /**
     * Allow options for performing CRUD operations with different modes in the data grid that used to update the appropriate cells in the pivot table.
     * The available modes are as follows:
     * * `Normal`: Allows the currently selected row alone will be completely changed to edit state. You can change the cell values and save it to the data source by clicking “Update” toolbar button.
     * * `Dialog`: Allows the currently selected row data will be shown in an exclusive dialog. You can change the cell values and save it to the data source by clicking “fileUtils.Save” button in the dialog.
     * * `Batch`: Allows you to perform double-click on any data specific cell in the data grid, the state of that selected cell will be changed to edit state.
     * You can perform bulk changes like add, edit and delete data of the cells and finally save to the data source by clicking “Update” toolbar button.
     *
     * > Normal mode is enabled for CRUD operations in the data grid by default.
     *
     * @default Normal
     */
    mode?: EditMode;
    /**
     * Allows you to restrict CRUD operations by double-clicking the appropriate value cell in the pivot table.
     *
     * @default true
     */
    allowEditOnDblClick?: boolean;
    /**
     * Allows you to show a confirmation dialog to save and discard CRUD operations performed in the data grid that used to update the appropriate cells in the pivot table.
     * > To use this option, it requires the property `mode` to be **Batch**, meaning, the `showConfirmDialog` option is only applicable for batch edit mode.
     *
     * @default true
     */
    showConfirmDialog?: boolean;
    /**
     * Allows you to show the confirmation dialog to delete any records from the data grid.
     * > The `showDeleteConfirmDialog` property supports all modes of editing.
     *
     * @default false
     */
    showDeleteConfirmDialog?: boolean;
}
/**
 * Interface for a class ConditionalSettings
 */
export interface ConditionalSettingsModel {
    /**
     * Allows you to specify the value field caption to get visibility of hyperlink option for specific measure.
     */
    measure?: string;
    /**
     * Allows you to specify the row or column header to get visibility of hyperlink option for specific row or column header.
     */
    label?: string;
    /**
     * Allows you to choose the operator type such as equals, greater than, less than, etc. The available operators are as follows:
     * * `LessThan`: Allows you to get the cells that have a value that is less than the start value.
     * * `GreaterThan`: Allows you to get the cells that have a value that is greater than the start value.
     * * `LessThanOrEqualTo`: Allows you to get the cells that have a value that is lesser than or equal to the start value.
     * * `GreaterThanOrEqualTo`: Allows you to get the cells that have a value that is greater than or equal to the start value.
     * * `Equals`:  Allows you to get the cells that have a value that matches with the start value.
     * * `NotEquals`: Allows you to get the cells that have a value that does not match with the start value.
     * * `Between`: Allows you to get the cells that have a value that between the start and end value.
     * * NotBetween: Allows you to get the cells that have a value that is not between the start and end value.
     *
     * @default NotEquals
     */
    conditions?: Condition;
    /**
     * Allows you to set the start value to get visibility of hyperlink option based on the condition applied.
     * For example, if the start value is 500 and the condition Equals is used, the hyperlink should be enabled to the cells that hold the value of 500 alone.
     */
    value1?: number;
    /**
     * Allows you to set the end value to get visibility of hyperlink option based on the condition applied.
     * For example, if the start value is 500, the end value is 1500 and the condition Between is used, the hyperlink should be enabled to the cells that holds the value between 500 to 1500.
     * > This option will be used by default when the operator **Between** and **NotBetween** is chosen to apply.
     */
    value2?: number;
}
/**
 * Interface for a class HyperlinkSettings
 */
export interface HyperlinkSettingsModel {
    /**
     * Allows you to set the visibility of hyperlink in all cells that are currently shown in the pivot table.
     *
     * @default false
     */
    showHyperlink?: boolean;
    /**
     * Allows you to set the visibility of hyperlink in row headers that are currently shown in the pivot table.
     *
     * @default false
     */
    showRowHeaderHyperlink?: boolean;
    /**
     * Allows you to set the visibility of hyperlink in column headers that are currently shown in the pivot table.
     *
     * @default false
     */
    showColumnHeaderHyperlink?: boolean;
    /**
     * Allows you to set the visibility of hyperlink in value cells that are currently shown in the pivot table.
     *
     * @default false
     */
    showValueCellHyperlink?: boolean;
    /**
     * Allows you to set the visibility of hyperlink in summary cells that are currently shown in the pivot table.
     *
     * @default false
     */
    showSummaryCellHyperlink?: boolean;
    /**
     * Allow options for setting the visibility of hyperlink based on specific condition. The options available here are as follows:
     * * `measure`: Allows you to specify the value field caption to get visibility of hyperlink option for specific measure.
     * * `condition`: Allows you to choose the operator type such as equals, greater than, less than, etc.
     * * `value1`: Allows you to set the start value.
     * * `value2`: Allows you to set the end value. This option will be used by default when the operator **Between** and **NotBetween** is chosen to apply.
     *
     * @default []
     */
    conditionalSettings?: ConditionalSettingsModel[];
    /**
     * Allows you to set the visibility of hyperlink in the cells based on specific row or column header.
     */
    headerText?: string;
    /**
     * Allows you to add the CSS class name to the hyperlink options. Use this class name you can apply styles to a hyperlink easily at your end.
     *
     * @default ''
     */
    cssClass?: string;
}
/**
 * Interface for a class PageSettings
 */
export interface PageSettingsModel {
    /**
     * It allows to set the total column count of the pivot table.
     *
     * @default 5
     */
    columnPageSize?: number;
    /**
     * It allows to set the total row count of the pivot table.
     *
     * @default 5
     */
    rowPageSize?: number;
    /**
     * It allows to set the current column page count displayed in the pivot table.
     *
     * @default 1
     */
    currentColumnPage?: number;
    /**
     * It allows to set the current row page count displayed in the pivot table.
     *
     * @default 1
     */
    currentRowPage?: number;
}
/**
 * Interface for a class PagerSettings
 */
export interface PagerSettingsModel {
    /**
     * Allows to display the pager UI either at top or bottom of the Pivot Table UI.
     *
     * @default Bottom
     */
    position?: PagerPosition;
    /**
     * When the property is set to “true”, it allows to display the row and column paging options as vice versa.
     * > In pager UI, paging options for column axis will be shown at left-side and for row will be shown at right-side.
     *
     * @default false
     */
    isInversed?: boolean;
    /**
     * Allows to show or hide row paging options in the pager UI.
     *
     * @default true
     */
    showRowPager?: boolean;
    /**
     * Allows to show or hide column paging options in the pager UI.
     *
     * @default true
     */
    showColumnPager?: boolean;
    /**
     * Allows to show row page size information in the pager UI.
     *
     * @default true
     */
    showRowPageSize?: boolean;
    /**
     * Allows to show column page size information in the pager UI.
     *
     * @default true
     */
    showColumnPageSize?: boolean;
    /**
     * Allows you to choose from a variety of page sizes in the paging UI that can be used to display the pivot table's rows.
     *
     * @default [10, 50, 100, 200]
     */
    rowPageSizes?: number[];
    /**
     * Allows you to choose from a variety of page sizes in the paging UI that can be used to display the pivot table's columns.
     *
     * @default [5, 10, 20, 50, 100]
     */
    columnPageSizes?: number[];
    /**
     * Allows the paging UI to be displayed with the absolute minimum of information by hiding all paging data except for the navigation options.
     *
     * @default false
     */
    enableCompactView?: boolean;
    /**
     * Allows the pager UI to be customized by using an HTML string or the element's ID to display custom elements instead of the standard ones.
     *
     * @default null
     * @aspType string
     */
    template?: string | Function;
}
/**
 * Interface for a class DisplayOption
 */
export interface DisplayOptionModel {
    /**
     * Allows you to choose the view port as either table or chart or both table and chart. The available options are:
     * * `Table`: Allows you to render the component as tabular form.
     * * `charts.Chart`: Allows you to render the component as graphical format.
     * * `Both`: Allows you to render the component as both table and chart.
     * > By default, **Table** is used as a default view in the component.
     *
     * @default Table
     */
    view?: View;
    /**
     * Allows you to set the primary view to be either table or chart.The available options are:
     * * `Table`: Allows you to display the pivot table as primary view.
     * * `charts.Chart`: Allows you to display the pivot chart as primary view.
     * > To use this option, it requires the property `view` to be **Both**.
     *
     * @default Table
     */
    primary?: Primary;
}
/**
 * Interface for a class VirtualScrollSettings
 */
export interface VirtualScrollSettingsModel {
    /**
     * Allows to show only the current view page while performing virtual scrolling,
     * or also show the previous and next page in the pivot table. By rendering only the rows and columns relevant to the current view port for display
     * in the pivot table, it improves the pivot table's performance.
     *
     * @default false
     */
    allowSinglePage?: boolean;
}
/**
 * Interface for a class PivotView
 */
export interface PivotViewModel extends base.ComponentModel{
    /**
     * Allows values with a specific country currency format to be displayed in the pivot table.
     * Standard currency codes referred to as ISO 4217 can be used for the formatting of currency values.
     * For example, to display "US Dollar($)" currency values, set the `currencyCode` to **USD**.
     * > It is applicable only for Relational data.
     *
     * @default 'USD'
     * @hidden
     */
    currencyCode?: string;
    /**
     * Allows built-in popup field list to be enabled in the pivot table UI.
     * The popup field list will be displayed over the pivot table UI without affecting any form of UI shrink,
     * and allows to manipulate the pivot report through different ways such as add or base.remove fields and
     * also rearrange them between different axes, including column, row, value, and filter along with sort and
     * filter options dynamically at runtime to update the pivot table.
     * > By default, the icon used to display the field list will be positioned at the top left corner of the pivot table UI.
     * When groupingBar is enabled, the icon will be placed at the top right corner of the pivot table.
     *
     * @default false
     */
    showFieldList?: boolean;
    /**
     * Allows the set of options to customize rows, columns, values cell and its content in the pivot table. The following options to customize the pivot table are:
     * * `height`: Allow the height of the pivot table content to be set,
     * meaning that the height given should be applied without considering the column headers in the pivot table.
     * * `width`: Allow to set width of the pivot table. **Note: The pivot table will not display less than 400px,
     * as it is the minimum width to the component.**
     * * `gridLines`: Allow the options for customizing the cell borders of each cell to be displayed in the pivot table.
     * For example, to display a pivot table without cell borders, set the property `gridLines` to **None**.
     * * `allowTextWrap`: Allow the contents of the cells to be wrapped when they exceed the width of the cells in the pivot table.
     * * `textWrapSettings`: Allows options to wrap either column and row header or value or both header and cell content.
     * For example, to allow the wrap option to value cells alone, then set the property `wrapMode` to **Content** in the `textWrapSettings` class.
     * * `allowReordering`: Allows to reorder a specific column header from one index to another index in the pivot table by drag-and-drop.
     * * `allowResizing`: Allows the columns to be resized by clicking and dragging the right edge of the column headers.
     * * `rowHeight`: Allow to set height to the pivot table rows commonly.
     * * `columnWidth`: Allow to set width to the pivot table columns commonly.
     * * `clipMode`: Allows the contents of the cell overflow to be displayed in the pivot table.
     * For example, to truncate the cell content of a cell when it overflows with respect to its cell width, set the property `clipMode` to **Clip**.
     * * `allowSelection`: Allows a row or column or cell to be highlighted by simply clicking or arrow key in the pivot table.
     * * `selectionSettings`: Allow set of options to customize the selection of a row or column or cell by simply clicking on the arrow key in the pivot table.
     * For example, to highlight both rows and columns with multiple selection, set the properties `mode` to **Both** and `type` to **Multiple** in `selectionSettings` class.
     * * `selectedRowIndex`: Allows to highlight specific row in the pivot table during initial rendering. For example, to highlight the pivot table's first row, set the property `selectedRowIndex` to **0**.
     * * `contextMenuItems`: Allows to show built-in context with pre-defined menu option or custom menu options by simply right clicking on the pivot table cell.
     */
    gridSettings?: GridSettingsModel;
    /**
     * Allows a set of options to customize a pivot chart with a variety of settings, such as chart series, chart area, axis labels, legends, border, crosshairs, theme, title, tooltip, zooming, etc.
     * The following options are available to customize the pivot chart.
     * * `background`: Allows you to change the background color of the chart series in the pivot chart.
     * For example, to display the chart series with background color as red, set the property `background` to either **"red"** or **"#FF0000"** or **"rgba(255,0,0,1.0)"**.
     * * `border`: Allow options to customize the border of the chart series such as color and border size in the pivot chart.
     * For example, to display the chart series border color as red, set the properties `color` to either **"red"** or **"#FF0000"** or **"rgba(255,0,0,1.0)"** and `width` to **0.5**.
     * * `chartArea`: Allow options to customize the chart area with a variety of settings such as background color, border, opacity and background image in the pivot chart.
     * For example, to change the of the pivot chart's background, set the property `opacity` to **0.5**.
     * * `chartSeries`: Allow options to customize the chart series with different settings such as fill color, animation of the series,
     * series width, border, visibility of the series, opacity, chart series types, marker, tooltip, trendlines, etc., in the pivot chart.
     * For example, to display the line type pivot chart, set the property `type` to **Line**.
     * * `crosshair`: Allow options to customize the crosshair line with different settings such as color and width of the line,
     * line types that are shown horizontally and vertically to indicate the value of the axis at the mouse hover or touch position in the pivot chart.
     * * `description`: Allows you to add a description of the pivot chart.
     * * `enableAnimation`: Allows you to enable/disable the tooltip animation while performing the mouse move from one point to another in the pivot chart.
     * * `enableCanvas`: Allows you to render the pivot chart in canvas mode.
     * * `enableExport`: Allows the pivot chart to be exported to either **PDF** or **PNG** or **JPEG** or **SVG** filter formats.
     * * `enableMultipleAxis`: Allows you to draw the pivot chart with multiple value fields as separate chart area.
     * * `enableSideBySidePlacement`: Allows you to draw points of the column type pivot chart series as side by side.
     * * `isMultiSelect`: Allows you to perform multiple selection in the pivot chart. To enable this option, it requires the property `selectionMode` to be **Point** or **Series** or **Cluster**.
     * * `isTransposed`: Allows you to render the pivot chart in a transposed manner or not.
     * * `legendSettings`: Allow options for customizing legends with different properties such as legend visibility,
     * height, width, position, legend padding, alignment, textStyle, border, margin, background, opacity, description, tabIndex in the pivot chart.
     * * `margin`: Allow options to customize the left, right, top and bottom margins of the pivot chart.
     * * `palettes`: Allows you to draw the chart series points with custom color in the pivot chart.
     * * `primaryXAxis`: Allow options to customize the horizontal(row) axis with different properties such as labelIntersectAction, labelStyle, title,
     * description, crosshairTooltip, labelFormat, titleStyle, plotOffset, edgeLabelPlacement, labelPlacement, tickPosition, opposedPosition, minor and
     * major grid lines, minor and major tick lines, border, etc. in the pivot chart.
     * * `primaryYAxis`: Allow options to customize the vertical(value) axis with different properties such as labelIntersectAction, labelStyle,
     * title, description, crosshairTooltip, labelFormat, titleStyle, plotOffset, edgeLabelPlacement, labelPlacement, tickPosition, opposedPosition, minor and
     * major grid lines, minor and major tick lines, border, etc. in the pivot chart.
     * * `selectedDataIndexes`: Allows you to highlight a specific point of the series while rendering the pivot chart.
     * For example, to highlight first point in the first series, set the properties series to 0 and points to 1. To use this option, it requires the property `selectionMode` to be **Point** or **Series**.
     * * `selectionMode`: Allow options for customizing the selection mode to be done either by a specific series or point or cluster or by dragging it to the pivot chart.
     * For example, to highlight a specific point in a specific series of the pivot chart, set the property `selectionMode` to **Point**.
     * * `showMultiLevelLabels`: Allows you to display the multi-level label feature in the pivot chart. This multi-level labels used to perform drill operation in the pivot chart.
     * * `subTitle`: Allows you to add the subtitle to the pivot chart.
     * * `subTitleStyle`: Allow options to customize the subtitle in the pivot chart with different properties such as fontStyle, font size, fontWeight, font color, testAlignment, fontFamily, opacity, textOverflow.
     * * `tabIndex`: Allows you to highlight specific legends by clicking the mouse or by interacting with the keyboard in the pivot chart.
     * * `theme`: Allows you to draw a pivot chart with either material, fabric, bootstrap, highcontrast light, material dark, fabric dark, highcontrast, bootstrap dark, bootstrap4 theme.
     * * `title`: Allows you to add title to the pivot chart.
     * * `titleStyle`: Allow options to customize the title in the pivot chart with different properties such as fontStyle, font size, fontWeight, font color, testAlignment, fontFamily, opacity, textOverflow.
     * * `tooltip`: Allow options to customize the tooltip of the pivot chart with different properties such as visibility of the tooltip, enableMarker, fill color, opacity, header for tooltip,
     * format, textStyle, template, border, enableAnimation.
     * * `useGroupingSeparator`: Allows the group separator to be shown to the values in the pivot chart.
     * * `value`: Allows you to draw a pivot chart with a specific value field during initial loading.
     * * `zoomSettings`: Allow options to customize the pivot chart zooming with different properties such as enablePinchZooming, enableSelectionZooming,
     * enableDeferredZooming, enableMouseWheelZooming, zoom modes, toolbarItems, enableScrollbar and enablePan.
     */
    chartSettings?: ChartSettingsModel;
    /**
     * Allows a set of options for customizing the grouping bar UI with a variety of settings such as UI visibility to a specific view port,
     * customizing the pivot button features such as filtering, sorting, changing aggregate types, removing any fields.
     * The options available to customize the grouping bar UI are:
     * * `showFilterIcon`: Allows you to show or hide the filter icon that used to be displayed on the pivot button of the grouping bar UI.
     * This filter icon is used to filter the members of a particular field at runtime in the pivot table.
     * * `showSortIcon`: Allows you to show or hide the sort icon that used to be displayed in the pivot button of the grouping bar UI.
     * This sort icon is used to order members of a particular fields either in ascending or descending at runtime.
     * * `showRemoveIcon`: Allows you to show or hide the base.remove icon that used to be displayed in the pivot button of the grouping bar UI.
     * This base.remove icon is used to base.remove any field during runtime.
     * * `showValueTypeIcon`: Allows you to show or hide the value type icon that used to be displayed in the pivot button of the grouping bar UI.
     * This value type icon helps to base.select the appropriate aggregation type to value fields at runtime.
     * * `displayMode`: Allow options to show the grouping bar UI to specific view port such as either pivot table or pivot chart or both table and chart.
     * For example, to show the grouping bar UI to pivot table on its own, set the property `displayMode` to **Table**.
     * * `allowDragAndDrop`: Allows you to restrict the pivot buttons that were used to drag on runtime in the grouping bar UI. This will prevent you from modifying the current report.
     */
    groupingBarSettings?: GroupingBarSettingsModel;
    /**
     * Allow a set of options to display a hyperlink to link data for individual cells that are shown in the pivot table.
     * These options allow you to enable a separate hyperlink for row headers, column headers, value cells, and summary cells in the `hyperlinkSettings` class.
     * The options available are:
     * * `showHyperlink`: Allows you to set the visibility of hyperlink in all cells.
     * * `showRowHeaderHyperlink`: Allows you to set the visibility of hyperlink in row headers.
     * * `showColumnHeaderHyperlink`: Allows you to set the visibility of hyperlink in column headers.
     * * `showValueCellHyperlink`: Allows you to set the visibility of hyperlink in value cells.
     * * `showSummaryCellHyperlink`: Allows you to set the visibility of hyperlink in summary cells.
     * * `headerText`: Allows you to set the visibility of hyperlink based on header text.
     * * `conditionalSettings`: Allows you to set the visibility of hyperlink based on specific condition.
     * * `cssClass`: Allows you to add CSS class name to the hyperlink options.
     *
     * > By default, the hyperlink options are disabled for all cells in the pivot table.
     */
    hyperlinkSettings?: HyperlinkSettingsModel;
    /**
     * Allows to set the page information to display the pivot table with specific page during paging and virtual scrolling.
     */
    pageSettings?: PageSettingsModel;
    /**
     * Allows a set of options for customizing the paging UI with a variety of settings such as UI position, template and visibility to a specific axis info such as page size, paging data.
     * > To use this option, it requires the property `enablePaging` to be true.
     */
    pagerSettings?: PagerSettingsModel;
    /**
     * Allows the following pivot report information such as rows, columns, values, filters, etc., that are used to render the pivot table and field list.
     * * `catalog`: Allows to set the database name of SSAS cube as string type that used to retrieve the data from the specified connection string. **Note: It is applicable only for OLAP data source.**
     * * `cube`: Allows you to set the SSAS cube name as string type that used to retrieve data for pivot table rendering. **Note: It is applicable only for OLAP data source.**
     * * `providerType`: Allows to set the provider type to identify the given connection is either Relational or SSAS to render the pivot table and field list.
     * * `url`: Allows to set the URL as string type, which helps to identify the service endpoint where the data are processed and retrieved to render the pivot table and field list. **Note: It is applicable only for OLAP data source.**
     * * `localeIdentifier`: Allows you to set the specific culture code as number type to render pivot table with desired localization.
     * By default, the pivot table displays with culture code **1033**, which indicates "en-US" locale. **Note: It is applicable only for OLAP data source.**
     * * `dataSource`: Allows you to set the data source as JSON collection to the pivot report either from local or from remote server to the render the pivot that and field list.
     * You can fetch JSON data from remote server by using data.DataManager. **Note: It is applicable only for relational data source.**
     * * `rows`: Allows specific fields associated with field information that needs to be displayed in row axis of pivot table.
     * * `columns`: Allows specific fields associated with field information that needs to be displayed in column axis of pivot table.
     * * `values`: Allows specific fields associated with field information that needs to be displayed as aggregated numeric values in pivot table.
     * * `filters`: Allows to filter the values in other axis based on the collection of filter fields in pivot table.
     * * `excludeFields`: Allows you to restrict the specific field(s) from displaying it in the field list UI.
     * You may also be unable to render the pivot table with this field(s) by doing so. **Note: It is applicable only for relational data source.**
     * * `expandAll`: Allows you to either expand or collapse all the headers that are displayed in the pivot table.
     * By default, all the headers are collapsed in the pivot table. **Note: It is applicable only for Relational data.**
     * * `valueAxis`: Allows you to set the value fields that to be plotted either in row or column axis in the pivot table.
     * * `filterSettings`: Allows specific fields associated with either selective or conditional-based filter members that used to be displayed in the pivot table.
     * * `sortSettings`: Allows specific fields associated with sort settings to order their members either in ascending or descending that used to be displayed in the pivot table.
     * By default, the data source containing fields are display with Ascending order alone. To use this option, it requires the `enableSorting` property to be **true**.
     * * `enableSorting`: Allows to perform sort operation to order members of a specific fields either in ascending or descending that used to be displayed in the pivot table.
     * * `formatSettings`: Allows specific fields used to display the values with specific format that used to be displayed in the pivot table.
     * For example, to display a specific field with currency formatted values in the pivot table, the set the `format` property to be **C**.
     * * `drilledMembers`: Allows specific fields used to display their the headers to be either expanded or collapsed in the pivot table.
     * * `valueSortSettings`: Allows to sort individual value field and its aggregated values either in row or column axis to ascending or descending order.
     * * `calculatedFieldSettings`: Allows to create new calculated fields from the bound data source or using simple formula with basic arithmetic operators in the pivot table.
     * * `allowMemberFilter`: Allows to perform filter operation based on the selective filter members of the specific fields used to be displayed in the pivot table.
     * * `allowLabelFilter`: Allows to perform filter operation based on the selective headers used to be displayed in the pivot table.
     * * `allowValueFilter`: Allows to perform filter operation based only on value fields and its resultant aggregated values over other fields defined in row and column axes that used to be displayed in the pivot table.
     * * `showSubTotals`: Allows to show or hide sub-totals in both rows and columns axis of the pivot table.
     * * `showRowSubTotals`: Allows to show or hide sub-totals in row axis of the pivot table.
     * * `showColumnSubTotals`: Allows to show or hide sub-totals in column axis of the pivot table.
     * * `showGrandTotals`: Allows to show or hide grand totals in both rows and columns axis of the pivot table.
     * * `showRowGrandTotals`: Allows to show or hide grand totals in row axis of the pivot table.
     * * `showColumnGrandTotals`: Allows to show or hide grand totals in column axis of the pivot table.
     * * `showHeaderWhenEmpty`: Allows the undefined headers to be displayed in the pivot table, when the specific field(s) are not defined in the raw data.
     * For example, if the raw data for the field ‘Country’ is defined as “United Kingdom” and “State” is not defined means, it will be shown as “United Kingdom >> Undefined” in the header section.
     * * `alwaysShowValueHeader`: Allows to show the value field header always in pivot table, even if it holds a single field in the value field axis.
     * * `conditionalFormatSettings`: Allows a collection of values fields to change the appearance of the pivot table value cells with different style properties such as background color, font color, font family, and font size based on specific conditions.
     * * `emptyCellsTextContent`: Allows to show custom string to the empty value cells that used to display in the pivot table. You can fill empty value cells with any value like “0”, ”-”, ”*”, “(blank)”, etc.
     * * `groupSettings`: Allows specific fields to group their data on the basis of their type.
     * For example, the date type fields can be formatted and displayed based on year, quarter, month, and more. Likewise, the number type fields can be grouped range-wise, such as 1-5, 6-10, etc.
     * You can perform custom group to the string type fields that used to displayed in the pivot table.
     * * `showAggregationOnValueField`: Allows the pivot button with specific value field caption along with the aggregation type, to be displayed in the grouping bar and field list UI.
     * For example, if the value field "Sold Amount" is aggregated with Sum, it will be displayed with caption "Sum of Sold Amount" in its pivot button.
     * * `authentication`: Allows you to set the credential information to access the specified SSAS cube. **Note: It is applicable only for OLAP data source**.
     */
    dataSourceSettings?: DataSourceSettingsModel;
    /**
     * Allow options for performing CRUD operations, such as add, edit, delete, and update the raw items of any cell from the pivot table.
     * The raw items can be viewed in a data grid that used to be displayed as a dialog by double-clicking the appropriate value cell in the pivot table.
     * CRUD operations can be performed in this data grid either by double-clicking the cells or using toolbar options.
     * The options available are as follows:
     * * `allowAdding`: Allows you to add a new record to the data grid used to update the appropriate cells in the pivot table.
     * * `allowEditing`: Allows you to edit the existing record in the data grid that used to update the appropriate cells in the pivot table.
     * * `allowDeleting`: Allows you to delete the existing record from the data grid that used to  update the appropriate cells in the pivot table.
     * * `allowCommandColumns`: Allows an additional column appended in the data grid layout holds the command buttons to perform the CRUD operations to edit,
     * delete, and update the raw items to the data grid that used to update the appropriate cells in the pivot table.
     * * `mode`: Allow options for performing CRUD operations with different modes in the data grid that used to update the appropriate cells in the pivot table.
     * The available modes are normal, batch and dialog. **Normal** mode is enabled for CRUD operations in the data grid by default.
     * * `allowEditOnDblClick`: Allows you to restrict CRUD operations by double-clicking the appropriate value cell in the pivot table.
     * * `showConfirmDialog`: Allows you to show the confirmation dialog to save and discard CRUD operations performed in the data grid that used to update the appropriate cells in the pivot table.
     * * `showDeleteConfirmDialog`: Allows you to show the confirmation dialog to delete any records from the data grid.
     * * `allowInlineEditing`: Allows direct editing of a value cell without opening the edit dialog. NOTE: It is applicable only if the value cell is made by a single raw data. Otherwise editing dialog will be shown.
     *
     * > This feature is applicable only for the relational data source.
     *
     * @default { allowAdding: false, allowEditing: false, allowDeleting: false, allowCommandColumns: false,
     * mode:'Normal', allowEditOnDblClick: true, showConfirmDialog: true, showDeleteConfirmDialog: false, allowInlineEditing: false }
     */
    editSettings?: CellEditSettingsModel;
    /**
     * Allow options to configure the view port as either pivot table or pivot chart or both table and chart. The options available are:
     * * `view`: Allows you to choose the view port as either pivot table or pivot chart or both table and chart.
     * * `primary`: Allows you to set the primary view to be either pivot table or pivot chart. To use this option, it requires the property `view` to be **Both**.
     */
    displayOption?: DisplayOptionModel;
    /**
     * Allow options for customizing the virtual scrolling experience in the pivot table.
     *  > This feature is applicable only for the relational data source.
     */
    virtualScrollSettings?: VirtualScrollSettingsModel;
    /**
     * It holds the collection of cell information that has been populated from the engine on the basis of the given pivot report to render the component as table and chart.
     */
    pivotValues?: IAxisSet[][];
    /**
     * Allows you to show the grouping bar UI in the pivot table that automatically populates fields from the bound report.
     * It also allows you to modify the report with a variety of actions using the pivot buttons to update the pivot table during runtime.
     * The following are:
     * * Re-arranging fields through drag-and-drop operation between row, column, value and filter axes.
     * * Remove fields from the existing report using base.remove icon.
     * * Filtering members of specific fields using filter icon.
     * * Sorting members of specific fields using sort icon.
     * * Editing the calculated fields using edit icon.
     * * Selecting required aggregate types to value field using dropdown icon.
     *
     * @default false
     */
    showGroupingBar?: boolean;
    /**
     * Allows you to display the tooltip to the value cells either by mouse hovering or by touch in the pivot table.
     * The information used to be displayed in the tooltip is:
     * * Row: Holds the row header information of a specific value cell.
     * * Column: Holds the column header information of a specific value cell.
     * * Value: Holds the value field caption along with its value of a specific value cell.
     *
     * @default true
     */
    showTooltip?: boolean;
    /**
     * Allows you to show the toolbar UI that holds built-in toolbar options to accessing frequently used features like
     * switching between pivot table and pivot chart, changing chart types, conditional formatting, number formatting, exporting, etc… with ease at runtime.
     *
     * @default false
     */
    showToolbar?: boolean;
    /**
     * Allows the built-in toolbar options that used to access features like switching between pivot table and pivot chart, changing chart types, conditional formatting, number formatting, exporting, etc… with ease at runtime.
     * The available toolbar options are:
     * * `New`: Allows to create a new report.
     * * `fileUtils.Save`: Allows to save the current report.
     * * `fileUtils.Save As`: Allows to perform save as the current report.
     * * `Rename`: Allows to rename the current report.
     * * `Remove`: Allows to delete the current report.
     * * `Load`: Allows to load any report from the report list.
     * * `grids.Grid`: Allows to show the pivot table.
     * * `charts.Chart`: Allows to show the pivot chart with specific type from the built-in list.
     * It also has the option to show the chart with multiple axes based on the value fields bound to the report.
     * You can do this by selecting the checkbox at the bottom of the list.
     * * `Exporting`: Allow set of options to export the pivot table as PDF/Excel/CSV and the pivot chart as PDF and image format such as PNG, JPEG, SVG.
     * * `Sub-total`: Allow set of options to show or hide the sub totals in the pivot table. The subtotals will not be displayed in the pivot chart by default.
     * * `Grand Total`: Allow set of options to show or hides the grand totals in the pivot table. By default, the grand totals will not be displayed in the pivot chart.
     * * `Conditional Formatting`: Allows to show the conditional formatting pop-up to apply formatting to the values.
     * * `Number Formatting`: Allows to show the number formatting pop-up to apply number formatting to the values.
     * * `Formatting`: Allow options to show the conditional formatting and the number formatting pop-up that used to apply formatting to the values in the component.
     * * `Field List`: Allows you to show the field list pop-up. It allows you to modify the report with a variety of actions such as re-arrange the fields between axes by drag-and-drop,
     * add new fields to report, base.remove any fields from report, filtering and sorting a specific field members, etc., that are used to update the pivot table during runtime.
     * * `MDX`: Allows ro show the MDX query that was run to retrieve data from the OLAP data source. **Note: It is applicable only for OLAP data source.**
     * > The toolbar option can be displayed based on the order you provided in the toolbar collection.
     *
     * @default null
     */
    toolbar?: ToolbarItems[] | navigations.ItemModel[];
    /**
     * Allows you to create a pivot button with "Values" as a caption used to display in the grouping bar and field list UI.
     * It helps you to plot the value fields to either column or row axis during runtime.
     * > The showValuesButton property is enabled by default for the OLAP data source.
     * And the pivot button can be displayed with "Measures" as a caption used to display in the grouping bar and field list UI.
     *
     * @default false
     */
    showValuesButton?: boolean;
    /**
     * Allows the built-in calculated field dialog to be displayed in the component.
     * You can view the calculated field dialog by clicking the "Calculated Field" button in the field list UI.
     * This dialog will helps you to create a new calculated field in the pivot table, based on available fields from the bound data source or using simple formula with basic arithmetic operators at runtime.
     *
     * @default false
     */
    allowCalculatedField?: boolean;
    /**
     * It enables the search option in the field list UI, which can be used to search specific fields at runtime.
     * > This option is only available when the pivot table's built-in popup field list is enabled using the `showFieldList` property.
     *
     * @default false
     */
    enableFieldSearching?: boolean;
    /**
     * Allows you to sort individual value field and its aggregated values either in row or column axis to ascending or descending order.
     * You can sort the values by clicking directly on the value field header positioned either in row or column axis of the pivot table.
     *
     * @default false
     */
    enableValueSorting?: boolean;
    /**
     * Allows you to change the appearance of the pivot table value cells with different style properties such as background color, font color, font family, and font size based on specific conditions.
     * You can apply the conditional formatting at runtime through the built-in dialog, invoked from the toolbar.
     * To do so, set `allowConditionalFormatting` and `showToolbar` properties to **true** to the component.
     * Also, include the toolbar option **ConditionalFormatting** in the `toolbar` property.
     * > You can also view the conditional formatting dialog by clicking an external button using the `showConditionalFormattingDialog` method.
     *
     * @default false
     */
    allowConditionalFormatting?: boolean;
    /**
     * Allows you to apply required number formatting to the pivot table values such as number, currency, percentage or other custom formats at runtime through a built-in dialog, invoked from the toolbar.
     * To do so, set allowNumberFormatting and showToolbar properties to true to the component.
     * Also, include the toolbar option NumberFormatting in the toolbar property.
     * > You can also view the number formatting dialog by clicking an external button using the `showNumberFormattingDialog` method.
     *
     * @default false
     */
    allowNumberFormatting?: boolean;
    /**
     * Allow the height of the pivot table to be set.
     *
     * @default 'auto'
     */
    height?: string | number;
    /**
     * Allow the width of the pivot table to be set.
     * > The pivot table will not display less than 400px, as it is the minimum width to the component.
     *
     * @default 'auto'
     */
    width?: string | number;
    /**
     * Allows the pivot table data to be exported as an Excel document. Export can be done in two different file formats such as  XLSX and CSV formats.
     * You can1 export pivot table using the build-in toolbar option. To do so, set `allowExcelExport` and `showToolbar` properties to true to the component.
     * Also, include the toolbar option **Exporting** in the `toolbar` property.
     * > You1 can also export the pivot table data by clicking an external button using the `excelExport` method. Use `csvExport` method to export the pivot table data to CSV format.
     *
     * @default false
     */
    allowExcelExport?: boolean;
    /**
     * Allows to load the large amounts of data without any performance degradation by rendering rows and columns only in the current content view port.
     * Rest of the aggregated data will be brought into view port dynamically based on vertical or horizontal scroll position.
     *
     * @default false
     */
    enableVirtualization?: boolean;
    /**
     * Allows large amounts of data to be displayed page-by-page.
     * It helps to display the rows and columns by configuring the page size and current page using `pageSettings` option in the pivot table.
     *
     * @default false
     */
    enablePaging?: boolean;
    /**
     * Allows to view the underlying raw data of a summarized cell in the pivot table.
     * By double-clicking on any value cell, you can view the detailed raw data in a data grid inside a new window.
     * In the new window, row header, column header and measure name of the clicked cell will be shown at the top.
     * You can also include or exclude fields available in the data grid using column chooser option.
     *
     * @default false
     */
    allowDrillThrough?: boolean;
    /**
     * Allows the pivot table data to be exported as an PDF document. You can export pivot table using the build-in toolbar option.
     * To do so, set `allowPdfExport` and `showToolbar` properties to true to the component.
     * Also, include the toolbar option **Exporting** in the `toolbar` property.
     * > You1 can also export the pivot table data by clicking an external button using the `pdfExport` method.
     *
     * @default false
     */
    allowPdfExport?: boolean;
    /**
     * Allows the pivot table component to be updated only on demand, meaning,
     * you can perform a variety of operations such as drag-and-drop fields between row, column, value and filter axes,
     * apply sorting and filtering inside the Field List, resulting the field list UI would be updated on its own, but not the pivot table.
     * On clicking the “Apply” button in the Field List, the pivot table will updates the last modified report.
     * This helps to improve the performance of the pivot table component rendering.
     *
     * @default false
     */
    allowDeferLayoutUpdate?: boolean;
    /**
     * Allows large amounts of data to be loaded without any degradation of performance by compressing raw data on the basis of its uniqueness.
     * These unique records will be provided as input to render the pivot table.
     *
     * For example, if the pivot table is connected to a million raw data with a combination of 1,000 unique data, it will be compressed to 1,000 unique data.
     * By doing so, the time taken to render the pivot table will be drastically reduced, i.e. the pivot table will takes a maximum of 3 seconds instead of 10 seconds to complete its rendering.
     * These compressed data will also be used for further operations at all times to reduce the looping complexity and improves pivot table's performance while updating during runtime.
     *
     * To use this option, it requires the property `enableVirtualization` to be **true**.
     * > This property is applicable only for relational data source.
     *
     * @default false
     */
    allowDataCompression?: boolean;
    /**
     * Allows you to set the limit for displaying members while loading large data in the member filter dialog.
     * Based on this limit, initial loading will be completed quickly without any performance constraint.
     * A message with remaining member count, that are not currently shown in the member filter dialog UI, will be displayed in the member editor.
     * > This property is not applicable to user-defined hierarchies in the OLAP data source.
     *
     * @default 1000
     */
    maxNodeLimitInMemberEditor?: number;
    /**
     * Allows you to set the maximum number of raw data that used to view it in a data grid inside a new window while performing drill through on summarized cells in the pivot table.
     * For example, if the value cell has a combination of more than 50,000 records, it allows only 10,000 records fetch from the cube and displayed in the data grid.
     * > This property is applicable only for the OLAP data source.
     *
     * @default 10000
     */
    maxRowsInDrillThrough?: number;
    /**
     * Allows to load members inside the member filter dialog on-demand.
     * The first level members will be loaded from the OLAP cube to display the member editor by default.
     * As a result, the member editor will be opened quickly, without any performance constraints.
     * You can use either of the following actions to load  your next level members. The actions are:
     * * By clicking on the respective member's expander button. By doing so, only the child members of the respective member will be loaded.
     * * Choose the level from the drop-down button. By doing so, all the members up to the level chosen will be loaded from the cube.
     *
     * Also, searching members will only be considered for the level members that are loaded.
     * > This property is applicable only for OLAP data source.
     *
     * @default true
     */
    loadOnDemandInMemberEditor?: boolean;
    /**
     * Allows to restrict the cross-site scripting while using cell template, meaning it will base.remove the unwanted scripts,styles or HTML in your cell template.
     * > In general, the cross-site scripting known as XSS is a type of computer security vulnerability typically found in web applications.
     * It attacks enable attackers to inject client-side scripts into web pages viewed by other users.
     *
     * @default false
     */
    enableHtmlSanitizer?: boolean;
    /**
     * Allows the table cell elements to be customized with either an HTML string or the element’s ID,
     * that can be used to add additional HTML elements with custom formats to the cell elements that are displayed in the pivot table.
     *
     * @default null
     * @aspType string
     */
    cellTemplate?: string | Function;
    /**
     * It allows to define the "ID" of div which is used as template in toolbar panel.
     *
     * @default null
     * @aspType string
     */
    toolbarTemplate?: string | Function;
    /**
     * Allows the tooltip element to be customized with either an HTML string or the element’s ID,
     * can be used to displayed with custom formats either by mouse hovering or by touch in the pivot table.
     *
     * @default null
     * @aspType string
     */
    tooltipTemplate?: string | Function;
    /**
     * Allows the appearance of the loading indicator to be customized with either an HTML string or the element’s ID,
     * that can be used to displayed with custom formats in the pivot table.
     *
     * @default null
     * @aspType string
     */
    spinnerTemplate?: string | Function;
    /**
     * Allows you to show the grouping UI in the pivot table that automatically groups date, time, number and string at runtime.
     * by right clicking on the pivot table’s row or column header, base.select **Group**. This will shows a dialog in which you can perform grouping with appropriate options to group the data.
     * To ungroup, right click on the pivot table’s row or column header, base.select **Ungroup**.
     * > This property is applicable only for relational data source.
     *
     * @default false
     */
    allowGrouping?: boolean;
    /**
     * Allows you1 to export the pivot table data of all pages, i.e. the data that holds all the records given to render the pivot table will be exported as either an Excel or a PDF document.
     *
     * To use this option, it requires the property `enableVirtualization` to be **true**.
     *
     * @default true
     */
    exportAllPages?: boolean;
    /**
     * Allows you to show a menu with built-in aggregate options displayed in the pivot button's dropdown icon of field list and groupingBar UI.
     * These aggregate options helps to display the values in the pivot table with appropriate aggregations such as sum, product, count, average, etc… easily at runtime.
     * The available aggregate options are:
     * * `Sum`: Allows to display the pivot table values with sum.
     * * `Product`: Allows to display the pivot table values with product.
     * * `Count`: Allows to display the pivot table values with count.
     * * `DistinctCount`: Allows to display the pivot table values with distinct count.
     * * `Min`: Allows to display the pivot table with minimum value.
     * * `Max`: Allows to display the pivot table with maximum value.
     * * `Avg`: Allows to display the pivot table values with average.
     * * `Median`: Allows to display the pivot table values with median.
     * * `Index`: Allows to display the pivot table values with index.
     * * `PopulationStDev`: Allows to display the pivot table values with population standard deviation.
     * * `SampleStDev`: Allows to display the pivot table values with sample standard deviation.
     * * `PopulationVar`: Allows to display the pivot table values with population variance.
     * * `SampleVar`: Allows to display the pivot table values with sample variance.
     * * `RunningTotals`: Allows to display the pivot table values with running totals.
     * * `DifferenceFrom`: Allows to display the pivot table values with difference from the value of the base item in the base field.
     * * `PercentageOfDifferenceFrom`: Allows to display the pivot table values with percentage difference from the value of the base item in the base field.
     * * `PercentageOfGrandTotal`: Allows to display the pivot table values with percentage of grand total of all values.
     * * `PercentageOfColumnTotal`: Allows to display the pivot table values in each column with percentage of total values for the column.
     * * `PercentageOfRowTotal`: Allows to display the pivot table values in each row with percentage of total values for the row.
     * * `PercentageOfParentTotal`: Allows to display the pivot table values with percentage of total of all values based on selected field.
     * * `PercentageOfParentColumnTotal`: Allows to display the pivot table values with percentage of its parent total in each column.
     * * `PercentageOfParentRowTotal`: Allows to display the pivot table values with percentage of its parent total in each row.
     *
     * > It is applicable only for Relational data.
     *
     * @default ['Sum', 'Count', 'DistinctCount', 'Product', 'Min', 'Max', 'Avg', 'Median', 'Index', 'PopulationVar', 'SampleVar',
     * 'PopulationStDev', 'SampleStDev', 'RunningTotals', 'PercentageOfGrandTotal', 'PercentageOfColumnTotal', 'PercentageOfRowTotal',
     * 'PercentageOfParentColumnTotal', 'PercentageOfParentRowTotal', 'DifferenceFrom', 'PercentageOfDifferenceFrom',
     * 'PercentageOfParentTotal']
     */
    aggregateTypes?: AggregateTypes[];
    /**
     * Allows you to display the pivot chart with specific chart types from built-in chart options, invoked from the toolbar.
     * The available chart types are:
     * * `Line`: Allows to display the pivot chart with line series.
     * * `Column`: Allows to display the pivot chart with column series.
     * * `Area`: Allows to display the pivot chart with area series.
     * * `Bar`: Allows to display the pivot chart with bar series.
     * * `StackingColumn`: Allows to display the pivot chart with stacked column series.
     * * `StackingArea`: Allows to display the pivot chart with stacked area series.
     * * `StackingBar`: Allows to display the pivot chart with stacked bar series.
     * * `StackingLine`: Allows to display the pivot chart with stacked line series.
     * * `StepLine`: Allows to display the pivot chart with step line series.
     * * `StepArea`: Allows to display the pivot chart with step area series.
     * * `SplineArea`: Allows to display the pivot chart with spline area series.
     * * `Scatter`: Allows to display the pivot chart with scatter series.
     * * `Spline`: Allows to display the pivot chart with spline series.
     * * `StackingColumn100`: Allows to display the pivot chart with 100% stacked column series.
     * * `StackingBar100`: Allows to display the pivot chart with 100% stacked bar series.
     * * `StackingArea100`: Allows to display the pivot chart with 100% stacked area series.
     * * `StackingLine100`: Allows to display the pivot chart with 100% stacked line series.
     * * `Bubble`: Allows to display the pivot chart with bubble series.
     * * `Pareto`: Allows to display the pivot chart with pareto series.
     * * `Polar`: Allows to display the pivot chart with polar series.
     * * `Radar`: Allows to display the pivot chart with radar series.
     * * `Pie`: Allows to display the pivot chart with pie series.
     * * `Doughnut`: Allows to display the pivot chart with doughnut series.
     * * `Funnel`: Allows to display the pivot chart with funnel series.
     * * `Pyramid`: Allows to display the pivot chart with pyramid series.
     *
     * To use this option, the `showToolbar` property must be **true** along with toolbar option **charts.Chart**
     * to be set to the `toolbar` property.
     *
     * @default ['Line', 'Column', 'Area', 'Bar', 'StackingColumn', 'StackingArea', 'StackingBar', 'StepLine', 'StepArea',
     * 'SplineArea','StackingLine', 'Scatter', 'Spline', 'StackingColumn100', 'StackingBar100', 'StackingArea100', 'StackingLine100', 'Bubble', 'Pareto', 'Polar',
     * 'Radar', 'Pie', 'Doughnut', 'Funnel', 'Pyramid' ]
     */
    chartTypes?: ChartSeriesType[];
    /**
     * Allows you to add the CSS class name to the pivot table element.
     * Use this class name, you can customize the pivot table and its inner elements easily at your end.
     *
     * @default ''
     */
    cssClass?: string;
    /**
     * @event queryCellInfo
     * @hidden
     */
    queryCellInfo?: base.EmitType<grids.QueryCellInfoEventArgs>;
    /**
     * @event headerCellInfo
     * @hidden
     */
    headerCellInfo?: base.EmitType<grids.HeaderCellInfoEventArgs>;
    /**
     * @event resizing
     * @hidden
     */
    resizing?: base.EmitType<grids.ResizeArgs>;
    /**
     * @event resizeStop
     * @hidden
     */
    resizeStop?: base.EmitType<grids.ResizeArgs>;
    /**
     * @event pdfHeaderQueryCellInfo
     * @hidden
     */
    pdfHeaderQueryCellInfo?: base.EmitType<grids.PdfHeaderQueryCellInfoEventArgs>;
    /**
     * @event pdfQueryCellInfo
     * @hidden
     */
    pdfQueryCellInfo?: base.EmitType<grids.PdfQueryCellInfoEventArgs>;
    /**
     * @event excelHeaderQueryCellInfo
     * @hidden
     */
    excelHeaderQueryCellInfo?: base.EmitType<grids.ExcelHeaderQueryCellInfoEventArgs>;
    /**
     * @event excelQueryCellInfo
     * @hidden
     */
    excelQueryCellInfo?: base.EmitType<grids.ExcelQueryCellInfoEventArgs>;
    /**
     * @event columnDragStart
     * @hidden
     */
    columnDragStart?: base.EmitType<grids.ColumnDragEventArgs>;
    /**
     * @event columnDrag
     * @hidden
     */
    columnDrag?: base.EmitType<grids.ColumnDragEventArgs>;
    /**
     * @event columnDrop
     * @hidden
     */
    columnDrop?: base.EmitType<grids.ColumnDragEventArgs>;
    /**
     * @event beforePdfExport
     * @hidden
     */
    beforePdfExport?: base.EmitType<Object>;
    /**
     * @event beforeExcelExport
     * @hidden
     */
    beforeExcelExport?: base.EmitType<Object>;
    /**
     * @event beforeColumnsRender
     * @hidden
     */
    beforeColumnsRender?: base.EmitType<ColumnRenderEventArgs>;
    /**
     * @event selected
     * @hidden
     */
    selected?: base.EmitType<grids.CellSelectEventArgs>;
    /**
     * @event selecting
     * @hidden
     */
    selecting?: base.EmitType<grids.CellSelectEventArgs>;
    /**
     * @event cellDeselected
     * @hidden
     */
    cellDeselected?: base.EmitType<grids.CellDeselectEventArgs>;
    /**
     * @event rowSelected
     * @hidden
     */
    rowSelected?: base.EmitType<grids.RowSelectEventArgs>;
    /**
     * @event rowDeselected
     * @hidden
     */
    rowDeselected?: base.EmitType<grids.RowDeselectEventArgs>;
    /**
     * @event chartTooltipRender
     * @hidden
     */
    chartTooltipRender?: base.EmitType<charts.ITooltipRenderEventArgs>;
    /**
     * @event chartLegendClick
     * @hidden
     */
    chartLegendClick?: base.EmitType<charts.ILegendClickEventArgs>;
    /**
     * @event beforePrint
     * @hidden
     */
    beforePrint?: base.EmitType<charts.IPrintEventArgs>;
    /**
     * @event animationComplete
     * @hidden
     */
    animationComplete?: base.EmitType<charts.IAnimationCompleteEventArgs>;
    /**
     * @event legendRender
     * @hidden
     */
    legendRender?: base.EmitType<charts.ILegendRenderEventArgs>;
    /**
     * @event textRender
     * @hidden
     */
    textRender?: base.EmitType<charts.ITextRenderEventArgs>;
    /**
     * @event pointRender
     * @hidden
     */
    pointRender?: base.EmitType<charts.IPointRenderEventArgs>;
    /**
     * @event seriesRender
     * @hidden
     */
    seriesRender?: base.EmitType<charts.ISeriesRenderEventArgs>;
    /**
     * @event chartMouseMove
     * @hidden
     */
    chartMouseMove?: base.EmitType<charts.IMouseEventArgs>;
    /**
     * @event chartMouseMove
     * @hidden
     */
    chartMouseClick?: base.EmitType<charts.IMouseEventArgs>;
    /**
     * @event pointMove
     * @hidden
     */
    pointMove?: base.EmitType<charts.IPointEventArgs>;
    /**
     * @event chartMouseLeave
     * @hidden
     */
    chartMouseLeave?: base.EmitType<charts.IMouseEventArgs>;
    /**
     * @event chartMouseDown
     * @hidden
     */
    chartMouseDown?: base.EmitType<charts.IMouseEventArgs>;
    /**
     * @event chartMouseUp
     * @hidden
     */
    chartMouseUp?: base.EmitType<charts.IMouseEventArgs>;
    /**
     * @event dragComplete
     * @hidden
     */
    dragComplete?: base.EmitType<charts.IDragCompleteEventArgs>;
    /**
     * @event zoomComplete
     * @hidden
     */
    zoomComplete?: base.EmitType<charts.IZoomCompleteEventArgs>;
    /**
     * @event scrollStart
     * @hidden
     */
    scrollStart?: base.EmitType<charts.IScrollEventArgs>;
    /**
     * @event scrollEnd
     * @hidden
     */
    scrollEnd?: base.EmitType<charts.IScrollEventArgs>;
    /**
     * @event scrollChanged
     * @hidden
     */
    scrollChanged?: base.EmitType<charts.IScrollEventArgs>;
    /**
     * @event multiLevelLabelRender
     * @hidden
     */
    multiLevelLabelRender?: base.EmitType<MultiLevelLabelRenderEventArgs>;
    /**
     * @event chartLoaded
     * @hidden
     */
    chartLoaded?: base.EmitType<charts.ILoadedEventArgs>;
    /**
     * @event chartLoad
     * @hidden */
    chartLoad?: base.EmitType<charts.ILoadedEventArgs>;
    /**
     * @event chartResized
     * @hidden
     */
    chartResized?: base.EmitType<charts.IResizeEventArgs>;
    /**
     * @event chartAxisLabelRender
     * @hidden
     * @deprecated
     */
    chartAxisLabelRender?: base.EmitType<charts.IAxisLabelRenderEventArgs>;
    /**
     * @event multiLevelLabelClick
     * @hidden
     * @deprecated
     */
    multiLevelLabelClick?: base.EmitType<MultiLevelLabelClickEventArgs>;
    /**
     * @event chartPointClick
     * @hidden
     */
    chartPointClick?: base.EmitType<charts.IPointEventArgs>;
    /**
     * @event contentMenuClick
     * @hidden
     * @deprecated
     */
    contextMenuClick?: base.EmitType<grids.ContextMenuClickEventArgs>;
    /**
     * @event contextMenuOpen
     * @hidden
     * @deprecated
     */
    contextMenuOpen?: base.EmitType<navigations.BeforeOpenCloseMenuEventArgs>;
    /**
     * It allows any customization of Pivot cell style while PDF exporting.
     *
     * @event onPdfCellRender
     */
    onPdfCellRender?: base.EmitType<PdfCellRenderArgs>;
    /**
     * It allows you to save the report to the specified storage.
     *
     * @event saveReport
     */
    saveReport?: base.EmitType<SaveReportArgs>;
    /**
     * It allows you to fetch the report names from specified storage.
     *
     * @event fetchReport
     */
    fetchReport?: base.EmitType<FetchReportArgs>;
    /**
     * It allows to load the report from specified storage.
     *
     * @event loadReport
     */
    loadReport?: base.EmitType<LoadReportArgs>;
    /**
     * It allows you to rename the current report.
     *
     * @event renameReport
     */
    renameReport?: base.EmitType<RenameReportArgs>;
    /**
     * It allows you to base.remove the current report from the specified storage.
     *
     * @event removeReport
     */
    removeReport?: base.EmitType<RemoveReportArgs>;
    /**
     * It allows to set the new report.
     *
     * @event newReport
     */
    newReport?: base.EmitType<NewReportArgs>;
    /**
     * It allows to change the toolbar items.
     *
     * @event toolbarRender
     */
    toolbarRender?: base.EmitType<ToolbarArgs>;
    /**
     * It allows to change the toolbar items.
     *
     * @event toolbarClick
     */
    toolbarClick?: base.EmitType<navigations.ClickEventArgs>;
    /**
     * It allows any customization on the pivot table component properties on initial rendering.
     * Based on the changes, pivot table will be rendered.
     *
     * @event load
     */
    load?: base.EmitType<LoadEventArgs>;
    /**
     * It triggers before the pivot engine starts to populate and allows to customize the pivot datasource settings.
     *
     * @event enginePopulating
     */
    enginePopulating?: base.EmitType<EnginePopulatingEventArgs>;
    /**
     * It triggers after the pivot engine populated and allows to customize the pivot datasource settings.
     *
     * @event enginePopulated
     */
    enginePopulated?: base.EmitType<EnginePopulatedEventArgs>;
    /**
     * It triggers after a field dropped into the axis.
     *
     * @event onFieldDropped
     */
    onFieldDropped?: base.EmitType<FieldDroppedEventArgs>;
    /**
     * It triggers before a field drops into any axis.
     *
     * @event fieldDrop
     */
    fieldDrop?: base.EmitType<FieldDropEventArgs>;
    /**
     * It triggers when a field drag (move) starts.
     *
     * @event fieldDragStart
     */
    fieldDragStart?: base.EmitType<FieldDragStartEventArgs>;
    /**
     * It triggers when the pivot table rendered.
     *
     * @event dataBound
     */
    dataBound?: base.EmitType<Object>;
    /**
     * It triggers when the pivot table component is created.
     *
     * @event created
     */
    created?: base.EmitType<Object>;
    /**
     * It triggers when pivot table component getting destroyed.
     *
     * @event destroyed
     */
    destroyed?: base.EmitType<Object>;
    /**
     * It allows to set properties for exporting.
     *
     * @event beforeExport
     */
    beforeExport?: base.EmitType<BeforeExportEventArgs>;
    /**
     * It triggers when exporting to PDF, Excel, or CSV is complete
     *
     * @event exportComplete
     */
    exportComplete?: base.EmitType<ExportCompleteEventArgs>
    /**
     * It allows to do changes before applying the conditional formatting.
     *
     * @event conditionalFormatting
     */
    conditionalFormatting?: base.EmitType<IConditionalFormatSettings>;
    /**
     * It triggers before the filtering applied.
     *
     * @event memberFiltering
     */
    memberFiltering?: base.EmitType<MemberFilteringEventArgs>;
    /**
     * It triggers when a cell is clicked in the pivot table.
     *
     * @event cellClick
     */
    cellClick?: base.EmitType<CellClickEventArgs>;
    /**
     * It triggers when a value cell is clicked in the pivot table for Drill-Through.
     *
     * @event drillThrough
     */
    drillThrough?: base.EmitType<DrillThroughEventArgs>;
    /**
     * It triggers when editing is made in the raw data of pivot table.
     *
     * @event editCompleted
     */
    editCompleted?: base.EmitType<EditCompletedEventArgs>;
    /**
     * It triggers when a value cell is clicked in the pivot table for Editing.
     *
     * @event beginDrillThrough
     */
    beginDrillThrough?: base.EmitType<BeginDrillThroughEventArgs>;
    /**
     * It triggers when a hyperlink cell is clicked in the pivot table.
     *
     * @event hyperlinkCellClick
     */
    hyperlinkCellClick?: base.EmitType<HyperCellClickEventArgs>;
    /**
     * It triggers before a cell selected in pivot table.
     *
     * @event cellSelecting
     */
    cellSelecting?: base.EmitType<PivotCellSelectedEventArgs>;
    /**
     * It triggers before the header to be either expanded or collapsed in the pivot table.
     *
     * @event drill
     */
    drill?: base.EmitType<DrillArgs>;
    /**
     * It triggers when a cell got selected in the pivot table.
     *
     * @event cellSelected
     */
    cellSelected?: base.EmitType<PivotCellSelectedEventArgs>;
    /**
     * It triggers when the pivot chart series are created.
     *
     * @event chartSeriesCreated
     */
    chartSeriesCreated?: base.EmitType<ChartSeriesCreatedEventArgs>;
    /**
     * It allows to change the each cell value during engine populating.
     *
     * @event aggregateCellInfo
     * @deprecated
     */
    aggregateCellInfo?: base.EmitType<AggregateEventArgs>;
    /**
     * It allows to identify whether the field list updated or not.
     *
     * @event fieldListRefreshed
     */
    fieldListRefreshed?: base.EmitType<FieldListRefreshedEventArgs>;
    /**
     * It triggers before member editor dialog opens.
     *
     * @event memberEditorOpen
     */
    memberEditorOpen?: base.EmitType<MemberEditorOpenEventArgs>;
    /**
     * It triggers before a calculated field created/edited during runtime.
     *
     * @event calculatedFieldCreate
     */
    calculatedFieldCreate?: base.EmitType<CalculatedFieldCreateEventArgs>;
    /**
     * It triggers before number format is applied to specific field during runtime.
     *
     * @event numberFormatting
     */
    numberFormatting?: base.EmitType<NumberFormattingEventArgs>;
    /**
     * It triggers before aggregate type context menu opens.
     *
     * @event aggregateMenuOpen
     */
    aggregateMenuOpen?: base.EmitType<AggregateMenuOpenEventArgs>;
    /**
     * It triggers before removing the field from any axis during runtime.
     *
     * @event fieldRemove
     */
    fieldRemove?: base.EmitType<FieldRemoveEventArgs>;
    /**
     * It triggers before service get invoked from client.
     *
     * @event beforeServiceInvoke
     */
    beforeServiceInvoke?: base.EmitType<BeforeServiceInvokeEventArgs>;
    /**
     * It triggers after the response is returned from the service.
     *
     * @event afterServiceInvoke
     */
    afterServiceInvoke?: base.EmitType<AfterServiceInvokeEventArgs>;
    /**
     * It triggers when UI action begins in the Pivot Table. The UI actions used to trigger this event such as
     * [`drill down/up`](../../pivotview/drill-down/#drill-down-and-drill-up),
     * [`value sorting`](../../pivotview/sorting/#value-sorting),
     * built-in [`toolbar`](../../pivotview/tool-bar/#built-in-toolbar-options) options,
     * [`grouping bar`](../../pivotview/grouping-bar/) and
     * [`field list`](../../pivotview/field-list/) buttons actions such as
     * [`sorting`](../../pivotview/sorting/), [`filtering`](../../pivotview/filtering/),
     * [`editing`](../../pivotview/calculated-field/#editing-through-the-field-list-and-the-groupingbar),
     * [`aggregate type`](../../pivotview/aggregation/#modifying-aggregation-type-for-value-fields-at-runtime) change and so on,
     * CRUD operation in [`editing`](../../pivotview/editing/).
     *
     * @event actionBegin
     */
    actionBegin?: base.EmitType<PivotActionBeginEventArgs>;
    /**
     * It triggers when UI action in the Pivot Table completed. The UI actions used to trigger this event such as
     * [`drill down/up`](../../pivotview/drill-down/#drill-down-and-drill-up),
     * [`value sorting`](../../pivotview/sorting/#value-sorting),
     * built-in [`toolbar`](../../pivotview/tool-bar/#built-in-toolbar-options) options,
     * [`grouping bar`](../../pivotview/grouping-bar/) and
     * [`field list`](../../pivotview/field-list/) buttons actions such as
     * [`sorting`](../../pivotview/sorting/), [`filtering`](../../pivotview/filtering/),
     * [`editing`](../../pivotview/calculated-field/#editing-through-the-field-list-and-the-groupingbar),
     * [`aggregate type`](../../pivotview/aggregation/#modifying-aggregation-type-for-value-fields-at-runtime) change and so on,
     * CRUD operation in [`editing`](../../pivotview/editing/).
     *
     * @event actionComplete
     */
    actionComplete?: base.EmitType<PivotActionCompleteEventArgs>;
    /**
     * It triggers when UI action failed to achieve the desired results in the Pivot Table. The UI actions used to trigger this event such as
     * [`drill down/up`](../../pivotview/drill-down/#drill-down-and-drill-up),
     * [`value sorting`](../../pivotview/sorting/#value-sorting),
     * built-in [`toolbar`](../../pivotview/tool-bar/#built-in-toolbar-options) options,
     * [`grouping bar`](../../pivotview/grouping-bar/) and
     * [`field list`](../../pivotview/field-list/) buttons actions such as
     * [`sorting`](../../pivotview/sorting/), [`filtering`](../../pivotview/filtering/),
     * [`editing`](../../pivotview/calculated-field/#editing-through-the-field-list-and-the-groupingbar),
     * [`aggregate type`](../../pivotview/aggregation/#modifying-aggregation-type-for-value-fields-at-runtime) change and so on,
     * CRUD operation in [`editing`](../../pivotview/editing/).
     *
     * @event actionFailure
     */
    actionFailure?: base.EmitType<PivotActionFailureEventArgs>;
    /**
     * It triggers before the sorting performed.
     *
     * @event onHeadersSort
     */
    onHeadersSort?: base.EmitType<HeadersSortEventArgs>;
}
//node_modules/@syncfusion/ej2-pivotview/src/pivotview/actions/virtualscroll.d.ts
/**
 * `VirtualScroll` module is used to handle scrolling behavior.
 */
export  class VirtualScroll {
    private parent;
    private previousValues;
    private frozenPreviousValues;
    private pageXY;
    private eventType;
    private engineModule;
    private isFireFox;
    /** @hidden */
    direction: string;
    private keyboardEvents;
    private isScrolling;
    private scrollingDirection;
    /**
     * Constructor for PivotView scrolling.
     *
     * @param {PivotView} parent - Instance of pivot table.
     * @hidden
     */
    constructor(parent?: PivotView);
    /**
     * It returns the Module name.
     *
     * @returns {string} - string.
     * @hidden
     */
    getModuleName(): string;
    private addInternalEvents;
    private wireEvents;
    private onWheelScroll;
    private getPointXY;
    private onCustomScrollbarScroll;
    private onTouchScroll;
    private update;
    private enginePopulatedEventMethod;
    private setPageXY;
    private common;
    /**
     * It performs while scrolling horizontal scroll bar
     *
     * @param {HTMLElement} mHdr - It contains the header details.
     * @param {HTMLElement} mCont - It contains the content details.
     * @returns {Function} - It returns the table details as Function.
     * @hidden
     */
    onHorizondalScroll(mHdr: HTMLElement, mCont: HTMLElement): Function;
    /**
     * It performs while scrolling horizontal scroll bar
     *
     * @param {number} horiOffset - It contains the horizondal offset translation value of freezed cells.
     * @param {boolean} isParentCells - It helps to identify the frozen cells of the parent element.
     * @returns {void}
     * @hidden
     */
    alignFreezedCells(horiOffset: number, isParentCells: boolean): void;
    private onVerticalScroll;
    /**
     * @hidden
     */
    removeInternalEvents(): void;
    /**
     * To destroy the virtualscrolling event listener
     *
     * @returns {void}
     * @hidden
     */
    destroy(): void;
    private setFrozenColumnPosition;
}
//node_modules/@syncfusion/ej2-pivotview/src/pivotview/actions/pdf-export.d.ts
/**
 * @hidden
 * `PDFExport` module is used to handle the PDF export action.
 */
export  class PDFExport {
    private parent;
    private gridStyle;
    private engine;
    private document;
    /** @hidden */
    exportProperties: BeforeExportEventArgs;
    private pdfExportHelper;
    /**
     * Constructor for the PivotGrid PDF Export module.
     *
     * @param {PivotView} parent - Instance of pivot table.
     * @hidden
     */
    constructor(parent?: PivotView);
    /**
     * For internal use only - Get the module name.
     *
     * @returns {string} - string.
     * @private
     */
    protected getModuleName(): string;
    private addPage;
    private getFontStyle;
    private getBorderStyle;
    private getStyle;
    private setRecordThemeStyle;
    /**
     * Method to perform pdf export.
     *
     * @param  {grids.PdfExportProperties} pdfExportProperties - Defines the export properties of the Grid.
     * @param  {boolean} isMultipleExport - Define to enable multiple export.
     * @param  {Object}1 pdfDoc - Defined the PDF document if multiple export is enabled.
     * @param  {boolean} isBlob - If 'isBlob' set to true, then it will be returned as blob data.
     * @returns {Promise<Object>}
     * @hidden
     */
    exportToPDF(pdfExportProperties?: grids.PdfExportProperties, isMultipleExport?: boolean, pdfDoc?: Object, isBlob?: boolean): Promise<Object>;
    private applyStyle;
    private getFontFamily;
    private getFont;
    private processCellStyle;
    private applyEvent;
    private updateOlapPageSettings;
    /**
     * To destroy the pdf export module.
     *
     * @returns {void}
     * @hidden
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-pivotview/src/pivotview/actions/pdf-export-helper.d.ts
/**
 * `PDFExportHelper` module is used to add header and footer in PDF document
 *
 * @hidden
 */
export  class PDFExportHelper {
    /**
     * Method to draw a header in a PDF document.
     *
     * @param  {grids.PdfExportProperties} pdfExportProperties - It contains the export properties for the table and chart.
     * @param  {pdfExport.PdfDocument} pdfDocument - It contains the current PDF document
     * @returns {void}
     * @hidden
     */
    drawHeader(pdfExportProperties: grids.PdfExportProperties, pdfDocument: pdfExport.PdfDocument): void;
    /**
     * Method to draw a footer in a PDF document.
     *
     * @param  {grids.PdfExportProperties} pdfExportProperties -It contains the export properties for table and chart
     * @param  {pdfExport.PdfDocument} pdfDocument - It contains the current PDF document
     * @returns {void}
     * @hidden
     */
    drawFooter(pdfExportProperties: grids.PdfExportProperties, pdfDocument: pdfExport.PdfDocument): void;
    private drawPageTemplate;
    private processContentValidation;
    private drawText;
    private drawPageNumber;
    private drawImage;
    private drawLine;
    private getFontFromContent;
    private getPenFromContent;
    private getBrushFromContent;
    private setContentFormat;
    private getPageNumberStyle;
    /**
     *
     * @param {PdfBorderStyle} dashType - It contains the PDF dash style
     * @returns {number} - It returns PDF dash style
     * @hidden
     */
    getDashStyle(dashType: PdfBorderStyle): number;
    /**
     *
     * @param {string} hexDec - It contains a hexadecimal code as string
     * @returns {number} - It returns RGB as number
     * @hidden
     */
    hexDecToRgb(hexDec: string): {
        r: number;
        g: number;
        b: number;
    };
}
//node_modules/@syncfusion/ej2-pivotview/src/pivotview/actions/pager.d.ts
/**
 * Module for Pager rendering
 */
/** @hidden */
export  class Pager {
    /** @hidden */
    pager: grids.Pager;
    /** @hidden */
    parent: PivotView;
    constructor(parent: PivotView);
    /**
     * It returns the Module name.
     *
     * @returns {string} - string
     * @hidden
     */
    getModuleName(): string;
    /**
     *
     * @hidden
     *
     */
    addEventListener(): void;
    /**
     *
     * @hidden
     */
    removeEventListener(): void;
    private createPager;
    private wireEvent;
    private unWireEvent;
    private columnPageChange;
    private rowPageChange;
    private columnPageSizeChange;
    private rowPageSizeChange;
    private updatePageSettings;
    private createPagerContainer;
    private createPagerItems;
    /**
     * To destroy the pager.
     *
     * @returns {void}
     * @hidden
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-pivotview/src/pivotview/actions/keyboard.d.ts
/**
 * PivotView Keyboard interaction
 */
/** @hidden */
export  class KeyboardInteraction {
    /** @hidden */
    event: base.KeyboardEventArgs;
    private parent;
    private keyConfigs;
    private pivotViewKeyboardModule;
    private timeOutObj;
    /**
     * Constructor.
     *
     * @param {PivotView} parent - Instance of pivot table.
     */
    constructor(parent: PivotView);
    private keyActionHandler;
    private getNextButton;
    private getPrevButton;
    private allpivotButtons;
    private processTab;
    private processShiftTab;
    private processEnter;
    private clearSelection;
    private processSelection;
    private getParentElement;
    private toggleFieldList;
    /**
     *
     * To destroy the keyboard module.
     *
     * @returns  {void}
     * @private
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-pivotview/src/pivotview/actions/excel-export.d.ts
/**
 * @hidden
 * `ExcelExport` module1 is used to handle the Excel export action.
 */
export  class ExcelExport {
    private parent;
    private engine;
    private rows;
    private actualrCnt;
    /**
     * Constructor for the PivotGrid Excel Export module.
     *
     * @param {PivotView} parent - Instance of pivot table.
     * @hidden
     */
    constructor(parent?: PivotView);
    /**
     * For internal use only - Get the module name.
     *
     * @returns {string} - string.
     * @private
     */
    protected getModuleName(): string;
    private addHeaderAndFooter;
    /**
     *
     * Method to perform excel export.
     *
     * @hidden
     */
    exportToExcel(type: string, exportProperties?: grids.ExcelExportProperties, isBlob?: boolean): void;
    private updateOlapPageSettings;
    /**
     * To destroy1 the excel export module
     *
     * @returns {void}
     * @hidden
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-pivotview/src/pivotview/actions/drill-through.d.ts
/**
 * `DrillThrough` module.
 */
export  class DrillThrough {
    private parent;
    /**
     * @hidden
     */
    drillThroughDialog: DrillThroughDialog;
    /**
     * Constructor.
     *
     * @param {PivotView} parent - Instance of pivot table.
     * @hidden
     */
    constructor(parent?: PivotView);
    /**
     * It returns the Module name.
     *
     * @returns {string} - string.
     * @hidden
     */
    getModuleName(): string;
    private addInternalEvents;
    private wireEvents;
    private unWireEvents;
    private mouseClickHandler;
    /** @hidden */
    executeDrillThrough(pivotValue: IAxisSet, rowIndex: number, colIndex: number, element?: Element): void;
    private frameData;
    /** @hidden */
    triggerDialog(valueCaption: string, aggType: string, rawData: IDataSet[], pivotValue: IAxisSet, element: Element): void;
    /**
     * To destroy the drillthrough module.
     *
     * @returns  {void}
     * @hidden
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-pivotview/src/pivotfieldlist/renderer.d.ts
/**
 * Models
 */
/** @hidden */
/** @hidden */
/** @hidden */
/** @hidden */
//node_modules/@syncfusion/ej2-pivotview/src/pivotfieldlist/base.d.ts
/**
 * Base export
 */
/** @hidden */
/** @hidden */
//node_modules/@syncfusion/ej2-pivotview/src/pivotfieldlist/renderer/tree-renderer.d.ts
/**
 * Module to render Field List
 */
/** @hidden */
export  class TreeViewRenderer implements IAction {
    /** @hidden */
    parent: PivotFieldList;
    /** @hidden */
    fieldTable: navigations.TreeView;
    private parentElement;
    private fieldDialog;
    private treeViewElement;
    private editorSearch;
    private selectedNodes;
    private fieldListSort;
    private fieldSearch;
    private nonSearchList;
    private isSearching;
    private parentIDs;
    private isSpaceKey;
    private olapFieldListData;
    /** Constructor for render module
     *
     * @param {PivotFieldList} parent - Instance of field list.
     */
    constructor(parent: PivotFieldList);
    /**
     * Initialize the field list tree rendering
     *
     * @param {number} axis - Axis position.
     * @returns {void}
     * @private
     */
    render(axis?: number): void;
    private updateSortElements;
    private renderTreeView;
    private updateNodeIcon;
    private updateTreeNode;
    private updateOlapTreeNode;
    private renderTreeDialog;
    private createTreeView;
    private textChange;
    private promptVisibility;
    private performeSearching;
    private getParentItems;
    private dragStart;
    private dragStop;
    private isNodeDropped;
    private getButton;
    private nodeChecked;
    private nodeStateChange;
    private updateReportSettings;
    private updateCheckState;
    private updateNodeStateChange;
    private updateSelectedNodes;
    private updateDataSource;
    private addNode;
    private refreshTreeView;
    private getUpdatedData;
    private getTreeData;
    private getOlapTreeData;
    private updateExpandedNodes;
    private updateSorting;
    private applySorting;
    private onFieldAdd;
    private closeTreeDialog;
    private keyPress;
    private wireFieldListEvent;
    private unWireFieldListEvent;
    /**
     * @hidden
     */
    addEventListener(): void;
    /**
     * @hidden
     */
    removeEventListener(): void;
    /**
     * To destroy the tree view event listener
     *
     * @returns {void}
     * @hidden
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-pivotview/src/pivotfieldlist/renderer/renderer.d.ts
/**
 * Module to render Pivot Table component
 */
/** @hidden */
export  class Render1 {
    /** @hidden */
    parent: PivotFieldList;
    /** Constructor for render module
     *
     * @param {PivotFieldList} parent - Instance of field list.
     */
    constructor(parent: PivotFieldList);
    /**
     * Initialize the pivot table rendering
     *
     * @returns {void}
     * @private
     */
    render(): void;
}
//node_modules/@syncfusion/ej2-pivotview/src/pivotfieldlist/renderer/dialog-renderer.d.ts
/**
 * Module to render Pivot Field List popups.Dialog
 */
/** @hidden */
export  class DialogRenderer {
    /** @hidden */
    parent: PivotFieldList;
    /** @hidden */
    parentElement: HTMLElement;
    /** @hidden */
    fieldListDialog: popups.Dialog;
    /** @hidden */
    deferUpdateCheckBox: buttons.CheckBox;
    /** @hidden */
    adaptiveElement: navigations.Tab;
    private deferUpdateApplyButton;
    private deferUpdateCancelButton;
    private lastTabIndex;
    /** Constructor for render module
     *
     * @param {PivotFieldList} parent - Instance of field list.
     */
    constructor(parent: PivotFieldList);
    /**
     * Initialize the field list layout rendering
     *
     * @returns {void}
     * @private
     */
    render(): void;
    private renderStaticLayout;
    private renderDeferUpdateButtons;
    private createDeferUpdateButtons;
    private onCheckChange;
    private applyButtonClick;
    private onCloseFieldList;
    private renderFieldListDialog;
    private dialogOpen;
    /**
     * Called internally if any of the field added to axis.
     *
     * @param {string[]} selectedNodes - selectedNodes
     * @returns {void}
     * @hidden
     */
    updateDataSource(selectedNodes: string[]): void;
    private onDeferUpdateClick;
    private renderAdaptiveLayout;
    private tabSelect;
    private createCalculatedButton;
    private createAddButton;
    private createAxisTable;
    private showCalculatedField;
    private showFieldListDialog;
    /**  @hidden */
    onShowFieldList(): void;
    private removeFieldListIcon;
    private keyPress;
    private wireDialogEvent;
    private unWireDialogEvent;
    /**
     * Destroys the Field Table component.
     *
     * @function destroy
     * @returns {void}
     * @hidden
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-pivotview/src/pivotfieldlist/renderer/axis-table-renderer.d.ts
/**
 * Module to render Axis Field Table
 */
/** @hidden */
export  class AxisTableRenderer {
    /** @hidden */
    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/axis-field-renderer.d.ts
/**
 * Module to render Axis Fields
 */
/** @hidden */
export  class AxisFieldRenderer {
    /** @hidden */
    parent: PivotFieldList;
    /** Constructor for render module */
    constructor(parent: PivotFieldList);
    /**
     * Initialize the pivot button rendering
     *
     * @returns {void}
     * @private
     */
    render(): void;
    private createPivotButtons;
}
//node_modules/@syncfusion/ej2-pivotview/src/pivotfieldlist/base/field-list.d.ts
/**
 * Represents the PivotFieldList component.
 * ```html
 * <div id="pivotfieldlist"></div>
 * <script>
 *  var pivotfieldlistObj = new PivotFieldList({ });
 *  pivotfieldlistObj.appendTo("#pivotfieldlist");
 * </script>
 * ```
 */
export  class PivotFieldList extends base.Component<HTMLElement> implements base.INotifyPropertyChanged {
    /** @hidden */
    globalize: base.Internationalization;
    /** @hidden */
    localeObj: base.L10n;
    /** @hidden */
    isAdaptive: boolean;
    /** @hidden */
    pivotFieldList: IFieldListOptions | IOlapFieldListOptions;
    /** @hidden */
    dataType: string;
    /** @hidden */
    engineModule: PivotEngine;
    /** @hidden */
    olapEngineModule: OlapEngine;
    /** @hidden */
    pageSettings: IPageSettings;
    /** @hidden */
    isDragging: boolean;
    /** @hidden */
    fieldListSpinnerElement: Element;
    /** @hidden */
    clonedDataSource: DataSourceSettingsModel;
    /** @hidden */
    clonedFieldList: IFieldListOptions | IOlapFieldListOptions;
    /** @hidden */
    clonedFieldListData: IOlapField[];
    /** @hidden */
    pivotChange: boolean;
    isRequiredUpdate: boolean;
    /** @hidden */
    clonedDataSet: IDataSet[] | string[][];
    /** @hidden */
    clonedReport: IDataOptions;
    /** @hidden */
    lastSortInfo: ISort;
    /** @hidden */
    lastFilterInfo: IFilter;
    /** @hidden */
    lastAggregationInfo: IFieldOptions;
    /** @hidden */
    lastCalcFieldInfo: ICalculatedFields;
    /** @hidden */
    isPopupView: boolean;
    /** @hidden */
    filterTargetID: HTMLElement;
    private defaultLocale;
    /** @hidden */
    pivotGridModule: PivotView;
    /** @hidden */
    renderModule: Render;
    /** @hidden */
    dialogRenderer: DialogRenderer;
    /** @hidden */
    treeViewModule: TreeViewRenderer;
    /** @hidden */
    axisTableModule: AxisTableRenderer;
    /** @hidden */
    pivotCommon: PivotCommon;
    /** @hidden */
    axisFieldModule: AxisFieldRenderer;
    /** @hidden */
    pivotButtonModule: PivotButton;
    /** @hidden */
    calculatedFieldModule: CalculatedField;
    /** @hidden */
    contextMenuModule: PivotContextMenu;
    /** @hidden */
    currentAction: string;
    /** @hidden */
    staticPivotGridModule: PivotView;
    /** @hidden */
    enableValueSorting: boolean;
    /** @hidden */
    guid: string;
    private request;
    private savedDataSourceSettings;
    private remoteData;
    /** @hidden */
    actionObj: PivotActionCompleteEventArgs;
    /** @hidden */
    destroyEngine: boolean;
    /** @hidden */
    defaultFieldListOrder: Sorting;
    /** @hidden */
    isDeferUpdateApplied: boolean;
    /** @hidden */
    isDeferLayoutUpdate: boolean;
    private isInitial;
    /**
     * Allows the following pivot report information such as rows, columns, values, filters, etc., that are used to render the pivot table and field list.
     * * `catalog`: Allows to set the database name of SSAS cube as string type that used to retrieve the data from the specified connection string. **Note: It is applicable only for OLAP data source.**
     * * `cube`: Allows you to set the SSAS cube name as string type that used to retrieve data for pivot table rendering. **Note: It is applicable only for OLAP data source.**
     * * `providerType`: Allows to set the provider type to identify the given connection is either Relational or SSAS to render the pivot table and field list. **Note: It is applicable only for OLAP data source.**
     * * `url`: Allows to set the URL as string type, which helps to identify the service endpoint where the data are processed and retrieved to render the pivot table and field list. **Note: It is applicable only for OLAP data source.**
     * * `localeIdentifier`: Allows you to set the specific culture code as number type to render pivot table with desired localization.
     * By default, the pivot table displays with culture code **1033**, which indicates "en-US" locale. **Note: It is applicable only for OLAP data source.**
     * * `dataSource`: Allows you to set the data source to the pivot report either as JSON data collection or from remote data server using DataManager to the render the pivot that and field list. **Note: It is applicable only for relational data source.**
     * * `rows`: Allows specific fields associated with field information that needs to be displayed in row axis of pivot table.
     * * `columns`: Allows specific fields associated with field information that needs to be displayed in column axis of pivot table.
     * * `values`: Allows specific fields associated with field information that needs to be displayed as aggregated numeric values in pivot table.
     * * `filters`: Allows to filter the values in other axis based on the collection of filter fields in pivot table.
     * * `excludeFields`: Allows you to restrict the specific field(s) from displaying it in the field list UI.
     * You may also be unable to render the pivot table with this field(s) by doing so. **Note: It is applicable only for relational data source.**
     * * `expandAll`: Allows you to either expand or collapse all the headers that are displayed in the pivot table.
     * By default, all the headers are collapsed in the pivot table. **Note: It is applicable only for Relational data.**
     * * `valueAxis`: Allows you to set the value fields that to be plotted either in row or column axis in the pivot table.
     * * `filterSettings`: Allows specific fields associated with either selective or conditional-based filter members that used to be displayed in the pivot table.
     * * `sortSettings`: Allows specific fields associated with sort settings to order their members either in ascending or descending that used to be displayed in the pivot table.
     * By default, the data source containing fields are display with Ascending order alone. To use this option, it requires the `enableSorting` property to be **true**.
     * * `enableSorting`: Allows to perform sort operation to order members of a specific fields either in ascending or descending that used to be displayed in the pivot table.
     * * `formatSettings`: Allows specific fields used to display the values with specific format that used to be displayed in the pivot table.
     * For example, to display a specific field with currency formatted values in the pivot table, the set the `format` property to be **C**.
     * * `drilledMembers`: Allows specific fields to with specify the headers that used to be either expanded or collapsed in the pivot table.
     * * `valueSortSettings`: Allows to sort individual value field and its aggregated values either in row or column axis to ascending or descending order.
     * * `calculatedFieldSettings`: Allows to create new calculated fields from the bound data source or using simple formula with basic arithmetic operators in the pivot table.
     * * `allowMemberFilter`: Allows to perform filter operation based on the selective filter members of the specific fields used to be displayed in the pivot table.
     * * `allowLabelFilter`: Allows to perform filter operation based on the selective headers used to be displayed in the pivot table.
     * * `allowValueFilter`: Allows to perform filter operation based only on value fields and its resultant aggregated values over other fields defined in row and column axes that used to be displayed in the pivot table.
     * * `showSubTotals`: Allows to show or hide sub-totals in both rows and columns axis of the pivot table.
     * * `showRowSubTotals`: Allows to show or hide sub-totals in row axis of the pivot table.
     * * `showColumnSubTotals`: Allows to show or hide sub-totals in column axis of the pivot table.
     * * `showGrandTotals`: Allows to show or hide grand totals in both rows and columns axis of the pivot table.
     * * `showRowGrandTotals`: Allows to show or hide grand totals in row axis of the pivot table.
     * * `showColumnGrandTotals`: Allows to show or hide grand totals in column axis of the pivot table.
     * * `showHeaderWhenEmpty`: Allows the undefined headers to be displayed in the pivot table, when the specific field(s) are not defined in the raw data.
     * For example, if the raw data for the field ‘Country’ is defined as “United Kingdom” and “State” is not defined means, it will be shown as “United Kingdom >> Undefined” in the header section.
     * * `alwaysShowValueHeader`: Allows to show the value field header always in pivot table, even if it holds a single field in the value field axis.
     * * `conditionalFormatSettings`: Allows a collection of values fields to change the appearance of the pivot table value cells with different style properties such as background color, font color, font family, and font size based on specific conditions.
     * * `emptyCellsTextContent`: Allows to show custom string to the empty value cells that used to display in the pivot table. You can fill empty value cells with any value like “0”, ”-”, ”*”, “(blank)”, etc.
     * * `groupSettings`: Allows specific fields to group their data on the basis of their type.
     * For example, the date type fields can be formatted and displayed based on year, quarter, month, and more. Likewise, the number type fields can be grouped range-wise, such as 1-5, 6-10, etc.
     * You can perform custom group to the string type fields that used to displayed in the pivot table.
     * * `authentication`: Allows you to set the credential information to access the specified SSAS cube. Note: It is applicable only for OLAP data source.
     */
    dataSourceSettings: DataSourceSettingsModel;
    /**
     * Allows to show field list either in static or popup mode. The available modes are:
     * * `Popup`: To display the field list icon in pivot table UI to invoke the built-in dialog.
     * It helps to display over the pivot table UI without affecting any form of UI shrink within a web page.
     * * `Fixed`: To display the field list in a static position within a web page.
     *
     * @default 'Popup'
     */
    renderMode: Mode;
    /**
     * Allows you to set the specific target element to the fieldlist dialog.
     * This helps the field list dialog to display the appropriate position on its target element.
     * > To use this option, set the property `renderMode` to be **Popup**.
     *
     * @default null
     */
    target: HTMLElement | string;
    /**
     * Allows you to add the CSS class name to the field list element.
     * Use this class name, you can customize the field list easily at your end.
     *
     * @default ''
     */
    cssClass: string;
    /**
     * Allows to restrict the cross-site scripting while using cell template, meaning it will remove the unwanted scripts,styles or HTML in your cell template.
     * > In general, the cross-site scripting known as XSS is a type of computer security vulnerability typically found in web applications.
     * It attacks enable attackers to inject client-side scripts into web pages viewed by other users.
     *
     * @default false
     */
    enableHtmlSanitizer: boolean;
    /**
     * Allows the built-in calculated field dialog to be displayed in the component.
     * You can view the calculated field dialog by clicking the "Calculated Field" button in the field list UI.
     * This dialog will helps you to create a new calculated field in the pivot table, based on available fields from the bound data source or using simple formula with basic arithmetic operators at runtime.
     *
     * @default false
     */
    allowCalculatedField: boolean;
    /**
     * It enables the search option in the field list UI, which can be used to search specific fields at runtime.
     *
     * @default false
     */
    enableFieldSearching: boolean;
    /**
     * Allows you to create a pivot button with "Values" as a caption used to display in the field list UI.
     * It helps you to plot the value fields to either column or row axis during runtime.
     * > The showValuesButton property is enabled by default for the OLAP data source.
     * And the pivot button can be displayed with "Measures" as a caption used to display in the field list UI.
     *
     * @default false
     */
    showValuesButton: boolean;
    /**
     * Allows the pivot table component to be updated only on demand, meaning,
     * you can perform a variety of operations such as drag-and-drop fields between row, column, value and filter axes,
     * apply sorting and filtering inside the Field List, resulting the field list UI would be updated on its own, but not the pivot table.
     * On clicking the “Apply” button in the Field List, the pivot table will updates the last modified report.
     * This helps to improve the performance of the pivot table component rendering.
     *
     * @default false
     */
    allowDeferLayoutUpdate: boolean;
    /**
     * Allows you to set the limit for displaying members while loading large data in the member filter dialog.
     * Based on this limit, initial loading will be completed quickly without any performance constraint.
     * A message with remaining member count, that are not currently shown in the member filter dialog UI, will be displayed in the member editor.
     * > This property is not applicable to user-defined hierarchies in the OLAP data source.
     *
     * @default 1000
     */
    maxNodeLimitInMemberEditor: number;
    /**
     * Allows to load members inside the member filter dialog on-demand.
     * The first level members will be loaded from the OLAP cube to display the member editor by default.
     * As a result, the member editor will be opened quickly, without any performance constraints.
     * You can use either of the following actions to load  your next level members. The actions are:
     * * By clicking on the respective member's expander button. By doing so, only the child members of the respective member will be loaded.
     * * Choose the level from the drop-down button. By doing so, all the members up to the level chosen will be loaded from the cube.
     * Also, searching members will only be considered for the level members that are loaded.
     * > This property is applicable only for OLAP data source.
     *
     * @default true
     */
    loadOnDemandInMemberEditor: boolean;
    /**
     * Allows the appearance of the loading indicator to be customized with either an HTML string or the element’s ID,
     * that can be used to displayed with custom formats in the field list UI.
     *
     * @default null
     * @aspType string
     */
    spinnerTemplate: string | Function;
    /**
     * Allows you to show a menu with built-in aggregate options displayed in the pivot button's dropdown icon of fieldList UI.
     * These aggregate options help to display the values in the pivot table with appropriate aggregations such as sum, product, count, average, etc… easily at runtime.
     * The available aggregate options are:
     * * `Sum`: Allows to display the pivot table values with sum.
     * * `Product`: Allows to display the pivot table values with product.
     * * `Count`: Allows to display the pivot table values with count.
     * * `DistinctCount`: Allows to display the pivot table values with distinct count.
     * * `Min`: Allows to display the pivot table with minimum value.
     * * `Max`: Allows to display the pivot table with maximum value.
     * * `Avg`: Allows to display the pivot table values with average.
     * * `Median`: Allows to display the pivot table values with median.
     * * `Index`: Allows to display the pivot table values with index.
     * * `PopulationStDev`: Allows to display the pivot table values with population standard deviation.
     * * `SampleStDev`: Allows to display the pivot table values with sample standard deviation.
     * * `PopulationVar`: Allows to display the pivot table values with population variance.
     * * `SampleVar`: Allows to display the pivot table values with sample variance.
     * * `RunningTotals`: Allows to display the pivot table values with running totals.
     * * `DifferenceFrom`: Allows to display the pivot table values with difference from the value of the base item in the base field.
     * * `PercentageOfDifferenceFrom`: Allows to display the pivot table values with percentage difference from the value of the base item in the base field.
     * * `PercentageOfGrandTotal`: Allows to display the pivot table values with percentage of grand total of all values.
     * * `PercentageOfColumnTotal`: Allows to display the pivot table values in each column with percentage of total values for the column.
     * * `PercentageOfRowTotal`: Allows to display the pivot table values in each row with percentage of total values for the row.
     * * `PercentageOfParentTotal`: Allows to display the pivot table values with percentage of total of all values based on selected field.
     * * `PercentageOfParentColumnTotal`: Allows to display the pivot table values with percentage of its parent total in each column.
     * * `PercentageOfParentRowTotal`: Allows to display the pivot table values with percentage of its parent total in each row.
     *
     * > It is applicable only for Relational data.
     *
     * @default ['Sum', 'Count', 'DistinctCount', 'Product', 'Min', 'Max', 'Avg', 'Median', 'Index', 'PopulationVar', 'SampleVar',
     * 'PopulationStDev', 'SampleStDev', 'RunningTotals', 'PercentageOfGrandTotal', 'PercentageOfColumnTotal', 'PercentageOfRowTotal',
     * 'PercentageOfParentColumnTotal', 'PercentageOfParentRowTotal', 'DifferenceFrom', 'PercentageOfDifferenceFrom',
     * 'PercentageOfParentTotal']
     */
    aggregateTypes: AggregateTypes[];
    /**
     * Allows values with a specific country currency format to be displayed in the pivot table.
     * Standard currency codes referred to as ISO 4217 can be used for the formatting of currency values.
     * For example, to display "US Dollar($)" currency values, set the `currencyCode` to **USD**.
     * > It is applicable ony for Relational data.
     *
     * @default 'USD'
     * @private
     */
    private currencyCode;
    /**
     * It allows any customization of Pivot Field List properties on initial rendering.
     * Based on the changes, the pivot field list will be rendered.
     *
     * @event load
     */
    load: base.EmitType<LoadEventArgs>;
    /**
     * It triggers before the pivot engine starts to populate and allows to customize the pivot datasource settings.
     *
     * @event enginePopulating
     */
    enginePopulating: base.EmitType<EnginePopulatingEventArgs>;
    /**
     * It triggers before the filtering applied.
     *
     * @event memberFiltering
     */
    memberFiltering: base.EmitType<MemberFilteringEventArgs>;
    /**
     * It triggers after the pivot engine populated and allows to customize the pivot datasource settings.
     *
     * @event enginePopulated
     */
    enginePopulated: base.EmitType<EnginePopulatedEventArgs>;
    /**
     * It trigger when a field getting dropped into any axis.
     *
     * @event onFieldDropped
     */
    onFieldDropped: base.EmitType<FieldDroppedEventArgs>;
    /**
     * It triggers before a field drops into any axis.
     *
     * @event fieldDrop
     */
    fieldDrop: base.EmitType<FieldDropEventArgs>;
    /**
     * It trigger when a field drag (move) starts.
     *
     * @event fieldDragStart
     */
    fieldDragStart: base.EmitType<FieldDragStartEventArgs>;
    /**
     * It allows to change the each cell value during engine populating.
     *
     * @event aggregateCellInfo
     * @deprecated
     */
    aggregateCellInfo: base.EmitType<AggregateEventArgs>;
    /**
     * It triggers before member editor dialog opens.
     *
     * @event memberEditorOpen
     */
    memberEditorOpen: base.EmitType<MemberEditorOpenEventArgs>;
    /**
     * It triggers before a calculated field created/edited during runtime.
     *
     * @event calculatedFieldCreate
     */
    calculatedFieldCreate: base.EmitType<CalculatedFieldCreateEventArgs>;
    /**
     * It triggers before aggregate type context menu opens.
     *
     * @event aggregateMenuOpen
     */
    aggregateMenuOpen: base.EmitType<AggregateMenuOpenEventArgs>;
    /**
     * It triggers before removing the field from any axis during runtime.
     *
     * @event fieldRemove
     */
    fieldRemove: base.EmitType<FieldRemoveEventArgs>;
    /**
     * It trigger when the Pivot Field List rendered.
     *
     * @event dataBound
     */
    dataBound: base.EmitType<Object>;
    /**
     * It trigger when the Pivot Field List component is created.
     *
     * @event created
     */
    created: base.EmitType<Object>;
    /**
     * It trigger when the Pivot Field List component getting destroyed.
     *
     * @event destroyed
     */
    destroyed: base.EmitType<Object>;
    /**
     * It triggers before service get invoked from client.
     *
     * @event beforeServiceInvoke
     */
    beforeServiceInvoke: base.EmitType<BeforeServiceInvokeEventArgs>;
    /**
     * It triggers after the response is returned from the service.
     *
     * @event afterServiceInvoke
     */
    afterServiceInvoke: base.EmitType<AfterServiceInvokeEventArgs>;
    /**
     * It triggers when UI action begins in the Pivot FieldList. The UI actions used to trigger this event such as
     * sorting fields through icon click in the field list tree,
     * [`Calculated field`](../../pivotview/field-list/#calculated-fields) UI,
     * Button actions such as
     * [`editing`](../../pivotview/calculated-field/#editing-through-the-field-list-and-the-groupingbar),
     * [`sorting`](../../pivotview/field-list/#sorting-members),
     * [`filtering`](../../pivotview/field-list/#filtering-members) and
     * [`aggregation`](pivotview/field-list/#changing-aggregation-type-of-value-fields-at-runtime).
     *
     * @event actionBegin
     */
    actionBegin: base.EmitType<PivotActionBeginEventArgs>;
    /**
     * It triggers when UI action in the Pivot FieldList completed. The UI actions used to trigger this event such as
     * sorting fields through icon click in the field list tree,
     * [`Calculated field`](../../pivotview/field-list/#calculated-fields) UI,
     * Button actions such as
     * [`editing`](../../pivotview/calculated-field/#editing-through-the-field-list-and-the-groupingbar),
     * [`sorting`](../../pivotview/field-list/#sorting-members),
     * [`filtering`](../../pivotview/field-list/#filtering-members) and
     * [`aggregation`](pivotview/field-list/#changing-aggregation-type-of-value-fields-at-runtime).
     *
     * @event actionComplete
     */
    actionComplete: base.EmitType<PivotActionCompleteEventArgs>;
    /**
     * It triggers when UI action failed to achieve the desired results in the Pivot FieldList. The UI actions used to trigger this event such as
     * sorting fields through icon click in the field list tree,
     * [`Calculated field`](../../pivotview/field-list/#calculated-fields) UI,
     * Button actions such as
     * [`editing`](../../pivotview/calculated-field/#editing-through-the-field-list-and-the-groupingbar),
     * [`sorting`](../../pivotview/field-list/#sorting-members),
     * [`filtering`](../../pivotview/field-list/#filtering-members) and
     * [`aggregation`](pivotview/field-list/#changing-aggregation-type-of-value-fields-at-runtime).
     *
     * @event actionFailure
     */
    actionFailure: base.EmitType<PivotActionFailureEventArgs>;
    /**
     * It triggers before the sorting performed.
     *
     * @event onHeadersSort
     */
    onHeadersSort: base.EmitType<HeadersSortEventArgs>;
    /**
     * Constructor for creating the widget
     *
     * @param  {PivotFieldListModel} options - options
     * @param  {string|HTMLElement} element - element
     */
    constructor(options?: PivotFieldListModel, element?: string | HTMLElement);
    /**
     * To provide the array of modules needed for control rendering
     *
     * @returns {base.ModuleDeclaration[]} - base.ModuleDeclaration[]
     * @hidden
     */
    requiredModules(): base.ModuleDeclaration[];
    /**
     * @returns {AggregateTypes[]}- AggregateTypes[]
     * @hidden
     */
    getAllSummaryType(): AggregateTypes[];
    /**
     * For internal use only - Initialize the event handler;
     *
     * @private
     */
    protected preRender(): void;
    /**
     * It performs to returnssorted headers.
     *
     * @param {IOlapField[]} fieldListData - It contains the olap field informations.
     * @param {fieldList} fieldList - It contains the olap field list informations.
     * @returns {ICustomProperties | IOlapCustomProperties} - It contains the internal properties that used for engine population.
     * @hidden
     */
    frameCustomProperties(fieldListData?: IOlapField[], fieldList?: IOlapFieldListOptions): ICustomProperties | IOlapCustomProperties;
    /**
     * Initialize the control rendering
     *
     * @returns {void}
     * @private
     */
    render(): void;
    /**
     *
     * @hidden
     *
     */
    getEngine(action: string, drillItem?: IDrilledItem, sortItem?: ISort, aggField?: IFieldOptions, cField?: ICalculatedFields, filterItem?: IFilter, memberName?: string, rawDataArgs?: FetchRawDataArgs, editArgs?: UpdateRawDataArgs): void;
    private onSuccess;
    private onReadyStateChange;
    private initialLoad;
    /**
     *
     * Binding events to the Pivot Field List element.
     *
     * @hidden
     */
    private wireEvent;
    /**
     *
     * Unbinding events from the element on widget destroy.
     *
     * @hidden
     */
    private unWireEvent;
    /**
     * Get the properties to be maintained in the persisted state.
     *
     * @returns {string}
     */
    getPersistData(): string;
    /**
     * Get component name.
     *
     * @returns string
     * @private
     */
    getModuleName(): string;
    /**
     * Called internally if any of the property value changed.
     *
     * @hidden
     */
    onPropertyChanged(newProp: PivotFieldListModel, oldProp: PivotFieldListModel): void;
    private initEngine;
    private generateData;
    private getValueCellInfo;
    /**
     *
     * @param {HeadersSortEventArgs} sortingObj - It contains the current sorting information.
     * @returns {void}
     * @hidden
     */
    getHeaderSortInfo(sortingObj: HeadersSortEventArgs): HeadersSortEventArgs;
    private getData;
    private executeQuery;
    private fieldListRender;
    private getFieldCaption;
    private getFields;
    /**
     * Updates the PivotEngine using dataSource from Pivot Field List component.
     *
     * @function updateDataSource
     * @returns {void}
     * @hidden
     */
    updateDataSource(isTreeViewRefresh?: boolean, isEngineRefresh?: boolean): void;
    private enginePopulatedEventMethod;
    private updateOlapDataSource;
    /**
     * Updates the Pivot Field List component using dataSource from PivotView component.
     *
     * @function update
     * @param {PivotView} control - Pass the instance of pivot table component.
     * @returns {void}
     */
    update(control: PivotView): void;
    /**
     * Updates the PivotView component using dataSource from Pivot Field List component.
     *
     * @function updateView
     * @param {PivotView} control - Pass the instance of pivot table component.
     * @returns {void}
     */
    updateView(control: PivotView): void;
    /**
     * Called internally to trigger populate event.
     *
     * @hidden
     */
    triggerPopulateEvent(): void;
    /** @hidden */
    actionBeginMethod(): boolean;
    /** @hidden */
    actionCompleteMethod(): void;
    /** @hidden */
    actionFailureMethod(error: Error): void;
    /** @hidden */
    getActionCompleteName(): string;
    /**
     * Destroys the Field Table component.
     *
     * @function destroy
     * @returns {void}
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-pivotview/src/pivotfieldlist/base/field-list-model.d.ts
/**
 * Interface for a class PivotFieldList
 */
export interface PivotFieldListModel extends base.ComponentModel{
    /**
     * Allows the following pivot report information such as rows, columns, values, filters, etc., that are used to render the pivot table and field list.
     * * `catalog`: Allows to set the database name of SSAS cube as string type that used to retrieve the data from the specified connection string. **Note: It is applicable only for OLAP data source.**
     * * `cube`: Allows you to set the SSAS cube name as string type that used to retrieve data for pivot table rendering. **Note: It is applicable only for OLAP data source.**
     * * `providerType`: Allows to set the provider type to identify the given connection is either Relational or SSAS to render the pivot table and field list. **Note: It is applicable only for OLAP data source.**
     * * `url`: Allows to set the URL as string type, which helps to identify the service endpoint where the data are processed and retrieved to render the pivot table and field list. **Note: It is applicable only for OLAP data source.**
     * * `localeIdentifier`: Allows you to set the specific culture code as number type to render pivot table with desired localization.
     * By default, the pivot table displays with culture code **1033**, which indicates "en-US" locale. **Note: It is applicable only for OLAP data source.**
     * * `dataSource`: Allows you to set the data source to the pivot report either as JSON data collection or from remote data server using data.DataManager to the render the pivot that and field list. **Note: It is applicable only for relational data source.**
     * * `rows`: Allows specific fields associated with field information that needs to be displayed in row axis of pivot table.
     * * `columns`: Allows specific fields associated with field information that needs to be displayed in column axis of pivot table.
     * * `values`: Allows specific fields associated with field information that needs to be displayed as aggregated numeric values in pivot table.
     * * `filters`: Allows to filter the values in other axis based on the collection of filter fields in pivot table.
     * * `excludeFields`: Allows you to restrict the specific field(s) from displaying it in the field list UI.
     * You may also be unable to render the pivot table with this field(s) by doing so. **Note: It is applicable only for relational data source.**
     * * `expandAll`: Allows you to either expand or collapse all the headers that are displayed in the pivot table.
     * By default, all the headers are collapsed in the pivot table. **Note: It is applicable only for Relational data.**
     * * `valueAxis`: Allows you to set the value fields that to be plotted either in row or column axis in the pivot table.
     * * `filterSettings`: Allows specific fields associated with either selective or conditional-based filter members that used to be displayed in the pivot table.
     * * `sortSettings`: Allows specific fields associated with sort settings to order their members either in ascending or descending that used to be displayed in the pivot table.
     * By default, the data source containing fields are display with Ascending order alone. To use this option, it requires the `enableSorting` property to be **true**.
     * * `enableSorting`: Allows to perform sort operation to order members of a specific fields either in ascending or descending that used to be displayed in the pivot table.
     * * `formatSettings`: Allows specific fields used to display the values with specific format that used to be displayed in the pivot table.
     * For example, to display a specific field with currency formatted values in the pivot table, the set the `format` property to be **C**.
     * * `drilledMembers`: Allows specific fields to with specify the headers that used to be either expanded or collapsed in the pivot table.
     * * `valueSortSettings`: Allows to sort individual value field and its aggregated values either in row or column axis to ascending or descending order.
     * * `calculatedFieldSettings`: Allows to create new calculated fields from the bound data source or using simple formula with basic arithmetic operators in the pivot table.
     * * `allowMemberFilter`: Allows to perform filter operation based on the selective filter members of the specific fields used to be displayed in the pivot table.
     * * `allowLabelFilter`: Allows to perform filter operation based on the selective headers used to be displayed in the pivot table.
     * * `allowValueFilter`: Allows to perform filter operation based only on value fields and its resultant aggregated values over other fields defined in row and column axes that used to be displayed in the pivot table.
     * * `showSubTotals`: Allows to show or hide sub-totals in both rows and columns axis of the pivot table.
     * * `showRowSubTotals`: Allows to show or hide sub-totals in row axis of the pivot table.
     * * `showColumnSubTotals`: Allows to show or hide sub-totals in column axis of the pivot table.
     * * `showGrandTotals`: Allows to show or hide grand totals in both rows and columns axis of the pivot table.
     * * `showRowGrandTotals`: Allows to show or hide grand totals in row axis of the pivot table.
     * * `showColumnGrandTotals`: Allows to show or hide grand totals in column axis of the pivot table.
     * * `showHeaderWhenEmpty`: Allows the undefined headers to be displayed in the pivot table, when the specific field(s) are not defined in the raw data.
     * For example, if the raw data for the field ‘Country’ is defined as “United Kingdom” and “State” is not defined means, it will be shown as “United Kingdom >> Undefined” in the header section.
     * * `alwaysShowValueHeader`: Allows to show the value field header always in pivot table, even if it holds a single field in the value field axis.
     * * `conditionalFormatSettings`: Allows a collection of values fields to change the appearance of the pivot table value cells with different style properties such as background color, font color, font family, and font size based on specific conditions.
     * * `emptyCellsTextContent`: Allows to show custom string to the empty value cells that used to display in the pivot table. You can fill empty value cells with any value like “0”, ”-”, ”*”, “(blank)”, etc.
     * * `groupSettings`: Allows specific fields to group their data on the basis of their type.
     * For example, the date type fields can be formatted and displayed based on year, quarter, month, and more. Likewise, the number type fields can be grouped range-wise, such as 1-5, 6-10, etc.
     * You can perform custom group to the string type fields that used to displayed in the pivot table.
     * * `authentication`: Allows you to set the credential information to access the specified SSAS cube. Note: It is applicable only for OLAP data source.
     */
    dataSourceSettings?: DataSourceSettingsModel;
    /**
     * Allows to show field list either in static or popup mode. The available modes are:
     * * `Popup`: To display the field list icon in pivot table UI to invoke the built-in dialog.
     * It helps to display over the pivot table UI without affecting any form of UI shrink within a web page.
     * * `Fixed`: To display the field list in a static position within a web page.
     *
     * @default 'Popup'
     */
    renderMode?: Mode;
    /**
     * Allows you to set the specific target element to the fieldlist dialog.
     * This helps the field list dialog to display the appropriate position on its target element.
     * > To use this option, set the property `renderMode` to be **Popup**.
     *
     * @default null
     */
    target?: HTMLElement | string;
    /**
     * Allows you to add the CSS class name to the field list element.
     * Use this class name, you can customize the field list easily at your end.
     *
     * @default ''
     */
    cssClass?: string;
    /**
     * Allows to restrict the cross-site scripting while using cell template, meaning it will base.remove the unwanted scripts,styles or HTML in your cell template.
     * > In general, the cross-site scripting known as XSS is a type of computer security vulnerability typically found in web applications.
     * It attacks enable attackers to inject client-side scripts into web pages viewed by other users.
     *
     * @default false
     */
    enableHtmlSanitizer?: boolean;
    /**
     * Allows the built-in calculated field dialog to be displayed in the component.
     * You can view the calculated field dialog by clicking the "Calculated Field" button in the field list UI.
     * This dialog will helps you to create a new calculated field in the pivot table, based on available fields from the bound data source or using simple formula with basic arithmetic operators at runtime.
     *
     * @default false
     */
    allowCalculatedField?: boolean;
    /**
     * It enables the search option in the field list UI, which can be used to search specific fields at runtime.
     *
     * @default false
     */
    enableFieldSearching?: boolean;
    /**
     * Allows you to create a pivot button with "Values" as a caption used to display in the field list UI.
     * It helps you to plot the value fields to either column or row axis during runtime.
     * > The showValuesButton property is enabled by default for the OLAP data source.
     * And the pivot button can be displayed with "Measures" as a caption used to display in the field list UI.
     *
     * @default false
     */
    showValuesButton?: boolean;
    /**
     * Allows the pivot table component to be updated only on demand, meaning,
     * you can perform a variety of operations such as drag-and-drop fields between row, column, value and filter axes,
     * apply sorting and filtering inside the Field List, resulting the field list UI would be updated on its own, but not the pivot table.
     * On clicking the “Apply” button in the Field List, the pivot table will updates the last modified report.
     * This helps to improve the performance of the pivot table component rendering.
     *
     * @default false
     */
    allowDeferLayoutUpdate?: boolean;
    /**
     * Allows you to set the limit for displaying members while loading large data in the member filter dialog.
     * Based on this limit, initial loading will be completed quickly without any performance constraint.
     * A message with remaining member count, that are not currently shown in the member filter dialog UI, will be displayed in the member editor.
     * > This property is not applicable to user-defined hierarchies in the OLAP data source.
     *
     * @default 1000
     */
    maxNodeLimitInMemberEditor?: number;
    /**
     * Allows to load members inside the member filter dialog on-demand.
     * The first level members will be loaded from the OLAP cube to display the member editor by default.
     * As a result, the member editor will be opened quickly, without any performance constraints.
     * You can use either of the following actions to load  your next level members. The actions are:
     * * By clicking on the respective member's expander button. By doing so, only the child members of the respective member will be loaded.
     * * Choose the level from the drop-down button. By doing so, all the members up to the level chosen will be loaded from the cube.
     * Also, searching members will only be considered for the level members that are loaded.
     * > This property is applicable only for OLAP data source.
     *
     * @default true
     */
    loadOnDemandInMemberEditor?: boolean;
    /**
     * Allows the appearance of the loading indicator to be customized with either an HTML string or the element’s ID,
     * that can be used to displayed with custom formats in the field list UI.
     *
     * @default null
     * @aspType string
     */
    spinnerTemplate?: string | Function;
    /**
     * Allows you to show a menu with built-in aggregate options displayed in the pivot button's dropdown icon of fieldList UI.
     * These aggregate options help to display the values in the pivot table with appropriate aggregations such as sum, product, count, average, etc… easily at runtime.
     * The available aggregate options are:
     * * `Sum`: Allows to display the pivot table values with sum.
     * * `Product`: Allows to display the pivot table values with product.
     * * `Count`: Allows to display the pivot table values with count.
     * * `DistinctCount`: Allows to display the pivot table values with distinct count.
     * * `Min`: Allows to display the pivot table with minimum value.
     * * `Max`: Allows to display the pivot table with maximum value.
     * * `Avg`: Allows to display the pivot table values with average.
     * * `Median`: Allows to display the pivot table values with median.
     * * `Index`: Allows to display the pivot table values with index.
     * * `PopulationStDev`: Allows to display the pivot table values with population standard deviation.
     * * `SampleStDev`: Allows to display the pivot table values with sample standard deviation.
     * * `PopulationVar`: Allows to display the pivot table values with population variance.
     * * `SampleVar`: Allows to display the pivot table values with sample variance.
     * * `RunningTotals`: Allows to display the pivot table values with running totals.
     * * `DifferenceFrom`: Allows to display the pivot table values with difference from the value of the base item in the base field.
     * * `PercentageOfDifferenceFrom`: Allows to display the pivot table values with percentage difference from the value of the base item in the base field.
     * * `PercentageOfGrandTotal`: Allows to display the pivot table values with percentage of grand total of all values.
     * * `PercentageOfColumnTotal`: Allows to display the pivot table values in each column with percentage of total values for the column.
     * * `PercentageOfRowTotal`: Allows to display the pivot table values in each row with percentage of total values for the row.
     * * `PercentageOfParentTotal`: Allows to display the pivot table values with percentage of total of all values based on selected field.
     * * `PercentageOfParentColumnTotal`: Allows to display the pivot table values with percentage of its parent total in each column.
     * * `PercentageOfParentRowTotal`: Allows to display the pivot table values with percentage of its parent total in each row.
     *
     * > It is applicable only for Relational data.
     *
     * @default ['Sum', 'Count', 'DistinctCount', 'Product', 'Min', 'Max', 'Avg', 'Median', 'Index', 'PopulationVar', 'SampleVar',
     * 'PopulationStDev', 'SampleStDev', 'RunningTotals', 'PercentageOfGrandTotal', 'PercentageOfColumnTotal', 'PercentageOfRowTotal',
     * 'PercentageOfParentColumnTotal', 'PercentageOfParentRowTotal', 'DifferenceFrom', 'PercentageOfDifferenceFrom',
     * 'PercentageOfParentTotal']
     */
    aggregateTypes?: AggregateTypes[];
    /**
     * Allows values with a specific country currency format to be displayed in the pivot table.
     * Standard currency codes referred to as ISO 4217 can be used for the formatting of currency values.
     * For example, to display "US Dollar($)" currency values, set the `currencyCode` to **USD**.
     * > It is applicable ony for Relational data.
     *
     * @default 'USD'
     * @private
     */
    currencyCode?: string;
    /**
     * It allows any customization of Pivot Field List properties on initial rendering.
     * Based on the changes, the pivot field list will be rendered.
     *
     * @event load
     */
    load?: base.EmitType<LoadEventArgs>;
    /**
     * It triggers before the pivot engine starts to populate and allows to customize the pivot datasource settings.
     *
     * @event enginePopulating
     */
    enginePopulating?: base.EmitType<EnginePopulatingEventArgs>;
    /**
     * It triggers before the filtering applied.
     *
     * @event memberFiltering
     */
    memberFiltering?: base.EmitType<MemberFilteringEventArgs>;
    /**
     * It triggers after the pivot engine populated and allows to customize the pivot datasource settings.
     *
     * @event enginePopulated
     */
    enginePopulated?: base.EmitType<EnginePopulatedEventArgs>;
    /**
     * It trigger when a field getting dropped into any axis.
     *
     * @event onFieldDropped
     */
    onFieldDropped?: base.EmitType<FieldDroppedEventArgs>;
    /**
     * It triggers before a field drops into any axis.
     *
     * @event fieldDrop
     */
    fieldDrop?: base.EmitType<FieldDropEventArgs>;
    /**
     * It trigger when a field drag (move) starts.
     *
     * @event fieldDragStart
     */
    fieldDragStart?: base.EmitType<FieldDragStartEventArgs>;
    /**
     * It allows to change the each cell value during engine populating.
     *
     * @event aggregateCellInfo
     * @deprecated
     */
    aggregateCellInfo?: base.EmitType<AggregateEventArgs>;
    /**
     * It triggers before member editor dialog opens.
     *
     * @event memberEditorOpen
     */
    memberEditorOpen?: base.EmitType<MemberEditorOpenEventArgs>;
    /**
     * It triggers before a calculated field created/edited during runtime.
     *
     * @event calculatedFieldCreate
     */
    calculatedFieldCreate?: base.EmitType<CalculatedFieldCreateEventArgs>;
    /**
     * It triggers before aggregate type context menu opens.
     *
     * @event aggregateMenuOpen
     */
    aggregateMenuOpen?: base.EmitType<AggregateMenuOpenEventArgs>;
    /**
     * It triggers before removing the field from any axis during runtime.
     *
     * @event fieldRemove
     */
    fieldRemove?: base.EmitType<FieldRemoveEventArgs>;
    /**
     * It trigger when the Pivot Field List rendered.
     *
     * @event dataBound
     */
    dataBound?: base.EmitType<Object>;
    /**
     * It trigger when the Pivot Field List component is created.
     *
     * @event created
     */
    created?: base.EmitType<Object>;
    /**
     * It trigger when the Pivot Field List component getting destroyed.
     *
     * @event destroyed
     */
    destroyed?: base.EmitType<Object>;
    /**
     * It triggers before service get invoked from client.
     *
     * @event beforeServiceInvoke
     */
    beforeServiceInvoke?: base.EmitType<BeforeServiceInvokeEventArgs>;
    /**
     * It triggers after the response is returned from the service.
     *
     * @event afterServiceInvoke
     */
    afterServiceInvoke?: base.EmitType<AfterServiceInvokeEventArgs>;
    /**
     * It triggers when UI action begins in the Pivot FieldList. The UI actions used to trigger this event such as
     * sorting fields through icon click in the field list tree,
     * [`Calculated field`](../../pivotview/field-list/#calculated-fields) UI,
     * Button actions such as
     * [`editing`](../../pivotview/calculated-field/#editing-through-the-field-list-and-the-groupingbar),
     * [`sorting`](../../pivotview/field-list/#sorting-members),
     * [`filtering`](../../pivotview/field-list/#filtering-members) and
     * [`aggregation`](pivotview/field-list/#changing-aggregation-type-of-value-fields-at-runtime).
     *
     * @event actionBegin
     */
    actionBegin?: base.EmitType<PivotActionBeginEventArgs>;
    /**
     * It triggers when UI action in the Pivot FieldList completed. The UI actions used to trigger this event such as
     * sorting fields through icon click in the field list tree,
     * [`Calculated field`](../../pivotview/field-list/#calculated-fields) UI,
     * Button actions such as
     * [`editing`](../../pivotview/calculated-field/#editing-through-the-field-list-and-the-groupingbar),
     * [`sorting`](../../pivotview/field-list/#sorting-members),
     * [`filtering`](../../pivotview/field-list/#filtering-members) and
     * [`aggregation`](pivotview/field-list/#changing-aggregation-type-of-value-fields-at-runtime).
     *
     * @event actionComplete
     */
    actionComplete?: base.EmitType<PivotActionCompleteEventArgs>;
    /**
     * It triggers when UI action failed to achieve the desired results in the Pivot FieldList. The UI actions used to trigger this event such as
     * sorting fields through icon click in the field list tree,
     * [`Calculated field`](../../pivotview/field-list/#calculated-fields) UI,
     * Button actions such as
     * [`editing`](../../pivotview/calculated-field/#editing-through-the-field-list-and-the-groupingbar),
     * [`sorting`](../../pivotview/field-list/#sorting-members),
     * [`filtering`](../../pivotview/field-list/#filtering-members) and
     * [`aggregation`](pivotview/field-list/#changing-aggregation-type-of-value-fields-at-runtime).
     *
     * @event actionFailure
     */
    actionFailure?: base.EmitType<PivotActionFailureEventArgs>;
    /**
     * It triggers before the sorting performed.
     *
     * @event onHeadersSort
     */
    onHeadersSort?: base.EmitType<HeadersSortEventArgs>;
}
//node_modules/@syncfusion/ej2-pivotview/src/pivotchart/base/pivotchart.d.ts
export  class PivotChart {
    private chartSeries;
    private dataSourceSettings;
    private accumulationMenu;
    private currentColumn;
    private pivotIndex;
    private chartSettings;
    private element;
    private templateFn;
    private chartElement;
    private measureList;
    private headerColl;
    private maxLevel;
    private columnGroupObject;
    private persistSettings;
    private selectedLegend;
    private chartSeriesInfo;
    private measurePos;
    private measuresNames;
    private accumulationType;
    private accEmptyPoint;
    private isChartInitial;
    /** @hidden */
    calculatedWidth: number;
    /** @hidden */
    currentMeasure: string;
    /** @hidden */
    engineModule: PivotEngine | OlapEngine;
    /** @hidden */
    parent: PivotView;
    /**
     * Constructor for pivot chart module.
     *
     *  @param {PivotView} parent - Instance of pivot table.
     */
    constructor(parent?: PivotView);
    /**
     * Get component name.
     *
     * @returns {string} - string
     * @private
     */
    getModuleName(): string;
    /**
     * Initialize the pivot chart rendering
     *
     * @param {PivotView} parent - Specifies the pivot table component instance.
     * @param {ChartSettingsModel} chartSettings - Specifies the chart settings.
     * @returns {void}
     * @private
     */
    loadChart(parent: PivotView, chartSettings: ChartSettingsModel): void;
    /**
     * Refreshing chart based on the updated chartSettings.
     *
     * @returns {void}
     * @hidden
     */
    refreshChart(): void;
    private frameObjectWithKeys;
    private frameChartSeries;
    private bindChart;
    private legendClick;
    private pointClick;
    private frameAxesWithRows;
    private getFormat;
    /** @hidden */
    getColumnTotalIndex(pivotValues: IAxisSet[][]): INumberIndex;
    private groupHierarchyWithLevels;
    private frameMultiLevelLabels;
    private getZoomFactor;
    /** @hidden */
    getCalulatedWidth(): number;
    private configTooltipSettings;
    private configLegendSettings;
    private configXAxis;
    private configZoomSettings;
    private tooltipRender;
    private tooltipTemplateFn;
    private loaded;
    /** @hidden */
    updateView(): void;
    private creatMenu;
    private drillMenuOpen;
    private getMenuItems;
    private drillMenuSelect;
    /**
     *
     * @returns {string} - string.
     * @hidden
     */
    getChartHeight(): string;
    private getChartAutoHeight;
    private axisLabelRender;
    private multiLevelLabelClick;
    /**
     * It helped to drills the row or columns.
     *
     * @param {charts.IMultiLevelLabelClickEventArgs} args - It contains the drillInfo.
     * @returns {void}
     * @hidden
     */
    onDrill(args: charts.IMultiLevelLabelClickEventArgs | {
        [key: string]: Object;
    }): void;
    private isAttributeDrill;
    private load;
    private beforePrint;
    private animationComplete;
    private legendRender;
    private textRender;
    private pointRender;
    private seriesRender;
    private chartMouseMove;
    private chartMouseClick;
    private pointMove;
    private chartMouseLeave;
    private chartMouseDown;
    private chartMouseUp;
    private dragComplete;
    private zoomComplete;
    private scrollStart;
    private scrollEnd;
    private scrollChanged;
    private multiLevelLabelRender;
    private resized;
    private isMemberDrilled;
    /** @hidden */
    getResizedChartHeight(): string;
    /**
     * To destroy the chart module
     *
     * @returns {void}
     * @hidden
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-pivotview/src/pivotchart/actions/chart-export.d.ts
/**
 * `ChartExport` module11 is used to handle the Pivot Chart PDF export action.
 *
 * @hidden
 */
export  class ChartExport {
    private parent;
    /** @hidden */
    exportProperties: BeforeExportEventArgs;
    private pdfExportHelper;
    /**
     * Constructor for chart and accumulation annotation
     *
     *  @param {PivotView} parent - Instance of pivot table.
     */
    constructor(parent?: PivotView);
    /**
     * For internal use only - Get the module name.
     *
     * @returns {string} - string.
     * @private
     */
    protected getModuleName(): string;
    /**
     * Method allow to export the pivot chart as PDF and image formats like PNG, JPEG, and SVG.
     *
     * @param {grids.PdfExportProperties} pdfExportProperties - Allows to define the export properties for the chart.
     * @param {boolean}1 isMultipleExport - Allows to export multiple tables and charts into a single PDF document.
     * @param {Object}11 pdfDoc - Allows the export of an external PDF document along with current PDF document.
     * @param {boolean} isBlob - Allows the PDF document to be saved as blob data.
     * @returns {Promise<Object>}
     * @hidden
     */
    pdfChartExport(pdfExportProperties?: grids.PdfExportProperties, pdfDoc?: Object, isMultipleExport?: boolean, isBlob?: boolean): Promise<Object>;
    private getChartInfo;
    private exportPdf;
    /**
     * To destroy11 the pdf export module.
     *
     * @returns {void}
     * @hidden
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-pivotview/src/model/datasourcesettings.d.ts
/**
 * Allows specific fields associated with field information that needs to be displayed in the field axes of pivot table. The following configurations which are applicable are as follows:
 * * `name`: Allows you to set the field name that needs to be displayed in row/column/value/filter axis of pivot table.
 * * `caption`: Allows you to set caption to the specific field. It will be used to display instead of its name in pivot table component's UI.
 * * `type`: Allows to display the values in the pivot table with appropriate aggregations such as sum, product, count, average, etc… **Note: It is applicable only for relational data source.**
 * * `axis`: Allows you to set the axis name to the specific field. This will help to display the field in specified axis such as row/column/value/filter axis of pivot table.
 * * `showNoDataItems`: Allows you to display all members items of a specific field to the pivot table,
 * even doesn't have any data in its row/column intersection in data source. **Note: It is applicable only for relational data source.**
 * * `baseField`: Allows you to set the selective field, which used to display the values with either
 *  DifferenceFrom or PercentageOfDifferenceFrom or PercentageOfParentTotal aggregate types. **Note: It is applicable only for relational data source.**
 * * `baseItem`: Allows you to set the selective item of a specific field, which used to display the values with either DifferenceFrom or PercentageOfDifferenceFrom aggregate types.
 * The selective item should be set the from field specified in the baseField property. **Note: It is applicable only for relational data source.**
 * * `showSubTotals`: Allows to show or hide sub-totals to a specific field in row/column axis of the pivot table.
 * * `isNamedSet`: Allows you to set whether the specified field is a named set or not. In general,
 * the named set is a set of dimension members or a set expression (MDX query) to be created as a dimension in the SSAS OLAP cube itself. **Note: It is applicable only for OLAP data source.**
 * * `isCalculatedField`: Allows to set whether the specified field is a calculated field or not.
 * In general, the calculated field is created from the bound data source or using simple formula with basic arithmetic operators in the pivot table. **Note: It is applicable only for OLAP data source.**
 * * `showFilterIcon`: Allows you to show or hide the filter icon of a specific field that used to be displayed on the pivot button of the grouping bar and field list UI.
 * This filter icon is used to filter the members of a specified field at runtime in the pivot table.
 * * `showSortIcon`: Allows you to show or hide the sort icon of a specific field that used to be displayed in the pivot button of the grouping bar and field list UI.
 * This sort icon is used to order members of a specified field either in ascending or descending at runtime.
 * * `showRemoveIcon`: Allows you to show or hide the remove icon of a specific field that used to be displayed in the pivot button of the grouping bar and field list UI.
 * This remove icon is used to remove the specified field during runtime.
 * * `showValueTypeIcon`: Allows you to show or hide the value type icon of a specific field that used to be displayed in the pivot button of the grouping bar and field list UI.
 * This value type icon helps to select the appropriate aggregation type to specified value field at runtime.
 * * `showEditIcon`: Allows you to show or hide the edit icon of a specific field that used to be displayed on the pivot button of the grouping bar and field list UI.
 * This edit icon is used to modify caption, formula, and format of a specified calculated field at runtime that to be displayed in the pivot table.
 * * `allowDragAndDrop`: Allows you to restrict the specific field's pivot button that is used to drag on runtime in the grouping bar and field list UI.
 * This will prevent you from modifying the current report.
 * * `expandAll`: Allows you to either expand or collapse all of the headers in the pivot table for a specific field.
 */
export  class FieldOptions extends base.ChildProperty<FieldOptions> implements IFieldOptions {
    /**
     * Allows you to set the field name that needs to be displayed in row/column/value/filter axis of pivot table.
     */
    name: string;
    /**
     * Allows you to set caption to the specific field. It will be used to display instead of its name in pivot table component's UI.
     */
    caption: string;
    /**
     * Allows to display the values in the pivot table with appropriate aggregations such as sum, product, count, average, etc… The available types are,
     * * `Sum`: Allows to display the pivot table values with sum.
     * * `Product`: Allows to display the pivot table values with product.
     * * `Count`: Allows to display the pivot table values with count.
     * * `DistinctCount`: Allows to display the pivot table values with distinct count.
     * * `Min`: Allows to display the pivot table with minimum value.
     * * `Max`: Allows to display the pivot table with maximum value.
     * * `Avg`: Allows to display the pivot table values with average.
     * * `Median`: Allows to display the pivot table values with median.
     * * `Index`: Allows to display the pivot table values with index.
     * * `PopulationStDev`: Allows to display the pivot table values with population standard deviation.
     * * `SampleStDev`: Allows to display the pivot table values with sample standard deviation.
     * * `PopulationVar`: Allows to display the pivot table values with population variance.
     * * `SampleVar`: Allows to display the pivot table values with sample variance.
     * * `RunningTotals`: Allows to display the pivot table values with running totals.
     * * `DifferenceFrom`: Allows to display the pivot table values with difference from the value of the base item in the base field.
     * * `PercentageOfDifferenceFrom`: Allows to display the pivot table values with percentage difference from the value of the base item in the base field.
     * * `PercentageOfGrandTotal`: Allows to display the pivot table values with percentage of grand total of all values.
     * * `PercentageOfColumnTotal`: Allows to display the pivot table values in each column with percentage of total values for the column.
     * * `PercentageOfRowTotal`: Allows to display the pivot table values in each row with percentage of total values for the row.
     * * `PercentageOfParentTotal`: Allows to display the pivot table values with percentage of total of all values based on selected field.
     * * `PercentageOfParentColumnTotal`: Allows to display the pivot table values with percentage of its parent total in each column.
     * * `PercentageOfParentRowTotal`: Allows to display the pivot table values with percentage of its parent total in each row.
     * * `CalculatedField`: Allows to display the pivot table with calculated field values. It allows user to create a new calculated field alone.
     *
     * > It is applicable only for relational data source.
     *
     * @default Sum
     */
    type: SummaryTypes;
    /**
     * Allows you to set the axis name to the specific field. This will help to display the field in specified axis such as row/column/value/filter axis of pivot table.
     */
    axis: string;
    /**
     * Allows you to display all members items of a specific field to the pivot table, even doesn't have any data in its row/column intersection in data source.
     * > It is applicable only for relational data source.
     *
     * @default false
     */
    showNoDataItems: boolean;
    /**
     * Allows you to set the selective field, which used to display the values with either DifferenceFrom or PercentageOfDifferenceFrom or PercentageOfParentTotal aggregate types.
     * > It is applicable only for relational data source.
     */
    baseField: string;
    /**
     * Allows you to set the selective item of a specific field, which used to display the values with either DifferenceFrom or PercentageOfDifferenceFrom aggregate types.
     * The selective item should be set the from field specified in the baseField property.
     * > It is applicable only for relational data source.
     */
    baseItem: string;
    /**
     * Allows to show or hide sub-totals to a specific field in row/column axis of the pivot table.
     *
     * @default true
     */
    showSubTotals: boolean;
    /**
     * Allows you to set whether the specified field is a named set or not.
     * In general, the named set is a set of dimension members or a set expression (MDX query) to be created as a dimension in the SSAS OLAP cube itself.
     * > It is applicable only for OLAP data source.
     *
     * @default false
     */
    isNamedSet: boolean;
    /**
     * Allows to set whether the specified field is a calculated field or not. In general, a calculated field is created from the bound data source or using simple formula with basic arithmetic operators in the pivot table.
     * > This option is applicable only for OLAP data source.
     *
     * @default false
     */
    isCalculatedField: boolean;
    /**
     * Allows you to show or hide the filter icon of a specific field that used to be displayed on the pivot button of the grouping bar and field list UI.
     * This filter icon is used to filter the members of a specified field at runtime in the pivot table.
     *
     * @default true
     */
    showFilterIcon: boolean;
    /**
     * Allows you to show or hide the sort icon of a specific field that used to be displayed in the pivot button of the grouping bar and field list UI.
     * This sort icon is used to order members of a specified field either in ascending or descending at runtime.
     *
     * @default true
     */
    showSortIcon: boolean;
    /**
     * Allows you to show or hide the remove icon of a specific field that used to be displayed in the pivot button of the grouping bar and field list UI.
     * This remove icon is used to remove the specified field during runtime.
     *
     * @default true
     */
    showRemoveIcon: boolean;
    /**
     * Allows you to show or hide the value type icon of a specific field that used to be displayed in the pivot button of the grouping bar and field list UI.
     * This value type icon helps to select the appropriate aggregation type to specified value field at runtime.
     *
     * @default true
     */
    showValueTypeIcon: boolean;
    /**
     * Allows you to show or hide the edit icon of a specific field that used to be displayed on the pivot button of the grouping bar and field list UI.
     * This edit icon is used to modify caption, formula, and format of a specified calculated field at runtime that to be displayed in the pivot table.
     *
     * @default true
     */
    showEditIcon: boolean;
    /**
     * Allows you to restrict the specific field's pivot button that is used to drag on runtime in the grouping bar and field list UI.
     * This will prevent you from modifying the current report.
     *
     * @default true
     */
    allowDragAndDrop: boolean;
    /**
     * Allows to specify the data type of specific field.
     */
    dataType: string;
    /**
     * Allows you to either expand or collapse all the headers that are displayed in the pivot table.
     * By default, all the headers are collapsed in the pivot table.
     * > It is applicable only for Relational data.
     *
     * @default false
     */
    expandAll: boolean;
    /**
     * Allows you to create group folder for fields in pivot field list.
     * Allows user to set the group (i.e., folder) name for selected fields that used to be displayed in the field list tree.
     * > It is applicable only for relational data source.
     */
    groupName: string;
}
/**
 * Allows specific fields associated with field information that needs to be displayed in the field axes of pivot table. The following configurations which are applicable are as follows:
 * * `name`: Allows you to set the field name that needs to be displayed in row/column/value/filter axis of pivot table.
 * * `caption`: Allows you to set caption to the specific field. It will be used to display instead of its name in pivot table component's UI.
 * * `type`: Allows to display the values in the pivot table with appropriate aggregations such as sum, product, count, average, etc… **Note: It is applicable only for relational data source.**
 * * `axis`: Allows you to set the axis name to the specific field. This will help to display the field in specified axis such as row/column/value/filter axis of pivot table.
 * * `showNoDataItems`: Allows you to display all members items of a specific field to the pivot table,
 * even doesn't have any data in its row/column intersection in data source. **Note: It is applicable only for relational data source.**
 * * `baseField`: Allows you to set the selective field, which used to display the values with either
 *  DifferenceFrom or PercentageOfDifferenceFrom or PercentageOfParentTotal aggregate types. **Note: It is applicable only for relational data source.**
 * * `baseItem`: Allows you to set the selective item of a specific field, which used to display the values with either DifferenceFrom or PercentageOfDifferenceFrom aggregate types.
 * The selective item should be set the from field specified in the baseField property. **Note: It is applicable only for relational data source.**
 * * `showSubTotals`: Allows to show or hide sub-totals to a specific field in row/column axis of the pivot table.
 * * `isNamedSet`: Allows you to set whether the specified field is a named set or not. In general,
 * the named set is a set of dimension members or a set expression (MDX query) to be created as a dimension in the SSAS OLAP cube itself. **Note: It is applicable only for OLAP data source.**
 * * `isCalculatedField`: Allows to set whether the specified field is a calculated field or not.
 * In general, the calculated field is created from the bound data source or using simple formula with basic arithmetic operators in the pivot table. **Note: It is applicable only for OLAP data source.**
 * * `showFilterIcon`: Allows you to show or hide the filter icon of a specific field that used to be displayed on the pivot button of the grouping bar and field list UI.
 * This filter icon is used to filter the members of a specified field at runtime in the pivot table.
 * * `showSortIcon`: Allows you to show or hide the sort icon of a specific field that used to be displayed in the pivot button of the grouping bar and field list UI.
 * This sort icon is used to order members of a specified field either in ascending or descending at runtime.
 * * `showRemoveIcon`: Allows you to show or hide the remove icon of a specific field that used to be displayed in the pivot button of the grouping bar and field list UI.
 * This remove icon is used to remove the specified field during runtime.
 * * `showValueTypeIcon`: Allows you to show or hide the value type icon of a specific field that used to be displayed in the pivot button of the grouping bar and field list UI.
 * This value type icon helps to select the appropriate aggregation type to specified value field at runtime.
 * * `showEditIcon`: Allows you to show or hide the edit icon of a specific field that used to be displayed on the pivot button of the grouping bar and field list UI.
 * This edit icon is used to modify caption, formula, and format of a specified calculated field at runtime that to be displayed in the pivot table.
 * * `allowDragAndDrop`: Allows you to restrict the specific field's pivot button that is used to drag on runtime in the grouping bar and field list UI.
 * This will prevent you from modifying the current report.
 * * `expandAll`: Allows you to expand or collapse all of the pivot table's headers for a specific field.
 */
export  class FieldListFieldOptions extends FieldOptions {
}
/**
 * Allows the style information to customize the pivot table cell appearance.
 */
export  class Style extends base.ChildProperty<Style> implements IStyle {
    /**
     * It allows to set the background color to the value cell in the pivot table.
     */
    backgroundColor: string;
    /**
     * It allows to set the font color to the value cell in the pivot table.
     */
    color: string;
    /**
     * It allows to set the font family to the value cell in the pivot table.
     */
    fontFamily: string;
    /**
     * It allows to set the font size to the value cell in the pivot table.
     */
    fontSize: string;
}
/**
 * Allows specific fields associated with either selective or conditional-based filter members that used to be displayed in the pivot table.
 */
export  class Filter extends base.ChildProperty<Filter> implements IFilter {
    /**
     * Allows you to set the field name that used to display the selective or conditional-based filter members that used to be displayed in the pivot table.
     */
    name: string;
    /**
     * Allows you to set the specific filter type to display the filter members in the pivot table. They are:
     * * Include - Specifies the filter type as include for member filter.
     * * Exclude - Specifies the filter type as exclude for member filter.
     * * Label - Specifies the filter type as label for header filter.
     * * Date - Specifies the filter type as date for date based filter.
     * * Number - Specifies the filter type as number for number based filter.
     * * Value - Specifies the filter type as value for value based filter.
     *
     * @default Include
     */
    type: FilterType;
    /**
     * Allows you to specify the field members that used to be displayed based on the filter type provided in the pivot table.
     */
    items: string[];
    /**
     * Allows you to choose the operator type such as equals, greater than, less than, etc. for conditional-based filtering.
     * > It is applicable only for label and value filtering.
     *
     * @default DoesNotEquals
     */
    condition: Operators;
    /**
     * Allows you to set the start value to display the filter items in the pivot table based on the condition applied.
     * > It is applicable only for label and value filtering.
     */
    value1: string | Date;
    /**
     * Allows you to set the end value to display the filter items in the pivot table based on the condition applied.
     * > This option will be used by default when the operator **Between** and **NotBetween** is chosen to apply. Also, it is applicable only for label and value filtering.
     */
    value2: string | Date;
    /**
     * Allows to set value field for evaluation using conditions and operands for filtering.
     * > It is applicable only for label and value filtering.
     */
    measure: string;
    /**
     * Allows to set level of the field to fetch data from the cube for filtering.
     * > This option is applicable only for user-defined hierarchies in OLAP data source.
     *
     * @default 1
     * @aspType int
     */
    levelCount: number;
    /**
     * Allows to set level name of a specified field, where the filtering settings to be applied.
     * > This option is applicable only for user-defined hierarchies in OLAP data source.
     */
    selectedField: string;
}
/**
 * Allows a collection of values fields to change the appearance of the pivot table value cells with different style properties such as background color, font color, font family, and font size based on specific conditions.
 */
export  class ConditionalFormatSettings extends base.ChildProperty<ConditionalFormatSettings> implements IConditionalFormatSettings {
    /**
     * Allows to set the value field name to apply conditional formatting.
     */
    measure: string;
    /**
     * Allows to set the header text of a specific row/column field to apply conditional formatting.
     */
    label: string;
    /**
     * Allows you to choose the operator type such as equals, greater than, less than, etc. for conditional formatting.
     */
    conditions: Condition;
    /**
     * Allows you to set the start value for applying conditional formatting.
     */
    value1: number;
    /**
     * Allows you to set the end value for applying conditional formatting.
     * > This option will be used by default when the operator **Between** and **NotBetween** is chosen to apply.
     */
    value2: number;
    /**
     * Allows to set the custom styles for the formatting applied values in the pivot table.
     */
    style: IStyle;
    /**
     * Allows to apply conditional formatting to the grand totals of row and column axis in the pivot table.
     *
     * @default true
     */
    applyGrandTotals: boolean;
}
/**
 * Allows specific fields associated with sort settings to order their members either in ascending or descending that used to be displayed in the pivot table.
 */
export  class Sort extends base.ChildProperty<Sort> implements ISort {
    /**
     * Allows to set the field name to order their members either in ascending or descending in the pivot table.
     */
    name: string;
    /**
     * Allows to apply sorting to the specified field either by ascending or descending or JSON order. The types are,
     * * `Ascending`: It allows to display the field members in ascending order.
     * * `Descending`: It allows to display the field members in descending order.
     * * `None`: It allows to display the field members based on JSON order.
     *
     * @default Ascending
     */
    order: Sorting;
    /**
     * Allows to specify the order in which the members should be sorted.
     *
     * @default []
     */
    membersOrder: string[] | number[];
}
/**
 * Allows specific fields used to display the values with specific format that used to be displayed in the pivot table.
 * For example, to display a specific field with currency formatted values in the pivot table, the set the `format` property to be **C**.
 */
export  class FormatSettings extends base.ChildProperty<FormatSettings> implements base.NumberFormatOptions, base.DateFormatOptions, IFormatSettings {
    /**
     * It allows to set the field name to apply format settings.
     */
    name: string;
    /**
     * It allows to specify minimum fraction digits to the formatted value.
     *
     * @aspType int
     */
    minimumFractionDigits: number;
    /**
     * It allows to specify maximum fraction digits to the  formatted value.
     *
     * @aspType int
     */
    maximumFractionDigits: number;
    /**
     * It allows to specify minimum significant digits to the formatted value.
     *
     * @aspType int
     */
    minimumSignificantDigits: number;
    /**
     * It allows to specify maximum significant digits to the formatted value.
     *
     * @aspType int
     */
    maximumSignificantDigits: number;
    /**
     * It allows to use grouping to the formatted value,
     *
     * @default true
     */
    useGrouping: boolean;
    /**
     * It allows to specify the skeleton such as full, medium, long, short, etc. to perform date formatting.
     * > It is applicable only for date type formatting.
     */
    skeleton: string;
    /**
     * It allows to specify the type of date formatting either date, dateTime or time.
     */
    type: string;
    /**
     * It allows to specify the currency code to be used for formatting.
     */
    currency: string;
    /**
     * It allows to specify minimum integer digits to the formatted value.
     *
     * @aspType int
     */
    minimumIntegerDigits: number;
    /**
     * It allows to specify custom number format for formatting.
     */
    format: string;
}
/**
 * Allows specific fields to group their data on the basis of their type.
 * For example, the date type fields can be formatted and displayed based on year, quarter, month, and more. Likewise, the number type fields can be grouped range-wise, such as 1-5, 6-10, etc.
 * You can perform custom group to the string type fields that used to displayed in the pivot table.
 */
export  class GroupSettings extends base.ChildProperty<GroupSettings> implements IGroupSettings {
    /**
     * It allows to set the specific field name to apply group settings.
     */
    name: string;
    /**
     * It allows to specify the date group intervals such as years or quarter or months or days or hours or minutes or seconds to group fields based on that in the pivot table. They options are:
     * * Years - Defines group field as 'Years' for date type field.
     * * Quarters - Defines group field as 'Quarters' for date type field.
     * * QuarterYear - Defines group field as 'Quarter Year' for date type field.
     * * Months - Defines group field as 'Months' for date type field.
     * * Days - Defines group field as 'Days' for date type field.
     * * Hours - Defines group field as 'Hours' for date type field.
     * * Minutes - Defines group field as 'Minutes' for date type field.
     * * Seconds - Defines group field as 'Seconds' for date type field.
     *
     * > It is applicable only for date type grouping.
     */
    groupInterval: DateGroup[];
    /**
     * It allows to set the start value/date to group fields from the specified range that to be displayed in the pivot table.
     */
    startingAt: string | Date | number;
    /**
     * It allows to set the start value/date to group fields to the specified range that to be displayed in the pivot table.
     */
    endingAt: string | Date | number;
    /**
     * It allows to set the type as date or number or custom to the specified field for apply grouping. The types are:
     * * Date - Defines group type as 'Date' for date type field
     * * Number - Defines group type as 'Number' for numeric type field.
     * * Custom - Defines group type as 'Custom' for custom group field.
     *
     * @default Date
     */
    type: GroupType;
    /**
     * It allows to set the interval range to group field based on the specified range.
     * > It is applicable only of number type grouping.
     */
    rangeInterval: number;
    /**
     * It allows to set the caption to custom field that will be used to created from custom group fields in the pivot table.
     * > It is applicable only for custom grouping.
     */
    caption: string;
    /**
     * It allows to set the custom group information to create custom group fields.
     * > It is applicable only for custom grouping.
     *
     * @default []
     */
    customGroups: ICustomGroups[];
}
/**
 * Allows to specify the custom group information of specific field to create custom groups.
 */
export  class CustomGroups extends base.ChildProperty<CustomGroups> implements ICustomGroups {
    /**
     * Allows user to set the group name (or title) for selected headers for custom grouping.
     */
    groupName: string;
    /**
     * It allows to set the headers which needs to be grouped from display.
     *
     * @default []
     */
    items: string[];
}
/**
 * Allows options to create new calculated fields from the bound data source or using simple formula with basic arithmetic operators in the pivot table.
 */
export  class CalculatedFieldSettings extends base.ChildProperty<CalculatedFieldSettings> implements ICalculatedFieldSettings {
    /**
     * It allows to set the field name that used to create as a calculated field.
     */
    name: string;
    /**
     * It allows to set the formula/expression to the specified calculated field.
     */
    formula: string;
    /**
     * It allows to set hierarchy unique name, that used to create calculated member.
     * > It is applicable only for OLAP data source.
     */
    hierarchyUniqueName: string;
    /**
     * It allows to set format string that used to create calculated member with specified formatted values that to be displayed in the pivot table.
     * > It is applicable only for OLAP data source.
     */
    formatString: string;
}
/**
 * Allows specific fields used to display their the headers to be either expanded or collapsed in the pivot table.
 */
export  class DrillOptions extends base.ChildProperty<DrillOptions> implements IDrillOptions {
    /**
     * It allows to set the field name whose members to be either expanded or collapsed in the pivot table.
     */
    name: string;
    /**
     * It allows to set the members to be either expanded or collapsed in the pivot table.
     */
    items: string[];
    /**
     * It allows to set the delimiter, which is used a separator to split the given members.
     */
    delimiter: string;
}
/**
 * Allows to sort individual value field and its aggregated values either in row or column axis to ascending or descending order.
 */
export  class ValueSortSettings extends base.ChildProperty<ValueSortSettings> implements IValueSortSettings {
    /**
     * It allows to set the member name of a specific field for value sorting.
     */
    headerText: string;
    /**
     * It allows to set the delimiter, which is used a separator to split the given header text.
     *
     * @default '.'
     */
    headerDelimiter: string;
    /**
     * Allows to apply sorting to the specified field either by ascending or descending. The types are,
     * * `Ascending`: It allows to display the field members in ascending order.
     * * `Descending`: It allows to display the field members in descending order.
     *
     * @default None
     */
    sortOrder: Sorting;
    /** @hidden */
    columnIndex: number;
    /**
     * It allows to set the measure name to achieve value sorting based on this.
     * > It is applicable only for OLAP data source.
     */
    measure: string;
}
/**
 * Allows you to set the credential information to access the specified SSAS cube.
 * > It is applicable only for OLAP data source.
 */
export  class Authentication extends base.ChildProperty<Authentication> implements IAuthenticationInfo {
    /**
     * It allows to set the user name to access the specified SSAS cube.
     */
    userName: string;
    /**
     * It allows to set the password to access the specified SSAS cube.
     */
    password: string;
}
/**
 * Allows the following pivot report information such as rows, columns, values, filters, etc., that are used to render the pivot table and field list.
 * * `catalog`: Allows to set the database name of SSAS cube as string type that used to retrieve the data from the specified connection string. **Note: It is applicable only for OLAP data source.**
 * * `cube`: Allows you to set the SSAS cube name as string type that used to retrieve data for pivot table rendering. **Note: It is applicable only for OLAP data source.**
 * * `providerType`: Allows to set the provider type to identify the given connection is either Relational or SSAS to render the pivot table and field list.
 * * `url`: Allows to set the URL as string type, which helps to identify the service endpoint where the data are processed and retrieved to render the pivot table and field list. **Note: It is applicable only for OLAP data source.**
 * * `localeIdentifier`: Allows you to set the specific culture code as number type to render pivot table with desired localization.
 * By default, the pivot table displays with culture code **1033**, which indicates "en-US" locale. **Note: It is applicable only for OLAP data source.**
 * * `dataSource`: Allows you to set the data source as JSON collection to the pivot report either from local or from remote server to the render the pivot that and field list.
 * You can fetch JSON data from remote server by using data.DataManager. **Note: It is applicable only for relational data source.**
 * * `rows`: Allows specific fields associated with field information that needs to be displayed in row axis of pivot table.
 * * `columns`: Allows specific fields associated with field information that needs to be displayed in column axis of pivot table.
 * * `values`: Allows specific fields associated with field information that needs to be displayed as aggregated numeric values in pivot table.
 * * `filters`: Allows to filter the values in other axis based on the collection of filter fields in pivot table.
 * * `excludeFields`: Allows you to restrict the specific field(s) from displaying it in the field list UI.
 * You may also be unable to render the pivot table with this field(s) by doing so. **Note: It is applicable only for relational data source.**
 * * `expandAll`: Allows you to either expand or collapse all the headers that are displayed in the pivot table.
 * By default, all the headers are collapsed in the pivot table. **Note: It is applicable only for Relational data.**
 * * `valueAxis`: Allows you to set the value fields that to be plotted either in row or column axis in the pivot table.
 * * `filterSettings`: Allows specific fields associated with either selective or conditional-based filter members that used to be displayed in the pivot table.
 * * `sortSettings`: Allows specific fields associated with sort settings to order their members either in ascending or descending that used to be displayed in the pivot table.
 * By default, the data source containing fields are display with Ascending order alone. To use this option, it requires the `enableSorting` property to be **true**.
 * * `enableSorting`: Allows to perform sort operation to order members of a specific fields either in ascending or descending that used to be displayed in the pivot table.
 * * `formatSettings`: Allows specific fields used to display the values with specific format that used to be displayed in the pivot table.
 * For example, to display a specific field with currency formatted values in the pivot table, the set the `format` property to be **C**.
 * * `drilledMembers`: Allows specific fields used to display their the headers to be either expanded or collapsed in the pivot table.
 * * `valueSortSettings`: Allows to sort individual value field and its aggregated values either in row or column axis to ascending or descending order.
 * * `calculatedFieldSettings`: Allows to create new calculated fields from the bound data source or using simple formula with basic arithmetic operators in the pivot table.
 * * `allowMemberFilter`: Allows to perform filter operation based on the selective filter members of the specific fields used to be displayed in the pivot table.
 * * `allowLabelFilter`: Allows to perform filter operation based on the selective headers used to be displayed in the pivot table.
 * * `allowValueFilter`: Allows to perform filter operation based only on value fields and its resultant aggregated values over other fields defined in row and column axes that used to be displayed in the pivot table.
 * * `showSubTotals`: Allows to show or hide sub-totals in both rows and columns axis of the pivot table.
 * * `showRowSubTotals`: Allows to show or hide sub-totals in row axis of the pivot table.
 * * `showColumnSubTotals`: Allows to show or hide sub-totals in column axis of the pivot table.
 * * `showGrandTotals`: Allows to show or hide grand totals in both rows and columns axis of the pivot table.
 * * `showRowGrandTotals`: Allows to show or hide grand totals in row axis of the pivot table.
 * * `showColumnGrandTotals`: Allows to show or hide grand totals in column axis of the pivot table.
 * * `showHeaderWhenEmpty`: Allows the undefined headers to be displayed in the pivot table, when the specific field(s) are not defined in the raw data.
 * For example, if the raw data for the field ‘Country’ is defined as “United Kingdom” and “State” is not defined means, it will be shown as “United Kingdom >> Undefined” in the header section.
 * * `alwaysShowValueHeader`: Allows to show the value field header always in pivot table, even if it holds a single field in the value field axis.
 * * `conditionalFormatSettings`: Allows a collection of values fields to change the appearance of the pivot table value cells with different style properties such as background color, font color, font family, and font size based on specific conditions.
 * * `emptyCellsTextContent`: Allows to show custom string to the empty value cells that used to display in the pivot table. You can fill empty value cells with any value like “0”, ”-”, ”*”, “(blank)”, etc.
 * * `groupSettings`: Allows specific fields to group their data on the basis of their type.
 * For example, the date type fields can be formatted and displayed based on year, quarter, month, and more. Likewise, the number type fields can be grouped range-wise, such as 1-5, 6-10, etc.
 * You can perform custom group to the string type fields that used to displayed in the pivot table.
 * * `showAggregationOnValueField`: Allows the pivot button with specific value field caption along with the aggregation type, to be displayed in the grouping bar and field list UI.
 * For example, if the value field "Sold Amount" is aggregated with Sum, it will be displayed with caption "Sum of Sold Amount" in its pivot button.
 * * `authentication`: Allows you to set the credential information to access the specified SSAS cube. **Note: It is applicable only for OLAP data source**.
 */
export  class DataSourceSettings extends base.ChildProperty<DataSourceSettings> implements IDataOptions {
    /**
     * Allows to set the mode of rendering the pivot table.
     *
     * @default Local
     */
    mode: RenderMode;
    /**
     * Allows to set the database name of SSAS cube as string type that used to retrieve the data from the specified connection string.
     * > It is applicable only for OLAP data source.
     */
    catalog: string;
    /**
     * Allows you to set the SSAS cube name as string type that used to retrieve data for pivot table rendering.
     * > It is applicable only for OLAP data source.
     */
    cube: string;
    /**
     * Allows you to assign multiple roles to the OLAP cube, separated by commas, each of which can access only restricted OLAP cube information such as measures, dimensions, and more that can be rendered in the pivot table.
     * > It is applicable only for OLAP data source.
     */
    roles: string;
    /**
     * Allows to set the provider type to identify the given connection is either **Relational** or **SSAS** to render the pivot table and field list. The following options are:
     * * `Relational`: Allows to render the pivot table with JSON data collection either fetch at local or remote server.
     * * `SSAS`: Allows to render the pivot table with OLAP data fetch from OLAP cube.
     *
     * @default Relational
     */
    providerType: ProviderType;
    /**
     * Allows to set the URL as string type, which helps to identify the service endpoint where the data are processed and retrieved to render the pivot table and field list.
     * > It is applicable only for OLAP data source.
     */
    url: string;
    /**
     * Allows you to set the specific culture code as number type to render pivot table with desired localization.
     * By default, the pivot table displays with culture code **1033**, which indicates "en-US" locale.
     * > It is applicable only for OLAP data source.
     *
     * @default 1033
     * @aspType int
     */
    localeIdentifier: number;
    /**
     * Allows you to set the data source as JSON collection to the pivot report either from local or from remote server to the render the pivot that and field list.
     * You can fetch JSON data from remote server by using data.DataManager.
     * > It is applicable only for relational data source.
     *
     * @isGenericType true
     */
    dataSource: IDataSet[] | data.DataManager | string[][];
    /**
     * Allows specific fields associated with field information that needs to be displayed in row axis of pivot table. The following configurations which are applicable are as follows:
     * * `name`: Allows you to set the field name that needs to be displayed in row axis of pivot table.
     * * `caption`: Allows you to set caption to the specific field. It will be used to display instead of its name in pivot table component's UI.
     * * `showNoDataItems`: Allows you to display all members items of a specific field to the pivot table,
     * even doesn't have any data in its row/column intersection in data source. **Note: It is applicable only for relational data source.**
     * * `showSubTotals`: Allows to show or hide sub-totals to a specific field in row axis of the pivot table.
     * * `isNamedSet`: Allows you to set whether the specified field is a named set or not. In general,
     * the named set is a set of dimension members or a set expression (MDX query) to be created as a dimension in the SSAS OLAP cube itself. **Note: It is applicable only for OLAP data source.**
     * * `isCalculatedField`: Allows to set whether the specified field is a calculated field or not.
     * In general, the calculated field is created from the bound data source or using simple formula with basic arithmetic operators in the pivot table. **Note: It is applicable only for OLAP data source.**
     * * `showFilterIcon`: Allows you to show or hide the filter icon of a specific field that used to be displayed on the pivot button of the grouping bar and field list UI.
     * This filter icon is used to filter the members of a specified field at runtime in the pivot table.
     * * `showSortIcon`: Allows you to show or hide the sort icon of a specific field that used to be displayed in the pivot button of the grouping bar and field list UI.
     * This sort icon is used to order members of a specified field either in ascending or descending at runtime.
     * * `showRemoveIcon`: Allows you to show or hide the remove icon of a specific field that used to be displayed in the pivot button of the grouping bar and field list UI.
     * This remove icon is used to remove the specified field during runtime.
     * * `showEditIcon`: Allows you to show or hide the edit icon of a specific field that used to be displayed on the pivot button of the grouping bar and field list UI.
     * This edit icon is used to modify caption, formula, and format of a specified calculated field at runtime that to be displayed in the pivot table.
     * * `allowDragAndDrop`: Allows you to restrict the specific field's pivot button that is used to drag on runtime in the grouping bar and field list UI.
     * This will prevent you from modifying the current report.
     * * `expandAll`: Allows you to expand or collapse all of the pivot table's headers for a specific field.
     *
     * @default []
     */
    rows: FieldOptionsModel[];
    /**
     * Allows specific fields associated with field information that needs to be displayed in column axis of pivot table. The following configurations which are applicable are as follows:
     * * `name`: Allows you to set the field name that needs to be displayed in column axis of pivot table.
     * * `caption`: Allows you to set caption to the specific field. It will be used to display instead of its name in pivot table component's UI.
     * * `showNoDataItems`: Allows you to display all members items of a specific field to the pivot table,
     * even doesn't have any data in its row/column intersection in data source. **Note: It is applicable only for relational data source.**
     * * `showSubTotals`: Allows to show or hide sub-totals to a specific field in column axis of the pivot table.
     * * `isNamedSet`: Allows you to set whether the specified field is a named set or not. In general,
     * the named set is a set of dimension members or a set expression (MDX query) to be created as a dimension in the SSAS OLAP cube itself. **Note: It is applicable only for OLAP data source.**
     * * `isCalculatedField`: Allows to set whether the specified field is a calculated field or not.
     * In general, the calculated field is created from the bound data source or using simple formula with basic arithmetic operators in the pivot table. **Note: It is applicable only for OLAP data source.**
     * * `showFilterIcon`: Allows you to show or hide the filter icon of a specific field that used to be displayed on the pivot button of the grouping bar and field list UI.
     * This filter icon is used to filter the members of a specified field at runtime in the pivot table.
     * * `showSortIcon`: Allows you to show or hide the sort icon of a specific field that used to be displayed in the pivot button of the grouping bar and field list UI.
     * This sort icon is used to order members of a specified field either in ascending or descending at runtime.
     * * `showRemoveIcon`: Allows you to show or hide the remove icon of a specific field that used to be displayed in the pivot button of the grouping bar and field list UI.
     * This remove icon is used to remove the specified field during runtime.
     * * `showEditIcon`: Allows you to show or hide the edit icon of a specific field that used to be displayed on the pivot button of the grouping bar and field list UI.
     * This edit icon is used to modify caption, formula, and format of a specified calculated field at runtime that to be displayed in the pivot table.
     * * `allowDragAndDrop`: Allows you to restrict the specific field's pivot button that is used to drag on runtime in the grouping bar and field list UI.
     * This will prevent you from modifying the current report.
     * * `expandAll`: Allows you to expand or collapse all of the pivot table's headers for a specific field.
     *
     * @default []
     */
    columns: FieldOptionsModel[];
    /**
     * Allows specific fields associated with field information that needs to be displayed as aggregated numeric values in pivot table. The following configurations which are applicable are as follows:
     * * `name`: Allows you to set the field name that needs to be displayed in row/column/value/filter axis of pivot table.
     * * `caption`: Allows you to set caption to the specific field. It will be used to display instead of its name in pivot table component's UI.
     * * `type`: Allows to display the values in the pivot table with appropriate aggregations such as sum, product, count, average, etc… **Note: It is applicable only for relational data source.**
     * * `baseField`: Allows you to set the selective field, which used to display the values with either
     *  DifferenceFrom or PercentageOfDifferenceFrom or PercentageOfParentTotal aggregate types. **Note: It is applicable only for relational data source.**
     * * `baseItem`: Allows you to set the selective item of a specific field, which used to display the values with either DifferenceFrom or PercentageOfDifferenceFrom aggregate types.
     * The selective item should be set the from field specified in the baseField property. **Note: It is applicable only for relational data source.**
     * * `isCalculatedField`: Allows to set whether the specified field is a calculated field or not.
     * In general, the calculated field is created from the bound data source or using simple formula with basic arithmetic operators in the pivot table. **Note: It is applicable only for OLAP data source.**
     * * `showRemoveIcon`: Allows you to show or hide the remove icon of a specific field that used to be displayed in the pivot button of the grouping bar and field list UI.
     * This remove icon is used to remove the specified field during runtime.
     * * `showValueTypeIcon`: Allows you to show or hide the value type icon of a specific field that used to be displayed in the pivot button of the grouping bar and field list UI.
     * This value type icon helps to select the appropriate aggregation type to specified value field at runtime.
     * * `showEditIcon`: Allows you to show or hide the edit icon of a specific field that used to be displayed on the pivot button of the grouping bar and field list UI.
     * This edit icon is used to modify caption, formula, and format of a specified calculated field at runtime that to be displayed in the pivot table.
     * * `allowDragAndDrop`: Allows you to restrict the specific field's pivot button that is used to drag on runtime in the grouping bar and field list UI.
     * This will prevent you from modifying the current report.
     * * `expandAll`: Allows you to expand or collapse all of the pivot table's headers for a specific field.
     *
     * @default []
     */
    values: FieldOptionsModel[];
    /**
     * Allows to filter the values in other axis based on the collection of filter fields in pivot table. The following configurations which are applicable are as follows:
     * * `name`: Allows you to set the field name that needs to be displayed in row/column/value/filter axis of pivot table.
     * * `caption`: Allows you to set caption to the specific field. It will be used to display instead of its name in pivot table component's UI.
     * * `isNamedSet`: Allows you to set whether the specified field is a named set or not. In general,
     * the named set is a set of dimension members or a set expression (MDX query) to be created as a dimension in the SSAS OLAP cube itself. **Note: It is applicable only for OLAP data source.**
     * * `isCalculatedField`: Allows to set whether the specified field is a calculated field or not.
     * In general, the calculated field is created from the bound data source or using simple formula with basic arithmetic operators in the pivot table. **Note: It is applicable only for OLAP data source.**
     * * `showFilterIcon`: Allows you to show or hide the filter icon of a specific field that used to be displayed on the pivot button of the grouping bar and field list UI.
     * This filter icon is used to filter the members of a specified field at runtime in the pivot table.
     * * `showRemoveIcon`: Allows you to show or hide the remove icon of a specific field that used to be displayed in the pivot button of the grouping bar and field list UI.
     * This remove icon is used to remove the specified field during runtime.
     * * `showEditIcon`: Allows you to show or hide the edit icon of a specific field that used to be displayed on the pivot button of the grouping bar and field list UI.
     * This edit icon is used to modify caption, formula, and format of a specified calculated field at runtime that to be displayed in the pivot table.
     * * `allowDragAndDrop`: Allows you to restrict the specific field's pivot button that is used to drag on runtime in the grouping bar and field list UI.
     * This will prevent you from modifying the current report.
     * * `expandAll`: Allows you to expand or collapse all of the pivot table's headers for a specific field.
     *
     * @default []
     */
    filters: FieldOptionsModel[];
    /**
     * Allows specific fields associated with field information that can be used while creating fieldlist. The following configurations which are applicable are as follows:
     * * `name`: Allows you to set the field name which is going to configure while creating the fieldlist.
     * * `caption`: Allows you to set caption to the specific field. It will be used to display instead of its name in pivot table component's UI.
     * * `showNoDataItems`: Allows you to display all members items of a specific field to the pivot table,
     * even doesn't have any data in its row/column intersection in data source. **Note: It is applicable only for relational data source.**
     * * `showSubTotals`: Allows to show or hide sub-totals to a specific field in row axis of the pivot table.
     * * `isNamedSet`: Allows you to set whether the specified field is a named set or not. In general,
     * the named set is a set of dimension members or a set expression (MDX query) to be created as a dimension in the SSAS OLAP cube itself. **Note: It is applicable only for OLAP data source.**
     * * `isCalculatedField`: Allows to set whether the specified field is a calculated field or not.
     * In general, the calculated field is created from the bound data source or using simple formula with basic arithmetic operators in the pivot table. **Note: It is applicable only for OLAP data source.**
     * * `showFilterIcon`: Allows you to show or hide the filter icon of a specific field that used to be displayed on the pivot button of the grouping bar and field list UI.
     * This filter icon is used to filter the members of a specified field at runtime in the pivot table.
     * * `showSortIcon`: Allows you to show or hide the sort icon of a specific field that used to be displayed in the pivot button of the grouping bar and field list UI.
     * This sort icon is used to order members of a specified field either in ascending or descending at runtime.
     * * `showRemoveIcon`: Allows you to show or hide the remove icon of a specific field that used to be displayed in the pivot button of the grouping bar and field list UI.
     * This remove icon is used to remove the specified field during runtime.
     * * `showEditIcon`: Allows you to show or hide the edit icon of a specific field that used to be displayed on the pivot button of the grouping bar and field list UI.
     * This edit icon is used to modify caption, formula, and format of a specified calculated field at runtime that to be displayed in the pivot table.
     * * `allowDragAndDrop`: Allows you to restrict the specific field's pivot button that is used to drag on runtime in the grouping bar and field list UI.
     * This will prevent you from modifying the current report.
     * * `expandAll`: Allows you to expand or collapse all of the pivot table's headers for a specific field.
     *
     * @default []
     */
    fieldMapping: FieldOptionsModel[];
    /**
     * Allows you to restrict the specific field(s) from displaying it in the field list UI.
     * You may also be unable to render the pivot table with this field(s) by doing so.
     * > It is applicable only for relational data source.
     *
     * @default []
     */
    excludeFields: string[];
    /**
     * Allows you to either expand or collapse all the headers that are displayed in the pivot table.
     * By default, all the headers are collapsed in the pivot table.
     * > It is applicable only for Relational data.
     *
     * @default false
     */
    expandAll: boolean;
    /**
     * Allows you to set the value fields that to be plotted either in row or column axis in the pivot table.
     *
     * @default 'column'
     */
    valueAxis: string;
    /**
     * Allows you to display the value headers based on the index position in row or column axis in the pivot table.
     * By default, the value headers are displayed at last index position based on the `valueAxis` property.
     * > It is applicable only for relational data source.
     *
     * @default '-1'
     * @aspType int
     */
    valueIndex: number;
    /**
     * Allows specific fields associated with either selective or conditional-based filter members that used to be displayed in the pivot table.
     *
     * @default []
     */
    filterSettings: FilterModel[];
    /**
     * Allows specific fields associated with sort settings to order their members either in ascending or descending that used to be displayed in the pivot table.
     * By default, the data source containing fields are display with Ascending order alone. To use this option, it requires the `enableSorting` property to be **true**.
     *
     * @default []
     */
    sortSettings: SortModel[];
    /**
     * Allows to perform sort operation to order members of a specific fields either in ascending or descending that used to be displayed in the pivot table.
     *
     * @default true
     */
    enableSorting: boolean;
    /**
     * Allows to define the data source type.
     *
     * @default JSON
     */
    type: DataSourceType;
    /**
     * Allows to perform filter operation based on the selective filter members of the specific fields used to be displayed in the pivot table.
     *
     * @default true
     */
    allowMemberFilter: boolean;
    /**
     * Allows to perform filter operation based on the selective headers used to be displayed in the pivot table.
     *
     * @default false
     */
    allowLabelFilter: boolean;
    /**
     * Allows to perform filter operation based only on value fields and its resultant aggregated values over other fields defined in row and column axes that used to be displayed in the pivot table.
     *
     * @default false
     */
    allowValueFilter: boolean;
    /**
     * Allows to show or hide sub-totals in both rows and columns axis of the pivot table.
     *
     * @default true
     */
    showSubTotals: boolean;
    /**
     * Allows to show or hide sub-totals in row axis of the pivot table.
     *
     * @default true
     */
    showRowSubTotals: boolean;
    /**
     * Allows to show or hide sub-totals in column axis of the pivot table.
     *
     * @default true
     */
    showColumnSubTotals: boolean;
    /**
     * Allows the row and column sub-totals to be displayed at the top or bottom of the header group in the pivot table.
     * > By default, the column sub-totals are displayed at the bottom and row sub-totals are displayed at the top of their header group in the pivot table.
     *
     * @default Auto
     */
    subTotalsPosition: SubTotalsPosition;
    /**
     * Allows to show or hide grand totals in both rows and columns axis of the pivot table.
     *
     * @default true
     */
    showGrandTotals: boolean;
    /**
     * Allows the grand totals to be displayed at the top or bottom of the pivot table's row and column axes.
     * > By default, the grand totals are displayed at the bottom of the pivot table's row and column axes.
     *
     * @default Bottom
     */
    grandTotalsPosition: GrandTotalsPosition;
    /**
     * Allows to show or hide grand totals in row axis of the pivot table.
     *
     * @default true
     */
    showRowGrandTotals: boolean;
    /**
     * Allows to show or hide grand totals in column axis of the pivot table.
     *
     * @default true
     */
    showColumnGrandTotals: boolean;
    /**
     * Allows to show the value field header always in pivot table, even if it holds a single field in the value field axis.
     *
     * @default false
     */
    alwaysShowValueHeader: boolean;
    /**
     * Allows the undefined headers to be displayed in the pivot table, when the specific field(s) are not defined in the raw data.
     * For example, if the raw data for the field ‘Country’ is defined as “United Kingdom” and “State” is not defined means, it will be shown as “United Kingdom >> Undefined” in the header section.
     *
     * @default true
     */
    showHeaderWhenEmpty: boolean;
    /**
     * Allows the pivot button with specific value field caption along with the aggregation type, to be displayed in the grouping bar and field list UI.
     * For example, if the value field "Sold Amount" is aggregated with Sum, it will be displayed with caption "Sum of Sold Amount" in its pivot button.
     *
     * @default true
     */
    showAggregationOnValueField: boolean;
    /**
     * Allows specific fields used to display the values with specific format that used to be displayed in the pivot table.
     * For example, to display a specific field with currency formatted values in the pivot table, the set the `format` property to be **C**.
     *
     * @default []
     */
    formatSettings: FormatSettingsModel[];
    /**
     * Allows specific fields used to display their the headers to be either expanded or collapsed in the pivot table.
     *
     * @default []
     */
    drilledMembers: DrillOptionsModel[];
    /**
     * Allows to sort individual value field and its aggregated values either in row or column axis to ascending or descending order.
     */
    valueSortSettings: ValueSortSettingsModel;
    /**
     * Allows to create new calculated fields from the bound data source or using simple formula with basic arithmetic operators in the pivot table.
     *
     * @default []
     */
    calculatedFieldSettings: CalculatedFieldSettingsModel[];
    /**
     * Allows a collection of values fields to change the appearance of the pivot table value cells with different style properties such as background color, font color, font family, and font size based on specific conditions.
     *
     * @default []
     */
    conditionalFormatSettings: ConditionalFormatSettingsModel[];
    /**
     * Allows to show custom string to the empty value cells that used to display in the pivot table. You can fill empty value cells with any value like “0”, ”-”, ”*”, “(blank)”, etc.
     */
    emptyCellsTextContent: string;
    /**
     * Allows specific fields to group their data on the basis of their type.
     * For example, the date type fields can be formatted and displayed based on year, quarter, month, and more. Likewise, the number type fields can be grouped range-wise, such as 1-5, 6-10, etc.
     * You can perform custom group to the string type fields that used to displayed in the pivot table.
     *
     * @default []
     */
    groupSettings: GroupSettingsModel[];
    /**
     * Allows you to set the credential information to access the specified SSAS cube.
     * > It is applicable only for OLAP data source.
     */
    authentication: AuthenticationModel;
}
//node_modules/@syncfusion/ej2-pivotview/src/model/datasourcesettings-model.d.ts
/**
 * Interface for a class FieldOptions
 */
export interface FieldOptionsModel {
    /**
     * Allows you to set the field name that needs to be displayed in row/column/value/filter axis of pivot table.
     */
    name?: string;
    /**
     * Allows you to set caption to the specific field. It will be used to display instead of its name in pivot table component's UI.
     */
    caption?: string;
    /**
     * Allows to display the values in the pivot table with appropriate aggregations such as sum, product, count, average, etc… The available types are,
     * * `Sum`: Allows to display the pivot table values with sum.
     * * `Product`: Allows to display the pivot table values with product.
     * * `Count`: Allows to display the pivot table values with count.
     * * `DistinctCount`: Allows to display the pivot table values with distinct count.
     * * `Min`: Allows to display the pivot table with minimum value.
     * * `Max`: Allows to display the pivot table with maximum value.
     * * `Avg`: Allows to display the pivot table values with average.
     * * `Median`: Allows to display the pivot table values with median.
     * * `Index`: Allows to display the pivot table values with index.
     * * `PopulationStDev`: Allows to display the pivot table values with population standard deviation.
     * * `SampleStDev`: Allows to display the pivot table values with sample standard deviation.
     * * `PopulationVar`: Allows to display the pivot table values with population variance.
     * * `SampleVar`: Allows to display the pivot table values with sample variance.
     * * `RunningTotals`: Allows to display the pivot table values with running totals.
     * * `DifferenceFrom`: Allows to display the pivot table values with difference from the value of the base item in the base field.
     * * `PercentageOfDifferenceFrom`: Allows to display the pivot table values with percentage difference from the value of the base item in the base field.
     * * `PercentageOfGrandTotal`: Allows to display the pivot table values with percentage of grand total of all values.
     * * `PercentageOfColumnTotal`: Allows to display the pivot table values in each column with percentage of total values for the column.
     * * `PercentageOfRowTotal`: Allows to display the pivot table values in each row with percentage of total values for the row.
     * * `PercentageOfParentTotal`: Allows to display the pivot table values with percentage of total of all values based on selected field.
     * * `PercentageOfParentColumnTotal`: Allows to display the pivot table values with percentage of its parent total in each column.
     * * `PercentageOfParentRowTotal`: Allows to display the pivot table values with percentage of its parent total in each row.
     * * `CalculatedField`: Allows to display the pivot table with calculated field values. It allows user to create a new calculated field alone.
     *
     * > It is applicable only for relational data source.
     *
     * @default Sum
     */
    type?: SummaryTypes;
    /**
     * Allows you to set the axis name to the specific field. This will help to display the field in specified axis such as row/column/value/filter axis of pivot table.
     */
    axis?: string;
    /**
     * Allows you to display all members items of a specific field to the pivot table, even doesn't have any data in its row/column intersection in data source.
     * > It is applicable only for relational data source.
     *
     * @default false
     */
    showNoDataItems?: boolean;
    /**
     * Allows you to set the selective field, which used to display the values with either DifferenceFrom or PercentageOfDifferenceFrom or PercentageOfParentTotal aggregate types.
     * > It is applicable only for relational data source.
     */
    baseField?: string;
    /**
     * Allows you to set the selective item of a specific field, which used to display the values with either DifferenceFrom or PercentageOfDifferenceFrom aggregate types.
     * The selective item should be set the from field specified in the baseField property.
     * > It is applicable only for relational data source.
     */
    baseItem?: string;
    /**
     * Allows to show or hide sub-totals to a specific field in row/column axis of the pivot table.
     *
     * @default true
     */
    showSubTotals?: boolean;
    /**
     * Allows you to set whether the specified field is a named set or not.
     * In general, the named set is a set of dimension members or a set expression (MDX query) to be created as a dimension in the SSAS OLAP cube itself.
     * > It is applicable only for OLAP data source.
     *
     * @default false
     */
    isNamedSet?: boolean;
    /**
     * Allows to set whether the specified field is a calculated field or not. In general, a calculated field is created from the bound data source or using simple formula with basic arithmetic operators in the pivot table.
     * > This option is applicable only for OLAP data source.
     *
     * @default false
     */
    isCalculatedField?: boolean;
    /**
     * Allows you to show or hide the filter icon of a specific field that used to be displayed on the pivot button of the grouping bar and field list UI.
     * This filter icon is used to filter the members of a specified field at runtime in the pivot table.
     *
     * @default true
     */
    showFilterIcon?: boolean;
    /**
     * Allows you to show or hide the sort icon of a specific field that used to be displayed in the pivot button of the grouping bar and field list UI.
     * This sort icon is used to order members of a specified field either in ascending or descending at runtime.
     *
     * @default true
     */
    showSortIcon?: boolean;
    /**
     * Allows you to show or hide the remove icon of a specific field that used to be displayed in the pivot button of the grouping bar and field list UI.
     * This remove icon is used to remove the specified field during runtime.
     *
     * @default true
     */
    showRemoveIcon?: boolean;
    /**
     * Allows you to show or hide the value type icon of a specific field that used to be displayed in the pivot button of the grouping bar and field list UI.
     * This value type icon helps to select the appropriate aggregation type to specified value field at runtime.
     *
     * @default true
     */
    showValueTypeIcon?: boolean;
    /**
     * Allows you to show or hide the edit icon of a specific field that used to be displayed on the pivot button of the grouping bar and field list UI.
     * This edit icon is used to modify caption, formula, and format of a specified calculated field at runtime that to be displayed in the pivot table.
     *
     * @default true
     */
    showEditIcon?: boolean;
    /**
     * Allows you to restrict the specific field's pivot button that is used to drag on runtime in the grouping bar and field list UI.
     * This will prevent you from modifying the current report.
     *
     * @default true
     */
    allowDragAndDrop?: boolean;
    /**
     * Allows to specify the data type of specific field.
     */
    dataType?: string;
    /**
     * Allows you to either expand or collapse all the headers that are displayed in the pivot table.
     * By default, all the headers are collapsed in the pivot table.
     * > It is applicable only for Relational data.
     *
     * @default false
     */
    expandAll?: boolean;
    /**
     * Allows you to create group folder for fields in pivot field list.
     * Allows user to set the group (i.e., folder) name for selected fields that used to be displayed in the field list tree.
     * > It is applicable only for relational data source.
     */
    groupName?: string;
}
/**
 * Interface for a class FieldListFieldOptions
 */
export interface FieldListFieldOptionsModel extends FieldOptionsModel{
}
/**
 * Interface for a class Style
 */
export interface StyleModel {
    /**
     * It allows to set the background color to the value cell in the pivot table.
     */
    backgroundColor?: string;
    /**
     * It allows to set the font color to the value cell in the pivot table.
     */
    color?: string;
    /**
     * It allows to set the font family to the value cell in the pivot table.
     */
    fontFamily?: string;
    /**
     * It allows to set the font size to the value cell in the pivot table.
     */
    fontSize?: string;
}
/**
 * Interface for a class Filter
 */
export interface FilterModel {
    /**
     * Allows you to set the field name that used to display the selective or conditional-based filter members that used to be displayed in the pivot table.
     */
    name?: string;
    /**
     * Allows you to set the specific filter type to display the filter members in the pivot table. They are:
     * * Include - Specifies the filter type as include for member filter.
     * * Exclude - Specifies the filter type as exclude for member filter.
     * * Label - Specifies the filter type as label for header filter.
     * * Date - Specifies the filter type as date for date based filter.
     * * Number - Specifies the filter type as number for number based filter.
     * * Value - Specifies the filter type as value for value based filter.
     *
     * @default Include
     */
    type?: FilterType;
    /**
     * Allows you to specify the field members that used to be displayed based on the filter type provided in the pivot table.
     */
    items?: string[];
    /**
     * Allows you to choose the operator type such as equals, greater than, less than, etc. for conditional-based filtering.
     * > It is applicable only for label and value filtering.
     *
     * @default DoesNotEquals
     */
    condition?: Operators;
    /**
     * Allows you to set the start value to display the filter items in the pivot table based on the condition applied.
     * > It is applicable only for label and value filtering.
     */
    value1?: string | Date;
    /**
     * Allows you to set the end value to display the filter items in the pivot table based on the condition applied.
     * > This option will be used by default when the operator **Between** and **NotBetween** is chosen to apply. Also, it is applicable only for label and value filtering.
     */
    value2?: string | Date;
    /**
     * Allows to set value field for evaluation using conditions and operands for filtering.
     * > It is applicable only for label and value filtering.
     */
    measure?: string;
    /**
     * Allows to set level of the field to fetch data from the cube for filtering.
     * > This option is applicable only for user-defined hierarchies in OLAP data source.
     *
     * @default 1
     * @aspType int
     */
    levelCount?: number;
    /**
     * Allows to set level name of a specified field, where the filtering settings to be applied.
     * > This option is applicable only for user-defined hierarchies in OLAP data source.
     */
    selectedField?: string;
}
/**
 * Interface for a class ConditionalFormatSettings
 */
export interface ConditionalFormatSettingsModel {
    /**
     * Allows to set the value field name to apply conditional formatting.
     */
    measure?: string;
    /**
     * Allows to set the header text of a specific row/column field to apply conditional formatting.
     */
    label?: string;
    /**
     * Allows you to choose the operator type such as equals, greater than, less than, etc. for conditional formatting.
     */
    conditions?: Condition;
    /**
     * Allows you to set the start value for applying conditional formatting.
     */
    value1?: number;
    /**
     * Allows you to set the end value for applying conditional formatting.
     * > This option will be used by default when the operator **Between** and **NotBetween** is chosen to apply.
     */
    value2?: number;
    /**
     * Allows to set the custom styles for the formatting applied values in the pivot table.
     */
    style?: IStyle;
    /**
     * Allows to apply conditional formatting to the grand totals of row and column axis in the pivot table.
     *
     * @default true
     */
    applyGrandTotals?: boolean;
}
/**
 * Interface for a class Sort
 */
export interface SortModel {
    /**
     * Allows to set the field name to order their members either in ascending or descending in the pivot table.
     */
    name?: string;
    /**
     * Allows to apply sorting to the specified field either by ascending or descending or JSON order. The types are,
     * * `Ascending`: It allows to display the field members in ascending order.
     * * `Descending`: It allows to display the field members in descending order.
     * * `None`: It allows to display the field members based on JSON order.
     *
     * @default Ascending
     */
    order?: Sorting;
    /**
     * Allows to specify the order in which the members should be sorted.
     *
     * @default []
     */
    membersOrder?: string[] | number[];
}
/**
 * Interface for a class FormatSettings
 */
export interface FormatSettingsModel {
    /**
     * It allows to set the field name to apply format settings.
     */
    name?: string;
    /**
     * It allows to specify minimum fraction digits to the formatted value.
     *
     * @aspType int
     */
    minimumFractionDigits?: number;
    /**
     * It allows to specify maximum fraction digits to the  formatted value.
     *
     * @aspType int
     */
    maximumFractionDigits?: number;
    /**
     * It allows to specify minimum significant digits to the formatted value.
     *
     * @aspType int
     */
    minimumSignificantDigits?: number;
    /**
     * It allows to specify maximum significant digits to the formatted value.
     *
     * @aspType int
     */
    maximumSignificantDigits?: number;
    /**
     * It allows to use grouping to the formatted value,
     *
     * @default true
     */
    useGrouping?: boolean;
    /**
     * It allows to specify the skeleton such as full, medium, long, short, etc. to perform date formatting.
     * > It is applicable only for date type formatting.
     */
    skeleton?: string;
    /**
     * It allows to specify the type of date formatting either date, dateTime or time.
     */
    type?: string;
    /**
     * It allows to specify the currency code to be used for formatting.
     */
    currency?: string;
    /**
     * It allows to specify minimum integer digits to the formatted value.
     *
     * @aspType int
     */
    minimumIntegerDigits?: number;
    /**
     * It allows to specify custom number format for formatting.
     */
    format?: string;
}
/**
 * Interface for a class GroupSettings
 */
export interface GroupSettingsModel {
    /**
     * It allows to set the specific field name to apply group settings.
     */
    name?: string;
    /**
     * It allows to specify the date group intervals such as years or quarter or months or days or hours or minutes or seconds to group fields based on that in the pivot table. They options are:
     * * Years - Defines group field as 'Years' for date type field.
     * * Quarters - Defines group field as 'Quarters' for date type field.
     * * QuarterYear - Defines group field as 'Quarter Year' for date type field.
     * * Months - Defines group field as 'Months' for date type field.
     * * Days - Defines group field as 'Days' for date type field.
     * * Hours - Defines group field as 'Hours' for date type field.
     * * Minutes - Defines group field as 'Minutes' for date type field.
     * * Seconds - Defines group field as 'Seconds' for date type field.
     *
     * > It is applicable only for date type grouping.
     */
    groupInterval?: DateGroup[];
    /**
     * It allows to set the start value/date to group fields from the specified range that to be displayed in the pivot table.
     */
    startingAt?: string | Date | number;
    /**
     * It allows to set the start value/date to group fields to the specified range that to be displayed in the pivot table.
     */
    endingAt?: string | Date | number;
    /**
     * It allows to set the type as date or number or custom to the specified field for apply grouping. The types are:
     * * Date - Defines group type as 'Date' for date type field
     * * Number - Defines group type as 'Number' for numeric type field.
     * * Custom - Defines group type as 'Custom' for custom group field.
     *
     * @default Date
     */
    type?: GroupType;
    /**
     * It allows to set the interval range to group field based on the specified range.
     * > It is applicable only of number type grouping.
     */
    rangeInterval?: number;
    /**
     * It allows to set the caption to custom field that will be used to created from custom group fields in the pivot table.
     * > It is applicable only for custom grouping.
     */
    caption?: string;
    /**
     * It allows to set the custom group information to create custom group fields.
     * > It is applicable only for custom grouping.
     *
     * @default []
     */
    customGroups?: ICustomGroups[];
}
/**
 * Interface for a class CustomGroups
 */
export interface CustomGroupsModel {
    /**
     * Allows user to set the group name (or title) for selected headers for custom grouping.
     */
    groupName?: string;
    /**
     * It allows to set the headers which needs to be grouped from display.
     *
     * @default []
     */
    items?: string[];
}
/**
 * Interface for a class CalculatedFieldSettings
 */
export interface CalculatedFieldSettingsModel {
    /**
     * It allows to set the field name that used to create as a calculated field.
     */
    name?: string;
    /**
     * It allows to set the formula/expression to the specified calculated field.
     */
    formula?: string;
    /**
     * It allows to set hierarchy unique name, that used to create calculated member.
     * > It is applicable only for OLAP data source.
     */
    hierarchyUniqueName?: string;
    /**
     * It allows to set format string that used to create calculated member with specified formatted values that to be displayed in the pivot table.
     * > It is applicable only for OLAP data source.
     */
    formatString?: string;
}
/**
 * Interface for a class DrillOptions
 */
export interface DrillOptionsModel {
    /**
     * It allows to set the field name whose members to be either expanded or collapsed in the pivot table.
     */
    name?: string;
    /**
     * It allows to set the members to be either expanded or collapsed in the pivot table.
     */
    items?: string[];
    /**
     * It allows to set the delimiter, which is used a separator to split the given members.
     */
    delimiter?: string;
}
/**
 * Interface for a class ValueSortSettings
 */
export interface ValueSortSettingsModel {
    /**
     * It allows to set the member name of a specific field for value sorting.
     */
    headerText?: string;
    /**
     * It allows to set the delimiter, which is used a separator to split the given header text.
     *
     * @default '.'
     */
    headerDelimiter?: string;
    /**
     * Allows to apply sorting to the specified field either by ascending or descending. The types are,
     * * `Ascending`: It allows to display the field members in ascending order.
     * * `Descending`: It allows to display the field members in descending order.
     *
     * @default None
     */
    sortOrder?: Sorting;
    /**
     * It allows to set the measure name to achieve value sorting based on this.
     * > It is applicable only for OLAP data source.
     */
    measure?: string;
}
/**
 * Interface for a class Authentication
 */
export interface AuthenticationModel {
    /**
     * It allows to set the user name to access the specified SSAS cube.
     */
    userName?: string;
    /**
     * It allows to set the password to access the specified SSAS cube.
     */
    password?: string;
}
/**
 * Interface for a class DataSourceSettings
 */
export interface DataSourceSettingsModel {
    /**
     * Allows to set the mode of rendering the pivot table.
     *
     * @default Local
     */
    mode?: RenderMode;
    /**
     * Allows to set the database name of SSAS cube as string type that used to retrieve the data from the specified connection string.
     * > It is applicable only for OLAP data source.
     */
    catalog?: string;
    /**
     * Allows you to set the SSAS cube name as string type that used to retrieve data for pivot table rendering.
     * > It is applicable only for OLAP data source.
     */
    cube?: string;
    /**
     * Allows you to assign multiple roles to the OLAP cube, separated by commas, each of which can access only restricted OLAP cube information such as measures, dimensions, and more that can be rendered in the pivot table.
     * > It is applicable only for OLAP data source.
     */
    roles?: string;
    /**
     * Allows to set the provider type to identify the given connection is either **Relational** or **SSAS** to render the pivot table and field list. The following options are:
     * * `Relational`: Allows to render the pivot table with JSON data collection either fetch at local or remote server.
     * * `SSAS`: Allows to render the pivot table with OLAP data fetch from OLAP cube.
     *
     * @default Relational
     */
    providerType?: ProviderType;
    /**
     * Allows to set the URL as string type, which helps to identify the service endpoint where the data are processed and retrieved to render the pivot table and field list.
     * > It is applicable only for OLAP data source.
     */
    url?: string;
    /**
     * Allows you to set the specific culture code as number type to render pivot table with desired localization.
     * By default, the pivot table displays with culture code **1033**, which indicates "en-US" locale.
     * > It is applicable only for OLAP data source.
     *
     * @default 1033
     * @aspType int
     */
    localeIdentifier?: number;
    /**
     * Allows you to set the data source as JSON collection to the pivot report either from local or from remote server to the render the pivot that and field list.
     * You can fetch JSON data from remote server by using data.DataManager.
     * > It is applicable only for relational data source.
     *
     * @isGenericType true
     */
    dataSource?: IDataSet[] | data.DataManager | string[][];
    /**
     * Allows specific fields associated with field information that needs to be displayed in row axis of pivot table. The following configurations which are applicable are as follows:
     * * `name`: Allows you to set the field name that needs to be displayed in row axis of pivot table.
     * * `caption`: Allows you to set caption to the specific field. It will be used to display instead of its name in pivot table component's UI.
     * * `showNoDataItems`: Allows you to display all members items of a specific field to the pivot table,
     * even doesn't have any data in its row/column intersection in data source. **Note: It is applicable only for relational data source.**
     * * `showSubTotals`: Allows to show or hide sub-totals to a specific field in row axis of the pivot table.
     * * `isNamedSet`: Allows you to set whether the specified field is a named set or not. In general,
     * the named set is a set of dimension members or a set expression (MDX query) to be created as a dimension in the SSAS OLAP cube itself. **Note: It is applicable only for OLAP data source.**
     * * `isCalculatedField`: Allows to set whether the specified field is a calculated field or not.
     * In general, the calculated field is created from the bound data source or using simple formula with basic arithmetic operators in the pivot table. **Note: It is applicable only for OLAP data source.**
     * * `showFilterIcon`: Allows you to show or hide the filter icon of a specific field that used to be displayed on the pivot button of the grouping bar and field list UI.
     * This filter icon is used to filter the members of a specified field at runtime in the pivot table.
     * * `showSortIcon`: Allows you to show or hide the sort icon of a specific field that used to be displayed in the pivot button of the grouping bar and field list UI.
     * This sort icon is used to order members of a specified field either in ascending or descending at runtime.
     * * `showRemoveIcon`: Allows you to show or hide the remove icon of a specific field that used to be displayed in the pivot button of the grouping bar and field list UI.
     * This remove icon is used to remove the specified field during runtime.
     * * `showEditIcon`: Allows you to show or hide the edit icon of a specific field that used to be displayed on the pivot button of the grouping bar and field list UI.
     * This edit icon is used to modify caption, formula, and format of a specified calculated field at runtime that to be displayed in the pivot table.
     * * `allowDragAndDrop`: Allows you to restrict the specific field's pivot button that is used to drag on runtime in the grouping bar and field list UI.
     * This will prevent you from modifying the current report.
     * * `expandAll`: Allows you to expand or collapse all of the pivot table's headers for a specific field.
     *
     * @default []
     */
    rows?: FieldOptionsModel[];
    /**
     * Allows specific fields associated with field information that needs to be displayed in column axis of pivot table. The following configurations which are applicable are as follows:
     * * `name`: Allows you to set the field name that needs to be displayed in column axis of pivot table.
     * * `caption`: Allows you to set caption to the specific field. It will be used to display instead of its name in pivot table component's UI.
     * * `showNoDataItems`: Allows you to display all members items of a specific field to the pivot table,
     * even doesn't have any data in its row/column intersection in data source. **Note: It is applicable only for relational data source.**
     * * `showSubTotals`: Allows to show or hide sub-totals to a specific field in column axis of the pivot table.
     * * `isNamedSet`: Allows you to set whether the specified field is a named set or not. In general,
     * the named set is a set of dimension members or a set expression (MDX query) to be created as a dimension in the SSAS OLAP cube itself. **Note: It is applicable only for OLAP data source.**
     * * `isCalculatedField`: Allows to set whether the specified field is a calculated field or not.
     * In general, the calculated field is created from the bound data source or using simple formula with basic arithmetic operators in the pivot table. **Note: It is applicable only for OLAP data source.**
     * * `showFilterIcon`: Allows you to show or hide the filter icon of a specific field that used to be displayed on the pivot button of the grouping bar and field list UI.
     * This filter icon is used to filter the members of a specified field at runtime in the pivot table.
     * * `showSortIcon`: Allows you to show or hide the sort icon of a specific field that used to be displayed in the pivot button of the grouping bar and field list UI.
     * This sort icon is used to order members of a specified field either in ascending or descending at runtime.
     * * `showRemoveIcon`: Allows you to show or hide the remove icon of a specific field that used to be displayed in the pivot button of the grouping bar and field list UI.
     * This remove icon is used to remove the specified field during runtime.
     * * `showEditIcon`: Allows you to show or hide the edit icon of a specific field that used to be displayed on the pivot button of the grouping bar and field list UI.
     * This edit icon is used to modify caption, formula, and format of a specified calculated field at runtime that to be displayed in the pivot table.
     * * `allowDragAndDrop`: Allows you to restrict the specific field's pivot button that is used to drag on runtime in the grouping bar and field list UI.
     * This will prevent you from modifying the current report.
     * * `expandAll`: Allows you to expand or collapse all of the pivot table's headers for a specific field.
     *
     * @default []
     */
    columns?: FieldOptionsModel[];
    /**
     * Allows specific fields associated with field information that needs to be displayed as aggregated numeric values in pivot table. The following configurations which are applicable are as follows:
     * * `name`: Allows you to set the field name that needs to be displayed in row/column/value/filter axis of pivot table.
     * * `caption`: Allows you to set caption to the specific field. It will be used to display instead of its name in pivot table component's UI.
     * * `type`: Allows to display the values in the pivot table with appropriate aggregations such as sum, product, count, average, etc… **Note: It is applicable only for relational data source.**
     * * `baseField`: Allows you to set the selective field, which used to display the values with either
     *  DifferenceFrom or PercentageOfDifferenceFrom or PercentageOfParentTotal aggregate types. **Note: It is applicable only for relational data source.**
     * * `baseItem`: Allows you to set the selective item of a specific field, which used to display the values with either DifferenceFrom or PercentageOfDifferenceFrom aggregate types.
     * The selective item should be set the from field specified in the baseField property. **Note: It is applicable only for relational data source.**
     * * `isCalculatedField`: Allows to set whether the specified field is a calculated field or not.
     * In general, the calculated field is created from the bound data source or using simple formula with basic arithmetic operators in the pivot table. **Note: It is applicable only for OLAP data source.**
     * * `showRemoveIcon`: Allows you to show or hide the remove icon of a specific field that used to be displayed in the pivot button of the grouping bar and field list UI.
     * This remove icon is used to remove the specified field during runtime.
     * * `showValueTypeIcon`: Allows you to show or hide the value type icon of a specific field that used to be displayed in the pivot button of the grouping bar and field list UI.
     * This value type icon helps to select the appropriate aggregation type to specified value field at runtime.
     * * `showEditIcon`: Allows you to show or hide the edit icon of a specific field that used to be displayed on the pivot button of the grouping bar and field list UI.
     * This edit icon is used to modify caption, formula, and format of a specified calculated field at runtime that to be displayed in the pivot table.
     * * `allowDragAndDrop`: Allows you to restrict the specific field's pivot button that is used to drag on runtime in the grouping bar and field list UI.
     * This will prevent you from modifying the current report.
     * * `expandAll`: Allows you to expand or collapse all of the pivot table's headers for a specific field.
     *
     * @default []
     */
    values?: FieldOptionsModel[];
    /**
     * Allows to filter the values in other axis based on the collection of filter fields in pivot table. The following configurations which are applicable are as follows:
     * * `name`: Allows you to set the field name that needs to be displayed in row/column/value/filter axis of pivot table.
     * * `caption`: Allows you to set caption to the specific field. It will be used to display instead of its name in pivot table component's UI.
     * * `isNamedSet`: Allows you to set whether the specified field is a named set or not. In general,
     * the named set is a set of dimension members or a set expression (MDX query) to be created as a dimension in the SSAS OLAP cube itself. **Note: It is applicable only for OLAP data source.**
     * * `isCalculatedField`: Allows to set whether the specified field is a calculated field or not.
     * In general, the calculated field is created from the bound data source or using simple formula with basic arithmetic operators in the pivot table. **Note: It is applicable only for OLAP data source.**
     * * `showFilterIcon`: Allows you to show or hide the filter icon of a specific field that used to be displayed on the pivot button of the grouping bar and field list UI.
     * This filter icon is used to filter the members of a specified field at runtime in the pivot table.
     * * `showRemoveIcon`: Allows you to show or hide the remove icon of a specific field that used to be displayed in the pivot button of the grouping bar and field list UI.
     * This remove icon is used to remove the specified field during runtime.
     * * `showEditIcon`: Allows you to show or hide the edit icon of a specific field that used to be displayed on the pivot button of the grouping bar and field list UI.
     * This edit icon is used to modify caption, formula, and format of a specified calculated field at runtime that to be displayed in the pivot table.
     * * `allowDragAndDrop`: Allows you to restrict the specific field's pivot button that is used to drag on runtime in the grouping bar and field list UI.
     * This will prevent you from modifying the current report.
     * * `expandAll`: Allows you to expand or collapse all of the pivot table's headers for a specific field.
     *
     * @default []
     */
    filters?: FieldOptionsModel[];
    /**
     * Allows specific fields associated with field information that can be used while creating fieldlist. The following configurations which are applicable are as follows:
     * * `name`: Allows you to set the field name which is going to configure while creating the fieldlist.
     * * `caption`: Allows you to set caption to the specific field. It will be used to display instead of its name in pivot table component's UI.
     * * `showNoDataItems`: Allows you to display all members items of a specific field to the pivot table,
     * even doesn't have any data in its row/column intersection in data source. **Note: It is applicable only for relational data source.**
     * * `showSubTotals`: Allows to show or hide sub-totals to a specific field in row axis of the pivot table.
     * * `isNamedSet`: Allows you to set whether the specified field is a named set or not. In general,
     * the named set is a set of dimension members or a set expression (MDX query) to be created as a dimension in the SSAS OLAP cube itself. **Note: It is applicable only for OLAP data source.**
     * * `isCalculatedField`: Allows to set whether the specified field is a calculated field or not.
     * In general, the calculated field is created from the bound data source or using simple formula with basic arithmetic operators in the pivot table. **Note: It is applicable only for OLAP data source.**
     * * `showFilterIcon`: Allows you to show or hide the filter icon of a specific field that used to be displayed on the pivot button of the grouping bar and field list UI.
     * This filter icon is used to filter the members of a specified field at runtime in the pivot table.
     * * `showSortIcon`: Allows you to show or hide the sort icon of a specific field that used to be displayed in the pivot button of the grouping bar and field list UI.
     * This sort icon is used to order members of a specified field either in ascending or descending at runtime.
     * * `showRemoveIcon`: Allows you to show or hide the remove icon of a specific field that used to be displayed in the pivot button of the grouping bar and field list UI.
     * This remove icon is used to remove the specified field during runtime.
     * * `showEditIcon`: Allows you to show or hide the edit icon of a specific field that used to be displayed on the pivot button of the grouping bar and field list UI.
     * This edit icon is used to modify caption, formula, and format of a specified calculated field at runtime that to be displayed in the pivot table.
     * * `allowDragAndDrop`: Allows you to restrict the specific field's pivot button that is used to drag on runtime in the grouping bar and field list UI.
     * This will prevent you from modifying the current report.
     * * `expandAll`: Allows you to expand or collapse all of the pivot table's headers for a specific field.
     *
     * @default []
     */
    fieldMapping?: FieldOptionsModel[];
    /**
     * Allows you to restrict the specific field(s) from displaying it in the field list UI.
     * You may also be unable to render the pivot table with this field(s) by doing so.
     * > It is applicable only for relational data source.
     *
     * @default []
     */
    excludeFields?: string[];
    /**
     * Allows you to either expand or collapse all the headers that are displayed in the pivot table.
     * By default, all the headers are collapsed in the pivot table.
     * > It is applicable only for Relational data.
     *
     * @default false
     */
    expandAll?: boolean;
    /**
     * Allows you to set the value fields that to be plotted either in row or column axis in the pivot table.
     *
     * @default 'column'
     */
    valueAxis?: string;
    /**
     * Allows you to display the value headers based on the index position in row or column axis in the pivot table.
     * By default, the value headers are displayed at last index position based on the `valueAxis` property.
     * > It is applicable only for relational data source.
     *
     * @default '-1'
     * @aspType int
     */
    valueIndex?: number;
    /**
     * Allows specific fields associated with either selective or conditional-based filter members that used to be displayed in the pivot table.
     *
     * @default []
     */
    filterSettings?: FilterModel[];
    /**
     * Allows specific fields associated with sort settings to order their members either in ascending or descending that used to be displayed in the pivot table.
     * By default, the data source containing fields are display with Ascending order alone. To use this option, it requires the `enableSorting` property to be **true**.
     *
     * @default []
     */
    sortSettings?: SortModel[];
    /**
     * Allows to perform sort operation to order members of a specific fields either in ascending or descending that used to be displayed in the pivot table.
     *
     * @default true
     */
    enableSorting?: boolean;
    /**
     * Allows to define the data source type.
     *
     * @default JSON
     */
    type?: DataSourceType;
    /**
     * Allows to perform filter operation based on the selective filter members of the specific fields used to be displayed in the pivot table.
     *
     * @default true
     */
    allowMemberFilter?: boolean;
    /**
     * Allows to perform filter operation based on the selective headers used to be displayed in the pivot table.
     *
     * @default false
     */
    allowLabelFilter?: boolean;
    /**
     * Allows to perform filter operation based only on value fields and its resultant aggregated values over other fields defined in row and column axes that used to be displayed in the pivot table.
     *
     * @default false
     */
    allowValueFilter?: boolean;
    /**
     * Allows to show or hide sub-totals in both rows and columns axis of the pivot table.
     *
     * @default true
     */
    showSubTotals?: boolean;
    /**
     * Allows to show or hide sub-totals in row axis of the pivot table.
     *
     * @default true
     */
    showRowSubTotals?: boolean;
    /**
     * Allows to show or hide sub-totals in column axis of the pivot table.
     *
     * @default true
     */
    showColumnSubTotals?: boolean;
    /**
     * Allows the row and column sub-totals to be displayed at the top or bottom of the header group in the pivot table.
     * > By default, the column sub-totals are displayed at the bottom and row sub-totals are displayed at the top of their header group in the pivot table.
     *
     * @default Auto
     */
    subTotalsPosition?: SubTotalsPosition;
    /**
     * Allows to show or hide grand totals in both rows and columns axis of the pivot table.
     *
     * @default true
     */
    showGrandTotals?: boolean;
    /**
     * Allows the grand totals to be displayed at the top or bottom of the pivot table's row and column axes.
     * > By default, the grand totals are displayed at the bottom of the pivot table's row and column axes.
     *
     * @default Bottom
     */
    grandTotalsPosition?: GrandTotalsPosition;
    /**
     * Allows to show or hide grand totals in row axis of the pivot table.
     *
     * @default true
     */
    showRowGrandTotals?: boolean;
    /**
     * Allows to show or hide grand totals in column axis of the pivot table.
     *
     * @default true
     */
    showColumnGrandTotals?: boolean;
    /**
     * Allows to show the value field header always in pivot table, even if it holds a single field in the value field axis.
     *
     * @default false
     */
    alwaysShowValueHeader?: boolean;
    /**
     * Allows the undefined headers to be displayed in the pivot table, when the specific field(s) are not defined in the raw data.
     * For example, if the raw data for the field ‘Country’ is defined as “United Kingdom” and “State” is not defined means, it will be shown as “United Kingdom >> Undefined” in the header section.
     *
     * @default true
     */
    showHeaderWhenEmpty?: boolean;
    /**
     * Allows the pivot button with specific value field caption along with the aggregation type, to be displayed in the grouping bar and field list UI.
     * For example, if the value field "Sold Amount" is aggregated with Sum, it will be displayed with caption "Sum of Sold Amount" in its pivot button.
     *
     * @default true
     */
    showAggregationOnValueField?: boolean;
    /**
     * Allows specific fields used to display the values with specific format that used to be displayed in the pivot table.
     * For example, to display a specific field with currency formatted values in the pivot table, the set the `format` property to be **C**.
     *
     * @default []
     */
    formatSettings?: FormatSettingsModel[];
    /**
     * Allows specific fields used to display their the headers to be either expanded or collapsed in the pivot table.
     *
     * @default []
     */
    drilledMembers?: DrillOptionsModel[];
    /**
     * Allows to sort individual value field and its aggregated values either in row or column axis to ascending or descending order.
     */
    valueSortSettings?: ValueSortSettingsModel;
    /**
     * Allows to create new calculated fields from the bound data source or using simple formula with basic arithmetic operators in the pivot table.
     *
     * @default []
     */
    calculatedFieldSettings?: CalculatedFieldSettingsModel[];
    /**
     * Allows a collection of values fields to change the appearance of the pivot table value cells with different style properties such as background color, font color, font family, and font size based on specific conditions.
     *
     * @default []
     */
    conditionalFormatSettings?: ConditionalFormatSettingsModel[];
    /**
     * Allows to show custom string to the empty value cells that used to display in the pivot table. You can fill empty value cells with any value like “0”, ”-”, ”*”, “(blank)”, etc.
     */
    emptyCellsTextContent?: string;
    /**
     * Allows specific fields to group their data on the basis of their type.
     * For example, the date type fields can be formatted and displayed based on year, quarter, month, and more. Likewise, the number type fields can be grouped range-wise, such as 1-5, 6-10, etc.
     * You can perform custom group to the string type fields that used to displayed in the pivot table.
     *
     * @default []
     */
    groupSettings?: GroupSettingsModel[];
    /**
     * Allows you to set the credential information to access the specified SSAS cube.
     * > It is applicable only for OLAP data source.
     */
    authentication?: AuthenticationModel;
}
//node_modules/@syncfusion/ej2-pivotview/src/common/popups/toolbar.d.ts
/**
 * Module for Toolbar
 */
/** @hidden */
export  class Toolbar {
    /** @hidden */
    action: string;
    /** @hidden */
    toolbar: navigations.Toolbar;
    /** @hidden */
    isMultiAxisChange: boolean;
    /** @hidden */
    isReportChange: boolean;
    private parent;
    private currentReport;
    private dropArgs;
    private newArgs;
    private renameText;
    private showLableState;
    private chartLableState;
    constructor(parent: PivotView);
    /**
     * It returns the Module name.
     *
     * @returns {string} - string
     * @hidden
     */
    getModuleName(): string;
    private createToolbar;
    private fetchReports;
    private fetchReportsArgs;
    private getItems;
    private reportChange;
    private reportLoad;
    private saveReport;
    private mdxQueryDialog;
    private dialogShow;
    private renameReport;
    private actionClick;
    private renderDialog;
    private renderMDXDialog;
    private copyMDXQuery;
    private okBtnClick;
    private createNewReport;
    private cancelBtnClick;
    private createConfirmDialog;
    private okButtonClick;
    private cancelButtonClick;
    /**
     *
     * @returns {void}
     * @hidden
     */
    createChartMenu(): void;
    private create;
    private getCurrentReport;
    private updateItemElements;
    private whitespaceRemove;
    private multipleAxesCheckbox;
    private getLableState;
    private getAllChartItems;
    private updateExportMenu;
    private updateSubtotalSelection;
    private updateGrandtotalSelection;
    private updateReportList;
    private menuItemClick;
    /**
     *
     * @returns {void}
     * @hidden
     */
    addEventListener(): void;
    private getValidChartType;
    private createChartTypeDialog;
    private removeDialog;
    private chartTypeDialogUpdate;
    private updateChartType;
    private getDialogContent;
    private changeDropDown;
    private beforeOpen;
    /**
     * To refresh the toolbar
     *
     * @returns {void}
     * @hidden
     */
    refreshToolbar(): void;
    /**
     *
     * @returns {void}
     * @hidden
     */
    removeEventListener(): void;
    /**
     * To destroy the toolbar
     *
     * @returns {void}
     * @hidden
     */
    destroy(): void;
    private focusToolBar;
}
//node_modules/@syncfusion/ej2-pivotview/src/common/popups/grouping.d.ts
/**
 * `Grouping` module to create grouping option for date, number and custom in popup.
 */
/** @hidden */
export  class Grouping implements IAction {
    private parent;
    private parentElement;
    /** @hidden */
    isUpdate: boolean;
    private dateGroup;
    /**
     * Constructor for the group UI rendering.
     *
     * @param {PivotView} parent - Instance.
     * @hidden
     */
    constructor(parent?: PivotView);
    /**
     * For internal use only - Get the module name.
     *
     * @returns {string} - string
     * @private
     */
    protected getModuleName(): string;
    private render;
    /**
     * Returns the selected members/headers by checing the valid members from the pivot table.
     *
     * @function getSelectedOptions
     * @param  {SelectedCellsInfo[]} selectedCellsInfo - Get the members name from the given selected cells information
     * @returns {string[]} - string
     * @hidden
     */
    getSelectedOptions(selectedCellsInfo: SelectedCellsInfo[]): string[];
    private createGroupSettings;
    private updateUnGroupSettings;
    private updateDateSource;
    private removeGroupSettings;
    private getGroupSettings;
    private isDateType;
    /**
     * Returns the selected members/headers by checing the valid members from the pivot table.
     *
     * @function getSelectedCells
     * @param  {string} axis - Spicifies the axis name for the given field.
     * @param  {string} fieldName - Gets selected members for the given field name.
     * @param  {string} name - specifies the selected member name for the given field.
     * @returns {SelectedCellsInfo[]} - return type
     * @hidden
     */
    getSelectedCells(axis: string, fieldName: string, name: string): SelectedCellsInfo[];
    private createGroupDialog;
    private createGroupOptions;
    private updateGroupSettings;
    private getGroupBasedSettings;
    private getGroupByName;
    private validateSettings;
    private reOrderSettings;
    private modifyParentGroupItems;
    private mergeArray;
    private removeDialog;
    /**
     *
     * @returns {void}
     * @hidden
     */
    addEventListener(): void;
    /**
     *
     * @returns {void}
     * @hidden
     */
    removeEventListener(): void;
    /**
     * To destroy the pivot button event listener
     *
     * @returns {void}
     * @hidden
     */
    destroy(): void;
}
/**
 * @hidden
 */
export interface SelectedCellsInfo {
    axis: string;
    fieldName: string;
    cellInfo: IAxisSet;
    name: string;
}
//node_modules/@syncfusion/ej2-pivotview/src/common/popups/formatting-dialog.d.ts
/**
 * Module to render NumberFormatting popups.Dialog
 */
export  class NumberFormatting implements IAction {
    /** @hidden */
    parent: PivotView;
    /** @hidden */
    dialog: popups.Dialog;
    private customText;
    private customLable;
    private newFormat;
    private lastFormattedValue;
    constructor(parent?: PivotView);
    /**
     * To get module name.
     *
     * @returns {string} - It returns Module Name
     */
    protected getModuleName(): string;
    /**
     * To show Number Formatting dialog.
     *
     * @returns {void}
     * @hidden
     */
    showNumberFormattingDialog(): void;
    private getDialogContent;
    private renderControls;
    private valueChange;
    private updateFormattingDialog;
    private customUpdate;
    private dropDownChange;
    private groupingChange;
    private getIndexValue;
    private decimalChange;
    private formattedText;
    private removeDialog;
    private updateFormatting;
    private insertFormat;
    /**
     * To add event listener.
     *
     * @returns {void}
     * @hidden
     */
    addEventListener(): void;
    /**
     * To remove event listener.
     *
     * @returns {void}
     * @hidden
     */
    removeEventListener(): void;
    /**
     * To destroy the calculated field dialog
     *
     * @returns {void}
     * @hidden
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-pivotview/src/common/popups/filter-dialog.d.ts
/**
 * `FilterDialog` module to create filter dialog.
 */
/** @hidden */
export  class FilterDialog {
    /** @hidden */
    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;
    /** @hidden */
    filterObject: IFilter;
    private timeOutObj;
    /**
     * Constructor for the dialog action.
     *
     * @param {PivotCommon} parent - parent
     * @hidden
     */
    constructor(parent?: PivotCommon);
    /**
     * Creates the member filter dialog for the selected field.
     *
     * @function createFilterDialog
     * @param {any} treeData -treeData.
     * @param {string} fieldName -fieldName.
     * @param {string} fieldCaption -fieldCaption.
     * @param {HTMLElement} target -target.
     * @returns {void}
     * @hidden
     */
    createFilterDialog(treeData: {
        [key: string]: Object;
    }[], fieldName: string, fieldCaption: string, target: HTMLElement): void;
    private createTreeView;
    private createSortOptions;
    private createLevelWrapper;
    private searchOlapTreeView;
    private nodeCheck;
    private applySorting;
    private updateFilterMembers;
    private updateChildNodes;
    private updateChildData;
    private createTabMenu;
    private createCustomFilter;
    private createElements;
    private updateInputValues;
    private validateTreeNode;
    /**
     * Update filter state while Member check/uncheck.
     *
     * @returns {void}
     * @hidden
     */
    updateCheckedState(): void;
    private getCheckedNodes;
    private getUnCheckedNodes;
    private isExcelFilter;
    private getFilterObject;
    private wireEvent;
    private unWireEvent;
    /**
     * To close filter dialog.
     *
     * @returns {void}
     * @hidden
     */
    closeFilterDialog(): void;
    private removeFilterDialog;
    /** @hidden */
    setFocus(): void;
}
//node_modules/@syncfusion/ej2-pivotview/src/common/popups/error-dialog.d.ts
/**
 * `ErrorDialog` module to create error dialog.
 */
/** @hidden */
export  class ErrorDialog {
    /** @hidden */
    parent: PivotCommon;
    /** @hidden */
    errorPopUp: popups.Dialog;
    /**
     * Constructor for the dialog action.
     *
     * @param {PivotCommon} parent - parent.
     * @hidden
     */
    constructor(parent: PivotCommon);
    /**
     * Creates the error dialog for the unexpected action done.
     *
     * @function createErrorDialog
     * @param {string} title - title.
     * @param {string} description - description.
     * @returns {void}
     * @hidden
     */
    createErrorDialog(title: string, description: string): void;
    private closeErrorDialog;
    /** @hidden */
    removeErrorDialog(): void;
}
//node_modules/@syncfusion/ej2-pivotview/src/common/popups/drillthrough-dialog.d.ts
/**
 * `DrillThroughDialog` module to create drill-through dialog.
 */
/** @hidden */
export  class DrillThroughDialog {
    /** @hidden */
    parent: PivotView;
    /** @hidden */
    dialogPopUp: popups.Dialog;
    /** @hidden */
    drillThroughGrid: grids.Grid;
    /** @hidden */
    indexString: string[];
    private isUpdated;
    private isEdited;
    private engine;
    private drillthroughKeyboardModule;
    /**
     * Constructor for the dialog action.
     *
     * @param {PivotView} parent - parent.
     * @hidden
     */
    constructor(parent?: PivotView);
    /**
     * show Drill Through popups.Dialog
     *
     * @param {DrillThroughEventArgs} eventArgs - eventArgs.
     * @returns {void}
     * @hidden */
    showDrillThroughDialog(eventArgs: DrillThroughEventArgs): void;
    private editCell;
    private updateData;
    private removeDrillThroughDialog;
    private createDrillThroughGrid;
    /**
     * frame grids.Grid Columns
     *
     * @param {IDataSet[]} rawData - rawData.
     * @returns {grids.ColumnModel[]} - frame grids.Grid Columns
     * @hidden */
    frameGridColumns(rawData: IDataSet[]): grids.ColumnModel1[];
    private isDateFieldExist;
    private formatData;
    private dataWithPrimarykey;
    private drillthroughKeyActionHandler;
    private processClose;
    /**
     * To destroy the drillthrough keyboard module.
     *
     * @returns  {void}
     * @hidden
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-pivotview/src/common/popups/context-menu.d.ts
/**
 * Module to render Pivot button
 */
/** @hidden */
export  class PivotContextMenu {
    /** @hidden */
    parent: PivotView | PivotFieldList;
    /** @hidden */
    menuObj: navigations.ContextMenu;
    /** @hidden */
    fieldElement: HTMLElement;
    /**
     * Constructor for render module
     *
     * @param {PivotView | PivotFieldList} parent - parent
     * */
    constructor(parent: PivotView | PivotFieldList);
    /**
     * Initialize the pivot table rendering
     *
     * @returns {void}
     * @private
     */
    render(): void;
    private renderContextMenu;
    private onBeforeMenuOpen;
    private onSelectContextMenu;
    /**
     * To destroy the pivot button event listener
     *
     * @returns {void}
     * @hidden
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-pivotview/src/common/popups/aggregate-menu.d.ts
/**
 * `AggregateMenu` module to create aggregate type popup.
 */
/** @hidden */
export  class AggregateMenu {
    /** @hidden */
    parent: PivotView | PivotFieldList;
    private menuInfo;
    private parentElement;
    private buttonElement;
    private currentMenu;
    private stringAggregateTypes;
    /**
     * Constructor for the rener action.
     *
     * @param {PivotView | PivotFieldList} parent - It contains the value of parent.
     * @hidden
     */
    constructor(parent?: PivotView | PivotFieldList);
    /**
     * Initialize the pivot table rendering
     *
     * @param {base.MouseEventArgs} args - It contains the args value
     * @param {HTMLElement} parentElement - It contains the value of parentElement
     * @returns {void}
     * @private
     */
    render(args: base.MouseEventArgs, parentElement: HTMLElement): void;
    private openContextMenu;
    private createContextMenu;
    private getMenuItem;
    private beforeMenuOpen;
    /**
     * create Value Settings Dialog
     *
     * @param {HTMLElement} target - It represent the target element.
     * @param {HTMLElement} parentElement - It represent the parentElement.
     * @param {string} type -It represent the type.
     * @returns {void}
     * @hidden */
    createValueSettingsDialog(target: HTMLElement, parentElement: HTMLElement, type?: string): void;
    private createFieldOptions;
    private selectOptionInContextMenu;
    private updateDataSource;
    private updateValueSettings;
    private removeDialog;
    /**
     * To destroy the pivot button event listener
     *
     * @returns {void}
     * @hidden
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-pivotview/src/common/grouping-bar/grouping-bar.d.ts
/**
 * Module for GroupingBar rendering
 */
/** @hidden */
export  class GroupingBar implements IAction {
    /**
     * Internal variables
     */
    /** @hidden */
    gridPanel: navigations.Toolbar;
    /** @hidden */
    chartPanel: navigations.Toolbar;
    private groupingTable;
    private groupingChartTable;
    private rightAxisPanel;
    /** @hidden */
    rowPanel: HTMLElement;
    private rowAxisPanel;
    private touchObj;
    private resColWidth;
    private timeOutObj;
    private rowAxisWidth;
    /**
     * Module declarations
     */
    private parent;
    /** Constructor for GroupingBar module
     *
     * @param {PivotView} parent - Instance.
     */
    constructor(parent: PivotView);
    /**
     * For internal use only - Get the module name.
     *
     * @returns {string} - Module name.
     * @private
     */
    protected getModuleName(): string;
    /**
     * @hidden
     * @returns {void}
     */
    renderLayout(): void;
    /**
     * Appends the grouping table or chart table element to the DOM based on the display option and layout settings.
     *
     * @returns {void}
     * @hidden
     */
    appendToElement(): void;
    private updateChartAxisHeight;
    /**
     * @hidden
     * @returns {void}
     */
    refreshUI(): void;
    /**
     *
     * @returns {void}
     * @hidden
     */
    alignIcon(): void;
    /**
     *
     * @returns {void}
     * @hidden
     */
    setGridRowWidth(): void;
    private wireEvent;
    private unWireEvent;
    private dropIndicatorUpdate;
    private tapHoldHandler;
    /**
     *
     * @returns {void}
     * @hidden
     */
    RefreshFieldsPanel(): void;
    private createToolbarUI;
    /**
     *
     * @returns {void}
     * @hidden
     */
    addEventListener(): void;
    /**
     *
     * @returns {void}
     * @hidden
     */
    removeEventListener(): void;
    /**
     * To destroy the groupingbar
     *
     * @returns {void}
     * @hidden
     */
    destroy(): void;
    private getPivotButtonsTotalWidth;
}
//node_modules/@syncfusion/ej2-pivotview/src/common/grouping-bar/axis-field-renderer.d.ts
/**
 * Module to render Axis Fields
 */
/** @hidden */
export  class AxisFields {
    /** @hidden */
    parent: PivotView;
    /** Constructor for render module
     *
     * @param {PivotView} parent - Instance.
     */
    constructor(parent: PivotView);
    /**
     * Initialize the grouping bar pivot button rendering
     *
     * @returns {void}
     * @private
     */
    render(): void;
    private createPivotButtons;
}
//node_modules/@syncfusion/ej2-pivotview/src/common/conditionalformatting/conditional-formatting.d.ts
/**
 * Module to render Conditional Formatting Dialog
 */
/** @hidden */
export  class ConditionalFormatting {
    /** @hidden */
    parent: PivotView;
    /**
     * Internal variables.
     */
    private parentID;
    private fontColor;
    private backgroundColor;
    private newFormat;
    /** Constructor for conditionalformatting module
     *
     * @param {PivotView} parent - Instance of pivot table.
     */
    constructor(parent: PivotView);
    /**
     * To get module name.
     *
     * @returns {string} - Module name.
     */
    protected getModuleName(): string;
    private createDialog;
    private beforeOpen;
    private addButtonClick;
    private applyButtonClick;
    private cancelButtonClick;
    private refreshConditionValues;
    private addFormat;
    private createDialogElements;
    private renderDropDowns;
    private conditionChange;
    private onCheckChange;
    private fontNameChange;
    private fontSizeChange;
    private measureChange;
    private renderColorPicker;
    private backColorChange;
    private fontColorChange;
    private toggleButtonClick;
    /**
     * To check is Hex or not.
     *
     * @param {string} h - It represent the hex value.
     * @returns {boolean} - It returns the isHex value as boolean.
     * @hidden
     */
    isHex(h: string): boolean;
    /**
     * To convert hex to RGB.
     *
     * @param {string} hex - hex value.
     * @returns { { r: number, g: number, b: number } | null } - Hex value.
     * @hidden
     */
    hexToRgb(hex: string): {
        r: number;
        g: number;
        b: number;
    } | null;
    /**
     * To convert color to hex.
     *
     * @param {string} colour - It contains the color value.
     * @returns {string} - It returns the colour Name To Hex.
     * @hidden
     */
    colourNameToHex(colour: string): string;
    private removeDialog;
    private destroyColorPickers;
    /**
     * To create Conditional Formatting dialog.
     *
     * @returns {void}
     * @hidden
     */
    showConditionalFormattingDialog(): void;
    /**
     * To destroy the Conditional Formatting dialog
     *
     * @returns {void}
     * @hidden
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-pivotview/src/common/calculatedfield/calculated-field.d.ts
/** @hidden */
export  class CalculatedField implements IAction {
    /** @hidden */
    parent: PivotView | PivotFieldList;
    /** @hidden */
    isFormula: boolean;
    /** @hidden */
    isRequireUpdate: boolean;
    /** @hidden */
    buttonCall: boolean;
    /** @hidden */
    field: string;
    /**
     * Internal variables.
     */
    private treeObj;
    private droppable;
    private newFields;
    private curMenu;
    private isFieldExist;
    private parentID;
    private existingReport;
    private formulaText;
    private fieldText;
    private formatType;
    private formatText;
    private fieldType;
    private parentHierarchy;
    private keyboardEvents;
    private isEdit;
    private currentFieldName;
    private currentFormula;
    private formatTypes;
    /**
     * Constructor for calculatedfield module.
     *
     * @param {PivotView | PivotFieldList} parent - It represent the parent.
     */
    constructor(parent: PivotView | PivotFieldList);
    /**
     * To get module name.
     *
     * @returns {string} - It returns the Module name.
     */
    protected getModuleName(): string;
    private keyActionHandler;
    /**
     * Trigger while click treeview icon.
     *
     * @param  {NodeClickEventArgs} e - Click event argument.
     * @returns {void}
     */
    private fieldClickHandler;
    /**
     * Trigger while click treeview icon.
     *
     * @param  {AccordionClickArgs} e - Click event argument.
     * @returns {void}
     */
    private accordionClickHandler;
    private accordionCreated;
    private clearFormula;
    /**
     * To display context menu.
     *
     * @param  {HTMLElement} node - It contains the value of node.
     * @param  {HTMLElement} treeNode - It contains the value of tree Node.
     * @param  {HTMLElement} target - It represent the target.
     * @returns {void}
     */
    private displayMenu;
    private removeCalcField;
    /**
     * To set position for context menu.
     *
     * @param {HTMLElement} node - It contains the value of node.
     * @returns {void}
     */
    private openContextMenu;
    /**
     * Triggers while select menu.
     *
     * @param  {MenuEventArgs} menu - It represent the menu.
     * @returns {void}
     */
    private selectContextMenu;
    /**
     * To create context menu.
     *
     * @param {MenuItemModel[]} menuItems - It represent the menuItems.
     * @param {HTMLElement} node - It represent the node data.
     * @returns {void}
     */
    private createMenu;
    /**
     * Triggers while click OK button.
     *
     * @returns {void}
     */
    private applyFormula;
    private getCalculatedFieldInfo;
    private updateFormatSettings;
    private addFormula;
    /**
     *
     * @returns {void}
     * @hidden */
    endDialog(): void;
    /**
     *
     * @returns {void}
     * @hidden */
    showError(): void;
    /**
     * To get treeview data
     *
     * @param  {PivotView | PivotFieldList} parent - It represent the parent.
     * @returns {any} - Field List Data.
     */
    private getFieldListData;
    /**
     * Trigger while drop node in formula field.
     *
     * @param {DragAndDropEventArgs} args - It contains the value of args.
     * @returns {void}
     */
    private fieldDropped;
    /**
     * To create dialog.
     *
     * @returns {void}
     */
    private createDialog;
    private cancelClick;
    private beforeOpen;
    private closeDialog;
    private setFocus;
    /**
     * To render dialog elements.
     *
     * @returns {void}
     */
    private renderDialogElements;
    /**
     * To create calculated field adaptive layout.
     *
     * @param {boolean} isEdit - It contains the value of isEdit
     * @returns {void}
     */
    private renderAdaptiveLayout;
    /**
     * To update calculated field info in adaptive layout.
     *
     * @param {boolean} isEdit - isEdit.
     * @param {string} fieldName - fieldName.
     * @returns {void}
     * @hidden
     */
    updateAdaptiveCalculatedField(isEdit: boolean, fieldName?: string): void;
    /**
     * To create treeview.
     *
     * @returns {void}
     */
    private createDropElements;
    private getFormat;
    /**
     * To create treeview.
     *
     * @returns {void}
     */
    private createTreeView;
    private updateNodeIcon;
    private nodeCollapsing;
    private dragStart;
    /**
     * Trigger before treeview text append.
     *
     * @param {DrawNodeEventArgs} args - args.
     * @returns {void}
     */
    private drawTreeNode;
    /**
     * To create radio buttons.
     *
     * @param {string} key - key.
     * @returns {HTMLElement} - createTypeContainer
     */
    private createTypeContainer;
    private getMenuItems;
    private getValidSummaryType;
    /**
     * To get Accordion Data.
     *
     * @param  {PivotView | PivotFieldList} parent - parent.
     * @returns {AccordionItemModel[]} - Accordion Data.
     */
    private getAccordionData;
    /**
     * To render mobile layout.
     *
     * @param {Tab} tabObj - 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.
     *
     * @param {any} args - It contains the args value.
     * @param {boolean} args.edit - It contains the value of edit under args.
     * @param {string} args.fieldName - It contains the value of fieldName under args.
     * @returns {void}
     * @hidden
     */
    createCalculatedFieldDialog(args?: {
        edit: boolean;
        fieldName: string;
    }): void;
    /**
     * To create calculated field desktop layout.
     *
     * @returns {void}
     */
    private renderDialogLayout;
    private createConfirmDialog;
    private replaceFormula;
    private removeErrorDialog;
    private closeErrorDialog;
    private triggerActionCompleteEvent;
    /**
     * 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/base/themes.d.ts
/**
 * Specifies Chart Themes
 */
/** @private */
export  const axisLabelFont: charts.IFontMapping;
/** @private */
export  const axisTitleFont: charts.IFontMapping;
/** @private */
export  const chartTitleFont: charts.IFontMapping;
/** @private */
export  const chartSubTitleFont: charts.IFontMapping;
/** @private */
export  const crosshairLabelFont: charts.IFontMapping;
/** @private */
export  const tooltipLabelFont: charts.IFontMapping;
/** @private */
export  const legendLabelFont: charts.IFontMapping;
/** @private */
export  const stripLineLabelFont: charts.IFontMapping;
/** @private */
export  const stockEventFont: charts.IFontMapping;
//node_modules/@syncfusion/ej2-pivotview/src/common/base/pivot-common.d.ts
/**
 * PivotCommon is used to manipulate the relational or Multi-Dimensional public methods by using their dataSource
 *
 * @hidden
 */
/** @hidden */
export  class PivotCommon {
    /** @hidden */
    globalize: base.Internationalization;
    /** @hidden */
    localeObj: base.L10n;
    /** @hidden */
    engineModule: PivotEngine | OlapEngine;
    /** @hidden */
    dataSourceSettings: IDataOptions;
    /** @hidden */
    element: HTMLElement;
    /** @hidden */
    moduleName: string;
    /** @hidden */
    enableRtl: boolean;
    /** @hidden */
    isAdaptive: boolean;
    /** @hidden */
    renderMode: Mode;
    /** @hidden */
    parentID: string;
    /** @hidden */
    control: PivotView | PivotFieldList;
    /** @hidden */
    currentTreeItems: {
        [key: string]: Object;
    }[];
    /** @hidden */
    savedTreeFilterPos: {
        [key: number]: string;
    };
    /** @hidden */
    currentTreeItemsPos: {
        [key: string]: TreeDataInfo;
    };
    /** @hidden */
    searchTreeItems: {
        [key: string]: Object;
    }[];
    /** @hidden */
    editorLabelElement: HTMLLabelElement;
    /** @hidden */
    isDataOverflow: boolean;
    /** @hidden */
    isDateField: boolean;
    /** @hidden */
    dataType: string;
    /** @hidden */
    cssClass: string;
    /** @hidden */
    enableHtmlSanitizer: boolean;
    /** @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 - It contains the value of control.
     * @hidden
     */
    constructor(control: CommonArgs);
    /**
     * To destroy the groupingbar.
     *
     * @returns {void}
     * @hidden
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-pivotview/src/common/base/interface.d.ts
/**
 * Interface
 */
/**
 * The load event arguments provides the necessary information to customize the pivot table before initializing the component.
 */
export interface LoadEventArgs {
    /** Defines current report */
    dataSourceSettings?: IDataOptions;
    /** Defines the pivot table instance object*/
    pivotview?: PivotView;
    /** Defines the type of specific fields */
    fieldsType?: IStringIndex;
    /** Defines the default field list order */
    defaultFieldListOrder?: Sorting;
}
/**
 * The save report event arguments provides the necessary information to save the report.
 */
export interface SaveReportArgs {
    /** Defines current dataSource */
    report?: string;
    /** Defines report name to save */
    reportName?: string;
}
/**
 * The fetch report event arguments provides the necessary information to fetch reports from storage.
 */
export interface FetchReportArgs {
    /** Defines the report list from storage */
    reportName?: string[];
}
/**
 * The load report event arguments provides the necessary information to load the report.
 */
export interface LoadReportArgs {
    /** Defines current report */
    report?: string;
    /** Defines report name to load */
    reportName?: string;
}
/**
 * The rename report event arguments provides the necessary information to rename the report.
 */
export interface RenameReportArgs {
    /** Defines current report */
    report?: string;
    /** Defines rename of current report */
    rename?: string;
    /** Defines current report name to rename */
    reportName?: string;
    /** Defines whether report already exist with this name or not */
    isReportExists?: boolean;
}
/**
 * The remove report event arguments provides the necessary information to remove the report.
 */
export interface RemoveReportArgs {
    /** Defines current report */
    report?: string;
    /** Defines report name to remove the report */
    reportName?: string;
}
/**
 * The new report event arguments provides the necessary information to create a new report.
 */
export interface NewReportArgs {
    /** Defines current report */
    report?: string;
}
/**
 * The toolbar event arguments provides the necessary information to customize options of the toolbar creating.
 */
export interface ToolbarArgs {
    /**
     * Defines the collection of items used to add or remove items to create as toolbar options.
     */
    customToolbar?: navigations.ItemModel[];
}
/**
 * The engine populating event arguments provides the necessary information to customize the report before populating the pivot engine.
 */
export interface EnginePopulatingEventArgs {
    /** Defines current report. */
    dataSourceSettings?: IDataOptions;
}
/**
 * The engine populated event arguments provides the necessary information about the engine populated using updated report.
 */
export interface EnginePopulatedEventArgs {
    /** Defines the updated report to get updated pivot table cell collection and field list information. */
    dataSourceSettings?: IDataOptions;
    /** Defines the updated field list information from the populated engine to update the field list. */
    pivotFieldList?: IFieldListOptions;
    /** Defines the updated pivot table cell information from the populated engine to update the pivot table. */
    pivotValues?: IAxisSet[][];
}
/**
 * The field dropped event arguments provides the necessary information about the dropped field and its dropped axis.
 */
export interface FieldDroppedEventArgs {
    /** Defines the dropped field name */
    fieldName?: string;
    /** Defines the dropped field item */
    droppedField?: IFieldOptions;
    /** Defines current report */
    dataSourceSettings?: IDataOptions;
    /** Defines the axis where the field has been dropped */
    droppedAxis?: string;
    /** Defines the position where the field has been dropped. */
    droppedPosition?: number;
}
/**
 * The field drop event arguments provides the necessary information to customize the drop field and its drop axis.
 */
export interface FieldDropEventArgs {
    /** Defines drop field name */
    fieldName?: string;
    /** Defines drop field item */
    dropField?: IFieldOptions;
    /** Defines current report */
    dataSourceSettings?: IDataOptions;
    /** Defines the axis where the field will drop */
    dropAxis?: string;
    /**
     * Defines drop field position
     */
    dropPosition?: number;
    /** Defines the axis where the field has been dragged */
    draggedAxis?: string;
    /** Defines an option to restrict the field drop operation */
    cancel?: boolean;
}
/**
 * The field drag start event arguments provides the necessary information about the drag field and its axis.
 */
export interface FieldDragStartEventArgs {
    /** Defines drag field name */
    fieldName?: string;
    /** Defines drag field item */
    fieldItem?: IFieldOptions;
    /** Defines current report */
    dataSourceSettings?: IDataOptions;
    /** Defines the axis where the field is dragged */
    axis?: string;
    /** Defines an option to restrict the field drag operation */
    cancel?: boolean;
}
/**
 * The before export event arguments provides the necessary information to customize before exporting the file.
 */
export interface BeforeExportEventArgs {
    /** Defines exported field name */
    fileName?: string;
    /** Defines header text */
    header?: string;
    /** Defines footer text */
    footer?: string;
    /** Defines pivot table cell collections */
    dataCollections?: IAxisSet[][];
    /** Defines option to disable the repeat headers */
    allowRepeatHeader?: boolean;
    /** Defines the theme style for PDF */
    style?: PdfTheme;
    /**
     * Defines the additional settings for PDF export such as page size, orientation, header, footer, etc.
     */
    pdfExportProperties?: grids.PdfExportProperties;
    /** Defines an option to export multiple pivot table to the same PDF file */
    isMultipleExport?: boolean;
    pdfDoc?: Object;
    /** A file-like object of immutable, raw data. Blobs represent data that isn't necessarily in a JavaScript-native format. The File interface is based on Blob, inheriting blob functionality and expanding it to support files on the user's system. */
    isBlob?: boolean;
    /** Defines the additional settings for excel export such as multiple export, header, footer, etc.
     */
    excelExportProperties?: grids.ExcelExportProperties;
    workbook?: excelExport.Workbook;
    /**
     * Defines the pivot chart export type
     *
     * @isEnumeration
     */
    type?: charts.ExportType;
    orientation?: pdfExport.PdfPageOrientation;
    /**
     * Defines content width to be export
     */
    width?: number;
    /** Defines content height to be export
     */
    height?: number;
    /**
     * Determines if the table or chart will be exported to the current document.
     */
    currentExportView?: ExportView;
    /**
     * Defines the number of columns that will be exported for each PDF page.
     * > This option is applicable only when exporting the pivot table to PDF document.
     */
    columnSize?: number;
    /**
     * Specifies the margins of a PDF document when exporting a pivot table or pivot chart.
     */
    pdfMargins?: PdfMargins;
}
/**
 * Interface for defining the margins of the PDF document when exporting a pivot table or pivot chart.
 */
export interface PdfMargins {
    /**
     * Specifies the top margin of the PDF document.
     */
    top?: number;
    /**
     * Specifies the right margin of the PDF document.
     */
    right?: number;
    /**
     * Specifies the bottom margin of the PDF document.
     */
    bottom?: number;
    /**
     * Specifies the left margin of the PDF document.
     */
    left?: number;
}
/**
 * Defines the row and column page size of the pivot table to be exported while virtualization is enabled.
 *
 * @hidden
 */
export interface ExportPageSize {
    /**
     * Specifies the row page size.
     */
    rowSize?: number;
    /**
     * Specifies the column page size.
     */
    columnSize?: number;
}
/**
 * The PDF cell render event arguments provides the necessary information to customize the pivot cells while PDF exporting.
 */
export interface PdfCellRenderArgs {
    /** Defines the style of the current cell. */
    style?: PdfStyle;
    /** Defines the current PDF cell */
    cell?: pdfExport.PdfGridCell;
    /** Defines the current cell item */
    pivotCell?: IAxisSet;
    /** Defines the current cell's PDF column, which is used to customize the column width. */
    column?: pdfExport.PdfGridColumn;
}
/**
 * Defines the styles information to customize the PDF cell.
 */
export interface PdfStyle {
    /** Defines the font family */
    fontFamily?: string;
    /**
     * Defines the font size
     */
    fontSize?: number;
    /** Defines the brush color of font */
    textBrushColor?: string;
    /** Defines the pen color of font */
    textPenColor?: string;
    /** Defines the font bold */
    bold?: boolean;
    /** Defines the italic font */
    italic?: boolean;
    /** Defines the strike-out font */
    strikeout?: boolean;
    /** Defines the underlined font */
    underline?: boolean;
    /** Defines the grid border */
    border?: PdfBorder;
    /** Defines the background color */
    backgroundColor?: string;
}
/**
 * The cell click event arguments provides the necessary information about the cell clicked in the pivot table.
 */
export interface CellClickEventArgs {
    /** Defines the cell element that is clicked. */
    currentCell: Element;
    /** Defines the cell item that is clicked. */
    data: Object;
    /** Defines the native event properties. */
    nativeEvent: MouseEvent;
}
/**
 * The hyperlink cell click event arguments provides the necessary information about the cell clicked in the pivot table for hyperlink.
 */
export interface HyperCellClickEventArgs {
    /** Defines the cell element that is clicked. */
    currentCell: Element;
    /** Defines the cell item that is clicked. */
    data: Object;
    /** Defines an option to restrict the hyperlink cell click operation. By default, the value is in 'true' state. */
    cancel: boolean;
    /** Defines the native event properties. */
    nativeEvent: MouseEvent;
}
/**
 * The drill-through event arguments provides the necessary information about the cell clicked in the pivot table for drill-through.
 */
export interface DrillThroughEventArgs {
    /** Defines the cell element that is clicked. */
    currentTarget: Element;
    /** Defines the cell item that is clicked. */
    currentCell: IAxisSet;
    /** Defines the actual cell set information about the clicked cell. */
    rawData: IDataSet[];
    /** Defines the row header of the clicked cell. */
    rowHeaders: string;
    /** Defines the column header of the clicked cell. */
    columnHeaders: string;
    /** Defines the actual value of the clicked cell. */
    value: string;
    /**
     * Defines the grid cell information that used to render multiple header rows(stacked headers) on the grids.Grid header in drill-through popup dialog.
     */
    gridColumns?: grids.ColumnModel1[];
    /** Defines an option to restrict the drill-through operation. */
    cancel?: boolean;
}
/**
 * The event argument which holds the information of the clicked multi-level label.
 */
export interface MultiLevelLabelClickEventArgs {
    /** Defines the chart axis. */
    axis: charts.Axis;
    /** Defines the clicked label text. */
    text: string;
    /** Defines an option to restrict the drill up/down operation. */
    cancel?: boolean;
    /** Defines the pivot cell of the clicked label. */
    cell: IAxisSet;
}
/**
 * The event argument which holds the information of the multi-level labels that renders.
 */
export interface MultiLevelLabelRenderEventArgs extends charts.IChartEventArgs {
    /** Defines the current axis. */
    axis: charts.Axis;
    /** Defines axis current label text. */
    text: string;
    /** Defines font style for multi labels. */
    textStyle: charts.FontModel;
    /** Defines text alignment for multi labels. */
    alignment: charts.Alignment;
    /** Defines custom objects for multi labels. */
    customAttributes: object;
}
/**
 * The event argument which holds the editing information of the raw data made in corresponding aggregated cell.
 */
export interface EditCompletedEventArgs {
    /** Defines the edited raw data */
    currentData: IDataSet[];
    /** Defines the actual raw data */
    previousData: IDataSet[];
    /** Defines an option to restrict the pivot table update */
    cancel?: boolean;
    /** Defines the index position of the actual raw data */
    previousPosition: number[];
}
/**
 * The member filtering event arguments provides the necessary information about the filtering which is performing.
 */
export interface MemberFilteringEventArgs {
    /** Defines the filter settings that is currently applied. */
    filterSettings?: IFilter;
    /** Defines the current report. */
    dataSourceSettings?: IDataOptions;
    /** Defines an option to restrict the filtering operation. */
    cancel?: boolean;
}
/**
 * Defines the selected cells information on the pivot table.
 */
export interface CellSelectedObject {
    /** Defines the current cell item. */
    currentCell: IAxisSet;
    /**
     * Defines the current cell value.
     */
    value: number | string;
    /**
     * Defines the row header of the current cell.
     */
    rowHeaders: string | number | Date;
    /**
     * Defines the column header of the current cell.
     */
    columnHeaders: string | number | Date;
    /** Defines the measure of the current cell. */
    measure: string;
}
/**
 * The cell selected event arguments provide the necessary information about the pivot cells that have been selected.
 */
export interface PivotCellSelectedEventArgs extends grids.CellSelectingEventArgs {
    /** Defines the collection of selected cells item. */
    selectedCellsInfo?: CellSelectedObject[];
    /** Defines pivot table cell collections */
    pivotValues?: IAxisSet[][];
    /** Defines the cell element that is selected. */
    currentTarget?: Element;
    /** Defines an option to restrict the cell selection operation. */
    cancel?: boolean;
    /** Defines the cell element that is selected. */
    target?: Element;
    /** Defines the whether the current cell is clicked of not. */
    isCellClick?: boolean;
    /** Defines the current cell item. */
    data?: IAxisSet;
}
/**
 * The drill event arguments provide the necessary information about the pivot cell that performing drill operation.
 */
export interface DrillArgs {
    /** Defines the current cell drill information. */
    drillInfo?: IDrilledItem;
    /** Defines the pivot table instance. */
    pivotview?: PivotView;
    /** Defines an option to restrict the drill operation. */
    cancel?: boolean;
}
/**
 * Defines the grid columns information that used to render as the pivot table header.
 */
export interface PivotColumn {
    /** Allows to enable/disable reordering of the column header. */
    allowReordering: boolean;
    /** Allows to enable/disable resizing of the column header. */
    allowResizing: boolean;
    /** Defines the header text of the column header. */
    headerText: string;
    /**
     * Defines the width of the column header.
     */
    width: string | number;
    /**
     * If `autoFit` set to true, then the column width will be
     * adjusted based on its content in the initial rendering itself.
     *
     * @default false
     */
    autoFit: boolean;
}
/**
 * The column render event arguments provide the necessary information about the pivot table column headers before rendering.
 */
export interface ColumnRenderEventArgs {
    /** Defines the collection of column headers information that used to render the pivot table column headers. */
    columns: PivotColumn[];
    /** Defines the current report. */
    dataSourceSettings: IDataOptions;
    /**
     * Defines the grid column information that used to display the column headers (stacked headers) based on its level in the Pivot Table.
     */
    stackedColumns?: grids.ColumnModel1[];
}
/**
 * The begin drill-through event arguments provide the necessary information about the cell clicked on the pivot table for drill-through and editing.
 */
export interface BeginDrillThroughEventArgs {
    /** Defines the current cell clicked information. */
    cellInfo: DrillThroughEventArgs;
    /** Defines the grid instance that used to customize the grid features such as grouping, filtering, sorting, etc., in the drill-through popup dialog. */
    gridObj: grids.Grid;
    /** Defines the current event type. */
    type: string;
}
/**
 * The chart series created event arguments provide the necessary information about the chart series that used to create the pivot chart.
 */
export interface ChartSeriesCreatedEventArgs {
    /**
     * Defines the collection of chart series information that used to render the pivot chart.
     */
    series: charts.SeriesModel[];
    /** Defines an option to restrict the pivot chart rendering. */
    cancel: boolean;
}
/**
 * Defines the cell selection settings
 */
export interface SelectionSettings {
    /**
     * Pivot widget supports row, column, cell, and both (row and column) selection mode.
     *
     * @default Row
     */
    mode?: SelectionMode;
    /**
     * The cell selection modes are flow and box. It requires the selection
     * `mode` to be either cell or both.
     * * `Flow`: Selects the range of cells between start index and end index that also includes the other cells of the selected rows.
     * * `Box`: Selects the range of cells within the start and end column indexes that includes in between cells of rows within the range.
     * * `BoxWithBorder`: Selects the range of cells as like Box mode with borders.
     *
     * @default Flow
     * @isEnumeration
     */
    cellSelectionMode?: grids.CellSelectionMode;
    /**
     * Defines options for selection type. They are
     * * `Single`: Allows selection of only a row or a column or a cell.
     * * `Multiple`: Allows selection of multiple rows or columns or cells.
     *
     * @default Single
     */
    type?: grids.SelectionType;
    /**
     * If 'checkboxOnly' set to true, then the selection is allowed only through checkbox.
     *
     * Note: To enable 'checkboxOnly' selection, should specify the column type as`checkbox`.
     *
     * @default false
     */
    checkboxOnly?: boolean;
    /**
     * If 'persistSelection' set to true, then the selection is persisted on all operations.
     * For persisting selection, any one of the column should be enabled as a primary key.
     *
     * @default false
     */
    persistSelection?: boolean;
    /**
     * Defines options for checkbox selection Mode. They are
     * * `Default`: This is the default value of the checkboxMode. In this mode, user can select multiple rows by clicking rows one by one.
     * * `ResetOnRowClick`: In ResetOnRowClick mode, on clicking a row it will reset previously selected row and also multiple
     *  rows can be selected by using CTRL or SHIFT key.
     *
     * @default Default
     * @isEnumeration
     */
    checkboxMode?: grids.CheckboxSelectionType;
    /**
     * If 'enableSimpleMultiRowSelection' set to true, then the user can able to perform multiple row selection with single clicks.
     *
     * @default false
     */
    enableSimpleMultiRowSelection?: boolean;
}
/**
 * @hidden
 */
export interface CommonArgs {
    pivotEngine: PivotEngine | OlapEngine;
    dataSourceSettings: IDataOptions;
    element: HTMLElement;
    id: string;
    moduleName: string;
    enableRtl: boolean;
    isAdaptive: boolean;
    renderMode: Mode;
    localeObj: base.L10n;
    dataType: string;
    cssClass: string;
    enableHtmlSanitizer: boolean;
}
/**
 * @hidden
 */
export interface PivotButtonArgs {
    field: IFieldOptions[];
    axis: string;
}
/**
 * IAction interface
 *
 * @hidden
 */
export interface IAction {
    updateModel?(): void;
    onActionBegin?(args?: Object, type?: string): void;
    onActionComplete?(args?: Object, type?: string): void;
    addEventListener?(): void;
    removeEventListener?(): void;
}
/**
 * Defines the row on excel export
 */
export interface ExcelRow {
    /**
     * Defines the index for cells
     */
    index?: number;
    /**  Defines the cells in a row */
    cells?: ExcelCell[];
}
/**
 * Defines the column on excel export
 */
export interface ExcelColumn {
    /**
     * Defines the index for cells
     */
    index?: number;
    /**
     * Defines the width of each column
     */
    width: number;
}
/**
 * Defines the style options for excel export
 */
export interface ExcelStyles extends grids.ExcelStyle {
    /**
     * Defines the horizontal alignment for cell style
     */
    hAlign?: grids.ExcelHAlign;
    /**
     * Defines the vertical alignment for cell style
     */
    vAlign?: grids.ExcelVAlign;
    /** Defines the cell number format */
    numberFormat?: string;
}
/**
 * Defines the cell information for excel export
 */
export interface ExcelCell {
    /**
     * Defines the index for the cell
     */
    index?: number;
    /**
     * Defines the column span for the cell
     */
    colSpan?: number;
    /**
     * Defines the column span for the cell
     */
    rowSpan?: number;
    /**
     * Defines the value of the cell
     */
    value?: string | boolean | number | Date;
    /** Defines the style of the cell */
    style?: ExcelStyles;
}
/**
 * @hidden
 */
export interface ResizeInfo {
    [key: string]: number;
}
/**
 * @hidden
 */
export interface ScrollInfo {
    vertical: number;
    horizontal: number;
    verticalSection: number;
    horizontalSection: number;
    top: number;
    left: number;
    scrollDirection: {
        direction: string;
        position: number;
    };
}
/**
 * @hidden
 */
export interface HeaderCollection {
    rowHeaders: IAxisSet[];
    rowHeadersCount: number;
    columnHeaders: IAxisSet[];
    columnHeadersCount: number;
}
/**
 * @hidden
 */
export interface RowHeaderPositionGrouping {
    [key: number]: RowHeaderLevelGrouping;
}
/**
 * @hidden
 */
export interface RowHeaderLevelGrouping {
    [key: string]: ChartLabelInfo;
}
/**
 * @hidden
 */
export interface ChartLabelInfo {
    text: string;
    name: string;
    level: number;
    hasChild: boolean;
    isDrilled: boolean;
    levelName: string;
    fieldName: string;
    rowIndex: number;
    colIndex: number;
    span?: number;
    cell?: IAxisSet;
}
/**
 * Defines the theme options for PDF export
 */
export interface PdfTheme {
    /** Defines the style of header content. */
    header?: PdfThemeStyle;
    /** Defines the theme style of record content. */
    record?: PdfThemeStyle;
}
/**
 * Defines the theme options for PDF export
 */
export interface PdfThemeStyle {
    /**
     * Defines the font size of theme style.
     */
    fontSize?: number;
    /** Defines the font of the theme. */
    font?: pdfExport.PdfStandardFont | pdfExport.PdfTrueTypeFont;
    /** Defines the italic of theme style. */
    italic?: boolean;
    /** Defines the font color of theme style. */
    fontColor?: string;
    /** Defines the font name of theme style. */
    fontName?: string;
    /** Defines the bold of theme style. */
    bold?: boolean;
    /** Defines the borders of theme style. */
    border?: PdfBorder;
    /** Defines the underline of theme style. */
    underline?: boolean;
    /** Defines the strikeout of theme style. */
    strikeout?: boolean;
}
/**
 * Defines the border options for PDF export
 */
export interface PdfBorder {
    /** Defines the border color */
    color?: string;
    /**
     * Defines the border width
     */
    width?: number;
    /** Defines the border dash style */
    dashStyle?: PdfBorderStyle;
}
/**
 * Defines the cell template information
 */
export interface CellTemplateArgs {
    /** Defines the cell element */
    targetCell?: HTMLElement;
    /** Defines the cell Information */
    cellInfo?: IAxisSet;
}
/**
 * The aggregate event arguments provide the necessary information on each pivot value cell framing in the pivot engine for pivot table render.
 */
export interface AggregateEventArgs {
    /** Defines the field name of the value cell. */
    fieldName?: string;
    /** Defines the row header information of the value cell. */
    row?: IAxisSet;
    /** Defines the column header information of the value cell. */
    column?: IAxisSet;
    /**
     * Defines the aggregate cell value of the current cell.
     */
    value?: number;
    /** Defines the actual data source collection that used to aggregate the value of the current cell. */
    cellSets?: IDataSet[];
    /** Defines whether the row header cell type is header or sub-total or grand-total. */
    rowCellType?: string;
    /** Defines whether the column header cell type is header or sub-total or grand-total. */
    columnCellType?: string;
    /** Defines the current aggregate type of the value cell. */
    aggregateType?: SummaryTypes;
    /** Defines an option to restrict the number formating of the current value cell. */
    skipFormatting?: boolean;
}
/**
 * The query cell event arguments provide the necessary information on each pivot cell rendering in the pivot table.
 */
export interface QueryCellInfoEventArgs {
    /** Defines the row data associated with the current cell. */
    data?: Object;
    /** Defines the cell element. */
    cell?: Element;
    /**
     * Defines the column information associated with the current cell.
     */
    column?: grids.Column;
    /**
     * Defines the number of columns used to span the current cell at column wise.
     */
    colSpan?: number;
    /**
     * Defines the number of rows used to span the current cell at row wise.
     */
    rowSpan?: number;
    /** Defines the current action. */
    requestType?: string;
    /** Define the foreign key row data associated with the current cell. */
    foreignKeyData?: Object;
    /** Define the pivot table instance object. */
    pivotview?: PivotView;
}
/**
 * The field list refreshed event arguments provide the necessary information to render the pivot table.
 */
export interface FieldListRefreshedEventArgs {
    /** Defines the current report. */
    dataSourceSettings?: IDataOptions;
    /** Defines the updated pivot table cell collections to update the pivot table. */
    pivotValues?: IAxisSet[][];
}
/**
 * Defines the offset position of the marker in the pivot chart.
 */
export interface OffsetModel1 {
    /**
     * Defines offset left position of the marker.
     *
     * @default 0
     */
    x?: number;
    /**
     * Defines offset top position of the marker.
     *
     * @default 0
     */
    y?: number;
}
/**
 * The member editor open event arguments provide the necessary information about the selected field and its filter settings on before filter popup opens.
 */
export interface MemberEditorOpenEventArgs {
    /** Defines the selected field name to perform filtering */
    fieldName?: string;
    /**
     * Defines the filter members of the selected field.
     */
    fieldMembers?: {
        [key: string]: Object;
    }[];
    /** Defines selected field's filter settings */
    filterSetting?: IFilter;
    /** Defines an option to restrict the member editor popup from open. */
    cancel?: boolean;
}
/**
 * The field remove event arguments provide the necessary information about the selected field information before it removes.
 */
export interface FieldRemoveEventArgs {
    /** Defines the current pivot report. */
    dataSourceSettings?: IDataOptions;
    /** Defines the selected field name to remove from the current pivot report. */
    fieldName?: string;
    /** Defines the selected field information. */
    fieldItem?: IFieldOptions;
    /** Defines the axis name where the selected field would be removed. */
    axis?: string;
    /** Defines an option to restrict the field remove operation. */
    cancel?: boolean;
}
/**
 * The calculated field create event arguments provide the necessary information about the calculated field settings before it creates to update the pivot table.
 */
export interface CalculatedFieldCreateEventArgs {
    /** Defines current pivot report */
    dataSourceSettings?: IDataOptions;
    /** Defines the field name to create/update the calculated field settings. */
    fieldName?: string;
    /** Defines current calculated field's information that used to modify and update. */
    calculatedField?: ICalculatedFields;
    /**
     * Defines current calculated fields collection in the current pivot report.
     */
    calculatedFieldSettings?: ICalculatedFieldSettings[];
    /** Defines an option to restrict the calculated field create operation */
    cancel?: boolean;
}
/**
 * The number formatting event arguments provide the necessary information about the format settings of the selected field before it creates to update the pivot table.
 */
export interface NumberFormattingEventArgs {
    /**
     * Defines the current format settings collection
     */
    formatSettings?: IFormatSettings[];
    /** Defines the selected field name that used to apply the number formatting. */
    formatName?: string;
    /** Defines an option to restrict the format field create operation */
    cancel?: boolean;
}
/**
 * The aggregate menu open event arguments provide the necessary information to customize the aggregate menu options before it opens.
 */
export interface AggregateMenuOpenEventArgs {
    /**
     * Defines aggregate types collection that used to show it in the aggregate menu when it opens.
     */
    aggregateTypes?: AggregateTypes[];
    /** Defines the selected field name to open the aggregate menu. */
    fieldName?: string;
    /** Defines an option to restrict the context menu from open. */
    cancel?: boolean;
    /** Defines the menu count to be displayed initially. */
    displayMenuCount?: number;
}
/**
 * Defines the filter members information that used to render member filter dialog.
 */
export interface MemberItems {
    /** Defines whether the specific filter member has child(inner level) members or not. */
    hasChildren?: boolean;
    /**
     * Defines the custom HTML atttribute informations that used to add it specific filter member's DOM element in UI.
     */
    htmlAttributes?: {
        [key: string]: Object;
    };
    /** Defines whether the specific filter member is include or not that used to be display in the pivot table. */
    isSelected?: boolean;
    /** Defines the unique name of a specific filter member. */
    id?: string;
    /** Defines the parent member's unique name of a specific filter member. */
    pid?: string;
    /** Defines the unique caption to a specific member that used to display in the filter dialog. */
    name?: string;
    /** Defines the filter member's caption. */
    caption?: string;
    /** Defines the unique tag name to a specific member. */
    tag?: string;
}
/**
 * @hidden
 */
export interface TreeDataInfo {
    index: number;
    isSelected: boolean;
}
/**
 * The before service invoke event arguments provide the necessary information about the service before it get invoked.
 */
export interface BeforeServiceInvokeEventArgs {
    /** Defines XML HTTP Request. */
    request?: XMLHttpRequest;
    /** Defines the data source settings. */
    dataSourceSettings?: IDataOptions;
    /** Defines the action which is being performed. */
    action?: string;
    /** Defines the custom properties which needs to pass to server side. */
    customProperties?: Object;
    /** Defines the drill item. */
    drillItem?: IDrilledItem;
    /** Defines the sort item. */
    sortItem?: ISort;
    /** Defines the aggregate item. */
    aggregatedItem?: IFieldOptions;
    /** Defines the calculated item. */
    calculatedItem?: ICalculatedFields;
    /** Defines the filter item. */
    filterItem?: IFilter;
    /** Defines the member name. */
    memberName?: string;
    /** Defines the raw data needs to be fetched. */
    fetchRawDataArgs?: FetchRawDataArgs;
    /** Defines the raw data needs to be updated. */
    editArgs?: UpdateRawDataArgs;
    /** Defines the hash string. */
    hash?: string;
    /** Defines the internal properties. */
    internalProperties?: Object;
    /** Defines the options for customizing the excel document during export. */
    excelExportProperties?: grids.ExcelExportProperties;
    /** Allows you11 to export the pivot table data of all pages. */
    exportAllPages?: boolean;
    /** Defines whether the pivot table's group settings are modified or not. */
    isGroupingUpdated: boolean;
}
/**
 * Represents the arguments that provide necessary information about the service after it has been invoked.
 */
export interface AfterServiceInvokeEventArgs {
    /**
     * Defines the response received from the service.
     */
    response?: string;
    /**
     * Defines the current action performed during the service invocation.
     */
    action?: string;
}
/**
 * Defines the raw data needs to be fetched.
 */
export interface UpdateRawDataArgs {
    /** Defines the raw data needs to be added. */
    addedData: IDataSet[];
    /** Defines the raw data needs to be removed. */
    removedData: object[];
    /** Defines the raw data needs to be updated. */
    updatedData: IDataSet[];
    /** Defines the index object. */
    indexObject: object[];
}
/**
 * Defines the raw data needs to be updated.
 */
export interface FetchRawDataArgs {
    /** Defines the column index. */
    columnIndex: number;
    /** Defines the row index. */
    rowIndex: number;
}
/**
 * The action begins event arguments provide information about the current UI action, such as the action name, current datasource settings,
 * and the selected field information which are configured based on the UI actions like
 * [`drill down/up`](../../pivotview/drill-down/#drill-down-and-drill-up),
 * [`value sorting`](../../pivotview/sorting/#value-sorting),
 * built-in [`toolbar`](../../pivotview/tool-bar/#built-in-toolbar-options) options,
 * [`grouping bar`](../../pivotview/grouping-bar/) and
 * [`field list`](../../pivotview/field-list/) buttons actions such as
 * [`sorting`](../../pivotview/sorting/), [`filtering`](../../pivotview/filtering/),
 * [`editing`](../../pivotview/calculated-field/#editing-through-the-field-list-and-the-groupingbar),
 * [`aggregate type`](../../pivotview/aggregation/#modifying-aggregation-type-for-value-fields-at-runtime) change and so on,
 * CRUD operation in [`editing`](../../pivotview/editing/) in the Pivot Table.
 */
export interface PivotActionBeginEventArgs {
    /** Defines the current data source settings information such as rows, columns, values, filters, etc., that are used to render the pivot table and field list. */
    dataSourceSettings?: IDataOptions;
    /** Defines name of the current UI action when it begins. The following are the UI actions and their names:
     *
     * **Pivot Table**
     * * **Drill down** and **drill up** - Drill down/up.
     * * **Value sorting** - Sort value.
     *
     * **Toolbar**
     * * **New report** - Add new report.
     * * **Save report** - Save current report.
     * * **Save as report** - Save as current report.
     * * **Rename report** - Rename current report.
     * * **Remove report** - Remove current report.
     * * **Load report** - Load report.
     * * **Conditional Formatting** - Open conditional formatting dialog.
     * * **Number Formatting** - Open number formatting dialog.
     * * **Show Fieldlist** - Open field list.
     * * **Show Table** - Show table view.
     * * **Chart menu** - Show chart view.
     * * **Export menu** - PDF/Excel/CSV export.
     * * **Sub-totals menu** - Show/hide sub-totals.
     * * **Grand totals menu** - Show/hide grand totals.
     * * **MDX** - Open MDX dialog.
     *
     * **Grouping bar** and **Field List** buttons
     * * **Editing** - Edit calculated field.
     * * **Remove** - Remove field.
     * * **Sorting** - Sort field.
     * * **Filtering** - Filter field.
     * * **Aggregation** - Aggregate field.
     *
     * **Field List UI**
     * * **Field list tree** - Sort field tree.
     * * **Calculated field button** - Open calculated field dialog.
     *
     * **Editing**
     * * **Edit** - Edit record.
     * * **Save** - Save edited records.
     * * **Add** - Add new record.
     * * **Delete** - Remove record.
     */
    actionName?: string;
    /**
     * Defines the current field information on which field the action takes.
     * > This option is applicable only when the field-based UI actions are performed such as filtering, sorting, field remove, editing and aggregation change.
     */
    fieldInfo?: FieldItemInfo;
    /** Allow to restrict the current UI action. */
    cancel?: boolean;
}
/**
 * The action complete event arguments provide information about the current UI action, such as the current action name, current datasource settings, selected field information, and the current action information
 * which are configured based on the UI actions like
 * [`drill down/up`](../../pivotview/drill-down/#drill-down-and-drill-up),
 * [`value sorting`](../../pivotview/sorting/#value-sorting),
 * built-in [`toolbar`](../../pivotview/tool-bar/#built-in-toolbar-options) options,
 * [`grouping bar`](../../pivotview/grouping-bar/) and
 * [`field list`](../../pivotview/field-list/) buttons actions such as
 * [`sorting`](../../pivotview/sorting/), [`filtering`](../../pivotview/filtering/),
 * [`editing`](../../pivotview/calculated-field/#editing-through-the-field-list-and-the-groupingbar),
 * [`aggregate type`](../../pivotview/aggregation/#modifying-aggregation-type-for-value-fields-at-runtime) change and so on,
 * CRUD operation in [`editing`](../../pivotview/editing/) in the Pivot Table.
 */
export interface PivotActionCompleteEventArgs {
    /** Defines the current data source settings information such as rows, columns, values, filters, etc., that are used to render the pivot table and field list. */
    dataSourceSettings?: IDataOptions;
    /** Defines name of the current UI action completed. The following are the UI actions and their names:
     *
     * **Pivot Table**
     * * **Drill down** and **drill up** - Drill down/up.
     * * **Value sorting** - Value sorted.
     *
     * **Toolbar**
     * * **New report** - New report added.
     * * **Save report** - Report saved.
     * * **Save as report** - Report re-saved.
     * * **Rename report** - Report renamed.
     * * **Remove report** - Report removed.
     * * **Load report** - Report loaded.
     * * **Conditional Formatting** - Conditional formatting applied.
     * * **Number Formatting** - Number formatting applied.
     * * **Show Fieldlist** - Field list closed.
     * * **Show Table** - Table view shown.
     * * **Chart menu** - Chart view shown.
     * * **Export menu** - PDF/Excel/CSV exported.
     * * **Sub-totals menu** - Sub-totals shown/hidden.
     * * **Grand totals menu** - Grand totals shown/hidden.
     * * **MDX** - MDX dialog closed.
     *
     * **Grouping bar** and **Field List** buttons
     * * **Editing** - Calculated field edited.
     * * **Remove** - Field removed.
     * * **Sorting** - Field sorted.
     * * **Filtering** - Field filtered.
     * * **Aggregation** - Field aggregated.
     *
     * **Field List UI**
     * * **Field list tree** - Field tree sorted.
     * * **Calculated field button** - Calculated field applied.
     *
     * **Editing**
     * * **Save** - Edited records saved.
     * * **Add** - New record added.
     * * **Delete** - Record removed.
     * * **Update** - Edited records updated.
     */
    actionName?: string;
    /** Defines the current field information on which field the action takes.
     * > This option is applicable only when the field-based UI actions are performed such as filtering, sorting, field remove, editing and aggregation change.
     */
    fieldInfo?: FieldItemInfo;
    /** Defines the unique information of the current UI action performed. */
    actionInfo?: PivotActionInfo;
}
/**
 * When the current UI action fails to achieve the desired result, the action failure event arguments provide necessary information about the current UI action, such as the current action name and failure information
 * which are configured based on the UI actions like
 * [`drill down/up`](../../pivotview/drill-down/#drill-down-and-drill-up),
 * [`value sorting`](../../pivotview/sorting/#value-sorting),
 * built-in [`toolbar`](../../pivotview/tool-bar/#built-in-toolbar-options) options,
 * [`grouping bar`](../../pivotview/grouping-bar/) and
 * [`field list`](../../pivotview/field-list/) buttons actions such as
 * [`sorting`](../../pivotview/sorting/), [`filtering`](../../pivotview/filtering/),
 * [`editing`](../../pivotview/calculated-field/#editing-through-the-field-list-and-the-groupingbar),
 * [`aggregate type`](../../pivotview/aggregation/#modifying-aggregation-type-for-value-fields-at-runtime) change and so on,
 * CRUD operation in [`editing`](../../pivotview/editing/) in the Pivot Table.
 */
export interface PivotActionFailureEventArgs {
    /** Defines the error information of the current action. */
    errorInfo?: Error;
    /** Defines the name of the current action before it is completed. The following are the UI actions and their names:
     *
     * **Pivot Table**
     * * **Drill down** and **drill up** - Drill down/up.
     * * **Value sorting** - Sort value.
     *
     * **Toolbar**
     * * **New report** - Add new report.
     * * **Save report** - Save current report.
     * * **Save as report** - Save as current report.
     * * **Rename report** - Rename current report.
     * * **Remove report** - Remove current report.
     * * **Load report** - Load report.
     * * **Conditional Formatting** - Open conditional formatting dialog.
     * * **Number Formatting** - Open number formatting dialog.
     * * **Show Fieldlist** - Open field list.
     * * **Show Table** - Show table view.
     * * **Chart menu** - Show chart view.
     * * **Export menu** - PDF/Excel/CSV export.
     * * **Sub-totals menu** - Show/hide sub-totals.
     * * **Grand totals menu** - Show/hide grand totals.
     * * **MDX** - Open MDX dialog.
     *
     * **Grouping bar** and **Field List** buttons
     * * **Editing** - Edit calculated field.
     * * **Remove** - Remove field.
     * * **Sorting** - Sort field.
     * * **Filtering** - Filter field.
     * * **Aggregation** - Aggregate field.
     *
     * **Field List UI**
     * * **Field list tree** - Sort field tree.
     * * **Calculated field button** - Open calculated field dialog.
     *
     * **Editing**
     * * **Edit** - Edit record.
     * * **Save** - Save edited records.
     * * **Add** - Add new record.
     * * **Delete** - Remove record.
     */
    actionName?: string;
}
/**
 * Defines the unique information of the current UI action performed such as sorting, filtering, drill, editing, report manipulation, summarization, etc.
 */
export interface PivotActionInfo {
    /** Defines the selected field’s sort settings to order their members either in ascending or descending that used to be displayed in the pivot table. */
    sortInfo?: ISort;
    /** Defines the selected field’s filter settings with either selective or conditional-based filter members that used to be displayed in the pivot table. */
    filterInfo?: IFilter;
    /** Defines the selected field’s drilled members settings that used to display the headers to be either expanded or collapsed in the pivot table. */
    drillInfo?: IDrillOptions;
    /** Defines the selected calculated field’s settings that used to create new calculated fields from the bound data source or using simple formula with basic arithmetic operators in the pivot table. */
    calculatedFieldInfo?: ICalculatedFieldSettings;
    /** Defines the report name that used to create, load, rename save and save as current report. */
    reportName?: string | PivotReportInfo;
    /** Defines the export information such as current export type and its additional settings such as page size, orientation, header, footer, etc. */
    exportInfo?: PivotExportInfo;
    /**
     * Defines the edited information such as current edit type, action and its edited record information such as edited data, previous data and index positions of before editing performed.
     */
    editInfo?: PivotEditInfo;
    /** Defines the current condition formatting settings that used to change the appearance of the pivot table value cells with different style properties such as background color,
     * font color, font family, and font size based on specific conditions.
     */
    conditionalFormattingInfo?: IConditionalFormatSettings[];
    /** Defines the current format settings that used to display the values with specific format that used to be displayed in the pivot table. */
    numberFormattingInfo?: IFormatSettings[];
    /** Defines the current toolbar information such as current display options and its settings such as chart settings, grid settings, etc. */
    toolbarInfo?: PivotToolbarInfo;
    /** Defines the current value sort settings from current pivot report. */
    valueSortInfo?: IValueSortSettings;
}
/**
 * Defines the report name that used to create, load, rename save and save as current report.
 */
export interface PivotReportInfo {
    /** Defines the report name that used to be renamed. */
    oldName?: string;
    /** Defines the current report name after renamed. */
    newName?: string;
}
/**
 * Defines the export information such as current export type and its additional settings such as page size, orientation, header, footer, etc.
 */
export interface PivotExportInfo {
    /** Defines the current export type such as PDF, Excel, and CSV. */
    type?: string;
    /** Defines the additional settings for PDF, Excel, and CSV export such as page size, orientation, header, footer, etc. */
    info?: grids.PdfExportProperties | grids.ExcelExportProperties | string;
}
/**
 * Defines the edited information such as current edit type, action and its edited record information such as edited data, previous data and index positions of before editing performed.
 */
export interface PivotEditInfo {
    /** Defines the current edit type such as batch, inline, dialog and command columns. */
    type?: string;
    /** Defines the current edit action such as add, edit, save and delete. */
    action?: string;
    /** Defines the data that used to update the pivot table. */
    data?: IDataSet[];
    /** Defines the edited raw data */
    currentData?: IDataSet[];
    /** Defines the actual raw data */
    previousData?: IDataSet[];
    /** Defines the index position of the actual raw data */
    previousPosition?: number[];
}
/**
 * Defines the current toolbar information such as current display options and its settings such as chart settings, grid settings, etc.
 */
export interface PivotToolbarInfo {
    /** Defines the current display settings such as current view port as either pivot table or pivot chart or both table and chart. */
    displayOption?: DisplayOption;
    /** Defines the pivot table settings such as column width, row height, grid lines, text wrap settings, selection settings, etc. */
    gridSettings?: GridSettings;
    /** Defines the pivot chart settings such as chart series, chart area, axis labels, legends, border, crosshairs, theme, title, tooltip, zooming, etc. */
    chartSettings?: ChartSettings;
}
/**
 * Defines the current sorting information such as field name, sort order and members which is to be sorted.
 */
export interface HeadersSortEventArgs {
    /** Defines the name of the field to be sorted. */
    fieldName?: string;
    /** Defines the hierarchy. `Note`: It is applicable only for OLAP data. */
    levelName?: string;
    /** Defines the sort order for the members to be sorted. */
    sortOrder?: Sorting;
    /** Defines the members to be sorted. */
    members?: string[] | number[];
    /** Defines an option to restrict the unwanted custom sorting operation. By default, the value is in 'false' state. */
    IsOrderChanged?: boolean;
}
/**
 * The export complete event arguments provide the necessary information about the exported data after completing the file export.
 */
export interface ExportCompleteEventArgs {
    /** Defines the current export type such as PDF, Excel, and CSV. */
    type?: string;
    /** Defines the promise object for blob data. */
    promise?: Promise<{
        blobData: Blob;
    }>;
}
//node_modules/@syncfusion/ej2-pivotview/src/common/base/enum.d.ts
/**
 * Specifies common enumerations
 */
/**
 * It defines the field list render modes. The available modes are:
 * ```props
 * Fixed :- To display the field list in a static position within a web page.
 * Popup :- To display the field list icon in pivot table UI to invoke the built-in dialog. It helps to display over the pivot table UI without affecting any form of UI shrink within a web page.
 * ```
 */
export  type Mode = 
/** To display the field list in a static position within a web page. */
'Fixed' | 
/**
 * To display the field list icon in pivot table UI to invoke the built-in dialog.
 * It helps to display over the pivot table UI without affecting any form of UI shrink within a web page.
 */
'Popup';
/** Allow options for performing CRUD operations with different modes in the data grid that used to update the appropriate cells in the pivot table.
 * The available modes are as follows:
 * ```props
 * Normal :- Allows the currently selected row alone will be completely changed to edit state. You can change the cell values and save it to the data source by clicking “Update” toolbar button.
 * Dialog :- Allows the currently selected row data will be shown in an exclusive dialog. You can change the cell values and save it to the data source by clicking “Save” button in the dialog.
 * Batch :- Allows you to perform double-click on any data specific cell in the data grid, the state of that selected cell will be changed to edit state. You can perform bulk changes like add, edit and delete data of the cells and finally save to the data source by clicking “Update” toolbar button.
 * ```
 */
export  type EditMode = 
/** Allows the currently selected row alone will be completely changed to edit state. You can change the cell values and save it to the data source by clicking “Update” toolbar button. */
'Normal' | 
/** Allows the currently selected row data will be shown in an exclusive dialog. You can change the cell values and save it to the data source by clicking “Save” button in the dialog. */
'Dialog' | 
/**
 * Allows you to perform double-click on any data specific cell in the data grid, the state of that selected cell will be changed to edit state.
 * You can perform bulk changes like add, edit and delete data of the cells and finally save to the data source by clicking “Update” toolbar button.
 */
'Batch';
/**
 * Defines mode of selection. They are
 * ```props
 * Cell :- Defines SelectionMode to Cell.
 * Row :- Defines SelectionMode to Row.
 * Column :- Defines SelectionMode to Column.
 * Both :- Defines SelectionMode to both Row and Column.
 * ```
 */
export  type SelectionMode = 
/** Defines SelectionMode to Cell */
'Cell' | 
/** Defines SelectionMode to Row */
'Row' | 
/** Defines SelectionMode to Column */
'Column' | 
/** Defines SelectionMode to both Row and Column */
'Both';
/**
 * Defines border style to PDF export file. They are
 * ```props
 * Solid :- Export as PDF with solid type border.
 * Dash :- Export as PDF with dash type border.
 * Dot :- Export as PDF with dot type border.
 * DashDot :- Export as PDF with dashdot type border.
 * DashDotDot :- Export as PDF with dashdotdot type border.
 * ```
 */
export  type PdfBorderStyle = 
/** Export as PDF with solid type border. */
'Solid' | 
/** Export as PDF with dash type border. */
'Dash' | 
/** Export as PDF with dot type border. */
'Dot' | 
/** Export as PDF with dashdot type border. */
'DashDot' | 
/** Export as PDF with dashdotdot type border. */
'DashDotDot';
/**
 * Allows the built-in toolbar options that used to access features like switching between pivot table and pivot chart, changing chart types, conditional formatting, number formatting, exporting, etc… with ease at runtime.
 * The available toolbar options are:
 * ```props
 * New :- Allows to create a new report.
 * Save :- Allows to save the current report.
 * Save As :- Allows to perform save as the current report.
 * Rename :- Allows to rename the current report.
 * Remove :- Allows to delete the current report.
 * Load :- Allows to load any report from the report list.
 * Grid :- Allows to show the pivot table.
 * Chart :- Allows to show the pivot chart with specific type from the built-in list.
 * Exporting :- Allow set of options to export the pivot table as PDF/Excel/CSV and the pivot chart as PDF and image format such as PNG, JPEG, SVG.
 * Sub-total :- Allow set of options to show or hide the sub totals in the pivot table. The subtotals will not be displayed in the pivot chart by default.
 * Grand Total :- Allow set of options to show or hides the grand totals in the pivot table. By default, the grand totals will not be displayed in the pivot chart.
 * Conditional Formatting :- Allows to show the conditional formatting pop-up to apply formatting to the values.
 * Number Formatting :- Allows to show the number formatting pop-up to apply number formatting to the values.
 * Formatting :- Allow options to show the conditional formatting and the number formatting pop-up that used to apply formatting to the values in the component.
 * Field List :- Allows you to show the field list pop-up. It allows you to modify the report with a variety of actions such as re-arrange the fields between axes by drag-and-drop, add new fields to report, remove any fields from report, filtering and sorting a specific field members, etc., that are used to update the pivot table during runtime.
 * MDX :- Allows to show the MDX query that was run to retrieve data from the OLAP data source. **Note: It is applicable only for OLAP data source.**
 * ```
 */
export  type ToolbarItems = 
/** Allows to create a new report. */
'New' | 
/** Allows to save the current report. */
'Save' | 
/** Allows to perform save as the current report. */
'SaveAs' | 
/** Allows to load any report from the report list. */
'Load' | 
/** Allows to rename the current report. */
'Rename' | 
/** Allows to delete the current report. */
'Remove' | 
/** Allows to show the pivot table. */
'Grid' | 
/**
 * Allows to show the pivot chart with specific type from the built-in list.
 * It also has the option to show the chart with multiple axes based on the value fields bound to the report.
 * You can do this by selecting the checkbox at the bottom of the list.
 */
'Chart' | 
/** Allow set of options to export the pivot table as PDF/Excel/CSV and the pivot chart as PDF and image format such as PNG, JPEG, SVG. */
'Export' | 
/** Allow set of options to show or hide the sub totals in the pivot table. The subtotals will not be displayed in the pivot chart by default. */
'SubTotal' | 
/** Allow set of options to show or hides the grand totals in the pivot table. By default, the grand totals will not be displayed in the pivot chart. */
'GrandTotal' | 
/** Shows the fieldlist pop-up. */
'FieldList' | 
/**
 * Allows you to show the field list pop-up. It allows you to modify the report with a variety of actions such as re-arrange the fields between axes by drag-and-drop,
 * add new fields to report, remove any fields from report, filtering and sorting a specific field members, etc., that are used to update the pivot table during runtime.
 */
'ConditionalFormatting' | 
/** Shows the MDX query that was run to retrieve data from the OLAP data source. */
'MDX' | 
/**
 * Allows to show the MDX query that was run to retrieve data from the OLAP data source.
 * > It is applicable only for OLAP data source.
 */
'NumberFormatting' | 
/** Allow options to show the conditional formatting and the number formatting pop-up that used to apply formatting to the values in the component. */
'Formatting';
/**
 * It defines the view port as either table or chart or both table and chart. The available options are:
 * ```props
 * Table :- To render the component as tabular form.
 * Chart :- To render the component as graphical format.
 * Both :- To render the component as both table and chart.
 * ```
 */
export  type View = 
/**  To render the component as both table and chart. */
'Both' | 
/**  To render the component as graphical format. */
'Chart' | 
/**  To render the component as tabular form. */
'Table';
/**
 * Allows you to set the primary view to be either table or chart.The available options are:
 * ```props
 * Table :- Allows you to display the pivot table as primary view.
 * Chart :- Allows you to display the pivot chart as primary view.
 * ```
 */
export  type Primary = 
/**  Allows you to display the pivot table as primary view. */
'Chart' | 
/**  Allows you to display the pivot chart as primary view. */
'Table';
/**
 * Defines the pivot chart types.
 * The available chart types are:
 * ```props
 * Line :- Allows to display the pivot chart with line series.
 * Column :- Allows to display the pivot chart with column series.
 * Area :- Allows to display the pivot chart with area series.
 * Bar :- Allows to display the pivot chart with bar series.
 * StackingColumn :- Allows to display the pivot chart with stacked column series.
 * StackingArea :- Allows to display the pivot chart with stacked area series.
 * StackingBar :- Allows to display the pivot chart with stacked bar series.
 * StepLine :- Allows to display the pivot chart with step line series.
 * StepArea :- Allows to display the pivot chart with step area series.
 * SplineArea :- Allows to display the pivot chart with spline area series.
 * Scatter :- Allows to display the pivot chart with scatter series.
 * Spline :- Allows to display the pivot chart with spline series.
 * StackingColumn100 :- Allows to display the pivot chart with 100% stacked column series.
 * StackingBar100 :- Allows to display the pivot chart with 100% stacked bar series.
 * StackingArea100 :- Allows to display the pivot chart with 100% stacked area series.
 * Bubble :- Allows to display the pivot chart with bubble series.
 * Pareto :- Allows to display the pivot chart with pareto series.
 * Polar :- Allows to display the pivot chart with polar series.
 * Radar :- Allows to display the pivot chart with radar series.
 * ```
 */
export  type ChartSeriesType = 
/**  Allows to display the pivot chart with line series. */
'Line' | 
/**  Allows to display the pivot chart with column series. */
'Column' | 
/**  Allows to display the pivot chart with area series. */
'Area' | 
/**  Allows to display the pivot chart with bar series. */
'Bar' | 
/**  Allows to display the pivot chart with stacked column series. */
'StackingColumn' | 
/**  Allows to display the pivot chart with stacked area series. */
'StackingArea' | 
/**  Allows to display the pivot chart with stacked bar series. */
'StackingBar' | 
/**  Allows to display the pivot chart with stacked line series. */
'StackingLine' | 
/**  Allows to display the pivot chart with step line series. */
'StepLine' | 
/**  Allows to display the pivot chart with step area series. */
'StepArea' | 
/**  Allows to display the pivot chart with spline area series. */
'SplineArea' | 
/**  Allows to display the pivot chart with scatter series. */
'Scatter' | 
/**  Allows to display the pivot chart with spline series. */
'Spline' | 
/** Allows to display the pivot chart with 100% stacked column series. */
'StackingColumn100' | 
/** Allows to display the pivot chart with 100% stacked bar series. */
'StackingBar100' | 
/** Allows to display the pivot chart with 100% stacked area series. */
'StackingArea100' | 
/**  Allows to display the pivot chart with 100% stacked line series. */
'StackingLine100' | 
/** Allows to display the pivot chart with bubble series. */
'Bubble' | 
/** Allows to display the pivot chart with pareto series. */
'Pareto' | 
/** Allows to display the pivot chart with polar series. */
'Polar' | 
/** Allows to display the pivot chart with radar series. */
'Radar' | 
/** Allows to display the pivot chart with pie series. */
'Pie' | 
/** Allows to display the pivot chart with pyramid series. */
'Pyramid' | 
/** Allows to display the pivot chart with doughnut series. */
'Doughnut' | 
/** Allows to display the pivot chart with funnel series. */
'Funnel';
/**
 * Defines the pivot chart selection mode. They are
 * ```props
 * None :- Disable the selection.
 * Series :- To select a series.
 * Point :- To select a point.
 * Cluster :- To select a cluster of point.
 * DragXY :- To select points, by dragging with respect to both horizontal and vertical axis.
 * DragY :- To select points, by dragging with respect to vertical axis.
 * DragX :- To select points, by dragging with respect to horizontal axis.
 * ```
 */
export  type ChartSelectionMode = 
/** Disable the selection. */
'None' | 
/** To select a series. */
'Series' | 
/** To select a point. */
'Point' | 
/** To select a cluster of point. */
'Cluster' | 
/** To select points, by dragging with respect to both horizontal and vertical axis. */
'DragXY' | 
/** To select points, by dragging with respect to vertical axis. */
'DragY' | 
/** To select points, by dragging with respect to horizontal axis. */
'DragX';
/**
 * Defines the pivot table context menu items. They are
 * ```props
 * Drillthrough :- Enables drill through for the cell.
 * Expand :- Expands the cell.
 * Collapse :- Collapse the cell.
 * CalculatedField :- Enables calculated field for the pivot grid.
 * Pdf Export :- Export the grid as Pdf format.
 * Excel Export :- Export the grid as Excel format.
 * Csv Export :- Export the grid as CSV format.
 * Sort Ascending :- Sort the current column in ascending order.
 * Sort Descending :- Sort the current column in descending order.
 * Aggregate :- Sets aggregate type to sum.
 * ```
 */
export  type PivotTableContextMenuItem = 
/** Enables drill through for the cell. */
'Drillthrough' | 
/** Expands the cell. */
'Expand' | 
/** Collapse the cell. */
'Collapse' | 
/** Enables calculated field for the pivot grid. */
'CalculatedField' | 
/** Export the grid as Pdf format. */
'Pdf Export' | 
/** Export the grid as Excel format. */
'Excel Export' | 
/** Export the grid as CSV format. */
'Csv Export' | 
/** Sort the current column in ascending order. */
'Sort Ascending' | 
/** Sort the current column in descending order. */
'Sort Descending' | 
/** Sets aggregate type to sum. */
'Aggregate';
/**
 * Defines modes of GridLine, They are
 * ```props
 * Both :- Show both the vertical and horizontal line in the Grid.
 * None :- Hide both the vertical and horizontal line in the Grid.
 * Horizontal :- Shows the horizontal line only in the Grid.
 * Vertical :- Shows the vertical line only in the Grid.
 * Default :- Shows the grid lines based on the theme.
 * ```
 */
export  type PivotTableGridLine = 
/** Show both the vertical and horizontal line in the Grid. */
'Both' | 
/** Hide both the vertical and horizontal line in the Grid. */
'None' | 
/** Shows the horizontal line only in the Grid. */
'Horizontal' | 
/** Shows the vertical line only in the Grid. */
'Vertical' | 
/** Shows the grid lines based on the theme. */
'Default';
/**
 * Defines mode of cell selection. The modes available are:
 * ```props
 * Flow :- Allows the range of cells to be selected between the start index and the end index, which also includes the other cells of the selected rows in the pivot table.
 * Box :- Allows you to select a range of cells within the starting and ending column indexes that are included in the range between row cells in the pivot table.
 * BoxWithBorder :- Allows the range of cells to be selected as the box mode, but along with the borders in the pivot table.
 * ```
 */
export  type PivotCellSelectionMode = 
/**  Allows the range of cells to be selected between the start index and the end index, which also includes the other cells of the selected rows in the pivot table. */
'Flow' | 
/**  Allows you to select a range of cells within the starting and ending column indexes that are included in the range between row cells in the pivot table. */
'Box' | 
/**  Allows the range of cells to be selected as the box mode, but along with the borders in the pivot table. */
'BoxWithBorder';
/**
 * Defines types of Selection. They are:
 * ```props
 * Single :- Allows the user to select a row or cell on their own in the pivot table.
 * Multiple :- Allows the user to select multiple rows or columns or cells in the pivot table.
 * ```
 */
export  type PivotTableSelectionType = 
/** Allows the user to select a row or cell on their own in the pivot table. */
'Single' | 
/** Allows the user to select multiple rows or columns or cells in the pivot table. */
'Multiple';
/**
 * Defines modes of checkbox Selection. They are:
 * ```props
 * Default :- Allows multiple rows to be selected by clicking rows one by one.
 * ResetOnRowClick :- Allows to reset the previously selected row when a row is clicked and multiple rows can be selected by using CTRL or SHIFT key.
 * ```
 */
export  type PivotTableCheckboxSelectionType = 
/**  Allows multiple rows to be selected by clicking rows one by one. */
'Default' | 
/**  Allows to reset the previously selected row when a row is clicked and multiple rows can be selected by using CTRL or SHIFT key. */
'ResetOnRowClick';
/**
 * Defines the cell content's overflow mode. The available modes are
 * ```props
 * Clip :-  Truncates the cell content when it overflows its area.
 * Ellipsis :-  Displays ellipsis when the cell content overflows its area.
 * EllipsisWithTooltip :- Displays ellipsis when the cell content overflows its area also it will display tooltip while hover on ellipsis applied cell.
 * ```
 */
export  type PivotTableClipMode = 
/**  Truncates the cell content when it overflows its area */
'Clip' | 
/** Displays ellipsis when the cell content overflows its area */
'Ellipsis' | 
/** Displays ellipsis when the cell content overflows its area also it will display tooltip while hover on ellipsis applied cell. */
'EllipsisWithTooltip';
/**
 * Print mode options are
 * ```props
 * AllPages :- Print all pages records of the Grid.
 * CurrentPage :- Print current page records of the Grid.
 * ```
 */
export  type PivotTablePrintMode = 
/**  Print all pages records of the Grid. */
'AllPages' | 
/**  Print current page records of the Grid. */
'CurrentPage';
/**
 * Defines the shape of marker. They are
 * ```props
 * Circle :- Renders the marker shaper as circle.
 * Rectangle :- Renders the marker shaper as rectangle.
 * Triangle :- Renders the marker shaper as triangle.
 * Diamond :- Renders the marker shaper as diamond.
 * Cross :- Renders the marker shaper as cross.
 * HorizontalLine :- Renders the marker shaper as horizontalLine.
 * VerticalLine :- Renders the marker shaper as verticalLine.
 * Pentagon:- Renders the marker shaper as pentagon.
 * InvertedTriangle :- Renders the marker shaper as invertedTriangle.
 * Image :- Renders the marker shaper as image.
 * ```
 */
export  type PivotChartShape = 
/** Render the marker shaper as circle. */
'Circle' | 
/** Render the marker shaper as Rectangle. */
'Rectangle' | 
/** Render the marker shaper as Triangle. */
'Triangle' | 
/** Render the marker shaper as Diamond. */
'Diamond' | 
/** Render the marker shaper as Cross. */
'Cross' | 
/** Render the marker shaper as HorizontalLine. */
'HorizontalLine' | 
/** Render the marker shaper as VerticalLine. */
'VerticalLine' | 
/** Render the marker shaper as Pentagon. */
'Pentagon' | 
/** Render the marker shaper as InvertedTriangle. */
'InvertedTriangle' | 
/** Render the marker shaper as Image. */
'Image';
/**
 * Defines the type of error bar. They are
 * ```props
 * Fixed :- Renders a fixed type error bar.
 * Percentage :- Renders a percentage type error bar.
 * StandardDeviation :- Renders a standard deviation type error bar.
 * StandardError :- Renders a standard error type error bar.
 * Custom :- Renders a custom type error bar.
 * ```
 */
export  type PivotChartErrorBarType = 
/** Renders a fixed type error bar. */
'Fixed' | 
/** Renders a percentage type error bar. */
'Percentage' | 
/** Renders a standard deviation type error bar. */
'StandardDeviation' | 
/** Renders a standard error type error bar. */
'StandardError' | 
/** Renders a custom type error bar. */
'Custom';
/**
 * Defines the direction of error bar. They are
 * ```props
 * Both :-  Renders both direction of error bar.
 * Minus :- Renders minus direction of error bar.
 * Plus :- Renders plus direction error bar.
 * ```
 */
export  type PivotChartErrorBarDirection = 
/** Renders both direction of error bar. */
'Both' | 
/** Renders minus direction of error bar. */
'Minus' | 
/** Renders plus direction error bar. */
'Plus';
/**
 * Defines the modes of error bar. They are
 * ```props
 * Vertical :-  Renders a vertical error bar.
 * Horizontal :- Renders a horizontal error bar.
 * Both :- Renders both side error bar.
 * ```
 */
export  type PivotChartErrorBarMode = 
/** Renders a vertical error bar. */
'Vertical' | 
/** Renders a horizontal error bar. */
'Horizontal' | 
/** Renders both side error bar. */
'Both';
/**
 * Defines the type of trendlines. They are:
 * ```props
 * 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
 * ```props
 * Circle :- Renders a circle.
 * Rectangle :- Renders a rectangle.
 * Triangle :- Renders a triangle.
 * Diamond :- Renders a diamond.
 * Cross :- Renders a cross.
 * HorizontalLine :- Renders a horizontalLine.
 * VerticalLine :- Renders a verticalLine.
 * Pentagon :- Renders a pentagon.
 * InvertedTriangle :- Renders a invertedTriangle.
 * SeriesType :- Render a legend shape based on series type.
 * ```
 */
export  type PivotChartLegendShape = 
/** Render a legend shape based on series type. */
'SeriesType' | 
/** Render a circle. */
'Circle' | 
/** Render a Rectangle. */
'Rectangle' | 
/** Render a Triangle. */
'Triangle' | 
/** Render a Diamond. */
'Diamond' | 
/** Render a Cross. */
'Cross' | 
/** Render a HorizontalLine. */
'HorizontalLine' | 
/** Render a VerticalLine. */
'VerticalLine' | 
/** Render a Pentagon. */
'Pentagon' | 
/** Render a InvertedTriangle. */
'InvertedTriangle';
/**
 * Defines the empty point mode of the chart.
 * ```props
 * 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
 * ```props
 * Near :- Align the element to the left.
 * Center :- Align the element to the center.
 * Far :- Align the element to the right.
 * ```
 */
export  type PivotChartAlignment = 
/** Align the element to the center. */
'Center' | 
/** Align the element to the left. */
'Near' | 
/** Align the element to the right. */
'Far';
/**
 * Defines the Text overflow.
 * ```props
 * None :- Shown the chart title with overlap if exceed.
 * Wrap :- Shown the chart title with wrap if exceed.
 * Trim :- Shown the chart title with trim if exceed.
 * ```
 */
export  type PivotChartTextOverflow = 
/** Used to show the chart title with Trim. */
'Trim' | 
/** Used to show the chart title with overlap to other element. */
'None' | 
/** Used to show the chart title with Wrap support. */
'Wrap';
/**
 * Defines the unit of Strip line Size. They are
 * ```props
 * Auto :- In numeric axis, it will consider a number and DateTime axis, it will consider as milliseconds.
 * Pixel :- The stripline gets their size in pixel.
 * Year :- The stipline size is based on year in the DateTime axis.
 * Month :- The stipline size is based on month in the DateTime axis.
 * Day :- The stipline size is based on day in the DateTime axis.
 * Hour :- The stipline size is based on hour in the DateTime axis.
 * Minutes :- The stipline size is based on minutes in the DateTime axis.
 * Seconds :- The stipline size is based on seconds in the DateTime axis.
 * ```
 */
export  type PivotChartSizeType = 
/**   In numeric axis, it will consider a number and DateTime axis, it will consider as milliseconds. */
'Auto' | 
/** The stripline gets their size in pixel. */
'Pixel' | 
/**  The stipline size is based on year in the DateTime axis. */
'Years' | 
/** The stipline size is based on month in the DateTime axis. */
'Months' | 
/** The stipline size is based on day in the DateTime axis. */
'Days' | 
/** The stipline size is based on hour in the DateTime axis. */
'Hours' | 
/** The stipline size is based on minutes in the DateTime axis. */
'Minutes' | 
/** The stipline size is based on seconds in the DateTime axis. */
'Seconds';
/**
 * Defines the strip line text position.
 * ```props
 * Start :- Places the strip line text at the start.
 * Middle :- Places the strip line text in the middle.
 * End :- Places the strip line text at the end.
 * ```
 */
export  type PivotChartAnchor = 
/** Places the strip line text in the middle. */
'Middle' | 
/** Places the strip line text at the start. */
'Start' | 
/** Places the strip line text at the end. */
'End';
/**
 *  Specifies the order of the strip line. `Over` | `Behind`.
 * ```props
 * Over :- Places the strip line over the series elements.
 * Behind :- Places the strip line behind the series elements.
 * ```
 */
export  type PivotChartZIndex = 
/** Places the strip line behind the series elements. */
'Behind' | 
/** Places the strip line over the series elements. */
'Over';
/**
 * Defines border type for multi level labels.
 * ```props
 * Rectangle :- Shows chart border as rectangle.
 * Brace :- Shows chart border as braces.
 * WithoutBorder :- Shows chart without border.
 * Without top Border :-  Shows chart with border on its top.
 * Without top and bottom border :- Shows chart with border on its top and bottom.
 * Curly brace :- Shows chart with curly braces.
 * ```
 */
export  type PivotChartBorderType = 
/** Shows chart border as rectangle. */
'Rectangle' | 
/** Shows chart border as braces. */
'Brace' | 
/** Shows chart without border. */
'WithoutBorder' | 
/** Shows chart with border on its top. */
'WithoutTopBorder' | 
/** Shows chart with border on its top and bottom. */
'WithoutTopandBottomBorder' | 
/** Shows chart with curly braces. */
'CurlyBrace';
/**
 * Defines the mode of line in crosshair. They are
 * ```props
 * None :- Hides both vertical and horizontal crosshair line.
 * Both :- Shows both vertical and horizontal crosshair line.
 * Vertical :- Shows the vertical line.
 * Horizontal :- Shows the horizontal line.
 * ```
 */
export  type PivotChartLineType = 
/** Shows both vertical and horizontal crosshair line. */
'Both' | 
/** Hides both vertical and horizontal crosshair line. */
'None' | 
/** Shows the vertical line. */
'Vertical' | 
/** Shows the horizontal line. */
'Horizontal';
/**
 * Defines the SelectionMode for chart types pie, doughnut, Funnel and pyramid.
 * ```props
 * None :- Disable the selection.
 * Point :- To select a point.
 * ```
 */
export  type PivotAccumulationChartSelectionMode = 
/** Disable the selection. */
'None' | 
/** To select a point. */
'Point';
/**
 * Defines the ConnectorType for chart types pie, doughnut, Funnel and pyramid. They are
 * ```props
 * Line :- Accumulation series Connector line type as Straight line.
 * Curve :- Accumulation series Connector line type as Curved line.
 * ```
 */
export  type PivotChartConnectorType = 
/** Accumulation series Connector line type as Straight line */
'Line' | 
/** Accumulation series Connector line type as Curved line */
'Curve';
/**
 * Defines the LabelPosition for chart types pie, doughnut, Funnel and pyramid. They are
 * ```props
 * Inside :- Define the data label position for the accumulation series Inside.
 * Outside :- Define the data label position for the accumulation series Outside.
 * ```
 */
export  type PivotChartLabelPosition = 
/** Define the data label position for the accumulation series Inside */
'Inside' | 
/** Define the data label position for the accumulation series Outside */
'Outside';
/**
 * Defines the mode of the group mode for chart types pie, doughnut, Funnel and pyramid
 * ```props
 * Point :- When choosing points, the selected points get grouped.
 * Value :- When choosing values, the points which less then values get grouped.
 * ```
 */
export  type PivotChartGroupModes = 
/** When choosing points, the selected points get grouped */
'Point' | 
/** When choosing values, the points which less then values get grouped. */
'Value';
/**
 * Defines the mode of the pyramid
 * ```props
 * Linear :- Height of the pyramid segments reflects the values
 * Surface :- Surface/Area of the  pyramid segments reflects the values
 * ```
 */
export  type PivotChartPyramidModes = 
/** Height of the pyramid segments reflects the values */
'Linear' | 
/** Surface/Area of the  pyramid segments reflects the values */
'Surface';
/**
 * Defines the position of the legend. They are
 * ```props
 * 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
 * ```props
 * 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.
 * StackingLine :- Renders the stacking line series.
 * ```
 */
export  type PivotChartDrawType = 
/** Renders the line series. */
'Line' | 
/**  Renders the column series. */
'Column' | 
/**  Renders the stacking column series. */
'StackingColumn' | 
/**  Renders the area series. */
'Area' | 
/**  Renders the scatter series. */
'Scatter' | 
/** Renders the range column series */
'RangeColumn' | 
/** Renders the spline series */
'Spline' | 
/** Renders the spline area series */
'SplineArea' | 
/** Renders the stacking area series */
'StackingArea' | 
/** Renders the Stacking line series */
'StackingLine';
/**
 * It defines type of spline.
 * ```props
 * 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 Monotonic spline */
'Monotonic' | 
/** Used to render cardinal spline */
'Cardinal' | 
/** Used to render Clamped spline */
'Clamped';
/**
 * Defines the Alignment. They are
 * ```props
 * None :- Shows all the labels.
 * Hide :- Hide the label when it intersect.
 * Trim :- Trim the label when it intersect.
 * Wrap :- Wrap the label when it intersect.
 * MultipleRows :- Arrange the label in multiple row when it intersect.
 * Rotate45 :- Rotate the label to 45 degree when it intersect.
 * Rotate90 :- Rotate the label to 90 degree when it intersect.
 * ```
 */
export  type PivotChartLabelIntersectAction = 
/** Rotate the label to 45 degree when it intersect. */
'Rotate45' | 
/** Shows all the labels. */
'None' | 
/** Hide the label when it intersect. */
'Hide' | 
/** Trim the label when it intersect. */
'Trim' | 
/** Wrap the label when it intersect. */
'Wrap' | 
/** Arrange the label in multiple row when it intersect. */
'MultipleRows' | 
/** Rotate the label to 90 degree when it intersect. */
'Rotate90';
/**
 * Defines the Edge Label Placement for an axis. They are
 * ```props
 * None :- Render the edge label in axis.
 * Hide :- Hides the edge label in axis.
 * Shift :- Shift the edge series in axis.
 * ```
 */
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
 * ```props
 * 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
 * ```props
 * Inside :- Place the ticks or labels inside to the axis line.
 * Outside :- Place the ticks or labels outside to the axis line.
 * ```
 */
export  type PivotChartAxisPosition = 
/** Place the ticks or labels outside to the axis line. */
'Outside' | 
/** Place the ticks or labels inside to the axis line. */
'Inside';
/**
 * Defines the zooming mode, They are.
 * ```props
 * XY :- 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.
 * ```props
 * 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
 * ```props
 * Material :- Render a chart with Material theme.
 * Fabric :- Render a chart with Fabric theme.
 * Bootstrap :- Render a chart with Bootstrap theme.
 * HighContrastLight :- Render a chart with HighcontrastLight theme.
 * MaterialDark :- Render a chart with MaterialDark theme.
 * FabricDark :- Render a chart with FabricDark theme.
 * HighContrast :- Render a chart with HighContrast theme.
 * BootstrapDark :- Render a chart with BootstrapDark theme.
 * Bootstrap4 :- Render a chart with Bootstrap4 theme.
 * ```
 */
export  type PivotChartTheme = 
/**  Render a chart with Material theme. */
'Material' | 
/**  Render a chart with Fabric theme. */
'Fabric' | 
/**  Render a chart with Bootstrap theme. */
'Bootstrap' | 
/**  Render a chart with HighcontrastLight theme. */
'HighContrastLight' | 
/**  Render a chart with MaterialDark theme. */
'MaterialDark' | 
/**  Render a chart with FabricDark theme. */
'FabricDark' | 
/**  Render a chart with HighContrast theme. */
'HighContrast' | 
/**  Render a chart with BootstrapDark theme. */
'BootstrapDark' | 
/**  Render a chart with Bootstrap4 theme. */
'Bootstrap4';
/**
 * Defines the data label position. They are,
 * ```props
 * Outer:- Positions the label outside the point.
 * Top:- Positions the label on top of the point.
 * Bottom:- Positions the label at the bottom of the point.
 * Middle:- Positions the label to the middle of the point.
 * Auto:- Positions the label based on series.
 * ```
 */
export  type LabelPosition = 
/** Positions the label outside the point. */
'Outer' | 
/** Positions the label on top of the point. */
'Top' | 
/** Positions the label on bottom of the point. */
'Bottom' | 
/** Positions the label to middle of the point. */
'Middle' | 
/** Positions the label based on series. */
'Auto';
/**
 * Allows to display the values in the pivot table with appropriate aggregations such as sum, product, count, average, etc… The available types are,
 * ```props
 * Sum :- Allows to display the pivot table values with sum.
 * Product :- Allows to display the pivot table values with product.
 * Count :- Allows to display the pivot table values with count.
 * DistinctCount :- Allows to display the pivot table values with distinct count.
 * Min :- Allows to display the pivot table with minimum value.
 * Max :- Allows to display the pivot table with maximum value.
 * Avg :- Allows to display the pivot table values with average.
 * Median :- Allows to display the pivot table values with median.
 * Index :- Allows to display the pivot table values with index.
 * PopulationStDev :- Allows to display the pivot table values with population standard deviation.
 * SampleStDev :- Allows to display the pivot table values with sample standard deviation.
 * PopulationVar :- Allows to display the pivot table values with population variance.
 * SampleVar :- Allows to display the pivot table values with sample variance.
 * RunningTotals :- Allows to display the pivot table values with running totals.
 * DifferenceFrom :- Allows to display the pivot table values with difference from the value of the base item in the base field.
 * PercentageOfDifferenceFrom :- Allows to display the pivot table values with percentage difference from the value of the base item in the base field.
 * PercentageOfGrandTotal :- Allows to display the pivot table values with percentage of grand total of all values.
 * PercentageOfColumnTotal :- Allows to display the pivot table values in each column with percentage of total values for the column.
 * PercentageOfRowTotal :- Allows to display the pivot table values in each row with percentage of total values for the row.
 * PercentageOfParentTotal :- Allows to display the pivot table values with percentage of total of all values based on selected field.
 * PercentageOfParentColumnTotal :- Allows to display the pivot table values with percentage of its parent total in each column.
 * PercentageOfParentRowTotal :- Allows to display the pivot table values with percentage of its parent total in each row.
 *
 * ```
 * > It is applicable only for relational data source.
 */
export  type AggregateTypes = 
/** Allows to display the pivot table values with sum. */
'Sum' | 
/** Allows to display the pivot table values with product. */
'Product' | 
/** Allows to display the pivot table values with count. */
'Count' | 
/** Allows to display the pivot table values with distinct count. */
'DistinctCount' | 
/** Allows to display the pivot table with median value. */
'Median' | 
/** Allows to display the pivot table with minimum value. */
'Min' | 
/** Allows to display the pivot table values with median. */
'Max' | 
/** Allows to display the pivot table values with average. */
'Avg' | 
/** Allows to display the pivot table values with index. */
'Index' | 
/** Allows to display the pivot table values with percentage of grand total of all values. */
'PercentageOfGrandTotal' | 
/** Allows to display the pivot table values in each column with percentage of total values for the column. */
'PercentageOfColumnTotal' | 
/** Allows to display the pivot table values in each row with percentage of total values for the row. */
'PercentageOfRowTotal' | 
/** Allows to display the pivot table values with percentage of its parent total in each row. */
'PercentageOfParentRowTotal' | 
/** Allows to display the pivot table values with percentage of its parent total in each column. */
'PercentageOfParentColumnTotal' | 
/** Allows to display the pivot table values with percentage of total of all values based on selected field. */
'PercentageOfParentTotal' | 
/** Allows to display the pivot table values with running totals. */
'RunningTotals' | 
/** Allows to display the pivot table values with population standard deviation. */
'PopulationStDev' | 
/** Allows to display the pivot table values with sample standard deviation. */
'SampleStDev' | 
/** Allows to display the pivot table values with population variance. */
'PopulationVar' | 
/** Allows to display the pivot table values with sample variance. */
'SampleVar' | 
/** Allows to display the pivot table values with difference from the value of the base item in the base field. */
'DifferenceFrom' | 
/** Allows to display the pivot table values with percentage difference from the value of the base item in the base field. */
'PercentageOfDifferenceFrom';
/**
 * Allows the chart series to be displayed, depending on the value fields specified, in either a stacked or single chart area.
 * The options available are:
 * ```props
 * Stacked:- Allows the chart series to be displayed in a separate chart area depending on the value fields specified.
 * Single:- Allows the chart series to be displayed in a single chart area for different value fields.
 * Combined:- Allows to draw chart series with a single Y-axis for all value fields in the pivot chart area.
 * ```
 * These chart series will be drawn based on the Y-axis range values calculated from all of the bound value fields.
 * > The first value field in the value axis will be used to format the Y-axis range values.
 * For example, if the first value field is in currency format and the remaining value fields are in different number formats or no format,
 * the currency format will be used for the Y-axis range values.
 */
export  type MultipleAxisMode = 
/** Allows the chart series to be displayed in a separate chart area depending on the value fields specified. */
'Stacked' | 
/** Allows the chart series to be displayed in a single chart area for different value fields. */
'Single' | 
/** Allows to draw chart series with a single Y-axis for all value fields in the pivot chart area.
 * These chart series will be drawn based on the Y-axis range values calculated from all of the bound value fields.
 *  > The first value field in the value axis will be used to format the Y-axis range values.
 * For example, if the first value field is in currency format and the remaining value fields are in different number formats or no format,
 * the currency format will be used for the Y-axis range values. */
'Combined';
/**
 * Allows the grand totals to be displayed in either the top or bottom position in the pivot table's row and column axes.
 * The options available are:
 * ```props
 * Top:- Allows the grand totals to be displayed in top position in the pivot table's row and column axes.
 * Bottom:- Allows the grand totals to be displayed in bottom position in the pivot table's row and column axes.
 * ```
 */
export  type GrandTotalsPosition = 
/** Allows the grand totals to be displayed in top position in the pivot table's row and column axes. */
'Top' | 
/** Allows the grand totals to be displayed in bottom position in the pivot table's row and column axes. */
'Bottom';
/**
 * Specifies different types of positions that will allow the row and column sub-totals to be displayed at the top or bottom of the header group in the pivot table.
 * The available options are:
 * ```props
 * Auto:- Defines the row and column sub-totals to be displayed in their default positions, i.e., the column sub-totals are displayed at the bottom and row sub-totals are displayed at the top of their header group in the pivot table.
 * Top:- Defines the row and column sub-totals to be displayed at the top of the header group in the pivot table.
 * Bottom:- Defines the row and column sub-totals to be displayed at the bottom of the header group in the pivot table.
 * ```
 */
export  type SubTotalsPosition = 
/** Defines the row and column sub-totals to be displayed in their default positions, i.e., the column sub-totals are displayed at the bottom and row sub-totals are displayed at the top of their header group in the pivot table. */
'Auto' | 
/** Defines the row and column sub-totals to be displayed at the top of the header group in the pivot table.*/
'Top' | 
/** Defines the row and column sub-totals to be displayed at the bottom of the header group in the pivot table.*/
'Bottom';
/**
 * Allows to display the pager UI either at top or bottom of the Pivot Table UI.
 * The options available are:
 * ```props
 * Top:- Allows the pager UI to be displayed in top position of the Pivot Table UI.
 * Bottom:- Allows the pager UI to be displayed in bottom position of the Pivot Table UI.
 * ```
 */
export  type PagerPosition = 
/** Allows the pager UI to be displayed in top position of the Pivot Table UI. */
'Top' | 
/** Allows the pager UI to be displayed in bottom position of the Pivot Table UI. */
'Bottom';
/**
 * Allows the table or chart to be exported in the PDF export document. The available options are:
 * ```props
 * Table :- Determines the pivot table to be exported in the PDF export document.
 * Chart :- Determines the pivot chart to be exported in the PDF export document.
 * ```
 */
export  type ExportView = 
/**  Determines the pivot table to be exported in the PDF export document. */
'Table' | 
/**  Determines the pivot chart to be exported in the PDF export document. */
'Chart';
/**
 * Specifies the layout options for displaying the pivot table in either a compact or tabular format.
 * The available options are:
 * * `Compact`: Displays the pivot table in a compact format, merging row headers into a single column.
 * * `Tabular`: Displays the pivot table in a traditional format with separate columns for row headers, creating a more detailed table format.
 */
export  type GridLayout = 
/** Displays the pivot table in a compact format, merging row headers into a single column. */
'Compact' | 
/** Displays the pivot table in a traditional format with separate columns for row headers, creating a more detailed table format. */
'Tabular';
//node_modules/@syncfusion/ej2-pivotview/src/common/base/css-constant.d.ts
/**
 * CSS Constants
 *
 * @hidden
 */
/** @hidden */
export  const ROOT: string;
/** @hidden */
export  const RTL: string;
/** @hidden */
export  const PIVOTCHART_LTR: string;
/** @hidden */
export  const DEVICE: string;
/** @hidden */
export  const ICON: string;
/** @hidden */
export  const ICON_DISABLE: string;
/** @hidden */
export  const ICON_HIDDEN: string;
/** @hidden */
export  const FIRST_PAGER_ICON: string;
/** @hidden */
export  const LAST_PAGER_ICON: string;
/** @hidden */
export  const PREV_PAGER_ICON: string;
/** @hidden */
export  const NEXT_PAGER_ICON: string;
/** @hidden */
export  const AXISFIELD_ICON_CLASS: string;
/** @hidden */
export  const WRAPPER_CLASS: string;
/** @hidden */
export  const OLAP_WRAPPER_CLASS: string;
/** @hidden */
export  const CONTAINER_CLASS: string;
/** @hidden */
export  const TOGGLE_FIELD_LIST_CLASS: string;
/** @hidden */
export  const STATIC_FIELD_LIST_CLASS: string;
/** @hidden */
export  const TOGGLE_SELECT_CLASS: string;
/** @hidden */
export  const FIELD_TABLE_CLASS: string;
/** @hidden */
export  const BUTTON_DRAGGABLE: string;
/** @hidden */
export  const OLAP_FIELD_TABLE_CLASS: string;
/** @hidden */
export  const FIELD_LIST_CLASS: string;
/** @hidden */
export  const OLAP_FIELD_LIST_CLASS: string;
/** @hidden */
export  const FIELD_LIST_TREE_CLASS: string;
/** @hidden */
export  const FIELD_LIST_TREE_OUTER_DIV_CLASS: string;
/** @hidden */
export  const FIELD_LIST_TREE_OUTER_DIV_SEARCH_CLASS: string;
/** @hidden */
export  const FIELD_LIST_SEARCH_MODE_CLASS: string;
/** @hidden */
export  const FIELD_HEADER_CLASS: string;
/** @hidden */
export  const FIELD_TREE_PARENT: string;
/** @hidden */
export  const FIELD_TREE_CHILD: string;
/** @hidden */
export  const FIELD_HEADER_CONTAINER_CLASS: string;
/** @hidden */
export  const FIELD_LIST_TITLE_CLASS: string;
/** @hidden */
export  const FIELD_LIST_TITLE_CONTENT_CLASS: string;
/** @hidden */
export  const FIELD_LIST_SEARCH_CLASS: string;
/** @hidden */
export  const FIELD_LIST_SEARCH_INPUT_CLASS: string;
/** @hidden */
export  const FIELD_LIST_SEARCH_ICON_CLASS: string;
/** @hidden */
export  const FIELD_LIST_FOOTER_CLASS: string;
/** @hidden */
export  const CALCULATED_FIELD_CLASS: string;
/** @hidden */
export  const FLAT_CLASS: string;
/** @hidden */
export  const OUTLINE_CLASS: string;
/** @hidden */
export  const AXIS_TABLE_CLASS: string;
/** @hidden */
export  const OLAP_AXIS_TABLE_CLASS: string;
/** @hidden */
export  const LEFT_AXIS_PANEL_CLASS: string;
/** @hidden */
export  const RIGHT_AXIS_PANEL_CLASS: string;
/** @hidden */
export  const ALL_FIELDS_PANEL_CLASS: string;
/** @hidden */
export  const FIELD_PANEL_SCROLL_CLASS: string;
/** @hidden */
export  const AXIS_HEADER_CLASS: string;
/** @hidden */
export  const AXIS_CONTENT_CLASS: string;
/** @hidden */
export  const AXIS_PROMPT_CLASS: string;
/** @hidden */
export  const PIVOT_BUTTON_WRAPPER_CLASS: string;
/** @hidden */
export  const PIVOT_BUTTON_CLASS: string;
/** @hidden */
export  const CONTENT_CLASS: string;
/** @hidden */
export  const PIVOT_BUTTON_CONTENT_CLASS: string;
/** @hidden */
export  const DRAG_CLONE_CLASS: string;
/** @hidden */
export  const SORT_CLASS: string;
/** @hidden */
export  const MEMBER_SORT_CLASS: string;
/** @hidden */
export  const SORT_DESCEND_CLASS: string;
/** @hidden */
export  const FILTER_COMMON_CLASS: string;
/** @hidden */
export  const FILTER_CLASS: string;
/** @hidden */
export  const FILTERED_CLASS: string;
/** @hidden */
export  const REMOVE_CLASS: string;
/** @hidden */
export  const DRAG_CLASS: string;
/** @hidden */
export  const DRAG_DISABLE_CLASS: string;
/** @hidden */
export  const DROP_INDICATOR_CLASS: string;
/** @hidden */
export  const INDICATOR_HOVER_CLASS: string;
/** @hidden */
export  const MEMBER_EDITOR_DIALOG_CLASS: string;
/** @hidden */
export  const EDITOR_TREE_WRAPPER_CLASS: string;
/** @hidden */
export  const EDITOR_TREE_CONTAINER_CLASS: string;
/** @hidden */
export  const DRILLTHROUGH_GRID_CLASS: string;
/** @hidden */
export  const DRILLTHROUGH_BODY_CLASS: string;
/** @hidden */
export  const DRILLTHROUGH_BODY_HEADER_CONTAINER_CLASS: string;
/** @hidden */
export  const DRILLTHROUGH_BODY_HEADER_CLASS: string;
/** @hidden */
export  const DRILLTHROUGH_BODY_HEADER_COMMON_CLASS: string;
/** @hidden */
export  const DRILLTHROUGH_BODY_HEADER_VALUE_CLASS: string;
/** @hidden */
export  const DRILLTHROUGH_DIALOG: string;
/** @hidden */
export  const EDITOR_LABEL_WRAPPER_CLASS: string;
/** @hidden */
export  const EDITOR_LABEL_CLASS: string;
/** @hidden */
export  const CHECK_BOX_FRAME_CLASS: string;
/** @hidden */
export  const NODE_CHECK_CLASS: string;
/** @hidden */
export  const NODE_STOP_CLASS: string;
/** @hidden */
export  const OK_BUTTON_CLASS: string;
/** @hidden */
export  const CANCEL_BUTTON_CLASS: string;
/** @hidden */
export  const ERROR_DIALOG_CLASS: string;
/** @hidden */
export  const DROPPABLE_CLASS: string;
/** @hidden */
export  const ROW_AXIS_CLASS: string;
/** @hidden */
export  const COLUMN_AXIS_CLASS: string;
/** @hidden */
export  const VALUE_AXIS_CLASS: string;
/** @hidden */
export  const FILTER_AXIS_CLASS: string;
/** @hidden */
export  const GROUPING_BAR_CLASS: string;
/** @hidden */
export  const VALUE_COLUMN_CLASS: string;
/** @hidden */
export  const GROUP_ALL_FIELDS_CLASS: string;
/** @hidden */
export  const GROUP_ROW_CLASS: string;
/** @hidden */
export  const GROUP_COLUMN_CLASS: string;
/** @hidden */
export  const GROUP_FLEX_CLASS: string;
/** @hidden */
export  const GROUP_VALUE_CLASS: string;
/** @hidden */
export  const GROUP_FILTER_CLASS: string;
/** @hidden */
export  const DIALOG_CLOSE_ICON_CLASS: string;
/** @hidden */
export  const NO_DRAG_CLASS: string;
/** @hidden */
export  const SELECTED_NODE_CLASS: string;
/** @hidden */
export  const TITLE_HEADER_CLASS: string;
/** @hidden */
export  const TITLE_CONTENT_CLASS: string;
/** @hidden */
export  const TEXT_CONTENT_CLASS: string;
/** @hidden */
export  const FOOTER_CONTENT_CLASS: string;
/** @hidden */
export  const ADAPTIVE_CONTAINER_CLASS: string;
/** @hidden */
export  const ADAPTIVE_FIELD_LIST_BUTTON_CLASS: string;
/** @hidden */
export  const ADAPTIVE_CALCULATED_FIELD_BUTTON_CLASS: string;
/** @hidden */
export  const BUTTON_SMALL_CLASS: string;
/** @hidden */
export  const BUTTON_ROUND_CLASS: string;
/** @hidden */
export  const ADD_ICON_CLASS: string;
/** @hidden */
export  const BUTTON_FLAT_CLASS: string;
/** @hidden */
export  const STATIC_CENTER_DIV_CLASS: string;
/** @hidden */
export  const STATIC_CENTER_HEADER_CLASS: string;
/** @hidden */
export  const ADAPTIVE_FIELD_LIST_DIALOG_CLASS: string;
/** @hidden */
export  const LIST_TEXT_CLASS: string;
/** @hidden */
export  const LIST_SELECT_CLASS: string;
/** @hidden */
export  const LIST_FRAME_CLASS: string;
/** @hidden */
export  const EXCEL_FILTER_ICON_CLASS: string;
/** @hidden */
export  const SELECTED_MENU_ICON_CLASS: string;
/** @hidden */
export  const EMPTY_ICON_CLASS: string;
/** @hidden */
export  const SUB_MENU_CLASS: string;
/** @hidden */
export  const FOCUSED_CLASS: string;
/** @hidden */
export  const SELECTED_CLASS: string;
/** @hidden */
export  const SELECT_CLASS: string;
/** @hidden */
export  const MENU_ITEM_CLASS: string;
/** @hidden */
export  const FILTER_MENU_OPTIONS_CLASS: string;
/** @hidden */
export  const SELECTED_OPTION_ICON_CLASS: string;
/** @hidden */
export  const SELECTED_LEVEL_ICON_CLASS: string;
/** @hidden */
export  const FILTER_DIV_CONTENT_CLASS: string;
/** @hidden */
export  const FILTER_TEXT_DIV_CLASS: string;
/** @hidden */
export  const BETWEEN_TEXT_DIV_CLASS: string;
/** @hidden */
export  const SEPARATOR_DIV_CLASS: string;
/** @hidden */
export  const FILTER_OPTION_WRAPPER_1_CLASS: string;
/** @hidden */
export  const FILTER_OPTION_WRAPPER_2_CLASS: string;
/** @hidden */
export  const FILTER_INPUT_DIV_1_CLASS: string;
/** @hidden */
export  const FILTER_INPUT_DIV_2_CLASS: string;
/** @hidden */
export  const VALUE_OPTIONS_CLASS: string;
/** @hidden */
export  const LEVEL_OPTIONS_CLASS: string;
/** @hidden */
export  const FILTER_OPERATOR_CLASS: string;
/** @hidden */
export  const FILTER_SORT_CLASS: string;
/** @hidden */
export  const SORT_ASCEND_ICON_CLASS: string;
/** @hidden */
export  const SORT_DESCEND_ICON_CLASS: string;
/** @hidden */
export  const SORT_SELECTED_CLASS: string;
/** @hidden */
export  const COLLAPSE: string;
/** @hidden */
export  const EXPAND: string;
/** @hidden */
export  const TABLE: string;
/** @hidden */
export  const BODY: string;
/** @hidden */
export  const PIVOTBODY: string;
/** @hidden */
export  const COLUMNSHEADER: string;
/** @hidden */
export  const ROWSHEADER: string;
/** @hidden */
export  const VALUESCONTENT: string;
/** @hidden */
export  const VALUECELL: string;
/** @hidden */
export  const PIVOTHEADER: string;
/** @hidden */
export  const PGHEADERS: string;
/** @hidden */
export  const TOPHEADER: string;
/** @hidden */
export  const HEADERCELL: string;
/** @hidden */
export  const SUMMARY: string;
/** @hidden */
export  const CELLVALUE: string;
/** @hidden */
export  const ROW: string;
/** @hidden */
export  const PIVOTTOOLTIP: string;
/** @hidden */
export  const TOOLTIP_HEADER: string;
/** @hidden */
export  const TOOLTIP_CONTENT: string;
/** @hidden */
export  const NEXTSPAN: string;
/** @hidden */
export  const LASTSPAN: string;
/** @hidden */
export  const EDITOR_SEARCH_WRAPPER_CLASS: string;
/** @hidden */
export  const EDITOR_SEARCH_CLASS: string;
/** @hidden */
export  const EDITOR_SEARCH__INPUT_CLASS: string;
/** @hidden */
export  const SELECT_ALL_WRAPPER_CLASS: string;
/** @hidden */
export  const SELECT_ALL_CLASS: string;
/** @hidden */
export  const PIVOTCALC: string;
/** @hidden */
export  const CALCDIALOG: string;
/** @hidden */
export  const OLAP_CALCDIALOG: string;
/** @hidden */
export  const CALCRADIO: string;
/** @hidden */
export  const CALCCHECK: string;
/** @hidden */
export  const CALCINPUT: string;
/** @hidden */
export  const CALC_FORMAT_INPUT: string;
/** @hidden */
export  const CALCINPUTDIV: string;
/** @hidden */
export  const PIVOT_CALC_CUSTOM_FORMAT_INPUTDIV: string;
/** @hidden */
export  const CALC_HIERARCHY_LIST_DIV: string;
/** @hidden */
export  const CALC_FORMAT_TYPE_DIV: string;
/** @hidden */
export  const CALC_MEMBER_TYPE_DIV: string;
/** @hidden */
export  const MEMBER_OPTIONS_CLASS: string;
/** @hidden */
export  const HIERARCHY_OPTIONS_CLASS: string;
/** @hidden */
export  const FORMAT_OPTIONS_CLASS: string;
/** @hidden */
export  const FORMAT_INPUT_CLASS: string;
/** @hidden */
export  const CALCOUTERDIV: string;
/** @hidden */
export  const OLAP_CALCOUTERDIV: string;
/** @hidden */
export  const FLAT: string;
/** @hidden */
export  const FORMAT: string;
/** @hidden */
export  const FORMULA: string;
/** @hidden */
export  const TREEVIEW: string;
/** @hidden */
export  const TREEVIEWOUTER: string;
/** @hidden */
export  const TREE_CONTAINER: string;
/** @hidden */
export  const CALCCANCELBTN: string;
/** @hidden */
export  const CALCADDBTN: string;
/** @hidden */
export  const CALCOKBTN: string;
/** @hidden */
export  const CALCACCORD: string;
/** @hidden */
export  const CALCBUTTONDIV: string;
/** @hidden */
export  const AXIS_ICON_CLASS: string;
/** @hidden */
export  const AXIS_ROW_CLASS: string;
/** @hidden */
export  const AXIS_COLUMN_CLASS: string;
/** @hidden */
export  const AXIS_VALUE_CLASS: string;
/** @hidden */
export  const AXIS_FILTER_CLASS: string;
/** @hidden */
export  const AXIS_NAVIGATE_WRAPPER_CLASS: string;
/** @hidden */
export  const LEFT_NAVIGATE_WRAPPER_CLASS: string;
/** @hidden */
export  const RIGHT_NAVIGATE_WRAPPER_CLASS: string;
/** @hidden */
export  const LEFT_NAVIGATE_CLASS: string;
/** @hidden */
export  const RIGHT_NAVIGATE_CLASS: string;
/** @hidden */
export  const GRID_CLASS: string;
/** @hidden */
export  const PIVOT_VIEW_CLASS: string;
/** @hidden */
export  const PIVOT_ALL_FIELD_TITLE_CLASS: string;
/** @hidden */
export  const PIVOT_FIELD_TITLE_CLASS: string;
/** @hidden */
export  const PIVOT_FORMULA_TITLE_CLASS: string;
/** @hidden */
export  const OLAP_HIERARCHY_TITLE_CLASS: string;
/** @hidden */
export  const PIVOT_FORMAT_TITLE_CLASS: string;
/** @hidden */
export  const OLAP_MEMBER_TITLE_CLASS: string;
/** @hidden */
export  const PIVOT_CONTEXT_MENU_CLASS: string;
/** @hidden */
export  const MENU_DISABLE: string;
/** @hidden */
export  const MENU_HIDE: string;
/** @hidden */
export  const EMPTY_MEMBER_CLASS: string;
/** @hidden */
export  const CALC_EDIT: string;
/** @hidden */
export  const CALC_EDITED: string;
/** @hidden */
export  const CALC_INFO: string;
/** @hidden */
export  const EMPTY_FIELD: string;
/** @hidden */
export  const FORMAT_DIALOG: string;
/** @hidden */
export  const FORMAT_CONDITION_BUTTON: string;
/** @hidden */
export  const FORMAT_NEW: string;
/** @hidden */
export  const FORMAT_OUTER: string;
/** @hidden */
export  const FORMAT_INNER: string;
/** @hidden */
export  const FORMAT_TABLE: string;
/** @hidden */
export  const FORMAT_VALUE_LABEL: string;
/** @hidden */
export  const FORMAT_LABEL: string;
/** @hidden */
export  const INPUT: string;
/** @hidden */
export  const FORMAT_VALUE1: string;
/** @hidden */
export  const FORMAT_VALUE2: string;
/** @hidden */
export  const HIDDEN: string;
/** @hidden */
export  const FORMAT_INPUT_VALUE: 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 GRANDTOTAL_CHECKBOX_TABLE: 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 VIRTUALTABLE_DIV: string;
/** @hidden */
export  const CONTENT_VIRTUALTABLE_DIV: string;
/** @hidden */
export  const VIRTUALSCROLL_DIV: string;
/** @hidden */
export  const MOVABLESCROLL_DIV: string;
/** @hidden */
export  const MOVABLEHEADER_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 CHECKBOX_CONTAINER: string;
/** @hidden */
export  const DEFER_UPDATE_BUTTON: string;
/** @hidden */
export  const HEADERCONTENT: string;
/** @hidden */
export  const BACK_ICON: string;
/** @hidden */
export  const TITLE_MOBILE_HEADER: string;
/** @hidden */
export  const TITLE_MOBILE_CONTENT: string;
/** @hidden */
export  const ROW_CELL_CLASS: string;
/** @hidden */
export  const CELL_ACTIVE_BGCOLOR: string;
/** @hidden */
export  const SPAN_CLICKED: string;
/** @hidden */
export  const ROW_SELECT: string;
/** @hidden */
export  const GRID_HEADER: string;
/** @hidden */
export  const GRID_CONTENT: string;
/** @hidden */
export  const GRID_EXPORT: string;
/** @hidden */
export  const PIVOTVIEW_EXPORT: string;
/** @hidden */
export  const PIVOTVIEW_GRID: string;
/** @hidden */
export  const PIVOTVIEW_EXPAND: string;
/** @hidden */
export  const PIVOTVIEW_COLLAPSE: string;
/** @hidden */
export  const PIVOTVIEW_GROUP: string;
/** @hidden */
export  const PIVOTVIEW_UN_GROUP: string;
/** @hidden */
export  const GRID_PDF_EXPORT: string;
/** @hidden */
export  const GRID_EXCEL_EXPORT: string;
/** @hidden */
export  const GRID_CSV_EXPORT: string;
/** @hidden */
export  const GRID_PNG_EXPORT: string;
/** @hidden */
export  const GRID_JPEG_EXPORT: string;
/** @hidden */
export  const GRID_SVG_EXPORT: string;
/** @hidden */
export  const GRID_LOAD: string;
/** @hidden */
export  const GRID_NEW: string;
/** @hidden */
export  const GRID_RENAME: string;
/** @hidden */
export  const GRID_REMOVE: string;
/** @hidden */
export  const GRID_SAVEAS: string;
/** @hidden */
export  const GRID_SAVE: string;
/** @hidden */
export  const GRID_SUB_TOTAL: string;
/** @hidden */
export  const GRID_GRAND_TOTAL: string;
/** @hidden */
export  const GRID_FORMATTING: string;
/** @hidden */
export  const GRID_TOOLBAR: string;
/** @hidden */
export  const GRID_REPORT_LABEL: string;
/** @hidden */
export  const GRID_REPORT_INPUT: string;
/** @hidden */
export  const GRID_REPORT_OUTER: string;
/** @hidden */
export  const GRID_REPORT_DIALOG: string;
/** @hidden */
export  const TOOLBAR_FIELDLIST: string;
/** @hidden */
export  const TOOLBAR_GRID: string;
/** @hidden */
export  const TOOLBAR_CHART: string;
/** @hidden */
export  const REPORT_LIST_DROP: string;
/** @hidden */
export  const PIVOTCHART: string;
/** @hidden */
export  const GROUP_CHART_ROW: string;
/** @hidden */
export  const GROUP_CHART_COLUMN: string;
/** @hidden */
export  const GROUP_CHART_VALUE: string;
/** @hidden */
export  const GROUP_CHART_MULTI_VALUE: string;
/** @hidden */
export  const GROUP_CHART_ACCUMULATION_COLUMN: string;
/** @hidden */
export  const GROUP_CHART_FILTER: string;
/** @hidden */
export  const GROUP_CHART_VALUE_DROPDOWN_DIV: string;
/** @hidden */
export  const GROUP_CHART_VALUE_DROPDOWN: string;
/** @hidden */
export  const GROUP_CHART_COLUMN_DROPDOWN_DIV: string;
/** @hidden */
export  const GROUP_CHART_COLUMN_DROPDOWN: string;
/** @hidden */
export  const CHART_GROUPING_BAR_CLASS: string;
/** @hidden */
export  const PIVOT_DISABLE_ICON: string;
/** @hidden */
export  const PIVOT_SELECT_ICON: string;
/** @hidden */
export  const VALUESHEADER: string;
/** @hidden */
export  const ICON_ASC: string;
/** @hidden */
export  const ICON_DESC: string;
/** @hidden */
export  const GRID_GROUPING_BAR_CLASS: string;
/** @hidden */
export  const MDX_QUERY: string;
/** @hidden */
export  const MDX_QUERY_CONTENT: string;
/** @hidden */
export  const GRID_MDX_DIALOG: string;
/** @hidden */
export  const GRID_MDX: string;
/** @hidden */
export  const FORMATTING_DIALOG: string;
/** @hidden */
export  const FORMATTING_DIALOG_OUTER: string;
/** @hidden */
export  const FORMATTING_VALUE_LABLE: string;
/** @hidden */
export  const FORMATTING_VALUE_DROP: string;
/** @hidden */
export  const FORMATTING_FORMAT_LABLE: string;
/** @hidden */
export  const FORMATTING_FORMAT_DROP: string;
/** @hidden */
export  const FORMATTING_CUSTOM_LABLE: string;
/** @hidden */
export  const FORMATTING_CUSTOM_TEXT: string;
/** @hidden */
export  const FORMATTING_SYMBOL_LABLE: string;
/** @hidden */
export  const FORMATTING_SYMBOL_DROP: string;
/** @hidden */
export  const FORMATTING_GROUPING_LABLE: string;
/** @hidden */
export  const FORMATTING_GROUPING_DROP: string;
/** @hidden */
export  const FORMATTING_DECIMAL_LABLE: string;
/** @hidden */
export  const FORMATTING_DECIMAL_DROP: string;
/** @hidden */
export  const FORMATTING_TOOLBAR: string;
/** @hidden */
export  const FORMATTING_TABLE: string;
/** @hidden */
export  const FORMATTING_MENU: string;
/** @hidden */
export  const NUMBER_FORMATTING_MENU: string;
/** @hidden */
export  const EMPTY_FORMAT: string;
/** @hidden */
export  const CONDITIONAL_FORMATTING_MENU: string;
/** @hidden */
export  const PIVOTCHART_INNER: string;
/** @hidden */
export  const PIVOTCHART_TYPE_DIALOG: string;
/** @hidden */
export  const FORMAT_FONT_COLOR_PICKER: string;
/** @hidden */
export  const GROUP_PIVOT_ROW: string;
/** @hidden */
export  const TOOLBAR_MENU: string;
/** @hidden */
export  const DISABLE_FIRST_PAGE: string;
/** @hidden */
export  const DISABLE_PREV_PAGE: string;
/** @hidden */
export  const DISABLE_NEXT_PAGE: string;
/** @hidden */
export  const DISABLE_LAST_PAGE: string;
/** @hidden */
export  const GRID_PAGER: string;
/** @hidden */
export  const GRID_PAGER_DIV: string;
/** @hidden */
export  const PIVOT_ROW_PAGER_DIV: string;
/** @hidden */
export  const PIVOT_COLUMN_PAGER_DIV: string;
/** @hidden */
export  const PIVOT_ROW_PAGER_SETTINGS: string;
/** @hidden */
export  const PIVOT_COLUMN_PAGER_SETTINGS: string;
/** @hidden */
export  const PIVOT_BOTH_PAGER_SETTINGS: string;
/** @hidden */
export  const PIVOT_PAGER_CONTAINER: string;
/** @hidden */
export  const PIVOT_V_SEPARATOR: string;
/** @hidden */
export  const PIVOT_H_SEPARATOR: string;
/** @hidden */
export  const PIVOT_TEXT_DIV: string;
/** @hidden */
export  const PIVOT_TEXT_DIV_1: string;
/** @hidden */
export  const PIVOT_ROW_SIZE: string;
/** @hidden */
export  const PIVOT_ROW_PAGER_NUMBER: string;
/** @hidden */
export  const PIVOT_COLUMN_SIZE: string;
/** @hidden */
export  const PIVOT_COLUMN_PAGER_NUMBER: string;
/** @hidden */
export  const PIVOT_ROW_PAGER_STRING: string;
/** @hidden */
export  const PIVOT_COLUMN_PAGER_STRING: string;
/** @hidden */
export  const PIVOT_ROW_OF_STRING: string;
/** @hidden */
export  const PIVOT_COLUMN_OF_STRING: string;
/** @hidden */
export  const PIVOT_ROW_DROPDOWN: string;
/** @hidden */
export  const PIVOT_COLUMN_DROPDOWN: string;
/** @hidden */
export  const PIVOT_ROW_SIZE_LIST: string;
/** @hidden */
export  const PIVOT_COLUMN_SIZE_LIST: string;
/** @hidden */
export  const INVERSE: string;
/** @hidden */
export  const COMPACT_VIEW: string;
/** @hidden */
export  const PAGE_SIZE_DISABLE: string;
/** @hidden */
export  const PIVOT_COMPACT_PAGER_DIV: string;
/** @hidden */
export  const PIVOT_COMPACT_PAGER_NO_ROWSIZE: string;
/** @hidden */
export  const PIVOT_COMPACT_PAGER_NO_COLUMNSIZE: string;
/** @hidden */
export  const PIVOT_SINGLE_ROW_PAGER_DIV: string;
/** @hidden */
export  const PIVOT_SINGLE_COLUMN_PAGER_DIV: string;
/** @hidden */
export  const PIVOT_COMPACT_MOBILE_PAGER: string;
/** @hidden */
export  const PIVOT_MOBILE_PAGER: string;
/** @hidden */
export  const PIVOT_ROW_OF_STRING_MAINDIV: string;
/** @hidden */
export  const PIVOT_COLUMN_OF_STRING_MAINDIV: string;
/** @hidden */
export  const PIVOT_PAGE_SIZE_LIST_MAINDIV: string;
/** @hidden */
export  const PIVOT_FIRST_ICON_DEFAULT: string;
/** @hidden */
export  const PIVOT_PREV_ICON_DEFAULT: string;
/** @hidden */
export  const PIVOT_NEXT_ICON_DEFAULT: string;
/** @hidden */
export  const PIVOT_LAST_ICON_DEFAULT: string;
/** @hidden */
export  const PIVOT_FIRST_ICON_ENABLE: string;
/** @hidden */
export  const PIVOT_PREV_ICON_ENABLE: string;
/** @hidden */
export  const PIVOT_NEXT_ICON_ENABLE: string;
/** @hidden */
export  const PIVOT_LAST_ICON_ENABLE: string;
/** @hidden */
export  const GRID_PAGER_TOP: string;
/** @hidden */
export  const GRID_PAGER_BOTTOM: string;
/** @hidden */
export  const GRID_PAGER_SINGLE_DIV: string;
/** @hidden */
export  const PIVOT_MOBILE_SINGLE_PAGER: string;
/** @hidden */
export  const PIVOT_COMPACT_PAGER_SINGLE_DIV: string;
/** @hidden */
export  const PIVOT_COMPACT_MOBILE_SINGLE_PAGER: string;
/** @hidden */
export  const PIVOT_COMPACT_MOBILE_FULL_SINGLE_PAGER: string;
/** @hidden */
export  const PIVOT_PAGER_SINGLE_NO_SIZE: string;
/** @hidden */
export  const PIVOT_PAGER_COMPACT_SINGLE_NO_SIZE: string;
/** @hidden */
export  const PIVOT_PAGER_NAV_CONTAINER: string;
/** @hidden */
export  const PIVOT_PAGER_INFO_CONTAINER: string;
/** @hidden */
export  const PIVOT_CELL_CONTAINER: string;
/** @hidden */
export  const PIVOT_ROW_CONTAINER: string;
/** @hidden */
export  const PIVOT_FILTER_TAB_CONTAINER: string;
/** @hidden */
export  const PIVOT_FILTER_MEMBER_LIMIT: string;
/** @hidden */
export  const FREEZED_CELL: string;
/** @hidden */
export  const PIVOT_CONTENT_LOADER: string;
/** @hidden */
export  const PIVOT_HIDE_LOADER: string;
/** @hidden */
export  const COLLAPSIBLE: string;
/** @hidden */
export  const EXPANDABLE: string;
/** @hidden */
export  const PIVOT_VIEW_AUTOFIT: string;
/** @hidden */
export  const RHANDLER: string;
/** @hidden */
export  const RCURSOR: string;
/** @hidden */
export  const RESIZED: string;
/** @hidden */
export  const TABULAR_ROW_BUTTON: string;
/** @hidden */
export  const TABULAR_PIVOT_BUTTON: string;
/** @hidden */
export  const GROUP_ROW: string;
/** @hidden */
export  const FREEZE_LEFT_BORDER: string;
/** @hidden */
export  const ROWCELL: string;
/** @hidden */
export  const ROW_CLASS: string;
/** @hidden */
export  const TABULAR_GROUP_ROWS: string;
/** @hidden */
export  const TABULAR_LAYOUT_HEADER: string;
//node_modules/@syncfusion/ej2-pivotview/src/common/base/constant.d.ts
/**
 * Specifies pivot external events
 *
 * @hidden
 */
/** @hidden */
export  const load: string;
/** @hidden */
export  const enginePopulating: string;
/** @hidden */
export  const enginePopulated: string;
/** @hidden */
export  const onFieldDropped: string;
/** @hidden */
export  const fieldDrop: string;
/** @hidden */
export  const beforePivotTableRender: string;
/** @hidden */
export  const afterPivotTableRender: string;
/** @hidden */
export  const beforeExport: string;
/** @hidden */
export  const exportComplete: string;
/** @hidden */
export  const excelHeaderQueryCellInfo: string;
/** @hidden */
export  const pdfHeaderQueryCellInfo: string;
/** @hidden */
export  const excelQueryCellInfo: string;
/** @hidden */
export  const pdfQueryCellInfo: string;
/** @hidden */
export  const onPdfCellRender: string;
/** @hidden */
export  const dataBound: string;
/** @hidden */
export  const queryCellInfo: string;
/** @hidden */
export  const headerCellInfo: string;
/** @hidden */
export  const hyperlinkCellClick: string;
/** @hidden */
export  const resizing: string;
/** @hidden */
export  const resizeStop: string;
/** @hidden */
export  const cellClick: string;
/** @hidden */
export  const drillThrough: string;
/** @hidden */
export  const beforeColumnsRender: string;
/** @hidden */
export  const selected: string;
/** @hidden */
export  const selecting: string;
/** @hidden */
export  const cellSelecting: string;
/** @hidden */
export  const drill: string;
/** @hidden */
export  const cellSelected: string;
/** @hidden */
export  const cellDeselected: string;
/** @hidden */
export  const rowSelected: string;
/** @hidden */
export  const rowDeselected: string;
/** @hidden */
export  const beginDrillThrough: string;
/** @hidden */
export  const editCompleted: string;
/** @hidden */
export  const multiLevelLabelClick: string;
/** @hidden */
export  const saveReport: string;
/** @hidden */
export  const fetchReport: string;
/** @hidden */
export  const loadReport: string;
/** @hidden */
export  const renameReport: string;
/** @hidden */
export  const removeReport: string;
/** @hidden */
export  const newReport: string;
/** @hidden */
export  const toolbarRender: string;
/** @hidden */
export  const toolbarClick: string;
/** @hidden */
export  const chartTooltipRender: string;
/** @hidden */
export  const chartLegendClick: string;
/** @hidden */
export  const chartLoaded: string;
/** @hidden */
export  const multiLevelLabelRender: string;
/** @hidden */
export  const beforePrint: string;
/** @hidden */
export  const animationComplete: string;
/** @hidden */
export  const legendRender: string;
/** @hidden */
export  const textRender: string;
/** @hidden */
export  const pointRender: string;
/** @hidden */
export  const seriesRender: string;
/** @hidden */
export  const chartMouseMove: string;
/** @hidden */
export  const chartMouseClick: string;
/** @hidden */
export  const pointMove: string;
/** @hidden */
export  const chartMouseLeave: string;
/** @hidden */
export  const chartMouseDown: string;
/** @hidden */
export  const chartMouseUp: string;
/** @hidden */
export  const dragComplete: string;
/** @hidden */
export  const zoomComplete: string;
/** @hidden */
export  const scrollStart: string;
/** @hidden */
export  const scrollEnd: string;
/** @hidden */
export  const scrollChanged: string;
/** @hidden */
export  const chartLoad: string;
/** @hidden */
export  const chartResized: string;
/** @hidden */
export  const chartAxisLabelRender: string;
/** @hidden */
export  const chartSeriesCreated: string;
/** @hidden */
export  const aggregateCellInfo: string;
/** @hidden */
export  const onHeadersSort: string;
/** @hidden */
export  const contextMenuClick: string;
/** @hidden */
export  const contextMenuOpen: string;
/** @hidden */
export  const fieldListRefreshed: string;
/** @hidden */
export  const conditionalFormatting: string;
/** @hidden */
export  const beforePdfExport: string;
/** @hidden */
export  const beforeExcelExport: string;
/** @hidden */
export  const memberFiltering: string;
/** @hidden */
export  const calculatedFieldCreate: string;
/** @hidden */
export  const memberEditorOpen: string;
/** @hidden */
export  const fieldRemove: string;
/** @hidden */
export  const numberFormatting: string;
/** @hidden */
export  const aggregateMenuOpen: string;
/** @hidden */
export  const fieldDragStart: string;
/** @hidden */
export  const chartPointClick: string;
/** @hidden */
export  const beforeServiceInvoke: string;
/** @hidden */
export  const afterServiceInvoke: string;
/** @hidden */
export  const actionBegin: string;
/** @hidden */
export  const actionComplete: string;
/** @hidden */
export  const actionFailure: string;
/**
 * Specifies pivot internal events
 */
/** @hidden */
export  const initialLoad: string;
/** @hidden */
export  const uiUpdate: string;
/** @hidden */
export  const scroll: string;
/** @hidden */
export  const verticalScroll: string;
/** @hidden */
export  const horizontalScroll: string;
/** @hidden */
export  const contentReady: string;
/** @hidden */
export  const dataReady: string;
/** @hidden */
export  const initSubComponent: string;
/** @hidden */
export  const treeViewUpdate: string;
/** @hidden */
export  const pivotButtonUpdate: string;
/** @hidden */
export  const initCalculatedField: string;
/** @hidden */
export  const click: string;
/** @hidden */
export  const initToolbar: string;
/** @hidden */
export  const initPivotPager: string;
/** @hidden */
export  const initFormatting: string;
/** @hidden */
export  const initGrouping: string;
/**
 * Specifies action names of actionBegin events
 */
/** @hidden */
export  const sortValue: string;
/** @hidden */
export  const drillUp: string;
/** @hidden */
export  const drillDown: string;
/** @hidden */
export  const addNewReport: string;
/** @hidden */
export  const saveCurrentReport: string;
/** @hidden */
export  const saveAsCurrentReport: string;
/** @hidden */
export  const renameCurrentReport: string;
/** @hidden */
export  const removeCurrentReport: string;
/** @hidden */
export  const loadReports: string;
/** @hidden */
export  const openConditionalFormatting: string;
/** @hidden */
export  const openNumberFormatting: string;
/** @hidden */
export  const MdxQuery: string;
/** @hidden */
export  const showFieldList: string;
/** @hidden */
export  const tableView: string;
/** @hidden */
export  const chartView: string;
/** @hidden */
export  const multipleAxis: string;
/** @hidden */
export  const showLegend: string;
/** @hidden */
export  const pdfExport: string;
/** @hidden */
export  const pngExport: string;
/** @hidden */
export  const excelExport: string;
/** @hidden */
export  const csvExport: string;
/** @hidden */
export  const jpegExport: string;
/** @hidden */
export  const svgExport: string;
/** @hidden */
export  const hideSubTotals: string;
/** @hidden */
export  const subTotalsRow: string;
/** @hidden */
export  const subTotalsColumn: string;
/** @hidden */
export  const showSubTotals: string;
/** @hidden */
export  const hideGrandTotals: string;
/** @hidden */
export  const grandTotalsRow: string;
/** @hidden */
export  const grandTotalsColumn: string;
/** @hidden */
export  const showGrandTotals: string;
/** @hidden */
export  const numberFormattingMenu: string;
/** @hidden */
export  const conditionalFormattingMenu: string;
/** @hidden */
export  const reportChange: string;
/** @hidden */
export  const sortFieldTree: string;
/** @hidden */
export  const editCalculatedField: string;
/** @hidden */
export  const sortField: string;
/** @hidden */
export  const filterField: string;
/** @hidden */
export  const removeField: string;
/** @hidden */
export  const openCalculatedField: string;
/** @hidden */
export  const editRecord: string;
/** @hidden */
export  const saveEditedRecords: string;
/** @hidden */
export  const addNewRecord: string;
/** @hidden */
export  const removeRecord: string;
/** @hidden */
export  const aggregateField: string;
/** @hidden */
export  const contextMenuCalculatedField: string;
/** @hidden */
export  const windowResize: string;
/** @hidden */
export  const rowPageNavigation: string;
/** @hidden */
export  const columnPageNavigation: string;
/**
 * Specifies action names of actionComplete events
 */
/** @hidden */
export  const calculatedFieldApplied: string;
/** @hidden */
export  const editedRecordsSaved: string;
/** @hidden */
export  const newRecordAdded: string;
/** @hidden */
export  const recordRemoved: string;
/** @hidden */
export  const closeFieldlist: string;
/** @hidden */
export  const fieldTreeSorted: string;
/** @hidden */
export  const reportSaved: string;
/** @hidden */
export  const newReportAdded: string;
/** @hidden */
export  const reportReSaved: string;
/** @hidden */
export  const reportRenamed: string;
/** @hidden */
export  const reportRemoved: string;
/** @hidden */
export  const excelExported: string;
/** @hidden */
export  const csvExported: string;
/** @hidden */
export  const pdfExported: string;
/** @hidden */
export  const pngExported: string;
/** @hidden */
export  const jpegExported: string;
/** @hidden */
export  const svgExported: string;
/** @hidden */
export  const conditionallyFormatted: string;
/** @hidden */
export  const numberFormatted: string;
/** @hidden */
export  const tableViewed: string;
/** @hidden */
export  const chartViewed: string;
/** @hidden */
export  const subTotalsHidden: string;
/** @hidden */
export  const subTotalsRowShown: string;
/** @hidden */
export  const subTotalsColumnShown: string;
/** @hidden */
export  const subTotalsShown: string;
/** @hidden */
export  const grandTotalsHidden: string;
/** @hidden */
export  const grandTotalsRowShown: string;
/** @hidden */
export  const grandTotalsColumnShown: string;
/** @hidden */
export  const grandTotalsShown: string;
/** @hidden */
export  const valueSorted: string;
/** @hidden */
export  const calculatedFieldEdited: string;
/** @hidden */
export  const fieldSorted: string;
/** @hidden */
export  const fieldFiltered: string;
/** @hidden */
export  const fieldRemoved: string;
/** @hidden */
export  const fieldAggregated: string;
/** @hidden */
export  const recordEdited: string;
/** @hidden */
export  const reportChanged: string;
/** @hidden */
export  const windowResized: string;
/** @hidden */
export  const recordUpdated: string;
/** @hidden */
export  const drillThroughClosed: string;
/** @hidden */
export  const verticalScrolled: string;
/** @hidden */
export  const horizontalScrolled: string;
/** @hidden */
export  const rowPageNavigated: string;
/** @hidden */
export  const columnPageNavigated: string;
/** @hidden */
export  const actionDropped: string;
/** @hidden */
export  const invalidFormula: string;
//node_modules/@syncfusion/ej2-pivotview/src/common/actions/pivot-button.d.ts
/**
 * Module to render Pivot button
 */
/** @hidden */
export  class PivotButton implements IAction {
    /** @hidden */
    parent: PivotView | PivotFieldList;
    /** @hidden */
    parentElement: HTMLElement;
    private draggable;
    private handlers;
    /** @hidden */
    menuOption: AggregateMenu;
    /** @hidden */
    axisField: AxisFieldRenderer;
    /** @hidden */
    fieldName: string;
    private index;
    /** @hidden */
    isDestroyed: boolean;
    /**
     * Constructor for render module.
     *
     * @param {PivotView | PivotFieldList} parent - Component instance.
     */
    constructor(parent: PivotView | PivotFieldList);
    private renderPivotButton;
    private createButtonText;
    private getTypeStatus;
    private validateDropdown;
    private createSummaryType;
    private createMenuOption;
    private openCalculatedFieldDialog;
    private createDraggable;
    private createButtonDragIcon;
    private createSortOption;
    private createFilterOption;
    private updateButtontext;
    private updateOlapButtonText;
    private createDragClone;
    private onDragStart;
    private onDragging;
    private onDragStop;
    private isButtonDropped;
    private updateSorting;
    /**
     *
     * @param {boolean} isRefreshGrid - It contains isRefreshGrid
     * @returns {void}
     * @hidden */
    updateDataSource(isRefreshGrid?: boolean): void;
    private updateFiltering;
    /**
     *
     * @returns {void}
     * @hidden */
    updateFilterEvents(): void;
    private bindDialogEvents;
    private buttonModel;
    private tabSelect;
    private updateDialogButtonEvents;
    private updateCustomFilter;
    private ClearFilter;
    private removeButton;
    /**
     *
     * @param {navigations.NodeCheckEventArgs} args - It contains args value.
     * @returns {void}
     * @hidden */
    nodeStateModified(args: navigations.NodeCheckEventArgs): void;
    private checkedStateAll;
    private updateNodeStates;
    private updateFilterState;
    private refreshPivotButtonState;
    private removeDataSourceSettings;
    private updateDropIndicator;
    private wireEvent;
    private unWireEvent;
    /**
     *
     * @returns {void}
     * @hidden
     */
    addEventListener(): void;
    /**
     *
     * @returns {void}
     * @hidden
     */
    removeEventListener(): void;
    /**
     * To destroy the pivot button event listener
     *
     * @returns {void}
     * @hidden
     */
    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 {
    /** @hidden */
    parent: PivotCommon;
    /**
     * Constructor for the dialog action.
     *
     * @param {PivotCommon} parent - It represent the parent data.
     * @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.
     *
     * @param {navigations.DragAndDropEventArgs} args - Contains both pivot button and field list drag and drop information.
     * @param {string} fieldName - Defines dropped field name to update dataSource.
     * @returns {boolean} true if the node is successfully dropped, otherwise false.
     * @hidden
     */
    onStateModified(args: base.DragEventArgs & navigations.DragAndDropEventArgs, fieldName: string): boolean;
    private getButtonPosition;
}
//node_modules/@syncfusion/ej2-pivotview/src/common/actions/keyboard.d.ts
/**
 * Keyboard interaction
 */
/** @hidden */
export  class CommonKeyboardInteraction {
    private parent;
    private keyConfigs;
    private keyboardModule;
    private timeOutObj;
    /**
     * Constructor
     *
     * @param {PivotCommon} parent - It contains the parent data
     */
    constructor(parent: PivotCommon);
    private keyActionHandler;
    private processComponentFocus;
    private getButtonElement;
    private processEnter;
    private processSort;
    private processEdit;
    private processFilter;
    private processFilterNodeSelection;
    private processDelete;
    private processClose;
    /**
     * To destroy the keyboard module.
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-pivotview/src/common/actions/field-list.d.ts
/**
 * Module for Field List rendering
 */
/** @hidden */
export  class FieldList implements IAction {
    /**
     * Module declarations
     */
    private parent;
    private element;
    private timeOutObj;
    /**
     * Constructor for Field List module.
     *
     * @param {PivotView} parent - It represent the parent
     */
    constructor(parent: PivotView);
    /**
     * For internal use only - Get the module name.
     *
     * @returns {string} - It returns a ModuleName
     * @private
     */
    protected getModuleName(): string;
    private initiateModule;
    private updateControl;
    private update;
    /**
     *
     * @returns {void}
     * @hidden
     */
    addEventListener(): void;
    /**
     *
     * @returns {void}
     * @hidden
     */
    removeEventListener(): void;
    /**
     * To destroy the Field List.
     *
     * @returns {void}
     * @hidden
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-pivotview/src/common/actions/event-base.d.ts
/**
 * `EventBase` for active fields action.
 */
/** @hidden */
export  class EventBase {
    /** @hidden */
    parent: PivotCommon;
    /** @hidden */
    searchListItem: HTMLElement[];
    /**
     * Constructor for the dialog action.
     *
     * @param {PivotCommon} parent - It represent the parent.
     * @hidden
     */
    constructor(parent?: PivotCommon);
    /**
     * Updates sorting order for the selected field.
     *
     * @function updateSorting
     * @param  {Event} args - Contains clicked element information to update dataSource.
     * @returns {void}
     * @hidden
     */
    updateSorting(args: Event): void;
    /**
     * Updates sorting order for the selected field.
     *
     * @function updateFiltering
     * @param {Event} args - Contains clicked element information to update dataSource.
     * @returns {void}
     * @hidden
     */
    updateFiltering(args: Event): void;
    /**
     * Returns boolean by checing the valid filter members from the selected filter settings.
     *
     * @function isValidFilterItemsAvail
     * @param {string} fieldName - Gets filter members for the given field name.
     * @param {IFilter} filterObj - filterObj.
     * @returns {boolean} - boolean.
     * @hidden
     */
    isValidFilterItemsAvail(fieldName: string, filterObj: IFilter): boolean;
    private getOlapData;
    /**
     * Gets sorted filter members for the selected field.
     *
     * @function sortOlapFilterData
     * @param {any} treeData - Gets filter members for the given field name.
     * @param {string} order - It contains the value of order.
     * @returns {any} - It returns the sort Olap Filter Data.
     * @hidden
     */
    sortOlapFilterData(treeData: {
        [key: string]: Object;
    }[], order: string): {
        [key: string]: Object;
    }[];
    private applyFilterCustomSort;
    /**
     * It used to get the parentIds
     *
     * @param {navigations.TreeView} treeObj - Specifies the treeview instance.
     * @param {string} id - Specifies the current node id.
     * @param {string[]} parent - Specifies the collection of parent element.
     * @returns {string[]} - Returns parentIds.
     * @hidden
     */
    getParentIDs(treeObj: navigations.TreeView, id: string, parent: string[]): string[];
    /**
     * It used to get the childIds
     *
     * @param {navigations.TreeView} treeObj - Specifies the treeview instance.
     * @param {string} id - Specifies the current node id.
     * @param {string[]} children - Specifies the collection of clid elements.
     * @returns {string[]} - Return childIds.
     * @hidden
     */
    getChildIDs(treeObj: navigations.TreeView, id: string, children: string[]): string[];
    /**
     * show tree nodes using search text.
     *
     * @param {inputs.MaskChangeEventArgs} args -  It cotains the args data.
     * @param {navigations.TreeView} treeObj -  It cotains the treeObj data.
     * @param {boolean} isFieldCollection -  It cotains the isFieldCollection data.
     * @param {boolean} isHierarchy -  It cotains the isHierarchy data.
     * @returns {void}
     * @hidden
     */
    searchTreeNodes(args: inputs.MaskChangeEventArgs, treeObj: navigations.TreeView, isFieldCollection: boolean, isHierarchy?: boolean): void;
    private updateOlapSearchTree;
    private getTreeData;
    private getOlapTreeData;
    private getOlapSearchTreeData;
    /**
     * @param {IOlapField[]} members - members.
     * @param {string} fieldName - fieldName.
     * @param {string} node - node.
     * @param {boolean} state - state.
     * @returns {void}
     * @hidden
     */
    updateChildNodeStates(members: IOlapField[], fieldName: string, node: string, state: boolean): void;
    /**
     * @param {string} fieldName - fieldName.
     * @param {string} item - fieldName.
     * @param {Object} filterObj - filter Object.
     * @returns {Object} -  An object mapping keys to string.
     * @hidden
     */
    getParentNode(fieldName: string, item: string, filterObj: {
        [key: string]: string;
    }): {
        [key: string]: string;
    };
    private getFilteredTreeNodes;
}
//node_modules/@syncfusion/ej2-pivotview/src/common/actions/dataSource-update.d.ts
/**
 * `DataSourceUpdate` module is used to update the dataSource.
 */
/** @hidden */
export  class DataSourceUpdate {
    /** @hidden */
    parent: PivotCommon;
    /** @hidden */
    btnElement: HTMLElement;
    /** @hidden */
    control: PivotView | PivotFieldList;
    /** @hidden */
    pivotButton: PivotButton;
    /**
     * Constructor for the dialog action.
     *
     * @param {PivotCommon} parent - Instance.
     * @hidden
     */
    constructor(parent?: PivotCommon);
    /**
     * Updates the dataSource by adding the given field along with field dropped position to the dataSource.
     *
     * @function updateDataSource
     * @param  {string} fieldName - Defines dropped field name to update dataSource.
     * @param  {string} droppedClass -  Defines dropped field axis name to update dataSource.
     * @param  {number} droppedPosition - Defines dropped position to the axis based on field position.
     * @returns {void}
     * @hidden
     */
    updateDataSource(fieldName: string, droppedClass: string, droppedPosition: number): boolean;
    /**
     * Updates the dataSource by removing the given field from the dataSource.
     *
     * @param  {string} fieldName - Defines dropped field name to remove dataSource.
     * @function removeFieldFromReport
     * @returns {void}
     * @hidden
     */
    removeFieldFromReport(fieldName: string): IFieldOptions;
    /**
     * Creates new field object given field name from the field list data.
     *
     * @param {string} fieldName - Defines dropped field name to add dataSource.
     * @param {IFieldOptions} fieldItem - Defines dropped field.
     * @function getNewField
     * @returns {IFieldOptions} - It return new field.
     * @hidden
     */
    getNewField(fieldName: string, fieldItem?: IFieldOptions): IFieldOptions;
}
//node_modules/@syncfusion/ej2-pivotview/src/common/actions/common.d.ts
/**
 * Module for PivotCommon rendering
 */
/** @hidden */
export  class Common implements IAction {
    private parent;
    constructor(parent: PivotView);
    /**
     * For internal use only - Get the module name.
     *
     * @returns {string} - It returns string
     * @private
     */
    protected getModuleName(): string;
    private initiateCommonModule;
    /**
     * @returns {void}
     * @hidden
     */
    addEventListener(): void;
    /**
     * @returns {void}
     * @hidden
     */
    removeEventListener(): void;
    /**
     * To destroy the groupingbar
     *
     * @returns {void}
     * @hidden
     */
    destroy(): void;
}
//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: string | number | Date): string;
    static resetTime(date: Date): Date;
    static getClonedData(data: {
        [key: string]: Object;
    }[]): {
        [key: string]: Object;
    }[];
    static getClonedCSVData(data: string[][]): string[][];
    private static getDefinedObj;
    static inArray(value: Object, collection: Object[]): number;
    static setPivotProperties(control: PivotView | PivotFieldList, properties: {
        [key: string]: Object;
    }): void;
    static getClonedDataSourceSettings(dataSourceSettings: IDataOptions): IDataOptions;
    static getClonedFieldList(fieldListObj: IFieldListOptions | IOlapFieldListOptions, isMemberIncluded?: boolean): IFieldListOptions | IOlapFieldListOptions;
    static cloneDateMembers(collection: IAxisSet[]): IAxisSet[];
    static cloneFormatMembers(collection: IMembers): IMembers;
    static cloneFieldMembers(collection: IOlapField[]): IOlapField[];
    static updateDataSourceSettings(control: PivotView | PivotFieldList, dataSourceSettings: IDataOptions): void;
    static cloneFieldSettings(collection: IFieldOptions[]): IFieldOptions[];
    static cloneOlapFieldSettings(collection: IOlapField[]): IOlapField[];
    static cloneFilterSettings(collection: IFilter[]): IFilter[];
    private static cloneSortSettings;
    /**
     * It format the headers of pivot table.
     *
     * @param {IAxisSet} headerCell - It contains the header cell.
     * @param {PivotEngine} engine - It contains the instance of pivot engine.
     * @returns {IAxisSet} - It returns the formatted header data as IAxisSet.
     * @hidden
     */
    static getFormattedHeader(headerCell: IAxisSet, engine: PivotEngine): IAxisSet;
    /**
     * It format the members of field.
     *
     * @param {IMembers} members - It contains the members.
     * @param {string} fieldName - It contains the field Name.
     * @param {PivotEngine} engine - It contains the instance of pivot engine.
     * @returns {IMembers} - It returns the formatted members as IMembers.
     * @hidden
     */
    static getFormattedMembers(members: IMembers, fieldName: string, engine: PivotEngine): IMembers;
    /**
     * It determines whether the specified field is of date type.
     *
     * @param {string} fieldName - It contains the field Name.
     * @param {PivotEngine} engineModule - It contains the instance of pivot engine.
     * @returns {boolean} - It  returns whether the field is of date type or not.
     * @hidden
     */
    static isDateField(fieldName: string, engineModule: PivotEngine): boolean;
    /**
     * It format the headers of pivot chart.
     *
     * @param {string[]} values - It contains the headers.
     * @param {PivotChart} chartModule - It contains the instance of pivot chart.
     * @param {boolean} isColumnHeader - It determines whether the specified header is column or row.
     * @param {IAxisSet} cell - It contains the cell information.
     * @returns {string} - It returns the formatted header.
     * @hidden
     */
    static formatChartHeaders(values: string[], chartModule: PivotChart, isColumnHeader: boolean, cell?: IAxisSet): string;
    static cloneDrillMemberSettings(collection: IDrillOptions[]): IDrillOptions[];
    static cloneFormatSettings(collection: IFormatSettings[]): IFormatSettings[];
    private static CloneValueSortObject;
    private static CloneAuthenticationObject;
    static cloneCalculatedFieldSettings(collection: ICalculatedFieldSettings[]): ICalculatedFieldSettings[];
    private static cloneConditionalFormattingSettings;
    static cloneGroupSettings(collection: IGroupSettings[]): IGroupSettings[];
    private static cloneCustomGroups;
    static getFilterItemByName(fieldName: string, fields: IFilter[]): IFilter;
    static getFieldByName(fieldName: string, fields: IFieldOptions[] | ISort[] | IFormatSettings[] | IDrillOptions[] | IGroupSettings[] | ICalculatedFieldSettings[]): IFieldOptions | ISort | IFormatSettings | IDrillOptions | IGroupSettings | ICalculatedFieldSettings;
    static getFieldInfo(fieldName: string, control: PivotView | PivotFieldList, hasAllField?: boolean): FieldItemInfo;
    static isButtonIconRefesh(prop: string, oldProp: PivotViewModel | PivotFieldListModel, newProp: PivotViewModel | PivotFieldListModel): boolean;
    static frameContent(pivotValues: IAxisSet[][], type: string, rowPosition: number, control: PivotView | PivotFieldList): IGridValues;
    static getLocalizedObject(control: PivotView | PivotFieldList): Object;
    static generateUUID(): string;
    /**
     * It performing the Custom Sorting.
     *
     * @param {HeadersSortEventArgs} sortDetails - It contains the sort Details.
     * @param {IAxisSet[]} sortMembersOrder - It contains the sort Members Order.
     * @param {string | boolean} type - It contains the type.
     * @param {boolean} hasMembersOrder - It contains the has Members Order.
     * @param {boolean} isOlap - It contains the isOlap.
     * @returns {IAxisSet[]} - It returns the sorted data as IAxisSet[].
     * @hidden
     */
    static applyCustomSort(sortDetails: HeadersSortEventArgs, sortMembersOrder: IAxisSet[], type: string | boolean, hasMembersOrder?: boolean, isOlap?: boolean): IAxisSet[];
    /**
     * It performs to returnssorted headers.
     *
     * @param {IAxisSet[]} sortMembersOrder - It contains the sort members order.
     * @param {string} sortOrder - It contains the sort order.
     * @param {string | boolean} type - It contains the type.
     * @param {boolean} isNumberGroupSorting - it defines the sorting is numer grouping or not.
     * @returns {IAxisSet[]} - It returns the sorted data as IAxisSet[].
     * @hidden
     */
    static applyHeadersSort(sortMembersOrder: IAxisSet[], sortOrder: string, type: string | boolean, isNumberGroupSorting?: boolean): IAxisSet[];
    /**
     * It performs to render the olap engine.
     *
     * @param {PivotView | PivotFieldList} pivot - It specifies the pivotview and pivot field list component instance.
     * @param {IOlapCustomProperties} customProperties - It contains the internal properties that used for engine population.
     * @returns {void}
     * @hidden
     */
    static renderOlapEngine(pivot: PivotView | PivotFieldList, customProperties?: IOlapCustomProperties): void;
    /**
     *
     * @param {IDataSet | IAxisSet} header - It contains the value of header
     * @returns {IAxisSet} - It frame Header With Keys
     * @hidden */
    static frameHeaderWithKeys(header: IDataSet | IAxisSet): IAxisSet | IDataSet;
    /**
     *
     * @param {grids.PdfPageSize} pageSize - It contains the value of page Size
     * @returns {pdfExport.SizeF} - It returns the value as pdfExport.SizeF
     * @hidden */
    static getPageSize(pageSize: grids.PdfPageSize): pdfExport.SizeF;
    /**
     *
     * @param {any} aggreColl - It contains the selected header and its value cell collection, that should be sorted for value sorting.
     * @param {string} sortOrder - It denotes the sorting order.
     * @returns {IAxisSet[]} - It returns the sorted collection in the provided sort order.
     * @hidden */
    static getSortedValue(aggreColl: {
        'header': IAxisSet;
        'value'?: number;
    }[], sortOrder: string): IAxisSet[];
    static toggleFieldListIconVisibility(control: PivotView): void;
}
//node_modules/@syncfusion/ej2-pivotview/src/base/types.d.ts
/**
 * Allows to apply sorting to the specified field either by ascending or descending or JSON order. The types are,
 * ```props
 * Ascending :- Allows to display the field members in ascending order.
 * Descending :- Allows to display the field members in descending order.
 * None :- It allows to display the field members based on JSON order.
 * ```
 */
export  type Sorting = 
/**  Allows to display the field members in ascending order. */
'Ascending' | 
/**  Allows to display the field members in descending order. */
'Descending' | 
/**  It allows to display the field members based on JSON order. */
'None';
/**
 * Allows to display the values in the pivot table with appropriate aggregations such as sum, product, count, average, etc… The available types are,
 * ```props
 * Sum :- Allows to display the pivot table values with sum.
 * Product :- Allows to display the pivot table values with product.
 * Count :- Allows to display the pivot table values with count.
 * DistinctCount :- Allows to display the pivot table values with distinct count.
 * Min :- Allows to display the pivot table with minimum value.
 * Max :- Allows to display the pivot table with maximum value.
 * Avg :- Allows to display the pivot table values with average.
 * Median :- Allows to display the pivot table values with median.
 * Index :- Allows to display the pivot table values with index.
 * PopulationStDev :- Allows to display the pivot table values with population standard deviation.
 * SampleStDev :- Allows to display the pivot table values with sample standard deviation.
 * PopulationVar :- Allows to display the pivot table values with population variance.
 * SampleVar :- Allows to display the pivot table values with sample variance.
 * RunningTotals :- Allows to display the pivot table values with running totals.
 * DifferenceFrom :- Allows to display the pivot table values with difference from the value of the base item in the base field.
 * PercentageOfDifferenceFrom :- Allows to display the pivot table values with percentage difference from the value of the base item in the base field.
 * PercentageOfGrandTotal :- Allows to display the pivot table values with percentage of grand total of all values.
 * PercentageOfColumnTotal :- Allows to display the pivot table values in each column with percentage of total values for the column.
 * PercentageOfRowTotal :- Allows to display the pivot table values in each row with percentage of total values for the row.
 * PercentageOfParentTotal :- Allows to display the pivot table values with percentage of total of all values based on selected field.
 * PercentageOfParentColumnTotal :- Allows to display the pivot table values with percentage of its parent total in each column.
 * PercentageOfParentRowTotal :- Allows to display the pivot table values with percentage of its parent total in each row.
 * CalculatedField :- Allows to display the pivot table with calculated field values. It allows user to create a new calculated field alone.
 * ```
 *
 * > It is applicable only for relational data source.
 */
export  type SummaryTypes = 
/** Allows to display the pivot table values with sum. */
'Sum' | 
/** Allows to display the pivot table values with product. */
'Product' | 
/** Allows to display the pivot table values with count. */
'Count' | 
/** Allows to display the pivot table values with distinct count. */
'DistinctCount' | 
/** Allows to display the pivot table with median value. */
'Median' | 
/** Allows to display the pivot table with minimum value. */
'Min' | 
/** Allows to display the pivot table with maximum value. */
'Max' | 
/** Allows to display the pivot table values with average. */
'Avg' | 
/** Allows to display the pivot table values with index. */
'Index' | 
/** Allows to display the pivot table values with percentage of grand total of all values. */
'PercentageOfGrandTotal' | 
/** Allows to display the pivot table values in each column with percentage of total values for the column. */
'PercentageOfColumnTotal' | 
/** Allows to display the pivot table values in each row with percentage of total values for the row. */
'PercentageOfRowTotal' | 
/** Allows to display the pivot table values with percentage of its parent total in each row. */
'PercentageOfParentRowTotal' | 
/** Allows to display the pivot table values with percentage of its parent total in each column. */
'PercentageOfParentColumnTotal' | 
/** Allows to display the pivot table values with percentage of total of all values based on selected field. */
'PercentageOfParentTotal' | 
/** Allows to display the pivot table values with running totals. */
'RunningTotals' | 
/** Allows to display the pivot table values with population standard deviation. */
'PopulationStDev' | 
/** Allows to display the pivot table values with sample standard deviation. */
'SampleStDev' | 
/** Allows to display the pivot table values with population variance. */
'PopulationVar' | 
/** Allows to display the pivot table values with sample variance. */
'SampleVar' | 
/** Allows to display the pivot table values with difference from the value of the base item in the base field. */
'DifferenceFrom' | 
/** Allows to display the pivot table values with percentage difference from the value of the base item in the base field. */
'PercentageOfDifferenceFrom' | 
/** Allows to display the pivot table with calculated field values. It allows user to create a new calculated field alone. */
'CalculatedField';
/**
 * Allows you to set the specific filter type to display the filter members in the pivot table. They are:
 * ```props
 * Include :- Specifies the filter type as include for member filter.
 * Exclude :- Specifies the filter type as exclude for member filter.
 * Label :- Specifies the filter type as label for header filter.
 * Date :- Specifies the filter type as date for date based filter.
 * Number :- Specifies the filter type as number for number based filter.
 * Value :- Specifies the filter type as value for value based filter.
 * ```
 */
export  type FilterType = 
/**  Specifies the filter type as include for member filter. */
'Include' | 
/**  Specifies the filter type as exclude for member filter. */
'Exclude' | 
/**  Specifies the filter type as label for header filter. */
'Label' | 
/**  Specifies the filter type as date for date based filter. */
'Date' | 
/**  Specifies the filter type as number for number based filter. */
'Number' | 
/**  Specifies the filter type as value for value based filter. */
'Value';
/**
 * Defines the conditional operators for filtering settings. They are
 * ```props
 * Equals :- Display the pivot table that matches with the given text or value or date.
 * DoesNotEquals :- Display the pivot table that does not match with the given text or value or date.
 * BeginWith :- Display the pivot table that begins with text.
 * DoesNotBeginWith :- Display the pivot table that does not begins with text.
 * EndsWith :- Display the pivot table that ends with text.
 * DoesNotEndsWith :- Display the pivot table that does not ends with text.
 * Contains :- Display the pivot table that contains text.
 * DoesNotContains :- Display the pivot table that does not contain text.
 * GreaterThan :- Display the pivot table when the text or value is greater.
 * GreaterThanOrEqualTo :- Display the pivot table when the text or value is greater than or equal.
 * LessThan :- Display the pivot table when the text or value is lesser.
 * LessThanOrEqualTo :- Display the pivot table when the text or value is lesser than or equal.
 * Before :- Display the pivot table with preview all records from the given date.
 * BeforeOrEqualTo :- Display the pivot table with previous all records along with the given date.
 * After :- Display the pivot table with next all records to the given date.
 * AfterOrEqualTo :- Display the pivot table with next all records along with the given date.
 * Between :- Display the pivot table that records between the start and end text or value or date.
 * NotBetween :- Display the pivot table that does not record between the start and end text or value or date.
 * ```
 */
export  type Operators = 
/** Display the pivot table that matches with the given text or value or date. */
'Equals' | 
/** Display the pivot table that does not match with the given text or value or date. */
'DoesNotEquals' | 
/** Display the pivot table that begins with text. */
'BeginWith' | 
/** Display the pivot table that does not begins with text. */
'DoesNotBeginWith' | 
/** Display the pivot table that ends with text. */
'EndsWith' | 
/** Display the pivot table that does not ends with text. */
'DoesNotEndsWith' | 
/** Display the pivot table that contains text. */
'Contains' | 
/** Display the pivot table that does not contain text. */
'DoesNotContains' | 
/** Display the pivot table when the text or value is greater. */
'GreaterThan' | 
/** Display the pivot table when the text or value is greater than or equal. */
'GreaterThanOrEqualTo' | 
/** Display the pivot table when the text or value is lesser. */
'LessThan' | 
/** Display the pivot table when the text or value is lesser than or equal. */
'LessThanOrEqualTo' | 
/** Display the pivot table with preview all records from the given date. */
'Before' | 
/** Display the pivot table with previous all records along with the given date. */
'BeforeOrEqualTo' | 
/** Display the pivot table with next all records to the given date. */
'After' | 
/** Display the pivot table with next all records along with the given date. */
'AfterOrEqualTo' | 
/** Display the pivot table that records between the start and end text or value or date. */
'Between' | 
/** Display the pivot table that does not record between the start and end text or value or date. */
'NotBetween';
/**
 * Defines the conditional operators for string type fields. They are
 * ```props
 * Equals :- Display the pivot table that matches with the given text.
 * DoesNotEquals :- Display the pivot table that does not match with the given text.
 * BeginWith :- Display the pivot table that begins with text.
 * DoesNotBeginWith :- Display the pivot table that does not begins with text.
 * EndsWith :- Display the pivot table that ends with text.
 * DoesNotEndsWith :- Display the pivot table that does not ends with text.
 * Contains :- Display the pivot table that contains text.
 * DoesNotContains :- Display the pivot table that does not contain text.
 * GreaterThan :- Display the pivot table when the text is greater.
 * GreaterThanOrEqualTo :- Display the pivot table when the text is greater than or equal.
 * LessThan :- Display the pivot table when the text is lesser.
 * LessThanOrEqualTo :- Display the pivot table when the text is lesser than or equal.
 * Between :- Display the pivot table that records between the start and end text.
 * NotBetween :- Display the pivot table that does not record between the start and end text.
 * ```
 */
export  type LabelOperators = 
/** Display the pivot table that matches with the given text. */
'Equals' | 
/** Display the pivot table that does not match with the given text. */
'DoesNotEquals' | 
/** Display the pivot table that begins with text. */
'BeginWith' | 
/** Display the pivot table that does not begins with text. */
'DoesNotBeginWith' | 
/** Display the pivot table that ends with text. */
'EndsWith' | 
/** Display the pivot table that does not ends with text. */
'DoesNotEndsWith' | 
/** Display the pivot table that contains text. */
'Contains' | 
/** Display the pivot table that does not contain text. */
'DoesNotContains' | 
/** Display the pivot table when the text is greater. */
'GreaterThan' | 
/** Display the pivot table when the text is greater than or equal. */
'GreaterThanOrEqualTo' | 
/** Display the pivot table when the text is lesser. */
'LessThan' | 
/** Display the pivot table when the text is lesser than or equal. */
'LessThanOrEqualTo' | 
/** Display the pivot table that records between the start and end text. */
'Between' | 
/** Display the pivot table that does not record between the start and end text. */
'NotBetween';
/**
 * Defines the conditional operators for value type fields. They are
 * ```props
 * Equals :- Display the pivot table that matches with the given value.
 * DoesNotEquals :- Display the pivot table that does not match with the given value.
 * GreaterThan :- Display the pivot table when the text or value is greater.
 * GreaterThanOrEqualTo :- Display the pivot table when the text or value is greater than or equal.
 * LessThan :- Display the pivot table when the text or value is lesser.
 * LessThanOrEqualTo :- Display the pivot table when the text or value is lesser than or equal.
 * Between :- Display the pivot table that records between the start and end value.
 * NotBetween :- Display the pivot table that does not record between the start and end value.
 * ```
 */
export  type ValueOperators = 
/** Display the pivot table that matches with the given value. */
'Equals' | 
/** Display the pivot table that does not match with the given value. */
'DoesNotEquals' | 
/** Display the pivot table when the text or value is greater. */
'GreaterThan' | 
/** Display the pivot table when the text or value is greater than or equal. */
'GreaterThanOrEqualTo' | 
/** Display the pivot table when the text or value is lesser. */
'LessThan' | 
/** Display the pivot table when the text or value is lesser than or equal. */
'LessThanOrEqualTo' | 
/** Display the pivot table that records between the start and end value. */
'Between' | 
/** Display the pivot table that does not record between the start and end value. */
'NotBetween';
/**
 * Defines the conditional operators for date type fields. They are
 * ```props
 * Equals :- Display the pivot table that matches with the given date.
 * DoesNotEquals :- Display the pivot table that does not match with the given date.
 * Before :- Display the pivot table with preview all records from the given date.
 * BeforeOrEqualTo :- Display the pivot table with previous all records along with the given date.
 * After :- Display the pivot table with next all records to the given date.
 * AfterOrEqualTo :- Display the pivot table with next all records along with the given date.
 * Between :- Display the pivot table that records between the start and end date.
 * NotBetween :- Display the pivot table that does not record between the start and end date.
 * ```
 */
export  type DateOperators = 
/** Display the pivot table that matches with the given date. */
'Equals' | 
/** Display the pivot table that does not match with the given date. */
'DoesNotEquals' | 
/** Display the pivot table with preview all records from the given date. */
'Before' | 
/** Display the pivot table with previous all records along with the given date. */
'BeforeOrEqualTo' | 
/** Display the pivot table with next all records to the given date. */
'After' | 
/** Display the pivot table with next all records along with the given date. */
'AfterOrEqualTo' | 
/** Display the pivot table that records between the start and end date. */
'Between' | 
/** Display the pivot table that does not record between the start and end date. */
'NotBetween';
/**
 * Defines the conditional formatting operators. They are
 * ```props
 * Equals :- Display the pivot table that matches with the given value.
 * DoesNotEquals :- Display the pivot table that does not match with the given value.
 * GreaterThan :- Display the pivot table when the value is greater.
 * GreaterThanOrEqualTo :- Display the pivot table when the value is greater than or equal.
 * LessThan :- Display the pivot table when the value is lesser.
 * LessThanOrEqualTo :- Display the pivot table when the value is lesser than or equal.
 * Between :- Display the pivot table that records between the start and end value.
 * NotBetween :- Display the pivot table that does not record between the start and end value.
 * ```
 */
export  type Condition = 
/** Display the pivot table when the value is lesser. */
'LessThan' | 
/** Display the pivot table when the value is greater. */
'GreaterThan' | 
/** Display the pivot table when the value is lesser than or equal. */
'LessThanOrEqualTo' | 
/** Display the pivot table when the value is greater than or equal. */
'GreaterThanOrEqualTo' | 
/** Display the pivot table that matches with the given value. */
'Equals' | 
/** Display the pivot table that does not match with the given value. */
'NotEquals' | 
/** Display the pivot table that records between the start and end value. */
'Between' | 
/** Display the pivot table that does not record between the start and end value. */
'NotBetween';
/**
 * Defines group of date field. They are:
 * ```props
 * Years :- Defines group field as 'Years' for date type field.
 * Quarters :- Defines group field as 'Quarters' for date type field.
 * QuarterYear :- Defines group field as 'Quarter Year' for date type field.
 * Months :- Defines group field as 'Months' for date type field.
 * Days :- Defines group field as 'Days' for date type field.
 * Hours :- Defines group field as 'Hours' for date type field.
 * Minutes :- Defines group field as 'Minutes' for date type field.
 * Seconds :- Defines group field as 'Seconds' for date type field.
 * ```
 */
export  type DateGroup = 
/**  Defines group field as 'Years' for date type field. */
'Years' | 
/**  Defines group field as 'Quarters' for date type field. */
'Quarters' | 
/**  Defines group field as 'Quarter Year' for date type field. */
'QuarterYear' | 
/**  Defines group field as 'Months' for date type field. */
'Months' | 
/**  Defines group field as 'Days' for date type field. */
'Days' | 
/**  Defines group field as 'Hours' for date type field. */
'Hours' | 
/**  Defines group field as 'Minutes' for date type field. */
'Minutes' | 
/**  Defines group field as 'Seconds' for date type field. */
'Seconds';
/**
 * Defines the group types. They are:
 * ```props
 * Date :- Defines group type as 'Date' for date type field
 * Number :- Defines group type as 'Number' for numeric type field.
 * Custom :- Defines group type as 'Custom' for custom group field.
 * ```
 */
export  type GroupType = 
/**  Defines group type as 'Date' for date type field. */
'Date' | 
/**  Defines group type as 'Number' for numeric type field. */
'Number' | 
/**  Defines group type as 'Custom' for custom group field. */
'Custom';
/**
 * Allows to set the provider type to identify the given connection is either **Relational** or **SSAS** to render the pivot table and field list. The following options are:
 * ```props
 * Relational :- Allows to render the pivot table with JSON data collection either fetch at local or remote server.
 * SSAS :- Allows to render the pivot table with OLAP data fetch from OLAP cube.
 * ```
 */
export  type ProviderType = 
/**  Allows to render the pivot table with JSON data collection either fetch at local or remote server. */
'Relational' | 
/**  Allows to render the pivot table with OLAP data fetch from OLAP cube. */
'SSAS';
/**
 * Allows to define the data source type. They are,
 * ```props
 * JSON :- Defines JSON type of data source.
 * CSV :- Defines CSV or string[][] type of data source.
 * ```
 */
export  type DataSourceType = 
/** Defines JSON type of data source */
'JSON' | 
/** Defines CSV or string[][] type of data source */
'CSV';
/**
 * Allows to set the mode of rendering the pivot table. They are,
 * ```props
 * Local :- Defines the data source in client side and the aggregation done in the same.
 * Server :- Defines the data source in server side (WebAPI) and the aggregation done in the same. Only the rendering part alone done in client side.
 * ```
 */
export  type RenderMode = 
/** Defines the data source in client side and the aggregation done in the same */
'Local' | 
/** Defines the data source in server side (WebAPI) and the aggregation done in the same. Only the rendering part alone done in client side. */
'Server';
//node_modules/@syncfusion/ej2-pivotview/src/base/olap.d.ts
/**
 * olap engine exported items
 */
//node_modules/@syncfusion/ej2-pivotview/src/base/export-util.d.ts
/**
 * This is a file to perform common utility for OLAP and Relational datasource
 *
 * @hidden
 */
export  class PivotExportUtil {
    static getClonedPivotValues(pivotValues: IAxisSet[][]): IAxisSet[][];
    private static getClonedPivotValueObj;
    static isContainCommonElements(collection1: Object[], collection2: Object[]): boolean;
}
//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: IAxisSet[][];
    /** @hidden */
    aggregatedValueMatrix: IMatrix2D;
    /** @hidden */
    headerContent: IGridValues;
    /** @hidden */
    valueContent: IGridValues;
    /** @hidden */
    fields: string[];
    /** @hidden */
    isMultiMeasures: boolean;
    /** @hidden */
    drilledMembers: IDrillOptions[];
    /** @hidden */
    isExpandAll: boolean;
    /** @hidden */
    enableSort: boolean;
    /** @hidden */
    pageSettings: IPageSettings;
    /** @hidden */
    filterMembers: number[];
    /** @hidden */
    formatFields: {
        [key: string]: IFormatSettings;
    };
    /** @hidden */
    groupingFieldsInfo: {
        [key: string]: string;
    };
    /** @hidden */
    dateFormatFunction: {
        [key: string]: {
            exactFormat: Function;
            fullFormat: Function;
        };
    };
    /** @hidden */
    calculatedFields: {
        [key: string]: ICalculatedFields;
    };
    /** @hidden */
    calculatedFormulas: {
        [key: string]: Object;
    };
    /** @hidden */
    valueSortSettings: IValueSortSettings;
    /** @hidden */
    rowIndex: number[];
    /** @hidden */
    isEngineUpdated: boolean;
    /** @hidden */
    savedFieldList: IFieldListOptions;
    /** @hidden */
    valueAxis: number;
    /** @hidden */
    saveDataHeaders: {
        [key: string]: IAxisSet[];
    };
    /** @hidden */
    columnCount: number;
    /** @hidden */
    rowCount: number;
    /** @hidden */
    columnPageCount: number;
    /** @hidden */
    rowPageCount: number;
    /** @hidden */
    colFirstLvl: number;
    /** @hidden */
    rowFirstLvl: number;
    /** @hidden */
    rowStartPos: number;
    /** @hidden */
    colStartPos: number;
    /** @hidden */
    enableValueSorting: boolean;
    /** @hidden */
    headerCollection: HeaderCollection;
    /** @hidden */
    isValueFilterEnabled: boolean;
    /** @hidden */
    isEmptyData: boolean;
    /** @hidden */
    emptyCellTextContent: string;
    /** @hidden */
    isHeaderAvail: boolean;
    /** @hidden */
    isDrillThrough: boolean;
    /** @hidden */
    rMembers: IAxisSet[];
    /** @hidden */
    cMembers: IAxisSet[];
    /** @hidden */
    groupingFields: {
        [key: string]: string;
    };
    /** @hidden */
    isLastHeaderHasMeasures: boolean;
    /** @hidden */
    measureIndex: number;
    /** @hidden */
    isPagingOrVirtualizationEnabled: boolean;
    /** @hidden */
    rowMaxLevel: number;
    valueMatrix: ValueMatrixInfo[][];
    private reportDataType;
    private allowValueFilter;
    private isValueFiltered;
    private isValueFiltersAvail;
    private valueSortData;
    private valueFilteredData;
    private filterFramedHeaders;
    private memberCnt;
    private pageInLimit;
    private endPos;
    private removeCount;
    private colHdrBufferCalculated;
    private colValuesLength;
    private rowValuesLength;
    private slicedHeaders;
    private fieldFilterMem;
    private filterPosObj;
    private selectedHeaders;
    private rowGrandTotal;
    private columnGrandTotal;
    private removeRowGrandTotal;
    private removeColumnGrandTotal;
    private isValueHasAdvancedAggregate;
    private rawIndexObject;
    private valueSortHeaderText;
    private showSubTotalsAtTop;
    private showSubTotalsAtBottom;
    private reformAxisCount;
    private isEditing;
    /** @hidden */
    valueAxisFields: IValueFields;
    /** @hidden */
    data: IDataSet[] | string[][];
    /** @hidden */
    actualData: IDataSet[] | string[][];
    /** @hidden */
    groupRawIndex: {
        [key: number]: number[];
    };
    /** @hidden */
    fieldKeys: IDataSet;
    private allowDataCompression;
    private dataSourceSettings;
    private frameHeaderObjectsCollection;
    private headerObjectsCollection;
    private localeObj;
    private getValueCellInfo;
    private getHeaderSortInfo;
    private fieldsType;
    private columnKeys;
    private fieldDrillCollection;
    private formatRegex;
    private clonedReport;
    private measureNames;
    private currencyCode;
    private enablePaging;
    private enableVirtualization;
    private enableHtmlSanitizer;
    private enableOptimizedRendering;
    private groupedDataType;
    private customProperties;
    private emptyRowsLength;
    private tabularPivotValues;
    /** @hidden */
    viewportPageCount: number;
    /**
     * It is used to clear properties.
     *
     * @param {boolean}11 isExport - It indicates whether it is triggered after the export or not.
     * @returns {void}
     * @hidden
     */
    clearProperties(isExport?: boolean): void;
    /**
     * It is used to render the pivot engine.
     *
     * @param {IDataOptions} dataSource -  It contains the dataSourceSettings.
     * @param {ICustomProperties} customProperties -  It contains the custom Properties.
     * @param {Function} fn - It contains aggreagateCellnInfo method.
     * @param {Function} onHeadersSort -  It contains onHeaderSort method.
     * @returns {void}
     * @hidden
     */
    renderEngine(dataSource?: IDataOptions, customProperties?: ICustomProperties, fn?: Function, onHeadersSort?: Function): void;
    private removeIrrelevantFields;
    private updateDataSourceSettings;
    private getGroupedRawData;
    private getGroupData;
    private countDecimalPlaces;
    private processGrouping;
    private getNumberGroupHeaders;
    private getRange;
    private getPercentFormat;
    private getFormattedFields;
    /**
     * It is used to update the format fields.
     *
     * @param {IFormatSettings[]} formatSettings -  It contains the format settings.
     * @returns {Object} - An object mapping keys to format settings.
     * @hidden
     */
    setFormattedFields(formatSettings: IFormatSettings[]): {
        [key: string]: IFormatSettings;
    };
    private getFieldList;
    private updateMembersOrder;
    private getMappingField;
    private updateFieldList;
    private updateTreeViewData;
    private getCalculatedField;
    private validateFilters;
    private validateValueFields;
    /**
     * It is used to update the current field members.
     *
     * @param {string} fieldName -  Current field Name.
     * @returns {void}
     * @hidden
     */
    fetchFieldMembers(fieldName: string): void;
    private generateMembers;
    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;
    /**
     * It is used to update the grid data.
     *
     * @param {IDataOptions} dataSource -  It contains the dataSourceSettings.
     * @returns {void}
     * @hidden
     */
    updateGridData(dataSource: IDataOptions): void;
    generateGridData(dataSource: IDataOptions, requireDatasourceUpdate?: boolean, isExport?: boolean, headerCollection?: HeaderCollection, isScrolled?: boolean): void;
    private updateHeaders;
    private updatePivotValues;
    /**
     * It performs the updateing Engine by the drilled item.
     *
     * @param {IDrilledItem} drilledItem -  It cotains the drilled items.
     * @returns {void}
     * @hidden
     */
    onDrill(drilledItem: IDrilledItem): void;
    /**
     * It performs to update the engine by sorting data.
     *
     * @param {ISort} sortItem - It cotains the drilled item data.
     * @param {IDataOptions} dataSource - It contains dataSource.
     * @returns {void}
     * @hidden
     */
    onSort(sortItem: ISort, dataSource?: IDataOptions): void;
    /**
     * It performs to update the engine by filtering data.
     *
     * @param {IFilter} filterItem - It contains the value of filter Item.
     * @param {IDataOptions} dataSource - It contains dataSource.
     * @returns {void}
     * @hidden
     */
    onFilter(filterItem: IFilter, dataSource: IDataOptions): void;
    /**
     * It performs to update the engine by the aggregation.
     *
     * @param {IFieldOptions} field -  It cotains the field data.
     * @param {IDataOptions} dataSource - It contains dataSource.
     * @returns {void}
     * @hidden
     */
    onAggregation(field: IFieldOptions, dataSource?: IDataOptions): void;
    /**
     * It performs to update the engine by the calculated field operation.
     *
     * @param {ICalculatedFields} field -  It cotains the Calculated Fields.
     * @param {IDataOptions} dataSourceSettings -  It cotains the dataSourceSettings.
     * @returns {void}
     * @hidden
     */
    onCalcOperation(field: ICalculatedFields, dataSourceSettings: IDataOptions): void;
    private performDrillOperation;
    private performSortOperation;
    private performFilterDeletion;
    private matchIndexes;
    private performFilterAddition;
    private performFilterCommonUpdate;
    private getHeadersInfo;
    /**
     * It performs the updating engine.
     *
     * @returns {void}
     * @hidden
     */
    updateEngine(): void;
    private getAxisByFieldName;
    private getFieldByName;
    private updateHeadersCount;
    /**
     * It performs to retrieve the sorted headers.
     *
     * @param {IAxisSet[]} headers - It cotains the headers data.
     * @param {string} sortOrder -  It cotains the ortOrder data
     * @returns {IAxisSet[]} - return sorted headers as IAxisSet[].
     * @hidden
     */
    private getSortedHeaders;
    private sortHeaders;
    /**
     * It performs to applying  the value sorting.
     *
     * @param {IAxisSet[]} rMembers - It contains the row members data.
     * @param {IAxisSet[]} cMembers - It contains the column members data.
     * @returns {ISortedHeaders} - It return the sorted value as ISortedHeaders.
     * @hidden
     */
    applyValueSorting(rMembers?: IAxisSet[], cMembers?: IAxisSet[]): ISortedHeaders;
    private getMember;
    private sortByValueRow;
    private insertAllMembersCommon;
    private insertSubTotals;
    private getMemberSpanCount;
    private frameDrillObject;
    private getIndexedHeaders;
    private getOrderedIndex;
    private insertPosition;
    private insertTotalPosition;
    private calculatePagingValues;
    private performSlicing;
    private removeChildMembers;
    private insertAllMember;
    private getTableData;
    private insertRowSubTotals;
    private getParentIndex;
    private getAggregatedHeaders;
    private getAggregatedHeaderData;
    private updateSelectedHeaders;
    private applyAdvancedAggregate;
    private updateAggregates;
    private getSelectedColumn;
    private getSelectedRow;
    private recursiveRowData;
    private updateRowData;
    private getCellSet;
    private updateValueMembers;
    private reArrangeValueMember;
    private frameDefinedHeaderData;
    private getHeaderData;
    getAggregateValue(rowIndex: number[], columnIndex: INumberIndex, value: number, type: string, isGrandTotal: boolean): number;
    private evaluate;
    /**
     * It performs the formatting to get formatted Value
     *
     * @param {number | string} value - It contains the value which went formatting.
     * @param {string} fieldName - It contains the field name.
     * @returns {IAxisSet} - It returns the formatted value as IAxisSet data.
     * @hidden
     */
    getFormattedValue(value: number | string, fieldName: string): IAxisSet;
    private powerFunction;
    private getTabularPivotValues;
    setColumnSpan(currentRow: IAxisSet[], firstRow: IAxisSet): void;
    setRowSpan(): void;
}
/**
 * Allows the following pivot report information such as rows, columns, values, filters, etc., that are used to render the pivot table and field list.
 * * `catalog`: Allows to set the database name of SSAS cube as string type that used to retrieve the data from the specified connection string. **Note: It is applicable only for OLAP data source.**
 * * `cube`: Allows you to set the SSAS cube name as string type that used to retrieve data for pivot table rendering. **Note: It is applicable only for OLAP data source.**
 * * `providerType`: Allows to set the provider type to identify the given connection is either Relational or SSAS to render the pivot table and field list.
 * * `url`: Allows to set the URL as string type, which helps to identify the service endpoint where the data are processed and retrieved to render the pivot table and field list. **Note: It is applicable only for OLAP data source.**
 * * `localeIdentifier`: Allows you to set the specific culture code as number type to render pivot table with desired localization.
 * By default, the pivot table displays with culture code **1033**, which indicates "en-US" locale. **Note: It is applicable only for OLAP data source.**
 * * `dataSource`: Allows you to set the data source as JSON collection to the pivot report either from local or from remote server to the render the pivot that and field list.
 * You can fetch JSON data from remote server by using data.DataManager. **Note: It is applicable only for relational data source.**
 * * `rows`: Allows specific fields associated with field information that needs to be displayed in row axis of pivot table.
 * * `columns`: Allows specific fields associated with field information that needs to be displayed in column axis of pivot table.
 * * `values`: Allows specific fields associated with field information that needs to be displayed as aggregated numeric values in pivot table.
 * * `filters`: Allows to filter the values in other axis based on the collection of filter fields in pivot table.
 * * `excludeFields`: Allows you to restrict the specific field(s) from displaying it in the field list UI.
 * You may also be unable to render the pivot table with this field(s) by doing so. **Note: It is applicable only for relational data source.**
 * * `expandAll`: Allows you to either expand or collapse all the headers that are displayed in the pivot table.
 * By default, all the headers are collapsed in the pivot table. **Note: It is applicable only for Relational data.**
 * * `valueAxis`: Allows you to set the value fields that to be plotted either in row or column axis in the pivot table.
 * * `filterSettings`: Allows specific fields associated with either selective or conditional-based filter members that used to be displayed in the pivot table.
 * * `sortSettings`: Allows specific fields associated with sort settings to order their members either in ascending or descending that used to be displayed in the pivot table.
 * By default, the data source containing fields are display with Ascending order alone. To use this option, it requires the `enableSorting` property to be **true**.
 * * `enableSorting`: Allows to perform sort operation to order members of a specific fields either in ascending or descending that used to be displayed in the pivot table.
 * * `formatSettings`: Allows specific fields used to display the values with specific format that used to be displayed in the pivot table.
 * For example, to display a specific field with currency formatted values in the pivot table, the set the `format` property to be **C**.
 * * `drilledMembers`: Allows specific fields used to display their the headers to be either expanded or collapsed in the pivot table.
 * * `valueSortSettings`: Allows to sort individual value field and its aggregated values either in row or column axis to ascending or descending order.
 * * `calculatedFieldSettings`: Allows to create new calculated fields from the bound data source or using simple formula with basic arithmetic operators in the pivot table.
 * * `allowMemberFilter`: Allows to perform filter operation based on the selective filter members of the specific fields used to be displayed in the pivot table.
 * * `allowLabelFilter`: Allows to perform filter operation based on the selective headers used to be displayed in the pivot table.
 * * `allowValueFilter`: Allows to perform filter operation based only on value fields and its resultant aggregated values over other fields defined in row and column axes that used to be displayed in the pivot table.
 * * `showSubTotals`: Allows to show or hide sub-totals in both rows and columns axis of the pivot table.
 * * `showRowSubTotals`: Allows to show or hide sub-totals in row axis of the pivot table.
 * * `showColumnSubTotals`: Allows to show or hide sub-totals in column axis of the pivot table.
 * * `showGrandTotals`: Allows to show or hide grand totals in both rows and columns axis of the pivot table.
 * * `grandTotalsPosition`: Allows the grand totals to be position at first position in the row and column axis of the pivot table.
 * * `showRowGrandTotals`: Allows to show or hide grand totals in row axis of the pivot table.
 * * `showColumnGrandTotals`: Allows to show or hide grand totals in column axis of the pivot table.
 * * `showHeaderWhenEmpty`: Allows the undefined headers to be displayed in the pivot table, when the specific field(s) are not defined in the raw data.
 * For example, if the raw data for the field ‘Country’ is defined as “United Kingdom” and “State” is not defined means, it will be shown as “United Kingdom >> Undefined” in the header section.
 * * `alwaysShowValueHeader`: Allows to show the value field header always in pivot table, even if it holds a single field in the value field axis.
 * * `conditionalFormatSettings`: Allows a collection of values fields to change the appearance of the pivot table value cells with different style properties such as background color, font color, font family, and font size based on specific conditions.
 * * `emptyCellsTextContent`: Allows to show custom string to the empty value cells that used to display in the pivot table. You can fill empty value cells with any value like “0”, ”-”, ”*”, “(blank)”, etc.
 * * `groupSettings`: Allows specific fields to group their data on the basis of their type.
 * For example, the date type fields can be formatted and displayed based on year, quarter, month, and more. Likewise, the number type fields can be grouped range-wise, such as 1-5, 6-10, etc.
 * You can perform custom group to the string type fields that used to displayed in the pivot table.
 * * `showAggregationOnValueField`: Allows the pivot button with specific value field caption along with the aggregation type, to be displayed in the grouping bar and field list UI.
 * For example, if the value field "Sold Amount" is aggregated with Sum, it will be displayed with caption "Sum of Sold Amount" in its pivot button.
 * * `authentication`: Allows you to set the credential information to access the specified SSAS cube. **Note: It is applicable only for OLAP data source**.
 */
export interface IDataOptions {
    /**
     * Allows to set the database name of SSAS cube as string type that used to retrieve the data from the specified connection string.
     * > It is applicable only for OLAP data source.
     */
    catalog?: string;
    /**
     * Allows you to set the SSAS cube name as string type that used to retrieve data for pivot table rendering.
     * > It is applicable only for OLAP data source.
     */
    cube?: string;
    /**
     * Allows to set the provider type to identify the given connection is either **Relational** or **SSAS** to render the pivot table and field list. The following options are:
     * * `Relational`: Allows to render the pivot table with JSON data collection either fetch at local or remote server.
     * * `SSAS`: Allows to render the pivot table with OLAP data fetch from OLAP cube.
     */
    providerType?: ProviderType;
    /**
     * Allows to set the mode of rendering the pivot table.
     *
     */
    mode?: RenderMode;
    /**
     * Allows to set the URL as string type, which helps to identify the service endpoint where the data are processed and retrieved to render the pivot table and field list.
     * > It is applicable only for OLAP data source.
     */
    url?: string;
    /**
     * Allows you to set the specific culture code as number type to render pivot table with desired localization.
     * By default, the pivot table displays with culture code **1033**, which indicates "en-US" locale.
     * > It is applicable only for OLAP data source.
     */
    localeIdentifier?: number;
    /**
     * Allows you to assign multiple roles to the OLAP cube, separated by commas, each of which can access only restricted OLAP cube information such as measures, dimensions, and more that can be rendered in the pivot table.
     * > It is applicable only for OLAP data source.
     */
    roles?: string;
    /**
     * Allows you to set the data source as JSON collection to the pivot report either from local or from remote server to the render the pivot that and field list.
     * You can fetch JSON data from remote server by using data.DataManager.
     * > It is applicable only for relational data source.
     */
    dataSource?: IDataSet[] | data.DataManager | string[][];
    /**
     * Allows specific fields associated with field information that needs to be displayed in row axis of pivot table. The following configurations which are applicable are as follows:
     * * `name`: Allows you to set the field name that needs to be displayed in row axis of pivot table.
     * * `caption`: Allows you to set caption to the specific field. It will be used to display instead of its name in pivot table component's UI.
     * * `showNoDataItems`: Allows you to display all members items of a specific field to the pivot table,
     * even doesn't have any data in its row/column intersection in data source. **Note: It is applicable only for relational data source.**
     * * `showSubTotals`: Allows to show or hide sub-totals to a specific field in row axis of the pivot table.
     * * `isNamedSet`: Allows you to set whether the specified field is a named set or not. In general,
     * the named set is a set of dimension members or a set expression (MDX query) to be created as a dimension in the SSAS OLAP cube itself. **Note: It is applicable only for OLAP data source.**
     * * `isCalculatedField`: Allows to set whether the specified field is a calculated field or not.
     * In general, the calculated field is created from the bound data source or using simple formula with basic arithmetic operators in the pivot table. **Note: It is applicable only for OLAP data source.**
     * * `showFilterIcon`: Allows you to show or hide the filter icon of a specific field that used to be displayed on the pivot button of the grouping bar and field list UI.
     * This filter icon is used to filter the members of a specified field at runtime in the pivot table.
     * * `showSortIcon`: Allows you to show or hide the sort icon of a specific field that used to be displayed in the pivot button of the grouping bar and field list UI.
     * This sort icon is used to order members of a specified field either in ascending or descending at runtime.
     * * `showRemoveIcon`: Allows you to show or hide the remove icon of a specific field that used to be displayed in the pivot button of the grouping bar and field list UI.
     * This remove icon is used to remove the specified field during runtime.
     * * `showEditIcon`: Allows you to show or hide the edit icon of a specific field that used to be displayed on the pivot button of the grouping bar and field list UI.
     * This edit icon is used to modify caption, formula, and format of a specified calculated field at runtime that to be displayed in the pivot table.
     * * `allowDragAndDrop`: Allows you to restrict the specific field's pivot button that is used to drag on runtime in the grouping bar and field list UI.
     * This will prevent you from modifying the current report.
     * * `expandAll`: Allows you to expand or collapse all of the pivot table's headers for a specific field.
     */
    rows?: IFieldOptions[];
    /**
     * Allows specific fields associated with field information that needs to be displayed in column axis of pivot table. The following configurations which are applicable are as follows:
     * * `name`: Allows you to set the field name that needs to be displayed in column axis of pivot table.
     * * `caption`: Allows you to set caption to the specific field. It will be used to display instead of its name in pivot table component's UI.
     * * `showNoDataItems`: Allows you to display all members items of a specific field to the pivot table,
     * even doesn't have any data in its row/column intersection in data source. **Note: It is applicable only for relational data source.**
     * * `showSubTotals`: Allows to show or hide sub-totals to a specific field in column axis of the pivot table.
     * * `isNamedSet`: Allows you to set whether the specified field is a named set or not. In general,
     * the named set is a set of dimension members or a set expression (MDX query) to be created as a dimension in the SSAS OLAP cube itself. **Note: It is applicable only for OLAP data source.**
     * * `isCalculatedField`: Allows to set whether the specified field is a calculated field or not.
     * In general, the calculated field is created from the bound data source or using simple formula with basic arithmetic operators in the pivot table. **Note: It is applicable only for OLAP data source.**
     * * `showFilterIcon`: Allows you to show or hide the filter icon of a specific field that used to be displayed on the pivot button of the grouping bar and field list UI.
     * This filter icon is used to filter the members of a specified field at runtime in the pivot table.
     * * `showSortIcon`: Allows you to show or hide the sort icon of a specific field that used to be displayed in the pivot button of the grouping bar and field list UI.
     * This sort icon is used to order members of a specified field either in ascending or descending at runtime.
     * * `showRemoveIcon`: Allows you to show or hide the remove icon of a specific field that used to be displayed in the pivot button of the grouping bar and field list UI.
     * This remove icon is used to remove the specified field during runtime.
     * * `showEditIcon`: Allows you to show or hide the edit icon of a specific field that used to be displayed on the pivot button of the grouping bar and field list UI.
     * This edit icon is used to modify caption, formula, and format of a specified calculated field at runtime that to be displayed in the pivot table.
     * * `allowDragAndDrop`: Allows you to restrict the specific field's pivot button that is used to drag on runtime in the grouping bar and field list UI.
     * This will prevent you from modifying the current report.
     * * `expandAll`: Allows you to expand or collapse all of the pivot table's headers for a specific field.
     */
    columns?: IFieldOptions[];
    /**
     * Allows specific fields associated with field information that needs to be displayed as aggregated numeric values in pivot table. The following configurations which are applicable are as follows:
     * * `name`: Allows you to set the field name that needs to be displayed in row/column/value/filter axis of pivot table.
     * * `caption`: Allows you to set caption to the specific field. It will be used to display instead of its name in pivot table component's UI.
     * * `type`: Allows to display the values in the pivot table with appropriate aggregations such as sum, product, count, average, etc… **Note: It is applicable only for relational data source.**
     * * `baseField`: Allows you to set the selective field, which used to display the values with either
     *  DifferenceFrom or PercentageOfDifferenceFrom or PercentageOfParentTotal aggregate types. **Note: It is applicable only for relational data source.**
     * * `baseItem`: Allows you to set the selective item of a specific field, which used to display the values with either DifferenceFrom or PercentageOfDifferenceFrom aggregate types.
     * The selective item should be set the from field specified in the baseField property. **Note: It is applicable only for relational data source.**
     * * `isCalculatedField`: Allows to set whether the specified field is a calculated field or not.
     * In general, the calculated field is created from the bound data source or using simple formula with basic arithmetic operators in the pivot table. **Note: It is applicable only for OLAP data source.**
     * * `showRemoveIcon`: Allows you to show or hide the remove icon of a specific field that used to be displayed in the pivot button of the grouping bar and field list UI.
     * This remove icon is used to remove the specified field during runtime.
     * * `showValueTypeIcon`: Allows you to show or hide the value type icon of a specific field that used to be displayed in the pivot button of the grouping bar and field list UI.
     * This value type icon helps to select the appropriate aggregation type to specified value field at runtime.
     * * `showEditIcon`: Allows you to show or hide the edit icon of a specific field that used to be displayed on the pivot button of the grouping bar and field list UI.
     * This edit icon is used to modify caption, formula, and format of a specified calculated field at runtime that to be displayed in the pivot table.
     * * `allowDragAndDrop`: Allows you to restrict the specific field's pivot button that is used to drag on runtime in the grouping bar and field list UI.
     * This will prevent you from modifying the current report.
     * * `expandAll`: Allows you to expand or collapse all of the pivot table's headers for a specific field.
     */
    values?: IFieldOptions[];
    /**
     * Allows to filter the values in other axis based on the collection of filter fields in pivot table. The following configurations which are applicable are as follows:
     * * `name`: Allows you to set the field name that needs to be displayed in row/column/value/filter axis of pivot table.
     * * `caption`: Allows you to set caption to the specific field. It will be used to display instead of its name in pivot table component's UI.
     * * `isNamedSet`: Allows you to set whether the specified field is a named set or not. In general,
     * the named set is a set of dimension members or a set expression (MDX query) to be created as a dimension in the SSAS OLAP cube itself. **Note: It is applicable only for OLAP data source.**
     * * `isCalculatedField`: Allows to set whether the specified field is a calculated field or not.
     * In general, the calculated field is created from the bound data source or using simple formula with basic arithmetic operators in the pivot table. **Note: It is applicable only for OLAP data source.**
     * * `showFilterIcon`: Allows you to show or hide the filter icon of a specific field that used to be displayed on the pivot button of the grouping bar and field list UI.
     * This filter icon is used to filter the members of a specified field at runtime in the pivot table.
     * * `showRemoveIcon`: Allows you to show or hide the remove icon of a specific field that used to be displayed in the pivot button of the grouping bar and field list UI.
     * This remove icon is used to remove the specified field during runtime.
     * * `showEditIcon`: Allows you to show or hide the edit icon of a specific field that used to be displayed on the pivot button of the grouping bar and field list UI.
     * This edit icon is used to modify caption, formula, and format of a specified calculated field at runtime that to be displayed in the pivot table.
     * * `allowDragAndDrop`: Allows you to restrict the specific field's pivot button that is used to drag on runtime in the grouping bar and field list UI.
     * This will prevent you from modifying the current report.
     * * `expandAll`: Allows you to expand or collapse all of the pivot table's headers for a specific field.
     */
    filters?: IFieldOptions[];
    /**
     * Allows you to restrict the specific field(s) from displaying it in the field list UI.
     * You may also be unable to render the pivot table with this field(s) by doing so.
     * > It is applicable only for relational data source.
     */
    excludeFields?: string[];
    /**
     * Allows you to either expand or collapse all the headers that are displayed in the pivot table.
     * By default, all the headers are collapsed in the pivot table.
     * > It is applicable only for Relational data.
     */
    expandAll?: boolean;
    /**
     * Allows you to set the value fields that to be plotted either in row or column axis in the pivot table.
     */
    valueAxis?: string;
    /**
     * Allows you to display the value headers based on the index position in row or column axis in the pivot table.
     * By default, the value headers are displayed at last index position based on the `valueAxis` property.
     * > It is applicable only for relational data source.
     */
    valueIndex?: number;
    /**
     * Allows specific fields associated with either selective or conditional-based filter members that used to be displayed in the pivot table.
     */
    filterSettings?: IFilter[];
    /**
     * Allows specific fields associated with sort settings to order their members either in ascending or descending that used to be displayed in the pivot table.
     * By default, the data source containing fields are display with Ascending order alone. To use this option, it requires the `enableSorting` property to be **true**.
     */
    sortSettings?: ISort[];
    /**
     * Allows to perform sort operation to order members of a specific fields either in ascending or descending that used to be displayed in the pivot table.
     */
    enableSorting?: boolean;
    /**
     * Allows specific fields used to display the values with specific format that used to be displayed in the pivot table.
     * For example, to display a specific field with currency formatted values in the pivot table, the set the `format` property to be **C**.
     */
    formatSettings?: IFormatSettings[];
    /**
     * Allows specific fields used to display their the headers to be either expanded or collapsed in the pivot table.
     */
    drilledMembers?: IDrillOptions[];
    /**
     * Allows to sort individual value field and its aggregated values either in row or column axis to ascending or descending order.
     */
    valueSortSettings?: IValueSortSettings;
    /**
     * Allows to create new calculated fields from the bound data source or using simple formula with basic arithmetic operators in the pivot table.
     */
    calculatedFieldSettings?: ICalculatedFieldSettings[];
    /**
     * Allows to perform filter operation based on the selective filter members of the specific fields used to be displayed in the pivot table.
     */
    allowMemberFilter?: boolean;
    /**
     * Allows to perform filter operation based on the selective headers used to be displayed in the pivot table.
     */
    allowLabelFilter?: boolean;
    /**
     * Allows to perform filter operation based only on value fields and its resultant aggregated values over other fields defined in row and column axes that used to be displayed in the pivot table.
     */
    allowValueFilter?: boolean;
    /**
     * Allows to show or hide sub-totals in both rows and columns axis of the pivot table.
     */
    showSubTotals?: boolean;
    /**
     * Allows to show or hide sub-totals in row axis of the pivot table.
     */
    showRowSubTotals?: boolean;
    /**
     * Allows to show or hide sub-totals in column axis of the pivot table.
     */
    showColumnSubTotals?: boolean;
    /**
     * Allows the row and column sub-totals to be displayed at the top or bottom of the header group in the pivot table.
     * > By default, the column sub-totals are displayed at the bottom and row sub-totals are displayed at the top of their header group in the pivot table.
     */
    subTotalsPosition?: SubTotalsPosition;
    /**
     * Allows to show or hide grand totals in both rows and columns axis of the pivot table.
     */
    showGrandTotals?: boolean;
    /**
     * Allows the grand totals to be position at first position in the row and column axis of the pivot table.
     */
    grandTotalsPosition?: GrandTotalsPosition;
    /**
     * Allows to show or hide grand totals in row axis of the pivot table.
     */
    showRowGrandTotals?: boolean;
    /**
     * Allows to show or hide grand totals in column axis of the pivot table.
     */
    showColumnGrandTotals?: boolean;
    /**
     * Allows the undefined headers to be displayed in the pivot table, when the specific field(s) are not defined in the raw data.
     * For example, if the raw data for the field ‘Country’ is defined as “United Kingdom” and “State” is not defined means, it will be shown as “United Kingdom >> Undefined” in the header section.
     */
    showHeaderWhenEmpty?: boolean;
    /**
     * Allows to show the value field header always in pivot table, even if it holds a single field in the value field axis.
     */
    alwaysShowValueHeader?: boolean;
    /**
     * Allows a collection of values fields to change the appearance of the pivot table value cells with different style properties such as background color, font color, font family, and font size based on specific conditions.
     */
    conditionalFormatSettings?: IConditionalFormatSettings[];
    /**
     * Allows to show custom string to the empty value cells that used to display in the pivot table. You can fill empty value cells with any value like “0”, ”-”, ”*”, “(blank)”, etc.
     */
    emptyCellsTextContent?: string;
    /**
     * Allows specific fields to group their data on the basis of their type.
     * For example, the date type fields can be formatted and displayed based on year, quarter, month, and more. Likewise, the number type fields can be grouped range-wise, such as 1-5, 6-10, etc.
     * You can perform custom group to the string type fields that used to displayed in the pivot table.
     */
    groupSettings?: IGroupSettings[];
    /**
     * Allows the pivot button with specific value field caption along with the aggregation type, to be displayed in the grouping bar and field list UI.
     * For example, if the value field "Sold Amount" is aggregated with Sum, it will be displayed with caption "Sum of Sold Amount" in its pivot button.
     */
    showAggregationOnValueField?: boolean;
    /**
     * Allows you to set the credential information to access the specified SSAS cube.
     * > It is applicable only for OLAP data source.
     */
    authentication?: IAuthenticationInfo;
    /**
     * Allows to define the data source type.
     */
    type?: DataSourceType;
    /**
     * Allows specific fields associated with field information that can be used while creating fieldlist. The following configurations which are applicable are as follows:
     * * `name`: Allows you to set the field name which is going to configure while creating the fieldlist.
     * * `caption`: Allows you to set caption to the specific field. It will be used to display instead of its name in pivot table component's UI.
     * * `showNoDataItems`: Allows you to display all members items of a specific field to the pivot table,
     * even doesn't have any data in its row/column intersection in data source. **Note: It is applicable only for relational data source.**
     * * `showSubTotals`: Allows to show or hide sub-totals to a specific field in row axis of the pivot table.
     * * `isNamedSet`: Allows you to set whether the specified field is a named set or not. In general,
     * the named set is a set of dimension members or a set expression (MDX query) to be created as a dimension in the SSAS OLAP cube itself. **Note: It is applicable only for OLAP data source.**
     * * `isCalculatedField`: Allows to set whether the specified field is a calculated field or not.
     * In general, the calculated field is created from the bound data source or using simple formula with basic arithmetic operators in the pivot table. **Note: It is applicable only for OLAP data source.**
     * * `showFilterIcon`: Allows you to show or hide the filter icon of a specific field that used to be displayed on the pivot button of the grouping bar and field list UI.
     * This filter icon is used to filter the members of a specified field at runtime in the pivot table.
     * * `showSortIcon`: Allows you to show or hide the sort icon of a specific field that used to be displayed in the pivot button of the grouping bar and field list UI.
     * This sort icon is used to order members of a specified field either in ascending or descending at runtime.
     * * `showRemoveIcon`: Allows you to show or hide the remove icon of a specific field that used to be displayed in the pivot button of the grouping bar and field list UI.
     * This remove icon is used to remove the specified field during runtime.
     * * `showEditIcon`: Allows you to show or hide the edit icon of a specific field that used to be displayed on the pivot button of the grouping bar and field list UI.
     * This edit icon is used to modify caption, formula, and format of a specified calculated field at runtime that to be displayed in the pivot table.
     * * `allowDragAndDrop`: Allows you to restrict the specific field's pivot button that is used to drag on runtime in the grouping bar and field list UI.
     * This will prevent you from modifying the current report.
     * * `expandAll`: Allows you to expand or collapse all of the pivot table's headers for a specific field.
     */
    fieldMapping?: IFieldOptions[];
}
/**
 * Allows a collection of values fields to change the appearance of the pivot table value cells with different style properties such as background color, font color, font family, and font size based on specific conditions.
 */
export interface IConditionalFormatSettings {
    /**
     * Allows to set the value field name to apply conditional formatting.
     */
    measure?: string;
    /**
     * Allows you to choose the operator type such as equals, greater than, less than, etc. for conditional formatting.
     */
    conditions?: Condition;
    /**
     * Allows you to set the start value for applying conditional formatting.
     */
    value1?: number;
    /**
     * Allows you to set the end value for applying conditional formatting.
     * > This option will be used by default when the operator **Between** and **NotBetween** is chosen to apply.
     */
    value2?: number;
    /**
     * Allows to set the custom styles for the formatting applied values in the pivot table.
     */
    style?: IStyle;
    /**
     * Allows to set the header text of a specific row/column field to apply conditional formatting.
     */
    label?: string;
    /**
     * Allows to apply conditional formatting to the grand totals of row and column axis in the pivot table.
     */
    applyGrandTotals?: boolean;
}
/**
 * Allows the style information to customize the pivot table cell appearance.
 */
export interface IStyle {
    /**
     * It allows to set the background color to the value cell in the pivot table.
     */
    backgroundColor?: string;
    /**
     * It allows to set the font color to the value cell in the pivot table.
     */
    color?: string;
    /**
     * It allows to set the font family to the value cell in the pivot table.
     */
    fontFamily?: string;
    /**
     * It allows to set the font size to the value cell in the pivot table.
     */
    fontSize?: string;
}
/**
 * Allows to sort individual value field and its aggregated values either in row or column axis to ascending or descending order.
 */
export interface IValueSortSettings {
    /**
     * It allows to set the member name of a specific field for value sorting.
     */
    headerText?: string;
    /**
     * It allows to set the delimiter, which is used a separator to split the given header text.
     */
    headerDelimiter?: string;
    /**
     * Allows to apply sorting to the specified field either by ascending or descending. The types are,
     * * `Ascending`: It allows to display the field members in ascending order.
     * * `Descending`: It allows to display the field members in descending order.
     */
    sortOrder?: Sorting;
    /**
     * It allows to set the column index of the value cell.
     */
    columnIndex?: number;
    /**
     * It allows to set the measure name to achieve value sorting based on this.
     * > It is applicable only for OLAP data source.
     */
    measure?: string;
}
/**
 * Allows you to set the credential information to access the specified SSAS cube.
 * > It is applicable only for OLAP data source.
 */
export interface IAuthenticationInfo {
    /**
     * It allows to set the user name to access the specified SSAS cube.
     */
    userName?: string;
    /**
     * It allows to set the password to access the specified SSAS cube.
     */
    password?: string;
}
/**
 * Allows to set the page information to display the pivot table with specific page during virtual scrolling.
 */
export interface IPageSettings {
    /**
     * It allows to set the total column count of the pivot table.
     */
    columnPageSize?: number;
    /**
     * It allows to set the total row count of the pivot table.
     */
    rowPageSize?: number;
    /**
     * It allows to set the current column page count displayed in the pivot table.
     */
    currentColumnPage?: number;
    /**
     * It allows to set the current row page count displayed in the pivot table.
     */
    currentRowPage?: number;
}
/**
 * @hidden
 */
export interface IMatrix2D {
    [key: number]: {
        [key: number]: number;
    };
    length: number;
    push(item: number): number;
}
/**
 * @hidden
 */
export interface ValueMatrixInfo {
    ordinal: number;
    member: 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;
}
/**
 * It holds the collection of cell information to render the pivot table component.
 *
 * @hidden
 */
export interface IPivotValues {
    /**
     * Allows you to configure the pivot cell information retrieved from the data source.
     */
    [key: number]: {
        [key: number]: number | string | Object | IAxisSet;
        length: number;
    };
    /**
     * Gets or sets the length of the array. This is a number one higher than the highest index in the array.
     */
    length: number;
}
/**
 * @hidden
 */
export interface IPivotRows {
    [key: number]: number | string | Object | IAxisSet;
    length: number;
}
/**
 * @hidden
 */
export interface IGridValues {
    [key: number]: IAxisSet[];
    length: number;
}
/**
 * @hidden
 */
export interface ISelectedValues {
    [key: number]: IAxisSet;
}
/**
 * @hidden
 */
export interface IDataSet {
    [key: string]: string | number | Date;
}
/**
 * Allows specific fields associated with field information that needs to be displayed in the field axes of pivot table. The following configurations which are applicable are as follows:
 */
export interface IFieldOptions {
    /**
     * Allows you to set the field name that needs to be displayed in row/column/value/filter axis of pivot table.
     */
    name?: string;
    /**
     * Allows you to set caption to the specific field. It will be used to display instead of its name in pivot table component's UI.
     */
    caption?: string;
    /**
     * Allows to display the values in the pivot table with appropriate aggregations such as sum, product, count, average, etc… The available types are,
     * * `Sum`: Allows to display the pivot table values with sum.
     * * `Product`: Allows to display the pivot table values with product.
     * * `Count`: Allows to display the pivot table values with count.
     * * `DistinctCount`: Allows to display the pivot table values with distinct count.
     * * `Min`: Allows to display the pivot table with minimum value.
     * * `Max`: Allows to display the pivot table with maximum value.
     * * `Avg`: Allows to display the pivot table values with average.
     * * `Median`: Allows to display the pivot table values with median.
     * * `Index`: Allows to display the pivot table values with index.
     * * `PopulationStDev`: Allows to display the pivot table values with population standard deviation.
     * * `SampleStDev`: Allows to display the pivot table values with sample standard deviation.
     * * `PopulationVar`: Allows to display the pivot table values with population variance.
     * * `SampleVar`: Allows to display the pivot table values with sample variance.
     * * `RunningTotals`: Allows to display the pivot table values with running totals.
     * * `DifferenceFrom`: Allows to display the pivot table values with difference from the value of the base item in the base field.
     * * `PercentageOfDifferenceFrom`: Allows to display the pivot table values with percentage difference from the value of the base item in the base field.
     * * `PercentageOfGrandTotal`: Allows to display the pivot table values with percentage of grand total of all values.
     * * `PercentageOfColumnTotal`: Allows to display the pivot table values in each column with percentage of total values for the column.
     * * `PercentageOfRowTotal`: Allows to display the pivot table values in each row with percentage of total values for the row.
     * * `PercentageOfParentTotal`: Allows to display the pivot table values with percentage of total of all values based on selected field.
     * * `PercentageOfParentColumnTotal`: Allows to display the pivot table values with percentage of its parent total in each column.
     * * `PercentageOfParentRowTotal`: Allows to display the pivot table values with percentage of its parent total in each row.
     * * `CalculatedField`: Allows to display the pivot table with calculated field values. It allows user to create a new calculated field alone.
     *
     * > It is applicable only for relational data source.
     */
    type?: SummaryTypes;
    /**
     * Allows you to set the axis name to the specific field. This will help to display the field in specified axis such as row/column/value/filter axis of pivot table.
     */
    axis?: string;
    /**
     * Allows you to display all members items of a specific field to the pivot table, even doesn't have any data in its row/column intersection in data source.
     * > It is applicable only for relational data source.
     */
    showNoDataItems?: boolean;
    /**
     * Allows you to set the selective field, which used to display the values with either DifferenceFrom or PercentageOfDifferenceFrom or PercentageOfParentTotal aggregate types.
     * > It is applicable only for relational data source.
     */
    baseField?: string;
    /**
     * Allows you to set the selective item of a specific field, which used to display the values with either DifferenceFrom or PercentageOfDifferenceFrom aggregate types.
     * The selective item should be set the from field specified in the baseField property.
     * > It is applicable only for relational data source.
     */
    baseItem?: string;
    /**
     * Allows to show or hide sub-totals to a specific field in row/column axis of the pivot table.
     */
    showSubTotals?: boolean;
    /**
     * Allows you to set whether the specified field is a named set or not.
     * In general, the named set is a set of dimension members or a set expression (MDX query) to be created as a dimension in the SSAS OLAP cube itself.
     * > It is applicable only for OLAP data source.
     */
    isNamedSet?: boolean;
    /**
     * Allows to set whether the specified field is a calculated field or not. In general, a calculated field is created from the bound data source or using simple formula with basic arithmetic operators in the pivot table.
     * > This option is applicable only for OLAP data source.
     */
    isCalculatedField?: boolean;
    /**
     * Allows you to show or hide the filter icon of a specific field that used to be displayed on the pivot button of the grouping bar and field list UI.
     * This filter icon is used to filter the members of a specified field at runtime in the pivot table.
     */
    showFilterIcon?: boolean;
    /**
     * Allows you to show or hide the sort icon of a specific field that used to be displayed in the pivot button of the grouping bar and field list UI.
     * This sort icon is used to order members of a specified field either in ascending or descending at runtime.
     */
    showSortIcon?: boolean;
    /**
     * Allows you to show or hide the remove icon of a specific field that used to be displayed in the pivot button of the grouping bar and field list UI.
     * This remove icon is used to remove the specified field during runtime.
     */
    showRemoveIcon?: boolean;
    /**
     * Allows you to show or hide the value type icon of a specific field that used to be displayed in the pivot button of the grouping bar and field list UI.
     * This value type icon helps to select the appropriate aggregation type to specified value field at runtime.
     */
    showValueTypeIcon?: boolean;
    /**
     * Allows you to show or hide the edit icon of a specific field that used to be displayed on the pivot button of the grouping bar and field list UI.
     * This edit icon is used to modify caption, formula, and format of a specified calculated field at runtime that to be displayed in the pivot table.
     */
    showEditIcon?: boolean;
    /**
     * Allows you to restrict the specific field's pivot button that is used to drag on runtime in the grouping bar and field list UI.
     * This will prevent you from modifying the current report.
     */
    allowDragAndDrop?: boolean;
    /**
     * Allows to specify the data type of specific field.
     */
    dataType?: string;
    /**
     * Allows you to expand or collapse all of the pivot table's headers for a specific field.
     */
    expandAll?: boolean;
    /**
     * Allows you to create group folder for fields in pivot field list.
     * Allows user to set the group (i.e., folder) name for selected fields that used to be displayed in the field list tree.
     * > It is applicable only for relational data source.
     */
    groupName?: string;
}
/**
 * Allows specific fields associated with sort settings to order their members either in ascending or descending that used to be displayed in the pivot table.
 */
export interface ISort {
    /**
     * Allows to set the field name to order their members either in ascending or descending in the pivot table.
     */
    name?: string;
    /**
     * Allows to apply sorting to the specified field either by ascending or descending or JSON order. The types are,
     * * `Ascending`: It allows to display the field members in ascending order.
     * * `Descending`: It allows to display the field members in descending order.
     * * `None`: It allows to display the field members based on JSON order.
     */
    order?: Sorting;
    /**
     * Allows to specify the sorting order for custom sorting.
     *
     */
    membersOrder?: string[] | number[];
}
/**
 * Allows specific fields associated with either selective or conditional-based filter members that used to be displayed in the pivot table.
 */
export interface IFilter {
    /**
     * Allows you to set the field name that used to display the selective or conditional-based filter members that used to be displayed in the pivot table.
     */
    name?: string;
    /**
     * Allows you to set the specific filter type to display the filter members in the pivot table. They are:
     * * Include - Specifies the filter type as include.
     * * Exclude - Specifies the filter type as exclude.
     * * Label - Specifies the filter type as label.
     * * Date - Specifies the filter type as date.
     * * Number - Specifies the filter type as number.
     * * Value - Specifies the filter type as value.
     *
     * @default Include
     */
    type?: FilterType;
    /**
     * Allows you to specify the field members that used to be displayed based on the filter type provided in the pivot table.
     */
    items?: string[];
    /**
     * Allows you to choose the operator type such as equals, greater than, less than, etc. for conditional-based filtering.
     * > It is applicable only for label and value filtering.
     */
    condition?: Operators;
    /**
     * Allows you to set the start value to display the filter items in the pivot table based on the condition applied.
     * > It is applicable only for label and value filtering.
     */
    value1?: string | Date;
    /**
     * Allows you to set the end value to display the filter items in the pivot table based on the condition applied.
     * > This option will be used by default when the operator **Between** and **NotBetween** is chosen to apply. Also, it is applicable only for label and value filtering.
     */
    value2?: string | Date;
    /**
     * It allows excel-like label filtering operation through UI and code-behind.
     */
    showLabelFilter?: boolean;
    /**
     * It allows excel-like date filtering operation through UI and code-behind.
     */
    showDateFilter?: boolean;
    /**
     * It allows excel-like number filtering operation through UI and code-behind.
     */
    showNumberFilter?: boolean;
    /**
     * Allows to set value field for evaluation using conditions and operands for filtering.
     * > It is applicable only for label and value filtering.
     */
    measure?: string;
    /**
     * Allows to set level of the field to fetch data from the cube for filtering.
     * > This option is applicable only for user-defined hierarchies in OLAP data source.
     */
    levelCount?: number;
    /**
     * Allows to set level name of a specified field, where the filtering settings to be applied.
     * > This option is applicable only for user-defined hierarchies in OLAP data source.
     */
    selectedField?: string;
}
/**
 * Allows specific fields used to display their the headers to be either expanded or collapsed in the pivot table.
 */
export interface IDrillOptions {
    /**
     * It allows to set the field name whose members to be either expanded or collapsed in the pivot table.
     */
    name?: string;
    /**
     * It allows to set the members to be either expanded or collapsed in the pivot table.
     */
    items?: string[];
    /**
     * It allows to set the delimiter, which is used a separator to split the given members.
     */
    delimiter?: string;
}
/**
 * Allows options to create new calculated fields from the bound data source or using simple formula with basic arithmetic operators in the pivot table.
 */
export interface ICalculatedFieldSettings {
    /**
     * It allows to set the field name that used to create as a calculated field.
     */
    name?: string;
    /**
     * It allows to set the formula/expression to the specified calculated field.
     */
    formula?: string;
    /**
     * It allows to set hierarchy unique name, that used to create calculated member.
     * > It is applicable only for OLAP data source.
     */
    hierarchyUniqueName?: string;
    /**
     * It allows to set format string that used to create calculated member with specified formatted values that to be displayed in the pivot table.
     * > It is applicable only for OLAP data source.
     */
    formatString?: string;
}
/**
 * Configures the specific calculated field information.
 */
export interface ICalculatedFields extends ICalculatedFieldSettings {
    /**
     * It allows to set the caption to the calculated field that used to be displayed in the pivot table UI.
     */
    caption?: string;
    /**
     * It allows to set the calculated field's actual formula.
     */
    actualFormula?: string;
}
/**
 * Allows specific fields used to display the values with specific format that used to be displayed in the pivot table.
 * For example, to display a specific field with currency formatted values in the pivot table, the set the `format` property to be **C**.
 */
export interface IFormatSettings extends base.NumberFormatOptions, base.DateFormatOptions {
    /**
     * It allows to set the field name to apply format settings.
     */
    name?: string;
}
/**
 * @hidden
 */
export interface IMembers {
    [index: string]: {
        ordinal?: number;
        index?: number[];
        name?: string;
        isDrilled?: boolean;
        isNodeExpand?: boolean;
        parent?: string;
        caption?: string;
        isSelected?: boolean;
    };
}
/**
 * @hidden
 */
export interface IFieldListOptions {
    [index: string]: IField;
}
/**
 * Allows you to configure the information retrieved from the data source for the field list.
 */
export interface IField {
    /**
     * It allows to set the field name.
     */
    id?: string;
    /**
     * It allows to set the parent name.
     *
     */
    pid?: string;
    /**
     * It allows to set the field caption.
     */
    caption?: string;
    /**
     * It allows to set the field type to be either number or string or data or datetime.
     */
    type?: string;
    /**
     * It allows to set the current number format string of the field.
     */
    formatString?: string;
    /**
     * It allows to set the exact position of the specific field situated in the given data source.
     */
    index?: number;
    /**
     * It allows to set members information of the specific field.
     */
    members?: IMembers;
    /**
     * It allows to set members caption information of the specific field.
     */
    formattedMembers?: IMembers;
    /**
     * It allows to set date members information of the specific field.
     */
    dateMember?: IAxisSet[];
    /**
     * It allows to set the current filter members to the specific field.
     */
    filter?: string[];
    /**
     * It allows to set the current sort order to the specific field.
     */
    sort?: string;
    /**
     * It allows to set the current aggregate type to the specific field.
     */
    aggregateType?: string;
    /**
     * It allows to set the selective field name to the field to perform aggregation.
     */
    baseField?: string;
    /**
     * It allows to set the selective member of the specific field to perform aggregation.
     */
    baseItem?: string;
    /**
     * It allows to change the specific field's type.
     */
    filterType?: string;
    /**
     * It allows to set the format to the specific field.
     */
    format?: string;
    /**
     * It allows to set the calculated field formula.
     */
    formula?: string;
    /**
     * Allows to set whether the specific field is selected or not.
     */
    isSelected?: boolean;
    /**
     * Allows to set the specific field for excel-like filtering.
     */
    isExcelFilter?: boolean;
    /**
     * Allows to set the specific field to display the data items that are not in combination with respect to current report.
     */
    showNoDataItems?: boolean;
    /**
     * Allows to set whether the specific field is custom grouped or not.
     */
    isCustomField?: boolean;
    /**
     * It allows to set the visibility of filter icon in grouping bar and field list button.
     */
    showFilterIcon?: boolean;
    /**
     * It allows to set the visibility of sort icon in grouping bar and field list button.
     */
    showSortIcon?: boolean;
    /**
     * It allows to set the visibility of remove icon in grouping bar button.
     */
    showRemoveIcon?: boolean;
    /**
     * It allows to set the visibility of calculated field edit icon in grouping bar and field list button.
     */
    showEditIcon?: boolean;
    /**
     * It allows to set the visibility of summary type drop down icon in grouping bar and field list button.
     */
    showValueTypeIcon?: boolean;
    /**
     * It allows to enable/disable the drag and drop option to grouping bar and field list button.
     */
    allowDragAndDrop?: boolean;
    /**
     * Allows to set whether is is a calculated field or not.
     */
    isCalculatedField?: boolean;
    /**
     * It allows enable/disable sub total in pivot table.
     */
    showSubTotals?: boolean;
    /**
     * Allows you to expand or collapse all of the pivot table's headers for a specific field.
     */
    expandAll?: boolean;
    /**
     * It allows to set custom sort members of the specific field.
     */
    membersOrder?: string[] | number[];
    /**
     * It allows you to check if the custom sort type of a specific field is Alphanumeric or not.
     *
     * @default false
     */
    isAlphanumeric?: boolean;
    /**
     * @hidden
     */
    isMembersFilled?: boolean;
}
/**
 * Allows you to configure the pivot cell information retrieved from the data source.
 */
export interface IAxisSet {
    /**
     * It allows to set the formatted text.
     */
    formattedText?: string;
    /**
     * It allows to set the actual text.
     */
    actualText?: number | string;
    /**
     * It allows to set the member type.
     */
    type?: string;
    /**
     * It allows to set whether the member is drilled or not.
     */
    isDrilled?: boolean;
    /**
     * It allows to set whether the member has children or not.
     */
    hasChild?: boolean;
    /**
     * It allows to set the child members collection of the specific member.
     */
    members?: this[];
    /**
     * Specifies its position collections in data source.
     */
    index?: number[];
    /**
     * Specifies its position collections in data source with indexed object.
     */
    indexObject?: INumberIndex;
    /**
     * It allows to set the cell ordinal.
     */
    ordinal?: number;
    /**
     * It allows to set level of the member.
     */
    level?: number;
    /**
     * It allows to set the axis name of the member.
     */
    axis?: string;
    /**
     * It allows to set value of the cell.
     */
    value?: number;
    /**
     * It allows to set actual value of the cell.
     */
    actualValue?: number;
    /**
     * It allows to set column span to the cell.
     */
    colSpan?: number;
    /**
     * It allows to set row span to the cell.
     */
    rowSpan?: number;
    /**
     * Specifies the data collection which is to be framed for value sorted members.
     */
    valueSort?: IDataSet;
    /**
     * It allows to set column index to the cell.
     */
    colIndex?: number;
    /**
     * It allows to set row index to the cell.
     */
    rowIndex?: number;
    /**
     * Specifies the column header of a value cell.
     */
    columnHeaders?: string | number | Date;
    /**
     * Specifies the row header of a value cell.
     */
    rowHeaders?: string | number | Date;
    /**
     * Specifies whether the cell is summary or not.
     */
    isSum?: boolean;
    /**
     * Specifies whether the cell is grand summary or not.
     */
    isGrandSum?: boolean;
    /**
     * Specifies whether the level of the cell is filtered or not.
     */
    isLevelFiltered?: boolean;
    /**
     * It allows to custom class names to the cell.
     */
    cssClass?: string;
    /**
     * It allows to set the style information for conditional formatting.
     */
    style?: IStyle;
    /**
     * It allows to set the visibility of hyperlink to the cell.
     */
    enableHyperlink?: boolean;
    /**
     * It allows enable/disable sub totals.
     */
    showSubTotals?: boolean;
    /**
     * It allows set the formatted date string of the cell.
     */
    dateText?: number | string;
    /**
     * It allows to set member type.
     */
    memberType?: number;
    /**
     * It allows to set the parent unique name.
     */
    parentUniqueName?: string;
    /**
     * It allows to set the parent unique name.
     */
    levelUniqueName?: string;
    /**
     * It allows to set whether the member field is a attribute hierarchy or not.
     */
    hierarchy?: string;
    /**
     * It allows to set column ordinal of the cell.
     */
    colOrdinal?: number;
    /**
     * It allows to set row ordinal of the cell.
     */
    rowOrdinal?: number;
    /**
     * It allows to set whether field is a namedset or not.
     */
    isNamedSet?: boolean;
    /**
     * It allows to set depth of the cell.
     */
    depth?: number;
    /**
     * Specifies the value cell's unique header name.
     *
     * @hidden
     */
    hierarchyName?: string;
}
/**
 * Allows you to configure the drill information of a specific field item that used to display the pivot table.
 */
export interface IDrilledItem {
    /**
     * It allows to set the field name whose members to be drilled.
     */
    fieldName: string;
    /**
     * It allows to set the member name of the specific field.
     */
    memberName: string;
    /**
     * It allows to set the axis name of the specific field.
     */
    axis: string;
    /**
     * It allows to set whether the member performs drill-down or drill-up operation.
     */
    action: string;
    /**
     * It allows to set the delimiter, which is used a member separator.
     */
    delimiter: string;
    /**
     * It allows to set the selected cell information.
     */
    currentCell?: IAxisSet;
}
/**
 * Allows you to configure the additional properties from the pivot component to popuplate the pivot engine.
 *
 * @hidden
 */
export interface ICustomProperties {
    /**
     * Specifies the current data type.
     */
    mode?: string;
    /**
     * Specifies the saved field list information.
     */
    savedFieldList?: IFieldListOptions;
    /**
     * Specifies the paging information for virtualization.
     */
    pageSettings?: IPageSettings;
    /**
     * Specifies the whether the value sorting is enabled or not.
     */
    enableValueSorting?: boolean;
    /**
     * Specifies the whether the paging option is enabled or not.
     */
    enablePaging?: boolean;
    /**
     * Specifies the whether the virtualization option is enabled or not.
     */
    enableVirtualization?: boolean;
    /**
     * Specifies the whether the data compression option is enabled or not.
     */
    allowDataCompression?: boolean;
    /**
     * Specifies the whether drill through is enabled or not.
     */
    isDrillThrough?: boolean;
    /**
     * Specifies the whether html sanitizer is enabled or not.
     */
    enableHtmlSanitizer?: boolean;
    /**
     * Specifies the current locale information of the component.
     */
    localeObj?: base.L10n;
    /**
     * Specifies the current culture information of the component.
     */
    globalize?: base.Internationalization;
    /**
     * Specifies the current currency code of the component.
     */
    currenyCode?: string;
    /**
     * Specifies the customized field type information.
     */
    fieldsType?: IStringIndex;
    /**
     * Specifies the cloned report.
     */
    clonedReport?: IDataOptions;
    /**
     * Specifies whether the allowSinglePage option is enabled or not.
     */
    enableOptimizedRendering?: boolean;
    /**
     * Specifies whether the Tabular layout option is enabled or not.
     */
    isTabularLayout?: boolean;
}
/**
 * @hidden
 */
interface IValueFields {
    [index: string]: IFieldOptions;
}
/**
 * Allows specific fields to group their data on the basis of their type.
 * For example, the date type fields can be formatted and displayed based on year, quarter, month, and more. Likewise, the number type fields can be grouped range-wise, such as 1-5, 6-10, etc.
 * You can perform custom group to the string type fields that used to displayed in the pivot table.
 */
export interface IGroupSettings {
    /**
     * It allows to set the specific field name to apply group settings.
     */
    name?: string;
    /**
     * It allows to specify the date group intervals such as years or quarter or months or days or hours or minutes or seconds to group fields based on that in the pivot table. They options are:
     * * Years - Specifies the group as years.
     * * Quarters - Specifies the group as quarters.
     * * Months - Specifies the group as months.
     * * Days - Specifies the group as days.
     * * Hours - Specifies the group as hours.
     * * Minutes - Specifies the group as minutes.
     * * Seconds - Specifies the group as seconds.
     *
     * > It is applicable only for date type grouping.
     */
    groupInterval?: DateGroup[];
    /**
     * It allows to set the start value/date to group fields from the specified range that to be displayed in the pivot table.
     */
    startingAt?: Date | number | string;
    /**
     * It allows to set the start value/date to group fields to the specified range that to be displayed in the pivot table.
     */
    endingAt?: Date | number | string;
    /**
     * It allows to set the interval range to group field based on the specified range.
     * > It is applicable only of number type grouping.
     */
    rangeInterval?: number;
    /**
     * It allows to set the type as date or number or custom to the specified field for apply grouping. The types are:
     * * Date - Defines group type as 'Date' for date type field
     * * Number - Defines group type as 'Number' for numeric type field.
     * * Custom - Defines group type as 'Custom' for custom group field.
     */
    type?: GroupType;
    /**
     * It allows to set the caption to custom field that will be used to created from custom group fields in the pivot table.
     * > It is applicable only for custom grouping.
     */
    caption?: string;
    /**
     * It allows to set the custom group information to create custom group fields.
     * > It is applicable only for custom grouping.
     */
    customGroups?: ICustomGroups[];
}
/**
 * Allows to specify the custom group information of specific field to create custom groups.
 */
export interface ICustomGroups {
    /**
     * Allows user to set the group name (or title) for selected headers for custom grouping.
     */
    groupName?: string;
    /**
     * It allows to set the headers which needs to be grouped from display.
     */
    items?: string[];
}
/**
 * Allows to configure the group range information to perform date and number grouping on specific fields.
 */
export interface IGroupRange {
    /**
     * Specifies the group range value.
     */
    range?: string;
    /**
     * Specifies whether the group value is in range or not.
     */
    isNotInRange?: boolean;
    /**
     * Specifies the actual value exists in the raw item.
     */
    value?: Date | number;
}
/**
 * Allows to configure the specific field information during UI operation at runtime.
 */
export interface FieldItemInfo {
    /**
     * Specifies the field name.
     */
    fieldName?: string;
    /**
     * Specifies the field information as an object.
     */
    fieldItem?: IFieldOptions;
    /**
     * Specifies the axis name where the field currently exists.
     */
    axis?: string;
    /**
     * Specifies the position of the field in the axis.
     */
    position?: number;
}
//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 */
    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): void;
    private static getTableCellData;
    static frameMDXQuery(rowQuery: string, columnQuery: string, slicerQuery: string, filterQuery: string, caclQuery: string, refPaging?: boolean): string;
    private static getPagingQuery;
    private static getPagingCountQuery;
    static getDimensionsQuery(dimensions: IFieldOptions[], measureQuery: string, axis: string, drillInfo?: IDrilledItem): string;
    private static getAttributeDrillQuery;
    static getDimensionPos(axis: string, field: string): number;
    static getMeasurePos(axis: string): number;
    private static getDrillLevel;
    private static getHierarchyQuery;
    private static isAttributeMemberExist;
    private static getDrillQuery;
    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/olap/engine.d.ts
/**
 * OlapEngine is used to manipulate the olap or Multi-Dimensional data as pivoting values.
 */
/** @hidden */
export  class OlapEngine {
    /** @hidden */
    isEmptyData: boolean;
    /** @hidden */
    globalize: base.Internationalization;
    /** @hidden */
    fieldList: IOlapFieldListOptions;
    /** @hidden */
    fields: string[];
    /** @hidden */
    rows: IFieldOptions[];
    /** @hidden */
    columns: IFieldOptions[];
    /** @hidden */
    values: IFieldOptions[];
    /** @hidden */
    filters: IFieldOptions[];
    /** @hidden */
    calculatedFieldSettings: ICalculatedFieldSettings[];
    /** @hidden */
    isMutiMeasures: boolean;
    /** @hidden */
    drilledMembers: IDrillOptions[];
    /** @hidden */
    valueSortSettings: IValueSortSettings;
    /** @hidden */
    isEngineUpdated: boolean;
    /** @hidden */
    savedFieldList: IOlapFieldListOptions;
    /** @hidden */
    savedFieldListData: IOlapField[];
    /** @hidden */
    valueAxis: string;
    /** @hidden */
    columnCount: number;
    /** @hidden */
    rowCount: number;
    /** @hidden */
    colFirstLvl: number;
    /** @hidden */
    rowFirstLvl: number;
    /** @hidden */
    pageColStartPos: number;
    /** @hidden */
    enableSort: boolean;
    /** @hidden */
    enableValueSorting: boolean;
    /** @hidden */
    isHeaderAvail: boolean;
    /** @hidden */
    fieldListData: IOlapField[];
    /** @hidden */
    fieldListObj: FieldData;
    /** @hidden */
    dataFields: {
        [key: string]: IFieldOptions;
    };
    /** @hidden */
    formats: IFormatSettings[];
    /** @hidden */
    formatFields: {
        [key: string]: IFormatSettings;
    };
    /** @hidden */
    emptyCellTextContent: string;
    /** @hidden */
    isMondrian: boolean;
    /** @hidden */
    olapValueAxis: string;
    /** @hidden */
    isMeasureAvail: boolean;
    /** @hidden */
    selectedItems: string[];
    /** @hidden */
    filterSettings: IFilter[];
    /** @hidden */
    sortSettings: ISort[];
    /** @hidden */
    filterMembers: {
        [key: string]: string[] | IFilter[];
    };
    /** @hidden */
    allowMemberFilter: boolean;
    /** @hidden */
    allowLabelFilter: boolean;
    /** @hidden */
    allowValueFilter: boolean;
    /** @hidden */
    mdxQuery: string;
    /** @hidden */
    isPaging: boolean;
    /** @hidden */
    exportSpeciedPages: ExportPageSize;
    /** @hidden */
    pageSettings: IPageSettings;
    /** @hidden */
    calcChildMembers: IOlapField[];
    /** @hidden */
    drilledSets: {
        [key: string]: HTMLElement;
    };
    /** @hidden */
    olapVirtualization: boolean;
    /** @hidden */
    isExporting: boolean;
    /** @hidden */
    measureIndex: number;
    private measurePosition;
    private showSubTotalsAtTop;
    private showSubTotalsAtBottom;
    aggregatedValueMatrix: IMatrix2D;
    private localeObj;
    private measureReportItems;
    private locale;
    private olapRowValueIndex;
    private mappingFields;
    private formatRegex;
    private clonedValTuple;
    private clonedColumnTuple;
    private clonedRowTuple;
    /** @hidden */
    xmlaCellSet: NodeListOf<Element>;
    /** @hidden */
    pivotValues: IAxisSet[][];
    /** @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;
        };
    };
    /** @hidden */
    errorInfo: string | Error;
    /** @hidden */
    colDepth: number;
    private totalCollection;
    private parentObjCollection;
    private colMeasures;
    private curDrillEndPos;
    private headerGrouping;
    private lastLevel;
    private xmlDoc;
    private request;
    private customArgs;
    private onDemandDrillEngine;
    private showRowSubTotals;
    private showColumnSubTotals;
    private hideRowTotalsObject;
    private hideColumnTotalsObject;
    private sortObject;
    private isColDrill;
    private getHeaderSortInfo;
    renderEngine(dataSourceSettings?: IDataOptions, customProperties?: IOlapCustomProperties, onHeadersSort?: Function): void;
    generateGridData(dataSourceSettings: IDataOptions, action?: string): void;
    generatePagingData(xmlDoc: Document, request: base.Ajax, customArgs: FieldData): void;
    scrollPage(): void;
    private getVirtualScrollingData;
    private getAxisdepth;
    private getVirtualTotals;
    private getVirtualValues;
    generateEngine(xmlDoc: Document, request: base.Ajax, customArgs: FieldData): void;
    private getDrillInfo;
    private getActualTuples;
    private clearEngineProperties;
    private performEngine;
    private getValueSortInfo;
    private getParentElement;
    private reArrangeHeaders;
    private getSubTotalsVisibility;
    private frameRowHeader;
    private insertRowSubTotal;
    private insertRowGrandTotal;
    private frameGrandTotalAxisSet;
    private getDepth;
    private checkAttributeDrill;
    private frameTupCollection;
    private getCaptionCollectionWithMeasure;
    /**
     * It performs the set named sets position.
     *
     * @returns {void}
     * @hidden
     */
    setNamedSetsPosition(): void;
    private updateRowEngine;
    private updateTupCollection;
    private frameGrandTotalValues;
    private frameColumnHeader;
    private orderTotals;
    private setParentCollection;
    private setDrillInfo;
    private levelCompare;
    private mergeTotCollection;
    private getLevelsAsString;
    private frameCommonColumnLoop;
    private isAttributeDrill;
    private isAdjacentToMeasure;
    private getDrilledParent;
    private performRowSorting;
    private performColumnSorting;
    private frameUniqueName;
    private getMeasurePosition;
    private sortRowHeaders;
    private sortColumnHeaders;
    private applyCustomSort;
    private frameSortObject;
    private getParentUname;
    private performColumnSpanning;
    private getOrdinal;
    private frameValues;
    /**
     * It performs to returns the formatted value.
     *
     * @param {number} value - It Defines the value of formatting data.
     * @param {string} fieldName - It contains the value of the field name.
     * @param {string} formattedText - It contains the value of the formatted text.
     * @returns {string} - It returns formatted Value as string.
     * @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, isValueSort?: boolean): void;
    private updateFieldlist;
    updateFieldlistData(name: string, isSelect?: boolean): void;
    /**
     * It used to set format a field.
     *
     * @param {IFormatSettings[]} formats - It cotains the formatSettings.
     * @returns {void}
     * @hidden
     */
    getFormattedFields(formats: IFormatSettings[]): void;
    private getCubes;
    private validateCube;
    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[];
    /**
     * It performs to returns the drill through data.
     *
     * @param {IAxisSet} pivotValue - It cotains the pivotValues data.
     * @param {number} maxRows - It cotains the maximum number of row data.
     * @returns {void}
     * @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, filterItemName?: string): void;
    private getOlapFilterText;
    getChildMembers(dataSourceSettings: IDataOptions, memberUQName: string, fieldName: string): void;
    getCalcChildMembers(dataSourceSettings: IDataOptions, memberUQName: string): void;
    getSearchMembers(dataSourceSettings: IDataOptions, fieldName: string, searchString: string, maxNodeLimit: number, isAllFilterData?: boolean, levelCount?: number): void;
    private generateMembers;
    private getFieldListItems;
    private loadCalculatedMemberElements;
    private loadDimensionElements;
    private loadNamedSetElements;
    private loadHierarchyElements;
    private updateMembersOrder;
    private loadLevelElements;
    private loadMeasureElements;
    private loadMeasureGroups;
    doAjaxPost(type: string, url: string, data: string, success: Function, customArgs?: Object): void;
    private beforeSend;
    private getSoapMsg;
    getConnectionInfo(connectionString: string, locale: string | number): ConnectionInfo;
    getMDXQuery(dataSourceSettings: IDataOptions): string;
}
/**
 * @hidden
 */
export interface IOlapFieldListOptions {
    [index: string]: IOlapField;
}
/**
 * @hidden
 */
export interface IOlapField extends IField {
    pid?: string;
    tag?: string;
    hasChildren?: boolean;
    expanded?: boolean;
    spriteCssClass?: string;
    name?: string;
    defaultHierarchy?: string;
    hasAllMember?: boolean;
    allMember?: string;
    isChecked?: boolean;
    filterMembers?: IOlapField[];
    childMembers?: IOlapField[];
    searchMembers?: IOlapField[];
    htmlAttributes?: {
        [key: string]: string;
    };
    currrentMembers?: IMembers;
    isHierarchy?: boolean;
    isNamedSets?: boolean;
    formatString?: string;
    actualFilter?: string[];
    levels?: IOlapField[];
    levelCount?: number;
    memberType?: number;
    fieldType?: string;
    parentHierarchy?: string;
}
/**
 * @hidden
 */
export interface ConnectionInfo {
    url?: string;
    LCID?: string;
    catalog?: string;
    cube?: string;
    request?: string;
    roles?: string;
}
/**
 * @hidden
 */
export interface FieldData {
    hierarchy?: IOlapField[];
    hierarchySuccess?: Document;
    measures?: IFieldOptions[];
    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[];
}
/** @hidden */
export interface VirtualScrollingData {
    columnTuple: Element[];
    rowTuple: Element[];
    valueTuple: Element[];
    isCalculated: boolean;
}
/** @hidden */
export interface VirtualTotals {
    totalsCollection: Element[];
    indexCollection: number[];
}
/** @hidden */
export interface ValueSortInfo {
    memberIndex: number;
    columnLength: number;
    rowLength: number;
    isValueSorting: boolean;
}
 }
export namespace popups { 

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

//node_modules/@syncfusion/ej2-progressbar/src/progressbar/progressbar.d.ts
/**
 *  progress bar control
 */
export  class ProgressBar extends base.Component<HTMLElement> implements base.INotifyPropertyChanged {
    constructor(options?: ProgressBarModel, element?: string | HTMLElement);
    /**
     * type of the progress bar
     *
     * @default Linear
     */
    type: ProgressType;
    /**
     * progress value
     *
     * @default null
     */
    value: number;
    /**
     * secondary progress value
     *
     * @default null
     */
    secondaryProgress: number;
    /**
     * Defines color for the secondary progress bar. By default, it takes the primary progress bar color with half of the opacity.
     *
     * @default ''
     */
    secondaryProgressColor: string;
    /**
     * Defines thickness for the secondary progress bar. By default, it takes the primary progress bar thickness.
     *
     * @default null
     */
    secondaryProgressThickness: number;
    /**
     * minimum progress value
     *
     * @default 0
     */
    minimum: number;
    /**
     * maximum progress value
     *
     * @default 100
     */
    maximum: number;
    /**
     * startAngle for circular progress bar
     *
     * @default 0
     */
    startAngle: number;
    /**
     * endAngle for circular progress bar
     *
     * @default 0
     */
    endAngle: number;
    /**
     * track radius for circular
     *
     * @default '100%'
     */
    radius: string;
    /**
     * progress radius for circular
     *
     * @default '100%'
     */
    innerRadius: string;
    /**
     * segmentCount of the progress bar
     *
     * @default 1
     */
    segmentCount: number;
    /**
     * gapwidth of the segment
     *
     * @default null
     */
    gapWidth: number;
    /**
     * Segment color
     *
     * @default null
     */
    segmentColor: string[];
    /**
     * corner type
     *
     * @default Auto
     */
    cornerRadius: CornerType;
    /**
     * height of the progress bar
     *
     * @default null
     */
    height: string;
    /**
     * width of the progress bar
     *
     * @default null
     */
    width: string;
    /**
     * Indeterminate progress
     *
     * @default false
     */
    isIndeterminate: boolean;
    /**
     * Active state
     *
     * @default false
     */
    isActive: boolean;
    /**
     * gradient
     *
     * @default false
     */
    isGradient: boolean;
    /**
     * striped
     *
     * @default false
     */
    isStriped: boolean;
    /**
     * modes of linear progress
     *
     * @default null
     */
    role: ModeType;
    /**
     * right to left
     *
     * @default false
     */
    enableRtl: boolean;
    /**
     * labelOnTrack
     *
     * @default true
     */
    labelOnTrack: boolean;
    /**
     * trackColor
     *
     * @default null
     */
    trackColor: string;
    /**
     * progressColor
     *
     * @default null
     */
    progressColor: string;
    /**
     * track thickness
     *
     * @default 0
     */
    trackThickness: number;
    /**
     * progress thickness
     *
     * @default 0
     */
    progressThickness: number;
    /**
     * pie view
     *
     * @default false
     */
    enablePieProgress: boolean;
    /**
     * theme style
     *
     * @default Fabric
     */
    theme: ProgressTheme;
    /**
     * label of the progress bar
     *
     * @default false
     */
    showProgressValue: boolean;
    /**
     * disable the trackSegment
     *
     * @default false
     */
    enableProgressSegments: boolean;
    /**
     * Option for customizing the  label text.
     */
    labelStyle: FontModel;
    /**
     * margin size
     */
    margin: MarginModel;
    /**
     * Animation for the progress bar
     */
    animation: AnimationModel;
    /**
     * Options for customizing the tooltip of progressbar.
     */
    tooltip: TooltipSettingsModel;
    /**
     * Triggers before the progress bar get rendered.
     *
     * @event load
     */
    load: base.EmitType<ILoadedEventArgs>;
    /**
     * Triggers before the progress bar label renders.
     *
     * @event textRender
     */
    textRender: base.EmitType<ITextRenderEventArgs>;
    /**
     * Triggers after the progress bar has loaded.
     *
     * @event loaded
     */
    loaded: base.EmitType<ILoadedEventArgs>;
    /**
     * Triggers after the value has changed.
     *
     * @event valueChanged
     */
    valueChanged: base.EmitType<IProgressValueEventArgs>;
    /**
     * Triggers after the progress value completed.
     *
     * @event progressCompleted
     */
    progressCompleted: base.EmitType<IProgressValueEventArgs>;
    /**
     * Triggers after the animation completed.
     *
     * @event animationComplete
     */
    animationComplete: base.EmitType<IProgressValueEventArgs>;
    /**
     * Trigger after mouse click
     *
     * @event mouseClick
     */
    mouseClick: base.EmitType<IMouseEventArgs>;
    /**
     * Trigger after mouse move
     *
     * @event mouseMove
     */
    mouseMove: base.EmitType<IMouseEventArgs>;
    /**
     * Trigger after mouse up
     *
     * @event mouseUp
     */
    mouseUp: base.EmitType<IMouseEventArgs>;
    /**
     * Trigger after mouse down
     *
     * @event mouseDown
     */
    mouseDown: base.EmitType<IMouseEventArgs>;
    /**
     * Trigger after mouse down
     *
     * @event mouseLeave
     */
    mouseLeave: base.EmitType<IMouseEventArgs>;
    /**
     * Triggers before the tooltip for series is rendered.
     *
     * @event tooltipRender
     */
    tooltipRender: base.EmitType<ITooltipRenderEventArgs>;
    /**
     * The configuration for annotation in Progressbar.
     */
    annotations: ProgressAnnotationSettingsModel[];
    /**
     * RangeColor in Progressbar.
     */
    rangeColors: RangeColorModel[];
    /** @private */
    progressRect: Rect;
    /** @private */
    progressSize: Size;
    /** @private */
    renderer: svgBase.SvgRenderer;
    /** @private */
    svgObject: Element;
    /** @private */
    totalAngle: number;
    /** @private */
    trackWidth: number;
    /** @private */
    progressWidth: number;
    /** @private */
    segmentSize: string;
    /** @private */
    circularPath: string;
    /** @private */
    argsData: IProgressValueEventArgs;
    /** @private */
    themeStyle: IProgressStyle;
    /** @private */
    animatedElement: Element;
    /** @private */
    resizeBounds: any;
    /** @private */
    private resizeTo;
    /** @private */
    previousWidth: number;
    /** @private */
    previousLabelWidth: number;
    /** @private */
    previousEndAngle: number;
    /** @private */
    previousTotalEnd: number;
    /** @private */
    annotateEnd: number;
    /** @private */
    annotateTotal: number;
    /** @private */
    redraw: boolean;
    /** @private */
    clipPath: Element;
    /** @private */
    bufferClipPath: Element;
    /** @private */
    secElement: HTMLElement;
    /** @private */
    cancelResize: boolean;
    /** @private */
    linear: Linear;
    /** @private */
    circular: Circular;
    /** @private */
    annotateAnimation: ProgressAnimation;
    /** ProgressAnnotation module to use annotations */
    progressAnnotationModule: ProgressAnnotation;
    /** @private */
    /** @private */
    destroyIndeterminate: boolean;
    /** @private */
    tooltipElement: HTMLElement;
    /** @private */
    mouseX: number;
    /** @private */
    mouseY: number;
    /** @private */
    scaleX: number;
    /** @private */
    scaleY: number;
    /** ProgressTooltip module to use tooltip */
    progressTooltipModule: ProgressTooltip;
    /** @private */
    initialClipRect: Rect;
    /**
     * controlRenderedTimeStamp used to avoid inital resize issue while theme change
     */
    private controlRenderedTimeStamp;
    getModuleName(): string;
    protected preRender(): void;
    private initPrivateVariable;
    protected render(): void;
    private controlRendering;
    /**
     * calculate size of the progress bar.
     *
     * @returns {void}
     */
    private calculateProgressBarSize;
    /**
     * Render Annotation in progress bar.
     *
     * @returns {void}
     */
    private renderAnnotations;
    /**
     * Render SVG Element.
     *
     * @returns {void}
     */
    private renderElements;
    private createSecondaryElement;
    /**
     * To set the left and top position for annotation for center aligned.
     *
     * @returns {void}
     */
    private setSecondaryElementPosition;
    private createSVG;
    private clipPathElement;
    private renderTrack;
    private renderProgress;
    private renderLabel;
    getPathLine(x: number, width: number, thickness: number): string;
    calculateProgressRange(value: number, minimum?: number, maximum?: number): number;
    calculateSegmentSize(width: number, thickness: number): string;
    createClipPath(clipPath?: Element, range?: number, d?: string, refresh?: boolean, thickness?: number, isLabel?: boolean, isMaximum?: boolean): Element;
    /**
     * Theming for progress bar.
     *
     * @returns {void}
     */
    private setTheme;
    /**
     * Annotation for progress bar.
     *
     * @returns {void}
     */
    private renderAnnotation;
    /**
     * Handles the progressbar resize.
     *
     * @returns {boolean} false
     * @private
     */
    private progressResize;
    private progressMouseClick;
    private progressMouseDown;
    private progressMouseMove;
    private progressMouseUp;
    private progressMouseLeave;
    private mouseEvent;
    /**
     * Method to un-bind events for progress bar.
     *
     * @returns {void}
     */
    private unWireEvents;
    /**
     * Method to bind events for bullet chart.
     *
     * @returns {void}
     */
    private wireEvents;
    removeSvg(): void;
    onPropertyChanged(newProp: ProgressBarModel, oldProp: ProgressBarModel): void;
    requiredModules(): base.ModuleDeclaration[];
    getPersistData(): string;
    show(): void;
    hide(): void;
    /**
     * To destroy the widget.
     *
     * @returns {void}
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-progressbar/src/progressbar/progressbar-model.d.ts
/**
 * Interface for a class ProgressBar
 */
export interface ProgressBarModel extends base.ComponentModel{
    /**
     * type of the progress bar
     *
     * @default Linear
     */
    type?: ProgressType;
    /**
     * progress value
     *
     * @default null
     */
    value?: number;
    /**
     * secondary progress value
     *
     * @default null
     */
    secondaryProgress?: number;
    /**
     * Defines color for the secondary progress bar. By default, it takes the primary progress bar color with half of the opacity.
     *
     * @default ''
     */
    secondaryProgressColor?: string;
    /**
     * Defines thickness for the secondary progress bar. By default, it takes the primary progress bar thickness.
     *
     * @default null
     */
    secondaryProgressThickness?: number;
    /**
     * minimum progress value
     *
     * @default 0
     */
    minimum?: number;
    /**
     * maximum progress value
     *
     * @default 100
     */
    maximum?: number;
    /**
     * startAngle for circular progress bar
     *
     * @default 0
     */
    startAngle?: number;
    /**
     * endAngle for circular progress bar
     *
     * @default 0
     */
    endAngle?: number;
    /**
     * track radius for circular
     *
     * @default '100%'
     */
    radius?: string;
    /**
     * progress radius for circular
     *
     * @default '100%'
     */
    innerRadius?: string;
    /**
     * segmentCount of the progress bar
     *
     * @default 1
     */
    segmentCount?: number;
    /**
     * gapwidth of the segment
     *
     * @default null
     */
    gapWidth?: number;
    /**
     * Segment color
     *
     * @default null
     */
    segmentColor?: string[];
    /**
     * corner type
     *
     * @default Auto
     */
    cornerRadius?: CornerType;
    /**
     * height of the progress bar
     *
     * @default null
     */
    height?: string;
    /**
     * width of the progress bar
     *
     * @default null
     */
    width?: string;
    /**
     * Indeterminate progress
     *
     * @default false
     */
    isIndeterminate?: boolean;
    /**
     * Active state
     *
     * @default false
     */
    isActive?: boolean;
    /**
     * gradient
     *
     * @default false
     */
    isGradient?: boolean;
    /**
     * striped
     *
     * @default false
     */
    isStriped?: boolean;
    /**
     * modes of linear progress
     *
     * @default null
     */
    role?: ModeType;
    /**
     * right to left
     *
     * @default false
     */
    enableRtl?: boolean;
    /**
     * labelOnTrack
     *
     * @default true
     */
    labelOnTrack?: boolean;
    /**
     * trackColor
     *
     * @default null
     */
    trackColor?: string;
    /**
     * progressColor
     *
     * @default null
     */
    progressColor?: string;
    /**
     * track thickness
     *
     * @default 0
     */
    trackThickness?: number;
    /**
     * progress thickness
     *
     * @default 0
     */
    progressThickness?: number;
    /**
     * pie view
     *
     * @default false
     */
    enablePieProgress?: boolean;
    /**
     * theme style
     *
     * @default Fabric
     */
    theme?: ProgressTheme;
    /**
     * label of the progress bar
     *
     * @default false
     */
    showProgressValue?: boolean;
    /**
     * disable the trackSegment
     *
     * @default false
     */
    enableProgressSegments?: boolean;
    /**
     * Option for customizing the  label text.
     */
    labelStyle?: FontModel;
    /**
     * margin size
     */
    margin?: MarginModel;
    /**
     * Animation for the progress bar
     */
    animation?: AnimationModel;
    /**
     * Options for customizing the tooltip of progressbar.
     */
    tooltip?: TooltipSettingsModel;
    /**
     * Triggers before the progress bar get rendered.
     *
     * @event load
     */
    load?: base.EmitType<ILoadedEventArgs>;
    /**
     * Triggers before the progress bar label renders.
     *
     * @event textRender
     */
    textRender?: base.EmitType<ITextRenderEventArgs>;
    /**
     * Triggers after the progress bar has loaded.
     *
     * @event loaded
     */
    loaded?: base.EmitType<ILoadedEventArgs>;
    /**
     * Triggers after the value has changed.
     *
     * @event valueChanged
     */
    valueChanged?: base.EmitType<IProgressValueEventArgs>;
    /**
     * Triggers after the progress value completed.
     *
     * @event progressCompleted
     */
    progressCompleted?: base.EmitType<IProgressValueEventArgs>;
    /**
     * Triggers after the animation completed.
     *
     * @event animationComplete
     */
    animationComplete?: base.EmitType<IProgressValueEventArgs>;
    /**
     * Trigger after mouse click
     *
     * @event mouseClick
     */
    mouseClick?: base.EmitType<IMouseEventArgs>;
    /**
     * Trigger after mouse move
     *
     * @event mouseMove
     */
    mouseMove?: base.EmitType<IMouseEventArgs>;
    /**
     * Trigger after mouse up
     *
     * @event mouseUp
     */
    mouseUp?: base.EmitType<IMouseEventArgs>;
    /**
     * Trigger after mouse down
     *
     * @event mouseDown
     */
    mouseDown?: base.EmitType<IMouseEventArgs>;
    /**
     * Trigger after mouse down
     *
     * @event mouseLeave
     */
    mouseLeave?: base.EmitType<IMouseEventArgs>;
    /**
     * Triggers before the tooltip for series is rendered.
     *
     * @event tooltipRender
     */
    tooltipRender?: base.EmitType<ITooltipRenderEventArgs>;
    /**
     * The configuration for annotation in Progressbar.
     */
    annotations?: ProgressAnnotationSettingsModel[];
    /**
     * RangeColor in Progressbar.
     */
    rangeColors?: RangeColorModel[];
}
//node_modules/@syncfusion/ej2-progressbar/src/progressbar/utils/theme.d.ts
/**
 * Theme of the progressbar
 */
/**
 * Retrieves the theme color settings for a progress bar.
 *
 * @param {ProgressTheme} theme - The theme of the progress bar.
 * @returns {IProgressStyle} - The style settings for the progress bar based on the theme.
 * @private
 */
export  function getProgressThemeColor(theme: ProgressTheme): IProgressStyle;
//node_modules/@syncfusion/ej2-progressbar/src/progressbar/utils/progress-animation.d.ts
/**
 * Animation for progress bar
 */
export  class ProgressAnimation {
    /**
     * Performs linear animation on the specified element.
     *
     * @param {Element} element - The HTML element to animate.
     * @param {ProgressBar} progress - The progress bar control.
     * @param {number} delay - The delay before starting the animation, in milliseconds.
     * @param {number} previousWidth - The previous width of the progress.
     * @param {Element} active - The active element to control the animation.
     * @returns {void}
     */
    doLinearAnimation(element: Element, progress: ProgressBar, delay: number, previousWidth?: number, active?: Element): void;
    /**
     * Initiates linear animation for an indeterminate progress bar.
     *
     * @param {Element} element - The HTML element representing the progress bar.
     * @param {number} progressWidth - The width of the progress bar.
     * @param {number} thickness - The thickness of the progress bar.
     * @param {ProgressBar} progress - The progress bar control.
     * @param {Element} clipPath - The SVG clip path element to control the animation.
     * @returns {void}
     */
    doLinearIndeterminate(element: Element, progressWidth: number, thickness: number, progress: ProgressBar, clipPath: Element): void;
    /**
     * Performs striped animation on the specified element.
     *
     * @param {Element} element - The HTML element to animate.
     * @param {ProgressBar} progress - The progress bar object.
     * @param {number} value - The value indicating the progress of the animation.
     * @returns {void}
     */
    doStripedAnimation(element: Element, progress: ProgressBar, value: number): void;
    /**
     * Initiates circular animation on the specified element.
     *
     * @param {number} x - The x-coordinate of the center of the circle.
     * @param {number} y - The y-coordinate of the center of the circle.
     * @param {number} radius - The radius of the circle.
     * @param {number} progressEnd - The end value of the progress.
     * @param {number} totalEnd - The total end value of the progress.
     * @param {Element} element - The HTML element representing the circular progress.
     * @param {ProgressBar} progress - The progress bar control.
     * @param {number} thickness - The thickness of the circular progress.
     * @param {number} delay - The delay before starting the animation, in milliseconds.
     * @param {number} startValue - The starting value of the progress.
     * @param {number} previousTotal - The previous total value of the progress.
     * @param {Element} active - The active element to control the animation.
     * @returns {void}
     */
    doCircularAnimation(x: number, y: number, radius: number, progressEnd: number, totalEnd: number, element: Element, progress: ProgressBar, thickness: number, delay: number, startValue?: number, previousTotal?: number, active?: Element): void;
    /**
     * Initiates circular animation for an indeterminate progress bar.
     *
     * @param {Element} circularProgress - The HTML element representing the circular progress bar.
     * @param {ProgressBar} progress - The progress bar object.
     * @param {number} start - The starting value of the progress.
     * @param {number} end - The ending value of the progress.
     * @param {number} x - The x-coordinate of the center of the circle.
     * @param {number} y - The y-coordinate of the center of the circle.
     * @param {number} radius - The radius of the circle.
     * @param {number} thickness - The thickness of the circular progress bar.
     * @param {Element} clipPath - The SVG clip path element to control the animation.
     * @returns {void}
     */
    doCircularIndeterminate(circularProgress: Element, progress: ProgressBar, start: number, end: number, x: number, y: number, radius: number, thickness: number, clipPath: Element): void;
    /**
     * Initiates label animation for a progress bar.
     *
     * @param {Element} labelPath - The SVG path element representing the label.
     * @param {number} start - The starting value of the progress.
     * @param {number} end - The ending value of the progress.
     * @param {ProgressBar} progress - The progress bar control.
     * @param {number} delay - The delay before starting the animation, in milliseconds.
     * @param {number} textSize - The size of the text.
     * @returns {void}
     */
    doLabelAnimation(labelPath: Element, start: number, end: number, progress: ProgressBar, delay: number, textSize?: number): void;
    /**
     * Initiates annotation animation for a circular progress bar.
     *
     * @param {Element} circularPath - The SVG path element representing the circular progress bar.
     * @param {ProgressBar} progress - The progress bar object.
     * @param {number} previousEnd - The previous end value of the progress.
     * @param {number} previousTotal - The previous total value of the progress.
     * @returns {void}
     */
    doAnnotationAnimation(circularPath: Element, progress: ProgressBar, previousEnd?: number, previousTotal?: number): void;
    private activeAnimate;
}
//node_modules/@syncfusion/ej2-progressbar/src/progressbar/utils/helper.d.ts
/**
 * helper for progress bar
 */
/** @private */
export  class Rect {
    x: number;
    y: number;
    height: number;
    width: number;
    constructor(x: number, y: number, height: number, width: number);
}
/** @private */
export  class Size {
    height: number;
    width: number;
    constructor(height: number, width: number);
}
/** @private */
export  class Pos {
    x: number;
    y: number;
    constructor(x: number, y: number);
}
/** @private */
export  class RectOption extends svgBase.PathOption {
    x: number;
    y: number;
    height: number;
    width: number;
    rx: number;
    ry: number;
    transform: string;
    constructor(id: string, fill: string, width: number, color: string, opacity: number, rect: Rect, rx?: number, ry?: number, transform?: string, dashArray?: string);
}
/** @private */
export  class ColorValue {
    r: number;
    g: number;
    b: number;
    constructor(r?: number, g?: number, b?: number);
}
/**
 * Converts a color value to its hexadecimal representation.
 *
 * @param {ColorValue} value - The color value to convert.
 * @returns {string} - The hexadecimal representation of the color.
 * @private
 */
export  function convertToHexCode(value: ColorValue): string;
/**
 * Converts a color component value to its hexadecimal representation.
 *
 * @param {number} value - The color component value to convert.
 * @returns {string} - The hexadecimal representation of the color component.
 * @private
 */
export  function componentToHex(value: number): string;
/**
 * Converts a hexadecimal color code to a ColorValue.
 *
 * @param {string} hex - The hexadecimal color code to convert.
 * @returns {ColorValue} - The ColorValue representing the color.
 * @private
 */
export  function convertHexToColor(hex: string): ColorValue;
/**
 * Converts a color name to its corresponding hexadecimal representation.
 *
 * @param {string} color - The color name to convert.
 * @returns {string} - The hexadecimal representation of the color.
 * @private
 */
export  function colorNameToHex(color: string): string;
/** @private */
export  class TextOption {
    id: string;
    ['font-size']: string;
    ['font-style']: string;
    ['font-family']: string;
    ['font-weight']: string;
    ['text-anchor']: string;
    fill: string;
    x: number;
    y: number;
    width: number;
    height: number;
    constructor(id: string, fontSize: string, fontStyle: string, fontFamily: string, fontWeight: string, textAnchor: string, fill: string, x: number, y: number, width?: number, height?: number);
}
/**
 * Converts polar coordinates (angle in degrees) to Cartesian coordinates.
 *
 * @param {number} centerX - The x-coordinate of the center point.
 * @param {number} centerY - The y-coordinate of the center point.
 * @param {number} radius - The radius from the center point.
 * @param {number} angleInDegrees - The angle in degrees.
 * @returns {Pos} - The Cartesian coordinates (x, y) corresponding to the given polar coordinates.
 */
export  function degreeToLocation(centerX: number, centerY: number, radius: number, angleInDegrees: number): Pos;
/**
 * Generates an SVG path arc string based on given parameters.
 *
 * @param {number} x - The x-coordinate of the center of the arc.
 * @param {number} y - The y-coordinate of the center of the arc.
 * @param {number} radius - The radius of the arc.
 * @param {number} startAngle - The start angle of the arc in degrees.
 * @param {number} endAngle - The end angle of the arc in degrees.
 * @param {boolean} enableRtl - Indicates whether the drawing direction is right-to-left.
 * @param {boolean} pieView - Indicates whether the arc should be drawn as a pie slice.
 * @returns {string} - The SVG path arc string representing the arc.
 */
export  function getPathArc(x: number, y: number, radius: number, startAngle: number, endAngle: number, enableRtl: boolean, pieView?: boolean): string;
/**
 * Converts a string value to a number, considering the container size.
 *
 * @param {string} value - The string value to convert to a number.
 * @param {number} containerSize - The size of the container to consider for relative values.
 * @returns {number} - The converted number value.
 * @private
 */
export  function stringToNumber(value: string, containerSize: number): number;
/**
 * Sets attributes on an HTML element based on the provided options.
 *
 * @param {any} options - The options object containing attributes to set.
 * @param {Element} element - The HTML element to set attributes on.
 * @returns {Element} - The modified HTML element.
 * @private
 */
export  function setAttributes(options: any, element: Element): Element;
/**
 * Calculates the effect value at a given time based on the start and end values, duration, and direction.
 *
 * @param {number} currentTime - The current time in milliseconds.
 * @param {number} startValue - The start value of the effect.
 * @param {number} endValue - The end value of the effect.
 * @param {number} duration - The duration of the effect in milliseconds.
 * @param {boolean} enableRtl - Indicates whether the effect direction is right-to-left.
 * @returns {number} - The calculated effect value at the given time.
 * @private
 */
export  function effect(currentTime: number, startValue: number, endValue: number, duration: number, enableRtl: boolean): number;
/**
 * @private
 */
export  const annotationRender: string;
/**
 * Retrieves an HTML element from the DOM by its ID.
 *
 * @param {string} id - The ID of the HTML element to retrieve.
 * @returns {Element} - The HTML element with the specified ID.
 * @private
 */
export  function getElement(id: string): Element;
/**
 * Removes an HTML element from the DOM.
 *
 * @param {string | Element} id - The ID of the HTML element or the element itself to remove.
 *                                If provided as a string, it's assumed to be the ID of the element.
 * @returns {void}
 * @private
 */
export  function removeElement(id: string | Element): void;
/**
 * @private
 */
export  class ProgressLocation {
    x: number;
    y: number;
    constructor(x: number, y: number);
}
//node_modules/@syncfusion/ej2-progressbar/src/progressbar/utils/enum.d.ts
/**
 * progress bar type
 */
export  type ProgressType = 
/** linear */
'Linear' | 
/** circular */
'Circular';
/**
 * Corner type
 */
export  type CornerType = 
/** Auto will change based on theme */
'Auto' | 
/** square */
'Square' | 
/** Round */
'Round' | 
/** Round4px */
'Round4px';
/**
 * theme
 */
export  type ProgressTheme = 
/** Material */
'Material' | 
/** Fabric */
'Fabric' | 
/** Bootstrap */
'Bootstrap' | 
/** Bootstrap4 */
'Bootstrap4' | 
/** HighContrast */
'HighContrast' | 
/** Tailwind */
'Tailwind' | 
/** TailwindDark */
'TailwindDark' | 
/** Tailwind3 */
'Tailwind3' | 
/** Tailwind3Dark */
'Tailwind3Dark' | 
/** FabricDark */
'FabricDark' | 
/** BootstrapDark */
'BootstrapDark' | 
/** MaterialDark */
'MaterialDark' | 
/** Bootstrap5 */
'Bootstrap5' | 
/** Bootstrap5Dark */
'Bootstrap5Dark' | 
/** Fluent */
'Fluent' | 
/** FluentDark */
'FluentDark' | 
/** Fluent2 */
'Fluent2' | 
/** Fluent2Dark */
'Fluent2Dark' | 
/** Fluent2HighContrast */
'Fluent2HighContrast' | 
/** Material 3 */
'Material3' | 
/** Material 3 dark */
'Material3Dark';
/**
 * Text alignment
 */
export  type TextAlignmentType = 
/** Near */
'Near' | 
/** Center */
'Center' | 
/** Far */
'Far';
/**
 * Linear modes
 */
export  type ModeType = 'Auto' | 'Success' | 'Info' | 'Danger' | 'Warning';
//node_modules/@syncfusion/ej2-progressbar/src/progressbar/types/segment-progress.d.ts
/**
 * Progressbar Segment
 */
export  class Segment {
    /**
     * Creates a linear segment element for the progress bar.
     *
     * @param {ProgressBar} progress - The progress bar control.
     * @param {string} id - The id of the segment element.
     * @param {number} width - The width of the segment.
     * @param {number} opacity - The opacity of the segment.
     * @param {number} thickness - The thickness of the segment.
     * @param {number} progressWidth - The width of the progress.
     * @returns {Element} - The created linear segment element.
     */
    createLinearSegment(progress: ProgressBar, id: string, width: number, opacity: number, thickness: number, progressWidth: number): Element;
    private getLinearSegmentPath;
    /**
     * Creates a circular segment element for the progress bar.
     *
     * @param {ProgressBar} progress - The progress bar control.
     * @param {string} id - The id of the segment element.
     * @param {number} x - The x-coordinate of the center of the circle.
     * @param {number} y - The y-coordinate of the center of the circle.
     * @param {number} r - The radius of the circle.
     * @param {number} value - The value determining the angle of the segment.
     * @param {number} opacity - The opacity of the segment.
     * @param {number} thickness - The thickness of the segment.
     * @param {number} totalAngle - The total angle covered by the progress.
     * @param {number} progressWidth - The width of the progress.
     * @returns {Element} - The created circular segment element.
     */
    createCircularSegment(progress: ProgressBar, id: string, x: number, y: number, r: number, value: number, opacity: number, thickness: number, totalAngle: number, progressWidth: number): Element;
    private widthToAngle;
    createLinearRange(totalWidth: number, progress: ProgressBar, progressWidth: number): Element;
    createCircularRange(centerX: number, centerY: number, radius: number, progress: ProgressBar): Element;
    private setLinearGradientColor;
    private setCircularGradientColor;
}
//node_modules/@syncfusion/ej2-progressbar/src/progressbar/types/linear-progress.d.ts
/**
 * Progress Bar of type Linear
 */
export  class Linear {
    private progress;
    delay: number;
    private segment;
    private animation;
    private isRange;
    linearProgressWidth: number;
    bufferWidth: number;
    constructor(progress: ProgressBar);
    /**
     * To render the linear track.
     *
     * @returns {void}
     */
    renderLinearTrack(): void;
    /**
     * Renders linear progress, optionally refreshing progress and specifying previous width.
     *
     * @param {boolean} refresh - Indicates whether to refresh the progress.
     * @param {number} previousWidth - The previous width of the progress. Defaults to 0.
     * @returns {void}
     */
    renderLinearProgress(refresh?: boolean, previousWidth?: number): void;
    /**
     * To render the linear buffer.
     *
     * @param {ProgressBar} progress - The progress bar control.
     * @returns {void}
     */
    private renderLinearBuffer;
    /**
     * Render the Linear Label.
     *
     * @param {boolean} isProgressRefresh - Indicates whether the progress should be refreshed. Defaults to false.
     * @returns {void}
     */
    renderLinearLabel(isProgressRefresh?: boolean): void;
    /**
     * Renders the active state of the linear progress.
     *
     * @param {Element} progressGroup - The group element containing the progress.
     * @param {number} progressWidth - The width of the progress.
     * @param {number} linearProgressWidth - The width of the linear progress.
     * @param {number} thickness - The thickness of the progress.
     * @param {boolean} refresh - Indicates whether the progress should be refreshed.
     * @returns {void}
     * @private
     */
    private renderActiveState;
    /**
     * Renders the linear progress with stripes.
     *
     * @param {string} color - The color of the progress stripes.
     * @param {Element} group - The group element containing the progress.
     * @param {ProgressBar} progress - The progress bar control.
     * @returns {void}
     * @private
     */
    private renderLinearStriped;
    /**
     * Checks and retrieves the color for the linear progress.
     *
     * @returns {string} - The color for the linear progress.
     * @private
     */
    private checkingLinearProgressColor;
    /**
     * Generates the SVG path string with rounded corners.
     *
     * @param {number} x - The x-coordinate of the starting point.
     * @param {number} y - The y-coordinate of the starting point.
     * @param {number} width - The width of the rectangle.
     * @param {number} height - The height of the rectangle.
     * @param {number} radius - The radius of the rounded corners.
     * @param {string} pathtype - The type of SVG path ('M' for move to, 'L' for line to).
     * @returns {string} - The SVG path string with rounded corners.
     * @private
     */
    private cornerRadius;
    /**
     * Creates a round-corner segment element for the progress bar.
     *
     * @param {string} id - The id of the segment element.
     * @param {string} stroke - The stroke color of the segment.
     * @param {number} thickness - The thickness of the segment.
     * @param {boolean} isTrack - Indicates whether the segment is a track.
     * @param {number} progressWidth - The width of the progress.
     * @param {ProgressBar} progress - The progress bar control.
     * @param {number} opacity - The opacity of the segment.
     * @returns {Element} - The created round-corner segment element.
     */
    createRoundCornerSegment(id: string, stroke: string, thickness: number, isTrack: boolean, progressWidth: number, progress: ProgressBar, opacity?: number): Element;
}
//node_modules/@syncfusion/ej2-progressbar/src/progressbar/types/circular-progress.d.ts
/**
 * Progressbar of type circular
 */
export  class Circular {
    private progress;
    delay: number;
    private segment;
    private animation;
    private isRange;
    private centerX;
    private centerY;
    private maxThickness;
    private availableSize;
    private trackEndAngle;
    endPosition: ProgressLocation;
    bufferEndPosition: ProgressLocation;
    constructor(progress: ProgressBar);
    /**
     * To render the circular track.
     *
     * @returns {void}
     */
    renderCircularTrack(): void;
    /**
     * Renders circular progress to update previous progress.
     *
     * @param {number} previousEnd - The previous end value of the progress.
     * @param {number} previousTotalEnd - The previous total end value of the progress.
     * @param {boolean} refresh - Indicates whether to refresh the progress.
     * @returns {void}
     */
    renderCircularProgress(previousEnd?: number, previousTotalEnd?: number, refresh?: boolean): void;
    /**
     * Renders circular buffer for the progress bar.
     *
     * @param {ProgressBar} progress - The progress bar control.
     * @param {number} radius - The radius of the circular buffer.
     * @param {number} progressTotalAngle - The total angle covered by the progress.
     * @returns {void}
     * @private
     */
    private renderCircularBuffer;
    /**
     * To render the circular Label.
     *
     * @param {boolean} isProgressRefresh - Indicates whether progress should be refreshed. Defaults to false.
     * @returns {void}
     */
    renderCircularLabel(isProgressRefresh?: boolean): void;
    /**
     * Renders the active state of the circular progress.
     *
     * @param {Element} progressGroup - The group element containing the progress.
     * @param {number} radius - The radius of the circular progress.
     * @param {number} strokeWidth - The width of the progress stroke.
     * @param {string} circularPath - The path representing the circular progress.
     * @param {number} endAngle - The angle at which the progress ends.
     * @param {number} totalEnd - The total end value of the progress.
     * @param {boolean} refresh - Indicates whether the progress should be refreshed.
     * @returns {void}
     * @private
     */
    private renderActiveState;
    /**
     * Validates the segment size for the progress bar.
     *
     * @param {ProgressBar} progress - The progress bar control.
     * @param {number} thickness - The thickness of the progress segments.
     * @returns {string} - The validated segment size.
     * @private
     */
    private validateSegmentSize;
    /**
     * Checks and retrieves the color for the circular progress.
     *
     * @returns {string} - The color for the circular progress.
     * @private
     */
    private checkingCircularProgressColor;
}
//node_modules/@syncfusion/ej2-progressbar/src/progressbar/model/progress-tooltip.d.ts
/**
 * class for tooltip.
 */
export  class ProgressTooltip {
    private control;
    /**
     * Constructor for progress tooltip.
     *
     * @param {ProgressBar} control
     */
    constructor(control: ProgressBar);
    private text;
    private svgTooltip;
    private textFormat;
    isRendered: boolean;
    private fadeInInterval;
    private previousPosition;
    /**
     * Method to render the tooltip for progress bar.
     */
    tooltip(e?: PointerEvent | TouchEvent): void;
    /**
     * Function to delay tooltip at initial stage of circular progress.
     */
    private tooltipDelay;
    /**
     * Function to animate tooltip.
     */
    private toolTipAnimation;
    private renderTooltip;
    /**
     * Function to get format of tooltip text.
     */
    private format;
    /**
     * Function to remove tooltip.
     */
    removeTooltip(duration: number): void;
    /**
     * Function to get arguments of tooltip.
     */
    private triggerTooltipRender;
    /**
     * Function to pass arguments into svg tooltip.
     *
     * @param {ProgressBar} chart - The progress bar chart for which the tooltip is being created.
     * @param {boolean} isFirst - A flag indicating whether this is the first tooltip.
     * @param {ProgressLocation} location - The location where the tooltip should be displayed.
     * @param {ProgressLocation} bounds - The bounds within which the tooltip should be confined.
     * @returns {void}
     * @private
     */
    createTooltip(chart: ProgressBar, isFirst: boolean, location: ProgressLocation, bounds: ProgressLocation): void;
    /**
     * Get module name.
     */
    protected getModuleName(): string;
    /**
     * To destroy the annotation.
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-progressbar/src/progressbar/model/progress-interface.d.ts
export interface ITooltipRenderEventArgs extends IProgressEventArgs {
    /** Defines tooltip text collections */
    text?: string;
}
/** @private */
export interface IFontMapping {
    size?: string;
    color?: string;
    fontWeight?: string;
    fontStyle?: string;
    fontFamily?: string;
    opacity?: number;
}
/**
 * loadedEvent for progress bar
 */
export interface ILoadedEventArgs {
    /** Defines the name of the event */
    name: string;
    /** Defines the event cancel status */
    cancel: boolean;
    /** Defines the current chart instance */
    progressBar: ProgressBar;
}
/**
 * loadedEvent for progress bar
 */
export interface ITextRenderEventArgs {
    /** Defines the text */
    cancel: boolean;
    /** Defines the text */
    text: string;
    /** Defines the color */
    color: string;
    /** Defines the current progress bar instance */
    progressBar?: ProgressBar;
}
/**
 * Event for progress bar
 */
export interface IProgressValueEventArgs {
    value: number;
    trackColor: string;
    progressColor: string;
}
/** Resize */
export interface IProgressResizeEventArgs {
    /** Defines the name of the Event */
    name: string;
    /** Defines the previous size of the progress bar */
    previousSize: Size;
    /** Defines the current size of the progress bar */
    currentSize: Size;
    /** Defines progress bar instance */
    bar: ProgressBar;
    /** cancel the event */
    cancel: boolean;
}
/** chart theme style */
export interface IProgressStyle {
    linearTrackColor: string;
    linearProgressColor: string;
    circularTrackColor: string;
    circularProgressColor: string;
    backgroundColor: string;
    progressOpacity: number;
    trackOpacity: number;
    bufferOpacity: number;
    bufferColor?: string;
    linearGapWidth: number;
    circularGapWidth: number;
    linearTrackThickness: number;
    linearProgressThickness: number;
    circularTrackThickness: number;
    circularProgressThickness: number;
    tooltipFill: string;
    tooltipLightLabel: string;
    success: string;
    info: string;
    warning: string;
    danger: string;
    tooltipLabelFont: FontModel;
    linearLabelFont: FontModel;
    circularLabelFont: FontModel;
}
export interface IProgressEventArgs {
    /** Defines the name of the event */
    name: string;
    /** Defines the event cancel status */
    cancel: boolean;
}
export interface IAnnotationRenderEventArgs extends IProgressEventArgs {
    /** Defines the current annotation content */
    content: HTMLElement;
    /** Defines the current annotation location */
    location: ProgressLocation;
}
/** Interface for LinearGradient attributes */
export interface LinearGradient {
    /** id for gradient */
    id?: string;
    /** x1 value */
    x1?: string;
    /** x2 value */
    x2?: string;
    /** y1 value */
    y1?: string;
    /** y2 value */
    y2?: string;
    /** gradientUnit for gradient */
    gradientUnits?: string;
    /** spreadMethod for gradient */
    spreadMethod?: string;
    /** gradientTransform for gradient */
    gradientTransform?: string;
}
export interface StopElement {
    /** offset value */
    offset?: string;
    /** stop-color */
    ['stop-color']?: string;
    /** stop-opacity */
    ['stop-opacity']?: string;
}
export interface IMouseEventArgs {
    target: string;
}
//node_modules/@syncfusion/ej2-progressbar/src/progressbar/model/progress-base.d.ts
/**
 * progress bar complex interface
 */
export  class Margin extends base.ChildProperty<Margin> {
    /**
     * To customize top margin value
     *
     * @default 10
     */
    top: number;
    /**
     * To customize top bottom value
     *
     * @default 10
     */
    bottom: number;
    /**
     * To customize top left value
     *
     * @default 10
     */
    left: number;
    /**
     * To customize top right value
     *
     * @default 10
     */
    right: number;
}
/**
 * Configures the fonts in progressbar
 */
export  class Font extends base.ChildProperty<Font> {
    /**
     * FontStyle for the text.
     *
     * @default 'Normal'
     */
    fontStyle: string;
    /**
     * Font size for the text.
     *
     * @default '16px'
     */
    size: string;
    /**
     * FontWeight for the text.
     *
     * @default 'Normal'
     */
    fontWeight: string;
    /**
     * Color for the text.
     *
     * @default ''
     */
    color: string;
    /**
     * FontFamily for the text.
     */
    fontFamily: string;
    /**
     * Opacity for the text.
     *
     * @default null
     */
    opacity: number;
    /**
     * text alignment for label
     *
     * @default Far
     */
    textAlignment: TextAlignmentType;
    /**
     * label text
     *
     * @default ''
     */
    text: string;
}
/**
 * Animation
 */
export  class Animation extends base.ChildProperty<Animation> {
    /**
     * enable
     *
     * @default false
     */
    enable: boolean;
    /**
     * duration
     *
     * @default 2000
     */
    duration: number;
    /**
     * delay
     *
     * @default 0
     */
    delay: number;
}
/**
 * Annotation
 */
export  class ProgressAnnotationSettings extends base.ChildProperty<ProgressAnnotationSettings> {
    /**
     * Content of the annotation, which accepts the id of the custom element.
     *
     * @default null
     */
    content: string;
    /**
     * to move annotation
     *
     * @default 0
     */
    annotationAngle: number;
    /**
     * to move annotation
     *
     * @default '0%'
     */
    annotationRadius: string;
}
/**
 * Configures the border for the tooltip of the progress bar.
 */
export  class Border extends base.ChildProperty<Border> {
    /**
     * The color of the border that accepts value in hex as a valid CSS color string.
     *
     * @default ''
     */
    color: string;
    /**
     * The width of the border in pixels.
     *
     * @default 1
     */
    width: number;
}
/**
 *  Options to customize the tooltip for the progress bar.
 *
 *  @default {}
 */
export  class TooltipSettings extends base.ChildProperty<TooltipSettings> {
    /**
     * If set to true, tooltip will be displayed for the progress bar.
     *
     * @default false.
     */
    enable: boolean;
    /**
     * The fill color of the tooltip that accepts value in hex as a valid CSS color string.
     *
     * @default null.
     */
    fill: string;
    /**
     * Format the tooltip content. Use ${value} as the placeholder text to display the corresponding progress value.
     *
     * @default null.
     */
    format: string;
    /**
     * If set to true, tooltip will be displayed for the progress bar on mouse hover.
     *
     * @default false.
     */
    showTooltipOnHover: boolean;
    /**
     * Options to customize the tooltip text.
     *
     */
    textStyle: FontModel;
    /**
     * Options to customize tooltip borders.
     *
     * @default {}
     */
    border: BorderModel;
}
/**
 * RangeColor
 */
export  class RangeColor extends base.ChildProperty<RangeColor> {
    /**
     * color
     *
     * @default null
     */
    color: string;
    /**
     * start
     *
     * @default null
     */
    start: number;
    /**
     * end
     *
     * @default null
     */
    end: number;
}
//node_modules/@syncfusion/ej2-progressbar/src/progressbar/model/progress-base-model.d.ts
/**
 * Interface for a class Margin
 */
export interface MarginModel {
    /**
     * To customize top margin value
     *
     * @default 10
     */
    top?: number;
    /**
     * To customize top bottom value
     *
     * @default 10
     */
    bottom?: number;
    /**
     * To customize top left value
     *
     * @default 10
     */
    left?: number;
    /**
     * To customize top right value
     *
     * @default 10
     */
    right?: number;
}
/**
 * Interface for a class Font
 */
export interface FontModel {
    /**
     * FontStyle for the text.
     *
     * @default 'Normal'
     */
    fontStyle?: string;
    /**
     * Font size for the text.
     *
     * @default '16px'
     */
    size?: string;
    /**
     * FontWeight for the text.
     *
     * @default 'Normal'
     */
    fontWeight?: string;
    /**
     * Color for the text.
     *
     * @default ''
     */
    color?: string;
    /**
     * FontFamily for the text.
     */
    fontFamily?: string;
    /**
     * Opacity for the text.
     *
     * @default null
     */
    opacity?: number;
    /**
     * text alignment for label
     *
     * @default Far
     */
    textAlignment?: TextAlignmentType;
    /**
     * label text
     *
     * @default ''
     */
    text?: string;
}
/**
 * Interface for a class Animation
 */
export interface AnimationModel {
    /**
     * enable
     *
     * @default false
     */
    enable?: boolean;
    /**
     * duration
     *
     * @default 2000
     */
    duration?: number;
    /**
     * delay
     *
     * @default 0
     */
    delay?: number;
}
/**
 * Interface for a class ProgressAnnotationSettings
 */
export interface ProgressAnnotationSettingsModel {
    /**
     * Content of the annotation, which accepts the id of the custom element.
     *
     * @default null
     */
    content?: string;
    /**
     * to move annotation
     *
     * @default 0
     */
    annotationAngle?: number;
    /**
     * to move annotation
     *
     * @default '0%'
     */
    annotationRadius?: string;
}
/**
 * Interface for a class Border
 */
export interface BorderModel {
    /**
     * The color of the border that accepts value in hex as a valid CSS color string.
     *
     * @default ''
     */
    color?: string;
    /**
     * The width of the border in pixels.
     *
     * @default 1
     */
    width?: number;
}
/**
 * Interface for a class TooltipSettings
 */
export interface TooltipSettingsModel {
    /**
     * If set to true, tooltip will be displayed for the progress bar.
     *
     * @default false.
     */
    enable?: boolean;
    /**
     * The fill color of the tooltip that accepts value in hex as a valid CSS color string.
     *
     * @default null.
     */
    fill?: string;
    /**
     * Format the tooltip content. Use ${value} as the placeholder text to display the corresponding progress value.
     *
     * @default null.
     */
    format?: string;
    /**
     * If set to true, tooltip will be displayed for the progress bar on mouse hover.
     *
     * @default false.
     */
    showTooltipOnHover?: boolean;
    /**
     * Options to customize the tooltip text.
     *
     */
    textStyle?: FontModel;
    /**
     * Options to customize tooltip borders.
     *
     * @default {}
     */
    border?: BorderModel;
}
/**
 * Interface for a class RangeColor
 */
export interface RangeColorModel {
    /**
     * color
     *
     * @default null
     */
    color?: string;
    /**
     * start
     *
     * @default null
     */
    start?: number;
    /**
     * end
     *
     * @default null
     */
    end?: number;
}
//node_modules/@syncfusion/ej2-progressbar/src/progressbar/model/progress-annotation.d.ts
/**
 * Class for progress annotation
 */
export  class ProgressAnnotation extends AnnotationBase {
    private progress;
    private annotations;
    parentElement: HTMLElement;
    private animation;
    /**
     * Constructor for ProgressBar annotation
     *
     * @private
     * @param {ProgressBar} control Passed the control
     * @param {annotations} annotations ProgressAnnotationSettings
     */
    constructor(control: ProgressBar, annotations: ProgressAnnotationSettings[]);
    /**
     * Method to render the annotation for ProgressBar
     *
     * @param {Element} element Annotation element.
     * @returns {void}
     * @private
     */
    renderAnnotations(element: Element): void;
    /**
     * Get module name.
     *
     * @returns {string} - Returns the module name.
     */
    protected getModuleName(): string;
    /**
     * To destroy the annotation.
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-progressbar/src/progressbar/model/constant.d.ts
/**
 * corner Radius
 */
export  const lineCapRadius: number;
/**
 * complete Angle
 */
export  const completeAngle: number;
/**
 * valueChanged event
 */
export  const valueChanged: string;
/**
 * progressCompleted event
 */
export  const progressCompleted: string;
/**
 * mouseClick event
 */
export  const mouseClick: string;
/**
 * mouseDown event
 */
export  const mouseDown: string;
/**
 * mouseUp event
 */
export  const mouseUp: string;
/**
 * mouseMove event
 */
export  const mouseMove: string;
/**
 * mouseLeave event
 */
export  const mouseLeave: string;
/**
 * svgLink
 */
export  const svgLink: string;
/**
 * gradient type
 */
export  const gradientType: string;
/**
 * stop element
 */
export  const stopElement: string;
/**
 * Render for the tooltip.
 */
export  const tooltipRender: string;
//node_modules/@syncfusion/ej2-progressbar/src/progressbar/model/annotation.d.ts
/**
 * Base file for annotation
 */
export  class AnnotationBase {
    private control;
    private annotation;
    /**
     * Constructor for progress annotation
     *
     * @param {ProgressBar} control It called constructor
     */
    constructor(control: ProgressBar);
    render(annotation: ProgressAnnotationSettings, index: number): HTMLElement;
    /**
     * To process the annotation
     *
     * @param {ProgressAnnotationSettings} annotation One of the parameter called annotation
     * @param {number} index Index of the annotation
     * @param {HTMLElement} parentElement Parent element of the annotation
     * @returns {void}
     */
    processAnnotation(annotation: ProgressAnnotationSettings, index: number, parentElement: HTMLElement): void;
    setElementStyle(location: ProgressLocation, element: HTMLElement, parentElement: HTMLElement): void;
    private Location;
}
 }
export namespace querybuilder { 

//node_modules/@syncfusion/ej2-querybuilder/src/query-builder/query-library.d.ts
export  class QueryLibrary {
    private parent;
    constructor(parent?: QueryBuilder);
    destroy(): void;
    private addEventListener;
    private removeEventListener;
    private queryLibrary;
    private getMongoFromRules;
    private getOperatorFromMongoOperator;
    private convertMongoQuery;
    private mongoParser;
    private mongoRecursion;
    private convertParamSqlToSql;
    private convertNamedParamSqlToSql;
    private getParameterSql;
    private getNamedParameterSql;
    private getParameterSQLVal;
    private getNamedParameterSQLVal;
    private updateRuleValue;
    private updateValue;
    private getNamedParameter;
    getModuleName(): string;
}
//node_modules/@syncfusion/ej2-querybuilder/src/query-builder/query-builder.d.ts
/**
 * data.Query Builder Source
 */
/**
 * Defines the Columns of data.Query Builder
 */
export  class Columns extends base.ChildProperty<Columns> {
    /**
     * Specifies the fields in columns.
     *
     * @default null
     */
    field: string;
    /**
     * Specifies the labels name in columns.
     *
     * @default null
     */
    label: string;
    /**
     * Specifies the types in columns field.
     *
     * @default null
     */
    type: string;
    /**
     * Specifies the values in columns or bind the values from sub controls.
     *
     * @default null
     */
    values: string[] | number[] | boolean[];
    /**
     * Specifies the operators in columns.
     *
     * @default null
     */
    operators: {
        [key: string]: Object;
    }[];
    /**
     * Specifies the rule template for the field with any other widgets.
     *
     * @default null
     * @aspType string
     */
    ruleTemplate: string | Function;
    /**
     * Specifies the template for value field such as slider or any other widgets.
     *
     * @default null
     */
    template: TemplateColumn | string | Function;
    /**
     * Specifies the validation for columns (text, number and date).
     *
     * @default  { isRequired: true , min: 0, max: Number.MAX_VALUE }
     */
    validation: Validation;
    /**
     * Specifies the date format for columns.
     *
     * @aspType string
     * @blazorType string
     * @default null
     */
    format: string | FormatObject;
    /**
     * Specifies the step value(numeric textbox) for columns.
     *
     * @default null
     */
    step: number;
    /**
     * Specifies the default value for columns.
     *
     * @default null
     */
    value: string[] | number[] | string | number | boolean | Date;
    /**
     * Specifies the category for columns.
     *
     * @default null
     */
    category: string;
    /**
     * Specifies the sub fields in columns.
     *
     * @default null
     */
    columns: ColumnsModel[];
}
/**
 * Defines the rule of data.Query Builder
 */
export  class Rule extends base.ChildProperty<Rule> {
    /**
     * Specifies the condition value in group.
     *
     * @default null
     */
    condition: string;
    /**
     * Specifies the rules in group.
     *
     * @default []
     */
    rules: RuleModel[];
    /**
     * Specifies the field value in group.
     *
     * @default null
     */
    field: string;
    /**
     * Specifies the label value in group.
     *
     * @default null
     */
    label: string;
    /**
     * Specifies the type value in group.
     *
     * @default null
     */
    type: string;
    /**
     * Specifies the operator value in group.
     *
     * @default null
     */
    operator: string;
    /**
     * Specifies the sub controls value in group.
     *
     * @default null
     */
    value: string[] | number[] | string | number | boolean;
    /**
     * Specifies whether not condition is true/false.
     *
     * @default false
     */
    not: boolean;
    /**
     * Specifies whether rule is locked or not.
     *
     * @default null
     */
    isLocked: boolean;
}
/**
 * Defines the property for value.
 */
export  class Value extends base.ChildProperty<Value> {
    /**
     * Specifies the property for NumericTextBox value.
     *
     * @default null
     */
    numericTextBoxModel: inputs.NumericTextBoxModel;
    /**
     * Specifies the property for MultiSelect value.
     *
     * @default null
     */
    multiSelectModel: dropdowns.MultiSelectModel;
    /**
     *  Specifies the property for DatePicker value.
     *
     * @default null
     */
    datePickerModel: calendars.DatePickerModel;
    /**
     *  Specifies the TextBox value.
     *
     * @default null
     */
    textBoxModel: inputs.TextBoxModel;
    /**
     * Specifies the RadioButton value.
     *
     * @default null
     */
    radioButtonModel: buttons.RadioButtonModel;
}
/**
 * Defines the ruleDelete, groupInsert, and groupDelete options of data.Query Builder.
 */
export  class ShowButtons extends base.ChildProperty<ShowButtons> {
    /**
     * Specifies the boolean value in ruleDelete that the enable/disable the buttons in rule.
     *
     * @default false
     */
    cloneRule: boolean;
    /**
     * Specifies the boolean value in ruleDelete that the enable/disable the buttons in rule.
     *
     * @default false
     */
    cloneGroup: boolean;
    /**
     * Specifies the boolean value in ruleDelete that the enable/disable the buttons in rule.
     *
     * @default false
     */
    lockRule: boolean;
    /**
     * Specifies the boolean value in ruleDelete that the enable/disable the buttons in rule.
     *
     * @default false
     */
    lockGroup: boolean;
    /**
     * Specifies the boolean value in ruleDelete that the enable/disable the buttons in rule.
     *
     * @default true
     */
    ruleDelete: boolean;
    /**
     * Specifies the boolean value in groupInsert that the enable/disable the buttons in group.
     *
     * @default true
     */
    groupInsert: boolean;
    /**
     * Specifies the boolean value in groupDelete that the enable/disable the buttons in group.
     *
     * @default true
     */
    groupDelete: boolean;
}
export interface FormatObject {
    /**
     * Specifies the format in which the date format will process
     */
    skeleton?: string;
}
/**
 * Defines the fieldMode of Dropdown control.
 * ```props
 * Default :- To Specifies the fieldMode as DropDownList.
 * DropdownTree :- To Specifies the fieldMode as DropdownTree.
 * ```
 */
export  type FieldMode = 
/** Display the DropdownList */
'Default' | 
/** Display the DropdownTree */
'DropdownTree';
/**
 * Defines the display mode of the control.
 * ```props
 * Horizontal :- To display the control in a horizontal UI.
 * Vertical :- To display the control in a vertical UI.
 * ```
 */
export  type DisplayMode = 
/**  Display the Horizontal UI */
'Horizontal' | 
/**  Display the Vertical UI */
'Vertical';
/**
 * Defines the sorting direction of the field names in a control.
 * ```props
 * Default :- Specifies the field names in default sorting order.
 * Ascending :- Specifies the field names in ascending order.
 * Descending :- Specifies the field names in descending order.
 * ```
 */
export  type SortDirection = 
/**  Show the field names in default */
'Default' | 
/**  Show the field names in Ascending */
'Ascending' | 
/**  Show the field names in Descending */
'Descending';
export  class QueryBuilder extends base.Component<HTMLDivElement> implements base.INotifyPropertyChanged {
    private groupIdCounter;
    private ruleIdCounter;
    private subFilterCounter;
    private btnGroupId;
    private levelColl;
    private isImportRules;
    private isPublic;
    private parser;
    private defaultLocale;
    private l10n;
    private intl;
    private items;
    private customOperators;
    private operators;
    private sqlOperators;
    private ruleElem;
    private groupElem;
    private dataColl;
    private dataManager;
    private selectedColumn;
    private previousColumn;
    private actionButton;
    private isInitialLoad;
    private timer;
    private isReadonly;
    private fields;
    private columnTemplateFn;
    private target;
    private updatedRule;
    private ruleTemplateFn;
    private isLocale;
    private isRefreshed;
    private headerFn;
    private subFieldElem;
    private selectedRule;
    private isNotified;
    private isAddSuccess;
    private isNotValueChange;
    private isRoot;
    private prevItemData;
    private isFieldChange;
    private isFieldClose;
    private isDestroy;
    private isGetNestedData;
    private isCustomOprCols;
    private dummyDropdownTreeDs;
    private groupCounter;
    private lockItems;
    private groupIndex;
    private ruleIndex;
    private isLastGroup;
    private cloneGrpBtnClick;
    private isMiddleGroup;
    private cloneRuleBtnClick;
    private isNumInput;
    private draggable;
    private draggedRule;
    private dragElement;
    private prvtEvtTgrDaD;
    private isDragEventPrevent;
    private isValueEmpty;
    private isPropChange;
    private ddTree;
    /**
     * Triggers when the component is created.
     *
     * @event created
     * @blazorProperty 'Created'
     */
    created: base.EmitType<Event>;
    /**
     * Triggers when field, operator, value is change.
     *
     * @event actionBegin
     * @blazorProperty 'OnActionBegin'
     */
    actionBegin: base.EmitType<ActionEventArgs>;
    /**
     * Triggers before the condition (And/Or), field, operator, value is changed.
     *
     * @event beforeChange
     * @blazorProperty 'OnValueChange'
     */
    beforeChange: base.EmitType<ChangeEventArgs>;
    /**
     * Triggers when changing the condition(AND/OR), field, value, operator is changed.
     *
     * @event change
     * @blazorProperty 'Changed'
     */
    change: base.EmitType<ChangeEventArgs>;
    /**
     * Triggers when dataBound to the data.Query Builder.
     *
     * @event dataBound
     * @blazorProperty 'dataBound'
     */
    dataBound: base.EmitType<Object>;
    /**
     * Triggers when changing the condition(AND/OR), field, value, operator is changed
     *
     * @event ruleChange
     * @blazorProperty 'RuleChanged'
     */
    ruleChange: base.EmitType<RuleChangeEventArgs>;
    /**
     * Triggers when rule/ group dragging starts.
     *
     *
     */
    dragStart: base.EmitType<DragEventArgs>;
    /**
     * Triggers when rule/ group are dragged (moved) continuously.
     *
     *
     */
    drag: base.EmitType<DragEventArgs>;
    /**
     * Triggers when rule/ group are dropped on to the target rule/ group.
     *
     *
     */
    drop: base.EmitType<DropEventArgs>;
    /**
     * Specifies the showButtons settings of the query builder component.
     * The showButtons can be enable Enables or disables the ruleDelete, groupInsert, and groupDelete buttons.
     *
     * @default { ruleDelete: true , groupInsert: true, groupDelete: true }
     */
    showButtons: ShowButtonsModel;
    /**
     * Shows or hides the filtered query.
     *
     * @default false
     */
    summaryView: boolean;
    /**
     * Enables or disables the validation.
     *
     * @default false
     */
    allowValidation: boolean;
    /**
     * Specifies the fieldMode as DropDownList or DropDownTree.
     *
     * @default 'Default'
     */
    fieldMode: FieldMode;
    /**
     * Specifies columns to create filters.
     *
     * @default {}
     */
    columns: ColumnsModel[];
    /**
     * Specifies the property for field.
     *
     *  @default null
     */
    fieldModel: dropdowns.DropDownListModel | dropdowns.DropDownTreeModel;
    /**
     * Specifies the property for operator.
     *
     *  @default null
     */
    operatorModel: dropdowns.DropDownListModel;
    /**
     * Specifies the property for value.
     *
     * @default null
     */
    valueModel: ValueModel;
    /**
     * Specifies the template for the header with any other widgets.
     *
     * @default null
     * @aspType string
     */
    headerTemplate: string | Function;
    /**
     * Defines class or multiple classes, which are separated by a space in the QueryBuilder element.
     * You can add custom styles to the QueryBuilder using the cssClass property.
     *
     * @default ''
     */
    cssClass: string;
    /**
     * Binds the column name from data source in query-builder.
     * The `dataSource` is an array of JavaScript objects.
     *
     * @default []
     */
    dataSource: Object[] | Object | data.DataManager;
    /**
     * Specifies the displayMode as Horizontal or Vertical.
     *
     * @default 'Horizontal'
     */
    displayMode: DisplayMode;
    /**
     * Enable or disable persisting component's state between page reloads.
     * If enabled, filter states will be persisted.
     *
     * @default false.
     */
    enablePersistence: boolean;
    /**
     * Specifies the sort direction of the field names.
     *
     * @default 'Default'
     */
    sortDirection: SortDirection;
    /**
     * Specifies the maximum group count or restricts the group count.
     *
     * @default 5
     */
    maxGroupCount: number;
    /**
     * Specifies the height of the query builder.
     *
     * @default 'auto'
     */
    height: string;
    /**
     * Specifies the width of the query builder.
     *
     * @default 'auto'
     */
    width: string;
    /**
     * If match case is set to true, the grid filters the records with exact match.
     * if false, it filters case insensitive records (uppercase and lowercase letters treated the same).
     *
     * @default false
     */
    matchCase: boolean;
    /**
     * If immediateModeDelay is set by particular number, the rule Change event is triggered after that period.
     *
     * @default 0
     */
    immediateModeDelay: number;
    /**
     * Enables/Disables the not group condition in query builder.
     *
     * @default false
     */
    enableNotCondition: boolean;
    /**
     * When set to true, the user interactions on the component are disabled.
     *
     * @default false
     */
    readonly: boolean;
    /**
     * Specifies a boolean value whether enable / disable the new rule adding while adding new groups.
     *
     * @remarks
     * If this property is true, the empty rule is inserted while inserting new group.
     * If set to false, the group is inserted without any rule.
     * @default true
     */
    addRuleToNewGroups: boolean;
    /**
     * Specifies a boolean value whether enable / disable the auto selection with the first value for the field.
     *
     * @remarks
     * If this property is true, the field dropdown list will render with the first value of the dropdown list.
     * If set to false, the dropdown list render with placeholder.
     * @default false
     */
    autoSelectField: boolean;
    /**
     * Specifies a boolean value whether enable / disable the auto selection with the first value for the operator.
     *
     * @remarks
     * If this property is true, the operator dropdown list will render with the first value of the dropdown list.
     * If set to false, the dropdown list render with placeholder.
     * @default true
     */
    autoSelectOperator: boolean;
    /**
     * Specifies the separator string for column.
     *
     * @default ''
     */
    separator: string;
    /**
     * Specifies whether to enable separate connectors between rules/groups.
     *
     * @remarks
     * When this property is set to true, each rule/group will have its own connector, allowing them to be connected independently with different connectors.
     * When set to false, will result in connectors being shared between rules/groups, possibly connecting them with the same connector.
     *
     * @default false
     *
     */
    enableSeparateConnector: boolean;
    /**
     * Defines rules in the QueryBuilder.
     * Specifies the initial rule, which is JSON data.
     *
     * @default {}
     */
    rule: RuleModel;
    /**
     * Specifies a boolean value whether to enable / disable the drag and drop support to move the rules/ groups.
     *
     * @remarks
     * If this property is true, the drag handle will be rendered in front of the rule/ group element to perform, drag and drop.
     * If set to false, the drag handle element is not rendered.
     * @default false
     */
    allowDragAndDrop: boolean;
    constructor(options?: QueryBuilderModel, element?: string | HTMLDivElement);
    protected getPersistData(): string;
    /**
     * Clears the rules without root rule.
     *
     * @returns {void}.
     */
    reset(): void;
    private getWrapper;
    protected getModuleName(): string;
    requiredModules(): base.ModuleDeclaration[];
    private GetRootColumnName;
    private initialize;
    private updateSubFieldsFromColumns;
    private updateSubFields;
    private updateCustomOperator;
    private focusEventHandler;
    private clickEventHandler;
    private beforeSuccessCallBack;
    private selectBtn;
    private appendRuleElem;
    private addRuleElement;
    private addRuleSuccessCallBack;
    private dropdownTreeFiltering;
    private changeDataSource;
    private nestedChildFilter;
    private isMatchedNode;
    private dropdownTreeClose;
    private updateDropdowntreeDS;
    private updateAddedRule;
    private changeRuleTemplate;
    private renderToolTip;
    /**
     * Validate the conditions and it display errors for invalid fields.
     *
     * @returns {boolean} - Validation
     */
    validateFields(): boolean;
    private refreshLevelColl;
    private refreshLevel;
    private groupTemplate;
    private ruleTemplate;
    private addGroupElement;
    private addGroupSuccess;
    private setMultiConnector;
    private addHeaderDiv;
    private headerTemplateFn;
    private enableSeparateConnectorInitialRule;
    /**
     * Notify the changes to component.
     *
     * @param {string | number | boolean | Date | string[] | number[] | Date[]} value - 'value' to be passed to update the rule value.
     * @param {Element} element - 'element' to be passed to update the rule.
     * @param {string} type - 'type' to be passed to update the rule .
     * @returns {void}.
     */
    notifyChange(value: string | number | boolean | Date | string[] | number[] | Date[], element: Element, type?: string): void;
    private templateChange;
    private changeValue;
    private filterValue;
    private changeValueSuccessCallBack;
    private fieldClose;
    private changeField;
    private changeRule;
    private changeFilter;
    private changeOperator;
    private fieldChangeSuccess;
    private destroySubFields;
    private createSubFields;
    private operatorChangeSuccess;
    private changeRuleValues;
    private popupOpen;
    private destroyControls;
    private templateDestroy;
    /**
     * Return values bound to the column.
     *
     * @param {string} field - 'field' to be passed to get the field values.
     * @returns {object[]} - Values bound to the column
     */
    getValues(field: string): object[];
    private createNestedObject;
    private getDistinctValues;
    private renderMultiSelect;
    private multiSelectOpen;
    private bindMultiSelectData;
    private getMultiSelectData;
    private createSpinner;
    private closePopup;
    private processTemplate;
    private getItemData;
    private setDefaultValue;
    private renderStringValue;
    private renderNumberValue;
    private processValueString;
    private parseDate;
    private renderControls;
    private processBoolValues;
    private getOperatorIndex;
    private getPreviousItemData;
    private renderValues;
    private setColumnTemplate;
    private actionBeginSuccessCallBack;
    private updateValues;
    private updateRules;
    private filterRules;
    private ruleValueUpdate;
    private validateValue;
    private getFormat;
    private findGroupByIdx;
    /**
     * Removes the component from the DOM and detaches all its related event handlers.
     * Also it maintains the initial input element from the DOM.
     *
     * @method destroy
     * @returns {void}
     */
    destroy(): void;
    /**
     * Adds single or multiple rules.
     *
     * @param {RuleModel[]} rule - 'rule collection' to be passed to add the rules.
     * @param {string} groupID - 'group id' to be passed to add the rule in groups.
     * @returns {void}.
     */
    addRules(rule: RuleModel[], groupID: string): void;
    /**
     * Adds single or multiple groups, which contains the collection of rules.
     *
     * @param {RuleModel[]} groups - 'group collection' to be passed to add the groups.
     * @param {string} groupID - 'group id' to be passed to add the groups.
     * @returns {void}.
     */
    addGroups(groups: RuleModel[], groupID: string): void;
    private initWrapper;
    private renderSummary;
    private renderSummaryCollapse;
    private columnSort;
    private onChangeNotGroup;
    private notGroupRtl;
    private checkNotGroup;
    onPropertyChanged(newProp: QueryBuilderModel, oldProp: QueryBuilderModel): void;
    protected preRender(): void;
    protected render(): void;
    private initializeDrag;
    private helper;
    private dragStartHandler;
    private dragHandler;
    private dragStopHandler;
    private templateParser;
    private executeDataManager;
    private initControl;
    protected wireEvents(): void;
    protected unWireEvents(): void;
    private getParentGroup;
    /**
     * Delete the Group
     *
     * @param {Element | string} target - 'target' to be passed to delete the group.
     * @returns {void}
     */
    deleteGroup(target: Element | string): void;
    private deleteGroupSuccessCallBack;
    private isPlatformTemplate;
    private deleteRule;
    private deleteRuleSuccessCallBack;
    private setGroupRules;
    private keyBoardHandler;
    private windowResizeHandler;
    private clearQBTemplate;
    private disableRuleCondition;
    /**
     * Get the valid rule or rules collection.
     *
     * @param {RuleModel} currentRule - 'currentRule' to be passed to get the valid rules.
     * @returns {RuleModel} - Valid rule or rules collection
     */
    getValidRules(currentRule?: RuleModel): RuleModel;
    private getRuleCollection;
    /**
     * Set the rule or rules collection.
     *
     * @param {RuleModel} rule - 'rule' to be passed to set rules.
     * @returns {void}.
     */
    setRules(rule: RuleModel): void;
    /**
     * Gets the rule or rule collection.
     *
     * @returns {object} - Rule or rule collection
     */
    getRules(): RuleModel;
    /**
     * Gets the rule.
     *
     * @param {string | HTMLElement} elem - 'elem' to be passed to get rule.
     * @returns {object} - Rule
     */
    getRule(elem: string | HTMLElement): RuleModel;
    /**
     * Gets the group.
     *
     * @param {string | Element} target - 'target' to be passed to get group.
     * @returns {object} -Group
     */
    getGroup(target: Element | string): RuleModel;
    /**
     * Deletes the group or groups based on the group ID.
     *
     * @param {string[]} groupIdColl - 'groupIdColl' to be passed to delete groups.
     * @returns {void}
     */
    deleteGroups(groupIdColl: string[]): void;
    /**
     * Return the data.Query from current rules collection.
     *
     * @returns {Promise} - data.Query from current rules collection
     * @blazorType object
     */
    getFilteredRecords(): Promise<Object> | object;
    /**
     * Deletes the rule or rules based on the rule ID.
     *
     * @param {string[]} ruleIdColl - 'ruleIdColl' to be passed to delete rules.
     * @returns {void}.
     */
    deleteRules(ruleIdColl: string[]): void;
    /**
     * Gets the query for Data Manager.
     *
     * @param {RuleModel} rule - 'rule' to be passed to get query.
     * @returns {string} - data.Query for Data Manager
     */
    getDataManagerQuery(rule: RuleModel): data.Query;
    /**
     * Get the predicate from collection of rules.
     *
     * @param {RuleModel} rule - 'rule' to be passed to get predicate.
     * @returns {data.Predicate} - data.Predicate from collection of rules
     */
    getPredicate(rule: RuleModel): data.Predicate;
    private getLocale;
    private getColumn;
    /**
     * Return the operator bound to the column.
     *
     * @returns {[key: string]: Object}[] - Operator bound to the column
     */
    getOperators(field: string): {
        [key: string]: Object;
    }[];
    private setTime;
    private datePredicate;
    private arrayPredicate;
    private getDate;
    private isTime;
    private renderGroup;
    private renderRule;
    private enableReadonly;
    private enableBtnGroup;
    private isDateFunction;
    private getSqlString;
    /**
     * Sets the rules from the sql query.
     *
     * @param {string} sqlString - 'sql String' to be passed to set the rule.
     * @param {boolean} sqlLocale - Optional. Set `true` if Localization for Sql query.
     * @returns {void}
     */
    setRulesFromSql(sqlString: string, sqlLocale?: boolean): void;
    /**
     * Get the rules from SQL query.
     *
     * @param {string} sqlString - 'sql String' to be passed to get the rule.
     * @param {boolean} sqlLocale - Set `true` if Localization for Sql query.
     * @returns {object} - Rules from SQL query
     */
    getRulesFromSql(sqlString: string, sqlLocale?: boolean): RuleModel;
    /**
     * Gets the sql query from rules.
     *
     * @param {RuleModel} rule - 'rule' to be passed to get the sql.
     * @param {boolean} allowEscape - Set `true` if it exclude the escape character.
     * @param {boolean} sqlLocale - Set `true` if Localization for Sql query.
     * @returns {string} - Sql query from rules.
     */
    getSqlFromRules(rule?: RuleModel, allowEscape?: boolean, sqlLocale?: boolean): string;
    /**
     * Gets the parameter SQL query from rules.
     *
     * @param {RuleModel} rule – Specify the rule to be passed to get the parameter sql string.
     * @returns {ParameterizedSql} – Parameterized SQL query from rules.
     */
    getParameterizedSql(rule?: RuleModel): ParameterizedSql;
    /**
     * Sets the rules from the parameter sql query.
     *
     * @param { ParameterizedSql} sqlQuery – Specifies the parameter SQL to be passed to set the rule and load it to the query builder.
     * @returns {void}
     */
    setParameterizedSql(sqlQuery: ParameterizedSql): void;
    /**
     * Gets the named parameter SQL query from rules.
     *
     * @param {RuleModel} rule – Specify the rule to be passed to get the named parameter SQL string.
     * @returns {ParameterizedNamedSql} – Parameterized Named SQL query from rules.
     */
    getParameterizedNamedSql(rule?: RuleModel): ParameterizedNamedSql;
    /**
     * Sets the rules from the named parameter SQL query.
     *
     * @param { ParameterizedNamedSql } sqlQuery – Specifies the named parameter SQL to be passed to set the rule and load it to the query builder.
     * @returns {void}
     */
    setParameterizedNamedSql(sqlQuery: ParameterizedNamedSql): void;
    /**
     * Set the rules from Mongo query.
     *
     * @param {string} mongoQuery - 'sql String' to be passed to get the rule.
     * @param {boolean} mongoLocale - Set `true` if Localization for Mongo query.
     * @returns {void}
     */
    setMongoQuery(mongoQuery: string, mongoLocale?: boolean): void;
    /**
     * Gets the Mongo query from rules.
     *
     * @param {RuleModel} rule - 'rule' to be passed to get the sql.
     * @returns {object} - Sql query from rules.
     */
    getMongoQuery(rule?: RuleModel): string;
    /**
     * Clones the rule based on the rule ID to the specific group.
     *
     * @param {string} ruleID - Specifies the ruleID that needs to be cloned.
     * @param {string} groupID - Specifies the groupID in which the rule to be cloned.
     * @param {number} index - Specifies the index to insert the cloned rule inside the group.
     * @returns {void}
     */
    cloneRule(ruleID: string, groupID: string, index: number): void;
    /**
     * Clones the group based on the group ID to the specific group.
     *
     * @param {string} groupID - Specifies the groupID that needs to be cloned.
     * @param {string} parentGroupID - Specifies the parentGroupID in which the group to be cloned.
     * @param {number} index - Specifies the index to insert the cloned group inside the parent group.
     * @returns {void}
     */
    cloneGroup(groupID: string, parentGroupID: string, index: number): void;
    /**
     * Locks the rule based on the rule ID.
     *
     * @param {string} ruleID - Specifies the ruleID that needs to be locked.
     * @returns {void}
     */
    lockRule(ruleID: string): void;
    /**
     * Locks the group based on the group ID
     *
     * @param {string} groupID - Specifies the groupID that needs to be locked.
     * @returns {void}
     */
    lockGroup(groupID: string): void;
    private sqlParser;
    private parseSqlStrings;
    private getDoubleQuoteString;
    private checkCondition;
    private getSingleQuoteString;
    private combineSingleQuoteString;
    private checkLiteral;
    private checkNumberLiteral;
    private getOperator;
    private getTypeFromColumn;
    private getLabelFromColumn;
    private getLabelFromField;
    private processParser;
    /**
     * Clone the Group
     *
     * @param {Element | string} target - 'target' to be passed to clone the group.
     * @returns {void}
     */
    private groupClone;
    private ruleClone;
    private ruleLock;
    private groupLock;
    private updateLockItems;
    private disableHeaderControls;
    private disableRuleControls;
}
export interface Level {
    [key: string]: number[];
}
/**
 * Creates the custom component of data.Query Builder
 */
export interface TemplateColumn {
    /**
     * Creates the custom component.
     *
     * @default null
     */
    create?: Element | Function | string;
    /**
     * Wire events for the custom component.
     *
     * @default null
     */
    write?: void | Function | string;
    /**
     * Destroy the custom component.
     *
     * @default null
     */
    destroy?: Function | string;
}
/**
 * Defines the validation of data.Query Builder.
 */
export interface Validation {
    /**
     * Specifies the minimum value in textbox validation.
     *
     * @default 2
     */
    min?: number;
    /**
     * Specifies the maximum value in textbox validation.
     *
     * @default 10
     */
    max?: number;
    /**
     * Specifies whether the value is required or not
     *
     * @default true
     */
    isRequired: boolean;
}
/**
 * Interface for change event.
 */
export interface ChangeEventArgs extends base.BaseEventArgs {
    groupID: string;
    ruleID?: string;
    childGroupID?: string;
    value?: string | number | Date | boolean | string[];
    selectedIndex?: number;
    selectedField?: string;
    cancel?: boolean;
    type?: string;
    not?: boolean;
}
/**
 * Interface for rule change event arguments.
 */
export interface RuleChangeEventArgs extends base.BaseEventArgs {
    previousRule?: RuleModel;
    rule: RuleModel;
    type?: string;
}
/**
 * Interface for action begin and action complete event args
 */
export interface ActionEventArgs extends base.BaseEventArgs {
    ruleID: string;
    requestType?: string;
    action?: string;
    rule?: RuleModel;
    fields?: Object;
    columns?: ColumnsModel[];
    operators?: {
        [key: string]: Object;
    }[];
    operatorFields?: Object;
    field?: string;
    operator?: string;
    condition?: string;
    notCondition?: boolean;
    renderTemplate?: boolean;
    groupID?: string;
}
/**
 * Interface to define the parameter SQL query.
 *
 */
export interface ParameterizedSql {
    /**
     * Specifies the SQL `WHERE` clause with `?` placeholders for each value.
     */
    sql: string;
    /**
     * Specifies the parameter values in the same order their respective placeholders appear in the `sql` string.
     */
    params: object[];
}
/**
 * Interface to define the parameterized named SQL query.
 *
 */
export interface ParameterizedNamedSql {
    /**
     * Specifies the SQL `WHERE` clause with bind variable placeholders for each value.
     */
    sql: string;
    /**
     * Specifies the bind variable names from the `sql` string to the associated values.
     */
    params: Record<string, object>;
}
/**
 * Interface to define the DragEventArgs for dragging action of group and rules.
 *
 */
export interface DragEventArgs {
    /**
     * Returns the ID of the rule id to be dragged.
     *
     * @returns {string} The ID of the rule where the drag action is performed.
     */
    dragRuleID: string;
    /**
     * Returns the ID of the group to be dragged.
     *
     * @returns {string} The ID of the group where the drag action is performed.
     */
    dragGroupID: string;
    /**
     * Determines whether to cancel the dragging action based on certain conditions.
     *
     * @returns {boolean} True if the dragging action should be cancelled, otherwise false.
     *
     */
    cancel: boolean;
}
/**
 * Interface to define the DropEventArgs for dropping action of group and rules.
 *
 */
export interface DropEventArgs {
    /**
     * Determines whether to cancel the dropping action based on certain conditions.
     *
     * @returns {boolean} True if the dropping action should be cancelled, otherwise false.
     */
    cancel: boolean;
    /**
     * Returns the ID of the rule where the drop action is initiated.
     *
     * @returns {string} The ID of the rule where the drop action is performed.
     */
    dropRuleID: string;
    /**
     * Returns the ID of the group where the drop action is initiated.
     *
     * @returns {string} The ID of the group where the drop action is performed.
     */
    dropGroupID: string;
}
//node_modules/@syncfusion/ej2-querybuilder/src/query-builder/query-builder-model.d.ts
/**
 * Interface for a class Columns
 */
export interface ColumnsModel {
    /**
     * Specifies the fields in columns.
     *
     * @default null
     */
    field?: string;
    /**
     * Specifies the labels name in columns.
     *
     * @default null
     */
    label?: string;
    /**
     * Specifies the types in columns field.
     *
     * @default null
     */
    type?: string;
    /**
     * Specifies the values in columns or bind the values from sub controls.
     *
     * @default null
     */
    values?: string[] | number[] | boolean[];
    /**
     * Specifies the operators in columns.
     *
     * @default null
     */
    operators?: { [key: string]: Object }[];
    /**
     * Specifies the rule template for the field with any other widgets.
     *
     * @default null
     * @aspType string
     */
    ruleTemplate?: string | Function;
    /**
     * Specifies the template for value field such as slider or any other widgets.
     *
     * @default null
     */
    template?: TemplateColumn | string | Function;
    /**
     * Specifies the validation for columns (text, number and date).
     *
     * @default  { isRequired: true , min: 0, max: Number.MAX_VALUE }
     */
    validation?: Validation;
    /**
     * Specifies the date format for columns.
     *
     * @aspType string
     * @blazorType string
     * @default null
     */
    format?: string | FormatObject;
    /**
     * Specifies the step value(numeric textbox) for columns.
     *
     * @default null
     */
    step?: number;
    /**
     * Specifies the default value for columns.
     *
     * @default null
     */
    value?:  string[] | number[] | string | number | boolean | Date;
    /**
     * Specifies the category for columns.
     *
     * @default null
     */
    category?: string;
    /**
     * Specifies the sub fields in columns.
     *
     * @default null
     */
    columns?: ColumnsModel[];
}
/**
 * Interface for a class Rule
 */
export interface RuleModel {
    /**
     * Specifies the condition value in group.
     *
     * @default null
     */
    condition?: string;
    /**
     * Specifies the rules in group.
     *
     * @default []
     */
    rules?: RuleModel[];
    /**
     * Specifies the field value in group.
     *
     * @default null
     */
    field?: string;
    /**
     * Specifies the label value in group.
     *
     * @default null
     */
    label?: string;
    /**
     * Specifies the type value in group.
     *
     * @default null
     */
    type?: string;
    /**
     * Specifies the operator value in group.
     *
     * @default null
     */
    operator?: string;
    /**
     * Specifies the sub controls value in group.
     *
     * @default null
     */
    value?: string[] | number[] | string | number | boolean;
    /**
     * Specifies whether not condition is true/false.
     *
     * @default false
     */
    not?: boolean;
    /**
     * Specifies whether rule is locked or not.
     *
     * @default null
     */
    isLocked?: boolean;
}
/**
 * Interface for a class Value
 */
export interface ValueModel {
    /**
     * Specifies the property for inputs.NumericTextBox value.
     *
     * @default null
     */
    numericTextBoxModel?: inputs.NumericTextBoxModel;
    /**
     * Specifies the property for dropdowns.MultiSelect value.
     *
     * @default null
     */
    multiSelectModel?: dropdowns.MultiSelectModel;
    /**
     *  Specifies the property for calendars.DatePicker value.
     *
     * @default null
     */
    datePickerModel?: calendars.DatePickerModel;
    /**
     *  Specifies the inputs.TextBox value.
     *
     * @default null
     */
    textBoxModel?: inputs.TextBoxModel;
    /**
     * Specifies the buttons.RadioButton value.
     *
     * @default null
     */
    radioButtonModel?: buttons.RadioButtonModel;
}
/**
 * Interface for a class ShowButtons
 */
export interface ShowButtonsModel {
    /**
     * Specifies the boolean value in ruleDelete that the enable/disable the buttons in rule.
     *
     * @default false
     */
    cloneRule?: boolean;
    /**
     * Specifies the boolean value in ruleDelete that the enable/disable the buttons in rule.
     *
     * @default false
     */
    cloneGroup?: boolean;
    /**
     * Specifies the boolean value in ruleDelete that the enable/disable the buttons in rule.
     *
     * @default false
     */
    lockRule?: boolean;
    /**
     * Specifies the boolean value in ruleDelete that the enable/disable the buttons in rule.
     *
     * @default false
     */
    lockGroup?: boolean;
    /**
     * Specifies the boolean value in ruleDelete that the enable/disable the buttons in rule.
     *
     * @default true
     */
    ruleDelete?: boolean;
    /**
     * Specifies the boolean value in groupInsert that the enable/disable the buttons in group.
     *
     * @default true
     */
    groupInsert?: boolean;
    /**
     * Specifies the boolean value in groupDelete that the enable/disable the buttons in group.
     *
     * @default true
     */
    groupDelete?: boolean;
}
/**
 * Interface for a class QueryBuilder
 */
export interface QueryBuilderModel extends base.ComponentModel{
    /**
     * Triggers when the component is created.
     *
     * @event created
     * @blazorProperty 'Created'
     */
    created?: base.EmitType<Event>;
    /**
     * Triggers when field, operator, value is change.
     *
     * @event actionBegin
     * @blazorProperty 'OnActionBegin'
     */
    actionBegin?: base.EmitType<ActionEventArgs>;
    /**
     * Triggers before the condition (And/Or), field, operator, value is changed.
     *
     * @event beforeChange
     * @blazorProperty 'OnValueChange'
     */
    beforeChange?: base.EmitType<ChangeEventArgs>;
    /**
     * Triggers when changing the condition(AND/OR), field, value, operator is changed.
     *
     * @event change
     * @blazorProperty 'Changed'
     */
    change?: base.EmitType<ChangeEventArgs>;
    /**
     * Triggers when dataBound to the data.Query Builder.
     *
     * @event dataBound
     * @blazorProperty 'dataBound'
     */
    dataBound?: base.EmitType<Object>;
    /**
     * Triggers when changing the condition(AND/OR), field, value, operator is changed
     *
     * @event ruleChange
     * @blazorProperty 'RuleChanged'
     */
    ruleChange?: base.EmitType<RuleChangeEventArgs>;
    /**
     * Triggers when rule/ group dragging starts.
     *
     *
     */
    dragStart?: base.EmitType<DragEventArgs>;
    /**
     * Triggers when rule/ group are dragged (moved) continuously.
     *
     *
     */
    drag?: base.EmitType<DragEventArgs>;
    /**
     * Triggers when rule/ group are dropped on to the target rule/ group.
     *
     *
     */
    drop?: base.EmitType<DropEventArgs>;
    /**
     * Specifies the showButtons settings of the query builder component.
     * The showButtons can be enable Enables or disables the ruleDelete, groupInsert, and groupDelete buttons.
     *
     * @default { ruleDelete: true , groupInsert: true, groupDelete: true }
     */
    showButtons?: ShowButtonsModel;
    /**
     * Shows or hides the filtered query.
     *
     * @default false
     */
    summaryView?: boolean;
    /**
     * Enables or disables the validation.
     *
     * @default false
     */
    allowValidation?: boolean;
    /**
     * Specifies the fieldMode as dropdowns.DropDownList or dropdowns.DropDownTree.
     *
     * @default 'Default'
     */
    fieldMode?: FieldMode;
    /**
     * Specifies columns to create filters.
     *
     * @default {}
     */
    columns?: ColumnsModel[];
    /**
     * Specifies the property for field.
     *
     *  @default null
     */
    fieldModel?: dropdowns.DropDownListModel | dropdowns.DropDownTreeModel;
    /**
     * Specifies the property for operator.
     *
     *  @default null
     */
    operatorModel?: dropdowns.DropDownListModel;
    /**
     * Specifies the property for value.
     *
     * @default null
     */
    valueModel?: ValueModel;
    /**
     * Specifies the template for the header with any other widgets.
     *
     * @default null
     * @aspType string
     */
    headerTemplate?: string | Function;
    /**
     * Defines class or multiple classes, which are separated by a space in the QueryBuilder element.
     * You can add custom styles to the QueryBuilder using the cssClass property.
     *
     * @default ''
     */
    cssClass?: string;
    /**
     * Binds the column name from data source in query-builder.
     * The `dataSource` is an array of JavaScript objects.
     *
     * @default []
     */
    dataSource?: Object[] | Object | data.DataManager;
    /**
     * Specifies the displayMode as Horizontal or Vertical.
     *
     * @default 'Horizontal'
     */
    displayMode?: DisplayMode;
    /**
     * Enable or disable persisting component's state between page reloads.
     * If enabled, filter states will be persisted.
     *
     * @default false.
     */
    enablePersistence?: boolean;
    /**
     * Specifies the sort direction of the field names.
     *
     * @default 'Default'
     */
    sortDirection?: SortDirection;
    /**
     * Specifies the maximum group count or restricts the group count.
     *
     * @default 5
     */
    maxGroupCount?: number;
    /**
     * Specifies the height of the query builder.
     *
     * @default 'auto'
     */
    height?: string;
    /**
     * Specifies the width of the query builder.
     *
     * @default 'auto'
     */
    width?: string;
    /**
     * If match case is set to true, the grid filters the records with exact match.
     * if false, it filters case insensitive records (uppercase and lowercase letters treated the same).
     *
     * @default false
     */
    matchCase?: boolean;
    /**
     * If immediateModeDelay is set by particular number, the rule Change event is triggered after that period.
     *
     * @default 0
     */
    immediateModeDelay?: number;
    /**
     * Enables/Disables the not group condition in query builder.
     *
     * @default false
     */
    enableNotCondition?: boolean;
    /**
     * When set to true, the user interactions on the component are disabled.
     *
     * @default false
     */
    readonly?: boolean;
    /**
     * Specifies a boolean value whether enable / disable the new rule adding while adding new groups.
     *
     * @remarks
     * If this property is true, the empty rule is inserted while inserting new group.
     * If set to false, the group is inserted without any rule.
     * @default true
     */
    addRuleToNewGroups?: boolean;
    /**
     * Specifies a boolean value whether enable / disable the auto selection with the first value for the field.
     *
     * @remarks
     * If this property is true, the field dropdown list will render with the first value of the dropdown list.
     * If set to false, the dropdown list render with placeholder.
     * @default false
     */
    autoSelectField?: boolean;
    /**
     * Specifies a boolean value whether enable / disable the auto selection with the first value for the operator.
     *
     * @remarks
     * If this property is true, the operator dropdown list will render with the first value of the dropdown list.
     * If set to false, the dropdown list render with placeholder.
     * @default true
     */
    autoSelectOperator?: boolean;
    /**
     * Specifies the separator string for column.
     *
     * @default ''
     */
    separator?: string;
    /**
     * Specifies whether to enable separate connectors between rules/groups.
     *
     * @remarks
     * When this property is set to true, each rule/group will have its own connector, allowing them to be connected independently with different connectors.
     * When set to false, will result in connectors being shared between rules/groups, possibly connecting them with the same connector.
     *
     * @default false
     *
     */
    enableSeparateConnector?: boolean;
    /**
     * Defines rules in the QueryBuilder.
     * Specifies the initial rule, which is JSON data.
     *
     * @default {}
     */
    rule?: RuleModel;
    /**
     * Specifies a boolean value whether to enable / disable the drag and drop support to move the rules/ groups.
     *
     * @remarks
     * If this property is true, the drag handle will be rendered in front of the rule/ group element to perform, drag and drop.
     * If set to false, the drag handle element is not rendered.
     * @default false
     */
    allowDragAndDrop?: boolean;
}
 }
export namespace ribbon { 

//node_modules/@syncfusion/ej2-ribbon/src/ribbon/modules/ribbon-keytip.d.ts
/**
 * Defines the keytip of Ribbon.
 */
export  class RibbonKeyTip {
    private parent;
    private isKeytipPopupOpen;
    private isKeytipPresent;
    constructor(parent: Ribbon);
    protected getModuleName(): string;
    protected destroy(): void;
    /**
     * Creates the keytips.
     *
     * @param {string} key - get's the keytip type.
     * @returns {void}
     * @hidden
     */
    createKeytip(key?: string): void;
    private calculateItemPosition;
    private createKeyTipElement;
    private calculateKeyTipPosition;
    /**
     * Performs keytip action.
     *
     * @param {string} keyPress - Gets the keytip text.
     * @param {boolean} isMethod - Gets the isMethod.
     * @returns {void}
     * @hidden
     */
    keytipPress(keyPress: string, isMethod?: boolean): void;
    private clickItems;
    private isInteractableElement;
    private commonItemsKeyTipPress;
    /**
     * Removes the keytip.
     *
     * @param {string} key - Gets the keyboard key element.
     * @returns {void}
     * @hidden
     */
    removeKeytip(key?: string): void;
    /**
     * Shows the Keytip dynamically.
     *
     * @param  {string} keyAction - Item for which the tooltip is to be shown.
     * @returns {void}
     */
    showKeyTips(keyAction?: string): void;
    /**
     * Hides the Keytip dynamically.
     *
     * @returns {void}
     */
    hideKeyTips(): void;
}
//node_modules/@syncfusion/ej2-ribbon/src/ribbon/modules/ribbon-filemenu.d.ts
/**
 * Defines the items of Ribbon.
 */
export  class RibbonFileMenu {
    private parent;
    private fileMenuDDB;
    private menuctrl;
    private ddbElement;
    constructor(parent: Ribbon);
    protected getModuleName(): string;
    protected destroy(): void;
    /**
     * Creates File Menu
     *
     * @param {FileMenuSettingsModel} fileMenuOptions - Gets the property of filemenu.
     * @returns {void}
     * @hidden
     */
    createFileMenu(fileMenuOptions: FileMenuSettingsModel): void;
    private addFileMenuTooltip;
    private addFileMenuKeytip;
    private ddbBeforeEvent;
    private ddbAfterEvent;
    private cloneMenuItem;
    private createRibbonMenu;
    private menuBeforeEvent;
    private menuAfterEvent;
    private beforeItemRender;
    private menuSelect;
    /**
     * setRtl
     *
     * @param {commonProperties} commonProp - Get the common property of ribbon.
     * @returns {void}
     * @hidden
     */
    setCommonProperties(commonProp: commonProperties): void;
    /**
     * Update FileMenu
     *
     * @param {FileMenuSettingsModel} fileMenuOptions - Gets the property of filemenu.
     * @returns {void}
     * @hidden
     */
    updateFileMenu(fileMenuOptions: FileMenuSettingsModel): void;
    private destroyMenu;
    private destroyDDB;
    private removeFileMenuTooltip;
    private removeFileMenuKeytip;
    /**
     * Add items to FileMenu.
     *
     * @param {navigations.MenuItemModel[]} items - Gets the items to be added.
     * @param {string} target - Gets the target item to add the items.
     * @param {boolean} isAfter - Gets the boolean value to add the items after or before the target item.
     * @param {boolean} isUniqueId - Gets whether the target provided is uniqueId or not.
     * @returns {void}
     */
    addItems(items: navigations.MenuItemModel[], target: string, isAfter: boolean, isUniqueId?: boolean): void;
    /**
     * Remove items from FileMenu.
     *
     * @param {string[]} items - Gets the items to be removed.
     * @param {boolean} isUniqueId - Gets whether the target provided is uniqueId or not.
     * @returns {void}
     */
    removeItems(items: string[], isUniqueId?: boolean): void;
    /**
     * Enable items in FileMenu.
     *
     * @param {string[]} items - Gets the items to be enabled.
     * @param {boolean} isUniqueId - Gets whether the target provided is uniqueId or not.
     * @returns {void}
     */
    enableItems(items: string[], isUniqueId?: boolean): void;
    /**
     * Disable items in FileMenu.
     *
     * @param {string[]} items - Gets the items to be disabled.
     * @param {boolean} isUniqueId - Gets whether the target provided is uniqueId or not.
     * @returns {void}
     */
    disableItems(items: string[], isUniqueId?: boolean): void;
    /**
     * Update items in FileMenu.
     *
     * @param {navigations.MenuItem} item - Gets the item to be updated.
     * @param {boolean} id - Gets the id of the item to be updated.
     * @param {boolean} isUniqueId - Gets whether the id provided is uniqueId or not.
     * @returns {void}
     */
    setItem(item: navigations.MenuItem, id?: string, isUniqueId?: boolean): void;
}
//node_modules/@syncfusion/ej2-ribbon/src/ribbon/modules/ribbon-contextualtab.d.ts
/**
 * Defines the ribbon contextual tab.
 */
export  class RibbonContextualTab {
    private parent;
    constructor(parent: Ribbon);
    protected getModuleName(): string;
    protected destroy(): void;
    /**
     * Creates Contextual tab.
     *
     * @returns {void}
     * @hidden
     */
    addContextualTabs(): void;
    /**
     * Updates Contextual tab.
     *
     * @param {RibbonContextualTabSettingsModel} newProp - Specifies new properties.
     * @param {RibbonContextualTabSettingsModel} contextualTab - Gets the property of contextual tab.
     * @returns {void}
     * @hidden
     */
    updateContextualTabs(newProp: RibbonContextualTabSettingsModel, contextualTab: RibbonContextualTabSettingsModel): void;
}
//node_modules/@syncfusion/ej2-ribbon/src/ribbon/modules/ribbon-backstage.d.ts
/**
 * Defines the items of Ribbon.
 */
export  class RibbonBackstage extends base.Component<HTMLElement> {
    private parent;
    private backstageButton;
    private popupEle;
    private menuCtrl;
    private footerMenuCtrl;
    private backstageButtonEle;
    private closeBtn;
    private popupHTMLElement;
    private backstageContentEle;
    private ulMenuElem;
    private isBackButtonClicked;
    private menuWrapper;
    private contentItem;
    private backstageTempEle;
    private itemsWrapperEle;
    private menuIndex;
    private isCloseBtn;
    constructor(parent: Ribbon);
    /**
     * @private
     * @returns {void}
     */
    protected render(): void;
    /**
     * @private
     * @returns {void}
     */
    protected preRender(): void;
    protected getPersistData(): string;
    /**
     * This method is abstract member of the base.Component<HTMLElement>.
     *
     * @private
     * @returns {void}
     */
    protected onPropertyChanged(): void;
    protected getModuleName(): string;
    protected destroy(): void;
    /**
     * Creates Backstage Menu
     *
     * @param {BackStageMenuModel} backStageOptions - Gets the property of backstage.
     * @returns {void}
     * @hidden
     */
    createBackStage(backStageOptions: BackStageMenuModel): void;
    private onClickEvent;
    private addBackStageMenuTooltip;
    private addBackStageMenuKeyTip;
    private checkMenuItems;
    private createBackStagePopup;
    private handleNavigation;
    private updatePopupPositionOnRtl;
    private createBackstageMenu;
    private cloneMenuItem;
    private cloneFooterMenuItem;
    private createBackStageContent;
    private createBackStageTemplate;
    private menuSelect;
    /**
     * setRtl
     *
     * @param {commonProperties} commonProp - Get the common property of ribbon.
     * @returns {void}
     * @hidden
     */
    setCommonProperties(commonProp: commonProperties): void;
    /**
     * Update Backstage menu
     *
     * @param {BackStageMenuModel} backStageOptions - Gets the property of backstage menu.
     * @returns {void}
     * @hidden
     */
    updateBackStageMenu(backStageOptions: BackStageMenuModel): void;
    private destroyMenu;
    private destroyDDB;
    private removeBackstageMenuTooltip;
    private removeBackstageMenuKeyTip;
    /**
     * Add items to Backstage Menu.
     *
     * @param {BackstageItemModel[]} items - Gets the items to be added.
     * @param {string} target - Gets the target item to add the items.
     * @param {boolean} isAfter - Gets the boolean value to add the items after or before the target item.
     * @param {boolean} isUniqueId - Gets whether the target provided is uniqueId or not.
     * @returns {void}
     */
    addBackstageItems(items: BackstageItemModel[], target: string, isAfter: boolean, isUniqueId?: boolean): void;
    /**
     * Remove items from Backstage Menu.
     *
     * @param {string[]} items - Gets the items to be removed.
     * @param {boolean} isUniqueId - Gets whether the target provided is uniqueId or not.
     * @returns {void}
     */
    removeBackstageItems(items: string[], isUniqueId?: boolean): void;
    /**
     * Renders the backstage dynamically.
     *
     * @returns {void}
     */
    showBackstage(): void;
    /**
     * Hides the backstage dynamically.
     *
     * @returns {void}
     */
    hideBackstage(): void;
}
//node_modules/@syncfusion/ej2-ribbon/src/ribbon/models/ribbon-tooltip.d.ts
/**
 * Defines the ribbon tooltip.
 */
export  class RibbonTooltip extends base.ChildProperty<RibbonTooltip> {
    /**
     * Defines the CSS class to customize the appearance of the tooltip.
     *
     * @default ''
     */
    cssClass: string;
    /**
     * Defines the unique ID for the tooltip.
     *
     * @default ''
     */
    id: string;
    /**
     * Defines the header content of the tooltip.
     *
     * @default ''
     */
    title: string;
    /**
     * Defines the content for the tooltip.
     *
     * @default ''
     */
    content: string;
    /**
     * Defines the CSS class for the icons to be shown in tooltip.
     *
     * @default ''
     */
    iconCss: string;
}
//node_modules/@syncfusion/ej2-ribbon/src/ribbon/models/ribbon-tooltip-model.d.ts
/**
 * Interface for a class RibbonTooltip
 */
export interface RibbonTooltipModel {
    /**
     * Defines the CSS class to customize the appearance of the tooltip.
     *
     * @default ''
     */
    cssClass?: string;
    /**
     * Defines the unique ID for the tooltip.
     *
     * @default ''
     */
    id?: string;
    /**
     * Defines the header content of the tooltip.
     *
     * @default ''
     */
    title?: string;
    /**
     * Defines the content for the tooltip.
     *
     * @default ''
     */
    content?: string;
    /**
     * Defines the CSS class for the icons to be shown in tooltip.
     *
     * @default ''
     */
    iconCss?: string;
}
//node_modules/@syncfusion/ej2-ribbon/src/ribbon/models/ribbon-tab.d.ts
/**
 * Defines the ribbon tab.
 */
export  class RibbonTab extends base.ChildProperty<RibbonTab> {
    /**
     * Specifies the keytip content.
     *
     * @default ''
     */
    keyTip: string;
    /**
     * Defines a unique identifier for the tab.
     *
     * @default ''
     */
    id: string;
    /**
     * Defines one or more CSS classes to customize the appearance of tab.
     *
     * @default ''
     */
    cssClass: string;
    /**
     * Defines the list of ribbon groups.
     *
     * @default []
     * @aspType List<RibbonGroup>
     */
    groups: RibbonGroupModel[];
    /**
     * Defines the content of tab header.
     *
     * @default ''
     */
    header: string;
    /**
     * @param {Object} prop - Gets the property of tab.
     * @param {boolean} muteOnChange - Gets the boolean value of muteOnChange.
     * @returns {void}
     * @private
     */
    setProperties(prop: Object, muteOnChange: boolean): void;
}
//node_modules/@syncfusion/ej2-ribbon/src/ribbon/models/ribbon-tab-model.d.ts
/**
 * Interface for a class RibbonTab
 */
export interface RibbonTabModel {
    /**
     * Specifies the keytip content.
     *
     * @default ''
     */
    keyTip?: string;
    /**
     * Defines a unique identifier for the tab.
     *
     * @default ''
     */
    id?: string;
    /**
     * Defines one or more CSS classes to customize the appearance of tab.
     *
     * @default ''
     */
    cssClass?: string;
    /**
     * Defines the list of ribbon groups.
     *
     * @default []
     * @aspType List<RibbonGroup>
     */
    groups?: RibbonGroupModel[];
    /**
     * Defines the content of tab header.
     *
     * @default ''
     */
    header?: string;
}
//node_modules/@syncfusion/ej2-ribbon/src/ribbon/models/ribbon-splitbutton-settings.d.ts
/**
 * Defines the ribbon SplitButton item.
 */
export  class RibbonSplitButtonSettings extends base.ChildProperty<RibbonSplitButtonSettings> {
    /**
     * Specifies the event to close the SplitButton popup.
     *
     * @default ''
     */
    closeActionEvents: string;
    /**
     * Specifies the content of the SplitButton.
     *
     * @default ''
     */
    content: string;
    /**
     * Defines one or more CSS classes to customize the appearance of SplitButton.
     *
     * @default ''
     */
    cssClass: string;
    /**
     * Defines the CSS class for the icons to be shown in the SplitButton.
     *
     * @default ''
     */
    iconCss: string;
    /**
     * Defines the list of items for the SplitButton popup.
     *
     * @default []
     */
    items: splitbuttons.ItemModel[];
    /**
     * Specifies the selector for the element to be shown in the SplitButton popup.
     *
     * @default ''
     * @aspType string
     */
    target: string | HTMLElement;
    /**
     * Specifies additional HTML attributes to be applied to the SplitButton.
     *
     * @default {}
     */
    htmlAttributes: {
        [key: string]: string;
    };
    /**
     * Triggers before closing the SplitButton popup.
     *
     * @event beforeClose
     */
    beforeClose: base.EmitType<splitbuttons.BeforeOpenCloseMenuEventArgs>;
    /**
     * Triggers while rendering each Popup item of SplitButton.
     *
     * @event beforeItemRender
     */
    beforeItemRender: base.EmitType<splitbuttons.MenuEventArgs>;
    /**
     * Triggers before opening the SplitButton popup.
     *
     * @event beforeOpen
     */
    beforeOpen: base.EmitType<splitbuttons.BeforeOpenCloseMenuEventArgs>;
    /**
     * Triggers while closing the SplitButton popup.
     *
     * @event close
     */
    close: base.EmitType<splitbuttons.OpenCloseMenuEventArgs>;
    /**
     * Triggers while clicking the primary button in SplitButton.
     *
     * @event click
     */
    click: base.EmitType<splitbuttons.ClickEventArgs>;
    /**
     * Event triggers once the SplitButton is created.
     *
     * @event created
     */
    created: base.EmitType<Event>;
    /**
     * Triggers while opening the SplitButton popup.
     *
     * @event open
     */
    open: base.EmitType<splitbuttons.OpenCloseMenuEventArgs>;
    /**
     * Triggers while selecting an action item in SplitButton popup.
     *
     * @event select
     */
    select: base.EmitType<splitbuttons.MenuEventArgs>;
    /**
     * @param {Object} prop - Gets the property of DropDown.
     * @param {boolean} muteOnChange - Gets the boolean value of muteOnChange.
     * @returns {void}
     * @private
     */
    setProperties(prop: Object, muteOnChange: boolean): void;
}
//node_modules/@syncfusion/ej2-ribbon/src/ribbon/models/ribbon-splitbutton-settings-model.d.ts
/**
 * Interface for a class RibbonSplitButtonSettings
 */
export interface RibbonSplitButtonSettingsModel {
    /**
     * Specifies the event to close the SplitButton popup.
     *
     * @default ''
     */
    closeActionEvents?: string;
    /**
     * Specifies the content of the SplitButton.
     *
     * @default ''
     */
    content?: string;
    /**
     * Defines one or more CSS classes to customize the appearance of SplitButton.
     *
     * @default ''
     */
    cssClass?: string;
    /**
     * Defines the CSS class for the icons to be shown in the SplitButton.
     *
     * @default ''
     */
    iconCss?: string;
    /**
     * Defines the list of items for the SplitButton popup.
     *
     * @default []
     */
    items?: splitbuttons.ItemModel[];
    /**
     * Specifies the selector for the element to be shown in the SplitButton popup.
     *
     * @default ''
     * @aspType string
     */
    target?: string | HTMLElement;
    /**
     * Specifies additional HTML attributes to be applied to the SplitButton.
     *
     * @default {}
     */
    htmlAttributes?: { [key: string]: string };
    /**
     * Triggers before closing the SplitButton popup.
     *
     * @event beforeClose
     */
    beforeClose?: base.EmitType<splitbuttons.BeforeOpenCloseMenuEventArgs>;
    /**
     * Triggers while rendering each Popup item of SplitButton.
     *
     * @event beforeItemRender
     */
    beforeItemRender?: base.EmitType<splitbuttons.MenuEventArgs>;
    /**
     * Triggers before opening the SplitButton popup.
     *
     * @event beforeOpen
     */
    beforeOpen?: base.EmitType<splitbuttons.BeforeOpenCloseMenuEventArgs>;
    /**
     * Triggers while closing the SplitButton popup.
     *
     * @event close
     */
    close?: base.EmitType<splitbuttons.OpenCloseMenuEventArgs>;
    /**
     * Triggers while clicking the primary button in SplitButton.
     *
     * @event click
     */
    click?: base.EmitType<splitbuttons.ClickEventArgs>;
    /**
     * base.Event triggers once the SplitButton is created.
     *
     * @event created
     */
    created?: base.EmitType<Event>;
    /**
     * Triggers while opening the SplitButton popup.
     *
     * @event open
     */
    open?: base.EmitType<splitbuttons.OpenCloseMenuEventArgs>;
    /**
     * Triggers while selecting an action item in SplitButton popup.
     *
     * @event select
     */
    select?: base.EmitType<splitbuttons.MenuEventArgs>;
}
//node_modules/@syncfusion/ej2-ribbon/src/ribbon/models/ribbon-item.d.ts
/**
 * Defines the ribbon item.
 */
export  class RibbonItem extends base.ChildProperty<RibbonItem> {
    /**
     * Defines the key tip text to be accessed for specified Ribbon item.
     *
     * @default ''
     */
    keyTip: string;
    /**
     * Defines the active size of the ribbon item.
     *
     * @default 'Medium'
     * @aspNumberEnum
     */
    activeSize: RibbonItemSize;
    /**
     * Defines the sizes that are allowed for the ribbon item on ribbon resize.
     *
     * @default null
     * @aspNumberEnum
     */
    allowedSizes: RibbonItemSize;
    /**
     * Defines a unique identifier for the item.
     *
     * @default ''
     */
    id: string;
    /**
     * Defines one or more CSS classes to customize the appearance of item.
     *
     * @default ''
     */
    cssClass: string;
    /**
     * Defines whether the item is disabled or not.
     *
     * @default false
     */
    disabled: boolean;
    /**
     * Defines the template content for the ribbon item.
     * `ActiveSize` property is passed as string in template context.
     *
     * @default ''
     * @angularType string | object | HTMLElement
     * @reactType string | function | JSX.Element | HTMLElement
     * @vueType string | function | HTMLElement
     * @aspType string
     */
    itemTemplate: string | HTMLElement | Function;
    /**
     * Defines the type of control to be added as the Ribbon Item.
     *
     * @isenumeration true
     * @default RibbonItemType.Button
     * @asptype RibbonItemType
     */
    type: RibbonItemType | string;
    /**
     * Defines the display options for the ribbon item.
     *
     * @default 'Auto'
     * @aspNumberEnum
     */
    displayOptions: DisplayMode;
    /**
     * Defines the settings for the tooltip of the item.
     *
     * @default {}
     */
    ribbonTooltipSettings: RibbonTooltipModel;
    /**
     * Defines the settings for the ribbon button.
     *
     * @default {}
     */
    buttonSettings: RibbonButtonSettingsModel;
    /**
     * Defines the settings for the ribbon dropdown button.
     *
     * @default {}
     */
    dropDownSettings: RibbonDropDownSettingsModel;
    /**
     * Defines the settings for the ribbon checkbox.
     *
     * @default {}
     */
    checkBoxSettings: RibbonCheckBoxSettingsModel;
    /**
     * Defines the settings for the ribbon color picker.
     *
     * @default {}
     */
    colorPickerSettings: RibbonColorPickerSettingsModel;
    /**
     * Defines the settings for the ribbon combobox.
     *
     * @default {}
     */
    comboBoxSettings: RibbonComboBoxSettingsModel;
    /**
     * Defines the settings for the ribbon split button.
     *
     * @default {}
     */
    splitButtonSettings: RibbonSplitButtonSettingsModel;
    /**
     * Defines the properties for group button in Ribbon
     *
     * @default {}
     */
    groupButtonSettings: RibbonGroupButtonSettingsModel;
    /**
     * Defines the properties of the gallery view in Ribbon.
     *
     * @default {}
     */
    gallerySettings: RibbonGallerySettingsModel;
    /**
     * @param {Object} prop - Gets the property of item.
     * @param {boolean} muteOnChange - Gets the boolean value of muteOnChange.
     * @returns {void}
     * @private
     */
    setProperties(prop: Object, muteOnChange: boolean): void;
}
//node_modules/@syncfusion/ej2-ribbon/src/ribbon/models/ribbon-item-model.d.ts
/**
 * Interface for a class RibbonItem
 */
export interface RibbonItemModel {
    /**
     * Defines the key tip text to be accessed for specified Ribbon item.
     *
     * @default ''
     */
    keyTip?: string;
    /**
     * Defines the active size of the ribbon item.
     *
     * @default 'Medium'
     * @aspNumberEnum
     */
    activeSize?: RibbonItemSize;
    /**
     * Defines the sizes that are allowed for the ribbon item on ribbon resize.
     *
     * @default null
     * @aspNumberEnum
     */
    allowedSizes?: RibbonItemSize;
    /**
     * Defines a unique identifier for the item.
     *
     * @default ''
     */
    id?: string;
    /**
     * Defines one or more CSS classes to customize the appearance of item.
     *
     * @default ''
     */
    cssClass?: string;
    /**
     * Defines whether the item is disabled or not.
     *
     * @default false
     */
    disabled?: boolean;
    /**
     * Defines the template content for the ribbon item.
     * `ActiveSize` property is passed as string in template context.
     *
     * @default ''
     * @angularType string | object | HTMLElement
     * @reactType string | function | JSX.Element | HTMLElement
     * @vueType string | function | HTMLElement
     * @aspType string
     */
    itemTemplate?: string | HTMLElement | Function;
    /**
     * Defines the type of control to be added as the Ribbon Item.
     *
     * @isenumeration true
     * @default RibbonItemType.Button
     * @asptype RibbonItemType
     */
    type?: RibbonItemType | string;
    /**
     * Defines the display options for the ribbon item.
     *
     * @default 'Auto'
     * @aspNumberEnum
     */
    displayOptions?: DisplayMode;
    /**
     * Defines the settings for the tooltip of the item.
     *
     * @default {}
     */
    ribbonTooltipSettings?: RibbonTooltipModel;
    /**
     * Defines the settings for the ribbon button.
     *
     * @default {}
     */
    buttonSettings?: RibbonButtonSettingsModel;
    /**
     * Defines the settings for the ribbon dropdown button.
     *
     * @default {}
     */
    dropDownSettings?: RibbonDropDownSettingsModel;
    /**
     * Defines the settings for the ribbon checkbox.
     *
     * @default {}
     */
    checkBoxSettings?: RibbonCheckBoxSettingsModel;
    /**
     * Defines the settings for the ribbon color picker.
     *
     * @default {}
     */
    colorPickerSettings?: RibbonColorPickerSettingsModel;
    /**
     * Defines the settings for the ribbon combobox.
     *
     * @default {}
     */
    comboBoxSettings?: RibbonComboBoxSettingsModel;
    /**
     * Defines the settings for the ribbon split button.
     *
     * @default {}
     */
    splitButtonSettings?: RibbonSplitButtonSettingsModel;
    /**
     * Defines the properties for group button in Ribbon
     *
     * @default {}
     */
    groupButtonSettings?: RibbonGroupButtonSettingsModel;
    /**
     * Defines the properties of the gallery view in Ribbon.
     *
     * @default {}
     */
    gallerySettings?: RibbonGallerySettingsModel;
}
//node_modules/@syncfusion/ej2-ribbon/src/ribbon/models/ribbon-group.d.ts
/**
 * Defines the ribbon group.
 */
export  class RibbonGroup extends base.ChildProperty<RibbonGroup> {
    /**
     * Specifies the keytip content.
     *
     * @default ''
     */
    keyTip: string;
    /**
     * Specifies the keytip content for launcher icon.
     *
     * @default ''
     */
    launcherIconKeyTip: string;
    /**
     * Defines the list of ribbon collections.
     *
     * @default []
     * @aspType List<RibbonCollection>
     */
    collections: RibbonCollectionModel[];
    /**
     * Defines one or more CSS classes to customize the appearance of group.
     *
     * @default ''
     */
    cssClass: string;
    /**
     * Defines a unique identifier for the group.
     *
     * @default ''
     */
    id: string;
    /**
     * Defines whether the group is in collapsed state or not during classic mode.
     *
     * @default false
     */
    isCollapsed: boolean;
    /**
     * Defines whether the group can be collapsed on resize during classic mode.
     *
     * @default true
     */
    isCollapsible: boolean;
    /**
     * Defines whether to add a separate popup for the overflow items in the group.
     * If it is set to false, the overflow items will be shown in the common overflow popup present at the right end of the tab content.
     *
     * @default false
     */
    enableGroupOverflow: boolean;
    /**
     * Defines the CSS class for the icons to be shown in the group overflow dropdown button in classic mode.
     * During overflow, the entire group will be shown in a popup of a dropdown button which appears in the place of the group in ribbon tab.
     *
     * @default ''
     */
    groupIconCss: string;
    /**
     * Defines the content of group header.
     *
     * @default ''
     */
    header: string;
    /**
     * Defines whether to orientation in which the items of the group should be arranged.
     *
     * @isenumeration true
     * @default ItemOrientation.Column
     * @aspType ItemOrientation
     */
    orientation: ItemOrientation | string;
    /**
     * Defines the header shown in overflow popup of Ribbon group.
     *
     * @default ''
     */
    overflowHeader: string;
    /**
     * Defines the priority order at which the group should be collapsed or expanded.
     * For collapsing value is fetched in ascending order and for expanding value is fetched in descending order.
     *
     * @default 0
     */
    priority: number;
    /**
     * Defines whether to show or hide the launcher icon for the group.
     *
     * @default false
     */
    showLauncherIcon: boolean;
    /**
     * @param {Object} prop - Gets the property of Group.
     * @param {boolean} muteOnChange - Gets the boolean value of muteOnChange.
     * @returns {void}
     * @private
     */
    setProperties(prop: Object, muteOnChange: boolean): void;
}
//node_modules/@syncfusion/ej2-ribbon/src/ribbon/models/ribbon-group-model.d.ts
/**
 * Interface for a class RibbonGroup
 */
export interface RibbonGroupModel {
    /**
     * Specifies the keytip content.
     *
     * @default ''
     */
    keyTip?: string;
    /**
     * Specifies the keytip content for launcher icon.
     *
     * @default ''
     */
    launcherIconKeyTip?: string;
    /**
     * Defines the list of ribbon collections.
     *
     * @default []
     * @aspType List<RibbonCollection>
     */
    collections?: RibbonCollectionModel[];
    /**
     * Defines one or more CSS classes to customize the appearance of group.
     *
     * @default ''
     */
    cssClass?: string;
    /**
     * Defines a unique identifier for the group.
     *
     * @default ''
     */
    id?: string;
    /**
     * Defines whether the group is in collapsed state or not during classic mode.
     *
     * @default false
     */
    isCollapsed?: boolean;
    /**
     * Defines whether the group can be collapsed on resize during classic mode.
     *
     * @default true
     */
    isCollapsible?: boolean;
    /**
     * Defines whether to add a separate popup for the overflow items in the group.
     * If it is set to false, the overflow items will be shown in the common overflow popup present at the right end of the tab content.
     *
     * @default false
     */
    enableGroupOverflow?: boolean;
    /**
     * Defines the CSS class for the icons to be shown in the group overflow dropdown button in classic mode.
     * During overflow, the entire group will be shown in a popup of a dropdown button which appears in the place of the group in ribbon tab.
     *
     * @default ''
     */
    groupIconCss?: string;
    /**
     * Defines the content of group header.
     *
     * @default ''
     */
    header?: string;
    /**
     * Defines whether to orientation in which the items of the group should be arranged.
     *
     * @isenumeration true
     * @default ItemOrientation.Column
     * @aspType ItemOrientation
     */
    orientation?: ItemOrientation | string;
    /**
     * Defines the header shown in overflow popup of Ribbon group.
     *
     * @default ''
     */
    overflowHeader?: string;
    /**
     * Defines the priority order at which the group should be collapsed or expanded.
     * For collapsing value is fetched in ascending order and for expanding value is fetched in descending order.
     *
     * @default 0
     */
    priority?: number;
    /**
     * Defines whether to show or hide the launcher icon for the group.
     *
     * @default false
     */
    showLauncherIcon?: boolean;
}
//node_modules/@syncfusion/ej2-ribbon/src/ribbon/models/ribbon-group-button-settings.d.ts
/**
 * Defines the ribbon group button settings.
 */
export  class RibbonGroupButtonSettings extends base.ChildProperty<RibbonGroupButtonSettings> {
    /**
     * Specifies the header for the groupbutton popup in Simplified layout.
     *
     * @default ''
     */
    header: string;
    /**
     * Defines options for Selection Type.
     *
     * @isenumeration true
     * @default 'Single'
     * @asptype RibbonGroupButtonSelection
     */
    selection: RibbonGroupButtonSelection;
    /**
     * Defines the properties for collection of button items in Ribbon group button.
     *
     * @default []
     * @aspType List<RibbonGroupButtonItem>
     */
    items: RibbonGroupButtonItemModel[];
}
//node_modules/@syncfusion/ej2-ribbon/src/ribbon/models/ribbon-group-button-settings-model.d.ts
/**
 * Interface for a class RibbonGroupButtonSettings
 */
export interface RibbonGroupButtonSettingsModel {
    /**
     * Specifies the header for the groupbutton popup in Simplified layout.
     *
     * @default ''
     */
    header?: string;
    /**
     * Defines options for Selection Type.
     *
     * @isenumeration true
     * @default 'Single'
     * @asptype RibbonGroupButtonSelection
     */
    selection?: RibbonGroupButtonSelection;
    /**
     * Defines the properties for collection of button items in Ribbon group button.
     *
     * @default []
     * @aspType List<RibbonGroupButtonItem>
     */
    items?: RibbonGroupButtonItemModel[];
}
//node_modules/@syncfusion/ej2-ribbon/src/ribbon/models/ribbon-group-button-item.d.ts
/**
 * Defines the ribbon group button settings.
 */
export  class RibbonGroupButtonItem extends base.ChildProperty<RibbonGroupButtonItem> {
    /**
     * Defines the content for the button.
     *
     * @default ''
     */
    content: string;
    /**
     * Defines the CSS class for the icons to be shown in button.
     *
     * @default ''
     */
    iconCss: string;
    /**
     * Specifies the keytip content.
     *
     * @default ''
     */
    keyTip: string;
    /**
     * Specifies the tooltip settings for the group button items.
     *
     * @default {}
     */
    ribbonTooltipSettings: RibbonTooltipModel;
    /**
     * Defines whether the button is selected or not.
     *
     * @default false
     */
    selected: boolean;
    /**
     * Specifies additional HTML attributes to be applied to the group button item.
     *
     * @default {}
     */
    htmlAttributes: {
        [key: string]: string;
    };
    /**
     * Triggers before clicking the button from group button.
     *
     * @event beforeClick
     */
    beforeClick: base.EmitType<BeforeClickGroupButtonEventArgs>;
    /**
     * Triggers after clicking the button from group button.
     *
     * @event click
     */
    click: base.EmitType<ClickGroupButtonEventArgs>;
    /**
     * @param {Object} prop - Gets the property of group button.
     * @param {boolean} muteOnChange - Gets the boolean value of muteOnChange.
     * @returns {void}
     * @private
     */
    setProperties(prop: Object, muteOnChange: boolean): void;
}
//node_modules/@syncfusion/ej2-ribbon/src/ribbon/models/ribbon-group-button-item-model.d.ts
/**
 * Interface for a class RibbonGroupButtonItem
 */
export interface RibbonGroupButtonItemModel {
    /**
     * Defines the content for the button.
     *
     * @default ''
     */
    content?: string;
    /**
     * Defines the CSS class for the icons to be shown in button.
     *
     * @default ''
     */
    iconCss?: string;
    /**
     * Specifies the keytip content.
     *
     * @default ''
     */
    keyTip?: string;
    /**
     * Specifies the tooltip settings for the group button items.
     *
     * @default {}
     */
    ribbonTooltipSettings?: RibbonTooltipModel;
    /**
     * Defines whether the button is selected or not.
     *
     * @default false
     */
    selected?: boolean;
    /**
     * Specifies additional HTML attributes to be applied to the group button item.
     *
     * @default {}
     */
    htmlAttributes?: { [key: string]: string };
    /**
     * Triggers before clicking the button from group button.
     *
     * @event beforeClick
     */
    beforeClick?: base.EmitType<BeforeClickGroupButtonEventArgs>;
    /**
     * Triggers after clicking the button from group button.
     *
     * @event click
     */
    click?: base.EmitType<ClickGroupButtonEventArgs>;
}
//node_modules/@syncfusion/ej2-ribbon/src/ribbon/models/ribbon-gallery-settings.d.ts
/**
 * Defines the ribbon gallery settings.
 */
export  class RibbonGallerySettings extends base.ChildProperty<RibbonGallerySettings> {
    /**
     * Defines the properties for collection of gallery items in the Ribbon.
     *
     * @default []
     * @aspType List<RibbonGalleryGroup>
     */
    groups: RibbonGalleryGroupModel[];
    /**
     * Defines the number of items to be displayed in the Ribbon Gallery.
     *
     * @default 3
     */
    itemCount: number;
    /**
     * Defines the index of current selected gallery item.
     *
     * @default null
     */
    selectedItemIndex: number;
    /**
     * Defines the height of the ribbon gallery popup.
     *
     * @default 'auto'
     */
    popupHeight: string;
    /**
     * Defines the width of the ribbon gallery popup.
     *
     * @default 'auto'
     */
    popupWidth: string;
    /**
     * Defines the template for gallery items contents. The current gallery item model passed as context to build the content.
     *
     * @default ''
     * @angularType string | object
     * @reactType string | function | JSX.Element
     * @vueType string | function
     * @aspType string
     */
    template: string | Function;
    /**
     * Defines the template for gallery items in popup. The current gallery item model passed as context to build the content.
     *
     * @default ''
     * @angularType string | object
     * @reactType string | function | JSX.Element
     * @vueType string | function
     * @aspType string
     */
    popupTemplate: string | Function;
    /**
     * Event triggers when the gallery popup opens.
     *
     * @event popupOpen
     */
    popupOpen: base.EmitType<GalleryPopupEventArgs>;
    /**
     * Event triggers when the gallery popup closes.
     *
     * @event popupClose
     */
    popupClose: base.EmitType<GalleryPopupEventArgs>;
    /**
     * Event triggers when a user hovers over a gallery item.
     *
     * @event itemHover
     */
    itemHover: base.EmitType<GalleryHoverEventArgs>;
    /**
     * Event triggers before rendering each gallery item.
     *
     * @event beforeItemRender
     */
    beforeItemRender: base.EmitType<GalleryItemEventArgs>;
    /**
     * Event triggers before the gallery items selects.
     *
     * @event beforeSelect
     */
    beforeSelect: base.EmitType<GalleryBeforeSelectEventArgs>;
    /**
     * Event triggers when the gallery items selects.
     *
     * @event select
     */
    select: base.EmitType<GallerySelectEventArgs>;
}
//node_modules/@syncfusion/ej2-ribbon/src/ribbon/models/ribbon-gallery-settings-model.d.ts
/**
 * Interface for a class RibbonGallerySettings
 */
export interface RibbonGallerySettingsModel {
    /**
     * Defines the properties for collection of gallery items in the Ribbon.
     *
     * @default []
     * @aspType List<RibbonGalleryGroup>
     */
    groups?: RibbonGalleryGroupModel[];
    /**
     * Defines the number of items to be displayed in the Ribbon Gallery.
     *
     * @default 3
     */
    itemCount?: number;
    /**
     * Defines the index of current selected gallery item.
     *
     * @default null
     */
    selectedItemIndex?: number;
    /**
     * Defines the height of the ribbon gallery popup.
     *
     * @default 'auto'
     */
    popupHeight?: string;
    /**
     * Defines the width of the ribbon gallery popup.
     *
     * @default 'auto'
     */
    popupWidth?: string;
    /**
     * Defines the template for gallery items contents. The current gallery item model passed as context to build the content.
     *
     * @default ''
     * @angularType string | object
     * @reactType string | function | JSX.Element
     * @vueType string | function
     * @aspType string
     */
    template?: string | Function;
    /**
     * Defines the template for gallery items in popup. The current gallery item model passed as context to build the content.
     *
     * @default ''
     * @angularType string | object
     * @reactType string | function | JSX.Element
     * @vueType string | function
     * @aspType string
     */
    popupTemplate?: string | Function;
    /**
     * base.Event triggers when the gallery popup opens.
     *
     * @event popupOpen
     */
    popupOpen?: base.EmitType<GalleryPopupEventArgs>;
    /**
     * base.Event triggers when the gallery popup closes.
     *
     * @event popupClose
     */
    popupClose?: base.EmitType<GalleryPopupEventArgs>;
    /**
     * base.Event triggers when a user hovers over a gallery item.
     *
     * @event itemHover
     */
    itemHover?: base.EmitType<GalleryHoverEventArgs>;
    /**
     * base.Event triggers before rendering each gallery item.
     *
     * @event beforeItemRender
     */
    beforeItemRender?: base.EmitType<GalleryItemEventArgs>;
    /**
     * base.Event triggers before the gallery items selects.
     *
     * @event beforeSelect
     */
    beforeSelect?: base.EmitType<GalleryBeforeSelectEventArgs>;
    /**
     * base.Event triggers when the gallery items selects.
     *
     * @event select
     */
    select?: base.EmitType<GallerySelectEventArgs>;
}
//node_modules/@syncfusion/ej2-ribbon/src/ribbon/models/ribbon-gallery-item.d.ts
/**
 * Defines the ribbon gallery item.
 */
export  class RibbonGalleryItem extends base.ChildProperty<RibbonGalleryItem> {
    /**
     * Defines the content for the gallery item.
     *
     * @default ''
     */
    content: string;
    /**
     * Defines the image or icons for the gallery item.
     *
     * @default ''
     */
    iconCss: string;
    /**
     * Specifies additional HTML attributes to be applied to the Ribbon Gallery item.
     *
     * @default {}
     */
    htmlAttributes: {
        [key: string]: string;
    };
    /**
     * Defines the CSS class to customize the gallery items.
     *
     * @default ''
     */
    cssClass: string;
    /**
     * Defines whether the item is disabled or not.
     *
     * @default false
     */
    disabled: boolean;
}
//node_modules/@syncfusion/ej2-ribbon/src/ribbon/models/ribbon-gallery-item-model.d.ts
/**
 * Interface for a class RibbonGalleryItem
 */
export interface RibbonGalleryItemModel {
    /**
     * Defines the content for the gallery item.
     *
     * @default ''
     */
    content?: string;
    /**
     * Defines the image or icons for the gallery item.
     *
     * @default ''
     */
    iconCss?: string;
    /**
     * Specifies additional HTML attributes to be applied to the Ribbon Gallery item.
     *
     * @default {}
     */
    htmlAttributes?: { [key: string]: string };
    /**
     * Defines the CSS class to customize the gallery items.
     *
     * @default ''
     */
    cssClass?: string;
    /**
     * Defines whether the item is disabled or not.
     *
     * @default false
     */
    disabled?: boolean;
}
//node_modules/@syncfusion/ej2-ribbon/src/ribbon/models/ribbon-gallery-group.d.ts
/**
 * Defines the ribbon gallery group.
 */
export  class RibbonGalleryGroup extends base.ChildProperty<RibbonGalleryGroup> {
    /**
     * Defines the properties for collection of gallery items in Ribbon.
     *
     * @default []
     * @aspType List<RibbonGalleryItem>
     */
    items: RibbonGalleryItemModel[];
    /**
     * Defines the header for the group items present in Ribbon Gallery popup.
     *
     * @default ''
     */
    header: string;
    /**
     * Defines the width of the gallery items.
     *
     * @default 'auto'
     */
    itemWidth: string;
    /**
     * Defines the height of the gallery item.
     *
     * @default 'auto'
     */
    itemHeight: string;
    /**
     * Defines the CSS class to customize the gallery groups.
     *
     * @default ''
     */
    cssClass: string;
}
//node_modules/@syncfusion/ej2-ribbon/src/ribbon/models/ribbon-gallery-group-model.d.ts
/**
 * Interface for a class RibbonGalleryGroup
 */
export interface RibbonGalleryGroupModel {
    /**
     * Defines the properties for collection of gallery items in Ribbon.
     *
     * @default []
     * @aspType List<RibbonGalleryItem>
     */
    items?: RibbonGalleryItemModel[];
    /**
     * Defines the header for the group items present in Ribbon Gallery popup.
     *
     * @default ''
     */
    header?: string;
    /**
     * Defines the width of the gallery items.
     *
     * @default 'auto'
     */
    itemWidth?: string;
    /**
     * Defines the height of the gallery item.
     *
     * @default 'auto'
     */
    itemHeight?: string;
    /**
     * Defines the CSS class to customize the gallery groups.
     *
     * @default ''
     */
    cssClass?: string;
}
//node_modules/@syncfusion/ej2-ribbon/src/ribbon/models/ribbon-file-menu-settings.d.ts
/**
 * Defines the ribbon file menu settings.
 */
export  class FileMenuSettings extends base.ChildProperty<FileMenuSettings> {
    /**
     * Defines the text content of file menu button.
     *
     * @default 'File'
     */
    text: string;
    /**
     * Defines whether to show the file menu button.
     *
     * @default false
     */
    visible: boolean;
    /**
     * Defines the list of menu items for the file menu.
     *
     * @default []
     */
    menuItems: navigations.MenuItemModel[];
    /**
     * 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 the animation settings for the sub menu open/close.
     *
     * @default ''
     */
    animationSettings: navigations.MenuAnimationSettingsModel;
    /**
     * Specifies the template for file menu item.
     *
     * @default ''
     * @angularType string | object
     * @reactType string | function | JSX.Element
     * @vueType string | function
     * @aspType string
     */
    itemTemplate: string | Function;
    /**
     * Specifies the custom content for the file menu popup.
     *
     * @default ''
     * @angularType string | HTMLElement
     * @reactType string | HTMLElement | JSX.Element
     * @vueType string | HTMLElement
     * @aspType string
     */
    popupTemplate: string | HTMLElement;
    /**
     * Specifies the tooltip settings for the file menu button.
     *
     * @default {}
     */
    ribbonTooltipSettings: RibbonTooltipModel;
    /**
     * Event triggers before closing the file menu popup.
     *
     * @event beforeClose
     */
    beforeClose: base.EmitType<FileMenuBeforeOpenCloseEventArgs>;
    /**
     * Event triggers before opening the file menu popup.
     *
     * @event beforeOpen
     */
    beforeOpen: base.EmitType<FileMenuBeforeOpenCloseEventArgs>;
    /**
     * Event triggers while rendering each ribbon file menu item.
     *
     * @event beforeItemRender
     */
    beforeItemRender: base.EmitType<FileMenuEventArgs>;
    /**
     * Event triggers when file menu popup is closed.
     *
     * @event close
     */
    close: base.EmitType<FileMenuOpenCloseEventArgs>;
    /**
     * Event triggers when file menu popup is opened.
     *
     * @event open
     */
    open: base.EmitType<FileMenuOpenCloseEventArgs>;
    /**
     * Event triggers while selecting an item in ribbon file menu.
     *
     * @event select
     */
    select: base.EmitType<FileMenuEventArgs>;
    /**
     * Specifies the keytip content.
     *
     * @default ''
     */
    keyTip: string;
    /**
     * @param {Object} prop - Gets the property of FileMenu.
     * @param {boolean} muteOnChange - Gets the boolean value of muteOnChange.
     * @returns {void}
     * @private
     */
    setProperties(prop: Object, muteOnChange: boolean): void;
}
/**
 * Event Triggers when selecting or creating the file menu item.
 */
export interface FileMenuEventArgs extends base.BaseEventArgs {
    /**
     *  Provides the HTML element of the file menu item.
     */
    element: HTMLElement;
    /**
     * Provides the file menu item object.
     */
    item: navigations.MenuItemModel;
    /**
     * Provides the actual native event.
     */
    event?: Event;
}
/**
 * Event Triggers when opening or closing the file menu.
 */
export interface FileMenuOpenCloseEventArgs extends base.BaseEventArgs {
    /**
     *  Provides the HTML element of the file menu popup.
     */
    element: HTMLElement;
    /**
     * Provides the file menu item object.
     */
    items?: navigations.MenuItemModel[];
    /**
     * Provides the parent file menu item of the popup, in case of sub-menu.
     */
    parentItem?: navigations.MenuItemModel;
}
/**
 * Event Triggers before opening or closing the file menu.
 */
export interface FileMenuBeforeOpenCloseEventArgs extends base.BaseEventArgs {
    /**
     * Defines whether to cancel the file menu popup opening or closing.
     */
    cancel: boolean;
    /**
     *  Provides the HTML element of the file menu popup.
     */
    element: HTMLElement;
    /**
     * Provides the file menu item object.
     */
    items?: navigations.MenuItemModel[];
    /**
     * Provides the parent file menu item of the popup, in case of sub-menu.
     */
    parentItem?: navigations.MenuItemModel;
    /**
     * Provides the actual native event.
     */
    event: Event;
}
//node_modules/@syncfusion/ej2-ribbon/src/ribbon/models/ribbon-file-menu-settings-model.d.ts
/**
 * Interface for a class FileMenuSettings
 */
export interface FileMenuSettingsModel {
    /**
     * Defines the text content of file menu button.
     *
     * @default 'File'
     */
    text?: string;
    /**
     * Defines whether to show the file menu button.
     *
     * @default false
     */
    visible?: boolean;
    /**
     * Defines the list of menu items for the file menu.
     *
     * @default []
     */
    menuItems?: navigations.MenuItemModel[];
    /**
     * 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 the animation settings for the sub menu open/close.
     *
     * @default ''
     */
    animationSettings?: navigations.MenuAnimationSettingsModel;
    /**
     * Specifies the template for file menu item.
     *
     * @default ''
     * @angularType string | object
     * @reactType string | function | JSX.Element
     * @vueType string | function
     * @aspType string
     */
    itemTemplate?: string | Function;
    /**
     * Specifies the custom content for the file menu popup.
     *
     * @default ''
     * @angularType string | HTMLElement
     * @reactType string | HTMLElement | JSX.Element
     * @vueType string | HTMLElement
     * @aspType string
     */
    popupTemplate?: string | HTMLElement;
    /**
     * Specifies the tooltip settings for the file menu button.
     *
     * @default {}
     */
    ribbonTooltipSettings?: RibbonTooltipModel;
    /**
     * base.Event triggers before closing the file menu popup.
     *
     * @event beforeClose
     */
    beforeClose?: base.EmitType<FileMenuBeforeOpenCloseEventArgs>;
    /**
     * base.Event triggers before opening the file menu popup.
     *
     * @event beforeOpen
     */
    beforeOpen?: base.EmitType<FileMenuBeforeOpenCloseEventArgs>;
    /**
     * base.Event triggers while rendering each ribbon file menu item.
     *
     * @event beforeItemRender
     */
    beforeItemRender?: base.EmitType<FileMenuEventArgs>;
    /**
     * base.Event triggers when file menu popup is closed.
     *
     * @event close
     */
    close?: base.EmitType<FileMenuOpenCloseEventArgs>;
    /**
     * base.Event triggers when file menu popup is opened.
     *
     * @event open
     */
    open?: base.EmitType<FileMenuOpenCloseEventArgs>;
    /**
     * base.Event triggers while selecting an item in ribbon file menu.
     *
     * @event select
     */
    select?: base.EmitType<FileMenuEventArgs>;
    /**
     * Specifies the keytip content.
     *
     * @default ''
     */
    keyTip?: string;
}
//node_modules/@syncfusion/ej2-ribbon/src/ribbon/models/ribbon-dropdown-settings.d.ts
/**
 * Defines the ribbon DropDownButton item.
 */
export  class RibbonDropDownSettings extends base.ChildProperty<RibbonDropDownSettings> {
    /**
     * Specifies the event to close the DropDownButton popup.
     *
     * @default ''
     */
    closeActionEvents: string;
    /**
     * Specifies the content of the DropDownButton.
     *
     * @default ''
     */
    content: string;
    /**
     * Defines one or more CSS classes to customize the appearance of DropDownButton.
     *
     * @default ''
     */
    cssClass: string;
    /**
     * Defines the CSS class for the icons to be shown in the DropDownButton.
     *
     * @default ''
     */
    iconCss: string;
    /**
     * Defines the list of items for the DropDownButton popup.
     *
     * @default []
     */
    items: splitbuttons.ItemModel[];
    /**
     * Specifies the selector for the element to be shown in the DropDownButton popup.
     *
     * @default ''
     * @aspType string
     */
    target: string | HTMLElement;
    /**
     * Specifies whether to create popup element on open.
     *
     * @default false
     */
    createPopupOnClick: boolean;
    /**
     * Specifies additional HTML attributes to be applied to the DropDownButton.
     *
     * @default {}
     */
    htmlAttributes: {
        [key: string]: string;
    };
    /**
     * Triggers before closing the DropDownButton popup.
     *
     * @event beforeClose
     */
    beforeClose: base.EmitType<splitbuttons.BeforeOpenCloseMenuEventArgs>;
    /**
     * Triggers while rendering each Popup item of DropDownButton.
     *
     * @event beforeItemRender
     */
    beforeItemRender: base.EmitType<splitbuttons.MenuEventArgs>;
    /**
     * Triggers before opening the DropDownButton popup.
     *
     * @event beforeOpen
     */
    beforeOpen: base.EmitType<splitbuttons.BeforeOpenCloseMenuEventArgs>;
    /**
     * Triggers while closing the DropDownButton popup.
     *
     * @event close
     */
    close: base.EmitType<splitbuttons.OpenCloseMenuEventArgs>;
    /**
     * Event triggers once the DropDownButton is created.
     *
     * @event created
     */
    created: base.EmitType<Event>;
    /**
     * Triggers while opening the DropDownButton popup.
     *
     * @event open
     */
    open: base.EmitType<splitbuttons.OpenCloseMenuEventArgs>;
    /**
     * Triggers while selecting an action item in DropDownButton popup.
     *
     * @event select
     */
    select: base.EmitType<splitbuttons.MenuEventArgs>;
    /**
     * @param {Object} prop - Gets the property of DropDown.
     * @param {boolean} muteOnChange - Gets the boolean value of muteOnChange.
     * @returns {void}
     * @private
     */
    setProperties(prop: Object, muteOnChange: boolean): void;
}
//node_modules/@syncfusion/ej2-ribbon/src/ribbon/models/ribbon-dropdown-settings-model.d.ts
/**
 * Interface for a class RibbonDropDownSettings
 */
export interface RibbonDropDownSettingsModel {
    /**
     * Specifies the event to close the DropDownButton popup.
     *
     * @default ''
     */
    closeActionEvents?: string;
    /**
     * Specifies the content of the DropDownButton.
     *
     * @default ''
     */
    content?: string;
    /**
     * Defines one or more CSS classes to customize the appearance of DropDownButton.
     *
     * @default ''
     */
    cssClass?: string;
    /**
     * Defines the CSS class for the icons to be shown in the DropDownButton.
     *
     * @default ''
     */
    iconCss?: string;
    /**
     * Defines the list of items for the DropDownButton popup.
     *
     * @default []
     */
    items?: splitbuttons.ItemModel[];
    /**
     * Specifies the selector for the element to be shown in the DropDownButton popup.
     *
     * @default ''
     * @aspType string
     */
    target?: string | HTMLElement;
    /**
     * Specifies whether to create popup element on open.
     *
     * @default false
     */
    createPopupOnClick?: boolean;
    /**
     * Specifies additional HTML attributes to be applied to the DropDownButton.
     *
     * @default {}
     */
    htmlAttributes?: { [key: string]: string };
    /**
     * Triggers before closing the DropDownButton popup.
     *
     * @event beforeClose
     */
    beforeClose?: base.EmitType<splitbuttons.BeforeOpenCloseMenuEventArgs>;
    /**
     * Triggers while rendering each Popup item of DropDownButton.
     *
     * @event beforeItemRender
     */
    beforeItemRender?: base.EmitType<splitbuttons.MenuEventArgs>;
    /**
     * Triggers before opening the DropDownButton popup.
     *
     * @event beforeOpen
     */
    beforeOpen?: base.EmitType<splitbuttons.BeforeOpenCloseMenuEventArgs>;
    /**
     * Triggers while closing the DropDownButton popup.
     *
     * @event close
     */
    close?: base.EmitType<splitbuttons.OpenCloseMenuEventArgs>;
    /**
     * base.Event triggers once the DropDownButton is created.
     *
     * @event created
     */
    created?: base.EmitType<Event>;
    /**
     * Triggers while opening the DropDownButton popup.
     *
     * @event open
     */
    open?: base.EmitType<splitbuttons.OpenCloseMenuEventArgs>;
    /**
     * Triggers while selecting an action item in DropDownButton popup.
     *
     * @event select
     */
    select?: base.EmitType<splitbuttons.MenuEventArgs>;
}
//node_modules/@syncfusion/ej2-ribbon/src/ribbon/models/ribbon-contextual-tab-settings.d.ts
/**
 * Defines the ribbon contextual tab.
 */
export  class RibbonContextualTabSettings extends base.ChildProperty<RibbonContextualTabSettings> {
    /**
     * Specifies whether the contextual tab is visible.
     *
     * @default false
     */
    visible: boolean;
    /**
     * Specifies whether the contextual tab is selected.
     *
     * @default false
     */
    isSelected: boolean;
    /**
     * Defines the tab groups to be rendered in ribbon.
     *
     * @default []
     * @aspType List<RibbonTab>
     */
    tabs: RibbonTabModel[];
    /**
     * @param {Object} prop - Gets the property of contextual tab.
     * @param {boolean} muteOnChange - Gets the boolean value of muteOnChange.
     * @returns {void}
     * @private
     */
    setProperties(prop: Object, muteOnChange: boolean): void;
}
//node_modules/@syncfusion/ej2-ribbon/src/ribbon/models/ribbon-contextual-tab-settings-model.d.ts
/**
 * Interface for a class RibbonContextualTabSettings
 */
export interface RibbonContextualTabSettingsModel {
    /**
     * Specifies whether the contextual tab is visible.
     *
     * @default false
     */
    visible?: boolean;
    /**
     * Specifies whether the contextual tab is selected.
     *
     * @default false
     */
    isSelected?: boolean;
    /**
     * Defines the tab groups to be rendered in ribbon.
     *
     * @default []
     * @aspType List<RibbonTab>
     */
    tabs?: RibbonTabModel[];
}
//node_modules/@syncfusion/ej2-ribbon/src/ribbon/models/ribbon-combobox-settings.d.ts
/**
 * Defines the ribbon combobox item.
 */
export  class RibbonComboBoxSettings extends base.ChildProperty<RibbonComboBoxSettings> {
    /**
     * Specifies whether to show the filter bar (search box) of the combobox.
     * 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.
     *
     * @default false
     */
    allowFiltering: boolean;
    /**
     * Specifies whether to suggest a first matched item in input when searching.
     * No action happens when no matches found.
     *
     * @default true
     */
    autofill: boolean;
    /**
     * Defines the CSS class to customize the appearance of the combobox.
     *
     * @default ''
     */
    cssClass: string;
    /**
     * Specifies the label text for the overflow item.
     *
     * @default ''
     */
    label: string;
    /**
     * Defines the list of items to shown in the combobox.
     *
     * @default []
     */
    dataSource: {
        [key: string]: Object;
    }[] | string[] | number[] | boolean[];
    /**
     * Specifies the mapping for the columns of the data table bind to the combobox.
     * * 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.
     *
     * @default {text: null, value: null, iconCss: null, groupBy: null}
     */
    fields: dropdowns.FieldSettingsModel;
    /**
     * Specifies filter type to be considered on search action.
     * The `dropdowns.FilterType` and its supported data types are
     *
     * <table>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * dropdowns.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>
     *
     * @default Contains
     */
    filterType: dropdowns.FilterType;
    /**
     * Specifies the template content for the footer container of the popup list.
     *
     * @default null
     * @angularType string | object
     * @reactType string | function | JSX.Element
     * @vueType string | function
     * @aspType string
     */
    footerTemplate: string | Function;
    /**
     * Specifies the template content for the group headers present in the popup list.
     *
     * @default null
     * @angularType string | object
     * @reactType string | function | JSX.Element
     * @vueType string | function
     * @aspType string
     */
    groupTemplate: string | Function;
    /**
     * Specifies the template content for the header container of the popup list.
     *
     * @default null
     * @angularType string | object
     * @reactType string | function | JSX.Element
     * @vueType string | function
     * @aspType string
     */
    headerTemplate: string | Function;
    /**
     * Specifies the index of the selected item in the combobox.
     *
     * @default null
     */
    index: number;
    /**
     * Specifies the template content for each list item present in the popup.
     *
     * @default null
     * @angularType string | object
     * @reactType string | function | JSX.Element
     * @vueType string | function
     * @aspType string
     */
    itemTemplate: string | Function;
    /**
     * Specifies the template content for the popup list of combobox when no data is available.
     *
     * @default 'No records found'
     * @angularType string | object
     * @reactType string | function | JSX.Element
     * @vueType string | function
     * @aspType string
     */
    noRecordsTemplate: string | Function;
    /**
     * Specifies a short hint that describes the expected value of the combobox.
     *
     * @default null
     */
    placeholder: string;
    /**
     * Specifies the height of the popup list.
     *
     * @default '300px'
     * @aspType string
     */
    popupHeight: string | number;
    /**
     * Specifies the width of the popup list.
     * By default, the popup width sets based on the width of the combobox.
     *
     * @default '100%'
     * @aspType string
     */
    popupWidth: string | 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;
    /**
     * Specifies the order in which the data source needs to be sorted. The available type of sort orders are
     * * `None` - The data source is not sorted.
     * * `Ascending` - The data source is sorted in ascending order.
     * * `Descending` - The data source is sorted in descending order.
     *
     * @default null
     * @asptype object
     * @aspjsonconverterignore
     */
    sortOrder: lists.SortOrder;
    /**
     * Defines the display text of the selected item in the combobox.
     *
     * @default null
     *
     */
    text: string;
    /**
     * Defines the value of the selected item in the combobox.
     *
     * @default null
     * @isGenericType true
     */
    value: number | string | boolean;
    /**
     * Specifies the width of the combobox.
     * By default, the combobox width sets based on the width of its parent container.
     *
     * @default '150px'
     * @aspType string
     */
    width: string | number;
    /**
     * Specifies additional HTML attributes to be applied to the combobox.
     *
     * @default {}
     */
    htmlAttributes: {
        [key: string]: string;
    };
    /**
     * Event triggers before opening the popup.
     *
     * @event beforeOpen
     */
    beforeOpen: base.EmitType<dropdowns.BeforeOpenEventArgs>;
    /**
     * Event triggers when an item in a popup is selected or when the model value is changed by user.
     *
     * @event change
     */
    change: base.EmitType<dropdowns.ChangeEventArgs>;
    /**
     * Event triggers when the popup is closed.
     *
     * @event close
     */
    close: base.EmitType<dropdowns.PopupEventArgs>;
    /**
     * Event triggers once the combobox is created.
     *
     * @event created
     */
    created: base.EmitType<Event>;
    /**
     * Event triggers on typing a character in the combobox.
     *
     * @event filtering
     */
    filtering: base.EmitType<dropdowns.FilteringEventArgs>;
    /**
     * Event triggers when the popup is opened
     *
     * @event open
     */
    open: base.EmitType<dropdowns.PopupEventArgs>;
    /**
     * Event triggers when an item in the popup is selected.
     *
     * @event select
     */
    select: base.EmitType<lists.SelectEventArgs>;
    /**
     * @param {Object} prop - Gets the property of combobox.
     * @param {boolean} muteOnChange - Gets the boolean value of muteOnChange.
     * @returns {void}
     * @private
     */
    setProperties(prop: Object, muteOnChange: boolean): void;
}
//node_modules/@syncfusion/ej2-ribbon/src/ribbon/models/ribbon-combobox-settings-model.d.ts
/**
 * Interface for a class RibbonComboBoxSettings
 */
export interface RibbonComboBoxSettingsModel {
    /**
     * Specifies whether to show the filter bar (search box) of the combobox.
     * 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.
     *
     * @default false
     */
    allowFiltering?: boolean;
    /**
     * Specifies whether to suggest a first matched item in input when searching.
     * No action happens when no matches found.
     *
     * @default true
     */
    autofill?: boolean;
    /**
     * Defines the CSS class to customize the appearance of the combobox.
     *
     * @default ''
     */
    cssClass?: string;
    /**
     * Specifies the label text for the overflow item.
     *
     * @default ''
     */
    label?: string;
    /**
     * Defines the list of items to shown in the combobox.
     *
     * @default []
     */
    dataSource?: { [key: string]: Object }[] | string[] | number[] | boolean[];
    /**
     * Specifies the mapping for the columns of the data table bind to the combobox.
     * * 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.
     *
     * @default {text: null, value: null, iconCss: null, groupBy: null}
     */
    fields?: dropdowns.FieldSettingsModel;
    /**
     * Specifies filter type to be considered on search action.
     * The `dropdowns.FilterType` and its supported data types are
     *
     * <table>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * dropdowns.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>
     *
     * @default Contains
     */
    filterType?: dropdowns.FilterType;
    /**
     * Specifies the template content for the footer container of the popup list.
     *
     * @default null
     * @angularType string | object
     * @reactType string | function | JSX.Element
     * @vueType string | function
     * @aspType string
     */
    footerTemplate?: string | Function;
    /**
     * Specifies the template content for the group headers present in the popup list.
     *
     * @default null
     * @angularType string | object
     * @reactType string | function | JSX.Element
     * @vueType string | function
     * @aspType string
     */
    groupTemplate?: string | Function;
    /**
     * Specifies the template content for the header container of the popup list.
     *
     * @default null
     * @angularType string | object
     * @reactType string | function | JSX.Element
     * @vueType string | function
     * @aspType string
     */
    headerTemplate?: string | Function;
    /**
     * Specifies the index of the selected item in the combobox.
     *
     * @default null
     */
    index?: number;
    /**
     * Specifies the template content for each list item present in the popup.
     *
     * @default null
     * @angularType string | object
     * @reactType string | function | JSX.Element
     * @vueType string | function
     * @aspType string
     */
    itemTemplate?: string | Function;
    /**
     * Specifies the template content for the popup list of combobox when no data is available.
     *
     * @default 'No records found'
     * @angularType string | object
     * @reactType string | function | JSX.Element
     * @vueType string | function
     * @aspType string
     */
    noRecordsTemplate?: string | Function;
    /**
     * Specifies a short hint that describes the expected value of the combobox.
     *
     * @default null
     */
    placeholder?: string;
    /**
     * Specifies the height of the popup list.
     *
     * @default '300px'
     * @aspType string
     */
    popupHeight?: string | number;
    /**
     * Specifies the width of the popup list.
     * By default, the popup width sets based on the width of the combobox.
     *
     * @default '100%'
     * @aspType string
     */
    popupWidth?: string | 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;
    /**
     * Specifies the order in which the data source needs to be sorted. The available type of sort orders are
     * * `None` - The data source is not sorted.
     * * `Ascending` - The data source is sorted in ascending order.
     * * `Descending` - The data source is sorted in descending order.
     *
     * @default null
     * @asptype object
     * @aspjsonconverterignore
     */
    sortOrder?: lists.SortOrder;
    /**
     * Defines the display text of the selected item in the combobox.
     *
     * @default null
     *
     */
    text?: string;
    /**
     * Defines the value of the selected item in the combobox.
     *
     * @default null
     * @isGenericType true
     */
    value?: number | string | boolean;
    /**
     * Specifies the width of the combobox.
     * By default, the combobox width sets based on the width of its parent container.
     *
     * @default '150px'
     * @aspType string
     */
    width?: string | number;
    /**
     * Specifies additional HTML attributes to be applied to the combobox.
     *
     * @default {}
     */
    htmlAttributes?: { [key: string]: string };
    /**
     * base.Event triggers before opening the popup.
     *
     * @event beforeOpen
     */
    beforeOpen?: base.EmitType<dropdowns.BeforeOpenEventArgs>;
    /**
     * base.Event triggers when an item in a popup is selected or when the model value is changed by user.
     *
     * @event change
     */
    change?: base.EmitType<dropdowns.ChangeEventArgs>;
    /**
     * base.Event triggers when the popup is closed.
     *
     * @event close
     */
    close?: base.EmitType<dropdowns.PopupEventArgs>;
    /**
     * base.Event triggers once the combobox is created.
     *
     * @event created
     */
    created?: base.EmitType<Event>;
    /**
     * base.Event triggers on typing a character in the combobox.
     *
     * @event filtering
     */
    filtering?: base.EmitType<dropdowns.FilteringEventArgs>;
    /**
     * base.Event triggers when the popup is opened
     *
     * @event open
     */
    open?: base.EmitType<dropdowns.PopupEventArgs>;
    /**
     * base.Event triggers when an item in the popup is selected.
     *
     * @event select
     */
    select?: base.EmitType<lists.SelectEventArgs>;
}
//node_modules/@syncfusion/ej2-ribbon/src/ribbon/models/ribbon-colorpicker-settings.d.ts
/**
 * Defines the ribbon color picker.
 */
export  class RibbonColorPickerSettings extends base.ChildProperty<RibbonColorPickerSettings> {
    /**
     * Defines the number of columns to be rendered in the color picker palette.
     *
     * @default 10
     */
    columns: number;
    /**
     * Defines one or more CSS classes to customize the appearance of the color picker.
     *
     * @default ''
     */
    cssClass: string;
    /**
     * Specifies the label text for the overflow item.
     *
     * @default ''
     */
    label: string;
    /**
     * Defines whether to enable the opacity option in the color picker.
     *
     * @default true
     */
    enableOpacity: boolean;
    /**
     * Defines the rendering mode of the color picker.
     *
     * @default 'Palette'
     */
    mode: inputs.ColorPickerMode;
    /**
     * Defines whether to show / hide the mode switcher button in the color picker.
     *
     * @default true
     */
    modeSwitcher: boolean;
    /**
     * Defines whether to enable / disable the palette section in the color picker.
     *
     * @default false
     */
    noColor: boolean;
    /**
     * Defines the custom colors to load in the color picker palette.
     *
     * @default null
     */
    presetColors: {
        [key: string]: string[];
    };
    /**
     * Defines whether to show / hide the control buttons (apply / cancel) in the color picker.
     *
     * @default true
     */
    showButtons: boolean;
    /**
     * Specifies the value of the color picker.
     * The value should be a valid hex color code.
     *
     * @default '#008000ff'
     */
    value: string;
    /**
     * Specifies additional HTML attributes to be applied to the color picker.
     *
     * @default {}
     */
    htmlAttributes: {
        [key: string]: string;
    };
    /**
     * Event triggers before closing the ColorPicker popup.
     *
     * @event beforeClose
     */
    beforeClose: base.EmitType<inputs.BeforeOpenCloseEventArgs>;
    /**
     * Event triggers before opening the ColorPicker popup.
     *
     * @event beforeOpen
     */
    beforeOpen: base.EmitType<inputs.BeforeOpenCloseEventArgs>;
    /**
     * Event triggers while rendering each palette tile.
     *
     * @event beforeTileRender
     */
    beforeTileRender: base.EmitType<inputs.PaletteTileEventArgs>;
    /**
     * Event triggers once the color picker is created.
     *
     * @event created
     */
    created: base.EmitType<Event>;
    /**
     * Event triggers while changing the colors. It will be triggered based on the showButtons property.
     * If the property is false, the event will be triggered while selecting the colors.
     * If the property is true, the event will be triggered while apply the selected color.
     *
     * @event change
     */
    change: base.EmitType<inputs.ChangeEventArgs>;
    /**
     * Event triggers while opening the ColorPicker popup.
     *
     * @event open
     */
    open: base.EmitType<inputs.OpenEventArgs>;
    /**
     * Event triggers while selecting the color in picker / palette, when showButtons property is enabled.
     *
     * @event select
     */
    select: base.EmitType<inputs.ColorPickerEventArgs>;
    /**
     * @param {Object} prop - Gets the property of colorpicker.
     * @param {boolean} muteOnChange - Gets the boolean value of muteOnChange.
     * @returns {void}
     * @private
     */
    setProperties(prop: Object, muteOnChange: boolean): void;
}
//node_modules/@syncfusion/ej2-ribbon/src/ribbon/models/ribbon-colorpicker-settings-model.d.ts
/**
 * Interface for a class RibbonColorPickerSettings
 */
export interface RibbonColorPickerSettingsModel {
    /**
     * Defines the number of columns to be rendered in the color picker palette.
     *
     * @default 10
     */
    columns?: number;
    /**
     * Defines one or more CSS classes to customize the appearance of the color picker.
     *
     * @default ''
     */
    cssClass?: string;
    /**
     * Specifies the label text for the overflow item.
     *
     * @default ''
     */
    label?: string;
    /**
     * Defines whether to enable the opacity option in the color picker.
     *
     * @default true
     */
    enableOpacity?: boolean;
    /**
     * Defines the rendering mode of the color picker.
     *
     * @default 'Palette'
     */
    mode?: inputs.ColorPickerMode;
    /**
     * Defines whether to show / hide the mode switcher button in the color picker.
     *
     * @default true
     */
    modeSwitcher?: boolean;
    /**
     * Defines whether to enable / disable the palette section in the color picker.
     *
     * @default false
     */
    noColor?: boolean;
    /**
     * Defines the custom colors to load in the color picker palette.
     *
     * @default null
     */
    presetColors?: { [key: string]: string[] };
    /**
     * Defines whether to show / hide the control buttons (apply / cancel) in the color picker.
     *
     * @default true
     */
    showButtons?: boolean;
    /**
     * Specifies the value of the color picker.
     * The value should be a valid hex color code.
     *
     * @default '#008000ff'
     */
    value?: string;
    /**
     * Specifies additional HTML attributes to be applied to the color picker.
     *
     * @default {}
     */
    htmlAttributes?: { [key: string]: string };
    /**
     * base.Event triggers before closing the ColorPicker popup.
     *
     * @event beforeClose
     */
    beforeClose?: base.EmitType<inputs.BeforeOpenCloseEventArgs>;
    /**
     * base.Event triggers before opening the ColorPicker popup.
     *
     * @event beforeOpen
     */
    beforeOpen?: base.EmitType<inputs.BeforeOpenCloseEventArgs>;
    /**
     * base.Event triggers while rendering each palette tile.
     *
     * @event beforeTileRender
     */
    beforeTileRender?: base.EmitType<inputs.PaletteTileEventArgs>;
    /**
     * base.Event triggers once the color picker is created.
     *
     * @event created
     */
    created?: base.EmitType<Event>;
    /**
     * base.Event triggers while changing the colors. It will be triggered based on the showButtons property.
     * If the property is false, the event will be triggered while selecting the colors.
     * If the property is true, the event will be triggered while apply the selected color.
     *
     * @event change
     */
    change?: base.EmitType<inputs.ChangeEventArgs>;
    /**
     * base.Event triggers while opening the ColorPicker popup.
     *
     * @event open
     */
    open?: base.EmitType<inputs.OpenEventArgs>;
    /**
     * base.Event triggers while selecting the color in picker / palette, when showButtons property is enabled.
     *
     * @event select
     */
    select?: base.EmitType<inputs.ColorPickerEventArgs>;
}
//node_modules/@syncfusion/ej2-ribbon/src/ribbon/models/ribbon-collection.d.ts
/**
 * Defines the items of Ribbon.
 */
export  class RibbonCollection extends base.ChildProperty<RibbonCollection> {
    /**
     * Defines a unique identifier for the collection.
     *
     * @default ''
     */
    id: string;
    /**
     * Defines one or more CSS classes to customize the appearance of collection.
     *
     * @default ''
     */
    cssClass: string;
    /**
     * Defines the list of ribbon items.
     *
     * @default []
     * @aspType List<RibbonItem>
     */
    items: RibbonItemModel[];
    /**
     * @param {Object} prop - Gets the property of collection.
     * @param {boolean} muteOnChange - Gets the boolean value of muteOnChange.
     * @returns {void}
     * @private
     */
    setProperties(prop: Object, muteOnChange: boolean): void;
}
//node_modules/@syncfusion/ej2-ribbon/src/ribbon/models/ribbon-collection-model.d.ts
/**
 * Interface for a class RibbonCollection
 */
export interface RibbonCollectionModel {
    /**
     * Defines a unique identifier for the collection.
     *
     * @default ''
     */
    id?: string;
    /**
     * Defines one or more CSS classes to customize the appearance of collection.
     *
     * @default ''
     */
    cssClass?: string;
    /**
     * Defines the list of ribbon items.
     *
     * @default []
     * @aspType List<RibbonItem>
     */
    items?: RibbonItemModel[];
}
//node_modules/@syncfusion/ej2-ribbon/src/ribbon/models/ribbon-checkbox-settings.d.ts
/**
 * Defines the ribbon checkbox item.
 */
export  class RibbonCheckBoxSettings extends base.ChildProperty<RibbonCheckBoxSettings> {
    /**
     * Defines the whether the checkbox is checked or not.
     *
     * @default false
     */
    checked: boolean;
    /**
     * Defines one or more CSS classes to customize the appearance of checkbox.
     *
     * @default ''
     */
    cssClass: string;
    /**
     * Defines the label for the checkbox.
     *
     * @default ''
     */
    label: string;
    /**
     * Defines whether the label is position `After` or `Before` the checkbox.
     *
     * @default 'After'
     */
    labelPosition: buttons.LabelPosition;
    /**
     * Specifies additional HTML attributes to be applied to the checkbox.
     *
     * @default {}
     */
    htmlAttributes: {
        [key: string]: string;
    };
    /**
     * Event triggers once the checkbox is created.
     *
     * @event created
     */
    created: base.EmitType<Event>;
    /**
     * Event triggers when the checkbox state is changed.
     *
     * @event change
     */
    change: base.EmitType<buttons.ChangeEventArgs>;
    /**
     * @param {Object} prop - Gets the property of checkbox.
     * @param {boolean} muteOnChange - Gets the boolean value of muteOnChange.
     * @returns {void}
     * @private
     */
    setProperties(prop: Object, muteOnChange: boolean): void;
}
//node_modules/@syncfusion/ej2-ribbon/src/ribbon/models/ribbon-checkbox-settings-model.d.ts
/**
 * Interface for a class RibbonCheckBoxSettings
 */
export interface RibbonCheckBoxSettingsModel {
    /**
     * Defines the whether the checkbox is checked or not.
     *
     * @default false
     */
    checked?: boolean;
    /**
     * Defines one or more CSS classes to customize the appearance of checkbox.
     *
     * @default ''
     */
    cssClass?: string;
    /**
     * Defines the label for the checkbox.
     *
     * @default ''
     */
    label?: string;
    /**
     * Defines whether the label is position `After` or `Before` the checkbox.
     *
     * @default 'After'
     */
    labelPosition?: buttons.LabelPosition;
    /**
     * Specifies additional HTML attributes to be applied to the checkbox.
     *
     * @default {}
     */
    htmlAttributes?: { [key: string]: string };
    /**
     * base.Event triggers once the checkbox is created.
     *
     * @event created
     */
    created?: base.EmitType<Event>;
    /**
     * base.Event triggers when the checkbox state is changed.
     *
     * @event change
     */
    change?: base.EmitType<buttons.ChangeEventArgs>;
}
//node_modules/@syncfusion/ej2-ribbon/src/ribbon/models/ribbon-button-settings.d.ts
/**
 * Defines the ribbon button item.
 */
export  class RibbonButtonSettings extends base.ChildProperty<RibbonButtonSettings> {
    /**
     * Defines the content for the button.
     *
     * @default ''
     */
    content: string;
    /**
     * Defines one or more CSS classes to customize the appearance of button.
     *
     * @default ''
     */
    cssClass: string;
    /**
     * Defines the CSS class for the icons to be shown in button.
     *
     * @default ''
     */
    iconCss: string;
    /**
     * Defines whether the button is toggle button or not.
     *
     * @default false
     */
    isToggle: boolean;
    /**
     * Defines whether the button is primary button or not.
     *
     * @default false
     */
    isPrimary: boolean;
    /**
     * Specifies additional HTML attributes to be applied to the button.
     *
     * @default {}
     */
    htmlAttributes: {
        [key: string]: string;
    };
    /**
     * Event triggers once the button is created.
     *
     * @event created
     */
    created: base.EmitType<Event>;
    /**
     * Event triggers when the button is clicked.
     *
     * @event clicked
     */
    clicked: base.EmitType<Event>;
    /**
     * @param {Object} prop - Gets the property of button.
     * @param {boolean} muteOnChange - Gets the boolean value of muteOnChange.
     * @returns {void}
     * @private
     */
    setProperties(prop: Object, muteOnChange: boolean): void;
}
//node_modules/@syncfusion/ej2-ribbon/src/ribbon/models/ribbon-button-settings-model.d.ts
/**
 * Interface for a class RibbonButtonSettings
 */
export interface RibbonButtonSettingsModel {
    /**
     * Defines the content for the button.
     *
     * @default ''
     */
    content?: string;
    /**
     * Defines one or more CSS classes to customize the appearance of button.
     *
     * @default ''
     */
    cssClass?: string;
    /**
     * Defines the CSS class for the icons to be shown in button.
     *
     * @default ''
     */
    iconCss?: string;
    /**
     * Defines whether the button is toggle button or not.
     *
     * @default false
     */
    isToggle?: boolean;
    /**
     * Defines whether the button is primary button or not.
     *
     * @default false
     */
    isPrimary?: boolean;
    /**
     * Specifies additional HTML attributes to be applied to the button.
     *
     * @default {}
     */
    htmlAttributes?: { [key: string]: string };
    /**
     * base.Event triggers once the button is created.
     *
     * @event created
     */
    created?: base.EmitType<Event>;
    /**
     * base.Event triggers when the button is clicked.
     *
     * @event clicked
     */
    clicked?: base.EmitType<Event>;
}
//node_modules/@syncfusion/ej2-ribbon/src/ribbon/models/ribbon-backstage-item.d.ts
/**
 * Defines the ribbon backstage back button.
 */
export  class BackstageItem extends base.ChildProperty<BackstageItem> {
    /**
     * Specifies the text for backstage item.
     *
     * @default ''
     */
    text: string;
    /**
     * Defines a unique identifier for the backstage item.
     *
     * @default ''
     */
    id: string;
    /**
     * Specifies the keytip content.
     *
     * @default ''
     */
    keyTip: string;
    /**
     * Specifies the backstage item’s content as selector.
     *
     * @default ''
     * @angularType string | object
     * @reactType string | function | JSX.Element
     * @vueType string | function
     * @aspType string
     */
    content: string | Function;
    /**
     * Specifies the icon css class for backstage back button.
     *
     * @default ''
     */
    iconCss: string;
    /**
     * Specifies the separator between the backstage items.
     *
     * @default false
     */
    separator: boolean;
    /**
     * Specifies whether the item is placed in Footer section of backstage.
     *
     * @default false
     */
    isFooter: boolean;
    /**
     * Event triggers when backstage item is clicked.
     *
     * @event backStageItemClick
     */
    backStageItemClick: base.EmitType<BackstageItemClickArgs>;
}
/**
 * Event triggers when backstage item is clicked.
 */
export interface BackstageItemClickArgs extends base.BaseEventArgs {
    /**
     * Set to true when the event has to be canceled, else false.
     */
    cancel: boolean;
    /**
     * Provides the backstage menu item object.
     */
    item?: BackstageItemModel;
    /**
     *  Provides the HTML element of the backstage menu item clicked.
     */
    target: HTMLElement;
    /**
     * Returns true when back button item is clicked.
     */
    isBackButton: boolean;
}
//node_modules/@syncfusion/ej2-ribbon/src/ribbon/models/ribbon-backstage-item-model.d.ts
/**
 * Interface for a class BackstageItem
 */
export interface BackstageItemModel {
    /**
     * Specifies the text for backstage item.
     *
     * @default ''
     */
    text?: string;
    /**
     * Defines a unique identifier for the backstage item.
     *
     * @default ''
     */
    id?: string;
    /**
     * Specifies the keytip content.
     *
     * @default ''
     */
    keyTip?: string;
    /**
     * Specifies the backstage item’s content as selector.
     *
     * @default ''
     * @angularType string | object
     * @reactType string | function | JSX.Element
     * @vueType string | function
     * @aspType string
     */
    content?: string | Function;
    /**
     * Specifies the icon css class for backstage back button.
     *
     * @default ''
     */
    iconCss?: string;
    /**
     * Specifies the separator between the backstage items.
     *
     * @default false
     */
    separator?: boolean;
    /**
     * Specifies whether the item is placed in Footer section of backstage.
     *
     * @default false
     */
    isFooter?: boolean;
    /**
     * base.Event triggers when backstage item is clicked.
     *
     * @event backStageItemClick
     */
    backStageItemClick?: base.EmitType<BackstageItemClickArgs>;
}
//node_modules/@syncfusion/ej2-ribbon/src/ribbon/models/ribbon-back-stage-settings.d.ts
/**
 * Defines the ribbon file menu settings.
 */
export  class BackStageMenu extends base.ChildProperty<BackStageMenu> {
    /**
     * Defines the text content of backstage menu button.
     *
     * @default 'File'
     */
    text: string;
    /**
     * Specifies the keytip content.
     *
     * @default ''
     */
    keyTip: string;
    /**
     * Defines whether to show the backstage menu button.
     *
     * @default false
     */
    visible: boolean;
    /**
     * Defines the height of the backstage menu.
     *
     * @default 'auto'
     */
    height: string;
    /**
     * Defines the width of the backstage menu.
     *
     * @default 'auto'
     */
    width: string;
    /**
     * Defines the selector that points to the element in which backstage will be positioned.
     *
     * @default null
     */
    target: string | HTMLElement;
    /**
     * Defines the properties of ribbon backstage back button.
     *
     * @default {}
     */
    backButton: BackstageBackButtonModel;
    /**
     * Defines the properties of ribbon backstage back button.
     *
     * @default []
     * @aspType List<BackstageItem>
     */
    items: BackstageItemModel[];
    /**
     * Defines the template for Backstage content.
     *
     * @default ''
     * @angularType string | object
     * @reactType string | function | JSX.Element
     * @vueType string | function
     * @aspType string
     */
    template: string | Function;
    /**
     * Specifies the tooltip settings for the file menu button.
     *
     * @default {}
     */
    ribbonTooltipSettings: RibbonTooltipModel;
    /**
     * @param {Object} prop - Gets the property of Backstage Menu.
     * @param {boolean} muteOnChange - Gets the boolean value of muteOnChange.
     * @returns {void}
     * @private
     */
    setProperties(prop: Object, muteOnChange: boolean): void;
}
//node_modules/@syncfusion/ej2-ribbon/src/ribbon/models/ribbon-back-stage-settings-model.d.ts
/**
 * Interface for a class BackStageMenu
 */
export interface BackStageMenuModel {
    /**
     * Defines the text content of backstage menu button.
     *
     * @default 'File'
     */
    text?: string;
    /**
     * Specifies the keytip content.
     *
     * @default ''
     */
    keyTip?: string;
    /**
     * Defines whether to show the backstage menu button.
     *
     * @default false
     */
    visible?: boolean;
    /**
     * Defines the height of the backstage menu.
     *
     * @default 'auto'
     */
    height?: string;
    /**
     * Defines the width of the backstage menu.
     *
     * @default 'auto'
     */
    width?: string;
    /**
     * Defines the selector that points to the element in which backstage will be positioned.
     *
     * @default null
     */
    target?: string | HTMLElement;
    /**
     * Defines the properties of ribbon backstage back button.
     *
     * @default {}
     */
    backButton?: BackstageBackButtonModel;
    /**
     * Defines the properties of ribbon backstage back button.
     *
     * @default []
     * @aspType List<BackstageItem>
     */
    items?: BackstageItemModel[];
    /**
     * Defines the template for Backstage content.
     *
     * @default ''
     * @angularType string | object
     * @reactType string | function | JSX.Element
     * @vueType string | function
     * @aspType string
     */
    template?: string | Function;
    /**
     * Specifies the tooltip settings for the file menu button.
     *
     * @default {}
     */
    ribbonTooltipSettings?: RibbonTooltipModel;
}
//node_modules/@syncfusion/ej2-ribbon/src/ribbon/models/ribbon-back-button.d.ts
/**
 * Defines the ribbon backstage back button.
 */
export  class BackstageBackButton extends base.ChildProperty<BackstageBackButton> {
    /**
     * Specifies the text for backstage back button.
     *
     * @default ''
     */
    text: string;
    /**
     * Specifies the icon css class for backstage back button.
     *
     * @default ''
     */
    iconCss: string;
    /**
     * Specifies whether to show the backstage back button or not.
     *
     * @default true
     */
    visible: boolean;
}
//node_modules/@syncfusion/ej2-ribbon/src/ribbon/models/ribbon-back-button-model.d.ts
/**
 * Interface for a class BackstageBackButton
 */
export interface BackstageBackButtonModel {
    /**
     * Specifies the text for backstage back button.
     *
     * @default ''
     */
    text?: string;
    /**
     * Specifies the icon css class for backstage back button.
     *
     * @default ''
     */
    iconCss?: string;
    /**
     * Specifies whether to show the backstage back button or not.
     *
     * @default true
     */
    visible?: boolean;
}
//node_modules/@syncfusion/ej2-ribbon/src/ribbon/items/ribbon-splitbutton.d.ts
/**
 * Defines the items of Ribbon.
 */
export  class RibbonSplitButton {
    private parent;
    constructor(parent: Ribbon);
    protected getModuleName(): string;
    protected destroy(): void;
    /**
     * Creates SplitButton.
     *
     * @param {RibbonItemModel} item - Gets the ribbon item model.
     * @param {HTMLElement} itemEle - Gets the ribbon item element.
     * @returns {void}
     * @hidden
     */
    createSplitButton(item: RibbonItemModel, itemEle: HTMLElement): void;
    /**
     * Adds the additional event handlers as the item moved into overflow popup.
     *
     * @param {RibbonItemModel} item - Gets the ribbon item model.
     * @param {HTMLElement} itemEle - Gets the ribbon item element.
     * @param {splitbuttons.DropDownButton} overflowButton - Gets the overflow button.
     * @returns {void}
     * @hidden
     */
    addOverFlowEvents(item: RibbonItemModel, itemEle: HTMLElement, overflowButton: splitbuttons.DropDownButton): void;
    /**
     * Removes the additional event handlers as the item moved from overflow popup.
     *
     * @param {RibbonItemModel} item - Gets the ribbon item model.
     * @param {HTMLElement} itemEle - Gets the ribbon item element.
     * @returns {void}
     * @hidden
     */
    removeOverFlowEvents(item: RibbonItemModel, itemEle: HTMLElement): void;
    private setContent;
    private getSplitButtonObj;
    /**
     * Adds a new item to the menu. By default, new item appends to
     * the list as the last item, but you can insert based on the text parameter.
     *
     * @param {string} controlId - Gets the control ID.
     * @param {splitbuttons.ItemModel[]} Items - Gets the SplitButton items.
     * @param {string} text - Gets the text of the splitbutton item where the new item needs to be inserted.
     * @returns {void}
     */
    addItems(controlId: string, Items: splitbuttons.ItemModel[], text?: string): void;
    /**
     * Removes the items from the menu.
     *
     * @param {string} controlId - Gets the control ID.
     * @param {string[]} Items -
     * @param {string} isUniqueId -
     * @returns {void}
     */
    removeItems(controlId: string, Items: string[], isUniqueId?: boolean): void;
    /**
     * To open/close SplitButton popup based on current state of the SplitButton.
     *
     * @param {string} controlId - Gets the control ID.
     * @returns {void}
     */
    toggle(controlId: string): void;
    /**
     * Updates the splitbutton.
     *
     * @param {RibbonSplitButtonSettingsModel} prop - Gets the splitbutton property.
     * @param {string} id - Gets the ID of dropdown.
     * @returns {void}
     */
    updateSplitButton(prop: RibbonSplitButtonSettingsModel, id: string): void;
    /**
     * Updated SplitButton size
     *
     * @param {HTMLElement} element - Gets the splibutton element.
     * @param {RibbonItemModel} item - Gets the ribbon item model.
     * @returns {void}
     * @hidden
     */
    updateSplitButtonSize(element: HTMLElement, item: RibbonItemModel): void;
}
//node_modules/@syncfusion/ej2-ribbon/src/ribbon/items/ribbon-groupbutton.d.ts
/**
 * Defines the items of Ribbon.
 */
export  class RibbonGroupButton {
    private parent;
    private count;
    private isSelected;
    private grpBtnIndex;
    constructor(parent: Ribbon);
    protected getModuleName(): string;
    protected destroy(): void;
    /**
     * Creates Group Button
     *
     * @param {RibbonItemModel} item - Gets the ribbon item model.
     * @param {HTMLElement} itemElement - Gets the ribbon item element.
     * @returns {void}
     * @hidden
     */
    createGroupButton(item: RibbonItemModel, itemElement: HTMLElement): void;
    private groupButtonClicked;
    /**
     * updates group button in mode switching
     *
     * @param {RibbonItemModel} item - Gets the ribbon item model.
     * @param {HTMLElement} itemElement - Gets the ribbon item element.
     * @returns {void}
     * @hidden
     */
    switchGroupButton(item: RibbonItemModel, itemElement: HTMLElement): void;
    private handleFocusState;
    private addGroupButtonHeader;
    private handleGroupButtonNavigation;
    /**
     * Adds the additional event handlers as the item moved into overflow popup.
     *
     * @param {RibbonItemModel} item - Gets the ribbon item model.
     * @param {HTMLElement} itemEle - Gets the ribbon item element.
     * @param {splitbuttons.DropDownButton} overflowButton - Gets the overflow button.
     * @returns {void}
     * @hidden
     */
    addOverFlowEvents(item: RibbonItemModel, itemEle: HTMLElement, overflowButton: splitbuttons.DropDownButton): void;
    /**
     * Removes the additional event handlers as the item moved into overflow popup.
     *
     * @param {RibbonItemModel} item - Gets the ribbon item model.
     * @param {HTMLElement} itemEle - Gets the ribbon item element.
     * @returns {void}
     * @hidden
     */
    removeOverFlowEvents(item: RibbonItemModel, itemEle: HTMLElement): void;
    /**
     * Removes DropDown.
     *
     * @param {RibbonItemModel} item - Gets the ribbon item.
     * @returns {void}
     * @hidden
     */
    destroyDropDown(item: RibbonItemModel): void;
    /**
     * Updates the group button size.
     *
     * @param {HTMLElement} itemElement - Gets the group button container element.
     * @param {RibbonItemModel} item - Gets the ribbon item.
     * @returns {void}
     * @hidden
     */
    updateGroupButtonSize(itemElement: HTMLElement, item: RibbonItemModel): void;
}
//node_modules/@syncfusion/ej2-ribbon/src/ribbon/items/ribbon-gallery.d.ts
/**
 * Defines the items of Ribbon.
 */
export  class RibbonGallery {
    private parent;
    private count;
    private isAdded;
    private galleryItemsIndex;
    private registeredTemplate;
    constructor(parent: Ribbon);
    protected getModuleName(): string;
    protected destroy(): void;
    /**
     * Creates gallery.
     *
     * @param {RibbonItemModel} item - Gets the ribbon item model.
     * @param {HTMLElement} itemEle - Gets the ribbon item element.
     * @returns {void}
     * @hidden
     */
    createGallery(item: RibbonItemModel, itemEle: HTMLElement): void;
    private renderGalleryItems;
    private setWrapperWidth;
    /**
     * Checks the gallery items height.
     *
     * @param {HTMLElement} activeContent - Gets the current active content.
     * @returns {void}
     * @hidden
     */
    checkAvailableHeight(activeContent: HTMLElement): void;
    /**
     * Checks the popup collision.
     *
     * @param {popups.Popup} popup - Gets the popup.
     * @param {HTMLElement} popupEle - Gets the popup element.
     * @param {number} offsetValue - Gets the offset value of gallery popup button.
     * @returns {void}
     * @hidden
     */
    checkCollision(popup: popups.Popup, popupEle: HTMLElement, offsetValue?: number): void;
    private setGalleryPopupHeight;
    private createPopup;
    /**
     * Updates gallery in mode switching.
     *
     * @param {string} activeLayout - Gets the current active layout.
     * @param {string} itemID - Gets the ribbon item id.
     * @returns {void}
     * @hidden
     */
    switchGalleryItems(activeLayout: string, itemID: string): void;
    /**
     * Adds the additional event handlers as the item moved into overflow popup.
     *
     * @param {RibbonItemModel} item - Gets the ribbon item model.
     * @param {HTMLElement} itemEle - Gets the ribbon item element.
     * @returns {void}
     * @hidden
     */
    addOverFlowEvents(item: RibbonItemModel, itemEle: HTMLElement): void;
    /**
     * Removes the additional event handlers as the item moved into overflow popup.
     *
     * @param {RibbonItemModel} item - Gets the ribbon item model.
     * @param {HTMLElement} itemEle - Gets the ribbon item element.
     * @returns {void}
     * @hidden
     */
    removeOverFlowEvents(item: RibbonItemModel, itemEle: HTMLElement): void;
    private setActiveState;
    private popupEvents;
    private showPopup;
    private hidePopup;
    /**
     * Shows a specific gallery popup in the ribbon.
     *
     * @param {string} id - Gets the ribbon item id.
     * @returns {void}
     */
    showGalleryPopup(id: string): void;
    /**
     * Hides a specific gallery popup in the ribbon.
     *
     * @param {string} id - Gets the ribbon item id.
     * @returns {void}
     */
    hideGalleryPopup(id: string): void;
    private setFoucsToFirstItem;
    private handleGalleryPopupNavigation;
    private createGalleryTemplate;
    private createGalleryPopupTemplate;
}
//node_modules/@syncfusion/ej2-ribbon/src/ribbon/items/ribbon-dropdown.d.ts
/**
 * Defines the items of Ribbon.
 */
export  class RibbonDropDown {
    private parent;
    constructor(parent: Ribbon);
    protected getModuleName(): string;
    protected destroy(): void;
    private itemIndex;
    private enableRtl;
    /**
     * Creates DropDown.
     *
     * @param {RibbonItemModel} item - Gets the ribbon item model.
     * @param {HTMLElement} itemEle - Gets the ribbon item element.
     * @returns {void}
     * @hidden
     */
    createDropDown(item: RibbonItemModel, itemEle: HTMLElement): void;
    /**
     * Adds the additional event handlers as the item moved into overflow popup.
     *
     * @param {RibbonItemModel} item - Gets the ribbon item model.
     * @param {HTMLElement} itemEle - Gets the ribbon item element.
     * @param {splitbuttons.DropDownButton} overflowButton - Gets the overflow button.
     * @returns {void}
     * @hidden
     */
    addOverFlowEvents(item: RibbonItemModel, itemEle: HTMLElement, overflowButton: splitbuttons.DropDownButton): void;
    /**
     * Removes the additional event handlers as the item moved from overflow popup.
     *
     * @param {RibbonItemModel} item - Gets the ribbon item model.
     * @param {HTMLElement} itemEle - Gets the ribbon item element.
     * @returns {void}
     * @hidden
     */
    removeOverFlowEvents(item: RibbonItemModel, itemEle: HTMLElement): void;
    /**
     * Creates Overflow DropDown.
     *
     * @param {string} id - Gets the ID of the dropdown item.
     * @param {string} name - Gets the name of the dropdown item.
     * @param {string} iconCss - Gets the icon of the dropdown item.
     * @param {HTMLElement} groupEle - Gets the overflow group element.
     * @param {HTMLElement} overflowEle - Gets the overflow element.
     * @returns {void}
     * @hidden
     */
    createOverFlowDropDown(id: string, name: string, iconCss: string, groupEle: HTMLElement, overflowEle: HTMLElement, enableRtl?: boolean): splitbuttons.DropDownButton;
    private keyActionHandler;
    private handleNavigation;
    private focusLauncherIcon;
    private updateItemIndex;
    /**
     * Removes Overflow DropDown.
     *
     * @param {HTMLElement} dropdownElement - Gets the ribbon DropDown element.
     * @returns {void}
     * @hidden
     */
    removeOverFlowDropDown(dropdownElement: HTMLElement): void;
    /**
     * Gets DropDown item element.
     *
     * @param {HTMLElement} dropdownElement - Gets the ribbon DropDown element.
     * @param {string} id - Gets the ID of ribbon DropDown element.
     * @returns {HTMLElement} - Returns the DropDown item element.
     * @hidden
     */
    getDDBItemElement(dropdownElement: HTMLElement, id: string): HTMLElement;
    /**
     * Gets Overflow DropDown Popup.
     *
     * @param {itemProps} itemProp - Gets the property of ribbon item.
     * @param {HTMLElement} contentEle - Gets the content element.
     * @returns {HTMLElement} - Returns the Overflow DropDown Popup.
     * @hidden
     */
    getOverflowDropDownPopup(itemProp: itemProps, contentEle: HTMLElement): HTMLElement;
    private getDropDownObj;
    /**
     * Adds a new item to the menu. By default, new item appends to
     * the list as the last item, but you can insert based on the text parameter.
     *
     * @param {string} controlId - Gets the control ID.
     * @param {splitbuttons.ItemModel[]} Items - Gets the DropDown items.
     * @param {string} text - Gets the text of the dropdown item where the new item needs to be inserted.
     * @returns {void}
     */
    addItems(controlId: string, Items: splitbuttons.ItemModel[], text?: string): void;
    /**
     * Removes the items from the menu.
     *
     * @param {string} controlId - Gets the control ID.
     * @param {string[]} Items -
     * @param {string} isUniqueId -
     * @returns {void}
     */
    removeItems(controlId: string, Items: string[], isUniqueId?: boolean): void;
    /**
     * To open/close splitbuttons.DropDownButton popup based on current state of the splitbuttons.DropDownButton.
     *
     * @param {string} controlId - Gets the control ID.
     * @returns {void}
     */
    toggle(controlId: string): void;
    /**
     * Updates the dropdown.
     *
     * @param {RibbonDropDownSettingsModel} prop - Gets the dropdown property.
     * @param {string} id - Gets the ID of dropdown.
     * @returns {void}
     */
    updateDropDown(prop: RibbonDropDownSettingsModel, id: string): void;
    /**
     * Updated DropDown size
     *
     * @param {HTMLElement} element - Gets the dropdown element.
     * @param {RibbonItemModel} item - Gets the ribbon item model.
     * @returns {void}
     * @hidden
     */
    updateDropDownSize(element: HTMLElement, item: RibbonItemModel): void;
}
//node_modules/@syncfusion/ej2-ribbon/src/ribbon/items/ribbon-combobox.d.ts
/**
 * Defines the items of Ribbon.
 */
export  class RibbonComboBox {
    private parent;
    constructor(parent: Ribbon);
    protected getModuleName(): string;
    protected destroy(): void;
    /**
     * Creates the combobox.
     *
     * @param {RibbonItemModel} item - Gets the ribbon item model.
     * @param {HTMLElement} itemEle - Gets the ribbon item element.
     * @returns {void}
     * @hidden
     */
    createComboBox(item: RibbonItemModel, itemEle: HTMLElement): void;
    /**
     * Adds the additional event handlers as the item moved into overflow popup.
     *
     * @param {RibbonItemModel} item - Gets the ribbon item model.
     * @param {HTMLElement} itemEle - Gets the ribbon item element.
     * @param {splitbuttons.DropDownButton} overflowButton - Gets the overflow button.
     * @returns {void}
     * @hidden
     */
    addOverFlowEvents(item: RibbonItemModel, itemEle: HTMLElement, overflowButton: splitbuttons.DropDownButton): void;
    /**
     * Removes the additional event handlers as the item moved from overflow popup.
     *
     * @param {RibbonItemModel} item - Gets the ribbon item model.
     * @param {HTMLElement} itemEle - Gets the ribbon item element.
     * @returns {void}
     * @hidden
     */
    removeOverFlowEvents(item: RibbonItemModel, itemEle: HTMLElement): void;
    private getComboBoxObj;
    /**
     * To filter the data from given data source by using query
     *
     * @param  {string } controlId - set the id of the control in which methods needs to be called.
     * @param  {Object[] } dataSource - Set the data source to filter.
     * @param  {data.Query} query - Specify the query to filter the data.
     * @param  {dropdowns.FieldSettingsModel} fields - Specify the fields to map the column in the data table.
     * @returns {void}
     */
    filter(controlId: string, dataSource: {
        [key: string]: Object;
    }[] | string[] | number[] | boolean[], query?: data.Query, fields?: dropdowns.FieldSettingsModel): void;
    /**
     * To open/close splitbuttons.DropDownButton popup based on current state of the combobox.
     *
     * @param {string} controlId - Gets the id of the control.
     * @returns {void}
     */
    hidePopup(controlId: string): void;
    /**
     * To open/close splitbuttons.DropDownButton popup based on current state of the combobox.
     *
     * @param {string} controlId - Gets the id of the control.
     * @returns {void}
     */
    showPopup(controlId: string): void;
    /**
     * Updates the combobox properties.
     *
     * @param {RibbonComboBoxSettingsModel} prop - Gets the combobox property.
     * @param {string} id - Gets the ID of combobox.
     * @returns {void}
     */
    updateComboBox(prop: RibbonComboBoxSettingsModel, id: string): void;
}
//node_modules/@syncfusion/ej2-ribbon/src/ribbon/items/ribbon-colorpicker.d.ts
/**
 * Defines the items of Ribbon.
 */
export  class RibbonColorPicker {
    private parent;
    constructor(parent: Ribbon);
    protected getModuleName(): string;
    protected destroy(): void;
    /**
     * Creates the colorpicker.
     *
     * @param {RibbonItemModel} item - Gets the ribbon item model.
     * @param {HTMLElement} itemEle - Gets the ribbon item element.
     * @returns {void}
     * @hidden
     */
    createColorPicker(item: RibbonItemModel, itemEle: HTMLElement): void;
    private toggleWrapperHover;
    /**
     * Adds the additional event handlers as the item moved into overflow popup.
     *
     * @param {RibbonItemModel} item - Gets the ribbon item model.
     * @param {HTMLElement} itemEle - Gets the ribbon item element.
     * @param {splitbuttons.DropDownButton} overflowButton - Gets the overflow button.
     * @returns {void}
     * @hidden
     */
    addOverFlowEvents(item: RibbonItemModel, itemEle: HTMLElement, overflowButton: splitbuttons.DropDownButton): void;
    /**
     * Removes the additional event handlers as the item moved from overflow popup.
     *
     * @param {RibbonItemModel} item - Gets the ribbon item model.
     * @param {HTMLElement} itemEle - Gets the ribbon item element.
     * @returns {void}
     * @hidden
     */
    removeOverFlowEvents(item: RibbonItemModel, itemEle: HTMLElement): void;
    private getColorPickerObj;
    /**
     * Gets color value in specified type.
     *
     * @param {string} controlId -Gets the control ID.
     * @param {string} value - Specify the color value.
     * @param {string} type - Specify the type to which the specified color needs to be converted.
     * @returns {string} - Returns string.
     */
    getValue(controlId: string, value?: string, type?: string): string;
    /**
     * To show/hide ColorPicker popup based on current state of the SplitButton.
     *
     * @param {string} controlId - set the id of the control.
     * @returns {void} - Returns void.
     */
    toggle(controlId: string): void;
    /**
     * Updates the colorpicker properties.
     *
     * @param {RibbonColorPickerSettingsModel} prop - Gets the colorpicker property.
     * @param {string} id - Gets the ID of colorpicker.
     * @returns {void}
     */
    updateColorPicker(prop: RibbonColorPickerSettingsModel, id: string): void;
    /**
     * @param {HTMLElement} element - Gets the colorpicker element to be destroyed.
     * @returns {void}
     * @hidden
     */
    unwireColorPickerEvents(element: HTMLElement): void;
}
//node_modules/@syncfusion/ej2-ribbon/src/ribbon/items/ribbon-checkbox.d.ts
/**
 * Defines the items of Ribbon.
 */
export  class RibbonCheckBox {
    private parent;
    constructor(parent: Ribbon);
    protected getModuleName(): string;
    protected destroy(): void;
    /**
     * Creates the check box.
     *
     * @param {RibbonItemModel} item - Gets the ribbon item model.
     * @param {HTMLElement} itemEle - Gets the ribbon item element.
     * @returns {void}
     * @hidden
     */
    createCheckBox(item: RibbonItemModel, itemEle: HTMLElement): void;
    /**
     * Adds the additional event handlers as the item moved into overflow popup.
     *
     * @param {RibbonItemModel} item - Gets the ribbon item model.
     * @param {HTMLElement} itemEle - Gets the ribbon item element.
     * @param {splitbuttons.DropDownButton} overflowButton - Gets the overflow button.
     * @returns {void}
     * @hidden
     */
    addOverFlowEvents(item: RibbonItemModel, itemEle: HTMLElement, overflowButton: splitbuttons.DropDownButton): void;
    /**
     * Removes the additional event handlers as the item moved from overflow popup.
     *
     * @param {RibbonItemModel} item - Gets the ribbon item model.
     * @param {HTMLElement} itemEle - Gets the ribbon item element.
     * @returns {void}
     * @hidden
     */
    removeOverFlowEvents(item: RibbonItemModel, itemEle: HTMLElement): void;
    /**
     * Triggers the click action on the Checkbox.
     *
     * @param {string} controlId - Gets the control ID.
     * @returns {void}
     */
    click(controlId: string): void;
    /**
     * Updates the checkbox.
     *
     * @param {RibbonCheckBoxSettingsModel} prop - Gets the checkbox property.
     * @param {string} id - Gets the ID of checkbox.
     * @returns {void}
     */
    updateCheckBox(prop: RibbonCheckBoxSettingsModel, id: string): void;
}
//node_modules/@syncfusion/ej2-ribbon/src/ribbon/items/ribbon-button.d.ts
/**
 * Defines the items of Ribbon.
 */
export  class RibbonButton {
    private parent;
    constructor(parent: Ribbon);
    protected getModuleName(): string;
    protected destroy(): void;
    /**
     * Creates button.
     *
     * @param {RibbonItemModel} item - Gets the ribbon item model.
     * @param {HTMLElement} itemEle - Gets the ribbon item element.
     * @returns {void}
     * @hidden
     */
    createButton(item: RibbonItemModel, itemEle: HTMLElement): void;
    /**
     * Adds the additional event handlers as the item moved into overflow popup.
     *
     * @param {RibbonItemModel} item - Gets the ribbon item model.
     * @param {HTMLElement} itemEle - Gets the ribbon item element.
     * @param {splitbuttons.DropDownButton} overflowButton - Gets the overflow button.
     * @returns {void}
     * @hidden
     */
    addOverFlowEvents(item: RibbonItemModel, itemEle: HTMLElement, overflowButton: splitbuttons.DropDownButton): void;
    /**
     * Removes the additional event handlers as the item moved from overflow popup.
     *
     * @param {RibbonItemModel} item - Gets the ribbon item model.
     * @param {HTMLElement} itemEle - Gets the ribbon item element.
     * @returns {void}
     * @hidden
     */
    removeOverFlowEvents(item: RibbonItemModel, itemEle: HTMLElement): void;
    /**
     * Triggers the click action on the button.
     *
     * @param {string} controlId - Gets the control ID.
     * @returns {void}
     */
    click(controlId: string): void;
    /**
     * Updates the button properties.
     *
     * @param {RibbonButtonSettingsModel} prop - Gets the button property.
     * @param {string} id - Gets the ID of button item.
     * @returns {void}
     */
    updateButton(prop: RibbonButtonSettingsModel, id: string): void;
    /**
     * Updates the button size.
     *
     * @param {HTMLElement} element - Gets the button element.
     * @param {RibbonItemModel} item - Gets the ribbon item.
     * @returns {void}
     * @hidden
     */
    updateButtonSize(element: HTMLElement, item: RibbonItemModel): void;
}
//node_modules/@syncfusion/ej2-ribbon/src/ribbon/base/utils.d.ts
/**
 * Gets index value.
 *
 * @param {Array} arr - Gets the array to find index.
 * @param {boolean} condition - Defines whether index matches with the value.
 * @returns {number} - Gets the index value.
 * @hidden
 */
export  function getIndex<T>(arr: Array<T>, condition: (value: T, index: number) => boolean): number;
/**
 * Gets template content based on the template property value.
 *
 * @param {string | HTMLElement| Function} template - Template property value.
 * @returns {Function} - Return template function.
 * @hidden
 */
export  function getTemplateFunction(template: string | HTMLElement | Function): Function;
/**
 * Gets the ribbon item
 *
 * @param {RibbonTabModel} tabs - Gets the ribbon tab model.
 * @param {string} id - Gets the ID of the tab.
 * @param {RibbonItemType} type - Gets the type of the item.
 * @returns {itemProps} - Gets the ribbon item.
 * @hidden
 */
export  function getItem(tabs: RibbonTabModel[], id: string, type?: RibbonItemType): itemProps;
/**
 * Gets the ribbon collection.
 *
 * @param {RibbonTabModel} tabs - Gets the ribbon tab model.
 * @param {string} id - Gets the ID of the tab.
 * @returns {itemProps} - Gets the ribbon collection.
 * @hidden
 */
export  function getCollection(tabs: RibbonTabModel[], id: string): itemProps;
/**
 * Gets the ribbon group.
 *
 * @param {RibbonTabModel} tabs - Gets the ribbon tab model.
 * @param {string} id - Gets the ID of the tab.
 * @returns {itemProps} - Gets the ribbon group.
 * @hidden
 */
export  function getGroup(tabs: RibbonTabModel[], id: string): itemProps;
/**
 * @param {HTMLElement} element - Gets the element to be destroyed.
 * @param {string} moduleName - Gets the module name.
 * @returns {void}
 * @hidden
 */
export  function destroyControl(element: HTMLElement, moduleName: string): void;
/**
 * Updates common properties.
 *
 * @param {HTMLElement} element - Gets the element to be updated.
 * @param {string} moduleName - Gets the module name.
 * @param {commonProperties} commonProp - Gets the common properties to be updated.
 * @returns {void}
 * @hidden
 */
export  function updateCommonProperty(element: HTMLElement, moduleName: string, commonProp: commonProperties): void;
/**
 * Updates disabled control.
 *
 * @param {HTMLElement} element - Gets the element to be disabled.
 * @param {string} moduleName - Gets the module name.
 * @param {boolean} disable - Defines whether the control to be disabled or not.
 * @returns {void}
 * @hidden
 */
export  function updateControlDisabled(element: HTMLElement, moduleName: string, disable: boolean): void;
/**
 * Gets the ribbon item element.
 *
 * @param {Ribbon} parent - Gets the parent element.
 * @param {string} id - Gets the ID of the item.
 * @param {itemProps} itemProp - Gets the ribbon item.
 * @returns {HTMLElement} - Gets the ribbon item element.
 * @hidden
 */
export  function getItemElement(parent: Ribbon, id: string, itemProp?: itemProps): HTMLElement;
/**
 * @param {RibbonTooltipModel} tooltip - Gets the property of tooltip.
 * @returns {boolean} - Gets whether the tooltip is present or not.
 * @hidden
 */
export  function isTooltipPresent(tooltip: RibbonTooltipModel): boolean;
/**
 * Sets content for tooltip.
 *
 * @param {popups.TooltipEventArgs} args - Gets the argument of tooltip.
 * @param {popups.Tooltip} tooltip - Gets the tooltip to set the content.
 * @param {ribbonTooltipData} tooltipData - Gets the tooltip data.
 * @returns {void}
 * @hidden
 */
export  function setToolTipContent(args: popups.TooltipEventArgs, tooltip: popups.Tooltip, tooltipData: ribbonTooltipData[]): void;
/**
 * Creates tooltip.
 *
 * @param {HTMLElement} element - Gets the element to add tooltip.
 * @param {Ribbon} ribbon - Gets the ribbon.
 * @returns {void}
 * @hidden
 */
export  function createTooltip(element: HTMLElement, ribbon: Ribbon): void;
/**
 * Destroys tooltip
 *
 * @param {HTMLElement} element - Gets the element in which the tooltip needs to be destroyed.
 * @returns {void}
 * @hidden
 */
export  function destroyTooltip(element: HTMLElement): void;
/**
 * Updates tooltip
 *
 * @param {HTMLElement} element - Gets the element in which the tooltip needs to be Updated.
 * @param {commonProperties} prop - Gets the property to be updated.
 * @returns {void}
 * @hidden
 */
export  function updateTooltipProp(element: HTMLElement, prop: commonProperties): void;
/**
 * Sets the HTML attributes of an element
 *
 * @param {HTMLElement} element - The HTML element for which attributes are to be updated.
 * @param {commonProperties} attributes - An object containing key-value pairs of attributes to be updated.
 * @returns {void}
 * @hidden
 */
export  function setCustomAttributes(element: HTMLElement, attributes: {
    [key: string]: string;
}): void;
//node_modules/@syncfusion/ej2-ribbon/src/ribbon/base/ribbon.d.ts
/**
 * The Ribbon base.Component is a structured layout to manage tools with tabs and groups.
 */
export  class Ribbon extends base.Component<HTMLElement> implements base.INotifyPropertyChanged {
    /**
     * Specifies the active layout of the ribbon.
     * Accepts one of the below values.
     * * Classic – Renders the ribbon tab contents in classic layout.
     * * Simplified – Renders the ribbon tab contents in single row.
     *
     * @isenumeration true
     * @default RibbonLayout.Classic
     * @asptype RibbonLayout
     */
    activeLayout: RibbonLayout | string;
    /**
     * Defines one or more CSS classes to customize the appearance of ribbon.
     *
     * @default ''
     */
    cssClass: string;
    /**
     * Defines whether to enable the key tip or not.
     *
     * @default false
     */
    enableKeyTips: boolean;
    /**
     * Defines the key tip text for the layoutSwitcher icon.
     *
     * @default ''
     */
    layoutSwitcherKeyTip: string;
    /**
     * Defines the properties of ribbon file menu.
     *
     * @default {}
     */
    fileMenu: FileMenuSettingsModel;
    /**
     * Defines the properties of ribbon backstage.
     *
     * @default {}
     */
    backStageMenu: BackStageMenuModel;
    /**
     * Defines the icon CSS for the launcher icon button in group header.
     *
     * @default ''
     */
    launcherIconCss: string;
    /**
     * Specifies whether the ribbon is minimized or not.
     * When minimized, only the tab header is shown.
     *
     * @default false
     */
    isMinimized: boolean;
    /**
     * Provides the localization value for the controls present in ribbon items.
     *
     * @default 'en-us'
     */
    locale: string;
    /**
     * Specifies the index of the current active tab.
     *
     * @default 0
     */
    selectedTab: number;
    /**
     * Specifies the animation configuration settings for showing the content of the Ribbon navigations.Tab.
     *
     * @default { previous: { effect: 'SlideLeftIn', duration: 600, easing: 'ease' },next: { effect: 'SlideRightIn', duration: 600, easing: 'ease' } }
     */
    tabAnimation: navigations.TabAnimationSettingsModel;
    /**
     * Defines the list of ribbon tabs.
     *
     * @default []
     */
    tabs: RibbonTabModel[];
    /**
     * Defines the properties of ribbon contextual tab.
     *
     * @default []
     */
    contextualTabs: RibbonContextualTabSettingsModel[];
    /**
     * Specifies the width of the ribbon.
     *
     * @default '100%'
     */
    width: string | number;
    /**
     * Specifies the template content for the help pane of ribbon.
     * The help pane appears on the right side of the ribbon header row.
     *
     * @default ''
     * @angularType string | object | HTMLElement
     * @reactType string | function | JSX.Element | HTMLElement
     * @vueType string | function | HTMLElement
     * @aspType string
     */
    helpPaneTemplate: string | HTMLElement | Function;
    /**
     * Defines whether to show the layout switcher button or not.
     *
     * @default false
     */
    hideLayoutSwitcher: boolean;
    /**
     * Event triggers before selecting the tab item.
     *
     * @event tabSelecting
     */
    tabSelecting: base.EmitType<TabSelectingEventArgs>;
    /**
     * Event triggers after selecting the tab item.
     *
     * @event tabSelected
     */
    tabSelected: base.EmitType<TabSelectedEventArgs>;
    /**
     * Event triggers before expanding the ribbon.
     *
     * @event ribbonExpanding
     */
    ribbonExpanding: base.EmitType<ExpandCollapseEventArgs>;
    /**
     * Event triggers before collapsing the ribbon.
     *
     * @event ribbonCollapsing
     */
    ribbonCollapsing: base.EmitType<ExpandCollapseEventArgs>;
    /**
     * Event triggers when the ribbon layout is switched.
     *
     * @event ribbonLayoutSwitched
     */
    ribbonLayoutSwitched: base.EmitType<LayoutSwitchedEventArgs>;
    /**
     * Event triggers when the launcher icon of the group is clicked.
     *
     * @event launcherIconClick
     */
    launcherIconClick: base.EmitType<LauncherClickEventArgs>;
    /**
     * Event triggers once the Ribbon base.Component rendering is completed.
     *
     * @event created
     */
    created: base.EmitType<Event>;
    /**
     * Event triggers when the overflow popup opens.
     *
     * @event overflowPopupOpen
     */
    overflowPopupOpen: base.EmitType<OverflowPopupEventArgs>;
    /**
     * Event triggers when the overflow popup closes.
     *
     * @event overflowPopupClose
     */
    overflowPopupClose: base.EmitType<OverflowPopupEventArgs>;
    /**
     * The `ribbonButtonModule` is used to create and manipulate buttons in ribbon item.
     */
    ribbonButtonModule: RibbonButton;
    /**
     * The `ribbonDropDownModule` is used to create and manipulate dropdown buttons in ribbon item.
     */
    ribbonDropDownModule: RibbonDropDown;
    /**
     * The `ribbonSplitButtonModule` is used to create and manipulate split buttons in ribbon item.
     */
    ribbonSplitButtonModule: RibbonSplitButton;
    /**
     * The `ribbonCheckBoxModule` is used to create and manipulate checkbox in ribbon item.
     */
    ribbonCheckBoxModule: RibbonCheckBox;
    /**
     * The `ribbonColorPickerModule` is used to create and manipulate color picker in ribbon item.
     */
    ribbonColorPickerModule: RibbonColorPicker;
    /**
     * The `ribbonComboBoxModule` is used to create and manipulate combobox in ribbon item.
     */
    ribbonComboBoxModule: RibbonComboBox;
    /**
     * The `ribbonGalleryModule` is used to create and manipulate gallery in ribbon item.
     */
    ribbonGalleryModule: RibbonGallery;
    /**
     * The `ribbonFileMenuModule` is used to create and manipulate the ribbon file menu.
     */
    ribbonFileMenuModule: RibbonFileMenu;
    /**
     * The `ribbonBackstageModule` is used to create and manipulate the ribbon backstage.
     */
    ribbonBackstageModule: RibbonBackstage;
    /**
     * The `ribbonGroupButtonModule` is used to create and manipulate group button in ribbon item.
     */
    ribbonGroupButtonModule: RibbonGroupButton;
    /**
     * The `ribbonContextualTabModule` is used to create and manipulate group button in ribbon item.
     */
    ribbonContextualTabModule: RibbonContextualTab;
    /**
     * The `ribbonKeytipModule` is used to create and manipulate the ribbon keytip.
     */
    ribbonKeyTipModule: RibbonKeyTip;
    private itemIndex;
    private idIndex;
    private isAddRemove;
    private collapseButton;
    private ribbonTempEle;
    private scrollModule;
    private currentControlIndex;
    private keyboardModuleRibbon;
    private keyConfigs;
    private initialPropsData;
    private hiddenElements;
    private hiddenGroups;
    private itemsModel;
    private targetTabs;
    private isUpdateItems;
    /** @hidden */
    keysPress: string;
    /** @hidden */
    keyTipElements: {
        [key: string]: object;
    };
    /** @hidden */
    overflowDDB: splitbuttons.DropDownButton;
    /** @hidden */
    tabsInternal: RibbonTabModel[];
    /** @hidden */
    tabObj: navigations.Tab;
    /** @hidden */
    tooltipData: ribbonTooltipData[];
    /** @hidden */
    isKeytipOpen: boolean;
    /**
     * Constructor for creating the widget.
     *
     * @param  {RibbonModel} options - Specifies the ribbon model
     * @param  {string|HTMLDivElement} element - Specifies the target element
     */
    constructor(options?: RibbonModel, element?: string | HTMLElement);
    /**
     * Initialize the control rendering.
     *
     * @returns {void}
     * @private
     */
    protected render(): void;
    protected preRender(): void;
    /**
     * Get the properties to be maintained in the persisted state.
     *
     * @returns {string} - Persist data
     */
    protected getPersistData(): string;
    /**
     * Get component name.
     *
     * @returns {string} - Module name
     * @private
     */
    protected getModuleName(): string;
    /**
     * To provide the array of modules needed for component rendering
     *
     * @returns {base.ModuleDeclaration[]} - returns module declaration.
     * @hidden
     */
    protected requiredModules(): base.ModuleDeclaration[];
    private initialize;
    private wireEvents;
    private wireKeyboardEvent;
    private keyActionHandler;
    private handleNavigation;
    private resizeHandler;
    private mouseEventHandler;
    private keytipActionHandler;
    private checkKeyTipPresent;
    private removeKeytip;
    private addKeyTip;
    private renderTabs;
    private minimize;
    private toggleLayout;
    private tabCreated;
    private ribbonTabSelected;
    private updateSelectedState;
    private checkOverflow;
    private addTabOverflowKeyTip;
    private checkSimplifiedItemShrinking;
    private checkSimplifiedItemExpanding;
    private createSimplfiedOverflow;
    private checkEmptyCollection;
    private updatePopupItems;
    private removeSimplfiedOverflow;
    private checkOverflowHiddenItems;
    private createOverflowPopup;
    private addOverflowEvents;
    private createOfTabContainer;
    private checkGroupShrinking;
    private checkValidCollectionLength;
    private checkClassicCollection;
    private checkClassicItem;
    private checkLargeToMedium;
    private checkMediumToSmall;
    private checkGroupExpanding;
    private checkSmallToMedium;
    private checkMediumToLarge;
    private handleContentSize;
    private setItemSize;
    private createOverflowDropdown;
    private removeOverflowDropdown;
    private removeDropdown;
    private getGroupResizeOrder;
    private destroyScroll;
    private clearOverflowDropDown;
    private isContextualTab;
    private ribbonTabSelecting;
    private createTabItems;
    private renderInitialTab;
    private addOverflowButton;
    private upDownKeyHandler;
    private findDisabledItem;
    private removeOverflowButton;
    private removeOverflowEvent;
    private createGroupContainer;
    private addExpandCollapse;
    private removeExpandCollapse;
    private reRenderTabs;
    private switchLayout;
    private createLauncherIcon;
    private launcherIconClicked;
    private createGroups;
    private updateGroupProps;
    private validateItemSize;
    private createCollection;
    private createRibbonItem;
    private createItems;
    private createHelpPaneTemplate;
    private createTemplateContent;
    private renderItemTemplate;
    private checkID;
    private hasHtmlAtrrID;
    private updateCommonProperty;
    private removeLauncherIcon;
    private destroyTabItems;
    private destroyFunction;
    /**
     * Gets the item module name.
     *
     * @param {RibbonItemModel} item - Gets the ribbon item model.
     * @returns {void}
     * @hidden
     */
    getItemModuleName(item: RibbonItemModel): string;
    private clearOverflowResize;
    /**
     * Refreshes the layout.
     *
     * @returns {void}
     */
    refreshLayout(): void;
    /**
     * Selects the tab
     *
     * @param  {string} tabId - Gets the tab ID
     * @returns {void}
     */
    selectTab(tabId: string): void;
    /**
     * Shows a specific tab in the ribbon.
     *
     * @param {string} tabId - The ID of the tab to be shown.
     * @param {boolean} isContextual - The boolean if the rendering is contextual.
     * @returns {void}
     */
    showTab(tabId: string, isContextual?: boolean): void;
    /**
     * Hides a specific tab in the ribbon.
     *
     * @param {string} tabId - The ID of the tab to be hidden.
     * @param {boolean} isContextual - The boolean if the rendering is contextual.
     * @returns {void}
     */
    hideTab(tabId: string, isContextual?: boolean): void;
    private showHideTab;
    /**
     * Enables a specific tab in the ribbon.
     *
     * @param {string} tabId - The ID of the tab to be enabled.
     * @returns {void}
     */
    enableTab(tabId: string): void;
    /**
     * Disables a specific tab in the ribbon.
     *
     * @param {string} tabId - The ID of the tab to be disabled.
     * @returns {void}
     */
    disableTab(tabId: string): void;
    private enableDisableTab;
    /**
     * Adds the ribbon tab.
     *
     * @param {RibbonTabModel} tab - Gets the ribbon tab model
     * @param {string} targetId  - Gets the ID of the target tab to add the new tab.
     * @param {boolean} isAfter - Defines whether the tab is added before or after the target.
     * @returns {void}
     */
    addTab(tab: RibbonTabModel, targetId?: string, isAfter?: boolean): void;
    /**
     * Removes the ribbon tab.
     *
     * @param {string} tabId - Gets the tab ID
     * @returns {void}
     */
    removeTab(tabId: string): void;
    /**
     * Adds the ribbon group.
     *
     * @param {string} tabId - Gets the tab ID.
     * @param {RibbonGroupModel} group - Gets the ribbon group model.
     * @param {string} targetId - Gets the ID of the target group to add the new group.
     * @param {boolean} isAfter - Defines whether the group is added before or after the target.
     * @returns {void}
     */
    addGroup(tabId: string, group: RibbonGroupModel, targetId?: string, isAfter?: boolean): void;
    /**
     * Removes the ribbon group.
     *
     * @param {string} groupId -Gets the group ID.
     * @returns {void}
     */
    removeGroup(groupId: string): void;
    private isHeaderVisible;
    /**
     * Hides a specific group within a ribbon tab.
     *
     * @param {string} groupID - The ID of the group to be hidden.
     * @returns {void}
     */
    hideGroup(groupID: string): void;
    /**
     * Shows a specific group within a ribbon tab.
     *
     * @param {string} groupID - The ID of the group to be shown.
     * @returns {void}
     */
    showGroup(groupID: string): void;
    private showHideGroup;
    private updateHiddenElements;
    private checkHiddenElements;
    private updateItemsSimplifiedWidth;
    private checkWidthDifference;
    private calculateHiddenElementsWidth;
    private calculateMediumDataWidth;
    private calculateOverflowItemsWidth;
    /**
     * Disables a specific group within a ribbon tab.
     *
     * @param {string} groupID - The ID of the group to be disabled.
     * @returns {void}
     */
    disableGroup(groupID: string): void;
    /**
     * Enables a specific group within a ribbon tab.
     *
     * @param {string} groupID - The ID of the group to be enabled.
     * @returns {void}
     */
    enableGroup(groupID: string): void;
    private enableDisableGroup;
    /**
     * adds the ribbon collection.
     *
     * @param {string} groupId - Gets the ribbon group ID.
     * @param {RibbonCollectionModel} collection - Gets the ribbon collection model.
     * @param {string} targetId - Gets the ID of the target collection to add the new collection.
     * @param {boolean} isAfter - Defines whether the collection is added before or after the target.
     * @returns {void}
     */
    addCollection(groupId: string, collection: RibbonCollectionModel, targetId?: string, isAfter?: boolean): void;
    /**
     * Removes the ribbon collection.
     *
     * @param {string} collectionId - Gets the collection ID.
     * @returns {void}
     */
    removeCollection(collectionId: string): void;
    /**
     * Adds ribbon item.
     *
     * @param {string} collectionId - Gets the collection ID.
     * @param {RibbonItemModel} item - Gets the ribbon item model.
     * @param {string} targetId - Gets the ID of the target item to add the new item.
     * @param {boolean} isAfter - Defines whether the item is added before or after the target.
     * @returns {void}
     */
    addItem(collectionId: string, item: RibbonItemModel, targetId?: string, isAfter?: boolean): void;
    /**
     * Removes ribbon item.
     *
     * @param {string} itemId - Gets the item ID.
     * @returns {void}
     */
    removeItem(itemId: string): void;
    /**
     * Hides a specific ribbon item.
     *
     * @param {string} itemId - The ID of the item to be hidden.
     * @returns {void}
     */
    hideItem(itemId: string): void;
    /**
     * Shows a specific ribbon item.
     *
     * @param {string} itemId - The ID of the item to be shown.
     * @returns {void}
     */
    showItem(itemId: string): void;
    private showHideItem;
    private updateInitialProps;
    private checkHiddenItems;
    private checkOverflowItems;
    /**
     * tab - Gets the ribbon tab to be updated. The id of the tab is a required property. Other properties are optional.
     *
     * @param {RibbonTabModel} tab - Gets the ribbon tab model.
     * @returns {void}
     */
    updateTab(tab: RibbonTabModel): void;
    /**
     * group - Gets the ribbon group to be updated. The id of the group is a required property. Other properties are optional.
     *
     * @param {RibbonGroupModel} group - Gets the ribbon group model.
     * @returns {void}
     */
    updateGroup(group: RibbonGroupModel): void;
    /**
     * collection - Gets the ribbon collection to be updated. The id of the collection is a required property. Other properties are optional.
     *
     * @param {RibbonCollectionModel} collection - Gets the ribbon collection model.
     * @returns {void}
     */
    updateCollection(collection: RibbonCollectionModel): void;
    /**
     * item - Gets the ribbon item to be updated. The id of the item is a required property. Other properties are optional.
     *
     * @param {RibbonItemModel} item - Gets the ribbon item model.
     * @returns {void}
     */
    updateItem(item: RibbonItemModel): void;
    private removeItemElement;
    /**
     * Enables ribbon item.
     *
     * @param {string} itemId - Gets the item ID.
     * @returns {void}
     */
    enableItem(itemId: string): void;
    /**
     * Disables ribbon item.
     *
     * @param {string} itemId - Gets the item ID.
     * @returns {void}
     */
    disableItem(itemId: string): void;
    /**
     * Gets the Ribbon item model associated with the specified item ID.
     *
     * @param {string} itemId - The unique ID of the Ribbon item.
     * @returns {RibbonItemModel} - Returns the Ribbon item model.
     */
    getItem(itemId: string): RibbonItemModel;
    private enableDisableItem;
    private unwireEvents;
    destroy(): void;
    /**
     * Called internally if any of the property value changed.
     *
     * @param  {RibbonModel} newProp - Specifies new properties
     * @param  {RibbonModel} oldProp - Specifies old properties
     * @returns {void}
     * @private
     */
    onPropertyChanged(newProp: RibbonModel, oldProp?: RibbonModel): void;
}
//node_modules/@syncfusion/ej2-ribbon/src/ribbon/base/ribbon-model.d.ts
/**
 * Interface for a class Ribbon
 */
export interface RibbonModel extends base.ComponentModel{
    /**
     * Specifies the active layout of the ribbon.
     * Accepts one of the below values.
     * * Classic – Renders the ribbon tab contents in classic layout.
     * * Simplified – Renders the ribbon tab contents in single row.
     *
     * @isenumeration true
     * @default RibbonLayout.Classic
     * @asptype RibbonLayout
     */
    activeLayout?: RibbonLayout | string;
    /**
     * Defines one or more CSS classes to customize the appearance of ribbon.
     *
     * @default ''
     */
    cssClass?: string;
    /**
     * Defines whether to enable the key tip or not.
     *
     * @default false
     */
    enableKeyTips?: boolean;
    /**
     * Defines the key tip text for the layoutSwitcher icon.
     *
     * @default ''
     */
    layoutSwitcherKeyTip?: string;
    /**
     * Defines the properties of ribbon file menu.
     *
     * @default {}
     */
    fileMenu?: FileMenuSettingsModel;
    /**
     * Defines the properties of ribbon backstage.
     *
     * @default {}
     */
    backStageMenu?: BackStageMenuModel;
    /**
     * Defines the icon CSS for the launcher icon button in group header.
     *
     * @default ''
     */
    launcherIconCss?: string;
    /**
     * Specifies whether the ribbon is minimized or not.
     * When minimized, only the tab header is shown.
     *
     * @default false
     */
    isMinimized?: boolean;
    /**
     * Provides the localization value for the controls present in ribbon items.
     *
     * @default 'en-us'
     */
    locale?: string;
    /**
     * Specifies the index of the current active tab.
     *
     * @default 0
     */
    selectedTab?: number;
    /**
     * Specifies the animation configuration settings for showing the content of the Ribbon navigations.Tab.
     *
     * @default { previous: { effect: 'SlideLeftIn', duration: 600, easing: 'ease' },next: { effect: 'SlideRightIn', duration: 600, easing: 'ease' } }
     */
    tabAnimation?: navigations.TabAnimationSettingsModel;
    /**
     * Defines the list of ribbon tabs.
     *
     * @default []
     */
    tabs?: RibbonTabModel[];
    /**
     * Defines the properties of ribbon contextual tab.
     *
     * @default []
     */
    contextualTabs?: RibbonContextualTabSettingsModel[];
    /**
     * Specifies the width of the ribbon.
     *
     * @default '100%'
     */
    width?: string | number;
    /**
     * Specifies the template content for the help pane of ribbon.
     * The help pane appears on the right side of the ribbon header row.
     *
     * @default ''
     * @angularType string | object | HTMLElement
     * @reactType string | function | JSX.Element | HTMLElement
     * @vueType string | function | HTMLElement
     * @aspType string
     */
    helpPaneTemplate?: string | HTMLElement | Function;
    /**
     * Defines whether to show the layout switcher button or not.
     *
     * @default false
     */
    hideLayoutSwitcher?: boolean;
    /**
     * base.Event triggers before selecting the tab item.
     *
     * @event tabSelecting
     */
    tabSelecting?: base.EmitType<TabSelectingEventArgs>;
    /**
     * base.Event triggers after selecting the tab item.
     *
     * @event tabSelected
     */
    tabSelected?: base.EmitType<TabSelectedEventArgs>;
    /**
     * base.Event triggers before expanding the ribbon.
     *
     * @event ribbonExpanding
     */
    ribbonExpanding?: base.EmitType<ExpandCollapseEventArgs>;
    /**
     * base.Event triggers before collapsing the ribbon.
     *
     * @event ribbonCollapsing
     */
    ribbonCollapsing?: base.EmitType<ExpandCollapseEventArgs>;
    /**
     * base.Event triggers when the ribbon layout is switched.
     *
     * @event ribbonLayoutSwitched
     */
    ribbonLayoutSwitched?: base.EmitType<LayoutSwitchedEventArgs>;
    /**
     * base.Event triggers when the launcher icon of the group is clicked.
     *
     * @event launcherIconClick
     */
    launcherIconClick?: base.EmitType<LauncherClickEventArgs>;
    /**
     * base.Event triggers once the Ribbon base.Component rendering is completed.
     *
     * @event created
     */
    created?: base.EmitType<Event>;
    /**
     * base.Event triggers when the overflow popup opens.
     *
     * @event overflowPopupOpen
     */
    overflowPopupOpen?: base.EmitType<OverflowPopupEventArgs>;
    /**
     * base.Event triggers when the overflow popup closes.
     *
     * @event overflowPopupClose
     */
    overflowPopupClose?: base.EmitType<OverflowPopupEventArgs>;
}
//node_modules/@syncfusion/ej2-ribbon/src/ribbon/base/interface.d.ts
/**
 * Defines the layout types of ribbon.
 */
export  enum RibbonLayout {
    /**
     * Displays the ribbon tab content in classic layout.
     */
    Classic = "Classic",
    /**
     * Displays the ribbon tab content in simplified layout.
     */
    Simplified = "Simplified"
}
/**
 * Defines the alignment of the items in the ribbon group.
 */
export  enum ItemOrientation {
    /**
     * Displays the collection of items in rows.
     */
    Row = "Row",
    /**
     * Displays the collection of items in column.
     */
    Column = "Column"
}
/**
 * Defines the current size of the ribbon item in normal mode.
 *
 * @aspNumberEnum
 */
export  enum RibbonItemSize {
    /**
     * The item appears with large icon and text at the bottom.
     */
    Large = 4,
    /**
     * The item appears with small icon and text at the right.
     */
    Medium = 2,
    /**
     * The item appears with small icon only.
     */
    Small = 1
}
/**
 * Defines how to show an item in ribbon simplified layout.
 *
 * @aspNumberEnum
 */
export  enum DisplayMode {
    /**
     * The item appears in the classic layout group.
     */
    Classic = 4,
    /**
     * The item appears in the simplified layout group.
     */
    Simplified = 2,
    /**
     * The item appears in overflow popup.
     */
    Overflow = 1,
    /**
     * The item appears in classic layout group, simplified layout group, and overflow popup based on ribbon overflow state.
     */
    Auto = 7
}
/**
 * Defines the type of the ribbon item.
 */
export  enum RibbonItemType {
    /**
     * Renders button as ribbon item.
     */
    Button = "Button",
    /**
     * Renders checkbox as ribbon item.
     */
    CheckBox = "CheckBox",
    /**
     * Renders color picker as ribbon item.
     */
    ColorPicker = "ColorPicker",
    /**
     * Renders combobox as ribbon item.
     */
    ComboBox = "ComboBox",
    /**
     * Renders dropdownbutton as ribbon item.
     */
    DropDown = "DropDown",
    /**
     * Renders splitbutton as ribbon item.
     */
    SplitButton = "SplitButton",
    /**
     * Renders the group button content as ribbon item.
     */
    GroupButton = "GroupButton",
    /**
     * Renders the gallery as ribbon item.
     */
    Gallery = "Gallery",
    /**
     * Renders the template content as ribbon item.
     */
    Template = "Template"
}
/**
 * Defines the alignment of the items in the ribbon group.
 */
export  enum RibbonGroupButtonSelection {
    /**
     * Allows selecting single button from button group.
     */
    Single = "Single",
    /**
     * Allows selecting multiple buttons from button group.
     */
    Multiple = "Multiple"
}
/**
 * Event triggers before selecting the tab item.
 */
export interface TabSelectingEventArgs extends base.BaseEventArgs {
    /**
     * Defines whether to cancel the event or not.
     */
    cancel: boolean;
    /**
     * Specifies whether the event is triggered via user interaction or programmatic way.
     */
    isInteracted: boolean;
    /**
     * Defines the index of the previously selected tab.
     */
    previousIndex: number;
    /**
     * Defines the index of the selected tab.
     */
    selectedIndex: number;
    /**
     * Defines whether the tab is a contextual tab.
     */
    isContextual: boolean;
}
/**
 * Event triggers after selecting the tab item.
 */
export interface TabSelectedEventArgs extends base.BaseEventArgs {
    /**
     *  Defines the index of the previously selected tab.
     */
    previousIndex: number;
    /**
     *  Defines the index of the selected tab.
     */
    selectedIndex: number;
    /**
     * Defines whether the tab is a contextual tab.
     */
    isContextual: boolean;
}
/**
 * Event triggers before expanding and before collapsing the ribbon.
 */
export interface ExpandCollapseEventArgs extends base.BaseEventArgs {
    /**
     *  Defines whether to cancel the event or not.
     */
    cancel: boolean;
}
/**
 * Event triggers when the ribbon layout is switched.
 */
export interface LayoutSwitchedEventArgs extends base.BaseEventArgs {
    /**
     *  Specifies the active layout of the ribbon.
     */
    activeLayout: string;
    /**
     *  Provides the actual native event.
     */
    event: Event;
}
/**
 * Event Triggers when the launcher icon is clicked.
 */
export interface LauncherClickEventArgs extends base.BaseEventArgs {
    /**
     *  Provides the ID of the group in which the launcher icon is present.
     */
    groupId: string;
}
/**
 * Triggers before clicking the button from group button
 */
export interface BeforeClickGroupButtonEventArgs extends base.BaseEventArgs {
    /**
     *  Defines whether to cancel the event or not.
     */
    cancel: boolean;
    /**
     *  Defines the collection of previous selected group button item(s).
     */
    previousItems: RibbonGroupButtonItemModel[];
    /**
     *  Defines the collection of current selecting group button item(s).
     */
    selectingItems: RibbonGroupButtonItemModel[];
}
/**
 * Triggers after clicking the button from group button.
 */
export interface ClickGroupButtonEventArgs extends base.BaseEventArgs {
    /**
     *  Defines the collection of previous selected group button item(s).
     */
    previousItems: RibbonGroupButtonItemModel[];
    /**
     *  Defines the collection of current selected group button item(s).
     */
    selectedItems: RibbonGroupButtonItemModel[];
}
/**
 * Triggers before open / close of overflow popup menu.
 */
export interface OverflowPopupEventArgs extends base.BaseEventArgs {
    /**
     *  Provides the HTML element of the overflow popup.
     */
    element: HTMLElement;
    /**
     *  Defines the original event arguments.
     */
    event: Event;
    /**
     *  Defines whether to cancel the  overflow popup open or close.
     */
    cancel?: boolean;
}
/**
 * Event triggers when the gallery popup open / close.
 */
export interface GalleryPopupEventArgs extends base.BaseEventArgs {
    /**
     *  Defines whether to cancel the gallery popup open or close.
     */
    cancel: boolean;
    /**
     *  Provides the original event.
     */
    event: Event;
    /**
     *  Specifies name of the event.
     */
    name: string;
}
/**
 * Event triggers when a user hovers over a gallery item.
 */
export interface GalleryHoverEventArgs extends base.BaseEventArgs {
    /**
     *  Provides the original event.
     */
    event: Event;
    /**
     *  Specifies name of the event.
     */
    name: string;
    /**
     *  Provides gallery item.
     */
    item: RibbonGalleryItemModel;
}
/**
 * Event triggers before rendering each gallery item.
 */
export interface GalleryItemEventArgs extends base.BaseEventArgs {
    /**
     *  Specifies name of the event.
     */
    name: string;
    /**
     *  Provides gallery item.
     */
    item: RibbonGalleryItemModel;
}
/**
 * Event triggers before selecting gallery item.
 */
export interface GalleryBeforeSelectEventArgs extends base.BaseEventArgs {
    /**
     *  Provides the previous selected gallery item.
     */
    previousItem: RibbonGalleryItemModel;
    /**
     *  Provides the current selecting gallery item.
     */
    currentItem: RibbonGalleryItemModel;
    /**
     *  Defines whether to cancel the selecting event or not.
     */
    cancel: boolean;
    /**
     *  Specifies name of the event.
     */
    name: string;
    /**
     *  Provides whether the change is triggered by user interaction.
     */
    isInteracted: boolean;
    /**
     *  Provides the original event.
     */
    event: Event;
}
/**
 * Event triggers after selected gallery item.
 */
export interface GallerySelectEventArgs extends base.BaseEventArgs {
    /**
     *  Provides the previous selected gallery item.
     */
    previousItem: RibbonGalleryItemModel;
    /**
     *  Provides the current selected gallery item.
     */
    currentItem: RibbonGalleryItemModel;
    /**
     *  Specifies name of the event.
     */
    name: string;
    /**
     *  Provides whether the change is triggered by user interaction.
     */
    isInteracted: boolean;
    /**
     *  Provides the original event.
     */
    event: Event;
}
/** @hidden */
export interface itemProps {
    item?: RibbonItemModel;
    collection?: RibbonCollectionModel;
    group?: RibbonGroupModel;
    element?: HTMLElement;
    tabIndex?: number;
    groupIndex?: number;
    collectionIndex?: number;
    itemIndex?: number;
}
/** @hidden */
export interface commonProperties {
    enableRtl?: boolean;
    enablePersistence?: boolean;
    locale?: string;
}
/** @hidden */
export interface EJ2Control {
    destroy(): void;
    setProperties(prop: Object, muteOnChange?: boolean): void;
}
/**
 * @hidden
 */
export interface ribbonItemPropsList {
    items?: RibbonItemModel[];
    collections?: RibbonCollectionModel[];
    groups?: RibbonGroupModel[];
    id?: string;
    setProperties?: Function;
}
/**
 * @hidden
 */
export interface ribbonTooltipData {
    id: string;
    data: RibbonTooltipModel;
}
/**
 * @hidden
 */
export interface KeyTipDataType {
    id: string;
    keyTip: string;
    type: string;
}
/**
 * @hidden
 */
export interface KeyTipElements {
    [key: string]: object;
}
//node_modules/@syncfusion/ej2-ribbon/src/ribbon/base/constant.d.ts
/**
 * Specifies the File Manager internal ID's
 */
/** @hidden */
export  const ITEM_VERTICAL_CENTER: string;
/** @hidden */
export  const EXPAND_COLLAPSE_ICON: string;
/** @hidden */
export  const BACKSTAGE_CLOSE_ICON: string;
/** @hidden */
export  const OVERFLOW_ICON: string;
/** @hidden */
export  const VERTICAL_DDB: string;
/** @hidden */
export  const DISABLED_CSS: string;
/** @hidden */
export  const RTL_CSS: string;
/** @hidden */
export  const RIBBON_HOVER: string;
/** @hidden */
export  const RIBBON_CONTROL: string;
/** @hidden */
export  const RIBBON_POPUP_CONTROL: string;
/** @hidden */
export  const RIBBON_POPUP_OPEN: string;
/** @hidden */
export  const RIBBON_KEYTIP: string;
/** @hidden */
export  const SPACE: string;
/** @hidden */
export  const HORIZONTAL_SCROLLBAR: string;
/** @hidden */
export  const HIDE_CSS: string;
/** @hidden */
export  const RIBBON_TAB: string;
/** @hidden */
export  const RIBBON_CONTEXTUAL_TAB: string;
/** @hidden */
export  const RIBBON_TAB_ACTIVE: string;
/** @hidden */
export  const RIBBON_TAB_ITEM: string;
/** @hidden */
export  const RIBBON_COLLAPSE_BUTTON: string;
/** @hidden */
export  const RIBBON_EXPAND_BUTTON: string;
/** @hidden */
export  const RIBBON_COLLAPSIBLE: string;
/** @hidden */
export  const RIBBON_OVERALL_OF_BUTTON: string;
/** @hidden */
export  const RIBBON_GROUP_OF_BUTTON: string;
/** @hidden */
export  const RIBBON_OVERFLOW_TARGET: string;
/** @hidden */
export  const RIBBON_OVERFLOW: string;
/** @hidden */
export  const TAB_CONTENT: string;
/** @hidden */
export  const RIBBON_MINIMIZE: string;
/** @hidden */
export  const RIBBON_GROUP: string;
/** @hidden */
export  const RIBBON_SINGLE_BUTTON_SELECTION: string;
/** @hidden */
export  const RIBBON_MULTIPLE_BUTTON_SELECTION: string;
/** @hidden */
export  const RIBBON_GROUP_BUTTON: string;
/** @hidden */
export  const RIBBON_GROUP_BUTTON_OVERFLOW_POPUP: string;
/** @hidden */
export  const RIBBON_GROUP_BUTTON_CONTENT: string;
/** @hidden */
export  const RIBBON_GROUP_CONTAINER: string;
/** @hidden */
export  const RIBBON_OF_TAB_CONTAINER: string;
/** @hidden */
export  const RIBBON_OF_GROUP_CONTAINER: string;
/** @hidden */
export  const RIBBON_GROUP_CONTENT: string;
/** @hidden */
export  const RIBBON_GROUP_HEADER: string;
/** @hidden */
export  const RIBBON_OVERFLOW_HEADER: string;
/** @hidden */
export  const RIBBON_GROUP_OVERFLOW: string;
/** @hidden */
export  const RIBBON_GROUP_OVERFLOW_DDB: string;
/** @hidden */
export  const RIBBON_LAUNCHER: string;
/** @hidden */
export  const RIBBON_LAUNCHER_ICON_ELE: string;
/** @hidden */
export  const RIBBON_LAUNCHER_ICON: string;
/** @hidden */
export  const RIBBON_COLLECTION: string;
/** @hidden */
export  const RIBBON_ITEM: string;
/** @hidden */
export  const RIBBON_ROW: string;
/** @hidden */
export  const RIBBON_COLUMN: string;
/** @hidden */
export  const RIBBON_LARGE_ITEM: string;
/** @hidden */
export  const RIBBON_MEDIUM_ITEM: string;
/** @hidden */
export  const RIBBON_SMALL_ITEM: string;
/** @hidden */
export  const RIBBON_CONTENT_HEIGHT: string;
/** @hidden */
export  const DROPDOWNBUTTON: string;
/** @hidden */
export  const DROPDOWNBUTTON_HIDE: string;
/** @hidden */
export  const RIBBON_TEMPLATE: string;
/** @hidden */
export  const RIBBON_HELP_TEMPLATE: string;
/** @hidden */
export  const RIBBON_TOOLTIP: string;
/** @hidden */
export  const RIBBON_TOOLTIP_TARGET: string;
/** @hidden */
export  const RIBBON_TOOLTIP_TITLE: string;
/** @hidden */
export  const RIBBON_TOOLTIP_CONTENT: string;
/** @hidden */
export  const RIBBON_TOOLTIP_ICON: string;
/** @hidden */
export  const RIBBON_TOOLTIP_CONTAINER: string;
/** @hidden */
export  const RIBBON_TEXT_CONTAINER: string;
/** @hidden */
export  const RIBBON_SIMPLIFIED_MODE: string;
/** @hidden */
export  const RIBBON_BACKSTAGE_POPUP: string;
/** @hidden */
export  const RIBBON_BACKSTAGE_OPEN: string;
/** @hidden */
export  const RIBBON_BACKSTAGE_CONTENT: string;
/** @hidden */
export  const RIBBON_SELECTED_CONTENT: string;
/** @hidden */
export  const RIBBON_BACKSTAGE: string;
/** @hidden */
export  const RIBBON_BACKSTAGE_MENU: string;
/** @hidden */
export  const RIBBON_BACKSTAGE_TEMPLATE: string;
/** @hidden */
export  const RIBBON_BACKSTAGE_MENU_WRAPPER: string;
/** @hidden */
export  const RIBBON_BACKSTAGE_ITEMS_WRAPPER: string;
/** @hidden */
export  const RIBBON_BACKSTAGE_TEXT_MENU: string;
/** @hidden */
export  const TAB_ID: string;
/** @hidden */
export  const GROUP_ID: string;
/** @hidden */
export  const COLLECTION_ID: string;
/** @hidden */
export  const ITEM_ID: string;
/** @hidden */
export  const COLLAPSE_BUTTON_ID: string;
/** @hidden */
export  const OVRLOF_BUTTON_ID: string;
/** @hidden */
export  const GROUPOF_BUTTON_ID: string;
/** @hidden */
export  const HEADER_ID: string;
/** @hidden */
export  const LAUNCHER_ID: string;
/** @hidden */
export  const CONTENT_ID: string;
/** @hidden */
export  const CONTAINER_ID: string;
/** @hidden */
export  const OVERFLOW_ID: string;
/** @hidden */
export  const DROPDOWN_ID: string;
/** @hidden */
export  const RIBBON_FILE_MENU_ID: string;
/** @hidden */
export  const RIBBON_BACKSTAGE_MENU_ID: string;
/** @hidden */
export  const RIBBON_BACKSTAGE_POPUP_ID: string;
/** @hidden */
export  const RIBBON_FILE_MENU_LIST: string;
/** @hidden */
export  const RIBBON_MENU_LIST: string;
/** @hidden */
export  const RIBBON_FOOTER_MENU_LIST: string;
/** @hidden */
export  const RIBBON_HELP_PANE_TEMPLATE_ID: string;
/** @hidden */
export  const RIBBON_GROUP_BUTTON_ID: string;
/** @hidden */
export  const RIBBON_KEYTIP_ID: string;
/** @hidden */
export  const RIBBON_FILE_MENU_WIDTH: string;
/** @hidden */
export  const RIBBON_HELP_PANE_TEMPLATE_WIDTH: string;
 }
export namespace richtexteditor { 

//node_modules/@syncfusion/ej2-richtexteditor/src/rich-text-editor.d.ts
/**
 * Rich Text Editor component exported items
 */
//node_modules/@syncfusion/ej2-richtexteditor/src/components.d.ts
/**
 * Rich Text Editor component exported items
 */
//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[];
    editableElement: HTMLElement | HTMLBodyElement;
    constructor(editElement?: HTMLElement | HTMLBodyElement);
    private saveInstance;
    private documentFromRange;
    getRange(docElement: Document): Range;
    /**
     * get method
     *
     * @param {Document} docElement - specifies the get function
     * @returns {void}
     * @hidden
     * @deprecated
     */
    get(docElement: Document): Selection;
    /**
     * save method
     *
     * @param {Range} range - range value.
     * @param {Document} docElement - specifies the document.
     * @returns {void}
     * @hidden
     * @deprecated
     */
    save(range: Range, docElement: Document): NodeSelection;
    /**
     * getIndex method
     *
     * @param {Node} node - specifies the node value.
     * @returns {void}
     * @hidden
     * @deprecated
     */
    getIndex(node: Node): number;
    private isChildNode;
    private getNode;
    /**
     * getNodeCollection method
     *
     * @param {Range} range -specifies the range.
     * @returns {void}
     * @hidden
     * @deprecated
     */
    getNodeCollection(range: Range): Node[];
    /**
     * getParentNodeCollection method
     *
     * @param {Range} range - specifies the range value.
     * @returns {void}
     * @hidden
     * @deprecated
     */
    getParentNodeCollection(range: Range): Node[];
    /**
     * getParentNodes method
     *
     * @param {Node[]} nodeCollection - specifies the collection of nodes.
     * @param {Range} range - specifies the range values.
     * @returns {void}
     * @hidden
     * @deprecated
     */
    getParentNodes(nodeCollection: Node[], range: Range): Node[];
    /**
     * getSelectionNodeCollection method
     *
     * @param {Range} range - specifies the range value.
     * @returns {void}
     * @hidden
     * @deprecated
     */
    getSelectionNodeCollection(range: Range): Node[];
    /**
     * getSelectionNodeCollection along with BR node method
     *
     * @param {Range} range - specifies the range value.
     * @returns {void}
     * @hidden
     * @deprecated
     */
    getSelectionNodeCollectionBr(range: Range): Node[];
    /**
     * getParentNodes method
     *
     * @param {Node[]} nodeCollection - specifies the collection of nodes.
     * @returns {void}
     * @hidden
     * @deprecated
     */
    getSelectionNodes(nodeCollection: Node[]): Node[];
    /**
     * Get selection text nodes with br method.
     *
     * @param {Node[]} nodeCollection - specifies the collection of nodes.
     * @returns {void}
     * @hidden
     * @deprecated
     */
    getSelectionNodesBr(nodeCollection: Node[]): Node[];
    /**
     * getInsertNodeCollection method
     *
     * @param {Range} range - specifies the range value.
     * @returns {void}
     * @hidden
     * @deprecated
     */
    getInsertNodeCollection(range: Range): Node[];
    /**
     * getInsertNodes method
     *
     * @param {Node[]} nodeCollection - specifies the collection of nodes.
     * @returns {void}
     * @hidden
     * @deprecated
     */
    getInsertNodes(nodeCollection: Node[]): Node[];
    /**
     * getNodeArray method
     *
     * @param {Node} node - specifies the node content.
     * @param {boolean} isStart - specifies the boolean value.
     * @param {Document} root - specifies the root document.
     * @returns {void}
     * @hidden
     * @deprecated
     */
    getNodeArray(node: Node, isStart: boolean, root?: Document): number[];
    private setRangePoint;
    /**
     * restore method
     *
     * @returns {void}
     * @hidden
     * @deprecated
     */
    restore(): Range;
    selectRange(docElement: Document, range: Range): void;
    /**
     * setRange method
     *
     * @param {Document} docElement - specifies the document.
     * @param {Range} range - specifies the range.
     * @returns {void}
     * @hidden
     * @deprecated
     */
    setRange(docElement: Document, range: Range): void;
    /**
     * setSelectionText method
     *
     * @param {Document} docElement - specifies the documrent
     * @param {Node} startNode - specifies the starting node.
     * @param {Node} endNode - specifies the the end node.
     * @param {number} startIndex - specifies the starting index.
     * @param {number} endIndex - specifies the end index.
     * @returns {void}
     * @hidden
     * @deprecated
     */
    setSelectionText(docElement: Document, startNode: Node, endNode: Node, startIndex: number, endIndex: number): void;
    /**
     * setSelectionContents method
     *
     * @param {Document} docElement - specifies the document.
     * @param {Node} element - specifies the node.
     * @returns {void}
     * @hidden
     * @deprecated
     */
    setSelectionContents(docElement: Document, element: Node): void;
    /**
     * setSelectionNode method
     *
     * @param {Document} docElement - specifies the document.
     * @param {Node} element - specifies the node.
     * @returns {void}
     * @hidden
     * @deprecated
     */
    setSelectionNode(docElement: Document, element: Node): void;
    /**
     * getSelectedNodes method
     *
     * @param {Document} docElement - specifies the document.
     * @returns {void}
     * @hidden
     * @deprecated
     */
    getSelectedNodes(docElement: Document): Node[];
    /**
     * Clear method
     *
     * @param {Document} docElement - specifies the document.
     * @returns {void}
     * @hidden
     * @deprecated
     */
    Clear(docElement: Document): void;
    /**
     * insertParentNode method
     *
     * @param {Document} docElement - specifies the document.
     * @param {Node} newNode - specicfies the new node.
     * @param {Range} range - specifies the range.
     * @returns {void}
     * @hidden
     * @deprecated
     */
    insertParentNode(docElement: Document, newNode: Node, range: Range): void;
    /**
     * setCursorPoint method
     *
     * @param {Document} docElement - specifies the document.
     * @param {Element} element - specifies the element.
     * @param {number} point - specifies the point.
     * @returns {void}
     * @hidden
     * @deprecated
     */
    setCursorPoint(docElement: Document, element: Element, point: number): void;
    private isTableOrImageStart;
    private isTableOrImageEnd;
    processedTableImageCursor(range: Range): ImageOrTableCursor;
    findLastTextPosition(element: Node): {
        node: Node;
        offset: number;
    } | null;
}
//node_modules/@syncfusion/ej2-richtexteditor/src/rich-text-editor/video.d.ts
/**
 * Video
 */
//node_modules/@syncfusion/ej2-richtexteditor/src/rich-text-editor/toolbar.d.ts
/**
 * Toolbar
 */
//node_modules/@syncfusion/ej2-richtexteditor/src/rich-text-editor/services.d.ts
/**
 * Services
 */
//node_modules/@syncfusion/ej2-richtexteditor/src/rich-text-editor/renderer.d.ts
/**
 * Renderer
 */
//node_modules/@syncfusion/ej2-richtexteditor/src/rich-text-editor/quick-toolbar.d.ts
/**
 * QuickToolbar
 */
//node_modules/@syncfusion/ej2-richtexteditor/src/rich-text-editor/models.d.ts
/**
 * Models
 */
//node_modules/@syncfusion/ej2-richtexteditor/src/rich-text-editor/markdown-editor.d.ts
/**
 * MarkdownEditor
 */
//node_modules/@syncfusion/ej2-richtexteditor/src/rich-text-editor/link.d.ts
/**
 * Link
 */
//node_modules/@syncfusion/ej2-richtexteditor/src/rich-text-editor/image.d.ts
/**
 * Image
 */
//node_modules/@syncfusion/ej2-richtexteditor/src/rich-text-editor/html-editor.d.ts
/**
 * HtmlEditor
 */
//node_modules/@syncfusion/ej2-richtexteditor/src/rich-text-editor/formatter.d.ts
/**
 * Formatter
 */
//node_modules/@syncfusion/ej2-richtexteditor/src/rich-text-editor/base.d.ts
/**
 * Base export
 */
//node_modules/@syncfusion/ej2-richtexteditor/src/rich-text-editor/audio.d.ts
/**
 * Audio
 */
//node_modules/@syncfusion/ej2-richtexteditor/src/rich-text-editor/actions.d.ts
/**
 * Action export
 */
//node_modules/@syncfusion/ej2-richtexteditor/src/rich-text-editor/services/service-locator.d.ts
/**
 * ServiceLocator
 *
 * @hidden
 * @deprecated
 */
export  class ServiceLocator {
    private services;
    /**
     * register method
     *
     * @param {string} name - specifies the name.
     * @param {T} type - specifies the type.
     * @returns {void}
     * @hidden
     * @deprecated
     */
    register<T>(name: string, type: T): void;
    /**
     * getService method
     *
     * @param {string} name - specifies the name.
     * @returns {void}
     * @hidden
     * @deprecated
     */
    getService<T>(name: string): T;
    destroy(): void;
}
//node_modules/@syncfusion/ej2-richtexteditor/src/rich-text-editor/services/renderer-factory.d.ts
/**
 * RendererFactory
 *
 * @hidden
 * @deprecated
 */
export  class RendererFactory {
    rendererMap: {
        [c: string]: IRenderer;
    };
    /**
     * addRenderer method
     *
     * @param {RenderType} name - specifies the render type
     * @param {IRenderer} type - specifies the renderer.
     * @returns {void}
     * @hidden
     * @deprecated
     */
    addRenderer(name: RenderType, type: IRenderer): void;
    /**
     * getRenderer method
     *
     * @param {RenderType} name - specifies the render type
     * @returns {void}
     * @hidden
     * @deprecated
     */
    getRenderer(name: RenderType): IRenderer;
    destroy(): void;
}
//node_modules/@syncfusion/ej2-richtexteditor/src/rich-text-editor/renderer/view-source.d.ts
/**
 * Content module is used to render Rich Text Editor content
 *
 * @hidden
 * @deprecated
 */
export  class ViewSource {
    private parent;
    private contentModule;
    private rendererFactory;
    private keyboardModule;
    private previewElement;
    private codeViewTimeInterval;
    /**
     * Constructor for view source module
     *
     * @param {IRichTextEditor} parent - specifies the parent element.
     * @param {ServiceLocator} locator - specifies the locator.
     * @returns {void}
     */
    constructor(parent?: IRichTextEditor, locator?: ServiceLocator);
    private addEventListener;
    private onInitialEnd;
    private removeEventListener;
    private getSourceCode;
    private wireEvent;
    private unWireEvent;
    private wireBaseKeyDown;
    private unWireBaseKeyDown;
    private mouseDownHandler;
    private previewKeyDown;
    private onKeyDown;
    /**
     * sourceCode method
     *
     * @param {navigations.ClickEventArgs} args - specifies the click event.
     * @returns {void}
     * @hidden
     * @deprecated
     */
    sourceCode(args?: navigations.ClickEventArgs | IHtmlKeyboardEvent): void;
    /**
     * updateSourceCode method
     *
     * @param {navigations.ClickEventArgs} args - specifies the click event.
     * @returns {void}
     * @hidden
     * @deprecated
     */
    updateSourceCode(args?: navigations.ClickEventArgs | base.KeyboardEventArgs): void;
    private replaceAmpersand;
    private getTextAreaValue;
    /**
     * getPanel method
     *
     * @returns {HTMLTextAreaElement} - Specifies the Souce codetext area element.
     * @hidden
     * @deprecated
     */
    getPanel(): HTMLTextAreaElement;
    /**
     * Destroy the entire RichTextEditor.
     *
     * @returns {void}
     * @hidden
     * @deprecated
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-richtexteditor/src/rich-text-editor/renderer/video-module.d.ts
export  class Video {
    element: HTMLElement;
    private rteID;
    private parent;
    dialogObj: popups.Dialog;
    uploadObj: inputs.Uploader;
    private i10n;
    private inputUrl;
    private embedInputUrl;
    private uploadUrl;
    private contentModule;
    private rendererFactory;
    private quickToolObj;
    /**
     * @hidden
     */
    vidResizeDiv: HTMLElement;
    private vidDupPos;
    private resizeBtnStat;
    private videoEle;
    private prevSelectedVidEle;
    private isVideoUploaded;
    private isAllowedTypes;
    private pageX;
    private pageY;
    private mouseX;
    private dialogRenderObj;
    private deletedVid;
    private changedWidthValue;
    private changedHeightValue;
    private inputWidthValue;
    private inputHeightValue;
    private removingVideoName;
    private showPopupTime;
    private isResizeBind;
    private isDestroyed;
    private docClick;
    private webUrlBtn;
    private embedUrlBtn;
    private widthNum;
    private heightNum;
    private button;
    private constructor();
    protected addEventListener(): void;
    protected removeEventListener(): void;
    private afterRender;
    private clearDialogObj;
    private onKeyUp;
    private undoStack;
    private onIframeMouseDown;
    private videoSize;
    private vidsizeInput;
    private insertSize;
    private resizeEnd;
    private resizeStart;
    private videoClick;
    private onCutHandler;
    private videoResize;
    private getPointX;
    private getPointY;
    private vidResizePos;
    private calcPos;
    private setAspectRatio;
    private updateVidEleWidth;
    private pixToPerc;
    private vidDupMouseMove;
    private resizing;
    cancelResizeAction(): void;
    private resizeVidDupPos;
    private resizeBtnInit;
    private onToolbarAction;
    private onKeyDown;
    private handleSelectAll;
    private openDialog;
    private showDialog;
    private closeDialog;
    private checkVideoBack;
    private checkVideoDel;
    private alignmentSelect;
    private deleteVideo;
    private videoRemovePost;
    private triggerPost;
    private onDocumentClick;
    private removeResizeEle;
    private onWindowResize;
    private break;
    private inline;
    private alignVideo;
    private editAreaClickHandler;
    private showVideoQuickToolbar;
    hideVideoQuickToolbar(): void;
    private isEmbedVidElem;
    private insertingVideo;
    insertVideo(e: IImageNotifyArgs): void;
    private urlPopup;
    private videoUpload;
    private checkExtension;
    private fileSelect;
    private cancelDialog;
    private insertVideoUrl;
    /**
     * Destroys the ToolBar.
     *
     * @method destroy
     * @returns {void}
     * @hidden
     * @deprecated
     */
    destroy(): void;
    /**
     * For internal use only - Get the module name.
     *
     * @returns {void}
     * @hidden
     */
    private getModuleName;
}
//node_modules/@syncfusion/ej2-richtexteditor/src/rich-text-editor/renderer/toolbar-renderer.d.ts
/**
 * `Toolbar renderer` module is used to render toolbar in RichTextEditor.
 *
 * @hidden
 * @deprecated
 */
export  class ToolbarRenderer implements IRenderer {
    private mode;
    private toolbarPanel;
    /**
     *
     * @hidden
     * @private
     */
    parent: IRichTextEditor;
    private currentElement;
    private currentDropdown;
    private tooltip;
    private l10n;
    private tooltipTargetEle;
    isDestroyed: boolean;
    isEscapeKey: boolean;
    /**
     * Constructor for toolbar renderer module
     *
     * @param {IRichTextEditor} parent - specifies the parent element.
     * @param {ServiceLocator} serviceLocator - specifies the serviceLocator
     */
    constructor(parent?: IRichTextEditor, serviceLocator?: ServiceLocator);
    private wireEvent;
    private destroyTooltip;
    private unWireEvent;
    private toolbarBeforeCreate;
    private toolbarCreated;
    private extendedToolbarMouseDownHandler;
    private toolbarClicked;
    private dropDownSelected;
    private beforeDropDownItemRender;
    private tooltipBeforeRender;
    private dropDownOpen;
    private dropDownClose;
    private dropDownBeforeClose;
    /**
     * renderToolbar method
     *
     * @param {IToolbarOptions} args - specifies the arguments.
     * @returns {void}
     * @hidden
     * @deprecated
     */
    renderToolbar(args: IToolbarOptions): void;
    tooltipBeforeOpen(args: popups.TooltipEventArgs): void;
    /**
     * renderDropDownButton method
     *
     * @param {IDropDownModel} args - specifies the the arguments.
     * @returns {void}
     * @hidden
     * @deprecated
     */
    renderDropDownButton(args: IDropDownModel): splitbuttons.DropDownButton;
    private mouseOutHandler;
    private closeTooltip;
    /**
     * renderListDropDown method
     *
     * @param {IDropDownModel} args - specifies the the arguments.
     * @returns {void}
     * @hidden
     * @deprecated
     */
    renderListDropDown(args: IDropDownModel): splitbuttons.DropDownButton;
    private paletteSelection;
    /**
     * renderColorPickerDropDown method
     *
     * @param {IColorPickerModel} args - specifies the arguments.
     * @param {string} item - specifies the item.
     * @param {inputs.ColorPicker} colorPicker - specifies the colorpicker.
     * @param {string} defaultColor -specifies the defaultColor.
     * @param {string} toolbarType - Specifies the type of toolbar triggering the color picker.
     * @returns {void}
     * @hidden
     * @deprecated
     */
    renderColorPickerDropDown(args: IColorPickerModel, item: string, colorPicker: inputs.ColorPicker, defaultColor: string, toolbarType?: string): splitbuttons.DropDownButton;
    private pickerRefresh;
    private setColorPickerContentWidth;
    /**
     * renderColorPicker method
     *
     * @param {IColorPickerModel} args - specifies the arguments
     * @param {string} item - specifies the string values
     * @param {string} toolbarType - Specifies the type of toolbar triggering the color picker.
     * @returns {void}
     * @hidden
     * @deprecated
     */
    renderColorPicker(args: IColorPickerModel, item: string, toolbarType?: string): inputs.ColorPicker;
    /**
     * The function is used to render Rich Text Editor toolbar
     *
     * @returns {void}
     * @hidden
     * @deprecated
     */
    renderPanel(): void;
    /**
     * Get the toolbar element of RichTextEditor
     *
     * @returns {Element} - specifies the element.
     * @hidden
     * @deprecated
     */
    getPanel(): Element;
    /**
     * Set the toolbar element of RichTextEditor
     *
     * @returns {void}
     * @param  {Element} panel - specifies the element.
     * @hidden
     * @deprecated
     */
    setPanel(panel: Element): void;
    destroy(): void;
}
//node_modules/@syncfusion/ej2-richtexteditor/src/rich-text-editor/renderer/table-module.d.ts
/**
 * `Table` module is used to handle table actions.
 */
export  class Table {
    ensureInsideTableList: boolean;
    element: HTMLElement;
    private rteID;
    private parent;
    private dlgDiv;
    private tblHeader;
    popupObj: popups.Popup;
    editdlgObj: popups.Dialog;
    private createTableButton;
    private contentModule;
    private rendererFactory;
    private quickToolObj;
    private resizeBtnStat;
    private pageX;
    private pageY;
    private curTable;
    private activeCell;
    private keyDownEventInstance;
    private colIndex;
    private columnEle;
    private rowTextBox;
    private columnTextBox;
    private tableWidthNum;
    private tableCellPadding;
    private tableCellSpacing;
    private rowEle;
    private l10n;
    private moveEle;
    private helper;
    private dialogRenderObj;
    private currentColumnResize;
    private previousTableElement;
    private resizeEndTime;
    private isTableMoveActive;
    private resizeIconPositionTime;
    private isResizeBind;
    private isEnableIframe;
    private isDestroyed;
    private createTablePopupBoundFn;
    private constructor();
    protected addEventListener(): void;
    protected removeEventListener(): void;
    private updateCss;
    private setCssClass;
    private afterRender;
    private dropdownSelect;
    private UpdateCells;
    private keyDown;
    private tableCellsKeyboardSelection;
    private resetTableSelection;
    private getCorrespondingColumns;
    private getCorrespondingIndex;
    private getAdjacentTableElement;
    private getAdjacentElementFromDom;
    private getAdjacentElementFromList;
    private getNodeCollection;
    private getSelectedTableEle;
    private getBrElement;
    private setSelection;
    private removeAllFakeSelectionEles;
    private deleteTable;
    private removeTableSelection;
    private updateTableSelection;
    private handleSelectAll;
    private tableModulekeyUp;
    private openDialog;
    private showDialog;
    private closeDialog;
    private onToolbarAction;
    private verticalAlign;
    private tableStyles;
    private insideList;
    private getBlockNodesInSelection;
    private getImmediateBlockNode;
    private removeEmptyTextNodes;
    private tabSelection;
    private tableArrowNavigation;
    private hideTableQuickToolbar;
    private tableHeader;
    private getAnchorNode;
    private editAreaClickHandler;
    private tableCellSelect;
    private tableMouseUp;
    private tableMouseLeave;
    private tableCellLeave;
    private tableCellClick;
    private tableInsert;
    private cellSelect;
    private heightcheck;
    private wireTableSelectionEvents;
    private unwireTableSelectionEvents;
    private removeCellSelectClasses;
    private tableMove;
    private resizeHelper;
    private tableResizeEleCreation;
    removeResizeElement(): void;
    private calcPos;
    private getPointX;
    private getPointY;
    private resizeStart;
    private getCellIndex;
    private removeHelper;
    private appendHelper;
    private setHelperHeight;
    private updateHelper;
    private calMaxCol;
    private resizing;
    private getCurrentColWidth;
    private getCurrentTableWidth;
    private findFirstLastColCells;
    private convertPixelToPercentage;
    private cancelResizeAction;
    private resizeEnd;
    private resetResizeHelper;
    private resizeBtnInit;
    private addRow;
    private addColumn;
    private removeRowColumn;
    private removeTable;
    private renderDlgContent;
    private onIframeMouseDown;
    private docClick;
    private drawTable;
    private editTable;
    private insertTableDialog;
    private tableCellDlgContent;
    private clearDialogObj;
    private createDialog;
    private customTable;
    private cancelDialog;
    private applyProperties;
    private tableDlgContent;
    /**
     * Destroys the ToolBar.
     *
     * @function destroy
     * @returns {void}
     * @hidden
     * @deprecated
     */
    destroy(): void;
    /**
     * For internal use only - Get the module name.
     *
     * @returns {void}
     */
    private getModuleName;
    private afterKeyDown;
    private updateResizeIconPosition;
    private createTablePopupKeyDown;
}
//node_modules/@syncfusion/ej2-richtexteditor/src/rich-text-editor/renderer/slash-menu.d.ts
export  class SlashMenu {
    private parent;
    private L10n;
    private mention;
    private savedSelection;
    private currentDocument;
    private defaultItems;
    private injectibleItems;
    constructor(options: IRichTextEditor, serviceLocator: ServiceLocator);
    private removeEventListener;
    private onPropertyChanged;
    getModuleName(): string;
    destroy(): void;
    private generateMentionModel;
    private handleSelect;
    private getItems;
    render(): void;
}
//node_modules/@syncfusion/ej2-richtexteditor/src/rich-text-editor/renderer/render.d.ts
/**
 * Content module is used to render Rich Text Editor content
 *
 * @hidden
 * @deprecated
 */
export  class Render {
    private parent;
    private locator;
    private contentRenderer;
    private renderer;
    /**
     * Constructor for render module
     *
     * @param {IRichTextEditor} parent - specifies the parent
     * @param {ServiceLocator} locator - specifies the locator.
     * @returns {void}
     */
    constructor(parent?: IRichTextEditor, locator?: ServiceLocator);
    /**
     * To initialize Rich Text Editor header, content and footer rendering
     *
     * @returns {void}
     * @hidden
     * @deprecated
     */
    render(): void;
    /**
     * Refresh the entire RichTextEditor.
     *
     * @param {NotifyArgs} e - specifies the arguments.
     * @returns {void}
     */
    refresh(e?: NotifyArgs): void;
    /**
     * Destroy the entire RichTextEditor.
     *
     * @returns {void}
     */
    destroy(): void;
    private addEventListener;
    private removeEventListener;
    private keyUp;
}
//node_modules/@syncfusion/ej2-richtexteditor/src/rich-text-editor/renderer/popup-renderer.d.ts
/**
 * `Popup renderer` module is used to render popup in RichTextEditor.
 *
 * @hidden
 * @deprecated
 */
export  class PopupRenderer implements IRenderer {
    private popupObj;
    private popupPanel;
    protected parent: IRichTextEditor;
    /**
     * Constructor for popup renderer module
     *
     * @param {IRichTextEditor} parent - specifies the parent.
     */
    constructor(parent?: IRichTextEditor);
    private quickToolbarOpen;
    /**
     * renderPopup method
     *
     * @param {BaseQuickToolbar} args - specifies  the arguments.
     * @returns {void}
     * @hidden
     * @deprecated
     */
    renderPopup(args: BaseQuickToolbar): void;
    /**
     * The function is used to add popup class in Quick Toolbar
     *
     * @returns {void}
     * @hidden
     * @deprecated
     */
    renderPanel(): void;
    /**
     * Get the popup element of RichTextEditor
     *
     * @returns {Element} - specifies the element
     * @hidden
     * @deprecated
     */
    getPanel(): Element;
    /**
     * Set the popup element of RichTextEditor
     *
     * @returns {void}
     * @param  {Element} panel - specifies the element
     * @hidden
     * @deprecated
     */
    setPanel(panel: Element): void;
}
//node_modules/@syncfusion/ej2-richtexteditor/src/rich-text-editor/renderer/markdown-renderer.d.ts
/**
 * Markdown module is used to render Rich Text Editor as Markdown editor content
 *
 * @hidden
 * @deprecated
 */
export  class MarkdownRender implements IRenderer {
    private contentPanel;
    protected parent: IRichTextEditor;
    protected editableElement: Element;
    /**
     * Constructor for content renderer module
     *
     * @param {IRichTextEditor} parent - specifies the parent.
     */
    constructor(parent?: IRichTextEditor);
    /**
     * The function is used to render Rich Text Editor content div
     *
     * @returns {void}
     * @hidden
     * @deprecated
     */
    renderPanel(): void;
    /**
     * Get the content div element of RichTextEditor
     *
     * @returns {Element} - specifies the element
     * @hidden
     * @deprecated
     */
    getPanel(): Element;
    /**
     * Get the editable element of RichTextEditor
     *
     * @returns {Element} - specifies the element
     * @hidden
     * @deprecated
     */
    getEditPanel(): Element;
    /**
     * Returns the text content as string.
     *
     * @returns {string} - specifies the string values.
     */
    getText(): string;
    /**
     * Set the content div element of RichTextEditor
     *
     * @param  {Element} panel - specifies the element.
     * @returns {void}
     * @hidden
     * @deprecated
     */
    setPanel(panel: Element): void;
    /**
     * Get the document of RichTextEditor
     *
     * @returns {void}
     * @hidden
     * @deprecated
     */
    getDocument(): Document;
}
//node_modules/@syncfusion/ej2-richtexteditor/src/rich-text-editor/renderer/link-module.d.ts
/**
 * `Link` module is used to handle undo actions.
 */
export  class Link {
    private rteID;
    private i10n;
    private parent;
    contentModule: IRenderer;
    private dialogObj;
    private checkBoxObj;
    serviceLocator: ServiceLocator;
    private rendererFactory;
    private quickToolObj;
    private dialogRenderObj;
    private isDestroyed;
    private mouseDown;
    private linkQTPopupTime;
    private constructor();
    protected addEventListener(): void;
    private onToolbarAction;
    protected removeEventListener(): void;
    private onIframeMouseDown;
    private updateCss;
    private setCssClass;
    private showLinkQuickToolbar;
    private showLinkPopup;
    private hideLinkQuickToolbar;
    private editAreaClickHandler;
    private onKeyDown;
    private openDialog;
    private showDialog;
    private closeDialog;
    private clearDialogObj;
    private linkDialog;
    private hasAnchorNodePresent;
    private insertlink;
    private isUrl;
    private handleKeyDown;
    private checkUrl;
    private removeLink;
    private openLink;
    private getAnchorNode;
    private editLink;
    private cancelDialog;
    private onDocumentClick;
    /**
     * Destroys the ToolBar.
     *
     * @function destroy
     * @returns {void}
     * @hidden
     * @deprecated
     */
    destroy(): void;
    /**
     * For internal use only - Get the module name.
     *
     * @returns {void}
     */
    private getModuleName;
}
//node_modules/@syncfusion/ej2-richtexteditor/src/rich-text-editor/renderer/image-module.d.ts
/**
 * `Image` module is used to handle image actions.
 */
export  class Image {
    element: HTMLElement;
    private rteID;
    private parent;
    dialogObj: popups.Dialog;
    private popupObj;
    uploadObj: inputs.Uploader;
    private i10n;
    private inputUrl;
    private captionEle;
    private checkBoxObj;
    private widthNum;
    private heightNum;
    private browseButton;
    private uploadUrl;
    private contentModule;
    private rendererFactory;
    private quickToolObj;
    /**
     * @hidden
     */
    imgResizeDiv: HTMLElement;
    private imgDupPos;
    private resizeBtnStat;
    private imgEle;
    private prevSelectedImgEle;
    private isImgUploaded;
    private isAllowedTypes;
    private pageX;
    private pageY;
    private dialogRenderObj;
    private deletedImg;
    private changedWidthValue;
    private changedHeightValue;
    private inputWidthValue;
    private inputHeightValue;
    private removingImgName;
    private currentResizeHandler;
    private aspectRatio;
    private drop;
    private drag;
    private enter;
    private start;
    private docClick;
    private imageQTPopupTime;
    private imageDragPopupTime;
    private uploadCancelTime;
    private uploadFailureTime;
    private uploadSuccessTime;
    private showImageQTbarTime;
    private isDestroyed;
    private constructor();
    protected addEventListener(): void;
    protected removeEventListener(): void;
    private updateCss;
    private setCssClass;
    private onIframeMouseDown;
    private afterRender;
    private undoStack;
    private resizeEnd;
    private resizeStart;
    private imageClick;
    private onCutHandler;
    private imageResize;
    private getPointX;
    private getPointY;
    private imgResizePos;
    private calcPos;
    private setAspectRatio;
    private setImageWidth;
    private setImageHeight;
    private removeImageHeight;
    private getImageDimension;
    private adjustDimensionsByAspectRatio;
    private pixToPerc;
    private imgDupMouseMove;
    private resizing;
    private adjustDimensions;
    private getResizeFactor;
    private findAspectRatio;
    cancelResizeAction(): void;
    private resizeImgDupPos;
    private resizeBtnInit;
    private onToolbarAction;
    private openImgLink;
    private editImgLink;
    private removeImgLink;
    private onKeyDown;
    private handleSelectAll;
    private openDialog;
    private showDialog;
    private closeDialog;
    private onKeyUp;
    private checkImageBack;
    private checkImageDel;
    private alignmentSelect;
    private imageWithLinkQTBarItemUpdate;
    private showImageQuickToolbar;
    private hideImageQuickToolbar;
    private editAreaClickHandler;
    private insertImgLink;
    private insertAltText;
    private insertAlt;
    private handleKeyDown;
    private insertlink;
    private isUrl;
    private deleteImg;
    private caption;
    private imageSize;
    private break;
    private inline;
    private alignImage;
    private clearDialogObj;
    private imagDialog;
    private cancelDialog;
    private onDocumentClick;
    private removeResizeEle;
    private onWindowResize;
    private imageUrlPopup;
    private insertImageUrl;
    private imgsizeInput;
    private inputValue;
    private insertSize;
    private insertImage;
    private imgUpload;
    private checkExtension;
    private fileSelect;
    private dragStart;
    private dragEnter;
    private dragOver;
    /**
     * Used to set range When drop an image
     *
     * @param {ImageDropEventArgs} args - specifies the image arguments.
     * @returns {void}
     */
    private dragDrop;
    /**
     * Used to calculate range on internet explorer
     *
     * @param {number} x - specifies the x range.
     * @param {number} y - specifies the y range.
     * @returns {void}
     */
    private getDropRange;
    private insertDragImage;
    private hasOnlyImage;
    private onSelect;
    /**
     * Rendering uploader and popup for drag and drop
     *
     * @param {DragEvent} dragEvent - specifies the event.
     * @param {HTMLImageElement} imageElement - specifies the element.
     * @returns {void}
     */
    private uploadMethod;
    private refreshPopup;
    /**
     * Called when drop image upload was failed
     *
     * @param {HTMLElement} imgEle - specifies the image element.
     * @param {IShowPopupArgs} args - specifies the arguments.
     * @param {ImageFailedEventArgs} e - specfies the failure event.
     * @returns {void}
     */
    private uploadFailure;
    /**
     * Called when drop image upload was successful
     *
     * @param {HTMLElement} imageElement - specifies the image element.
     * @param {DragEvent} dragEvent - specifies the drag event.
     * @param {IShowPopupArgs} args - specifies the arguments.
     * @param {ImageSuccessEventArgs} e - specifies the success event.
     * @returns {void}
     */
    private uploadSuccess;
    private imagePaste;
    private showPopupToolBar;
    /**
     * Destroys the ToolBar.
     *
     * @method destroy
     * @returns {void}
     * @hidden
     * @deprecated
     */
    destroy(): void;
    /**
     * For internal use only - Get the module name.
     *
     * @returns {void}
     */
    private getModuleName;
}
//node_modules/@syncfusion/ej2-richtexteditor/src/rich-text-editor/renderer/iframe-content-renderer.d.ts
/**
 * Content module is used to render Rich Text Editor content
 *
 * @hidden
 * @deprecated
 */
export  class IframeContentRender extends ContentRender {
    /**
     * The function is used to render Rich Text Editor iframe
     *
     * @hidden
     * @deprecated
     */
    renderPanel(): void;
    private setThemeColor;
    /**
     * Get the editable element of RichTextEditor
     *
     * @returns {Element} - specifies the element.
     * @hidden
     * @deprecated
     */
    getEditPanel(): Element;
    /**
     * Get the document of RichTextEditor
     *
     * @returns {void}
     * @hidden
     * @deprecated
     */
    getDocument(): Document;
}
//node_modules/@syncfusion/ej2-richtexteditor/src/rich-text-editor/renderer/dialog-renderer.d.ts
/**
 * popups.Dialog Renderer
 */
export  class DialogRenderer {
    dialogObj: popups.Dialog;
    private dialogEle;
    private parent;
    private outsideClickClosedBy;
    constructor(parent?: IRichTextEditor);
    protected addEventListener(): void;
    protected removeEventListener(): void;
    /**
     * dialog render method
     *
     * @param {popups.DialogModel} e - specifies the dialog model.
     * @returns {void}
     * @hidden
     * @deprecated
     */
    render(e: popups.DialogModel): popups.Dialog;
    private beforeOpen;
    private handleEnterKeyDown;
    private beforeOpenCallback;
    private open;
    private documentClickClosedBy;
    private beforeClose;
    private getDialogPosition;
    /**
     * dialog close method
     *
     * @param {Object} args - specifies the arguments.
     * @returns {void}
     * @hidden
     * @deprecated
     */
    close(args: Object): void;
}
//node_modules/@syncfusion/ej2-richtexteditor/src/rich-text-editor/renderer/content-renderer.d.ts
/**
 * Content module is used to render Rich Text Editor content
 *
 * @hidden
 * @deprecated
 */
export  class ContentRender implements IRenderer {
    protected contentPanel: Element;
    protected parent: IRichTextEditor;
    protected editableElement: HTMLElement;
    /**
     * Constructor for content renderer module
     *
     * @param {IRichTextEditor} parent - specifies the parent element.
     */
    constructor(parent?: IRichTextEditor);
    /**
     * The function is used to render Rich Text Editor content div
     *
     * @returns {void}
     * @hidden
     * @deprecated
     */
    renderPanel(): void;
    /**
     * Get the content div element of RichTextEditor
     *
     * @returns {Element} - specifies the element.
     * @hidden
     * @deprecated
     */
    getPanel(): Element;
    /**
     * Get the editable element of RichTextEditor
     *
     * @returns {Element} - specifies the return element.
     * @hidden
     * @deprecated
     */
    getEditPanel(): Element;
    /**
     * Returns the text content as string.
     *
     * @returns {string} - specifies the string element.
     */
    getText(): string;
    /**
     * Set the content div element of RichTextEditor
     *
     * @param {Element} panel - specifies the panel element.
     * @returns {void}
     * @hidden
     * @deprecated
     */
    setPanel(panel: Element): void;
    /**
     * Get the document of RichTextEditor
     *
     * @returns {Document} - specifies the document.
     * @hidden
     * @deprecated
     */
    getDocument(): Document;
}
//node_modules/@syncfusion/ej2-richtexteditor/src/rich-text-editor/renderer/audio-module.d.ts
/**
 * `Audio` module is used to handle audio actions.
 */
export  class Audio {
    element: HTMLElement;
    private rteID;
    private parent;
    dialogObj: popups.Dialog;
    uploadObj: inputs.Uploader;
    private button;
    private i10n;
    private inputUrl;
    private uploadUrl;
    private contentModule;
    private rendererFactory;
    private quickToolObj;
    private audEle;
    private isAudioUploaded;
    private isAllowedTypes;
    private dialogRenderObj;
    private deletedAudio;
    private removingAudioName;
    private prevSelectedAudEle;
    private showPopupTime;
    private isDestroyed;
    private docClick;
    private constructor();
    protected addEventListener(): void;
    protected removeEventListener(): void;
    private afterRender;
    private checkAudioBack;
    private checkAudioDel;
    private undoStack;
    private touchStart;
    private onToolbarAction;
    private onKeyUp;
    private onKeyDown;
    private handleSelectAll;
    private openDialog;
    private showDialog;
    private closeDialog;
    private deleteAudio;
    private audioRemovePost;
    private triggerPost;
    private audioClick;
    private onDocumentClick;
    private alignmentSelect;
    private break;
    private inline;
    private editAreaClickHandler;
    private isAudioElem;
    private showAudioQuickToolbar;
    hideAudioQuickToolbar(): void;
    private insertingAudio;
    private clearDialogObj;
    insertAudio(e: IImageNotifyArgs): void;
    private audioUrlPopup;
    private audioUpload;
    private checkExtension;
    private fileSelect;
    private cancelDialog;
    private insertAudioUrl;
    /**
     * Destroys the ToolBar.
     *
     * @method destroy
     * @returns {void}
     * @hidden
     * @deprecated
     */
    destroy(): void;
    /**
     * For internal use only - Get the module name.
     *
     * @returns {void}
     * @hidden
     */
    private getModuleName;
}
//node_modules/@syncfusion/ej2-richtexteditor/src/rich-text-editor/models/toolbar-settings.d.ts
/**
 * Configures the toolbar settings of the RichTextEditor.
 */
export  class ToolbarSettings extends base.ChildProperty<ToolbarSettings> {
    /**
     * Specifies whether to render the toolbar in the RichTextEditor.
     *
     * @default true
     */
    enable: boolean;
    /**
     * Specifies whether to enable or disable the floating toolbar.
     *
     * @default true
     */
    enableFloating: boolean;
    /**
     * Specifies the display types of the toolbar.
     * The available types are:
     * - Expand: Toolbar items fit within available space, and the rest are placed in the extended menu.
     * - MultiRow: Toolbar placed at the top of the RichTextEditor editing area.
     * - Scrollable: Toolbar items displayed in a single line with horizontal scrolling enabled.
     *
     * @default Expand
     */
    type: ToolbarType;
    /**
     * An array of strings or objects used to configure the toolbar items.
     *
     * @default ['Bold', 'Italic', 'Underline', '|', 'Formats', 'Alignments', 'Blockquote', 'OrderedList', 'UnorderedList', '|', 'CreateLink', 'Image', '|', 'SourceCode', 'Undo', 'Redo']
     */
    items: (string | ToolbarConfigItems | IToolbarItems)[];
    /**
     * Allows modification of the default toolbar item configuration, such as the icon class.
     *
     * @default {}
     */
    itemConfigs: {
        [key in ToolbarItems]?: IToolsItemConfigs;
    };
}
/**
 */
export  class ImportWord extends base.ChildProperty<ImportWord> {
    /**
     * Specifies the URL to receive and handle file uploads on the server.
     *
     * @default null
     */
    serviceUrl: string;
}
/**
 * Configures the export settings for Word format in the RichTextEditor.
 */
export  class ExportWord extends base.ChildProperty<ExportWord> {
    /**
     * Specifies the URL used to export RichTextEditor content into Word files.
     *
     * @default null
     */
    serviceUrl: string;
    /**
     * Specifies the file name for the exported Word file.
     *
     * @default 'Sample.docx'
     */
    fileName: string;
    /**
     * Specifies the stylesheet to be applied to the exported file.
     *
     * @default null
     */
    stylesheet: string;
}
/**
 * Configures the export settings for PDF format in the RichTextEditor.
 */
export  class ExportPdf extends base.ChildProperty<ExportPdf> {
    /**
     * Specifies the URL used to export RichTextEditor content into PDF files.
     *
     * @default null
     */
    serviceUrl: string;
    /**
     * Specifies the file name for the exported PDF file.
     *
     * @default 'Sample.pdf'
     */
    fileName: string;
    /**
     * Specifies the stylesheet to be applied to the exported file.
     *
     * @default null
     */
    stylesheet: string;
}
/**
 * Configures the image settings of the RichTextEditor.
 */
export  class ImageSettings extends base.ChildProperty<ImageSettings> {
    /**
     * Specifies the allowed file types for selection.
     *
     * @default ['.jpeg', '.jpg', '.png']
     */
    allowedTypes: string[];
    /**
     * Specifies whether the image is inserted inline or with a break.
     *
     * @default 'inline'
     */
    display: string;
    /**
     * Specifies whether the inserted image is saved as a blob or base64.
     *
     * @default 'Blob'
     */
    saveFormat: SaveFormat;
    /**
     * Specifies the width of the image.
     *
     * @default 'auto'
     */
    width: string;
    /**
     * Specifies the height of the image.
     *
     * @default 'auto'
     */
    height: string;
    /**
     * Specifies the URL for the save action that handles uploaded images on the server.
     *
     * This URL should handle a `POST` request, with an argument named `UploadFiles`.
     *
     * The event is triggered when inserting an image via the Insert Image dialog, pasting an image, replacing an existing image, or dragging and dropping from the file browser.
     *
     * @default null
     */
    saveUrl: string;
    /**
     * Specifies the path for storing and displaying images.
     *
     * @default null
     */
    path: string;
    /**
     * Enables resizing for the image element.
     *
     * @default true
     */
    resize: boolean;
    /**
     * Specifies the URL for the remove action that handles image removal on the server.
     *
     * This URL should handle a `POST` request, with an argument named `UploadFiles`.
     *
     * The event is triggered when uploading and canceling or removing an image in the insert image dialog, pasting, and removing an image in the Paste cleanup popup.
     *
     * @default null
     */
    removeUrl: string;
    /**
     * Defines the minimum width of the image.
     *
     * @default '0'
     */
    minWidth: string | number;
    /**
     * Defines the maximum width of the image.
     *
     * @default null
     */
    maxWidth: string | number;
    /**
     * Defines the minimum height of the image.
     *
     * @default '0'
     */
    minHeight: string | number;
    /**
     * Defines the maximum height of the image.
     *
     * @default null
     */
    maxHeight: string | number;
    /**
     * Enables image resizing by percentage calculation.
     *
     * @default false
     */
    resizeByPercent: boolean;
}
/**
 * Configures the audio settings of the RichTextEditor.
 */
export  class AudioSettings extends base.ChildProperty<AudioSettings> {
    /**
     * Specifies the allowed file types for audio selection.
     *
     * @default ['.wav', '.mp3', '.m4a', '.wma']
     */
    allowedTypes: string[];
    /**
     * Specifies whether the audio is inserted inline or with a break.
     *
     * @default 'Inline'
     */
    layoutOption: DisplayLayoutOptions;
    /**
     * Specifies whether the inserted audio is saved as a blob or base64.
     *
     * @default 'Blob'
     */
    saveFormat: SaveFormat;
    /**
     * Specifies the URL for the save action that handles uploaded audio files on the server.
     *
     * @default null
     */
    saveUrl: string;
    /**
     * Specifies the URL for the remove action that handles audio removal on the server.
     *
     * @default null
     */
    removeUrl: string;
    /**
     * Specifies the path for storing and displaying audio files.
     *
     * @default null
     */
    path: string;
}
/**
 * Configures the video settings of the RichTextEditor.
 */
export  class VideoSettings extends base.ChildProperty<VideoSettings> {
    /**
     * Specifies the allowed file types for video selection.
     *
     * @default ['.mp4', '.mov', '.wmv', '.avi']
     */
    allowedTypes: string[];
    /**
     * Specifies whether the video is inserted inline or with a break.
     *
     * @default 'Inline'
     */
    layoutOption: DisplayLayoutOptions;
    /**
     * Specifies whether the inserted video is saved as a blob or base64.
     *
     * @default 'Blob'
     */
    saveFormat: SaveFormat;
    /**
     * Specifies the width of the video.
     *
     * @default 'auto'
     */
    width: string;
    /**
     * Specifies the height of the video.
     *
     * @default 'auto'
     */
    height: string;
    /**
     * Specifies the URL for the save action that handles uploaded video files on the server.
     *
     * @default null
     */
    saveUrl: string;
    /**
     * Specifies the path for storing and displaying video files.
     *
     * @default null
     */
    path: string;
    /**
     * Enables resizing for the video element.
     *
     * @default true
     */
    resize: boolean;
    /**
     * Specifies the URL for the remove action that handles video removal on the server.
     *
     * @default null
     */
    removeUrl: string;
    /**
     * Defines the minimum width of the video.
     *
     * @default '0'
     */
    minWidth: string | number;
    /**
     * Defines the maximum width of the video.
     *
     * @default null
     */
    maxWidth: string | number;
    /**
     * Defines the minimum height of the video.
     *
     * @default '0'
     */
    minHeight: string | number;
    /**
     * Defines the maximum height of the video.
     *
     * @default null
     */
    maxHeight: string | number;
    /**
     * Enables video resizing by percentage calculation.
     *
     * @default false
     */
    resizeByPercent: boolean;
}
/**
 * Configures the file manager settings of the RichTextEditor.
 */
export  class FileManagerSettings extends base.ChildProperty<FileManagerSettings> {
    /**
     * Event triggered before sending an AJAX request to the server.
     * Set the cancel argument to true to prevent the request.
     *
     * @event beforeSend
     */
    beforeSend: base.EmitType<filemanager.BeforeSendEventArgs>;
    /**
     * Specifies the AJAX settings for the file manager.
     *
     * @default {
     *   getImageUrl: null,
     *   url: null,
     *   uploadUrl: null
     * }
     */
    ajaxSettings: filemanager.AjaxSettingsModel;
    /**
     * Enables or disables drag-and-drop functionality for files.
     *
     * @default false
     */
    allowDragAndDrop: boolean;
    /**
     * Specifies the context menu settings for the file manager.
     *
     * @default {
     *   file: ['Open', '|', 'Cut', 'Copy', '|', 'Delete', 'Rename', '|', 'Details'],
     *   folder: ['Open', '|', 'Cut', 'Copy', 'Paste', '|', 'Delete', 'Rename', '|', 'Details'],
     *   layout: ['SortBy', 'View', 'Refresh', '|', 'Paste', '|', 'NewFolder', 'Upload', '|', 'Details', '|', 'SelectAll'],
     *   visible: true
     * }
     */
    contextMenuSettings: filemanager.ContextMenuSettingsModel;
    /**
     * Specifies the root CSS class of the file manager, allowing customization by overriding styles.
     *
     * @default ''
     */
    cssClass: string;
    /**
     * Specifies the details view settings for the file manager.
     *
     * @default {
     *   columns: [{
     *     field: 'name', headerText: 'Name', minWidth: 120, template: '<span class="e-fe-text">${name}</span>',
     *     customAttributes: { class: 'e-fe-grid-name'}}, { field: '_fm_modified', headerText: 'DateModified', type: 'dateTime',
     *     format: 'MMMM dd, yyyy HH:mm', minWidth: 120, width: '190' }, { field: 'size', headerText: 'Size', minWidth: 90, width: '110',
     *     template: '<span class="e-fe-size">${size}</span>' }
     *   ]
     * }
     */
    detailsViewSettings: filemanager.DetailsViewSettingsModel;
    /**
     * Specifies whether to enable the file manager in the RichTextEditor.
     *
     * @default false
     */
    enable: boolean;
    /**
     * Specifies the navigation pane settings for the file manager.
     *
     * @default { maxWidth: '650px', minWidth: '240px', visible: true }
     */
    navigationPaneSettings: filemanager.NavigationPaneSettingsModel;
    /**
     * Specifies the current path in the file manager.
     *
     * @default '/'
     */
    path: string;
    /**
     * Specifies the alias name for the root folder in the file manager.
     *
     * @default null
     */
    rootAliasName: string;
    /**
     * Specifies the search settings for the file manager.
     *
     * @default {
     *   allowSearchOnTyping: true,
     *   filterType: 'contains',
     *   ignoreCase: true
     * }
     */
    searchSettings: filemanager.SearchSettingsModel;
    /**
     * Determines whether to show or hide file extensions in the file manager.
     *
     * @default true
     */
    showFileExtension: boolean;
    /**
     * Determines whether to show or hide files and folders marked as hidden.
     *
     * @default false
     */
    showHiddenItems: boolean;
    /**
     * Determines whether to show or hide thumbnail images in the large icons view.
     *
     * @default true
     */
    showThumbnail: boolean;
    /**
     * Specifies the sort order for folders and files. Options are:
     * - `None`: Folders and files are not sorted.
     * - `Ascending`: Folders and files are sorted in ascending order.
     * - `Descending`: Folders and files are sorted in descending order.
     *
     * @default 'Ascending'
     */
    sortOrder: filemanager.SortOrder;
    /**
     * Specifies groups of items aligned horizontally in the toolbar.
     *
     * @default { visible: true, items: ['NewFolder', 'Upload', 'Cut', 'Copy', 'Paste', 'Delete', 'Download', 'Rename', 'SortBy', 'Refresh', 'Selection', 'View', 'Details'] }
     */
    toolbarSettings: filemanager.ToolbarSettingsModel;
    /**
     * Specifies the upload settings for the file manager.
     *
     * @default { autoUpload: true, minFileSize: 0, maxFileSize: 30000000, allowedExtensions: '', autoClose: false }
     */
    uploadSettings: filemanager.UploadSettingsModel;
    /**
     * Specifies the initial view of the file manager.
     *
     * This property allows setting the initial view to either 'Details' or 'LargeIcons'. The available views are:
     * - `LargeIcons`
     * - `Details`
     *
     * @default 'LargeIcons'
     */
    view: filemanager.ViewType;
}
export  class TableSettings extends base.ChildProperty<TableSettings> {
    /**
     * Specifies the width of the table.
     *
     * @default '100%'
     */
    width: string | number;
    /**
     * Class names appended by default to the table element.
     * Assists in styling the table in specific CSS styles when inserted in the editor.
     *
     * Available styles:
     * - `Dashed Borders`: Adds dashed borders around the table using the `e-dashed-borders` CSS class.
     * - `Alternate Rows`: Applies alternating row colors for better readability using the `e-alternate-rows` CSS class.
     *
     * @default TableStyleItems
     */
    styles: IDropDownItemModel[];
    /**
     * Enables resizing for the 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 the quick toolbar in the RichTextEditor.
     *
     * @default true
     */
    enable: boolean;
    /**
     * Specifies whether the quick toolbar opens on right-click.
     *
     * @default false
     */
    showOnRightClick: boolean;
    /**
     * Specifies the action to perform when scrolling the target-parent container.
     *
     * @default 'hide'
     */
    actionOnScroll: ActionOnScroll;
    /**
     * Specifies the items to render in the quick toolbar when a link is selected.
     *
     * @default ['Open', 'Edit', 'UnLink']
     */
    link: (string | IToolbarItems)[];
    /**
     * Specifies the items to render in the quick toolbar when an image is selected.
     *
     * @default ['Replace', 'Align', 'Caption', 'Remove', '-', 'InsertLink', 'OpenImageLink', 'EditImageLink', 'RemoveImageLink', 'Display', 'AltText', 'Dimension']
     */
    image: (string | IToolbarItems)[];
    /**
     * Specifies the items to render in the quick toolbar when audio is selected.
     *
     * @default ['AudioReplace', 'Remove', 'AudioLayoutOption']
     */
    audio: (string | IToolbarItems)[];
    /**
     * Specifies the items to render in the quick toolbar when a video is selected.
     *
     * @default ['VideoReplace', 'VideoAlign', 'VideoRemove', 'VideoLayoutOption', 'VideoDimension']
     */
    video: (string | IToolbarItems)[];
    /**
     * Specifies the items to render in the quick toolbar when text is selected.
     *
     * @default null
     */
    text: (string | ToolbarConfigItems | IToolbarItems)[];
    /**
     * Specifies the items to render in the quick toolbar when a table is selected.
     *
     * @default ['TableHeader', 'TableRows', 'TableColumns', 'BackgroundColor', '-', 'TableRemove', 'Alignments', 'TableCellVerticalAlign', 'Styles']
     */
    table: (string | IToolbarItems)[];
}
/**
 * Configures the format painter settings of the RichTextEditor.
 */
export  class FormatPainterSettings extends base.ChildProperty<FormatPainterSettings> {
    /**
     * Defines the tag name selectors to obtain formats from elements.
     *
     * @default 'b;
 em;
 font;
 sub;
 sup;
 kbd;
 i;
 s;
 u;
 code;
 strong;
 span;
 p;
 div;
 h1;
 h2;
 h3;
 h4;
 h5;
 h6;
 blockquote;
 ol;
 ul;
 li;
 pre;
'
     */
    allowedFormats: string;
    /**
     * Defines selectors for elements from which fetching formats is expressly prohibited.
     *
     * @default null
     */
    deniedFormats: string;
}
/**
 * Specifies the emoji picker options in the RichTextEditor.
 */
export  class EmojiSettings extends base.ChildProperty<EmojiSettings> {
    /**
     * Specifies an array of items representing emoji icons.
     *
     * @default [{
        name: 'Smilies & People', code: '1F600', iconCss: 'e-emoji', icons: [{ code: '1F600', desc: 'Grinning face' },
        { code: '1F603', desc: 'Grinning face with big eyes' },
        { code: '1F604', desc: 'Grinning face with smiling eyes' },
        { code: '1F606', desc: 'Grinning squinting face' },
        { code: '1F605', desc: 'Grinning face with sweat' },
        { code: '1F602', desc: 'Face with tears of joy' },
        { code: '1F923', desc: 'Rolling on the floor laughing' },
        { code: '1F60A', desc: 'Smiling face with smiling eyes' },
        { code: '1F607', desc: 'Smiling face with halo' },
        { code: '1F642', desc: 'Slightly smiling face' },
        { code: '1F643', desc: 'Upside-down face' },
        { code: '1F60D', desc: 'Smiling face with heart-eyes' },
        { code: '1F618', desc: 'Face blowing a kiss' },
        { code: '1F61B', desc: 'Face with tongue' },
        { code: '1F61C', desc: 'Winking face with tongue' },
        { code: '1F604', desc: 'Grinning face with smiling eyes' },
        { code: '1F469', desc: 'Woman' },
        { code: '1F468', desc: 'Man' },
        { code: '1F467', desc: 'Girl' },
        { code: '1F466', desc: 'Boy' },
        { code: '1F476', desc: 'Baby' },
        { code: '1F475', desc: 'Old woman' },
        { code: '1F474', desc: 'Old man' },
        { code: '1F46E', desc: 'Police officer' },
        { code: '1F477', desc: 'Construction worker' },
        { code: '1F482', desc: 'Guard' },
        { code: '1F575', desc: 'Detective' },
        { code: '1F9D1', desc: 'Cook' }]
    }, {
        name: 'Animals & Nature', code: '1F435', iconCss: 'e-animals', icons: [{ code: '1F436', desc: 'Dog face' },
        { code: '1F431', desc: 'Cat face' },
        { code: '1F42D', desc: 'Mouse face' },
        { code: '1F439', desc: 'Hamster face' },
        { code: '1F430', desc: 'Rabbit face' },
        { code: '1F98A', desc: 'Fox face' },
        { code: '1F43B', desc: 'Bear face' },
        { code: '1F43C', desc: 'Panda face' },
        { code: '1F428', desc: 'Koala' },
        { code: '1F42F', desc: 'Tiger face' },
        { code: '1F981', desc: 'Lion face' },
        { code: '1F42E', desc: 'Cow face' },
        { code: '1F437', desc: 'Pig face' },
        { code: '1F43D', desc: 'Pig nose' },
        { code: '1F438', desc: 'Frog face' },
        { code: '1F435', desc: 'Monkey face' },
        { code: '1F649', desc: 'Hear-no-evil monkey' },
        { code: '1F64A', desc: 'Speak-no-evil monkey' },
        { code: '1F412', desc: 'Monkey' },
        { code: '1F414', desc: 'Chicken' },
        { code: '1F427', desc: 'Penguin' },
        { code: '1F426', desc: 'Bird' },
        { code: '1F424', desc: 'Baby chick' },
        { code: '1F986', desc: 'Duck' },
        { code: '1F985', desc: 'Eagle' }]
    }, {
        name: 'Food & Drink', code: '1F347', iconCss: 'e-food-and-drinks', icons: [{ code: '1F34E', desc: 'Red apple' },
        { code: '1F34C', desc: 'Banana' },
        { code: '1F347', desc: 'Grapes' },
        { code: '1F353', desc: 'Strawberry' },
        { code: '1F35E', desc: 'Bread' },
        { code: '1F950', desc: 'Croissant' },
        { code: '1F955', desc: 'Carrot' },
        { code: '1F354', desc: 'Hamburger' },
        { code: '1F355', desc: 'Pizza' },
        { code: '1F32D', desc: 'Hot dog' },
        { code: '1F35F', desc: 'French fries' },
        { code: '1F37F', desc: 'Popcorn' },
        { code: '1F366', desc: 'Soft ice cream' },
        { code: '1F367', desc: 'Shaved ice' },
        { code: '1F36A', desc: 'Cookie' },
        { code: '1F382', desc: 'Birthday cake' },
        { code: '1F370', desc: 'Shortcake' },
        { code: '1F36B', desc: 'Chocolate bar' },
        { code: '1F369', desc: 'Donut' },
        { code: '1F36E', desc: 'Custard' },
        { code: '1F36D', desc: 'Lollipop' },
        { code: '1F36C', desc: 'Candy' },
        { code: '1F377', desc: 'Wine glass' },
        { code: '1F37A', desc: 'Beer mug' },
        { code: '1F37E', desc: 'Bottle with popping cork' }]
    }, {
        name: 'Activities', code: '1F383', iconCss: 'e-activities', icons: [{ code: '26BD', desc: 'Soccer ball' },
        { code: '1F3C0', desc: 'Basketball' },
        { code: '1F3C8', desc: 'American football' },
        { code: '26BE', desc: 'Baseball' },
        { code: '1F3BE', desc: 'Tennis' },
        { code: '1F3D0', desc: 'Volleyball' },
        { code: '1F3C9', desc: 'Rugby football' },
        { code: '1F3B1', desc: 'Pool 8 ball' },
        { code: '1F3D3', desc: 'Ping pong' },
        { code: '1F3F8', desc: 'Badminton' },
        { code: '1F94A', desc: 'Boxing glove' },
        { code: '1F3CA', desc: 'Swimmer' },
        { code: '1F3CB', desc: 'Weightlifter' },
        { code: '1F6B4', desc: 'Bicyclist' },
        { code: '1F6F9', desc: 'Skateboard' },
        { code: '1F3AE', desc: 'Video game' },
        { code: '1F579', desc: 'Joystick' },
        { code: '1F3CF', desc: 'Cricket' },
        { code: '1F3C7', desc: 'Horse racing' },
        { code: '1F3AF', desc: 'Direct hit' },
        { code: '1F3D1', desc: 'Field hockey' },
        { code: '1F3B0', desc: 'Slot machine' },
        { code: '1F3B3', desc: 'Bowling' },
        { code: '1F3B2', desc: 'Game die' },
        { code: '265F', desc: 'Chess pawn' }]
    }, {
        name: 'Travel & Places', code: '1F30D', iconCss: 'e-travel-and-places', icons: [{ code: '2708', desc: 'Airplane' },
        { code: '1F697', desc: 'Automobile' },
        { code: '1F695', desc: 'Taxi' },
        { code: '1F6B2', desc: 'Bicycle' },
        { code: '1F68C', desc: 'Bus' },
        { code: '1F682', desc: 'Locomotive' },
        { code: '1F6F3', desc: 'Passenger ship' },
        { code: '1F680', desc: 'Rocket' },
        { code: '1F681', desc: 'Helicopter' },
        { code: '1F6A2', desc: 'Ship' },
        { code: '1F3DF', desc: 'Stadium' },
        { code: '1F54C', desc: 'Mosque' },
        { code: '26EA', desc: 'Church' },
        { code: '1F6D5', desc: 'Hindu Temple' },
        { code: '1F3D4', desc: 'Snow-capped mountain' },
        { code: '1F3EB', desc: 'School' },
        { code: '1F30B', desc: 'Volcano' },
        { code: '1F3D6', desc: 'Beach with umbrella' },
        { code: '1F3DD', desc: 'Desert island' },
        { code: '1F3DE', desc: 'National park' },
        { code: '1F3F0', desc: 'Castle' },
        { code: '1F5FC', desc: 'Tokyo tower' },
        { code: '1F5FD', desc: 'Statue of liberty' },
        { code: '26E9', desc: 'Shinto shrine' },
        { code: '1F3EF', desc: 'Japanese castle' },
        { code: '1F3A2', desc: 'Roller coaster' }]
    }, {
        name: 'Objects', code: '1F507', iconCss: 'e-objects', icons: [{ code: '1F4A1', desc: 'Light bulb' },
        { code: '1F526', desc: 'Flashlight' },
        { code: '1F4BB', desc: 'Laptop computer' },
        { code: '1F5A5', desc: 'Desktop computer' },
        { code: '1F5A8', desc: 'Printer' },
        { code: '1F4F7', desc: 'Camera' },
        { code: '1F4F8', desc: 'Camera with flash' },
        { code: '1F4FD', desc: 'Film projector' },
        { code: '1F3A5', desc: 'Movie camera' },
        { code: '1F4FA', desc: 'Television' },
        { code: '1F4FB', desc: 'Radio' },
        { code: '1F50B', desc: 'Battery' },
        { code: '231A', desc: 'Watch' },
        { code: '1F4F1', desc: 'Mobile phone' },
        { code: '260E', desc: 'Telephone' },
        { code: '1F4BE', desc: 'Floppy disk' },
        { code: '1F4BF', desc: 'Optical disk' },
        { code: '1F4C0', desc: 'Digital versatile disc' },
        { code: '1F4BD', desc: 'Computer disk' },
        { code: '1F3A7', desc: 'Headphone' },
        { code: '1F3A4', desc: 'Microphone' },
        { code: '1F3B6', desc: 'Multiple musical notes' },
        { code: '1F4DA', desc: 'Books' }]
    }, {
        name: 'Symbols', code: '1F3E7', iconCss: 'e-symbols', icons: [{ code: '274C', desc: 'Cross mark' },
        { code: '2714', desc: 'Check mark' },
        { code: '26A0', desc: 'Warning sign' },
        { code: '1F6AB', desc: 'Prohibited' },
        { code: '2139', desc: 'Information' },
        { code: '267B', desc: 'Recycling symbol' },
        { code: '1F6AD', desc: 'No smoking' },
        { code: '1F4F5', desc: 'No mobile phones' },
        { code: '1F6AF', desc: 'No littering' },
        { code: '1F6B3', desc: 'No bicycles' },
        { code: '1F6B7', desc: 'No pedestrians' },
        { code: '2795', desc: 'Plus' },
        { code: '2796', desc: 'Minus' },
        { code: '2797', desc: 'Divide' },
        { code: '2716', desc: 'Multiplication' },
        { code: '1F4B2', desc: 'Dollar banknote' },
        { code: '1F4AC', desc: 'Speech balloon' },
        { code: '2755', desc: 'White exclamation mark' },
        { code: '2754', desc: 'White question mark' },
        { code: '2764', desc: 'Red heart' }]
    }]
     *
     */
    iconsSet: EmojiIconsSet[];
    /**
     * Enables or disables the search box in the emoji picker.
     *
     * @default true
     */
    showSearchBox: boolean;
}
/**
 * Configures the paste cleanup settings of the RichTextEditor.
 */
export  class PasteCleanupSettings extends base.ChildProperty<PasteCleanupSettings> {
    /**
     * Specifies whether to enable the prompt for paste in the RichTextEditor.
     *
     * @default false
     */
    prompt: boolean;
    /**
     * Specifies the attributes to restrict when pasting in the RichTextEditor.
     *
     * @default null
     */
    deniedAttrs: string[];
    /**
     * Specifies the allowed style properties when pasting in the RichTextEditor.
     *
     * @default ['background', 'background-color', 'border', 'border-bottom', 'border-left', 'border-radius', 'border-right', 'border-style', 'border-top', 'border-width', 'clear', 'color', 'cursor', 'direction', 'display', 'float', 'font', 'font-family', 'font-size', 'font-weight', 'font-style', 'height', 'left', 'line-height', 'list-style-type', 'margin', 'margin-top', 'margin-left', 'margin-right', 'margin-bottom', 'max-height', 'max-width', 'min-height', 'min-width', 'overflow', 'overflow-x', 'overflow-y', 'padding', 'padding-bottom', 'padding-left', 'padding-right', 'padding-top', 'position', 'right', 'table-layout', 'text-align', 'text-decoration', 'text-transform', 'text-indent', 'top', 'vertical-align', 'visibility', 'white-space', 'width', 'flex-direction']
     */
    allowedStyleProps: string[];
    /**
     * Specifies the tags to restrict when pasting in the RichTextEditor.
     *
     * @default null
     */
    deniedTags: string[];
    /**
     * Specifies whether to keep or remove formatting when pasting in the RichTextEditor.
     *
     * @default true
     */
    keepFormat: boolean;
    /**
     * Specifies whether to paste as plain text or not in the RichTextEditor.
     *
     * @default false
     */
    plainText: boolean;
}
/**
 * Configures the font family settings of the RichTextEditor.
 */
export  class FontFamily extends base.ChildProperty<FontFamily> {
    /**
     * Specifies the default font family selection.
     *
     * @default null
     */
    default: string;
    /**
     * Specifies the width of the content area.
     *
     * @default '72px'
     */
    width: string;
    /**
     * Specifies the default font family items.
     *
     * @default fontFamily
     */
    items: IDropDownItemModel[];
}
/**
 * Configures the font size settings of the RichTextEditor.
 */
export  class FontSize extends base.ChildProperty<FontSize> {
    /**
     * Specifies the default font size selection.
     *
     * @default null
     */
    default: string;
    /**
     * Specifies the width of the content area.
     *
     * @default '60px'
     */
    width: string;
    /**
     * Specifies the default font size items.
     *
     * @default fontSize
     */
    items: IDropDownItemModel[];
}
/**
 * Configures the format settings of the RichTextEditor.
 */
export  class Format extends base.ChildProperty<Format> {
    /**
     * Specifies the default format.
     *
     * @default null
     */
    default: string;
    /**
     * Specifies the width of the content area.
     *
     * @default '65px'
     */
    width: string;
    /**
     * Specifies the collection of default font size items for the format dropdown.
     * These items define the available options for users to select.
     *
     * @default formatItems
     */
    types: IDropDownItemModel[];
}
/**
 * Configures the font color settings of the RichTextEditor.
 */
export  class FontColor extends base.ChildProperty<FontColor> {
    /**
     * Specifies the default font color.
     *
     * @default '#ff0000'
     */
    default: string;
    /**
     * Specifies the color mode.
     *
     * @default 'Palette'
     */
    mode: ColorModeType;
    /**
     * Specifies the number of columns in the color palette.
     *
     * @default 10
     */
    columns: number;
    /**
     * Specifies custom color codes.
     *
     * @default fontColor
     */
    colorCode: {
        [key: string]: string[];
    };
    /**
     * Enables or disables the mode switcher button.
     *
     * @default false
     */
    modeSwitcher: boolean;
}
/**
 * Configures the background color settings of the RichTextEditor.
 */
export  class BackgroundColor extends base.ChildProperty<BackgroundColor> {
    /**
     * Specifies the default background color.
     *
     * @default '#ffff00'
     */
    default: string;
    /**
     * Specifies the color mode.
     *
     * @default 'Palette'
     */
    mode: ColorModeType;
    /**
     * Specifies the number of columns in the color palette.
     *
     * @default 10
     */
    columns: number;
    /**
     * Specifies custom color codes.
     *
     * @default backgroundColor
     */
    colorCode: {
        [key: string]: string[];
    };
    /**
     * Enables or disables the mode switcher button.
     *
     * @default false
     */
    modeSwitcher: boolean;
}
/**
 * Configures the settings for the number format list in the RichTextEditor.
 */
export  class NumberFormatList extends base.ChildProperty<NumberFormatList> {
    /**
     * Specifies the default options for the number format list items.
     *
     * @default numberFormatList
     */
    types: IListDropDownModel[];
}
/**
 * Configures the settings for the bullet format list in the RichTextEditor.
 */
export  class BulletFormatList extends base.ChildProperty<BulletFormatList> {
    /**
     * Specifies the default options for the bullet format list items.
     *
     * @default bulletFormatList
     */
    types: IListDropDownModel[];
}
//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 the toolbar in the RichTextEditor.
     *
     * @default true
     */
    enable?: boolean;
    /**
     * Specifies whether to enable or disable the floating toolbar.
     *
     * @default true
     */
    enableFloating?: boolean;
    /**
     * Specifies the display types of the toolbar.
     * The available types are:
     * - Expand: Toolbar items fit within available space, and the rest are placed in the extended menu.
     * - MultiRow: Toolbar placed at the top of the RichTextEditor editing area.
     * - Scrollable: Toolbar items displayed in a single line with horizontal scrolling enabled.
     *
     * @default Expand
     */
    type?: ToolbarType;
    /**
     * An array of strings or objects used to configure the toolbar items.
     *
     * @default ['Bold', 'Italic', 'Underline', '|', 'Formats', 'Alignments', 'Blockquote', 'OrderedList', 'UnorderedList', '|', 'CreateLink', 'Image', '|', 'SourceCode', 'Undo', 'Redo']
     */
    items?: (string | ToolbarConfigItems | IToolbarItems)[];
    /**
     * Allows modification of the default toolbar item configuration, such as the icon class.
     *
     * @default {}
     */
    itemConfigs?: { [key in ToolbarItems]?: IToolsItemConfigs };
}
/**
 * Interface for a class ImportWord
 */
export interface ImportWordModel {
    /**
     * Specifies the URL to receive and handle file uploads on the server.
     *
     * @default null
     */
    serviceUrl?: string;
}
/**
 * Interface for a class ExportWord
 */
export interface ExportWordModel {
    /**
     * Specifies the URL used to export RichTextEditor content into Word files.
     *
     * @default null
     */
    serviceUrl?: string;
    /**
     * Specifies the file name for the exported Word file.
     *
     * @default 'Sample.docx'
     */
    fileName?: string;
    /**
     * Specifies the stylesheet to be applied to the exported file.
     *
     * @default null
     */
    stylesheet?: string;
}
/**
 * Interface for a class ExportPdf
 */
export interface ExportPdfModel {
    /**
     * Specifies the URL used to export RichTextEditor content into PDF files.
     *
     * @default null
     */
    serviceUrl?: string;
    /**
     * Specifies the file name for the exported PDF file.
     *
     * @default 'Sample.pdf'
     */
    fileName?: string;
    /**
     * Specifies the stylesheet to be applied to the exported file.
     *
     * @default null
     */
    stylesheet?: string;
}
/**
 * Interface for a class ImageSettings
 */
export interface ImageSettingsModel {
    /**
     * Specifies the allowed file types for selection.
     *
     * @default ['.jpeg', '.jpg', '.png']
     */
    allowedTypes?: string[];
    /**
     * Specifies whether the image is inserted inline or with a break.
     *
     * @default 'inline'
     */
    display?: string;
    /**
     * Specifies whether the inserted image is saved as a blob or base64.
     *
     * @default 'Blob'
     */
    saveFormat?: SaveFormat;
    /**
     * Specifies the width of the image.
     *
     * @default 'auto'
     */
    width?: string;
    /**
     * Specifies the height of the image.
     *
     * @default 'auto'
     */
    height?: string;
    /**
     * Specifies the URL for the save action that handles uploaded images on the server.
     *
     * This URL should handle a `POST` request, with an argument named `UploadFiles`.
     *
     * The event is triggered when inserting an image via the Insert Image dialog, pasting an image, replacing an existing image, or dragging and dropping from the file browser.
     *
     * @default null
     */
    saveUrl?: string;
    /**
     * Specifies the path for storing and displaying images.
     *
     * @default null
     */
    path?: string;
    /**
     * Enables resizing for the image element.
     *
     * @default true
     */
    resize?: boolean;
    /**
     * Specifies the URL for the remove action that handles image removal on the server.
     *
     * This URL should handle a `POST` request, with an argument named `UploadFiles`.
     *
     * The event is triggered when uploading and canceling or removing an image in the insert image dialog, pasting, and removing an image in the Paste cleanup popup.
     *
     * @default null
     */
    removeUrl?: string;
    /**
     * Defines the minimum width of the image.
     *
     * @default '0'
     */
    minWidth?: string | number;
    /**
     * Defines the maximum width of the image.
     *
     * @default null
     */
    maxWidth?: string | number;
    /**
     * Defines the minimum height of the image.
     *
     * @default '0'
     */
    minHeight?: string | number;
    /**
     * Defines the maximum height of the image.
     *
     * @default null
     */
    maxHeight?: string | number;
    /**
     * Enables image resizing by percentage calculation.
     *
     * @default false
     */
    resizeByPercent?: boolean;
}
/**
 * Interface for a class AudioSettings
 */
export interface AudioSettingsModel {
    /**
     * Specifies the allowed file types for audio selection.
     *
     * @default ['.wav', '.mp3', '.m4a', '.wma']
     */
    allowedTypes?: string[];
    /**
     * Specifies whether the audio is inserted inline or with a break.
     *
     * @default 'Inline'
     */
    layoutOption?: DisplayLayoutOptions;
    /**
     * Specifies whether the inserted audio is saved as a blob or base64.
     *
     * @default 'Blob'
     */
    saveFormat?: SaveFormat;
    /**
     * Specifies the URL for the save action that handles uploaded audio files on the server.
     *
     * @default null
     */
    saveUrl?: string;
    /**
     * Specifies the URL for the remove action that handles audio removal on the server.
     *
     * @default null
     */
    removeUrl?: string;
    /**
     * Specifies the path for storing and displaying audio files.
     *
     * @default null
     */
    path?: string;
}
/**
 * Interface for a class VideoSettings
 */
export interface VideoSettingsModel {
    /**
     * Specifies the allowed file types for video selection.
     *
     * @default ['.mp4', '.mov', '.wmv', '.avi']
     */
    allowedTypes?: string[];
    /**
     * Specifies whether the video is inserted inline or with a break.
     *
     * @default 'Inline'
     */
    layoutOption?: DisplayLayoutOptions;
    /**
     * Specifies whether the inserted video is saved as a blob or base64.
     *
     * @default 'Blob'
     */
    saveFormat?: SaveFormat;
    /**
     * Specifies the width of the video.
     *
     * @default 'auto'
     */
    width?: string;
    /**
     * Specifies the height of the video.
     *
     * @default 'auto'
     */
    height?: string;
    /**
     * Specifies the URL for the save action that handles uploaded video files on the server.
     *
     * @default null
     */
    saveUrl?: string;
    /**
     * Specifies the path for storing and displaying video files.
     *
     * @default null
     */
    path?: string;
    /**
     * Enables resizing for the video element.
     *
     * @default true
     */
    resize?: boolean;
    /**
     * Specifies the URL for the remove action that handles video removal on the server.
     *
     * @default null
     */
    removeUrl?: string;
    /**
     * Defines the minimum width of the video.
     *
     * @default '0'
     */
    minWidth?: string | number;
    /**
     * Defines the maximum width of the video.
     *
     * @default null
     */
    maxWidth?: string | number;
    /**
     * Defines the minimum height of the video.
     *
     * @default '0'
     */
    minHeight?: string | number;
    /**
     * Defines the maximum height of the video.
     *
     * @default null
     */
    maxHeight?: string | number;
    /**
     * Enables video resizing by percentage calculation.
     *
     * @default false
     */
    resizeByPercent?: boolean;
}
/**
 * Interface for a class FileManagerSettings
 */
export interface FileManagerSettingsModel {
    /**
     * base.Event triggered before sending an AJAX request to the server.
     * Set the cancel argument to true to prevent the request.
     *
     * @event beforeSend
     */
    beforeSend?: base.EmitType<filemanager.BeforeSendEventArgs>;
    /**
     * Specifies the AJAX settings for the file manager.
     *
     * @default {
     *   getImageUrl: null,
     *   url: null,
     *   uploadUrl: null
     * }
     */
    ajaxSettings?: filemanager.AjaxSettingsModel;
    /**
     * Enables or disables drag-and-drop functionality for files.
     *
     * @default false
     */
    allowDragAndDrop?: boolean;
    /**
     * Specifies the context menu settings for the file manager.
     *
     * @default {
     *   file: ['Open', '|', 'Cut', 'Copy', '|', 'Delete', 'Rename', '|', 'Details'],
     *   folder: ['Open', '|', 'Cut', 'Copy', 'Paste', '|', 'Delete', 'Rename', '|', 'Details'],
     *   layout: ['SortBy', 'View', 'Refresh', '|', 'Paste', '|', 'NewFolder', 'Upload', '|', 'Details', '|', 'SelectAll'],
     *   visible: true
     * }
     */
    contextMenuSettings?: filemanager.ContextMenuSettingsModel;
    /**
     * Specifies the root CSS class of the file manager, allowing customization by overriding styles.
     *
     * @default ''
     */
    cssClass?: string;
    /**
     * Specifies the details view settings for the file manager.
     *
     * @default {
     *   columns: [{
     *     field: 'name', headerText: 'Name', minWidth: 120, template: '<span class="e-fe-text">${name}</span>',
     *     customAttributes: { class: 'e-fe-grid-name'}}, { field: '_fm_modified', headerText: 'DateModified', type: 'dateTime',
     *     format: 'MMMM dd, yyyy HH:mm', minWidth: 120, width: '190' }, { field: 'size', headerText: 'Size', minWidth: 90, width: '110',
     *     template: '<span class="e-fe-size">${size}</span>' }
     *   ]
     * }
     */
    detailsViewSettings?: filemanager.DetailsViewSettingsModel;
    /**
     * Specifies whether to enable the file manager in the RichTextEditor.
     *
     * @default false
     */
    enable?: boolean;
    /**
     * Specifies the navigation pane settings for the file manager.
     *
     * @default { maxWidth: '650px', minWidth: '240px', visible: true }
     */
    navigationPaneSettings?: filemanager.NavigationPaneSettingsModel;
    /**
     * Specifies the current path in the file manager.
     *
     * @default '/'
     */
    path?: string;
    /**
     * Specifies the alias name for the root folder in the file manager.
     *
     * @default null
     */
    rootAliasName?: string;
    /**
     * Specifies the search settings for the file manager.
     *
     * @default {
     *   allowSearchOnTyping: true,
     *   filterType: 'contains',
     *   ignoreCase: true
     * }
     */
    searchSettings?: filemanager.SearchSettingsModel;
    /**
     * Determines whether to show or hide file extensions in the file manager.
     *
     * @default true
     */
    showFileExtension?: boolean;
    /**
     * Determines whether to show or hide files and folders marked as hidden.
     *
     * @default false
     */
    showHiddenItems?: boolean;
    /**
     * Determines whether to show or hide thumbnail images in the large icons view.
     *
     * @default true
     */
    showThumbnail?: boolean;
    /**
     * Specifies the sort order for folders and files. Options are:
     * - `None`: Folders and files are not sorted.
     * - `Ascending`: Folders and files are sorted in ascending order.
     * - `Descending`: Folders and files are sorted in descending order.
     *
     * @default 'Ascending'
     */
    sortOrder?: filemanager.SortOrder;
    /**
     * Specifies groups of items aligned horizontally in the toolbar.
     *
     * @default { visible: true, items: ['NewFolder', 'Upload', 'Cut', 'Copy', 'Paste', 'Delete', 'Download', 'Rename', 'SortBy', 'Refresh', 'Selection', 'View', 'Details'] }
     */
    toolbarSettings?: filemanager.ToolbarSettingsModel;
    /**
     * Specifies the upload settings for the file manager.
     *
     * @default { autoUpload: true, minFileSize: 0, maxFileSize: 30000000, allowedExtensions: '', autoClose: false }
     */
    uploadSettings?: filemanager.UploadSettingsModel;
    /**
     * Specifies the initial view of the file manager.
     *
     * This property allows setting the initial view to either 'Details' or 'LargeIcons'. The available views are:
     * - `LargeIcons`
     * - `Details`
     *
     * @default 'LargeIcons'
     */
    view?: filemanager.ViewType;
}
/**
 * Interface for a class TableSettings
 */
export interface TableSettingsModel {
    /**
     * Specifies the width of the table.
     *
     * @default '100%'
     */
    width?: string | number;
    /**
     * Class names appended by default to the table element.
     * Assists in styling the table in specific CSS styles when inserted in the editor.
     *
     * Available styles:
     * - `Dashed Borders`: Adds dashed borders around the table using the `e-dashed-borders` CSS class.
     * - `Alternate Rows`: Applies alternating row colors for better readability using the `e-alternate-rows` CSS class.
     *
     * @default TableStyleItems
     */
    styles?: IDropDownItemModel[];
    /**
     * Enables resizing for the 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 the quick toolbar in the RichTextEditor.
     *
     * @default true
     */
    enable?: boolean;
    /**
     * Specifies whether the quick toolbar opens on right-click.
     *
     * @default false
     */
    showOnRightClick?: boolean;
    /**
     * Specifies the action to perform when scrolling the target-parent container.
     *
     * @default 'hide'
     */
    actionOnScroll?: ActionOnScroll;
    /**
     * Specifies the items to render in the quick toolbar when a link is selected.
     *
     * @default ['Open', 'Edit', 'UnLink']
     */
    link?: (string | IToolbarItems)[];
    /**
     * Specifies the items to render in the quick toolbar when an image is selected.
     *
     * @default ['Replace', 'Align', 'Caption', 'Remove', '-', 'InsertLink', 'OpenImageLink', 'EditImageLink', 'RemoveImageLink', 'Display', 'AltText', 'Dimension']
     */
    image?: (string | IToolbarItems)[];
    /**
     * Specifies the items to render in the quick toolbar when audio is selected.
     *
     * @default ['AudioReplace', 'Remove', 'AudioLayoutOption']
     */
    audio?: (string | IToolbarItems)[];
    /**
     * Specifies the items to render in the quick toolbar when a video is selected.
     *
     * @default ['VideoReplace', 'VideoAlign', 'VideoRemove', 'VideoLayoutOption', 'VideoDimension']
     */
    video?: (string | IToolbarItems)[];
    /**
     * Specifies the items to render in the quick toolbar when text is selected.
     *
     * @default null
     */
    text?: (string | ToolbarConfigItems | IToolbarItems)[];
    /**
     * Specifies the items to render in the quick toolbar when a table is selected.
     *
     * @default ['TableHeader', 'TableRows', 'TableColumns', 'BackgroundColor', '-', 'TableRemove', 'Alignments', 'TableCellVerticalAlign', 'Styles']
     */
    table?: (string | IToolbarItems)[];
}
/**
 * Interface for a class FormatPainterSettings
 */
export interface FormatPainterSettingsModel {
    /**
     * Defines the tag name selectors to obtain formats from elements.
     *
     * @default 'b;
 em;
 font;
 sub;
 sup;
 kbd;
 i;
 s;
 u;
 code;
 strong;
 span;
 p;
 div;
 h1;
 h2;
 h3;
 h4;
 h5;
 h6;
 blockquote;
 ol;
 ul;
 li;
 pre;
'
     */
    allowedFormats?: string;
    /**
     * Defines selectors for elements from which fetching formats is expressly prohibited.
     *
     * @default null
     */
    deniedFormats?: string;
}
/**
 * Interface for a class EmojiSettings
 */
export interface EmojiSettingsModel {
    /**
     * Specifies an array of items representing emoji icons.
     *
     * @default [{
        name: 'Smilies & People', code: '1F600', iconCss: 'e-emoji', icons: [{ code: '1F600', desc: 'Grinning face' },
        { code: '1F603', desc: 'Grinning face with big eyes' },
        { code: '1F604', desc: 'Grinning face with smiling eyes' },
        { code: '1F606', desc: 'Grinning squinting face' },
        { code: '1F605', desc: 'Grinning face with sweat' },
        { code: '1F602', desc: 'Face with tears of joy' },
        { code: '1F923', desc: 'Rolling on the floor laughing' },
        { code: '1F60A', desc: 'Smiling face with smiling eyes' },
        { code: '1F607', desc: 'Smiling face with halo' },
        { code: '1F642', desc: 'Slightly smiling face' },
        { code: '1F643', desc: 'Upside-down face' },
        { code: '1F60D', desc: 'Smiling face with heart-eyes' },
        { code: '1F618', desc: 'Face blowing a kiss' },
        { code: '1F61B', desc: 'Face with tongue' },
        { code: '1F61C', desc: 'Winking face with tongue' },
        { code: '1F604', desc: 'Grinning face with smiling eyes' },
        { code: '1F469', desc: 'Woman' },
        { code: '1F468', desc: 'Man' },
        { code: '1F467', desc: 'Girl' },
        { code: '1F466', desc: 'Boy' },
        { code: '1F476', desc: 'Baby' },
        { code: '1F475', desc: 'Old woman' },
        { code: '1F474', desc: 'Old man' },
        { code: '1F46E', desc: 'Police officer' },
        { code: '1F477', desc: 'Construction worker' },
        { code: '1F482', desc: 'Guard' },
        { code: '1F575', desc: 'Detective' },
        { code: '1F9D1', desc: 'Cook' }]
    }, {
        name: 'Animals & Nature', code: '1F435', iconCss: 'e-animals', icons: [{ code: '1F436', desc: 'Dog face' },
        { code: '1F431', desc: 'Cat face' },
        { code: '1F42D', desc: 'Mouse face' },
        { code: '1F439', desc: 'Hamster face' },
        { code: '1F430', desc: 'Rabbit face' },
        { code: '1F98A', desc: 'Fox face' },
        { code: '1F43B', desc: 'Bear face' },
        { code: '1F43C', desc: 'Panda face' },
        { code: '1F428', desc: 'Koala' },
        { code: '1F42F', desc: 'Tiger face' },
        { code: '1F981', desc: 'Lion face' },
        { code: '1F42E', desc: 'Cow face' },
        { code: '1F437', desc: 'Pig face' },
        { code: '1F43D', desc: 'Pig nose' },
        { code: '1F438', desc: 'Frog face' },
        { code: '1F435', desc: 'Monkey face' },
        { code: '1F649', desc: 'Hear-no-evil monkey' },
        { code: '1F64A', desc: 'Speak-no-evil monkey' },
        { code: '1F412', desc: 'Monkey' },
        { code: '1F414', desc: 'Chicken' },
        { code: '1F427', desc: 'Penguin' },
        { code: '1F426', desc: 'Bird' },
        { code: '1F424', desc: 'Baby chick' },
        { code: '1F986', desc: 'Duck' },
        { code: '1F985', desc: 'Eagle' }]
    }, {
        name: 'Food & Drink', code: '1F347', iconCss: 'e-food-and-drinks', icons: [{ code: '1F34E', desc: 'Red apple' },
        { code: '1F34C', desc: 'Banana' },
        { code: '1F347', desc: 'Grapes' },
        { code: '1F353', desc: 'Strawberry' },
        { code: '1F35E', desc: 'Bread' },
        { code: '1F950', desc: 'Croissant' },
        { code: '1F955', desc: 'Carrot' },
        { code: '1F354', desc: 'Hamburger' },
        { code: '1F355', desc: 'Pizza' },
        { code: '1F32D', desc: 'Hot dog' },
        { code: '1F35F', desc: 'French fries' },
        { code: '1F37F', desc: 'Popcorn' },
        { code: '1F366', desc: 'Soft ice cream' },
        { code: '1F367', desc: 'Shaved ice' },
        { code: '1F36A', desc: 'Cookie' },
        { code: '1F382', desc: 'Birthday cake' },
        { code: '1F370', desc: 'Shortcake' },
        { code: '1F36B', desc: 'Chocolate bar' },
        { code: '1F369', desc: 'Donut' },
        { code: '1F36E', desc: 'Custard' },
        { code: '1F36D', desc: 'Lollipop' },
        { code: '1F36C', desc: 'Candy' },
        { code: '1F377', desc: 'Wine glass' },
        { code: '1F37A', desc: 'Beer mug' },
        { code: '1F37E', desc: 'Bottle with popping cork' }]
    }, {
        name: 'Activities', code: '1F383', iconCss: 'e-activities', icons: [{ code: '26BD', desc: 'Soccer ball' },
        { code: '1F3C0', desc: 'Basketball' },
        { code: '1F3C8', desc: 'American football' },
        { code: '26BE', desc: 'Baseball' },
        { code: '1F3BE', desc: 'Tennis' },
        { code: '1F3D0', desc: 'Volleyball' },
        { code: '1F3C9', desc: 'Rugby football' },
        { code: '1F3B1', desc: 'Pool 8 ball' },
        { code: '1F3D3', desc: 'Ping pong' },
        { code: '1F3F8', desc: 'Badminton' },
        { code: '1F94A', desc: 'Boxing glove' },
        { code: '1F3CA', desc: 'Swimmer' },
        { code: '1F3CB', desc: 'Weightlifter' },
        { code: '1F6B4', desc: 'Bicyclist' },
        { code: '1F6F9', desc: 'Skateboard' },
        { code: '1F3AE', desc: 'Video game' },
        { code: '1F579', desc: 'Joystick' },
        { code: '1F3CF', desc: 'Cricket' },
        { code: '1F3C7', desc: 'Horse racing' },
        { code: '1F3AF', desc: 'Direct hit' },
        { code: '1F3D1', desc: 'Field hockey' },
        { code: '1F3B0', desc: 'Slot machine' },
        { code: '1F3B3', desc: 'Bowling' },
        { code: '1F3B2', desc: 'Game die' },
        { code: '265F', desc: 'Chess pawn' }]
    }, {
        name: 'Travel & Places', code: '1F30D', iconCss: 'e-travel-and-places', icons: [{ code: '2708', desc: 'Airplane' },
        { code: '1F697', desc: 'Automobile' },
        { code: '1F695', desc: 'Taxi' },
        { code: '1F6B2', desc: 'Bicycle' },
        { code: '1F68C', desc: 'Bus' },
        { code: '1F682', desc: 'Locomotive' },
        { code: '1F6F3', desc: 'Passenger ship' },
        { code: '1F680', desc: 'Rocket' },
        { code: '1F681', desc: 'Helicopter' },
        { code: '1F6A2', desc: 'Ship' },
        { code: '1F3DF', desc: 'Stadium' },
        { code: '1F54C', desc: 'Mosque' },
        { code: '26EA', desc: 'Church' },
        { code: '1F6D5', desc: 'Hindu Temple' },
        { code: '1F3D4', desc: 'Snow-capped mountain' },
        { code: '1F3EB', desc: 'School' },
        { code: '1F30B', desc: 'Volcano' },
        { code: '1F3D6', desc: 'Beach with umbrella' },
        { code: '1F3DD', desc: 'Desert island' },
        { code: '1F3DE', desc: 'National park' },
        { code: '1F3F0', desc: 'Castle' },
        { code: '1F5FC', desc: 'Tokyo tower' },
        { code: '1F5FD', desc: 'Statue of liberty' },
        { code: '26E9', desc: 'Shinto shrine' },
        { code: '1F3EF', desc: 'Japanese castle' },
        { code: '1F3A2', desc: 'Roller coaster' }]
    }, {
        name: 'Objects', code: '1F507', iconCss: 'e-objects', icons: [{ code: '1F4A1', desc: 'Light bulb' },
        { code: '1F526', desc: 'Flashlight' },
        { code: '1F4BB', desc: 'Laptop computer' },
        { code: '1F5A5', desc: 'Desktop computer' },
        { code: '1F5A8', desc: 'Printer' },
        { code: '1F4F7', desc: 'Camera' },
        { code: '1F4F8', desc: 'Camera with flash' },
        { code: '1F4FD', desc: 'Film projector' },
        { code: '1F3A5', desc: 'Movie camera' },
        { code: '1F4FA', desc: 'Television' },
        { code: '1F4FB', desc: 'Radio' },
        { code: '1F50B', desc: 'Battery' },
        { code: '231A', desc: 'Watch' },
        { code: '1F4F1', desc: 'Mobile phone' },
        { code: '260E', desc: 'Telephone' },
        { code: '1F4BE', desc: 'Floppy disk' },
        { code: '1F4BF', desc: 'Optical disk' },
        { code: '1F4C0', desc: 'Digital versatile disc' },
        { code: '1F4BD', desc: 'Computer disk' },
        { code: '1F3A7', desc: 'Headphone' },
        { code: '1F3A4', desc: 'Microphone' },
        { code: '1F3B6', desc: 'Multiple musical notes' },
        { code: '1F4DA', desc: 'Books' }]
    }, {
        name: 'Symbols', code: '1F3E7', iconCss: 'e-symbols', icons: [{ code: '274C', desc: 'Cross mark' },
        { code: '2714', desc: 'Check mark' },
        { code: '26A0', desc: 'Warning sign' },
        { code: '1F6AB', desc: 'Prohibited' },
        { code: '2139', desc: 'Information' },
        { code: '267B', desc: 'Recycling symbol' },
        { code: '1F6AD', desc: 'No smoking' },
        { code: '1F4F5', desc: 'No mobile phones' },
        { code: '1F6AF', desc: 'No littering' },
        { code: '1F6B3', desc: 'No bicycles' },
        { code: '1F6B7', desc: 'No pedestrians' },
        { code: '2795', desc: 'Plus' },
        { code: '2796', desc: 'Minus' },
        { code: '2797', desc: 'Divide' },
        { code: '2716', desc: 'Multiplication' },
        { code: '1F4B2', desc: 'Dollar banknote' },
        { code: '1F4AC', desc: 'Speech balloon' },
        { code: '2755', desc: 'White exclamation mark' },
        { code: '2754', desc: 'White question mark' },
        { code: '2764', desc: 'Red heart' }]
    }]
     *
     */
    iconsSet?: EmojiIconsSet[];
    /**
     * Enables or disables the search box in the emoji picker.
     *
     * @default true
     */
    showSearchBox?: boolean;
}
/**
 * Interface for a class PasteCleanupSettings
 */
export interface PasteCleanupSettingsModel {
    /**
     * Specifies whether to enable the prompt for paste in the RichTextEditor.
     *
     * @default false
     */
    prompt?: boolean;
    /**
     * Specifies the attributes to restrict when pasting in the RichTextEditor.
     *
     * @default null
     */
    deniedAttrs?: string[];
    /**
     * Specifies the allowed style properties when pasting in the RichTextEditor.
     *
     * @default ['background', 'background-color', 'border', 'border-bottom', 'border-left', 'border-radius', 'border-right', 'border-style', 'border-top', 'border-width', 'clear', 'color', 'cursor', 'direction', 'display', 'float', 'font', 'font-family', 'font-size', 'font-weight', 'font-style', 'height', 'left', 'line-height', 'list-style-type', 'margin', 'margin-top', 'margin-left', 'margin-right', 'margin-bottom', 'max-height', 'max-width', 'min-height', 'min-width', 'overflow', 'overflow-x', 'overflow-y', 'padding', 'padding-bottom', 'padding-left', 'padding-right', 'padding-top', 'position', 'right', 'table-layout', 'text-align', 'text-decoration', 'text-transform', 'text-indent', 'top', 'vertical-align', 'visibility', 'white-space', 'width', 'flex-direction']
     */
    allowedStyleProps?: string[];
    /**
     * Specifies the tags to restrict when pasting in the RichTextEditor.
     *
     * @default null
     */
    deniedTags?: string[];
    /**
     * Specifies whether to keep or remove formatting when pasting in the RichTextEditor.
     *
     * @default true
     */
    keepFormat?: boolean;
    /**
     * Specifies whether to paste as plain text or not in the RichTextEditor.
     *
     * @default false
     */
    plainText?: boolean;
}
/**
 * Interface for a class FontFamily
 */
export interface FontFamilyModel {
    /**
     * Specifies the default font family selection.
     *
     * @default null
     */
    default?: string;
    /**
     * Specifies the width of the content area.
     *
     * @default '72px'
     */
    width?: string;
    /**
     * Specifies the default font family items.
     *
     * @default fontFamily
     */
    items?: IDropDownItemModel[];
}
/**
 * Interface for a class FontSize
 */
export interface FontSizeModel {
    /**
     * Specifies the default font size selection.
     *
     * @default null
     */
    default?: string;
    /**
     * Specifies the width of the content area.
     *
     * @default '60px'
     */
    width?: string;
    /**
     * Specifies the default font size items.
     *
     * @default fontSize
     */
    items?: IDropDownItemModel[];
}
/**
 * Interface for a class Format
 */
export interface FormatModel {
    /**
     * Specifies the default format.
     *
     * @default null
     */
    default?: string;
    /**
     * Specifies the width of the content area.
     *
     * @default '65px'
     */
    width?: string;
    /**
     * Specifies the collection of default font size items for the format dropdown.
     * These items define the available options for users to select.
     *
     * @default formatItems
     */
    types?: IDropDownItemModel[];
}
/**
 * Interface for a class FontColor
 */
export interface FontColorModel {
    /**
     * Specifies the default font color.
     *
     * @default '#ff0000'
     */
    default?: string;
    /**
     * Specifies the color mode.
     *
     * @default 'Palette'
     */
    mode?: ColorModeType;
    /**
     * Specifies the number of columns in the color palette.
     *
     * @default 10
     */
    columns?: number;
    /**
     * Specifies custom color codes.
     *
     * @default fontColor
     */
    colorCode?: { [key: string]: string[] };
    /**
     * Enables or disables the mode switcher button.
     *
     * @default false
     */
    modeSwitcher?: boolean;
}
/**
 * Interface for a class BackgroundColor
 */
export interface BackgroundColorModel {
    /**
     * Specifies the default background color.
     *
     * @default '#ffff00'
     */
    default?: string;
    /**
     * Specifies the color mode.
     *
     * @default 'Palette'
     */
    mode?: ColorModeType;
    /**
     * Specifies the number of columns in the color palette.
     *
     * @default 10
     */
    columns?: number;
    /**
     * Specifies custom color codes.
     *
     * @default backgroundColor
     */
    colorCode?: { [key: string]: string[] };
    /**
     * Enables or disables the mode switcher button.
     *
     * @default false
     */
    modeSwitcher?: boolean;
}
/**
 * Interface for a class NumberFormatList
 */
export interface NumberFormatListModel {
    /**
     * Specifies the default options for the number format list items.
     *
     * @default numberFormatList
     */
    types?: IListDropDownModel[];
}
/**
 * Interface for a class BulletFormatList
 */
export interface BulletFormatListModel {
    /**
     *$ Specifies the default options for the bullet format list items.
     *
     * @default bulletFormatList
     */
    types?: IListDropDownModel[];
}
//node_modules/@syncfusion/ej2-richtexteditor/src/rich-text-editor/models/slash-menu-settings.d.ts
/**
 * Configures the slash menu settings of the RichTextEditor.
 */
export  class SlashMenuSettings extends base.ChildProperty<SlashMenuSettings> {
    /**
     * Specifies whether to enable or disable the slash menu in the editor.
     *
     * @default false
     */
    enable: boolean;
    /**
     * Defines the items to be displayed in the slash menu.
     *
     * @default ['Paragraph', 'Heading 1', 'Heading 2', 'Heading 3', 'Heading 4', 'OrderedList', 'UnorderedList', 'CodeBlock', 'Blockquote']
     */
    items: (SlashMenuItems | ISlashMenuItem)[];
    /**
     * Specifies the width of the slash menu popup. Can be defined in pixels, numbers, or percentages.
     * A numeric value is treated as pixels.
     *
     * @default '300px'
     * @aspType string
     */
    popupWidth: string | number;
    /**
     * Specifies the height of the slash menu popup. Can be defined in pixels, numbers, or percentages.
     * A numeric value is treated as pixels.
     *
     * @default '320px'
     * @aspType string
     */
    popupHeight: string | number;
}
export interface ISlashMenuModel {
    text?: string;
    command: SlashMenuItems;
    subCommand: CommandName | DialogType | string;
    type: SlashCommandType;
    iconCss: string;
    description?: string;
}
export interface ModuleSlashMenuModel extends ISlashMenuModel {
    module: string;
}
export  type SlashCommandType = 'Inline' | 'Basic Block' | 'Media';
export  const defaultSlashMenuDataModel: ISlashMenuModel[];
export  const injectibleSlashMenuDataModel: ModuleSlashMenuModel[];
//node_modules/@syncfusion/ej2-richtexteditor/src/rich-text-editor/models/slash-menu-settings-model.d.ts
/**
 * Interface for a class SlashMenuSettings
 */
export interface SlashMenuSettingsModel {
    /**
     * Specifies whether to enable or disable the slash menu in the editor.
     *
     * @default false
     */
    enable?: boolean;
    /**
     * Defines the items to be displayed in the slash menu.
     *
     * @default ['Paragraph', 'Heading 1', 'Heading 2', 'Heading 3', 'Heading 4', 'OrderedList', 'UnorderedList', 'CodeBlock', 'Blockquote']
     */
    items?: (SlashMenuItems | ISlashMenuItem)[];
    /**
     * Specifies the width of the slash menu popup. Can be defined in pixels, numbers, or percentages.
     * A numeric value is treated as pixels.
     *
     * @default '300px'
     * @aspType string
     */
    popupWidth?: string | number;
    /**
     * Specifies the height of the slash menu popup. Can be defined in pixels, numbers, or percentages.
     * A numeric value is treated as pixels.
     *
     * @default '320px'
     * @aspType string
     */
    popupHeight?: string | number;
}
//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/items.d.ts
/**
 * Export items model
 */
export  let templateItems: string[];
export  let tools: {
    [key: string]: IToolsItems;
};
export  let alignmentItems: IDropDownItemModel[];
export  let imageAlignItems: IDropDownItemModel[];
export  let videoAlignItems: IDropDownItemModel[];
export  let imageDisplayItems: IDropDownItemModel[];
export  let audioLayoutOptionItems: IDropDownItemModel[];
export  let videoLayoutOptionItems: IDropDownItemModel[];
export  let tableCellItems: IDropDownItemModel[];
export  let tableRowsItems: IDropDownItemModel[];
export  let tableColumnsItems: IDropDownItemModel[];
export  let TableCellVerticalAlignItems: IDropDownItemModel[];
export  let TableStyleItems: IDropDownItemModel[];
export  const predefinedItems: string[];
export  const fontFamily: IDropDownItemModel[];
export  const fontSize: IDropDownItemModel[];
export  const formatItems: IDropDownItemModel[];
export  const fontColor: {
    [key: string]: string[];
};
export  const backgroundColor: {
    [key: string]: string[];
};
export  const numberFormatList: IListDropDownModel[];
export  const bulletFormatList: IListDropDownModel[];
export  function updateDropDownLocale(self: IRichTextEditor): void;
export  let windowKeys: {
    [key: string]: string;
};
export  const defaultEmojiIcons: EmojiIconsSet[];
//node_modules/@syncfusion/ej2-richtexteditor/src/rich-text-editor/models/inline-mode.d.ts
/**
 * Configures the inlineMode settings for the Rich Text Editor (RTE).
 */
export  class InlineMode extends base.ChildProperty<InlineMode> {
    /**
     * Determines whether the inline toolbar in the RTE is enabled or disabled.
     *
     * @default false
     */
    enable: boolean;
    /**
     * Specifies whether the inline toolbar should be rendered based on the presence of a selection.
     * When set to true, the toolbar will be displayed only when text or content is selected.
     * When set to false, the toolbar will be rendered regardless of the selection state.
     *
     * @default true
     */
    onSelection: boolean;
}
//node_modules/@syncfusion/ej2-richtexteditor/src/rich-text-editor/models/inline-mode-model.d.ts
/**
 * Interface for a class InlineMode
 */
export interface InlineModeModel {
    /**
     * Determines whether the inline toolbar in the RTE is enabled or disabled.
     *
     * @default false
     */
    enable?: boolean;
    /**
     * Specifies whether the inline toolbar should be rendered based on the presence of a selection.
     * When set to true, the toolbar will be displayed only when text or content is selected.
     * When set to false, the toolbar will be rendered regardless of the selection state.
     *
     * @default true
     */
    onSelection?: boolean;
}
//node_modules/@syncfusion/ej2-richtexteditor/src/rich-text-editor/models/iframe-settings.d.ts
/**
 * Objects used to configure the properties of iframe resources.
 */
export  class Resources extends base.ChildProperty<Resources> {
    /**
     * Specifies the styles to be injected into the iframe.
     *
     * @default []
     */
    styles: string[];
    /**
     * Specifies the scripts to be injected into the iframe.
     *
     * @default []
     */
    scripts: string[];
}
/**
 * Configures the iframe settings for the Rich Text Editor.
 */
export  class IFrameSettings extends base.ChildProperty<IFrameSettings> {
    /**
     * Determines whether to render the Rich Text Editor with an iframe-based editable element.
     *
     * @default false
     */
    enable: boolean;
    /**
     * Defines additional attributes for rendering the iframe.
     *
     * @default null
     */
    attributes: {
        [key: string]: string;
    };
    /**
     * Object used to inject styles and scripts into the iframe.
     *
     * @default {}
     */
    resources: ResourcesModel;
    /**
     * Specifies the meta tags to be applied to the <head> element of the iframe.
     *
     * @default []
     */
    metaTags: Array<MetaTag>;
    /**
     * Represents the sandbox attribute for the Rich Text Editor's iframe,
     * defining the security restrictions applied to the embedded content.
     * Configure this property using a string array (e.g., ["allow-scripts", "allow-forms"]).
     * If set to an empty array, all restrictions are applied except "allow-same-origin".
     * By default, "allow-same-origin" is included in the Rich Text Editor's iframe sandbox.
     *
     * @default null
     */
    sandbox: 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 the styles to be injected into the iframe.
     *
     * @default []
     */
    styles?: string[];
    /**
     * Specifies the scripts to be injected into the iframe.
     *
     * @default []
     */
    scripts?: string[];
}
/**
 * Interface for a class IFrameSettings
 */
export interface IFrameSettingsModel {
    /**
     * Determines whether to render the Rich Text Editor with an iframe-based editable element.
     *
     * @default false
     */
    enable?: boolean;
    /**
     * Defines additional attributes for rendering the iframe.
     *
     * @default null
     */
    attributes?: { [key: string]: string };
    /**
     * Object used to inject styles and scripts into the iframe.
     *
     * @default {}
     */
    resources?: ResourcesModel;
    /**
     * Specifies the meta tags to be applied to the <head> element of the iframe.
     *
     * @default []
     */
    metaTags?: Array<MetaTag>;
    /**
     * Represents the sandbox attribute for the Rich Text Editor's iframe,
     * defining the security restrictions applied to the embedded content.
     * Configure this property using a string array (e.g., ["allow-scripts", "allow-forms"]).
     * If set to an empty array, all restrictions are applied except "allow-same-origin".
     * By default, "allow-same-origin" is included in the Rich Text Editor's iframe sandbox.
     *
     * @default null
     */
    sandbox?: string[];
}
//node_modules/@syncfusion/ej2-richtexteditor/src/rich-text-editor/models/default-locale.d.ts
/**
 * Export default locale
 */
export  let defaultLocale: {
    [key: string]: string;
};
export  let toolsLocale: {
    [key: string]: string;
};
export  let fontNameLocale: {
    [ket: string]: string;
}[];
export  let formatsLocale: {
    [ket: string]: string;
}[];
export  let numberFormatListLocale: {
    [ket: string]: string;
}[];
export  let bulletFormatListLocale: {
    [ket: string]: string;
}[];
export  const slashMenuCommandsKey: Map<SlashMenuItems, {
    text: string;
    description: string;
}>;
//node_modules/@syncfusion/ej2-richtexteditor/src/rich-text-editor/formatter/markdown-formatter.d.ts
/**
 * Markdown adapter
 *
 * @hidden
 * @deprecated
 */
export  class MarkdownFormatter extends Formatter {
    keyConfig: {
        [key: string]: string;
    };
    formatTags: {
        [key: string]: string;
    };
    listTags: {
        [key: string]: string;
    };
    selectionTags: {
        [key: string]: string;
    };
    editorManager: IEditorModel;
    private element;
    constructor(options?: IMarkdownFormatterModel);
    private initialize;
    /**
     * Update the formatter of RichTextEditor
     *
     * @param  {Element} editElement - specifies the edit element.
     * @param  {Document} doc - specifies the document.
     * @param {number} options - specifies the options
     * @returns {void}
     * @hidden
     * @deprecated
     */
    updateFormatter(editElement: Element, doc?: Document, options?: {
        [key: string]: number;
    }): void;
}
//node_modules/@syncfusion/ej2-richtexteditor/src/rich-text-editor/formatter/html-formatter.d.ts
/**
 * HTML adapter
 *
 * @hidden
 * @deprecated
 */
export  class HTMLFormatter extends Formatter {
    keyConfig: {
        [key: string]: string;
    };
    currentDocument: Document;
    element: Element;
    editorManager: IEditorModel;
    private toolbarUpdate;
    constructor(options?: IHtmlFormatterModel);
    private initialize;
    /**
     * Update the formatter of RichTextEditor
     *
     * @param {Element} editElement - specifies the edit element.
     * @param {Document} doc - specifies the doucment
     * @param {number} options - specifies the options
     * @param {FormatPainterSettingsModel} formatPainterSettings - specifies the format painter settings
     * @returns {void}
     * @hidden
     * @deprecated
     */
    updateFormatter(editElement: Element, doc?: Document, options?: {
        [key: string]: number;
    }, formatPainterSettings?: FormatPainterSettingsModel): void;
}
//node_modules/@syncfusion/ej2-richtexteditor/src/rich-text-editor/formatter/formatter.d.ts
/**
 * Formatter
 *
 * @hidden
 * @deprecated
 */
export  class Formatter {
    editorManager: IEditorModel;
    private timeInterval;
    /**
     * To execute the command
     *
     * @param  {IRichTextEditor} self - specifies the self element.
     * @param  {ActionBeginEventArgs} args - specifies the event arguments.
     * @param  {MouseEvent|KeyboardEvent} event - specifies the keyboard event.
     * @param  {IItemCollectionArgs} value - specifies the collection arguments
     * @returns {void}
     * @hidden
     * @deprecated
     */
    process(self: IRichTextEditor, args: ActionBeginEventArgs, event: MouseEvent | KeyboardEvent, value: IItemCollectionArgs): void;
    private getAncestorNode;
    /**
     * onKeyHandler method
     *
     * @param {IRichTextEditor} self - specifies the self element.
     * @param {KeyboardEvent} e - specifies the keyboard event.
     * @returns {void}
     * @hidden
     * @deprecated
     */
    onKeyHandler(self: IRichTextEditor, e: KeyboardEvent): void;
    /**
     * onSuccess method
     *
     * @param {IRichTextEditor} self - specifies the self element.
     * @param {IMarkdownFormatterCallBack} events - specifies the event call back
     * @returns {void}
     * @hidden
     * @deprecated
     */
    onSuccess(self: IRichTextEditor, events: IMarkdownFormatterCallBack | IHtmlFormatterCallBack): void;
    /**
     * Save the data for undo and redo action.
     *
     * @param {KeyboardEvent} e - specifies the keyboard event.
     * @returns {void}
     * @hidden
     * @deprecated
     */
    saveData(e?: KeyboardEvent | MouseEvent | IUndoCallBack): void;
    /**
     * getUndoStatus method
     *
     * @returns {void}
     * @hidden
     * @deprecated
     */
    getUndoStatus(): {
        [key: string]: boolean;
    };
    /**
     * getUndoRedoStack method
     *
     * @param {IHtmlUndoRedoData}  - specifies the redo data.
     * @returns {void}
     * @hidden
     * @deprecated
     */
    getUndoRedoStack(): IHtmlUndoRedoData[] | MarkdownUndoRedoData[];
    /**
     * enableUndo method
     *
     * @param {IRichTextEditor} self - specifies the self element.
     * @returns {void}
     * @hidden
     * @deprecated
     */
    enableUndo(self: IRichTextEditor): void;
    beforeSlashMenuApply(): void;
    getCurrentStackIndex(): undefined | number;
}
//node_modules/@syncfusion/ej2-richtexteditor/src/rich-text-editor/base/util.d.ts
/**
 * @param {string} val - specifies the string value
 * @param {string} items - specifies the value
 * @returns {number} - returns the number value
 * @hidden
 */
export  function getIndex(val: string, items: (string | IToolbarItems)[]): number;
/**
 * @param {Element} element - specifies the element
 * @param {string} className - specifies the string value
 * @returns {boolean} - returns the boolean value
 * @hidden
 */
export  function hasClass(element: Element | HTMLElement, className: string): boolean;
/**
 * @param {IDropDownItemModel} items - specifies the item model
 * @param {string} value - specifies the string value
 * @param {string} type - specifies the string value
 * @param {string} returnType - specifies the return type
 * @returns {string} - returns the string value
 * @hidden
 */
export  function getDropDownValue(items: IDropDownItemModel[], value: string, type: string, returnType: string): string;
/**
 * @returns {boolean} - returns the boolean value
 * @hidden
 */
export  function isIDevice(): boolean;
/**
 * @param {string} value - specifies the value
 * @returns {string} - returns the string value
 * @hidden
 */
export  function getFormattedFontSize(value: string): string;
/**
 * @param {MouseEvent} e - specifies the mouse event
 * @param {HTMLElement} parentElement - specifies the parent element
 * @param {boolean} isIFrame - specifies the boolean value
 * @returns {number} - returns the number
 * @hidden
 */
export  function pageYOffset(e: MouseEvent | Touch, parentElement: HTMLElement, isIFrame: boolean): number;
/**
 * @param {string} item - specifies the string
 * @param {ServiceLocator} serviceLocator - specifies the service locator
 * @returns {string} - returns the string
 * @hidden
 */
export  function getTooltipText(item: string, serviceLocator: ServiceLocator): string;
/**
 * @param {ISetToolbarStatusArgs} e - specifies the e element
 * @param {boolean} isPopToolbar - specifies the boolean value
 * @param {IRichTextEditor} self - specifies the parent element
 * @returns {void}
 * @hidden
 */
export  function setToolbarStatus(e: ISetToolbarStatusArgs, isPopToolbar: boolean, self: IRichTextEditor): void;
/**
 * @param {string} items - specifies the string value
 * @returns {string[]} - returns the array value
 * @hidden
 */
export  function getCollection(items: string | string[]): string[];
/**
 * @param {any} dropDown - The dropdown button instance.
 * @param {string} htmlString - The HTML content to update.
 * @returns {void}
 * @hidden
 */
export  function updateDropdownContent(dropDown: any, htmlString: string): void;
/**
 * @param {string[]} items - specifies the array of string value
 * @param {IToolbarItemModel} toolbarItems - specifies the tool bar model
 * @returns {number} - returns the number
 * @hidden
 */
export  function getTBarItemsIndex(items: string[], toolbarItems: IToolbarItemModel[]): number[];
/**
 * @param {BaseToolbar} baseToolbar - specifies the base
 * @param {boolean} undoRedoStatus - specifies the boolean value
 * @returns {void}
 * @hidden
 */
export  function updateUndoRedoStatus(baseToolbar: BaseToolbar, undoRedoStatus: {
    [key: string]: boolean;
}): void;
/**
 * To dispatch the event manually
 *
 * @param {Element} element - specifies the element.
 * @param {string} type - specifies the string type.
 * @returns {void}
 * @hidden
 * @deprecated
 */
export  function dispatchEvent(element: Element | HTMLDocument, type: string): void;
/**
 * To parse the HTML
 *
 * @param {string} value - specifies the string value
 * @returns {DocumentFragment} - returns the document
 * @hidden
 */
export  function parseHtml(value: string): DocumentFragment;
/**
 * @param {Document} docElement - specifies the document element
 * @param {Element} node - specifies the node
 * @returns {Node[]} - returns the node array
 * @hidden
 */
export  function getTextNodesUnder(docElement: Document, node: Element): Node[];
/**
 * @param {IToolsItemConfigs} obj - specifies the configuration
 * @returns {void}
 * @hidden
 */
export  function toObjectLowerCase(obj: {
    [key: string]: IToolsItemConfigs;
}): {
    [key: string]: IToolsItemConfigs;
};
/**
 * @param {string} value - specifies the string value
 * @param {IRichTextEditor} rteObj - specifies the rte object
 * @returns {string} - returns the string
 * @hidden
 */
export  function getEditValue(value: string, rteObj: IRichTextEditor): string;
/**
 * @param {string} value - specifies the value
 * @param {IRichTextEditor} rteObj - specifies the rich text editor instance.
 * @returns {string} - returns the string
 * @hidden
 */
export  function updateTextNode(value: string, rteObj?: IRichTextEditor): string;
/**
 * @param {IRichTextEditor} rteObj - specifies the rte object
 * @returns {string} - returns the value based on enter configuration.
 * @hidden
 */
export  function getDefaultValue(rteObj: IRichTextEditor): string;
/**
 * @param {string} value - specifies the value
 * @returns {boolean} - returns the boolean value
 * @hidden
 */
export  function isEditableValueEmpty(value: string): boolean;
/**
 * @param {string} value - specifies the string value
 * @returns {string} - returns the string
 * @hidden
 */
export  function decode(value: string): string;
/**
 * @param {string} value - specifies the string value
 * @param {IRichTextEditor} parent - specifies the rte
 * @returns {string} - returns the string value
 * @hidden
 */
export  function sanitizeHelper(value: string, parent: IRichTextEditor): string;
/**
 * @param {string} value - specifies the string value
 * @returns {string} - returns the string value
 * @hidden
 */
export  function parseHelper(value: string): string;
/**
 * @param {string} dataUrl - specifies the string value
 * @returns {BaseToolbar} - returns the value
 * @hidden
 */
export  function convertToBlob(dataUrl: string): Blob;
/**
 * @param {IRichTextEditor} self - specifies the rte
 * @param {string} localeItems - specifies the locale items
 * @param {IDropDownItemModel} item - specifies the dropdown item
 * @returns {string} - returns the value
 * @hidden
 */
export  function getLocaleFontFormat(self: IRichTextEditor, localeItems: {
    [ket: string]: string;
}[], item: IDropDownItemModel): string;
/**
 * @param {string} value - specifies the string value
 * @param {string} editorMode - specifies the string value
 * @returns {string} - returns the string value
 * @hidden
 */
export  function resetContentEditableElements(value: string, editorMode: string): string;
/**
 * @param {string} value - specifies the string value
 * @param {string} editorMode - specifies the string value
 * @returns {string} - returns the string value
 * @hidden
 */
export  function cleanupInternalElements(value: string, editorMode: string): string;
/**
 * @param {HTMLElement} element - specifies the element
 * @returns {void}
 * @hidden
 */
export  function removeSelectionClassStates(element: HTMLElement): void;
/**
 * @param {IRichTextEditor} self - specifies the rte
 * @returns {void}
 * @hidden
 */
export  function updateDropDownFontFormatLocale(self: IRichTextEditor): void;
//node_modules/@syncfusion/ej2-richtexteditor/src/rich-text-editor/base/rich-text-editor.d.ts
/**
 * Represents the Rich Text Editor component.
 * ```html
 * <textarea id="rte"></textarea>
 * <script>
 *  var rteObj = new RichTextEditor();
 *  rteObj.appendTo("#rte");
 * </script>
 * ```
 */
export  class RichTextEditor extends base.Component<HTMLElement> implements base.INotifyPropertyChanged {
    private placeHolderWrapper;
    private scrollParentElements;
    private cloneValue;
    private onFocusHandler;
    private onBlurHandler;
    private onResizeHandler;
    private onLoadHandler;
    private timeInterval;
    private autoSaveTimeOut;
    private idleInterval;
    private touchModule;
    private defaultResetValue;
    private isResizeInitialized;
    private isValueChangeBlurhandler;
    private displayTempElem;
    private beforeRenderClassValue;
    private mouseDownDebListener;
    private internalID;
    /**
     * @private
     */
    userAgentData: CustomUserAgentData;
    /**
     * Specifies the root container of the Rich Text Editor component.
     *
     * @hidden
     * @deprecated
     *
     **/
    rootContainer: HTMLElement;
    /**
     * @hidden
     * @deprecated
     */
    currentTarget: HTMLElement;
    /**
     * @hidden
     * @deprecated
     */
    isFocusOut: boolean;
    /**
     * @hidden
     * @deprecated
     */
    inputElement: HTMLElement;
    /**
     * @hidden
     * @deprecated
     */
    isRTE: boolean;
    /**
     * @hidden
     * @deprecated
     */
    isBlur: boolean;
    /**
     * @hidden
     * @deprecated
     */
    renderModule: Render;
    /**
     * @hidden
     * @deprecated
     */
    contentModule: IRenderer;
    /**
     * @hidden
     * @deprecated
     */
    serviceLocator: ServiceLocator;
    /**
     * The `toolbarModule` is used to manipulate ToolBar items and its action in the RichTextEditor.
     *
     * @hidden
     * @deprecated
     */
    toolbarModule: Toolbar;
    /**
     * @hidden
     * @deprecated
     */
    imageModule: Image;
    /**
     * @hidden
     * @deprecated
     */
    audioModule: Audio;
    /**
     * @hidden
     * @deprecated
     */
    videoModule: Video;
    /**
     * @hidden
     * @deprecated
     */
    tableModule: Table;
    /**
     * @hidden
     * @deprecated
     */
    fullScreenModule: FullScreen;
    /**
     * @hidden
     * @deprecated
     */
    resizeModule: Resize;
    /**
     * @hidden
     * @deprecated
     */
    pasteCleanupModule: PasteCleanup;
    /**
     * @hidden
     * @deprecated
     */
    /**
     * @hidden
     * @deprecated
     */
    enterKeyModule: EnterKeyAction;
    /**
     * @hidden
     * @deprecated
     */
    sourceCodeModule: ViewSource;
    /**
     * @hidden
     * @deprecated
     */
    linkModule: Link;
    /**
     * @hidden
     * @deprecated
     */
    markdownEditorModule: MarkdownEditor;
    /**
     * @hidden
     * @deprecated
     */
    htmlEditorModule: HtmlEditor;
    /**
     * @hidden
     * @deprecated
     */
    quickToolbarModule: QuickToolbar;
    /**
     * @hidden
     * @deprecated
     */
    countModule: Count;
    /**
     * @hidden
     * @deprecated
     */
    fileManagerModule: FileManager;
    /**
     * @hidden
     * @deprecated
     */
    formatPainterModule: FormatPainter;
    slashMenuModule: SlashMenu;
    /**
     * @hidden
     * @deprecated
     */
    emojiPickerModule: EmojiPicker;
    needsID: boolean;
    /**
     * Specifies the configuration for the toolbar, including the alignment and rendering type.
     * By default, the toolbar floats at the top of the RichTextEditor.
     * When you scroll down, the toolbar will move with the page applying the specified offset.
     *
     * Properties:
     *
     * - enable: A boolean value to show or hide the toolbar.
     *
     * - enableFloating: A boolean value to enable or disable the floating toolbar.
     *   This keeps the toolbar fixed at the top of the RichTextEditor during scrolling.
     *
     * - type: Defines the toolbar type, with the following options:
     *   1. Expand: Overflowing toolbar items are hidden and can be accessed by clicking the expand arrow.
     *   2. MultiRow: Overflowing toolbar items wrap into the next row.
     *   3. Scrollable: Toolbar items are on a single line and can be scrolled horizontally if they overflow.
     *
     * - items: An array specifying the items aligned horizontally in the toolbar.
     * > '|' and '-' can be used to insert vertical and horizontal separator lines in the toolbar.
     *
     * - itemConfigs: Allows the modification of the default toolbar item configuration, such as the icon class.
     *
     * > By default, the toolbar is rendered with a scrollable option on mobile devices and does not support other toolbar types.
     *
     * {% codeBlock src='rich-text-editor/toolbar-settings/index.md' %}{% endcodeBlock %}
     *
     * @default
     * {
     * enable: true,
     * enableFloating: true,
     * type: ToolbarType.Expand,
     * items: ['Bold', 'Italic', 'Underline', '|', 'Formats', 'Alignments', 'OrderedList',
     * 'UnorderedList', '|', 'CreateLink', 'Image', '|', 'SourceCode', 'Undo', 'Redo'],
     * itemConfigs: {}
     * }
     */
    toolbarSettings: ToolbarSettingsModel;
    /**
     * Configuration options for the slash menu feature in the Editor, used to display a mention popup.
     * Properties:
     * * enable: A boolean indicating whether the slash menu is enabled in the Editor.
     * * items: An array specifying the list of items to be displayed in the slash menu.
     * * popupWidth: Defines the width of the slash menu popup. Accepts values in pixels, numbers, or percentages. Numeric values are treated as pixels.
     * * popupHeight: Defines the height of the slash menu popup. Accepts values in pixels, numbers, or percentages. Numeric values are treated as pixels.
     *
     * @default
     * {
     * enable: false,
     * items: ['Paragraph', 'Heading 1', 'Heading 2', 'Heading 3', 'Heading 4', 'OrderedList', 'UnorderedList',
     * 'CodeBlock', 'BlockQuote'],
     * popupWidth: '300px',
     * popupHeight: '320px'
     * }
     */
    slashMenuSettings: SlashMenuSettingsModel;
    /**
     * Specifies the items to be rendered in the quick toolbar based on the target element.
     * Properties:
     * * enable: Boolean to show or hide the quick toolbar.
     * * actionOnScroll: Options for quick toolbar behavior on scroll:
     *   1. hide: The quick toolbar closes when the parent element is scrolled.
     *   2. none: The quick toolbar stays open even if the parent element is scrolled.
     * * link: Specifies items in the quick toolbar for links ('Open', 'Edit', 'UnLink').
     * * image: Specifies items in the quick toolbar for images ('Replace', 'Align', 'Caption', 'Remove', 'InsertLink', 'Display', 'AltText', 'Dimension').
     * * text: Specifies items in the quick toolbar for text ('Cut', 'Copy', 'Paste').
     * * audio: Specifies items for audio ('AudioReplace', 'AudioRemove', 'AudioLayoutOption').
     * * video: Specifies items for video ('VideoReplace', 'VideoAlign', 'VideoRemove', 'VideoLayoutOption', 'VideoDimension').
     *
     * {% codeBlock src='rich-text-editor/quick-toolbar-settings/index.md' %}{% endcodeBlock %}
     *
     * @default
     * {
     * enable: true,
     * actionOnScroll: 'hide',
     * link: ['Open', 'Edit', 'UnLink'],
     * image: ['Replace', 'Align', 'Caption', 'Remove', '-', 'InsertLink', 'Display', 'AltText', 'Dimension'],
     * audio: ['AudioReplace', 'AudioRemove', 'AudioLayoutOption'],
     * video: ['VideoReplace', 'VideoAlign', 'VideoRemove', 'VideoLayoutOption', 'VideoDimension'],
     * }
     */
    quickToolbarSettings: QuickToolbarSettingsModel;
    /**
     * Configures paste options in the Rich Text Editor.
     * Properties:
     * * prompt: Boolean to enable or disable paste prompt.
     * * deniedAttrs: Attributes to restrict during paste.
     * * allowedStyleProps: Style properties allowed when pasting.
     * * deniedTags: Tags to restrict when pasting.
     * * keepFormat: Boolean to keep or remove format when pasting.
     * * plainText: Boolean to paste as plain text.
     *
     * {% codeBlock src='rich-text-editor/paste-cleanup-settings/index.md' %}{% endcodeBlock %}
     *
     * @default
     * {
     * prompt: false,
     * deniedAttrs: null,
     * allowedStyleProps: ['background', 'background-color', 'border', 'border-bottom', 'border-left', 'border-radius',
     * 'border-right', 'border-style', 'border-top', 'border-width', 'clear', 'color', 'cursor',
     * 'direction', 'display', 'float', 'font', 'font-family', 'font-size', 'font-weight', 'font-style',
     * 'height', 'left', 'line-height', 'list-style-type', 'margin', 'margin-top', 'margin-left',
     * 'margin-right', 'margin-bottom', 'max-height', 'max-width', 'min-height', 'min-width',
     * 'overflow', 'overflow-x', 'overflow-y', 'padding', 'padding-bottom', 'padding-left', 'padding-right',
     * 'padding-top', 'position', 'right', 'table-layout', 'text-align', 'text-decoration', 'text-transform', 'text-indent',
     * 'top', 'vertical-align', 'visibility', 'white-space', 'width', 'flex-direction'],
     * deniedTags: null,
     * keepFormat: true,
     * plainText:  false
     * }
     */
    pasteCleanupSettings: PasteCleanupSettingsModel;
    /**
     * Configures the format painter options in the Rich Text Editor.
     * Properties:
     * * allowedFormats: Tags selectors that allow format copying.
     * * deniedFormats: Tag selectors that prevent format copying.
     *
     * {% codeBlock src='rich-text-editor/format-painter-settings/index.md' %}{% endcodeBlock %}
     *
     * @default
     * {
     * allowedFormats: 'b;
 em;
 font;
 sub;
 sup;
 kbd;
 i;
 s;
 u;
 code;
 strong;
 span;
 p;
 div;
 h1;
 h2;
 h3;
 h4;
 h5;
 h6;
 blockquote;
 ol;
 ul;
 li;
 pre;
',
     * deniedFormats: null
     * }
     */
    formatPainterSettings: FormatPainterSettingsModel;
    /**
     * Configures emoji picker options in the Rich Text Editor.
     * Properties:
     * * iconsSet: Array representing emoji icons.
     * * showSearchBox: Enables/disables the search box.
     *
     *
     */
    emojiPickerSettings: EmojiSettingsModel;
    /**
     * Configures iframe mode items in the Rich Text Editor.
     * Properties:
     * * enable: Boolean to place editor content in an iframe, isolating it from the page.
     * * attributes: Custom style for displaying content inside the iframe. Applied to iframe body.
     * * resources: Adds styles and scripts to the iframe.
     *   1. styles[]: Array of CSS files for the iframe content.
     *   2. scripts[]: Array of JS script files for the iframe.
     * * metaTags[]: Array of meta tags for iframe's head, setting metadata (http-equiv, charset, etc.).
     * * sandbox: String array defining iframe sandbox attributes, controlling security restrictions. Default includes "allow-same-origin".
     *
     * {% codeBlock src='rich-text-editor/iframe-settings/index.md' %}{% endcodeBlock %}
     *
     * @default
     * {
     * enable: false,
     * attributes: null,
     * resources: { styles: [], scripts: [] },
     * metaTags: [],
     * sandbox: null,
     * }
     */
    iframeSettings: IFrameSettingsModel;
    /**
     * Specifies the options for inserting images in the Rich Text Editor. Includes properties such as:
     * - `allowedTypes`: Specifies the allowed image file extensions as a comma-separated list (e.g., '.jpg', '.png').
     * - `display`: Sets the default display mode for an inserted image, either 'inline' or 'block'.
     * - `width`: Specifies the default width for an inserted image.
     * - `saveFormat`: Indicates the format for storing images in the editor (Base64 or Blob).
     *   > Select Base64 for numerous small images without a specific physical storage location.
     * - `height`: Defines the default height for an inserted image.
     * - `saveUrl`: Specifies the URL for the service that handles image upload and storage on the server.
     * - `path`: Determines the storage location for images and their display path.
     *
     * {% codeBlock src='rich-text-editor/insert-image-settings/index.md' %}{% endcodeBlock %}
     *
     * @default
     * {
     *   allowedTypes: ['.jpeg', '.jpg', '.png'],
     *   display: 'inline',
     *   width: 'auto',
     *   height: 'auto',
     *   saveFormat: 'Blob',
     *   saveUrl: null,
     *   path: null
     * }
     */
    insertImageSettings: ImageSettingsModel;
    /**
     * The `serviceUrl` property specifies the server endpoint URL where the uploaded Word file will be processed.
     *
     * @default
     * {
     *   serviceUrl: null
     * }
     */
    /**
     * Defines file export options for the Rich Text Editor with properties like:
     * - `serviceurl`: The URL utilized for exporting editor content to Word files.
     * - `fileName`: Designates the default name for exported Word files.
     * - `stylesheet`: Applies a stylesheet to the exported Word file.
     *
     * @default
     * {
     *   serviceUrl: null,
     *   fileName: Sample.docx,
     *   stylesheet: null
     * }
     */
    exportWord: ExportWordModel;
    /**
     * Describes file export options to PDF in the Rich Text Editor, such as:
     * - `serviceurl`: URL used for exporting content to PDF format.
     * - `fileName`: Specifies the default PDF file name upon export.
     * - `stylesheet`: Applies a stylesheet to the exported PDF file.
     *
     * @default
     * {
     *   serviceUrl: null,
     *   fileName: 'Sample.pdf',
     *   stylesheet: null
     * }
     */
    exportPdf: ExportPdfModel;
    /**
     * Defines the options for inserting audio files in the Rich Text Editor, including properties such as:
     * - `allowedTypes`: Specifies the file extensions for audio files allowed to be inserted, listed as a comma-separated string (e.g., '.wav', '.mp3').
     * - `layoutOption`: Sets the default layout for audio files when inserted into the Rich Text Editor. The options are 'Inline' and 'Break'.
     * - `saveFormat`: Determines the format used to store audio files in the Rich Text Editor, either 'Base64' or 'Blob'.
     *   > Choose 'Base64' for frequently inserted small audio files without the need for a specific storage location.
     * - `saveUrl`: Provides the service URL responsible for handling audio file uploads and storage on the server.
     * - `path`: Specifies the storage path for audio files and the reference for displaying them.
     *
     * @default
     * {
     *   allowedTypes: ['.wav', '.mp3', '.m4a', '.wma'],
     *   layoutOption: 'Inline',
     *   saveFormat: 'Blob',
     *   saveUrl: null,
     *   path: null
     * }
     */
    insertAudioSettings: AudioSettingsModel;
    /**
     * Specifies video insert options in the Rich Text Editor, detailing properties such as:
     * - `allowedTypes`: Allowed video file extensions as a comma-separated list (e.g., '.mp4', '.mov').
     * - `layoutOption`: Determines the display mode for videos ('Inline' or 'Break').
     * - `width`: Sets default width for inserted videos.
     * - `saveFormat`: Format for storing video files (Base64 or Blob).
     *   > Select Base64 for numerous small video inserts without defined storage requirements.
     * - `height`: Sets default height for inserted videos.
     * - `saveUrl`: URL of the service for handling video uploads and server storage.
     * - `path`: Identifies the path for storing and displaying videos.
     *
     * @default
     * {
     *   allowedTypes: ['.mp4', '.mov', '.wmv', '.avi'],
     *   layoutOption: 'Inline',
     *   width: 'auto',
     *   height: 'auto',
     *   saveFormat: 'Blob',
     *   saveUrl: null,
     *   path: null
     * }
     */
    insertVideoSettings: VideoSettingsModel;
    /**
     * Specifies the options for inserting tables in the Rich Text Editor, featuring properties like:
     * - `styles`: Automatically appends a CSS class to tables for consistent styling.
     * - `width`: Defines default table width upon insertion.
     * - `minWidth`: Sets the minimum width for inserted tables.
     * - `maxWidth`: Indicates the maximum permissible width for tables.
     * - `resize`: Enables or disables table resizing functionality.
     *
     * {% codeBlock src='rich-text-editor/table-settings/index.md' %}{% endcodeBlock %}
     *
     * @default
     * {
     *   width: '100%',
     *   styles: [
     *     { text: 'Dashed Borders', class: 'e-dashed-borders', command: 'Table', subCommand: 'Dashed' },
     *     { text: 'Alternate Rows', class: 'e-alternate-rows', command: 'Table', subCommand: 'Alternate' }
     *   ],
     *   resize: true,
     *   minWidth: 0,
     *   maxWidth: null
     * }
     */
    tableSettings: TableSettingsModel;
    /**
     * Keeps the toolbar fixed at the top of the Rich Text Editor during scrolling and specifies the
     * toolbar's offset from the document's top position.
     *
     * @default 0
     */
    floatingToolbarOffset: number;
    /**
     * Configures the inline edit mode for the Rich Text Editor with the following options:
     * - `enable`: A boolean value to enable or disable the inline edit mode.
     * - `onSelection`: Determines how the toolbar is activated:
     *   - If set to `true`, the toolbar appears inline upon text selection.
     *   - If set to `false`, the toolbar opens when clicking on the target element.
     *
     * {% codeBlock src='rich-text-editor/inline-mode/index.md' %}{% endcodeBlock %}
     *
     * @default
     * {
     *   enable: false,
     *   onSelection: true
     * }
     */
    inlineMode: InlineModeModel;
    /**
     * Defines image manager options in the Rich Text Editor with the following attributes:
     * - `enable`: Boolean to enable or disable the image manager.
     * - `ajaxSettings`: Configures AJAX settings for image handling.
     * - `contextMenuSettings`: Manages context menu availability and options.
     * - `navigationPaneSettings`: Sets up the navigation pane display and contents.
     * - `toolbarSettings`: Specifies toolbar configuration and visible items.
     * - `uploadSettings`: Manages upload-specific configurations.
     *
     * @default
     * {
     *   enable: false,
     *   path: '/',
     *   ajaxSettings: { getImageUrl: null, url: null, uploadUrl: null },
     *   contextMenuSettings: {
     *     visible: true,
     *     file: ['Open', '|', 'Cut', 'Copy', '|', 'Delete', 'Rename', '|', 'Details'],
     *     folder: ['Open', '|', 'Cut', 'Copy', 'Paste', '|', 'Delete', 'Rename', '|', 'Details'],
     *     layout: ['SortBy', 'View', 'Refresh', '|', 'Paste', '|', 'NewFolder', 'Upload', '|', 'Details', '|', 'SelectAll']
     *   },
     *   navigationPaneSettings: {
     *     visible: true,
     *     items: ['NewFolder', 'Upload', 'Cut', 'Copy', 'Paste', 'Delete', 'Download',
     *       'Rename', 'SortBy', 'Refresh', 'Selection', 'View', 'Details']
     *   },
     *   toolbarSettings: { visible: true, items: ['Upload', 'NewFolder'] },
     *   uploadSettings: { autoUpload: true, minFileSize: 0, maxFileSize: 30000000, allowedExtensions: '', autoClose: false }
     * }
     */
    fileManagerSettings: FileManagerSettingsModel;
    /**
     * Specifies the width of the Rich Text Editor.
     *
     * @default '100%'
     */
    width: string | number;
    /**
     * Enables or disables the persistence of the component's state between page reloads.
     * If enabled, the value of the Rich Text Editor is retained.
     *
     * {% codeBlock src='rich-text-editor/enable-persistence/index.md' %}{% endcodeBlock %}
     *
     * @default false
     */
    enablePersistence: boolean;
    /**
     * Configures whether a tooltip should be displayed for the Rich Text Editor toolbar.
     *
     * @default true
     */
    showTooltip: boolean;
    /**
     * Enables or disables the resizing option in the editor.
     * When enabled, the editor can be resized by dragging the resize icon in its bottom right corner.
     *
     * {% codeBlock src='rich-text-editor/enable-resize/index.md' %}{% endcodeBlock %}
     *
     * @default false
     */
    enableResize: boolean;
    /**
     * Allows specifying additional HTML attributes like title, name, etc.
     * Accepts multiple attributes in a key-value pair format.
     *
     * @default {}
     */
    htmlAttributes: {
        [key: string]: string;
    };
    /**
     * Specifies the placeholder text for the content area of the RichTextEditor when it is empty.
     *
     * @default null
     */
    placeholder: string;
    /**
     * Enables or disables the auto-save option, which performs the save action during idle states after content changes.
     * If enabled, the editor will save content in idle state based on the `saveInterval` property's value.
     * The change event is triggered if the content has been modified since the last saved state.
     *
     * @default false
     */
    autoSaveOnIdle: boolean;
    /**
     * Disables user interactions on the component when set to true.
     *
     * @default false
     */
    readonly: boolean;
    /**
     * Indicates whether the component is enabled or disabled.
     *
     * {% codeBlock src='rich-text-editor/enabled/index.md' %}{% endcodeBlock %}
     *
     * @default true
     */
    enabled: boolean;
    /**
     * Indicates whether to allow cross-site scripting (XSS) or not.
     *
     * @default true
     */
    enableHtmlSanitizer: boolean;
    /**
     * Determines if source code should be displayed in an encoded format.
     *
     * @default false
     */
    enableHtmlEncode: boolean;
    /**
     * Indicates whether XHTML is enabled or not.
     *
     * @default false
     */
    enableXhtml: boolean;
    /**
     * Specifies the height of the Rich Text Editor component.
     *
     * @default "auto"
     */
    height: string | number;
    /**
     * Specifies the CSS class name appended to the root element of the RichTextEditor.
     * Multiple custom CSS classes can be added.
     *
     * @default null
     */
    cssClass: string;
    /**
     * Specifies the initial content to be displayed in the RichTextEditor's content area. It should be a string.
     * The editor's content can also be dynamically loaded from a database, AJAX, etc.
     *
     * {% codeBlock src='rich-text-editor/value/index.md' %}{% endcodeBlock %}
     *
     * @default null
     */
    value: string;
    /**
     * Specifies the tag to be inserted when the enter key is pressed.
     *
     * - `P`: Pressing enter inserts a `p` tag. The default value will be `<p><br></p>`.
     * - `DIV`: Inserts a `div` tag instead of the default `P` tag.
     * - `BR`: Inserts a `br` tag instead of the default `P` tag.
     *
     * @default 'P'
     */
    enterKey: EnterKey;
    /**
     * Specifies tags to be inserted when the Shift + Enter keys are pressed.
     *
     * - `BR` - When the Shift + Enter key is pressed, a `br` tag will be inserted, which is the default behavior.
     * - `P` - When the Shift + Enter key is pressed, a `p` tag will be inserted instead of the default `br` tag.
     * - `DIV` - When the Shift + Enter key is pressed, a `div` tag will be inserted instead of the default `br` tag.
     *
     * @default 'BR'
     */
    shiftEnterKey: ShiftEnterKey;
    /**
     * Specifies the number of undo history steps stored in the undo/redo manager.
     *
     * {% codeBlock src='rich-text-editor/undo-redo-steps/index.md' %}{% endcodeBlock %}
     *
     * @default 30
     */
    undoRedoSteps: number;
    /**
     * Specifies the interval time in milliseconds for storing actions in the undo/redo manager.
     * The minimum value is 300 milliseconds.
     *
     * @default 300
     */
    undoRedoTimer: number;
    /**
     * Defines the mode of the RichTextEditor.
     *
     * - `HTML`: Render as an HTML editor using an `<IFRAME>`, content editable `<div>`, or `<textarea>`.
     * - `Markdown`: Render as a Markdown editor using a `<textarea>`.
     *
     * @default 'HTML'
     */
    editorMode: EditorMode;
    /**
     * Customizes key actions in the RichTextEditor.
     * For example, German keyboard users can customize key actions using these shortcuts.
     *
     * {% codeBlock src='rich-text-editor/keyconfig/index.md' %}{% endcodeBlock %}
     *
     * @default null
     */
    keyConfig: {
        [key: string]: string;
    };
    /**
     * Enables or disables the display of the character counter.
     *
     * {% codeBlock src='rich-text-editor/show-char-count/index.md' %}{% endcodeBlock %}
     *
     * @default false
     */
    showCharCount: boolean;
    /**
     * Allows the tab key action in the Rich Text Editor content.
     *
     * {% codeBlock src='rich-text-editor/enable-tab-key/index.md' %}{% endcodeBlock %}
     *
     * @default false
     */
    enableTabKey: boolean;
    /**
     * Enable `enableAutoUrl` to accept the given URL (relative or absolute) without validating the URL for hyperlinks.
     * Otherwise, the given URL will automatically convert to an absolute path URL by prefixing it with `https://` for hyperlinks.
     *
     * {% codeBlock src='rich-text-editor/enable-autourl/index.md' %}{% endcodeBlock %}
     *
     * @default false
     */
    enableAutoUrl: boolean;
    /**
     * Specifies the maximum number of characters allowed in the Rich Text Editor.
     *
     * {% codeBlock src='rich-text-editor/max-length/index.md' %}{% endcodeBlock %}
     *
     * @default -1
     */
    maxLength: number;
    /**
     * Predefines a collection of paragraph styles along with quote and code styles
     * that populate the format dropdown in the toolbar.
     *
     * {% codeBlock src='rich-text-editor/format/index.md' %}{% endcodeBlock %}
     *
     * @default
     * {
     * default: 'Paragraph',
     * width: '65px',
     * types: [
     * { text: 'Paragraph', value: 'P'},
     * { text: 'Heading 1', value: 'H1' },
     * { text: 'Heading 2', value: 'H2' },
     * { text: 'Heading 3', value: 'H3' },
     * { text: 'Heading 4', value: 'H4' },
     * { text: 'Heading 5', value: 'H5' },
     * { text: 'Heading 6', value: 'H6' },
     * { text: 'Preformatted', value: 'Pre' }
     * ]
     * }
     */
    format: FormatModel;
    /**
     * Predefines advanced list types that populate the numberFormatList dropdown in the toolbar.
     *
     * @default
     * {
     * types: [
     * { text: 'None', value: 'none' },
     * { text: 'Number', value: 'decimal' },
     * { text: 'Lower Greek', value: 'lowerGreek' },
     * { text: 'Lower Roman', value: 'lowerRoman' },
     * { text: 'Upper Alpha', value: 'upperAlpha' },
     * { text: 'Lower Alpha', value: 'lowerAlpha' },
     * { text: 'Upper Roman', value: 'upperRoman' }
     * ]
     * }
     */
    numberFormatList: NumberFormatListModel;
    /**
     * Predefines advanced list types that populate the bulletFormatList dropdown in the toolbar.
     *
     * @default
     * {
     * types: [
     * { text: 'None', value: 'none' },
     * { text: 'Disc', value: 'disc' },
     * { text: 'Circle', value: 'circle' },
     * { text: 'Square', value: 'square' }
     * ]
     * }
     */
    bulletFormatList: BulletFormatListModel;
    /**
     * Predefines font families that populate the font family dropdown in the toolbar.
     *
     * {% codeBlock src='rich-text-editor/font-family/index.md' %}{% endcodeBlock %}
     *
     * @default
     * {
     * default: 'Segoe UI',
     * width: '65px',
     * items: [
     * { text: 'Segoe UI', value: 'Segoe UI' },
     * { text: 'Arial', value: 'Arial,Helvetica,sans-serif' },
     * { text: 'Courier New', value: 'Courier New,Courier,monospace' },
     * { text: 'Georgia', value: 'Georgia,serif' },
     * { text: 'Impact', value: 'Impact,Charcoal,sans-serif' },
     * { text: 'Lucida Console', value: 'Lucida Console,Monaco,monospace' },
     * { text: 'Tahoma', value: 'Tahoma,Geneva,sans-serif' },
     * { text: 'Times New Roman', value: 'Times New Roman,Times,serif' },
     * { text: 'Trebuchet MS', value: 'Trebuchet MS,Helvetica,sans-serif' },
     * { text: 'Verdana', value: 'Verdana,Geneva,sans-serif' }
     * ]
     * }
     */
    fontFamily: FontFamilyModel;
    /**
     * Defines the predefined font sizes that populate the font size dropdown in the toolbar.
     *
     * {% codeBlock src='rich-text-editor/font-size/index.md' %}{% endcodeBlock %}
     *
     * @default
     * {
     * default: '10pt',
     * 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;
    /**
     * Defines the color palette for the font color toolbar command.
     *
     * {% codeBlock src='rich-text-editor/font-color/index.md' %}{% endcodeBlock %}
     *
     * @default
     * {
     * columns: 10,
     * colorCode: {
     * 'Custom': [
     * '', '#000000', '#e7e6e6', '#44546a', '#4472c4', '#ed7d31', '#a5a5a5', '#ffc000', '#70ad47', '#ff0000',
     * '#f2f2f2', '#808080', '#cfcdcd', '#d5dce4', '#d9e2f3', '#fbe4d5', '#ededed', '#fff2cc', '#e2efd9', '#ffcccc',
     * '#d9d9d9', '#595959', '#aeaaaa', '#acb9ca', '#b4c6e7', '#f7caac', '#dbdbdb', '#ffe599', '#c5e0b3', '#ff8080',
     * '#bfbfbf', '#404040', '#747070', '#8496b0', '#8eaadb', '#f4b083', '#c9c9c9', '#ffd966', '#a8d08d', '#ff3333',
     * '#a6a6a6', '#262626', '#3b3838', '#323e4f', '#2f5496', '#c45911', '#7b7b7b', '#bf8f00', '#538135', '#b30000',
     * '#7f7f7f', '#0d0d0d', '#161616', '#212934', '#1f3763', '#823b0b', '#525252', '#7f5f00', '#375623', '#660000']
     * }
     * }
     */
    fontColor: FontColorModel;
    /**
     * Defines the color palette for the background color (text highlight color) toolbar command.
     *
     * {% codeBlock src='rich-text-editor/background-color/index.md' %}{% endcodeBlock %}
     *
     * @default
     * {
     * columns: 5,
     * colorCode: {
     * 'Custom': ['#ffff00', '#00ff00', '#00ffff', '#ff00ff', '#0000ff', '#ff0000',
     * '#000080', '#008080', '#008000', '#800080', '#800000', '#808000',
     * '#c0c0c0', '#000000', '']
     * }
     * }
     */
    backgroundColor: BackgroundColorModel;
    /**
     * Accepts a template design and assigns it as the content of the Rich Text Editor.
     * The built-in template engine provides options to compile a template string into an executable function.
     * For example, it supports expression evaluation similar to ES6 template string literals.
     *
     * {% codeBlock src='rich-text-editor/value-template/index.md' %}{% endcodeBlock %}
     *
     * @default null
     * @aspType string
     */
    valueTemplate: string | Function;
    /**
     * Specifies the save interval in milliseconds for automatically saving the content.
     * The change event is triggered if the content changes from the last saved interval.
     *
     * {% codeBlock src='rich-text-editor/save-interval/index.md' %}{% endcodeBlock %}
     *
     * @default 10000
     */
    saveInterval: number;
    /**
     * This event triggers before executing a command via toolbar items.
     * Cancel this event to prevent the command from executing by setting the `cancel` argument to `true`.
     *
     * @event 'actionBegin'
     */
    actionBegin: base.EmitType<ActionBeginEventArgs>;
    /**
     * This event triggers after executing a command via toolbar items.
     *
     * @event 'actionComplete'
     */
    actionComplete: base.EmitType<ActionCompleteEventArgs>;
    /**
     * This event triggers before a dialog is opened.
     * Cancel this event to prevent the dialog from opening by setting the `cancel` argument to `true`.
     *
     * @event 'beforeDialogOpen'
     */
    beforeDialogOpen: base.EmitType<popups.BeforeOpenEventArgs>;
    /**
     * This event triggers when a dialog is opened.
     *
     * @event 'dialogOpen'
     */
    dialogOpen: base.EmitType<Object>;
    /**
     * This event triggers before a dialog is closed.
     * Cancel this event to prevent the dialog from closing by setting the `cancel` argument to `true`.
     *
     * @event 'beforeDialogClose'
     */
    beforeDialogClose: base.EmitType<popups.BeforeCloseEventArgs>;
    /**
     * This event triggers after a dialog has been closed.
     *
     * @event 'dialogClose'
     */
    dialogClose: base.EmitType<Object>;
    /**
     * This event triggers before the quick toolbar opens.
     *
     * @event 'beforeQuickToolbarOpen'
     */
    beforeQuickToolbarOpen: base.EmitType<BeforeQuickToolbarOpenArgs>;
    /**
     * This event triggers when the quick toolbar is opened.
     *
     * @event 'quickToolbarOpen'
     */
    quickToolbarOpen: base.EmitType<Object>;
    /**
     * This event triggers after the quick toolbar has been closed.
     *
     * @event 'quickToolbarClose'
     */
    quickToolbarClose: base.EmitType<Object>;
    /**
     * This event is deprecated and no longer works. Use the `updatedToolbarStatus` event for undo/redo status.
     *
     * @deprecated
     * @event 'toolbarStatusUpdate'
     */
    toolbarStatusUpdate: base.EmitType<Object>;
    /**
     * This event triggers when the toolbar items status is updated.
     *
     * @event 'updatedToolbarStatus'
     */
    updatedToolbarStatus: base.EmitType<ToolbarStatusEventArgs>;
    /**
     * This event triggers when an image is selected or dragged into the insert image dialog.
     *
     * @event 'imageSelected'
     */
    imageSelected: base.EmitType<inputs.SelectedEventArgs>;
    /**
     * This event triggers before the image upload process starts.
     *
     * @event 'beforeImageUpload'
     */
    beforeImageUpload: base.EmitType<inputs.BeforeUploadEventArgs>;
    /**
     * This event triggers when an image upload begins in the insert image dialog.
     * It provides access to the upload details through the event arguments.
     *
     * @event 'imageUploading'
     */
    imageUploading: base.EmitType<inputs.UploadingEventArgs>;
    /**
     * This event triggers when an image has been successfully uploaded to the server side.
     *
     * @event 'imageUploadSuccess'
     */
    imageUploadSuccess: base.EmitType<ImageSuccessEventArgs>;
    /**
     * This event triggers when there is an error during image upload.
     *
     * @event 'imageUploadFailed'
     */
    imageUploadFailed: base.EmitType<ImageFailedEventArgs>;
    /**
     * This event triggers when a selected image is removed from the insert image dialog.
     *
     * @event 'imageRemoving'
     */
    imageRemoving: base.EmitType<inputs.RemovingEventArgs>;
    /**
     * This event triggers when a selected image is removed from the Rich Text Editor content.
     *
     * @event 'afterImageDelete'
     */
    afterImageDelete: base.EmitType<AfterImageDeleteEventArgs>;
    /**
     * This event triggers when media is selected or dragged into the insert media audio/video dialog.
     *
     * @event 'fileSelected'
     */
    fileSelected: base.EmitType<inputs.SelectedEventArgs>;
    /**
     * This event triggers before the media audio/video upload process starts.
     *
     * @event 'beforeFileUpload'
     */
    beforeFileUpload: base.EmitType<inputs.BeforeUploadEventArgs>;
    /**
     * This event triggers when media begins uploading in the insert media audio/video dialog.
     *
     * @event 'fileUploading'
     */
    fileUploading: base.EmitType<inputs.UploadingEventArgs>;
    /**
     * This event triggers when media has been successfully uploaded to the server side.
     *
     * @event 'fileUploadSuccess'
     */
    fileUploadSuccess: base.EmitType<Object>;
    /**
     * This event triggers when there is an error during media upload.
     *
     * @event 'fileUploadFailed'
     */
    fileUploadFailed: base.EmitType<Object>;
    /**
     * This event triggers when selected media is removed from the insert audio/video dialog.
     *
     * @event 'fileRemoving'
     */
    fileRemoving: base.EmitType<inputs.RemovingEventArgs>;
    /**
     * This event triggers when selected media is removed from the Rich Text Editor content.
     *
     * @event 'afterMediaDelete'
     */
    afterMediaDelete: base.EmitType<AfterMediaDeleteEventArgs>;
    /**
     * This event triggers when the Rich Text Editor is rendered.
     *
     * @event 'created'
     */
    created: base.EmitType<Object>;
    /**
     * This event triggers when the Rich Text Editor is destroyed.
     *
     * @event 'destroyed'
     */
    destroyed: base.EmitType<Object>;
    /**
     * This event triggers before sanitizing the value. Applicable only when `editorMode` is `HTML`.
     *
     * @event 'beforeSanitizeHtml'
     */
    beforeSanitizeHtml: base.EmitType<BeforeSanitizeHtmlArgs>;
    /**
     * This event triggers when the Rich Text Editor loses focus.
     *
     * @event 'blur'
     */
    blur: base.EmitType<Object>;
    /**
     * This event triggers when a Rich Text Editor toolbar item is clicked.
     *
     * @event 'toolbarClick'
     */
    toolbarClick: base.EmitType<Object>;
    /**
     * This event triggers when the Rich Text Editor gains focus.
     *
     * @event 'focus'
     */
    focus: base.EmitType<Object>;
    /**
     * This event triggers when the Rich Text Editor loses focus and changes have been made to the content.
     *
     * @event 'change'
     */
    change: base.EmitType<ChangeEventArgs>;
    /**
     * This event triggers when resizing elements such as tables, images, videos, and the overall Rich Text Editor.
     *
     * @event 'resizing'
     */
    resizing: base.EmitType<ResizeArgs>;
    /**
     * This event triggers when resizing starts for various elements including tables, images, videos, and the overall editor.
     *
     * @event 'resizeStart'
     */
    resizeStart: base.EmitType<ResizeArgs>;
    /**
     * This event triggers when resizing stops for various elements including tables, images, videos, and the overall editor.
     *
     * @event 'resizeStop'
     */
    resizeStop: base.EmitType<ResizeArgs>;
    /**
     * This event triggers before cleaning up copied content.
     *
     * @event 'beforePasteCleanup'
     */
    beforePasteCleanup: base.EmitType<PasteCleanupArgs>;
    /**
     * This event triggers after cleaning up copied content.
     *
     * @event 'afterPasteCleanup'
     */
    afterPasteCleanup: base.EmitType<object>;
    /**
     * This event triggers before an image is dropped.
     *
     * @event 'beforeImageDrop'
     */
    beforeImageDrop: base.EmitType<ImageDropEventArgs>;
    /**
     * Customize the `keyCode` to change the key value.
     *
     * {% codeBlock src='rich-text-editor/formatter/index.md' %}{% endcodeBlock %}
     *
     * @default null
     */
    formatter: IFormatter;
    /**
     * This event triggers when a slash menu item in the popup is selected by the user using mouse, tap, or keyboard navigation.
     *
     * @event 'slashMenuItemSelect'
     */
    slashMenuItemSelect: base.EmitType<SlashMenuItemSelectArgs>;
    keyboardModule: KeyboardEvents;
    localeObj: base.L10n;
    valueContainer: HTMLTextAreaElement;
    private originalElement;
    private clickPoints;
    private initialValue;
    private isCopyAll;
    private isPlainPaste;
    constructor(options?: RichTextEditorModel, element?: string | HTMLElement);
    /**
     * To provide the array of modules needed for component rendering
     *
     * @returns {base.ModuleDeclaration[]} - specifies the declaration.
     * @hidden
     * @deprecated
     */
    requiredModules(): base.ModuleDeclaration[];
    private updateEnable;
    /**
     * setEnable method
     *
     * @returns {void}
     * @hidden
     * @deprecated
     */
    setEnable(): void;
    private initializeValue;
    /**
     * For internal use only - Initialize the event handler;
     *
     * @returns {void}
     * @hidden
     * @private
     */
    protected preRender(): void;
    private persistData;
    private setContainer;
    /**
     * getPersistData method
     *
     * @returns {void}
     * @hidden
     * @deprecated
     */
    getPersistData(): string;
    /**
     * Focuses the Rich Text Editor component.
     *
     * @returns {void}
     * @public
     */
    focusIn(): void;
    /**
     * Blurs the Rich Text Editor component, removing focus.
     *
     * @returns {void}
     * @public
     */
    focusOut(): void;
    /**
     * Selects all content within the RichTextEditor.
     *
     * @returns {void}
     * @public
     */
    selectAll(): void;
    /**
     * Selects a specific content range or element.
     *
     * @param {Range} range - Specify the range you want to select within the content.
     * This method is used to select a particular sentence, word, or the entire document.
     *
     * @returns {void}
     * @public
     */
    selectRange(range: Range): void;
    /**
     * Retrieves the HTML markup from the currently selected content in RichTextEditor.
     *
     * @returns {string} - Returns the HTML string of selected content.
     * @public
     */
    getSelection(): string;
    /**
     * Displays the emoji picker. If coordinates are provided, it positions the picker at those locations.
     *
     * @param {number} x - The x-axis position for the emoji picker.
     * @param {number} y - The y-axis position for the emoji picker.
     * @returns {void}
     * @public
     */
    showEmojiPicker(x?: number, y?: number): void;
    /**
     * Executes a specified command within the rich text editor, optionally utilizing additional parameters to tailor execution.
     *
     * @returns {void}
     * @param {CommandName} commandName - The name of the command to be executed, such as 'importWord', 'insertHTML', and others.
     * @param {string | HTMLElement | ILinkCommandsArgs | IImageCommandsArgs | ITableCommandsArgs | FormatPainterSettingsModel | IAudioCommandsArgs | IVideoCommandsArgs} value
     * - An optional parameter that supplies the necessary value relevant to the command. This could be a string, an HTMLElement, or specific argument types like ILinkCommandsArgs, etc., contingent on the command requirements.
     * @param {ExecuteCommandOption} option - Specifies additional options for executing the command, such as enabling features like undo functionality.
     * @public
     */
    executeCommand(commandName: CommandName, value?: string | HTMLElement | ILinkCommandsArgs | IImageCommandsArgs | ITableCommandsArgs | FormatPainterSettingsModel | IAudioCommandsArgs | IVideoCommandsArgs, option?: ExecuteCommandOption): void;
    private htmlPurifier;
    private encode;
    /**
     * For internal use only - To Initialize the component rendering.
     *
     * @returns {void}
     * @private
     * @deprecated
     */
    protected render(): void;
    /**
     * addAudioVideoWrapper method
     *
     * @returns {void}
     * @hidden
     * @deprecated
     */
    addAudioVideoWrapper(): void;
    /**
     * For internal use only - Initialize the event handler
     *
     * @returns {void}
     * @private
     * @deprecated
     * @hidden
     */
    protected eventInitializer(): void;
    cleanList(e: KeyboardEvent): void;
    /**
     * For internal use only - keydown the event handler;
     *
     * @param {KeyboardEvent} e - specifies the event.
     * @returns {void}
     * @private
     * @deprecated
     * @hidden
     */
    keyDown(e: KeyboardEvent): void;
    private keyUp;
    /**
     * @param {string} value - specifies the value.
     * @returns {void}
     * @hidden
     * @deprecated
     */
    serializeValue(value: string): string;
    /**
     * Sanitizes an HTML string to prevent cross-site scripting (XSS) attacks.
     * This method is applicable when the editor mode is specifically set to `HTML`.
     *
     * @param {string} value - The HTML content to be sanitized for security purposes.
     * @returns {string} - The HTML content after being sanitized.
     */
    sanitizeHtml(value: string): string;
    /**
     * updateValue method
     *
     * @param {string} value - specifies the string value.
     * @returns {void}
     * @hidden
     * @deprecated
     */
    updateValue(value?: string): void;
    private triggerEditArea;
    private notifyMouseUp;
    private updateUndoRedoStack;
    private mouseUp;
    /**
     * @param {Function} module - specifies the module function.
     * @returns {void}
     * @hidden
     * @deprecated
     */
    ensureModuleInjected(module: Function): boolean;
    /**
     * @returns {void}
     * @hidden
     * @deprecated
     */
    onCopy(): void;
    /**
     * @returns {void}
     * @hidden
     * @deprecated
     */
    onCut(): void;
    /**
     * @param {KeyboardEvent} e - specifies the keyboard event.
     * @returns {void}
     * @hidden
     * @deprecated
     */
    onPaste(e?: ClipboardEvent): void;
    /**
     * @param {string} action - specifies the string value.
     * @param {MouseEvent} event - specifies the event.
     * @returns {void}
     * @hidden
     * @deprecated
     */
    clipboardAction(action: string, event: MouseEvent | KeyboardEvent | ClipboardEvent): void;
    /**
     * Destroys the component by detaching or removing all event handlers,
     * attributes, and CSS classes. It also clears the component's element content.
     *
     * @returns {void}
     */
    destroy(): void;
    private removeHtmlAttributes;
    private removeAttributes;
    private destroyDependentModules;
    /**
     * Retrieves the HTML or text content inside the RichTextEditor.
     *
     * @returns {Element} - The element containing the content.
     */
    getContent(): Element;
    /**
     * Retrieves the text content as a string.
     *
     * @returns {string} - The plain text content.
     */
    getText(): string;
    /**
     * Retrieves the HTML representation of the selected content as a string.
     *
     * @returns {string} - The HTML content of the selected area.
     */
    getSelectedHtml(): string;
    /**
     * Displays the inline quick toolbar.
     *
     * @returns {void}
     */
    showInlineToolbar(): void;
    /**
     * Hides the inline quick toolbar.
     *
     * @returns {void}
     */
    hideInlineToolbar(): void;
    /**
     * For internal use only - Get the module name.
     *
     * @returns {void}
     * @private
     * @deprecated
     */
    protected getModuleName(): string;
    /**
     * Called internally if any of the property value changed.
     *
     * @param {RichTextEditorModel} newProp - specifies the the property.
     * @param {RichTextEditorModel} oldProp - specifies the old property.
     * @returns {void}
     * @hidden
     * @deprecated
     */
    onPropertyChanged(newProp: RichTextEditorModel, oldProp: RichTextEditorModel): void;
    /**
     * @hidden
     * @returns {void}
     * @deprecated
     */
    updateValueData(): void;
    private removeSheets;
    private replaceEntities;
    private updatePanelValue;
    private listOrderCorrection;
    private setHeight;
    /**
     * setPlaceHolder method
     *
     * @returns {void}
     * @hidden
     * @deprecated
     */
    setPlaceHolder(): void;
    private setWidth;
    private setCssClass;
    private updateRTL;
    private updateReadOnly;
    /**
     * setReadOnly method
     *
     * @param {boolean} initial - specifies the boolean value
     * @returns {void}
     * @hidden
     * @deprecated
     */
    setReadOnly(initial?: boolean): void;
    /**
     * Prints all the pages of the RichTextEditor by default.
     *
     * @returns {void}
     */
    print(): void;
    /**
     * Refreshes the view of the editor.
     *
     * @returns {void}
     * @public
     */
    refreshUI(): void;
    /**
     * Displays the Rich Text Editor component in full-screen mode.
     *
     * @returns {void}
     */
    showFullScreen(): void;
    /**
     * Enables the specified toolbar items in the Rich Text Editor component.
     *
     * @param {string | string[]} items - A single item or a collection of items to be enabled in the toolbar.
     * @param {boolean} muteToolbarUpdate - Determines whether to mute updates of the toolbar item status in the Rich Text Editor.
     * @returns {void}
     * @public
     */
    enableToolbarItem(items: string | string[], muteToolbarUpdate?: boolean): void;
    /**
     * Disables the specified toolbar items in the Rich Text Editor component.
     *
     * @param {string | string[]} items - A single item or a collection of items to be disabled in the toolbar.
     * @param {boolean} muteToolbarUpdate - Determines whether to mute updates of the toolbar item status in the Rich Text Editor.
     * @returns {void}
     * @public
     */
    disableToolbarItem(items: string | string[], muteToolbarUpdate?: boolean): void;
    /**
     * Removes the specified toolbar items from the Rich Text Editor component.
     *
     * @param {string | string[]} items - A single item or a collection of items to be removed from the toolbar.
     * @returns {void}
     * @public
     */
    removeToolbarItem(items: string | string[]): void;
    /**
     * Get the selected range from the RichTextEditor's content.
     *
     * @returns {void}
     * @public
     * @deprecated
     */
    getRange(): Range;
    private initializeServices;
    private RTERender;
    private setIframeSettings;
    private InjectSheet;
    private createScriptElement;
    private createStyleElement;
    private setValue;
    renderTemplates(callBack: any): void;
    private updateResizeFlag;
    /**
     * Image max width calculation method
     *
     * @returns {void}
     * @hidden
     * @deprecated
     */
    getInsertImgMaxWidth(): string | number;
    /**
     * Video max width calculation method
     *
     * @returns {void}
     * @hidden
     * @deprecated
     */
    getInsertVidMaxWidth(): string | number;
    /**
     * Retrieves the HTML content from the Rich Text Editor.
     *
     * @returns {string} - The HTML content as a string. If XHTML is enabled, `null` is returned for empty content.
     * @public
     */
    getHtml(): string;
    /**
     * Retrieves XHTML validated HTML content from the Rich Text Editor
     * when the `enableXhtml` property is set to true.
     *
     * @returns {string} - The XHTML validated HTML content as a string.
     * @public
     */
    getXhtml(): string;
    /**
     * Toggles the display of the HTML/Markdown source code within the editor.
     *
     * @returns {void}
     * @public
     */
    showSourceCode(): void;
    /**
     * Calculates the maximum number of characters currently in the Rich Text Editor.
     *
     * @returns {number} - The total number of characters.
     * @public
     */
    getCharCount(): number;
    /**
     * Displays a specified dialog within the Rich Text Editor.
     *
     * @param {DialogType} type - The type of dialog to display.
     * @returns {void}
     * @public
     */
    showDialog(type: DialogType): void;
    /**
     * Closes a specified dialog within the Rich Text Editor.
     *
     * @param {DialogType} type - The type of dialog to close.
     * @returns {void}
     * @public
     */
    closeDialog(type: DialogType): void;
    /**
     * @returns {void}
     * @hidden
     * @deprecated
     */
    getBaseToolbarObject(): BaseToolbar;
    /**
     * @returns {void}
     * @hidden
     * @deprecated
     */
    getToolbar(): HTMLElement;
    /**
     * @returns {void}
     * @hidden
     * @deprecated
     */
    getToolbarElement(): Element;
    /**
     * @returns {void}
     * getID method
     *
     * @hidden
     * @deprecated
     */
    getID(): string;
    /**
     * Returns the CSS class.
     *
     * @param {boolean} [isSpace] - Specifies whether to include a space before the CSS class.
     * @returns {string} The CSS class.
     * @hidden
     * @deprecated
     */
    getCssClass(isSpace?: boolean): string;
    private mouseDownHandler;
    private preventImgResize;
    /**
     * preventDefaultResize method
     *
     * @param {FocusEvent} e - specifies the event.
     * @returns {void}
     * @hidden
     * @deprecated
     */
    preventDefaultResize(e: FocusEvent | MouseEvent): void;
    private defaultResize;
    private resizeHandler;
    private scrollHandler;
    private contentScrollHandler;
    private focusHandler;
    private getUpdatedValue;
    private updateValueOnIdle;
    private updateIntervalValue;
    private cleanupResizeElements;
    addAnchorAriaLabel(value: string): string;
    private updateStatus;
    private onDocumentClick;
    private blurHandler;
    /**
     * invokeChangeEvent method
     *
     * @returns {void}
     * @param {CustomEvent} args - The arguments associated with the content change event.
     * @hidden
     * @deprecated
     */
    private contentChanged;
    /**
     * invokeChangeEvent method
     *
     * @returns {void}
     * @hidden
     * @deprecated
     */
    invokeChangeEvent(): void;
    /**
     * @returns {void}
     * @hidden
     * @deprecated
     */
    wireScrollElementsEvents(): void;
    private wireContextEvent;
    private unWireContextEvent;
    /**
     * @returns {void}
     * @hidden
     * @deprecated
     */
    unWireScrollElementsEvents(): void;
    private touchHandler;
    private contextHandler;
    private resetHandler;
    /**
     * @returns {void}
     * @hidden
     * @deprecated
     */
    autoResize(): void;
    private setAutoHeight;
    private wireEvents;
    private restrict;
    private beforeInputHandler;
    private isSpecialInputType;
    private bindEvents;
    private onIframeMouseDown;
    private inputHandler;
    private editorKeyDown;
    private unWireEvents;
    private unbindEvents;
    /**
     *
     * @param {FocusEvent} e - The focus event.
     * @returns {string} Returns the current focus either `editArea` or `toolbar` or `textArea` or `sourceCode` or `outside` of the RichTextEditor.
     * @hidden
     */
    private getCurrentFocus;
    /**
     * @returns {void}
     * @hidden
     */
    private resetToolbarTabIndex;
    private getRenderedQuickToolbarElem;
    private iframeLoadHandler;
    private iframeEditableElemLoad;
}
//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 configuration for the toolbar, including the alignment and rendering type.
     * By default, the toolbar floats at the top of the RichTextEditor.
     * When you scroll down, the toolbar will move with the page applying the specified offset.
     *
     * Properties:
     *
     * - enable: A boolean value to show or hide the toolbar.
     *
     * - enableFloating: A boolean value to enable or disable the floating toolbar.
     *   This keeps the toolbar fixed at the top of the RichTextEditor during scrolling.
     *
     * - type: Defines the toolbar type, with the following options:
     *   1. Expand: Overflowing toolbar items are hidden and can be accessed by clicking the expand arrow.
     *   2. MultiRow: Overflowing toolbar items wrap into the next row.
     *   3. Scrollable: Toolbar items are on a single line and can be scrolled horizontally if they overflow.
     *
     * - items: An array specifying the items aligned horizontally in the toolbar.
     * > '|' and '-' can be used to insert vertical and horizontal separator lines in the toolbar.
     *
     * - itemConfigs: Allows the modification of the default toolbar item configuration, such as the icon class.
     *
     * > By default, the toolbar is rendered with a scrollable option on mobile devices and does not support other toolbar types.
     *
     * {% codeBlock src='rich-text-editor/toolbar-settings/index.md' %}{% endcodeBlock %}
     *
     * @default
     * {
     * enable: true,
     * enableFloating: true,
     * type: ToolbarType.Expand,
     * items: ['Bold', 'Italic', 'Underline', '|', 'Formats', 'Alignments', 'OrderedList',
     * 'UnorderedList', '|', 'CreateLink', 'Image', '|', 'SourceCode', 'Undo', 'Redo'],
     * itemConfigs: {}
     * }
     */
    toolbarSettings?: ToolbarSettingsModel;
    /**
     * Configuration options for the slash menu feature in the Editor, used to display a mention popup.
     * Properties:
     * * enable: A boolean indicating whether the slash menu is enabled in the Editor.
     * * items: An array specifying the list of items to be displayed in the slash menu.
     * * popupWidth: Defines the width of the slash menu popup. Accepts values in pixels, numbers, or percentages. Numeric values are treated as pixels.
     * * popupHeight: Defines the height of the slash menu popup. Accepts values in pixels, numbers, or percentages. Numeric values are treated as pixels.
     *
     * @default
     * {
     * enable: false,
     * items: ['Paragraph', 'Heading 1', 'Heading 2', 'Heading 3', 'Heading 4', 'OrderedList', 'UnorderedList',
     * 'CodeBlock', 'BlockQuote'],
     * popupWidth: '300px',
     * popupHeight: '320px'
     * }
     */
    slashMenuSettings?: SlashMenuSettingsModel;
    /**
     * Specifies the items to be rendered in the quick toolbar based on the target element.
     * Properties:
     * * enable: Boolean to show or hide the quick toolbar.
     * * actionOnScroll: Options for quick toolbar behavior on scroll:
     *   1. hide: The quick toolbar closes when the parent element is scrolled.
     *   2. none: The quick toolbar stays open even if the parent element is scrolled.
     * * link: Specifies items in the quick toolbar for links ('Open', 'Edit', 'UnLink').
     * * image: Specifies items in the quick toolbar for images ('Replace', 'Align', 'Caption', 'Remove', 'InsertLink', 'Display', 'AltText', 'Dimension').
     * * text: Specifies items in the quick toolbar for text ('Cut', 'Copy', 'Paste').
     * * audio: Specifies items for audio ('AudioReplace', 'AudioRemove', 'AudioLayoutOption').
     * * video: Specifies items for video ('VideoReplace', 'VideoAlign', 'VideoRemove', 'VideoLayoutOption', 'VideoDimension').
     *
     * {% codeBlock src='rich-text-editor/quick-toolbar-settings/index.md' %}{% endcodeBlock %}
     *
     * @default
     * {
     * enable: true,
     * actionOnScroll: 'hide',
     * link: ['Open', 'Edit', 'UnLink'],
     * image: ['Replace', 'Align', 'Caption', 'Remove', '-', 'InsertLink', 'Display', 'AltText', 'Dimension'],
     * audio: ['AudioReplace', 'AudioRemove', 'AudioLayoutOption'],
     * video: ['VideoReplace', 'VideoAlign', 'VideoRemove', 'VideoLayoutOption', 'VideoDimension'],
     * }
     */
    quickToolbarSettings?: QuickToolbarSettingsModel;
    /**
     * Configures paste options in the Rich Text Editor.
     * Properties:
     * * prompt: Boolean to enable or disable paste prompt.
     * * deniedAttrs: Attributes to restrict during paste.
     * * allowedStyleProps: Style properties allowed when pasting.
     * * deniedTags: Tags to restrict when pasting.
     * * keepFormat: Boolean to keep or remove format when pasting.
     * * plainText: Boolean to paste as plain text.
     *
     * {% codeBlock src='rich-text-editor/paste-cleanup-settings/index.md' %}{% endcodeBlock %}
     *
     * @default
     * {
     * prompt: false,
     * deniedAttrs: null,
     * allowedStyleProps: ['background', 'background-color', 'border', 'border-bottom', 'border-left', 'border-radius',
     * 'border-right', 'border-style', 'border-top', 'border-width', 'clear', 'color', 'cursor',
     * 'direction', 'display', 'float', 'font', 'font-family', 'font-size', 'font-weight', 'font-style',
     * 'height', 'left', 'line-height', 'list-style-type', 'margin', 'margin-top', 'margin-left',
     * 'margin-right', 'margin-bottom', 'max-height', 'max-width', 'min-height', 'min-width',
     * 'overflow', 'overflow-x', 'overflow-y', 'padding', 'padding-bottom', 'padding-left', 'padding-right',
     * 'padding-top', 'position', 'right', 'table-layout', 'text-align', 'text-decoration', 'text-transform', 'text-indent',
     * 'top', 'vertical-align', 'visibility', 'white-space', 'width', 'flex-direction'],
     * deniedTags: null,
     * keepFormat: true,
     * plainText:  false
     * }
     */
    pasteCleanupSettings?: PasteCleanupSettingsModel;
    /**
     * Configures the format painter options in the Rich Text Editor.
     * Properties:
     * * allowedFormats: Tags selectors that allow format copying.
     * * deniedFormats: Tag selectors that prevent format copying.
     *
     * {% codeBlock src='rich-text-editor/format-painter-settings/index.md' %}{% endcodeBlock %}
     *
     * @default
     * {
     * allowedFormats: 'b;
 em;
 font;
 sub;
 sup;
 kbd;
 i;
 s;
 u;
 code;
 strong;
 span;
 p;
 div;
 h1;
 h2;
 h3;
 h4;
 h5;
 h6;
 blockquote;
 ol;
 ul;
 li;
 pre;
',
     * deniedFormats: null
     * }
     */
    formatPainterSettings?: FormatPainterSettingsModel;
    /**
     * Configures emoji picker options in the Rich Text Editor.
     * Properties:
     * * iconsSet: Array representing emoji icons.
     * * showSearchBox: Enables/disables the search box.
     *
     *
     */
    emojiPickerSettings?: EmojiSettingsModel;
    /**
     * Configures iframe mode items in the Rich Text Editor.
     * Properties:
     * * enable: Boolean to place editor content in an iframe, isolating it from the page.
     * * base.attributes: Custom style for displaying content inside the iframe. Applied to iframe body.
     * * resources: Adds styles and scripts to the iframe.
     *   1. styles[]: Array of CSS files for the iframe content.
     *   2. scripts[]: Array of JS script files for the iframe.
     * * metaTags[]: Array of meta tags for iframe's head, setting metadata (http-equiv, charset, etc.).
     * * sandbox: String array defining iframe sandbox base.attributes, controlling security restrictions. Default includes "allow-same-origin".
     *
     * {% codeBlock src='rich-text-editor/iframe-settings/index.md' %}{% endcodeBlock %}
     *
     * @default
     * {
     * enable: false,
     * base.attributes: null,
     * resources: { styles: [], scripts: [] },
     * metaTags: [],
     * sandbox: null,
     * }
     */
    iframeSettings?: IFrameSettingsModel;
    /**
     * Specifies the options for inserting images in the Rich Text Editor. Includes properties such as:
     * - `allowedTypes`: Specifies the allowed image file extensions as a comma-separated list (e.g., '.jpg', '.png').
     * - `display`: Sets the default display mode for an inserted image, either 'inline' or 'block'.
     * - `width`: Specifies the default width for an inserted image.
     * - `saveFormat`: Indicates the format for storing images in the editor (Base64 or Blob).
     *   > Select Base64 for numerous small images without a specific physical storage location.
     * - `height`: Defines the default height for an inserted image.
     * - `saveUrl`: Specifies the URL for the service that handles image upload and storage on the server.
     * - `path`: Determines the storage location for images and their display path.
     *
     * {% codeBlock src='rich-text-editor/insert-image-settings/index.md' %}{% endcodeBlock %}
     *
     * @default
     * {
     *   allowedTypes: ['.jpeg', '.jpg', '.png'],
     *   display: 'inline',
     *   width: 'auto',
     *   height: 'auto',
     *   saveFormat: 'Blob',
     *   saveUrl: null,
     *   path: null
     * }
     */
    insertImageSettings?: ImageSettingsModel;
    /**
     * The `serviceUrl` property specifies the server endpoint URL where the uploaded Word file will be processed.
     *
     * @default
     * {
     *   serviceUrl: null
     * }
     */
    /**
     * Defines file1 export options for the Rich Text Editor with properties like:
     * - `serviceurl`: The URL utilized for exporting editor content to Word files.
     * - `fileName`: Designates the default name for exported Word files.
     * - `stylesheet`: Applies a stylesheet to the exported Word file.
     *
     * @default
     * {
     *   serviceUrl: null,
     *   fileName: Sample.docx,
     *   stylesheet: null
     * }
     */
    exportWord?: ExportWordModel;
    /**
     * Describes file1 export options to PDF in the Rich Text Editor, such as:
     * - `serviceurl`: URL used for exporting content to PDF format.
     * - `fileName`: Specifies the default PDF file name upon export.
     * - `stylesheet`: Applies a stylesheet to the exported PDF file.
     *
     * @default
     * {
     *   serviceUrl: null,
     *   fileName: 'Sample.pdf',
     *   stylesheet: null
     * }
     */
    exportPdf?: ExportPdfModel;
    /**
     * Defines the options for inserting audio files in the Rich Text Editor, including properties such as:
     * - `allowedTypes`: Specifies the file extensions for audio files allowed to be inserted, listed as a comma-separated string (e.g., '.wav', '.mp3').
     * - `layoutOption`: Sets the default layout for audio files when inserted into the Rich Text Editor. The options are 'Inline' and 'Break'.
     * - `saveFormat`: Determines the format used to store audio files in the Rich Text Editor, either 'Base64' or 'Blob'.
     *   > Choose 'Base64' for frequently inserted small audio files without the need for a specific storage location.
     * - `saveUrl`: Provides the service URL responsible for handling audio file uploads and storage on the server.
     * - `path`: Specifies the storage path for audio files and the reference for displaying them.
     *
     * @default
     * {
     *   allowedTypes: ['.wav', '.mp3', '.m4a', '.wma'],
     *   layoutOption: 'Inline',
     *   saveFormat: 'Blob',
     *   saveUrl: null,
     *   path: null
     * }
     */
    insertAudioSettings?: AudioSettingsModel;
    /**
     * Specifies video insert options in the Rich Text Editor, detailing properties such as:
     * - `allowedTypes`: Allowed video file extensions as a comma-separated list (e.g., '.mp4', '.mov').
     * - `layoutOption`: Determines the display mode for videos ('Inline' or 'Break').
     * - `width`: Sets default width for inserted videos.
     * - `saveFormat`: Format for storing video files (Base64 or Blob).
     *   > Select Base64 for numerous small video inserts without defined storage requirements.
     * - `height`: Sets default height for inserted videos.
     * - `saveUrl`: URL of the service for handling video uploads and server storage.
     * - `path`: Identifies the path for storing and displaying videos.
     *
     * @default
     * {
     *   allowedTypes: ['.mp4', '.mov', '.wmv', '.avi'],
     *   layoutOption: 'Inline',
     *   width: 'auto',
     *   height: 'auto',
     *   saveFormat: 'Blob',
     *   saveUrl: null,
     *   path: null
     * }
     */
    insertVideoSettings?: VideoSettingsModel;
    /**
     * Specifies the options for inserting tables in the Rich Text Editor, featuring properties like:
     * - `styles`: Automatically appends a CSS class to tables for consistent styling.
     * - `width`: Defines default table width upon insertion.
     * - `minWidth`: Sets the minimum width for inserted tables.
     * - `maxWidth`: Indicates the maximum permissible width for tables.
     * - `resize`: Enables or disables table resizing functionality.
     *
     * {% codeBlock src='rich-text-editor/table-settings/index.md' %}{% endcodeBlock %}
     *
     * @default
     * {
     *   width: '100%',
     *   styles: [
     *     { text: 'Dashed Borders', class: 'e-dashed-borders', command: 'Table', subCommand: 'Dashed' },
     *     { text: 'Alternate Rows', class: 'e-alternate-rows', command: 'Table', subCommand: 'Alternate' }
     *   ],
     *   resize: true,
     *   minWidth: 0,
     *   maxWidth: null
     * }
     */
    tableSettings?: TableSettingsModel;
    /**
     * Keeps the toolbar fixed at the top of the Rich Text Editor during scrolling and specifies the
     * toolbar's offset from the document's top position.
     *
     * @default 0
     */
    floatingToolbarOffset?: number;
    /**
     * Configures the inline edit mode for the Rich Text Editor with the following options:
     * - `enable`: A boolean value to enable or disable the inline edit mode.
     * - `onSelection`: Determines how the toolbar is activated:
     *   - If set to `true`, the toolbar appears inline upon text selection.
     *   - If set to `false`, the toolbar opens when clicking on the target element.
     *
     * {% codeBlock src='rich-text-editor/inline-mode/index.md' %}{% endcodeBlock %}
     *
     * @default
     * {
     *   enable: false,
     *   onSelection: true
     * }
     */
    inlineMode?: InlineModeModel;
    /**
     * Defines image manager options in the Rich Text Editor with the following base.attributes:
     * - `enable`: Boolean to enable or disable the image manager.
     * - `ajaxSettings`: Configures AJAX settings for image handling.
     * - `contextMenuSettings`: Manages context menu availability and options.
     * - `navigationPaneSettings`: Sets up the navigation pane display and contents.
     * - `toolbarSettings`: Specifies toolbar configuration and visible items.
     * - `uploadSettings`: Manages upload-specific configurations.
     *
     * @default
     * {
     *   enable: false,
     *   path: '/',
     *   ajaxSettings: { getImageUrl: null, url: null, uploadUrl: null },
     *   contextMenuSettings: {
     *     visible: true,
     *     file: ['Open', '|', 'Cut', 'Copy', '|', 'Delete', 'Rename', '|', 'Details'],
     *     folder: ['Open', '|', 'Cut', 'Copy', 'Paste', '|', 'Delete', 'Rename', '|', 'Details'],
     *     layout: ['SortBy', 'View', 'Refresh', '|', 'Paste', '|', 'NewFolder', 'Upload', '|', 'Details', '|', 'SelectAll']
     *   },
     *   navigationPaneSettings: {
     *     visible: true,
     *     items: ['NewFolder', 'Upload', 'Cut', 'Copy', 'Paste', 'Delete', 'Download',
     *       'Rename', 'SortBy', 'Refresh', 'Selection', 'View', 'Details']
     *   },
     *   toolbarSettings: { visible: true, items: ['Upload', 'NewFolder'] },
     *   uploadSettings: { autoUpload: true, minFileSize: 0, maxFileSize: 30000000, allowedExtensions: '', autoClose: false }
     * }
     */
    fileManagerSettings?: FileManagerSettingsModel;
    /**
     * Specifies the width of the Rich Text Editor.
     *
     * @default '100%'
     */
    width?: string | number;
    /**
     * Enables or disables the persistence of the component's state between page reloads.
     * If enabled, the value of the Rich Text Editor is retained.
     *
     * {% codeBlock src='rich-text-editor/enable-persistence/index.md' %}{% endcodeBlock %}
     *
     * @default false
     */
    enablePersistence?: boolean;
    /**
     * Configures whether a tooltip should be displayed for the Rich Text Editor toolbar.
     *
     * @default true
     */
    showTooltip?: boolean;
    /**
     * Enables or disables the resizing option in the editor.
     * When enabled, the editor can be resized by dragging the resize icon in its bottom right corner.
     *
     * {% codeBlock src='rich-text-editor/enable-resize/index.md' %}{% endcodeBlock %}
     *
     * @default false
     */
    enableResize?: boolean;
    /**
     * Allows specifying additional HTML base.attributes like title, name, etc.
     * Accepts multiple base.attributes in a key-value pair format.
     *
     * @default {}
     */
    htmlAttributes?: { [key: string]: string };
    /**
     * Specifies the placeholder text for the content area of the RichTextEditor when it is empty.
     *
     * @default null
     */
    placeholder?: string;
    /**
     * Enables or disables the auto-save option, which performs the save action during idle states after content changes.
     * If enabled, the editor will save content in idle state based on the `saveInterval` property's value.
     * The change event is triggered if the content has been modified since the last saved state.
     *
     * @default false
     */
    autoSaveOnIdle?: boolean;
    /**
     * Disables user interactions on the component when set to true.
     *
     * @default false
     */
    readonly?: boolean;
    /**
     * Indicates whether the component is enabled or disabled.
     *
     * {% codeBlock src='rich-text-editor/enabled/index.md' %}{% endcodeBlock %}
     *
     * @default true
     */
    enabled?: boolean;
    /**
     * Indicates whether to allow cross-site scripting (XSS) or not.
     *
     * @default true
     */
    enableHtmlSanitizer?: boolean;
    /**
     * Determines if source code should be displayed in an encoded format.
     *
     * @default false
     */
    enableHtmlEncode?: boolean;
    /**
     * Indicates whether XHTML is enabled or not.
     *
     * @default false
     */
    enableXhtml?: boolean;
    /**
     * Specifies the height of the Rich Text Editor component.
     *
     * @default "auto"
     */
    height?: string | number;
    /**
     * Specifies the CSS class name appended to the root element of the RichTextEditor.
     * Multiple custom CSS classes can be added.
     *
     * @default null
     */
    cssClass?: string;
    /**
     * Specifies the initial content to be displayed in the RichTextEditor's content area. It should be a string.
     * The editor's content can also be dynamically loaded from a database, AJAX, etc.
     *
     * {% codeBlock src='rich-text-editor/value/index.md' %}{% endcodeBlock %}
     *
     * @default null
     */
    value?: string;
    /**
     * Specifies the tag to be inserted when the enter key is pressed.
     *
     * - `P`: Pressing enter inserts a `p` tag. The default value will be `<p><br></p>`.
     * - `DIV`: Inserts a `div` tag instead of the default `P` tag.
     * - `BR`: Inserts a `br` tag instead of the default `P` tag.
     *
     * @default 'P'
     */
    enterKey?: EnterKey;
    /**
     * Specifies tags to be inserted when the Shift + Enter keys are pressed.
     *
     * - `BR` - When the Shift + Enter key is pressed, a `br` tag will be inserted, which is the default behavior.
     * - `P` - When the Shift + Enter key is pressed, a `p` tag will be inserted instead of the default `br` tag.
     * - `DIV` - When the Shift + Enter key is pressed, a `div` tag will be inserted instead of the default `br` tag.
     *
     * @default 'BR'
     */
    shiftEnterKey?: ShiftEnterKey;
    /**
     * Specifies the number of undo history steps stored in the undo/redo manager.
     *
     * {% codeBlock src='rich-text-editor/undo-redo-steps/index.md' %}{% endcodeBlock %}
     *
     * @default 30
     */
    undoRedoSteps?: number;
    /**
     * Specifies the interval time in milliseconds for storing actions in the undo/redo manager.
     * The minimum value is 300 milliseconds.
     *
     * @default 300
     */
    undoRedoTimer?: number;
    /**
     * Defines the mode of the RichTextEditor.
     *
     * - `HTML`: Render as an HTML editor using an `<IFRAME>`, content editable `<div>`, or `<textarea>`.
     * - `Markdown`: Render as a Markdown editor using a `<textarea>`.
     *
     * @default 'HTML'
     */
    editorMode?: EditorMode;
    /**
     * Customizes key actions in the RichTextEditor.
     * For example, German keyboard users can customize key actions using these shortcuts.
     *
     * {% codeBlock src='rich-text-editor/keyconfig/index.md' %}{% endcodeBlock %}
     *
     * @default null
     */
    keyConfig?: { [key: string]: string };
    /**
     * Enables or disables the display of the character counter.
     *
     * {% codeBlock src='rich-text-editor/show-char-count/index.md' %}{% endcodeBlock %}
     *
     * @default false
     */
    showCharCount?: boolean;
    /**
     * Allows the tab key action in the Rich Text Editor content.
     *
     * {% codeBlock src='rich-text-editor/enable-tab-key/index.md' %}{% endcodeBlock %}
     *
     * @default false
     */
    enableTabKey?: boolean;
    /**
     * Enable `enableAutoUrl` to accept the given URL (relative or absolute) without validating the URL for hyperlinks.
     * Otherwise, the given URL will automatically convert to an absolute path URL by prefixing it with `https://` for hyperlinks.
     *
     * {% codeBlock src='rich-text-editor/enable-autourl/index.md' %}{% endcodeBlock %}
     *
     * @default false
     */
    enableAutoUrl?: boolean;
    /**
     * Specifies the maximum number of characters allowed in the Rich Text Editor.
     *
     * {% codeBlock src='rich-text-editor/max-length/index.md' %}{% endcodeBlock %}
     *
     * @default -1
     */
    maxLength?: number;
    /**
     * Predefines a collection of paragraph styles along with quote and code styles
     * that populate the format dropdown in the toolbar.
     *
     * {% codeBlock src='rich-text-editor/format/index.md' %}{% endcodeBlock %}
     *
     * @default
     * {
     * default: 'Paragraph',
     * width: '65px',
     * types: [
     * { text: 'Paragraph', value: 'P'},
     * { text: 'Heading 1', value: 'H1' },
     * { text: 'Heading 2', value: 'H2' },
     * { text: 'Heading 3', value: 'H3' },
     * { text: 'Heading 4', value: 'H4' },
     * { text: 'Heading 5', value: 'H5' },
     * { text: 'Heading 6', value: 'H6' },
     * { text: 'Preformatted', value: 'Pre' }
     * ]
     * }
     */
    format?: FormatModel;
    /**
     * Predefines advanced list types that populate the numberFormatList dropdown in the toolbar.
     *
     * @default
     * {
     * types: [
     * { text: 'None', value: 'none' },
     * { text: 'Number', value: 'decimal' },
     * { text: 'Lower Greek', value: 'lowerGreek' },
     * { text: 'Lower Roman', value: 'lowerRoman' },
     * { text: 'Upper Alpha', value: 'upperAlpha' },
     * { text: 'Lower Alpha', value: 'lowerAlpha' },
     * { text: 'Upper Roman', value: 'upperRoman' }
     * ]
     * }
     */
    numberFormatList?: NumberFormatListModel;
    /**
     * Predefines advanced list types that populate the bulletFormatList dropdown in the toolbar.
     *
     * @default
     * {
     * types: [
     * { text: 'None', value: 'none' },
     * { text: 'Disc', value: 'disc' },
     * { text: 'Circle', value: 'circle' },
     * { text: 'Square', value: 'square' }
     * ]
     * }
     */
    bulletFormatList?: BulletFormatListModel;
    /**
     * Predefines font families that populate the font family dropdown in the toolbar.
     *
     * {% codeBlock src='rich-text-editor/font-family/index.md' %}{% endcodeBlock %}
     *
     * @default
     * {
     * default: 'Segoe UI',
     * width: '65px',
     * items: [
     * { text: 'Segoe UI', value: 'Segoe UI' },
     * { text: 'Arial', value: 'Arial,Helvetica,sans-serif' },
     * { text: 'Courier New', value: 'Courier New,Courier,monospace' },
     * { text: 'Georgia', value: 'Georgia,serif' },
     * { text: 'Impact', value: 'Impact,Charcoal,sans-serif' },
     * { text: 'Lucida Console', value: 'Lucida Console,Monaco,monospace' },
     * { text: 'Tahoma', value: 'Tahoma,Geneva,sans-serif' },
     * { text: 'Times New Roman', value: 'Times New Roman,Times,serif' },
     * { text: 'Trebuchet MS', value: 'Trebuchet MS,Helvetica,sans-serif' },
     * { text: 'Verdana', value: 'Verdana,Geneva,sans-serif' }
     * ]
     * }
     */
    fontFamily?: FontFamilyModel;
    /**
     * Defines the predefined font sizes that populate the font size dropdown in the toolbar.
     *
     * {% codeBlock src='rich-text-editor/font-size/index.md' %}{% endcodeBlock %}
     *
     * @default
     * {
     * default: '10pt',
     * 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;
    /**
     * Defines the color palette for the font color toolbar command.
     *
     * {% codeBlock src='rich-text-editor/font-color/index.md' %}{% endcodeBlock %}
     *
     * @default
     * {
     * columns: 10,
     * colorCode: {
     * 'Custom': [
     * '', '#000000', '#e7e6e6', '#44546a', '#4472c4', '#ed7d31', '#a5a5a5', '#ffc000', '#70ad47', '#ff0000',
     * '#f2f2f2', '#808080', '#cfcdcd', '#d5dce4', '#d9e2f3', '#fbe4d5', '#ededed', '#fff2cc', '#e2efd9', '#ffcccc',
     * '#d9d9d9', '#595959', '#aeaaaa', '#acb9ca', '#b4c6e7', '#f7caac', '#dbdbdb', '#ffe599', '#c5e0b3', '#ff8080',
     * '#bfbfbf', '#404040', '#747070', '#8496b0', '#8eaadb', '#f4b083', '#c9c9c9', '#ffd966', '#a8d08d', '#ff3333',
     * '#a6a6a6', '#262626', '#3b3838', '#323e4f', '#2f5496', '#c45911', '#7b7b7b', '#bf8f00', '#538135', '#b30000',
     * '#7f7f7f', '#0d0d0d', '#161616', '#212934', '#1f3763', '#823b0b', '#525252', '#7f5f00', '#375623', '#660000']
     * }
     * }
     */
    fontColor?: FontColorModel;
    /**
     * Defines the color palette for the background color (text highlight color) toolbar command.
     *
     * {% codeBlock src='rich-text-editor/background-color/index.md' %}{% endcodeBlock %}
     *
     * @default
     * {
     * columns: 5,
     * colorCode: {
     * 'Custom': ['#ffff00', '#00ff00', '#00ffff', '#ff00ff', '#0000ff', '#ff0000',
     * '#000080', '#008080', '#008000', '#800080', '#800000', '#808000',
     * '#c0c0c0', '#000000', '']
     * }
     * }
     */
    backgroundColor?: BackgroundColorModel;
    /**
     * Accepts a template design and assigns it as the content of the Rich Text Editor.
     * The built-in template engine provides options to base.compile a template string into an executable function.
     * For example, it supports expression evaluation similar to ES6 template string literals.
     *
     * {% codeBlock src='rich-text-editor/value-template/index.md' %}{% endcodeBlock %}
     *
     * @default null
     * @aspType string
     */
    valueTemplate?: string | Function;
    /**
     * Specifies the save interval in milliseconds for automatically saving the content.
     * The change event is triggered if the content changes from the last saved interval.
     *
     * {% codeBlock src='rich-text-editor/save-interval/index.md' %}{% endcodeBlock %}
     *
     * @default 10000
     */
    saveInterval?: number;
    /**
     * This event triggers before executing a command via toolbar items.
     * Cancel this event to prevent the command from executing by setting the `cancel` argument to `true`.
     *
     * @event 'actionBegin'
     */
    actionBegin?: base.EmitType<ActionBeginEventArgs>;
    /**
     * This event triggers after executing a command via toolbar items.
     *
     * @event 'actionComplete'
     */
    actionComplete?: base.EmitType<ActionCompleteEventArgs>;
    /**
     * This event triggers before a dialog is opened.
     * Cancel this event to prevent the dialog from opening by setting the `cancel` argument to `true`.
     *
     * @event 'beforeDialogOpen'
     */
    beforeDialogOpen?: base.EmitType<popups.BeforeOpenEventArgs>;
    /**
     * This event triggers when a dialog is opened.
     *
     * @event 'dialogOpen'
     */
    dialogOpen?: base.EmitType<Object>;
    /**
     * This event triggers before a dialog is closed.
     * Cancel this event to prevent the dialog from closing by setting the `cancel` argument to `true`.
     *
     * @event 'beforeDialogClose'
     */
    beforeDialogClose?: base.EmitType<popups.BeforeCloseEventArgs>;
    /**
     * This event triggers after a dialog has been closed.
     *
     * @event 'dialogClose'
     */
    dialogClose?: base.EmitType<Object>;
    /**
     * This event triggers before the quick toolbar opens.
     *
     * @event 'beforeQuickToolbarOpen'
     */
    beforeQuickToolbarOpen?: base.EmitType<BeforeQuickToolbarOpenArgs>;
    /**
     * This event triggers when the quick toolbar is opened.
     *
     * @event 'quickToolbarOpen'
     */
    quickToolbarOpen?: base.EmitType<Object>;
    /**
     * This event triggers after the quick toolbar has been closed.
     *
     * @event 'quickToolbarClose'
     */
    quickToolbarClose?: base.EmitType<Object>;
    /**
     * This event is deprecated and no longer works. Use the `updatedToolbarStatus` event for undo/redo status.
     *
     * @deprecated
     * @event 'toolbarStatusUpdate'
     */
    toolbarStatusUpdate?: base.EmitType<Object>;
    /**
     * This event triggers when the toolbar items status is updated.
     *
     * @event 'updatedToolbarStatus'
     */
    updatedToolbarStatus?: base.EmitType<ToolbarStatusEventArgs>;
    /**
     * This event triggers when an image is selected or dragged into the insert image dialog.
     *
     * @event 'imageSelected'
     */
    imageSelected?: base.EmitType<inputs.SelectedEventArgs>;
    /**
     * This event triggers before the image upload process starts.
     *
     * @event 'beforeImageUpload'
     */
    beforeImageUpload?: base.EmitType<inputs.BeforeUploadEventArgs>;
    /**
     * This event triggers when an image upload begins in the insert image dialog.
     * It provides access to the upload details through the event arguments.
     *
     * @event 'imageUploading'
     */
    imageUploading?: base.EmitType<inputs.UploadingEventArgs>;
    /**
     * This event triggers when an image has been successfully uploaded to the server side.
     *
     * @event 'imageUploadSuccess'
     */
    imageUploadSuccess?: base.EmitType<ImageSuccessEventArgs>;
    /**
     * This event triggers when there is an error during image upload.
     *
     * @event 'imageUploadFailed'
     */
    imageUploadFailed?: base.EmitType<ImageFailedEventArgs>;
    /**
     * This event triggers when a selected image is removed from the insert image dialog.
     *
     * @event 'imageRemoving'
     */
    imageRemoving?: base.EmitType<inputs.RemovingEventArgs>;
    /**
     * This event triggers when a selected image is removed from the Rich Text Editor content.
     *
     * @event 'afterImageDelete'
     */
    afterImageDelete?: base.EmitType<AfterImageDeleteEventArgs>;
    /**
     * This event triggers when media is selected or dragged into the insert media audio/video dialog.
     *
     * @event 'fileSelected'
     */
    fileSelected?: base.EmitType<inputs.SelectedEventArgs>;
    /**
     * This event triggers before the media audio/video upload process starts.
     *
     * @event 'beforeFileUpload'
     */
    beforeFileUpload?: base.EmitType<inputs.BeforeUploadEventArgs>;
    /**
     * This event triggers when media begins uploading in the insert media audio/video dialog.
     *
     * @event 'fileUploading'
     */
    fileUploading?: base.EmitType<inputs.UploadingEventArgs>;
    /**
     * This event triggers when media has been successfully uploaded to the server side.
     *
     * @event 'fileUploadSuccess'
     */
    fileUploadSuccess?: base.EmitType<Object>;
    /**
     * This event triggers when there is an error during media upload.
     *
     * @event 'fileUploadFailed'
     */
    fileUploadFailed?: base.EmitType<Object>;
    /**
     * This event triggers when selected media is removed from the insert audio/video dialog.
     *
     * @event 'fileRemoving'
     */
    fileRemoving?: base.EmitType<inputs.RemovingEventArgs>;
    /**
     * This event triggers when selected media is removed from the Rich Text Editor content.
     *
     * @event 'afterMediaDelete'
     */
    afterMediaDelete?: base.EmitType<AfterMediaDeleteEventArgs>;
    /**
     * This event triggers when the Rich Text Editor is rendered.
     *
     * @event 'created'
     */
    created?: base.EmitType<Object>;
    /**
     * This event triggers when the Rich Text Editor is destroyed.
     *
     * @event 'destroyed'
     */
    destroyed?: base.EmitType<Object>;
    /**
     * This event triggers before sanitizing the value. Applicable only when `editorMode` is `HTML`.
     *
     * @event 'beforeSanitizeHtml'
     */
    beforeSanitizeHtml?: base.EmitType<BeforeSanitizeHtmlArgs>;
    /**
     * This event triggers when the Rich Text Editor loses focus.
     *
     * @event 'blur'
     */
    blur?: base.EmitType<Object>;
    /**
     * This event triggers when a Rich Text Editor toolbar item is clicked.
     *
     * @event 'toolbarClick'
     */
    toolbarClick?: base.EmitType<Object>;
    /**
     * This event triggers when the Rich Text Editor gains focus.
     *
     * @event 'focus'
     */
    focus?: base.EmitType<Object>;
    /**
     * This event triggers when the Rich Text Editor loses focus and changes have been made to the content.
     *
     * @event 'change'
     */
    change?: base.EmitType<ChangeEventArgs>;
    /**
     * This event triggers when resizing elements such as tables, images, videos, and the overall Rich Text Editor.
     *
     * @event 'resizing'
     */
    resizing?: base.EmitType<ResizeArgs>;
    /**
     * This event triggers when resizing starts for various elements including tables, images, videos, and the overall editor.
     *
     * @event 'resizeStart'
     */
    resizeStart?: base.EmitType<ResizeArgs>;
    /**
     * This event triggers when resizing stops for various elements including tables, images, videos, and the overall editor.
     *
     * @event 'resizeStop'
     */
    resizeStop?: base.EmitType<ResizeArgs>;
    /**
     * This event triggers before cleaning up copied content.
     *
     * @event 'beforePasteCleanup'
     */
    beforePasteCleanup?: base.EmitType<PasteCleanupArgs>;
    /**
     * This event triggers after cleaning up copied content.
     *
     * @event 'afterPasteCleanup'
     */
    afterPasteCleanup?: base.EmitType<object>;
    /**
     * This event triggers before an image is dropped.
     *
     * @event 'beforeImageDrop'
     */
    beforeImageDrop?: base.EmitType<ImageDropEventArgs>;
    /**
     * Customize the `keyCode` to change the key value.
     *
     * {% codeBlock src='rich-text-editor/formatter/index.md' %}{% endcodeBlock %}
     *
     * @default null
     */
    formatter?: IFormatter;
    /**
     * This event triggers when a slash menu item in the popup is selected by the user using mouse, tap, or keyboard navigation.
     *
     * @event 'slashMenuItemSelect'
     */
    slashMenuItemSelect?: base.EmitType<SlashMenuItemSelectArgs>;
}
//node_modules/@syncfusion/ej2-richtexteditor/src/rich-text-editor/base/interface.d.ts
/**
 * Specifies Rich Text Editor interfaces.
 *
 * @hidden
 * @deprecated
 */
export interface IRichTextEditor extends base.Component<HTMLElement> {
    /**
     * Provides data about the user agent, platform and then whether its a mobile device.
     *
     * @hidden
     *
     */
    userAgentData: CustomUserAgentData;
    /**
     * Specifies the root container of the Rich Text Editor component.
     *
     **/
    rootContainer: 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;
    /**
     *
     * @default
     * {
     * serviceUrl:null,
     * }
     */
    /**
     * Configures the export word of the RTE.
     *
     * @default
     * {
     * serviceUrl:null, fileName:Sample.docx, stylesheet: null,
     * }
     */
    exportWord: ExportWordModel;
    /**
     * Configures the export pdf of the RTE.
     *
     * @default
     * {
     * serviceUrl:null, fileName:Sample.pdf, stylesheet: null,
     * }
     */
    exportPdf: ExportPdfModel;
    /**
     * Configures the image settings of the RTE.
     *
     * @default
     * {
     * allowedTypes: ['wav', 'mp3', 'm4a','wma'],
     * layoutOption: 'Inline', saveFormat: 'Blob',
     * saveUrl:null, path: null,
     * }
     */
    insertAudioSettings: AudioSettingsModel;
    /**
     * Configures the video settings of the RTE.
     *
     * @default
     * {
     * allowedTypes: ['mp4', 'mov', 'wmv', 'avi'],
     * layoutOption: 'Inline', width: '200px', saveFormat: 'Blob',
     * height: '200px', saveUrl:null, path: null, resize: false
     * }
     */
    insertVideoSettings: VideoSettingsModel;
    fileManagerSettings: FileManagerSettingsModel;
    tableSettings: TableSettingsModel;
    pasteCleanupSettings: PasteCleanupSettingsModel;
    /**
     * Configure the format painter settings of the RTE.
     *
     * @default
     * {
     * allowedFormats: 'b;
 em;
 font;
 sub;
 sup;
 kbd;
 i;
 s;
 u;
 code;
 strong;
 span;
 p;
 div;
 h1;
 h2;
 h3;
 h4;
 h5;
 h6;
 blockquote;
 table;
 thead;
 tbody;
 tr;
 td;
 th;
 ol;
 ul;
 li;
 pre;
',
     * deniedFormats: null
     * }
     */
    formatPainterSettings: FormatPainterSettingsModel;
    emojiPickerSettings: EmojiSettingsModel;
    floatingToolbarOffset?: number;
    showCharCount?: boolean;
    enableTabKey?: boolean;
    maxLength?: number;
    inlineMode?: InlineModeModel;
    width?: string | number;
    height?: string | number;
    fontFamily?: IFontProperties;
    fontSize?: IFontProperties;
    fontColor?: IColorProperties;
    numberFormatList?: INumberFormatListPropertiesProperties;
    bulletFormatList?: IBulletFormatListPropertiesProperties;
    backgroundColor?: IColorProperties;
    format?: IFormatProperties;
    value?: string;
    saveInterval?: number;
    showTooltip?: boolean;
    isBlur?: boolean;
    isRTE?: boolean;
    contentModule?: IRenderer;
    enabled?: boolean;
    readonly?: boolean;
    placeholder?: string;
    cssClass?: string;
    valueContainer?: HTMLTextAreaElement;
    editorMode?: EditorMode;
    enableHtmlEncode?: boolean;
    formatter?: IFormatter;
    inputElement?: HTMLElement;
    toolbarModule?: Toolbar;
    tableModule?: Table;
    fileManagerModule?: FileManager;
    sourceCodeModule?: ViewSource;
    getToolbarElement?(): Element;
    fullScreenModule?: FullScreen;
    resizeModule?: Resize;
    refreshUI?(): void;
    enterKeyModule?: EnterKeyAction;
    enterKey?: EnterKey;
    shiftEnterKey?: ShiftEnterKey;
    audioModule?: Audio;
    videoModule?: Video;
    pasteCleanupModule?: PasteCleanup;
    undoRedoModule?: UndoRedoManager;
    quickToolbarModule?: QuickToolbar;
    undoRedoSteps?: number;
    markdownEditorModule: MarkdownEditor;
    htmlEditorModule: HtmlEditor;
    countModule?: Count;
    formatPainterModule?: IFormatPainter;
    emojiPickerModule?: EmojiPicker;
    serviceLocator?: ServiceLocator;
    setEnable?(): void;
    setReadOnly?(isInit?: boolean): void;
    setPlaceHolder?(): void;
    updateValue?(): void;
    print(): void;
    getContent?(): Element;
    setRTEContent?(value: Element): void;
    ensureModuleInjected(module: object): boolean;
    getToolbar(): HTMLElement;
    getTBarItemsIndex?(items: string[]): number[];
    getCollection?(items: string | string[]): string[];
    getRange(): Range;
    getID(): string;
    getCssClass(isSpace?: boolean): string;
    getText(): string;
    updateValueData?(): void;
    getBaseToolbarObject(): BaseToolbar;
    keyConfig?: {
        [key: string]: string;
    };
    undoRedoTimer?: number;
    sourceCode?(): void;
    enableToolbarItem?(items: string | string[]): void;
    disableToolbarItem?(items: string | string[]): void;
    wireScrollElementsEvents?(): void;
    unWireScrollElementsEvents?(): void;
    keyDown?(e?: KeyboardEvent): void;
    keyboardModule?: KeyboardEvents;
    onCopy?(): void;
    onCut?(): void;
    onPaste?(): void;
    clipboardAction?: Function;
    localeObj?: base.L10n;
    invokeChangeEvent?(): void;
    addAudioVideoWrapper?(): void;
    preventDefaultResize?(e?: FocusEvent | MouseEvent): void;
    autoResize?(): void;
    executeCommand?(commandName: CommandName, value?: string | HTMLElement): void;
    serializeValue?(value: string): string;
    sanitizeHtml?(value: string): string;
    enableAutoUrl?: boolean;
    enableXhtml?: boolean;
    enableHtmlSanitizer?: boolean;
    getInsertImgMaxWidth?(): string | number;
    getInsertVidMaxWidth?(): string | number;
    getSelection(): string;
    currentTarget: HTMLElement;
    focusIn(): void;
    showEmojiPicker?(x?: number, y?: number): void;
    addAnchorAriaLabel?(value: string): string;
    autoSaveOnIdle: boolean;
    slashMenuSettings: SlashMenuSettingsModel;
    showDialog(type: DialogType): void;
}
/**
 * @deprecated
 */
export interface IRenderer {
    linkQTBar?: BaseQuickToolbar;
    imageQTBar?: BaseQuickToolbar;
    audioQTBar?: BaseQuickToolbar;
    videoQTBar?: BaseQuickToolbar;
    tableQTBar?: BaseQuickToolbar;
    textQTBar?: BaseQuickToolbar;
    inlineQTBar?: BaseQuickToolbar;
    renderPanel?(): void;
    setPanel?(panel: Element): void;
    /**
     * Retrieves the parent element of the content editable div.
     * If the editor is in iframe mode, it returns the `iframe` element.
     * Otherwise, it returns the parent element with the class `e-rte-content`.
     *
     * @returns {Element} - The parent element of the content editable div or the `iframe` element.
     */
    getPanel?(): Element;
    /**
     * Retrieves the content editable `div` element of the RichTextEditor.
     * If the editor is in iframe mode, it returns the `body` element of the iframe.
     *
     */
    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, toobarType?: string): inputs.ColorPicker;
    renderColorPickerDropDown?(args?: IColorPickerModel, item?: string, colorPicker?: inputs.ColorPicker, defaultColor?: string, toobarType?: string): splitbuttons.DropDownButton;
    renderListDropDown?(args: IDropDownModel): splitbuttons.DropDownButton;
}
/**
 * Provides information about a notification event in the rich text editor.
 */
export interface NotifyArgs {
    module?: string;
    args?: KeyboardEvent | MouseEvent | navigations.ClickEventArgs | ClipboardEvent | TouchEvent;
    cancel?: boolean;
    requestType?: string;
    enable?: boolean;
    properties?: object;
    selection?: NodeSelection;
    selfLink?: Link;
    link?: HTMLInputElement;
    selectNode?: Node[];
    selectParent?: Node[];
    url?: string;
    text?: string;
    isWordPaste?: boolean;
    title?: string;
    target?: string;
    member?: string;
    /** Specifies the name of the notifier handling the event. */
    name?: string;
    /** Represents the range of text selection involved in the notification. */
    range?: Range;
    /** Describes the action associated with the notification event. */
    action?: string;
    callBack?(args?: string | IImageCommandsArgs, cropImageData?: {
        [key: string]: string | boolean | number;
    }[], pasteTableSource?: string): void;
    file?: Blob;
    insertElement?: Element;
    touchData?: ITouchData;
    allowedStylePropertiesArray?: string[];
    isPlainPaste?: boolean;
    formatPainterSettings?: FormatPainterSettingsModel;
    emojiPickerSettings?: EmojiSettingsModel;
    ariaLabel?: string;
    /**
     * Defines the source of the Table content.
     *
     * @private
     */
    pasteTableSource?: string;
}
/**
 * Provides information about the current and previous cssClass property .
 */
export interface ICssClassArgs {
    cssClass?: string;
    oldCssClass?: string;
}
/**
 * @deprecated
 */
export interface IItemCollectionArgs {
    /** Defines the instance of the current selection */
    selection?: NodeSelection;
    /** Defines the HTML elements of currently selected content */
    selectNode?: Node[];
    /** Defines the parent HTML elements of current selection */
    selectParent?: Node[];
    /** Defines the URL action details for link element */
    url?: string;
    /** Defines the Display Text action details for link element */
    text?: string;
    /** Defines the title of the link action details */
    title?: string;
    /** Defines the target as string for link element */
    target?: string;
    /** Defines the element to be inserted */
    insertElement?: Element;
}
/**
 * Provides information about a TouchData.
 */
export interface ITouchData {
    prevClientX?: number;
    prevClientY?: number;
    clientX?: number;
    clientY?: number;
}
/**
 * @hidden
 * @deprecated
 */
export interface IFormatPainter {
    /** Stores the previous action. */
    previousAction: string;
    destroy: Function;
}
/**
 * @hidden
 * @deprecated
 */
export interface IColorPickerModel extends inputs.ColorPickerModel {
    element?: HTMLElement;
    value?: string;
    command?: string;
    subCommand?: string;
    target?: string;
    iconCss?: string;
    cssClass?: string;
}
/**
 * @hidden
 * @deprecated
 */
export interface IColorPickerEventArgs extends inputs.ColorPickerEventArgs {
    item?: IColorPickerModel;
    originalEvent: string;
    cancel?: boolean;
}
/**
 * @hidden
 * @deprecated
 */
export interface IDropDownItem extends navigations.ItemModel {
    command?: string;
    subCommand?: string;
    controlParent?: splitbuttons.DropDownButton;
    listImage?: string;
    value?: string;
}
/**
 * @hidden
 * @deprecated
 */
export interface IDropDownClickArgs extends navigations.ClickEventArgs {
    item: IDropDownItem;
}
/**
 * @deprecated
 */
export interface IColorPickerRenderArgs {
    items?: string[];
    containerType?: string;
    container?: HTMLElement;
}
/**
 * @deprecated
 */
export interface IImageNotifyArgs {
    module?: string;
    args?: KeyboardEvent | MouseEvent | navigations.ClickEventArgs | IToolbarItemModel | ClipboardEvent | TouchEvent;
    cancel?: boolean;
    requestType?: string;
    enable?: boolean;
    properties?: object;
    selection?: NodeSelection;
    selfImage?: Image;
    selfAudio?: Audio;
    selfVideo?: Video;
    link?: HTMLInputElement | HTMLElement;
    selectNode?: Node[];
    selectParent?: Node[];
    target?: string;
    alt?: HTMLInputElement | HTMLElement;
    text?: string;
    member?: string;
    name?: string;
    cssClass?: string;
    ariaLabel?: string;
}
/**
 * Represents the details of an image integrated into the Rich Text Editor.
 */
export interface IImageCommandsArgs {
    /** Specifies the `src` attribute of the image. */
    url?: string;
    /** Represents the current selection instance. */
    selection?: NodeSelection;
    /** Specifies the minimum, maximum, and actual width of the image. */
    width?: {
        minWidth?: string | number;
        maxWidth?: string | number;
        width?: string | number;
    };
    /** Specifies the minimum, maximum, and actual height of the image. */
    height?: {
        minHeight?: string | number;
        maxHeight?: string | number;
        height?: string | number;
    };
    /** Describes the alternate text attribute for the image. */
    altText?: string;
    /** Defines the CSS class names to be applied to the image. */
    cssClass?: string;
    /** Refers to the image element that is to be edited. */
    selectParent?: Node[];
}
/**
 * Provides details about an audio element added to the Rich Text Editor.
 */
export interface IAudioCommandsArgs {
    /** Specifies the source URL of the audio. */
    url?: string;
    /** Represents the instance of the current selection within the editor. */
    selection?: NodeSelection;
    /** Specifies the file name of the audio. */
    fileName?: string;
    /** Specifies the CSS class to be applied to the audio element. */
    cssClass?: string;
    /** Represents the selected parent node of the audio element to be edited. */
    selectParent?: Node[];
    /** Specifies the title attribute for the audio element. */
    title?: string;
}
/**
 * Provides details about a video element added to the Rich Text Editor.
 */
export interface IVideoCommandsArgs {
    /** Specifies the source URL of the video. */
    url?: string;
    /** Represents the instance of the current selection within the editor. */
    selection?: NodeSelection;
    /** Defines the minimum, maximum, and current width of the video. */
    width?: {
        minWidth?: string | number;
        maxWidth?: string | number;
        width?: string | number;
    };
    /** Defines the minimum, maximum, and current height of the video. */
    height?: {
        minHeight?: string | number;
        maxHeight?: string | number;
        height?: string | number;
    };
    /** Specifies the file name of the video, which can be a string or a DocumentFragment. */
    fileName?: string | DocumentFragment;
    /** Indicates whether the video link is an embedded URL. */
    isEmbedUrl?: boolean;
    /** Specifies the CSS class to be applied to the video element. */
    cssClass?: string;
    /** Represents the selected parent node of the video element to be edited. */
    selectParent?: Node[];
    /** Specifies the title attribute for the video element. */
    title?: string;
}
/**
 * @deprecated
 */
export interface ImageDragEvent extends DragEvent {
    rangeParent?: Element;
    rangeOffset?: number;
}
/**
 * Provides information about the image drop event in a rich text editor.
 */
export interface ImageDropEventArgs extends DragEvent {
    /** Determines whether the action should be prevented. */
    cancel: boolean;
    /** Refers to the parent element of the drop range. */
    rangeParent?: Element;
    /** Specifies the offset value for the drop range. */
    rangeOffset?: number;
}
/**
 * Provides details about a link added to the Rich Text Editor.
 */
export interface ILinkCommandsArgs {
    /** Specifies the URL attribute of the link. */
    url?: string;
    /** Represents the instance of the current selection. */
    selection?: NodeSelection;
    /** Indicates the title for the link to be inserted. */
    title?: string;
    /** Specifies the text for the link to be inserted. */
    text?: string;
    /** Indicates the target attribute of the link. */
    target?: string;
    /** Identifies the link element to be edited. */
    selectParent?: Node[];
}
/**
 * Provides details about a table added to the Rich Text Editor.
 */
export interface ITableCommandsArgs {
    /**
     * @deprecated
     * This argument deprecated. Use `rows` argument.
     */
    row?: number;
    /** Specifies the number of rows to be inserted in the table. */
    rows?: number;
    /** Specifies the number of columns to be inserted in the table. */
    columns?: number;
    /** Defines the minimum width, maximum width, and width of the table. */
    width?: {
        minWidth?: string | number;
        maxWidth?: string | number;
        width?: string | number;
    };
    /** Represents the instance of the current selection. */
    selection?: NodeSelection;
}
/**
 * @deprecated
 */
export interface IFormatPainterArgs {
    /**
     * Defines the action to be performed.
     * Allowed values are 'format-copy', 'format-paste', 'escape'.
     */
    formatPainterAction: string;
}
export interface IEmojiIcons {
    /** Specifies the description of the emoji icon. */
    desc: string;
    /** Specifies the Unicode representation of the emoji icon. */
    code: string;
}
export interface EmojiIconsSet {
    /** Specifies the name of the category for the Unicode. */
    name: string;
    /** Specifies the Unicode representation of the icon displayed in the emoji picker toolbar item. */
    code: string;
    /** Specifies the CSS class for styling the emoji icon. */
    iconCss?: string;
    /** Specifies the collection of emoji icons. */
    icons: IEmojiIcons[];
}
/**
 * @deprecated
 */
export interface ITableArgs {
    rows?: number;
    columns?: number;
    width?: {
        minWidth?: string | number;
        maxWidth?: string | number;
        width?: string | number;
    };
    selection?: NodeSelection;
    selectNode?: Node[];
    selectParent?: Node[];
    subCommand?: string;
}
/**
 * @deprecated
 */
export interface ITableNotifyArgs {
    module?: string;
    args?: navigations.ClickEventArgs | MouseEvent | base.KeyboardEventArgs | TouchEvent;
    selection?: NodeSelection;
    selectNode?: Node[];
    selectParent?: Node[];
    cancel?: boolean;
    requestType?: string;
    enable?: boolean;
    properties?: object;
    self?: Table;
}
/**
 * Provides information about a EditorModel.
 */
export interface IEditorModel {
    currentDocument?: Document;
    execCommand?: Function;
    observer?: base.Observer;
    markdownSelection?: MarkdownSelection;
    undoRedoManager?: UndoRedoManager | UndoRedoCommands;
    nodeSelection?: NodeSelection;
    mdSelectionFormats?: MDSelectionFormats;
    domNode?: DOMNode;
    nodeCutter?: NodeCutter;
    formatPainterEditor?: IFormatPainterEditor;
    destroy?(): void;
    beforeSlashMenuApplyFormat?(): void;
}
/**
 * Provides information about a ToolbarItems.
 */
export interface IToolbarItems {
    template?: string;
    tooltipText?: string;
    command?: string;
    subCommand?: string;
    undo?: boolean;
    click?: base.EmitType<navigations.ClickEventArgs>;
}
/**
 * @hidden
 * @deprecated
 */
export interface IToolbarItemModel extends navigations.ItemModel {
    command?: string;
    subCommand?: string;
}
/**
 * @deprecated
 */
export interface IToolbarOptions {
    enableRtl: boolean;
    target: HTMLElement;
    items?: navigations.ItemModel[];
    rteToolbarObj: BaseToolbar;
    enablePersistence: boolean;
    overflowMode?: navigations.OverflowMode;
    cssClass?: string;
    type?: string;
}
/**
 * @deprecated
 */
export interface IToolbarSettings {
    enable?: boolean;
    items?: (string | IToolbarItems)[];
    target?: HTMLElement;
    type?: ToolbarType;
}
/**
 * @deprecated
 */
export interface IToolbarRenderOptions {
    target: HTMLElement;
    items?: (string | IToolbarItems)[];
    mode?: navigations.OverflowMode;
    container?: string;
    cssClass?: string;
}
/**
 * @deprecated
 */
export interface IDropDownModel {
    content?: string;
    items: IDropDownItemModel[];
    iconCss?: string;
    itemName: string;
    cssClass: string;
    element: HTMLElement;
    activeElement?: HTMLElement;
}
/**
 * @deprecated
 */
export interface IToolsItems {
    id: string;
    icon?: string;
    tooltip?: string;
    command?: string;
    subCommand?: string;
    value?: string;
}
/**
 * Provides information about a ToolbarItemConfig.
 */
export interface IToolsItemConfigs {
    icon?: string;
    tooltip?: string;
    command?: string;
    subCommand?: string;
    value?: string;
}
/**
 * @hidden
 * @deprecated
 */
export interface IListDropDownModel extends splitbuttons.ItemModel {
    cssClass?: string;
    command?: string;
    subCommand?: string;
    value?: string;
    text?: string;
    listStyle?: string;
    listImage?: string;
}
/**
 * @hidden
 * @deprecated
 */
export interface IDropDownItemModel extends splitbuttons.ItemModel {
    cssClass?: string;
    command?: string;
    subCommand?: string;
    value?: string;
    text?: string;
}
/**
 * Provides detailed information about an ActionComplete event.
 */
export interface ActionCompleteEventArgs {
    /** Specifies the type of the current action. */
    requestType?: string;
    /** Specifies the name of the event. */
    name?: string;
    /** Specifies the current mode of the editor. */
    editorMode?: string;
    /**
     * Defines the selected elements.
     *
     * @deprecated
     */
    elements?: Node[];
    /** Specifies the event associated with the action, such as a mouse or keyboard event. */
    event?: MouseEvent | KeyboardEvent;
    /**
     * Defines the selected range.
     *
     * @deprecated
     */
    range?: Range;
}
/**
 * Provides detailed information about an actionBegin event.
 */
export interface ActionBeginEventArgs {
    /** Specifies the type of the current action. */
    requestType?: string;
    /** Indicates whether to cancel the current action. */
    cancel?: boolean;
    /**
     * Specifies the current toolbar or dropdown item involved in the action.
     *
     * @deprecated
     */
    item?: IToolbarItemModel | IDropDownItemModel;
    /** Specifies the event that initiated the action, such as mouse, keyboard, or drag events. */
    originalEvent?: MouseEvent | KeyboardEvent | DragEvent;
    /** Specifies the name of the event. */
    name?: string;
    /** Specifies whether the selection type is a dropdown. */
    selectType?: string;
    /**
     * Provides details about URL actions.
     *
     * @deprecated
     */
    itemCollection?: IItemCollectionArgs;
    /**
     * Defines the emoji picker details.
     *
     * @deprecated
     */
    emojiPickerArgs?: IEmojiPickerArgs;
    /**
     * Defines the content to be exported.
     *
     * @deprecated
     */
    exportValue?: string;
}
export interface IEmojiPickerArgs {
    emojiSettings: EmojiSettingsModel;
}
/**
 * Provides detailed information about a Print event in the Rich Text Editor (RTE).
 */
export interface PrintEventArgs extends ActionBeginEventArgs {
    /** Defines the Rich Text Editor (RTE) element associated with the Print event. */
    element?: Element;
}
/**
 * @deprecated
 */
export interface IShowPopupArgs {
    args?: MouseEvent | TouchEvent | KeyboardEvent;
    type?: string;
    isNotify: boolean;
    elements?: Element | Element[];
}
/**
 * @deprecated
 */
export interface IUpdateItemsModel {
    targetItem: string;
    updateItem: string;
    baseToolbar: BaseToolbar;
}
/**
 * @deprecated
 */
export interface IDropDownRenderArgs {
    items?: string[];
    containerType?: string;
    container?: HTMLElement;
}
/**
 * @deprecated
 */
export interface IShowQuickTBarOptions {
    x: number;
    y: number;
    target: HTMLElement;
    editTop: number;
    editHeight: number;
    popup: HTMLElement;
    parentElement: HTMLElement;
    tBarElementHeight: number;
    parentData: ClientRect;
    windowY: number;
    windowHeight: number;
    windowWidth: number;
    popWidth: number;
    popHeight: number;
    bodyRightSpace: number;
}
/**
 * @deprecated
 */
export interface IPositionChanged {
    x: boolean;
    y: boolean;
}
/**
 * @deprecated
 */
export interface IQuickToolbarOptions {
    popupType: string;
    mode: navigations.OverflowMode;
    renderType: RenderType;
    toolbarItems: (string | IToolbarItems)[];
    cssClass: string;
}
/**
 * Provides detailed information about the beforeQuickToolbarOpen event in the editor.
 */
export interface BeforeQuickToolbarOpenArgs {
    /**
     * Defines the instance of the current popup element
     *
     * @deprecated
     */
    popup?: popups.Popup;
    /** Determine whether the quick toolbar should be prevented from opening. */
    cancel?: boolean;
    /** Defines the target element on which the quick toolbar is triggered. */
    targetElement?: Element;
    /** Defines the X-coordinate position where the quick toolbar will appear. */
    positionX?: number;
    /** Defines the Y-coordinate position where the quick toolbar will appear. */
    positionY?: number;
}
/**
 * Provides detailed information about the AfterImageDeleteEvent event in the editor.
 */
export interface AfterImageDeleteEventArgs {
    /** Defines the image DOM element that was deleted. */
    element: Node;
    /** Defines the 'src' attribute of the deleted image element. */
    src: string;
}
/**
 * Provides detailed information about the AfterMediaDeleteEvent event in the editor.
 */
export interface AfterMediaDeleteEventArgs {
    /** Defines the audio/video DOM element that was deleted. */
    element: Node;
    /** Defines the 'src' attribute of the deleted audio/video element. */
    src: string;
}
/**
 * Provides detailed information about the QuickToolbar event in the editor.
 */
export interface QuickToolbarEventArgs {
    /**
     * Defines the instance of the current popup element
     *
     * @deprecated
     */
    popup?: popups.Popup;
    /**
     * Returns the HTMLElement associated with the dialog in the quick toolbar.
     */
    element: HTMLElement;
    /**
     * Specify the name identifier of the event within the quick toolbar.
     */
    name?: string;
}
/**
 * @deprecated
 */
export interface IAdapterProcess {
    text: string;
    range: Range;
    actionName: string;
}
/**
 * Provides information about a Formatter.
 */
export interface IFormatter {
    /** Configure the format tags, mapping tag names to their respective format. */
    formatTags?: {
        [key: string]: string;
    };
    /** Configure the list tags, mapping tag names to their respective list format. */
    listTags?: {
        [key: string]: string;
    };
    /** Configure the key settings with specific shortcut key configurations. */
    keyConfig?: {
        [key: string]: string;
    };
    process?: Function;
    onKeyHandler?: Function;
    editorManager?: IEditorModel;
    /** Retrieves the undo and redo stack arrays for tracking changes. */
    getUndoRedoStack?: Function;
    onSuccess?: Function;
    /** Saves the current state for undo and redo actions within the editor. */
    saveData?: Function;
    disableToolbarItem?(items: string | string[]): void;
    /** Enables the undo functionality to revert changes. */
    enableUndo?: Function;
    setDocument?: Function;
    getDocument?: Function;
    setEditPanel?: Function;
    getEditPanel?: Function;
    updateFormatter?: Function;
    initializePlugin?: Function;
    isAppliedCommand?(e?: MouseEvent): string;
    mdSelectionFormat?: MDSelectionFormats;
    beforeSlashMenuApply(): void;
    getCurrentStackIndex(): number;
}
/**
 * @deprecated
 */
export interface IHtmlFormatterModel {
    currentDocument?: Document;
    element?: Element;
    keyConfig?: {
        [key: string]: string;
    };
    options?: {
        [key: string]: number;
    };
    formatPainterSettings?: FormatPainterSettingsModel;
}
/**
 * @deprecated
 */
export interface IMarkdownFormatterModel {
    element?: Element;
    formatTags?: {
        [key: string]: string;
    };
    listTags?: {
        [key: string]: string;
    };
    keyConfig?: {
        [key: string]: string;
    };
    options?: {
        [key: string]: number;
    };
    selectionTags?: {
        [key: string]: string;
    };
}
/**
 * @deprecated
 */
export interface IFontProperties {
    default?: string;
    items?: IDropDownItemModel[];
    width?: string;
}
/**
 * @deprecated
 */
export interface IBulletFormatListPropertiesProperties {
    types?: IListDropDownModel[];
}
/**
 * @deprecated
 */
export interface INumberFormatListPropertiesProperties {
    types?: IListDropDownModel[];
}
/**
 * @deprecated
 */
export interface IFormatProperties {
    default?: string;
    types?: IDropDownItemModel[];
    width?: string;
}
/**
 * @deprecated
 */
export interface OffsetPosition {
    left: number;
    top: number;
}
/**
 * Provides information about a Resize event.
 */
export interface ResizeArgs {
    /** Specifies the resize event arguments. */
    event?: MouseEvent | TouchEvent;
    /** Describes the type of request. */
    requestType?: string;
    /** Indicates whether the action should be canceled. */
    cancel?: boolean;
}
/**
 * Provides information about a BeforeSanitizeHtml event.
 */
export interface BeforeSanitizeHtmlArgs {
    /** Indicates whether the current action needs to be prevented. */
    cancel?: boolean;
    /** A callback function executed before the inbuilt action, which should return HTML as a string.
     *
     * @function
     * @param {string} value - The input value.
     * @returns {string} - The HTML string.
     */
    helper?: Function;
    /** Returns the selectors object containing both tags and attribute selectors to block cross-site scripting attacks.
     * It is also possible to modify the block list within this event.
     */
    selectors?: SanitizeSelectors;
}
/**
 * Provides information about SanitizeSelectors.
 */
export interface SanitizeSelectors {
    /** Returns the list of tags. */
    tags?: string[];
    /** Returns the list of attributes to be removed. */
    attributes?: SanitizeRemoveAttrs[];
}
/**
 * Provides information about a ExecuteCommandOption.
 */
export interface ExecuteCommandOption {
    undo?: boolean;
}
/**
 * Provides information about a SanitizeRemoveAttributes.
 */
export interface SanitizeRemoveAttrs {
    /** Defines the attribute name to sanitize. */
    attribute?: string;
    /** Defines the selector that sanitizes the specified attributes within the selector. */
    selector?: string;
}
/**
 * @deprecated
 */
export interface ISetToolbarStatusArgs {
    args: IToolbarStatus;
    parent: IRichTextEditor;
    tbElements: HTMLElement[];
    tbItems: IToolbarItemModel[];
    dropDownModule: DropDownButtons;
}
/**
 * Provides detailed information about a change event in the RichTextEditor.
 */
export interface ChangeEventArgs {
    /**
     * Returns the current value/content of the RichTextEditor.
     */
    value: string;
    /** Defines the name of the event. */
    name?: string;
    /** Specifies if the request should be saved automatically or triggered by user interaction (focus out). */
    isInteracted: boolean;
}
/**
 * Provides information regarding a DialogOpen event in the RichTextEditor.
 */
export interface DialogOpenEventArgs {
    /**
     * Defines if the current dialog action can be prevented.
     */
    target: HTMLElement | string;
    /**
     * Returns the root container element of the dialog being opened.
     */
    container: HTMLElement;
    /**
     * Returns the element reference of the dialog.
     */
    element: Element;
    /**
     * Name of the event if specified.
     */
    name?: string;
}
/**
 * Provides information related to a DialogClose event in the RichTextEditor.
 */
export interface DialogCloseEventArgs {
    /**
     * Identifies if the current action can be canceled.
     */
    cancel: boolean;
    /**
     * Returns the root container element of the dialog being closed.
     */
    container: HTMLElement;
    /**
     * Provides reference to the dialog element being closed.
     */
    element: Element;
    /**
     * Returns the original event arguments, if any.
     */
    event: Event;
    /**
     * Determines if the dialog close event is triggered by user interaction.
     */
    isInteracted: boolean;
    /**
     * DEPRECATED-Determines whether the event is triggered by interaction.
     */
    isInteraction: boolean;
    /**
     * Specifies the event name, if available.
     */
    name?: String;
    /**
     * Determines if action can be prevented;
 target details.
     */
    target: HTMLElement | String;
}
/**
 * Provides specific details about a successful Image upload event in the RichTextEditor.
 */
export interface ImageSuccessEventArgs {
    /**
     * Returns the original event arguments.
     */
    e?: object;
    /**
     * Details about the file that was successfully uploaded.
     */
    file: inputs.FileInfo;
    /**
     * Provides the status text describing the image upload.
     */
    statusText?: string;
    /**
     * Describes the operation performed during the upload event.
     */
    operation: string;
    /**
     * Returns the response details of the upload event, if any.
     */
    response?: ResponseEventArgs;
    /**
     * Specifies the name of the event.
     */
    name?: string;
    /**
     * Specifies the HTML element related to the event.
     */
    element?: HTMLElement;
    /**
     * Provides the detected image source related to the event.
     */
    detectImageSource?: ImageInputSource;
}
/**
 * Provides detailed information about a failed Image upload event in the RichTextEditor.
 */
export interface ImageFailedEventArgs {
    /**
     * Returns the original event arguments.
     */
    e?: object;
    /**
     * Details about the file that failed to upload.
     */
    file: inputs.FileInfo;
    /**
     * Provides status text describing the failed upload.
     */
    statusText?: string;
    /**
     * Describes the operation performed during the failed upload attempt.
     */
    operation: string;
    /**
     * Returns the response details of the failed upload event.
     */
    response?: ResponseEventArgs;
    /**
     * Specifies the event name.
     */
    name?: string;
}
/**
 * Provides information about a response received after an Image upload event in the RichTextEditor.
 */
export interface ResponseEventArgs {
    /**
     * Returns upload image headers information, if available.
     */
    headers?: string;
    /**
     * Returns readyState information of the upload process.
     */
    readyState?: object;
    /**
     * Provides the status code returned for the uploaded image.
     */
    statusCode?: object;
    /**
     * Returns the status text of the uploaded image.
     */
    statusText?: string;
    /**
     * Indicates if the upload was performed with credentials.
     */
    withCredentials?: boolean;
}
/**
 * Provides specific details about a Destroyed event in the RichTextEditor.
 */
export interface DestroyedEventArgs {
    /**
     * Specifies the name of the event.
     */
    name?: string;
    /**
     * Determines if the current action of destruction can be prevented.
     */
    cancel: boolean;
}
/**
 * Provides information regarding content pasted in the RichTextEditor for cleanup operations.
 */
export interface PasteCleanupArgs {
    /**
     * Returns the content data present in the ClipboardEvent arguments.
     */
    value: string;
    /**
     * Returns a list of image file data that was pasted into the editor.
     */
    filesData: inputs.FileInfo[];
}
/**
 * Provides specific information about a Blur event in the RichTextEditor.
 */
export interface BlurEventArgs {
    /**
     * Contains the original event arguments related to the blur event.
     */
    event: Event;
    /**
     * Indicates if the blur event was caused by user interaction.
     */
    isInteracted: boolean;
    /**
     * Specifies the name of the blur event.
     */
    name?: string;
}
/**
 * Provides information about a ToolbarClick event in the RichTextEditor.
 */
export interface ToolbarClickEventArgs {
    /**
     * Determines if the current toolbar click action can be canceled.
     */
    cancel: boolean;
    /**
     * Defines the current Toolbar Item Object being clicked.
     */
    item: navigations.ItemModel;
    /**
     * Contains the original mouse event arguments related to the toolbar click.
     */
    originalEvent: MouseEvent;
    /**
     * Specifies the request type associated with the toolbar click event.
     */
    requestType: string;
    /**
     * Specifies the name of the event.
     */
    name?: string;
}
/**
 * Provides details about a Focus event in the RichTextEditor.
 */
export interface FocusEventArgs {
    /**
     * Contains the original event arguments associated with the focus event.
     */
    event: FocusEvent;
    /**
     * Indicates if the focus event was triggered by user interaction.
     */
    isInteracted: boolean;
    /**
     * Specifies the name of the focus event.
     */
    name?: string;
}
/**
 * Defines types to be used as colorMode for color selection in the RichTextEditor.
 */
export  type ColorModeType = 'Picker' | 'Palette';
/**
 * @deprecated
 */
export interface IColorProperties {
    default?: string;
    mode?: ColorModeType;
    columns?: number;
    colorCode?: {
        [key: string]: string[];
    };
    modeSwitcher?: boolean;
}
/**
 * @deprecated
 */
export interface IExecutionGroup {
    command: string;
    subCommand?: string;
    value?: string;
}
/**
 * Provides detailed information about an image uploading event.
 */
export interface ImageUploadingEventArgs {
    /**
     * Defines whether the current image upload action can be prevented.
     */
    cancel: boolean;
    /**
     * Defines the additional data in a key and value pair format that will be submitted with the upload action.
     */
    customFormData: {
        [key: string]: Object;
    }[];
    /**
     * Returns the XMLHttpRequest instance that is associated with the current upload action.
     */
    currentRequest?: {
        [key: string]: string;
    }[];
    /**
     * Returns the list of files that are scheduled to be uploaded.
     */
    filesData: inputs.FileInfo[];
}
/**
 * @hidden
 * @deprecated
 */
export  const executeGroup: {
    [key: string]: IExecutionGroup;
};
/**
 * Defines types to be used as CommandName.
 *
 * The `CommandName` type encompasses various commands that can be applied within the rich text editor.
 * Each command represents a specific formatting or editing action, such as applying text styles,
 * inserting multimedia content, and handling text alignment or structure.
 *
 */
export type CommandName = 'bold' | 'italic' | 'underline' | 'strikeThrough' | 'superscript' | 'subscript' | 'uppercase' | 'lowercase' | 'fontColor' | 'fontName' | 'fontSize' | 'backColor' | 'justifyCenter' | 'justifyFull' | 'justifyLeft' | 'justifyRight' | 'undo' | 'createLink' | 'formatBlock' | 'heading' | 'indent' | 'insertHTML' | 'insertOrderedList' | 'insertUnorderedList' | 'insertParagraph' | 'outdent' | 'redo' | 'removeFormat' | 'insertText' | 'insertImage' | 'insertAudio' | 'insertVideo' | 'insertHorizontalRule' | 'insertBrOnReturn' | 'insertCode' | 'insertTable' | 'editImage' | 'editLink' | 'applyFormatPainter' | 'copyFormatPainter' | 'escapeFormatPainter' | 'emojiPicker' | 'InlineCode' | 'importWord';
/**
 * @hidden
 * @deprecated
 */
export interface StatusArgs {
    html: Object;
    markdown: Object;
}
/**
 * Provides detailed information about the updatedToolbarStatus event in the Rich Text Editor.
 */
export interface ToolbarStatusEventArgs {
    /** Defines the name of the event. */
    name?: string;
    /** Defines the undo state argument, indicating whether an undo action can be performed. */
    undo: boolean;
    /** Defines the redo state argument, indicating whether a redo action can be performed. */
    redo: boolean;
    /** Defines the HTML toolbar status arguments, providing the current status of the HTML toolbar. */
    html?: object;
    /** Defines the markdown toolbar status arguments, providing the current status of the Markdown toolbar. */
    markdown?: object;
}
/**
 * @hidden
 * @deprecated
 */
export interface CleanupResizeElemArgs {
    name?: string;
    value: string;
    callBack(value: string): void;
}
/**
 * @hidden
 * @private
 */
export interface IBaseQuickToolbar {
    /**
     * Instance of the Quick Toolabr popups.Popup.
     */
    popupObj: popups.Popup;
    /**
     * Parent Element of the Quick Toolbar.
     */
    element: HTMLElement;
    /**
     * Boolean to check whether the quick toolbar is rendered in the DOM.
     */
    isRendered: boolean;
    /**
     * Instance of the Toolbar rendered inside the popups.Popup.
     */
    quickTBarObj: BaseToolbar;
    /**
     * Element of the Toolbar rendered inside the popups.Popup.
     */
    toolbarElement: HTMLElement;
}
/**
 * @hidden
 * @private
 */
export interface MetaTag {
    /**
     * The name attribute of the meta tag.
     */
    name?: string;
    /**
     * The content attribute of the meta tag.
     */
    content?: string;
    /**
     * The charset attribute of the meta tag.
     */
    charset?: string;
    /**
     * The http-equiv attribute of the meta tag.
     */
    httpEquiv?: string;
    /**
     * The property attribute of the meta tag.
     */
    property?: string;
}
/**
 * Specifies the custom slash menu item configuration.
 *
 */
export interface ISlashMenuItem {
    /**
     * Specifies the text to be displayed in the slash menu item.
     */
    text: string;
    /**
     * Specifies the command to be executed when the slash menu item is clicked.
     */
    command: string;
    /**
     * Specifies the icon class to be added in the slash menu item for visual representation.
     */
    iconCss: string;
    /**
     * Specifies the description to be displayed in the slash menu item.
     */
    description?: string;
    /**
     * Specifies the type of the slash menu item. Grouping will be done based on the type.
     */
    type: string;
}
/**
 * Provides detailed information about a SlashMenuItemSelect event.
 */
export interface SlashMenuItemSelectArgs {
    /**
     * If the event is triggered by user interaction, it returns true. Otherwise, it returns false.
     */
    isInteracted: boolean;
    /**
     * Returns the selected list item of the slash menu list as an HTMLLIElement.
     */
    item: HTMLLIElement;
    /**
     * Returns the selected slash menu item data corresponding to the interface.
     */
    itemData: ISlashMenuItem;
    /**
     * Specifies the original event arguments such as MouseEvent, KeyboardEvent, or TouchEvent.
     */
    originalEvent: MouseEvent | KeyboardEvent | TouchEvent;
    /**
     * Specifies the boolean value to cancel the default action if set to true.
     */
    cancel?: boolean;
}
//node_modules/@syncfusion/ej2-richtexteditor/src/rich-text-editor/base/enum.d.ts
/**
 * Defines types of Render
 *
 * @hidden
 * @deprecated
 */
export  enum RenderType {
    /** Defines RenderType as Toolbar */
    Toolbar = 0,
    /** Defines RenderType as Content */
    Content = 1,
    /** Defines RenderType as Popup */
    Popup = 2,
    /** Defines RenderType as LinkToolbar */
    LinkToolbar = 3,
    /** Defines RenderType as TextToolbar */
    TextToolbar = 4,
    /** Defines RenderType as ImageToolbar */
    ImageToolbar = 5,
    /** Defines RenderType as AudioToolbar */
    AudioToolbar = 6,
    /** Defines RenderType as AudioToolbar */
    VideoToolbar = 7,
    /** Defines RenderType as InlineToolbar */
    InlineToolbar = 8,
    /** Defines RenderType as TableToolbar */
    TableToolbar = 9
}
/**
 * Defines the types of actions to perform on a quick toolbar scroll.
 */
export  type ActionOnScroll = 'hide' | 'none';
/**
 * Enumerates the types of toolbars available.
 */
export  enum ToolbarType {
    /** Defines ToolbarType as Expand. */
    Expand = "Expand",
    /** Defines ToolbarType as MultiRow. */
    MultiRow = "MultiRow",
    /** Defines ToolbarType as Scrollable. */
    Scrollable = "Scrollable"
}
/**
 * Enumerates the types of dialogs that can be opened or closed in the Rich Text Editor.
 */
export  enum DialogType {
    /** Defines DialogType for inserting a link. */
    InsertLink = "InsertLink",
    /** Defines DialogType for inserting an image. */
    InsertImage = "InsertImage",
    /** Defines DialogType for inserting audio. */
    InsertAudio = "InsertAudio",
    /** Defines DialogType for inserting video. */
    InsertVideo = "InsertVideo",
    /** Defines DialogType for inserting a table. */
    InsertTable = "InsertTable"
}
/**
 * Specifies the types of items that can be used in the toolbar.
 */
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' | 'blockquote' | 'tableHeader' | 'tableRemove' | 'tableRows' | 'tableColumns' | 'tableCellBackground' | 'tableCellHorizontalAlign' | 'tableCellVerticalAlign' | 'tableEditProperties' | 'styles' | 'removeLink' | 'merge' | 'inlineCode';
/**
 * Specifies the configuration items available for the toolbar settings.
 */
export  type ToolbarConfigItems = 'Alignments' | 'JustifyLeft' | 'JustifyCenter' | 'JustifyRight' | 'JustifyFull' | 'FontName' | 'FontSize' | 'FontColor' | 'BackgroundColor' | 'ImportWord' | 'ExportWord' | 'ExportPdf' | 'Bold' | 'Italic' | 'Underline' | 'StrikeThrough' | 'ClearFormat' | 'ClearAll' | 'Cut' | 'Copy' | 'Paste' | 'UnorderedList' | 'OrderedList' | 'Indent' | 'Outdent' | 'Undo' | 'Redo' | 'SuperScript' | 'SubScript' | 'CreateLink' | 'Image' | 'CreateTable' | 'InsertLink' | 'FullScreen' | 'LowerCase' | 'UpperCase' | 'Print' | 'Formats' | 'FormatPainter' | 'EmojiPicker' | 'UnderLine' | 'ZoomOut' | 'ZoomIn' | 'SourceCode' | 'Preview' | 'ViewSide' | 'InsertCode' | 'Blockquote' | 'Audio' | 'Video' | 'NumberFormatList' | 'BulletFormatList' | 'FileManager' | '|' | '-' | 'InlineCode';
/**
 * Enumerates the sources for images to be inserted.
 */
export  enum ImageInputSource {
    /** Defines ImageInputSource as Uploaded. */
    Uploaded = "Uploaded",
    /** Defines ImageInputSource as Dropped. */
    Dropped = "Dropped",
    /** Defines ImageInputSource as Pasted. */
    Pasted = "Pasted"
}
/**
 * Lists the items available in the slash menu.
 */
export  type SlashMenuItems = 'Heading 1' | 'Heading 2' | 'Heading 3' | 'Heading 4' | 'Paragraph' | 'Blockquote' | 'OrderedList' | 'UnorderedList' | 'Table' | 'Image' | 'Audio' | 'Video' | 'CodeBlock' | 'Emojipicker' | 'Link';
//node_modules/@syncfusion/ej2-richtexteditor/src/rich-text-editor/base/constant.d.ts
/**
 * @hidden
 * @deprecated
 */
export  const created: string;
/**
 * @hidden
 * @deprecated
 */
export  const destroyed: string;
/**
 * @hidden
 * @deprecated
 */
export  const tableclass: string;
/**
 * @hidden
 * @deprecated
 */
export  const load: string;
/**
 * Specifies Rich Text Editor internal events
 */
/**
 * @hidden
 * @deprecated
 */
export  const initialLoad: string;
/**
 * @hidden
 * @deprecated
 */
export  const contentChanged: string;
/**
 * @hidden
 * @deprecated
 */
export  const initialEnd: string;
/**
 * @hidden
 * @deprecated
 */
export  const iframeMouseDown: string;
/**
 * @hidden
 * @deprecated
 */
export  const destroy: string;
/**
 * @hidden
 * @deprecated
 */
export  const toolbarClick: string;
/**
 * @hidden
 * @deprecated
 */
export  const toolbarRefresh: string;
/**
 * @hidden
 * @deprecated
 */
export  const slashMenuOpening: string;
/**
 * @hidden
 * @deprecated
 */
export  const refreshBegin: string;
/**
 * @hidden
 * @deprecated
 */
export  const toolbarUpdated: string;
/**
 * @hidden
 * @deprecated
 */
export  const bindOnEnd: string;
/**
 * @hidden
 * @deprecated
 */
export  const htmlToolbarClick: string;
/**
 * @hidden
 * @deprecated
 */
export  const markdownToolbarClick: string;
/**
 * @hidden
 * @deprecated
 */
export  const modelChanged: string;
/**
 * @hidden
 * @deprecated
 */
export  const tableModulekeyUp: string;
/**
 * @hidden
 * @deprecated
 */
export  const keyUp: string;
/**
 * @hidden
 * @deprecated
 */
export  const keyDown: string;
/**
 * @hidden
 * @deprecated
 */
export  const onImport: string;
/**
 * @hidden
 * @deprecated
 */
export  const onExport: string;
/**
 * @hidden
 * @deprecated
 */
export  const mouseUp: string;
/**
 * @hidden
 * @deprecated
 */
export  const toolbarCreated: string;
/**
 * @hidden
 * @deprecated
 */
export  const toolbarRenderComplete: string;
/**
 * @hidden
 * @deprecated
 */
export  const enableFullScreen: string;
/**
 * @hidden
 * @deprecated
 */
export  const disableFullScreen: string;
/**
 * @hidden
 * @deprecated
 */
export  const dropDownSelect: string;
/**
 * @hidden
 * @deprecated
 */
export  const beforeDropDownItemRender: string;
/**
 * @hidden
 * @deprecated
 */
export  const execCommandCallBack: string;
/**
 * @hidden
 * @deprecated
 */
export  const imageToolbarAction: string;
/**
 * @hidden
 * @deprecated
 */
export  const audioToolbarAction: string;
/**
 * @hidden
 * @deprecated
 */
export  const videoToolbarAction: string;
/**
 * @hidden
 * @deprecated
 */
export  const linkToolbarAction: string;
/**
 * @hidden
 * @deprecated
 */
export  const windowResize: string;
/**
 * @hidden
 * @deprecated
 */
export  const resizeStart: string;
/**
 * @hidden
 * @deprecated
 */
export  const onResize: string;
/**
 * @hidden
 * @deprecated
 */
export  const resizeStop: string;
/**
 * @hidden
 * @deprecated
 */
export  const undo: string;
/**
 * @hidden
 * @deprecated
 */
export  const redo: string;
/**
 * @hidden
 * @deprecated
 */
export  const insertLink: string;
/**
 * @hidden
 * @deprecated
 */
export  const unLink: string;
/**
 * @hidden
 * @deprecated
 */
export  const editLink: string;
/**
 * @hidden
 * @deprecated
 */
export  const openLink: string;
/**
 * @hidden
 * @deprecated
 */
export  const actionBegin: string;
/**
 * @hidden
 * @deprecated
 */
export  const actionComplete: string;
/**
 * @hidden
 * @deprecated
 */
export  const updatedToolbarStatus: string;
/**
 * @hidden
 * @deprecated
 */
export  const actionSuccess: string;
/**
 * @hidden
 * @deprecated
 */
export  const updateToolbarItem: string;
/**
 * @hidden
 * @deprecated
 */
export  const insertImage: string;
/**
 * @hidden
 * @deprecated
 */
export  const insertAudio: string;
/**
 * @hidden
 * @deprecated
 */
export  const insertVideo: string;
/**
 * @hidden
 * @deprecated
 */
export  const insertCompleted: string;
/**
 * @hidden
 * @deprecated
 */
export  const imageLeft: string;
/**
 * @hidden
 * @deprecated
 */
export  const imageRight: string;
/**
 * @hidden
 * @deprecated
 */
export  const imageCenter: string;
/**
 * @hidden
 * @deprecated
 */
export  const imageBreak: string;
/**
 * @hidden
 * @deprecated
 */
export  const imageInline: string;
/**
 * @hidden
 * @deprecated
 */
export  const imageLink: string;
/**
 * @hidden
 * @deprecated
 */
export  const imageAlt: string;
/**
 * @hidden
 * @deprecated
 */
export  const imageDelete: string;
/**
 * @hidden
 * @deprecated
 */
export  const audioDelete: string;
/**
 * @hidden
 * @deprecated
 */
export  const videoDelete: string;
/**
 * @hidden
 * @deprecated
 */
export  const imageCaption: string;
/**
 * @hidden
 * @deprecated
 */
export  const imageSize: string;
/**
 * @hidden
 * @deprecated
 */
export  const videoSize: string;
/**
 * @hidden
 * @deprecated
 */
export  const sourceCode: string;
/**
 * @hidden
 * @deprecated
 */
export  const updateSource: string;
/**
 * @hidden
 * @deprecated
 */
export  const toolbarOpen: string;
/**
 * @hidden
 * @deprecated
 */
export  const beforeDropDownOpen: string;
/**
 * @hidden
 * @deprecated
 */
export  const selectionSave: string;
/**
 * @hidden
 * @deprecated
 */
export  const selectionRestore: string;
/**
 * @hidden
 * @deprecated
 */
export  const expandPopupClick: string;
/**
 * @hidden
 * @deprecated
 */
export  const count: string;
/**
 * @hidden
 * @deprecated
 */
export  const contentFocus: string;
/**
 * @hidden
 * @deprecated
 */
export  const contentBlur: string;
/**
 * @hidden
 * @deprecated
 */
export  const mouseDown: string;
/**
 * @hidden
 * @deprecated
 */
export  const sourceCodeMouseDown: string;
/**
 * @hidden
 * @deprecated
 */
export  const editAreaClick: string;
/**
 * @hidden
 * @deprecated
 */
export  const scroll: string;
/**
 * @hidden
 * @deprecated
 */
export  const contentscroll: string;
/**
 * @hidden
 * @deprecated
 */
export  const colorPickerChanged: string;
/**
 * @hidden
 * @deprecated
 */
export  const focusChange: string;
/**
 * @hidden
 * @deprecated
 */
export  const selectAll: string;
/**
 * @hidden
 * @deprecated
 */
export  const selectRange: string;
/**
 * @hidden
 * @deprecated
 */
export  const getSelectedHtml: string;
/**
 * @hidden
 * @deprecated
 */
export  const renderInlineToolbar: string;
/**
 * @hidden
 * @deprecated
 */
export  const paste: string;
/**
 * @hidden
 * @deprecated
 */
export  const imgModule: string;
/**
 * @hidden
 * @deprecated
 */
export  const rtlMode: string;
/**
 * @hidden
 * @deprecated
 */
export  const createTable: string;
/**
 * @hidden
 * @deprecated
 */
export  const docClick: string;
/**
 * @hidden
 * @deprecated
 */
export  const tableToolbarAction: string;
/**
 * @hidden
 * @deprecated
 */
export  const checkUndo: string;
/**
 * @hidden
 * @deprecated
 */
export  const readOnlyMode: string;
/**
 * @hidden
 * @deprecated
 */
export  const pasteClean: string;
/**
 * @hidden
 * @deprecated
 */
export  const enterHandler: string;
/**
 * @hidden
 * @deprecated
 */
export  const beforeDialogOpen: string;
/**
 * @hidden
 * @deprecated
 */
export  const clearDialogObj: string;
/**
 * @hidden
 * @deprecated
 */
export  const hideTableQuickToolbar: string;
/**
 * @hidden
 * @deprecated
 */
export  const dialogOpen: string;
/**
 * @hidden
 * @deprecated
 */
export  const beforeDialogClose: string;
/**
 * @hidden
 * @deprecated
 */
export  const dialogClose: string;
/**
 * @hidden
 * @deprecated
 */
export  const beforeQuickToolbarOpen: string;
/**
 * @hidden
 * @deprecated
 */
export  const quickToolbarOpen: string;
/**
 * @hidden
 * @deprecated
 */
export  const quickToolbarClose: string;
/**
 * @hidden
 * @deprecated
 */
export  const popupHide: string;
/**
 * @hidden
 * @deprecated
 */
export  const imageSelected: string;
/**
 * @hidden
 * @deprecated
 */
export  const imageUploading: string;
/**
 * @hidden
 * @deprecated
 */
export  const imageUploadSuccess: string;
/**
 * @hidden
 * @deprecated
 */
export  const imageUploadFailed: string;
/**
 * @hidden
 * @deprecated
 */
export  const imageRemoving: string;
/**
 * @hidden
 * @deprecated
 */
export  const fileSelected: string;
/**
 * @hidden
 * @deprecated
 */
export  const fileUploading: string;
/**
 * @hidden
 * @deprecated
 */
export  const fileUploadSuccess: string;
/**
 * @hidden
 * @deprecated
 */
export  const fileUploadFailed: string;
/**
 * @hidden
 * @deprecated
 */
export  const fileRemoving: string;
/**
 * @hidden
 * @deprecated
 */
export  const afterImageDelete: string;
/**
 * @hidden
 * @deprecated
 */
export  const afterMediaDelete: string;
/**
 * @hidden
 * @deprecated
 */
export  const drop: string;
/**
 * @hidden
 * @deprecated
 */
export  const renderQuickToolbar: string;
/**
 * @hidden
 * @deprecated
 */
export  const xhtmlValidation: string;
/**
 * @hidden
 * @deprecated
 */
export  const beforeImageUpload: string;
/**
 * @hidden
 * @deprecated
 */
export  const beforeFileUpload: string;
/**
 * @hidden
 * @deprecated
 */
export  const resizeInitialized: string;
/**
 * @hidden
 * @deprecated
 */
export  const renderFileManager: string;
/**
 * @hidden
 * @deprecated
 */
export  const beforeImageDrop: string;
/**
 * @hidden
 * @deprecated
 */
export  const dynamicModule: string;
/**
 * @hidden
 * @deprecated
 */
export  const beforePasteCleanup: string;
/**
 * @hidden
 * @deprecated
 */
export  const afterPasteCleanup: string;
/**
 * @hidden
 * @deprecated
 */
export  const updateTbItemsStatus: string;
/**
 * @hidden
 * @deprecated
 */
export  const showLinkDialog: string;
/**
 * @hidden
 * @deprecated
 */
export  const closeLinkDialog: string;
/**
 * @hidden
 * @deprecated
 */
export  const showImageDialog: string;
/**
 * @hidden
 * @deprecated
 */
export  const showAudioDialog: string;
/**
 * @hidden
 * @deprecated
 */
export  const showVideoDialog: string;
/**
 * @hidden
 * @deprecated
 */
export  const closeImageDialog: string;
/**
 * @hidden
 * @deprecated
 */
export  const closeAudioDialog: string;
/**
 * @hidden
 * @deprecated
 */
export  const closeVideoDialog: string;
/**
 * @hidden
 * @deprecated
 */
export  const showTableDialog: string;
/**
 * @hidden
 * @deprecated
 */
export  const closeTableDialog: string;
/**
 * @hidden
 * @deprecated
 */
export  const bindCssClass: string;
/**
 * @hidden
 * @deprecated
 */
export  const formatPainterClick: string;
/**
 * @hidden
 * @deprecated
 */
export  const formatPainterDoubleClick: string;
/**
 * @hidden
 * @deprecated
 */
export  const emojiPicker: string;
/**
 * @hidden
 * @deprecated
 */
export  const destroyTooltip: string;
/**
 * @hidden
 * @deprecated
 */
export  const hidePopup: string;
/**
 * @hidden
 * @deprecated
 */
export  const cleanupResizeElements: string;
/**
 * @hidden
 * @deprecated
 */
export  const afterKeyDown: string;
/**
 * @hidden
 * @deprecated
 */
export  const updateValueOnIdle: string;
/**
 * @hidden
 * @deprecated
 */
export  const documentClickClosedBy: string;
/**
 * @hidden
 * @deprecated
 */
export  const showColorPicker: string;
/**
 * @hidden
 * @deprecated
 */
export  const closeTooltip: string;
/**
 * @hidden
 * @deprecated
 */
export  const autoResize: string;
/**
 * @hidden
 * @deprecated
 */
export  const blockEmptyNodes: string;
/**
 * @hidden
 * @deprecated
 */
export  const inlineEmptyNodes: string;
/**
 * @hidden
 * @deprecated
 */
export  const supportedUnits: string[];
/**
 * @hidden
 * @deprecated
 */
export  const conversionFactors: Record<string, Record<string, number>>;
/**
 * @hidden
 * @deprecated
 */
export  const onHandleFontsizeChange: string;
/**
 * @hidden
 * @deprecated
 */
export  const preventQuickToolbarClose: string;
//node_modules/@syncfusion/ej2-richtexteditor/src/rich-text-editor/base/classes.d.ts
/**
 * Rich Text Editor classes defined here.
 */
/**
 * @hidden
 * @deprecated
 */
export  const CLS_RTE: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_RTL: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_CONTENT: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_DISABLED: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_SCRIPT_SHEET: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_STYLE_SHEET: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_RTE_CONTAINER: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_TOOLBAR: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_TB_FIXED: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_TB_FLOAT: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_INLINE: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_TB_INLINE: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_RTE_EXPAND_TB: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_FULL_SCREEN: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_QUICK_TB: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_TEXT_QUICK_TB: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_POP: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_TB_STATIC: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_QUICK_POP: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_QUICK_DROPDOWN: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_IMAGE_POP: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_TEXT_POP: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_INLINE_POP: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_INLINE_DROPDOWN: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_DROPDOWN_POPUP: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_DROPDOWN_ICONS: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_DROPDOWN_ITEMS: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_DROPDOWN_BTN: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_RTE_CONTENT: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_TB_ITEM: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_TB_EXTENDED: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_TB_WRAP: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_POPUP: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_SEPARATOR: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_MINIMIZE: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_MAXIMIZE: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_BACK: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_SHOW: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_HIDE: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_VISIBLE: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_FOCUS: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_RM_WHITE_SPACE: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_IMGRIGHT: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_IMGLEFT: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_IMGCENTER: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_IMGBREAK: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_AUDIOBREAK: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_CLICKELEM: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_VID_CLICK_ELEM: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_AUDIOWRAP: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_VIDEOWRAP: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_VIDEOBREAK: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_CAPTION: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_RTE_CAPTION: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_CAPINLINE: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_IMGINLINE: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_AUDIOINLINE: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_VIDEOINLINE: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_COUNT: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_WARNING: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_ERROR: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_ICONS: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_ACTIVE: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_EXPAND_OPEN: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_RTE_ELEMENTS: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_TB_BTN: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_HR_SEPARATOR: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_TB_IOS_FIX: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_LIST_PRIMARY_CONTENT: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_NUMBERFORMATLIST_TB_BTN: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_BULLETFORMATLIST_TB_BTN: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_FORMATS_TB_BTN: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_FONT_NAME_TB_BTN: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_FONT_SIZE_TB_BTN: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_ALIGN_TB_BTN: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_FONT_COLOR_TARGET: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_BACKGROUND_COLOR_TARGET: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_COLOR_CONTENT: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_FONT_COLOR_DROPDOWN: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_BACKGROUND_COLOR_DROPDOWN: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_COLOR_PALETTE: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_FONT_COLOR_PICKER: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_BACKGROUND_COLOR_PICKER: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_RTE_READONLY: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_TABLE_SEL: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_TABLE_SEL_END: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_TABLE_MULTI_CELL: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_TB_DASH_BOR: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_TB_ALT_BOR: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_TB_COL_RES: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_TB_ROW_RES: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_TB_BOX_RES: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_RTE_HIDDEN: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_RTE_PASTE_KEEP_FORMAT: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_RTE_PASTE_REMOVE_FORMAT: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_RTE_PASTE_PLAIN_FORMAT: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_RTE_PASTE_OK: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_RTE_PASTE_CANCEL: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_RTE_DIALOG_MIN_HEIGHT: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_RTE_RES_HANDLE: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_RTE_RES_EAST: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_RTE_IMAGE: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_RESIZE: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_IMG_FOCUS: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_AUD_FOCUS: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_VID_FOCUS: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_RTE_DRAG_IMAGE: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_RTE_UPLOAD_POPUP: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_POPUP_OPEN: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_IMG_RESIZE: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_DROPAREA: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_IMG_INNER: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_UPLOAD_FILES: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_RTE_DIALOG_UPLOAD: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_RTE_RES_CNT: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_CUSTOM_TILE: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_NOCOLOR_ITEM: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_TABLE: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_TABLE_BORDER: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_RTE_TABLE_RESIZE: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_RTE_FIXED_TB_EXPAND: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_RTE_TB_ENABLED: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_RTE_RES_WEST: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_RTE_SOURCE_CODE_TXTAREA: string;
/**
 * @hidden
 * @deprecated
 */
export  const ALLOWED_ACTIONKEYS: string[];
//node_modules/@syncfusion/ej2-richtexteditor/src/rich-text-editor/actions/xhtml-validation.d.ts
/**
 * XhtmlValidation module called when set enableXhtml as true
 */
export  class XhtmlValidation {
    private parent;
    private currentElement;
    constructor(parent?: IRichTextEditor);
    private addEventListener;
    private removeEventListener;
    private enableXhtmlValidation;
    /**
     * @param {string} currentValue - specifies the string value.
     * @param {number} valueLength - specifies the length of the current value.
     * @returns {void}
     * @deprecated
     */
    selfEncloseValidation(currentValue: string, valueLength?: number): string;
    private clean;
    private ImageTags;
    private removeTags;
    private RemoveElementNode;
    private RemoveUnsupported;
    private RemoveAttributeByName;
}
//node_modules/@syncfusion/ej2-richtexteditor/src/rich-text-editor/actions/toolbar.d.ts
/**
 * `Toolbar` module is used to handle Toolbar actions.
 */
export  class Toolbar {
    isDestroyed: boolean;
    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;
    dropDownModule: DropDownButtons;
    colorPickerModule: ColorPickerInput;
    private toolbarActionModule;
    protected renderFactory: RendererFactory;
    private keyBoardModule;
    private tools;
    constructor(parent?: IRichTextEditor, serviceLocator?: ServiceLocator);
    private initializeInstance;
    private toolbarBindEvent;
    private toolBarKeyDown;
    private createToolbarElement;
    private getToolbarMode;
    private checkToolbarResponsive;
    private checkIsTransformChild;
    private toggleFloatClass;
    private renderToolbar;
    /**
     * addFixedTBarClass method
     *
     * @returns {void}
     * @hidden
     * @deprecated
     */
    addFixedTBarClass(): void;
    /**
     * removeFixedTBarClass method
     *
     * @returns {void}
     * @hidden
     * @deprecated
     */
    removeFixedTBarClass(): void;
    private showFixedTBar;
    private hideFixedTBar;
    /**
     * updateItem method
     *
     * @param {IUpdateItemsModel} args - specifies the arguments.
     * @returns {void}
     * @hidden
     * @deprecated
     */
    updateItem(args: IUpdateItemsModel): void;
    private updateToolbarStatus;
    private fullScreen;
    private hideScreen;
    /**
     * getBaseToolbar method
     *
     * @returns {void}
     * @hidden
     * @deprecated
     */
    getBaseToolbar(): BaseToolbar;
    /**
     * addTBarItem method
     *
     * @param {IUpdateItemsModel} args - specifies the arguments.
     * @param {number} index - specifies the index value.
     * @returns {void}
     * @hidden
     * @deprecated
     */
    addTBarItem(args: IUpdateItemsModel, index: number): void;
    /**
     * enableTBarItems method
     *
     * @param {BaseToolbar} baseToolbar - specifies the toolbar.
     * @param {string} items - specifies the string value.
     * @param {boolean} isEnable - specifies the boolean value.
     * @param {boolean} muteToolbarUpdate - specifies the toolbar.
     * @returns {void}
     * @hidden
     * @deprecated
     */
    enableTBarItems(baseToolbar: BaseToolbar, items: string | string[], isEnable: boolean, muteToolbarUpdate?: boolean): void;
    /**
     * removeTBarItems method
     *
     * @param {string} items - specifies the string value.
     * @returns {void}
     * @hidden
     * @deprecated
     */
    removeTBarItems(items: string | string[]): void;
    /**
     * getExpandTBarPopHeight method
     *
     * @returns {void}
     * @hidden
     * @deprecated
     */
    getExpandTBarPopHeight(): number;
    /**
     * getToolbarHeight method
     *
     * @returns {void}
     * @hidden
     * @deprecated
     */
    getToolbarHeight(): number;
    /**
     * getToolbarElement method
     *
     * @returns {void}
     * @hidden
     * @deprecated
     */
    getToolbarElement(): Element;
    /**
     * refreshToolbarOverflow method
     *
     * @returns {void}
     * @hidden
     * @deprecated
     */
    refreshToolbarOverflow(): void;
    private isToolbarDestroyed;
    private destroyToolbar;
    /**
     * Destroys the ToolBar.
     *
     * @function destroy
     * @returns {void}
     * @hidden
     * @deprecated
     */
    destroy(): void;
    private mouseDownHandler;
    private focusChangeHandler;
    private dropDownBeforeOpenHandler;
    private tbFocusHandler;
    protected wireEvents(): void;
    protected unWireEvents(): void;
    protected addEventListener(): void;
    protected removeEventListener(): void;
    private setCssClass;
    private onRefresh;
    /**
     * Called internally if any of the property value changed.
     *
     * @param {RichTextEditorModel} e - specifies the string value
     * @returns {void}
     * @hidden
     * @deprecated
     */
    protected onPropertyChanged(e: {
        [key: string]: RichTextEditorModel;
    }): void;
    private refreshToolbar;
    /**
     * For internal use only - Get the module name.
     *
     * @returns {void}
     * @hidden
     */
    private getModuleName;
    private renderColorPicker;
}
//node_modules/@syncfusion/ej2-richtexteditor/src/rich-text-editor/actions/toolbar-action.d.ts
/**
 * `ToolbarAction` module is used to toolbar click action
 */
export  class ToolbarAction {
    /**
     *
     * @hidden
     * @private
     */
    parent: IRichTextEditor;
    constructor(parent?: IRichTextEditor);
    private addEventListener;
    private toolbarClick;
    private dropDownSelect;
    private renderSelection;
    private removeEventListener;
}
//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/resize.d.ts
/**
 * `Resize` module is used to resize the editor
 */
export  class Resize {
    protected parent: IRichTextEditor;
    protected resizer: HTMLElement;
    protected touchStartEvent: string;
    protected touchMoveEvent: string;
    protected touchEndEvent: string;
    private isDestroyed;
    private isResizing;
    private iframeElement;
    private iframeMouseUpBoundFn;
    private constructor();
    private addEventListener;
    private renderResizable;
    private onIFrameLoad;
    private removeMouseUpEventListener;
    private resizeStart;
    private performResize;
    private stopResize;
    private getEventType;
    private isMouseEvent;
    private wireResizeEvents;
    private unwireResizeEvents;
    private destroy;
    private removeEventListener;
    private iframeMouseUp;
    /**
     * For internal use only - Get the module name.
     *
     * @returns {void}
     * @hidden
     */
    private getModuleName;
}
//node_modules/@syncfusion/ej2-richtexteditor/src/rich-text-editor/actions/quick-toolbar.d.ts
/**
 * `Quick toolbar` module is used to handle Quick toolbar actions.
 */
export  class QuickToolbar {
    private offsetX;
    private offsetY;
    private deBouncer;
    private target;
    private locator;
    private parent;
    private contentRenderer;
    linkQTBar: BaseQuickToolbar;
    textQTBar: BaseQuickToolbar;
    imageQTBar: BaseQuickToolbar;
    audioQTBar: BaseQuickToolbar;
    videoQTBar: BaseQuickToolbar;
    tableQTBar: BaseQuickToolbar;
    inlineQTBar: BaseQuickToolbar;
    debounceTimeout: number;
    private renderFactory;
    isDestroyed: boolean;
    private escapeKeyPressed;
    constructor(parent?: IRichTextEditor, locator?: ServiceLocator);
    private formatItems;
    private getQTBarOptions;
    /**
     * createQTBar method
     *
     * @param {string} popupType - specifies the string value
     * @param {string} mode - specifies the string value.
     * @param {string} items - specifies the string.
     * @param {RenderType} type - specifies the render type.
     * @returns {BaseQuickToolbar} - specifies the quick toolbar
     * @hidden
     * @deprecated
     */
    createQTBar(popupType: string, mode: string, items: (string | IToolbarItems)[], type: RenderType): BaseQuickToolbar;
    private initializeQuickToolbars;
    private onMouseDown;
    private keyUpQT;
    private renderQuickToolbars;
    private renderInlineQuickToolbar;
    /**
     * Method for showing the inline quick toolbar
     *
     * @param {number} x -specifies the value of x.
     * @param {number} y - specifies the y valu.
     * @param {HTMLElement} target - specifies the target element.
     * @returns {void}
     * @hidden
     * @deprecated
     */
    showInlineQTBar(x: number, y: number, target: HTMLElement): void;
    /**
     * Method for hidding the inline quick toolbar
     *
     * @returns {void}
     * @hidden
     * @deprecated
     */
    hideInlineQTBar(): void;
    /**
     * Method for hidding the quick toolbar
     *
     * @returns {void}
     * @hidden
     * @deprecated
     */
    hideQuickToolbars(): void;
    private deBounce;
    private mouseUpHandler;
    private isEmbedVidElem;
    private keyDownHandler;
    private inlineQTBarMouseDownHandler;
    private keyUpHandler;
    private selectionChangeHandler;
    private onSelectionChange;
    /**
     * getInlineBaseToolbar method
     *
     * @returns {void}
     * @hidden
     * @deprecated
     */
    getInlineBaseToolbar(): BaseToolbar;
    /**
     * Destroys the ToolBar.
     *
     * @function destroy
     * @returns {void}
     * @hidden
     * @deprecated
     */
    destroy(): void;
    private wireInlineQTBarEvents;
    private unWireInlineQTBarEvents;
    private toolbarUpdated;
    /**
     * addEventListener
     *
     * @returns {void}
     * @hidden
     * @deprecated
     */
    addEventListener(): void;
    private preventQuickToolbarClose;
    private onKeyDown;
    private onIframeMouseDown;
    private updateCss;
    private setCssClass;
    private setRtl;
    /**
     * removeEventListener
     *
     * @returns {void}
     * @hidden
     * @deprecated
     */
    removeEventListener(): void;
    /**
     * Called internally if any of the property value changed.
     *
     * @param {RichTextEditorModel} e - specifies the element.
     * @returns {void}
     * @hidden
     * @deprecated
     */
    protected onPropertyChanged(e: {
        [key: string]: RichTextEditorModel;
    }): void;
    /**
     * For internal use only - Get the module name.
     *
     * @returns {void}
     * @hidden
     */
    private getModuleName;
    /**
     *
     * @returns {BaseQuickToolbar[]} - specifies the quick toolbar instance.
     * @hidden
     * @private
     */
    getQuickToolbarInstance(): BaseQuickToolbar[];
}
//node_modules/@syncfusion/ej2-richtexteditor/src/rich-text-editor/actions/paste-clean-up.d.ts
/**
 * PasteCleanup module called when pasting content in RichTextEditor
 */
export  class PasteCleanup {
    private parent;
    private renderFactory;
    private locator;
    private contentRenderer;
    private i10n;
    private saveSelection;
    private nodeSelectionObj;
    private dialogRenderObj;
    private popupObj;
    private uploadObj;
    private dialogObj;
    private keepRadioButton;
    private cleanRadioButton;
    private plainTextRadioButton;
    private isNotFromHtml;
    private containsHtml;
    private cropImageData;
    private fireFoxUploadTime;
    private refreshPopupTime;
    private popupCloseTime;
    private failureTime;
    private iframeUploadTime;
    private plainTextContent;
    private isDestroyed;
    constructor(parent?: IRichTextEditor, serviceLocator?: ServiceLocator);
    private addEventListener;
    private destroy;
    private removeEventListener;
    private pasteClean;
    private splitBreakLine;
    private makeSpace;
    private imgUploading;
    private getBlob;
    private toolbarEnableDisable;
    private uploadMethod;
    private uploadFailure;
    private popupClose;
    private refreshPopup;
    private base64ToFile;
    /**
     * Method for image formatting when pasting
     *
     * @param {Object} pasteArgs - specifies the paste arguments.
     * @param {Element []} imgElement - specifies the array elements.
     * @returns {void}
     * @hidden
     * @deprecated
     */
    private imageFormatting;
    private radioRender;
    private selectFormatting;
    private pasteDialog;
    private updateCss;
    private setCssClass;
    private destroyDialog;
    private docClick;
    private cleanAppleClass;
    private formatting;
    private convertBlobToBase64;
    private cropImageHandler;
    private addTableClass;
    private setImageProperties;
    private addTempClass;
    private removeTempClass;
    private sanitizeHelper;
    private plainFormatting;
    private tagGrouping;
    private attributesfilter;
    private deniedTags;
    private deniedAttributes;
    private allowedStyle;
    private processPictureElement;
    /**
     * For internal use only - Get the module name.
     *
     * @returns {void}
     * @hidden
     */
    private getModuleName;
}
//node_modules/@syncfusion/ej2-richtexteditor/src/rich-text-editor/actions/markdown-toolbar-status.d.ts
/**
 * MarkdownToolbarStatus module for refresh the toolbar status
 */
export  class MarkdownToolbarStatus {
    selection: MarkdownSelection;
    parent: IRichTextEditor;
    element: HTMLTextAreaElement;
    toolbarStatus: IToolbarStatus;
    private prevToolbarStatus;
    constructor(parent: IRichTextEditor);
    private addEventListener;
    private removeEventListener;
    private onRefreshHandler;
    private isListsApplied;
    private currentFormat;
    private codeFormat;
    private getSelectedText;
    private isCode;
    private multiCharRegx;
}
//node_modules/@syncfusion/ej2-richtexteditor/src/rich-text-editor/actions/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;
    private isDestroyed;
    constructor(parent?: IRichTextEditor, serviceLocator?: ServiceLocator);
    /**
     * Destroys the Markdown.
     *
     * @function destroy
     * @returns {void}
     * @hidden
     * @deprecated
     */
    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.
     *
     * @param {RichTextEditorModel} e - specifies the editor model
     * @returns {void}
     * @hidden
     * @deprecated
     */
    protected onPropertyChanged(e: {
        [key: string]: RichTextEditorModel;
    }): void;
    /**
     * For internal use only - Get the module name.
     *
     * @returns {void}
     */
    private getModuleName;
    /**
     * For selecting all content in RTE
     *
     * @returns {void}
     * @private
     */
    private selectAll;
    /**
     * For get a selected text in RTE
     *
     * @param {NotifyArgs} e - specifies the arguments.
     * @returns {void}
     * @private
     */
    private getSelectedHtml;
}
//node_modules/@syncfusion/ej2-richtexteditor/src/rich-text-editor/actions/keyboard.d.ts
/**
 * KeyboardEvents
 */
export interface KeyboardEventArgs extends KeyboardEvent {
    /**
     * action of the KeyboardEvent
     */
    action: string;
}
/**
 * KeyboardEvents class enables you to bind key action desired key combinations for ex., Ctrl+A, Delete, Alt+Space etc.
 * ```html
 * <div id='testEle'>  </div>;
 * <script>
 *   let node: HTMLElement = document.querySelector('#testEle');
 *   let kbInstance = new KeyboardEvents({
 *       element: node,
 *       keyConfigs:{ selectAll : 'ctrl+a' },
 *       keyAction: function (e:KeyboardEvent, action:string) {
 *           // handler function code
 *       }
 *   });
 * </script>
 * ```
 *
 * @hidden
 * @deprecated
 */
export  class KeyboardEvents extends base.Base<HTMLElement> implements base.INotifyPropertyChanged {
    /**
     * Specifies key combination and it respective action name.
     *
     * @default null
     */
    keyConfigs: {
        [key: string]: string;
    };
    /**
     * Specifies on which event keyboardEvents class should listen for key press. For ex., `keyup`, `keydown` or `keypress`
     *
     * @default 'keyup'
     */
    eventName: string;
    /**
     * Specifies the listener when keyboard actions is performed.
     *
     * @event 'keyAction'
     */
    keyAction: base.EmitType<KeyboardEventArgs>;
    /**
     * Initializes the KeyboardEvents
     *
     * @param {HTMLElement} element - specifies the elements.
     * @param {base.KeyboardEventsModel} options - specify the options
     */
    constructor(element: HTMLElement, options?: base.KeyboardEventsModel);
    /**
     * Unwire bound events and destroy the instance.
     *
     * @returns {void}
     */
    destroy(): void;
    /**
     * Function can be used to specify certain action if a property is changed
     *
     * @param {base.KeyboardEventsModel} newProp - specifies the keyboard event.
     * @param {base.KeyboardEventsModel} oldProp - specifies the old property.
     * @returns {void}
     * @private
     */
    onPropertyChanged(newProp: base.KeyboardEventsModel, oldProp?: base.KeyboardEventsModel): void;
    protected bind(): void;
    /**
     * To get the module name, returns 'keyboard'.
     *
     * @returns {void}
     */
    getModuleName(): string;
    /**
     * Wiring event handlers to events
     *
     * @returns {void}
     */
    private wireEvents;
    /**
     * Unwiring event handlers to events
     *
     * @returns {void}
     */
    private unwireEvents;
    /**
     * To handle a key press event returns null
     *
     * @param {KeyboardEventArgs} e - specifies the event arguments.
     * @returns {void}
     */
    private keyPressHandler;
    private static configCache;
    /**
     * To get the key configuration data
     *
     * @param {string} config - configuration data
     * @returns {KeyData} - specifies the key data
     */
    private static getKeyConfigData;
    private static getKeyCode;
}
//node_modules/@syncfusion/ej2-richtexteditor/src/rich-text-editor/actions/keyboard-model.d.ts
/**
 * Interface for a class KeyboardEvents
 */
export interface KeyboardEventsModel {
    /**
     * Specifies key combination and it respective action name.
     *
     * @default null
     */
    keyConfigs?: { [key: string]: string };
    /**
     * Specifies on which event keyboardEvents class should listen for key press. For ex., `keyup`, `keydown` or `keypress`
     *
     * @default 'keyup'
     */
    eventName?: string;
    /**
     * Specifies the listener when keyboard actions is performed.
     *
     * @event 'keyAction'
     */
    keyAction?: base.EmitType<KeyboardEventArgs>;
}
/**
 */
export  class ImportExport {
    private rteID;
    private parent;
    private uploaderObj;
    constructor(parent?: IRichTextEditor);
    private addEventListener;
    private onImport;
    private onExport;
    private destroy;
    /**
     * For internal use only - Get the module name.
     *
     * @returns {void}
     * @hidden
     */
    private getModuleName;
}
//node_modules/@syncfusion/ej2-richtexteditor/src/rich-text-editor/actions/html-toolbar-status.d.ts
/**
 * HtmlToolbarStatus module for refresh the toolbar status
 */
export  class HtmlToolbarStatus {
    parent: IRichTextEditor;
    toolbarStatus: IToolbarStatus;
    private prevToolbarStatus;
    constructor(parent: IRichTextEditor);
    private addEventListener;
    private removeEventListener;
    private onRefreshHandler;
}
//node_modules/@syncfusion/ej2-richtexteditor/src/rich-text-editor/actions/html-editor.d.ts
/**
 * `HtmlEditor` module is used to HTML editor
 */
export  class HtmlEditor {
    private isDestroyed;
    private parent;
    private locator;
    private contentRenderer;
    private renderFactory;
    private toolbarUpdate;
    private nodeSelectionObj;
    private rangeCollection;
    private rangeElement;
    private oldRangeElement;
    private deleteRangeElement;
    private deleteOldRangeElement;
    private isImageDelete;
    private isMention;
    private saveSelection;
    xhtmlValidation: XhtmlValidation;
    private clickTimeout;
    private isCopyAll;
    private isSlashMenuOpen;
    private isPreviousNodeBrAfterBackSpace;
    constructor(parent?: IRichTextEditor, serviceLocator?: ServiceLocator);
    /**
     * Destroys the Markdown.
     *
     * @function destroy
     * @returns {void}
     * @hidden
     * @deprecated
     */
    destroy(): void;
    /**
     * @param {string} value - specifies the string value
     * @returns {void}
     * @hidden
     * @deprecated
     */
    sanitizeHelper(value: string): string;
    private addEventListener;
    private onSlashMenuOpen;
    private updateReadOnly;
    private onSelectionSave;
    private onSelectionRestore;
    private isTableClassAdded;
    private onHandleFontsizeChange;
    private convertFontSize;
    private onKeyUp;
    private removeZeroWidthSpaces;
    private onKeyDown;
    private isOrderedList;
    private isUnOrderedList;
    private hasMultipleTextNode;
    private isCursorAtBlockStart;
    private backSpaceCleanup;
    private getLastNode;
    private removeLastBr;
    private deleteCleanup;
    private getCaretIndex;
    private getRangeElement;
    private getRootBlockNode;
    private getRangeLiNode;
    private onPaste;
    private spaceLink;
    private onToolbarClick;
    private instantiateRenderer;
    private removeEventListener;
    private render;
    /**
     * Called internally if any of the property value changed.
     *
     * @param {RichTextEditorModel} e - specifies the editor model
     * @returns {void}
     * @hidden
     * @deprecated
     */
    protected onPropertyChanged(e: {
        [key: string]: RichTextEditorModel;
    }): void;
    /**
     * For internal use only - Get the module name.
     *
     * @returns {string} - returns the string value
     * @hidden
     */
    private getModuleName;
    /**
     * For selecting all content in RTE
     *
     * @returns {void}
     * @private
     * @hidden
     */
    private selectAll;
    /**
     * For selecting all content in RTE
     *
     * @param {NotifyArgs} e - specifies the notified arguments
     * @returns {void}
     * @private
     * @hidden
     */
    private selectRange;
    /**
     * For get a selected text in RTE
     *
     * @param {NotifyArgs} e - specifies the notified arguments
     * @returns {void}
     * @hidden
     */
    private getSelectedHtml;
    private tableSelectionKeyAction;
    private marginTabAdd;
}
//node_modules/@syncfusion/ej2-richtexteditor/src/rich-text-editor/actions/html-attributes.d.ts
/**
 * Used to set the HTML Attributes for RTE container
 */
/**
 * @param {string} htmlAttributes - specifies the string value
 * @param {IRichTextEditor} rte - specifies the rte value
 * @param {boolean} isFrame - specifies the boolean value
 * @param {boolean} initial - specifies the boolean value
 * @returns {void}
 * @hidden
 */
export  function setAttributes(htmlAttributes: {
    [key: string]: string;
}, rte: IRichTextEditor, isFrame: boolean, initial: boolean): void;
//node_modules/@syncfusion/ej2-richtexteditor/src/rich-text-editor/actions/full-screen.d.ts
/**
 * `FullScreen` module is used to maximize and minimize screen
 */
export  class FullScreen {
    protected parent: IRichTextEditor;
    private scrollableParent;
    constructor(parent?: IRichTextEditor);
    /**
     * showFullScreen method
     *
     * @param {MouseEvent} event - specifies the mouse event
     * @returns {void}
     * @hidden
     * @deprecated
     */
    showFullScreen(event?: MouseEvent | base.KeyboardEventArgs): void;
    /**
     * hideFullScreen method
     *
     * @param {MouseEvent} event - specifies the mouse event
     * @returns {void}
     * @hidden
     * @deprecated
     */
    hideFullScreen(event?: MouseEvent | base.KeyboardEventArgs): void;
    private toggleParentOverflow;
    private onKeyDown;
    protected addEventListener(): void;
    protected removeEventListener(): void;
    /**
     * destroy method
     *
     * @returns {void}
     * @hidden
     * @deprecated
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-richtexteditor/src/rich-text-editor/actions/format-painter.d.ts
export  class FormatPainter implements IFormatPainter {
    private parent;
    private isSticky;
    private isActive;
    previousAction: string;
    private isDestroyed;
    constructor(parent?: IRichTextEditor);
    private addEventListener;
    private toolbarClick;
    private toolbarDoubleClick;
    private onKeyDown;
    private actionHandler;
    private updateCursor;
    private updateToolbarBtn;
    private editAreaClick;
    destroy(): void;
    /**
     * For internal use only - Get the module name.
     *
     * @returns {void}
     * @hidden
     */
    private getModuleName;
}
//node_modules/@syncfusion/ej2-richtexteditor/src/rich-text-editor/actions/file-manager.d.ts
/**
 * `FileManager` module is used to display the directories and images inside the editor.
 */
export  class FileManager {
    private i10n;
    dialogObj: popups.Dialog;
    private fileWrap;
    private fileObj;
    private contentModule;
    protected parent: IRichTextEditor;
    private inputUrl;
    private selectObj;
    private dlgButtons;
    private dialogRenderObj;
    private rendererFactory;
    private isDestroyed;
    private insertImageBoundFn;
    private cancelDialogBoundFn;
    private renderFileManagerBoundFn;
    private dialogClosedBoundFn;
    private onDocumentClickBoundFn;
    private constructor();
    private initialize;
    private render;
    private setCssClass;
    private dialogClosed;
    private renderFileManager;
    private getInputUrlElement;
    private insertImageUrl;
    private cancelDialog;
    private onDocumentClick;
    private addEventListener;
    private removeEventListener;
    private destroyComponents;
    private destroy;
    /**
     * For internal use only - Get the module name.
     *
     * @returns {string} - returns the string value
     * @hidden
     */
    private getModuleName;
}
//node_modules/@syncfusion/ej2-richtexteditor/src/rich-text-editor/actions/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/enter-key.d.ts
/**
 * `EnterKey` module is used to handle enter key press actions.
 */
export  class EnterKeyAction {
    private parent;
    private range;
    private startNode;
    private endNode;
    private formatTags;
    constructor(parent?: IRichTextEditor);
    protected addEventListener(): void;
    private destroy;
    private removeEventListener;
    private getRangeNode;
    private enterHandler;
    private getFirstTextNode;
    private removeBRElement;
    private insertBRElement;
    private insertFocusContent;
    private createInsertElement;
    private triggerActionComplete;
    private handleCursorAtTableSide;
    private handleEnterKeyAtImageSide;
    private isTableOrImageStart;
    private isTableOrImageEnd;
    private processedTableImageCursor;
}
//node_modules/@syncfusion/ej2-richtexteditor/src/rich-text-editor/actions/emoji-picker.d.ts
export  class EmojiPicker {
    protected parent: IRichTextEditor;
    protected locator: ServiceLocator;
    protected renderFactory: RendererFactory;
    popupObj: popups.Popup;
    private popDiv;
    private save;
    private clickEvent;
    private divElement;
    private i10n;
    private isDestroyed;
    isPopupDestroyed: boolean;
    noResultsFoundCount: number;
    constructor(parent?: IRichTextEditor, serviceLocator?: ServiceLocator);
    /**
     * Destroys the Count.
     *
     * @function destroy
     * @returns {void}
     * @hidden
     * @deprecated
     */
    destroy(): void;
    childDestroy(): void;
    protected addEventListener(): void;
    private toolbarClick;
    private onIframeMouseDown;
    private buttoncode;
    private docClick;
    private scrollEvent;
    private contentscroll;
    private emojiToolbarClick;
    private onKeyDown;
    private filterKeyHandler;
    private searchFilter;
    private emojiBtnClick;
    private onkeyPress;
    private onkeyUp;
    private getCoordinates;
    protected removeEventListener(): void;
    /**
     * For internal use only - Get the module name.
     *
     * @returns {string} - returns the string value
     */
    private getModuleName;
}
//node_modules/@syncfusion/ej2-richtexteditor/src/rich-text-editor/actions/dropdown-buttons.d.ts
/**
 * `Toolbar` module is used to handle Toolbar actions.
 */
export  class DropDownButtons {
    numberFormatListDropDown: splitbuttons.DropDownButton;
    bulletFormatListDropDown: splitbuttons.DropDownButton;
    formatDropDown: splitbuttons.DropDownButton;
    fontNameDropDown: splitbuttons.DropDownButton;
    fontSizeDropDown: splitbuttons.DropDownButton;
    alignDropDown: splitbuttons.DropDownButton;
    imageAlignDropDown: splitbuttons.DropDownButton;
    displayDropDown: splitbuttons.DropDownButton;
    tableRowsDropDown: splitbuttons.DropDownButton;
    tableColumnsDropDown: splitbuttons.DropDownButton;
    tableCellDropDown: splitbuttons.DropDownButton;
    tableCellVerticalAlignDropDown: splitbuttons.DropDownButton;
    /**
     *
     * @hidden
     * @private
     */
    parent: IRichTextEditor;
    protected locator: ServiceLocator;
    protected toolbarRenderer: IRenderer;
    protected renderFactory: RendererFactory;
    private i10n;
    constructor(parent?: IRichTextEditor, serviceLocator?: ServiceLocator);
    private initializeInstance;
    private beforeRender;
    private dropdownContent;
    /**
     * renderDropDowns method
     *
     * @param {IDropDownRenderArgs} args - specifies the arguments
     * @returns {void}
     * @hidden
     * @param {HTMLElement} targetEle - specifies the arugument
     * @deprecated
     */
    renderDropDowns(args: IDropDownRenderArgs, targetEle?: HTMLElement): void;
    private getUpdateItems;
    private onPropertyChanged;
    private getEditNode;
    private rowDropDown;
    private columnDropDown;
    private cellDropDown;
    private verticalAlignDropDown;
    private renderDisplayDropDown;
    private renderAlignmentDropDown;
    private tableStylesDropDown;
    private removeDropDownClasses;
    /**
     * destroyDropDowns method
     *
     * @returns {void}
     * @hidden
     * @deprecated
     */
    destroyDropDowns(): void;
    private setRtl;
    private updateCss;
    private setCssClass;
    protected addEventListener(): void;
    private onIframeMouseDown;
    private closeOpenDropdowns;
    protected removeEventListener(): void;
    destroy(): 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;
    private isDestroyed;
    constructor(parent?: IRichTextEditor, serviceLocator?: ServiceLocator);
    private initializeInstance;
    /**
     * renderCount method
     *
     * @returns {void}
     * @hidden
     * @deprecated
     */
    renderCount(): void;
    private appendCount;
    private charCountBackground;
    /**
     * @returns {void}
     * @hidden
     * @deprecated
     */
    refresh(): void;
    /**
     * Destroys the Count.
     *
     * @function destroy
     * @returns {void}
     * @hidden
     * @deprecated
     */
    destroy(): void;
    private toggle;
    protected addEventListener(): void;
    protected removeEventListener(): void;
    /**
     * For internal use only - Get the module name.
     *
     * @returns {string} - returns the string value
     */
    private getModuleName;
}
//node_modules/@syncfusion/ej2-richtexteditor/src/rich-text-editor/actions/color-picker.d.ts
/**
 * `Color Picker` module is used to handle ColorPicker actions.
 */
export  class ColorPickerInput {
    private defaultColorPicker;
    private fontColorPicker;
    private backgroundColorPicker;
    /**
     * @hidden
     */
    fontColorDropDown: splitbuttons.DropDownButton;
    /**
     * @hidden
     */
    backgroundColorDropDown: splitbuttons.DropDownButton;
    protected parent: IRichTextEditor;
    protected locator: ServiceLocator;
    protected toolbarRenderer: IRenderer;
    protected renderFactory: RendererFactory;
    private tools;
    constructor(parent?: IRichTextEditor, serviceLocator?: ServiceLocator);
    private initializeInstance;
    /**
     * renderColorPickerInput method
     *
     * @param {IColorPickerRenderArgs} args - specify the arguments.
     * @returns {void}
     * @hidden
     * @deprecated
     */
    renderColorPickerInput(args: IColorPickerRenderArgs): void;
    destroy(): void;
    /**
     * destroyColorPicker method
     *
     * @returns {void}
     * @hidden
     * @deprecated
     */
    destroyColorPicker(): void;
    private setRtl;
    private setCssClass;
    private updateCss;
    protected addEventListener(): void;
    private showColorPicker;
    private onPropertyChanged;
    protected removeEventListener(): void;
}
//node_modules/@syncfusion/ej2-richtexteditor/src/rich-text-editor/actions/base-toolbar.d.ts
/**
 * `Toolbar` module is used to handle Toolbar actions.
 */
export  class BaseToolbar {
    toolbarObj: navigations.Toolbar;
    /**
     *
     * @hidden
     * @private
     */
    parent: IRichTextEditor;
    isDestroyed: boolean;
    protected locator: ServiceLocator;
    protected toolbarRenderer: IRenderer;
    protected renderFactory: RendererFactory;
    private tools;
    constructor(parent?: IRichTextEditor, serviceLocator?: ServiceLocator);
    private addEventListener;
    private removeEventListener;
    private setCssClass;
    private setRtl;
    private getClass;
    private getTemplateObject;
    /**
     * getObject method
     *
     * @param {string} item - specifies the string value
     * @param {string} container - specifies the value of string
     * @returns {IToolbarItemModel} - returns the model element
     * @hidden
     * @deprecated
     */
    getObject(item: string, container: string): IToolbarItemModel;
    /**
     * @param {string} tbItems - specifies the string value
     * @param {string} container - specifies the container value
     * @returns {navigations.ItemModel} - retunrs the model element
     * @hidden
     * @deprecated
     */
    getItems(tbItems: (string | IToolbarItems)[], container: string): navigations.ItemModel[];
    private getToolbarOptions;
    /**
     * render method
     *
     * @param {IToolbarRenderOptions} args - specifies the toolbar options
     * @returns {void}
     * @hidden
     * @deprecated
     */
    render(args: IToolbarRenderOptions): void;
    destroy(): void;
}
//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 implements IBaseQuickToolbar {
    isDestroyed: boolean;
    popupObj: popups.Popup;
    element: HTMLElement;
    isRendered: boolean;
    quickTBarObj: BaseToolbar;
    private stringItems;
    private dropDownButtons;
    private colorPickerObj;
    private locator;
    private parent;
    private contentRenderer;
    private popupRenderer;
    toolbarElement: HTMLElement;
    private renderFactory;
    private tooltip;
    constructor(parent?: IRichTextEditor, locator?: ServiceLocator);
    private appendPopupContent;
    /**
     * render method
     *
     * @param {IQuickToolbarOptions} args - specifies the arguments
     * @returns {void}
     * @hidden
     * @deprecated
     */
    render(args: IQuickToolbarOptions): void;
    private createToolbar;
    private setPosition;
    private checkCollision;
    /**
     * showPopup method
     *
     * @param {number} x - specifies the x value
     * @param {number} y - specifies the y value
     * @param {Element} target - specifies the element
     * @param {string} type - specifies the type
     * @returns {void}
     * @hidden
     * @deprecated
     */
    showPopup(x: number, y: number, target: Element, type?: string): void;
    private tooltipBeforeRender;
    /**
     * hidePopup method
     *
     * @returns {void}
     * @hidden
     * @deprecated
     */
    hidePopup(): void;
    /**
     * @param {string} item - specifies the string value
     * @param {number} index - specifies the index value
     * @returns {void}
     * @hidden
     * @deprecated
     */
    addQTBarItem(item: (string | IToolbarItems)[], index: number): void;
    /**
     * @param {number} index - specifies the index value
     * @returns {void}
     * @hidden
     * @deprecated
     */
    removeQTBarItem(index: number | HTMLElement[] | Element[]): void;
    private removeEleFromDOM;
    private updateStatus;
    /**
     * Destroys the Quick toolbar.
     *
     * @function destroy
     * @returns {void}
     * @hidden
     * @deprecated
     */
    destroy(): void;
    /**
     * addEventListener method
     *
     * @returns {void}
     * @hidden
     * @deprecated
     */
    addEventListener(): void;
    /**
     * Called internally if any of the property value changed.
     *
     * @param {RichTextEditorModel} e - specifies the model element
     * @returns {void}
     * @hidden
     * @deprecated
     */
    protected onPropertyChanged(e: {
        [key: string]: RichTextEditorModel;
    }): void;
    /**
     * removeEventListener method
     *
     * @returns {void}
     * @hidden
     * @deprecated
     */
    removeEventListener(): void;
}
//node_modules/@syncfusion/ej2-richtexteditor/src/markdown-parser/plugin.d.ts
/**
 * Export all markdown plugins
 */
//node_modules/@syncfusion/ej2-richtexteditor/src/markdown-parser/base.d.ts
/**
 * Base export
 */
//node_modules/@syncfusion/ej2-richtexteditor/src/markdown-parser/plugin/undo.d.ts
/**
 * `Undo` module is used to handle undo actions.
 */
export  class UndoRedoCommands {
    steps: number;
    undoRedoStack: MarkdownUndoRedoData[];
    private parent;
    private selection;
    private currentAction;
    undoRedoSteps: number;
    undoRedoTimer: number;
    constructor(parent?: MarkdownParser, options?: {
        [key: string]: number;
    });
    protected addEventListener(): void;
    private onPropertyChanged;
    protected removeEventListener(): void;
    /**
     * Destroys the ToolBar.
     *
     * @function destroy
     * @returns {void}
     * @hidden
     * @deprecated
     */
    destroy(): void;
    /**
     * onAction method
     *
     * @param {IMarkdownSubCommands} e - specifies the sub commands
     * @returns {void}
     * @hidden
     * @deprecated
     */
    onAction(e: IMarkdownSubCommands): void;
    private keyDown;
    private keyUp;
    /**
     * MD collection stored string format.
     *
     * @param {KeyboardEvent} e - specifies the key board event
     * @function saveData
     * @returns {void}
     * @hidden
     * @deprecated
     */
    saveData(e?: KeyboardEvent | MouseEvent | IUndoCallBack): void;
    /**
     * Undo the editable text.
     *
     * @param {IMarkdownSubCommands} e - specifies the sub commands
     * @function undo
     * @returns {void}
     * @hidden
     * @deprecated
     */
    undo(e?: IMarkdownSubCommands | IMDKeyboardEvent): void;
    /**
     * Redo the editable text.
     *
     * @param {IMarkdownSubCommands} e - specifies the sub commands
     * @function redo
     * @returns {void}
     * @hidden
     * @deprecated
     */
    redo(e?: IMarkdownSubCommands | IMDKeyboardEvent): void;
    private restore;
    /**
     * getUndoStatus method
     *
     * @returns {boolean} - returns the boolean value
     * @hidden
     * @deprecated
     */
    getUndoStatus(): {
        [key: string]: boolean;
    };
    getCurrentStackIndex(): number;
}
//node_modules/@syncfusion/ej2-richtexteditor/src/markdown-parser/plugin/table.d.ts
/**
 * Link internal component
 *
 * @hidden
 * @deprecated
 */
export  class MDTable {
    private parent;
    private selection;
    private syntaxTag;
    private element;
    private locale;
    /**
     * Constructor for creating the Formats plugin
     *
     * @param {IMDTable} options - specifies the options
     * @hidden
     * @deprecated
     */
    constructor(options: IMDTable);
    private addEventListener;
    private removeEventListener;
    /**
     * markdown destroy method
     *
     * @returns {void}
     * @hidden
     * @deprecated
     */
    destroy(): void;
    private onKeyDown;
    private createTable;
    private getTable;
    private tableHeader;
    private tableCell;
    private insertLine;
    private insertTable;
    private makeSelection;
    private getFormatTag;
    private ensureFormatApply;
    private ensureStartValid;
    private ensureEndValid;
    private updateValueWithFormat;
    private updateValue;
    private checkValid;
    private convertToLetters;
    private textNonEmpty;
    private isCursorBased;
    private isSelectionBased;
    private restore;
}
//node_modules/@syncfusion/ej2-richtexteditor/src/markdown-parser/plugin/md-selection-formats.d.ts
/**
 * SelectionCommands internal component
 *
 * @hidden
 * @deprecated
 */
export  class MDSelectionFormats {
    private parent;
    private selection;
    syntax: {
        [key: string]: string;
    };
    private currentAction;
    constructor(parent: IMDFormats);
    private addEventListener;
    private removeEventListener;
    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;
    destroy(): void;
}
//node_modules/@syncfusion/ej2-richtexteditor/src/markdown-parser/plugin/markdown-selection.d.ts
/**
 * MarkdownSelection internal module
 *
 * @hidden
 * @deprecated
 */
export  class MarkdownSelection {
    selectionStart: number;
    selectionEnd: number;
    /**
     * markdown getLineNumber method
     *
     * @param {HTMLTextAreaElement} textarea - specifies the text area element
     * @param {number} point - specifies the number value
     * @returns {number} - returns the value
     * @hidden
     * @deprecated
     */
    getLineNumber(textarea: HTMLTextAreaElement, point: number): number;
    /**
     * markdown getSelectedText method
     *
     * @param {HTMLTextAreaElement} textarea - specifies the text area element
     * @returns {string} - specifies the string value
     * @hidden
     * @deprecated
     */
    getSelectedText(textarea: HTMLTextAreaElement): string;
    /**
     * markdown getAllParents method
     *
     * @param {string} value - specifies the string value
     * @returns {string[]} - returns the string value
     * @hidden
     * @deprecated
     */
    getAllParents(value: string): string[];
    /**
     * markdown getSelectedLine method
     *
     * @param {HTMLTextAreaElement} textarea - specifies the text area element
     * @returns {string} - returns the string value
     * @hidden
     * @deprecated
     */
    getSelectedLine(textarea: HTMLTextAreaElement): string;
    /**
     * markdown getLine method
     *
     * @param {HTMLTextAreaElement} textarea - specifies the text area element
     * @param {number} index - specifies the number value
     * @returns {string} - returns the string value
     * @hidden
     * @deprecated
     */
    getLine(textarea: HTMLTextAreaElement, index: number): string;
    /**
     * markdown getSelectedParentPoints method
     *
     * @param {HTMLTextAreaElement} textarea - specifies the text area element
     * @returns {string} - returns the string value
     * @hidden
     * @deprecated
     */
    getSelectedParentPoints(textarea: HTMLTextAreaElement): {
        [key: string]: string | number;
    }[];
    /**
     * markdown setSelection method
     *
     * @param {HTMLTextAreaElement} textarea - specifies the text area element
     * @param {number} start - specifies the start vaulue
     * @param {number} end - specifies the end value
     * @returns {void}
     * @hidden
     * @deprecated
     */
    setSelection(textarea: HTMLTextAreaElement, start: number, end: number): void;
    /**
     * markdown save method
     *
     * @param {number} start - specifies the start vaulue
     * @param {number} end - specifies the end value
     * @returns {void}
     * @hidden
     * @deprecated
     */
    save(start: number, end: number): void;
    /**
     * markdown restore method
     *
     * @param {HTMLTextAreaElement} textArea - specifies the text area element
     * @returns {void}
     * @hidden
     * @deprecated
     */
    restore(textArea: HTMLTextAreaElement): void;
    /**
     * markdown isStartWith method
     *
     * @param {string} line - specifies the string value
     * @param {string} command - specifies the string value
     * @returns {boolean} - returns the boolean value
     * @hidden
     * @deprecated
     */
    isStartWith(line: string, command: string): boolean;
    /**
     * markdown replaceSpecialChar method
     *
     * @param {string} value - specifies the string value
     * @returns {string} - returns the value
     * @hidden
     * @deprecated
     */
    replaceSpecialChar(value: string): string;
    /**
     * markdown isClear method
     *
     * @param {string} parents - specifies the parent element
     * @param {string} regex - specifies the regex value
     * @returns {boolean} - returns the boolean value
     * @hidden
     * @deprecated
     */
    isClear(parents: {
        [key: string]: string | number;
    }[], regex: string): boolean;
    /**
     * markdown getSelectedInlinePoints method
     *
     * @param {HTMLTextAreaElement} textarea - specifies the text area
     * @returns {void}
     * @hidden
     * @deprecated
     */
    getSelectedInlinePoints(textarea: HTMLTextAreaElement): {
        [key: string]: string | number;
    };
}
//node_modules/@syncfusion/ej2-richtexteditor/src/markdown-parser/plugin/lists.d.ts
/**
 * Lists internal component
 *
 * @hidden
 */
export  class MDLists {
    private parent;
    private startContainer;
    private endContainer;
    private selection;
    private syntax;
    private currentAction;
    /**
     * Constructor for creating the Lists plugin
     *
     * @param {IMDFormats} options - specifies the options
     * @hidden
     */
    constructor(options: IMDFormats);
    private addEventListener;
    private removeEventListener;
    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;
    destroy(): void;
}
//node_modules/@syncfusion/ej2-richtexteditor/src/markdown-parser/plugin/link.d.ts
/**
 * Link internal component
 *
 * @hidden
 * @deprecated
 */
export  class MDLink {
    private parent;
    private selection;
    /**
     * Constructor for creating the Formats plugin
     *
     * @param {MarkdownParser} parent - specifies the parent element
     * @hidden
     * @deprecated
     */
    constructor(parent: MarkdownParser);
    private addEventListener;
    private removeEventListener;
    private createLink;
    private restore;
    destroy(): void;
}
//node_modules/@syncfusion/ej2-richtexteditor/src/markdown-parser/plugin/insert-text.d.ts
/**
 * Link internal component
 *
 * @hidden
 * @deprecated
 */
export  class MDInsertText {
    private parent;
    private selection;
    /**
     * Constructor for creating the insert text plugin
     *
     * @param {MarkdownParser} parent - specifies the parent element
     * @hidden
     * @deprecated
     */
    constructor(parent: MarkdownParser);
    private addEventListener;
    private removeEventListener;
    private InsertTextExec;
    private restore;
    destroy(): void;
}
//node_modules/@syncfusion/ej2-richtexteditor/src/markdown-parser/plugin/formats.d.ts
/**
 * MDFormats internal plugin
 *
 * @hidden
 * @deprecated
 */
export  class MDFormats {
    private parent;
    private selection;
    syntax: {
        [key: string]: string;
    };
    /**
     * Constructor for creating the Formats plugin
     *
     * @param {IMDFormats} options - specifies the formats
     * @hidden
     * @deprecated
     */
    constructor(options: IMDFormats);
    private addEventListener;
    private removeEventListener;
    private applyFormats;
    private clearRegex;
    private cleanFormat;
    private applyCodeBlock;
    private replaceAt;
    private restore;
    private isAppliedFormat;
    destroy(): void;
}
//node_modules/@syncfusion/ej2-richtexteditor/src/markdown-parser/plugin/clearformat.d.ts
/**
 * Link internal component
 *
 * @hidden
 * @deprecated
 */
export  class ClearFormat {
    private parent;
    private selection;
    /**
     * Constructor for creating the clear format plugin
     *
     * @param {MarkdownParser} parent - specifies the parent element
     * @hidden
     * @deprecated
     */
    constructor(parent: MarkdownParser);
    private addEventListener;
    private removeEventListener;
    private replaceRegex;
    private clearSelectionTags;
    private clearFormatTags;
    private clearFormatLines;
    private clear;
    private restore;
    destroy(): void;
}
//node_modules/@syncfusion/ej2-richtexteditor/src/markdown-parser/base/types.d.ts
/**
 * Types type for Markdown parser
 *
 * @hidden
 * @deprecated
 */
export  type MarkdownExecCommand = 'Indents' | 'Lists' | 'Formats' | 'Alignments' | 'Style' | 'Effects' | 'Casing' | 'Actions' | 'table' | 'Links' | 'Images' | 'Clear' | 'Inserttext';
//node_modules/@syncfusion/ej2-richtexteditor/src/markdown-parser/base/markdown-parser.d.ts
/**
 * MarkdownParser internal component
 *
 * @hidden
 * @deprecated
 */
export  class MarkdownParser {
    observer: base.Observer;
    listObj: MDLists;
    formatObj: MDFormats;
    formatTags: {
        [key: string]: string;
    };
    listTags: {
        [key: string]: string;
    };
    selectionTags: {
        [key: string]: string;
    };
    element: Element;
    undoRedoManager: UndoRedoCommands;
    mdSelectionFormats: MDSelectionFormats;
    markdownSelection: MarkdownSelection;
    linkObj: MDLink;
    tableObj: MDTable;
    clearObj: ClearFormat;
    insertTextObj: MDInsertText;
    /**
     * Constructor for creating the component
     *
     * @param {IMarkdownParserModel} options - specifies the options
     * @hidden
     * @deprecated
     */
    constructor(options: IMarkdownParserModel);
    private initialize;
    private wireEvents;
    private unwireEvents;
    private onPropertyChanged;
    private editorKeyDown;
    private editorKeyUp;
    /**
     * markdown execCommand method
     *
     * @param {MarkdownExecCommand} command - specifies the command
     * @param {T} - specifies the value
     * @param {Event} event - specifies the event
     * @param {Function} callBack - specifies the call back function
     * @param {string} text - specifies the string value
     * @param {T} exeValue - specifies the value
     * @returns {void}
     * @hidden
     * @deprecated
     */
    execCommand<T>(command: MarkdownExecCommand, value: T, event?: Event, callBack?: Function, text?: string, exeValue?: T): void;
    destroy(): void;
}
//node_modules/@syncfusion/ej2-richtexteditor/src/markdown-parser/base/interface.d.ts
/**
 * Specifies IMDFormats interfaces.
 *
 * @hidden
 * @deprecated
 */
export interface IMDFormats {
    /**
     * Specifies the formatTags.
     */
    syntax?: {
        [key: string]: string;
    };
    /**
     * Specifies the parent.
     */
    parent?: MarkdownParser;
}
/**
 * Specifies IMTable interfaces.
 *
 * @hidden
 * @deprecated
 */
export interface IMDTable {
    syntaxTag?: {
        [key in MarkdownTableFormat]: {
            [key: string]: string;
        };
    };
    /**
     * Specifies the parent.
     */
    parent?: MarkdownParser;
}
/**
 * Defines types to be used to customize the markdown syntax.
 *
 * @deprecated
 */
export  type MarkdownTableFormat = 'Formats' | 'List';
/**
 * Specifies ISelectedLines interfaces.
 *
 * @hidden
 * @deprecated
 */
export interface ISelectedLines {
    /**
     * Specifies the parentLinePoints.
     */
    parentLinePoints: {
        [key: string]: string | number;
    }[];
    /**
     * Specifies the textarea selection start point.
     */
    start: number;
    /**
     * Specifies the textarea selection end point.
     */
    end: number;
}
/**
 * Specifies MarkdownParserModel interfaces.
 *
 * @hidden
 * @deprecated
 */
export interface IMarkdownParserModel {
    /**
     * Specifies the element.
     */
    element: Element;
    /**
     * Specifies the formatTags.
     */
    formatTags?: {
        [key: string]: string;
    };
    /**
     * Specifies the formatTags.
     */
    listTags?: {
        [key: string]: string;
    };
    /**
     * Specifies the selectionTags.
     */
    selectionTags?: {
        [key: string]: string;
    };
    /**
     * Specifies the options.
     */
    options?: {
        [key: string]: number;
    };
}
/**
 * Specifies ISubCommands interfaces.
 *
 * @hidden
 * @deprecated
 */
export interface IMarkdownSubCommands {
    /**
     * Specifies the subCommand.
     */
    subCommand: string;
    /**
     * Specifies the callBack.
     */
    callBack(args?: IMarkdownFormatterCallBack): () => void;
    /**
     * Specifies the originalEvent.
     */
    event?: MouseEvent;
}
/**
 * @deprecated
 */
export interface MarkdownUndoRedoData {
    text?: string;
    start?: number;
    end?: number;
}
/**
 * @deprecated
 */
export interface IMarkdownItem {
    module?: string;
    event?: KeyboardEvent | MouseEvent;
    item: IMarkdownItemArgs;
    value?: IMarkdownItemArgs;
    subCommand: string;
    callBack(args: IMarkdownFormatterCallBack): () => void;
}
/**
 * @deprecated
 */
export interface IMarkdownItemArgs {
    url?: string;
    text?: string;
    target?: string;
    width?: number | string;
    height?: number | string;
    headingText?: string;
    colText?: string;
}
/**
 * Specifies IMDKeyboardEvent interfaces.
 *
 * @hidden
 * @deprecated
 */
export interface IMDKeyboardEvent {
    /**
     * Specifies the callBack.
     */
    callBack(args?: IMarkdownFormatterCallBack): () => void;
    /**
     * Specifies the event.
     */
    event: base.KeyboardEventArgs;
}
//node_modules/@syncfusion/ej2-richtexteditor/src/markdown-parser/base/constant.d.ts
/**
 * Constant values for Markdown Parser
 */
/**
 * List plugin events
 *
 * @hidden
 */
export  const LISTS_COMMAND: string;
/**
 * selectioncommand plugin events
 *
 * @hidden
 */
export  const selectionCommand: string;
/**
 * Link plugin events
 *
 * @hidden
 */
export  const LINK_COMMAND: string;
/**
 * Clear plugin events
 *
 * @hidden
 */
export  const CLEAR_COMMAND: string;
/**
 * Table plugin events
 *
 * @hidden
 */
export  const MD_TABLE: string;
/**
 * insertText plugin events
 *
 * @hidden
 */
export  const INSERT_TEXT_COMMAND: string;
//node_modules/@syncfusion/ej2-richtexteditor/src/editor-manager/plugin.d.ts
/**
 * Base export
 */
//node_modules/@syncfusion/ej2-richtexteditor/src/editor-manager/base.d.ts
/**
 * Base export
 */
//node_modules/@syncfusion/ej2-richtexteditor/src/editor-manager/plugin/video.d.ts
/**
 * Video internal component
 *
 * @hidden
 * @deprecated
 */
export  class VideoCommand {
    private parent;
    private vidElement;
    /**
     * Constructor for creating the Video plugin
     *
     * @param {EditorManager} parent - specifies the parent element
     * @hidden
     * @deprecated
     */
    constructor(parent: EditorManager);
    private addEventListener;
    private removeEventListener;
    /**
     * videoCommand method
     *
     * @param {IHtmlItem} e - specifies the element
     * @returns {void}
     * @hidden
     * @deprecated
     */
    videoCommand(e: IHtmlItem): void;
    private wrapVideo;
    private createVideo;
    private editAreaVideoClick;
    private setStyle;
    private videoDimension;
    private callBack;
    destroy(): void;
}
//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;
    private debounceListener;
    constructor(parent?: EditorManager, options?: {
        [key: string]: number;
    });
    protected addEventListener(): void;
    private onPropertyChanged;
    protected removeEventListener(): void;
    /**
     * onAction method
     *
     * @param {IHtmlSubCommands} e - specifies the sub command
     * @returns {void}
     * @hidden
     * @deprecated
     */
    onAction(e: IHtmlSubCommands): void;
    /**
     * Destroys the ToolBar.
     *
     * @function destroy
     * @returns {void}
     * @hidden
     * @deprecated
     */
    destroy(): void;
    private keyDown;
    private keyUp;
    private getTextContentFromFragment;
    private isElementStructureEqual;
    /**
     * RTE collection stored html format.
     *
     * @function saveData
     * @param {KeyboardEvent} e - specifies the keyboard event
     * @returns {void}
     * @hidden
     * @deprecated
     */
    saveData(e?: KeyboardEvent | MouseEvent | IUndoCallBack): void;
    /**
     * Undo the editable text.
     *
     * @function undo
     * @param {IHtmlSubCommands} e - specifies the sub commands
     * @returns {void}
     * @hidden
     * @deprecated
     */
    undo(e?: IHtmlSubCommands | IHtmlKeyboardEvent): void;
    /**
     * Redo the editable text.
     *
     * @param {IHtmlSubCommands} e - specifies the sub commands
     * @function redo
     * @returns {void}
     * @hidden
     * @deprecated
     */
    redo(e?: IHtmlSubCommands | IHtmlKeyboardEvent): void;
    /**
     * getUndoStatus method
     *
     * @returns {boolean} - returns the boolean value
     * @hidden
     * @deprecated
     */
    getUndoStatus(): {
        [key: string]: boolean;
    };
    getCurrentStackIndex(): number;
}
//node_modules/@syncfusion/ej2-richtexteditor/src/editor-manager/plugin/toolbar-status.d.ts
/**
 * Update Toolbar Status
 *
 * @hidden
 * @deprecated
 */
export  const statusCollection: IToolbarStatus;
export  class ToolbarStatus {
    /**
     * get method
     *
     * @param {Document} docElement - specifies the document element
     * @param {Node} rootNode - specifies the content editable element
     * @param {string[]} formatNode - specifies the format node
     * @param {string[]} fontSize - specifies the font size
     * @param {string[]} fontName - specifies the font name.
     * @param {Node} documentNode - specifies the document node.
     * @returns {IToolbarStatus} - returns the toolbar status
     * @hidden
     * @deprecated
     */
    static get(docElement: Document, rootNode: Node, formatNode?: string[], fontSize?: string[], fontName?: string[], documentNode?: Node): IToolbarStatus;
    private static getImmediateBlockNode;
    private static getFormatParent;
    private static isFormattedNode;
    private static isFontColor;
    private static isLink;
    private static isBackgroundColor;
    private static isFontSize;
    private static isFontName;
    private static isOrderedList;
    private static isUnorderedList;
    private static isAlignment;
    private static isFormats;
    private static getComputedStyle;
    private static isNumberFormatList;
    private static isBulletFormatList;
}
//node_modules/@syncfusion/ej2-richtexteditor/src/editor-manager/plugin/table.d.ts
/**
 * Link internal component
 *
 * @hidden
 * @deprecated
 */
export  class TableCommand {
    private parent;
    private activeCell;
    private curTable;
    /**
     * Constructor for creating the Formats plugin
     *
     * @param {EditorManager} parent - specifies the parent element
     * @hidden
     * @deprecated
     */
    constructor(parent: EditorManager);
    private addEventListener;
    private removeEventListener;
    private createTable;
    private calculateStyleValue;
    private insertAfter;
    private getSelectedCellMinMaxIndex;
    private insertRow;
    private insertColumn;
    private setBGColor;
    private deleteColumn;
    private deleteRow;
    private getMergedRow;
    private removeTable;
    private tableHeader;
    private tableVerticalAlign;
    private cellMerge;
    private updateColSpanStyle;
    private updateRowSpanStyle;
    private updateCellAttribute;
    private mergeCellContent;
    private getSelectedMinMaxIndexes;
    private HorizontalSplit;
    private VerticalSplit;
    private getSplitColWidth;
    private getColSizes;
    private getCellIndex;
    private convertPixelToPercentage;
    private getCorrespondingColumns;
    private FindIndex;
    private getCorrespondingIndex;
    private highlightCells;
    private restoreRange;
    private tableStyle;
    private tableMove;
    destroy(): void;
    private cellStyleCleanup;
}
//node_modules/@syncfusion/ej2-richtexteditor/src/editor-manager/plugin/table-selection.d.ts
/**
 * Utilities to handle the table cell selection
 */
export  class TableSelection {
    private root;
    private currentDocument;
    private BLOCK_TAGS;
    private BASIC_FORMATS;
    constructor(root: HTMLElement | HTMLBodyElement, currentDocument: Document);
    /**
     * Get the block nodes from the selected cells.
     *
     * @returns {HTMLTableCellElement[]} - Returns the selected cells
     */
    getBlockNodes(): HTMLElement[];
    private addBlockNodes;
    /**
     * Get the text nodes from the selected cells
     *
     * @returns {Node[]} - Returns the text nodes
     */
    getTextNodes(): Node[];
    private addTextNodes;
    private wrapParagraphNodes;
    private wrapInlineNodes;
}
//node_modules/@syncfusion/ej2-richtexteditor/src/editor-manager/plugin/selection-exec.d.ts
/**
 * Selection EXEC internal component
 *
 * @hidden
 * @deprecated
 */
export  class SelectionBasedExec {
    private parent;
    /**
     * Constructor for creating the Formats plugin
     *
     * @param {EditorManager} parent - specifies the parent element
     * @hidden
     * @deprecated
     */
    constructor(parent: EditorManager);
    private addEventListener;
    private removeEventListener;
    private keyDownHandler;
    private applySelection;
    private callBack;
    destroy(): void;
}
//node_modules/@syncfusion/ej2-richtexteditor/src/editor-manager/plugin/selection-commands.d.ts
export  class SelectionCommands {
    static enterAction: string;
    static isUnwrapped: boolean;
    static isWrapped: boolean;
    static userAgentData: CustomUserAgentData;
    /**
     * applyFormat method
     *
     * @param {Document} docElement - specifies the document
     * @param {string} format - specifies the string value
     * @param {Node} endNode - specifies the end node
     * @param {string} enterAction - specifies the enter key action
     * @param {ITableSelection} tableCellSelection - specifies the table cell selection
     * @param {string} value - specifies the string value
     * @param {string} selector - specifies the string
     * @param {FormatPainterValue} painterValues specifies the element created and last child
     * @returns {void}
     * @hidden
     * @deprecated
     */
    static applyFormat(docElement: Document, format: string, endNode: Node, enterAction: string, tableCellSelection?: ITableSelection, value?: string, selector?: string, painterValues?: FormatPainterValue): void;
    private static insertCursorNode;
    private static getCursorFormat;
    private static removeFormat;
    private static insertFormat;
    private static applyStyles;
    private static getPriorityFormatNode;
    private static getInsertNode;
    private static getChildNode;
    private static applySelection;
    private static GetFormatNode;
    private static updateStyles;
    private static insertFormatPainterElem;
    private static formatPainterCleanup;
    private static concatenateTextExcludingList;
    private static conCatenateTextNode;
    private static hasColorsEqual;
    private static isMentionStartOrEnd;
}
//node_modules/@syncfusion/ej2-richtexteditor/src/editor-manager/plugin/nodecutter.d.ts
/**
 * Split the Node based on selection
 *
 * @hidden
 * @deprecated
 */
export  class NodeCutter {
    enterAction: string;
    position: number;
    private nodeSelection;
    /**
     * GetSpliceNode method
     *
     * @param {Range} range - specifies the range
     * @param {HTMLElement} node - specifies the node element.
     * @returns {Node} - returns the node value
     * @hidden
     * @deprecated
     */
    GetSpliceNode(range: Range, node: HTMLElement): Node;
    /**
     * @param {Range} range - specifies the range
     * @param {HTMLElement} node - specifies the node element.
     * @param {boolean} isCollapsed - specifies the boolean value
     * @returns {HTMLElement} - returns the element
     * @hidden
     * @deprecated
     */
    SplitNode(range: Range, node: HTMLElement, isCollapsed: boolean): HTMLElement;
    private isRteElm;
    private spliceEmptyNode;
    private GetCursorStart;
    /**
     * GetCursorRange method
     *
     * @param {Document} docElement - specifies the document
     * @param {Range} range - specifies the range
     * @param {Node} node - specifies the node.
     * @returns {Range} - returns the range value
     * @hidden
     * @deprecated
     */
    GetCursorRange(docElement: Document, range: Range, node: Node): Range;
    /**
     * GetCursorNode method
     *
     * @param {Document} docElement - specifies the document
     * @param {Range} range - specifies the range
     * @param {Node} node - specifies the node.
     * @returns {Node} - returns the node value
     * @hidden
     * @deprecated
     */
    GetCursorNode(docElement: Document, range: Range, node: Node): Node;
    /**
     * TrimLineBreak method
     *
     * @param {string} line - specifies the string value.
     * @returns {string} - returns the string
     * @hidden
     * @deprecated
     */
    TrimLineBreak(line: string): string;
}
//node_modules/@syncfusion/ej2-richtexteditor/src/editor-manager/plugin/ms-word-clean-up.d.ts
/**
 * PasteCleanup for MsWord content
 *
 * @hidden
 * @deprecated
 */
export  class MsWordPaste {
    private parent;
    constructor(parent?: EditorManager);
    private olData;
    private ulData;
    private ignorableNodes;
    private blockNode;
    private borderStyle;
    private upperRomanNumber;
    private lowerRomanNumber;
    private lowerGreekNumber;
    private removableElements;
    private listContents;
    private addEventListener;
    private removeEventListener;
    private cropImageDimensions;
    private wordCleanup;
    private addDoubleBr;
    private cleanList;
    private insertAfter;
    private findClosestListElem;
    private addListClass;
    private addTableBorderClass;
    private imageConversion;
    private checkVShape;
    private convertToBase64;
    private conBytesToBase64;
    private conHexStringToBytes;
    private hexConversion;
    private extractCropValue;
    private removeClassName;
    private breakLineAddition;
    private findDetachElem;
    private removeUnwantedElements;
    private findDetachEmptyElem;
    private hasParentWithClass;
    private removeEmptyElements;
    private removeEmptyMetaTags;
    private styleCorrection;
    private filterStyles;
    private removeUnwantedStyle;
    private findStyleObject;
    private removingComments;
    private cleanUp;
    private listConverter;
    private getlistStyleType;
    private makeConversion;
    private getListContent;
    private processMargin;
    private removeEmptyAnchorTag;
    private findSource;
    private handleOneNoteContent;
    destroy(): void;
}
//node_modules/@syncfusion/ej2-richtexteditor/src/editor-manager/plugin/lists.d.ts
/**
 * Lists internal component
 *
 * @hidden
 * @deprecated
 */
export  class Lists {
    private parent;
    private startContainer;
    private endContainer;
    private saveSelection;
    private domNode;
    private currentAction;
    private commonLIParent;
    private listTabIndentation;
    /**
     * Constructor for creating the Lists plugin
     *
     * @param {EditorManager} parent - specifies the parent element
     * @hidden
     * @deprecated
     */
    constructor(parent: EditorManager);
    private addEventListener;
    private removeEventListener;
    private testList;
    private testCurrentList;
    private createAutoList;
    private isInsideSameListType;
    private spaceList;
    private enterList;
    private applyFormattingFromRange;
    private handleNestedEnterKeyForLists;
    private backspaceList;
    private handleNestedListRearrangement;
    private findPreviousElementForCursor;
    private handleCursorPositioningAfterListRemoval;
    private removeList;
    private onKeyUp;
    private firstListBackSpace;
    private isAtListStart;
    private getFirstTextNode;
    private keyDownHandler;
    private handleListIndentation;
    private isCursorAtStartOfLI;
    private spaceKeyAction;
    private getAction;
    private revertClean;
    private noPreviousElement;
    private nestedList;
    private isCursorBeforeTable;
    private isCursorAtEndOfTable;
    private isListItemWithTableChild;
    private applyListsHandler;
    private setSelectionBRConfig;
    private applyLists;
    private setStyle;
    private removeEmptyListElements;
    private isRevert;
    private checkLists;
    private cleanNode;
    private findUnSelected;
    private revertList;
    private getClosestListParentMargin;
    private openTag;
    private closeTag;
    destroy(): void;
    private areAllListItemsSelected;
    private getListCursorInfo;
    private checkIsNestedList;
    private getListSelectionType;
    private isAllListNodesSelected;
}
//node_modules/@syncfusion/ej2-richtexteditor/src/editor-manager/plugin/link.d.ts
/**
 * Link internal component
 *
 * @hidden
 * @deprecated
 */
export  class LinkCommand {
    private parent;
    private drop;
    private enter;
    private start;
    private dragSelectionRange;
    /**
     * Constructor for creating the Formats plugin
     *
     * @param {EditorManager} parent - specifies the editor manager
     * @hidden
     * @deprecated
     */
    constructor(parent: EditorManager);
    private addEventListener;
    private removeEventListener;
    private linkCommand;
    private dragStart;
    private dragEnter;
    private dragDrop;
    private normalizeEmptyLinks;
    private createLink;
    private createAchorNode;
    private removeText;
    private openLink;
    private removeLink;
    private callBack;
    destroy(): void;
    private handleLinkFormat;
    private applyLinkToBlockNode;
    private unwrapLink;
    private replaceElementsWithAnchor;
    private getSplitNode;
}
//node_modules/@syncfusion/ej2-richtexteditor/src/editor-manager/plugin/isformatted.d.ts
/**
 * Is formatted or not.
 *
 * @hidden
 * @deprecated
 */
export  class IsFormatted {
    static inlineTags: string[];
    /**
     * getFormattedNode method
     *
     * @param {Node} node - specifies the node.
     * @param {string} format - specifies the string value.
     * @param {Node} endNode - specifies the end node
     * @returns {Node} - returns the node
     * @hidden
     * @deprecated
     */
    getFormattedNode(node: Node, format: string, endNode: Node): Node;
    private getFormatParent;
    private isFormattedNode;
    /**
     * isBold method
     *
     * @param {Node} node - specifies the node value
     * @returns {boolean} - returns the boolean value
     * @hidden
     * @deprecated
     */
    static isBold(node: Node): boolean;
    /**
     * isItalic method
     *
     * @param {Node} node - specifies the node value
     * @returns {boolean} - returns the boolean value
     * @hidden
     * @deprecated
     */
    static isItalic(node: Node): boolean;
    /**
     * isUnderline method
     *
     * @param {Node} node - specifies the node value
     * @returns {boolean} - returns the boolean value
     * @hidden
     * @deprecated
     */
    static isUnderline(node: Node): boolean;
    /**
     * isStrikethrough method
     *
     * @param {Node} node - specifies the node value
     * @returns {boolean} - returns the boolean value
     * @hidden
     * @deprecated
     */
    static isStrikethrough(node: Node): boolean;
    /**
     * isSuperscript method
     *
     * @param {Node} node - specifies the node value
     * @returns {boolean} - returns the boolean value
     * @hidden
     * @deprecated
     */
    static isSuperscript(node: Node): boolean;
    /**
     * isSubscript method
     *
     * @param {Node} node - specifies the node value
     * @returns {boolean} - returns the boolean value
     * @hidden
     * @deprecated
     */
    static isSubscript(node: Node): boolean;
    private isFontColor;
    private isBackgroundColor;
    private isFontSize;
    private isFontName;
    /**
     * isCode method
     *
     * @param {Node} node - specifies the node value
     * @returns {boolean} - returns the boolean value
     * @hidden
     * @deprecated
     */
    static isCode(node: Node): boolean;
}
//node_modules/@syncfusion/ej2-richtexteditor/src/editor-manager/plugin/inserthtml.d.ts
/**
 * Insert a HTML Node or Text
 *
 * @hidden
 * @deprecated
 */
export  class InsertHtml {
    /**
     * Insert method
     *
     * @hidden
     * @deprecated
     */
    static inlineNode: string[];
    static contentsDeleted: boolean;
    private static isAnotherLiFromEndLi;
    static Insert(docElement: Document, insertNode: Node | string, editNode?: Element, isExternal?: boolean, enterAction?: string): void;
    private static removeEmptyNextLI;
    private static findFirstTextNode;
    private static pasteInsertHTML;
    /**
     * Removes a <br> element that was temporarily marked with 'rte-temp-br' class.
     * This is used to clean up unnecessary line breaks after paste actions.
     *
     * @private
     * @param {HTMLElement} editNode - The container element where the temporary <br> may exist.
     * @returns {void}
     */
    private static removeEmptyBrFromParagraph;
    private static compareParentElements;
    private static getFilteredAttributes;
    private static getClosestMatchingElement;
    private static findMatchingChild;
    private static listCleanUp;
    private static cleanUpListItems;
    private static cleanUpFlattenListContainer;
    private static cleanUpListContainer;
    private static placeCursorEnd;
    private static getNodeCollection;
    private static insertTempNode;
    private static extractChildNodes;
    private static insertBlockNodesInLI;
    private static processInsertNodes;
    private static wrapInlineElementsInSpan;
    private static unwrapInlineWrappers;
    private static removeEmptyAfterStartLI;
    private static clearIfCompletelyEmpty;
    private static getRootList;
    private static isRemovableEmptyListItem;
    private static findLiFromContainer;
    private static nonCollapsedInsertion;
    private static getClosestLi;
    private static getPreviousLi;
    private static getNextLi;
    private static appendListItems;
    private static moveSiblingsToLiAndInsert;
    private static handleSingleLiInsertion;
    private static handleMultiLiInsertion;
    private static pasteLI;
    private static handlePasteAtStart;
    private static handlePasteAtEnd;
    private static handlePasteInMiddle;
    private static hasNestedListInsideLi;
    private static getBlockNodeLength;
    private static addCursorMarker;
    private static extractNestedListsIntoNewListItem;
    private static createLiFragment;
    private static collectAndRemoveFollowingNodes;
    private static insertFragmentAfterLi;
    private static moveAllChildren;
    private static mergeLastNodeContent;
    private static cursorPos;
    private static imageFocus;
    private static getImmediateBlockNode;
    private static removingComments;
    private static findDetachEmptyElem;
    private static removeEmptyElements;
    private static closestEle;
    private static insertTableInList;
    private static moveChildNodes;
    private static alignCheck;
    private static removeListfromPaste;
}
//node_modules/@syncfusion/ej2-richtexteditor/src/editor-manager/plugin/inserthtml-exec.d.ts
/**
 * Selection EXEC internal component
 *
 * @hidden
 * @deprecated
 */
export  class InsertHtmlExec {
    private parent;
    /**
     * Constructor for creating the Formats plugin
     *
     * @param {EditorManager} parent - sepcifies the parent element
     * @hidden
     * @deprecated
     */
    constructor(parent: EditorManager);
    private addEventListener;
    private removeEventListener;
    private applyHtml;
    destroy(): void;
}
//node_modules/@syncfusion/ej2-richtexteditor/src/editor-manager/plugin/insert-text.d.ts
/**
 * Insert a Text Node or Text
 *
 * @hidden
 * @deprecated
 */
export  class InsertTextExec {
    private parent;
    /**
     * Constructor for creating the InsertText plugin
     *
     * @param {EditorManager} parent - specifies the parent element
     * @hidden
     * @deprecated
     */
    constructor(parent: EditorManager);
    private addEventListener;
    private removeEventListener;
    private insertText;
    destroy(): void;
}
//node_modules/@syncfusion/ej2-richtexteditor/src/editor-manager/plugin/insert-methods.d.ts
/**
 * Node appending methods.
 *
 * @hidden
 */
export  class InsertMethods {
    /**
     * WrapBefore method
     *
     * @param {Text} textNode - specifies the text node
     * @param {HTMLElement} parentNode - specifies the parent node
     * @param {boolean} isAfter - specifies the boolean value
     * @returns {Text} - returns the text value
     * @hidden
     * @deprecated
     */
    static WrapBefore(textNode: Text, parentNode: HTMLElement, isAfter?: boolean): Text;
    /**
     * Wrap method
     *
     * @param {HTMLElement} childNode - specifies the child node
     * @param {HTMLElement} parentNode - specifies the parent node.
     * @returns {HTMLElement} - returns the element
     * @hidden
     * @deprecated
     */
    static Wrap(childNode: HTMLElement, parentNode: HTMLElement): HTMLElement;
    /**
     * unwrap method
     *
     * @param {Node} node - specifies the node element.
     * @returns {Node[]} - returns the array of value
     * @hidden
     * @deprecated
     */
    static unwrap(node: Node | HTMLElement): Node[];
    /**
     * AppendBefore method
     *
     * @param {HTMLElement} textNode - specifies the element
     * @param {HTMLElement} parentNode - specifies the parent node
     * @param {boolean} isAfter - specifies the boolean value
     * @returns {void}
     * @hidden
     * @deprecated
     */
    static AppendBefore(textNode: HTMLElement | Text | DocumentFragment, parentNode: HTMLElement | Text | DocumentFragment, isAfter?: boolean): HTMLElement | Text | DocumentFragment;
}
//node_modules/@syncfusion/ej2-richtexteditor/src/editor-manager/plugin/indents.d.ts
/**
 * Indents internal component
 *
 * @hidden
 * @deprecated
 */
export  class Indents {
    private parent;
    private indentValue;
    /**
     * Constructor for creating the Formats plugin
     *
     * @param {EditorManager} parent - specifies the parent element
     * @hidden
     * @deprecated
     */
    constructor(parent: EditorManager);
    private addEventListener;
    private removeEventListener;
    private onKeyDown;
    private applyIndents;
    destroy(): void;
}
//node_modules/@syncfusion/ej2-richtexteditor/src/editor-manager/plugin/image.d.ts
/**
 * Link internal component
 *
 * @hidden
 * @deprecated
 */
export  class ImageCommand {
    private parent;
    /**
     * Constructor for creating the Formats plugin
     *
     * @param {EditorManager} parent - specifies the parent element
     * @hidden
     * @deprecated
     */
    constructor(parent: EditorManager);
    private addEventListener;
    private removeEventListener;
    /**
     * imageCommand method
     *
     * @param {IHtmlItem} e - specifies the element
     * @returns {void}
     * @hidden
     * @deprecated
     */
    imageCommand(e: IHtmlItem): void;
    private createImage;
    private setStyle;
    private calculateStyleValue;
    private insertImageLink;
    private openImageLink;
    private removeImageLink;
    private editImageLink;
    private removeImage;
    private insertAltTextImage;
    private imageDimension;
    private imageCaption;
    private imageJustifyLeft;
    private imageJustifyCenter;
    private imageJustifyRight;
    private imageInline;
    private imageBreak;
    private callBack;
    destroy(): void;
}
//node_modules/@syncfusion/ej2-richtexteditor/src/editor-manager/plugin/formats.d.ts
/**
 * Formats internal component
 *
 * @hidden
 * @deprecated
 */
export  class Formats {
    private parent;
    private blockquotePrevent;
    /**
     * Constructor for creating the Formats plugin
     *
     * @param {EditorManager} parent - specifies the parent element.
     * @hidden
     * @deprecated
     */
    constructor(parent: EditorManager);
    private addEventListener;
    private removeEventListener;
    private getParentNode;
    private blockQuotesHandled;
    private onKeyUp;
    private getBlockParent;
    private onKeyDown;
    private removeCodeContent;
    private deleteContent;
    private paraFocus;
    private isNotEndCursor;
    private setCursorPosition;
    private focusSelectionParent;
    private insertMarker;
    private applyFormats;
    private hasOnlyBlockquotes;
    private getNode;
    private createBlockquoteSpan;
    private setSelectionBRConfig;
    private preFormatMerge;
    private blockquotesFormatMerge;
    private cleanFormats;
    private applyTableSidesFormat;
    destroy(): void;
}
//node_modules/@syncfusion/ej2-richtexteditor/src/editor-manager/plugin/format-painter-actions.d.ts
export  class FormatPainterActions implements IFormatPainterEditor {
    private INVALID_TAGS;
    private parent;
    private copyCollection;
    private deniedFormatsCollection;
    private newElem;
    private newElemLastChild;
    private settings;
    constructor(parent?: EditorManager, options?: IFormatPainterSettings);
    private addEventListener;
    private onPropertyChanged;
    private removeEventListener;
    /**
     * Destroys the format painter.
     *
     * @function destroy
     * @returns {void}
     * @hidden
     * @deprecated
     */
    destroy(): void;
    private actionHandler;
    private callBack;
    private generateElement;
    private pasteAction;
    private removeDeniedFormats;
    private copyAction;
    private getRangeParentElem;
    private getNearestBlockParentElement;
    private isBlockElement;
    private escapeAction;
    private paintPlainTextFormat;
    private validateELementTag;
    private findCurrentContext;
    private insertFormatNode;
    private isListCopied;
    private insertBlockNode;
    private insertNewList;
    private insertSameList;
    private isSameListType;
    private cleanEmptyLists;
    private setDeniedFormats;
    private detachEmptyBlockNodes;
    private makeDeniedFormatsCollection;
}
//node_modules/@syncfusion/ej2-richtexteditor/src/editor-manager/plugin/emoji-picker-action.d.ts
export  class EmojiPickerAction {
    private parent;
    constructor(parent?: EditorManager);
    private addEventListener;
    private removeEventListener;
    private emojiInsert;
    private beforeApplyFormat;
    destroy(): void;
}
//node_modules/@syncfusion/ej2-richtexteditor/src/editor-manager/plugin/dom-tree.d.ts
/**
 *  DOMTreeMethods - A `TreeWalkder` API implementation to get the block and text nodes in the selection.
 */
export  class DOMMethods {
    private directRangeElems;
    private BLOCK_TAGS;
    /**
     * Refers the `inputElement` of the editor.
     *
     * @hidden
     **/
    editableElement: HTMLDivElement | HTMLBodyElement;
    private currentDocument;
    constructor(editElement: HTMLDivElement | HTMLBodyElement);
    /**
     * Method to get the block nodes inside the given Block node `TreeWalker` API.
     *
     * @returns {HTMLElement[]} The block node element.
     *
     *
     */
    getBlockNode(): HTMLElement[];
    private addToBlockCollection;
    /**
     * Method to get the text nodes inside the given Block node `TreeWalker` API.
     *
     * @param {HTMLElement} blockElem - specifies the parent block element.
     * @returns {Text[]} The Text Nodes.
     *
     *
     */
    getTextNodes(blockElem: HTMLElement): Text[];
    /**
     * isBlockNode method
     *
     * @param {Element} element - specifies the node element.
     * @returns {boolean} - sepcifies the boolean value
     * @hidden
     */
    isBlockNode(element: Element): boolean;
    /**
     * Retrieves the last text node within the provided node and its descendants.
     *
     * This method uses a TreeWalker to traverse all text nodes in the given node's subtree,
     * and returns the last text node found.
     *
     * @param {Node} node - The root node from which to begin searching for text nodes.
     * @returns {Node | null} - The last text node within the node, or null if no text nodes are found.
     */
    getLastTextNode(node: Node): Node | null;
    /**
     * Retrieves the first text node within the provided node and its descendants.
     *
     * This method uses a TreeWalker to traverse all text nodes in the given node's subtree,
     * and returns the first text node found.
     *
     * @param {Node} node - The root node from which to begin searching for text nodes.
     * @returns {Node | null} - The first text node within the node, or null if no text nodes are found.
     */
    getFirstTextNode(node: Node): Node | null;
    /**
     * Retrieves the parent block node of the given inline node.
     *
     * This method uses a TreeWalker to traverse the DOM tree and find the nearest ancestor of the given node
     * that is a block element.
     *
     * @param {Node} node - The node for which to find the parent block node.
     * @returns {Node} - The parent block node of the given node.
     * @hidden
     */
    getParentBlockNode(node: Node): HTMLElement;
    /**
     * Retrieves the top-most node in the DOM that is not a block-level element.
     * If the given text node is part of a block element, it returns the text node itself.
     * Otherwise, it traverses upwards through its parent nodes until it finds a node
     * that is either a block-level node or a node that contains different text content than the provided `text`.
     *
     * @param {Text} text - The text node from which to start the search. This can be a child of an inline element.
     * @returns {HTMLElement | Text} - The top-most parent element that is not a block node, or the text node itself if it's inside a block-level element.
     * @hidden
     *
     */
    getTopMostNode(text: Text): HTMLElement | Text;
}
//node_modules/@syncfusion/ej2-richtexteditor/src/editor-manager/plugin/dom-node.d.ts
export  const markerClassName: {
    [key: string]: string;
};
/**
 * DOMNode internal plugin
 *
 * @hidden
 * @deprecated
 */
export  class DOMNode {
    private parent;
    private currentDocument;
    private nodeSelection;
    private tableSelection;
    /**
     * Constructor for creating the DOMNode plugin
     *
     * @param {Element} parent - specifies the parent element
     * @param {Document} currentDocument - specifies the current document.
     * @hidden
     * @deprecated
     */
    constructor(parent: Element, currentDocument: Document);
    /**
     * contents method
     *
     * @param {Element} element - specifies the element.
     * @returns {void}
     * @hidden
     * @deprecated
     */
    contents(element: Element): Node[];
    /**
     * isBlockNode method
     *
     * @param {Element} element - specifies the node element.
     * @returns {boolean} - sepcifies the boolean value
     * @hidden
     * @deprecated
     */
    isBlockNode(element: Element): boolean;
    /**
     * isLink method
     *
     * @param {Element} element - specifies the element
     * @returns {boolean} -  specifies the boolean value
     * @hidden
     * @deprecated
     */
    isLink(element: Element): boolean;
    /**
     * blockParentNode method
     *
     * @param {Element} element - specifies the element
     * @returns {Element} - returns the element value
     * @hidden
     * @deprecated
     */
    blockParentNode(element: Element): Element;
    /**
     * rawAttributes method
     *
     * @param {Element} element - specifies the element
     * @returns {string} - returns the string value
     * @hidden
     * @deprecated
     */
    rawAttributes(element: Element): {
        [key: string]: string;
    };
    /**
     * attributes method
     *
     * @param {Element} element - sepcifies the element.
     * @returns {string} - returns the string value.
     * @hidden
     * @deprecated
     */
    attributes(element?: Element): string;
    /**
     * clearAttributes method
     *
     * @param {Element} element - specifies the element
     * @returns {void}
     * @hidden
     * @deprecated
     */
    clearAttributes(element: Element): void;
    /**
     * openTagString method
     *
     * @param {Element} element - specifies the element.
     * @returns {string} - returns the string
     * @hidden
     * @deprecated
     */
    openTagString(element: Element): string;
    /**
     * closeTagString method
     *
     * @param {Element} element - specifies the element
     * @returns {string} - returns the string value
     * @hidden
     * @deprecated
     */
    closeTagString(element: Element): string;
    /**
     * createTagString method
     *
     * @param {string} tagName - specifies the tag name
     * @param {Element} relativeElement - specifies the relative element
     * @param {string} innerHTML - specifies the string value
     * @returns {string} - returns the string value.
     * @hidden
     * @deprecated
     */
    createTagString(tagName: string, relativeElement: Element, innerHTML: string): string;
    /**
     * isList method
     *
     * @param {Element} element - specifes the element.
     * @returns {boolean} - returns the boolean value
     * @hidden
     * @deprecated
     */
    isList(element: Element): boolean;
    /**
     * isElement method
     *
     * @param {Element} element - specifes the element.
     * @returns {boolean} - returns the boolean value
     * @hidden
     * @deprecated
     */
    isElement(element: Element): boolean;
    /**
     * isEditable method
     *
     * @param {Element} element - specifes the element.
     * @returns {boolean} - returns the boolean value
     * @hidden
     * @deprecated
     */
    isEditable(element: Element): boolean;
    /**
     * hasClass method
     *
     * @param {Element} element - specifes the element.
     * @param {string} className - specifies the class name value
     * @returns {boolean} - returns the boolean value
     * @hidden
     * @deprecated
     */
    hasClass(element: Element, className: string): boolean;
    /**
     * replaceWith method
     *
     * @param {Element} element - specifes the element.
     * @param {string} value - specifies the string value
     * @returns {void}
     * @hidden
     * @deprecated
     */
    replaceWith(element: Element, value: string): void;
    /**
     * parseHTMLFragment method
     *
     * @param {string} value - specifies the string value
     * @returns {Element} - returns the element
     * @hidden
     * @deprecated
     */
    parseHTMLFragment(value: string): Element;
    /**
     * wrap method
     *
     * @param {Element} element - specifies the element
     * @param {Element} wrapper - specifies the element.
     * @returns {Element} - returns the element
     * @hidden
     * @deprecated
     */
    wrap(element: Element, wrapper: Element): Element;
    /**
     * insertAfter method
     *
     * @param {Element} newNode - specifies the new node element
     * @param {Element} referenceNode - specifies the referenece node
     * @returns {void}
     * @hidden
     * @deprecated
     */
    insertAfter(newNode: Element, referenceNode: Element): void;
    /**
     * wrapInner method
     *
     * @param {Element} parent - specifies the parent element.
     * @param {Element} wrapper - specifies the wrapper element.
     * @returns {Element} - returns the element
     * @hidden
     * @deprecated
     */
    wrapInner(parent: Element, wrapper: Element): Element;
    /**
     * unWrap method
     *
     * @param {Element} element - specifies the element.
     * @returns {Element} - returns the element.
     * @hidden
     * @deprecated
     */
    unWrap(element: Element): Element[];
    /**
     * getSelectedNode method
     *
     * @param {Element} element - specifies the element
     * @param {number} index - specifies the index value.
     * @returns {Element} - returns the element
     * @hidden
     * @deprecated
     */
    getSelectedNode(element: Element, index: number): Element;
    /**
     * nodeFinds method
     *
     * @param {Element} element - specifies the element.
     * @param {Element[]} elements - specifies the array of elements
     * @returns {Element[]} - returnts the array elements
     * @hidden
     * @deprecated
     */
    nodeFinds(element: Element, elements: Element[]): Element[];
    /**
     * isEditorArea method
     *
     * @returns {boolean} - returns the boolean value
     * @hidden
     * @deprecated
     */
    isEditorArea(): boolean;
    /**
     * getRangePoint method
     *
     * @param {number} point - specifies the number value.
     * @returns {Range} - returns the range.
     * @hidden
     * @deprecated
     */
    getRangePoint(point?: number): Range | Range[];
    getSelection(): Selection;
    /**
     * getPreviousNode method
     *
     * @param {Element} element - specifies the element
     * @returns {Element} - returns the element
     * @hidden
     * @deprecated
     */
    getPreviousNode(element: Element): Element;
    /**
     * encode method
     *
     * @param {string} value - specifies the string value
     * @returns {string} - specifies the string value
     * @hidden
     * @deprecated
     */
    encode(value: string): string;
    /**
     * saveMarker method
     *
     * @param {NodeSelection} save - specifies the node selection,
     * @returns {NodeSelection} - returns the value
     * @hidden
     * @deprecated
     */
    saveMarker(save: NodeSelection): NodeSelection;
    private marker;
    /**
     * setMarker method
     *
     * @param {NodeSelection} save - specifies the node selection.
     * @returns {void}
     * @hidden
     * @deprecated
     */
    setMarker(save: NodeSelection): void;
    /**
     * ensureSelfClosingTag method
     *
     * @param {Element} start - specifies the element.
     * @param {string} className - specifes the class name string value
     * @param {Range} range - specifies the range value
     * @returns {void}
     * @hidden
     * @deprecated
     */
    ensureSelfClosingTag(start: Element, className: string, range: Range): void;
    /**
     * createTempNode method
     *
     * @param {Element} element - specifies the element.
     * @returns {Element} - returns the element
     * @hidden
     * @deprecated
     */
    createTempNode(element: Element): Element;
    /**
     * getImageTagInSelection method
     *
     * @returns {void}
     * @hidden
     * @deprecated
     */
    getImageTagInSelection(): NodeListOf<HTMLImageElement>;
    /**
     * Method to wrap the inline and text node with block node.
     *
     * @param {HTMLElement} node - specifies the element sent to wrap the node around it with block nodes.
     * @param {string} wrapperElement - specifies which block nodes to wrap around.
     * @returns {HTMLElement} - returns the wrapped element.
     * @hidden
     * @deprecated
     */
    gatherElementsAround(node: HTMLElement, wrapperElement: string): HTMLElement;
    /**
     * Method to convert all the inline nodes between the selection to block nodes.
     *
     * @param {Node[]} selectedNodes - specifies the nodes of the start and end selection.
     * @param {boolean} fromList - specifies if the method is called from list module.
     * @returns {Node[]} - returns the selected list of elements as block nodes.
     * @hidden
     * @deprecated
     */
    convertToBlockNodes(selectedNodes: Node[], fromList: boolean): Node[];
    /**
     * blockNodes method
     *
     * @param {boolean} action - Optional Boolean that specifies the action is whether performed.
     * @returns {Node[]} - returns the node array values
     * @hidden
     * @deprecated
     */
    blockNodes(action?: boolean): Node[];
    private ignoreTableTag;
    private getPreBlockNodeCollection;
    private getClosestInlineParent;
    private wrapWithBlockNode;
    getImmediateBlockNode(node: Node): Node;
}
//node_modules/@syncfusion/ej2-richtexteditor/src/editor-manager/plugin/clearformat.d.ts
export  class ClearFormat1 {
    private static BLOCK_TAGS;
    private static NONVALID_PARENT_TAGS;
    private static IGNORE_PARENT_TAGS;
    private static NONVALID_TAGS;
    private static defaultTag;
    private static domNode;
    /**
     * clear method
     *
     * @param {Document} docElement - specifies the document element.
     * @param {Node} endNode - specifies the end node
     * @param {string} enterAction - specifies the enter key action
     * @param {string} selector - specifies the string value
     * @param {string} command - specifies the command value
     * @returns {void}
     * @hidden
     * @deprecated
     */
    static clear(docElement: Document, endNode: Node, enterAction: string, selector?: string, command?: 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/clearformat-exec.d.ts
/**
 * Clear Format EXEC internal component
 *
 * @hidden
 * @deprecated
 */
export  class ClearFormatExec {
    private parent;
    /**
     * Constructor for creating the Formats plugin
     *
     * @param {EditorManager} parent - specifies the parent element.
     * @returns {void}
     * @hidden
     * @deprecated
     */
    constructor(parent: EditorManager);
    private addEventListener;
    private removeEventListener;
    private onKeyDown;
    private applyClear;
    destroy(): void;
}
//node_modules/@syncfusion/ej2-richtexteditor/src/editor-manager/plugin/audio.d.ts
/**
 * Audio internal component
 *
 * @hidden
 * @deprecated
 */
export  class AudioCommand {
    private parent;
    /**
     * Constructor for creating the Audio plugin
     *
     * @param {EditorManager} parent - specifies the parent element
     * @hidden
     * @deprecated
     */
    constructor(parent: EditorManager);
    private addEventListener;
    private removeEventListener;
    /**
     * audioCommand method
     *
     * @param {IHtmlItem} e - specifies the element
     * @returns {void}
     * @hidden
     * @deprecated
     */
    audioCommand(e: IHtmlItem): void;
    private createAudio;
    private setStyle;
    private callBack;
    destroy(): void;
}
//node_modules/@syncfusion/ej2-richtexteditor/src/editor-manager/plugin/alignments.d.ts
/**
 * Formats internal component
 *
 * @hidden
 * @deprecated
 */
export  class Alignments {
    private parent;
    private alignments;
    /**
     * Constructor for creating the Formats plugin
     *
     * @param {EditorManager} parent - specifies the parent element.
     * @returns {void}
     * @hidden
     * @deprecated
     */
    constructor(parent: EditorManager);
    private addEventListener;
    private removeEventListener;
    private onKeyDown;
    private getTableNode;
    private applyAlignment;
    destroy(): void;
}
//node_modules/@syncfusion/ej2-richtexteditor/src/editor-manager/base/types.d.ts
/**
 * Types type for EditorManager
 *
 * @hidden
 * @deprecated
 */
export  type EditorExecCommand = 'Indents' | 'Lists' | 'Formats' | 'Alignments' | 'Links' | 'Images' | 'Font' | 'Style' | 'Clear' | 'Effects' | 'Casing' | 'InsertHtml' | 'InsertText' | 'Actions';
//node_modules/@syncfusion/ej2-richtexteditor/src/editor-manager/base/interface.d.ts
/**
 * Specifies  Command models interfaces.
 *
 * @hidden
 * @deprecated
 */
export interface ICommandModel {
    /**
     * Specifies the editor element's current document.
     */
    document: HTMLDocument;
    /**
     * Specifies the editable element.
     */
    editableElement: Element;
    options?: {
        [key: string]: number;
    };
    formatPainterSettings?: IFormatPainterSettings;
}
/**
 * Specifies IHtmlSubCommands interfaces.
 *
 * @hidden
 * @deprecated
 */
export interface IHtmlSubCommands {
    /**
     * Specifies the item
     */
    item?: IAdvanceListItem;
    /**
     * Specifies the subCommand.
     */
    subCommand: string;
    /**
     * Specifies the callBack.
     */
    callBack(args: IHtmlFormatterCallBack): () => void;
    /**
     * Specifies the callBack.
     */
    value?: string | Node;
    /**
     * Specifies the originalEvent.
     */
    event?: MouseEvent;
    /**
     * Specifies the iframe element selector.
     */
    selector?: string;
    /**
     * Specifies if the icon click is from dropdown or direct toolbarclick.
     */
    exeValue?: {
        [key: string]: string;
    };
    enterAction?: string;
}
/**
 * Specifies  IKeyboardActionArgs interfaces for command line.
 *
 * @hidden
 * @deprecated
 */
export interface IKeyboardActionArgs extends KeyboardEvent {
    /**
     * action of the KeyboardEvent
     */
    action: string;
}
/**
 * @deprecated
 */
export interface IHtmlItem {
    module?: string;
    event?: KeyboardEvent | MouseEvent;
    selection?: NodeSelection;
    link?: HTMLInputElement;
    selectNode?: Node[];
    selectParent?: Node[];
    item: IHtmlItemArgs;
    subCommand: string;
    value: string;
    selector: string;
    callBack(args: IHtmlFormatterCallBack): () => void;
    enterAction?: string;
}
/**
 * @deprecated
 */
export interface IHtmlItemArgs {
    selection?: NodeSelection;
    selectNode?: Node[];
    selectParent?: Node[];
    src?: string;
    url?: string;
    isEmbedUrl?: string;
    text?: string;
    title?: string;
    target?: string;
    width?: {
        minWidth?: string | number;
        maxWidth?: string | number;
        width?: string | number;
    };
    height?: {
        minHeight?: string | number;
        maxHeight?: string | number;
        height?: string | number;
    };
    altText?: string;
    fileName?: string;
    rows?: number;
    columns?: number;
    subCommand?: string;
    tableCell?: HTMLElement;
    cssClass?: string;
    insertElement?: Element;
    captionClass?: string;
    action?: string;
    formatPainterAction?: IFormatPainterActionValue;
    ariaLabel?: string;
}
/**
 * @deprecated
 */
export interface IHtmlUndoRedoData {
    text?: DocumentFragment;
    range?: NodeSelection;
}
/**
 * Specifies IHtmlKeyboardEvent interfaces.
 *
 * @hidden
 * @deprecated
 */
export interface IHtmlKeyboardEvent {
    /**
     * Specifies the callBack.
     */
    callBack(args?: IHtmlFormatterCallBack): () => void;
    /**
     * Specifies the event.
     */
    event: base.KeyboardEventArgs;
    /**
     * Specifies the notifier name.
     */
    name?: string;
    /**
     * Specifies the enter key configuration.
     */
    enterAction?: string;
    /**
     * Specifies the tab key action in the Rich Text Editor content..
     */
    enableTabKey?: string;
    /**
     * Defines tag to be used when enter key is pressed.
     */
    enterKey?: string;
    /**
     * Defines tag to be used when shift enter key is pressed.
     */
    shiftEnterKey?: string;
}
/**
 *
 * @deprecated
 * @hidden
 *
 */
export interface IFormatPainterSettings {
    allowedContext?: IFormatPainterContext[];
    allowedFormats?: string;
    deniedFormats?: string;
}
/**
 *
 * @deprecated
 * @hidden
 *
 */
export interface IFormatPainterAction {
    formatPainterAction: IFormatPainterActionValue;
}
/**
 * @private
 * @hidden
 *
 */
export interface IFormatPainterEditor {
    destroy: Function;
}
/**
 * @private
 * @hidden
 */
export interface FormatPainterCollection {
    attrs: Attr[];
    className: string;
    styles: CSSPropCollection[];
    tagName: string;
}
/**
 * @private
 * @hidden
 *
 */
export interface FormatPainterValue {
    element: HTMLElement;
    lastChild: HTMLElement;
}
/**
 * @private
 * @hidden
 */
export interface DeniedFormatsCollection {
    tag: string;
    styles: string[];
    attributes: string[];
    classes: string[];
}
/**
 * @private
 * @hidden
 */
export interface CSSPropCollection {
    property: string;
    value: string;
    priority: string;
}
/**
 * @private
 * @hidden
 */
export interface IHTMLMouseEventArgs {
    name: string;
    args: MouseEvent;
}
/**
 * @private
 * @hidden
 */
export interface ITableSelection {
    getBlockNodes(action?: boolean): HTMLElement[];
    getTextNodes(): Node[];
}
/**
 * @private
 * @hidden
 */
export interface BeforeInputEvent extends Event {
    data: string | null;
    inputType: string;
    isComposing: boolean;
    preventDefault(): void;
}
//node_modules/@syncfusion/ej2-richtexteditor/src/editor-manager/base/enum.d.ts
/**
 * Enum values for EditorManager
 */
/**
 *
 * @deprecated
 * @hidden
 * Defines the context or contexts in which styles will be copied.
 */
export  type IFormatPainterContext = 'Text' | 'List' | 'Table';
/**
 *
 * @deprecated
 * @hidden
 * Defines the action values for format painter.
 */
export  type IFormatPainterActionValue = 'format-copy' | 'format-paste' | 'escape';
//node_modules/@syncfusion/ej2-richtexteditor/src/editor-manager/base/editor-manager.d.ts
/**
 * EditorManager internal component
 *
 * @hidden
 * @deprecated
 */
export  class EditorManager {
    currentDocument: HTMLDocument;
    observer: base.Observer;
    listObj: Lists;
    nodeSelection: NodeSelection;
    nodeCutter: NodeCutter;
    domNode: DOMNode;
    formatObj: Formats;
    linkObj: LinkCommand;
    alignmentObj: Alignments;
    indentsObj: Indents;
    imgObj: ImageCommand;
    audioObj: AudioCommand;
    videoObj: VideoCommand;
    tableObj: TableCommand;
    selectionObj: SelectionBasedExec;
    inserthtmlObj: InsertHtmlExec;
    insertTextObj: InsertTextExec;
    clearObj: ClearFormatExec;
    undoRedoManager: UndoRedoManager;
    msWordPaste: MsWordPaste;
    formatPainterEditor: IFormatPainterEditor;
    editableElement: Element;
    emojiPickerObj: EmojiPickerAction;
    tableCellSelection: TableSelection;
    isDestroyed: boolean;
    private clickCount;
    private lastClickTime;
    userAgentData: CustomUserAgentData;
    /**
     * Constructor for creating the component
     *
     * @hidden
     * @deprecated
     * @param {ICommandModel} options - specifies the command Model
     */
    constructor(options: ICommandModel);
    private wireEvents;
    private unwireEvents;
    private onWordPaste;
    private onPropertyChanged;
    private editorKeyDown;
    private editorKeyUp;
    private onBegin;
    /**
     * execCommand
     *
     * @param {EditorExecCommand} command - specifies the execution command
     * @param {T} value - specifes the value.
     * @param {Event} event - specifies the call back event
     * @param {Function} callBack - specifies the function
     * @param {string} text - specifies the string value
     * @param {T} exeValue - specifies the values to be executed
     * @param {string} selector - specifies the selector values
     * @returns {void}
     * @hidden
     * @deprecated
     */
    execCommand<T>(command: EditorExecCommand, value: T, event?: Event, callBack?: Function, text?: string | Node, exeValue?: T, selector?: string, enterAction?: string): void;
    private editorMouseDown;
    private tripleClickSelection;
    private getParentBlockNode;
    destroy(): void;
    beforeSlashMenuApplyFormat(): void;
}
//node_modules/@syncfusion/ej2-richtexteditor/src/editor-manager/base/constant.d.ts
/**
 * Constant values for EditorManager
 */
/**
 * Image plugin events
 *
 * @hidden
 */
export  const IMAGE: string;
export  const AUDIO: string;
export  const VIDEO: string;
export  const TABLE: string;
export  const LINK: string;
export  const INSERT_ROW: string;
export  const INSERT_COLUMN: string;
export  const DELETEROW: string;
export  const DELETECOLUMN: string;
export  const REMOVETABLE: string;
export  const TABLEHEADER: string;
export  const TABLE_VERTICAL_ALIGN: string;
export  const TABLE_MERGE: string;
export  const TABLE_VERTICAL_SPLIT: string;
export  const TABLE_HORIZONTAL_SPLIT: string;
export  const TABLE_DASHED: string;
export  const TABLE_ALTERNATE: string;
export  const TABLE_BACKGROUND_COLOR: string;
export  const TABLE_MOVE: string;
/**
 * Alignments plugin events
 *
 * @hidden
 */
export  const ALIGNMENT_TYPE: string;
/**
 * Indents plugin events
 *
 * @hidden
 */
export  const INDENT_TYPE: string;
/**
 * Constant tag names
 *
 * @hidden
 */
export  const DEFAULT_TAG: string;
/**
 * @hidden
 */
export  const BLOCK_TAGS: string[];
/**
 * @hidden
 */
export  const IGNORE_BLOCK_TAGS: string[];
/**
 * @hidden
 */
export  const TABLE_BLOCK_TAGS: string[];
/**
 * Selection plugin events
 *
 * @hidden
 */
export  const SELECTION_TYPE: string;
/**
 * Insert HTML plugin events
 *
 * @hidden
 */
export  const INSERTHTML_TYPE: string;
/**
 * Insert Text plugin events
 *
 * @hidden
 */
export  const INSERT_TEXT_TYPE: string;
/**
 * Clear Format HTML plugin events
 *
 * @hidden
 */
export  const CLEAR_TYPE: string;
/**
 * Self closing tags
 *
 * @hidden
 */
export  const SELF_CLOSING_TAGS: string[];
/**
 * Source
 *
 * @hidden
 */
export  const PASTE_SOURCE: string[];
/**
 * @hidden
 */
export  const ALLOWED_TABLE_BLOCK_TAGS: string[];
//node_modules/@syncfusion/ej2-richtexteditor/src/editor-manager/base/classes.d.ts
/**
 * Rich Text Editor classes defined here.
 */
/**
 * @hidden
 * @deprecated
 */
export  const CLASS_IMAGE_RIGHT: string;
export  const CLASS_IMAGE_LEFT: string;
export  const CLASS_IMAGE_CENTER: string;
export  const CLASS_VIDEO_RIGHT: string;
export  const CLASS_VIDEO_LEFT: string;
export  const CLASS_VIDEO_CENTER: string;
export  const CLASS_IMAGE_BREAK: string;
export  const CLASS_AUDIO_BREAK: string;
export  const CLASS_VIDEO_BREAK: string;
export  const CLASS_CAPTION: string;
export  const CLASS_RTE_CAPTION: string;
export  const CLASS_CAPTION_INLINE: string;
export  const CLASS_IMAGE_INLINE: string;
export  const CLASS_AUDIO_INLINE: string;
export  const CLASS_CLICK_ELEM: string;
export  const CLASS_VIDEO_CLICK_ELEM: string;
export  const CLASS_AUDIO: string;
export  const CLASS_VIDEO: string;
export  const CLASS_AUDIO_WRAP: string;
export  const CLASS_VIDEO_WRAP: string;
export  const CLASS_EMBED_VIDEO_WRAP: string;
export  const CLASS_AUDIO_FOCUS: string;
export  const CLASS_VIDEO_FOCUS: string;
export  const CLASS_VIDEO_INLINE: string;
//node_modules/@syncfusion/ej2-richtexteditor/src/common/util.d.ts
/**
 * @returns {void}
 * @hidden
 */
export  function isIDevice(): boolean;
/**
 * @param {Element} editableElement - specifies the editable element.
 * @param {string} selector - specifies the string values.
 * @returns {void}
 * @hidden
 */
export  function setEditFrameFocus(editableElement: Element, selector: string): void;
/**
 * @param {string} value - specifies the string value
 * @returns {void}
 * @hidden
 */
export  function updateTextNode(value: string): string;
/**
 * @param {Node} startChildNodes - specifies the node
 * @returns {void}
 * @hidden
 */
export  function getLastTextNode(startChildNodes: Node): Node;
/**
 * @returns {void}
 * @hidden
 */
export  function getDefaultHtmlTbStatus(): IToolbarStatus;
/**
 * @returns {void}
 * @hidden
 */
export  function getDefaultMDTbStatus(): IToolbarStatus;
/**
 * @param {Range} range - specifies the range
 * @param {Node} parentNode - specifies the parent node
 * @returns {void}
 * @hidden
 */
export  function nestedListCleanUp(range: Range, parentNode: Node): void;
/**
 * Method to scroll the content to the cursor position
 *
 * @param {Document} document - specifies the document.
 * @param {HTMLElement | HTMLBodyElement} inputElement - specifies the input element.
 * @returns {void}
 */
export  function scrollToCursor(document: Document, inputElement: HTMLElement | HTMLBodyElement): void;
/**
 * Inserts items at a specific index in an array.
 *
 * @template T
 * @param {Array<T>} oldArray - Specifies the old array.
 * @param {Array<T>} newArray - Specifies the elements to insert.
 * @param {number} indexToInsert - Specifies the index to insert.
 * @returns {Array<T>} - Returns the array after inserting the elements.
 */
export  function insertItemsAtIndex<T>(oldArray: Array<T>, newArray: Array<T>, indexToInsert: number): Array<T>;
/**
 * Wrapper function to remove a class from the element and remove the attribute if the class is empty.
 *
 * @param  {Element[]|NodeList} elements - An array of elements that need to remove a list of classes
 * @param  {string|string[]} classes - String or array of string that need to add an individual element as a class
 *
 * @returns {Element[]|NodeList} - Returns the array of elements after removing the class.
 * @private
 */
export  function removeClassWithAttr(elements: Element[] | NodeList, classes: string | string[]): Element[] | NodeList;
//node_modules/@syncfusion/ej2-richtexteditor/src/common/user-agent.d.ts
 type BrowserList = 'Chrome' | 'Firefox' | 'Safari' | 'Edge' | 'Unknown';
 type Platform = 'Windows' | 'macOS' | 'Linux' | 'iOS' | 'Android' | 'Unknown';
/**
 * This class returns the browser platform details from the user agent string.
 */
export  class CustomUserAgentData {
    private userAgent;
    private isTesting;
    constructor(userAgent: string, testing: boolean);
    /**
     *
     * To get the platform name from the user agent string.
     *
     * @hidden
     * @returns {Platform} - Returns the platform name.
     */
    getPlatform(): Platform;
    /**
     *
     * To get the platform name from the user agent string.
     *
     * @hidden
     * @returns {BrowserList} - Returns the platform name.
     */
    getBrowser(): BrowserList;
    /**
     * To check whether the browser is a mobile device.
     *
     * @hidden
     * @returns {boolean} - Returns true if the device is a mobile device.
     */
    isMobileDevice(): boolean;
    /**
     * To check whether the browser is a mobile device.
     *
     * @hidden
     * @returns {boolean} - Returns true if the device is a mobile device.
     */
    isSafari(): boolean;
}
//node_modules/@syncfusion/ej2-richtexteditor/src/common/types.d.ts
/**
 * Specifies the modes available for rendering the Rich Text Editor.
 * Options are either in HTML or Markdown format.
 */
export  type EditorMode = 'HTML' | 'Markdown';
/**
 * Specifies the formats available for saving images.
 * Options include saving as Base64 or Blob.
 */
export  type SaveFormat = 'Base64' | 'Blob';
/**
 * Specifies the layout options for displaying audio or video content.
 * Options are Inline or Break.
 */
export  type DisplayLayoutOptions = 'Inline' | 'Break';
/**
 * Specifies the HTML tag used when the enter key is pressed.
 * Options include P, DIV, or BR.
 */
export  type EnterKey = 'P' | 'DIV' | 'BR';
/**
 * Specifies the HTML tag used when shift + enter keys are pressed.
 * Options include P, DIV, or BR.
 */
export  type ShiftEnterKey = 'P' | 'DIV' | 'BR';
//node_modules/@syncfusion/ej2-richtexteditor/src/common/interface.d.ts
/**
 * Specifies  common models interfaces.
 *
 * @hidden
 * @deprecated
 */
/**
 * @deprecated
 */
export interface IAdvanceListItem {
    listStyle?: string;
    listImage?: string;
    type?: string;
}
/**
 * @deprecated
 */
export interface IMarkdownFormatterCallBack {
    selectedText?: string;
    editorMode?: EditorMode;
    action?: string;
    event?: KeyboardEvent | MouseEvent;
    requestType?: string;
}
/**
 * @deprecated
 */
export interface IHtmlFormatterCallBack {
    selectedNode?: Element;
    requestType?: string;
    range?: Range;
    editorMode?: EditorMode;
    action?: string;
    elements?: Element | Element[];
    imgElem?: Element | Element[];
    event?: KeyboardEvent | MouseEvent;
}
/**
 * @deprecated
 */
export interface IMarkdownToolbarStatus {
    OrderedList: boolean;
    UnorderedList: boolean;
    Formats: string;
}
/**
 * @deprecated
 */
export interface IUndoCallBack {
    callBack?: Function;
    event?: Object;
}
/**
 * @deprecated
 */
export interface IToolbarStatus {
    bold?: boolean;
    italic?: boolean;
    underline?: boolean;
    strikethrough?: boolean;
    superscript?: boolean;
    subscript?: boolean;
    fontcolor?: string;
    fontname?: string;
    fontsize?: string;
    backgroundcolor?: string;
    formats?: string;
    alignments?: string;
    orderedlist?: boolean;
    unorderedlist?: boolean;
    inlinecode?: boolean;
    uppercase?: boolean;
    lowercase?: boolean;
    createlink?: boolean;
    insertcode?: boolean;
    blockquote?: boolean;
    numberFormatList?: string | boolean;
    bulletFormatList?: string | boolean;
    InlineCode?: boolean;
}
/**
 * @deprecated
 * @private
 *
 *
 * */
export interface IImageResizeFactor {
    topLeft: [number, number];
    topRight: [number, number];
    botLeft: [number, number];
    botRight: [number, number];
}
/**
 * The `ImageOrTableCursor` is used to specify the image or table cursor in Enter key Module.
 *
 * @private
 * @hidden
 *
 *
 * */
export interface ImageOrTableCursor {
    start: boolean;
    startName: string;
    end: boolean;
    endName: string;
    startNode?: HTMLElement;
    endNode?: HTMLElement;
}
/**
 * The `ImageDimension` is used to specify the width and height of the editor image.
 *
 * @private
 * @hidden
 */
export interface ImageDimension {
    width: number;
    height: number;
}
//node_modules/@syncfusion/ej2-richtexteditor/src/common/editor-styles.d.ts
export  const IFRAME_EDITOR_STYLES: string;
//node_modules/@syncfusion/ej2-richtexteditor/src/common/constant.d.ts
/**
 * Constant values for Common
 */
/**
 * Keydown event trigger
 *
 * @hidden
 */
export  const KEY_DOWN: string;
/**
 * Undo and Redo action HTML plugin events
 *
 * @hidden
 */
export  const ACTION: string;
/**
 * Formats plugin events
 *
 * @hidden
 */
export  const FORMAT_TYPE: string;
/**
 * Keydown handler event trigger
 *
 * @hidden
 */
export  const KEY_DOWN_HANDLER: string;
/**
 * List plugin events
 *
 * @hidden
 */
export  const LIST_TYPE: string;
/**
 * Keyup handler event trigger
 *
 * @hidden
 */
export  const KEY_UP_HANDLER: string;
/**
 * Keyup event trigger
 *
 * @hidden
 */
export  const KEY_UP: string;
/**
 * Model changed plugin event trigger
 *
 * @hidden
 */
export  const MODEL_CHANGED_PLUGIN: string;
/**
 * Model changed event trigger
 *
 * @hidden
 */
export  const MODEL_CHANGED: string;
/**
 * PasteCleanup plugin for MSWord content
 *
 * @hidden
 */
export  const MS_WORD_CLEANUP_PLUGIN: string;
/**
 * PasteCleanup for MSWord content
 *
 * @hidden
 */
export  const MS_WORD_CLEANUP: string;
/**
 * ActionBegin event callback
 *
 * @hidden
 */
export  const ON_BEGIN: string;
/**
 * Callback for spacelist action
 *
 * @hidden
 */
export  const SPACE_ACTION: string;
/**
 * Format painter event constant
 *
 * @hidden
 */
export  const FORMAT_PAINTER_ACTIONS: string;
/**
 * Blockquotes enter prevent when on list is applied event constant
 *
 * @hidden
 */
export  const BLOCKQUOTE_LIST_HANDLE: string;
/**
 * Emoji picker event constant
 *
 * @hidden
 */
export  const EMOJI_PICKER_ACTIONS: string;
/**
 * Mouse down event constant
 *
 * @hidden
 */
export  const MOUSE_DOWN: string;
/**
 * destroy event constant
 *
 * @hidden
 */
export  const DESTROY: string;
/**
 * internal_destroy event constant
 *
 * @hidden
 */
export  const INTERNAL_DESTROY: string;
//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[];
/**
 * Resize factor for image.
 *
 *@hidden
 *
 */
export  const imageResizeFactor: IImageResizeFactor;
/**
 * Mention restrict key configuration.
 *
 * @hidden
 *
 */
export  const mentionRestrictKeys: string[];
 }
export namespace schedule { 

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

//node_modules/@syncfusion/ej2-splitbuttons/src/split-button/split-button.d.ts

/**
 * SplitButton component has primary and secondary button. Primary button is used to select
 * default action and secondary button is used to toggle contextual overlays for displaying list of
 * action items. It can contain both text and images.
 * ```html
 * <button id="element"></button>
 * ```
 * ```typescript
 * <script>
 * var splitBtnObj = new SplitButton({content: 'SplitButton'});
 * splitBtnObj.appendTo("#element");
 * </script>
 * ```
 */
export  class SplitButton extends DropDownButton implements base.INotifyPropertyChanged {
    private wrapper;
    private primaryBtnObj;
    private secondaryBtnObj;
    /**
     * Defines the content of the SplitButton primary action button can either be a text or HTML elements.
     *
     * @default ""
     */
    content: string;
    /**
     * Defines class/multiple classes separated by a space in the SplitButton element. The SplitButton
     * size and styles can be customized by using this.
     *
     * @default ""
     */
    cssClass: string;
    /**
     * Specifies a value that indicates whether the SplitButton is disabled or not.
     *
     * @default false.
     */
    disabled: boolean;
    /**
     * Defines class/multiple classes separated by a space for the SplitButton that is used to include an
     * icon. SplitButton can also include font icon and sprite image.
     *
     * @default ""
     */
    iconCss: string;
    /**
     * Positions the icon before/top of the text content in the SplitButton. The possible values are
     * * Left: The icon will be positioned to the left of the text content.
     * * Top: The icon will be positioned to the top of the text content.
     *
     * @default "Left"
     */
    iconPosition: SplitButtonIconPosition;
    /**
     * Specifies the popup element creation on open.
     *
     * @default false
     */
    createPopupOnClick: boolean;
    /**
     * Specifies action items with its properties which will be rendered as SplitButton secondary button popup.
     *
     * @default []
     */
    items: ItemModel[];
    /**
     * Allows to specify the SplitButton popup item element.
     *
     * @default ""
     */
    target: string | Element;
    /**
     * Triggers while rendering each Popup item of SplitButton.
     *
     * @event beforeItemRender
     */
    beforeItemRender: base.EmitType<MenuEventArgs>;
    /**
     * Triggers before opening the SplitButton popup.
     *
     * @event beforeOpen
     */
    beforeOpen: base.EmitType<BeforeOpenCloseMenuEventArgs>;
    /**
     * Triggers before closing the SplitButton popup.
     *
     * @event beforeClose
     */
    beforeClose: base.EmitType<BeforeOpenCloseMenuEventArgs>;
    /**
     * Triggers when the primary button of SplitButton has been clicked.
     *
     * @event click
     */
    click: base.EmitType<ClickEventArgs>;
    /**
     * Triggers while closing the SplitButton popup.
     *
     * @event close
     */
    close: base.EmitType<OpenCloseMenuEventArgs>;
    /**
     * Triggers while opening the SplitButton popup.
     *
     * @event open
     */
    open: base.EmitType<OpenCloseMenuEventArgs>;
    /**
     * Triggers while selecting action item of SplitButton popup.
     *
     * @event select
     */
    select: base.EmitType<MenuEventArgs>;
    /**
     * Triggers once the component rendering is completed.
     *
     * @event created
     */
    created: base.EmitType<Event>;
    /**
     * Constructor for creating the widget
     *
     * @param  {SplitButtonModel} options - Specifies the splitbutton model
     * @param  {string|HTMLButtonElement} element - Specifies the element
     * @hidden
     */
    constructor(options?: SplitButtonModel, element?: string | HTMLButtonElement);
    /**
     * Initialize Angular support.
     *
     * @private
     * @returns {void}
     */
    protected preRender(): void;
    /**
     * Initialize the Component rendering.
     *
     * @returns {void}
     * @private
     */
    render(): void;
    private renderControl;
    /**
     * Adds a new item to the menu. By default, new item appends to the list as the last item,
     * but you can insert based on the text parameter.
     *
     * @param  { ItemModel[] } items - Specifies an array of JSON data.
     * @param { string } text - Specifies the text to insert the newly added item in the menu.
     * @returns {void}.
     */
    addItems(items: ItemModel[], text?: string): void;
    /**
     * Removes the items from the menu.
     *
     * @param  { string[] } items - Specifies an array of string to remove the items.
     * @param { string } isUniqueId - Set `true` if specified items is a collection of unique id.
     * @returns {void}.
     */
    removeItems(items: string[], isUniqueId?: boolean): void;
    private initWrapper;
    private createPrimaryButton;
    private createSecondaryButton;
    private setAria;
    /**
     * Get component name.
     *
     * @returns {string} - Module Name
     * @private
     */
    getModuleName(): string;
    /**
     * To open/close SplitButton popup based on current state of the SplitButton.
     *
     * @returns {void}
     */
    toggle(): void;
    destroy(): void;
    protected wireEvents(): void;
    protected unWireEvents(): void;
    private primaryBtnClickHandler;
    private btnKeyBoardHandler;
    /**
     * Called internally if any of the property value changed.
     *
     * @param  {SplitButtonModel} newProp - Specifies new properties
     * @param  {SplitButtonModel} oldProp - Specifies old properties
     * @returns {void}
     */
    onPropertyChanged(newProp: SplitButtonModel, oldProp: SplitButtonModel): void;
    /**
     * Sets the focus to SplitButton
     * its native method
     *
     * @public
     * @returns {void}
     */
    focusIn(): void;
}
/**
 * Interface for Split Button click event arguments.
 */
export interface ClickEventArgs extends base.BaseEventArgs {
    element: Element;
}
/**
 * Deferred is used to handle asynchronous operation.
 */
export  class Deferred {
    /**
     * Reject a Deferred object and call failCallbacks with the given args.
     */
    reject: Function;
    /**
     * Resolve a Deferred object and call doneCallbacks with the given args.
     */
    resolve: Function;
    /**
     * Promise is an object that represents a value that may not be available yet, but will be resolved at some point in the future.
     */
    promise: Promise<Object>;
    /**
     * Defines the callback function triggers when the Deferred object is rejected.
     */
    catch: Function;
    /**
     * Defines the callback function triggers when the Deferred object is resolved.
     */
    then: Function;
}
//node_modules/@syncfusion/ej2-splitbuttons/src/split-button/split-button-model.d.ts
/**
 * Interface for a class SplitButton
 */
export interface SplitButtonModel extends DropDownButtonModel{
    /**
     * Defines the content of the SplitButton primary action button can either be a text or HTML elements.
     *
     * @default ""
     */
    content?: string;
    /**
     * Defines class/multiple classes separated by a space in the SplitButton element. The SplitButton
     * size and styles can be customized by using this.
     *
     * @default ""
     */
    cssClass?: string;
    /**
     * Specifies a value that indicates whether the SplitButton is disabled or not.
     *
     * @default false.
     */
    disabled?: boolean;
    /**
     * Defines class/multiple classes separated by a space for the SplitButton that is used to include an
     * icon. SplitButton can also include font icon and sprite image.
     *
     * @default ""
     */
    iconCss?: string;
    /**
     * Positions the icon before/top of the text content in the SplitButton. The possible values are
     * * Left: The icon will be positioned to the left of the text content.
     * * Top: The icon will be positioned to the top of the text content.
     *
     * @default "Left"
     */
    iconPosition?: SplitButtonIconPosition;
    /**
     * Specifies the popup element creation on open.
     *
     * @default false
     */
    createPopupOnClick?: boolean;
    /**
     * Specifies action items with its properties which will be rendered as SplitButton secondary button popup.
     *
     * @default []
     */
    items?: ItemModel[];
    /**
     * Allows to specify the SplitButton popup item element.
     *
     * @default ""
     */
    target?: string | Element;
    /**
     * Triggers while rendering each Popup item of SplitButton.
     *
     * @event beforeItemRender
     */
    beforeItemRender?: base.EmitType<MenuEventArgs>;
    /**
     * Triggers before opening the SplitButton popup.
     *
     * @event beforeOpen
     */
    beforeOpen?: base.EmitType<BeforeOpenCloseMenuEventArgs>;
    /**
     * Triggers before closing the SplitButton popup.
     *
     * @event beforeClose
     */
    beforeClose?: base.EmitType<BeforeOpenCloseMenuEventArgs>;
    /**
     * Triggers when the primary button of SplitButton has been clicked.
     *
     * @event click
     */
    click?: base.EmitType<ClickEventArgs>;
    /**
     * Triggers while closing the SplitButton popup.
     *
     * @event close
     */
    close?: base.EmitType<OpenCloseMenuEventArgs>;
    /**
     * Triggers while opening the SplitButton popup.
     *
     * @event open
     */
    open?: base.EmitType<OpenCloseMenuEventArgs>;
    /**
     * Triggers while selecting action item of SplitButton popup.
     *
     * @event select
     */
    select?: base.EmitType<MenuEventArgs>;
    /**
     * Triggers once the component rendering is completed.
     *
     * @event created
     */
    created?: base.EmitType<Event>;
}
/**
 * Interface for a class Deferred
 */
export interface DeferredModel {
}
//node_modules/@syncfusion/ej2-splitbuttons/src/progress-button/progress-button.d.ts
/**
 * Defines the spin settings.
 */
export  class SpinSettings extends base.ChildProperty<SpinSettings> {
    /**
     * Specifies the template content to be displayed in a spinner.
     *
     * @default null
     * @aspType string
     */
    template: string | Function;
    /**
     * Sets the width of a spinner.
     *
     * @default '16'
     */
    width: string | number;
    /**
     * Specifies the position of a spinner in the progress button. The possible values are:
     * * Left: The spinner will be positioned to the left of the text content.
     * * Right: The spinner will be positioned to the right of the text content.
     * * Top: The spinner will be positioned at the top of the text content.
     * * Bottom: The spinner will be positioned at the bottom of the text content.
     * * Center: The spinner will be positioned at the center of the progress button.
     *
     * @default 'Left'
     * @aspType Syncfusion.EJ2.SplitButtons.SpinPosition
     * @blazorType Syncfusion.Blazor.SplitButtons.SpinPosition
     * @isEnumeration true
     */
    position: SpinPosition;
}
/**
 * Defines the animation settings.
 */
export  class AnimationSettings extends base.ChildProperty<AnimationSettings> {
    /**
     * Specifies the duration taken to animate.
     *
     * @default 400
     */
    duration: number;
    /**
     * Specifies the effect of animation.
     *
     * @default 'None'
     * @aspType Syncfusion.EJ2.SplitButtons.AnimationEffect
     * @blazorType Syncfusion.Blazor.SplitButtons.AnimationEffect
     * @isEnumeration true
     */
    effect: AnimationEffect;
    /**
     * Specifies the animation timing function.
     *
     * @default 'ease'
     */
    easing: string;
}
/**
 * The ProgressButton visualizes the progression of an operation to indicate the user
 * that a process is happening in the background with visual representation.
 * ```html
 * <button id="element"></button>
 * ```
 * ```typescript
 * <script>
 * var progressButtonObj = new ProgressButton({ content: 'Progress buttons.Button' });
 * progressButtonObj.appendTo("#element");
 * </script>
 * ```
 */
export  class ProgressButton extends buttons.Button implements base.INotifyPropertyChanged {
    private progressTime;
    private percent;
    private isPaused;
    private timerId;
    private step;
    private interval;
    private eIsVertical;
    /**
     * Enables or disables the background filler UI in the progress button.
     *
     * @default false
     */
    enableProgress: boolean;
    /**
     * Specifies the duration of progression in the progress button.
     *
     * @default 2000
     */
    duration: number;
    /**
     * Positions an icon in the progress button. The possible values are:
     * * Left: The icon will be positioned to the left of the text content.
     * * Right: The icon will be positioned to the right of the text content.
     * * Top: The icon will be positioned at the top of the text content.
     * * Bottom: The icon will be positioned at the bottom of the text content.
     *
     * @isenumeration true
     * @default Syncfusion.EJ2.Buttons.buttons.IconPosition.Left
     * @asptype Syncfusion.EJ2.Buttons.buttons.IconPosition
     */
    iconPosition: string | 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 whether to enable the rendering of untrusted HTML values in the Progress button component.
     * If 'enableHtmlSanitizer' set to true, the component will sanitize any suspected untrusted strings and scripts before rendering them.
     *
     * @default true
     */
    enableHtmlSanitizer: boolean;
    /**
     * Specifies a spinner and its related properties.
     */
    spinSettings: SpinSettingsModel;
    /**
     * Specifies the animation settings.
     */
    animationSettings: AnimationSettingsModel;
    /**
     * Triggers once the component rendering is completed.
     *
     * @event created
     * @blazorProperty 'Created'
     */
    created: base.EmitType<Event>;
    /**
     * Triggers when the progress starts.
     *
     * @event begin
     * @blazorProperty 'OnBegin'
     */
    begin: base.EmitType<ProgressEventArgs>;
    /**
     * Triggers in specified intervals.
     *
     * @event progress
     * @blazorProperty 'Progressing'
     */
    progress: base.EmitType<ProgressEventArgs>;
    /**
     * Triggers when the progress is completed.
     *
     * @event end
     * @blazorProperty 'OnEnd'
     */
    end: base.EmitType<ProgressEventArgs>;
    /**
     * Triggers when the progress is incomplete.
     *
     * @event fail
     * @blazorProperty 'OnFailure'
     */
    fail: base.EmitType<Event>;
    /**
     * Constructor for creating the widget.
     *
     * @param  {ProgressButtonModel} options - Specifies progress button model
     * @param  {string|HTMLButtonElement} element - Specifies element
     */
    constructor(options?: ProgressButtonModel, element?: string | HTMLButtonElement);
    protected preRender(): void;
    /**
     * Initialize the Component rendering
     *
     * @returns {void}
     * @private
     */
    render(): void;
    /**
     * Starts the button progress at the specified percent.
     *
     * @param {number} percent - Starts the button progress at this percent.
     * @returns {void}
     */
    start(percent?: number): void;
    /**
     * Stops the button progress.
     *
     * @returns {void}
     */
    stop(): void;
    /**
     * Complete the button progress.
     *
     * @returns {void}
     */
    progressComplete(): void;
    /**
     * Get component name.
     *
     * @returns {string} - Module Name
     * @private
     */
    getModuleName(): string;
    /**
     * Destroys the widget.
     *
     * @returns {void}
     */
    destroy(): void;
    private init;
    private createSpinner;
    private getSpinner;
    private getProgress;
    private setSpinPosition;
    private createProgress;
    private setContent;
    private clickHandler;
    private startProgress;
    private startAnimate;
    private successCallback;
    private startContAnimate;
    private finishProgress;
    private setSpinnerSize;
    private hideSpin;
    private setIconSpan;
    private setAria;
    protected wireEvents(): void;
    protected unWireEvents(): void;
    /**
     * Called internally if any of the property value changed.
     *
     * @param  {ProgressButtonModel} newProp - Specifies new properties
     * @param  {ProgressButtonModel} oldProp - Specifies old properties
     * @returns {void}
     * @private
     */
    onPropertyChanged(newProp: ProgressButtonModel, oldProp: ProgressButtonModel): void;
    /**
     * Sets the focus to ProgressButton
     * its native method
     *
     * @public
     * @returns {void}
     */
    focusIn(): void;
}
/**
 * Defines the spin position of progress button.
 * ```props
 * 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.
 * ```
 */
export  type SpinPosition = 'Left' | 'Right' | 'Top' | 'Bottom' | 'Center';
/**
 * Defines the animation effect of progress button.
 * ```props
 * None :- The button will not have any animation effect on the text content.
 * SlideLeft :- The text content will slide to the left as an animation effect.
 * SlideRight :- The text content will slide to the right as an animation effect.
 * SlideUp :- The text content will slide up as an animation effect.
 * SlideDown :- The text content will slide down as an animation effect.
 * ZoomIn :- The text content will zoom in as an animation effect.
 * ZoomOut :- The text content will zoom out as an animation effect.
 * ```
 */
export  type AnimationEffect = 'None' | 'SlideLeft' | 'SlideRight' | 'SlideUp' | 'SlideDown' | 'ZoomIn' | 'ZoomOut';
/**
 * Interface for progress event arguments.
 */
export interface ProgressEventArgs extends base.BaseEventArgs {
    /**
     * Indicates the current state of progress in percentage.
     */
    percent: number;
    /**
     * Indicates the current duration of the progress.
     */
    currentDuration: number;
    /**
     * Specifies the interval.
     *
     * @default 1
     */
    step: number;
}
//node_modules/@syncfusion/ej2-splitbuttons/src/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
     * @aspType string
     */
    template?: string | Function;
    /**
     * Sets the width of a spinner.
     *
     * @default '16'
     */
    width?: string | number;
    /**
     * Specifies the position of a spinner in the progress button. The possible values are:
     * * Left: The spinner will be positioned to the left of the text content.
     * * Right: The spinner will be positioned to the right of the text content.
     * * Top: The spinner will be positioned at the top of the text content.
     * * Bottom: The spinner will be positioned at the bottom of the text content.
     * * Center: The spinner will be positioned at the center of the progress button.
     *
     * @default 'Left'
     * @aspType Syncfusion.EJ2.SplitButtons.SpinPosition
     * @blazorType Syncfusion.Blazor.SplitButtons.SpinPosition
     * @isEnumeration true
     */
    position?: SpinPosition;
}
/**
 * Interface for a class AnimationSettings
 */
export interface AnimationSettingsModel {
    /**
     * Specifies the duration taken to animate.
     *
     * @default 400
     */
    duration?: number;
    /**
     * Specifies the effect of animation.
     *
     * @default 'None'
     * @aspType Syncfusion.EJ2.SplitButtons.AnimationEffect
     * @blazorType Syncfusion.Blazor.SplitButtons.AnimationEffect
     * @isEnumeration true
     */
    effect?: AnimationEffect;
    /**
     * Specifies the animation timing function.
     *
     * @default 'ease'
     */
    easing?: string;
}
/**
 * Interface for a class ProgressButton
 */
export interface ProgressButtonModel {
    /**
     * Enables or disables the background filler UI in the progress button.
     *
     * @default false
     */
    enableProgress?: boolean;
    /**
     * Specifies the duration of progression in the progress button.
     *
     * @default 2000
     */
    duration?: number;
    /**
     * Positions an icon in the progress button. The possible values are:
     * * Left: The icon will be positioned to the left of the text content.
     * * Right: The icon will be positioned to the right of the text content.
     * * Top: The icon will be positioned at the top of the text content.
     * * Bottom: The icon will be positioned at the bottom of the text content.
     *
     * @isenumeration true
     * @default Syncfusion.EJ2.Buttons.buttons.IconPosition.Left
     * @asptype Syncfusion.EJ2.Buttons.buttons.IconPosition
     */
    iconPosition?: string | 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 whether to enable the rendering of untrusted HTML values in the Progress button component.
     * If 'enableHtmlSanitizer' set to true, the component will sanitize any suspected untrusted strings and scripts before rendering them.
     *
     * @default true
     */
    enableHtmlSanitizer?: boolean;
    /**
     * Specifies a spinner and its related properties.
     */
    spinSettings?: SpinSettingsModel;
    /**
     * Specifies the animation settings.
     */
    animationSettings?: AnimationSettingsModel;
    /**
     * Triggers once the component rendering is completed.
     *
     * @event created
     * @blazorProperty 'Created'
     */
    created?: base.EmitType<Event>;
    /**
     * Triggers when the progress starts.
     *
     * @event begin
     * @blazorProperty 'OnBegin'
     */
    begin?: base.EmitType<ProgressEventArgs>;
    /**
     * Triggers in specified intervals.
     *
     * @event progress
     * @blazorProperty 'Progressing'
     */
    progress?: base.EmitType<ProgressEventArgs>;
    /**
     * Triggers when the progress is completed.
     *
     * @event end
     * @blazorProperty 'OnEnd'
     */
    end?: base.EmitType<ProgressEventArgs>;
    /**
     * Triggers when the progress is incomplete.
     *
     * @event fail
     * @blazorProperty 'OnFailure'
     */
    fail?: base.EmitType<Event>;
}
//node_modules/@syncfusion/ej2-splitbuttons/src/drop-down-button/drop-down-button.d.ts
/**
 * Animation configuration settings.
 */
export  class DropDownMenuAnimationSettings extends base.ChildProperty<DropDownMenuAnimationSettings> {
    /**
     * Specifies the animation effect applied when the DropDownMenu is shown.
     * The possible effects are:
     * * None: Specifies that the DropDownMenu appears without any animation effect.
     * * SlideDown: Specifies that the DropDownMenu appears with a slide down effect.
     * * ZoomIn: Specifies that the DropDownMenu appears with a zoom in effect.
     * * FadeIn: Specifies that the DropDownMenu appears with a fade in effect.
     *
     * @default 'SlideDown'
     * @isEnumeration true
     */
    effect: DropDownAnimationEffect;
    /**
     * Specifies the time duration (in milliseconds) of the animation effect when the DropDownMenu is displayed.
     *
     * @default 400
     */
    duration: number;
    /**
     * Specifies the easing function applied during the animation effect of the DropDownMenu.
     *
     * @default 'ease'
     */
    easing: string;
}
/**
 * DropDownButton component is used to toggle contextual overlays for displaying list of action items.
 * It can contain both text and images.
 * ```html
 * <button id="element">DropDownButton</button>
 * ```
 * ```typescript
 * <script>
 * var dropDownButtonObj = new DropDownButton({items: [{ text: 'Action1' }, { text: 'Action2' },{ text: 'Action3' }]);
 * dropDownButtonObj.appendTo("#element");
 * </script>
 * ```
 */
export  class DropDownButton extends base.Component<HTMLButtonElement> implements base.INotifyPropertyChanged {
    /** @hidden */
    dropDown: popups.Popup;
    protected button: buttons.Button;
    /** @hidden */
    activeElem: HTMLElement[];
    private rippleFn;
    private delegateMousedownHandler;
    private isPopupCreated;
    private popupContent;
    /**
     * 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 whether to enable the rendering of untrusted HTML values in the DropDownButton component.
     * If 'enableHtmlSanitizer' set to true, the component will sanitize any suspected untrusted strings and scripts before rendering them.
     *
     * @default true
     */
    enableHtmlSanitizer: boolean;
    /**
     * Specifies action items with its properties which will be rendered as DropDownButton popup.
     *
     * @default []
     */
    items: ItemModel[];
    /**
     * Specifies the popup element creation on open.
     *
     * @default false
     */
    createPopupOnClick: boolean;
    /**
     * Allows to specify the DropDownButton popup item element.
     *
     * @default ""
     */
    target: string | Element;
    /**
     * Specifies the event to close the DropDownButton popup.
     *
     * @default ""
     */
    closeActionEvents: string;
    /**
     * Specifies the template content to be displayed.
     *
     * @default null
     * @aspType string
     */
    itemTemplate: string | Function;
    /**
     * This property defines the width of the dropdown popup for the DropDownButton component.
     *
     * @property {string | number} popupWidth - A string or number representing the width of the dropdown.
     * It can be a valid CSS unit such as `px`, `%`, or `rem`, or a number interpreted as pixels.
     * @default "auto"
     * @remarks
     * The `popupWidth` property allows developers to control the width of the dropdown popup, ensuring it fits their design requirements.
     * The default value of `auto` allows the popup to adjust based on the content length, but a specific width can be provided for more precise control.
     */
    popupWidth: string | number;
    /**
     * Specifies the animation settings for opening the sub menu in the DropDownMenu.
     * The settings control the duration, easing, and effect of the animation applied when the sub menu opens.
     *
     * @default { effect: 'None' }
     */
    animationSettings: DropDownMenuAnimationSettingsModel;
    /**
     * Triggers while rendering each popups.Popup item of DropDownButton.
     *
     * @event beforeItemRender
     */
    beforeItemRender: base.EmitType<MenuEventArgs>;
    /**
     * Triggers before opening the DropDownButton popup.
     *
     * @event beforeOpen
     */
    beforeOpen: base.EmitType<BeforeOpenCloseMenuEventArgs>;
    /**
     * Triggers before closing the DropDownButton popup.
     *
     * @event beforeClose
     */
    beforeClose: base.EmitType<BeforeOpenCloseMenuEventArgs>;
    /**
     * Triggers while closing the DropDownButton popup.
     *
     * @event close
     */
    close: base.EmitType<OpenCloseMenuEventArgs>;
    /**
     * Triggers while opening the DropDownButton popup.
     *
     * @event open
     */
    open: base.EmitType<OpenCloseMenuEventArgs>;
    /**
     * Triggers while selecting action item in DropDownButton popup.
     *
     * @event select
     */
    select: base.EmitType<MenuEventArgs>;
    /**
     * Triggers once the component rendering is completed.
     *
     * @event created
     */
    created: base.EmitType<Event>;
    /**
     * Constructor for creating the widget
     *
     * @param  {DropDownButtonModel} options - Specifies dropdown button model
     * @param  {string|HTMLButtonElement} element - Specifies element
     * @hidden
     */
    constructor(options?: DropDownButtonModel, element?: string | HTMLButtonElement);
    protected preRender(): void;
    /**
     * Get the properties to be maintained in the persisted state.
     *
     * @returns {string} - Persist data
     */
    getPersistData(): string;
    /**
     * To open/close DropDownButton popup based on current state of the DropDownButton.
     *
     * @returns {void}
     */
    toggle(): void;
    /**
     * Initialize the base.Component rendering
     *
     * @returns {void}
     * @private
     */
    render(): void;
    /**
     * Adds a new item to the menu. By default, new item appends to the list as the last item,
     * but you can insert based on the text parameter.
     *
     * @param  { ItemModel[] } items - Specifies an array of JSON data.
     * @param { string } text - Specifies the text to insert the newly added item in the menu.
     * @returns {void}.
     */
    addItems(items: ItemModel[], text?: string): void;
    /**
     * Removes the items from the menu.
     *
     * @param  { string[] } items - Specifies an array of string to remove the items.
     * @param { string } isUniqueId - Set `true` if specified items is a collection of unique id.
     * @returns {void}.
     */
    removeItems(items: string[], isUniqueId?: boolean): void;
    private createPopup;
    private getTargetElement;
    private createItems;
    private compiletemplate;
    private hasIcon;
    private createAnchor;
    private initialize;
    private isColorPicker;
    private appendArrowSpan;
    protected setActiveElem(elem: HTMLElement[]): void;
    /**
     * Get component name.
     *
     * @returns {string} - Module Name
     * @private
     */
    getModuleName(): string;
    private canOpen;
    /**
     * Destroys the widget.
     *
     * @returns {void}
     */
    destroy(): void;
    protected destroyPopup(): void;
    protected getPopUpElement(): HTMLElement;
    protected getULElement(): HTMLElement;
    protected wireEvents(): void;
    protected windowResize(): void;
    protected popupWireEvents(): void;
    protected popupUnWireEvents(): void;
    /**
     * Handles the keyboard interactions.
     *
     * @param {base.KeyboardEventArgs} e - Specifies keyboard event args.
     * @returns {void}
     * @hidden
     */
    keyBoardHandler(e: base.KeyboardEventArgs): void;
    private isSafari;
    protected upDownKeyHandler(e: base.KeyboardEventArgs): void;
    private keyEventHandler;
    private getLI;
    private mousedownHandler;
    private focusoutHandler;
    protected clickHandler(e: MouseEvent | base.KeyboardEventArgs): void;
    private triggerSelect;
    private openPopUp;
    private animatePopup;
    private setWidth;
    private closePopup;
    protected unWireEvents(): void;
    /**
     * Called internally if any of the property value changed.
     *
     * @param  {DropDownButtonModel} newProp - Specifies new properties
     * @param  {DropDownButtonModel} oldProp - Specifies old properties
     * @returns {void}
     * @private
     */
    onPropertyChanged(newProp: DropDownButtonModel, oldProp: DropDownButtonModel): void;
    /**
     * Sets the focus to DropDownButton
     * its native method
     *
     * @public
     * @returns {void}
     */
    focusIn(): void;
}
//node_modules/@syncfusion/ej2-splitbuttons/src/drop-down-button/drop-down-button-model.d.ts
/**
 * Interface for a class DropDownMenuAnimationSettings
 */
export interface DropDownMenuAnimationSettingsModel {
    /**
     * Specifies the animation effect applied when the DropDownMenu is shown.
     * The possible effects are:
     * * None: Specifies that the DropDownMenu appears without any animation effect.
     * * SlideDown: Specifies that the DropDownMenu appears with a slide down effect.
     * * ZoomIn: Specifies that the DropDownMenu appears with a zoom in effect.
     * * FadeIn: Specifies that the DropDownMenu appears with a fade in effect.
     *
     * @default 'SlideDown'
     * @isEnumeration true
     */
    effect?: DropDownAnimationEffect;
    /**
     * Specifies the time duration (in milliseconds) of the animation effect when the DropDownMenu is displayed.
     *
     * @default 400
     */
    duration?: number;
    /**
     * Specifies the easing function applied during the animation effect of the DropDownMenu.
     *
     * @default 'ease'
     */
    easing?: string;
}
/**
 * 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 whether to enable the rendering of untrusted HTML values in the DropDownButton component.
     * If 'enableHtmlSanitizer' set to true, the component will sanitize any suspected untrusted strings and scripts before rendering them.
     *
     * @default true
     */
    enableHtmlSanitizer?: boolean;
    /**
     * Specifies action items with its properties which will be rendered as DropDownButton popup.
     *
     * @default []
     */
    items?: ItemModel[];
    /**
     * Specifies the popup element creation on open.
     *
     * @default false
     */
    createPopupOnClick?: boolean;
    /**
     * Allows to specify the DropDownButton popup item element.
     *
     * @default ""
     */
    target?: string | Element;
    /**
     * Specifies the event to close the DropDownButton popup.
     *
     * @default ""
     */
    closeActionEvents?: string;
    /**
     * Specifies the template content to be displayed.
     *
     * @default null
     * @aspType string
     */
    itemTemplate?: string | Function;
    /**
     * This property defines the width of the dropdown popup for the DropDownButton component.
     *
     * @property {string | number} popupWidth - A string or number representing the width of the dropdown.
     * It can be a valid CSS unit such as `px`, `%`, or `rem`, or a number interpreted as pixels.
     * @default "auto"
     * @remarks
     * The `popupWidth` property allows developers to control the width of the dropdown popup, ensuring it fits their design requirements.
     * The default value of `auto` allows the popup to adjust based on the content length, but a specific width can be provided for more precise control.
     */
    popupWidth?: string | number;
    /**
     * Specifies the animation settings for opening the sub menu in the DropDownMenu.
     * The settings control the duration, easing, and effect of the animation applied when the sub menu opens.
     *
     * @default { effect: 'None' }
     */
    animationSettings?: DropDownMenuAnimationSettingsModel;
    /**
     * Triggers while rendering each popups.Popup item of DropDownButton.
     *
     * @event beforeItemRender
     */
    beforeItemRender?: base.EmitType<MenuEventArgs>;
    /**
     * Triggers before opening the DropDownButton popup.
     *
     * @event beforeOpen
     */
    beforeOpen?: base.EmitType<BeforeOpenCloseMenuEventArgs>;
    /**
     * Triggers before closing the DropDownButton popup.
     *
     * @event beforeClose
     */
    beforeClose?: base.EmitType<BeforeOpenCloseMenuEventArgs>;
    /**
     * Triggers while closing the DropDownButton popup.
     *
     * @event close
     */
    close?: base.EmitType<OpenCloseMenuEventArgs>;
    /**
     * Triggers while opening the DropDownButton popup.
     *
     * @event open
     */
    open?: base.EmitType<OpenCloseMenuEventArgs>;
    /**
     * Triggers while selecting action item in DropDownButton popup.
     *
     * @event base.select
     */
    select?: base.EmitType<MenuEventArgs>;
    /**
     * Triggers once the component rendering is completed.
     *
     * @event created
     */
    created?: base.EmitType<Event>;
}
//node_modules/@syncfusion/ej2-splitbuttons/src/common/common.d.ts
/**
 * Defines the icon position of Split Button.
 */
export  type SplitButtonIconPosition = 'Left' | 'Top';
/**
 * @param {Object} props - Specifies the properties
 * @param {string[]} model - Specifies the model
 * @returns {Object} Component Model
 */
export  function getModel(props: Object, model: string[]): Object;
/** @hidden
 * @param {HTMLElement} ul - Specifies the UL element
 * @param {number} keyCode - Specifies the keycode
 * @returns {void}
 */
export  function upDownKeyHandler(ul: HTMLElement, keyCode: number): void;
/** @hidden
 * @param {HTMLElement} popup - Specifies the popup element.
 * @param {boolean} blankIcon - Specifies the blankIcon value.
 * @returns {void}
 */
export  function setBlankIconStyle(popup: HTMLElement, blankIcon?: boolean): void;
/**
 * Defines the items of Split Button/DropDownButton.
 */
export  class Item extends base.ChildProperty<Item> {
    /**
     * Defines class/multiple classes separated by a space for the item that is used to include an icon.
     * Action item can include font icon and sprite image.
     *
     * @default ''
     */
    iconCss: string;
    /**
     * Specifies the id for item.
     *
     * @default ''
     */
    id: string;
    /**
     * Specifies separator between the items. Separator are horizontal lines used to group action items.
     *
     * @default false
     */
    separator: boolean;
    /**
     * Specifies text for item.
     *
     * @default ''
     */
    text: string;
    /**
     * Specifies url for item that creates the anchor link to navigate to the url provided.
     *
     * @default ''
     */
    url: string;
    /**
     * Used to enable or disable the item.
     *
     * @default false
     */
    disabled: boolean;
}
/**
 * Interface for before item render / select event.
 */
export interface MenuEventArgs extends base.BaseEventArgs {
    element: HTMLElement;
    item: ItemModel;
    event?: Event;
}
/**
 * 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;
}
/**
 * Interface for animation effects.
 */
export  type DropDownAnimationEffect = 'None' | 'SlideDown' | 'ZoomIn' | 'FadeIn';
//node_modules/@syncfusion/ej2-splitbuttons/src/common/common-model.d.ts
/**
 * Interface for a class Item
 */
export interface ItemModel {
    /**
     * Defines class/multiple classes separated by a space for the item that is used to include an icon.
     * Action item can include font icon and sprite image.
     *
     * @default ''
     */
    iconCss?: string;
    /**
     * Specifies the id for item.
     *
     * @default ''
     */
    id?: string;
    /**
     * Specifies separator between the items. Separator are horizontal lines used to group action items.
     *
     * @default false
     */
    separator?: boolean;
    /**
     * Specifies text for item.
     *
     * @default ''
     */
    text?: string;
    /**
     * Specifies url for item that creates the anchor link to navigate to the url provided.
     *
     * @default ''
     */
    url?: string;
    /**
     * Used to enable or disable the item.
     *
     * @default false
     */
    disabled?: boolean;
}
//node_modules/@syncfusion/ej2-splitbuttons/src/button-group/button-group.d.ts
/**
 * Initialize ButtonGroup CSS component with specified properties.
 * ```html
 * <div id='buttongroup'>
 * <button></button>
 * <button></button>
 * <button></button>
 * </div>
 * ```
 * ```typescript
 * createButtonGroup('#buttongroup', {
 *   cssClass: 'e-outline',
 *   buttons: [
 *       { content: 'Day' },
 *       { content: 'Week' },
 *       { content: 'Work Week'}
 *   ]
 * });
 * ```
 *
 * @param {string} selector
 * @param {CreateButtonGroupModel} options
 * @returns HTMLElement
 */
/**
 * Creates button group.
 *
 * @param {string} selector - Specifies the selector.
 * @param {CreateButtonGroupModel} options - Specifies the button group model.
 * @param {Function} createElement - Specifies the element.
 * @returns {HTMLElement} - Button group element.
 */
export  function createButtonGroup(selector: string, options?: CreateButtonGroupModel, createElement?: Function): HTMLElement;
export interface CreateButtonGroupModel {
    cssClass?: string;
    buttons?: (buttons.ButtonModel | null)[];
}
 }
export namespace spreadsheet { 

//node_modules/@syncfusion/ej2-spreadsheet/src/workbook/workers/save-worker.d.ts
/**
 * @hidden
 * The `SaveWorker` module is used to perform save functionality with Web Worker.
 */
export  class SaveWorker {
    protected parent: Workbook;
    /**
     * Constructor for SaveWorker module in Workbook library.
     *
     * @private
     * @param {Workbook} parent - Specifies the workbook.
     */
    constructor(parent: Workbook);
    /**
     * Process sheet.
     *
     * @param {string} sheet - specify the sheet
     * @param {number} sheetIndex - specify the sheetIndex
     * @returns {Object} - Process sheet.
     * @hidden
     */
    protected processSheet(sheet: string, sheetIndex: number): Object;
    /**
     * Process save action.
     *
     * @param {Object} saveJSON - specify the object
     * @param {SaveOptions | Object} saveSettings - specify the saveSettings
     * @param {Object} customParams - specify the customParams
     * @param {Object} pdfLayoutSettings - specify the pdfLayoutSettings
     * @param {Function} successCallBack - specify the success callback function while invoking this method without worker.
     * @returns {void} - Process save action.
     * @hidden
     */
    protected processSave(saveJSON: Object, saveSettings: SaveOptions | {
        [key: string]: string;
    }, customParams: Object, pdfLayoutSettings: pdfLayoutSettings, successCallBack?: Function): void;
}
//node_modules/@syncfusion/ej2-spreadsheet/src/workbook/services/service-locator.d.ts
/**
 * ServiceLocator
 *
 * @hidden
 */
export  class ServiceLocator {
    private services;
    getService<T>(name: string): T;
    register<T>(name: string, type: T): void;
}
//node_modules/@syncfusion/ej2-spreadsheet/src/workbook/integrations/sort.d.ts
/**
 * The `WorkbookSort` module is used to handle sort action in Spreadsheet.
 */
export  class WorkbookSort {
    private parent;
    /**
     * Constructor for WorkbookSort module.
     *
     * @param {Workbook} parent - Specifies the workbook.
     */
    constructor(parent: Workbook);
    /**
     * To destroy the sort module.
     *
     * @returns {void} - To destroy the sort module.
     */
    protected destroy(): void;
    private addEventListener;
    private removeEventListener;
    /**
     * Sorts range of cells in the sheet.
     *
     * @param {{ args: BeforeSortEventArgs, promise: Promise<SortEventArgs> }} eventArgs - Specify the arguments.
     * @param {BeforeSortEventArgs} eventArgs.args - arguments for sorting.
     * @param {Promise<SortEventArgs>} eventArgs.promise - Specify the promise.
     * @param {SortCollectionModel} eventArgs.previousSort - Specify the previous sort model.
     * @returns {void} - Sorts range of cells in the sheet.
     */
    private initiateSortHandler;
    private isHeaderRow;
    private updateSortedDataOnCell;
    private skipBorderOnSorting;
    private isSameStyle;
    /**
     * Compares the two cells for sorting.
     *
     * @param {SortDescriptor} sortDescriptor - protocol for sorting.
     * @param {boolean} caseSensitive - value for case sensitive.
     * @param {CellModel} x - first cell
     * @param {CellModel} y - second cell
     * @returns {number} - Compares the two cells for sorting.
     */
    private sortComparer;
    /**
     * Gets the module name.
     *
     * @returns {string} - Get the module name.
     */
    protected getModuleName(): string;
}
//node_modules/@syncfusion/ej2-spreadsheet/src/workbook/integrations/save.d.ts
/**
 * @hidden
 * The `WorkbookSave` module is used to handle the save action in Workbook library.
 */
export  class WorkbookSave extends SaveWorker {
    private isProcessCompleted;
    private saveSettings;
    private saveJSON;
    private isFullPost;
    private needBlobData;
    private customParams;
    private pdfLayoutSettings;
    /**
     * Constructor for WorkbookSave module in Workbook library.
     *
     * @private
     * @param {Workbook} parent - Specifies the workbook.
     */
    constructor(parent: Workbook);
    /**
     * Get the module name.
     *
     * @returns {string} - To Get the module name.
     * @private
     */
    getModuleName(): string;
    /**
     * To destroy the WorkbookSave module.
     *
     * @returns {void} - To destroy the WorkbookSave module.
     * @hidden
     */
    destroy(): void;
    /**
     * @hidden
     * @returns {void} - add Event Listener
     */
    private addEventListener;
    /**
     * @hidden
     * @returns {void} - remove Event Listener.
     */
    private removeEventListener;
    /**
     * Initiate save process.
     *
     * @hidden
     * @param {Object} args - Specify the args.
     * @returns {void} - Initiate save process.
     */
    private initiateSave;
    /**
     * Update save JSON with basic settings.
     *
     * @hidden
     * @returns {void} - Update save JSON with basic settings.
     */
    private updateBasicSettings;
    /**
     * Process sheets properties.
     *
     * @param {boolean} autoDetectFormat - Auto detect the format based on the cell value.
     * @param {SerializationOptions} jsonConfig - Specify the serialization options to exclude specific features from the JSON.
     * @hidden
     * @returns {void} - Process sheets properties.
     */
    private processSheets;
    /**
     * Update processed sheet data.
     *
     * @hidden
     * @param {Object[]} data - Specifies the data.
     * @returns {void} - Update processed sheet data.
     */
    private updateSheet;
    private getSheetLength;
    /**
     * Save process.
     *
     * @hidden
     * @param {SaveOptions} saveSettings - Specifies the save settings props.
     * @returns {void} - Save process.
     */
    private save;
    /**
     * Update final save data.
     *
     * @hidden
     * @param {Object | Blob} result - specify the sve result.
     * @returns {void} - Update final save data.
     */
    private updateSaveResult;
    private ClientFileDownload;
    private initiateFullPostSave;
    private performStringifyAction;
    /**
     * Get stringified workbook object.
     *
     * @hidden
     * @param {object} model - Specifies the workbook or sheet model.
     * @param {string[]} skipProp - specifies the skipprop.
     * @param {number} sheetIdx - Specifies the sheet index.
     * @param {boolean} autoDetectFormat - Auto detect the format based on the cell value.
     * @param {boolean} isSaveAction - Specifies whether the call is for sheet processing during save action.
     * @returns {string} - Get stringified workbook object.
     */
    private getStringifyObject;
    private getDateAsNumber;
    private getFileNameWithExtension;
    private getFileExtension;
}
//node_modules/@syncfusion/ej2-spreadsheet/src/workbook/integrations/open.d.ts
export  class WorkbookOpen {
    private parent;
    private chunkList;
    private loopIndex;
    private processedLoopIndex;
    private retryCount;
    private currentDocumentId;
    private currentFailedChunkIndex;
    preventFormatCheck: boolean;
    constructor(parent: Workbook);
    /**
     * To open the excel file stream or excel url into the spreadsheet.
     *
     * @param {OpenArgs} options - Options to open a excel file.
     * @returns {void} - To open the excel file stream or excel url into the spreadsheet.
     */
    open(options: OpenArgs): void;
    private load;
    private fetchFailure;
    private fetchSuccess;
    private processChunk;
    private setToDefaults;
    private updateModel;
    private setSelectAllRange;
    private sheetsDestroyHandler;
    /**
     * Adding event listener for workbook open.
     *
     * @returns {void} - Adding event listener for workbook open.
     */
    private addEventListener;
    /**
     * Removing event listener workbook open.
     *
     * @returns {void} - removing event listener workbook open.
     */
    private removeEventListener;
    /**
     * To Remove the event listeners
     *
     * @returns {void} - To Remove the event listeners
     */
    destroy(): void;
    /**
     * Get the workbook open module name.
     *
     * @returns {string} - Get the module name.
     */
    getModuleName(): string;
}
//node_modules/@syncfusion/ej2-spreadsheet/src/workbook/integrations/number-format.d.ts
/**
 * Specifies number format.
 */
export  class WorkbookNumberFormat {
    private parent;
    private localeObj;
    private customFormats;
    private localizedFormats;
    constructor(parent: Workbook);
    private numberFormatting;
    private isDigitPlaceHolder;
    private parseToLocalizedFormat;
    private updateLocalizedFormats;
    private localizedFormatAction;
    private parseToDefaultFormat;
    /**
     * @hidden
     *
     * @param {Object} args - Specifies the args.
     * @returns {string} - to get formatted cell.
     */
    getFormattedCell(args: NumberFormatArgs): string;
    private isCustomType;
    private processCustomFill;
    private processCustomDateTime;
    private processCustomConditions;
    private processCustomAccounting;
    private processCustomText;
    private thousandSeparator;
    private getSeparatorCount;
    private processDigits;
    private processFormatWithSpace;
    private removeFormatColor;
    private processCustomNumberFormat;
    private processText;
    private processFormats;
    private autoDetectGeneralFormat;
    private parseDecimalNumber;
    private updateAutoDetectNumberFormat;
    private isPercentageValue;
    private findSuffix;
    private applyNumberFormat;
    private isCustomFormat;
    private currencyFormat;
    private applyColor;
    private setCell;
    private percentageFormat;
    private accountingFormat;
    private getFormatForOtherCurrency;
    private checkAndProcessNegativeValue;
    private shortDateFormat;
    private longDateFormat;
    private checkForDateFormat;
    private timeFormat;
    private scientificHashFormat;
    private scientificFormat;
    private fractionFormat;
    private checkAndSetColor;
    private findDecimalPlaces;
    checkDateFormat(args: DateFormatCheckArgs): void;
    private checkCustomTimeFormat;
    private checkCustomDateFormat;
    private formattedBarText;
    private getFormattedNumber;
    private getMatchingCustomFormat;
    /**
     * Adding event listener for number format.
     *
     * @returns {void} - Adding event listener for number format.
     */
    private addEventListener;
    /**
     * Removing event listener for number format.
     *
     * @returns {void} -  Removing event listener for number format.
     */
    private removeEventListener;
    /**
     * To Remove the event listeners.
     *
     * @returns {void} - To Remove the event listeners.
     */
    destroy(): void;
    /**
     * Get the workbook number format module name.
     *
     * @returns {string} - Get the module name.
     */
    getModuleName(): string;
}
/**
 * Retrieves the built-in format code based on the specified number format type in either localized or non-localized format.
 *
 * @param {string} type - Specifies the type of number formatting.
 * @returns {string} - The built-in format code for the specified number format type.
 */
export  function getFormatFromType(type: NumberFormatType): string;
/**
 * @hidden
 * @param {string} format -  Specidfies the format.
 * @param {boolean} isRibbonUpdate - Specifies where we are updating the type in the number format button.
 * @returns {string} - To get type from format.
 */
export  function getTypeFromFormat(format: string, isRibbonUpdate?: boolean): string;
/**
 * This method converts a culture-specific format code, which may include localized decimal separators, group separators, and
 * currency symbols, to a default culture (en-US) format code. The default format uses a default decimal separator (.),
 * group separators (,), and a currency symbol.
 *
 * @param {Workbook} context - Specifies the workbook instance containing the format code to be converted.
 * @param {string} format - The culture-specific format code, with localized decimal separators, group separators, and currency symbols,
 * that needs to be converted to the default format.
 * @returns {string} - Returns the default culture (en-US) format code, using the default decimal separator (.), group separators (,), and
 * currency symbol.
 */
export  function convertToDefaultFormat(context: Workbook, format: string): string;
/**
 * Specifies the number format ID and their number format code.
 */
export interface FormatOption {
    /** The Excel default number format ID. */
    id: number;
    /** The number format code associated with the ID. */
    code: string;
}
/**
 * Populates culture-based number formats in the custom format dialog. By default, the decimal separator, group separator, and
 * currency symbol are updated based on the current culture. Currency and date formats can vary across cultures.
 * Excel maintains a default number format ID for each format code in the custom format dialog. This method maps these culture-based
 * format codes to their corresponding number format IDs, and the mapped formats will be populated in the custom format dialog.
 *
 * @param {Workbook} context - Specifies the workbook instance. If the component is not initialized, pass null for this parameter.
 * @param {FormatOption[]} formatOptions - Specifies the collection of number format IDs and their corresponding format codes.
 * @param {boolean} [clearMappedFormats] - Specifies whether to clear existing mapped formats or not. By default, this is set to true.
 * @returns {void}
 */
export  function configureLocalizedFormat(context: Workbook, formatOptions: FormatOption[], clearMappedFormats?: boolean): void;
//node_modules/@syncfusion/ej2-spreadsheet/src/workbook/integrations/image.d.ts
/**
 * Specifies image.
 */
export  class WorkbookImage {
    private parent;
    constructor(parent: Workbook);
    private setImage;
    /**
     * Adding event listener for number format.
     *
     * @returns {void} - Adding event listener for number format.
     */
    private addEventListener;
    /**
     * Removing event listener for number format.
     *
     * @returns {void}
     */
    private removeEventListener;
    /**
     * To Remove the event listeners.
     *
     * @returns {void} - To Remove the event listeners.
     */
    destroy(): void;
    /**
     * Get the workbook number format module name.
     *
     * @returns {string} - Get the module name.
     */
    getModuleName(): string;
}
//node_modules/@syncfusion/ej2-spreadsheet/src/workbook/integrations/formula.d.ts
/**
 * @hidden
 * The `WorkbookFormula` module is used to handle the formula operation in Workbook.
 */
export  class WorkbookFormula {
    private parent;
    private calcID;
    private uniqueOBracket;
    private uniqueCBracket;
    private uniqueCSeparator;
    private uniqueCOperator;
    private uniquePOperator;
    private uniqueSOperator;
    private uniqueMOperator;
    private uniqueDOperator;
    private uniqueModOperator;
    private uniqueConcateOperator;
    private uniqueEqualOperator;
    private uniqueExpOperator;
    private uniqueGTOperator;
    private uniqueLTOperator;
    private calculateInstance;
    private sheetInfo;
    /**
     * Constructor for formula module in Workbook.
     *
     * @param {Workbook} workbook - Specifies the workbook.
     * @private
     */
    constructor(workbook: Workbook);
    private init;
    /**
     * To destroy the formula module.
     *
     * @returns {void}
     * @hidden
     */
    destroy(): void;
    private addEventListener;
    private removeEventListener;
    /**
     * Get the module name.
     *
     * @returns {string} - Get the module name.
     * @private
     */
    getModuleName(): string;
    private initCalculate;
    private clearFormulaDependentCells;
    private formulaInValidation;
    private performFormulaOperation;
    private definedNamesDeletion;
    private referenceError;
    private getSheetInfo;
    private addCustomFunction;
    private updateSheetInfo;
    private getSheetRefUpdateOnDelete;
    private sheetDeletion;
    private renameUpdation;
    private updateDataContainer;
    private parseSheetRef;
    private registerSheet;
    private unRegisterSheet;
    private getUniqueRange;
    private removeUniquecol;
    /**
     * Perform the formula calculation.
     *
     * @param {FormulaCalculateArgs} args - Specifies the formula calculation options.
     * @param {number} args.rowIndex - The index of the row.
     * @param {number} args.colIndex - The index of the column.
     * @param {string} args.value - The value of the cell.
     * @param {boolean} args.isFormula - A flag indicating whether the value is a formula.
     * @param {number} args.sheetIdx - The index of the sheet.
     * @param {boolean} args.isRefreshing - A flag indicating whether the calculation is being refreshed.
     * @param {boolean} [args.isDependentRefresh] - An optional flag indicating whether the refresh is dependent.
     * @param {boolean} [args.isRandomFormula] - An optional flag indicating whether the formula is random.
     * @param {boolean} [args.isDelete] - An optional flag indicating whether is from delete cells.
     * @param {number[]} [args.deletedRange] - An optional range array indicating the deleted cells.
     * @returns {void}
     * @private
     */
    refreshCalculate(args: FormulaCalculateArgs): void;
    private calculateFormula;
    private refreshRandomFormula;
    private autoCorrectFormula;
    private correctCellReference;
    private autoCorrectCellRef;
    private getUpdatedCellRef;
    private initiateDefinedNames;
    /**
     * @hidden
     * Used to add defined name to workbook.
     *
     * @param {DefineNameModel} definedName - Define named range.
     * @param {boolean} isValidate - Specify the boolean value.
     * @param {number} index - Define named index.
     * @param {boolean} isEventTrigger - Specify the boolean value.
     * @returns {boolean} - Used to add defined name to workbook.
     */
    private addDefinedName;
    /**
     * @hidden
     * Used to remove defined name from workbook.
     *
     * @param {string} name - Specifies the defined name.
     * @param {string} scope - Specifies the scope of the define name.
     * @param {boolean} isEventTrigger - Specify the boolean value.
     * @returns {boolean} - To Return the bool value.
     */
    private removeDefinedName;
    private checkIsNameExist;
    private getIndexFromNameColl;
    private calculateNow;
    private toFixed;
    private commputeFormulaValue;
    private getCellRefValue;
    private aggregateComputation;
    private refreshInsertDelete;
    private getUpdatedFormulaOnInsertDelete;
    private updateFormula;
    private clearUniqueRange;
    private clearAllUniqueFormulaValue;
    private parseFormulaArgument;
    private getUniqueCharVal;
    private isUniqueChar;
    private markSpecialChar;
    private refreshNamedRange;
    private updateDefinedNames;
}
//node_modules/@syncfusion/ej2-spreadsheet/src/workbook/integrations/filter.d.ts
/**
 * The `WorkbookFilter` module is used to handle filter action in Spreadsheet.
 */
export  class WorkbookFilter {
    private parent;
    /**
     * Constructor for WorkbookFilter module.
     *
     * @param {Workbook} parent - Constructor for WorkbookFilter module.
     */
    constructor(parent: Workbook);
    /**
     * To destroy the filter module.
     *
     * @returns {void} - To destroy the filter module.
     */
    protected destroy(): void;
    private addEventListener;
    private removeEventListener;
    /**
     * Filters a range of cells in the sheet.
     *
     * @param { {args: BeforeFilterEventArgs, promise: Promise<FilterEventArgs>}} eventArgs - Specify the event args.
     * @param {BeforeFilterEventArgs} eventArgs.args - arguments for filtering..
     * @param {Promise<FilterEventArgs>} eventArgs.promise - Specify the promise.
     * @param {boolean} eventArgs.refresh - Specify the refresh.
     * @returns {void} - Filters a range of cells in the sheet.
     */
    private initiateFilterHandler;
    /**
     * Hides or unhides the rows based on the filter predicates.
     *
     * @param {DataManager} dataManager - Specify the dataManager.
     * @param {Predicate[]} predicates - Specify the predicates.
     * @param {string} range - Specify the range.
     * @param {boolean} refresh - Specify the refresh.
     * @param {Predicate[]} equalOrPredicates - Specify the equal condition or predicates.
     * @returns {void} - Hides or unhides the rows based on the filter predicates.
     */
    private setFilter;
    /**
     * Gets the module name.
     *
     * @returns {string} - Get the module name.
     */
    protected getModuleName(): string;
}
//node_modules/@syncfusion/ej2-spreadsheet/src/workbook/integrations/data-bind.d.ts
/**
 * Data binding module
 */
export  class DataBind {
    private parent;
    private requestedInfo;
    constructor(parent: Workbook);
    private addEventListener;
    private removeEventListener;
    /**
     * Update given data source to sheet.
     *
     * @param {Object} args - Specify the args.
     * @param {ExtendedSheet} args.sheet - Specify the sheet.
     * @param {number[]} args.indexes - Specify the indexes.
     * @param {Promise<CellModel>} args.promise - Specify the promise.
     * @param {number} args.rangeSettingCount - Specify the rangeSettingCount.
     * @param {string} args.formulaCellRef - Specify the formulaCellRef.
     * @param {number} args.sheetIndex - Specify the sheetIndex.
     * @param {boolean} args.loadFullData - Specify whether to load full data or not.
     * @param {boolean} args.resolveAfterFullDataLoaded - Specify the resolveAfterFullDataLoaded.
     * @param {Function} args.loadComplete - Specify the callback function that will be invoked once all the data are updated.
     * @param {boolean} args.loadFromStartCell - Specify the whether to load the data from the range startCell address.
     * @param {boolean} args.autoDetectFormat - Specify whether to auto detect format based on the cell value.
     * @param {Function} args.updateDependentCellsCallback - Specify a callback function to update the dependent cells address to refresh
     * after the data binding.
     * @returns {void} - Update given data source to sheet.
     */
    private updateSheetFromDataSourceHandler;
    private notfyFormulaCellRefresh;
    private checkResolve;
    private getCellDataFromProp;
    private getLoadedInfo;
    private getMaxCount;
    private initRangeInfo;
    /**
     * Remove old data from sheet.
     *
     * @param {Object} args - Specify the args.
     * @param {number} args.sheetIdx - Specify the sheetIdx.
     * @param {number} args.rangeIdx - Specify the rangeIdx.
     * @param {Object[]} args.changedData - Specify the changedData.
     * @returns {void} - Remove old data from sheet.
     */
    private dataSourceChangedHandler;
    private checkRangeHasChanges;
    /**
     * Triggers dataSourceChange event when cell data changes
     *
     * @param {Object} args - Specify the args.
     * @param {number} args.sheetIdx - Specify the sheetIdx.
     * @param {number} args.activeSheetIndex - Specify the activeSheetIndex.
     * @param {string} args.address - Specify the address.
     * @param {number} args.startIndex - Specify the startIndex.
     * @param {number} args.endIndex - Specify the endIndex.
     * @param {string} args.modelType - Specify the modelType.
     * @param {RowModel[]} args.deletedModel - Specify the deletedModel.
     * @param {RowModel[]} args.model - Specify the model.
     * @param {string} args.insertType - Specify the insertType.
     * @param {number} args.index - Specify the index.
     * @param {string} args.type - Specify the type.
     * @param {boolean} args.isMethod - Specify the isMethod.
     * @param {string} args.fillRange - Specify the fill range.
     * @param {string} args.range - Specify the range.
     * @param {string} args.requestType - Specify the requestType.
     * @param {Object[]} args.data - Specify the data.
     * @param {boolean}  args.isDataRequest - Specify the isDataRequest.
     * @param {string} args.pastedRange - Specify the pasted range.
     * @param {boolean} args.skipFilterCheck - Specify the skip filter check.
     * @returns {void} - Triggers dataSourceChange event when cell data changes
     */
    private dataChangedHandler;
    private getFormattedValue;
    private triggerDataChangeHandler;
    /**
     * For internal use only - Get the module name.
     *
     * @returns {string} - Get the module name.
     * @private
     */
    protected getModuleName(): string;
    /**
     * Destroys the Data binding module.
     *
     * @returns {void} - Destroys the Data binding module.
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-spreadsheet/src/workbook/integrations/chart.d.ts
/**
 * The `WorkbookChart` module is used to handle chart action in Spreadsheet.
 */
export  class WorkbookChart {
    private parent;
    /**
     * Constructor for WorkbookChart module.
     *
     * @param {Workbook} parent - Constructor for WorkbookChart module.
     */
    constructor(parent: Workbook);
    private addEventListener;
    private removeEventListener;
    private setChartHandler;
    private refreshChartSize;
    private focusChartBorder;
    private deleteChartColl;
    /**
     * To Remove the event listeners.
     *
     * @returns {void} - To Remove the event listeners.
     */
    destroy(): void;
    /**
     * Get the workbook chart module name.
     *
     * @returns {string} - Get the workbook chart module name.
     */
    getModuleName(): string;
}
//node_modules/@syncfusion/ej2-spreadsheet/src/workbook/common/worker.d.ts
/**
 * Worker task.
 *
 * @param {Object} context - Specify the context.
 * @param {Function | Object} taskFn - Specify the task.
 * @param {Function} callbackFn - Specify the callbackFn.
 * @param {Object[]} data - Specify the data.
 * @param {boolean} preventCallback - Specify the preventCallback.
 * @param {Workbook} parent - Specify the Workbook instance.
 * @returns {WorkerHelper} - Worker task.
 */
export  function executeTaskAsync(context: Object, taskFn: Function | {
    [key: string]: Function | string[];
}, callbackFn: Function, data?: Object[], preventCallback?: boolean, parent?: Workbook): 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;
    private parent;
    /**
     * Constructor for WorkerHelper module in Workbook library.
     *
     * @private
     * @param {Object} context - Specify the context.
     * @param {Function | Object} task - Specify the task.
     * @param {Function} defaultListener - Specify the defaultListener.
     * @param {Object[]} taskData - Specify the taskData.
     * @param {boolean} preventCallback - Specify the preventCallback.
     * @param {Workbook} parent - Specify the Workbook instance.
     */
    constructor(context: Object, task: Function | {
        [key: string]: Function | string[];
    }, defaultListener: Function, taskData?: Object[], preventCallback?: boolean, parent?: Workbook);
    /**
     * To terminate the worker task.
     *
     * @private
     * @returns {void} - To terminate the worker task.
     */
    terminate(): void;
    /**
     * To initiate the worker.
     *
     * @private
     * @returns {void} - To initiate the worker.
     */
    private initWorker;
    /**
     * Method for getting response from worker.
     *
     * @param {MessageEvent} args - Specify the args.
     * @returns {void} - Method for getting response from worker.
     * @private
     */
    private messageFromWorker;
    /**
     * Method for getting error message from worker if failed.
     *
     * @param {ErrorEvent} args - Specify the args.
     * @returns {void} - Method for getting error message from worker if failed.
     * @private
     */
    private onError;
    /**
     * Construct function code for worker.
     *
     * @private
     * @returns {string} -  Construct function code for worker.
     */
    private getFnCode;
    /**
     * Get default worker task with callback.
     *
     * @private
     * @param {MessageEvent} args - Specify the args.
     * @returns {void} - Get default worker task without callback.
     */
    private getCallbackMessageFn;
    /**
     * Get default worker task without callback.
     *
     * @private
     * @param {MessageEvent} args - Specify the args.
     * @returns {void} - Get default worker task without callback.
     */
    private getMessageFn;
}
//node_modules/@syncfusion/ej2-spreadsheet/src/workbook/common/util.d.ts
/**
 * Check whether the text is formula or not.
 *
 * @param {string} text - Specify the text.
 * @param {boolean} isEditing - Specify the isEditing.
 * @returns {boolean} - Check whether the text is formula or not.
 */
export  function checkIsFormula(text: string, isEditing?: boolean): boolean;
/**
 * Check whether the value is cell reference or not.
 *
 * @param {string} value - Specify the value to check.
 * @returns {boolean} - Returns boolean value
 */
export  function isCellReference(value: string): boolean;
/**
 * Check whether the value is character or not.
 *
 * @param {string} value - Specify the value to check.
 * @returns {boolean} - Returns boolean value
 */
export  function isChar(value: string): boolean;
/**
 * Check whether the range selection is on complete row.
 *
 * @param {SheetModel} sheet - Specify the sheet.
 * @param {number[]} range - Specify the range index.
 * @returns {boolean} - Returns boolean value
 * @hidden
 */
export  function isRowSelected(sheet: SheetModel, range: number[]): boolean;
/**
 * Check whether the range selection is on complete column.
 *
 * @param {SheetModel} sheet - Specify the sheet.
 * @param {number[]} range - Specify the range index.
 * @returns {boolean} - Returns boolean value
 * @hidden
 */
export  function isColumnSelected(sheet: SheetModel, range: number[]): boolean;
/**
 * @param {number[]} range - Specify the range
 * @param {number} rowIdx - Specify the row index
 * @param {number} colIdx - Specify the col index
 * @returns {boolean} - Returns boolean value
 */
export  function inRange(range: number[], rowIdx: number, colIdx: number): boolean;
/**
 * @param {number[]} address - Specify the address
 * @param {number} rowIdx - Specify the row index
 * @param {number} colIdx - Specify the col index
 * @returns {boolean} - Returns boolean value
 */
export  function isInMultipleRange(address: string, rowIdx: number, colIdx: number): boolean;
/** @hidden
 * @param {number[]} range - Specify the range
 * @param {number[]} testRange - Specify the test range
 * @param {boolean} isModify - Specify the boolean value
 * @returns {boolean} - Returns boolean value
 */
export  function isInRange(range: number[], testRange: number[], isModify?: boolean): boolean;
/**
 * @hidden
 * @param {string} address - Specifies the address for whole column.
 * @param {number[]} testRange - Specifies range used to split the address.
 * @param {number} colIdx - Specifies the column index.
 * @returns {string} - returns the modified address.
 */
export  function getSplittedAddressForColumn(address: string, testRange: number[], colIdx: number): string;
/**
 * Check whether the cell is locked or not
 *
 * @param {CellModel} cell - Specify the cell.
 * @param {ColumnModel} column - Specify the column.
 * @returns {boolean} - Returns boolean value
 * @hidden
 */
export  function isLocked(cell: CellModel, column: ColumnModel): boolean;
/**
 * Check whether the value is cell reference or not.
 *
 * @param {string} value - Specify the value to check.
 * @returns {boolean} - Returns boolean value
 * @hidden
 */
export  function isValidCellReference(value: string): boolean;
/**
 * To get the column index of the given cell.
 *
 * @param {string} cell - Cell address for getting column index.
 * @returns {number} - To get the column index of the given cell.
 * @hidden
 */
export  function columnIndex(cell: string): number;
/**
 * @hidden
 * @param {SheetModel} sheet - Specify the sheet
 * @param {number} index - specify the index
 * @param {boolean} increase - specify the boolean value.
 * @param {string} layout - specify the string
 * @param {number} count - specify the count.
 * @returns {number} - To skip the hidden index
 *
 */
export  function skipHiddenIdx(sheet: SheetModel, index: number, increase: boolean, layout?: string, count?: number): number;
/**
 * @param {CellStyleModel} style - Cell style.
 * @param {boolean} onActionUpdate - Specifies the action.
 * @returns {boolean} - retruns `true` is height needs to be checked.
 * @hidden
 */
export  function isHeightCheckNeeded(style: CellStyleModel, onActionUpdate?: boolean): boolean;
/**
 * @param {number[]} currIndexes - current indexes in which formula get updated
 * @param {number[]} prevIndexes - copied indexes
 * @param {SheetModel} sheet - sheet model
 * @param {Workbook} context - Represents workbook instance
 * @param {CellModel} prevCell - Copied or previous cell model
 * @param {boolean} isSort - Represents sort action
 * @returns {string} - retruns updated formula
 * @hidden
 */
export  function getUpdatedFormula(currIndexes: number[], prevIndexes: number[], sheet: SheetModel, context: Workbook, prevCell?: CellModel, isSort?: boolean): string;
/**
 * Retrieves the leading spaces from a given string.
 *
 * @param {string} string - The input string from which to retrieve leading spaces.
 * @returns {string} - A string containing all leading spaces from the input string.
 * @hidden
 */
export  function getLeadingSpaces(string: string): string;
/**
 * Retrieves the trailing spaces from a given string.
 *
 * @param {string} string - The input string from which to retrieve trailing spaces.
 * @returns {string} - A string containing all trailing spaces from the input string.
 * @hidden
 */
export  function getTrailingSpaces(string: string): string;
/**
 * @param {Workbook} context - Specifies the context.
 * @param {SheetModel} sheet - Specifies the sheet.
 * @param {CellUpdateArgs} prop - Specifies the props.
 * @param {BeforeActionData} actionData - It holds the undoRedoCollection cell details.
 * @param {boolean} isUndo - It holds the undo information.
 * @returns {boolean} - returns args cancel value.
 * @hidden */
export  function updateCell(context: Workbook, sheet: SheetModel, prop: CellUpdateArgs, actionData?: BeforeActionData, isUndo?: boolean): boolean;
/**
 * @param {number} rowIdx - row index
 * @param {number} colIdx - column index
 * @param {SheetModel} sheet - sheet model
 * @returns {number[]} - retruns data range
 * @hidden
 */
export  function getDataRange(rowIdx: number, colIdx: number, sheet: SheetModel): number[];
/**
 * @param {InsertDeleteModelArgs} args - row index
 * @param {number[]} formatRange - format range index
 * @param {boolean} isAction - specifies isAction.
 * @returns {number[]} - retruns updated range
 * @hidden
 */
export  function insertFormatRange(args: InsertDeleteModelArgs, formatRange: number[], isAction: boolean): number[];
/**
 * @param {InsertDeleteModelArgs} args - row index
 * @param {number[]} formatRange - cell range index
 * @returns {number[]} - retruns data range
 * @hidden
 */
export  function deleteFormatRange(args: InsertDeleteModelArgs, formatRange: number[]): number[];
/**
 * @param {ConditionalFormat[]} curCF - Specifies current Conditional formatting.
 * @param {ConditionalFormatModel[]} cfRule - Specifies conditional formatting rules.
 * @param {number} rowIdx - Specifies the row index.
 * @param {number} colIdx -Specifies the col index.
 * @param {number[]} startRanges - Specifies conditional formatting origin index.
 * @param {number[]} fillRanges - Specifies the conditional formatting fill ranges.
 * @param {SheetModel} sheet -Specifies the conditional formatted sheet.
 * @returns {void} - Updates Conditional formatting model.
 * @hidden
 */
export  function updateCFModel(curCF: ConditionalFormat[], cfRule: ConditionalFormatModel[], rowIdx: number, colIdx: number, startRanges?: number[], fillRanges?: number[], sheet?: SheetModel): void;
/**
 * @param {number} indexes - Specifies the indexes.
 * @param {string} range - Specifies the range.
 * @returns {boolean} - Return is range or not.
 * @hidden
 */
export  function checkRange(indexes: number[][], range: string): boolean;
/**
 * Parse the formatted text to get the actual cell value.
 *
 * @param {string[]} valArr - Specifies the value array.
 * @param {string} context - Specifies the workbook instance.
 * @param {LocaleNumericSettings} numObj - Specifies the locale numeric options like decimal and group separators.
 * @returns {string[]} - Returns the parsed number collection.
 * @hidden
 */
export  function parseLocaleNumber(valArr: string[], context: Workbook, numObj?: LocaleNumericSettings): string[];
/**
 * Returns the overall viewport indexes by including the freeze and movable part.
 *
 * @param {Workbook} parent - Specify the Workbook object.
 * @param {number} viewport - Specifies the top, bottom, left, and right index of the current viewport.
 * @param {number} viewport.topIndex - Specifies the top index of the current viewport.
 * @param {number} viewport.leftIndex - Specifies the left index of the current viewport.
 * @param {number} viewport.bottomIndex - Specifies the bottom index of the current viewport.
 * @param {number} viewport.rightIndex - Specifies the right index of the current viewport.
 * @returns {number} - Returns the viewport indexes.
 * @hidden
 */
export  function getViewportIndexes(parent: Workbook, viewport: {
    topIndex?: number;
    leftIndex?: number;
    bottomIndex?: number;
    rightIndex?: number;
}): number[][];
/**
 * If the primary cell in the merged range row/column is hidden, then this method will update
 * the next visible row/column index within the merged range.
 *
 * @param {VisibleMergeIndexArgs} args - Specifies the args.
 * @returns {void} - Update the next visible row/column index within the merged range.
 */
export  function setVisibleMergeIndex(args: VisibleMergeIndexArgs): void;
/**
 *
 * @param {Workbook} context - Specifies the spreadsheet instance.
 * @hidden
 */
export  function isImported(context: Workbook): boolean;
/**
 * Return a function that will auto-detect the number format of the formatted cell value.
 *
 * @param {Workbook} context - Specifies the Workbook instance.
 * @returns {void} - Defines the common variables and returns the auto-detect number format function.
 * @hidden
 */
export  function getAutoDetectFormatParser(context: Workbook): (cell: CellModel) => void;
/**
 *
 * @param {data.DataManager} dataManager - Specifies the Datamanager.
 * @param {data.Predicate[]} predicates - Specifies the predicates.
 * @param {data.Predicate[]} equalOrPredicates - Specifies the equal or predicates.
 * @returns {Object[]} - Returns apply predicates object.
 * @hidden
 */
export  function applyPredicates(dataManager: data.DataManager, predicates: data.Predicate[], equalOrPredicates?: data.Predicate[][]): Object[];
/**
 * Checks whether the cell is read-only or not.
 *
 * @param {CellModel} cell - The cell to check.
 * @param {ColumnModel} column - The column associated with the cell.
 * @param {RowModel} row - The row associated with the cell.
 * @returns {boolean} - Returns true if the cell is read-only, otherwise false.
 * @hidden
 */
export  function isReadOnly(cell: CellModel, column: ColumnModel, row: RowModel): boolean;
/**
 * Checks whether a specific range of cells is read-only or not.
 *
 * @param {Workbook} parent - The spreadsheet instance.
 * @param {number[]} rangeIndexes - The range indexes to check.
 * @returns {boolean} - Returns true if any of the cells is read-only, otherwise false.
 * @hidden
 */
export  function isReadOnlyCells(parent: Workbook, rangeIndexes?: number[]): boolean;
/**
 * Checks whether the selected range in the sheet is an entire row or column and returns the updated range accordingly.
 *
 * @param {SheetModel} sheet -Specifies the sheet.
 * @param {string} range - Specify the range that need to be updated.
 * @returns {string} - Retruns updated range
 * @hidden
 */
export  function getUpdatedRange(sheet: SheetModel, range?: string): string;
/**
 * Calculating resolution based windows value
 *
 * @param {number} size - Specify the end column index.
 * @returns {number} - get excluded column width.
 * @hidden
 */
export  function addDPRValue(size: number): number;
/**
 * Updated the top border of the adjacent merged cells
 *
 * @param {Workbook} context - The spreadsheet instance.
 * @param {number[]} rowIndexes - An array of row indexes that top border need to be updated.
 * @param {number[]} colIndexes - An array of col indexes that top border need to be updated.
 * @returns {void}
 * @hidden
 */
export  function updateMergeBorder(context: Workbook, rowIndexes: number[], colIndexes?: number[]): void;
//node_modules/@syncfusion/ej2-spreadsheet/src/workbook/common/module.d.ts
/**
 * To get Workbook required modules.
 *
 * @hidden
 * @param {Workbook} context - Specifies the context.
 * @param {base.ModuleDeclaration[]} modules - Specifies the modules.
 * @returns {base.ModuleDeclaration[]} - To get Workbook required modules.
 */
export  function getWorkbookRequiredModules(context: Workbook, modules?: base.ModuleDeclaration[]): base.ModuleDeclaration[];
//node_modules/@syncfusion/ej2-spreadsheet/src/workbook/common/math.d.ts
/**
 * @hidden
 * @param {number} val - Specifies the val.
 * @returns {string} - To get Fraction.
 */
export  function toFraction(val: number): string;
/**
 * @hidden
 * @param {string | number} a - Specifies the a.
 * @param {string | number} b - Specifies the b.
 * @returns {number} - To get Gcd.
 */
export  function getGcd(a: string | number, b: string | number): number;
/**
 * @hidden
 * @param {number} val - Specifies the value.
 * @returns {Date} - Returns Date.
 */
export  function intToDate(val: number | string): Date;
/**
 * @hidden
 * @param {number} val - Specifies the value.
 * @param {boolean} isTime - Specifies the boolean value.
 * @param {boolean} isTimeOnly - Specifies the value is only a time without date.
 * @returns {number} - Returns number.
 */
export  function dateToInt(val: any, isTime?: boolean, isTimeOnly?: boolean): number;
/**
 * @hidden
 * @param {any} date - Specifies the date.
 * @returns {boolean} - Returns boolean value.
 */
export  function isDateTime(date: any): boolean;
/**
 * @hidden
 * @param {string} val - Specifies the value.
 * @returns {boolean} - Returns boolean value.
 */
export  function isNumber(val: string | number): boolean;
/**
 * @hidden
 * @param {string | number} val - Specifies the value.
 * @returns {string} - Returns converted value.
 */
export  function evaluate(val: string | number): string;
/**
 * @hidden
 * @param {Date | string | number} text - Specifies the text.
 * @param {base.Internationalization} intl - Specifies the base.Internationalization.
 * @param {string} locale - Specifies the locale.
 * @param {string} format - Specifies the string.
 * @param {CellModel} cell - Specify the cell.
 * @param {boolean} isDateTime -Specify is DateTime value or not.
 * @returns {ToDateArgs} - Returns Date format.
 */
export  function toDate(text: Date | string | number, intl: base.Internationalization, locale: string, format?: string, cell?: CellModel, isDateTime?: boolean): ToDateArgs;
/**
 * @hidden
 * @param {string} value - Specifies the value.
 * @param {boolean} isPaste - Optional flag indicating whether the value came from a paste action.
 * @param {boolean} isFromExternalPaste - Optional flag indicating whether the value came from a getExternalCells method.
 * @returns { string | number} - ReturnsparseIntValue.
 */
export  function parseIntValue(value: string, isPaste?: boolean, isFromExternalPaste?: boolean): string | number;
export interface ToDateArgs {
    dateObj: Date;
    type: string;
    isCustom: boolean;
}
//node_modules/@syncfusion/ej2-spreadsheet/src/workbook/common/internalization.d.ts
/**
 * Check the value of the cell is number with thousand separator and currency symbol and returns the parsed value.
 *
 * @param {CellModel} cell - Specifies the cell.
 * @param {string} locale - Specifies the locale.
 * @param {string} groupSep - Specifies the group separator.
 * @param {string} decimalSep - Specifies the decimal separator.
 * @param {string} currencySym - Specifies the currency Symbol.
 * @param {boolean} isFractionalType - Defines whether the value is a fractional type or not.
 * @param {boolean} checkCurrency - Specifies the currency check.
 * @returns {Object} - returns the parsed value.
 * @hidden
 */
export  function checkIsNumberAndGetNumber(cell: CellModel, locale: string, groupSep?: string, decimalSep?: string, currencySym?: string, isFractionalType?: boolean, checkCurrency?: boolean): {
    isNumber: boolean;
    value: string;
};
/**
 * @param {string} value - Specifies the value.
 * @param {string} locale - Specifies the locale.
 * @param {string} groupSep - Specifies the group separator.
 * @param {string} decimalSep - Specifies the decimal separator.
 * @returns {boolean} - Returns parsed thousand separator.
 * @hidden
 */
export  function parseThousandSeparator(value: string, locale: string, groupSep: string, decimalSep: string): boolean;
//node_modules/@syncfusion/ej2-spreadsheet/src/workbook/common/interface.d.ts
/**
 * Represents the options used to save a document.
 * These options include the file name, file type, and the URL for the save action.
 */
export interface SaveOptions {
    /**
     * Specify the URL where the document will be sent for saving.
     */
    url?: string;
    /**
     * The name of the file to be saved. This name will be used as the default file name
     * when the document is downloaded.
     */
    fileName?: string;
    /**
     * The type of the file to be saved. By default, the file will be saved in Excel format.
     *
     * Supported file types might include formats such as Excel, CSV, or PDF.
     */
    saveType?: SaveType;
    /**
     * The layout settings to use when saving a document as a PDF.
     * These settings can control aspects like page orientation (portrait or landscape)
     * or fit-to-one-page functionality.
     */
    pdfLayoutSettings?: pdfLayoutSettings;
}
/**
 * Represents the options available for printing functionality in the spreadsheet.
 * These options allow you to customize the print settings, such as selecting specific sheets
 * or including headers and gridlines.
 */
export interface PrintOptions {
    /**
     * Determines what part of the spreadsheet should be printed.
     *
     * Values:
     * - **"Worksheet"**: Prints only the active worksheet.
     * - **"Workbook"**: Prints the entire workbook (all sheets).
     *
     */
    type?: PrintType;
    /**
     * Specifies whether to include row and column headers (like A, B, C for columns and 1, 2, 3 for rows)
     * in the printed output.
     *
     * - **true**: Includes row and column headers in the printout.
     * - **false**: Excludes row and column headers from the printout.
     *
     */
    allowRowColumnHeader?: boolean;
    /**
     * Specifies whether to include gridlines in the printed output.
     *
     * Gridlines are the light gray lines that separate cells in the spreadsheet.
     *
     * - **true**: Prints the sheet with gridlines.
     * - **false**: Prints the sheet without gridlines.
     *
     */
    allowGridLines?: boolean;
}
/**
 * Represents layout options for PDF export.
 * These options allow you to customize how the content is arranged in the PDF.
 */
export interface pdfLayoutSettings {
    /**
     * Determines whether the content should fit into a single page in the PDF.
     *
     * - **true**: Content will automatically scale to fit within one page.
     * - **false**: Content may span across multiple pages if it doesn’t fit.
     *
     */
    fitSheetOnOnePage?: boolean;
    /**
     * Specifies the page orientation for the PDF.
     *
     * Values:
     * - **"portrait"**: The PDF pages will be in vertical orientation (default).
     * - **"landscape"**: The PDF pages will be in horizontal orientation.
     *
     */
    orientation?: PdfPageOrientation;
}
/**
 * Represents the event arguments triggered before the save action is performed.
 */
export interface BeforeSaveEventArgs extends SaveOptions {
    /**
     * Specifies custom parameters that need to be included in the save request.
     * These parameters will be sent along with the save action request to the server.
     */
    customParams: Object;
    /**
     * Determines whether a full post-back is required for the save action.
     */
    isFullPost: boolean;
    /**
     * Specifies whether the spreadsheet should be generated as `blobData` or not.
     *
     * - **true**: Generates the spreadsheet data as a `Blob` object, which can be used for custom handling
     *   (e.g., downloading, uploading to a server, or storing in memory).
     * - **false**: The spreadsheet will not be generated as `blobData`.
     *
     */
    needBlobData: boolean;
    /**
     * Specifies whether the save action should be canceled.
     *
     * - **true**: Cancels the save action and stops further execution.
     * - **false**: Proceeds with the save action as normal.
     *
     */
    cancel: boolean;
    /**
     * Automatically detects the number format for cells, if enabled.
     */
    autoDetectFormat?: boolean;
}
/**
 * Represents the event arguments triggered after the save action completes.
 */
export interface SaveCompleteEventArgs extends SaveOptions {
    /**
     * Specifies the spreadsheet data that is saved as a `Blob`.
     * A `Blob` is a binary large object that can represent the file data in memory.
     * This can be used for operations like downloading, uploading, or storing the data.
     */
    blobData: Blob;
    /**
     * Specifies the status of the save action after it completes.
     */
    status: string;
    /**
     * Specifies the message returned after the save action completes.
     * This message provides additional information about the result of the save operation.
     * It could be a success confirmation message or an error description.
     */
    message: string;
}
/**
 * Specifies the options for performing a find and replace action in the spreadsheet.
 * These options control how and where the search operation is executed, as well as how to replace values.
 */
export interface FindOptions {
    /**
     * Specifies the value to find in the spreadsheet.
     * This is the text or number that you want to search for within the cells.
     */
    value: string;
    /**
     * Specifies whether to match the case when finding the value.
     *
     * - **true**: The search will be case-sensitive.
     * - **false**: The search will be case-insensitive.
     *
     */
    isCSen: boolean;
    /**
     * Specifies whether to match the entire cell content or a substring of the cell content.
     *
     * - **true**: The search will match only the entire content of the cell.
     * - **false**: The search will match any part of the cell content (substring search).
     *
     */
    isEMatch: boolean;
    /**
     * Specifies whether to search for the value within the current sheet or the entire workbook.
     *
     * - **"Sheet"**: Searches only within the current active sheet.
     * - **"Workbook"**: Searches across all sheets in the workbook.
     *
     */
    mode: string;
    /**
     * Specifies whether to search for the value by row or by column.
     *
     * - **"Row"**: Searches row by row (horizontally).
     * - **"Column"**: Searches column by column (vertically).
     *
     */
    searchBy: string;
    /**
     * Specifies the option to find the previous or next match of the value.
     *
     * - **"Next"**: Finds the next occurrence of the value.
     * - **"Previous"**: Finds the previous occurrence of the value.
     *
     */
    findOpt: string;
    /**
     * Specifies the index of the sheet to search for the value.
     * This refers to the sheet number (0-based index) where the search should begin.
     *
     */
    sheetIndex: number;
    /**
     * Specifies the value to replace the found value with.
     * This is used when performing the replace operation.
     *
     */
    replaceValue?: string;
    /**
     * Specifies whether to replace the first match or all matches of the found value.
     *
     * - **"First"**: Replaces only the first found value.
     * - **"All"**: Replaces all occurrences of the found value.
     *
     */
    replaceBy?: string;
    /**
     * Specifies the count of occurrences of the found value.
     * This is the number of times the search value appears in the sheet or workbook.
     *
     */
    findCount?: string;
    /**
     * Specifies whether to return the match after the find action.
     *
     * - **true**: Returns the matching value after the find operation.
     * - **false**: Does not return any match.
     *
     */
    isAction?: boolean;
    /**
     * Specifies whether to display the find and replace dialog.
     *
     * - **true**: Displays the find and replace dialog for user interaction.
     * - **false**: Does not display the dialog.
     *
     */
    showDialog?: boolean;
}
/**@hidden */
export interface FindOptionsArgs extends FindOptions {
    localeObj?: LocaleNumericSettings;
}
/**@hidden */
export interface ReplaceAllEventArgs {
    addressCollection: string[];
    cancel?: boolean;
}
/**
 * Specifies FindAll options in arguments.
 */
export interface FindAllArgs {
    value: string;
    mode?: string;
    sheetIndex?: number;
    isCSen?: boolean;
    isEMatch?: boolean;
    findCollection?: string[];
}
export interface InvalidFormula {
    value: string;
    skip: boolean;
}
/**
 * Specifies find next arguments.
 */
export interface FindNext {
    rowIndex: number;
    colIndex: number;
    endRow: number;
    endColumn: number;
    startRow: number;
    usedRange?: UsedRangeModel;
    mode: string;
    loopCount: number;
    count: number;
    args?: FindOptions;
    val: string;
    stringValue: string;
    sheetIndex: number;
    startColumn: number;
    sheets: SheetModel[];
}
/**
 * Specifies find previous arguments.
 */
export interface FindPrevious {
    rowIndex: number;
    colIndex: number;
    endRow: number;
    endColumn: number;
    startRow: number;
    loopCount: number;
    count: number;
    args: FindOptions;
    val: string;
    stringValue: string;
    sheetIndex: number;
    startColumn: number;
    sheets: SheetModel[];
}
/**@hidden */
export interface ReplaceEventArgs {
    address: string;
    compareValue: string;
    replaceValue: string;
}
/**@hidden */
export interface BeforeReplaceEventArgs extends ReplaceEventArgs {
    cancel: boolean;
}
/**
 * @hidden
 */
export interface ToolbarFind {
    findOption?: string;
    countArgs?: {
        countOpt: string;
        findCount: string;
    };
}
/** @hidden */
export interface CellFormatArgs {
    style: CellStyleModel;
    rowIdx: number;
    colIdx: number;
    td?: HTMLElement;
    pCell?: HTMLElement;
    row?: HTMLElement;
    hRow?: HTMLElement;
    pRow?: HTMLElement;
    pHRow?: HTMLElement;
    lastCell?: boolean;
    isHeightCheckNeeded?: boolean;
    manualUpdate?: boolean;
    onActionUpdate?: boolean;
    first?: string;
    checkHeight?: boolean;
    outsideViewport?: boolean;
    formatColor?: string;
    isFromAutoFillOption?: boolean;
    rowHeight?: number;
    mergeBorderRows?: number[];
}
/** @hidden */
export interface SetCellFormatArgs {
    style: CellStyleModel;
    range?: string | number[];
    refreshRibbon?: boolean;
    onActionUpdate?: boolean;
    cancel?: boolean;
    borderType?: BorderType;
    isUndoRedo?: boolean;
}
/** @hidden */
export interface ExtendedRange extends RangeModel {
    info?: RangeInfo;
}
/** @hidden */
export interface ExtendedImageModel extends ImageModel {
    preservePos?: boolean;
}
/** @hidden */
export interface CellStyleExtendedModel extends CellStyleModel {
    properties?: CellStyleModel;
    bottomPriority?: boolean;
}
interface RangeInfo {
    loadedRange?: number[][];
    insertRowRange?: number[][];
    insertColumnRange?: number[][];
    deleteColumnRange?: number[][];
    count?: number;
    fldLen?: number;
    flds?: string[];
}
/** @hidden */
export interface AutoDetectInfo {
    value: string;
    sheet: SheetModel;
    cell: CellModel;
    rowIndex: number;
    colIndex: number;
    sheetIndex: number;
}
/**
 * @hidden
 */
export interface ExtendedSheet extends Sheet {
    isLocalData?: boolean;
    lastReqIdx?: number[];
    isImportProtected?: boolean;
}
/**
 * Specifies the event arguments triggered before applying cell formatting in the spreadsheet.
 * This allows users to customize the formatting behavior before it is applied to the selected cells.
 */
export interface BeforeCellFormatArgs {
    /**
     * Specifies the range of cells to which the cell formatting should be applied.
     * This is a string representing the range (e.g., "A1:C3", "B2", etc.).
     * The range can be a single cell or a block of cells.
     */
    range: string;
    /**
     * Specifies the type of request: whether it is a cell format or a number format.
     *
     * - **"CellFormat"**: The request is for cell formatting (e.g., font, background color).
     * - **"NumberFormat"**: The request is for number formatting (e.g., currency, date format).
     *
     */
    requestType: FormatType;
    /**
     * Specifies the format to be applied when applying number formatting.
     * This is relevant only when `requestType` is set to "Number".
     * The format could be any standard number format (e.g., "Currency", "Percentage", etc.).
     */
    format?: string;
    /**
     * Specifies the styles to be applied during cell formatting.
     * This object contains styling properties such as font, color, borders, etc.
     */
    style?: CellStyleModel;
    /**
     * Specifies the sheet index where the cell formatting is to be applied.
     * The index corresponds to the position of the sheet in the workbook (0-based index).
     */
    sheetIndex?: number;
    /**
     * Specifies the border type to be applied during the cell formatting.
     * This can be one of the following types:
     * - **"Inner"**: Applies the border inside the selected range.
     * - **"Outer"**: Applies the border outside the selected range.
     * - **"Vertical"**: Applies the border vertically between columns.
     * - **"Horizontal"**: Applies the border horizontally between rows.
     *
     */
    borderType?: BorderType;
    /**
     * Specifies whether to cancel the cell or number formatting.
     * If set to `true`, the formatting action is canceled and not applied to the selected range.
     * If set to `false`, the formatting is applied as requested.
     */
    cancel?: boolean;
}
/** @hidden */
export interface AggregateArgs {
    Count: number;
    Sum?: string;
    Avg?: string;
    Min?: string;
    Max?: string;
    countOnly?: boolean;
}
/**
 * Specifies the criteria for sorting in a spreadsheet.
 */
export interface SortDescriptor {
    /**
     * Specifies the column by which to sort.
     * This is the name of the column or field on which sorting should be applied.
     */
    field?: string;
    /**
     * Specifies the sort order.
     * - **Ascending**: Sorts the data from smallest to largest (A-Z, 1-10).
     * - **Descending**: Sorts the data from largest to smallest (Z-A, 10-1).
     */
    order?: SortOrder;
    /**
     * Specifies a function used to customize the sorting logic.
     * You can use this function to define custom sorting rules beyond basic ascending or descending order.
     */
    sortComparer?: Function;
}
/**
 * Specifies the event arguments after sorting completes.
 */
export interface SortEventArgs {
    /**
     * Specifies the range of cells that were sorted.
     * This defines the area in the spreadsheet that was affected by the sorting operation.
     */
    range?: string;
    /**
     * Specifies the sorting options that were used.
     * This could include which columns were sorted, the sort order, and whether headers were considered.
     */
    sortOptions?: SortOptions;
    /**
     * Specifies the previous sort collection model.
     * This is used to track the previous sorting state before the current operation.
     */
    previousSort?: SortCollectionModel | SortCollectionModel[];
}
/**
 * Specifies the options for sorting in a spreadsheet.
 */
export interface SortOptions {
    /**
     * Specifies the descriptors (criteria) for sorting.
     * This can be a single descriptor or an array of descriptors if multiple columns need to be sorted.
     */
    sortDescriptors?: SortDescriptor | SortDescriptor[];
    /**
     * Specifies whether the range being sorted contains headers.
     * If set to `true`, the first row of the range is considered as headers and will not be sorted.
     */
    containsHeader?: boolean;
    /**
     * Specifies whether the sorting operation should be case-sensitive.
     * ```
     */
    caseSensitive?: boolean;
}
/**
 * Specifies the event arguments before the sorting operation begins.
 */
export interface BeforeSortEventArgs extends SortEventArgs {
    /**
     * Specifies whether the sorting operation should be prevented.
     * If set to `true`, the sorting will not proceed.
     */
    cancel?: boolean;
}
/**
 * Specifies arguments before a hyperlink is created or clicked.
 */
export interface BeforeHyperlinkArgs {
    /**
     * Specifies the hyperlink reference.
     * This can either be a URL string (e.g., "https://example.com") or a `HyperlinkModel` object for more advanced configurations.
     */
    hyperlink?: string | HyperlinkModel;
    /**
     * Specifies the range of cells where the hyperlink should be added.
     */
    address?: string;
    /**
     * Specifies the text to be displayed for the hyperlink.
     * If no text is provided, the current value of the cell is displayed by default.
     */
    displayText?: string;
    /**
     * Specifies the target window or frame where the hyperlink will open.
     * Common values:
     * - `_blank`: Opens in a new tab or window.
     * - `_self`: Opens in the same tab or window.
     * - `_parent`: Opens in the parent frame.
     * - `_top`: Opens in the topmost frame.
     * - Custom frame name.
     */
    target?: string;
    /**
     * Specifies whether the action of opening the hyperlink should be canceled.
     * If set to `true`, the action will be stopped.
     */
    cancel?: boolean;
}
/**
 * Specifies arguments after a hyperlink is created or clicked.
 */
export interface AfterHyperlinkArgs {
    /**
     * Specifies the hyperlink reference.
     * This can either be a URL string (e.g., "https://example.com") or a `HyperlinkModel` object.
     */
    hyperlink?: string | HyperlinkModel;
    /**
     * Specifies the range of cells where the hyperlink was added.
     */
    address?: string;
    /**
     * Specifies the text displayed for the hyperlink.
     * If no text is provided, the current value of the cell is displayed by default.
     */
    displayText?: string;
}
/**
 * Specifies the event triggered after cell formatting is completed.
 *
 * @hidden
 */
export interface CellFormatCompleteEvents {
    completeAction(eventArgs: BeforeCellFormatArgs, action: string): void;
}
/**
 * Specifies the arguments used for filtering operations.
 */
export interface FilterEventArgs {
    /**
     * Specifies the range of cells where filtering is applied.
     */
    range?: string;
    /**
     * Specifies the options for filtering, such as the data source and filter conditions.
     */
    filterOptions?: FilterOptions;
}
/**
 * Specifies the options available for filtering data.
 */
export interface FilterOptions {
    /**
     * Specifies the data source to be filtered.
     * This can be an external data source managed by a `data.DataManager` object.
     */
    datasource?: data.DataManager;
    /**
     * Specifies the filter conditions (predicates) for filtering data.
     */
    predicates?: data.Predicate[];
    /**
     * Specifies groups of predicates that are combined using OR logic.
     * This allows filtering based on multiple sets of conditions.
     */
    equalOrPredicates?: data.Predicate[][];
}
/**
 * Specifies the arguments before a filtering operation starts.
 */
export interface BeforeFilterEventArgs extends FilterEventArgs {
    /**
     * Specifies whether the filtering operation should be canceled.
     * If set to `true`, the filtering will not proceed.
     */
    cancel?: boolean;
}
/**
 * Specifies the options for applying borders to cells.
 */
export interface BorderOptions {
    /**
     * Specifies the CSS-style border value to apply.
     */
    border: string;
    /**
     * Specifies the type of border to apply.
     * Common types:
     * - `Inner`: Applies borders to the inside edges of the range.
     * - `Outer`: Applies borders to the outer edges of the range.
     * - `Horizontal`: Applies borders between rows.
     * - `Vertical`: Applies borders between columns.
     */
    type: BorderType;
}
/** @hidden */
export interface InsertDeleteModelArgs {
    model: SheetModel;
    start?: number | RowModel[] | ColumnModel[] | SheetModel[];
    end?: number;
    isAction?: boolean;
    modelType: ModelType;
    insertType?: string;
    columnCellsModel?: RowModel[];
    activeSheetIndex?: number;
    checkCount?: number;
    definedNames?: DefineNameModel[];
    isUndoRedo?: boolean;
    refreshSheet?: boolean;
    conditionalFormats?: ConditionalFormatModel[];
    prevAction?: string;
    freezePane?: boolean;
    isRedo?: boolean;
}
/**
 * Specifies the arguments for querying cell information in the spreadsheet.
 */
export interface CellInfoEventArgs {
    /**
     * Defines the cell model object.
     * The `CellModel` contains information about the cell's properties, such as value, formatting, formula, and more.
     * ```
     */
    cell: CellModel;
    /**
     * Defines the address of the cell.
     * The address represents the location of the cell in the spreadsheet in "A1" notation.
     */
    address: string;
    /**
     * Defines the row index of the cell.
     * This is a zero-based index, meaning the first row starts at `0`.
     * ```
     */
    rowIndex: number;
    /**
     * Defines the column index of the cell.
     * This is a zero-based index, meaning the first column starts at `0`.
     */
    colIndex: number;
    /**
     * Defines the HTML element for the row in which the cell exists.
     * This is optional and is useful when working with the rendered DOM elements of the spreadsheet.
     */
    row?: HTMLElement;
}
/** @hidden */
export interface MergeArgs {
    range: string | number[];
    merge?: boolean;
    isAction?: boolean;
    type?: MergeType;
    isActiveCell?: boolean;
    activeCell?: number[];
    selectedRange?: number[];
    skipChecking?: boolean;
    model?: RowModel[];
    insertCount?: number;
    deleteCount?: number;
    insertModel?: ModelType;
    preventRefresh?: boolean;
    refreshRibbon?: boolean;
    sheetIndex?: number;
    mergeCollection?: number[][];
}
/**
 * Specifies the options to clear contents, formats, and hyperlinks in the spreadsheet.
 */
export interface ClearOptions {
    /**
     * Specifies the type of clearing action to be performed.
     *
     * The `type` property can take one of the following values:
     * - `Clear Contents` - Clears only the data or content within the cells.
     * - `Clear Formats` - Clears only the formatting (e.g., font styles, colors, borders) applied to the cells.
     * - `Clear Hyperlinks` - Removes only the hyperlinks in the cells while retaining their content and formatting.
     * - `Clear All` - Clears all content, formatting, and hyperlinks from the specified range.
     *
     */
    type?: ClearType;
    /**
     * Specifies the range of cells to be cleared in the spreadsheet.
     */
    range?: string;
}
/** @hidden */
export interface UnprotectArgs {
    sheet?: number;
}
/**
 * Insert event options.
 *
 * @hidden
 */
export interface InsertDeleteEventArgs {
    model?: RowModel[] | ColumnModel[] | CellModel[];
    sheet?: SheetModel;
    index?: number;
    modelType?: ModelType;
    insertType?: string;
    isAction?: boolean;
    startIndex?: number;
    endIndex?: number;
    deletedModel?: RowModel[] | ColumnModel[] | CellModel[] | SheetModel[];
    deletedCellsModel?: RowModel[];
    activeSheetIndex?: number;
    sheetCount?: number;
    isInsert?: boolean;
    freezePane?: boolean;
    definedNames?: DefineNameModel[];
    isMethod?: boolean;
    isUndoRedo?: boolean;
    refreshSheet?: boolean;
    cancel?: boolean;
    name?: string;
    isDelete?: boolean;
    forceUpdate?: boolean;
}
/**
 * Action begin event options.
 *
 * @hidden
 */
export interface ActionEventArgs {
    eventArgs: object;
    action: string;
    isUndo?: boolean;
    isRedo?: boolean;
    preventAction?: boolean;
}
/**
 * CFormattingEventArgs
 *
 * @hidden
 */
export interface CFormattingEventArgs {
    range?: string;
    type?: HighlightCell | TopBottom | DataBar | ColorScale | IconSet;
    cFColor?: CFColor;
    value?: string;
    sheetIdx?: number;
    cancel: boolean;
}
/**
 * Specifies event arguments when the datasource changes.
 */
export interface DataSourceChangedEventArgs {
    /**
     * Specifies the changed data from the datasource after an add, edit, or delete action.
     */
    data?: Object[];
    /**
     * Specifies the action performed to change the datasource, such as add, edit, or delete.
     */
    action?: string;
    /**
     * Specifies the range index of the changed datasource.
     * The `rangeIndex` represents the index of the data range in the spreadsheet that corresponds to the modified data.
     */
    rangeIndex?: number;
    /**
     * Specifies the index of the sheet where the datasource change occurred.
     */
    sheetIndex?: number;
}
/**
 * Specifies the defineName arguments.
 *
 * @hidden
 */
export interface DefinedNameEventArgs {
    name?: string;
    scope?: string;
    comment?: string;
    refersTo?: string;
    cancel: boolean;
}
/** @hidden */
export interface ExtendedRowModel extends RowModel {
    isFiltered?: boolean;
}
/** @hidden */
export interface ExtendedCellModel extends CellModel {
    template?: string;
}
/**
 * Specifies the event arguments for before cell update event.
 */
export interface BeforeCellUpdateArgs {
    /**
     * Specifies the cell to be updated.
     * This property holds the cell's model object, which contains all the properties and data associated with the cell being updated.
     */
    cell: CellModel;
    /**
     * Specifies the row index of the cell.
     */
    rowIndex: number;
    /**
     * Specifies the column index of the cell.
     * This property represents the zero-based index of the column where the cell is located.
     */
    colIndex: number;
    /**
     * Specifies the name of the sheet.
     * This property indicates the name of the sheet where the cell is located.
     */
    sheet: string;
    /**
     * Specifies whether to cancel the cell update.
     * If this property is set to `true`, the update to the cell will be canceled, and no changes will be applied.
     */
    cancel: boolean;
}
/** @hidden */
export interface CellUpdateArgs {
    cell: CellModel;
    rowIdx: number;
    colIdx: number;
    preventEvt?: boolean;
    pvtExtend?: boolean;
    valChange?: boolean;
    uiRefresh?: boolean;
    td?: HTMLElement;
    lastCell?: boolean;
    checkCF?: boolean;
    checkWrap?: boolean;
    eventOnly?: boolean;
    requestType?: string;
    cellDelete?: boolean;
    mergedCells?: boolean;
    isFormulaDependent?: boolean;
    skipFormatCheck?: boolean;
    isRandomFormula?: boolean;
    isDelete?: boolean;
    deletedRange?: number[];
    fillType?: string;
}
/** @hidden */
export interface NumberFormatArgs {
    value?: string | number;
    format?: string;
    type?: string;
    rowIndex?: number;
    colIndex?: number;
    cell?: CellModel;
    sheetIndex?: number;
    result?: string;
    isRightAlign?: boolean;
    isRowFill?: boolean;
    formattedText?: string;
    curSymbol?: string;
    td?: HTMLElement;
    checkDate?: boolean;
    dateObj?: Date;
    color?: string;
    dataUpdate?: boolean;
    formatApplied?: boolean;
    skipFormatCheck?: boolean;
    refresh?: boolean;
    isEdit?: boolean;
    onLoad?: boolean;
}
/** @hidden */
export interface DateFormatCheckArgs {
    value?: string | number;
    cell?: CellModel;
    rowIndex?: number;
    colIndex?: number;
    sheetIndex?: number;
    isDate?: boolean;
    isTime?: boolean;
    dateObj?: Date;
    updatedVal?: string;
    isEdit?: boolean;
    intl?: base.Internationalization;
    skipCellFormat?: boolean;
    updateValue?: boolean;
    curSymbol?: string;
    format?: string;
}
/** @hidden */
export interface AutoDetectGeneralFormatArgs {
    args?: NumberFormatArgs & DateFormatCheckArgs;
    fResult?: string;
    intl?: base.Internationalization;
    isRightAlign?: boolean;
    cell?: CellModel;
    rowIdx?: number;
    colIdx?: number;
    sheet?: SheetModel;
    cellVal?: string;
    prevVal?: string;
}
/** @hidden */
export interface CheckCellValidArgs {
    value?: string;
    range?: number[];
    isEdit?: boolean;
    sheetIdx?: number;
    td?: HTMLElement;
    isValid?: boolean;
    cell?: CellModel;
}
/** @hidden */
export interface ExtendedWorkbook extends Workbook {
    viewport?: {
        topIndex: number;
        bottomIndex: number;
        leftIndex: number;
        rightIndex: number;
    };
    workbookOpenModule?: {
        preventFormatCheck: boolean;
    };
    scrollSettings?: {
        isFinite: boolean;
        enableVirtualization: boolean;
    };
    allowWrap?: boolean;
}
/** @hidden */
export interface ApplyCFArgs {
    indexes?: number[];
    cell?: CellModel;
    ele?: HTMLElement;
    cfModel?: ConditionalFormatModel[];
    isAction?: boolean;
    prevVal?: string;
    isRender?: boolean;
    refreshAll?: boolean;
    isEdit?: boolean;
    resizedRowHeight?: number;
}
/** @hidden */
export interface CFArgs {
    range?: string | number[];
    sheetIdx?: number;
    isFromUpdateAction?: boolean;
    isAction?: boolean;
    isClear?: boolean;
    isUndo?: boolean;
    isUndoRedo?: boolean;
    cfModel?: ConditionalFormatModel;
    oldCFModel?: ConditionalFormatModel[];
    updatedCFModel?: ConditionalFormatModel[];
    cfClearActionArgs?: object;
}
/**@hidden */
export interface FindArgs {
    startRow: number;
    startCol: number;
    endRow?: number;
    endCol?: number;
    findVal: string;
    sheet?: SheetModel;
    activeCell: number[];
    sheetIdx?: number;
    sheets?: SheetModel[];
}
/**
 * Specifies the arguments for `setVisibleMergeIndex` method.
 *
 * @hidden
 */
export interface VisibleMergeIndexArgs {
    sheet: SheetModel;
    cell: CellModel;
    rowIdx: number;
    colIdx: number;
    isMergedHiddenCell?: boolean;
}
/**@hidden */
export interface LocaleNumericSettings {
    decimal: string;
    group: string;
    timeSeparator: string;
    dateSeparator: string;
    am?: string;
    pm?: string;
    percentSign?: string;
    timeFormat?: string;
}
/**@hidden */
export interface FilterPredicateOptions {
    predicates: data.Predicate[];
    equalOrPredicates: data.Predicate[][];
}
/**@hidden */
export interface LocalizedFormatActionArgs {
    action?: string;
    format?: string;
    defaultFormats?: string[];
    localizedFormats?: string[];
    curSym?: string;
    decimalGroupSepsChanged?: boolean;
    curChanged?: boolean;
    defaultFormat?: string;
}
/**
 * Defines options to exclude specific features from the JSON data during loading or saving.
 */
export interface SerializationOptions {
    /**
     * Specifies whether to include only values when loading or saving JSON data.
     */
    onlyValues?: boolean;
    /**
     * Specifies whether to exclude styles when loading or saving JSON data.
     */
    ignoreStyle?: boolean;
    /**
     * Specifies whether to exclude formulwhen loading or saving JSON data.
     */
    ignoreFormula?: boolean;
    /**
     * Specifies whether to exclude number formats when loading or saving JSON data.
     */
    ignoreFormat?: boolean;
    /**
     * Specifies whether to exclude conditional formatting when loading or saving JSON data.
     */
    ignoreConditionalFormat?: boolean;
    /**
     * Specifies whether to exclude data validation rules when loading or saving JSON data.
     */
    ignoreValidation?: boolean;
    /**
     * Specifies whether to exclude freeze panes when loading or saving JSON data.
     */
    ignoreFreezePane?: boolean;
    /**
     * Specifies whether to exclude text wrap settings when loading or saving JSON data.
     */
    ignoreWrap?: boolean;
    /**
     * Specifies whether to exclude charts when loading or saving JSON data.
     */
    ignoreChart?: boolean;
    /**
     * Specifies whether to exclude images when loading or saving JSON data.
     */
    ignoreImage?: boolean;
    /**
     * Specifies whether to exclude notes when loading or saving JSON data.
     */
    ignoreNote?: boolean;
}
/** @hidden */
export interface FormulaCalculateArgs {
    rowIndex?: number;
    colIndex?: number;
    value?: string;
    isFormula?: boolean;
    sheetIndex?: number;
    isRefreshing?: boolean;
    isDependentRefresh?: boolean;
    isRandomFormula?: boolean;
    isClipboard?: boolean;
    isFormulaDependent?: boolean;
    sheet?: SheetModel;
    isDelete?: boolean;
    deletedRange?: number[];
    fillType?: string;
    action?: string;
}
//node_modules/@syncfusion/ej2-spreadsheet/src/workbook/common/event.d.ts
/**
 * Specifies Workbook internal events.
 */
/** @hidden */
export  const workbookDestroyed: string;
/** @hidden */
export  const updateSheetFromDataSource: string;
/** @hidden */
export  const dataSourceChanged: string;
/** @hidden */
export  const dataChanged: string;
/** @hidden */
export  const triggerDataChange: string;
/** @hidden */
export  const workbookOpen: string;
/** @hidden */
export  const beginSave: string;
/** @hidden */
export  const beginAction: string;
/** @hidden */
export  const sortImport: string;
/** @hidden */
export  const findToolDlg: string;
/** @hidden */
export  const exportDialog: string;
/** @hidden */
export  const setFilteredCollection: string;
/** @hidden */
export  const saveCompleted: string;
/** @hidden */
export  const applyNumberFormatting: string;
/** @hidden */
export  const getFormattedCellObject: string;
/** @hidden */
export  const calculateFormula: string;
/** @hidden */
export  const refreshCellElement: string;
/** @hidden */
export  const setCellFormat: string;
/** @hidden */
export  const findAllValues: string;
/** @hidden */
export  const textDecorationUpdate: string;
/** @hidden */
export  const applyCellFormat: string;
/** @hidden */
export  const updateUsedRange: string;
/** @hidden */
export  const updateRowColCount: string;
/** @hidden */
export  const workbookFormulaOperation: string;
/** @hidden */
export  const workbookEditOperation: string;
/** @hidden */
export  const checkDateFormat: string;
/** @hidden */
export  const checkNumberFormat: string;
/** @hidden */
export  const parseDecimalNumber: string;
/** @hidden */
export  const getFormattedBarText: string;
/** @hidden */
export  const activeCellChanged: string;
/** @hidden */
export  const openSuccess: string;
/** @hidden */
export  const openFailure: string;
/** @hidden */
export  const sheetCreated: string;
/** @hidden */
export  const sheetsDestroyed: string;
/** @hidden */
export  const aggregateComputation: string;
/** @hidden */
export  const getUniqueRange: string;
/** @hidden */
export  const removeUniquecol: string;
/** @hidden */
export  const checkUniqueRange: string;
/** @hidden */
export  const reApplyFormula: string;
/** @hidden */
export  const clearFormulaDependentCells: string;
/** @hidden */
export  const formulaInValidation: string;
/** @hidden */
export  const beforeSort: string;
/** @hidden */
export  const initiateSort: string;
/** @hidden */
export  const updateSortedDataOnCell: string;
/** @hidden */
export  const sortComplete: string;
/** @hidden */
export  const sortRangeAlert: string;
/** @hidden */
export  const initiatelink: string;
/** @hidden */
export  const beforeHyperlinkCreate: string;
/** @hidden */
export  const afterHyperlinkCreate: string;
/** @hidden */
export  const beforeHyperlinkClick: string;
/** @hidden */
export  const afterHyperlinkClick: string;
/** @hidden */
export  const addHyperlink: string;
/** @hidden */
export  const setLinkModel: string;
/** @hidden */
export  const beforeFilter: string;
/** @hidden */
export  const initiateFilter: string;
/** @hidden */
export  const filterComplete: string;
/** @hidden */
export  const filterRangeAlert: string;
/** @hidden */
export  const clearAllFilter: string;
/** @hidden */
export  const wrapEvent: string;
/** @hidden */
export  const onSave: string;
/** @hidden */
export  const insert: string;
/** @hidden */
export  const deleteAction: string;
/** @hidden */
export  const insertModel: string;
/** @hidden */
export  const deleteModel: string;
/** @hidden */
export  const isValidation: string;
/** @hidden */
export  const cellValidation: string;
/** @hidden */
export  const addHighlight: string;
/** @hidden */
export  const dataValidate: string;
/** @hidden */
export  const find: string;
/** @hidden */
export  const goto: string;
/** @hidden */
export  const findWorkbookHandler: string;
/** @hidden */
export  const replace: string;
/** @hidden */
export  const replaceAll: string;
/** @hidden */
export  const showFindAlert: string;
/** @hidden */
export  const findKeyUp: string;
/** @hidden */
export  const removeHighlight: string;
/** @hidden */
export  const queryCellInfo: string;
/** @hidden */
export  const count: string;
/** @hidden */
export  const findCount: string;
/** @hidden */
export  const protectSheetWorkBook: string;
/** @hidden */
export  const updateToggle: string;
/** @hidden */
export  const protectsheetHandler: string;
/** @hidden */
export  const replaceAllDialog: string;
/** @hidden */
export  const unprotectsheetHandler: string;
/** @hidden */
export  const workBookeditAlert: string;
/** @hidden */
export  const workbookReadonlyAlert: string;
/** @hidden */
export  const setLockCells: string;
/** @hidden */
export  const applyLockCells: string;
/** @hidden */
export  const setMerge: string;
/** @hidden */
export  const applyMerge: string;
/** @hidden */
export  const mergedRange: string;
/** @hidden */
export  const activeCellMergedRange: string;
/** @hidden */
export  const insertMerge: string;
/** @hidden */
export  const hideShow: string;
/** @hidden */
export  const setCFRule: string;
/** @hidden */
export  const applyCF: string;
/** @hidden */
export  const clearCFRule: string;
/** @hidden */
export  const clear: string;
/** @hidden */
export  const clearCF: string;
/** @hidden */
export  const setImage: string;
/** @hidden */
export  const setChart: string;
/** @hidden */
export  const initiateChart: string;
/** @hidden */
export  const refreshRibbonIcons: string;
/** @hidden */
export  const refreshChart: string;
/** @hidden */
export  const refreshChartSize: string;
/** @hidden */
export  const deleteChartColl: string;
/** @hidden */
export  const initiateChartModel: string;
/** @hidden */
export  const focusChartBorder: string;
/** @hidden */
export  const saveError: string;
/** @hidden */
export  const updateHighlight: string;
/** @hidden */
export  const beforeInsert: string;
/** @hidden */
export  const beforeDelete: string;
/** @hidden */
export  const deleteHyperlink: string;
/** @hidden */
export  const moveOrDuplicateSheet: string;
/** @hidden */
export  const setAutoFill: string;
/** @hidden */
export  const refreshCell: string;
/** @hidden */
export  const getFillInfo: string;
/** @hidden */
export  const getautofillDDB: string;
/** @hidden */
export  const rowFillHandler: string;
/** @hidden */
export  const getTextSpace: string;
/** @hidden */
export  const refreshClipboard: string;
/** @hidden */
export  const updateView: string;
/** @hidden */
export  const selectionComplete: string;
/** @hidden */
export  const refreshInsertDelete: string;
/** @hidden */
export  const getUpdatedFormulaOnInsertDelete: string;
/** @hidden */
export  const beforeCellUpdate: string;
/** @hidden */
export  const duplicateSheetFilterHandler: string;
/** @hidden */
export  const unMerge: string;
/** @hidden */
export  const checkFormulaRef: string;
/** @hidden */
export  const parseFormulaArgument: string;
/** @hidden */
export  const getCellRefValue: string;
/** @hidden */
export  const commputeFormulaValue: string;
/** @hidden */
export  const getChartRowIdxFromClientY: string;
/** @hidden */
export  const getChartColIdxFromClientX: string;
/** @hidden */
export  const refreshChartCellOnInit: string;
/** @hidden */
export  const localizedFormatAction: string;
/** @hidden */
export  const moveSheetHandler: string;
/** @hidden */
export  const addListValidationDropdown: string;
/** @hidden */
export  const sheetRenameUpdate: string;
/** @hidden */
export  const updateSortCollection: 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' | 'Comic Sans MS' | 'Courier' | 'Courier New' | 'Din Condensed' | 'Georgia' | 'Helvetica' | 'Helvetica New' | 'Roboto' | 'Tahoma' | 'Times New Roman' | 'Verdana';
/**
 * Specifies the number format types in Spreadsheet.
 */
export  type NumberFormatType = 'General' | 'Number' | 'Currency' | 'Accounting' | 'ShortDate' | 'LongDate' | 'Time' | 'Percentage' | 'Fraction' | 'Scientific' | 'Text';
/**
 * Specifies the option for save file type from Spreadsheet. By default, Excel save will be occur.
 */
export  type SaveType = 'Xlsx' | 'Xls' | 'Csv' | 'Pdf';
/**
 * Defines the order of Sorting. They are
 * * Ascending
 * * Descending
 */
export  type SortOrder = 
/**  Defines SortDirection as Ascending */
'Ascending' | 
/**  Defines SortDirection as Descending */
'Descending';
/**
 * Cell format type
 */
export  type FormatType = 'CellFormat' | 'NumberFormat';
/**
 * Border type
 */
export  type BorderType = 'Vertical' | 'Horizontal' | 'Outer' | 'Inner';
/**
 * Sheet visibility state
 */
export  type SheetState = 
/** Defines the state of sheet as visible. */
'Visible' | 
/** Defines the state of sheet as hidden. It can be unhidden later. */
'Hidden' | 
/** Defines the state of sheet as hidden. Once set, it cannot be unhidden. */
'VeryHidden';
/**
 * Workbook model type
 */
export  type ModelType = 'Sheet' | 'Row' | 'Column';
/**
 * validation type
 */
export  type ValidationType = 'WholeNumber' | 'Decimal' | 'Date' | 'TextLength' | 'List' | 'Time' | 'Custom';
/**
 * validation operator
 */
export  type ValidationOperator = 'Between' | 'NotBetween' | 'EqualTo' | 'NotEqualTo' | 'LessThan' | 'GreaterThan' | 'GreaterThanOrEqualTo' | 'LessThanOrEqualTo';
/**
 * Merge type
 */
export  type MergeType = 
/** Merge all the cells between provided range. */
'All' | 
/** Merge the cells row-wise. */
'Horizontally' | 
/** Merge the cells column-wise. */
'Vertically';
/**
 * Conditional formatting HighlightCell Type
 *
 * @hidden
 */
export  type HighlightCell = 'GreaterThan' | 'LessThan' | 'Between' | 'EqualTo' | 'ContainsText' | 'DateOccur' | 'Duplicate' | 'Unique';
/**
 * Conditional formatting TopBottom Type
 *
 * @hidden
 */
export  type TopBottom = 'Top10Items' | 'Bottom10Items' | 'Top10Percentage' | 'Bottom10Percentage' | 'BelowAverage' | 'AboveAverage';
/**
 * Conditional formatting DataBar Type
 *
 * @hidden
 */
export  type DataBar = 'BlueDataBar' | 'GreenDataBar' | 'RedDataBar' | 'OrangeDataBar' | 'LightBlueDataBar' | 'PurpleDataBar';
/**
 * Conditional formatting ColorScale Type
 *
 * @hidden
 */
export  type ColorScale = 'GYRColorScale' | 'RYGColorScale' | 'GWRColorScale' | 'RWGColorScale' | 'BWRColorScale' | 'RWBColorScale' | 'WRColorScale' | 'RWColorScale' | 'GWColorScale' | 'WGColorScale' | 'GYColorScale' | 'YGColorScale';
/**
 * Conditional formatting IconSet Type
 *
 * @hidden
 */
export  type IconSet = 'ThreeArrows' | 'ThreeArrowsGray' | 'FourArrowsGray' | 'FourArrows' | 'FiveArrowsGray' | 'FiveArrows' | 'ThreeTrafficLights1' | 'ThreeTrafficLights2' | 'ThreeSigns' | 'FourTrafficLights' | 'FourRedToBlack' | 'ThreeSymbols' | 'ThreeSymbols2' | 'ThreeFlags' | 'FourRating' | 'FiveQuarters' | 'FiveRating' | 'ThreeTriangles' | 'ThreeStars' | 'FiveBoxes';
export  type CFColor = 'RedFT' | 'YellowFT' | 'GreenFT' | 'RedF' | 'RedT';
/**
 * Clear type
 */
export  type ClearType = 
/** Clear the content, formats and hyperlinks applied in the provided range. */
'Clear All' | 
/** Clear the formats applied in the provided range. */
'Clear Formats' | 
/** Clear the content in the provided range. */
'Clear Contents' | 
/** Clear the hyperlinks applied in the provided range. */
'Clear Hyperlinks';
/**
 * Chart type
 */
export  type ChartType = 
/**  Define the Column series. */
'Column' | 
/**  Define the StackingColumn series. */
'StackingColumn' | 
/** Define the StackingColumn100 series */
'StackingColumn100' | 
/**  Define the line series. */
'Line' | 
/**  Define the StackingLine series. */
'StackingLine' | 
/** Define the StackingLine100 series */
'StackingLine100' | 
/**  Define the Bar series. */
'Bar' | 
/**  Define the StackingBar series. */
'StackingBar' | 
/** Define the StackingBar100 series */
'StackingBar100' | 
/**  Define the Area series. */
'Area' | 
/**  Define the StackingArea series. */
'StackingArea' | 
/** Define the StackingArea100 series */
'StackingArea100' | 
/**  Define the Scatter series. */
'Scatter' | 
/**  Define the Pie series. */
'Pie' | 
/**  Define the Doughnut series. */
'Doughnut';
/**
 * Chart theme
 */
export  type ChartTheme = 
/**  Render a chart with Material theme. */
'Material' | 
/**  Render a chart with Fabric theme. */
'Fabric' | 
/**  Render a chart with Bootstrap theme. */
'Bootstrap' | 
/**  Render a chart with HighcontrastLight theme. */
'HighContrastLight' | 
/**  Render a chart with MaterialDark theme. */
'MaterialDark' | 
/**  Render a chart with FabricDark theme. */
'FabricDark' | 
/**  Render a chart with HighContrast theme. */
'HighContrast' | 
/**  Render a chart with BootstrapDark theme. */
'BootstrapDark' | 
/**  Render a chart with Bootstrap4 theme. */
'Bootstrap4' | 
/**  Render a chart with Bootstrap5Dark theme. */
'Bootstrap5Dark' | 
/**  Render a chart with Bootstrap5 theme. */
'Bootstrap5' | 
/**  Render a chart with Tailwind theme. */
'Tailwind' | 
/**  Render a chart with TailwindDark theme. */
'TailwindDark' | 
/**  Render a chart with Tailwind3 theme. */
'Tailwind3' | 
/**  Render a chart with Tailwind3Dark theme. */
'Tailwind3Dark' | 
/**  Render a chart with Fluent theme. */
'Fluent' | 
/**  Render a chart with FluentDark theme. */
'FluentDark' | 
/**  Render a chart with Fluent 2 theme. */
'Fluent2' | 
/**  Render a chart with Fluent 2 dark theme. */
'Fluent2Dark' | 
/**  Render a chart with Material3 theme. */
'Material3' | 
/**  Render a chart with Material3Dark theme. */
'Material3Dark';
/**
 * Defines the position of the legend. They are
 * * auto - Places the legend based on area type.
 * * top - Displays the legend on the top of chart.
 * * left - Displays the legend on the left of chart.
 * * bottom - Displays the legend on the bottom of chart.
 * * right - Displays the legend on the right of chart.
 */
export  type LegendPosition = 
/** Places the legend based on area type. */
'Auto' | 
/** Places the legend on the top of chart. */
'Top' | 
/** Places the legend on the left of chart. */
'Left' | 
/** Places the legend on the bottom of chart. */
'Bottom' | 
/** Places the legend on the right of chart. */
'Right';
/**
 * Defines the LabelPosition, They are.
 * * outer - Position the label outside the point.
 * * top - Position the label on top of the point.
 * * bottom - Position the label on bottom of the point.
 * * middle - Position the label to middle of the point.
 * * auto - Position the label based on series.
 */
export  type LabelPosition = 
/** Position the label outside the point. */
'Outer' | 
/** Position the label on top of the point. */
'Top' | 
/** Position the label on bottom of the point. */
'Bottom' | 
/** Position the label to middle of the point. */
'Middle' | 
/** Position the label based on series. */
'Auto';
/**
 * Defines 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 Triangle. */
'Triangle' | 
/** Render a Diamond. */
'Diamond' | 
/** Render a Plus. */
'Plus' | 
/** Render a none */
'None';
/**
 * Defines fill type options.
 */
export  type AutoFillType = 'FillSeries' | 'CopyCells' | 'FillFormattingOnly' | 'FillWithoutFormatting';
/**
 * Defines Auto fill direction options.
 */
export  type AutoFillDirection = 'Down' | 'Right' | 'Up' | 'Left';
/**
 * Defines the types of page orientation.
 */
export  type PdfPageOrientation = 
/** Used to display content in a vertical layout. */
'Portrait' | 
/** Used to display content in a horizontal layout. */
'Landscape';
/**
 * Defines the calculation modes for spreadsheet formulas.
 */
export  type CalculationMode = 
/**
 * Formulas are recalculated automatically whenever a change affecting a value occurs in the spreadsheet.
 */
'Automatic' | 
/**
 * Formulas are recalculated only when explicitly triggered by the user.
 */
'Manual';
//node_modules/@syncfusion/ej2-spreadsheet/src/workbook/common/constant.d.ts
/** @hidden */
export  const workbookLocale: string;
/**
 * Workbook locale text
 *
 * @hidden
 */
export  const localeData: object;
//node_modules/@syncfusion/ej2-spreadsheet/src/workbook/common/class.d.ts
/**
 * Represents the cell style.
 */
export  class CellStyle extends base.ChildProperty<CellStyle> {
    /**
     * Specifies font family to the cell.
     *
     * @default 'Calibri'
     * @hidden
     */
    fontFamily: FontFamily;
    /**
     * Specifies vertical align to the cell.
     *
     * @default 'bottom'
     */
    verticalAlign: VerticalAlign;
    /**
     * Specifies text align style to the cell.
     *
     * @default 'left'
     */
    textAlign: TextAlign;
    /**
     * Specifies text indent style to the cell.
     *
     * @default '0pt'
     */
    textIndent: string;
    /**
     * Specifies font color to the cell.
     *
     * @default '#000000'
     */
    color: string;
    /**
     * Specifies background color to the cell.
     *
     * @default '#ffffff'
     */
    backgroundColor: string;
    /**
     * Specifies font weight to the cell.
     *
     * @default 'normal'
     */
    fontWeight: FontWeight;
    /**
     * Specifies font style to the cell.
     *
     * @default 'normal'
     */
    fontStyle: FontStyle;
    /**
     * Specifies font size to the cell.
     *
     * @default '11pt'
     */
    fontSize: string;
    /**
     * Specifies text decoration to the cell.
     *
     * @default 'none'
     * @aspIgnore
     */
    textDecoration: TextDecoration;
    /**
     * Specifies border of the cell.
     *
     * @default ''
     */
    border: string;
    /**
     * Specifies top border of the cell.
     *
     * @default ''
     */
    borderTop: string;
    /**
     * Specifies bottom border of the cell.
     *
     * @default ''
     */
    borderBottom: string;
    /**
     * Specifies left border of the cell.
     *
     * @default ''
     */
    borderLeft: string;
    /**
     * Specifies right border of the cell.
     *
     * @default ''
     */
    borderRight: string;
    /** @hidden */
    bottomPriority: boolean;
}
/**
 * Represents the Filter Collection.
 *
 */
export  class FilterCollection extends base.ChildProperty<FilterCollection> {
    /**
     * Specifies the sheet index of the filter collection.
     *
     * @default null
     */
    sheetIndex: number;
    /**
     * Specifies the range of the filter collection.
     *
     * @default []
     */
    filterRange: string;
    /**
     * Specifies the sheet has filter or not.
     *
     * @default false
     */
    hasFilter: boolean;
    /**
     * Specifies the filtered column collection.
     *
     * @default []
     */
    column: number[];
    /**
     * Specifies the condition for column filtering.
     *
     * @default []
     */
    criteria: string[];
    /**
     * Specifies the value for column filtering.
     *
     * @default []
     */
    value: (string | number | boolean | Date)[];
    /**
     * Specifies the data type of column filtering.
     *
     * @default []
     */
    dataType: string[];
    /**
     * Specifies the predicate type of column filtering.
     *
     * @default []
     */
    predicates: string[];
}
/**
 * Represents the sort Collection.
 *
 */
export  class SortCollection extends base.ChildProperty<SortCollection> {
    /**
     * Specifies the range of the sort collection.
     *
     */
    sortRange: string;
    /**
     * Specifies the sorted column collection.
     *
     */
    columnIndex: number;
    /**
     * Specifies the order for sorting.
     *
     */
    order: string;
    /**
     * Specifies the order for sorting.
     *
     */
    sheetIndex: number;
}
/**
 * Represents the DefineName.
 */
export  class DefineName extends base.ChildProperty<DefineName> {
    /**
     * Specifies name for the defined name, which can be used in formula.
     *
     * @default ''
     */
    name: string;
    /**
     * Specifies scope for the defined name.
     *
     * @default ''
     */
    scope: string;
    /**
     * Specifies comment for the defined name.
     *
     * @default ''
     */
    comment: string;
    /**
     * Specifies reference for the defined name.
     *
     * @default ''
     */
    refersTo: string;
}
/**
 * Configures the Protect behavior for the spreadsheet.
 *
 */
export  class ProtectSettings extends base.ChildProperty<ProtectSettings> {
    /**
     * Specifies to allow selection in spreadsheet.
     *
     * @default false
     */
    selectCells: boolean;
    /**
     * Specifies to allow selection only for unlocked cells in spreadsheet.
     *
     * @default false
     */
    selectUnLockedCells: boolean;
    /**
     * specifies to allow formating in cells.
     *
     * @default false
     */
    formatCells: boolean;
    /**
     * Specifies to allow format rows in spreadsheet.
     *
     * @default false
     */
    formatRows: boolean;
    /**
     * Specifies to allow format columns in spreadsheet.
     *
     * @default false
     */
    formatColumns: boolean;
    /**
     * Specifies to allow insert Hyperlink in Spreadsheet.
     *
     * @default false
     */
    insertLink: boolean;
}
/**
 * Represents the Hyperlink.
 *
 */
export  class Hyperlink extends base.ChildProperty<Hyperlink> {
    /**
     * Specifies Hyperlink Address.
     *
     * @default ''
     */
    address: string;
}
/**
 * Represents the DataValidation.
 */
export  class Validation extends base.ChildProperty<Validation> {
    /**
     * Specifies Validation Type.
     *
     * @default 'WholeNumber'
     */
    type: ValidationType;
    /**
     * Specifies Validation Operator.
     *
     * @default 'Between'
     */
    operator: ValidationOperator;
    /**
     * Specifies Validation Minimum Value.
     *
     * @default ''
     */
    value1: string;
    /**
     * Specifies Validation Maximum Value.
     *
     * @default ''
     */
    value2: string;
    /**
     * Specifies IgnoreBlank option in Data Validation.
     *
     * @default true
     */
    ignoreBlank: boolean;
    /**
     * Specifies InCellDropDown option in Data Validation.
     *
     * @default true
     */
    inCellDropDown: boolean;
    /**
     * specifies to allow Highlight Invalid Data.
     *
     * @default false
     */
    isHighlighted: boolean;
    /**
     * Specifies address for validation within the same column.
     *
     * @default ''
     * @hidden
     */
    address: string;
}
/**
 * Represents the Format.
 */
export  class Format extends base.ChildProperty<FormatModel> {
    /**
     * Specifies the number format code to display value in specified number format.
     *
     * @default 'General'
     */
    format: string;
    /**
     * Specifies the cell style options.
     *
     * @default {}
     */
    style: CellStyleModel;
    /**
     * Specifies the range is locked or not, for allow edit range in spreadsheet protect option.
     *
     * @default true
     */
    isLocked: boolean;
}
/**
 * Represents the Conditional Formatting.
 *
 */
export  class ConditionalFormat extends base.ChildProperty<ConditionalFormat> {
    /**
     * Specifies Conditional formatting Type.
     *
     * @default 'GreaterThan'
     * @aspIgnore
     */
    type: HighlightCell | TopBottom | DataBar | ColorScale | IconSet;
    /**
     * Specifies format.
     *
     * @default {}
     */
    format: FormatModel;
    /**
     * Specifies Conditional formatting Highlight Color.
     *
     * @default 'RedFT'
     */
    cFColor: CFColor;
    /**
     * Specifies Conditional formatting Value.
     *
     * @default ''
     */
    value: string;
    /**
     * Specifies Conditional formatting range.
     *
     * @default ''
     */
    range: string;
    /**
     * Specifies Conditional formatting action.
     *
     * @hidden
     * @default ''
     */
    action: string;
    /** @hidden */
    result: string[] | number[];
}
/**
 * Represents the Legend.
 *
 */
export  class LegendSettings extends base.ChildProperty<ChartModel> {
    /**
     * If set to true, legend will be visible.
     *
     * @default true
     */
    visible: boolean;
    /**
     * Position of the legend in the chart are,
     * * Auto: Places the legend based on area type.
     * * Top: Displays the legend at the top of the chart.
     * * Left: Displays the legend at the left of the chart.
     * * Bottom: Displays the legend at the bottom of the chart.
     * * Right: Displays the legend at the right of the chart.
     *
     * @default 'Auto'
     */
    position: LegendPosition;
}
/**
 * Represents the DataLabelSettings.
 *
 */
export  class DataLabelSettings extends base.ChildProperty<ChartModel> {
    /**
     * If set true, data label for series renders.
     *
     * @default false
     */
    visible: boolean;
    /**
     * Specifies the position of the data label. They are,
     * * Outer: Positions the label outside the point.
     * * top: Positions the label on top of the point.
     * * Bottom: Positions the label at the bottom of the point.
     * * Middle: Positions the label to the middle of the point.
     * * Auto: Positions the label based on series.
     *
     * @default 'Auto'
     */
    position: LabelPosition;
}
/**
 * Represents the Border.
 *
 */
export  class Border extends base.ChildProperty<ChartModel> {
    /**
     * 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;
}
/**
 * Represents the MarkerSettings.
 *
 */
export  class MarkerSettings extends base.ChildProperty<ChartModel> {
    /**
     * 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
     * * Triangle
     * * Diamond
     * * Plus
     * * None
     *
     * @default 'Circle'
     */
    shape: ChartShape;
    /**
     * The size of the marker in pixels.
     *
     * @default 5
     */
    size: number;
    /**
     * 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.
     * This property will work only if the `isFilled` property is set to true.
     *
     * @default null
     */
    fill: string;
    /**
     * By default, the marker gets filled with the fill color. If set to false, the marker background will be transparent.
     *
     * @default true
     */
    isFilled: boolean;
    /**
     * Options for customizing the border of a marker.
     *
     * @default {}
     */
    border: BorderModel;
}
/**
 * Specifies the major grid lines in the `axis`.
 *
 */
export  class MajorGridLines extends base.ChildProperty<AxisModel> {
    /**
     * The width of the line in pixels.
     *
     * @default 0
     */
    width: number;
}
/**
 * Specifies the minor grid lines in the `axis`.
 *
 */
export  class MinorGridLines extends base.ChildProperty<AxisModel> {
    /**
     * The width of the line in pixels.
     *
     * @default 0
     */
    width: number;
}
/**
 * Represents the axis.
 *
 */
export  class Axis extends base.ChildProperty<ChartModel> {
    /**
     * Specifies the title of an axis.
     *
     * @default ''
     */
    title: string;
    /**
     * Options for customizing major grid lines.
     *
     * @default {}
     */
    majorGridLines: MajorGridLinesModel;
    /**
     * Options for customizing minor grid lines.
     *
     * @default {}
     */
    minorGridLines: MinorGridLinesModel;
    /**
     * If set to true, axis label will be visible.
     *
     * @default true
     */
    visible: boolean;
}
/**
 * Represents the Chart.
 */
export  class Chart extends base.ChildProperty<CellModel> {
    /**
     * Specifies the type of a chart.
     *
     * @default 'Line'
     */
    type: ChartType;
    /**
     * Specifies the theme of a chart.
     *
     * @default 'Material'
     */
    theme: ChartTheme;
    /**
     * Specifies to switch the row or a column.
     *
     * @default false
     */
    isSeriesInRows: boolean;
    /**
     * Options to configure the marker
     *
     * @default {}
     */
    markerSettings: MarkerSettingsModel;
    /**
     * Specifies the selected range or specified range.
     *
     * @default ''
     */
    range: string;
    /**
     * Specifies chart element id.
     *
     * @default ''
     */
    id: string;
    /**
     * Title of the chart
     *
     * @default ''
     */
    title: string;
    /**
     * Specifies the height of the chart.
     *
     * @default 290
     */
    height: number;
    /**
     * Specifies the width of the chart.
     *
     * @default 480
     */
    width: number;
    /**
     * Specifies the top position of the chart.
     *
     * @default 0
     * @hidden
     */
    protected top: number;
    /**
     * Specifies the left side of the chart.
     *
     * @default 0
     * @hidden
     */
    protected left: number;
    /**
     * Options for customizing the legend of the chart.
     *
     * @default {}
     */
    legendSettings: LegendSettingsModel;
    /**
     * Options to configure the horizontal axis.
     *
     * @default {}
     */
    primaryXAxis: AxisModel;
    /**
     * Options to configure the vertical axis.
     *
     * @default {}
     */
    primaryYAxis: AxisModel;
    /**
     * The data label for the series.
     *
     * @default {}
     */
    dataLabelSettings: DataLabelSettingsModel;
}
/**
 * Represents the Image.
 */
export  class Image extends base.ChildProperty<CellModel> {
    /**
     * Specifies the image source.
     *
     * @default ''
     */
    src: string;
    /**
     * Specifies image element id.
     *
     * @default ''
     */
    id: string;
    /**
     * Specifies the height of the image.
     *
     * @default 300
     * @asptype double
     */
    height: number;
    /**
     * Specifies the width of the image.
     *
     * @default 400
     * @asptype double
     */
    width: number;
    /**
     * Specifies the height of the image.
     *
     * @default 0
     * @asptype double
     */
    top: number;
    /**
     * Specifies the width of the image.
     *
     * @default 0
     * @asptype double
     */
    left: number;
}
/**
 * Represents the AutoFillSettings.
 */
export  class AutoFillSettings extends base.ChildProperty<AutoFillSettings> {
    /**
     * Specifies the auto fill settings. The possible values are
     *
     * * CopyCells: To update the copied cells of the selected range.
     * * FillSeries: To update the filled series of the selected range.
     * * FillFormattingOnly: To fill the formats only for the selected range.
     * * FillWithoutFormatting: To fill without the format of the selected range.
     *
     * @default 'FillSeries'
     */
    fillType: AutoFillType;
    /**
     * Specifies whether fill options need to shown or not.
     *
     * @default true
     */
    showFillOptions: boolean;
}
//node_modules/@syncfusion/ej2-spreadsheet/src/workbook/common/class-model.d.ts
/**
 * Interface for a class CellStyle
 */
export interface CellStyleModel {
    /**
     * Specifies font family to the cell.
     *
     * @default 'Calibri'
     * @hidden
     */
    fontFamily?: FontFamily;
    /**
     * Specifies vertical align to the cell.
     *
     * @default 'bottom'
     */
    verticalAlign?: VerticalAlign;
    /**
     * Specifies text align style to the cell.
     *
     * @default 'left'
     */
    textAlign?: TextAlign;
    /**
     * Specifies text indent style to the cell.
     *
     * @default '0pt'
     */
    textIndent?: string;
    /**
     * Specifies font color to the cell.
     *
     * @default '#000000'
     */
    color?: string;
    /**
     * Specifies background color to the cell.
     *
     * @default '#ffffff'
     */
    backgroundColor?: string;
    /**
     * Specifies font weight to the cell.
     *
     * @default 'normal'
     */
    fontWeight?: FontWeight;
    /**
     * Specifies font style to the cell.
     *
     * @default 'normal'
     */
    fontStyle?: FontStyle;
    /**
     * Specifies font size to the cell.
     *
     * @default '11pt'
     */
    fontSize?: string;
    /**
     * Specifies text decoration to the cell.
     *
     * @default 'none'
     * @aspIgnore
     */
    textDecoration?: TextDecoration;
    /**
     * Specifies border of the cell.
     *
     * @default ''
     */
    border?: string;
    /**
     * Specifies top border of the cell.
     *
     * @default ''
     */
    borderTop?: string;
    /**
     * Specifies bottom border of the cell.
     *
     * @default ''
     */
    borderBottom?: string;
    /**
     * Specifies left border of the cell.
     *
     * @default ''
     */
    borderLeft?: string;
    /**
     * Specifies right border of the cell.
     *
     * @default ''
     */
    borderRight?: string;
}
/**
 * Interface for a class FilterCollection
 */
export interface FilterCollectionModel {
    /**
     * Specifies the sheet index of the filter collection.
     *
     * @default null
     */
    sheetIndex?: number;
    /**
     * Specifies the range of the filter collection.
     *
     * @default []
     */
    filterRange?: string;
    /**
     * Specifies the sheet has filter or not.
     *
     * @default false
     */
    hasFilter?: boolean;
    /**
     * Specifies the filtered column collection.
     *
     * @default []
     */
    column?: number[];
    /**
     * Specifies the condition for column filtering.
     *
     * @default []
     */
    criteria?: string[];
    /**
     * Specifies the value for column filtering.
     *
     * @default []
     */
    value?: (string | number | boolean | Date)[];
    /**
     * Specifies the data type of column filtering.
     *
     * @default []
     */
    dataType?: string[];
    /**
     * Specifies the predicate type of column filtering.
     *
     * @default []
     */
    predicates?: string[];
}
/**
 * Interface for a class SortCollection
 */
export interface SortCollectionModel {
    /**
     * Specifies the range of the sort collection.
     *
     */
    sortRange?: string;
    /**
     * Specifies the sorted column collection.
     *
     */
    columnIndex?: number;
    /**
     * Specifies the order for sorting.
     *
     */
    order?: string;
    /**
     * Specifies the order for sorting.
     *
     */
    sheetIndex?: number;
}
/**
 * Interface for a class DefineName
 */
export interface DefineNameModel {
    /**
     * Specifies name for the defined name, which can be used in formula.
     *
     * @default ''
     */
    name?: string;
    /**
     * Specifies scope for the defined name.
     *
     * @default ''
     */
    scope?: string;
    /**
     * Specifies comment for the defined name.
     *
     * @default ''
     */
    comment?: string;
    /**
     * Specifies reference for the defined name.
     *
     * @default ''
     */
    refersTo?: string;
}
/**
 * Interface for a class ProtectSettings
 */
export interface ProtectSettingsModel {
    /**
     * Specifies to allow selection in spreadsheet.
     *
     * @default false
     */
    selectCells?: boolean;
    /**
     * Specifies to allow selection only for unlocked cells in spreadsheet.
     *
     * @default false
     */
    selectUnLockedCells?: boolean;
    /**
     * specifies to allow formating in cells.
     *
     * @default false
     */
    formatCells?: boolean;
    /**
     * Specifies to allow format rows in spreadsheet.
     *
     * @default false
     */
    formatRows?: boolean;
    /**
     * Specifies to allow format columns in spreadsheet.
     *
     * @default false
     */
    formatColumns?: boolean;
    /**
     * Specifies to allow insert Hyperlink in Spreadsheet.
     *
     * @default false
     */
    insertLink?: boolean;
}
/**
 * Interface for a class Hyperlink
 */
export interface HyperlinkModel {
    /**
     * Specifies Hyperlink Address.
     *
     * @default ''
     */
    address?: string;
}
/**
 * Interface for a class Validation
 */
export interface ValidationModel {
    /**
     * Specifies Validation Type.
     *
     * @default 'WholeNumber'
     */
    type?: ValidationType;
    /**
     * Specifies Validation Operator.
     *
     * @default 'Between'
     */
    operator?: ValidationOperator;
    /**
     * Specifies Validation Minimum Value.
     *
     * @default ''
     */
    value1?: string;
    /**
     * Specifies Validation Maximum Value.
     *
     * @default ''
     */
    value2?: string;
    /**
     * Specifies IgnoreBlank option in Data Validation.
     *
     * @default true
     */
    ignoreBlank?: boolean;
    /**
     * Specifies InCellDropDown option in Data Validation.
     *
     * @default true
     */
    inCellDropDown?: boolean;
    /**
     * specifies to allow Highlight Invalid Data.
     *
     * @default false
     */
    isHighlighted?: boolean;
    /**
     * Specifies address for validation within the same column.
     *
     * @default ''
     * @hidden
     */
    address?: string;
}
/**
 * Interface for a class Format
 */
export interface FormatModel {
    /**
     * Specifies the number format code to display value in specified number format.
     *
     * @default 'General'
     */
    format?: string;
    /**
     * Specifies the cell style options.
     *
     * @default {}
     */
    style?: CellStyleModel;
    /**
     * Specifies the range is locked or not, for allow edit range in spreadsheet protect option.
     *
     * @default true
     */
    isLocked?: boolean;
}
/**
 * Interface for a class ConditionalFormat
 */
export interface ConditionalFormatModel {
    /**
     * Specifies Conditional formatting Type.
     *
     * @default 'GreaterThan'
     * @aspIgnore
     */
    type?: HighlightCell | TopBottom | DataBar | ColorScale | IconSet;
    /**
     * Specifies format.
     *
     * @default {}
     */
    format?: FormatModel;
    /**
     * Specifies Conditional formatting Highlight Color.
     *
     * @default 'RedFT'
     */
    cFColor?: CFColor;
    /**
     * Specifies Conditional formatting Value.
     *
     * @default ''
     */
    value?: string;
    /**
     * Specifies Conditional formatting range.
     *
     * @default ''
     */
    range?: string;
    /**
     * Specifies Conditional formatting action.
     *
     * @hidden
     * @default ''
     */
    action?: string;
}
/**
 * Interface for a class LegendSettings
 */
export interface LegendSettingsModel {
    /**
     * If set to true, legend will be visible.
     *
     * @default true
     */
    visible?: boolean;
    /**
     * Position of the legend in the chart are,
     * * Auto: Places the legend based on area type.
     * * Top: Displays the legend at the top of the chart.
     * * Left: Displays the legend at the left of the chart.
     * * Bottom: Displays the legend at the bottom of the chart.
     * * Right: Displays the legend at the right of the chart.
     *
     * @default 'Auto'
     */
    position?: LegendPosition;
}
/**
 * Interface for a class DataLabelSettings
 */
export interface DataLabelSettingsModel {
    /**
     * If set true, data label for series renders.
     *
     * @default false
     */
    visible?: boolean;
    /**
     * Specifies the position of the data label. They are,
     * * Outer: Positions the label outside the point.
     * * top: Positions the label on top of the point.
     * * Bottom: Positions the label at the bottom of the point.
     * * Middle: Positions the label to the middle of the point.
     * * Auto: Positions the label based on series.
     *
     * @default 'Auto'
     */
    position?: LabelPosition;
}
/**
 * Interface for a class 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 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
     * * Triangle
     * * Diamond
     * * Plus
     * * None
     *
     * @default 'Circle'
     */
    shape?: ChartShape;
    /**
     * The size of the marker in pixels.
     *
     * @default 5
     */
    size?: number;
    /**
     * 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.
     * This property will work only if the `isFilled` property is set to true.
     *
     * @default null
     */
    fill?: string;
    /**
     * By default, the marker gets filled with the fill color. If set to false, the marker background will be transparent.
     *
     * @default true
     */
    isFilled?: boolean;
    /**
     * Options for customizing the border of a marker.
     *
     * @default {}
     */
    border?: BorderModel;
}
/**
 * Interface for a class MajorGridLines
 */
export interface MajorGridLinesModel {
    /**
     * The width of the line in pixels.
     *
     * @default 0
     */
    width?: number;
}
/**
 * Interface for a class MinorGridLines
 */
export interface MinorGridLinesModel {
    /**
     * The width of the line in pixels.
     *
     * @default 0
     */
    width?: number;
}
/**
 * Interface for a class Axis
 */
export interface AxisModel {
    /**
     * Specifies the title of an axis.
     *
     * @default ''
     */
    title?: string;
    /**
     * Options for customizing major grid lines.
     *
     * @default {}
     */
    majorGridLines?: MajorGridLinesModel;
    /**
     * Options for customizing minor grid lines.
     *
     * @default {}
     */
    minorGridLines?: MinorGridLinesModel;
    /**
     * If set to true, axis label will be visible.
     *
     * @default true
     */
    visible?: boolean;
}
/**
 * Interface for a class Chart
 */
export interface ChartModel {
    /**
     * Specifies the type of a chart.
     *
     * @default 'Line'
     */
    type?: ChartType;
    /**
     * Specifies the theme of a chart.
     *
     * @default 'Material'
     */
    theme?: ChartTheme;
    /**
     * Specifies to switch the row or a column.
     *
     * @default false
     */
    isSeriesInRows?: boolean;
    /**
     * Options to configure the marker
     *
     * @default {}
     */
    markerSettings?: MarkerSettingsModel;
    /**
     * Specifies the selected range or specified range.
     *
     * @default ''
     */
    range?: string;
    /**
     * Specifies chart element id.
     *
     * @default ''
     */
    id?: string;
    /**
     * Title of the chart
     *
     * @default ''
     */
    title?: string;
    /**
     * Specifies the height of the chart.
     *
     * @default 290
     */
    height?: number;
    /**
     * Specifies the width of the chart.
     *
     * @default 480
     */
    width?: number;
    /**
     * Specifies the top position of the chart.
     *
     * @default 0
     * @hidden
     */
    top?: number;
    /**
     * Specifies the left side of the chart.
     *
     * @default 0
     * @hidden
     */
    left?: number;
    /**
     * Options for customizing the legend of the chart.
     *
     * @default {}
     */
    legendSettings?: LegendSettingsModel;
    /**
     * Options to configure the horizontal axis.
     *
     * @default {}
     */
    primaryXAxis?: AxisModel;
    /**
     * Options to configure the vertical axis.
     *
     * @default {}
     */
    primaryYAxis?: AxisModel;
    /**
     * The data label for the series.
     *
     * @default {}
     */
    dataLabelSettings?: DataLabelSettingsModel;
}
/**
 * Interface for a class Image
 */
export interface ImageModel {
    /**
     * Specifies the image source.
     *
     * @default ''
     */
    src?: string;
    /**
     * Specifies image element id.
     *
     * @default ''
     */
    id?: string;
    /**
     * Specifies the height of the image.
     *
     * @default 300
     * @asptype double
     */
    height?: number;
    /**
     * Specifies the width of the image.
     *
     * @default 400
     * @asptype double
     */
    width?: number;
    /**
     * Specifies the height of the image.
     *
     * @default 0
     * @asptype double
     */
    top?: number;
    /**
     * Specifies the width of the image.
     *
     * @default 0
     * @asptype double
     */
    left?: number;
}
/**
 * Interface for a class AutoFillSettings
 */
export interface AutoFillSettingsModel {
    /**
     * Specifies the auto fill settings. The possible values are
     *
     * * CopyCells: To update the copied cells of the selected range.
     * * FillSeries: To update the filled series of the selected range.
     * * FillFormattingOnly: To fill the formats only for the selected range.
     * * FillWithoutFormatting: To fill without the format of the selected range.
     *
     * @default 'FillSeries'
     */
    fillType?: AutoFillType;
    /**
     * Specifies whether fill options need to shown or not.
     *
     * @default true
     */
    showFillOptions?: boolean;
}
//node_modules/@syncfusion/ej2-spreadsheet/src/workbook/common/address.d.ts
/**
 * To get range indexes.
 *
 * @param {string} range - Specifies the range.
 * @param {Workbook} [context] - Optional Workbook context to derive sheet information, used when the sheet name or index is provided.
 * @param {number} [sheetIndex] - Optional sheet index to resolve sheet-specific range when context is provided.
 * @returns {number[]} - To get range indexes.
 */
export  function getRangeIndexes(range: string, context?: Workbook, sheetIndex?: number): number[];
/**
 * To get single cell indexes
 *
 * @param {string} address - Specifies the address.
 * @returns {number[]} - To get single cell indexes
 */
export  function getCellIndexes(address: string): number[];
/**
 * To get column index from text.
 *
 * @hidden
 * @param {string} text - Specifies the text.
 * @returns {number} - To get column index from text.
 */
export  function getColIndex(text: string): number;
/**
 * To get cell address from given row and column index.
 *
 * @param {number} sRow - Specifies the row.
 * @param {number} sCol - Specifies the col.
 * @returns {string} - To get cell address from given row and column index.
 */
export  function getCellAddress(sRow: number, sCol: number): string;
/**
 * To get range address from given range indexes.
 *
 * @param {number[]} range - Specifies the range.
 * @returns {string} - To get range address from given range indexes.
 */
export  function getRangeAddress(range: number[]): string;
/**
 * To get column header cell text
 *
 * @param {number} colIndex - Specifies the colIndex.
 * @returns {string} - Get Column Header Text
 */
export  function getColumnHeaderText(colIndex: number): string;
/**
 * @hidden
 * @param {SheetModel} address - Specifies the address.
 * @param {Workbook} [context] - Optional Workbook context to derive sheet information, used when the sheet name or index is provided.
 * @param {number} [sheetIndex] - Optional sheet index to resolve sheet-specific range when context is provided.
 * @returns {number[]} - Get Indexes From Address
 */
export  function getIndexesFromAddress(address: string, context?: Workbook, sheetIndex?: number): number[];
/**
 * @hidden
 * @param {SheetModel} address - Specifies the address.
 * @returns {string} - Get Range From Address.
 */
export  function getRangeFromAddress(address: string): string;
/**
 * Get complete address for selected range
 *
 * @hidden
 * @param {SheetModel} sheet - Specifies the sheet.
 * @returns {string} - Get complete address for selected range
 */
export  function getAddressFromSelectedRange(sheet: SheetModel): string;
/**
 * @param {Workbook} context - Specifies the context.
 * @param {string} address - Specifies the address.
 * @returns {Object} - To get Address Info
 * @hidden
 */
export  function getAddressInfo(context: Workbook, address: string): {
    sheetIndex: number;
    indices: number[];
};
/**
 * @param {Workbook} context - Specifies the context.
 * @param {string} address - Specifies the address.
 * @returns {number} - return the sheet index.
 * @hidden
 */
export  function getSheetIndexFromAddress(context: Workbook, address: string): number;
/**
 * Given range will be swapped/arranged in increasing order.
 *
 * @hidden
 * @param {number[]} range - Specifies the range.
 * @returns {number[]} - Returns the bool value.
 */
export  function getSwapRange(range: number[]): number[];
/**
 * @hidden
 * @param {number[]} range - Specifies the range.
 * @returns {boolean} - Returns the bool value.
 */
export  function isSingleCell(range: number[]): boolean;
//node_modules/@syncfusion/ej2-spreadsheet/src/workbook/base/workbook.d.ts
/**
 * Represents the Workbook.
 */
export  class Workbook extends base.Component<HTMLElement> implements base.INotifyPropertyChanged {
    /**
     * Configures sheets and its options.
     *
     * {% codeBlock src='spreadsheet/sheets/index.md' %}{% endcodeBlock %}
     *
     * @default []
     */
    sheets: SheetModel[];
    /**
     * Specifies the active sheet index in the workbook.
     *
     * {% codeBlock src='spreadsheet/activeSheetIndex/index.md' %}{% endcodeBlock %}
     *
     * @default 0
     * @asptype int
     */
    activeSheetIndex: number;
    /**
     * Defines the height of the Spreadsheet. It accepts height as pixels, number, and percentage.
     *
     * {% codeBlock src='spreadsheet/height/index.md' %}{% endcodeBlock %}
     *
     * @default '100%'
     */
    height: string | number;
    /**
     * It allows to enable/disable find and replace with its functionalities.
     *
     * @default true
     */
    allowFindAndReplace: boolean;
    /**
     * It stores the filtered range collection.
     *
     * @hidden
     */
    filterCollection: FilterCollectionModel[];
    /**
     * It stores the filtered range collection.
     *
     * @hidden
     */
    sortCollection: SortCollectionModel[];
    /** @hidden */
    isEdit: boolean;
    /**
     * Defines the width of the Spreadsheet. It accepts width as pixels, number, and percentage.
     *
     * {% codeBlock src='spreadsheet/width/index.md' %}{% endcodeBlock %}
     *
     * @default '100%'
     */
    width: string | number;
    /**
     * It shows or hides the ribbon in spreadsheet.
     *
     * @default true
     */
    showRibbon: boolean;
    /**
     * It shows or hides the formula bar and its features.
     *
     * @default true
     */
    showFormulaBar: boolean;
    /**
     * It shows or hides the sheets tabs, this is used to navigate among the sheets and create or delete sheets by UI interaction.
     *
     * @default true
     */
    showSheetTabs: boolean;
    /**
     * It allows you to add new data or update existing cell data. If it is false, it will act as read only mode.
     *
     * @default true
     */
    allowEditing: boolean;
    /**
     * It allows you to open an Excel file (.xlsx, .xls, and .csv) in Spreadsheet.
     *
     * @default true
     */
    allowOpen: boolean;
    /**
     * It allows you to save Spreadsheet with all data as Excel file (.xlsx, .xls, and .csv).
     *
     * @default true
     */
    allowSave: boolean;
    /**
     * It allows to enable/disable sort and its functionalities.
     *
     * @default true
     */
    allowSorting: boolean;
    /**
     * It allows to enable/disable filter and its functionalities.
     *
     * @default true
     */
    allowFiltering: boolean;
    /**
     * It allows formatting a raw number into different types of formats (number, currency, accounting, percentage, short date,
     * long date, time, fraction, scientific, and text) with built-in format codes.
     *
     * @default true
     */
    allowNumberFormatting: boolean;
    /**
     * It allows you to apply styles (font size, font weight, font family, fill color, and more) to the spreadsheet cells.
     *
     * @default true
     */
    allowCellFormatting: boolean;
    /**
     * It allows to enable/disable Hyperlink and its functionalities.
     *
     * @default true
     */
    allowHyperlink: boolean;
    /**
     * Enables or disables the ability to add or show notes in the Spreadsheet. If the property is set to false, the Spreadsheet will not add notes in the cells and the notes in the existing cells will not be visible.
     *
     * @default true
     */
    enableNotes: boolean;
    /**
     * It allows you to insert rows, columns, and sheets into the spreadsheet.
     *
     * @default true
     */
    allowInsert: boolean;
    /**
     * It allows you to delete rows, columns, and sheets from a spreadsheet.
     *
     * @default true
     */
    allowDelete: boolean;
    /**
     * It allows you to merge the range of cells.
     *
     * @default true
     */
    allowMerge: boolean;
    /**
     * It allows you to apply data validation to the spreadsheet cells.
     *
     * @default true
     */
    allowDataValidation: boolean;
    /**
     * It allows you to insert the image in a spreadsheet.
     *
     * @default true
     */
    allowImage: boolean;
    /**
     * It allows you to insert the chart in a spreadsheet.
     *
     * @default true
     */
    allowChart: boolean;
    /**
     * It allows to enable/disable AutoFill functionalities.
     *
     * @default true
     */
    allowAutoFill: boolean;
    /**
     * Enables or disables the printing functionality in the spreadsheet.
     *
     * @default true
     */
    allowPrint: boolean;
    /**
     * Specifies the mode of calculation within the spreadsheet.
     * Setting the calculation mode to `Manual` can enhance performance,
     * particularly when working with multiple sheets at the same time.
     *
     * * `Automatic`: Calculations are performed automatically whenever a cell value changes.
     * * `Manual`: Calculations are performed only when explicitly triggered, improving performance
     *   when loading or working with large spreadsheets.
     *
     * @default 'Automatic'
     */
    calculationMode: CalculationMode;
    /**
     * Configures the auto fill settings.
     *
     * The autoFillSettings `fillType` property has FOUR types and it is described below:
     *
     * * CopyCells: To update the copied cells for the selected range.
     * * FillSeries: To update the filled series for the selected range.
     * * FillFormattingOnly: To fill the formats only for the selected range.
     * * FillWithoutFormatting: To fill without the format for the selected range.
     *
     * {% codeBlock src='spreadsheet/autoFillSettings/index.md' %}{% endcodeBlock %}
     *
     * > The `allowAutoFill` property should be `true`.
     *
     * @default { fillType: 'FillSeries', showFillOptions: true }
     */
    autoFillSettings: AutoFillSettingsModel;
    /**
     * It allows you to apply conditional formatting to the sheet.
     *
     * @default true
     */
    allowConditionalFormat: boolean;
    /**
     * Specifies the cell style options.
     *
     * {% codeBlock src='spreadsheet/cellStyle/index.md' %}{% endcodeBlock %}
     *
     * @default {}
     */
    cellStyle: CellStyleModel;
    /**
     * Specifies the service URL to open excel file in spreadsheet.
     *
     * @default ''
     */
    openUrl: string;
    /**
     * Specifies the options for configuration when opening a document.
     *
     * {% codeBlock src='spreadsheet/openSettings/index.md' %}{% endcodeBlock %}
     *
     * @default {}
     */
    openSettings: OpenSettingsModel;
    /**
     * Specifies the service URL to save spreadsheet as Excel file.
     *
     * @default ''
     */
    saveUrl: string;
    /**
     * Specifies the password.
     *
     * @default ''
     */
    password: string;
    /**
     * Specifies to  protect the workbook.
     *
     * @default false
     */
    isProtected: boolean;
    /**
     * Specifies the name of a range and uses it in a formula for calculation.
     *
     * {% codeBlock src='spreadsheet/definedNames/index.md' %}{% endcodeBlock %}
     *
     * @default []
     */
    definedNames: DefineNameModel[];
    /**
     * Triggers before opening an Excel file.
     * ```html
     * <div id='Spreadsheet'></div>
     * ```
     * ```typescript
     * new Spreadsheet({
     *       beforeOpen: (args: BeforeOpenEventArgs) => {
     *       }
     *      ...
     *  }, '#Spreadsheet');
     * ```
     *
     * @event beforeOpen
     */
    beforeOpen: base.EmitType<BeforeOpenEventArgs>;
    /**
     * Triggers when the opened Excel file fails to load.
     * ```html
     * <div id='Spreadsheet'></div>
     * ```
     * ```typescript
     * new Spreadsheet({
     *       openFailure: (args: OpenFailureArgs) => {
     *       }
     *      ...
     *  }, '#Spreadsheet');
     * ```
     *
     * @event openFailure
     */
    openFailure: base.EmitType<OpenFailureArgs>;
    /**
     * Triggers before saving the Spreadsheet as Excel file.
     * ```html
     * <div id='Spreadsheet'></div>
     * ```
     * ```typescript
     * new Spreadsheet({
     *       beforeSave: (args: BeforeSaveEventArgs) => {
     *       }
     *      ...
     *  }, '#Spreadsheet');
     * ```
     *
     * @event beforeSave
     */
    beforeSave: base.EmitType<BeforeSaveEventArgs>;
    /**
     * Triggers after saving the Spreadsheet as Excel file.
     * ```html
     * <div id='Spreadsheet'></div>
     * ```
     * ```typescript
     * new Spreadsheet({
     *       saveComplete: (args: SaveCompleteEventArgs) => {
     *       }
     *      ...
     *  }, '#Spreadsheet');
     * ```
     *
     * @event saveComplete
     */
    saveComplete: base.EmitType<SaveCompleteEventArgs>;
    /**
     * Triggers before the cell format applied to the cell.
     * ```html
     * <div id='Spreadsheet'></div>
     * ```
     * ```typescript
     * new Spreadsheet({
     *       beforeCellFormat: (args: BeforeCellFormatArgs) => {
     *       }
     *      ...
     *  }, '#Spreadsheet');
     * ```
     *
     * @event beforeCellFormat
     */
    beforeCellFormat: base.EmitType<BeforeCellFormatArgs>;
    /**
     * Triggered every time a request is made to access cell information.
     * ```html
     * <div id='Spreadsheet'></div>
     * ```
     * ```typescript
     * new Spreadsheet({
     *      queryCellInfo: (args: CellInfoEventArgs) => {
     *      }
     *      ...
     *  }, '#Spreadsheet');
     * ```
     *
     * @event queryCellInfo
     */
    queryCellInfo: base.EmitType<CellInfoEventArgs>;
    /**
     * Triggers before changing any cell properties.
     * ```html
     * <div id='Spreadsheet'></div>
     * ```
     * ```typescript
     *  new Spreadsheet({
     *      beforeCellUpdate: (args: BeforeCellUpdateArgs) => {
     *      }
     *      ...
     *  }, '#Spreadsheet');
     * ```
     *
     * @event beforeCellUpdate
     */
    beforeCellUpdate: base.EmitType<BeforeCellUpdateArgs>;
    /**
     * It allows to enable/disable freeze pane functionality in spreadsheet.
     *
     * @default true
     */
    allowFreezePane: boolean;
    /**
     * Specifies the list separator which is used as the formula argument separator.
     *
     * @default ','
     */
    listSeparator: string;
    /** @hidden */
    commonCellStyle: CellStyleModel;
    /**
     * To generate sheet name based on sheet count.
     *
     * @hidden
     */
    sheetNameCount: number;
    /** @hidden */
    serviceLocator: ServiceLocator;
    /**
     * @hidden
     */
    dataValidationRange: string;
    /**
     * @hidden
     */
    isOpen: boolean;
    /**
     * @hidden
     */
    chartColl: ChartModel[];
    /**
     * @hidden
     */
    isPrintingProcessing: boolean;
    /**
     * @hidden
     */
    currentPrintSheetIndex: number;
    /** @hidden */
    formulaRefCell: string;
    /** @hidden */
    customFormulaCollection: Map<string, IFormulaColl>;
    /**
     * Constructor for initializing the library.
     *
     * @param {WorkbookModel} options - Configures Workbook model.
     */
    constructor(options: WorkbookModel);
    /**
     * For internal use only.
     *
     * @returns {void} - For internal use only.
     * @hidden
     */
    protected preRender(): void;
    private initWorkbookServices;
    /**
     * For internal use only.
     *
     * @returns {void} - For internal use only.
     * @hidden
     */
    protected render(): void;
    /**
     * To provide the array of modules needed for workbook.
     *
     * @returns {base.ModuleDeclaration[]} - To provide the array of modules needed for workbook.
     * @hidden
     */
    requiredModules(): base.ModuleDeclaration[];
    /**
     * Get the properties to be maintained in the persisted state.
     *
     * @returns {string} - Get the properties to be maintained in the persisted state.
     * @hidden
     */
    getPersistData(): string;
    /**
     * Applies the style (font family, font weight, background color, etc...) to the specified range of cells.
     *
     * {% codeBlock src='spreadsheet/cellFormat/index.md' %}{% endcodeBlock %}
     *
     * @param {CellStyleModel} style - Specifies the cell style.
     * @param {string} range - Specifies the address for the range of cells.
     * @returns {void} - Applies the style (font family, font weight, background color, etc...) to the specified range of cells.
     */
    cellFormat(style: CellStyleModel, range?: string): void;
    /**
     * Applies cell lock to the specified range of cells.
     *
     * {% codeBlock src='spreadsheet/lockCells/index.md' %}{% endcodeBlock %}
     *
     * @param {string} range - Specifies the address for the range of cells.
     * @param {boolean} isLocked -Specifies the cell is locked or not.
     * @returns {void} - To Applies cell lock to the specified range of cells.
     */
    lockCells(range?: string, isLocked?: boolean): void;
    /**
     * @hidden
     * @param {Workbook} cssProps - Specifies the cssProps.
     * @param {number[]} indexes - Specifies the indexes.
     * @returns {CellStyleModel} - To get Cell Style Value.
     */
    getCellStyleValue(cssProps: string[], indexes: number[]): CellStyleModel;
    /**
     * Applies the number format (number, currency, percentage, short date, etc...) to the specified range of cells.
     *
     * {% codeBlock src='spreadsheet/numberFormat/index.md' %}{% endcodeBlock %}
     *
     * @param {string} format - Specifies the number format code.
     * @param {string} range - Specifies the address of the range of cells.
     * @returns {void} - Applies the number format (number, currency, percentage, short date, etc...) to the specified range of cells.
     */
    numberFormat(format: string, range?: string): void;
    /**
     * Used to create new sheet.
     *
     * @hidden
     * @param {number} index - Specifies the index.
     * @param {SheetModel[]} sheets - Specifies the sheets.
     * @returns {void} - To create new sheet.
     */
    createSheet(index?: number, sheets?: SheetModel[]): void;
    /**
     * Used to remove sheet.
     *
     * @hidden
     * @param  {number} idx - Specifies the index.
     * @returns {void} - To remove sheet
     */
    removeSheet(idx: number): void;
    /**
     * Destroys the Workbook library.
     *
     * @returns {void} - To destroy sheet
     */
    destroy(): void;
    /**
     * Called internally if any of the property value changed.
     *
     * @param {WorkbookModel} newProp - To set the properties
     * @param {WorkbookModel} oldProp - To get the properties
     * @returns {void} - property value changed
     * @hidden
     */
    onPropertyChanged(newProp: WorkbookModel, oldProp: WorkbookModel): void;
    /**
     * Not applicable for workbook.
     *
     * @hidden
     * @param {string | HTMLElement} selector - Specifies the selector.
     * @returns {void} - To append the element.
     */
    appendTo(selector: string | HTMLElement): void;
    /**
     * Used to hide/show the rows in spreadsheet.
     *
     * @param {number} startIndex - Specifies the start row index.
     * @param {number} endIndex - Specifies the end row index.
     * @param {boolean} hide - To hide/show the rows in specified range.
     * @returns {void} - To hide/show the rows in spreadsheet.
     */
    hideRow(startIndex: number, endIndex?: number, hide?: boolean): void;
    /**
     * Used to hide/show the columns in spreadsheet.
     *
     * @param {number} startIndex - Specifies the start column index.
     * @param {number} endIndex - Specifies the end column index.
     * @param {boolean} hide - Set `true` / `false` to hide / show the columns.
     * @returns {void} - To hide/show the columns in spreadsheet.
     */
    hideColumn(startIndex: number, endIndex?: number, hide?: boolean): void;
    /**
     * Sets the border to specified range of cells.
     *
     * {% codeBlock src='spreadsheet/setBorder/index.md' %}{% endcodeBlock %}
     *
     * @param {CellStyleModel} style - Specifies the style property which contains border value.
     * @param {string} range - Specifies the range of cell reference. If not specified, it will considered the active cell reference.
     * @param {BorderType} type - Specifies the range of cell reference. If not specified, it will considered the active cell reference.
     * @param {boolean} isUndoRedo - Specifies is undo redo or not.
     * @returns {void} - To Sets the border to specified range of cells.
     */
    setBorder(style: CellStyleModel, range?: string, type?: BorderType, isUndoRedo?: boolean): void;
    /**
     * Used to insert rows in to the spreadsheet.
     *
     * {% codeBlock src='spreadsheet/insertRow/index.md' %}{% endcodeBlock %}
     *
     * @param {number | RowModel[]} startRow - Specifies the start row index / row model which needs to be inserted.
     * @param {number} endRow - Specifies the end row index.
     * @param {number | string} sheet - Specifies the sheet name or index in which the insert operation will perform. By default,
     * active sheet will be considered.
     * @returns {void} - To insert rows in to the spreadsheet.
     */
    insertRow(startRow?: number | RowModel[], endRow?: number, sheet?: number | string): void;
    /**
     * Used to insert columns in to the spreadsheet.
     *
     * {% codeBlock src='spreadsheet/insertColumn/index.md' %}{% endcodeBlock %}
     *
     * @param {number | ColumnModel[]} startColumn - Specifies the start column index / column model which needs to be inserted.
     * @param {number} endColumn - Specifies the end column index.
     * @param {number | string} sheet - Specifies the sheet name or index in which the insert operation will perform. By default,
     * active sheet will be considered.
     * @returns {void} - To insert columns in to the spreadsheet.
     */
    insertColumn(startColumn?: number | ColumnModel[], endColumn?: number, sheet?: number | string): void;
    /**
     * Used to insert sheets in to the spreadsheet.
     *
     * {% codeBlock src='spreadsheet/insertSheet/index.md' %}{% endcodeBlock %}
     *
     * @param {number | SheetModel[]} startSheet - Specifies the start sheet index / sheet model which needs to be inserted.
     * @param {number} endSheet - Specifies the end sheet index.
     * @returns {void} - To insert sheets in to the spreadsheet.
     */
    insertSheet(startSheet?: number | SheetModel[], endSheet?: number): void;
    /**
     * Used to delete rows, columns and sheets from the spreadsheet.
     *
     * {% codeBlock src='spreadsheet/delete/index.md' %}{% endcodeBlock %}
     *
     * @param {number} startIndex - Specifies the start sheet / row / column index.
     * @param {number} endIndex - Specifies the end sheet / row / column index.
     * @param {ModelType} model - Specifies the delete model type. By default, the model is considered as `Sheet`. The possible values are,
     * - Row: To delete rows.
     * - Column: To delete columns.
     * - Sheet: To delete sheets.
     * @param {number | string} sheet - Specifies the sheet name or index in which the delete operation will perform. By default,
     * active sheet will be considered. It is applicable only for model type Row and Column.
     * @returns {void} - To delete rows, columns and sheets from the spreadsheet.
     */
    delete(startIndex?: number, endIndex?: number, model?: ModelType, sheet?: number | string): void;
    /**
     * Used to move the sheets to the specified position in the list of sheets.
     *
     * {% codeBlock src='spreadsheet/moveSheet/index.md' %}{% endcodeBlock %}
     *
     * @param {number} position - Specifies the position to move a sheet in the list of sheets.
     * @param {number[]} sheetIndexes - Specifies the indexes of the sheet to be moved. By default, the active sheet will be moved.
     * @returns {void} - Used to move the sheets to the specified position in the list of sheets.
     */
    moveSheet(position: number, sheetIndexes?: number[]): void;
    /**
     * Used to make a duplicate/copy of the sheet in the spreadsheet.
     *
     * {% codeBlock src='spreadsheet/duplicateSheet/index.md' %}{% endcodeBlock %}
     *
     * @param {number} sheetIndex - Specifies the index of the sheet to be duplicated. By default, the active sheet will be duplicated.
     * @returns {void} - Used to make a duplicate/copy of the sheet in the spreadsheet.
     */
    duplicateSheet(sheetIndex?: number): void;
    private getSheetModel;
    /**
     * Used to merge the range of cells.
     *
     * {% codeBlock src='spreadsheet/merge/index.md' %}{% endcodeBlock %}
     *
     * @param {string} range - Specifies the range of cells as address.
     * @param {MergeType} type - Specifies the merge type. The possible values are,
     * - All: Merge all the cells between provided range.
     * - Horizontally: Merge the cells row-wise.
     * - Vertically: Merge the cells column-wise.
     * @returns {void} - To merge the range of cells.
     */
    merge(range?: string, type?: MergeType): void;
    /**
     * Used to split the merged cell into multiple cells.
     *
     * {% codeBlock src='spreadsheet/unMerge/index.md' %}{% endcodeBlock %}
     *
     * @param {string} range - Specifies the range of cells as address.
     * @returns {void} - To split the merged cell into multiple cells.
     */
    unMerge(range?: string): void;
    /** Used to compute the specified expression/formula.
     *
     * {% codeBlock src='spreadsheet/computeExpression/index.md' %}{% endcodeBlock %}
     *
     * @param {string} formula - Specifies the formula(=SUM(A1:A3)) or expression(2+3).
     * @returns {string | number} - to compute the specified expression/formula.
     */
    computeExpression(formula: string): string | number;
    private initEmptySheet;
    /**
     * @hidden
     * @returns {SheetModel} - To get Active Sheet.
     */
    getActiveSheet(): SheetModel;
    /** @hidden
     * @param {number} index - Specifies the index.
     * @param {number} initIdx - Specifies the initIdx.
     * @param {number} hiddenCount - Specifies the initIdx.
     * @returns {number} - To skip Hidden Sheets.
     */
    skipHiddenSheets(index: number, initIdx?: number, hiddenCount?: number): number;
    /**
     * Used for setting the used range row and column index.
     *
     * @hidden
     * @param {number} rowIdx - Specifies the rowIndex.
     * @param {number} colIdx - Specifies the colIndex.
     * @param {SheetModel} sheet - Specifies the active sheet.
     * @param {boolean} preventRowColUpdate - To prevent updating row and column count.
     * @param {boolean} forceUpdate - To force updating row and column count.
     * @returns {void} - To setting the used range row and column index.
     */
    setUsedRange(rowIdx: number, colIdx: number, sheet?: SheetModel, preventRowColUpdate?: boolean, forceUpdate?: boolean): void;
    /**
     * Gets the range of data as JSON from the specified address.
     *
     * {% codeBlock src='spreadsheet/getData/index.md' %}{% endcodeBlock %}
     *
     * @param {string} address - Specifies the address for range of cells.
     * @returns {Promise<Map<string, CellModel>>} - Gets the range of data as JSON from the specified address.
     */
    getData(address: string): Promise<Map<string, CellModel>>;
    /**
     * Get component name.
     *
     * @returns {string} - Gets the module name.
     * @hidden
     */
    getModuleName(): string;
    /** @hidden
     * @param {string} address - Specifies the sheet id.
     * @returns {void} - To set the value for row and col.
     */
    goTo(address?: string): void;
    /** @hidden
     * @param {number} sheetId - Specifies the sheet id.
     * @param {number} rowIndex - Specifies the rowIndex.
     * @param {number} colIndex - Specifies the colIndex.
     * @param {string} formulaCellReference - Specifies the formulaCellReference.
     * @param {boolean} refresh - Specifies the refresh.
     * @param {boolean} isUnique - Specifies is unique formula or not.
     * @param {boolean} isSubtotal - Specifies is from Subtotal formula or not.
     * @returns {string | number} - To set the value for row and col.
     */
    getValueRowCol(sheetId: number, rowIndex: number, colIndex: number, formulaCellReference?: string, refresh?: boolean, isUnique?: boolean, isSubtotal?: boolean): string | number;
    /** @hidden
     * @param {number} sheetId - Specifies the sheet id.
     * @param {string | number} value - Specifies the value.
     * @param {number} rowIndex - Specifies the rowIndex.
     * @param {number} colIndex - Specifies the colIndex.
     * @param {string} formula - Specifies the colIndex.
     * @param {boolean} isRandomFormula - Specifies is random formula or not.
     * @returns {void} - To set the value for row and col.
     */
    setValueRowCol(sheetId: number, value: string | number, rowIndex: number, colIndex: number, formula?: string, isRandomFormula?: boolean): void;
    /**
     * Opens the specified excel file or stream.
     *
     * @param {OpenOptions} options - Options for opening the excel file.
     * @returns {void} - Opens the specified excel file or stream.
     */
    open(options: OpenOptions): void;
    /**
     * Opens the specified JSON object.
     *
     * {% codeBlock src='spreadsheet/openFromJson/index.md' %}{% endcodeBlock %}
     *
     * The available arguments in options are:
     * * file: Specifies the spreadsheet model as object or string. And the object contains the jsonObject,
     * which is saved from spreadsheet using saveAsJson method.
     * * triggerEvent: Specifies whether to trigger the `openComplete` event or not.
     *
     * @param {Object} options - Options for opening the JSON object.
     * @param {string | object} options.file - Options for opening the JSON object.
     * @param {boolean} options.triggerEvent - Specifies whether to trigger the `openComplete` event or not.
     * @param {SerializationOptions} jsonConfig - Specify the serialization options to customize the loading of the JSON data.
     * @param {boolean} jsonConfig.onlyValues - If true, only the cell values will be loaded, excluding styles, formulas, etc.
     * @param {boolean} jsonConfig.ignoreStyle - If true, styles will be excluded when loading the JSON data.
     * @param {boolean} jsonConfig.ignoreFormula - If true, formulas will be excluded when loading the JSON data.
     * @param {boolean} jsonConfig.ignoreFormat - If true, number formats will be excluded when loading the JSON data.
     * @param {boolean} jsonConfig.ignoreConditionalFormat - If true, conditional formatting will be excluded when loading the JSON data.
     * @param {boolean} jsonConfig.ignoreValidation - If true, data validation rules will be excluded when loading the JSON data.
     * @param {boolean} jsonConfig.ignoreFreezePane - If true, freeze panes will be excluded when loading the JSON data.
     * @param {boolean} jsonConfig.ignoreWrap - If true, text wrapping settings will be excluded when loading the JSON data.
     * @param {boolean} jsonConfig.ignoreChart - If true, charts will be excluded when loading the JSON data.
     * @param {boolean} jsonConfig.ignoreImage - If true, images will be excluded when loading the JSON data.
     * @param {boolean} jsonConfig.ignoreNote -  If true, notes will be excluded when loading the JSON data.
     * @returns {void} - Opens the specified JSON object.
     */
    openFromJson(options: {
        file: string | object;
        triggerEvent?: boolean;
    }, jsonConfig?: SerializationOptions): void;
    /**
     * Saves the Spreadsheet data to Excel file.
     *
     * {% codeBlock src='spreadsheet/save/index.md' %}{% endcodeBlock %}
     *
     * The available arguments in saveOptions are:
     * * url: Specifies the save URL.
     * * fileName: Specifies the file name.
     * * saveType: Specifies the file type need to be saved.
     *
     * @param {SaveOptions} saveOptions - Options for saving the excel file.
     * @param {SerializationOptions} jsonConfig - Specify the serialization options to customize the JSON output.
     * @param {boolean} jsonConfig.onlyValues - If true, only the cell values will be included, excluding styles, formulas, etc.
     * @param {boolean} jsonConfig.ignoreStyle - If true, styles will be excluded from the JSON output.
     * @param {boolean} jsonConfig.ignoreFormula - If true, formulas will be excluded from the JSON output.
     * @param {boolean} jsonConfig.ignoreFormat - If true, number formats will be excluded from the JSON output.
     * @param {boolean} jsonConfig.ignoreConditionalFormat - If true, conditional formatting will be excluded from the JSON output.
     * @param {boolean} jsonConfig.ignoreValidation - If true, data validation rules will be excluded from the JSON output.
     * @param {boolean} jsonConfig.ignoreFreezePane - If true, freeze panes will be excluded from the JSON output.
     * @param {boolean} jsonConfig.ignoreWrap - If true, text wrapping settings will be excluded from the JSON output.
     * @param {boolean} jsonConfig.ignoreChart - If true, charts will be excluded from the JSON output.
     * @param {boolean} jsonConfig.ignoreImage - If true, images will be excluded from the JSON output.
     * @param {boolean} jsonConfig.ignoreNote -  If true, notes will be excluded from the JSON output.
     * @returns {void} - To Saves the Spreadsheet data to Excel file.
     */
    save(saveOptions?: SaveOptions, jsonConfig?: SerializationOptions): void;
    /**
     * Saves the Spreadsheet data as JSON object.
     *
     * {% codeBlock src='spreadsheet/saveAsJson/index.md' %}{% endcodeBlock %}
     *
     * @param {SerializationOptions} jsonConfig - Specify the serialization options to customize the JSON output.
     * @param {boolean} jsonConfig.onlyValues - If true, only the cell values will be included, excluding styles, formulas, etc.
     * @param {boolean} jsonConfig.ignoreStyle - If true, styles will be excluded from the JSON output.
     * @param {boolean} jsonConfig.ignoreFormula - If true, formulas will be excluded from the JSON output.
     * @param {boolean} jsonConfig.ignoreFormat - If true, number formats will be excluded from the JSON output.
     * @param {boolean} jsonConfig.ignoreConditionalFormat - If true, conditional formatting will be excluded from the JSON output.
     * @param {boolean} jsonConfig.ignoreValidation - If true, data validation rules will be excluded from the JSON output.
     * @param {boolean} jsonConfig.ignoreFreezePane - If true, freeze panes will be excluded from the JSON output.
     * @param {boolean} jsonConfig.ignoreWrap - If true, text wrapping settings will be excluded from the JSON output.
     * @param {boolean} jsonConfig.ignoreChart - If true, charts will be excluded from the JSON output.
     * @param {boolean} jsonConfig.ignoreImage - If true, images will be excluded from the JSON output.
     * @param {boolean} jsonConfig.ignoreNote -  If true, notes will be excluded from the JSON output.
     * @returns {Promise<object>} - To Saves the Spreadsheet data as JSON object.
     */
    saveAsJson(jsonConfig?: SerializationOptions): Promise<object>;
    addHyperlink(hyperlink: string | HyperlinkModel, cellAddress: string): void;
    /**
     * To find the specified cell value.
     *
     * @hidden
     * @param {FindOptions} args - options for find.
     * {% codeBlock src='spreadsheet/findHandler/index.md' %}{% endcodeBlock %}
     * @returns {void} - To find the specified cell value.
     */
    findHandler(args: FindOptions): void;
    /**
     * @hidden
     * @param {FindOptions} args - Specifies the FindOptions.
     * @returns {void} - To replace the value.
     */
    replaceHandler(args: FindOptions): void;
    /**
     * Protect the active sheet based on the protect sheetings.
     *
     * @param {number} sheet - Specifies the sheet to protect.
     * @param {ProtectSettingsModel} protectSettings - Specifies the protect settings of the sheet.
     * @param {string} password - Specifies the password to protect
     * @returns {void} - protect the active sheet.
     */
    protectSheet(sheet?: number | string, protectSettings?: ProtectSettingsModel, password?: string): void;
    /**
     * Unprotect the active sheet.
     *
     * @param {number} sheet - Specifies the sheet to Unprotect.
     * @returns {void} - Unprotect the active sheet.
     */
    unprotectSheet(sheet: number | string): void;
    /**
     * Sorts the range of cells in the active Spreadsheet.
     *
     * @param {SortOptions} sortOptions - options for sorting.
     * @param {string} range - address of the data range.
     * @param {SortCollectionModel[]} previousSort - specifies previous sort collection.
     * @returns {Promise<SortEventArgs>} - Sorts the range of cells in the active Spreadsheet.
     */
    sort(sortOptions?: SortOptions, range?: string, previousSort?: SortCollectionModel[]): Promise<SortEventArgs>;
    addDataValidation(rules: ValidationModel, range?: string): void;
    removeDataValidation(range?: string): void;
    addInvalidHighlight(range?: string): void;
    removeInvalidHighlight(range?: string): void;
    /**
     * To determine whether the cell value in a data validation applied cell is valid or not.
     *
     * @param {string} cellAddress - Address of the cell.
     * @returns {boolean} - It return true if the cell value is valid;
 otherwise, false.
     */
    isValidCell(cellAddress?: string): boolean;
    conditionalFormat(conditionalFormat: ConditionalFormatModel): void;
    clearConditionalFormat(range: string): void;
    /**
     * Updates the properties of a specified cell.
     *
     * {% codeBlock src='spreadsheet/updateCell/index.md' %}{% endcodeBlock %}
     *
     * @param {CellModel} cell - The properties to update for the specified cell.
     * @param {string} address - The address of the cell to update. If not provided, the active cell's address will be used.
     * @param {boolean} enableDependentCellUpdate - Specifies whether dependent cells should also be updated. Default value is <c>true</c>.
     * @returns {void} - This method does not return a value.
     */
    updateCell(cell: CellModel, address?: string, enableDependentCellUpdate?: boolean): void;
    /**
     * Updates the properties of a specified cell.
     *
     * @param {CellModel} cell - The properties to update for the specified cell.
     * @param {string} address - The address of the cell to update. If not provided, the active cell's address will be used.
     * @param {UndoRedoEventArgs} cellInformation - It holds the undoRedoCollections.
     * @param {boolean} isRedo - It holds the undo redo information.
     * @param {boolean} isDependentUpdate - Specifies whether dependent cells should also be updated.
     * @param {boolean} isFinite - Specifies scroll settings of the sheet is finite or not.
     * @param {boolean} isPublic - It holds whether updateCell public method is used.
     * @returns {void} - This method does not return a value.
     *
     * @hidden
     */
    updateCellDetails(cell: CellModel, address?: string, cellInformation?: UndoRedoEventArgs, isRedo?: boolean, isDependentUpdate?: boolean, isFinite?: boolean, isPublic?: boolean): void;
    /**
     * Used to get a row data from the data source with updated cell value.
     *
     * {% codeBlock src='spreadsheet/getRowData/index.md' %}{% endcodeBlock %}
     *
     * @param {number} index - Specifies the row index.
     * @param {number} sheetIndex - Specifies the sheet index. By default, it consider the active sheet index.
     * @returns {Object[]} - Return row data.
     */
    getRowData(index?: number, sheetIndex?: number): Object[];
    /**
     * This method is used to update the Range property in specified sheet index.
     *
     * @param {RangeModel} range - Specifies the range properties to update.
     * @param {number} [sheetIndex] - Specifies the sheet index to update the range. By default, it consider the active sheet index.
     * @returns {void} - To update a range properties.
     */
    updateRange(range: RangeModel, sheetIndex?: number): void;
    /**
     * This method is used to wrap/unwrap the text content of the cell.
     *
     * {% codeBlock src='spreadsheet/wrap/index.md' %}{% endcodeBlock %}
     *
     * @param {string} address - Address of the cell to be wrapped.
     * @param {boolean} wrap - Set `false` if the text content of the cell to be unwrapped.
     * @returns {void} - To wrap/unwrap the text content of the cell.
     * {% codeBlock src='spreadsheet/wrap/index.md' %}{% endcodeBlock %}
     */
    wrap(address: string, wrap?: boolean): void;
    /**
     * Adds the defined name to the Spreadsheet.
     *
     * @param {DefineNameModel} definedName - Specifies the name.
     * @returns {boolean} - Return the added status of the defined name.
     * {% codeBlock src='spreadsheet/addDefinedName/index.md' %}{% endcodeBlock %}
     */
    addDefinedName(definedName: DefineNameModel): boolean;
    /**
     * Removes the defined name from the Spreadsheet.
     *
     * @param {string} definedName - Specifies the name.
     * @param {string} scope - Specifies the scope of the defined name.
     * @returns {boolean} - Return the removed status of the defined name.
     * {% codeBlock src='spreadsheet/removeDefinedName/index.md' %}{% endcodeBlock %}
     */
    removeDefinedName(definedName: string, scope?: string): boolean;
    /**
     * Used to set the image in spreadsheet.
     *
     * @param {ImageModel} images - Specifies the options to insert image in spreadsheet.
     * @param {string} range - Specifies the range in spreadsheet.
     * @returns {void} - To set the image in spreadsheet.
     */
    insertImage(images: ImageModel[], range?: string): void;
    /**
     * Used to perform autofill action based on the specified range in spreadsheet.
     *
     * @param {string} fillRange - Specifies the fill range.
     * @param {string} dataRange - Specifies the data range.
     * @param {AutoFillDirection} direction - Specifies the direction("Down","Right","Up","Left") to be filled.
     * @param {AutoFillType} fillType - Specifies the fill type("FillSeries","CopyCells","FillFormattingOnly","FillWithoutFormatting") for autofill action.
     * @returns {void} - To perform autofill action based on the specified range in spreadsheet.
     */
    autoFill(fillRange: string, dataRange?: string, direction?: AutoFillDirection, fillType?: AutoFillType): void;
    /**
     * Used to set the chart in spreadsheet.
     *
     * {% codeBlock src='spreadsheet/insertChart/index.md' %}{% endcodeBlock %}
     *
     * @param {ChartModel} chart - Specifies the options to insert chart in spreadsheet
     * @returns {void} - To set the chart in spreadsheet.
     */
    insertChart(chart?: ChartModel[]): void;
    /**
     * Used to delete the chart from spreadsheet.
     *
     * {% codeBlock src='spreadsheet/deleteChart/index.md' %}{% endcodeBlock %}
     *
     * @param {string} id - Specifies the chart element id.
     * @returns {void} - To delete the chart from spreadsheet.
     */
    deleteChart(id?: string): void;
    /**
     * Filters the range of cells in the sheet.
     *
     * @param {FilterOptions} filterOptions - Specifies the filterOptions
     * @param {string} range - Specifies the range
     * @returns {Promise<FilterEventArgs>} - To Filters the range of cells in the sheet.
     */
    filter(filterOptions?: FilterOptions, range?: string): Promise<FilterEventArgs>;
    /**
     * To add custom library function.
     *
     * @param {string} functionHandler - Custom function handler name
     * @param {string} functionName - Custom function name
     * @param {string} formulaDescription - Specifies formula description.
     * {% codeBlock src='spreadsheet/addCustomFunction/index.md' %}{% endcodeBlock %}
     * @returns {void} - To add custom library function.
     */
    addCustomFunction(functionHandler: string | Function, functionName?: string, formulaDescription?: string): void;
    /**
     * This method is used to Clear contents, formats and hyperlinks in spreadsheet.
     *
     * @param {ClearOptions} options - Options for clearing the content, formats and hyperlinks in spreadsheet.
     * @returns {void} - To Clear contents, formats and hyperlinks.
     */
    clear(options: ClearOptions): void;
    /**
     * Gets the formatted text of the cell.
     *
     * {% codeBlock src='spreadsheet/getDisplayText/index.md' %}{% endcodeBlock %}
     *
     * @param {CellModel} cell - Specifies the cell.
     * @returns {string} - To get Display Text.
     */
    getDisplayText(cell: CellModel): string;
    /**
     * This method is used to freeze rows and columns after the specified cell in the Spreadsheet.
     *
     * @param {number} row - Specifies the freezed row count.
     * @param {number} column - Specifies the freezed column count.
     * @param {number | string} sheet - Specifies the sheet name or index in which the freeze operation will perform. By default,
     * active sheet will be considered.
     * {% codeBlock src='spreadsheet/freezePanes/index.md' %}{% endcodeBlock %}
     * @returns {void}
     */
    freezePanes(row?: number, column?: number, sheet?: number | string): void;
    /**
     * This method is used to unfreeze the frozen rows and columns from the active sheet.
     *
     * @param {number | string} sheet - Specifies the sheet name or index in which the unfreeze operation will perform. By default,
     * active sheet will be considered.
     * {% codeBlock src='spreadsheet/unfreezePanes/index.md' %}{% endcodeBlock %}
     * @returns {void}
     * @deprecated This method is deprecated, use `unfreezePanes` method to unfreeze the frozen rows and columns.
     */
    Unfreeze(sheet?: number | string): void;
    /**
     * This method is used to unfreeze the frozen rows and columns from spreadsheet.
     *
     * @param {number | string} sheet - Specifies the sheet name or index in which the unfreeze operation will perform. By default,
     * active sheet will be considered.
     * {% codeBlock src='spreadsheet/unfreezePanes/index.md' %}{% endcodeBlock %}
     * @returns {void}
     */
    unfreezePanes(sheet?: number | string): void;
    /**
     * The `calculateNow` method is used to calculate any uncalculated formulas in a spreadsheet.
     * This method accepts an option to specify whether the calculation should be performed for the entire workbook or a specific sheet.
     *
     * @param {string} [scope] - Specifies the scope of the calculation. Acceptable values are `Sheet` or `Workbook`.
     * If not provided, the default scope is `Sheet`.
     * * `Sheet`: Calculates formulas only on the current sheet or a specified sheet.
     * * `Workbook`: Calculates formulas across the entire workbook.
     * @param {number | string} [sheet] - The index or name of the sheet to calculate if the scope is set to `Sheet`.
     * If not provided and the scope is `Sheet`, the current active sheet will be used.
     * @returns {Promise<void>} - A promise that resolves when the calculation is complete.
     * The promise does not return a specific value, but it can be used to perform actions after the calculation has finished.
     */
    calculateNow(scope?: string, sheet?: number | string): Promise<void>;
    /**
     * @param {number} top - Specifies the top.
     * @param {number} left - Specifies the fleft.
     * @param {string} model - Specifies the model.
     * @param {SheetModel} sheet - Specifies the sheet.
     * @returns {void}
     * @hidden
     */
    updateTopLeftCell(top?: number, left?: number, model?: string, sheet?: SheetModel): void;
    /**
     * @hidden
     * @param {string} address - Specifies the address.
     * @returns {number | number[]} - To get address info.
     */
    getAddressInfo(address: string): {
        sheetIndex: number;
        indices: number[];
    };
    /**
     * @hidden
     * @param {SheetModel} sheet - Specifies the sheet.
     * @param {string} prop - Specifies the prop.
     * @param {Object} value - Specifies the value.
     * @returns {void} - To set sheet properties.
     */
    setSheetPropertyOnMute(sheet: SheetModel, prop: string, value: Object): void;
    /**
     * To get frozen row count from top index.
     *
     * @hidden
     * @param {SheetModel} sheet - Specifies the sheet.
     * @returns {number} - to get the frozen count.
     */
    frozenRowCount(sheet: SheetModel): number;
    /**
     * To get frozen column count from left index.
     *
     * @hidden
     * @param {SheetModel} sheet - Specifies the sheet.
     * @returns {number} - to get the frozen count.
     */
    frozenColCount(sheet: SheetModel): number;
    /**
     * To update the provided range while inserting or deleting rows and columns.
     *
     * @param {InsertDeleteEventArgs} args - Insert / Detele event arguments.
     * @param {number[]} index - Existing range.
     * @param {boolean} isRangeFormula - Specifies is range formula or not.
     * @param {number} rowIndex - Specifies the row index of the cell that contains the formula which is going to be refreshed.
     * @param {number} colIndex - Specifies the column index of the cell that contains the formula which is going to be refreshed.
     * @param {boolean} isAbsoluteRef - Specifies is the range used in the formula is Absolute reference or not.
     * @param {boolean} isSingleRangeRef - Specifies whether the formula as single range reference or not.
     * @returns {boolean} - It return `true`, if the insert / delete action happens between the provided range, otherwise `false`.
     * @hidden
     */
    updateRangeOnInsertDelete(args: InsertDeleteEventArgs, index: number[], isRangeFormula?: boolean, rowIndex?: number, colIndex?: number, isAbsoluteRef?: boolean, isSingleRangeRef?: boolean): boolean;
    /**
     * @param {number} rowIndex - Specifies the row index.
     * @param {number} colIndex - Specifies the column index.
     * @param {HTMLTableRowElement} row - Specifies the row.
     * @returns {HTMLElement} - returns cell element.
     * @hidden
     */
    getCell(rowIndex: number, colIndex: number, row?: HTMLTableRowElement): HTMLElement;
    /**
     * Used in calculate to compute integer value of date
     *
     * @param {Date} date - Specifies the date value.
     * @param {boolean} isTime -Specifies is Time or not.
     * @returns {number} - Returns integer value of date.
     */
    private dateToInt;
    /**
     * Used to update format from calculate.
     *
     * @param {number} sheetId - Specifies the sheetId.
     * @param {number} rowIndex - Specifies the row index.
     * @param {number} colIndex - Specifies the col index.
     * @returns {void} - Update format from calculate.
     */
    private setDateFormat;
}
//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.
     *
     * {% codeBlock src='spreadsheet/sheets/index.md' %}{% endcodeBlock %}
     *
     * @default []
     */
    sheets?: SheetModel[];
    /**
     * Specifies the active sheet index in the workbook.
     *
     * {% codeBlock src='spreadsheet/activeSheetIndex/index.md' %}{% endcodeBlock %}
     *
     * @default 0
     * @asptype int
     */
    activeSheetIndex?: number;
    /**
     * Defines the height of the Spreadsheet. It accepts height as pixels, number, and percentage.
     *
     * {% codeBlock src='spreadsheet/height/index.md' %}{% endcodeBlock %}
     *
     * @default '100%'
     */
    height?: string | number;
    /**
     * It allows to enable/disable find and replace with its functionalities.
     *
     * @default true
     */
    allowFindAndReplace?: boolean;
    /**
     * It stores the filtered range collection.
     *
     * @hidden
     */
    filterCollection?: FilterCollectionModel[];
    /**
     * It stores the filtered range collection.
     *
     * @hidden
     */
    sortCollection?: SortCollectionModel[];
    /**
     * Defines the width of the Spreadsheet. It accepts width as pixels, number, and percentage.
     *
     * {% codeBlock src='spreadsheet/width/index.md' %}{% endcodeBlock %}
     *
     * @default '100%'
     */
    width?: string | number;
    /**
     * It shows or hides the ribbon in spreadsheet.
     *
     * @default true
     */
    showRibbon?: boolean;
    /**
     * It shows or hides the formula bar and its features.
     *
     * @default true
     */
    showFormulaBar?: boolean;
    /**
     * It shows or hides the sheets tabs, this is used to navigate among the sheets and create or delete sheets by UI interaction.
     *
     * @default true
     */
    showSheetTabs?: boolean;
    /**
     * It allows you to add new data or update existing cell data. If it is false, it will act as read only mode.
     *
     * @default true
     */
    allowEditing?: boolean;
    /**
     * It allows you to open an Excel file (.xlsx, .xls, and .csv) in Spreadsheet.
     *
     * @default true
     */
    allowOpen?: boolean;
    /**
     * It allows you to save Spreadsheet with all data as Excel file (.xlsx, .xls, and .csv).
     *
     * @default true
     */
    allowSave?: boolean;
    /**
     * It allows to enable/disable sort and its functionalities.
     *
     * @default true
     */
    allowSorting?: boolean;
    /**
     * It allows to enable/disable filter and its functionalities.
     *
     * @default true
     */
    allowFiltering?: boolean;
    /**
     * It allows formatting a raw number into different types of formats (number, currency, accounting, percentage, short date,
     * long date, time, fraction, scientific, and text) with built-in format codes.
     *
     * @default true
     */
    allowNumberFormatting?: boolean;
    /**
     * It allows you to apply styles (font size, font weight, font family, fill color, and more) to the spreadsheet cells.
     *
     * @default true
     */
    allowCellFormatting?: boolean;
    /**
     * It allows to enable/disable Hyperlink and its functionalities.
     *
     * @default true
     */
    allowHyperlink?: boolean;
    /**
     * Enables or disables the ability to add or show notes in the Spreadsheet. If the property is set to false, the Spreadsheet will not add notes in the cells and the notes in the existing cells will not be visible.
     *
     * @default true
     */
    enableNotes?: boolean;
    /**
     * It allows you to insert rows, columns, and sheets into the spreadsheet.
     *
     * @default true
     */
    allowInsert?: boolean;
    /**
     * It allows you to delete rows, columns, and sheets from a spreadsheet.
     *
     * @default true
     */
    allowDelete?: boolean;
    /**
     * It allows you to base.merge the range of cells.
     *
     * @default true
     */
    allowMerge?: boolean;
    /**
     * It allows you to apply data validation to the spreadsheet cells.
     *
     * @default true
     */
    allowDataValidation?: boolean;
    /**
     * It allows you to insert the image in a spreadsheet.
     *
     * @default true
     */
    allowImage?: boolean;
    /**
     * It allows you to insert the chart in a spreadsheet.
     *
     * @default true
     */
    allowChart?: boolean;
    /**
     * It allows to enable/disable AutoFill functionalities.
     *
     * @default true
     */
    allowAutoFill?: boolean;
    /**
     * Enables or disables the printing functionality in the spreadsheet.
     *
     * @default true
     */
    allowPrint?: boolean;
    /**
     * Specifies the mode of calculation within the spreadsheet.
     * Setting the calculation mode to `Manual` can enhance performance,
     * particularly when working with multiple sheets at the same time.
     *
     * * `Automatic`: Calculations are performed automatically whenever a cell value changes.
     * * `Manual`: Calculations are performed only when explicitly triggered, improving performance
     *   when loading or working with large spreadsheets.
     *
     * @default 'Automatic'
     */
    calculationMode?: CalculationMode;
    /**
     * Configures the auto fill settings.
     *
     * The autoFillSettings `fillType` property has FOUR types and it is described below:
     *
     * * CopyCells: To update the copied cells for the selected range.
     * * FillSeries: To update the filled series for the selected range.
     * * FillFormattingOnly: To fill the formats only for the selected range.
     * * FillWithoutFormatting: To fill without the format for the selected range.
     *
     * {% codeBlock src='spreadsheet/autoFillSettings/index.md' %}{% endcodeBlock %}
     *
     * > The `allowAutoFill` property should be `true`.
     *
     * @default { fillType: 'FillSeries', showFillOptions: true }
     */
    autoFillSettings?: AutoFillSettingsModel;
    /**
     * It allows you to apply conditional formatting to the sheet.
     *
     * @default true
     */
    allowConditionalFormat?: boolean;
    /**
     * Specifies the cell style options.
     *
     * {% codeBlock src='spreadsheet/cellStyle/index.md' %}{% endcodeBlock %}
     *
     * @default {}
     */
    cellStyle?: CellStyleModel;
    /**
     * Specifies the service URL to open excel file in spreadsheet.
     *
     * @default ''
     */
    openUrl?: string;
    /**
     * Specifies the options for configuration when opening a document.
     *
     * {% codeBlock src='spreadsheet/openSettings/index.md' %}{% endcodeBlock %}
     *
     * @default {}
     */
    openSettings?: OpenSettingsModel;
    /**
     * Specifies the service URL to save spreadsheet as Excel file.
     *
     * @default ''
     */
    saveUrl?: string;
    /**
     * Specifies the password.
     *
     * @default ''
     */
    password?: string;
    /**
     * Specifies to  protect the workbook.
     *
     * @default false
     */
    isProtected?: boolean;
    /**
     * Specifies the name of a range and uses it in a formula for calculation.
     *
     * {% codeBlock src='spreadsheet/definedNames/index.md' %}{% endcodeBlock %}
     *
     * @default []
     */
    definedNames?: DefineNameModel[];
    /**
     * Triggers before opening an Excel file.
     * ```html
     * <div id='Spreadsheet'></div>
     * ```
     * ```typescript
     * new Spreadsheet({
     *       beforeOpen: (args: BeforeOpenEventArgs) => {
     *       }
     *      ...
     *  }, '#Spreadsheet');
     * ```
     *
     * @event beforeOpen
     */
    beforeOpen?: base.EmitType<BeforeOpenEventArgs>;
    /**
     * Triggers when the opened Excel file fails to load.
     * ```html
     * <div id='Spreadsheet'></div>
     * ```
     * ```typescript
     * new Spreadsheet({
     *       openFailure: (args: OpenFailureArgs) => {
     *       }
     *      ...
     *  }, '#Spreadsheet');
     * ```
     *
     * @event openFailure
     */
    openFailure?: base.EmitType<OpenFailureArgs>;
    /**
     * Triggers before saving the Spreadsheet as Excel file.
     * ```html
     * <div id='Spreadsheet'></div>
     * ```
     * ```typescript
     * new Spreadsheet({
     *       beforeSave: (args: BeforeSaveEventArgs) => {
     *       }
     *      ...
     *  }, '#Spreadsheet');
     * ```
     *
     * @event beforeSave
     */
    beforeSave?: base.EmitType<BeforeSaveEventArgs>;
    /**
     * Triggers after saving the Spreadsheet as Excel file.
     * ```html
     * <div id='Spreadsheet'></div>
     * ```
     * ```typescript
     * new Spreadsheet({
     *       saveComplete: (args: SaveCompleteEventArgs) => {
     *       }
     *      ...
     *  }, '#Spreadsheet');
     * ```
     *
     * @event saveComplete
     */
    saveComplete?: base.EmitType<SaveCompleteEventArgs>;
    /**
     * Triggers before the cell format applied to the cell.
     * ```html
     * <div id='Spreadsheet'></div>
     * ```
     * ```typescript
     * new Spreadsheet({
     *       beforeCellFormat: (args: BeforeCellFormatArgs) => {
     *       }
     *      ...
     *  }, '#Spreadsheet');
     * ```
     *
     * @event beforeCellFormat
     */
    beforeCellFormat?: base.EmitType<BeforeCellFormatArgs>;
    /**
     * Triggered every time a request is made to access cell information.
     * ```html
     * <div id='Spreadsheet'></div>
     * ```
     * ```typescript
     * new Spreadsheet({
     *      queryCellInfo: (args: CellInfoEventArgs) => {
     *      }
     *      ...
     *  }, '#Spreadsheet');
     * ```
     *
     * @event queryCellInfo
     */
    queryCellInfo?: base.EmitType<CellInfoEventArgs>;
    /**
     * Triggers before changing any cell properties.
     * ```html
     * <div id='Spreadsheet'></div>
     * ```
     * ```typescript
     *  new Spreadsheet({
     *      beforeCellUpdate: (args: BeforeCellUpdateArgs) => {
     *      }
     *      ...
     *  }, '#Spreadsheet');
     * ```
     *
     * @event beforeCellUpdate
     */
    beforeCellUpdate?: base.EmitType<BeforeCellUpdateArgs>;
    /**
     * It allows to enable/disable freeze pane functionality in spreadsheet.
     *
     * @default true
     */
    allowFreezePane?: boolean;
    /**
     * Specifies the list separator which is used as the formula argument separator.
     *
     * @default ','
     */
    listSeparator?: string;
}
//node_modules/@syncfusion/ej2-spreadsheet/src/workbook/base/sheet.d.ts
/**
 * Configures the range processing for the spreadsheet.
 *  ```html
 * <div id='Spreadsheet'></div>
 * ```
 * ```typescript
 * let spreadsheet: Spreadsheet = new Spreadsheet({
 *      sheets: [{
 *                  name: 'First Sheet',
 *                  ranges: [{ dataSource: defaultData }],
 *                  rows: [{
 *                          index: 30,
 *                          cells: [{ index: 4, value: 'Total Amount:' },
 *                                  { formula: '=SUM(F2:F30)', style: { fontWeight: 'bold' } }]
 *                  }]
 * ...
 * });
 * spreadsheet.appendTo('#Spreadsheet');
 * ```
 */
export  class Range extends base.ChildProperty<Sheet> {
    /**
     * Specifies the data as JSON / Data manager to the sheet.
     *
     * @default null
     */
    dataSource: Object[] | data.DataManager;
    /**
     * Specifies the start cell from which the datasource will be populated.
     *
     * @default 'A1'
     */
    startCell: string;
    /**
     * Defines the external [`data.Query`](https://ej2.syncfusion.com/documentation/data/api-query.html)
     * that will be executed along with data processing.
     *
     * @default null
     */
    query: data.Query;
    /**
     * By default, when a sheet is bound to a data source, columns are assigned to data source fields sequentially.
     * This means that the first data field is assigned to Column A, the second to Column B, and so on.
     * You can customize these assignments by specifying the field names in the desired column order using the 'fieldsOrder' property.
     *
     * @default null
     */
    fieldsOrder: string[];
    /**
     * Show/Hide the field of the datasource as header.
     *
     * @default true
     */
    showFieldAsHeader: boolean;
    /**
     * Template helps to compiles the given HTML String (or HTML Element ID) into HtML Element and append to the Cell.
     *
     * @default ''
     * @aspType string
     */
    template: string | Function;
    /**
     * Specifies the address for updating the dataSource or template.
     *
     * @default 'A1'
     */
    address: string;
    protected setProperties(prop: object, muteOnChange: boolean): void;
}
/**
 * Used range which contains end row index and end column index of the last used cell in sheet .
 */
export  class UsedRange extends base.ChildProperty<UsedRange> {
    /**
     * Specifies the last used row index of the sheet.
     *
     * @default 0
     * @asptype int
     */
    rowIndex: number;
    /**
     * Specifies the last used column index of the sheet.
     *
     * @default 0
     * @asptype int
     */
    colIndex: number;
}
/**
 * Configures the sheet behavior for the spreadsheet.
 */
export  class Sheet extends base.ChildProperty<WorkbookModel> {
    /**
     * Represents sheet unique id.
     *
     * @default 0
     * @hidden
     */
    id: number;
    /**
     * Configures row and its properties for the sheet.
     *
     * @default null
     */
    rows: RowModel[];
    /**
     * Configures column and its properties for the sheet.
     *
     * @default null
     */
    columns: ColumnModel[];
    /**
     * Configures protect and its options.
     *
     * @default { selectCells: false, formatCells: false, formatRows: false, formatColumns: false, insertLink: false  }
     */
    protectSettings: ProtectSettingsModel;
    /**
     * Specifies the collection of range for the sheet.
     *
     * @default []
     */
    ranges: RangeModel[];
    /**
     * Specifies the conditional formatting for the sheet.
     *
     * @default []
     */
    conditionalFormats: ConditionalFormatModel[];
    /**
     * Specifies index of the sheet. Based on the index, sheet properties are applied.
     *
     * @default 0
     * @asptype int
     */
    index: number;
    /**
     * Specifies the name of the sheet, the name will show in the sheet tabs.
     *
     * @default ''
     */
    name: string;
    /**
     * Defines the number of rows to be rendered in the sheet.
     *
     * @default 100
     * @asptype int
     */
    rowCount: number;
    /**
     * Defines the number of columns to be rendered in the sheet.
     *
     * @default 100
     * @asptype int
     */
    colCount: number;
    /**
     * Specifies selected range in the sheet.
     *  ```html
     * <div id='Spreadsheet'></div>
     * ```
     * ```typescript
     * let spreadsheet: Spreadsheet = new Spreadsheet({
     *      sheets: [{
     *                selectedRange: 'A1:B5'
     *          }],
     *      ...
     * });
     * spreadsheet.appendTo('#Spreadsheet');
     * ```
     *
     * @default 'A1:A1'
     */
    selectedRange: string;
    /**
     * Specifies active cell within `selectedRange` in the sheet.
     *
     * @default 'A1'
     */
    activeCell: string;
    /**
     * Defines the used range of the sheet.
     *
     * @default { rowIndex: 0, colIndex: 0 }
     */
    usedRange: UsedRangeModel;
    /**
     * Specified cell will be positioned at the upper-left corner of the sheet.
     *
     * @default 'A1'
     */
    topLeftCell: string;
    /**
     * Specifies to show / hide column and row headers in the sheet.
     *
     * @default true
     */
    showHeaders: boolean;
    /**
     * Specifies to show / hide grid lines in the sheet.
     *
     * @default true
     */
    showGridLines: boolean;
    /**
     * Specifies to  protect the cells in the sheet.
     *
     * @default false
     */
    isProtected: boolean;
    /**
     * Specifies the sheet visibility state. There must be at least one visible sheet in Spreadsheet.
     *
     * @default 'Visible'
     */
    state: SheetState;
    /**
     * Gets or sets the number of frozen rows.
     *
     * @default 0
     * @asptype int
     */
    frozenRows: number;
    /**
     * Gets or sets the number of frozen columns.
     *
     * @default 0
     * @asptype int
     */
    frozenColumns: number;
    /**
     * Represents the maximum row height collection.
     *
     * @default []
     * @hidden
     */
    maxHgts: object[];
    /**
     * Represents the freeze pane top left cell. Its default value would be based on the number of freeze rows and columns.
     *
     * @default 'A1'
     */
    paneTopLeftCell: string;
    /**
     * Specifies the password.
     *
     * @default ''
     */
    password: string;
    /**
     * Represents the standard height of the sheet.
     *
     * @default null
     * @asptype double
     * @aspDefaultValue null
     */
    standardHeight: number;
    /**
     * Specifies to calculation performed or not.
     *
     * @default false
     * @hidden
     */
    isSheetCalculated: boolean;
}
/**
 * To get sheet index from address.
 *
 * @hidden
 * @param {Workbook} context - Specifies the context.
 * @param {string} name - Specifies the name.
 * @returns {number} - To gget sheet index from address.
 */
export  function getSheetIndex(context: Workbook, name: string): number;
/**
 * To get sheet index from sheet id.
 *
 * @hidden
 * @param {Workbook} context - Specifies the context.
 * @param {number} id - Specifies the id.
 * @returns {number} - To get the sheet index from id.
 */
export  function getSheetIndexFromId(context: Workbook, id: number): number;
/**
 * To get sheet name from address.
 *
 * @hidden
 * @param {string} address - Specifies the address.
 * @returns {address} - To get Sheet Name From Address.
 */
export  function getSheetNameFromAddress(address: string): string;
/**
 * To get sheet index from sheet name.
 *
 * @hidden
 * @param {Object} context - Specifies the context.
 * @param {string} name - Specifies the name.
 * @param {SheetModel} info - Specifies the sheet info.
 * @returns {number} - To get the sheet index by name.
 */
export  function getSheetIndexByName(context: Object, name: string, info: {
    visibleName: string;
    sheet: string;
    index: number;
}[]): number;
/**
 * update selected range
 *
 * @hidden
 * @param {Workbook} context - Specifies the context.
 * @param {string} range - Specifies the range.
 * @param {SheetModel} sheet - Specifies the sheet.
 * @param {boolean} isMultiRange - Specifies the boolean value.
 * @returns {void} - Update the selected range.
 */
export  function updateSelectedRange(context: Workbook, range: string, sheet?: SheetModel, isMultiRange?: boolean): void;
/**
 * get selected range
 *
 * @hidden
 * @param {SheetModel} sheet - Specifies the sheet.
 * @returns {string} - Get selected range.
 */
export  function getSelectedRange(sheet: SheetModel): string;
/**
 * @hidden
 * @param {SheetModel} sheet - Specifies the sheet.
 * @returns {string} - To get single selected range.
 */
export  function getSingleSelectedRange(sheet: SheetModel): string;
/**
 * @hidden
 * @param {Workbook} context - Specifies the context.
 * @param {number} idx - Specifies the idx.
 * @returns {SheetModel} - To get sheet.
 */
export  function getSheet(context: Workbook, idx: number): SheetModel;
/**
 * @hidden
 * @param {Workbook} context - Specifies the context.
 * @returns {number} - To get sheet name count.
 */
export  function getSheetNameCount(context: Workbook): number;
/**
 * @hidden
 * @param {SheetModel[]} sheets - Specifies the sheets.
 * @returns {number} - To get sheet id.
 */
export  function getMaxSheetId(sheets: SheetModel[]): number;
/**
 * @hidden
 * @param {Workbook} context - Specifies the context.
 * @param {SheetModel[]} sheet - Specifies the sheet.
 * @param {boolean} isImport - Specifies is Import or not.
 * @returns {void} - To initiate sheet.
 */
export  function initSheet(context: Workbook, sheet?: SheetModel[], isImport?: boolean): void;
/**
 * get sheet name
 *
 * @param {Workbook} context - Specifies the context.
 * @param {number} idx - Specifies the idx.
 * @returns {string} - To get sheet name.
 * @hidden
 */
export  function getSheetName(context: Workbook, idx?: number): string;
/**
 * @param {Workbook} context - Specifies context
 * @param {number} position - position to move a sheet in the list of sheets
 * @param {number[]} sheetIndexes - Specifies the sheet indexes of the sheets which is to be moved
 * @param {boolean} action - Specifies to trigger events
 * @param {boolean} isFromUpdateAction - Specifies is from UpdateAction or not.
 * @returns {void}
 * @hidden
 */
export  function moveSheet(context: Workbook, position: number, sheetIndexes?: number[], action?: boolean, isFromUpdateAction?: boolean): void;
/**
 * @param {Workbook} context - Specifies context
 * @param {number} sheetIndex - Specifies sheetIndex to be duplicated
 * @param {boolean} action - Specifies to trigger events
 * @param {boolean} isFromUpdateAction - Specifies is from updateAction.
 * @returns {void}
 * @hidden
 */
export  function duplicateSheet(context: Workbook, sheetIndex?: number, action?: boolean, isFromUpdateAction?: boolean): void;
//node_modules/@syncfusion/ej2-spreadsheet/src/workbook/base/sheet-model.d.ts
/**
 * Interface for a class Range
 */
export interface RangeModel {
    /**
     * Specifies the data as JSON / Data manager to the sheet.
     *
     * @default null
     */
    dataSource?: Object[] | data.DataManager;
    /**
     * Specifies the start cell from which the datasource will be populated.
     *
     * @default 'A1'
     */
    startCell?: string;
    /**
     * Defines the external [`data.Query`](https://ej2.syncfusion.com/documentation/data/api-query.html)
     * that will be executed along with data processing.
     *
     * @default null
     */
    query?: data.Query;
    /**
     * By default, when a sheet is bound to a data source, columns are assigned to data source fields sequentially.
     * This means that the first data field is assigned to Column A, the second to Column B, and so on.
     * You can customize these assignments by specifying the field names in the desired column order using the 'fieldsOrder' property.
     *
     * @default null
     */
    fieldsOrder?: string[];
    /**
     * Show/Hide the field of the datasource as header.
     *
     * @default true
     */
    showFieldAsHeader?: boolean;
    /**
     * Template helps to compiles the given HTML String (or HTML Element ID) into HtML Element and append to the Cell.
     *
     * @default ''
     * @aspType string
     */
    template?: string | Function;
    /**
     * Specifies the address for updating the dataSource or template.
     *
     * @default 'A1'
     */
    address?: string;
}
/**
 * Interface for a class UsedRange
 */
export interface UsedRangeModel {
    /**
     * Specifies the last used row index of the sheet.
     *
     * @default 0
     * @asptype int
     */
    rowIndex?: number;
    /**
     * Specifies the last used column index of the sheet.
     *
     * @default 0
     * @asptype int
     */
    colIndex?: number;
}
/**
 * Interface for a class Sheet
 */
export interface SheetModel {
    /**
     * Represents sheet unique id.
     *
     * @default 0
     * @hidden
     */
    id?: number;
    /**
     * Configures row and its properties for the sheet.
     *
     * @default null
     */
    rows?: RowModel[];
    /**
     * Configures column and its properties for the sheet.
     *
     * @default null
     */
    columns?: ColumnModel[];
    /**
     * Configures protect and its options.
     *
     * @default { selectCells: false, formatCells: false, formatRows: false, formatColumns: false, insertLink: false  }
     */
    protectSettings?: ProtectSettingsModel;
    /**
     * Specifies the collection of range for the sheet.
     *
     * @default []
     */
    ranges?: RangeModel[];
    /**
     * Specifies the conditional formatting for the sheet.
     *
     * @default []
     */
    conditionalFormats?: ConditionalFormatModel[];
    /**
     * Specifies index of the sheet. Based on the index, sheet properties are applied.
     *
     * @default 0
     * @asptype int
     */
    index?: number;
    /**
     * Specifies the name of the sheet, the name will show in the sheet tabs.
     *
     * @default ''
     */
    name?: string;
    /**
     * Defines the number of rows to be rendered in the sheet.
     *
     * @default 100
     * @asptype int
     */
    rowCount?: number;
    /**
     * Defines the number of columns to be rendered in the sheet.
     *
     * @default 100
     * @asptype int
     */
    colCount?: number;
    /**
     * Specifies selected range in the sheet.
     *  ```html
     * <div id='Spreadsheet'></div>
     * ```
     * ```typescript
     * let spreadsheet$: Spreadsheet = new Spreadsheet({
     *      sheets: [{
     *                selectedRange: 'A1:B5'
     *          }],
     *      ...
     * });
     * spreadsheet.appendTo('#Spreadsheet');
     * ```
     *
     * @default 'A1:A1'
     */
    selectedRange?: string;
    /**
     * Specifies active cell within `selectedRange` in the sheet.
     *
     * @default 'A1'
     */
    activeCell?: string;
    /**
     * Defines the used range of the sheet.
     *
     * @default { rowIndex: 0, colIndex: 0 }
     */
    usedRange?: UsedRangeModel;
    /**
     * Specified cell will be positioned at the upper-left corner of the sheet.
     *
     * @default 'A1'
     */
    topLeftCell?: string;
    /**
     * Specifies to show / hide column and row headers in the sheet.
     *
     * @default true
     */
    showHeaders?: boolean;
    /**
     * Specifies to show / hide grid lines in the sheet.
     *
     * @default true
     */
    showGridLines?: boolean;
    /**
     * Specifies to  protect the cells in the sheet.
     *
     * @default false
     */
    isProtected?: boolean;
    /**
     * Specifies the sheet visibility state. There must be at least one visible sheet in Spreadsheet.
     *
     * @default 'Visible'
     */
    state?: SheetState;
    /**
     * Gets or sets the number of frozen rows.
     *
     * @default 0
     * @asptype int
     */
    frozenRows?: number;
    /**
     * Gets or sets the number of frozen columns.
     *
     * @default 0
     * @asptype int
     */
    frozenColumns?: number;
    /**
     * Represents the maximum row height collection.
     *
     * @default []
     * @hidden
     */
    maxHgts?: object[];
    /**
     * Represents the freeze pane top left cell. Its default value would be based on the number of freeze rows and columns.
     *
     * @default 'A1'
     */
    paneTopLeftCell?: string;
    /**
     * Specifies the password.
     *
     * @default ''
     */
    password?: string;
    /**
     * Represents the standard height of the sheet.
     *
     * @default null
     * @asptype double
     * @aspDefaultValue null
     */
    standardHeight?: number;
    /**
     * Specifies to calculation performed or not.
     *
     * @default false
     * @hidden
     */
    isSheetCalculated?: boolean;
}
//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 double
     * @aspDefaultValue 20.0
     */
    height: number;
    /**
     * specifies custom height of the row.
     *
     * @default false
     */
    customHeight: boolean;
    /**
     * To hide/show the row in spreadsheet.
     *
     * @default false
     */
    hidden: boolean;
    /**
     * Specifies format of the row.
     *
     * @default {}
     */
    format: FormatModel;
    /** @hidden */
    isFiltered: boolean;
    /**
     * Represents whether a row in the sheet is read-only or not. If set to true, it prevents editing the specified cell in the sheet.
     *
     * @default false
     */
    isReadOnly: boolean;
}
/**
 * @hidden
 * @param {SheetModel} sheet - Specifies the sheet.
 * @param {number} rowIndex - Specifies the rowIndex.
 * @returns {RowModel} - To get the row.
 */
export  function getRow(sheet: SheetModel, rowIndex: number): RowModel;
/**
 * @hidden
 * @param {SheetModel} sheet - Specifies the sheet.
 * @param {number} rowIndex - Specifies the rowIndex.
 * @param {RowModel} row - Specifies the row.
 * @returns {void} - To set the row.
 */
export  function setRow(sheet: SheetModel, rowIndex: number, row: RowModel): void;
/**
 * @hidden
 * @param {SheetModel} sheet - Specifies the sheet.
 * @param {number} index - Specifies the index.
 * @returns {boolean} - To return the bool value.
 */
export  function isHiddenRow(sheet: SheetModel, index: number): boolean;
/**
 * @hidden
 * @param {SheetModel} sheet - Specifies the sheet.
 * @param {number} index - Specifies the index.
 * @returns {boolean} - To return the bool value.
 */
export  function isFilterHidden(sheet: SheetModel, index: number): boolean;
/**
 * @hidden
 * @param {SheetModel} sheet - Specifies the sheet.
 * @param {number} rowIndex - Specifies the rowIndex.
 * @param {boolean} checkDPR - Specifies the bool value.
 * @param {boolean} addHidden - By default hidden rows are considered as 0, set `true` if you want to add the hidden rows height.
 * @returns {number} - To get the row height.
 */
export  function getRowHeight(sheet: SheetModel, rowIndex: number, checkDPR?: boolean, addHidden?: boolean): number;
/**
 * @hidden
 * @param {SheetModel} sheet - Specifies the sheet.
 * @param {number} rowIndex - Specifies the rowIndex.
 * @param {number} height - Specifies the height.
 * @returns {void} - To set the row height.
 */
export  function setRowHeight(sheet: SheetModel, rowIndex: number, height: number): void;
/**
 * @hidden
 * @param {SheetModel} sheet - Specifies the sheet.
 * @param {number} startRow - Specifies the startRow.
 * @param {number} endRow - Specifies the endRow.
 * @param {boolean} checkDPR - Specifies the boolean value.
 * @param {boolean} addHidden - By default hidden rows are considered as 0, set `true` if you want to add the hidden rows height.
 * @returns {number} - To get the rows height.
 */
export  function getRowsHeight(sheet: SheetModel, startRow: number, endRow?: number, checkDPR?: boolean, addHidden?: boolean): number;
//node_modules/@syncfusion/ej2-spreadsheet/src/workbook/base/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 double
     * @aspDefaultValue 20.0
     */
    height?: number;
    /**
     * specifies custom height of the row.
     *
     * @default false
     */
    customHeight?: boolean;
    /**
     * To hide/show the row in spreadsheet.
     *
     * @default false
     */
    hidden?: boolean;
    /**
     * Specifies format of the row.
     *
     * @default {}
     */
    format?: FormatModel;
    /**
     * Represents whether a row in the sheet is read-only or not. If set to true, it prevents editing the specified cell in the sheet.
     *
     * @default false
     */
    isReadOnly?: boolean;
}
//node_modules/@syncfusion/ej2-spreadsheet/src/workbook/base/data.d.ts
/**
 * Update data source to Sheet and returns Sheet
 *
 * @param {Workbook} context - Specifies the context.
 * @param {string} address - Specifies the address.
 * @param {boolean} columnWiseData - Specifies the bool value.
 * @param {boolean} valueOnly - Specifies the valueOnly.
 * @param {number[]} frozenIndexes - Specifies the freeze row and column start indexes, if it is scrolled.
 * @param {boolean} filterDialog - Specifies the bool value.
 * @param {string} formulaCellRef - Specifies the formulaCellRef.
 * @param {number} idx - Specifies the idx.
 * @param {boolean} skipHiddenRows - Specifies the skipHiddenRows.
 * @param {string} commonAddr - Specifies the common address for the address parameter specified with list of range separated by ','.
 * @param {number} dateValueForSpecificColIdx - Specify the dateValueForSpecificColIdx.
 * @param {Object} dateColData - Specify the dateColData.
 * @returns {Promise<Map<string, CellModel> | Object[]>} - To get the data
 * @hidden
 */
export  function getData(context: Workbook, address: string, columnWiseData?: boolean, valueOnly?: boolean, frozenIndexes?: number[], filterDialog?: boolean, formulaCellRef?: string, idx?: number, skipHiddenRows?: boolean, commonAddr?: string, dateValueForSpecificColIdx?: number, dateColData?: {
    [key: string]: Object;
}[]): Promise<Map<string, CellModel> | {
    [key: string]: CellModel;
}[]>;
/**
 * Used to get the formatted value of the cell.
 *
 * @param {Workbook} context - Specifies the context.
 * @param {CellModel} cell - Specifies the cell model.
 * @param {number} rowIdx - Specifies the row index.
 * @param {number} colIdx - Specifies the column index.
 * @param {number} sheetIdx - Specifies the sheetIdx.
 * @param {boolean} getIntValueFromDate - Specify the getIntValueFromDate.
 * @param {base.Internationalization} intl - Specifies the internationalization object.
 * @returns {string | Date | number} - Returns the formatted cell value.
 * @hidden
 */
export  function getValueFromFormat(context: Workbook, cell: CellModel, rowIdx: number, colIdx: number, sheetIdx: number, getIntValueFromDate?: boolean, intl?: base.Internationalization): string | Date | number;
/**
 * @hidden
 * @param {SheetModel | RowModel | CellModel} model - Specifies the sheet model.
 * @param {number} idx - Specifies the index value.
 * @returns {SheetModel | RowModel | CellModel} - To process the index
 */
export  function getModel(model: (SheetModel | RowModel | CellModel)[], idx: number): SheetModel | RowModel | CellModel;
/**
 * @hidden
 * @param {SheetModel | RowModel | CellModel} model - Specifies the sheet model.
 * @param {boolean} isSheet - Specifies the bool value.
 * @param {Workbook} context - Specifies the Workbook.
 * @param {boolean} isSort - Specifies whether to sort the unordered cell/row model in ascending order.
 * @returns {void} - To process the index
 */
export  function processIdx(model: (SheetModel | RowModel | CellModel)[], isSheet?: boolean, context?: Workbook, isSort?: boolean): void;
//node_modules/@syncfusion/ej2-spreadsheet/src/workbook/base/column.d.ts
/**
 * Configures the Column behavior for the spreadsheet.
 */
export  class Column extends base.ChildProperty<Column> {
    /**
     * Specifies index of the column. Based on the index, column properties are applied.
     *
     * @default 0
     * @asptype int
     */
    index: number;
    /**
     * Specifies width of the column.
     *
     * @default 64
     * @asptype int
     */
    width: number;
    /**
     * specifies custom width of the column.
     *
     * @default false
     */
    customWidth: boolean;
    /**
     * To hide/show the column in spreadsheet.
     *
     * @default false
     */
    hidden: boolean;
    /**
     * Specifies format of the column.
     *
     * @default {}
     */
    format: FormatModel;
    /**
     * To lock/unlock the column in the protected sheet.
     *
     * @default true
     */
    isLocked: boolean;
    /**
     * Specifies the validation of the column.
     *
     * @default ''
     */
    validation: ValidationModel;
    /**
     * Represents whether a column in the sheet is read-only or not. If set to true, it prevents editing the specified cell in the sheet.
     *
     * @default false
     */
    isReadOnly: boolean;
}
/**
 * @hidden
 * @param {SheetModel} sheet - Specifies the sheet.
 * @param {number} colIndex - Specifies the colIndex.
 * @returns {ColumnModel} - To get Column.
 */
export  function getColumn(sheet: SheetModel, colIndex: number): ColumnModel;
/** @hidden
 * @param {SheetModel} sheet - Specifies the sheet.
 * @param {number} colIndex - Specifies the colIndex.
 * @param {ColumnModel} column - Specifies the column.
 * @returns {void} - To set Column.
 */
export  function setColumn(sheet: SheetModel, colIndex: number, column: ColumnModel): void;
/**
 * @hidden
 * @param {SheetModel} sheet - Specifies the sheet.
 * @param {number} index - Specifies the index.
 * @param {boolean} skipHidden - Specifies the bool.
 * @param {boolean} checkDPR - Specifies the bool.
 * @returns {number} - To get Column width.
 */
export  function getColumnWidth(sheet: SheetModel, index: number, skipHidden?: boolean, checkDPR?: boolean): number;
/**
 * @hidden
 * @param {SheetModel} sheet - Specifies the sheet.
 * @param {number} startCol - Specifies the startCol.
 * @param {number} endCol - Specifies the endCol.
 * @param {boolean} checkDPR - Specifies the boolean value.
 * @returns {number} - returns the column width.
 */
export  function getColumnsWidth(sheet: SheetModel, startCol: number, endCol?: number, checkDPR?: boolean): number;
/**
 * @hidden
 * @param {SheetModel} sheet - Specifies the sheet.
 * @param {number} index - Specifies the index.
 * @returns {boolean} - returns the boolean value.
 */
export  function isHiddenCol(sheet: SheetModel, index: number): boolean;
/**
 * @hidden
 * @param {ColumnModel} column - Specifies the column.
 * @param {number} rowIndex - Specifies the row index.
 * @param {number} colIndex - Specifies the column index.
 * @returns {boolean} - Specifies boolean values by checking column validation or not.
 */
export  function checkColumnValidation(column: ColumnModel, rowIndex: number, colIndex: number): boolean;
//node_modules/@syncfusion/ej2-spreadsheet/src/workbook/base/column-model.d.ts
/**
 * Interface for a class Column
 */
export interface ColumnModel {
    /**
     * Specifies index of the column. Based on the index, column properties are applied.
     *
     * @default 0
     * @asptype int
     */
    index?: number;
    /**
     * Specifies width of the column.
     *
     * @default 64
     * @asptype int
     */
    width?: number;
    /**
     * specifies custom width of the column.
     *
     * @default false
     */
    customWidth?: boolean;
    /**
     * To hide/show the column in spreadsheet.
     *
     * @default false
     */
    hidden?: boolean;
    /**
     * Specifies format of the column.
     *
     * @default {}
     */
    format?: FormatModel;
    /**
     * To lock/unlock the column in the protected sheet.
     *
     * @default true
     */
    isLocked?: boolean;
    /**
     * Specifies the validation of the column.
     *
     * @default ''
     */
    validation?: ValidationModel;
    /**
     * Represents whether a column in the sheet is read-only or not. If set to true, it prevents editing the specified cell in the sheet.
     *
     * @default false
     */
    isReadOnly?: boolean;
}
//node_modules/@syncfusion/ej2-spreadsheet/src/workbook/base/cell.d.ts
/**
 * Represents the cell.
 */
export  class Cell extends base.ChildProperty<RowModel> {
    /**
     * Specifies the note of the cell.
     *
     * @default ''
     */
    notes: string;
    /**
     * Specifies the image of the cell.
     *
     * @default []
     */
    image: ImageModel[];
    /**
     * Specifies the chart of the cell.
     *
     * @default []
     */
    chart: ChartModel[];
    /**
     * Defines the value of the cell which can be text or number.
     *
     * @default ''
     */
    value: string;
    /**
     * Defines the formula or expression of the cell.
     *
     * @default ''
     */
    formula: string;
    /**
     * Specifies the index of the cell.
     *
     * @default 0
     * @asptype int
     */
    index: number;
    /**
     * Specifies the number format code to display value in specified number format.
     *
     * @default 'General'
     */
    format: string;
    /**
     * Specifies the cell style options.
     *  ```html
     * <div id='Spreadsheet'></div>
     * ```
     * ```typescript
     * let spreadsheet$: Spreadsheet = new Spreadsheet({
     *      sheets: [{
     *       ...
     *            rows: [{
     *                  cells: [{ value: '12', index: 2,  style: { fontWeight: 'bold', fontSize: 12, fontStyle: 'italic', textIndent: '2pt'
     *                         backgroundColor: '#4b5366', color: '#ffffff' } }]
     *                  }]
     *            }]
     *  });
     * spreadsheet.appendTo('#Spreadsheet');
     * ```
     *
     * @default {}
     */
    style: CellStyleModel;
    /**
     * Specifies the hyperlink of the cell.
     *
     * @default ''
     */
    hyperlink: string | HyperlinkModel;
    /**
     * Wraps the cell text to the next line, if the text width exceeds the column width.
     *
     * @default false
     */
    wrap: boolean;
    /**
     * Specifies the cell is locked or not, for allow edit range in spreadsheet protect option.
     *
     * @default true
     */
    isLocked: boolean;
    /**
     * Specifies the validation of the cell.
     *
     * @default ''
     */
    validation: ValidationModel;
    /**
     * Specifies the column-wise cell merge count.
     *
     * @default 1
     * @asptype int
     */
    colSpan: number;
    /**
     * Specifies the row-wise cell merge count.
     *
     * @default 1
     * @asptype int
     */
    rowSpan: number;
    /**
     * Specifies the Specifies the note is editable or not, for the current cell when scroll the spreadsheet.
     *
     * @default false
     * @hidden
     */
    isNoteEditable: boolean;
    /**
     * Represents whether a cell in the sheet is read-only or not. If set to true, it prevents editing the specified cell in the sheet.
     *
     * @default false
     */
    isReadOnly: boolean;
    /**
     * It allows to set the formatted value.
     *
     * @default ''
     * @hidden
     */
    formattedText: string;
    /**
     * It allows to set the cell row height.
     *
     * @default 20
     * @hidden
     */
    rowHeight: number;
}
/**
 * @hidden
 * @param {number} rowIndex - Specifies the rowIndex.
 * @param {number} colIndex - Specifies the colIndex.
 * @param {SheetModel} sheet - Specifies the sheet.
 * @param {boolean} isInitRow - Specifies the isInitRow.
 * @param {boolean} returnEmptyObjIfNull - Specifies the bool value.
 * @returns {CellModel} - get the cell.
 */
export  function getCell(rowIndex: number, colIndex: number, sheet: SheetModel, isInitRow?: boolean, returnEmptyObjIfNull?: boolean): CellModel;
/**
 * @hidden
 * @param {number} rowIndex - Specifies the rowIndex.
 * @param {number} colIndex - Specifies the colIndex.
 * @param {SheetModel} sheet - Specifies the sheet.
 * @param {CellModel} cell - Specifies the cell.
 * @param {boolean} isExtend - Specifies the bool value.
 * @returns {void} - set the cell.
 */
export  function setCell(rowIndex: number, colIndex: number, sheet: SheetModel, cell: CellModel, isExtend?: boolean): void;
/**
 * @hidden
 * @param {CellStyleModel} style - Specifies the style.
 * @param {boolean} defaultKey - Specifies the defaultKey.
 * @returns {CellStyleModel} - Specifies the CellStyleModel.
 */
export  function skipDefaultValue(style: CellStyleModel, defaultKey?: boolean): CellStyleModel;
/**
 * @hidden
 * @param {string} address - Specifies the address.
 * @param {boolean} wrap - Specifies the wrap.
 * @param {Workbook} context - Specifies the context.
 * @param {Workbook} preventEvt - Preventing the before cell update event.
 * @param {boolean} isPublic - Specifies if the wrap operation is invoked from a public method.
 * @returns {void} - Specifies the wrap.
 */
export  function wrap(address: string, wrap?: boolean, context?: ExtendedWorkbook, preventEvt?: boolean, isPublic?: boolean): void;
/**
 * @hidden
 * @param {string} format - Specifies the cell format.
 * @returns {string} - Specifies the supported color code.
 */
export  function getColorCode(format: string): string;
/**
 * @hidden
 * @returns {string[]} - Returns the custom format colors
 */
export  function getCustomColors(): string[];
/**
 * @param {string} format - Specify the format.
 * @param {boolean} checkTime - Specify the checktime.
 * @param {Object} option - Specify rhe option value.
 * @param {string} option.type - Specify the type.
 * @param {boolean} checkBoth - Specify check both values.
 * @returns {boolean} - This function is used to return is custom Data time or not.
 * @hidden
 */
export  function isCustomDateTime(format: string, checkTime?: boolean, option?: {
    type?: string;
}, checkBoth?: boolean): boolean;
/**
 * Represents the configuration options for the Spreadsheet when opening a document.
 */
export  class OpenSettings extends base.ChildProperty<OpenSettingsModel> {
    /**
     * Specifies the size of the chunk for the server response when opening a document.
     * This property enables the server response to be returned in chunks when the value is greater than zero.
     */
    chunkSize: number;
    /**
     * Specifies the number of retry attempts for a failed server request when opening the document, provided that the server response is returned in chunks.
     */
    retryCount: number;
    /**
     * Specifies the delay before retrying a failed server request when opening the document, provided that the server response is returned in chunks.
     */
    retryAfterDelay: number;
}
//node_modules/@syncfusion/ej2-spreadsheet/src/workbook/base/cell-model.d.ts
/**
 * Interface for a class Cell
 */
export interface CellModel {
    /**
     * Specifies the note of the cell.
     *
     * @default ''
     */
    notes?: string;
    /**
     * Specifies the image of the cell.
     *
     * @default []
     */
    image?: ImageModel[];
    /**
     * Specifies the chart of the cell.
     *
     * @default []
     */
    chart?: ChartModel[];
    /**
     * Defines the value of the cell which can be text or number.
     *
     * @default ''
     */
    value?: string;
    /**
     * Defines the formula or expression of the cell.
     *
     * @default ''
     */
    formula?: string;
    /**
     * Specifies the index of the cell.
     *
     * @default 0
     * @asptype int
     */
    index?: number;
    /**
     * Specifies the number format code to display value in specified number format.
     *
     * @default 'General'
     */
    format?: string;
    /**
     * Specifies the cell style options.
     *  ```html
     * <div id='Spreadsheet'></div>
     * ```
     * ```typescript
     * let spreadsheet$: Spreadsheet = new Spreadsheet({
     *      sheets: [{
     *       ...
     *            rows: [{
     *                  cells: [{ value: '12', index: 2,  style: { fontWeight: 'bold', fontSize: 12, fontStyle: 'italic', textIndent: '2pt'
     *                         backgroundColor: '#4b5366', color: '#ffffff' } }]
     *                  }]
     *            }]
     *  });
     * spreadsheet.appendTo('#Spreadsheet');
     * ```
     *
     * @default {}
     */
    style?: CellStyleModel;
    /**
     * Specifies the hyperlink of the cell.
     *
     * @default ''
     */
    hyperlink?: string | HyperlinkModel;
    /**
     * Wraps the cell text to the next line, if the text width exceeds the column width.
     *
     * @default false
     */
    wrap?: boolean;
    /**
     * Specifies the cell is locked or not, for allow edit range in spreadsheet protect option.
     *
     * @default true
     */
    isLocked?: boolean;
    /**
     * Specifies the validation of the cell.
     *
     * @default ''
     */
    validation?: ValidationModel;
    /**
     * Specifies the column-wise cell merge count.
     *
     * @default 1
     * @asptype int
     */
    colSpan?: number;
    /**
     * Specifies the row-wise cell merge count.
     *
     * @default 1
     * @asptype int
     */
    rowSpan?: number;
    /**
     * Specifies the Specifies the note is editable or not, for the current cell when scroll the spreadsheet.
     *
     * @default false
     * @hidden
     */
    isNoteEditable?: boolean;
    /**
     * Represents whether a cell in the sheet is read-only or not. If set to true, it prevents editing the specified cell in the sheet.
     *
     * @default false
     */
    isReadOnly?: boolean;
    /**
     * It allows to set the formatted value.
     *
     * @default ''
     * @hidden
     */
    formattedText?: string;
    /**
     * It allows to set the cell row height.
     *
     * @default 20
     * @hidden
     */
    rowHeight?: number;
}
/**
 * Interface for a class OpenSettings
 */
export interface OpenSettingsModel {
    /**
     * Specifies the size of the chunk for the server response when opening a document.
     * This property enables the server response to be returned in chunks when the value is greater than zero.
     */
    chunkSize?: number;
    /**
     * Specifies the number of retry attempts for a failed server request when opening the document, provided that the server response is returned in chunks.
     */
    retryCount?: number;
    /**
     * Specifies the delay before retrying a failed server request when opening the document, provided that the server response is returned in chunks.
     */
    retryAfterDelay?: number;
}
//node_modules/@syncfusion/ej2-spreadsheet/src/workbook/actions/protect-sheet.d.ts
/**
 * The `WorkbookSpreadSheet` module is used to handle the Protecting functionalities in Workbook.
 */
export  class WorkbookProtectSheet {
    private parent;
    /**
     * Constructor for edit module in Workbook.
     *
     * @param {Workbook} workbook - Specifies the workbook.
     * @private
     */
    constructor(workbook: Workbook);
    private protectsheetHandler;
    private unprotectsheetHandler;
    /**
     * To destroy the edit module.
     *
     * @returns {void} - To destroy the edit module.
     * @hidden
     */
    destroy(): void;
    private addEventListener;
    private removeEventListener;
    private lockCells;
    /**
     * Get the module name.
     *
     * @returns {string} - Return the string.
     * @private
     */
    getModuleName(): string;
}
//node_modules/@syncfusion/ej2-spreadsheet/src/workbook/actions/merge.d.ts
/**
 * The `WorkbookMerge` module is used to merge the range of cells.
 */
export  class WorkbookMerge {
    private parent;
    /**
     * Constructor for the workbook merge module.
     *
     * @param {Workbook} parent - Specifies the workbook.
     * @private
     */
    constructor(parent: Workbook);
    private merge;
    private mergeAll;
    private refreshCF;
    private activeCellRange;
    private mergedRange;
    private forward;
    private forwardReverse;
    private reverse;
    private reverseForward;
    private insertHandler;
    private addEventListener;
    /**
     * Destroy workbook merge module.
     *
     * @returns {void} - destroy the workbook merge module.
     */
    destroy(): void;
    private removeEventListener;
    /**
     * Get the workbook merge module name.
     *
     * @returns {string} - Return the string.
     */
    getModuleName(): string;
}
//node_modules/@syncfusion/ej2-spreadsheet/src/workbook/actions/insert.d.ts
/**
 * The `WorkbookInsert` module is used to insert cells, rows, columns and sheets in to workbook.
 */
export  class WorkbookInsert {
    private parent;
    /**
     * Constructor for the workbook insert module.
     *
     * @param {Workbook} parent - Specifies the workbook.
     * @private
     */
    constructor(parent: Workbook);
    private insertModel;
    private setRowColCount;
    private updateRangeModel;
    private checkBorder;
    private setInsertInfo;
    private insertConditionalFormats;
    private addEventListener;
    /**
     * Destroy workbook insert module.
     *
     * @returns {void} - destroy the workbook insert module.
     */
    destroy(): void;
    private removeEventListener;
    /**
     * Get the workbook insert module name.
     *
     * @returns {string} - Return the string.
     */
    getModuleName(): string;
}
//node_modules/@syncfusion/ej2-spreadsheet/src/workbook/actions/hyperlink.d.ts
/**
 * The `WorkbookHyperlink` module is used to handle Hyperlink action in Spreadsheet.
 */
export  class WorkbookHyperlink {
    private parent;
    /**
     * Constructor for WorkbookSort module.
     *
     * @param {Workbook} parent - Specifies the workbook.
     */
    constructor(parent: Workbook);
    /**
     * To destroy the sort module.
     *
     * @returns {void} - To destroy the sort module.
     */
    protected destroy(): void;
    private addEventListener;
    private removeEventListener;
    setLinkHandler(args: {
        hyperlink: string | HyperlinkModel;
        cell: string;
        displayText: string;
        triggerEvt?: boolean;
        isUndoRedo?: boolean;
    }): void;
    /**
     * Gets the module name.
     *
     *@returns {string} - returns the module name.
     */
    protected getModuleName(): string;
}
//node_modules/@syncfusion/ej2-spreadsheet/src/workbook/actions/find-and-replace.d.ts
/**
 * `WorkbookFindAndReplace` module is used to handle the search action in Spreadsheet.
 */
export  class WorkbookFindAndReplace {
    private parent;
    /**
     * Constructor for WorkbookFindAndReplace module.
     *
     * @param {Workbook} parent - Specifies the workbook.
     */
    constructor(parent: Workbook);
    /**
     * To destroy the FindAndReplace module.
     *
     * @returns {void} - To destroy the FindAndReplace module.
     */
    protected destroy(): void;
    private addEventListener;
    private removeEventListener;
    private find;
    private findNext;
    private findNextOnSheet;
    private findPrevious;
    private findPrevOnSheet;
    private checkMatch;
    replace(args: FindOptions): void;
    replaceAll(args: FindOptions): void;
    private getDisplayText;
    private getCellVal;
    private totalCount;
    private findAllValues;
    /**
     * Gets the module name.
     *
     * @returns {string} - Return the string
     */
    protected 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
     * @param {Workbook} workbook - Specifies the workbook.
     */
    constructor(workbook: Workbook);
    /**
     * To destroy the edit module.
     *
     * @returns {void} - destroy the edit module
     * @hidden
     */
    destroy(): void;
    private addEventListener;
    private removeEventListener;
    /**
     * Get the module name.
     *
     * @returns {string} - string
     * @private
     */
    getModuleName(): string;
    private performEditOperation;
    private updateCellValue;
}
//node_modules/@syncfusion/ej2-spreadsheet/src/workbook/actions/delete.d.ts
/**
 * The `WorkbookDelete` module is used to delete cells, rows, columns and sheets from workbook.
 */
export  class WorkbookDelete {
    private parent;
    /**
     * Constructor for the workbook delete module.
     *
     * @param {Workbook} parent - Specify the workbook
     * @private
     */
    constructor(parent: Workbook);
    private deleteModel;
    private setRowColCount;
    private deleteConditionalFormats;
    private addEventListener;
    /**
     * Destroy workbook delete module.
     *
     * @returns {void}
     */
    destroy(): void;
    private removeEventListener;
    /**
     * Get the workbook delete module name.
     *
     * @returns {string} - returns the module name.
     */
    getModuleName(): string;
}
//node_modules/@syncfusion/ej2-spreadsheet/src/workbook/actions/data-validation.d.ts
/**
 * The `WorkbookHyperlink` module is used to handle Hyperlink action in Spreadsheet.
 */
export  class WorkbookDataValidation {
    private parent;
    private highlightInvalidData;
    /**
     * Constructor for WorkbookSort module.
     *
     * @param {Workbook} parent - Specifies the parent element.
     */
    constructor(parent: Workbook);
    /**
     * To destroy the sort module.
     *
     * @returns {void}
     */
    protected destroy(): void;
    private addEventListener;
    private removeEventListener;
    private updateValidationHandler;
    private addHighlightHandler;
    private removeHighlightHandler;
    private invalidDataHandler;
    private beforeInsertDeleteHandler;
    private getRangeWhenColumnSelected;
    /**
     * Gets the module name.
     *
     * @returns {string} string
     */
    protected getModuleName(): string;
}
//node_modules/@syncfusion/ej2-spreadsheet/src/workbook/actions/conditional-formatting.d.ts
/**
 * The `WorkbookConditionalFormat` module is used to handle conditional formatting action in Spreadsheet.
 */
export  class WorkbookConditionalFormat {
    private parent;
    /**
     * Constructor for WorkbookConditionalFormat module.
     *
     * @param {Workbook} parent - Specifies the parent element.
     */
    constructor(parent: Workbook);
    /**
     * To destroy the conditional format module.
     *
     * @returns {void}
     */
    protected destroy(): void;
    private addEventListener;
    private removeEventListener;
    private setCFRule;
    private clearCFRule;
    /**
     * Gets the module name.
     *
     * @returns {void} string
     */
    protected getModuleName(): string;
}
//node_modules/@syncfusion/ej2-spreadsheet/src/workbook/actions/cell-format.d.ts
/**
 * Workbook Cell format.
 */
export  class WorkbookCellFormat {
    private parent;
    constructor(parent: Workbook);
    private format;
    private setBottomBorderPriority;
    private setFullBorder;
    private checkAdjacentBorder;
    private checkFullBorder;
    private textDecorationActionUpdate;
    private setTypedBorder;
    private setCellBorder;
    private setCellStyle;
    private skipHiddenRows;
    private addEventListener;
    private removeEventListener;
    private clearCellObj;
    /**
     * To destroy workbook cell format.
     *
     * @returns {void} - To destroy workbook cell format.
     */
    destroy(): void;
    /**
     * Get the workbook cell format module name.
     *
     *  @returns {void}
     */
    getModuleName(): string;
}
//node_modules/@syncfusion/ej2-spreadsheet/src/workbook/actions/auto-fill.d.ts
/**
 * WorkbookAutoFill module allows to perform auto fill functionalities.
 */
export  class WorkbookAutoFill {
    private parent;
    private fillInfo;
    /**
     * Constructor for the workbook AutoFill module.
     *
     * @param {Workbook} parent - Specifies the workbook.
     * @private
     */
    constructor(parent: Workbook);
    private getFillInfo;
    private isRange;
    private autoFill;
    private fillSeries;
    private copyCells;
    private applyWrapToOuterCells;
    private updateFillValues;
    private getDataPattern;
    private getPredictionValue;
    private getPattern;
    private getNextFormattedValue;
    private isCellReference;
    private round;
    private getRangeData;
    private getFormulaPattern;
    private generateColCount;
    private getCellRefPrediction;
    private isInPattern;
    private ensurePattern;
    private getSelectedRange;
    private getFillType;
    private addEventListener;
    /**
     * Destroy workbook AutoFill module.
     *
     * @returns {void} - destroy the workbook AutoFill module.
     */
    destroy(): void;
    private removeEventListener;
    /**
     * Get the workbook AutoFill module name.
     *
     * @returns {string} - Return the string.
     */
    getModuleName(): string;
}
//node_modules/@syncfusion/ej2-spreadsheet/src/spreadsheet/services/overlay.d.ts
/**
 * Specifes to create or modify overlay.
 *
 * @hidden
 */
export  class Overlay {
    private parent;
    private minHeight;
    private minWidth;
    private isOverlayClicked;
    private isResizerClicked;
    private originalMouseX;
    private originalMouseY;
    private originalWidth;
    private originalHeight;
    private currentWidth;
    private currenHeight;
    private originalResizeLeft;
    private originalResizeTop;
    private originalReorderLeft;
    private originalReorderTop;
    private resizedReorderLeft;
    private resizedReorderTop;
    private resizer;
    private diffX;
    private diffY;
    private prevX;
    private prevY;
    private mouseUpHandler;
    /**
     * Constructor for initializing Overlay service.
     *
     *  @param {Spreadsheet} parent - Specifies the Spreadsheet instance.
     */
    constructor(parent: Spreadsheet);
    /**
     * To insert a shape.
     *
     * @param {string} id - Specifies the id.
     * @param {string} range - Specifies the range.
     * @param {number} sheetIndex - Specifies the sheet index.
     * @returns {HTMLElement} - Returns div element
     * @hidden
     */
    insertOverlayElement(id: string, range: string, sheetIndex: number): {
        element: HTMLElement;
        top: number;
        left: number;
    };
    /**
     * To adjust the layout inside freeze pane.
     *
     * @hidden
     * @param {ChartModel} model - Specifies the id.
     * @param {HTMLElement} element - Specifies the range.
     * @param {string} range - Specifies the sheet index.
     * @returns {void}
     */
    adjustFreezePaneSize(model: ChartModel, element: HTMLElement, range: string): void;
    private addEventListener;
    private setOriginalSize;
    private overlayMouseMoveHandler;
    private overlayMouseUpHandler;
    private isOverlaySelected;
    private refreshOverlayElem;
    private overlayClickHandler;
    private renderResizeHandler;
    private removeEventListener;
    /**
     * To clear private variables.
     *
     * @returns {void}
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-spreadsheet/src/spreadsheet/services/dialog.d.ts
/**
 * Dialog Service.
 *
 * @hidden
 */
export  class Dialog {
    private parent;
    dialogInstance: popups.Dialog;
    /**
     * Constructor for initializing dialog service.
     *
     * @param {Spreadsheet} parent - Specifies the Spreadsheet instance.
     */
    constructor(parent: Spreadsheet);
    /**
     * To show dialog.
     *
     * @param {popups.DialogModel} dialogModel - Specifies the Dialog model.
     * @param {boolean} cancelBtn - Specifies the cancel button.
     * @returns {void}
     */
    show(dialogModel: popups.DialogModel, cancelBtn?: boolean): void;
    /**
     * To destroy the dialog if it open is prevented by user.
     *
     * @returns {void}
     */
    destroyDialog(): void;
    /**
     * To hide dialog.
     *
     * @param {popups.DialogModel} disableAnimation - To disable the animation while hiding the dialog.
     * @returns {void}
     */
    hide(disableAnimation?: boolean): void;
    /**
     * To clear private variables.
     *
     * @returns {void}
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-spreadsheet/src/spreadsheet/services/action-events.d.ts
/**
 *  Begin and complete events.
 *
 * @hidden
 */
export  class ActionEvents {
    private parent;
    /**
     * Constructor for initializing action begin and action complete services.
     *
     * @param {Spreadsheet} parent - Specifies the spreadsheet element.
     */
    constructor(parent: Spreadsheet);
    private initializeActionBegin;
    private initializeActionComplete;
    private actionEventHandler;
    private actionBeginHandler;
    private actionCompleteHandler;
    private addEventListener;
    private removeEventListener;
}
//node_modules/@syncfusion/ej2-spreadsheet/src/spreadsheet/renderer/sheet.d.ts
/**
 * Sheet module is used to render Sheet
 *
 * @hidden
 */
export  class SheetRender implements IRenderer {
    private parent;
    private headerPanel;
    contentPanel: HTMLElement;
    private col;
    private rowRenderer;
    private cellRenderer;
    colGroupWidth: number;
    constructor(parent?: Spreadsheet);
    private refreshSelectALLContent;
    private updateLeftColGroup;
    setPanelWidth(sheet: SheetModel, rowHdr: HTMLElement, isRtlChange?: boolean): void;
    getScrollSize(addOffset?: boolean): number;
    private setHeaderPanelWidth;
    private setPanelHeight;
    renderPanel(): void;
    private initHeaderPanel;
    private createHeaderTable;
    private updateTable;
    /**
     * It is used to refresh the select all, row header, column header and content of the spreadsheet.
     *
     * @param {SheetRenderArgs} args - Specifies the cells, indexes, direction, skipUpdateOnFirst, top, left, initload properties.
     * @returns {void}
     */
    renderTable(args: SheetRenderArgs): void;
    private triggerCreatedEvent;
    /**
     *
     * @param {Object} args - Specify the args.
     * @param {number} args.top - Specify the top value.
     * @param {number} args.left - Specify the left value.
     * @param {SheetModel} sheet - Specify the sheet.
     */
    private checkRowHeightChanged;
    private checkTableWidth;
    private clearCFResult;
    refreshColumnContent(args: SheetRenderArgs): void;
    refreshRowContent(args: SheetRenderArgs): void;
    updateCol(sheet: SheetModel, idx: number, appendTo?: Element): Element;
    updateColContent(args: SheetRenderArgs): void;
    updateRowContent(args: SheetRenderArgs): void;
    private checkRowMerge;
    private refreshPrevMerge;
    private refreshFirstCell;
    private checkColMerge;
    toggleGridlines(): void;
    /**
     * Used to toggle row and column headers.
     *
     * @returns {void}
     */
    showHideHeaders(): void;
    private updateHideHeaders;
    rowHeightChanged(args: {
        rowIdx: number;
        threshold: number;
        isHideShow?: boolean;
    }): void;
    colWidthChanged(args: {
        colIdx: number;
        threshold: number;
        isHideShow?: boolean;
    }): void;
    getRowHeaderWidth(sheet: SheetModel, skipFreezeCheck?: boolean, addScaling?: boolean): number;
    getColHeaderHeight(sheet: SheetModel, skipHeader?: boolean): number;
    /**
     * Get the select all table element of spreadsheet
     *
     * @returns {HTMLElement} - Select all content element.
     */
    getSelectAllContent(): HTMLElement;
    /**
     * Get the horizontal scroll element of spreadsheet
     *
     * @returns {HTMLElement} - Select all content element.
     */
    getScrollElement(): HTMLElement;
    /**
     * Get the select all table element of spreadsheet
     *
     * @returns {HTMLTableElement} - Select all table element.
     */
    getSelectAllTable(): HTMLTableElement;
    /**
     * Get the column header element of spreadsheet
     *
     * @returns {HTMLTableElement} - Column header table element.
     */
    getColHeaderTable(): HTMLTableElement;
    /**
     * Get the row header table element of spreadsheet
     *
     * @returns {HTMLTableElement} - Row header table element.
     */
    getRowHeaderTable(): HTMLTableElement;
    /**
     * Get the main content table element of spreadsheet
     *
     * @returns {Element} - Content table element.
     */
    getContentTable(): HTMLTableElement;
    /**
     * Get the row header div element of spreadsheet
     *
     * @returns {HTMLElement} - Row header panel element.
     */
    getRowHeaderPanel(): HTMLElement;
    /**
     * Get the column header div element of spreadsheet
     *
     * @returns {HTMLElement} - Column header panel element.
     */
    getColHeaderPanel(): HTMLElement;
    /**
     * Get the main content div element of spreadsheet
     *
     * @returns {HTMLElement} - Content panel element.
     */
    getContentPanel(): HTMLElement;
    private addEventListener;
    /**
     * Clears the internal properties of Sheet module.
     *
     * @returns {void}
     */
    destroy(): void;
    private removeEventListener;
}
//node_modules/@syncfusion/ej2-spreadsheet/src/spreadsheet/renderer/row.d.ts
/**
 * RowRenderer module is used for creating row element
 *
 * @hidden
 */
export  class RowRenderer implements IRowRenderer {
    private parent;
    private element;
    private cellRenderer;
    private bottomBorderWidth;
    constructor(parent?: Spreadsheet);
    render(index?: number, isRowHeader?: boolean, preventHiddenCls?: boolean): Element;
    refresh(index: number, pRow: Element, hRow?: Element, header?: boolean, preventHiddenCls?: boolean): Element;
    private initProps;
    /**
     * Clears the internal properties of RowRenderer module.
     *
     * @returns {void}
     */
    destroy(): void;
}
//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;
    private colMinWidth;
    constructor(parent: Spreadsheet);
    render(): void;
    private checkTopLeftCell;
    private renderSheet;
    /**
     * @hidden
     * @param {RefreshArgs} args - Specifies the RefreshArgs.
     * @param {string} address - Specifies the address.
     * @param {boolean} initLoad - Specifies the initLoad.
     * @param {boolean} isRefreshing - Specifies the isRefreshing.
     * @param {boolean} preventModelCheck - Specifies the preventModelCheck.
     * @param {boolean} openOptions - Specifies the open response options.
     * @returns {void}
     */
    refreshUI(args: RefreshArgs, address?: string, initLoad?: boolean, isRefreshing?: boolean, preventModelCheck?: boolean, openOptions?: JsonData): void;
    private updateTopLeftScrollPosition;
    private removeSheet;
    /**
     * Refresh the active sheet.
     *
     * @param {boolean} isOpen - Specifies the isOpen.
     * @param {boolean} resize - Set `true` to refresh the sheet with exiting scroll top and left.
     * @param {boolean} focusEle - Specify the focusEle.
     * @param {boolean} preventModelCheck - Specifies the preventModelCheck.
     * @param {boolean} openOptions - Specifies the open response options.
     * @returns {void}
     */
    refreshSheet(isOpen?: boolean, resize?: boolean, focusEle?: boolean, preventModelCheck?: boolean, openOptions?: JsonData): void;
    /**
     * Used to set sheet panel size.
     *
     * @param {number} colMinWidth - Specifies column minimum width value.
     * @returns {void}
     */
    setSheetPanelSize(colMinWidth?: number): void;
    private roundValue;
    private moveOrDuplicateSheetHandler;
    decreaseHidden(startIdx: number, endIdx: number, freezeCount: number, layout?: string): number;
    /**
     * Registing the renderer related services.
     *
     * @returns {void}
     */
    private instantiateRenderer;
    /**
     * Destroy the Render module.
     *
     * @returns {void}
     */
    destroy(): void;
    private addEventListener;
    private removeEventListener;
}
//node_modules/@syncfusion/ej2-spreadsheet/src/spreadsheet/renderer/print.d.ts
/**
 * This class supports the printing functionality in Spreadsheet.
 */
export  class Print {
    private parent;
    private totalSheetCount;
    private workbookActiveSheetCount;
    private defaultCellWidth;
    private defaultCellHeight;
    private pageCounts;
    private initialRowCount;
    private chartHeight;
    private columnIndex;
    private rowIndex;
    private multipleCanvasDataURL;
    private chartElements;
    private totalCharts;
    private isChartLoaded;
    private chartLoadedCount;
    private isImageLoaded;
    private totalImages;
    private imageLoadedCount;
    private endRow;
    private isColumn;
    private startNewPageCount;
    private allowTimer;
    /**
     * Constructor for Print module
     *
     * @param {Spreadsheet} parent - Specifies the spreadsheet instance.
     */
    constructor(parent: Spreadsheet);
    /**
     * To create the print module.
     *
     * @param {Spreadsheet} spreadsheet - Specifies the spreadsheet instance.
     * @param {PrintOptions} printOptions - Specifies the print options.
     * @returns {void} - To create the print module.
     * @private
     */
    print(spreadsheet: Spreadsheet, printOptions: PrintOptions): void;
    private updateChartRowAndColumnIndices;
    private activeSheetPrint;
    private processCell;
    private setBorderStyle;
    private setToDefault;
    private handleCharts;
    private processImages;
    private textDecoration;
    private rowHeaderRect;
    private rowHeaderText;
    private canvasPrint;
    private drawBorder;
    private drawPath;
    private drawDoubleBorder;
    private calculateTextPosition;
    private calculatePageCount;
    private wrapText;
    /**
     * Get module name.
     *
     * @returns {string} - Returns the module name.
     */
    protected getModuleName(): string;
    /**
     * To destroy the print.
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-spreadsheet/src/spreadsheet/renderer/cell.d.ts
/**
 * CellRenderer class which responsible for building cell content.
 *
 * @hidden
 */
export  class CellRenderer implements ICellRenderer {
    private parent;
    private element;
    private th;
    private tableRow;
    private isFormulaCell;
    constructor(parent?: Spreadsheet);
    renderColHeader(index: number, row: Element, refChild?: Element): void;
    renderRowHeader(index: number, row: Element, refChild?: Element): void;
    render(args: CellRenderArgs): Element;
    private setWrapByValue;
    private update;
    private applyStyle;
    private createImageAndChart;
    private calculateFormula;
    private checkMerged;
    private mergeFreezeRow;
    private updateSpanTop;
    private mergeFreezeCol;
    private updateColZIndex;
    private updateSelectAllZIndex;
    private updatedHeaderZIndex;
    private updateRowZIndex;
    private processTemplates;
    private compileCellTemplate;
    private isSelector;
    private getRowHeightOnInit;
    private removeStyle;
    /**
     * @hidden
     * @param {number[]} range - Specifies the range.
     * @param {boolean} refreshing - Specifies the refresh.
     * @param {boolean} checkWrap - Specifies the range.
     * @param {boolean} checkHeight - Specifies the checkHeight.
     * @param {boolean} checkCF - Specifies the check for conditional format.
     * @param {boolean} skipFormatCheck - Specifies whether to skip the format checking while applying the number format.
     * @param {boolean} checkFormulaAdded - Specifies whether to check the formula added or not.
     * @param {boolean} isFromAutoFillOption - Specifies whether the value is from auto fill option or not.
     * @param {boolean} isHeightCheckNeeded - Specifies whether the refreshing is from undo-redo with format action.
     * @param {boolean} isSortAction - Specifies whether to check the sort action performed or not.
     * @param {boolean} isSelectAll - Specifies the all sheet cells selected or not.
     * @param {PreviousCellDetails[]} cells - Specifies the undo redo cell collections.
     * @returns {void}
     */
    refreshRange(range: number[], refreshing?: boolean, checkWrap?: boolean, checkHeight?: boolean, checkCF?: boolean, skipFormatCheck?: boolean, checkFormulaAdded?: boolean, isFromAutoFillOption?: boolean, isHeightCheckNeeded?: boolean, isSortAction?: boolean, isSelectAll?: boolean, cells?: PreviousCellDetails[]): void;
    refresh(rowIdx: number, colIdx: number, lastCell?: boolean, element?: Element, checkCF?: boolean, checkWrap?: boolean, skipFormatCheck?: boolean, isRandomFormula?: boolean, fillType?: string): void;
    private updateView;
    /**
     * Removes the added event handlers and clears the internal properties of CellRenderer module.
     *
     * @returns {void}
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-spreadsheet/src/spreadsheet/integrations/sort.d.ts
/**
 * `Sort` module is used to handle the sort action in Spreadsheet.
 */
export  class Sort {
    private parent;
    /**
     * Constructor for sort module.
     *
     * @param {Spreadsheet} parent - Specifies the Spreadsheet instance.
     */
    constructor(parent: Spreadsheet);
    /**
     * To destroy the sort module.
     *
     * @returns {void}
     */
    protected destroy(): void;
    private addEventListener;
    private removeEventListener;
    /**
     * Gets the module name.
     *
     * @returns {string} - Gets the module name.
     */
    protected getModuleName(): string;
    /**
     * Validates the range and returns false when invalid.
     *
     * @returns {boolean} - Validates the range and returns false when invalid.
     */
    private isValidSortRange;
    /**
     *
     * @param {any} args - Specifies the args
     * @param {number} args.sheetIdx - Specifies the sheet index
     * @returns {void}
     */
    private sortImport;
    /**
     * Shows the range error alert dialog.
     *
     * @param {object} args - specify the args
     * @param {string} args.error - range error string.
     * @returns {void}
     */
    private sortRangeAlertHandler;
    /**
     * Initiates the custom sort dialog.
     *
     * @returns {void}
     */
    private initiateCustomSortHandler;
    /**
     * Validates the errors of the sort criteria and displays the error.
     *
     * @param {Object} json - listview datasource.
     * @param {HTMLElement} dialogElem - dialog content element.
     * @param {HTMLElement} errorElem - element to display error.
     * @returns {boolean} - Return boolean value.
     */
    private validateError;
    /**
     * Creates all the elements and generates the dialog content element.
     *
     * @returns {HTMLElement} - Returns the dialog element.
     */
    private customSortContent;
    /**
     * Gets the fields data from the selected range.
     *
     * @returns {Object} - Gets the fields data from the selected range.
     */
    private getFields;
    /**
     * Creates the header tab for the custom sort dialog.
     *
     * @param {HTMLElement} dialogElem - dialog content element.
     * @param {ListView} listviewObj - listview instance.
     * @param {Object} fields - fields data.
     * @returns {void} - set header tab.
     */
    private setHeaderTab;
    /**
     * Creates a listview instance.
     *
     * @param {string} listId - unique id of the list item.
     * @returns {void}
     */
    private getCustomListview;
    /**
     * Triggers the click event for delete icon.
     *
     * @param {Element} element - current list item element.
     * @param {ListView} listviewObj - listview instance.
     * @returns {void}
     */
    private deleteHandler;
    /**
     * Renders the dropdown and radio button components inside list item.
     *
     * @param {string} id - unique id of the list item.
     * @param {ListView} lvObj - listview instance.
     * @param {boolean} containsHeader - data contains header.
     * @param {string} fields - fields data.
     * @param {boolean} btn - boolean value.
     * @returns {void}
     */
    private renderListItem;
    /**
     * Sets the new value of the radio button.
     *
     * @param {ListView} listviewObj - listview instance.
     * @param {string} id - unique id of the list item.
     * @param {string} value - new value.
     * @returns {void}
     */
    private setRadioBtnValue;
    /**
     *
     * Clears the error from the dialog.
     *
     * @returns {void}
     */
    private clearError;
    /**
     * Triggers sort events and applies sorting.
     *
     * @param {Object} args - Specifies the args.
     * @param {SortOptions} args.sortOptions - Specifies the sort options.
     * @param {string} args.range - Specifies the range.
     * @param {SortCollectionModel} args.previousSort - Specifies the previous sort collection.
     * @returns {void}
     */
    private applySortHandler;
    /**
     *
     * Invoked when the sort action is completed.
     *
     * @param {SortEventArgs} args - Specifies the range and sort options.
     * @returns {void}
     */
    private sortCompleteHandler;
}
//node_modules/@syncfusion/ej2-spreadsheet/src/spreadsheet/integrations/sheet-tabs.d.ts
/**
 * Represents SheetTabs for Spreadsheet.
 */
export  class SheetTabs {
    private parent;
    private tabInstance;
    private dropDownInstance;
    private addBtnRipple;
    private aggregateDropDown;
    private aggregateContent;
    private selaggregateCnt;
    constructor(parent: Spreadsheet);
    getModuleName(): string;
    private createSheetTabs;
    private goToSheet;
    private updateDropDownItems;
    private beforeOpenHandler;
    private openHandler;
    private getSheetTabItems;
    private refreshSheetTab;
    private addSheetTab;
    private insertSheetTab;
    private updateSheetTab;
    private showSheet;
    private switchSheetTab;
    private skipHiddenSheets;
    private renameSheetTab;
    private updateWidth;
    private renameKeyDown;
    private renameInputFocusOut;
    private focusTab;
    private updateSheetName;
    private hideSheet;
    private removeRenameInput;
    private showRenameDialog;
    private focusRenameInput;
    private removeSheetTab;
    private forceDelete;
    private destroySheet;
    private showAggregate;
    private getAggregateItems;
    private updateAggregateContent;
    private removeAggregate;
    private addEventListener;
    destroy(): void;
    private removeEventListener;
}
//node_modules/@syncfusion/ej2-spreadsheet/src/spreadsheet/integrations/save.d.ts
/**
 * `Save` module is used to handle the save action in Spreadsheet.
 */
export  class Save {
    private parent;
    /**
     * Constructor for Save module in Spreadsheet.
     *
     * @private
     * @param {Spreadsheet} parent - Specifies the Spreadsheet instance.
     */
    constructor(parent: Spreadsheet);
    /**
     * To destroy the Save module.
     *
     * @returns {void}
     * @hidden
     */
    destroy(): void;
    private addEventListener;
    private removeEventListener;
    /**
     * Get the module name.
     *
     * @returns {string} - Get the module name.
     * @private
     */
    getModuleName(): string;
    /**
     * Initiate save process.
     *
     * @hidden
     * @returns {void} - Initiate save process.
     */
    private initiateSave;
    /**
     * Save action completed.
     *
     * @hidden
     * @returns {void} - Save action completed.
     */
    private saveCompleted;
    private showErrorDialog;
    private exportDialog;
    private checkValidName;
    private OpenContent;
}
//node_modules/@syncfusion/ej2-spreadsheet/src/spreadsheet/integrations/ribbon.d.ts
/**
 * Represents Ribbon for Spreadsheet.
 */
export  class Ribbon {
    private parent;
    private ribbon;
    private numFormatDDB;
    private calcTypeOptions;
    private fontSizeDdb;
    private fontNameDdb;
    private textAlignDdb;
    private verticalAlignDdb;
    private sortingDdb;
    private datavalidationDdb;
    private bordersDdb;
    private cfDdb;
    private clearDdb;
    private findDdb;
    private border;
    private fontNameIndex;
    private numPopupWidth;
    private pasteSplitBtn;
    private colorPicker;
    private mergeSplitBtn;
    private preTabIdx;
    private addChartDdb;
    private cPickerEle;
    constructor(parent: Spreadsheet);
    getModuleName(): string;
    private ribbonOperation;
    private initialize;
    private getRibbonMenuItems;
    private getRibbonItems;
    private createCalcOptions;
    private selectCalcOptions;
    private updateFormulaButtons;
    private getPasteBtn;
    private getHyperlinkDlg;
    private passwordProtectDlg;
    private getLocaleText;
    private getLocaleProtectText;
    private getLocaleProtectWorkbook;
    private insertDesignChart;
    private removeDesignChart;
    private createRibbon;
    private tabSelecting;
    private beforeRenderHandler;
    private getChartThemeDDB;
    private getNumFormatDDB;
    private getFontSizeDDB;
    private getChartDDB;
    private closeDropdownPopup;
    private createChartDdb;
    private createChartMenu;
    private getAddChartEleDBB;
    private createAddChartMenu;
    private getCFDBB;
    private spanElements;
    private iconSetGroupElement;
    private iconSetElements;
    private iconWrapElements;
    private createCFMenu;
    private menuIconKeyDown;
    private createElement;
    private getBordersDBB;
    private createBorderMenu;
    private chartSelected;
    private addChartEleSelected;
    private cfSelected;
    private borderSelected;
    private getFontNameDDB;
    private getBtn;
    private datavalidationDDB;
    private getTextAlignDDB;
    private getVerticalAlignDDB;
    private getMergeSplitBtn;
    private mergeSelectHandler;
    private unMerge;
    private merge;
    private performMerge;
    private getSortFilterDDB;
    private getFindBtn;
    private getClearDDB;
    private ribbonCreated;
    private alignItemRender;
    private getAlignText;
    private toggleBtnClicked;
    private getCellStyleValue;
    private refreshSelected;
    private expandCollapseHandler;
    private getChartThemeDdbItems;
    private getNumFormatDdbItems;
    private getFontFamilyItems;
    private applyNumFormat;
    private renderCustomFormatDialog;
    private tBarDdbBeforeOpen;
    private numDDBOpen;
    private previewNumFormat;
    private refreshRibbonContent;
    private refreshHomeTabContent;
    private refreshTextAlign;
    private toggleActiveState;
    private refreshToggleBtn;
    private refreshFontNameSelection;
    private refreshNumFormatSelection;
    private fileMenuItemSelect;
    private toolbarClicked;
    private toggleRibbonItems;
    private enableFileMenuItems;
    private hideRibbonTabs;
    private addRibbonTabs;
    private updateToggleText;
    private refreshViewTabContent;
    private updateViewTabContent;
    private updateRibbonItemText;
    private refreshDataTabContent;
    private updateDataTabContent;
    private updateProtectBtn;
    private updateProtectWorkbookBtn;
    private addToolbarItems;
    private enableToolbarItems;
    private createMobileView;
    private renderMobileToolbar;
    private fileMenuBeforeOpen;
    private enableRibbonTabs;
    private fileMenuBeforeClose;
    private hideFileMenuItems;
    private addFileMenuItems;
    private hideToolbarItems;
    private protectSheetHandler;
    private updateMergeItem;
    private onPropertyChanged;
    private addEventListener;
    destroy(): void;
    private destroyComponent;
    private detachPopupElement;
    private switchRibbonTab;
    private removeEventListener;
}
//node_modules/@syncfusion/ej2-spreadsheet/src/spreadsheet/integrations/open.d.ts
/**
 * Open properties.
 */
export  class Open {
    private parent;
    isImportedFile: boolean;
    unProtectSheetIdx: number[];
    constructor(parent: Spreadsheet);
    /**
     * Adding event listener for success and failure
     *
     * @returns {void} - Adding event listener for success and failure
     */
    private addEventListener;
    /**
     * Removing event listener for success and failure
     *
     * @returns {void} - Removing event listener for success and failure
     */
    private removeEventListener;
    /**
     *
     */
    private renderFileUpload;
    /**
     * Process after select the excel and image file.
     *
     * @param {Event} args - File select native event.
     * @returns {void} - Process after select the excel and image file.
     */
    private fileSelect;
    /**
     * File open success event declaration.
     *
     * @param {string} response - File open success response text.
     * @returns {void} - File open success event declaration.
     */
    private openSuccess;
    /**
     * File open failure event declaration.
     *
     * @param {object} args - Open failure arguments.
     * @returns {void} - File open failure event declaration.
     */
    private openFailed;
    private sheetsDestroyHandler;
    /**
     * To Remove the event listeners.
     *
     * @returns {void} - To Remove the event listeners.
     */
    destroy(): void;
    /**
     * Get the sheet open module name.
     *
     * @returns {string} - Get the sheet open module name.
     */
    getModuleName(): string;
}
//node_modules/@syncfusion/ej2-spreadsheet/src/spreadsheet/integrations/number-format.d.ts
/**
 * Specifies number format.
 */
export  class NumberFormat {
    private parent;
    constructor(parent: Spreadsheet);
    private refreshCellElement;
    private getTextSpace;
    private rowFillHandler;
    /**
     * Adding event listener for number format.
     *
     * @hidden
     * @returns {void} - Adding event listener for number format.
     */
    private addEventListener;
    /**
     * Removing event listener for number format.
     *
     * @hidden
     * @returns {void} - Removing event listener for number format.
     */
    private removeEventListener;
    /**
     * To Remove the event listeners.
     *
     * @returns {void} - To Remove the event listeners.
     */
    destroy(): void;
    /**
     *
     */
    getModuleName(): string;
}
//node_modules/@syncfusion/ej2-spreadsheet/src/spreadsheet/integrations/image.d.ts
/**
 * Open properties.
 */
export  class SpreadsheetImage {
    private parent;
    constructor(parent: Spreadsheet);
    /**
     * Adding event listener for success and failure
     *
     * @returns {void} - Adding event listener for success and failure
     */
    private addEventListener;
    /**
     *
     */
    private renderImageUpload;
    /**
     * Process after select the excel and image file.
     *
     * @param {Event} args - File select native event.
     * @returns {void} - Process after select the excel and image file.
     */
    private imageSelect;
    /**
     * Removing event listener for success and failure
     *
     * @returns {void} - Removing event listener for success and failure
     */
    private removeEventListener;
    private insertImage;
    private binaryStringVal;
    private createImageElement;
    private refreshInsDelImagePosition;
    private refreshImgCellObj;
    deleteImage(args: {
        id: string;
        range?: string;
        preventEventTrigger?: boolean;
        sheet?: SheetModel;
        rowIdx?: number;
        colIdx?: number;
        isUndoRedo?: boolean;
        clearAction?: boolean;
    }): void;
    /**
     * To Remove the event listeners.
     *
     * @returns {void} - To Remove the event listeners.
     */
    destroy(): void;
    /**
     * Get the sheet picture module name.
     *
     * @returns {string} - Get the sheet picture module name.
     */
    getModuleName(): string;
}
//node_modules/@syncfusion/ej2-spreadsheet/src/spreadsheet/integrations/formula.d.ts
/**
 * @hidden
 * The `Formula` module is used to handle the formulas and its functionalities in Spreadsheet.
 */
export  class Formula {
    private parent;
    private isFormulaBar;
    private isFormula;
    private isPopupOpened;
    private isPreventClose;
    private isSubFormula;
    autocompleteInstance: dropdowns.AutoComplete;
    private acInputElement;
    /**
     * Constructor for formula module in Spreadsheet.
     *
     * @private
     * @param {Spreadsheet} parent - Constructor for formula module in Spreadsheet.
     */
    constructor(parent: Spreadsheet);
    /**
     * Get the module name.
     *
     * @returns {string} - Get the module name.
     * @private
     */
    getModuleName(): string;
    /**
     * To destroy the formula module.
     *
     * @returns {void} - To destroy the formula module.
     * @hidden
     */
    destroy(): void;
    private addEventListener;
    private removeEventListener;
    private performFormulaOperation;
    private renderAutoComplete;
    private onSuggestionOpen;
    private onSuggestionClose;
    private onSelect;
    private onSuggestionComplete;
    private refreshFormulaDatasource;
    private keyUpHandler;
    private keyDownHandler;
    private formulaClick;
    private refreshFormulaSuggestion;
    private endEdit;
    private hidePopUp;
    private getSuggestionKeyFromFormula;
    private getRelateToElem;
    private getEditingValue;
    private triggerKeyDownEvent;
    private getNames;
    private getNameFromRange;
    private addDefinedName;
}
//node_modules/@syncfusion/ej2-spreadsheet/src/spreadsheet/integrations/formula-bar.d.ts
/**
 * Represents Formula bar for Spreadsheet.
 */
export  class FormulaBar {
    private parent;
    private comboBoxInstance;
    private insertFnRipple;
    private categoryCollection;
    private formulaCollection;
    private categoryList;
    private formulaList;
    private dialog;
    private isGoto;
    private isDevice;
    constructor(parent: Spreadsheet);
    getModuleName(): string;
    private createFormulaBar;
    private textAreaFocusIn;
    private textAreaFocusOut;
    private keyDownHandler;
    private keyUpHandler;
    private nameBoxBeforeOpen;
    private nameBoxBlur;
    private nameBoxSelect;
    private formulaBarUpdateHandler;
    private getFormulaBarValue;
    private updateValueAfterMouseUp;
    private updateComboBoxValue;
    private disabletextarea;
    private updateNameBoxValue;
    private formulaBarScrollEdit;
    private formulaBarClickHandler;
    private renderInsertDlg;
    private toggleFormulaBar;
    private dialogOpen;
    private dialogClose;
    private dialogBeforeClose;
    private selectFormula;
    private listSelected;
    private updateFormulaList;
    private dropDownSelect;
    private activeListFormula;
    private updateFormulaDescription;
    private formulaClickHandler;
    private addEventListener;
    destroy(): void;
    private removeEventListener;
    private editOperationHandler;
    private isFormulaBarEdit;
    private getFormulaBar;
}
//node_modules/@syncfusion/ej2-spreadsheet/src/spreadsheet/integrations/filter.d.ts
/**
 * `Filter` module is used to handle the filter action in Spreadsheet.
 */
export  class Filter {
    private parent;
    private filterRange;
    private filterCollection;
    private filterBtn;
    private treeViewObj;
    private treeViewEle;
    private cBox;
    /**
     * Constructor for filter module.
     *
     * @param {Spreadsheet} parent - Specifies the Spreadsheet.
     */
    constructor(parent: Spreadsheet);
    /**
     * To destroy the filter module.
     *
     * @returns {void} - To destroy the filter module.
     */
    protected destroy(): void;
    private addEventListener;
    private removeEventListener;
    /**
     * Gets the module name.
     *
     * @returns {string} - Gets the module name.
     */
    protected getModuleName(): string;
    /**
     * Validates the range and returns false when invalid.
     *
     * @param {SheetModel} sheet - Specify the sheet.
     * @param {string} range - Specify the range.
     * @returns {void} - Validates the range and returns false when invalid.
     */
    private isInValidFilterRange;
    /**
     * Shows the range error alert dialog.
     *
     * @param {any} args - Specifies the args
     * @param {string} args.error - range error string.
     * @returns {void} - Shows the range error alert dialog.
     */
    private filterRangeAlertHandler;
    /**
     * Triggers before filter context menu opened and used to add sorting items.
     *
     * @param {any} args - Specifies the args
     * @param {HTMLElement} args.element - Specify the element
     * @returns {void} - Triggers before filter context menu opened and used to add sorting items.
     */
    private beforeFilterMenuOpenHandler;
    /**
     * Creates new menu item element
     *
     * @param {Element} ul - Specify the element.
     * @param {string} text - Specify the text.
     * @param {string} className - Specify the className
     * @param {string} iconCss - Specify the iconCss
     * @returns {void} - Creates new menu item element
     */
    private addMenuItem;
    /**
     * Initiates the filter UI for the selected range.
     *
     * @param {any} args - Specifies the args
     * @param {PredicateModel[]} args.predicates - Specify the predicates.
     * @param {number} args.range - Specify the range.
     * @param {Promise<FilterEventArgs>} args.promise - Spefify the promise.
     * @param {number} args.sIdx - Specify the sIdx
     * @param {boolean} args.isCut - Specify the bool value
     * @param {boolean} args.isUndoRedo - Specify the bool value
     * @param {boolean} args.isInternal - Specify the isInternal.
     * @param {boolean} args.useFilterRange - Specify the use Filter Range.
     * @param {boolean} args.isOpen - Specify the isOpen.
     * @param {boolean} args.allowHeaderFilter - Specify the allow header filter.
     * @returns {void} - Initiates the filter UI for the selected range.
     */
    private initiateFilterUIHandler;
    /**
     * Processes the range if no filter applied.
     *
     * @param {SheetModel} sheet - Specify the sheet.
     * @param {number} sheetIdx - Specify the sheet index.
     * @param {string} filterRange - Specify the filterRange.
     * @param {boolean} preventRefresh - To prevent refreshing the filter buttons.
     * @param {boolean} useFilterRange - Specifies whether to consider filtering range or used range during filering.
     * @param {boolean} allowHeaderFilter - Specifies whether to consider first row during filtering.
     * @returns {void} - Processes the range if no filter applied.
     */
    private processRange;
    /**
     * Removes all the filter related collections for the active sheet.
     *
     * @param {number} sheetIdx - Specify the sheet index.
     * @param {boolean} isCut - Specify the bool value.
     * @param {boolean} preventRefresh - Specify the preventRefresh.
     * @param {boolean} clearAction - Specify the current action is clear or not.
     * @returns {void} - Removes all the filter related collections for the active sheet.
     */
    private removeFilter;
    /**
     * Handles filtering cell value based on context menu.
     *
     * @returns {void} - Handles filtering cell value based on context menu.
     */
    private filterByCellValueHandler;
    /**
     * Creates filter buttons and renders the filter applied cells.
     *
     * @param { any} args - Specifies the args
     * @param { HTMLElement} args.td - specify the element
     * @param { number} args.rowIndex - specify the rowIndex
     * @param { number} args.colIndex - specify the colIndex
     * @param { number} args.sIdx - specify the sIdx
     * @param { boolean} args.isAction - specify the apply filter action.
     * @returns {void} - Creates filter buttons and renders the filter applied cells.
     */
    private renderFilterCellHandler;
    /**
     * Refreshes the filter header range.
     *
     * @param {number[]} filterRange - Specify the filterRange.
     * @param {boolean} remove - Specify the bool value
     * @param {number} sIdx - Specify the index.
     * @param {boolean} allowHeaderFilter - Specifies whether to consider first row during filtering.
     * @returns {void} - Refreshes the filter header range.
     */
    private refreshFilterRange;
    /**
     * Checks whether the provided cell is a filter cell.
     *
     * @param {number} sheetIdx - Specify the sheet index.
     * @param {number} rowIndex - Specify the row index
     * @param {number} colIndex - Specify the col index.
     * @returns {boolean} - Checks whether the provided cell is a filter cell.
     */
    private isFilterCell;
    /**
     * Checks whether the provided cell is in a filter range
     *
     * @param {number} sheetIdx - Specify the sheet index.
     * @param {number} rowIndex - Specify the row index
     * @param {number} colIndex - Specify the col index.
     * @returns {boolean} - Checks whether the provided cell is in a filter range
     */
    private isFilterRange;
    /**
     * Gets the filter information from active cell
     *
     * @param {any} args - Specifies the args
     * @param {string} args.field - Specify the field
     * @param {string} args.clearFilterText - Specify the clearFilterText
     * @param {boolean} args.isFiltered - Specify the isFiltered
     * @param {boolean} args.isClearAll - Specify the isClearAll
     * @param {number} args.sheetIndex - Specify the sheet index value.
     * @returns {void} - Triggers before context menu created to enable or disable items.
     */
    private getFilteredColumnHandler;
    /**
     * Triggers before context menu created to enable or disable items.
     *
     * @param {any} e - Specifies the args
     * @param {HTMLElement} e.element - Specify the element
     * @param {MenuItemModel[]} e.items - Specify the items
     * @param {MenuItemModel} e.parentItem - Specify the parentItem
     * @param {string} e.target - Specify the target
     * @returns {void} - Triggers before context menu created to enable or disable items.
     */
    private cMenuBeforeOpenHandler;
    /**
     * Closes the filter popup.
     *
     * @returns {void} - Closes the filter popup.
     */
    private closeDialog;
    private removeFilterClass;
    /**
     * Returns true if the filter popup is opened.
     *
     * @returns {boolean} - Returns true if the filter popup is opened.
     */
    private isPopupOpened;
    private filterCellKeyDownHandler;
    private filterMouseDownHandler;
    private cboxListSelected;
    private initCboxList;
    private createSelectAll;
    private updateState;
    private beforeFilteringHandler;
    private customFilterOpen;
    private wireFilterEvents;
    private initTreeView;
    private generatePredicate;
    private refreshCheckbox;
    private openDialog;
    private getPredicateRange;
    private filterDialogCreatedHandler;
    /**
     * Formats cell value for listing it in filter popup.
     *
     * @param {any} args - Specifies the args
     * @param {string | number} args.value - Specify the value
     * @param {object} args.column - Specify the column
     * @param {object} args.data - Specify the data
     * @returns {void} - Formats cell value for listing it in filter popup.
     */
    private filterCboxValueHandler;
    /**
     * Triggers when sorting items are chosen on context menu of filter popup.
     *
     * @param {HTMLElement} target - Specify the element.
     * @returns {void} - Triggers when sorting items are chosen on context menu of filter popup.
     */
    private selectSortItemHandler;
    /**
     * Triggers when OK button or clear filter item is selected
     *
     * @param {DataManager} dataSource - Specify the data source
     * @param {Object} args - Specify the data source
     * @param {string} args.action - Specify the action
     * @param {PredicateModel[]} args.filterCollection - Specify the filter collection.
     * @param {string} args.field - Specify the field.
     * @param {number} args.sIdx - Specify the index.
     * @param {boolean} args.isInternal - Specify the isInternal.
     * @param {boolean} args.isFilterByValue - Specify the isFilterByValue.
     * @param {PredicateModel[]} args.prevPredicates - Specify the prevPredicates.
     * @returns {void} - Triggers when OK button or clear filter item is selected
     */
    private filterSuccessHandler;
    private isCustomNumFilter;
    private getClonedPredicates;
    private updatePredicate;
    /**
     * Triggers events for filtering and applies filter.
     *
     * @param {FilterOptions} filterOptions - Specify the filteroptions.
     * @param {string} range - Specify the range.
     * @param {number} sheetIdx - Specify the sheet index.
     * @param {PredicateModel[]} prevPredicates - Specify the predicates.
     * @param {boolean} refresh - Spefify the refresh.
     * @param {boolean} isInternal - Specify the isInternal.
     * @param {boolean} isFilterByValue - Specify the it is filter by value or not.
     * @returns {void} - Triggers events for filtering and applies filter.
     */
    private applyFilter;
    /**
     * Gets the predicates for the sheet
     *
     * @param {PredicateModel[]} predicateModel - Specifies the predicate collection.
     * @returns {Predicate[]} - Gets the predicates for the sheet
     */
    private getPredicates;
    /**
     * Gets the column type to pass it into the excel filter options.
     *
     * @param {SheetModel} sheet - Specify the sheet.
     * @param {number} colIndex - Specify the colindex
     * @param {number[]} range - Specify the range.
     * @param {boolean} isFilterDialog - Indicates whether the filter dialog UI is open.
     * @returns {string} - Gets the column type to pass it into the excel filter options.
     */
    private getColumnType;
    /**
     * Clear filter from the field.
     *
     * @param {any} args - Specifies the args
     * @param {{ field: string }} args.field - Specify the args
     * @param {boolean} args.isAction - Specify the isAction.
     * @param {boolean} args.preventRefresh - Specify the preventRefresh.
     * @param {number} args.sheetIndex - Specify the sheet index value.
     * @returns {void} - Clear filter from the field.
     */
    private clearFilterHandler;
    /**
     * Reapplies the filter.
     *
     * @param {boolean} isInternal - Specifies the isInternal.
     * @param {boolean} refresh - Specifies the refresh.
     * @returns {void} - Reapplies the filter.
     */
    private reapplyFilterHandler;
    /**
     * Gets the filter information of the sheet.
     *
     * @param {FilterInfoArgs} args - Specify the args
     * @returns {void} - Gets the filter information of the sheet.
     */
    private getFilterRangeHandler;
    /**
     * Returns the custom operators for filter items.
     *
     * @returns {Object} - Returns the custom operators for filter items.
     */
    private getLocalizedCustomOperators;
    /**
     * To set the filtered range and predicates collections in the save JSON object.
     *
     * @param {any} args - Specifies the args
     * @param {number} args.sheetIdx - Specifies the sheet index value.
     * @param {boolean} args.isSaveAction - Specifies the Save action.
     * @param {any} args.saveJson - Specifies save as Json.
     * @param {FilterCollectionModel[]} args.saveJson.filterCollection - Specifies the filter collection values.
     * @returns {void}
     */
    private setFilteredCollection;
    private updateFilter;
    private getColData;
    private getFilterOperator;
    private beforeInsertHandler;
    private beforeDeleteHandler;
    private deleteSheetHandler;
    private clearHandler;
    private duplicateSheetFilterHandler;
    private updateSortCollectionHandler;
    private moveSheetHandler;
    private refreshFilterCellsOnResize;
}
//node_modules/@syncfusion/ej2-spreadsheet/src/spreadsheet/integrations/context-menu.d.ts
/**
 * Represents context menu for Spreadsheet.
 */
export  class ContextMenu {
    private parent;
    private contextMenuInstance;
    /**
     * Constructor for ContextMenu module.
     *
     * @param {Spreadsheet} parent - Constructor for ContextMenu module.
     */
    constructor(parent: Spreadsheet);
    private init;
    private initContextMenu;
    /**
     * Before close event handler.
     *
     * @param {BeforeOpenCloseMenuEventArgs} args - Specify the args
     * @returns {void} - Before close event handler.
     */
    private beforeCloseHandler;
    /**
     * Select event handler.
     *
     * @param {MenuEventArgs} args - Specify the args
     * @returns {void} - Select event handler.
     */
    private selectHandler;
    private getInsertModel;
    /**
     * Before open event handler.
     *
     * @param {BeforeOpenCloseMenuEventArgs} args - Specify the args.
     * @returns {void} - Before open event handler.
     */
    private beforeOpenHandler;
    /**
     * To get target area based on right click.
     *
     * @param {Element} target - Specify the target
     * @returns {string} - To get target area based on right click.
     */
    private getTarget;
    /**
     * To populate context menu items based on target area.
     *
     * @param {string} target - Specify the target
     * @param {Element} targetEle - Specify the target element
     * @returns {MenuItemModel[]} - To populate context menu items based on target area.
     */
    private getDataSource;
    private setProtectSheetItems;
    /**
     * Sets sorting related items to the context menu.
     *
     * @param {MenuItemModel[]} items - Specifies the item
     * @param {string} id - Specify the id.
     * @returns {void} - Sets sorting related items to the context menu.
     */
    private setFilterItems;
    /**
     * Sets sorting related items to the context menu.
     *
     * @param {MenuItemModel[]} items - Specifies the item
     * @param {string} id - Specify the id.
     * @returns {void} - Sets sorting related items to the context menu.
     */
    private setSortItems;
    private setHyperLink;
    private setNotesMenu;
    private setClipboardData;
    private setInsertDeleteItems;
    private setHideShowItems;
    /**
     * To add event listener.
     *
     * @returns {void} - To add event listener.
     */
    private addEventListener;
    /**
     * To add context menu items before / after particular item.
     *
     * @param {InsertArgs} args - Specify the add item handler
     * @returns {void} - To add context menu items before / after particular item.
     */
    private addItemsHandler;
    /**
     * To remove context menu items.
     *
     * @param {RemoveArgs} args - Specifies the args
     * @returns {void} - To remove context menu items.
     */
    private removeItemsHandler;
    /**
     * To enable / disable context menu items.
     *
     * @param {EnableDisableArgs} args - Specifies the args
     * @returns {void} - To enable / disable context menu items.
     */
    private enableItemsHandler;
    /**
     * To remove event listener.
     *
     * @returns {void} - To remove event listener.
     */
    private removeEventListener;
    /**
     * To get module name.
     *
     * @returns {string} - To get module name.
     */
    protected getModuleName(): string;
    /**
     * Destroy method.
     *
     * @returns {void} - Destroy method.
     */
    protected destroy(): void;
}
//node_modules/@syncfusion/ej2-spreadsheet/src/spreadsheet/integrations/color-picker.d.ts
/**
 * `Color Picker` module is used to handle ColorPicker functionality.
 *
 * @hidden
 */
export  class ColorPicker {
    private parent;
    private fontColorPicker;
    private filColorPicker;
    constructor(parent: Spreadsheet);
    private render;
    private updateSelectedColor;
    private openHandler;
    private beforeCloseHandler;
    private beforeModeSwitch;
    private destroy;
    private addEventListener;
    private removeEventListener;
}
//node_modules/@syncfusion/ej2-spreadsheet/src/spreadsheet/integrations/chart.d.ts
/**
 */
/**
 * Represents Chart support for Spreadsheet.
 */
export  class SpreadsheetChart {
    private parent;
    private chart;
    /**
     * Constructor for the Spreadsheet Chart module.
     *
     * @param {Spreadsheet} parent - Constructor for the Spreadsheet Chart module.
     */
    constructor(parent: Spreadsheet);
    /**
     * Adding event listener for success and failure
     *
     * @returns {void} - Adding event listener for success and failure
     */
    private addEventListener;
    private insertChartHandler;
    private chartRangeHandler;
    private refreshChartData;
    private inRowColumnRange;
    private refreshChartCellModel;
    private refreshChartCellObj;
    private processChartRange;
    private getRangeData;
    private toArrayData;
    private getVirtualXValues;
    private processChartSeries;
    private getAxisFormat;
    private focusChartRange;
    private clearBorder;
    private initiateChartHandler;
    private isDateTimeNegativeValue;
    deleteChart(args: {
        id: string;
        range?: string;
        isUndoRedo?: boolean;
        clearAction?: boolean;
    }): void;
    private updateChartModel;
    private updateChartElement;
    private undoRedoForChartDesign;
    private chartDesignTabHandler;
    private switchRowColumn;
    private switchChartTheme;
    private getThemeBgColor;
    private switchChartType;
    private getChartElement;
    private getChartCollectionId;
    private changeCharType;
    private titleDlgHandler;
    private titleDlgContent;
    /**
     * Removing event listener for success and failure
     *
     * @returns {void} - Removing event listener for success and failure
     */
    private removeEventListener;
    /**
     * To Remove the event listeners.
     *
     * @returns {void} - To Remove the event listeners.
     */
    destroy(): void;
    /**
     * Get the sheet chart module name.
     *
     * @returns {string} - Get the module name.
     */
    getModuleName(): string;
}
//node_modules/@syncfusion/ej2-spreadsheet/src/spreadsheet/common/util.d.ts
/**
 * The function used to update Dom using requestAnimationFrame.
 *
 * @param  {Function} fn - Function that contains the actual action
 * @param {Spreadsheet} context - Specify the spreadsheet.
 * @returns {void}
 * @hidden
 */
export  function getUpdateUsingRaf(fn: Function, context?: Spreadsheet): void;
/**
 * The function used to remove the dom element children.
 *
 * @param  {Element} parent - Specify the parent
 * @returns {void} - The function used to get colgroup width based on the row index.
 * @hidden
 */
export  function removeAllChildren(parent: Element): void;
/**
 * The function used to get colgroup width based on the row index.
 *
 * @param  {number} index - Specify the index
 * @returns {number} - The function used to get colgroup width based on the row index.
 * @hidden
 */
export  function getColGroupWidth(index: number): number;
/**
 * @hidden
 * @returns {number} - To get scrollbar width
 */
export  function getScrollBarWidth(): number;
/**
 * @hidden
 * @param {HTMLElement} element - Specify the element.
 * @param {string[]} classList - Specify the classList
 * @param {number} scaleY - Specify the scaleY value.
 * @returns {number} - get Siblings Height
 */
export  function getSiblingsHeight(element: HTMLElement, classList?: string[], scaleY?: number): number;
/**
 * @hidden
 * @param {Spreadsheet} context - Specify the spreadsheet.
 * @param {number[]} range - Specify the range.
 * @param {boolean} isModify - Specify the boolean value.
 * @returns {boolean} - Returns boolean value.
 */
export  function inView(context: Spreadsheet, range: number[], isModify?: boolean): boolean;
/**
 * To get the top left cell position in viewport.
 *
 * @hidden
 * @param {SheetModel} sheet - Specify the sheet.
 * @param {number[]} indexes - Specify the indexes.
 * @param {number} frozenRow - Specify the frozen row.
 * @param {number} frozenColumn - Specify the frozen column
 * @param {number} freezeScrollHeight - Specify the freeze scroll height
 * @param {number} freezeScrollWidth - Specify the freeze scroll width
 * @param {number} rowHdrWidth - Specify the row header width
 * @param {boolean} isOverlay - Specify the overlay.
 * @returns {number} - To get the top left cell position in viewport.
 */
export  function getCellPosition(sheet: SheetModel, indexes: number[], frozenRow?: number, frozenColumn?: number, freezeScrollHeight?: number, freezeScrollWidth?: number, rowHdrWidth?: number, isOverlay?: boolean): {
    top: number;
    left: number;
};
/**
 * @param {Spreadsheet} parent - Specify the parent
 * @param {HTMLElement} ele - Specify the element
 * @param {number[]} range - Specify the range
 * @param {string} cls - Specify the class name
 * @param {boolean} preventAnimation - Specify the preventAnimation.
 * @param {boolean} isMultiRange - Specify the multi range selection.
 * @param {boolean} removeCls - Specify to remove the class from selection.
 * @returns {void} - To set the position
 * @hidden
 */
export  function setPosition(parent: Spreadsheet, ele: HTMLElement, range: number[], cls?: string, preventAnimation?: boolean, isMultiRange?: boolean, removeCls?: boolean): Promise<null> | void;
/**
 * @param {Element} content - Specify the content element.
 * @param {HTMLElement} checkEle - Specify the element.
 * @param {string} cls - Specify the class name.
 * @param {string} isSelection - Specify the selection element.
 * @param {string} removeCls - Specify to remove class from element.
 * @returns {void} - remove element with given range
 */
export  function removeRangeEle(content: Element, checkEle: HTMLElement, cls: string, isSelection?: boolean, removeCls?: boolean): void;
/**
 * Position element with given range
 *
 * @hidden
 * @param {Spreadsheet} parent - Specify the parent.
 * @param {HTMLElement} ele - Specify the element.
 * @param {number[]} range - specify the range.
 * @param {SheetModel} sheet - Specify the sheet.
 * @param {boolean} isRtl - Specify the boolean value.
 * @param {number} frozenRow - Specidy the frozen row.
 * @param {number} frozenColumn - Specify the frozen column
 * @param {boolean} preventAnimation - Specify the preventAnimation.
 * @param {boolean} isActiveCell - Specidy the boolean value.
 * @param {number} freezeScrollHeight - Specify the freeze scroll height
 * @param {number} freezeScrollWidth - Specify the freeze scroll width
 * @param {number} rowHdrWidth - Specify the row header width
 * @param {number} cls - Specify the class
 * @param {number} isFillOptShow - Specify the fill option
 * @param {number} freezeFillOpt - Specifies the fill option
 * @param {number} freezeFillOpt.top - Specifies the fill option
 * @param {number} freezeFillOpt.left - Specifies the fill option
 * @returns {void} - Position element with given range
 */
export  function locateElem(parent: Spreadsheet, ele: HTMLElement, range: number[], sheet: SheetModel, isRtl: boolean, frozenRow: number, frozenColumn: number, preventAnimation?: boolean, isActiveCell?: boolean, freezeScrollHeight?: number, freezeScrollWidth?: number, rowHdrWidth?: number, cls?: string, isFillOptShow?: boolean, freezeFillOpt?: {
    top?: number;
    left?: number;
}): Promise<null> | void;
/**
 * To update element styles using request animation frame
 *
 * @hidden
 * @param {StyleType[]} styles - Specify the styles
 * @param {boolean} preventAnimation - Specify the preventAnimation.
 * @returns {void} - To update element styles using request animation frame
 */
export  function setStyleAttribute(styles: StyleType[], preventAnimation?: boolean): Promise<null>;
/**
 * @hidden
 * @returns {string} - to get Start Event
 */
export  function getStartEvent(): string;
/**
 * @hidden
 * @returns {string} - to get Move Event
 */
export  function getMoveEvent(): string;
/**
 * @hidden
 * @returns {string} - Returns string value.
 */
export  function getEndEvent(): string;
/**
 * @hidden
 * @param {Event} e - To specify the event.
 * @returns {boolean} - Returns boolean value.
 */
export  function isTouchStart(e: Event): boolean;
/**
 * @hidden
 * @param {Event} e - To specify the event.
 * @returns {boolean} - Returns boolean value.
 */
export  function isTouchMove(e: Event): boolean;
/**
 * @hidden
 * @param {Event} e - To specify the event.
 * @returns {boolean} - Returns boolean value.
 */
export  function isTouchEnd(e: Event): boolean;
/**
 * @hidden
 * @param {TouchEvent | MouseEvent} e - To specify the mouse and touch event.
 * @returns {number} - To get client value
 */
export  function isMouseDown(e: MouseEvent): boolean;
/**
 * @param {MouseEvent} e - Specify the event.
 * @returns {boolean} - To get boolean value.
 * @hidden
 */
export  function isMouseMove(e: MouseEvent): boolean;
/**
 * @param {MouseEvent} e - Specify the event.
 * @returns {boolean} - To get boolean value
 * @hidden
 */
export  function isMouseUp(e: MouseEvent): boolean;
/**
 * @param {number} keyCode - Specify  the keycode.
 * @returns {boolean} - to get boolean value.
 * @hidden
 */
export  function isNavigationKey(keyCode: number): boolean;
/**
 * @param {MouseEvent | TouchEvent} e - To specify the mouse or touch event.
 * @returns {number} - To get client X value.
 * @hidden
 */
export  function getClientX(e: TouchEvent & MouseEvent): number;
/**
 * @hidden
 * @param {MouseEvent | TouchEvent} e - To specify the mouse and touch event.
 * @returns {number} - To get client value
 */
export  function getClientY(e: MouseEvent & TouchEvent): number;
/**
 * To get the `pageX` value from the mouse or touch event.
 *
 * @param {MouseEvent | TouchEvent} e - Specifies the mouse or touch event.
 * @returns {number} - Return the `pageX` value.
 * @hidden
 */
export  function getPageX(e: TouchEvent & MouseEvent): number;
/**
 * To get the `pageY` value from the mouse or touch event.
 *
 * @param {MouseEvent | TouchEvent} e - Specifies the mouse or touch event.
 * @returns {number} - Return the `pageY` value.
 * @hidden
 */
export  function getPageY(e: MouseEvent & TouchEvent): number;
/**
 * Get even number based on device pixel ratio
 *
 * @param {number} value - Specify the number
 * @param {boolean} preventDecrease - Specify the boolean value
 * @returns {number} - To get DPR value
 * @hidden
 */
export  function getDPRValue(value: number, preventDecrease?: boolean): number;
/**
 * @hidden
 * @param {HTMLElement} target - specify the target.
 * @param {IAriaOptions<boolean>} options - Specify the options.
 * @returns {void} -  to set Aria Options
 */
export  function setAriaOptions(target: HTMLElement, options: IAriaOptions<boolean>): void;
/**
 * @hidden
 * @param {HTMLElement} element - specify the element.
 * @param {Object} component - Specify the component.
 * @returns {void} -  to destroy the component.
 */
export  function destroyComponent(element: HTMLElement, component: Object): void;
/**
 * @hidden
 * @param {number} idx - Specify the index
 * @param {number} index - Specify the index
 * @param {string} value - Specify the value.
 * @param {boolean} isCol - Specify the boolean value.
 * @param {Spreadsheet} parent - Specify the parent.
 * @returns {void} - To set resize.
 */
export  function setResize(idx: number, index: number, value: string, isCol: boolean, parent: Spreadsheet): void;
/**
 * @hidden
 * @param {HTMLElement} trgt - Specify the target element.
 * @param {number} value - specify the number.
 * @param {boolean} isCol - Specify the boolean vlaue.
 * @returns {void} -  to set width and height.
 */
export  function setWidthAndHeight(trgt: HTMLElement, value: number, isCol: boolean): void;
/**
 * @hidden
 * @param {number} lineHeight - Specify the line height for other culture text.
 * @returns {void} -  to set the line height for other culture text.
 */
export  function setTextLineHeight(lineHeight: number): void;
/**
 * @hidden
 * @param {HTMLElement} table - Specify the table.
 * @param {HTMLElement[]} text - specify the text.
 * @param {boolean} isCol - Specifyt boolean value
 * @param {Spreadsheet} parent - Specify the parent.
 * @param {string} prevData - specify the prevData.
 * @param {boolean} isWrap - Specifyt boolean value
 * @returns {number} - To find maximum value.
 */
export  function findMaxValue(table: HTMLElement, text: HTMLElement[], isCol: boolean, parent: Spreadsheet, prevData?: string, isWrap?: boolean): number;
/**
 * @hidden
 * @param {CollaborativeEditArgs} options - Specify the collaborative edit arguments.
 * @param {Spreadsheet} spreadsheet - specify the spreadsheet.
 * @param {boolean} isRedo - Specifyt the boolean value.
 * @param {CollaborativeEditArgs[]} undoCollections - Specify the undo collections.
 * @param {object} actionEventArgs - Specify the actionEventArgs.
 * @param {ActionEventArgs} actionEventArgs.eventArgs - Specify the eventArgs.
 * @param {boolean} isRecursive - Specify the recursive.
 * @returns {void} - To update the Action.
 */
export  function updateAction(options: CollaborativeEditArgs, spreadsheet: Spreadsheet, isRedo?: boolean, undoCollections?: CollaborativeEditArgs[], actionEventArgs?: ActionEventArgs, isRecursive?: boolean): void;
/**
 * @hidden
 * @param {Workbook} workbook - Specify the workbook
 * @param {number} rowIdx - specify the roe index
 * @param {number} colIdx - specify the column Index.
 * @param {number} sheetIdx - specify the sheet index.
 * @returns {boolean} - Returns the boolean value.
 */
export  function hasTemplate(workbook: Workbook, rowIdx: number, colIdx: number, sheetIdx: number): boolean;
/**
 * Setting row height in view an model.
 *
 * @hidden
 * @param {Spreadsheet} parent - Specify the parent
 * @param {SheetModel} sheet - specify the column width
 * @param {number} height - specify the style.
 * @param {number} rowIdx - specify the rowIdx
 * @param {HTMLElement} row - specify the row
 * @param {HTMLElement} hRow - specify the hRow.
 * @param {boolean} notifyRowHgtChange - specify boolean value.
 * @param {boolean} outsideViewport - Specify whether the row is outside the viewport.
 * @returns {void} - Setting row height in view an model.
 */
export  function setRowEleHeight(parent: Spreadsheet, sheet: SheetModel, height: number, rowIdx: number, row?: HTMLElement, hRow?: HTMLElement, notifyRowHgtChange?: boolean, outsideViewport?: boolean): void;
/**
 * @hidden
 * @param {Workbook} context - Specify the context
 * @param {CellStyleModel} style - specify the style.
 * @param {number} lines - specify the lines
 * @param {number} lineHeight - Specify the line height.
 * @returns {number} - get Text Height
 */
export  function getTextHeight(context: Workbook, style: CellStyleModel, lines?: number, lineHeight?: number): number;
/**
 * @hidden
 * @param {CellStyleModel} style - cell style
 * @returns {number} - returns line height
 */
export  function getLineHeight(style: CellStyleModel): number;
/**
 * @hidden
 * @param {string} text - Specify the text
 * @param {CellStyleModel} style - specify the style.
 * @param {CellStyleModel} parentStyle - specify the parentStyle
 * @param  {boolean} preventDpr - specify the preventDpr.
 * @returns {number} - get Text Width
 */
export  function getTextWidth(text: string, style: CellStyleModel, parentStyle: CellStyleModel, preventDpr?: boolean): number;
/**
 * @hidden
 * @param {string} text - Specify the text
 * @param {number} colwidth - specify the column width
 * @param {CellStyleModel} style - specify the style.
 * @param {CellStyleModel} parentStyle - specify the parentStyle
 * @returns {number} - Setting maximum height while doing formats and wraptext
 */
export  function getLines(text: string, colwidth: number, style: CellStyleModel, parentStyle: CellStyleModel): number;
/**
 * calculation for width taken by border inside a cell
 *
 * @param {number} rowIdx - Specify the row index.
 * @param {number} colIdx - Specify the column index.
 * @param {SheetModel} sheet - Specify the sheet.
 * @returns {number} - get border width.
 * @hidden
 */
export  function getBorderWidth(rowIdx: number, colIdx: number, sheet: SheetModel): number;
/**
 * calculation for height taken by border inside a cell
 *
 * @param {number} rowIdx - Specify the row index.
 * @param {number} colIdx - Specify the column index.
 * @param {SheetModel} sheet - Specify the sheet.
 * @returns {number} - get border height.
 * @hidden
 */
export  function getBorderHeight(rowIdx: number, colIdx: number, sheet: SheetModel): number;
/**
 * Calculating column width by excluding cell padding and border width
 *
 * @param {SheetModel} sheet - Specify the sheet
 * @param {number} rowIdx - Specify the row index.
 * @param {number} startColIdx - Specify the start column index.
 * @param {number} endColIdx - Specify the end column index.
 * @returns {number} - get excluded column width.
 * @hidden
 */
export  function getExcludedColumnWidth(sheet: SheetModel, rowIdx: number, startColIdx: number, endColIdx?: number): number;
/**
 * @param {Workbook} context - Specify the Workbook.
 * @param {number} rowIdx - Specify the row index.
 * @param {number} colIdx - Specify the column index.
 * @param {SheetModel} sheet - Specify the sheet.
 * @param {CellStyleModel} style - Specify the style.
 * @param {number} lines - Specify the lines.
 * @param {number} lineHeight - Specify the line height.
 * @returns {number} - get text height with border.
 * @hidden
 */
export  function getTextHeightWithBorder(context: Workbook, rowIdx: number, colIdx: number, sheet: SheetModel, style: CellStyleModel, lines?: number, lineHeight?: number): number;
/**
 * Setting maximum height while doing formats and wraptext
 *
 * @hidden
 * @param {SheetModel} sheet - Specify the sheet
 * @param {number} rIdx - specify the row Index
 * @param {number} cIdx - specify the column Index.
 * @param {number} hgt - specify the hgt
 * @returns {void} - Setting maximum height while doing formats and wraptext
 */
export  function setMaxHgt(sheet: SheetModel, rIdx: number, cIdx: number, hgt: number): void;
/**
 * Getting maximum height by comparing each cell's modified height.
 *
 * @hidden
 * @param {SheetModel} sheet - Specify the sheet.
 * @param {number} rIdx - Specify the row index.
 * @returns {number} - Getting maximum height by comparing each cell's modified height.
 */
export  function getMaxHgt(sheet: SheetModel, rIdx: number): number;
/**
 * @hidden
 * @param {HTMLElement} ele - Specify the element.
 * @returns {void} - Specify the focus.
 */
export  function focus(ele: HTMLElement): void;
/**
 * Checks whether a specific range of cells is locked or not.
 *
 * @param {Spreadsheet} parent - Specify the spreadsheet.
 * @param {number[]} rangeIndexes - Specify the range indexes.
 * @returns {boolean} - Returns true if any of the cells is locked and returns false if none of the cells is locked.
 * @hidden
 */
export  function isLockedCells(parent: Spreadsheet, rangeIndexes?: number[]): boolean;
/**
 * Checks whether the range is discontinuous or not.
 *
 * @param {string} range - Specify the sheet
 * @returns {boolean} - Returns true if the range is discontinuous range.
 * @hidden
 */
export  function isDiscontinuousRange(range: string): boolean;
/**
 * @hidden
 * @param {Spreadsheet} context - Specifies the context.
 * @param {number[]} range - Specifies the address range.
 * @param {number} sheetIdx - Specifies the sheetIdx.
 * @returns {void} - To clear the range.
 */
export  function clearRange(context: Spreadsheet, range: number[], sheetIdx: number): void;
/**
 * @param {Spreadsheet} parent - Specifies the spreadsheet instance.
 * @param {number} top - Specifies the top.
 * @returns {number} - It returns bottom offset.
 * @hidden
 */
export  function getBottomOffset(parent: Spreadsheet, top: number): {
    index: number;
    height: number;
};
/**
 * @param {Spreadsheet} parent - Specifies the spreadsheet instance.
 * @param {number} left - Specifies the left.
 * @returns {number} -It returns right index using given left value.
 * @hidden
 */
export  function getRightIdx(parent: Spreadsheet, left: number): number;
/**
 * @param {Spreadsheet} spreadsheet - Specifies the spreadsheet instance.
 * @param {number} minWidth - Specifies the minimum width.
 * @returns {void}
 * @hidden
 */
export  function setColMinWidth(spreadsheet: Spreadsheet, minWidth: number): void;
/**
 * @param {Spreadsheet} context - Specifies the spreadsheet instance.
 * @param {string[]} keys - Specifies key array.
 * @returns {string} - It returns sheet property of the given key and context.
 * @hidden
 */
export  function getSheetProperties(context: Spreadsheet, keys?: string[]): string;
/**
 * Returns the row indexes and column indexes of the charts in the active sheet
 *
 * @param {Spreadsheet} context - Specifies the Spreadsheet instance.
 * @returns { {chart: ChartModel, chartRowIdx: number, chartColIdx: number}[] } - Returns the row indexes and column indexes of the charts in the active sheet
 * @hidden
 */
export  function getChartsIndexes(context?: Spreadsheet): {
    chart: ChartModel;
    chartRowIdx: number;
    chartColIdx: number;
}[];
/**
 * Checks if the given range string represents a valid column range.
 *
 * @param {string} range - The range string to validate.
 * @returns {boolean} - Returns `true` if the range is a valid column range, otherwise `false`.
 * @hidden
 */
export  function isColumnRange(range: string): boolean;
/**
 * Checks if the given range string represents a valid row range.
 *
 * @param {string} range - The range string to validate.
 * @returns {boolean} - Returns `true` if the range is a valid row range, otherwise `false`.
 * @hidden
 */
export  function isRowRange(range: string): boolean;
/**
 * Sets the standard height for a specified sheet in a spreadsheet.
 *
 * @param {Spreadsheet} context - The spreadsheet instance.
 * @param {number} sheetIndex - The index of the sheet to set the standard height.
 * @param {number} standardHeight - The standard height to set for the sheet.
 * @returns {void}
 * @hidden
 */
export  function setStandardHeight(context: Spreadsheet, sheetIndex: number, standardHeight: number): void;
/**
 * Retrieves the standard height of a specific sheet in the spreadsheet.
 *
 * @param {Spreadsheet} context - The spreadsheet instance.
 * @param {number} sheetIndex - The index of the sheet to retrieve the standard height.
 * @returns {number} - The standard height of the specified sheet.
 * @hidden
 */
export  function getStandardHeight(context: Spreadsheet, sheetIndex: number): number;
/**
 * Removes the specified elements from the DOM.
 *
 * @param {HTMLElement[]} elements - An array of HTML elements that need to be removed from the DOM.
 * @returns {void}
 * @hidden
 */
export  function removeElements(elements: HTMLElement[]): void;
//node_modules/@syncfusion/ej2-spreadsheet/src/spreadsheet/common/module.d.ts
/**
 * To get Spreadsheet required modules.
 *
 * @hidden
 * @param {Spreadsheet} context - To get Spreadsheet required modules.
 * @returns {base.ModuleDeclaration[]} - To get Spreadsheet required modules.
 */
export  function getRequiredModules(context: Spreadsheet): base.ModuleDeclaration[];
//node_modules/@syncfusion/ej2-spreadsheet/src/spreadsheet/common/interface.d.ts
/**
 * Interface for renderer module
 *
 * @hidden
 */
export interface IRenderer {
    colGroupWidth: number;
    contentPanel: HTMLElement;
    renderPanel(): void;
    getRowHeaderPanel(): Element;
    getColHeaderPanel(): Element;
    getContentPanel(): HTMLElement;
    getSelectAllContent(): HTMLElement;
    getScrollElement(): HTMLElement;
    getSelectAllTable(): HTMLTableElement;
    getContentTable(): HTMLTableElement;
    getColHeaderTable(): HTMLTableElement;
    getRowHeaderTable(): HTMLTableElement;
    renderTable(args: SheetRenderArgs): void;
    refreshRowContent(args: SheetRenderArgs): void;
    refreshColumnContent(args: SheetRenderArgs): void;
    updateRowContent(args: SheetRenderArgs): void;
    updateColContent(args: SheetRenderArgs): void;
    updateCol(sheet: SheetModel, idx: number, appendTo?: Node): Element;
    showHideHeaders(): void;
    getRowHeaderWidth(sheet: SheetModel, skipFreezeCheck?: boolean, addScaling?: boolean): number;
    getColHeaderHeight(sheet: SheetModel, skipHeader?: boolean): number;
    setPanelWidth(sheet: SheetModel, rowHdr: HTMLElement, isRtlChange?: boolean): void;
    getScrollSize(addOffset?: boolean): number;
    rowHeightChanged(args: {
        rowIdx: number;
        isHideShow?: boolean;
    }): void;
    colWidthChanged(args: {
        colIdx: number;
        isHideShow?: boolean;
    }): void;
    toggleGridlines(): void;
    destroy(): void;
}
/** @hidden */
export interface SheetRenderArgs {
    cells: Map<string, CellModel>;
    indexes: number[];
    direction?: string;
    skipUpdateOnFirst?: boolean;
    top?: number;
    left?: number;
    initLoad?: boolean;
    prevRowColCnt?: SheetModel;
    isRefreshing?: boolean;
    insertDelete?: boolean;
    isOpen?: boolean;
    openOptions?: JsonData;
}
/** @hidden */
export interface FilterInfoArgs {
    sheetIdx: number;
    hasFilter?: boolean;
    filterRange?: number[];
    col?: number[];
    criteria?: string[];
    allowHeaderFilter?: boolean;
    isFiltered?: boolean;
}
/**
 * CellRender EventArgs
 */
export interface CellRenderEventArgs extends CellInfoEventArgs {
    /** Defines the cell element. */
    element: HTMLElement;
    needHeightCheck?: boolean;
}
export interface StyleType {
    element: Element;
    attrs: {
        [key: string]: Object;
    };
}
/**
 * @hidden
 */
export interface FormulaBarEdit {
    isEdit: boolean;
}
/**
 * @hidden
 */
export interface IViewport {
    rowCount: number;
    colCount: number;
    topIndex: number;
    bottomIndex: number;
    leftIndex: number;
    rightIndex: number;
    height: number;
    width: number;
    beforeFreezeWidth: number;
    beforeFreezeHeight: number;
    scaleX: number;
    scaleY: number;
}
/**
 * @hidden
 */
export interface IOffset {
    idx: number;
    size: number;
}
/**
 * @hidden
 */
export interface IScrollArgs {
    cur: IOffset;
    prev: IOffset;
    increase: boolean;
    preventScroll: boolean;
}
/**
 * @hidden
 */
export interface IRowRenderer {
    render(index?: number, isRowHeader?: boolean, preventHiddenCls?: boolean): Element;
    refresh(index: number, pRow: Element, hRow?: Element, header?: boolean, preventHiddenCls?: boolean): Element;
}
/**
 * @hidden
 */
export interface ICellRenderer {
    renderColHeader(index: number, row: Element, refChild?: Element): void;
    renderRowHeader(index: number, row: Element, refChild?: Element): void;
    render(args: CellRenderArgs): Element;
    refreshRange(range: number[], refreshing?: boolean, checkWrap?: boolean, checkHeight?: boolean, checkCF?: boolean, skipFormatCheck?: boolean, checkFormulaAdded?: boolean, isFromAutoFillOption?: boolean, isHeightCheckNeeded?: boolean, isSortAction?: boolean, isSelectAll?: boolean, cells?: PreviousCellDetails[]): void;
    refresh(rowIdx: number, colIdx: number, lastCell?: boolean, element?: Element, checkCF?: boolean, checkWrap?: boolean, skipFormatCheck?: boolean): void;
}
/**
 * @hidden
 */
export interface RefreshArgs {
    rowIndex?: number;
    colIndex?: number;
    direction?: string;
    top?: number;
    left?: number;
    refresh: RefreshType;
    skipUpdateOnFirst?: boolean;
    frozenIndexes?: number[];
    skipTranslate?: boolean;
    insertDelete?: boolean;
}
/**
 * OpenOptions
 */
export interface OpenOptions {
    /** Defines the file. */
    file?: FileList | string | File;
    /** Defines the password. */
    password?: string;
    /** Defines the sheet password. */
    sheetPassword?: string;
    /** Defines the sheetIndex. */
    sheetIndex?: number;
}
/** @hidden */
export interface OpenArgs extends OpenOptions {
    guid?: string;
    orginalFile?: File;
    triggerEvent?: boolean;
    jsonObject?: string;
}
/** @hidden */
export interface JsonData {
    data: string;
    eventArgs: OpenArgs;
    isOpenFromJson: boolean;
    guid?: string;
    context: WorkbookOpen;
}
/**
 * BeforeOpenEventArgs
 */
export interface BeforeOpenEventArgs {
    /** Defines the file. */
    file: FileList | string | File;
    /** Defines the cancel option. */
    cancel: boolean;
    /** Defines the request data. */
    requestData: object;
    /** Defines the password. */
    password?: string;
}
export interface DialogBeforeOpenEventArgs {
    /**
     * Defines whether the current action can be prevented.
     */
    cancel: boolean;
    /**
     * Returns the element of the dialog.
     */
    element: Element;
    /**
     * Returns the target element of the dialog.
     */
    target: HTMLElement | string;
    /**
     * Returns the name of the dialog.
     */
    dialogName: string;
    /**
     * Defines the value that can be displayed in dialog’s content area, you can override it with your own custom message.
     */
    content?: string;
    /**
     * Defines the cell address.
     */
    cellAddress?: string;
}
/**
 * MenuSelectEventArgs
 */
export interface MenuSelectEventArgs extends navigations.MenuEventArgs {
    /** Defines the cancel option. */
    cancel: boolean;
}
/**
 * OpenFailureArgs
 */
export interface OpenFailureArgs {
    /** Defines the status. */
    status: string;
    /** Defines the status text. */
    statusText: string;
    /** Defines the stack. */
    stack?: string;
    /** Defines the message. */
    message?: string;
}
/**
 * BeforeSelectEventArgs
 */
export interface BeforeSelectEventArgs extends base.BaseEventArgs {
    range: string;
    cancel: boolean;
}
/**
 * SelectEventArgs
 */
export interface SelectEventArgs extends base.BaseEventArgs {
    range: string;
}
/** @hidden */
export interface CellRenderArgs {
    colIdx: number;
    rowIdx?: number;
    cell?: CellModel;
    address?: string;
    lastCell?: boolean;
    row?: HTMLElement;
    hRow?: HTMLElement;
    pRow?: HTMLElement;
    pHRow?: HTMLElement;
    isHeightCheckNeeded?: boolean;
    checkNextBorder?: string;
    first?: string;
    isRefresh?: boolean;
    td?: HTMLTableCellElement;
    manualUpdate?: boolean;
    isRow?: boolean;
    isFreezePane?: boolean;
    insideFreezePane?: boolean;
    isRefreshing?: boolean;
    sheetIndex?: number;
    onActionUpdate?: boolean;
    refChild?: Element;
    formulaRefresh?: boolean;
    checkCF?: boolean;
    skipFormatCheck?: boolean;
    isDependentRefresh?: boolean;
    isMerged?: boolean;
    colSpan?: number;
    rowSpan?: number;
    isRandomFormula?: boolean;
    style?: CellStyleModel;
    validation?: ValidationModel;
    isFromAutoFillOption?: boolean;
    fillType?: string;
    isSortAction?: boolean;
    action?: string;
    isSelectAll?: boolean;
    rowHeight?: number;
    col?: ColumnModel;
    mergeBorderRows?: number[];
}
/** @hidden */
export interface IAriaOptions<T> {
    role?: string;
    selected?: T;
    multiselectable?: T;
    busy?: T;
    colcount?: string;
}
/**
 * CellEditEventArgs
 */
export interface CellEditEventArgs {
    /** Defines the value. */
    value: string;
    /** Defines the old value. */
    oldValue: string;
    /** Defines the display text of the cell */
    displayText: string;
    /** Defines the element. */
    element: HTMLElement;
    /** Defines the address. */
    address: string;
    /** Defines the cancel option. */
    cancel: boolean;
    /** Apply the number format and display the formatted value in the editor. */
    showFormattedText?: boolean;
}
/**
 * CellSaveEventArgs
 */
export interface CellSaveEventArgs {
    /** Defines the value. */
    value: string;
    /** Defines the old value. */
    oldValue: string;
    /** Defines the element. */
    element: HTMLElement;
    /** Defines the address. */
    address: string;
    /** Defines the formula. */
    formula?: string;
    /** Defines the display text of the cell */
    displayText?: string;
    /** Defines the type of Event. */
    originalEvent?: MouseEvent & TouchEvent | base.KeyboardEventArgs;
    isSpill?: boolean;
    /**
     * Defines the old display text value.
     * > Only applicable for Manual calculation
     */
    previousFormulaValue?: string | number;
    /** @hidden */
    format?: string;
}
/**
 * NoteSaveEventArgs
 */
export interface NoteSaveEventArgs {
    /** Defines the note text. */
    notes: string;
    /** Defines the address. */
    address: string;
    /** Defines the type of Event. */
    originalEvent?: MouseEvent & TouchEvent | base.KeyboardEventArgs;
}
/**
 * CellSaveEventArgs
 */
export interface ConditionalFormatEventArgs {
    /** Defines the applied conditional format. */
    conditionalFormat: ConditionalFormatModel;
    /** Defines the cell element. */
    element: HTMLElement;
    /** Defines the cell model */
    cell: CellModel;
    /** Defines the address. */
    address: string;
    /** Defines whether the formatting is applied to a cell or not. */
    apply: boolean;
}
/** @hidden */
export interface CollaborativeEditArgs {
    action: string;
    eventArgs: UndoRedoEventArgs;
    cancel?: boolean;
    isClearAction?: boolean;
}
/** @hidden */
export interface HideShowEventArgs {
    hide: boolean;
    startIndex: number;
    endIndex: number;
    autoFit?: boolean;
    hdrRow?: HTMLElement;
    row?: HTMLElement;
    insertIdx?: number;
    skipAppend?: boolean;
    isCol?: boolean;
    actionUpdate?: boolean;
    mergeCollection?: MergeArgs[];
    isFiltering?: true;
    cancel?: boolean;
    freezePane?: boolean;
    isUndo?: boolean;
    isRedo?: boolean;
    refreshUI?: boolean;
    sheetIndex?: number;
    hiddenIndexes?: number[];
}
/** @hidden */
export interface UndoRedoEventArgs extends CellSaveEventArgs, BeforeSortEventArgs, BeforePasteEventArgs, WrapEventArgs, InsertDeleteEventArgs {
    requestType: string;
    beforeActionData: BeforeActionData;
    sheetIndex?: number;
    oldWidth?: string;
    oldHeight?: string;
    notes?: string;
    isCol?: boolean;
    hide?: boolean;
    index?: number;
    width?: string;
    height?: string;
    merge?: boolean;
    mergeCollection?: MergeArgs[];
    id?: string;
    imageData?: string;
    imageHeight?: number;
    imageWidth?: number;
    prevHeight?: number;
    prevWidth?: number;
    currentHeight?: number;
    currentWidth?: number;
    prevLeft?: number;
    prevTop?: number;
    currentLeft?: number;
    currentTop?: number;
    prevRowIdx?: number;
    prevColIdx?: number;
    currentRowIdx?: number;
    currentColIdx?: number;
    isUndoRedo?: boolean;
    pasteSheetIndex: number;
    pastedPictureElement: HTMLElement;
    fillRange?: string;
    dataRange?: string;
    direction?: AutoFillDirection;
    fillType?: AutoFillType;
    selectedRange?: string;
    cFColor?: CFColor;
    sheetIdx?: number;
    validation?: CellValidationEventArgs;
    previousSort?: SortCollectionModel;
    conditionalFormats: ConditionalFormatModel[];
    /** Specifies the previous sorted cells. */
    cellDetails?: PreviousCellDetails[];
    /** Specifies the sorted cells. */
    sortedCellDetails?: object[];
    cfClearActionArgs?: object;
    cfActionArgs?: {
        cfModel: ConditionalFormatModel[];
        sheetIdx: number;
    };
    isColSelected?: boolean;
    style?: CellStyleModel;
}
export interface BeforeActionData {
    cellDetails: PreviousCellDetails[];
    cutCellDetails?: PreviousCellDetails[];
}
export interface BeforeImageData {
    imageHeight?: number;
    imageWidth?: number;
    imageLeft?: number;
    imageTop?: number;
    imageData?: string;
    requestType: string;
    range?: string;
    cancel?: boolean;
    id?: string;
    sheetIndex?: number;
}
export interface BeforeImageRefreshData {
    prevHeight?: number;
    prevWidth?: number;
    currentHeight?: number;
    currentWidth?: number;
    prevLeft?: number;
    prevTop?: number;
    currentLeft?: number;
    currentTop?: number;
    requestType: string;
    prevRowIdx?: number;
    prevColIdx?: number;
    currentRowIdx?: number;
    currentColIdx?: number;
    id?: string;
    sheetIdx?: number;
    isUndoRedo?: boolean;
}
export interface PreviousCellDetails {
    rowIndex?: number;
    colIndex?: number;
    style?: object;
    format?: string;
    value?: string;
    notes?: string;
    formula?: string;
    wrap?: boolean;
    rowSpan?: number;
    colSpan?: number;
    hyperlink?: string | HyperlinkModel;
    image?: ImageModel[];
    chart?: ChartModel[];
    isLocked?: boolean;
    validation?: CellValidationEventArgs;
    isReadOnly?: boolean;
    formattedText?: string;
    copyCellValue?: string | number;
    autoFillText?: string | number;
    rowHeight?: number;
}
export interface BeforePasteEventArgs {
    cancel?: boolean;
    copiedInfo: {
        [key: string]: Object;
    };
    copiedShapeInfo?: {
        [key: string]: Object;
    };
    copiedRange: string;
    pastedRange: string;
    requestType: string;
    type: string;
    BeforeActionData?: BeforeActionData;
}
export interface BeforeWrapEventArgs {
    address: string;
    wrap: boolean;
    cancel: boolean;
}
export interface WrapEventArgs {
    address: string;
    wrap: boolean;
    action: string;
}
/**
 * CellValidationEventArgs
 *
 * @hidden
 */
export interface CellValidationEventArgs {
    range?: string;
    type?: ValidationType;
    operator?: ValidationOperator;
    value1?: string;
    value2?: string;
    ignoreBlank?: boolean;
    inCellDropDown?: boolean;
    cancel?: boolean;
}
/**
 * BeforeChartEventArgs
 *
 * @hidden
 */
export interface BeforeChartEventArgs {
    type?: ChartType;
    theme?: ChartTheme;
    isSeriesInRows?: boolean;
    markerSettings?: MarkerSettingsModel;
    dataLabelSettings?: DataLabelSettingsModel;
    title?: string;
    legendSettings?: LegendSettingsModel;
    primaryXAxis?: AxisModel;
    primaryYAxis?: AxisModel;
    range?: string;
    id?: string;
    height?: number;
    width?: number;
    top?: number;
    left?: number;
    posRange?: string;
    isInitCell?: boolean;
    cancel: boolean;
}
/** @hidden */
export interface ScrollEventArgs {
    scrollTop?: number;
    scrollLeft?: number;
    preventScroll?: boolean;
    skipHidden?: boolean;
    skipRowVirualScroll?: boolean;
    skipColVirualScroll?: boolean;
}
/**
 * Interface for AutoFillEventArgs.
 */
export interface AutoFillEventArgs {
    /** Defines the range of the data which is used to perform autofill. */
    dataRange: string;
    /** Defines the range in which autofill will be performed. */
    fillRange: string;
    /** Defines the autofill performing direction. */
    direction: AutoFillDirection;
    /** Defines the fill type options. */
    fillType: AutoFillType;
    /** Set `true` if autofill needs to be cancel in `actionBegin` event. By default, it will be `false`. */
    cancel?: boolean;
}
/** @hidden */
export interface duplicateSheetOption {
    sheetIndex: number;
    newSheetIndex: number;
}
/** @hidden */
export interface FilterCheckboxArgs {
    element: Element;
    isCheckboxFilterTemplate: boolean;
    column: {
        field: string;
    };
    dataSource: {
        [key: string]: Object;
    }[];
    btnObj: {
        element: HTMLElement;
    };
    type: string;
}
/** @hidden */
export interface BeforeActionDataInternal extends BeforeActionData {
    /** Specifies the sorted cells. */
    sortedCellDetails?: object[];
}
/** @hidden */
export interface FillRangeInfo {
    startCell?: {
        colIndex: number;
        rowIndex: number;
    };
    endCell?: {
        colIndex: number;
        rowIndex: number;
    };
    fillRange?: number[];
    direction?: AutoFillDirection;
}
/**
 * Cell model and its count details on external copy/paste.
 *
 * @hidden
 */
export interface PasteModelArgs {
    model?: RowModel[];
    usedRowIndex?: number;
    usedColIndex?: number;
    colCount?: number;
    rowCount?: number;
    selection?: string;
}
/**
 * @hidden
 */
export interface ExtendedPredicateModel extends grids.PredicateModel {
    isFilterByMenu?: boolean;
}
/**
 * @hidden
 */
export interface ExtendedSpreadsheet extends Spreadsheet {
    renderTemplates?: (callback: Function) => void;
    filterModule?: {
        filterRange: Map<number, {
            range: number[];
        }>;
    };
}
//node_modules/@syncfusion/ej2-spreadsheet/src/spreadsheet/common/event.d.ts
/**
 * Specifies spreadsheet internal events
 */
/** @hidden */
export  const ribbon: string;
/** @hidden */
export  const formulaBar: string;
/** @hidden */
export  const sheetTabs: string;
/** @hidden */
export  const refreshSheetTabs: string;
/** @hidden */
export  const isFormulaBarEdit: string;
/** @hidden */
export  const contentLoaded: string;
/** @hidden */
export  const mouseDown: string;
/** @hidden */
export  const spreadsheetDestroyed: string;
/** @hidden */
export  const editOperation: string;
/** @hidden */
export  const formulaOperation: string;
/** @hidden */
export  const formulaBarOperation: string;
/** @hidden */
export  const click: string;
/** @hidden */
export  const keyUp: string;
/** @hidden */
export  const keyDown: string;
/** @hidden */
export  const formulaKeyUp: string;
/** @hidden */
export  const formulaBarUpdate: string;
/** @hidden */
export  const onVerticalScroll: string;
/** @hidden */
export  const onHorizontalScroll: string;
/** @hidden */
export  const focusRenameInput: string;
/** @hidden */
export  const beforeContentLoaded: string;
/** @hidden */
export  const beforeVirtualContentLoaded: string;
/** @hidden */
export  const virtualContentLoaded: string;
/** @hidden */
export  const contextMenuOpen: string;
/** @hidden */
export  const cellNavigate: string;
/** @hidden */
export  const mouseUpAfterSelection: string;
/** @hidden */
export  const cMenuBeforeOpen: string;
/** @hidden */
export  const insertSheetTab: string;
/** @hidden */
export  const removeSheetTab: string;
/** @hidden */
export  const renameSheetTab: string;
/** @hidden */
export  const ribbonClick: string;
/** @hidden */
export  const refreshRibbon: string;
/** @hidden */
export  const enableToolbarItems: string;
/** @hidden */
export  const tabSwitch: string;
/** @hidden */
export  const selectRange: string;
/** @hidden */
export  const rangeSelectionByKeydown: string;
/** @hidden */
export  const cut: string;
/** @hidden */
export  const copy: string;
/** @hidden */
export  const paste: string;
/** @hidden */
export  const clearCopy: string;
/** @hidden */
export  const dataBound: string;
/** @hidden */
export  const beforeDataBound: string;
/** @hidden */
export  const addContextMenuItems: string;
/** @hidden */
export  const removeContextMenuItems: string;
/** @hidden */
export  const enableContextMenuItems: string;
/** @hidden */
export  const enableFileMenuItems: string;
/** @hidden */
export  const hideFileMenuItems: string;
/** @hidden */
export  const addFileMenuItems: string;
/** @hidden */
export  const hideRibbonTabs: string;
/** @hidden */
export  const enableRibbonTabs: string;
/** @hidden */
export  const addRibbonTabs: string;
/** @hidden */
export  const addToolbarItems: string;
/** @hidden */
export  const hideToolbarItems: string;
/** @hidden */
export  const beforeRibbonCreate: string;
/** @hidden */
export  const rowHeightChanged: string;
/** @hidden */
export  const colWidthChanged: string;
/** @hidden */
export  const onContentScroll: string;
/** @hidden */
export  const deInitProperties: string;
/** @hidden */
export  const activeSheetChanged: string;
/** @hidden */
export  const initiateCustomSort: string;
/** @hidden */
export  const applySort: string;
/** @hidden */
export  const collaborativeUpdate: string;
/** @hidden */
export  const autoFit: string;
/** @hidden */
export  const refreshFilterCellsOnResize: string;
/** @hidden */
export  const updateToggleItem: string;
/** @hidden */
export  const initiateHyperlink: string;
/** @hidden */
export  const editHyperlink: string;
/** @hidden */
export  const openHyperlink: string;
/** @hidden */
export  const addNote: string;
/** @hidden */
export  const editNote: string;
/** @hidden */
export  const deleteNote: string;
/** @hidden */
export  const showNote: string;
/** @hidden */
export  const createNoteIndicator: string;
/** @hidden */
export  const updateNoteContainer: string;
/** @hidden */
export  const removeNoteContainer: string;
/** @hidden */
export  const removeHyperlink: string;
/** @hidden */
export  const createHyperlinkElement: string;
/** @hidden */
export  const sheetNameUpdate: string;
/** @hidden */
export  const hideSheet: string;
/** @hidden */
export  const performUndoRedo: string;
/** @hidden */
export  const updateUndoRedoCollection: string;
/** @hidden */
export  const setActionData: string;
/** @hidden */
export  const getBeforeActionData: string;
/** @hidden */
export  const clearUndoRedoCollection: string;
/** @hidden */
export  const initiateFilterUI: string;
/** @hidden */
export  const renderFilterCell: string;
/** @hidden */
export  const refreshFilterRange: string;
/** @hidden */
export  const reapplyFilter: string;
/** @hidden */
export  const filterByCellValue: string;
/** @hidden */
export  const clearFilter: string;
/** @hidden */
export  const getFilteredColumn: string;
/** @hidden */
export  const completeAction: string;
/** @hidden */
export  const filterCellKeyDown: string;
/** @hidden */
export  const getFilterRange: string;
/** @hidden */
export  const setAutoFit: string;
/** @hidden */
export  const refreshFormulaDatasource: string;
/** @hidden */
export  const initiateDataValidation: string;
/** @hidden */
export  const validationError: string;
/** @hidden */
export  const startEdit: string;
/** @hidden */
export  const invalidData: string;
/** @hidden */
export  const clearInvalid: string;
/** @hidden */
export  const protectSheet: string;
/** @hidden */
export  const applyProtect: string;
/** @hidden */
export  const unprotectSheet: string;
/** @hidden */
export  const protectCellFormat: string;
/** @hidden */
export  const gotoDlg: string;
/** @hidden */
export  const findDlg: string;
/** @hidden */
export  const findHandler: string;
/** @hidden */
export  const created: string;
/** @hidden */
export  const spreadsheetCreated: string;
/** @hidden */
export  const editAlert: string;
/** @hidden */
export  const readonlyAlert: string;
/** @hidden */
export  const finiteAlert: string;
/** @hidden */
export  const setUndoRedo: string;
/** @hidden */
export  const enableFormulaInput: string;
/** @hidden */
export  const protectSelection: string;
/** @hidden */
export  const hiddenMerge: string;
/** @hidden */
export  const checkPrevMerge: string;
/** @hidden */
export  const checkMerge: string;
/** @hidden */
export  const removeDataValidation: string;
/** @hidden */
export  const showAggregate: string;
/** @hidden */
export  const goToSheet: string;
/** @hidden */
export  const showSheet: string;
/** @hidden */
export  const renderCFDlg: string;
/** @hidden */
export  const clearViewer: string;
/** @hidden */
export  const initiateFormulaReference: string;
/** @hidden */
export  const initiateCur: string;
/** @hidden */
export  const clearCellRef: string;
/** @hidden */
export  const editValue: string;
/** @hidden */
export  const addressHandle: string;
/** @hidden */
export  const initiateEdit: string;
/** @hidden */
export  const forRefSelRender: string;
/** @hidden */
export  const insertImage: string;
/** @hidden */
export  const refreshOverlayElem: string;
/** @hidden */
export  const refreshImgCellObj: string;
/** @hidden */
export  const getRowIdxFromClientY: string;
/** @hidden */
export  const getColIdxFromClientX: string;
/** @hidden */
export  const createImageElement: string;
/** @hidden */
export  const deleteImage: string;
/** @hidden */
export  const deleteChart: string;
/** @hidden */
export  const refreshChartCellObj: string;
/** @hidden */
export  const refreshChartCellModel: string;
/** @hidden */
export  const refreshImagePosition: string;
/** @hidden */
export  const updateTableWidth: string;
/** @hidden */
export  const focusBorder: string;
/** @hidden */
export  const clearChartBorder: string;
/** @hidden */
export  const insertChart: string;
/** @hidden */
export  const chartRangeSelection: string;
/** @hidden */
export  const insertDesignChart: string;
/** @hidden */
export  const removeDesignChart: string;
/** @hidden */
export  const chartDesignTab: string;
/** @hidden */
export  const addChartEle: string;
/** @hidden */
export  const undoRedoForChartDesign: string;
/** @hidden */
export  const protectWorkbook: string;
/** @hidden */
export  const unProtectWorkbook: string;
/** @hidden */
export  const setProtectWorkbook: string;
/** @hidden */
export  const removeWorkbookProtection: string;
/** @hidden */
/** @hidden */
export  const selectionStatus: string;
/** @hidden */
export  const freeze: string;
/** @hidden */
export  const overlayEleSize: string;
/** @hidden */
export  const updateScroll: string;
/** @hidden */
export  const positionAutoFillElement: string;
/** @hidden */
export  const hideAutoFillOptions: string;
/** @hidden */
export  const performAutoFill: string;
/** @hidden */
export  const selectAutoFillRange: string;
/** @hidden */
export  const autoFill: string;
/** @hidden */
export  const hideAutoFillElement: string;
/** @hidden */
export  const unProtectSheetPassword: string;
/** @hidden */
export  const updateTranslate: string;
/** @hidden */
export  const getUpdatedScrollPosition: string;
/** @hidden */
export  const updateScrollValue: string;
/** @hidden */
export  const beforeCheckboxRender: string;
/** @hidden */
export  const refreshCheckbox: string;
/** @hidden */
export  const renderInsertDlg: string;
/** @hidden */
export  const toggleProtect: string;
/** @hidden */
export  const propertyChange: string;
/** @hidden */
export  const updateWrapCell: string;
//node_modules/@syncfusion/ej2-spreadsheet/src/spreadsheet/common/enum.d.ts
/**
 * Defines modes of Selection.
 */
export  type SelectionMode = 'None' | 'Single' | 'Multiple';
/**
 * Defines paste options.
 */
export  type PasteSpecialType = 'All' | 'Values' | 'Formats' | 'Formulas';
/** @hidden */
export  type RefreshType = 'All' | 'Row' | 'Column' | 'RowPart' | 'ColumnPart';
/**
 * Defines find mode options.
 */
export  type FindModeType = 'Sheet' | 'Workbook';
/**
 * Defines the print modes.
 */
export  type PrintType = 'ActiveSheet' | 'Workbook';
//node_modules/@syncfusion/ej2-spreadsheet/src/spreadsheet/common/constant.d.ts
/** @hidden */
export  const DISABLED: string;
/** @hidden */
export  const WRAPTEXT: string;
/** @hidden */
export  const locale: string;
/** @hidden */
export  const dialog: string;
/** @hidden */
export  const actionEvents: string;
/** @hidden */
export  const overlay: string;
/** @hidden */
export  const fontColor: {
    [key: string]: string[];
};
/** @hidden */
export  const fillColor: {
    [key: string]: string[];
};
/** @hidden */
export  const keyCodes: {
    [key: string]: number;
};
/**
 * Default locale text
 *
 * @hidden
 */
export  const defaultLocale: object;
//node_modules/@syncfusion/ej2-spreadsheet/src/spreadsheet/common/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/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/base/spreadsheet.d.ts

/**
 * Represents the Spreadsheet component.
 *
 * ```html
 * <div id='spreadsheet'></div>
 * <script>
 *  let 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.
     *
     * {% codeBlock src='spreadsheet/cssClass/index.md' %}{% endcodeBlock %}
     *
     * @default ''
     */
    cssClass: string;
    /**
     * It specifies whether the Spreadsheet should be rendered with scrolling or not.
     * To customize the Spreadsheet scrolling behavior, use the [`scrollSettings`](https://ej2.syncfusion.com/documentation/api/spreadsheet/#scrollSettings) property.
     *
     * @default true
     */
    allowScrolling: boolean;
    /**
     * If `allowResizing` is set to true, spreadsheet columns and rows can be resized.
     *
     * @default true
     */
    allowResizing: boolean;
    /**
     * If `showAggregate` is set to true, spreadsheet will show the AVERAGE, SUM, COUNT, MIN and MAX values based on the selected cells.
     *
     * @default true
     */
    showAggregate: boolean;
    /**
     * It enables or disables the clipboard operations (cut, copy, and paste) of the Spreadsheet.
     *
     * @default true
     */
    enableClipboard: boolean;
    /**
     * It enables or disables the context menu option of spreadsheet. By default, context menu will opens for row header,
     * column header, sheet tabs, and cell.
     *
     * @default true
     */
    enableContextMenu: boolean;
    /**
     * It allows you to interact with cell, sheet tabs, formula bar, and ribbon through the keyboard device.
     *
     * @default true
     */
    enableKeyboardNavigation: boolean;
    /**
     * It enables shortcut keys to perform Spreadsheet operations like open, save, copy, paste, and more.
     *
     * @default true
     */
    enableKeyboardShortcut: boolean;
    /**
     * It allows to enable/disable undo and redo functionalities.
     *
     * @default true
     */
    allowUndoRedo: boolean;
    /**
     * It allows to enable/disable wrap text feature. By using this feature the wrapping applied cell text can wrap to the next line,
     * if the text width exceeds the column width.
     *
     * @default true
     */
    allowWrap: boolean;
    /**
     * Configures the selection settings.
     *
     * The selectionSettings `mode` property has three values and 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.
     *
     * {% codeBlock src='spreadsheet/selectionSettings/index.md' %}{% endcodeBlock %}
     *
     * @default { mode: 'Multiple' }
     */
    selectionSettings: SelectionSettingsModel;
    /**
     * Configures the scroll settings.
     *
     * {% codeBlock src='spreadsheet/scrollSettings/index.md' %}{% endcodeBlock %}
     *
     * > The `allowScrolling` property should be `true`.
     *
     * @default { isFinite: false, enableVirtualization: true }
     */
    scrollSettings: ScrollSettingsModel;
    /**
     * Triggers before the cell appended to the DOM.
     * ```html
     * <div id='Spreadsheet'></div>
     * ```
     * ```typescript
     * new Spreadsheet({
     *      beforeCellRender: (args: CellRenderEventArgs) => {
     *      }
     *      ...
     *  }, '#Spreadsheet');
     * ```
     *
     * @event beforeCellRender
     */
    beforeCellRender: base.EmitType<CellRenderEventArgs>;
    /**
     * Triggers before the cell or range of cells being selected.
     * ```html
     * <div id='Spreadsheet'></div>
     * ```
     * ```typescript
     * new Spreadsheet({
     *      beforeSelect: (args: BeforeSelectEventArgs) => {
     *      }
     *      ...
     *  }, '#Spreadsheet');
     * ```
     *
     * @event beforeSelect
     */
    beforeSelect: base.EmitType<BeforeSelectEventArgs>;
    /**
     * Triggers after the cell or range of cells is selected.
     * ```html
     * <div id='Spreadsheet'></div>
     * ```
     * ```typescript
     * new Spreadsheet({
     *      select: (args: SelectEventArgs) => {
     *      }
     *      ...
     *  }, '#Spreadsheet');
     * ```
     *
     * @event select
     */
    select: base.EmitType<SelectEventArgs>;
    /**
     * Triggers before opening the context menu and it allows customizing the menu items.
     * ```html
     * <div id='Spreadsheet'></div>
     * ```
     * ```typescript
     * new Spreadsheet({
     *       contextMenuBeforeOpen: (args: navigations.BeforeOpenCloseMenuEventArgs) => {
     *       }
     *      ...
     *  }, '#Spreadsheet');
     * ```
     *
     * @event contextMenuBeforeOpen
     */
    contextMenuBeforeOpen: base.EmitType<navigations.BeforeOpenCloseMenuEventArgs>;
    /**
     * Triggers before opening the file menu.
     * ```html
     * <div id='Spreadsheet'></div>
     * ```
     * ```typescript
     * new Spreadsheet({
     *       fileMenuBeforeOpen: (args: navigations.BeforeOpenCloseMenuEventArgs) => {
     *       }
     *      ...
     *  }, '#Spreadsheet');
     * ```
     *
     * @event fileMenuBeforeOpen
     */
    fileMenuBeforeOpen: base.EmitType<navigations.BeforeOpenCloseMenuEventArgs>;
    /**
     * Triggers before closing the context menu.
     * ```html
     * <div id='Spreadsheet'></div>
     * ```
     * ```typescript
     * new Spreadsheet({
     *       contextMenuBeforeClose: (args: navigations.BeforeOpenCloseMenuEventArgs) => {
     *       }
     *      ...
     *  }, '#Spreadsheet');
     * ```
     *
     * @event contextMenuBeforeClose
     */
    contextMenuBeforeClose: base.EmitType<navigations.BeforeOpenCloseMenuEventArgs>;
    /**
     * Triggers before opening the dialog box.
     * ```html
     * <div id='Spreadsheet'></div>
     * ```
     * ```typescript
     * new Spreadsheet({
     *       dialogBeforeOpen: (args: DialogBeforeOpenEventArgs) => {
     *       }
     *      ...
     *  }, '#Spreadsheet');
     * ```
     *
     * @event dialogBeforeOpen
     */
    dialogBeforeOpen: base.EmitType<DialogBeforeOpenEventArgs>;
    /**
     * Triggers before closing the file menu.
     * ```html
     * <div id='Spreadsheet'></div>
     * ```
     * ```typescript
     * new Spreadsheet({
     *       fileMenuBeforeClose: (args: navigations.BeforeOpenCloseMenuEventArgs) => {
     *       }
     *      ...
     *  }, '#Spreadsheet');
     * ```
     *
     * @event fileMenuBeforeClose
     */
    fileMenuBeforeClose: base.EmitType<navigations.BeforeOpenCloseMenuEventArgs>;
    /**
     * Triggers when the context menu item is selected.
     * ```html
     * <div id='Spreadsheet'></div>
     * ```
     * ```typescript
     * new Spreadsheet({
     *       contextMenuItemSelect: (args: MenuSelectEventArgs) => {
     *       }
     *      ...
     *  }, '#Spreadsheet');
     * ```
     *
     * @event contextMenuItemSelect
     */
    contextMenuItemSelect: base.EmitType<MenuSelectEventArgs>;
    /**
     * Triggers when the file menu item is selected.
     * ```html
     * <div id='Spreadsheet'></div>
     * ```
     * ```typescript
     * new Spreadsheet({
     *       fileMenuItemSelect: (args: MenuSelectEventArgs) => {
     *       }
     *      ...
     *  }, '#Spreadsheet');
     * ```
     *
     * @event fileMenuItemSelect
     */
    fileMenuItemSelect: base.EmitType<MenuSelectEventArgs>;
    /**
     * Triggers before the data is populated to the worksheet.
     * ```html
     * <div id='Spreadsheet'></div>
     * ```
     * ```typescript
     * new Spreadsheet({
     *       beforeDataBound: (args: Object) => {
     *       }
     *      ...
     *  }, '#Spreadsheet');
     * ```
     *
     * @event beforeDataBound
     */
    beforeDataBound: base.EmitType<Object>;
    /**
     * Triggers when the data is populated in the worksheet.
     * ```html
     * <div id='Spreadsheet'></div>
     * ```
     * ```typescript
     * new Spreadsheet({
     *       dataBound: (args: Object) => {
     *       }
     *      ...
     *  }, '#Spreadsheet');
     * ```
     *
     * @event dataBound
     */
    dataBound: base.EmitType<Object>;
    /**
     * Triggers during data changes when the data is provided as `dataSource` in the Spreadsheet.
     * ```html
     * <div id='Spreadsheet'></div>
     * ```
     * ```typescript
     * new Spreadsheet({
     *       dataSourceChanged: (args: DataSourceChangedEventArgs) => {
     *       }
     *      ...
     *  }, '#Spreadsheet');
     * ```
     *
     * @event dataSourceChanged
     */
    dataSourceChanged: base.EmitType<DataSourceChangedEventArgs>;
    /**
     * Triggers when the cell is being edited.
     * ```html
     * <div id='Spreadsheet'></div>
     * ```
     * ```typescript
     * new Spreadsheet({
     *       cellEdit: (args: CellEditEventArgs) => {
     *       }
     *      ...
     *  }, '#Spreadsheet');
     * ```
     *
     * @event cellEdit
     */
    cellEdit: base.EmitType<CellEditEventArgs>;
    /**
     * Triggers every time a request is made to access cell information.
     * This will be triggered when editing a cell.
     * ```html
     * <div id='Spreadsheet'></div>
     * ```
     * ```typescript
     * new Spreadsheet({
     *       cellEditing: (args: CellEditEventArgs) => {
     *       }
     *      ...
     *  }, '#Spreadsheet');
     * ```
     *
     * @event cellEditing
     */
    cellEditing: base.EmitType<CellEditEventArgs>;
    /**
     * Triggers when the cell has been edited.
     * ```html
     * <div id='Spreadsheet'></div>
     * ```
     * ```typescript
     * new Spreadsheet({
     *       cellEdited: (args: CellEditEventArgs) => {
     *       }
     *      ...
     *  }, '#Spreadsheet');
     * ```
     *
     * @event cellEdited
     */
    cellEdited: base.EmitType<CellEditEventArgs>;
    /**
     * Triggers when the edited cell is saved.
     *
     * ```html
     * <div id='Spreadsheet'></div>
     * ```
     * ```typescript
     * new Spreadsheet({
     *       cellSave: (args: CellSaveEventArgs) => {
     *       }
     *      ...
     *  }, '#Spreadsheet');
     * ```
     *
     * @event cellSave
     */
    cellSave: base.EmitType<CellSaveEventArgs>;
    /**
     * Triggers when before the cell is saved.
     *
     * ```html
     * <div id='Spreadsheet'></div>
     * ```
     * ```typescript
     * new Spreadsheet({
     *       beforeCellSave: (args: CellEditEventArgs) => {
     *       }
     *      ...
     *  }, '#Spreadsheet');
     * ```
     *
     * @event beforeCellSave
     */
    beforeCellSave: base.EmitType<CellEditEventArgs>;
    /**
     * Triggers when the component is created.
     *
     * ```html
     * <div id='Spreadsheet'></div>
     * ```
     * ```typescript
     * new Spreadsheet({
     *       created: () => {
     *       }
     *      ...
     *  }, '#Spreadsheet');
     * ```
     *
     * @event created
     */
    created: base.EmitType<Event>;
    /**
     * Triggers before sorting the specified range.
     *
     * ```html
     * <div id='Spreadsheet'></div>
     * ```
     * ```typescript
     * new Spreadsheet({
     *       beforeSort: (args: BeforeSortEventArgs) => {
     *       }
     *      ...
     *  }, '#Spreadsheet');
     * ```
     *
     * @event beforeSort
     */
    beforeSort: base.EmitType<BeforeSortEventArgs>;
    /**
     * Triggers before insert a hyperlink.
     *
     * ```html
     * <div id='Spreadsheet'></div>
     * ```
     * ```typescript
     * new Spreadsheet({
     *       beforeHyperlinkCreate: (args: BeforeHyperlinkArgs ) => {
     *       }
     *      ...
     *  }, '#Spreadsheet');
     * ```
     *
     * @event beforeHyperlinkCreate
     */
    beforeHyperlinkCreate: base.EmitType<BeforeHyperlinkArgs>;
    /**
     * Triggers after the hyperlink inserted.
     *
     * ```html
     * <div id='Spreadsheet'></div>
     * ```
     * ```typescript
     * new Spreadsheet({
     *       afterHyperlinkCreate: (args: afterHyperlinkArgs ) => {
     *       }
     *      ...
     *  }, '#Spreadsheet');
     * ```
     *
     * @event afterHyperlinkCreate
     */
    afterHyperlinkCreate: base.EmitType<AfterHyperlinkArgs>;
    /**
     * Triggers when the Hyperlink is clicked.
     *
     * ```html
     * <div id='Spreadsheet'></div>
     * ```
     * ```typescript
     * new Spreadsheet({
     *       beforeHyperlinkClick: (args: BeforeHyperlinkArgs ) => {
     *       }
     *      ...
     *  }, '#Spreadsheet');
     * ```
     *
     * @event beforeHyperlinkClick
     */
    beforeHyperlinkClick: base.EmitType<BeforeHyperlinkArgs>;
    /**
     * Triggers when the Hyperlink function gets completed.
     *
     * ```html
     * <div id='Spreadsheet'></div>
     * ```
     * ```typescript
     * new Spreadsheet({
     *       afterHyperlinkClick: (args: AfterHyperlinkArgs ) => {
     *       }
     *      ...
     *  }, '#Spreadsheet');
     * ```
     *
     * @event afterHyperlinkClick
     */
    afterHyperlinkClick: base.EmitType<AfterHyperlinkArgs>;
    /**
     * Triggers before apply or remove the conditional format from a cell in a range.
     *
     * ```html
     * <div id='Spreadsheet'></div>
     * ```
     * ```typescript
     * new Spreadsheet({
     *       beforeConditionalFormat: (args: ConditionalFormatEventArgs) => {
     *       }
     *      ...
     *  }, '#Spreadsheet');
     * ```
     *
     * @event cellSave
     */
    beforeConditionalFormat: base.EmitType<ConditionalFormatEventArgs>;
    /**
     * Triggers when the Spreadsheet actions (such as editing, formatting, sorting etc..) are starts.
     *
     * ```html
     * <div id='Spreadsheet'></div>
     * ```
     * ```typescript
     * new Spreadsheet({
     *       actionBegin: (args: BeforeCellFormatArgs|BeforeOpenEventArgs|BeforeSaveEventArgs|BeforeSelectEventArgs
     *                    |BeforeSortEventArgs|CellEditEventArgs|MenuSelectEventArgs) => {
     *       }
     *      ...
     *  }, '#Spreadsheet');
     * ```
     *
     * @event
     */
    actionBegin: base.EmitType<BeforeCellFormatArgs | BeforeOpenEventArgs | BeforeSaveEventArgs | BeforeSelectEventArgs | BeforeSortEventArgs | CellEditEventArgs | MenuSelectEventArgs>;
    /**
     * Triggers when the spreadsheet actions (such as editing, formatting, sorting etc..) gets completed.
     *
     * ```html
     * <div id='Spreadsheet'></div>
     * ```
     * ```typescript
     * new Spreadsheet({
     *       actionComplete: (args: SortEventArgs|CellSaveEventArgs|SaveCompleteEventArgs|Object) => {
     *       }
     *      ...
     *  }, '#Spreadsheet');
     * ```
     *
     * @event
     */
    actionComplete: base.EmitType<SortEventArgs | CellSaveEventArgs | SaveCompleteEventArgs | Object>;
    /**
     *
     * ```html
     * <div id='Spreadsheet'></div>
     * ```
     * ```typescript
     * new Spreadsheet({
     *       openComplete: (args: Object) => {
     *       }
     *      ...
     *  }, '#Spreadsheet');
     * ```
     *
     * @event openComplete
     */
    openComplete: base.EmitType<Object>;
    /**
     * Triggers after sorting action is completed.
     *
     * ```html
     * <div id='Spreadsheet'></div>
     * ```
     * ```typescript
     * new Spreadsheet({
     *       sortComplete: (args: SortEventArgs) => {
     *       }
     *      ...
     *  }, '#Spreadsheet');
     * ```
     *
     * @event sortComplete
     */
    sortComplete: base.EmitType<SortEventArgs>;
    /**
     * Defines the currencyCode format of the Spreadsheet cells
     *
     * @private
     */
    private currencyCode;
    /** @hidden */
    spreadsheetNoteModule: SpreadsheetNote;
    /**
     * Array to store multiple rafIds on intial rendering.
     *
     * @hidden */
    rafIds: number[];
    /** @hidden */
    renderModule: Render;
    /** @hidden */
    scrollModule: Scroll;
    /** @hidden */
    printModule: Print;
    /** @hidden */
    workbookNumberFormatModule: WorkbookNumberFormat;
    /** @hidden */
    workbookFormulaModule: WorkbookFormula;
    /** @hidden */
    autofillModule: AutoFill;
    /** @hidden */
    openModule: Open;
    /** @hidden */
    selectionModule: Selection;
    /** @hidden */
    sheetModule: IRenderer;
    /** @hidden */
    createdHandler: Function | object;
    /** @hidden */
    viewport: IViewport;
    /** @hidden */
    enableScaling: boolean;
    protected needsID: boolean;
    ribbonModule: any;
    /**
     * Constructor for creating the widget.
     *
     * @param  {SpreadsheetModel} options - Configures Spreadsheet options.
     * @param  {string|HTMLElement} element - Element to render Spreadsheet.
     */
    constructor(options?: SpreadsheetModel, element?: string | HTMLElement);
    /**
     * To get cell element.
     *
     * @param {number} rowIndex - specify the rowIndex.
     * @param {number} colIndex - specify the colIndex.
     * @param {HTMLTableElement} row - specify the row.
     * @returns {HTMLElement} - Get cell element
     * @hidden
     */
    getCell(rowIndex: number, colIndex: number, row?: HTMLTableRowElement): HTMLElement;
    /**
     * Get cell element.
     *
     * @param {number} index - specify the index.
     * @param {HTMLTableElement} table - specify the table.
     * @param {number} colIdx - specify the column index.
     * @returns {HTMLTableRowElement} - Get cell element
     * @hidden
     */
    getRow(index: number, table?: HTMLTableElement, colIdx?: number): HTMLTableRowElement;
    /**
     * To get hidden row/column count between two specified index.
     *
     * Set `layout` as `columns` if you want to get column hidden count.
     *
     * @param {number} startIndex - specify the startIndex.
     * @param {number} endIndex - specify the endIndex.
     * @param {string} layout - specify the layout.
     * @param {SheetModel} sheet - specify the sheet.
     * @returns {number} - To get hidden row/column count between two specified index.
     * @hidden
     */
    hiddenCount(startIndex: number, endIndex: number, layout?: string, sheet?: SheetModel): number;
    /**
     * To get row/column viewport index.
     *
     * @param {number} index - specify the index.
     * @param {boolean} isCol - specify the bool value.
     * @returns {number} - To get row/column viewport index.
     * @hidden
     */
    getViewportIndex(index: number, isCol?: boolean): number;
    /**
     * To initialize the services;
     *
     * @returns {void} - To initialize the services.
     * @hidden
     */
    protected preRender(): void;
    private initServices;
    /**
     * To Initialize the component rendering.
     *
     * @returns {void} - To Initialize the component rendering.
     * @hidden
     */
    protected render(): void;
    private renderSpreadsheet;
    /**
     * By default, Spreadsheet shows the spinner for all its actions. To manually show spinner you this method at your needed time.
     *
     * {% codeBlock src='spreadsheet/showSpinner/index.md' %}{% endcodeBlock %}
     *
     * @returns {void} - shows spinner
     */
    showSpinner(): void;
    /**
     * To hide showed spinner manually.
     *
     * {% codeBlock src='spreadsheet/hideSpinner/index.md' %}{% endcodeBlock %}
     *
     * @returns {void} - To hide showed spinner manually.
     */
    hideSpinner(): void;
    /**
     * To protect the particular sheet.
     *
     * {% codeBlock src='spreadsheet/protectSheet/index.md' %}{% endcodeBlock %}
     *
     * @param {number | string} sheet - Specifies the sheet to protect.
     * @param {ProtectSettingsModel} protectSettings - Specifies the protect sheet options.
     * @default { selectCells: 'false', formatCells: 'false', formatRows: 'false', formatColumns:'false', insertLink:'false' }
     * @param {string} password - Specifies the password to protect.
     * @returns {void} - To protect the particular sheet.
     */
    protectSheet(sheet?: number | string, protectSettings?: ProtectSettingsModel, password?: string): void;
    /**
     * To unprotect the particular sheet.
     *
     * {% codeBlock src='spreadsheet/unprotectSheet/index.md' %}{% endcodeBlock %}
     *
     * @param {number | string} sheet - Specifies the sheet name or index to Unprotect.
     * @returns {void} - To unprotect the particular sheet.
     */
    unprotectSheet(sheet?: number | string): void;
    /**
     * To find the specified cell value.
     *
     * {% codeBlock src='spreadsheet/find/index.md' %}{% endcodeBlock %}
     *
     * @param {FindOptions} args - Specifies the replace value with find args to replace specified cell value.
     * @param {string} args.value - Specifies the value to be find.
     * @param {string} args.mode - Specifies the value to be find within sheet or workbook.
     * @param {string} args.searchBy - Specifies the value to be find by row or column.
     * @param {boolean} args.isCSen - Specifies the find match with case sensitive or not.
     * @param {boolean} args.isEMatch - Specifies the find match with entire match or not.
     * @param {string} args.findOpt - Specifies the next or previous find match.
     * @param {number} args.sheetIndex - Specifies the current sheet to find.
     * @default { mode: 'Sheet', searchBy: 'By Row', isCSen: 'false', isEMatch:'false' }
     * @returns {void} - To find the specified cell value.
     */
    find(args: FindOptions): void | string;
    /**
     * To replace the specified cell value.
     *
     * {% codeBlock src='spreadsheet/replace/index.md' %}{% endcodeBlock %}
     *
     * @param {FindOptions} args - Specifies the replace value with find args to replace specified cell value.
     * @param {string} args.replaceValue - Specifies the replacing value.
     * @param {string} args.replaceBy - Specifies the value to be replaced for one or all.
     * @param {string} args.value - Specifies the value to be replaced
     * @returns {void} - To replace the specified cell value.
     */
    replace(args: FindOptions): void;
    /**
     * To Find All the Match values Address within Sheet or Workbook.
     *
     * {% codeBlock src='spreadsheet/findAll/index.md' %}{% endcodeBlock %}
     *
     * @param {string} value - Specifies the value to find.
     * @param {string} mode - Specifies the value to be find within Sheet/Workbook.
     * @param {boolean} isCSen - Specifies the find match with case sensitive or not.
     * @param {boolean} isEMatch - Specifies the find match with entire match or not.
     * @param {number} sheetIndex - Specifies the sheetIndex. If not specified, it will consider the active sheet.
     * @returns {string[]} - To Find All the Match values Address within Sheet or Workbook.
     */
    findAll(value: string, mode?: string, isCSen?: boolean, isEMatch?: boolean, sheetIndex?: number): string[];
    /**
     * Used to navigate to cell address within workbook.
     *
     * {% codeBlock src='spreadsheet/goTo/index.md' %}{% endcodeBlock %}
     *
     * @param {string} address - Specifies the cell address you need to navigate.
     * You can specify the address in two formats,
     * `{sheet name}!{cell address}` - Switch to specified sheet and navigate to specified cell address.
     * `{cell address}` - Navigate to specified cell address with in the active sheet.
     * @returns {void} - Used to navigate to cell address within workbook.
     */
    goTo(address: string): void;
    /**
     * @hidden
     * @param {number} rowIndex - Specifies the row index.
     * @param {number} colIndex - Specifies the column index.
     * @returns {boolean} - Specifies the boolean value.
     */
    insideViewport(rowIndex: number, colIndex: number): boolean;
    /**
     * Used to resize the Spreadsheet.
     *
     * {% codeBlock src='spreadsheet/resize/index.md' %}{% endcodeBlock %}
     *
     * @returns {void} - Used to resize the Spreadsheet.
     */
    resize(): void;
    /**
     * To cut the specified cell or cells properties such as value, format, style etc...
     *
     * {% codeBlock src='spreadsheet/cut/index.md' %}{% endcodeBlock %}
     *
     * @param {string} address - Specifies the range address to cut.
     * @returns {Promise<Object>} - To cut the specified cell or cells properties such as value, format, style etc...
     */
    cut(address?: string): Promise<Object>;
    /**
     * To copy the specified cell or cells properties such as value, format, style etc...
     *
     * {% codeBlock src='spreadsheet/copy/index.md' %}{% endcodeBlock %}
     *
     * @param {string} address - Specifies the range address.
     * @returns {Promise<Object>} - To copy the specified cell or cells properties such as value, format, style etc...
     */
    copy(address?: string): Promise<Object>;
    /**
     * This method is used to paste the cut or copied cells in to specified address.
     *
     * {% codeBlock src='spreadsheet/paste/index.md' %}{% endcodeBlock %}
     *
     * @param {string} address - Specifies the cell or range address.
     * @param {PasteSpecialType} type - Specifies the type of paste.
     * @returns {void} - used to paste the cut or copied cells in to specified address.
     */
    paste(address?: string, type?: PasteSpecialType): void;
    /**
     * To update the action which need to perform.
     *
     * {% codeBlock src='spreadsheet/updateAction/index.md' %}{% endcodeBlock %}
     *
     * @param {string} options - It describes an action and event args to perform.
     * @param {string} options.action - specifies an action.
     * @param {string} options.eventArgs - specifies an args to perform an action.
     * @returns {void} - To update the action which need to perform.
     */
    updateAction(options: CollaborativeEditArgs): void;
    private setHeight;
    private setWidth;
    /**
     * Set the width of column.
     *
     * {% codeBlock src='spreadsheet/setColWidth/index.md' %}{% endcodeBlock %}
     *
     * @param {number} width - To specify the width
     * @param {number} colIndex - To specify the colIndex
     * @param {number} sheetIndex - To specify the sheetIndex
     * @returns {void} - Set the width of column.
     */
    setColWidth(width?: number | string, colIndex?: number, sheetIndex?: number): void;
    /**
     * Set the height of row.
     *
     * {% codeBlock src='spreadsheet/setRowHeight/index.md' %}{% endcodeBlock %}
     *
     * @param {number} height - Specifies height needs to be updated. If not specified, it will set the default height 20.
     * @param {number} rowIndex - Specifies the row index. If not specified, it will consider the first row.
     * @param {number} sheetIndex - Specifies the sheetIndex. If not specified, it will consider the active sheet.
     * @param {boolean} edited - Specifies the boolean value.
     * @param {boolean} skipCustomRow - When this parameter is enabled, the method will skip updating the row height if it has already been modified and its 'customHeight' property is set to true.
     * @returns {void} - Set the height of row.
     */
    setRowHeight(height?: number | string, rowIndex?: number, sheetIndex?: number, edited?: boolean, skipCustomRow?: boolean): void;
    /**
     * Allows you to set the height to the single or multiple rows.
     *
     * @param {number} height - Specifies the height for row.
     * @param {string[]} ranges - Specifies the row range to set the height. If the sheet name is not specified then height will apply to
     * the rows in the active sheet. Possible values are
     * * Single row range: ['2'] or ['2:2']
     * * Multiple rows range: ['1:100']
     * * Multiple rows with discontinuous range - ['1:10', '15:25', '30:40']
     * * Multiple rows with different sheets - ['Sheet1!1:50', 'Sheet2!1:50', 'Sheet3!1:50'].
     * @param {boolean} skipCustomRows - When this parameter is enabled, it will skip updating the heights of rows where the height has already been modified, and its 'customHeight' property is set to true.
     * @returns {void}
     */
    setRowsHeight(height?: number, ranges?: string[], skipCustomRows?: boolean): void;
    /**
     * Allows you to set the width to the single or multiple columns.
     *
     * @param {number} width - Specifies the width for column.
     * @param {string[]} ranges - Specifies the column range to set the width. If the sheet name is not specified then width will apply to
     * the column in the active sheet. Possible values are
     * * Single column range: ['F'] or ['F:F']
     * * Multiple columns range: ['A:F']
     * * Multiple columns with discontinuous range - ['A:C', 'G:I', 'K:M']
     * * Multiple columns with different sheets - ['Sheet1!A:H', 'Sheet2!A:H', 'Sheet3!A:H'].
     * @returns {void}
     */
    setColumnsWidth(width?: number, ranges?: string[]): void;
    private setSize;
    /**
     * This method is used to autofit the range of rows or columns
     *
     * {% codeBlock src='spreadsheet/autoFit/index.md' %}{% endcodeBlock %}
     *
     * @param {string} range - range of rows or columns that needs to be autofit.
     *
     * @returns {void} - used to autofit the range of rows or columns
     * ```html
     * <div id='Spreadsheet'></div>
     * ```
     * ```typescript
     * let spreadsheet$ = new Spreadsheet({
     *      allowResizing: true
     * ...
     * }, '#Spreadsheet');
     * spreadsheet.autoFit('A:D');
 // Auto fit from A to D columns
     * Spreadsheet.autoFit('1:4');
 // Auto fit from 1 to 4 rows
     *
     * ```
     */
    autoFit(range: string): void;
    /**
     * @hidden
     * @param {string} range - specify the range.
     * @returns {number | boolean} - to get the index.
     *
     */
    getIndexes(range: string): {
        startIdx: number;
        endIdx: number;
        isCol: boolean;
    };
    private getAddress;
    /**
     * To add the hyperlink in the cell
     *
     * {% codeBlock src='spreadsheet/addHyperlink/index.md' %}{% endcodeBlock %}
     *
     * @param {string | HyperlinkModel} hyperlink - to specify the hyperlink
     * @param {string} address - to specify the address
     * @param {string} displayText - to specify the text to be displayed, by default value of the cell will be displayed.
     * @returns {void} - To add the hyperlink in the cell
     */
    addHyperlink(hyperlink: string | HyperlinkModel, address: string, displayText?: string): void;
    /**
     * To remove the hyperlink in the cell
     *
     * {% codeBlock src='spreadsheet/removeHyperlink/index.md' %}{% endcodeBlock %}
     *
     * @param {string} range - To specify the range
     * @returns {void} - To remove the hyperlink in the cell
     */
    removeHyperlink(range: string): void;
    /**
     * @hidden
     * @param {string | HyperlinkModel} hyperlink - specify the hyperlink
     * @param {string} address - To specify the address
     * @param {string} displayText - To specify the displayText
     * @param {boolean} isMethod - To specify the bool value
     * @returns {void} - to insert the hyperlink
     */
    insertHyperlink(hyperlink: string | HyperlinkModel, address: string, displayText: string, isMethod: boolean): void;
    /**
     * This method is used to add data validation.
     *
     * {% codeBlock src='spreadsheet/addDataValidation/index.md' %}{% endcodeBlock %}
     *
     * @param {ValidationModel} rules - specifies the validation rules like type, operator, value1, value2, ignoreBlank, inCellDropDown, isHighlighted arguments.
     * @param {string} range - range that needs to be add validation.
     * @returns {void} - used to add data validation.
     */
    addDataValidation(rules: ValidationModel, range?: string): void;
    /**
     * This method is used for remove validation.
     *
     * {% codeBlock src='spreadsheet/removeDataValidation/index.md' %}{% endcodeBlock %}
     *
     * @param {string} range - range that needs to be remove validation.
     * @returns {void} - This method is used for remove validation.
     */
    removeDataValidation(range?: string): void;
    /**
     * This method is used to highlight the invalid data.
     *
     * {% codeBlock src='spreadsheet/addInvalidHighlight/index.md' %}{% endcodeBlock %}
     *
     * @param {string} range - range that needs to be highlight the invalid data.
     * @returns {void} - This method is used to highlight the invalid data.
     */
    addInvalidHighlight(range?: string): void;
    /**
     * This method is used for remove highlight from invalid data.
     *
     * {% codeBlock src='spreadsheet/removeInvalidHighlight/index.md' %}{% endcodeBlock %}
     *
     * @param {string} range - range that needs to be remove invalid highlight.
     * @returns {void} - This method is used for remove highlight from invalid data.
     */
    removeInvalidHighlight(range?: string): void;
    /**
     * This method is used to add conditional formatting.
     *
     * {% codeBlock src='spreadsheet/conditionalFormat/index.md' %}{% endcodeBlock %}
     *
     * @param {ConditionalFormatModel} conditionalFormat - Specify the conditionalFormat.
     * @returns {void} - used to add conditional formatting.
     */
    conditionalFormat(conditionalFormat: ConditionalFormatModel): void;
    /**
     * This method is used for remove conditional formatting.
     *
     * {% codeBlock src='spreadsheet/clearConditionalFormat/index.md' %}{% endcodeBlock %}
     *
     * @param {string} range - range that needs to be remove conditional formatting.
     * @returns {void} - used for remove conditional formatting.
     */
    clearConditionalFormat(range?: string): void;
    /**
     * @hidden
     * @returns {void} - set Panel Size.
     */
    setPanelSize(): void;
    /**
     * Opens the Excel file.
     *
     * {% codeBlock src='spreadsheet/open/index.md' %}{% endcodeBlock %}
     *
     * @param {OpenOptions} options - Options for opening the excel file.
     * @returns {void} - Open the Excel file.
     */
    open(options: OpenOptions): void;
    /**
     * Used to hide/show the rows in spreadsheet.
     *
     * @param {number} startIndex - Specifies the start row index.
     * @param {number} endIndex - Specifies the end row index.
     * @param {boolean} hide - To hide/show the rows in specified range.
     * @returns {void} - To hide/show the rows in spreadsheet.
     */
    hideRow(startIndex: number, endIndex?: number, hide?: boolean): void;
    /**
     * Used to hide/show the columns in spreadsheet.
     *
     * @param {number} startIndex - Specifies the start column index.
     * @param {number} endIndex - Specifies the end column index.
     * @param {boolean} hide - Set `true` / `false` to hide / show the columns.
     * @returns {void} - To hide/show the columns in spreadsheet.
     */
    hideColumn(startIndex: number, endIndex?: number, hide?: boolean): void;
    /**
     * This method is used to Clear contents, formats and hyperlinks in spreadsheet.
     *
     * {% codeBlock src='spreadsheet/clear/index.md' %}{% endcodeBlock %}
     *
     * @param {ClearOptions} options - Options for clearing the content, formats and hyperlinks in spreadsheet.
     * @returns {void} -  Used to Clear contents, formats and hyperlinks in spreadsheet
     */
    clear(options: ClearOptions): void;
    /**
     * Used to refresh the spreadsheet in UI level.
     *
     * {% codeBlock src='spreadsheet/refresh/index.md' %}{% endcodeBlock %}
     *
     * @param {boolean} isNew - Specifies `true` / `false` to create new workbook in spreadsheet.
     * @returns {void} -  Used to refresh the spreadsheet.
     */
    refresh(isNew?: boolean): void;
    /**
     * Used to set the image in spreadsheet.
     *
     * {% codeBlock src='spreadsheet/insertImage/index.md' %}{% endcodeBlock %}
     *
     * @param {ImageModel} images - Specifies the options to insert image in spreadsheet.
     * @param {string} range - Specifies the range in spreadsheet.
     * @returns {void} -  Used to set the image in spreadsheet.
     */
    insertImage(images: ImageModel[], range?: string): void;
    /**
     * Used to delete the image in spreadsheet.
     *
     * {% codeBlock src='spreadsheet/deleteImage/index.md' %}{% endcodeBlock %}
     *
     * @param {string} id - Specifies the id of the image element to be deleted.
     * @param {string} range - Specifies the range in spreadsheet.
     * @returns {void} - Used to delete the image in spreadsheet.
     */
    deleteImage(id: string, range?: string): void;
    /**
     * Gets the row header div of the Spreadsheet.
     *
     * @returns {Element} - Gets the row header div of the Spreadsheet.
     * @hidden
     */
    getRowHeaderContent(): HTMLElement;
    /**
     * Gets the column header div of the Spreadsheet.
     *
     * @returns {HTMLElement} - Gets the column header div of the Spreadsheet.
     * @hidden
     */
    getColumnHeaderContent(): HTMLElement;
    /**
     * Gets the main content div of the Spreadsheet.
     *
     * @returns {HTMLElement} - Gets the main content div of the Spreadsheet.
     * @hidden
     */
    getMainContent(): HTMLElement;
    /**
     * Get the select all div of spreadsheet
     *
     * @returns {HTMLElement} - Get the select all div of spreadsheet
     */
    getSelectAllContent(): HTMLElement;
    /**
     * Gets the horizontal scroll element of the Spreadsheet.
     *
     * @returns {HTMLElement} - Gets the column header div of the Spreadsheet.
     * @hidden
     */
    getScrollElement(): HTMLElement;
    /**
     * Get the main content table element of spreadsheet.
     *
     * @returns {HTMLTableElement} -Get the main content table element of spreadsheet.
     * @hidden
     */
    getContentTable(): HTMLTableElement;
    /**
     * Get the row header table element of spreadsheet.
     *
     * @returns {HTMLTableElement} - Get the row header table element of spreadsheet.
     * @hidden
     */
    getRowHeaderTable(): HTMLTableElement;
    /**
     * Get the column header table element of spreadsheet.
     *
     * @returns {HTMLTableElement} - Get the column header table element of spreadsheet.
     * @hidden
     */
    getColHeaderTable(): HTMLTableElement;
    /**
     * To get the backup element count for row and column virtualization.
     *
     * @param {'row' | 'col'} layout -  specify the layout.
     * @returns {number} - To get the backup element count for row and column virtualization.
     * @hidden
     */
    getThreshold(layout: 'row' | 'col'): number;
    /**
     * @hidden
     * @returns {boolean} - Returns the bool value.
     */
    isMobileView(): boolean;
    /**
     * @hidden
     * @param {number} sheetId - Specifies the sheet id.
     * @param {number} rowIndex - specify the row index.
     * @param {number} colIndex - specify the col index.
     * @param {string} formulaCellReference - specify the col index.
     * @param {boolean} refresh - specify the col index.
     * @param {boolean} isUnique - specifies the unique formula.
     * @param {boolean} isSubtotal - specifies the subtotal formula.
     * @returns {string | number} - to get Value Row Col.
     */
    getValueRowCol(sheetId: number, rowIndex: number, colIndex: number, formulaCellReference?: string, refresh?: boolean, isUnique?: boolean, isSubtotal?: boolean): string | number;
    /**
     * Updates the properties of a specified cell.
     *
     * {% codeBlock src='spreadsheet/updateCell/index.md' %}{% endcodeBlock %}
     *
     * @param {CellModel} cell - The properties to update for the specified cell.
     * @param {string} address - The address of the cell to update. If not provided, the active cell's address will be used.
     * @param {boolean} enableDependentCellUpdate - Specifies whether dependent cells should also be updated. Default value is <c>true</c>.
     * @returns {void} - This method does not return a value.
     */
    updateCell(cell: CellModel, address?: string, enableDependentCellUpdate?: boolean): void;
    /**
     * Updates the properties of a specified cell.
     *
     * @param {CellModel} cell - The properties to update for the specified cell.
     * @param {string} address - The address of the cell to update. If not provided, the active cell's address will be used.
     * @param {boolean} isDependentUpdate - Specifies whether dependent cells should also be updated.
     * @param {UndoRedoEventArgs} cellInformation - It holds the undoRedoCollections.
     * @param {boolean} isRedo - It holds the undo redo information.
     * @param {boolean} isPublic - It holds whether updateCell public method is used.
     * @returns {void} - This method does not return a value.
     *
     * @hidden
     */
    updateCellInfo(cell: CellModel, address?: string, isDependentUpdate?: boolean, cellInformation?: UndoRedoEventArgs, isRedo?: boolean, isPublic?: boolean): void;
    /**
     * Used to get a row data from the data source with updated cell value.
     *
     * {% codeBlock src='spreadsheet/getRowData/index.md' %}{% endcodeBlock %}
     *
     * @param {number} index - Specifies the row index.
     * @param {number} sheetIndex - Specifies the sheet index. By default, it consider the active sheet index.
     * @returns {Object[]} - Return row data.
     */
    getRowData(index?: number, sheetIndex?: number): Object[];
    /**
     * Sorts the range of cells in the active sheet.
     *
     * {% codeBlock src='spreadsheet/sort/index.md' %}{% endcodeBlock %}
     *
     * @param {SortOptions} sortOptions - options for sorting.
     * @param {string} range - address of the data range.
     * @returns {Promise<SortEventArgs>} - Sorts the range of cells in the active sheet.
     */
    sort(sortOptions?: SortOptions, range?: string): Promise<SortEventArgs>;
    /**
     * @hidden
     * @param {number} sheetId - specify the sheet id.
     * @param {string | number} value - Specify the value.
     * @param {number} rowIndex - Specify the row index.
     * @param {number} colIndex - Specify the col index.
     * @param {string} formula - Specify the col index.
     * @param {boolean} isRandomFormula - Specify the random formula.
     * @returns {void} - To set value for row and col.
     */
    setValueRowCol(sheetId: number, value: string | number, rowIndex: number, colIndex: number, formula?: string, isRandomFormula?: boolean): void;
    /**
     * Get component name.
     *
     * @returns {string} - Get component name.
     * @hidden
     */
    getModuleName(): string;
    /**
     * The `calculateNow` method is used to calculate any uncalculated formulas in a spreadsheet.
     * This method accepts an option to specify whether the calculation should be performed for the entire workbook or a specific sheet.
     *
     * @param {string} [scope] - Specifies the scope of the calculation. Acceptable values are `Sheet` or `Workbook`.
     * If not provided, the default scope is `Sheet`.
     * * `Sheet`: Calculates formulas only on the current sheet or a specified sheet.
     * * `Workbook`: Calculates formulas across the entire workbook.
     * @param {number | string} [sheet] - The index or name of the sheet to calculate if the scope is set to `Sheet`.
     * If not provided and the scope is `Sheet`, the current active sheet will be used.
     * @returns {Promise<void>} - A promise that resolves when the calculation is complete.
     * The promise does not return a specific value, but it can be used to perform actions after the calculation has finished.
     */
    calculateNow(scope?: string, sheet?: number | string): Promise<void>;
    /**
     * @hidden
     * @param {Element} td - Specify the element.
     * @param {NumberFormatArgs} args - specify the args.
     * @returns {void} - to refresh the node.
     */
    refreshNode(td: Element, args?: NumberFormatArgs): void;
    /**
     * @hidden
     * @param {CellStyleModel} style - specify the style.
     * @param {number} lines - Specify the lines.
     * @param {number} borderWidth - Specify the borderWidth.
     * @returns {number} - To calculate Height
     */
    calculateHeight(style: CellStyleModel, lines?: number, borderWidth?: number): number;
    /**
     * @hidden
     * @param {number} startIdx - specify the start index.
     * @param {number} endIdx - Specify the end index.
     * @param {string} layout - Specify the rows.
     * @param {boolean} finite - Specifies the scroll mode.
     * @returns {number[]} - To skip the hidden rows.
     */
    skipHidden(startIdx: number, endIdx: number, layout?: string, finite?: boolean): number[];
    /**
     * @hidden
     * @param {HTMLElement} nextTab - Specify the element.
     * @param {string} selector - Specify the selector
     * @returns {void} - To update the active border.
     */
    updateActiveBorder(nextTab: HTMLElement, selector?: string): void;
    /**
     * To perform the undo operation in spreadsheet.
     *
     * {% codeBlock src='spreadsheet/undo/index.md' %}{% endcodeBlock %}
     *
     * @returns {void} - To perform the undo operation in spreadsheet.
     */
    undo(): void;
    /**
     * To perform the redo operation in spreadsheet.
     *
     * {% codeBlock src='spreadsheet/redo/index.md' %}{% endcodeBlock %}
     *
     * @returns {void} - To perform the redo operation in spreadsheet.
     */
    redo(): void;
    /**
     * To update the undo redo collection in spreadsheet.
     *
     * {% codeBlock src='spreadsheet/updateUndoRedoCollection/index.md' %}{% endcodeBlock %}
     *
     * @param {object} args - options for undo redo.
     * @returns {void} - To update the undo redo collection in spreadsheet.
     */
    updateUndoRedoCollection(args: {
        [key: string]: Object;
    }): void;
    /**
     * Adds the defined name to the Spreadsheet.
     *
     * {% codeBlock src='spreadsheet/addDefinedName/index.md' %}{% endcodeBlock %}
     *
     * @param {DefineNameModel} definedName - Specifies the name, scope, comment, refersTo.
     * @returns {boolean} - Return the added status of the defined name.
     */
    addDefinedName(definedName: DefineNameModel): boolean;
    /**
     * Removes the defined name from the Spreadsheet.
     *
     * {% codeBlock src='spreadsheet/removeDefinedName/index.md' %}{% endcodeBlock %}
     *
     * @param {string} definedName - Specifies the name.
     * @param {string} scope - Specifies the scope of the defined name.
     * @returns {boolean} - Return the removed status of the defined name.
     */
    removeDefinedName(definedName: string, scope: string): boolean;
    private mouseClickHandler;
    private mouseDownHandler;
    private keyUpHandler;
    private keyDownHandler;
    private freeze;
    private freezePaneUpdated;
    /**
     * Binding events to the element while component creation.
     *
     * @returns {void} - Binding events to the element while component creation.
     */
    private wireEvents;
    /**
     * Destroys the component (detaches/removes all event handlers, attributes, classes, and empties the component element).
     *
     * {% codeBlock src='spreadsheet/destroy/index.md' %}{% endcodeBlock %}
     *
     * @returns {void} - Destroys the component.
     */
    destroy(): void;
    /**
     * Unbinding events from the element while component destroy.
     *
     * @returns {void} - Unbinding events from the element while component destroy.
     */
    private unwireEvents;
    private refreshInsertDelete;
    /**
     * To add context menu items.
     *
     * {% codeBlock src='spreadsheet/addContextMenu/index.md' %}{% endcodeBlock %}
     *
     * @param {navigations.MenuItemModel[]} items - Items that needs to be added.
     * @param {string} text - Item before / after that the element to be inserted.
     * @param {boolean} insertAfter - Set `false` if the `items` need to be inserted before the `text`.
     * By default, `items` are added after the `text`.
     * @param {boolean} isUniqueId - Set `true` if the given `text` is a unique id.
     * @returns {void} - To add context menu items.
     */
    addContextMenuItems(items: navigations.MenuItemModel[], text: string, insertAfter?: boolean, isUniqueId?: boolean): void;
    /**
     * To remove existing context menu items.
     *
     * {% codeBlock src='spreadsheet/removeContextMenuItems/index.md' %}{% endcodeBlock %}
     *
     * @param {string[]} items - Items that needs to be removed.
     * @param {boolean} isUniqueId - Set `true` if the given `text` is a unique id.
     * @returns {void} - To remove existing context menu items.
     */
    removeContextMenuItems(items: string[], isUniqueId?: boolean): void;
    /**
     * To enable / disable context menu items.
     *
     * {% codeBlock src='spreadsheet/enableContextMenuItems/index.md' %}{% endcodeBlock %}
     *
     * @param {string[]} items - Items that needs to be enabled / disabled.
     * @param {boolean} enable - Set `true` / `false` to enable / disable the menu items.
     * @param {boolean} isUniqueId - Set `true` if the given `text` is a unique id.
     * @returns {void} - To enable / disable context menu items.
     */
    enableContextMenuItems(items: string[], enable?: boolean, isUniqueId?: boolean): void;
    /**
     * To enable / disable file menu items.
     *
     * {% codeBlock src='spreadsheet/enableFileMenuItems/index.md' %}{% endcodeBlock %}
     *
     * @param {string[]} items - Items that needs to be enabled / disabled.
     * @param {boolean} enable - Set `true` / `false` to enable / disable the menu items.
     * @param {boolean} isUniqueId - Set `true` if the given file menu items `text` is a unique id.
     * @returns {void} - To enable / disable file menu items.
     */
    enableFileMenuItems(items: string[], enable?: boolean, isUniqueId?: boolean): void;
    /**
     * To show/hide the file menu items in Spreadsheet ribbon.
     *
     * {% codeBlock src='spreadsheet/hideFileMenuItems/index.md' %}{% endcodeBlock %}
     *
     * @param {string[]} items - Specifies the file menu items text which is to be show/hide.
     * @param {boolean} hide - Set `true` / `false` to hide / show the file menu items.
     * @param {boolean} isUniqueId - Set `true` if the given file menu items `text` is a unique id.
     * @returns {void} - To show/hide the file menu items in Spreadsheet ribbon.
     */
    hideFileMenuItems(items: string[], hide?: boolean, isUniqueId?: boolean): void;
    /**
     * To add custom file menu items.
     *
     * {% codeBlock src='spreadsheet/addFileMenuItems/index.md' %}{% endcodeBlock %}
     *
     * @param {navigations.MenuItemModel[]} items - Specifies the ribbon file menu items to be inserted.
     * @param {string} text - Specifies the existing file menu item text before / after which the new file menu items to be inserted.
     * @param {boolean} insertAfter - Set `false` if the `items` need to be inserted before the `text`.
     * By default, `items` are added after the `text`.
     * @param {boolean} isUniqueId - Set `true` if the given file menu items `text` is a unique id.
     * @returns {void} - To add custom file menu items.
     */
    addFileMenuItems(items: navigations.MenuItemModel[], text: string, insertAfter?: boolean, isUniqueId?: boolean): void;
    /**
     * To show/hide the existing ribbon tabs.
     *
     * {% codeBlock src='spreadsheet/hideRibbonTabs/index.md' %}{% endcodeBlock %}
     *
     * @param {string[]} tabs - Specifies the tab header text which needs to be shown/hidden.
     * @param {boolean} hide - Set `true` / `false` to hide / show the ribbon tabs.
     * @returns {void} - To show/hide the existing ribbon tabs.
     */
    hideRibbonTabs(tabs: string[], hide?: boolean): void;
    /**
     * To enable / disable the existing ribbon tabs.
     *
     * {% codeBlock src='spreadsheet/enableRibbonTabs/index.md' %}{% endcodeBlock %}
     *
     * @param {string[]} tabs - Specifies the tab header text which needs to be enabled / disabled.
     * @param {boolean} enable - Set `true` / `false` to enable / disable the ribbon tabs.
     * @returns {void} - To enable / disable the existing ribbon tabs.
     */
    enableRibbonTabs(tabs: string[], enable?: boolean): void;
    /**
     * To add custom ribbon tabs.
     *
     * {% codeBlock src='spreadsheet/addRibbonTabs/index.md' %}{% endcodeBlock %}
     *
     * @param {RibbonItemModel[]} items - Specifies the ribbon tab items to be inserted.
     * @param {string} insertBefore - Specifies the existing ribbon header text before which the new tabs will be inserted.
     * If not specified, the new tabs will be inserted at the end.
     * @returns {void} - To add custom ribbon tabs.
     */
    addRibbonTabs(items: RibbonItemModel[], insertBefore?: string): void;
    /**
     * Enables or disables the specified ribbon toolbar items or all ribbon items.
     *
     * {% codeBlock src='spreadsheet/enableToolbarItems/index.md' %}{% endcodeBlock %}
     *
     * @param {string} tab - Specifies the ribbon tab header text under which the toolbar items need to be enabled / disabled.
     * @param {number[]} items - Specifies the toolbar item indexes / unique id's which needs to be enabled / disabled.
     * If it is not specified the entire toolbar items will be enabled / disabled.
     * @param  {boolean} enable - Boolean value that determines whether the toolbar items should be enabled or disabled.
     * @returns {void} - Enables or disables the specified ribbon toolbar items or all ribbon items.
     */
    enableToolbarItems(tab: string, items?: number[] | string[], enable?: boolean): void;
    /**
     * To show/hide the existing Spreadsheet ribbon toolbar items.
     *
     * {% codeBlock src='spreadsheet/hideToolbarItems/index.md' %}{% endcodeBlock %}
     *
     * @param {string} tab - Specifies the ribbon tab header text under which the specified items needs to be hidden / shown.
     * @param {number[]} indexes - Specifies the toolbar indexes which needs to be shown/hidden from UI.
     * @param {boolean} hide - Set `true` / `false` to hide / show the toolbar items.
     * @returns {void} - To show/hide the existing Spreadsheet ribbon toolbar items.
     */
    hideToolbarItems(tab: string, indexes: number[], hide?: boolean): void;
    /**
     * To add the custom items in Spreadsheet ribbon toolbar.
     *
     * {% codeBlock src='spreadsheet/addToolbarItems/index.md' %}{% endcodeBlock %}
     *
     * @param {string} tab - Specifies the ribbon tab header text under which the specified items will be inserted.
     * @param {navigations.ItemModel[]} items - Specifies the ribbon toolbar items that needs to be inserted.
     * @param {number} index - Specifies the index text before which the new items will be inserted.
     * If not specified, the new items will be inserted at the end of the toolbar.
     * @returns {void} - To add the custom items in Spreadsheet ribbon toolbar.
     */
    addToolbarItems(tab: string, items: navigations.ItemModel[], index?: number): void;
    /**
     * Selects the cell / range of cells with specified address.
     *
     * {% codeBlock src='spreadsheet/selectRange/index.md' %}{% endcodeBlock %}
     *
     * @param {string} address - Specifies the range address.
     * @returns {void} - To select the range.
     */
    selectRange(address: string): void;
    /**
     * Allows you to select a chart from the active sheet. To select a specific chart from the active sheet, pass the chart `id`.
     * If you pass an empty argument, the chart present in the active cell will be selected. If the active cell does not have a chart,
     * the initially rendered chart will be selected from the active sheet.
     *
     * @param {string} id - Specifies the chart `id` to be selected.
     * @returns {void}
     */
    selectChart(id?: string): void;
    /**
     * Allows you to select an image from the active sheet. To select a specific image from the active sheet, pass the image `id`.
     * If you pass an empty argument, the image present in the active cell will be selected. If the active cell does not have an image,
     * the initially rendered image will be selected from the active sheet.
     *
     * @param {string} id - Specifies the image `id` to be selected.
     * @returns {void}
     */
    selectImage(id?: string): void;
    private selectOverlay;
    /**
     * Allows you to remove a selection from the active chart.
     *
     * @returns {void}
     */
    deselectChart(): void;
    /**
     * Allows you to remove a selection from the active image.
     *
     * @returns {void}
     */
    deselectImage(): void;
    /**
     * Start edit the active cell.
     *
     * {% codeBlock src='spreadsheet/startEdit/index.md' %}{% endcodeBlock %}
     *
     * @returns {void} - Start edit the active cell.
     */
    startEdit(): void;
    /**
     * Cancels the edited state, this will not update any value in the cell.
     *
     * {% codeBlock src='spreadsheet/closeEdit/index.md' %}{% endcodeBlock %}
     *
     * @returns {void} - Cancels the edited state, this will not update any value in the cell.
     */
    closeEdit(): void;
    /**
     * If Spreadsheet is in editable state, you can save the cell by invoking endEdit.
     *
     * {% codeBlock src='spreadsheet/endEdit/index.md' %}{% endcodeBlock %}
     *
     * @returns {void} - If Spreadsheet is in editable state, you can save the cell by invoking endEdit.
     */
    endEdit(): void;
    /**
     * This method is used to print the active sheet or the entire workbook.
     *
     * @param {printOptions} printOptions - Represents the settings to customize the print type, row and column headers and gridlines in the printing operation.
     * @returns {void}
     */
    print(printOptions?: PrintOptions): void;
    /**
     * Called internally if any of the property value changed.
     *
     * @param  {SpreadsheetModel} newProp - Specify the new properties
     * @param  {SpreadsheetModel} oldProp - Specify the old properties
     * @returns {void} - Called internally if any of the property value changed.
     * @hidden
     */
    onPropertyChanged(newProp: SpreadsheetModel, oldProp: SpreadsheetModel): void;
    /**
     * To provide the array of modules needed for component rendering.
     *
     * @returns {base.ModuleDeclaration[]} - To provide the array of modules needed for component rendering.
     * @hidden
     */
    requiredModules(): base.ModuleDeclaration[];
    /**
     * Appends the control within the given HTML Div element.
     *
     * {% codeBlock src='spreadsheet/appendTo/index.md' %}{% endcodeBlock %}
     *
     * @param {string | HTMLElement} selector - Target element where control needs to be appended.
     * @returns {void} - Appends the control within the given HTML Div element.
     */
    appendTo(selector: string | HTMLElement): void;
    /**
     * Filters the range of cells in the sheet.
     *
     * @hidden
     * @param {FilterOptions} filterOptions - specifiy the FilterOptions.
     * @param {string} range - Specify the range
     * @returns {Promise<FilterEventArgs>} - Filters the range of cells in the sheet.
     */
    filter(filterOptions?: FilterOptions, range?: string): Promise<FilterEventArgs>;
    /**
     * Clears the filter changes of the sheet.
     *
     * {% codeBlock src='spreadsheet/clearFilter/index.md' %}{% endcodeBlock %}
     *
     * @param {string} field - Specify the field.
     * @param {number} sheetIndex - Specify the index of the sheet.
     * @returns {void} - To clear the filter.
     */
    clearFilter(field?: string, sheetIndex?: number): void;
    /**
     * Applies the filter UI in the range of cells in the sheet.
     *
     * {% codeBlock src='spreadsheet/applyFilter/index.md' %}{% endcodeBlock %}
     *
     * @param {grids.PredicateModel[]} predicates - Specifies the predicates.
     * @param {string} range - Specify the range.
     * @returns {Promise<void>} - to apply the filter.
     */
    applyFilter(predicates?: grids.PredicateModel[], range?: string): Promise<void>;
    /**
     * To add custom library function.
     *
     *  {% codeBlock src='spreadsheet/addCustomFunction/index.md' %}{% endcodeBlock %}
     *
     * @param {string} functionHandler - Custom function handler name
     * @param {string} functionName - Custom function name
     * @param  {string} formulaDescription - Specifies formula description.
     * @returns {void} - To add custom function.
     */
    addCustomFunction(functionHandler: string | Function, functionName?: string, formulaDescription?: string): void;
    /**
     * Sets or releases the read-only status for a specified range in the given sheet.
     *
     * @param {boolean} readOnly - A boolean indicating whether the range should be set as read-only (true) or editable (false).
     * @param {string} range - The range to be set as read-only. It can be a single cell, a range of cells (e.g., "A1:B5"), a column (e.g., "C"), or a row (e.g., "10").
     * @param {number} sheetIndex - The index of the sheet where the range is located. If not provided, it defaults to the active sheet index.
     * @returns {void} - Sets the read-only status for a specified range in the given sheet.
     *
     */
    setRangeReadOnly(readOnly: boolean, range: string, sheetIndex: number): void;
}
//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.
     *
     * {% codeBlock src='spreadsheet/cssClass/index.md' %}{% endcodeBlock %}
     *
     * @default ''
     */
    cssClass?: string;
    /**
     * It specifies whether the Spreadsheet should be rendered with scrolling or not.
     * To customize the Spreadsheet scrolling behavior, use the [`scrollSettings`](https://ej2.syncfusion.com/documentation/api/spreadsheet/#scrollSettings) property.
     *
     * @default true
     */
    allowScrolling?: boolean;
    /**
     * If `allowResizing` is set to true, spreadsheet columns and rows can be resized.
     *
     * @default true
     */
    allowResizing?: boolean;
    /**
     * If `showAggregate` is set to true, spreadsheet will show the AVERAGE, SUM, COUNT, MIN and MAX values based on the selected cells.
     *
     * @default true
     */
    showAggregate?: boolean;
    /**
     * It enables or disables the clipboard operations (cut, copy, and paste) of the Spreadsheet.
     *
     * @default true
     */
    enableClipboard?: boolean;
    /**
     * It enables or disables the context menu option of spreadsheet. By default, context menu will opens for row header,
     * column header, sheet tabs, and cell.
     *
     * @default true
     */
    enableContextMenu?: boolean;
    /**
     * It allows you to interact with cell, sheet tabs, formula bar, and ribbon through the keyboard device.
     *
     * @default true
     */
    enableKeyboardNavigation?: boolean;
    /**
     * It enables shortcut keys to perform Spreadsheet operations like open, save, copy, paste, and more.
     *
     * @default true
     */
    enableKeyboardShortcut?: boolean;
    /**
     * It allows to enable/disable undo and redo functionalities.
     *
     * @default true
     */
    allowUndoRedo?: boolean;
    /**
     * It allows to enable/disable wrap text feature. By using this feature the wrapping applied cell text can wrap to the next line,
     * if the text width exceeds the column width.
     *
     * @default true
     */
    allowWrap?: boolean;
    /**
     * Configures the selection settings.
     *
     * The selectionSettings `mode` property has three values and 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.
     *
     * {% codeBlock src='spreadsheet/selectionSettings/index.md' %}{% endcodeBlock %}
     *
     * @default { mode: 'Multiple' }
     */
    selectionSettings?: SelectionSettingsModel;
    /**
     * Configures the scroll settings.
     *
     * {% codeBlock src='spreadsheet/scrollSettings/index.md' %}{% endcodeBlock %}
     *
     * > The `allowScrolling` property should be `true`.
     *
     * @default { isFinite: false, enableVirtualization: true }
     */
    scrollSettings?: ScrollSettingsModel;
    /**
     * Triggers before the cell appended to the DOM.
     * ```html
     * <div id='Spreadsheet'></div>
     * ```
     * ```typescript
     * new Spreadsheet({
     *      beforeCellRender: (args: CellRenderEventArgs) => {
     *      }
     *      ...
     *  }, '#Spreadsheet');
     * ```
     *
     * @event beforeCellRender
     */
    beforeCellRender?: base.EmitType<CellRenderEventArgs>;
    /**
     * Triggers before the cell or range of cells being selected.
     * ```html
     * <div id='Spreadsheet'></div>
     * ```
     * ```typescript
     * new Spreadsheet({
     *      beforeSelect: (args: BeforeSelectEventArgs) => {
     *      }
     *      ...
     *  }, '#Spreadsheet');
     * ```
     *
     * @event beforeSelect
     */
    beforeSelect?: base.EmitType<BeforeSelectEventArgs>;
    /**
     * Triggers after the cell or range of cells is selected.
     * ```html
     * <div id='Spreadsheet'></div>
     * ```
     * ```typescript
     * new Spreadsheet({
     *      base.select: (args: SelectEventArgs) => {
     *      }
     *      ...
     *  }, '#Spreadsheet');
     * ```
     *
     * @event base.select
     */
    select?: base.EmitType<SelectEventArgs>;
    /**
     * Triggers before opening the context menu and it allows customizing the menu items.
     * ```html
     * <div id='Spreadsheet'></div>
     * ```
     * ```typescript
     * new Spreadsheet({
     *       contextMenuBeforeOpen: (args: navigations.BeforeOpenCloseMenuEventArgs) => {
     *       }
     *      ...
     *  }, '#Spreadsheet');
     * ```
     *
     * @event contextMenuBeforeOpen
     */
    contextMenuBeforeOpen?: base.EmitType<navigations.BeforeOpenCloseMenuEventArgs>;
    /**
     * Triggers before opening the file menu.
     * ```html
     * <div id='Spreadsheet'></div>
     * ```
     * ```typescript
     * new Spreadsheet({
     *       fileMenuBeforeOpen: (args: navigations.BeforeOpenCloseMenuEventArgs) => {
     *       }
     *      ...
     *  }, '#Spreadsheet');
     * ```
     *
     * @event fileMenuBeforeOpen
     */
    fileMenuBeforeOpen?: base.EmitType<navigations.BeforeOpenCloseMenuEventArgs>;
    /**
     * Triggers before closing the context menu.
     * ```html
     * <div id='Spreadsheet'></div>
     * ```
     * ```typescript
     * new Spreadsheet({
     *       contextMenuBeforeClose: (args: navigations.BeforeOpenCloseMenuEventArgs) => {
     *       }
     *      ...
     *  }, '#Spreadsheet');
     * ```
     *
     * @event contextMenuBeforeClose
     */
    contextMenuBeforeClose?: base.EmitType<navigations.BeforeOpenCloseMenuEventArgs>;
    /**
     * Triggers before opening the dialog box.
     * ```html
     * <div id='Spreadsheet'></div>
     * ```
     * ```typescript
     * new Spreadsheet({
     *       dialogBeforeOpen: (args: DialogBeforeOpenEventArgs) => {
     *       }
     *      ...
     *  }, '#Spreadsheet');
     * ```
     *
     * @event dialogBeforeOpen
     */
    dialogBeforeOpen?: base.EmitType<DialogBeforeOpenEventArgs>;
    /**
     * Triggers before closing the file menu.
     * ```html
     * <div id='Spreadsheet'></div>
     * ```
     * ```typescript
     * new Spreadsheet({
     *       fileMenuBeforeClose: (args: navigations.BeforeOpenCloseMenuEventArgs) => {
     *       }
     *      ...
     *  }, '#Spreadsheet');
     * ```
     *
     * @event fileMenuBeforeClose
     */
    fileMenuBeforeClose?: base.EmitType<navigations.BeforeOpenCloseMenuEventArgs>;
    /**
     * Triggers when the context menu item is selected.
     * ```html
     * <div id='Spreadsheet'></div>
     * ```
     * ```typescript
     * new Spreadsheet({
     *       contextMenuItemSelect: (args: MenuSelectEventArgs) => {
     *       }
     *      ...
     *  }, '#Spreadsheet');
     * ```
     *
     * @event contextMenuItemSelect
     */
    contextMenuItemSelect?: base.EmitType<MenuSelectEventArgs>;
    /**
     * Triggers when the file menu item is selected.
     * ```html
     * <div id='Spreadsheet'></div>
     * ```
     * ```typescript
     * new Spreadsheet({
     *       fileMenuItemSelect: (args: MenuSelectEventArgs) => {
     *       }
     *      ...
     *  }, '#Spreadsheet');
     * ```
     *
     * @event fileMenuItemSelect
     */
    fileMenuItemSelect?: base.EmitType<MenuSelectEventArgs>;
    /**
     * Triggers before the data is populated to the worksheet.
     * ```html
     * <div id='Spreadsheet'></div>
     * ```
     * ```typescript
     * new Spreadsheet({
     *       beforeDataBound: (args: Object) => {
     *       }
     *      ...
     *  }, '#Spreadsheet');
     * ```
     *
     * @event beforeDataBound
     */
    beforeDataBound?: base.EmitType<Object>;
    /**
     * Triggers when the data is populated in the worksheet.
     * ```html
     * <div id='Spreadsheet'></div>
     * ```
     * ```typescript
     * new Spreadsheet({
     *       dataBound: (args: Object) => {
     *       }
     *      ...
     *  }, '#Spreadsheet');
     * ```
     *
     * @event dataBound
     */
    dataBound?: base.EmitType<Object>;
    /**
     * Triggers during data changes when the data is provided as `dataSource` in the Spreadsheet.
     * ```html
     * <div id='Spreadsheet'></div>
     * ```
     * ```typescript
     * new Spreadsheet({
     *       dataSourceChanged: (args: DataSourceChangedEventArgs) => {
     *       }
     *      ...
     *  }, '#Spreadsheet');
     * ```
     *
     * @event dataSourceChanged
     */
    dataSourceChanged?: base.EmitType<DataSourceChangedEventArgs>;
    /**
     * Triggers when the cell is being edited.
     * ```html
     * <div id='Spreadsheet'></div>
     * ```
     * ```typescript
     * new Spreadsheet({
     *       cellEdit: (args: CellEditEventArgs) => {
     *       }
     *      ...
     *  }, '#Spreadsheet');
     * ```
     *
     * @event cellEdit
     */
    cellEdit?: base.EmitType<CellEditEventArgs>;
    /**
     * Triggers every time a request is made to access cell information.
     * This will be triggered when editing a cell.
     * ```html
     * <div id='Spreadsheet'></div>
     * ```
     * ```typescript
     * new Spreadsheet({
     *       cellEditing: (args: CellEditEventArgs) => {
     *       }
     *      ...
     *  }, '#Spreadsheet');
     * ```
     *
     * @event cellEditing
     */
    cellEditing?: base.EmitType<CellEditEventArgs>;
    /**
     * Triggers when the cell has been edited.
     * ```html
     * <div id='Spreadsheet'></div>
     * ```
     * ```typescript
     * new Spreadsheet({
     *       cellEdited: (args: CellEditEventArgs) => {
     *       }
     *      ...
     *  }, '#Spreadsheet');
     * ```
     *
     * @event cellEdited
     */
    cellEdited?: base.EmitType<CellEditEventArgs>;
    /**
     * Triggers when the edited cell is saved.
     *
     * ```html
     * <div id='Spreadsheet'></div>
     * ```
     * ```typescript
     * new Spreadsheet({
     *       cellSave: (args: CellSaveEventArgs) => {
     *       }
     *      ...
     *  }, '#Spreadsheet');
     * ```
     *
     * @event cellSave
     */
    cellSave?: base.EmitType<CellSaveEventArgs>;
    /**
     * Triggers when before the cell is saved.
     *
     * ```html
     * <div id='Spreadsheet'></div>
     * ```
     * ```typescript
     * new Spreadsheet({
     *       beforeCellSave: (args: CellEditEventArgs) => {
     *       }
     *      ...
     *  }, '#Spreadsheet');
     * ```
     *
     * @event beforeCellSave
     */
    beforeCellSave?: base.EmitType<CellEditEventArgs>;
    /**
     * Triggers when the component is created.
     *
     * ```html
     * <div id='Spreadsheet'></div>
     * ```
     * ```typescript
     * new Spreadsheet({
     *       created: () => {
     *       }
     *      ...
     *  }, '#Spreadsheet');
     * ```
     *
     * @event created
     */
    created?: base.EmitType<Event>;
    /**
     * Triggers before sorting the specified range.
     *
     * ```html
     * <div id='Spreadsheet'></div>
     * ```
     * ```typescript
     * new Spreadsheet({
     *       beforeSort: (args: BeforeSortEventArgs) => {
     *       }
     *      ...
     *  }, '#Spreadsheet');
     * ```
     *
     * @event beforeSort
     */
    beforeSort?: base.EmitType<BeforeSortEventArgs>;
    /**
     * Triggers before insert a hyperlink.
     *
     * ```html
     * <div id='Spreadsheet'></div>
     * ```
     * ```typescript
     * new Spreadsheet({
     *       beforeHyperlinkCreate: (args: BeforeHyperlinkArgs ) => {
     *       }
     *      ...
     *  }, '#Spreadsheet');
     * ```
     *
     * @event beforeHyperlinkCreate
     */
    beforeHyperlinkCreate?: base.EmitType<BeforeHyperlinkArgs>;
    /**
     * Triggers after the hyperlink inserted.
     *
     * ```html
     * <div id='Spreadsheet'></div>
     * ```
     * ```typescript
     * new Spreadsheet({
     *       afterHyperlinkCreate: (args: afterHyperlinkArgs ) => {
     *       }
     *      ...
     *  }, '#Spreadsheet');
     * ```
     *
     * @event afterHyperlinkCreate
     */
    afterHyperlinkCreate?: base.EmitType<AfterHyperlinkArgs>;
    /**
     * Triggers when the Hyperlink is clicked.
     *
     * ```html
     * <div id='Spreadsheet'></div>
     * ```
     * ```typescript
     * new Spreadsheet({
     *       beforeHyperlinkClick: (args: BeforeHyperlinkArgs ) => {
     *       }
     *      ...
     *  }, '#Spreadsheet');
     * ```
     *
     * @event beforeHyperlinkClick
     */
    beforeHyperlinkClick?: base.EmitType<BeforeHyperlinkArgs>;
    /**
     * Triggers when the Hyperlink function gets completed.
     *
     * ```html
     * <div id='Spreadsheet'></div>
     * ```
     * ```typescript
     * new Spreadsheet({
     *       afterHyperlinkClick: (args: AfterHyperlinkArgs ) => {
     *       }
     *      ...
     *  }, '#Spreadsheet');
     * ```
     *
     * @event afterHyperlinkClick
     */
    afterHyperlinkClick?: base.EmitType<AfterHyperlinkArgs>;
    /**
     * Triggers before apply or remove the conditional format from a cell in a range.
     *
     * ```html
     * <div id='Spreadsheet'></div>
     * ```
     * ```typescript
     * new Spreadsheet({
     *       beforeConditionalFormat: (args: ConditionalFormatEventArgs) => {
     *       }
     *      ...
     *  }, '#Spreadsheet');
     * ```
     *
     * @event cellSave
     */
    beforeConditionalFormat?: base.EmitType<ConditionalFormatEventArgs>;
    /**
     * Triggers when the Spreadsheet actions (such as editing, formatting, sorting etc..) are starts.
     *
     * ```html
     * <div id='Spreadsheet'></div>
     * ```
     * ```typescript
     * new Spreadsheet({
     *       actionBegin: (args: BeforeCellFormatArgs|BeforeOpenEventArgs|BeforeSaveEventArgs|BeforeSelectEventArgs
     *                    |BeforeSortEventArgs|CellEditEventArgs|MenuSelectEventArgs) => {
     *       }
     *      ...
     *  }, '#Spreadsheet');
     * ```
     *
     * @event
     */
    actionBegin?: base.EmitType<BeforeCellFormatArgs | BeforeOpenEventArgs | BeforeSaveEventArgs | BeforeSelectEventArgs | BeforeSortEventArgs | CellEditEventArgs | MenuSelectEventArgs>;
    /**
     * Triggers when the spreadsheet actions (such as editing, formatting, sorting etc..) gets completed.
     *
     * ```html
     * <div id='Spreadsheet'></div>
     * ```
     * ```typescript
     * new Spreadsheet({
     *       actionComplete: (args: SortEventArgs|CellSaveEventArgs|SaveCompleteEventArgs|Object) => {
     *       }
     *      ...
     *  }, '#Spreadsheet');
     * ```
     *
     * @event
     */
    actionComplete?: base.EmitType<SortEventArgs | CellSaveEventArgs | SaveCompleteEventArgs | Object>;
    /**
     *
     * ```html
     * <div id='Spreadsheet'></div>
     * ```
     * ```typescript
     * new Spreadsheet({
     *       openComplete: (args: Object) => {
     *       }
     *      ...
     *  }, '#Spreadsheet');
     * ```
     *
     * @event openComplete
     */
    openComplete?: base.EmitType<Object>;
    /**
     * Triggers after sorting action is completed.
     *
     * ```html
     * <div id='Spreadsheet'></div>
     * ```
     * ```typescript
     * new Spreadsheet({
     *       sortComplete: (args: SortEventArgs) => {
     *       }
     *      ...
     *  }, '#Spreadsheet');
     * ```
     *
     * @event sortComplete
     */
    sortComplete?: base.EmitType<SortEventArgs>;
    /**
     * Defines the currencyCode format of the Spreadsheet cells
     *
     * @private
     */
    currencyCode?: string;
}
//node_modules/@syncfusion/ej2-spreadsheet/src/spreadsheet/actions/wrap.d.ts
/**
 * Represents Wrap Text support for Spreadsheet.
 */
export  class WrapText {
    private parent;
    private wrapCell;
    /**
     * Constructor for the Spreadsheet Wrap Text module.
     *
     * @param {Spreadsheet} parent - Specifies the Spreadsheet.
     * @private
     */
    constructor(parent: Spreadsheet);
    private addEventListener;
    private removeEventListener;
    private wrapTextHandler;
    private ribbonClickHandler;
    private rowHeightChangedHandler;
    private colWidthChanged;
    private updateWrapCell;
    /**
     * For internal use only - Get the module name.
     *
     * @returns {string} - Get the module name.
     * @private
     */
    protected getModuleName(): string;
    /**
     * Removes the added event handlers and clears the internal properties of WrapText module.
     *
     * @returns {void}
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-spreadsheet/src/spreadsheet/actions/virtual-scroll.d.ts
/**
 * VirtualScroll module
 *
 * @hidden
 */
export  class VirtualScroll {
    private parent;
    private rowHeader;
    private colHeader;
    private content;
    private translateX;
    private translateY;
    private scroll;
    constructor(parent: Spreadsheet);
    private createVirtualElement;
    private initScroll;
    private setScrollCount;
    private getRowAddress;
    private getColAddress;
    private updateScrollCount;
    private onVerticalScroll;
    private skipHiddenLastIdx;
    private hiddenCount;
    private checkLastIdx;
    private onHorizontalScroll;
    private focusSheet;
    private setThresholdHeight;
    private setThresholdWidth;
    private translate;
    private updateColumnWidth;
    private updateRowColCount;
    private getVTrackHeight;
    private updateVTrackHeight;
    private updateVTrackWidth;
    private updateVTrack;
    private deInitProps;
    private updateScrollProps;
    private sliceScrollProps;
    private updateTranslate;
    private addEventListener;
    private destroy;
    private removeEventListener;
}
//node_modules/@syncfusion/ej2-spreadsheet/src/spreadsheet/actions/undo-redo.d.ts
/**
 * UndoRedo module allows to perform undo redo functionalities.
 */
export  class UndoRedo {
    private parent;
    private undoCollection;
    private redoCollection;
    private isUndo;
    private beforeActionData;
    private undoRedoStep;
    constructor(parent: Spreadsheet);
    private setActionData;
    private getBeforeActionData;
    private performUndoRedo;
    private undoForSorting;
    private updateUndoRedoCollection;
    private clearUndoRedoCollection;
    private updateUndoRedoIcons;
    private updateUndoRedoSheetReferences;
    private undoForClipboard;
    private undoForResize;
    private performOperation;
    private getCellDetails;
    private updateCellDetails;
    private checkRefreshNeeded;
    private addEventListener;
    private removeEventListener;
    /**
     * Destroy undo redo module.
     *
     * @returns {void} - Destroy undo redo module.
     */
    destroy(): void;
    /**
     * Get the undo redo module name.
     *
     * @returns {string} - Get the undo redo module name.
     */
    getModuleName(): string;
}
//node_modules/@syncfusion/ej2-spreadsheet/src/spreadsheet/actions/show-hide.d.ts
/**
 * The `ShowHide` module is used to perform hide/show the rows and columns.
 *
 * @hidden
 */
export  class ShowHide {
    private parent;
    /**
     * Constructor for the Spreadsheet show hide module.
     *
     * @param {Spreadsheet} parent - Specify the spreadsheet instance.
     * @private
     */
    constructor(parent: Spreadsheet);
    private hideShow;
    private updateIndexOnlyForHiddenColumnsAndRows;
    private hideRow;
    private hideCol;
    private removeCell;
    private appendCell;
    private refreshChart;
    private refreshChartCellModel;
    private addEventListener;
    private destroy;
    private removeEventListener;
}
//node_modules/@syncfusion/ej2-spreadsheet/src/spreadsheet/actions/selection.d.ts
/**
 * Represents selection support for Spreadsheet.
 */
export  class Selection {
    private parent;
    private startCell;
    private isRowSelected;
    private isColSelected;
    private scrollInterval;
    private touchEvt;
    private mouseMoveEvt;
    private invalidOperators;
    private formulaRange;
    private dStartCell;
    private dEndCell;
    private touchSelectionStarted;
    private isautoFillClicked;
    dAutoFillCell: string;
    /** @hidden */
    previousActiveCell: string;
    /** @hidden */
    isNoteActiveElement: boolean;
    private isNoteTouch;
    /**
     * Constructor for the Spreadsheet selection module.
     *
     * @param {Spreadsheet} parent - Constructor for the Spreadsheet selection module.
     * @private
     */
    constructor(parent: Spreadsheet);
    private addEventListener;
    private removeEventListener;
    private isTouchSelectionStarted;
    private selectionByKeydown;
    private rowHeightChanged;
    private colWidthChanged;
    private selectRange;
    private init;
    private selectMultiRange;
    private createSelectionElement;
    private isMergeActiveCell;
    private mouseDownHandler;
    private mouseMoveHandler;
    private mouseUpHandler;
    private updateFormulaCursorPosition;
    private isSelected;
    private virtualContentLoadedHandler;
    private clearInterval;
    private getScrollLeft;
    private cellNavigateHandler;
    private getColIdxFromClientX;
    private isScrollableArea;
    private getRowIdxFromClientY;
    private initFormulaReferenceIndicator;
    private isMouseEvent;
    private selectRangeByIdx;
    private isRowColSelected;
    private updateActiveCell;
    private getOffset;
    private getSelectionElement;
    private getActiveCell;
    private getSheetElement;
    private highlightHdr;
    private protectHandler;
    private initiateFormulaSelection;
    private processFormulaEditRange;
    private updateFormulaEditRange;
    private chartBorderHandler;
    private focusBorder;
    private getRefIndicatorFn;
    private clearBorder;
    /**
     * For internal use only - Get the module name.
     *
     * @private
     * @returns {string} - Get the module name.
     */
    protected getModuleName(): string;
    destroy(): void;
}
//node_modules/@syncfusion/ej2-spreadsheet/src/spreadsheet/actions/scroll.d.ts
/**
 * The `Scroll` module is used to handle scrolling behavior.
 *
 * @hidden
 */
export  class Scroll {
    private parent;
    /** @hidden */
    offset: {
        left: IOffset;
        top: IOffset;
    };
    private topIndex;
    private leftIndex;
    private clientX;
    /** @hidden */
    isKeyScroll: boolean;
    private initScrollValue;
    /** @hidden */
    prevScroll: {
        scrollLeft: number;
        scrollTop: number;
    };
    /**
     * Constructor for the Spreadsheet scroll module.
     *
     * @param {Spreadsheet} parent - Constructor for the Spreadsheet scroll module.
     * @private
     */
    constructor(parent: Spreadsheet);
    private onContentScroll;
    private updateNoteContainer;
    private updateScrollValue;
    private updateNonVirtualRows;
    private updateNonVirtualCols;
    private updateTopLeftCell;
    private getRowOffset;
    private getColOffset;
    private contentLoaded;
    private updateNonVirualScrollWidth;
    private onHeaderWheel;
    private onContentWheel;
    private scrollHandler;
    private updateScroll;
    private setScrollEvent;
    private initProps;
    /**
     * @hidden
     *
     * @param {boolean} isRtlChange - Specifies RtlChange or not.
     * @returns {void} - To Set padding
     */
    setPadding(isRtlChange?: boolean): void;
    private setClientX;
    private getPointX;
    private onTouchScroll;
    private pointerUpHandler;
    private addEventListener;
    private destroy;
    private removeEventListener;
}
//node_modules/@syncfusion/ej2-spreadsheet/src/spreadsheet/actions/resize.d.ts
/**
 * The `Resize` module is used to handle the resizing functionalities in Spreadsheet.
 */
export  class Resize {
    private parent;
    private trgtEle;
    private event;
    private isMouseMoved;
    /**
     * Constructor for resize module in Spreadsheet.
     *
     * @param {Spreadsheet} parent - Constructor for resize module in Spreadsheet.
     * @private
     */
    constructor(parent: Spreadsheet);
    private addEventListener;
    private autoFit;
    private wireEvents;
    private wireResizeCursorEvent;
    private unWireResizeCursorEvent;
    private unwireEvents;
    private removeEventListener;
    private mouseMoveHandler;
    private mouseDownHandler;
    private mouseUpHandler;
    private dblClickHandler;
    private setTarget;
    private getColPrevSibling;
    private getRowPrevSibling;
    private updateTarget;
    private setAutoFitHandler;
    private getWrapText;
    private setAutofit;
    private getMergedColumnsWidth;
    private createResizeHandler;
    private resizeTooltip;
    private setColWidth;
    private showHideCopyIndicator;
    private showHiddenColumns;
    private setRowHeight;
    private resizeOn;
    private resizeStart;
    private updateCursor;
    private getFloatingElementWidth;
    /**
     * To destroy the resize module.
     *
     * @returns {void} - To destroy the resize module.
     */
    destroy(): void;
    /**
     * Get the module name.
     *
     * @returns {string} - Get the module name.
     */
    protected getModuleName(): string;
    private propertyChange;
}
//node_modules/@syncfusion/ej2-spreadsheet/src/spreadsheet/actions/protect-sheet.d.ts
/**
 * The `Protect-sheet` module is used to handle the Protecting functionalities in Spreadsheet.
 */
export  class ProtectSheet {
    private parent;
    private optionList;
    /**
     * Constructor for protectSheet module in Spreadsheet.
     *
     * @param {Spreadsheet} parent - Specify the spreadsheet.
     * @private
     */
    constructor(parent: Spreadsheet);
    private init;
    /**
     * To destroy the protectSheet module.
     *
     * @returns {void} - To destroy the protectSheet module.
     * @hidden
     */
    destroy(): void;
    private addEventListener;
    private removeEventListener;
    private protect;
    private createDialogue;
    private dialogOpen;
    private selectOption;
    private applySheetPwd;
    private updateProtectSheet;
    private protectSheetHandler;
    private editProtectedAlert;
    private protectWorkbook;
    private passwordProtectContent;
    private KeyUpHandler;
    private alertMessage;
    private dlgClickHandler;
    private protectWorkbookHandler;
    private unProtectWorkbook;
    private unProtectsheet;
    private reEnterSheetPassword;
    private unProtectPasswordContent;
    private unProtectSheetPasswordContent;
    private unprotectdlgOkClick;
    private removeWorkbookProtection;
    private unprotectSheetdlgOkClick;
    private unProtectSheetPassword;
    private toggleProtect;
    /**
     * Get the module name.
     *
     * @returns {string} - Get the module name.
     *
     * @private
     */
    getModuleName(): string;
}
//node_modules/@syncfusion/ej2-spreadsheet/src/spreadsheet/actions/note.d.ts
/**
 * `Note` module
 */
export  class SpreadsheetNote {
    private parent;
    /** @hidden */
    isNoteVisible: boolean;
    /** @hidden */
    isShowNote: boolean;
    /** @hidden */
    isNoteVisibleOnTouch: boolean;
    /** @hidden */
    noteCellIndexes: number[];
    /**
     * Constructor for Note module.
     *
     * @param {Spreadsheet} parent - Constructor for Note module.
     */
    constructor(parent: Spreadsheet);
    /**
     * To destroy the Note module.
     *
     * @returns {void} - To destroy the Note module.
     */
    protected destroy(): void;
    private addEventListener;
    private removeEventListener;
    /**
     * Gets the module name.
     *
     * @returns {string} - Gets the module name.
     */
    protected getModuleName(): string;
    private addNote;
    private deleteNote;
    private editNote;
    private createNoteIndicator;
    private mouseOver;
    private mouseOut;
    private createNoteContainer;
    private getNoteFocus;
    private createContainer;
    private createConnectorLine;
    private showNote;
    private removeNoteContainer;
    private updateNoteContainer;
}
//node_modules/@syncfusion/ej2-spreadsheet/src/spreadsheet/actions/merge.d.ts
/**
 * The `Merge` module is used to to merge the range of cells.
 */
export  class Merge {
    private parent;
    /**
     * Constructor for the Spreadsheet merge module.
     *
     * @param {Spreadsheet} parent - Specify the spreadsheet.
     * @private
     */
    constructor(parent: Spreadsheet);
    private merge;
    private hideHandler;
    private checkPrevMerge;
    private checkMerge;
    private addEventListener;
    /**
     * Destroy merge module.
     *
     * @returns {void} - Destroy merge module.
     */
    destroy(): void;
    private removeEventListener;
    /**
     * Get the merge module name.
     *
     * @returns {string} - Get the merge module name.
     */
    getModuleName(): string;
}
//node_modules/@syncfusion/ej2-spreadsheet/src/spreadsheet/actions/keyboard-shortcut.d.ts
/**
 * Represents keyboard shortcut support for Spreadsheet.
 */
export  class KeyboardShortcut {
    private parent;
    /**
     * Constructor for the Spreadsheet Keyboard Shortcut module.
     *
     * @param {Spreadsheet} parent - Specify the spreadsheet.
     * @private
     */
    constructor(parent: Spreadsheet);
    private addEventListener;
    private removeEventListener;
    private isTrgtNotInput;
    private ribbonShortCuts;
    private keyUpHandler;
    private keyDownHandler;
    private focusTarget;
    private getModuleName;
    destroy(): void;
}
//node_modules/@syncfusion/ej2-spreadsheet/src/spreadsheet/actions/keyboard-navigation.d.ts
/**
 * Represents keyboard navigation support for Spreadsheet.
 */
export  class KeyboardNavigation {
    private parent;
    /**
     * Constructor for the Spreadsheet Keyboard Navigation module.
     *
     * @private
     * @param {Spreadsheet} parent - Specify the spreadsheet
     */
    constructor(parent: Spreadsheet);
    private addEventListener;
    private removeEventListener;
    private keyDownHandler;
    private setFocus;
    private focusEle;
    private updateSelection;
    private getNextNonEmptyCell;
    private getNextUnlockedCell;
    private shiftSelection;
    private scrollNavigation;
    /**
     * For internal use only - Get the module name.
     *
     * @private
     * @returns {string} - Get the module name.
     */
    protected getModuleName(): string;
    destroy(): void;
}
//node_modules/@syncfusion/ej2-spreadsheet/src/spreadsheet/actions/insert.d.ts
/**
 * The `Insert` module is used to insert cells, rows, columns and sheets in to the spreadsheet.
 */
export  class Insert {
    private parent;
    /**
     * Constructor for the Spreadsheet insert module.
     *
     * @param {Spreadsheet} parent - Specify the spreadsheet instance.
     * @private
     */
    constructor(parent: Spreadsheet);
    private insert;
    private refreshImgChartElement;
    private addEventListener;
    /**
     * Destroy insert module.
     *
     * @returns {void} - Destroy insert module.
     */
    destroy(): void;
    private removeEventListener;
    /**
     * Get the insert module name.
     *
     * @returns {string} - Get the insert module name.
     */
    getModuleName(): string;
}
//node_modules/@syncfusion/ej2-spreadsheet/src/spreadsheet/actions/hyperlink.d.ts
/**
 * `Hyperlink` module
 */
export  class SpreadsheetHyperlink {
    private parent;
    /**
     * Constructor for Hyperlink module.
     *
     * @param {Spreadsheet} parent - Constructor for Hyperlink module.
     */
    constructor(parent: Spreadsheet);
    /**
     * To destroy the Hyperlink module.
     *
     * @returns {void} - To destroy the Hyperlink module.
     */
    protected destroy(): void;
    private addEventListener;
    private removeEventListener;
    /**
     * Gets the module name.
     *
     * @returns {string} - Gets the module name.
     */
    protected getModuleName(): string;
    private keyUpHandler;
    private initiateHyperlinkHandler;
    private dialogBeforeClose;
    private dlgClickHandler;
    private showDialog;
    private editHyperlinkHandler;
    private openHyperlinkHandler;
    private hlOpenHandler;
    private isValidUrl;
    private showInvalidHyperlinkDialog;
    private hyperlinkClickHandler;
    private createHyperlinkEle;
    private hyperEditContent;
    private divElements;
    private inputElements;
    private headerTabs;
    private hyperlinkContent;
    private removeHyperlink;
    private removeHyperlinkHandler;
}
//node_modules/@syncfusion/ej2-spreadsheet/src/spreadsheet/actions/find-and-replace.d.ts
/**
 * `FindAndReplace` module is used to handle the search action in Spreadsheet.
 */
export  class FindAndReplace {
    private parent;
    private shortValue;
    private findDialog;
    private findValue;
    /**
     * Constructor for FindAndReplace module.
     *
     * @param {Spreadsheet} parent - Constructor for FindAndReplace module.
     */
    constructor(parent: Spreadsheet);
    private addEventListener;
    private removeEventListener;
    private findToolDlg;
    private refreshFindDlg;
    private updateCount;
    private closeDialog;
    private renderFindDlg;
    private dialogBeforeClose;
    private dialogMessage;
    private renderGotoDlg;
    private textFocus;
    private findHandler;
    private replaceHandler;
    private gotoHandler;
    private gotoAlert;
    private showFindAlert;
    private replaceAllDialog;
    private findKeyUp;
    private divElements;
    private paraElements;
    private inputElements;
    private textBoxElements;
    private dropDownListElements;
    private checkBoxElements;
    private findandreplaceContent;
    private GotoContent;
    /**
     * To destroy the find-and-replace module.
     *
     * @returns {void} - To destroy the find-and-replace module.
     */
    protected destroy(): void;
    /**
     * Gets the module name.
     *
     * @returns {string} - Gets the module name.
     */
    protected getModuleName(): string;
}
//node_modules/@syncfusion/ej2-spreadsheet/src/spreadsheet/actions/edit.d.ts
/**
 * The `Protect-Sheet` module is used to handle the Protecting functionalities in Spreadsheet.
 */
export  class Edit {
    private parent;
    private editorElem;
    private editCellData;
    private isEdit;
    private isCellEdit;
    private isNewValueEdit;
    private isAltEnter;
    private curEndPos;
    private curStartPos;
    private endFormulaRef;
    private uniqueColl;
    private uniqueCell;
    private uniqueActCell;
    private isSpill;
    private tapedTwice;
    private keyCodes;
    private formulaErrorStrings;
    /**
     * Constructor for edit module in Spreadsheet.
     *
     * @param {Spreadsheet} parent - Constructor for edit module in Spreadsheet.
     * @private
     */
    constructor(parent: Spreadsheet);
    /**
     * To destroy the edit module.
     *
     * @returns {void} - To destroy the edit module.
     * @hidden
     */
    destroy(): void;
    private addEventListener;
    private removeEventListener;
    /**
     * Get the module name.
     *
     * @returns {string} - Get the module name.
     * @private
     */
    getModuleName(): string;
    private performEditOperation;
    private keyUpHandler;
    private updateFormulaReference;
    private keyDownHandler;
    private renderEditor;
    private refreshEditor;
    private startEdit;
    private setCursorPosition;
    private hasFormulaSuggSelected;
    private editingHandler;
    private getCurPosition;
    private mouseDownHandler;
    private tapHandler;
    private dblClickHandler;
    private updateEditCellDetail;
    private initiateEditor;
    private positionEditor;
    private updateEditedValue;
    private updateCell;
    private checkUniqueRange;
    private updateUniqueRange;
    private reApplyFormula;
    private refreshDependentCellValue;
    private getRefreshNodeArgs;
    endEdit(refreshFormulaBar?: boolean, event?: MouseEvent & TouchEvent | base.KeyboardEventArgs, isPublic?: boolean): void;
    cancelEdit(refreshFormulaBar?: boolean, trigEvent?: boolean, event?: MouseEvent & TouchEvent | base.KeyboardEventArgs, isInternal?: boolean): void;
    private focusElement;
    private triggerEvent;
    private altEnter;
    private resetEditState;
    private refSelectionRender;
    private initiateRefSelection;
    private addressHandler;
    private updateFormulaBarValue;
    private setFormulaBarCurPosition;
    private initiateCurPosition;
    private getEditElement;
    private sheetChangeHandler;
    private showFormulaAlertDlg;
    private getFormulaErrorKey;
    private readOnlyAlertHandler;
    private finiteAlertHandler;
}
//node_modules/@syncfusion/ej2-spreadsheet/src/spreadsheet/actions/delete.d.ts
/**
 * The `Delete` module is used to delete cells, rows, columns and sheets from the spreadsheet.
 */
export  class Delete {
    private parent;
    /**
     * Constructor for the Spreadsheet insert module.
     *
     * @param {Spreadsheet} parent - Constructor for the Spreadsheet insert module.
     * @private
     */
    constructor(parent: Spreadsheet);
    private delete;
    private refreshImgChartElement;
    private addEventListener;
    /**
     * Destroy delete module.
     *
     * @returns {void} - Destroy delete module.
     */
    destroy(): void;
    private removeEventListener;
    /**
     * Get the delete module name.
     *
     * @returns {string} - Get the delete module name.
     */
    getModuleName(): string;
}
//node_modules/@syncfusion/ej2-spreadsheet/src/spreadsheet/actions/data-validation.d.ts
/**
 * Represents Data Validation support for Spreadsheet.
 */
export  class DataValidation {
    private parent;
    private listObj;
    private dataList;
    private typeList;
    private typeData;
    private operatorData;
    private formObj;
    /**
     * Constructor for the Spreadsheet Data Validation module.
     *
     * @param {Spreadsheet} parent - Constructor for the Spreadsheet Data Validation module.
     */
    constructor(parent: Spreadsheet);
    /**
     * To destroy the Data Validation module.
     *
     * @returns {void}
     */
    protected destroy(): void;
    private addEventListener;
    private removeEventListener;
    private removeValidationHandler;
    private updateNoteIndicator;
    private keyUpHandler;
    private listOpen;
    private invalidDataHandler;
    private listHandler;
    private removeListDropdownHandler;
    private addListValidationDropdownHandler;
    private updateTopPosition;
    private listValidationHeightHandler;
    private setDropDownListIndex;
    private getListDataSource;
    private listValueChange;
    private getRange;
    private initiateDataValidationHandler;
    private divElements;
    private spanElements;
    private inputElements;
    private checkBoxElements;
    private numericTextBoxElements;
    private dropDownListElements;
    private dataValidationContent;
    private dialogBeforeClose;
    private userInput;
    private dlgClickHandler;
    private formattedValue;
    private formattedType;
    private isDialogValidator;
    private getDateAsNumber;
    private getListOfValues;
    private checkValidationHandler;
    private parseValidationValue;
    private isValidCellHandler;
    private formatValidation;
    private updateHighlightHandler;
    private validationErrorHandler;
    private errorDlgHandler;
    /**
     * Gets the module name.
     *
     * @returns {string} - Gets the module name.
     */
    protected getModuleName(): string;
}
//node_modules/@syncfusion/ej2-spreadsheet/src/spreadsheet/actions/conditional-formatting.d.ts
/**
 * Represents Conditional Formatting support for Spreadsheet.
 */
export  class ConditionalFormatting {
    private parent;
    private dupData;
    private colorData;
    /**
     * Constructor for the Spreadsheet Conditional Formatting module.
     *
     * @param {Spreadsheet} parent - Constructor for the Spreadsheet Conditional Formatting module.
     */
    constructor(parent: Spreadsheet);
    /**
     * To destroy the Conditional Formatting module.
     *
     * @returns {void} - To destroy the Conditional Formatting module.
     */
    protected destroy(): void;
    private addEventListener;
    private removeEventListener;
    private clearCF;
    private renderCFDlg;
    private dialogBeforeClose;
    private dlgClickHandler;
    private getType;
    private getCFColor;
    private divElements;
    private spanElements;
    private inputElements;
    private dropDownListElements;
    private numericTBElements;
    private value1Inp;
    private value2Inp;
    private cfDlgContent;
    private validateCFInput;
    private checkCellHandler;
    private getDlgText;
    private updateResult;
    private applyCF;
    private updateCF;
    private updateRange;
    private applyIconSet;
    private getIconList;
    private applyDataBars;
    private getColor;
    private getGradient;
    private getLinear;
    private byteLinear;
    private isGreaterThanLessThan;
    private isBetWeen;
    private isEqualTo;
    private isContainsText;
    private setCFStyle;
    /**
     * Gets the module name.
     *
     * @returns {string} - Gets the module name.
     */
    protected getModuleName(): string;
}
//node_modules/@syncfusion/ej2-spreadsheet/src/spreadsheet/actions/clipboard.d.ts
/**
 * Represents clipboard support for Spreadsheet.
 */
export  class Clipboard {
    private parent;
    private copiedInfo;
    private copiedShapeInfo;
    constructor(parent: Spreadsheet);
    private init;
    private addEventListener;
    private removeEventListener;
    private ribbonClickHandler;
    private tabSwitchHandler;
    private cMenuBeforeOpenHandler;
    private rowHeightChanged;
    private colWidthChanged;
    private cut;
    private copy;
    private paste;
    private setCF;
    private isRangeMerged;
    private updateFilter;
    private isInRange;
    private setCell;
    private getCopiedIdx;
    private setCopiedInfo;
    private imageToCanvas;
    private addImgToClipboard;
    private checkForUncalculatedFormula;
    private getChartElemInfo;
    private clearCopiedInfo;
    private removeIndicator;
    private initCopyIndicator;
    private showDialog;
    private hidePaste;
    private setExternalCells;
    private getExternalCells;
    private generateCells;
    private getNewIndex;
    private cellStyle;
    private generateStyles;
    private refreshOnInsertDelete;
    private performAction;
    private getClipboardEle;
    private getCopyIndicator;
    protected getModuleName(): string;
    destroy(): void;
}
//node_modules/@syncfusion/ej2-spreadsheet/src/spreadsheet/actions/cell-format.d.ts
/**
 * CellFormat module allows to format the cell styles.
 */
export  class CellFormat {
    private parent;
    private checkHeight;
    constructor(parent: Spreadsheet);
    private applyCellFormat;
    private updateRowHeight;
    private updateMergeBorder;
    private setLeftBorder;
    private setTopBorder;
    private setThickBorderHeight;
    private getBorderSize;
    private clearObj;
    private addEventListener;
    private removeEventListener;
    /**
     * Destroy cell format module.
     *
     * @returns {void} - Destroy cell format module.
     */
    destroy(): void;
    /**
     * Get the cell format module name.
     *
     * @returns {string} - Get the cell format module name.
     */
    getModuleName(): string;
}
//node_modules/@syncfusion/ej2-spreadsheet/src/spreadsheet/actions/auto-fill.d.ts
/**
 * AutoFill module allows to perform auto fill functionalities.
 */
export  class AutoFill {
    private parent;
    private autoFillElement;
    private splitBtnElem;
    private autoFillElementPosition;
    private autoFillCell;
    autoFillDropDown: splitbuttons.DropDownButton;
    private isVerticalFill;
    private fillOptionIndex;
    constructor(parent: Spreadsheet);
    private getfillItems;
    private createAutoFillElement;
    private getautofillDDB;
    private getFillType;
    private autoFillClick;
    private getFillRange;
    private autoFillOptionClick;
    private refreshAutoFillOption;
    private positionAutoFillElement;
    private hideAutoFillElement;
    private hideAutoFillOptions;
    private selectAutoFillRange;
    private getAutoFillRange;
    private modifyRangeForMerge;
    private performAutoFill;
    private refreshCell;
    private getDirection;
    private performAutoFillAction;
    private getRangeData;
    private isMergedRange;
    private addEventListener;
    private removeEventListener;
    /**
     * Destroy AutoFill module.
     *
     * @returns {void} - Destroy auto fill module.
     */
    destroy(): void;
    /**
     * Get the AutoFill module name.
     *
     * @returns {string} - Get the auto fill module name.
     */
    getModuleName(): string;
}
//node_modules/@syncfusion/ej2-spreadsheet/src/ribbon/ribbon.d.ts
/**
 * Objects used for configuring the Ribbon tab header properties.
 * @hidden
 */
export  class RibbonHeader extends base.ChildProperty<RibbonHeader> {
    /**
     * Specifies the display text of the Ribbon tab header.
     *
     * @default ''
     */
    text: string;
    /**
     * Specifies the icon class that is used to render an icon in the Ribbon tab header.
     *
     * @default ''
     */
    iconCss: string;
    /**
     * Options for positioning the icon in the Ribbon tab header. This property depends on `iconCss` property.
     * The possible values are:
     * - Left: Places the icon to the `left` of the item.
     * - Top: Places the icon on the `top` of the item.
     * - Right: Places the icon to the `right` end of the item.
     * - Bottom: Places the icon at the `bottom` of the item.
     *
     * @default 'left'
     */
    iconPosition: string;
}
/**
 * An array of object that is used to configure the navigations.Tab.
 * @hidden
 */
export  class RibbonItem extends base.ChildProperty<RibbonItem> {
    /**
     * The object used for configuring the navigations.Tab item header properties.
     *
     * @default {}
     */
    header: RibbonHeaderModel;
    /**
     * Specifies the content of navigations.Tab item, that is displayed when concern item header is selected.
     *
     * @default ''
     */
    content: navigations.ItemModel[];
    /**
     * Sets the CSS classes to the navigations.Tab item to customize its styles.
     *
     * @default ''
     */
    cssClass: string;
    /**
     * Sets true to disable user interactions of the navigations.Tab item.
     *
     * @default false
     */
    disabled: boolean;
}
/**
 * Interface for ribbon content expand/collapse event.
 * @hidden
 */
export interface ExpandCollapseEventArgs {
    /** Ribbon content element */
    element: HTMLElement;
    /** Represent whether the ribbon content is expanded/collapsed */
    expanded: boolean;
}
/**
 * Represents Ribbon component.
 * @hidden
 */
export  class Ribbon1 extends base.Component<HTMLDivElement> implements base.INotifyPropertyChanged {
    toolbarObj: navigations.Toolbar;
    tabObj: navigations.Tab;
    /**
     * Defines class/multiple classes separated by a space in the Spreadsheet element.
     *
     * @default ""
     */
    cssClass: string;
    /**
     * Used the specify the ribbon menu type as `Menu` or `Sidebar`.
     *
     * @default true
     */
    menuType: boolean;
    /**
     * An array of object that is used to configure the Ribbon menu.
     *
     * @default []
     */
    menuItems: navigations.MenuItemModel[];
    /**
     * Specifies the index for activating the current Ribbon tab.
     *
     * @default 0
     */
    selectedTab: number;
    /**
     * An array of object that is used to configure the Ribbon tab.
     *
     * @default []
     */
    items: RibbonItemModel[];
    /**
     * Specifies the spreadsheet instance.
     *
     * @default null
     * @hidden
     */
    private spreadInstance;
    /**
     * Triggers while selecting the tab item.
     *
     * @event anEvent
     */
    selecting: base.EmitType<navigations.SelectingEventArgs>;
    /**
     * Triggers while selecting the file menu item.
     *
     * @event anEvent
     */
    fileMenuItemSelect: base.EmitType<navigations.MenuEventArgs>;
    /**
     * Triggers while rendering each file menu item.
     *
     * @event anEvent
     */
    beforeFileMenuItemRender: base.EmitType<navigations.MenuEventArgs>;
    /**
     * Triggers before opening the file menu.
     *
     * @event anEvent
     */
    beforeOpen: base.EmitType<navigations.BeforeOpenCloseMenuEventArgs>;
    /**
     * Triggers before closing the file menu.
     *
     * @event anEvent
     */
    beforeClose: base.EmitType<navigations.BeforeOpenCloseMenuEventArgs>;
    /**
     * Triggers format dropdown items gets selected.
     *
     * @event anEvent
     * @hidden
     */
    selectFormat: base.EmitType<dropdowns.SelectEventArgs>;
    /**
     * Triggers while clicking the ribbon content elements.
     *
     * @event anEvent
     */
    clicked: base.EmitType<navigations.ClickEventArgs>;
    /**
     * Triggers once the component rendering is completed.
     *
     * @event anEvent
     */
    created: base.EmitType<Event>;
    /**
     * Triggers once the component rendering is completed.
     *
     * @event anEvent
     */
    expandCollapse: base.EmitType<ExpandCollapseEventArgs>;
    /**
     * Constructor for creating the widget.
     *
     * @param {RibbonModel} options - Specify the options
     * @param {string|HTMLDivElement} element -specify the element.
     */
    constructor(options?: RibbonModel, element?: string | HTMLDivElement);
    /**
     * For internal use only.
     *
     * @returns {void} - For internal use only.
     * @private
     */
    protected preRender(): void;
    /**
     * For internal use only.
     *
     * @returns {void} - For internal use only.
     * @private
     */
    protected render(): void;
    /**
     * Destroys the component (detaches/removes all event handlers, attributes, classes, and empties the component element).
     *
     * {% codeBlock src='spreadsheet/destroy/index.md' %}{% endcodeBlock %}
     *
     * @function destroy
     * @returns {void} - Destroys the component
     */
    destroy(): void;
    private getTabItems;
    private initMenu;
    private renderRibbon;
    private ribbonExpandCollapse;
    private getIndex;
    private updateToolbar;
    private refreshTemplateItems;
    /**
     * To enable / disable the ribbon menu items.
     *
     * @param {string[]} items - Items that needs to be enabled / disabled.
     * @param {boolean} enable - Set `true` / `false` to enable / disable the menu items.
     * @param {boolean} isUniqueId - Set `true` if the given menu items `text` is a unique id.
     * @returns {void} - To enable / disable the ribbon menu items.
     */
    enableMenuItems(items: string[], enable?: boolean, isUniqueId?: boolean): void;
    /**
     * To show/hide the menu items in Ribbon.
     *
     * @param {string[]} items - Specifies the menu items text which is to be show/hide.
     * @param {boolean} hide - Set `true` / `false` to hide / show the menu items.
     * @param {boolean} isUniqueId - Set `true` if the given menu items `text` is a unique id.
     * @returns {void} - To show/hide the menu items in Ribbon.
     */
    hideMenuItems(items: string[], hide?: boolean, isUniqueId?: boolean): void;
    /**
     * To add custom menu items.
     *
     * @param {navigations.MenuItemModel[]} items - Specifies the Ribbon menu items to be inserted.
     * @param {string} text - Specifies the existing file menu item text before / after which the new file menu items to be inserted.
     * @param {boolean} insertAfter - Set `false` if the `items` need to be inserted before the `text`.
     * By default, `items` are added after the `text`.
     * @param {boolean} isUniqueId - Set `true` if the given menu items `text` is a unique id.
     * @returns {void} - To add custom menu items.
     */
    addMenuItems(items: navigations.MenuItemModel[], text: string, insertAfter?: boolean, isUniqueId?: boolean): void;
    /**
     * To show/hide the Ribbon tabs.
     *
     * @param {string[]} tabs - Specifies the tab header text which needs to be shown/hidden.
     * @param {boolean} hide - Set `true` / `false` to hide / show the ribbon tabs.
     * @returns {void} - To show/hide the Ribbon tabs.
     */
    hideTabs(tabs: string[], hide?: boolean): void;
    private isAllHidden;
    /**
     * To enable / disable the Ribbon tabs.
     *
     * @param {string[]} tabs - Specifies the tab header text which needs to be enabled / disabled.
     * @param {boolean} enable - Set `true` / `false` to enable / disable the ribbon tabs.
     * @returns {void} - To enable / disable the Ribbon tabs.
     */
    enableTabs(tabs: string[], enable?: boolean): void;
    /**
     * To add custom tabs.
     *
     * @param {RibbonItemModel[]} items - Specifies the Ribbon tab items to be inserted.
     * @param {string} insertBefore - Specifies the existing Ribbon header text before which the new tabs will be inserted.
     * If not specified, the new tabs will be inserted at the end.
     * @returns {void} - To add custom tabs.
     */
    addTabs(items: RibbonItemModel[], insertBefore?: string): void;
    private getTabIndex;
    /**
     * To add the custom items in Ribbon toolbar.
     *
     * @param {string} tab - Specifies the ribbon tab header text under which the specified items will be inserted..
     * @param {navigations.ItemModel[]} items - Specifies the ribbon toolbar items that needs to be inserted.
     * @param {number} index - Specifies the index text before which the new items will be inserted.
     * @returns {void} - To add the custom items in Ribbon toolbar.
     * If not specified, the new items will be inserted at the end of the toolbar.
     */
    addToolbarItems(tab: string, items: navigations.ItemModel[], index?: number): void;
    /**
     * Enables or disables the specified Ribbon toolbar items or all ribbon items.
     *
     * @param {string} tab - Specifies the ribbon tab header text under which the toolbar items need to be enabled / disabled.
     * @param {number[]} items - Specifies the toolbar item indexes / unique id's which needs to be enabled / disabled.
     * If it is not specified the entire toolbar items will be enabled / disabled.
     * @param  {boolean} enable - Boolean value that determines whether the toolbar items should be enabled or disabled.
     * @param  {boolean} isPublic - Boolean value that determines whether the toolbar items are enabled or disabled from public method or not.
     * @returns {void} - Enables or disables the specified Ribbon toolbar items or all ribbon items.
     */
    enableItems(tab: string, items?: number[] | string[], enable?: boolean, isPublic?: boolean): void;
    /**
     * To show/hide the existing Ribbon toolbar items.
     *
     * @param {string} tab - Specifies the ribbon tab header text under which the specified items need to be hidden / shown.
     * @param {number[]} indexes - Specifies the toolbar indexes which needs to be shown/hidden from UI.
     * @param {boolean} hide - Set `true` / `false` to hide / show the toolbar items.
     * @returns {void} - To show/hide the existing Ribbon toolbar items.
     */
    hideToolbarItems(tab: string, indexes: number[], hide?: boolean): void;
    /**
     * Get component name.
     *
     * @returns {string} - Get component name.
     * @private
     */
    getModuleName(): string;
    /**
     * Get the properties to be maintained in the persisted state.
     *
     * @returns {string} - Get the properties to be maintained in the persisted state.
     * @private
     */
    getPersistData(): string;
    /**
     * Called internally if any of the property value changed.
     *
     * @param {RibbonModel} newProp - Specify the new properties
     * @param {RibbonModel} oldProp - specify the old properties.
     * @returns {void} - if any of the property value changed.
     * @private
     */
    onPropertyChanged(newProp: RibbonModel, oldProp: RibbonModel): void;
}
//node_modules/@syncfusion/ej2-spreadsheet/src/ribbon/ribbon-model.d.ts
/**
 * Interface for a class RibbonHeader
 */
export interface RibbonHeaderModel {
    /**
     * Specifies the display text of the Ribbon tab header.
     *
     * @default ''
     */
    text?: string;
    /**
     * Specifies the icon class that is used to render an icon in the Ribbon tab header.
     *
     * @default ''
     */
    iconCss?: string;
    /**
     * Options for positioning the icon in the Ribbon tab header. This property depends on `iconCss` property.
     * The possible values are:
     * - Left: Places the icon to the `left` of the item.
     * - Top: Places the icon on the `top` of the item.
     * - Right: Places the icon to the `right` end of the item.
     * - Bottom: Places the icon at the `bottom` of the item.
     *
     * @default 'left'
     */
    iconPosition?: string;
}
/**
 * Interface for a class RibbonItem
 */
export interface RibbonItemModel {
    /**
     * The object used for configuring the navigations.Tab item header properties.
     *
     * @default {}
     */
    header?: RibbonHeaderModel;
    /**
     * Specifies the content of navigations.Tab item, that is displayed when concern item header is selected.
     *
     * @default ''
     */
    content?: navigations.ItemModel[];
    /**
     * Sets the CSS classes to the navigations.Tab item to customize its styles.
     *
     * @default ''
     */
    cssClass?: string;
    /**
     * Sets true to disable user interactions of the navigations.Tab item.
     *
     * @default false
     */
    disabled?: boolean;
}
/**
 * Interface for a class Ribbon
 */
export interface RibbonModel extends base.ComponentModel{
    /**
     * Defines class/multiple classes separated by a space in the Spreadsheet element.
     *
     * @default ""
     */
    cssClass?: string;
    /**
     * Used the specify the ribbon menu type as `navigations.Menu` or `Sidebar`.
     *
     * @default true
     */
    menuType?: boolean;
    /**
     * An array of object that is used to configure the Ribbon menu.
     *
     * @default []
     */
    menuItems?: navigations.MenuItemModel[];
    /**
     * Specifies the index for activating the current Ribbon tab.
     *
     * @default 0
     */
    selectedTab?: number;
    /**
     * An array of object that is used to configure the Ribbon tab.
     *
     * @default []
     */
    items?: RibbonItemModel[];
    /**
     * Specifies the spreadsheet instance.
     *
     * @default null
     * @hidden
     */
    spreadInstance?: Spreadsheet;
    /**
     * Triggers while selecting the tab item.
     *
     * @event anEvent
     */
    selecting?: base.EmitType<navigations.SelectingEventArgs>;
    /**
     * Triggers while selecting the file menu item.
     *
     * @event anEvent
     */
    fileMenuItemSelect?: base.EmitType<navigations.MenuEventArgs>;
    /**
     * Triggers while rendering each file menu item.
     *
     * @event anEvent
     */
    beforeFileMenuItemRender?: base.EmitType<navigations.MenuEventArgs>;
    /**
     * Triggers before opening the file menu.
     *
     * @event anEvent
     */
    beforeOpen?: base.EmitType<navigations.BeforeOpenCloseMenuEventArgs>;
    /**
     * Triggers before closing the file menu.
     *
     * @event anEvent
     */
    beforeClose?: base.EmitType<navigations.BeforeOpenCloseMenuEventArgs>;
    /**
     * Triggers format dropdown items gets selected.
     *
     * @event anEvent
     * @hidden
     */
    selectFormat?: base.EmitType<dropdowns.SelectEventArgs>;
    /**
     * Triggers while clicking the ribbon content elements.
     *
     * @event anEvent
     */
    clicked?: base.EmitType<navigations.ClickEventArgs>;
    /**
     * Triggers once the component rendering is completed.
     *
     * @event anEvent
     */
    created?: base.EmitType<Event>;
    /**
     * Triggers once the component rendering is completed.
     *
     * @event anEvent
     */
    expandCollapse?: base.EmitType<ExpandCollapseEventArgs>;
}
//node_modules/@syncfusion/ej2-spreadsheet/src/calculate/formulas/basic.d.ts
/**
 * Represents the basic formulas module.
 */
export  class BasicFormulas {
    private parent;
    formulas: IBasicFormula[];
    private isConcat;
    constructor(parent?: Calculate);
    private init;
    private addFormulaCollection;
    /**
     * @hidden
     * @param {string[]} args - specify the args
     * @returns {string | number} - Comput sum value
     */
    ComputeSUM(...args: string[]): string | number;
    /**
     * @hidden
     * @param {string[]} args - specify the args.
     * @returns {string | number} - Compute the Integer.
     */
    ComputeINT(...args: string[]): string | number;
    /**
     * @hidden
     * @param {string[]} args - specify the args.
     * @returns {Date | string} - Compute the Today.
     */
    ComputeTODAY(...args: string[]): Date | string;
    /**
     * @hidden
     * @param {string[]} args - specify the args.
     * @returns {number} - Compute the day from the date.
     */
    ComputeWEEKDAY(...args: string[]): number | string;
    /**
     * @hidden
     * @param {string[]} args - specify the args.
     * @returns {string} - Compute to the Proper casing.
     */
    ComputePROPER(...args: string[]): string;
    /**
     * @hidden
     * @param {string[]} args - specify the args.
     * @returns {string | number} - Compute the Sum product.
     */
    ComputeSUMPRODUCT(...args: string[]): string | number;
    /**
     * @hidden
     * @param {string[]} args - specify the args.
     * @returns {string | number} - Compute the Roundup.
     */
    ComputeROUNDUP(...args: string[]): string | number;
    /**
     * @hidden
     * @param {string[]} args - specify the args.
     * @returns {string | number} - Compute the Rounddown.
     */
    ComputeROUNDDOWN(...args: string[]): string | number;
    /**
     * @hidden
     * @param {string[]} args - specify the args.
     * @returns {number | string} - Compute the count.
     */
    ComputeCOUNT(...args: string[]): number | string;
    /**
     * @hidden
     * @param {string[]} args - specify the args.
     * @returns {Date | string} - Compute the Date.
     */
    ComputeDATE(...args: string[]): Date | string;
    /**
     * @hidden
     * @param {string[]} args - specify the args.
     * @returns {number | string} - Compute the ceiling.
     */
    ComputeFLOOR(...args: string[]): number | string;
    /**
     * @hidden
     * @param {string[]} args - specify the args.
     * @returns {number | string} - Compute the ceiling.
     */
    ComputeCEILING(...args: string[]): number | string;
    /**
     * @hidden
     * @param {string[]} args - specify the serialNumber.
     * @returns {number | string} - Compute the DAY.
     */
    ComputeDAY(...args: string[]): number | string;
    /**
     * @hidden
     * @param {string[]} args - specify the args.
     * @returns {string | number} - Compute the IF value.
     */
    ComputeIF(...args: string[]): string | number;
    /**
     * @hidden
     * @param {string[]} args - specify the args.
     * @returns {number | string} - Compute the IFERROR value.
     */
    ComputeIFERROR(...args: string[]): number | string;
    /**
     * @hidden
     * @param {string[]} range - specify the range.
     * @returns {string | number} - Compute the PRODUCT value.
     */
    ComputePRODUCT(...range: string[]): string | number;
    /**
     * @hidden
     * @param {string[]} args - specify the range.
     * @returns {string | number} - Compute the Choose value.
     */
    ComputeDAYS(...args: string[]): number | string;
    /**
     * @hidden
     * @param {string[]} argArr - specify the range.
     * @returns {number | string | number[] | string[]} - Compute the unique.
     */
    ComputeUNIQUE(...argArr: string[]): number | string | number[] | string[];
    private setValueRefresh;
    private checkSpill;
    clearDependency(value: string): void;
    /**
     * @hidden
     * @param {string} args - specify the args.
     * @returns {string} - Compute the text or null value.
     */
    ComputeT(...args: string[]): string;
    /**
     * @hidden
     * @param {string} args - specify the args.
     * @returns {string | boolean} - Compute the hours.
     */
    ComputeHOUR(...args: string[]): number | string;
    /**
     * @hidden
     * @param {string} argArr - specify the args.
     * @returns {string | boolean} - Compute the hours.
     */
    ComputeMINUTE(...argArr: string[]): number | string;
    /**
     * @hidden
     * @param {string} args - specify the args.
     * @returns {string | boolean} - Compute the hours.
     */
    ComputeSECOND(...args: string[]): number | string;
    /**
     * @hidden
     * @param {string} argsVal - specify the args.
     * @returns {string | boolean} - Compute the months.
     */
    ComputeMONTH(...argsVal: string[]): number | string;
    /**
     * @hidden
     * @param {string} args - specify the args.
     * @returns {string } - Compute the time and date value.
     */
    ComputeNOW(...args: string[]): string;
    /**
     * @hidden
     * @param {string} args - specify the args.
     * @returns {string | boolean} - Compute the exact value or not.
     */
    ComputeEXACT(...args: string[]): string | boolean;
    /**
     * @hidden
     * @param {string} args - specify the args.
     * @returns {string | boolean} - Compute the exact value or not.
     */
    ComputeLEN(...args: string[]): string | number;
    /**
     * @hidden
     * @param {string} args - specify the args.
     * @returns {string | boolean} - Compute the remainder from the given numbers.
     */
    ComputeMOD(...args: string[]): string | number;
    /**
     * @hidden
     * @param {string} args - specify the args.
     * @returns {string | boolean} - Compute the next odd number.
     */
    ComputeODD(...args: string[]): string | number;
    /**
     * @hidden
     * @param {string} args - specify the args.
     * @returns {string | boolean} - Compute the next even number.
     */
    ComputeEVEN(...args: string[]): string | number;
    /**
     * @hidden
     * @param {string} args - specify the args.
     * @returns {string | boolean} - Compute the value of pi.
     */
    ComputePI(...args: string[]): string | number;
    /**
     * @hidden
     * @param {string} args - specify the args.
     * @returns {string | boolean} - Compute the median value.
     */
    ComputeMEDIAN(...args: string[]): string | number;
    /**
     * @hidden
     * @param {string} args - specify the args.
     * @returns {string | boolean} - Compute the edate value.
     */
    ComputeEDATE(...args: string[]): Date | string;
    /**
     * @hidden
     * @param {string} args - specify the args.
     * @returns {string | boolean} - Compute the number of months value.
     */
    ComputeEOMONTH(...args: string[]): Date | string;
    /**
     * @hidden
     * @param {string} args - specify the args.
     * @returns {string | boolean} - Compute the date value.
     */
    ComputeDATEVALUE(...args: string[]): Date | string;
    /**
     * @hidden
     * @param {string} args - specify the args.
     * @returns {string | boolean} - Compute the count blank value.
     */
    ComputeCOUNTBLANK(...args: string[]): string | number;
    /**
     * @hidden
     * @param {string} args - specify the args.
     * @returns {string | boolean} - Compute the factorial value.
     */
    ComputeFACT(...args: string[]): string | number;
    /**
     * @hidden
     * @param {string} args - specify the args.
     * @returns {string | boolean} - Compute the decimal value.
     */
    ComputeDECIMAL(...args: string[]): string | number;
    /**
     * @hidden
     * @param {string} args - specify the args.
     * @returns {string | boolean} - Compute the degrees value.
     */
    ComputeDEGREES(...args: string[]): string | number;
    /**
     * @hidden
     * @param {string} argArr - specify the args.
     * @returns {string | boolean} - Compute the cell address.
     */
    ComputeADDRESS(...argArr: string[]): string | number;
    /**
     * @hidden
     * @param {string} args - specify the args.
     * @returns {string | boolean} - Compute the time.
     */
    ComputeTIME(...args: string[]): string | number;
    /**
     * @hidden
     * @param {string} args - specify the args.
     * @returns {string | boolean} - Compute the char value.
     */
    ComputeCHAR(...args: string[]): string | number;
    /**
     * @hidden
     * @param {string} args - specify the args.
     * @returns {string | boolean} - Compute the code value.
     */
    ComputeCODE(...args: string[]): string | number;
    /**
     * @hidden
     * @param {string} args - specify the args.
     * @returns {string | boolean} - Compute the currency value.
     */
    ComputeDOLLAR(...args: string[]): string | number;
    /**
     * @hidden
     * @param {string} args - specify the args.
     * @returns {string | boolean} - Compute the k-th smallest value.
     */
    ComputeSMALL(...args: string[]): string | number;
    /**
     * @hidden
     * @param {string} args - specify the args.
     * @returns {string | boolean} - Compute the k-th largest value.
     */
    ComputeLARGE(...args: string[]): string | number;
    /**
     * @hidden
     * @param {string[]} args - specify the args.
     * @returns {string | number} - Compute the Choose value.
     */
    ComputeCHOOSE(...args: string[]): string | number;
    /**
     * @hidden
     * @param {string[]} range - specify the range.
     * @returns {string | number} - Compute the SUMIF value.
     */
    ComputeSUMIF(...range: string[]): string | number;
    /**
     * @hidden
     * @param {string[]} absValue - specify the absValue.
     * @returns {string | number} - Compute the AVERAGE value.
     */
    ComputeABS(...absValue: string[]): string | number;
    /**
     * @hidden
     * @param {string[]} args - specify the range.
     * @returns {string} - Compute the AVERAGE value.
     */
    ComputeAVERAGE(...args: string[]): string;
    /**
     * @hidden
     * @param {string[]} range - specify the range.
     * @returns {string | number} - Compute the AVERAGEIF value.
     */
    ComputeAVERAGEIF(...range: string[]): string | number;
    /**
     * @hidden
     * @param {string[]} range - specify the range.
     * @returns {string} - Compute the CONCATENATE value.
     */
    ComputeCONCATENATE(...range: string[]): string;
    /**
     * @hidden
     * @param {string[]} range - specify the range.
     * @returns {string} - Compute the CONCAT value.
     */
    ComputeCONCAT(...range: string[]): string;
    /**
     * @hidden
     * @param {string[]} args - specify the args.
     * @returns {string | number} - Compute the MAX value.
     */
    ComputeMAX(...args: string[]): string;
    /**
     * @hidden
     * @param {string[]} args - specify the args.
     * @returns {string} - Compute the MIN value.
     */
    ComputeMIN(...args: string[]): string;
    /**
     * @hidden
     * @param {string[]} args - specify the args.
     * @returns {string} - Compute the RAND value.
     */
    ComputeRAND(...args: string[]): string;
    /**
     * @hidden
     * @param {string[]} args - specify the args.
     * @returns {string} - Compute the AND value.
     */
    ComputeAND(...args: string[]): string;
    /**
     * @hidden
     * @param {string[]} args - specify the args.
     * @returns {string} - Compute the OR value.
     */
    ComputeOR(...args: string[]): string;
    /**
     * @hidden
     * @param {string[]} args - specify the args.
     * @returns {string} - Compute the NOT value.
     */
    ComputeNOT(...args: string[]): string;
    /**
     * @hidden
     * @param {string[]} args - specify the range.
     * @returns {string | number} - Compute the find value.
     */
    ComputeFIND(...args: string[]): string | number;
    /**
     * @hidden
     * @param {string[]} argArr - specify the range.
     * @returns {string | number} - Compute the index.
     */
    ComputeINDEX(...argArr: string[]): string | number;
    private getSheetReference;
    /**
     * @hidden
     * @param {string[]} range - specify the range.
     * @returns {string | number} - Compute the if.
     */
    ComputeIFS(...range: string[]): string | number;
    /**
     * @hidden
     * @param {string[]} args - specify the range.
     * @returns {number | string} - Compute the count.
     */
    ComputeCOUNTA(...args: string[]): number | string;
    /**
     * @hidden
     * @param {string[]} args - specify the range.
     * @returns {number | string} - Compute the average.
     */
    ComputeAVERAGEA(...args: string[]): number | string;
    private processLogicalCellValue;
    /**
     * @hidden
     * @param {string[]} args - specify the range.
     * @returns {number | string} - Compute the count if.
     */
    ComputeSORT(...args: string[]): number | string;
    /**
     * @hidden
     * @param {string[]} args - specify the range.
     * @returns {number | string} - Compute the count if.
     */
    ComputeCOUNTIF(...args: string[]): number | string;
    /**
     * @hidden
     * @param {string[]} range - specify the range.
     * @returns {string | number} - Compute the sum if.
     */
    ComputeSUMIFS(...range: string[]): string | number;
    private calculateIFS;
    /**
     * @hidden
     * @param {string[]} args - specify the range.
     * @returns {string | number} - Compute the Text.
     */
    ComputeTEXT(...args: string[]): string | number;
    /**
     * @hidden
     * @param {string[]} args - specify the range.
     * @returns {number | string} - Compute the count if.
     */
    ComputeCOUNTIFS(...args: string[]): number | string;
    /**
     * @hidden
     * @param {string[]} args - specify the range.
     * @returns {number | string} - Compute the Average if.
     */
    ComputeAVERAGEIFS(...args: string[]): number | string;
    /**
     * @hidden
     * @param {string[]} args - specify the range.
     * @returns {string | number} - Compute the Match.
     */
    ComputeMATCH(...args: string[]): string | number;
    /**
     * @hidden
     * @param {string[]} range - specify the range.
     * @returns {string | number} - Compute the lookup value.
     */
    ComputeLOOKUP(...range: string[]): string | number;
    /**
     * @hidden
     * @param {string[]} range - specify the range.
     * @returns {string | number} - Compute the vlookup value.
     */
    ComputeVLOOKUP(...range: string[]): string | number;
    /**
     * @hidden
     * @param {string[]} range - specify the range.
     * @returns {string | number} - Compute the hlookup value.
     */
    ComputeHLOOKUP(...range: string[]): string | number;
    /**
     * @hidden
     * @param {string[]} argArr - specify the range.
     * @returns {string | number} - Compute the sub total value.
     */
    ComputeSUBTOTAL(...argArr: string[]): string | number;
    /**
     * @hidden
     * @param {string[]} argValue - specify the range.
     * @returns {string | number} - Compute the Radians value.
     */
    ComputeRADIANS(...argValue: string[]): string | number;
    /**
     * @hidden
     * @param {string[]} args - specify the range.
     * @returns {string | number} - Compute the random between value.
     */
    ComputeRANDBETWEEN(...args: string[]): string | number;
    /**
     * @hidden
     * @param {string[]} argValue - specify the range.
     * @returns {string | number} - Compute the slope value.
     */
    ComputeSLOPE(...argValue: string[]): string | number;
    /**
     * @hidden
     * @param {string[]} argValue - specify the range.
     * @returns {string | number} - Compute the intercept.
     */
    ComputeINTERCEPT(...argValue: string[]): string | number;
    /**
     * @hidden
     * @param {string[]} logValue - specify the log value.
     * @returns {string | number} - Compute the value.
     */
    ComputeLN(...logValue: string[]): string | number;
    /**
     * @hidden
     * @param {string[]} logValue - specify the log value.
     * @returns {boolean | string} - Compute the Isnumber value.
     */
    ComputeISNUMBER(...logValue: string[]): boolean | string;
    /**
     * @hidden
     * @param {string[]} logValue - specify the log value.
     * @returns {number | string} - Compute the round value.
     */
    ComputeROUND(...logValue: string[]): number | string;
    private preciseRound;
    /**
     * @hidden
     * @param {string[]} argArr - specify the log value.
     * @returns {boolean | string} - Compute the power value.
     */
    ComputePOWER(...argArr: string[]): boolean | string;
    /**
     * @hidden
     * @param {string[]} args - specify the args.
     * @returns {number | string} - Computes a positive square root of the given number.
     */
    ComputeSQRT(...args: string[]): number | string;
    /**
     * @hidden
     * @param {string[]} logValue - specify the log value.
     * @returns {number | string} - Compute the log value.
     */
    ComputeLOG(...logValue: string[]): number | string;
    /**
     * @hidden
     * @param {string[]} logValue - specify the log value.
     * @returns {boolean | string} - Compute the trunc value.
     */
    ComputeTRUNC(...logValue: string[]): boolean | string;
    /**
     * @hidden
     * @param {string[]} logValue - specify the log value.
     * @returns {boolean | string} - Compute the expression.
     */
    ComputeEXP(...logValue: string[]): boolean | string;
    /**
     * @hidden
     * @param {string[]} logValue - specify the log value
     * @returns {boolean | string} - compute the value.
     */
    ComputeGEOMEAN(...logValue: string[]): boolean | string;
    /**
     * @hidden
     * @param {string[]} range - specify the args.
     * @returns {number | string} - Returns the square of the Pearson product moment correlation coefficient based on data points in known_y's and known_x's.
     */
    ComputeRSQ(...range: string[]): string | number;
    /**
     * @hidden
     * @param {string[]} xValues - specify the x values
     * @param {string[]} yValues - specify the y values
     * @param {number} meanX - specify the mean of x values
     * @param {number} meanY - specify the mean of y values
     * @returns {number} - Returns correlation value
     */
    private getCorrelation;
    /**
     * @hidden
     * @param {string[]} xValues - specify the x values
     * @param {string[]} yValues - specify the y values
     * @returns {number[]} meanX - returns array of mean values of x and y values
     */
    private getMeanArray;
    private getDataCollection;
    /**
     * @hidden
     * @param {string} value - specify the value
     * @returns {number} - Returns parse double value.
     */
    private parseDouble;
    /**
     * @hidden
     * @param {string} value - specify the value
     * @returns {string} - Returns spreadsheet display text.
     */
    private spreadsheetDisplayText;
    /**
     * @hidden
     * @param {string} value - specify the value
     * @returns {string} - Returns spreadsheet format.
     */
    private spreadsheetFormat;
}
//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/enum.d.ts
/**
 * @hidden
 */
export  enum CommonErrors {
    NA = 0,
    Value = 1,
    Ref = 2,
    DivZero = 3,
    Num = 4,
    Name = 5,
    Null = 6,
    Calc = 7
}
/**
 * @hidden
 */
export  enum FormulasErrorsStrings {
    OperatorsCannotStartWithExpression = 0,
    ReservedWordAND = 1,
    ReservedWordXOR = 2,
    ReservedWordIf = 3,
    NumberContains2DecimalPoints = 4,
    ReservedWordElse = 5,
    ReservedWordNOT = 6,
    InvalidCharInNumber = 7,
    InvalidCharactersFollowingWithOperator = 6,
    MismatchedParentheses = 8,
    UnknownFormulaName = 9,
    RequiresASingleArgument = 10,
    Requires3Args = 11,
    InvalidMathArgument = 12,
    Requires2Args = 13,
    BadIndex = 14,
    TooComplex = 15,
    CircularReference = 16,
    MissingFormula = 17,
    ImproperFormula = 18,
    InvalidExpression = 19,
    CellEmpty = 20,
    BadFormula = 21,
    EmptyExpression = 22,
    VirtualModeRequired = 23,
    MismatchedTics = 24,
    WrongNumberArguments = 25,
    InvalidArguments = 26,
    IterationsDoNotConverge = 27,
    CalculationOverflow = 29,
    AlreadyRegistered = 28,
    MissingSheet = 30,
    CannotParse = 31,
    ExpressionCannotEndWithAnOperator = 32,
    Spill = 33,
    Div = 34
}
/**
 * @hidden
 */
export  enum ExcelFileFormats {
    xlsx = "xlsx",
    xlsm = "xlsm",
    xlsb = "xlsb",
    xltx = "xltx",
    xltm = "xltm",
    xls = "xls",
    xml = "xml",
    xlam = "xlam",
    xla = "xla",
    xlw = "xlw",
    xlr = "xlr",
    prn = "prn",
    txt = "txt",
    csv = "csv",
    dif = "dif",
    slk = "slk"
}
//node_modules/@syncfusion/ej2-spreadsheet/src/calculate/common/common.d.ts
/**
 * Represent the common codes for calculate
 */
export  class CalculateCommon {
    private parent;
    constructor(parent: Calculate);
    /**
     * For internal use only - Get the module name.
     *
     * @private
     * @returns {string} - Get the module name.
     */
    protected getModuleName(): string;
}
/**
 * To check whether the object is undefined.
 *
 * @param {Object} value - To check the object is undefined
 * @returns {boolean} - Returns boolean value.
 * @private
 */
export  function isUndefined(value: Object): boolean;
/**
 * @hidden
 * @param {string} value - specify the value
 * @returns {string} - get Skeleton Value.
 */
export  function getSkeletonVal(value: string): string;
/**
 * To check whether the formula contains external file link.
 *
 * @param {string} formula - To check the string contains external file link.
 * @returns {boolean} - Returns boolean value.
 * @private
 */
export  function isExternalFileLink(formula: string): boolean;
//node_modules/@syncfusion/ej2-spreadsheet/src/calculate/base/parser.d.ts
export  class Parser {
    private parent;
    constructor(parent?: Calculate);
    private emptyStr;
    private storedStringText;
    private sheetToken;
    /** @hidden */
    tokenAdd: string;
    /** @hidden */
    tokenSubtract: string;
    /** @hidden */
    tokenMultiply: string;
    /** @hidden */
    tokenDivide: string;
    /** @hidden */
    tokenLess: string;
    private charEm;
    private charEp;
    /** @hidden */
    tokenGreater: string;
    /** @hidden */
    tokenEqual: string;
    /** @hidden */
    tokenLessEq: string;
    /** @hidden */
    tokenGreaterEq: string;
    /** @hidden */
    tokenNotEqual: string;
    /** @hidden */
    tokenAnd: string;
    private tokenEm;
    private tokenEp;
    /** @hidden */
    tokenOr: string;
    private charAnd;
    private charLess;
    private charGreater;
    private charEqual;
    private charLessEq;
    private charGreaterEq;
    private charNoEqual;
    private stringGreaterEq;
    private stringLessEq;
    private stringNoEqual;
    private stringAnd;
    private stringOr;
    private charOr;
    private charAdd;
    private charSubtract;
    private charMultiply;
    private charDivide;
    private fixedReference;
    private spaceString;
    private ignoreBracet;
    /** @hidden */
    isError: boolean;
    /** @hidden */
    isFormulaParsed: boolean;
    private findNamedRange;
    private stringsColl;
    private tokens;
    private charNOTop;
    private specialSym;
    private isFailureTriggered;
    /**
     * @hidden
     * @param {string} text - specify the text
     * @param {string} fkey - specify the formula key
     * @returns {string} - returns parse.
     */
    parse(text: string, fkey?: string): string;
    private exceptionArgs;
    private formulaAutoCorrection;
    private checkScopedRange;
    private storeStrings;
    private setStrings;
    /**
     * @hidden
     * @param {string} formulaText - specify the formula text
     * @returns {string} - parse simple.
     */
    parseSimple(formulaText: string): string;
    /**
     * @hidden
     * @param {string} formulaText - specify the formula text
     * @param {string[]} markers -  specify the markers
     * @param {string[]} operators - specify the operators
     * @returns {string} - parse Simple Operators
     */
    parseSimpleOperators(formulaText: string, markers: string[], operators: string[]): string;
    /**
     * @hidden
     * @param {string} text - specify the text
     * @param {string[]} operators - specify the operators
     * @returns {number} - returns index.
     */
    indexOfAny(text: string, operators: string[]): number;
    /**
     * @hidden
     * @param {string} text - specify the text
     * @returns {number} - find Left Marker.
     */
    findLeftMarker(text: string): number;
    /**
     * @hidden
     * @param {string} text - specify the text.
     * @returns {number} - find Right Marker.
     */
    findRightMarker(text: string): number;
    /**
     * @hidden
     * @param {string} formula - specify the formula
     * @param {string} fKey - specify the formula key.
     * @returns {string} - parse formula.
     */
    parseFormula(formula: string, fKey?: string): string;
    /**
     * @hidden
     * @param {string} formula - specify the formula
     * @returns {string} - mark library formulas.
     */
    markLibraryFormulas(formula: string): string;
    /**
     * @hidden
     * @param {string} fSubstr - specify the string
     * @returns {string} - swap inner parens.
     */
    swapInnerParens(fSubstr: string): string;
    /**
     * @hidden
     * @param {string} fSubstr - specify the string
     * @returns {string} - add parens to args.
     */
    addParensToArgs(fSubstr: string): string;
    /**
     * @hidden
     * @param {string} text - specify the text
     * @param {string[]} operators - specify the operators
     * @returns {number} - returns last Index Of Any.
     */
    private lastIndexOfAny;
    /**
     * @hidden
     * @param {string} formula - specify the formula
     * @returns {string} - mark Named Ranges.
     */
    markNamedRanges(formula: string): string;
    /**
     * @hidden
     * @param {string} text - specify the text.
     * @returns {string} - check For Named Range And Key Value
     */
    checkForNamedRangeAndKeyValue(text: string): string;
    private getTableRange;
    private findNextEndIndex;
}
//node_modules/@syncfusion/ej2-spreadsheet/src/calculate/base/calculate.d.ts
/**
 * Represents the calculate library.
 * @hidden
 */
export  class Calculate extends base.Base<HTMLElement> implements base.INotifyPropertyChanged {
    private lFormulas;
    libraryFormulas: any;
    /** @hidden */
    storedData: Map<string, FormulaInfo>;
    /** @hidden */
    actCell: string;
    private keyToRowsMap;
    private rowsToKeyMap;
    /** @hidden */
    rightBracket: string;
    /** @hidden */
    leftBracket: string;
    /** @hidden */
    sheetToken: string;
    private emptyString;
    private leftBrace;
    private rightBrace;
    cell: string;
    private cellPrefix;
    private treatEmptyStringAsZero;
    /** @hidden */
    parentObject: Object | Calculate;
    /** @hidden */
    tic: string;
    /** @hidden */
    singleTic: string;
    /** @hidden */
    trueValue: string;
    /** @hidden */
    falseValue: string;
    private parseDecimalSeparator;
    /** @hidden */
    spreadSheetUsedRange: number[];
    /** @hidden */
    arithMarker: string;
    /** @hidden */
    arithMarker2: string;
    private dependentCells;
    private dependentFormulaCells;
    minValue: number;
    maxValue: number;
    categoryCollection: string[];
    dependencyLevel: number;
    /** @hidden */
    randomValues: Map<string, string>;
    /** @hidden */
    isRandomVal: boolean;
    /** @hidden */
    randCollection: string[];
    /** @hidden */
    dependencyCollection: string[];
    /** @hidden */
    uniqueRange: string[];
    private uniqueCells;
    /**
     * @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>;
    private formulaInfoTable;
    private millisecondsOfaDay;
    private parseDateTimeSeparator;
    /**
     * Triggers when the calculation caught any errors.
     *
     * @event anEvent
     */
    onFailure: base.EmitType<FailureEventArgs>;
    /**
     * base.Base constructor for creating Calculate library.
     *
     * @param {Object} parent - specify the parent
     */
    constructor(parent?: Object);
    /**
     * To get the argument separator to split the formula arguments.
     *
     * @returns {string} - To get the argument separator to split the formula arguments.
     */
    getParseArgumentSeparator(): string;
    /**
     * To set the argument separator to split the formula arguments.
     *
     * @param {string} value - Argument separator based on the culture.
     * @returns {void} - To set the argument separator to split the formula arguments.
     */
    setParseArgumentSeparator(value: string): void;
    /**
     * To get the date separator to split the date value.
     *
     * @returns {string} - To get the date separator to split the date value.
     */
    getParseDateTimeSeparator(): string;
    /**
     * To set whether the empty string is treated as zero or not.
     *
     * @param {boolean} value - specify the boolean.
     * @returns {void} - To set whether the empty string is treated as zero or not.
     */
    setTreatEmptyStringAsZero(value: boolean): void;
    /**
     * To get whether the empty string is treated as zero or not.
     *
     * @returns {boolean} - To get whether the empty string is treated as zero or not.
     */
    getTreatEmptyStringAsZero(): boolean;
    /**
     * To set the date separator to split the date value.
     *
     * @param {string} value - Argument separator based on the culture.
     * @returns {void} - To set the date separator to split the date value.
     */
    setParseDateTimeSeparator(value: string): void;
    onPropertyChanged(newProp: CalculateModel, oldProp: CalculateModel): void;
    protected getModuleName(): string;
    /**
     * @hidden
     * @returns {string} - get Formula Character.
     */
    getFormulaCharacter(): string;
    /**
     * @hidden
     * @param {string} text - specify the text
     * @returns {boolean} - Returns boolean value.
     */
    isUpperChar(text: string): boolean;
    private resetKeys;
    /**
     * @hidden
     * @param {string} cellRef -  specify the cell reference
     * @returns {void} - update Dependent Cell
     */
    updateDependentCell(cellRef: string): void;
    /**
     * @hidden
     * @returns {Map<string, string[]>} - get Dependent Cells
     */
    getDependentCells(): Map<string, string[]>;
    /**
     * @hidden
     * @returns {Map<string, Map<string, string>>} - get Dependent Formula Cells
     */
    getDependentFormulaCells(): Map<string, Map<string, string>>;
    /**
     * To get library formulas collection.
     *
     * @returns {Map<string, Function>} - To get library formulas collection.
     */
    getLibraryFormulas(): Map<string, IFormulaColl>;
    /**
     * To get library function.
     *
     * @param {string} libFormula - Library formula to get a corresponding function.
     * @returns {Function} - To get library function.
     */
    getFunction(libFormula: string): Function;
    /**
     * @hidden
     * @param {string} val - specify the value.
     * @returns {Date} - convert integer to date.
     */
    intToDate(val: string): Date;
    getFormulaInfoTable(): Map<string, FormulaInfo>;
    /**
     * To get the formula text.
     *
     * @returns {void} - To get the formula text.
     */
    getParseDecimalSeparator(): string;
    /**
     * To get the formula text.
     *
     * @param {string} value - Specifies the decimal separator value.
     * @returns {void} - To get the formula text.
     */
    setParseDecimalSeparator(value: string): void;
    /**
     * @hidden
     * @param {string} cellRef -  specify the cell reference
     * @returns {string} - get sheet token.
     */
    getSheetToken(cellRef: string): string;
    /**
     * @hidden
     * @param {Object} grd - specify the id
     * @returns {number} - get sheet id.
     */
    getSheetID(grd: Object): number;
    /**
     * @hidden
     * @param {string | number} value - specify the value.
     * @returns {number} - parse float
     */
    parseFloat(value: string | number): number;
    /**
     * To get the row index of the given cell.
     *
     * @param {string} cell - Cell address for getting row index.
     * @returns {number} - To get the row index of the given cell.
     */
    rowIndex(cell: string): number;
    /**
     * To get the column index of the given cell.
     *
     * @param {string} cell - Cell address for getting column index.
     * @returns {number} - To get the column index of the given cell.
     */
    colIndex(cell: string): number;
    /**
     * To get the valid error strings.
     *
     * @hidden
     * @returns {string[]} - to get error strings.
     */
    getErrorStrings(): string[];
    /**
     * @hidden
     * @param {string} text - specify the text
     * @param {number} startIndex - specify the start index
     * @param {number} length - specify the length
     * @returns {string} - Returns sub string
     */
    substring(text: string, startIndex: number, length?: number): string;
    /**
     * @hidden
     * @param {string} c - specify the characer of the string
     * @returns {boolean} - Return the boolean type
     */
    isChar(c: string): boolean;
    /**
     * @hidden
     * @param {Object} model - specify the model
     * @param {Object} calcId - specify the calculate instance id.
     * @returns {CalcSheetFamilyItem} - get Sheet Family Item.
     */
    getSheetFamilyItem(model: Object, calcId?: number): CalcSheetFamilyItem;
    /**
     * Register a key value pair for formula.
     *
     * @param {string} key - Key for formula reference .
     * @param {string | number} value - Value for the corresponding key.
     * @returns {void} - Register a key value pair for formula.
     */
    setKeyValue(key: string, value: string | number): void;
    /**
     * @hidden
     * @param {string} cell - specify the cell
     * @returns {void} - clears the  Formula Dependent Cells.
     */
    clearFormulaDependentCells(cell: string): void;
    private arrayRemove;
    /**
     * Register a key value pair for formula.
     *
     * @param {string} key - Key for getting the corresponding value.
     * @returns {string | number} - to get key value.
     */
    getKeyValue(key: string): string | number;
    getNamedRanges(): Map<string, string>;
    /**
     * Adds a named range to the NamedRanges collection.
     *
     * @param {string} name - Name of the named range.
     * @param {string} range - Range for the specified name.
     * @returns {boolean} - Adds a named range to the NamedRanges collection.
     */
    addNamedRange(name: string, range: string): boolean;
    /**
     * Update the sheet name changes in the named range collection.
     *
     * @hidden
     * @param {string} pName - Previous name of the sheet.
     * @param {string} name -  Current name of the sheet.
     * @returns {void} - Update the sheet name changes in the named range collection.
     */
    updateNamedRange(pName: string, name: string): void;
    /**
     * Remove the specified named range form the named range collection.
     *
     * @param {string} name - Name of the specified named range.
     * @returns {boolean} - Remove the specified named range form the named range collection.
     */
    removeNamedRange(name: string): boolean;
    /**
     * @hidden
     * @param {number} col - specify the column
     * @returns {string} - to convert the alpha.
     */
    convertAlpha(col: number): string;
    /**
     * @hidden
     * @param {string} cellRange - specify the cell range.
     * @returns {string} - to get cell collection.
     */
    getCellCollection(cellRange: string): string[] | string;
    /**
     * Compute the given formula.
     *
     * @param {string} formulaText - Specifies to compute the given formula.
     * @param {boolean} isFromComputeExpression - Specifies to confirm it was called from the ComputeExpression function.
     * @returns {string | number} - compute the given formula
     */
    computeFormula(formulaText: string, isFromComputeExpression?: boolean): string | number;
    private calculateFormula;
    /**
     * @hidden
     * @param {string[]} range - Specify the range.
     * @param {string} isAvgIf - Specify the AVERAGEIF computation.
     * @returns {number[] | string} - To compute the sum if and average if.
     */
    computeSumIfAndAvgIf(range: string[], isAvgIf: boolean): number[] | string;
    /**
     * @hidden
     * @param {string[]} range - specify the range
     * @returns {string} - to compute lookup
     */
    computeLookup(range: string[]): string;
    computeVHLookup(range: string[], isVlookup?: boolean): string;
    private findClosestMatch;
    private compareStrings;
    findWildCardValue(lookVal: string, cellValue: string): string;
    /**
     * @hidden
     * @param {string[] | string} criteriaRange - Specifies the criteria reange.
     * @param {string[] | string} sumRange - Specifies the sum range.
     * @param {string} criteria - Specifies the criteria against which values are checked.
     * @param {number} checkCriteria - Specifies the check criteria value.
     * @param {string} op - Specifies the operator value.
     * @param {boolean} isAsterisk - Indicates whether asterisk (*) is used as a wildcard or not.
     * @param {boolean} isQuestionMark - Indicates whether question mark (?) is used as a wildcard or not.
     * @returns {number[]} - Returns computed sum if value.
     */
    getComputeSumIfValue(criteriaRange: string[] | string, sumRange: string[] | string, criteria: string, checkCriteria: number, op: string, isAsterisk: boolean, isQuestionMark: boolean): number[];
    private getValueFromRange;
    /**
     * @hidden
     * @param {string[]} args - specifies the args
     * @param {string} op - specify the operator.
     * @returns {string} - Compute and or.
     */
    computeAndOrNot(args: string[], op: string): string;
    /**
     * @hidden
     * @param {string} text - specify the text
     * @returns {string} - to strip out the tic from the formula arguments.
     */
    removeTics(text: string): string;
    /**
     * @hidden
     * @param {string} range - specify the range
     * @returns {string} - to get cell from the range.
     */
    getCellFrom(range: string): string;
    private computeValue;
    private getValArithmetic;
    /**
     * Used to perform logical operation between two values.
     *
     * @hidden
     * @param {string[]} stack - Specifies the values that are used to perform the logical operation.
     * @param {string} operator - Specifies the logical operator.
     * @returns {string} - It returns whether the logical operation is TRUE or FALSE.
     */
    processLogical(stack: string[], operator: string): string;
    /**
     * @hidden
     * @param {StoredCellInfo} sCell - specified the cell information
     * @returns {string[]} - compute stored cells
     */
    computeStoreCells(sCell: StoredCellInfo): string[];
    computeIfsFormulas(range: string[], isCountIfs?: string, isAvgIfs?: string): string | number;
    private processNestedFormula;
    /**
     * @hidden
     * @param {string | number} value - Specify the value
     * @returns {boolean} -  Returns boolean value
     */
    isNaN(value: string | number): boolean;
    /**
     * @hidden
     * @param {string} val - Specifies the value.
     * @returns {boolean} - Returns boolean value.
     */
    isNumber(val: string | number): boolean;
    /**
     * @hidden
     * @param {number} doubleNumber - To specify the double number
     * @returns {Date} - Returns date.
     */
    fromOADate(doubleNumber: number): Date;
    /**
     * @hidden
     * @param {number} year - Specify the year.
     * @param {number} month - Specify the month.
     * @param {number} day - Specify the day.
     * @returns {number} -  to get serial date from date.
     */
    getSerialDateFromDate(year: number, month: number, day: number): number;
    /**
     * @hidden
     * @param {string | number} value - Specify the Time
     * @returns {string} -  returns to time.
     */
    intToTime(value: string | number): Date;
    /**
     * @hidden
     * @param {Date} dateTime - Specify the date Time
     * @param {boolean} isTime - Specify the boolean value.
     * @param {boolean} isTimeOnly - Specify the value is only a time without date.
     * @returns {number} -  returns to date.
     */
    toOADate(dateTime: Date, isTime?: boolean, isTimeOnly?: boolean): number;
    /**
     * @hidden
     * @param {string} date - Specify the date
     * @returns {string} -  returns calculate Date
     */
    calculateDate(date: string): string;
    /**
     * @hidden
     * @param {string} s - Specify the s
     * @returns {boolean} -  returns boolean value.
     */
    isTextEmpty(s: string): boolean;
    /**
     * @hidden
     * @param {string} text - Specify the text
     * @returns {boolean} -  returns boolean value.
     */
    isDigit(text: string): boolean;
    /**
     * @hidden
     * @param {string} condition - Specify the text
     * @returns {string} -  returns text value.
     */
    getANDComputedValue(condition: string): string;
    private findLastIndexOfq;
    /**
     * To get the exact value from argument.
     *
     * @param {string} val - Formula argument for getting a exact value.
     * @param {boolean} isUnique - It specifies unique formula or not.
     * @param {boolean} isIfError - It specifies `IFERROR` formula or not.
     * @param {boolean} isSubtotal - It specifies subtotal formula.
     * @returns {string} - To get the exact value from argument.
     */
    getValueFromArg(val: string, isUnique?: boolean, isIfError?: boolean, isSubtotal?: boolean): string;
    isDate(date: any): Date;
    private isValidCellReference;
    /**
     * @hidden
     * @param {any} date - Specify the date
     * @returns {any} - Returns date value.
     */
    parseDate(date: any): any;
    checkDateFormat(date: string, pvtParse?: boolean): Date;
    /**
     * @hidden
     * @param {string} args - Specify the args
     * @returns {boolean} - Returns boolean value.
     */
    isCellReference(args: string): boolean;
    /**
     * @hidden
     * @param {string} text - Specify the text.
     * @returns {string} - set Tokens For Sheets.
     */
    setTokensForSheets(text: string): string;
    private getParentObjectCellValue;
    private getCellValueFn;
    private isValidCell;
    /**
     * Returns the Sheet ID based on parent object reference.
     *
     * @hidden
     * @param {Object} grd - Specify the parent object reference.
     * @returns {number} - Returns the Sheet ID.
     */
    getSheetId(grd: Object): number;
    /**
     * Getting the formula result.
     *
     * @param {Object} grid - Specifies the parent object.
     * @param {number} row - Row index of the parent object or key.
     * @param {number} col - Column index of the parent object.
     * @returns {string} - Getting the formula result.
     */
    getValueRowCol(grid: Object, row: number, col: number): string;
    /**
     * To add custom library formula.
     *
     * @param {string} formulaName - Custom Formula name.
     * @param {string} functionName - Custom function name.
     * @param {string} formulaDescription - Formula Description.
     * @returns {void} - To add custom library formula.
     */
    defineFunction(formulaName: string, functionName: string | Function, formulaDescription: string): void;
    /**
     * Specifies when changing the value.
     *
     * @param {string} grid - Parent object reference name.
     * @param {ValueChangedArgs} changeArgs - Value changed arguments.
     * @param {boolean} isCalculate - Value that allow to calculate.
     * @param {number[]} usedRangeCol - Specify the used range collection.
     * @param {boolean} refresh - Specifies for refreshing the value.
     * @param {string} sheetName - Specifies for sheet name for spreadsheet.
     * @param {boolean} isRandomFormula - Specifies for random formula values.
     * @param {boolean} randomFormulaRefreshing - Specifies for refreshing the random formula.
     * @param {boolean} isDelete - An optional flag indicating whether is from delete cells.
     * @param {number[]} deletedRange - An optional range array indicating the deleted cells.
     * @param {boolean} refreshDependentCells - Specifies dependent cell values are need to update or not.
     * @param {string} action - Specifies calculating option.
     * @returns {void} - Specifies when changing the value.
     */
    valueChanged(grid: string, changeArgs: ValueChangedArgs, isCalculate?: boolean, usedRangeCol?: number[], refresh?: boolean, sheetName?: string, isRandomFormula?: boolean, randomFormulaRefreshing?: boolean, isDelete?: boolean, deletedRange?: number[], refreshDependentCells?: boolean, action?: string): void;
    /**
     * @hidden
     * @param {number} value - specify the value
     * @param {string | number} formulaValue -  specify the formula value.
     * @param {number} row - specify the row
     * @param {number} col - specify the col.
     * @returns {void} - to set value row and column.
     */
    setValueRowCol(value: number, formulaValue: string | number, row: number, col: number): void;
    private getSortedSheetNames;
    /**
     * @hidden
     * @param {string} error -  specify the string
     * @returns {string} - to get error line.
     */
    getErrorLine(error: string): string;
    /** @hidden
     * @returns {number} - to return the sheet id
     */
    createSheetFamilyID(): number;
    /**
     * @hidden
     * @param {string[]} args - Specify the args.
     * @param {string} operation - Specify the operation.
     * @returns {string} - To compute min max.
     */
    computeMinMax(args: string[], operation: string): string;
    /**
     * @hidden
     * @param {string[]} args - Specify the args.
     * @param {boolean} isSubtotalFormula - Specify the args is from subtotal formula or not.
     * @param {boolean} isAggregateComputation - Specify the args is from aggregate calculation or not.
     * @returns {string} - to calculate average.
     */
    calculateAvg(args: string[], isSubtotalFormula?: boolean, isAggregateComputation?: boolean): string;
    /**
     * @hidden
     * @param {string} refName - specify the reference name.
     * @param {Object | string } model - model - Specify the model.model
     * @param {number} sheetFamilyID - specify the sheet family id.
     * @returns {string} - register Grid As Sheet.
     */
    registerGridAsSheet(refName: string, model: Object | string, sheetFamilyID: number): string;
    /**
     * @hidden
     * @param {string} refName - Specify the reference name
     * @param {string | Object} model - Specify the model
     * @param {boolean} unRegisterAll - Un registed all the availbe model.
     * @returns {void} - To un register grid sheet.
     */
    unregisterGridAsSheet(refName: string, model: string | Object, unRegisterAll?: boolean): void;
    /**
     * @hidden
     * @param {string} formula - Specify the formula.
     * @param {boolean} isFromComputeExpression - Specifies to confirm it was called from the ComputeExpression function.
     * @returns {string | number} - To compute the expression.
     */
    computeExpression(formula: string, isFromComputeExpression?: boolean): string | number;
    private isSheetMember;
    /**
     * To dispose the calculate engine.
     *
     * @returns {void} - To dispose the calculate engine.
     */
    dispose(): void;
    refreshRandValues(cellRef: string): void;
    refresh(cellRef: string, uniqueCell?: string, dependentCell?: string[], isRandomFormula?: boolean, isDelete?: boolean, deletedRange?: number[], refreshDependentCells?: boolean, action?: string): void;
}
/** @hidden */
export  class FormulaError {
    /**
     * @hidden
     */
    message: string;
    formulaCorrection: boolean;
    constructor(errorMessage: string, formulaAutoCorrection?: boolean);
}
/** @hidden */
export  class FormulaInfo {
    /**
     * @hidden
     */
    calcID: number;
    /**
     * @hidden
     */
    formulaText: string;
    private formulaValue;
    private parsedFormula;
    private calcID1;
    /**
     * @hidden
     * @returns {void} - To get Formula Text
     */
    getFormulaText(): string;
    /**
     * @hidden
     * @param {string} value - Specify the value
     * @returns {void} - To set Formula Text
     */
    setFormulaText(value: string): void;
    /**
     * @hidden
     * @returns {string} - To get Formula Value
     */
    getFormulaValue(): string | number;
    /**
     * @hidden
     * @param {string | number} value - Specify the value
     * @returns {void} - To set Parsed Formula
     */
    setFormulaValue(value: string | number): void;
    /**
     * @hidden
     * @returns {string} - To get Parsed Formula
     */
    getParsedFormula(): string;
    /**
     * @hidden
     * @param {string} value - Specify the value
     * @returns {void} - To set Parsed Formula
     */
    setParsedFormula(value: string): void;
}
/** @hidden */
export  class CalcSheetFamilyItem {
    /**
     * @hidden
     */
    isSheetMember: boolean;
    /**
     * @hidden
     */
    parentObjectToToken: Map<Object, string>;
    /**
     * @hidden
     */
    sheetDependentFormulaCells: Map<string, Map<string, string>>;
    /**
     * @hidden
     */
    sheetNameToParentObject: Map<string, Object>;
    /**
     * @hidden
     */
    sheetNameToToken: Map<string, string>;
    /**
     * @hidden
     */
    tokenToParentObject: Map<string, Object>;
    /**
     * @hidden
     */
    sheetFormulaInfotable: Map<string, FormulaInfo>;
}
/**
 * @hidden
 * @param {number} col - Specify the column
 * @returns {string} - To returns get Alphalabel.
 */
export  function getAlphalabel(col: number): string;
export  class ValueChangedArgs {
    /** @hidden */
    row: number;
    /** @hidden */
    col: number;
    /** @hidden */
    value: number | string;
    /** @hidden */
    getRowIndex: Function;
    /** @hidden */
    setRowIndex: Function;
    /** @hidden */
    getColIndex: Function;
    /** @hidden */
    setColIndex: Function;
    /** @hidden */
    getFormulaValue: Function;
    constructor(row: number, col: number, value: number | string);
}
//node_modules/@syncfusion/ej2-spreadsheet/src/calculate/base/calculate-model.d.ts
/**
 * Interface for a class Calculate
 */
export interface CalculateModel {
    /**
     * Triggers when the calculation caught any errors.
     *
     * @event anEvent
     */
    onFailure?: base.EmitType<FailureEventArgs>;
}
/**
 * Interface for a class FormulaError
 */
export interface FormulaErrorModel {
}
/**
 * Interface for a class FormulaInfo
 */
export interface FormulaInfoModel {
}
/**
 * Interface for a class CalcSheetFamilyItem
 */
export interface CalcSheetFamilyItemModel {
}
/**
 * Interface for a class ValueChangedArgs
 */
export interface ValueChangedArgsModel {
}
 }
export namespace svgBase { 

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

//node_modules/@syncfusion/ej2-treegrid/src/treegrid/utils.d.ts
/**
 * @param {TreeGrid} parent - Tree Grid instance
 * @returns {boolean} - Specifies whether remote data binding
 */
export  function isRemoteData(parent: TreeGrid): boolean;
/**
 * @param {TreeGrid | grids.IGrid} parent - Tree Grid or Grid instance
 * @returns {boolean} - Returns whether custom binding
 */
export  function isCountRequired(parent: TreeGrid | grids.IGrid): boolean;
/**
 * @param {TreeGrid} parent - Tree Grid instance
 * @returns {boolean} - Returns whether checkbox column is enabled
 */
export  function isCheckboxcolumn(parent: TreeGrid): boolean;
/**
 * @param {TreeGrid} parent - Tree Grid instance
 * @returns {boolean} - Returns whether filtering and searching done
 */
export  function isFilterChildHierarchy(parent: TreeGrid): boolean;
/**
 * @param {Object} records - Define records for which parent records has to be found
 * @hidden
 * @returns {Object} - Returns parent records collection
 */
export  function findParentRecords(records: Object): Object;
/**
 * @param {TreeGrid} parent - Tree Grid instance
 * @returns {boolean} - Returns the expand status of record
 * @param {ITreeData} record - Define the record for which expand status has be found
 * @param {ITreeData[]} parents - Parent Data collection
 * @hidden
 */
export  function getExpandStatus(parent: TreeGrid, record: ITreeData, parents: ITreeData[]): boolean;
/**
 * @param {ITreeData} records - Define the record for which child records has to be found
 * @returns {Object[]} - Returns child records collection
 * @hidden
 */
export  function findChildrenRecords(records: ITreeData): Object[];
/**
 * @param {TreeGrid} parent - Tree Grid instance
 * @returns {boolean} - Returns whether local data binding
 */
export  function isOffline(parent: TreeGrid): boolean;
/**
 * @param {Object[]} array - Defines the array to be cloned
 * @returns {Object[]} - Returns cloned array collection
 */
export  function extendArray(array: Object[]): Object[];
/**
 * @param {ITreeData} value - Defined the dirty data to be cleaned
 * @returns {ITreeData} - Returns cleaned original data
 */
export  function getPlainData(value: ITreeData): ITreeData;
/**
 * @param {TreeGrid} parent - TreeGrid instance
 * @param {string} value - IdMapping field name
 * @param {boolean} requireFilter - Specified whether treegrid data is filtered
 * @returns {ITreeData} - Returns IdMapping matched record
 */
export  function getParentData(parent: TreeGrid, value: string, requireFilter?: boolean): ITreeData;
/**
 * @param {HTMLTableRowElement} el - Row element
 * @returns {boolean} - Returns whether hidden
 */
export  function isHidden(el: HTMLTableRowElement): boolean;
//node_modules/@syncfusion/ej2-treegrid/src/treegrid/enum.d.ts
/**
 * Defines modes of Filter Hierarchy used in TreeGrids.
 * The available modes are:
 * * `Parent`: Shows filtered records along with their parent records.
 * * `Child`: Shows filtered records along with their child records.
 * * `Both`: Shows filtered records with both parent and child records.
 * * `None`: Shows only the filtered records without any parent or child context.
 */
export  type FilterHierarchyMode = 'Parent' | 'Child' | 'Both' | 'None';
/**
 * Defines predefined toolbar items for TreeGrids.
 * The available toolbar items are:
 * * `Add`: Add a new record.
 * * `Edit`: Edit the selected record.
 * * `Update`: Update the edited record.
 * * `Delete`: Delete the selected record.
 * * `Cancel`: Cancel the current edit operation.
 * * `Search`: Search TreeGrid records by a given key.
 * * `ExpandAll`: Expand all the rows in the TreeGrid.
 * * `CollapseAll`: Collapse all the rows in the TreeGrid.
 * * `ExcelExport`: Export the TreeGrid as an Excel document.
 * * `PdfExport`: Export the TreeGrid as a PDF document.
 * * `CsvExport`: Export the TreeGrid as a CSV document.
 * * `Print`: Print the TreeGrid contents.
 *
 * @hidden
 */
export  type ToolbarItems = 'Add' | 'Delete' | 'Update' | 'Cancel' | 'Edit' | 'Search' | 'ExpandAll' | 'CollapseAll' | 'ExcelExport' | 'PdfExport' | 'CsvExport' | 'Print';
/**
 * Defines enumerable toolbar items for programmatic access.
 *
 * @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 the available PageSizeMode options for pagination in a tree grid structure.
 *
 * The available page size modes are:
 *
 * * `All`: Considers all records, including both parent and child records, when calculating the number of records per page.
 * * `Root`: Considers only root-level parent records, excluding child records, when calculating the number of records per page.
 */
export  type PageSizeMode = 'All' | 'Root';
/**
 * Defines predefined context menu items for row and column interactions.
 * The available context menu items are:
 * * `AutoFitAll`: Automatically fit the size of all columns.
 * * `AutoFit`: Automatically fit the size of the current column.
 * * `SortAscending`: Sort the current column in ascending order.
 * * `SortDescending`: Sort the current column in descending order.
 * * `Edit`: Edit the current record.
 * * `Delete`: Delete the current record.
 * * `Save`: Save the edited state.
 * * `Cancel`: Cancel the current edit operation.
 * * `PdfExport`: Export the TreeGrid as a PDF format.
 * * `ExcelExport`: Export the TreeGrid as an Excel format.
 * * `CsvExport`: Export the TreeGrid as a CSV format.
 * * `FirstPage`: Navigate to the first page.
 * * `PrevPage`: Navigate to the previous page.
 * * `LastPage`: Navigate to the last page.
 * * `NextPage`: Navigate to the next page.
 * * `AddRow`: Add a new row.
 * * `Indent`: Indent the selected rows.
 * * `Outdent`: Outdent the selected rows.
 *
 * @hidden
 */
export  type ContextMenuItem = 'AutoFitAll' | 'AutoFit' | 'SortAscending' | 'SortDescending' | 'Edit' | 'Delete' | 'Save' | 'Cancel' | 'PdfExport' | 'ExcelExport' | 'CsvExport' | 'FirstPage' | 'PrevPage' | 'LastPage' | 'NextPage' | 'AddRow' | 'Indent' | 'Outdent';
/**
 * Enumerates detailed context menu items used for menu configurations.
 *
 * @hidden
 */
export  enum ContextMenuItems {
    AutoFit = 0,
    AutoFitAll = 1,
    SortAscending = 2,
    SortDescending = 3,
    Edit = 4,
    Delete = 5,
    Save = 6,
    Cancel = 7,
    PdfExport = 8,
    ExcelExport = 9,
    CsvExport = 10,
    FirstPage = 11,
    PrevPage = 12,
    LastPage = 13,
    NextPage = 14,
    AddRow = 15,
    RowIndent = 16,
    RowOutdent = 17
}
/**
 * Defines modes of editing supported by TreeGrids.
 * The available editing modes are:
 * * `Cell`: Enables cell editing mode.
 * * `Row`: Enables row editing mode.
 * * `Dialog`: Opens a dialog for editing.
 * * `Batch`: Allows for batch editing of multiple records.
 */
export  type EditMode = 'Cell' | 'Row' | 'Dialog' | 'Batch';
/**
 * Defines the target position for adding new rows in the TreeGrid.
 * The available positions are:
 * * `Top`: Adds a new row at the top of all rows.
 * * `Bottom`: Adds a new row at the bottom of all rows.
 * * `Above`: Adds a new row above the currently selected row.
 * * `Below`: Adds a new row below the currently selected row.
 * * `Child`: Adds a new row as a child to the currently selected row.
 */
export  type RowPosition = 'Top' | 'Bottom' | 'Above' | 'Below' | 'Child';
/**
 * Defines types of filters available in TreeGrids.
 * The available filter types are:
 * * `Menu`: Applies a dialog-based filtering option, where users can select operators such as 'equals', 'contains', etc., and enter filter values for more granular control.
 * * `Excel`: Provides Excel-like filtering capabilities.
 * * `FilterBar`: Uses a filter bar at the top of each column.
 */
export  type FilterType = 'FilterBar' | 'Excel' | 'Menu';
/**
 * Defines wrapping modes for column content in TreeGrids.
 * The available wrap modes are:
 * * `Both`: Wraps both header and content.
 * * `Header`: Wraps only the header.
 * * `Content`: Wraps only the content.
 */
export  type WrapMode = 'Both' | 'Header' | 'Content';
/**
 * Defines the types of CopyHierarchyMode for grid data.
 * The available copy hierarchy types are:
 * * `Parent`: Copies data maintaining only parent hierarchy.
 * * `Child`: Copies data with child hierarchy.
 * * `Both`: Maintains both parent and child hierarchy during copy.
 * * `None`: Copies data without any hierarchy structure.
 */
export  type CopyHierarchyType = 'Parent' | 'Child' | 'Both' | 'None';
//node_modules/@syncfusion/ej2-treegrid/src/treegrid/renderer/virtual-tree-content-render.d.ts
/**
 * VirtualTreeContentRenderer
 *
 * @hidden
 */
export  class VirtualTreeContentRenderer extends grids.VirtualContentRenderer {
    getModelGenerator(): grids.IModelGenerator<grids.Column>;
    constructor(parent: grids.IGrid, locator?: grids.ServiceLocator);
    private isExpandCollapse;
    private observers;
    private translateY;
    private maxiPage;
    private rowPosition;
    private addRowIndex;
    private dataRowIndex;
    private recordAdded;
    /** @hidden */
    startIndex: number;
    private endIndex;
    private totalRecords;
    private contents;
    private fn;
    private preTranslate;
    private isRemoteExpand;
    private previousInfo;
    /** @hidden */
    isDataSourceChanged: boolean;
    /**
     * Retrieves the row element for a given row index.
     *
     * @param {number} index - The index of the row to retrieve.
     * @returns {Element} The row element at the specified index.
     */
    getRowByIndex(index: number): Element;
    /**
     * Retrieves the frozen right virtual row element by its index.
     *
     * @param {number} index - The index of the row to be retrieved.
     * @returns {Element} The DOM element representing the frozen right virtual row.
     */
    getFrozenRightVirtualRowByIndex(index: number): Element;
    /**
     * Retrieves the row or record from the virtual tree grid based on the provided index.
     * Considers conditions such as frozen rows and pagination for accurate retrieval.
     *
     * @param {number} index - The index of the desired row or record.
     * @param {boolean} isMovable - Specifies if the content is movable.
     * @param {boolean} [isRowObject] - Optional. Determines if the return value should be a row object.
     * @param {boolean} [isFrozenRight] - Optional. Used for determining frozen right rows.
     * @returns {Element | Object} - The HTML element or row object.
     */
    getRowCollection(index: number, isMovable: boolean, isRowObject?: boolean, isFrozenRight?: boolean): Element | Object;
    /**
     * @hidden
     * @returns {void}
     */
    addEventListener(): void;
    /**
     * Handles virtual scrolling actions based on the provided arguments.
     *
     * @param {Object} args - The argument object.
     * @param {boolean} args.setTop - Determines if the virtual scroll position should reset to top.
     * @param {boolean} args.isExpandCollapse - Determines if the action is part of an expand/collapse operation.
     * @returns {void}
     */
    private virtualOtherAction;
    /**
     * Modifies the index based on various conditions such as record addition, deletion, or data source changes.
     *
     * @private
     * @param {Object} args - Contains parameters for the current operation.
     * @param {number} args.startIndex - The starting index for the modification.
     * @param {number} args.endIndex - The ending index for the modification.
     * @param {number} args.count - The number of items affected in the operation.
     * @param {string} args.requestType - The type of request, such as 'insert', 'delete', or 'update'.
     * @returns {void}
     */
    private indexModifier;
    /**
     * Handles the addition or removal of event listeners for virtual scrolling in a TreeGrid.
     *
     * @param {string} action - The action to perform, either 'on' or 'off'.
     * @returns {void}
     */
    eventListener(action: string): void;
    /**
     * Handles cell focus transitions in a virtualized tree grid component
     * when a keyboard event is triggered.
     *
     * @param {KeyboardEventArgs} e - The keyboard event arguments that contain
     *                                information about the key action.
     * @returns {void}
     */
    private cellFocus;
    /**
     * Handles the data ready event for the virtual tree grid content renderer.
     *
     * @param {grids.NotifyArgs} [e] - The notification arguments that contain information about the data.
     * @returns {void}
     */
    protected onDataReady(e?: grids.NotifyArgs): void;
    /**
     * Renders the table for the virtual tree content. It sets up a new `TreeInterSectionObserver`
     * based on certain conditions regarding the data source and counting requirements.
     *
     * @returns {void}
     */
    renderTable(): void;
    /**
     * Calculates the translateY value for a virtual tree grid based on the scroll top, container height,
     * and additional virtual scrolling information. This method specifically handles logic for remote
     * data sources and ensures smooth scrolling with respect to expansion states.
     *
     * @param {number} sTop - The scroll top position.
     * @param {number} cHeight - The height of the container.
     * @param {grids.VirtualInfo} [info] - Optional virtual scrolling information.
     * @param {boolean} [isOnenter] - Flag indicating if the scroll event is on enter.
     * @returns {number} The calculated translateY value.
     */
    protected getTranslateY(sTop: number, cHeight: number, info?: grids.VirtualInfo, isOnenter?: boolean): number;
    /**
     * Handles the dataBound event to calculate and set the initial row top position for the grid.
     *
     * @returns {void}
     */
    private dataBoundEvent;
    /**
     * Handles the row selection event for virtual tree grid rows.
     * It invokes the base class's rowSelected method and notifies
     * the parent component about a virtual transformation change.
     *
     * @param {RowSelectEventArgs} args - The arguments related to the row selection event.
     * @returns {void} This method does not return a value.
     */
    private rowSelectedEvent;
    /**
     * Handles virtual row selection in TreeGrid.
     *
     * @param {Object} args - The argument object containing the selected index.
     * @param {number} args.selectedIndex - The index of the row to be selected.
     *
     * @returns {void}
     */
    private toSelectVirtualRow;
    /**
     * Refreshes the cells for the given row object by regenerating them.
     *
     * @param {Row<grids.Column>} rowObj - The row object for which the cells need to be refreshed.
     * @returns {void} This method does not return any value.
     */
    private refreshCell;
    /**
     * Generates an array of cells for each column in the parent.
     *
     * @returns {grids.Cell<grids.Column>[]} An array of cells for the corresponding columns.
     */
    generateCells(): grids.Cell<grids.Column>[];
    /**
     * Generates a cell object with provided column and row configurations.
     *
     * @param {grids.Column} col - The grids.Column object which holds the column configuration.
     * @param {string} [rowId] - An optional string that represents the row ID.
     * @param {grids.CellType} [cellType] - An optional grids.CellType enum to specify the type of the cell.
     * @param {number} [colSpan] - An optional number to specify the column span of the cell.
     * @param {number} [oIndex] - An optional number for the order index of the cell.
     * @param {Object} [foreignKeyData] - An optional object for foreign key data associated with the column.
     *
     * @returns {grids.Cell<grids.Column>} Returns a newly created grids.Cell object of type grids.Column.
     */
    generateCell(col: grids.Column, rowId?: string, cellType?: grids.CellType, colSpan?: number, oIndex?: number, foreignKeyData?: Object): grids.Cell<grids.Column>;
    /**
     * Begins the edit operation for a specified row in the grid.
     * Updates the `editedRowIndex` and assigns row data to the event data.
     *
     * @param {{ data: Object, index: number }} e - An object containing the row data and index.
     * @param {Object} e.data - The data of the row to be edited.
     * @param {number} e.index - The index of the row to be edited.
     * @returns {void}
     */
    private beginEdit;
    /**
     * Begins the process of adding a new row in the tree grid.
     *
     * @param {Object} args - The arguments for adding a new row.
     * @param {boolean} args.startEdit - A flag indicating whether to start editing.
     * @returns {void}
     */
    private beginAdd;
    /**
     * Restores the edit state of the tree grid content. This method calls the
     * base class method to handle the restoration logic.
     *
     * @returns {void} This method does not return any value.
     */
    private restoreEditState;
    /**
     * Resets the edit state if certain conditions are met.
     *
     * @returns {void}
     */
    private resetIseditValue;
    /**
     * Handles the successful editing operation when virtual scrolling is enabled.
     * Checks if a row has been added to the tree grid and sets the `recordAdded` flag accordingly.
     *
     * @returns {void}
     */
    private virtualEditSuccess;
    /**
     * Cancels the edit operation for the provided data.
     *
     * @param {Object} args - The arguments containing the data to cancel edit for.
     * @param {Object} args.data - The specific data object for which the edit operation needs to be canceled.
     * @returns {void}
     */
    private cancelEdit;
    /**
     * Handles the action of selecting a row when the context menu is opened.
     *
     * @param {Object} args - An object containing related parameters.
     * @param {boolean} args.isOpen - A flag indicating whether the context menu is open.
     * @returns {void} This method does not return any value.
     */
    private toSelectRowOnContextOpen;
    /**
     * Restores a new row in the grid when necessary by adding it back to the content.
     *
     * @returns {void} This method does not return any value.
     */
    private restoreNewRow;
    /**
     * Retrieves virtual data for operations like adding or canceling rows in the grid.
     *
     * @param {Object} data - An object containing properties to determine the virtual data processing.
     * @param {Object} data.virtualData - The virtual data object to be processed.
     * @param {boolean} data.isAdd - A boolean indicating if the operation is an addition.
     * @param {boolean} data.isCancel - A boolean indicating if the operation is a cancellation.
     * @returns {void} This method does not return any value.
     */
    private getData;
    /**
     * Initiates the beginning of an action within the tree grid component.
     * This method is invoked before any action is performed, allowing for
     * any necessary modifications or cancellations of the upcoming action.
     *
     * @param {grids.NotifyArgs} args - The arguments associated with the action,
     * providing context and specifics about what is being commenced.
     * @returns {void}
     */
    protected handleActionBegin(args: grids.NotifyArgs): void;
    /**
     * Handles the completion of various actions, such as adding a new row.
     * Updates row positions and indexes based on the action completed.
     *
     * @param {grids.NotifyArgs} args - An object containing the details of the completed action.
     *               Specifically, it includes the `requestType` which determines the type
     *               of action that was completed.
     * @returns {void} This method does not return any value.
     */
    private onActionComplete;
    /**
     * Creates a callback function to be executed during virtual scrolling actions.
     * This function handles the adjustment of virtual elements and rendering logic,
     * particularly optimizing for non-IE browsers, wheel events, and virtual masks.
     *
     * @returns {Function} A function that handles scrolling and adjusts table rendering.
     * @param {HTMLElement} element - The HTML element involved in the action.
     * @param {grids.SentinelType} current - The type of sentinel indicating the scroll.
     * @param {string} direction - The scroll direction.
     * @param {grids.Offsets} e - The offset values indicating the current scroll position.
     * @param {boolean} isWheel - Indicates if the scrolling was initiated by a mouse wheel.
     * @param {boolean} check - A boolean flag for additional control logic.
     */
    private onEnteredAction;
    /**
     * Handles scroll events to manage virtual scrolling and row rendering.
     * Adjusts view information, row indexes, and translates viewport positioning
     * based on the given scroll arguments.
     *
     * @param {ScrollArg} scrollArgs - Contains the scroll offsets, sentinel information, direction of scroll, and other related details.
     * @returns {void} - No return value. It adjusts scrolling state internally.
     */
    scrollListeners(scrollArgs: ScrollArg): void;
    /**
     * Prevents scrolling under specific conditions related to adding a new row.
     *
     * @param {ScrollArg} scrollArgs - The scroll event arguments containing offset details.
     * @returns {void}
     */
    private shouldPreventScrolling;
    /**
     * Appends content to the target element. Handles dynamic adjustments for remote data sources,
     * frozen columns, and virtual scrolling.
     *
     * @param {HTMLElement} target - The target HTML element where content is to be appended.
     * @param {DocumentFragment} newChild - The new content as a DocumentFragment to append.
     * @param {grids.NotifyArgs} e - Object containing information about the operation.
     * @returns {void}
     */
    appendContent(target: HTMLElement, newChild: DocumentFragment, e: grids.NotifyArgs): void;
    /**
     * Unsubscribes all event listeners to prevent memory leaks.
     * This method is called when the component is being destroyed or when event listeners need to be cleaned up.
     *
     * @returns {void}
     */
    removeEventListener(): void;
}
export  class TreeInterSectionObserver extends grids.InterSectionObserver {
    private isWheeling;
    private newPos;
    private lastPos;
    private timer;
    /**
     * Sets up observers to monitor scroll events on a given container
     * and its movable companion within a virtual grid setup.
     *
     * @param {Function} callback - Function to call when a scroll event is detected.
     * @param {Function} onEnterCallback - Function to call when a specific event, like entering a region, is detected.
     * @param {grids.IGrid} instance - The grid instance that requires observation.
     * @returns {void}
     */
    observes(callback: Function, onEnterCallback: Function, instance: grids.IGrid): void;
    /**
     * Clears the last known position.
     *
     * @returns {void} No value is returned from this function.
     */
    private clear;
    /**
     * Handles virtual scrolling events and manages scroll direction and debouncing for rendering updates.
     *
     * @private
     * @param {Function} callback - Function to call on scroll end.
     * @param {Function} onEnterCallback - Function to call on entering a virtual scrolling area.
     * @param {grids.IGrid} instance - The grid instance on which virtual scrolling is being implemented.
     * @returns {Function} - A function that processes scroll events.
     */
    private virtualScrollHandlers;
}
 type ScrollArg = {
    direction: string;
    isWheel: boolean;
    sentinel: grids.SentinelType;
    offset: grids.Offsets;
    focusElement: HTMLElement;
};
//node_modules/@syncfusion/ej2-treegrid/src/treegrid/renderer/virtual-row-model-generator.d.ts
/**
 * RowModelGenerator is used to generate grid data rows.
 *
 * @hidden
 */
export  class TreeVirtualRowModelGenerator extends grids.VirtualRowModelGenerator {
    private visualData;
    constructor(parent: grids.IGrid);
    addEventListener(): void;
    private getDatas;
    private getDataInfo;
    generateRows(data: Object[], notifyArgs?: grids.NotifyArgs): grids.Row<grids.Column>[];
    checkAndResetCache(action: string): boolean;
}
//node_modules/@syncfusion/ej2-treegrid/src/treegrid/renderer/render.d.ts
/**
 * TreeGrid render module
 *
 * @hidden
 */
export  class Render {
    private parent;
    private templateResult;
    /**
     * Constructor for render module
     *
     * @param {TreeGrid} parent - Tree Grid instance
     */
    constructor(parent?: TreeGrid);
    /**
     * Updated row elements for TreeGrid
     *
     * @param {grids.RowDataBoundEventArgs} args - Row details before its bound to DOM
     * @returns {void}
     */
    RowModifier(args: grids.RowDataBoundEventArgs): void;
    /**
     * cell renderer for tree column index cell
     *
     * @param {grids.QueryCellInfoEventArgs} args - Cell detail before its bound to DOM
     * @returns {void}
     */
    cellRender(args: grids.QueryCellInfoEventArgs): void;
    private updateTreeCell;
    /**
     * @param {string} columnUid - Defines column uid
     * @returns {void}
     * @hidden
     */
    private refreshReactColumnTemplateByUid;
    private columnTemplateResult;
    private reactTemplateRender;
    destroy(): void;
}
//node_modules/@syncfusion/ej2-treegrid/src/treegrid/models/textwrap-settings.d.ts
/**
 * Configures the text wrapping behavior of the TreeGrid.
 */
export  class TextWrapSettings extends base.ChildProperty<TextWrapSettings> {
    /**
     * Defines the `wrapMode` of the TreeGrid, controlling how text wrapping is applied to header and content.
     * Available wrap modes are:
     * * `Both`: Wraps both the header and the content of all columns.
     * * `Content`: Wraps only the content of the columns, allowing headers to remain unchanged.
     * * `Header`: Wraps only the header text of the columns, while content remains unwrapped.
     *
     * Text wrapping can improve readability when dealing with long text values or narrow column widths.
     *
     * @default Both
     */
    wrapMode: WrapMode;
}
//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, controlling how text wrapping is applied to header and content.
     * Available wrap modes are:
     * * `Both`: Wraps both the header and the content of all columns.
     * * `Content`: Wraps only the content of the columns, allowing headers to remain unchanged.
     * * `Header`: Wraps only the header text of the columns, while content remains unwrapped.
     *
     * Text wrapping can improve readability when dealing with long text values or narrow column widths.
     *
     * @default Both
     */
    wrapMode?: WrapMode;
}
//node_modules/@syncfusion/ej2-treegrid/src/treegrid/models/summary.d.ts
/**
 * Configures the aggregate column for the TreeGrid.
 */
export  class AggregateColumn extends base.ChildProperty<AggregateColumn> {
    private formatFn;
    private intl;
    private templateFn;
    /**
     * Defines the aggregate type(s) for a particular column.
     * To apply multiple aggregates to a single column, specify the `type` as an array.
     * Available aggregate types include:
     * * `sum`: Calculates the sum of all values in a column.
     * * `average`: Computes the average of the column values.
     * * `max`: Finds the maximum value in a column.
     * * `min`: Finds the minimum value in a column.
     * * `count`: Counts the number of records.
     * * `falsecount`: Counts the number of false values.
     * * `truecount`: Counts the number of true values.
     * * `custom`: Allows for a custom aggregate function.
     *
     * Use `custom` to specify a custom aggregation.
     *
     * @aspType string
     * @default null
     */
    type: grids.AggregateType | grids.AggregateType[] | string;
    /**
     * Defines a template for the footer cell of the aggregate column.
     * Use the aggregate `type` names within the template to access aggregate values.
     *
     * @default null
     * @aspType string
     *
     */
    footerTemplate: string | Function;
    /**
     * Specifies the column name on which to perform the aggregation.
     *
     * @default null
     */
    field: string;
    /**
     * Specifies the format to be applied to the calculated aggregate value before display.
     * Supports both standard and custom formats for numbers and dates.
     * Refer to the Syncfusion documentation for [number](https://ej2.syncfusion.com/documentation/common/internationalization/#supported-format-string)
     * and [date](https://ej2.syncfusion.com/documentation/common/internationalization#date-formatting) formats.
     *
     * @aspType string
     * @default null
     */
    format: string | base.NumberFormatOptions | base.DateFormatOptions;
    /**
     * Specifies the column name to display the aggregate value. If not defined, the `field` name is used by default.
     *
     * @default null
     */
    columnName: string;
    /**
     * Defines a custom function to calculate the aggregate value. The `type` must be set to `custom`.
     * Use the custom value as `${custom}` in templates.
     * * `Total aggregation`: The custom function is called with the entire dataset and the current `AggregateColumn` object.
     * * `Group aggregation`: It is called with the current group details and the `AggregateColumn` object.
     *
     * @default null
     */
    customAggregate: grids.CustomSummaryType | string;
    /**
     * Custom format function
     *
     * @hidden
     * @param {string} cultureName - culture name to format
     * @returns {void}
     */
    setFormatter(cultureName: string): void;
    /**
     * @param {base.NumberFormatOptions | base.DateFormatOptions} format - formatting options for number and date values
     * @hidden
     * @returns {Function} - return formatter function
     */
    getFormatFunction(format: base.NumberFormatOptions | base.DateFormatOptions): Function;
    /**
     * @hidden
     * @returns {Function} - Returns formatter function
     */
    getFormatter(): Function;
    /**
     * @param {Object} helper - Specified the helper
     * @hidden
     * @returns {void}
     */
    setTemplate(helper?: Object): void;
    /**
     * @param {grids.CellType} type - specifies the cell type
     * @returns {Object} returns the object
     * @hidden
     */
    getTemplate(type: grids.CellType): {
        fn: Function;
        property: string;
    };
    /**
     * @param {Object} prop - updates aggregate properties without change detection
     * @hidden
     * @returns {void}
     */
    setPropertiesSilent(prop: Object): void;
}
/**
 * Configures the aggregate rows in the TreeGrid.
 */
export  class AggregateRow extends base.ChildProperty<AggregateRow> {
    /**
     * Configures the collection of aggregate columns.
     *
     * @default []
     */
    columns: AggregateColumnModel[];
    /**
     * Determines whether to display child summaries for each parent row.
     *
     */
    showChildSummary: 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(s) for a particular column.
     * To apply multiple aggregates to a single column, specify the `type` as an array.
     * Available aggregate types include:
     * * `sum`: Calculates the sum of all values in a column.
     * * `average`: Computes the average of the column values.
     * * `max`: Finds the maximum value in a column.
     * * `min`: Finds the minimum value in a column.
     * * `count`: Counts the number of records.
     * * `falsecount`: Counts the number of false values.
     * * `truecount`: Counts the number of true values.
     * * `custom`: Allows for a custom aggregate function.
     *
     * Use `custom` to specify a custom aggregation.
     *
     * @aspType string
     * @default null
     */
    type?: grids.AggregateType | grids.AggregateType[] | string;
    /**
     * Defines a template for the footer cell of the aggregate column.
     * Use the aggregate `type` names within the template to access aggregate values.
     *
     * @default null
     * @aspType string
     *
     */
    footerTemplate?: string | Function;
    /**
     * Specifies the column name on which to perform the aggregation.
     *
     * @default null
     */
    field?: string;
    /**
     * Specifies the format to be applied to the calculated aggregate value before display.
     * Supports both standard and custom formats for numbers and dates.
     * Refer to the Syncfusion documentation for [number](https://ej2.syncfusion.com/documentation/common/internationalization/#supported-format-string)
     * and [date](https://ej2.syncfusion.com/documentation/common/internationalization#date-formatting) formats.
     *
     * @aspType string
     * @default null
     */
    format?: string | base.NumberFormatOptions | base.DateFormatOptions;
    /**
     * Specifies the column name to display the aggregate value. If not defined, the `field` name is used by default.
     *
     * @default null
     */
    columnName?: string;
    /**
     * Defines a custom function to calculate the aggregate value. The `type` must be set to `custom`.
     * Use the custom value as `${custom}` in templates.
     * * `Total aggregation`: The custom function is called with the entire dataset and the current `AggregateColumn` object.
     * * `Group aggregation`: It is 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 collection of aggregate columns.
     *
     * @default []
     */
    columns?: AggregateColumnModel[];
    /**
     * Determines whether to display child summaries for each parent row.
     *
     */
    showChildSummary?: boolean;
}
//node_modules/@syncfusion/ej2-treegrid/src/treegrid/models/sort-settings.d.ts
/**
 * Represents the field name and direction of a sort column in the TreeGrid.
 */
export  class SortDescriptor extends base.ChildProperty<SortDescriptor> {
    /**
     * Specifies the field name of the column to be sorted.
     *
     * @default ''
     */
    field: string;
    /**
     * Specifies the direction of sorting for the column. The available options are:
     * * `Ascending`: Sorts the column in ascending order.
     * * `Descending`: Sorts the column in descending order.
     *
     * @default ''
     * @isEnumeration true
     * @aspType Syncfusion.EJ2.Grids.grids.SortDirection
     */
    direction: grids.SortDirection;
}
/**
 * Configures the sorting behavior of the TreeGrid.
 */
export  class SortSettings extends base.ChildProperty<SortSettings> {
    /**
     * Specifies the columns to be sorted at initial rendering of the TreeGrid.
     * This property can also be used to get or modify the currently sorted columns at runtime.
     *
     * @default []
     */
    columns: SortDescriptorModel[];
    /**
     * If set to false, the user cannot reset the TreeGrid to an unsorted state by clicking on the sorted column header.
     * When true, clicking an already sorted column header will toggle the sort direction or remove sorting.
     *
     * @default true
     */
    allowUnsort: boolean;
}
//node_modules/@syncfusion/ej2-treegrid/src/treegrid/models/sort-settings-model.d.ts
/**
 * Interface for a class SortDescriptor
 */
export interface SortDescriptorModel {
    /**
     * Specifies the field name of the column to be sorted.
     *
     * @default ''
     */
    field?: string;
    /**
     * Specifies the direction of sorting for the column. The available options are:
     * * `Ascending`: Sorts the column in ascending order.
     * * `Descending`: Sorts the column in descending order.
     *
     * @default ''
     * @isEnumeration true
     * @aspType Syncfusion.EJ2.Grids.grids.SortDirection
     */
    direction?: grids.SortDirection;
}
/**
 * Interface for a class SortSettings
 */
export interface SortSettingsModel {
    /**
     * Specifies the columns to be sorted at initial rendering of the TreeGrid.
     * This property can also be used to get or modify the currently sorted columns at runtime.
     *
     * @default []
     */
    columns?: SortDescriptorModel[];
    /**
     * If set to false, the user cannot reset the TreeGrid to an unsorted state by clicking on the sorted column header.
     * When true, clicking an already sorted column header will toggle the sort direction or remove sorting.
     *
     * @default true
     */
    allowUnsort?: 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> {
    /**
     * Specifies the selection mode for the TreeGrid, which supports row, cell, and both (row and cell) selection modes.
     * * `Row`: Selects the entire row.
     * * `Cell`: Selects a single cell.
     * * `Both`: Selects the entire row and its cells.
     *
     * @default Syncfusion.EJ2.Grids.grids.SelectionMode.Row
     * @isEnumeration true
     * @aspType Syncfusion.EJ2.Grids.grids.SelectionMode
     */
    mode: grids.SelectionMode;
    /**
     * Determines the mode for cell selection, available options are flow and box.
     * Requires the selection `mode` to be either cell or both.
     * * `Flow`: Selects the range between start and end indexes, including other cells of selected rows.
     * * `Box`: Selects cells within the start and end column indexes within the selected rows.
     *
     * @default Syncfusion.EJ2.Grids.grids.CellSelectionMode.Flow
     * @isEnumeration true
     * @aspType Syncfusion.EJ2.Grids.grids.CellSelectionMode
     */
    cellSelectionMode: grids.CellSelectionMode;
    /**
     * Defines the selection type, specifying whether single or multiple selections are allowed.
     * * `Single`: Allows selection of only a single row or cell.
     * * `Multiple`: Allows selection of multiple rows or cells.
     *
     * @default Syncfusion.EJ2.Grids.grids.SelectionType.Single
     * @isEnumeration true
     * @aspType Syncfusion.EJ2.Grids.grids.SelectionType
     */
    type: grids.SelectionType;
    /**
     * When set to true, the TreeGrid selection persists even during various grid operations such as sorting or paging.
     * Requires at least one column to be configured as the primary key for persistence.
     *
     * @default false
     */
    persistSelection: boolean;
    /**
     * Specifies the mode for checkbox selection:
     * * `Default`: Allows selection of multiple rows by clicking on each row individually.
     * * `ResetOnRowClick`: Resets prior selection when a new row is clicked. Multiple rows can be selected using CTRL or SHIFT keys.
     *
     * @default Syncfusion.EJ2.Grids.grids.CheckboxSelectionType.Default
     * @isEnumeration true
     * @aspType Syncfusion.EJ2.Grids.grids.CheckboxSelectionType
     */
    checkboxMode: grids.CheckboxSelectionType;
    /**
     * If set to true, TreeGrid selection is allowed only through checkboxes. Ensure the column type is set to `checkbox` to enable this mode.
     *
     * @default false
     */
    checkboxOnly: boolean;
    /**
     * Enables toggling of the selected row. When true, users can toggle the selection of a row.
     *
     * @default true
     */
    enableToggle: boolean;
}
//node_modules/@syncfusion/ej2-treegrid/src/treegrid/models/selection-settings-model.d.ts
/**
 * Interface for a class SelectionSettings
 */
export interface SelectionSettingsModel {
    /**
     * Specifies the selection mode for the TreeGrid, which supports row, cell, and both (row and cell) selection modes.
     * * `Row`: Selects the entire row.
     * * `Cell`: Selects a single cell.
     * * `Both`: Selects the entire row and its cells.
     *
     * @default Syncfusion.EJ2.Grids.grids.SelectionMode.Row
     * @isEnumeration true
     * @aspType Syncfusion.EJ2.Grids.grids.SelectionMode
     */
    mode?: grids.SelectionMode;
    /**
     * Determines the mode for cell selection, available options are flow and box.
     * Requires the selection `mode` to be either cell or both.
     * * `Flow`: Selects the range between start and end indexes, including other cells of selected rows.
     * * `Box`: Selects cells within the start and end column indexes within the selected rows.
     *
     * @default Syncfusion.EJ2.Grids.grids.CellSelectionMode.Flow
     * @isEnumeration true
     * @aspType Syncfusion.EJ2.Grids.grids.CellSelectionMode
     */
    cellSelectionMode?: grids.CellSelectionMode;
    /**
     * Defines the selection type, specifying whether single or multiple selections are allowed.
     * * `Single`: Allows selection of only a single row or cell.
     * * `Multiple`: Allows selection of multiple rows or cells.
     *
     * @default Syncfusion.EJ2.Grids.grids.SelectionType.Single
     * @isEnumeration true
     * @aspType Syncfusion.EJ2.Grids.grids.SelectionType
     */
    type?: grids.SelectionType;
    /**
     * When set to true, the TreeGrid selection persists even during various grid operations such as sorting or paging.
     * Requires at least one column to be configured as the primary key for persistence.
     *
     * @default false
     */
    persistSelection?: boolean;
    /**
     * Specifies the mode for checkbox selection:
     * * `Default`: Allows selection of multiple rows by clicking on each row individually.
     * * `ResetOnRowClick`: Resets prior selection when a new row is clicked. Multiple rows can be selected using CTRL or SHIFT keys.
     *
     * @default Syncfusion.EJ2.Grids.grids.CheckboxSelectionType.Default
     * @isEnumeration true
     * @aspType Syncfusion.EJ2.Grids.grids.CheckboxSelectionType
     */
    checkboxMode?: grids.CheckboxSelectionType;
    /**
     * If set to true, TreeGrid selection is allowed only through checkboxes. Ensure the column type is set to `checkbox` to enable this mode.
     *
     * @default false
     */
    checkboxOnly?: boolean;
    /**
     * Enables toggling of the selected row. When true, users can toggle the selection of a row.
     *
     * @default true
     */
    enableToggle?: boolean;
}
//node_modules/@syncfusion/ej2-treegrid/src/treegrid/models/search-settings.d.ts
/**
 * Configures the searching behavior of the TreeGrid.
 */
export  class SearchSettings extends base.ChildProperty<SearchSettings> {
    /**
     * Specifies the columns to be searched upon the initial rendering of the TreeGrid.
     * You can also retrieve the list of columns that are currently searched.
     *
     * @default []
     */
    fields: string[];
    /**
     * When set to true, the search operation ignores case sensitivity,
     * including diacritic characters or accents while filtering.
     *
     * > Check the [`Diacritics`](../../treegrid/filtering/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 keyword used for searching within the TreeGrid content.
     *
     */
    key: string;
    /**
     * Defines the search hierarchy modes dictating which parts of the tree should be included in search results.
     * The available options are:
     * * `Parent`: Shows the searched record along with its parent record.
     * * `Child`: Shows the searched record along with its child record.
     * * `Both`: Shows the searched record with both its parent and child records.
     * * `None`: Shows only the searched record.
     *
     * @default Parent
     * @isEnumeration true
     * @aspType FilterHierarchyMode
     */
    hierarchyMode: FilterHierarchyMode;
}
//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 upon the initial rendering of the TreeGrid.
     * You can also retrieve the list of columns that are currently searched.
     *
     * @default []
     */
    fields?: string[];
    /**
     * When set to true, the search operation ignores case sensitivity,
     * including diacritic characters or accents while filtering.
     *
     * > Check the [`Diacritics`](../../treegrid/filtering/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 keyword used for searching within the TreeGrid content.
     *
     */
    key?: string;
    /**
     * Defines the search hierarchy modes dictating which parts of the tree should be included in search results.
     * The available options are:
     * * `Parent`: Shows the searched record along with its parent record.
     * * `Child`: Shows the searched record along with its child record.
     * * `Both`: Shows the searched record with both its parent and child records.
     * * `None`: Shows only the searched record.
     *
     * @default Parent
     * @isEnumeration true
     * @aspType FilterHierarchyMode
     */
    hierarchyMode?: FilterHierarchyMode;
}
//node_modules/@syncfusion/ej2-treegrid/src/treegrid/models/rowdrop-settings.d.ts
/**
 * Configures the settings for row dragging and dropping within the TreeGrid, allowing for enhanced user interaction and data manipulation capabilities.
 */
export  class RowDropSettings extends base.ChildProperty<RowDropSettings> {
    /**
     * Specifies the ID of the droppable component where rows can be dragged and dropped. Ensures that the row drop operation targets the correct component within the application.
     *
     * @default null
     */
    targetID: string;
}
/**
 * Interface for TreeGrid row drop action event arguments, providing detailed information about the row drop operation and its related context.
 */
export interface TreeActionEventArgs {
    /** Identifies the type of request made during the action. */
    requestType?: string;
    /** Contains the data of the row(s) involved in the action, either a single row or an array of rows. */
    data?: ITreeData | ITreeData[];
    /** Refers to the rows affected by the action. */
    row?: Object[];
    /** A boolean value indicating whether the action should be canceled. */
    cancel?: boolean;
    /** Describes the specific action being performed. */
    action?: string;
    /** Indicates the target index where the row(s) will be dropped. */
    dropIndex?: number;
    /** Specifies the position where the dragged record will be dropped relative to the target. */
    dropPosition?: string;
    /** Lists the records that have been modified as a result of the action. */
    modifiedRecords?: ITreeData[];
}
//node_modules/@syncfusion/ej2-treegrid/src/treegrid/models/rowdrop-settings-model.d.ts
/**
 * Interface for a class RowDropSettings
 */
export interface RowDropSettingsModel {
    /**
     * Specifies the ID of the droppable component where rows can be dragged and dropped. Ensures that the row drop operation targets the correct component within the application.
     *
     * @default null
     */
    targetID?: string;
}
//node_modules/@syncfusion/ej2-treegrid/src/treegrid/models/page-settings.d.ts
/**
 * Configures the paging behavior of the TreeGrid, enabling you to manage and display data efficiently across multiple pages.
 */
export  class PageSettings extends base.ChildProperty<PageSettings> {
    /**
     * Specifies the number of records to display per page in the TreeGrid. Adjust this setting to control the volume of data presented on each page.
     *
     * @default 12
     */
    pageSize: number;
    /**
     * Determines the number of page numbers displayed in the TreeGrid pager container. This setting helps users navigate between different parts of the dataset.
     *
     * @default 8
     */
    pageCount: number;
    /**
     * Sets the current page number in the TreeGrid, defining which page of data is initially displayed to users.
     *
     * @default 1
     */
    currentPage: number;
    /**
     * @hidden
     * Retrieves the total number of records in the TreeGrid. This property is primarily used internally by the TreeGrid component.
     */
    totalRecordsCount: number;
    /**
     * When set to true, appends the current page information as a query string to the remote service URL during page navigation within the TreeGrid.
     *
     * @default false
     */
    enableQueryString: boolean;
    /**
     * Enables a DropDownList in the TreeGrid pager, allowing users to select the page size. Accepts either a boolean to toggle this feature or an array of page size options.
     *
     * @default false
     */
    pageSizes: boolean | (number | string)[];
    /**
     * Provides a custom template for rendering pager elements in the TreeGrid, offering enhanced flexibility and control over the pager's appearance and functionality. Accepts a template string or the ID of an HTML element.
     *
     * @default null
     * @aspType string
     */
    template: string | Function;
    /**
     * Specifies the mode for counting records on a page, determining whether all records are counted or only zeroth level parent records. The available options are:
     * * `All`: Includes all records in the count.
     * * `Root`: Includes only zeroth level parent records.
     *
     * @default All
     */
    pageSizeMode: PageSizeMode;
}
//node_modules/@syncfusion/ej2-treegrid/src/treegrid/models/page-settings-model.d.ts
/**
 * Interface for a class PageSettings
 */
export interface PageSettingsModel {
    /**
     * Specifies the number of records to display per page in the TreeGrid. Adjust this setting to control the volume of data presented on each page.
     *
     * @default 12
     */
    pageSize?: number;
    /**
     * Determines the number of page numbers displayed in the TreeGrid pager container. This setting helps users navigate between different parts of the dataset.
     *
     * @default 8
     */
    pageCount?: number;
    /**
     * Sets the current page number in the TreeGrid, defining which page of data is initially displayed to users.
     *
     * @default 1
     */
    currentPage?: number;
    /**
     * @hidden
     * Retrieves the total number of records in the TreeGrid. This property is primarily used internally by the TreeGrid component.
     */
    totalRecordsCount?: number;
    /**
     * When set to true, appends the current page information as a query string to the remote service URL during page navigation within the TreeGrid.
     *
     * @default false
     */
    enableQueryString?: boolean;
    /**
     * Enables a DropDownList in the TreeGrid pager, allowing users to select the page size. Accepts either a boolean to toggle this feature or an array of page size options.
     *
     * @default false
     */
    pageSizes?: boolean | (number | string)[];
    /**
     * Provides a custom template for rendering pager elements in the TreeGrid, offering enhanced flexibility and control over the pager's appearance and functionality. Accepts a template string or the ID of an HTML element.
     *
     * @default null
     * @aspType string
     */
    template?: string | Function;
    /**
     * Specifies the mode for counting records on a page, determining whether all records are counted or only zeroth level parent records. The available options are:
     * * `All`: Includes all records in the count.
     * * `Root`: Includes only zeroth level parent records.
     *
     * @default All
     */
    pageSizeMode?: PageSizeMode;
}
//node_modules/@syncfusion/ej2-treegrid/src/treegrid/models/loading-indicator.d.ts
/**
 * Configures the loading indicator for the Tree Grid, allowing you to display a visual indicator during data loading operations to enhance user experience.
 */
export  class LoadingIndicator extends base.ChildProperty<LoadingIndicator> {
    /**
     * Specifies the type of loading indicator to be displayed. You can choose between:
     * ```props
     * * `Spinner`: Displays a spinning loader to indicate ongoing loading.
     * * `Shimmer`: Displays a shimmer effect that suggests content is loading.
     * ```
     *
     * @default Syncfusion.EJ2.Grids.grids.IndicatorType.Spinner
     * @isEnumeration true
     * @aspType Syncfusion.EJ2.Grids.grids.IndicatorType
     */
    indicatorType: grids.IndicatorType;
}
//node_modules/@syncfusion/ej2-treegrid/src/treegrid/models/loading-indicator-model.d.ts
/**
 * Interface for a class LoadingIndicator
 */
export interface LoadingIndicatorModel {
    /**
     * Specifies the type of loading indicator to be displayed. You can choose between:
     * ```props
     * * `Spinner`: Displays a spinning loader to indicate ongoing loading.
     * * `Shimmer`: Displays a shimmer effect that suggests content is loading.
     * ```
     *
     * @default Syncfusion.EJ2.Grids.grids.IndicatorType.Spinner
     * @isEnumeration true
     * @aspType Syncfusion.EJ2.Grids.grids.IndicatorType
     */
    indicatorType?: grids.IndicatorType;
}
//node_modules/@syncfusion/ej2-treegrid/src/treegrid/models/infinite-scroll-settings.d.ts
/**
 * Configures the infinite scroll behavior of the Tree Grid.
 */
export  class InfiniteScrollSettings extends base.ChildProperty<grids.InfiniteScrollSettings> {
    /**
     * If `enableCache` is set to true, the Tree Grid will cache the loaded data for reuse in future requests, improving performance.
     *
     * @default false
     */
    enableCache: boolean;
    /**
     * Specifies the number of data blocks to maintain in the Tree Grid's cache when `enableCache` is true.
     *
     * @default 3
     */
    maxBlocks: number;
    /**
     * Specifies the number of data blocks to render initially when the Tree Grid loads, if caching is enabled.
     *
     * @default 3
     */
    initialBlocks: number;
}
//node_modules/@syncfusion/ej2-treegrid/src/treegrid/models/infinite-scroll-settings-model.d.ts
/**
 * Interface for a class InfiniteScrollSettings
 */
export interface InfiniteScrollSettingsModel {
    /**
     * If `enableCache` is set to true, the Tree Grid will cache the loaded data for reuse in future requests, improving performance.
     *
     * @default false
     */
    enableCache?: boolean;
    /**
     * Specifies the number of data blocks to maintain in the Tree Grid's cache when `enableCache` is true.
     *
     * @default 3
     */
    maxBlocks?: number;
    /**
     * Specifies the number of data blocks to render initially when the Tree Grid loads, if caching is enabled.
     *
     * @default 3
     */
    initialBlocks?: number;
}
//node_modules/@syncfusion/ej2-treegrid/src/treegrid/models/filter-settings.d.ts
/**
 * Represents the filter configuration for a column in the TreeGrid.
 */
export  class Predicate extends base.ChildProperty<Predicate> {
    /**
     * Specifies the field name of the column to apply the filter on.
     *
     * @default ''
     */
    field: string;
    /**
     * Specifies the operator used for filtering TreeGrid records. The available operators support a variety of data types
     * and offer different filtering mechanisms. Details for each operator are provided below:
     * <table>
     * <tr>
     * <td colspan=1 rowspan=1>
     * Operator<br/></td><td colspan=1 rowspan=1>
     * Description<br/></td><td colspan=1 rowspan=1>
     * Supported Data Types<br/></td></tr>
     * <tr>
     * <td colspan=1 rowspan=1>
     * startswith<br/></td><td colspan=1 rowspan=1>
     * Checks if the value starts with the specified input.<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 if the value ends with the specified input.<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 if the value contains the specified input anywhere within it.<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 if the value is exactly equal to the specified input.<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>
     * Identifies values that are not equal to the specified input.<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>
     * Verifies if the value is greater than the specified input.<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>
     * Verifies if the value is greater than or equal to the specified input.<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 if the value is less than the specified input.<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 if the value is less than or equal to the specified input.<br/><br/></td><td colspan=1 rowspan=1>
     * <br/>Number | Date<br/></td></tr>
     * </table>
     *
     * @default null
     */
    operator: string;
    /**
     * Specifies the value to filter the column's data by.
     *
     * @default ''
     */
    value: string | number | Date | boolean;
    /**
     * Applies case-sensitive filtering if set to `true`. When false, filtering is case-insensitive.
     *
     * @default null
     */
    matchCase: boolean;
    /**
     * Ignores diacritic characters during filtering if set to `true`.
     *
     * @default false
     */
    ignoreAccent: boolean;
    /**
     * Defines the logical relationship between multiple filter conditions ('AND' / 'OR').
     *
     * @default null
     */
    predicate: string;
    /**
     * @hidden
     * Holds the actual value used for filtering the column.
     */
    actualFilterValue: Object;
    /**
     * @hidden
     * Represents the actual filter operator applied to the column.
     */
    actualOperator: Object;
    /**
     * @hidden
     * Defines the data type of the filter column.
     */
    type: string;
    /**
     * @hidden
     * Represents the internal predicate condition for the filter column.
     */
    ejpredicate: Object;
    /**
     * @hidden
     * Unique identifier for the filter column.
     */
    uid: string;
    /**
     * @hidden
     * Indicates whether the column is a foreign key in the filter set.
     */
    isForeignKey: boolean;
}
/**
 * Configures the filtering behavior of the TreeGrid, enabling complex data filtering capabilities.
 */
export  class FilterSettings extends base.ChildProperty<FilterSettings> {
    /**
     * Specifies the initial filter configuration for TreeGrid columns or retrieves the current filter state.
     *
     * @default []
     */
    columns: PredicateModel[];
    /**
     * Sets the filtering interface type. Options include:
     * * `Menu`: Provides a menu for filtering options.
     * * `FilterBar`: Allows direct input filtering in a bar at the top of each column.
     * * `Excel` : Specifies the filter type as excel.
     * * `CheckBox` : Specifies the filter type as check box.
     *
     * @default FilterBar
     */
    type: grids.FilterType;
    /**
     * Determines the mode of the filter bar operation. Options include:
     * * `OnEnter`: Filtering is triggered upon pressing the Enter key.
     * * `Immediate`: Filtering occurs after a short delay automatically.
     *
     * @default Syncfusion.EJ2.Grids.grids.FilterBarMode.OnEnter
     * @isEnumeration true
     * @aspType Syncfusion.EJ2.Grids.grids.FilterBarMode
     */
    mode: grids.FilterBarMode;
    /**
     * Shows or hides the status message related to filtering actions on the pager.
     *
     * @default true
     */
    showFilterBarStatus: boolean;
    /**
     * Determines the delay in milliseconds before filtering is triggered in `Immediate` mode.
     *
     * @default 1500
     */
    immediateModeDelay: number;
    /**
     * Allows customization of the default operators offered in the filter menu by defining custom operators for string, number, date, and boolean types.
     *
     * @default null
     */
    operators: grids.ICustomOptr;
    /**
     * If set to `true`, filtering ignores accent characters, making diacritic characters identical to their unaccented versions.
     *
     * @default false
     */
    ignoreAccent: boolean;
    /**
     * Specifies how the hierarchy should be maintained during filtering:
     * * `Parent`: Displays the filtered records along with their parent records.
     * * `Child`: Displays the filtered records along with their child records.
     * * `Both`: Displays the filtered records with both parent and child records.
     * * `None`: Only displays the filtered records.
     *
     * @default Parent
     * @isEnumeration true
     * @aspType FilterHierarchyMode
     */
    hierarchyMode: FilterHierarchyMode;
}
//node_modules/@syncfusion/ej2-treegrid/src/treegrid/models/filter-settings-model.d.ts
/**
 * Interface for a class Predicate
 */
export interface PredicateModel {
    /**
     * Specifies the field name of the column to apply the filter on.
     *
     * @default ''
     */
    field?: string;
    /**
     * Specifies the operator used for filtering TreeGrid records. The available operators support a variety of data types
     * and offer different filtering mechanisms. Details for each operator are provided below:
     * <table>
     * <tr>
     * <td colspan=1 rowspan=1>
     * Operator<br/></td><td colspan=1 rowspan=1>
     * Description<br/></td><td colspan=1 rowspan=1>
     * Supported Data Types<br/></td></tr>
     * <tr>
     * <td colspan=1 rowspan=1>
     * startswith<br/></td><td colspan=1 rowspan=1>
     * Checks if the value starts with the specified input.<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 if the value ends with the specified input.<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 if the value contains the specified input anywhere within it.<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 if the value is exactly equal to the specified input.<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>
     * Identifies values that are not equal to the specified input.<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>
     * Verifies if the value is greater than the specified input.<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>
     * Verifies if the value is greater than or equal to the specified input.<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 if the value is less than the specified input.<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 if the value is less than or equal to the specified input.<br/><br/></td><td colspan=1 rowspan=1>
     * <br/>Number | Date<br/></td></tr>
     * </table>
     *
     * @default null
     */
    operator?: string;
    /**
     * Specifies the value to filter the column's data by.
     *
     * @default ''
     */
    value?: string | number | Date | boolean;
    /**
     * Applies case-sensitive filtering if set to `true`. When false, filtering is case-insensitive.
     *
     * @default null
     */
    matchCase?: boolean;
    /**
     * Ignores diacritic characters during filtering if set to `true`.
     *
     * @default false
     */
    ignoreAccent?: boolean;
    /**
     * Defines the logical relationship between multiple filter conditions ('AND' / 'OR').
     *
     * @default null
     */
    predicate?: string;
    /**
     * @hidden
     * Holds the actual value used for filtering the column.
     */
    actualFilterValue?: Object;
    /**
     * @hidden
     * Represents the actual filter operator applied to the column.
     */
    actualOperator?: Object;
    /**
     * @hidden
     * Defines the data type of the filter column.
     */
    type?: string;
    /**
     * @hidden
     * Represents the internal predicate condition for the filter column.
     */
    ejpredicate?: Object;
    /**
     * @hidden
     * Unique identifier for the filter column.
     */
    uid?: string;
    /**
     * @hidden
     * Indicates whether the column is a foreign key in the filter set.
     */
    isForeignKey?: boolean;
}
/**
 * Interface for a class FilterSettings
 */
export interface FilterSettingsModel {
    /**
     * Specifies the initial filter configuration for TreeGrid columns or retrieves the current filter state.
     *
     * @default []
     */
    columns?: PredicateModel[];
    /**
     * Sets the filtering interface type. Options include:
     * * `Menu`: Provides a menu for filtering options.
     * * `FilterBar`: Allows direct input filtering in a bar at the top of each column.
     * * `Excel` : Specifies the filter type as excel.
     * * `CheckBox` : Specifies the filter type as check box.
     *
     * @default FilterBar
     */
    type?: grids.FilterType;
    /**
     * Determines the mode of the filter bar operation. Options include:
     * * `OnEnter`: Filtering is triggered upon pressing the Enter key.
     * * `Immediate`: Filtering occurs after a short delay automatically.
     *
     * @default Syncfusion.EJ2.Grids.grids.FilterBarMode.OnEnter
     * @isEnumeration true
     * @aspType Syncfusion.EJ2.Grids.grids.FilterBarMode
     */
    mode?: grids.FilterBarMode;
    /**
     * Shows or hides the status message related to filtering actions on the pager.
     *
     * @default true
     */
    showFilterBarStatus?: boolean;
    /**
     * Determines the delay in milliseconds before filtering is triggered in `Immediate` mode.
     *
     * @default 1500
     */
    immediateModeDelay?: number;
    /**
     * Allows customization of the default operators offered in the filter menu by defining custom operators for string, number, date, and boolean types.
     *
     * @default null
     */
    operators?: grids.ICustomOptr;
    /**
     * If set to `true`, filtering ignores accent characters, making diacritic characters identical to their unaccented versions.
     *
     * @default false
     */
    ignoreAccent?: boolean;
    /**
     * Specifies how the hierarchy should be maintained during filtering:
     * * `Parent`: Displays the filtered records along with their parent records.
     * * `Child`: Displays the filtered records along with their child records.
     * * `Both`: Displays the filtered records with both parent and child records.
     * * `None`: Only displays the filtered records.
     *
     * @default Parent
     * @isEnumeration true
     * @aspType FilterHierarchyMode
     */
    hierarchyMode?: FilterHierarchyMode;
}
//node_modules/@syncfusion/ej2-treegrid/src/treegrid/models/edit-settings.d.ts
/**
 * Configures the edit behavior of the TreeGrid, defining how records can be added, modified, or deleted.
 */
export  class EditSettings extends base.ChildProperty<EditSettings> {
    /**
     * Enables the ability to add new records to the TreeGrid when set to `true`.
     * This allows users to insert new rows into the data set.
     *
     * @default false
     */
    allowAdding: boolean;
    /**
     * Permits updating values in existing records if set to `true`.
     * This setting allows inline modification of data cells within the TreeGrid.
     *
     * @default false
     */
    allowEditing: boolean;
    /**
     * Allows removal of records from the TreeGrid when set to `true`.
     * Users can delete rows from the data set, reflecting changes immediately.
     *
     * @default false
     */
    allowDeleting: boolean;
    /**
     * Specifies the editing mode for the TreeGrid. Available modes include:
     * * `Cell`: Enables individual cell editing.
     * * `Row`: Allows entire row editing at once.
     * * `Dialog`: Opens a dialog for row editing.
     * * `Batch`: Supports batch editing of cells across multiple rows. Changes are not immediately saved but can be committed all at once, enhancing efficiency in bulk data edits.
     *
     * @default Cell
     * @isEnumeration true
     */
    mode: EditMode;
    /**
     * Determines the position where new rows are added within the TreeGrid. Options are:
     * * `Top`: Adds new rows at the top of the grid.
     * * `Bottom`: Adds new rows at the bottom of the grid.
     * * `Above`: Inserts a new row above the selected row.
     * * `Below`: Adds a new row below the selected row.
     * * `Child`: Inserts a new row as a child of the currently selected row.
     *
     * @default Top
     */
    newRowPosition: RowPosition;
    /**
     * If set to `false`, prevents editing on a row double-click, allowing edits through other triggers only.
     *
     * @default true
     */
    allowEditOnDblClick: boolean;
    /**
     * Controls the display of a confirmation dialog when batch changes are either applied or discarded.
     * Set to `false` to suppress the display of this confirmation prompt.
     *
     * @default true
     */
    showConfirmDialog: boolean;
    /**
     * If set to `true`, a confirmation dialog appears before record deletion, allowing users to confirm or cancel the operation.
     *
     * @default false
     */
    showDeleteConfirmDialog: boolean;
    /**
     * Provides a template for custom editing elements within the dialog, supporting both HTML strings and functions.
     *
     * @default ''
     * @aspType string
     */
    template: string | Function;
    /**
     * Specifies the parameters for customizing the edit dialog, allowing the configuration of elements and behavior.
     *
     * @default {}
     */
    dialog: grids.IDialogUI;
    /**
     * Enables continued editing in subsequent rows when navigating with keyboard shortcuts if set to `true`.
     *
     * @default false
     */
    allowNextRowEdit: boolean;
}
//node_modules/@syncfusion/ej2-treegrid/src/treegrid/models/edit-settings-model.d.ts
/**
 * Interface for a class EditSettings
 */
export interface EditSettingsModel {
    /**
     * Enables the ability to add new records to the TreeGrid when set to `true`.
     * This allows users to insert new rows into the data set.
     *
     * @default false
     */
    allowAdding?: boolean;
    /**
     * Permits updating values in existing records if set to `true`.
     * This setting allows inline modification of data cells within the TreeGrid.
     *
     * @default false
     */
    allowEditing?: boolean;
    /**
     * Allows removal of records from the TreeGrid when set to `true`.
     * Users can delete rows from the data set, reflecting changes immediately.
     *
     * @default false
     */
    allowDeleting?: boolean;
    /**
     * Specifies the editing mode for the TreeGrid. Available modes include:
     * * `Cell`: Enables individual cell editing.
     * * `Row`: Allows entire row editing at once.
     * * `Dialog`: Opens a dialog for row editing.
     * * `Batch`: Supports batch editing of cells across multiple rows. Changes are not immediately saved but can be committed all at once, enhancing efficiency in bulk data edits.
     *
     * @default Cell
     * @isEnumeration true
     */
    mode?: EditMode;
    /**
     * Determines the position where new rows are added within the TreeGrid. Options are:
     * * `Top`: Adds new rows at the top of the grid.
     * * `Bottom`: Adds new rows at the bottom of the grid.
     * * `Above`: Inserts a new row above the selected row.
     * * `Below`: Adds a new row below the selected row.
     * * `Child`: Inserts a new row as a child of the currently selected row.
     *
     * @default Top
     */
    newRowPosition?: RowPosition;
    /**
     * If set to `false`, prevents editing on a row double-click, allowing edits through other triggers only.
     *
     * @default true
     */
    allowEditOnDblClick?: boolean;
    /**
     * Controls the display of a confirmation dialog when batch changes are either applied or discarded.
     * Set to `false` to suppress the display of this confirmation prompt.
     *
     * @default true
     */
    showConfirmDialog?: boolean;
    /**
     * If set to `true`, a confirmation dialog appears before record deletion, allowing users to confirm or cancel the operation.
     *
     * @default false
     */
    showDeleteConfirmDialog?: boolean;
    /**
     * Provides a template for custom editing elements within the dialog, supporting both HTML strings and functions.
     *
     * @default ''
     * @aspType string
     */
    template?: string | Function;
    /**
     * Specifies the parameters for customizing the edit dialog, allowing the configuration of elements and behavior.
     *
     * @default {}
     */
    dialog?: grids.IDialogUI;
    /**
     * Enables continued editing in subsequent rows when navigating with keyboard shortcuts if set to `true`.
     *
     * @default false
     */
    allowNextRowEdit?: boolean;
}
//node_modules/@syncfusion/ej2-treegrid/src/treegrid/models/column.d.ts
/**
 * Represents the "Column" model class for TreeGrid, defining essential properties and functionalities of a column.
 */
export  class Column {
    /**
     * Maps the column to a specific field name in the data source.
     * Columns with a defined `field` can be used for sorting, filtering, etc.
     * The `field` name should conform to valid JavaScript identifiers - starting with an alphabet, avoiding spaces and special characters.
     *
     * @default 'undefined'
     */
    field: string;
    /**
     * Specifies the text displayed in the column header. If not provided, the `field` value will be used.
     *
     * @default 'undefined'
     */
    headerText: string;
    /**
     * Unique identifier for the column, used to reference the column object.
     *
     * @default 'undefined'
     */
    uid: string;
    /**
     * Allows or disallows editing of the column. Set to `false` to make a column non-editable.
     * By default, all columns are editable.
     *
     * @default true
     */
    allowEditing: boolean;
    /**
     * When set to `true`, checkboxes are displayed within the column.
     *
     * @default false
     */
    showCheckbox: boolean;
    /**
     * Custom sort comparer function for the column. Similar to the `Array.sort` comparer function.
     */
    sortComparer: grids.SortComparer | string;
    /**
     * Designates this column as a primary key if set to `true`.
     *
     * @default false
     */
    isPrimaryKey: boolean;
    /**
     * @hidden
     * Specifies a template for command buttons in column cells, either as an HTML element ID or a string.
     *
     * @aspType string
     */
    commandsTemplate: string | Function;
    /**
     * Options for displaying command buttons in each column cell.
     * Built-in options include:
     * * Edit - Modify the record.
     * * Delete - Remove the record.
     * * Save - Preserve changes to the record.
     * * Cancel - Undo changes.
     *
     * @default null
     */
    commands: grids.CommandModel[];
    /**
     * Specifies the column width in pixels or percentage.
     *
     * @default 'undefined'
     */
    width: string | number;
    /**
     * Defines the editor type for the column.
     *
     * @default 'stringedit'
     */
    editType: string;
    /**
     * Rules for validating data during creation and updation.
     *
     * @default null
     */
    validationRules: Object;
    /**
     * Default value to use when adding a new record to the TreeGrid.
     *
     * @default null
     */
    defaultValue: string;
    /**
     * Customization options for the edit cell.
     *
     * @default {}
     */
    edit: grids.IEditCell;
    /**
     * Template for the cell editor of this column, either as a string or an HTML element ID.
     *
     * @default null
     * @aspIgnore
     */
    editTemplate: string | Function;
    /**
     * Filter template/UI for the column, either as a string or an HTML element ID.
     *
     * @default null
     * @aspIgnore
     */
    filterTemplate: string | Function;
    /**
     * Marks the column as an identity column if set to `true`.
     *
     * @default false
     */
    isIdentity: boolean;
    /**
     * Minimum width of the column in pixels or percentage.
     *
     * @default 'undefined'
     */
    minWidth: string | number;
    /**
     * Maximum width of the column in pixels or percentage, preventing resizing beyond this value.
     *
     * @default 'undefined'
     */
    maxWidth: string | number;
    /**
     * Alignment for the text in both header and content cells.
     *
     * @default Left
     */
    textAlign: grids.TextAlign;
    /**
     * Sets how cell content should overflow:
     * * `Clip` - Truncates overflow content.
     * * `Ellipsis` - Shows ellipsis for overflow content.
     * * `EllipsisWithTooltip` - Shows ellipsis with a tooltip on hover when content overflows.
     *
     * @default Ellipsis
     */
    clipMode: grids.ClipMode;
    /**
     * Text alignment specifically for the column header.
     *
     * @default null
     */
    headerTextAlign: grids.TextAlign;
    /**
     * When set to `true`, encodes HTML content in headers and cells to prevent HTML injection.
     *
     * @default true
     */
    disableHtmlEncode: boolean;
    /**
     * Specifies the data type of the column.
     *
     * @default null
     */
    type: string;
    /**
     * Allows display format customization, affecting only the display, not the actual data.
     * Supported format options for numbers and dates can be provided.
     *
     * References for [number](https://ej2.syncfusion.com/documentation/common/internationalization/#supported-format-string)
     * and [date](https://ej2.syncfusion.com/documentation/common/internationalization#date-formatting) formats.
     *
     * @default null
     * @aspType string
     */
    format: string | base.NumberFormatOptions | base.DateFormatOptions;
    /**
     * Determines column visibility. When set to `false`, the column is hidden. By default, columns are visible.
     *
     * @default true
     */
    visible: boolean;
    /**
     * Custom element rendering in each column cell. Accepts template strings or HTML element IDs.
     *
     * @default null
     * @aspType string
     */
    template: string | Function;
    /**
     * Template for a customized header element, either as a string or an HTML element ID.
     *
     * @default null
     * @aspType string
     */
    headerTemplate: string | Function;
    /**
     * Freezes the column if set to `true`.
     *
     * @default false
     */
    isFrozen: boolean;
    /**
     * Custom styles and attributes for the content cells of the column.
     *
     * @default null
     */
    customAttributes: {
        [x: string]: Object;
    };
    /**
     * Displays column values as checkboxes if set to `true`, instead of Boolean values.
     *
     * @default false
     */
    displayAsCheckBox: boolean;
    /**
     * Disables column reordering if set to `false`. By default, columns can be reordered.
     *
     * @default true
     */
    allowReordering: boolean;
    /**
     * Disables column menu for the column if set to `false`. By default, column menus are enabled for all columns.
     *
     * @default true
     */
    showColumnMenu: boolean;
    /**
     * Disables filtering for the column if set to `false`. By default, columns are filterable.
     *
     * @default true
     */
    allowFiltering: boolean;
    /**
     * Disables sorting for the column if set to `false`. By default, columns are sortable.
     *
     * @default true
     */
    allowSorting: boolean;
    /**
     * Disables resizing for the column if set to `false`. By default, columns can be resized.
     *
     * @default true
     */
    allowResizing: boolean;
    /**
     * Method for applying custom formatting to cell content prior to rendering.
     *
     * @default null
     */
    formatter: {
        new (): ITreeGridCellFormatter;
    } | ITreeGridCellFormatter | Function;
    /**
     * Method for customizing cell values using an external function, applied during cell rendering.
     *
     * @default null
     */
    valueAccessor: grids.ValueAccessor | string;
    /**
     * Facilitates multiple header rows (stacked headers) in the TreeGrid header.
     *
     * @default null
     */
    columns: Column[] | string[] | ColumnModel[];
    /**
     * Adjusts column visibility based on [Media Queries](http://cssmediaqueries.com/what-are-css-media-queries.html). Accepts valid media query strings.
     *
     * @default 'undefined'
     */
    hideAtMedia: string;
    /**
     * Excludes the column from the column chooser if set to `false`. By default, columns are included.
     *
     * @default true
     */
    showInColumnChooser?: boolean;
    /**
     * Replaces the default input component for the filter bar with a custom component. Contains `create` and `read` functions for component management.
     *
     * @default null
     */
    filterBarTemplate: grids.IFilterUI;
    /**
     * Customize default filter options for a specific column, providing types and UI definitions for custom components.
     *
     * @default null
     */
    filter: grids.IFilter;
    /**
     * Locks the column to its position, preventing reordering, if set to `true`. Locked columns appear first.
     *
     * @default false
     */
    lockColumn: boolean;
    /**
     * Dictates the column freeze position. Options include:
     * * `Left` - Freeze the column on the left.
     * * `Right` - Freeze the column on the right.
     * * `Fixed` - Freeze the column in the center.
     *
     * @default null
     */
    freeze: grids.freezeDirection;
    private parent;
    constructor(options: ColumnModel);
    /**
     * Reflects state changes for TreeGrid column directives, particularly in React.
     *
     * @param {Column} column - The column to update.
     * @returns {void}
     * @hidden
     */
    private setProperties;
}
/**
 * Interface for a TreeGrid class Column
 */
export interface ColumnModel {
    /**
     * Specifies the field name in the data source to which the column is bound. This field is used for operations like sorting and filtering.
     * The field name must be a valid JavaScript identifier, beginning with a letter and avoiding spaces and special characters.
     *
     * @default 'undefined'
     */
    field?: string;
    /**
     * Retrieves the unique identifier for the column. This UID is used internally to reference and manipulate the column.
     *
     * @default 'undefined'
     */
    uid?: string;
    /**
     * Specifies the text displayed in the column header. If omitted, the `field` value is used as the header text.
     *
     * @default 'undefined'
     */
    headerText?: string;
    /**
     * Sets the column's width in pixels or as a percentage. This defines how the column will occupy space in the grid.
     *
     * @default 'undefined'
     */
    width?: string | number;
    /**
     * Determines the minimum width of the column in pixels or percentage. This ensures the column does not shrink below this size.
     *
     * @default 'undefined'
     */
    minWidth?: string | number;
    /**
     * Provides a custom sort comparer property to control how sorting is handled for this column's data.
     *
     * @default 'undefined'
     */
    sortComparer?: grids.SortComparer | string;
    /**
     * Defines the maximum allowable width of the column in pixels or as a percentage, preventing resizing beyond this limit.
     *
     * @default 'undefined'
     */
    maxWidth?: string | number;
    /**
     * Specifies the horizontal alignment for the column content and header. Options include alignment to the left, center, or right.
     *
     * @default Syncfusion.EJ2.Grids.grids.TextAlign.Left
     * @isEnumeration true
     * @aspType Syncfusion.EJ2.Grids.grids.TextAlign
     */
    textAlign?: grids.TextAlign;
    /**
     * Allows for the creation of stacked headers by using multiple rows in the grid's header.
     *
     * @default null
     */
    columns?: Column[] | string[] | ColumnModel[];
    /**
     * Determines how overflow content is handled within a cell. Options include:
     * * `Clip`: Truncates the content.
     * * `Ellipsis`: Shows ellipsis for overflow.
     * * `EllipsisWithTooltip`: Shows ellipsis and tooltip on hover.
     *
     * @default Syncfusion.EJ2.Grids.grids.ClipMode.Ellipsis
     * @isEnumeration true
     * @aspType Syncfusion.EJ2.Grids.grids.ClipMode
     */
    clipMode?: grids.ClipMode;
    /**
     * Aligns the text in the column header. By default, the alignment corresponds to other content alignments.
     *
     * @default null
     * @aspDefaultValueIgnore
     * @isEnumeration true
     * @aspType Syncfusion.EJ2.Grids.grids.TextAlign
     */
    headerTextAlign?: grids.TextAlign;
    /**
     * If set to `true`, the HTML content within header and content cells is encoded to prevent injection attacks.
     *
     * @default true
     */
    disableHtmlEncode?: boolean;
    /**
     * Defines the type of data stored in the column, which may be string, number, date, or other types.
     *
     * @default null
     */
    type?: string;
    /**
     * Enables or disables the reordering of this column via drag-and-drop. Allows for dynamic column adjustments.
     *
     * @default true
     */
    allowReordering?: boolean;
    /**
     * Controls whether the column supports filtering. If set to false, users cannot filter data by this column.
     *
     * @default true
     */
    allowFiltering?: boolean;
    /**
     * Specifies whether sorting is enabled for this column. Set to false to prevent sort actions.
     *
     * @default true
     */
    allowSorting?: boolean;
    /**
     * Decides if the column menu should be available, providing options for column customization.
     *
     * @default true
     */
    showColumnMenu?: boolean;
    /**
     * Determines if this column can be resized. If false, the column size is fixed.
     *
     * @default true
     */
    allowResizing?: boolean;
    /**
     * Formats the displayed value of the column without affecting the underlying data. Supports standard and custom formats for numbers and dates.
     *
     * References for [number](https://ej2.syncfusion.com/documentation/common/internationalization/#supported-format-string)
     * and [date](https://ej2.syncfusion.com/documentation/common/internationalization#date-formatting) formats.
     * @default null
     * @aspType string
     */
    format?: string | base.NumberFormatOptions | base.DateFormatOptions;
    /**
     * Toggles the visibility of the column. Set to false to hide the column from view. Columns are visible by default.
     *
     * @default true
     */
    visible?: boolean;
    /**
     * @hidden
     * Specifies a string or HTML element ID for templates to add custom command buttons within cells.
     *
     * @aspType string
     */
    commandsTemplate?: string | Function;
    /**
     * Provides built-in command button options for cells. Options include Edit, Delete, Save, and Cancel.
     * Custom command button implementations are possible.
     *
     * 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[];
    /**
     * Customizes the rendering of cell content using either a template string or HTML element ID.
     *
     * @default null
     * @aspType string
     */
    template?: string | Function;
    /**
     * Customizes the header content with a template, defined as a string or an HTML element ID.
     *
     * @default null
     * @aspType string
     */
    headerTemplate?: string | Function;
    /**
     * Allows the column to be frozen, keeping it stationary while scrolling horizontally through the grid.
     *
     * @default false
     */
    isFrozen?: boolean;
    /**
     * Enables the addition of CSS styles and attributes for the content cells in a particular column.
     *
     * @default null
     */
    customAttributes?: {
        [x: string]: Object;
    };
    /**
     * Displays the column value as a checkbox instead of a Boolean value when set to `true`.
     *
     * @default false
     */
    displayAsCheckBox?: boolean;
    /**
     * Allows for custom cell content formatting using an external method, executed prior to rendering.
     *
     * @default null
     */
    formatter?: {
        new (): ITreeGridCellFormatter;
    } | ITreeGridCellFormatter | Function;
    /**
     * Determines whether the column should appear in the Column Chooser. Set to false to exclude it.
     *
     * @default true
     */
    showInColumnChooser?: boolean;
    /**
     * Applies custom cell values using an external function, allowing for dynamic display adjustments.
     *
     * @default null
     */
    valueAccessor?: grids.ValueAccessor | string;
    /**
     * Adjusts column visibility based on [Media Queries](http://cssmediaqueries.com/what-are-css-media-queries.html). Accepts valid CSS media query strings for responsive adjustments.
     *
     * @default 'undefined'
     */
    hideAtMedia?: string;
    /**
     * Allows for a custom component within the filter bar, facilitating advanced filter interfaces.
     * Includes create and read functions for custom component management.
     *
     * ```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;
    /**
     * Customizes filter options for the column, enabling specialized filtering functionality.
     *
     * @default null
     */
    filter?: grids.IFilter;
    /**
     * Identifies the column as a primary key if set to `true`, enforcing uniqueness.
     *
     * @default false
     */
    isPrimaryKey?: boolean;
    /**
     * Displays checkboxes in the column when enabled, allowing for selections and certain operations.
     *
     * @default false
     */
    showCheckbox?: boolean;
    /**
     * Specifies the component type used for editing cells within this column.
     *
     * @default 'stringedit'
     */
    editType?: string;
    /**
     * Sets default values when new records are added to the TreeGrid involving this column.
     *
     * @default null
     */
    defaultValue?: string;
    /**
     * Allows customizing the default edit cell through the `grids.IEditCell` object for more control over editing.
     *
     * @default {}
     */
    edit?: grids.IEditCell;
    /**
     * Provides a template for editing cells in this column, supporting either a template string or an HTML element ID.
     *
     * @aspIgnore
     */
    editTemplate?: string | Function;
    /**
     * Specifies a custom template or UI for filtering within this column, utilizing either string templates or HTML element IDs.
     *
     * @aspIgnore
     */
    filterTemplate?: string | Function;
    /**
     * Identifies the column as an identity column in database terms, if set to `true`.
     *
     * @default false
     */
    isIdentity?: boolean;
    /**
     * Establishes validation rules to ensure data integrity during creation and updates.
     *
     * @default null
     */
    validationRules?: Object;
    /**
     * Controls whether editing is permitted for the column. By default, all columns are editable.
     *
     * @default true
     */
    allowEditing?: boolean;
    /**
     * Prevents column reordering when set to true, locking the column into a set position.
     *
     * @default false
     */
    lockColumn?: boolean;
    /**
     * Determines which side (left, right, or center) the column should be frozen on.
     *
     * @default Syncfusion.EJ2.Grids.FreezeDirection.None
     * @isEnumeration true
     * @aspType Syncfusion.EJ2.Grids.FreezeDirection
     */
    freeze?: grids.freezeDirection;
}
/**
 * Defines TreeGrid column
 */
export  class TreeGridColumn extends Column {
    /**
     * Defines stacked columns
     *
     * @default null
     */
    columns: string[] | ColumnModel[];
}
/**
 * Interface for a class TreeGridColumn
 */
export interface TreeGridColumnModel extends ColumnModel {
    /**
     * Defines stacked columns
     *
     * @default null
     */
    columns?: string[] | ColumnModel[];
}
/**
 * Defines stacked tree grid column
 */
export  class StackedColumn extends TreeGridColumn {
}
/**
 * Interface for a class stacked tree grid column
 */
export interface StackedColumnModel extends TreeGridColumnModel {
}
//node_modules/@syncfusion/ej2-treegrid/src/treegrid/models/column-model.d.ts
/**
 * Interface for a class Column
 */
export interface ColumnModel1 {
}
/**
 * Interface for a class TreeGridColumn
 */
export interface TreeGridColumnModel1 extends ColumnModel{
    /**
     * Defines stacked columns
     *
     * @default null
     */
    columns?: string[] | ColumnModel[];
}
/**
 * Interface for a class StackedColumn
 */
export interface StackedColumnModel1 extends TreeGridColumnModel{
}
//node_modules/@syncfusion/ej2-treegrid/src/treegrid/base/treegrid.d.ts
/**
 * Represents the TreeGrid component.
 * ```html
 * <div id='treegrid'></div>
 * <script>
 *  var treegridObj = new TreeGrid({ allowPaging: true });
 *  treegridObj.appendTo('#treegrid');
 * </script>
 * ```
 */
export  class TreeGrid extends base.Component<HTMLElement> implements base.INotifyPropertyChanged {
    constructor(options?: TreeGridModel, element?: Element);
    private defaultLocale;
    private dataResults;
    private l10n;
    dataModule: DataManipulation;
    private registeredTemplate;
    private uniqueIDCollection;
    private uniqueIDFilterCollection;
    private changedRecords;
    private deletedRecords;
    private addedRecords;
    private targetElement;
    private isGantt;
    private isAddedFromGantt;
    private isIndentEnabled;
    private indentOutdentAction;
    private isFromChartSide;
    private parentQuery;
    private isCollapsedEventTriggered;
    private isCollapsingEventTriggered;
    private isExpandedEventTriggered;
    private isExpandingEventTriggered;
    private collapseAllPrevent;
    private expandAllPrevent;
    /**
     * The `sortModule` is used to manipulate sorting in TreeGrid.
     */
    sortModule: Sort;
    private action;
    private dropIndex;
    private dropPosition;
    private modifiedRecords;
    private selectedRecords;
    private selectedRows;
    private loggerModule;
    private isSelfReference;
    private columnModel;
    private isExpandAll;
    private isCollapseAll;
    private isExpandRefresh;
    private gridSettings;
    private isEditCollapse;
    private treeColumnTextAlign;
    private treeColumnField;
    private stackedHeader;
    private freezeColumnRefresh;
    private isExcel;
    /** @hidden */
    initialRender: boolean;
    /** @hidden */
    flatData: Object[];
    /** @hidden */
    private infiniteScrollData;
    /** @hidden */
    private remoteCollapsedData;
    /** @hidden */
    private remoteExpandedData;
    /** @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;
    /**
     * Specifies the number of rows that should remain visible and fixed at the top of the TreeGrid during scrolling.
     *
     * This feature helps improve readability in data-heavy grids by keeping the header rows or key rows visible.
     *
     * @default 0
     */
    frozenRows: number;
    /**
     * Specifies the number of columns that should remain visible and fixed on the left side of the TreeGrid during horizontal scrolling.
     *
     * This feature ensures key columns, such as identifiers, stay visible while users scroll through data.
     *
     * @default 0
     */
    frozenColumns: number;
    /**
     * Defines the options for printing the TreeGrid.
     * The available print modes are:
     * * `AllPages`: Prints all pages of the TreeGrid.
     * * `CurrentPage`: Prints only the current page of the TreeGrid.
     *
     * @default Syncfusion.EJ2.Grids.grids.ClipMode.Ellipsis
     * @aspType Syncfusion.EJ2.Grids.grids.ClipMode
     * @isEnumeration true
     */
    clipMode: grids.ClipMode;
    /**
     * `resizeModule` is used to manipulate resizing in the TreeGrid.
     *
     * @hidden
     */
    resizeModule: Resize;
    /**
     * The `keyboardModule` is used to manipulate keyboard interactions in TreeGrid.
     */
    keyboardModule: base.KeyboardEvents;
    /**
     * The `printModule` is used to handle the printing feature of the TreeGrid.
     */
    printModule: Print;
    /**
     * `clipboardModule` is used to handle TreeGrid copy action.
     */
    clipboardModule: TreeClipboard;
    private keyConfigs;
    /** @hidden */
    filterModule: Filter;
    excelExportModule: ExcelExport;
    pdfExportModule: PdfExport;
    selectionModule: Selection;
    /** @hidden */
    /** @hidden */
    grid: grids.Grid;
    /**
     * Defines the schema of dataSource.
     * If the `columns` declaration is empty or undefined then the `columns` are automatically generated from data source.
     * {% codeBlock src='treegrid/columns/index.md' %}{% endcodeBlock %}
     *
     * @default []
     */
    columns: ColumnModel[] | string[] | Column[];
    /**
     * Specifies the mapping property path for child records in data source
     * {% codeBlock src='treegrid/childMapping/index.md' %}{% endcodeBlock %}
     *
     * @default null
     */
    childMapping: string;
    /**
     * Specifies whether record is parent or not for the remote data binding
     *
     * @default null
     */
    hasChildMapping: string;
    /**
     * Specifies the index of the column that needs to have the expander button.
     *
     * @default 0
     */
    treeColumnIndex: number;
    /**
     * Specifies the name of the field in the dataSource, which contains the id of that row.
     * {% codeBlock src='treegrid/idMapping/index.md' %}{% endcodeBlock %}
     *
     * @default null
     */
    idMapping: string;
    /**
     * Specifies the name of the field in the dataSource, which contains the parent’s id
     * {% codeBlock src='treegrid/parentIdMapping/index.md' %}{% endcodeBlock %}
     *
     * @default null
     */
    parentIdMapping: string;
    /**
     * Specifies whether to load all rows in a collapsed state when the TreeGrid is initially rendered.
     *
     * This setting is particularly useful when dealing with large datasets, as it helps enhance loading performance by
     * reducing initial data rendering.
     *
     * @default false
     */
    enableCollapseAll: boolean;
    /**
     * Specifies the mapping property path for the expand status of a record in data source.
     *
     * @default null
     */
    expandStateMapping: string;
    /**
     * If `allowRowDragAndDrop` is set to true, row reordering functionality is enabled, allowing rows to be dragged
     * and dropped within the TreeGrid or across TreeGrids.
     *
     * This feature enables users to reorganize data dynamically via drag-and-drop operations.
     *
     * @default false
     */
    allowRowDragAndDrop: boolean;
    /**
     * It is used to render TreeGrid table rows.
     * {% codeBlock src='treegrid/dataSource/index.md' %}{% endcodeBlock %}
     *
     * @default []
     * @isGenericType true
     * @isDataSource true
     */
    dataSource: Object | data.DataManager;
    /**
     * Defines the external [data.Query](https://ej2.syncfusion.com/documentation/data/api-query.html)
     * that will be executed along with data processing.
     *
     * @default null
     */
    query: data.Query;
    /**
     * @hidden
     */
    cloneQuery: data.Query;
    /**
     * Defines the options for printing the TreeGrid.
     * The available print modes are:
     * * `AllPages`: Prints all pages of the TreeGrid.
     * * `CurrentPage`: Prints only the current page of the TreeGrid.
     *
     * @default Syncfusion.EJ2.Grids.grids.PrintMode.AllPages
     * @isEnumeration true
     * @aspType Syncfusion.EJ2.Grids.grids.PrintMode
     */
    printMode: grids.PrintMode;
    /**
     * If `allowPaging` is set to true, pager renders.
     *
     * @default false
     */
    allowPaging: boolean;
    /**
     * When enabled, only parent records would be rendered during the initial render and child records will be loaded only when expanding a parent record.
     * This property is only applicable for remote data binding.
     * Loading child records on demand can improve the performance of data-bound controls with a large number of records.
     * Child records are only loaded when they are requested, rather than loading all child records at once.
     *
     * @default true
     */
    loadChildOnDemand: boolean;
    /**
     * If `allowTextWrap` set to true,
     * then text content will wrap to the next line when its text content exceeds the width of the Column Cells.
     *
     * @default false
     */
    allowTextWrap: boolean;
    /**
     * Configures the text wrap in the TreeGrid.
     *
     * @default {wrapMode:"Both"}
     */
    textWrapSettings: TextWrapSettingsModel;
    /**
     * If `allowReordering` is set to true, TreeGrid columns can be reordered.
     * Reordering can be done by drag and drop of a particular column from one index to another index.
     * > If TreeGrid is rendered with stacked headers, reordering is allowed only at the same level as the column headers.
     *
     * @default false
     */
    allowReordering: boolean;
    /**
     * If `allowResizing` is set to true, TreeGrid columns can be resized.
     *
     * @default false
     */
    allowResizing: boolean;
    /**
     * If `autoCheckHierarchy` is set to true, hierarchy checkbox selection is enabled in TreeGrid.
     *
     * @default false
     */
    autoCheckHierarchy: boolean;
    /**
     * Configures the pager in the TreeGrid.
     *
     * @default {currentPage: 1, pageSize: 12, pageCount: 8, enableQueryString: false, pageSizes: false, template: null}
     */
    pageSettings: PageSettingsModel;
    /**
     * Configures the row drop settings of the TreeGrid.
     */
    rowDropSettings: grids.RowDropSettingsModel;
    /**
     * Defines the currencyCode format of the Tree grids.Grid columns
     *
     * @private
     */
    private currencyCode;
    /**
     * @hidden
     * It used to render pager template
     * @default null
     * @aspType string
     */
    pagerTemplate: string | Function;
    /**
     * If `showColumnMenu` set to true, then it will enable the column menu options in each columns.
     *
     * > Check the [Column menu](../../treegrid/columns/#column-menu/) for its configuration.
     *
     * @default false
     */
    showColumnMenu: boolean;
    /**
     * If `showColumnChooser` is set to true, it allows you to dynamically show or hide columns.
     *
     * @default false
     */
    showColumnChooser: boolean;
    /**
     * If `allowSorting` is set to true, it allows sorting of treegrid records when column header is clicked.
     *
     * @default false
     */
    allowSorting: boolean;
    /**
     * If `allowMultiSorting` set to true, then it will allow the user to sort multiple column in the treegrid.
     * > `allowSorting` should be true.
     *
     * @default true
     */
    allowMultiSorting: boolean;
    /**
     * Configures the sort settings of the TreeGrid.
     *
     * @default {columns:[]}
     */
    sortSettings: SortSettingsModel;
    /**
     * Configures the TreeGrid aggregate rows.
     * > Check the [Aggregates](../../treegrid/aggregates/aggregates) for its configuration.
     *
     * @default []
     */
    aggregates: AggregateRowModel[];
    /**
     * Configures the edit settings.
     *
     * @default { allowAdding: false, allowEditing: false, allowDeleting: false, mode:'Normal',
     * allowEditOnDblClick: true, showConfirmDialog: true, showDeleteConfirmDialog: false }
     */
    editSettings: EditSettingsModel;
    /**
     * If `allowFiltering` is set to true the filter bar will be displayed.
     * If set to false the filter bar will not be displayed.
     * Filter bar allows the user to filter tree grid records with required criteria.
     *
     * @default false
     */
    allowFiltering: boolean;
    /**
     * The detail template allows you to show or hide additional information about a particular row.
     *
     * > It accepts either the [template string](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals)
     * or the HTML element ID.
     *
     * @aspType string
     */
    detailTemplate: string | Function;
    /**
     * 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
     * @aspType string
     */
    toolbarTemplate: string | Function;
    /**
     * Defines how TreeGrid content lines are displayed, determining the visibility of vertical and horizontal lines.
     *
     * * `Both`: Displays both horizontal and vertical grid lines.
     * * `None`: Hides both horizontal and vertical grid lines.
     * * `Horizontal`: Displays only horizontal grid lines.
     * * `Vertical`: Displays only vertical grid lines.
     * * `Default`: Adjusts line visibility based on the theme.
     *
     * @default Syncfusion.EJ2.Grids.grids.GridLine.Default
     * @isEnumeration true
     * @aspType Syncfusion.EJ2.Grids.grids.GridLine
     */
    gridLines: grids.GridLine;
    /**
     * `contextMenuItems` defines both built-in and custom context menu items.
     * <br><br>
     * The available built-in items are,
     * * `AutoFitAll` - Auto fit the size of all columns.
     * * `AutoFit` - Auto fit the current column.
     * * `Edit` - Edit the current record.
     * * `Delete` - Delete the current record.
     * * `Save` - Save the edited record.
     * * `Cancel` - Cancel the edited state.
     * * `PdfExport` - Export the grid as Pdf format.
     * * `ExcelExport` - Export the grid as Excel format.
     * * `CsvExport` - Export the grid as CSV format.
     * * `SortAscending` - Sort the current column in ascending order.
     * * `SortDescending` - Sort the current column in descending order.
     * * `FirstPage` - Go to the first page.
     * * `PrevPage` - Go to the previous page.
     * * `LastPage` - Go to the last page.
     * * `NextPage` - Go to the next page.
     *
     * @default null
     */
    contextMenuItems: ContextMenuItem[] | grids.ContextMenuItemModel[];
    /**
     * `columnMenuItems` defines both built-in and custom column menu items.
     * <br><br>
     * The available built-in items are,
     * * `AutoFitAll` - Auto fit the size of all columns.
     * * `AutoFit` - Auto fit the current column.
     * * `SortAscending` - Sort the current column in ascending order.
     * * `SortDescending` - Sort the current column in descending order.
     * * `Filter` - Filter options will show based on filterSettings property like filterbar, menu filter.
     *
     * @default null
     */
    columnMenuItems: grids.ColumnMenuItem[] | grids.ColumnMenuItemModel[];
    /**
     * The row template that renders customized rows from the given template.
     * By default, TreeGrid renders a table row for every data source item.
     * > * It accepts either [template string](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals)
     * or HTML element ID.
     * > * The row template must be a table row.
     *
     * > Check the [Row Template](../../treegrid/row) customization.
     *
     * @aspType string
     */
    rowTemplate: string | Function;
    /**
     * `copyHierarchyMode` Defines the copy clipboard types.
     * <br><br>
     * The available built-in items are,
     * * `Parent` - Copy the selected data with parent record.
     * * `Child` - Copy the selected data with child record.
     * * `Both` - Copy the selected data with both parent and child record.
     * * `None` - Copy only the selected record.
     *
     * @default Parent
     */
    copyHierarchyMode: CopyHierarchyType;
    /**
     * Defines the height of TreeGrid rows.
     *
     * @default null
     */
    rowHeight: number;
    /**
     * If `enableAltRow` is set to true, the TreeGrid will render with `e-altrow` CSS class to the alternative tr elements.
     * > Check the [AltRow](../../treegrid/row/#styling-alternate-rows/) to customize the styles of alternative rows.
     *
     * @default true
     */
    enableAltRow: boolean;
    /**
     * Enables or disables the key board interaction of TreeGrid.
     *
     * @hidden
     * @default true
     */
    allowKeyboard: boolean;
    /**
     * If `enableHover` is set to true, the row hover is enabled in the TreeGrid.
     *
     * @default false
     */
    enableHover: boolean;
    /**
     * If `enableAutoFill` is set to true, then the auto fill icon will displayed on cell selection for copy cells.
     * It requires the selection `mode` to be Cell and `cellSelectionMode` to be `Box`.
     *
     * @default false
     */
    enableAutoFill: boolean;
    /**
     * If `enableAdaptiveUI` is set to true, the pop-up UI will become adaptive to small screens,
     * and be used for filtering and other features.
     * ```html
     * <div id='treegrid'></div>
     * <script>
     *  var treegridObj = new TreeGrid({ enableAdaptiveUI: true });
     *  treegridObj.appendTo('#treegrid');
     * </script>
     * ```
     *
     * @default false
     */
    enableAdaptiveUI: boolean;
    /**
     * If `enableImmutableMode`  is set to true, the TreeGrid will reuse old rows if it exists in the new result instead of
     * full refresh while performing the TreeGrid actions.
     *
     * @default false
     */
    enableImmutableMode: boolean;
    /**
     * Defines the scrollable height of the TreeGrid content.
     *
     * @default 'auto'
     */
    height: string | number;
    /**
     * Defines the TreeGrid width.
     *
     * @default 'auto'
     */
    width: string | number;
    /**
     *  Configures the loading indicator of the Tree grids.Grid. Specifies whether to display spinner or shimmer effect
     *  during the waiting time on any actions (paging, sorting, filtering, CRUD operations) performed in Tree grids.Grid.
     *
     * @default {indicatorType: 'Spinner'}
     */
    loadingIndicator: LoadingIndicatorModel;
    /**
     * Specifies whether to display shimmer effect during scrolling action in virtual scrolling feature.
     * If disabled, spinner is shown instead of shimmer effect.
     *
     * @default true
     */
    enableVirtualMaskRow: boolean;
    /**
     * 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;
    /**
     * Enables column virtualization in the TreeGrid. When set to `true`, only columns visible within the viewport are rendered.
     * Additional columns are loaded as you horizontally scroll. This is beneficial for rendering large datasets efficiently.
     *
     * @default false
     */
    enableColumnVirtualization: boolean;
    /**
     * Determines whether to sanitize untrusted HTML content in the TreeGrid. If `true`, potentially harmful HTML strings
     * and scripts are sanitized before rendering to protect against XSS attacks.
     *
     * @default false
     */
    enableHtmlSanitizer: boolean;
    /**
     * Enables infinite scrolling in the TreeGrid. When set to `true`, additional data is loaded as the scrollbar
     * reaches the end. Useful for handling large datasets.
     *
     * @default false
     */
    enableInfiniteScrolling: boolean;
    /**
     * Configures settings for infinite scrolling.
     *
     * @default { enableCache: false, maxBlocks: 5, initialBlocks: 5 }
     */
    infiniteScrollSettings: InfiniteScrollSettingsModel;
    /**
     * Specifies how data is retrieved from the data source for the TreeGrid.
     * The available modes are:
     * * `All`: Retrieve the entire data source.
     * * `Schema`: Retrieve data only for defined columns.
     * * `ExcludeHidden`: Retrieve data only for visible columns in the TreeGrid.
     *
     * @default All
     */
    columnQueryMode: grids.ColumnQueryModeType;
    /**
     * If `allowSelection` is set to true, selection of (highlight row) TreeGrid records by clicking is allowed.
     *
     * @default true
     */
    allowSelection: boolean;
    /**
     * Specifies the index of the row to be selected upon initial rendering.
     * Also retrieves the index of the currently selected row.
     *
     * @default -1
     */
    selectedRowIndex: number;
    /**
     * Configures the selection behavior.
     *
     * @default {mode: 'Row', cellSelectionMode: 'Flow', type: 'Single'}
     */
    selectionSettings: SelectionSettingsModel;
    /**
     * Enables exporting the TreeGrid to an Excel file if set to true.
     *
     * > Check the [ExcelExport](../../treegrid/excel-export/) documentation for more details.
     *
     * @default false
     */
    allowExcelExport: boolean;
    /**
     * Enables exporting the TreeGrid to a PDF file if set to true.
     *
     * > Check the [PdfExport](../../treegrid/pdf-export/) documentation for more details.
     *
     * @default false
     */
    allowPdfExport: boolean;
    /**
     * Triggers when the component is created.
     *
     * @event created
     */
    created: base.EmitType<Object>;
    /**
     * Allows customization of TreeGrid properties before rendering.
     *
     * @event load
     */
    load: base.EmitType<Object>;
    /**
     * Triggers while a TreeGrid record is expanding.
     *
     * @event expanding
     */
    expanding: base.EmitType<RowExpandingEventArgs>;
    /**
     * Triggers after a TreeGrid record is expanded.
     *
     * @event expanded
     */
    expanded: base.EmitType<RowExpandedEventArgs>;
    /**
     * Triggers while a TreeGrid record is collapsing.
     *
     * @event collapsing
     */
    collapsing: base.EmitType<RowCollapsingEventArgs>;
    /**
     * Triggers after a TreeGrid record is collapsed.
     *
     * @event collapsed
     */
    collapsed: base.EmitType<RowCollapsedEventArgs>;
    /**
     * Triggers when a cell is being saved.
     *
     * @event cellSave
     */
    cellSave: base.EmitType<grids.CellSaveArgs>;
    /**
     * Triggers after a cell is saved.
     *
     * @event cellSaved
     */
    cellSaved: base.EmitType<grids.CellSaveArgs>;
    /**
     * Triggers when TreeGrid actions like sorting, filtering, paging, etc., start.
     *
     * @event actionBegin
     */
    actionBegin: base.EmitType<grids.PageEventArgs | grids.FilterEventArgs | grids.SortEventArgs | grids.SearchEventArgs | grids.AddEventArgs | grids.SaveEventArgs | grids.EditEventArgs | grids.DeleteEventArgs>;
    /**
     * Triggers when TreeGrid actions like sorting, filtering, paging, etc., are completed.
     *
     * @event actionComplete
     */
    actionComplete: base.EmitType<grids.PageEventArgs | grids.FilterEventArgs | grids.SortEventArgs | grids.SearchEventArgs | grids.AddEventArgs | grids.SaveEventArgs | grids.EditEventArgs | grids.DeleteEventArgs>;
    /**
     * Triggers before a record is edited.
     *
     * @event beginEdit
     */
    beginEdit: base.EmitType<grids.BeginEditArgs>;
    /**
     * Triggers when records are added in batch mode.
     *
     * @event batchAdd
     */
    batchAdd: base.EmitType<grids.BatchAddArgs>;
    /**
     * Triggers when records are deleted in batch mode.
     *
     * @event batchDelete
     */
    batchDelete: base.EmitType<grids.BatchDeleteArgs>;
    /**
     * Triggers before records are cancelled in batch mode.
     *
     * @event batchCancel
     */
    batchCancel: base.EmitType<grids.BatchCancelArgs>;
    /**
     * Triggers before records are added in batch mode.
     *
     * @event beforeBatchAdd
     */
    beforeBatchAdd: base.EmitType<grids.BeforeBatchAddArgs>;
    /**
     * Triggers before records are deleted in batch mode.
     *
     * @event beforeBatchDelete
     */
    beforeBatchDelete: base.EmitType<grids.BeforeBatchDeleteArgs>;
    /**
     * Triggers before records are saved in batch mode.
     *
     * @event beforeBatchSave
     */
    beforeBatchSave: base.EmitType<grids.BeforeBatchSaveArgs>;
    /**
     * Triggers when a cell is being edited.
     *
     * @event cellEdit
     */
    cellEdit: base.EmitType<grids.CellEditArgs>;
    /**
     * Triggers when any TreeGrid action fails to achieve the desired results.
     *
     * @event actionFailure
     */
    actionFailure: base.EmitType<grids.FailureEventArgs>;
    /**
     * Triggers when the data source is populated in the TreeGrid.
     *
     * @event dataBound
     */
    dataBound: base.EmitType<Object>;
    /**
     * Triggers when data in the TreeGrid is added, deleted, or updated.
     * Invoke the done method from the argument to start rendering after an edit operation.
     *
     * @event dataSourceChanged
     * @deprecated
     */
    dataSourceChanged: base.EmitType<grids.DataSourceChangedEventArgs>;
    /**
     * Triggers when TreeGrid actions such as sorting, paging, etc., are completed.
     * The current view data and total record count should be assigned to the dataSource based on the action performed.
     *
     * @event dataStateChange
     * @deprecated
     */
    dataStateChange: base.EmitType<DataStateChangeEventArgs>;
    /**
     * Triggers when a record is double-clicked.
     *
     * @event recordDoubleClick
     */
    recordDoubleClick: base.EmitType<grids.RecordDoubleClickEventArgs>;
    /**
     * Triggered every time a request is made to access row information, element, or data.
     * This event is triggered before the row element is appended to the TreeGrid element.
     *
     * @event rowDataBound
     */
    rowDataBound: base.EmitType<grids.RowDataBoundEventArgs>;
    /**
     * Triggers after a detail row expands. This event triggers initially during the first expand.
     *
     * @event detailDataBound
     */
    detailDataBound: base.EmitType<grids.DetailDataBoundEventArgs>;
    /**
     * Triggered every time a request is made to access cell information, element, or data.
     * This event is triggered before the cell element is appended to the TreeGrid element.
     *
     * @event queryCellInfo
     */
    queryCellInfo: base.EmitType<grids.QueryCellInfoEventArgs>;
    /**
     * Triggers before row selection occurs.
     *
     * @event rowSelecting
     */
    rowSelecting: base.EmitType<grids.RowSelectingEventArgs>;
    /**
     * Triggers after a row is selected.
     *
     * @event rowSelected
     */
    rowSelected: base.EmitType<grids.RowSelectEventArgs>;
    /**
     * Triggers before the selected row is deselected.
     *
     * @event rowDeselecting
     * @deprecated
     */
    rowDeselecting: base.EmitType<grids.RowDeselectEventArgs>;
    /**
     * Triggers when a selected row is deselected.
     *
     * @event rowDeselected
     */
    rowDeselected: base.EmitType<grids.RowDeselectEventArgs>;
    /**
     * Triggered for accessing header information.
     *
     * @event headerCellInfo
     */
    headerCellInfo: base.EmitType<grids.HeaderCellInfoEventArgs>;
    /**
     * Triggers before any cell selection occurs.
     *
     * @event cellSelecting
     */
    cellSelecting: base.EmitType<grids.CellSelectingEventArgs>;
    /**
     * Triggers before the column menu opens.
     *
     * @event columnMenuOpen
     * @deprecated
     */
    columnMenuOpen: base.EmitType<grids.ColumnMenuOpenEventArgs>;
    /**
     * Triggers when there is a click on the column menu.
     *
     * @event columnMenuClick
     */
    columnMenuClick: base.EmitType<navigations.MenuEventArgs>;
    /**
     * Triggers after a cell is selected.
     *
     * @event cellSelected
     */
    cellSelected: base.EmitType<grids.CellSelectEventArgs>;
    /**
     * Triggers before a selected cell is deselected.
     *
     * @event cellDeselecting
     * @deprecated
     */
    cellDeselecting: base.EmitType<grids.CellDeselectEventArgs>;
    /**
     * Triggers when a selected cell is deselected.
     *
     * @event cellDeselected
     * @deprecated
     */
    cellDeselected: base.EmitType<grids.CellDeselectEventArgs>;
    /**
     * Triggers when column resizing starts.
     *
     * @event resizeStart
     * @deprecated
     */
    resizeStart: base.EmitType<grids.ResizeArgs>;
    /**
     * Triggers during column resizing.
     *
     * @event resizing
     */
    resizing: base.EmitType<grids.ResizeArgs>;
    /**
     * Triggers when column resizing ends.
     *
     * @event resizeStop
     */
    resizeStop: base.EmitType<grids.ResizeArgs>;
    /**
     * Triggers when column header dragging begins.
     *
     * @event columnDragStart
     */
    columnDragStart: base.EmitType<grids.ColumnDragEventArgs>;
    /**
     * Triggers continuously while the column header is being dragged.
     *
     * @event columnDrag
     */
    columnDrag: base.EmitType<grids.ColumnDragEventArgs>;
    /**
     * Triggers when a column header is dropped onto the target column.
     *
     * @event columnDrop
     */
    columnDrop: base.EmitType<grids.ColumnDragEventArgs>;
    /**
     * Triggers when the state of a checkbox changes in a checkbox column.
     *
     * @event checkboxChange
     */
    checkboxChange: base.EmitType<grids.CheckBoxChangeEventArgs>;
    /**
     * Triggers after the print action has been completed.
     *
     * @event printComplete
     */
    printComplete: base.EmitType<grids.PrintEventArgs>;
    /**
     * Triggers before the print action begins.
     *
     * @event beforePrint
     */
    beforePrint: base.EmitType<grids.PrintEventArgs>;
    /**
     * Triggers when a toolbar item is clicked.
     *
     * @event toolbarClick
     */
    toolbarClick: base.EmitType<navigations.ClickEventArgs>;
    /**
     * Triggers before data is bound to the TreeGrid.
     *
     * @event beforeDataBound
     */
    beforeDataBound: base.EmitType<grids.BeforeDataBoundArgs>;
    /**
     * Triggers before the context menu opens.
     *
     * @event contextMenuOpen
     */
    contextMenuOpen: base.EmitType<navigations.BeforeOpenCloseMenuEventArgs>;
    /**
     * Triggers when an item in the context menu is clicked.
     *
     * @event contextMenuClick
     */
    contextMenuClick: base.EmitType<navigations.MenuEventArgs>;
    /**
     * Triggers before the TreeGrid copy action is initiated.
     *
     * @event beforeCopy
     */
    beforeCopy: base.EmitType<grids.BeforeCopyEventArgs>;
    /**
     * Triggers before the TreeGrid paste action is initiated.
     *
     * @event beforePaste
     */
    beforePaste: base.EmitType<grids.BeforePasteEventArgs>;
    /**
     * Triggers continuously while row elements are being dragged.
     *
     * @event rowDrag
     */
    rowDrag: base.EmitType<grids.RowDragEventArgs>;
    /**
     * Triggers when row element dragging starts.
     *
     * @event rowDragStart
     */
    rowDragStart: base.EmitType<grids.RowDragEventArgs>;
    /**
     * Triggers just before the row element dragging begins.
     *
     * @event rowDragStartHelper
     */
    rowDragStartHelper: base.EmitType<grids.RowDragEventArgs>;
    /**
     * Triggers when a row element is dropped onto the target row.
     *
     * @event rowDrop
     */
    rowDrop: base.EmitType<grids.RowDragEventArgs>;
    /**
     * Triggers before each cell is exported to a PDF document, allowing customization of cells.
     *
     * @event pdfQueryCellInfo
     */
    pdfQueryCellInfo: base.EmitType<grids.PdfQueryCellInfoEventArgs>;
    /**
     * Triggers before each header cell is exported to a PDF document, allowing customization of cells.
     *
     * @event pdfHeaderQueryCellInfo
     */
    pdfHeaderQueryCellInfo: base.EmitType<grids.PdfHeaderQueryCellInfoEventArgs>;
    /**
     * Triggers before each cell is exported to an Excel file, allowing customization of cells.
     *
     * @event excelQueryCellInfo
     */
    excelQueryCellInfo: base.EmitType<grids.ExcelQueryCellInfoEventArgs>;
    /**
     * Triggers before each header cell is exported to an Excel file, allowing customization of cells.
     *
     * @event excelHeaderQueryCellInfo
     */
    excelHeaderQueryCellInfo: base.EmitType<grids.ExcelHeaderQueryCellInfoEventArgs>;
    /**
     * Triggers before TreeGrid data is exported to an Excel file.
     *
     * @event beforeExcelExport
     */
    beforeExcelExport: base.EmitType<Object>;
    /**
     * Triggers after TreeGrid data is exported to an Excel file.
     *
     * @event excelExportComplete
     */
    excelExportComplete: base.EmitType<grids.ExcelExportCompleteArgs>;
    /**
     * Triggers before TreeGrid data is exported to a PDF document.
     *
     * @event beforePdfExport
     */
    beforePdfExport: base.EmitType<Object>;
    /**
     * Triggers after TreeGrid data is exported to a PDF document.
     *
     * @event pdfExportComplete
     */
    pdfExportComplete: base.EmitType<grids.PdfExportCompleteArgs>;
    /**
     * Exports the TreeGrid data to an Excel file (.xlsx).
     *
     * @param {grids.ExcelExportProperties | TreeGridExcelExportProperties} excelExportProperties - The properties used to configure the Excel export.
     * @param {boolean} isMultipleExport - Indicates whether multiple exporting is enabled.
     * @param {workbook} workbook - The workbook instance used for multiple exports.
     * @param {boolean} isBlob - If set to true, the result will be returned as blob data.
     * @returns {Promise<any>} - Returns a promise that resolves with the result of the export action.
     */
    excelExport(excelExportProperties?: grids.ExcelExportProperties | TreeGridExcelExportProperties, isMultipleExport?: boolean, workbook?: any, isBlob?: boolean): Promise<any>;
    /**
     * Exports the TreeGrid data to a CSV file.
     *
     * @param {grids.ExcelExportProperties} excelExportProperties - The properties used to configure the CSV export.
     * @param {boolean} isMultipleExport - Indicates whether multiple exporting is enabled.
     * @param {workbook} workbook - The workbook instance used for multiple exports.
     * @param {boolean} isBlob - If set to true, the result will be returned as blob data.
     * @returns {Promise<any>} - Returns a promise that resolves with the result of the export action.
     */
    csvExport(excelExportProperties?: grids.ExcelExportProperties, isMultipleExport?: boolean, workbook?: any, isBlob?: boolean): Promise<any>;
    /**
     * Exports the TreeGrid data to a PDF document.
     *
     * @param {grids.PdfExportProperties | TreeGridPdfExportProperties} pdfExportProperties - The properties used to configure the PDF export.
     * @param {boolean} isMultipleExport - Indicates whether multiple exporting is enabled.
     * @param {Object} pdfDoc - The PDF document instance used for multiple exports.
     * @param {boolean} isBlob - If set to true, the result will be returned as blob data.
     * @returns {Promise<any>} - Returns a promise that resolves with the result of the export action.
     */
    pdfExport(pdfExportProperties?: grids.PdfExportProperties | TreeGridPdfExportProperties, isMultipleExport?: boolean, pdfDoc?: Object, isBlob?: boolean): Promise<Object>;
    /**
     * Sends a POST request to export the TreeGrid to an Excel file on the server side.
     *
     * @param {string} url - The URL for the server-side Excel export action.
     * @returns {void}
     */
    serverExcelExport(url: string): void;
    /**
     * Sends a POST request to export the TreeGrid to a PDF document on the server side.
     *
     * @param {string} url - The URL for the server-side PDF export action.
     * @returns {void}
     */
    serverPdfExport(url: string): void;
    /**
     * Sends a POST request to export the TreeGrid to a CSV file on the server side.
     *
     * @param {string} url - The URL for the server-side CSV export action.
     * @returns {void}
     */
    serverCsvExport(url: string): void;
    /**
     * Exports the TreeGrid data to the specified URL using a POST request.
     *
     * @param {string} url - Defines exporting url
     * @returns {void}
     */
    private exportTreeGrid;
    /**
     * Sets the header text and other properties for an array of columns based on specified criteria.
     *
     * @param {Column[]} columns - Defines array of columns
     * @param {string[]} include - Defines array of sting
     * @returns {Column[]} returns array of columns
     */
    private setHeaderText;
    /**
     * Retrieves the appropriate format string from the given format options.
     *
     * @param {string | NumberFormatOptions | DateFormatOptions} format - The format options to retrieve the format string from.
     * @returns {string} The format string extracted from the provided format options.
     */
    private getFormat;
    /**
     * For internal use only - Get the module name.
     *
     * @private
     * @returns {string} Returns TreeGrid module name
     */
    protected getModuleName(): string;
    /**
     * For internal use only - Initialize the event handler;
     *
     * @private
     * @returns {void}
     */
    protected preRender(): void;
    /**
     * Sorts a column with the specified options.
     *
     * @param {string} columnName - The name of the column to be sorted.
     * @param {grids.SortDirection} direction - The direction of the sorting operation.
     * @param {boolean} isMultiSort - Specifies whether previous sorted columns should be maintained during sorting.
     * @returns {void}
     */
    sortByColumn(columnName: string, direction: grids.SortDirection, isMultiSort?: boolean): void;
    /**
     * Clears all the sorted columns in the TreeGrid.
     *
     * @returns {void}
     */
    clearSorting(): void;
    /**
     * Removes the sorted state from a column specified by the field name.
     *
     * @param {string} field - The field name of the column from which the sort state should be removed.
     * @returns {void}
     * @hidden
     */
    removeSortColumn(field: string): void;
    /**
     * Searches for TreeGrid records using a specified search string.
     * Customize the search behavior through the [searchSettings](./#searchsettings/).
     *
     * @param {string} searchString - The string used as the search key.
     * @returns {void}
     */
    search(searchString: string): void;
    /**
     * Adjusts column widths to fit their content, ensuring content is displayed without wrapping or truncation.
     * - Hidden columns are ignored by this method.
     * - Use the `autoFitColumns` method during the `dataBound` event for initial rendering.
     *
     * @param {string | string[]} fieldNames - The name(s) of the column(s) to be auto-fitted.
     * @returns {void}
     */
    autoFitColumns(fieldNames?: string | string[]): void;
    /**
     * Reorders TreeGrid columns by specifying their field names.
     *
     * @param {string | string[]} fromFName - The field name(s) of the column(s) to be moved.
     * @param {string} toFName - The destination field name to place the moved columns.
     * @returns {void}
     */
    reorderColumns(fromFName: string | string[], toFName: string): void;
    private TreeGridLocale;
    /**
     * Prints all the pages of the TreeGrid and hides the pager by default.
     * Customize print options using the [printMode](./#printmode).
     *
     * @returns {void}
     */
    print(): void;
    private treeGridkeyActionHandler;
    private findnextRowElement;
    private findPreviousRowElement;
    private initProperties;
    /**
     * Attaches event handlers to the necessary elements during the component's initialization.
     *
     * @hidden
     * @returns {void}
     */
    wireEvents(): void;
    /**
     * Provides a list of the modules that are required for rendering the TreeGrid component.
     *
     * This method is essential for ensuring that all dependent modules are loaded and available
     * during the component's lifecycle, enabling full functionality.
     *
     * @returns {base.ModuleDeclaration[]} - Returns an array of the required TreeGrid module declarations.
     * @hidden
     */
    requiredModules(): base.ModuleDeclaration[];
    private resizeCheck;
    extendRequiredModules(modules: base.ModuleDeclaration[]): void;
    private isCommandColumn;
    /**
     * Unbinding events from the element while component destroy.
     *
     * @hidden
     * @returns {void}
     */
    unwireEvents(): void;
    /**
     * Logs tree grid error message on console
     *
     * @param {string | string[]} types - Tree grids.Grid error type
     * @param {object} args - Error details
     * @hidden
     * @private
     * @returns {void}
     */
    log(types: string | string[], args?: Object): void;
    /**
     * For internal use only - To Initialize the component rendering.
     *
     * @private
     * @returns {void}
     */
    protected render(): void;
    private actionFailureHandler;
    private refreshToolbarItems;
    private afterGridRender;
    private convertTreeData;
    private bindGridProperties;
    private triggerEvents;
    private IsExpandCollapseClicked;
    private bindGridEvents;
    private lastRowBorder;
    private isPixelHeight;
    private extendedGridDataBoundEvent;
    private objectEqualityChecker;
    private bindCallBackEvents;
    private extendedGridEditEvents;
    private updateRowTemplate;
    private bindedDataSource;
    private extendedGridActionEvents;
    private extendedGridEvents;
    private bindGridDragEvents;
    /**
     * Renders TreeGrid component
     *
     * @private
     * @returns {void}
     */
    protected loadGrid(): void;
    /**
     * AutoGenerate TreeGrid columns from first record
     *
     * @hidden
     * @returns {void}
     */
    private autoGenerateColumns;
    private getGridEditSettings;
    /**
     * Defines grid toolbar from treegrid toolbar model
     *
     * @hidden
     * @returns {Object[]} - returns context menu items
     */
    private getContextMenu;
    /**
     * Defines grid toolbar from treegrid toolbar model
     *
     * @hidden
     * @returns {Object[]} - Returns toolbar items
     */
    private getGridToolbar;
    private getGridColumns;
    private lastRowCellBorderUpdated;
    /**
     * Called internally if any of the property value changed.
     *
     * @param {TreeGridModel} newProp - properties details which has to be modified
     * @hidden
     * @returns {void}
     */
    onPropertyChanged(newProp: TreeGridModel): void;
    private updateTreeColumnTextAlign;
    /**
     * Destroys the TreeGrid component by detaching event handlers,
     * removing attributes and classes, and clearing the component's DOM elements.
     *
     * This method ensures that all resources used by the TreeGrid are properly released
     * and the component is cleaned up from the DOM to prevent memory leaks.
     *
     * @method destroy
     * @returns {void}
     */
    destroy(): void;
    /**
     * Updates the TreeGrid model and ensures that the underlying grids.Grid's data model is in sync with TreeGrid.
     * This method binds current data and settings to the TreeGrid.
     *
     * @method dataBind
     * @returns {void}
     * @private
     */
    dataBind(): void;
    /**
     * Retrieves the properties of the TreeGrid that should be retained and persisted between sessions.
     *
     * column configurations, etc., are preserved and can be restored when the component is re-initialized.
     *
     * @returns {string} - Returns persist properties details
     * @hidden
     */
    getPersistData(): string;
    private ignoreInArrays;
    private ignoreInColumn;
    private mouseClickHandler;
    /**
     * Retrieves all the TreeGrid row elements.
     *
     * This method is useful for accessing the HTML representation of the rows for further manipulation or inspection.
     *
     * @returns {HTMLTableRowElement[]} - Returns row elements collection
     */
    getRows(): HTMLTableRowElement[];
    /**
     * Obtains the pager element of the TreeGrid.
     *
     * The pager enables navigation between pages when the TreeGrid displays paginated data.
     *
     * @returns {Element} - Returns pager element
     */
    getPager(): Element;
    /**
     * Adds a new record to the TreeGrid at the specified position or default location.
     *
     * @param {Object} data - Object containing the data for the new record. If omitted, an empty row is added.
     * @param {number} index - The index at which the new row should be added.
     * @param {RowPosition} position - Specifies the position of the new row (e.g., before, after or child).
     *
     * > Requires `editSettings.allowAdding` to be true.
     *
     * @returns {void}
     */
    addRecord(data?: Object, index?: number, position?: RowPosition): void;
    /**
     * Cancels the current edit operation on the TreeGrid.
     *
     * This method discards changes made to the row and exits the edit mode without saving.
     *
     * @returns {void}
     */
    closeEdit(): void;
    /**
     * Saves the current cell value changes without committing to the data source.
     *
     * This operation persists the changes in the UI but not in the underlying data model.
     *
     * @returns {void}
     */
    saveCell(): void;
    /**
     * Updates the value of a specific cell directly, bypassing the edit mode.
     *
     * This method provides a quick way to update the UI and data without user interaction.
     *
     * @param {number} rowIndex Defines the row index.
     * @param {string} field Defines the column field.
     * @param {string | number | boolean | Date} value - Defines the value to be changed.
     * @returns {void}
     */
    updateCell(rowIndex: number, field: string, value: string | number | boolean | Date): void;
    /**
     * Updates a specific row with given values directly, skipping the edit state.
     *
     * This method allows for bulk updates of row data programmatically.
     *
     * @param {number} index - The index of the row to update.
     * @param {Object} data - The data object containing updated field values.
     * @returns {void}
     */
    updateRow(index: number, data: Object): void;
    /**
     * Deletes a record based on specified criteria or the selected record if none specified.
     *
     * @param {string} fieldName - The name of the primary key field.
     * @param {Object} data - The data object representing the record to delete.
     * @returns {void}
     *
     * > Requires `editSettings.allowDeleting` to be true.
     */
    deleteRecord(fieldName?: string, data?: Object): void;
    /**
     * Initiates editing for a specific row using its HTML element.
     *
     * This allows for manual control of which row enters edit mode through the UI.
     *
     * @param {HTMLTableRowElement} row - The table row element to enter into edit mode.
     * @returns {void}
     */
    startEdit(row?: HTMLTableRowElement): void;
    /**
     * Begins editing of a specific cell using row and field indices.
     *
     * Customers can programmatically specify which cell to edit without user input.
     *
     * @param {number} rowIndex - The index of the row containing the cell.
     * @param {string} field - The field name of the cell to edit.
     * @returns {void}
     */
    editCell(rowIndex?: number, field?: string): void;
    /**
     * Enables or disables specified ToolBar items within the TreeGrid.
     *
     * This facilitates dynamic control of toolbar actions based on application logic.
     *
     * @param {string[]} items - Array of ToolBar item IDs to enable or disable.
     * @param {boolean} isEnable - Boolean flag to determine whether to enable (true) or disable (false) items.
     * @returns {void}
     */
    enableToolbarItems(items: string[], isEnable: boolean): void;
    /**
     * Commits the edits made to a record in edit mode, updating the data source.
     *
     * Use this method to finalize changes for rows in edit mode, ensuring persistence.
     *
     * @returns {void}
     */
    endEdit(): void;
    /**
     * Displays the column chooser at a specified screen position.
     *
     * Useful for customizing the visibility of columns interactively via the UI.
     *
     * @param {number} x - The X-axis position of the column chooser.
     * @param {number} y - The Y-axis position of the column chooser.
     * @returns {void}
     */
    openColumnChooser(x?: number, y?: number): void;
    /**
     * Deletes a visible row from the TreeGrid using its HTML element.
     *
     * Apply this method when handling row deletions through DOM manipulations.
     *
     * @param {HTMLTableRowElement} tr - The table row element to remove.
     * @returns {void}
     */
    deleteRow(tr: HTMLTableRowElement): void;
    /**
     * Retrieves the primary key field names used in the TreeGrid.
     *
     * This information is crucial for identifying and manipulating unique rows.
     *
     * @returns {string[]} - Returns an array of primary key field names.
     */
    getPrimaryKeyFieldNames(): string[];
    /**
     * Updates the value of a specific cell using its primary key for identification.
     *
     * Useful for targeted updates that leverage unique identifiers to ensure accuracy.
     *
     * @param {string| number} key - The primary key value of the row containing the cell.
     * @param {string} field - The field name of the cell to update.
     * @param {string | number | boolean | Date} value - The new value to assign to the specified cell.
     * @returns {void}
     */
    setCellValue(key: string | number, field: string, value: string | number | boolean | Date): void;
    /**
     * Updates the data for a specific row identified by its primary key and refreshes the display.
     *
     * Important for keeping the displayed data consistent with the source database or dataset.
     *
     * @param {string| number} key - The primary key value of the row to update.
     * @param {Object} rowData - The new data to apply to the row.
     * @returns {void}
     */
    setRowData(key: string | number, rowData?: ITreeData): void;
    /**
     * Navigates to a specified page number within the TreeGrid pagination.
     *
     * This can be used to programmatically change the page being viewed,
     * allowing for scripted navigation through data.
     *
     * @param {number} pageNo - The page number to navigate to. Must be within valid page range.
     * @returns {void}
     */
    goToPage(pageNo: number): void;
    /**
     * Updates the external message displayed within the pager component.
     *
     * This is useful for showing custom messages or additional information
     * related to the data set or pagination status.
     *
     * @param {string} message - The custom message to display in the pager.
     * @returns {void}
     */
    updateExternalMessage(message: string): void;
    /**
     * Retrieves a cell element based on its row and column indices in the TreeGrid.
     *
     * This method is helpful for accessing cell-level elements for custom
     * operations or styling.
     *
     * @param {number} rowIndex - The index of the row containing the cell.
     * @param {number} columnIndex - The index of the column containing the cell.
     * @returns {Element} - Returns the HTML element of the specified cell.
     */
    getCellFromIndex(rowIndex: number, columnIndex: number): Element;
    /**
     * Retrieves a column object by the column's field name.
     *
     * This is typically used for obtaining the details of a column for
     * configuration or data manipulation purposes.
     *
     * @param {string} field - The field name of the column.
     * @returns {Column} - Returns the column object corresponding to the field.
     */
    getColumnByField(field: string): Column;
    /**
     * Fetches a column object using the column's unique identifier (UID).
     *
     * Useful in scenarios where columns do not have unique field names but
     * are uniquely identifiable via UID.
     *
     * @param {string} uid - The unique identifier for the column.
     * @returns {Column} - Returns the column object for the given UID.
     */
    getColumnByUid(uid: string): Column;
    /**
     * Retrieves the names of all column fields in the TreeGrid.
     *
     * This method provides a list of field names useful for dynamic operations
     * or configuration where fields need to be enumerated or manipulated.
     *
     * @returns {string[]} - Returns an array of column field names.
     */
    getColumnFieldNames(): string[];
    /**
     * Retrieves the footer content element of the TreeGrid, usually for styling or custom manipulation.
     *
     * This can be used to access the footer for adding custom functionality
     * or styling purposes to enhance user interaction at the bottom of the grid.
     *
     * @returns {Element} - Returns the footer content HTML element.
     */
    getFooterContent(): Element;
    /**
     * Acquires the footer table element of the TreeGrid for layout management.
     *
     * Useful for manipulating the table's structure or style beneath the grid content.
     *
     * @returns {Element} - Returns the footer table HTML element.
     */
    getFooterContentTable(): Element;
    /**
     * Shows one or more columns based on the specified column names.
     *
     * This is useful for dynamically adjusting the visibility of columns
     * based on user actions or application logic.
     *
     * @param {string|string[]} keys - A single column name or an array of column names to show.
     * @param {string} showBy - Key to determine visibility either as field name or header text.
     * @returns {void}
     */
    showColumns(keys: string | string[], showBy?: string): void;
    /**
     * Hides one or more columns based on the specified column names.
     *
     * Utilized to dynamically reduce the visibility of columns based on
     * user roles or preferences.
     *
     * @param {string|string[]} keys - A single column name or an array of column names to hide.
     * @param {string} hideBy - Key to evaluate columns either as field name or header text.
     * @returns {void}
     */
    hideColumns(keys: string | string[], hideBy?: string): void;
    /**
     * Retrieves a column header element based on the field name of the column.
     *
     * This method helps to directly manipulate headers, such as applying custom styles.
     *
     * @param {string} field - The field name of the desired column.
     * @returns {Element} - Returns the HTML element of the column header.
     */
    getColumnHeaderByField(field: string): Element;
    /**
     * Acquires the column header element using the column's index.
     *
     * Suitable for situations where direct column index is available
     * and header access is needed for operations.
     *
     * @param {number} index - The index of the column.
     * @returns {Element} - Returns the HTML element of the specified column header.
     */
    getColumnHeaderByIndex(index: number): Element;
    /**
     * Retrieves a column header element utilizing the column's UID.
     *
     * Useful for precision access to header elements when UIDs are used
     * uniquely to manage column identities.
     *
     * @param {string} uid - The UID of the column.
     * @returns {Element} - Returns the HTML element of the column header.
     */
    getColumnHeaderByUid(uid: string): Element;
    /**
     * Determines the column index by the specified field name.
     *
     * Helpful in converting field names to indices for operations that require
     * numeric input for array or collection indexing.
     *
     * @param {string} field - The field name of the column.
     * @returns {number} - Returns the index of the column.
     */
    getColumnIndexByField(field: string): number;
    private getVirtualColIndexByUid;
    /**
     * Determines the column index based on the unique identifier (UID).
     *
     * This can be crucial in scenarios that involve dynamic column management
     * where UID provides an accurate reference.
     *
     * @param {string} uid - The UID of the column.
     * @returns {number} - Returns the column index.
     */
    getColumnIndexByUid(uid: string): number;
    /**
     * Fetches a collection of columns from the TreeGrid optionally refreshing the column model.
     *
     * Use this method to retrieve and optionally refresh the list of columns
     * to ensure up-to-date configurations and settings.
     *
     * @param {boolean} isRefresh - Determines whether to refresh the grid's column model.
     * @returns {Column[]} - Returns an array of TreeGrid column objects.
     */
    getColumns(isRefresh?: boolean): Column[];
    private updateColumnModel;
    private updateColumnsWidth;
    /**
     * Retrieves the main content area of the TreeGrid.
     *
     * This method allows access to the main content DIV, which can
     * be used for layout adjustments or adding custom elements.
     *
     * @returns {Element} - Returns the TreeGrid content HTML element.
     */
    getContent(): Element;
    private mergePersistTreeGridData;
    private mergeColumns;
    private setFrozenCount;
    private splitFrozenCount;
    private removeBorder;
    private frozenLeftBorderColumns;
    private frozenRightBorderColumns;
    private isFrozenGrid;
    private updateTreeGridModel;
    /**
     * Retrieves the content table element of the TreeGrid.
     *
     * This table contains the main data display area, allowing for
     * interaction and data manipulation directly within the TreeGrid.
     *
     * @returns {Element} - Returns the HTML element representing the content table.
     */
    getContentTable(): Element;
    /**
     * Obtains all data row elements from the TreeGrid, excluding summary rows.
     *
     * Provides a way to access the visual representation of data for purposes
     * like custom formatting or event binding.
     *
     * @returns {Element[]} - Returns an array of data row elements.
     */
    getDataRows(): Element[];
    /**
     * Retrieves the current set of records that are visible in the TreeGrid view.
     *
     * This method excludes any summary rows to focus on the main data set
     * currently being viewed by the user.
     *
     * @returns {Object[]} - Returns an array of the current view records.
     * @isGenericType true
     */
    getCurrentViewRecords(): Object[];
    /**
     * Collects data changes (added, edited, and deleted) that have not been saved in batch mode.
     *
     * This allows you to view pending changes awaiting a commit to the data source.
     *
     * @returns {Object} - Returns an object detailing batch changes.
     */
    getBatchChanges(): Object;
    /**
     * Retrieves the header content element of the TreeGrid.
     *
     * Mainly used for interacting with the header section, which includes
     * column headers and any applied header styling or events.
     *
     * @returns {Element} - Returns the HTML element for header content.
     */
    getHeaderContent(): Element;
    /**
     * Retrieves the header table element of the TreeGrid.
     *
     * This method is useful for direct access to the table structure
     * where column headers are defined.
     *
     * @returns {Element} - Returns the HTML element for the header table.
     */
    getHeaderTable(): Element;
    /**
     * Fetches a specific row element based on its index in the TreeGrid.
     *
     * This provides a way to directly access and manipulate a row using its index.
     *
     * @param {number} index - The index of the desired row.
     * @returns {Element} - Returns the HTML element of the specified row.
     */
    getRowByIndex(index: number): Element;
    /**
     * Provides detailed information about a row based on a specified target element.
     *
     * Integral for retrieving metadata such as row index or data object
     * when working with events or complex tree structures.
     *
     * @param {Element | EventTarget} target - The target element or event triggering the request.
     * @returns {grids.RowInfo} - Returns an object containing row information.
     */
    getRowInfo(target: Element | EventTarget): grids.RowInfo;
    /**
     * Finds the unique identifier (UID) for a column based on its field name.
     *
     * UIDs are essential for precise identification and manipulation within complex grids.
     *
     * @param {string} field - The field name of the column.
     * @returns {string} - Returns the unique identifier for the specified column.
     */
    getUidByColumnField(field: string): string;
    /**
     * Retrieves all the columns that are currently set to be visible within the TreeGrid.
     *
     * Helps in understanding the user's current view and can be used to dynamically
     * adjust the visible columns.
     *
     * @returns {Column[]} - Returns an array of visible column objects.
     */
    getVisibleColumns(): Column[];
    /**
     * Displays a loading spinner overlay across the TreeGrid for any data action or long-running process.
     *
     * This can be manually invoked to indicate processing, enhancing user experience by providing feedback.
     *
     * @returns {void}
     */
    showSpinner(): void;
    /**
     * Hides a manually shown loading spinner overlay from the TreeGrid.
     *
     * Ensures that any long-running process indication is removed after completion
     * to manage user interface aesthetics.
     *
     * @returns {void}
     */
    hideSpinner(): void;
    /**
     * Refreshes the visual appearance and data of the TreeGrid, updating header and content.
     *
     * This is crucial for synchronizing the displayed data with the underlying data source,
     * ensuring the view reflects current data.
     *
     * @returns {void}
     */
    refresh(): void;
    /**
     * Retrieves the records associated with rows that have their checkboxes checked.
     *
     * Facilitates operations that require information about specifically selected or
     * interacted rows within the grid.
     *
     * @returns {Object[]} - Returns an array of checked row data objects.
     * @isGenericType true
     */
    getCheckedRecords(): Object[];
    /**
     * Retrieves currently visible records according to the TreeGrid's visual state.
     *
     * It considers row expansion and collapse states to return only those records
     * that a user can currently interact with.
     *
     * @returns {Object[]} - Returns visible records reflecting the TreeGrid's current view.
     * @isGenericType true
     */
    getVisibleRecords(): Object[];
    /**
     * Retrieves the indices of rows that have their checkboxes checked.
     *
     * This can assist in programatically assessing which rows have been selected
     * by checkbox interaction for further processing.
     *
     * @returns {number[]} - Returns an array of indices corresponding to checked rows.
     */
    getCheckedRowIndexes(): number[];
    /**
     * Selects rows in the TreeGrid using row indices, checking their associated checkboxes.
     *
     * This method provides automation for selecting or highlighting specific rows,
     * useful in scenarios needing pre-selection or default selections.
     *
     * @param {number[]} indexes - An array of row indices to be marked as selected.
     * @returns {void}
     */
    selectCheckboxes(indexes: number[]): void;
    /**
     * Updates and refreshes the TreeGrid's column definitions and layout.
     *
     * Ensures that the latest column settings are displayed, either refreshing the UI
     * or adjusting internal configurations to match current data or configuration updates.
     *
     * @param {boolean} refreshUI - A flag indicating whether the DOM should be updated.
     * @returns {void}
     */
    refreshColumns(refreshUI?: boolean): void;
    private getTreeColumn;
    /**
     * Refreshes the header section of the TreeGrid to reflect any structural or data changes.
     *
     * This method is useful when there are dynamic updates or layout adjustments
     * needed in the header portion to ensure it aligns with current grid data or settings.
     *
     * @returns {void}
     */
    refreshHeader(): void;
    /**
     * Expands or collapse child records
     *
     * @param {HTMLElement} target - Expand collapse icon cell as target element
     * @returns {void}
     * @hidden
     */
    private expandCollapseRequest;
    /**
     * Expands the specified parent row within the TreeGrid to reveal its nested data.
     *
     * This method is useful for programmatically expanding rows to display their
     * hierarchical children, providing detailed views for nested data structures.
     *
     * @param {HTMLTableRowElement} row - The table row element that should be expanded.
     * @param {Object} record - Optional. Represents the data record associated with the row to be expanded.
     * @param {Object} key - Optional. The primary key value that uniquely identifies the record.
     * @param {number} level - Optional. Indicates the hierarchical level of the record within the TreeGrid.
     * @returns {void}
     */
    expandRow(row: HTMLTableRowElement, record?: Object, key?: Object, level?: number): void;
    private expandRows;
    private expandCollapseAllChildren;
    private getCollapseExpandRecords;
    /**
     * Collapses the specified parent row in the TreeGrid.
     *
     * This method collapses the row associated with the provided HTMLTableRowElement,
     * hiding any of its displayed child rows. It is typically used to manage the
     * visibility of hierarchical data within a tree structure.
     *
     * @param {HTMLTableRowElement} row - The HTMLTableRowElement representing the parent row
     *                                    whose child rows are to be collapsed.
     * @param {Object} record - (Optional) The data record associated with the row being collapsed.
     *                            This can be used to access or manipulate the underlying data
     *                            when collapsing the row.
     * @param {Object} key - (Optional) The primary key value of the record. It can be used to identify
     *                         the target record uniquely when collapsing the row, especially in cases
     *                         where the row or record data needs to be referenced or logged.
     * @returns {void}
     */
    collapseRow(row: HTMLTableRowElement, record?: Object, key?: Object): void;
    private collapseRows;
    private updateExpandStateMapping;
    /**
     * Expands all the records at the specified hierarchical level within the TreeGrid.
     *
     * This method is useful for visually expanding data at a certain depth, making
     * all parent rows visible at the given level and their child rows accessible.
     *
     * @param {number} level - The hierarchical level at which parent rows should be expanded.
     * @returns {void}
     */
    expandAtLevel(level: number): void;
    /**
     * Expands a specific record identified by the provided primary key value.
     *
     * This method is useful for expanding particular node in the TreeGrid when
     * the parent rows need to be targeted individually by their unique key.
     *
     * @param {Object} key - The primary key value of the record to be expanded.
     * @returns {void}
     */
    expandByKey(key: Object): void;
    private expandAction;
    private getRecordDetails;
    /**
     * Collapses all the records at the specified hierarchical level within the TreeGrid.
     *
     * This function helps in hiding child rows for all parent nodes at a given level,
     * effectively reducing the visible depth of the hierarchical structure.
     *
     * @param {number} level - The hierarchical level at which parent rows should be collapsed.
     * @returns {void}
     */
    collapseAtLevel(level: number): void;
    /**
     * Collapses a specific record identified by the provided primary key value.
     *
     * This method is useful for collapsing particular node in the TreeGrid when
     * the parent rows need to be targeted individually by their unique key.
     *
     * @param {Object} key - The primary key value of the record to be collapsed.
     * @returns {void}
     */
    collapseByKey(key: Object): void;
    private expandCollapseActionByKey;
    private collapseAction;
    /**
     * Expands all rows in the TreeGrid, making the full hierarchy visible.
     *
     * This method should be used with caution on large datasets, as it makes
     * all nodes and their child rows visible, which might affect performance.
     *
     * @returns {void}
     */
    expandAll(): void;
    /**
     * Collapses all rows in the TreeGrid, hiding all child rows and leaving only parent nodes visible.
     *
     * This method can be used to quickly minimize the view to only top-level data,
     * which is helpful for summarizing or performing broad overviews of the dataset.
     *
     * @returns {void}
     */
    collapseAll(): void;
    private expandCollapseAll;
    private expandCollapse;
    private updateChildOnDemand;
    private remoteExpand;
    private localExpand;
    private toggleRowVisibility;
    private updateAltRow;
    private treeColumnRowTemplate;
    private collapseRemoteChild;
    /**
     * Method to sanitize html element
     *
     * @param {any} value - Specifies the html value to sanitize
     * @returns {any} Returns the sanitized html value
     * @hidden
     */
    private sanitize;
    /**
     * @hidden
     * @returns {void}
     */
    addListener(): void;
    private updateResultModel;
    /**
     * @hidden
     * @returns {void}
     */
    private removeListener;
    /**
     * Filters the TreeGrid rows based on a specified column and filter criteria.
     *
     * This method allows for dynamic filtering against column data using various
     * operators and values, supporting case-sensitive filtering and accent sensitivity.
     *
     * @param {string} fieldName - The name of the column to apply the filter on.
     * @param {string} filterOperator - The operator used to perform the filter (e.g., 'equals', 'startswith').
     * @param {string | number | Date | boolean } filterValue - The value to filter against.
     * @param {string} predicate - The logical operator ('AND'/'OR') to combine this filter with others.
     * @param {boolean} matchCase - If true, the filter performs a case-sensitive match.
     * @param {boolean} ignoreAccent - If true, the filter ignores diacritical marks.
     * @param {string} actualFilterValue - The original value used for filtering, useful for distinguishing displayed and actual values.
     * @param {string} actualOperator - The actual operator that is applied when different from the displayed operator.
     * @returns {void}
     */
    filterByColumn(fieldName: string, filterOperator: string, filterValue: string | number | Date | boolean | number[] | string[] | Date[] | boolean[], predicate?: string, matchCase?: boolean, ignoreAccent?: boolean, actualFilterValue?: string, actualOperator?: string): void;
    /**
     * Clears all filters applied to the TreeGrid, restoring the view to show all records.
     *
     * This method is useful for resetting the grid to its unfiltered state.
     *
     * @returns {void}
     */
    clearFiltering(): void;
    /**
     * Removes filtered column by field name.
     *
     * @param  {string} field - Defines column field name to remove filter.
     * @param  {boolean} isClearFilterBar -  Specifies whether the filter bar value needs to be cleared.
     * @returns {void}
     * @hidden
     */
    removeFilteredColsByField(field: string, isClearFilterBar?: boolean): void;
    /**
     * Selects a row in the TreeGrid by its index.
     *
     * Use this method to highlight a specific row;
 useful for programmatically navigating data.
     *
     * @param {number} index - Index of the row to select.
     * @param {boolean} isToggle - If true, toggles the selection state of the row.
     * @returns {void}
     */
    selectRow(index: number, isToggle?: boolean): void;
    /**
     * Selects multiple rows in the TreeGrid given an array of row indexes.
     *
     * Useful for batch operations where multiple row selections are necessary.
     *
     * @param {number[]} rowIndexes - Array of row index numbers to select.
     * @returns {void}
     */
    selectRows(rowIndexes: number[]): void;
    /**
     * Deselects all selected rows and cells within the TreeGrid.
     *
     * Resets the selection state of the grid, which is useful after bulk operations.
     *
     * @returns {void}
     */
    clearSelection(): void;
    /**
     * Copies the data of selected rows or cells to the clipboard.
     *
     * This method supports including headers for better context when pasting elsewhere.
     *
     * @param {boolean} withHeader - (Optional) If true, includes column headers in the copied data.
     * @returns {void}
     */
    copy(withHeader?: boolean): void;
    /**
     * Pastes data into the selected cells from the clipboard.
     *
     * Automatically places the pasted data starting from the specified indices.
     *
     * @param {string} data - The clipboard data to paste.
     * @param {number} rowIndex - The starting row index for pasting.
     * @param {number} colIndex - The starting column index for pasting.
     * @returns {void}
     */
    paste(data: string, rowIndex: number, colIndex: number): void;
    /**
     * Selects a cell by its index position in the TreeGrid.
     *
     * Useful for navigating or highlighting specific data cells within the grid.
     *
     * @param {grids.IIndex} cellIndex - An object specifying the row and column indexes.
     * @param {boolean} isToggle - (Optional) If true, toggles the selection state of the cell.
     * @returns {void}
     */
    selectCell(cellIndex: grids.IIndex, isToggle?: boolean): void;
    /**
     * Retrieves the currently selected rows.
     *
     * Useful for obtaining the selected data elements for downstream processing.
     *
     * @returns {Element[]} - An array of Element objects representing the selected rows.
     */
    getSelectedRows(): Element[];
    /**
     * Gets a movable table cell by row and column index.
     *
     * @param  {number} rowIndex - Specifies the row index.
     * @param  {number} columnIndex - Specifies the column index.
     * @returns {Element} - Returns movable cell element from the indexes passed
     *
     * @deprecated This method is deprecated. Use getCellFromIndex method instead.
     */
    getMovableCellFromIndex(rowIndex: number, columnIndex: number): Element;
    /**
     * Gets all the TreeGrid's movable table data rows.
     *
     * @returns {Element[]} - Returns element collection of movable rows
     *
     * @deprecated This method is deprecated. Use getDataRows method instead.
     */
    getMovableDataRows(): Element[];
    /**
     * Gets a movable tables row by index.
     *
     * @param  {number} index - Specifies the row index.
     * @returns {Element} - Returns movable row based on index passed
     *
     * @deprecated This method is deprecated. Use getRowByIndex method instead.
     */
    getMovableRowByIndex(index: number): Element;
    /**
     * Gets the TreeGrid's movable content rows from frozen treegrid.
     *
     * @returns {Element[]}: Returns movable row element
     * @deprecated This method is deprecated. Use getRows method instead.
     */
    getMovableRows(): Element[];
    /**
     * Gets a frozen right tables row element by index.
     *
     * @param  {number} index - Specifies the row index.
     * @returns {Element} returns the element
     *
     * @deprecated This method is deprecated. Use getRowByIndex method instead.
     */
    getFrozenRightRowByIndex(index: number): Element;
    /**
     * Gets the Tree grids.Grid's frozen right content rows from frozen Tree grids.Grid.
     *
     * @returns {Element[]} returns the element
     *
     * @deprecated This method is deprecated. Use getRows method instead.
     */
    getFrozenRightRows(): Element[];
    /**
     * Gets all the Tree grids.Grid's frozen right table data rows.
     *
     * @returns {Element[]} Returns the Element
     *
     * @deprecated This method is deprecated. Use getDataRows method instead.
     */
    getFrozenRightDataRows(): Element[];
    /**
     * Gets a frozen right table cell by row and column index.
     *
     * @param  {number} rowIndex - Specifies the row index.
     * @param  {number} columnIndex - Specifies the column index.
     * @returns {Element} Returns the Element
     *
     * @deprecated This method is deprecated. Use getCellFromIndex method instead.
     */
    getFrozenRightCellFromIndex(rowIndex: number, columnIndex: number): Element;
    /**
     * Gets a frozen left column header by column index.
     *
     * @param  {number} index - Specifies the column index.
     * @returns {Element} Returns the Element
     *
     * @deprecated This method is deprecated. Use getColumnHeaderByIndex method instead.
     */
    getFrozenLeftColumnHeaderByIndex(index: number): Element;
    /**
     * Gets a frozen right column header by column index.
     *
     * @param  {number} index - Specifies the column index.
     * @returns {Element} Returns the Element
     *
     * @deprecated This method is deprecated. Use getColumnHeaderByIndex method instead.
     */
    getFrozenRightColumnHeaderByIndex(index: number): Element;
    /**
     * Gets a movable column header by column index.
     *
     * @param  {number} index - Specifies the column index.
     * @returns {Element} Returns the Element
     *
     * @deprecated This method is deprecated. Use getColumnHeaderByIndex method instead.
     */
    getMovableColumnHeaderByIndex(index: number): Element;
    /**
     * @hidden
     * @returns {number} Returns the movable column count
     */
    getMovableColumnsCount(): number;
    /**
     * @hidden
     * @returns {number} Returns the Frozen Left column
     */
    getFrozenLeftColumnsCount(): number;
    /**
     * @hidden
     * @returns {number} Returns the Frozen Right column count
     */
    getFrozenRightColumnsCount(): number;
    /**
     * @hidden
     * @returns {Column[]} Returns the column
     */
    getFrozenLeftColumns(): Column[];
    /**
     * @hidden
     * @returns {Column[]} Returns the column
     */
    getFrozenRightColumns(): Column[];
    /**
     * @hidden
     * @returns {number} Returns the visible movable count
     */
    getVisibleMovableCount(): number;
    /**
     * @hidden
     * @returns {number} Returns the visible Frozen Right count
     */
    getVisibleFrozenRightCount(): number;
    /**
     * @hidden
     * @returns {number} Returns the visible Frozen left count
     */
    getVisibleFrozenLeftCount(): number;
    /**
     * @hidden
     * @returns {Column[]} Returns the column
     */
    getMovableColumns(): Column[];
    /**
     * Gets the number of frozen column in tree grid
     *
     * @hidden
     * @returns {number} - Returns frozen column count
     */
    getFrozenColumns(): number;
    private getFrozenCount;
    /**
     * Retrieves the indexes of the currently selected rows in the TreeGrid.
     *
     * This method is useful when you need to perform actions based on the selected rows,
     * such as retrieving data or changing the selection.
     *
     * @returns {number[]} - An array of numbers representing the indexes of selected rows.
     */
    getSelectedRowIndexes(): number[];
    /**
     * Retrieves the indexes of the selected cells within the selected rows.
     *
     * This can be useful for handling cell-specific operations, such as
     * applying styles or editing values programmatically.
     *
     * @returns {grids.ISelectedCell[]} - An array of objects representing the selected cells' indexes.
     */
    getSelectedRowCellIndexes(): grids.ISelectedCell[];
    /**
     * Retrieves the data records corresponding to the currently selected rows.
     *
     * This method provides the full record data for the selected rows,
     * which is useful for data manipulation or extraction operations.
     *
     * @isGenericType true
     * @returns {Object[]} - An array of data objects representing the selected records.
     */
    getSelectedRecords(): Object[];
    /**
     * Obtains the data handling modules used by the TreeGrid.
     *
     * This includes both the base data module for standard grid operations and the tree module
     * for handling hierarchical data, giving complete access to data management capabilities.
     *
     * @returns {{baseModule: grids.Data, treeModule: DataManipulation}} - An object containing both grid and tree data modules.
     */
    getDataModule(): {
        baseModule: grids.Data;
        treeModule: DataManipulation;
    };
    /**
     * Reorders rows in the TreeGrid based on specified source indexes and a target position.
     *
     * This functionality allows for dynamic rearrangement of rows, such as moving selected
     * rows to a new position as siblings or children.
     *
     * @param {number[]} fromIndexes - An array indicating the source indexes of the rows to be moved.
     * @param {number} toIndex - The target index where the rows should be moved.
     * @param {string} position - The position relative to the target index ('above', 'below', 'child').
     * @returns {void}
     */
    reorderRows(fromIndexes: number[], toIndex: number, position: string): void;
    /**
     * Indents a specified record, promoting it to one level deeper in the hierarchy.
     *
     * This function moves the selected row to become the last child of its preceding row,
     * altering the visual and hierarchical data structure.
     *
     * @param {Object} record - (Optional) The record to be indented. If omitted, the currently selected row is used.
     * @returns {void}
     */
    indent(record?: Object): void;
    /**
     * Outdents a specified record, moving it one level up in the hierarchy.
     *
     * This method repositions the selected row to be a sibling of its parent, impacting
     * its display and the hierarchical relationships within the TreeGrid.
     *
     * @param {Object} record - (Optional) The record to be outdented. If omitted, the currently selected row is used.
     * @returns {void}
     */
    outdent(record?: Object): void;
    /**
     * `columnchooserModule` is used to dynamically show or hide the TreeGrid columns.
     *
     * @hidden
     */
    columnChooserModule: grids.ColumnChooser;
    /**
     * The `toolbarModule` is used to manipulate ToolBar items and its action in the TreeGrid.
     */
    toolbarModule: Toolbar;
    /**
     * The `editModule` is used to handle TreeGrid content manipulation.
     */
    editModule: Edit;
    /**
     * The `pagerModule` is used to manipulate paging in the TreeGrid.
     */
    pagerModule: Page;
}
//node_modules/@syncfusion/ej2-treegrid/src/treegrid/base/treegrid-model.d.ts
/**
 * Interface for a class TreeGrid
 */
export interface TreeGridModel extends base.ComponentModel{
    /**
     * Specifies the number of rows that should remain visible and fixed at the top of the TreeGrid during scrolling.
     *
     * This feature helps improve readability in data-heavy grids by keeping the header rows or key rows visible.
     *
     * @default 0
     */
    frozenRows?: number;
    /**
     * Specifies the number of columns that should remain visible and fixed on the left side of the TreeGrid during horizontal scrolling.
     *
     * This feature ensures key columns, such as identifiers, stay visible while users scroll through data.
     *
     * @default 0
     */
    frozenColumns?: number;
    /**
     * Defines the options for printing the TreeGrid.
     * The available print modes are:
     * * `AllPages`: Prints all pages of the TreeGrid.
     * * `CurrentPage`: Prints only the current page of the TreeGrid.
     *
     * @default Syncfusion.EJ2.Grids.grids.ClipMode.Ellipsis
     * @aspType Syncfusion.EJ2.Grids.grids.ClipMode
     * @isEnumeration true
     */
    clipMode?: grids.ClipMode;
    /**
     * Defines the schema of dataSource.
     * If the `columns` declaration is empty or undefined then the `columns` are automatically generated from data source.
     * {% codeBlock src='treegrid/columns/index.md' %}{% endcodeBlock %}   
     *
     * @default []
     */
    columns?: ColumnModel[] | string[] | Column[];
    /**
     * Specifies the mapping property path for child records in data source
     * {% codeBlock src='treegrid/childMapping/index.md' %}{% endcodeBlock %}
     *
     * @default null
     */
    childMapping?: string;
    /**
     * Specifies whether record is parent or not for the remote data binding
     *
     * @default null
     */
    hasChildMapping?: string;
    /**
     * Specifies the index of the column that needs to have the expander button.
     *
     * @default 0
     */
    treeColumnIndex?: number;
    /**
     * Specifies the name of the field in the dataSource, which contains the id of that row.
     * {% codeBlock src='treegrid/idMapping/index.md' %}{% endcodeBlock %}
     *
     * @default null
     */
    idMapping?: string;
    /**
     * Specifies the name of the field in the dataSource, which contains the parent’s id
     * {% codeBlock src='treegrid/parentIdMapping/index.md' %}{% endcodeBlock %}
     *
     * @default null
     */
    parentIdMapping?: string;
    /**
     * Specifies whether to load all rows in a collapsed state when the TreeGrid is initially rendered.
     *
     * This setting is particularly useful when dealing with large datasets, as it helps enhance loading performance by
     * reducing initial data rendering.
     *
     * @default false
     */
    enableCollapseAll?: boolean;
    /**
     * Specifies the mapping property path for the expand status of a record in data source.
     *
     * @default null
     */
    expandStateMapping?: string;
    /**
     * If `allowRowDragAndDrop` is set to true, row reordering functionality is enabled, allowing rows to be dragged
     * and dropped within the TreeGrid or across TreeGrids.
     *
     * This feature enables users to reorganize data dynamically via drag-and-drop operations.
     *
     * @default false
     */
    allowRowDragAndDrop?: boolean;
    /**
     * It is used to render TreeGrid table rows.
     * {% codeBlock src='treegrid/dataSource/index.md' %}{% endcodeBlock %}
     *
     * @default []
     * @isGenericType true
     * @isDataSource true
     */
    dataSource?: Object | data.DataManager;
    /**
     * Defines the external [data.Query](https://ej2.syncfusion.com/documentation/data/api-query.html)
     * that will be executed along with data processing.
     *
     * @default null
     */
    query?: data.Query;
    /**
     * @hidden
     */
    cloneQuery?: data.Query;
    /**
     * Defines the options for printing the TreeGrid.
     * The available print modes are:
     * * `AllPages`: Prints all pages of the TreeGrid.
     * * `CurrentPage`: Prints only the current page of the TreeGrid.
     *
     * @default Syncfusion.EJ2.Grids.grids.PrintMode.AllPages
     * @isEnumeration true
     * @aspType Syncfusion.EJ2.Grids.grids.PrintMode
     */
    printMode?: grids.PrintMode;
    /**
     * If `allowPaging` is set to true, pager renders.
     *
     * @default false
     */
    allowPaging?: boolean;
    /**
     * When enabled, only parent records would be rendered during the initial render and child records will be loaded only when expanding a parent record.
     * This property is only applicable for remote data binding.
     * Loading child records on demand can improve the performance of data-bound controls with a large number of records.
     * Child records are only loaded when they are requested, rather than loading all child records at once.
     *
     * @default true
     */
    loadChildOnDemand?: boolean;
    /**
     * If `allowTextWrap` set to true,
     * then text content will wrap to the next line when its text content exceeds the width of the Column Cells.
     *
     * @default false
     */
    allowTextWrap?: boolean;
    /**
     * Configures the text wrap in the TreeGrid.
     *
     * @default {wrapMode:"Both"}
     */
    textWrapSettings?: TextWrapSettingsModel;
    /**
     * If `allowReordering` is set to true, TreeGrid columns can be reordered.
     * Reordering can be done by drag and drop of a particular column from one index to another index.
     * > If TreeGrid is rendered with stacked headers, reordering is allowed only at the same level as the column headers.
     *
     * @default false
     */
    allowReordering?: boolean;
    /**
     * If `allowResizing` is set to true, TreeGrid columns can be resized.
     *
     * @default false
     */
    allowResizing?: boolean;
    /**
     * If `autoCheckHierarchy` is set to true, hierarchy checkbox selection is enabled in TreeGrid.
     *
     * @default false
     */
    autoCheckHierarchy?: boolean;
    /**
     * Configures the pager in the TreeGrid.
     *
     * @default {currentPage: 1, pageSize: 12, pageCount: 8, enableQueryString: false, pageSizes: false, template: null}
     */
    pageSettings?: PageSettingsModel;
    /**
     * Configures the row drop settings of the TreeGrid.
     */
    rowDropSettings?: grids.RowDropSettingsModel;
    /**
     * Defines the currencyCode format of the Tree grids.Grid columns
     *
     * @private
     */
    currencyCode?: string;
    /**
     * @hidden
     * It used to render pager template
     * @default null
     * @aspType string
     */
    pagerTemplate?: string | Function;
    /**
     * If `showColumnMenu` set to true, then it will enable the column menu options in each columns.
     *
     * > Check the [Column menu](../../treegrid/columns/#column-menu/) for its configuration.
     *
     * @default false
     */
    showColumnMenu?: boolean;
    /**
     * If `showColumnChooser` is set to true, it allows you to dynamically show or hide columns.
     *
     * @default false
     */
    showColumnChooser?: boolean;
    /**
     * If `allowSorting` is set to true, it allows sorting of treegrid records when column header is clicked.
     *
     * @default false
     */
    allowSorting?: boolean;
    /**
     * If `allowMultiSorting` set to true, then it will allow the user to sort multiple column in the treegrid.
     * > `allowSorting` should be true.
     *
     * @default true
     */
    allowMultiSorting?: boolean;
    /**
     * Configures the sort settings of the TreeGrid.
     *
     * @default {columns:[]}
     */
    sortSettings?: SortSettingsModel;
    /**
     * Configures the TreeGrid aggregate rows.
     * > Check the [Aggregates](../../treegrid/aggregates/aggregates) for its configuration.
     *
     * @default []
     */
    aggregates?: AggregateRowModel[];
    /**
     * Configures the edit settings.
     *
     * @default { allowAdding: false, allowEditing: false, allowDeleting: false, mode:'Normal',
     * allowEditOnDblClick: true, showConfirmDialog: true, showDeleteConfirmDialog: false }
     */
    editSettings?: EditSettingsModel;
    /**
     * If `allowFiltering` is set to true the filter bar will be displayed.
     * If set to false the filter bar will not be displayed.
     * Filter bar allows the user to filter tree grid records with required criteria.
     *
     * @default false
     */
    allowFiltering?: boolean;
    /**
     * The detail template allows you to show or hide additional information about a particular row.
     *
     * > It accepts either the [template string](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals)
     * or the HTML element ID.
     *
     * @aspType string
     */
    detailTemplate?: string | Function;
    /**
     * 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
     * @aspType string
     */
    toolbarTemplate?: string | Function;
    /**
     * Defines how TreeGrid content lines are displayed, determining the visibility of vertical and horizontal lines.
     *
     * * `Both`: Displays both horizontal and vertical grid lines.
     * * `None`: Hides both horizontal and vertical grid lines.
     * * `Horizontal`: Displays only horizontal grid lines.
     * * `Vertical`: Displays only vertical grid lines.
     * * `Default`: Adjusts line visibility based on the theme.
     *
     * @default Syncfusion.EJ2.Grids.grids.GridLine.Default
     * @isEnumeration true
     * @aspType Syncfusion.EJ2.Grids.grids.GridLine
     */
    gridLines?: grids.GridLine;
    /**
     * `contextMenuItems` defines both built-in and custom context menu items.
     * <br><br>
     * The available built-in items are,
     * * `AutoFitAll` - Auto fit the size of all columns.
     * * `AutoFit` - Auto fit the current column.
     * * `Edit` - Edit the current record.
     * * `Delete` - Delete the current record.
     * * `Save` - Save the edited record.
     * * `Cancel` - Cancel the edited state.
     * * `PdfExport` - Export the grid as Pdf format.
     * * `ExcelExport` - Export the grid as Excel format.
     * * `CsvExport` - Export the grid as CSV format.
     * * `SortAscending` - Sort the current column in ascending order.
     * * `SortDescending` - Sort the current column in descending order.
     * * `FirstPage` - Go to the first page.
     * * `PrevPage` - Go to the previous page.
     * * `LastPage` - Go to the last page.
     * * `NextPage` - Go to the next page.
     *
     * @default null
     */
    contextMenuItems?: ContextMenuItem[] | grids.ContextMenuItemModel[];
    /**
     * `columnMenuItems` defines both built-in and custom column menu items.
     * <br><br>
     * The available built-in items are,
     * * `AutoFitAll` - Auto fit the size of all columns.
     * * `AutoFit` - Auto fit the current column.
     * * `SortAscending` - Sort the current column in ascending order.
     * * `SortDescending` - Sort the current column in descending order.
     * * `Filter` - Filter options will show based on filterSettings property like filterbar, menu filter.
     *
     * @default null
     */
    columnMenuItems?: grids.ColumnMenuItem[] | grids.ColumnMenuItemModel[];
    /**
     * The row template that renders customized rows from the given template.
     * By default, TreeGrid renders a table row for every data source item.
     * > * It accepts either [template string](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals)
     * or HTML element ID.
     * > * The row template must be a table row.
     *
     * > Check the [grids.Row Template](../../treegrid/row) customization.
     *
     * @aspType string
     */
    rowTemplate?: string | Function;
    /**
     * `copyHierarchyMode` Defines the copy clipboard types.
     * <br><br>
     * The available built-in items are,
     * * `Parent` - Copy the selected data with parent record.
     * * `Child` - Copy the selected data with child record.
     * * `Both` - Copy the selected data with both parent and child record.
     * * `None` - Copy only the selected record.
     *
     * @default Parent
     */
    copyHierarchyMode?: CopyHierarchyType;
    /**
     * Defines the height of TreeGrid rows.
     *
     * @default null
     */
    rowHeight?: number;
    /**
     * If `enableAltRow` is set to true, the TreeGrid will render with `e-altrow` CSS class to the alternative tr elements.   
     * > Check the [AltRow](../../treegrid/row/#styling-alternate-rows/) to customize the styles of alternative rows.
     *
     * @default true 
     */
    enableAltRow?: boolean;
    /**
     * Enables or disables the key board interaction of TreeGrid.    
     *
     * @hidden
     * @default true
     */
    allowKeyboard?: boolean;
    /**
     * If `enableHover` is set to true, the row hover is enabled in the TreeGrid.
     *
     * @default false
     */
    enableHover?: boolean;
    /**
     * If `enableAutoFill` is set to true, then the auto fill icon will displayed on cell selection for copy cells.
     * It requires the selection `mode` to be Cell and `cellSelectionMode` to be `Box`.
     *
     * @default false
     */
    enableAutoFill?: boolean;
    /**
     * If `enableAdaptiveUI` is set to true, the pop-up UI will become adaptive to small screens,
     * and be used for filtering and other features.
     * ```html
     * <div id='treegrid'></div>
     * <script>
     *  var treegridObj = new TreeGrid({ enableAdaptiveUI: true });
     *  treegridObj.appendTo('#treegrid');
     * </script>
     * ```
     *
     * @default false
     */
    enableAdaptiveUI?: boolean;
    /**
     * If `enableImmutableMode`  is set to true, the TreeGrid will reuse old rows if it exists in the new result instead of
     * full refresh while performing the TreeGrid actions.
     *
     * @default false
     */
    enableImmutableMode?: boolean;
    /**
     * Defines the scrollable height of the TreeGrid content.
     *
     * @default 'auto'
     */
    height?: string | number;
    /**
     * Defines the TreeGrid width.
     *
     * @default 'auto'
     */
    width?: string | number;
    /**
     *  Configures the loading indicator of the Tree grids.Grid. Specifies whether to display spinner or shimmer effect
     *  during the waiting time on any actions (paging, sorting, filtering, CRUD operations) performed in Tree grids.Grid.
     *
     * @default {indicatorType: 'Spinner'}
     */
    loadingIndicator?: LoadingIndicatorModel;
    /**
     * Specifies whether to display shimmer effect during scrolling action in virtual scrolling feature.
     * If disabled, spinner is shown instead of shimmer effect.
     *
     * @default true
     */
    enableVirtualMaskRow?: boolean;
    /**
     * 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;
    /**
     * Enables column virtualization in the TreeGrid. When set to `true`, only columns visible within the viewport are rendered.
     * Additional columns are loaded as you horizontally scroll. This is beneficial for rendering large datasets efficiently.
     *
     * @default false
     */
    enableColumnVirtualization?: boolean;
    /**
     * Determines whether to sanitize untrusted HTML content in the TreeGrid. If `true`, potentially harmful HTML strings
     * and scripts are sanitized before rendering to protect against XSS attacks.
     *
     * @default false
     */
    enableHtmlSanitizer?: boolean;
    /**
     * Enables infinite scrolling in the TreeGrid. When set to `true`, additional data is loaded as the scrollbar
     * reaches the end. Useful for handling large datasets.
     *
     * @default false
     */
    enableInfiniteScrolling?: boolean;
    /**
     * Configures settings for infinite scrolling.
     *
     * @default { enableCache: false, maxBlocks: 5, initialBlocks: 5 }
     */
    infiniteScrollSettings?: InfiniteScrollSettingsModel;
    /**
     * Specifies how data is retrieved from the data source for the TreeGrid.
     * The available modes are:
     * * `All`: Retrieve the entire data source.
     * * `Schema`: Retrieve data only for defined columns.
     * * `ExcludeHidden`: Retrieve data only for visible columns in the TreeGrid.
     *
     * @default All
     */
    columnQueryMode?: grids.ColumnQueryModeType;
    /**
     * If `allowSelection` is set to true, selection of (highlight row) TreeGrid records by clicking is allowed.
     *
     * @default true
     */
    allowSelection?: boolean;
    /**
     * Specifies the index of the row to be selected upon initial rendering.
     * Also retrieves the index of the currently selected row.
     *
     * @default -1
     */
    selectedRowIndex?: number;
    /**
     * Configures the selection behavior.
     *
     * @default {mode: 'grids.Row', cellSelectionMode: 'Flow', type: 'Single'}
     */
    selectionSettings?: SelectionSettingsModel;
    /**
     * Enables exporting the TreeGrid to an Excel file if set to true.
     *
     * > Check the [ExcelExport](../../treegrid/excel-export/) documentation for more details.
     *
     * @default false
     */
    allowExcelExport?: boolean;
    /**
     * Enables exporting the TreeGrid to a PDF file if set to true.
     *
     * > Check the [PdfExport](../../treegrid/pdf-export/) documentation for more details.
     *
     * @default false
     */
    allowPdfExport?: boolean;
    /**
     * Triggers when the component is created.
     *
     * @event created
     */
    created?: base.EmitType<Object>;
    /**
     * Allows customization of TreeGrid properties before rendering.
     *
     * @event load
     */
    load?: base.EmitType<Object>;
    /**
     * Triggers while a TreeGrid record is expanding.
     *
     * @event expanding
     */
    expanding?: base.EmitType<RowExpandingEventArgs>;
    /**
     * Triggers after a TreeGrid record is expanded.
     *
     * @event expanded
     */
    expanded?: base.EmitType<RowExpandedEventArgs>;
    /**
     * Triggers while a TreeGrid record is collapsing.
     *
     * @event collapsing
     */
    collapsing?: base.EmitType<RowCollapsingEventArgs>;
    /**
     * Triggers after a TreeGrid record is collapsed.
     *
     * @event collapsed
     */
    collapsed?: base.EmitType<RowCollapsedEventArgs>;
    /**
     * Triggers when a cell is being saved.
     *
     * @event cellSave
     */
    cellSave?: base.EmitType<grids.CellSaveArgs>;
    /**
     * Triggers after a cell is saved.
     *
     * @event cellSaved
     */
    cellSaved?: base.EmitType<grids.CellSaveArgs>;
    /**
     * Triggers when TreeGrid actions like sorting, filtering, paging, etc., start.
     *
     * @event actionBegin
     */
    actionBegin?: base.EmitType<grids.PageEventArgs | grids.FilterEventArgs | grids.SortEventArgs | grids.SearchEventArgs | grids.AddEventArgs | grids.SaveEventArgs | grids.EditEventArgs | grids.DeleteEventArgs>;
    /**
     * Triggers when TreeGrid actions like sorting, filtering, paging, etc., are completed.
     *
     * @event actionComplete
     */
    actionComplete?: base.EmitType<grids.PageEventArgs | grids.FilterEventArgs | grids.SortEventArgs | grids.SearchEventArgs | grids.AddEventArgs | grids.SaveEventArgs | grids.EditEventArgs | grids.DeleteEventArgs>;
    /**
     * Triggers before a record is edited.
     *
     * @event beginEdit
     */
    beginEdit?: base.EmitType<grids.BeginEditArgs>;
    /**
     * Triggers when records are added in batch mode.
     *
     * @event batchAdd
     */
    batchAdd?: base.EmitType<grids.BatchAddArgs>;
    /**
     * Triggers when records are deleted in batch mode.
     *
     * @event batchDelete
     */
    batchDelete?: base.EmitType<grids.BatchDeleteArgs>;
    /**
     * Triggers before records are cancelled in batch mode.
     *
     * @event batchCancel
     */
    batchCancel?: base.EmitType<grids.BatchCancelArgs>;
    /**
     * Triggers before records are added in batch mode.
     *
     * @event beforeBatchAdd
     */
    beforeBatchAdd?: base.EmitType<grids.BeforeBatchAddArgs>;
    /**
     * Triggers before records are deleted in batch mode.
     *
     * @event beforeBatchDelete
     */
    beforeBatchDelete?: base.EmitType<grids.BeforeBatchDeleteArgs>;
    /**
     * Triggers before records are saved in batch mode.
     *
     * @event beforeBatchSave
     */
    beforeBatchSave?: base.EmitType<grids.BeforeBatchSaveArgs>;
    /**
     * Triggers when a cell is being edited.
     *
     * @event cellEdit
     */
    cellEdit?: base.EmitType<grids.CellEditArgs>;
    /**
     * Triggers when any TreeGrid action fails to achieve the desired results.
     *
     * @event actionFailure
     */
    actionFailure?: base.EmitType<grids.FailureEventArgs>;
    /**
     * Triggers when the data source is populated in the TreeGrid.
     *
     * @event dataBound
     */
    dataBound?: base.EmitType<Object>;
    /**
     * Triggers when data in the TreeGrid is added, deleted, or updated.
     * Invoke the done method from the argument to start rendering after an edit operation.
     *
     * @event dataSourceChanged
     * @deprecated
     */
    dataSourceChanged?: base.EmitType<grids.DataSourceChangedEventArgs>;
    /**
     * Triggers when TreeGrid actions such as sorting, paging, etc., are completed.
     * The current view data and total record count should be assigned to the dataSource based on the action performed.
     *
     * @event dataStateChange
     * @deprecated
     */
    dataStateChange?: base.EmitType<DataStateChangeEventArgs>;
    /**
     * Triggers when a record is double-clicked.
     *
     * @event recordDoubleClick
     */
    recordDoubleClick?: base.EmitType<grids.RecordDoubleClickEventArgs>;
    /**
     * Triggered every time a request is made to access row information, element, or data.
     * This event is triggered before the row element is appended to the TreeGrid element.
     *
     * @event rowDataBound
     */
    rowDataBound?: base.EmitType<grids.RowDataBoundEventArgs>;
    /**
     * Triggers after a detail row expands. This event triggers initially during the first expand.
     *
     * @event detailDataBound
     */
    detailDataBound?: base.EmitType<grids.DetailDataBoundEventArgs>;
    /**
     * Triggered every time a request is made to access cell information, element, or data.
     * This event is triggered before the cell element is appended to the TreeGrid element.
     *
     * @event queryCellInfo
     */
    queryCellInfo?: base.EmitType<grids.QueryCellInfoEventArgs>;
    /**
     * Triggers before row selection occurs.
     *
     * @event rowSelecting
     */
    rowSelecting?: base.EmitType<grids.RowSelectingEventArgs>;
    /**
     * Triggers after a row is selected.
     *
     * @event rowSelected
     */
    rowSelected?: base.EmitType<grids.RowSelectEventArgs>;
    /**
     * Triggers before the selected row is deselected.
     *
     * @event rowDeselecting
     * @deprecated
     */
    rowDeselecting?: base.EmitType<grids.RowDeselectEventArgs>;
    /**
     * Triggers when a selected row is deselected.
     *
     * @event rowDeselected
     */
    rowDeselected?: base.EmitType<grids.RowDeselectEventArgs>;
    /**
     * Triggered for accessing header information.
     *
     * @event headerCellInfo
     */
    headerCellInfo?: base.EmitType<grids.HeaderCellInfoEventArgs>;
    /**
     * Triggers before any cell selection occurs.
     *
     * @event cellSelecting
     */
    cellSelecting?: base.EmitType<grids.CellSelectingEventArgs>;
    /**
     * Triggers before the column menu opens.
     *
     * @event columnMenuOpen
     * @deprecated
     */
    columnMenuOpen?: base.EmitType<grids.ColumnMenuOpenEventArgs>;
    /**
     * Triggers when there is a click on the column menu.
     *
     * @event columnMenuClick
     */
    columnMenuClick?: base.EmitType<navigations.MenuEventArgs>;
    /**
     * Triggers after a cell is selected.
     *
     * @event cellSelected
     */
    cellSelected?: base.EmitType<grids.CellSelectEventArgs>;
    /**
     * Triggers before a selected cell is deselected.
     *
     * @event cellDeselecting
     * @deprecated
     */
    cellDeselecting?: base.EmitType<grids.CellDeselectEventArgs>;
    /**
     * Triggers when a selected cell is deselected.
     *
     * @event cellDeselected
     * @deprecated
     */
    cellDeselected?: base.EmitType<grids.CellDeselectEventArgs>;
    /**
     * Triggers when column resizing starts.
     *
     * @event resizeStart
     * @deprecated
     */
    resizeStart?: base.EmitType<grids.ResizeArgs>;
    /**
     * Triggers during column resizing.
     *
     * @event resizing
     */
    resizing?: base.EmitType<grids.ResizeArgs>;
    /**
     * Triggers when column resizing ends.
     *
     * @event resizeStop
     */
    resizeStop?: base.EmitType<grids.ResizeArgs>;
    /**
     * Triggers when column header dragging begins.
     *
     * @event columnDragStart
     */
    columnDragStart?: base.EmitType<grids.ColumnDragEventArgs>;
    /**
     * Triggers continuously while the column header is being dragged.
     *
     * @event columnDrag
     */
    columnDrag?: base.EmitType<grids.ColumnDragEventArgs>;
    /**
     * Triggers when a column header is dropped onto the target column.
     *
     * @event columnDrop
     */
    columnDrop?: base.EmitType<grids.ColumnDragEventArgs>;
    /**
     * Triggers when the state of a checkbox changes in a checkbox column.
     *
     * @event checkboxChange
     */
    checkboxChange?: base.EmitType<grids.CheckBoxChangeEventArgs>;
    /**
     * Triggers after the print action has been completed.
     *
     * @event printComplete
     */
    printComplete?: base.EmitType<grids.PrintEventArgs>;
    /**
     * Triggers before the print action begins.
     *
     * @event beforePrint
     */
    beforePrint?: base.EmitType<grids.PrintEventArgs>;
    /**
     * Triggers when a toolbar item is clicked.
     *
     * @event toolbarClick
     */
    toolbarClick?: base.EmitType<navigations.ClickEventArgs>;
    /**
     * Triggers before data is bound to the TreeGrid.
     *
     * @event beforeDataBound
     */
    beforeDataBound?: base.EmitType<grids.BeforeDataBoundArgs>;
    /**
     * Triggers before the context menu opens.
     *
     * @event contextMenuOpen
     */
    contextMenuOpen?: base.EmitType<navigations.BeforeOpenCloseMenuEventArgs>;
    /**
     * Triggers when an item in the context menu is clicked.
     *
     * @event contextMenuClick
     */
    contextMenuClick?: base.EmitType<navigations.MenuEventArgs>;
    /**
     * Triggers before the TreeGrid copy action is initiated.
     *
     * @event beforeCopy
     */
    beforeCopy?: base.EmitType<grids.BeforeCopyEventArgs>;
    /**
     * Triggers before the TreeGrid paste action is initiated.
     *
     * @event beforePaste
     */
    beforePaste?: base.EmitType<grids.BeforePasteEventArgs>;
    /**
     * Triggers continuously while row elements are being dragged.
     *
     * @event rowDrag
     */
    rowDrag?: base.EmitType<grids.RowDragEventArgs>;
    /**
     * Triggers when row element dragging starts.
     *
     * @event rowDragStart
     */
    rowDragStart?: base.EmitType<grids.RowDragEventArgs>;
    /**
     * Triggers just before the row element dragging begins.
     *
     * @event rowDragStartHelper
     */
    rowDragStartHelper?: base.EmitType<grids.RowDragEventArgs>;
    /**
     * Triggers when a row element is dropped onto the target row.
     *
     * @event rowDrop
     */
    rowDrop?: base.EmitType<grids.RowDragEventArgs>;
    /**
     * Triggers before each cell is exported to a PDF document, allowing customization of cells.
     *
     * @event pdfQueryCellInfo
     */
    pdfQueryCellInfo?: base.EmitType<grids.PdfQueryCellInfoEventArgs>;
    /**
     * Triggers before each header cell is exported to a PDF document, allowing customization of cells.
     *
     * @event pdfHeaderQueryCellInfo
     */
    pdfHeaderQueryCellInfo?: base.EmitType<grids.PdfHeaderQueryCellInfoEventArgs>;
    /**
     * Triggers before each cell is exported to an Excel file, allowing customization of cells.
     *
     * @event excelQueryCellInfo
     */
    excelQueryCellInfo?: base.EmitType<grids.ExcelQueryCellInfoEventArgs>;
    /**
     * Triggers before each header cell is exported to an Excel file, allowing customization of cells.
     *
     * @event excelHeaderQueryCellInfo
     */
    excelHeaderQueryCellInfo?: base.EmitType<grids.ExcelHeaderQueryCellInfoEventArgs>;
    /**
     * Triggers before TreeGrid data is exported to an Excel file.
     *
     * @event beforeExcelExport
     */
    beforeExcelExport?: base.EmitType<Object>;
    /**
     * Triggers after TreeGrid data is exported to an Excel file.
     *
     * @event excelExportComplete
     */
    excelExportComplete?: base.EmitType<grids.ExcelExportCompleteArgs>;
    /**
     * Triggers before TreeGrid data is exported to a PDF document.
     *
     * @event beforePdfExport
     */
    beforePdfExport?: base.EmitType<Object>;
    /**
     * Triggers after TreeGrid data is exported to a PDF document.
     *
     * @event pdfExportComplete
     */
    pdfExportComplete?: base.EmitType<grids.PdfExportCompleteArgs>;
}
//node_modules/@syncfusion/ej2-treegrid/src/treegrid/base/interface.d.ts
/**
 * Specifies FlatData interfaces.
 *
 * @hidden
 */
export interface ITreeData {
    /**
     * Specifies the childRecords of a parentData
     */
    childRecords?: ITreeData[];
    /**
     * Specifies whether the record contains child records
     */
    hasChildRecords?: boolean;
    /**
     * Specifies whether the record contains filtered child records
     */
    hasFilteredChildRecords?: boolean;
    /**
     * Specifies whether the child records are expanded
     */
    expanded?: boolean;
    /**
     * Specifies the parentItem of childRecords
     */
    parentItem?: ITreeData;
    /**
     * Specifies the index of current record
     */
    index?: number;
    /**
     * Specifies the hierarchy level of record
     */
    level?: number;
    /**
     * Specifies the hierarchy level of filtered record
     */
    filterLevel?: number;
    /**
     * Specifies the parentID
     */
    /**
     * Specifies the unique ID of a record
     */
    uniqueID?: string;
    /**
     * Specifies the parent Unique ID of a record
     */
    parentUniqueID?: string;
    /**
     * Specifies the checkbox state of a record
     */
    checkboxState?: string;
    /**
     * Specifies the summary of a record
     */
    isSummaryRow?: boolean;
    /**
     * Specifies the main data
     */
    taskData?: ITreeData;
    /**
     * Specifies the Primary data
     */
    primaryParent?: ITreeData;
}
/** Specifies the Tree Grid ExcelExport properties */
export interface TreeGridExcelExportProperties extends grids.ExcelExportProperties {
    /** Specifies the collapsed state persistence in exported file */
    isCollapsedStatePersist: boolean;
}
/** Specifies the Tree Grid PdfExport properties */
export interface TreeGridPdfExportProperties extends grids.PdfExportProperties {
    /** Specifies the collapsed state persistence in exported file */
    isCollapsedStatePersist: boolean;
}
export interface AggregateTemplateContext {
    /** Gets sum aggregate value */
    sum: string;
    /** Gets average aggregate value */
    average: string;
    /** Gets maximum aggregate value */
    max: string;
    /** Gets minimum aggregate value */
    min: string;
    /** Gets count aggregate value */
    count: string;
    /** Gets true count aggregate value */
    trueCount: string;
    /** Specifies false count aggregate value */
    falseCount: string;
    /** Gets custom aggregate value */
    custom: string;
    /** Gets the current group field name */
    field?: string;
    /** Gets header text of the grouped column */
    headerText?: string;
    /** Gets grouped data key value */
    key?: string;
}
/**
 * @hidden
 */
export interface ITreeGridCellFormatter {
    getValue(column: Column, data: Object): Object;
}
export interface RowExpandedEventArgs {
    /**
     * Defines the parent row data.
     *
     * @isGenericType true
     */
    data?: Object;
    /** Defines the parent row element. */
    row?: HTMLTableRowElement;
}
export interface RowExpandingEventArgs {
    /**
     * Defines the parent row data.
     *
     * @isGenericType true
     */
    data?: Object;
    /** Defines the parent row element. */
    row?: HTMLTableRowElement;
    /** Cancel the row expanding action */
    cancel?: boolean;
    /** Provides an option to ExpandAll the nested parent rows of the current row. */
    expandAll?: boolean;
}
export interface RowCollapsedEventArgs {
    /**
     * Defines the parent row data.
     *
     * @isGenericType true
     */
    data?: Object;
    /** Defines the parent row element. */
    row?: HTMLTableRowElement;
}
export interface RowCollapsingEventArgs {
    /**
     * Defines the parent row data.
     *
     * @isGenericType true
     */
    data?: Object;
    /** Defines the parent row element. */
    row?: HTMLTableRowElement;
    /** Cancel the row collapsing action */
    cancel?: boolean;
    /** Provides an option to CollapseAll the nested parent rows of the current row. */
    collapseAll?: boolean;
}
export interface CellSaveEventArgs extends grids.SaveEventArgs {
    /** Defines edited column */
    column?: Column;
}
export interface DataStateChangeEventArgs extends grids.DataStateChangeEventArgs {
    /** Defines the child records for the respective parent row */
    childData?: ITreeData[];
    /**
     * Defines the parent row data.
     *
     * @isGenericType true
     */
    data?: Object;
    /** Defines the parent row element. */
    row?: HTMLTableRowElement;
    /** Cancel the row expanding action */
    cancel?: boolean;
    /** Defines the expand or collapse request for the parent record. */
    requestType?: string;
    /** Defines the resolve function for the promise. */
    childDataBind?: Function;
}
export interface RowDragEventArgs extends grids.RowDragEventArgs {
    dropPosition: string;
}
export interface ActionEventArgs extends grids.ActionEventArgs {
    /** Maintains Treegrid's Collapse state in virtualization */
    isCollapseMaintain?: boolean;
}
//node_modules/@syncfusion/ej2-treegrid/src/treegrid/base/data.d.ts
/**
 * Internal dataoperations for tree grid
 *
 * @hidden
 */
export  class DataManipulation {
    private taskIds;
    private parentItems;
    private zerothLevelData;
    private storedIndex;
    private batchChanges;
    private addedRecords;
    private parent;
    private dataResults;
    private sortedData;
    private hierarchyData;
    private isSelfReference;
    private isSortAction;
    private infiniteScrollData;
    constructor(grid: TreeGrid);
    /**
     * @hidden
     * @returns {void}
     */
    addEventListener(): void;
    /**
     * @hidden
     * @returns {void}
     */
    removeEventListener(): void;
    /**
     * To destroy the dataModule
     *
     * @returns {void}
     * @hidden
     */
    destroy(): void;
    /**
     * @hidden
     * @returns {boolean} -Returns whether remote data binding
     */
    isRemote(): boolean;
    /**
     * Function to manipulate datasource
     *
     * @param {Object} data - Provide tree grid datasource to convert to flat data
     * @hidden
     * @returns {void}
     */
    convertToFlatData(data: Object): void;
    private convertJSONData;
    private selfReferenceUpdate;
    /**
     * Function to update the zeroth level parent records in remote binding
     *
     * @param {grids.BeforeDataBoundArgs} args - contains data before its bounds to tree grid
     * @hidden
     * @returns {void}
     */
    private updateParentRemoteData;
    /**
     * Function to manipulate datasource
     *
     * @param {{record: ITreeData, rows: HTMLTableRowElement[], parentRow: HTMLTableRowElement}} rowDetails - Row details for which child rows has to be fetched
     * @param {ITreeData} rowDetails.record - current expanding record
     * @param {HTMLTableRowElement[]} rowDetails.rows - Expanding Row element
     * @param {HTMLTableRowElement} rowDetails.parentRow  - Curent expanding row element
     * @param {boolean} isChild - Specified whether current record is already a child record
     * @hidden
     * @returns {void}
     */
    private collectExpandingRecs;
    private fetchRemoteChildData;
    private remoteVirtualAction;
    private beginSorting;
    private createRecords;
    /**
     * Function to perform filtering/sorting action for local data
     *
     * @param {grids.BeforeDataBoundArgs} args - data details to be processed before binding to grid
     * @hidden
     * @returns {void}
     */
    dataProcessor(args?: grids.BeforeDataBoundArgs): void;
    private paging;
    private updateData;
    private updateAction;
}
//node_modules/@syncfusion/ej2-treegrid/src/treegrid/base/constant.d.ts
/**
 *  @hidden
 */
export  const load: string;
/** @hidden */
export  const rowDataBound: string;
/** @hidden */
export  const dataBound: string;
/** @hidden */
export  const queryCellInfo: string;
/** @hidden */
export  const beforeDataBound: string;
/** @hidden */
export  const actionBegin: string;
/** @hidden */
export  const dataStateChange: string;
/** @hidden */
export  const actionComplete: string;
/** @hidden */
export  const rowSelecting: string;
/** @hidden */
export  const rowSelected: string;
/** @hidden */
export  const checkboxChange: string;
/** @hidden */
export  const rowDeselected: string;
/** @hidden */
export  const toolbarClick: string;
/** @hidden */
export  const beforeExcelExport: string;
/** @hidden */
export  const beforePdfExport: string;
/** @hidden */
export  const resizeStop: string;
/** @hidden */
export  const expanded: string;
/** @hidden */
export  const expanding: string;
/** @hidden */
export  const collapsed: string;
/** @hidden */
export  const collapsing: string;
/** @hidden */
export  const remoteExpand: string;
/** @hidden */
export  const localPagedExpandCollapse: string;
/** @hidden */
export  const pagingActions: string;
/** @hidden */
export  const printGridInit: string;
/** @hidden */
export  const contextMenuOpen: string;
/** @hidden */
export  const contextMenuClick: string;
/** @hidden */
export  const beforeCopy: string;
/** @hidden */
export  const beforePaste: string;
/** @hidden */
export  const savePreviousRowPosition: string;
/** @hidden */
export  const crudAction: string;
/** @hidden */
export  const beginEdit: string;
/** @hidden */
export  const beginAdd: string;
/** @hidden */
export  const recordDoubleClick: string;
/** @hidden */
export  const cellSave: string;
/** @hidden */
export  const cellSaved: string;
/** @hidden */
export  const cellEdit: string;
/** @hidden */
export  const batchDelete: string;
/** @hidden */
export  const batchCancel: string;
/** @hidden */
export  const batchAdd: string;
/** @hidden */
export  const beforeBatchDelete: string;
/** @hidden */
export  const beforeBatchAdd: string;
/** @hidden */
export  const beforeBatchSave: string;
/** @hidden */
export  const batchSave: string;
/** @hidden */
export  const keyPressed: string;
/** @hidden */
export  const updateData: string;
/** @hidden */
export  const doubleTap: string;
/** @hidden */
export  const virtualColumnIndex: string;
/** @hidden */
export  const virtualActionArgs: string;
/** @hidden */
export  const destroy: string;
/** @hidden */
export  const dataListener: string;
/** @hidden */
export  const indexModifier: string;
/** @hidden */
export  const beforeStartEdit: string;
/** @hidden */
export  const beforeBatchCancel: string;
/** @hidden */
export  const batchEditFormRendered: string;
/** @hidden */
export  const detailDataBound: string;
/** @hidden */
export  const rowDrag: string;
/** @hidden */
export  const rowDragStartHelper: string;
/** @hidden */
export  const rowDrop: string;
/** @hidden */
export  const rowDragStart: string;
/** @hidden */
export  const rowsAdd: string;
/** @hidden */
export  const rowsRemove: string;
/** @hidden */
export  const rowdraging: string;
/** @hidden */
export  const rowDropped: string;
/** @hidden */
export  const autoCol: string;
/** @hidden */
export  const rowDeselecting: string;
/** @hidden */
export  const headerContent: string;
/** @hidden */
export  const movableContent: string;
/** @hidden */
export  const movableHeader: string;
/** @hidden */
export  const frozenContent: string;
/** @hidden */
export  const frozenHeader: string;
/** @hidden */
export  const content: string;
/** @hidden */
export  const table: string;
/** @hidden */
export  const leftRight: string;
/** @hidden */
export  const frozenRight: string;
/** @hidden */
export  const frozenLeft: string;
/** @hidden */
export  const ariaColIndex: string;
/** @hidden */
export  const ariaRowIndex: string;
/** @hidden */
export  const actionFailure: string;
//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;
    setEndIndexToGantt: boolean;
    ganttEndIndex: number;
    private prevendIndex;
    private visualData;
    private prevrequestType;
    prevSelectedRecord: object;
    /**
     * Constructor for VirtualScroll module
     *
     * @param {TreeGrid} parent - Tree Grid instance
     */
    constructor(parent?: TreeGrid);
    /**
     * For internal use only - Get the module name.
     *
     * @private
     * @returns {string} - Returns VirtualScroll module name
     */
    protected getModuleName(): string;
    /**
     * @hidden
     * @returns {void}
     */
    addEventListener(): void;
    /**
     * @hidden
     * @returns {void}
     */
    removeEventListener(): void;
    /**
     * Handles the virtual child collapse or expand action in a tree grid.
     *
     * @param {object} row - Object containing information about the collapse/expand action.
     * @param {string} row.action - The type of action, either "collapse" or "expand".
     * @param {HTMLTableRowElement} row.row - The HTML row element that is affected by the action.
     * @param {ITreeData} row.record - The tree data record associated with the row.
     * @param {RowCollapsedEventArgs} row.args - Additional event arguments related to the row collapse or expand.
     *
     * @returns {void} No return value as the function executes a procedure.
     */
    private collapseExpandVirtualchilds;
    /**
     * Handles selection logic for the TreeGrid component.
     *
     * @returns {void}
     */
    private handleSelection;
    /**
     * Handles the action related to virtual scrolling with paging details.
     *
     * @param {Object} pageingDetails - Contains the result data, count of results, and action arguments.
     * @param {ITreeData[]} pageingDetails.result - The result data to be handled.
     * @param {number} pageingDetails.count - The count of results.
     * @param {ActionEventArgs} pageingDetails.actionArgs - The action arguments related to the virtual page action.
     * @returns {void}
     */
    private virtualPageAction;
    /**
     * To destroy the virtualScroll module
     *
     * @returns {void}
     * @hidden
     */
    destroy(): void;
    /**
     * Updates the row selection when the header checkbox is clicked and the number of selected rows
     * does not match the current view data length.
     *
     * @param {RowDeselectEventArgs} args - The arguments containing details of the row deselection event.
     * @returns {void} - This method does not return a value.
     */
    private updateSelection;
}
export  class TreeVirtual extends grids.VirtualScroll {
    constructor(parent: grids.IGrid, locator?: grids.ServiceLocator);
    getModuleName(): string;
    protected instantiateRenderers(): void;
    ensurePageSize(): void;
}
//node_modules/@syncfusion/ej2-treegrid/src/treegrid/actions/toolbar.d.ts
/**
 * Toolbar Module for TreeGrid
 *
 * @hidden
 */
export  class Toolbar {
    private parent;
    constructor(parent: TreeGrid);
    /**
     * For internal use only - Get the module name.
     *
     * @private
     * @returns {string} - Returns Toolbar module name
     */
    private getModuleName;
    /**
     * @hidden
     * @returns {void}
     */
    addEventListener(): void;
    /**
     * @hidden
     * @returns {void}
     */
    removeEventListener(): void;
    private refreshToolbar;
    private toolbarClickHandler;
    /**
     * Gets the toolbar of the TreeGrid.
     *
     * @returns {Element} - Returns Toolbar element
     * @hidden
     */
    getToolbar(): Element;
    /**
     * Enables or disables ToolBar items.
     *
     * @param {string[]} items - Defines the collection of itemID of ToolBar items.
     * @param {boolean} isEnable - Defines the items to be enabled or disabled.
     * @returns {void}
     * @hidden
     */
    enableItems(items: string[], isEnable: boolean): void;
    /**
     * Destroys the ToolBar.
     *
     * @method destroy
     * @returns {void}
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-treegrid/src/treegrid/actions/summary.d.ts
/**
 * TreeGrid Aggregate module
 *
 * @hidden
 */
export  class Aggregate {
    private parent;
    private flatChildRecords;
    private summaryQuery;
    /**
     * Constructor for Aggregate module
     *
     * @param {TreeGrid} parent - Tree Grid instance
     */
    constructor(parent?: TreeGrid);
    /**
     * For internal use only - Get the module name.
     *
     * @private
     * @returns {string} Returns Summary module name
     */
    private getModuleName;
    removeEventListener(): void;
    /**
     * Function to calculate summary values
     *
     * @param {data.QueryOptions[]} summaryQuery - DataManager query for aggregate operations
     * @param {Object[]} filteredData - Filtered data collection
     * @param {boolean} isSort - Specified whether sorting operation performed
     * @hidden
     * @returns {Object[]} -  return flat records with summary values
     */
    calculateSummaryValue(summaryQuery: data.QueryOptions[], filteredData: Object[], isSort: boolean): Object[];
    private getChildRecordsLength;
    private createSummaryItem;
    private getSummaryValues;
    private getFormatFromType;
    /**
     * To destroy the Aggregate module
     *
     * @returns {void}
     * @hidden
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-treegrid/src/treegrid/actions/sort.d.ts
/**
 * Internal dataoperations for TreeGrid
 *
 * @hidden
 */
export  class Sort {
    private flatSortedData;
    private taskIds;
    private storedIndex;
    private parent;
    private isSelfReference;
    constructor(grid: TreeGrid);
    /**
     * For internal use only - Get the module name.
     *
     * @private
     * @returns {string} Returns Sort module name
     */
    private getModuleName;
    /**
     * @hidden
     */
    addEventListener(): void;
    /**
     * @hidden
     * @returns {void}
     */
    removeEventListener(): void;
    private createdSortedRecords;
    private iterateSort;
    /**
     * Sorts a column with the given options.
     *
     * @param {string} columnName - Defines the column name to be sorted.
     * @param {grids.SortDirection} direction - Defines the direction of sorting field.
     * @param {boolean} isMultiSort - Specifies whether the previous sorted columns are to be maintained.
     * @returns {void}
     */
    sortColumn(columnName: string, direction: grids.SortDirection, isMultiSort?: boolean): void;
    removeSortColumn(field: string): void;
    /**
     * The function used to update sortSettings of TreeGrid.
     *
     * @returns {void}
     * @hidden
     */
    private updateModel;
    /**
     * Clears all the sorted columns of the TreeGrid.
     *
     * @returns {void}
     */
    clearSorting(): void;
    /**
     * Destroys the Sorting of TreeGrid.
     *
     * @function destroy
     * @returns {void}
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-treegrid/src/treegrid/actions/selection.d.ts
/**
 * TreeGrid Selection module
 *
 * @hidden
 */
export  class Selection {
    private parent;
    private columnIndex;
    private selectedItems;
    private selectedIndexes;
    private filteredList;
    private searchingRecords;
    /**
     * Constructor for Selection module
     *
     * @param {TreeGrid} parent - Tree Grid instance
     */
    constructor(parent: TreeGrid);
    /**
     * For internal use only - Get the module name.
     *
     * @private
     * @returns {string} Returns Selection module name
     */
    private getModuleName;
    addEventListener(): void;
    removeEventListener(): void;
    /**
     * To destroy the Selection
     *
     * @returns {void}
     * @hidden
     */
    destroy(): void;
    private checkboxSelection;
    private triggerChkChangeEvent;
    private getCheckboxcolumnIndex;
    private headerCheckbox;
    private renderColumnCheckbox;
    private columnCheckbox;
    selectCheckboxes(rowIndexes: number[]): void;
    private traverSelection;
    private getFilteredChildRecords;
    private updateParentSelection;
    private headerSelection;
    private updateSelectedItems;
    private updateGridActions;
    getCheckedrecords(): Object[];
    getCheckedRowIndexes(): number[];
}
//node_modules/@syncfusion/ej2-treegrid/src/treegrid/actions/rowdragdrop.d.ts
/**
 * TreeGrid RowDragAndDrop module
 *
 * @hidden
 */
export  class RowDD {
    private parent;
    /** @hidden
     * Represents the position where a row can be dropped within the TreeGrid.
     */
    private dropPosition;
    /** @hidden
     * Represents the record that is currently being dragged in the TreeGrid.
     */
    private draggedRecord;
    /** @hidden
     * Represents the record that the currently dragged item is being dropped onto in the TreeGrid.
     */
    private droppedRecord;
    /** @hidden
     * Stores the data representation of the TreeGrid, including hierarchical structures.
     */
    treeGridData: ITreeData[];
    /** @hidden
     * Represents the underlying hierarchical data of the TreeGrid.
     */
    private treeData;
    /** @hidden
     * Indicates whether a row can be dropped into the current target position during a drag-and-drop operation.
     */
    private canDrop;
    /** @hidden
     * Indicates whether the current drag operation includes child records of the dragged item.
     */
    private isDraggedWithChild;
    /** @hidden
     *
     */
    isMultipleGrid: string;
    /** @hidden
     * Indicates whether multiple TreeGrid instances are being managed or displayed.
     */
    private modifiedRecords;
    /** @hidden
     * Represents the currently selected item in the TreeGrid.
     */
    private selectedItem;
    /** @hidden
     * Represents the currently selected item in the TreeGrid.
     */
    private selectedRecords;
    /** @hidden
     * Holds an array of currently selected records in the TreeGrid.
     */
    private selectedRows;
    /** @hidden
     * Indicates whether there is a droppable item in the TreeGrid.
     */
    private hasDropItem;
    /** @hidden
     * Indicates whether the item is being added to the bottom of the TreeGrid.
     */
    isaddtoBottom: boolean;
    private selectedRecord;
    private selectedRow;
    /**
     * Constructor for render module
     *
     * @param {TreeGrid} parent - Tree Grid instance
     */
    constructor(parent?: TreeGrid);
    /**
     * Retrieves child records for a specified parent ID in the TreeGrid.
     *
     * @param {string} id - The unique ID of the parent record for which to retrieve child records.
     * @returns {ITreeData[]} An array of child records corresponding to the specified parent ID.
     */
    private getChildrecordsByParentID;
    /**
     * @hidden
     * @returns {void}
     */
    private addEventListener;
    /**
     * Reorder the rows based on given indexes and position
     *
     * @returns {void}
     * @param {number[]} fromIndexes - source indexes of rows to be re-ordered
     * @param {number} toIndex - Destination row index
     * @param {string} position - Drop position as above or below or child
     */
    reorderRows(fromIndexes: number[], toIndex: number, position: string): void;
    /**
     * Updates the rows and cells
     *
     * @param {Object[]} records - Updates the given records
     * @param {HTMLTableRowElement[]} rows - Updates the given rows
     * @param {number} index -  Updates the given cell index
     * @returns {void}
     */
    private updateRowAndCellElements;
    /**
     * Performs indent or outdent actions on selected records in the TreeGrid.
     *
     * @param {ITreeData} [record] - The record to be indented or outdented. If undefined, the method operates on the currently selected record.
     * @param {string} [request] - The action to perform, either 'indent' or 'outdent'.
     * @returns {void}
     */
    private indentOutdentAction;
    /**
     * Triggers a specified event for the TreeGrid, notifying subscribers about the event occurrence.
     *
     * @param {string} action - The action to be triggered, either 'indenting' or 'outdenting'.
     * @param {number} dropIndex - The index at which the row should be dropped.
     * @returns {void}
     */
    private eventTrigger;
    /**
     * Reorders the flat data array of the TreeGrid and updates the index of each record.
     *
     * @param {ITreeData[]} currentData - The array of tree data records to reorder.
     * @returns {ITreeData[]} The updated array of tree data records with indices set.
     */
    private orderToIndex;
    /**
     * Handles the addition of new rows to the TreeGrid.
     *
     * @param {Object} e - The event object containing information about the rows being added.
     * @param {number} e.toIndex - The index at which the new rows should be added in the TreeGrid.
     * @param {Object[]} e.records - An array of the records to be added to the TreeGrid.
     *
     * @returns {void} This function does not return any value.
     */
    private rowsAdded;
    /**
     * Handles the removal of specified rows from the TreeGrid.
     *
     * @param {Object} e - The event object containing information about the removed rows.
     * @param {number[]} e.indexes - An array of indexes of the rows that were removed.
     * @param {Object[]} e.records - An array of the records corresponding to the removed rows.
     *
     * @returns {void} This function does not return any value.
     */
    private rowsRemoved;
    /**
     * Refreshes the data source of the TreeGrid.
     *
     * @returns {void} This function does not return any value.
     */
    private refreshGridDataSource;
    /**
     * Removes the border from the first row of the TreeGrid.
     *
     * @param {HTMLTableRowElement} element - The table row element from which to remove the border.
     * @returns {void} This function does not return any value.
     */
    private removeFirstrowBorder;
    /**
     * Removes the border from the last row of the TreeGrid.
     *
     * @param {HTMLTableRowElement} element - The row element from which to remove the last row border.
     * @returns {void}
     */
    private removeLastrowBorder;
    /**
     * Updates the icons associated with the specified rows in the TreeGrid.
     *
     * @param {Element[]} row - The array of row elements to update the icons for.
     * @param {number} index - The index of the row being updated.
     * @param {RowDragEventArgs} args - The event arguments associated with the row drag operation.
     * @returns {string} The drop position ('topSegment', 'middleSegment', 'bottomSegment', or 'Invalid').
     */
    private updateIcon;
    /**
     * Updates the border status for a specified row and index.
     *
     * @private
     * @param {Element[]} row - The array of row elements to be updated.
     * @param {number} index - The index of the row element for which the border status is to be updated.
     * @returns {boolean} - Returns true if the border status was successfully updated, otherwise false.
     */
    private updateBorderStatus;
    /**
     * Removes the visual border from all child rows within the TreeGrid.
     *
     * @returns {void} No return value.
     */
    private removeChildBorder;
    /**
     * Adds a visual border to the first row of the TreeGrid.
     *
     * @param {HTMLTableRowElement} targetRow - The target row element to which the border will be added, if it is the first row.
     * @returns {void} No return value.
     */
    private addFirstrowBorder;
    /**
     * Adds a visual border to the last row of the TreeGrid.
     *
     * @param {HTMLTableRowElement} trElement - The table row element to which the border will be added, if it is the last row.
     * @returns {void} No return value.
     */
    private addLastRowborder;
    /**
     * Retrieves the total scroll width of the TreeGrid content area.
     *
     * @returns {number} The width of the scrollbar if content overflows, otherwise 0.
     */
    private getScrollWidth;
    /**
     * Adds an error element to the dragged row element during a row drag-and-drop operation.
     *
     * @returns {void} No return value.
     */
    private addErrorElem;
    /**
     * Removes the error element from the DOM and adjusts the position of the drop item count if necessary.
     *
     * @returns {void} No return value.
     */
    private removeErrorElem;
    /**
     * Applies drop border styles to row elements based on the current drop position ('topSegment' or 'bottomSegment').
     *
     * @param {Element} target - The target element where the drop action is taking place.
     * @param {boolean} [isBorderNeed=true] - Indicates whether a border is needed during the drop action. Defaults to `true`.
     * @returns {void} No return value.
     */
    private topOrBottomBorder;
    /**
     * Removes the drop border classes ('e-dropbottom' and 'e-droptop') from the parent element if present.
     *
     * @returns {void} No return value.
     */
    private removetopOrBottomBorder;
    /**
     * Adds or removes a specified class from a list of HTML elements.
     *
     * @param {Element[]} cells - The list of HTML elements to which the class will be added or removed.
     * @param {boolean} add - A flag indicating whether to add (`true`) or remove (`false`) the class.
     * @param {string} className - The class name to be added or removed from each element in `cells`.
     * @returns {void} No return value.
     */
    private addRemoveClasses;
    /**
     * Calculates the offset position of the specified HTML element relative to the document.
     *
     * @param {Element} element - The HTML element for which the offset position is calculated.
     * @returns {PositionOffSet} The offset position containing `top` and `left` values.
     */
    private getOffset;
    /**
     * Handles the dragging of rows in the TreeGrid.
     *
     * @param {RowDragEventArgs} args - The event arguments for the row drag action.
     * @returns {void} This function does not return a value.
     */
    private Rowdraging;
    /**
     * Handles the row drop event for the TreeGrid.
     *
     * @param {RowDropEventArgs} args - The event arguments for the row drop action.
     * @returns {void} This function does not return a value.
     */
    private rowDropped;
    /**
     * Removes the border elements for the first and last rows of the TreeGrid.
     *
     * @returns {void} This function does not return a value.
     */
    private removeRowBorders;
    /**
     * Handles the drag-and-drop operation between TreeGrids, updating the source and target grids.
     *
     * @param {RowDropEventArgs} args - The arguments related to the row drop event, including target information and data being dropped.
     * @returns {void} - This function does not return any value.
     */
    private dragDropGrid;
    /**
     * Retrieves the index of the target row based on its 'aria-rowindex' attribute.
     *
     * @param {Element} targetRow - The target row element from which to retrieve the index.
     * @returns {number} - The index of the target row, or 0 if the targetRow is null or undefined.
     */
    private getTargetIdx;
    /**
     * Retrieves the parent data of a given record during a row drag-and-drop operation.
     *
     * @param {ITreeData} record - The record for which to retrieve the parent data.
     * @param {Object[]} [data] - Optional data array containing additional information related to the drop operation.
     * @returns {void} - This function does not return any value.
     */
    private getParentData;
    /**
     * Handles the row drop operation for the tree grid.
     *
     * @param {RowDropEventArgs} args - The event arguments containing details about the drop operation, including the target index and data.
     * @param {boolean} [isByMethod=false] - Optional flag indicating if the drop operation is triggered by a method.
     * @returns {void} - This function does not return any value.
     */
    private dropRows;
    /**
     * Handles the logic for inserting a dragged record into the middle of a parent record's child records.
     *
     * @param {number} recordIndex - The index at which to insert the dragged record relative to the parent record's child records.
     * @returns {void} - This function does not return any value.
     */
    private dropMiddle;
    /**
     * Handles the logic for inserting a dragged record at the top of a parent record's child records.
     *
     * @param {number} recordIndex1 - The index at which to insert the dragged record in the tree grid data.
     * @returns {void} - This function does not return any value.
     */
    private dropAtTop;
    /**
     * Updates the level and hierarchy of the dragged record based on the drop position.
     *
     * @returns {void} - This function does not return any value.
     */
    private recordLevel;
    /**
     * Deletes the currently dragged row from the TreeGrid.
     *
     * @returns {void} - This function does not return any value.
     */
    private deleteDragRow;
    /**
     * Updates the child records of a specified parent record in the TreeGrid.
     *
     * @param {ITreeData} record - The parent record whose child records will be updated.
     * @param {number} count - The initial count to keep track of record positioning.
     * @returns {number} - The updated count after processing all child records.
     */
    private updateChildRecord;
    /**
     * Updates the level of child records for a specified parent record in the TreeGrid.
     *
     * @param {ITreeData} record - The parent record whose child records' levels will be updated.
     * @param {number} level - The current level of the parent record.
     * @returns {number} - The updated level after processing all child records.
     */
    private updateChildRecordLevel;
    /**
     * Removes specified records from the TreeGrid data source.
     *
     * @param {ITreeData} record - The record to be removed, including any child records if applicable.
     * @returns {void} - This method does not return a value.
     */
    private removeRecords;
    /**
     * Updates the records in the TreeGrid data source that have been modified.
     *
     * @param {ITreeData} record - The record to update, along with its parent records if applicable.
     * @returns {void} - This method does not return a value.
     */
    private updateModifiedRecords;
    /**
     * Recursively removes child records from the specified record and updates the data source.
     *
     * @param {ITreeData} record - The parent record whose child records are to be removed.
     * @returns {void} - This method does not return a value.
     */
    private removeChildItem;
    /**
     * Retrieves the count of child records associated with the specified parent record.
     *
     * @param {ITreeData} record - The parent record for which child count is to be calculated.
     * @param {number} count - The initial count to start with, usually passed as 0.
     * @returns {number} - The total count of child records.
     */
    private getChildCount;
    /**
     * Ensures the validity of the drop position for the dragged records by verifying the hierarchy and position constraints.
     * If the current record is found in the dragged records' children, sets the drop position to 'Invalid'.
     *
     * @param {ITreeData[]} draggedRecords - The array of dragged records being verified.
     * @param {ITreeData} currentRecord - The current record to check against dragged records.
     * @returns {void} - This function does not return a value.
     */
    private ensuredropPosition;
    private isDuplicateData;
    /**
     * Cleans up resources, event listeners, and DOM elements when the TreeGrid component is destroyed.
     *
     * @returns {void}
     */
    destroy(): void;
    /**
     * @hidden
     * @returns {void}
     */
    removeEventListener(): void;
    /**
     * hidden
     */
    /**
     * For internal use only - Get the module name.
     *
     * @private
     * @returns {string} Returns RowDragAndDrop module name
     */
    private getModuleName;
}
//node_modules/@syncfusion/ej2-treegrid/src/treegrid/actions/resize.d.ts
/**
 * TreeGrid Resize module
 *
 * @hidden
 */
export  class Resize {
    private parent;
    /**
     * Constructor for Resize module
     *
     * @param {TreeGrid} parent - Tree Grid instance
     */
    constructor(parent?: TreeGrid);
    /**
     * Resize by field names.
     *
     * @param  {string|string[]} fName - Defines the field name.
     * @returns {void}
     */
    autoFitColumns(fName?: string | string[]): void;
    /**
     * For internal use only - Get the module name.
     *
     * @private
     * @returns {string} Returns Resize module name
     */
    private getModuleName;
    /**
     * Destroys the Resize.
     *
     * @function destroy
     * @returns {void}
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-treegrid/src/treegrid/actions/reorder.d.ts
/**
 * TreeGrid Reorder module
 *
 * @hidden
 */
export  class Reorder {
    private parent;
    /**
     * Constructor for Reorder module
     *
     * @param {TreeGrid} parent - Tree Grid instance
     */
    constructor(parent?: TreeGrid);
    /**
     * For internal use only - Get the module name.
     *
     * @private
     * @returns {string} Returns Reorder module name
     */
    private getModuleName;
    /**
     * @hidden
     * @returns {void}
     */
    addEventListener(): void;
    removeEventListener(): void;
    /**
     * To destroy the Reorder
     *
     * @returns {void}
     * @hidden
     */
    destroy(): void;
    private updateTreeColumn;
}
//node_modules/@syncfusion/ej2-treegrid/src/treegrid/actions/print.d.ts
/**
 * TreeGrid Print module
 *
 * @hidden
 */
export  class Print {
    private parent;
    /**
     * Constructor for Print module
     *
     * @param {TreeGrid} parent - Tree Grid instance
     */
    constructor(parent?: TreeGrid);
    /**
     * For internal use only - Get the module name.
     *
     * @private
     * @returns {string} Returns Print module name
     */
    private getModuleName;
    /**
     * @hidden
     * @returns {void}
     */
    addEventListener(): void;
    removeEventListener(): void;
    private printTreeGrid;
    print(): void;
    /**
     * To destroy the Print
     *
     * @returns {void}
     * @hidden
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-treegrid/src/treegrid/actions/pdf-export.d.ts
/**
 * TreeGrid PDF Export module
 *
 * @hidden
 */
export  class PdfExport {
    private parent;
    private dataResults;
    /**
     * Constructor for PDF export module
     *
     * @param {TreeGrid} parent - Tree Grid instance
     */
    constructor(parent?: TreeGrid);
    /**
     * For internal use only - Get the module name.
     *
     * @private
     * @returns {string} PdfExport module name
     */
    protected getModuleName(): string;
    /**
     * @hidden
     * @returns {void}
     */
    addEventListener(): void;
    /**
     * @hidden
     * @returns {void}
     */
    removeEventListener(): void;
    /**
     * To destroy the PDF Export
     *
     * @returns {void}
     * @hidden
     */
    destroy(): void;
    private updatePdfResultModel;
    Map(pdfExportProperties?: grids.PdfExportProperties, isMultipleExport?: boolean, pdfDoc?: Object, isBlob?: boolean): Promise<Object>;
    protected generateQuery(query: data.Query, prop?: grids.PdfExportProperties): data.Query;
    protected manipulatePdfProperties(prop?: grids.PdfExportProperties, dtSrc?: Object, queryResult?: base.Fetch): Object;
    /**
     * TreeGrid PDF Export cell modifier
     *
     * @param {PdfQueryCellInfoEventArgs} args - Current cell details
     * @hidden
     * @returns {void}
     */
    private pdfQueryCellInfo;
}
//node_modules/@syncfusion/ej2-treegrid/src/treegrid/actions/page.d.ts
/**
 * The `Page` module is used to render pager and handle paging action.
 *
 * @hidden
 */
export  class Page {
    private parent;
    constructor(parent: TreeGrid);
    /**
     * @hidden
     * @returns {void}
     */
    addEventListener(): void;
    /**
     * @hidden
     * @returns {void}
     */
    removeEventListener(): void;
    /**
     * For internal use only - Get the module name.
     *
     * @private
     * @returns {string} Returns Pager module name
     */
    protected getModuleName(): string;
    /**
     * Refreshes the page count, pager information, and external message.
     *
     * @returns {void}
     */
    refresh(): void;
    /**
     * To destroy the pager
     *
     * @returns {void}
     * @hidden
     */
    destroy(): void;
    /**
     * Navigates to the target page according to the given number.
     *
     * @param  {number} pageNo - Defines the page number to navigate.
     * @returns {void}
     */
    goToPage(pageNo: number): void;
    /**
     * Defines the text of the external message.
     *
     * @param  {string} message - Defines the message to update.
     * @returns {void}
     */
    updateExternalMessage(message: string): void;
    /**
     * @param {{action: string, row: HTMLTableRowElement, record: ITreeData, args: RowCollapsedEventArgs}} rowDetails - Expand Collapse details arguments
     * @param {string} rowDetails.action - Expand Collapse action type
     * @param {HTMLTableRowElement} rowDetails.row - Row element
     * @param {ITreeData} rowDetails.record - Row object data
     * @param {RowCollapsedEventArgs} rowDetails.args - Expand Collapse event arguments
     * @hidden
     * @returns {void}
     */
    private collapseExpandPagedchilds;
    private pageRoot;
    private updatePageSize;
    private pageAction;
}
//node_modules/@syncfusion/ej2-treegrid/src/treegrid/actions/logger.d.ts
export interface TreeItemDetails {
    type: string;
    logType: string;
    message?: string;
    check: (args: Object, parent: TreeGrid) => grids.CheckOptions;
    generateMessage: (args: Object, parent: TreeGrid, checkOptions?: Object) => string;
}
export  class Logger extends grids.Logger {
    private treeGridObj;
    constructor(parent: grids.IGrid);
    /**
     * For internal use only - Get the module name.
     *
     * @private
     * @returns {string} - Returns Logger module name
     */
    getModuleName(): string;
    log(types: string | string[], args: Object): void;
    treeLog(types: string | string[], args: Object, treeGrid: TreeGrid): void;
}
export  const treeGridDetails: {
    [key: string]: TreeItemDetails;
};
//node_modules/@syncfusion/ej2-treegrid/src/treegrid/actions/infinite-scroll.d.ts
/**
 * TreeGrid Infinite Scroll module will handle Infinite Scrolling.
 *
 * @hidden
 */
export  class InfiniteScroll {
    private parent;
    private visualData;
    /**
     * Constructor for VirtualScroll module
     *
     * @param {TreeGrid} parent - Tree Grid instance
     */
    constructor(parent?: TreeGrid);
    /**
     * For internal use only - Get the module name.
     *
     * @private
     * @returns {string} - Returns Logger module name
     */
    protected getModuleName(): string;
    /**
     * @hidden
     * @returns {void}
     */
    addEventListener(): void;
    /**
     * @hidden
     * @returns {void}
     */
    removeEventListener(): void;
    /**
     * Handles the Expand Collapse action for Remote data with infinite scrolling.
     *
     * @param {{ index: number, childData: ITreeData[] }} args - expanded row index and its child data
     * @param { number } args.index - expanded row index
     * @param { ITreeData[] } args.childData - child data of expanded row
     * @returns {void}
     */
    private infiniteRemoteExpand;
    /**
     * Resetted the row index for expand collapse action for cache support.
     *
     * @returns {void}
     */
    private contentready;
    /**
     * Handles the page query for Data operations and CRUD actions.
     *
     * @param {{ result: ITreeData[], count: number, actionArgs: object }} pageingDetails - data, its count and action details
     * @param {ITreeData[]} pageingDetails.result - data on scroll action
     * @param {number} pageingDetails.count - data count on scroll action
     * @param {Object} pageingDetails.actionArgs - scroll action details
     * @returns {void}
     */
    private infinitePageAction;
    /**
     * Handles the currentviewdata for delete operation.
     *
     * @param {{ e: InfiniteScrollArgs, result: Object[] }} args - Scroller and data details
     * @param {InfiniteScrollArgs} args.e -  scroller details while CRUD
     * @param {Object[]} args.result - data details while CRUD
     * @returns {void}
     */
    private infiniteEditHandler;
    /**
     * Handles the row objects for delete operation.
     *
     * @param {ActionEventArgs} args - crud action details
     * @returns {void}
     */
    private infiniteDeleteHandler;
    /**
     * Handles the row objects for delete operation.
     *
     * @param {Element[]} rowElms - row elements
     * @param {Row<Column>[]} rows - Row object collection
     * @param {Object[]} data - data collection
     * @param {string} keyField - primary key name
     * @param { boolean} isFrozen - Specifies whether frozen column enabled
     * @returns {void}
     */
    private removeRows;
    /**
     * Handles the row objects for Add operation.
     */
    private createRows;
    /**
     * To destroy the infiniteScroll module
     *
     * @returns {void}
     * @hidden
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-treegrid/src/treegrid/actions/freeze-column.d.ts
/**
 * TreeGrid Freeze module
 *
 * @hidden
 */
export  class Freeze {
    private parent;
    /**
     * Constructor for render module
     *
     * @param {TreeGrid} parent - Tree Grid instance
     */
    constructor(parent?: TreeGrid);
    addEventListener(): void;
    removeEventListener(): void;
    private rowExpandCollapse;
    private dblClickHandler;
    private dataBoundArg;
    destroy(): void;
    /**
     * For internal use only - Get the module name.
     *
     * @private
     * @returns {string} Returns Freeze module name
     */
    private getModuleName;
}
//node_modules/@syncfusion/ej2-treegrid/src/treegrid/actions/filter.d.ts
/**
 * TreeGrid Filter module will handle filtering action
 *
 * @hidden
 */
export  class Filter {
    private parent;
    filteredResult: Object[];
    private flatFilteredData;
    private filteredParentRecs;
    private isHierarchyFilter;
    /**
     * Constructor for Filter module
     *
     * @param {TreeGrid} parent - Tree Grid instance
     */
    constructor(parent?: TreeGrid);
    /**
     * For internal use only - Get the module name.
     *
     * @private
     * @returns {string} Returns Filter module name
     */
    protected getModuleName(): string;
    /**
     * To destroy the Filter module
     *
     * @returns {void}
     * @hidden
     */
    destroy(): void;
    /**
     * @hidden
     * @returns {void}
     */
    addEventListener(): void;
    /**
     * @hidden
     * @returns {void}
     */
    removeEventListener(): void;
    /**
     * Function to update filtered records
     *
     * @param {{data: Object} } dataDetails - Filtered data collection
     * @param {Object} dataDetails.data - Fliltered data collection
     * @hidden
     * @returns {void}
     */
    private updatedFilteredRecord;
    private updateParentFilteredRecord;
    private addParentRecord;
    private checkChildExsist;
    private updateFilterLevel;
    private clearFilterLevel;
}
//node_modules/@syncfusion/ej2-treegrid/src/treegrid/actions/excel-export.d.ts
/**
 * TreeGrid Excel Export module
 *
 * @hidden
 */
export  class ExcelExport {
    private parent;
    private dataResults;
    private isCollapsedStatePersist;
    /**
     * Constructor for Excel Export module
     *
     * @param {TreeGrid} parent - Tree Grid instance
     */
    constructor(parent?: TreeGrid);
    /**
     * For internal use only - Get the module name.
     *
     * @private
     * @returns {string} Returns ExcelExport module name
     */
    protected getModuleName(): string;
    /**
     * @hidden
     * @returns {void}
     */
    addEventListener(): void;
    /**
     * To destroy the Excel Export
     *
     * @returns {void}
     * @hidden
     */
    destroy(): void;
    /**
     * @hidden
     * @returns {void}
     */
    removeEventListener(): void;
    private updateExcelResultModel;
    Map(excelExportProperties?: grids.ExcelExportProperties, isMultipleExport?: boolean, workbook?: any, isBlob?: boolean, isCsv?: boolean): Promise<Object>;
    protected generateQuery(query: data.Query, property?: grids.ExcelExportProperties): data.Query;
    protected manipulateExportProperties(property?: grids.ExcelExportProperties, dtSrc?: Object, queryResult?: base.Fetch): Object;
    /**
     * TreeGrid Excel Export cell modifier
     *
     * @param {ExcelQueryCellInfoEventArgs} args - current cell details
     * @hidden
     * @returns {void}
     */
    private excelQueryCellInfo;
    private exportRowDataBound;
    private finalPageSetup;
    private isLocal;
}
//node_modules/@syncfusion/ej2-treegrid/src/treegrid/actions/edit.d.ts
/**
 * TreeGrid Edit Module
 * The `Edit` module is used to handle editing actions.
 */
export  class Edit {
    private parent;
    private isSelfReference;
    private addedRecords;
    private deletedRecords;
    private addRowIndex;
    private addRowRecord;
    private isOnBatch;
    private keyPress;
    private selectedIndex;
    private doubleClickTarget;
    private internalProperties;
    private previousNewRowPosition;
    private batchEditModule;
    private isTabLastRow;
    private prevAriaRowIndex;
    private isAddedRowByMethod;
    private isAddedRowByContextMenu;
    private editedRowIndex;
    private isScrollByFocus;
    /**
     * Constructor for Edit module
     *
     * @param {TreeGrid} parent - Tree Grid instance
     */
    constructor(parent: TreeGrid);
    /**
     * For internal use only - Get the module name.
     *
     * @private
     * @returns {string} Returns Edit module name
     */
    protected getModuleName(): string;
    /**
     * @hidden
     * @returns {void}
     */
    addEventListener(): void;
    private gridDblClick;
    private getRowPosition;
    private beforeStartEdit;
    private beforeBatchCancel;
    /**
     * @hidden
     * @returns {void}
     */
    removeEventListener(): void;
    /**
     * To destroy the editModule
     *
     * @returns {void}
     * @hidden
     */
    destroy(): void;
    /**
     * @param {grids.Column[]} cols - grids.Column property Collection
     * @hidden
     * @returns {void}
     */
    applyFormValidation(cols?: grids.Column[]): void;
    private editActionEvents;
    private infiniteAddAction;
    private updateInfiniteCurrentViewData;
    private recordDoubleClick;
    private updateGridEditMode;
    private resetIsOnBatch;
    private keyPressed;
    private deleteUniqueID;
    private cellEdit;
    private enableToolbarItems;
    private batchCancel;
    private customCellSave;
    private cellSave;
    private afterCellSave;
    private lastCellTab;
    private updateCell;
    private crudAction;
    private updateIndex;
    private beginAdd;
    private beginEdit;
    private savePreviousRowPosition;
    private beginAddEdit;
    /**
     * If the data,index and position given, Adds the record to treegrid rows otherwise it will create edit form.
     *
     * @returns {void}
     */
    addRecord(data?: Object, index?: number, position?: RowPosition): void;
    /**
     * Checks the status of validation at the time of editing. If validation is passed, it returns true.
     *
     * @returns {boolean} Returns form validation results
     */
    editFormValidate(): boolean;
    /**
     * @hidden
     * @returns {void}
     */
    destroyForm(): void;
    private contentready;
    /**
     * If the row index and field is given, edits the particular cell in a row.
     *
     * @returns {void}
     */
    editCell(rowIndex?: number, field?: string): void;
    /**
     * Cancels edited state.
     *
     * @returns {void}
     */
    private closeEdit;
}
//node_modules/@syncfusion/ej2-treegrid/src/treegrid/actions/detail-row.d.ts
/**
 * TreeGrid Detail Row module
 *
 * @hidden
 */
export  class DetailRow {
    private parent;
    constructor(parent: TreeGrid);
    /**
     * @hidden
     */
    /**
     * For internal use only - Get the module name.
     *
     * @private
     * @returns {string} Returns DetailRow module name
     */
    protected getModuleName(): string;
    addEventListener(): void;
    /**
     * @hidden
     * @returns {void}
     */
    removeEventListener(): void;
    private setIndentVisibility;
    private dataBoundArg;
    private childRowExpand;
    private rowExpandCollapse;
    private detaildataBound;
    private actioncomplete;
    /**
     * Destroys the DetailModule.
     *
     * @function destroy
     * @returns {void}
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-treegrid/src/treegrid/actions/crud-actions.d.ts
/**
 * crud-actions.ts file
 */
/**
 * Performs CRUD update to Tree Grid data source
 *
 * @param {{value: ITreeData, action: string }} details - Gets modified record value and CRUD action type
 * @param {TreeGrid} details.value - Gets modified record value
 * @param {string} details.action - CRUD action type
 * @param {TreeGrid} control - Tree Grid instance
 * @param {boolean} isSelfReference - Denotes whether Self Referential data binding
 * @param {number} addRowIndex - New add row index
 * @param {number} selectedIndex - Selected Row index
 * @param {string} columnName - Column field name
 * @param {ITreeData} addRowRecord - Newly added record
 * @returns {void}
 */
export  function editAction(details: {
    value: ITreeData;
    action: string;
}, control: TreeGrid, isSelfReference: boolean, addRowIndex: number, selectedIndex: number, columnName?: string, addRowRecord?: ITreeData): void;
/**
 * Performs Add action to Tree Grid data source
 *
 * @param {{value: ITreeData, action: string }} details - Gets modified record value and CRUD action type
 * @param {TreeGrid} details.value - Gets modified record value
 * @param {string} details.action - CRUD action type
 * @param {Object[]} treeData - Tree Grid data source
 * @param {TreeGrid} control - Tree Grid instance
 * @param {boolean} isSelfReference - Denotes whether Self Referential data binding
 * @param {number} addRowIndex - New add row index
 * @param {number} selectedIndex - Selected Row index
 * @param {ITreeData} addRowRecord - Newly added record
 * @returns {void}
 */
export  function addAction(details: {
    value: ITreeData;
    action: string;
}, treeData: Object[], control: TreeGrid, isSelfReference: boolean, addRowIndex: number, selectedIndex: number, addRowRecord: ITreeData): {
    value: Object;
    isSkip: boolean;
};
/**
 * @param {ITreeData[]} childRecords - Child Records collection
 * @param {Object} modifiedData - Modified data in crud action
 * @param {string} action - crud action type
 * @param {string} key - Primary key field name
 * @param {TreeGrid} control - Tree Grid instance
 * @param {boolean} isSelfReference - Specified whether Self Referential data binding
 * @param {ITreeData} originalData - Non updated data from data source, of edited data
 * @param {string} columnName - column field name
 * @returns {boolean} Returns whether child records exists
 */
export  function removeChildRecords(childRecords: ITreeData[], modifiedData: Object, action: string, key: string, control: TreeGrid, isSelfReference: boolean, originalData?: ITreeData, columnName?: string): boolean;
/**
 * @param {string} key - Primary key field name
 * @param {ITreeData} record - Parent Record which has to be updated
 * @param {string} action - CRUD action type
 * @param {TreeGrid} control - Tree Grid instance
 * @param {boolean} isSelfReference - Specified whether self referential data binding
 * @param {ITreeData} child - Specifies child record
 * @returns {void}
 */
export  function updateParentRow(key: string, record: ITreeData, action: string, control: TreeGrid, isSelfReference: boolean, child?: ITreeData): void;
//node_modules/@syncfusion/ej2-treegrid/src/treegrid/actions/context-menu.d.ts
/**
 * ContextMenu Module for TreeGrid
 *
 * @hidden
 */
export  class ContextMenu {
    private parent;
    constructor(parent: TreeGrid);
    /**
     * @hidden
     * @returns {void}
     */
    addEventListener(): void;
    /**
     * @hidden
     * @returns {void}
     */
    removeEventListener(): void;
    private contextMenuOpen;
    private contextMenuClick;
    /**
     * For internal use only - Get the module name.
     *
     * @private
     * @returns {string} Returns ContextMenu module name
     */
    protected getModuleName(): string;
    /**
     * Destroys the ContextMenu.
     *
     * @function destroy
     * @returns {void}
     */
    destroy(): void;
    /**
     * Gets the context menu element from the TreeGrid.
     *
     * @returns {Element} Return Context Menu root element.
     */
    getContextMenu(): Element;
}
//node_modules/@syncfusion/ej2-treegrid/src/treegrid/actions/command-column.d.ts
/**
 * Command Column Module for TreeGrid
 *
 * @hidden
 */
export  class CommandColumn {
    private parent;
    constructor(parent: TreeGrid);
    /**
     * For internal use only - Get the module name.
     *
     * @private
     * @returns {string} Returns CommandColumn module name
     */
    protected getModuleName(): string;
    /**
     * Destroys the ContextMenu.
     *
     * @function destroy
     * @returns {void}
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-treegrid/src/treegrid/actions/column-menu.d.ts
/**
 * TreeGrid ColumnMenu module
 *
 * @hidden
 */
export  class ColumnMenu {
    private parent;
    /**
     * Constructor for render module
     *
     * @param {TreeGrid} parent - Tree Grid instance
     */
    constructor(parent?: TreeGrid);
    getColumnMenu(): HTMLElement;
    destroy(): void;
    /**
     * For internal use only - Get the module name.
     *
     * @private
     * @returns {string} Returns ColumnMenu module name
     */
    private getModuleName;
}
//node_modules/@syncfusion/ej2-treegrid/src/treegrid/actions/column-chooser.d.ts
/**
 * TreeGrid ColumnChooser module
 *
 * @hidden
 */
export  class ColumnChooser {
    private parent;
    /**
     * Constructor for render module
     *
     * @param {TreeGrid} parent - Tree Grid instance.
     */
    constructor(parent?: TreeGrid);
    /**
     * Column chooser can be displayed on screen by given position(X and Y axis).
     *
     * @param  {number} X - Defines the X axis.
     * @param  {number} Y - Defines the Y axis.
     * @returns {void}
     */
    openColumnChooser(X?: number, Y?: number): void;
    /**
     * Destroys the openColumnChooser.
     *
     * @function destroy
     * @returns {void}
     */
    destroy(): void;
    /**
     * For internal use only - Get the module name.
     *
     * @private
     * @returns {string} Returns ColumnChooser module name
     */
    private getModuleName;
}
//node_modules/@syncfusion/ej2-treegrid/src/treegrid/actions/clipboard.d.ts
/**
 * clipboard.ts file
 */
/**
 * The `Clipboard` module is used to handle clipboard copy action.
 *
 * @hidden
 */
export  class TreeClipboard extends grids.Clipboard {
    private treeGridParent;
    private treeCopyContent;
    private copiedUniqueIdCollection;
    protected serviceLocator: grids.ServiceLocator;
    constructor(parent?: TreeGrid, serviceLocator?: grids.ServiceLocator);
    protected setCopyData(withHeader?: boolean): void;
    private parentContentData;
    copy(withHeader?: boolean): void;
    paste(data: string, rowIndex: number, colIndex: number): void;
    /**
     * For internal use only - Get the module name.
     *
     * @private
     * @returns {string} Returns clipboard module name
     */
    protected getModuleName(): string;
    /**
     * To destroy the clipboard
     *
     * @returns {void}
     * @hidden
     */
    destroy(): void;
    private childContentData;
}
//node_modules/@syncfusion/ej2-treegrid/src/treegrid/actions/batch-edit.d.ts
/**
 * `BatchEdit` module is used to handle batch editing actions.
 *
 * @hidden
 */
export  class BatchEdit {
    private parent;
    private isSelfReference;
    private addRowRecord;
    private batchChildCount;
    private addedRecords;
    private deletedRecords;
    private matrix;
    private batchRecords;
    private currentViewRecords;
    private batchAddedRecords;
    private batchDeletedRecords;
    private batchIndex;
    private batchAddRowRecord;
    private isAdd;
    private newBatchRowAdded;
    private selectedIndex;
    private addRowIndex;
    constructor(parent: TreeGrid);
    addEventListener(): void;
    /**
     * @hidden
     * @returns {void}
     */
    removeEventListener(): void;
    /**
     * To destroy the editModule
     *
     * @returns {void}
     * @hidden
     */
    destroy(): void;
    /**
     * @hidden
     * @returns {Object[]} Returns modified records in batch editing.
     */
    getBatchRecords(): Object[];
    /**
     * @hidden
     * @returns {number} Returns index of newly add row
     */
    getAddRowIndex(): number;
    /**
     * @hidden
     * @returns {number} Returns selected row index
     */
    getSelectedIndex(): number;
    /**
     * @hidden
     * @returns {number} Returns newly added child count
     */
    getBatchChildCount(): number;
    private batchPageAction;
    private cellSaved;
    private beforeBatchAdd;
    private batchAdd;
    private beforeBatchDelete;
    private updateRowIndex;
    private updateChildCount;
    private beforeBatchSave;
    private deleteUniqueID;
    private batchCancelAction;
    private batchSave;
    private getActualRowObjectIndex;
    private immutableBatchAction;
    private nextCellIndex;
}
 }
export namespace treemap { 

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